@charset "utf-8";



/* --------------------------
  CSS変数設定
-------------------------- */
:root {
/* color */
  --white: #f9f9f9; 
  --black: #000;
  --black3: #333;
  --gray: #e6e6e6;
  --red: #903;

/* font-size */
/* Safari BUG対策（clamp） */
  --fs_10: min(20.8333px, max(2.777778vw, 10px));     /* min-ref: CSSpx 360 */
  --fs_11: min(22.9167px, max(3.055556vw, 11px));     /* min-ref: CSSpx 360 */
  --fs_12: min(25.0000px, max(3.333333vw, 12px));     /* min-ref: CSSpx 360 */
  --fs_13: min(27.0833px, max(3.611111vw, 13px));     /* min-ref: CSSpx 360 */
  --fs_14: min(29.1667px, max(3.888889vw, 14px));     /* min-ref: CSSpx 360 */
  --fs_14-4: min(30.0000px, max(4.000000vw, 14.4px)); /* min-ref: CSSpx 360 */
  --fs_15: min(31.2500px, max(4.166667vw, 15px));     /* min-ref: CSSpx 360 */
  --fs_16: min(33.3333px, max(4.444444vw, 16px));     /* min-ref: CSSpx 360 */
  --fs_17: min(35.4165px, max(4.722222vw, 17px));     /* min-ref: CSSpx 360 */
  --fs_18: min(37.5000px, max(5.000000vw, 18px));     /* min-ref: CSSpx 360 */
  --fs_19: min(39.5833px, max(5.277778vw, 19px));     /* min-ref: CSSpx 360 */
  --fs_20: min(41.6667px, max(5.555556vw, 20px));     /* min-ref: CSSpx 360 */

/* scroll-padding (link用) */
  --head_padding: min(15.569333vw,116.77px);
  scroll-padding-top: var(--head_padding); /* 初期値を設定 */

}



/* --------------------------------------------------------
  共通設定
-------------------------------------------------------- */

/* html */
html {
  /* scroll-behavior: smooth; */
  scroll-behavior: auto;
  scroll-restoration: auto;
}


/* body */
body {
  -moz-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  position: relative;
  color: var(--black);
  background-color: var(--black);
  scroll-behavior: smooth;
  text-rendering: optimizeLegibility;
  font-family: "GenjyuuGLP", sans-serif;
  font-weight: 300;
  color: var(--white);
  background-color: var(--black);
}

/* wrap */
#wrap {
  margin: auto;
  width: min( 100vw,750px);
  color: var(--white);
  background-color: var(--black);
  position: relative;
  top: 0;
  left: 0;
  z-index: 1;
  overflow: hidden;
  visibility: visible;
}

/* --------------------------------------------------------
  共通設定:スクリーンリーダー専用テキスト（span.class設定）
-------------------------------------------------------- */
span.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  overflow: hidden;
  white-space: nowrap;
}


/* --------------------------------------------------------------
  共通設定:スクロール表示
-------------------------------------------------------------- */
.fuwatto {
  transform: translateY(40px);
  transition: transform 1s ease, opacity 1s ease;
  opacity: 0;
  visibility: hidden;
}

.fuwatto.act {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
}



/* --------------------------------------------------------------
  共通設定:フェードイン表示
-------------------------------------------------------------- */
/* 初期状態：非表示 */
#wrap.fade-in {
  opacity: 0;
  visibility: hidden;
  transition: opacity 5s ease, visibility 5s ease;
}

/* 表示状態：フェードイン */
#wrap.fade-in.visible {
  opacity: 1;
  visibility: visible;
}



/* ------------------------------
  header（ヘッダー） 
------------------------------ */
header {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%,0);
  width: 100%;
  padding: min(15px, 2%);
  background-color: var(--black);
  transition: top 0.2s ease;
  z-index: 1000;
}

header.is-fixed {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  width: 100%;
  z-index: 1000;
}

