@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');

/* ------------------------------------------- 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{text-decoration:underline;color:#666666;}
a:hover{text-decoration:underline;color:#999999;}
/*font*/
.b{font-weight:bold;}
.ul{text-decoration:underline;}
.bg{background:linear-gradient(transparent 70%, #f9e427 0%)}
.big{font-size:24px;}@media only screen and (max-width:750px){.big{font-size:18px;}}
.small{font-size:12px;line-height:20px;}
.red{color:#b7282e;}
.text_center{text-align:center;}
.text_right{text-align:right;}
.pc{display:block !important;}
.sp{display:none !important;}
@media only screen and (max-width:750px){
.pc{display:none !important;}
.sp{display:block !important;}
}

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

/* ----------------------- CSS Information 
 Style Info: INTRO
--------------------------------------- */
.intro{
position:relative;
width:100%;
margin:0;
padding:0;
box-sizing:border-box;
background:#f6ea95 url(../img/bg_gold.png) no-repeat center top;
background-size:cover;
}
.intro img{display:block;width:100%;max-width:750px;margin:0 auto;padding:0;}

/* ----------------------- CSS Information 
 Style Info: HEADER
--------------------------------------- */
header{
position:relative;
width:100%;
margin:0;
padding:0 0 40px 0;
box-sizing:border-box;
background:#000000 url(../img/bg_main_pc.png) no-repeat center top;
background-size:cover;
}
.header_img{width:100%;max-width:1000px;margin:0 auto;padding:0;}
.header_img img{width:100%;}
@media only screen and (max-width:750px){
header{
padding:0;
background:#000000 url(../img/bg_main_sp.png) no-repeat center top;
background-size:100% auto;
}
}

/* ----------------------- CSS Information 
 Style Info: OPT
--------------------------------------- */
.opt{
position:relative;
width:100%;
margin:0;
padding:0 0 40px 0;
box-sizing:border-box;
background:#000000 url(../img/bg_main_pc.png) no-repeat center top;
background-size:cover;
}
.opt_img{width:100%;max-width:1000px;margin:0 auto;padding:0;}

@media only screen and (max-width:750px){
.opt{
padding:0;
background:#000000 url(../img/bg_main_sp.png) no-repeat center top;
background-size:100% auto;
}
}

/* ----------------------- CSS Information 
 Style Info: FORM
--------------------------------------- */
.form{
width:100%;
max-width:750px;
margin:0 auto 0 auto;
padding:0 0 40px 0;
text-align:center;
background:rgba(0,0,0,0.5);
box-sizing:border-box;
}
.form_img{
display:block;
width:100%;
max-width:750px;
margin:0 auto;
padding:0;
}
.iframe_cdt{
width:100%;
height:100px;
border:none;
}
.form form{
width:100%;
margin:20px auto;
padding:0 4%;
box-sizing:border-box;
}
.form form input[type=text]{
font-family:'Noto Sans JP',"メイリオ","ヒラギノ角ゴ Pro W3",Sans-Serif;
font-size:20px;
line-height:30px;
width:100%;
height:90px;
margin:0 0 20px 0;
padding:30px;
color:#333333;
text-align:center;
font-weight:700;
background:#f6f6f5;
border:1px solid #333333;
box-sizing:border-box;
}
.form form p{
width:100%;
margin:0;
padding:0;
border-radius:10px;
box-shadow:2px 2px 4px 0px rgba(0,0,0,0.5);
overflow:hidden;
background:#ffffff;
}
.form form input[type=image]{
position:relative;
width:100%;
margin:0;
}
.form form input[type=image]:hover{opacity:0.5;}
.form_attention{
width:100%;
margin:20px 0 0 0;
padding:0 4%;
font-size:12px;
line-height:20px;
color:#999999;
text-align:justify;
box-sizing:border-box;
}
.form_attention dt{
display:flex;
justify-content:center;
align-items:center;
}
.form_attention dt:after{
content:"";
flex:1;
height:1px;
background:#999999;
margin:0 0 0 10px;
}
@media only screen and (max-width:750px){
.form{}
.form_img{}
.iframe_cdt{height:70px;}
.form form{}
.form form input[type=text]{font-size:16px;line-height:20px;height:60px;margin:0 0 10px 0;padding:20px;}
.form form p{border-radius:8px;}
.form form input[type=image]{}
.form form input[type=image]:hover{}
}
@media only screen and (max-width:749px){
.iframe_cdt{height:70px;}
}

/* ----------------------- CSS Information 
 Style Info: 共通設定
--------------------------------------- */
.section{
position:relative;
width:100%;
margin:0;
padding:120px 0 120px 0;
}
.section_wrapper{
width:100%;
max-width:1000px;
margin:0 auto;
box-sizing:border-box;
}
.section_box{
position:relative;
width:100%;
margin:0 auto;
padding:0 4%;
box-sizing:border-box;
}
.section_img{
display:block;
width:100%;
margin:40px auto;
padding:10px 10px 0 10px;
background:#ffffff;
box-sizing:border-box;
}
.section_img img{
display:block;
width:100%;
max-width:670px;
margin:0 auto;
}
.section_img cite{
display:block;
text-align:right;
font-size:10px;
line-height:20px;
color:#999999;
}
@media only screen and (max-width:750px){
.section{padding:40px 0 40px 0;}
.section_wrapper{}
.section_box{}
}

/* ----------------------- CSS Information 
 Style Info: TEXT
--------------------------------------- */
.text{
padding:0;
font-size:18px;
line-height:40px;
text-align:left;
box-sizing:border-box;
}
.text p{margin:0 0 30px 0;padding:0;}
.text p:last-child{margin:0;}
.text ul{margin:0 0 30px 0;}
.text ul li{}
.text ol{margin:0 0 30px 0;}
@media only screen and (max-width:750px){
.text{font-size:15px;line-height:25px;text-align:justify;}
.text p{margin:0 0 20px 0;}
.text p:last-child{margin:0;}
.text ul{margin:0 0 20px 0;}
.text ul li{}
.text ol{margin:0 0 20px 0;}
.text ol li{}
/* -- br -- */
.text br{display:none;}
.text br.sp{display:block;}
.text br.all{display:block;}
.text.br_all br{display:block;}
}
/* -- img -- */
.imgbox{display:block;width:100%;margin:40px auto;}
.imgbox img{width:100%;max-width:920px;margin:0 auto;padding:0;}
@media only screen and (max-width:750px){
.imgbox{margin:30px auto;}
.imgbox img{max-width:690px;}
}

/* ----------------------- CSS Information 
 Style Info: TITLE
--------------------------------------- */
.title{
position:relative;
display:block;
width:100%;
margin:0 auto 80px auto;
padding:0;
box-sizing:border-box;
}
.title_hr{margin:0 auto 60px auto;}
.title_hr:after{
content:"";
position:relative;
display:block;
width:20%;
height:8px;
margin:40px auto;
padding:0;
background:#cba952;
border-radius:4px;
}
.title_gold{
margin:0 auto 0 auto;
padding:0 0 30px 0;
background:#f6ea95 url(../img/bg_gold.png) no-repeat center top;
background-size:cover;
}
.title_left{
display:block;
position:absolute;
bottom:0;
left:0;
width:-webkit-calc(50% - 30px);
width:-moz-calc(50% - 30px);
width:calc(50% - 30px);
height:30px;
background:#ffffff;
}
.title_left:before{
position:absolute;
content:"";
bottom:0;
right:-30px;
width:0;
height:0;
border:none;
border-left:solid 30px #ffffff;
border-top:solid 30px transparent;
z-index:10;
}
.title_right{
display:block;
position:absolute;
bottom:0;
right:0;
width:-webkit-calc(50% - 30px);
width:-moz-calc(50% - 30px);
width:calc(50% - 30px);
height:30px;
background:#ffffff;
}
.title_right:before{
position:absolute;
content:"";
bottom:0;
left:-30px;
width:0;
height:0;
border:none;
border-right:solid 30px #ffffff;
border-top:solid 30px transparent;
z-index:10;
}
.title img{
display:block;
width:100%;
max-width:750px;
margin:0 auto;
padding:0;
box-sizing:border-box;
}

@media only screen and (max-width:750px){
.title{margin:0 auto 40px auto;}
.title_hr{margin:0 auto 40px auto;}
.title_hr:after{height:6px;margin:20px auto;border-radius:3px;}
.title_gold{padding:0 0 20px 0;}
.title_left{width:-webkit-calc(50% - 20px);width:-moz-calc(50% - 20px);width:calc(50% - 20px);height:20px;}
.title_left:before{right:-20px;border-left:solid 20px #ffffff;border-top:solid 20px transparent;}
.title_right{width:-webkit-calc(50% - 20px);width:-moz-calc(50% - 20px);width:calc(50% - 20px);height:20px;}
.title_right:before{left:-20px;border-right:solid 20px #ffffff;border-top:solid 20px transparent;}
}

/* ----------------------- CSS Information 
 Style Info: PRESENT01
--------------------------------------- */
#present01{background:#ffffff;padding:60px 0 120px 0;}
.present01_img{
display:block;
float:right;
width:33%;
margin:0;
}
@media only screen and (max-width:750px){
#present01{padding:0 0 60px 0;}
.present01_img{display:none;}
}

/* ----------------------- CSS Information 
 Style Info: PRESENT01
--------------------------------------- */
#present02{background:#ffffff;padding:60px 0 120px 0;}
#present02 .text{
text-align:center;
font-size:22px;
line-height:40px;
font-weight:900;
}
@media only screen and (max-width:750px){
#present02{padding:0 0 60px 0;}
#present02 .text{font-size:16px;line-height:30px;}
#present02 .text br{display:block !important;}
}

/* ----------------------- CSS Information 
 Style Info: VOICE
--------------------------------------- */
#voice{
padding:0 0 120px 0;
background:#222222 url(../img/bg_black.png) repeat center;
}
#voice .title{margin:0 auto;}
#voice .text{
margin:0;
padding:0;
text-align:center;
font-size:14px;
line-height:20px;
color:#999999;
}
.voice_img{
display:block;
width:100%;
max-width:690px;
margin:0 auto 20px auto;
padding:0;
box-sizing:border-box;
}
@media only screen and (max-width:750px){
#voice{padding:0 0 40px 0;}
#voice .text{font-size:12px;}
}

/* ----------------------- CSS Information 
 Style Info: RESULT
--------------------------------------- */
#result{padding:0;}
.result_index{
display:block;
width:100%;
max-width:750px;
margin:0 auto 0 auto;
padding:0;
box-sizing:border-box;
}
.result_img{
display:block;
width:100%;
max-width:690px;
margin:0 auto 20px auto;
padding:0;
box-sizing:border-box;
}

/* ----------------------- CSS Information 
 Style Info: POINT
--------------------------------------- */
.title_point{
margin:0 auto 0 auto;
padding:0;
background:#000000 url(../img/title_point_bg.png) no-repeat center top;
background-size:auto 100%;
}
#point{
background:#222222 url(../img/point_bg.png) repeat center;
}
.point_box{
width:100%;
max-width:1000px;
margin:0 auto 120px auto;
padding:0;
box-sizing:border-box;
}
.point_index{
display:block;
width:100%;
margin:0 auto;
padding:0 0 40px 0;
}
.point_index img{width:100%;max-width:1000px;margin:0 auto 0 0;}
#point .text{color:#ffffff;}
#point .text .bg{background:#c9171e;}
.point_img_pc{
display:block;
float:right;
width:30%;
margin:10px 0 0 30px;
}
.point_img_sp{display:none;}
@media only screen and (max-width:750px){
.title_point{}
#point{
background:#222222 url(../img/point_bg.png) repeat center;
background-size:100% auto;
}
.point_box{margin:0 auto 80px auto;}
.point_index{padding:0;}
.point_img_pc{display:none;}
.point_img_sp{
display:block;
width:100%;
margin:40px auto;
padding:0;
}
}

