@charset "UTF-8";
* {
  box-sizing: border-box;
}

body {
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}

input[type=submit],
input[type=button] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}

input[type=submit]::focus,
input[type=button]::focus {
  outline-offset: -2px;
}

select {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  background: none;
  border: none;
  font-size: 16px;
  height: 100%;
}

button,
input[type=submit] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  outline: none;
  background: transparent;
  width: 100%;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}

input[type=radio] {
  opacity: 0;
}

.Ban img {
  pointer-events: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-touch-callout: none;
  -moz-user-select: none;
  touch-callout: none;
  -ms-user-select: none;
      user-select: none;
}

img {
  width: 100%;
}

a {
  text-decoration: none;
  color: #000;
}

.sp-pc {
  display: none;
}
@media screen and (max-width: 1080px) {
  .sp-pc {
    display: block;
  }
}

.pc {
  display: block;
}
@media screen and (max-width: 1080px) {
  .pc {
    display: none !important;
  }
}

.sp-tab {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp-tab {
    display: block;
  }
  .sp_u {
    display: inline-block;
  }
}
@media screen and (min-width: 1080px) {
  .tab{
    display: none !important;
  }
}
@media screen and (max-width: 1080px) {
  .tab {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .tab {
    display: none !important;
  }
}

@media screen and (max-width: 480px) {
  .sp {
    display: none;
  }
}

.sp-out {
  display: none;
}
@media screen and (max-width: 480px) {
  .sp-out {
    display: block;
  }
}

.wi1200 {
  width: 1200px;
}
@media screen and (max-width: 1200px) {
  .wi1200 {
    width: 92%;
  }
}

.wi1080 {
  max-width: 1080px;
  width: 95%;
  margin: 0 auto;
}
@media screen and (max-width: 1080px) {
  .wi1080 {
    width: 92%;
  }
}

.wi800 {
  width: 800px;
}
@media screen and (max-width: 1080px) {
  .wi800 {
    width: 92%;
  }
}

.wi1200, .wi1080, .wi800 {
  margin-left: auto;
  margin-right: auto;
}

.m_l_15 {
  margin-left: 15px;
}
@media screen and (max-width: 1080px) {
  .m_l_15 {
    margin-left: 0;
  }
}

.m_b_20 {
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .m_b_20 {
    margin-bottom: 2.6vw;
  }
}



.m_b_50 {
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .m_b_50 {
    margin-bottom: 6.51vw;
  }
}

.m_b_60 {
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .m_b_60 {
    margin-bottom: 7.8vw;
  }
}

.m_b_80 {
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  .m_b_80 {
    margin-bottom: 10.4vw;
  }
}

.m_b_100 {
  margin-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .m_b_100 {
    margin-bottom: 13vw;
  }
}

.m_b_120 {
  margin-bottom: 120px;
}
@media screen and (max-width: 768px) {
  .m_b_120 {
    margin-bottom: 15.6vw;
  }
}

.m_b_150 {
  margin-bottom: 150px;
}
@media screen and (max-width: 768px) {
  .m_b_150 {
    margin-bottom: 19.5vw;
  }
}

.p_t_10 {
  padding-top: 10px;
}
@media screen and (max-width: 768px) {
  .p_t_10 {
    padding-top: 1.3vw;
  }
}

.p_b_10 {
  padding-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .p_b_10 {
    padding-bottom: 1.3vw;
  }
}

.p_b_20 {
  padding-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .p_b_20 {
    padding-bottom: 2.6vw;
  }
}

.p_b_100 {
  padding-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .p_b_100 {
    padding-bottom: 13vw;
  }
}

.p_b_200 {
  padding-bottom: 200px;
}
@media screen and (max-width: 768px) {
  .p_b_200 {
    padding-bottom: 26vw;
  }
}

.p_b_250 {
  padding-bottom: 250px;
}
@media screen and (max-width: 768px) {
  .p_b_250 {
    padding-bottom: 32.55vw;
  }
}

.p_t_20 {
  padding-top: 20px;
}
@media screen and (max-width: 768px) {
  .p_t_20 {
    padding-top: 2.6vw;
  }
}

.p_b_20 {
  padding-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .p_b_20 {
    padding-bottom: 2.6vw;
  }
}

.p_b_30 {
  padding-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .p_b_30 {
    padding-bottom: 3.9vw;
  }
}

.p_b_50 {
  padding-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .p_b_50 {
    padding-bottom: 6.5vw;
  }
}

.p_b_150 {
  padding-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .p_b_150 {
    padding-bottom: 19.53vw;
  }
}

.p_t_120 {
  padding-top: 120px;
}
@media screen and (max-width: 768px) {
  .p_t_120 {
    padding-top: 15.6vw;
  }
}

.p_t_100 {
  padding-top: 100px;
}
@media screen and (max-width: 768px) {
  .p_t_100 {
    padding-top: 13vw;
  }
}

.p_t_200 {
  padding-top: 200px;
}
@media screen and (max-width: 768px) {
  .p_t_200 {
    padding-top: 26vw;
  }
}

.p_t_150 {
  padding-top: 150px;
}
@media screen and (max-width: 768px) {
  .p_t_150 {
    padding-top: 19.5vw;
  }
}

.p_t_30 {
  padding-top: 30px;
}
@media screen and (max-width: 768px) {
  .p_t_30 {
    padding-top: 3.9vw;
  }
}

.p_t_50 {
  padding-top: 50px;
}
@media screen and (max-width: 768px) {
  .p_t_50 {
    padding-top: 6.5vw;
  }
}

.p_t_70 {
  padding-top: 70px;
}
@media screen and (max-width: 768px) {
  .p_t_70 {
    padding-top: 9.1vw;
  }
}

.font14 {
  font-size: 1.4rem;
  line-height: 23px;
}
@media screen and (max-width: 1080px) {
  .font14 {
    font-size: 1.29vw;
    line-height: 2.12vw;
  }
}
@media screen and (max-width: 768px) {
  .font14 {
    font-size: 1.2em;
    line-height: 23px;
  }
}

.font15 {
  font-size: 1.5rem;
  line-height: 23px;
}
@media screen and (max-width: 1080px) {
  .font15 {
    font-size: 1.388vw;
    line-height: 2.12vw;
  }
}
@media screen and (max-width: 768px) {
  .font15 {
    font-size: 1.5rem;
    line-height: 23px;
  }
}

.font16 {
  font-size: 1.6rem;
  line-height: 30px;
}
@media screen and (max-width: 1080px) {
  .font16 {
    font-size: 1.48vw;
    line-height: 2.77vw;
  }
}
@media screen and (max-width: 768px) {
  .font16 {
    font-size: 1.4rem;
    line-height: 25px;
  }
}

.font17 {
  font-size: 1.7rem;
  line-height: 30px;
}
@media screen and (max-width: 1080px) {
  .font17 {
    font-size: 1.57vw;
    line-height: 2.77vw;
  }
}
@media screen and (max-width: 768px) {
  .font17 {
    font-size: 1.6rem;
    line-height: 30px;
  }
}

.font18 {
  font-size: 1.8rem;
  line-height: 27px;
}
@media screen and (max-width: 1080px) {
  .font18 {
    font-size: 1.66vw;
    line-height: 2.5vw;
  }
}
@media screen and (max-width: 768px) {
  .font18 {
    font-size: 2.66vw;
    line-height: 3.24vw;
  }
}
@media screen and (max-width: 480px) {
  .font18 {
    font-size: 1.5rem;
    line-height: 20px;
  }
}

.font20 {
  font-size: 2rem;
  line-height: 3.5rem;
}
@media screen and (max-width: 1080px) {
  .font20 {
    font-size: 1.85vw;
    line-height: 3.24vw;
  }
}
@media screen and (max-width: 768px) {
  .font20 {
    font-size: 2.85vw;
    line-height: 4.24vw;
  }
}
@media screen and (max-width: 480px) {
  .font20 {
    font-size: 3.85vw;
    line-height: 6.24vw;
  }
}

.font21 {
  font-size: 2.1rem;
  line-height: 3.5rem;
}
@media screen and (max-width: 1080px) {
  .font21 {
    font-size: 1.944vw;
    line-height: 3.24vw;
  }
}
@media screen and (max-width: 768px) {
  .font21 {
    font-size: 2.944vw;
    line-height: 4.24vw;
  }
}
@media screen and (max-width: 480px) {
  .font21 {
    font-size: 3.85vw;
    line-height: 6.24vw;
  }
}

.font22 {
  font-size: 2.2rem;
}
@media screen and (max-width: 1080px) {
  .font22 {
    font-size: 2vw;
  }
}
@media screen and (max-width: 768px) {
  .font22 {
    font-size: 3vw;
  }
}

.font23 {
  font-size: 2.3rem;
}
@media screen and (max-width: 1080px) {
  .font23 {
    font-size: 2.12vw;
  }
}
@media screen and (max-width: 768px) {
  .font23 {
    font-size: 3.12vw;
  }
}

.font24 {
  font-size: 2.4rem;
  line-height: 4rem;
}
@media screen and (max-width: 1080px) {
  .font24 {
    font-size: 2.22vw;
    line-height: 3.7vw;
  }
}
@media screen and (max-width: 768px) {
  .font24 {
    font-size: 3.22vw;
    line-height: 4.7vw;
  }
}

.font25 {
  font-size: 2.5rem;
  line-height: 3.7rem;
}
@media screen and (max-width: 1080px) {
  .font25 {
    font-size: 2.3vw;
    line-height: 3.42vw;
  }
}
@media screen and (max-width: 768px) {
  .font25 {
    font-size: 3.3vw;
    line-height: 4.42vw;
  }
}
@media screen and (max-width: 480px) {
  .font25 {
    font-size: 5.3vw;
    line-height: 6.42vw;
  }
}

.font27 {
  font-size: 2.7rem;
  line-height: 4.5rem;
}
@media screen and (max-width: 1080px) {
  .font27 {
    font-size: 2.5vw;
    line-height: 2.96vw;
  }
}
@media screen and (max-width: 768px) {
  .font27 {
    font-size: 3.5vw;
    line-height: 3.96vw;
  }
}

.font28 {
  font-size: 2.8rem;
  line-height: 4.5rem;
}
@media screen and (max-width: 1080px) {
  .font28 {
    font-size: 2.59vw;
    line-height: 4.16vw;
  }
}
@media screen and (max-width: 768px) {
  .font28 {
    font-size: 3.59vw;
    line-height: 5.16vw;
  }
}

.font30 {
  font-size: 3rem;
  line-height: 4.8rem;
}
@media screen and (max-width: 1080px) {
  .font30 {
    font-size: 2.7vw;
    line-height: 4.44vw;
  }
}
@media screen and (max-width: 768px) {
  .font30 {
    font-size: 3.7vw;
    line-height: 5.44vw;
  }
}
@media screen and (max-width: 480px) {
  .font30 {
    font-size: 5vw;
    line-height: 6.44vw;
  }
}

.font32 {
  font-size: 3.2rem;
  line-height: 4.8rem;
}
@media screen and (max-width: 1080px) {
  .font32 {
    font-size: 2.96vw;
    line-height: 4.44vw;
  }
}
@media screen and (max-width: 768px) {
  .font32 {
    font-size: 4.2vw;
    line-height: 5.44vw;
  }
}

.font38 {
  font-size: 3.8rem;
}
@media screen and (max-width: 1080px) {
  .font38 {
    font-size: 3.51vw;
  }
}
@media screen and (max-width: 768px) {
  .font38 {
    font-size: 4.5vw;
  }
}
@media screen and (max-width: 480px) {
  .font38 {
    font-size: 6vw;
  }
}

.font40 {
  font-size: 4rem;
}
@media screen and (max-width: 1080px) {
  .font40 {
    font-size: 3.7vw;
  }
}
@media screen and (max-width: 768px) {
  .font40 {
    font-size: 4.5vw;
  }
}

.font48 {
  font-size: 4.8rem;
}
@media screen and (max-width: 1080px) {
  .font48 {
    font-size: 4.44vw;
  }
}
@media screen and (max-width: 768px) {
  .font48 {
    font-size: 5.44vw;
  }
}

.font50 {
  font-size: 5rem;
}
@media screen and (max-width: 1080px) {
  .font50 {
    font-size: 4.629vw;
  }
}
@media screen and (max-width: 768px) {
  .font50 {
    font-size: 6.092vw;
  }
}

.font55 {
  font-size: 5.5rem;
}
@media screen and (max-width: 1080px) {
  .font55 {
    font-size: 5.092vw;
  }
}
@media screen and (max-width: 768px) {
  .font55 {
    font-size: 6.092vw;
  }
}

.font60 {
  font-size: 6rem;
}
@media screen and (max-width: 1080px) {
  .font60 {
    font-size: 5.55vw;
  }
}
@media screen and (max-width: 768px) {
  .font60 {
    font-size: 7vw;
  }
}

.color01 {
  color: #fff;
}

.color02 {
  color: #C80000;
}

.color03 {
  color: #000064;
}

.y_line {
  background: linear-gradient(transparent 90%, #f3e521 90%);
  display: inline;
}

.y_border {
  border-bottom: 10px solid #f3e521;
  padding-bottom: 5px;
}
@media (max-width: 480px) {
  .y_border {
    border-bottom: 5px solid #f3e521;
    padding-bottom: 0;
  }
}

.y_back {
  background-color: #f3e521;
}

.tsume01 {
  font-feature-settings: "palt" 1;
}

.tsume02 {
  text-align: justify;
}

.tsume03 {
  margin-left: -18px;
}

.tsume04 {
  margin-right: -18px;
}

.fwb {
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.fwb02 {
  font-weight: 900;
}

.fwr01 {
  font-weight: 500;
}

.fwr02 {
  font-weight: 400;
}

.center {
  text-align: center;
}

.pos_re {
  position: relative;
}

.sp_f_l {
  text-align: center;
}
@media screen and (max-width: 480px) {
  .sp_f_l {
    text-align: left;
  }
}

.center-m {
  margin-left: auto;
  margin-right: auto;
}

.kage01 {
  filter: drop-shadow(10px 10px 10px rgba(0, 0, 0, 0.2));
}

.kage02 {
  filter: drop-shadow(4px 4px 0px rgba(0, 0, 0, 0.5));
}

.kage03 {
  filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.3));
}

.le10 {
  letter-spacing: 1rem;
}

@media screen and (max-width: 768px) {
  .flex_top_m {
    margin-bottom: 4vw;
  }
}
@media screen and (max-width: 480px) {
  .flex_top_m {
    margin-bottom: 6vw;
  }
}

.flex03_area_02 ul.roe-re {
  flex-direction: row-reverse;
}
.flex03_area_02 ul.list01, .flex03_area_02 ul.list, .flex03_area_02 ul.list02, .flex03_area_02 ul.list03, .flex03_area_02 ul.list04 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.flex03_area_02 ul.list li {
  width: 50%;
}
@media screen and (max-width: 768px) {
  .flex03_area_02 ul.list li {
    width: 100%;
  }
}
.flex03_area_02 ul.list01 li {
  width: 48%;
}
@media screen and (max-width: 768px) {
  .flex03_area_02 ul.list01 li {
    width: 100%;
  }
}
.flex03_area_02 ul.list02 li:nth-child(1) {
  width: 45%;
}
@media screen and (max-width: 768px) {
  .flex03_area_02 ul.list02 li:nth-child(1) {
    width: 100%;
  }
}
.flex03_area_02 ul.list02 li:nth-child(2) {
  width: 51%;
}
@media screen and (max-width: 768px) {
  .flex03_area_02 ul.list02 li:nth-child(2) {
    width: 100%;
  }
}

.flex03_area_03 ul.list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.flex03_area_03 ul.list li {
  width: 31%;
}
@media screen and (max-width: 768px) {
  .flex03_area_03 ul.list li {
    width: 100%;
    margin-bottom: 4vw;
  }
}

.flex03_area_04 ul.list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.flex03_area_04 ul.list li {
  width: 22%;
}
@media screen and (max-width: 768px) {
  .flex03_area_04 ul.list li {
    width: 48%;
    margin-bottom: 7.8vw;
  }
}

.flex03_area_09 ul.list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .flex03_area_09 ul.list {
    justify-content: center;
  }
}
.flex03_area_09 ul.list li {
  width: 31.5%;
}
@media screen and (max-width: 768px) {
  .flex03_area_09 ul.list li {
    width: 48%;
    margin-bottom: 4vw;
  }
}
@media screen and (max-width: 768px) {
  .flex03_area_09 ul.list li:nth-child(1), .flex03_area_09 ul.list li:nth-child(3), .flex03_area_09 ul.list li:nth-child(5), .flex03_area_09 ul.list li:nth-child(7), .flex03_area_09 ul.list li:nth-child(9) {
    margin-right: 4%;
  }
}

