@charset "UTF-8";

/* ------------------------------------------- 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:bold;}
.ul{text-decoration:underline;}
.bg{background-color:#fff45c;}
.big{font-size:20px;line-height:30px;}@media only screen and (max-width:750px){.big{font-size:16px;line-height:24px;}}
.small{font-size:15px;line-height:20px;}@media only screen and (max-width:750px){.small{font-size:12px;line-height:20px;}}
.red{color:#c70003;}

/*----- image -----*/
.img1080{width:100%;max-width:1080px;margin:0 auto;}
.img980{width:100%;max-width:980px;margin:0 auto;}
.img960{width:100%;max-width:960px;margin:0 auto;}
.img920{width:100%;max-width:920px;margin:0 auto;}
.img880{width:100%;max-width:880px;margin:0 auto 0 0;}
.img750{width:100%;max-width:750px;margin:0 auto;}
.img670{width:100%;max-width:670px;margin:0 auto;}
.img450{width:100%;max-width:450px;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: body
----------------------------------------------------------- */
html,body{  
margin:0;
padding:0;
font-family:"メイリオ",Osaka,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",Arial,Sans-Serif;
color:#333333;
font-size:16px;
line-height:0;
text-align:center;
background:#ffffff;
letter-spacing:0em;
min-height:100%;
position:relative;
box-sizing:border-box;
}

/* ------------------------------------------- CSS Information 
 Style Info: TOPBAR
----------------------------------------------------------- */
#topbar{
width:100%;
height:80px;
margin:0;
padding:0;
background:#ffffff;
position:relative;
box-sizing:border-box;
}
.topbar_text_pc{
display:block;
width:100%;
max-width:480px;
margin:0;
padding:0;
position:absolute;
top:15px;
left:10px;
box-sizing:border-box;
}
.topbar_text_sp{display:none;}
.btn_topbar{
display:block;
width:240px;
height:60px;
margin:0;
padding:0;
position:absolute;
top:10px;
right:10px;
}
@media only screen and (max-width:760px){
#topbar{height:auto;padding:10px;}
.topbar_text_pc{display:none;}
.topbar_text_sp{
display:block;
width:100%;
max-width:480px;
margin:0 auto;
padding:0;
position:relative;
box-sizing:border-box;
}
.btn_topbar{display:none;}
}

/* ------------------------------------------- CSS Information 
 Style Info: header
----------------------------------------------------------- */
header{
position:relative;
width:100%;
margin:0;
padding:0;
text-align:center;
overflow:hidden;
background:#000000 url(../img/header_bg.png) no-repeat center;
background-size:cover;
}
.header_video{
position:absolute;
top:0;
bottom:0;
left:0;
right:0;
margin:0 auto;
min-width:100%;
min-height:100%;
width:auto;
height:auto;
background:#000000;
opacity:0.3;
}
#header01{
position:relative;
width:100%;
height:100%;
margin:0;
padding:0;
z-index:10;
opacity:1;
background:url(../img/header_bg_pc.png) no-repeat center;
background-size:auto 100%;
}
.btn_header{
display:block;
width:55%;
max-width:600px;
height:auto;
margin:0 auto;
padding:0;
position:absolute;
top:80%;
right:0;
left:0;
z-index:20;
}
.btn_header img{width:100%;}
@media only screen and (max-width:750px){
header{
background:#000000 url(../img/header_bg.png) no-repeat center;
background-size:cover;
}
.header_video{
position:absolute;
top:0;
bottom:0;
left:0;
right:0;
margin:0 auto;
min-width:100%;
min-height:100%;
width:auto;
height:auto;
background:#000000;
opacity:0.3;
}
#header01{
position:relative;
width:100%;
height:100%;
margin:0;
padding:0;
z-index:10;
opacity:1;
background:url(../img/header_bg_sp.png) no-repeat center;
background-size:auto 100%;
}
.btn_header{
display:block;
width:80%;
max-width:600px;
height:auto;
margin:0 auto;
padding:0;
position:absolute;
top:72.5%;
right:0;
left:0;
z-index:20;
}
.btn_header img{}
}

