@charset "UTF-8";


/*
#h-header {
  transition: all 0.1s;
}
body.scroll #h-header{
	top: -100%;
}
body.upfixed #h-header{
	top:0%;
}
body.scroll .h-header__logo,
body.scroll .h-header__gnav-link,
body.scroll .h-header__menu{
	display: flex;
}

body.scroll .h-header__gnav-link {
  display: none;
}
*/

.htb-pagetop {
  bottom:2rem;
}

.htb-pagetop {
  bottom: 6rem;
}

@media screen and (max-width: 768px) {
	/*
	body.scroll .h-header__logo img {
		max-width: 130px;
		min-width: 100%;
	}
	*/
	.h-header__cta {
	  display: none;
	}

}




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

dialog

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


/* ダイアログ開時に背景のスクロールを防ぐ */
html:has(dialog[open]) {
  overflow: hidden;
}

/* ダイアログにCSSトランジションを設定 */
dialog{
  transition: 0.4s cubic-bezier(0.33, 1, 0.68, 1);
}
/* ダイアログ開時の背景 */
dialog::backdrop {
	background: rgba(0, 0, 0, 0.3);
}

/* ダイアログメニュー */
dialog.js-dialog-menu{
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	width: 50%;
	left: auto;
	margin: 0;
	border: 0;
	outline: 0;
	padding: 0;
}
/* ダイアログメニューの表示前*/
dialog.js-dialog-menu.show-from,
dialog.js-dialog-menu.hide-to{
  translate: 100% 0%;
}
/* ダイアログメニューの表示前、非表示後は背景を透明にする */
dialog.js-dialog-menu.show-from::backdrop,
dialog.js-dialog-menu.hide-to::backdrop{
  opacity: 0;
}

/* ダイアログモーダル
dialog.js-dialog-modal{
  opacity: 1;
}
/* モーダルの表示前、非表示後は下に移動 */
dialog.js-dialog-modal.show-from,
dialog.js-dialog-modal.hide-to {
  opacity: 0;
  translate: 0% 10%;
}

/* モーダルの表示前、非表示後は背景を透明にする */
dialog.js-dialog-modal.show-from::backdrop,
dialog.js-dialog-modal.hide-to::backdrop {
  opacity: 0;
}


.dialog-menu-btn {
	position: relative;
	width: 32px;
	height: 20px;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
}
.dialog-menu-btn span {
  position: relative;
  width: 32px;
  height: 1px;
  background-color: #000;
  transition: transform .2s cubic-bezier(.27,1.2,.6,1);
}


.dialog_btn {
  display: grid;
  grid-template-columns: 1fr;
  gap: 15px;
  margin-top: 30px;
}

.dialog_btn .btn{
	background: transparent;
	border: 1px #644839 solid;
	color: #644839;
}
.dialog_btn .btn:after {
  background-color: #644839;
}

@media (any-hover: hover) {
  .dialog-menu-btn:hover span:nth-child(1) {
	  transform: translateY(3px)
  }
  .dialog-menu-btn:hover span:nth-child(3) {
	  transform: translateY(-3px)
  }
}

.dialog-menu-btn.js-dialog-menu-close{
	background:#000;
	padding: 10px;
	height: 56px;
	width: 56px;
	margin: 0 0 0 auto;
	align-items: center;
}
.dialog-menu-btn.js-dialog-menu-close span {
  position: absolute;
  background-color: #fff;
}
.dialog-menu-btn.js-dialog-menu-close span:nth-child(1) {
   transform: translateY(18px) rotate(-45deg);
}
.dialog-menu-btn.js-dialog-menu-close span:nth-child(2) {
  opacity: 0;
}
.dialog-menu-btn.js-dialog-menu-close span:nth-child(3) {
    transform: translateY(18px) rotate(45deg);
}


.js-dialog-modal {
	padding: 30px 20px;
	border-radius: 20px;
	max-width: 780px;
	background:#e2e2e2;
	margin:auto;
	width: 96%;
}
.js-dialog-modal .js-dialog-inner {
	display: grid;
	gap: 22px;
	justify-content: center;
	justify-items: center;
	grid-template-columns: 1fr;
}

.js-dialog-modal .js-dialog-inner .head{
	font-weight: 500;
	font-size: 16px;
	line-height: 160%;
	text-align: center;
	background:#D9D9D9;
	padding:6px;
	  width: 100%;
}

.js-dialog-modal .js-dialog-inner ul{
  list-style: disc;
  margin-left: 25px;
  font-weight: 400;
  font-size: 14px;
  line-height: 170%;
}

