@charset "UTF-8";
@keyframes loop {
   0% {
       transform: translateX(100%);
   }
   to {
       transform: translateX(-100%);
   }
 }
 
 @keyframes loop2 {
   0% {
       transform: translateX(0);
   }
   to {
       transform: translateX(-200%);
   }
 }
/* ========================================
   @media screen and (min-width: 768px),print
======================================== */
@media screen and (min-width: 768px),print { 
main {
   max-width: 1920px;
   width: 100%;
   margin-inline: auto;
   background: #F4FCEF;
} 
.btn {
   background: url(../images/index/btn-bg.png)no-repeat;
   background-size: cover;
   box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
   border-radius: 60px;
   width: min(95%, 1000px);
   margin-inline: auto;
   position: relative;
}
.btn::before {
   position: absolute;
   content: "";
   background: url(../images/index/btn-human.png)no-repeat;
   background-size: contain;
   width: 98px;
   height: 150px;
   bottom: 0;
   left: 100px;
}
.btn a {
   font-weight: bold;
   font-size: 30px;
   letter-spacing: 0.05em;
   line-height: 1.5;
   text-align: center;
   color: #fff;
   display: block;
   padding: 43px 0 32px;
}
.btn span {
   position: absolute;
   top: -17px;
   left: 49.3%;
   transform: translateX(-50%);
   font-weight: bold;
   font-size: 16px;
   letter-spacing: 0.05em;
   line-height: 1.5;
   text-align: center;
   color: #ebb12a;
   background: #fff;
   border: 2px solid #ebb12a;
   border-radius: 50px;
   padding: 8px 85px 4px 98px;
}
   
/* mv
-------------------------------------*/
#mv {
   background: url(../images/index/mv-bg.png)no-repeat top left;
   background-size: contain;
   position: relative;
   margin-bottom: 180px;
}
#mv .inner{
   width: min(95%, 1760px);
   margin-left: auto;
   display: grid;
   grid-template-columns: 1fr 56.8181%;
   gap: 30px;
   padding-bottom: 130px;
   position: relative;
}
#mv .txt-box {
   position: relative;
   padding: 94px 0 0;
   z-index: 2;
}
#mv .subt {
   font-weight: bold;
   font-size: 30px;
   letter-spacing: 0.05em;
   line-height: 1;
   color: #fff;
   background: transparent linear-gradient(275deg, #FB7C71 0%, #F69568 64%, #F3A263 100%) 0% 0% no-repeat padding-box;
   padding: 11px 0px 0 10px;
   height: 60px;
   width: 640px;
   margin-bottom: 17px;
   position: relative;
}
#mv .subt::before {
   position: absolute;
   content: "";
   background: url(../images/index/mv-subt-deco.svg)no-repeat;
   background-size: contain;
   width: 43px;
   height: 22px;
   top: -35px;
   right: 188px;
}
#mv .subt span {
   font-weight: 600;
   font-size: 38px;
   letter-spacing: -0.07em;
   line-height: 1;
   color: #faff71;
   transform: rotate(-9deg);
   margin-bottom: 17px;
   display: inline-block;
   position: relative;
   top: 2px;
   left: -7px;
   margin-right: -11px;
}
#mv h1 {
   font-size: 38px;
   letter-spacing: 0.2em;
   line-height: 1.5;
   margin-bottom: 55px;
}
#mv h1 span {
   font-size: 60px;
   letter-spacing: 0.2em;
   line-height: 1.6;
   position: relative;
   display: inline-block;
}
#mv h1 span::after {
   position: absolute;
   content: '';
   width: 97%;
   height: 2px;
   background-color: #FB7C71;
   bottom: 6px;
   left: 0;
}
#mv h1 .span02::after {bottom: -1px;width: 95.5%;}
#mv .point {
   display: flex;
   align-items: start;
   margin: 0 0 0 31px;
   gap: 167px;
   position: relative;
   z-index: 3;
}
#mv .point li {
   font-weight: 500;
   font-size: 24px;
   letter-spacing: 0.05em;
   line-height: 1.5;
   text-align: center;
   color: #fb7c71;
   position: relative;
   z-index: 3;
}
#mv .point li::before,
#mv .point li::after {
   content: '';
   position: absolute;
   top: 55%;
   width: 6px;
   height: 6px;
   transform: translateY(-50%);
}
#mv .point li::before {
   background: url(../images/index/point-deco-l.png)no-repeat;
   background-size: contain;
   width: 100px;
   height: 168px;
   left: -78px;
}
#mv .point li::after {
   background: url(../images/index/point-deco-r.png)no-repeat;
   background-size: contain;
   width: 101px;
   height: 168px;
   right: -78px;
}
#mv .point .list02::before {top: 60%;left: -70px;}
#mv .point .list02::after {top: 60%;right: -70px;}
#mv .point li span {
   color: #fb7c71;
   text-align: center;
   font-weight: bold;
}
#mv .point .list01 .span01 {
   font-size: 50px;
   letter-spacing: 0.05em;
   line-height: 1.5;
   display: block;
}
#mv .point .list01 .span02 {
   font-size: 30px;
   letter-spacing: 0.05em;
   line-height: 1;
   padding: 0 0 0 14px;
   display: block;
}
#mv .point .list02 {
    padding: 18px 0 0;
}
#mv .point .list02 .span01 {
   font-size: 44px;
   letter-spacing: 0.05em;
   line-height: 1.5;
   padding: 9px 0 0 0;
   display: inline-block;
   position: relative;
   left: 20px;
}
#mv .point .list02 .span02 {
   font-size: 44px;
   letter-spacing: 0.05em;
   line-height: 1.5;
   position: relative;
   left: -4px;
}
#mv .en-deco {
   position: absolute;
   bottom: -75px;
   left: -103px;
   z-index: 2;
}
#mv .photo {
   position: relative;
   z-index: 1;
}
#mv .btn {
   position: absolute;
   bottom: -40px;
   margin-bottom: -40px;
   left: 50%;
   transform: translateX(-50%);
}

/* worries
-------------------------------------*/
#worries {
   position: relative;
   margin-top: 100px;
   z-index: 1;
}
#worries::before,
#worries::after {
   position: absolute;
   content: '';
   width: 100%;
   height: 346px;
}
#worries::before {
   background: url(../images/index/worries-bg-t.png)no-repeat;
   background-size: contain;
   top: 0;
   left: 0;
}
#worries::after {
   background: url(../images/index/worries-bg-b.png)no-repeat;
   background-size: contain;
   bottom: -92px;
   left: 0;
   z-index: -1;
}
#worries .inner {
   width: min(95%, 1280px);
   margin-inline: auto;
   background: #FFFFFF;
   padding: 109px 0 100px;
   position: relative;
}
#worries .inner::after {
   position: absolute;
   content: "";
   background: url(../images/index/worries-arrow.svg)no-repeat;
   background-size: contain;
   width: 270px;
   height: 94px;
   bottom: -90px;
   left: 50%;
   transform: translateX(-50%);
}
#worries .subt {
   font-weight: 500;
   font-size: 30px;
   letter-spacing: 0.05em;
   line-height: 1.5;
   text-align: center;
   margin-bottom: 8px;
}
#worries .subt span {
   position: relative;
}
#worries .subt span::before {
   position: absolute;
   content: '';
   width: 194px;
   height: 6px;
   background: url(../images/index/worries-subt-deco.svg)no-repeat;
   background-size: contain;
   top: -9px;
   left: 50%;
   transform: translateX(-50%);
}
#worries h2 {
   font-weight: 500;
   font-size: 40px;
   letter-spacing: 0.05em;
   line-height: 1.775;
   text-align: center;
   margin-bottom: 65px;
}
#worries .list {
   display: grid;
   gap: 20px;
   width: min(95%, 1000px);
   margin-inline: auto;
   position: relative;
}
#worries .list::before {
   position: absolute;
   content: "";
   background: url(../images/index/worries-human.png)no-repeat;
   background-size: contain;
   width: 107px;
   height: 110px;
   top: -110px;
   right: 61px;
}
#worries .list li {
   font-weight: bold;
   font-size: 18px;
   letter-spacing: 0.05em;
   line-height: 1.888;
   background: #efefef;
   padding: 23px 128px;
   position: relative;
}
#worries .list li::before {
   position: absolute;
   content: "";
   background: url(../images/index/check-icon.svg)no-repeat;
   background-size: contain;
   width: 29px;
   height: 25px;
   top: 50%;
   left: 79px;
   transform: translateY(-50%);
}
#worries .list li span {
   color: #FB7C71;
}

/* support
-------------------------------------*/
#support {
   background: url(../images/index/support-bg.png)no-repeat;
   background-size: cover;
   margin-top: -250px;
   padding: 432px 0 243px;
   position: relative;
   margin-bottom: 353px;
}
#support h2 {
   font-size: 26px;
   letter-spacing: 0.05em;
   line-height: 1.5;
   text-align: center;
   margin-bottom: 95px;
}
#support h2 span {
   font-weight: 600;
   font-size: 56px;
   letter-spacing: 0.05em;
   line-height: 1.5;
   text-align: center;
   color: #9dc982;
   display: inline-block;
   position: relative;
   margin: 17px 0 0 18px;
}
#support h2 span::after {
   position: absolute;
   content: "";
   background: url(../images/index/support-ttl-line.svg)no-repeat;
   width: 767px;
   height: 11px;
   bottom: -20px;
   left: 0;
}
#support .loop {padding-top: 0;padding-bottom: 2vw;overflow: hidden;}
#support .loop__box {display: flex;width: 100vw;}
#support .loop__box img {min-width: 136vw;}
#support .loop__box img:first-child {animation: loop 50s -25s linear infinite;}
#support .loop__box img:last-child {animation: loop2 50s linear infinite;}
#support .en-deco {
   position: absolute;
   bottom: 110px;
   right: 412px;
}
#support .btn {
   position: absolute;
   margin-top: 181px;
   left: 50%;
   transform: translateX(-50%);
}

/* voice
-------------------------------------*/
#voice .inner{
   width: min(95%, 1520px);
   margin-inline: auto;
   background: #b0d997;
   position: relative;
   text-align: center;
   padding-bottom: 120px;
}
#voice .inner::before {
   position: absolute;
   content: "";
   background: url(../images/index/voice-bg-t.svg)no-repeat;
   background-size: contain;
   width: 703px;
   height: 703px;
   top: -171px;
   left: 50%;
   transform: translateX(-50%);
}
#voice .en-deco {
   position: absolute;
   top: -230px;
   left: 441px;
}
#voice h2 {
   font-weight: 500;
   font-size: 24px;
   letter-spacing: 0.05em;
   text-align: center;
   color: #fff;
   margin-bottom: 18px;
   position: relative;
   top: -54px;
   display: inline-block;
}
#voice h2::after {
   position: absolute;
   content: "";
   background: url(../images/index/voice-human.png)no-repeat;
   background-size: contain;
   width: 182px;
   height: 209px;
   top: -2px;
   right: -254px;
}
#voice h2 span {
   font-weight: 600;
   font-size: 36px;
   letter-spacing: 0.05em;
   line-height: 1.6666;
   text-align: center;
   color: #fff;
   display: block;
   margin: 12px 0 0;
}
#voice .list {
   display: grid;
   gap: 40px;
   width: min(95%, 1200px);
   margin-inline: auto;
   position: relative;
}
#voice .list li {
   background: #FFFFFF;
   padding: 63px 0 61px;
   opacity: 0;
   transform: translateY(40px);
   transition: opacity 1s ease, transform 1s ease;
} 
#voice .list li.is-show {
   opacity: 1;
   transform: translateY(0);
 }
#voice .list li h3{
   font-weight: 500;
   font-size: 30px;
   letter-spacing: 0.05em;
   line-height: 1.26666;
   text-align: center;
   margin-bottom: 43px;
   background: linear-gradient(transparent 75%, #EFEF84 25%);
   display: inline-block;
} 
#voice .list li .inBox {
   width: min(95%, 1000px);
   margin-inline: auto;
   display: grid;
   grid-template-columns: 30.3% 64.1%;
   gap: 56px;
}
#voice .list li .photo-box {
   position: relative;
   margin: 9px 0 0;
}
#voice .list li .photo-box .label {
   font-weight: 500;
   font-size: 16px;
   letter-spacing: 0.05em;
   line-height: 1.6;
   text-align: center;
   color: #fff;
   background: transparent linear-gradient(180deg, #FB7C71 0%, #F69568 64%, #F3A263 100%) 0% 0% no-repeat padding-box;
   position: absolute;
   top: -51px;
   left: -60px;
   border-radius: 50%;
   width: 140px;
   height: 140px;
   display: grid;
   place-content: center;
}
#voice .list li .photo-box .label span {
   display: block;
   font-weight: 700;
   font-size: 18px;
   position: relative;
   top: 3px;
}
#voice .list li .photo-box .photo {
   margin-bottom: 16px;
}
#voice .list li .photo-box .name {
   font-weight: 500;
   font-size: 20px;
   letter-spacing: 0.05em;
   line-height: 1.5;
   text-align: left;
}
#voice .list li .txt-box {
   text-align: left;
}
#voice .list li .txt-box .txt {
   font-weight: 500;
   font-size: 18px;
   letter-spacing: 0.05em;
   line-height: 2.1111;
   margin-bottom: 38px;
}
#voice .list li .txt-box .txt span {
   font-weight: 700;
}
#voice .list li .txt-box .txt:nth-last-of-type(1) {
   margin-bottom: 0;
}

