@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Red+Hat+Text:wght@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:none;color:#333333;}
a:visited{text-decoration:none;color:#333333;}
a:hover{text-decoration:underline;color:#666666;}
a:active{text-decoration:none;color:#333333;}
/*font*/
.b{font-weight:bold;}
.ul{text-decoration:underline;}
.bg{background-color:#fff45c;}
.big{font-size:24px;line-height:40px;}@media only screen and (max-width:750px){.big{font-size:16px;line-height:24px;}}
.small{font-size:12px;line-height:20px;}
.red{color:#b7282e;}
.blue{color:#2faeb9;}
.text_center{text-align:center;}
.text_right{text-align:right;}

/*----- image -----*/
.img1280{width:100%;max-width:1280px;margin:0 auto;}
.img960{width:100%;max-width:960px;margin:0 auto;}
.img900{width:100%;max-width:900px;margin:0 auto;}
.img750{width:100%;max-width:750px;margin:0 auto;}
.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{  
font-family:'Noto Sans JP',"メイリオ","ヒラギノ角ゴ Pro W3",Sans-Serif;
color:#333333;
font-size:16px;
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%;
box-sizing:border-box;
text-align:center;
background:url(../img/header_bg_pc.png) repeat-y top center;
background-size:100% auto;
}
header img{
position:relative;
width:100%;
max-width:1080px;
margin:0 auto;
}
@media only screen and (max-width:750px){header{background:none;}}

/* ----------------------- CSS Information 
 Style Info: TITLE
--------------------------------------- */
.title{
width:100%;
max-width:1260px;
margin:0 auto 60px auto;
padding:0 30px;
text-align:center;
box-sizing:border-box;
}
.title_en{
margin:0 0 30px 0;
display:flex;
align-items:center;
justify-content:center;
font-family:'Red Hat Text',sans-serif;
font-size:18px;
line-height:20px;
color:#1ba1e6;
text-align:center;
letter-spacing:6px;
}
.title_en:before,.title_en:after{
content:"";
flex-grow:0;
border-top:1px solid #1ba1e6;
}
.title_en:before{margin:0 20px 0 0;}
.title_en:after{margin:0 0 0 14px;}
.title.scrollin .title_en:before{
animation:title_hr 0.5s linear 0.5s both;
-webkit-animation:title_hr 0.5s linear 0.5s both;
}
.title.scrollin .title_en:after{
animation:title_hr 0.5s linear 0.5s both;
-webkit-animation:title_hr 0.5s linear 0.5s both;
}
@keyframes title_hr{0%{flex-grow:0;}100%{flex-grow:1;}}
@-webkit-keyframes title_hr{0%{flex-grow:0;}100%{flex-grow:1;}}
.title img{width:100%;max-width:710px;margin:0 auto;}
@media only screen and (max-width:750px){
.title{margin:0 auto 40px auto;padding:0 20px;}
.title_en{
margin:0 0 20px 0;
font-size:14px;
line-height:16px;
}
}


/* ----------------------- CSS Information 
 Style Info: 共通設定
--------------------------------------- */
/* -- contents -- */
.contents{
width:100%;
margin:0;
padding:120px 0 120px 0;
position:relative;
background:#ffffff;
}
.contents_box{
width:100%;
max-width:1260px;
margin:0 auto;
padding:60px 30px;
box-sizing:border-box;
}
.flex{
display:flex;
flex-direction:row;
align-items:stretch;
justify-content:space-between;
}
.flex .text_box{width:60%;box-sizing:border-box;}
.flex .img_box{
width:40%;
padding:0 0 0 20px;
box-sizing:border-box;
}
.flex .img_box img{width:100%;}
@media only screen and (max-width:960px){
/* -- contents -- */
.contents{padding:40px 0 40px 0;}
.contents_box{padding:0 20px;}
.flex{
flex-direction:column-reverse;
align-items:flex-start;
justify-content:center;
}
.flex .text_box{width:100%;}
.flex .img_box{width:100%;padding:0 0 40px 0;}
.flex .img_box img{width:100%;}
}


/* -- text -- */
.text{
width:100%;
margin:0 auto;
padding:0;
font-size:16px;
line-height:30px;
text-align:left;
box-sizing:border-box;
}
.text p{margin:0 0 30px 0;padding:0;}
.text p:last-child{margin:0;}
/* -- ul -- */
.text ul{margin:0 0 30px 0;}
.text ul li{margin:0;padding:0;}
ul.check{}
ul.check li{
position:relative;
display:block;
margin:0 0 20px 0;
padding:10px 10px 10px 40px;
list-style:none;
text-align:left;
font-size:16px;
line-height:30px;
background:#ffffff;
box-sizing:border-box;
}
ul.check li:before{
content:"";
display:block;
position:absolute;
top:16px;
left:10px;
width:20px;
height:20px;
background:#1ba1e6;
box-sizing:border-box;
}
ul.check li:after{
content:"";
display:block;
position:absolute;
top:16px;
left:15px;
width:6px;
height:12px;
transform:rotate(40deg);
border-bottom:3px solid #ecf7fb;
border-right:3px solid #ecf7fb;
}
@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;}
/* -- ul -- */
.text ul{margin:0 0 20px 0;}
.text ul li{}
ul.check{}
ul.check li{
margin:0 0 10px 0;
padding:10px 10px 10px 30px;
font-size:14px;
line-height:24px;
}
ul.check li:before{top:15px;left:10px;width:16px;height:16px;}
ul.check li:after{top:15px;left:14px;width:5px;height:10px;}
/* -- br -- */
.text br{display:none;}
.text br.sp{display:block;}
}


/* ----------------------- CSS Information 
 Style Info: CONTENTS01
--------------------------------------- */
#contents01{background:#ffffff;}

/* ----------------------- CSS Information 
 Style Info: CONTENTS02
--------------------------------------- */
#contents02{background:#ffffff;}
.contents02_check{
width:100%;
max-width:1260px;
margin:0 auto;
padding:0 30px;
box-sizing:border-box;
}
.contents02_check ul.check{
display:flex;
flex-wrap:wrap;
justify-content:space-between;
align-items:stretch;
width:100%;
padding:20px 20px 1px 20px;
background:#ecf7fb;
box-sizing:border-box;
}
.contents02_check ul.check li{
width:48%;
width:-webkit-calc(50% - 10px) ;
width:calc(50% - 10px) ;
flex-grow:1;
}
.contents02_check ul.check li:nth-child(odd){margin:0 10px 20px 0;}
.contents02_check ul.check li:nth-child(even){margin:0 0 20px 10px;}
@media only screen and (max-width:960px){
.contents02_check{margin:0 0 40px 0;padding:0 20px;}
.contents02_check ul.check{padding:10px 10px 1px 10px;}
.contents02_check ul.check li{width:100%;}
.contents02_check ul.check li:nth-child(odd){margin:0 0 10px 0;}
.contents02_check ul.check li:nth-child(even){margin:0 0 10px 0;}
}

/* ----------------------- CSS Information 
 Style Info: CONTENTS03
--------------------------------------- */
#contents03{background:#ecf7fb;}
#contents03 .contents_box{padding:0 30px 30px 30px;}
#contents03 .flex{
display:flex;
flex-direction:row;
align-items:stretch;
justify-content:space-between;
}
#contents03 .flex .text_box{
width:60%;
padding:20px 0 0 0;
background:#ffffff;
}
#contents03 .flex .text_box .text{padding:30px 30px 20px 30px;text-align:justify;}
#contents03 .flex .text_box .text p{margin:0 0 20px 0;}
#contents03 .voice_info{
margin:0 auto 0 0;
width:180px;
padding:10px;
font-size:16px;
line-height:20px;
color:#ffffff;
background:#1ba1e6;
box-sizing:border-box;
border-radius:0 20px 20px 0;
}
#contents03 .flex .img_box{
width:40%;
padding:0;
box-sizing:border-box;
}
#contents03 .flex.voice01 .img_box{background:#ffffff url(../img/voice01_img.png) no-repeat center;background-size:cover;}
#contents03 .flex.voice02 .img_box{background:#ffffff url(../img/voice02_img.png) no-repeat center;background-size:cover;}
#contents03 .flex.voice03 .img_box{background:#ffffff url(../img/voice03_img.png) no-repeat center;background-size:cover;}
#contents03 .flex .img_box img{width:100%;display:none;}
@media only screen and (max-width:750px){
#contents03{}
#contents03 .contents_box{padding:0 20px 20px 20px;}
#contents03 .flex{flex-direction:column;}
#contents03 .flex .text_box{width:100%;padding:20px 0 0 0;}
#contents03 .flex .text_box .text{padding:20px 20px 1px 20px;}
#contents03 .flex .text_box .text p{margin:0 0 20px 0;}
#contents03 .voice_info{
margin:0 auto;
width:180px;
padding:5px;
font-size:13px;
line-height:20px;
box-sizing:border-box;
border-radius:15px;
}
#contents03 .flex .img_box{width:100%;}
#contents03 .flex.voice01 .img_box{background:none;}
#contents03 .flex.voice02 .img_box{background:none;}
#contents03 .flex.voice03 .img_box{background:none;}
#contents03 .flex .img_box img{width:100%;display:block;}
}

