@charset "UTF-8";

/* ========================================
   @media screen and (min-width: 768px), print 
======================================== */
@media screen and (min-width: 768px), print {

  .sec-kaihei {
    width: 100%;
    max-width: 1200px;
    margin: 15px auto 0;
    text-align: center;
    background-color: #111111;
    font-size: 20px;
    line-height: 1.6;
    letter-spacing: 1px;
    padding: 13px 0;
    position: relative;
    cursor: pointer;
  }
  
  /* 矢印の初期状態 */
  .sec-kaihei::after {
    content: '';
    display: inline-block;
    width: 25px;
    height: 13px;
    position: absolute;
    top: 23px;
    right: 23px;
    background-image: url(../images/index/sec-kaihei-arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    transition: transform 0.3s ease; /* ふわっとアニメーション */
  }
  
  /* クリックされたら矢印を反転 */
  .sec-kaihei.active::after {
    transform: rotate(180deg);
  }
  
/* 初期状態（閉じている状態） */
.sec-kaihei-open {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.5s ease-out, opacity 0.5s ease-out;
}

/* 開いたとき */
.sec-kaihei-open.is-kaihei-open {
  max-height: 10000px !important; /* 高さは適宜調整 */
  opacity: 1;
  overflow: visible;
}




main {
  max-width: 1920px;
  margin-inline: auto;
  width: 100%;
}

/* mv
-------------------------------------*/
#mv {
    margin-top: -100px;
}

/* sec共通
-------------------------------------*/
.sec-en-ttl {
  position: relative;
}
.sec-en-ttl::after {
  content: "";
  position: absolute;
  width: 27px;
  height: 2px;
  background-color: #FFFFFF;
  bottom: -18px;
  left: 50%;
  transform: translateX(-50%);
}
.sec-en-ttl img {
  width: 100%;
}
.sec-ttl {
  font-weight: 500;
  font-size: clamp(2.125rem, 0.542rem + 3.3vw, 4.5rem);
  letter-spacing: 0.08em;
  line-height: 1.625;
  text-align: center;
  color: #ebe7ea;
  text-shadow: 0px 0px 26px #00b7ff;
  margin: 21px 0 0 7px;
}


/* about
-------------------------------------*/
#about {
    background-image: url(../images/index/about-bg.png);
    background-repeat: no-repeat;
    background-size: auto;
    padding: 50px 0 67px;
  }
  #about .about-inner {
    width: 1430px;
    margin-inline: auto;
  }
  #about .about-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0 25px;
  }
  #about .about-list li {
    background-image: url(../images/index/about-list-bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    padding: 30px 35px 24px;
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
  }
  #about .about-list li:not(:first-child) {
    padding: 37px 35px 24px;
  }
  #about .about-list li .ttl {
    font-size: 28px;
    line-height: 1.4285;
    letter-spacing: 0.06em;
    text-align: center;
    position: relative;
  }
  #about .about-list li .ttl .small {
    font-size: 20px;
    line-height: 1.4;
    letter-spacing: 0.06em;
    display: block;
  }
  #about .about-list li .ttl .note {
    font-size: 18px;
    line-height: 2.5555;
    letter-spacing: 0.06em;
    position: absolute;
    bottom: 8px;
    right: 113px;
  }
  #about .about-list li .img {
    margin-top: 15px;
  }
  #about .about-list li .img img {
    width: 100%;
  }
  #about .txt {
    font-size: 14px;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.03em;
    margin-top: 36px;
    padding: 0 165px;
    color: #B8B8B8;
  }


/* info
-------------------------------------*/
  #info {
    background-image: url(../images/index/info-bg.png);
    background-repeat: no-repeat;
    background-size: contain;
    padding: 59px 0 120px;
    background-position: top -10px center;
  }
  #info .info-inner {
    width: 1000px;
    margin-inline: auto;
    position: relative;
  }
  #info .info-en-bg {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 990px;
  }
  #info .info-en-bg img {
    width: 100%;
  }
  #info .info-img {
    width: 615px;
    margin-inline: auto;
    padding: 211px 0 0;
  }
  #info .info-img img {
    width: 100%;
  }
  #info .info-ttl {
    font-size: 28px;
    line-height: 1.7142;
    letter-spacing: 0.08em;
    text-align: center;
    position: relative;
    margin-top: 116px;
  }
  #info .info-ttl::before, #info .info-ttl::after {
    content: "";
    position: absolute;
    width: 51px;
    height: 173px;
    bottom: -21px;
  }
  #info .info-ttl::before {
    background-image: url(../images/index/info-ttlbg-l.svg);
    left: 0;
  }
  #info .info-ttl::after {
    background-image: url(../images/index/info-ttlbg-r.svg);
    right: 0;
  }
  #info .info-txt {
    font-size: 18px;
    line-height: 1.8888;
    letter-spacing: 0.03em;
    text-align: center;
    margin-top: 44px;
  }
  #info .info-txt a {
    color: #fff;
    text-decoration: underline;
  }


  /* contact
-------------------------------------*/
  #contact {
    background-image: url(../images/index/contact-bg.png);
    background-repeat: no-repeat;
    background-size: auto;
    background-position: bottom center;
    padding: 0 0 136px;
  }
  #contact .contact-inner {
    width: 1200px;
    margin-inline: auto;
  }
  #contact .contact-ttl {
    width: 347px;
    margin-inline: auto;
  }
  #contact .contact-ttl img {
    width: 100%;
  }
  #contact .contact-btn-wrap {
    display: flex;
    gap: 34px;
    padding: 0 50px;
    margin-top: 56px;
  }
  #contact .contact-btn01 {
    position: relative;
    z-index: 2;
  }
  #contact .contact-btn02 {
    position: relative;
    z-index: 2;
  }
  #contact .contact-btn .ttl {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.6666;
    letter-spacing: 0.06em;
    text-align: center;
  }
  #contact .contact-btn::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 129px;
    bottom: 12%;
    left: 50%;
    background-image: url(../images/index/contact-btn-shadow.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transform: translateX(-50%);
    z-index: 1;
  }
  #contact .contact-btn .btn {
    margin: 12px 0 0;
    position: relative;
    z-index: 3;
  }
  #contact .contact-btn .btn img {
    width: 100%;
  }
  #contact .contact-btn02 .bottom-txt .txt {
    font-size: 16px;
    line-height: 2;
    letter-spacing: 0.03em;
    text-align: center;
    margin: 12px 0 0;
  }
  #contact .contact-btn02 .bottom-txt .link-box {
    display: flex;
    gap: 20px;
    justify-content: center;
    margin: 2px 0 0;
  }
  #contact .contact-btn02 .bottom-txt .link-box a {
    font-size: 14px;
    line-height: 2.2857;
    letter-spacing: 0.03em;
    color: #FFFFFF;
    text-decoration: underline;
  }
  #contact .contact-tel-box {
    background-color: #1A1A1A;
    padding: 25px 121px 24px;
    display: flex;
    gap: 52px;
    position: relative;
    margin-top: 51px;
    align-items: center;
  }
  #contact .contact-tel-box .txt-wrap {
    display: flex;
    flex-direction: column;
    gap: 10px;
    color: #FFFFFF;
  }
  #contact .contact-tel-box .txt-wrap .ttl {
    font-size: 24px;
    line-height: 1.6666;
    letter-spacing: 0.07em;
  }
  #contact .contact-tel-box .txt-wrap .txt {
    background-color: #242424;
    border: 1px solid #707070;
    font-size: 17px;
    line-height: 1;
    letter-spacing: 0.07em;
    padding: 10px 0;
    text-align: center;
  }
  #contact .contact-tel-box .tel-number {
    width: 461px;
    margin: 14px 0 0;
  }
  #contact .contact-tel-box .tel-number img {
    width: 100%;
  }
  #contact .contact-tel-box .deco {
    position: absolute;
    bottom: 0;
    right: 47px;
    width: 126px;
  }
  #contact .contact-tel-box .deco img {
    width: 100%;
  }


/* worries
-------------------------------------*/
  #worries {
    background: url(../images/index/worries-bg01.png);
    background-repeat: no-repeat;
    position: relative;
    z-index: 1;
    background-size: contain;
    padding: 80px 0 204px;
    background-position: bottom center;
  }
  #worries::after {
    content: "";
    position: absolute;
    width: 138px;
    height: 164px;
    bottom: -32px;
    left: 50%;
    background-image: url(../images/index/worries-arrow.svg);
    background-repeat: no-repeat;
    background-size: contain;
    transform: translateX(-50%);
    z-index: 2;
  }
  #worries .worries-inner {
    width: 1000px;
    margin-inline: auto;
    position: relative;
  }
  #worries .worries-ttl {
    font-size: 33px;
    font-weight: 500;
    line-height: 1.3636;
    letter-spacing: 0.12em;
    padding: 0 8px;
  }
  #worries .worries-img {
    width: 100%;
    position: relative;
    z-index: 1;
  }
  #worries .worries-en-deco {
    position: absolute;
    top: 10px;
    right: -96px;
    width: 418px;
    z-index: 2;
  }
  #worries .worries-en-deco img {
    width: 100%;
  }
  #worries .worries-list {
    display: flex;
    flex-direction: column;
    margin-top: 127px;
    padding: 0 41px;
    gap: 69px;
    position: relative;
  }
  #worries .worries-list li {
    position: relative;
    z-index: 11;
  }
  #worries .worries-list li::before {
    content: "";
    position: absolute;
    width: 63px;
    height: 61px;
    top: -32%;
    left: -6%;
    background-image: url(../images/index/check-icon.svg);
    background-repeat: no-repeat;
    background-size: contain;
  }
  #worries .worries-list li::after {
    content: "";
    position: absolute;
    width: 799px;
    height: 47px;
    bottom: -87%;
    left: -13%;
    background: url(../images/index/worries-list-deco.png);
    background-repeat: no-repeat;
    background-size: contain;
    opacity: 0.6;
  }
  #worries .worries-list li:nth-child(2) {
    margin: 0 0 0 68px;
  }
  #worries .worries-list li .ttl {
    font-size: 28px;
    line-height: 1.6428;
    letter-spacing: 0.08em;
  }
  #worries .worries-list li .txt {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.875;
    letter-spacing: 0.06em;
  }


  /* improve
-------------------------------------*/
#improve {
    background: url(../images/index/improve-bg-top.png), url(../images/index/improve-bg-bottom.png);
    background-repeat: no-repeat, no-repeat;
    background-size: contain, contain;
    background-position: top -168px center, bottom 55px center;
    margin-top: -130px;
    padding: 212px 0 0px;
  }
  #improve .improve-ttl {
    width: 697px;
    margin: 0 0 0 603px;
  }
  #improve .improve-ttl img {
    width: 100%;
  }
  #improve .improve-subt {
    font-size: 26px;
    line-height: 1.6153;
    letter-spacing: 0.08em;
    text-align: center;
    margin-top: 29px;
  }
  #improve .improve-photo {
    margin-top: 94px;
  }
  #improve .improve-inner {
    width: 1100px;
    margin-inline: auto;
  }
  #improve .improve-img {
    width: 768px;
    margin-inline: auto;
    margin-top: -139px;
  }
  #improve .improve-img img {
    width: 100%;
  }
  #improve .improve-lead {
    font-size: 18px;
    line-height: 1.8888;
    letter-spacing: 0.03em;
    margin: 33px 199px 0 195px;
  }
  #improve .improve-txt {
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0.03em;
    padding-top: 49px;
    color: #B8B8B8;
  }



/* reason
-------------------------------------*/
#reason {margin: 116px 0 0;position: relative;z-index: 10; scroll-margin-top: 80px;}


#reason .reason-inner {
    width: 1440px;
    margin-inline: auto;
    background: #0C0C0C;
    position: relative;
    z-index: 10;
  }
  #reason .reason-ttl-box {
    background-image: url(../images/index/reason-ttl-bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    padding: 38px 0 5px;
    position: relative;
    z-index: 2;
  }
  #reason .reason-ttl-box::after {
    content: "";
    position: absolute;
    width: 1502px;
    height: 308px;
    bottom: -49%;
    left: 50%;
    transform: translateX(-50%);
    background-image: url(../images/index/reason-ttl-box-shadow.png);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 1;
  }
  #reason .reason-en-ttl {
    width: 108px;
    margin-inline: auto;
    top: -54px;
    position: relative;
  }
  #reason .reason-en-ttl img {
    width: 100%;
  }
  #reason .reason-ttl {position: relative;z-index: 3;padding: 0 0 15px;}
  #reason .reason-ttl span {
    font-size: 32px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.04em;
    display: block;
    text-align: center;
  }
  #reason .reason-ttl .img {
    width: 908px;
    margin-inline: auto;
    margin: -10px 0 0 263px;
  }
  #reason .reason-ttl .img img {
    width: 100%;
  }
  #reason .reason-list {
    display: flex;
    flex-direction: column;
    margin-top: 103px;
    gap: 87px;
  }
  #reason .reason-item {
    position: relative;
    padding: 0 0 133px;
  }
  #reason .reason-item .inner {
    width: 1200px;
    margin-inline: auto;
  }
  #reason .reason-item:not(:last-child)::after {
    content: "";
    position: absolute;
    width: 1334px;
    height: 74px;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    background-image: url(../images/index/reason-item-deco.png);
    background-repeat: no-repeat;
    background-size: contain;
  }
  #reason .reason-item .ttl-box {
    display: flex;
    gap: 19px;
    margin: 0 0 0 73px;
  }
  #reason .reason-item .ttl-num {
    margin: -44px 0 0;
  }
  #reason .reason-item .ttl-num img {
  }
  #reason .reason-item .ttl {
    font-size: 34px;
    font-weight: 500;
    line-height: 1.647;
    letter-spacing: 0.08em;
  }
  #reason .reason-item.item01 .point-box {
    display: flex;
    margin: 49px 0 0;
    gap: 6px;
  }
  #reason .reason-item.item01 .point-box .point01 {
    width: 552px;
    margin: 33px 0 0;
  }
  #reason .reason-item.item01 .point-box .point01 img {
    width: 100%;
  }
  #reason .reason-item.item01 .point-box .point-wrap {
    display: flex;
    gap: 34px;
  }
  #reason .reason-item.item01 .point-box .point02,
  #reason .reason-item.item01 .point-box .point03 {
    width: 50%;
  }
  #reason .reason-item.item01 .point-box .point02 img,
  #reason .reason-item.item01 .point-box .point03 img {
    width: 100%;
  }
  #reason .reason-item .item01 .point-box .point .img img {
    width: 100%;
  }
  #reason .reason-item.item01 .point-box .point .ttl {
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.02em;
    color: #E5E5E5;
    background-color: #343434;
    border-radius: 24px;
    padding: 12px 0px;
    margin-top: 10px;
    text-align: center;
  }
  #reason .reason-item.item01 .point-box .point .txt {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5625;
    letter-spacing: 0.06em;
    text-align: center;
    margin-top: 10px;
  }
  #reason .reason-item .sub-txt {
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0.03em;
    color: #B8B8B8;
    padding: 0 108px;
    margin-top: 47px;
  }
  #reason .reason-item .reason-txt {
    font-size: 16px;
    line-height: 2.125;
    letter-spacing: 0.03em;
    padding: 0 100px;
    margin-top: 22px;
  }
  
  /* item02 */
  #reason .reason-item.item02 .ttl-box {
gap: 10px;
}
  #reason .item02 .point-box {
    background-image: url(../images/index/reason02-bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    margin-top: 12px;
    width: 1100px;
    margin-inline: auto;
  }
  #reason .item02 .head-box {
    padding: 34px 0 20px;
  }
  #reason .item02 .head-box .txt {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.08em;
    text-align: center;
  }
  #reason .item02 .head-box .txt .note {
    font-size: 14px;
    font-weight: 500;
    line-height: 2.2857;
    letter-spacing: 0.08em;
  }
  #reason .item02 .head-box .head {
    width: 879px;
    margin: 0px 0 0 112px;
  }
  #reason .item02 .head-box .head img {
    width: 100%;
  }
  #reason .item02 .point-item-box {
    background-color: #0C0C0C;
    width: 1000px;
    margin-inline: auto;
    padding: 27px 43px 55px;
    margin-top: -16px;
  }
  #reason .item02 .point-item-box .ttl {
    font-size: 28px;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.1em;
    text-align: center;
    position: relative;
  }
  #reason .item02 .point-item-box .ttl span {
    font-size: 16px;
    font-weight: 500;
    line-height: 2.25;
    letter-spacing: 0.11em;
    display: block;
    margin: -5px 0 0;
  }
  #reason .item02 .point-item-box .ttl::after {
    content: "";
    position: absolute;
    width: 200px;
    height: 13px;
    bottom: -30%;
    left: 50%;
    transform: translateX(-50%);
    background: url(../images/index/reason02-point-deco.png);
    background-repeat: no-repeat;
    background-size: contain;
    opacity: 0.6;
  }
  #reason .item02 .point-item {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 40px;
    gap: 37px 54px;
  }
  #reason .item02 .point-item li {
    position: relative;
  }
  #reason .item02 .point-item li:nth-child(3) {
    margin: 0 0 0 8px;
  }
  #reason .item02 .point-item li:nth-child(5),
  #reason .item02 .point-item li:nth-child(6) {
    margin: 21px 0 0 0;
  }
  #reason .item02 .point-item li:nth-child(6) {
    margin: 21px 0 0 8px;
  }
  #reason .item02 .point-item li:not(:nth-child(3n))::after {
    content: "";
    position: absolute;
    width: 1px;
    height: 230px;
    top: 36px;
    right: -18px;
    background-color: #3D3D3D;
  }
  #reason .item02 .point-item li:nth-child(2)::after,
  #reason .item02 .point-item li:nth-child(5)::after {
    top: 34px;
    right: -30px;
  }
  #reason .item02 .point-item li:nth-child(-n + 3)::before {
    content: "";
    position: absolute;
    width: 251px;
    height: 1px;
    bottom: -28px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #3D3D3D;
  }
  #reason .item02 .point-box {
    background-image: url(../images/index/reason02-bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    padding: 0 0 49px;
  }
  #reason .point-item-box .txt-box {
    border: 1px solid #707070;
    padding: 22px 86px 18px;
    display: flex;
    gap: 85px;
    margin-top: 54px;
    width: 900px;
    margin-inline: auto;
  }
  #reason .point-item-box .txt-box li:nth-child(2) .head::before {
    background: linear-gradient(#00b7ff 0%, #773efb 100%);
  }
  #reason .point-item-box .txt-box li .head {
    font-size: 16px;
    font-weight: 500;
    line-height: 2.125;
    letter-spacing: 0.04em;
    position: relative;
  }
  #reason .point-item-box .txt-box li .head::before {
    position: absolute;
    content: "";
    width: 22px;
    height: 22px;
    background-color: #747474;
    top: 50%;
    left: -38px;
    transform: translateY(-50%);
  }
  #reason .point-item-box .txt-box li .head .note {
    font-size: 14px;
    line-height: 2.4285;
    letter-spacing: 0.11em;
    margin: 2px 0 0 2px;
  }
  #reason .point-item-box .txt-box li .subt {
    font-size: 13px;
    line-height: 1;
    letter-spacing: 0.01em;
    margin: -2px 0 0 -9px;
  }
  #reason .point-item-box .txt-box li .txt {
    font-size: 16px;
    font-weight: 500;
    line-height: 2.125;
    letter-spacing: 0.11em;
    margin: 5px 0 0 -2px;
  }
  #reason .point-item-box .txt-box .point-item {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  #reason .reason-item.item02 .reason-txt {
  margin-top: 42px;
  padding: 0 220px;
  }
  #reason .reason-item.item02 .sub-txt {