/* message
-------------------------------------*/
#message {
   background: url(../images/index/message-bg.png)no-repeat;
   background-size: cover;
   padding: 268px 0 0;
   margin-top: -92px;
}
#message .inner {
   width: min(95%, 1600px);
   margin-inline: auto;
   padding-bottom: 325px;
}
#message h2 {
   font-weight: 600;
   font-size: 40px;
   letter-spacing: 0.05em;
   line-height: 1.65;
   text-align: center;
   color: #885c53;
   margin-bottom: 42px;
}
#message .inBox {
   width: min(95%, 1300px);
   display: grid;
   grid-template-columns: 60.1% 52.07%;
   position: relative;
   margin-left: auto;
}
#message .inBox::before {
   position: absolute;
   content: "";
   background: url(../images/index/com-en-deco.svg)no-repeat;
   background-size: contain;
   width: 901px;
   height: 209px;
   bottom: -158px;
   left: -223px;
}
#message h3 {
   font-weight: bold;
   font-size: 20px;
   letter-spacing: 0.05em;
   line-height: 2.1;
   margin-bottom: 31px;
}
#message .txt-box {
   padding: 54px 0 0;
   position: relative;
   z-index: 2;
}
#message .txt {
   font-weight: 500;
   font-size: 16px;
   letter-spacing: 0.05em;
   line-height: 2.25;
   margin-bottom: 36px;
}
#message .lead {
   font-weight: bold;
   font-size: 32px;
   letter-spacing: 0.05em;
   color: #fff;
   margin: 80px 0 0;
   line-height: 1.565;
}
#message .lead span {
   background: transparent linear-gradient(275deg, #FB7C71 0%, #F69568 64%, #F3A263 100%) 0% 0% no-repeat padding-box;
   display: inline-block;
   padding: 0 19px;
}
#message .lead .span01 {
   margin-bottom: 19px;
}
#message .photo {
   position: relative;
   right: calc(100% - 519px);
}
 
/* reason
-------------------------------------*/
#reason {
   position: relative;
}
#reason::before,
#reason::after {
   position: absolute;
   content: '';
   width: 61.1458%;
   height: 888px;
   pointer-events: none;
}
#reason::before {
   background: url(../images/index/reason-bg-t.png)no-repeat;
   background-size: cover;
   top: 0;
   left: 0;
}
#reason::after {
   background: url(../images/index/reason-bg-b.png)no-repeat;
   background-size: cover;
   bottom: 0;
   right: 0;
}
#reason .inner {
   width: min(95%, 1600px);
   margin-inline: auto;
   text-align: center;
   padding: 119px 0 262px;
}
#reason .ttl-box {
   display: inline-block;
   text-align: center;
   position: relative;
   margin-bottom: 104px;
}
#reason .ttl-box::before,
#reason .ttl-box::after {
   position: absolute;
   content: '';
   width: 101px;
   height: 219px;
   top: 50%;
   transform: translateY(-50%);
}
#reason .ttl-box::before {
   background: url(../images/index/reason-ttl-l.png)no-repeat;
   background-size: contain;
   left: -100px;
}
#reason .ttl-box::after {
   background: url(../images/index/reason-ttl-r.png)no-repeat;
   background-size: contain;
   right: -100px;
}
#reason .ttl-box .subt {
   font-weight: 500;
   font-size: 30px;
   letter-spacing: 0.05em;
   line-height: 1.5;
   text-align: center;
   margin-bottom: 21px;
}
#reason .ttl-box .subt span {
   font-weight: 600;
   font-size: 40px;
   letter-spacing: 0.05em;
   line-height: 1.5;
   display: block;
   margin: 15px 0 0;
}
#reason .ttl-box h2 {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 20px;
   font-weight: bold;
   font-size: 40px;
   letter-spacing: 0.05em;
   line-height: 1.5;
   text-align: center;
}
#reason .ttl-box h2 span {
   position: relative;
   left: 5px;
}
#reason .lead {
   font-weight: 500;
   font-size: 38px;
   letter-spacing: 0.05em;
   line-height: 1.5789;
   text-align: center;
   color: #fff;
   padding: 29px 0 31px 125px;
   background: transparent linear-gradient(180deg, #FB7C71 0%, #F69568 64%, #F3A263 100%) 0% 0% no-repeat padding-box;
   margin-bottom: 6px;
   border-radius: 110px;
   width: min(95%, 800px);
   margin-inline: auto;
   position: relative;
   left: 15px;
}
#reason .lead::before {
   position: absolute;
   content: "";
   background: url(../images/index/reason-illust.png)no-repeat;
   background-size: contain;
   width: 160px;
   height: 160px;
   top: 50%;
   left: -30px;
   transform: translateY(-50%);
}
#reason .lead02 {
   font-weight: bold;
   font-size: 17px;
   letter-spacing: 0.05em;
   line-height: 2.9;
   text-align: center;
   color: #fb7c71;
   padding-left: 144px;
   margin-bottom: 116px;
}
#reason .list {
   display: grid;
   gap: 140px;
}
#reason .list li {
   opacity: 0;
   transform: translateY(40px);
   transition: opacity 1s ease, transform 1s ease;
}
#reason .list li.is-show {
   opacity: 1;
   transform: translateY(0);
}
#reason .list li .inBox {
   display: grid;
   position: relative;
   gap: 60px;
}
#reason .list li:nth-child(odd) .inBox{
   grid-template-columns: 46.25% 36.6%;
}
#reason .list li:nth-child(even) .inBox {
   grid-template-columns: 50% 46.25%;
   margin-left: auto;
}
#reason .list li .photo {
   position: relative;
   z-index: 1;
}
#reason .list li .photo::before {
   position: absolute;
   content: "";
   background: url(../images/index/reason-photo-bg.png)no-repeat;
   background-size: contain;
   width: 740px;
   height: 500px;
   bottom: -40px;
   z-index: -1;
}
#reason .list li:nth-child(odd) .photo::before {
   left: -40px;
}
#reason .list li:nth-child(even) .photo::before {
   right: -40px;
}
#reason .list li .txt-box {
   position: relative;
   text-align: left;
   padding: 80px 0 0;
}
#reason .list li:nth-child(2) .txt-box {
   position: relative;
   left: calc(100% - 472px);
}
#reason .list li .txt-box h3{
   background: #B0D997;
   font-weight: bold;
   font-size: 32px;
   letter-spacing: 0.05em;
   line-height: 1.875;
   text-align: center;
   color: #fff;
   display: inline-flex;
   gap: 30px;
   padding: 10px 40px;
   margin-bottom: 39px;
}
#reason .list li .txt-box h3 span {
   position: relative;
   top: -2px;
}
#reason .list li .txt-box h3 span img {
   vertical-align: middle;
}
#reason .list li .txt-box h3 .small {
   font-weight: bold;
   font-size: 20px;
   letter-spacing: 0.05em;
   line-height: 3;
   color: #fff;
   position: relative;
   left: -31px;
   top: 1px;
   margin-right: -36px;
}
#reason .list li .txt-box .txt {
   font-weight: 500;
   font-size: 24px;
   letter-spacing: 0.05em;
   line-height: 2.916;
   margin-bottom: -8px;
}
#reason .list li .txt-box .txt02 {
   font-weight: 600;
   font-size: 32px;
   letter-spacing: 0.05em;
   line-height: 1.8125;
}
#reason .list li .txt-box .txt02 span {
   background: linear-gradient(transparent 75%, #EFEF84 25%);
}
#reason .list li .txt-box .deco {
   position: absolute;
   content: "";
   top: 79px;
}
#reason .list li:nth-child(odd) .txt-box .deco {
   right: 0;
}
#reason .list li:nth-child(even) .txt-box .deco {
   left: -117px;
}
#reason .list li .txt-box .deco::after {
   position: absolute;
   content: "";
   background: #707070;
   width: 1px;
   height: 206px;
   top: 132px;
   transform: translateX(-50%);
}
#reason .list li:nth-child(odd) .txt-box .deco::after {
   left: 32%;
}
#reason .list li:nth-child(even) .txt-box .deco::after {
   left: 25%;
   top: 134px;
}

/* profile
-------------------------------------*/
#profile .ttl-box {
   background: url(../images/index/profile-ttl-bg.png)no-repeat;
   background-size: contain;
   padding: 277px 0 129px;
   text-align: center;
}
#profile .ttl-box h2 {
   padding-left: 13px;
}
#profile .content {
   background: url(../images/index/profile-bg.png)no-repeat;
   background-size: cover;
   padding-bottom: 32px;
}
#profile .content .inner{
   width: min(95%, 1600px);
   margin-inline: auto;
   background: #fff;
   box-shadow: 0px 20px 30px rgba(0, 0, 0, 0.16);
   position: relative;
   top: -150px;
   padding: 114px 160px 140px;
}
#profile .content .inBox01 {
   width: min(95%, 1100px);
   margin-inline: auto;
   display: grid;
   grid-template-columns: 1fr 42.7272%;
   gap: 63px;
   padding-bottom: 40px;
}
#profile .content .inBox01 .txt-box {
   padding-left: 56px;
}
#profile .content .inBox01 .txt-box .enttl{
   font-weight: bold;
   font-size: 20px;
   letter-spacing: 0.05em;
   line-height: 1.7;
   color: #fb7c71;
}
#profile .content .inBox01 .txt-box h3{
   font-weight: bold;
   font-size: 32px;
   letter-spacing: 0.05em;
   line-height: 1.875;
   margin-bottom: 27px;
}
#profile .content .inBox01 .txt-box h4{
   font-weight: 600;
   font-size: 34px;
   letter-spacing: 0.05em;
   line-height: 1.6176;
   color: #fb7c71;
   margin-bottom: 12px;
}
#profile .content .inBox01 .txt-box h4 span {
   border: 1px solid #FB7C71;
   padding: 0 3px 0 4px;
   position: relative;
   left: -5px;
}
#profile .content .inBox01 .txt-box .year {
   font-weight: 500;
   font-size: 16px;
   letter-spacing: 0.05em;
   margin-bottom: 31px;
}
#profile .content .inBox01 .txt-box .txt {
   font-weight: 500;
   font-size: 18px;
   letter-spacing: 0.05em;
   line-height: 1.7777;
   margin-bottom: 41px;
}
#profile .content .inBox01 .txt-box .point {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   position: relative;
   left: -19px;
}
#profile .content .inBox01 .txt-box .point li {
   font-weight: bold;
   font-size: 16px;
   letter-spacing: 0.05em;
   line-height: 1.3;
   text-align: center;
   border-radius: 50%;
   border: 1px solid #FB7C71;
   width: 212px;
   height: 212px;
   position: relative;
   padding: 49px 0 0;
}
#profile .content .inBox01 .txt-box .point li::after {
   border: 2px solid #FB7C71;
   border-radius: 50%;
   width: 230px;
   height: 230px;
   position: absolute;
   content: "";
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
}
#profile .content .inBox01 .txt-box .point li .span01 {
   font-weight: 600;
   font-size: 50px;
   letter-spacing: 0.05em;
   text-align: center;
   color: #fb7c71;
   position: relative;
   top: 4px;
}
#profile .content .inBox01 .txt-box .point li .span02 {
   margin: 8px 0 0;
   display: block;
}
#profile .content .inBox01 .txt-box .point .point02 {
   margin: 0 0 0 -7px;
   padding: 66px 0 0;
}
#profile .content .inBox01 .photo-box {
   margin: 5px 0 0;
}
#profile .content .inBox01 .photo-box .photo {
   margin-bottom: 13px;
}
#profile .content .inBox01 .photo-box .name {
   font-weight: 500;
   font-size: 16px;
   letter-spacing: 0.05em;
   line-height: 2;
}
#profile .content .inBox01 .photo-box .name span{
   font-weight: 700;
   font-size: 22px;
   letter-spacing: 0.05em;
   line-height: 1.4545;
   display: block;
}
#profile .content .inBox02 {
   background: #fdf7e7;
   display: grid;
   grid-template-columns: 36% 1fr;
   padding: 98px 82px 78px 140px;
   gap: 128px;
}
#profile .content .inBox02 .list {
   display: grid;
   gap: 19px;
}
#profile .content .inBox02 .list li .photo {
   margin-bottom: 11px;
}
#profile .content .inBox02 .list li .store {
   font-weight: bold;
   font-size: 18px;
   letter-spacing: 0.05em;
   color: #885c53;
   margin-bottom: 6px;
}
#profile .content .inBox02 .list li .address {
   font-weight: 500;
   font-size: 16px;
   letter-spacing: 0.05em;
   margin-bottom: 4px;
}
#profile .content .inBox02 .list li .open {
   font-weight: 500;
   font-size: 14px;
   letter-spacing: 0.05em;
   line-height: 1.71428;
}
#profile .content .inBox02 .map-box {
   position: relative;
}
#profile .content .inBox02 .map-box::before {
   position: absolute;
   content: "";
   background: url(../images/index/profile-en-deco.svg)no-repeat;
   background-size: contain;
   top: 11px;
   left: -47px;
   width: 626px;
   height: 200px;
}
#profile .content .inBox02 .ttl-box {
   background: none;
   padding: 85px 0 49px 0;
   margin-left: -3px;
   text-align: left;
   margin-bottom: 16px;
}
#profile .content .inBox02 .ttl-box h5 {
   font-weight: bold;
   font-size: 24px;
   letter-spacing: 0.05em;
   color: #fff;
   background: #885C53;
   display: inline-block;
   padding: 0 36px;
}

/* qa
-------------------------------------*/
#qa {
   background: #B0D997;
}
#qa .inner {
   width: min(95%, 1100px);
   margin-inline: auto;
   padding: 89px 0 160px;
}
#qa .enttl {
   text-align: center;
   margin-bottom: 16px;
}
#qa h2 {
   font-weight: bold;
   font-size: 32px;
   letter-spacing: 0.05em;
   line-height: 1.875;
   text-align: center;
   color: #fff;
   margin-bottom: 48px;
}

