@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&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:700;}
.ul{text-decoration:underline;}
.bg{background-color:#fff45c;}
.big{font-size:20px;}@media only screen and (max-width:768px){.big{font-size:16px;}}
.small{font-size:13px;}
.red{color:#ec6286;}
.text_center{text-align:center;}
.text_right{text-align:right;}
/* 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{  
font-family:'Noto Sans JP',"游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "sans-serif";
font-weight:400;
color:#333333;
font-size:16px;
line-height:0;
text-align:center;
letter-spacing:0em;
background:#333333 url(../img/bg02.png) no-repeat center fixed;
background-size:cover;
width:100%;
height:100%;
}

/* ----------------------- CSS Information 
 Style Info: HEADER
--------------------------------------- */
header{
position:relative;
margin:0;
padding:0;
width:100%;
height:100%;
overflow:hidden;
background:#ffffff url(../img/header_bg.png) no-repeat center;
background-size:cover;
}
.header_video{
position:absolute;
min-width:100%;
min-height:100vh;
top:50%;
left:50%;
transform:translateX(-50%) translateY(-50%);
opacity:0.2;
}
.header_img{
position:absolute;
width:100%;
max-width:1500px;
top:50%;
left:50%;
transform:translateX(-50%) translateY(-50%);
margin:auto;
padding:0;
z-index:100;
}
img.scroll{
position:absolute;
top:0;
bottom:30px;
left:0;
right:30px;
margin:auto 0 0 auto;
width:20px;
height:auto;
z-index:10;
-webkit-animation:scroll 1.5s infinite 0s linear alternate;
animation:scroll 1.5s infinite 0s linear alternate;
}
@-webkit-keyframes scroll{
0% {-webkit-transform:translate(0, 0) rotate(0deg);}
50% {-webkit-transform:translate(0, -10px) rotate(0deg);}
100% {-webkit-transform:translate(0, 0)rotate(0deg);}
}
@keyframes scroll{
0% {transform:translate(0, 0) rotate(0deg);}
50% {transform:translate(0, -10px) rotate(0deg);}
100% {transform:translate(0, 0)rotate(0deg);}
}
@media only screen and (max-width:750px){
header{height:auto;}
.header_video{
position:absolute;
width:auto;
height:auto;
}
.header_img{
position:relative;
width:100%;
max-width:750px;
margin:0 auto;
padding:0;
top:0;
left:0;
transform:translateX(0) translateY(0);
}
.header_img{}
img.scroll{right:10px;bottom:10px;width:15px;}
@-webkit-keyframes scroll{
0% {-webkit-transform:translate(0, 0) rotate(0deg);}
50% {-webkit-transform:translate(0, -5px) rotate(0deg);}
100% {-webkit-transform:translate(0, 0)rotate(0deg);}
}
@keyframes scroll{
0% {transform:translate(0, 0) rotate(0deg);}
50% {transform:translate(0, -5px) rotate(0deg);}
100% {transform:translate(0, 0)rotate(0deg);}
}
}

/* ----------------------- CSS Information 
 Style Info: TITLE
--------------------------------------- */
.title{
display:block;
width:100%;
margin:0 auto;
padding:0 30px;
box-sizing:border-box;
}
.title.scrollin{}
/*-- sub --*/
.title_sub{
display:block;
margin:0 auto 0 auto;
padding:10px 0;
width:0;
font-size:20px;
line-height:20px;
text-align:center;
font-weight:bold;
color:#ffffff;
background:#b00f14 url(../img/title_sub_bg.png) no-repeat center;
background-size:cover;
box-sizing:border-box;
transition:all 0.3s linear 0s;
}
#present .title_sub{
background:#d9b01c url(../img/title_sub_present_bg.png) no-repeat center;
background-size:cover;
}
.title.scrollin .title_sub{width:100%;}
.title_sub img{
height:20px;
margin:0 auto;
padding:0;
opacity:0;
transition:all 0.1s linear 0s;
}
.title.scrollin .title_sub img{opacity:1;}
#intro .title_sub{padding:0;}
#intro .title_sub img{height:auto;width:100%;max-width:690px;}
/*-- main --*/
.title_main{
display:block;
width:100%;
max-width:940px;
margin:0 auto;
padding:0;
font-size:30px;
line-height:40px;
text-align:center;
font-weight:bold;
color:#333333;
box-sizing:border-box;
opacity:0;
transform:translateY(20px);
transition:all 0.3s linear 0s;
}
.title.scrollin .title_main{opacity:1;transform:translateY(0);}
.title_main img{width:100%;max-width:690px;margin:0 auto;padding:0;white-space:pre;}
/*-- hr --*/
.title_hr{
display:block;
margin:0 auto 60px auto;
height:4px;
background:#b00f14;
width:0;
transition:all 0.3s linear 0s;
}
.title_hr.scrollin{width:120px;}

@media only screen and (max-width:750px){
.title{padding:0 4%;}
.title.scrollin{}
/*-- sub --*/
.title_sub{
padding:10px 0;
font-size:14px;
line-height:14px;
}
.title.scrollin .title_sub{}
.title_sub img{height:14px;}
.title.scrollin .title_sub img{}
/*-- main --*/
.title_main{font-size:20px;line-height:30px;}
.title.scrollin .title_main{}
.title_main img{}
/*-- hr --*/
.title_hr{margin:0 auto 40px auto;height:2px;}
.title_hr.scrollin{width:80px;}
}


/* ----------------------- CSS Information 
 Style Info: 共通設定
--------------------------------------- */
.container{
width:100%;
max-width:1260px;
margin:0 auto;
background:#ffffff;
}
.section{
width:100%;
margin:0;
padding:30px 0 120px 0;
position:relative;
background:#ffffff;
}
.wrapper{
width:100%;
max-width:1000px;
margin:0 auto;
padding:0 30px;
box-sizing:border-box;
}
.section_title{
position:relative;
margin:80px 0 40px 0;
padding:60px 0 0 10px;
font-size:24px;
line-height:40px;
font-weight:bold;
border-top:1px solid #dddddd;
}
.section_title:before{
content:"";
display:block;
position:absolute;
top:60px;
left:0;
width:4px;
height:40px;
background:#b00f14;
}
.section_img{
display:block;
width:40%;
margin:0 0 0 20px;
box-sizing:border-box;
float:right;
}
@media only screen and (max-width:750px){
.section{padding:20px 0 40px 0;}
.wrapper{padding:0 4%;}
.section_title{
margin:30px 0 20px 0;
padding:30px 0 0 6px;
font-size:16px;
line-height:30px;
}
.section_title:before{
content:"";
display:block;
position:absolute;
top:30px;
width:2px;
height:30px;
}
.section_img{margin:0 0 0 15px;}
}
/* -- text -- */
.text{
width:100%;
margin:0 auto;
padding:0;
font-size:17px;
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 -- */
ul{margin:0 0 30px 0;}
ul li{margin:0;padding:0;}
@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{}
/* -- br -- */
.text br{display:none;}
.text br.sp,.text br.all{display:block;}
}

/* ----------------------- CSS Information 
 Style Info: INTRO
--------------------------------------- */
#intro{background:#ffffff;padding:30px 0 0 0;}
.video{
position:relative;
width:100%;
background:#333333;
}
.video_box{
position:relative;
width:100%;
max-width:1200px;
max-height:675px;
margin:auto; 
padding-top:56.25%;
}
.video_box iframe{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
max-width:1200px;
max-height:675px;
box-sizing:border-box;
}
@media only screen and (max-width:750px){}

/* ----------------------- CSS Information 
 Style Info: RESULT
--------------------------------------- */
#result{
background:#000000 url(../img/result_bg_pc.png) no-repeat center fixed;
background-size:cover;
}
.result_box{
width:100%;
max-width:1000px;
margin:0 auto 60px auto;
padding:0 30px;
box-sizing:border-box;
}
#result .result_box:last-child{margin:0 auto 0 auto;}
.result_box img{margin:0 auto;width:100%;max-width:940px;}
@media only screen and (max-width:768px){
#result{
background:#000000 url(../img/result_bg_sp.png) no-repeat center top;
background-size:100% auto;
}
.result_box{margin:0 auto 30px auto;padding:0 4%;}
}

