/*------------------------------------------------------------
	FOR PC LAYOUT CSS
------------------------------------------------------------*/
@media screen and (min-width:768px){

/*------------------------------------------------------------
	BODY BASIC
------------------------------------------------------------*/
body{
font-size:1.25rem;
line-height:1.8;
color:#5a5a5a;
font-feature-settings:'palt';
overflow-x: hidden;
min-width:1120px;
}


/*------------------------------------------------------------
	RESPONSIVE
------------------------------------------------------------*/
.pconly{ display:block; }
.sponly{ display:none; }


/*------------------------------------------------------------
	HEADER
------------------------------------------------------------*/
header{
position:fixed;
top:0;
left:0;
z-index:9999;
width:100%;
height:100px;
transition:all .5s;
}

.is-scrolled header{
background:rgba(255,255,255, .9);
}



.header-inner{
width:94%;
height:100px;
padding:12px 0 0;
margin:0 auto;
display:flex;
justify-content:space-between;
align-items:center;
}
.site-logo{
width:180px;
}
.c-btn a{
display:flex;
align-items:center;
justify-content:center;
text-align:center;
width:168px;
height:48px;
background:#1EB8CE;
color:#fff;
font-size:1rem;
font-weight:500;
letter-spacing:.05em;
border-radius:24px;
transition:all .2s;
}
.c-btn a:hover{
background:#68ebff;
}

/*------------------------------------------------------------
	LP-PAGE
------------------------------------------------------------*/
#kv{
position:fixed;
width:100%;
overflow:hidden;
top:0;
left:0;
visibility: hidden;
}
#kv.animated {
    visibility: visible;
}

h1.kv-copy{
width:38.21vw;
height:21.82vw;
position:absolute;
top:14.35vw;
left:50%;
margin-left:-40.26vw;
z-index:10;
}

.prize{
width:13.40vw;
height:13.40vw;
position:absolute;
top:39.24vw;
left:50%;
margin-left:-40.26vw;
z-index:10;
}

.kv-copy img,
.prize img{
width:100%;
}

#kv, .kv-spacer {
  width: 100%;
  aspect-ratio: 2732 / 1792;
  pointer-events: none;
}


#index1{
background:#F7F4E9;
border-radius:90px 90px 0 0;
margin:-100px 0 0;
position:relative;
padding:100px 0 315px;
}

#index1 h2{
font-size:2.375rem;
line-height:1.58;
color:#707070;
text-align:center;
margin:0 0 4.625rem;
}
#index1 h2 span{
color:#F08300;
position:relative;
}
#index1 h2 span::after{
content:'';
width:100%;
height:3px;
background:#F08300;
position:absolute;
bottom:-1rem;
left:0;
}

.prob-card{
width:1100px;
margin:0 auto;
display:flex;
justify-content:space-between;
flex-direction:row;
padding:1.75rem 0 0;
}
.prob-card li{
width:332px;
height:332px;
background:#fff;
border-radius:50%;
position:relative;
text-align:center;
padding:0;
}
.prob{
font-family:'Montserrat';
font-size:.875rem;
font-weight:bold;
color:#F08300;
padding:2.125rem 0 0;
position:relative;
margin:0 0 .75rem;
}
.prob-info{
display:flex;
flex-direction:column;
gap: 0;
align-items:center;
padding:0;
border:0;
margin-bottom:0;
}

.icon-num01::before{
content:'';
width:70px;
height:55px;
position:absolute;
top:-28px;
left:50%;
margin-left:-35px;
background:url(img/icon-num1.svg) no-repeat;
background-size:68px;
}
.icon-num02::before{
content:'';
width:70px;
height:55px;
position:absolute;
top:-28px;
left:50%;
margin-left:-35px;
background:url(img/icon-num2.svg) no-repeat;
background-size:68px;
}
.icon-num03::before{
content:'';
width:70px;
height:55px;
position:absolute;
top:-28px;
left:50%;
margin-left:-35px;
background:url(img/icon-num3.svg) no-repeat;
}

.prob-ttl{
font-size:1.25rem;
line-height:1.4;
padding-bottom:.875rem;
position:relative;
margin:0 0 .6875rem;
font-weight:bold;
color:#F08300;
}
.prob-ttl::after{
content:'';
width:60px;
height:2px;
background:#F08300;
position:absolute;
bottom:0;
left:50%;
margin-left:-30px;
}

.prob-cont{
font-size:2.125rem;
font-weight:bold;
line-height:1.35;
color:#F08300;
}