.flex03_area_05 ul.list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.flex03_area_05 ul.list li {
  width: 32%;
}
@media screen and (max-width: 768px) {
  .flex03_area_05 ul.list li {
    width: 48%;
  }
}
@media screen and (max-width: 480px) {
  .flex03_area_05 ul.list li {
    width: 100%;
  }
}
.flex03_area_05 ul.list li:nth-child(1) {
  margin-right: 2%;
  margin-bottom: 2%;
}
@media screen and (max-width: 480px) {
  .flex03_area_05 ul.list li:nth-child(1) {
    margin-right: initial;
    margin-bottom: 4%;
  }
}
.flex03_area_05 ul.list li:nth-child(2) {
  margin-right: 2%;
  margin-bottom: 2%;
}
@media screen and (max-width: 768px) {
  .flex03_area_05 ul.list li:nth-child(2) {
    margin-right: initial;
  }
}
@media screen and (max-width: 480px) {
  .flex03_area_05 ul.list li:nth-child(2) {
    margin-bottom: 4%;
  }
}
.flex03_area_05 ul.list li:nth-child(3) {
  margin-bottom: 2%;
}
@media screen and (max-width: 768px) {
  .flex03_area_05 ul.list li:nth-child(3) {
    margin-right: 2%;
  }
}
@media screen and (max-width: 480px) {
  .flex03_area_05 ul.list li:nth-child(3) {
    margin-right: initial;
    margin-bottom: 4%;
  }
}
.flex03_area_05 ul.list li:nth-child(4) {
  margin-right: 1%;
}
@media screen and (max-width: 768px) {
  .flex03_area_05 ul.list li:nth-child(4) {
    margin-right: initial;
    margin-bottom: 2%;
  }
}
@media screen and (max-width: 480px) {
  .flex03_area_05 ul.list li:nth-child(4) {
    margin-bottom: 4%;
  }
}
.flex03_area_05 ul.list li:nth-child(5) {
  margin-left: 1%;
}
@media screen and (max-width: 768px) {
  .flex03_area_05 ul.list li:nth-child(5) {
    margin-left: initial;
  }
}
@media screen and (max-width: 480px) {
  .flex03_area_05 ul.list li:nth-child(5) {
    margin-bottom: 4%;
  }
}

