@charset "utf-8";



/* --------------------------
  CSS変数設定
-------------------------- */
:root {
/* color */
  --white: #f9f9f9; 
  --black: #333;
  --blue: #0f233c;  /* サイトメイン色：rgba(15,35,60,1) */
  --gray: #e6e6e6;
  --gray2: #454545;
  --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(135px, max(18vw, 64.8px));
  scroll-padding-top: var(--head_padding); /* 初期値を設定 */
 
}



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

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


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

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



/* --------------------------------------------------------------
  共通設定:loading表示
-------------------------------------------------------------- */
#wrap {
  opacity: 0;
  visibility: hidden;
  transition: opacity 1.3s ease-in-out 0.3s, visibility 1.3s ease-in-out 0.3s; 
}

#wrap.show {
  opacity: 1;
  visibility: visible;
}



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

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



/* --------------------------
  共通設定（class設定）
-------------------------- */
/* TEXT色 */
.color_white {
  color: var(--white);
}

.color_black {
  color: var(--black);
}

/* --------------------------------------------------------
  共通設定:スクリーンリーダー専用テキスト（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;
}



/* --------------------------
  縦書き用span
-------------------------- */
/* 数字のみ横書き（横一列）にしたい場合 */
span.text-combine {
  -webkit-text-combine: horizontal;
  -ms-text-combine-horizontal: all;
  text-combine-upright: all;
}

/* 数字のみ縦書き（縦一列）にしたい場合 */
span.text-upright {
  text-orientation: upright;
}

/* 句読点の位置調整（必要に合わせてstyle書きでmarginを調整） */
span.text-yakumono {
  display: inline-block;
  transform: scale(-1,1);
  
}



/* ------------------------------
  header（ヘッダー） 
------------------------------ */
header {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translate(-50%,0);
  width: 100%;
  max-height: min(130.86px, max(17.448vw, 62.8128px));
  padding: min(22.5px, max(3%, 10.8px)) 0;
  z-index: 10;
  backdrop-filter: blur(4px);
}

header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, var(--blue), transparent);
  opacity: 0.7;
}

#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;
  width: min( 40%, 300px);
}



/* -----------------------------------------
  横向きスマホのみ（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%;
  left: 7%;
  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(-330px,-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: 400;
  font-size: var(--fs_13);
  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);
  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;
  background-color: var(--white);
  border-bottom: solid 1px var(--white);
}

/* --- nav-logo --- */
.nav-logo {
  margin: 0;
  width: 100.33%;
  background-color: var(--blue);
  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: min(25.5px, max(3.4vw, 12.24px));
  letter-spacing: 0.05em;
  line-height: 1;
  color: var(--white);
  position: absolute;
  top: 52%;
  left: 51.5%;
  transform: scale(0.75);
}

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

/* --- スマホ横向き --- */
@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 メニュー内告知
-------------------------------------------- */
.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: auto;
  margin-left: 0;
  width: 50%;
  position: relative;
  background-color: #eee;
}

nav.ACC .accordion .TTL h2 {
  margin: auto auto auto 0;
  padding-left: 5%;
  font-family: "CrSC", serif;
  font-weight: 500;
  font-size: var(--fs_18);
  letter-spacing: 0.05em;
  line-height: 1.5;
  text-align: left;
  position: relative;
}

nav.ACC .accordion .TTL h2::before {
  content: "";
  display: inline-block;
  width: 100%;
  height: min(2px, max(0.266667vw, 0.96px));
  background-color: var(--black);
  position: absolute;
  top: 100%;
  left: 0;  
}

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

/* --- 1 --- */
nav .accordion-item {
  margin-bottom: 5px;
  overflow: hidden;
}

nav .one > .accordion-header,
nav .two > .accordion-header,
nav .three > .accordion-header,
nav .four > .accordion-header,
nav .five > .accordion-header,
nav .six > .accordion-header {
  margin-top: 10%;
  padding: 5% 5% 0%;
  cursor: pointer;
  display: flex;
  align-items: end;
  transition: background 0.3s ease;
}

