@charset "UTF-8";

/* ----- GOOGLE FONTS ----- */
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Google+Sans+Flex:opsz,wght@6..144,1..1000&display=swap');

/* ------------------------------
 UA stylesheet RESET
------------------------------ */
*,*:before,*:after{margin:0;padding:0;box-sizing:border-box;font-style:normal;font-optical-sizing:auto;border-width:0;border-style:solid;}
html{overflow-y:scroll;line-height:0;text-size-adjust:100%;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;}
h1,h2,h3,h4,h5,h6{font-size:inherit;}
a{color:inherit;text-decoration:none;background-color:transparent;}
ul,ol,li{list-style:none;}
button,input,optgroup,select,textarea{-webkit-appearance:none;appearance:none;vertical-align:middle;color:inherit;font:inherit;background:transparent;border-radius:0;text-align:inherit;text-transform:inherit;}
button,[type="button"],[type="reset"],[type="submit"]{cursor:pointer;}
button:disabled,[type="button"]:disabled,[type="reset"]:disabled,[type="submit"]:disabled{cursor:default;}
select:disabled{opacity:inherit;}
label[for]{cursor:pointer;}
table{border-color:inherit;border-spacing:0;border-collapse:collapse;}
caption,th,td{text-align:left;vertical-align:top;}
details{display:block;}
summary{display:list-item;}
sub,sup{position:relative;vertical-align:baseline;font-size:75%;line-height:0;}
sub{bottom:-0.25em;}
sup{top:-0.5em;}
svg,img,embed,object,iframe{vertical-align:top;}
pre,code,kbd,samp{font-size:inherit;font-family:monospace,monospace;}
hr,legend{display:none;}