#contact {
  overflow: hidden;
}
#contact .point {
  background-color: #E60000;
  color: #fff;
  font-weight: initial;
  font-size: 1.4rem;
  padding: 2px 10px 4px 10px;
  margin-left: 15px;
}
#contact table {
  width: 100%;
}
#contact table tr:last-child th, #contact table tr:last-child td {
  border-bottom: initial;
}
#contact table tr th, #contact table tr td {
  position: relative;
  display: block;
}
#contact table tr th {
  position: relative;
  padding: 8px 0px 5px 0;
  text-align: left;
  font-size: 1.8rem;
  font-weight: 500;
  width: 100%;
}
@media screen and (max-width: 768px) {
  #contact table tr th {
    text-align: left;
    width: 100%;
    border-bottom: initial;
  }
}
#contact table tr td {
  width: 100%;
  padding: 10px 0 10px 0;
}
@media screen and (max-width: 768px) {
  #contact table tr td {
    padding: 10px 0 20px 0;
  }
}
#contact table tr td input[type=text], #contact table tr td input[type=email], #contact table tr td input[type=tel], #contact table tr td input[type=number], #contact table tr td textarea {
  background-color: #fff;
  border: 1px solid #fff;
  padding: 10px 15px;
  font-size: 1.6rem;
}
#contact table tr td input[type=text], #contact table tr td input[type=email], #contact table tr td input[type=tel], #contact table tr td textarea {
  width: 100%;
}
@media screen and (max-width: 480px) {
  #contact table tr td input[type=number] {
    width: 68%;
  }
}
#contact table tr td .select_s {
  position: relative;
  display: inline;
}
#contact table tr td .select_s.right {
  margin-right: 5px;
}
#contact table tr td .select_s::after {
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  right: 15px;
  top: 2px;
  transform: translateY(-50%) rotate(45deg);
  border-bottom: 1px solid #00B4FF;
  border-right: 1px solid #00B4FF;
  z-index: 3;
}
#contact table tr td .size01 select {
  width: 150px;
}
#contact table tr td .size02 select {
  width: 70px;
}
#contact table tr td select {
  background: #fff;
  padding: 10px;
  z-index: 0;
  color: #828282;
}
#contact table tr td textarea {
  height: 170px;
  resize: vertical;
}
@media screen and (max-width: 768px) {
  #contact table tr th, #contact table tr td {
    display: block;
  }
}
#contact .btn {
  width: 420px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 40px;
  font-weight: bold;
}
#contact .btn a {
  display: inline-block;
}
@media screen and (max-width: 768px) {
  #contact .btn {
    width: 100%;
  }
}
@media screen and (max-width: 480px) {
  #contact .btn {
    margin-top: 10px;
  }
}
#contact .doittl {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 15px;
}
#contact .doi_area {
  text-align: center;
  font-size: 1.6rem;
  margin-top: 30px;
}
#contact .doi {
  border: 1px solid #000;
  padding: 25px;
  font-size: 1.4rem;
  line-height: 25px;
  overflow: auto;
}
#contact .doi::-webkit-scrollbar {
  height: 8px;
  width: 5px;
}
#contact .doi::-webkit-scrollbar-track {
  background: #fff;
  border: none;
}
#contact .doi::-webkit-scrollbar-thumb {
  background: #1e5096;
  box-shadow: none;
}
@media screen and (max-width: 480px) {
  #contact .doi {
    padding: 10px;
  }
}
#contact .doi p {
  margin-bottom: 20px;
}
#contact .privacy a {
  border-bottom: 1px solid #000;
}
#contact .visually-hidden {
  position: absolute;
  white-space: nowrap;
  border: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  overflow: hidden;
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
}
#contact .radio_area label, #contact .checkbox_area label {
  position: relative;
  cursor: pointer;
  font-size: 1.6rem;
  line-height: 25px;
  display: inline-block;
}
@media screen and (max-width: 768px) {
  #contact .radio_area label, #contact .checkbox_area label {
    display: block;
  }
}
#contact .radio_area label::before, #contact .radio_area label::after, #contact .checkbox_area label::before, #contact .checkbox_area label::after {
  content: "";
  display: block;
  position: absolute;
}
#contact .radio_area label::before, #contact .checkbox_area label::before {
  background: #fff;
  border: 1px solid #000;
  width: 16px;
  height: 16px;
  top: 4px;
}
#contact .radio_area label::after, #contact .checkbox_area label::after {
  z-index: 10;
}
@media screen and (max-width: 768px) {
  #contact .radio_area {
    width: 90%;
    margin: 0 auto;
  }
}
#contact .radio_area input[type=radio] {
  opacity: 0;
}
#contact .radio_area label {
  padding-left: 5px;
}
#contact .radio_area label::before {
  border-radius: 100px;
  left: -19px;
}
#contact .radio_area label::after {
  position: absolute;
  content: "";
  width: 12px;
  height: 12px;
  left: -16px;
  top: 7px;
  background-color: #1b68b8;
  border-radius: 100px;
}
#contact .radio_area label::after {
  opacity: 0;
}
#contact .radio_area input:checked + label::after {
  opacity: 1;
}
@media screen and (max-width: 768px) {
  #contact .radio_area .formError {
    top: 0 !important;
  }
}
#contact .checkbox_area input[type=checkbox] {
  opacity: 0;
}
#contact .checkbox_area label {
  padding-left: 30px;
  margin-top: -23px;
  display: inline-block;
}
@media screen and (max-width: 768px) {
  #contact .checkbox_area label {
    text-align: left;
  }
}
#contact .checkbox_area label::before {
  left: 0px;
}
#contact .checkbox_area label::after {
  position: absolute;
  content: "";
  width: 10px;
  height: 5px;
  left: 3px;
  top: 8px;
  border-left: 2px solid #1b68b8;
  border-bottom: 2px solid #1b68b8;
  transform: rotate(-45deg);
}
#contact .checkbox_area label::after {
  opacity: 0;
}
#contact .checkbox_area input:checked + label::after {
  opacity: 1;
}
#contact .ver_c {
  vertical-align: middle;
}
#contact .ver_t {
  vertical-align: top;
}
#contact .sub_btn {
  max-width: 297px;
  background-color: #E60000;
  color: #fff;
  font-size: 3rem;
  font-weight: bold;
  border-radius: 100px;
  padding: 20px 5px;
  transition: ease 0.2s;
  border-bottom: 6px solid #960000;
}
@media screen and (max-width: 480px) {
  #contact .sub_btn {
    font-size: 6.25vw;
    width: 100%;
  }
}
#contact .sub_btn:hover {
  margin-top: 4px;
  border-bottom: 2px solid #663300;
}
#contact .sub_btn:disabled:hover {
  margin-top: 0px !important;
  border-bottom: 6px solid #663300 !important;
}
#contact .sub_btn02 {
  width: 337px;
  background-color: #003296;
  color: #fff;
  font-size: 3rem;
  font-weight: bold;
  border-radius: 100px;
  padding: 20px 10px;
  transition: ease 0.2s;
  border-bottom: 6px solid #000064;
}
#contact .sub_btn02 .contact_logo{
  width: 25px;
  margin-right: 10px;
  display: inline-block;
}
@media screen and (max-width: 480px) {
  #contact .sub_btn02 .contact_logo{
    width: 5.208vw;
  }
  #contact .sub_btn02 {
    font-size: 6.25vw;
    width: 100%;
  }
}
#contact .sub_btn02:hover {
  margin-top: 4px;
  border-bottom: 2px solid #000064;
}
#contact .sub_btn02:disabled:hover {
  margin-top: 0px !important;
  border-bottom: 6px solid #000064 !important;
}
#contact .add_btn {
  background-color: #45c48b;
  display: inline-block;
  width: 100px;
  color: #fff;
  padding: 8px 5px;
  border-radius: 5px;
  margin-left: 15px;
  transition: ease 0.2s;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  #contact .add_btn {
    font-size: 1.4rem;
    width: 30%;
    margin-left: 2%;
  }
}
#contact .add_btn:hover {
  background-color: #86e7bb;
}