/* ------------------------------------------- CSS Information 
 Style Info: text
----------------------------------------------------------- */
.text{
width:100%;
max-width:980px;
margin:0 auto;
padding:40px 40px 10px 40px;
box-sizing:border-box;
font-size:17px;
line-height:30px;
text-align:left;
}
.text p{margin:0;padding:0 0 30px 0;}
.text ul{margin:0;padding:0 0 20px 0;}
.text li{
margin:0 0 10px 0;
padding:0 0 0 6px;
list-style:none;
font-size:18px;
border-left:4px solid #6e9898;
}
@media only screen and (max-width:750px){
.text{
padding:20px 20px 0 20px;
font-size:15px;
line-height:24px;
text-align:justify;
}
.text p{margin:0;padding:0 0 20px 0;}
.text li{
margin:0 0 20px 0;
padding:0 0 0 6px;
list-style:none;
font-size:15px;
border-left:4px solid #119ed3;
}
.text p br{display:none;}
}


/* ------------------------------------------- CSS Information 
 Style Info: img
----------------------------------------------------------- */
.textbox{width:50%;margin:0;padding:0;}
.imgbox{width:50%;margin:0;padding:0;}


/* ------------------------------------------- CSS Information 
 Style Info: contents
----------------------------------------------------------- */

/* -- contents01 -- */
#contents01{
margin:0;
padding:0;
background:#eeeeee url(../img/contents01_bg.png) no-repeat center;
background-size:cover;
}

/* -- contents02 -- */
#contents02{
padding:120px 0;
background:#ffffff;
min-height:600px;
}
.contents02_box{
display:-webkit-box;
display:-ms-flexbox;
display:flex;
width:100%;
margin:0;
padding:0;
}
.contents02_box .textbox{width:50%;margin:0;padding:0;}
.contents02_box .text{
width:100%;
max-width:640px;
margin:0 0 0 auto;
padding:40px 20px 10px 20px;
box-sizing:border-box;
}
.contents02_box .imgbox{
width:50%;
margin:0;
padding:0;
background:url(../img/contents02_img.png) no-repeat center;
background-size:cover;
box-sizing:border-box;
border:40px solid #ffffff;
}
@media only screen and (max-width:860px){
#contents02{padding:40px 0;}
.contents02_box{
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
width:100%;
margin:0;
padding:0;
}
.contents02_box .textbox{width:100%;}
.contents02_box .text{
width:100%;
max-width:750px;
margin:0;
padding:0 20px 0 20px;
box-sizing:border-box;
}
.contents02_box .imgbox{
width:100%;
height:200px;
margin:0;
padding:0;
border:20px solid #ffffff;
background:url(../img/contents02_img.png) no-repeat center;
background-size:cover;
box-sizing:border-box;
}
}

/* -- contents03 -- */
#contents03{
margin:0;
padding:120px 0;
background:#000000 url(../img/contents03_bg_pc.png) no-repeat center;
background-size:cover;
}
@media only screen and (max-width:750px){
#contents03{
margin:0;
padding:40px 0 40px 0;
background:#000000 url(../img/contents03_bg_sp.png) no-repeat center;
background-size:cover;
}
}

/* -- contents04 -- */
#contents04{
margin:0;
padding:120px 0;
background:#ffffff url(../img/contents04_bg_pc.png) no-repeat center;
background-size:cover;
}
@media only screen and (max-width:750px){
#contents04{
margin:0;
padding:40px 0 20px 0;
background:#ffffff url(../img/contents04_bg_sp.png) no-repeat center top;
background-size:cover;
}
}

/* -- contents05 -- */
#contents05{
background:#ffffff;
margin:0;
padding:120px 0 120px 0;
}
@media only screen and (max-width:750px){
#contents05{padding:40px 0 40px 0;}
}

