@charset "UTF-8";
/* CSS Document */


/* ////////////////////////////////////////////////////////////////////////////////

	Common

//////////////////////////////////////////////////////////////////////////////// */
@font-face {
  font-family: 'sns_ico';
  src:
    url('../fonts/sns_ico.ttf?z7sza2') format('truetype'),
    url('../fonts/sns_ico.woff?z7sza2') format('woff'),
    url('../fonts/sns_ico.svg?z7sza2#sns_ico') format('svg');
  font-weight: normal;
  font-style: normal;
}

i.snsIcon {
  font-family: 'sns_ico' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

	color: #000;
}

.icon-search:before { content: "\e908";}
.icon-arrow1_left:before { content: "\e90c";}
.icon-arrow1_bottom:before { content: "\e90d";}
.icon-arrow1_right:before { content: "\e90e";}
.icon-arrow1_top:before { content: "\e90f";}
.icon-arrow2_left:before { content: "\e910";}
.icon-arrow2_bottom:before { content: "\e911";}
.icon-arrow2_right:before { content: "\e912";}
.icon-arrow2_top:before { content: "\e913";}
.icon-link:before { content: "\e914";}
.icon-note:before { content: "\e915";}
.icon-ap:before { content: "\e900";}
.icon-blo:before { content: "\e901";}
.icon-fb:before { content: "\e902";}
.icon-hp:before { content: "\e903";}
.icon-in:before { content: "\e904";}
.icon-line:before { content: "\e905";}
.icon-spo:before { content: "\e906";}
.icon-tt:before { content: "\e907";}
.icon-yt:before { content: "\e909";}
.icon-x:before { content: "\e90a";}
.icon-wb:before { content: "\e90b";}
.icon-arrow3_top:before { content: "\ea3a";}
.icon-arrow3_right:before { content: "\ea3c";}
.icon-arrow3_bottom:before { content: "\ea3e";}
.icon-arrow3_left:before { content: "\ea40";}


html {
	scroll-behavior: smooth;
}
body {
	font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	font-size: min(3.4vw, 16px);
	line-height: 1.8;
	-webkit-text-size-adjust: 100%;
  background-color: #000;
  color: #fff;
}

img {
	max-width: 100%;
	height: auto;
}
ul { list-style: none;}

.anim {
	opacity: 0;
	transition: all 1s ease-out;
}
.anim.on {
	opacity: 1;
}
h2.anim {
  transform: translateY(40px);
	transition: all 0.6s cubic-bezier(0.76, 0, 0.24, 1);
}
h2.anim.on {
  transform: translateY(0px);
}
h2.anim span {
	opacity: 0;
  transform: translateY(40px);
	transition: all 0.6s cubic-bezier(0.76, 0, 0.24, 1) 0.4s;
}
h2.anim.on span {
  opacity: 1;
  transform: translateY(0px);
}

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

	.sp { display: none;}

	a { transition: all 0.3s ease-out;}
	a:hover { opacity: 0.5;}

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

	.pc { display: none;}

}

#canvas {
  display: block;
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0.5;
}

/*
#menuButton {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  position: fixed;
  top: min(5vw, 30px);
  right: min(5vw, 30px);
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  color: #fff;
  z-index: 9998;
  text-decoration: none;
  font-size: min(4vw, 20px);
  letter-spacing: -0.08em;
}
#menuButton .on,
#menuButton.active .off {
  display: none;
}
#menuButton.active .on {
  display: block;
  letter-spacing: 0em;
}
*/
#menuButton {
  display: block;
  width: min(10vw, 60px);
  height: min(10vw, 60px);
  position: fixed;
  top: min(4vw, 30px);
  right: min(5vw, 40px);
  z-index: 9998;

  mix-blend-mode: exclusion;
}
#menuButton span {
  display: block;
  background: #fff;
  width: 100%;
  height: 1px;
  position: absolute;
  top: 50%;
  left: 0;
  transition: all 0.4s;
}
#menuButton span:nth-child(1) { transform: translateY(-550%) rotate(0deg);}
#menuButton span:nth-child(2) { transform: translateY(450%) rotate(0deg);}
#menuButton span:nth-child(3) { transform: translateY(-50%);}
#menuButton.active span:nth-child(1) { transform: translateY(-50%) rotate(45deg);}
#menuButton.active span:nth-child(2) { transform: translateY(-50%) rotate(-45deg);}
#menuButton.active span:nth-child(3) { opacity: 0;}


#globalNavi {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 9997;
  background: linear-gradient(0deg, rgba(0,0,0,0.0) 0%, rgba(0,0,0,0.9) 60%);
}
#globalNavi .globalNaviInr {
  padding: 10vh 0;
}
#globalNavi ul {
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  gap: min(6vw, 30px);
}
#globalNavi ul li {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  padding-top: 2.8vh;
  position: relative;
}
#globalNavi ul li::before {
  content: "";
  display: block;
  width: 1.6vh;
  aspect-ratio: 1/1;
  background-color: #884e00;
  border-radius: 50%;
  position: absolute;
  top: 0;
  right: 2.2vh;
}
#globalNavi ul li a {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: 5vh;
  font-style: italic;
  color: #fff;
  text-decoration: none;
  line-height: 1.2;
}
#globalNavi ul li a div {
  width: 6vh;
  margin-left: 0.8vh;
}
#globalNavi ul li a span {
  font-family: lust-sans, sans-serif;
  font-style: italic;
  font-size: 0.5em;
  font-weight: 500;
  letter-spacing: 0.08em;
  display: block;
  color: #884e00;
}



#sideNavi {
  position: fixed;
  top: min(20vw, 170px);
  right: 0;
  z-index: 9995;
  display: none;
}
#sideNavi ul {
  display: flex;
  flex-direction: column;
  gap: min(2vw, 10px);
  overflow: hidden;
}
#sideNavi li {
  transition: all 0.6s ease-out;
  transform: translateX(100%);
}
#sideNavi li:nth-child(1) { transition-delay: 0.2s;}
#sideNavi li:nth-child(2) { transition-delay: 0.4s;}
#sideNavi li:nth-child(3) { transition-delay: 0.6s;}
#sideNavi li:nth-child(4) { transition-delay: 0.8s;}
#sideNavi li:nth-child(5) { transition-delay: 1.0s;}
#sideNavi li:nth-child(6) { transition-delay: 1.2s;}

