@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: #000;
	--color-white: #fff;
	--color-theme: #37a0da;
	--color-navy: #0050a0;
	--color-brown: #ac8320;
	--bg-base: #fff;
	--bg-navy: #002d50;
	--bg-brown: #ad7645;
	--base-width: 114rem;
	--base-width-x: 122.8rem;
	--pc-min-window: 1300;
	--sp-base-padding: 2rem;
	--font-family: "Noto Sans JP", sans-serif;
	--font-weight-light: 300;
	--font-weight-reg: 400;
	--font-weight-medium: 500;
	--font-weight-semi: 600;
	--font-weight-bold: 700;
	--ls: 0.05em;
	--white-filter: brightness(0) invert(1);
	--transition-duration: .3s;
	--transition: var(--transition-duration) ease-in-out;
	--target-margin: 4rem;
	--header-height: 13rem;
	@media screen and (max-width: 743px) {
		--target-margin: 0;
		--header-height: 8rem;
	}
}

/* base
====================================================================== */
html {
	position: relative;
	font-size: 62.5%;
	scroll-behavior: smooth;
	@media screen and (min-width: 744px), print {
		font-size: min(calc(10px - ((var(--pc-min-window) * 1px) - 100vw) * (10 / var(--pc-min-window))), 10px);
	}
	@media screen and (max-width: 743px) {
		font-size: calc((10 / 375) * 100vw);
	}
}
html.no-scroll-behavior {
	scroll-behavior: auto;
}
body {
	background-color: var(--bg-base);
	font-size: 1.6rem;
	line-height: 2;
	color: var(--color-base);
	word-wrap: break-word;
	overflow-wrap: break-word;
	font-family: var(--font-family);
	font-weight: var(--font-weight-reg);
	font-optical-sizing: auto;
	font-feature-settings: "palt";
	-webkit-font-smoothing: antialiased;
	font-style: normal;
	-webkit-text-size-adjust: none;
	text-size-adjust: none;
	text-align: justify;
	@media screen and (max-width: 743px) {
		font-size: 1.6rem;
		line-height: 1.75;
	}
}
* {
	letter-spacing: var(--ls);
}
*,
*::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-bold);
}
:where(img) {
	max-width: 100%;
	width: 100%;
	height: auto;
	image-rendering: -webkit-optimize-contrast;
	image-rendering: crisp-edges;
}
: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.modal_link) {
	--a-color: var(--color-base);
	color: var(--a-color);
	text-decoration-line: underline;
	text-decoration-style: solid;
	text-decoration-thickness: 1px;
	text-decoration-color: var(--a-color);
	text-underline-offset: .3em;
	outline: none;
	cursor: pointer;
}
:where(a[href]._a_reverse,._a_reverse a[href]) {
	text-decoration-color: color-mix(in srgb, var(--a-color) 0%, transparent);
}
:where(a[href] ._hl.-hlr) {
	text-decoration-line: underline;
	text-decoration-style: solid;
	text-decoration-thickness: 1px;
	text-decoration-color: var(--a-color);
	text-underline-offset: .3em;
}
:where(a[href^="tel:"]) {
	@media screen and (min-width: 744px), print {
		text-decoration: none;
	}
}
@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, button svg) {
		transition: fill var(--transition);
	}
	:where(a[href]:hover, a.modal_link:hover) {
		text-decoration-color: color-mix(in srgb, var(--a-color) 0%, transparent);
	}
	:where(a[href]._a_reverse, a.modal_link._a_reverse, ._a_reverse a[href], ._a_reverse a.modal_link):hover {
		text-decoration-color: var(--a-color);
	}
	: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: color-mix(in srgb, var(--a-color) 0%, transparent);
	}
	:where(a[href]._a_reverse.-hvbk):hover,
	:where(._a_reverse.-hvbk a[href]):hover {
		text-decoration-color: var(--a-color);
	}
	:where(a[href] ._a_reverse) {
		text-decoration-line: underline;
		text-decoration-style: solid;
		text-decoration-thickness: 1px;
		text-decoration-color: color-mix(in srgb, var(--a-color) 0%, transparent);
		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(--a-color);
	}
	:where(a[href] ._hl) {
		text-decoration-line: underline;
		text-decoration-style: solid;
		text-decoration-thickness: 1px;
		text-decoration-color: color-mix(in srgb, var(--a-color) 0%, transparent);
		text-underline-offset: .3em;
	}
	:where(a[href]:hover ._hl) {
		text-decoration-color: var(--a-color);
	}
	:where(a[href] ._hl.-hlr) {
		text-decoration-color: var(--a-color);
	}
	:where(a[href]:hover ._hl.-hlr) {
		text-decoration-color: color-mix(in srgb, var(--a-color) 0%, transparent);
	}
}

: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: #808080;
}
:where(button) {
	cursor: pointer;
}

.hidden {
	display: none;
}
.slick-slider * {
	outline: none;
}

#top {
	position: absolute;
	top: 0;
	left: 0;
	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_theme {
	color: var(--color-theme) !important;
}

/* font
====================================================================== */
._ff_en {
	font-family: var(--font-family-en);
	font-weight: var(--font-weight-medium);
	font-style: italic;
}
._fwn {
	font-weight: var(--font-weight);
}
._fwr {
	font-weight: var(--font-weight-reg);
}
._fwm {
	font-weight: var(--font-weight-medium);
}
._fwb {
	font-weight: var(--font-weight-bold);
}
._fzs {
	font-size: 1.4rem;
	line-height: calc(26 / 14);
	@media screen and (max-width: 743px) {
		font-size: 1.2rem;
		line-height: calc(25 / 12);
	}
}
._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;
	}
}

