@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500&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;}
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:24px;line-height:44px;}@media only screen and (max-width:750px){.big{font-size:18px;line-height:30px;}}
.small{font-size:16px;}@media only screen and (max-width:750px){.small{font-size:12px;}}
.red{color:#c70003;}
.gold{color:#b78b4a;}

/*----- image -----*/
.pc{display:block;}
.sp{display:none;}
@media only screen and (max-width:750px){
.pc{display:none;}
.sp{display:block;}
}

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

/* ------------------------------------------- CSS Information 
 Style Info: header
----------------------------------------------------------- */
header{
position:relative;
width:100%;
margin:0;
padding:0;
text-align:center;
background:#000000 url(../img/header_bg.png) no-repeat center;
background-size:cover;
}
header img{position:relative;width:100%;max-width:750px;margin:0 auto;padding:0;z-index:10;}
header:after{
content:"";
display:block;
width:100%;
height:100px;
position:absolute;
bottom:0;
background:-moz-linear-gradient(top, rgba(0,0,0,0), rgba(0,0,0,1));
background:-webkit-linear-gradient(top, rgba(0,0,0,0), rgba(0,0,0,1));
background:linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,1));
}
@media only screen and (max-width:750px){
header{
background:#000000 url(../img/header_bg_sp.png) no-repeat center top;
background-size:100% auto;
}
header img{}
header:after{}
}

/* ----------------------- CSS Information 
 Style Info: TITLE
--------------------------------------- */
.title{
position:relative;
width:100%;
max-width:670px;
margin:0 auto;
padding:0;
box-sizing:border-box;
}
.title img{width:100%;}
@media only screen and (max-width:750px){
.title{max-width:710px;padding:0 20px;}
.title img{}
}

/* ----------------------- CSS Information 
 Style Info: text
--------------------------------------- */
.text{
padding:0;
box-sizing:border-box;
font-size:17px;
line-height:36px;
text-align:justify;
}
.text p{margin:0 0 30px 0;padding:0;}
.text p:last-child{margin:0;padding:0;}
.text ul{margin:0;padding:0 0 30px 0;}
@media only screen and (max-width:750px){
.text{font-size:15px;line-height:30px;}
.text br{display:none;}
.text br.all{display:block;}
.text p{margin:0 0 20px 0;padding:0;}
.text p:last-child{margin:0;padding:0;}
.text ul{margin:0;padding:0 0 20px 0;}
}

/* ----------------------- CSS Information 
 Style Info: INVITATION
--------------------------------------- */
#invitation{
width:100%;
margin:0 auto;
padding:40px 0 40px 0;
box-sizing:border-box;
color:#f6f6f5;
background:#000000;
}
.invitation_wrapper{
position:relative;
margin:0 auto;
width:750px;
padding:0 40px;
box-sizing:border-box;
}
@media only screen and (max-width:750px){
#invitation{padding:20px 0 40px 0;}
.invitation_wrapper{width:100%;padding:0 20px;}
}


/* ----------------------- CSS Information 
 Style Info: MOVIE
--------------------------------------- */
#movie{
width:100%;
margin:0 auto;
padding:40px 0;
box-sizing:border-box;
background:#000000;
}
.movie_wrapper{
position:relative;
width:100%;
max-width:960px;
margin:40px auto 0 auto;
padding:30px;
background:#201e21;
box-sizing:border-box;
}
.movie_box{
position:relative;
width:100%;
max-width:900px;
max-height:506px;
margin:0 auto; 
padding-top:56.25%;
}
.movie_box iframe{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
max-width:900px;
max-height:506px;
box-sizing:border-box;
border:1px solid #b78b4a;
}
@media only screen and (max-width:750px){
#movie{padding:30px 0 0 0;}
.movie_wrapper{
margin:30px auto 0 auto;
padding:20px;
}
.movie_box{}
.movie_box iframe{}
}



/* ----------------------- CSS Information 
 Style Info: ONLINE
--------------------------------------- */
#online{
position:relative;
width:100%;
margin:0 auto;
padding:80px 0 80px 0;
box-sizing:border-box;
color:#f6f6f5;
background:#000000 url(../img/online_bg.png) no-repeat center;
background-size:cover;
}
#online:before{
content:"";
display:block;
width:100%;
height:200px;
position:absolute;
top:0;
background:-moz-linear-gradient(bottom, rgba(0,0,0,0), rgba(0,0,0,1));
background:-webkit-linear-gradient(bottom, rgba(0,0,0,0), rgba(0,0,0,1));
background:linear-gradient(to top, rgba(0,0,0,0), rgba(0,0,0,1));
}
#online:after{
content:"";
display:block;
width:100%;
height:200px;
position:absolute;
bottom:0;
background:-moz-linear-gradient(top, rgba(0,0,0,0), rgba(0,0,0,1));
background:-webkit-linear-gradient(top, rgba(0,0,0,0), rgba(0,0,0,1));
background:linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,1));
}
.online_wrapper{
position:relative;
margin:0 auto;
width:750px;
padding:60px 40px;
box-sizing:border-box;
z-index:10;
}
@media only screen and (max-width:750px){
#online{
padding:60px 0 30px 0;
background:#000000 url(../img/online_bg_sp.png) no-repeat center;
background-size:cover;
}
#online:before{height:100px;}
#online:after{height:100px;}
.online_wrapper{
width:100%;
padding:30px 20px;
}
}