#sideNavi.on li {
  transform: translateX(0%);
}

#sideNavi ul li a {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-style: italic;
  font-size: min(3.2vw, 14px);
  font-weight: bold;
  display: block;
  background: linear-gradient(90deg, #581511 0%, #884e00 100%);
  color: #fff;
  text-decoration: none;
  text-align: center;
  padding: min(1.8vw, 8px) min(3vw, 15px);
}


.pageTop {
  position: absolute;
  bottom: min(5vw, 60px);
  right: min(5vw, 60px);
  z-index: 8000;
}
.pageTop a {
  display: flex;
  width: min(17vw, 80px);
  aspect-ratio: 1/1;
  justify-content: center;
  align-items: center;
  background-color: #884e00;
  font-family: lust-sans, sans-serif;
  font-size: min(3.2vw, 14px);
  text-align: center;
  line-height: 1.4;
  border-radius: 50%;
  color: #fff;
  text-decoration: none;
  padding-top: 0.3em;
  letter-spacing: 0.1em;
}

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

  #globalNavi {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.9) 40%);
  }

  #globalNavi ul {
    flex-direction: column;
    padding: 0 min(6vw, 30px);
  }
  #globalNavi ul li {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    padding-top: 0;
    padding-left: min(6vw, 30px);
  }
  #globalNavi ul li a {
    font-size: min(6.4vw, 36px);
  }
  #globalNavi ul li::before {
    width: min(3vw, 15px);
    top: min(2vw, 10px);
    right: inherit;
    left: 0;
  }
  #globalNavi ul li a div {
    width: auto;
    height: 8vw;
    margin-bottom: 1.8vw;
    margin-left: 0;
  }
  #globalNavi ul li a div img {
    height: 100%;
    width: auto;
  }
  #globalNavi ul li a span {
    font-size: 0.6em;
  }


  #sideNavi {
    display: none !important;
  }

}

#op {
  position: fixed;
  background: url("../images/op_bg.jpg") no-repeat center center / cover;
  z-index: 9999;
  width: 100%;
  height: 100vh;
  opacity: 1;
  animation: op02 1s linear 2s forwards;
  padding-bottom: 12vh;
}
#op .opInr {
  display: flex;
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center;
  gap: 4vh;
  opacity: 0;
  animation: op01 1s ease-out 0.5s forwards;
}
#op .opInr div {
  width: 24vh;
  line-height: 0;
}
#op .opInr p {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-size: 10vh;
  font-weight: bold;
}

@keyframes op01 {
  0% { opacity: 0;}
  100% { opacity: 1;}
}
@keyframes op02 {
  0% { opacity: 1;}
  100% { opacity: 0; pointer-events: none;}
}



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


  #op .opInr {
    gap: min(4vw, 20px);
  }

  #op .opInr div {
    width: 30vw;
  }
  #op .opInr p {
    font-size: 11vw;
    line-height: 1;
  }
}

#mainvisual {
  width: 100%;
  height: 100vh;
  height: 100svh;
  background: url("../images/main_visual.jpg") no-repeat center center / cover;
  position: relative;
}
#mainvisual::before {
  content: "";
  display: block;
  position: fixed;
  top: -5%;
  left: -5%;
  width: 110%;
  height: 110%;
  background-color: #fff;
  background-image: url("../images/cover_v2.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  z-index: 9998;
  opacity: 1;
  pointer-events: none;

  filter: contrast(6) blur(0px) saturate(0);
  mix-blend-mode: darken;

  animation: op3 1.5s cubic-bezier(0.61, 1, 0.88, 1) 3s forwards;
}

@keyframes op3 {
    0% { filter: contrast(6) blur(0px) saturate(0); opacity: 1; }
    45% { filter: contrast(3) blur(0px) saturate(1); opacity: 1; }
    70% { filter: contrast(1) blur(0px) saturate(1); opacity: 1; }
    100% { filter: contrast(1) blur(0px) saturate(1); opacity: 0; }
}

#mainvisual h1 {
  position: absolute;
  bottom: min(8vw, 80px);
  left: min(6vw, 80px);
  width: min(80vw, 600px);
  line-height: 0;
}

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

  #mainvisual {
    height: auto;
    background: url("../images/main_visual_sp.jpg") no-repeat center bottom / cover;
    aspect-ratio: 75/98;
    margin-bottom: min(30vw, 200px);
  }
  #mainvisual h1 {
    bottom: max(-15vw, -90px);
  }


}

.cboxIframe {
  background-color: #fff;
}

section {
  padding: min(14vw, 100px) 0;
  position: relative;
}
section h2 {
  font-family: lust-sans, sans-serif;
  font-style: italic;
  font-weight: 400;
  font-size: min(7.4vw, 64px);
  line-height: 1;
  color: #884e00;
}
section h2 span {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: 0.4em;
  font-style: normal;
  letter-spacing: 0.08em;
  color: #fff;
  display: block;
  text-indent: 0.22em;
  line-height: 2.4;
}
.contentWrap {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 min(6vw, 60px);
  position: relative;
  z-index: 1;
}
.flexWrap {
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 1;
}

.cornerBox {
  padding: min(4vw, 50px);
  position: relative;
}
.cornerBox::before,
.cornerBox::after {
  content: "";
  display: block;
  width: min(5vw, 50px);
  aspect-ratio: 1/1;
  position: absolute;
}
.cornerBox::before {
  top: 0;
  left: 0;
  border-top: #884e00 solid 1px;
  border-left: #884e00 solid 1px;
}
.cornerBox::after {
  bottom: 0;
  right: 0;
  border-bottom: #884e00 solid 1px;
  border-right: #884e00 solid 1px;
}


.bnrTrack {
  line-height: 0;
  margin-bottom: min(8vw, 60px);
  position: relative;
}
.bnrTrack.newBadge::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  background: url("../images/badge_new.png") no-repeat center center / contain;
  width: min(18vw, 130px);
  aspect-ratio: 316 / 250;
  transform: translate(-35%, -35%);
}

