#second_contents {
  position: relative;
  padding: 80px 0 100px;
  background-color: #fff;
}

#second_contents .bgc {
  content: "";
  height: 100%;
  height: calc(100% - 1105px);
  width: 100%;
  position: absolute;
  top: 1105px;
  right: 0;
  /* z-index: 0; */
  background-color: #fff;
  background: linear-gradient(90deg, #f8f8f8 0%, #f8f8f8 62.5%, #fff 62.5%, #fff 100%);
}

#second_contents::before {
  /* content: ""; */
  display: block;
  width: 100%;
  height: 34.813vw;
  height: 557px;
  background: url(/images/sec2_bg_bf.jpg) center top/contain no-repeat, linear-gradient(90deg, #f1f1f1 0%, #f1f1f1 50%, #f7f7f7 50%, #f7f7f7 100%);
  position: absolute;
  top: 0;
  left: 0;
  -webkit-filter: blur(15px);
  filter: blur(15px);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transition: all 1s ease-in-out;
  opacity: 1;
}

#second_contents::after {
  /* content: ""; */
  display: block;
  width: 100%;
  height: 34.813vw;
  height: 460px;
  background-image: url(/images/sec2_bg_af.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  bottom: 0;
  left: 0;
}

@media (max-width: 1024px) {
  #second_contents {
    padding: 8vw 0 15vw;
  }
  #second_contents .bgc {
    height: calc(100% - 188vw);
    top: 188vw;
    background: linear-gradient(90deg, #f8f8f8 0%, #f8f8f8 67.5%, #fff 67.5%, #fff 100%);
  }
  #second_contents::before {
    height: 60.1vw;
    background: url(/images/sec2_bg_bf.jpg) center top/cover no-repeat, linear-gradient(90deg, #f1f1f1 0%, #f1f1f1 50%, #f7f7f7 50%, #f7f7f7 100%);
  }
  #second_contents::after {
    height: 88.8vw;
  }
}

.top .secc .outer {
  position: relative;
}

.top #sec0 {
  padding: 0 50px;
}

.top #sec0 .outer {
  max-width: 1000px;
  margin: 0 auto;
  padding: 100px 0;
  background: #fff;
  position: relative;
}

.top #sec0 .outer .inr {
  position: relative;
}

.top #sec0 .outer .inr .txt_area {
  position: relative;
  z-index: 2;
}

.top #sec0 .outer .inr .txt_area h1 {
  margin-bottom: 50px;
  font-size: 3.8rem;
  color: #20a2e5;
  line-height: 1.5;
  letter-spacing: 0.03em;
  text-align: center;
}

.top #sec0 .outer .inr .txt_area h1 span {
  display: block;
}

.top #sec0 .outer .inr .txt_area h2 {
  display: flex;
  line-height: 2.4;
  letter-spacing: 0.15em;
  font-size: 3.3rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
  justify-content: center;
  align-items: center;
  margin-bottom: 30px;
}

.top #sec0 .outer .inr .txt_area h2 span {
  line-height: 1;
}

.top #sec0 .outer .inr .txt_area h2::before,
.top #sec0 .outer .inr .txt_area h2::after {
  content: "";
  display: block;
  width: 4px;
  height: 42px;
  background-color: #333;
  transform: rotate(-25deg);
  margin: 0 15px;
}

.top #sec0 .outer .inr .txt_area h2::after {
  transform: rotate(25deg);
}

.top #sec0 .outer .inr .cnt_area {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  position: relative;
}

.top #sec0 .outer .inr .cnt_area .left {
  position: relative;
  width: 430px;
  flex-shrink: 0;
}

.top #sec0 .outer .inr .cnt_area .right {
  position: relative;
  width: 56%;
}

.top #sec0 .outer .inr .cnt_area .left div {
  position: relative;
  z-index: 1;
}

.top #sec0 .outer .inr .cnt_area .bg {
  display: block;
  width: 430px;
  height: 296px;
  background-color: #534741;
  position: absolute;
  top: 10px;
  left: 10px;
}

.top #sec0 .outer .inr .cnt_area .txt {
  margin-left: 30px;
}

.top #sec0 .outer .inr .cnt_area .txt p {
  line-height: 2.4;
  letter-spacing: 0.15em;
  font-size: 16px;
}

.top #sec0 .outer .inr .cnt_area .min {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.15em;
  margin-top: 20px;
}