/* ----------------------- CSS Information 
 Style Info: CHARM
--------------------------------------- */
#charm{
padding:0;
background:#000000 url(../img/bg_main_pc.png) no-repeat center top;
background-size:cover;
}
.charm_img{width:100%;max-width:750px;margin:0 auto;padding:0;}
@media only screen and (max-width:750px){
#charm{
background:#000000 url(../img/bg_main_sp.png) no-repeat center top;
background-size:100% auto;
}
}

/* ----------------------- CSS Information 
 Style Info: CHECK
--------------------------------------- */
#check{background:#f3f3f3;}
.list_check{
display:block;
width:100%;
max-width:690px;
margin:0 auto 40px auto;
padding:30px;
background:rgba(255,255,255,0.8);
box-sizing:border-box;
box-shadow:0px 10px 10px -6px rgba(0, 0, 0, 0.3);
}
.list_check li{
position:relative;
margin:0 0 10px 0;
padding:0 0 10px 50px;
font-size:20px;
line-height:30px;
font-weight:700;
color:#000000;
text-align:left;
border-bottom:1px dashed #cccccc;
box-sizing:border-box;
}
.list_check li:last-child{margin:0;padding:0 0 0 50px;border-bottom:none;}
.list_check li:before{
content:"";
position:absolute;
top:1px;
left:9px;
-webkit-transform:rotate(50deg);
-ms-transform:rotate(50deg);
transform:rotate(50deg);
width:8px;
height:16px;
border-right:5px solid #b22234;
border-bottom:5px solid #b22234;
z-index:10;
}
.list_check li:after{
content:"";
position:absolute;
top:0;
left:0;
width:30px;
height:30px;
background:#ffffff;
border:2px solid #666666;
border-radius:2px;
box-sizing:border-box;
}
.check_img{width:100%;max-width:750px;margin:0 auto;padding:0;}
@media only screen and (max-width:750px){
#check{}
.list_check{padding:15px;}
.list_check li{margin:0 0 10px 0;padding:0 0 10px 20px;font-size:14px;line-height:20px;}
.list_check li:last-child{margin:0;padding:0 0 0 20px;border-bottom:none;}
.list_check li:before{top:2px;left:4px;width:5px;height:10px;border-right:3px solid #b22234;border-bottom:3px solid #b22234;}
.list_check li:after{top:3px;width:16px;height:16px;border:1px solid #666666;}
.check_img{}
}

/* ----------------------- CSS Information 
 Style Info: STEP
--------------------------------------- */
#step{padding:0;}
.step_img{
display:block;
width:100%;
max-width:750px;
margin:0 auto;
}

/* ----------------------- CSS Information 
 Style Info: SECTION_INTRO
--------------------------------------- */
#section_intro{
position:relative;
display:block;
width:100%;
margin:0 auto 0 auto;
padding:0 0 30px 0;
background:#666666 url(../img/bg_gray.png) no-repeat center top;
background-size:auto 100%;
box-sizing:border-box;
}
#section_intro img{
display:block;
width:100%;
max-width:750px;
margin:0 auto;
padding:0;
}
@media only screen and (max-width:750px){
#section_intro{padding:0 0 20px 0;}
}