/* ----------------------- CSS Information 
 Style Info: VOICE
--------------------------------------- */
#voice{background:#eeeeee url(../img/bg01.png) repeat center top;}
.voice_wrapper{
display:-ms-flexbox;display:flex;
-ms-flex-direction:row;flex-direction:row;
-ms-flex-wrap:wrap;flex-wrap:wrap;
-ms-flex-pack:justify;justify-content:space-between;
-ms-flex-align:start;align-items:flex-start;
width:100%;
height:auto;
max-width:1200px;
margin:0 auto 0 auto;
padding:0 30px;
box-sizing:border-box;
}
.voice_box{
display:block;
width:32%;
margin:0 0 30px 0;
box-sizing:border-box;
}
.voice_text{
position:relative;
display:block;
width:100%;
margin:0 0 20px 0;
background:#b00f14;
animation:voice_balloon 0.8s infinite 0s linear alternate;
z-index:10;
}
.voice_text img{display:block;width:100%;max-width:220px;margin:0 auto;}
.voice_text:before{
content:"";
position:absolute;
top:100%;
left:50%;
margin-left:-20px;
border:20px solid transparent;
border-top:20px solid #b00f14;
}
@keyframes voice_balloon{
0% {transform:translate(0, 0) rotate(0deg);}
50% {transform:translate(0, 10px) rotate(0deg);}
100% {transform:translate(0, 0)rotate(0deg);}
}
.voice_img{
display:block;
width:100%;
border:2px solid #666666;
box-sizing:border-box;
}
.voice_attention{margin:0 auto;padding:0;color:#999999;text-align:center;font-size:12px;line-height:20px;}
@media only screen and (max-width:750px){
#voice{}
.voice_wrapper{padding:0 20px;}
.voice_box{width:48%;margin:0 0 20px 0;}
.voice_text{margin:0 0 10px 0;}
.voice_text img{max-width:330px;}
.voice_text:before{
margin-left:-10px;
border:10px solid transparent;
border-top:10px solid #b00f14;
}
@keyframes voice_balloon{
0% {transform:translate(0, 0) rotate(0deg);}
50% {transform:translate(0, 10px) rotate(0deg);}
100% {transform:translate(0, 0)rotate(0deg);}
}
.voice_img{}
.voice_attention{font-size:10px;line-height:14px;}
}

/* ----------------------- CSS Information 
 Style Info: LOGIC
--------------------------------------- */
#logic{background:#ffffff;}
.logic_box{
display:-ms-flexbox;display:flex;
-ms-flex-pack:justify;justify-content:space-between;
-ms-flex-align:stretch;align-items:stretch;
width:100%;
margin:0 auto 120px auto;
padding:0;
box-sizing:border-box;
overflow:hidden;
opacity:0;
transition:all 0.3s linear 0s;
}
.logic_box.scrollin{opacity:1;}
.logic_box:nth-child(odd){-ms-flex-direction:row;flex-direction:row;}
.logic_box:nth-child(even){-ms-flex-direction:row-reverse;flex-direction:row-reverse;}
#logic .logic_box:last-child{margin:0 auto;}
#logic .text_box{width:60%;min-width:620px;}
/* -- title -- */
.logic_title{
display:block;
width:620px;
margin:0 auto 40px auto;
padding:0 30px;
font-size:28px;
line-height:50px;
font-weight:bold;
color:#333333;
box-sizing:border-box;
}
.logic_box:nth-child(odd) .logic_title{text-align:left;}
.logic_box:nth-child(even) .logic_title{text-align:right;}
.logic_title img{
width:100%;
max-width:500px;
margin:0 auto;
padding:0;
white-space:pre;
}
.logic_box:nth-child(odd) .logic_title img{margin:0 auto 0 0;}
.logic_box:nth-child(even) .logic_title img{margin:0 0 0 auto;}
/* -- hr -- */
.logic_hr{
display:block;
width:50%;
height:4px;
background:#b00f14;
box-sizing:border-box;
}
.logic_box:nth-child(odd) .logic_hr{margin:40px auto 40px 0;}
.logic_box:nth-child(even) .logic_hr{margin:40px 0 40px auto;}
.logic_box:nth-child(odd) .logic_hr,.logic_box:nth-child(even) .logic_hr{width:0;transition:all 0.3s linear 0s;}
.logic_box.scrollin:nth-child(odd) .logic_hr,.logic_box.scrollin:nth-child(even) .logic_hr{width:50%;}
/* -- text -- */
.logic_box .text{
width:620px;
margin:0 auto;
padding:0 30px;
box-sizing:border-box;
}
.logic_box:nth-child(odd) .text{text-align:left;}
.logic_box:nth-child(even) .text{text-align:right;}
/* -- img -- */
#logic .img_box{flex:1;}
.logic01 .img_box{background:url(../img/logic01_img.png) no-repeat top center;background-size:cover;}
.logic02 .img_box{background:url(../img/logic02_img.png) no-repeat top center;background-size:cover;}
.logic03 .img_box{background:url(../img/logic03_img.png) no-repeat top center;background-size:cover;}
.logic04 .img_box{background:url(../img/logic04_img.png) no-repeat top center;background-size:cover;}
.logic_box .img_box img{
display:none;
width:100%;
margin:0;
padding:0;
}
.logic_box:nth-child(odd) .img_box{transform:translateX(100%);transition:all 0.3s linear 0s;}
.logic_box:nth-child(even) .img_box{transform:translateX(-100%);transition:all 0.3s linear 0s;}
.logic_box.scrollin:nth-child(odd) .img_box{transform:translateX(0);}
.logic_box.scrollin:nth-child(even) .img_box{transform:translateX(0);}
@media only screen and (max-width:750px){
#logic{}
.logic_box{-ms-flex-align:start;align-items:flex-start;margin:0 auto 40px auto;}
.logic_box:nth-child(odd){-ms-flex-direction:column-reverse;flex-direction:column-reverse;}
.logic_box:nth-child(even){-ms-flex-direction:column-reverse;flex-direction:column-reverse;}
#logic .logic_box:last-child{}
#logic .text_box{width:100%;min-width:320px;}
/* -- title -- */
.logic_title{
width:100%;
margin:0 auto 30px auto;
padding:0 4%;
font-size:18px;
line-height:20px;
}
.logic_title img{max-width:690px;}
/* -- hr -- */
.logic_hr{}
.logic_box:nth-child(odd) .logic_hr{margin:30px auto 30px 0;}
.logic_box:nth-child(even) .logic_hr{margin:30px 0 30px auto;}
/* -- text -- */
.logic_box .text{width:100%;margin:0 auto;padding:0 4%;}
.logic_box:nth-child(odd) .text{text-align:justify;}
.logic_box:nth-child(even) .text{text-align:justify;}
/* -- img -- */
#logic .img_box{width:100%;margin:0 auto 30px auto;padding:0 4%;box-sizing:border-box;}
.logic01 .img_box{background:none;}
.logic02 .img_box{background:none;}
.logic03 .img_box{background:none;}
.logic04 .img_box{background:none;}
.logic_box .img_box img{display:block;}
.logic_box:nth-child(odd) .img_box{transform:translateX(-100%);transition:all 0.3s linear 0s;}
.logic_box:nth-child(even) .img_box{transform:translateX(100%);transition:all 0.3s linear 0s;}
.logic_box.scrollin:nth-child(odd) .img_box{transform:translateX(0);}
.logic_box.scrollin:nth-child(even) .img_box{transform:translateX(0);}
}

/* ----------------------- CSS Information 
 Style Info: FEATURE
--------------------------------------- */
#feature{
background:#f2f2f2 url(../img/feature_bg_pc.png) no-repeat center fixed;
background-size:cover;
}
.feature_box{
display:-ms-flexbox;display:flex;
-ms-flex-direction:row-reverse;flex-direction:row-reverse;
-ms-flex-pack:justify;justify-content:space-between;
-ms-flex-align:start;align-items:flex-start;
width:100%;
max-width:1200px;
margin:0 auto 80px auto;
padding:0;
box-sizing:border-box;
opacity:0;
transition:all 0.3s linear 0s;
}
.feature_box.scrollin{opacity:1;}
#feature .feature_box:last-child{margin:0 auto;}
#feature .text_box{
width:65%;
margin:0;
padding:0 30px 0 0;
box-sizing:border-box;
}
/* -- title -- */
.feature_title{
display:block;
width:100%;
margin:0 auto 40px auto;
padding:0;
font-size:28px;
line-height:50px;
font-weight:bold;
text-align:left;
color:#333333;
box-sizing:border-box;
overflow:hidden;
}
.feature_title img{
width:100%;
max-width:530px;
margin:0 auto 0 0;
padding:0 0 0 30px;
box-sizing:border-box;
white-space:pre;
}
.feature_title .number{
position:relative;
display:block;
margin:0 auto 40px 0;
padding:10px 30px;
width:100%;
height:40px;
font-size:18px;
line-height:20px;
text-align:left;
color:#ffffff;
background:#b00f14;
box-sizing:border-box;
transform:translateX(-100%);
transition:all 0.3s linear 0s;
}
.feature_title .number img{
display:block;
margin:0 auto 0 0;
padding:0;
width:auto;
height:20px;
}
.feature_box.scrollin .feature_title .number{transform:translateX(0);}
/* -- text -- */
.feature_box .text{
width:100%;
margin:0 auto;
padding:40px 0 0 30px;
color:#444444;
text-align:justify;
box-sizing:border-box;
border-top:1px solid #dddddd;
}
/* -- img -- */
.feature_box .img_box{
width:35%;
padding:0 0 0 30px;
box-sizing:border-box;
}
.feature_box .img_box img{
display:block;
width:100%;
margin:0;
padding:0;
}
@media only screen and (max-width:768px){
#feature{
background:#f2f2f2 url(../img/feature_bg_sp.png) no-repeat center top;
background-size:100% auto;
}
}
@media only screen and (max-width:750px){
#feature{}
.feature_box{
-ms-flex-direction:column-reverse;flex-direction:column-reverse;
-ms-flex-align:start;align-items:flex-start;
margin:0 auto 60px auto;
}
#feature .text_box{width:100%;padding:0 4%;}
/* -- title -- */
.feature_title{
margin:0 auto 30px auto;
padding:0;
font-size:18px;
line-height:20px;
text-align:center;
overflow:hidden;
}
.feature_title img{
max-width:690px;
margin:0 auto;
padding:0;
}
.feature_title .number{
margin:0 auto 30px 0;
padding:12px 30px;
height:40px;
font-size:14px;
line-height:16px;
text-align:center;
transform:translateX(0) translateY(-100%);
}
.feature_title .number img{height:16px;margin:0 auto;}
.feature_box.scrollin .feature_title .number{transform:translateX(0) translateY(0);}
/* -- text -- */
.feature_box .text{width:100%;padding:30px 0 0 0;}
/* -- img -- */
.feature_box .img_box{width:100%;padding:0 4%;}
.feature_box .img_box img{}
}