header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: min(100%, 750px);
  height: 100%;
  transform: translateX(-50%);
  background-color: rgba(0,0,0,1.0);
}

#header {
  display: block;
  margin: auto;
  width: min(750px, max(100%, 360px));
  height: 100%;
  position: relative;
  visibility: visible;
  opacity: 1;
  transition: opacity 0.5s;
}

#header.-active {
  opacity: 0;
}



/* --- ロゴ部 --- */
#header #logo {
  margin: auto auto auto 4%;
  width: min( 15%, 112.5px);
}



/* -----------------------------------------
  横向きスマホのみ（PC・タブレット除く） 
----------------------------------------- */
@media (orientation: landscape) and (max-height: 500px) {

  /* 幅（コンテンツwidth） */   
  .1ios-dev,
  .1android-dev {
    transform: scale(0.9);
    transform-origin: top;
  }
  


  /* logo */
  .ios-dev header,
  .android-dev header {
    padding: 2vh;
  }

  .ios-dev #header #logo,
  .android-dev #header #logo {
    height: 10vh;
  }

  /* menu */
  .ios-dev header button.hamburger,
  .android-dev header button.hamburger {
    transform: translate(0,-50%) scale(0.6);
  }

  .ios-dev header .welcome_icon1,
  .android-dev header .welcome_icon1 {
    transform: translate(0,-50%) scale(0.6);
  }

  .ios-dev header .welcome.header,
  .android-dev header .welcome.header {
    transform: translate(0,-50%) scale(0.6);
  }

}

@media (orientation: landscape) and (max-height: 500px) and (min-width: 751px) {

  /* menu */
  .ios-dev header button.hamburger,
  .android-dev header button.hamburger {
    transform: translate(-330px,-50%) scale(0.6);
  }

}



/* ------------------------------
  ハンバーガーメニュー
------------------------------ */
/* header（「三」表示） */

.hamburger {
  width: min(45px, max(6vw, 21.6px));
  height:  min(45px, max(6vw, 21.6px));
  position: absolute;
  top: 50%;
  right: 6%;
  transform: translate(0%,-50%);
  transform-origin: 50% 50%;
  z-index: 10; /* 初期表示を前面に */
  opacity: 1;
  transition: transform 0.3s ease-in; /* transform のみをアニメーション */
}

/* PC(751px以上) */
@media screen and (min-width:751px) {
  .hamburger {
    left: 50%;
    transform: translate(295px,-50%);
  }
}

/* 展開前 */
.hamburger__line {
  display: block;
  width: 100%;
  height: min(0.8vw,6px);
  background-color: var(--white);
  transition: 0.4s;
  position: absolute;
  left: 0;
}

.hamburger__line:nth-of-type(1) {
  top: 0;
}

.hamburger__line:nth-of-type(2) {
  top: 50%;
  transform: translateY(-50%);
}

.hamburger__line:nth-of-type(3) {
  bottom: 0;
}

/* ------------------------------
  ハンバーガーメニュー 展開内容
------------------------------ */

/* -----「三」展開後「✕」----- */
/* --- クリックイベント対策 --- */
#navigation .app_content .link-DIS {
  display: none;
}

#navigation.-active .app_content .link-DIS {
  display: block;
}


/* --- header --- */
#js-hamburger.-active {
  /* transform: translate(min(630px, max(84vw, 302.4px)),-50%); */
  opacity: 1; /* 展開後も表示 */
  visibility: visible;
  z-index: 10; /* 展開後も前面に */
}

.hamburger.-active .hamburger__line {
  background-color: var(--white);
}

.hamburger.-active .hamburger__line:nth-of-type(1) {
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}

.hamburger.-active .hamburger__line:nth-of-type(2) {
  background-color: transparent;
}

.hamburger.-active .hamburger__line:nth-of-type(3) {
  bottom: 50%;
  transform: translateY(50%) rotate(-45deg);
}

