@charset "utf-8";
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,p,blockquote,th,td,main,figure{margin:0;padding:0}table{font-size:100%;font-family:inherit}fieldset,img{border:0}img,svg,video{vertical-align:middle}ol,ul{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%}q:before,q:after{content:''}abbr,acronym{border:0}select,input,textarea{font-size:100%}header,footer,nav,main,section,article,figure,aside,picture{display:block}.clearfix:after,.row:after{content:"";display:table;clear:both}._fl{float:left}._fr{float:right}@media screen and (min-width: 744px),print{._pc_fl{float:left}._pc_fr{float:right}}@media screen and (max-width: 743px){._sp_fl{float:left}._sp_fr{float:right}}._tal{text-align:left!important}._tac{text-align:center!important}._tar{text-align:right!important}@media screen and (min-width: 744px),print{._pc_tal{text-align:left!important}._pc_tac{text-align:center!important}._pc_tar{text-align:right!important}}@media screen and (max-width: 743px){._sp_tal{text-align:left!important}._sp_tac{text-align:center!important}._sp_tar{text-align:right!important}}

/* 変数
====================================================================== */
:root {
	--color-base: #1b1b1b;
	--color-base-op0: rgba(27,27,27,0);
	--color-black: #181818;
	--color-link: #0b68ba;
	--color-link-op0: rgba(11,104,186,0);
	--bg-body: #d7d9dc;
	--bg-white: rgba(255,255,255,.85);
	--base-width: 110rem;
	--pc-base-padding: 5rem;
	--sp-base-padding: calc(28 / 375 * 100vw);
	--sp-base-padding-s: calc(15 / 375 * 100vw);
	--font-family-jp: 'Zen Old Mincho', serif;
	--font-family-gothic: "Noto Sans JP", sans-serif;
	--font-family-en: 'Cormorant Garamond', var(--font-family-jp);
	--font-weight: 400;
	--font-weight-medium: 500;
	--font-weight-semi: 600;
	--font-weight-bold: 700;
	--transition-duration: .3s;
	--transition: var(--transition-duration) ease-in-out;
	--header-height: 10rem;
	--header-first-pos: 60rem;
	@media screen and (max-width: 743px) {
		--header-height: 6.5rem;
		--header-first-pos: 50rem;
	}
}

/*
====================================================================== */
html {
	font-size: 62.5%;
	scroll-behavior: smooth;
}
html.no-scroll-behavior {
	scroll-behavior: auto;
}
@media screen and (min-width: 744px), print {
	html {
		font-size: min(calc(10px - (1300px - 100vw) * (10 / 1300)), 10px);
	}
}
@media screen and (max-width: 743px) {
	html {
		font-size: calc((10 / 375) * 100vw);
	}
}
body {
	position: relative;
	background-color: var(--bg-body);
	font-size: 1.8rem;
	line-height: calc(42 / 18);
	color: var(--color-base);
	word-wrap: break-word;
	overflow-wrap: break-word;
	letter-spacing: .2rem;

	font-family: var(--font-family-jp);
	font-weight: var(--font-weight);
	font-feature-settings: "palt";
	font-style: normal;
	-webkit-text-size-adjust: none;
	text-size-adjust: none;
}
body::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: url(../img/bg-texture.png) 50% 0;
	background-size: 40rem;
	opacity: 0.3;
	pointer-events: none;
	z-index: 2;
}
@media screen and (max-width: 743px) {
	body {
		font-size: 1.4rem;
		line-height: 2;
		letter-spacing: .1rem;
	}
	body::before {
		background-size: 20rem;
	}
}

*,
*::before,
*::after {
	box-sizing: border-box;
}
:where(address,caption,cite,code,dfn,em,th,var) {
	font-style: normal;
	font-weight: var(--font-weight);
}
:where(h1,h2,h3,h4,h5,h6) {
	font-weight: var(--font-weight);
}
:where(img) {
	max-width: 100%;
	height: auto;
}
:where(iframe) {
	max-width: 100%;
	vertical-align: middle;
}
:where(sup) {
	vertical-align: super;
	font-size: 60%;
}
:where(table) {
	border-collapse: collapse;
	border-spacing: 0;
	line-height: inherit;
}
:where(a[href], a[data-modal]) {
	color: var(--color-base);
	text-decoration-line: underline;
	text-decoration-style: solid;
	text-decoration-thickness: 1px;
	text-decoration-color: var(--color-base);
	text-underline-offset: .3em;
	outline: none;
	cursor: pointer;
}
:where(a[href]._a_reverse,._a_reverse a[href]) {
	text-decoration-color: var(--color-base-op0);
}
@media (hover) {
	:where(a,button,._basic_trs,._hl),
	:where(a,button,._basic_trs,._hl)::before,
	:where(a,button,._basic_trs,._hl)::after {
		transition: color var(--transition), background var(--transition), border var(--transition), opacity var(--transition), text-decoration-color .2s ease-in-out;
	}
	:where(a svg) {
		transition: fill var(--transition);
	}
	:where(a[href]:hover, a[data-modal]:hover) {
		text-decoration-color: var(--color-base-op0);
	}
	:where(a[href]._a_reverse, a[data-modal]._a_reverse, ._a_reverse a[href], ._a_reverse a[data-modal]):hover {
		text-decoration-color: var(--color-base);
	}
	:where(a[href]._a_reverse.-hvw),
	:where(._a_reverse.-hvw a[href]) {
		text-decoration-color: rgba(255,255,255,0);
	}
	:where(a[href]._a_reverse.-hvw):hover,
	:where(._a_reverse.-hvw a[href]):hover {
		text-decoration-color: #fff;
	}
	:where(a[href]._a_reverse.-hvbk),
	:where(._a_reverse.-hvbk a[href]) {
		text-decoration-color: var(--color-base-op0);
	}
	:where(a[href]._a_reverse.-hvbk):hover,
	:where(._a_reverse.-hvbk a[href]):hover {
		text-decoration-color: var(--color-base);
	}
	:where(a[href] ._a_reverse) {
		text-decoration-line: underline;
		text-decoration-style: solid;
		text-decoration-thickness: 1px;
		text-decoration-color: var(--color-base-op0);
		text-underline-offset: .3em;
	}
	:where(a[href] ._a_reverse) {
		transition: text-decoration-color .2s ease-in-out;
	}
	:where(a[href]:hover ._a_reverse) {
		text-decoration-color: var(--color-base);
	}
	:where(a[href] ._hl) {
		text-decoration-line: underline;
		text-decoration-style: solid;
		text-decoration-thickness: 1px;
		text-decoration-color: var(--color-base-op0);
		text-underline-offset: .3em;
	}
	:where(a[href]:hover ._hl) {
		text-decoration-color: var(--color-base);
	}
	:where(a[href] ._hl.-hvw) {
		text-decoration-color: rgba(255,255,255,0);
	}
	:where(a[href]:hover ._hl.-hvw) {
		text-decoration-color: #fff;
	}
	:where(a[href] ._hl.-hvbk) {
		text-decoration-color: var(--color-dark-op0);
	}
	:where(a[href]:hover ._hl.-hvbk) {
		text-decoration-color: var(--color-dark);
	}
}

:where(label) {
	cursor: pointer;
}
:where(input, select, textarea, button) {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	max-width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	border-radius: 0;
	vertical-align: middle;
	font-family: inherit;
	font-weight: inherit;
	font-feature-settings: inherit;
	outline: none;
	font-size: 100%;
}
::placeholder {
	color: #ccc;
}
:where(button) {
	cursor: pointer;
}

.hidden {
	display: none;
}
.slick-slider * {
	outline: none;
}

#top {
	display: block;
}

/* pc / sp
====================================================================== */
@media screen and (min-width: 744px), print {
	._sp {
		display: none !important;
	}
	._pc_break {
		position: relative;
		display: block;
		height: 0;
		overflow: hidden;
	}
	._pc_hidden {
		position: relative;
		overflow: hidden;
		display: block;
		height: 0;
	}
}
@media screen and (max-width: 743px) {
	._pc {
		display: none !important;
	}
	._sp_break {
		position: relative;
		display: block;
		height: 0;
		overflow: hidden;
	}
}

/* color
====================================================================== */
._c_base {
	color: var(--color-base) !important;
}
._c_black {
	color: var(--color-black) !important;
}

/* font
====================================================================== */
._ff_gothic {
	font-family: var(--font-family-gothic);
	font-weight: 400;
	font-style: normal;
}
@media screen and (max-width: 743px) {
	._sp_ff_gothic {
		font-family: var(--font-family-gothic);
		font-weight: 400;
		font-style: normal;
	}
}
._ff_en {
	font-family: var(--font-family-en);
	font-weight: 400;
	font-style: normal;
}
._fwn {
	font-weight: var(--font-weight);
}
._fwr {
	font-weight: 400;
}
._fwm {
	font-weight: 500;
}
._fws {
	font-weight: 600;
}
._fwb {
	font-weight: var(--font-weight);
}
._wsnw {
	white-space: nowrap;
}
@media screen and (min-width: 744px), print {
	._pc_wsnw {
		white-space: nowrap;
	}
}
@media screen and (max-width: 743px) {
	._sp_wsnw {
		white-space: nowrap;
	}
}

/* bg
====================================================================== */

/* display
====================================================================== */
._db {
	display: block;
}
._dib {
	display: inline-block;
}
._dfcc {
	display: flex !important;
	justify-content: center;
	align-items: center;
}
@media screen and (min-width: 744px), print {
	._pc_dib {
		display: inline-block;
	}
	._pc_dfcc {
		display: flex !important;
		justify-content: center;
		align-items: center;
	}
}
@media screen and (max-width: 743px) {
	._sp_dib {
		display: inline-block;
	}
	._sp_dfcc {
		display: flex !important;
		justify-content: center;
		align-items: center;
	}
}

/* object-fit
====================================================================== */
img._of {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
img._of.-abs {
	position: absolute;
	top: 0;
	left: 0;
}
img._of.-bg {
	pointer-events: none;
	user-select: none;
	z-index: -1;
}
img._of.-top {
	object-position: 50% 0;
}
img._of.-bottom {
	object-position: 50% 100%;
}
@media screen and (min-width: 744px), print {
	img._of.-pc_none {
		object-fit: none;
	}
	img._of.-pc_top {
		object-position: 50% 0 ;
	}
	img._of.-pc_bottom {
		object-position: 50% 100%;
	}
	img._pc_of {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	img._pc_of.-abs {
		position: absolute;
		top: 0;
		left: 0;
	}
	img._pc_of.-bg {
		pointer-events: none;
		user-select: none;
		z-index: -1;
	}
	img._pc_of.-top {
		object-position: 50% 0;
	}
	img._pc_of.-none {
		object-fit: none;
	}
}
@media screen and (max-width: 743px) {
	img._of.-sp_top {
		object-position: 50% 0 ;
	}
	img._of.-sp_bottom {
		object-position: 50% 100%;
	}
	img._sp_of {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	img._sp_of.-abs {
		position: absolute;
		top: 0;
		left: 0;
	}
	img._sp_of.-bg {
		pointer-events: none;
		user-select: none;
		z-index: -1;
	}
	img._sp_of.-top {
		object-position: 50% 0 ;
	}
}

/* hover
====================================================================== */
@media (hover) {
	a[href] ._hv_op {
		transition: opacity var(--transition);
	}
	a:is([href], [data-modal])._hv_op:hover,
	a[href]:hover ._hv_op,
	button._hv_op:hover,
	._hv_op a[href]:hover {
		opacity: 0.5;
	}
	a[href]._hv_op.-a30:hover,
	a[href]:hover ._hv_op.-a30,
	._hv_op.-a50 a[href]:hover {
		opacity: 0.7;
	}
	a[href]._hv_op.-a20:hover,
	a[href]:hover ._hv_op.-a20,
	._hv_op.-a20 a[href]:hover {
		opacity: 0.8;
	}
	a[href]._hv_op.-a10:hover,
	a[href]:hover ._hv_op.-a10,
	._hv_op.-a10 a[href]:hover {
		opacity: 0.9;
	}
}

._hv_zoom {
	position: relative;
	display: block;
	overflow: hidden;
}
._hv_zoom > * {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	background-repeat: no-repeat;
	background-position: 50%;
	background-size: cover;
}
._hv_zoom.-static > * {
	position: relative;
}
@media (hover) {
	a[href]._hv_zoom > *,
	a[href] ._hv_zoom > * {
		transition: transform 0.5s, opacity .3s;
	}
	a[href]:hover ._hv_zoom.-s > * {
		transform: scale(1.03);
	}
	a[href]:hover ._hv_zoom.-l > * {
		transform: scale(1.1);
	}
	a[href]:hover._hv_zoom > *,
	a[href]:hover ._hv_zoom > * {
		transform: scale(1.05);
	}
}


/* _target
====================================================================== */
:where([id]:not(style):not(script)) {
	scroll-margin-top: 4rem;
}
:where([id]._scroll-margin-top0, #header) {
	scroll-margin-top: 0 !important;
}
@media screen and (max-width: 743px) {
	:where([id]:not(style):not(script)) {
		scroll-margin-top: 3rem;
	}
}

/* w
====================================================================== */
._w {
	position: relative;
}
@media screen and (min-width: 744px), print {
	._w {
		width: var(--base-width);
		margin-inline: auto;
	}
}
@media screen and (max-width: 743px) {
}

/* spパディング
====================================================================== */
@media screen and (max-width: 743px) {
	._sp_pd {
		padding-inline: var(--sp-base-padding) !important;
	}
	._sp_mg {
		margin-inline: var(--sp-base-padding) !important;
	}
	._sp_full {
		margin-inline: calc(var(--sp-base-padding) * -1) !important;
	}
	._sp_full_l {
		margin-left: calc(var(--sp-base-padding) * -1) !important;
	}
	._sp_full_r {
		margin-right: calc(var(--sp-base-padding) * -1) !important;
	}
	._sp_pd_s {
		padding-inline: var(--sp-base-padding-s) !important;
	}
	._sp_mg_s {
		margin-inline: var(--sp-base-padding-s) !important;
	}
	._sp_full_s {
		margin-inline: calc(var(--sp-base-padding-s) * -1) !important;
	}
}

/* header
====================================================================== */
#header {
	position: absolute;
	top: var(--header-first-pos);
	left: 0;
	right: 0;
	height: var(--header-height);
	z-index: 900;
}
#header .header-in {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: var(--header-height);
}
@media print {
	#header {
		position: relative;
	}
}
@media screen and (min-width: 744px), print {
	#header .header-in {
		display: flex;
		align-items: center;
		justify-content: center;
		background-color: var(--color-base);
	}
	#header .logo {
		position: absolute;
		top: 0;
		left: 5rem;
		z-index: 5;
	}
	#header .logo a {
		display: flex;
		align-items: center;
		width: 15.8rem;
		height: 10rem;
	}
	#header .gnav {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 2.6rem;
	}
	#header .gnav a {
		position: relative;
		display: block;
		padding: 1em;
		text-decoration: none;
		font-size: 1.6rem;
		font-weight: var(--font-weight-bold);
		color: #fff;
		letter-spacing: .2rem;
	}
	@media (hover) {
		#header .gnav a:hover {
			opacity: 0.5;
		}
	}
	#header .nav_btn,
	#header .hnav,
	#header .nav_shop,
	#header .nav_cover {
		display: none;
	}
}
@media screen and (min-width: 744px) {
	#header {
		transition: height .3s ease-out;
	}
}
@media screen and (max-width: 743px) {
	#header .header-in {
		overflow: hidden;
	}
	#header .logo {
		display: flex;
		align-items: center;
		height: var(--header-height);
		background-color: var(--color-base);
	}
	#header .logo a {
		position: relative;
		display: flex;
		align-items: center;
		height: 100%;
		padding-inline: 1.6rem;
		z-index: 10;
	}
	#header .logo img {
		width: 10rem;
	}
	#header .nav_btn {
		position: absolute;
		top: 0;
		right: .8rem;
		width: 8rem;
		height: var(--header-height);
		background: url(../img/ico-sp-nav.svg) no-repeat 50%;
		background-size: 6rem;
		z-index: 15;
	}
	#header .nav_btn a {
		position: relative;
		display: block;
		overflow: hidden;
		height: 0;
		padding-top: var(--header-height);
		text-decoration: none;
		font-size: 1rem;
	}
	#header .nav_btn a::before,
	#header .nav_btn a::after {
		content: "";
		position: absolute;
		width: 1.6rem;
		left: calc(50% - .8rem);
		top: 50%;
		border-top: 1px solid #fff;
		pointer-events: none;
		transition: transform var(--transition);
		z-index: 2;
	}
	#header .nav_btn a::before {
		transform: translateY(-.3rem);
	}
	#header .nav_btn a::after {
		transform: translateY(.3rem);
	}

	/* nav_btn open */
	#header.-open .nav_btn::before {
		opacity: 0;
	}
	#header.-open .nav_btn a::before {
		transform: translate(0) rotate(-25deg);
	}
	#header.-open .nav_btn a::after {
		transform: translate(0) rotate(25deg);
	}

	#header .nav_shop {
		position: absolute;
		top: 0;
		right: 8.8rem;
		height: var(--header-height);
		display: flex;
		align-items: center;
	}
	#header .nav_shop a {
		display: block;
		position: relative;
		width: 100%;
		padding: 1rem 1.2rem;
		text-decoration: none;
		font-size: 1.4rem;
		font-weight: var(--font-weight-bold);
		color: #fff;
		text-align: center;
	}
	#header .nav_shop a::before {
		content: "";
		position: absolute;
		bottom: 1rem;
		right: 1.2rem;
		left: 1.2rem;
		border-bottom: 1px solid;
	}

	#header nav {
		overflow-y: auto;
		overscroll-behavior-y: contain;
		position: absolute;
		top: 0;
		right: 0;
		width: 30rem;
		height: 100lvh;
		padding: calc(var(--header-height) + 2rem) 2rem 5rem;
		background-color: var(--color-base);
		transform: translateX(110%);
		transition: transform var(--transition);
		z-index: 5;
	}
	#header .gnav li {
		border-bottom: 1px solid rgba(255,255,255,0.5);
	}
	#header .gnav a {
		position: relative;
		display: flex;
		align-items: center;
		height: 6rem;
		padding-inline: 1.5rem;
		text-decoration: none;
		color: #fff;
		font-size: 1.6rem;
		font-weight: var(--font-weight-semi);
	}
	#header .gnav a::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 0;
		width: 2rem;
		border-top: 1px solid #fff;
		opacity: 0.8;
	}
	#header .hnav {
		display: flex;
		margin-top: 2rem;
	}
	#header .hnav a {
		padding: 1rem 1.5rem;
		text-decoration: none;
		color: #fff;
		font-size: 1.2rem;
		font-weight: var(--font-weight-semi);
	}

	#header .nav_cover {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		height: 120lvh;
		background-color: var(--color-base);
		opacity: 0;
		z-index: 3;
		pointer-events: none;
		transition: opacity var(--transition);
	}

	#header.-opend .header-in {
		height: 110lvh;
	}
	#header.-open nav {
		transform: translateX(0);
	}
	#header.-open .nav_cover {
		opacity: 0.7;
		pointer-events: auto;
	}
}
@media screen {
	#header .header-in.-fixed-animating {
		transition: transform 0.3s ease;
		will-change: transform;
	}
	#header.-fixed .header-in {
		position: fixed;
		right: 0;
		left: 0;
		top: calc(var(--header-height) * -1);
		transition: transform .3s ease-in-out;
	}
	#header.-fixed-show .header-in {
		transform: translateY(var(--header-height));
	}
	#header.-open .header-in {
		transform: translateY(var(--header-height));
	}
}