/* 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;
	&.-abs {
		position: absolute;
		top: 0;
		left: 0;
	}
	&.-bg {
		pointer-events: none;
		user-select: none;
		z-index: -1;
	}
	&.-top {
		object-position: 50% 0;
	}
	&.-bottom {
		object-position: 50% 100%;
	}
	&.-contain {
		object-fit: contain;
	}
	@media screen and (min-width: 744px), print {
		&.-pc_none {
			object-fit: none;
		}
		&.-pc_top {
			object-position: 50% 0;
		}
		&.-pc_bottom {
			object-position: 50% 100%;
		}
	}
	@media screen and (max-width: 743px) {
		&.-sp_top {
			object-position: 50% 0;
		}
		&.-sp_bottom {
			object-position: 50% 100%;
		}
	}
}
@media screen and (min-width: 744px), print {
	img._pc_of {
		width: 100%;
		height: 100%;
		object-fit: cover;
		&.-abs {
			position: absolute;
			top: 0;
			left: 0;
		}
		&.-bg {
			pointer-events: none;
			user-select: none;
			z-index: -1;
		}
		&.-top {
			object-position: 50% 0;
		}
		&.-none {
			object-fit: none;
		}
	}
}
@media screen and (max-width: 743px) {
	img._sp_of {
		width: 100%;
		height: 100%;
		object-fit: cover;
		&.-abs {
			position: absolute;
			top: 0;
			left: 0;
		}
		&.-bg {
			pointer-events: none;
			user-select: none;
			z-index: -1;
		}
		&.-top {
			object-position: 50% 0;
		}
	}
}

/* _fix_bg
====================================================================== */
._fix_bg {
	position: fixed;
	inset: 0;
	z-index: -1;
}
._clip {
	position: relative;
	clip-path: inset(0);
}

