@charset "UTF-8";
/*##################################################
-------------LIST-------------
 00: Reset
 01: Utility
 02: Base
 03: Animation
 04: Link
 05: Wrapper
 06: Header
 07: Contents
 08: Footer
     Component
     Project
------------------------------
##################################################*/
/* --------------------------------------------------
 00: Reset Style
-------------------------------------------------- */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, menu, nav, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

*, *::before, *::after {
	box-sizing: border-box;
}

body {
	line-height: 1;
}

article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, picture {
	display: block;
}

h1, h2, h3, h4, h5, h6, dt, th {
	font-weight: 500;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
	content: "";
	content: none;
}

a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

/* change colours to suit your needs */
ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none;
}

/* change colours to suit your needs */
mark {
	background-color: #ff9;
	color: #000;
	font-style: italic;
	font-weight: bold;
}

del {
	text-decoration: line-through;
}

abbr[title], dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc;
	margin: 1em 0;
	padding: 0;
}

input, select, button, textarea {
	-webkit-appearance: none;
	appearance: none;
	margin: 0;
	padding: 0;
	border-radius: 0;
	border: none;
	background-color: transparent;
	color: inherit;
	font-family: inherit;
	font-size: 100%;
	vertical-align: middle;
}

select {
	text-indent: .01px;
	text-overflow: "";
}

select::-ms-expand {
	display: none;
}

:root {
	/* width - Number */
	--base-number-view: 1280;
	--base-number: 960;
	--base-number-sp: 414;
	/* width - Base */
	--base-width-view: calc(var(--base-number-view) * 1px);
	--base-width: calc(var(--base-number) * 1px);
	/* font */
	--font-base: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic W3", "Yu Gothic", YuGothic, Meiryo, system-ui, sans-serif;
	--font-en: "Geologica", sans-serif;
	/* color */
	--color-main: #191b44;
	--color-gray: #e6e6eb;
	--color-gray-light: #e6e6e8;
	--color-gray-dark: #cdcdd2;
	--color-gray-warm: #e8e6e6;
	--color-gray-blue: #bfc0cb;
	--color-accent-orange: #ff5c00;
	--color-accent-red: #f13d05;
	/* link color */
	--link-color: inherit;
	--link-color-hover: inherit;
	/* rollover value */
	--opacity-value: .7;
}

/* --------------------------------------------------
 01: Utility Style
-------------------------------------------------- */
/* Float */
.u-fl {
	float: left !important;
}

.u-fr {
	float: right !important;
}

/* Align */
.u-taL {
	text-align: left !important;
}

.u-taR {
	text-align: right !important;
}

.u-taC {
	text-align: center !important;
}

/* size */
.u-txXS {
	font-size: 1rem !important;
}

.u-txSS {
	font-size: 1.1rem !important;
}

.u-txS {
	font-size: 1.2rem !important;
}

.u-txM {
	font-size: 1.4rem !important;
}

.u-txL {
	font-size: 1.6rem !important;
}

.u-txLL {
	font-size: 1.8rem !important;
}

.u-txXL {
	font-size: 2rem !important;
}

/* Width */
.u-w15px {
	width: 15px !important;
}

.u-w20px {
	width: 20px !important;
}

.u-w25px {
	width: 25px !important;
}

.u-w30px {
	width: 30px !important;
}

.u-w35px {
	width: 35px !important;
}

.u-w40px {
	width: 40px !important;
}

.u-w45px {
	width: 45px !important;
}

.u-w50px {
	width: 50px !important;
}

.u-w55px {
	width: 55px !important;
}

.u-w60px {
	width: 60px !important;
}

.u-w65px {
	width: 65px !important;
}

.u-w70px {
	width: 70px !important;
}

.u-w75px {
	width: 75px !important;
}

.u-w80px {
	width: 80px !important;
}

.u-w85px {
	width: 85px !important;
}

.u-w90px {
	width: 90px !important;
}

.u-w95px {
	width: 95px !important;
}

.u-w100px {
	width: 100px !important;
}

.u-w105px {
	width: 105px !important;
}

.u-w110px {
	width: 110px !important;
}

.u-w115px {
	width: 115px !important;
}

.u-w120px {
	width: 120px !important;
}

.u-w125px {
	width: 125px !important;
}

.u-w130px {
	width: 130px !important;
}

.u-w135px {
	width: 135px !important;
}

.u-w140px {
	width: 140px !important;
}

.u-w145px {
	width: 145px !important;
}

.u-w150px {
	width: 150px !important;
}

.u-w155px {
	width: 155px !important;
}

.u-w160px {
	width: 160px !important;
}

.u-w165px {
	width: 165px !important;
}

.u-w170px {
	width: 170px !important;
}

.u-w175px {
	width: 175px !important;
}

.u-w180px {
	width: 180px !important;
}

.u-w185px {
	width: 185px !important;
}

.u-w190px {
	width: 190px !important;
}

.u-w195px {
	width: 195px !important;
}

.u-w200px {
	width: 200px !important;
}

.u-w205px {
	width: 205px !important;
}

.u-w210px {
	width: 210px !important;
}

.u-w215px {
	width: 215px !important;
}

.u-w220px {
	width: 220px !important;
}

.u-w225px {
	width: 225px !important;
}

.u-w230px {
	width: 230px !important;
}

.u-w235px {
	width: 235px !important;
}

.u-w240px {
	width: 240px !important;
}

.u-w245px {
	width: 245px !important;
}

.u-w250px {
	width: 250px !important;
}

.u-w255px {
	width: 255px !important;
}

.u-w260px {
	width: 260px !important;
}

.u-w265px {
	width: 265px !important;
}

.u-w270px {
	width: 270px !important;
}

.u-w275px {
	width: 275px !important;
}

.u-w280px {
	width: 280px !important;
}

.u-w285px {
	width: 285px !important;
}

.u-w290px {
	width: 290px !important;
}

.u-w295px {
	width: 295px !important;
}

.u-w300px {
	width: 300px !important;
}

.u-w305px {
	width: 305px !important;
}

.u-w310px {
	width: 310px !important;
}

.u-w315px {
	width: 315px !important;
}

.u-w320px {
	width: 320px !important;
}

.u-w325px {
	width: 325px !important;
}

.u-w330px {
	width: 330px !important;
}

.u-w335px {
	width: 335px !important;
}

.u-w340px {
	width: 340px !important;
}

.u-w345px {
	width: 345px !important;
}

.u-w350px {
	width: 350px !important;
}

.u-w355px {
	width: 355px !important;
}

.u-w360px {
	width: 360px !important;
}

.u-w365px {
	width: 365px !important;
}

.u-w370px {
	width: 370px !important;
}

.u-w375px {
	width: 375px !important;
}

.u-w380px {
	width: 380px !important;
}

.u-w385px {
	width: 385px !important;
}

.u-w390px {
	width: 390px !important;
}

.u-w395px {
	width: 395px !important;
}

.u-w400px {
	width: 400px !important;
}

.u-w405px {
	width: 405px !important;
}

.u-w410px {
	width: 410px !important;
}

.u-w415px {
	width: 415px !important;
}

.u-w420px {
	width: 420px !important;
}

.u-w425px {
	width: 425px !important;
}

.u-w430px {
	width: 430px !important;
}

.u-w435px {
	width: 435px !important;
}

.u-w440px {
	width: 440px !important;
}

.u-w445px {
	width: 445px !important;
}

.u-w450px {
	width: 450px !important;
}

.u-w455px {
	width: 455px !important;
}

.u-w460px {
	width: 460px !important;
}

.u-w465px {
	width: 465px !important;
}

.u-w470px {
	width: 470px !important;
}

.u-w475px {
	width: 475px !important;
}

.u-w480px {
	width: 480px !important;
}

.u-w485px {
	width: 485px !important;
}

.u-w490px {
	width: 490px !important;
}

.u-w495px {
	width: 495px !important;
}

.u-w500px {
	width: 500px !important;
}

.u-w5per {
	width: 5% !important;
}

.u-w10per {
	width: 10% !important;
}

.u-w15per {
	width: 15% !important;
}

.u-w20per {
	width: 20% !important;
}

.u-w25per {
	width: 25% !important;
}

.u-w30per {
	width: 30% !important;
}

.u-w35per {
	width: 35% !important;
}

.u-w40per {
	width: 40% !important;
}

.u-w45per {
	width: 45% !important;
}

.u-w50per {
	width: 50% !important;
}

.u-w55per {
	width: 55% !important;
}

.u-w60per {
	width: 60% !important;
}

.u-w65per {
	width: 65% !important;
}

.u-w70per {
	width: 70% !important;
}

.u-w75per {
	width: 75% !important;
}

.u-w80per {
	width: 80% !important;
}

.u-w85per {
	width: 85% !important;
}

.u-w90per {
	width: 90% !important;
}

.u-w95per {
	width: 95% !important;
}

.u-w100per {
	width: 100% !important;
}

/* Margin Padding */
.u-noMargin {
	margin: 0 !important;
}

.u-noPadding {
	padding: 0 !important;
}

.u-mt0 {
	margin-top: 0 !important;
}

.u-mb0 {
	margin-bottom: 0 !important;
}

.u-pt0 {
	padding-top: 0 !important;
}

.u-pb0 {
	padding-bottom: 0 !important;
}

.u-mt5 {
	margin-top: 5px !important;
}

.u-mb5 {
	margin-bottom: 5px !important;
}

.u-pt5 {
	padding-top: 5px !important;
}

.u-pb5 {
	padding-bottom: 5px !important;
}

.u-mt10 {
	margin-top: 10px !important;
}

.u-mb10 {
	margin-bottom: 10px !important;
}

.u-pt10 {
	padding-top: 10px !important;
}

