@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;}
/*----- image -----*/
.pc{display:block;}
.sp{display:none;}
@media only screen and (max-width:750px){
.pc{display:none;}
.sp{display:block;}
}

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

/* ----------------------- CSS Information 
 Style Info: TOPBAR
--------------------------------------- */
#topbar{width:100%;margin:0;padding:10px;background:#ffffff;box-sizing:border-box;}
.topbar_logo{display:block;width:auto;height:50px;margin:0 auto;}
@media only screen and (max-width:750px){
#topbar{padding:5px;}
.topbar_logo{height:30px;}
}

/* ----------------------- CSS Information 
 Style Info: HEADER
--------------------------------------- */
header{position:relative;width:100%;margin:0;padding:0;}
.header01{
position:relative;
width:100%;
margin:0 auto;
padding:0;
background:#eeeeee url(../img/header01_bg_pc.png) no-repeat center left;
background-size:cover;
}
.header01 img{
width:100%;
max-width:1080px;
margin:0 auto;
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;
}
.header02{
position:relative;
width:100%;
margin:0 auto;
padding:0;
background:#d3492e url(../img/header02_bg_pc.png) repeat center top;
}
.header02 img{
width:100%;
max-width:750px;
margin:0 auto;
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){
.header01{background:none;}
}

/* ----------------------- CSS Information 
 Style Info: DAY
--------------------------------------- */
.day{
display:-ms-flexbox;display:flex;
-ms-flex-wrap:nowrap;flex-wrap:nowrap;
-ms-flex-pack:center;justify-content:center;
-ms-flex-align:start;align-items:flex-start;
width:100%;
max-width:1280px;
margin:0 auto;
background:#ffffff;
box-sizing:border-box;
}
#day01.day{padding:80px 0 40px 0;-ms-flex-direction:row;flex-direction:row;}
#day03.day{padding:40px 0 40px 0;-ms-flex-direction:row;flex-direction:row;}
#day02.day{padding:40px 0 40px 0;-ms-flex-direction:row-reverse;flex-direction:row-reverse;}
.day_img{width:65%;}
.day_text{width:35%;min-width:320px;}
.day_thumbnail{width:100%;}
.day_index{display:block;width:280px;margin:0 auto;}
.day_index img{width:220px;padding:0;}
#day01 .day_index img,#day03 .day_index img{margin:0 0 0 auto;}
#day02 .day_index img{margin:0 auto 0 0;}
.day_hr{display:block;width:50%;height:1px;background:#000000;}
#day01 .day_hr,#day03 .day_hr{margin:0 auto 30px 0;}
#day02 .day_hr{margin:0 0 30px auto;}
/*-- PROFILE --*/
dl.profile{
font-family:'Noto Serif JP',serif;
width:280px;
margin:0 auto;
padding:0;
text-align:justify;
}
dl.profile dt{margin:0 0 20px 0;font-size:20px;line-height:30px;font-weight:700;}
dl.profile dt .small{font-size:14px;}
dl.profile dd{font-size:16px;line-height:30px;}
dl.profile dd p{margin:0;padding:0 0 20px 0;}
dl.profile dd p:last-child{margin:0;padding:0;}
@media only screen and (max-width:900px){
.day{display:block;}
.day_img{width:100%;}
.day_text{
display:-ms-flexbox;display:flex;
-ms-flex-wrap:nowrap;flex-wrap:nowrap;
-ms-flex-pack: distribute;justify-content: space-around;
-ms-flex-align:center;align-items:center;
width:100%;
max-width:750px;
min-width:0;
margin:0 auto;
padding:40px 4% 0 4%;
box-sizing:border-box;
}
#day01.day .day_text{-ms-flex-direction:row;flex-direction:row;}
#day02.day .day_text{-ms-flex-direction:row-reverse;flex-direction:row-reverse;}
#day03.day .day_text{-ms-flex-direction:row;flex-direction:row;}
.day_index{width:200px;margin:0;}
.day_index img{width:160px;}
#day01 .day_index img,#day03 .day_index img{margin:0;}
#day02 .day_index img{margin:0;}
.day_hr{display:none;}
/*-- PROFILE --*/
dl.profile{margin:0;}
dl.profile dd p br{display:none;}
}
@media only screen and (max-width:640px){
.day{}
#day01.day{padding:40px 0 20px 0;}
#day03.day{padding:20px 0 20px 0;}
#day02.day{padding:20px 0 20px 0;}
.day_text{display:block;padding:30px 4% 30px 4%;}
.day_index{width:160px;margin:0 auto 30px auto;}
/*-- PROFILE --*/
dl.profile{width:100%;}
dl.profile dt{font-size:18px;}
dl.profile dt .small{font-size:12px;}
dl.profile dd{font-size:14px;line-height:24px;}
}

/* ----------------------- CSS Information 
 Style Info: MC
--------------------------------------- */
#mc{
display:-ms-flexbox;display:flex;
-ms-flex-direction:row;flex-direction:row;
-ms-flex-wrap:nowrap;flex-wrap:nowrap;
-ms-flex-pack:center;justify-content:center;
-ms-flex-align:center;align-items:center;
width:100%;
max-width:1080px;
margin:40px auto 120px auto;
padding:0 40px;
background:#ffffff;
box-sizing:border-box;
}
.mc_img{width:240px;}
.mc_text{flex:1;padding:0 0 0 20px;box-sizing:border-box;}
.mc_thumbnail{display:block;width:100%;}
.mc_index{font-family:'Noto Serif JP',serif;display:block;margin:0 auto 10px auto;font-size:16px;line-height:20px;font-weight:700;text-align:left;}
.mc_hr{display:block;width:50%;height:1px;background:#000000;margin:0 auto 20px 0;}
.mc_text dl.profile{width:100%;text-align:justify;}
@media only screen and (max-width:750px){
#mc{-ms-flex-direction:column;flex-direction:column;margin:20px auto 40px auto;padding:0 4%;}
.mc_img{width:100%;}
.mc_text{width:100%;padding:0;}
.mc_thumbnail{display:block;width:50%;margin:0 auto;}
.mc_index{margin:20px auto 20px auto;font-size:14px;line-height:20px;text-align:center;}
.mc_hr{margin:0 auto 30px auto;}
}

/* ----------------------- CSS Information 
 Style Info: APPLY
--------------------------------------- */
#apply{
width:100%;
margin:0;
padding:80px 0;
box-sizing:border-box;
background:#eeeeee url(../img/apply_bg.png) repeat center top;
background-size:240px 240px;
}
.apply_title{
font-family:'Noto Serif JP',serif;
margin:0 auto 40px auto;
font-size:32px;
line-height:40px;
font-weight:700;
text-align:center;
}
@media only screen and (max-width:750px){
#apply{padding:40px 0 20px 0;background-size:150px 150px;}
.apply_title{margin:0 auto 20px auto;font-size:22px;line-height:30px;}}