/* PC(751px以上) */
@media screen and (min-width:751px) {
  #js-hamburger.-active {
    left: 50%;
    right: auto;
    transform: translate(290px, -50%);
  }
}

/* --- スマホ横向き --- */
@media (orientation: landscape) and (max-height: 500px) {

	/* android */
  .android-dev #js-hamburger.-active {
    transform: translate(80vw,-25%) scale(0.6);
  }

	/* iPhone Chrome */
  .ios-dev #js-hamburger.-active {
    transform: translate(80vw,-25%) scale(0.6);
  }

  /* iPhone Edge */
  .ios-dev.is-edge-iphone #js-hamburger.-active {
    transform: translate(calc(80vw - 50vw), -25%) scale(0.6);
  }

  /* iPhone Safari */
  .ios-dev.is-safari-iphone #js-hamburger.-active {
    transform: translate(calc(80vw - 50vw), -25%) scale(0.6);
  }


}



/* -----------------------------------
  ナビゲーションメニュー 展開内容
----------------------------------- */

/* main */
main.main-contents__1st { /* 1st */
  margin: auto;
  padding-top: 0;
  width: 100%;
  position: relative;
  z-index: 0;
}

/* メインコンテンツ用wrap（2nd以降） */
main.main-contents {
  margin: auto;
  padding-top: var(--head_padding);
  width: 100%;
  position: relative;
  z-index: 0;
}


.main-contents__1st.-active::before,
.main-contents.-active::before {
  content: "";
  width: 100vw;
  height: 100vh;
  background-color: rgba(0,0,0,0.5);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;

}


/* nav */
.header__nav-area {
  padding: 0;
  width: 100%;
  height: 100vh;
  font-family: "GenjyuuGLP", serif;
  font-weight: 300;
  font-size: var(--fs_14);
  position: fixed;
  top: 0;
  left: 0;
  overflow: scroll;
  opacity: 0; 
  visibility: hidden;
  z-index: -1;
  transition: opacity 0.3s ease, visibility 0.3s ease, z-index 0.3s ease;
  touch-action: pan-y pinch-zoom;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-y: contain;
  overflow-x: hidden;
  pointer-events: none;
  touch-action: none;
  display: none;
}

.header__nav-area.-active {
  display: block;
  max-width: 750px;
  color: var(--black);
  background-color: var(--white);
  opacity: 1; 
  visibility: visible;
  z-index: 9;
  pointer-events: auto;
  touch-action: auto;
}

/* PC */
@media screen and (min-width:750px) {
  .header__nav-area.-active {
    left: 50%;
    transform: translate(-50%,0);
  }

}

.menu-wrap {
  margin: auto auto auto 0;
  padding-bottom: 20%;
  width: min(750px, max(100vw, 360px));
  min-height: 100vh;
  height: auto;
}

/* --- nav-logo --- */
.nav-logo {
  margin: 0;
  padding: 8% 0 12%;
  width: 100.33%;
  background-color: var(--black);
  position: sticky;
  top: 0;
  z-index: 2;
  transform: translate(0,0);
}

.nav-logo a {
  display: grid;
  place-items: center;
  position: relative;
  
}

.nav-logo a h2 {
  display: inline-block;
  font-family: "GenjyuuGLP", sans-serif;
  font-weight: 400;
  font-size: var(--fs_12);
  letter-spacing: 0.05em;
  line-height: 1;
  color: var(--white);
  position: absolute;
  top: 140%;
  left: 50%;
  transform: translateX(-50%);
}

.nav-logo a h2::before,
.nav-logo a h2::after {
  content: "-";
  width: 1em;
  height: 1em;
  transform: scale(2,1);
}

.nav-logo a h2::before {
  position: absolute;
  top: -0.05em;
  left: -0.5em;
}

.nav-logo a h2::after {
  position: absolute;
  top: -0.05em;
  right: -1.65em;
}



.nav-logo img {
  width: 55%;
}