#index2{
background:#F08300;
padding:291px 0 176px;
border-radius:90px 90px 0 0;
margin-top:-90px;
position:relative;
}
.reason-ttl-area{
width:100%;
height:357px;
margin:0 auto 90px;
background:url(img/ill-str.svg) no-repeat center top;
background-size:1366px;
position:relative;
position:absolute;
top:-157px;
left:50%;
transform:translate(-50%, 0);
}

#index2 h2{
text-align:center;
color:#fff;
font-size:2.25rem;
line-height:1.25;
padding:80px 0 0;
letter-spacing:.05em;
}
#index2 h2 span.org{
font-size:3rem;
color:#F08300;
line-height:1.46;
display:block;
}
#index2 h2 span.ltxt{
font-size:4.625rem;
line-height:1.75;
}

.i2-col-1{
width:1100px;
margin:0 auto 128px;
display:flex;
justify-content:space-between;
flex-direction:row;
gap:0;
}

.col1-l{
width:523px;
color:#fff;
}
.rea-num{
font-size:1.125rem;
font-family:'Montserrat';
font-weight:bold;
letter-spacing:.1em;
margin:0 0 11px;
letter-spacing:.05em;
}
#index2 h3.md01{
font-size:2.375rem;
line-height:1.45;
margin:0 0 24px;
letter-spacing:.05em;
}
.col1-l p{
font-size:1.25rem;
line-height:1.8;
font-weight:500;
}

.col1-r{
width:525px;
background:#fff;
border-radius:36px 0 0 36px;
position:relative;
padding:36px 0 36px 40px;
}
.col1-r::after{
content: "";
position: absolute;
top: 0;
left: 100%;
width: 100vw;
height: 100%;
background-color: inherit;
}

.data-ttl{
font-size:1.25rem;
line-height:2.7;
font-weight:bold;
margin:0 0 24px;
}
.data-cap{
text-align:right;
font-size:.75rem;
}

.i2-col-2{
width:1100px;
margin:0 auto 128px;
display:flex;
justify-content:space-between;
flex-direction:row;
}


.col2-l{
width:525px;
border-radius:0 36px 36px 0;
position:relative;
background:#fff;
padding:36px 40px 36px 0;
text-align:center;
font-weight:500;
}
.col2-l::before{
content: "";
position: absolute;
top: 0;
right: 100%;
width: 100vw;
height: 100%;
background-color: inherit;
}

.col2-l-cont{
width:485px;
}



.col2-r{
width:525px;
color:#fff;
}
.col2-r p{
font-size:1.25rem;
line-height:1.8;
font-weight:500;
text-align:justify;
}

.rea-md01{
text-align:center;
color:#fff;
font-size:1.25rem;
display:flex;
align-items:center;
background:#F08300;
border-radius:12px;
justify-content:center;
height:48px;
font-weight:500;
margin:0 0 8px;
}
.rea-txt01{
font-size:1rem;
line-height:1.5;
margin:0 0 30px;
text-align:center;
}
.rea-md02{
position:relative;
border:1px solid #F08300;
border-radius:12px;
display:flex;
justify-content:center;
height:94px;
align-items:center;
margin:0 0 12px;
}
.rea-com{
display:flex;
justify-content:center;
align-items:center;
height:94px;
gap:0 12px;
}
.rea-com li:nth-child(1){
font-size:1rem;
}
.rea-com li:nth-child(2){
width:225px;
}

.rea-md02::before{
content:'';
width:28px;
height:12px;
background:url(img/arrow-top.svg) no-repeat;
background-size:28px;
position:absolute;
top:-24px;
left:50%;
margin-left:-14px;
}


.rea-md03{
margin:0 0 26px;
}
.rea-md04{
color:#F08300;
font-weight:bold;
font-size:1.25rem;
line-height:1.45;
position:relative;
margin:0 0 8px;
}


.rea-md04::before{
content:'';
width:28px;
height:12px;
background:url(img/arrow-top.svg) no-repeat;
background-size:28px;
position:absolute;
top:-20px;
left:50%;
margin-left:-14px;
}

.rea-md04-list{
display:flex;
justify-content:space-between;
margin:0 0 20px;
}
.rea-md04-list li{
width:146px;
height:46px;
border:1px solid #F08300;
border-radius:12px;
color:#F08300;
font-size:.875rem;
display:flex;
align-items:center;
justify-content:center;
}
.rea-md04-list li:nth-child(2){
background:#F08300;
color:#fff;
}
.rea-md05{
font-size:1.5rem;
line-height:1.5;
font-weight:bold;
}


.i3-inner{
width:1100px;
margin:0 auto;
color:#fff;
}

