@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:14px;}@media only screen and (max-width:750px){.small{font-size:12px;line-height:20px;}}
.red{color:#e4459f;}

/*----- image -----*/
.img1080{width:100%;max-width:1080px;margin:0 auto;}
.img960{width:100%;max-width:960px;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{  
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;
}
.wrapper{
display:flex;
align-items:stretch;
width:100%;
margin:0;
padding:0;
}
.imgbox{
width:50%;
margin:0;
padding:0;
}
.textbox{
width:50%;
min-width:520px;
margin:0;
padding:120px 0;
box-sizing:border-box;
}
.text{
width:520px;
margin:0 auto;
padding:0 40px 0 40px;
font-size:16px;
line-height:30px;
text-align:left;
box-sizing:border-box;
}
.text p{margin:0;padding:0 0 30px 0;}
.text p:last-child{margin:0;padding:0;}
.text ul{margin:0;padding:0 0 10px 0;}
.text li{
margin:0 0 20px 0;
padding:0 0 0 10px;
list-style:none;
font-size:17px;
font-weight:bold;
border-left:5px solid #ff0080;
}
@media only screen and (max-width:750px){
.wrapper{display:block;}
.imgbox{display:none;}
.contents_img{
display:block;
width:100%;
max-width:670px;
margin:0 auto;
padding:0 20px 40px 20px;
box-sizing:border-box;
}
.textbox{
width:100%;
min-width:320px;
margin:0;
padding:40px 0;
box-sizing:border-box;
}
.text{
width:100%;
padding:0 20px 0 20px;
font-size:14px;
line-height:24px;
text-align:justify;
}
.text p{margin:0;padding:0 0 20px 0;}
.text p:last-child{margin:0;padding:0;}
.text ul{margin:0;padding:0 0 10px 0;}
.text li{
margin:0 0 20px 0;
padding:0 0 0 6px;
font-size:15px;
border-left:4px solid #ff0080;
}
.text p br{display:none;}
}

/* ----------------------- CSS Information 
 Style Info: TOPBAR
--------------------------------------- */
#topbar{
width:100%;
height:90px;
margin:0;
padding:0;
background:#ffffff;
position:relative;
box-sizing:border-box;
box-shadow:0 0 10px rgba(0,0,0,0.25);
z-index:100;
}
.topbar_text01.pc{
display:block;
width:310px;
margin:0 auto 0 0;
box-sizing:border-box;
}
.topbar_text02.pc{
display:block;
width:410px;
margin:0 0 0 auto;
padding:0;
position:absolute;
top:0;
right:0;
box-sizing:border-box;
}
@media only screen and (max-width:750px){
#topbar{height:auto;}
.topbar_text01.pc{display:none;}
.topbar_text02.pc{display:none;}
#topbar img.sp{width:100%;}
}

/* ----------------------- CSS Information 
 Style Info: HEADER
--------------------------------------- */
header{
position:relative;
width:100%;
margin:0;
padding:0;
text-align:center;
overflow:hidden;
background:#f6f6f5 url(../img/bg01.png) repeat center top;
}
@media only screen and (max-width:750px){header{background-size:35px 35px;}}

/* ----------------------- CSS Information 
 Style Info: APPLY
--------------------------------------- */
.apply{
width:100%;
margin:0 auto;
padding:0;
box-sizing:border-box;
position:relative;
box-shadow:0 0 10px rgba(0,0,0,0.25);
background:#000000;
}
.apply_caption{
position:relative;
margin:0 auto;
width:100%;
max-width:750px;
height:auto;
z-index:10;
}
.apply_caption.caption01:before,.apply_caption.caption02:before,.apply_caption.caption03:before{
content:"";
display:block;
width:100%;
max-width:750px;
margin:0 auto -8% auto;
padding-top:8%;
}
.apply_caption img{
position:absolute;
width:100%;
height:100%;
margin:0 auto;
top:-50%;
left:0;
right:0;
}
.apply_text.pc{
position:relative;
width:750px;
margin:0 auto;
z-index:10;
}
.apply_wrapper{
width:100%;
height:100%;
margin:0;
padding:80px 0 60px 0;
box-sizing:border-box;
position:relative;
overflow:hidden;
}
.video_bg{
position:absolute;
top:-50%;
left:-50%;
width:200%;
height:200%;
}
.video_bg video{
position:absolute;
top:0;
bottom:0;
left:0;
right:0;
margin:auto;
min-width:50%;
min-height:50%;
opacity:0.25;
}
/*-- btn --*/
.reflection_box{
margin:0 auto;
width:80%;
max-width:600px;
height:100%;
position:relative;
overflow:hidden;
box-sizing:border-box;
border-radius:8px;
box-shadow:2px 2px 8px 0px rgba(0,0,0,0.5);
}
.reflection_box img{
margin:0;
width:100%;
max-width:600px;
}
.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; }
}
@media only screen and (max-width:750px){
.apply{}
.apply_caption{}
.apply_caption.caption01:before{
margin:0 auto -13.34% auto;
padding-top:13.34%;
}
.apply_caption.caption02:before{
margin:0 auto -13.34% auto;
padding-top:13.34%;
}
.apply_caption.caption03:before{
margin:0 auto -20% auto;
padding-top:20%;
}
.apply_caption img{}
.apply_text.sp{
position:relative;
width:100%;
max-width:750px;
margin:0 auto;
z-index:10;
}
.apply_wrapper{
width:100%;
height:100%;
margin:0;
padding:60px 0 30px 0;
box-sizing:border-box;
position:relative;
overflow:hidden;
}
.video_bg{}
.video_bg video{}
/*-- btn --*/
.reflection_box{}
.reflection_box img{}
}