/* footer
====================================================================== */
#footer {
	position: relative;
	padding-block: 80rem 2rem;
	text-align: center;
	@media screen and (max-width: 743px) {
		padding-top: 30rem;
	}
	.logo {
		width: 29.3rem;
		margin-inline: auto;
		margin-bottom: 8rem;
		@media screen and (max-width: 743px) {
			width: 18.4rem;
			margin-bottom: 5rem;
		}
	}
	nav {
		@media screen and (min-width: 744px), print {
			height: 43rem;
			display: flex;
			justify-content: center;
			flex-direction: row-reverse;
			gap: 2rem;
		}
		@media screen and (max-width: 743px) {
			margin-bottom: 5rem;
		}
		ul {
			display: flex;
			flex-direction: row-reverse;
			@media screen and (max-width: 743px) {
				justify-content: center;
			}
		}
		a {
			display: flex;
			align-items: center;
			text-decoration: none;
			color: var(--color-base);
			writing-mode: vertical-rl;
			font-weight: var(--font-weight-medium);
			line-height: 1;
			letter-spacing: .25em;
		}
		.gnav {
			@media screen and (max-width: 743px) {
				margin-bottom: 4rem;
			}
			a {
				width: 6.8rem;
				font-size: 2rem;
				@media screen and (max-width: 743px) {
					width: 4.4rem;
					font-size: 1.8rem;
				}
			}
		}
		.hnav {
			a {
				width: 4.8rem;
				font-size: 1.6rem;
				font-weight: var(--font-weight-bold);
				@media screen and (max-width: 743px) {
					width: 4rem;
				}
			}
		}
	}

	.info {
		margin-bottom: 6rem;
		text-align: center;
		line-height: 1.5;
		@media screen and (max-width: 743px) {
			margin-bottom: 3rem;
		}
		dt {
			margin-bottom: 1rem;
			font-size: 1.6rem;
			font-weight: var(--font-weight-semi);
			@media screen and (max-width: 743px) {
				margin-bottom: 1rem;
				font-size: 1.2rem;
			}
		}
		dd {
			font-size: 1.2rem;
			@media screen and (max-width: 743px) {
				font-size: 1rem;
				line-height: 1.8;
			}
		}
	}

	small {
		display: block;
		font-size: 1.4rem;
		font-weight: 700;
		@media screen and (max-width: 743px) {
			text-align: center;
			margin-top: 2rem;
			font-size: 1.1rem;
		}
	}

	.bg {
		overflow: hidden;
		position: absolute;
		right: 0;
		left: 0;
		bottom: 0;
		top: 8.2rem;
		z-index: -1;
		pointer-events: none;
		user-select: none;
		@media screen and (max-width: 743px) {
			top: 0;
		}
		& > .mountain {
			position: absolute;
			right: 0;
			left: 0;
			bottom: 0;
			background-repeat: no-repeat;
			background-position: 50% 0;
			background-size: max(100%, 160rem) 200rem;
			@media screen and (max-width: 743px) {
				background-size: 53rem;
			}
			&.-m1 {
				top: 0;
				background-image: url(../img/foot-mountain1.svg);
			}
			&.-m2 {
				top: 2rem;
				background-image: url(../img/foot-mountain2.svg);
				@media screen and (max-width: 743px) {
					top: calc(2rem * .4);
				}
			}
			&.-m3 {
				top: 7.5rem;
				background-image: url(../img/foot-mountain3.svg);
				@media screen and (max-width: 743px) {
					top: calc(7.5rem * .4);
				}
			}
			&.-m4 {
				top: 32.5rem;
				background-image: url(../img/foot-mountain4.svg);
				@media screen and (max-width: 743px) {
					top: calc(32.5rem * .4);
				}
			}
			&.-m5 {
				top: 38rem;
				background-image: url(../img/foot-mountain5.svg);
				@media screen and (max-width: 743px) {
					top: calc(38rem * .4);
				}
			}
		}
	}
}


/* container
====================================================================== */
:where(#container > *) {
	position: relative;
	z-index: 5;
}

/* ======================================================================================

	パーツ

====================================================================================== */
.grecaptcha-badge {
	z-index: 10;
}
body:not(.-page-contact) .grecaptcha-badge {
	display: none !important;
}

/* bg-imgs
====================================================================== */
:where(*:has(>.bg-imgs)) {
	position: relative;
}
.bg-imgs {
	position: absolute;
	right: 0;
	left: 0;
	height: 100rem;
	overflow: hidden;
	pointer-events: none;
	user-select: none;
	z-index: -1;
}
.bg-imgs > *,
.bg-imgs > * > * {
	position: absolute;
}
@media screen and (max-width: 743px) {
	.bg-imgs > * {
		transform: scale(.5);
	}
}
#footer .bg > .bg-imgs {
	z-index: auto;
}
.bg-imgs.-foot1 {
	top: 9rem;
	& > div {
		width: 43.3rem;
		height: 19.0rem;
		right: calc(50% + 17.8rem);
	}
	/*  */
	.i1 {
		width: 31.6rem;
		height: 15.4rem;
		left: 0.0rem;
		top: 3.6rem;
	}
	/*  */
	.i2 {
		width: 33.8rem;
		height: 18.7rem;
		left: 9.5rem;
		top: 0.0rem;
	}
}
.bg-imgs.-foot2 {
	top: 4rem;
	& > div {
		width: 67.6rem;
		height: 53.9rem;
		left: calc(50% + 3.5rem);
	}
	.i1 {
		width: 42.9rem;
		height: 29.7rem;
		left: 16.1rem;
		top: 20.9rem;
	}
	.i2 {
		width: 54.1rem;
		height: 26.3rem;
		left: 0.0rem;
		top: 19.5rem;
	}
	.i3 {
		width: 55.3rem;
		height: 39.1rem;
		left: 3.1rem;
		top: 16.7rem;
		transform: rotate(-18deg);
		transform-origin: top left;
	}
	.i4 {
		width: 26.9rem;
		height: 22.4rem;
		left: 52.5rem;
		top: 39.6rem;
		transform: rotate(-180deg);
		transform-origin: top left;
	}
	.i5 {
		width: 26.9rem;
		height: 22.4rem;
		left: 38.2rem;
		top: 18.8rem;
	}
}
.bg-imgs.-foot3 {
	top: 32rem;
	& > div {
		width: 91.1rem;
		height: 60.4rem;
		right: calc(50% + 5.3rem);
	}
	.i1 {
		width: 61.7rem;
		height: 43.7rem;
		left: 4.6rem;
		top: 18.8rem;
		transform: rotate(-18deg);
		transform-origin: top left;
	}
	.i2 {
		width: 83.8rem;
		height: 38.7rem;
		left: 0.0rem;
		top: 10.9rem;
	}
	.i3 {
		width: 53.8rem;
		height: 37.2rem;
		left: 91.1rem;
		top: 54.9rem;
		transform: rotate(-180deg);
		transform-origin: top left;
	}
	.i4 {
		width: 51.1rem;
		height: 28.2rem;
		left: 8.1rem;
		top: 29.2rem;
	}
	.i5 {
		width: 58.1rem;
		height: 32.2rem;
		left: 25.6rem;
		top: 5.2rem;
	}
}
.bg-imgs.-foot4 {
	top: 73rem;
	& > div {
		width: 41.7rem;
		height: 20.2rem;
		left: calc(50% + 30.4rem);
	}
	.i1 {
		width: 41.7rem;
		height: 20.2rem;
		left: 0.0rem;
		top: 0.0rem;
	}
}
.bg-imgs.-foot5 {
	top: 99rem;
	& > div {
		width: 29.9rem;
		height: 18.1rem;
		right: calc(50% + 8.2rem);
	}
	.i1 {
		width: 20.4rem;
		height: 17.0rem;
		left: 20.4rem;
		top: 17.0rem;
		transform: rotate(-180deg);
		transform-origin: top left;
	}
	.i2 {
		width: 20.4rem;
		height: 17.0rem;
		left: 9.5rem;
		top: 1.0rem;
	}
}
@media screen and (max-width: 743px) {
	#footer .bg > .bg-imgs > div {
		transform: scale(.4);
	}
	.bg-imgs.-foot1 {
		top: -2rem;
		& > div {
			right: calc(50% - 11.2rem);
		}
	}
	.bg-imgs.-foot2 {
		top: -14rem;
		& > div {
			left: calc(50% - 25.5rem);
		}
	}
	.bg-imgs.-foot3 {
		top: -5rem;
		& > div {
			right: calc(50% - 28rem);
		}
	}
	.bg-imgs.-foot4 {
		top: 26rem;
		& > div {
			left: calc(50% - 2rem);
		}
	}
	.bg-imgs.-foot5 {
		top: 64rem;
		& > div {
			right: calc(50% - 2.2rem);
		}
	}
}

/* yurayura
====================================================================== */
.yurayura {
	will-change: transform;
}

/* fix_bnr
====================================================================== */
.fix_bnr {
	position: fixed;
	right: 0;
	bottom: 12rem;
	z-index: 950;
	@media screen and (max-width: 743px) {
		bottom: 3rem;
		z-index: 100;
	}
	a {
		width: 36.5rem;
		height: 11.4rem;
		display: flex;
		align-items: center;
		background-color: var(--color-base);
		color: #fff;
		font-size: 1.4rem;
		line-height: calc(22 / 14);
		text-decoration: none;
		@media screen and (max-width: 743px) {
			width: 30rem;
			height: 9rem;
			font-size: 1.2rem;
		}
		.ph {
			width: 11.4rem;
			height: 11.4rem;
			flex-shrink: 0;
			@media screen and (max-width: 743px) {
				width: 9rem;
				height: 9rem;
			}
		}
		.content {
			padding: 0 1.8rem;
			flex-grow: 1;
		}
		.title {
			margin-top: 0.8rem;
			overflow: hidden;
			display: -webkit-box;
			-webkit-box-orient: vertical;
			-webkit-line-clamp: 2;
			@media screen and (max-width: 743px) {
				margin-top: 0.4rem;
			}
		}
		@media (hover) {
			&::after {
				content: "";
				position: absolute;
				top: 0;
				left: 0;
				right: 0;
				bottom: 0;
				background-color: #fff;
				pointer-events: none;
				opacity: 0;
			}
			&:hover::after {
				opacity: 0.3;
			}
		}
	}
	.close {
		position: absolute;
		top: 0;
		right: 0;
		width: 5rem;
		height: 5rem;
		z-index: 10;
		cursor: pointer;
		@media screen and (max-width: 743px) {
			width: 4rem;
			height: 4rem;
		}
		&::before,
		&::after {
			content: "";
			position: absolute;
			top: 50%;
			right: 0;
			left: 0;
			width: 2rem;
			margin-inline: auto;
			border-top: 1px solid #fff;
			transform: rotate(45deg);
		}
		&::after {
			transform: rotate(-45deg);
		}
		@media (hover) {
			transition: transform var(--transition);
			&:hover {
				transform: scale(1.4);
			}
		}
	}

	transform: translateX(110%);
	transition: transform .5s ease-in-out;
	@media screen and (min-width: 744px) {
		html:not(.-has_opening) &.-pc-show {
			transform: translateX(0);
		}
		html.-has_opening .-header-show &.-pc-show {
			transition-delay: 1s;
			transform: translateX(0);
		}
	}
	@media screen and (max-width: 743px) {
		&.-sp-show {
			transform: translateX(0);
		}
	}
	&.-close {
		transition-delay: 0s !important;
		transform: translateX(110%) !important;
	}
	@media print {
		display: none;
	}
}

/* box_btn
====================================================================== */
.box_btn, .news_detail_body .wp-block-button__link {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 24.2rem;
	max-width: 100%;
	height: 4.2rem;
	margin-inline: .7rem;
	padding: 0;
	background-color: #fff;
	border: 0;
	border-radius: 0;
	color: var(--color-base);
	font-size: 1.6rem;
	line-height: 1.5;
	font-weight: var(--font-weight-medium);
	text-align: center;
	text-decoration: none;
	z-index: 2;
	@media screen and (max-width: 743px) {
		--over: -.9rem;
		width: 21.2rem;
		height: 3.7rem;
		font-size: 1.4rem;
	}
	&.-w1 {
		width: 30.2rem;
		@media screen and (max-width: 743px) {
			width: 25.2rem;
		}
	}

	.line {
		--over: -1.1rem;
		position: absolute;
		pointer-events: none;
		overflow: hidden;
		z-index: 3;
		&.-h {
			left: var(--over);
			right: var(--over);
			border-top: 1px solid var(--color-base);
		}
		&.-v {
			top: var(--over);
			bottom: var(--over);
			width: 1px;
			border-right: 1px solid var(--color-base);
		}
		&.-t {
			top: 0;
		}
		&.-b {
			bottom: 0;
		}
		&.-l {
			left: 0;
		}
		&.-r {
			right: 0;
		}
		&.-p {
			left: auto;
			right: 0;
			top: 50%;
			width: 3.8rem;
			border-top: 1px solid var(--color-base);
			z-index: 2;
			@media screen and (max-width: 743px) {
				width: 3.1rem;
			}
		}
		&.-pr {
			left: 0;
			right: auto;
			top: 50%;
			width: 3.8rem;
			border-top: 1px solid var(--color-base);
			z-index: 2;
			@media screen and (max-width: 743px) {
				width: 3.1rem;
			}
		}
	}
	&.-center {
		margin-inline: auto;
	}
	@media screen and (min-width: 744px), print {
		&.-pc_center {
			margin-inline: auto;
		}
		&.-pc_vertical {
			writing-mode: vertical-rl;
			width: 4.2rem;
			height: 20.2rem;
			padding-bottom: 2rem;
			font-size: 1.6rem;
			line-height: 1.5;
			font-weight: var(--font-weight-medium);
			text-align: center;
			text-decoration: none;
			z-index: 2;
		}
		&.-pc_vertical .line.-p {
			right: 50%;
			top: auto;
			bottom: 0;
			transform-origin: 100% 100%;
			transform: rotate(90deg);
		}
	}

	@media (hover) {
		transition: color .5s ease-in-out, background .5s ease-in-out;
		.line {
			transition: border .5s ease-in-out;
		}
		&:hover {
			background-color: var(--color-base);
			color: #fff;
			.line {
				&.-p {
					border-color: #fff;
				}
				&.-pr {
					border-color: #fff;
				}
			}
		}
	}
}

@media screen and (min-width: 744px), print {
	.btn_group {
		display: flex;
		justify-content: center;
		gap: 6.8rem;
	}
}
@media screen and (max-width: 743px) {
	.btn_group > * + * {
		margin-top: 3rem;
	}
}

.box_btn_simple {
	position: relative;
	display: flex;
	align-items: center;
	width: 17rem;
	max-width: 100%;
	height: 3.6rem;
	padding-inline: 2rem;
	background-color: var(--color-black);
	color: #fff;
	font-family: var(--font-family-gothic);
	font-size: 1.2rem;
	line-height: 1.5;
	font-weight: var(--font-weight-medium);
	text-decoration: none;
	letter-spacing: 0.2rem;
	z-index: 2;
	&::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 0;
		width: 2.5rem;
		border-top: 1px solid #fff;
	}
	@media (hover) {
		&:hover {
			opacity: 0.7;
		}
	}
}

.back_btn {
	margin-top: 8rem;
	@media screen and (max-width: 743px) {
		margin-top: 5rem;
	}
}

/* paragraph
====================================================================== */
.paragraph > * + * {
	margin-top: 1lh;
}

/* ul / ol
====================================================================== */
.dot_li > li {
	position: relative;
	padding-left: 1em;
}
.dot_li > li::before {
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
}

.circle_li > li {
	position: relative;
	padding-left: 1em;
}
.circle_li > li::before {
	content: "";
	position: absolute;
	top: .6em;
	left: 0;
	width: 8px;
	height: 8px;
	background-color: #005f8b;
	border-radius: 100%;
}

.parentheses_li > li {
	position: relative;
	padding-left: 2.8em;
}
.parentheses_li > li > span:first-child {
	position: absolute;
	top: 0;
	left: 0;
}

.parentheses_li_h > li {
	position: relative;
	padding-left: 1.6em;
}
.parentheses_li_h > li > span:first-child {
	position: absolute;
	top: 0;
	left: 0;
}
.parentheses_li_hh > li {
	position: relative;
	padding-left: 2.2em;
}
.parentheses_li_hh > li > span:first-child {
	position: absolute;
	top: 0;
	left: 0;
}

.point_li > li {
	position: relative;
	padding-left: 1.2em;
}
.point_li > li > span:first-child {
	position: absolute;
	top: 0;
	left: 0;
}

.square_li > li {
	position: relative;
	padding-left: 0.8em;
}
.square_li > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .8em;
	width: 5px;
	height: 5px;
	background-color: #14143c;
}
@media screen and (max-width: 743px) {
	.square_li > li::before {
		top: 0.6em;
	}
}