@media (max-width: 1024px) {
  .top #sec0 {
    padding: 0 6.6666vw;
    margin-bottom: 10.666vw;
  }
  .top #sec0 .outer {
    padding: 7.4666vw 6.6666vw 6.6666vw;
  }
  .top #sec0 .outer .inr {
    position: relative;
  }
  .top #sec0 .outer .inr .txt_area {
    margin-bottom: 0;
  }
  .top #sec0 .outer .inr .txt_area h1 {
    font-size: 4.7333vw;
    line-height: 1.5;
    letter-spacing: 0.03em;
    margin-bottom: 8vw;
    text-align: center;
  }
  .top #sec0 .outer .inr .txt_area h2 {
    font-size: 4.2vw;
    margin-bottom: 4vw;
  }
  .top #sec0 .outer .inr .txt_area h2::before,
  .top #sec0 .outer .inr .txt_area h2::after {
    width: 2px;
    height: 21px;
    margin: 0 4vw;
  }
  .top #sec0 .outer .inr .txt_area .txt {
    margin-bottom: 15vw;
  }
  .top #sec0 .outer .inr .txt_area .txt h2 {
    font-size: 4vw;
    letter-spacing: 0.15em;
    margin-bottom: 6.6666vw;
    text-align: center;
    line-height: 1.8;
  }
  .top #sec0 .outer .inr .txt_area .txt p {
    font-size: 3.2vw;
    line-height: 1.8;
    letter-spacing: 0.1em;
    margin-bottom: 3.2vw;
  }
  .top #sec0 .outer .inr .txt_area .txt p br {
    display: none;
  }
  .top #sec0 .outer .inr .cnt_area {
    display: block;
  }
  .top #sec0 .outer .inr .cnt_area .left {
    width: auto;
    margin-bottom: 8vw;
  }
  .top #sec0 .outer .inr .cnt_area .right {
    width: auto;
  }
  .top #sec0 .outer .inr .cnt_area .bg {
    width: 100%;
    height: 100%;
  }
  .top #sec0 .outer .inr .cnt_area .txt {
    margin-left: 0;
  }
  .top #sec0 .outer .inr .cnt_area .txt p {
    line-height: 2;
    font-size: 3.4666vw;
    display: inline;
  }
  .top #sec0 .outer .inr .cnt_area .min {
    font-size: 3.2vw;
    margin-top: 5.3333vw;
  }
  .top #sec0 .outer .inr .cnt_area .min p {
    display: block;
  }
}

.top #sec3 {
  padding: 0 50px;
  position: relative;
  z-index: 1;
  margin-bottom: 115px;
}

.top #sec3 .outer {
  max-width: 1400px;
  margin: 0 auto;
  padding: 100px 0 0;
  position: relative;
}

.top #sec3 .outer .inr {
  max-width: 1000px;
  margin: 0 auto;
}

.top #sec3 .outer .inr .txt_area {
  position: relative;
  z-index: 1;
  margin-bottom: 40px;
}

.top #sec3 .outer .inr .txt_area h1 {
  font-size: 3.8rem;
  color: #20a2e5;
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin-bottom: 10px;
  text-shadow: 1px 2px 3px #f8f8f8;
  text-align: center;
}

.top #sec3 .outer .inr .txt_area h1 span {
  display: block;
  font-family: 'Roboto', 'Noto Sans JP', san-serif;
}

.top #sec3 .outer .inr ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.top #sec3 .outer .inr ul li {
  width: 32.8%;
  list-style: none;
  text-align: center;
  position: relative;
  padding: 0;
  margin-bottom: 0.8%;
  cursor: pointer;
  transition: opacity .3s ease-in-out;
}

/* .top #sec3 .outer .inr ul li:first-child { width: 36.735%;}
.top #sec3 .outer .inr ul li:nth-child(2) { width: 62.623%;}
.top #sec3 .outer .inr ul li:nth-child(3) { width: 54.635%;}
.top #sec3 .outer .inr ul li:nth-child(4) { width: 44.773%;}
.top #sec3 .outer .inr ul li:nth-child(5) { width: 28.106%;}
.top #sec3 .outer .inr ul li:last-child { width: 71.252%;} */

.desktop .top #sec3 .outer .inr ul li:hover {
  opacity: 0.8;
}

.top #sec3 .outer .inr ul li h2 {
  font-size: 2.8rem;
  font-family: 'ThinkingOfBetty';
  font-weight: 400;
  color: #20a2e5;
  position: absolute;
  top: 0;
  left: 37px;
}

.top #sec3 .outer .inr ul li .li_wrap {
  display: none;
}

.top #sec3 .outer .inr ul li h3 {
  font-size: 2rem;
  font-weight: 400;
  margin-bottom: 25px;
}

.top #sec3 .outer .inr ul li p {
  line-height: 2.4;
  letter-spacing: 0.15em;
  text-align: left;
  margin-bottom: 15px;
}

