@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;500;600;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{text-decoration:underline;color:#333333;}
a:hover{text-decoration:underline;color:#666666;}
/*font*/
.b{font-weight:900;}
.ul{text-decoration:underline;}
.bg{background:linear-gradient(transparent 70%, #fff799 0%)}
.big{font-size:22px;line-height:36px;}@media only screen and (max-width:768px){.big{font-size:16px;line-height:24px;}}
.small{font-size:14px;line-height:20px;}
.red{color:#d0102c;}
.yellow{color:#fabe00;}
.text_center{text-align:center !important;}
.text_right{text-align:right;}
.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',"メイリオ","ヒラギノ角ゴ Pro W3",Sans-Serif;
color:#333333;
font-size:18px;
line-height:0;
text-align:center;
letter-spacing:0em;
background:#ffffff;
width:100%;
height:100%;
word-break:break-all;
word-wrap:break-word;
}

/* ----------------------- CSS Information 
 Style Info: TOPBAR
--------------------------------------- */
#topbar{
width:100%;
margin:0;
padding:20px;
font-size:24px;
line-height:40px;
font-weight:900;
color:#e0e0e0;
background:#d0102c;
box-sizing:border-box;
}
@media only screen and (max-width:750px){
#topbar{padding:4vw 4%;font-size:16px;line-height:24px;}
}

/* ----------------------- CSS Information 
 Style Info: HEADER
--------------------------------------- */
header{
position:relative;
width:100%;
margin:0;
padding:0;
text-align:center;
background:#e0e0e0;
box-sizing:border-box;
z-index:10;
}
.header_copy{
width:100%;
max-width:2000px;
margin:0 auto;
padding:0;
animation-name:header_copy;
animation-duration:0.5s;
animation-timing-function:linear;
animation-delay:2s;
animation-iteration-count:1;
animation-direction:normal;
animation-fill-mode:backwards;
}
@keyframes header_copy{
from{display:none;transform:translateY(100%);}
to{display:block;transform:translateY(0);}
}

/* ----------------------- CSS Information 
 Style Info: TITLE_LOGO
--------------------------------------- */
.title_logo{
position:relative;
width:100%;
margin:0;
padding:0;
text-align:center;
background:#e0e0e0;
box-sizing:border-box;
}
.title_logo img{
display:block;
width:100%;
max-width:2000px;
margin:0 auto;
padding:0;
}

/* ----------------------- CSS Information 
 Style Info: PHOTO
--------------------------------------- */
.photo{
position:relative;
display:flex;
flex-direction:row;
flex-wrap:nowrap;
justify-content:stretch;
align-items:flex-start;
width:100%;
margin:0 auto;
background:#e0e0e0;
z-index:100;
}
.photo div{width:calc(100% / 5);}
.photo div img{display:block;width:100%;}

/* ----------------------- CSS Information 
 Style Info: OUTLINE
--------------------------------------- */
.outline{
position:relative;
padding:60px 0;
background:#e0e0e0;
z-index:100;
}
.title_logo + .outline{padding:0 0 60px 0;}
.outline_wrapper{
display:flex;
flex-direction:row;
flex-wrap:nowrap;
justify-content:space-evenly;
align-items:flex-start;
width:100%;
max-width:1250px;
margin:0 auto;
padding:0;
}
.outline_box{
width:44%;
box-sizing:border-box;
}
.outline_info{
display:flex;
flex-direction:row;
flex-wrap:nowrap;
justify-content:center;
align-items:flex-start;
width:100%;
height:40px;
font-size:20px;
line-height:39px;
font-weight:900;
color:#e0e0e0;
background:#d0102c;
}
.outline_info span.day{
position:relative;
display:block;
width:20%;
text-align:center;
background:#000000;
box-sizing:border-box;
}
.outline_info span.day:after{
content:"";
position:absolute;
top:0;
right:-20px;
display:block;
border-top:20px solid transparent;
border-bottom:20px solid transparent;
border-left:20px solid #000000;
}
.outline_info span.date{
display:block;
width:80%;
padding:0 0 0 40px;
text-align:left;
box-sizing:border-box;
}
.outline_hold{
position:relative;
display:flex;
flex-direction:row;
flex-wrap:nowrap;
justify-content:space-between;
align-items:flex-start;
width:100%;
margin:10px 0 0 0;
box-sizing:border-box;
}
.day01 .outline_hold{display:block;border:2px solid #d0102c;}
.outline_hold p{
width:calc(50% - 5px);
margin:0;
padding:20px 0 30px 0;
font-size:20px;
line-height:30px;
font-weight:900;
color:#d0102c;
border:2px solid #d0102c;
box-sizing:border-box;
}
.day01 .outline_hold p{border:none;margin:0 auto;}
.outline_icon{
display:block;
width:100%;
max-width:240px;
margin:0 auto;
padding:0 30px;
box-sizing:border-box;
}
.day02 .outline_hold:after{
content:"選択式";
display:block;
position:absolute;
top:50%;
left:50%;
width:60px;
height:60px;
margin:-30px auto auto -30px;
font-size:16px;
line-height:59px;
font-weight:900;
color:#e0e0e0;
background:#d0102c;
border-radius:50%;
z-index:100;
}
.outline_attention{
margin:0;
padding:30px 4% 0 4%;
font-size:16px;
line-height:30px;
}
.recorded{
position:relative;
display:flex;
flex-direction:row;
flex-wrap:nowrap;
justify-content:center;
align-items:center;
font-size:16px;
line-height:20px;
}
.recorded:before,.recorded:after{
content:"";
position:relative;
width:10px;
height:2px;
background:#d0102c;
}
.recorded:before{margin:0 4px 0 0;}
.recorded:after{margin:0 0 0 4px;}
.place{font-size:14px;}
@media only screen and (max-width:768px){
.outline{padding:4vw 0;}
.title_logo + .outline{padding:0 0 4vw 0;}
.outline_wrapper{display:block;}
.outline_box{width:92%;margin:0 auto 4vw auto;}
.outline_info{height:40px;font-size:16px;line-height:39px;}
.outline_info span.day{}
.outline_info span.day:after{}
.outline_info span.date{padding:0 0 0 30px;}
.outline_hold{margin:4px 0 0 0;}
.day01 .outline_hold{display:block;border:2px solid #d0102c;}
.outline_hold p{width:calc(50% - 2px);padding:10px 0 20px 0;font-size:16px;line-height:20px;}
.day01 .outline_hold p{border:none;}
.outline_icon{padding:0 30px;}
.day02 .outline_hold:after{width:48px;height:48px;margin:-24px auto auto -24px;font-size:12px;line-height:47px;}
.outline_attention{padding:0 4% 0 4%;font-size:14px;line-height:24px;text-align:justify;}
.recorded{font-size:14px;line-height:20px;}
.recorded:before,.recorded:after{}
.recorded:before{margin:0 2px 0 0;}
.recorded:after{margin:0 0 0 2px;}
}

/* ----------------------- CSS Information 
 Style Info: 共通設定
--------------------------------------- */
.section{
position:relative;
width:100%;
margin:0;
padding:120px 0 120px 0;
}
.section_wrapper{
width:100%;
max-width:1250px;
margin:0 auto;
box-sizing:border-box;
}
.section_box{
width:100%;
margin:0 auto;
padding:0 4%;
box-sizing:border-box;
}
@media only screen and (max-width:750px){
.section{padding:40px 0 40px 0;}
.section_wrapper{}
.section_box{}
}

/* ----------------------- CSS Information 
 Style Info: TEXT
--------------------------------------- */
.text{
position:relative;
width:100%;
margin:0 auto;
padding:0;
font-size:18px;
line-height:40px;
text-align:left;
box-sizing:border-box;
z-index:100;
}
.text p{margin:0 0 30px 0;padding:0;}
.text p:last-child{margin: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;}
/* -- br -- */
.text br{display:none;}
.text br.sp{display:block;}
.text br.all{display:block;}
}

/* ----------------------- CSS Information 
 Style Info: MESSAGE
--------------------------------------- */
#message{
background:#e0e0e0 url(../img/message_bg.png) no-repeat right center;
background-size:cover;
}
#message .section_wrapper{max-width:1250px;}
@media only screen and (max-width:750px){
}

/* ----------------------- CSS Information 
 Style Info: VIDEO
--------------------------------------- */
#video{background:#333333;}
#video .section_wrapper{max-width:1250px;}
.video_warapper{
position:relative;
width:100%;
max-width:1250px;
max-height:703px;
margin:0 auto;
padding:0;
box-sizing:border-box;
}
.video_box{
position:relative;
width:100%;
max-width:1250px;
max-height:703px;
margin:0 auto; 
padding:56.25% 0 0 0;
background:#666666;
}
.video_box iframe{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
max-width:1250px;
max-height:703px;
margin:0;
padding:0;
box-sizing:border-box;
}

/* ----------------------- CSS Information 
 Style Info: CONTENT
--------------------------------------- */
#content{background:#f6f6f5;}
.content_box{width:100%;margin:0 auto 80px auto;}
.content_info{
display:flex;
flex-direction:row;
flex-wrap:nowrap;
justify-content:center;
align-items:flex-start;
width:100%;
height:40px;
font-size:20px;
line-height:39px;
font-weight:900;
color:#e0e0e0;
background:#d0102c;
}
.content_info span.day{
position:relative;
display:block;
width:20%;
text-align:center;
background:#000000;
box-sizing:border-box;
}
.content_info span.day:after{
content:"";
position:absolute;
top:0;
right:-20px;
display:block;
border-top:20px solid transparent;
border-bottom:20px solid transparent;
border-left:20px solid #000000;
}
.content_info span.date{
display:block;
width:80%;
padding:0 0 0 40px;
text-align:left;
box-sizing:border-box;
}
.content_detail{
position:relative;
display:flex;
flex-direction:row-reverse;
width:100%;
margin:10px 0 0 0;
padding:30px;
border:2px solid #d0102c;
box-sizing:border-box;
}
.c_img{
display:block;
width:220px;
}
.c_img .pc{
display:block;
width:100%;
}
dl.c_text{
flex:1;
margin:0;
padding:0 20px 0 0;
text-align:justify;
box-sizing:border-box;
}
dl.c_text dt{
margin:0 0 20px 0;
padding:0;
font-size:24px;
line-height:30px;
font-weight:700;
color:#d0102c;
}
dl.c_text dt .content_period{
display:block;
width:100px;
margin:0 auto 10px 0;
padding:5px;
font-size:16px;
line-height:20px;
font-weight:700;
text-align:center;
color:#e0e0e0;
background:#d0102c;
box-sizing:border-box;
}
dl.c_text dd{
font-size:18px;
line-height:40px;
}
dl.c_text dd p{margin:0;padding:0;}
@media only screen and (max-width:768px){
#content{}
.content_box{margin:0 auto 8vw auto;}
.content_info{font-size:16px;}
.content_info span.day{}
.content_info span.day:after{}
.content_info span.date{padding:0 0 0 30px;}
.content_detail{flex-direction:column;align-items:flex-start;padding:4vw 4% 8vw 4%;}
.c_img{width:100%;}
.c_img .pc{display:none;}
.c_img .sp{display:block;width:100%;margin:0 0 4vw 0;}
dl.c_text{padding:0;}
dl.c_text dt{margin:0 0 20px 0;font-size:18px;line-height:30px;}
dl.c_text dt .content_period{width:80px;font-size:14px;line-height:20px;}
dl.c_text dd{font-size:14px;line-height:24px;}
dl.c_text dd p{}
dl.c_text dd p br{display:none;}
}

/* ----------------------- CSS Information 
 Style Info: CTA
--------------------------------------- */
.cta{
position:relative;
width:100%;
margin:0;
padding:0 0 80px 0;
text-align:center;
background:#e0e0e0;
box-sizing:border-box;
}
.cta_wrapper{
position:relative;
display:flex;
flex-direction:row;
flex-wrap:nowrap;
justify-content:space-evenly;
align-items:flex-start;
width:100%;
max-width:1250px;
margin:0 auto;
padding:0;
text-align:center;
box-sizing:border-box;
}
.cta_box{
width:44%;
margin:0;
padding:0;
background:#e0e0e0;
box-sizing:border-box;
}
.cta_info{
width:100%;
height:40px;
margin:0;
padding:0;
font-size:20px;
line-height:39px;
font-weight:900;
color:#e0e0e0;
background:#d0102c;
box-sizing:border-box;
}
.cta_detail{
width:100%;
margin:0;
padding:20px 20px 40px 20px;
border-left:2px solid #d0102c;
border-right:2px solid #d0102c;
border-bottom:2px solid #d0102c;
box-sizing:border-box;
}
.cta_hold{
position:relative;
display:flex;
flex-direction:row;
flex-wrap:nowrap;
justify-content:space-between;
align-items:flex-start;
width:100%;
margin:0;
padding:0;
box-sizing:border-box;
}
.cta_hold p{
width:calc(50% - 10px);
margin:0;
padding:0 0 30px 0;
font-size:20px;
line-height:30px;
font-weight:900;
color:#d0102c;
background:#ffffff;
box-sizing:border-box;
}
.cta_hold p span.day{
display:block;
width:100%;
height:40px;
margin:0 0 20px 0;
padding:0;
font-size:20px;
line-height:39px;
font-weight:900;
color:#e0e0e0;
background:#000000;
box-sizing:border-box;
}
.cta_icon{
display:block;
width:100%;
max-width:200px;
margin:0 auto;
padding:0 30px;
box-sizing:border-box;
}
/*PRICE----------*/
dl.price{
position:relative;
display:flex;
flex-direction:row;
flex-wrap:nowrap;
justify-content:center;
align-items:flex-start;
margin:20px 0 20px 0;
}
dl.price dt{
margin:6px 10px 0 0;
padding:0 10px;
font-size:20px;
line-height:30px;
font-weight:900;
color:#d0102c;
border:2px solid #d0102c;
box-sizing:border-box;
}
dl.price dd{
font-size:30px;
line-height:40px;
font-weight:900;
color:#d0102c;
}
dl.price dd .tax{
display:inline-block;
font-size:14px;
}

/*BTN----------*/
.btn{
width:100%;
max-width:480px;
margin:0 auto;
padding:0;
}
.btn a{
display:block;
width:100%;
margin:0 auto;
padding:20px 0;
font-size:20px;
line-height:40px;
font-weight:700;
text-decoration:none;
color:#ffffff;
background:#0cb04a;
box-shadow:2px 2px 4px 0px rgba(0,0,0,0.5);
border:2px solid #0cb04a;
border-radius:10px;
overflow:hidden;
box-sizing:border-box;
}
.btn a:hover{
color:#0cb04a;
background:#ffffff;
box-shadow:0 0 2px 0px rgba(0,0,0,0.5);
}
/*PAYMENT----------*/
.payment{
width:100%;
max-width:1250px;
margin:40px auto 0 auto;
padding:0;
text-align:center;
color:#333333;
box-sizing:border-box;
}
.payment dt{
display:flex;
align-items:center;
justify-content:center;
margin:0;
padding:0 4%;
font-size:16px;
line-height:30px;
font-weight:700;
box-sizing:border-box;
}
.payment dt:before,.payment dt:after{
content:"";
height:2px;
background:#d0102c;
flex:1;
}
.payment dt:before{margin-right:10px;}
.payment dt:after{margin-left:10px;}
.payment dd{
margin:0;
padding:0 4%;
font-size:16px;
line-height:30px;
text-align:center;
box-sizing:border-box;
}
.payment_img{
display:block;
width:100%;
max-width:200px;
margin:10px auto;
padding:0;
}
@media only screen and (max-width:768px){
.cta{padding:0 0 8vw 0;}
.cta_wrapper{display:block;}
.cta_box{width:92%;margin:0 auto 8vw auto;}
.cta_info{font-size:16px;}
.cta_detail{padding:10px;}
.cta_hold{}
.cta_hold p{width:calc(50% - 5px);padding:0 0 20px 0;font-size:16px;line-height:20px;}
.cta_hold p span.day{height:30px;margin:0 0 10px 0;font-size:14px;line-height:29px;}
.cta_icon{}
/*PRICE----------*/
dl.price{margin:10px 0 10px 0;}
dl.price dt{margin:3px 10px 0 0;font-size:16px;line-height:24px;}
dl.price dd{font-size:24px;line-height:30px;}
/*BTN----------*/
.btn{}
.btn a{padding:10px 0;font-size:18px;line-height:40px;}
.btn a:hover{}
/*PAYMENT----------*/
.payment{margin:0 auto;}
.payment dt{font-size:14px;line-height:34px;}
.payment dt:before,.payment dt:after{}
.payment dt:before{margin-right:10px;}
.payment dt:after{margin-left:10px;}
.payment dd{font-size:14px;line-height:24px;text-align:justify;}
.payment_img{}
}


/* ----------------------- CSS Information 
 Style Info: FOOTER
--------------------------------------- */
footer{
margin:0;
padding:40px 0 40px 0;
width:100%;
color:#e0e0e0;
background:#000000;
border-top:1px solid #d0102c;
}
footer a{color:#e0e0e0;text-decoration:none;}
footer a:hover{color:#e0e0e0;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:14px;
line-height:20px;
margin:0;
padding:0 20px;
border-right:1px solid #d0102c;
}
#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:14px;
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;font-size:12px;border-right:none;}
#nav_footer ul li:last-child{border-right:none;}
footer small{margin:0;font-size:12px;}
}