/* ------------------------------
 FONT
------------------------------ */
/* a ----------*/
a{text-decoration:none;color:inherit;}
a:hover{text-decoration:none;color:inherit;}
a:not([href]):not([class]),a:not([href]):not([class]):hover {color:inherit;text-decoration:none;}
/* font-weight ----------*/
.f-w100{font-weight:100;}/*Thin*/
.f-w200{font-weight:200;}/*ExtraLight*/
.f-w300{font-weight:300;}/*Light*/
.f-w400{font-weight:400;}/*Regular*/
.f-w500{font-weight:500;}/*Medium*/
.f-w600{font-weight:600;}/*SemiBold*/
.f-w700{font-weight:700;}/*Bold*/
.f-w800{font-weight:800;}/*ExtraBold*/
.f-w900{font-weight:900;}/*Black*/
/* text-align ----------*/
.t-left{text-align:left;}
.t-center{text-align:center;}
.t-right{text-align:right;}
/* text-decoration ----------*/
.t-ul{text-decoration:underline;}
.t-ol{text-decoration:overline;}
.t-lt{text-decoration:line-through;}
.marker-green{font-weight:900;padding:0 5px;color:#ffffff;background:#559869}
.red{color:#fa0556;font-weight:900;}
.pc{display:block;}
.sp{display:none;}
@media only screen and (max-width:750px){
.pc{display:none;}
.sp{display:block;}
}

/* --------------------------
 COMMON
-------------------------- */
/* HTML,BODY ------------- */
html,body{
position:relative;
width:100%;
min-height:100vh;
margin:0;
padding:0;
font-family:'Zen Kaku Gothic New',Sans-Serif;
font-weight:400;
font-style:normal;
color:#333333;
font-size:16px;
line-height:0;
text-align:left;
letter-spacing:0;
word-break:break-all;
word-wrap:break-word;
background:#ffffff;
}

/* --------------------------
 FV
-------------------------- */
.fv{
position:relative;
display:block;
width:100%;
margin:0;
padding:0;
}
.fv-wrapper{
position:relative;
display:block;
width:100%;
margin:0;
padding:0 0 min(120px,16vw) 0;
background:#559869;
}
.fv-container{
position:relative;
display:block;
width:100%;
margin:0 auto;
padding:0;
}
/*FV-TITLE----------*/
.fv-title{
position:relative;
display:block;
width:100%;
margin:0;
padding:0;
background-image:url(../img/fv-title-pc-bg-left.png),url(../img/fv-title-pc-bg-right.png),url(../img/fv-title-pc-bg.png);
background-repeat:no-repeat,no-repeat,repeat-x;
background-position:left bottom,right bottom,center bottom;
background-size:auto 100%,auto 100%,auto 100%;
}
.fv-title img{
position:relative;
width:100%;
max-width:1000px;
margin:0 auto;
padding:0;
}
/*FV-TEXT----------*/
.fv-text{
position:relative;
display:block;
width:100%;
margin:0;
padding:0;
background:linear-gradient(to bottom,#77ad87,#559869);
}
.fv-text img{
position:relative;
width:100%;
max-width:1000px;
margin:0 auto;
padding:0;
}
/*FV-BTN----------*/
.fv-btn{
position:relative;
display:block;
width:80%;
max-width:600px;
margin:0 auto;
padding:0;
font-size:24px;
line-height:30px;
text-align:center;
font-weight:900;
border-radius:9px;
color:#ffffff;
background:#f5733d;
box-shadow:0 6px 0 0 rgba(0,0,0,0.2);
transform:translateY(0);
transition:transform 0.1s linear;
cursor:pointer;
}
.fv-btn:hover{
color:#f5733d;
background:#ffffff;
box-shadow:none;
transform:translateY(6px);
}
.fv-btn:after{
content:"";
position:absolute;
right:20px;
top:calc(50% - 10px);
display:block;
width:15px;
height:20px;
clip-path:polygon(0 0,100% 50%, 0 100%);
background:#ffffff;
}
.fv-btn:hover:after{
background:#f5733d;
}
.fv-btn a{
position:relative;
display:block;
width:100%;
margin:0;
padding:min(30px,4vw) 0;
border:0;
}
@media only screen and (max-width:750px){
.fv{}
.fv-wrapper{}
.fv-container{}
/*FV-TITLE----------*/
.fv-title{background-image:none;}
.fv-title img{}
/*FV-TEXT----------*/
.fv-text{}
.fv-text img{}
/*FV-BTN----------*/
.fv-btn{font-size:18px;}
.fv-btn:hover{}
.fv-btn:after{}
.fv-btn:hover:after{}
.fv-btn a{}
}

/* ------------------------------
 SECTION
------------------------------ */
.section{
position:relative;
display:block;
margin:0;
padding:0;
}
/* section-wrapper --------------------*/
.section-wrapper{
position:relative;
display:block;
margin:0;
padding:0;
}
/* section-container --------------------*/
.section-container{
position:relative;
display:block;
margin:0 auto;
padding:0;
max-width:1000px;
}
/* section-title --------------------*/
.section-title{
position:relative;
display:block;
margin:0 auto;
padding:0;
}
/* section-title-img --------------------*/
.section-title-img{
position:relative;
display:block;
width:100%;
margin:0 auto;
padding:0;
}
.section-title-img img{
position:relative;
width:100%;
max-width:1000px;
margin:0 auto;
padding:0;
}
/* section-title-en --------------------*/
.section-title-en{
position:relative;
display:block;
width:100%;
margin:0 auto min(60px,8vw) auto;
padding:0 4%;
}
.section-title-en span{
position:relative;
display:block;
margin:0;
padding:0;
font-family:"Google Sans Flex",sans-serif;
font-optical-sizing:auto;
font-weight:600;
font-style:normal;
font-variation-settings:"slnt" 0,"wdth" 100,"GRAD" 0,"ROND" 0;
font-size:min(39px,5.2vw);
line-height:min(48px,6.4vw);
text-align:center;
color:#2c2c2c;
border-top:1px solid #2c2c2c;
border-bottom:1px solid #2c2c2c;
}

/* section-box --------------------*/
.section-box{
position:relative;
display:block;
margin:0 auto;
padding:0 4%;
}
/* section-text --------------------*/
.section-text{
position:relative;
display:block;
margin:0;
padding:0;
font-size:18px;
line-height:40px;
text-align:justify;
}
.section-text p{margin:0 0 30px 0;padding:0;}
.section-text p:last-child{margin:0;padding:0;}
@media only screen and (max-width:750px){
.section{}
.section-wrapper{padding:12vw 0;}
.section-container{}
/* section-title --------------------*/
.section-title{margin:0 auto 4vw auto;}
.section-title-en{margin:0 auto 4vw auto;font-size:16px;line-height:20px;}
.section-title-slash{margin:0 auto 4vw auto;font-size:16px;line-height:20px;}
.section-title-text{font-size:20px;line-height:40px;}
.section-title-bottom{margin:4vw auto 0 auto;width:4vw;height:2vw;}
.section-box{padding:0 4vw;}
.section-text{font-size:14px;line-height:30px;}
.section-text p{margin:0 0 30px 0;padding:0;}
.section-text p:last-child{margin:0;padding:0;}
}

/* --------------------------
 CHECK
-------------------------- */
#check{}
#check .section-wrapper{
padding:min(30px,4vw) 0;
background:#ecebd7;
z-index:10;
}
#check .section-wrapper:before{
content:"";
position:absolute;
top:max(-30px,-4vw);
left:0;
display:block;
width:100%;
height:min(30px,4vw);
background:url(../img/bg-top.png) repeat-x center bottom;
background-size:auto 100%;
}
#check .section-wrapper:after{
content:"";
position:absolute;
bottom:max(-30px,-4vw);
left:0;
display:block;
width:100%;
height:min(30px,4vw);
background:url(../img/bg-bottom.png) repeat-x center top;
background-size:auto 100%;
}
#check .section-container{}
#check .section-title-img{}
#check .section-title-img img{}
/*CHECK-IMG----------*/
.check-img{
position:relative;
display:block;
width:100%;
margin:0;
padding:0;
}
.check-img img{
position:relative;
width:100%;
max-width:1000px;
margin:0 auto;
padding:0;
}
/*CHECK-TEXT----------*/
.check-text{
position:relative;
display:block;
width:100%;
margin:0;
padding:0;
}
.check-text img{
position:relative;
width:100%;
max-width:1000px;
margin:0 auto;
padding:0;
}
@media only screen and (max-width:750px){
#check{}
#check .section-wrapper{}
#check .section-wrapper:before{}
#check .section-wrapper:after{}
#check .section-title-img{}
#check .section-title-img img{}
/*CHECK-IMG----------*/
.check-img{}
.check-img img{}
/*CHECK-TEXT----------*/
.check-text{}
.check-text img{}
}