/* ----------------------- CSS Information 
 Style Info: SUPPORT
--------------------------------------- */
#support{background:#ffffff;}
.support_wrapper{
display:-ms-flexbox;display:flex;
-ms-flex-direction:row;flex-direction:row;
-ms-flex-pack:justify;justify-content:space-between;
-ms-flex-align:stretch;align-items:stretch;
width:100%;
max-width:1000px;
margin:60px auto 0 auto;
padding:0 30px;
box-sizing:border-box;
}
.support_box{
width:24%;
padding:20px 0;
background:#f2f2f2;
box-sizing:border-box;
}
.support_img{display:block;width:80px;margin:0 auto;padding:0;}
.support_box p{
margin:0;
padding:20px 0 0 0;
font-size:19px;
line-height:20px;
font-weight:bold;
}
@media only screen and (max-width:750px){
#support{}
.support_wrapper{margin:30px auto 0 auto;padding:0 4%;}
.support_box{padding:20px 0;}
.support_img{display:block;width:60px;margin:0 auto;padding:0;}
.support_box p{padding:15px 0 0 0;font-size:14px;line-height:20px;}
}

/* ----------------------- CSS Information 
 Style Info: STEP
--------------------------------------- */
#step{background:#ffffff;}
#step .wrapper img{width:100%;margin:0 auto 60px auto;padding:0;}
@media only screen and (max-width:750px){
#step .wrapper img{width:100%;margin:0 auto 20px auto;padding:0;}
}