.num_li {
	margin-left: 1.8em;
	list-style: decimal;
}
.alphabet_li {
	margin-left: 1.8em;
	list-style: lower-latin;
}

.mt_li > li + li {
	margin-top: 0.8em;
}
@media screen and (max-width: 743px) {
	.sp_mt_li > li + li {
		margin-top: 0.8em;
	}
}

.inline_li > li {
	display: inline-block;
	margin-right: 0.3em;
}

@media screen and (min-width: 744px), print {
	.column_li {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.column_li > li {
		width: 48%;
	}
	.column_li > li:nth-child(n + 3) {
		margin-top: 0.25em;
	}
}
@media screen and (max-width: 743px) {
	.column_li > li + li {
		margin-top: 0.25em;
	}
}

.dl_table {
	display: table;
	& > * {
		display: table-row;
		& > * {
			display: table-cell;
		}
	}
	dt {
		white-space: nowrap;
	}
	&.-dt_pr dt {
		padding-right: 1em;
	}
}

/* _bg_glay_block
====================================================================== */
:where(._bg_glay_block) {
	position: relative;
	z-index: 3;
}
._bg_glay_block {
	background-color: var(--bg-body);
	&::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: url(../img/bg-texture.png) 50% 0;
		background-size: 40rem;
		opacity: 0.3;
		z-index: -2;
		@media screen and (max-width: 743px) {
			background-size: 20rem;
		}
	}
	&::after {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background-color: rgba(24,24,24,.08);
		z-index: -2;
	}
}

/* page_title
====================================================================== */
.page_title {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	height: 60rem;
	margin-bottom: calc(var(--header-height) + 12rem);
	padding-top: 6rem;
	background-color: var(--color-base);
	text-align: center;
	color: #fff;
	z-index: 1;
	@media screen and (max-width: 743px) {
		height: 50rem;
		margin-bottom: calc(var(--header-height) + 6rem);
		padding-top: 1rem;
	}
	.title {
		font-size: 5rem;
		line-height: 1;
		letter-spacing: 0.6rem;
		font-weight: var(--font-weight);
		@media screen and (max-width: 743px) {
			line-height: 1.4;
			font-size: 3.4rem;
		}
		&._ff_en {
			font-size: 6rem;
			@media screen and (max-width: 743px) {
				font-size: 3.8rem;
			}
		}
	}
	.en {
		margin-top: 2.4rem;
		font-size: 2rem;
		line-height: 1.2;
		@media screen and (max-width: 743px) {
			margin-top: 1.8rem;
			font-size: 1.6rem;
		}
	}
}

/* section_header
====================================================================== */
.section_header {
	margin-bottom: 5rem;
	text-align: center;
	@media screen and (max-width: 743px) {
		margin-bottom: 3rem;
		text-align: left;
	}
	h2 {
		text-align: center;
	}
}


/* title_l
====================================================================== */
.title_l {
	margin-bottom: 3rem;
	font-size: 4rem;
	line-height: calc(70 / 40);
	@media screen and (max-width: 743px) {
		margin-bottom: 2rem;
		font-size: 2.4rem;
	}
}


/* accordion
====================================================================== */
.acc_title {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 8.6rem;
	padding: 1.6rem 8rem 1.6rem 2rem;
	border-bottom: 1px solid rgba(27,27,27,.4);
	font-size: 2rem;
	line-height: 1.3;
	font-weight: var(--font-weight-semi);
	cursor: pointer;
	z-index: 1;
	&.-s {
		min-height: 7rem;
		padding-block: 1rem;
	}
	@media screen and (max-width: 743px) {
		font-size: 1.6rem;
		min-height: 7rem;
		padding: 1rem 7rem 1rem 1.5rem;
		&.-s {
			min-height: 6.4rem;
			padding-block: .5rem;
		}
	}
	.point {
		position: absolute;
		top: 0;
		bottom: 0;
		right: 1.2rem;
		width: 6rem;
		background: url(../img/index/acc-point.svg) no-repeat 50%;
		background-size: 100%;
		@media screen and (max-width: 743px) {
			width: 4.8rem;
		}
		&::before,
		&::after {
			content: "";
			position: absolute;
			top: calc(50% - 1px);
			right: 0;
			left: 0;
			width: 1.2rem;
			margin-inline: auto;
			border-top: 2px solid #000;
			@media screen and (max-width: 743px) {
				width: 1.1rem;
				border-top-width: 1px;
			}
		}
		&::after {
			transform: rotate(90deg);
			transition: transform .3s ease-in-out;
		}
	}
	&.-open .point::after {
		transform: rotate(0);
	}
	@media (hover) {
		&::after {
			content: "";
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
			bottom: 0;
			background-color: #fff;
			opacity: 0;
			z-index: -1;
			transition: opacity var(--transition);
		}
		&:hover::after {
			opacity: 0.3;
		}
	}
}
.acc_contents {
	height: 0;
	overflow: hidden;
	transition: height .3s ease-in-out;
}


/* arrow_down
====================================================================== */
.arrow_down {
	position: absolute;
	width: 1.5rem;
	height: 2.1rem;
	right: 2.5rem;
	top: calc(50% - 2.1rem / 2);
	background: url(../img/ico-arrow-down.svg) no-repeat 50%;
	background-size: 100%;
	@media screen and (max-width: 743px) {
		width: calc(1.5rem * .6);
		height: calc(2.1rem * .6);
		right: 1.5rem;
		top: calc(50% - (2.1rem * .6) / 2);
	}
}

/* bottom_nav
====================================================================== */
.bottom_nav {
	margin-top: 12rem;
	padding-bottom: 10rem;
	@media screen and (max-width: 743px) {
		margin-top: 6rem;
		padding-bottom: 6rem;
	}
	ul {
		display: flex;
		justify-content: space-between;
		@media screen and (max-width: 743px) {
			flex-direction: column;
			gap: 3rem;
		}

		li {
			@media screen and (min-width: 744px), print {
				width: 50rem;
			}

			a {
				position: relative;
				display: flex;
				text-decoration: none;
				font-size: 2rem;
				line-height: 1.6;
				font-weight: var(--font-weight-semi);
				@media screen and (max-width: 743px) {
					font-size: 1.6rem;
				}
				.ph {
					flex-shrink: 0;
					width: 22.9rem;
					margin-right: 2rem;
					@media screen and (max-width: 743px) {
						width: 14rem;
						margin-right: 1.5rem;
					}
				}
				.title {
					position: relative;
					display: flex;
					justify-content: center;
					align-items: center;
					flex-grow: 1;
					border-top: 1px solid var(--color-base);
					border-bottom: 1px solid var(--color-base);
					text-align: center;
					z-index: 2;
					span {
						display: block;
						padding-bottom: 3rem;
						background: url(../img/ico-arrow.svg) no-repeat 50% 100%;
						background-size: 2.1rem;
						@media screen and (max-width: 743px) {
							padding-bottom: 2rem;
							background-size: 1.6rem;
						}
					}
				}
				@media (hover) {
					&::after {
						content: "";
						position: absolute;
						top: 0;
						left: 0;
						right: 0;
						bottom: 0;
						background-color: #fff;
						opacity: 0;
						pointer-events: none;
					}
					&:hover::after {
						opacity: 0.3;
					}
				}
			}
		}
	}
}


/* column_nav
====================================================================== */
.column_nav {
	&.-bottom {
		margin-top: 12rem;
		padding-bottom: 10rem;
		@media screen and (max-width: 743px) {
			margin-top: 6rem;
			padding-bottom: 6rem;
		}
	}
	ul {
		@media screen and (min-width: 744px), print {
			display: flex;
			justify-content: space-between;
		}
		li {
			@media screen and (min-width: 744px), print {
				width: 54rem;
			}
			@media screen and (max-width: 743px) {
				& + li {
					margin-top: -1px;
				}
			}
			a {
				position: relative;
				display: block;
				height: 100%;
				padding: 6rem 5rem 5rem;
				border-top: 1px solid var(--color-base);
				border-bottom: 1px solid var(--color-base);
				text-decoration: none;
				font-size: 1.6rem;
				line-height: 2;
				@media screen and (max-width: 743px) {
					padding: 2rem 2rem 2rem;
					font-size: 1.2rem;
				}
				& > span {
					display: block;
				}
				.title {
					margin-bottom: 1.5rem;
					font-size: 2.2rem;
					line-height: 1.5;
					font-weight: var(--font-weight-semi);
					@media screen and (max-width: 743px) {
						margin-bottom: 1rem;
						font-size: 1.8rem;
					}
				}
				&::before,
				&::after {
					content: "";
					position: absolute;
					right: 4rem;
					top: calc(50% - 4.5rem / 2);
					width: 6rem;
					height: 4.5rem;
					background: no-repeat 50%;
					background-size: 100%;
					@media screen and (max-width: 743px) {
						right: 1rem;
						top: calc(50% - 4.5rem * .6 / 2);
						width: calc(6rem * .6);
						height: calc(4.5rem * .6);
					}
				}
				&::before {
					background-image: url(../img/ico-diamond-arrow.svg);
				}
				@media (hover) {
					&:hover {
						background-color: rgba(255,255,255,0.3);
					}
					&::after {
						background-image: url(../img/ico-diamond-arrow_hv.svg);
						opacity: 0;
						transition: opacity var(--transition);
					}
					&:hover::after {
						opacity: 1;
					}
				}
			}
		}
	}
}


/* inner_nav
====================================================================== */
.inner_nav {
	display: flex;
	flex-wrap: wrap;
	gap: 2px;
	margin-bottom: 9rem;
	li {
		width: calc(1 / 3 * (100% - 2px * 2));
		@media screen and (max-width: 743px) {
			width: calc(1 / 2 * (100% - 2px));
		}
	}
	a {
		position: relative;
		display: flex;
		align-items: center;
		height: 7.5rem;
		padding-left: 3rem;
		padding-right: 4.5rem;
		background-color: var(--bg-white);
		text-decoration: none;
		font-weight: var(--font-weight-medium);
		font-size: 2rem;
		line-height: 1.4;
		z-index: 1;
		@media screen and (max-width: 743px) {
			padding-left: 1.5rem;
			padding-right: 3.5rem;
			font-size: 1.4rem;
			line-height: calc(20 / 14);
			.-sp_s & {
				height: 6rem;
			}
		}
		@media (hover) {
			&::after {
				content: "";
				position: absolute;
				top: 0;
				left: 0;
				right: 0;
				bottom: 0;
				background-color: var(--color-black);
				opacity: 0;
				z-index: -2;
			}
			&:hover::after {
				opacity: 0.05;
			}
		}
	}

	& + .sp_line {
		@media screen and (max-width: 743px) {
			position: relative;
			& > div {
				overflow: hidden;
				position: absolute;
				right: 0;
				left: 0;
				height: 4.5rem;
				bottom: calc((9rem - 4.5rem) / 2);
				&::before {
					content: "";
					position: absolute;
					top: 0;
					left: 50%;
					height: 100%;
					border-left: 1px solid var(--color-black);
					animation: scroll 2s ease-in-out infinite;
				}
			}
		}
	}
}
@keyframes scroll {
	0% {
		top: -102%;
	}
	25% {
		top: 0;
	}
	70% {
		top: 0;
	}
	100% {
		top: 130%;
	}
}

/* inner_txt_nav
====================================================================== */
.inner_txt_nav {
	position: relative;
	margin-bottom: 10rem;
	z-index: 2;
	@media screen and (max-width: 743px) {
		margin-bottom: 9rem;
	}
	a {
		position: relative;
		display: block;
		padding-left: 7.5rem;
		padding-block: 1rem;
		font-size: 2rem;
		line-height: 1.5;
		font-weight: var(--font-weight-semi);
		text-decoration: none;
		@media screen and (max-width: 743px) {
			padding-left: 8.5rem;
			padding-block: 2rem;
			border-bottom: 1px solid #B5B5B5;
			font-size: 1.6rem;
		}
		&::before,
		&::after {
			content: "";
			position: absolute;
			left: 0;
			top: calc(50% - 4.5rem / 2);
			width: 6rem;
			height: 4.5rem;
			background: no-repeat 50%;
			background-size: 100%;
			@media screen and (max-width: 743px) {
				left: 1rem;
				width: 4.5rem;
			}
		}
		&::before {
			background-image: url(../img/ico-diamond-arrow-down.svg);
		}
		@media (hover) {
			&::after {
				background-image: url(../img/ico-diamond-arrow-down_hv.svg);
				opacity: 0;
				transition: opacity var(--transition);
			}
			&:hover::after {
				opacity: 1;
			}
			span {
				transition: opacity var(--transition);
			}
			&:hover span {
				opacity: 0.7;
			}
		}
	}
	@media screen and (min-width: 744px), print {
		ul {
			display: flex;
			justify-content: center;
			gap: 5rem;
		}
	}
}


/* contents_box
====================================================================== */
.contents_box {
	position: relative;
	padding: 10rem 10rem 16rem;
	background-color: var(--bg-white);
	@media screen and (min-width: 744px), print {
		--point-size: 7.4rem;
		clip-path: polygon(0 0, 110% 0, 110% 100% , var(--point-size) 100%, 0 calc(100% - var(--point-size)));
		&::after {
			content: "";
			position: absolute;
			bottom: 0;
			left: 0;
			width: var(--point-size);
			height: var(--point-size);
			background-color: var(--color-base);
			opacity: 0.5;
		}
	}
	@media screen and (max-width: 743px) {
		padding: 4rem var(--sp-base-padding);
	}
}


/* ======================================================================================

	八雲のそば

====================================================================================== */
.about_main {
	position: relative;
	padding-bottom: 19rem;
	@media screen and (min-width: 744px), print {
		display: flex;
		justify-content: space-between;
		padding-top: 4rem;
		.txt {
			width: 55.2rem;
		}
		.img {
			width: 58.5rem;
			margin-right: -8.5rem;
		}
	}
	@media screen and (max-width: 743px) {
		padding-bottom: 3.5rem;
	}
	.more {
		margin-top: 6rem;
		@media screen and (max-width: 743px) {
			margin-top: 4rem;
		}
	}
	.img {
		display: flex;
		justify-content: space-between;
		gap: 1.7rem;
		@media screen and (max-width: 743px) {
			gap: 1.5rem;
			margin-top: 5rem;
			margin-right: 2rem;
		}
		& > li {
			position: relative;
			width: 100%;
			&:last-child {
				margin-top: 20rem;
				@media screen and (max-width: 743px) {
					margin-top: 11.6rem;
				}
			}
			.dummy {
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				display: flex;
				justify-content: center;
				align-items: center;
				color: #fff;
				pointer-events: none;
				font-weight: 700;
			}
		}
		video {
			width: 100%;
			height: auto;
			aspect-ratio: 568 / 820;
			object-fit: cover;
			background-color: #000;
		}
	}
}
.about_main_ph {
	position: relative;
	margin-bottom: 11rem;
	@media screen and (max-width: 743px) {
		margin-bottom: 9rem;
	}
	.ph {
		@media screen and (min-width: 744px), print {
			width: calc(50% + var(--base-width) / 2);
			height: 56.5rem;
			margin-left: auto;
		}
		@media screen and (max-width: 743px) {
			height: 22.5rem;
			img {
				object-position: 30%;
			}
		}
	}
}

.popular_menu_list {
	margin-top: 10rem;
	@media screen and (max-width: 743px) {
		margin-top: 6rem;
	}
	section {
		position: relative;
		background-color: var(--bg-white);
		font-size: 1.6rem;
		line-height: calc(36 / 16);
		letter-spacing: 0.1rem;

		& + section {
			margin-top: 5rem;
		}
		h3 {
			margin-bottom: 2rem;
			font-size: 3.2rem;
			line-height: 1.5;
			@media screen and (max-width: 743px) {
				margin-bottom: 1rem;
				font-size: 2rem;
			}
		}
		@media screen and (min-width: 744px), print {
			--gap: 1.8rem;
			min-height: 40.2rem;
			padding: 6rem 5rem 5rem;
			.ph {
				position: absolute;
				top: calc(var(--gap) * -1);
				width: 55rem;
			}
			&:nth-child(2n + 1) {
				margin-left: var(--gap);
				padding-left: calc(55rem + 5rem - var(--gap));
				.ph {
					left: calc(var(--gap) * -1);
				}
			}
			&:nth-child(2n) {
				margin-right: var(--gap);
				padding-right: calc(55rem + 5rem - var(--gap));
				.ph {
					right: calc(var(--gap) * -1);
				}
			}
		}
		@media screen and (max-width: 743px) {
			padding: 0 var(--sp-base-padding) 3rem;
			font-size: 1.2rem;
			line-height: calc(22 / 12);
			.ph {
				position: relative;
				top: calc(var(--sp-base-padding) * -1);
				margin-bottom: -1rem;
			}
			&:nth-child(2n + 1) {
				margin-right: var(--sp-base-padding);
				.ph {
					margin-right: calc(var(--sp-base-padding) * -2);
				}
			}
			&:nth-child(2n) {
				margin-left: var(--sp-base-padding);
				.ph {
					margin-left: calc(var(--sp-base-padding) * -2);
				}
			}
		}
	}
}