nav .one > .accordion-header span.f11,
nav .two > .accordion-header span.f11,
nav .three > .accordion-header span.f11,
nav .four  > .accordion-header span.f11 {
  display: inline-block;
  width: 55%;
  text-align: left;
  font-family: "CrSC", serif;
  font-weight: 500;
  font-size: var(--fs_16);
  letter-spacing: 0.05em;
  line-height: 1;
  white-space: nowrap;
  
}

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

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

nav .four > .accordion-header span.f12 {
  width: 41%;
}

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


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

nav .one_1 > .accordion-header span.f13 {
  display: inline-block;
  width: 95.5%;
}

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

nav .one_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;
}

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

/* HF */
nav .one_1:nth-of-type(2) .accordion-header {
  padding: 0 6% 5% 10%;
}

/* HF-koika */
nav .accordion-content.one_1-1.HF a:last-child p {
  padding-bottom: 5%;  
} 

nav .accordion-content.one_1-1.HF a:last-child p::before,
nav .accordion-content.one_1-1.HF a:last-child p::after {
  top: 60%;  
} 

/* yukakusan */
nav .accordion-content.two_1.SHI a:last-child p {
  padding-bottom: 5%;  
} 

nav .accordion-content.two_1.SHI a:last-child p::before,
nav .accordion-content.two_1.SHI a:last-child p::after {
  top: 60%;  
} 

/* itaneri */
nav .accordion-content.three_1.MA a:last-child p {
  padding-bottom: 5%;  
} 

nav .accordion-content.three_1.MA a:last-child p::before,
nav .accordion-content.three_1.MA a:last-child p::after {
  top: 60%;  
} 

/* HF-biri */
nav .accordion-content.four_1.MA a:last-child p {
  padding-bottom: 5%;  
} 

nav .accordion-content.four_1.MA a:last-child p::before,
nav .accordion-content.four_1.MA a:last-child p::after {
  top: 60%;  
} 

/* NextDay */
nav .accordion-content.five_1 a:last-child p {
  padding-bottom: 5%;  
} 

nav .accordion-content.five_1 a:last-child p::before,
nav .accordion-content.five_1 a:last-child p::after {
  top: 60%;  
} 




/* - 1-1-1 - */
nav .accordion-content.one_1-1 a p,
nav .accordion-content.two_1 a p,
nav .accordion-content.three_1 a p,
nav .accordion-content.four_1 a p,
nav .accordion-content.five_1 a p {
  margin-top: 10%;
  padding: 5% 0 0 15%;
  font-family: "GenjyuuGLP", sans-serif;
  font-weight: 400;
  font-size: var(--fs_13);
  letter-spacing: 0.05em;
  line-height: 1;
  position: relative;
  color: var(--black);
}


nav .accordion-content.one_1-1 a p::before,
nav .accordion-content.two_1 a p::before,
nav .accordion-content.three_1 a p::before,
nav .accordion-content.four_1 a p::before,
nav .accordion-content.five_1 a p::before {
  content:"";
  display: inline-block;
  width: 15%;
  height: 1px;
  background-color: var(--black);
  position: absolute;
  top: 85%;
  right: 10%;
  transform: translate(0%,0%) scale(1,0.5);
}

nav .accordion-content.one_1-1 a p::after,
nav .accordion-content.two_1 a p::after,
nav .accordion-content.three_1 a p::after,
nav .accordion-content.four_1 a p::after,
nav .accordion-content.five_1 a p::after {
  content: "";
  display: inline-block;
  width: 3.5%;
  height: 1px;
  background-color: var(--black);
  position: absolute;
  top: 85%;
  right: 10%;
  transform: translate(0%,0%) rotate(20deg) scale(1,0.5);
  transform-origin: 100% 50%;
}