/* hover
====================================================================== */
@media (hover) {
	a[href] ._hv_op {
		transition: opacity var(--transition);
	}
	a:is([href], .modal_link)._hv_op:hover,
	a[href]:hover ._hv_op,
	button._hv_op:hover,
	._hv_op a[href]:hover {
		opacity: 0.7;
	}
	a[href]._hv_op.-a50:hover,
	a[href]:hover ._hv_op.-a50,
	._hv_op.-a50 a[href]:hover {
		opacity: 0.5;
	}
	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;
	& > * {
		position: absolute;
		top: 0;
		right: 0;
		left: 0;
		bottom: 0;
		background-repeat: no-repeat;
		background-position: 50%;
		background-size: cover;
	}
	&.-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
====================================================================== */
._target {
	display: block;
	scroll-margin-top: var(--target-margin);
}
:where([id]:not(style):not(script)) {
	scroll-margin-top: var(--target-margin);
}
:where([id]._scroll-margin-top0, #top) {
	scroll-margin-top: 0 !important;
}
:where([id]._scroll-margin-top-fit) {
	scroll-margin-top: 0;
}
@media screen and (max-width: 743px) {
	:where([id]._sp_scroll-margin-top-fit) {
		scroll-margin-top: 0;
	}
}

/* w
====================================================================== */
._w {
	position: relative;
	@media screen and (min-width: 744px), print {
		width: var(--base-width);
		margin-inline: auto;
	}
}
._pw {
	@media screen and (min-width: 744px), print {
		padding-inline: calc((100% - var(--base-width)) / 2);
	}
}

/* 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-l {
		padding-inline: 3rem !important;
	}
}

/* header
====================================================================== */
#header {
	position: absolute;
	inset: 0 0 auto;
	height: var(--header-height);
	background-color: rgba(255,255,255,0.8);
	z-index: 900;
	&::after {
		content: "";
		position: absolute;
		right: 0;
		left: 0;
		bottom: -1px;
		height: 2px;
		background: repeating-linear-gradient(to right, var(--color-theme) 0 .6rem, transparent .6rem 1.2rem) repeat-x 50%;
		background-size: 1.2rem 2px;
	}
	.hnav {
		a, button {
			position: relative;
			display: flex;
			align-items: center;
			justify-content: center;
			width: 10rem;
			height: 10rem;
			padding-top: 2rem;
			background-color: var(--color-theme);
			border: 1px solid #fff;
			border-radius: 100%;
			color: #fff;
			text-decoration: none;
			font-size: 1.6rem;
			font-weight: var(--font-weight-reg);
			@media (hover) {
				&:hover {
					background-color: color-mix(in srgb, var(--color-theme) 70%, #fff);
				}
			}
		}
		.contact_btn a::before {
			content: "";
			position: absolute;
			right: 0;
			left: 0;
			top: 2.8rem;
			width: 2.6rem;
			height: 1.8rem;
			margin-inline: auto;
			background: url(../img/nav-ico-mail.svg) no-repeat 50%;
			background-size: 100%;
		}
	}
	.nav_btn {
		position: fixed;
		top: calc(var(--header-height) / 2 - 10rem / 2);
		z-index: 900;
		@media print {
			position: absolute;
		}
		&::before,
		button::before,
		button::after {
			content: "";
			position: absolute;
			width: 2.6rem;
			left: 0;
			right: 0;
			top: calc(50% - 1.5rem);
			margin-inline: auto;
			border-top: 2px solid #fff;
			pointer-events: none;
			z-index: 2;
		}
		button::before {
			transform: translateY(-.8rem);
		}
		button::after {
			transform: translateY(.8rem);
		}
	}
	nav {
		position: fixed;
		top: 0;
		right: 0;
		left: 0;
		transform: translateY(-110%);
		background-color: rgba(0,20,50,.8);
		font-size: 2.4rem;
		line-height: 1.5;
		font-weight: var(--font-weight-medium);
		color: #fff;
		transition: transform 0.3s ease-in-out;
		z-index: 901;
		.gnav {
			a {
				--a-color: #fff;
			}
			li {
				a {
					display: inline-block;
					padding-block: 1.5rem;
					@media (hover) {
						&:hover {
							--a-color: var(--color-theme);
						}
					}
				}
			}
		}
		.close {
			position: absolute;
			top: 0;
			right: 0;
			width: 7rem;
			height: 7rem;
			overflow: hidden;
			background-color: var(--color-theme);
			text-indent: -99em;
			&::before,
			&::after {
				content: "";
				position: absolute;
				right: 0;
				left: 0;
				top: calc(50% - 1px);
				margin-inline: auto;
				width: 3.6rem;
				border-top: 2px solid #fff;
				transform: rotate(45deg);
			}
			&::after {
				transform: rotate(-45deg);
			}
			@media (hover) {
				&:hover {
					background-color: color-mix(in srgb, var(--color-theme) 70%, #fff);
				}
			}
		}
		.-headeropen & {
			transform: translateY(0);
			transition-duration: .4s;
		}
	}
	@media screen and (min-width: 744px), print {
		padding-inline: calc((100% - var(--base-width-x)) / 2);
		display: flex;
		align-items: center;
		justify-content: space-between;
		.logo {
			width: 30rem;
		}
		.nav_btn {
			left: calc(50% + var(--base-width-x) / 2 - 10rem);
		}
		.hnav {
			padding-right: 12rem;
		}
		nav {
			height: 65rem;
			max-height: 100vh;
			display: flex;
			justify-content: center;
			align-items: center;
			.gnav {
				display: flex;
				justify-content: center;
				gap: 13rem;
				max-height: 100vh;
				padding-block: 2rem;
				.contact {
					margin-top: 1.5rem;
					color: #dab436;
					.tel {
						display: block;
						margin-bottom: 1rem;
						text-decoration: none;
						color: #dab436;
						font-size: 3rem;
						.num {
							font-size: 4rem;
						}
					}
					.tel_notes {
						position: absolute;
						display: block;
						font-size: 1.8rem;
						line-height: calc(28 / 18);
						font-weight: var(--font-weight-reg);
					}
				}
			}
		}
	}
	@media screen and (max-width: 743px) {
		.logo a {
			display: flex;
			align-items: center;
			height: var(--header-height);
			width: 20rem;
			padding-inline: var(--sp-base-padding);
			box-sizing: content-box;
		}
		.nav_btn {
			right: 2rem;
			top: calc(var(--header-height) / 2 - 5rem / 2);
			button {
				overflow: hidden;
				width: 5rem;
				height: 5rem;
				text-indent: -999em;
			}
			&::before,
			button::before,
			button::after {
				top: calc(50% - 1px);
			}
		}
		nav {
			display: flex;
			justify-content: center;
			align-items: center;
			height: 100vh;
			font-size: 2rem;
			line-height: 1.5;
			.gnav {
				overflow-y: auto;
				overscroll-behavior-y: contain;
				width: 100%;
				max-height: 100%;
				padding-block: 5rem;
				li {
					a {
						display: block;
						padding: 1.2rem;
						text-align: center;
					}
				}
			}
			.contact {
				display: none;
			}
		}
	}
}


/* footer
====================================================================== */
#footer {
	position: relative;
	margin-top: 15rem;
	padding-block: 6rem 7rem;
	background-color: var(--color-theme);
	color: #fff;
	font-size: 3rem;
	font-weight: var(--font-weight-medium);
	z-index: 3;
	.logo {
		text-align: center;
		img {
			filter: var(--white-filter);
		}
		.company-name {
			display: block;
		}
	}
	nav {
		ul {
			display: flex;
			gap: 3rem;
			a {
				--a-color: #fff;
			}
		}
	}
	small {
		display: block;
		margin-top: 2rem;
		font-weight: var(--font-weight-reg);
		font-size: 2rem;
		line-height: 1.5;
	}
	@media screen and (min-width: 744px), print {
		display: flex;
		flex-direction: row-reverse;
		justify-content: space-between;
		align-items: center;
		padding-inline: calc((100% - var(--base-width-x)) / 2);
		.logo {
			img {
				width: 44.4rem;
			}
		}
	}
	@media screen and (max-width: 743px) {
		margin-top: 8rem;
		padding-block: 5rem 3rem;
		font-size: 2rem;
		.logo {
			img {
				width: 30rem;
			}
			.company-name {
				margin-top: 0.5rem;
			}
		}
		nav {
			display: none;
		}
		small {
			margin-top: 4rem;
			font-size: 1.6rem;
			text-align: center;
		}
	}
}

/* container
====================================================================== */
#container {
	position: relative;
}


/* ===================================================================================================================

	パーツ

============================================================================= */