.top #sec3 .outer .inr ul li p sup {
  color: #1e1e1e;
  font-size: 1.4rem;
  top: 0;
}

.top #sec3 .outer .inr ul li span {
  display: block;
  text-align: left;
  font-size: 1.2rem;
  color: #898989;
  line-height: 2;
  letter-spacing: 0.12em;
  font-feature-settings: "palt";
}

.top #sec3 .outer .inr ul li span sup {
  color: #1e1e1e;
  font-size: 1.4rem;
  top: 0;
}

@media (max-width: 1024px) {
  .top #sec3 {
    padding: 0 6.6666vw;
    margin-bottom: 10.7333vw;
  }
  .top #sec3 .outer {
    padding: 0;
  }
  .top #sec3 .outer .inr .txt_area {
    text-align: center;
    margin-bottom: 10.5vw;
  }
  .top #sec3 .outer .inr .txt_area h1 {
    font-size: 6.1333vw;
    letter-spacing: 0.15em;
    margin-bottom: 1vw;
    white-space: nowrap;
    text-align: center;
  }
  .top #sec3 .outer .inr .txt_area span {
    font-size: 3.2vw;
  }
  .top #sec3 .outer .inr ul li {
    width: 49.5%;
    margin-bottom: 1%;
    padding: 0;
  }
  .top #sec3 .outer .inr ul li:last-child {
    margin-bottom: 0;
  }
  .top #sec3 .outer .inr ul li h2 {
    font-size: 5.3333vw;
    position: static;
    text-align: left;
    line-height: 1;
    margin-bottom: 2.6666vw;
  }
  .top #sec3 .outer .inr ul li h3 {
    font-size: 4.2666vw;
    margin-bottom: 25px;
  }
  .top #sec3 .outer .inr ul li p {
    font-size: 3.2vw;
    text-indent: 1em;
    margin-bottom: 3.4666vw;
  }
  .top #sec3 .outer .inr ul li p:last-child {
    margin-bottom: 6.6666vw;
  }
  .top #sec3 .outer .inr ul li p sup {
    font-size: 3.2vw;
  }
  .top #sec3 .outer .inr ul li span {
    font-size: 2.6666vw;
    letter-spacing: 0.12em;
  }
  .top #sec3 .outer .inr ul li span sup {
    font-size: 3.2vw;
  }
}

