/*------------------------------------------------------------
BODY BASIC
------------------------------------------------------------*/
body{
font-size:3.5vw;
line-height:1.8;
color:#5a5a5a;
font-feature-settings:'palt';
overflow-x: hidden;
font-weight:500;
}

/*------------------------------------------------------------
RESPONSIVE
------------------------------------------------------------*/
.pconly{ display:none; }
.sponly{ display:block; }


/*------------------------------------------------------------
HEADER
------------------------------------------------------------*/
header{
position:fixed;
top:0;
left:0;
z-index:9999;
width:100%;
height:14vw;
transition:all .5s;
}

.is-scrolled header{
background:rgba(255,255,255, .9);
}



.header-inner{
width:94vw;
height:14vw;
padding:3vw 0;
margin:0 auto;
display:flex;
justify-content:space-between;
align-items:center;
}
.site-logo{
width:40vw;
}
.c-btn a{
display:flex;
align-items:center;
justify-content:center;
text-align:center;
width:40vw;
height:8vw;
background:#1EB8CE;
color:#fff;
font-size:3.5vw;
text-decoration:none;
letter-spacing:.05em;
border-radius:4vw;
}




/*------------------------------------------------------------
LP PAGE
------------------------------------------------------------*/
#kv{
position:fixed;
width:100%;
overflow:hidden;
top:0;
left:0;
}



h1.kv-copy{
width:76.42vw;
height:43.64vw;
position:absolute;
top:63vw;
left:5vw;
z-index:10;
}

.prize{
width:26.8vw;
height:26.8vw;
position:absolute;
top:109vw;
left:5vw;
z-index:10;
}

.kv-copy img,
.prize img{
width:100%;
}

#kv, .kv-spacer {
  width: 100%;
  aspect-ratio: 640 / 960;
  pointer-events: none;
}


#index1{
background:#F7F4E9;
border-radius:8vw 8vw 0 0;
margin:-10vw 0 0;
position:relative;
padding:16vw 0 32vw;
}

#index1 h2{
font-size:5vw;
line-height:1.5;
color:#707070;
text-align:center;
margin:0 0 8vw;
}
#index1 h2 span{
color:#F08300;
position:relative;
}


.prob-card{
width:92vw;
margin:0 auto;
display:flex;
flex-direction:column;
gap:4vw 0;
}
.prob-card li{
width:100%;
height:auto;
background:#fff;
border-radius:4vw;
position:relative;
padding:4vw 6vw;
}
.prob-info{
display:flex;
gap: 0 6vw;
align-items:center;
padding-bottom:2vw;
border-bottom:1px solid #F08300;
margin-bottom:3.5vw;
}

.prob{
font-family:'Montserrat';
font-size:3vw;
font-weight:bold;
color:#F08300;
padding:9vw 0 0;
position:relative;
}

.icon-num01::before{
content:'';
content:'';
width:10.5vw;
height:8.25vw;
position:absolute;
top:0;
left:50%;
margin-left:-5.25vw;
background:url(img/icon-num1.svg) no-repeat;
background-size:10.5vw;
}
.icon-num02::before{
content:'';
content:'';
width:10.5vw;
height:8.25vw;
position:absolute;
top:0;
left:50%;
margin-left:-5.25vw;
background:url(img/icon-num2.svg) no-repeat;
background-size:10.5vw;
}
.icon-num03::before{
content:'';
width:10.5vw;
height:8.25vw;
position:absolute;
top:0;
left:50%;
margin-left:-5.25vw;
background:url(img/icon-num3.svg) no-repeat;
background-size:10.5vw;
}

.prob-ttl{
font-size:4vw;
line-height:1.4;
position:relative;
font-weight:bold;
color:#F08300;
}
.prob-cont{
font-size:4.75vw;
font-weight:bold;
line-height:1.35;
color:#F08300;
text-align:center;
}




#index2{
background:#F08300;
padding:30vw 0 25vw;
border-radius:8vw 8vw 0 0;
margin-top:-10vw;
position:relative;
}
.reason-ttl-area{
width:100%;
height:auto;
margin:0 auto 10vw;
background:url(img/ill-str-sp.svg) no-repeat center top;
background-size:100%;
position:relative;
position:absolute;
top:-12vw;
left:50%;
transform:translate(-50%, 0);
}

#index2 h2{
text-align:center;
color:#fff;
font-size:4.5vw;
line-height:1.25;
padding:3vw 0 0;
letter-spacing:.05em;
}
#index2 h2 span.org{
font-size:4.25vw;
color:#F08300;
line-height:1.46;
display:block;
margin-bottom:1.5vw;
}
#index2 h2 span.ltxt{
font-size:5.5vw;
line-height:3;
}