.movieWrap {
  margin: 0 min(6vw, 60px);
  position: relative;
  z-index: 2;
}
#release .movieWrap {
  margin: 0;
  margin-bottom: min(8vw, 60px);
  position: relative;
}
#release .movieWrap.newBadge::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  background: url("../images/badge_new.png") no-repeat center center / contain;
  width: min(18vw, 130px);
  aspect-ratio: 316 / 250;
  transform: translate(-35%, -35%);
}
#release .wrapBox .movieWrap {
  margin-bottom: 0;
}
.movieWrap > div {
  width: 100%;
  aspect-ratio: 100/56.25;
}
.movieWrap iframe {
  width: 100%;
  height: 100%;
}

#release .edTitle {
  text-align: center;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: min(4.8vw, 36px);
  font-weight: normal;
  line-height: 1.3;
  margin-top: min(16vw, 140px);
  margin-bottom: min(7vw, 50px);
}
#release .edTitle span {
  font-size: min(3.4vw, 16px);
  font-weight: normal;
}

#release #serialCode .lyricsBtn {
  position: static;
  margin-bottom: min(6vw, 40px);
}
#release #serialCode .lyricsBtn.newBadge a {
  position: relative;
}
#release #serialCode .lyricsBtn.newBadge a::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  background: url(../images/badge_new.png) no-repeat center center / contain;
  width: min(16vw, 78px);
  aspect-ratio: 316 / 250;
  transform: translate(-41%, -40%);
}

.floatBnr {
  position: fixed;
  right: min(4vw, 20px);
  bottom: min(4vw, 20px);
  z-index: 100;
}
.floatBnr a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: min(20vw, 162px);
  aspect-ratio: 1/1;
  border-radius: 100%;
  border: #a47020 solid 2px;
  background: linear-gradient(110deg, rgb(8,72,46) 1%, rgb(136,78,0) 100%);
  text-decoration: none;
}
.floatBnr a p {
  /* font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif; */
  color: #fff;
  text-align: center;
  line-height: 1.3;
  font-size: min(3.8vw, 15px);
  font-weight: 600;
}
.floatBnr a p + p {
  margin-top: 0.4em;
}
.floatBnr .closeBtn {
	position: absolute;
	top: 0;
	right: 0;
	color: #fff;
	border: none;
	width: 24px;
	height: 24px;
	cursor: pointer;
	font-size: 16px;
	line-height: 24px;
	text-align: center;
	border-radius: 50%;
}



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

  .floatBnr {
    right: 12vw;
  }
  .floatBnr a {
    width: 76vw;
    border-radius: min(2vw, 10px);
    padding: min(3vw, 15px);
    /* gap: min(4vw, 20px); */
    aspect-ratio: auto;
    letter-spacing: 0.04em;
  }
  .floatBnr .closeBtn {
    transform: translate(100%, -50%);
  }

}

/* ////////////////////////////////////////////////////////////////////////////////

	Introduction

//////////////////////////////////////////////////////////////////////////////// */

#intro h2 {
/*
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
*/
}

#intro h2 {
  position: relative;
  cursor: pointer;
}
#intro h2 .plusBtn {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: min(8vw, 60px);
  aspect-ratio: 1 / 1;
}
#intro h2 .plusBtn::before,
#intro h2 .plusBtn::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#intro h2 .plusBtn::after {
  transition: all 0.3s ease-out;
  transform: translate(-50%, -50%) rotate(90deg);
}
#intro h2.on .plusBtn::after {
  transform: translate(-50%, -50%) rotate(0deg);
}


#intro .introTxt {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  width: 100%;
  padding-top: min(6vw, 40px);
}
#intro .introTxt h3 {
  font-size: min(4.2vw, 36px);
  font-weight: 400;
  line-height: 1.6;
  margin-bottom: min(8vw, 60px);
}
#intro .introTxt p {
  line-height: 2;
}
#intro .introTxt p + p {
  margin-top: min(6vw, 40px);
}
[data-ruby] {
	position: relative;
}
[data-ruby]::before {
	content: attr(data-ruby);
	position: absolute;
	width: 200%;
	transform: translate(56%, -100%);
	top: -0.4em;
	right: 58%;
	text-align: center;
	letter-spacing: 0;
	line-height: 1;
	font-size: 0.5em;
}

.newsArchivesBtn {
  display: flex;
  justify-content: center;
  margin: min(4vw, 40px) 0;
  text-align: center;
}
.newsArchivesBtn a {
  border: #884e00 solid 1px;
  border-radius: 100px;
  font-size: min(3.2vw, 14px);
  color: #fff;
  text-decoration: none;
  text-align: center;
  padding: 1em;
  width: min(32vw, 180px);
  line-height: 1;
  cursor: pointer;
}
.newsArchivesBtn.more a::before {
	content: "続きを読む";
}
.newsArchivesBtn.close a::before {
	content: "閉じる";
}
.newsArchivesBtn.close a span {
	transform: translateY(-30%) rotate(-135deg);
}
.moreText {
  margin-top: min(6vw, 40px);
}

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



}


/* ////////////////////////////////////////////////////////////////////////////////

	Comment

//////////////////////////////////////////////////////////////////////////////// */

#comment::before {
  content: "";
  position: absolute;
  bottom: -22vw;
  right: 0;
  width: 80%;
  aspect-ratio: 2959/3455;
  z-index: 0;
  background: url("../images/bg_parts01.png") no-repeat center center / 100%;
}

#comment .flexWrap {
  flex-direction: row-reverse;
}

#comment .contentWrap {
}

#comment h2 {
  position: relative;
  cursor: pointer;
}
#comment h2 .plusBtn {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: min(8vw, 60px);
  aspect-ratio: 1 / 1;
}
#comment h2 .plusBtn::before,
#comment h2 .plusBtn::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#comment h2 .plusBtn::after {
  transition: all 0.3s ease-out;
  transform: translate(-50%, -50%) rotate(90deg);
}
#comment h2.on .plusBtn::after {
  transform: translate(-50%, -50%) rotate(0deg);
}

#comment .commentImg {
  position: absolute;
  bottom: 0;
  right: min(6vw, 60px);
  width: 24%;
  line-height: 0;
}
#comment .commentTxt {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  width: 100%;
  padding-top: min(6vw, 40px);
  display: none;
}
#comment .commentTxt p {
  line-height: 2;
  margin-bottom: min(4vw, 20px);
}