margin-top: 29px;
padding: 0 220px;
}
#reason .reason-item.item02 .sub-txt a {
  color: #B8B8B8;
  text-decoration: underline;
}

/* item03 */
#reason .item03 {
  margin-top: -26px;
}
#reason .reason-item.item03 {
  padding: 0 0 81px;
}
#reason .item03-img {
  width: 1200px;
  margin-inline: auto;
  margin-top: 5px;
}
#reason .item03-img img {
  width: 100%;
}
#reason .reason-item.item03 .ttl-box {
gap: 10px;
}
#reason .reason-item.item03 .reason-txt {
margin-top: 46px;
}
#reason .reason-item.item03 .reason-txt a {
  color: #FFFFFF;
  text-decoration: underline;
}



/* offer
-------------------------------------*/
#offer {
  background-image: url(../images/index/offer-bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 306px 0 76px;
  background-position: top center;
  position: relative;
  z-index: 9;
  margin-top: -209px;
}
#offer .offer-inner {
  width: 1409px;
  margin-inline: auto;
  position: relative;
}
#offer .offer-ttl {
  text-align: center;
  padding: 79px 0 0;
}
#offer .offer-ttl span {
  font-size: 26px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.09em;
}
#offer .offer-ttl .img {
  width: 667px;
  margin-inline: auto;
  margin-top: -11px;
}
#offer .offer-ttl .img img {
  width: 100%;
}
#offer .offer-en-ttl {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  margin-inline: auto;
}
#offer .offer-en-ttl img {
  width: 100%;
}
#offer .offer-img {
  width: 1334px;
  margin-inline: auto;
  margin-top: -97px;
  position: relative;
  margin-left: 33px;
}
#offer .offer-img img {
  width: 100%;
}
#offer .offer-txt {
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.03em;
  margin-top: 5px;
  padding: 0 105px;
  color: #B8B8B8;
}



/* price
-------------------------------------*/
#price {
  margin-top: 85px;
}
#price .price-inner {
  width: 1440px;
  margin-inline: auto;
}
#price .price-en-ttl {
  width: 79px;
  margin-inline: auto;
}
#price .price-en-ttl::after {
  bottom: -24px;
}
#price .price-en-ttl img {
  width: 100%;
}
#price .price-ttl {
  margin: 28px 0 0 7px;
}
#price .price-tabs {
  margin-top: 38px;
}
#price .price-tabs-list {
  display: flex;
  justify-content: center;
  border-right: 1px solid #707070;
  width: 1200px;
  margin-inline: auto;
}
#price .price-tabs-item {
  font-size: 20px;
  line-height: 1;
  letter-spacing: 0.05em;
  padding: 34px 50px 23px;
  background-color: #000000;
  border-top: 1px solid #707070;
  color: #828282;
  text-align: center;
  width: 33.3%;
}
#price .price-tabs-item span {
  display: block;
  margin: 10px 0 0;
}
#price .price-tabs-item[aria-selected=true] {
  background: #111111;
  color: #fff;
  pointer-events: none;
}
#price .price-tabs-item[aria-selected=false] {
  transition: opacity 0.3s ease;
}
@media (any-hover: hover) {
  #price .price-tabs-item[aria-selected=false]:hover {
    cursor: pointer;
    opacity: 0.7;
  }
}
#price .price-tabs-contents {
  background-color: #111111;
  padding: 91px 170px 102px;
}
#price .price-tabs-content-wrap {
  opacity: 0;
  visibility: hidden;
  height: 0;
  translate: 0 20px;
  transition: opacity 0.3s ease, translate 0.3s ease;
}
#price .price-tabs-content-wrap.js-show {
  opacity: 1;
  visibility: visible;
  height: fit-content;
  translate: 0;
}
#price .price-tabs-content .basic table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #707070;
}
#price .price-tabs-content .basic table tr {
  font-size: 22px;
  letter-spacing: 0.03em;
  color: #fff;
  border-top: 1px solid #707070;
}
#price .price-tabs-content .basic th {
  line-height: 1;
  border-right: 1px solid #707070;
  width: 31.8181%;
  background-color: #212121;
  padding: 30px 38px;
  text-align: left;
}
#price .price-tabs-content .basic td {
  line-height: 1.90909;
  padding: 20px 43px;
}
#price .price-tabs-content .basic tr:nth-child(3) th {
   vertical-align: middle;
}
#price .price-tabs-content .basic tr:nth-child(3) td {
padding: 38px 43px;
}
#price .price-tabs-content.content02 .basic tr:nth-child(2) th,
#price .price-tabs-content.content03 .basic tr:nth-child(2) th {
   vertical-align: middle;
}
#price .price-tabs-content.content02 .basic tr:nth-child(4) th,
#price .price-tabs-content.content03 .basic tr:nth-child(4) th  {
   vertical-align: middle;
}
#price .price-tabs-content.content02 .basic tr:nth-child(2) td,
#price .price-tabs-content.content03 .basic tr:nth-child(2) td {
padding: 38px 43px;
}
#price .price-tabs-content.content02 .basic tr:nth-child(4) td,
#price .price-tabs-content.content03 .basic tr:nth-child(4) td  {
padding: 38px 43px;
}
#price .price-tabs-content .price-banner {
  position: relative;
  text-align: center;
  margin-top: 48px;
}
#price .price-tabs-content .price-banner .note {
  position: absolute;
  top: -6px;
  right: 0;
  font-size: 22px;
  letter-spacing: 0.03em;
  line-height: 1.90909;
}
#price .price-tabs-content .price-txt {
  font-size: 14px;
  letter-spacing: 0.03em;
  line-height: 2;
  color: #b8b8b8;
  margin-top: 24px;
  padding: 0 50px;
}
#price .price-tabs-content .price-txt a {
  color: #b8b8b8;
  text-decoration: underline;
}
#price .price-tabs-content.content02 .price-txt,
#price .price-tabs-content.content03 .price-txt  {
margin-top: 42px;
}
#price .option {
  margin-top: 49px;
  width: 1100px;
  margin-inline: auto;
  padding: 0 0 70px 0;
}
#price .option .ttl {
  font-weight: 500;
  font-size: 34px;
  letter-spacing: 0.08em;
  line-height: 1.64705;
  text-align: center;
  color: #fff;
}
#price .option .option-price {
  border: 1px solid #707070;
  margin-top: 31px;
  border-collapse: collapse;
}
#price .option .option-price tr {
  font-size: 22px;
  letter-spacing: 0.03em;
  text-align: left;
  color: #fff;
}
#price .option .option-price tr:first-child {
  border-bottom: 1px solid #707070;
}
#price .option .option-price .ttl {
  background-color: #212121;
  padding: 10px 28px;
  text-align: left;
  font-size: 22px;
  letter-spacing: 0.03em;
  width: 31.8181%;
  border-right: 1px solid #707070;
  line-height: 1.9090;
}
#price .option .option-price .price {
  width: 14.0909%;
  border-right: 1px solid #707070;
  padding: 0 10px;
  text-align: center;
}
#price .option .option-price .txt {
  flex: 1;
  padding: 20px 36px 20px 28px;
  line-height: 1.9090;
}
/* #price .option .option-price tr:nth-child(2) .ttl {
  vertical-align: middle;
}
#price .option .option-price tr:nth-child(2) .price {
  vertical-align: middle;
} */
#price .option .option-price tr .ttl,
#price .option .option-price tr .price,
#price .option .option-price tr .txt {
  vertical-align: middle;
}
#price .option .option-txt {
  font-size: 18px;
  letter-spacing: 0.03em;
  line-height: 1.8888;
  margin-top: 23px;
}
#price .option .option-txt a {
  color: #fff;
  text-decoration: underline;
}


/* flow
-------------------------------------*/
#flow {
  margin-top: 110px;
}
#flow .flow-inner {
  width: 1440px;
  margin-inline: auto;
}
#flow .flow-en-ttl {
  width: 77px;
  margin-inline: auto;
}
#flow .flow-en-ttl img {
  width: 100%;
}
#flow .flow-tabs {
  margin-top: 38px;
  padding: 0 0 70px 0;
}
#flow .flow-tabs-list {
  display: flex;
  justify-content: center;
  width: 1200px;
  margin-inline: auto;
  border-right: 1px solid #707070;
}
#flow .flow-tabs-item {
  font-size: 20px;
  line-height: 1;
  letter-spacing: 0.05em;
  padding: 34px 50px 23px;
  background-color: #000000;
  border-top: 1px solid #707070;
  color: #828282;
  text-align: center;
  width: 33.3%;
}
#flow .flow-tabs-item span {
  display: block;
  margin: 10px 0 0;
}
#flow .flow-tabs-item[aria-selected=true] {
  background: #111111;
  color: #fff;
  pointer-events: none;
}
#flow .flow-tabs-item[aria-selected=false] {
  transition: opacity 0.3s ease;
}
@media (any-hover: hover) {
  #flow .flow-tabs-item[aria-selected=false]:hover {
    cursor: pointer;
    opacity: 0.7;
  }
}
#flow .flow-tabs-contents {
  background-color: #111111;
  padding: 76px 120px 125px;
}
#flow .flow-tabs-content-wrap {
  opacity: 0;
  visibility: hidden;
  height: 0;
  translate: 0 20px;
  transition: opacity 0.3s ease, translate 0.3s ease;
}
#flow .flow-tabs-content-wrap.js-show {
  opacity: 1;
  visibility: visible;
  height: fit-content;
  translate: 0;
}
#flow .flow-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0 38px;
}
#flow .flow-list.list02,
#flow .flow-list.list03 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0 120px;
}
#flow .flow-list li {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  background-color: #404040;
  padding: 26px 0 13px;
  text-align: center;
  position: relative;
}
#flow .flow-list.list02 li:nth-child(3),
#flow .flow-list.list03 li:nth-child(3) {
  background: #1f1f1f;
  border: 1px dotted #707070;
}
#flow .flow-list li:not(:last-child)::after {
  content: "";
  position: absolute;
  width: 11px;
  height: 23px;
  top: 52%;
  right: -25px;
  background-image: url(../images/index/step-arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  transform: translateY(-50%);
}
#flow .flow-list li:nth-child(1) .img {margin: 10px 0 0;}
#flow .flow-list li:nth-child(2) .img {margin: 19px 0 0;}
#flow .flow-list li:nth-child(3) .img {margin: 10px 0 0;}
#flow .flow-list li:nth-child(5) .img {margin: 10px 0 0;}
#flow .flow-list li .num {margin: 0 0 32px;}

#flow .flow-list.list02 .num,
#flow .flow-list.list03 .num {
  margin: 0 0 5px;
}
#flow .flow-list.list02 li:nth-child(3) .num img ,
#flow .flow-list.list03 li:nth-child(3) .num img {margin-top: -11px;margin-bottom: 9px;}
#flow .flow-list.list02 li:nth-child(4) .img,
#flow .flow-list.list03 li:nth-child(4) .img{
margin-top: 18px;
}
#flow .flow-list li .img{}
#flow .flow-list li .txt {
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.08em;
  margin-top: 30px;
}
#flow .flow-list li .txt-small {
  font-size: 17px;
  font-weight: 500;
  line-height: 1.705882;
  letter-spacing: 0.08em;
  margin: 12px 0 0;
}
#flow .step-list {
  display: flex;
  flex-direction: column;
  gap: 66px;
  margin-top: 85px;
}
#flow .step-list .list {
  position: relative;
}
#flow .step-list .list::after {
  content: "";
  position: absolute;
  top: 19px;
  right: 29px;
  width: 42px;
  height: 42px;
  border: 2px solid #fff;
  border-radius: 50%;
  pointer-events: auto;
  z-index: 1;
}
#flow .step-list li .step-ttl {
  background-color: #0034DE;
  text-align: center;
  padding: 26px 0 23px;
  position: relative;
}
#flow .step-list li .step-ttl::before,
#flow .step-list li .step-ttl::after {
  content: "";
  display: block;
  background-color: #EFEFEF;
  position: absolute;
  top: 50%;
  width: 21px;
  height: 5px;
  right: 41px;
  background: #fff;
  z-index: 10;
}
#flow .step-list li .step-ttl::after {
  transform: rotate(90deg);
  transition-duration: 0.3s;
}
#flow .step-list li .step-ttl.is-active::after {
  transform: rotate(0);
}



.step-content {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.5s ease-out, opacity 0.5s ease-out;
  background-color: #111111;
  border: 2px solid #0034DE;
  margin: 1px 0 0;
}

.jsAccordionTitle.is-active + .step-content {
  max-height: 10000px; /* 仮の最大値（想定より大きめにしておく） */
  opacity: 1;
}




#flow .step-list li .step-content.is-open {
  padding: 38px 48px 41px;
  height: auto;
  opacity: 1;
}
#flow .content01 .step-list li.list03 .step-content.is-open {
padding: 38px 48px 20px;
}
#flow .step-list li .step-content-ttl {
  font-weight: 500;
  font-size: 34px;
  letter-spacing: 0.08em;
  line-height: 1.64705;
  text-align: center;
}
#flow .step-list li .btn-wrap {
  display: flex;
  gap: 35px;
  margin-top: 29px;
}
#flow .step-list li .contact-btn02 .bottom-txt {
  font-size: 16px;
  letter-spacing: 0.03em;
  line-height: 2;
  color: #b8b8b8;
  text-align: center;
  margin: 7px 0 0;
}
#flow .step-list li .step-content-subt {
  font-weight: bold;
  font-size: 22px;
  letter-spacing: 0.03em;
  line-height: 1.54545;
  text-align: center;
  margin-top: 52px;
}
#flow .step-list li .step-content-subt.tasha {
  margin-top: 41px;
}
#flow .step-list li .step-content-subt.flets {
  margin-top: 44px;
}
#flow .step-list li .step-content-txt {
  font-size: 16px;
  letter-spacing: 0.03em;
  line-height: 1.875;
  text-align: center;
  margin-top: 17px;
}
#flow .step-list li .step-content-txt.flets {
  margin-top: 10px;
}
#flow .step-list li .step-content-txt.tasha {
  margin-top: 15px;
}
#flow .step-list li .step-content-img {
  margin-top: 52px;
  text-align: center;
}
#flow .step-list li .step-content-img.shuugou{
  margin-top: -3px;
  margin-bottom: 50px;
}
#flow .step-list li .step-content-img.flets-img01{
  margin-top: 46px;
  margin-bottom: 25px;
}
#flow .step-list li .step-content-img.flets-img03{
  margin-top: 37px;
  margin-bottom: 34px;
}
#flow .step-list li .step-content-img.tasha-img03{
  margin-top: 37px;
  margin-bottom: 34px;
}
#flow .content01 .step-list li:nth-child(4) .step-content-img {margin-top: 46px;margin-bottom: 34px;}
#flow .step-list li:nth-child(2) .step-content-img {
  margin-top: 45px;
  margin-bottom: 34px;
}
#flow .step-tabs {
  margin-top: 29px;
}
#flow .step-tabs-list {
  display: flex;
  justify-content: center;
  padding: 0 50px;
}
#flow .step-tabs-item {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5454;
  letter-spacing: 0.03em;
  padding: 25px 0 20px;
  background-color: #484848;
  color: #CBCBCB;
  text-align: center;
  width: 50%;
  position: relative;
}
#flow .step-tabs-item[aria-selected=true] {
  background: #E8E8E8;
  color: #000000;
  pointer-events: none;
}
#flow .step-tabs-item[aria-selected=true]::after {
  content: "";
  position: absolute;
  width: 34px;
  height: 21px;
  background-image: url(../images/index/active-arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  bottom: -18px;
  left: 50%;
  transform: translateX(-50%);
}
#flow .step-tabs-item[aria-selected=false] {
  transition: opacity 0.3s ease;
}
@media (any-hover: hover) {
  #flow .step-tabs-item[aria-selected=false]:hover {
    cursor: pointer;
    opacity: 0.7;
  }
}
#flow .step-tabs-contents {

}
#flow .step-tabs-content-wrap {
  opacity: 0;
  visibility: hidden;
  height: 0;
  translate: 0 20px;
  transition: opacity 0.3s ease, translate 0.3s ease;
}
#flow .step-tabs-content-wrap.js-show {
  opacity: 1;
  visibility: visible;
  height: fit-content;
  translate: 0;
}

#flow .kouji-step {
  display: flex;
  flex-direction: column;
  margin-top: 45px;
  gap: 55px;
}
#flow .kouji-step .item {
  position: relative;
  display: flex;
  gap: 37px;
  padding: 0 43px 0 49px;
}
#flow .kouji-step .item::after {
  content: "";
  position: absolute;
  width: 1000px;
  height: 1px;
  bottom: -23px;
  left: 50%;
  transform: translateX(-50%);
  background-image: url(../images/index/kouji-list-line.png);
  background-repeat: no-repeat;
  background-size: contain;
  border: none;
}
#flow .kouji-step .item .ttl {
  font-weight: bold;
  font-size: 22px;
  letter-spacing: 0.03em;
  line-height: 1.5454;
}
#flow .kouji-step .item .txt-wrap {
  flex: 1;
}
#flow .kouji-step .item .txt {
  font-size: 16px;
  letter-spacing: 0.03em;
  line-height: 2;
  margin-top: 4px;
}
#flow .kouji-step .item .txt-box {
  background: #484848;
  padding: 15px 30px;
  margin: 17px 8px 23px  0;
}
#flow .kouji-step .item .txt-box .txt01 {
  font-weight: bold;
  font-size: 18px;
  letter-spacing: 0.03em;
  line-height: 1.88;
}
#flow .kouji-step .item .txt-box ul {
  display: flex;
  gap: 20px;
}
#flow .kouji-step .item .txt-box ul .txt-box-item {
  font-size: 16px;
  letter-spacing: 0.03em;
  line-height: 2;
}
#flow .kouji-step .item .txt-box ul .txt-box-item::after {
  border: none;
}
#flow .kouji-txt {
  font-size: 14px;
  letter-spacing: 0.03em;
  line-height: 2;
  color: #b8b8b8;
  margin: 49px 48px 54px;
}
#flow .kouji-txt a {
  color: #b8b8b8;
  text-decoration: underline;
}


