@charset "UTF-8";

/* =Reset default browser CSS. Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
  background: transparent;
  border: 0;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  -webkit-text-size-adjust: none;
  max-height: 999999px;
}
body {line-height: 1;}

h1, h2, h3, h4, h5, h6 {
  clear: both;
  font-size: 100%;
  font-weight: normal;
  overflow: hidden;
  line-height: 140%;
}
ol, ul {list-style: none;}

blockquote {quotes: none;}

blockquote:before, blockquote:after {
  content: '';
  content: none;
}
del {text-decoration: line-through;}

/* tables still need 'cellspacing="0"' in the markup */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

th{font-weight: normal;}

a img {border: none;}

a {
  text-decoration: none;
  outline: none;
}

p a {
  text-decoration: underline;
  color: #D80000;
}

p a:hover {
  text-decoration: none;
  opacity: 1;
}

img{vertical-align: bottom;}

.clearfix {width:100%; margin: 0;}
.clearfix:after{
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  }
     
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  }
/*------------------------------------
	Value
------------------------------------*/
.mtop20 { margin-top: clamp(8px, 1.4vw, 20px) }
.mtop30 { margin-top: clamp(12px, 2.1vw, 30px) }
.mtop40 { margin-top: clamp(16px, 2.8vw, 40px) }
.mtop50 { margin-top: clamp(20px, 3.5vw, 50px) }
.mtop60 { margin-top: clamp(24px, 4.2vw, 60px) }
.mtop70 { margin-top: clamp(28px, 4.9vw, 70px) }
.mtop80 { margin-top: clamp(32px, 5.6vw, 80px) }
.mtop90 { margin-top: clamp(36px, 6.3vw, 90px) }
.mtop100 { margin-top: clamp(40px, 7vw, 100px)}/*/1420*/














/*----------------------------------------
	レイアウト
----------------------------------------*/
body{
  font-family: "MA31", serif;
  color: #fff;
  font-size: 16px;
  line-height: 160%;
  background: #000;
}

p {
  line-height: 160%;
}

a {
  transition : all 0.3s ease 0s;
}

a:hover {
	opacity: 0.7;
}






.ofh { overflow: hidden; }
.center { text-align: center; }
.centerSpLeft { text-align: center;}
.left { text-align: left; }
.right { text-align: right; }
.rightSpLeft { text-align: right; }
.bold { font-weight: bold; }
.normal { font-weight: normal; }
.relative { position: relative; }
.w100per { max-width: 100%; }






.indent {
  padding-left :1em;
  text-indent: -1em;
}

.red {
  color: #C3172D;
}



/*----------------------------------------
	header
----------------------------------------*/
header {
  background: #333;

}

.g-nav {
  width: 100%;
  margin: 0 auto;
  font-size: min(1.83vw, 26px);/*/1420*/
  font-weight: bold;
}

.g-nav ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
  padding: min(2.11vw, 30px) 0 min(1.83vw, 26px);
}

.g-nav ul li {
  text-align: center;
  width: 20%;
}

.g-nav ul li:last-child {
  border-right: none
}


.g-nav ul li a {
  color: #fff;
  text-align: center;
  position: relative;
  text-decoration: none;
  display: inline-block; /* リンクの幅を文字の長さに限定 */
  padding-bottom: 5px; /* 下に余白を確保してラインを文字から10px離す */
  line-height: 120%;
}

.g-nav ul li a::after {
  content: "";
  position: absolute;
  bottom: -5px; /* 文字の10px下に配置 */
  left: 0;
  width: 0;
  height: 1px; /* ラインの太さ */
  background-color: #fff; /* ラインの色 */
  transition: width 0.3s ease-in-out; /* アニメーションの設定 */
}

.g-nav ul li a:hover::after {
  width: 100%; /* ホバー時に文字列の長さまで伸ばす */
}

.g-nav ul li > a:hover {
  opacity: 1;
}







@media screen and (max-width: 768px) {
  .g-nav {
    display: none;
  } 
}


/*----------------------------------------
	トグルメニュー
----------------------------------------*/
.sp-nav-box {
  display: none;
}