.about_recommend {
	margin-top: 16rem;
	padding-top: 10rem;
	padding-bottom: 12rem;
	@media screen and (max-width: 743px) {
		margin-top: 9rem;
		padding-top: 6rem;
		padding-bottom: 7rem;
	}
}
.recommend_menu_list {
	position: relative;
	@media screen and (min-width: 744px), print {
		.swiper-wrapper, .swiper-slide {
			height: auto;
		}
	}
	section {
		position: relative;
		background-color: var(--bg-white);
		padding: 0 4.2rem 9.5rem;
		@media screen and (max-width: 743px) {
			padding: 0 2rem 3rem;
		}
		.ph {
			margin-right: -4.2rem;
			margin-bottom: 2rem;
			@media screen and (max-width: 743px) {
				margin: 0 -2rem 1.5rem;
			}
		}
		h3 {
			margin-bottom: 2rem;
			font-size: 2.2rem;
			line-height: calc(45 / 22);
			@media screen and (max-width: 743px) {
				margin-bottom: 1.5rem;
				font-size: 1.8rem;
				line-height: calc(30 / 18);
			}
		}
		.link {
			position: absolute;
			a {
				position: relative;
				display: inline-block;
				font-size: 1.6rem;
				font-weight: var(--font-weight-medium);
				text-decoration: none;
				&::before,
				&::after {
					display: block;
					width: 6rem;
					height: 4.5rem;
					background: no-repeat 50%;
					background-size: 100%;
				}
				&::before {
					content: "";
					background-image: url(../img/ico-diamond-arrow.svg);
				}
				@media (hover) {
					&::after {
						content: "";
						position: absolute;
						top: 0;
						left: 0;
						background-image: url(../img/ico-diamond-arrow_hv.svg);
						opacity: 0;
					}
					&:hover::after {
						opacity: 1;
					}
					span {
						transition: opacity var(--transition);
					}
					&:hover span {
						opacity: 0.7;
					}
				}
			}
		}
		.content {
			font-size: 1.4rem;
			line-height: calc(27 / 14);
			letter-spacing: .1rem;
			.portrait {
				.img {
					position: relative;
					display: block;
					&::before, &::after {
						content: "";
						position: absolute;
						top: -1px;
						left: -1px;
						right: -1px;
						bottom: -1px;
						pointer-events: none;
					}
					&::before {
						left: -1.5rem;
						right: -1.5rem;
						border-top: 1px solid;
						border-bottom: 1px solid;
					}
					&::after {
						top: -1.5rem;
						bottom: -1.5rem;
						border-left: 1px solid;
						border-right: 1px solid;
					}
				}
				.name {
					display: block;
					font-size: 1.2rem;
					line-height: calc(16 / 12);
				}
			}
			@media screen and (min-width: 744px), print {
				display: flex;
				justify-content: space-between;
				.portrait {
					flex-shrink: 0;
					width: 19.4rem;
					margin-top: 1rem;
					margin-right: -0.5rem;
					margin-left: 0.5rem;
					.img {
						width: 16.4rem;
						margin-inline: auto;
					}
					.name {
						margin-top: 1.2rem;
						text-align: center;
					}
				}
				.link {
					bottom: 3.6rem;
					a {
						display: inline-flex;
						align-items: center;
						gap: 1rem;
					}
				}
			}
			@media screen and (max-width: 743px) {
				font-size: 1.2rem;
				line-height: calc(24 / 12);
				.portrait {
					display: flex;
					gap: 2.5rem;
					margin-top: 2.5rem;
					padding-left: 1rem;
					.img {
						flex-shrink: 0;
						width: 12rem;
						&::before {
							left: -1rem;
							right: -1rem;
						}
						&::after {
							top: -1rem;
							bottom: -1rem;
						}
					}
				}
				.link {
					left: calc(14.5rem + 2rem + 1rem);
					right: 1rem;
					bottom: 2.6rem;
					a {
						font-size: 1.2rem;
						line-height: calc(16 / 12);
						&::before {
							width: calc(6rem * .75);
							height: calc(4.5rem * .75);
							margin-bottom: 0.3rem;
						}
					}
				}
			}
		}
	}
}
.slide_arrow {
	position: absolute;
	top: calc(50% - 2.5rem);
	width: 5rem;
	height: 5rem;
	background-color: #fff;
	color: var(--color-black);
	cursor: pointer;
	z-index: 5;
	@media screen and (max-width: 743px) {
		top: calc((100vw - var(--sp-base-padding) * 2) * (450 / 746) / 2 - 2rem);
		width: 4rem;
		height: 4rem;
	}
	&::before {
		content: "";
		position: absolute;
		top: 50%;
		right: 2rem;
		width: 1.2rem;
		height: 1.2rem;
		border-top: .2rem solid;
		border-right: .2rem solid;
		transform-origin: 100% 0;
		transform: rotate(45deg);
		@media screen and (max-width: 743px) {
			right: 1.6rem;
			width: 1rem;
			height: 1rem;
		}
	}
	&.-r {
		right: -8rem;
		@media screen and (max-width: 743px) {
			right: 0;
		}
	}
	&.-l {
		left: -8rem;
		transform: scaleX(-1);
		@media screen and (max-width: 743px) {
			left: 0;
		}
	}
	@media (hover) {
		transition: background var(--transition), color var(--transition);
		&:hover {
			background-color: var(--color-black);
			color: #fff;
		}
	}
}
.slide_pagination.swiper-pagination-progressbar {
	position: absolute;
	bottom: -4rem;
	left: 0;
	right: 0;
	top: auto;
	width: auto;
	height: 2px;
	background-color: rgba(24,24,24,.5);
	@media screen and (max-width: 743px) {
		bottom: -1.5rem;
		left: var(--sp-base-padding);
		right: var(--sp-base-padding);
	}
	.swiper-pagination-progressbar-fill {
		background-color: #fff;
	}
}

.about_menu {
	padding-top: 10rem;
	margin-bottom: 15rem;
	@media screen and (max-width: 743px) {
		padding-top: 6rem;
		margin-bottom: 0;
	}
	.menu_wrap {
		@media screen and (min-width: 744px), print {
			display: flex;
			flex-wrap: wrap;
			gap: 4rem;
		}
		.menu_item {
			padding: 5rem 6rem 7rem;
			background-color: var(--bg-white);
			@media screen and (min-width: 744px), print {
				width: 53rem;
				&.-full {
					width: 100%;
					padding: 5rem 8rem 12rem;
					z-index: 3;
				}
			}
			@media screen and (max-width: 743px) {
				padding: 3rem 2rem 3rem;
				&:not(:last-child) {
					margin-bottom: 2rem;
				}
			}
			h3 {
				margin-bottom: 5rem;
				font-size: 3.2rem;
				line-height: 1.5;
				text-align: center;
				@media screen and (max-width: 743px) {
					margin-bottom: 2rem;
					font-size: 2rem;
				}
			}
			li {
				position: relative;
				padding: 1.5rem 0 1.5rem 3rem;
				font-size: 2rem;
				line-height: 1.6;
				/* border-bottom: 1px solid rgba(24,24,24,0.2); */
				border-bottom: 1px solid #d1d1d1;
				@media screen and (max-width: 743px) {
					padding: 1.2rem 0 1.2rem 2rem;
					font-size: 1.5rem;
				}
				&::before {
					content: "";
					position: absolute;
					top: calc(1.5rem + .5lh - .3rem);
					left: 1.2rem;
					width: 0.6rem;
					height: 0.6rem;
					background-color: var(--color-base);
					border-radius: 100%;
					@media screen and (max-width: 743px) {
						top: calc(1.2rem + .5lh - .2rem);
						left: 1rem;
						width: 0.4rem;
						height: 0.4rem;
					}
				}
			}
			.column {
				column-count: 2;
				column-gap: 2rem;
				@media screen and (max-width: 743px) {
					column-gap: 1rem;
				}
				li {
					margin-top: -1px;
					/* border-top: 1px solid rgba(24,24,24,0.2); */
					border-top: 1px solid #d1d1d1;
					break-inside: avoid;
					white-space: nowrap;
				}
			}
			.flex {
				display: flex;
				flex-wrap: wrap;
				gap: 0 2rem;
				@media screen and (min-width: 744px), print {
					margin-top: -1.5rem;
				}
				@media screen and (max-width: 743px) {
					gap: 0 1rem;
				}
				li {
					width: calc((100% - 2rem * 3) / 4);
					@media screen and (max-width: 743px) {
						width: calc((100% - 1rem) / 2);
						margin-top: -1px;
						/* border-top: 1px solid rgba(24,24,24,0.2); */
						border-top: 1px solid #d1d1d1;
					}
					&.notes {
						width: auto;
						font-size: 1.6rem;
						display: flex;
						align-items: center;
						margin-top: 2rem;
						padding: 0 1rem;
						border: 0;
						@media screen and (max-width: 743px) {
							font-size: 1.2rem;
							margin-top: 1rem;
						}
						&::before {
							content: none;
						}
					}
				}
			}
		}
	}
}

.bg-imgs.-about-imgs1 {
	top: -10%;
	@media screen and (max-width: 743px) {
		top: -6%;
	}
	& > div {
		width: 41.1rem;
		height: 28.5rem;
		left: calc(50% - 13.7rem);
		@media screen and (max-width: 743px) {
			transform-origin: 0;
			left: calc(50% - 1rem);
		}
	}
	.i1 {
		left: 0.0rem;
		top: 0.0rem;
		width: 41.1rem;
		height: 28.5rem;
	}
}
.bg-imgs.-about-imgs2 {
	top: 67%;
	@media screen and (max-width: 743px) {
		top: 40%;
	}
	& > div {
		width: 86.7rem;
		height: 42.0rem;
		right: calc(50% - 49.5rem);
		@media screen and (max-width: 743px) {
			transform-origin: 100%;
			right: calc(50% - 20rem);
		}
	}
	.i1 {
		left: 30.6rem;
		top: 0.0rem;
		width: 28.1rem;
		height: 23.4rem;
	}
	.i2 {
		left: 40.8rem;
		top: 3.4rem;
		width: 28.1rem;
		height: 23.4rem;
	}
	.i3 {
		left: 40.8rem;
		top: 4.1rem;
		width: 45.9rem;
		height: 22.7rem;
	}
	.i4 {
		left: 0.0rem;
		top: 4.1rem;
		width: 78.0rem;
		height: 37.9rem;
	}
}
.bg-imgs.-about-imgs3 {
	bottom: -23rem;
	z-index: 2;
	@media screen and (max-width: 743px) {
		bottom: -20rem;
	}
	& > div {
		width: 57.0rem;
		height: 38.6rem;
		right: calc(50% + 32.1rem);
		bottom: 0;
		@media screen and (max-width: 743px) {
			transform-origin: 100%;
			right: calc(50% - 2rem);
		}
	}
	.i1 {
		left: 5.5rem;
		top: 2.1rem;
		width: 40.0rem;
		height: 27.7rem;
	}
	.i2 {
		left: 5.0rem;
		top: 12.1rem;
		width: 41.7rem;
		height: 20.2rem;
	}
	.i3 {
		left: 0.0rem;
		top: 6.9rem;
		width: 49.9rem;
		height: 27.5rem;
	}
	.i4 {
		left: 15.0rem;
		top: 17.8rem;
		width: 34.3rem;
		height: 24.3rem;
		transform: rotate(-31deg);
		transform-origin: left top;
	}
}
.bg-imgs.-about-imgs4 {
	top: 5rem;
	@media screen and (max-width: 743px) {
		top: -6%;
	}
	& > div {
		width: 75.4rem;
		height: 34.4rem;
		left: calc(50% + 21.1rem);
		@media screen and (max-width: 743px) {
			transform-origin: 0;
			left: calc(50% - 2rem);
		}
	}
	.i1 {
		left: 0.0rem;
		top: 0.6rem;
		width: 69.0rem;
		height: 31.8rem;
	}
	.i2 {
		left: 50.0rem;
		top: 15.5rem;
		width: 24.7rem;
		height: 13.6rem;
		transform: rotate(175deg);
		transform-origin: left top;
	}
	.i3 {
		left: 41.2rem;
		top: 14.2rem;
		width: 27.6rem;
		height: 13.6rem;
		transform: rotate(146deg);
		transform-origin: left top;
	}
	.i4 {
		left: 37.2rem;
		top: 16.3rem;
		width: 29.5rem;
		height: 16.3rem;
	}
	.i5 {
		left: 38.4rem;
		top: 15.4rem;
		width: 30.5rem;
		height: 21.6rem;
		transform: rotate(-28deg);
		transform-origin: left top;
	}
}
.bg-imgs.-about-imgs5 {
	top: 46%;
	@media screen and (max-width: 743px) {
		top: 30%;
	}
	& > div {
		width: 53.0rem;
		height: 47.1rem;
		right: calc(50% + 36rem);
		@media screen and (max-width: 743px) {
			transform-origin: 100%;
			right: calc(50% + 6rem);
		}
	}
	.i1 {
		left: 48.9rem;
		top: 30.9rem;
		width: 41.3rem;
		height: 22.9rem;
		transform: rotate(162deg);
		transform-origin: left top;
	}
	.i2 {
		left: 13.0rem;
		top: 24.5rem;
		width: 30.5rem;
		height: 13.4rem;
		transform: rotate(327deg);
		transform-origin: left top;
	}
}
.bg-imgs.-about-imgs6 {
	top: 80%;
	@media screen and (max-width: 743px) {
		top: 75%;
	}
	& > div {
		width: 75.1rem;
		height: 51.5rem;
		left: calc(50% + 20rem);
		@media screen and (max-width: 743px) {
			transform-origin: 0;
			left: calc(50% - 4rem);
		}
	}
	.i1 {
		left: 73.1rem;
		top: 32.4rem;
		width: 68.0rem;
		height: 32.9rem;
		transform: rotate(169deg);
		transform-origin: left top;
	}
	.i2 {
		left: 75.1rem;
		top: 38.1rem;
		width: 53.9rem;
		height: 37.3rem;
		transform: rotate(169deg);
		transform-origin: left top;
	}
}
.bg-imgs.-about-imgs7 {
	top: -45rem;
	@media screen and (max-width: 743px) {
		top: -43rem;
	}
	& > div {
		width: 103.2rem;
		height: 80.7rem;
		right: calc(50% - 4.6rem);
		@media screen and (max-width: 743px) {
			transform-origin: 100%;
			right: calc(50% - 10rem);
			transform: scale(.35);
		}
	}
	.i1 {
		left: 0.0rem;
		top: 28.8rem;
		width: 89.7rem;
		height: 41.4rem;
	}
	.i2 {
		left: 8.5rem;
		top: 39.1rem;
		width: 69.7rem;
		height: 55.6rem;
	}
	.i3 {
		left: 20.1rem;
		top: 39.1rem;
		width: 67.8rem;
		height: 48.0rem;
		transform: rotate(-35deg);
		transform-origin: left top;
	}
}
.bg-imgs.-about-imgs8 {
	top: 20rem;
	@media screen and (max-width: 743px) {
		top: 10rem;
	}
	& > div {
		width: 65.7rem;
		height: 37.1rem;
		right: calc(50% + 30.1rem);
		@media screen and (max-width: 743px) {
			transform-origin: 100%;
			right: calc(50% + 3rem);
		}
	}
	.i1 {
		left: 0.8rem;
		top: 0.0rem;
		width: 64.9rem;
		height: 31.4rem;
	}
	.i2 {
		left: 0.0rem;
		top: 1.5rem;
		width: 51.4rem;
		height: 35.6rem;
	}
}
.bg-imgs.-about-imgs9 {
	top: 60%;
	@media screen and (min-width: 744px), print {
		z-index: 2;
	}
	@media screen and (max-width: 743px) {
		top: 66%;
	}
	& > div {
		width: 54.2rem;
		height: 30.6rem;
		left: calc(50% + 35.2rem);
		@media screen and (max-width: 743px) {
			transform-origin: 0;
			left: calc(50% - 4rem);
		}
	}
	.i1 {
		left: 11.6rem;
		top: 10.5rem;
		width: 42.6rem;
		height: 19.7rem;
	}
	.i2 {
		left: 8.4rem;
		top: 0.0rem;
		width: 45.7rem;
		height: 25.3rem;
	}
	.i3 {
		left: 5.8rem;
		top: 0.7rem;
		width: 28.5rem;
		height: 23.7rem;
		transform: rotate(14deg);
		transform-origin: left top;
	}
	.i4 {
		left: 6.3rem;
		top: 0.6rem;
		width: 47.2rem;
		height: 22.9rem;
	}
}


/* ======================================================================================

	ごまそば八雲の歴史

====================================================================================== */
.history_main {
	margin-bottom: 10rem;
	padding-top: 3rem;
	.lead {
		font-size: 2.7rem;
		font-weight: var(--font-weight-semi);
		line-height: 2.2;
		letter-spacing: 0.3em;
	}
	@media screen and (min-width: 744px), print {
		display: flex;
		justify-content: center;
		flex-direction: row-reverse;
		gap: 8rem;
		p {
			writing-mode: vertical-rl;
			white-space: nowrap;
			letter-spacing: 0.5rem;
			line-height: 3;
		}
	}
	@media screen and (max-width: 743px) {
		margin-bottom: 5rem;
		padding-top: 2rem;
		text-align: center;
		.lead {
			position: relative;
			left: 50%;
			transform: translateX(-50%);
			margin-bottom: 5rem;
			font-size: 2rem;
			writing-mode: vertical-rl;
			white-space: nowrap;
			text-align: left;
		}
	}
}
.history_main_ph {
	position: relative;
	max-width: 100%;
	.ph_wrap {
		position: relative;
		width: 100%;
		height: 100%;
		clip-path: inset(0);
		z-index: 1;
	}
	.ph {
		position: sticky;
		right: 0;
		left: 0;
		margin-inline: auto;
		width: min(134rem, 90%);
		overflow: hidden;
		--aspect-ratio: 1340 / 565;
		@media screen and (max-width: 743px) {
			width: 17rem;
			--aspect-ratio: 170 / 245;
		}
		span {
			display: block;
		}
		&.-fixed {
			position: fixed;
		}
	}

	.en {
		position: sticky;
		width: fit-content;
		text-align: center;
		font-size: 25rem;
		margin-inline: auto;
		margin-bottom: -0.4lh;
		line-height: 1;
		letter-spacing: .06em;
		font-weight: 300;
		color: #E4E4E4;
		z-index: -1;
		@media screen and (max-width: 743px) {
			font-size: 5rem;
		}
	}
	.en + .en {
		margin-top: -1lh;
		color: #E4E4E4;
		mix-blend-mode: difference;
		z-index: 2;
	}
}
.history_contents {
	position: relative;
	margin-top: 17rem;
	@media screen and (max-width: 743px) {
		margin-top: 8rem;
	}
	.lead {
		margin-bottom: 10rem;
		letter-spacing: .1rem;
		@media screen and (min-width: 744px), print {
			width: 50%;
			margin-left: auto;
		}
		@media screen and (max-width: 743px) {
			margin-bottom: 5rem;
		}
	}
	.year {
		position: relative;
		padding-bottom: 10rem;
		box-sizing: content-box;
		font-size: 2rem;
		line-height: 1.8;
		letter-spacing: .05rem;
		@media screen and (min-width: 744px), print {
			width: 55rem;
		}
		@media screen and (max-width: 743px) {
			padding-bottom: 4rem;
			font-size: 1.6rem;
			line-height: calc(28 / 16);
		}
	}
	.pc_phs {
		position: sticky;
		float: left;
		height: 34.4rem;
		top: 15rem;
		width: 47.8rem;
		.ph {
			position: absolute;
			top: 0;
			left: 0;
			opacity: 0;
			transition: opacity .3s linear;
			pointer-events: none;
			user-select: none;
			&.-show {
				opacity: 1;
				pointer-events: initial;
				user-select: initial;
			}
			figcaption {
				margin-top: 1rem;
				font-size: 1.4rem;
				letter-spacing: .2rem;
			}
		}
	}

	.history_ph_years {
		@media screen and (min-width: 744px), print {
			margin-bottom: 10rem;
		}
		.year {
			@media screen and (min-width: 744px), print {
				margin-left: auto;
				&:has(.ph) {
					/* min-height: calc(34.4rem + 2rem); */
				}
				.ph {
					display: none;
				}
			}
		}
		.ph {
			@media screen and (max-width: 743px) {
				margin-bottom: 1rem;
			}
			figcaption {
				margin-top: 1rem;
				font-size: 1.4rem;
				letter-spacing: .2rem;
				@media screen and (max-width: 743px) {
					margin-top: 0.6rem;
					text-align: right;
					font-size: 1.2rem;
				}
			}
		}
	}

	.history_text_years {
		@media screen and (min-width: 744px), print {
			padding-inline: 6.7rem;
			.year:nth-child(2n) {
				margin-left: auto;
			}
		}
	}

	h2 {
		font-size: 11rem;
		line-height: 1;
		font-weight: 300;
		letter-spacing: .5rem;
		@media screen and (min-width: 744px), print {
			position: relative;
			top: -.4lh;
		}
		@media screen and (max-width: 743px) {
			margin-bottom: 3rem;
			font-size: 7rem;
		}
	}
	.box {
		margin-top: 3rem;
		padding: 3rem;
		background-color: var(--bg-white);
		font-size: 1.4rem;
		line-height: calc(27 / 14);
		@media screen and (max-width: 743px) {
			margin-top: 2rem;
			padding: 1.6rem;
			font-size: 1.2rem;
			line-height: calc(22 / 12);
		}
		&:has(.img) {
			display: flex;
			.img {
				width: 9.6rem;
				flex-shrink: 0;
				margin-right: 3rem;
				@media screen and (max-width: 743px) {
					width: 5.4rem;
					margin-right: 1.5rem;
				}
			}
		}
	}
}