/* ----------------------- CSS Information 
 Style Info: SECTION01
--------------------------------------- */
#section01{background:#ffffff;}
#section01 .section_box{max-width:750px;}
.bullet_img{
display:block;
width:100%;
max-width:690px;
margin:40px auto;
}

/* ----------------------- CSS Information 
 Style Info: SECTION02
--------------------------------------- */
#section02{padding:0 0 120px 0;background:#ffffff;}
#section02 .section_box{max-width:750px;}
.tomo_img{
display:block;
width:100%;
max-width:690px;
margin:40px auto;
}
@media only screen and (max-width:750px){
#section02{padding:0 0 60px 0;}
}

/* ----------------------- CSS Information 
 Style Info: SECTION03
--------------------------------------- */
#section03{padding:0 0 120px 0;background:#ffffff;}
#section03 .section_box{max-width:750px;}
.list_section03{margin:40 auto 40px auto;}
.list_section03 li{
position:relative;
margin:0;
padding:0 0 0 30px;
font-weight:700;
}
.list_section03 li:before{
content:"";
position:absolute;
top:11px;
left:5px;
-webkit-transform:rotate(50deg);
-ms-transform:rotate(50deg);
transform:rotate(50deg);
width:6px;
height:12px;
border-right:4px solid #b22234;
border-bottom:4px solid #b22234;
z-index:10;
}
.list_section03 li:after{
content:"";
position:absolute;
top:11px;
left:0;
width:20px;
height:20px;
background:#ffffff;
border:1px solid #666666;
box-sizing:border-box;
}
@media only screen and (max-width:750px){
#section03{padding:0 0 60px 0;}
.list_section03{}
.list_section03 li{padding:0 0 0 20px;}
.list_section03 li:before{top:4px;left:4px;width:5px;height:10px;border-right:3px solid #b22234;border-bottom:3px solid #b22234;}
.list_section03 li:after{top:4px;width:16px;height:16px;}
}

/* ----------------------- CSS Information 
 Style Info: SECTION04
--------------------------------------- */
#section04{padding:0 0 120px 0;background:#ffffff;}
#section04 .section_box{max-width:750px;}
@media only screen and (max-width:750px){
#section04{padding:0 0 40px 0;}
}

/* ----------------------- CSS Information 
 Style Info: MESSAGE
--------------------------------------- */
#message{
background:#f6f6f5 url(../img/message_bg_pc.png) no-repeat center top;
}
#message .title img{
max-width:690px;
margin:0 auto 0 0;
}
@media only screen and (max-width:750px){
#message{
background:#f6f6f5 url(../img/message_bg_sp.png) no-repeat center top;
background-size:100% auto;
}
}