/* flets */
#flow .content02 .flets-contents {
  margin-top: 60px;
  width: 1100px;
  border: 1px  solid #fff;
}
#flow .content02 .flets-contents .ttl {
  background: #3b3b3b;
  padding: 19px 0;
  text-align: center;
  font-family: "Yu Gothic";
  font-weight: bold;
  font-size: 26px;
  letter-spacing: 0.03em;
  line-height: 1.6153;
}
#flow .content02 .flets-contents .content-box {
  padding: 30px 50px 34px;
}
#flow .content02 .flets-contents .content-box .txt {
  font-weight: bold;
  font-size: 16px;
  letter-spacing: 0.03em;
  line-height: 2.5;
  background: #111;
  border: 1px solid #3b3b3b;
  padding: 31px 77px 28px;
}
#flow .content02 .flets-contents .content-box .subtxt {
  font-size: 14px;
  letter-spacing: 0.03em;
  line-height: 2;
  color: #b8b8b8;
  margin-top: 16px;
}
#flow .content02 .flets-contact-box {
  display: flex;
  gap: 40px;
  margin: 50px 50px 0;
}
#flow .content02 .flets-contact-box .contact-box {
  width: 50%;
  border-radius: 35px;
  border: 1px solid #fff;
  padding: 0 0 22px;
}
#flow .content02 .flets-contact-box .contact-box .ttl{
  border-radius: 35px 35px 0px 0px;
  background: #3b3b3b;
  padding: 16px 0;
  font-weight: bold;
  font-size: 22px;
  letter-spacing: 0.03em;
  line-height: 1.9090;
  text-align: center;
}
#flow .content02 .flets-contact-box .contact-box .btn-wrap {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
#flow .content02 .flets-contact-box .contact-box .contact-btn {
  text-align: center;
}
#flow .content02 .flets-contact-box .contact-box .bottom-txt {
  font-size: 14px;
  letter-spacing: 0.03em;
  line-height: 1.7142;
  text-align: center;
  margin-top: 14px;
}
#flow .content02 .flets-other-box {
  background: #3b3b3b;
  text-align: center;
  padding: 50px 0;
  margin: 30px 51px 17px;
}
#flow .content02 .flets-other-box .ttl{
  font-weight: bold;
  font-size: 22px;
  letter-spacing: 0.03em;
  line-height: 1.5454;
  border-bottom: 1px solid #fff;
  display: inline-block;
}
#flow .content02 .flets-other-box .txt{
  font-size: 16px;
  letter-spacing: 0.03em;
  line-height: 2;
  margin-top: 19px;
}
#flow .content02 .flets-other-box .btn{
  margin-top: 25px;
}
#flow .contact-info-box{
  margin-top: 40px;
  text-align: center;
}
#flow .contact-info-box .ttl{
  font-weight: bold;
  font-size: 22px;
  letter-spacing: 0.03em;
  line-height: 1.5454;
  text-align: center;
  color: #fff;
}
#flow .contact-info-box .txt{
  font-size: 16px;
  letter-spacing: 0.03em;
  line-height: 1.875;
  text-align: center;
  margin-top: 13px;
}
#flow .contact-info-box .info-list{
  display: flex;
  gap: 10px;
  margin-top: 20px;
  justify-content: center;
}
#flow .contact-info-box .info-list .item{
  background: #3b3b3b;
  padding: 20px 27px;
  font-weight: bold;
  font-size: 16px;
  letter-spacing: 0.03em;
  line-height: 2.5;
  text-align: left;
  color: #fff;
  width: 33.333%;
}
#flow .step-list .list02 .contact-info-box .info-list.tasha .item:nth-child(1) {
  width: 37.1818%;
}
#flow .step-list .list02 .contact-info-box .info-list.tasha .item:nth-child(2),
#flow .step-list .list02 .contact-info-box .info-list.tasha .item:nth-child(3) {
  width: 30.5454%;

}
#flow .contact-info-box .info-list .item span{
  font-weight: bold;
  font-size: 14px;
  letter-spacing: 0.03em;
  line-height: 1;
  color: #111;
  background: #fff;
  padding: 1px 6px;
  text-align: center;
  border-radius: 50%;
  margin: 0 8px 0 0;
}
#flow .contact-info-box .bottom-txt{
  font-size: 14px;
  letter-spacing: 0.03em;
  line-height: 2;
  text-align: center;
  color: #b8b8b8;
  margin-top: 15px; 
}


/* attention
-------------------------------------*/
#attention {
  margin-top: 118px;
  margin-bottom: 100px;
}
#attention .attention-inner {
  width: 1200px;
  margin-inline: auto;
}
#attention .attention-en-ttl {
  width: 154px;
  margin-inline: auto;
}
#attention .attention-en-ttl img {
  width: 100%;
}
#attention .attention-item {
  display: flex;
  flex-direction: column;
  gap: 50px;
  padding: 0 50px;
  margin-top: 44px;
}
#attention .attention-item li .q-content {
  background: #3b3b3b;
  font-weight: 500;
  font-size: 26px;
  letter-spacing: 0.03em;
  line-height: 1.6153;
  color: #fff;
  padding: 20px 46px 20px;
  position: relative;
  display: flex;
  align-items: center;
  gap: 33px;
}
#attention .attention-item li .q-content::before, #attention .attention-item li .q-content::after {
  content: "";
  display: block;
  background-color: #EFEFEF;
  position: absolute;
  top: 50%;
  width: 26px;
  height: 2px;
  right: 32px;
}
#attention .attention-item li .q-content::after {
  transform: rotate(90deg);
  transition-duration: 0.3s;
}
#attention .attention-item li .q-content.is-active::before {
  opacity: 0;
}
#attention .attention-item li .q-content.is-active::after {
  transform: rotate(0);
}
#attention .attention-item .q {
  margin: -4px 0 0;
}
#attention .attention-item img {
  vertical-align: middle;
}
#attention .a-content {
  padding: 0 18px;
  line-height: 0;
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition-duration: 0.3s;
  font-size: 18px;
  letter-spacing: 0.03em;
  line-height: 1.8888;
  color: #fff;
  position: relative;
  background: #171717;
}
#attention .a-content::before {
  content: "";
  position: absolute;
  width: 19px;
  height: 31px;
/*  background-image: url(../images/index/a.svg);*/
  background-repeat: no-repeat;
  background-size: contain;
  top: 48px;
  left: 4.1%;
}
#attention .a-content a {
  color: #FFFFFF;
  text-decoration: underline;
}
#attention .a-content p {
margin: 0 0 34px;
}
#attention .a-content p:last-of-type {
  margin: 0;
}
#attention .a-content.is-open {
  padding: 41px 73px 60px;
  line-height: 1.88;
  height: auto;
  opacity: 1;
}
#attention .attention-btn {
  margin-top: 57px;
  width: 528px;
  margin-inline: auto;
}
#attention .attention-btn img {
  width: 100%;
}
#attention .attention-link-box{
  display: flex;
  align-items: center;
  gap: 153px;
  width: 1200px;
  border-radius: 61px;
  background: #1c1c1c;
  padding: 42px 0 42px 70px;
  margin-top: 92px;
}
#attention .attention-link-box .ttl {
  font-size: 22px;
  font-weight: 500;
  line-height: 1.9090;
  letter-spacing: 0.03em;
  display: flex;
  gap: 30px;
  align-items: center;
  position: relative;
}
#attention .attention-link-box .ttl span {
  font-size: 16px;
  line-height: 2.125;
  letter-spacing: 0.03em;
}
#attention .attention-link-box .ttl::after {
  content: "";
  position: absolute;
  width: 1px;
  height: 54px;
  background-color: #FFFFFF;
  right: -64px;
  top: 50%;
  transform: translateY(-50%);
}
#attention .attention-link-box .link-box {
  display: flex;
  gap: 15px;
  align-items: center;
}
#attention .attention-link-box .link {
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.03em;
  text-decoration: underline;
  color: #FFFFFF;
}
#attention .attention-link-box .txt {
  border: 1px solid #707070;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.03em;
  padding: 2px 6px;
}
#contact .attention-txt{
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.03em;
  /* margin-top: 103px; */
  text-align: center;
  padding: 0 0 15px 0;
}

/* contact02
-------------------------------------*/
#contact.contact02 {
  padding: 20px 0 136px;
}
}

/* ========================================
   @media screen and (min-width:768px) and ( max-width:1280px)
======================================== */
@media screen and (min-width:768px) and ( max-width:1280px) {
#mv {
  margin-top: -6vw;
}
}
/* ========================================
   @media screen and (min-width:768px) and ( max-width:1470px)
======================================== */
@media screen and (min-width:768px) and ( max-width:1470px) {
/* about
-------------------------------------*/
#about {
  background-image: url(../images/index/about-bg.png);
  background-repeat: no-repeat;
  background-size: auto;
  padding: 3.401vw 0 4.558vw;
}
#about .about-inner {
  width: 97.279vw;
  margin-inline: auto;
}
#about .about-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 1.701vw;
}
#about .about-list li {
  background-image: url(../images/index/about-list-bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 2.041vw 1.381vw 1.633vw;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
}
#about .about-list li:not(:first-child) {
  padding: 2.517vw 1.381vw 1.633vw;
}
#about .about-list li .ttl {
  font-size: clamp(1.5rem, 1.226rem + 0.57vw, 1.75rem);
  line-height: 1.4285;
  letter-spacing: 0.06em;
  text-align: center;
  position: relative;
}
#about .about-list li .ttl .small {
  font-size: clamp(1rem, 0.726rem + 0.57vw, 1.25rem);
  line-height: 1.4;
  letter-spacing: 0.06em;
  display: block;
}
#about .about-list li .ttl .note {
  font-size: clamp(1rem, 0.863rem + 0.28vw, 1.125rem);
  line-height: 2.5555;
  letter-spacing: 0.06em;
  position: relative;
  /* top: 3vw; */
  /* right: 5vw; */
  bottom: 0;
  right: 0;
}
#about .about-list li .img {
  margin-top: 1.02vw;
}
#about .about-list li .img img {
  width: 100%;
}
#about .txt {
  font-size: clamp(0.75rem, 0.613rem + 0.28vw, 0.875rem);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.03em;
  margin-top: 2.449vw;
  padding: 0 11.224vw;
  color: #B8B8B8;
}
}

/* ========================================
   @media screen and (min-width:768px) and ( max-width:1880px)
======================================== */
@media screen and (min-width:768px) and (max-width:1880px) {
/* info
-------------------------------------*/
#info {
  background-image: url(../images/index/info-bg.png);
  background-repeat: no-repeat;
  background-size: contain;
  padding: 3.138vw 0 6.383vw;
  background-position: top -10px center;
}
#info .info-inner {
  width: 75.191vw;
  margin-inline: auto;
  position: relative;
}
#info .info-en-bg {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 52.66vw;
}
#info .info-en-bg img {
  width: 100%;
}
#info .info-img {
  width: 32.713vw;
  margin-inline: auto;
  padding: 11.223vw 0 0;
}
#info .info-img img {
  width: 100%;
}
#info .info-ttl {
  font-size: clamp(1.063rem, 0.588rem + 0.99vw, 1.75rem);
  line-height: 1.7142;
  letter-spacing: 0.08em;
  text-align: center;
  position: relative;
  margin-top: 6.17vw;
}
#info .info-ttl::before, #info .info-ttl::after {
  content: "";
  position: absolute;
  width: 2.713vw;
  height: 9.202vw;
  bottom: -1.117vw;
  background-size: contain;
}
#info .info-ttl::before {
  background-image: url(../images/index/info-ttlbg-l.svg);
  left: 0;
}
#info .info-ttl::after {
  background-image: url(../images/index/info-ttlbg-r.svg);
  right: 0;
}
#info .info-txt {
  font-size: clamp(0.938rem, 0.808rem + 0.27vw, 1.125rem);
  line-height: 1.8888;
  letter-spacing: 0.03em;
  text-align: center;
  margin-top: 2.34vw;
}
#info .info-txt a {
  color: #fff;
  text-decoration: underline;
}

}

/* ========================================
   @media screen and (min-width:768px) and ( max-width:1240px)
======================================== */
@media screen and (min-width:768px) and (max-width:1240px) {
 /* contact
-------------------------------------*/
#contact {
  background-image: url(../images/index/contact-bg.png);
  background-repeat: no-repeat;
  background-size: auto;
  background-position: bottom center;
  padding: 0 0 10.968vw;
}
#contact .contact-inner {
  width: 99.774vw;
  margin-inline: auto;
}
#contact .contact-ttl {
  width: 27.984vw;
  margin-inline: auto;
}
#contact .contact-ttl img {
  width: 100%;
}
#contact .contact-btn-wrap {
  display: flex;
  gap: 2.742vw;
  padding: 0 4.032vw;
  margin-top: 4.516vw;
}
#contact .contact-btn01 {
  position: relative;
  z-index: 2;
}
#contact .contact-btn02 {
  position: relative;
  z-index: 2;
}
#contact .contact-btn .ttl {
  font-size: clamp(1.25rem, 0.843rem + 0.85vw, 1.5rem);
  font-weight: 700;
  line-height: 1.6666;
  letter-spacing: 0.06em;
  text-align: center;
}
#contact .contact-btn::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 10.403vw;
  bottom: 12%;
  left: 50%;
  background-image: url(../images/index/contact-btn-shadow.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transform: translateX(-50%);
  z-index: 1;
}
#contact .contact-btn .btn {
  margin: 0.968vw 0 0;
  position: relative;
  z-index: 3;
}
#contact .contact-btn .btn img {
  width: 100%;
}
#contact .contact-btn02 .bottom-txt .txt {
  font-size: clamp(0.875rem, 0.672rem + 0.42vw, 1rem);
  line-height: 2;
  letter-spacing: 0.03em;
  text-align: center;
  margin: 0.968vw 0 0;
}
#contact .contact-btn02 .bottom-txt .link-box {
  display: flex;
  gap: 1.613vw;
  justify-content: center;
  margin: 0.161vw 0 0;
}
#contact .contact-btn02 .bottom-txt .link-box a {
  font-size: clamp(0.875rem, 0.672rem + 0.42vw, 1rem);
  line-height: 2.2857;
  letter-spacing: 0.03em;
  color: #FFFFFF;
  text-decoration: underline;
}
#contact .contact-tel-box {
  background-color: #1A1A1A;
  padding: 2.016vw 9.758vw 1.935vw;
  display: flex;
  gap: 4.194vw;
  position: relative;
  margin-top: 4.113vw;
  align-items: center;
}
#contact .contact-tel-box .txt-wrap {
  display: flex;
  flex-direction: column;
  gap: 0.806vw;
  color: #FFFFFF;
}
#contact .contact-tel-box .txt-wrap .ttl {
  font-size: clamp(1.125rem, 0.515rem + 1.27vw, 1.5rem);
  line-height: 1.6666;
  letter-spacing: 0.07em;
}
#contact .contact-tel-box .txt-wrap .txt {
  background-color: #242424;
  border: 1px solid #707070;
  font-size: clamp(1rem, 0.898rem + 0.21vw, 1.063rem);
  line-height: 1;
  letter-spacing: 0.07em;
  padding: 0.806vw 0;
  text-align: center;
}
#contact .contact-tel-box .tel-number {
  width: 37.177vw;
  margin: 1.129vw 0 0;
}
#contact .contact-tel-box .tel-number img {
  width: 100%;
}
#contact .contact-tel-box .deco {
  position: absolute;
  bottom: 0;
  right: 3.79vw;
  width: 10.161vw;
}
#contact .contact-tel-box .deco img {
  width: 100%;
}
}


/* ========================================
   @media screen and (min-width:768px) and ( max-width:1919px)
======================================== */
@media screen and (min-width:768px) and (max-width:1919px) {
/* worries
-------------------------------------*/
#worries {
  background: url(../images/index/worries-bg01.png);
  background-repeat: no-repeat;
  background-size: contain;
  padding: 4.169vw 0 10.631vw;
  background-position: bottom center;
  position: relative;
  z-index: 1;
}
#worries::after {
  content: "";
  position: absolute;
  width: 7.191vw;
  height: 8.546vw;
  bottom: -1.668vw;
  left: 50%;
  background-image: url(../images/index/worries-arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  transform: translateX(-50%);
  z-index: 2;
}
#worries .worries-inner {
  width: 52.11vw;
  margin-inline: auto;
  position: relative;
}
#worries .worries-ttl {
  font-size: clamp(1.25rem, 0.708rem + 1.13vw, 2.063rem);
  font-weight: 500;
  line-height: 1.3636;
  letter-spacing: 0.12em;
  padding: 0 0.417vw;
}
#worries .worries-img {
  width: 100%;
  position: relative;
  z-index: 1;
}
#worries .worries-en-deco {
  position: absolute;
  top: 0.521vw;
  right: -5.003vw;
  width: 21.782vw;
  z-index: 2;
}
#worries .worries-en-deco img {
  width: 100%;
}
#worries .worries-list {
  display: flex;
  flex-direction: column;
  margin-top: 6.618vw;
  padding: 0 2.137vw;
  gap: 3.596vw;
  position: relative;
}
#worries .worries-list li {
  position: relative;
  z-index: 11;
}
#worries .worries-list li::before {
  content: "";
  position: absolute;
  width: 3.283vw;
  height: 3.179vw;
  top: -32%;
  left: -6%;
  background-image: url(../images/index/check-icon.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
#worries .worries-list li::after {
  content: "";
  position: absolute;
  width: 42.053vw;
  height: 2.449vw;
  bottom: -64%;
  left: -35%;
  background: url(../images/index/worries-list-deco.png);
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.6;
  z-index: 1;
}
#worries .worries-list li:nth-child(2) {
  margin: 0 0 0 3.544vw;
}
#worries .worries-list li .ttl {
  font-size: clamp(1.25rem, 0.916rem + 0.7vw, 1.75rem);
  line-height: 1.6428;
  letter-spacing: 0.08em;
}
#worries .worries-list li .txt {
  font-size: clamp(0.938rem, 0.896rem + 0.09vw, 1rem);
  font-weight: 400;
  line-height: 1.875;
  letter-spacing: 0.06em;
}
}

/* ========================================
   @media screen and (min-width:768px) and ( max-width:1919px)
======================================== */
@media screen and (min-width:768px) and (max-width:1919px) {
  /* improve
-------------------------------------*/
#improve {
  background: url(../images/index/improve-bg-top.png), url(../images/index/improve-bg-bottom.png);
  background-repeat: no-repeat, no-repeat;
  background-size: contain, contain;
  background-position: top center, bottom 50px center;
  margin-top: -17.301vw;
  padding: 21.132vw 0 0;
}

.edge #improve {
  padding: 20vw 0 0 !important; /* Edgeだけ適用される */
}

.mac #improve {
  padding: 20vw 0 0 !important; /* Edgeだけ適用される */
}