.bg-imgs.-history-imgs1 {
	top: 0%;
	@media screen and (max-width: 743px) {
	}
	& > div {
		width: 106.5rem;
		height: 91.4rem;
		right: calc(50% + 5.2rem);
		@media screen and (max-width: 743px) {
			transform-origin: 100%;
			right: calc(50% - 10rem);
		}
	}
	.i1 {
		left: 0.6rem;
		top: 31.7rem;
		width: 66.5rem;
		height: 46.0rem;
		transform: rotate(-20deg);
		transform-origin: left top;
	}
	.i2 {
		left: 0.6rem;
		top: 33.0rem;
		width: 82.8rem;
		height: 45.7rem;
		transform: rotate(-20deg);
		transform-origin: left top;
	}
	.i3 {
		left: 29.1rem;
		top: 52.1rem;
		width: 57.0rem;
		height: 40.3rem;
		transform: rotate(-52deg);
		transform-origin: left top;
	}
}
.bg-imgs.-history-imgs2 {
	top: 12%;
	@media screen and (max-width: 743px) {
	}
	& > div {
		width: 53.0rem;
		height: 47.1rem;
		right: calc(50% + 30rem);
		@media screen and (max-width: 743px) {
			transform-origin: 100%;
			right: calc(50% + 10rem);
		}
	}
	.i1 {
		left: 2.9rem;
		top: 30.9rem;
		width: 41.3rem;
		height: 22.9rem;
		transform: rotate(28deg);
	}
	.i2 {
		left: 13.0rem;
		top: 24.5rem;
		width: 30.5rem;
		height: 13.4rem;
		transform: rotate(193deg);
	}
}
.bg-imgs.-history-imgs3 {
	top: 22%;
	@media screen and (max-width: 743px) {
	}
	& > div {
		width: 75.1rem;
		height: 51.5rem;
		left: calc(50% + 10.7rem);
		@media screen and (max-width: 743px) {
			transform-origin: 0%;
			left: calc(50% - 10rem);
		}
	}
	.i1 {
		left: 73.1rem;
		top: 32.4rem;
		width: 68.0rem;
		height: 32.9rem;
		transform: rotate(169deg);
		transform-origin: left top;
	}
	.i2 {
		left: 75.1rem;
		top: 38.1rem;
		width: 53.9rem;
		height: 37.3rem;
		transform: rotate(169deg);
		transform-origin: left top;
	}
}
.bg-imgs.-history-imgs4 {
	top: 30%;
	@media screen and (max-width: 743px) {
	}
	& > div {
		width: 103.2rem;
		height: 80.7rem;
		right: calc(50% - 0.5rem);
		@media screen and (max-width: 743px) {
			transform-origin: 100%;
			right: calc(50% - 10rem);
		}
	}
	.i1 {
		left: 0.0rem;
		top: 28.8rem;
		width: 89.7rem;
		height: 41.4rem;
	}
	.i2 {
		left: 8.5rem;
		top: 41.1rem;
		width: 69.7rem;
		height: 55.6rem;
	}
	.i3 {
		left: 20.1rem;
		top: 39.1rem;
		width: 67.8rem;
		height: 48.0rem;
		transform: rotate(-35deg);
		transform-origin: left top;
	}
}
.bg-imgs.-history-imgs5 {
	top: 39%;
	@media screen and (max-width: 743px) {
	}
	& > div {
		width: 67.1rem;
		height: 47.8rem;
		left: calc(50% + 37.5rem);
		@media screen and (max-width: 743px) {
			transform-origin: 0%;
			left: calc(50% - 3rem);
		}
	}
	.i1 {
		left: 66.6rem;
		top: 47.3rem;
		width: 49.5rem;
		height: 34.3rem;
		transform: rotate(-180deg);
		transform-origin: left top;
	}
	.i2 {
		left: 67.1rem;
		top: 34.9rem;
		width: 51.6rem;
		height: 25.0rem;
		transform: rotate(-180deg);
		transform-origin: left top;
	}
	.i3 {
		left: 66.9rem;
		top: 46.4rem;
		width: 61.7rem;
		height: 34.0rem;
		transform: rotate(-180deg);
		transform-origin: left top;
	}
	.i4 {
		left: 51.9rem;
		top: 25.7rem;
		width: 42.5rem;
		height: 30.1rem;
		transform: rotate(-211deg);
		transform-origin: left top;
	}
}
.bg-imgs.-history-imgs6 {
	top: 49%;
	@media screen and (max-width: 743px) {
	}
	& > div {
		width: 58.1rem;
		height: 26.6rem;
		left: calc(50% + 12.6rem);
		@media screen and (max-width: 743px) {
			transform-origin: 0%;
			left: calc(50% + 3rem);
		}
	}
	.i1 {
		left: 7.6rem;
		top: 4.2rem;
		width: 48.8rem;
		height: 22.5rem;
		transform: rotate(-5deg);
		transform-origin: left top;
	}
	.i2 {
		left: 0.0rem;
		top: 3.8rem;
		width: 43.0rem;
		height: 20.8rem;
		transform: rotate(-5deg);
		transform-origin: left top;
	}
}
.bg-imgs.-history-imgs7 {
	top: 56%;
	@media screen and (max-width: 743px) {
	}
	& > div {
		width: 46.1rem;
		height: 31.9rem;
		right: calc(50% + 35.9rem);
		@media screen and (max-width: 743px) {
			transform-origin: 100%;
			right: calc(50% + 2rem);
		}
	}
	.i1 {
		left: 0.0rem;
		top: 0.0rem;
		width: 46.1rem;
		height: 31.9rem;
	}
}
.bg-imgs.-history-imgs8 {
	top: 63%;
	@media screen and (max-width: 743px) {
	}
	& > div {
		width: 67.1rem;
		height: 44.0rem;
		left: calc(50% + 27.5rem);
		@media screen and (max-width: 743px) {
			transform-origin: 0%;
			left: calc(50% + 3rem);
		}
	}
	.i1 {
		left: 0.0rem;
		top: 0.0rem;
		width: 48.7rem;
		height: 26.9rem;
	}
	.i2 {
		left: 11.7rem;
		top: 9.9rem;
		width: 55.4rem;
		height: 34.0rem;
	}
}
.bg-imgs.-history-imgs9 {
	top: 71%;
	@media screen and (max-width: 743px) {
	}
	& > div {
		width: 70.1rem;
		height: 40.4rem;
		right: calc(50% + 17.7rem);
		@media screen and (max-width: 743px) {
			transform-origin: 100%;
			right: calc(50% + 2rem);
		}
	}
	.i1 {
		left: 0.0rem;
		top: 4.7rem;
		width: 46.1rem;
		height: 31.9rem;
	}
	.i2 {
		left: 18.2rem;
		top: 1.0rem;
		width: 42.6rem;
		height: 20.7rem;
	}
	.i3 {
		left: 14.0rem;
		top: 1.7rem;
		width: 48.7rem;
		height: 27.0rem;
	}
	.i4 {
		left: 12.9rem;
		top: 0.0rem;
		width: 57.2rem;
		height: 25.4rem;
	}
	.i5 {
		left: 12.9rem;
		top: 25.4rem;
		width: 31.2rem;
		height: 15.0rem;
	}
}
.bg-imgs.-history-imgs10 {
	top: 78%;
	@media screen and (max-width: 743px) {
	}
	& > div {
		width: 53.0rem;
		height: 47.1rem;
		left: calc(50% + 12.6rem);
		@media screen and (max-width: 743px) {
			transform-origin: 0%;
			left: calc(50% + 5rem);
		}
	}
	.i1 {
		left: 48.9rem;
		top: 30.9rem;
		width: 41.3rem;
		height: 22.9rem;
		transform: rotate(162deg);
		transform-origin: left top;
	}
	.i2 {
		left: 13.0rem;
		top: 24.5rem;
		width: 30.5rem;
		height: 13.4rem;
		transform: rotate(327deg);
		transform-origin: left top;
	}
}
.bg-imgs.-history-imgs11 {
	top: 83%;
	@media screen and (max-width: 743px) {
	}
	& > div {
		width: 67.1rem;
		height: 47.8rem;
		left: calc(50% + 18.0rem);
		@media screen and (max-width: 743px) {
			transform-origin: 0%;
			left: calc(50% + 5rem);
		}
	}
	.i1 {
		left: 66.6rem;
		top: 47.3rem;
		width: 49.5rem;
		height: 34.3rem;
		transform: rotate(-180deg);
		transform-origin: left top;
	}
	.i2 {
		left: 67.1rem;
		top: 34.9rem;
		width: 51.6rem;
		height: 25.0rem;
		transform: rotate(-180deg);
		transform-origin: left top;
	}
	.i3 {
		left: 66.9rem;
		top: 46.4rem;
		width: 61.7rem;
		height: 34.0rem;
		transform: rotate(-180deg);
		transform-origin: left top;
	}
	.i4 {
		left: 51.9rem;
		top: 25.7rem;
		width: 42.5rem;
		height: 30.1rem;
		transform: rotate(-211deg);
		transform-origin: left top;
	}
}
.bg-imgs.-history-imgs12 {
	top: 90%;
	@media screen and (max-width: 743px) {
	}
	& > div {
		width: 75.1rem;
		height: 51.5rem;
		right: calc(50% + 17.8rem);
		@media screen and (max-width: 743px) {
			transform-origin: 100%;
			right: calc(50% - 4rem);
		}
	}
	.i1 {
		left: 73.1rem;
		top: 32.4rem;
		width: 68.0rem;
		height: 32.9rem;
		transform: rotate(169deg);
		transform-origin: left top;
	}
	.i2 {
		left: 75.1rem;
		top: 38.1rem;
		width: 53.9rem;
		height: 37.3rem;
		transform: rotate(169deg);
		transform-origin: left top;
	}
}

.history_history {
	margin-top: 12rem;
	padding-top: 7rem;
	padding-bottom: 10rem;
	background-color: var(--color-base);
	color: #fff;
	z-index: 1;
	@media screen and (max-width: 743px) {
		margin-top: 3rem;
		padding-top: 5rem;
		padding-bottom: 5rem;
	}
	.logo {
		width: 15.4rem;
		margin: 0 auto 3rem;
		opacity: 0.5;
		@media screen and (max-width: 743px) {
			width: 8rem;
			margin-bottom: 1.5rem;
		}
	}
	h2 {
		margin-bottom: 5rem;
		text-align: center;
		font-size: 4rem;
		line-height: 1.8;
		letter-spacing: 0.5rem;
		@media screen and (max-width: 743px) {
			margin-bottom: 3rem;
			font-size: 2.4rem;
		}
	}
	dl {
		padding-block: 1.2rem;
		font-size: 1.6rem;
		@media screen and (min-width: 744px), print {
			display: flex;
		}
		@media screen and (max-width: 743px) {
			font-size: 1.4rem;
		}
		&:not(:last-child) {
			border-bottom: 1px solid rgba(255, 255, 255, 0.4);
		}
		dt {
			@media screen and (min-width: 744px), print {
				width: 26rem;
				flex-shrink: 0;
			}
		}
	}
}
.bg-imgs.-history-history-imgs1 {
	top: -22rem;
	@media screen and (max-width: 743px) {
		top: -25rem;
	}
	& > div {
		width: 100.1rem;
		height: 48.5rem;
		left: calc(50% + 10.1rem);
		@media screen and (max-width: 743px) {
			transform-origin: 0;
			left: calc(50% - 3rem);
		}
	}
	.i1 {
		left: 35.3rem;
		top: 0.0rem;
		width: 32.5rem;
		height: 27.0rem;
	}
	.i2 {
		left: 47.1rem;
		top: 3.9rem;
		width: 32.5rem;
		height: 27.0rem;
	}
	.i3 {
		left: 47.1rem;
		top: 4.7rem;
		width: 53.0rem;
		height: 26.2rem;
	}
	.i4 {
		left: 0.0rem;
		top: 4.7rem;
		width: 90.1rem;
		height: 43.7rem;
	}
}


/* ======================================================================================

	お店

====================================================================================== */
.shop_nav {
	position: relative;

	.title {
		text-align: center;
		margin-bottom: 5rem;
		font-size: 4rem;
		line-height: 1.2;
		letter-spacing: 0.5rem;
		@media screen and (max-width: 743px) {
			margin-bottom: 3rem;
			font-size: 2.4rem;
		}
	}
	@media screen and (max-width: 743px) {
		&.-bottom {
			margin-top: 4rem;
			margin-bottom: 0;
			&::before {
				content: none;
			}
			ul {
				a {
					padding-left: 2rem;
					padding-right: 2rem;
				}
			}
		}
	}
}

.shop_main_map {
	position: relative;
	overflow: hidden;
	margin-bottom: 9rem;
	@media screen and (max-width: 743px) {
		margin-bottom: 5rem;
	}
	iframe {
		/* --map-header: 67px; */
		--map-header: 0px;
		--map-height: 55rem;
		width: 100%;
		height: calc(var(--map-height) + var(--map-header));
		margin-top: calc(-1 * var(--map-header));
		@media screen and (max-width: 743px) {
			--map-height: 100vw;
		}
	}
	.more {
		margin-top: 7rem;
		@media screen and (max-width: 743px) {
			margin-top: 3rem;
		}
	}
	.business_days {
		margin-top: 4rem;
		text-align: center;
		font-size: 1.6rem;
	}
}

.shop_list_wrap {
	position: relative;
}
.shop_list {
	section {
		padding: 4rem 4rem 5rem;
		@media screen and (max-width: 743px) {
			padding: 2.5rem 2rem 3rem;
		}
		background-color: var(--bg-white);
		& + section {
			margin-top: 5rem;
			@media screen and (max-width: 743px) {
				margin-top: 1.5rem;
			}
		}

		h2 {
			margin-bottom: 3rem;
			font-size: 3.2rem;
			line-height: 1.5;
			@media screen and (max-width: 743px) {
				font-size: 2.2rem;
				margin-bottom: 1.5rem;
			}
		}
		@media screen and (min-width: 744px), print {
			.contents {
				display: flex;
				flex-direction: row-reverse;
				justify-content: space-between;
				.ph {
					width: 40rem;
					flex-shrink: 0;
					margin-left: 4rem;
				}
			}
		}
		.info {
			font-size: 1.6rem;
			line-height: calc(35 / 16);
			letter-spacing: 0.1rem;
			@media screen and (max-width: 743px) {
				margin-top: 2rem;
				font-size: 1.4rem;
				line-height: calc(22 / 14);
			}
			dl {
				@media screen and (min-width: 744px), print {
					display: flex;
				}
				@media screen and (max-width: 743px) {
					margin-bottom: 1em;
				}
				dt {
					font-weight: var(--font-weight-bold);
					@media screen and (min-width: 744px), print {
						width: 4.2em;
						margin-right: 2em;
						flex-shrink: 0;
						letter-spacing: 0;
						white-space: nowrap;
						text-align: justify;
						text-align-last: justify;
					}
					@media screen and (max-width: 743px) {
						margin-bottom: 0.3em;
					}
				}
				dd a {
					display: inline-block;
				}
			}
			.more {
				margin-top: 3rem;
				display: flex;
				gap: 2rem;
				@media screen and (min-width: 744px), print {
					margin-left: calc(4.2em + 2em);
				}
				@media screen and (max-width: 743px) {
					flex-direction: column;
					gap: 1.4rem;
					align-items: center;
				}
			}
		}
	}
}