/* 共通 */
footer .logo {
  width: 215px;
}
footer .copyrights {
  font-size: 12px;
  text-align: center;
  font-family: "Roboto", sans-serif;
  font-weight: 100;
  margin-top:35px;
}
@media screen and (max-width: 768px) {
  footer .copyrights {
    font-size: 10px;
  }
}

#thanks {
  margin-bottom: 150px;
}
#thanks .logo {
  width: 300px;
  margin: 30px auto 100px auto;
}
@media screen and (max-width: 480px) {
  #thanks .logo {
    width: 80%;
  }
}
#thanks h2, #thanks p {
  text-align: center;
}
#thanks h2 {
  font-size: 3rem;
  font-weight: bold;
  line-height: 40px;
}
@media screen and (max-width: 480px) {
  #thanks h2 {
    font-size: 2.5em;
    line-height: 35px;
  }
}
#thanks p {
  font-size: 1.8em;
  margin-top: 30px;
  line-height: 30px;
}
#thanks p a {
  color: #000064;
}
@media screen and (max-width: 480px) {
  #thanks p {
    font-size: 1.4em;
  }
}

.copyrights_thanks {
  padding: 20px 0;
  font-size: 1.2rem;
  text-align: center;
  color: #fff;
}
@media screen and (max-width: 480px) {
  .copyrights_thanks {
    font-size: 1rem;
  }
}