/* ----------------------- CSS Information 
 Style Info: PRESENT
--------------------------------------- */
#present{
background:#b00f14 url(../img/present_bg_pc.png) no-repeat top center fixed;
background-size:cover;
}
.present_wrapper{
width:100%;
max-width:1200px;
margin:0 auto 0 auto;
padding:0 30px;
box-sizing:border-box;
}
.present_box{
display:-ms-flexbox;display:flex;
-ms-flex-direction:row;flex-direction:row;
-ms-flex-pack:justify;justify-content:space-between;
-ms-flex-align:stretch;align-items:stretch;
width:100%;
margin:0 auto 80px auto;
padding:0;
background:#ffffff;
box-sizing:border-box;
opacity:0;
transition:all 0.3s linear 0s;
}
.present_box.scrollin{opacity:1;}
#present .present_box:last-child{}
#present .text_box{
width:60%;
min-width:540px;
height:560px;
margin:0;
padding:0;
box-sizing:border-box;
}
/* -- title -- */
.present_title{
display:block;
width:100%;
margin:0 auto 40px auto;
padding:0;
font-size:28px;
line-height:50px;
font-weight:bold;
text-align:left;
color:#333333;
box-sizing:border-box;
overflow:hidden;
}
.present_title img{
width:100%;
max-width:540px;
margin:0 auto 0 0;
padding:0 30px 0 30px;
box-sizing:border-box;
white-space:pre;
}
.present_title .number{
position:relative;
display:block;
margin:0 auto 40px 0;
padding:20px 30px;
width:100%;
height:60px;
font-size:18px;
line-height:20px;
text-align:left;
color:#ffffff;
background:#d9b01c;
box-sizing:border-box;
transform:translateX(-100%);
transition:all 0.3s linear 0s;
}
.present_title .number img{
display:block;
margin:0 auto 0 0;
padding:0;
width:auto;
height:20px;
}
.present_box.scrollin .present_title .number{transform:translateX(0);}
/* -- text -- */
.present_box .text{
width:100%;
margin:0 auto;
padding:40px 30px;
color:#444444;
text-align:justify;
box-sizing:border-box;
border-top:1px solid #dddddd;
}
.present_box ul.point{margin:0;padding:0;}
.present_box ul.point li{
position:relative;
margin:0;
padding:0 0 0 17px;
list-style:none;
text-align:left;
box-sizing:border-box;
}
.present_box ul.point li:before{
content:"";
display:block;
position:absolute;
top:10px;
left:0;
width:12px;
height:12px;
background:#b00f14;
border-radius:50%;
}
/* -- img -- */
.present_box .img_box{
flex:1;
padding:0;
box-sizing:border-box;
}
.present01 .img_box{background:url(../img/present01_img_bg.png) no-repeat top right;background-size:cover;}
.present02 .img_box{background:url(../img/present02_img_bg.png) no-repeat top center;background-size:cover;}
.present03 .img_box{background:url(../img/present03_img_bg.png) no-repeat top center;background-size:cover;}
.present04 .img_box{background:url(../img/present04_img_bg.png) no-repeat top center;background-size:cover;}
.present05 .img_box{background:url(../img/present05_img_bg.png) no-repeat top center;background-size:cover;}
.present06 .img_box{background:url(../img/present06_img_bg.png) no-repeat top center;background-size:cover;}
.present07 .img_box{background:url(../img/present07_img_bg.png) no-repeat top center;background-size:cover;}
.present08 .img_box{background:url(../img/present08_img_bg.png) no-repeat top center;background-size:cover;}
.present_box .img_box img{
display:none;
width:100%;
margin:0;
padding:0;
}
@media only screen and (max-width:750px){
#present{
background:#b00f14 url(../img/present_bg_sp.png) no-repeat top center;
background-size:100% auto;
}
.present_wrapper{padding:0 4%;}
.present_box{
-ms-flex-direction:column-reverse;flex-direction:column-reverse;
-ms-flex-align:start;align-items:flex-start;
margin:0 auto 30px auto;
}
#present .text_box{
width:100%;
min-width:240px;
height:auto;
margin:0;
padding:0;
box-sizing:border-box;
}
/* -- title -- */
.present_title{
margin:0 auto 30px auto;
padding:0;
font-size:18px;
line-height:20px;
text-align:center;
overflow:hidden;
}
.present_title img{
max-width:690px;
margin:0 auto;
padding:0;
}
.present_title .number{
margin:0 auto 30px 0;
padding:12px 30px;
height:40px;
font-size:14px;
line-height:16px;
text-align:center;
transform:translateX(0) translateY(-100%);
}
.present_title .number img{height:16px;margin:0 auto;}
.present_box.scrollin .present_title .number{transform:translateX(0) translateY(0);}
/* -- text -- */
.present_box .text{width:100%;padding:30px 4%;}
/* -- img -- */
.present_box .img_box{width:100%;padding:0;}
.present01 .img_box{background:none;}
.present02 .img_box{background:none;}
.present03 .img_box{background:none;}
.present04 .img_box{background:none;}
.present05 .img_box{background:none;}
.present06 .img_box{background:none;}
.present07 .img_box{background:none;}
.present08 .img_box{background:none;}
.present_box .img_box img{display:block;}
}