#qacontents{
   display: grid;
   gap: 35px;
}
#qa .toggle {display: none; }
#qa .option {
   position: relative;
   background: #fff;
   padding: 32px 55px 33px 150px;
}
#qa .option::before {
   position: absolute;
   content: "";
   background: url(../images/index/q.svg)no-repeat;
   background-size: contain;
   width: 18px;
   height: 23px;
   top: 48px;
   left: 9.3%;
}
#qa .title, .content {-webkit-backface-visibility: hidden; backface-visibility: hidden; transform: translateZ(0); transition: all 0.3s; }
#qa .title {
   font-weight: bold;
   font-size: 22px;
   letter-spacing: 0.05em;
   line-height: 2.7272;
   text-align: left;
   color: #885c53;
}
#qa .title::after, .title::before {content: "";position: absolute;right: 63px;top: 46px;width: 2px;height: 30px;background-color: #885C53;transition: all 0.3s;}
#qa .title::after {transform: rotate(90deg); }
#qa .content {max-height: 0; overflow: hidden; }
#qa .content p {
   margin: 0;
   padding: 5px 0 10px;
   font-weight: 500;
   font-size: 16px;
   letter-spacing: 0.05em;
   line-height: 1.9375;
}
#qa .toggle:checked + .title + .content {max-height: 500px; transition: all 1.5s; }
#qa .toggle:checked + .title::before {transform: rotate(90deg) !important; }

/* flow
-------------------------------------*/
#flow {
   background: url(../images/index/flow-bg.png)repeat-y,
   #fff;
   background-size: contain;
}
#flow .inner{
   width: min(95%, 1100px);
   margin-inline: auto;
   padding: 134px 0 140px;
}
#flow .enttl {
   font-weight: bold;
   font-size: 20px;
   letter-spacing: 0.05em;
   text-align: center;
   color: #885c53;
   margin-bottom: 3px;
}
#flow h2 {
   font-weight: bold;
   font-size: 32px;
   letter-spacing: 0.05em;
   line-height: 1.875;
   text-align: center;
   margin-bottom: 68px;
}
#flow .list {
   display: grid;
   gap: 50px;
   position: relative;
}
#flow .list::before {
   position: absolute;
   content: "";
   background: url(../images/index/flow-human.png)no-repeat;
   background-size: contain;
   width: 345px;
   height: 237px;
   top: -168px;
   right: 127px;
}
#flow .list .flow-list {
   background: #fff;
   border: 2px solid #b0d997;
   padding: 40px 80px 53px;
   position: relative;
   display: grid;
   grid-template-columns: 59.57% 36.17%;
   gap: 40px;
   opacity: 0;
   transform: translateY(40px);
   transition: opacity 1s ease, transform 1s ease;
}
#flow .list .flow-list.is-show {
   opacity: 1;
   transform: translateY(0);
}
#flow .list .flow-list:nth-child(2) {
   padding: 40px 80px 78px;
}
#flow .list .flow-list:not(:last-child):after {
   position: absolute;
   content: "";
   background: url(../images/index/flow-arrow.svg)no-repeat;
   background-size: contain;
   width: 57px;
   height: 31px;
   bottom: -23px;
   left: 50%;
   transform: translateX(-50%);
}
#flow .list .flow-list .ttl-frame {
   display: flex;
   gap: 20px;
   align-items: center;
   border-bottom: 1px solid #B0D997;
   padding-bottom: 13px;
   margin-bottom: 24px;
   position: relative;
   left: -2px;
}
#flow .list .flow-list .num {
   font-weight: bold;
   font-size: 16px;
   letter-spacing: 0.05em;
   color: #885c53;
}
#flow .list .flow-list h3 {
   display: flex;
   gap: 18px;
   align-items: center;
   font-weight: bold;
   font-size: 24px;
   letter-spacing: 0.05em;
   line-height: 2.5;
   color: #885c53;
}
#flow .list .flow-list h3 .icon img {
   vertical-align: middle;
}
#flow .list .flow-list .txt {
   font-weight: 500;
   font-size: 16px;
   letter-spacing: 0.05em;
   line-height: 1.875;
   margin-bottom: 28px;
   position: relative;
   left: -2px;
}
#flow .list .flow-list .point {
   display: grid;
   gap: 11px;
   margin-left: 37px;
}
#flow .list .flow-list .point li {
   font-weight: bold;
   font-size: 18px;
   letter-spacing: 0.05em;
   line-height: 1.6666;
   position: relative;
   border: none;
}
#flow .list .flow-list .point li::before {
   position: absolute;
   content: "";
   background: url(../images/index/check-icon.svg)no-repeat;
   background-size: contain;
   width: 24px;
   height: 20px;
   top: 50%;
   left: -39px;
   transform: translateY(-50%);
}
#flow .list .flow-list .photo {
   position: relative;
   top: 19px;
}

/* feature
-------------------------------------*/
#feature {
   background: url(../images/index/feature-bg.jpg)no-repeat top center;
   background-size: contain;
}
#feature .inner {
   padding: 720px 0 102px;
   width: min(95%, 1400px);
   margin-inline: auto;
}
#feature .inner .content {
   border-radius: 248px;
   background: #fff;
   text-align: center;
   padding: 0 0 38px;
}
#feature h2 {
   font-weight: bold;
   font-size: 24px;
   letter-spacing: 0.05em;
   line-height: 1.25;
   padding: 15px 57px;
   color: #fff;
   background: transparent linear-gradient(180deg, #B0D997 0%, #9ED87B 64%, #80B93E 100%) 0% 0% no-repeat padding-box;
   position: relative;
   top: -28px;
   display: inline-block;
   text-align: center;
   margin-bottom: 31px;
}
#feature .point {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   width: min(95%, 1108px);
   margin-inline: auto;
   gap: 40px;
   margin-bottom: 89px;
}
#feature .point li {
   background: #fff;
   border: 1px solid #c7a904;
   width: 247px;
   height: 247px;
   font-weight: bold;
   font-size: 18px;
   letter-spacing: 0.05em;
   line-height: 1.6666;
   text-align: center;
   border-radius: 50%;
   display: grid;
   place-content: center;
   position: relative;
}
#feature .point li::before {
   content: "";
   position: absolute;
   top: 10px;   
   left: 10px;
   right: 10px;
   bottom: 10px;
   border: 1px solid #c7a904; 
   border-radius: 50%; 
   pointer-events: none; 
 }
#feature .point li span {
   font-weight: bold;
   font-size: 28px;
   letter-spacing: 0.05em;
   line-height: 1.35714;
   text-align: center;
   color: #c7a903;
   display: block;
   position: relative;
   top: 7px;
}
#feature .btn {
   margin-bottom: -89px;
}

/* satisfaction
-------------------------------------*/
#satisfaction {
   background: url(../images/index/satisfaction-bg.png)no-repeat;
   background-size: cover;
   position: relative;
}
#satisfaction .inner {
   width: min(95%, 1000px);
   margin-inline: auto;
   padding: 223px 0 206px;
}
#satisfaction .txt-box {
   width: min(95%, 525px);
   margin-left: auto;
   margin-right: -2px;
}
#satisfaction h2 {
   font-weight: 400;
   font-size: 32px;
   letter-spacing: 0.05em;
   line-height: 1.45;
   color: #fff;
   margin-bottom: 55px;
}
#satisfaction h2 span {
   background: #969696;
   padding: 0 0 0 9px;
   display: inline-block;
}
#satisfaction h2 .span01 {
   margin: 0 0 16px;
}
#satisfaction .txt {
   font-weight: 500;
   font-size: 20px;
   letter-spacing: 0.05em;
   line-height: 1.5;
   margin-bottom: 31px;
}
#satisfaction .txt:nth-of-type(2) {
   margin-bottom: 59px;
}
#satisfaction .txt:nth-last-of-type(1) {
   margin-bottom: 0;
}

/* message02
-------------------------------------*/
#message02 {
   background: url(../images/index/message02-bg.png)no-repeat;
   margin-top: -32px;
}
#message02 .inner {
   width: min(95%, 1100px);
   margin-inline: auto;
   padding: 166px 0 100px;
}
#message02 h2 {
   font-weight: 600;
   font-size: 40px;
   letter-spacing: 0.05em;
   line-height: 1.6;
   text-align: center;
   color: #885c53;
   margin-bottom: 45px;
}
#message02 h2 span {
   font-weight: 600;
   font-size: 50px;
   letter-spacing: 0.05em;
   line-height: 1.34;
   text-align: center;
   color: #885c53;
   border: 1px solid #885c53;
   padding: 2px 7px;
   position: relative;
   top: 4px;
   left: 4px;
   margin-right: 15px;
}
#message02 .lead {
   font-weight: bold;
   font-size: 20px;
   letter-spacing: 0.05em;
   line-height: 2.5;
   text-align: center;
   margin-bottom: 123px;
}
#message02 .lead span {
   background: linear-gradient(transparent 20%, #EFEF84 80%);
}
#message02 .con-box {
   background: #FFFFFF;
   padding: 50px 50px 160px;
}
#message02 .con-box .inBox {
   display: grid;
   grid-template-columns: 56% 56.8%;
}
#message02 .con-box .inBox .txt-box {
   margin: 0 0 0 -129px;
}
#message02 .con-box .inBox .txt-box .txt{
   font-weight: 500;
   font-size: 18px;
   letter-spacing: 0.05em;
   line-height: 2.2222;
   margin-bottom: 40px;
}
#message02 .con-box .inBox .txt-box .txt:nth-last-of-type(1) {
   margin-bottom: 0;
}
#message02 .con-box .inBox .photo {
   position: relative;
   top: -115px;
   right: calc(100% - 391px);
   margin-bottom: -40px;
}
#message02 .con-box .inBox02 {
   width: min(95%, 920px);
   margin-inline: auto;
   border: 1px solid #fb7c71;
   position: relative;
   padding: 90px 90px 52px;
}
#message02 .con-box .inBox02::before {
   position: absolute;
   content: "";
   background: url(../images/index/message02-photo02.png)no-repeat;
   background-size: contain;
   width: 271px;
   height: 325px;
   top: 46%;
   right: 90px;
   transform: translateY(-50%);
   z-index: 2;
}
#message02 .con-box .inBox02::after {
   content: "";
   position: absolute;
   top: 10px;
   left: 10px;
   right: 10px;
   bottom: 10px;
   border: 1px solid #FB7C71;
   pointer-events: none;
}
#message02 .con-box .inBox02 h3 {
   font-weight: bold;
   font-size: 16px;
   letter-spacing: 0.05em;
   margin-bottom: 29px;
   position: relative;
}
#message02 .con-box .inBox02 h3::before {
   position: absolute;
   content: "";
   background: url(../images/index/message-enttl.svg)no-repeat;
   background-size: contain;
   width: 248px;
   height: 77px;
   top: -32px;
   left: -18px;
}
#message02 .con-box .inBox02 .txt {
   font-weight: 500;
   font-size: 16px;
   letter-spacing: 0.05em;
   line-height: 2.5;
}
#message02 .btn {
   top: -62px;
}

/* #end-contact
-------------------------------------*/
#end-contact {
   background: url(../images/index/end-contact-bg.png)no-repeat;
   background-size: cover;
}
#end-contact .inner {
   width: min(95%, 700px);
   margin-inline: auto;
   padding: 163px 0 394px;
   position: relative;
}
#end-contact .inner::before {
   position: absolute;
   content: "";
   background: url(../images/index/end-contact-en.svg)no-repeat;
   background-size: contain;
   width: 692px;
   height: 347px;
   top: -11px;
   left: -365px;
}
#end-contact .con-box {
   background: #fff;
   position: relative;
   text-align: center;
   padding: 40px 0 53px;
}
#end-contact .con-box::before {
   position: absolute;
   content: "";
   background: url(../images/index/entry-human01.png)no-repeat;
   background-size: contain;
        width: 221px;
        height: 231px;
        bottom: -140px;
        left: -155px;
}
#end-contact .con-box::after {
   position: absolute;
   content: "";
   background: url(../images/index/entry-human02.png)no-repeat;
   background-size: contain;
   width: 217px;
   height: 228px;
bottom: -137px;
right: -150px;
}
#end-contact .con-box h2 {
   font-weight: 600;
   font-size: 32px;
   letter-spacing: 0.05em;
   line-height: 1.375;
   text-align: center;
   margin-bottom: 36px;
   display: inline-block;
}
#end-contact .con-box h2 span {
   background: linear-gradient(transparent 75%, #EFEF84 25%);
}
#end-contact .con-box .list {
   display: grid;
   gap: 11px;
   margin-bottom: 24px;
   margin-inline: auto;
   justify-content: center;
   padding: 0 0 0 40px;
}
#end-contact .con-box .list li {
   font-weight: 500;
   font-size: 18px;
   letter-spacing: 0.05em;
   line-height: 1.6666;
   position: relative;
   text-align: left;
}
#end-contact .con-box .list li::before {
   position: absolute;
   content: "";
   background: url(../images/index/check-icon.svg)no-repeat;
   background-size: contain;
   width: 24px;
   height: 20px;
   top: 50%;
   left: -39px;
   transform: translateY(-50%);
}
#end-contact .con-box .txt {
   font-weight: 500;
   font-size: 20px;
   letter-spacing: 0.05em;
   line-height: 2.2;
   text-align: center;
   color: #1f1f1f;
   margin-bottom: 30px;
}
#end-contact .con-box .lead {
   font-weight: bold;
   font-size: 24px;
   letter-spacing: 0.05em;
   line-height: 1.6666;
   text-align: center;
   color: #fff;
   background: transparent linear-gradient(101deg, #885C53 0%, #885C53 0%, #A3675B 100%) 0% 0% no-repeat padding-box;
   width: min(95%, 500px);
   margin-inline: auto;
   padding: 13px 0;
   position: absolute;
   bottom: -53px;
   left: 50%;
   transform: translateX(-50%);
}