@media screen and (min-width: 821px) {
/*
  #comment h2 {
    background: linear-gradient(90deg, rgba(136,77,0,0) 0%, rgba(90,24,16,0) 50%, rgba(136,77,0,0) 100%);
  }
  #comment h2:hover {
    opacity: 1;
    background: linear-gradient(90deg, rgba(136,77,0,0.3) 0%, rgba(90,24,16,0.3) 50%, rgba(136,77,0,0.3) 100%);
  }
*/
}
/* @media screen and (max-width: 820px) {

  #comment .commentTxt {
  width: 80%;
  }

} */

/* ////////////////////////////////////////////////////////////////////////////////

	Movie

//////////////////////////////////////////////////////////////////////////////// */
#movie h2 {
  text-align: right;
  margin-bottom: min(8vw, 60px);
}
#movie .movieImg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 60%;
}

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

  #movie .movieImg {
    width: 80%;
  }

}

/* ////////////////////////////////////////////////////////////////////////////////

	Release

//////////////////////////////////////////////////////////////////////////////// */
#release::before {
  content: "";
  position: absolute;
  top: 14vw;
  right: 0;
  width: 65%;
  aspect-ratio: 2959/3455;
  z-index: 0;
  background: url("../images/bg_parts02.png") no-repeat right center / 100%;
}
#release h2 {
  position: absolute;
  top: 0;
  left: min(6vw, 60px);
}
#release .flexWrap {
  flex-direction: row-reverse;
  align-items: flex-start;
}

#release .flexWrap h3 {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  line-height: 1;
  letter-spacing: 0.14em;
  margin-top: -0.5em;
  position: relative;
  font-feature-settings: "palt";
}
#release .flexWrap h3 rt {
  font-size: 0.3em;
}
#release .flexWrap h3 > span.small {
  font-size: 0.4em;
  font-size: min(2.72vw, 16.8px);
  font-style: normal;
  letter-spacing: 0.08em;
  color: #fff;
  display: block;
/*  text-indent: 1.5em;*/
  line-height: 2.4;
}
#release .flexWrap h3 > span.rl {
  font-weight: 300;
  font-size: min(6.8vw, 42px);
}

#release .flexWrap .badge {
  position: absolute;
  bottom: 0;
  right: 0;
  border: #884e00 solid 1px;
  -webkit-writing-mode: horizontal-tb;
  -ms-writing-mode: lr-tb;
  writing-mode: horizontal-tb;

  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: min(4.2vw, 24px);
  border-radius: 50%;
  color: #fff;
  background-color: #5a1710;
  letter-spacing: 0.08em;
  line-height: 1.4;
  width: min(32vw, 180px);
  aspect-ratio: 1/1;

  font-style: italic;
  transform: translateY(100%);
}
#release .flexWrap .badge strong {
  font-size: min(5.4vw, 32px);
}
#release .flexWrap .badge span {
  font-size: 0.5em;
  display: inline;
  text-indent: 0;
  color: #fff;
  line-height: 1.8;
  font-feature-settings: "palt";
}

#release .discWrap {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 min(6vw, 60px);
  position: relative;
}
#release .flexWrap .releaseInfo {
  width: 74%;
  padding-top: min(14vw, 120px);
}

#release .flexWrap .disc {
  display: flex;
  flex-wrap: wrap;
}
#release .flexWrap .disc li {
  width: 50%;
  padding-bottom: min(6vw, 40px);
  position: relative;
  margin-bottom: min(6vw, 40px);
}
#release .flexWrap .disc li:nth-child(1) {
  padding-right: min(7vw, 40px);
  border-bottom: #884e00 solid 1px;
}
#release .flexWrap .disc li:nth-child(odd)::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  background-color: #884e00;
  width: 1px;
  height: calc(100% - min(6vw, 40px));
}
#release .flexWrap .disc li:nth-child(2) {
  padding-left: min(7vw, 40px);
  border-bottom: #884e00 solid 1px;
}
#release .flexWrap .disc li:nth-child(3) {
  padding-right: min(7vw, 40px);
}
#release .flexWrap .disc li .jacket {
  line-height: 0;
  margin-bottom: min(4vw, 20px);
}
#release .flexWrap .disc li .type {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: min(3.6vw, 18px);
  margin-bottom: min(3vw, 15px);
  line-height: 1.4;
}
#release .flexWrap .disc li .type span {
  color: #884e00;
  font-size: min(3.2vw, 14px);
}
#release .flexWrap .disc li .price {
  font-size: min(3.2vw, 14px);
  margin-bottom: min(3vw, 15px);
}
#release .flexWrap .disc li .benefits {
  font-size: min(3.2vw, 14px);
}


.reservebtn {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(6vw, 30px);
}
.reservebtn.alignLeft {
  justify-content: left;
}
.reservebtn a {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  display: block;
  background: linear-gradient(90deg, #581511 0%, #884e00 100%);
  color: #fff;
  text-decoration: none;
  width: min(40vw, 300px);
  text-align: center;
  padding: min(4vw, 20px) min(7vw, 40px) min(4vw, 20px) min(4vw, 15px);
  letter-spacing: 0.1em;
  position: relative;
  font-size: min(3.2vw, 14px);
}
#release .reservebtn a {
  width: min(52vw, 300px);
}
.reservebtn a::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: min(4vw, 20px);
  transform: translateY(-50%);
  background: url("../images/ico_arrow.png") no-repeat center center / 100%;
  aspect-ratio: 61/24;
  width: min(4vw, 20px);
}

#release .trackListWrap {
  flex-direction: row;
  margin-top: min(14vw, 100px);
  margin-bottom: min(8vw, 60px);
  position: relative;
}
#release .trackListWrap.newBadge::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  background: url(../images/badge_new.png) no-repeat center center / contain;
  width: min(13vw, 90px);
  aspect-ratio: 316 / 250;
  transform: translate(-39%, -69%);
}
#release .trackListWrap h3 {
  font-size: min(6.2vw, 42px);
  margin-top: 0;
  padding-right: 0 !important;
}
#release .trackListWrap h3 span {
  font-size: 0.32em;
  text-indent: 0;
  color: #884e00;
}
#release .trackList {
  width: 70%;
}
#release .trackList ul li {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#release .trackList ul li + li {
  border-top: #884e00 solid 1px;
  padding-top: min(4vw, 20px);
  margin-top: min(4vw, 20px);
}
#release .trackList ul li a {
  display: block;
  padding: min(1vw, 5px) min(2.5vw, 20px);
  font-size: min(2.8vw, 14px);
  color: #fff;
  text-decoration: none;
  border: #884e00 solid 1px;
  border-radius: 100px;
}
#release .trackList ul li p {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: min(3.7vw, 24px);
}
#release .trackList ul li p span {
  display: block;
  font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-size: min(2.9vw, 12px);
  margin-top: 0.8em;
  line-height: 1.6;
}