/* --------------------------
 POINT
-------------------------- */
#point{}
#point .section-wrapper{
padding:min(120px,16vw) 0;
background:#ffffff;
}
#point .section-container{}
.point-img{
display:block;
width:92%;
margin:0 auto;
}
.point-box{
position:relative;
display:block;
width:100%;
margin:0 auto;
padding:0;
}
.point-box:last-of-type{
margin:0 auto;
}
.point-title{
position:relative;
width:100%;
margin:0 auto;
padding:0;
}
.point-title img{
position:relative;
width:100%;
margin:0;
padding:0;
}
.point-text{
display:block;
margin:0 auto;
padding:0 4%;
font-size:18px;
line-height:40px;
text-align:justify;
color:#212121;
}
.point-text p{
display:block;
width:100%;
margin:0 0 30px 0;
padding:0;
}
.point-text p:last-of-type{margin:0;}
.point-text ul{
display:block;
width:100%;
margin:0 0 30px 0;
padding:0;
}

@media only screen and (max-width:750px){
#point{}
#point .section-wrapper{}
#point .section-container{}
.point-img{margin:0 auto min(30px,4vw) auto;}
.point-box{margin:0 auto min(120px,16vw) auto;}
.point-title{margin:0 auto min(30px,4vw) auto;}
.point-title img{}
.point-text{font-size:14px;line-height:30px;}
.point-text p{margin:0 0 20px 0;}
.point-text p:last-of-type{margin:0;}
}


