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


/* ------------------------------------------- CSS Information 
 Style Info:     ブラウザスタイルのリセット設定
----------------------------------------------------------- */  
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;}

/* ------------------------------------------- CSS Information 
 Style Info:     基本設定
----------------------------------------------------------- */
/*A Style*/  
a:link{text-decoration:underline;color:#666666;}
a:visited{text-decoration:none;color:#66666;}
a:hover{text-decoration:underline;color:#999999;}
a:active{text-decoration:none;color:#66666;}
/*font*/
.b{font-weight:600;}
.ul{text-decoration:underline;}
.bg{background-color:#fff45c;}
.big{font-size:22px;line-height:36px;}@media only screen and (max-width:750px){.big{font-size:16px;line-height:24px;}}
.small{font-size:12px;line-height:20px;}
.red{color:#c9171e;}
.text_center{text-align:center;}
.text_right{text-align:right;}
/* image */
.img_right{display:block;margin:0 0 30px 30px;float:right;width:40%;max-width:320px;}
.pc{display:block;}
.sp{display:none;}
@media only screen and (max-width:750px){
.img_right{margin:0 0 10px 10px;}
.pc{display:none;}
.sp{display:block;}
}

/* ----------------------- CSS Information 
 Style Info: HTML/BODY
--------------------------------------- */
html,body{  
font-family:'Noto Sans JP',"メイリオ","ヒラギノ角ゴ Pro W3",Sans-Serif;
color:#333333;
font-size:17px;
line-height:0;
text-align:center;
letter-spacing:0em;
background:#ffffff;
width:100%;
height:100%;
}

/* ----------------------- CSS Information 
 Style Info: HEADER
--------------------------------------- */
header{
position:relative;
margin:0;
padding:0;
width:100%;
height:700px;
box-sizing:border-box;
text-align:center;
background:#f6f6f5 url(../img/header_bg_pc.png) no-repeat center top;
background-size:cover;
}
/* header_text -----*/
#header_text{
position:relative;
width:100%;
max-width:1260px;
height:100%;
margin:0 auto;
padding:0;
z-index:10;
box-sizing:border-box;
}
#header_text img{
position:absolute;
width:100%;
max-width:750px;
margin:auto auto auto 0;
padding:0;
top:0;
bottom:0;
left:0;
opacity:0;
box-sizing:border-box;
-webkit-animation:header_text 0.5s both 1s;
animation:header_text 0.5s both 1s;
}
@-webkit-keyframes header_text{0%{opacity:0;}100%{opacity:1;}}
@keyframes header_text{0%{opacity:0;}100%{opacity:1;}}
#header_text img.header_img01{animation-delay:1s;}
#header_text img.header_img02{animation-delay:2s;}
#header_text img.header_img03{animation-delay:3s;}
@media only screen and (max-width:750px){
header{
height:auto;
min-height:0;
background:#f6f6f5 url(../img/header_bg_sp.png) no-repeat center top;
background-size:cover;
}
/* header_text -----*/
#header_text{width:100%;max-width:750px;height:auto;}
#header_text img{margin:0 auto auto auto;top:0;bottom:auto;left:0;right:0;}
#header_text img.header_img01{position:relative;}
}

/* ----------------------- CSS Information 
 Style Info: 共通設定
--------------------------------------- */
/* -- wrapper -- */
.wrapper{
width:100%;
max-width:1060px;
margin:0 auto;
padding:0 30px;
background:#ffffff;
box-sizing:border-box;
}
@media only screen and (max-width:750px){.wrapper{padding:0 4%;}}
/* -- contents -- */
.contents{
width:100%;
margin:0;
padding:120px 0 120px 0;
position:relative;
background:#ffffff;
}
@media only screen and (max-width:750px){.contents{padding:40px 0 40px 0;}}
/* -- text -- */
.text{
padding:0;
font-size:17px;
line-height:33px;
text-align:left;
box-sizing:border-box;
}
.text p{margin:0 0 30px 0;padding:0;}
.text ul{margin:0 0 40px 0;list-style:none;font-weight:600;}
.text ul li{margin:0;padding:0;list-style:none;}
ul.list01{}
ul.list01 li{}
ul.check{
width:100%;
max-width:640px;
margin:40px auto 40px 0;
padding:30px;
background:#f6f6f5;
border-radius:10px;
box-sizing:border-box;
}
ul.check li{
position:relative;
margin:0 0 10px 0;
padding:0 0 0 30px;
list-style:none;
text-align:left;
line-height:30px;
box-sizing:border-box;
}
ul.check li:last-child{margin:0;}
ul.check li:before{
content:"";
display:block;
position:absolute;
top:6px;
left:0;
width:20px;
height:20px;
background:#ffffff;
border:1px solid #555555;
box-sizing:border-box;
}
ul.check li:after{
content:"";
display:block;
position:absolute;
top:6px;
left:5px;
width:6px;
height:12px;
transform:rotate(40deg);
border-bottom:3px solid #d01137;
border-right:3px solid #d01137;
}
ul.list02{
width:100%;
max-width:640px;
margin:40px auto 40px 0;
padding:30px;
background:#f6f6f5;
border-radius:10px;
box-sizing:border-box;
}
ul.list02 li{
position:relative;
margin:0 0 10px 0;
padding:0 0 0 30px;
text-align:left;
background:url(../img/icon01.png) no-repeat 0 8px;
background-size:22px 22px;
}
ul.list02 li:last-child{margin:0;}
ul.list03{
width:100%;
max-width:640px;
margin:40px auto 40px 0;
padding:30px;
background:#f6f6f5;
border-radius:10px;
box-sizing:border-box;
}
ul.list03 li{
position:relative;
margin:0 0 10px 0;
padding:0 0 0 30px;
text-align:left;
background:url(../img/icon02.png) no-repeat 0 7px;
background-size:22px 22px;
}
ul.list03 li:last-child{margin:0;}
@media only screen and (max-width:750px){
.text{font-size:14px;line-height:24px;text-align:justify;}
.text p{margin:0 0 20px 0;}
.text p:last-child{margin:0;}
.text ul{margin:0 0 20px 0;}
.text ul li{}
ul.list01{}
ul.list01 li{}
ul.check{max-width:690px;margin:30px auto 30px 0;padding:20px 4%;}
ul.check li{padding:0 0 0 20px;}
ul.check li:last-child{margin:0;}
ul.check li:before{top:8px;width:16px;height:16px;}
ul.check li:after{top:8px;left:4px;width:5px;height:10px;border-bottom:3px solid #d01137;border-right:3px solid #d01137;}
ul.list02{max-width:690px;margin:30px auto 30px 0;padding:20px 4%;}
ul.list02 li{
padding:0 0 0 20px;
background:url(../img/icon01.png) no-repeat 0 6px;
background-size:16px 16px;
}
ul.list03{max-width:690px;margin:30px auto 30px 0;padding:20px 4%;}
ul.list03 li{
padding:0 0 0 20px;
background:url(../img/icon02.png) no-repeat 0 5px;
background-size:18px 18px;
}
/* -- br -- */
.text br{display:none;}
.text br.sp{display:block;}
.text br.all{display:block;}
}

/* ----------------------- CSS Information 
 Style Info: CONTENTS01
--------------------------------------- */
#contents01{}
/* talk ----- */
.talk{
display:flex;
margin:40px 0;
padding:0;
box-sizing:border-box;
}
.talk_img{
display:block;
width:140px;
height:140px;
margin:0 auto;
padding:0 20px 0 0;
}
.talk_text{
position:relative;
flex:1;
display:block;
margin:0;
padding:30px;
font-size:20px;
line-height:40px;
font-weight:600;
background:#f6f6f5;
border-radius:10px;
box-sizing:border-box;
}
.talk_text:before{
content:"";
position:absolute;
top:20px;
left:-20px;
display:block;
border:10px solid transparent;
border-right:10px solid #f6f6f5;
}
@media only screen and (max-width:750px){
#contents01{}
/* talk ----- */
.talk{margin:30px 0;}
.talk_img{width:70px;height:70px;padding:0 10px 0 0;}
.talk_text{padding:15px 10px;font-size:16px;line-height:30px;text-align:justify;}
.talk_text:before{
content:"";
position:absolute;
top:20px;
left:-20px;
display:block;
border:10px solid transparent;
border-right:10px solid #f6f6f5;
}
}

/* ----------------------- CSS Information 
 Style Info: POINT
--------------------------------------- */
#point{padding:60px 0 0 0;}
.title_point{
display:block;
width:100%;
margin:0 auto;
padding:0;
text-align:center;
box-sizing:border-box;
background:url(../img/title_point_bg.png) repeat-x center top;
}
.title_point img{width:100%;max-width:750px;margin:0 auto;}
#point h2{
display:block;
margin:0 0 40px 0;
padding:0 0 0 10px;
font-size:28px;
line-height:50px;
text-align:left;
font-weight:600;
color:#2425aa;
border-left:6px solid #c9171e;
box-sizing:border-box;
}
#point .text{padding:0 0 120px 0;}
@media only screen and (max-width:750px){
#point{padding:30px 0 0 0;}
.title_point{background:none;}
.title_point img{}
#point h2{
margin:0 0 30px 0;
padding:0 0 0 10px;
font-size:18px;
line-height:30px;
border-left:4px solid #c9171e;
}
#point .text{padding:0 0 60px 0;}
}

/* ----------------------- CSS Information 
 Style Info: CTA
--------------------------------------- */
.cta{
width:100%;
margin:0;
padding:0 0 60px 0;
text-align:center;
background:#fcde7f url(../img/cta_bg_pc.png) no-repeat center;
background-size:cover;
}
.title_cta{
width:100%;
max-width:750px;
margin:0 auto;
}
/* outline ----- */
.outline{
width:100%;
max-width:750px;
margin:0 auto;
padding:0 30px;
box-sizing:border-box;
}
.outline_box{
width:100%;
max-width:690px;
margin:0 auto;
padding:30px;
background:rgba(255,255,255,0.8);
box-sizing:border-box;
}
.outline_dl{
display:flex;
flex-direction:row;
flex-wrap:nowrap;
justify-content:flex-start;
align-items:flex-start;
margin:0 auto 20px auto;
width:100%;
}
.outline_dl dt{
width:120px;
margin:5px 0 0 0;
padding:0 0 1px 0;
font-size:16px;
line-height:29px;
font-weight:600;
color:#ffffff;
background:#2425aa;
}
.outline_dl dd{
flex:1;
margin:0;
padding:0 0 0 10px;
font-size:18px;
line-height:40px;
text-align:left;
}
.outline_dl dd ul{margin:0;padding:0;}
.outline_dl dd .limit{
display:inline-block;
margin:0 0 0 5px;
padding:0 2px 1px 2px;
color:#c9171e;
border:1px solid #c9171e;
font-size:15px;
line-height:17px;
font-weight:600;
}
.outline_dl dd p{margin:0;padding:0;}
/* form ----- */
.cta_form{
width:100%;
margin:40px auto 0 auto;
text-align:left;
}
.cta_form p{
margin:0 0 20px 0;
padding:0;
font-size:16px;
line-height:24px;
text-align:center;
}
.cta_form ul.cta_day{margin:0 0 20px 0;}
.cta_form ul.cta_day li{width:100%;margin:0 0 10px 0;}
.cta_form input[type=radio]{display:none;}
.cta_form label{
display:block;
width:100%;
margin:0;
padding:0 0 1px 36px;
position:relative;
font-size:17px;
line-height:28px;
font-weight:600;
color:#ffffff;
background:#2425aa;
border:1px solid #2425aa;
box-sizing:border-box;
}
.cta_form input[type=radio] + label:before{
content:"";
display:block;
position:absolute;
left:0;
top:0;
width:30px;
height:29px;
background:#ffffff;
box-sizing:border-box;
}
.cta_form label:hover,.cta_form input[type=radio]:checked + label{
color:#2425aa;
background:#f6eda1;
cursor:pointer;
}
.cta_form input[type=radio] + label:hover:after,.cta_form input[type=radio]:checked + label:after{
content:"";
display:block;
position:absolute;
top:0;
left:8px;
width:9px;
height:18px;
transform:rotate(40deg);
border-bottom:5px solid #d01137;
border-right:5px solid #d01137;
}
/* button ----- */
.cta_form input[type=button]{
position:relative;
display:block;
width:100%;
max-width:480px;
margin:0 auto;
padding:20px 0;
font-family:'Noto Sans JP',"メイリオ","ヒラギノ角ゴ Pro W3",Sans-Serif;
text-align:center;
font-size:20px;
line-height:30px;
color:#ffffff;
font-weight:600;
background:-moz-linear-gradient(top, #f1764a, #a43426, #ec1d25);
background:-webkit-linear-gradient(top, #f1764a, #a43426, #ec1d25);
background:linear-gradient(to bottom, #f1764a, #a43426, #ec1d25);
box-shadow:2px 2px 4px 0px rgba(0,0,0,0.5);
border:0;
border-radius:10px;
box-sizing:border-box;
}
.cta_form input[type=button]:hover{
background:-moz-linear-gradient(top, #bbe37b, #94c6ac, #d1e9dd);
background:-webkit-linear-gradient(top, #bbe37b, #94c6ac, #d1e9dd);
background:linear-gradient(to bottom, #bbe37b, #94c6ac, #d1e9dd);
cursor:pointer;
}
.cta_attention{
margin:20px 0 0 0;
padding:0 30px;
color:#f6f6f5;
font-size:14px;
line-height:20px;
text-align:center;
}
@media only screen and (max-width:750px){
.cta{
padding:0 0 40px 0;
background:#fcde7f url(../img/cta_bg_sp.png) no-repeat center;
background-size:cover;
}
.title_cta{}
/* outline ----- */
.outline{padding:0 4%;}
.outline_box{padding:20px 4%;}
.outline_dl{flex-direction:column;}
.outline_dl dt{width:100%;margin:0 0 10px 0;font-size:16px;}
.outline_dl dd{width:100%;margin:0 0 10px 0;padding:0;font-size:16px;line-height:30px;text-align:center;}
.outline_dl dd ul{margin:0;padding:0;}
.outline_dl dd .limit{font-size:14px;line-height:16px;}
.outline_dl dd p{margin:0;padding:0;}
/* form ----- */
.cta_form{margin:20px auto 0 auto;}
.cta_form p{margin:0 0 30px 0;font-size:14px;line-height:24px;text-align:justify;}
.cta_form p br{display:none;}
.cta_form ul.cta_day{margin:0 0 20px 0;}
.cta_form ul.cta_day li{margin:0 0 15px 0;}
.cta_form input[type=radio]{}
.cta_form label{}
.cta_form input[type=radio] + label:before{}
.cta_form label:hover,.cta_form input[type=radio]:checked + label{}
.cta_form input[type=radio] + label:hover:after,.cta_form input[type=radio]:checked + label:after{}
/* button ----- */
.cta_form input[type=button]{padding:15px 0;font-size:16px;line-height:20px;}
.cta_form input[type=button]:hover{}
.cta_attention{padding:0 4%;font-size:12px;line-height:20px;text-align:justify;}
}

/* ----------------------- CSS Information 
 Style Info: FOOTER
--------------------------------------- */
footer{
margin:0;
padding:40px 0;
width:100%;
color:#f6f6f5;
background:#234872;
}
#fnav a{color:#f6f6f5;text-decoration:none;}
#fnav a:hover{color:#f6f6f5;text-decoration:underline;}
#fnav{margin:0 0 20px 0;}
#fnav ul{list-style-type:none;}
#fnav li{
font-size:12px;
line-height:20px;
display:inline-block;
padding:0 20px;
border-right:1px solid #fabe00;
}
#fnav li:last-child{border-right:none;}
address{
text-align:center;
font-size:12px;
line-height:20px;
padding:0;
}
@media only screen and (max-width:767px){
#fnav{margin:0 0 40px 0;}
#fnav li{
display:block;
border-right:0;
margin:0 0 20px 0;
}
.sp_no{display:none;}
}

/* --------------------------------- CSS Information 
 Style Info: fadein
------------------------------------------------- */
.fadein{
opacity:0;
transition:all ease 1s;
}
.fadein.scrollin{opacity:1;}
/*左から----------*/
.fadein_left{
opacity:0;
transform:translateX(-40px);
transition:all 1s;
}
.fadein_left.scrollin{
opacity:1;
transform:translateX(0);
}
/*右から----------*/
.fadein_right{
opacity:0;
transform:translateX(40px);
transition:all 1s;
}
.fadein_right.scrollin{
opacity:1;
transform:translateX(0);
}
/*上から----------*/
.fadein_top{
opacity:0;
transform:translateY(-20px);
transition:all 1s;
}
.fadein_top.scrollin{
opacity:1;
transform:translateY(0);
}
/*下から----------*/
.fadein_bottom{
opacity:0;
transform:translateY(20px);
transition:all 1s;
}
.fadein_bottom.scrollin{
opacity:1;
transform:translateY(0);
}