@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');

/* ------------------------------------------- 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:none;color:#666666;}
a:visited{text-decoration:none;color:#666666;}
a:hover{text-decoration:underline;color:#999999;}
a:active{text-decoration:none;color:#666666;}
/*font*/
.b{font-weight:700;}
.ul{text-decoration:underline;}
.bg{background-color:#fff45c;}
.big{font-size:20px;line-height:30px;}@media only screen and (max-width:768px){.big{font-size:16px;line-height:24px;}}
.small{font-size:14px;line-height:20px;}@media only screen and (max-width:768px){.small{font-size:12px;line-height:20px;}}
.red{color:#c70003;}
.yellow{color:#f1cd05;}

/*----- image -----*/
.pc{display:block;}
.sp{display:none;}
@media only screen and (max-width:750px){
.pc{display:none;}
.sp{display:block;}
}

/* ------------------------------------------- CSS Information 
 Style Info: body
----------------------------------------------------------- */
body{  
font-family:'Noto Sans JP',"メイリオ","ヒラギノ角ゴ Pro W3",Sans-Serif;
font-weight:400;
color:#333333;
font-size:16px;
line-height:0;
text-align:center;
background:#ffffff;
letter-spacing:0em;
min-width:320px;
position:relative;
}

/* ------------------------------------------- CSS Information 
 Style Info: HEADER
----------------------------------------------------------- */
header{
position:relative;
width:100%;
margin:0;
padding:0;
text-align:center;
overflow:hidden;
background:#f3f8fc url(../img/header_bg_pc.png) no-repeat center right;
background-size:cover;
}
.header_video{
position:absolute;
top:0;
bottom:0;
left:0;
right:0;
margin:auto;
min-width:100%;
min-height:100%;
width:auto;
height:auto;
opacity:0.5;
}
.header_wrapper{
position:relative;
width:100%;
max-width:1060px;
margin:0 auto;
padding:0 30px;
box-sizing:border-box;
z-index:10;
}
.header_img{
width:100%;
max-width:690px;
margin:0 auto 0 0;
opacity:0;
animation-name:header_fadein;
animation-duration:1s;
animation-timing-function:ease;
animation-iteration-count:1;
animation-fill-mode:forwards;
animation-delay:0.5s;
}
@keyframes header_fadein{0%{opacity:0;}100%{opacity:1;}}
@media only screen and (max-width:750px){
header{
background:#f3f8fc url(../img/header_bg_sp.png) no-repeat center right;
background-size:cover;
}
.header_video{}
.header_wrapper{padding:0;}
.header_img{max-width:750px;margin:0 auto;}
}


/* ----------------------- CSS Information 
 Style Info: PART
--------------------------------------- */
.part{
width:100%;
margin:0;
padding:60px 0 40px 0;
background:#ffffff;
}
.part_wrapper{
width:100%;
max-width:1060px;
margin:0 auto;
padding:0 30px;
box-sizing:border-box;
}
.part_title{
display:-ms-flexbox;display:flex;
-ms-flex-direction:row;flex-direction:row;
-ms-flex-wrap:nowrap;flex-wrap:nowrap;
-ms-flex-pack:start;justify-content:flex-start;
flex:1;
font-family:'Noto Serif JP',serif;
font-weight:500;
width:100%;
margin:0;
padding:10px 0;
box-sizing:border-box;
font-size:22px;
line-height:30px;
text-align:left;
color:#000000;
border-top:1px solid #967a53;
border-bottom:1px solid #967a53;
}
.part_title:before{
content:"";
display:block;
margin:0 10px 0 0;
width:30px;
height:30px;
font-size:20px;
line-height:30px;
text-align:center;
color:#ffffff;
background:#967a53;
}
#part01 .part_title:before{content:"1";}
#part02 .part_title:before{content:"2";}
#part03 .part_title:before{content:"3";}
#part04 .part_title:before{content:"4";}
#part05 .part_title:before{content:"5";}
.part_text{
width:100%;
margin:30px auto;
padding:0;
font-size:16px;
line-height:30px;
color:#666666;
text-align:justify;
box-sizing:border-box;
}
.part_text p{margin:0;padding:0;}
@media only screen and (max-width:750px){
.part{padding:40px 0 40px 0;}
.part_wrapper{padding:0 4%;}
.part_title{font-size:16px;line-height:24px;text-align:left;}
.part_title:before{margin:2px 5px 0 0;width:20px;height:20px;font-size:16px;line-height:20px;}
.part_text{margin:20px auto;font-size:14px;line-height:30px;}
.part_text p{margin:0;padding:0;}
}


/* ----------------------- CSS Information 
 Style Info: CHART
--------------------------------------- */
.chart_wrapper{
width:100%;
max-width:1000px;
margin:0 auto;
padding:0;
box-sizing:border-box;
}
.chart{
display:-ms-flexbox;display:flex;
-ms-flex-direction:row;flex-direction:row;
-ms-flex-wrap:nowrap;flex-wrap:nowrap;
-ms-flex-pack:start;justify-content:flex-start;
-ms-flex-align:stretch;align-items:stretch;
width:100%;
font-size:14px;
line-height:20px;
text-align:left;
box-sizing:border-box;
}
.chart .index,.chart .free,.chart .premium{display:flex;align-items:center;box-sizing:border-box;}
.chart .index{flex:1;padding:10px;}
.chart .free{width:128px;padding:10px 0;text-align:center;justify-content:center;}
.chart .premium{width:130px;padding:10px 0;text-align:center;justify-content:center;}
/*-- CHAPTER --*/
.chapter{width:100%;margin:0;padding:0;}
.chapter .index{color:#ffffff;background:#234872;}
.chapter .free{color:#ffffff;background:#71afd1;}
.chapter .premium{color:#ffffff;background:#967a53;}
/*-- SECTION --*/
.section{width:100%;margin:0;padding:0;}
.section .index{border-left:10px solid #234872;border-right:2px solid #234872;border-bottom:2px solid #234872;}
.section .free{border-bottom:2px solid #234872;}
.section .premium{border-left:2px solid #967a53;border-right:2px solid #967a53;border-bottom:2px solid #967a53;}
.input_section{display:none;}
.label_section{display:block;width:100%;margin:0;padding:0;}
.input_section + .label_section:hover{background-color:#e0eaee;}
.input_section + .label_section .index{
padding:10px 34px 10px 10px;
background-image:url(../img/open.png);
background-repeat:no-repeat;
background-position:right 10px center;
}
.input_section:checked + .label_section .index{
padding:10px 34px 10px 10px;
background-image:url(../img/close.png);
background-repeat:no-repeat;
background-position:right 10px center;
}
/*-- ITEM --*/
.item{
position:relative;
width:100%;
height:0;
margin:0;
padding:0;
overflow:hidden;
box-sizing:border-box;
}
.item .index{padding:10px;border-left:20px solid #234872;border-bottom:2px solid #234872;}
.input_section:checked + .label_section + .item{height:auto;}
@media only screen and (max-width:750px){
.chart_wrapper{}
.chart{font-size:12px;line-height:20px;}
.chart .index,.chart .free,.chart .premium{}
.chart .index{}
.chart .free{width:88px;padding:10px 0;}
.chart .premium{width:90px;padding:10px 0;}
/*-- CHAPTER --*/
.chapter{}
.chapter .index{}
.chapter .free{}
.chapter .premium{}
/*-- SECTION --*/
.section{}
.section .index{border-left:2px solid #234872;border-right:2px solid #234872;border-bottom:2px solid #234872;}
.section .free{border-bottom:2px solid #234872;}
.section .premium{border-left:2px solid #967a53;border-right:2px solid #967a53;border-bottom:2px solid #967a53;}
.input_section{}
.label_section{}
.input_section + .label_section:hover{}
.input_section + .label_section .index{
padding:10px 34px 10px 10px;
background-image:url(../img/open.png);
background-repeat:no-repeat;
background-position:right 10px center;
}
.input_section:checked + .label_section .index{
padding:10px 34px 10px 10px;
background-image:url(../img/close.png);
background-repeat:no-repeat;
background-position:right 10px center;
}
/*-- ITEM --*/
.item{}
.item .index{border-left:4px solid #234872;border-bottom:2px solid #234872;}
}


/* ----------------------- CSS Information 
 Style Info: CTA
--------------------------------------- */
.cta{
position:relative;
width:100%;
margin:0;
padding:80px 0;
text-align:center;
overflow:hidden;
background:#f3f8fc;
}
@media only screen and (max-width:750px){
.cta{padding:40px 0;}
}

/* ----------------------- CSS Information 
 Style Info: BTN
--------------------------------------- */
.btn_wrapper{
display:flex;
width:100%;
max-width:960px;
margin:0 auto;
padding:0 30px;
box-sizing:border-box;
}
.btn_box{
width:50%;
margin:0;
box-sizing:border-box;
}
.cta .btn_box:first-child{padding:0 10px 0 0;}
.cta .btn_box:last-child{padding:0 0 0 10px;}
.btn{
position:relative;
width:100%;
max-width:440px;
height:100%;
margin:0 auto;
background:#ffffff;
overflow:hidden;
box-sizing:border-box;
border-radius:8px;
box-shadow:2px 2px 4px 0px rgba(0,0,0,0.5);
z-index:10;
}
.btn img{width:100%;}
.btn img:hover{opacity:0.5;}
@media only screen and (max-width:750px){
.btn_wrapper{display:block;padding:0 20px;}
.btn_box{width:100%;}
.cta .btn_box:first-child{padding:0;margin:0 0 20px 0;}
.cta .btn_box:last-child{padding:0;}
.btn{max-width:600px;}
.btn img{}
.btn img:hover{}
}


/* ----------------------- CSS Information 
 Style Info: FOOTER_MENU
--------------------------------------- */
#footer_menu{
width:100%;
margin:0;
padding:80px 0;
background:#ffffff;
}
.footer_menu_box{
display:-ms-flexbox;display:flex;
-ms-flex-pack:justify;justify-content:space-between;
width:100%;
max-width:750px;
margin:0 auto;
padding:0 30px;
box-sizing:border-box;
list-style-type:none;
}
.footer_menu_box li{
display:block;
width:210px;
margin:0;
padding:0;
box-sizing:border-box;
}
.footer_menu_box li a{
display:block;
width:100%;
height:40px;
margin:0;
padding:7px 0 9px 0;
font-size:14px;
line-height:20px;
color:#d1d1d1;
text-decoration:none;
color:#ffffff;
background:#3396e3;
border-radius:20px;
border:2px solid #3396e3;
box-shadow:4px 4px 4px 0px rgba(0,0,0,0.1);
box-sizing:border-box;
}
.footer_menu_box li a:hover{
text-decoration:none;
color:#3396e3;
background:#ffffff;
box-shadow:none;
}
@media only screen and (max-width:750px){
#footer_menu{padding:40px 0 20px 0;}
.footer_menu_box{display:block;padding:0 4%;}
.footer_menu_box li{width:210px;margin:0 auto 20px auto;}
.footer_menu_box li a{}
.footer_menu_box li a:hover{}
}


/* ----------------------- CSS Information 
 Style Info: FOOTER
--------------------------------------- */
footer{
width:100%;
margin:0;
padding:40px 0;
color:#d1d1d1;
background:#18222c;
}
#fnav a{color:#d1d1d1;text-decoration:none;}
#fnav a:hover{color:#d1d1d1;text-decoration:underline;}
#fnav{margin:0 0 20px 0;}
#fnav ul{list-style-type:none;}
#fnav li{
font-size:14px;
line-height:20px;
display:inline-block;
padding:0 20px;
border-right:1px solid #ff9900;
}
#fnav li:last-child{border-right:none;}
address{
text-align:center;
font-size:14px;
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;}
}