/* --------------------------
 OVERVIEW
-------------------------- */
#overview{}
#overview .section-wrapper{
padding:0 0 min(120px,16vw) 0;
background:#559869 url(../img/bg-green.png) repeat center top;
}
#overview .section-container{}
#overview .section-title-img{}
#overview .section-title-img img{}
.overview-container{
position:relative;
display:block;
width:100%;
max-width:1000px;
margin:0 auto;
padding:0;
}
.overview-box{
position:relative;
display:flex;
justify-content:center;
align-items:flex-start;
width:100%;
margin:0 auto min(40px,4vw) auto;
padding:0;
}
/*OVERVIEW-THUMBNAIL----------*/
.overview-thumbnail{
position:relative;
display:block;
width:32%;
margin:0;
padding:0;
}
.overview-thumbnail img{
position:relative;
display:block;
width:100%;
margin:0;
padding:0;
}
/*OVERVIEW-TEXT----------*/
.overview-text{
position:relative;
display:block;
width:60%;
margin:0;
padding:0;
background:#ecebd7;
}
.overview-text img{
position:relative;
width:100%;
margin:0;
padding:0;
}
@media only screen and (max-width:750px){
#overview{}
#overview .section-wrapper{background-size:100% auto;}
#overview .section-container{}
#overview .section-title-img{}
#overview .section-title-img img{}
.overview-container{}
.overview-box{display:block;width:92%;margin:0 auto min(60px,8vw) auto;}
/*OVERVIEW-THUMBNAIL----------*/
.overview-thumbnail{width:100%;}
.overview-thumbnail img{}
/*OVERVIEW-TEXT----------*/
.overview-text{width:100%;}
.overview-text img{}
}

/* --------------------------
 PROBLEM
-------------------------- */
#problem{}
#problem .section-wrapper{
padding:min(30px,4vw) 0;
background:#ecebd7;
z-index:10;
}
#problem .section-wrapper:before{
content:"";
position:absolute;
top:max(-30px,-4vw);
left:0;
display:block;
width:100%;
height:min(30px,4vw);
background:url(../img/bg-top.png) repeat-x center bottom;
background-size:auto 100%;
}
#problem .section-wrapper:after{
content:"";
position:absolute;
bottom:max(-30px,-4vw);
left:0;
display:block;
width:100%;
height:min(30px,4vw);
background:url(../img/bg-bottom.png) repeat-x center top;
background-size:auto 100%;
}
#problem .section-container{}
#problem .section-title-img{}
#problem .section-title-img img{}
/*PROBLEM-IMG----------*/
.problem-img{
position:relative;
display:block;
width:100%;
margin:0;
padding:0;
}
.problem-img img{
position:relative;
width:100%;
max-width:1000px;
margin:0 auto;
padding:0;
}
/*PROBLEM-TEXT----------*/
.problem-text{
position:relative;
display:block;
width:100%;
margin:0;
padding:0;
}
.problem-text img{
position:relative;
width:100%;
max-width:1000px;
margin:0 auto;
padding:0;
}
@media only screen and (max-width:750px){
#problem{}
#problem .section-wrapper{}
#problem .section-wrapper:before{}
#problem .section-wrapper:after{}
#problem .section-title-img{}
#problem .section-title-img img{}
/*CHECK-IMG----------*/
.problem-img{}
.problem-img img{}
/*CHECK-TEXT----------*/
.problem-text{}
.problem-text img{}
}


/* ----------------------- CSS Information 
 Style Info: PROFILE
--------------------------------------- */
#profile{}
#profile .section-wrapper{
padding:min(120px,16vw) 0 min(120px,16vw) 0;
background:#ffffff;
}
#profile .section-container{max-width:1250px;}
#profile .section-title-en{}
#profile .section-title-en span{}