.u-pb10 {
	padding-bottom: 10px !important;
}

.u-mt15 {
	margin-top: 15px !important;
}

.u-mb15 {
	margin-bottom: 15px !important;
}

.u-pt15 {
	padding-top: 15px !important;
}

.u-pb15 {
	padding-bottom: 15px !important;
}

.u-mt20 {
	margin-top: 20px !important;
}

.u-mb20 {
	margin-bottom: 20px !important;
}

.u-pt20 {
	padding-top: 20px !important;
}

.u-pb20 {
	padding-bottom: 20px !important;
}

.u-mt25 {
	margin-top: 25px !important;
}

.u-mb25 {
	margin-bottom: 25px !important;
}

.u-pt25 {
	padding-top: 25px !important;
}

.u-pb25 {
	padding-bottom: 25px !important;
}

.u-mt30 {
	margin-top: 30px !important;
}

.u-mb30 {
	margin-bottom: 30px !important;
}

.u-pt30 {
	padding-top: 30px !important;
}

.u-pb30 {
	padding-bottom: 30px !important;
}

.u-mt35 {
	margin-top: 35px !important;
}

.u-mb35 {
	margin-bottom: 35px !important;
}

.u-pt35 {
	padding-top: 35px !important;
}

.u-pb35 {
	padding-bottom: 35px !important;
}

.u-mt40 {
	margin-top: 40px !important;
}

.u-mb40 {
	margin-bottom: 40px !important;
}

.u-pt40 {
	padding-top: 40px !important;
}

.u-pb40 {
	padding-bottom: 40px !important;
}

.u-mt45 {
	margin-top: 45px !important;
}

.u-mb45 {
	margin-bottom: 45px !important;
}

.u-pt45 {
	padding-top: 45px !important;
}

.u-pb45 {
	padding-bottom: 45px !important;
}

.u-mt50 {
	margin-top: 50px !important;
}

.u-mb50 {
	margin-bottom: 50px !important;
}

.u-pt50 {
	padding-top: 50px !important;
}

.u-pb50 {
	padding-bottom: 50px !important;
}

/* Clear */
.u-clr {
	clear: both;
}

/* Display */
@media (max-width: 767px) {
	.u-display-pc {
		display: none;
	}
}
.u-display-sp {
	display: none;
}

@media (max-width: 767px) {
	.u-display-sp {
		display: block;
	}
}
/* --------------------------------------------------
 02: Base Style
-------------------------------------------------- */
html {
	font-size: 62.5%;
	-ms-overflow-style: -ms-autohiding-scrollbar;
}

body {
	margin: 0 auto;
	color: var(--color-main);
	font-family: var(--font-base);
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.75;
	-webkit-text-size-adjust: 100%;
}

body.is-fixed {
	overflow: hidden;
}

@media (max-width: 767px) {
	body {
		font-size: calc(16 / var(--base-number-sp) * 100vw);
	}
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

/* --------------------------------------------------
 03: Animation
-------------------------------------------------- */
/* fadeIn */
@-webkit-keyframes fadeIn {
	0% {
		visibility: hidden;
		opacity: 0;
	}
	100% {
		visibility: visible;
		opacity: 1;
	}
}
@keyframes fadeIn {
	0% {
		visibility: hidden;
		opacity: 0;
	}
	100% {
		visibility: visible;
		opacity: 1;
	}
}
/* scrollAnimation */
[data-scroll] {
	opacity: 0;
	-webkit-transform: translate(0, 30px);
	transform: translate(0, 30px);
	transition: opacity .6s cubic-bezier(.55, .055, .675, .19), -webkit-transform .6s cubic-bezier(.55, .055, .675, .19);
	transition: opacity .6s cubic-bezier(.55, .055, .675, .19), transform .6s cubic-bezier(.55, .055, .675, .19);
	transition: opacity .6s cubic-bezier(.55, .055, .675, .19), transform .6s cubic-bezier(.55, .055, .675, .19), -webkit-transform .6s cubic-bezier(.55, .055, .675, .19);
}

[data-scroll].is-active {
	opacity: 1;
	-webkit-transform: translate(0);
	transform: translate(0);
	transition: opacity 1.2s cubic-bezier(.37, .16, .12, 1), -webkit-transform 1.2s cubic-bezier(.37, .16, .12, 1);
	transition: opacity 1.2s cubic-bezier(.37, .16, .12, 1), transform 1.2s cubic-bezier(.37, .16, .12, 1);
	transition: opacity 1.2s cubic-bezier(.37, .16, .12, 1), transform 1.2s cubic-bezier(.37, .16, .12, 1), -webkit-transform 1.2s cubic-bezier(.37, .16, .12, 1);
}

[data-scroll].is-active[data-scroll-delay="100"] {
	transition-delay: .1s;
}

[data-scroll].is-active[data-scroll-delay="200"] {
	transition-delay: .2s;
}

[data-scroll].is-active[data-scroll-delay="300"] {
	transition-delay: .3s;
}

[data-scroll].is-active[data-scroll-delay="400"] {
	transition-delay: .4s;
}

[data-scroll].is-active[data-scroll-delay="500"] {
	transition-delay: .5s;
}

[data-scroll].is-active[data-scroll-delay="600"] {
	transition-delay: .6s;
}

[data-scroll].is-active[data-scroll-delay="700"] {
	transition-delay: .7s;
}

[data-scroll].is-active[data-scroll-delay="800"] {
	transition-delay: .8s;
}

[data-scroll].is-active[data-scroll-delay="900"] {
	transition-delay: .9s;
}

[data-scroll].is-active[data-scroll-delay="1000"] {
	transition-delay: 1s;
}

/* --------------------------------------------------
 04: Link Style
-------------------------------------------------- */
a {
	color: var(--link-color);
	text-decoration: none;
	transition: .3s;
}

a:hover {
	color: var(--link-color-hover);
}

/* --------------------------------------------------
 05: Wrapper Style
-------------------------------------------------- */
.l-wrap {
	box-sizing: content-box;
	max-width: var(--base-width);
	margin-inline: auto;
	padding-inline: 30px;
}

.l-wrap.-view {
	max-width: var(--base-width-view);
}

@media (max-width: 767px) {
	.l-wrap {
		padding-inline: calc(32 / var(--base-number-sp) * 100vw);
	}
}
/* --------------------------------------------------
 06: Header Style
-------------------------------------------------- */
/* l-header */
.l-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	position: sticky;
	inset: 0 0 auto;
	z-index: 100;
	min-height: 70px;
	padding-inline: 30px;
	background-color: #fff;
}

.l-header__logo {
	position: relative;
	z-index: 100;
	line-height: 1;
}

.l-header__logo a {
	transition: none;
}

@media (max-width: 767px) {
	.l-header {
		min-height: calc(60 / var(--base-number-sp) * 100vw);
		padding-inline: calc(32 / var(--base-number-sp) * 100vw) 0;
	}
	.l-header__logo img {
		width: calc(162 / var(--base-number-sp) * 100vw);
	}
}
/* l-nav-menu */
.l-nav-menu {
	display: none;
}

@media (max-width: 767px) {
	.l-nav-menu {
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		z-index: 100;
		width: calc(60 / var(--base-number-sp) * 100vw);
		height: calc(60 / var(--base-number-sp) * 100vw);
		background-color: var(--color-gray);
		text-indent: -9999px;
		cursor: pointer;
	}
	.l-nav-menu > span, .l-nav-menu::before, .l-nav-menu::after {
		display: inline-block;
		position: absolute;
		left: 50%;
		width: calc(30 / var(--base-number-sp) * 100vw);
		height: 1px;
		background-color: var(--color-main);
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
		transition: .5s;
	}
	.l-nav-menu > span {
		top: calc(30 / var(--base-number-sp) * 100vw);
		will-change: opacity;
	}
	.l-nav-menu::before, .l-nav-menu::after {
		content: "";
		will-change: transform;
	}
	.l-nav-menu::before {
		top: calc(21 / var(--base-number-sp) * 100vw);
	}
	.l-nav-menu::after {
		top: calc(39 / var(--base-number-sp) * 100vw);
	}
	.l-nav-menu[aria-expanded=true] > span {
		opacity: 0;
	}
	.l-nav-menu[aria-expanded=true]::before {
		-webkit-transform: translate(-50%, calc(9 / var(--base-number-sp) * 100vw)) rotate(-45deg);
		transform: translate(-50%, calc(9 / var(--base-number-sp) * 100vw)) rotate(-45deg);
	}
	.l-nav-menu[aria-expanded=true]::after {
		-webkit-transform: translate(-50%, calc(-9 / var(--base-number-sp) * 100vw)) rotate(45deg);
		transform: translate(-50%, calc(-9 / var(--base-number-sp) * 100vw)) rotate(45deg);
	}
}
/* l-nav-global */
.l-nav-global__overlay {
	visibility: hidden;
	opacity: 0;
	position: fixed;
	top: calc(60 / var(--base-number-sp) * 100vw);
	left: 0;
	width: 100%;
	height: 100%;
	background-color: color-mix(in srgb, var(--color-main) 50%, transparent);
	transition: .5s;
}

.l-nav-global__list {
	display: inline-flex;
	align-items: center;
	gap: 40px;
}

.l-nav-global__list a {
	display: flex;
	align-items: center;
	gap: 12px;
	position: relative;
	font-weight: 700;
	transition: color .3s;
}

.l-nav-global__list a[target=_blank]::after {
	width: 22px;
	height: 17px;
	-webkit-mask-image: url(/assets/img/common/ic_window.svg);
	mask-image: url(/assets/img/common/ic_window.svg);
}