/* ----------------------- CSS Information 
 Style Info: TITLE
--------------------------------------- */
.title{margin:0;padding:0;}
.title img{margin:0 auto;width:100%;max-width:750px;}
.title_hr{
display:block;
margin:40px auto 50px auto;
padding:0;
width:0;
height:5px;
border:0;
background:-moz-linear-gradient(left,#e4459f,#3ebcea);
background:-webkit-linear-gradient(left,#e4459f,#3ebcea);
background:linear-gradient(to right,#e4459f,#3ebcea);
}
.title_hr.scrollin{animation:title_hr 0.2s linear both;}
@keyframes title_hr{0%{width:0%;}100%{width:80px;}}
.title_contents{margin:0;padding:0 40px;}
.title_contents img{margin:0 auto;width:100%;max-width:440px;}
.title_contents_hr{
display:block;
margin:40px auto 40px 0;
padding:0;
width:0;
height:5px;
border:0;
background:-moz-linear-gradient(left,#e4459f,#3ebcea);
background:-webkit-linear-gradient(left,#e4459f,#3ebcea);
background:linear-gradient(to right,#e4459f,#3ebcea);
}
#contents02 .title_contents_hr{
display:block;
margin:40px 0 40px auto;
padding:0;
width:0;
height:5px;
border:0;
background:-moz-linear-gradient(left,#e4459f,#3ebcea);
background:-webkit-linear-gradient(left,#e4459f,#3ebcea);
background:linear-gradient(to right,#e4459f,#3ebcea);
}
.title_contents_hr.scrollin{animation:title_contents_hr 0.5s linear both;}
@keyframes title_contents_hr{0%{width:0%;}100%{width:100%;}}
@media only screen and (max-width:750px){
.title{}
.title img{}
.title_hr{margin:20px auto 30px auto;}
@keyframes title_hr{0%{width:0%;}100%{width:60px;}}
.title_contents{margin:0;padding:0;}
.title_contents img{max-width:750px;}
.title_contents_hr{margin:20px auto 20px 0;}
@keyframes title_contents_hr{0%{width:0%;}100%{width:100%;}}
}


/* ------------------------------------------- CSS Information 
 Style Info: contents
----------------------------------------------------------- */
/* -- contents01 -- */
#contents01{
margin:0;
padding:0;
color:#2b3336;
background:#f6f6f5;
overflow-x:hidden;
}
#contents01 .imgbox{
margin:120px 0;
background:-moz-linear-gradient(left,rgba(228,69,159,0.3),rgba(62,188,234,0.3)),url(../img/contents01_img.png);
background:-webkit-linear-gradient(left,rgba(228,69,159,0.3),rgba(62,188,234,0.3)),url(../img/contents01_img.png);
background:linear-gradient(to right,rgba(228,69,159,0.3),rgba(62,188,234,0.3)),url(../img/contents01_img.png);
background-position:center;
background-size:cover;
}
/* -- contents02 -- */
#contents02{
margin:0;
padding:0;
color:#f6f6f5;
background:#2b3336 url(../img/contents02_bg_pc.png) no-repeat center;
background-size:cover;
overflow-x:hidden;
}
#contents02 .wrapper{flex-direction:row-reverse;}
#contents02 .imgbox{align-self:center;}
#contents02 .imgbox p{
margin:20px 0 0 0;
padding:0;
font-size:14px;
line-height:20px;
}
.graph{
width:100%;
max-width:360px;
margin:0 auto;
padding:0 20px;
box-sizing:border-box;
}
@media only screen and (max-width:750px){
#contents02{background:#2b3336 url(../img/contents02_bg_sp.png) no-repeat center;}
#contents02 .wrapper{}
#contents02 .imgbox{}
#contents02 .imgbox p{}
.graph{width:50%;padding:0 0 40px 0;}
}
/* -- contents03 -- */
#contents03{
margin:0;
padding:0;
color:#2b3336;
background:#f6f6f5;
overflow-x:hidden;
}
#contents03 .imgbox{
margin:120px 0;
background:-moz-linear-gradient(left,rgba(228,69,159,0.3),rgba(62,188,234,0.3)),url(../img/contents03_img.png);
background:-webkit-linear-gradient(left,rgba(228,69,159,0.3),rgba(62,188,234,0.3)),url(../img/contents03_img.png);
background:linear-gradient(to right,rgba(228,69,159,0.3),rgba(62,188,234,0.3)),url(../img/contents03_img.png);
background-position:center;
background-size:cover;
}

/* ----------------------- CSS Information 
 Style Info: VOICE
--------------------------------------- */
#voice{
margin:0;
padding:120px 0;
color:#f6f6f5;
background:#2b3336 url(../img/voice_bg_pc.png) no-repeat center;
background-size:cover;
}
.voice_wrapper{
width:100%;
max-width:1080px;
margin:0 auto;
padding:0 40px;
box-sizing:border-box;
}
.voice_box{
width:100%;
margin:80px 0 80px 0;
padding:40px;
box-sizing:border-box;
position:relative;
border:1px solid rgba(255,255,255,0.25);
background:rgba(52,53,109,0.25);
}
.voice_box:last-child{margin:80px 0 0 0;}
.voice_textbox{position:relative;z-index:10;}
.voice_caption{
margin:0 0 10px 0;
padding:0;
font-size:18px;
line-height:40px;
font-weight:bold;
text-align:left;
box-sizing:border-box;
}
.voice_info{
display:flex;
align-items:center;
width:380px;
margin:0 auto 0 0;
padding:;
font-size:14px;
line-height:20px;
font-weight:bold;
text-align:right;
position:relative;
}
.voice_info:before{
content:"";
flex-grow:1;
display:block;
margin:0 20px 0 0;
height:1px;
background:#ffffff;
}
.voice_text{
width:100%;
margin:0;
padding:40px 0 0 0;
box-sizing:border-box;
font-size:16px;
line-height:30px;
text-align:justify;
}
.voice_text p{margin:0;padding:0;}
.voice_img{
position:absolute;
width:50%;
top:-20px;
right:-20px;
}
@media only screen and (max-width:750px){
#voice{
padding:40px 0;
background:#2b3336 url(../img/voice_bg_sp.png) no-repeat center;
background-size:cover;
}
.voice_wrapper{padding:0 20px;}
.voice_box{
margin:40px 0 40px 0;
padding:30px 20px;
}
.voice_box:last-child{margin:40px 0 0 0;}
.voice_textbox{}
.voice_caption{
margin:0 0 10px 0;
font-size:15px;
line-height:30px;
}
.voice_info{
width:100%;
margin:0;
font-size:12px;
}
.voice_info:before{
content:"";
flex-grow:1;
display:block;
margin:0 10px 0 0;
height:1px;
background:#ffffff;
}
.voice_text{
width:100%;
margin:0;
padding:20px 0 0 0;
box-sizing:border-box;
font-size:14px;
line-height:30px;
text-align:justify;
}
.voice_text p br{display:none;}
.voice_img{
position:absolute;
width:50%;
top:-20px;
right:-10px;
}
}