.js-dialog-modal .js-dialog-inner a{
  text-align: center;
  color: #000;
  /* display: inline-block; */
  border-bottom: 1px #000 solid;
  text-decoration: none;
}
.js-dialog-inner .js-dialog-close {
	font-weight: 500;
	font-size: 14px;
	line-height: 160%;
	letter-spacing: 10%;
	text-align: center;
	background:var(--color-black);
	color: #fff;
	padding: 8px 40px;
	border-radius: 5px;
	margin: 20px auto 0;
}


/****************************************
js-dialog カスタマイズ
****************************************/


nav >.nav__dialog {
  position: absolute;
  top: 20px;
  right: 10px;
  z-index: 1;
  background: #fff;
  border-radius: 999px;
  padding:10px;
}


.js-dialog-menu-open{
	width: 26px;
	height:26px;
	overflow: hidden;
	justify-content: space-evenly;
}
.dialog-menu-btn.js-dialog-menu-close {
  background:transparent;
}


.js-dialog-menu {
  width: 100%;
}
.dialog-menu-btn span {
  background-color: var(--color-dialog-menu-btn);
}
.dialog-menu-btn.js-dialog-menu-close span {
  background-color: var(--color-dialog-menu-btn);
}

.js-dialog-menu {
background:var(--color-dialog-menu-bg);
}

.js-dialog-menu .body {
  padding: 0 24px;
  width: 100%;
}

.js-dialog-menu .body > ul{
	margin:30px 0 60px;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.js-dialog-menu .body > ul > li{
	border-bottom: 1px #CBE6E4 solid;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}
.js-dialog-menu .body > ul li a,
.js-dialog-menu .body > ul li dt{
	font-weight: 700;
	font-size: 18px;
	line-height: 100%;
	vertical-align: middle;
	color: var(--color-dialog-menu-link);
	text-decoration: none;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	height: 100%;
	background: transparent;
	padding: 0;
	padding-bottom: 24px;
	cursor: pointer;
}

.js-dialog-menu .body > ul > li > ul a,
.js-dialog-menu .body > ul > li > dl dd a{
	font-weight: 500;
	font-size: 13px;
	line-height: 100%;
	vertical-align: middle;
	color: var(--color-black);
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	height: 100%;
}

.js-dialog-menu .body ul > li a:after {
	content: "";
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	background-color: currentColor;
	background-repeat: no-repeat;
	background-position: center;
	width: 16px;
	height: 16px;
	display: block;
	mask-image: url(data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%202%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20123.93%20123.93%22%3E%20%3Cg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1-2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%201%22%3E%20%3Cpath%20d%3D%22M61.97%2C0C27.74%2C0%2C0%2C27.74%2C0%2C61.97s27.74%2C61.97%2C61.97%2C61.97%2C61.97-27.74%2C61.97-61.97S96.19%2C0%2C61.97%2C0ZM81.11%2C65.62l-23.24%2C23.24c-1.01%2C1.01-2.33%2C1.51-3.65%2C1.51s-2.64-.5-3.65-1.51c-2.02-2.02-2.02-5.29%2C0-7.3l19.59-19.59-19.59-19.59c-2.02-2.02-2.02-5.29%2C0-7.3s5.29-2.02%2C7.3%2C0l23.24%2C23.24c2.02%2C2.02%2C2.02%2C5.29%2C0%2C7.3Z%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E);
}

.js-dialog-menu .body > ul li dt:after {
	content: "";
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	background-color: currentColor;
	background-repeat: no-repeat;
	background-position: center;
	width: 16px;
	height: 16px;
	display: block;
	mask-image: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%202%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2015.5%2015.5%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.cls-1%20%7B%20fill%3A%20none%3B%20stroke%3A%20%23fff%3B%20stroke-linecap%3A%20round%3B%20stroke-linejoin%3A%20round%3B%20stroke-width%3A%201.5px%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1-2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%201%22%3E%20%3Cpath%20class%3D%22cls-1%22%20d%3D%22M7.75.75v14%22%2F%3E%20%3Cpath%20class%3D%22cls-1%22%20d%3D%22M.75%2C7.75h14%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E');
	color: var(--color-dialog-menu-link);
	position: relative;
	top: 0;
	right:0;
	transform: unset;
}

.js-dialog-menu .body > ul li dt.active:after {
	mask-image:  url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%202%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2015.5%201.5%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.cls-1%20%7B%20fill%3A%20none%3B%20stroke%3A%20%23281815%3B%20stroke-linecap%3A%20round%3B%20stroke-linejoin%3A%20round%3B%20stroke-width%3A%201.5px%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1-2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%201%22%3E%20%3Cpath%20class%3D%22cls-1%22%20d%3D%22M.75.75h14%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E');
}
.js-dialog-menu .body > ul li dd {
  padding: 0;
  background: transparent;
  border: 0;
}



.js-dialog-menu  .dialog-menu__cta{
  display: grid;
  margin: 0 24px;
  gap: 4px;
  grid-template-columns: 1fr 1fr;
}

nav  {
  position: sticky;
  left: 0px;
  top: 0px;
  z-index: 99;
  opacity: 0;
  transition: all 0.4s;
}
.scroll nav  {
  top: 70px;
  opacity: 1;
  
}
 #princess-anio.upfixed nav  {
  top: 120px;
  opacity:1;
}

nav > .nav__cta{
	diplay:none;
}

.scroll nav > .nav__cta {
  position: fixed;
  right: 0;
  top: auto;
  bottom: 0;
  width: 100%;
	diplay:block;
}

nav > .nav__cta div{
text-align: left;
}
nav > .nav__cta .cta{
	height: auto;
	padding: 1.8rem 1rem;
	background: var(--color-primary-gd);
	border: 0px #d1a537 solid;
	border-right: 0;
	border-radius:9999px;
	color: #fff;
	display: block;
	margin: 0.8rem 2.4rem;
	text-align: center;
}

nav > .nav__cta .cta span{
	letter-spacing: 0.3rem;
	font-weight: 500;
	justify-content: center;
}
#wakuwakupass nav .balloon {
  position: relative;
  display: inline-block;
  margin: 0 0 -2rem 4rem;
  padding: 0 5px;
  width: 40px;
  height: 40px;
  background: #FFEB3B;
  border-radius: 50%;
  box-sizing: border-box;
  text-align: center;
  z-index: 1;
}


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

	.scroll nav {
	}
	.scroll nav > .nav__cta {
	bottom: 2rem;
	}
	nav > .nav__cta div {
      max-width: 480px;
      margin:0 auto;
	}
	.js-dialog-menu-open {
	  width: 36px;
	  height: 36px;
	}
	nav > .nav__cta .cta {
	  padding: 18px 25px;
	}
	.js-dialog-menu {
	width: 450px;
	}
	nav > .nav__cta {
	}
	nav > .nav__cta .cta {
	  color: #fff;
	  display: block;
	      margin: 0 auto;
	          max-width: 480px;
	}
	.scroll  nav > .nav__cta .cta {
    display: flex;
    padding: 22px 25px;
    border: 4px #fff solid;
	  }
	nav > .nav__cta .cta span{
	}
	#wakuwakupass nav .balloon {
	}
}



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