/* --- スマホ横向き --- */
@media (orientation: landscape) and (max-height: 500px) {

  .ios-dev .nav-logo img,
  .android-dev .nav-logo img {
    object-fit: contain;
    height: 20vh;
  }

  .ios-dev .nav-logo a h2,
  .android-dev .nav-logo a h2 {
    font-size: 1.3vw;
    left: 50.4%;
  }

}



/* --- 区切り線 --- */
.header__nav-area .divider-line {
  margin: auto auto auto 0;
  width: 60%;
  height: min(0.2vw,1.5px);
  background-color: var(--white);
}


/* --------------------------------------------
  Navigation メニュー内告知
-------------------------------------------- */
/* 告知がない場合はHTMLにて非表示（コメントアウト） */
.menu-wrap .notice-box {
  margin: 5% auto;
  padding-top: 10%;  
  width: 50%;
}

/* --- link対策(PC・SP)@media制御 --- */
/* for PC */
@media (hover: hover) {
  .menu-wrap .notice-box a:hover {
    opacity: 0.6;
  }

}

/* for SP */
@media (hover: none) {
  .menu-wrap .notice-box a:active {
    opacity: 0.6;
  }

}


/* --------------------------------------------
  Navigation アコーディオンメニュー展開内容
-------------------------------------------- */
/* --- --- title --- --- */
nav.ACC {
  margin: auto auto 15%;
  width: 100%;
}

nav.ACC .accordion .TTL {
  margin: 10% auto 3%;
  position: relative;
}

nav.ACC .accordion .TTL h2 {
  margin: auto auto auto 0;
  width: 52%;
  font-family: "Sansation", sans-serif;
  font-weight: 400;
  font-size: var(--fs_17);
  letter-spacing: 0.05em;
  line-height: 1.2;
  text-align: center;
  position: relative;
}

/* TTL背景ポリゴン */
nav.ACC .accordion .TTL h2::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #ccc;
  clip-path: polygon(20% 50%, 100% 50%, 80% 100%, 0 100%);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

/* --- --- アコーディオンメニュー --- --- */
nav .accordion {
  width: 100%;
}

/* --- 1 --- */
nav .accordion-item {
  padding-bottom: 1%;
  overflow: hidden;
}

nav .powder > .accordion-header,
nav .liquid > .accordion-header,
nav .limited > .accordion-header,
nav .five > .accordion-header,
nav .six > .accordion-header {
  padding: 7% 5% 6%;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: end;
  transition: background 0.3s ease;
  position: relative;
}

nav .powder > .accordion-header span.f11,
nav .liquid > .accordion-header span.f11,
nav .limited  > .accordion-header span.f11 {
  display: inline-block;
  margin-bottom: -1%;
  width: 55%;
  text-align: left;
  font-family: "Sansation", sans-serif;
  font-weight: 300;
  font-size: var(--fs_14);
  letter-spacing: 0.05em;
  line-height: 1.2;
  white-space: nowrap;
  
}

nav .powder > .accordion-header span.f12,
nav .liquid > .accordion-header span.f12,
nav .limited > .accordion-header span.f12,
nav .five > .accordion-header span.f12,
nav .six > .accordion-header a span.f12 {
  display: inline-block;
  width: 40%;
  text-align: left;
  font-family: "GenjyuuGLP", sans-serif;
  font-weight: 300;
  font-size: var(--fs_14);
  letter-spacing: 0.05em;
  line-height: 1;
}

nav .limited > .accordion-header a,
nav .five > .accordion-header a,
nav .six > .accordion-header a {
  width: 99%;
}

nav .five > .accordion-header span.f12,
nav .six > .accordion-header a span.f12 {
  width: 96%;
}

/* - 1-1 - */
nav .limited_1 > .accordion-header {
  margin-top: 1%;
  padding: 5% 6% 5% 10%;
  cursor: pointer;
  display: flex;
  justify-content: flex-start;
  align-items: end;
  transition: background 0.3s ease;
}

