@charset "utf-8";

div.container {
max-width: 700px;
margin: 0px auto;
}

div.parallax{
width: 100%;
max-width: 700px;
height: 100vh;
position: fixed;
top:0px;
left: 50%;
transform: translateX(-50%);
z-index: -1
}

video.top_movie{
width: 100%;
height: 100%;
object-fit: cover
}

/*--------------------header--------------------*/

header.header{
position: relative;
padding-top: 180px;
margin-bottom: 40px
}

article.header_inner{
text-align: center
}

h3.header,h2.header,h4.header{
width: max-content;
margin: 0px auto;
}

h3.header{
font-size:18px;
margin-bottom: 10px;
font-family: 'Bemio';
font-weight: 300;
}

h2.header{
width: max-content;
margin: 0px auto;
font-family: 'ITC';
font-size:58px;
margin-bottom: 15px;
transform:skew(-5deg);
}

h4.header{
font-size:24px;
font-family: 'Bemio';
font-weight: 200;
display: flex;
align-items: center;
margin-bottom: 20px;
gap: 5px
}

h4.header:before{
content: "";
width: 44px;
height: 44px;
background: url(../img/header/horse.png) no-repeat center;
background-size: cover
}

h4.header:after{
content: "";
width: 44px;
height: 44px;
background: url(../img/header/horse.png) no-repeat center;
background-size: cover
}

h1.heder{
font-size: 16px;
line-height: 1.6;
margin-bottom: 30px
}

div.header_link{
width: 94%;
margin: 0px auto;
display: flex;
align-items: center;
gap: 10px;
margin-bottom: 20px
}

a.header_link{
width: 50%;
border-radius: 5px;
display: block;
border:solid 3px #fff;
padding: 7px;
position: relative
}

img.mark{
width: 42px;
position: absolute;
bottom:15px;
left: -10px
}

span.header_link{
display: block;
height: 98px;
border-radius: 2px;
border:solid 3px #fff;
display: flex;
align-items: center;
justify-content: center
}

h4.header_link{
font-size: 16px;
margin-bottom: 5px
}

h3.header_link{
font-size: 12px;
margin-bottom: 5px
}

h5.header_link{
font-size: 11px;
line-height: 1.5
}

h4.header_catch{
font-size:60px;
text-align: center;
font-family: 'Brushwell';
color: #f045ed;
font-weight: 100;
margin-bottom: 20px
}

div.header_news{
width: 80%;
margin: 0px auto;
border:solid 3px #fff;
padding: 6px 0px;
border-radius: 2px;
overflow: hidden;
}

div.header_news span{
font-family: "M PLUS Rounded 1c", sans-serif;
font-weight: 900;
white-space: nowrap;
animation: marquee 20s linear infinite;
display: flex;
align-items: center;
gap: 15px
}

div.header_news a{
display:block;
font-size: 15px;
}


@keyframes marquee {
0%   { transform: translateX(0); } 
100% { transform: translateX(-100%); }
}

/*--------------------nav--------------------*/

nav.nav{
width: 100%;
max-width: 700px;
position: fixed;
z-index: 11;
top:0px;
left:50%;
transform: translateX(-50%);
display: flex;
align-items: center;
height: 80px;
padding-left: 5%
}

a.nav_tel{
width: 110px;
height: 40px;
border-radius: 20px;
border:solid 2px #fff;
display: flex;
align-items: center;
justify-content: center;
}

a.nav_tel span{
font-family: 'Bemio';
transform:skew(-5deg);
font-weight: 200;
}

p.nav_time{
line-height: 1.2;
margin-left: 10px
}

div.burst{
width: 120px;
height: 120px;
background: url(../img/nav/nav.png) no-repeat center;
background-size: cover;
position: absolute;
top:10px;
right: 5%;
display: flex;
align-items: center;
justify-content: center
}

a.menu-trigger,
a.menu-trigger span {
display: inline-block;
transition: all .4s;
position: relative;
}