/* title
====================================================================== */
.page_title_simple {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	height: 60rem;
	margin-bottom: 14rem;
	padding-top: var(--header-height);
	color: #fff;
	--ls: .22em;
	&::after {
		content: "";
		position: absolute;
		right: 0;
		left: 0;
		bottom: -1px;
		height: 2px;
		background: repeating-linear-gradient(to right, var(--color-theme) 0 .6rem, transparent .6rem 1.2rem) repeat-x 50%;
		background-size: 1.2rem 2px;
	}
	h1,
	.title {
		margin-top: 1rem;
		font-size: 3.6rem;
		line-height: 1.2;
		font-weight: var(--font-weight-bold);
		color: #fff;
		--ls: .22em;
		 text-shadow:
			1px 1px 0 rgba(0,0,0,.2),
			-1px 1px 0 rgba(0,0,0,.2),
			-1px -1px 0 rgba(0,0,0,.2),
			1px -1px 0 rgba(0,0,0,.2);
	}
	&.-information .en {
		width: 61.4rem;
	}
	&.-company .en {
		width: 46.2rem;
	}
	&.-page404 .en {
		width: 81.8rem;
	}
	@media screen and (min-width: 744px), print {
		&.-company {
			height: 95vh;
			max-height: 112rem;
		}
	}
	@media screen and (max-width: 743px) {
		height: 100vw;
		margin-bottom: 4rem;
		h1,
		.title {
			margin-top: 2rem;
			font-size: 2rem;
		}
		&.-information .en {
			width: 25rem;
		}
		&.-company .en {
			width: 25.2rem;
		}
		&.-page404 .en {
			width: 34rem;
		}
	}
}

/* box_btn
====================================================================== */
.box_btn {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 100%;
	min-width: 30rem;
	width: fit-content;
	height: 7.4rem;
	margin-inline: auto;
	padding-inline: 8rem;
	background: var(--color-theme);
	border-radius: 10rem;
	color: #fff;
	text-decoration: none;
	font-size: 2.8rem;
	line-height: 1.2;
	font-weight: var(--font-weight-reg);
	&::after {
		content: "＞";
		position: absolute;
		right: 4rem;
	}
	&.-gray {
		background-color: #aaa;
	}
	&.-back {
		padding-left: 10rem;
		&::after {
			content: "＜";
			left: 4rem;
			right: auto;
		}
	}
	@media (hover) {
		&:hover {
			opacity: 0.7;
		}
	}
	@media screen and (min-width: 744px), print {
		&.-wide {
			width:	60rem;
		}
		&.-wide2 {
			width:	50rem;
		}
	}
	@media screen and (max-width: 743px) {
		width: 100%;
		padding-inline: 0 1rem;
		font-size: 2.3rem;
		font-weight: var(--font-weight-bold);
		&::after {
			right: 2rem;
		}
		&.-back {
			padding-left: 1rem;
			&::after {
				left: 2rem;
			}
		}
	}
}

/* modal_link
====================================================================== */
.modal_link {
	position: relative;
	display: inline-block;
	color: var(--color-navy);
	padding-left: 2rem;
	font-weight: var(--font-weight-bold);
	&::before {
		content: "？";
		position: absolute;
		left: 0;
		top: calc(55% - .75rem);
		display: flex;
		justify-content: center;
		align-items: center;
		width: 1.5rem;
		height: 1.5rem;
		background-color: var(--color-navy);
		border-radius: 100%;
		color: #fff;
		font-size: 1.3rem;
		line-height: 1;
	}
}

/* acc
====================================================================== */
._acc {
	overflow: hidden;
	height: 0;
	transition: height var(--transition);
}

/* basic_table
====================================================================== */
.basic_table {
	width: 100%;
	background-color: #fff;
	border: 1px solid var(--color-navy);
	border-radius: 1rem;
	border-collapse: separate;
	font-size: 1.5rem;
	line-height: calc(20 / 15);
	font-weight: var(--font-weight-medium);
	th, td {
		padding: 1rem;
	}
	th {
		width: 11rem;
		background-color: var(--color-navy);
		color: #fff;
		vertical-align: middle;
	}
	tr:first-child th {
		border-top-left-radius: .8rem;
	}
	tr:last-child th {
		border-bottom-left-radius: .8rem;
	}
	tr + tr th {
		border-top: 1px solid #fff;
	}
	tr + tr td {
		border-top: 1px dashed var(--color-navy);
	}
	.s {
		font-size: 1.4rem;
	}
	.modal_link:not(:last-child) {
		margin-bottom: 0.3rem;
	}
	@media screen and (max-width: 743px) {
		th {
			width: 8rem;
		}
	}
	&.-sky {
		th {
			background-color: var(--color-theme);
		}
	}
}


/* paragraph
====================================================================== */
.paragraph > * + * {
	margin-top: 1lh;
}
.paragraph.-m > * + * {
	margin-top: .7lh;
}


.wp-pagenavi {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 2rem;
	margin-top: 10rem;
	text-align: center;
	font-size: 2.4rem;
	line-height: 1.2;
}
.wp-pagenavi > * {
	min-width: 1em;
}
.wp-pagenavi .current {
	text-decoration: underline 1px;
	text-underline-offset: .3em;
}
.wp-pagenavi a {
	text-decoration-color: color-mix(in srgb, var(--a-color) 0%, transparent);
}
@media (hover) {
	.wp-pagenavi a:hover {
		text-decoration-color: var(--color-base);
	}
}
@media screen and (max-width: 767px) {
	.wp-pagenavi {
		gap: 1.5rem;
		margin-top: 6rem;
		font-size: 1.8rem;
	}
}

/* break_ph
====================================================================== */
.break_ph {
	display: flex;
	justify-content: center;
	gap: 2rem;
	li {
		flex-grow: 1;
		/* max-width: 40rem; */
	}
	@media screen and (max-width: 743px) {
		flex-wrap: wrap;
		gap: 0.5rem;
		li {
			width: calc((100% - .5rem) / 2);
		}
	}
}