#index2 h3.md02{
font-size:2rem;
line-height:1.45;
position:relative;
color:#fff;
gap:1em;
margin:0 0 30px;
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:20px;
font-size:1.25rem;
line-height:1.5;
color:#fff;
margin-bottom:1rem;
letter-spacing:.05em;
}
#index2 h4::before{
content:'';
width:12px;
height:12px;
background:#fff;
position:absolute;
top:9px;
left:0;
}

.meal-img{
display:flex;
justify-content:space-between;
flex-direction:row;
margin:0 auto 32px;

}
.meal-img-last{
display:flex;
justify-content:space-between;
flex-direction:row;
margin:0 auto 112px;
}
.meal-img li,
.meal-img-last li{
width:352px;
position:relative;
}
.i3-inner p{
font-size:1rem;
line-height:1.5;
color:#fff;
padding-left:20px;
margin:0 0 1rem;
}


.meal-type{
font-size:1.125rem;
line-height:1.45;
font-weight:bold;
color:#fff;
position:absolute;
right:.5rem;
bottom:.5rem;
z-index:3;
}


.mb4{
margin-bottom:4px !important;
}

.rea-desc{
font-size:1.25rem;
line-height:1.8;
margin:0 0 60px;
}


.rea3-ttl{
font-size:1.25rem;
font-weight:bold;
position:relative;
padding-left:20px;
line-height:1.5;
margin:12px 0 0;
}
.rea3-ttl::before{
content:'';
width:12px;
height:12px;
background:#fff;
position:absolute;
top:9px;
left:0;
}


#index3{
background:#F7F4E9;
border-radius:80px 80px 0 0;
margin:-80px 0 0;
padding:0 0 80px;
overflow:hidden;
}

.i3-col{
width:1100px;
margin:0 auto;
display:flex;
justify-content:space-between;
flex-direction:row;
}
.i3-l{
width:750px;
padding:142px 0 0;
margin:0;
}
.svc-ttl{
font-size:1.125rem;
font-weight:bold;
font-family:'Montserrat';
color:#F08300;
margin:0 0 11px;
}

#index3 h3{
font-size:2.375rem;
line-height:1.47;
margin:0 0 24px;
color:#F08300;
letter-spacing:.05em;
}
.i3-desc{
font-size:1.25rem;
font-weight:500;
line-height:1.8;
margin:0 0 48px;
}
.svc-point{
display:flex;
flex-wrap:wrap;
gap:24px 16px;
}

.svc-point dt{
display:flex;
align-items:center;
justify-content:center;
text-align:center;
color:#fff;
font-size:1.25rem;
font-weight:500;
width:168px;
border-radius:12px;
background:#F08300;
}
.svc-point dd{
width:566px;
font-size:1rem;
line-height:1.875;
}
#index3 h4{
color:#F08300;
font-size:1.25rem;
line-height:1.5;
}
.i3-r{
width:307px;
}

.i3-r-img{
width:440px;
}


#index4{
background:#fff;
border-radius:80px 80px 0 0;
margin:-80px 0 0;
padding:128px 0 210px;
position:relative;
}
#index4 h3{
text-align:center;
font-size:2.25rem;
line-height:1.45;
color:#F08300;
margin:0 0 111px;
letter-spacing:.05em;
}
#index4 h3 span{
display:block;
font-family:'Montserrat';
font-weight:bold;
font-size:1.125rem;
margin:12px 0 0;
}

.voices{
width:1100px;
margin:0 auto;
display:flex;
justify-content:space-between;
flex-direction:row;
}
.voices li{
width:352px;
box-shadow:0 0 6px rgba(0,0,0, .16);
border-radius:24px;
position:relative;
}
.voice-target{
background:#F08300;
color:#fff;
font-size:1rem;
font-weight:bold;
padding:68px 0 20px;
text-align:center;
position:relative;
border-radius:24px 24px 0 0;
}

.voices li:nth-child(1) .voice-target::before{
content:'';
width:112px;
height:112px;
background:url(img/voice1.svg) no-repeat;
position:absolute;
top:-53px;
left:50%;
margin-left:-56px;
z-index:2;
}
.voices li:nth-child(2) .voice-target::before{
content:'';
width:112px;
height:112px;
background:url(img/voice2.svg) no-repeat;
position:absolute;
top:-53px;
left:50%;
margin-left:-56px;
z-index:2;
}
.voices li:nth-child(3) .voice-target::before{
content:'';
width:112px;
height:112px;
background:url(img/voice3.svg) no-repeat;
position:absolute;
top:-53px;
left:50%;
margin-left:-56px;
z-index:2;
}


.voice-ttl{
color:#F08300;
font-size:1.125rem;
line-height:1.65;
padding:18px 32px 0;
margin:0 0 16px;
font-weight:bold;
letter-spacing:.05em;
}
.voices li p{
font-size:1rem;
line-height:1.875;
padding:0 32px 32px;
letter-spacing:.05em;
}