#improve .improve-ttl {
  width: 36.321vw;
  margin: 0 0 0 31.423vw;
}
#improve .improve-ttl img {
  width: 100%;
}
#improve .improve-subt {
  font-size: clamp(1.125rem, 0.791rem + 0.7vw, 1.625rem);
  line-height: 1.6153;
  letter-spacing: 0.08em;
  text-align: center;
  margin-top: 1.511vw;
}
#improve .improve-photo {
  margin-top: 4.898vw;
}
#improve .improve-inner {
  width: 57.322vw;
  margin-inline: auto;
}
#improve .improve-img {
  width: 40.021vw;
  margin-inline: auto;
  margin-top: -7.243vw;
}
#improve .improve-img img {
  width: 100%;
}
#improve .improve-lead {
  font-size: clamp(0.938rem, 0.812rem + 0.26vw, 1.125rem);
  line-height: 1.8888;
  letter-spacing: 0.03em;
  margin: 1.72vw 10.37vw 0 10.162vw;
}
#improve .improve-txt {
  font-size: clamp(0.75rem, 0.667rem + 0.17vw, 0.875rem);
  line-height: 2;
  letter-spacing: 0.03em;
  padding-top: 2.553vw;
  color: #B8B8B8;
}
}

/* ========================================
   @media screen and (min-width:768px) and ( max-width:1480px)
======================================== */
@media screen and (min-width:768px) and (max-width:1480px) {
/* reason
-------------------------------------*/
#reason {margin: 7.838vw 0 0;position: relative;z-index: 10;}
#reason .reason-inner {
    width: 97.297vw;
    margin-inline: auto;
    background: #0C0C0C;
    position: relative;
    z-index: 10;
  }
  #reason .reason-ttl-box {
    background-image: url(../images/index/reason-ttl-bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    padding: 2.568vw 0 0.338vw;
    position: relative;
    z-index: 2;
  }
  #reason .reason-ttl-box::after {
    content: "";
    position: absolute;
    width: 101.486vw;
    height: 20.811vw;
    bottom: -49%;
    left: 50%;
    transform: translateX(-50%);
    background-image: url(../images/index/reason-ttl-box-shadow.png);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 1;
  }
  #reason .reason-en-ttl {
    width: 7.297vw;
    margin-inline: auto;
    top: -3.649vw;
    position: relative;
  }
  #reason .reason-en-ttl img {
    width: 100%;
  }
  #reason .reason-ttl {
position: relative;
z-index: 3;
  }
  #reason .reason-ttl span {
    font-size: clamp(1.125rem, 0.181rem + 1.97vw, 2rem);
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.04em;
    display: block;
    text-align: center;
  }
  #reason .reason-ttl .img {
    width: 55.608vw;
    margin-inline: auto;
    margin: -0.946vw 0 0 20.608vw;
  }
  #reason .reason-ttl .img img {
    width: 100%;
  }
  #reason .reason-list {
    display: flex;
    flex-direction: column;
    margin-top: 6.959vw;
    gap: 5.878vw;
  }
  #reason .reason-item {
    position: relative;
    padding: 0 0 8.986vw;
  }
  #reason .reason-item .inner {
    width: 86.081vw;
    margin-inline: auto;
  }
  #reason .reason-item:not(:last-child)::after {
    content: "";
    position: absolute;
    width: 90.135vw;
    height: 5vw;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    background-image: url(../images/index/reason-item-deco.png);
    background-repeat: no-repeat;
    background-size: contain;
  }
  #reason .reason-item .ttl-box {
    display: flex;
    gap: 1.284vw;
    margin: 0 0 0 4.932vw;
  }
  #reason .reason-item .ttl-num {
    margin: -2.973vw 0 0;
  }
  #reason .reason-item .ttl-num img {
  }
  #reason .reason-item .ttl {
    font-size: clamp(1.375rem, 0.566rem + 1.69vw, 2.125rem);
    font-weight: 500;
    line-height: 1.647;
    letter-spacing: 0.08em;
  }
  #reason .reason-item.item01 .point-box {
    display: flex;
    margin: 3.311vw 0 0;
    gap: 0.405vw;
  }
  #reason .reason-item.item01 .point-box .point01 {
    width: 37.297vw;
    margin: 2.23vw 0 0;
  }
  #reason .reason-item.item01 .point-box .point01 img {
    width: 100%;
  }
  #reason .reason-item.item01 .point-box .point-wrap {
    display: flex;
    gap: 2.297vw;
  }
  #reason .reason-item.item01 .point-box .point02,
  #reason .reason-item.item01 .point-box .point03 {
    width: 50%;
  }
  #reason .reason-item.item01 .point-box .point02 img,
  #reason .reason-item.item01 .point-box .point03 img {
    width: 100%;
  }
  #reason .reason-item .item01 .point-box .point .img img {
    width: 100%;
  }
  #reason .reason-item.item01 .point-box .point .ttl {
    font-size: clamp(0.75rem, 0.548rem + 0.42vw, 0.938rem);
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.02em;
    color: #E5E5E5;
    background-color: #343434;
    border-radius: 1.622vw;
    padding: 0.811vw 0px;
    margin-top: 0.676vw;
    text-align: center;
  }
  #reason .reason-item.item01 .point-box .point .txt {
    font-size: clamp(0.75rem, 0.548rem + 0.42vw, 0.938rem);
    font-weight: 500;
    line-height: 1.5625;
    letter-spacing: 0.06em;
    text-align: center;
    margin-top: 0.676vw;
  }
  #reason .reason-item .sub-txt {
    font-size: clamp(0.75rem, 0.615rem + 0.28vw, 0.875rem);
    line-height: 2;
    letter-spacing: 0.03em;
    color: #B8B8B8;
    padding: 0 7.297vw;
    margin-top: 3.176vw;
  }
  #reason .reason-item .reason-txt {
    font-size: clamp(0.938rem, 0.87rem + 0.14vw, 1rem);
    line-height: 2.125;
    letter-spacing: 0.03em;
    padding: 0 6.757vw;
    margin-top: 1.486vw;
  }
  
  /* item02 */
  #reason .reason-item.item02 .ttl-box {
gap: 0.676vw;
}
  #reason .item02 .point-box {
    background-image: url(../images/index/reason02-bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    margin-top: 0.811vw;
    width: 74.324vw;
    margin-inline: auto;
  }
  #reason .item02 .head-box {
    padding: 2.297vw 0 0;
  }
  #reason .item02 .head-box .txt {
    font-size: clamp(0.875rem, 0.471rem + 0.84vw, 1.25rem);
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.08em;
    text-align: center;
  }
  #reason .item02 .head-box .txt .note {
    font-size: clamp(0.75rem, 0.615rem + 0.28vw, 0.875rem);
    font-weight: 500;
    line-height: 2.2857;
    letter-spacing: 0.08em;
  }
  #reason .item02 .head-box .head {
    width: 58.851vw;
    margin: -0.676vw 0 0 7.568vw;
  }
  #reason .item02 .head-box .head img {
    width: 100%;
  }
  #reason .item02 .point-item-box {
    background-color: #0C0C0C;
    width: 67.568vw;
    margin-inline: auto;
    padding: 1.824vw 1.905vw 3.716vw;
    margin-top: -1.081vw;
  }
  #reason .item02 .point-item-box .ttl {
    font-size: clamp(1.125rem, 0.451rem + 1.4vw, 1.75rem);
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.1em;
    text-align: center;
    position: relative;
  }
  #reason .item02 .point-item-box .ttl span {
    font-size: clamp(0.875rem, 0.74rem + 0.28vw, 1rem);
    font-weight: 500;
    line-height: 2.25;
    letter-spacing: 0.11em;
    display: block;
    margin: -0.338vw 0 0;
  }
  #reason .item02 .point-item-box .ttl::after {
    content: "";
    position: absolute;
    width: 13.514vw;
    height: 0.878vw;
    bottom: -30%;
    left: 50%;
    transform: translateX(-50%);
    background: url(../images/index/reason02-point-deco.png);
    background-repeat: no-repeat;
    background-size: contain;
    opacity: 0.6;
  }
  #reason .item02 .point-item {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 2.703vw;
    gap: 2.5vw 3.649vw;
  }
  #reason .item02 .point-item li {
    position: relative;
  }
  #reason .item02 .point-item li:nth-child(3) {
    margin: 0 0 0 0.541vw;
  }
  #reason .item02 .point-item li:nth-child(5),
  #reason .item02 .point-item li:nth-child(6) {
    margin: 1.419vw 0 0 0;
  }
  #reason .item02 .point-item li:nth-child(6) {
    margin: 1.419vw 0 0 0.541vw;
  }
  #reason .item02 .point-item li:not(:nth-child(3n))::after {
    content: "";
    position: absolute;
    width: 0.068vw;
    height: 15.541vw;
    top: 2.432vw;
    right: -1.216vw;
    background-color: #3D3D3D;
  }
  #reason .item02 .point-item li:nth-child(2)::after,
  #reason .item02 .point-item li:nth-child(5)::after {
    top: 2.297vw;
    right: -2.027vw;
  }
  #reason .item02 .point-item li:nth-child(-n + 3)::before {
    content: "";
    position: absolute;
    width: 16.959vw;
    height: 0.068vw;
    bottom: -1.892vw;
    left: 50%;
    transform: translateX(-50%);
    background-color: #3D3D3D;
  }
  #reason .item02 .point-box {
    background-image: url(../images/index/reason02-bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    padding: 0 0 3.311vw;
  }
  #reason .point-item-box .txt-box {
    border: 1px solid #707070;
    padding: 1.486vw 5.811vw 1.216vw;
    display: flex;
    gap: 4.743vw;
    margin-top: 3.649vw;
    width: 65.811vw;
    margin-inline: auto;
  }
  #reason .point-item-box .txt-box li:nth-child(2) .head::before {
    background: linear-gradient(#00b7ff 0%, #773efb 100%);
  }
  #reason .point-item-box .txt-box li .head {
    font-size: clamp(0.875rem, 0.74rem + 0.28vw, 1rem);
    font-weight: 500;
    line-height: 2.125;
    letter-spacing: 0.04em;
    position: relative;
  }
  #reason .point-item-box .txt-box li .head::before {
    position: absolute;
    content: "";
    width: 1.486vw;
    height: 1.486vw;
    background-color: #747474;
    top: 50%;
    left: -2.568vw;
    transform: translateY(-50%);
  }
  #reason .point-item-box .txt-box li .head .note {
    font-size: 0.946vw;
    line-height: 2.4285;
    letter-spacing: 0.11em;
    margin: 0.135vw 0 0 0.135vw;
  }
  #reason .point-item-box .txt-box li .subt {
    font-size: clamp(0.75rem, 0.683rem + 0.14vw, 0.813rem);
    line-height: 1;
    letter-spacing: 0.01em;
    margin: -0.135vw 0 0 -0.608vw;
  }
  #reason .point-item-box .txt-box li .txt {
    font-size: clamp(0.875rem, 0.74rem + 0.28vw, 1rem);
    font-weight: 500;
    line-height: 2.125;
    letter-spacing: 0.11em;
    margin: 0.338vw 0 0 -0.135vw;
  }
  #reason .point-item-box .txt-box .point-item {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  #reason .reason-item.item02 .reason-txt {
  margin-top: 2.838vw;
  padding: 0 14.865vw;
  }
  #reason .reason-item.item02 .sub-txt {
margin-top: 1.959vw;
padding: 0 14.865vw;
}
#reason .reason-item.item02 .sub-txt a {
  color: #B8B8B8;
  text-decoration: underline;
}

/* item03 */
#reason .item03 {
  margin-top: -1.757vw;
}
#reason .reason-item.item03 {
  padding: 0 0 5.473vw;
}
#reason .item03-img {
  width: 81.081vw;
  margin-inline: auto;
  margin-top: 0.338vw;
}
#reason .item03-img img {
  width: 100%;
}
#reason .reason-item.item03 .ttl-box {
gap: 0.676vw;
}
#reason .reason-item.item03 .reason-txt {
margin-top: 3.108vw;
}
#reason .reason-item.item03 .reason-txt a {
  color: #B8B8B8;
  text-decoration: underline;
}
}
/* ========================================
   @media screen and (min-width:768px) and ( max-width:1450px)
======================================== */
@media screen and (min-width:768px) and (max-width:1450px) {
/* offer
-------------------------------------*/
#offer {
  background-image: url(../images/index/offer-bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 21.103vw 0 5.241vw;
  background-position: top center;
  position: relative;
  z-index: 9;
  margin-top: -14.414vw;
}
#offer .offer-inner {
  width: 97.172vw;
  margin-inline: auto;
  position: relative;
}
#offer .offer-ttl {
  text-align: center;
  padding: 5.448vw 0 0;
}
#offer .offer-ttl span {
  font-size: clamp(1.125rem, 0.562rem + 1.17vw, 1.625rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.09em;
}
#offer .offer-ttl .img {
  width: 46vw;
  margin-inline: auto;
  margin-top: -0.759vw;
}
#offer .offer-ttl .img img {
  width: 100%;
}
#offer .offer-en-ttl {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  margin-inline: auto;
}
#offer .offer-en-ttl img {
  width: 100%;
}
#offer .offer-img {
  width: 92vw;
  margin-inline: auto;
  margin-top: -6.69vw;
  position: relative;
  margin-left: 2.276vw;
}
#offer .offer-img img {
  width: 100%;
}
#offer .offer-txt {
  font-size: clamp(0.75rem, 0.609rem + 0.29vw, 0.875rem);
  line-height: 2;
  letter-spacing: 0.03em;
  margin-top: 0.345vw;
  padding: 0 7.241vw;
  color: #B8B8B8;
}
}
/* ========================================
   @media screen and (min-width:768px) and ( max-width:1480px)
======================================== */
@media screen and (min-width:768px) and (max-width:1480px) {
/* price
-------------------------------------*/
#price {
  margin-top: 5.743vw;
}
#price .price-inner {
  width: 97.297vw;
  margin-inline: auto;
}
#price .price-en-ttl {
  width: 5.338vw;
  margin-inline: auto;
}
#price .price-en-ttl::after {
  bottom: -1.622vw;
}
#price .price-en-ttl img {
  width: 100%;
}
#price .price-ttl {
  margin: 1.892vw 0 0 0.473vw;
}
#price .price-tabs {
  margin-top: 2.568vw;
}
#price .price-tabs-list {
  display: flex;
  justify-content: center;
  width: 81.081vw;
  margin-inline: auto;
  border-right: 1px solid #707070;
}
#price .price-tabs-item {
  font-size: clamp(0.75rem, 0.211rem + 1.12vw, 1.25rem);
  line-height: 1;
  letter-spacing: 0.05em;
  padding: 3.365vw 1.446vw 1.554vw;
  background-color: #000000;
  border-top: 1px solid #707070;
  color: #828282;
  text-align: center;
  width: 33.3%;
}
#price .price-tabs-item span {
  display: block;
  margin: 0.676vw 0 0;
}
#price .price-tabs-item[aria-selected=true] {
  background: #111111;
  color: #fff;
  pointer-events: none;
}
#price .price-tabs-item[aria-selected=false] {
  transition: opacity 0.3s ease;
}
@media (any-hover: hover) {
  #price .price-tabs-item[aria-selected=false]:hover {
    cursor: pointer;
    opacity: 0.7;
  }
}
#price .price-tabs-contents {
  background-color: #111111;
  padding: 6.149vw 11.486vw 6.892vw;
}
#price .price-tabs-content-wrap {
  opacity: 0;
  visibility: hidden;
  height: 0;
  translate: 0 1.351vw;
  transition: opacity 0.3s ease, translate 0.3s ease;
}
#price .price-tabs-content-wrap.js-show {
  opacity: 1;
  visibility: visible;
  height: fit-content;
  translate: 0;
}
#price .price-tabs-content .basic table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #707070;
}
#price .price-tabs-content .basic table tr {
  font-size: clamp(1rem, 0.596rem + 0.84vw, 1.375rem);
  letter-spacing: 0.03em;
  color: #fff;
  border-top: 1px solid #707070;
}
#price .price-tabs-content .basic th {
  line-height: 1;
  border-right: 1px solid #707070;
  width: 31.8181%;
  background-color: #212121;
  padding: 2.027vw 2.568vw;
  text-align: left;
}
#price .price-tabs-content .basic td {
  line-height: 1.90909;
  padding: 1.351vw 2.905vw;
}
#price .price-tabs-content .basic tr:nth-child(3) th {
   vertical-align: middle;
}
#price .price-tabs-content .basic tr:nth-child(3) td {
padding: 2.568vw 2.905vw;
}
#price .price-tabs-content.content02 .basic tr:nth-child(2) th,
#price .price-tabs-content.content03 .basic tr:nth-child(2) th {
   vertical-align: middle;
}
#price .price-tabs-content.content02 .basic tr:nth-child(4) th,
#price .price-tabs-content.content03 .basic tr:nth-child(4) th  {
   vertical-align: middle;
}
#price .price-tabs-content.content02 .basic tr:nth-child(2) td,
#price .price-tabs-content.content03 .basic tr:nth-child(2) td {
padding: 2.568vw 2.905vw;
}
#price .price-tabs-content.content02 .basic tr:nth-child(4) td,
#price .price-tabs-content.content03 .basic tr:nth-child(4) td  {
padding: 2.568vw 2.905vw;
}
#price .price-tabs-content .price-banner {
  position: relative;
  text-align: center;
  margin-top: 3.243vw;
}
#price .price-tabs-content .price-banner .note {
  position: absolute;
  top: -0.405vw;
  right: 0;
  font-size: clamp(0.75rem, 0.076rem + 1.4vw, 1.375rem);
  letter-spacing: 0.03em;
  line-height: 1.90909;
}
#price .price-tabs-content .price-txt {
  font-size: clamp(0.75rem, 0.615rem + 0.28vw, 0.875rem);
  letter-spacing: 0.03em;
  line-height: 2;
  color: #b8b8b8;
  margin-top: 1.622vw;
  padding: 0 3.378vw;
}
#price .price-tabs-content .price-txt a {
  color: #b8b8b8;
  text-decoration: underline;
}
#price .price-tabs-content.content02 .price-txt,
#price .price-tabs-content.content03 .price-txt  {
margin-top: 2.838vw;
}
#price .option {
  margin-top: 3.311vw;
  width: 90.324vw;
  margin-inline: auto;
}
#price .option .ttl {
  font-weight: 500;
  font-size: clamp(1.625rem, 1.086rem + 1.12vw, 2.125rem);
  letter-spacing: 0.08em;
  line-height: 1.64705;
  text-align: center;
  color: #fff;
}
#price .option .option-price {
  border: 1px solid #707070;
  margin-top: 2.095vw;
  border-collapse: collapse;
}
#price .option .option-price tr {
  font-size: clamp(1.125rem, 0.855rem + 0.56vw, 1.375rem);
  letter-spacing: 0.03em;
  text-align: left;
  color: #fff;
}
#price .option .option-price tr:first-child {
  border-bottom: 1px solid #707070;
}
#price .option .option-price .ttl {
  background-color: #212121;
  padding: 10px 2.568vw;
  text-align: left;
  font-size:clamp(1.125rem, 0.855rem + 0.56vw, 1.375rem);
  letter-spacing: 0.03em;
  width: 31.8181%;
  border-right: 1px solid #707070;
  line-height: 1.9090;
}
#price .option .option-price .price {
  width: 14.0909%;
  border-right: 1px solid #707070;
  padding: 0 1vw;
  font-size: clamp(1rem, 0.596rem + 0.84vw, 1.375rem);
}
#price .option .option-price .txt {
  flex: 1;
  padding: 1.351vw 2.432vw 1.351vw 1.892vw;
  line-height: 1.9090;
  font-size: clamp(1rem, 0.596rem + 0.84vw, 1.375rem);
}
/* #price .option .option-price tr:nth-child(2) .ttl {
  vertical-align: middle;
}
#price .option .option-price tr:nth-child(2) .price {
  vertical-align: middle;
} */
#price .option .option-price tr .ttl,
#price .option .option-price tr .price,
#price .option .option-price tr .txt {
  vertical-align: middle;
}
#price .option .option-txt {
  font-size: clamp(0.938rem, 0.735rem + 0.42vw, 1.125rem);
  letter-spacing: 0.03em;
  line-height: 1.8888;
  margin-top: 1.554vw;
}
#price .option .option-txt a {
  color: #fff;
  text-decoration: underline;
}

}
/* ========================================
   @media screen and (min-width:768px) and ( max-width:1480px)
======================================== */
@media screen and (min-width:768px) and (max-width:1480px) {
/* flow
-------------------------------------*/
#flow {
  margin-top: 12.162vw;
}
#flow .flow-inner {
  width: 97.297vw;
  margin-inline: auto;
}
#flow .flow-en-ttl {
  width: 5.203vw;
  margin-inline: auto;
}
#flow .flow-en-ttl img {
  width: 100%;
}
#flow .flow-tabs {
  margin-top: 2.568vw;
}
#flow .flow-tabs-list {
  display: flex;
  justify-content: center;
  width: 81.081vw;
  margin-inline: auto;
  border-right: 1px solid #707070;
}
#flow .flow-tabs-item {
  font-size: clamp(0.75rem, 0.211rem + 1.12vw, 1.25rem);
  line-height: 1;
  letter-spacing: 0.05em;
  padding: 3.365vw 1.446vw 1.554vw;
  background-color: #000000;
  border-top: 1px solid #707070;
  color: #828282;
  text-align: center;
  width: 33.3%;
}
#flow .flow-tabs-item span {
  display: block;
  margin: 0.676vw 0 0;
}
#flow .flow-tabs-item[aria-selected=true] {
  background: #111111;
  color: #fff;
  pointer-events: none;
}
#flow .flow-tabs-item[aria-selected=false] {
  transition: opacity 0.3s ease;
}
@media (any-hover: hover) {
  #flow .flow-tabs-item[aria-selected=false]:hover {
    cursor: pointer;
    opacity: 0.7;
  }
}
#flow .flow-tabs-contents {
  background-color: #111111;
  padding: 5.135vw 8.108vw 8.446vw;
}
#flow .flow-tabs-content-wrap {
  opacity: 0;
  visibility: hidden;
  height: 0;
  translate: 0 1.351vw;
  transition: opacity 0.3s ease, translate 0.3s ease;
}
#flow .flow-tabs-content-wrap.js-show {
  opacity: 1;
  visibility: visible;
  height: fit-content;
  translate: 0;
}
#flow .flow-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0 2.568vw;
}
#flow .flow-list.list02,
#flow .flow-list.list03 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0 8.108vw;
}
#flow .flow-list li {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  background-color: #404040;
  padding: 1.757vw 0 0.878vw;
  text-align: center;
  position: relative;
}
#flow .flow-list.list02 li:nth-child(3),
#flow .flow-list.list03 li:nth-child(3) {
  background: #1f1f1f;
  border: 1px dotted #707070;
}
#flow .flow-list li:not(:last-child)::after {
  content: "";
  position: absolute;
  width: 0.743vw;
  height: 1.554vw;
  top: 52%;
  right: -1.689vw;
  background-image: url(../images/index/step-arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  transform: translateY(-50%);
}
#flow .flow-list li:nth-child(1) .img {margin: 0.676vw 0 0;}
#flow .flow-list li:nth-child(2) .img {margin: 1.284vw 0 0;}
#flow .flow-list li:nth-child(3) .img {margin: 0.676vw 0 0;}
#flow .flow-list li:nth-child(5) .img {margin: 0.676vw 0 0;}
#flow .flow-list li .num {margin: 0 0 2.162vw;}