.top #price {
  padding: 0 50px;
}
.top #price .outer {
  max-width: 1200px;
  margin: 0 auto;
  padding: 100px 100px;
  background: #fff;
  position: relative;
}
.top #price .outer .inr {
  position: relative;
}
.top #price .outer .inr .txt_area {
  position: relative;
  z-index: 2;
  margin-bottom: 26px;
}
.top #price .outer .inr .txt_area h1 {
  margin-bottom: 50px;
  font-size: 5rem;
  color: #20a2e5;
  line-height: 1.5;
  letter-spacing: 0.03em;
}
.top #price .outer .inr .tbl_area h2 {
  line-height: 1;
  letter-spacing: 0.15em;
  font-size: 4rem;
  letter-spacing: 0.05em;
  margin-bottom: 30px;
}
.top #price .outer .inr .tbl_area table {
  width: 100%;
  background-color: #f1f1f1;
  font-size: 0;
  border-collapse: collapse;
  margin-bottom: 50px;
}
.top #price .outer .inr .tbl_area table th {
  border-bottom: 1px solid #fff;
  background-color: #808080;
  color: #fff;
  letter-spacing: 0.15em;
  font-size: 16px;
  padding: 10px;
  text-align: left;
}
.top #price .outer .inr .tbl_area table td {
  border-bottom: 1px solid #fff;
  border-left: 1px solid #fff;
  letter-spacing: 0.15em;
  font-size: 16px;
  padding: 10px;
  text-align: center;
}
.top #price .outer .inr .tbl_area table thead th {
  background-color: #f1f1f1;
}
.top #price .outer .inr .tbl_area table thead td {
  color: #fff;
  font-weight: 700;
  background-color: #20a2e5;
}
.top #price .outer .inr .tbl_area table tbody td:nth-child(even) {
  background-color: #d8f3fc;
}
.top #price .outer .inr .tbl_area table tbody tr:last-of-type td {
  font-weight: 700;
}
.top #price .outer .inr .tbl_area .dList {
  margin-bottom: 50px;
}
.top #price .outer .inr .tbl_area .dList .ttl {
  line-height: 1;
  letter-spacing: 0.15em;
  font-size: 4rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 30px;
}
.top #price .outer .inr .tbl_area .dList dl {
  display: flex;
  border-bottom: 1px solid #20a2e5;
}
.top #price .outer .inr .tbl_area .dList dl dt,
.top #price .outer .inr .tbl_area .dList dl dd {
  letter-spacing: 0.15em;
  font-size: 16px;
  padding: 10px 0;
}
.top #price .outer .inr .tbl_area .dList dl dt {
  font-weight: 700;
  border-bottom: 3px solid #20a2e5;
  padding: 10px 12px;
}
@media (max-width: 1024px) {
  .top #price {
    padding: 0 6.6666vw;
    margin-bottom: 10.666vw;
    text-align: center;
  }
  .top #price .outer {
    padding: 7.4666vw 0 6.6666vw;
  }
  .top #price .outer .inr {
    position: relative;
  }
  .top #price .outer .inr .txt_area {
    margin-bottom: 0;
  }
  .top #price .outer .inr .txt_area h1 {
    font-size: 6.1333vw;
    line-height: 1.5;
    letter-spacing: 0.19em;
    margin-bottom: 5.3333vw;
  }
  .top #price .outer .inr .tbl_area h2 {
    font-size: 4.26666vw;
    margin-bottom: 5.33333vw;
  }
  .top #price .outer .inr .tbl_area .tblWrap {
    overflow-x: scroll;
  }
  .top #price .outer .inr .tbl_area table {
    white-space: nowrap;
    margin-bottom: 0;
  }
  .top #price .outer .inr .tbl_area table th {
    letter-spacing: 0.15em;
    font-size: 3.73333vw;
    padding: 10px;
  }
  .top #price .outer .inr .tbl_area table td {
    letter-spacing: 0.15em;
    font-size: 3.73333vw;
    padding: 10px;
  }
  .top #price .outer .inr .tbl_area table thead th {
    background-color: #f1f1f1;
  }
  .top #price .outer .inr .tbl_area table thead td {
    background-color: #20a2e5;
  }
  .top #price .outer .inr .tbl_area p.caution {
    font-size: 3.2vw;
    text-align: left;
    padding-left: 2.6666vw;
  }
  .top #price .outer .inr .tbl_area .dList {
    margin: 10vw 2.6666vw;
  }
  .top #price .outer .inr .tbl_area .dList .ttl {
    font-size: 4.26666vw;
    margin-bottom: 2.33333vw;
  }
  .top #price .outer .inr .tbl_area .dList dl {
    display: block;
    border-bottom: 2px solid #20a2e5;
    padding: 2.6666vw 0;
  }
  .top #price .outer .inr .tbl_area .dList dl dt,
  .top #price .outer .inr .tbl_area .dList dl dd {
    padding: 0;
    font-size: 3.2vw;
    line-height: 1.8;
    text-align: left;
  }
  .top #price .outer .inr .tbl_area .dList dl dt {
    font-size: 3.4666vw;
    padding: 0;
    border-bottom: none;
  }
  .top #price .outer .inr .tbl_area .dList dl dt span {
    display: none;
  }
}

.top #faq {
  padding: 0 50px;
}

.top #faq .outer {
  max-width: 1400px;
  margin: 0 auto;
  padding: 100px;
  background: #fff;
  position: relative;
}

.top #faq .outer .inr {
  position: relative;
}

.top #faq .outer .inr .txt_area {
  position: relative;
  z-index: 2;
  margin-bottom: 26px;
}

.top #faq .outer .inr .txt_area h1 {
  margin-bottom: 50px;
  font-size: 5rem;
  color: #20a2e5;
  line-height: 1.5;
  letter-spacing: 0.03em;
}

.top #faq .outer .inr .txt_area .qa {
  background-color: #f8f8f8;
  overflow: hidden;
  margin-bottom: 48px;
}

.top #faq .outer .inr .txt_area .qa .q1 {
  background-color: #20a2e5;
  position: relative;
}

.top #faq .outer .inr .txt_area .qa dl {
  display: flex;
  align-items: baseline;
  padding: 20px 15px;
}

.top #faq .outer .inr .txt_area .qa dl dt {
  font-family: 'Roboto', 'Noto Sans JP', san-serif;
  font-size: 21px;
  color: #fff;
  background-color: #323232;
  border-radius: 50%;
  flex-shrink: 0;
  line-height: 30px;
  width: 30px;
  height: 30px;
  text-align: center;
}

.top #faq .outer .inr .txt_area .qa .a1 dl dt {
  background-color: #2769b4;
}

.top #faq .outer .inr .txt_area .qa dl dd {
  margin-left: 12px;
  font-size: 16px;
  line-height: 1.8;
}