Hybrid Scroll

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


article:not(.sticky) {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100vh;
}
.horizontal_scroll {
  --sticky-container-height: 100vh;
  height: var(--sticky-container-height);
  min-height: 100vh;
  box-sizing: border-box;
}
.horizontal_scroll .sticky {
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 100vh;
}
.horizontal_scroll .scroller {
  display: flex;
  overflow: auto;
}
.horizontal_scroll .scroller.nobar {
  overflow: hidden;
}
.horizontal_scroll .scroller > * {
  flex-basis: 66%;
  flex-shrink: 0;
  aspect-ratio: 4 / 3;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: whitesmoke;
}
.horizontal_scroll .scroller > *:not(:first-child) {
  margin-left: 1%;
}


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

img

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

img {
  object-fit: cover;
  position: relative;
  width: 100%;
  max-width: 100%;
  max-height: 100%;
  transition: 0.6s all;
  margin: 0 auto;
  display: block;
}


img.mercisbv {
  margin: 0px 0 0px auto;
  position: absolute !important;
  bottom: 0;
  right: 0;
  aspect-ratio: auto !important;
  width: 76px !important;
  height: auto !important;
  z-index: 1;
  height: auto;
  top: auto;
  padding: 3px;
}

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

ol li

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

ul.asterisk{
	text-align: left;
	font-weight: 400;
	font-size: 13px;
	line-height: 150%;
	letter-spacing: 0;
	gap: 2px;

}
ul.asterisk li:before{
	content: "※";
	display: block;
	left: 0;
	margin: auto;
	padding: 0;
	position: absolute;
	top: 0;
}
ul.asterisk.midpoint li:before{
	content: "・";
}
ul.asterisk.circle li:before{
	content: "●";
}
ul.asterisk li{
	list-style-type: none;
	margin: 0;
	padding: 0 0 0 15px;
	position: relative;
}