#flow .flow-list.list02 .num,
#flow .flow-list.list03 .num {
  margin: 0 0 0.338vw;
}
#flow .flow-list.list02 li:nth-child(3) .num img ,
#flow .flow-list.list03 li:nth-child(3) .num img {margin-top: -0.743vw;margin-bottom: 0.608vw;}
#flow .flow-list.list02 li:nth-child(4) .img,
#flow .flow-list.list03 li:nth-child(4) .img{
margin-top: 1.216vw;
}
#flow .flow-list li .img{}
#flow .flow-list li .txt {
  font-size: clamp(0.625rem, -0.049rem + 1.4vw, 1.25rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.08em;
  margin-top: 2.027vw;
}
#flow .flow-list li .txt-small {
  font-size: clamp(0.5rem, -0.107rem + 1.26vw, 1.063rem);
  font-weight: 500;
  line-height: 1.705882;
  letter-spacing: 0.08em;
  margin: 0.811vw 0 0;
}
#flow .step-list {
  display: flex;
  flex-direction: column;
  gap: 4.459vw;
  margin-top: 5.743vw;
}
#flow .step-list .list {
  position: relative;
}
#flow .step-list .list::after {
  /* content: "";
  position: absolute;
  top: 1.189vw;
  right: 1.89vw;
  width: 2.838vw;
  height: 2.838vw;
  border: 2px solid #fff;
  border-radius: 50%;
  pointer-events: auto;
  z-index: 1; */
}
#flow .step-list li .step-ttl {
  background-color: #0034DE;
  text-align: center;
  /* padding: 1.757vw 0 1.554vw; */
  position: relative;
}
#flow .step-list li .step-ttl::before,
#flow .step-list li .step-ttl::after {
  /* content: "";
  display: block;
  background-color: #EFEFEF;
  position: absolute;
  top: 50%;
  width: 1.419vw;
  height: 0.338vw;
  right: 2.77vw;
  background: #fff;
  z-index: 10; */
}
#flow .step-list li .step-ttl::after {
  transform: rotate(90deg);
  transition-duration: 0.3s;
}
#flow .step-list li .step-ttl.is-active::after {
  transform: rotate(0);
}
#flow .step-list li .step-content {
  line-height: 0;
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition-duration: 0.3s;
  background-color: #111111;
  border: 2px solid #0034DE;
  margin: 0.068vw 0 0;
}
#flow .step-list li .step-content.is-open {
  padding: 2.568vw 3.243vw 2.77vw;
  height: auto;
  opacity: 1;
}
#flow .content01 .step-list li.list03 .step-content.is-open {
padding: 2.568vw 3.243vw 1.351vw;
}
#flow .step-list li .step-content-ttl {
  font-weight: 500;
  font-size: clamp(1.375rem, 0.566rem + 1.69vw, 2.125rem);
  letter-spacing: 0.08em;
  line-height: 1.64705;
  text-align: center;
}
#flow .step-list li .btn-wrap {
  display: flex;
  gap: 2.365vw;
  margin-top: 1.959vw;
}
#flow .step-list li .contact-btn02 .bottom-txt {
  font-size: clamp(0.875rem, 0.74rem + 0.28vw, 1rem);
  letter-spacing: 0.03em;
  line-height: 2;
  color: #b8b8b8;
  text-align: center;
  margin: 0.473vw 0 0;
}
#flow .step-list li .step-content-subt {
  font-weight: bold;
  font-size: clamp(1.125rem, 0.855rem + 0.56vw, 1.375rem);
  letter-spacing: 0.03em;
  line-height: 1.54545;
  text-align: center;
  margin-top: 3.514vw;
}
#flow .step-list li .step-content-subt.tasha {
  margin-top: 2.77vw;
}
#flow .step-list li .step-content-subt.flets {
  margin-top: 2.973vw;
}
#flow .step-list li .step-content-txt {
  font-size: clamp(0.938rem, 0.87rem + 0.14vw, 1rem);
  letter-spacing: 0.03em;
  line-height: 1.875;
  text-align: center;
  margin-top: 1.149vw;
}
#flow .step-list li .step-content-txt.flets {
  margin-top: 0.676vw;
}
#flow .step-list li .step-content-txt.tasha {
  margin-top: 1.014vw;
}
#flow .step-list li .step-content-img {
  margin-top: 3.514vw;
  text-align: center;
}
#flow .step-list li .step-content-img.shuugou{
  margin-top: -0.203vw;
  margin-bottom: 3.378vw;
}
#flow .step-list li .step-content-img.flets-img01{
  margin-top: 3.108vw;
  margin-bottom: 1.689vw;
}
#flow .step-list li .step-content-img.flets-img03{
  margin-top: 2.5vw;
  margin-bottom: 2.297vw;
}
#flow .step-list li .step-content-img.tasha-img03{
  margin-top: 2.5vw;
  margin-bottom: 2.297vw;
}
#flow .content01 .step-list li:nth-child(4) .step-content-img {margin-top: 3.108vw;margin-bottom: 2.297vw;}
#flow .step-list li:nth-child(2) .step-content-img {
  margin-top: 3.041vw;
  margin-bottom: 2.297vw;
}
#flow .step-tabs {
  margin-top: 1.959vw;
}
#flow .step-tabs-list {
  display: flex;
  justify-content: center;
  padding: 0 3.378vw;
}
#flow .step-tabs-item {
  font-size: clamp(0.75rem, 0.211rem + 1.12vw, 1.25rem);
  font-weight: 700;
  line-height: 1.5454;
  letter-spacing: 0.03em;
  padding: 1.689vw 0 1.351vw;
  background-color: #484848;
  color: #CBCBCB;
  text-align: center;
  width: 50%;
  position: relative;
}
#flow .step-tabs-item[aria-selected=true] {
  background: #E8E8E8;
  color: #000000;
  pointer-events: none;
}
#flow .step-tabs-item[aria-selected=true]::after {
  content: "";
  position: absolute;
  width: 2.297vw;
  height: 1.419vw;
  background-image: url(../images/index/active-arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  bottom: -1.216vw;
  left: 50%;
  transform: translateX(-50%);
}
#flow .step-tabs-item[aria-selected=false] {
  transition: opacity 0.3s ease;
}
@media (any-hover: hover) {
  #flow .step-tabs-item[aria-selected=false]:hover {
    cursor: pointer;
    opacity: 0.7;
  }
}
#flow .step-tabs-contents {

}
#flow .step-tabs-content-wrap {
  opacity: 0;
  visibility: hidden;
  height: 0;
  translate: 0 1.351vw;
  transition: opacity 0.3s ease, translate 0.3s ease;
}
#flow .step-tabs-content-wrap.js-show {
  opacity: 1;
  visibility: visible;
  height: fit-content;
  translate: 0;
}

#flow .kouji-step {
  display: flex;
  flex-direction: column;
  margin-top: 3.041vw;
  gap: 3.716vw;
}
#flow .kouji-step .item {
  position: relative;
  display: flex;
  gap: 2.5vw;
  padding: 0 2.905vw 0 3.311vw;
}
#flow .kouji-step .item::after {
  content: "";
  position: absolute;
  width: 67.568vw;
  height: 0.068vw;
  bottom: -1.554vw;
  left: 50%;
  transform: translateX(-50%);
  background-image: url(../images/index/kouji-list-line.png);
  background-repeat: no-repeat;
  background-size: contain;
  border: none;
}
#flow .kouji-step .item .ttl {
  font-weight: bold;
  font-size: clamp(1rem, 0.596rem + 0.84vw, 1.375rem);
  letter-spacing: 0.03em;
  line-height: 1.5454;
}
#flow .kouji-step .item .txt-wrap {
  flex: 1;
}
#flow .kouji-step .item .txt {
  font-size: clamp(0.938rem, 0.87rem + 0.14vw, 1rem);
  letter-spacing: 0.03em;
  line-height: 2;
  margin-top: 0.27vw;
}
#flow .kouji-step .item .txt-box {
  background: #484848;
  padding: 1.014vw 2.027vw;
  margin: 1.149vw 0.541vw 1.554vw  0;
}
#flow .kouji-step .item .txt-box .txt01 {
  font-weight: bold;
  font-size: clamp(1rem, 0.865rem + 0.28vw, 1.125rem);
  letter-spacing: 0.03em;
  line-height: 1.88;
}
#flow .kouji-step .item .txt-box ul {
  display: flex;
  gap: 1.351vw;
}
#flow .kouji-step .item .txt-box ul .txt-box-item {
  font-size: clamp(0.938rem, 0.87rem + 0.14vw, 1rem);
  letter-spacing: 0.03em;
  line-height: 2;
}
#flow .kouji-step .item .txt-box ul .txt-box-item::after {
  border: none;
}
#flow .kouji-txt {
  font-size: clamp(0.75rem, 0.615rem + 0.28vw, 0.875rem);
  letter-spacing: 0.03em;
  line-height: 2;
  color: #b8b8b8;
  margin: 3.311vw 3.243vw 0;
}
#flow .kouji-txt a {
  color: #b8b8b8;
  text-decoration: underline;
}


/* flets */
#flow .content02 .flets-contents {
  margin-top: 4.054vw;
  width: 74.324vw;
  border: 1px  solid #fff;
}
#flow .content02 .flets-contents .ttl {
  background: #3b3b3b;
  padding: 1.284vw 0;
  text-align: center;
  font-family: "Yu Gothic";
  font-weight: bold;
  font-size: clamp(1.125rem, 0.586rem + 1.12vw, 1.625rem);
  letter-spacing: 0.03em;
  line-height: 1.6153;
}
#flow .content02 .flets-contents .content-box {
  padding: 2.027vw 3.378vw 2.297vw;
}
#flow .content02 .flets-contents .content-box .txt {
  font-weight: bold;
  font-size: clamp(0.938rem, 0.87rem + 0.14vw, 1rem);
  letter-spacing: 0.03em;
  line-height: 2.5;
  background: #111;
  border: 1px solid #3b3b3b;
  padding: 2.095vw 5.203vw 1.892vw;
}
#flow .content02 .flets-contents .content-box .subtxt {
  font-size: clamp(0.75rem, 0.615rem + 0.28vw, 0.875rem);
  letter-spacing: 0.03em;
  line-height: 2;
  color: #b8b8b8;
  margin-top: 1.081vw;
}
#flow .content02 .flets-contact-box {
  display: flex;
  gap: 2.703vw;
  margin: 3.378vw 3.378vw 0;
}
#flow .content02 .flets-contact-box .contact-box {
  width: 50%;
  border-radius: 2.365vw;
  border: 1px solid #fff;
  padding: 0 0 1.486vw;
}
#flow .content02 .flets-contact-box .contact-box .ttl{
  border-radius: 2.365vw 2.365vw 0px 0px;
  background: #3b3b3b;
  padding: 1.081vw 0;
  font-weight: bold;
  font-size: clamp(1.125rem, 0.855rem + 0.56vw, 1.375rem);
  letter-spacing: 0.03em;
  line-height: 1.9090;
  text-align: center;
}
#flow .content02 .flets-contact-box .contact-box .btn-wrap {
  display: flex;
  flex-direction: column;
  gap: 1.351vw;
  margin: 1.486vw;
}
#flow .content02 .flets-contact-box .contact-box .contact-btn {
  text-align: center;
}
#flow .content02 .flets-contact-box .contact-box .bottom-txt {
  font-size: clamp(0.75rem, 0.615rem + 0.28vw, 0.875rem);
  letter-spacing: 0.03em;
  line-height: 1.7142;
  text-align: center;
  margin-top: 0.946vw;
}
#flow .content02 .flets-other-box {
  background: #3b3b3b;
  text-align: center;
  padding: 3.378vw 2.6vw;
  margin: 2.027vw 3.446vw 1.149vw;
}
#flow .content02 .flets-other-box .ttl{
  font-weight: bold;
  font-size: clamp(1.125rem, 0.855rem + 0.56vw, 1.375rem);
  letter-spacing: 0.03em;
  line-height: 1.5454;
  border-bottom: 1px solid #fff;
  display: inline-block;
}
#flow .content02 .flets-other-box .txt{
  font-size: clamp(0.938rem, 0.87rem + 0.14vw, 1rem);
  letter-spacing: 0.03em;
  line-height: 2;
  margin-top: 1.284vw;
}
#flow .content02 .flets-other-box .btn{
  margin-top: 1.689vw;
  margin: 1.689vw;
}
#flow .contact-info-box{
  margin-top: 2.703vw;
  text-align: center;
}
#flow .contact-info-box .ttl{
  font-weight: bold;
  font-size: clamp(1.125rem, 0.855rem + 0.56vw, 1.375rem);
  letter-spacing: 0.03em;
  line-height: 1.5454;
  text-align: center;
  color: #fff;
}
#flow .contact-info-box .txt{
  font-size: clamp(0.938rem, 0.87rem + 0.14vw, 1rem);
  letter-spacing: 0.03em;
  line-height: 1.875;
  text-align: center;
  margin-top: 0.878vw;
}
#flow .contact-info-box .info-list{
  display: flex;
  gap: 0.676vw;
  margin-top: 1.351vw;
  justify-content: center;
}
#flow .contact-info-box .info-list .item{
  background: #3b3b3b;
  padding: 1.351vw 1.824vw;
  font-weight: bold;
  font-size: clamp(0.938rem, 0.87rem + 0.14vw, 1rem);
  letter-spacing: 0.03em;
  line-height: 2.5;
  text-align: left;
  color: #fff;
  width: 33.333%;
}
#flow .step-list .list02 .contact-info-box .info-list.tasha .item:nth-child(1) {
  width: 37.1818%;
}
#flow .step-list .list02 .contact-info-box .info-list.tasha .item:nth-child(2),
#flow .step-list .list02 .contact-info-box .info-list.tasha .item:nth-child(3) {
  width: 30.5454%;

}
#flow .contact-info-box .info-list .item span{
  font-weight: bold;
  font-size: clamp(0.813rem, 0.745rem + 0.14vw, 0.875rem);
  letter-spacing: 0.03em;
  line-height: 1;
  color: #111;
  background: #fff;
  padding: 0.068vw 0.405vw;
  text-align: center;
  border-radius: 50%;
  margin: 0 0.541vw 0 0;
}
#flow .contact-info-box .bottom-txt{
  font-size: clamp(0.813rem, 0.745rem + 0.14vw, 0.875rem);
  letter-spacing: 0.03em;
  line-height: 2;
  text-align: center;
  color: #b8b8b8;
  margin-top: 1.014vw; 
}

}
/* ========================================
   @media screen and (min-width:768px) and ( max-width:1240px)
======================================== */
@media screen and (min-width:768px) and (max-width:1240px) {
/* attention
-------------------------------------*/
#attention {
  margin-top: 9.516vw;
}
#attention .attention-inner {
  width: 96.774vw;
  margin-inline: auto;
}
#attention .attention-en-ttl {
  width: 12.419vw;
  margin-inline: auto;
}
#attention .attention-en-ttl img {
  width: 100%;
}
#attention .attention-item {
  display: flex;
  flex-direction: column;
  gap: 4.032vw;
  padding: 0 4.032vw;
  margin-top: 3.548vw;
}
#attention .attention-item li .q-content {
  background: #3b3b3b;
  font-weight: 500;
  font-size: clamp(1.125rem, 0.311rem + 1.69vw, 1.625rem);
  letter-spacing: 0.03em;
  line-height: 1.6153;
  color: #fff;
  padding: 1.613vw 3.71vw 1.613vw;
  position: relative;
  display: flex;
  align-items: center;
  gap: 2.661vw;
}
#attention .attention-item li .q-content::before, #attention .attention-item li .q-content::after {
  content: "";
  display: block;
  background-color: #EFEFEF;
  position: absolute;
  top: 50%;
  width: 2.097vw;
  height: 0.161vw;
  right: 2.581vw;
}
#attention .attention-item li .q-content::after {
  transform: rotate(90deg);
  transition-duration: 0.3s;
}
#attention .attention-item li .q-content.is-active::before {
  opacity: 0;
}
#attention .attention-item li .q-content.is-active::after {
  transform: rotate(0);
}
#attention .attention-item .q {
  margin: -0.323vw 0 0;
}
#attention .attention-item img {
  vertical-align: middle;
}
#attention .a-content {
  padding: 0 1.452vw;
  line-height: 0;
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition-duration: 0.3s;
  font-size: clamp(0.938rem, 0.632rem + 0.64vw, 1.125rem);
  letter-spacing: 0.03em;
  line-height: 1.8888;
  color: #fff;
  position: relative;
  background: #171717;
}
#attention .a-content::before {
  content: "";
  position: absolute;
  width: 1.532vw;
  height: 2.5vw;