.top #faq .outer .inr .txt_area .qa .q1 dl dd {
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  font-size: 20px;
}

@media (max-width: 1024px) {
  .top #faq {
    padding: 0 6.6666vw;
    margin-bottom: 10.666vw;
    text-align: center;
  }
  .top #faq .outer {
    padding: 7.4666vw 0 6.6666vw;
  }
  .top #faq .outer .inr {
    position: relative;
  }
  .top #faq .outer .inr .txt_area {
    margin-bottom: 0;
  }
  .top #faq .outer .inr .txt_area h1 {
    font-size: 6.1333vw;
    line-height: 1.5;
    letter-spacing: 0.19em;
    margin-bottom: 5.3333vw;
  }
  .top #faq .outer .inr .txt_area .qa dl {
    padding: 4vw;
  }
  .top #faq .outer .inr .txt_area .qa dl dt {
    font-size: 4vw;
    line-height: 5.8666vw;
    width: 5.8666vw;
    height: 5.8666vw;
  }
   .top #faq .outer .inr .txt_area .qa dl dd {
    margin-left: 10px;
  }
  .top #faq .outer .inr .txt_area .qa .q1 dl dd {
    font-size: 3.7333vw;
    text-align: left;
  }
  .top #faq .outer .inr .txt_area .qa .a1 dl dd {
    font-size: 3.4666vw;
    text-align: left;
  }
}



.top #flow {
  padding: 0 50px;
}

.top #flow .outer {
  max-width: 1400px;
  margin: 0 auto;
  padding: 100px;
  background: #fff;
  position: relative;
}

.top #flow .outer .inr {
  position: relative;
}

.top #flow .outer .inr .txt_area {
  position: relative;
  z-index: 2;
  margin-bottom: 26px;
}

.top #flow .outer .inr .txt_area h1 {
  margin-bottom: 75px;
  font-size: 5rem;
  color: #20a2e5;
  line-height: 1.5;
  letter-spacing: 0.03em;
}

.top #flow .outer .inr .txt_area .txtWrap {
  display: flex;
  align-items: flex-start;
  position: relative;
}

.top #flow .outer .inr .txt_area .txtWrap::after {
  content: "";
  display: block;
  width: 2px;
  height: 100%;
  background-color: #20a2e5;
  position: absolute;
  top: 0;
  left: 32px;
}

.top #flow .outer .inr .txt_area .txtWrap:last-of-type::after {
  display: none;
}

.top #flow .outer .inr .txt_area .step {
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  background-color: #20a2e5;
  color: #fff;
  padding: 10px;
  position: relative;
  z-index: 1;
}

.top #flow .outer .inr .txt_area .txt {
  margin: -3px 0 52px 20px;
}

.top #flow .outer .inr .txt_area .txt h2 {
  line-height: 1;
  letter-spacing: 0.15em;
  font-size: 4rem;
  letter-spacing: 0.05em;
  margin-bottom: 30px;
}

.top #flow .outer .inr .txt_area .txt p {
  line-height: 2.4;
  letter-spacing: 0.15em;
  font-size: 16px;
}

.top #flow .outer .inr .txt_area .min {
  margin-top: 30px;
}

.top #flow .outer .inr .txt_area .min h3 {
  font-size: 14px;
  letter-spacing: 0.1em;
  margin-bottom: 20px;
  font-feature-settings: "palt";
}

.top #flow .outer .inr .txt_area .min p {
  font-size: 12px;
  color: #7e7e7e;
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
  line-height: 2;
}

.top #flow .outer .inr .bki {
  content: "";
  display: block;
  width: 580px;
  height: 100%;
  background-image: url(/images/sec1.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  right: 0;
}

@media (min-width: 768px) {
  .top #flow .outer .inr {
    max-width: 960px;
    margin: 0 auto;
  }
}