dl.table{
	display: grid;
	justify-content: flex-start;
	align-items: start;
	margin: 10px auto;
	position: relative;
	gap: 10px;
	grid-template-columns:auto 1fr;
	width: 100%;
}
dl.table dt{
	width: 100px;
	display: block;
	background:#484747;
	color: #fff;
	border-radius: 5px;
	margin-right: 10px;
	padding: 3px 10px;
	line-height: 1.2;
	text-align: center;
}

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

.btn 

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

.btn {
  background-color: var(--color-orange);
  display: block;
  color: #fff;
  text-decoration: none;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4rem;
    padding: 1.8rem 2rem;
  font-family: YakuHanJP,"Zen Kaku Gothic New", sans-serif;
  border-radius: 9999px;
}

.btn span {
  line-height: 100%;
  text-align: center;
  display: flex;
  align-items: center;
  gap: 6px;
}

.btn span:after {
  content: "";
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  background-color: currentColor;
  background-repeat: no-repeat;
  background-position: center;
  width: 14px;
  height: 14px;
  display: block;
  mask-image: url(data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%202%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20123.93%20123.93%22%3E%20%3Cg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1-2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%201%22%3E%20%3Cpath%20d%3D%22M61.97%2C0C27.74%2C0%2C0%2C27.74%2C0%2C61.97s27.74%2C61.97%2C61.97%2C61.97%2C61.97-27.74%2C61.97-61.97S96.19%2C0%2C61.97%2C0ZM81.11%2C65.62l-23.24%2C23.24c-1.01%2C1.01-2.33%2C1.51-3.65%2C1.51s-2.64-.5-3.65-1.51c-2.02-2.02-2.02-5.29%2C0-7.3l19.59-19.59-19.59-19.59c-2.02-2.02-2.02-5.29%2C0-7.3s5.29-2.02%2C7.3%2C0l23.24%2C23.24c2.02%2C2.02%2C2.02%2C5.29%2C0%2C7.3Z%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E);
}




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

オリジナル

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


article:not(.sticky) {
  height: auto;
}


.c-section{
	max-width: 100%;
	position: relative;
	overflow: hidden;
}
.c-section__body{
	position: relative;
	padding: 0 0 var(--layout-interval-last);
	display: grid;
	gap:var(--layout-interval);
	z-index: 1;
}

.c-section__inner{
	position: relative;
	padding:0 var(--layout-sp-inner);
}
.c-section__inner.wide{
	position: relative;
	padding:0;
}


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

#fv:before {
  content: "";
  width: 200%;
  padding-top: 200%;
  position: absolute;
  bottom: 0;
  left: -50%;
  background: var(--color-base);
  border-radius: 999999px;
}

#fv .img {
  position: relative;
  padding: 0rem;
}

#fv .img img {
	aspect-ratio: 239 / 162;
	border-radius: 0 0rem 6rem 6rem;
}
#fv .txt {
  display: grid;
  gap: 2rem;
}

#fv .logo{
	font-size:var(--font-size-logo);
	white-space: nowrap;
	text-align:var(--text-align-c);
	color:var(--color-primary);
	font-weight: var(--font-weight-black);
}

#fv .tagline{
	font-size:var(--font-size-tagline);
	text-align: var(--text-align-c);
	line-height: var(--font-lineheight-140);
}
#fv .read{
	font-size:var(--font-size-read);
	text-align:var(--text-align-l-sp);
	line-height: var(--font-lineheight-200);
	width: 90%;
	margin: 0 auto;
}
#fv .place{
	font-size:var(--font-size-read);
	text-align:var(--text-align-c);
	line-height: var(--font-lineheight-200);
	width: 90%;
	margin: 0 auto;
}

#fv .read em {
	position: relative;
	color:var(--color-primary);
	font-weight: var(--font-weight-bold);
}

#fv .read em::after {
  content: "";
  width: 100%;
  display: block;
  position: absolute;
  bottom: -0.5rem;
  left: 0;
  border-bottom: 3px dotted var(--color-primary);
}


#fv .openday{
	font-size:var(--font-size-tagline);
	text-align:var(--text-align-l-sp);
	line-height: 160%;
	border-bottom: 4px solid;
	display: table;
	margin: 0 auto;
	font-weight: var(--font-weight-bold);
}