/* ----------------------- CSS Information 
 Style Info: PROFILE
--------------------------------------- */
#profile{
padding:0 0 120px 0;
background:#222222 url(../img/bg_black.png) repeat center;
}
#profile .title{
margin:0;
}
#profile .text{
color:#ffffff;
text-align:center;
font-weight:900;
}
#profile .text .red{color:#ffec47;}
.profile_img{
display:block;
width:100%;
max-width:690px;
margin:40px auto;
}
@media only screen and (max-width:750px){
#profile{padding:0 0 40px 0;}
#profile .title{margin:0;}
#profile .text{text-align:justify;}
}

/* ----------------------- CSS Information 
 Style Info: FAQ
--------------------------------------- */
#faq{background:#ffffff;}
#faq input[type=checkbox]{display:none;}
#faq label{
position:relative;
display:block;
width:100%;
max-width:920px;
margin:0 auto;
padding:20px 40px 20px 70px;
font-size:18px;
line-height:30px;
text-align:justify;
font-weight:700;
color:#333333;
border-radius:10px;
cursor:pointer;
text-transform:uppercase;
box-sizing:border-box;
background-color:#efeff7;
background-image:url(../img/faq_q.png);
background-size:30px 30px;
background-repeat:no-repeat;
background-position:20px 20px;
}
#faq label:after{
content:"＋";
position:absolute;
display:block;
top:50%;
margin-top:-10px;
right:10px;
width:20px;
height:20px;
font-size:18px;
line-height:19px;
color:#6864c2;
}
#faq input[type=checkbox]:checked + label:after{content:"－";}
#faq label:hover{background-color:#f6f6f5;}
#faq input[type=checkbox]:checked + label{background-color:#efeff7;border-radius:10px 10px 0 0;}
.faq_answer{
position:relative;
margin:0 auto 30px auto;
padding:0 20px 0 70px;
width:100%;
max-width:920px;
height:0;
font-size:16px;
line-height:30px;
text-align:justify;
transition:1s;
box-sizing:border-box;
background-color:#f6f6f5;
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 label{
padding:10px 26px 10px 40px;
font-size:14px;
line-height:20px;
border-radius:6px;
background-size:20px 20px;
background-position:10px 10px;
}
#faq label:after{
margin-top:-8px;
right:5px;
width:16px;
height:16px;
font-size:16px;
line-height:16px;
}
#faq input[type=checkbox]:checked + label:after{}
#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 20px 40px;}
}