#faq .faq_box {
  display: flex;
  flex-wrap: wrap;
}
#faq .faq_box span {
  display: inline-block;
}
#faq .faq_box .faq_q01, #faq .faq_box .faq_a01 {
  position: relative;
  font-size: 2rem;
  width: 40px;
  z-index: 5;
  margin: 15px 0;
  line-height: 3.5rem;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
}
#faq .faq_box .faq_q01::after, #faq .faq_box .faq_a01::after {
  position: absolute;
  top: -2px;
  left: 1px;
  width: 30px;
  height: auto;
  text-align: center;
  z-index: -1;
}
#faq .faq_box .faq_q01::before, #faq .faq_box .faq_a01::before {
  position: absolute;
  content: "";
  width: 30px;
  height: 28px;
  top: 0;
  left: 0;
  z-index: -2;
  -webkit-clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
          clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
}
#faq .faq_box .faq_q01 {
  color: #F9DB03;
}
#faq .faq_box .faq_q01::after {
  content: "Q.";
}
#faq .faq_box .faq_a01 {
  color: #fff;
}
#faq .faq_box .faq_a01::after {
  content: "A.";
}
#faq .faq_box .faq_q02 {
  font-weight: 500;
  position: relative;
  color: #F9DB03;
  font-weight: bold;
}
#faq .faq_box .faq_q02::after {
  position: absolute;
  content: "";
  bottom: -10px;
  left: 0;
  height: 1px;
  width: 100%;
  background-color: #fff;
}
#faq .faq_box .faq_a02 {
  font-weight: 300;
  color: #fff;
}
#faq .faq_box .faq_q02, #faq .faq_box .faq_a02 {
  width: calc(100% - 50px);
  font-size: 1.8rem;
  margin: 15px 0;
  line-height: 3.5rem;
}
@media screen and (max-width: 480px) {
  #faq .faq_box .faq_q02, #faq .faq_box .faq_a02 {
    font-size: 1.4rem;
    line-height: 2.6rem;
  }
}

