@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap');

/* --------------------------
 RESET
-------------------------- */
html{overflow-y:scroll;} 
body,div,blockquote,pre,h1,h2,h3,h4,h5,h6,dl,dt,dd,ul,ol,li,table,th,td,form,input,textarea,fieldset{margin:0;padding:0;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
table{border-collapse:collapse;border-spacing:0;}
caption,th{text-align:left;}   
img,abbr,acronym,fieldset{border:none;}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;}
hr,legend{display:none;}
object,embed{vertical-align:top;}
li{list-style:none;}

/* --------------------------
 BASIC
-------------------------- */
/*A Style*/  
a{text-decoration:none;color:#666666;}
a:hover{text-decoration:underline;color:#999999;}
/*font*/
.b{font-weight:900;}
.ul{text-decoration:underline;}
.bg{background:linear-gradient(transparent 90%, #fbbc05 0%)}
.red{color:#d0102c;}
.big{font-size:24px;}
.pc{display:block !important;}
.sp{display:none !important;}
@media only screen and (max-width:750px){
.pc{display:none !important;}
.sp{display:block !important;}
.big{font-size:18px;}
}

/* --------------------------
 HTML/BODY
-------------------------- */
html,body{  
width:100%;
font-family:'Noto Sans JP',"メイリオ","ヒラギノ角ゴ Pro W3",Sans-Serif;
color:#333333;
font-size:18px;
line-height:0;
text-align:center;
letter-spacing:0em;
background:#f4f1eb url(../img/bg.png) repeat center top;
word-break:break-all;
}

/* --------------------------
 FV
-------------------------- */
#fv{
position:relative;
width:100%;
margin:0;
padding:0 0 120px 0;
background:#fdf2d8 url(../img/bg_pc.png) no-repeat center;
background-size:cover;
}
#fv h1{
display:block;
width:100%;
max-width:1000px;
margin:0 auto;
padding:0;
}
#fv h1 img{width:100%;}
@media only screen and (max-width:750px){
#fv{
padding:0 0 8vw 0;
background:#fdf2d8 url(../img/bg_sp.png) no-repeat center;
background-size:cover;
}
}

/* --------------------------
 CV
-------------------------- */
.cv{
position:relative;
width:100%;
margin:0;
padding:0 0 120px 0;
background:#fdf2d8 url(../img/bg_pc.png) no-repeat center;
background-size:cover;
}
.cv h1{
display:block;
width:100%;
max-width:1000px;
margin:0 auto;
padding:0;
}
.cv h1 img{width:100%;}
@media only screen and (max-width:750px){
.cv{
padding:0 0 8vw 0;
background:#fdf2d8 url(../img/bg_sp.png) no-repeat center;
background-size:cover;
}
}

/* --------------------------
 BTN
-------------------------- */
.btn{
position:relative;
width:48%;
max-width:480px;
margin:0 auto;
padding:0;
box-sizing:border-box;
}
.btn a{
display:block;
width:100%;
max-width:480px;
margin:0 auto;
padding:0;
background:#ffffff;
border-radius:10px;
box-shadow:0px 10px 10px 0px rgba(0,0,0,0.2);
overflow:hidden;
box-sizing:border-box;
}
.btn a:hover{box-shadow:0px 0 10px 0px rgba(0,0,0,0.2);}
.btn a img{
width:100%;
margin:0 auto;
padding:0;
}
.btn a img:hover{opacity:0.5;}
@media only screen and (max-width:750px){
.btn{width:92%;max-width:690px;}
.btn a{max-width:690px;}
.btn a:hover{}
.btn a img{}
.btn a img:hover{}
}

/* --------------------------
 SECTION
-------------------------- */
.section{
position:relative;
display:block;
margin:0;
padding:120px 0;
}
.section_wrapper{
width:100%;
max-width:1250px;
margin:0 auto;
box-sizing:border-box;
}
.section h2{
position:relative;
display:block;
margin:0 auto 60px auto;
padding:0;
box-sizing:border-box;
}
.section h2 img{
width:100%;
max-width:1000px;
margin:0 auto;
padding:0;
}
.section_box{
position:relative;
width:100%;
margin:0 auto;
padding:0 4%;
box-sizing:border-box;
}
@media only screen and (max-width:750px){
.section{padding:16vw 0;}
.section_wrapper{}
.section h2{margin:0 auto 12vw auto;}
.section_box{}
}

/* --------------------------
 TEXT
-------------------------- */
.text{
margin:0;
padding:0;
font-size:18px;
line-height:40px;
text-align:justify;
box-sizing:border-box;
}
.text p{
margin:0 0 30px 0;
padding:0;
}
.text p:last-of-type{
margin:0;
padding:0;
}
@media only screen and (max-width:750px){
.text{font-size:14px;line-height:30px;}
.text p{}
}

/* --------------------------
 ABOUT
-------------------------- */
#about{
background:#f1ecf3 url(../img/about_bg_pc.png) no-repeat center top;
background-size:cover;
}
#about .text{text-align:center;}
@media only screen and (max-width:750px){
#about{
padding:0 0 16vw 0;
background:#f1ecf3 url(../img/about_bg_sp.png) no-repeat center top;
background-size:cover;
}
}