/* ----------------------- CSS Information 
 Style Info: HISTORY
--------------------------------------- */
#history{
background:#ffffff url(../img/history_bg_pc.png) no-repeat center right fixed;
background-size:cover;
}
@media only screen and (max-width:768px){
#history{
background:#ffffff url(../img/history_bg_sp.png) no-repeat center top;
background-size:100% auto;
}
}
@media only screen and (max-width:750px){
#history .text p.text_center{text-align:justify;}
}

/* ----------------------- CSS Information 
 Style Info: ORIGIN
--------------------------------------- */
#origin{
background:#ffffff url(../img/origin_bg_pc.png) no-repeat center top fixed;
background-size:cover;
}
@media only screen and (max-width:768px){
#origin{
background:#ffffff url(../img/origin_bg_sp.png) no-repeat center top;
background-size:100% auto;
}
}

/* ----------------------- CSS Information 
 Style Info: FUTURE
--------------------------------------- */
#future{background:#eeeeee url(../img/bg01.png) repeat center top;}
.future_box{
width:100%;
max-width:1000px;
margin:0 auto 30px auto;
padding:0 30px;
box-sizing:border-box;
}
#future .future_box:last-child{margin:0 auto;}
.future_img{
display:block;
width:100%;
margin:0 auto;
padding:0;
background-repeat:no-repeat;
background-position:center;
background-size:cover;
}
.future01 .future_img{background-image:url(../img/future01_img.png);}
.future02 .future_img{background-image:url(../img/future02_img.png);}
.future03 .future_img{background-image:url(../img/future03_img.png);}
.future04 .future_img{background-image:url(../img/future04_img.png);}
.future05 .future_img{background-image:url(../img/future05_img.png);}
.future06 .future_img{background-image:url(../img/future06_img.png);}
.future07 .future_img{background-image:url(../img/future07_img.png);}
.future08 .future_img{background-image:url(../img/future08_img.png);}
.future_text{width:100%;overflow:hidden;}
.future_text img{width:100%;}
.future_box:nth-child(even) .future_text img{transform:translateX(-100%);transition:all 0.3s linear 0s;}
.future_box:nth-child(odd) .future_text img{transform:translateX(100%);transition:all 0.3s linear 0s;}
.future_box.scrollin:nth-child(even) .future_text img{transform:translateX(0);}
.future_box.scrollin:nth-child(odd) .future_text img{transform:translateX(0);}
@media only screen and (max-width:750px){
#future{}
.future_box{margin:0 auto 20px auto;padding:0 4%;}
}