.profile-wrapper{
display:flex;
flex-direction:row;
flex-wrap:nowrap;
justify-content:space-evenly;
align-items:flex-start;
width:100%;
margin:0 auto;
padding:0;
box-sizing:border-box;
}
.profile-box{
display:block;
width:44%;
margin:0;
padding:0;
}
/*PROFILE-IMG----------*/
.profile-img{
display:block;
margin:0 auto;
padding:0;
width:100%;
max-width:690px;
background:#ecebd7;
}
.profile-img img{
display:block;
margin:0 auto;
padding:0;
width:100%;
max-width:690px;
}

/*PROFILE-TEXT----------*/
.profile-text{
display:block;
margin:0 auto;
padding:0;
width:100%;
box-sizing:border-box;
}
.profile-text dl{}
.profile-text dt{
display:flex;
width:100%;
margin:min(30px,4vw) 0;
padding:0;
}
.profile-info{
display:block;
width:120px;
margin:0 10px 0 0;
padding:0;
font-size:18px;
line-height:40px;
text-align:center;
font-weight:600;
color:#ffffff;
background:#559869;
}
.profile-name{
font-size:30px;
line-height:40px;
text-align:left;
margin:0;
padding:0;
font-weight:700;
color:#559869;
}
.profile-text dd{
margin:0;
padding:0;
font-size:16px;
line-height:30px;
text-align:justify;
color:#2c2c2c;
}
.profile-text dd ul{
margin:0 0 min(30px,4vw) 0;
padding:0;
}
.profile-text dd ul li{
margin:0 0 10px 0;
padding:0 0 0 5px;
border-left:5px solid #559869;
}
.profile-text dd p{
margin:0;
padding:0;
font-size:16px;
line-height:40px;
text-align:justify;
}
@media only screen and (max-width:750px){
#profile{}
#profile .section-wrapper{padding:min(120px,16vw) 0 0 0;}
#profile .section-container{}
.profile-wrapper{display:block;}
.profile-box{width:100%;padding:0 4vw min(120px,16vw) 4vw;}
.profile-img{}
.profile-img img{}
.profile-text{}
.profile-text dl{}
.profile-text dt{}
.profile-info{width:100px;font-size:14px;line-height:30px;}
.profile-name{font-size:20px;line-height:30px;}
.profile-text dd{font-size:14px;line-height:24px;}
.profile-text dd ul{}
.profile-text dd ul li{}
.profile-text dd p{font-size:14px;line-height:30px;}
}