/* fix_bnr
====================================================================== */
.fix_bnr {
	position: fixed;
	right: 0;
	left: 0;
	bottom: 0;
	background-color: rgba(100,0,0,.95);
	transform: translateY(190%);
	opacity: 0;
	transition: transform 0.3s ease-out, opacity 0.3s ease-out;
	z-index: 100;
	&.is-show {
		opacity: 1;
		transform: translateY(0);
	}
	.btn a {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		background-color: #8c0000;
		border: 1px solid #000;
		border-radius: 1rem;
		color: #dab436;
		font-size: 3.8rem;
		line-height: 1.5;
		font-weight: var(--font-weight-bold);
		text-decoration: none;
		box-shadow: 0 .6rem .6rem rgba(0,0,0,.5);
		--ls: 0;
		@media (hover) {
			&:hover {
				background-color: color-mix(in srgb, #8c0000 90%, #fff);
			}
		}
		.catch {
			font-size: 3.24rem;
			font-weight: var(--font-weight-reg);
		}
	}
	@media screen and (min-width: 744px), print {
		--px: min(1px, calc(100vw / 1830px * 1px));
		height: calc(125 * var(--px));
		display: flex;
		justify-content: center;
		gap: calc(40 * var(--px));
		color: #dab436;
		font-size: calc(27 * var(--px));
		line-height: 1.5;
		font-weight: var(--font-weight-bold);
		.btn {
			position: relative;
			width: calc(460 * var(--px));
			a {
				position: absolute;
				left: 0;
				bottom: calc(30 * var(--px));
				width: 100%;
				height: calc(142 * var(--px));
				font-size: calc(38 * var(--px));
				.catch {
					font-size: calc(32.4 * var(--px));
				}
			}
		}
		.lead {
			display: flex;
			align-items: center;
		}
		.img {
			position: relative;
			width: calc(290 * var(--px));
			img {
				position: absolute;
				left: 0;
				width: 100%;
				bottom: calc(30 * var(--px));
			}
		}
	}
	@media screen and (max-width: 743px) {
		height: 5rem;
		.btn {
			position: absolute;
			left: var(--sp-base-padding);
			bottom: 1rem;
			a {
				width: 21.2rem;
				height: 6.6rem;
				border-radius: 1rem;
				font-size: 1.8rem;
				box-shadow: 0 .3rem .3rem rgba(0,0,0,.5);
				.catch {
					font-size: 1.5rem;
				}
			}
		}
		.lead {
			display: none;
		}
		.img {
			position: absolute;
			right: 1rem;
			bottom: 0.5rem;
			width: 12rem;
		}
	}
}

/* ul / ol
====================================================================== */
.dot_li > li {
	position: relative;
	padding-left: 1em;
}
.dot_li > li::before {
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
	font-feature-settings: normal;
}

.circle_li > li {
	position: relative;
	padding-left: 1.1em;
}
.circle_li > li::before {
	content: "";
	position: absolute;
	top: calc(.5lh - .5rem);
	left: 0;
	width: 1rem;
	height: 1rem;
	background-color: var(--color-theme);
	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.5em;
}
.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: .8lh;
}
.mt_li_s > li + li {
	margin-top: .5lh;
}
@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;
}
.dl_table > * {
	display: table-row;
}
.dl_table > * > * {
	display: table-cell;
}
.dl_table dt {
	white-space: nowrap;
}
.dl_table.-dt_pr dt {
	padding-right: 1em;
}