/* ----------------------- CSS Information 
 Style Info: MESSAGE
--------------------------------------- */
#message{
position:relative;
width:100%;
margin:0 auto;
padding:120px 0 120px 0;
background:#000000 url(../img/message_bg.png) no-repeat center;
background-size:cover;
box-sizing:border-box;
}
#message:after{
content:"";
display:block;
width:100%;
height:200px;
position:absolute;
margin:0;
padding:0;
bottom:0;
background:-moz-linear-gradient(top, rgba(0,0,0,0), rgba(0,0,0,1));
background:-webkit-linear-gradient(top, rgba(0,0,0,0), rgba(0,0,0,1));
background:linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,1));
box-sizing:border-box;
}
.message_wrapper{
position:relative;
width:750px;
margin:0 auto;
padding:80px 0;
color:#f6f6f5;
background:rgba(0,0,0,0.75);
border:1px solid #b78b4a;
z-index:10;
box-sizing:border-box;
}
.message_wrapper .text{padding:60px 40px 0 40px;}
@media only screen and (max-width:750px){
#message{
padding:60px 0 60px 0;
background:#000000 url(../img/message_bg_sp.png) no-repeat center;
background-size:cover;
}
#message:after{height:100px;}
.message_wrapper{
width:100%;
margin:0 auto;
padding:0;
background:none;
border:none;
}
.message_wrapper .text{padding:40px 20px 0 20px;}
}

/* ----------------------- CSS Information 
 Style Info: PROFILE
--------------------------------------- */
#profile{
padding:40px 0 120px 0;
background:#000000;
box-sizing:border-box;
}
.profile_wrapper{
display:-webkit-box;
display:-ms-flexbox;
display:flex;
width:100%;
max-width:1280px;
margin:80px auto 0 auto;
padding:0;
box-sizing:border-box;
}
.profile_wrapper .textbox{width:50%;}
.profile_wrapper .text{
display;:block;
width:100%;
margin:0;
padding:0 40px 0 40px;
color:#f6f6f5;
box-sizing:border-box;
}
.profile_wrapper .text .name{padding:0 0 0 20px;}
.profile_wrapper .imgbox{
width:50%;
background:url(../img/profile_img.png) no-repeat top center;
background-size:cover;
}
.profile_wrapper .imgbox img{display:none;}

@media only screen and (max-width:750px){
#profile{padding:40px 0 80px 0;}
.profile_wrapper{
-webkit-box-orient:vertical;
-webkit-box-direction:reverse;
-ms-flex-direction:column-reverse;
flex-direction:column-reverse;
margin:30px auto 0 auto;
}
.profile_wrapper .textbox{width:100%;}
.profile_wrapper .text{padding:0 20px 0 20px;}
.profile_wrapper .text .name{padding:0 0 0 20px;}
.profile_wrapper .imgbox{
width:100%;
padding:0 20px 30px 20px;
background:none;
box-sizing:border-box;
}
.profile_wrapper .imgbox img{display:block;width:100%;}
}










/* ------------------------------------------- CSS Information 
 Style Info: CTA
----------------------------------------------------------- */
.cta{
position:relative;
width:100%;
margin:0;
padding:120px 0 80px 0;
text-align:center;
background:#ffffff url(../img/cta_bg.png) no-repeat center;
background-size:cover;
box-sizing:border-box;
}
.cta_wrapper{
position:relative;
width:100%;
max-width:750px;
margin:0 auto;
padding:0;
box-sizing:border-box;
}
.cta_box{
width:100%;
margin:0 auto;
padding:40px 0;
background:#f3f5f2;
box-sizing:border-box;
border:1px solid #b78b4a;
}
.cta_box form{
width:100%;
padding:40px;
box-sizing:border-box;
}
.cta_box form input[type=text]{
font-family:'Noto Sans JP',"メイリオ","ヒラギノ角ゴ Pro W3",Sans-Serif;
font-size:16px;
line-height:30px;
width:100%;
margin:0 0 20px 0;
padding:10px;
text-align:left;
border:1px solid #333333;
box-sizing:border-box;
}
.cta_box form input[type=image]{
width:100%;
max-width:670px;
margin:0 auto;
}
.attention{
font-size:14px;
line-height:20px;
text-align:justify;
padding:0 40px;
color:#666666;
}
@media only screen and (max-width:750px){
.cta{
padding:40px 0 0 0;
background:#ffffff url(../img/cta_bg_sp.png) no-repeat center top;
background-size:100% auto;
}
.cta_wrapper{
position:relative;
width:100%;
max-width:750px;
margin:0 auto;
padding:0;
box-sizing:border-box;
}
.cta_box{
padding:40px 0;
border:none;
}
.cta_box form{padding:40px 20px 20px 20px;}
.cta_box form input[type=text]{
font-size:14px;
line-height:30px;
margin:0 0 20px 0;
padding:10px 5px;
}
.cta_box form input[type=image]{}
.attention{
font-size:13px;
line-height:20px;
padding:0 20px;
}
}