/* enrty
-------------------------------------*/
#entry-form {
   position: relative;
   top: -260px;
   display: block;
   height: 0;
}
#entry {
   background: #d2ebe4;
   width: min(95%, 1280px);
   margin-inline: auto;
   padding: 100px 0 120px;
   margin-top: -260px;
   position: relative;
   margin-bottom: -100px;
}
#entry .inner {
   background: #fff;
   width: min(95%, 1000px);
   margin-inline: auto;
   padding: 94px 0 100px;
}
#entry .enttl {
   font-weight: bold;
   font-size: 20px;
   letter-spacing: 0.05em;
   text-align: center;
   color: #9dc982;
   margin-bottom: 8px;
}
#entry h2 {
   font-weight: bold;
   font-size: 30px;
   letter-spacing: 0.05em;
   text-align: center;
   margin-bottom: 27px;
}

}

/* ========================================
@media screen and (min-width:768px) and (max-width:1919px)
======================================== */
@media screen and (min-width:768px) and (max-width:1919px) {
.btn {
   border-radius: 3.127vw;
   width: 52.11vw;
}
.btn::before {
   width: 5.1vw;
   height: 7.817vw;
   bottom: 0;
   left: 5.898vw;
}
.btn a {
   font-size: 1.563vw;
   padding: 2.241vw 0 1.668vw;
}
.btn span {
   top: -0.886vw;
   font-size: 0.834vw;
   border-radius: 2.606vw;
   padding: 0.417vw 4.429vw 0.208vw 5.107vw;
}

/* mv
-------------------------------------*/
#mv {
   margin-bottom: 9.38vw;
}
#mv .inner{
   width: 91.714vw;
   grid-template-columns: 1fr 56.8181%;
   gap: 1.563vw;
   padding-bottom: 6.774vw;
}
#mv .txt-box {
   padding: 4.898vw 0 0;
}
#mv .subt {
   font-size: 1.563vw;
   padding: 0.573vw 0px 0 0.521vw;
   height: 3.127vw;
   width: 33.351vw;
   margin-bottom: 0.886vw;
}
#mv .subt::before {
   width: 2.241vw;
   height: 1.146vw;
   top: -1.824vw;
   right: 9.797vw;
}
#mv .subt span {
   font-size: 1.98vw;
   letter-spacing: -0.07em;
   margin-bottom: 0.886vw;
   top: 0.104vw;
   left: -0.365vw;
   margin-right: -0.573vw;
}
#mv h1 {
   font-size: 1.98vw;
   margin-bottom: 2.866vw;
}
#mv h1 span {
   font-size: 3.127vw;
}
#mv h1 span::after {
   height: 0.104vw;
   bottom: 0.313vw;
}
#mv h1 .span02::after {bottom: -0.052vw;width: 95.5%;}
#mv .point {
   margin: 0 0 0 1.615vw;
   gap: 8.702vw;
}
#mv .point li {
   font-size: 1.251vw;
}
#mv .point li::before,
#mv .point li::after {
   width: 0.313vw;
   height: 0.313vw;
}
#mv .point li::before {
   width: 5.211vw;
   height: 8.755vw;
   left: -4.065vw;
}
#mv .point li::after {
   width: 5.263vw;
   height: 8.755vw;
   right: -4.065vw;
}
#mv .point .list02::before {top: 60%;left: -3.648vw;}
#mv .point .list02::after {top: 60%;right: -3.648vw;}
#mv .point .list01 .span01 {
   font-size: 2.606vw;
}
#mv .point .list01 .span02 {
   font-size: 1.563vw;
   padding: 0 0 0 0.73vw;
}
#mv .point .list02 {
   padding: 0.938vw 0 0;
}
#mv .point .list02 .span01 {
   font-size: 2.293vw;
   padding: 0.469vw 0 0 0;
   left: 1.042vw;
}
#mv .point .list02 .span02 {
   font-size: 2.293vw;
   left: -0.208vw;
}
#mv .en-deco {
   bottom: -3.908vw;
   left: -5.367vw;
}
#mv .en-deco img {
   width: 46.952vw;
}
#mv .photo img {
   width: 100%;
   height: auto;
}
#mv .btn {
   position: absolute;
   bottom: -2.084vw;
   margin-bottom: -2.084vw;
   left: 50%;
   transform: translateX(-50%);
}


/* worries
-------------------------------------*/
#worries {
   margin-top: 5.211vw;
}
#worries::before,
#worries::after {
   height: 18.03vw;
}

}


/* ========================================
@media screen and (min-width:768px) and (max-width:1000px)
======================================== */
@media screen and (min-width:768px) and (max-width:1000px) {
#worries .list::before {
   width: 10.7vw;
   height: 11vw;
   top: -11vw;
   right: 6.1vw;
}
#worries h2 {
   font-size: clamp(2.25rem, 1.422rem + 1.72vw, 2.5rem);
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1919px)
======================================== */
@media screen and (min-width:768px) and (max-width:1919px) {
/* support
-------------------------------------*/
#support {
   margin-top: -6.028vw;
   padding: 22.512vw 0 12.663vw;
   margin-bottom: 20.395vw;
}
#support .en-deco {
   position: absolute;
   bottom: 5.732vw;
   right: 21.47vw;
}
#support .en-deco img {
   width: 25.586vw
}
#support .btn {
   margin-top: 9.432vw;
   left: 50%;
   transform: translateX(-50%);
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1000px)
======================================== */
@media screen and (min-width:768px) and (max-width:1000px) {
#support h2 span {
   font-size: clamp(2.5rem, -0.81rem + 6.9vw, 3.5rem);
}
#support h2 span::after {
   width: 76.7vw;
   height: 1.1vw;
   bottom: -2vw;
   left: 0;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1919px)
======================================== */
@media screen and (min-width:768px) and (max-width:1919px) {
#voice .en-deco {
   position: absolute;
   top: -11.985vw;
   left: 22.981vw;
}
#voice .en-deco img {
   width: 17.77vw;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1100px)
======================================== */
@media screen and (min-width:768px) and (max-width:1100px) {
#voice .list li .photo-box .photo img{
   width: 100%;
   height: auto;
}
#voice .inner{
   padding-bottom: 10.909vw;
}
#voice .inner::before {
   width: 63.909vw;
   height: 63.909vw;
   top: -15.545vw;
}
#voice .en-deco {
   top: -20.909vw;
   left: 40.091vw;
}
#voice h2 {
   font-size: 2.182vw;
   margin-bottom: 1.636vw;
   top: -4.909vw;
}
#voice h2::after {
   width: 16.545vw;
   height: 19vw;
   top: -0.182vw;
   right: -23.091vw;
}
#voice h2 span {
   font-size: 3.273vw;
   margin: 1.091vw 0 0;
}
#voice .list {
   gap: 3.636vw;
}
#voice .list li {
   padding: 5.727vw 0 5.545vw;
} 
#voice .list li h3{
   font-size: 2.727vw;
   margin-bottom: 3.909vw;
} 
#voice .list li .inBox {
   gap: 5.091vw;
}
#voice .list li .photo-box {
   margin: 0.818vw 0 0;
}
#voice .list li .photo-box .label {
   font-size: 1.455vw;
   top: -4.636vw;
   left: -5.455vw;
   width: 12.727vw;
   height: 12.727vw;
}
#voice .list li .photo-box .label span {
   font-weight: 700;
   font-size: 1.636vw;
   top: 0.273vw;
}
#voice .list li .photo-box .photo {
   margin-bottom: 1.455vw;
}
#voice .list li .photo-box .name {
   font-size: 1.818vw;
}
#voice .list li .txt-box .txt {
   font-size: 1.636vw;
   margin-bottom: 3.455vw;
}


}

/* ========================================
@media screen and (min-width:768px) and (max-width:1640px)
======================================== */
@media screen and (min-width:768px) and (max-width:1640px) {
/* message
-------------------------------------*/
#message {
   padding: 16.341vw 0 0;
   margin-top: -5.61vw;
}
#message .inner {
   padding-bottom: 19.817vw;
}
#message h2 {
   font-size: 2.439vw;
   margin-bottom: 2.561vw;
}
#message .inBox::before {
   width: 54.939vw;
   height: 12.744vw;
   bottom: -9.634vw;
   left: -13.598vw;
}
#message h3 {
   margin-bottom: 1.89vw;
}
#message .txt-box {
   padding: 3.293vw 0 0;
}
#message .txt {
   margin-bottom: 2.195vw;
}
#message .lead {
   font-size: 1.951vw;
   margin: 4.878vw 0 0;
}
#message .lead span {
   padding: 0 1.159vw;
}
#message .lead .span01 {
   margin-bottom: 1.159vw;
}
#message .photo {
   right: calc(100% - 31.646vw);
}
#message .photo img {
   width: 100%;
   height: auto;
}



}

/* ========================================
@media screen and (min-width:768px) and (max-width:1640px)
======================================== */
@media screen and (min-width:768px) and (max-width:1640px) {
/* reason
-------------------------------------*/
#reason::before,
#reason::after {
   width: 61.1458%;
   height: 54.146vw;
}
#reason .inner {
   padding: 7.256vw 0 15.976vw;
}
#reason .ttl-box {
   margin-bottom: 6.341vw;
}
#reason .ttl-box::before,
#reason .ttl-box::after {
   width: 6.159vw;
   height: 13.354vw;
}
#reason .ttl-box::before {
   left: -6.098vw;
}
#reason .ttl-box::after {
   right: -6.098vw;
}
#reason .ttl-box .subt {
   font-size: 1.829vw;
   margin-bottom: 1.28vw;
}
#reason .ttl-box .subt span {
   font-size: 2.439vw;
   margin: 0.915vw 0 0;
}
#reason .ttl-box h2 {
   gap: 1.22vw;
   font-size: 2.439vw;
}
#reason .ttl-box h2 span {
   left: 0.305vw;
}
#reason .lead {
   font-size: 2.317vw;
   padding: 1.768vw 0 1.89vw 7.622vw;
   background: transparent linear-gradient(180deg, #FB7C71 0%, #F69568 64%, #F3A263 100%) 0% 0% no-repeat padding-box;
   margin-bottom: 0.366vw;
   border-radius: 6.707vw;
   left: 0.915vw;
   width: 48.78vw;
}
#reason .lead::before {
   width: 9.756vw;
   height: 9.756vw;
   top: 50%;
   left: -1.829vw;
   transform: translateY(-50%);
}
#reason .lead02 {
   font-size: clamp(0.75rem, 0.475rem + 0.57vw, 1.063rem);
   padding-left: 8.78vw;
   margin-bottom: 7.073vw;
}
#reason .list {
   gap: 8.537vw;
}
#reason .list li .inBox {
   gap: 3.659vw;
}
#reason .list li .photo img {
   width: 100%;
   height: auto;
}
#reason .list li .photo::before {
   width: 45.122vw;
   height: 30.488vw;
   bottom: -2.439vw;
}
#reason .list li:nth-child(odd) .photo::before {
   left: -2.439vw;
}
#reason .list li:nth-child(even) .photo::before {
   right: -2.439vw;
}
#reason .list li .txt-box {
   padding: 4.878vw 0 0;
}
#reason .list li:nth-child(2) .txt-box {
   left: calc(100% - 28.78vw);
}
#reason .list li .txt-box h3{
   font-size: 1.951vw;
   gap: 1.829vw;
   padding: 0.61vw 2.439vw;
   margin-bottom: 2.378vw;
}
#reason .list li .txt-box h3 span {
   top: -0.122vw;
}
#reason .list li .txt-box h3 span img {
   width: 2.317vw;
}
#reason .list li .txt-box h3 .small {
   font-size: 1.22vw;
   left: -1.89vw;
   top: 0.061vw;
   margin-right: -2.195vw;
}
#reason .list li .txt-box .txt {
   font-size: 1.463vw;
   margin-bottom: -0.488vw;
}
#reason .list li .txt-box .txt02 {
   font-size: 1.951vw;
}
#reason .list li .txt-box .deco {
   top: 4.817vw;
}
#reason .list li:nth-child(even) .txt-box .deco {
   left: -7.134vw;
}
#reason .list li .txt-box .deco img {
   width: 1.524vw;
}
#reason .list li .txt-box .deco::after {
   width: 0.061vw;
   height: 12.561vw;
   top: 8.049vw;
   transform: translateX(-50%);
}
#reason .list li:nth-child(even) .txt-box .deco::after {
   top: 8.171vw;
}