/*  background-image: url(../images/index/a.svg);*/
  background-repeat: no-repeat;
  background-size: contain;
  top: 3.871vw;
  left: 4.1%;
}
#attention .a-content a {
  color: #FFFFFF;
  text-decoration: underline;
}
#attention .a-content p {
margin: 0 0 2.742vw;
}
#attention .a-content p:last-of-type {
  margin: 0;
}
#attention .a-content.is-open {
  padding: 3.306vw 5.887vw 4.839vw;
  line-height: 1.88;
  height: auto;
  opacity: 1;
}
#attention .attention-btn {
  margin-top: 4.597vw;
  width: 42.581vw;
  margin-inline: auto;
}
#attention .attention-btn img {
  width: 100%;
}
#attention .attention-link-box{
  display: flex;
  align-items: center;
  gap: 8.339vw;
  width: 97.774vw;
  border-radius: 4.919vw;
  background: #1c1c1c;
  padding: 3.387vw 1.387vw;
  margin-top: 7.419vw;
  justify-content: center;
}
#attention .attention-link-box .ttl {
  font-size: clamp(1rem, 0.593rem + 0.85vw, 1.25rem);
  font-weight: 500;
  line-height: 1.9090;
  letter-spacing: 0.03em;
  display: flex;
  gap: 1.419vw;
  align-items: center;
  position: relative;
}
#attention .attention-link-box .ttl span {
  font-size: 1.29vw;
  line-height: 2.125;
  letter-spacing: 0.03em;
}
#attention .attention-link-box .ttl::after {
  content: "";
  position: absolute;
  width: 0.081vw;
  height: 4.355vw;
  background-color: #FFFFFF;
  right: -5.161vw;
  top: 50%;
  transform: translateY(-50%);
}
#attention .attention-link-box .link-box {
  display: flex;
  gap: 1.21vw;
  align-items: center;
}
#attention .attention-link-box .link {
  font-size: clamp(0.875rem, 0.672rem + 0.42vw, 1rem);
  line-height: 1;
  letter-spacing: 0.03em;
  text-decoration: underline;
  color: #FFFFFF;
}
#attention .attention-link-box .txt {
  border: 1px solid #707070;
  font-size: clamp(0.938rem, 0.836rem + 0.21vw, 1rem);
  font-weight: 700;
  letter-spacing: 0.03em;
  padding: 0.161vw 0.484vw;
}
#contact .attention-txt{
  font-size: clamp(0.813rem, 0.711rem + 0.21vw, 0.875rem);
  line-height: 2;
  letter-spacing: 0.03em;
  margin-top: 8.306vw;
  text-align: center;
}

}
/* ========================================
   @media screen and (min-width:768px) and ( max-width:1240px)
======================================== */
@media screen and (min-width:768px) and (max-width:1240px) {
/* contact02
-------------------------------------*/
#contact.contact02 {
  padding: 1.613vw 0 10.968vw;
}
}





/* ========================================
  @media screen and (max-width: 767px)
======================================== */
@media screen and (max-width: 767px) {
.sec-kaihei {width: 100%;margin: 2vw auto 0;text-align: center;background-color: #111111;font-size: 3.5vw;line-height: 1.6;letter-spacing: 0.25vw;padding: 3vw 0;position: relative;cursor: pointer;}
/* 矢印の初期状態 */
.sec-kaihei::after {content: '';display: inline-block;width: 5vw;height: 3vw;position: absolute;top: 4.2vw;right: 3vw;background-image: url(../images/index/sec-kaihei-arrow.svg);background-size: contain;background-repeat: no-repeat;transition: transform 0.3s ease; /* ふわっとアニメーション */}
/* クリックされたら矢印を反転 */
.sec-kaihei.active::after {
transform: rotate(180deg);
}


/* 初期状態（閉じている状態） */
.sec-kaihei-open {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.5s ease-out, opacity 0.5s ease-out;
}
/* 開いたとき */
.sec-kaihei-open.is-kaihei-open {
  max-height: 10000vw !important; /* 高さは適宜調整 */
  opacity: 1;
  overflow: visible;
}


/* mv
-------------------------------------*/
#mv {
  margin-top: 0vw;
  margin: 0 0 -0.2vw 0;
}

/* sec共通
-------------------------------------*/
.sec-en-ttl {
  position: relative;
}
.sec-en-ttl::after {
  content: "";
  position: absolute;
  width: 27px;
  height: 2px;
  background-color: #FFFFFF;
  bottom: -18px;
  left: 50%;
  transform: translateX(-50%);
}
.sec-en-ttl img {
  width: 100%;
}
.sec-ttl {
  font-weight: 500;
  font-size:8.213vw;
  letter-spacing: 0.08em;
  line-height: 1.625;
  text-align: center;
  color: #ebe7ea;
  text-shadow: 0px 0px 26px #00b7ff;
  margin: 2vw auto 0;
}



/* about
-------------------------------------*/
#about {
  background-image: url(../images/index/about-bg_sp.png);
  background-repeat: no-repeat;
  background-size: contain;
  padding: 12vw 0 10vw;
  background-position: center top 0px;
}
#about .about-inner {
  width: 89.4vw;
  margin-inline: auto;
}
#about .about-list {
  display: grid;
  grid-template-columns: 1fr;
  margin: 0 3.6vw;
}
#about .about-list li {
  background-image: url(../images/index/about-list-bg_sp.png);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 5vw 5vw 5vw;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  margin: 0 0 9vw;
}
#about .about-list li:last-child {
  margin-bottom: 0;
}
#about .about-list li:not(:first-child) .img{
  margin-top: 4vw;
}
#about .about-list li:nth-child(1) .ttl {
  font-size:4.831vw;
  line-height: 2;
  letter-spacing: 0.06em;
}
#about .about-list li .ttl {
  font-size:5.797vw;
  line-height: 1.3333;
  letter-spacing: 0.09em;
  text-align: center;
  position: relative;
}
#about .about-list li .ttl .small {
  font-size:3.865vw;
  line-height: 1.25;
  letter-spacing: 0.06em;
  display: block;
}
#about .about-list li .ttl .note {
  font-size:4.348vw;
  line-height: 2.5555;
  letter-spacing: 0.06em;
  position: absolute;
  bottom: -1.2vw;
  right: 18vw;
}
#about .about-list li .img {
  margin-top: 0;
}
#about .about-list li .img img {
  width: 100%;
}
#about .txt {
  font-size:2.898vw;
  font-weight: 400;
  line-height: 1.6666;
  letter-spacing: 0.03em;
  margin-top: 6.2vw;
  padding: 0 0.1vw 0 0;
  color: #B8B8B8;
}


/* info
-------------------------------------*/
#info {
  background-image: url(../images/index/info-bg_sp.png);
  background-repeat: no-repeat;
  background-size: contain;
  padding: 15vw 0 10vw;
  background-position: top -5vw center;
}
#info .info-inner {
  width: 89.4vw;
  margin-inline: auto;
  position: relative;
}
#info .info-en-bg {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 96.4vw;
}
#info .info-en-bg img {
  width: 100%;
}
#info .info-img {
  width: 86.5vw;
  margin-inline: auto;
  padding: 20vw 0 0;
}
#info .info-img img {
  width: 100%;
}
#info .info-ttl {
  font-size:4.106vw;
  line-height: 1.7058;
  letter-spacing: 0.08em;
  text-align: center;
  position: relative;
  margin-top: 18vw;
}
#info .info-ttl::before, #info .info-ttl::after {
  content: "";
  position: absolute;
  width: 10.2vw;
  height: 34vw;
  bottom: -3vw;
}
#info .info-ttl::before {
  background-image: url(../images/index/info-ttlbg-l_sp.svg);
  left: 0;
}
#info .info-ttl::after {
  background-image: url(../images/index/info-ttlbg-r_sp.svg);
  right: 0;
}
#info .info-txt {
  font-size:3.623vw;
  line-height: 1.8666;
  letter-spacing: 0.03em;
  text-align: left;
  margin-top: 8vw;
}
#info .info-txt a {
  color: #fff;
  text-decoration: underline;
}


 /* contact
-------------------------------------*/
#contact {
  background-image: url(../images/index/contact-bg_sp.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top 31vw center;
  padding: 12vw 0 18vw;
}
#contact .contact-inner {
  width: 89.4vw;
  margin-inline: auto;
}
#contact .contact-ttl {
  width: 64.5vw;
  margin-inline: auto;
}
#contact .contact-ttl img {
  width: 100%;
}
#contact .contact-btn-wrap {
  display: flex;
  flex-direction: column;
  gap: 12vw;
  padding: 0 0vw;
  margin-top: 7vw;
}
#contact .contact-btn01 {
  position: relative;
  z-index: 2;
}
#contact .contact-btn02 {
  position: relative;
  z-index: 2;
}
#contact .contact-btn .ttl {
  font-size:4.831vw;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.06em;
  text-align: center;
}
#contact .contact-btn::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 2vw;
  bottom: 12%;
  left: 50%;
  background-image: url(../images/index/contact-btn-shadow_sp.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transform: translateX(-50%);
  z-index: 1;
}
#contact .contact-btn .btn {
  margin: 2vw 0 0;
  position: relative;
  z-index: 3;
}
#contact .contact-btn .btn img {
  width: 100%;
}
#contact .contact-btn02 .bottom-txt .txt {
  font-size:3.382vw;
  line-height: 2.2857;
  letter-spacing: 0.03em;
  text-align: center;
  margin: 1vw 0 0;
}
#contact .contact-btn02 .bottom-txt .link-box {
  display: flex;
  flex-direction: column;
  gap: 0vw;
  justify-content: center;
  margin: 1vw 0 0;
}
#contact .contact-btn02 .bottom-txt .link-box a {
  font-size:3.382vw;
  line-height: 2.2857;
  letter-spacing: 0.03em;
  color: #FFFFFF;
  text-decoration: underline;
  text-align: center;
}
#contact .contact-tel-box {
  background-color: #1A1A1A;
  padding: 5vw 2vw 7vw;
  display: flex;
  flex-direction: column;
  gap: 0;
  position: relative;
  margin-top: 4vw;
  align-items: center;
}
#contact .contact-tel-box .txt-wrap {
  display: flex;
  flex-direction: column;
  gap: 2vw;
  color: #FFFFFF;
}
#contact .contact-tel-box .txt-wrap .ttl {
  font-size:4.348vw;
  line-height: 2.2222;
  letter-spacing: 0.07em;
}
#contact .contact-tel-box .txt-wrap .txt {
  background-color: #242424;
  border: 1px solid #707070;
  font-size:3.382vw;
  line-height: 1;
  letter-spacing: 0.05em;
  padding: 1vw 0;
  text-align: center;
}
#contact .contact-tel-box .tel-number {
  width: 77.8vw;
  margin: 1.2vw 0 0;
}
#contact .contact-tel-box .tel-number img {
  width: 100%;
}
#contact .contact-tel-box .deco {
  position: absolute;
  bottom: 0;
  right: -3.6vw;
  width: 14.3vw;
}
#contact .contact-tel-box .deco img {
  width: 100%;
}

/* worries
-------------------------------------*/
#worries {
  background: url(../images/index/worries-bg_sp.png),url(../images/index/worries-list-bg_sp.png);
  background-repeat: no-repeat, no-repeat;
  background-size: contain , contain;
  padding: 2vw 0 10vw;
  background-position: top center, bottom center;
  position: relative;
  z-index: 1;
}
#worries::after {
  content: "";
  position: absolute;
  width: 23vw;
  bottom: -17vw;
  left: 50%;
  background-image: url(../images/index/worries-arrow_sp.svg);
  background-repeat: no-repeat;
  background-size: contain;
  transform: translateX(-50%);
  height: 27.3vw;
}
#worries .worries-inner {
  width: 89.4vw;
  margin-inline: auto;
  position: relative;
}
#worries .worries-ttl {
  font-size:4.831vw;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.07em;
  padding: 51vw 0 0;
}
#worries .worries-en-deco {
  position: absolute;
  top: 25.6vw;
  left: 1vw;
  width: 53vw;
}
#worries .worries-en-deco img {
  width: 100%;
}
#worries .worries-list {
  display: flex;
  flex-direction: column;
  margin-top: 25.6vw;
  padding: 0 9vw 18vw;
  gap: 16vw;
  position: relative;
}
#worries .worries-list li {
  position: relative;
  z-index: 11;
}
#worries .worries-list li::before {
  content: "";
  position: absolute;
  width: 12.6vw;
  height: 12.2vw;
  top: -7vw;
  left: -9vw;
  background-image: url(../images/index/check-icon.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
#worries .worries-list li::after {
  content: "";
  position: absolute;
  width: 89.4vw;
  height: 47px;
  bottom: -61%;
  left: 50%;
  background: url(../images/index/worries-list-deco.png);
  background-repeat: no-repeat;
  background-size: contain;
  transform: translateX(-50%);
}
#worries .worries-list li:nth-child(3)::after {
  bottom: -50%;
}
#worries .worries-list li:nth-child(2) {
  margin: 0 0 0 0;
}
#worries .worries-list li .ttl {
  font-size:4.831vw;
  line-height: 1.75;
  letter-spacing: 0.08em;
}
#worries .worries-list li .txt {
  font-size:3.623vw;
  font-weight: 400;
  line-height: 1.7333;
  letter-spacing: 0.06em;
  margin-top: 2vw;
  color: #C3C3C3;
}


 /* improve
-------------------------------------*/
#improve {
  background: url(../images/index/improve-bg-top_sp.png), url(../images/index/improve-bg-bottom_sp.png);
  background-repeat: no-repeat, no-repeat;
  background-size: contain, contain;
  background-position: top center, bottom 56vw center;
  margin-top: -19vw;
  padding: 10vw 0 0;
}
#improve .improve-ttl {
  width: 91.6vw;
  margin-inline: auto;
  padding: 35vw 0 0;
  margin-left: 1vw;
}
#improve .improve-ttl img {
  width: 100%;
}
#improve .improve-subt {
  font-size:4.348vw;
  line-height: 1.7777;
  letter-spacing: 0.08em;
  text-align: center;
  margin-top: -2vw;
}
#improve .improve-photo {
  margin-top: 18vw;
}
#improve .improve-inner {
  width: 89.4vw;
  margin-inline: auto;
}
#improve .improve-img {
  width: 69.4vw;
  margin-inline: auto;
  margin-top: -31vw;
}
#improve .improve-img img {
  width: 100%;
}
#improve .improve-lead {
  font-size:3.623vw;
  line-height: 1.8666;
  letter-spacing: 0.03em;
  margin: 13vw 0 0;
}
#improve .improve-txt {
  font-size:2.898vw;
  line-height: 1.6666;
  letter-spacing: 0.03em;
  padding-top: 7vw;
  color: #B8B8B8;
}