/* 下罫線 */
nav .accordion-item.two,
nav .accordion-item.three,
nav .accordion-item.four,
nav .accordion-item.five {
  border-top: solid 1px #ccc;
}

nav .accordion-item.four,
nav .accordion-item.six {
  padding-bottom: 5px;
  border-bottom: solid 1px #ccc;
}

nav .accordion-item.six.first {
  border-top: 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-content .accordion-item.one_1:nth-of-type(3) {
  border-bottom: 0;
}

nav .accordion-item.one .accordion-header span.icon,
nav .accordion-item.two .accordion-header span.icon,
nav .accordion-item.three .accordion-header span.icon,
nav .accordion-item.four .accordion-header span.icon,
nav .accordion-item.five .accordion-header span.icon,
nav .accordion-item.one_1 .accordion-header span.icon,
nav .accordion-item.two_1 .accordion-header span.icon,
nav .accordion-item.three_1 .accordion-header span.icon {
  font-size: var(--fs_18);
  transform: translate(0, 0.27em);
}

nav .accordion-item.four,
nav .accordion-item.five,
nav .accordion-item.six {
  margin-bottom: 0;
  padding-bottom: 5px;
}

/* 工場在庫注文 */
.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;
}

.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;
  }

}





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

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

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

#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;
}


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

.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 {
  display: block;
  position: relative;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  object-fit: contain;
  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%;
}



/* ---------------------------
 ルビ（ふりがな）設定 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;
}



/* --------------------------
  Footer Information
-------------------------- */
footer {
	margin: auto calc(50% - 50vw);
	width: 100vw;
	background-color: var(--white);
	color: var(--blue);
	border-top: solid min(0.2vw,1.5px) var(--blue);
	border-bottom: solid 1px var(--white);
	position: relative;
	z-index: 1;
}

/* TEXT */
footer ul {
  padding: 12%;
}

footer ul li {
  text-align: center;
  margin-bottom: 12%;
}

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

footer ul li a {
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
  font-size: var(--fs_14);
  line-height: 1.6;
  letter-spacing: 0.2em;
  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 span.f1 {
  display: inline-block;
  font-size: var(--fs_11);
  letter-spacing: 0.1em;
  position: relative;
}

footer ul li a span.f1::before {
  content: "";
  width: 110%;
  height: 1px;
  background-color: var(--blue);
  position: absolute;
  top: 105%;
  left: 50%;
  transform: translate(-50%,0) scale(1,0.5);  
}

/* 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);
}


/* ----------------------------
 IASS(成分調整切替システム)
---------------------------- */

/* --- IASS_TEXT --- */
.IASS_TXT {
  margin: 8% auto 25%;
  padding: 0 4%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.IASS_TXT .ins-img {
  width: 40%;
}

.IASS_TXT .text {
  width: 58.5%;
  position: relative;
}

.IASS_TXT .text p {
  padding-left: 1em;
  font-family: "GenjyuuGLP", serif;
	font-weight: 500;
  font-size: var(--fs_12);
	line-height: 2.2;
  letter-spacing: 0.05em;
	color: var(--black);
  text-align: justify;
  text-indent: -1em;
  position: relative;
}

.IASS_TXT .text p::before {
  content: "";
  width: 40%;
  height: 1px;
  background-color: var(--black);
  position: absolute;
  top: 80%;
  right: 5%;
  opacity: 0.8;
}

.IASS_TXT .text p::after {
  content: "";
  width: 5%;
  height: 1px;
  background-color: var(--black);
  position: absolute;
  top: 80%;
  right: 5%;
  transform: translate(0%,0%) rotate(25deg);
  transform-origin: 100% 50%;
  opacity: 0.8;
}


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

}

/* for SP */
@media (hover: none) {
  a.link.IASS:active {
    opacity: 0.6;
    text-decoration: none;
  }

}