/* profile
-------------------------------------*/
#profile .ttl-box {
   padding: 16.89vw 0 7.866vw;
}
#profile .ttl-box h2 {
   padding-left: 0.793vw;
}
#profile .ttl-box h2 img {
   width: 30.793vw;
}
#profile .content {
   padding-bottom: 1.951vw;
}
#profile .content .inner{
   top: -9.146vw;
   padding: 6.951vw 9.756vw 8.537vw;
}
#profile .content .inBox01 {
   gap: 3.841vw;
   padding-bottom: 2.439vw;
}
#profile .content .inBox01 .txt-box {
   padding-left: 3.415vw;
}
#profile .content .inBox01 .txt-box .enttl{
   font-size: 1.22vw;
}
#profile .content .inBox01 .txt-box h3{
   font-size: 1.951vw;
   margin-bottom: 1.646vw;
}
#profile .content .inBox01 .txt-box h4{
   font-size: 2.073vw;
   margin-bottom: 0.732vw;
}
#profile .content .inBox01 .txt-box h4 span {
   padding: 0 0.183vw 0 0.244vw;
   left: -0.305vw;
}
#profile .content .inBox01 .txt-box .year {
   font-size: 0.976vw;
   margin-bottom: 1.89vw;
}
#profile .content .inBox01 .txt-box .txt {
   font-size: clamp(0.625rem, 0.295rem + 0.69vw, 1rem);
   margin-bottom: 2.5vw;
}
#profile .content .inBox01 .txt-box .point {
   left: -1.159vw;
}
#profile .content .inBox01 .txt-box .point li {
   font-size: clamp(0.625rem, 0.295rem + 0.69vw, 1rem);
   width: 12.927vw;
   height: 12.927vw;
   padding: 2.988vw 0 0;
}
#profile .content .inBox01 .txt-box .point li::after {
   width: 14.024vw;
   height: 14.024vw;
}
#profile .content .inBox01 .txt-box .point li .span01 {
   font-size: 3.049vw;
   top: 0.244vw;
}
#profile .content .inBox01 .txt-box .point li .span02 {
   margin: 0.488vw 0 0;
}
#profile .content .inBox01 .txt-box .point .point02 {
   margin: 0 0 0 -0.427vw;
   padding: 4.024vw 0 0;
}
#profile .content .inBox01 .photo-box {
   margin: 0.305vw 0 0;
}
#profile .content .inBox01 .photo-box .photo {
   margin-bottom: 0.793vw;
}
#profile .content .inBox01 .photo-box .photo img{
   width: 100%;
   height: auto;
}
#profile .content .inBox01 .photo-box .name {
   font-size: clamp(0.75rem, 0.53rem + 0.46vw, 1rem);
}
#profile .content .inBox01 .photo-box .name span{
   font-size: clamp(1.125rem, 0.905rem + 0.46vw, 1.375rem);
}
#profile .content .inBox02 {
   padding: 5.976vw 5vw 4.756vw 8.537vw;
   gap: 7.805vw;
}
#profile .content .inBox02 .list {
   gap: 1.159vw;
}
#profile .content .inBox02 .list li .photo {
   margin-bottom: 0.671vw;
}
#profile .content .inBox02 .list li .photo img {
   width: 100%;
   height: auto;
}
#profile .content .inBox02 .list li .store {
   font-size: clamp(0.875rem, 0.655rem + 0.46vw, 1.125rem);
   margin-bottom: 0.366vw;
}
#profile .content .inBox02 .list li .address {
   font-size: clamp(0.75rem, 0.53rem + 0.46vw, 1rem);
   margin-bottom: 0.244vw;
}
#profile .content .inBox02 .list li .open {
   font-size: clamp(0.625rem, 0.295rem + 0.69vw, 1rem);
}
#profile .content .inBox02 .map-box::before {
   top: 0.671vw;
   left: -2.866vw;
   width: 38.171vw;
   height: 12.195vw;
}
#profile .content .inBox02 .map img {
   width: 100%;
   height: auto;
}
#profile .content .inBox02 .ttl-box {
   padding: 5.183vw 0 2.988vw 0;
   margin-left: -0.183vw;
   margin-bottom: 0.976vw;
}
#profile .content .inBox02 .ttl-box h5 {
   font-size: 1.463vw;
   padding: 0 2.195vw;
}


}

/* ========================================
@media screen and (min-width:768px) and (max-width:1440px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1440px) {
   #message h3 {
      font-size: 1.32vw;
      margin-bottom: 1.89vw;
   }
   #message .txt {
      font-size: 1.276vw;
      margin-bottom: 2.195vw;
   }
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1140px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1140px) {
  /* flow
-------------------------------------*/
#flow .inner{
   padding: 11.754vw 0 12.281vw;
}
#flow .enttl {
   font-size: 1.754vw;
   margin-bottom: 0.263vw;
}
#flow h2 {
   font-size: 2.807vw;
   margin-bottom: 5.965vw;
}
#flow .list {
   gap: 4.386vw;
}
#flow .list::before {
   width: 30.263vw;
   height: 20.789vw;
   top: -14.737vw;
   right: 11.14vw;
}
#flow .list .flow-list {
   padding: 3.509vw 7.018vw 4.649vw;
   gap: 3.509vw;
}
#flow .list .flow-list:nth-child(2) {
   padding: 3.509vw 7.018vw 6.842vw;
}
#flow .list .flow-list:not(:last-child):after {
   width: 5vw;
   height: 2.719vw;
   bottom: -2.018vw;
}
#flow .list .flow-list .ttl-frame {
   gap: 1.754vw;
   padding-bottom: 1.14vw;
   margin-bottom: 2.105vw;
   left: -0.175vw;
}
#flow .list .flow-list .num {
   font-size: 1.404vw;
}
#flow .list .flow-list h3 {
   gap: 1.579vw;
   font-size: 2.105vw;
}
#flow .list .flow-list .txt {
   font-size: 1.404vw;
   margin-bottom: 2.456vw;
   left: -0.175vw;
}
#flow .list .flow-list .point {
   gap: 0.965vw;
   margin-left: 3.246vw;
}
#flow .list .flow-list .point li {
   font-size: 1.579vw;
}
#flow .list .flow-list .point li::before {
   width: 2.105vw;
   height: 1.754vw;
   left: -3.421vw;
}
#flow .list .flow-list .photo {
   top: 1.667vw;
}
#flow .list .flow-list .photo img {
   width: 100%;
   height: auto;
}

}

/* ========================================
@media screen and (min-width:768px) and (max-width:1640px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1640px) {
/* feature
-------------------------------------*/
#feature .inner {
   padding:40.805vw 0 6.22vw;
}
#feature .inner .content {
   border-radius: 15.122vw;
   padding: 0 0 2.317vw;
}
#feature h2 {
   font-size: 1.463vw;
   padding: 0.915vw 3.476vw;
   top: -1.707vw;
   margin-bottom: 1.89vw;
}
#feature .point {
   gap: 2.439vw;
   margin-bottom: 5.427vw;
   width: 67.561vw;
}
#feature .point li {
   width: 15.061vw;
   height: 15.061vw;
   font-size: clamp(0.625rem, 0.185rem + 0.92vw, 1.125rem);
   margin-inline: auto;
}
#feature .point li::before {
   top: 0.61vw;   
   left: 0.61vw;
   right: 0.61vw;
   bottom: 0.61vw;
 }
#feature .point li span {
   font-size: 1.707vw;
   top: 0.427vw;
}
#feature .btn {
   margin-bottom: -5.427vw;
}

}

/* ========================================
  @media screen and (min-width: 768px), print
======================================== */
@media screen and (min-width:768px) and (max-width:1919px) {
   /* satisfaction
-------------------------------------*/
#satisfaction .inner {
   width: 52.11vw;
   padding: 11.621vw 0 10.735vw;
}
#satisfaction .txt-box {
   width: 27.358vw;
   margin-right: -0.104vw;
}
#satisfaction h2 {
   font-size: 1.668vw;
   margin-bottom: 2.866vw;
}
#satisfaction h2 span {
   padding: 0 0 0 0.469vw;
}
#satisfaction h2 .span01 {
   margin: 0 0 0.834vw;
}
#satisfaction .txt {
   font-size: clamp(0.625rem, 0.208rem + 0.87vw, 1.25rem);
   margin-bottom: 1.615vw;
}
#satisfaction .txt:nth-of-type(2) {
   margin-bottom: 3.075vw;
}

 
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1440px)
======================================== */
@media screen and (min-width:768px) and (max-width:1440px) {
/* message02
-------------------------------------*/
#message02 {
   margin-top: -4.222vw;
}
#message02 .inner {
   width: 76.389vw;
   padding: 11.528vw 0 6.944vw;
}
#message02 h2 {
   font-size: 2.778vw;
   margin-bottom: 3.125vw;
}
#message02 h2 span {
   font-size: 3.472vw;
   padding: 0.139vw 0.486vw;
   top: 0.278vw;
   left: 0.278vw;
   margin-right: 1.042vw;
}
#message02 .lead {
   font-size: clamp(0.938rem, 0.58rem + 0.74vw, 1.25rem);
   margin-bottom: 8.542vw;
}
#message02 .con-box {
   padding: 3.472vw 3.472vw 11.111vw;
}
#message02 .con-box .inBox .txt-box {
   margin: 0 0 0 -8.958vw;
}
#message02 .con-box .inBox .txt-box .txt{
   font-size: 1.25vw;
   margin-bottom: 2.778vw;
}
#message02 .con-box .inBox .photo {
   top: -7.986vw;
   right: calc(100% - 27.153vw);
   margin-bottom: -2.778vw;
}
#message02 .con-box .inBox .photo img {
   width: 100%;
   height: auto;
}
#message02 .con-box .inBox02 {
   width: 63.889vw;
   padding: 6.25vw 6.25vw 3.611vw;
}
#message02 .con-box .inBox02::before {
   width: 18.819vw;
   height: 24.792vw;
   right: 6.25vw;
}
#message02 .con-box .inBox02::after {
   top: 0.694vw;
   left: 0.694vw;
   right: 0.694vw;
   bottom: 0.694vw;
}
#message02 .con-box .inBox02 h3 {
   font-size: clamp(0.625rem, 0.196rem + 0.89vw, 1rem);
   margin-bottom: 2.014vw;
}
#message02 .con-box .inBox02 h3::before {
   width: 17.222vw;
   height: 5.347vw;
   top: -2.222vw;
   left: -1.25vw;
}
#message02 .con-box .inBox02 .txt {
   font-size: clamp(0.625rem, 0.196rem + 0.89vw, 1rem);
}
#message02 .btn {
   top: -4.306vw;
}

}

/* ========================================
@media screen and (min-width:768px) and (max-width:1100px) 
======================================== */
@media screen and (min-width:768px) and (max-width:1100px) {
/* #end-contact
-------------------------------------*/
#end-contact .inner {
   width: 63.636vw;
   padding: 14.818vw 0 35.818vw;
}
#end-contact .inner::before {
   width: 62.909vw;
   height: 31.545vw;
   top: -1vw;
   left: -33.182vw;
}
#end-contact .con-box {
   padding: 3.636vw 0 4.818vw;
}
#end-contact .con-box::before {
         width: 16.545vw;
        height: 18vw;
        bottom: -12.818vw;
        left: -11vw;
}
#end-contact .con-box::after {
        width: 16.182vw;
        height: 17.273vw;
        bottom: -12.727vw;
        right: -9vw;
}
#end-contact .con-box h2 {
   font-size: 2.909vw;
   margin-bottom: 3.273vw;
}
#end-contact .con-box .list {
   gap: 1vw;
   margin-bottom: 2.182vw;
   padding: 0 0 0 3.636vw;
}
#end-contact .con-box .list li {
   font-size: 1.636vw;
}
#end-contact .con-box .list li::before {
   width: 2.182vw;
   height: 1.818vw;
   left: -3.545vw;
}
#end-contact .con-box .txt {
   font-size: 1.818vw;
   margin-bottom: 2.727vw;
}
#end-contact .con-box .lead {
   font-size: 2.182vw;
   width:45.455vw;
   padding: 1.182vw 0;
   bottom: -4.818vw;
}


#entry-form {
   top: -23.636vw;
}
#entry {
   padding: 9.091vw 0 10.909vw;
   margin-top: -23.636vw;
   margin-bottom: -9.091vw;
}

}