/* reason
-------------------------------------*/
#reason {margin: 29vw 0 0;}
#reason .reason-inner {
    margin-inline: auto;
    background: #0C0C0C;
    position: relative;
    z-index: 10;
  }
  #reason .reason-ttl-box {
    background-image: url(../images/index/reason-ttl-bg_sp.png);
    background-repeat: no-repeat;
    background-size: cover;
    padding: 0vw 0 0;
    position: relative;
    z-index: 2;
  }
  #reason .reason-ttl-box::after {
    content: "";
    position: absolute;
    width: 100vw;
    height: 66.6vw;
    bottom: -109%;
    left: 50%;
    transform: translateX(-50%);
    background-image: url(../images/index/reason-ttl-box-shadow_sp.png);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 1;
  }
  #reason .reason-en-ttl {
    width: 19.1vw;
    margin-inline: auto;
    top: -5vw;
    position: relative;
  }
  #reason .reason-en-ttl img {
    width: 100%;
  }
  #reason .reason-ttl {position: relative;z-index: 3;height: 34vw;}
  #reason .reason-ttl span {
    font-size:4.348vw;
    font-weight: 500;
    line-height: 2.1111;
    letter-spacing: 0.04em;
    display: block;
    text-align: center;
  }
  #reason .reason-ttl .img {
    width: 102vw;
    margin-inline: auto;
    margin: -2vw 0 0 -1vw;
  }
  #reason .reason-ttl .img img {
    width: 100%;
  }
  #reason .reason-list {
    display: flex;
    flex-direction: column;
    margin-top: 1.6vw;
    gap: 29vw;
  }
  #reason .reason-item {
    position: relative;
  }
  #reason .reason-item .inner {
    width: 94.3vw;
    margin-inline: auto;
  }
  #reason .reason-item:not(:last-child)::after {
    content: "";
    position: absolute;
    width: 94.3vw;
    height: 20vw;
    bottom: -30vw;
    left: 50%;
    transform: translateX(-50%);
    background-image: url(../images/index/reason-item-deco_sp.png);
    background-repeat: no-repeat;
    background-size: contain;
  }
  #reason .reason-item .ttl-box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0;
    margin: 0 auto;
    align-items: center;
  }
  #reason .reason-item .ttl-num {
    margin: 0 0 0 4vw;
  }
  #reason .reason-item.item02 .ttl-num {
    margin: 0 0 -2vw 6vw;
  }
  #reason .reason-item .ttl-num img {
  }
  #reason .reason-item .ttl {
    font-size:5.314vw;
    font-weight: 500;
    line-height: 1.7272;
    letter-spacing: 0.12em;
    text-align: center;
    margin-top: -4vw;
  }
  #reason .reason-item.item01 .point-box {
    display: flex;
    margin: 9vw 0 0;
    gap: 3.8vw;
    flex-direction: column;
    align-items: center;
  }
  #reason .reason-item.item01 .point-box .point01 {
    width: 72.5vw;
    margin: 0;
  }
  #reason .reason-item.item01 .point-box .point01 img {
    width: 100%;
  }
  #reason .reason-item.item01 .point-box .point-wrap {
    display: flex;
    gap: 3.8vw;
    padding: 0;
  }
  #reason .reason-item.item01 .point-box .point02,
  #reason .reason-item.item01 .point-box .point03 {
    width: 50%;
  }
  #reason .reason-item.item01 .point-box .point02 img,
  #reason .reason-item.item01 .point-box .point03 img {
    width: 100%;
  }
  #reason .reason-item .item01 .point-box .point .img img {
    width: 100%;
  }
  #reason .reason-item.item01 .point-box .point .ttl {
    font-size: 2.657vw;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0;
    color: #E5E5E5;
    background-color: #343434;
    border-radius: 4vw;
    padding: 1.7vw 0;
    margin-top: 2vw;
    text-align: center;
  }
  #reason .reason-item.item01 .point-box .point .txt {
    font-size:2.898vw;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.06em;
    text-align: center;
    margin-top: 2vw;
  }
  #reason .reason-item .sub-txt {
    font-size:2.898vw;
    line-height: 1.6666;
    letter-spacing: 0.03em;
    color: #B8B8B8;
    padding: 0 2.4vw;
    margin-top: 8vw;
  }
  #reason .reason-item .reason-txt {
    font-size:3.623vw;
    line-height: 1.8666;
    letter-spacing: 0.03em;
    padding: 0 2.4vw;
    margin-top: 7vw;
  }
  
  /* item02 */
   #reason .reason-item.item02 .ttl-box {
    gap: 10px;
  }
  #reason .item02 .point-box {
    background-image: url(../images/index/reason02-bg_sp.png);
    background-repeat: no-repeat;
    background-size: contain;
    margin-top: 7vw;
    width: 100%;
    margin-inline: auto;
  }
  #reason .item02 .head-box {
    padding: 4vw 0 6vw;
  }
  #reason .item02 .head-box .txt {
    font-size:3.382vw;
    font-weight: 500;
    line-height: 1.5714;
    letter-spacing: 0.08em;
    text-align: center;
  }
  #reason .item02 .head-box .txt .note {

  }
  #reason .item02 .head-box .head {
    width: 102vw;
    margin: -1vw 0 0 -4vw;
  }
  #reason .item02 .head-box .head img {
    width: 100%;
  }
  #reason .item02 .point-item-box {
    background-color: #0C0C0C;
    width: 89.4vw;
    margin-inline: auto;
    padding: 10vw 2.6vw 6vw;
    margin-top: -5vw;
  }
  #reason .item02 .point-item-box .ttl {
    font-size:4.348vw;
    font-weight: 500;
    line-height: 1.6666;
    letter-spacing: 0.09em;
    text-align: center;
    position: relative;
  }
  #reason .item02 .point-item-box .ttl span {
    font-size:3.382vw;
    font-weight: 500;
    line-height: 2.5714;
    letter-spacing: 0.11em;
    display: block;
    margin: 1vw 0 0;
  }
  #reason .item02 .point-item-box .ttl::after {
    content: "";
    position: absolute;
    width: 40vw;
    height: 2vw;
    bottom: -4vw;
    left: 50%;
    transform: translateX(-50%);
    background: url(../images/index/reason02-point-deco.png);
    background-repeat: no-repeat;
    background-size: contain;
    opacity: 0.6;
  }
  #reason .item02 .point-item {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 11vw;
    gap: 9vw 4vw;
  }
  #reason .item02 .point-item li {
    position: relative;
    width: 39.2vw;
  }
  #reason .item02 .point-item li:nth-child(2) {
    width: 40.2vw;
  }
  #reason .item02 .point-item li:nth-child(3) {
    width: 40.2vw;
  }
  #reason .item02 .point-item li:nth-child(4) {
    width: 40.2vw;
  }
  #reason .item02 .point-item li:nth-child(5) {
    width: 40.6vw;
  }
  #reason .item02 .point-item li:nth-child(6) {
    width: 41.2vw;
    margin: 1vw 0 0;
  }
  #reason .item02 .point-item li:nth-child(even)::before {
    content: "";
    position: absolute;
    width: 82vw;
    height: 1px;
    bottom: -5vw;
    left: -43vw;
    background-color: #3D3D3D;
  }
  #reason .point-item-box .txt-box {
    border: 1px solid #707070;
    padding: 4vw 9vw 4.2vw 15.2vw;
    display: flex;
    gap: 3vw;
    margin-top: 5vw;
    width: 82.2vw;
    margin-inline: auto;
    flex-direction: column;
  }
  #reason .point-item-box .txt-box li:nth-child(2) .head::before {
    background: linear-gradient(#00b7ff 0%, #773efb 100%);
  }
  #reason .point-item-box .txt-box li .head {
    font-size: 3.865vw;
    font-weight: 500;
    line-height: 2.125;
    letter-spacing: 0.04em;
    position: relative;
  }
  #reason .point-item-box .txt-box li .head::before {
    position: absolute;
    content: "";
    width: 6.6vw;
    height: 6.6vw;
    background-color: #747474;
    top: 1vw;
    left: -10.2vw;
  }
  #reason .point-item-box .txt-box li .head .note {
    font-size:3.382vw;
    line-height: 2.4285;
    letter-spacing: 0.11em;
    margin: 0 0 0 2vw;
  }
  #reason .point-item-box .txt-box li .subt {
    font-size: 3.14vw;
    line-height: 1.6923;
    letter-spacing: 0.01em;
    margin: 0;
  }
  #reason .point-item-box .txt-box li .txt {
    font-size:3.865vw;
    font-weight: 500;
    line-height: 2.125;
    letter-spacing: 0.11em;
    margin: -1vw 0 0;
  }
  #reason .point-item-box .txt-box .point-item {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  #reason .reason-item.item02 .reason-txt {
    padding: 0 6vw 0 5vw;
  }
  #reason .reason-item.item02 .sub-txt {padding: 0 5.8vw 0 5vw;margin-top: 5vw;}
#reason .reason-item.item02 .sub-txt a {
  color: #B8B8B8;
  text-decoration: underline;
} 


/* item03 */
#reason .item03 {
  margin-top: -2vw;
}
#reason .reason-item.item03 {
  padding: 0 0 4vw;
}
#reason .reason-item.item03 .ttl-num {

margin: 2.6vw 0 -2vw 6vw;
}
#reason .item03-img {
  width: 89.4vw;
  margin-inline: auto;
  margin-top: 3vw;
}
#reason .item03-img img {
  width: 100%;
}
#reason .reason-item.item03 .ttl-box {
gap: 2vw;
}
#reason .reason-item.item03 .reason-txt {margin-top: 7vw;padding: 0 2.5vw;}
#reason .reason-item.item03 .reason-txt a {
  color: #B8B8B8;
  text-decoration: underline;
}



/* offer
-------------------------------------*/
#offer {
  background-image: url(../images/index/offer-bg_sp.png);
  background-repeat: no-repeat;
  background-size: contain;
  padding: 16vw 0 10vw;
  background-position: top center;
  position: relative;
  z-index: 9;
  margin-top: 13vw;
}
#offer .offer-inner {
  width: 92.4vw;
  margin-inline: auto;
  position: relative;
}
#offer .offer-ttl {
  text-align: center;
  padding: 17vw 0 0;
}
#offer .offer-ttl span {
  font-size:4.348vw;
  font-weight: 700;
  line-height: 1.6111;
  letter-spacing: 0.04em;
}
#offer .offer-ttl .img {
  width: 76.4vw;
  margin-inline: auto;
  margin-top: -3vw;
}
#offer .offer-ttl .img img {
  width: 100%;
}
#offer .offer-en-ttl {
  position: absolute;
  top: 0;
  left: 49%;
  transform: translateX(-50%);
  width: 83.4vw;
  margin-inline: auto;
}
#offer .offer-en-ttl img {
  width: 100%;
}
#offer .offer-img {
  width: 100vw;
  margin-inline: auto;
  margin-top: -6vw;
  position: relative;
  margin-left: -4vw;
}
#offer .offer-img img {
  width: 100%;
}
#offer .offer-txt {
  font-size: 2.898vw;
  line-height: 1.6666;
  letter-spacing: 0.03em;
  margin-top: 4vw;
  padding: 0 1vw 0 1vw;
  color: #B8B8B8;
}


/* price
-------------------------------------*/
#price {
  margin-top: 15vw;
}
#price .price-inner {
  width: 94.3vw;
  margin-inline: auto;
}
#price .price-en-ttl {
  width: 11.8vw;
  margin-inline: auto;
}
#price .price-en-ttl::after {
  bottom: -4vw;
}
#price .price-en-ttl img {
  width: 100%;
}
#price .price-ttl {
  margin: 7vw auto 0;
}
#price .price-tabs {
  margin-top: 8vw;
}
#price .price-tabs-list {
  display: flex;
  justify-content: center;
  padding: 0;
  border-right: 1px solid #707070;
}
#price .price-tabs-item {
  font-size:2.898vw;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding: 4vw 0vw 2.6vw;
  background-color: #000000;
  border-top: 1px solid #707070;
  color: #828282;
  text-align: center;
  width: 33.3%;
}
#price .price-tabs-item span {
  display: block;
  margin: -1vw 0 0;
  font-size:3.865vw;
  font-weight: 500;
  line-height: 2.5625;
  letter-spacing: 0.05em;
}
#price .price-tabs-item[aria-selected=true] {
  background: #111111;
  color: #fff;
  pointer-events: none;
}
#price .price-tabs-item[aria-selected=false] {
  transition: opacity 0.3s ease;
}
@media (any-hover: hover) {
  #price .price-tabs-item[aria-selected=false]:hover {
    cursor: pointer;
    opacity: 0.7;
  }
}
#price .price-tabs-contents {
  background-color: #111111;
  padding: 9.4vw 2.8vw 10vw;
}
#price .price-tabs-content-wrap {
  opacity: 0;
  visibility: hidden;
  height: 0;
  translate: 0 20px;
  transition: opacity 0.3s ease, translate 0.3s ease;
}
#price .price-tabs-content-wrap.js-show {
  opacity: 1;
  visibility: visible;
  height: fit-content;
  translate: 0;
}
#price .price-tabs-content .basic table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #707070;
}
#price .price-tabs-content .basic table tr {
  font-size: 4.348vw;
  letter-spacing: 0.03em;
  color: #fff;
  border-top: 1px solid #707070;
}
#price .price-tabs-content .basic th {
  line-height: 1;
  border-right: 1px solid #707070;
  width: 100%;
  background-color: #212121;
  padding: 5vw 5vw;
  text-align: left;
  display: block;
}
#price .price-tabs-content .basic td {
  line-height: 2.625;
  padding: 3vw 5vw 1vw;
  display: block;
  font-size: 3.865vw;
}
#price .price-tabs-content .basic tr:nth-child(3) th {
   vertical-align: middle;
}
#price .price-tabs-content .basic tr:nth-child(3) td {padding: 3vw 5vw 4vw;line-height: 1.875;}
#price .price-tabs-content.content02 .basic tr:nth-child(2) th,
#price .price-tabs-content.content03 .basic tr:nth-child(2) th {
   vertical-align: middle;
}
#price .price-tabs-content.content02 .basic tr:nth-child(4) th,
#price .price-tabs-content.content03 .basic tr:nth-child(4) th  {
   vertical-align: middle;
}
#price .price-tabs-content.content02 .basic tr:nth-child(2) td,
#price .price-tabs-content.content03 .basic tr:nth-child(2) td {
  line-height: 1.875;
  padding: 3vw 5vw 4vw;
}
#price .price-tabs-content.content02 .basic tr:nth-child(4) td,
#price .price-tabs-content.content03 .basic tr:nth-child(4) td  {
  line-height: 1.875;
  padding: 3vw 5vw 4vw;
}
#price .price-tabs-content .price-banner {
  position: relative;
  text-align: center;
  margin-top: 4vw;
  width: 83.2vw;
  margin-inline: auto;
  margin-left: 0vw;
}
#price .price-tabs-content .price-banner .note {
  position: absolute;
  top: -1vw;
  right: -6vw;
  font-size: 2.898vw;
  letter-spacing: 0.03em;
  line-height: 1.90909;
}
#price .price-tabs-content .price-txt {
  font-size: 2.898vw;
  letter-spacing: 0.03em;
  line-height: 1.6666;
  color: #b8b8b8;
  margin-top: 5.4vw;
  padding: 0 0vw 0 0;
}
#price .price-tabs-content .price-txt a {
  color: #b8b8b8;
  text-decoration: underline;
}
#price .price-tabs-content.content02 .price-txt,
#price .price-tabs-content.content03 .price-txt  {font-size: 3.382vw;
  margin: 4vw 0 0;
  line-height: 1.85714;}
#price .option {
  margin-top: 7vw;
  width: 89.4vw;
  margin-inline: auto;
}
#price .option .ttl {
  font-weight: 500;
  font-size:6.28vw;
  letter-spacing: 0.08em;
  line-height: 2.1538;
  text-align: center;
  color: #fff;
}
#price .option .option-price {
  border: 1px solid #707070;
  margin-top: 3vw;
  border-collapse: collapse;
}
#price .option .option-price tr {
  font-size:4.348vw;
  letter-spacing: 0.03em;
  text-align: left;
  color: #fff;
}
#price .option .option-price tr:first-child {
  border-bottom: 1px solid #707070;
}
#price .option .option-price .ttl {
  background-color: #212121;
  padding: 4vw 4.4vw 2vw;
  text-align: left;
  font-size: 4.348vw;
  letter-spacing: 0.03em;
  width: 100%;
  border-bottom: 1px solid #707070;
  line-height: 1.9090;
  display: block;
}
#price .option .option-price .price {
  width: 100%;
  border-bottom: 1px solid #707070;
  padding: 0;
  display: block;
  font-size: 3.865vw;
  padding: 4vw 5vw;
}
#price .option .option-price .txt {
  display: block;
  padding: 3.2vw 5vw 3vw;
  line-height: 1.875;
  font-size: 3.865vw;
  letter-spacing: 0.03em;
}
/* #price .option .option-price tr:nth-child(2) .ttl {
  vertical-align: middle;
}
#price .option .option-price tr:nth-child(2) .price {
  vertical-align: middle;
} */
#price .option .option-price tr .ttl,
#price .option .option-price tr .price,
#price .option .option-price tr .txt {
  vertical-align: middle;
}
#price .option .option-txt {
  font-size:3.623vw;
  letter-spacing: 0.03em;
  line-height: 1.8666;
  margin-top: 5vw;
}
#price .option .option-txt a {
  color: #fff;
  text-decoration: underline;
}


/* flow
-------------------------------------*/
#flow {
  margin-top: 20vw;
}
#flow .flow-inner {
  width: 94.3vw;
  margin-inline: auto;
}
#flow .flow-en-ttl {
  width: 11.4vw;
  margin-inline: auto;
  margin-bottom: 7vw;
}
#flow .flow-en-ttl img {
  width: 100%;
}
#flow .flow-tabs {
  margin-top: 8vw;
}
#flow .flow-tabs-list {
  display: flex;
  justify-content: center;
  padding: 0;
  border-right: 1px solid #707070;
}
#flow .flow-tabs-item {
  font-size: 2.898vw;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding: 4vw 0vw 2.6vw;
  background-color: #000000;
  border-top: 1px solid #707070;
  color: #828282;
  text-align: center;
  width: 33.3%;
}
#flow .flow-tabs-item span {
  display: block;
  margin: -1vw 0 0;
  font-size: 3.865vw;
  font-weight: 500;
  line-height: 2.5625;
  letter-spacing: 0.05em;
}
#flow .flow-tabs-item[aria-selected=true] {
  background: #111111;
  color: #fff;
  pointer-events: none;
}
#flow .flow-tabs-item[aria-selected=false] {
  transition: opacity 0.3s ease;
}
@media (any-hover: hover) {
  #flow .flow-tabs-item[aria-selected=false]:hover {
    cursor: pointer;
    opacity: 0.7;
  }
}
#flow .flow-tabs-contents {
  background-color: #111111;
  padding: 9vw 0 5vw;
}
#flow .flow-tabs-content-wrap {
  opacity: 0;
  visibility: hidden;
  height: 0;
  translate: 0 20px;
  transition: opacity 0.3s ease, translate 0.3s ease;
}
#flow .flow-tabs-content-wrap.js-show {
  opacity: 1;
  visibility: visible;
  height: fit-content;
  translate: 0;
}
#flow .flow-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4vw 4.8vw;
}
#flow .flow-list.list02,
#flow .flow-list.list03 {gap: 2vw 4vw;padding: 0 14vw;justify-content: center;margin: 0 0 12vw;}
#flow .flow-list li {
  background-color: #404040;
  padding: 0vw 0 4vw;
  text-align: center;
  position: relative;
  width: 24.4vw;
}
#flow .flow-list.list02 li,
#flow .flow-list.list03 li{

width: 28.1vw;

padding: 0 0 2vw;
}
#flow .flow-list li:nth-child(4) {
  
width: 28vw;
  
padding: 0 0 2vw;
}
#flow .flow-list li:nth-child(5) {
  
width: 27vw;
  