/* ----------------------- CSS Information 
 Style Info: CONTENTS04
--------------------------------------- */
#contents04{background:#ffffff;}
#contents04 .contents_box{padding:30px;}
#contents04 .flex{
display:flex;
flex-direction:row;
align-items:stretch;
justify-content:space-between;
}
#contents04 .flex .text_box{
width:60%;
padding:0 0 0 30px;
}
#contents04 .flex .text_box .text{padding:30px 30px 20px 0;text-align:justify;}
#contents04 .flex .text_box .text p{margin:0 0 20px 0;}
#contents04 .chapter_info{text-align:left;color:#1ba1e6;}
#contents04 .chapter_info dt{
display:flex;
align-items:center;
position:relative;
margin:0 0 10px 0;
font-size:16px;
line-height:20px;
text-align:left;
color:#1ba1e6;
}
#contents04 .chapter_info dt:after{
content:"";
flex-grow:1;
margin:0 0 0 10px;
padding-right:20px;
border-top:1px solid #ecf7fb;
}
#contents04 .chapter_info dd{font-size:20px;line-height:30px;}
#contents04 .flex .img_box{
width:40%;
padding:0;
box-sizing:border-box;
}
#contents04 .flex .img_box img{width:100%;}
@media only screen and (max-width:750px){
#contents04{}
#contents04 .contents_box{padding:0 20px;}
#contents04 .flex{flex-direction:column;}
#contents04 .flex .text_box{width:100%;padding:20px 0 0 0;}
#contents04 .flex .text_box .text{padding:20px 0;}
#contents04 .flex .text_box .text p{margin:0 0 20px 0;}
#contents04 .chapter_info{}
#contents04 .chapter_info dt{font-size:14px;line-height:20px;}
#contents04 .chapter_info dt:after{}
#contents04 .chapter_info dd{font-size:16px;line-height:24px;}
#contents04 .flex .img_box{width:100%;}
#contents04 .flex .img_box img{}
}

