@charset "UTF-8";
/*
Version: 1.0.0
Creation Date: 2023.6.5
Last Updated: 2023.6.8
*/


/* import
------------------------------------------------------------ */
@import "https://w-shiya.com/release/css/ampersand-2023.css";
@import "https://www.montedioyamagata.jp/wp-content/themes/montedio/assets/css/match.css";


/* set
------------------------------------------------------------ */
* {
font-weight: inherit;
}
body {
font-family: ryo-gothic-plusn, sans-serif;
font-size: 1.6rem;
text-align: center;
}


/* Overwrite
------------------------------------------------------------ */
header a:hover img,
main a:hover img {
opacity: 1;
}
input[type="text"],
input[type="submit"] {
margin: 0;
border-radius: 0;
}
.header {
position: fixed;
}
.spnav,
.spsubnav,
.gnav__subitem__table td a {
text-align: left;
}
.access {
padding: 0;
}
.access .accessSection {
width: 100%;
margin: 0 auto;
}
.access__table {
table-layout: auto;
}
.share__icon {
margin: 0;
}


/* common
------------------------------------------------------------ */
/* font */
/* りょうゴシック PlusN */
.RYO {
font-family: ryo-gothic-plusn, sans-serif;
font-weight: 500;
}
/* 貂明朝テキスト */
.TEN {
font-family: ten-mincho-text, serif;
font-weight: 400;
}
/* Poster Gothic Cond ATF Bold */
.EN {
font-family: poster-gothic-cond-atf, sans-serif;
font-weight: 600;
letter-spacing: .1em;
}
/* コーポレート・ロゴ ver2 */
.LOGO {
font-family: "corporate-logo-ver2", sans-serif;
font-weight: 700;
}

/* layout */
section {
padding: 8rem 0;
}

/* style */
.opa a {
background: #FFF;
display: block;
}
::before,
::after {
content: "";
background-size: contain !important;
position: absolute;
}

/* background */
.bg_01 {
background: url("img/bg_01.png") no-repeat center;
background-size: cover;
}
.bg_02 {
background: url("img/bg_02.png") no-repeat top center;
background-size: 100% auto;
}
.bg_03 {
background: #1a1a7c;
}

/* Swiper */
.swiper {
width: calc(100% - 80px);
}
.swiper-slide {
background: #FFF;
text-align: left;
height: auto;
padding-bottom: 70px;
border: solid 7px #027ab8;
}
.swiper-slide h3 {
color: #027ab8;
font-size: 2.2rem;
font-weight: bold;
line-height: 1.3;
min-height: 8rem;
padding: 10px 20px;
}
.swiper-slide p {
padding: 0 20px;
}
.swiper-slide dl {
padding: 10px 20px;
position: absolute;
bottom: 0;
left: 0;
}
.swiper-slide dl dt {
background: #027ab8;
font-size: 1.4rem;
color: #FFF;
line-height: 25px;
text-align: center;
width: 50px;
height: 25px;
margin-bottom: 10px;
float: left;
clear: both;
}
.swiper-slide dl dd {
color: #027ab8;
font-size: 2rem;
font-weight: bold;
letter-spacing: .1em;
line-height: 1.3;
padding: 2px 0 10px 60px;
}
.swiper-slide a  {
color: #027ab8;
text-decoration: underline;
}
.swiper-slide a:hover {
text-decoration: none;
}
.swiper-prev,
.swiper-next {
background: rgba(255,255,255,1);
width: 30px;
height: 30px;
border-radius: 50%;
top: 60%;
z-index: 1;
overflow: hidden;
}
.swiper-prev {
left: 0;
}
.swiper-next {
right: 0;
}
.swiper-prev:hover,
.swiper-next:hover {
background: rgba(255,255,255,.7);
transition: none;
}
.swiper-prev::after,
.swiper-next::after {
border-top: solid 7px transparent;
border-right: solid 10px transparent;
border-bottom: solid 7px transparent;
border-left: solid 10px #027ab8;
top: 8px;
right: -2px;
}
.swiper-prev::after {
border-top: solid 7px transparent;
border-right: solid 10px #027ab8;
border-bottom: solid 7px transparent;
border-left: solid 10px transparent;
right: auto;
left: -2px;
}


/* header
------------------------------------------------------------ */
header {
margin-top: 120px;
}

/* #nav */
#nav {
background: url("img/nav_bg.png") no-repeat center bottom;
background-size: cover;
padding: 2rem 0;
}
#nav nav ul li {
flex-basis: 16%;
margin: 0 .3%;
}