/* ============================================================================

	フォーム

============================================================================= */
.form_contents {
	@media screen and (max-width: 743px) {
		padding-inline: 3rem;
	}

	input[type=text],
	input[type=email],
	input[type=tel],
	input[type=number],
	input[type=date],
	input[type=url],
	textarea,
	select {
		width: 100%;
		max-width: 100%;
		height: 5rem;
		padding: 0 1em;
		background-color: #e6e6e6;
		border: 1px solid #e6e6e6;
		border-radius: .6rem;
		font-size: 1.6rem;
		font-weight: 400;
		color: var(--color-base);
		transition: box-shadow .2s, border .2s;
		&:focus {
			border-color: #66afe9;
			outline: 0;
			box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102,175,233,0.8);
		}
		&:disabled {
			background-color: #ddd;
			opacity: .5;
		}
	}
	textarea {
		height: 15rem;
		padding: 1em 1em;
		@media screen and (max-width: 743px) {
			height: 20rem;
		}
	}
	input[type=checkbox],
	input[type=radio] {
		position: absolute;
		width: 2rem;
		height: 2rem;
	}
	label {
		position: relative;
		display: flex;
		align-items: center;
		height: 5rem;
		gap: 1.6rem;
		@media screen and (max-width: 743px) {
			height: 3rem;
		}
		.check {
			position: relative;
			width: 2.6rem;
			height: 2.6rem;
			border: 1px solid var(--color-base);
		}
/*
		input[type=radio] {
			& + .check {
				border-radius: 100%;
				&::after {
					content: "";
					position: absolute;
					inset: .4rem;
					background-color: var(--color-blue);
					border-radius: 100%;
					opacity: 0;
					transition: opacity .1s;
				}
			}
			&:checked {
				& + .check {
					&::after {
						opacity: 1;
					}
				}
			}
		}
*/
		input[type=checkbox] {
			& + .check {
				border-radius: .4rem;
				&::after {
					content: "";
					position: absolute;
					left: 0.7rem;
					top: calc(50% - 1.1rem);
					width: 0.9rem;
					height: 1.8rem;
					border-right: .3rem solid var(--color-base);
					border-bottom: .3rem solid var(--color-base);
					opacity: 0;
					transition: opacity .1s;
					transform: rotate(45deg);
				}
			}
			&:checked {
				& + .check {
					&::after {
						opacity: 1;
					}
				}
			}
		}
	}

	.form_text {
		margin-bottom: 8rem;
		text-align: center;
		color: var(--color-theme);
		font-size: 2.8rem;
		line-height: calc(50 / 28);
		font-weight: var(--font-weight-medium);
		--ls: .08em;
		@media screen and (max-width: 743px) {
			margin-bottom: 4rem;
			text-align: left;
			font-size: 2rem;
			line-height: 1.5;
		}
	}

	.form_tel {
		margin-bottom: 8rem;
		text-align: center;
		font-size: 1.8rem;
		dl {
			font-size: 2.5rem;
			line-height: 1.5;
			font-weight: var(--font-weight-medium);
			dd {
				font-size: 3rem;
				line-height: 1.3;
				--ls: 0;
				a {
					text-decoration: none;
				}
				.num {
					font-size: 4rem;
				}
			}
		}
		@media screen and (min-width: 744px), print {
			dl {
				display: flex;
				align-items: end;
				justify-content: center;
				gap: 1em;
			}
		}
		@media screen and (max-width: 743px) {
			margin-bottom: 4rem;
			font-size: 1.6rem;
			line-height: 1.5;
			dl {
				font-size: 2.4rem;
				dd {
					font-size: 2.4rem;
					.num {
						font-size: 3.6rem;
					}
				}
			}
			.tel_notes {
				margin-top: 1rem;
				text-align: left;
			}
		}
	}

	.form_item {
		position: relative;
		max-width: 65rem;
		margin-inline: auto;
		margin-bottom: 2rem;
		font-size: 2rem;
		line-height: 1.8;
		font-weight: var(--font-weight-bold);
		&.-mb {
			margin-bottom: 6rem;
		}
		&.-mt {
			margin-top: 3rem;
		}
		dt {
			position: relative;
		}
		.name_item {
			display: flex;
			align-items: start;
			& > span {
				width: 100%;
			}
			.txt {
				width: 4em;
				height: 5rem;
				display: flex;
				align-items: center;
				justify-content: end;
				font-size: 2rem;
				line-height: 1.8;
				font-weight: var(--font-weight-bold);
				flex-shrink: 0;
				text-align: right;
				padding-right: 1em;
			}
		}
		@media screen and (min-width: 744px), print {
			display: grid;
			grid-template-columns: 21rem 1fr;
			.name_item {
				margin-left: -4rem;
			}
			.-input & dt {
				display: flex;
				align-items: center;
				height: 5rem;
			}
		}
		@media screen and (max-width: 743px) {
			&.-mb {
				margin-bottom: 4rem;
			}
			&.-mt {
				margin-top: 0;
			}
			dt {
				text-align: center;
				margin-bottom: 0.5rem;
			}
			.name_item {
				flex-wrap: wrap;
				gap: 2rem 1.6rem;
				margin-left: -2rem;
				& > span {
					width: calc(100% - 1.6rem - 5rem);
				}
				.txt {
					width: 5rem;
					padding-right: 0;
					font-size: 1.6rem;
				}
			}
			.-confirm & {
				dt {
					margin-bottom: 0.2rem;
					font-size: 1.4rem;
					font-weight: 500;
					text-align: left;
				}
				dd {
					padding: 0.5rem 1rem;
					background-color: #f3f3f3;
					min-height: 1lh;
					font-size: 1.8rem;
				}
			}
		}
	}

	.form-privacy {
		max-width: 102rem;
		margin-inline: auto;
		margin-top: 9rem;
		h3 {
			margin-bottom: 3rem;
			color: var(--color-navy);
			font-size: 3rem;
			line-height: 1.5;
			font-weight: var(--font-weight-medium);
			text-align: center;
			--ls: .08em;
		}
		.scroll_content {
			height: 21rem;
			overflow-y: auto;
			overscroll-behavior-y: contain;
			padding: 2rem;
			background-color: #e5e5e5;
			border: 1rem solid #e5e5e5;
			border-radius: 1rem;
			font-size: 1.5rem;
			line-height: 1.8;
			& > * + * {
				margin-top: 1lh;
			}
		}
		@media screen and (max-width: 743px) {
			margin-top: 3rem;
			h3 {
				margin-bottom: 2rem;
				font-size: 2.4rem;
			}
		}
	}
	.privacy_check {
		width: fit-content;
		margin-top: 4rem;
		margin-inline: auto;
		font-size: 2rem;
		font-weight: var(--font-weight-medium);
		li {
			display: flex;
			align-items: center;
		}
		@media screen and (max-width: 743px) {
			display: block;
			font-size: 1.6rem;
			text-align: center;
			.check {
				display: block;
				margin-inline: auto;
				margin-top: 0.5rem;
			}
		}
	}

	.submit_btn {
		display: flex;
		justify-content: center;
		gap: 2rem;
		margin-top: 8rem;
		text-align: center;
		.box_btn {
			margin: 0;
		}
		@media screen and (min-width: 744px), print {
			flex-direction: row-reverse;
		}
		@media screen and (max-width: 743px) {
			flex-direction: column;
		}
	}

	.form_error_list {
		max-width: 65rem;
		margin-inline: auto;
		margin-bottom: 6rem;
		color: #e60112;
		font-size: 1.8rem;
		font-weight: var(--font-weight-medium);
		p {
			margin-bottom: 1em;
			text-align: center;
		}
		ul {
			padding: 2rem 3rem;
			border: 1px solid #e60112;
			background-color: #fff;
		}
	}
	.form_error {
		margin-top: .6rem;
		color: #e60112;
		font-size: 1.4rem;
		line-height: 1.5;
	}

	.fin_box {
		text-align: center;
		font-size: 2.2rem;
		.fin_title {
			margin-bottom: 2rem;
			font-size: 2.8rem;
		}
		.back_btn {
			margin-top: 8rem;
		}
		@media screen and (max-width: 743px) {
			font-size: 1.6rem;
			.fin_title {
				margin-bottom: 2rem;
				font-size: 2rem;
			}
			.back_btn {
				margin-top: 4rem;
			}
		}
	}
}


