@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:900;}
.ul{text-decoration:underline;}
.bg{background:linear-gradient(transparent 75%, #ffe164 0%);}
.big{font-size:24px;line-height:40px;}@media only screen and (max-width:768px){.big{font-size:17px;line-height:30px;}}
.small{font-size:13px;}
.red{color:#ea413e;}
.yellow{color:#ffda45;}
.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:#ffffff;
width:100%;
}

/* ----------------------- CSS Information 
 Style Info: 共通設定
--------------------------------------- */
.wrapper{
width:100%;
max-width:1000px;
margin:0 auto;
padding:0;
box-sizing:border-box;
}
/* -- title -- */
.title{
display:block;
width:100%;
margin:0 auto 80px auto;
padding:0;
box-sizing:border-box;
}
.title img{
width:100%;
max-width:1000px;
margin:0 auto;
padding:0;
}
/* -- text -- */
.text{
width:100%;
margin:0 auto;
padding:0 4%;
font-size:17px;
line-height:30px;
text-align:justify;
word-break:break-all;
box-sizing:border-box;
}
.text p{margin:0 0 30px 0;padding:0;}
.text p:last-child{margin:0;}
@media only screen and (max-width:750px){
.wrapper{}
/* -- title -- */
.title{margin:0 auto 50px auto;}
.title img{}
/* -- text -- */
.text{font-size:14px;line-height:24px;text-align:justify;}
.text p{margin:0 0 20px 0;}
.text p:last-child{margin:0;}
.text br{display:none;}
.text br.sp,.text br.all{display:block;}
}
/* -- ul -- */
ul{margin:0 0 30px 0;list-style:none;}
ul li{margin:0;padding:0;}
ul.ul_down{}
ul.ul_down li{
margin:0;
padding:0 0 0 30px;
font-weight:600;
background:url(../img/icon_down.png) no-repeat left 5px;
background-size:20px 20px;
}
ul.ul_check{}
ul.ul_check li{
margin:0;
padding:0 0 0 30px;
font-weight:600;
background:url(../img/icon_check.png) no-repeat left 5px;
background-size:20px 20px;
}
@media only screen and (max-width:750px){
/* -- ul -- */
ul{margin:0 0 20px 0;}
ul li{}
ul.ul_down{}
ul.ul_down li{padding:0 0 0 20px;background:url(../img/icon_down.png) no-repeat left 4px;background-size:16px 16px;}
ul.ul_check{}
ul.ul_check li{padding:0 0 0 20px;background:url(../img/icon_check.png) no-repeat left 4px;background-size:16px 16px;}
}

/* ----------------------- CSS Information 
 Style Info: NAV_HEADER
--------------------------------------- */
#nav_header{
display:flex;
justify-content:space-between;
align-items:center;
width:100%;
margin:0 auto;
padding:0;
background:#f6f6f6;
box-sizing:border-box;
}
#nav_header .wrapper{
display:flex;
justify-content:space-between;
align-items:center;
width:100%;
margin:0 auto;
padding:20px 10px;
box-sizing:border-box;
}
.nh_title{
font-size:16px;
line-height:20px;
font-weight:700;
text-align:left;
}
.nh_btn a{
display:block;
margin:0;
padding:7px 0 3px 0;
width:180px;
height:40px;
font-size:14px;
line-height:20px;
font-weight:bold;
color:#ffffff;
background:linear-gradient(180deg,#999999,#666666);
border:1px solid #666666;
border-radius:8px;
box-sizing:border-box;
}
.nh_btn a:hover{
color:#666666;
text-decoration:none;
background:#f6f6f6;
}
@media only screen and (max-width:750px){
#nav_header{}
#nav_header .wrapper{padding:10px;}
.nh_title{font-size:14px;}
.nh_btn a{
padding:3px 0 2px 0;
width:140px;
height:30px;
font-size:12px;
line-height:20px;
border-radius:6px;
}
.nh_btn a:hover{}
}

/* ----------------------- CSS Information 
 Style Info: HEADER
--------------------------------------- */
header{
position:relative;
width:100%;
margin:0;
padding:0;
}
.topbar{
position:relative;
width:100%;
margin:0 auto;
padding:0;
background:linear-gradient(90deg,#dc362d,#c21912);
}
.topbar img{
width:100%;
max-width:1000px;
margin:0 auto;
padding:0;
}
.header01{
position:relative;
width:100%;
margin:0 auto;
padding:0;
background:linear-gradient(180deg,#f6f6f6,#eeeeee);
}
.header01 img{
width:100%;
max-width:1000px;
margin:0 auto;
padding:0;
}
.header02{
position:relative;
width:100%;
margin:0 auto;
padding:0;
background:linear-gradient(180deg,#f6f6f6,#eeeeee);
}
.header02 img{
width:100%;
max-width:1000px;
margin:0 auto;
padding:0;
}

/* ----------------------- CSS Information 
 Style Info: TOOL
--------------------------------------- */
.tool{
position:relative;
width:100%;
max-width:750px;
margin:0 auto;
padding:0;
}
.tool img{
width:100%;
max-width:750px;
margin:0 auto;
padding:0;
}
.tool video{
position:absolute;
top:10%;
left:0;
right:0;
width:24%;
max-width:180px;
margin:0 auto auto auto;
}
.header_tool{
position:relative;
width:100%;
margin:0 auto;
padding:0;
background:linear-gradient(180deg,#eeeeee 0%,#eeeeee 80%,#f6f6f6 80%,#f6f6f6 100%);
}
.cta_tool{
position:relative;
width:100%;
margin:0 auto;
padding:0;
background:linear-gradient(180deg,#c21912 0%,#c21912 80%,#dc362d 80%,#dc362d 100%);
}

/* ----------------------- CSS Information 
 Style Info: CAUTION
--------------------------------------- */
#caution{
position:relative;
width:100%;
margin:0;
padding:0;
background:#4c4e51;
}
#caution img{
width:100%;
max-width:1000px;
margin:0 auto;
padding:0;
}

/* ----------------------- CSS Information 
 Style Info: SLIPIN
--------------------------------------- */
#slipin{
position:relative;
width:100%;
margin:0;
padding:0 0 60px 0;
background:#d1534d url(../img/slipin_bg_pc.png) no-repeat center;
background-size:cover;
}
.slipin_img{
width:100%;
max-width:1000px;
margin:0 auto;
padding:0;
}
#slipin .text{color:#ffffff;}
@media only screen and (max-width:750px){
#slipin{
padding:0 0 30px 0;
background:#d1534d url(../img/slipin_bg_sp.png) no-repeat center top;
background-size:100% auto;
}
}

/* ----------------------- CSS Information 
 Style Info: SECTION
--------------------------------------- */
.section{
position:relative;
width:100%;
margin:0;
padding:120px 0;
background:linear-gradient(180deg,#f6f6f6,#ffffff);
}
@media only screen and (max-width:750px){.section{padding:60px 0;}}
.section_img{
display:block;
float:right;
width:40%;
max-width:320px;
margin:0 0 20px 20px;
}
/* -- 01 -- */
.date_img{
display:block;
width:100%;
max-width:920px;
margin:50px auto;
padding:0;
}
@media only screen and (max-width:750px){.date_img{margin:40px auto;}}
/* -- 05 -- */
#section05{
width:100%;
margin:0 auto;
padding:0;
background:#c21912 url(../img/section05_bg_pc.png) no-repeat center;
background-size:cover;
}
#section05 img{
width:100%;
max-width:1000px;
margin:0 auto;
padding:0;
}
@media only screen and (max-width:750px){#section05{background:none;}}
/* -- 07 -- */
.nikkei_img{width:100%;margin:0 auto;}
/* -- balloon -- */
.balloon{
position:relative;
width:100%;
margin:0;
padding:0;
background:#4c4e51;
}
.balloon img{
width:100%;
max-width:1000px;
margin:0 auto;
padding:0;
}
.balloon:after{
content:"";
position:absolute;
top:100%;
left:50%;
margin:0 0 0 -20px;
border:20px solid transparent;
border-top:20px solid #4c4e51;
z-index:10;
}
@media only screen and (max-width:750px){
.balloon{}
.balloon img{}
.balloon:after{
margin:0 0 0 -15px;
border:15px solid transparent;
border-top:15px solid #4c4e51;
}
}

/* ----------------------- CSS Information 
 Style Info: VOICE
--------------------------------------- */
#voice{
padding:120px 0;
background:linear-gradient(90deg,#ff3f3d,#c21912);
}
.voice_wrapper{
width:100%;
max-width:1000px;
margin:0 auto;
padding:0 4%;
box-sizing:border-box;
}
.comment_box{
display:block;
width:100%;
margin:0 0 40px 0;
padding:0;
font-size:16px;
line-height:30px;
text-align:justify;
background:#ffffff;
border-radius:10px;
box-sizing:border-box;
}
#voice .comment_box:last-child{margin:0;}
.comment_info{
display:flex;
align-items:center;
width:100%;
margin:0;
padding:30px;
border-bottom:dotted 2px #eeeeee;
box-sizing:border-box;
}
.comment_img{
display:block;
width:80px;
height:80px;
margin:0;
padding:0 20px 0 0;
}
.comment_img img{display:block;width:100%;}
.comment_header{flex:1;padding:0;font-weight:700;}
.comment_header p{
margin:0;
padding:0;
font-size:20px;
line-height:30px;
text-align:left;
}
.comment_name{
display:block;
margin:5px 0 0 0;
padding:0;
font-size:14px;
line-height:20px;
}
.comment_text{
position:relative;
display:block;
width:100%;
margin:0;
padding:30px;
font-size:16px;
line-height:30px;
text-align:justify;
box-sizing:border-box;
}
.comment_text p{margin:0;padding:0 0 20px 0;}
.comment_text p.comment_date{margin:0;padding:10px 0 30px 0;}
.comment_text p.comment_date img{display:block;width:100%;margin:0 auto;padding:0;}
.more{
position:relative;
width:100%;
max-height:160px;
overflow:hidden;
transition:1s;
}
.more:before {/*グラデーション部分*/
content:"";
position:absolute;
width:100%;
height:50%;
bottom:0;
background:linear-gradient(rgba(255,255,255,0.5), #ffffff);
transition: 1s;
}
.comment_textbox input{display:none;}
.comment_textbox label{/*ボタン部分のスタイル*/
display:block;
position:absolute;
width:180px;
height:40px;
margin:0 auto;
padding:8px 0 0 0;
bottom:40px;
left:0;
right:0;
font-size:14px;
line-height:20px;
text-align:center;
color:#ffffff;
background:#cba952;
border:solid 1px #cba952;
border-radius:6px;
cursor:pointer;
text-transform:uppercase;
z-index:999;
box-sizing:border-box;
}
.comment_textbox label:hover{color:#cba952;background:#ffffff;}
.comment_textbox label:before{content:"続きを読む";}
.comment_textbox input:checked + label{display:none;}
input[type=checkbox]:checked ~ .more{max-height:100%;}
input[type=checkbox]:checked ~ .more:before{opacity:0;}
.voice_attention{margin:-30px 0 0 0;padding:0;color:#ffffff;text-align:right;font-size:12px;line-height:20px;}
@media only screen and (max-width:750px){
#voice{padding:60px 0;}
.voice_wrapper{}
.comment_box{margin:0 0 20px 0;font-size:14px;line-height:24px;}
#voice .comment_box:last-child{}
.comment_info{
align-items:flex-start;
padding:20px 4%;
}
.comment_img{width:60px;height:60px;padding:0 10px 0 0;}
.comment_img img{display:block;width:100%;}
.comment_header{flex:1;padding:0;font-weight:700;}
.comment_header p{font-size:16px;line-height:24px;}
.comment_name{font-size:14px;line-height:20px;}
.comment_text{padding:20px 4%;font-size:14px;line-height:24px;}
.comment_text p{}
.comment_text p:last-child{}
.more{}
.more:before{}
.comment_textbox input{}
.comment_textbox label{bottom:20px;}
.comment_textbox label:hover{}
.comment_textbox label:before{}
.comment_textbox input:checked + label{}
input[type=checkbox]:checked ~ .more{}
input[type=checkbox]:checked ~ .more:before{}
.voice_attention{margin:-10px 0 0 0;font-size:10px;line-height:20px;}
}

/* ----------------------- CSS Information 
 Style Info: CTA
--------------------------------------- */
.cta{
position:relative;
width:100%;
margin:0;
padding:0 0 80px 0;
background:#dc362d;
box-sizing:border-box;
}
.cta_title{
position:relative;
width:100%;
margin:0 auto;
padding:0;
background:linear-gradient(180deg,#dc362d,#c21912);
}
.cta_title img{
width:100%;
max-width:1000px;
margin:0 auto;
padding:0;
}
.cta_price{
position:relative;
width:100%;
margin:0 auto;
padding:0;
background:#dc362d;
}
.cta_price img{
width:100%;
max-width:1000px;
margin:0 auto;
padding:0;
}
@media only screen and (max-width:750px){
.cta{padding:0 0 40px 0;}
}

/* ----------------------- CSS Information 
 Style Info: OUTLINE
--------------------------------------- */
.outline{
margin:0 auto 40px auto;
padding:0 4%;
box-sizing:border-box;
}
.outline dl{
width:100%;
margin:0;
padding:0;
font-size:16px;
line-height:30px;
text-align:justify;
color:#ffffff;
box-sizing:border-box;
}
.outline dt{
position:relative;
display:flex;
align-items:center;
justify-content:center;
font-weight:700;
}
.outline dt:after{
content:"";
flex-grow:1;
border-top:1px solid #ff9b9b;
margin:0 0 0 10px;
}
.outline dd{padding:0 0 20px 0;}
.outline dd:last-child{padding:0;}
.outline dd ul{margin:0;padding:0;}
.outline dd ul li{
position:relative;
margin:0;
list-style:none;
}
.payment_img{width:100%;max-width:920px;margin:10px auto 0 0;}
@media only screen and (max-width:750px){
.outline{margin:0 auto 20px auto;}
.outline dl{font-size:14px;line-height:24px;}
.outline dt{}
.outline dt:after{}
.outline dd{}
.outline dd:last-child{}
.outline dd ul{}
.outline dd ul li{margin:0 0 5px 0;line-height:20px;}
.payment_img{max-width:690px;margin:10px auto 0 auto;}
}

/* ----------------------- CSS Information 
 Style Info: BTN
--------------------------------------- */
.btn{
width:100%;
margin:0 auto;
padding:0 30px;
box-sizing:border-box;
}
.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 img{width:100%;}
.btn_wrapper img:hover{opacity:0.5;}
@media only screen and (max-width:750px){
.btn{padding:0 4%;}
}
/* ----------------------- CSS Information 
 Style Info: NOTICE
--------------------------------------- */
.notice{
z-index:10;
position:relative;
width:100%;
margin:40px auto 0 auto;
padding:0 4%;
box-sizing:border-box;
}
.notice dl{
position:relative;
width:100%;
height:100px;
margin:0x;
padding:20px;
border:1px solid #d1d1d1;
overflow-y:scroll;
font-size:14px;
line-height:20px;
color:#ffffff;
text-align:justify;
background:#c21912;
box-sizing:border-box;
}
.notice dt{
margin:0;
padding:0 0 0 7px;
font-weight:bold;
border-left:3px solid #ff9b9b;
}
.notice dd{padding:10px 0 20px 10px;}
.notice dd:last-child{padding:10px 0 0 10px;}
@media only screen and (max-width:750px){
.notice{margin:20px auto 0 auto;}
.notice dl{font-size:12px;line-height:20px;}
.notice dt{}
.notice dd{}
.notice dd:last-child{}
}

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

/* ----------------------- CSS Information 
 Style Info: FOOTER
--------------------------------------- */
footer{
width:100%;
margin:0;
padding:40px 0;
color:#999999;
background:#1a1a1a;
}
#contact{
position:relative;
width:100%;
margin:0 0 40px 0;
padding:0 4%;
box-sizing:border-box;
}
.contact_title{
position:relative;
display:flex;
align-items:center;
justify-content:center;
width:100%;
margin:0;
padding:0;
font-size:20px;
line-height:30px;
color:#ffffff;
}
.contact_title:before,.contact_title:after{
flex-grow:1;
content:"";
height:1px;
background:#cccccc;
}
.contact_title:before{margin-right:10px;}
.contact_title:after{margin-left:10px;}
.contact_text{
margin:20px 0 0 0;
text-align:center;
font-size:14px;
line-height:30px;
color:#ffffff;
}
.contact_tel{
display:inline-block;
margin:0 10px 0 0;
padding:0 5px;
font-size:16px;
line-height:20px;
font-weight:700;
color:#1a1a1a;
background:#eeeeee;
}
.contact_mail{
display:block;
margin:20px auto 0 auto;
padding:5px;
width:300px;
height:40px;
font-size:16px;
line-height:26px;
font-weight:bold;
color:#1a1a1a;
background:#eeeeee;
border:2px solid #eeeeee;
border-radius:20px;
box-sizing:border-box;
}
.contact_mail:hover{
color:#eeeeee;
text-decoration:none;
background:#1a1a1a;
}
.footer_attention{
width:100%;
max-width:1000px;
margin:0 auto 40px auto;
padding:0 4%;
font-size:14px;
line-height:20px;
box-sizing:border-box;
}
.footer_attention dt{
display:flex;
align-items:center;
justify-content:center;
margin:0 0 10px 0;
font-weight:700;
text-align:left;
}
.footer_attention dt:after{
content:"";
flex:1;
margin:0 0 0 5px;
height:1px;
background:#333333;
}
.footer_attention dd{text-align:justify;}
#nav_footer a{color:#999999;text-decoration:none;}
#nav_footer a:hover{color:#999999;text-decoration:underline;}
#nav_footer{margin:0 0 20px 0;}
#nav_footer ul{list-style-type:none;}
#nav_footer li{
font-size:14px;
line-height:20px;
display:inline-block;
padding:0 20px;
border-right:1px solid #333333;
}
#nav_footer 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){
footer{}
#contact{}
.contact_title{font-size:16px;line-height:20px;}
.contact_text{
margin:20px 0 0 0;
text-align:center;
font-size:14px;
line-height:24px;
color:#ffffff;
}
.contact_tel{
display:inline-block;
margin:0 10px 0 0;
padding:0 5px;
font-size:16px;
line-height:20px;
font-weight:700;
color:#1a1a1a;
background:#eeeeee;
}
.contact_mail{
display:block;
margin:20px auto 0 auto;
padding:5px;
width:300px;
height:40px;
font-size:16px;
line-height:26px;
font-weight:bold;
color:#1a1a1a;
background:#eeeeee;
border:2px solid #eeeeee;
border-radius:20px;
box-sizing:border-box;
}
.contact_mail:hover{
color:#eeeeee;
text-decoration:none;
background:#1a1a1a;
}
.footer_attention{font-size:12px;}
.footer_attention dt{margin:0 0 5px 0;}
.footer_attention dd{}
#nav_footer{margin:0 0 40px 0;}
#nav_footer li{display:block;border-right:0;margin:0 0 20px 0;font-size:12px;}
address{font-size:12px;}
.sp_no{display:none;}
}