@media (max-width: 1024px) {
  .top #flow {
    padding: 0 6.6666vw;
    margin-bottom: 10.666vw;
  }
  .top #flow .outer {
    padding: 7.4666vw 6.6666vw 6.6666vw;
  }
  .top #flow .outer .inr {
    position: relative;
  }
  .top #flow .outer .inr .txt_area {
    margin-bottom: 0;
  }
  .top #flow .outer .inr .txt_area h1 {
    font-size: 6.1333vw;
    line-height: 1.5;
    letter-spacing: 0.19em;
    margin-bottom: 12vw;
    text-align: center;
  }
  .top #flow .outer .inr .txt_area .txtWrap::after {
    left: 6.4vw;
  }
  .top #flow .outer .inr .txt_area .step {
    padding: 1.3333vw;
    font-size: 3.2vw;
  }
  .top #flow .outer .inr .txt_area .txt {
    margin: 0 0 6.9333vw 5.3333vw;
  }
  .top #flow .outer .inr .txt_area .txt h2 {
    font-size: 4vw;
    letter-spacing: 0.15em;
    margin-bottom: 4vw;
    line-height: 1.8;
  }
  .top #flow .outer .inr .txt_area .txt p {
    font-size: 3.2vw;
    line-height: 1.8;
    letter-spacing: 0.1em;
  }
  .top #flow .outer .inr .txt_area .txt p br {
    display: none;
  }
  .top #flow .outer .inr .txt_area .min {
    margin-top: 5.3333vw;
  }
  .top #flow .outer .inr .txt_area .min h3 {
    font-size: 3.2vw;
    margin-bottom: 2.6666vw;
  }
  .top #flow .outer .inr .txt_area .min p {
    font-size: 2.6666vw;
  }
  .top #flow .outer .inr .txt_area .caution {
    font-size: 3.2vw;
    line-height: 2.4;
    margin-bottom: 16vw;
  }
  .top #flow .outer .inr .bki {
    content: "";
    width: 100%;
    height: 73.4vw;
    top: auto;
    bottom: 0;
    right: 0;
  }
}

.top #comment {
  padding: 0 50px;
}

.top #comment .outer {
  max-width: 1400px;
  margin: 0 auto;
  padding: 100px;
  background: #fff;
  position: relative;
}

.top #comment .outer .inr {
  position: relative;
}

.top #comment .outer .inr .txt_area {
  position: relative;
  z-index: 2;
  margin-bottom: 26px;
}

.top #comment .outer .inr .txt_area h1 {
  margin-bottom: 75px;
  font-size: 5rem;
  color: #20a2e5;
  line-height: 1.5;
  letter-spacing: 0.03em;
}

.top #comment .outer .inr .txt_area .txtimg {
  display: flex;
  justify-content: space-between;
}

.top #comment .outer .inr .txt_area .txtimg .txtWrap {
  width: 60%;
  position: relative;
  z-index: 1;
}

.top #comment .outer .inr .txt_area .txtimg .txtWrap p {
  line-height: 2.4;
  letter-spacing: 0.15em;
  font-size: 16px;
  margin-bottom: 30px;
}

.top #comment .outer .inr .txt_area .txtimg .txtWrap dl {
  font-weight: 700;
}

.top #comment .outer .inr .txt_area .txtimg .txtWrap dl dt {
  font-size: 16px;
  margin-bottom: 15px;
}

.top #comment .outer .inr .txt_area .txtimg .txtWrap dl dd {
  font-size: 16px;
  line-height: 1.8;
}

.top #comment .outer .inr .txt_area .txtimg .imgWrap {
  width: 35%;
  position: relative;
  z-index: 1;
}


@media (min-width: 768px) {
  .top #comment .outer .inr {
    max-width: 960px;
    margin: 0 auto;
  }
}

@media (max-width: 1024px) {
  .top #comment {
    padding: 0 6.6666vw;
    margin-bottom: 10.666vw;
  }
  .top #comment .outer {
    padding: 7.4666vw 6.6666vw 6.6666vw;
  }
  .top #comment .outer .inr {
    position: relative;
  }
  .top #comment .outer .inr .txt_area {
    margin-bottom: 0;
  }
  .top #comment .outer .inr .txt_area h1 {
    font-size: 6.1333vw;
    line-height: 1.5;
    letter-spacing: 0.19em;
    margin-bottom: 12vw;
    text-align: center;
  }
  .top #comment .outer .inr .txt_area .txtimg {
    display: block;
  }
  .top #comment .outer .inr .txt_area .txtimg .txtWrap {
    width: auto;
    margin-bottom: 12vw;
    overflow: visible;
    opacity: 0;
    transition: opacity .3s ease-in-out;
  }
  .top #comment .outer .inr .txt_area .txtimg .txtWrap p {
    line-height: 1.8;
    font-size: 3.4666vw;
    margin-bottom: 4vw;
  }
  .top #comment .outer .inr .txt_area .txtimg .txtWrap dl {
    margin-top: 8vw;
  }
  .top #comment .outer .inr .txt_area .txtimg .txtWrap dl dt {
    font-size: 3.4666vw;
    margin-bottom: 4vw;
  }
  .top #comment .outer .inr .txt_area .txtimg .txtWrap dl dd {
    font-size: 3.4666vw;
    line-height: 1.8;
  }
  .top #comment .outer .inr .txt_area .txtimg .txtWrap dl dd img {
    width: 70%;
    height: auto;
  }
  .top #comment .outer .inr .txt_area .txtimg .imgWrap {
    width: 40%;
    float: right;
    margin: 0 0 3% 9%;
    opacity: 0;
    transition: opacity .3s ease-in-out;
  }
  .top #comment .outer .inr .txt_area .txtimg .imgWrap.active,
  .top #comment .outer .inr .txt_area .txtimg .txtWrap.active {
    opacity: 1;
  }
  .top #comment .outer .inr .txt_area .txtimg .imgWrap::before,
  .top #comment .outer .inr .txt_area .txtimg .txtWrap::before {
    display: none;
  }
}