#floating {
  position: fixed;
  bottom: 10px;
  right: 10px;
  width: 340px;
  z-index: 99;
  display: none;
}
#floating .cv_area a {
  margin-bottom: 10px;
}
@media screen and (max-width: 480px) {
  #floating .cv_area a {
    width: 100%;
  }
}
#floating.LeftMove {
  display: block;
}
#floating.RightMove {
  display: none;
}

/*========= ページトップのためのCSS ===============*/
/*リンクの形状*/
/*リンクを右下に固定*/
/*　上に上がる動き　*/
/*　下に下がる動き　*/
/* ハンバーガー */
.mainView {
  width: 100vw;
  height: 100vh;
}

/*ハンバーガーボタン*/
.el_humburger {
  position: fixed;
  top: 10px;
  right: 15px;
  width: 46px;
  height: 46px;
  padding-top: 1px;
  box-sizing: border-box;
  padding-top: 0px;
  z-index: 20;
  cursor: pointer;
  pointer-events: auto;
  color: #000;
  text-align: center;
  border-radius: 100px;
}
.el_humburger .el_humburger_wrapper {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  align-content: space-between;
  padding: 15px 10px;
}
.el_humburger span.el_humburger_bar {
  display: block;
  width: 100%;
  height: 2px;
  background: #2D6DB8;
  transition: all 0.2s ease-in-out;
}
.el_humburger.el_humburger_bar:last-child {
  margin-bottom: 0;
}