/* ----------------------- CSS Information 
 Style Info: OUTLINE
--------------------------------------- */
#outline{
width:100%;
max-width:1000px;
margin:0 auto 80px auto;
padding:0 30px;
box-sizing:border-box;
}
.outline_wrapper{
width:100%;
margin:0 auto;
padding:0;
background:#ffffff;
box-shadow:0 0 6px 0 rgba(0, 0, 0, 0.2);
}
input[name="tab_item"]{display:none;}
.tab_item{
display:block;
float:left;
width:25%;
height:42px;
font-size:16px;
line-height:40px;
text-align:center;
color:#666666;
background:#eeeeee;
border-left:1px solid #cccccc;
border-bottom:2px solid #c43939;
box-sizing:border-box;
transition:all 0.2s ease;
}
.outline_wrapper .tab_item:first-of-type{border-left:0;}
.outline_wrapper input:checked + .tab_item{color:#ffffff;background:#c43939;}
.tab_item:hover{color:#ffffff;background:#d3492e;}
/*-- OUTLINE_CONTENT --*/
.outline_content{display:none;padding:30px 30px;clear:both;overflow:auto;}
#outline00:checked ~ #outline00_content,
#outline01:checked ~ #outline01_content,
#outline02:checked ~ #outline02_content,
#outline03:checked ~ #outline03_content{display:block;}
.outline_index{
margin:0 0 30px 0;
font-size:20px;
line-height:30px;
font-weight:700;
text-align:left;
}
dl.outline_detail{
display:-ms-flexbox;display:flex;
-ms-flex-direction:row;flex-direction:row;
-ms-flex-wrap:nowrap;flex-wrap:nowrap;
-ms-flex-pack:justify;justify-content:space-between;
-ms-flex-align:start;align-items:flex-start;
margin:0 0 20px 0;
padding:0;
}
.outline_content dl.outline_detail:last-child{margin:0;}
dl.outline_detail dt{
margin:0 10px 0 0;
width:110px;
font-size:14px;
line-height:30px;
text-align:center;
color:#ffffff;
background:#cbbb52;
}
dl.outline_detail dd{
flex:1;
margin:0;
padding:0;
font-size:16px;
line-height:30px;
text-align:justify;
}
@media only screen and (max-width:750px){
#outline{margin:0 auto 40px auto;padding:0 4%;}
.outline_wrapper{}
.tab_item{padding:10px 0;height:62px;font-size:13px;line-height:20px;}
/*-- OUTLINE_CONTENT --*/
.outline_content{padding:20px 20px;}
.outline_index{margin:0 0 20px 0;font-size:14px;line-height:24px;text-align:justify;}
dl.outline_detail{margin:0 0 10px 0;padding:0;}
dl.outline_detail dt{margin:0 5px 0 0;width:90px;font-size:12px;line-height:24px;}
dl.outline_detail dd{font-size:14px;line-height:24px;}
}


/* ----------------------- CSS Information 
 Style Info: CTA
--------------------------------------- */
#cta{
position:relative;
width:100%;
max-width:1000px;
margin:40px auto;
padding:0 30px;
box-sizing:border-box;
}
.cta_wrapper{
width:100%;
margin:0 0 30px 0;
padding:0;
text-align:center;
border:2px solid #000000;
background:rgba(0,0,0,0.6);
box-sizing:border-box;
}
.cta_wrapper.cta_free{border:2px solid #c43939;}
.cta_index{
width:100%;
margin:0;
padding:10px;
font-size:18px;
line-height:20px;
text-align:center;
color:#ffffff;
background:#000000;
box-sizing:border-box;
}
.cta_free .cta_index{background:#c43939;}
.cta_index img{display:block;width:auto;height:20px;margin:0 auto;}
.cta_content{width:100%;margin:0;padding:30px 28px;box-sizing:border-box;text-align:center;}
.cta_text{margin:0 0 30px 0;padding:0;font-size:16px;line-height:24px;color:#ffffff;}
.cta_q{
display:block;
width:100%;
margin:0;
padding:10px;
font-size:16px;
line-height:20px;
text-align:center;
color:#000000;
background:#ffffff;
box-sizing:border-box;
}
.cta_q img{display:block;width:auto;height:18px;margin:0 auto;}
.cta_chart{width:100%;max-width:600px;margin:0 auto;padding:0;}
.cta_attention{margin:20px 0 0 0;padding:0;font-size:14px;line-height:20px;color:#ffffff;}
@media only screen and (max-width:750px){
#cta{margin:40px auto 0 auto;padding:0 4%;}
.cta_wrapper{margin:0 0 20px 0;border:1px solid #000000;}
.cta_index{font-size:14px;line-height:20px;}
.cta_index img{height:16px;}
.cta_content{padding:20px 14px;}
.cta_text{margin:0 0 20px 0;font-size:14px;line-height:24px;}
.cta_q{font-size:14px;line-height:20px;}
.cta_q img{height:16px;}
.cta_chart{max-width:300px;}
.cta_attention{margin:10px 0 0 0;font-size:12px;line-height:20px;text-align:justify;}
.cta_attention br{display:none;}
}

/* ----------------------- CSS Information 
 Style Info: BTN
--------------------------------------- */
.btn_wrapper{
display:flex;
width:100%;
margin:0 auto 0 auto;
padding:0;
box-sizing:border-box;
}
.btn01{
width:300px;
margin:0 auto;
padding:0;
box-sizing:border-box;
}
.btn02{
width:50%;
max-width:400px;
margin:0 auto;
padding:0 10px 0 0;
box-sizing:border-box;
}
.btn03{
width:50%;
max-width:400px;
margin:0 auto;
padding:0 0 0 10px;
box-sizing:border-box;
}
.btn{
position:relative;
width:100%;
height:100%;
margin:0 auto;
background:#000000;
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 a{
display:block;
width:100%;
height:100%;
}
.btn_pre a{
background:-moz-linear-gradient(top,#71afd1,#234872);
background:-webkit-linear-gradient(top,#71afd1,#234872);
background:linear-gradient(to bottom,#71afd1,#234872);
}
.btn_free a{
background:-moz-linear-gradient(top,#d9b01c,#967a53);
background:-webkit-linear-gradient(top,#d9b01c,#967a53);
background:linear-gradient(to bottom,#d9b01c,#967a53);
}
.btn a:hover{opacity:0.8;}
.btn img{margin:0 auto;}
@media only screen and (max-width:750px){
.btn01{width:150px;}
.btn01 img{width:auto;height:45px;}
.btn02 img{width:100%;max-width:150px;}
.btn03 img{width:100%;max-width:150px;}
}

/* ----------------------- CSS Information 
 Style Info: CONTACT
--------------------------------------- */
#contact{
width:100%;
max-width:1000px;
margin:60px auto 20px auto;
padding:0 30px;
box-sizing:border-box;
}
.contact_index{
display:flex;
align-items:center;
margin:0 0 20px 0;
padding:0;
font-size:18px;
line-height:20px;
font-weight:700;
}
.contact_index:before,.contact_index:after{
flex-grow:1;
content:"";
height:2px;
background-color:#c43939;
}
.contact_index:before{margin-right:10px;}
.contact_index:after{margin-left:10px;}
#contact button{
display:block;
font-family:'Noto Sans JP',"メイリオ","ヒラギノ角ゴ Pro W3",Sans-Serif;
width:280px;
margin:0 auto;
padding:0;
font-size:18px;
line-height:60px;
color:#ffffff;
border:2px solid #3396e3;
border-radius:30px;
background:#3396e3;
box-sizing:border-box;
}
#contact button:hover{
padding:0;
color:#3396e3;
background:#ffffff;
}
.contact_attention{
margin:30px auto 0 auto;
padding:0;
font-size:16px;
line-height:24px;
}
.contact_attention p{margin:0 0 20px 0;padding:0;}
@media only screen and (max-width:750px){
#contact{margin:40px auto 20px auto;padding:0 4%;}
.contact_index{margin:0 0 10px 0;font-size:14px;}
#contact button{width:240px;font-size:14px;line-height:40px;}
.contact_attention{margin:20px auto 0 auto;font-size:14px;text-align:justify;}
.contact_attention p{margin:0 0 20px 0;padding:0;}
}



/* ----------------------- CSS Information 
 Style Info: FOOTER_MENU
--------------------------------------- */
#footer_menu{
width:100%;
margin:0;
padding:80px 4%;
background:#ffffff;
box-sizing:border-box;
}
.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;
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;
}
#offical{width:100%;margin:60px auto 0 auto;padding:0;box-sizing:border-box;}
#offical p{display:inline-block;font-size:16px;line-height:30px;margin:0 auto 40px auto;padding:0 0 10px 0;border-bottom:dotted 8px #3396e3;}
#offical ul{
display:-ms-flexbox;display:flex;
-ms-flex-direction:row;flex-direction:row;
-ms-flex-wrap:nowrap;flex-wrap:nowrap;
-ms-flex-pack:distribute;justify-content:space-around;
-ms-flex-align:center;align-items:center;
width:100%;
max-width:630px;
margin:0 auto;
}
#offical li img:hover{opacity:0.5;}
@media only screen and (max-width:750px){
#footer_menu{padding:40px 4%;}
.footer_menu_box{display:block;}
.footer_menu_box li{width:210px;margin:0 auto 20px auto;}
.footer_menu_box li a{}
.footer_menu_box li a:hover{}
#offical{margin:40px auto 0 auto;}
#offical p{font-size:14px;line-height:24px;margin:0 auto 20px auto;padding:0 0 10px 0;border-bottom:dotted 4px #3396e3;}
#offical ul{
display:-ms-flexbox;display:flex;
-ms-flex-direction:row;flex-direction:row;
-ms-flex-wrap:nowrap;flex-wrap:nowrap;
-ms-flex-pack:distribute;justify-content:space-around;
-ms-flex-align:center;align-items:center;
width:100%;
max-width:630px;
margin:0 auto;
}
}

/* ----------------------- CSS Information 
 Style Info: FOOTER
--------------------------------------- */
footer{
width:100%;
margin:0;
padding:40px 0;
color:#d1d1d1;
background:#18222c;
}
footer a:link,footer a:visited{color:#d1d1d1;text-decoration:none;}
footer a:hover{color:#d1d1d1;text-decoration:underline;}
#ftop{font-size:14px;line-height:20px;}
#fnav{margin:20px 0;}
#fnav ul{list-style-type:none;}
#fnav li{
display:inline-block;
padding:0 20px;
font-size:14px;
line-height: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:750px){
#fnav{margin:20px 0 40px 0;}
#fnav li{display:block;margin:0 0 20px 0;border-right:0;}
.sp_no{display:none;}
}