nav .limited_1 > .accordion-header span.f13 {
  display: inline-block;
  width: 95.5%;
  font-family: "GenjyuuGLP", sans-serif;
  font-weight: 300;
  font-size: var(--fs_12);
  letter-spacing: 0.05em;
  line-height: 1;
}

nav .limited_1 > .accordion-header span.f13-1 {
  display: inline-block;
  font-family: "CrSC", serif;
  font-weight: 500;
}

nav .limited_1 > .accordion-header span.icon {
  display: inline-block;
  font-family: "GenjyuuGLP", sans-serif;
  font-weight: 400;
  font-size: var(--fs_14);
  letter-spacing: 0.05em;
  line-height: 1;
}



/* --------------------------
   メニュー位置調整
-------------------------- */

/* - 1-1-1 - */
nav .accordion-content.powder_1 a p,
nav .accordion-content.powder_1 p,
nav .accordion-content.liquid_1 a p,
nav .accordion-content.liquid_1 p,
nav .accordion-content.limited_1 a p,
nav .accordion-content.limited_1-1 a p,
nav .accordion-content.limited_1-1 p,
nav .accordion-content.five_1 a p {
  margin-bottom: 0.5%;
  padding: 8% 0 7% 15%;
  font-family: "GenjyuuGLP", sans-serif;
  font-weight: 300;
  font-size: var(--fs_13);
  letter-spacing: 0.05em;
  line-height: 1;
  position: relative;
  background-color: rgba(0,0,0,0.05);
}

nav .accordion-content.powder_1 p.prep::after,
nav .accordion-content.liquid_1 p.prep::after,
nav .accordion-content.limited_1-1 p.prep::after {
  content: "準備中";
  width: fit-content;
  height: 1em;
  font-family: "GenjyuuGLP", sans-serif;
  font-weight: 400;
  font-size: var(--fs_13);
  color: var(--red);
  line-height: 1;
  letter-spacing: 0.1em;
  position: absolute;
  top: 50%;
  left: 55%;
  transform: translate(0,-33%);
  z-index: 1;
}

nav .six > .accordion-header::after {
  content: "準備中";
  width: fit-content;
  height: 1em;
  font-family: "GenjyuuGLP", sans-serif;
  font-weight: 400;
  font-size: var(--fs_13);
  color: var(--red);
  line-height: 1;
  letter-spacing: 0.1em;
  position: absolute;
  top: 50%;
  left: 55%;
  transform: translate(0,-33%);
  z-index: 1;

}




/* 
nav .accordion-content.powder_1 a p::before,
nav .accordion-content.liquid_1 a p::before,
nav .accordion-content.limited_1 a p::before,
nav .accordion-content.limited_1-1 a p::before,
nav .accordion-content.five_1 a p::before {
  content:"";
  display: inline-block;
  width: 15%;
  height: 1px;
  position: absolute;
  top: 85%;
  right: 10%;
  transform: translate(0%,0%) scale(1,0.5);
}

nav .accordion-content.powder_1 a p::after,
nav .accordion-content.liquid_1 a p::after,
nav .accordion-content.limited_1 a p::after,
nav .accordion-content.limited_1-1 a p::after,
nav .accordion-content.five_1 a p::after {
  content: "";
  display: inline-block;
  width: 3.5%;
  height: 1px;
  position: absolute;
  top: 85%;
  right: 10%;
  transform: translate(0%,0%) rotate(20deg) scale(1,0.5);
  transform-origin: 100% 50%;
}

*/

/* 下罫線 */
nav .accordion-item.powder,
nav .accordion-item.liquid,
nav .accordion-item.limited,
nav .accordion-item.five,
nav .accordion-item.six {
  border-bottom: solid 1px #ccc;
}

nav .accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease-in-out, padding 0.3s ease-in-out;
  padding: 0 10px;
}

/* コンテンツ調整 */
 
nav .accordion-content.open {
  max-height: 43em;
  padding: 0;
}

nav .accordion-header.open .icon {
  transform: rotate(180deg);
}