.js_humburgerOpen .el_humburger_text {
  font-size: 12px;
  letter-spacing: 0.1em;
}
.js_humburgerOpen .el_humburger_text.el_humburger_text__menu {
  display: none;
}
.js_humburgerOpen .el_humburger_text.el_humburger_text__close {
  display: none;
  display: block;
}
.js_humburgerOpen .el_humburger span.el_humburger_bar.top {
  transform: translateY(9px) rotate(-45deg);
  background-color: #2D6DB8;
}
.js_humburgerOpen .el_humburger span.el_humburger_bar.middle {
  opacity: 0;
}
.js_humburgerOpen .el_humburger span.el_humburger_bar.bottom {
  transform: translateY(-11px) rotate(45deg);
  background-color: #2D6DB8;
  margin-top: 16px;
}
.js_humburgerOpen .navi {
  transform: translateZ(0) translateX(0);
}
@media screen and (max-width: 768px) {
  .js_humburgerOpen .navi {
    width: 400px;
  }
}
@media screen and (max-width: 480px) {
  .js_humburgerOpen .navi {
    width: 100%;
  }
}

.el_humburgerButton.el_humburgerButton__close {
  top: 2%;
  right: 2%;
}
.el_humburgerButton.el_humburgerButton__close span.el_humburger_bar {
  display: block;
  width: 35px;
  margin: 0 auto;
  height: 4px;
  background: #2D6DB8;
}
.el_humburgerButton.el_humburgerButton__close span.el_humburger_bar.top {
  transform: translateY(5px) rotate(-45deg);
}
.el_humburgerButton.el_humburgerButton__close span.el_humburger_bar.bottom {
  transform: translateY(-6px) rotate(45deg);
}