#release .wrapBox {
  margin-top: min(26vw, 240px);
  border: #884e00 solid 1px;
  padding: min(4vw, 60px) min(4vw, 60px) min(6vw, 60px);
  margin-bottom: min(10vw, 80px);
}
#release .wrapBox .jacketImg {
  max-width: 540px;
  margin: 0 auto min(6vw, 40px);
}
#release .wrapBox .reservebtn {
  margin-bottom: min(5vw, 32px);
}
#release .wrapBox .lyricsBtn {
  position: static;
}


#release .lyricsBtn {
  display: flex;
  justify-content: center;
/*  margin-top: min(3vw, 32px);*/
  position: absolute;
  bottom: max(-46vw, -260px);
  right: 0;
  z-index: 100;
}
#release .lyricsBtn a {
  border: #884e00 solid 1px;
  border-radius: 100px;
  font-size: min(3.2vw, 14px);
  color: #fff;
  text-decoration: none;
  text-align: center;
  padding: 1em;
  width: min(32vw, 180px);
  line-height: 1;
}
.lyrics {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  background-color: #fff;
  writing-mode: vertical-rl;
  color: #000;
  border-radius: 10px;
  width: 100%;
  box-sizing: border-box;
  overflow: scroll;
}
.lyrics .lyricsInner {
  width: fit-content;
  padding: min(8vw, 60px) min(8vw, 60px) min(14vw, 80px);
  position: relative;
  user-select: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
}
.lyrics .lyricsInner::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
}
.lyrics h4 {
  font-size: min(5.6vw, 28px);
  font-weight: normal;
  margin-left: min(4vw, 20px);
}
.lyrics h4 span {
  transform: rotate(135deg);
  display: inline-block;
}
.lyrics .writer {
  font-size: min(3vw, 12px);
}
.lyrics p {
  margin-left: min(6vw, 30px);
  font-size: min(3.8vw, 16px);
}
.lyrics p:last-child {
  margin-left: 0;
}


.discDetail {
  border-top: #884e00 solid 1px;
  margin-top: min(8vw, 60px);
}
.discDetail li {
  padding: min(2vw, 10px) 0;
  border-bottom: #884e00 solid 1px;
}
.discDetail li a {
  color: #fff;
  text-decoration: none;
  display: block;
  text-align: center;
  padding: min(4vw, 20px);
  position: relative;
  font-weight: bold;
  letter-spacing: 0.08em;
}
.discDetail li a span.plus {
  display: block;
  width: min(6vw, 30px);
  border-radius: 50%;
  border: #884e00 solid 1px;
  aspect-ratio: 1/1;
  position: absolute;
  top: 50%;
  right: min(2vw, 10px);
  transform: translateY(-50%);
}
.discDetail li a span.plus::before,
.discDetail li a span.plus::after {
  content: "";
  display: block;
  background-color: #fff;
  height: 1px;
  width: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.discDetail li a span.plus::before {
  transform: translate(-50%, -50%) rotate(90deg);
}

#serialCode {
  margin-top: max(-8vw, -60px);
  padding-top: min(8vw, 60px);
}
.discDetail li.notice a {
  font-size: min(4vw, 20px);
  padding: min(3vw, 12px);
}
.discDetail li.notice a::after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  opacity: 1;
  background: linear-gradient(110deg, rgb(8,72,46) 1%, rgb(136,78,0) 100%);
  transition: opacity 0.3s ease-out;
}
.discDetail li.notice a span {
  border: #fff solid 1px;
}
.discDetail li.notice > p {
  margin-top: 0.75em;
}
.discDetail li.notice > p .marker {
  background: linear-gradient(transparent 60%, #e4bc0a7f 0%);
}

.discDetail li .btnSerialCode {
  color: #fff;
  text-decoration: none;
  display: block;
  text-align: center;
  padding: min(4vw, 20px);
  position: relative;
  font-weight: bold;
  letter-spacing: 0.08em;
}
.discDetail li span.end {
  display: block;
  background-color: #884e00;
  width: fit-content;
  padding: 0 1.4em;
  margin: min(2vw, 10px) auto 0;
  border: none !important;
}
.discDetail li.notice .btnSerialCode span.end::after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  opacity: 1;
  background: linear-gradient(110deg, rgb(8, 72, 46) 1%, rgb(136, 78, 0) 100%);
  transition: opacity 0.3s ease-out;
}


.songTitleWrap {
  padding: min(6vw, 30px) 0;
  text-align: center;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}
.songTitleWrap .songTitle {
  font-size: min(4.8vw, 36px);
}
.wrapBox .songTitleWrap .songTitle {
  margin-bottom: min(1vw, 6px);
}
.songTitleWrap .releaseDate {
  font-size: min(3.6vw, 18px);
  letter-spacing: 0.08em;
}
.wrapBox .songTitleWrap .releaseDate {
  width: fit-content;
  font-feature-settings: "palt";
  font-size: min(4.6vw, 30px);
  letter-spacing: 0.06em;
  line-height: 1.6;
  border-top: #884e00 solid 3px;
  border-bottom: #884e00 solid 3px;
  margin: 0 auto min(3vw, 16px);
}
.wrapBox .songTitleWrap .releaseDate span {
  font-size: 0.933em;
}
.wrapBox .songTitleWrap .releaseDate span span {
  font-size: 0.714em;
}
.songTitleWrap + .reservebtn {
  margin-top: min(2vw, 24px);
}
#btnLink.modal h3 {
  font-size: min(3.4vw, 16px);
}
#btnLink .modalCont {
  border-bottom: 0;
  padding-bottom: 0;
}
#btnLink .modalCont > p {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: min(4.2vw, 24px);
  font-weight: normal;
  text-align: center;
  margin-bottom: min(4vw, 16px);
}