.l-nav-global__list a::after {
	content: "";
	width: 8px;
	height: 14px;
	background-color: var(--color-main);
	-webkit-mask: url(/assets/img/common/ic_arrow_link.svg) center/contain no-repeat;
	mask: url(/assets/img/common/ic_arrow_link.svg) center/contain no-repeat;
	translate: 0 1px;
	transition: background-color .3s, translate .3s;
}

@media (any-hover: hover) {
	.l-nav-global__list a:hover {
		color: var(--color-accent-red);
	}
	.l-nav-global__list a:hover::after {
		background-color: var(--color-accent-red);
	}
	.l-nav-global__list a:hover:not([target=_blank])::after {
		translate: 3px 1px;
	}
}
@media (max-width: 767px) {
	.l-nav-global[aria-hidden=false] .l-nav-global__overlay, .l-nav-global[aria-hidden=false] .l-nav-global__contents {
		visibility: visible;
		opacity: 1;
	}
	.l-nav-global__contents {
		visibility: hidden;
		opacity: 0;
		box-sizing: content-box;
		display: flex;
		flex-direction: column;
		position: fixed;
		z-index: 3;
		top: calc(60 / var(--base-number-sp) * 100vw);
		left: 0;
		width: 100%;
		border-top: 1px solid var(--color-gray);
		background-color: #fff;
		transition: .5s cubic-bezier(.215, .61, .355, 1);
	}
	.l-nav-global__inner {
		overflow-x: hidden;
		overflow-y: auto;
		-ms-overflow-style: none;
		-webkit-overflow-scrolling: touch;
	}
	.l-nav-global__list {
		display: block;
	}
	.l-nav-global__list li:not(:first-child) {
		border-top: 1px solid var(--color-gray);
	}
	.l-nav-global__list a {
		min-height: calc(60 / var(--base-number-sp) * 100vw);
		padding: calc(8 / var(--base-number-sp) * 100vw) calc(60 / var(--base-number-sp) * 100vw) calc(8 / var(--base-number-sp) * 100vw) calc(32 / var(--base-number-sp) * 100vw);
		font-size: calc(20 / var(--base-number-sp) * 100vw);
	}
	.l-nav-global__list a[target=_blank]::after {
		right: calc(20 / var(--base-number-sp) * 100vw);
		width: calc(22 / var(--base-number-sp) * 100vw);
		height: calc(17 / var(--base-number-sp) * 100vw);
	}
	.l-nav-global__list a::after {
		content: "";
		position: absolute;
		top: 50%;
		right: calc(26 / var(--base-number-sp) * 100vw);
		width: calc(8 / var(--base-number-sp) * 100vw);
		height: calc(14 / var(--base-number-sp) * 100vw);
		translate: 0 -50%;
	}
}
@media (max-width: 767px) and (any-hover: hover) {
	.l-nav-global__list a:hover:not([target=_blank])::after {
		translate: calc(3 / var(--base-number-sp) * 100vw) -50%;
	}
}
/* --------------------------------------------------
 07: Contents Style
-------------------------------------------------- */
main {
	overflow-x: clip;
}

/* l-contents */
/* l-fixed-btn */
.l-fixed-btn {
	visibility: hidden;
	opacity: 0;
	position: fixed;
	z-index: 500;
	top: 96px;
	right: 0;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	transition: .5s;
}

.l-fixed-btn.is-active {
	visibility: visible;
	opacity: 1;
}

.l-fixed-btn a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 60px;
	padding: 28px 8px;
	border: 2px solid var(--color-accent-red);
	background-color: var(--color-accent-red);
	color: #fff;
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: .167em;
	line-height: 1.5;
	text-align: center;
	transition: color .3s, background-color .3s;
}

.l-fixed-btn a[target=_blank]::after {
	content: "";
	width: 22px;
	height: 17px;
	background-color: #fff;
	-webkit-mask: url(/assets/img/common/ic_window.svg) center/contain no-repeat;
	mask: url(/assets/img/common/ic_window.svg) center/contain no-repeat;
	transition: background-color .3s;
}

@media (any-hover: hover) {
	.l-fixed-btn a:hover {
		background-color: #fff;
		color: var(--color-accent-red);
	}
	.l-fixed-btn a:hover[target=_blank]::after {
		background-color: var(--color-accent-red);
	}
}
@media (max-width: 767px) {
	.l-fixed-btn {
		top: calc(80 / var(--base-number-sp) * 100vw);
	}
	.l-fixed-btn a {
		gap: calc(6 / var(--base-number-sp) * 100vw);
		width: calc(60 / var(--base-number-sp) * 100vw);
		padding: calc(28 / var(--base-number-sp) * 100vw) calc(8 / var(--base-number-sp) * 100vw);
		font-size: calc(24 / var(--base-number-sp) * 100vw);
	}
	.l-fixed-btn a[target=_blank]::after {
		width: calc(22 / var(--base-number-sp) * 100vw);
		height: calc(17 / var(--base-number-sp) * 100vw);
	}
}
/* l-join  */
.l-join {
	background: url(/assets/img/common/join_bg@pc.webp) center/cover no-repeat;
	text-align: center;
}

.l-join .l-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 36px;
	min-height: 420px;
}

.l-join__heading {
	font-family: var(--font-en);
	font-size: 7.2rem;
	font-weight: 500;
	line-height: 1;
}

.l-join__btn {
	width: 100%;
	max-width: 302px;
}

.l-join__btn a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 40px;
	height: 88px;
	margin-inline: auto;
	padding-inline: 16px 8px;
	background-color: var(--color-accent-red);
	border: 2px solid var(--color-accent-red);
	color: #fff;
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: .08em;
}

.l-join__btn a::after {
	content: "";
	width: 10px;
	height: 16px;
	background-color: #fff;
	-webkit-mask: url(/assets/img/common/ic_arrow_btn.svg) center/contain no-repeat;
	mask: url(/assets/img/common/ic_arrow_btn.svg) center/contain no-repeat;
	translate: 0 1px;
	transition: background-color .3s, translate .3s;
}

@media (any-hover: hover) {
	.l-join__btn a:hover {
		background-color: #fff;
		color: var(--color-accent-red);
	}
	.l-join__btn a:hover::after {
		background-color: var(--color-accent-red);
		translate: 3px 1px;
	}
}
@media (max-width: 767px) {
	.l-join {
		background-image: url(/assets/img/common/join_bg@sp.webp);
	}
	.l-join .l-wrap {
		gap: calc(20 / var(--base-number-sp) * 100vw);
		min-height: calc(212 / var(--base-number-sp) * 100vw);
	}
	.l-join__heading {
		font-size: calc(44 / var(--base-number-sp) * 100vw);
	}
	.l-join__btn {
		max-width: calc(248 / var(--base-number-sp) * 100vw);
	}
	.l-join__btn a {
		gap: calc(40 / var(--base-number-sp) * 100vw);
		height: calc(60 / var(--base-number-sp) * 100vw);
		padding-inline: calc(12 / var(--base-number-sp) * 100vw) calc(8 / var(--base-number-sp) * 100vw);
		font-size: calc(20 / var(--base-number-sp) * 100vw);
	}
	.l-join__btn a::after {
		width: calc(10 / var(--base-number-sp) * 100vw);
		height: calc(16 / var(--base-number-sp) * 100vw);
		translate: 0 calc(1 / var(--base-number-sp) * 100vw);
	}
}
@media (max-width: 767px) and (any-hover: hover) {
	.l-join__btn a:hover::after {
		translate: calc(3 / var(--base-number-sp) * 100vw) calc(1 / var(--base-number-sp) * 100vw);
	}
}
/* --------------------------------------------------
 08: Footer Style
-------------------------------------------------- */
/* l-footer */
.l-footer {
	padding-block: 80px;
	background-color: #101011;
	color: var(--color-gray-dark);
}

.l-footer__address {
	margin-top: 20px;
}

.l-footer__address a[href^=tel] {
	pointer-events: none;
}

@media (max-width: 767px) {
	.l-footer {
		padding-block: calc(40 / var(--base-number-sp) * 100vw);
	}
	.l-footer__logo img {
		width: calc(208 / var(--base-number-sp) * 100vw);
	}
	.l-footer__address {
		margin-top: calc(28 / var(--base-number-sp) * 100vw);
	}
}
/* l-nav-footer */
.l-nav-footer {
	margin-top: 28px;
}

.l-nav-footer ul {
	display: flex;
	flex-wrap: wrap;
	row-gap: 4px;
}

.l-nav-footer li {
	position: relative;
	margin-right: 12px;
	padding-right: 12px;
	font-size: 1.4rem;
}

.l-nav-footer li::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	width: 1px;
	height: 20px;
	border: 1px solid;
	translate: 0 -50%;
}

@media (any-hover: hover) {
	.l-nav-footer a:hover {
		text-decoration: underline;
		text-underline-offset: 3px;
	}
}
@media (max-width: 767px) {
	.l-nav-footer {
		margin-top: calc(28 / var(--base-number-sp) * 100vw);
	}
	.l-nav-footer ul {
		row-gap: calc(4 / var(--base-number-sp) * 100vw);
	}
	.l-nav-footer li {
		margin-right: calc(12 / var(--base-number-sp) * 100vw);
		padding-right: calc(12 / var(--base-number-sp) * 100vw);
		font-size: calc(14 / var(--base-number-sp) * 100vw);
	}
	.l-nav-footer li::after {
		height: calc(20 / var(--base-number-sp) * 100vw);
	}
}
/* l-copyright */
.l-copyright {
	margin-top: 28px;
	font-size: 1rem;
	font-weight: 400;
}