#fv .openday em{
	font-size:var(--font-size-openday);
}


.logo-en{
  white-space: nowrap;
  font-size:var(--font-size-logo-en);
  color: #f3f3f3;
	text-align:var(--text-align-c);
}


@media screen and (min-width: 1025px) {
	#fv .img {
	  position: relative;
	  padding: 0 2.4rem;
	}
	#fv .img img {
		  aspect-ratio: 239 / 162;
		max-height:860px;
		max-width:1440px;
		border-radius: 0 0rem 8rem 8rem;
		bject-position: top;
	}
}


article:not(.sticky) {
  position: relative;
  z-index: 1;
}

.horizontal_scroll{
  position: relative;
}

.horizontal_scroll .sticky {
  z-index: 2;
}

.horizontal_scroll .scroller > * {
  flex-basis: 90%;
  aspect-ratio: 4 / 3;
}
.scroller img{
  aspect-ratio: 4 / 3;
}

@media screen and (min-width: 1025px) {
	.horizontal_scroll .scroller > * {
	  flex-basis: 50%;
	  aspect-ratio: 3 / 4;
	}
	.scroller img{
		aspect-ratio: 3/ 4;
	}

}


.b-txt__en{}

.b-grid {
	display: grid;
	gap:var(--layout-interval);
	align-items: start;
}

.b-grid .txt {
	display: grid;
	gap:var(--layout-interval);
	padding:0 var(--layout-sp-inner);
	align-items: start;
	align-content: center;
}

.b-content .txt .title-en{
  font-size: var(--font-size-text);
  text-align: var(--text-align-l);
  line-height: 100%;
  display: flex;
  gap: 1rem;
  white-space: nowrap;
  align-items: center;
}
.b-content .txt .title-en:after{
	content: "";
	width: 100%;
	height: 1px;
	background: #fff;
	opacity: 0.5;
    transform: scale(0, 1);
    transform-origin: 0 100%;
	transition: transform 2.5s ease;
}

.is-visible .b-content .txt .title-en:after,
.active .b-content .txt .title-en:after{
	transform: scale(1, 1);
}


.b-content .txt .title{
	font-size:var(--font-size-title);
	text-align:var(--text-align-l);
	line-height: 160%;
}
.b-content .txt .text{
	font-size:var(--font-size-test);
	text-align:var(--text-align-l);
	line-height: 220%;
}

.b-frame {
	display: table;
	background: var(--color-base);
	border-radius: 1rem;
	padding: 2.4rem 4rem;
	width: auto;
	margin: 0 auto;
	position: relative;
}

.b-frame > * {
	display: grid;
	gap: 1rem !important;
}

.b-frame > .txt *{
  line-height:120%!important;
  color: var(--color-black);
	font-size:var(--font-size-small);
}
.b-frame > .txt button{
  border-bottom: 1px #000 solid;
}

.b-parallax-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.b-parallax-bg > div {
	background-size: cover;
	background-position: center;
	width: 100%;
	height: 100vh;
	position: sticky;
	top: 0;
	z-index: -1;
}
.b-parallax-bg > div:after{
	content: "";
	background: #000;
	width: 100%;
	height: 100vh;
	position: absolute;
	top: 0;
	z-index: -1;
	opacity: 0.0;
	filter: blur(0px);
	transition: filter 0.6s ease-in-out, opacity 0.6s ease-in-out;
}

.is-visible .b-parallax-bg > div:after {
  filter: blur(100px);
  opacity: 0.8;
}


.b-profile{
	display: grid;
	gap: 1rem !important;
	grid-template-columns: 1fr 1.5fr;
}
.b-profile img{
	aspect-ratio: 1/ 1.2;
}

.b-profile p{
	line-height:180%!important;
	color: var(--color-black);
	font-size:var(--font-size-small);
}

@media screen and (min-width: 1025px) {
	.b-grid {
		grid-template-columns: 50% 1fr;
		grid-template-rows: auto max-content;
		margin-top: 5%;
		padding-left: 2.4rem;
	}
	.b-grid > .scroller {
		width: 50vw;
		grid-row: 1 / 3;
		grid-column: 2 / 3;
	}
	.b-frame {
		margin: 0 auto 0 0;
	}
	.b-profile{
	    display: grid;
	    gap: 1rem !important;
	    grid-template-columns: 1fr 2fr;;
	}

}


#experience{
	position: relative;
}

#experience .b-parallax-bg > div{
	background-image: url(../img/index/experience/bg.jpg);
}