/* ----------------------- CSS Information 
 Style Info: PRICE
--------------------------------------- */
#price{background:#ffffff;}

/* ----------------------- CSS Information 
 Style Info: FAQ
--------------------------------------- */
#faq{background:#ffffff;}
#faq .faq_box{
width:100%;
max-width:1000px;
margin:0 auto;
padding:0 30px;
box-sizing:border-box;
}
#faq input[type=checkbox]{display:none;}
#faq label{
display:block;
width:100%;
max-width:900px;
margin:0 auto;
padding:20px 20px 20px 70px;
font-size:17px;
line-height:30px;
text-align:justify;
color:#333333;
border-radius:10px;
cursor:pointer;
text-transform:uppercase;
box-sizing:border-box;
background-color:#f2f2f2;
background-image:url(../img/faq_q.png);
background-size:30px 30px;
background-repeat:no-repeat;
background-position:20px 20px;
}
#faq label:hover{background-color:#f5e2e2;}
#faq input[type=checkbox]:checked + label{background-color:#f5e2e2;border-radius:10px 10px 0 0;}
.faq_answer{
position:relative;
margin:0 auto 30px auto;
padding:0 20px 0 70px;
width:100%;
max-width:900px;
height:0;
font-size:17px;
line-height:30px;
text-align:justify;
transition:1s;
box-sizing:border-box;
background-color:#f9eced;
background-image:url(../img/faq_a.png);
background-size:30px 30px;
background-repeat:no-repeat;
background-position:20px 20px;
border-radius:0 0 10px 10px;
overflow:hidden;
opacity:0;
}
.faq_answer p{margin:0;padding:0;}
.faq_answer:last-child{margin:0 auto 0 auto;}
#faq input[type=checkbox]:checked + label + .faq_answer{
padding:20px 20px 20px 70px;
height:auto;
opacity:1;
}
@media only screen and (max-width:750px){
#faq{}
#faq .faq_box{padding:0 4%;}
#faq label{
padding:10px 10px 10px 40px;
font-size:14px;
line-height:20px;
border-radius:6px;
background-size:20px 20px;
background-position:10px 10px;
}
#faq input[type=checkbox]:checked + label{border-radius:6px 6px 0 0;}
.faq_answer{
margin:0 auto 15px auto;
padding:0 10px 0 40px;
font-size:14px;
line-height:24px;
background-size:20px 20px;
background-position:10px 10px;
border-radius:0 0 6px 6px;
}
.faq_answer br{display:none;}
#faq input[type=checkbox]:checked + label + .faq_answer{padding:8px 10px 8px 40px;}
}