/* ----------------------- CSS Information 
 Style Info: FOOTER
--------------------------------------- */
footer{
margin:0;
padding:40px 0 40px 0;
width:100%;
color:#eeeeee;
background:#090909;
}
footer a{color:#eeeeee;text-decoration:none;}
footer a:hover{color:#eeeeee;text-decoration:underline;}
#nav_footer{
display:block;
width:100%;
max-width:750px;
margin:0 auto;
}
#nav_footer ul{
display:flex;
flex-direction:row;
flex-wrap:nowrap;
justify-content:center;
align-items:flex-start;
width:100%;
text-align:center;
list-style-type:none;
}
#nav_footer ul li{
display:block;
font-size:12px;
line-height:20px;
margin:0;
padding:0 20px;
border-right:1px solid #b8860b;
}
#nav_footer ul li:last-child{border-right:none;}
footer small{
display:block;
margin:20px 0 0 0;
padding:0;
text-align:center;
font-size:12px;
line-height:20px;
}
@media only screen and (max-width:750px){
footer{}
#nav_footer{}
#nav_footer ul{flex-direction:column;}
#nav_footer ul li{width:100%;margin:0 0 20px 0;padding:0;border-right:none;}
#nav_footer ul li:last-child{border-right:none;}
footer small{margin:0;}
.sp_no{display:none;}
}