#experience  .b-frame:before {
  content: "Meister";
  color: var(--color-accent);
  text-align: var(--text-align-c);
  display: block;
  margin-bottom: 2rem;
  font-size: 150%;
  line-height: 100%;
}
#experience  .b-frame:after {
	content: "★★★";
	color: var(--color-accent);
	text-align: var(--text-align-c);
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
}

#gourmet .b-parallax-bg > div{
	background-image: url(../img/index/gourmet/bg.jpg);

}
#newbrand{
	background-color:var(--color-secondary);

}

#newbrand .b-content .txt .title {
  font-size: var(--font-size-title-small);
  line-height: 180%;
}


#newbrand.horizontal_scroll .scroller > * {
  aspect-ratio: 1 / 1;
}
#newbrand .scroller img{
	aspect-ratio: 1/ 1;
}





#lineup {
  background: var(--color-base);
}


#lineup .b-content .txt .title-en{
	color: var(--color-accent);
}
#lineup .b-content .txt .title-en:after{
	background: var(--color-accent);
}

#lineup .b-grid{
  grid-template-columns: 1fr;
}


#lineup  .slider {
display: flex;
  gap: var(--layout-interval);
  flex-direction: column;
}








#experience .c-section__body,
#gourmet .c-section__body,
#newbrand .c-section__body,
#lineup .c-section__body{
	max-width: 1340px;
	margin: 0 auto;
	padding: 4rem 0;
}
#experience .b-content,
#gourmet .b-content,
#newbrand .b-content{
	color:var(--color-white);
}


#experience .b-content .txt .title,
#gourmet .b-content .txt .title{
	text-shadow: 1px 1px 2px #000;
}



@media screen and (min-width: 1025px) {
	#experience .b-content .txt .text,
	#gourmet .b-content .txt .text,
	#newbrand .b-content .txt .text,
	#lineup .b-content .txt .text {
	  width: 80%;
	}

	#newbrand.horizontal_scroll .scroller > * {
	  flex-basis: 70%;
	}


	#lineup  .b-grid {
		    margin-bottom: 10%;
	}

}


.slider__title{
  font-size: var(--font-size-18-22);
  text-align: var(--text-align-l);
  line-height: 140%;
  color: var(--color-dialog-menu-bg);
  max-width: 480px;
  width: 90%;
  background: var(--color-accent);
  border-radius: 0 2rem 0 0;
  padding:1rem 2.4rem 1rem 4.4rem;
}
.lineup_keukentenbosch .slider__title{
  background: var(--color-secondary);
}


.b-item{}
.b-item__body{
  display: grid;
  gap: 1.6rem;
    padding-bottom: var(--layout-interval);
}
.b-item__body .img{}
.b-item__body .img img{
    aspect-ratio: 4 / 3;
}
.b-item__body .txt{
	padding: 0 1.6rem 4.8rem;
	gap: 2.2rem;
}
.b-item__body .txt .name{
	font-size: var(--font-size-read);
	text-align: var(--text-align-l);
	line-height: 140%;
}
.b-item__body .txt .text{
	font-size: var(--font-size-small);
	text-align: var(--text-align-l);
	line-height: 200%;
	width: 100% !important;
}


.swiper-button-next, .swiper-button-prev {
  color: var(--color-white);
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{
	background: var(--color-accent);
}
.lineup_keukentenbosch .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{
	background: var(--color-secondary);
}

.swiper-pagination-progressbar {
  top: auto !important;
  bottom: 0;
}

.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  height:2px;
}

.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar {
  height:2px;
}


.swiper {
  height: auto;             /* 自動で伸びないように */
  align-self: start;        /* Gridの縦方向ストレッチを無効にする */
}

.swiper-wrapper {
  display: flex;
}
.swiper-slide {
  height: auto;
}

.swiper-button-next, .swiper-button-prev {
  bottom: 1.5rem;
  top: auto;
	height: 40px;
	width: 40px;
	border-radius: 9999px;
	padding: 5px;
	background: #000;
	  opacity: 0.5;
}
.swiper-button-prev, .swiper-rtl .swiper-button-next {
  right: 5.5rem;
  left: auto;
}
.swiper-button-next {
  right: 2%;
}

.swiper-button-next:after, .swiper-button-prev:after {
  font-size: 16px;
}


@media screen and (min-width: 1025px) {
	.swiper {
	  margin-right: calc(50% - 50vw);
	}
	.swiper-button-prev, .swiper-rtl .swiper-button-next {
	  right: 8rem;
	  left: auto;
	}
}