.bg-imgs.-shop-imgs1 {
	top: 7%;
	@media screen and (max-width: 743px) {
		top: -4%;
	}
	& > div {
		width: 67.1rem;
		height: 47.8rem;
		left: calc(50% + 80.0rem - 67.1rem);
		@media screen and (max-width: 743px) {
			transform-origin: 0;
			left: calc(50% - 3rem);
		}
	}
	.i1 {
		left: 66.6rem;
		top: 47.3rem;
		width: 49.5rem;
		height: 34.3rem;
		transform: rotate(-180deg);
		transform-origin: left top;
	}
	.i2 {
		left: 67.1rem;
		top: 34.9rem;
		width: 51.6rem;
		height: 25.0rem;
		transform: rotate(-180deg);
		transform-origin: left top;
	}
	.i3 {
		left: 66.9rem;
		top: 46.4rem;
		width: 61.7rem;
		height: 34.0rem;
		transform: rotate(-180deg);
		transform-origin: left top;
	}
	.i4 {
		left: 51.9rem;
		top: 25.7rem;
		width: 42.5rem;
		height: 30.1rem;
		transform: rotate(-211deg);
		transform-origin: left top;
	}
}
.bg-imgs.-shop-imgs2 {
	top: 41%;
	& > div {
		width: 58.1rem;
		height: 26.6rem;
		left: calc(50% + 10.7rem);
		@media screen and (max-width: 743px) {
			transform-origin: 0;
			left: calc(50% - 3rem);
		}
	}
	.i1 {
		left: 7.6rem;
		top: 4.2rem;
		width: 48.8rem;
		height: 22.5rem;
		transform: rotate(-5deg);
		transform-origin: left top;
	}
	.i2 {
		left: 0.0rem;
		top: 3.8rem;
		width: 43.0rem;
		height: 20.8rem;
		transform: rotate(-5deg);
		transform-origin: left top;
	}
}
.bg-imgs.-shop-imgs3 {
	top: 54%;
	& > div {
		width: 46.1rem;
		height: 31.9rem;
		right: calc(50% + 41.1rem);
		@media screen and (max-width: 743px) {
			transform-origin: 100%;
			right: calc(50% + 5rem);
		}
	}
	.i1 {
		left: 0.0rem;
		top: 0.0rem;
		width: 46.1rem;
		height: 31.9rem;
	}
}
.bg-imgs.-shop-imgs4 {
	top: 63%;
	& > div {
		width: 67.1rem;
		height: 44.0rem;
		left: calc(50% + 46.5rem);
		@media screen and (max-width: 743px) {
			transform-origin: 0;
			left: calc(50% + 3rem);
		}
	}
	.i1 {
		left: 0.0rem;
		top: 0.0rem;
		width: 48.7rem;
		height: 26.9rem;
	}
	.i2 {
		left: 11.7rem;
		top: 9.9rem;
		width: 55.4rem;
		height: 34.0rem;
	}
}
.bg-imgs.-shop-imgs5 {
	top: 85%;
	& > div {
		width: 70.1rem;
		height: 40.4rem;
		right: calc(50% + 18.1rem);
		@media screen and (max-width: 743px) {
			transform-origin: 100%;
			right: calc(50% - 5rem);
		}
	}
	.i1 {
		left: 0.0rem;
		top: 4.7rem;
		width: 46.1rem;
		height: 31.9rem;
	}
	.i2 {
		left: 18.2rem;
		top: 1.0rem;
		width: 42.6rem;
		height: 20.7rem;
	}
	.i3 {
		left: 14.0rem;
		top: 1.7rem;
		width: 48.7rem;
		height: 27.0rem;
	}
	.i4 {
		left: 12.9rem;
		top: 0.0rem;
		width: 57.2rem;
		height: 25.4rem;
	}
	.i5 {
		left: 12.9rem;
		top: 25.4rem;
		width: 31.2rem;
		height: 15.0rem;
	}
}


/* ======================================================================================

	よくある質問

====================================================================================== */
.faq_list_wrap {
	position: relative;
	margin-block: 12rem 15rem;
	@media screen and (max-width: 743px) {
		margin-block: 6rem 7rem;
	}
}
.faq_list {
	& > section {
		margin-top: 9rem;
		@media screen and (max-width: 743px) {
			margin-top: 5rem;
		}
	}
	h2 {
		margin-bottom: 2rem;
		font-size: 3.2rem;
		line-height: 1.5;
		text-align: center;
		font-weight: var(--font-weight-medium);
		@media screen and (max-width: 743px) {
			font-size: 2.3rem;
		}
	}
	.a {
		padding: 3rem 4rem;
		background-color: var(--bg-white);
		font-size: 1.6rem;
		line-height: 2;
		@media screen and (max-width: 743px) {
			padding: 1.5rem 2rem;
			font-size: 1.4rem;
		}
	}
}

.bg-imgs.-faq-imgs1 {
	top: -7rem;
	@media screen and (max-width: 743px) {
		top: -9rem;
	}
	& > div {
		width: 75.4rem;
		height: 34.4rem;
		left: calc(50% + 21.1rem);
		@media screen and (max-width: 743px) {
			transform-origin: 0 0;
			left: calc(50% + 2rem);
			transform: scale(.4);
		}
	}
	.i1 {
		left: 0.0rem;
		top: 0.6rem;
		width: 69.0rem;
		height: 31.8rem;
	}
	.i2 {
		left: 50.0rem;
		top: 15.5rem;
		width: 24.7rem;
		height: 13.6rem;
		transform: rotate(175deg);
		transform-origin: left top;
	}
	.i3 {
		left: 41.2rem;
		top: 14.2rem;
		width: 27.6rem;
		height: 13.6rem;
		transform: rotate(146deg);
		transform-origin: left top;
	}
	.i4 {
		left: 37.2rem;
		top: 16.3rem;
		width: 29.5rem;
		height: 16.3rem;
	}
	.i5 {
		left: 38.4rem;
		top: 15.4rem;
		width: 30.5rem;
		height: 21.6rem;
		transform: rotate(-28deg);
		transform-origin: left top;
	}
}
.bg-imgs.-faq-imgs2 {
	top: 16%;
	@media screen and (max-width: 743px) {
		top: 16%;
	}
	& > div {
		width: 53.0rem;
		height: 47.1rem;
		right: calc(50% + 49.9rem);
		@media screen and (max-width: 743px) {
			transform-origin: 100%;
			right: calc(50% + 11rem);
			transform: scale(.4);
		}
	}
	.i1 {
		left: 48.9rem;
		top: 30.9rem;
		width: 41.3rem;
		height: 22.9rem;
		transform: rotate(162deg);
		transform-origin: left top;
	}
	.i2 {
		left: 13.0rem;
		top: 24.5rem;
		width: 30.5rem;
		height: 13.4rem;
		transform: rotate(327deg);
		transform-origin: left top;
	}
}
.bg-imgs.-faq-imgs3 {
	top: 77%;
	@media screen and (max-width: 743px) {
		top: 77%;
	}
	& > div {
		width: 75.1rem;
		height: 51.5rem;
		left: calc(50% + 14.8rem);
		@media screen and (max-width: 743px) {
			transform-origin: 0 0;
			left: calc(50% + 2rem);
			transform: scale(.4);
		}
	}
	.i1 {
		left: 73.1rem;
		top: 32.4rem;
		width: 68.0rem;
		height: 32.9rem;
		transform: rotate(169deg);
		transform-origin: left top;
	}
	.i2 {
		left: 75.1rem;
		top: 38.1rem;
		width: 53.9rem;
		height: 37.3rem;
		transform: rotate(169deg);
		transform-origin: left top;
	}
}
.bg-imgs.-faq-imgs4 {
	top: 90%;
	@media screen and (max-width: 743px) {
		top: 85%;
	}
	& > div {
		width: 103.2rem;
		height: 80.7rem;
		right: calc(50% - 4.6rem);
		@media screen and (max-width: 743px) {
			transform-origin: 100%;
			right: calc(50% + 1rem);
			transform: scale(.4);
		}
	}
	.i1 {
		left: 0.0rem;
		top: 28.8rem;
		width: 89.7rem;
		height: 41.4rem;
	}
	.i2 {
		left: 8.5rem;
		top: 35.1rem;
		width: 69.7rem;
		height: 55.6rem;
	}
	.i3 {
		left: 20.1rem;
		top: 39.1rem;
		width: 67.8rem;
		height: 48.0rem;
		transform: rotate(-35deg);
		transform-origin: left top;
	}
}


/* ======================================================================================

	八雲で働く

====================================================================================== */
.recruit_main {
	position: relative;
	padding-bottom: 10.5rem;
	z-index: 3;
	@media screen and (min-width: 744px), print {
		display: flex;
		justify-content: space-between;
		flex-direction: row-reverse;
		padding-top: 4rem;
		.txt {
			width: 54rem;
			padding-right: 6rem;
		}
		.img {
			width: 58.5rem;
			margin-left: -8.5rem;
			margin-top: -2rem;
		}
	}
	@media screen and (max-width: 743px) {
		padding-bottom: 3.5rem;
	}
	.img {
		display: flex;
		justify-content: space-between;
		gap: 1.7rem;
		@media screen and (max-width: 743px) {
			gap: 1.5rem;
			margin-top: 5rem;
			margin-left: 2rem;
		}
		& > li {
			position: relative;
			width: 100%;
			&:last-child {
				margin-top: 25.7rem;
				@media screen and (max-width: 743px) {
					margin-top: 9rem;
				}
			}
			.dummy {
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				display: flex;
				justify-content: center;
				align-items: center;
				color: #fff;
				pointer-events: none;
				font-weight: 700;
			}
		}
		video {
			width: 100%;
			height: auto;
			aspect-ratio: 568 / 820;
			object-fit: cover;
			background-color: #000;
		}
	}
}
.recruit_supporters {
	max-width: 92rem;
	background-color: rgba(255,255,255,.35);
	text-align: center;
	padding-block: 5rem 3rem;
	@media screen and (max-width: 743px) {
		padding: 3rem 2rem;
	}
	h2 {
		margin-bottom: 5rem;
		font-size: 3.2rem;
		line-height: 1.5;
		letter-spacing: 0.5rem;
		@media screen and (max-width: 743px) {
			font-size: 2rem;
			margin-bottom: 3rem;
			letter-spacing: 0.1rem;
		}
	}
	ul {
		display: flex;
		justify-content: center;
		@media screen and (max-width: 743px) {
			flex-wrap: wrap;
			gap: 2rem 0;
		}
		li {
			width: 19rem;
			font-size: 1.8rem;
			line-height: 1.5;
			font-weight: var(--font-weight-semi);
			@media screen and (max-width: 743px) {
				width: 50%;
				font-size: 1.4rem;
			}
			.ico {
				display: block;
				width: 11rem;
				margin: 0 auto 2rem;
				background-color: #000;
				border-radius: 100%;
				@media screen and (max-width: 743px) {
					width: 9rem;
					margin-bottom: 1rem;
				}
			}
			.s {
				font-size: 1.2rem;
				@media screen and (max-width: 743px) {
					font-size: 1rem;
				}
			}
		}
	}
}

.recruit_work {
	position: relative;
	margin-top: 8rem;
	padding-top: 10rem;
	padding-bottom: 9rem;
	@media screen and (max-width: 743px) {
		margin-top: 5rem;
		padding-top: 6rem;
		padding-bottom: 6rem;
	}
	.work_style {
		margin-top: 10rem;
		@media screen and (max-width: 743px) {
			margin-top: 4rem;
		}
		& > section {
			position: relative;
			padding: 4rem;
			background-color: var(--bg-white);
			@media screen and (max-width: 743px) {
				padding: 2rem;
			}
			& + section {
				margin-top: 3rem;
				@media screen and (max-width: 743px) {
					margin-top: 2rem;
				}
			}
		}
		h3 {
			position: absolute;
			width: 19rem;
			display: flex;
			justify-content: center;
			font-size: 4rem;
			line-height: 1.5;
			letter-spacing: 0.25em;
			@media screen and (max-width: 743px) {
				top: 3rem;
				width: 8rem;
				font-size: 2.4rem;
			}
			span {
				writing-mode: vertical-rl;
			}
		}
		.contents {
			font-size: 1.6rem;
			line-height: calc(28 / 16);
			letter-spacing: 0;
			@media screen and (min-width: 744px), print {
				display: flex;
				flex-wrap: wrap;
				gap: 2.5rem 3rem;
			}
			@media screen and (max-width: 743px) {
				font-size: 1.4rem;
			}
			.qa {
				@media screen and (min-width: 744px), print {
					width: 26.5rem;
				}
				& + .qa {
					@media screen and (max-width: 743px) {
						margin-top: 2rem;
					}
				}
				h4 {
					margin-bottom: 2rem;
					font-size: 1.8rem;
					font-weight: var(--font-weight-semi);
					@media screen and (min-width: 744px), print {
						min-height: 2lh;
					}
					@media screen and (max-width: 743px) {
						margin-bottom: .6rem;
						font-size: 1.6rem;
					}
				}
			}
			.person {
				display: flex;
				align-items: center;
				gap: 2rem;
				font-size: 1.4rem;
				@media screen and (max-width: 743px) {
					margin-top: 2rem;
					gap: 1rem;
					font-size: 1.2rem;
				}
				.ico {
					overflow: hidden;
					width: 6rem;
					border-radius: 100%;
					@media screen and (max-width: 743px) {
						width: 4rem;
					}
				}
			}
		}
		& > section:nth-child(2n + 1) {
			padding-left: 19rem;
			@media screen and (max-width: 743px) {
				padding-left: 8rem;
			}
			h3 {
				left: 0;
			}
		}
		& > section:nth-child(2n) {
			padding-right: 19rem;
			@media screen and (max-width: 743px) {
				padding-right: 8rem;
			}
			h3 {
				right: 0;
			}
			.contents {
				justify-content: end;
				.person {
					flex-direction: row-reverse;
				}
			}
		}
	}
	.bg {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		mix-blend-mode: multiply;
		z-index: -1;
		&::before, &::after {
			content: "";
			position: absolute;
			left: 0;
			right: 0;
			bottom: 0;
			background-position: 50% 0;
			background-repeat: no-repeat;
			background-size: max(100%, 160rem);
			@media screen and (max-width: 743px) {
				background-size: 100rem;
			}
		}
		&::before {
			top: 14.4rem;
			background-image: url(../img/recruit/work_bg01.svg);
			@media screen and (max-width: 743px) {
				top: 13rem;
			}
		}
		&::after {
			top: 78.7rem;
			background-image: url(../img/recruit/work_bg02.svg);
		}
	}
}

.recruit_flow {
	position: relative;
	padding-top: 10rem;
	@media screen and (max-width: 743px) {
		padding-top: 6rem;
	}
	.flow {
		position: relative;
		&::before {
			content: "";
			position: absolute;
			opacity: 0.18;
			z-index: -1;
			@media screen and (min-width: 744px), print {
				top: 47%;
				right: 14rem;
				left: 14rem;
				border-top: 2px solid var(--color-black);
			}
			@media screen and (max-width: 743px) {
				left: calc(50% - 1px);
				top: 7rem;
				bottom: 7rem;
				border-left: 2px solid var(--color-black);
			}
		}
		ol {
			display: flex;
			align-items: start;
			@media screen and (max-width: 743px) {
				flex-direction: column;
			}
			li {
				position: relative;
				display: flex;
				justify-content: center;
				align-items: center;
				text-align: center;
				width: 28.2rem;
				font-size: 2rem;
				line-height: calc(33 / 20);
				font-weight: var(--font-weight-semi);
				aspect-ratio: 282 / 209;
				z-index: 2;
				@media screen and (max-width: 743px) {
					width: 60%;
					font-size: 1.4rem;
				}
				&::before {
					content: "";
					position: absolute;
					top: 0;
					left: 0;
					right: 0;
					bottom: 0;
					background-color: var(--bg-white);
					clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
					z-index: -1;
				}
				.num {
					position: absolute;
					left: 62%;
					top: 10%;
					font-size: 4rem;
					line-height: 1;
					font-weight: var(--font-weight);
					color: #1C3650;
					@media screen and (max-width: 743px) {
						left: 55%;
						font-size: 3rem;
					}
				}
				&:nth-child(2n) {
					color: #fff;
					&::before {
						background-color: #1C3650;
					}
					.num {
						color: #fff;
					}
					@media screen and (min-width: 744px), print {
						margin-top: 10.1rem;
						margin-inline: calc(((var(--base-width) - (28.2rem * 3)) / 2 - 28.2rem) / 2);
					}
					@media screen and (max-width: 743px) {
						margin-block: -6rem;
						margin-left: auto;
					}
				}
			}
		}
	}
}

.recruit_application {
	position: relative;
	margin-top: 14rem;
	padding-bottom: 10rem;
	@media screen and (max-width: 743px) {
		margin-top: 7rem;
		padding-bottom: 6rem;
	}
	.entry {
		max-width: 80rem;
		margin-inline: auto;
		margin-top: 6rem;
		@media screen and (max-width: 743px) {
			margin-top: 0;
		}
		a {
			position: relative;
			display: flex;
			text-decoration: none;
			font-size: 2.2rem;
			line-height: 1.6;
			font-weight: var(--font-weight-semi);
			@media screen and (max-width: 743px) {
				font-size: 1.6rem;
			}
			.ph {
				flex-shrink: 0;
				width: 22.9rem;
				margin-right: 3rem;
				@media screen and (max-width: 743px) {
					width: 14rem;
					margin-right: 1.5rem;
				}
			}
			.txt {
				position: relative;
				display: flex;
				flex-direction: column;
				justify-content: center;
				flex-grow: 1;
				padding-left: 5rem;
				border-top: 1px solid var(--color-base);
				border-bottom: 1px solid var(--color-base);
				z-index: 2;
				@media screen and (max-width: 743px) {
					padding-left: .5rem;
					padding-bottom: 3rem;
				}
				.note {
					margin-top: 2rem;
					font-size: 1.6rem;
					font-weight: var(--font-weight);
					@media screen and (max-width: 743px) {
						margin-top: .5rem;
						font-size: 1.2rem;
					}
				}
				&::before,
				&::after {
					content: "";
					position: absolute;
					right: 2rem;
					top: calc(50% - 4.5rem / 2);
					width: 6rem;
					height: 4.5rem;
					background: no-repeat 50%;
					background-size: 100%;
					@media screen and (max-width: 743px) {
						right: 0;
						top: auto;
						bottom: 1rem;
						width: calc(6rem * .6);
						height: calc(4.5rem * .6);
					}
				}
				&::before {
					background-image: url(../img/ico-diamond-arrow.svg);
				}
				@media (hover) {
					&::after {
						background-image: url(../img/ico-diamond-arrow_hv.svg);
						opacity: 0;
						transition: opacity var(--transition);
					}
					a:hover &::after {
						opacity: 1;
					}
				}
			}
			@media (hover) {
				&::after {
					content: "";
					position: absolute;
					top: 0;
					left: 0;
					right: 0;
					bottom: 0;
					background-color: #fff;
					opacity: 0;
					pointer-events: none;
				}
				&:hover::after {
					opacity: 0.3;
				}
			}
		}
	}
}