/* -- contents06 -- */
#contents06{
margin:0;
padding:110px 0;
background:#000000 url(../img/contents06_bg_pc.png) no-repeat center;
background-size:cover;
}
@media only screen and (max-width:750px){
#contents06{padding:70px 0;}}

/* -- contents07 -- */
#contents07{
background:#ffffff;
margin:0;
padding:120px 0 120px 0;
}
.voice_box{
width:100%;
max-width:1080px;
margin:0 auto;
padding:0 40px;
box-sizing:border-box;
}
.voice_box dl{
margin:0 0 40px 0;
padding:0;
border-radius:10px;
background:#f6f6f6;
}
.voice_box dt{
min-height:120px;
margin:0;
padding:20px 40px 10px 120px;
font-size:18px;
line-height:28px;
font-weight:bold;
text-align:left;
border-bottom:1px solid #9cb9b9;
box-sizing:border-box;
}
.voice_box dt.voice_men{
background:url(../img/voice_men.png) no-repeat 20px 20px;
background-size:80px 80px;
}
.voice_box dt.voice_women{
background:url(../img/voice_women.png) no-repeat 20px 20px;
background-size:80px 80px;
}
.voice_box dt .voice_info{
display:block;
font-size:14px;
line-height:30px;
font-weight:normal;
text-align:left;
color:#666666;
}
.voice_box dd{
width:100%;
margin:0;
padding:20px;
box-sizing:border-box;
font-size:16px;
line-height:30px;
text-align:justify;
}
.voice_box dd p{margin:0;padding:0;}
@media only screen and (max-width:750px){
#contents07{padding:40px 0 40px 0;}
.voice_box{padding:0 20px;}
.voice_box dl{margin:0 0 20px 0;}
.voice_box dt{
min-height:80px;
padding:20px 20px 10px 70px;
font-size:15px;
line-height:24px;
text-align:justify;
}
.voice_box dt.voice_men{
background:url(../img/voice_men.png) no-repeat 20px 20px;
background-size:40px 40px;
}
.voice_box dt.voice_women{
background:url(../img/voice_women.png) no-repeat 20px 20px;
background-size:40px 40px;
}
.voice_box dt br{display:none;}
.voice_box dt .voice_info{font-size:12px;line-height:24px;}
.voice_box dd{font-size:14px;line-height:24px;}
.voice_box dd p{}
}


/* ------------------------------------------- CSS Information 
 Style Info: FAQ
----------------------------------------------------------- */
#faq{padding:120px 0;background:#ffffff;}
#faq dl{
width:100%;
max-width:980px;
margin:40px auto 0 auto;
padding:0 40px;
box-sizing:border-box;
}
#faq dt{
font-size:16px;
line-height:30px;
text-align:justify;
margin:0;
padding:20px 20px 20px 70px;
background:#f3f3f3 url(../img/faq_q.png) no-repeat 20px 20px;
background-size:30px 30px;
border-bottom:1px solid #6e9898;
}
#faq dd{
font-size:16px;
line-height:30px;
text-align:justify;
margin:0 0 30px 0;
padding:20px 20px 20px 70px;
background:#f3f3f3 url(../img/faq_a.png) no-repeat 20px 20px;
background-size:30px 30px;
z-index:2;
}
#faq dd:last-child{margin:0;}
@media only screen and (max-width:750px){
#faq{padding:40px 0;}
#faq dl{
margin:20px 0 0 0;
padding:0 20px;
}
#faq dt{
font-size:14px;
line-height:24px;
padding:20px 20px 20px 40px;
background:#f3f3f3 url(../img/faq_q.png) no-repeat 10px 20px;
background-size:24px 24px;
}
#faq dd{
font-size:14px;
line-height:24px;
text-align:justify;
margin:0 0 20px 0;
padding:20px 20px 20px 40px;
background:#f3f3f3 url(../img/faq_a.png) no-repeat 10px 20px;
background-size:24px 24px;
}
#faq dd:last-child{margin:0;}
}