@media screen and (max-width: 768px) {
  .sp-nav-box {
    display: block;
  }

  .sp-nav {
    position: fixed;
    right: -270px;
    top: 0;
    width: 250px;
    height: 100vh;
    padding: 20px 0 30px;
    transition: all .6s;
    z-index: 200;
    overflow-y: auto; /* スクロール */
    background: #000;
  }

  .hamburger {
    position: fixed;
    right: 5px;
    top: 5px;
    width: 60px; /* 幅を指定する */
    height: 60px; /* 高さを指定する */
    cursor: pointer;
    z-index: 300;
    transition: all .6s;
    padding: 10px 10px 0;
  }

  .hamburgerLine {
    position: absolute;
    left: 0;
    right: 0;
    width: 34px;
    height: 3px;
    background-color: #fff;
    transition: all .6s;
    margin: auto;
  }

  .hamburgerLine1 {
    top: 8px;
  }

  .hamburgerLine2 {
    top: 19px;
  }

  .hamburgerLine3 {
    top: 30px;
  }

  .black-bg {
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    opacity: 0;
    background: #000;
    visibility: hidden;
    transition: all .6s;
    cursor: pointer;
  }

  .hamburger p {
    font-size: 11px;
    text-align: center;
    margin-top: 24px;
    user-select:none;
    transition: all .6s;
  }
  
  .sp-nav > ul {
    margin-top: 60px;
  }
  
  .sp-nav > ul > li {
    border-bottom: 1px solid rgba(255,255,255,0.50)
  }
  
  .sp-nav > ul > li:first-child {
    border-top: 1px solid rgba(255,255,255,0.50);
  }  
  
  
  .sp-nav > ul > li a {
    color: #fff;
    font-size: 22px;
    line-height: 120%;
    font-weight: bold;
    position: relative;
    display: block;
    padding: 17px 0 15px 35px;
  }
  
  .sp-nav li a:hover {
    opacity: 1;
    color: #beb177;
  }
  
  .sp-nav > ul > li > a::before {
    content: "";
    position: absolute;
    left: 15px;
    top: 50%;
    margin-top: -4px;
    transition: all .2s;
    width: 6px;
    height: 6px;
    border-top: solid 2px rgba(255,255,255,0.50);
    border-right: solid 2px rgba(255,255,255,0.50);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  
  .sp-nav > ul > li > a:hover::before {
    left: 20px;
    border-top: solid 2px #beb177;
    border-right: solid 2px #beb177;    
  }  
  

  /* 表示された時用のCSS */
  .nav-open {
    /*position: fixed;*/
    width: 100%;
    overflow-y: scroll;
  }

  .nav-open .sp-nav-box {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 99999;
  }

  .nav-open .sp-nav {
    right: 0;

  }

  .nav-open .hamburger {
    position: fixed;
    right: 5px;
    z-index: 300;
    transition: all .6s;

  }

  .nav-open .black-bg {
    opacity: .5;
    visibility: visible;
  }

  .nav-open .hamburgerLine {
    transition: all .6s;
    background-color: #fff;
  }

  .nav-open .hamburgerLine1 {
    transform: rotate(45deg);
    top: 18px;
  }

  .nav-open .hamburgerLine2 {
    width: 0;
    left: 50%;
  }

  .nav-open .hamburgerLine3 {
    transform: rotate(-45deg);
    top: 18px;
  }
  
  
  .nav-open .hamburger p {
    font-size: 11px;
    text-align: center;
    user-select:none;
    color: #fff;
    transition: all .6s;
  }
  
}

/*----------------------------------------
	キービジュアル
----------------------------------------*/
.kv {
  width: 100%;
  text-align: center;
}

.kv img {
  width: 100%;

}

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

}


/*----------------------------------------
	コンテンツ
----------------------------------------*/
.container {
  border-top: clamp(2px, 0.4vw, 4px) solid transparent;
  border-image: linear-gradient(90deg, rgba(179,157,108,1) 0%, rgba(221,206,134,1) 30%, rgba(221,206,134,1) 70%, rgba(179,157,108,1) 100%);
  border-image-slice: 1;
  background: rgb(0,0,0);
  background: linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(56,7,14,1) 47%, rgba(126,26,42,1) 58%, rgba(156,34,54,1) 69%, rgba(154,33,53,1) 75%, rgba(119,24,39,1) 84%, rgba(56,7,14,1) 100%);
  margin-top: min(7vw, 100px);
  padding: clamp(40px, 8.5vw, 120px) 0 50px;
  text-align: center;
}

h2 {
  text-align: center;
  margin-bottom: clamp(30px, 5vw, 70px);
}

h2 img {
  width: min(90%, 800px);
}

.inner {
  width: min(90%, 1420px);
  margin: auto;
}

.event ul {
  padding: 0 min(4.6vw, 65px);
  display: inline-block;
  position: relative; /* 擬似要素の基準位置を指定 */
  margin-bottom: clamp(60px, 11vw, 150px);
}

.event ul::before,
.event ul::after {
  content: "";
  position: absolute;
  width: 2px;
  height: 80%;
  background-color: #fff;
}

.event ul::before {
  left: 0;
  top: 15%;
}