nav .accordion-item.powder .accordion-header span.icon,
nav .accordion-item.liquid .accordion-header span.icon,
nav .accordion-item.limited .accordion-header span.icon,
nav .accordion-item.five .accordion-header span.icon,
nav .accordion-item.powder_1 .accordion-header span.icon,
nav .accordion-item.liquid_1 .accordion-header span.icon,
nav .accordion-item.limited_1 .accordion-header span.icon {
  font-size: var(--fs_16);
  transform: translate(0, 0.27em);
}

nav .accordion-item.limited,
nav .accordion-item.five,
nav .accordion-item.six {
  margin-bottom: 0;
}

/* 非表示（準備中） */
nav .accordion-item.five {
  display: none;
}

/* 工場在庫注文 */
.accordion .info-box {
  margin: 7.5% auto;
  width: 90%;
}

.accordion .info-box a.FSO-box {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.accordion .info-box a.FSO-box picture {
  width: 40%;
}

.accordion .info-box a.FSO-box p {
  width: 55%;
  font-family: "GenjyuuGLP", sans-serif;
  font-weight: 400;
  font-size: var(--fs_10);
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0;
  white-space: nowrap;
}

.accordion .info-box a.FSO-box p span.f1 {
  font-size: var(--fs_13);
  letter-spacing: 0.05em;
}


/* --- link対策(PC・SP)@media制御 --- */
/* for PC */
@media (hover: hover) {
  nav .accordion-header:hover,
  nav .accordion-content a:hover,
  .accordion .info-box a:hover {
    opacity: 0.6;
  }

}

/* for SP */
@media (hover: none) {
  nav .accordion-header:active,
  nav .accordion-content a:active,
  .accordion .info-box a:active {
    opacity: 0.6;
  }

}



/* --- nav SNSアイコン --- */
.nav_icon {
	margin: 5% auto 5%;
  width: 85%;
  display: flex;
  justify-content: space-between;
  
  display: none;
}

.nav_icon .inbox {
  margin: 10% auto;
  color: var(--white);
  font-size: var(--fs_13);
  position: relative;
}

.nav_icon .SNS_1,
.nav_icon .SNS_2,
.nav_icon .SNS_3 {
  height: min(6vw, 45px);
}

.nav_icon .inbox a {
  display: inline-block;
  width: 100%;
  height: 100%;
}

/* --- link対策(PC・SP)@media制御 --- */
/* for PC */
@media (hover: hover) {
  .nav_icon .inbox a:hover {
    opacity: 0.6;
  }

}

/* for SP */
@media (hover: none) {
  .nav_icon .inbox a:active {
    opacity: 0.6;
  }

}



/* --------------------------
  Footer Information
-------------------------- */
footer {
  padding: 30% 0 20%;
	width: min(100vw,750px);
	background-color: var(--black);
	color: var(--white);
	border-top: solid 1px var(--black);
	border-bottom: solid 1px var(--black);
	position: relative;
	z-index: 1;
}

/* TEXT */
footer ul {
  padding: 35% 0 25%;
}

footer ul li {
  margin-left: 2%;
  margin-bottom: 8%;
}

footer ul li:last-child {
  margin-bottom: 0;
}

footer ul li a {
  font-family: "Geist", sans-serif;
  font-weight: 200;
  font-size: var(--fs_16);
  line-height: 1;
  letter-spacing: 0.1em;
  text-decoration: none;
}

footer ul li a:active {
  opacity: 0.6;
}

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

	footer ul li a:hover {
    opacity: 0.6;
	}

}

footer ul li a .left {
  display: inline-block;
  width: 48%;
}

footer ul li a .right {
  font-family: "GenjyuuGLP", serif;
  font-weight: 300;
  font-size: var(--fs_11);
  letter-spacing: 0.05em;
  line-height: 1;
}

footer ul li a span.f1 {
  display: inline-block;
  margin-right: 0.25em;
}