/* --------------------------
 FLOW
-------------------------- */
#flow{
padding:120px 0 60px 0;
background:#ffffff;
}
.flow_wrapper{
display:flex;
flex-direction:row;
flex-wrap:wrap;
justify-content:flex-start;
align-items:stretch;
}
.flow_box{
position:relative;
width:28%;
margin:0 0 0 4%;
padding:0;
background:#f1ecf3;
box-sizing:border-box;
}
.flow_num{
position:absolute;
top:-10px;
left:-10px;
display:block;
width:30px;
height:30px;
font-size:18px;
line-height:30px;
text-align:center;
color:#ffffff;
border-radius:50%;
background:#ad8ab6;
}
.flow_box img{
display:block;
width:100%;
margin:0;
padding:0;
}
.flow_box p{
display:block;
margin:0;
padding:20px;
font-size:16px;
line-height:24px;
text-align:center;
color:#362e2b;
box-sizing:border-box;
}
#flow01:after,#flow02:after{
content:"";
position:absolute;
right:-14%;
top:0;
bottom:0;
display:block;
margin:auto 0;
width:14%;
height:50px;
background:url(../img/icon_arrow_right.png) no-repeat center;
background-size:100% auto;
}
.flow_bg{
width:100%;
max-width:1250px;
margin:60px auto 0 auto;
}
.flow_bg img{
width:100%;
margin:0 auto;
}
@media only screen and (max-width:750px){
#flow{padding:16vw 0 30px 0;}
.flow_wrapper{display:block;}
.flow_box{width:92%;margin:0 auto 30px auto;}
.flow_box:last-of-type{margin:0 auto 0 auto;}
.flow_num{font-size:14px;line-height:30px;}
.flow_box img{}
.flow_box p{padding:20px 4vw;font-size:14px;}
.flow_box p br{display:none;}
#flow01:after,#flow02:after{right:0;left:0;top:auto;bottom:-30px;margin:0 auto;width:30px;height:30px;background:url(../img/icon_arrow_bottom.png) no-repeat center;background-size:100% auto;}
.flow_bg{margin:30px auto 0 auto;}
.flow_bg img{}
}

/* --------------------------
 MEMBER
-------------------------- */
#member{}
#member .section_wrapper{max-width:1000px;}
/* CHAIRMAN */
#chairman{}
.chairman_wrapper{
display:flex;
flex-direction:row;
flex-wrap:wrap;
justify-content:center;
align-items:center;
width:100%;
max-width:600px;
margin:0 auto 80px auto;
padding:0;
}
.chairman_img{
display:block;
width:200px;
margin:0;
padding:0;
}
.chairman_box{
flex:1;
margin:0;
padding:0 4%;
font-family:"Zen Maru Gothic",Sans-Serif;
text-align:left;
font-size:30px;
line-height:50px;
font-weight:700;
color:#362e2b;
box-sizing:border-box;
}
.chairman_en{
display:block;
width:auto;
height:40px;
margin:0 auto 10px 0;
}
.chairman_box span{
display:block;
font-size:20px;
line-height:30px;
}
/* COUNSELOR */
#counselor{
width:100%;
margin:0 auto;
padding:0;
}
#counselor h3{
display:block;
width:100%;
margin:0 auto 40px auto;
padding:0 4%;
font-family:"Zen Maru Gothic",Sans-Serif;
font-size:30px;
line-height:40px;
font-weight:500;
text-align:center;
color:#362e2b;
box-sizing:border-box;
}
#counselor h3 span{
position:relative;
display:block;
width:100%;
margin:0 auto 20px auto;
padding:10px;
font-size:20px;
line-height:30px;
text-align:center;
color:#ffffff;
background:#f5a522;
box-sizing:border-box;
}
#counselor h3 span:before{
content:"";
display:block;
position:absolute;
left:50%;
bottom:-10px;
transform:translateX(-50%);
width:20px;
height:10px;
background:#f5a522;
clip-path:polygon(0 0,100% 0,50% 100%);
}
.counselor_wrapper{
display:flex;
flex-direction:row;
flex-wrap:wrap;
justify-content:flex-start;
align-items:stretch;
width:100%;
margin:0 auto;
padding:0;
}
.counselor_box{
position:relative;
width:20%;
margin:0 0 0 4%;
padding:0;
box-sizing:border-box;
}
.counselor_img{
display:block;
width:100%;
max-width:200px;
margin:0 auto 10px auto;
padding:0;
}
.counselor_name{
display:block;
width:100%;
margin:0;
padding:0;
font-family:"Zen Maru Gothic",Sans-Serif;
font-size:18px;
line-height:20px;
font-weight:500;
text-align:center;
color:#362e2b;
box-sizing:border-box;
}
@media only screen and (max-width:750px){
#member{}
#member .section_wrapper{}
/* CHAIRMAN */
#chairman{}
.chairman_wrapper{display:block;max-width:750px;margin:0 auto 60px auto;}
.chairman_img{width:50%;max-width:200px;margin:0 auto;}
.chairman_box{width:100%;text-align:center;font-size:20px;line-height:30px;}
.chairman_en{height:20px;margin:20px auto 10px auto;}
.chairman_box span{font-size:16px;}
/* COUNSELOR */
#counselor{}
#counselor h3{margin:0 auto 30px auto;font-size:16px;line-height:20px;}
#counselor h3 span{font-size:14px;line-height:20px;}
#counselor h3 span:before{}
.counselor_wrapper{}
.counselor_box{width:44%;margin:0 0 30px 4%;}
.counselor_img{}
.counselor_name{font-size:14px;}
}