.i2-col-1{
width:92vw;
margin:0 auto 16vw;
display:flex;
flex-direction:column;
gap:6vw 0;
}

.col1-l{
width:92vw;
color:#fff;
}
.rea-num{
font-size:3.5vw;
font-family:'Montserrat';
font-weight:bold;
margin:0 0 1vw;
letter-spacing:.05em;
}
#index2 h3.md01{
font-size:5vw;
line-height:1.45;
margin:0 0 5vw;
letter-spacing:.05em;
}
.col1-l p{
font-size:3.5vw;
line-height:1.8;
}


.col1-r{
width:92vw;
background:#fff;
border-radius:8vw 0 0 8vw;
position:relative;
padding:4vw 0 4vw 6vw;
}
.col1-r::after{
content: "";
position: absolute;
top: 0;
left: 100%;
width: 20vw;
height: 100%;
background-color: inherit;
}

.data-ttl{
font-size:4vw;
line-height:2.7;
font-weight:bold;
margin:0 0 5vw;
}
.data-cap{
text-align:right;
font-size:3vw;
}





.i2-col-2{
width:92vw;
margin:0 auto 16vw;
display:flex;
flex-direction:column;
gap:6vw 0;
}


.col2-l{
width:92vw;
border-radius:0 8vw 8vw 0;
position:relative;
background:#fff;
padding:6vw 4vw 6vw 0;
text-align:center;
}
.col2-l::before{
content: "";
position: absolute;
top: 0;
right: 100%;
width: 10vw;
height: 100%;
background-color: inherit;
}

.col2-l-cont{
width:88vw;
}


.col2-r{
width:92vw;
color:#fff;
}
.col2-r p{
font-size:3.5vw;
line-height:1.8;
text-align:justify;
}



.rea-md01{
text-align:center;
color:#fff;
font-size:3.75vw;
display:flex;
align-items:center;
background:#F08300;
border-radius:2vw;
justify-content:center;
height:12vw;
margin:0 0 1.6vw;
}
.rea-txt01{
font-size:3.5vw;
line-height:1.5;
margin:0 0 6vw;
text-align:center;
}
.rea-md02{
position:relative;
border:1px solid #F08300;
border-radius:2vw;
display:flex;
justify-content:center;
height:20vw;
align-items:center;
margin:0 0 2.4vw;
}
.rea-com{
display:flex;
justify-content:center;
align-items:center;
height:20vw;
gap:0 4.8vw;
}
.rea-com li:nth-child(1){
font-size:1rem;
}
.rea-com li:nth-child(2){
width:34vw;
}

.rea-md02::before{
content:'';
width:5.6vw;
height:2.4vw;
background:url(img/arrow-top.svg) no-repeat;
background-size:5.6vw;
position:absolute;
top:-4.8vw;
left:50%;
margin-left:-2.8vw;
}


.rea-md03{
margin:0 0 5vw;
}
.rea-md04{
color:#F08300;
font-weight:bold;
font-size:4vw;
line-height:1.45;
position:relative;
margin:0 0 1.6vw;
}


.rea-md04::before{
content:'';
width:5.6vw;
height:2.4vw;
background:url(img/arrow-top.svg) no-repeat;
background-size:5.6vw;
position:absolute;
top:-4vw;
left:50%;
margin-left:-2.8vw;
}

.rea-md04-list{
display:flex;
justify-content:space-between;
margin:0 0 4vw;
}
.rea-md04-list li{
width:28vw;
height:10vw;
border:1px solid #F08300;
border-radius:2vw;
color:#F08300;
font-size:3.25vw;
display:flex;
align-items:center;
justify-content:center;
}
.rea-md04-list li:nth-child(2){
background:#F08300;
color:#fff;
}
.rea-md05{
font-size:4vw;
line-height:1.5;
font-weight:bold;
}



.i3-inner{
width:92vw;
margin:0 auto;
color:#fff;
}

#index2 h3.md02{
font-size:5vw;
line-height:1.45;
position:relative;
color:#fff;
gap:1em;
margin:0 0 6vw;
display:flex;
align-items: center;
letter-spacing:.05em;
}
#index2 h3.md02::after{
content: "";
flex: 1;             /* 残りの幅をすべて占有する */
height: 1px;         /* 線の太さ */
border-bottom: 2px dotted #fff; /* 点線の種類と色 */
}


#index2 h4{
position:relative;
padding-left:4vw;
font-size:4vw;
line-height:1.5;
color:#fff;
margin-bottom:1rem;
letter-spacing:.05em;
}
#index2 h4::before{
content:'';
width:2.4vw;
height:2.4vw;
background:#fff;
position:absolute;
top:1.8vw;
left:0;
}