@media (max-width: 767px) {
	.l-copyright {
		margin-top: calc(28 / var(--base-number-sp) * 100vw);
		font-size: calc(10 / var(--base-number-sp) * 100vw);
	}
}
/* --------------------------------------------------
 Component
-------------------------------------------------- */
/* PAGE
------------------------------ */
/* c-page-header */
.c-page-header {
	padding-block: 116px;
	background-color: var(--color-main);
	color: #fff;
}

.c-page-header__group {
	padding-bottom: 32px;
	border-bottom: 1px solid;
}

.c-page-header__jp {
	color: var(--color-accent-orange);
	font-size: 2rem;
	font-weight: 700;
	line-height: 1;
}

.c-page-header__en {
	font-family: var(--font-en);
	font-size: 7.2rem;
	font-weight: 500;
	line-height: 1.2;
}

@media (max-width: 767px) {
	.c-page-header {
		padding-block: calc(56 / var(--base-number-sp) * 100vw);
	}
	.c-page-header__group {
		padding-bottom: calc(16 / var(--base-number-sp) * 100vw);
	}
	.c-page-header__jp {
		font-size: calc(16 / var(--base-number-sp) * 100vw);
	}
	.c-page-header__en {
		font-size: calc(48 / var(--base-number-sp) * 100vw);
	}
}
/* GROUP
------------------------------ */
/* c-page-header */
.c-group-header.-reverse {
	text-align: right;
}

.c-group-header__group {
	padding-bottom: 32px;
	border-bottom: 1px solid;
}

.c-group-header__jp {
	color: var(--color-accent-orange);
	font-size: 2rem;
	font-weight: 700;
	line-height: 1;
}

.c-group-header__en {
	margin-top: 12px;
	font-family: var(--font-en);
	font-size: 7.2rem;
	font-weight: 500;
	line-height: .92;
}

.c-group-header__lead {
	margin-top: 24px;
	font-size: 2.4rem;
	letter-spacing: .08em;
	line-height: 1.5;
}

@media (max-width: 767px) {
	.c-group-header__group {
		padding-bottom: calc(16 / var(--base-number-sp) * 100vw);
	}
	.c-group-header__jp {
		font-size: calc(16 / var(--base-number-sp) * 100vw);
	}
	.c-group-header__en {
		font-size: calc(76 / var(--base-number-sp) * 100vw);
	}
	.c-group-header__lead {
		margin-top: calc(20 / var(--base-number-sp) * 100vw);
		font-size: calc(24 / var(--base-number-sp) * 100vw);
		line-height: 1.667;
	}
}
/* VISUAL
------------------------------ */
/* c-visual */
.c-visual {
	margin-top: 52px;
}

.c-visual__tagline, .c-visual__heading {
	font-weight: 700;
}

.c-visual__tagline {
	font-size: 2rem;
	letter-spacing: .02em;
	line-height: 1.556;
}

.c-visual__heading {
	margin-top: 16px;
	font-size: 4rem;
	line-height: 1.316;
}

.c-visual__image {
	margin-top: 52px;
	text-align: center;
}

.c-visual__text {
	margin-top: 32px;
	line-height: 2;
}

@media (max-width: 767px) {
	.c-visual {
		margin-top: calc(36 / var(--base-number-sp) * 100vw);
	}
	.c-visual__tagline {
		font-size: calc(18 / var(--base-number-sp) * 100vw);
	}
	.c-visual__heading {
		margin-top: calc(20 / var(--base-number-sp) * 100vw);
		font-size: calc(38 / var(--base-number-sp) * 100vw);
	}
	.c-visual__image {
		margin-top: calc(36 / var(--base-number-sp) * 100vw);
	}
	.c-visual__text {
		margin-top: calc(28 / var(--base-number-sp) * 100vw);
		line-height: 1.75;
	}
}
/* --------------------------------------------------
 Project
-------------------------------------------------- */
/* --------------------------------------------------
 INDEX
-------------------------------------------------- */
/* p-visual-top */
.p-visual-top {
	position: relative;
}

.p-visual-top__heading, .p-visual-top__text {
	position: absolute;
	z-index: 5;
}

.p-visual-top__heading {
	bottom: min(60 / var(--base-number-view) * 100vw, 60px);
	left: min(60 / var(--base-number-view) * 100vw, 60px);
	-webkit-filter: drop-shadow(0 0 20px rgba(0, 0, 0, .6));
	filter: drop-shadow(0 0 20px rgba(0, 0, 0, .6));
}

.p-visual-top__text {
	top: min(60 / var(--base-number-view) * 100vw, 60px);
	right: min(60 / var(--base-number-view) * 100vw, 60px);
	-webkit-filter: drop-shadow(0 0 20px rgba(0, 0, 0, .6));
	filter: drop-shadow(0 0 20px rgba(0, 0, 0, .6));
}

.p-visual-top__slider-mask {
	position: absolute !important;
	inset: 0;
	clip-path: polygon(34.375% 0, 100% 0, 100% 100%, 65.625% 100%);
}

.p-visual-top .swiper {
	position: static;
}

.p-visual-top .swiper-slide img {
	width: 100%;
}

.p-visual-top .swiper-pagination {
	inset: auto min(60 / var(--base-number-view) * 100vw, 60px) min(60 / var(--base-number-view) * 100vw, 60px) auto !important;
	z-index: 10;
	display: flex;
	gap: 12px;
	width: auto !important;
}

.p-visual-top .swiper-pagination-bullet {
	opacity: 1;
	width: 10px;
	height: 10px;
	margin-inline: 0 !important;
	border-radius: 100%;
	background-color: #fff;
}

.p-visual-top .swiper-pagination-bullet-active {
	background-color: var(--color-accent-orange);
}

@media (max-width: 767px) {
	.p-visual-top__heading {
		bottom: calc(48 / var(--base-number-sp) * 100vw);
		left: calc(32 / var(--base-number-sp) * 100vw);
		-webkit-filter: drop-shadow(0 0 calc(0 / var(--base-number-sp) * 100vw) rgba(0, 0, 0, .6));
		filter: drop-shadow(0 0 calc(0 / var(--base-number-sp) * 100vw) rgba(0, 0, 0, .6));
	}
	.p-visual-top__heading img {
		width: calc(240 / var(--base-number-sp) * 100vw);
	}
	.p-visual-top__text {
		top: calc(30 / var(--base-number-sp) * 100vw);
		right: calc(32 / var(--base-number-sp) * 100vw);
		-webkit-filter: drop-shadow(0 0 calc(0 / var(--base-number-sp) * 100vw) rgba(0, 0, 0, .6));
		filter: drop-shadow(0 0 calc(0 / var(--base-number-sp) * 100vw) rgba(0, 0, 0, .6));
	}
	.p-visual-top__text img {
		width: calc(27 / var(--base-number-sp) * 100vw);
	}
	.p-visual-top__slider-mask {
		clip-path: polygon(10% 0, 100% 0, 100% 100%, 90% 100%);
	}
	.p-visual-top .swiper-slide img {
		width: 100%;
	}
	.p-visual-top .swiper-pagination {
		inset: auto calc(32 / var(--base-number-sp) * 100vw) calc(48 / var(--base-number-sp) * 100vw) auto !important;
		gap: calc(12 / var(--base-number-sp) * 100vw);
	}
	.p-visual-top .swiper-pagination-bullet {
		width: calc(8 / var(--base-number-sp) * 100vw);
		height: calc(8 / var(--base-number-sp) * 100vw);
	}
}
/* p-area-about */
.p-area-about {
	padding-block: 40px 120px;
	background-color: var(--color-gray-warm);
}

.p-area-about__map {
	text-align: center;
}

.p-area-about__carousel {
	margin-top: -10px;
}

.p-area-about__text {
	margin-top: 64px;
	text-align: center;
}

.p-area-about__text p {
	font-size: 2rem;
	font-weight: 700;
	line-height: 2;
}

.p-area-about__text p:not(:first-child) {
	margin-top: 1.5em;
}

.p-area-about__text b {
	color: var(--color-accent-orange);
}

.p-area-about .swiper-wrapper {
	justify-content: center;
	transition-timing-function: linear;
}

.p-area-about .swiper-slide {
	width: 152px;
	margin-inline: 5px;
}

@media (max-width: 767px) {
	.p-area-about {
		padding-block: calc(24 / var(--base-number-sp) * 100vw) calc(80 / var(--base-number-sp) * 100vw);
	}
	.p-area-about__map {
		margin-inline: calc(50% - 50vw);
	}
	.p-area-about__map img {
		margin-inline: calc(-40 / var(--base-number-sp) * 100vw);
	}
	.p-area-about__carousel {
		margin-top: calc(10 / var(--base-number-sp) * 100vw);
	}
	.p-area-about__text {
		margin-top: calc(60 / var(--base-number-sp) * 100vw);
		text-align: left;
	}
	.p-area-about__text p {
		font-size: calc(24 / var(--base-number-sp) * 100vw);
		line-height: 1.834;
	}
	.p-area-about .swiper {
		margin-inline: calc(50% - 50vw) !important;
	}
	.p-area-about .swiper-wrapper {
		justify-content: start;
	}
	.p-area-about .swiper-slide {
		width: calc(152 / var(--base-number-sp) * 100vw);
		margin-inline: calc(5 / var(--base-number-sp) * 100vw);
	}
}
/* p-area-business */
.p-area-business {
	padding-block: 120px;
	background-color: var(--color-main);
	color: #fff;
}

.p-area-business__list {
	margin-top: 60px;
}

.p-area-business__item {
	position: relative;
	max-width: 654px;
}

.p-area-business__item:nth-child(even) {
	margin-left: auto;
}

.p-area-business__item:nth-child(even) .p-area-business__label {
	right: 0;
	left: auto;
}

.p-area-business__item:not(:first-child) {
	margin-top: 64px;
}