/* ========================================
   @media screen and (max-width: 767px)
======================================== */
@media screen and (max-width: 767px) {
.btn {
   background: url(../images/index/btn-bg_sp.png)no-repeat;
   background-size: cover;
   box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
   border-radius: 14.49vw;
   width: 89.37vw;
   margin-inline: auto;
   position: relative;
}
.btn::before {
   position: absolute;
   content: "";
   background: url(../images/index/btn-human_sp.png)no-repeat;
   background-size: contain;
   width: 17.63vw;
   height: 23.01vw;
   bottom: 0;
   left: 11vw;
   z-index: 10;
}
.btn a {
   font-weight: bold;
   font-size:4.348vw;
   letter-spacing: 0.05em;
   line-height: 1.5555;
   text-align: center;
   color: #fff;
   display: block;
   padding: 6.5vw 0 4.2vw;
}
.btn span {
   position: absolute;
   top: -6vw;
   left: 50%;
   transform: translateX(-50%);
   font-weight: bold;
   font-size:3.865vw;
   letter-spacing: 0.05em;
   line-height: 1.5;
   text-align: center;
   color: #ebb12a;
   background: #fff;
   border: 0.48vw solid #ebb12a;
   border-radius: 12.08vw;
   padding: 1.7vw 3vw;
   width: 67.63vw;
}
/* mv
-------------------------------------*/
#mv {
   background: url(../images/index/mv-bg_sp.png)no-repeat top left;
   background-size: contain;
   margin-top: -14.49vw;
   position: relative;
}
#mv .inner{
   display: grid;
   padding-bottom: 37.1vw;
   padding-top: 14.49vw;
}
#mv .txt-box {
   position: relative;
   order: 2;
   width: 95.7vw;
   margin-left: auto;
   z-index: 2;
}
#mv .subt {
   font-weight: bold;
   font-size:3.623vw;
   letter-spacing: 0.05em;
   line-height: 1;
   color: #fff;
   background: transparent linear-gradient(275deg, #FB7C71 0%, #F69568 64%, #F3A263 100%) 0% 0% no-repeat padding-box;
   padding: 1.5vw 0 0 1.5vw;
   height: 8.21vw;
   width: 79.71vw;
   margin-top: -2.5vw;
   position: relative;
   margin-bottom: 2.2vw;
   position: relative;
   left: 1vw;
}
#mv .subt::before {
   position: absolute;
   content: "";
   background: url(../images/index/mv-subt-deco_sp.svg)no-repeat;
   background-size: contain;
   width: 6.28vw;
   height: 3.14vw;
   top: -4.5vw;
   right: 23.5vw;
}
#mv .subt span {
   font-weight: 600;
   font-size:4.589vw;
   letter-spacing: -0.07em;
   line-height: 1;
   color: #faff71;
   transform: rotate(-9deg);
   display: inline-block;
   position: relative;
   top: 0.5vw;
   left: -0.5vw;
   margin-right: 0.5vw;
}
#mv h1 {
   font-size:4.831vw;
   letter-spacing: 0.2em;
   line-height: 1.5;
   margin-bottom: 8.5vw;
   position: relative;
   left: 1vw;
}
#mv h1 span {
   font-size:7.971vw;
   letter-spacing: 0.2em;
   line-height: 1.6;
   position: relative;
   display: inline-block;
}
#mv h1 span::after {
   position: absolute;
   content: '';
   width: 97%;
   height: 0.48vw;
   background-color: #FB7C71;
   bottom: -0.1vw;
   left: 0;
}
#mv h1 .span02::after {bottom: -0.4vw;width: 95.5%;}
#mv .point {
   display: flex;
   align-items: start;
   gap: 13.5vw;
   position: relative;
   z-index: 3;
   width: 94.20vw;
   margin-inline: auto;
}
#mv .point li {
   font-weight: 500;
   font-size:3.382vw;
   letter-spacing: 0.05em;
   line-height: 1.5;
   text-align: center;
   color: #fb7c71;
   position: relative;
   z-index: 3;
   padding: 0 6vw;
}
#mv .point li::before,
#mv .point li::after {
   content: '';
   position: absolute;
   top: 55%;
   transform: translateY(-50%);
}
#mv .point li::before {
   background: url(../images/index/point-deco-l_sp.png)no-repeat;
   background-size: contain;
   width: 12.44vw;
   height: 20.65vw;
   left: -2.5vw;
}
#mv .point li::after {
   background: url(../images/index/point-deco-r_sp.png)no-repeat;
   background-size: contain;
   width: 12.44vw;
   height: 20.65vw;
   right: -2.5vw;
}
#mv .point .list02::before {top: 62%;left: -9.2vw;}
#mv .point .list02::after {top: 62%;right: -9.2vw;}
#mv .point li span {
   color: #fb7c71;
   text-align: center;
   font-weight: bold;
}
#mv .point .list01 .span01 {
   font-size:5.797vw;
   letter-spacing: 0.05em;
   line-height: 1.5;
   display: block;
}
#mv .point .list01 .span02 {
   font-size:3.382vw;
   letter-spacing: 0.05em;
   line-height: 1;
   padding: 0 0 0 1vw;
   display: block;
}
#mv .point .list02 {
    padding: 1vw 0 0;
}
#mv .point .list02 .span01 {
   font-size:5.072vw;
   letter-spacing: 0.05em;
   line-height: 1.5;
   padding: 1vw 0 0 0vw;
   display: inline-block;
   position: relative;
   left: 2.4vw;
}
#mv .point .list02 .span02 {
   font-size:5.072vw;
   letter-spacing: 0.05em;
   line-height: 1.5;
   position: relative;
   left: 0vw;
}
#mv .en-deco {
   position: absolute;
   bottom: -23vw;
   left: -1.5vw;
   z-index: 2;
}
#mv .photo {
   width: 91.06vw;
   margin-left: auto;
   order: 1;
   position: relative;
   z-index: 1;
}
#mv .btn {
   position: absolute;
   bottom: -13.2vw;
   left: 50%;
   transform: translateX(-50%);
}

/* worries
-------------------------------------*/
#worries {
   position: relative;
   margin-top: 34.78vw;
   z-index: 1;
}
#worries .inner {
   background: #FFFFFF;
   padding: 15.5vw 0 9.9vw;
   position: relative;
}
#worries .inner::before {
   position: absolute;
   content: "";
   background: url(../images/index/worries-human_sp.png)no-repeat;
   background-size: contain;
   width: 20.53vw;
   height: 21.32vw;
   top: -9vw;
   left: 52.6%;
   transform: translateX(-50%);
}
#worries .inner::after {
   position: absolute;
   content: "";
   background: url(../images/index/worries-arrow_sp.svg)no-repeat;
   background-size: contain;
   width: 27.05vw;
   height: 9.66vw;
   bottom: -9vw;
   left: 50%;
   transform: translateX(-50%);
}
#worries .subt {
   font-weight: 500;
   font-size:5.797vw;
   letter-spacing: 0.05em;
   line-height: 2;
   text-align: center;
   margin-bottom: 0vw;
}
#worries .subt span {
   position: relative;
}
#worries .subt span::before {
   position: absolute;
   content: '';
   width: 37.92vw;
   height: 1.45vw;
   background: url(../images/index/worries-subt-deco_sp.svg)no-repeat;
   background-size: contain;
   top: -1vw;
   left: 50%;
   transform: translateX(-50%);
}
#worries h2 {
   font-weight: 500;
   font-size:6.28vw;
   letter-spacing: 0.05em;
   line-height: 1.775;
   text-align: center;
   margin-bottom: 7vw;
}
#worries .list {
   display: grid;
   gap: 3.45vw;
   width: 89.37vw;
   margin-inline: auto;
   position: relative;
}
#worries .list li {
   font-weight: bold;
   font-size:3.865vw;
   letter-spacing: 0.05em;
   line-height: 1.875;
   background: #efefef;
   padding: 3.11vw 3.62vw 2.81vw 14.08vw;
   position: relative;
}
#worries .list li::before {
   position: absolute;
   content: "";
   background: url(../images/index/check-icon.svg)no-repeat;
   background-size: contain;
   width: 5.8vw;
   height: 5.83vw;
   top: 52%;
   left: 4.5vw;
   transform: translateY(-50%);
}
#worries .list li span {
   color: #FB7C71;
}

/* support
-------------------------------------*/
#support {
   background: url(../images/index/support-bg_sp.png)no-repeat;
   background-size: cover;
   margin-top: -1vw;
   padding: 17.5vw 0 11.6vw;
   position: relative;
   margin-bottom: 56.31vw;
}
#support h2 {
   font-size:4.348vw;
   letter-spacing: 0.05em;
   line-height: 1.5;
   text-align: center;
   margin-bottom: 9vw;
}
#support h2 span {
   font-weight: 600;
   font-size:8.696vw;
   letter-spacing: 0.05em;
   line-height: 1.8333;
   text-align: center;
   color: #9dc982;
   display: inline-block;
   position: relative;
   margin: 0.5vw 0 -0.5vw;
}
#support .loop {padding-top: 0;padding-bottom: 27.5vw;overflow: hidden;}
#support .loop__box {display: flex;width: 100vw;}
#support .loop__box img {min-width: 396vw;}
#support .loop__box img:first-child {animation: loop 50s -25s linear infinite;}
#support .loop__box img:last-child {animation: loop2 50s linear infinite;}
#support h2 .span01::after {
   position: absolute;
   content: "";
   background: url(../images/index/support-ttl-line01_sp.svg)no-repeat;
   width: 67.15vw;
   height: 1.45vw;
   bottom: -2vw;
   left: 0;
}
#support h2 .span02::after {
   position: absolute;
   content: "";
   background: url(../images/index/support-ttl-line02_sp.svg)no-repeat;
   width: 50.97vw;
   height: 1.45vw;
   bottom: 0.5vw;
   left: 0;
}
#support .en-deco {
   position: absolute;
   bottom: 27vw;
   right: 3vw;
}
#support .btn {
   position: absolute;
   left: 50%;
   transform: translateX(-50%);
}

/* voice
-------------------------------------*/
#voice {
   margin-bottom: 4.83vw;
}
#voice .inner{
   background: #b0d997;
   position: relative;
   text-align: center;
   padding-bottom: 9vw;
}
#voice .inner::before {
   position: absolute;
   content: "";
   background: url(../images/index/voice-bg-t.svg)no-repeat;
   background-size: contain;
   width: 67.15vw;
   height: 67.15vw;
   top: -29vw;
   left: 50%;
   transform: translateX(-50%);
}
#voice .en-deco {
   position: absolute;
   top: -34.5vw;
   left: 15vw;
}
#voice h2 {
   font-weight: 500;
   font-size:4.348vw;
   letter-spacing: 0.05em;
   text-align: center;
   color: #fff;
   margin-bottom: -13.5vw;
   position: relative;
   top: -13.5vw;
   display: inline-block;
}
#voice h2::after {
   position: absolute;
   content: "";
   background: url(../images/index/voice-human_sp.png)no-repeat;
   background-size: contain;
   width: 17.97vw;
   height: 20.71vw;
   top: 1vw;
   right: -19.5vw;
}
#voice h2 span {
   font-weight: 600;
   font-size:5.314vw;
   letter-spacing: 0.05em;
   line-height: 1.4545;
   text-align: center;
   color: #fff;
   display: block;
}
#voice .list {
   display: grid;
   gap: 7.25vw;
   width: 94.20vw;
   margin-inline: auto;
   position: relative;
   margin-top: -7vw;
}
#voice .list li {
   background: #FFFFFF;
   padding: 6.5vw 0 7.94vw;
   opacity: 0;
   transform: translateY(40px);
   transition: opacity 1s ease, transform 1s ease;
} 
#voice .list li.is-show {
   opacity: 1;
   transform: translateY(0);
 }
#voice .list li h3{
   font-weight: 500;
   font-size:4.831vw;
   letter-spacing: 0.05em;
   line-height: 1.9;
   text-align: center;
   margin-bottom: 10.11vw;
   display: inline-block;
   z-index: 1;
} 
#voice .list li h3 span {
   display: inline-block;
   position: relative;
}
#voice .list li h3 span::after {
   position: absolute;
   content: '';
   width: 100%;
   height: 2.42vw;
   bottom: 1vw;
   left: 50%;
   background-color: #EFEF84;
   z-index: -1;
   transform: translateX(-50%);
}
#voice .list li .inBox {
   width: 82.13vw;
   margin-inline: auto;
   display: grid;
   gap: 5.5vw;
}
#voice .list li .photo-box {
   position: relative;
   border-bottom: 0.2vw solid #FFDEDE;
   padding-bottom: 3.5vw;
}
#voice .list li .photo-box .label {
   font-weight: 500;
   font-size:3.865vw;
   letter-spacing: 0.05em;
   line-height: 1.625;
   text-align: center;
   color: #fff;
   background: transparent linear-gradient(180deg, #FB7C71 0%, #F69568 64%, #F3A263 100%) 0% 0% no-repeat padding-box;
   position: absolute;
   top: -4vw;
   left: -3.5vw;
   border-radius: 50%;
   width: 24.15vw;
   height: 24.15vw;
   display: grid;
   place-content: center;
}
#voice .list li .photo-box .label span {
   display: block;
   font-weight: 700;
   font-size:3.865vw;
   position: relative;
}
#voice .list li .photo-box .photo {
   margin-bottom: 3vw;
}
#voice .list li .photo-box .name {
   font-weight: 500;
   font-size: 3.865vw;
   letter-spacing: 0.05em;
   line-height: 1.875;
   text-align: left;
}
#voice .list li .txt-box {
   text-align: left;
}
#voice .list li .txt-box .txt {
   font-weight: 500;
   font-size:3.865vw;
   letter-spacing: 0.05em;
   line-height: 1.875;
   margin-bottom: 7.4vw;
}
#voice .list li .txt-box .txt span {
   font-weight: 700;
}
#voice .list li .txt-box .txt:nth-last-of-type(1) {
   margin-bottom: 0;
}

/* message
-------------------------------------*/
#message {
   background: url(../images/index/message-bg_sp.png)no-repeat;
   background-size: cover;
   padding: 14.49vw 0 0;
}
#message .inner {
   width: 89.37vw;
   margin-inline: auto;
   padding-bottom: 33.926vw;
}
#message h2 {
   font-weight: 600;
   font-size:6.28vw;
   letter-spacing: 0.05em;
   line-height: 1.6923;
   text-align: center;
   color: #885c53;
   margin-bottom: 8.5vw;
}
#message .inBox {
   display: grid;
   position: relative;
   gap: 6vw;
}
#message .inBox::before {
   position: absolute;
   content: "";
   background: url(../images/index/com-en-deco_sp.svg)no-repeat;
   background-size: contain;
   width: 90.82vw;
   height: 21.01vw;
   bottom: -17vw;
   left: -2vw;
}
#message h3 {
   font-weight: bold;
   font-size:4.348vw;
   letter-spacing: 0.05em;
   line-height: 1.7777;
   margin-bottom: 6.5vw;
}
#message .txt-box {
   position: relative;
   z-index: 2;
   order: 2;
}
#message .txt {
   font-weight: 500;
   font-size:3.865vw;
   letter-spacing: 0.05em;
   line-height: 1.875;
   margin-bottom: 7.2vw;
}
#message .txt:nth-of-type(2) {
   margin-bottom: 5.4vw;
}
#message .lead {
   font-weight: bold;
   font-size:4.831vw;
   letter-spacing: 0.05em;
   color: #fff;
   line-height: 1.565;
}
#message .lead span {
   background: transparent linear-gradient(275deg, #FB7C71 0%, #F69568 64%, #F3A263 100%) 0% 0% no-repeat padding-box;
   display: inline-block;
   padding: 0.5vw 2.2vw 0vw;
}
#message .lead .span01 {
   margin-bottom: 2vw;
}
#message .lead .span02 {
   margin-bottom: 2vw;
}
#message .photo {
   position: relative;
   order: 1;
}
 