/* #message */
#message section {
font-size: 2.5rem;
line-height: 2;
text-shadow: 1px 1px 3px #141681;
width: 600px;
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%,-50%);
transform: translate(-50%,-50%);
}


/* main
------------------------------------------------------------ */
/* common */
main h2 {
text-align: left;
position: relative;
z-index: 2;
}

/* #schedule */
#schedule {
background: url("img/schedule_bg.png") no-repeat center;
background-size: cover;
}
#schedule h2::after {
background: url("img/schedule_logo.png") no-repeat;
width: 145px;
max-width: 15%;
height: 200px;
top: -5rem;
right: 5rem;
z-index: -1;
}
#schedule .item {
margin-bottom: 4rem;
position: relative;
z-index: 1;
}
#schedule::before {
background: url("img/bg_05.png") no-repeat bottom;
width: 145px;
max-width: 10%;
height: 700px;
bottom: -5%;
left: 0;
z-index: 1;
}
#schedule::after {
background: url("img/bg_06.png") no-repeat bottom;
width: 190px;
max-width: 15%;
height: 485px;
top: 30%;
right: 0;
}

/* #event */
#event section {
width: 1260px;
max-width: 100%;
}
#event h2 {
width: 1000px;
max-width: 92%;
margin: 0 auto;
position: absolute;
top: 8rem;
left: 50%;
-webkit-transform: translateX(-50%);	
transform: translateX(-50%);
}
#event div {
position: relative;
z-index: 1;
}
#event::before {
background: url("img/bg_07.png") no-repeat bottom;
width: 240px;
max-width: 15%;
height: 395px;
top: 50%;
right: -3%;
}
#event::after {
background: url("img/bg_08.png") no-repeat bottom;
width: 245px;
max-width: 15%;
height: 635px;
bottom: -5%;
left: -2%;
z-index: 1;
}
#event section::before,
#event section::after {
background: url("img/bg_03.png") no-repeat top;
width: 385px;
max-width: 40%;
height: 285px;
top: 20%;
left: -22%;
}
#event section::after {
top: -2%;
right: -10%;
left: auto;
}

/* #gourmet */
#gourmet .item {
margin-bottom: 4rem;
position: relative;
z-index: 1;
}
#gourmet div::before {
background: url("img/bg_09.png") no-repeat bottom;
width: 320px;
height: 320px;
top: -320px;
right: 0;
z-index: 1;
}
#gourmet div::after {
background: url("img/bg_03.png") no-repeat top;
width: 385px;
max-width: 40%;
height: 285px;
top: -20%;
right: -20%;
}
#gourmet::before {
background: url("img/bg_10.png") no-repeat bottom;
width: 215px;
max-width: 15%;
height: 325px;
right: 0;
bottom: 0;
}
#gourmet section::before,
#gourmet section::after {
background: url("img/bg_03.png") no-repeat bottom;
width: 385px;
max-width: 40%;
height: 285px;
bottom: 40%;
left: -30%;
}
#gourmet section::after {
bottom: 0;
left: -22%;
}

/* #regular */
#regular {
}

/* #goods */
#goods section {
width: 1080px;
}
#goods h2::after {
background: url("img/goods_sub.png") no-repeat;
width: 380px;
max-width: 40%;
height: 170px;
top: -3rem;
right: 5rem;
}

/* #seat */
#seat div {
position: relative;
z-index: 1;
}
#seat div.mb50::before {
background: url("img/bg_11.png") no-repeat bottom;
width: 675px;
height: 290px;
top: -290px;
right: 0;
}
#seat div.mb30::before {
background: url("img/bg_04.png") no-repeat bottom;
width: 385px;
max-width: 40%;
height: 285px;
top: -15%;
right: -20%;
z-index: -1;
}
#seat section::before {
background: url("img/bg_03.png") no-repeat top;
width: 385px;
max-width: 40%;
height: 285px;
bottom: 50%;
left: -30%;
z-index: 2;
}
#seat::before {
background: url("img/bg_12.png") no-repeat bottom;
width: 200px;
max-width: 15%;
height: 330px;
right: 0;
bottom: 0;
}