.top #news {
  padding: 0 50px;
}

.top #news .outer {
  max-width: 1400px;
  margin: 0 auto;
  padding: 100px;
  background: #fff;
  position: relative;
}

.top #news .outer .inr {
  position: relative;
}

.top #news .outer .inr .txt_area {
  position: relative;
  z-index: 2;
  margin-bottom: 26px;
}

.top #news .outer .inr .txt_area h1 {
  margin-bottom: 75px;
  font-size: 5rem;
  color: #20a2e5;
  line-height: 1.5;
  letter-spacing: 0.03em;
}

.top #news .outer .inr .txt_area dl:first-of-type {
  border-top: 1px solid #20a2e5;
}

.top #news .outer .inr .txt_area dl {
  border-bottom: 1px solid #20a2e5;
  padding: 15px 0;
}

.top #news .outer .inr .txt_area dl dt {
  display: flex;
  align-items: center;
  font-size: 16px;
  margin-bottom: 15px;
}

.top #news .outer .inr .txt_area dl dt strong {
  font-family: 'Roboto', sans-serif;
  font-size: 20px;
  line-height: 1;
}

.top #news .outer .inr .txt_area dl dt i {
  font-style: normal;
  font-weight: 700;
  background-color: #20a2e5;
  color: #fff;
  margin-left: 15px;
  padding: 5px 10px;
  line-height: 1;
}

.top #news .outer .inr .txt_area dl dd {
  font-size: 16px;
  line-height: 1.8;
}

.top #news .outer .inr .txt_area dl dd a {
  transition: all .3s ease-in-out;
  position: relative;
  padding-right: 20px;
}

.top #news .outer .inr .txt_area dl dd a span {
  position: relative;
  margin-left: 22px;
}

.top #news .outer .inr .txt_area dl dd a span::before,
.top #news .outer .inr .txt_area dl dd a span::after {
  content: "";
  width: 10px;
  height: 5px;
  border: 2px solid #20a2e5;
  position: absolute;
  top: 8px;
  right: 0;
}

.top #news .outer .inr .txt_area dl dd a span::after {
  top: 12px;
  right: -4px;
  border-top-color: transparent;
  border-left-color: transparent;
}

.desktop .top #news .outer .inr .txt_area dl dd a:hover {
  color: #20a2e5;
}

@media (min-width: 768px) {
  .top #news .outer .inr {
    max-width: 960px;
    margin: 0 auto;
  }
}

@media (max-width: 1024px) {
  .top #news {
    padding: 0 6.6666vw;
    margin-bottom: 10.666vw;
  }
  .top #news .outer {
    padding: 7.4666vw 6.6666vw 6.6666vw;
  }
  .top #news .outer .inr {
    position: relative;
  }
  .top #news .outer .inr .txt_area {
    margin-bottom: 0;
  }
  .top #news .outer .inr .txt_area h1 {
    font-size: 6.1333vw;
    line-height: 1.5;
    letter-spacing: 0.19em;
    margin-bottom: 12vw;
    text-align: center;
  }
  .top #news .outer .inr .txt_area dl {
    padding: 3.2vw 0;
  }
  .top #news .outer .inr .txt_area dl dt {
    font-size: 3.4666vw;
    margin-bottom: 2.6666vw;
  }
  .top #news .outer .inr .txt_area dl dt strong {
    font-size: 4vw;
  }
  .top #news .outer .inr .txt_area dl dt i {
    margin-left: 4vw;
    padding: 1.3333vw 2.6666vw;
  }
  .top #news .outer .inr .txt_area dl dd {
    font-size: 3.4666vw;
    line-height: 1.8;
  }
  .top #news .outer .inr .txt_area dl dd a span {
    margin-left: 18px;
  }
  .top #news .outer .inr .txt_area dl dd a span::before,
  .top #news .outer .inr .txt_area dl dd a span::after {
    width: 8px;
    height: 4px;
    top: 5px;
  }
  .top #news .outer .inr .txt_area dl dd a span::after {
    top: 9px;
  }
}