/* --------------------------
 OPT
-------------------------- */
#opt{}
#opt .section-wrapper{
padding:0 0 min(60px,8vw) 0;
background:#559869 url(../img/bg-green.png) repeat center top;
}
#opt .section-container{}
#opt .section-title-img{}
#opt .section-title-img img{}
/*OPT-FORM----------*/
.opt-form{
width:92%;
max-width:690px;
margin:0 auto;
padding:0;
background:#cfc4a3;
}
.opt-form form{
width:100%;
margin:0;
padding:min(30px,4vw);
}
.opt-form form span.required{
display:block;
width:60px;
margin:0 auto 10px 0;
padding:5px 0;
font-size:14px;
line-height:20px;
font-weight:700;
text-align:center;
color:#ffffff;
background:#559869;
border-radius:4px;
}
.opt-form form input[type=text]{
font-family:'Noto Sans JP',"メイリオ","ヒラギノ角ゴ Pro W3",Sans-Serif;
font-size:18px;
line-height:30px;
width:100%;
margin:0 0 20px 0;
padding:10px;
color:#333333;
text-align:left;
background:#eeeeee;
border:2px solid #eeeeee;
border-radius:4px;
box-sizing:border-box;
outline:0;
}
.opt-form form input[type=text]:focus{
border:2px solid #2c2c2c;
outline:0;
}
/*OPT_FORM_SUBMIT----------*/
.opt-form-submit{
position:relative;
display:block;
width:100%;
margin:0 auto;
padding:0;
font-size:24px;
line-height:30px;
text-align:center;
font-weight:900;
border-radius:9px;
color:#ffffff;
background:#f5733d;
box-shadow:0 6px 0 0 rgba(0,0,0,0.2);
transform:translateY(0);
transition:transform 0.1s linear;
cursor:pointer;
}
.opt-form-submit:hover{
color:#f5733d;
background:#ffffff;
box-shadow:none;
transform:translateY(6px);
}
.opt-form-submit:after{
content:"";
position:absolute;
right:20px;
top:calc(50% - 10px);
display:block;
width:15px;
height:20px;
clip-path:polygon(0 0,100% 50%, 0 100%);
background:#ffffff;
}
.opt-form-submit:hover:after{
background:#f5733d;
}
.opt-form-submit input[type=submit]{
position:relative;
display:block;
width:100%;
margin:0;
padding:min(30px,4vw) 0;
border:0;
}
/*OPT-ATTENTION----------*/
.opt-attention{
position:relative;
width:100%;
margin:0 auto 20px auto;
padding:0;
font-size:14px;
line-height:24px;
text-align:justify;
font-weight:700;
color:#7c7662;
}
.opt-attention li{
position:relative;
margin:0;
padding:0 0 0 14px;
}
.opt-attention li:before{
content:"※";
position:absolute;
left:0;
}
@media only screen and (max-width:750px){
#opt{}
#opt .section-wrapper{background-size:100% auto;}
#opt .section-container{}
#opt .section-title-img{}
#opt .section-title-img img{}
/*OPT-FORM----------*/
.opt-form{}
.opt-form form{}
.opt-form form span.required{}
.opt-form form input[type=text]{font-size:16px;}
.opt-form form input[type=text]:focus{}
/*OPT_FORM_SUBMIT----------*/
.opt-form-submit{font-size:18px;}
.opt-form-submit:hover{}
.opt-form-submit:after{}
.opt-form-submit:hover:after{}
.opt-form-submit input[type=submit]{}
/*OPT-ATTENTION----------*/
.opt-attention{font-size:12px;}
.opt-attention li{padding:0 0 0 12px;}
.opt-attention li:before{}
}

/* --------------------------
 FOOTER
-------------------------- */
footer{
position:relative;
display:block;
width:100%;
margin:0;
padding:0;
}
.footer-wrapper{
position:relative;
display:block;
width:100%;
margin:0;
padding:0;
color:#e0e0e0;
background:#2c2c2c;
}
.footer-wrapper a{color:#e0e0e0;text-decoration:none;}
.footer-wrapper a:hover{color:#e0e0e0;text-decoration:underline;}
.footer-container{
position:relative;
display:block;
width:100%;
margin:0;
padding:min(4vw,40px);
}
#nav_footer{
display:block;
width:100%;
margin:0;
padding:0;
}
#nav_footer ul{
display:flex;
flex-direction:row;
flex-wrap:nowrap;
justify-content:flex-start;
align-items:flex-start;
width:100%;
text-align:left;
list-style-type:none;
}
#nav_footer ul li{
display:block;
margin:0 min(4vw,40px) 0 0;
padding:0 0 0 8px;
font-size:14px;
line-height:20px;
border-left:2px solid #559869;
}
footer small{
display:block;
margin:min(2vw,20px) 0 0 0;
padding:0;
font-size:14px;
line-height:20px;
text-align:right;
}
@media only screen and (max-width:750px){
footer{}
.footer-wrapper{}
.footer-container{padding:8vw 4vw;}
#nav_footer{}
#nav_footer ul{flex-direction:column;}
#nav_footer ul li{margin:0 0 4vw 0;font-size:12px;}
footer small{margin:0;font-size:12px;}
}