/* ----------------------- CSS Information 
 Style Info: BTN
--------------------------------------- */
.btn{
width:100%;
margin:0 auto;
padding:0 30px;
box-sizing:border-box;
}
#intro + .btn{padding:40px 30px 120px 30px;}
#step + .btn{padding:0 30px 120px 30px;}
#price .btn{padding:60px 30px 0 30px;}
.btn_wrapper{
position:relative;
width:100%;
max-width:600px;
margin:0 auto;
padding:0;
background:#ffffff;
overflow:hidden;
border-radius:8px;
box-shadow:2px 2px 4px 0px rgba(0,0,0,0.5);
box-sizing:border-box;
}
.btn_wrapper.btn02{margin:0 auto 20px auto;}
.btn_wrapper img{width:100%;}
.btn_wrapper img:hover{opacity:0.5;}
@media only screen and (max-width:750px){
.btn{padding:0 4%;}
#intro + .btn{padding:20px 4% 40px 4%;}
#step + .btn{padding:0 4% 40px 4%;}
#price .btn{padding:30px 4% 0 4%;}
}

/* ----------------------- CSS Information 
 Style Info: CTA
--------------------------------------- */
#cta{
position:relative;
margin:0;
padding:80px 0 80px 0;
width:100%;
text-align:center;
background:#eeeeee url(../img/cta_bg_pc.png) no-repeat center top;
background-size:100% auto;
box-sizing:border-box;
}
.cta_img{width:100%;max-width:1000px;margin:0 auto 60px auto;padding:0 30px;box-sizing:border-box;}
@media only screen and (max-width:750px){
#cta{
padding:0 0 40px 0;
background:#eeeeee url(../img/cta_bg_sp.png) no-repeat center top;
background-size:100% auto;
box-sizing:border-box;
}
.cta_img{margin:0 auto;padding:0;}
}