/* reason
-------------------------------------*/
#reason {
   position: relative;
}
#reason::before,
#reason::after {
   position: absolute;
   content: '';
   width: 100%;
   height: 75.85vw;
   pointer-events: none;
}
#reason::before {
   background: url(../images/index/reason-bg-t_sp.png)no-repeat;
   background-size: contain;
   top: 0;
   left: 0;
}
#reason::after {
   background: url(../images/index/reason-bg-b_sp.png)no-repeat;
   background-size: contain;
   bottom: 0;
   right: 0;
}
#reason .inner {
   width: 91.79vw;
   margin-inline: auto;
   text-align: center;
   padding: 14vw 0 36vw;
}
#reason .ttl-box {
   display: inline-block;
   text-align: center;
   position: relative;
   margin-bottom: 9vw;
}
#reason .ttl-box::before,
#reason .ttl-box::after {
   position: absolute;
   content: '';
   width: 12.80vw;
   height: 27.78vw;
   top: 50%;
   transform: translateY(-50%);
}
#reason .ttl-box::before {
   background: url(../images/index/reason-ttl-l_sp.png)no-repeat;
   background-size: contain;
   left: -14.5vw;
}
#reason .ttl-box::after {
   background: url(../images/index/reason-ttl-r_sp.png)no-repeat;
   background-size: contain;
   right: -14.5vw;
}
#reason .ttl-box .subt {
   font-weight: 500;
   font-size:3.865vw;
   letter-spacing: 0.05em;
   line-height: 1.5;
   text-align: center;
   margin-bottom: 3vw;
}
#reason .ttl-box .subt span {
   font-weight: 600;
   font-size:4.831vw;
   letter-spacing: 0.05em;
   line-height: 1.5;
   display: block;
   margin: 2.2vw 0 0;
}
#reason .ttl-box h2 {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 2.2vw;
   font-weight: bold;
   font-size:4.831vw;
   letter-spacing: 0.05em;
   line-height: 1.5;
   text-align: center;
}
#reason .ttl-box h2 span {
   position: relative;
   left: 0.5vw;
   top: -0.5vw;
}
#reason .ttl-box h2 span img {
   width: 9.14vw;
}
#reason .lead {
   font-weight: 500;
   font-size:4.831vw;
   letter-spacing: 0.05em;
   line-height: 1.5;
   text-align: center;
   color: #fff;
   background: transparent linear-gradient(180deg, #FB7C71 0%, #F69568 64%, #F3A263 100%) 0% 0% no-repeat padding-box;
   margin-bottom: 2.5vw;
   border-radius: 7.25vw;
   width: 86.23vw;
   margin-inline: auto;
   padding: 3.2vw 2vw 2.78vw 15vw;
   position: relative;
   left: 1.5vw;
}
#reason .lead::before {
   position: absolute;
   content: "";
   background: url(../images/index/reason-illust_sp.png)no-repeat;
   background-size: contain;
   width: 17.15vw;
   height: 17.15vw;
   top: 50%;
   left: -3vw;
   transform: translateY(-50%);
}
#reason .lead02 {
   font-weight: bold;
   font-size:3.382vw;
   letter-spacing: 0.05em;
   line-height: 1.785714;
   text-align: center;
   color: #fb7c71;
   margin-bottom: 8vw;
}
#reason .list {
   display: grid;
   gap: 12.69vw;
}
#reason .list li {
   opacity: 0;
   transform: translateY(40px);
   transition: opacity 1s ease, transform 1s ease;
}
#reason .list li.is-show {
   opacity: 1;
   transform: translateY(0);
}
#reason .list li .inBox {
   display: grid;
   position: relative;
   gap: 19vw;
}
#reason .list li .photo {
   position: relative;
   z-index: 1;
   left: 2vw;
   order: 1;
   width: 91.06vw;
}
#reason .list li:nth-child(2) .photo {
   left: auto;
   right: 1.5vw;
}
#reason .list li .photo::before {
   position: absolute;
   content: "";
   background: url(../images/index/reason-photo-bg_sp.png)no-repeat;
   background-size: contain;
   width: 89.37vw;
   height: 57.97vw;
   bottom: -3vw;
   z-index: -1;
   left: -3vw;
}
#reason .list li:nth-child(2) .photo::before {
   left: auto;
   right: -3vw;
}
#reason .list li .txt-box {
   position: relative;
   text-align: left;
   width: 89.37vw;
   margin-inline: auto;
   order: 2;
   left: -0.5vw;
}
#reason .list li:nth-child(3) .txt-box {
   width: 92.79vw;
   left: 1.5vw;
}
#reason .list li .txt-box h3{
   background: #B0D997;
   font-weight: bold;
   font-size:6.763vw;
   letter-spacing: 0.05em;
   line-height: 1.5;
   text-align: center;
   color: #fff;
   display: inline-flex;
   gap: 8vw;
   padding: 3vw 9vw 1vw 9.5vw;
   margin-bottom: 6.5vw;
}
#reason .list li:nth-child(2) .txt-box h3 {
   padding: 3vw 0 1vw 9.5vw;
   gap: 7.5vw;
   width: 90.10vw;
}
#reason .list li .txt-box h3 span {
   position: relative;
   top: -1vw;
}
#reason .list li .txt-box h3 span img {
   vertical-align: middle;
}
#reason .list li .txt-box h3 .small {
   font-weight: bold;
   font-size:3.865vw;
   letter-spacing: 0.05em;
   color: #fff;
   position: absolute;
   right: 6vw;
   top: 5.5vw;
}
#reason .list li .txt-box .txt {
   font-weight: 500;
   font-size:4.831vw;
   letter-spacing: 0.05em;
   margin-bottom: 1.5vw;
}
#reason .list li .txt-box .txt02 {
   font-weight: 600;
   font-size:6.763vw;
   letter-spacing: 0.05em;
   line-height: 1.785714;
}
#reason .list li .txt-box .txt02 span {
   background: linear-gradient(transparent 75%, #EFEF84 25%);
}
#reason .list li .txt-box .deco {
   position: absolute;
   content: "";
   top: -12vw;
   left: 0vw;
}
#reason .list li .txt-box .deco::after {
   position: absolute;
   content: "";
   background: #707070;
   width: 49.76vw;
   height: 0.2vw;
   top: 64%;
   transform: translateY(-50%);
   left: 21vw;
}

/* profile
-------------------------------------*/
#profile .ttl-box {
   background: url(../images/index/profile-ttl-bg_sp.png)no-repeat;
   background-size: contain;
   padding: 29.71vw 0 0.7vw;
   text-align: center;
}
#profile .ttl-box h2 {
   padding-left: 2vw;
}
#profile .content {
   background: url(../images/index/profile-bg_sp.png)no-repeat;
   background-size: cover;
   padding-bottom: 3vw;
}
#profile .content .inner{
   width: 89.37vw;
   margin-inline: auto;
   background: #fff;
   box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.16);
   position: relative;
   top: -5.5vw;
   padding: 9vw 0 10vw;
   margin-bottom: -8vw;
}
#profile .content .inBox01 {
   display: grid;
   gap: 7.5vw;
   padding-bottom: 9vw;
   width: 74.88vw;
   margin-inline: auto;
}
#profile .content .inBox01 .txt-box .enttl{
   font-weight: bold;
   font-size:3.865vw;
   letter-spacing: 0.05em;
   line-height: 1.5;
   color: #fb7c71;
   text-align: center;
   margin-bottom: 1.8vw;
}
#profile .content .inBox01 .txt-box h3{
   font-weight: bold;
   font-size:6.28vw;
   letter-spacing: 0.05em;
   line-height: 1.875;
   margin-bottom: 5vw;
   text-align: center;
}
#profile .content .inBox01 .txt-box h4{
   font-weight: 600;
   font-size:5.314vw;
   letter-spacing: 0.05em;
   line-height: 1.37;
   color: #fb7c71;
   margin-bottom: 1.5vw;
   padding: 0 0 0 1vw;
}
#profile .content .inBox01 .txt-box h4 span {
   border: 0.2vw solid #FB7C71;
   padding: 0 0vw 0 1vw;
   position: relative;
   left: -1vw;
   margin: 2vw 0 2vw;
   display: block;
   width: 70.05vw;
}
#profile .content .inBox01 .txt-box .year {
   font-weight: 500;
   font-size: 3.382vw;
   letter-spacing: 0.05em;
   margin-bottom: 7.5vw;
}
#profile .content .inBox01 .txt-box .txt {
   font-weight: 500;
   font-size: 3.865vw;
   letter-spacing: 0.05em;
   line-height: 1.875;
   margin-bottom: 5vw;
}
#profile .content .inBox01 .txt-box .point {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   position: relative;
   left: 1vw;
   gap: 3.4vw;
}
#profile .content .inBox01 .txt-box .point li {
   font-weight: bold;
   font-size:3.382vw;
   letter-spacing: 0.05em;
   line-height: 1.4;
   text-align: center;
   border-radius: 50%;
   border: 0.2vw solid #FB7C71;
   width: 33.09vw;
   height: 33.09vw;
   position: relative;
   padding: 5.8vw 0 0;
}
#profile .content .inBox01 .txt-box .point li::after {
   border: 0.58vw solid #FB7C71;
   border-radius: 50%;
   width: 35vw;
   height: 35vw;
   position: absolute;
   content: "";
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
}
#profile .content .inBox01 .txt-box .point li .span01 {
   font-weight: 600;
   font-size:7.729vw;
   letter-spacing: 0.05em;
   text-align: center;
   color: #fb7c71;
   position: relative;
   top: 0.5vw;
   left: 1.5vw;
   margin-right: 1vw;
}
#profile .content .inBox01 .txt-box .point li .span02 {
   margin: -0.5vw 0 0;
   display: block;
}
#profile .content .inBox01 .txt-box .point .point02 {
   padding: 9.5vw 0 0;
}
#profile .content .inBox01 .photo-box {
   margin: 1vw 0 0;
}
#profile .content .inBox01 .photo-box .photo {
   margin-bottom: 2.5vw;
}
#profile .content .inBox01 .photo-box .name {
   font-weight: 500;
   font-size:3.865vw;
   letter-spacing: 0.05em;
   line-height: 2;
   display: flex;
   justify-content: flex-end;
   gap: 3.4vw;
}
#profile .content .inBox01 .photo-box .name span{
   font-weight: 700;
   font-size:4.348vw;
   letter-spacing: 0.05em;
   line-height: 1.7777;
   display: block;
}
#profile .content .inBox02 {
   background: #fdf7e7;
   display: grid;
   gap: 2.5vw;
   width: 77.29vw;
   margin-inline: auto;
   padding: 3vw 0 0;
}
#profile .content .inBox02 .list {
   display: grid;
   gap: 5.7vw;
   width: 67.63vw;
   margin-inline: auto;
   order: 2;
}
#profile .content .inBox02 .list li .photo {
   margin-bottom: 3vw;
}
#profile .content .inBox02 .list li .store {
   font-weight: bold;
   font-size:4.348vw;
   letter-spacing: 0.05em;
   color: #885c53;
   margin-bottom: 1.5vw;
}
#profile .content .inBox02 .list li .address {
   font-weight: 500;
   font-size:3.865vw;
   letter-spacing: 0.05em;
   margin-bottom: 1vw;
}
#profile .content .inBox02 .list li .open {
   font-weight: 500;
   font-size:3.382vw;
   letter-spacing: 0.05em;
   line-height: 1.71428;
}
#profile .content .inBox02 .list li .open span {
   padding: 0 0 0 10.5vw;
}
#profile .content .inBox02 .map-box {
   display: contents;
}
#profile .content .inBox02 .map {
   order: 3;
   margin-top: -4vw;
}
#profile .content .inBox02 .ttl-box {
   background: none;
   padding: 8vw 0 5vw 0;
   text-align: center;
   order: 1;
   position: relative;
}
#profile .content .inBox02 .ttl-box::before {
   position: absolute;
   content: "";
   background: url(../images/index/profile-en-deco_sp.svg)no-repeat;
   background-size: contain;
   top: 2.5vw;
   left: -2.2vw;
   width: 82.13vw;
   height: 6.52vw;
}
#profile .content .inBox02 .ttl-box h5 {
   font-weight: bold;
   font-size:4.348vw;
   letter-spacing: 0.05em;
   color: #fff;
   background: #885C53;
   display: inline-block;
   padding: 0 6vw;
}

/* qa
-------------------------------------*/
#qa {
   background: #B0D997;
}
#qa .inner {
   width: 89.37vw;
   margin-inline: auto;
   padding: 12vw 0 12vw;
}
#qa .enttl {
   text-align: center;
   margin-bottom: 3.2vw;
}
#qa .enttl img {
   width: 51.21vw;
}
#qa h2 {
   font-weight: bold;
   font-size:6.763vw;
   letter-spacing: 0.05em;
   line-height: 1.875;
   text-align: center;
   color: #fff;
   margin-bottom: 6.2vw;
}
#qacontents{
   display: grid;
   gap: 4.3vw;
}
#qa .toggle {display: none; }
#qa .option {
   position: relative;
   background: #fff;
   padding: 6.4vw 14.01vw 5.22vw 12.6vw;
}
#qa .option::before {
   position: absolute;
   content: "";
   background: url(../images/index/q.svg)no-repeat;
   background-size: contain;
   width: 4.1vw;
   height: 9.66vw;
   top: 7.5vw;
   left: 5.5vw;
}
#qa .title, .content {-webkit-backface-visibility: hidden; backface-visibility: hidden; transform: translateZ(0); transition: all 0.3s; }
#qa .title {
   font-weight: bold;
   font-size:4.348vw;
   letter-spacing: 0.05em;
   line-height: 1.7777;
   text-align: left;
   color: #885c53;
}
#qa .title::after, .title::before {content: "";position: absolute;right: 7vw;top: 7.4vw;width: 0.48vw;height: 4.83vw;background-color: #885C53;transition: all 0.3s;}
#qa .title::after {transform: rotate(90deg); }
#qa .content {max-height: 0; overflow: hidden; }
#qa .content p {
   margin: 0;
   padding: 3vw 0 0.7vw;
   font-weight: 500;
   font-size:3.865vw;
   letter-spacing: 0.05em;
   line-height: 1.875;
}
#qa .toggle:checked + .title + .content {max-height: 500px; transition: all 1.5s; }
#qa .toggle:checked + .title::before {transform: rotate(90deg) !important; }