padding: 0 0 0;
}
#flow .flow-list.list02 li:nth-child(3),
#flow .flow-list.list03 li:nth-child(3) {
  background: #1f1f1f;
  border: 1px dotted #707070;
}
#flow .flow-list li:not(:last-child)::after {
  content: "";
  position: absolute;
  width: 1.3vw;
  height: 2.8vw;
  top: 51%;
  right: -3vw;
  background-image: url(../images/index/step-arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  transform: translateY(-50%);
}
#flow .flow-list li:nth-child(3)::after {
  background-image: none;
}
#flow .flow-list li:nth-child(4)::before {
  content: "";
  position: absolute;
  width: 1.3vw;
  height: 2.8vw;
  top: 50%;
  left: -3vw;
  background-image: url(../images/index/step-arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  transform: translateY(-50%);
}
#flow .flow-list li:nth-child(1) .img {margin: 5vw 0 0;}
#flow .flow-list li:nth-child(2) .img {margin: 6vw 0 4vw;}
#flow .flow-list li:nth-child(3) .img {margin: 5vw 0  0;}
#flow .flow-list li:nth-child(5) .img {margin: 5vw 0 0vw;}
#flow .flow-list.list02 li:nth-child(1) .img {margin: 4vw 0 0;}
#flow .flow-list.list02 li:nth-child(2) .img {margin: 5vw 0 3vw;}
#flow .flow-list.list02 li:nth-child(3) .img {margin: 4vw 0  0;}
#flow .flow-list.list02 li:nth-child(4) .img {margin: 5vw 0 0vw;}
#flow .flow-list li .num {margin: 0 0 3vw;}

#flow .flow-list.list02 .num,
#flow .flow-list.list03 .num {
  margin: 0 0 -1vw;
}
#flow .flow-list.list02 li:nth-child(3) .num img ,
#flow .flow-list.list03 li:nth-child(3) .num img {margin-top: -1vw;margin-bottom: 0.8vw;width: 2.2vw;}
#flow .flow-list.list02 li:nth-child(4) .img,
#flow .flow-list.list03 li:nth-child(4) .img{
margin-top: 18px;
}
#flow .flow-list li .img{}
#flow .flow-list li .txt {
  font-size: 2.657vw;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.08em;
  margin-top: 3vw;
}
#flow .flow-list li .txt-small {
  font-size: 2.173vw;
  font-weight: 500;
  line-height: 1.705882;
  letter-spacing: 0.08em;
  margin: 1vw 0 0;
}
#flow .step-list {
  display: flex;
  flex-direction: column;
  gap: 10vw;
  margin-top: 10vw;
  width: 89.4vw;
  margin-inline: auto;
}
#flow .step-list .list {
  position: relative;
}
#flow .step-list .list::after {
  content: "";
  position: absolute;
  top: 3vw;
  right: 4vw;
  width: 6.1vw;
  height: 6.1vw;
  border: 2px solid #fff;
  border-radius: 50%;
  pointer-events: auto;
  z-index: 1;
}
#flow .step-list li .step-ttl {
  background-color: #0034DE;
  text-align: center;
  padding: 3vw 0 3vw;
  position: relative;
}
#flow .step-list li .step-ttl::before,
#flow .step-list li .step-ttl::after {
  content: "";
  display: block;
  background-color: #EFEFEF;
  position: absolute;
  top: 51%;
  width: 3.2vw;
  height: 0.73vw;
  right: 5.9vw;
  background: #fff;
  z-index: 10;
}
#flow .step-list li .step-ttl::after {
  transform: rotate(90deg);
  transition-duration: 0.3s;
}
#flow .step-list li .step-ttl.is-active::after {
  transform: rotate(0);
}
#flow .step-list li .step-content {
  line-height: 0;
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition-duration: 0.3s;
  background-color: #111111;
  border: 2px solid #0034DE;
  margin: 1px 0 0;
}
#flow .step-list li .step-content.is-open {
  padding: 7vw 3.1vw 11vw;
  height: auto;
  opacity: 1;
}
#flow .content01 .step-list li.list03 .step-content.is-open {padding: 7vw 3.1vw 11vw;}
#flow .step-list li .step-content-ttl {
  font-weight: 500;
  font-size: 5.314vw;
  letter-spacing: 0.08em;
  line-height: 1.64705;
  text-align: center;
}
#flow .step-list li .btn-wrap {
  display: flex;
  gap: 5vw;
  margin-top: 6vw;
  flex-direction: column;
}
#flow .step-list li .contact-btn02 .bottom-txt {
  font-size: 3.382vw;
  letter-spacing: 0.03em;
  line-height: 2.285714;
  color: #b8b8b8;
  text-align: center;
  margin: 3vw 0 0;
}
#flow .step-list li .step-content-subt {
  font-weight: bold;
  font-size: 4.348vw;
  letter-spacing: 0.03em;
  line-height: 1.8888;
  text-align: center;
  margin-top: 8vw;
}
#flow .step-list li.list02 .step-content-subt {

margin-top: 5vw;
}
#flow .step-list li .step-content-txt {
  font-size: 3.623vw;
  letter-spacing: 0.03em;
  line-height: 1.86666;
  text-align: left;
  margin-top: 2vw;
  padding: 0 3vw;
}
#flow .step-list li .step-content-img {
  margin-top: 11vw;
  text-align: center;
}
#flow .step-list li.list01 .step-content-img {
  margin-top: 6vw;
  text-align: center;
  padding: 0 3.4vw;
  margin-bottom: 4vw;
}
#flow .step-list li.list03 .step-content-img {
  margin-top: 6vw;
  text-align: center;
  padding: 0 3.4vw;
  margin-bottom: 6vw;
}
#flow .step-list li .js-scrollable .step-content-img {

width: 135vw;

margin-top: 0;
}
#flow .content01 .step-list li:nth-child(4) .step-content-img {margin-top: 7vw;margin-bottom: 6vw;padding: 0 3.4vw;}
#flow .content01 .step-list li:nth-child(5) .step-content-img {margin-top: 6vw;margin-bottom: 6vw;padding: 0 3.4vw;}
#flow .step-list li:nth-child(2) .step-content-img {
  margin-top: 5vw;
  margin-bottom: 7vw;
  padding: 0 3.4vw;
}
#flow .step-tabs {
  margin-top: 5vw;
}
#flow .step-tabs-list {
  display: flex;
  justify-content: center;
  padding: 0 0vw 10vw;
}
#flow .step-tabs-item {
  font-size: 4.348vw;
  line-height: 1.8888;
  letter-spacing: 0.03em;
  padding: 2vw 0 2vw;
  background-color: #484848;
  color: #CBCBCB;
  text-align: center;
  width: 50%;
  position: relative;
  font-weight: 700;
}
#flow .step-tabs-item[aria-selected=true] {
  background: #E8E8E8;
  color: #000000;
  pointer-events: none;
}
#flow .step-tabs-item[aria-selected=true]::after {
  content: "";
  position: absolute;
  width: 8.3vw;
  height: 5.2vw;
  background-image: url(../images/index/active-arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  bottom: -5vw;
  left: 50%;
  transform: translateX(-50%);
}
#flow .step-tabs-item[aria-selected=false] {
  transition: opacity 0.3s ease;
}
@media (any-hover: hover) {
  #flow .step-tabs-item[aria-selected=false]:hover {
    cursor: pointer;
    opacity: 0.7;
  }
}
#flow .step-tabs-contents {

}
#flow .step-tabs-content-wrap {
  opacity: 0;
  visibility: hidden;
  height: 0;
  translate: 0 20px;
  transition: opacity 0.3s ease, translate 0.3s ease;
}
#flow .step-tabs-content-wrap.js-show {
  opacity: 1;
  visibility: visible;
  height: fit-content;
  translate: 0;
}

#flow .kouji-step {
  display: flex;
  flex-direction: column;
  margin-top: 2vw;
  gap: 9vw;
  padding: 0 2vw;
}
#flow .kouji-step .item {
  position: relative;
  display: flex;
  gap: 2vw;
  padding: 1vw 1vw;
  flex-direction: column;
}
#flow .kouji-step .item::after {
  content: "";
  position: absolute;
  width: 82.2vw;
  height: 1px;
  bottom: -4vw;
  left: 50%;
  transform: translateX(-50%);
  background-image: url(../images/index/kouji-list-line_sp.png);
  background-repeat: no-repeat;
  background-size: contain;
  border: none;
}
#flow .kouji-step .item .ttl {
  font-weight: bold;
  font-size: 3.865vw;
  letter-spacing: 0.03em;
  line-height: 1.75;
  margin: 1vw 0 0;
}
#flow .kouji-step .item .txt-wrap {
}
#flow .kouji-step .item .txt {
  font-size: 3.623vw;
  letter-spacing: 0.03em;
  line-height: 1.7333;
  margin-top: 2vw;
}
#flow .kouji-step .item .txt-box {
  background: #484848;
  padding: 4vw 5vw;
  margin: 3vw 0 0;
}
#flow .kouji-step .item .txt-box .txt01 {
  font-weight: bold;
  font-size: 3.865vw;
  letter-spacing: 0.03em;
  line-height: 1.75;
}
#flow .kouji-step .item .txt-box ul {
  display: flex;
  gap: 0vw;
  flex-direction: column;
  margin: 2vw 0 0;
}
#flow .kouji-step .item .txt-box ul .txt-box-item {
  font-size: 3.623vw;
  letter-spacing: 0.03em;
  line-height: 1.7333;
}
#flow .kouji-step .item .txt-box ul .txt-box-item::after {
  border: none;
}
#flow .kouji-txt {
  font-size: 2.898vw;
  letter-spacing: 0.03em;
  line-height: 1.6666;
  color: #b8b8b8;
  margin: 9vw 3.2vw 0;
}
#flow .kouji-txt a {
  color: #b8b8b8;
  text-decoration: underline;
}


/* flets */
#flow .content02 .flets-contents {
  margin-top: 9vw;
  width: 82.2vw;
  border: 1px  solid #fff;
  margin-inline: auto;
}
#flow .content02 .flets-contents .ttl {
  background: #3b3b3b;
  padding: 3vw 0 2vw;
  text-align: center;
  font-family: "Yu Gothic";
  font-weight: bold;
  font-size: 4.348vw;
  letter-spacing: 0.03em;
  line-height: 1.61111;
}
#flow .content02 .flets-contents .content-box {
  padding: 3.8vw 3.6vw 4vw;
}
#flow .content02 .flets-contents .content-box .txt {
  font-weight: bold;
  font-size: 3.623vw;
  letter-spacing: 0.03em;
  line-height: 1.7333;
  background: #111;
  border: 1px solid #3b3b3b;
  padding: 3vw 2vw 7vw;
}
#flow .content02 .flets-contents .content-box .subtxt {
  letter-spacing: 0.03em;
  font-size: 3.382vw;
  line-height: 1.8571;
  color: #b8b8b8;
  margin-top: 3vw;
}
#flow .content02 .flets-contact-box {
  display: flex;
  gap: 4.8vw;
  margin: 10vw auto 0;
  flex-direction: column;
}
#flow .content02 .flets-contact-box .contact-box {
  width: 100%;
  border-radius: 5vw;
  border: 1px solid #fff;
  padding: 0 0 8.8vw;
}
#flow .content02 .flets-contact-box .contact-box .ttl{
  border-radius: 5vw 5vw 0px 0px;
  background: #3b3b3b;
  padding: 6vw 0;
  font-weight: bold;
  font-size: 4.348vw;
  letter-spacing: 0.03em;
  line-height: 1.6111;
  text-align: center;
}
#flow .content02 .flets-contact-box .contact-box .btn-wrap {
  display: flex;
  flex-direction: column;
  gap: 4vw;
  margin-top: 8vw;
  padding: 0 2.2vw;
}
#flow .content02 .flets-contact-box .contact-box .contact-btn {
  text-align: center;
}
#flow .content02 .flets-contact-box .contact-box .bottom-txt {
  font-size: 3.382vw;
  letter-spacing: 0.03em;
  line-height: 1.7142;
  text-align: center;
  margin-top: 1.6vw;
  color: #FFFFFF;
}
#flow .content02 .flets-other-box {
  background: #3b3b3b;
  text-align: center;
  padding: 7vw 0;
  margin: 9vw auto 0;
}
#flow .content02 .flets-other-box .ttl{
  font-weight: bold;
  font-size: 4.348vw;
  letter-spacing: 0.03em;
  line-height: 1.7777;
  border-bottom: 1px solid #fff;
  display: inline-block;
  padding: 0 0 1.8vw;
}
#flow .content02 .flets-other-box .txt{
  font-size: 3.623vw;
  letter-spacing: 0.03em;
  line-height: 1.8666;
  margin-top: 4vw;
  text-align: left;
  padding: 0 5vw;
}
#flow .content02 .flets-other-box .btn-txt{
font-size: 4.348vw;
font-weight: 700;
line-height: 2;
letter-spacing: 0.03em;
margin: 2vw 0 0;
}
#flow .content02 .flets-other-box .btn-txt span{
  font-size:3.382vw;
  line-height: 2;
  letter-spacing: 0;
}
#flow .content02 .flets-other-box .btn{
  margin: 0vw 2vw 0;
}
#flow .contact-info-box{
  margin-top: 7vw;
  text-align: center;
}
#flow .contact-info-box .ttl{
  font-weight: bold;
  font-size: 4.348vw;
  letter-spacing: 0.03em;
  line-height: 1.8888;
  text-align: center;
  color: #fff;
}
#flow .contact-info-box .txt{
  font-size: 3.623vw;
  letter-spacing: 0.03em;
  line-height: 1.8666;
  text-align: left;
  margin: 2vw 2.6vw 0;
}
#flow .contact-info-box .info-list{
  display: flex;
  gap: 2.4vw;
  margin-top: 5.6vw;
  justify-content: center;
  flex-direction: column;
}
#flow .contact-info-box .info-list .item{
  background: #3b3b3b;
  padding: 4.8vw 4vw 4.8vw 5vw;
  font-weight: bold;
  font-size: 3.865vw;
  letter-spacing: 0.03em;
  line-height: 2.5;
  text-align: left;
  color: #fff;
  width: 100%;
}
#flow .step-list .list02 .contact-info-box .info-list.tasha .item:nth-child(1) {
  display: flex;
}
#flow .step-list .list02 .contact-info-box .info-list.tasha .item:nth-child(1) span{
  max-height: 4.84vw;
  padding: 0.6vw 1.4vw;
  margin: 2.4vw 0 0;
}

#flow .contact-info-box .info-list .item span{
  font-weight: bold;
  font-size: 3.382vw;
  letter-spacing: 0.03em;
  line-height: 1;
  color: #111;
  background: #fff;
  padding: 0.3vw 1.4vw;
  text-align: center;
  border-radius: 50%;
  margin: 0 2vw 0 0;
}
#flow .contact-info-box .bottom-txt{
  font-size: 3.382vw;
  letter-spacing: 0.03em;
  line-height: 1.8571;
  text-align: left;
  color: #b8b8b8;
  margin-top: 4vw;
  padding: 0 4vw;
}


/* attention
-------------------------------------*/
#attention {
  margin-top: 20vw;
}
#attention .attention-inner {
  width: 91.8vw;
  margin-inline: auto;
}
#attention .attention-en-ttl {
  width: 22.5vw;
  margin-inline: auto;
  margin-bottom: 7vw;
}
#attention .attention-en-ttl img {
  width: 100%;
}
#attention .attention-item {
  display: flex;
  flex-direction: column;
  gap: 10.6vw;
  padding: 0;
  margin-top: 9vw;
}
#attention .attention-item li .q-content {
  background: #3b3b3b;
  font-weight: 500;
  font-size:4.348vw;
  letter-spacing: 0.03em;
  line-height: 1.6153;
  color: #fff;
  padding: 4.6vw 4vw 4vw;
  position: relative;
  display: flex;
  align-items: center;
  gap: 3vw;
}
#attention .attention-item li .q-content::before, #attention .attention-item li .q-content::after {
  content: "";
  display: block;
  background-color: #EFEFEF;
  position: absolute;
  top: 50%;
  width: 4.4vw;
  height: 2px;
  right: 3vw;
}
#attention .attention-item li .q-content::after {
  transform: rotate(90deg);
  transition-duration: 0.3s;
}
#attention .attention-item li .q-content.is-active::before {
  opacity: 0;
}
#attention .attention-item li .q-content.is-active::after {
  transform: rotate(0);
}
#attention .attention-item .q {
  margin: -1vw 0 0;
}
#attention .attention-item img {
  vertical-align: middle;
}
#attention .a-content {
  padding: 0 2vw;
  line-height: 0;
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition-duration: 0.3s;
  font-size:3.623vw;
  letter-spacing: 0.03em;
  line-height: 1.86666;
  color: #fff;
  position: relative;
  background: #171717;
}
#attention .a-content::before {
  content: "";
  position: absolute;
  width: 4.4vw;
  height: 11.4vw;
/*  background-image: url(../images/index/a.svg);*/
  background-repeat: no-repeat;
  background-size: contain;
  top: 4vw;
  left: 4.1%;
}
#attention .a-content a {
  color: #FFFFFF;
  text-decoration: underline;
}
#attention .a-content p {margin: 0 0 6vw;}
#attention .a-content p:last-of-type {
  margin: 0;
}
#attention .a-content.is-open {
  padding: 5vw 5vw 9vw;
  line-height: 1.88;
  height: auto;
  opacity: 1;
}
#attention .attention-btn {
  margin-top: 14vw;
  width: 77.4vw;
  margin-inline: auto;
}
#attention .attention-btn img {
  width: 100%;
}
#attention .attention-link-box{
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 18vw;
  width: 82.2vw;
  border-radius: 17px;
  background: #1c1c1c;
  padding: 5vw 2vw 7vw;
  margin-top: 14vw;
  margin-inline: auto;
}
#attention .attention-link-box .ttl {
  font-size:5.314vw;
  font-weight: 500;
  line-height: 1.9090;
  letter-spacing: 0.03em;
  display: flex;
  flex-direction: column;
  gap: 2vw;
  align-items: center;
  position: relative;
}
#attention .attention-link-box .ttl span {
  font-size:3.865vw;
  line-height: 1.75;
  letter-spacing: 0.03em;
  text-align: center;
}
#attention .attention-link-box .ttl::after {
  content: "";
  position: absolute;
  width: 26.1vw;
  height: 1px;
  background-color: #FFFFFF;
  left: 50%;
  bottom: -9vw;
  transform: translateX(-50%);
}
#attention .attention-link-box .link-box {
  display: flex;
  gap: 4vw;
  align-items: center;
}
#attention .attention-link-box .link {
  font-size:3.382vw;
  line-height: 1.642857;
  letter-spacing: 0.03em;
  text-decoration: underline;
  color: #FFFFFF;
  text-align: right;
}
#attention .attention-link-box .txt {
  border: 1px solid #707070;
  font-size:4.348vw;
  font-weight: 700;
  letter-spacing: 0.03em;
  padding: 0vw 2.4vw;
}
#contact .attention-txt{
  font-size:3.382vw;
  line-height: 2;
  letter-spacing: 0.03em;
  /* margin-top: 20vw; */
  text-align: center;
}


/* contact02
-------------------------------------*/
#contact.contact02 {
  padding: 15vw 0 18vw;
  background-position: top 40.1vw center;
}
}enter;
}
}