a.menu-trigger {
width: 36px;
height: 19px;
margin-bottom: 3px
}

a.menu-trigger span {
position: absolute;
left: 0;
width: 100%;
height: 1.5px;
background: #fff;
}

a.menu-trigger span:nth-of-type(1) {
top: 0;
}
a.menu-trigger span:nth-of-type(2) {
top: 9px;
}
a.menu-trigger span:nth-of-type(3) {
bottom: 0;
}

a.menu-trigger.active span:nth-of-type(1) {
-webkit-transform: translateY(9px) rotate(-45deg);
transform: translateY(9px) rotate(-45deg);
}

a.menu-trigger.active span:nth-of-type(2) {
opacity: 0;
}

a.menu-trigger.active span:nth-of-type(3) {
-webkit-transform: translateY(-9px) rotate(45deg);
transform: translateY(-9px) rotate(45deg);
}

p.menu-trigger{
font-family: 'Bemio';
transform:skew(-5deg);
}

.menuIn {
animation-fill-mode: both;
animation-duration: 0.5s;
animation-name: menuIn;
display: block !important;
}

@keyframes menuIn {
0% { 
opacity: 0; 
transform: translateX(30px); 
}
100% { 
opacity: 1; 
transform: translateX(0); 
}
}

/*--------------------menu--------------------*/

menu.menu{
width: 100%;
height: 100%;
position: fixed;
background: #000;
top:0px;
left: 0px;
z-index: 10;
display: none
}

li.menu{
width: 80%;
position: absolute;
top:50%;
left: 50%;
transform: translate(-50%,-50%)
}

a.menu{
display: block;
border-bottom: solid 0.4px #fff;
padding: 15px 0px
}


/*--------------------home banner--------------------*/

div.home_banner{
padding: 10px 4% 0px 4%;
background: rgba(0,0,0,0.7);
position: relative;
}

@media screen and (min-width: 700px) {

div.home_banner:before{
content: "";
position: absolute;
left:0px;
top:-60px;
display: inline-block;
width: 0;
height: 0;
border-style: solid;
border-width: 0px 0px 60px 700px;
border-color: transparent transparent rgba(0,0,0,0.7) transparent;
}

div.home_banner:after{
content: "";
position: absolute;
left:0px;
bottom:-60px;
width: 0;
 height: 0;
border-style: solid;
border-width: 60px 700px 0px 0px;
border-color: rgba(0,0,0,0.7) transparent transparent transparent;
}

}

@media screen and (max-width: 699px) {

div.home_banner:before{
content: "";
position: absolute;
left:0px;
top:-60px;
display: inline-block;
width: 0;
height: 0;
border-style: solid;
border-width: 0px 0px 60px 100vw;
border-color: transparent transparent rgba(0,0,0,0.7) transparent;
}

div.home_banner:after{
content: "";
position: absolute;
left:0px;
bottom:-60px;
width: 0;
 height: 0;
border-style: solid;
border-width: 60px 100vw 0px 0px;
border-color: rgba(0,0,0,0.7) transparent transparent transparent;
}

}

a.home_banner{
display: block;
margin-bottom: 20px
}

/*--------------------welcom--------------------*/

section.welcom{
text-align: center;
padding-top: 40px;
padding-bottom: 60px;
}

h2.section{
width:max-content;
margin: 0px auto 20px auto; 
font-family: 'ITC';
font-size:32px;
transform:skew(-5deg);
}

h3.welcom{
font-size:16px;
text-align: center;
line-height: 1.4;
margin-bottom: 20px
}

p.welcom{
font-weight: 500;
line-height: 1.6;
text-align: center
}

/*--------------------event--------------------*/

section.event{
padding: 20px 4% 0px 4%;
background: rgba(0,0,0,0.7);
position: relative;
text-align: center
}