/* #access */
#access .panel-group section {
text-align: left;
padding-top: 3rem;
}
#access .panel-group h3.LOGO {
text-align: center;
margin-bottom: 3rem;
}
#access .panel-group h3.LOGO strong {
color: #1a1a7c;
font-size: 4rem;
border-bottom: 5px solid #1a1a7c;
}
.access {
background: #FFF;
border: 2rem solid #1a1a7c;
border-radius: 4rem;
position: relative;
}
.tab {
background-size: contain !important;
width: 200px;
height: 183px;
text-indent: 100%;
white-space: nowrap;
overflow: hidden;
}
.tab:nth-child(1) {
background: url("img/access_nav_01_off.png") no-repeat;
border-radius: 1.8rem 0 0 0;
}
.tab:nth-child(2) {
background: url("img/access_nav_02_off.png") no-repeat;
}
.tab:nth-child(3) {
background: url("img/access_nav_03_off.png") no-repeat;
}
.tab:nth-child(4) {
background: url("img/access_nav_04_off.png") no-repeat;
}
.tab:nth-child(5) {
background: url("img/access_nav_05_off.png") no-repeat;
border-radius: 0 1.8rem 0 0;
}
.tab:nth-child(1):hover,
.tab:nth-child(1).is-active {
background: url("img/access_nav_01_on.png") no-repeat;
}
.tab:nth-child(2):hover,
.tab:nth-child(2).is-active {
background: url("img/access_nav_02_on.png") no-repeat;
}
.tab:nth-child(3):hover,
.tab:nth-child(3).is-active {
background: url("img/access_nav_03_on.png") no-repeat;
}
.tab:nth-child(4):hover,
.tab:nth-child(4).is-active {
background: url("img/access_nav_04_on.png") no-repeat;
}
.tab:nth-child(5):hover,
.tab:nth-child(5).is-active {
background: url("img/access_nav_05_on.png") no-repeat;
}

.access::before {
background: url("img/bg_13.png") no-repeat bottom;
width: 300px;
height: 320px;
top: calc(-320px - 2rem);
right: 0;
}

/* #contents */
#contents section {
padding-top: 0;
}
#contents ul {
position: relative;
z-index: 1;
}
#contents li.item {
background: #FFF;
padding: 1.2rem;
}
#contents li.item h3 {
background: #1a1a7c;
color: #FFF;
font-size: 3rem;
font-weight: bold;
padding: 1.2rem;
}
#contents li.item p {
text-align: left;
padding: 1.2rem 0;
}
#contents::before {
background: url("img/contents_bg.png") no-repeat center;
background-size: cover !important;
width: 100%;
height: 120%;
top: -20%;
left: 0;
z-index: -1;
}
#contents::after {
background: url("img/bg_14.png") no-repeat bottom;
width: 170px;
max-width: 15%;
height: 340px;
bottom: 0;
left: -2%;
}
#contents section::after {
background: url("img/bg_15.png") no-repeat bottom;
width: 225px;
max-width: 20%;
height: 375px;
right: -20%;
bottom: 0;
}
#contents section::before {
background: url("img/bg_03.png") no-repeat top;
width: 385px;
max-width: 40%;
height: 285px;
top: -20%;
left: -22%;
}

/* #beginners */
#beginners {
}

/* #sponsor */
#sponsor section {
width: 680px;
}
#sponsor h3 {
font-weight: bold;
margin: 2rem 0 1rem;
padding: .5rem;
border: 1px solid #FFF;
}
#sponsor li {
font-size: 1.8rem;
margin: .5rem 1rem;;
}
#sponsor li a:hover {
text-decoration: underline;
}


/* footer
------------------------------------------------------------ */
/* #information */
#information a {
background: #FFE038;
font-size: 2.3rem;
font-weight: bold;
padding: 20px;
display: block;
}
#information a:hover {
background: #004098;
color: #FFF;
}

/* Copyright */
footer h1 {
width: 188px;
margin: 0 auto 30px;
}
footer p {
color: #FFF;
font-size: 1.2rem;
}
footer p + p {
font-size: 1.1rem;
}
footer section {
padding: 20px 0 100px;
}

/* #ticket */
#ticket {
width: 100%;
position: fixed;
bottom: 0;
left: 0;
z-index: 3;
}
#ticket a {
background: #FFBA00;
color: #FFF;
font-size: 4rem;
display: flex;
justify-content: center;
align-items: center;
}
#ticket a span {
font-size: 3.2rem;
padding: 0 10px;
}
#ticket a:hover {
background: #000;
}





@media screen and (max-width: 768px) {
/* iPhone以下 */

/* header
------------------------------------------------------------ */
header {
margin-top: 60px;
}

/* #message */
#message section {
font-size: 2rem;
}

/* main
------------------------------------------------------------ */
/* #schedule */
#schedule h2 img {
width: auto;
height: 80px;
}
#schedule::before,
#schedule::after {
display: none;
}