.p-area-business__label {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 0;
	left: 0;
	min-height: 48px;
	padding: 8px 20px;
	background-color: var(--color-main);
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.2;
}

.p-area-business__image img {
	width: 100%;
}

.p-area-business__text {
	margin-top: 40px;
	line-height: 2;
}

@media (max-width: 767px) {
	.p-area-business {
		padding-block: calc(80 / var(--base-number-sp) * 100vw);
	}
	.p-area-business__list {
		margin-top: calc(60 / var(--base-number-sp) * 100vw);
	}
	.p-area-business__item {
		margin-left: calc(50% - 50vw);
	}
	.p-area-business__item:nth-child(even) {
		margin-inline: auto calc(50% - 50vw);
	}
	.p-area-business__item:nth-child(even) .p-area-business__text {
		padding-inline: 0 calc(50vw - 50%);
	}
	.p-area-business__item:not(:first-child) {
		margin-top: calc(60 / var(--base-number-sp) * 100vw);
	}
	.p-area-business__label {
		min-height: calc(48 / var(--base-number-sp) * 100vw);
		padding: calc(8 / var(--base-number-sp) * 100vw) calc(20 / var(--base-number-sp) * 100vw);
		font-size: calc(20 / var(--base-number-sp) * 100vw);
	}
	.p-area-business__text {
		margin-top: calc(40 / var(--base-number-sp) * 100vw);
		padding-left: calc(32 / var(--base-number-sp) * 100vw);
		line-height: 1.75;
	}
}
/* p-area-fleet */
.p-area-fleet {
	padding-block: 120px;
	background-color: var(--color-gray-dark);
}

.p-area-fleet__list {
	margin-top: 80px;
}

.p-area-fleet__item {
	position: relative;
	padding: 48px 32px 56px;
	background-color: var(--color-gray-light);
}

.p-area-fleet__item:not(:first-child) {
	margin-top: 80px;
}

.p-area-fleet__inner {
	max-width: 700px;
	margin-inline: auto;
}

.p-area-fleet__heading {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	inset: 0 0 auto;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	min-height: 48px;
	margin-inline: auto;
	padding: 8px 20px;
	background-color: var(--color-main);
	color: #fff;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.2;
	translate: 0 -50%;
}

.p-area-fleet__slide {
	margin-inline: -50px !important;
}

.p-area-fleet__slide .swiper-slide {
	overflow: hidden;
	text-align: center;
}

.p-area-fleet__contents {
	margin-top: 20px;
}

.p-area-fleet__heading-sub {
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
}

.p-area-fleet__text {
	margin-top: 24px;
}

.p-area-fleet__text p {
	line-height: 2;
}

.p-area-fleet__text p:not(:first-child) {
	margin-top: 1.5em;
}

.p-area-fleet__spec {
	margin-top: 24px;
	border-block: 1px solid;
	background-color: var(--color-gray-blue);
}

.p-area-fleet__spec > div {
	display: grid;
	align-items: center;
	grid-template-columns: 100px 1fr;
	min-height: 72px;
	padding: 12px 24px;
}

.p-area-fleet__spec > div:not(:first-child) {
	border-top: 1px solid;
}

.p-area-fleet__spec dt {
	font: italic 500 2.4rem/1 var(--font-en);
}

.p-area-fleet .swiper-pagination {
	position: static;
	display: flex;
	justify-content: center;
	gap: 12px;
	margin-top: 40px;
}

.p-area-fleet .swiper-pagination-bullet {
	opacity: 1;
	width: 12px;
	height: 12px;
	margin-inline: 0 !important;
	border-radius: 100%;
	background-color: var(--color-gray-blue);
}

.p-area-fleet .swiper-pagination-bullet-active {
	background-color: var(--color-accent-orange);
}

.p-area-fleet .swiper-button-prev, .p-area-fleet .swiper-button-next {
	display: block;
	width: 50px;
	height: 50px;
	border-radius: 100%;
	background-color: var(--color-main);
	color: #fff;
	transition: opacity .3s;
}

.p-area-fleet .swiper-button-prev:after, .p-area-fleet .swiper-button-next:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 13px;
	height: 18px;
	background-color: #fff;
	-webkit-mask: url(/assets/img/common/ic_arrow_btn.svg) center/contain no-repeat;
	mask: url(/assets/img/common/ic_arrow_btn.svg) center/contain no-repeat;
	translate: -50% -50%;
}

@media (any-hover: hover) {
	.p-area-fleet .swiper-button-prev:hover, .p-area-fleet .swiper-button-next:hover {
		opacity: var(--opacity-value);
	}
}
.p-area-fleet .swiper-button-prev {
	left: 0;
}

.p-area-fleet .swiper-button-prev:after {
	rotate: 180deg;
	translate: calc(-50% - 1px) -50%;
}

.p-area-fleet .swiper-button-next {
	right: 0;
}

.p-area-fleet .swiper-button-next:after {
	translate: calc(-50% + 1px) -50%;
}

@media (max-width: 767px) {
	.p-area-fleet {
		padding-block: calc(80 / var(--base-number-sp) * 100vw);
	}
	.p-area-fleet__list {
		margin-top: calc(60 / var(--base-number-sp) * 100vw);
	}
	.p-area-fleet__item {
		margin-inline: calc(50% - 50vw);
		padding: calc(40 / var(--base-number-sp) * 100vw) calc(50vw - 50%);
	}
	.p-area-fleet__item:not(:first-child) {
		margin-top: calc(80 / var(--base-number-sp) * 100vw);
	}
	.p-area-fleet__item:first-child .p-area-fleet__slide .swiper-slide img {
		translate: calc(48 / var(--base-number-sp) * 100vw);
	}
	.p-area-fleet__item:last-child .p-area-fleet__slide .swiper-slide img {
		translate: calc(-28 / var(--base-number-sp) * 100vw);
	}
	.p-area-fleet__inner {
		max-width: none;
	}
	.p-area-fleet__heading {
		min-height: calc(44 / var(--base-number-sp) * 100vw);
		padding: calc(8 / var(--base-number-sp) * 100vw) calc(20 / var(--base-number-sp) * 100vw);
		font-size: calc(20 / var(--base-number-sp) * 100vw);
	}
	.p-area-fleet__slide {
		margin-inline: calc(50% - 50vw) !important;
	}
	.p-area-fleet__contents {
		margin-top: calc(28 / var(--base-number-sp) * 100vw);
	}
	.p-area-fleet__heading-sub {
		font-size: calc(20 / var(--base-number-sp) * 100vw);
	}
	.p-area-fleet__text {
		margin-top: calc(20 / var(--base-number-sp) * 100vw);
	}
	.p-area-fleet__text p {
		line-height: 1.75;
	}
	.p-area-fleet__spec {
		margin-top: calc(24 / var(--base-number-sp) * 100vw);
	}
	.p-area-fleet__spec > div {
		align-items: baseline;
		grid-template-columns: 5em 1fr;
		min-height: auto;
		padding: calc(16 / var(--base-number-sp) * 100vw) calc(20 / var(--base-number-sp) * 100vw);
	}
	.p-area-fleet__spec dt {
		font-size: calc(24 / var(--base-number-sp) * 100vw);
	}
	.p-area-fleet .swiper-pagination {
		gap: calc(12 / var(--base-number-sp) * 100vw);
		margin-top: calc(28 / var(--base-number-sp) * 100vw);
	}
	.p-area-fleet .swiper-pagination-bullet {
		width: calc(12 / var(--base-number-sp) * 100vw);
		height: calc(12 / var(--base-number-sp) * 100vw);
	}
	.p-area-fleet .swiper-button-prev, .p-area-fleet .swiper-button-next {
		width: calc(40 / var(--base-number-sp) * 100vw);
		height: calc(40 / var(--base-number-sp) * 100vw);
		box-shadow: 0 0 calc(10 / var(--base-number-sp) * 100vw) #e6e6e8;
	}
	.p-area-fleet .swiper-button-prev:after, .p-area-fleet .swiper-button-next:after {
		width: calc(10 / var(--base-number-sp) * 100vw);
		height: calc(16 / var(--base-number-sp) * 100vw);
	}
	.p-area-fleet .swiper-button-prev {
		left: calc(24 / var(--base-number-sp) * 100vw);
	}
	.p-area-fleet .swiper-button-prev:after {
		translate: calc(-50% - 1 / var(--base-number-sp) * 100vw) -50%;
	}
	.p-area-fleet .swiper-button-next {
		right: calc(24 / var(--base-number-sp) * 100vw);
	}
	.p-area-fleet .swiper-button-next:after {
		translate: calc(-50% + 1 / var(--base-number-sp) * 100vw) -50%;
	}
}
/* p-area-delivery */
.p-area-delivery {
	padding-block: 120px;
	background-color: #fff;
}

.p-area-delivery__image {
	margin-top: 60px;
	background-color: var(--color-gray);
	text-align: center;
}

.p-area-delivery__text {
	margin-top: 40px;
	line-height: 2;
}

@media (max-width: 767px) {
	.p-area-delivery {
		padding-block: calc(80 / var(--base-number-sp) * 100vw);
	}
	.p-area-delivery__image {
		margin-top: calc(54 / var(--base-number-sp) * 100vw);
	}
	.p-area-delivery__image img {
		width: 100%;
	}
	.p-area-delivery__text {
		margin-top: calc(40 / var(--base-number-sp) * 100vw);
		line-height: 1.75;
	}
}
/* p-area-recruit */
.p-area-recruit {
	padding-block: 120px;
	background-color: var(--color-main);
	color: #fff;
}

.p-area-recruit__image {
	margin-top: 60px;
	text-align: center;
}