/* SNS */
footer .SNS {
  margin: auto auto 15%;
  width: min(50%,375px);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

footer .SNS_1,
footer .SNS_2,
footer .SNS_3 {
  height: min( 6vw, 45px);
}



/* --------------------------
  Footer2
-------------------------- */
#footer2 .INFO_TTL h2 {
  margin: auto auto 30%;
  width: fit-content;
  font-family: "Sansation", sans-serif;
  font-weight: 400;
  font-size: min(7.5vw, 56.25px);
  line-height: 1;
  letter-spacing: 0.15em;
  text-align: center;
  color: #5f5f5f;
}

#footer2 .f2_wrap {
  margin: auto;
  width: 100%;
}

#footer2 .bnr {
  margin: auto;
  width: 100%;
  position: relative;
}

#footer2 .bnr:nth-of-type(2) {
  margin-top: 5%;
}

#footer2 .bnr .text {
  width: fit-content;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  
}

#footer2 .bnr .text p {
  font-family: "Geist", sans-serif;
  font-weight: 200;
  font-size: var(--fs_18);
  line-height: 1;
  letter-spacing: 0.05em;
  white-space: nowrap;
  
}

#footer2 .bnr .text p:nth-of-type(2) {
  margin-top: 0.8em;
  font-family: "GenjyuuGLP", sans-serif;
  font-weight: 300;
  font-size: var(--fs_17);
}

#footer2 .bnr .text p::after {
  content: "";
  display: inline-block;
  margin-right: -0.05em;
}

#footer2 .bnr a {
  display: inline-block;
  width: 100%;
  height: 100%;
}

/* --- link対策(PC・SP)@media制御 --- */
/* for PC */
@media (hover: hover) {
  #footer2 .bnr a:hover {
    opacity: 0.6;
  }

}

/* for SP */
@media (hover: none) {
  #footer2 .bnr a:active {
    opacity: 0.6;
  }

}






/* ------------------------------
  ページcontents
------------------------------ */

/* --- パンくずリスト --- */
#breadcrumbs {
  margin: 0 1% 5% auto;
  width: fit-content;
  line-height: 2;
  font-weight: 300;
}

#breadcrumbs.color_white {
  padding-right: 1%;
  text-align: right;
  line-height: 2;
  color: var(--white);
}

/* CSSHack ios */
.ios-dev #breadcrumbs,
.ios-dev #breadcrumbs.color_white {
  line-height: 3;
}

#breadcrumbs ol li {
  display: inline-block;
  list-style-type: none;
}

#breadcrumbs ol li::before {
  content: " ＞ ";
  font-size: min(15px, max(2.777778vw, 10px));
}

#breadcrumbs ol li:first-child::before {
  content: "";
}

#breadcrumbs ol li a span,
#breadcrumbs ol li span {
  display: inline-block;
  font-size: min(15px, max(2.777778vw, 10px));
  letter-spacing: 0;
}

/* パンくずリスト改行設定 */
#breadcrumbs a span.f1,
#breadcrumbs span.f1 {
  display: inline-block;
  text-align: left;
  line-height: 1; 
  position: relative;
  transform: translate(0, 10%);
}

#breadcrumbs a {
  pointer-events:auto;
}



/* ---------------------------
 ルビ（ふりがな）設定 cart
--------------------------- */
ruby[data-ruby] {
  position: relative;
}

ruby[data-ruby]::before {
  content: attr(data-ruby);
  position: absolute;
  top: -1em;
  left: 0;
  right: 0;
  margin: auto;
  font-size: 0.5em;
  line-height: 1;
  letter-spacing: 0.1em;
  text-align: center;
  white-space: nowrap;
}

ruby rt {
  display: none;
}



/* --------------------------
  Images/Picture Setting
-------------------------- */
.obj-fit_cov--h100 {
  display: block;
  position: relative;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}

.obj-fit_cont--h100 {
  display: block;
  position: relative;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: 50% 50%;
}