/* ----------------------- CSS Information 
 Style Info: CONTENTS05
--------------------------------------- */
#contents05{background:#ecf7fb;}
.contents05_check{
width:100%;
max-width:1260px;
margin:0 auto 40px auto;
padding:0 30px;
box-sizing:border-box;
}
.contents05_check ul.check{
display:flex;
flex-wrap:wrap;
justify-content:space-between;
align-items:stretch;
width:100%;
padding:0;
box-sizing:border-box;
}
.contents05_check ul.check li{
width:48%;
width:-webkit-calc(50% - 10px) ;
width:calc(50% - 10px) ;
flex-grow:1;
}
.contents05_check ul.check li:nth-child(odd){margin:0 10px 20px 0;}
.contents05_check ul.check li:nth-child(even){margin:0 0 20px 10px;}
@media only screen and (max-width:960px){
.contents05_check{margin:0;padding:0 20px;}
.contents05_check ul.check{}
.contents05_check ul.check li{width:100%;}
.contents05_check ul.check li:nth-child(odd){margin:0 0 10px 0;}
.contents05_check ul.check li:nth-child(even){margin:0 0 10px 0;}
}

/* ----------------------- CSS Information 
 Style Info: CONTENTS06
--------------------------------------- */
#contents06{background:#ffffff;}


/* ----------------------- CSS Information 
 Style Info: PROFILE
--------------------------------------- */
#profile{background:#ffffff;}
.profile_img{
display:block;
padding:0 0 40px 40px;
width:40%;
float:right;
box-sizing:border-box;
}
@media only screen and (max-width:750px){
.profile_img{padding:0 0 10px 20px;width:40%;}
}