/* ----------------------- CSS Information 
 Style Info: OUTLINE
--------------------------------------- */
.outline{
width:100%;
max-width:670px;
margin:0 auto;
padding:40px 0 20px 0;
box-sizing:border-box;
}
.outline dl{
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-align:start;
-ms-flex-align:start;
align-items:flex-start;
width:100%;
margin:0 auto 20px auto;
padding:0;
box-sizing:border-box;
}
.outline dt{
margin:0;
padding:0;
width:100px;
height:40px;
font-size:16px;
line-height:38px;
color:#ffffff;
border-radius:20px;
background:#b78b4a;
}
.outline dd{
flex:1;
display;:block;
margin:0;
padding:0 0 0 20px;
font-size:17px;
line-height:38px;
text-align:left;
box-sizing:border-box;
}
.outline_attention{
font-size:15px;
line-height:30px;
color:#666666;
}
@media only screen and (max-width:750px){
.outline{
max-width:750px;
padding:30px 0 20px 0;
}
.outline dl{
padding:0 20px;
-webkit-box-orient:vertical;
-webkit-box-direction:normal;
-ms-flex-direction:column;
flex-direction:column;
}
.outline dt{
margin:0 0 10px 0;
padding:0;
width:100%;
height:30px;
font-size:14px;
line-height:28px;
border-radius:15px;
}
.outline dd{
display;:block;
width:100%;
padding:0;
font-size:14px;
line-height:24px;
}
.outline_attention{
padding:5px 0 0 0;
font-size:13px;
line-height:20px;
}
}

/* ----------------------- CSS Information 
 Style Info: FOOTER
--------------------------------------- */
footer{
width:100%;
margin:0;
padding:60px 0;
color:#d1d1d1;
background:#000000;
font-size:14px;
}
.disclaim{
width:100%;
max-width:750px;
margin:0 auto;
padding:0 20px;
box-sizing:border-box;
text-align:justify;
font-size:14px;
line-height:24px;
}
#fnav{
width:100%;
max-width:750px;
margin:0 auto;
padding:40px 20px;
box-sizing:border-box;
}
#fnav ul{list-style-type:none;}
#fnav li{
display:inline-block;
margin:0;
padding:0 20px;
text-align:left;
font-size:14px;
line-height:20px;
border-left:1px solid #bf9000;
}
#fnav li:last-child{border-right:1px solid #bf9000;}
#fnav a{color:#d1d1d1;text-decoration:none;}
#fnav a:hover{color:#d1d1d1;text-decoration:underline;}
address{
display:block;
margin:0 10px;
padding:0;
text-align:center;
font-size:14px;
line-height:20px;
}
@media only screen and (max-width:750px){
footer{padding:40px 0;}
.disclaim{}
#fnav{padding:40px 20px 20px 20px;}
#fnav ul{}
#fnav li{
display:block;
margin:0 0 20px 0;
padding:0 0 0 10px;
}
#fnav li:last-child{border-right:none;}
address{}
.sp_no{display:none;}
}

/* --------------------------------- CSS Information 
 Style Info: fadein
------------------------------------------------- */
.fadein{
opacity:0;
transition:all ease 1s;
}
.fadein.scrollin{opacity:1;}
/*左から----------*/
.fadein_left{
opacity:0;
transform:translateX(-80px);
transition:all 1s;
}
.fadein_left.scrollin{
opacity:1;
transform:translateX(0);
}
/*右から----------*/
.fadein_right{
opacity:0;
transform:translateX(80px);
transition:all 1s;
}
.fadein_right.scrollin{
opacity:1;
transform:translateX(0);
}
/*上から----------*/
.fadein_top{
opacity:0;
transform:translateY(-40px);
transition:all 1s;
}
.fadein_top.scrollin{
opacity:1;
transform:translateY(0);
}
/*下から----------*/
.fadein_bottom{
opacity:0;
transform:translateY(40px);
transition:all 1s;
}
.fadein_bottom.scrollin{
opacity:1;
transform:translateY(0);
}


/* ------------------------------------------- CSS Information 
 Style Info: SCROLL
----------------------------------------------------------- */
.scroll_box .text{
margin:0 auto;
padding:0;
text-align:center;
color:#666666;
}
.scroll_box .text p{margin:0;padding:0;}
.scroll{
width:70px;
height:90px;
margin:0;
padding:20px;
text-align:center;
animation:bound 2s infinite;
}
@keyframes bound{
0%{transform:translateY(0)}
5%{transform:translateY(0)}
10%{transform:translateY(0)}
20%{transform:translateY(-15px)}
25%{transform:translateY(0)}
30%{transform:translateY(-10px)}
50%{transform:translateY(0)}
100%{transform:translateY(0)}
}