/* ------------------------------------------- CSS Information 
 Style Info: INFO
----------------------------------------------------------- */
#info{padding:40px 0;background:#333333;}
.info_box{
width:100%;
max-width:1080px;
margin:0 auto;
padding:0 40px;
box-sizing:border-box;
font-size:14px;
line-height:20px;
text-align:left;
color:#cccccc;
}
#info p{margin:0;padding:0;}
#info dl{
width:100%;
margin:20px auto 0 auto;
padding:20px 0 0 0;
border-top:1px solid #666666;
}
#info dt{
font-size:13px;
line-height:18px;
text-align:left;
margin:0 0 5px 0;
padding:0 0 0 8px;
border-left:2px solid #6e9898;
}
#info dd{
font-size:13px;
line-height:20px;
text-align:justify;
margin:0 0 20px 0;
padding:0 0 0 10px;
}
#info dd:last-child{margin:0;}
@media only screen and (max-width:750px){
#info{}
.info_box{
padding:0 20px;
font-size:12px;
}
#info p{}
#info dl{
width:100%;
margin:20px auto 0 auto;
padding:20px 0 0 0;
border-top:1px solid #666666;
}
#info dt{
font-size:12px;
line-height:16px;
text-align:left;
}
#info dd{
font-size:12px;
line-height:20px;
text-align:justify;
}
#info dd:last-child{}
}