/* ============================================================================

	会社概要

============================================================================= */
.company_message {
	margin-block: 14rem 8rem;
	font-size: 2.4rem;
	line-height: 2;
	header {
		margin-bottom: 8rem;
		text-align: center;
		color: var(--color-theme);
		font-size: 3.6rem;
		line-height: 1.75;
		.en {
			width: 29.2rem;
			margin-inline: auto;
			margin-top: 1rem;
		}
	}
	@media screen and (min-width: 744px), print {
		max-width: 92rem;
		margin-inline: auto;
	}
	@media screen and (max-width: 743px) {
		margin-block: 6rem 3rem;
		padding-inline: 3rem;
		font-size: 1.6rem;
		line-height: 1.75;
		header {
			margin-bottom: 5rem;
			font-size: 2rem;
			.en {
				width: 25rem;
			}
		}
	}
}
.company_outline {
	margin-top: 10rem;
	font-size: 2.4rem;
	line-height: 2;
	dl {
		padding-block: 1em;
		border-bottom: 1px dashed var(--color-theme);
		&:first-child {
			border-top: 1px dashed var(--color-theme);
		}
		dt {
			color: var(--color-navy);
		}
	}
	@media screen and (min-width: 744px), print {
		max-width: 72rem;
		margin-inline: auto;
		dl {
			display: flex;
			dt {
				flex-shrink: 0;
				width: 20rem;
				padding-left: 3rem;
			}
		}
	}
	@media screen and (max-width: 743px) {
		margin-top: 7rem;
		margin-inline: var(--sp-base-padding);
		font-size: 2rem;
		line-height: 1.5;
		text-align: center;
		dl {
			padding-block: 0.8em;
			dt {
				margin-bottom: 0.2em;
				font-weight: var(--font-weight-bold);
			}
		}
	}
}
.company_information {
	margin-top: 8rem;
	margin-inline: var(--sp-base-padding);
	header {
		margin-bottom: 9rem;
		text-align: center;
		color: var(--color-theme);
		font-size: 3.6rem;
		line-height: 1.75;
		.en {
			width: 35.8rem;
			margin-inline: auto;
			margin-top: 1rem;
		}
	}
	.list {
		max-width: var(--base-width);
		margin-inline: auto;
		a {
			display: flex;
			align-items: start;
			padding: 3rem 5rem;
			border-radius: 0.5rem;
			text-decoration: none;
			font-size: 2.4rem;
			line-height: 1.5;
			--ls: 0;
			.date {
				color: var(--color-theme);
			}
			.category {
				width: 15rem;
				padding: 0.4rem 1rem;
				border-radius: 0.6rem;
				color: #fff;
				text-align: center;
				text-decoration: none;
				font-size: 2rem;
				line-height: 1.2;
			}
		}
		li:nth-child(2n + 1) a {
			background-color: #e6e6e6;
		}
	}
	.more {
		margin-top: 10rem;
	}
	@media screen and (min-width: 744px), print {
		.list {
			a {
				.date {
					flex-shrink: 0;
					width: 15rem;
				}
				.category {
					flex-shrink: 0;
					margin-right: 4rem;
					margin-top: 0.3rem;
				}
				.title {
					flex-grow: 1;
				}
			}
		}
	}
	@media screen and (max-width: 743px) {
		margin-top: 7rem;
		header {
			margin-bottom: 6rem;
			font-size: 2rem;
			.en {
				width: 25rem;
			}
		}
		.list {
			a {
				flex-wrap: wrap;
				gap: .5rem 1rem;
				align-items: center;
				padding: 1.5rem 2rem;
				font-size: 1.6rem;
				.category {
					width: auto;
					min-width: 12rem;
					font-size: 1.5rem;
				}
				.title {
					width: 100%;
				}
			}
		}
		.more {
			margin-top: 6rem;
		}
	}
}


/* ============================================================================

	インフォメーション

============================================================================= */
.-cate-pressrelease {
	background-color: var(--color-theme);
}
.-cate-news {
	background-color: #37d2d7;
}
.-cate-recommend {
	background-color: #cd6e73;
}
.-cate-faq {
	background-color: #8c5fb4;
}