.meal-img{
display:flex;
flex-direction:column;
gap:4vw 0;
margin:0 auto 12vw;
}
.meal-img-last{
display:flex;
flex-direction:column;
gap:4vw 0;
margin:0 auto 20vw;
}
.meal-img li,
.meal-img-last li{
position:relative;
}
.i3-inner p{
font-size:3.5vw;
line-height:1.5;
color:#fff;
padding-left:4vw;
margin:0 0 3vw;
}


.meal-type{
font-size:3.5vw;
line-height:1.45;
font-weight:bold;
color:#fff;
position:absolute;
right:4vw;
bottom:2vw;
z-index:3;
}


.mb4{
margin-bottom:.8vw !important;
}

.rea-desc{
font-size:3.5vw;
line-height:1.75;
margin:0 0 6vw;
}


.rea3-ttl{
font-size:4vw;
font-weight:bold;
position:relative;
padding-left:4vw;
line-height:1.5;
margin:2vw 0 0;
}
.rea3-ttl::before{
content:'';
width:2.4vw;
height:2.4vw;
background:#fff;
position:absolute;
top:1.8vw;
left:0;
}



#index3{
background:#F7F4E9;
border-radius:8vw 8vw 0 0;
margin:-10vw 0 0;
padding:12vw 0 16vw;
overflow:hidden;
position:relative;
}

.i3-col{
width:100vw;
margin:0 auto;
display:flex;
flex-direction:column;
gap:6vw 0;
}
.i3-l{
width:92vw;
margin:0 auto;
}
.svc-ttl{
font-size:3.5vw;
font-weight:bold;
font-family:'Montserrat';
color:#F08300;
margin:0 0 2vw;
}

#index3 h3{
font-size:5vw;
line-height:1.45;
margin:0 0 5vw;
color:#F08300;
letter-spacing:.05em;
}
.i3-desc{
font-size:3.5vw;
font-weight:500;
line-height:1.8;
margin:0 0 9vw;
}

.svc-point{
display:flex;
flex-wrap:wrap;
gap:3vw 3vw;
}

.svc-point dt{
display:flex;
align-items:center;
justify-content:center;
text-align:center;
color:#fff;
font-size:3.75vw;
font-weight:500;
width:26vw;
border-radius:2vw;
background:#F08300;
}
.svc-point dd{
width:63vw;
font-size:3.5vw;
line-height:1.75;
}
#index3 h4{
color:#F08300;
font-size:4vw;
line-height:1.5;
}




#index4{
background:#fff;
border-radius:8vw 8vw 0 0;
margin:-10vw 0 0;
padding:16vw 0 20vw;
position:relative;
}
#index4 h3{
text-align:center;
font-size:5vw;
line-height:1.45;
color:#F08300;
margin:0 0 16vw;
letter-spacing:.05em;
}
#index4 h3 span{
display:block;
font-family:'Montserrat';
font-weight:bold;
font-size:3.5vw;
margin:2vw 0 0;
}

.voices{
width:92vw;
margin:0 auto;
display:flex;
flex-direction:column;
gap:12vw 0;
}
.voices li{
width:92vw;
box-shadow:0 0 6px rgba(0,0,0, .16);
border-radius:4vw;
position:relative;
}
.voice-target{
background:#F08300;
color:#fff;
font-size:3.5vw;
font-weight:bold;
padding:14vw 0 3vw;
text-align:center;
position:relative;
border-radius:4vw 4vw 0 0;
}

.voices li:nth-child(1) .voice-target::before{
content:'';
width:24vw;
height:24vw;
background:url(img/voice1.svg) no-repeat;
background-size:24vw;
position:absolute;
top:-10vw;
left:50%;
margin-left:-12vw;
z-index:2;
}
.voices li:nth-child(2) .voice-target::before{
content:'';
width:24vw;
height:24vw;
background:url(img/voice2.svg) no-repeat;
background-size:24vw;
position:absolute;
top:-10vw;
left:50%;
margin-left:-12vw;
z-index:2;
}
.voices li:nth-child(3) .voice-target::before{
content:'';
width:24vw;
height:24vw;
background:url(img/voice3.svg) no-repeat;
background-size:24vw;
position:absolute;
top:-10vw;
left:50%;
margin-left:-12vw;
z-index:2;
}


.voice-ttl{
color:#F08300;
font-size:3.75vw;
line-height:1.65;
padding:3vw 4vw 0;
margin:0 0 3vw;
font-weight:bold;
letter-spacing:.05em;
}
.voices li p{
font-size:3.5vw;
line-height:1.875;
padding:0 4vw 4vw;
letter-spacing:.05em;
}