@media screen and (min-width: 700px) {

section.event:before{
content: "";
position: absolute;
left:0px;
top:-60px;
display: inline-block;
width: 0;
height: 0;
border-style: solid;
border-width: 0px 0px 60px 700px;
border-color: transparent transparent rgba(0,0,0,0.7) transparent;
}

div.event:after{
content: "";
position: absolute;
left:0px;
bottom:-60px;
width: 0;
 height: 0;
border-style: solid;
border-width: 60px 700px 0px 0px;
border-color: rgba(0,0,0,0.7) transparent transparent transparent;
}

}

@media screen and (max-width: 699px) {

section.event:before{
content: "";
position: absolute;
left:0px;
top:-60px;
display: inline-block;
width: 0;
height: 0;
border-style: solid;
border-width: 0px 0px 60px 100vw;
border-color: transparent transparent rgba(0,0,0,0.7) transparent;
}

section.event:after{
content: "";
position: absolute;
left:0px;
bottom:-60px;
width: 0;
 height: 0;
border-style: solid;
border-width: 60px 100vw 0px 0px;
border-color: rgba(0,0,0,0.7) transparent transparent transparent;
}

}

h3.event{
width: 100%;
border:solid 2px #fff;
margin-bottom: 30px;
padding: 12px 0px;
border-radius: 3px
}

a.event_banner{
display: block;
margin-bottom: 30px
}

p.article{
font-size:14px;
line-height: 1.8;
font-weight: 600;
margin-bottom: 30px
}

/*--------------------gallery--------------------*/

section.gallery{
padding: 60px 4% 20px 4%;
position: relative;
text-align: center
}

div.gallery{
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 12px;
}

a.gallery{
aspect-ratio: 1 / 1;
display: block;
background: #dcdcdc
}

a.gallery img{
width: 100%;
height: 100%;
object-fit: cover
}

/*--------------------footer nav--------------------*/

div.footer_nav{
width: 100%;
max-width: 700px;
position: fixed;
bottom:0px;
left: 50%;
transform: translateX(-50%);
display: flex;
align-items: center;
justify-content: space-between;
background: #000;
z-index: 9;
padding: 10px 1% 15px 1%
}

a.footer_nav{
text-align: center;
}

a.nav_selected{
text-decoration: underline
}

img.footer_nav{
width: 28%;
max-width: 90px;
margin: 0px auto 5px auto;
}

h3.footer_nav{
color: #fff;
font-size:11px;
font-weight: 400
}

/*--------------------footer --------------------*/

footer.footer{
position: relative;
background: rgba(0,0,0,0.7);
padding-top: 40px;
padding-bottom: 100px
}

h2.footer{
width: max-content;
margin: 0px auto 15px auto;
font-family: 'ITC';
font-size:42px;
transform:skew(-5deg);
text-align: center
}

h3.footer{
text-align: center;
font-size: 13px;
margin-bottom: 40px
}

div.map{
width: 100%;
aspect-ratio: 16 / 9;
}

iframe.map{
width: 100%;
height: 100%;
margin-bottom: 20px
}

p.access{
width: 90%;
margin: 0px auto;
font-family: 'ITC';
font-size:24px;
transform:skew(-5deg);
margin-bottom: 15px
}

h4.access{
width: 90%;
margin: 0px auto;
font-size: 16px;
margin-bottom: 15px
}

p.footer{
width: 90%;
margin: 0px auto;
font-size: 11px;
margin-bottom: 20px;
line-height: 1.8
}

div.footer_link{
width: 90%;
margin: 0px auto 30px auto;
}

a.footer_link{
padding: 10px 0px;
font-size: 16px;
font-family: 'Bemio';
display: block;
border-bottom: solid 0.2px #fff;
font-weight: 200
}

a.footer_link i{
font-size: 11px;
font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,ヒラギノ角ゴ ProN,Hiragino Kaku Gothic ProN,メイリオ,Meiryo,osaka,ＭＳ Ｐゴシック,MS PGothic,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji,sans-serif;
}

p.copy{
text-align: center
}