.bg-imgs.-recruit-imgs1 {
	top: -15rem;
	@media screen and (max-width: 743px) {
		top: -8rem;
	}
	& > div {
		width: 90.9rem;
		height: 59.9rem;
		left: calc(50% + 13.7rem);
		@media screen and (max-width: 743px) {
			transform-origin: 0 0;
			left: calc(50% - 10rem);
		}
	}
	.i1 {
		left: 2.4rem;
		top: 29.7rem;
		width: 45.0rem;
		height: 31.8rem;
		transform: rotate(-26deg);
		transform-origin: left top;
	}
	.i2 {
		left: 27.0rem;
		top: 25.3rem;
		width: 42.2rem;
		height: 26.0rem;
		transform: rotate(-14deg);
		transform-origin: left top;
	}
	.i3 {
		left: 28.8rem;
		top: 12.6rem;
		width: 37.8rem;
		height: 20.8rem;
		transform: rotate(-14deg);
		transform-origin: left top;
	}
	.i4 {
		left: 21.2rem;
		top: 14.4rem;
		width: 61.7rem;
		height: 29.9rem;
		transform: rotate(-14deg);
		transform-origin: left top;
	}
}
.bg-imgs.-recruit-imgs2 {
	top: 51rem;
	z-index: 2;
	@media screen and (max-width: 743px) {
		top: 44%;
	}
	& > div {
		width: 90.1rem;
		height: 54.3rem;
		right: calc(50% - 3.6rem);
		@media screen and (max-width: 743px) {
			transform-origin: 100%;
			right: calc(50% - 4rem);
			transform: scale(.4);
		}
	}
	.i1 {
		left: 3.9rem;
		top: 5.0rem;
		width: 57.8rem;
		height: 28.1rem;
	}
	.i2 {
		left: 18.6rem;
		top: 0.0rem;
		width: 71.5rem;
		height: 33.1rem;
	}
	.i3 {
		left: 0.0rem;
		top: 13.7rem;
		width: 59.5rem;
		height: 36.6rem;
	}
	.i4 {
		left: 14.5rem;
		top: 4.7rem;
		width: 51.0rem;
		height: 36.1rem;
	}
	.i5 {
		left: 14.1rem;
		top: 10.0rem;
		width: 63.1rem;
		height: 30.6rem;
	}
	.i6 {
		left: 6.1rem;
		top: 29.8rem;
		width: 26.6rem;
		height: 22.1rem;
	}
	.i7 {
		left: 4.3rem;
		top: 25.4rem;
		width: 52.3rem;
		height: 28.9rem;
	}
}
.bg-imgs.-recruit-imgs3 {
	bottom: -11rem;
	@media screen and (max-width: 743px) {
		bottom: -6rem;
	}
	& > div {
		width: 103.2rem;
		height: 80.7rem;
		left: calc(50% - 2.9rem);
		bottom: 0;
		@media screen and (max-width: 743px) {
			transform-origin: 0 100%;
			left: calc(50% - 3rem);
		}
	}
	.i1 {
		left: 0.0rem;
		top: 28.8rem;
		width: 89.7rem;
		height: 41.4rem;
	}
	.i2 {
		left: 8.5rem;
		top: 41.1rem;
		width: 69.7rem;
		height: 55.6rem;
	}
	.i3 {
		left: 20.1rem;
		top: 39.1rem;
		width: 67.8rem;
		height: 48.0rem;
		transform: rotate(-35deg);
		transform-origin: left top;
	}
}
.bg-imgs.-recruit-imgs4 {
	top: 40%;
	@media screen and (max-width: 743px) {
		top: 8rem;
	}
	& > div {
		width: 60.4rem;
		height: 29.0rem;
		right: calc(50% + 39.3rem);
		@media screen and (max-width: 743px) {
			transform-origin: 100% 0;
			right: calc(50% + 1rem);
		}
	}
	.i1 {
		left: 0.0rem;
		top: 3.4rem;
		width: 47.7rem;
		height: 23.1rem;
	}
	.i2 {
		left: 18.4rem;
		top: 0.0rem;
		width: 42.0rem;
		height: 29.0rem;
	}
}
.bg-imgs.-recruit-imgs5 {
	top: 22rem;
	@media screen and (max-width: 743px) {
		top: -10rem;
	}
	& > div {
		width: 58.0rem;
		height: 46.5rem;
		left: calc(50% + 12.9rem);
		@media screen and (max-width: 743px) {
			transform-origin: 0 0;
			left: calc(50% - 3rem);
		}
	}
	.i1 {
		left: 25.3rem;
		top: 10.2rem;
		width: 27.9rem;
		height: 19.3rem;
	}
	.i2 {
		left: 13.0rem;
		top: 26.8rem;
		width: 36.9rem;
		height: 26.1rem;
		transform: rotate(-41deg);
		transform-origin: left top;
	}
	.i3 {
		left: 9.5rem;
		top: 0.0rem;
		width: 42.4rem;
		height: 19.6rem;
	}
	.i4 {
		left: 0.0rem;
		top: 2.2rem;
		width: 50.6rem;
		height: 24.5rem;
	}
}


/* ======================================================================================

	会社情報

====================================================================================== */
.company_main {
	position: relative;
	padding-bottom: 14.5rem;
	z-index: 2;
	@media screen and (max-width: 743px) {
		padding-bottom: 8rem;
	}
	.box {
		padding: 6rem;
		background-color: var(--bg-white);
		font-size: 1.6rem;
		line-height: calc(44 / 16);
		@media screen and (max-width: 743px) {
			padding: 3rem 2rem 4rem;
			font-size: 1.4rem;
			line-height: 2.5;
		}
		.name {
			margin-top: 3rem;
			text-align: right;
			font-size: 2rem;
			line-height: 1.5;
			@media screen and (max-width: 743px) {
				margin-top: 2rem;
				font-size: 1.6rem;
			}
		}
	}
}

.company_main_ph {
	position: relative;
	height: 67rem;
	@media screen and (max-width: 743px) {
		height: 55vw;
	}
}

.company_info_wrap {
	position: relative;
	margin-top: 14rem;
	@media screen and (max-width: 743px) {
		margin-top: 0;
	}
}
.company_info {
	@media screen and (min-width: 744px), print {
		padding: 8rem 12.4rem 12rem;
	}
	.info_table {
		margin-top: 5rem;
		line-height: calc(34 / 18);
		@media screen and (max-width: 743px) {
			margin-top: 2rem;
		}
		& > dl {
			padding-block: 1.5rem;
			@media screen and (max-width: 743px) {
				padding-block: 1.2rem;
			}
			&:not(:last-child) {
				border-bottom: 1px solid var(--color-black);
			}
			@media screen and (min-width: 744px), print {
				display: flex;
			}
			& > dt {
				@media screen and (min-width: 744px), print {
					width: 25rem;
					flex-shrink: 0;
				}
				@media screen and (max-width: 743px) {
					margin-bottom: 0.3em;
				}
			}
		}
	}
}
.company_shop_list {
	margin-top: 1lh;
	dt {
		margin-top: 1lh;
		&::before {
			content: "●";
		}
	}
}

.bg-imgs.-company-imgs1 {
	top: -4rem;
	@media screen and (max-width: 743px) {
		top: -7rem;
	}
	& > div {
		width: 50.9rem;
		height: 24.4rem;
		left: calc(50% + 41.5rem);
		@media screen and (max-width: 743px) {
			transform-origin: 0 0;
			left: calc(50% + 3rem);
		}
	}
	.i1 {
		left: 0.0rem;
		top: 2.9rem;
		width: 40.2rem;
		height: 19.4rem;
	}
	.i2 {
		left: 15.5rem;
		top: 0.0rem;
		width: 35.4rem;
		height: 24.4rem;
	}
}
.bg-imgs.-company-imgs2 {
	bottom: -15rem;
	@media screen and (max-width: 743px) {
		bottom: -8rem;
	}
	& > div {
		bottom: 0;
		width: 85.0rem;
		height: 66.5rem;
		right: calc(50% + 8.3rem);
		@media screen and (max-width: 743px) {
			transform-origin: 100% 100%;
			right: calc(50% - 8rem);
		}
	}
	.i1 {
		left: 0.0rem;
		top: 23.7rem;
		width: 73.9rem;
		height: 34.1rem;
	}
	.i2 {
		left: 7.0rem;
		top: 35.7rem;
		width: 57.4rem;
		height: 45.8rem;
	}
	.i3 {
		left: 16.6rem;
		top: 32.2rem;
		width: 55.9rem;
		height: 39.5rem;
		transform: rotate(-35deg);
		transform-origin: left top;
	}
}
.bg-imgs.-company-imgs3 {
	top: 15rem;
	& > div {
		width: 53.0rem;
		height: 47.1rem;
		right: calc(50% + 40rem);
	}
	.i1 {
		left: 48.9rem;
		top: 40.9rem;
		width: 41.3rem;
		height: 22.9rem;
		transform: rotate(162deg);
		transform-origin: left top;
	}
	.i2 {
		left: 13.0rem;
		top: 24.5rem;
		width: 30.5rem;
		height: 13.4rem;
		transform: rotate(327deg);
		transform-origin: left top;
	}
}
.bg-imgs.-company-imgs4 {
	bottom: -5rem;
	& > div {
		width: 75.1rem;
		height: 51.5rem;
		left: calc(50% + 19.6rem);
		bottom: 0;
	}
	.i1 {
		left: 73.1rem;
		top: 32.4rem;
		width: 68.0rem;
		height: 32.9rem;
		transform: rotate(169deg);
		transform-origin: left top;
	}
	.i2 {
		left: 75.1rem;
		top: 38.1rem;
		width: 53.9rem;
		height: 37.3rem;
		transform: rotate(169deg);
		transform-origin: left top;
	}
}


/* ======================================================================================

	お問い合わせ

====================================================================================== */
.contact_main {
	position: relative;
	z-index: 3;
}
.contact_form_wrap {
	position: relative;
	margin-top: 8rem;
	z-index: 2;
}
.contact_header_notes {
	margin-top: -1.5rem;
	font-size: 1.4rem;
	font-weight: var(--font-weight-medium);
}
.contact_form {
	@media screen and (min-width: 744px), print {
		padding-inline: 14.4rem;
	}
	@media screen and (max-width: 743px) {
		padding-bottom: 10rem;
	}
	.section_header {
		margin-bottom: 6rem;
		text-align: center;
		@media screen and (max-width: 743px) {
			margin-bottom: 4rem;
		}
	}
	.hissu {
		font-weight: var(--font-weight-bold);
		color: #9C0000;
		font-size: 1.3rem;
	}
}
.form_item {
	margin-top: 4rem;
	line-height: 1.5;
	@media screen and (max-width: 743px) {
		margin-top: 3rem;
	}
	dt {
		margin-bottom: 1.5rem;
		font-size: 1.8rem;
		line-height: 1.5;
		font-weight: var(--font-weight-medium);
		@media screen and (max-width: 743px) {
			font-size: 1.6rem;
		}
	}
}
form {
	input[type=text],
	input[type=email],
	input[type=tel],
	input[type=number],
	textarea,
	select {
		width: 100%;
		height: 5.4rem;
		padding: 0 1.5em;
		background-color: #fff;
		border: 1px solid var(--color-base);
		font-size: 1.6rem;
		font-family: var(--font-family-gothic);
		letter-spacing: 0.2rem;
		@media screen and (max-width: 743px) {
			height: 5rem;
			padding: 0 1em;
			letter-spacing: 0.1rem;
		}
	}
	input[type=file] {
		margin: 1rem 0;
	}
	textarea {
		width: 100%;
		height: 24rem;
		padding-top: 0.8em;
		padding-bottom: 0.8em;
		@media screen and (max-width: 743px) {
			height: 20rem;
		}
	}
	select {
		width: auto;
		padding: 0 4rem 0 1.5em;
		background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%229%22%20height%3D%226%22%20viewBox%3D%220%200%209%206%22%3E%3Cpath%20d%3D%22M8.995%2C.297L4.5%2C5.704%2C.005%2C.296H8.995Z%22%20fill%3D%22%23333%22%2F%3E%3C%2Fsvg%3E');
		background-repeat: no-repeat;
		background-position: calc(100% - 2rem);
		@media screen and (max-width: 743px) {
			width: 100%;
			height: 5rem;
			padding: 0 1em;
			letter-spacing: 0.1rem;
		}
	}
	select::-ms-expand {
		display: none;
	}
	input[type=text],
	input[type=email],
	input[type=tel],
	input[type=number],
	select,
	textarea {
		transition: box-shadow .2s, border .2s;
	}
	input[type=text]:focus,
	input[type=email]:focus,
	input[type=tel]:focus,
	input[type=number]:focus,
	select:focus,
	textarea:focus {
		border-color: #66afe9;
		outline: 0;
		box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 .8rem rgba(102,175,233,0.8);
	}
	input[type=text]:disabled,
	input[type=email]:disabled,
	input[type=tel]:disabled,
	input[type=number]:disabled,
	select:disabled,
	textarea:disabled {
		background-color: #ddd;
		opacity: .5;
	}
	::-webkit-input-placeholder {
		color: rgba(27, 27, 27, 0.3);
	}
	:-ms-input-placeholder {
		color: rgba(27, 27, 27, 0.3);
	}
	::-moz-placeholder {
		color: rgba(27, 27, 27, 0.3);
	}
	input[type=checkbox],
	input[type=radio] {
		position: absolute;
		width: 2rem;
		height: 2rem;
		border-radius: 100%;
	}
	label {
		position: relative;
		display: flex;
		align-items: center;
		font-size: 1.6rem;
		height: 4.4rem;
		input[type=radio],
		input[type=checkbox] {
			& + span {
				position: relative;
				padding-left: 4rem;
				&::before {
					content: "";
					position: absolute;
					left: .6rem;
					top: calc(50% - 2.4rem / 2);
					width: 2.4rem;
					height: 2.4rem;
					background-color: #fff;
					border: 1px solid #888888;
					border-radius: 100%;
				}
			}
			&:checked + span::after {
				opacity: 1;
			}
		}
		input[type=radio] {
			& + span {
				&::after {
					content: "";
					position: absolute;
					left: 0;
					top: 50%;
					width: 1.2rem;
					height: 1.2rem;
					margin-top: -.6rem;
					margin-left: calc(.6rem + .6rem);
					background-color: var(--color-black);
					border-radius: 100%;
					opacity: 0;
					transition: opacity .1s;
				}
			}
		}
		input[type=checkbox] {
			& + span {
				&::before {
					border-radius: .2rem;
				}
				&::after {
					content: "";
					position: absolute;
					left: calc(.6rem + .7rem);
					top: calc(50% - 1.1rem);
					width: 1rem;
					height: 1.8rem;
					border-right: .4rem solid var(--color-black);
					border-bottom: .4rem solid var(--color-black);
					opacity: 0;
					transition: opacity .1s;
					transform: rotate(45deg);
				}
			}
		}
	}

	.wpcf7-checkbox {
		@media screen and (min-width: 744px), print {
			display: flex;
			flex-wrap: wrap;
			gap: 0 3.4rem;
			& > *:nth-child(2) {
				padding-right: 35rem;
			}
		}
	}
	.wpcf7-list-item {
		display: block;
		margin: 0;
	}

	.wpcf7-not-valid-tip {
		display: table;
		margin-top: 1rem;
		padding: 0.3em 1em;
		border-radius: 0.4rem;
		font-family: var(--font-family-gothic);
		background-color: #cc0000;
		color: #fff;
		font-size: 1.2rem;
		font-weight: 700;
	}

	.wpcf7-submit {
		width: 28rem;
		height: 4.6rem;
		font-size: 1.8rem;
	}
	.wpcf7-submit[disabled] {
		pointer-events: none;
		opacity: 0.3;
	}
}

.contact_privacy {
	margin-top: 5.5rem;
	margin-bottom: 3rem;
	letter-spacing: .1rem;
	header {
		margin-bottom: 2rem;
		text-align: center;
		font-size: 1.4rem;
		font-weight: var(--font-weight-semi);
		@media screen and (max-width: 743px) {
			font-size: 1.2rem;
		}
		h3 {
			margin-bottom: 1.5rem;
			font-size: 1.8rem;
			line-height: 1.5;
			font-weight: var(--font-weight-medium);
		}
	}
	.privacy_box {
		overflow-y: auto;
		height: 20rem;
		padding: 1.5rem 2rem 2rem;
		background-color: #fff;
		border: 1px solid var(--color-base);
		font-size: 1.4rem;
		line-height: 1.75;
		@media screen and (max-width: 743px) {
			font-size: 1.2rem;
		}
		section {
			margin-top: 2rem;
			h4, h5 {
				font-size: 1.6rem;
				margin-bottom: 0.5rem;
				font-weight: var(--font-weight-bold);
				@media screen and (max-width: 743px) {
					font-size: 1.4rem;
				}
			}
			p + p {
				margin-top: 1em;
			}
		}
		.cookies {
			margin-top: 4rem;
			padding-top: 2rem;
			border-top: 1px solid #ccc;
		}
	}
	a {
		color: var(--color-link);
		text-decoration: underline;
		&:hover {
			text-decoration: none;
		}
	}
}

.contact_acceptance_check {
	display: flex;
	justify-content: center;
}

.wpcf7-response-output {
	text-align: center;
	font-family: var(--font-family-gothic);
	border-width: 0 !important;
	color: #cc0000;
	font-size: 1.6rem;
}