#index5{
background:#F7F4E9;
border-radius:8vw 8vw 0 0;
margin:-10vw 0 0;
padding:12vw 0 16vw;
position:relative;
}

#index5 h3{
text-align:center;
font-size:5vw;
line-height:1.45;
color:#F08300;
margin:0 0 8vw;
letter-spacing:.05em;
}
#index5 h3 span{
display:block;
font-family:'Montserrat';
font-weight:bold;
font-size:3.5vw;
margin:2vw 0 0;
}

.faq{
width:92vw;
background:#fff;
margin:0 auto 4vw;
padding:4vw;
border-radius:4vw;
}
.faq dt{
font-size:3.75vw;
line-height:1.5;
padding:2.1875vw 0 0 12vw;
position:relative;
margin:0 0 3vw;
font-weight:bold;
color:#F08300;
letter-spacing:.05em;
}
.faq dt::before{
content:'';
width:10vw;
height:10vw;
background:url(img/icon-q.svg) no-repeat left top;
background-size:10vw;
position:absolute;
top:0;
left:0;
}

.faq dd{
font-size:3.5vw;
line-height:1.75;
padding:1.9375vw 0 0 12vw;
position:relative;
font-weight:500;
letter-spacing:.05em;
}
.faq dd::before{
content:'';
width:10vw;
height:10vw;
background:url(img/icon-a.svg) no-repeat left top;
background-size:10vw;
position:absolute;
top:0;
left:0;
}




#index6{
background:#fff;
border-radius:8vw 8vw 0 0;
margin:-10vw 0 0;
padding:12vw 0 16vw;
position:relative;
}
#index6 h3{
text-align:center;
font-size:5vw;
line-height:1.45;
color:#F08300;
margin:0 0 8vw;
letter-spacing:.05em;
}
#index6 h3 span{
display:block;
font-family:'Montserrat';
font-weight:bold;
font-size:3.5vw;
margin:2vw 0 0;
}

.contact-desc{
width:92vw;
font-size:3.75vw;
line-height:1.8;
font-weight:500;
margin:0 auto 12vw;
text-align:center;
}

.flow-imgs{
width:92vw;
margin:0 auto 12vw;
}

.flow-cap{
text-align:right;
font-size:3vw;
margin-top:3vw;
}

.contact-btn a{
width:92vw;
height:12vw;
margin:0 auto;
text-align:center;
display:flex;
justify-content:center;
color:#fff;
background:#1EB8CE;
border-radius:6vw;
font-size:4vw;
font-weight:500;
align-items:center;
text-decoration:none;
}




/*------------------------------------------------------------
PAGE
------------------------------------------------------------*/

/*------------------------------------------------------------
	PAGE
------------------------------------------------------------*/
#page-container{
padding:30vw 0 16vw;
}
main#page{
width:92vw;
margin:0 auto;
}

#page h2{
text-align:center;
font-size:5vw;
line-height:1.45;
color:#F08300;
margin:0 0 8vw;
letter-spacing:.05em;
}
#page h2 span{
display:block;
font-family:'Montserrat';
font-weight:bold;
font-size:3.5vw;
margin:2vw 0 0;
}

.contact-info{
text-align:center;
margin:0 auto 12vw;
}


/*------------------------------------------------------------
FOOTER
------------------------------------------------------------*/

footer{
width:100%;
position:relative;
z-index:10;
}
.footer-wrapper{
background:#F08300;
padding:10vw 0;
}

.footer-inner{
width:92vw;
margin:0 auto;
color:#fff;
display:flex;
flex-direction:column;
gap:6vw 0;
}
.f-logo-area{
width:92vw;
display:flex;
flex-direction:column;
gap:6vw 0;
}
.f-logo{
width:56vw;
height:14vw;
margin:0 auto;
}
.f-com-info{
width:80vw;
margin:0 auto;
padding:0 0 0 4vw;
font-size:3.5vw;
line-height:1.5;
text-align:center;
}
.f-com-ttl{
font-size:4vw;
line-height:1.2;
font-weight:bold;
margin:0 0 1.5vw;
}
.f-tel{
width:92vw;
font-size:7vw;
font-weight:bold;
line-height:1.2;
text-align:center;
}
.f-tel span{
display:block;
font-size:3vw;
line-height:1.75;
font-weight:500;
}

.com-link{
padding:4vw 0 0;
background:#fff;
z-index:10;
line-height:1.25;
font-size:3vw;
text-align:center;
}
.com-link a{
color:#5a5a5a;
}

.copy{
text-align:center;
font-family:'Montserrat';
font-weight:500;
line-height:1.25;
font-size:3vw;
padding:4vw 0;
position:relative;
background:#fff;
z-index:10;
}