.top #company {
  padding: 0 50px;
}

.top #company .outer {
  max-width: 1400px;
  margin: 0 auto;
  padding: 100px;
  background: #fff;
  position: relative;
}

.top #company .outer .inr {
  position: relative;
}

.top #company .outer .inr .txt_area {
  position: relative;
  z-index: 2;
  margin-bottom: 50px;
}

.top #company .outer .inr .txt_area h1 {
  margin-bottom: 75px;
  font-family: 'Noto Sans JP', san-serif;
  font-size: 5rem;
  color: #20a2e5;
  line-height: 1.5;
  letter-spacing: 0.03em;
}

.top #company .outer .inr .txt_area p {
  line-height: 2.4;
  letter-spacing: 0.15em;
  font-size: 16px;
  margin-bottom: 30px;
}

.top #company .outer .inr .txt_area dl {
  display: flex;
  border-bottom: 1px solid #20a2e5;
}

.top #company .outer .inr .txt_area dl dt {
  font-weight: 700;
  font-size: 16px;
  padding: 10px 12px;
  border-bottom: 3px solid #20a2e5;
  width: 120px;
}

.top #company .outer .inr .txt_area dl dd {
  padding: 10px 12px;
  font-size: 16px;
  line-height: 1.8;
}

.top #company .outer .inr .map iframe {
  filter: grayscale(1);
  transition: all .3s ease-in-out;
}

.desktop .top #company .outer .inr .map iframe:hover {
  filter: grayscale(0);
}

@media (min-width: 768px) {
  .top #company .outer .inr {
    max-width: 960px;
    margin: 0 auto;
  }
}

@media (max-width: 1024px) {
  .top #company {
    padding: 0 6.6666vw;
    margin-bottom: 10.666vw;
  }
  .top #company .outer {
    padding: 7.4666vw 6.6666vw 6.6666vw;
  }
  .top #company .outer .inr {
    position: relative;
  }
  .top #company .outer .inr .txt_area {
    margin-bottom: 12vw;
  }
  .top #company .outer .inr .txt_area h1 {
    font-size: 6.1333vw;
    line-height: 1.5;
    letter-spacing: 0.19em;
    margin-bottom: 12vw;
    text-align: center;
  }
  .top #company .outer .inr .txt_area p {
    line-height: 1.8;
    font-size: 3.4666vw;
    margin-bottom: 8vw;
  }
  .top #company .outer .inr .txt_area dl {
    display: block;
  }
  .top #company .outer .inr .txt_area dl dt {
    font-size: 3.4666vw;
    padding: 2.6666vw 0;
    border-bottom: 2px solid #20a2e5;
    width: 30vw;
  }
  .top #company .outer .inr .txt_area dl dd {
    padding: 2.6666vw 0;
    font-size: 3.2vw;
    line-height: 1.8;
  }
  .top #company .outer .inr .map iframe {
    height: 250px;
    filter: none;
  }
}


input[type="radio"]{
  appearance: auto;
}

.top #contact_form .outer .inr form .f_wrap dl.dl dd input[type="radio"]{
  width: auto;
}

#radioWrap label{
  display: block;
}

#radioWrap span{
  display: inline-block;
  vertical-align: text-bottom;
}

#kekka {
  padding: 14px;
}

#kekka_price {
  font-size: 1.5em;
  margin-top: 0.5em
}

#kekka_price .unit {
  font-size: 0.8em
}

#yoyaku_detail h2 {
  font-size: 1.2em;
  margin-bottom: 1em;
}

#kekka_price_detail {
  line-height: 1.7
}

#kekka_price_detail b {
  font-size: 1.2em;
}

#yoyaku_no p {
  color: #d20000;
}

#kekka_options {
  margin-top: 0.3em;
}

#kekka_options span {
  background-color: #f3f3f3;
  display: inline-block;
  border: solid 1px #676767;
  padding: 0.2em;
  line-height: 1;
  border-radius: 0.4em;
  margin-right: 0.7em;
}

select {
  appearance: auto;
  border: solid 1px #7e7e7e;
  border-radius: 0.3em;
}

.option.select .sel_wrap {
  margin-right: 1em;
}

.option.select select {
  margin-right: 0.3em;
}

@media (max-width: 1024px) {
  .option.select select {
    width: 10vw;
    padding: 0 5px;
  }
  .option.select .sel_wrap {
    margin: 0 0 4vw 0;
    text-align: left;
  }
  .option.select .sel_wrap span {
    font-size: 3.2vw;
  }
}