.contact_submit {
	margin-top: 5rem;
	display: flex;
	justify-content: center;
	@media screen and (max-width: 743px) {
		margin-top: 3rem;
	}
}

.bg-imgs.-contact-imgs1 {
	top: -24rem;
	@media screen and (max-width: 743px) {
		top: -15rem;
	}
	& > div {
		width: 67.1rem;
		height: 47.8rem;
		left: calc(50% + 21.5rem);
		@media screen and (max-width: 743px) {
			transform-origin: 0 0;
			left: calc(50% + 1rem);
		}
	}
	.i1 {
		left: 66.6rem;
		top: 47.3rem;
		width: 49.5rem;
		height: 34.3rem;
		transform: rotate(-180deg);
		transform-origin: left top;
	}
	.i2 {
		left: 67.1rem;
		top: 34.9rem;
		width: 51.6rem;
		height: 25.0rem;
		transform: rotate(-180deg);
		transform-origin: left top;
	}
	.i3 {
		left: 66.9rem;
		top: 46.4rem;
		width: 61.7rem;
		height: 34.0rem;
		transform: rotate(-180deg);
		transform-origin: left top;
	}
	.i4 {
		left: 51.9rem;
		top: 25.7rem;
		width: 42.5rem;
		height: 30.1rem;
		transform: rotate(-211deg);
		transform-origin: left top;
	}
}



/* ======================================================================================

	やぐも便り

====================================================================================== */
.news_archive {
	@media screen and (min-width: 744px), print {
		display: flex;
		flex-direction: row-reverse;
		justify-content: space-between;
		.news_list {
			width: 73rem;
			min-height: 50rem;
		}
		.news_side {
			width: 25rem;
		}
	}
	.news_list {
		.archive_title {
			padding-bottom: 3rem;
			border-bottom: 1px solid rgba(27,27,27,.4);
			font-size: 2.4rem;
			line-height: 1.2;
			letter-spacing: 0.5rem;
			@media screen and (max-width: 743px) {
				font-size: 2rem;
			}
		}
		article {
			border-bottom: 1px solid rgba(27,27,27,.4);
			&:first-child {
				border-top: 1px solid rgba(27,27,27,.4);
			}
			a {
				position: relative;
				display: flex;
				align-items: start;
				gap: 4rem;
				padding: 3rem 12rem 3rem 3rem;
				text-decoration: none;
				@media screen and (max-width: 743px) {
					gap: 2rem;
					padding: 2rem 0 2rem 0;
				}
				@media screen and (min-width: 744px), print {
					&::before,
					&::after {
						content: "";
						position: absolute;
						right: 4rem;
						top: calc(50% - 4.5rem / 2);
						width: 6rem;
						height: 4.5rem;
						background: no-repeat 50%;
						background-size: 100%;
						@media screen and (max-width: 743px) {
							right: 0;
							top: calc(50% - 4.5rem * .6 / 2);
							width: calc(6rem * .6);
							height: calc(4.5rem * .6);
						}
					}
					&::before {
						background-image: url(../img/ico-diamond-arrow.svg);
					}
				}
				@media (hover) {
					&:hover {
						background-color: rgba(255,255,255,0.3);
					}
					&::after {
						background-image: url(../img/ico-diamond-arrow_hv.svg);
						opacity: 0;
						transition: opacity var(--transition);
					}
					&:hover::after {
						opacity: 1;
					}
				}
				.ph {
					position: relative;
					width: 17rem;
					height: 17rem;
					flex-shrink: 0;
					@media screen and (max-width: 743px) {
						width: 9rem;
						height: 9rem;
					}
					&.-noimage {
						display: flex;
						justify-content: center;
						align-items: center;
						background-color: #fff;
						border: 1px solid #888888;
						img {
							width: calc(120 / 168 * 100%);
						}
					}
				}
				.content {
					position: relative;
					flex-grow: 1;
					display: flex;
					flex-wrap: wrap;
					align-items: center;
					gap: 1rem 0;
					@media screen and (max-width: 743px) {
						gap: .5rem 0;
					}
					line-height: 1.5;
					letter-spacing: 0.1rem;
					time {
						margin-right: 2rem;
						font-size: 1.4rem;
						@media screen and (max-width: 743px) {
							margin-right: 1rem;
							font-size: 1.2rem;
						}
					}
					.category {
						display: flex;
						flex-wrap: wrap;
						gap: 1rem;
						@media screen and (max-width: 743px) {
							gap: 0.6rem;
						}
						li {
							padding: 0.5em 1em;
							background-color: #484D51;
							color: #fff;
							text-decoration: none;
							font-size: 1.2rem;
							font-weight: var(--font-weight-medium);
							@media screen and (max-width: 743px) {
								padding: 0.3em .6em;
								font-size: 1rem;
							}
						}
					}
					.title {
						width: 100%;
						margin-top: 2.5rem;
						font-size: 1.6rem;
						line-height: calc(36/ 16);
						@media screen and (max-width: 743px) {
							margin-top: 1rem;
							font-size: 1.4rem;
							line-height: 1.6;
						}
					}
				}
			}
		}
		.no-entry {
			margin-top: 3rem;
			@media screen and (max-width: 743px) {
				margin-top: 2rem;
			}
		}
	}
	.news_side {
		@media screen and (max-width: 743px) {
			margin-top: 5rem;
		}
		dt {
			position: relative;
			padding: 3rem 1.5rem;
			border-bottom: 1px solid var(--color-base);
			font-size: 1.8rem;
			line-height: 1.5;
			font-weight: var(--font-weight-bold);
			cursor: pointer;
			@media screen and (max-width: 743px) {
				padding: 2.5rem 1.5rem;
				font-size: 1.6rem;
			}
			&::before,
			&::after {
				content: "";
				position: absolute;
				width: 1.6rem;
				top: calc(50% - 1px);
				right: 2.5rem;
				border-top: 2px solid;
			}
			&::after {
				transform: rotate(90deg);
				transition: transform var(--transition), opacity var(--transition);
			}
			&.-open::after {
				transform: rotate(0);
				opacity: 0;
			}
			@media (hover) {
				transition: background var(--transition);
				&:hover {
					background-color: rgba(255,255,255,0.3);
				}
			}
		}
		dd {
			overflow: hidden;
			height: 0;
			transition: height var(--transition);
			a {
				display: block;
				padding: 1.5rem;
				padding-left: 3.5rem;
				border-bottom: 1px solid var(--color-base);
				font-size: 1.6rem;
				line-height: 1.8;
				text-decoration: none;
				@media screen and (max-width: 743px) {
					padding: 2rem 1.5rem;
					font-size: 1.5rem;
				}
				&.is-active {
					background-color: rgba(255,255,255,0.3);
				}
				@media (hover) {
					&:hover {
						background-color: rgba(255,255,255,0.3);
					}
				}
			}
		}
	}
}
.bg-imgs.-news-archive-imgs1 {
	top: -14rem;
	@media screen and (max-width: 743px) {
		top: -8rem;
	}
	& > div {
		width: 58.0rem;
		height: 46.5rem;
		left: calc(50% + 30.1rem);
		@media screen and (max-width: 743px) {
			transform-origin: 0 0;
			left: calc(50% - 1rem);
		}
	}
	.i1 {
		left: 25.3rem;
		top: 10.2rem;
		width: 27.9rem;
		height: 19.3rem;
	}
	.i2 {
		left: 13.0rem;
		top: 26.8rem;
		width: 36.9rem;
		height: 26.1rem;
		transform: rotate(-41deg);
		transform-origin: left top;
	}
	.i3 {
		left: 9.5rem;
		top: 0.0rem;
		width: 42.4rem;
		height: 19.6rem;
	}
	.i4 {
		left: 0.0rem;
		top: 2.2rem;
		width: 50.6rem;
		height: 24.5rem;
	}
}
.bg-imgs.-news-archive-imgs2 {
	bottom: 2rem;
	@media screen and (max-width: 743px) {
		bottom: 2rem;
	}
	& > div {
		bottom: 0;
		width: 39.8rem;
		height: 30.7rem;
		right: calc(50% + 4.2rem);
		@media screen and (max-width: 743px) {
			transform-origin: 100% 0;
			right: calc(50% + 10rem);
		}
	}
	.i1 {
		left: 2.7rem;
		top: 9.0rem;
		width: 26.9rem;
		height: 18.6rem;
		transform: rotate(-11deg);
		transform-origin: left top;
	}
	.i2 {
		left: 7.4rem;
		top: 3.7rem;
		width: 31.3rem;
		height: 17.3rem;
		transform: rotate(6deg);
		transform-origin: left top;
	}
	.i3 {
		left: 29.1rem;
		top: 22.4rem;
		width: 24.1rem;
		height: 20.1rem;
		transform: rotate(171deg);
		transform-origin: left top;
	}
	.i4 {
		left: 15.7rem;
		top: 3.3rem;
		width: 24.1rem;
		height: 20.1rem;
		transform: rotate(6deg);
		transform-origin: left top;
	}
}

.wp-pagenavi {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 2rem;
	margin-top: 8rem;
	font-size: 1.8rem;
	font-family: var(--font-family-gothic);
	font-weight: var(--font-weight-medium);
}
.wp-pagenavi a {
	color: var(--color-base);
	text-decoration: none;
}
.wp-pagenavi .current {
	color: #888888;
}
.wp-pagenavi .previouspostslink {
	margin-right: 10px;
}
.wp-pagenavi .nextpostslink {
	margin-left: 10px;
}
@media (hover) {
	.wp-pagenavi a:hover {
		color: #888888;
	}
}
@media screen and (max-width: 767px) {
	.wp-pagenavi {
		margin-top: 4rem;
		font-size: 1.4rem;
	}
}


.news_detail_header {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 0;
	align-items: center;
	margin-bottom: 5rem;
	padding-bottom: 3rem;
	border-bottom: 1px solid rgba(27,27,27,.4);
	line-height: 1.5;
	letter-spacing: 0.1rem;
	@media screen and (max-width: 743px) {
		margin-bottom: 4rem;
		padding-bottom: 2rem;
	}
	time {
		font-size: 1.6rem;
		margin-right: 1em;
		@media screen and (max-width: 743px) {
			font-size: 1.4rem;
		}
	}
	.category {
		display: flex;
		flex-wrap: wrap;
		gap: 1rem;
		@media screen and (max-width: 743px) {
			gap: 0.6rem;
		}
		a {
			display: block;
			padding: 0.5em 1em;
			background-color: #484D51;
			color: #fff;
			text-decoration: none;
			font-size: 1.2rem;
			font-weight: var(--font-weight-medium);
			@media screen and (max-width: 743px) {
				padding: 0.3em 1em;
				font-size: 1.1rem;
			}
		}
	}
	.title {
		width: 100%;
		margin-top: 1rem;
		font-size: 4rem;
		line-height: 1.6;
		letter-spacing: 0.5rem;
		@media screen and (max-width: 743px) {
			font-size: 2.8rem;
			letter-spacing: 0.3rem;
			line-height: 1.5;
		}
	}
}


/* wysiwyg */
.news_detail_body {
	font-family: var(--font-family-gothic);
	font-size: 1.6rem;
	line-height: calc(40 / 16);
	@media screen and (max-width: 743px) {
		font-size: 1.4rem;
		line-height: 2.2;
		letter-spacing: .2rem;
	}

	& > :first-child {
		margin-block-start: 0;
	}
	& > * {
		margin-block-start: 1.44em;
	}
	& > *.wp-block-media-text,
	& > *.wp-block-table,
	& > *.wp-block-buttons {
		margin-block: 6rem;
		@media screen and (max-width: 743px) {
			margin-block: 3rem;
		}
		&:first-child {
			margin-block-start: 0;
		}
		&:last-child {
			margin-block-end: 0;
		}
	}
	a:where(:not(.wp-element-button)) {
		color: #0F98B9;
		text-decoration: underline;
		@media (hover) {
			&:hover {
				text-decoration: none;
			}
		}
	}
	h2 {
		position: relative;
		margin-bottom: 4rem;
		padding-bottom: 2.5rem;
		font-size: 2.8rem;
		line-height: 1.5;
		font-family: var(--font-family-jp);
		font-weight: var(--font-weight-medium);
		border-bottom: 2px solid rgba(27,27,27,.1);
		@media screen and (max-width: 743px) {
			margin-bottom: 3rem;
			padding-bottom: 2rem;
			font-size: 2.4rem;
		}
		&::before {
			content: "";
			position: absolute;
			left: 0;
			bottom: -2px;
			width: 10.8rem;
			border-top: 2px solid rgba(27,27,27,1);
			@media screen and (max-width: 743px) {
				width: 6rem;
			}
		}
		&:not(:first-child) {
			margin-top: 8rem;
			@media screen and (max-width: 743px) {
				margin-top: 5rem;
			}
		}
	}
	h3 {
		position: relative;
		margin-bottom: 2rem;
		padding-left: 2.5rem;
		font-size: 2.4rem;
		line-height: 1.5;
		font-family: var(--font-family-jp);
		font-weight: var(--font-weight-medium);
		@media screen and (max-width: 743px) {
			font-size: 2rem;
		}
		&::before {
			content: "";
			position: absolute;
			left: 0;
			top: 0;
			bottom: 0;
			border-left: 2px solid rgba(27,27,27,1);
		}
		&:not(:first-child) {
			margin-top: 6rem;
			@media screen and (max-width: 743px) {
				margin-top: 4rem;
			}
		}
	}
	h4 {
		position: relative;
		margin-bottom: 2rem;
		padding-bottom: 2rem;
		font-size: 2rem;
		line-height: 1.5;
		border-bottom: 2px solid rgba(27,27,27,.3);
		font-family: var(--font-family-jp);
		font-weight: var(--font-weight-medium);
		@media screen and (max-width: 743px) {
			padding-bottom: 1.5rem;
			font-size: 1.8rem;
		}
		&:not(:first-child) {
			margin-top: 6rem;
			@media screen and (max-width: 743px) {
				margin-top: 4rem;
			}
		}
	}
	h5, h6 {
		font-family: var(--font-family-jp);
		font-weight: var(--font-weight-medium);
	}

	ul > li {
		position: relative;
		padding-left: 1.6em;
		&::before {
			content: "";
			display: block;
			position: absolute;
			top: 0.5lh;
			left: 0;
			background-color: #0F98B9;
			width: 0.8rem;
			height: 0.8rem;
			transform-origin: 0 0;
			transform: rotate(-45deg);
		}
	}

	ol {
		counter-reset: 0;
		& > li {
			counter-increment: number;
			position: relative;
			padding-left: 1.7em;
			&::before {
				content: counter(number) ".";
				position: absolute;
				top: 0;
				left: 0;
			}
		}
		&:has(> li:nth-child(10)) li {
			padding-left: 2.2em;
		}
	}

	.wp-block-image {
		img {
			max-width: 100%;
		}
		figcaption {
			margin-top: 1em;
			line-height: 1.5;
			font-size: 1.2rem;
			text-align: right;
			@media screen and (max-width: 743px) {
				font-size: 1rem;
			}
		}
	}

	.wp-block-table {
		position: relative;
		table {
			line-height: 1.6;
		}
		th, td {
			padding: 1.8rem 2.5rem;
			border: 1px solid #888888;
			@media screen and (max-width: 743px) {
				padding: 1rem 1.5rem;
			}
		}
		thead {
			border-bottom: 0;
			th {
				background-color: #E8E8E8;
			}
		}
	}
	@media screen and (max-width: 743px) {
		.wp-block-media-text {
			gap: 2rem;
			& > .wp-block-media-text__content {
				padding: 0;
			}
		}
	}
	@media screen and (max-width: 743px) {
		.is-layout-flex {
			gap: 2rem;
		}
		.is-layout-grid {
			gap: 2rem;
		}
	}
}


.bg-imgs.-news-detail-imgs1 {
	top: -20rem;
	& > div {
		width: 90.9rem;
		height: 59.9rem;
		left: calc(50% + 13.7rem);
	}
	.i1 {
		left: 2.4rem;
		top: 29.7rem;
		width: 45.0rem;
		height: 31.8rem;
		transform: rotate(-26deg);
		transform-origin: left top;
	}
	.i2 {
		left: 27.0rem;
		top: 25.3rem;
		width: 42.2rem;
		height: 26.0rem;
		transform: rotate(-14deg);
		transform-origin: left top;
	}
	.i3 {
		left: 28.8rem;
		top: 12.6rem;
		width: 37.8rem;
		height: 20.8rem;
		transform: rotate(-14deg);
		transform-origin: left top;
	}
	.i4 {
		left: 21.2rem;
		top: 14.4rem;
		width: 61.7rem;
		height: 29.9rem;
		transform: rotate(-14deg);
		transform-origin: left top;
	}
}
.bg-imgs.-news-detail-imgs2 {
	bottom: -5rem;
	& > div {
		width: 90.1rem;
		height: 54.3rem;
		right: calc(50% + 7.2rem);
		bottom: 0;
	}
	.i1 {
		left: 3.9rem;
		top: 5.0rem;
		width: 57.8rem;
		height: 28.1rem;
	}
	.i2 {
		left: 18.6rem;
		top: 0.0rem;
		width: 71.5rem;
		height: 33.1rem;
	}
	.i3 {
		left: 0.0rem;
		top: 13.7rem;
		width: 59.5rem;
		height: 36.6rem;
	}
	.i4 {
		left: 14.5rem;
		top: 4.7rem;
		width: 51.0rem;
		height: 36.1rem;
	}
	.i5 {
		left: 14.1rem;
		top: 10.0rem;
		width: 63.1rem;
		height: 30.6rem;
	}
	.i6 {
		left: 6.1rem;
		top: 29.8rem;
		width: 26.6rem;
		height: 22.1rem;
	}
	.i7 {
		left: 4.3rem;
		top: 25.4rem;
		width: 52.3rem;
		height: 28.9rem;
	}
}



/* ======================================================================================

	404

====================================================================================== */
.page_404 {
	text-align: center;
	.lead {
		margin-bottom: 4rem;
		font-size: 3rem;
		line-height: 1.8;
		@media screen and (max-width: 743px) {
			margin-bottom: 2rem;
			font-size: 2rem;
		}
	}
	.back {
		margin-top: 10rem;
		@media screen and (max-width: 743px) {
			margin-top: 5rem;
		}
	}
}