.p-area-recruit__text {
	margin-top: 40px;
	line-height: 2;
}

.p-area-recruit__list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 40px;
	margin-top: 88px;
}

.p-area-recruit__list li a {
	display: block;
	position: relative;
}

.p-area-recruit__list li a::before, .p-area-recruit__list li a::after {
	content: "";
	position: absolute;
	z-index: 3;
	transition: .3s;
}

.p-area-recruit__list li a::before {
	right: 0;
	bottom: 0;
	width: 64px;
	height: 64px;
	border: 2px solid var(--color-accent-red);
	background-color: var(--color-accent-red);
}

.p-area-recruit__list li a::after {
	right: 24px;
	bottom: 22px;
	width: 13px;
	height: 21px;
	background-color: #fff;
	-webkit-mask: url(/assets/img/common/ic_arrow_btn.svg) center/contain no-repeat;
	mask: url(/assets/img/common/ic_arrow_btn.svg) center/contain no-repeat;
}

@media (any-hover: hover) {
	.p-area-recruit__list li a:hover::before {
		background-color: #fff;
	}
	.p-area-recruit__list li a:hover::after {
		background-color: var(--color-accent-red);
	}
	.p-area-recruit__list li a:hover img {
		scale: 1.03;
	}
}
.p-area-recruit__list li b {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 3;
	min-height: 48px;
	margin-inline: auto;
	padding: 8px 20px;
	background-color: var(--color-gray);
	color: var(--color-main);
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.2;
	translate: 0 -50%;
}

.p-area-recruit__list li span {
	overflow: hidden;
	display: block;
}

.p-area-recruit__list li img {
	width: 100%;
	transition: scale .3s;
}

.p-area-recruit .l-join {
	margin-top: 120px;
}

.p-area-recruit .l-join .l-wrap {
	gap: 24px;
	min-height: 280px;
}

.p-area-recruit .l-join__heading {
	color: var(--color-main);
	font-size: 6.4rem;
}

.p-area-recruit .l-join__btn {
	max-width: 248px;
}

.p-area-recruit .l-join__btn a {
	height: 60px;
	font-size: 2rem;
}

@media (max-width: 767px) {
	.p-area-recruit {
		padding-block: calc(80 / var(--base-number-sp) * 100vw);
	}
	.p-area-recruit__image {
		margin: calc(54 / var(--base-number-sp) * 100vw) calc(50% - 50vw) 0;
	}
	.p-area-recruit__image img {
		width: 100%;
	}
	.p-area-recruit__text {
		margin-top: calc(40 / var(--base-number-sp) * 100vw);
		line-height: 1.75;
	}
	.p-area-recruit__list {
		grid-template-columns: auto;
		gap: calc(88 / var(--base-number-sp) * 100vw);
		margin-top: calc(68 / var(--base-number-sp) * 100vw);
	}
	.p-area-recruit__list li a::before {
		width: calc(54 / var(--base-number-sp) * 100vw);
		height: calc(54 / var(--base-number-sp) * 100vw);
	}
	.p-area-recruit__list li a::after {
		right: calc(20 / var(--base-number-sp) * 100vw);
		bottom: calc(18 / var(--base-number-sp) * 100vw);
		width: calc(10 / var(--base-number-sp) * 100vw);
		height: calc(16 / var(--base-number-sp) * 100vw);
	}
	.p-area-recruit__list li b {
		min-height: calc(48 / var(--base-number-sp) * 100vw);
		padding: calc(8 / var(--base-number-sp) * 100vw) calc(20 / var(--base-number-sp) * 100vw);
		font-size: calc(20 / var(--base-number-sp) * 100vw);
	}
	.p-area-recruit .l-join {
		margin: calc(60 / var(--base-number-sp) * 100vw) calc(50% - 50vw) 0;
	}
	.p-area-recruit .l-join .l-wrap {
		gap: calc(16 / var(--base-number-sp) * 100vw);
		min-height: calc(212 / var(--base-number-sp) * 100vw);
	}
	.p-area-recruit .l-join__heading {
		font-size: calc(44 / var(--base-number-sp) * 100vw);
	}
	.p-area-recruit .l-join__btn {
		max-width: calc(248 / var(--base-number-sp) * 100vw);
	}
	.p-area-recruit .l-join__btn a {
		height: calc(60 / var(--base-number-sp) * 100vw);
		font-size: calc(20 / var(--base-number-sp) * 100vw);
	}
}
/* p-area-philosophy */
.p-area-philosophy {
	padding-block: 120px;
	background-color: var(--color-gray-dark);
}

.p-area-philosophy__unit {
	counter-reset: count-roman;
	max-width: 700px;
	margin: 60px auto 0;
}

.p-area-philosophy__heading {
	font-size: 2.4rem;
	font-weight: 700;
	text-align: center;
}

.p-area-philosophy__list {
	counter-reset: count;
}

.p-area-philosophy__list.-base {
	margin-top: 20px;
}

.p-area-philosophy__list.-base li {
	padding-left: 44px;
}

.p-area-philosophy__list.-base li::before {
	content: "一、";
}

.p-area-philosophy__list.-base li:not(:first-child) {
	margin-top: 20px;
}

.p-area-philosophy__list li {
	counter-increment: count;
	position: relative;
	padding-left: 32px;
	line-height: 2;
}

.p-area-philosophy__list li::before {
	content: counter(count) ".";
	position: absolute;
	top: 0;
	left: 0;
}

.p-area-philosophy__policy {
	display: flex;
	align-items: center;
	justify-content: center;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	min-height: 48px;
	margin: 64px auto 0;
	padding: 8px 20px;
	background-color: var(--color-main);
	color: #fff;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.2;
}

.p-area-philosophy__heading-sub {
	counter-increment: count-roman;
	position: relative;
	margin-top: 24px;
	padding-left: 32px;
	font-size: 1.8rem;
	font-weight: 700;
}

.p-area-philosophy__heading-sub::before {
	content: counter(count-roman, upper-roman);
	position: absolute;
	top: 0;
	left: 0;
}

@media (max-width: 767px) {
	.p-area-philosophy {
		padding-block: calc(80 / var(--base-number-sp) * 100vw);
	}
	.p-area-philosophy__unit {
		max-width: none;
		margin-top: calc(54 / var(--base-number-sp) * 100vw);
	}
	.p-area-philosophy__heading {
		font-size: calc(32 / var(--base-number-sp) * 100vw);
	}
	.p-area-philosophy__list.-base {
		margin-top: calc(20 / var(--base-number-sp) * 100vw);
	}
	.p-area-philosophy__list.-base li {
		padding-left: calc(44 / var(--base-number-sp) * 100vw);
	}
	.p-area-philosophy__list.-base li:not(:first-child) {
		margin-top: calc(16 / var(--base-number-sp) * 100vw);
	}
	.p-area-philosophy__list li {
		padding-left: calc(32 / var(--base-number-sp) * 100vw);
		line-height: 1.75;
	}
	.p-area-philosophy__policy {
		min-height: calc(48 / var(--base-number-sp) * 100vw);
		margin-top: calc(60 / var(--base-number-sp) * 100vw);
		padding: calc(8 / var(--base-number-sp) * 100vw) calc(20 / var(--base-number-sp) * 100vw);
		font-size: calc(20 / var(--base-number-sp) * 100vw);
	}
	.p-area-philosophy__heading-sub {
		margin-top: calc(24 / var(--base-number-sp) * 100vw);
		padding-left: calc(32 / var(--base-number-sp) * 100vw);
		font-size: calc(18 / var(--base-number-sp) * 100vw);
	}
	.p-area-philosophy .c-group-header__en {
		font-size: calc(64 / var(--base-number-sp) * 100vw);
	}
}
/* p-area-company */
.p-area-company {
	padding-block: 120px;
}

.p-area-company__heading {
	font-size: 2.4rem;
	font-weight: 700;
	text-align: center;
}

.p-area-company__table {
	max-width: 700px;
	margin: 36px auto 0;
}

.p-area-company__table table {
	width: 100%;
}

.p-area-company__table table th, .p-area-company__table table td {
	height: 65px;
	padding-block: 16px;
	border-block: 1px solid;
	line-height: 2;
	vertical-align: middle;
}

.p-area-company__table table th {
	width: 156px;
	padding-left: 40px;
	text-align: left;
}

.p-area-company__table table td {
	padding-inline: 20px 40px;
}

.p-area-company__table table td ul {
	-webkit-column-count: 2;
	-moz-column-count: 2;
	column-count: 2;
	-webkit-column-gap: 20px;
	-moz-column-gap: 20px;
	column-gap: 20px;
}

.p-area-company__table table a {
	text-decoration: underline;
}

.p-area-company__table table a[href^="tel:"] {
	pointer-events: none;
	text-decoration: none;
}

@media (any-hover: hover) {
	.p-area-company__table table a:hover {
		text-decoration: none;
	}
}
.p-area-company__unit {
	display: flex;
	align-items: center;
	gap: 20px;
}

.p-area-company__contents {
	flex: 1;
}

.p-area-company__list > div {
	display: flex;
	gap: 1em;
}

.p-area-company__image {
	flex-basis: 214px;
}