.event ul::after {
  right: 0;
  top: 15%;
}

.event ul li {
  font-size: min(4vw, 56px);
  font-weight: bold;
  line-height: 140%;
}

.event ul li:nth-child(2) {
  margin-top: min(2.1vw, 30px);
  margin-right: max(-1.7vw, -25px);
}

.event ul li:nth-child(2) span {
  font-size: min(6.2vw, 88px);
}

.section-box {
  background: #333;
  border: clamp(3px, 0.6vw, 6px) solid;
  border-image: linear-gradient(135deg, rgba(146,130,59,1) 0%, rgba(216,201,129,1) 47%, rgba(96,78,32,1) 100%);
  border-image-slice: 1;  
  padding: clamp(30px, 5vw, 70px) clamp(20px, 3.52vw, 50px);
  margin-bottom: clamp(40px, 7vw, 100px);
  box-shadow: min(1.4vw, 20px) min(1.4vw, 20px)  min(3.52vw, 50px) rgba(0, 0, 0, 0.5); /* 影の設定 */
}



.annotation {
  font-family:'メイリオ',Meiryo,'Lucida Grande','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','MS ゴシック',Verdana,Helvetica,Arial,Sans-serif;
  text-align: left;
  font-size: clamp(13px, 1.4vw, 20px);
  line-height: 180%;
  width: min(100%, 1200px);
  margin-left: auto;
  margin-right: auto;
}

.annotation li {
  padding-left: 1em;
  text-indent: -1em;
}


.annotation li:not(:first-child) {
  margin-top: min(0.35vw, 5px);
}







.ec {
  width: min(100%, 1200px);
  margin-left: auto;
  margin-right: auto;
}

.ec h3 {
  background: #a58054;
  color: #000;
  font-size: clamp(24px, 3.9vw, 55px);
  font-weight: bold;
  letter-spacing: 10px;
  line-height: 100%;
  padding: clamp(15px, 2.1vw, 30px) clamp(15px, 2.1vw, 30px) clamp(12px, 1.83vw, 26px);
}

.ec-box {
  background: #d7d4cb;
  padding: min(4.9vw, 70px) min(4.9vw, 70px) min(3.5vw, 50px);
  position: relative;
}

.ec-box h4 {
  font-size: clamp(14px, 3.1vw, 44px);
  color: #000;
  font-weight: bold;
  line-height: 160%;
}

.f60 {
  font-size: clamp(18px, 4.2vw, 60px);
}

.f30 {
  font-size: min(2.1vw, 30px) ;
}

.ec-box .annotation {
  color: #000;
  width: min(100%, 1020px);
}

.waku li {
  position: absolute; 
}

.waku li img {
  width: clamp(28px, 4.4vw, 62px);
}


.waku li:first-child {
  top: min(0.6vw, 8px);
  left: min(0.6vw, 8px);
}

.waku li:nth-child(2) {
  top: min(0.6vw, 8px);
  right: min(0.6vw, 8px);
  transform: scale(-1, 1);
}

.waku li:nth-child(3) {
  bottom: min(0.6vw, 8px);
  left: min(0.6vw, 8px);
  transform: scale(1, -1);
}

.waku li:nth-child(4) {
  bottom: min(0.6vw, 8px);
  right: min(0.6vw, 8px);
  transform: scale(-1, -1);
}



.popup-box {
  border: 1px solid #9b784f;
  background: rgb(87,18,29);
  background: linear-gradient(133deg, rgba(87,18,29,1) 0%, rgba(165,35,55,1) 47%, rgba(50,12,17,1) 100%);   
  padding: clamp(30px, 6vw, 85px) clamp(20px, 4.2vw, 60px) clamp(35px, 6.3vw, 90px);
  position: relative;
}

.popup-box .waku li:first-child {
  top: min(1.3vw, 18px);
  left: min(1.3vw, 18px);
}

.popup-box .waku li:nth-child(2) {
  top: min(1.3vw, 18px);
  right: min(1.3vw, 18px);
}

.popup-box .waku li:nth-child(3) {
  bottom: min(1.3vw, 18px);
  left: min(1.3vw, 18px);
}

.popup-box .waku li:nth-child(4) {
  bottom: min(1.3vw, 18px);
  right: min(1.3vw, 18px);
}

.popup-box p {
  font-size: min(3.5vw, 50px);
  font-weight: bold;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}


/*----------------------------------------
	グッズ情報
----------------------------------------*/
.goods-list {
  display: flex;
  flex-wrap: wrap;
  line-height: 130%;  
  font-family:'メイリオ',Meiryo,'Lucida Grande','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','MS ゴシック',Verdana,Helvetica,Arial,Sans-serif;  
}