.movTtl {
  font-size: min(6.4vw, 48px);
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  text-align: center;
  line-height: 2;
  margin-bottom: min(6vw, 40px);
}
.movTtl span {
  font-weight: normal;
  font-size: 0.54em;
  display: inline-block;
  line-height: 1.6;
}


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

  #release .flexWrap h3 {
    padding-right: 2em;
  }
  #release .flexWrap h3 > span.small {
    position: absolute;
    top: 0;
    right: 0;
    width: 14em;
    transform: translate(46%, 240%) rotate(90deg);
  }
  #release .flexWrap h3 > span.rl {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
  }
  #release .flexWrap h3 > span.rl span.pc {
    transform: rotate(135deg);
    display: inline-block;
  }

  /* .discDetail li a {
    background: linear-gradient(90deg, rgba(136,77,0,0) 0%, rgba(90,24,16,0) 50%, rgba(136,77,0,0) 100%);
  } */
  .discDetail li a::before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
    opacity: 0;
    background: linear-gradient(90deg, rgba(136,77,0,0.3) 0%, rgba(90,24,16,0.3) 50%, rgba(136,77,0,0.3) 100%);
    transition: opacity 0.3s ease-out;
  }
  .discDetail li a:hover,
  .discDetail li a:hover::before {
    opacity: 1;
  }
  .discDetail li a span {
    transition: all 0.3s ease-out;
  }
  .discDetail li a:hover span {
    background: #884e00;
  }

  .discDetail li.notice a:hover::after {
    opacity: 0;
  }
}
@media screen and (max-width: 820px) {

  #release h2 {
    position: static;
    margin-bottom: min(6vw, 30px);
  }

  #release .flexWrap {
    flex-direction: column;
    gap: min(6vw, 30px);
  }
  #release .flexWrap h3 {
    padding: 0 min(6vw, 60px);
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    margin-top: 0;
    width: 100%;
  }
  #release .trackListWrap.flexWrap h3 {
    padding: 0;
  }
  #release .flexWrap h3 > span {
    font-size: 0.6em;
    text-indent: 0;
  }
  #release .flexWrap .badge {
    right: min(4vw, 60px);
    bottom: min(10vw, 80px);
    transform: translateY(0%);
  }
  #release .lyricsBtn {
    bottom: max(-16vw, -120px);
    right: auto;
    left: min(6vw, 60px);
  }
  #release .lyricsBtn a {
    padding: 1em;
  }

  #release .discWrap {
    padding: 0;
  }

  #release .flexWrap .releaseInfo {
    width: 100%;
    padding-top: 0;
  }

  .reservebtn a {
    font-size: 0.8em;
    text-align: left;
    letter-spacing: 0.1em;
  }
  .reservebtn.alignLeft {
    justify-content: center;
  }

  .discDetail li a {
    text-align: left;
  }


  #release .trackList {
    width: 100%;
  }

  #release .flexWrap .disc {
    padding-top: min(14vw, 100px);
  }
  #release .flexWrap .disc li {
    display: flex !important;
    flex-direction: column;
    padding: 0 min(6vw, 40px) !important;
    border-bottom: none !important;
    border-right: #884e00 solid 1px;
    margin-bottom: 0;
  }
  #release .flexWrap .disc li .reservebtn {
    flex-grow: 1;
    align-items: end;
  }
  #release .flexWrap .disc li:nth-child(odd)::after {
    display: none;
  }
  #release .flexWrap .disc .slick-track {
    display: flex;
  }
  #release .flexWrap .disc .slick-slide {
    height: auto !important;
  }
  #release .flexWrap .disc li,
  #release .flexWrap .disc .slick-slide > div {
    height: 100% !important;
  }

  #release .disc .slick-prev {
    border: #884e00 solid 1px;
    background: url("../images/ico_arrow_back.png") no-repeat center center / 45%;
    border-radius: 50%;
    top: 0;
    right: min(20vw, 160px);
    left: inherit;
    width: min(10vw, 80px);
    height: min(10vw, 80px);
    transform: translate(0);
  }
  #release .disc .slick-next {
    border: #884e00 solid 1px;
    background: url("../images/ico_arrow.png") no-repeat center center / 45%;
    border-radius: 50%;
    top: 0;
    right: min(6vw, 60px);
    width: min(10vw, 80px);
    height: min(10vw, 80px);
    transform: translate(0);
  }
  #release .disc .slick-prev:before,
  #release .disc .slick-next:before {
    display: none;
  }

}


/* ////////////////////////////////////////////////////////////////////////////////

	Tour

//////////////////////////////////////////////////////////////////////////////// */
#tour::before {
  content: "";
  position: absolute;
  top: -56vw;
  left: 0;
  width: 80%;
  aspect-ratio: 2959/3455;
  z-index: 0;
  background: url("../images/bg_parts03.png") no-repeat left center / 100%;
}
#tour .flexWrap {
  flex-direction: row-reverse;
}
#tour h2 {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
#tour .tourTxt {
  width: 82%;
}
#tour .tourLead {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  margin-bottom: min(8vw, 60px);
}
#tour .tourLead h3 {
  font-size: min(4.8vw, 34px);
  font-weight: 400;
  line-height: 1.5;
}
#tour .tourLead h3 span {
  font-size: min(4.5vw, 26px);
}
#tour .tourTxt h4 {
  font-family: lust-sans, sans-serif;
  font-weight: 500;
  font-size: min(6.6vw, 48px);
  letter-spacing: 0.08em;
  line-height: 1.4;
  color: #884e00;
  margin-bottom: min(6vw, 30px);
}

.scheduleHead {
  display: flex;
  color: #884e00;
  border-bottom: #884e00 solid 1px;
  font-size: min(3.2vw, 14px);
  margin-bottom: min(2vw, 10px);
}
.scheduleHead .date {
  width: 35%;
}
.scheduleHead .area {
  width: 12%;
}
.scheduleHead .venue {
  width: 48%;
}