/* ----------------------- CSS Information 
 Style Info: PROGRAM
--------------------------------------- */
#program{
margin:0;
padding:120px 0;
background:#ffffff url(../img/program_bg_pc.png) no-repeat center;
background-size:cover;
}
.program_wrapper{
width:100%;
max-width:750px;
margin:0 auto;
padding:0 40px;
box-sizing:border-box;
}
.program_box{
display:flex;
align-items:stretch;
width:100%;
margin:0;
padding:5px;
background:rgba(0,0,0,0.2);
box-sizing:border-box;
}
.program_part{
position:relative;
width:120px;
margin:0;
padding:0;
color:#f6f6f5;
font-size:18px;
line-height:20px;
font-weight:bold;
text-align:center;
box-sizing:border-box;
}
.program01 .program_part{background:#e4459f;}
.program02 .program_part{background:#ba63b2;}
.program03 .program_part{background:#8e83c6;}
.program04 .program_part{background:#65a0d8;}
.program05 .program_part{background:#3ebcea;}
.program_part span{
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
-webkit-transform:translate(-50%,-50%);
-ms-transform:translate(-50%,-50%);
}
.program_point{
flex:1;
margin:0;
padding:30px 0;
text-align:left;
background:#ffffff;
}
.program_point dt{
margin:0 0 20px 0;
padding:0 20px 20px 20px;
font-size:20px;
line-height:20px;
font-weight:bold;
border-bottom:2px solid #eeeeee;
}
.program_point dd{
margin:0;
padding:0 20px;
font-size:16px;
line-height:30px;
}
.program_hr{
display:block;
width:40px;
height:25px;
margin:10px auto;
background:url(../img/allow.png) no-repeat center top;
background-size:cover;
border:0;
box-sizing:border-box;
-webkit-animation:allow 1s infinite linear alternate;
animation:allow 1s infinite linear alternate;
}
@-webkit-keyframes allow{
0%{-webkit-transform:translate(0,-3px);}
50%{-webkit-transform:translate(0,3px);}
100%{-webkit-transform:translate(0,-3px);}
}
@keyframes allow{
0%{transform:translate(0,-3px);}
50%{transform:translate(0,3px);}
100%{transform:translate(0,-3px);}
}
@media only screen and (max-width:750px){
#program{
padding:40px 0 60px 0;
background:#ffffff url(../img/program_bg_sp.png) no-repeat center;
background-size:cover;
}
.program_wrapper{padding:0 20px;}
.program_box{padding:2px;}
.program_part{
width:86px;
font-size:14px;
line-height:20px;
}
.program_part span{}
.program_point{padding:20px 0;}
.program_point dt{
margin:0 0 20px 0;
padding:0 20px 20px 20px;
font-size:16px;
line-height:20px;
font-weight:bold;
border-bottom:2px solid #eeeeee;
}
.program_point dd{
padding:0 20px;
font-size:14px;
line-height:24px;
}
.program_hr{width:20px;height:12px;}
@-webkit-keyframes allow{
0%{-webkit-transform:translate(0,-3px);}
50%{-webkit-transform:translate(0,3px);}
100%{-webkit-transform:translate(0,-3px);}
}
@keyframes allow{
0%{transform:translate(0,-3px);}
50%{transform:translate(0,3px);}
100%{transform:translate(0,-3px);}
}
}

/* ------------------------------------------- CSS Information 
 Style Info: CTA
----------------------------------------------------------- */
#cta{
width:100%;
margin:0;
padding:120px 0;
text-align:center;
background:#f6f6f5 url(../img/bg01.png) repeat center top;
}
@media only screen and (max-width:750px){#cta{padding:40px 0;background-size:35px 35px;}}
/* -- calendar -- */
.calendar{
width:100%;
max-width:1080px;
margin:0 auto;
padding:0 20px;
box-sizing:border-box;
}
.week .sun{color:#e4459f;}
.week .sat{color:#3ebcea;}
.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:#e4459f;}
.date li:nth-child(7), .date li:nth-child(14), .date li:nth-child(21), .date li:nth-child(28){color:#3ebcea;}
.calendar_area{width:100%;}
.cal_month{
margin:0 auto 2px auto;
padding:10px;
font-size:18px;
line-height:20px;
color:#f6f6f5;
font-weight:bold;
background:-moz-linear-gradient(left,rgba(228,69,159,1),rgba(62,188,234,1));
background:-webkit-linear-gradient(left,rgba(228,69,159,1),rgba(62,188,234,1));
background:linear-gradient(to right,rgba(228,69,159,1),rgba(62,188,234,1));
box-sizing:border-box;
}
.week,.date{
display:flex;
justify-content:center;
width:100%;
margin-bottom:1px;
}
.week li{
width:calc(100% / 7);
margin:0;
padding:10px 0;
font-size:14px;
line-height:20px;
background:#ffffff;
border:1px solid #f6f6f5;
box-sizing:border-box;
}
.date li{
width:calc(100% / 7);
display:flex;
flex-direction:column;
align-items:center;
margin:0;
padding:10px;
font-size:14px;
line-height:20px;
background:#ffffff;
border:1px solid #f6f6f5;
box-sizing:border-box;
}
.date li .linkbox{
width:100%;
height:60px;
margin:10px 0 0 0;
padding:0;
border-radius:10px;
color:#ffffff;
font-size:15px;
line-height:20px;
font-weight:bold;
box-sizing:border-box;
}
.date li .box1{background:#64a9f0;}
.date li .box2{background:#46cfd7;}
.date li .box3{background:#60cfa1;}
.date li .box4{background:#dba56b;}
.date li .full{background:#e6829c;color:#fff799;padding:20px 0;}
.date li .linkbox:hover{opacity:0.5;}
.date li .linkbox.full:hover{opacity:1;}
.date li a{
display:block;
width:100%;
height:100%;
margin:0;
padding:10px 0;
color:#ffffff;
font-size:15px;
line-height:20px;
font-weight:bold;
text-decoration:none;
position:relative;
box-sizing:border-box;
}
.time{
margin:4px 0 0 0;
padding:0;
display:block;
font-size:12px;
line-height:16px;
font-weight:normal;
}
@media screen and (max-width:900px){
.calendar{padding:0 10px;}
.cal_month{font-size:16px;line-height:20px;}
.week,.date{}
.week li{}
.date li{padding:10px 5px;}
.date li .linkbox{
width:100%;
height:60px;
margin:10px 0 0 0;
border-radius:6px;
font-size:14px;
}
.date li .full{background:#e6829c;color:#fff799;padding:20px 0;}
.date li a{
margin:0;
padding:10px 0;
font-size:14px;
}
.time{
margin:4px 0 0 0;
padding:0;
display:block;
font-size:12px;
line-height:16px;
}
}
@media screen and (max-width:750px){
.calendar{padding:0 2px;}
.cal_month{font-size:14px;}
.week,.date{}
.week li{font-size:11px;}
.date li{padding:5px 2px;}
.date li .linkbox{
width:100%;
height:60px;
margin:5px 0 0 0;
border-radius:6px;
font-size:12px;
}
.date li .full{background:#e6829c;color:#fff799;padding:10px 0;}
.date li a{padding:5px 0;font-size:12px;}
.time{margin:2px 0 0 0;font-size:10px;line-height:12px;}
}

/* ----------------------- 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{
position:relative;
font-size:16px;
line-height:30px;
text-align:justify;
margin:0;
padding:20px 20px 20px 70px;
background:#f6f6f5 url(../img/faq_q.png) no-repeat 20px 20px;
background-size:30px 30px;
}
#faq dt:after{
content:"";
position:absolute;
left:0;
bottom:0;
display:block;
height:1px;
width:100%;
background:-moz-linear-gradient(left,#ff0080,#32e2f1);
background:-webkit-linear-gradient(left,#ff0080,#32e2f1);
background:linear-gradient(to right,#ff0080,#32e2f1);
}
#faq dd{
font-size:16px;
line-height:30px;
text-align:justify;
margin:0 0 30px 0;
padding:20px 20px 20px 70px;
background:#f6f6f5 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 80px 0;}
#faq dl{margin:20px 0 0 0;padding:0 10px;}
#faq dt{
font-size:14px;
line-height:24px;
padding:20px 10px 20px 40px;
background:#f6f6f5 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 10px 20px 40px;
background:#f6f6f5 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:60px 0;background:#22262b;}
.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 #444444;
}
#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 #e4459f;
}
#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{padding:40px 0;}
.info_box{padding:0 20px;font-size:12px;}
#info p{}
#info dl{}
#info dt{font-size:12px;line-height:16px;}
#info dd{font-size:12px;}
#info dd:last-child{}
}

/* ----------------------- CSS Information 
 Style Info: FOOTER
--------------------------------------- */
footer{
width:100%;
margin:0;
padding:40px 20px;
color:#d1d1d1;
background:#000000;
box-sizing:border-box;
}
address{
margin:0;
padding:0;
text-align:center;
font-size:12px;
line-height:20px;
}
@media only screen and (max-width:750px){
footer{padding:40px 10px 120px 10px;}
.sp_no{display:none;}
}

/* ----------------------- CSS Information 
 Style Info: FOOTER_BANNER
--------------------------------------- */
.footer_banner{display:none;}
@media only screen and (max-width:750px){
.footer_banner{
display:block;
position:fixed;
width:100%;
max-width:750px;
height:auto;
margin:0 auto;
padding:0;
bottom:0;
right:0;
left:0;
box-shadow:0 0 10px rgba(0,0,0,0.25);
z-index:100;
}
.footer_banner 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);
}




/* page_top
-------------------------------------------------------*/
#page_top{
position:fixed;
bottom:20px;
right:20px;
width:60px;
height:60px;
cursor:pointer;
background: #111111;
border: 1px solid #fff;
border-radius: 5px;
z-index:200;
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{
bottom:80px;
right:10px;
width: 40px;
height: 55px;
}
#page_top::before,#page_top::after{
border-width:10px;
border-bottom-width:10px;
}
#page_top::after{border-bottom-width:10px;}
}