.information_column {
	@media screen and (min-width: 744px), print {
		display: flex;
		flex-direction: row-reverse;
		justify-content: space-between;
		.column_main {
			width: 75rem;
		}
		.column_side {
			width: 30rem;
		}
	}
	@media screen and (max-width: 743px) {
		flex-direction: column;
	}

	.column_side {
		dl + dl {
			margin-top: 9rem;
		}
		dt {
			padding-bottom: 6rem;
			border-bottom: .3rem solid var(--color-theme);
			text-align: center;
		}
		.-category {
			dt img {
				width: 16.6rem;
			}
			ul {
				margin-top: 4rem;
				margin-inline: 2rem;
				li + li {
					border-top: 1px dashed #000;
				}
				a {
					display: block;
					padding: 2.2rem 3.5rem;
					text-decoration: none;
					font-size: 2.4rem;
					line-height: 1.5;
				}
			}
		}
		.-recommend {
			dt img {
				width: 21.6rem;
			}
			ul {
				display: flex;
				flex-direction: column;
				gap: 2rem;
				margin-top: 5.5rem;
				margin-inline: 2rem;
				a {
					display: block;
					text-decoration: none;
					.thumb {
						position: relative;
						display: block;
						aspect-ratio: 260 / 190;
						&.-no-image {
							display: flex;
							justify-content: center;
							align-items: center;
							background-color: #e6e6e6;
							&::before {
								content: "";
								width: 18rem;
								height: 6.8rem;
								background: url(../img/logo.svg) no-repeat 50%;
								background-size: 100%;
								filter: var(--white-filter);
							}
						}
					}
					.title {
						display: block;
						font-size: 1.8rem;
						padding: 1rem;
						line-height: 1.5;
					}
				}
			}
		}
		@media screen and (max-width: 743px) {
			margin-top: 10rem;
			.-category {
				display: none;
			}
			dt {
				padding-bottom: 3rem;
			}
			.-recommend {
				ul {
					gap: 2rem;
					margin-top: 4rem;
					margin-inline: 0;
					a {
						.title {
							padding: 1rem .4rem;
						}
					}
				}
			}
		}
	}
	.category_select {
		@media screen and (max-width: 743px) {
			padding-bottom: 4rem;
			border-bottom: 1px dashed #000;
			dt {
				margin-bottom: 2rem;
				padding-bottom: 3rem;
				border-bottom: .3rem solid var(--color-theme);
				text-align: center;
				img {
					width: 16.6rem;
				}
			}
			dd {
				position: relative;
				&::before {
					content: "";
					position: absolute;
					right: 0;
					top: 0;
					bottom: 0;
					width: 4rem;
					background: #25aae1;
					border-radius: 0 .6rem .6rem 0;
					z-index: 2;
				}
				&::after {
					content: "";
					position: absolute;
					right: calc(4rem / 2 - 1.2rem / 2);
					top: calc(50% - 1rem / 2);
					width: 1.2rem;
					height: 1rem;
					background: #fff;
					clip-path: polygon(0 0, 100% 0, 50% 100%);
					z-index: 3;
				}
				select {
					display: block;
					width: 100%;
					height: 4rem;
					padding: 0 1.5em;
					background-color: #e6e6e6;
					border-radius: .6rem;
					font-size: 1.6rem;
					font-weight: var(--font-weight-bold);
					color: var(--color-base);
				}
			}
		}
	}
}
.information_list {
	a {
		display: flex;
		flex-wrap: wrap;
		align-items: start;
		gap: 1rem 3rem;
		text-decoration: none;
		padding-block: 3rem;
		font-size: 2.4rem;
		line-height: 1.6;
		border-bottom: 1px dashed #000;
		.time {
			font-size: 2.4rem;
			line-height: 1.2;
			--ls: 0;
		}
		.category {
			display: flex;
			flex-wrap: wrap;
			gap: 1rem;
			--ls: 0;
			span {
				display: block;
				min-width: 15rem;
				padding: 0.4rem 1rem;
				border-radius: 0.6rem;
				color: #fff;
				text-align: center;
				text-decoration: none;
				font-size: 2rem;
				line-height: 1.2;

			}
		}
		.title {
			width: 100%;
		}
	}
	@media screen and (min-width: 744px), print {
		margin-top: -3rem;
	}
	@media screen and (max-width: 743px) {
		a {
			gap: .6rem 1rem;
			padding: 1.5rem 2rem;
			font-size: 1.6rem;
			line-height: 1.5;
			.time {
				padding-top: 0.4rem;
				font-size: 1.6rem;
			}
			.category {
				gap: .5rem;
				span {
					min-width: 12rem;
					font-size: 1.5rem;
				}
			}
			.title {
				font-weight: var(--font-weight-medium);
			}
		}
	}
}
.information_detail {
	.information_header {
		display: flex;
		flex-wrap: wrap;
		align-items: start;
		gap: 1rem 3rem;
		margin-bottom: 4rem;
		padding-bottom: 4rem;
		border-bottom: 1px dashed #000;
		time {
			flex-shrink: 0;
			font-size: 2.4rem;
			line-height: 1.2;
			--ls: 0;
		}
		.category {
			display: flex;
			flex-wrap: wrap;
			gap: 1rem;
			a {
				display: block;
				padding: 0.4rem 1.5rem;
				border-radius: 0.6rem;
				color: #fff;
				text-decoration: none;
				font-size: 2rem;
				line-height: 1.2;
			}
		}
		h1 {
			width: 100%;
			margin-top: 1rem;
			font-size: 2.8rem;
			line-height: 1.5;
			font-weight: var(--font-weight-bold);
		}
	}
	.back_link {
		margin-top: 8rem;
		font-size: 2.2rem;
	}
	@media screen and (max-width: 743px) {
		.information_header {
			gap: 1rem 1rem;
			margin-bottom: 3rem;
			padding-bottom: 2rem;
			time {
				padding-top: 0.4rem;
				font-size: 1.6rem;
			}
			.category {
				gap: .5rem;
				a {
					font-size: 1.5rem;
				}
			}
			h1 {
				font-size: 2.4rem;
			}
		}
		.back_link {
			margin-top: 4rem;
			font-size: 1.8rem;
			font-weight: var(--font-weight-medium);
		}
	}
}


/* ============================================================================

	404

============================================================================= */
.contents404 {
	text-align: center;
	font-size: 2rem;
	line-height: 2;
	.lead {
		margin-bottom: 4rem;
		font-size: 3.6rem;
		line-height: 1.6;
		font-weight: var(--font-weight-bold);
		color: var(--color-base);
	}
	.back_btn {
		margin-top: 6rem;
	}
	@media screen and (max-width: 743px) {
		padding-inline: var(--sp-base-padding);
		font-size: 1.8rem;
		.lead {
			margin-bottom: 3rem;
			font-size: 2.6rem;
		}
		.back_btn {
			margin-top: 3rem;
		}
	}
}