.scheduleList {
  margin-bottom: min(8vw, 60px);
}
.scheduleList li {
  display: flex;
  align-items: center;
  padding: min(3vw, 15px) 0;
  border-bottom: #884e00 solid 1px;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}
.scheduleList li .date {
  width: 35%;
  font-size: min(5.2vw, 20px);
  color: #884e00;
}
.scheduleList li .date span {
  color: #fff;
}
.scheduleList li .date span.week {
  font-size: 0.6em;
}
.scheduleList li .area {
  width: 11%;
  padding-right: min(4vw, 20px);
  font-size: min(3.2vw, 14px);
}
.scheduleList li .area span {
  display: block;
  background-color: #884e00;
  text-align: center;
  letter-spacing: 0.1em;
}
.scheduleList li .venue {
  width: 49%;
  font-size: min(3.6vw, 18px);
}

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

  .scheduleHead {
    display: none;
  }
  #tour .schedule .tourTxt {
    width: 100%;
  }
  .scheduleList {
    border-top: #884e00 solid 1px;
  }
  .scheduleList li {
    flex-wrap: wrap;
  }
  .scheduleList li .date {
    width: 100%;
    display: flex;
    align-items: baseline;
    gap: min(1vw, 5px);
    margin-bottom: min(1vw, 5px);
  }
  .scheduleList li .date::before {
    display: block;
    content: "DATE";
	  font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    font-size: min(3vw, 12px);
    width: min(25vw, 120px);
  }
  .scheduleList li .area {
    width: 50%;
    display: flex;
    gap: min(1vw, 5px);
  }
  .scheduleList li .area::before {
    display: block;
    content: "AREA / VENUE";
	  font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    color: #884e00;
    font-size: min(3vw, 12px);
    width: min(25vw, 120px);
  }
  .scheduleList li .area span {
    width: calc(100% - min(25vw, 120px));
  }
  .scheduleList li .venue {
    width: 50%;
  }
  
  #tour .tourLead h3 {
    margin-bottom: min(3vw, 15px);
  }

}

/* ////////////////////////////////////////////////////////////////////////////////

	Book

//////////////////////////////////////////////////////////////////////////////// */
#book .flexWrap {
  padding-bottom: min(14vw, 120px);
}
#book h2 {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
#book .bookContent {
  width: 80%;
  /* display: flex;
  justify-content: space-between;
  align-items: center; */
  padding-bottom: min(6vw, 30px);
  border-bottom: #884e00 solid 1px;
}
/* #book .bookContent .thumb {
  width: 35%;
  aspect-ratio: 1/1;
  line-height: 0;
  background-color: #fff;
} */
#book .bookContent .bookTxt {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  /* width: 60%; */
}
#book .bookContent .bookTxt h3 {
  /* font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: min(3.8vw, 20px);
  font-weight: normal; */
  font-size: min(6.4vw, 36px);
  font-weight: 400;
  line-height: 1.6;
  /* letter-spacing: 0.1em; */
  margin-bottom: min(3vw, 15px);
}
#book .bookContent .bookTxt h3 + p {
  font-size: min(3.8vw, 20px);
  font-weight: 400;
  line-height: 1.6;
  margin-bottom: min(3vw, 15px);
}
#book .bookContent .bookTxt p {
  font-size: min(3vw, 14px);
  margin-bottom: min(6vw, 30px);
}

@media screen and (max-width: 820px) {
  #book .bookContent {
    flex-direction: column;
    gap: min(6vw, 30px);
  }
  #book .bookContent .thumb {
    width: 100%;
  }
  #book .bookContent .bookTxt {
    width: 100%;
  }

}


#colorbox {
  overflow: visible !important;
}
#cboxLoadedContent {
  border-radius: min(2vw, 10px);
}

.modal {
  background-color: #fff;
  padding: min(8vw, 60px) min(5vw, 60px);
  color: #000;
  min-height: 100%;
  box-sizing: border-box;
}
.modal h3 {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: min(4.2vw, 24px);
  font-weight: normal;
  line-height: 1.6;
  text-align: center;
  padding-bottom: min(3vw, 15px);
  border-bottom: #884e00 solid 1px;
  color: #884e00;
}
.modalCont {
  padding: min(6vw, 30px) 0;
  border-bottom: #884e00 solid 1px;
}
.modalCont p {
  font-size: min(3.2vw, 14px);
}
.modalCont p strong {
  color: #000;
}
.modalCont p + p {
  margin-top: min(4vw, 20px);
}
.modalCont p a {
  color: #884e00;
  text-decoration: underline;
}
.modalCont .note {
  font-size: min(3vw, 12px);
}
.modalCont h4 {
  font-size: min(3.6vw, 18px);
  font-weight: bold;
  color: #884e00;
  margin-bottom: min(4vw, 20px);
}
.modalCont h4 span {
  font-size: min(3.2vw, 14px);
  display: block;
  color: red;
  font-weight: normal;
}
.modalCont .beltTtl {
  background-color: #f3e5d2;
  padding: min(1vw, 5px) min(4vw, 20px);
  font-weight: bold;
  margin-bottom: min(4vw, 20px);
}

.modalCont .modalTable {
  display: flex;
  flex-wrap: wrap;
  border-top: #000 solid 1px;
  font-size: min(3.2vw, 14px);
  margin-bottom: min(4vw, 20px);
  margin-top: min(4vw, 20px);
}
.modalCont .modalTable dt {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #000;
  border-bottom: #000 solid 1px;
  padding: min(1vw, 5px) min(2vw, 20px);
  width: min(22vw, 140px);
  box-sizing: border-box;
  color: #fff;
  text-align: center;
}
.modalCont .modalTable dd {
  border-right: #000 solid 1px;
  border-bottom: #000 solid 1px;
  padding: min(1vw, 5px) min(3vw, 20px);
  width: calc(100% - min(22vw, 140px));
  box-sizing: border-box;
}

.modalCont .anchorList {
  display: flex;
  flex-wrap: wrap;
  gap: min(3vw, 16px);
  margin-bottom: min(4vw, 32px);
}
.modalCont .anchorList a {
  font-size: min(3vw, 14px);
  text-decoration: none;
  background-color: #ccc;
  color: #000;
  border-radius: 100px;
  padding: 0 1em;
}
.modalCont table {
  width: 100%;
  border-spacing: 1px;
  background-color: #000;
}
.modalCont table th {
  background-color: #ccc;
  line-height: 1.2;
  padding: min(2.5vw, 14px) min(4vw, 16px);
}
.modalCont table td {
  background-color: #fff;
  padding: min(2vw, 10px) min(4vw, 16px);
}
.modalCont table th,
.modalCont table td {
  font-size: min(3.4vw, 16px);
}
.modalCont table tbody th {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.08em;
}