/* --------------------------
 REVIEW
-------------------------- */
#review{background:#ffffff;}
#review .section_wrapper{max-width:1000px;}
.review_box{
position:relative;
display:flex;
flex-direction:row;
flex-wrap:nowrap;
justify-content:flex-start;
align-items:flex-start;
width:100%;
margin:0 auto 40px auto;
padding:40px;
background:#f1ecf3;
border-radius:10px;
box-sizing:border-box;
}
.review_box:last-of-type{margin:0 auto 0 auto;}
.review_icon{
width:80px;
margin:0 15px 0 0;
}
.review_icon img{
width:100%;
}
.review_text{
flex:1;
position:relative;
margin:0;
padding:0;
font-size:16px;
line-height:30px;
text-align:justify;
}
.review_text p{
margin:0;
padding:0;
}
.review_attention{
display:block;
margin:10px 0 0 0;
padding:0;
color:#999999;
font-size:14px;
line-height:20px;
text-align:right;
}
@media only screen and (max-width:750px){
#review{}
#review .section_wrapper{}
.review_box{margin:0 auto 6vw auto;padding:6vw 4vw;}
.review_box:last-of-type{margin:0 auto 0 auto;}
.review_icon{width:40px;margin:0 10px 0 0;}
.review_icon img{}
.review_text{font-size:14px;line-height:24px;}
.review_text p{}
.review_attention{font-size:12px;}
}

/* --------------------------
 SPECIAL
-------------------------- */
#special{
padding:120px 0 180px;
background-image:url(../img/special_bg_tl.png),url(../img/special_bg_tr.png),url(../img/special_bg_bl.png),url(../img/special_bg_br.png);
background-repeat:no-repeat,no-repeat,no-repeat,no-repeat;
background-position:top left,top right,bottom left,bottom right;
}
@media only screen and (max-width:2000px){#special{background-size:50% auto,50% auto,50% auto,50% auto;}}
#special .section_wrapper{max-width:1000px;}
#special .section_wrapper img{width:100%;max-width:1000px;}
@media only screen and (max-width:750px){
#special{padding:16vw 0 16vw 0;}
#special .section_wrapper{}
}

/* --------------------------
 MESSAFE
-------------------------- */
#message{
background:#f1ecf3 url(../img/about_bg_pc.png) no-repeat center top;
background-size:cover;
}
#message .text{
text-align:center;
}
.heart_noise{
display:inline-block;
width:120px;
}
@media only screen and (max-width:750px){
#message{
background:#f1ecf3 url(../img/about_bg_sp.png) no-repeat center top;
background-size:cover;
}
.heart_noise{width:80px;}
}

/* --------------------------
 LIMIT
-------------------------- */
.limit{
width:100%;
margin:0;
padding:20px;
font-size:16px;
line-height:20px;
text-align:center;
color:#ffffff;
background:#856cbb;
box-sizing:border-box;
}
.limit span{
display:inline-block;
margin:0 10px 0 0;
padding:0 5px;
border:1px solid #ffffff;
}
@media only screen and (max-width:750px){
.limit{font-size:14px;}
.limit span{}
}


/* --------------------------
 FOOTER
-------------------------- */
footer{
display:block;
width:100%;
margin:0;
padding:40px 0 40px 0;
color:#333333;
}
footer a{color:#333333;text-decoration:none;}
footer a:hover{color:#333333;text-decoration:underline;}
#nav_footer{
display:block;
width:100%;
max-width:750px;
margin:0 auto;
padding:0;
}
#nav_footer ul{
display:flex;
flex-direction:row;
flex-wrap:nowrap;
justify-content:center;
align-items:flex-start;
width:100%;
margin:0;
padding:0 4%;
text-align:center;
list-style-type:none;
box-sizing:border-box;
}
#nav_footer ul li{
display:block;
margin:0;
padding:0 20px;
font-size:12px;
line-height:20px;
border-right:1px solid #ad8ab6;
box-sizing:border-box;
}
#nav_footer ul li:last-child{border-right:none;}
footer small{
display:block;
margin:20px 0 0 0;
padding:0 4%;
text-align:center;
font-size:12px;
line-height:20px;
box-sizing:border-box;
}
@media only screen and (max-width:750px){
footer{}
#nav_footer{}
#nav_footer ul{flex-direction:column;text-align:left;}
#nav_footer ul li{width:100%;margin:0 0 20px 0;padding:0 0 0 5px;border-left:1px solid #ad8ab6;border-right:none;}
#nav_footer ul li:last-child{}
footer small{margin:0;text-align:right;}
.sp_no{display:none;}
}