#index5{
background:#F7F4E9;
border-radius:80px 80px 0 0;
margin:-80px 0 0;
padding:128px 0 184px;
position:relative;
}

#index5 h3{
text-align:center;
font-size:2.25rem;
line-height:1.45;
color:#F08300;
margin:0 0 60px;
letter-spacing:.05em;
}
#index5 h3 span{
display:block;
font-family:'Montserrat';
font-weight:bold;
font-size:1.125rem;
margin:12px 0 0;
}

.faq{
width:1100px;
background:#fff;
margin:0 auto 24px;
padding:32px;
border-radius:24px;
}
.faq dt{
font-size:1.5rem;
line-height:1.75;
padding:0 0 0 58px;
position:relative;
margin:0 0 16px;
font-weight:bold;
color:#F08300;
letter-spacing:.05em;
}
.faq dt::before{
content:'';
width:42px;
height:42px;
background:url(img/icon-q.svg) no-repeat left top;
position:absolute;
top:0;
left:0;
}

.faq dd{
font-size:1rem;
line-height:1.875;
padding:6px 0 0 58px;
position:relative;
font-weight:500;
letter-spacing:.05em;
}
.faq dd::before{
content:'';
width:42px;
height:42px;
background:url(img/icon-a.svg) no-repeat left top;
position:absolute;
top:0;
left:0;
}


#index6{
background:#fff;
border-radius:80px 80px 0 0;
margin:-80px 0 0;
padding:128px 0 112px;
position:relative;
}
#index6 h3{
text-align:center;
font-size:2.25rem;
line-height:1.45;
color:#F08300;
margin:0 0 60px;
}
#index6 h3 span{
display:block;
font-family:'Montserrat';
font-weight:bold;
font-size:1.125rem;
margin:12px 0 0;
}

.contact-desc{
width:auto;
font-size:1.125rem;
line-height:1.8;
font-weight:500;
margin:0 0 60px;
text-align:center;
}

.flow-imgs{
width:1006px;
margin:0 auto 95px;
}

.flow-cap{
text-align:right;
font-size:.75rem;
margin-top:16px;
}

.contact-btn a{
width:550px;
height:56px;
margin:0 auto;
text-align:center;
display:flex;
justify-content:center;
color:#fff;
background:#1EB8CE;
border-radius:28px;
font-size:1.25rem;
font-weight:500;
align-items:center;
transition:all .2s;
}
.contact-btn a:hover{
background:#68ebff;
}




/*------------------------------------------------------------
	PAGE
------------------------------------------------------------*/
#page-container{
padding:120px 0;
}
main#page{
width:1000px;
margin:0 auto;
}

#page h2{
text-align:center;
font-size:2.25rem;
line-height:1.45;
color:#F08300;
margin:0 0 62px;
letter-spacing:.05em;
}
#page h2 span{
display:block;
font-family:'Montserrat';
font-weight:bold;
font-size:1.125rem;
margin:12px 0 0;
}

.contact-info{
text-align:center;
margin:0 auto 62px;
}




/*------------------------------------------------------------
	FOOTER
------------------------------------------------------------*/
footer{
width:100%;
}
.footer-wrapper{
background:#F08300;
padding:56px 0;
}

.footer-inner{
width:1100px;
margin:0 auto;
color:#fff;
display:flex;
justify-content:space-between;
flex-direction:row;
}
.f-logo-area{
width:632px;
display:flex;
justify-content:space-between;
flex-direction:row;
}
.f-logo{
width:288px;
height:70px;
padding:0 24px 0 0;
border-right:1px solid #fff;
}
.f-com-info{
width:344px;
padding:0 0 0 24px;
font-size:1rem;
line-height:1.5;
text-align:left;
}
.f-com-ttl{
font-size:1.25rem;
line-height:1.2;
font-weight:bold;
margin:0 0 3px;
}
.f-tel{
width:352px;
font-size:2.375rem;
font-weight:bold;
line-height:1.2;
}
.f-tel span{
display:block;
font-size:.875rem;
line-height:1.72;
font-weight:500;
}



.com-link{
padding:20px 0 0;
background:#fff;
z-index:10;
text-align:center;
font-size:.75rem;
line-height:1.25;
font-size:.75rem;
}
.com-link a{
color:#5a5a5a;
}

.copy{
text-align:center;
font-family:'Montserrat';
font-weight:500;
line-height:1.25;
font-size:.75rem;
padding:20px 0;
}








/*------------------------------------------------------------
	END PC LAYOUT CSS
------------------------------------------------------------*/
}