@media (max-width: 767px) {
	.p-area-company {
		padding-block: calc(80 / var(--base-number-sp) * 100vw);
	}
	.p-area-company__heading {
		font-size: calc(24 / var(--base-number-sp) * 100vw);
	}
	.p-area-company__table {
		max-width: auto;
		margin-top: calc(36 / var(--base-number-sp) * 100vw);
	}
	.p-area-company__table table th, .p-area-company__table table td {
		height: calc(60 / var(--base-number-sp) * 100vw);
		padding-block: calc(16 / var(--base-number-sp) * 100vw);
		line-height: 1.5;
	}
	.p-area-company__table table th {
		width: calc(100 / var(--base-number-sp) * 100vw);
		padding-left: calc(10 / var(--base-number-sp) * 100vw);
	}
	.p-area-company__table table td {
		padding-inline: calc(20 / var(--base-number-sp) * 100vw) calc(16 / var(--base-number-sp) * 100vw);
	}
	.p-area-company__table table td ul {
		-webkit-column-count: auto;
		-moz-column-count: auto;
		column-count: auto;
	}
	.p-area-company__table table a[href^="tel:"] {
		pointer-events: auto;
	}
	.p-area-company__unit {
		display: block;
	}
	.p-area-company__image {
		margin-top: calc(12 / var(--base-number-sp) * 100vw);
	}
}
/* --------------------------------------------------
 INTERVIEW
-------------------------------------------------- */
/* p-anchor-interview */
.p-anchor-interview {
	display: flex;
	gap: 20px;
	margin-top: 56px;
}

.p-anchor-interview__item a {
	display: block;
}

@media (any-hover: hover) {
	.p-anchor-interview__item a:hover {
		opacity: var(--opacity-value);
	}
	.p-anchor-interview__item a:hover .p-anchor-interview__image img {
		scale: 1.03;
	}
}
.p-anchor-interview__image {
	overflow: hidden;
}

.p-anchor-interview__image img {
	width: 100%;
	transition: scale .3s;
}

.p-anchor-interview__name {
	margin-top: 20px;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.3;
}

.p-anchor-interview__text {
	margin-top: 16px;
	font-weight: 400;
}

@media (max-width: 767px) {
	.p-anchor-interview {
		overflow-x: auto;
		overflow-y: hidden;
		-ms-overflow-style: none;
		-webkit-overflow-scrolling: touch;
		gap: calc(12 / var(--base-number-sp) * 100vw);
		margin: calc(40 / var(--base-number-sp) * 100vw) calc(50% - 50vw) 0;
		padding: 0 calc(50vw - 50%) calc(12 / var(--base-number-sp) * 100vw);
		white-space: nowrap;
	}
	.p-anchor-interview__item {
		flex-shrink: 0;
		width: calc(104 / var(--base-number-sp) * 100vw);
	}
	.p-anchor-interview__name {
		margin-top: calc(12 / var(--base-number-sp) * 100vw);
		font-size: calc(18 / var(--base-number-sp) * 100vw);
	}
	.p-anchor-interview__text {
		margin-top: calc(14 / var(--base-number-sp) * 100vw);
	}
}
/* p-area-schedule */
.p-area-schedule {
	position: relative;
	z-index: 3;
	padding-bottom: 120px;
	color: #fff;
}

.p-area-schedule::before {
	content: "";
	position: absolute;
	inset: 1px 0 0;
	z-index: -1;
	background-color: var(--color-main);
}

.p-area-schedule__cutin {
	margin-bottom: 48px;
}

.p-area-schedule__item:not(:first-child) {
	margin-top: 52px;
}

.p-area-schedule__heading {
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.5;
}

.p-area-schedule__text {
	margin-top: 8px;
}

.p-area-schedule__list {
	margin-top: 20px;
	-webkit-column-count: 2;
	-moz-column-count: 2;
	column-count: 2;
	-webkit-column-gap: 40px;
	-moz-column-gap: 40px;
	column-gap: 40px;
}

.p-area-schedule__list > div {
	display: flex;
	align-items: center;
	min-height: 72px;
	padding: 8px 20px;
	background-color: var(--color-gray-blue);
	-webkit-column-break-inside: avoid;
	-moz-column-break-inside: avoid;
	break-inside: avoid;
}

.p-area-schedule__list > div:nth-child(even) {
	background-color: var(--color-gray-warm);
}

.p-area-schedule__list > div:not(:first-child) {
	margin-top: 4px;
}

.p-area-schedule__list dt, .p-area-schedule__list dd {
	color: var(--color-main);
	font-weight: 700;
}

.p-area-schedule__list dt {
	flex: 0 0 4.75em;
	padding-right: .75em;
}

.p-area-schedule__notes {
	margin-top: 20px;
	font-size: 2rem;
}

.p-area-schedule .swiper-slide {
	flex: 1;
}

.p-area-schedule .swiper-slide img {
	width: 100%;
}

.p-area-schedule .swiper-pagination, .p-area-schedule .swiper-button-prev, .p-area-schedule .swiper-button-next {
	display: none;
}

.p-area-schedule .p-anchor-interview {
	margin-top: 120px;
}

@media (max-width: 767px) {
	.p-area-schedule {
		padding-bottom: calc(56 / var(--base-number-sp) * 100vw);
	}
	.p-area-schedule__cutin {
		margin-bottom: calc(36 / var(--base-number-sp) * 100vw);
	}
	.p-area-schedule__item:not(:first-child) {
		margin-top: calc(36 / var(--base-number-sp) * 100vw);
	}
	.p-area-schedule__heading {
		font-size: calc(18 / var(--base-number-sp) * 100vw);
	}
	.p-area-schedule__text {
		margin-top: calc(12 / var(--base-number-sp) * 100vw);
	}
	.p-area-schedule__list {
		margin-top: calc(16 / var(--base-number-sp) * 100vw);
		-webkit-column-count: auto;
		-moz-column-count: auto;
		column-count: auto;
	}
	.p-area-schedule__list > div {
		min-height: calc(72 / var(--base-number-sp) * 100vw);
		padding: calc(8 / var(--base-number-sp) * 100vw) calc(20 / var(--base-number-sp) * 100vw);
	}
	.p-area-schedule__list > div:not(:first-child) {
		margin-top: calc(4 / var(--base-number-sp) * 100vw);
	}
	.p-area-schedule__notes {
		margin-top: calc(20 / var(--base-number-sp) * 100vw);
		font-size: calc(16 / var(--base-number-sp) * 100vw);
	}
	.p-area-schedule .swiper-slide {
		flex: 1 0 auto;
	}
	.p-area-schedule .swiper-pagination {
		bottom: calc(16 / var(--base-number-sp) * 100vw) !important;
		display: flex;
		justify-content: center;
		gap: calc(10 / var(--base-number-sp) * 100vw);
	}
	.p-area-schedule .swiper-pagination-bullet {
		opacity: 1;
		width: calc(8 / var(--base-number-sp) * 100vw);
		height: calc(8 / var(--base-number-sp) * 100vw);
		margin-inline: 0 !important;
		border-radius: 100%;
		background-color: var(--color-gray-blue);
	}
	.p-area-schedule .swiper-pagination-bullet-active {
		background-color: var(--color-accent-orange);
	}
	.p-area-schedule .swiper-button-prev, .p-area-schedule .swiper-button-next {
		display: block;
		width: calc(40 / var(--base-number-sp) * 100vw);
		height: calc(40 / var(--base-number-sp) * 100vw);
		border: 1px solid;
		border-radius: 100%;
		background-color: var(--color-main);
		color: #fff;
		box-shadow: 0 0 calc(10 / var(--base-number-sp) * 100vw) #e6e6e8;
		transition: opacity .3s;
	}
	.p-area-schedule .swiper-button-prev:after, .p-area-schedule .swiper-button-next:after {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		width: calc(10 / var(--base-number-sp) * 100vw);
		height: calc(16 / var(--base-number-sp) * 100vw);
		background-color: #fff;
		-webkit-mask: url(/assets/img/common/ic_arrow_btn.svg) center/contain no-repeat;
		mask: url(/assets/img/common/ic_arrow_btn.svg) center/contain no-repeat;
		translate: -50% -50%;
	}
}
@media (max-width: 767px) and (any-hover: hover) {
	.p-area-schedule .swiper-button-prev:hover, .p-area-schedule .swiper-button-next:hover {
		opacity: var(--opacity-value);
	}
}
@media (max-width: 767px) {
	.p-area-schedule .swiper-button-prev {
		left: calc(24 / var(--base-number-sp) * 100vw);
	}
	.p-area-schedule .swiper-button-prev:after {
		rotate: 180deg;
		translate: calc(-50% - 1 / var(--base-number-sp) * 100vw) -50%;
	}
	.p-area-schedule .swiper-button-next {
		right: calc(24 / var(--base-number-sp) * 100vw);
	}
	.p-area-schedule .swiper-button-next:after {
		translate: calc(-50% + 1 / var(--base-number-sp) * 100vw) -50%;
	}
	.p-area-schedule .p-anchor-interview {
		margin-top: calc(56 / var(--base-number-sp) * 100vw);
	}
}
/* p-area-interview */
.p-area-interview .l-wrap {
	padding-inline: 0;
}

.p-area-interview__item {
	display: grid;
	place-items: start;
	grid-template-columns: 50% min(520 / var(--base-number-view) * 100vw, 520px);
	gap: min(60 / var(--base-number-view) * 100vw, 60px);
	position: relative;
	z-index: 3;
	margin: -70px calc(50% - 50vw) 0;
	padding: 70px calc(50vw - 50%) 0;
}

.p-area-interview__item::before {
	content: "";
	position: absolute;
	inset: 70px 0 0;
	z-index: -1;
	background-color: var(--color-gray-dark);
}

.p-area-interview__item:nth-child(even)::before {
	background-color: transparent;
}

.p-area-interview__item:nth-child(even) .p-area-interview__number {
	right: min(50 / var(--base-number-view) * 100vw, 50px);
	left: auto;
}

.p-area-interview__item:nth-child(3) .p-area-interview__number, .p-area-interview__item:nth-child(4) .p-area-interview__number {
	color: #fff;
	text-shadow: 0 0 20px rgba(0, 0, 0, .4);
}