/* ----------------------- CSS Information 
 Style Info: OUTLINE
--------------------------------------- */
.outline{
width:100%;
max-width:1000px;
margin:0 auto 40px auto;
padding:0 30px;
box-sizing:border-box;
}
.outline dl{
width:100%;
margin:0;
padding:30px;
font-size:16px;
line-height:30px;
text-align:justify;
color:#333333;
background:#ffffff;
box-sizing:border-box;
}
.outline dt{
position:relative;
display:flex;
align-items:center;
justify-content:center;
font-weight:bold;
}
.outline dt:after{
content:"";
flex-grow:1;
border-top:1px solid #b00f14;
margin:0 0 0 10px;
}
.outline dd{padding:0 0 20px 0;}
.outline dd:last-child{padding:0;}
.outline dd ol{margin:0;padding:0;counter-reset:li;}
.outline dd ol li{
position:relative;
margin:0;
padding-left:20px;
list-style:none;
}
.outline dd ol li:before{
position:absolute;
top:8px;
left:0;
width:16px;
height:16px;
font-size:14px;
line-height:16px;
font-weight:bold;
text-align:center;
color:#ffffff;
counter-increment:li;
content:counter(li);
background:#b00f14;
}
.outline dd ul{margin:0;padding:0;}
.outline dd ul li .item{
display:inline-block;
margin:0 5px 0 0;
width:90px;
height:16px;
font-size:14px;
line-height:16px;
text-align:center;
vertical-align:middle;
color:#ffffff;
background:#b00f14;
}
.payment_img{width:100%;max-width:900px;margin:10px auto 0 0;}
@media only screen and (max-width:750px){
.outline{margin:0 auto 20px auto;padding:0 4%;}
.outline dl{padding:20px 4%;font-size:14px;line-height:24px;}
.outline dt{}
.outline dt:after{}
.outline dd{}
.outline dd:last-child{}
.outline dd ol{}
.outline dd ol li{margin:0 0 5px 0;line-height:20px;}
.outline dd ol li:before{top:2px;font-size:12px;}
.outline dd ul{}
.outline dd ul li{margin:0 0 5px 0;line-height:20px;}
.outline dd ul li .item{
display:inline-block;
margin:0 5px 0 0;
width:80px;
height:16px;
font-size:12px;
}
.payment_img{max-width:690px;margin:10px auto 0 auto;}
}

/* ----------------------- CSS Information 
 Style Info: FOOTER
--------------------------------------- */
footer{
width:100%;
margin:0;
padding:40px 0;
color:#d1d1d1;
background:#1a1b1d;
}
#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 #b00f14;
}
#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:0 0 40px 0;}
#fnav li{display:block;border-right:0;margin:0 0 20px 0;}
.sp_no{display:none;}
}