/* ----------------------- CSS Information 
 Style Info: OPT
--------------------------------------- */
.opt{
width:100%;
margin:0;
padding:120px 0 40px 0;
text-align:center;
background:#82c7e6 url(../img/opt_bg.png) no-repeat center;
background-size:cover;
}
.opt .title{}
.opt_box{
width:100%;
max-width:710px;
margin:0 auto;
padding:0 20px;
box-sizing:border-box;
}
.opt_form{
display:flex;
width:100%;
margin:0 0 20px 0;
padding:0;
}
.opt_form dt{
width:190px;
margin:0;
color:#ffffff;
font-size:16px;
line-height:20px;
background:#1ba1e6;
text-align:left;
padding:10px;
box-sizing:border-box;
}
.required{padding:0 0 0 10px;font-size:13px;}
.opt_form dd{flex:1;margin:0;}
.opt_form input[type=text]{
font-family:'Noto Sans JP',"メイリオ","ヒラギノ角ゴ Pro W3",Sans-Serif;
font-size:16px;
line-height:20px;
margin:0;
padding:10px;
width:100%;
border:0;
box-sizing:border-box;
border-radius:0;
background:#ffffff;
}
.opt_box input[type=image]{width:100%;}
.attention{
width:100%;
max-width:710px;
margin:40px auto 0 auto;
padding:0 20px 0 20px;
font-size:14px;
line-height:20px;
color:#666666;
text-align:justify;
box-sizing:border-box;
}
.opt_text{margin:0 0 40px 0;font-size:16px;line-height:30px;color:#333333;}
@media only screen and (max-width:750px){
.opt{padding:40px 0 40px 0;}
.opt_box{}
.opt_form{display:block;margin:0 0 20px 0;}
.opt_form dt{
width:100%;
font-size:14px;
line-height:20px;
text-align:center;
padding:10px;
}
.required{padding:0 0 0 10px;font-size:12px;}
.opt_form dd{margin:0;}
.opt_form input[type=text]{padding:20px 10px;font-size:14px;line-height:20px;}
.opt_form input[type=text].input_name{background-size:30px 30px;}
.opt_box input[type=image]{}
.attention{font-size:12px;line-height:20px;text-align:justify;}
.attention br{display:none;}
.opt_text{margin:0 0 20px 0;font-size:14px;line-height:24px;}
}

/* ----------------------- CSS Information 
 Style Info: BTN
--------------------------------------- */
.btn{
width:100%;
margin:0 auto;
padding:0 20px;
box-sizing:border-box;
text-align:center;
position:relative;
z-index:10;
}
.reflection_box{
margin:0 auto;
width:100%;
max-width:670px;
height:100%;
position:relative;
overflow:hidden;
box-sizing:border-box;
border-radius:10px;
box-shadow:2px 2px 8px 0px rgba(0,0,0,0.5);
background:#ffffff;
z-index:10;
}
.reflection_box img{
margin:0;
width:100%;
max-width:670px;
}
.reflection_box img:hover{opacity:0.5;}
.reflection{
width:30px;
height:100%;
position:absolute;
top:-180px;
left:0;
background-color:rgba(255,255,255,0.8);
z-index:15;
opacity:0;
transform:rotate(45deg);
animation:reflection 3s ease-in-out infinite;
-webkit-transform: rotate(45deg);
-webkit-animation: reflection 4s ease-in-out infinite;
-moz-transform: rotate(45deg);
-moz-animation: reflection 4s ease-in-out infinite;
-ms-transform: rotate(45deg);
-ms-animation: reflection 4s ease-in-out infinite;
-o-transform: rotate(45deg);
-o-animation: reflection 4s ease-in-out infinite;
}
@keyframes reflection {
0%{ transform: scale(0) rotate(45deg); opacity: 0; }
80%{ transform: scale(0) rotate(45deg); opacity: 0.5; }
81%{ transform: scale(4) rotate(45deg); opacity: 1; }
100%{ transform: scale(50) rotate(45deg); opacity: 0; }
}
@-webkit-keyframes reflection {
0%{ -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
80%{ -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
81%{ -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
100%{ -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}
@-moz-keyframes reflection {
0% { -moz-transform: scale(0) rotate(45deg); opacity: 0; }
80% { -moz-transform: scale(0) rotate(45deg); opacity: 0.5; }
81% { -moz-transform: scale(4) rotate(45deg); opacity: 1; }
100% { -moz-transform: scale(50) rotate(45deg); opacity: 0; }
}
@-ms-keyframes reflection {
0% { -ms-transform: scale(0) rotate(45deg); opacity: 0; }
80% { -ms-transform: scale(0) rotate(45deg); opacity: 0.5; }
81% { -ms-transform: scale(4) rotate(45deg); opacity: 1; }
100% { -ms-transform: scale(50) rotate(45deg); opacity: 0; }
}
@-o-keyframes reflection {
0% { -o-transform: scale(0) rotate(45deg); opacity: 0; }
80% { -o-transform: scale(0) rotate(45deg); opacity: 0.5; }
81% { -o-transform: scale(4) rotate(45deg); opacity: 1; }
100% { -o-transform: scale(50) rotate(45deg); opacity: 0; }
}

/* ----------------------- CSS Information 
 Style Info: FOOTER
--------------------------------------- */
footer{
margin:0;
padding:40px 0;
width:100%;
background:#ffffff;
}
#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 #1ba1e6;
}
#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);
}