.p-area-interview__visual {
	position: sticky;
	top: 70px;
}

.p-area-interview__visual img {
	width: 100%;
}

.p-area-interview__number {
	position: absolute;
	top: min(50 / var(--base-number-view) * 100vw, 50px);
	left: min(50 / var(--base-number-view) * 100vw, 50px);
	z-index: 3;
	font-family: var(--font-en);
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1;
	text-align: center;
}

.p-area-interview__number b {
	display: block;
	font-family: var(--font-en);
	font-size: 9.2rem;
	line-height: .9;
}

.p-area-interview__contents {
	padding-block: 60px;
}

.p-area-interview__heading {
	font-size: 4rem;
	font-weight: 700;
	line-height: 1.316;
}

.p-area-interview__info {
	margin-top: 24px;
}

.p-area-interview__info dt {
	font-size: 2rem;
	font-weight: 700;
}

.p-area-interview__image {
	margin-top: 40px;
}

.p-area-interview__image ~ .p-area-interview__image {
	margin-top: 52px;
}

.p-area-interview__image img {
	width: 100%;
}

.p-area-interview__talk {
	margin-top: 20px;
}

.p-area-interview__talk dt {
	display: flex;
	gap: 6px;
	font-size: 2rem;
	font-weight: 700;
}

.p-area-interview__talk dt::before {
	content: "Q.";
	flex-shrink: 0;
}

.p-area-interview__talk dd {
	margin-top: 12px;
	line-height: 2;
}

@media (max-width: 767px) {
	.p-area-interview__item {
		display: block;
		margin-top: calc(-60 / var(--base-number-sp) * 100vw);
		padding-top: calc(60 / var(--base-number-sp) * 100vw);
	}
	.p-area-interview__item::before {
		top: calc(60 / var(--base-number-sp) * 100vw);
	}
	.p-area-interview__item:nth-child(even) .p-area-interview__number {
		right: calc(32 / var(--base-number-sp) * 100vw);
	}
	.p-area-interview__item:nth-child(3) .p-area-interview__number, .p-area-interview__item:nth-child(4) .p-area-interview__number {
		text-shadow: 0 0 calc(10 / var(--base-number-sp) * 100vw) rgba(0, 0, 0, .4);
	}
	.p-area-interview__visual {
		position: relative;
		top: auto;
	}
	.p-area-interview__number {
		top: calc(28 / var(--base-number-sp) * 100vw);
		left: calc(32 / var(--base-number-sp) * 100vw);
		font-size: calc(16 / var(--base-number-sp) * 100vw);
	}
	.p-area-interview__number b {
		font-size: calc(60 / var(--base-number-sp) * 100vw);
	}
	.p-area-interview__contents {
		padding: calc(32 / var(--base-number-sp) * 100vw) calc(32 / var(--base-number-sp) * 100vw) calc(60 / var(--base-number-sp) * 100vw);
	}
	.p-area-interview__heading {
		font-size: calc(38 / var(--base-number-sp) * 100vw);
	}
	.p-area-interview__info {
		margin-top: calc(12 / var(--base-number-sp) * 100vw);
	}
	.p-area-interview__info dt {
		font-size: calc(18 / var(--base-number-sp) * 100vw);
	}
	.p-area-interview__image {
		margin-top: calc(36 / var(--base-number-sp) * 100vw);
	}
	.p-area-interview__image ~ .p-area-interview__image {
		margin-top: calc(36 / var(--base-number-sp) * 100vw);
	}
	.p-area-interview__talk {
		margin-top: calc(24 / var(--base-number-sp) * 100vw);
	}
	.p-area-interview__talk dt {
		gap: calc(8 / var(--base-number-sp) * 100vw);
		font-size: calc(18 / var(--base-number-sp) * 100vw);
	}
	.p-area-interview__talk dd {
		margin-top: calc(12 / var(--base-number-sp) * 100vw);
		line-height: 1.75;
	}
}
/* --------------------------------------------------
 CAREER
-------------------------------------------------- */
/* p-area-plan */
.p-area-plan {
	padding-block: 120px;
	background-color: var(--color-gray-dark);
}

.p-area-plan__heading {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto;
	padding: 8px 16px;
	background-color: var(--color-main);
	color: #fff;
	font-size: 2rem;
	font-weight: 700;
	text-align: center;
}

.p-area-plan__unit {
	display: grid;
	grid-template-columns: min(400 / var(--base-number) * 100vw, 400px) 1fr;
	gap: min(40 / var(--base-number) * 100vw, 40px);
	margin-top: 40px;
}

.p-area-plan__image img {
	width: 100%;
}

.p-area-plan__text {
	line-height: 2;
}

@media (max-width: 767px) {
	.p-area-plan {
		padding-block: calc(60 / var(--base-number-sp) * 100vw);
	}
	.p-area-plan__heading {
		width: auto;
		padding: calc(4 / var(--base-number-sp) * 100vw) calc(10 / var(--base-number-sp) * 100vw);
		font-size: calc(20 / var(--base-number-sp) * 100vw);
	}
	.p-area-plan__unit {
		grid-template-columns: auto;
		gap: calc(24 / var(--base-number-sp) * 100vw);
		margin-top: calc(40 / var(--base-number-sp) * 100vw);
	}
	.p-area-plan__text {
		line-height: 1.625;
	}
}
/* p-block-example */
.p-block-example {
	margin-top: 56px;
	padding: 32px;
	background-color: #fff;
	text-align: center;
}

.p-block-example__heading {
	font-weight: 700;
	line-height: 1.3;
}

.p-block-example__list {
	display: flex;
	justify-content: center;
	gap: min(32 / var(--base-number) * 100vw, 32px);
	margin-top: 20px;
}

.p-block-example__list li {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	min-width: min(104 / var(--base-number) * 100vw, 104px);
	min-height: 56px;
	padding: 4px min(32 / var(--base-number) * 100vw, 32px);
	background-color: var(--color-gray);
	line-height: 1.3;
}

.p-block-example__list li:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 50%;
	left: calc(100% + min(12 / var(--base-number-view) * 100vw, 12px));
	width: 10px;
	height: 14px;
	background-color: var(--color-main);
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	translate: 0 -50%;
}

@media (max-width: 767px) {
	.p-block-example {
		margin-top: calc(36 / var(--base-number-sp) * 100vw);
		padding: calc(24 / var(--base-number-sp) * 100vw);
	}
	.p-block-example__list {
		gap: calc(20 / var(--base-number-sp) * 100vw);
		margin-top: calc(12 / var(--base-number-sp) * 100vw);
	}
	.p-block-example__list li {
		min-width: auto;
		min-height: auto;
		padding: calc(12 / var(--base-number-sp) * 100vw);
		-webkit-writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
	}
	.p-block-example__list li:not(:last-child)::after {
		left: calc(100% + 6 / var(--base-number-sp) * 100vw);
		width: calc(10 / var(--base-number-sp) * 100vw);
		height: calc(14 / var(--base-number-sp) * 100vw);
	}
}
/* p-area-system */
.p-area-system {
	padding-block: 120px;
	background-color: var(--color-main);
	color: #fff;
}

.p-area-system__heading {
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.3;
}

.p-area-system__list {
	margin-top: 48px;
}

.p-area-system__list > div:not(:first-child) {
	margin-top: 48px;
}

.p-area-system__list dt {
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.5;
}

.p-area-system__list dd {
	margin-top: 16px;
	line-height: 2;
}

@media (max-width: 767px) {
	.p-area-system {
		padding-block: calc(60 / var(--base-number-sp) * 100vw);
	}
	.p-area-system__heading {
		font-size: calc(20 / var(--base-number-sp) * 100vw);
	}
	.p-area-system__list {
		margin-top: calc(32 / var(--base-number-sp) * 100vw);
	}
	.p-area-system__list > div:not(:first-child) {
		margin-top: calc(24 / var(--base-number-sp) * 100vw);
	}
	.p-area-system__list dt {
		font-size: calc(18 / var(--base-number-sp) * 100vw);
	}
	.p-area-system__list dd {
		line-height: 1.75;
	}
}
/* p-area-feature */
.p-area-feature {
	padding-block: 120px;
	background-color: var(--color-gray-warm);
}

.p-area-feature__heading {
	line-height: 1;
}

.p-area-feature__name {
	margin-top: 16px;
	font-size: 2rem;
	font-weight: 700;
}

.p-area-feature__name span {
	font-size: 1.6rem;
}

.p-area-feature__image {
	text-align: center;
}

.p-area-feature__contents {
	margin-top: 40px;
}

.p-area-feature__text {
	margin-top: 40px;
}

.p-area-feature__text p {
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 2;
}

.p-area-feature__text p:not(:first-child) {
	margin-top: 1.5em;
}

.p-area-feature__text p b {
	color: var(--color-accent-orange);
}

@media (max-width: 767px) {
	.p-area-feature {
		padding-block: calc(60 / var(--base-number-sp) * 100vw);
	}
	.p-area-feature__heading img {
		width: 100%;
	}
	.p-area-feature__name {
		margin-top: calc(16 / var(--base-number-sp) * 100vw);
		font-size: calc(20 / var(--base-number-sp) * 100vw);
	}
	.p-area-feature__name span {
		font-size: calc(16 / var(--base-number-sp) * 100vw);
	}
	.p-area-feature__image img {
		width: 100%;
	}
	.p-area-feature__contents {
		margin-top: calc(40 / var(--base-number-sp) * 100vw);
	}
	.p-area-feature__text {
		margin-top: calc(28 / var(--base-number-sp) * 100vw);
	}
	.p-area-feature__text p {
		font-size: calc(18 / var(--base-number-sp) * 100vw);
		line-height: 1.75;
	}
}