/* ------------------------------------------- CSS Information 
 Style Info: CTA
----------------------------------------------------------- */
#cta{
width:100%;
margin:0;
padding:0 0 120px 0;
text-align:center;
background:#eeeeee;
}
@media only screen and (max-width:750px){#cta{padding:0 0 40px 0;}}

/* -- calendar -- */
.calendar{
width:100%;
max-width:1080px;
margin:0 auto;
padding:0 20px;
box-sizing:border-box;
}
a.box1{background:#e05b4b;}
a.box2{background:#355c7c;}
a.box3{background:#e09336;}
a.box4{background:#4b8a7e;}
.week .sun{color:#b7282e;}
.week .sat{color:#30648c;}
.date li:nth-child(1), .date li:nth-child(8), .date li:nth-child(15), .date li:nth-child(22), .date li:nth-child(29) {color:#b7282e;}
.date li:nth-child(7), .date li:nth-child(14), .date li:nth-child(21), .date li:nth-child(28) {color:#30648c;}
.calendar_area{width:100%;}
.cal_month{
margin:0 auto 20px auto;
padding:0;
font-size:20px;
line-height:30px;
font-weight:bold;
}
.week{margin-bottom:2px;}
.week li{
float:left;
width:14.2%;
height:60px;
margin:0;
padding:20px 0;
font-size:16px;
line-height:20px;
background:#ffffff;
border:solid 1px #eeeeee;
box-sizing:border-box;
}
.date li{
float:left;
width:14.2%;
height:180px;
margin:0;
padding:10px 0;
font-size:16px;
line-height:20px;
background:#ffffff;
border:solid 1px #eeeeee;
box-sizing:border-box;
position:relative;
}
.date li a{
display:block;
margin:10px;
padding:10px 0;
color:#ffffff;
font-size:16px;
line-height:20px;
font-weight:bold;
border-radius:10px;
text-decoration:none;
position:relative;
}
.date li a:hover{opacity:0.5;}
.time{
margin:0;
padding:0;
display:block;
font-size:13px;
line-height:20px;
font-weight:normal;
}
.part1{
width:100%;
position:absolute;
top:30px;
}
.part2{
width:100%;
position:absolute;
top:100px;
}

@media screen and (max-width:960px){
.spBr::before {content:"\A";white-space:pre;}
.calendar{padding:0 10px;}
.calendar_area{}
.cal_month{
margin:0 auto 20px auto;
padding:0;
font-size:20px;
line-height:30px;
font-weight:bold;
}
.week{}
.week li{
height:40px;
padding:10px 0;
font-size:14px;
line-height:20px;
}
.date li{
height:200px;
padding:10px 0;
font-size:14px;
line-height:20px;
}
.date li a{
margin:10px 2px;
padding:10px 0;
font-size:13px;
line-height:20px;
border-radius:6px;
}
.date li a:hover{}
.time{
margin:0;
padding:0;
display:block;
font-size:11px;
line-height:15px;
}
.part1{
width:100%;
position:absolute;
top:30px;
}
.part2{
width:100%;
position:absolute;
top:110px;
}
}

/*==============================
    clear fix
==============================*/
.cf:before,.cf:after{content:"";display:table;}.cf:after{clear:both;}/* For modern browsers */
.cf{zoom:1;}/* For IE 6/7 (trigger hasLayout) */


/*----- ボタンアニメーション -----*/
.reflection_box{
margin:0 auto;
width:100%;
max-width:670px;
height:100%;
position:relative;
overflow:hidden;
box-sizing:border-box;
border-radius:8px;
}
.reflection{
width:30px;
height:100%;
position:absolute;
top:-180px;
left:0;
background-color:rgba(255,255,255,0.8);
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{
margin:0;
padding:40px 0;
width:100%;
background:#121619;
color:#d1d1d1;
}
#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:12px;
line-height:20px;
display:inline-block;
padding:0 20px;
border-right:1px solid #f0b51b;
}
#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){
footer{padding:40px 0 120px 0;}
#fnav{margin:0 0 40px 0;}
#fnav li{
display:block;
border-right:0;
margin:0 0 20px 0;
}
.sp_no{display:none;}
}
.btn_footer{display:none;}
@media only screen and (max-width:750px){
.btn_footer{
display:block;
position:fixed;
width:100%;
height:auto;
margin:auto auto 0 auto;
padding:10px 10%;
bottom:0;
right:0;
left:0;
z-index:100;
background:rgba(255,255,255,0.9);
box-sizing:border-box;
}
.btn_footer img{width:100%;}
}


/* --------------------------------- 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);
}

/* title -----*/
.title{margin:0 auto 40px auto;padding:0;text-align:center;}
#cta .title{margin:80px auto 40px auto;padding:0;text-align:center;}
.title.scrollin:after{
content:"";
margin:40px auto 0 auto;
padding:0;
width:0;
max-width:120px;
height:4px;
border:0;
display:block;
animation:title_hr 2s linear 1s both;
-webkit-animation:title_hr 2s linear 1s both;
background:#6e9898;
}
#contents06 .title.scrollin:after{background:#ffffff;}
@keyframes title_hr{0%{width:0%;}100%{width:100%;}}
@-webkit-keyframes title_hr{0%{width:0%;}100%{width:100%;}}
@media only screen and (max-width:750px){
.title{margin:0 auto 20px auto;}
#cta .title{margin:40px auto 20px auto;}
.title.scrollin:after{margin:20px auto 0 auto;max-width:80px;}
}

/* page_top
-------------------------------------------------------*/
#page_top {
position: fixed;
bottom: 100px;
right: 10px;
width: 60px;
height: 60px;
cursor: pointer;
background: #111111;
border: 1px solid #fff;
border-radius: 5px;
z-index: 9;
display: flex;
justify-content: center;
align-items: flex-end;
}
#page_top>span {
font-size: 60%;
color: #fff;
text-align: center;
position: relative;
bottom: 10px;
line-height: 1;
}
#page_top::before,
#page_top::after {
content: "";
width: 0;
height: 0;
position: absolute;
left: 50%;
transform : translate(-50%,-50%);
border: 15px solid transparent;
border-bottom: 15px solid #fff;
}
#page_top::before {
top: 21%;
animation: pagetop 1s ease infinite normal;
}
@keyframes pagetop {
0% {
top: 21%;
}
25% {
top: 19%;
}
50% {
top: 17%;
}
75% {
top: 19%;
}
100% {
top: 21%;
}
}
#page_top::after {
top: 25%;
border-bottom-color: #111111;
}
@media screen and (max-width:750px){
#page_top {
width: 40px;
height: 55px;
}
#page_top::before,
#page_top::after {
border-width: 10px;
border-bottom-width: 10px;
}
#page_top::after {
border-bottom-width: 10px;
}
}