.goods-list li {
  width: 31%;
  margin-right: 3.5%;
  background: #5c5c5c;
  padding: min(1.18vw, 18px) min(1.05vw, 16px) min(1.58vw, 24px);/*/1520*/
  font-weight: bold;  
}

.goods-list li:nth-child(3n) {
  margin-right: 0;
}

.goods-list li:nth-child(n+4) {
  margin-top: 3.5%;
}

.goods-list li img {
  width: 100%;
}

.goods-list li h3 {
  font-weight: bold;
  margin: 15px 0 15px;
  padding-bottom: 8px;
  font-size: min(1.4vw, 22px);
  border-bottom: 1px solid #fff;
  line-height: 130%;  
}

.goods-list li p {
  font-weight: bold;
  font-size: min(0.86vw, 13px);
  line-height: 130%;  
}

.f22 {
  font-size: min(1.4vw, 22px);
}

.price {
  margin-left: min(1vw, 15px);
}


@media screen and (max-width: 1080px) {
  .goods-list li {
    width: 48%;
    margin-right: 4%;
    padding: min(1.67vw, 18px) min(1.48vw, 16px) min(2.22vw, 24px);
  }

  .goods-list li:nth-child(3n) {
    margin-right: 4%;
  }

  .goods-list li:nth-child(2n) {
    margin-right: 0;
  }

  .goods-list li:nth-child(n+4) {
    margin-top: 0;
  }

  .goods-list li:nth-child(n+3) {
    margin-top: 4%;
  }


  .goods-list li h3 {
    margin: min(1.4vw, 15px) 0;
    padding-bottom: min(0.74vw, 8px);
    font-size: min(2vw, 22px);
  }

  .goods-list li p {
    font-size: min(1.2vw, 13px);
  }

  .f22 {
    font-size: min(2vw, 22px);
  }

  .price {
    margin-left: min(1.4vw, 15px);
  }
}

@media screen and (max-width: 768px) {
  .goods-list li {
    width: 100%;
    margin-right: 0%;
    padding: min(2.3vw, 18px) min(2.1vw, 16px) min(3.125vw, 24px);
  }

  .goods-list li:nth-child(3n) {
    margin-right: 0;
  }

  .goods-list li:nth-child(n+2) {
    margin-top: 5%;
  }

  .goods-list li h3 {
    margin: clamp(7px,  2vw, 15px) 0;
    padding-bottom: clamp(3px, 1vw, 8px);
    font-size: clamp(13px, 2.9vw, 22px);
  }

  .goods-list li p {
    font-size: clamp(11px, 1.7vw, 13px);
  }

  .f22 {
    font-size: clamp(13px, 2.9vw, 22px);
  }

  .price {
    margin-left: clamp(5px, 2vw, 15px);
  }
}

/*----------------------------------------
	リンク
----------------------------------------*/
.link-area {
  background: #fff;
  padding: 50px;
}

.link {
  display: flex;
  justify-content: center;
}

.link li {
  width: 45%;
  max-width: 300px;
  margin-right: 5%;
}

.link li:last-child {
  margin-right: 0;
}

.link li img {
  width: 100%;
}


/*----------------------------------------
	footer
----------------------------------------*/
footer {
  margin-bottom: clamp(20px, 3.5vw, 50px);
}

.copyright {
  font-size: clamp(12px, 1.4vw, 20px);
  color: #858585;
  text-align: center;
}


/*----------------------------------------
	ページトップ
----------------------------------------*/

#toTop {
  position: fixed;
  right: 30px;
  bottom: 30px;
}

#toTw {
  position: fixed;
  right: 30px;
  bottom: 115px;
}

#toTop a ,
#toTw a {
  position: relative;
  display: block;
  text-decoration: none;
}

#toTop img ,
#toTw img {
  width: 75px;
}



@media screen and (max-width: 1200px) {
  #toTop {
    right: 20px;
    bottom: 30px;
  }
  
  #toTw {
    right: 20px;
    bottom: 100px;
  }  
  
  #toTop img ,
  #toTw img {
    width: 60px;
  }  
}

@media screen and (max-width: 750px) {
  #toTop {
    right: 20px;
    bottom: 120px;
  }
  
  #toTw {
    right: 20px;
    bottom: 190px;
  }  
  
  #toTop img ,
  #toTw img {
    width: 60px;
  }
}




@media screen and (max-width: 480px) {
  #toTop {
    position: fixed;
    right: 5px;
    bottom: 30px;
  }
  
  #toTw {
    right: 5px;
    bottom: 90px;
  }    
  
  #toTop img ,
  #toTw img {
    width: 50px;
  }

}

















