/* flow
-------------------------------------*/
#flow {
   background: url(../images/index/flow-bg.png)repeat-y,
   #fff;
   background-size: auto;
}
#flow .inner{
   width: 89.37vw;
   margin-inline: auto;
   padding: 15.8vw 0 14.5vw;
}
#flow .enttl {
   font-weight: bold;
   font-size:3.865vw;
   letter-spacing: 0.05em;
   text-align: center;
   color: #885c53;
   margin-bottom: 1.4vw;
}
#flow h2 {
   font-weight: bold;
   font-size:6.28vw;
   letter-spacing: 0.05em;
   line-height: 1.875;
   text-align: center;
   margin-bottom: 7vw;
}
#flow .list {
   display: grid;
   gap: 8.70vw;
   position: relative;
}
#flow .list::before {
   position: absolute;
   content: "";
   background: url(../images/index/flow-human_sp.png)no-repeat;
   background-size: contain;
   width: 46.86vw;
   height: 32.13vw;
   top: -22.5vw;
   right: -10.5vw;
}
#flow .list .flow-list {
   background: #fff;
   border: 0.5vw solid #b0d997;
   padding: 5.8vw 4.3vw 6vw;
   position: relative;
   display: grid;
   opacity: 0;
   transform: translateY(40px);
   transition: opacity 1s ease, transform 1s ease;
}
#flow .list .flow-list.is-show {
   opacity: 1;
   transform: translateY(0);
}
#flow .list .flow-list:not(:last-child):after {
   position: absolute;
   content: "";
   background: url(../images/index/flow-arrow.svg)no-repeat;
   background-size: contain;
   width: 13.77vw;
   height: 7.49vw;
   bottom: -5vw;
   left: 50%;
   transform: translateX(-50%);
}
#flow .list .flow-list .txt-box {
   display: contents;
}
#flow .list .flow-list .ttl-frame {
   margin-bottom: 0;
   position: relative;
   order: 1;
}
#flow .list .flow-list .num {
   font-weight: bold;
   font-size:3.382vw;
   letter-spacing: 0.05em;
   color: #885c53;
   position: absolute;
   top: 0;
   left: 13.5vw;
}
#flow .list .flow-list h3 {
   display: grid;
   gap: 3.5vw;
   align-items: center;
   font-weight: bold;
   font-size:5.797vw;
   letter-spacing: 0.05em;
   line-height: 1.416666;
   color: #885c53;
   padding: 6vw 0 4vw;
   grid-template-columns: 10vw 1fr;
}
#flow .list .flow-list h3 .icon img {
   vertical-align: top;
   position: relative;
   top: -2.5vw;
}
#flow .list .flow-list .txt {
   font-weight: 500;
   font-size:3.865vw;
   letter-spacing: 0.05em;
   line-height: 1.875;
   margin-bottom: 4vw;
   position: relative;
   order: 3;
}
#flow .list .flow-list .point {
   display: grid;
   gap: 2.5vw;
   order: 4;
}
#flow .list .flow-list .point li {
   font-weight: bold;
   font-size:3.865vw;
   letter-spacing: 0.05em;
   line-height: 1.625;
   position: relative;
   border: none;
   padding: 0 0 0 9.5vw;
}
#flow .list .flow-list .point li::before {
   position: absolute;
   content: "";
   background: url(../images/index/check-icon.svg)no-repeat;
   background-size: contain;
   width: 5.8vw;
   height: 5.83vw;
   top: 54.5%;
   left: 0vw;
   transform: translateY(-50%);
}
#flow .list .flow-list .photo {
   position: relative;
   order: 2;
   margin-bottom: 3.2vw;
}

/* feature
-------------------------------------*/
#feature {
   background: url(../images/index/feature-bg_sp.jpg)no-repeat top center;
   background-size: contain;
   margin-bottom: 9vw;
}
#feature .inner {
   padding: 55vw 0 6vw;
   width: 89.37vw;
   margin-inline: auto;
}
#feature .inner .content {
   background: #fff;
   text-align: center;
   padding: 0 0 6.2vw;
}
#feature h2 {
   font-weight: bold;
   font-size:4.2vw;
   letter-spacing: 0.05em;
   line-height: 1.5;
   padding: 1vw 2.73vw;
   color: #fff;
   background: transparent linear-gradient(180deg, #B0D997 0%, #9ED87B 64%, #80B93E 100%) 0% 0% no-repeat padding-box;
   position: relative;
   top: -2vw;
   display: block;
   text-align: center;
   margin-bottom: 3vw;
}
#feature .point {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   width: 82.13vw;
   margin-inline: auto;
   gap: 3.38vw;
   margin-bottom: 15.8vw;
}
#feature .point li {
   background: #fff;
   border: 0.2vw solid #c7a904;
   width: 39.37vw;
   height: 39.37vw;
   font-weight: bold;
   font-size:3.382vw;
   letter-spacing: 0.05em;
   line-height: 1.5714;
   text-align: center;
   border-radius: 50%;
   display: grid;
   place-content: center;
   position: relative;
}
#feature .point li::before {
   content: "";
   position: absolute;
   top: 0.9vw;
   left: 0.9vw;
   right: 0.9vw;
   bottom: 0.9vw;
   border: 0.2vw solid #c7a904;
   border-radius: 50%;
   pointer-events: none;
 }
#feature .point li span {
   font-weight: bold;
   font-size:4.348vw;
   letter-spacing: 0.05em;
   line-height: 1.3333;
   text-align: center;
   color: #c7a903;
   display: block;
   position: relative;
   top: 1vw;
}
#feature .btn {
   margin-bottom: -20.6vw;
}

/* satisfaction
-------------------------------------*/
#satisfaction {
   background: url(../images/index/satisfaction-bg_sp.png)no-repeat;
   background-size: cover;
   position: relative;
}
#satisfaction .inner {
   width: 89.37vw;
   margin-inline: auto;
   padding: 19.5vw 0 74.3vw;
}
#satisfaction h2 {
   font-weight: 400;
   font-size:5.314vw;
   letter-spacing: 0.05em;
   line-height: 1.45;
   color: #fff;
   margin-bottom: 7vw;
}
#satisfaction h2 span {
   background: #969696;
   padding: 0.8vw 3vw 0.4vw 3.2vw;
   display: inline-block;
}
#satisfaction h2 .span01 {
   margin: 0 0 2.5vw;
}
#satisfaction h2 .span02 {
   padding: 0.8vw 2vw 0.4vw 3.2vw;
}
#satisfaction .txt {
   font-weight: 500;
   font-size:3.865vw;
   letter-spacing: 0.05em;
   line-height: 1.875;
   margin-bottom: 2vw;
}
#satisfaction .txt:nth-of-type(2) {
   margin-bottom: 1.5vw;
}
#satisfaction .txt:nth-last-of-type(1) {
   margin-bottom: 0;
}

/* message02
-------------------------------------*/
#message02 {
   background: url(../images/index/message02-bg_sp.png)no-repeat;
   background-size: cover;
}
#message02 .inner {
   width: 89.37vw;
   margin-inline: auto;
   padding: 32vw 0 21.2vw;
}
#message02 h2 {
   font-weight: 600;
   font-size:6.28vw;
   letter-spacing: 0.05em;
   line-height: 1.6;
   text-align: center;
   color: #885c53;
   margin-bottom: 5.5vw;
}
#message02 h2 span {
   display: block;
   margin: 2vw 0 2.5vw;
}
#message02 .lead {
   font-weight: bold;
   font-size:4.348vw;
   letter-spacing: 0.05em;
   line-height: 2.2222;
   text-align: center;
   margin-bottom: 9.5vw;
}
#message02 .lead span {
   background: linear-gradient(transparent 20%, #EFEF84 80%);
}
#message02 .con-box {
   background: #FFFFFF;
   padding: 0 0 29.1vw;
}
#message02 .con-box .inBox {
   display: grid;
}
#message02 .con-box .inBox .txt-box {padding: 6vw 6vw 8vw;}
#message02 .con-box .inBox .txt-box .txt{
   font-weight: 500;
   font-size:3.865vw;
   letter-spacing: 0.05em;
   line-height: 1.875;
   margin-bottom: 7.2vw;
}
#message02 .con-box .inBox .txt-box .txt:nth-last-of-type(1) {
   margin-bottom: 0;
}
#message02 .con-box .inBox02 {
   width: 77.29vw;
   margin-inline: auto;
   border: 0.2vw solid #fb7c71;
   position: relative;
   padding: 14.5vw 4.58vw 8.5vw;
}
#message02 .con-box .inBox02::before {
   position: absolute;
   content: "";
   background: url(../images/index/message02-photo02.png)no-repeat;
   background-size: contain;
   width: 25.36vw;
   height: 30.33vw;
   top: -7.5vw;
   right: 4.5vw;
   z-index: 2;
}
#message02 .con-box .inBox02::after {
   content: "";
   position: absolute;
   top: 1.2vw;
   left: 1.2vw;
   right: 1.2vw;
   bottom: 1.2vw;
   border: 0.2vw solid #FB7C71;
   pointer-events: none;
}
#message02 .con-box .inBox02 h3 {
   font-weight: bold;
   font-size:3.382vw;
   letter-spacing: 0.05em;
   margin-bottom: 5.5vw;
   position: relative;
   padding: 0 0 0 3.5vw;
}
#message02 .con-box .inBox02 h3::before {
   position: absolute;
   content: "";
   background: url(../images/index/message-enttl_sp.svg)no-repeat;
   background-size: contain;
   width: 39.86vw;
   height: 12.32vw;
   top: -5vw;
   left: 0;
}
#message02 .con-box .inBox02 .txt {
   font-weight: 500;
   font-size:3.865vw;
   letter-spacing: 0.05em;
   line-height: 2;
}
#message02 .btn {
   top: -13.4vw;
}

/* #end-contact
-------------------------------------*/
#end-contact {
   background: url(../images/index/end-contact-bg_sp.png)no-repeat top center;
   background-size: 101vw;
}
#end-contact .inner {
   width: 89.37vw;
   margin-inline: auto;
   padding: 16vw 0 30.4vw;
   position: relative;
}
#end-contact .inner::before {
   position: absolute;
   content: "";
   background: url(../images/index/end-contact-en_sp.svg)no-repeat;
   background-size: contain;
   width: 72.46vw;
   height: 36.47vw;
   top: -10vw;
   left: -7.5vw;
}
#end-contact .con-box {
   background: #fff;
   position: relative;
   text-align: center;
   padding: 6.2vw 0 12.5vw;
}
#end-contact .con-box::before {
   position: absolute;
   content: "";
   background: url(../images/index/entry-human01_sp.png)no-repeat;
   background-size: contain;
width: 22.13vw;
        height: 23.81vw;
        bottom: -20vw;
   left: 2vw;
   z-index: 2;
}
#end-contact .con-box::after {
   position: absolute;
   content: "";
   background: url(../images/index/entry-human02_sp.png)no-repeat;
   background-size: contain;
        width: 22.75vw;
        height: 26.23vw;
        bottom: -22vw;
        right: -0.5vw;
}
#end-contact .con-box h2 {
   font-weight: 600;
   font-size:5.797vw;
   letter-spacing: 0.05em;
   line-height: 1.6666;
   text-align: center;
   margin-bottom: 4.5vw;
}
#end-contact .con-box h2 span {
   display: inline-block;
   position: relative;
   z-index: 0;
}
#end-contact .con-box h2 span::after {
   background: #EFEF84;
   content: "";
   width: 100%;
   height: 1.45vw;
   position: absolute;
   bottom: 2vw;
   left: 0;
   z-index: -1;
}
#end-contact .con-box .list {
   display: grid;
   gap: 0vw;
   margin-bottom: 4.2vw;
   margin-inline: auto;
   justify-content: center;
}
#end-contact .con-box .list li {
   font-weight: 500;
   font-size:3.865vw;
   letter-spacing: 0.05em;
   line-height: 1.875;
   position: relative;
   text-align: left;
   padding: 0 0 0 8vw;
}
#end-contact .con-box .list li::before {
   position: absolute;
   content: "";
   background: url(../images/index/check-icon.svg)no-repeat;
   background-size: contain;
   width: 4.35vw;
   height: 4.62vw;
   top: 50%;
   left: 0vw;
   transform: translateY(-50%);
}
#end-contact .con-box .txt {
   font-weight: 500;
   font-size:4.348vw;
   letter-spacing: 0.05em;
   line-height: 2.2;
   text-align: center;
   color: #1f1f1f;
   margin-bottom: 2vw;
}
#end-contact .con-box .lead {
   font-weight: bold;
   font-size:4.348vw;
   letter-spacing: 0.05em;
   line-height: 1.5555;
   text-align: center;
   color: #fff;
   background: transparent linear-gradient(101deg, #885C53 0%, #885C53 0%, #A3675B 100%) 0% 0% no-repeat padding-box;
   width: 62.80vw;
   margin-inline: auto;
   padding: 3vw 0;
   position: absolute;
   bottom: -14vw;
   left: 50%;
   transform: translateX(-50%);
}

/* enrty
-------------------------------------*/
#entry {
   background: #d2ebe4;
   width: 89.37vw;
   margin-inline: auto;
   padding: 7vw 0;
   margin-top: -11vw;
   position: relative;
   margin-bottom: -12.5vw;
   z-index: 3;
}
#entry .inner {
   background: #fff;
   width: 82.13vw;
   margin-inline: auto;
   padding: 9vw 0 0;
}
#entry .enttl {
   font-weight: bold;
   font-size:3.865vw;
   letter-spacing: 0.05em;
   text-align: center;
   color: #9dc982;
   margin-bottom: 1.5vw;
}
#entry h2 {
   font-weight: bold;
   font-size:5.797vw;
   letter-spacing: 0.05em;
   text-align: center;
   margin-bottom: 1.5vw;
}


}