/* #event */
#event h2 img {
width: auto;
height: 88px;
}

/* #gourmet */
#gourmet h2 img {
width: auto;
height: 88px;
}
#gourmet div::before {
width: 160px;
height: 160px;
top: -160px;
}
#gourmet::before {
display: none;
}

/* #goods */
#goods h2 img {
width: auto;
height: 88px;
}

/* #seat */
#seat h2 img {
width: auto;
height: 88px;
}
#seat div.mb50::before {
width: 338px;
height: 145px;
top: -145px;
}
#seat h3 img {
width: auto;
height: 40px;
margin-top: 5rem;
}
#seat section::before {
display: none;
}
#seat::before {
top: 45%;
right: auto;
bottom: auto;
left: 0;
}

/* #access */
#access h2 img {
width: auto;
height: 80px;
}
#access h2 + p img {
width: auto;
height: 64px;
}
.tab {
height: 123px;
}
.access::before {
width: 150px;
height: 160px;
top: calc(-160px - 2rem);
}

/* #contents */
#contents::after,
#contents section::after {
display: none;
}

/* footer
------------------------------------------------------------ */
/* #information */
#information a {
font-size: 1.8rem;
}

/* Copyright */
footer p,
footer p + p {
font-size: 1rem;
}

footer section {
padding: 20px 0 80px;
}

/* #ticket */
#ticket a {
font-size: 3rem;
height: 60px;
padding: 0 5%;
}
#ticket a span {
font-size: 2.2rem;
padding: 0 5px;
}

}


@media screen and (max-width: 420px) {
/* iPhone以下 */

/* set
------------------------------------------------------------ */
body {
font-size: 1.4rem;
line-height: 1.4;
}

/* common
------------------------------------------------------------ */
/* layout */
section {
padding: 4rem 0;
}

/* margin */
.mb80 {
margin-bottom: 2.4rem;
}

/* header
------------------------------------------------------------ */
/* #nav */
#nav nav ul li {
flex-basis: 30%;
margin: 0 1.5% 3%;
}

/* #message */
#message {
background: #141681 url("img/message_bg.png") no-repeat center bottom;
background-size: 100% auto;
}
#message section {
font-size: 1.8rem;
padding: 5rem 0 12rem;
position: static;
-webkit-transform: translate(0,0);
transform: translate(0,0);
}
#message .vwmax {
display: none;
}

/* main
------------------------------------------------------------ */
/* #schedule */
#schedule h2 img {
height: 50px;
}
#schedule h2::after {
top: -2rem;
right: 0;
}
#schedule .item {
margin-bottom: 2rem;
}

/* #event */
#event h2 {
position: static;
-webkit-transform: translate(0,0);
transform: translate(0,0);
}
#event h2 img {
height: 55px;
}
#event div.smp {
max-width: 92%;
margin: 0 auto 3rem; 
}
#event::before {
display: none;
}
#event::after {
bottom: 0;
}

/* #gourmet */
#gourmet h2 img {
height: 55px;
}
#gourmet div::before {
width: 100px;
height: 100px;
top: -100px;
}

/* #goods */
#goods h2 img {
height: 55px;
}
#goods h2::after {
top: 0;
right: 0;
}

/* #seat */
#seat h2 img {
height: 55px;
}
#seat div.mb50::before {
width: 270px;
height: 116px;
top: -116px;
}
#seat h3 img {
height: 30px;
}
#seat::before {
top: 50%;
}

/* #access */
#access h2 img {
height: 50px;
}
#access h2 + p {
position: relative;
z-index: 1;
}
#access h2 + p img {
height: 40px;
}
#access .panel-group h3.LOGO strong {
font-size: 2.8rem;
border-bottom: 3px solid #1a1a7c;
}
.access {
background: #FFF;
border: 1rem solid #1a1a7c;
border-radius: 2rem;
position: relative;
}
.tab {
height: 67px;
}
.tab:nth-child(1) {
border-radius: .9rem 0 0 0;
}
.tab:nth-child(5) {
border-radius: 0 .9rem 0 0;
}
.access::before {
width: 100px;
height: 120px;
top: calc(-120px - 1rem);
}

/* #contents */
#contents section {
padding-top: 4rem;
}
#contents li.item {
max-width: 80%;
margin: 0 auto 3rem;
}
#contents li.item h3 {
font-size: 2.5rem;
}
#contents::before {
height: 100%;
top: 0;
}
#contents section::before {
top: -5%;
}

}