.modal > .backBtn {
  text-align: center;
  margin-top: min(6vw, 30px);
}
.modal > .backBtn >.change-modal {
  color: #884e00;
  text-decoration: underline;
}

/* .logoList {
  display: flex;
  flex-wrap: wrap;
  gap: min(3vw, 15px) calc((100% - 23.5% * 4) / 3);
  margin-bottom: min(6vw, 30px);
}
.logoList li {
  width: 23.5%;
  aspect-ratio: 20/8;
  box-sizing: border-box;
}
.logoList li a {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 100%;
  height: 100%;
  background-color: #884e00;
  border-radius: 100px;
  color: #fff;
  text-decoration: none;
  font-size: min(3vw, 12px);
  line-height: 1.4;
} */

.logoList {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: min(1.5vw,10px) 2%;
  margin-bottom: min(6vw, 32px);
}
.logoList li {
  width: 48%;
  border: #ccc solid 1px;
  border-radius: 100px;
}
.logoList li:first-child {
  width: 100%;
}
.logoList li:first-child a img {
  width: 80%;
  max-width: 282px;
  padding: min(2vw, 10px) 0;
}
.logoList li a img {
  display: block;
  width: 100%;
  max-width: 180px;
  margin: auto;
}


.dotList {
  padding-left: min(4vw, 20px);
  font-size: min(3.2vw, 14px);
  list-style: disc;
  margin-bottom: min(6vw, 30px);
}
.dotList li a {
  color: #884e00;
  text-decoration: underline;
}
.bgBox {
  background-color: #eeeeee;
}
.bgBox h5 {
  border-bottom: #000 solid 1px;
  font-size: min(3.4vw, 16px);
  padding: min(4vw, 20px) min(4vw, 30px) min(2vw, 10px);
  text-align: center;
}
.bgBox .bgBoxTxt {
  padding: min(4vw, 20px) min(4vw, 30px);
}


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


  /* .logoList {
    justify-content: space-between;
    gap: min(4vw, 20px) 0;
  }
  .logoList li {
    width: 48%;
  } */

}


/* ////////////////////////////////////////////////////////////////////////////////

	Footer

//////////////////////////////////////////////////////////////////////////////// */
footer {
  font-family: "source-han-sans-japanese", sans-serif;
	background-color: #000;
	color: #fff;
	position: relative;
}
footer .ftrSns {
	display: flex;
	border-top: #333 solid 1px;
	border-bottom: #333 solid 1px;
}
footer .ftrSns li {
	width: 20%;
}
footer .ftrSns li + li {
	border-left: #333 solid 1px;
}
footer .ftrSns li a {
	color: #fff;
	text-decoration: none;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.6;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	padding: 25px 30px;
	height: 100%;
}
footer .ftrSns li a i.snsIcon {
	color: #fff;
	font-size: 24px;
	margin-right: 20px;
}
footer .ftrSns li a span {
  width: 45px;
	line-height: 0;
	margin-right: 20px;
}

footer .ftrMain {
	padding: min(6vw, 60px) min(6vw, 60px) min(10vw, 100px);
}
footer .ftrMain .copyWrap {
	display: flex;
	align-items: center;
	width: 82%;
	max-width: 880px;
	margin: auto;
}
footer .ftrMain .copyWrap .logo {
	width: 540px;
	margin-right: 30px;
}
footer .ftrMain .copyWrap p {
	font-size: 12px;
	font-weight: 200;
}
footer .ftrMain .copyright {
	font-size: 10px;
	text-align: center;
	margin-top: 30px;
	font-weight: 200;
}


footer .ftrMain .ftrNav {
	width: 50%;
	display: flex;
}
footer .ftrMain .ftrNav ul {
	width: 50%;
	border-left: #333 solid 1px;
	padding: 0 6%;
}
footer .ftrMain .ftrNav li + li {
	margin-top: 8px;
}
footer .ftrMain .ftrNav a {
	color: #fff;
	text-decoration: none;
	font-size: 14px;
}
footer .ftrMain .ftrSubNav {
	width: 25%;
	border-left: #333 solid 1px;
	padding: 0 3%;
}
footer .ftrMain .ftrSubNav li + li {
	margin-top: 8px;
}
footer .ftrMain .ftrSubNav a {
	color: #fff;
	text-decoration: none;
	font-size: 14px;
}

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

	footer .ftrSns {
		display: flex;
		flex-wrap: wrap;
	}
	footer .ftrSns li {
		width: 50%;
	}
	footer .ftrSns li:last-child {
		width: 100%;
	}
	footer .ftrSns li + li {
		border-left: none;
	}
	footer .ftrSns li:nth-child(even) {
		border-left: #333 solid 1px;
	}
	footer .ftrSns li:nth-child(n+3) {
		border-top: #333 solid 1px;
	}

	footer .ftrSns li a {
    	font-size: min(2.6vw, 12px);
		padding: min(4vw, 25px) min(5vw, 30px);
	}
	footer .ftrSns li a i.snsIcon {
		font-size: min(6vw, 24px);
		margin-right: min(3vw, 20px);
	}
	footer .ftrSns li a span {
		width: min(14vw, 45px);
		margin-right: min(4vw, 20px);
	}
	footer .ftrSns li:last-child a {
		justify-content: center;
	}

	footer .ftrMain {
	  padding: min(6vw, 60px) min(6vw, 60px) min(22vw, 100px);
	}
	footer .ftrMain .copyWrap {
		flex-direction: column;
	}
	footer .ftrMain .copyWrap .logo {
    width: 68%;
    max-width: 240px;
    margin: 0 auto min(5vw, 25px);

	}
	footer .ftrMain .copyWrap p {
		font-size: min(3vw, 12px);
	}
	footer .ftrMain .copyright {
		font-size: min(2.2vw, 10px);
		margin-top: min(8vw, 30px);
	}

}