.navi {
  position: fixed;
  right: 0;
  top: 0;
  height: 100%;
  background-color: #fff;
  width: 400px;
  z-index: 3;
  padding-top: 50px;
  box-sizing: border-box;
  transition: all 600ms ease-out;
  transform: translateZ(0) translateX(100%);
  overflow: auto;
}
.navi .navi_inner {
  font-size: 1.6rem;
  margin-top: 50px;
  list-style: none;
}
@media screen and (max-width: 480px) {
  .navi .navi_inner {
    font-size: 1.4rem;
    width: 100%;
  }
}
.navi .navi_inner .sns {
  font-size: 2.5rem;
  padding-right: 5px;
}
.navi .navi_inner li {
  margin: 20px 0 20px 30px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}

@media screen and (max-width: 768px) {
  .el_humburger_wrapper {
    width: 32px;
  }
}

@media screen and (max-width: 380px) {
  .el_humburger {
    right: 6px;
  }
}

.sp_header .logo {
  position: fixed;
  z-index: 3;
}
@media screen and (max-width: 1200px) {
  .sp_header .logo {
    top: 0;
  }
}
.sp_header .logo img {
  width: 190px;
  padding: 15px;
}

.tel-number a {
  color: #fff;
  text-decoration: none;
}

#page_top {
  width: 50px;
  height: 50px;
  position: fixed;
  right: 0;
  bottom: 50px;
  background: #3f98ef;
  opacity: 0.6;
  /* border-radius: 50%; */
}

#page_top a {
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}

#page_top a::before {
  content: "";
  background-image: url("../images/angle-double-up-solid.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  width: 25px;
  height: 31px;
  top: -5px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}

@media screen and (max-width: 768px) {
  #page_top {
    bottom: 50px;
  }
}
.kome01 ul li {
  position: relative;
  padding-left: 14px;
}
@media screen and (max-width: 800px) {
  .kome01 ul li {
    padding-left: 2vw;
  }
}
.kome01 ul li:before {
  content: "※";
  position: absolute;
  left: -5px;
}

.grecaptcha-badge {
  visibility: hidden;
}/*# sourceMappingURL=style.css.map */