body {
	font-family: "Noto Sans JP", sans-serif;
}

.u-desktop {
	display: block;
}

.u-mobile {
	display: none;
}

/* リキッドレイアウト対応 */

html {
	font-size: 16px;
}

/* pcの電話番号発信対応 */

a[href^="tel:"] {
	pointer-events: none;
}

/* ホバー */

a {
	-webkit-text-decoration: none;
	color: inherit;
	text-decoration: none;
	transition: opacity 0.3s;
}

a:hover {
	opacity: 0.8;
}

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

/* Remove default padding */

ul,
ol {
	padding: 0;
}

/* Remove default margin */

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
	margin: 0;
}

/* Set core root defaults */

html {
	scroll-behavior: smooth;
	scroll-padding-top: 5.625rem;
}

/* Set core body defaults */

body {
	line-height: 1.5;
	min-height: 100vh;
	text-rendering: optimizeSpeed;
}

/* Remove list styles on ul, ol elements with a class attribute */

ul,
ol {
	list-style: none;
}

/* A elements that don't have a class get default styles */

a:not([class]) {
	-webkit-text-decoration-skip: ink;
	text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

img {
	display: block;
	max-width: 100%;
	width: 100%;
}

/* Natural flow and rhythm in articles by default */

article > * + * {
	margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
	font: inherit;
}

/* Blur images when they have no alt attribute */

img:not([alt]) {
	filter: blur(10px);
}

/* フォームリセット */

input,
button,
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border: none;
	border-radius: 0;
	font: inherit;
	outline: none;
}

textarea {
	resize: vertical;
}

input[type=checkbox],
input[type=radio] {
	display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
	cursor: pointer;
}

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

.c-bar-dot {
	background-color: transparent;
	background-image: radial-gradient(circle 0.375rem at 0.375rem 0.8125rem, #ffeb00 99%, transparent 100%);
	background-repeat: no-repeat;
	display: inline-block;
	flex: 0 0 auto;
	height: 1.1875rem;
	margin-right: 1.125rem;
	position: relative;
	vertical-align: middle;
	width: 1.1875rem;
	z-index: 1;
}

.c-bar-dot::before {
	background-color: #ff0045;
	border-radius: 50%;
	content: "";
	height: 0.75rem;
	left: 0.0625rem;
	position: absolute;
	top: 0;
	width: 0.75rem;
}

.c-bar-dot::after {
	background-color: #00b1ff;
	border-radius: 50%;
	content: "";
	height: 0.75rem;
	left: 0.4375rem;
	position: absolute;
	top: 0.25rem;
	width: 0.75rem;
}

.c-bar {
	align-items: center;
	background-color: #003865;
	border-radius: 1rem;
	color: #fff;
	display: flex;
	font-size: 1.5rem;
	font-weight: 700;
	min-height: 5rem;
	overflow: hidden;
	padding: 1rem 2rem;
	position: relative;
	z-index: 0;
}

.c-bar::before {
	background-image: url("../images/common/factory-bar-rainbow.png");
	background-position: center;
	background-size: cover;
	bottom: 0;
	content: "";
	left: 0;
	mix-blend-mode: lighten;
	opacity: 0.3;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
}

.c-button {
	-moz-column-gap: 0.75rem;
	align-items: center;
	background-color: #006ec6;
	background-image: linear-gradient(90deg, #024a9e 0%, #0d8ad0 100%), linear-gradient(90deg, #006ec6 0%, #24b3de 100%);
	background-position: left center, center center;
	background-repeat: no-repeat;
	background-size: 0% 100%, 100% 100%;
	border-radius: 3.125rem;
	color: #fff;
	column-gap: 0.75rem;
	display: inline-flex;
	font-size: 1rem;
	font-weight: 700;
	height: 3rem;
	justify-content: center;
	transition: background-size 0.4s ease;
	width: 10rem;
}

.c-button[data-inview] {
	transition: opacity 0.8s ease, transform 0.9s cubic-bezier(0.22, 1, 0.36, 1), background-size 0.4s ease;
}

.c-button:hover {
	background-size: 100% 100%, 100% 100%;
}

.c-button::after {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='13' viewBox='0 0 8 13'%3E%3Cpath d='M1.5 0L0 1.5 5 6.5 0 11.5 1.5 13 8 6.5z' fill='%23fff'/%3E%3C/svg%3E") no-repeat center/contain;
	background-color: #fff;
	content: "";
	height: 0.8125rem;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='13' viewBox='0 0 8 13'%3E%3Cpath d='M1.5 0L0 1.5 5 6.5 0 11.5 1.5 13 8 6.5z' fill='%23fff'/%3E%3C/svg%3E") no-repeat center/contain;
	transition: transform 0.3s ease;
	width: 0.5rem;
}

.c-button:hover::after {
	transform: translateX(0.25rem);
}

.c-heading {
	display: flex;
	flex-direction: column;
}

.c-heading__en + .c-heading__ja {
	margin-top: 0.375rem;
}

.c-heading + * {
	margin-top: 1.5rem;
}

.c-heading--mt {
	margin-top: 4.75rem;
}

.c-heading__en {
	color: #707070;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	line-height: 2;
	opacity: 0.3987;
}

.c-heading__ja {
	color: #003865;
	font-size: 2.5rem;
	font-weight: 800;
	line-height: 1.2;
}

.c-heading__catch {
	color: #111;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1.4;
	margin-top: 4.5rem;
}

.c-section-title {
	position: relative;
	z-index: 1;
}

.c-section-title__en {
	color: #111;
	font-family: "Ubuntu", sans-serif;
	font-size: 4rem;
	font-style: italic;
	font-weight: 700;
	line-height: 1.15;
}

.c-section-title__ja {
	color: #111;
	font-size: 1rem;
	font-weight: 700;
	margin-top: 0.5rem;
}

.c-section-title--light .c-section-title__en,
.c-section-title--light .c-section-title__ja {
	color: #fff;
}

.p-feature .c-section-title__en,
.p-feature .c-section-title__ja,
.p-why__en,
.p-why__ja,
.p-news__en,
.p-news__ja,
.p-contact__en,
.p-contact__ja {
	overflow: hidden;
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
}

.p-feature .c-mask__inner,
.p-why__en .c-mask__inner,
.p-why__ja .c-mask__inner,
.p-news__en .c-mask__inner,
.p-news__ja .c-mask__inner,
.p-contact__en .c-mask__inner,
.p-contact__ja .c-mask__inner {
	display: inline-block;
	opacity: 0;
}

.p-feature .c-section-title__en::after,
.p-feature .c-section-title__ja::after,
.p-why__en::after,
.p-why__ja::after,
.p-news__en::after,
.p-news__ja::after,
.p-contact__en::after,
.p-contact__ja::after {
	background-color: #003865;
	bottom: 0;
	content: "";
	left: 0;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	right: 100%;
	top: 0;
	z-index: 5;
}

.p-feature .c-section-title[data-inview],
.p-why__head[data-inview],
.p-news__head[data-inview],
.p-contact__title[data-inview] {
	opacity: 1;
	transform: none;
}

.p-feature .c-section-title.is-inview .c-section-title__en::after,
.p-why__head.is-inview .p-why__en::after,
.p-news__head.is-inview .p-news__en::after,
.p-contact__title.is-inview .p-contact__en::after {
	animation: c-mask-bar 1s cubic-bezier(0.77, 0, 0.175, 1) 0s backwards;
	animation: c-mask-bar 1s cubic-bezier(0.77, 0, 0.175, 1) var(--delay, 0s) backwards;
	opacity: 1;
}

.p-feature .c-section-title.is-inview .c-section-title__ja::after,
.p-why__head.is-inview .p-why__ja::after,
.p-news__head.is-inview .p-news__ja::after,
.p-contact__title.is-inview .p-contact__ja::after {
	animation: c-mask-bar 1s cubic-bezier(0.77, 0, 0.175, 1) 0.2s backwards;
	animation: c-mask-bar 1s cubic-bezier(0.77, 0, 0.175, 1) var(--delay-ja, 0.2s) backwards;
	opacity: 1;
}

.p-feature .c-section-title.is-inview .c-section-title__en .c-mask__inner,
.p-why__head.is-inview .p-why__en .c-mask__inner,
.p-news__head.is-inview .p-news__en .c-mask__inner,
.p-contact__title.is-inview .p-contact__en .c-mask__inner {
	animation: c-mask-show 1s linear 0s forwards;
	animation: c-mask-show 1s linear var(--delay, 0s) forwards;
}

.p-feature .c-section-title.is-inview .c-section-title__ja .c-mask__inner,
.p-why__head.is-inview .p-why__ja .c-mask__inner,
.p-news__head.is-inview .p-news__ja .c-mask__inner,
.p-contact__title.is-inview .p-contact__ja .c-mask__inner {
	animation: c-mask-show 1s linear 0.2s forwards;
	animation: c-mask-show 1s linear var(--delay-ja, 0.2s) forwards;
}

.l-feature-recruit-section {
	background-color: #f2f5f7;
	overflow: hidden;
	position: relative;
	z-index: 0;
}

.l-feature-recruit-section::before {
	background-image: url("../images/common/feature-texture.png");
	background-position: top left;
	background-repeat: no-repeat;
	background-size: 90rem 100%;
	bottom: 0;
	content: "";
	left: 0;
	mix-blend-mode: overlay;
	opacity: 0.904;
	pointer-events: none;
	position: absolute;
	right: auto;
	top: 0;
	width: 90rem;
	z-index: 3;
}

.l-feature-recruit-section::after {
	background-image: url("../images/common/feature-rainbow.jpg");
	background-position: top left;
	background-repeat: repeat;
	background-size: 90rem 150.0625rem;
	bottom: 0;
	content: "";
	left: 0;
	mix-blend-mode: soft-light;
	opacity: 0.8;
	pointer-events: none;
	position: absolute;
	right: auto;
	top: 0;
	width: 90rem;
	z-index: 2;
}

.l-feature-recruit-section > .p-why,
.l-feature-recruit-section > .p-news,
.l-feature-recruit-section > .l-feature-section,
.l-feature-recruit-section > .p-recruit {
	position: relative;
	z-index: 2;
}

.l-feature-recruit-section > .p-contact {
	position: relative;
	z-index: 4;
}

.l-feature-recruit-section > .p-mv {
	position: relative;
	z-index: 11;
}

.l-feature-recruit-section--sub::before,
.l-feature-recruit-section--sub::after {
	-webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 10rem);
	mask-image: linear-gradient(to bottom, transparent 0, #000 10rem);
}

.l-feature-section {
	background-color: #f2f5f7;
	position: relative;
	z-index: 0;
}

.l-feature-section::before {
	background-image: url("../images/common/feature-texture.png");
	background-position: top center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	bottom: 0;
	content: "";
	left: 0;
	mix-blend-mode: overlay;
	opacity: 0.904;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 0;
}

.l-feature-section > .p-feature {
	position: relative;
	z-index: 2;
}

.l-footer {
	position: relative;
}

.l-group__layout {
	display: flow-root;
}

.l-group__main {
	width: 100%;
}

.l-group__side {
	float: right;
	margin-left: 4.125rem;
	max-height: calc(100vh - 7.5rem);
	max-width: 15.875rem;
	overflow-y: auto;
	overscroll-behavior: contain;
	position: sticky;
	top: 6.25rem;
	width: 15.875rem;
	z-index: 2;
}

.l-header {
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 100;
}

.l-inner {
	height: inherit;
	margin: 0 auto;
	max-width: 1250px;
	padding-left: 25px;
	padding-right: 25px;
	width: 100%;
}

.l-lower__layout {
	align-items: flex-start;
	display: flex;
	position: relative;
	z-index: 1;
}

.l-lower__main {
	flex: 1 1 0;
	min-width: 0;
}

.l-lower__side {
	align-self: flex-start;
	margin-left: 4.125rem;
	max-height: calc(100vh - 7.5rem);
	overflow-y: auto;
	overscroll-behavior: contain;
	position: sticky;
	top: 6.25rem;
	width: 15.875rem;
	z-index: 20;
}

.l-lower__side--doc {
	margin-top: 1rem;
}

.l-main {
	background-color: #f2f5f7;
	padding-top: 5rem;
	position: relative;
}

.l-main > * {
	position: relative;
	z-index: 1;
}

.l-main:has(> .p-lower)::before,
.l-main:has(> .p-lower)::after {
	bottom: 0;
	content: "";
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 0;
}

.l-main:has(> .p-lower)::before {
	background-image: url("../images/common/company-bg-texture.png");
	background-position: center top;
	background-repeat: repeat;
	background-size: 100vw 166.7361vw;
	mix-blend-mode: overlay;
	opacity: 0.904;
}

.l-main:has(> .p-lower)::after {
	background-image: url("../images/common/company-bg-rainbow.jpg");
	background-position: center top;
	background-repeat: repeat-y;
	background-size: 100vw 166.7361vw;
	mix-blend-mode: soft-light;
}

.l-main > .p-lower {
	background-color: transparent;
}

.l-main > .p-lower::before,
.l-main > .p-lower::after {
	content: none;
}

.p-about__head--mt {
	margin-top: 4.5rem;
	padding-top: 3rem;
	position: relative;
}

.p-about__head--mt::before {
	background-image: linear-gradient(90deg, #006ec6 0%, #24b3de 100%);
	content: "";
	height: 0.0625rem;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.p-about__table {
	display: flex;
	flex-direction: column;
}

.p-about__row {
	-moz-column-gap: 1.5rem;
	align-items: stretch;
	column-gap: 1.5rem;
	display: flex;
	padding-bottom: 1.5rem;
	padding-top: 0;
}

.p-about__row dt {
	border-bottom: 0.125rem solid #003865;
	color: #003865;
	flex: 0 0 13.625rem;
	font-size: 1rem;
	font-weight: 700;
	padding-bottom: 0.875rem;
	width: 13.625rem;
}

.p-about__row dd {
	border-bottom: 0.0625rem solid #b2b2b2;
	color: #111;
	flex: 1 1 0;
	font-size: 1rem;
	line-height: 1.8;
	min-width: 0;
	padding-bottom: 1.5rem;
}

.p-about__note {
	font-size: 1rem;
}

.p-about__officers {
	display: flex;
	flex-direction: column;
	row-gap: 0.625rem;
}

.p-about__officers li {
	-moz-column-gap: 1.5rem;
	column-gap: 1.5rem;
	display: flex;
}

.p-about__officer-pos {
	flex: 0 0 8.75rem;
	white-space: nowrap;
	width: 8.75rem;
}

.p-access {
	display: flex;
	flex-direction: column;
	row-gap: 2.5rem;
}

.p-access__name {
	background-color: #dae1e6;
	border-radius: 0.5rem;
	color: #003865;
	font-size: 1.25rem;
	font-weight: 700;
	padding: 0.25rem 1.125rem;
}

.p-access__body {
	-moz-column-gap: 1.5rem;
	align-items: flex-start;
	column-gap: 1.5rem;
	display: flex;
	margin-top: 1.5rem;
}

.p-access__info {
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	min-width: 0;
	row-gap: 0.5rem;
}

.p-access__group {
	-moz-column-gap: 0.6875rem;
	align-items: stretch;
	column-gap: 0.6875rem;
	display: flex;
}

.p-access__label {
	align-items: center;
	background-color: #d3e1eb;
	border-radius: 0.25rem;
	color: #003865;
	display: flex;
	flex: 0 0 5.8125rem;
	font-size: 1rem;
	font-weight: 700;
	justify-content: center;
	padding: 0.9375rem 0;
	width: 5.8125rem;
}

.p-access__addr {
	align-items: center;
	background-color: rgba(255, 255, 255, 0.3995);
	border-radius: 0.25rem;
	color: #111;
	display: flex;
	flex: 1 1 0;
	font-size: 1rem;
	line-height: 1.5;
	min-width: 0;
	padding: 0.5rem 1rem;
}

.p-access__tels {
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	min-width: 0;
	row-gap: 0.5rem;
}

.p-access__tel {
	-moz-column-gap: 0.5625rem;
	align-items: stretch;
	column-gap: 0.5625rem;
	display: flex;
}

.p-access__dept {
	align-items: center;
	background-color: #dae1e6;
	border-radius: 0.25rem;
	color: #003865;
	display: flex;
	flex: 0 0 7.6875rem;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.4;
	padding: 0.5rem 0.75rem;
	width: 7.6875rem;
}

.p-access__nums {
	background-color: rgba(255, 255, 255, 0.3995);
	border-radius: 0.25rem;
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	padding: 0.5rem 1rem;
	row-gap: 0.5rem;
}

.p-access__num {
	-moz-column-gap: 0.5rem;
	align-items: center;
	color: #111;
	column-gap: 0.5rem;
	display: flex;
	font-size: 1rem;
}

.p-access__badge {
	align-items: center;
	background-color: #003865;
	border-radius: 0.25rem;
	display: inline-flex;
	flex: 0 0 1.25rem;
	height: 1.25rem;
	justify-content: center;
	width: 1.25rem;
}

.p-access__icon {
	display: block;
}

.p-access__map {
	align-self: stretch;
	border-radius: 0.25rem;
	flex: 0 0 24.1875rem;
	min-height: 15.75rem;
	overflow: hidden;
	width: 24.1875rem;
}

.p-access__map iframe {
	border: 0;
	display: block;
	filter: grayscale(1);
	height: 100%;
	min-height: 15.75rem;
	width: 100%;
}

.p-history {
	display: flex;
	flex-direction: column;
}

.p-history__block {
	align-items: flex-start;
	display: flex;
}

.p-history__block + .p-history__block {
	margin-top: 2.75rem;
}

.p-history__year {
	color: #003865;
	flex: 0 0 5.9375rem;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1;
	padding-top: 0.5rem;
	text-align: right;
	width: 5.9375rem;
}

.p-history__rows {
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	min-width: 0;
	padding-left: 4.125rem;
	position: relative;
	row-gap: 0.5rem;
}

.p-history__rows::before {
	background-color: #003865;
	bottom: 0;
	content: "";
	left: 1.625rem;
	position: absolute;
	top: 1.125rem;
	width: 0.125rem;
}

.p-history__block:not(:last-child) .p-history__rows::before {
	bottom: -3.75rem;
}

.p-history__row {
	position: relative;
}

.p-history__row::before {
	background-color: #dae1e6;
	border-radius: 50%;
	content: "";
	height: 1.5rem;
	left: -3.1875rem;
	position: absolute;
	top: 0.9375rem;
	width: 1.5rem;
	z-index: 1;
}

.p-history__row::after {
	background-color: #003865;
	border-radius: 50%;
	content: "";
	height: 0.875rem;
	left: -2.875rem;
	position: absolute;
	top: 1.25rem;
	width: 0.875rem;
	z-index: 2;
}

.p-history__bar {
	-moz-column-gap: 0;
	align-items: flex-start;
	background-color: rgba(211, 225, 235, 0.3);
	border-radius: 0.25rem;
	column-gap: 0;
	display: flex;
	overflow: hidden;
}

.p-history__month {
	align-self: stretch;
	background-color: #dae1e6;
	color: #111;
	display: flex;
	flex: 0 0 4.8125rem;
	font-size: 1.5rem;
	font-weight: 700;
	justify-content: center;
	padding: 0.625rem 0;
	width: 4.8125rem;
}

.p-history__detail {
	flex: 1 1 0;
	min-width: 0;
	padding: 0.9375rem 1.25rem;
}

.p-history__title {
	color: #111;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.5;
}

.p-history__title--lead {
	font-size: 1.125rem;
}

.p-history__body {
	-moz-column-gap: 2.1875rem;
	align-items: flex-start;
	column-gap: 2.1875rem;
	display: flex;
	margin-top: 0.6875rem;
}

.p-history__text {
	color: #111;
	flex: 1 1 0;
	font-size: 1rem;
	line-height: 1.75;
	min-width: 0;
}

.p-history__images {
	display: flex;
	flex: 0 0 auto;
	flex-wrap: wrap;
	gap: 1rem;
}

.p-history__images img {
	-o-object-fit: cover;
	aspect-ratio: 240/159;
	border-radius: 0.5rem;
	height: auto;
	max-width: 100%;
	object-fit: cover;
	width: 15rem;
}

.p-company__lead {
	color: #111;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 2;
	text-align: center;
}

.p-company__why {
	align-items: stretch;
	background-color: #fff;
	border-radius: 1rem;
	box-shadow: 0 0.5rem 1.875rem rgba(0, 56, 101, 0.08);
	display: flex;
	margin-top: 3.5rem;
	overflow: hidden;
}

.p-company__why-body {
	align-items: center;
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	justify-content: center;
	padding: 3rem 3.5rem;
	text-align: center;
}

.p-company__why-en {
	font-family: "Ubuntu", sans-serif;
	font-size: 3.25rem;
	font-style: italic;
	font-weight: 700;
	line-height: 1.1;
}

.p-company__why-grad {
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	background-image: linear-gradient(90deg, #1b2335 0%, #28243f 11%, #432f49 20%, #5e3e54 27%, #89715e 33%, #6c7667 40%, #506377 50%, #457987 58%, #70a6a9 66%, #9cb1b3 74%, #b0b2b3 82%, #a1a4a3 92%, #919b9c 100%);
	color: transparent;
	display: inline-block;
	display: inline-block;
	margin-right: -0.1em;
	padding-right: 0.1em;
}

.p-company__why-ja {
	color: #111;
	font-size: 0.9375rem;
	font-weight: 700;
	margin-top: 0.5rem;
}

.p-company__why-button {
	margin-top: 1.75rem;
}

.p-company__why-visual {
	flex: 0 0 51%;
	max-width: 51%;
}

.p-company__why-visual img {
	-o-object-fit: cover;
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.p-company__block {
	-moz-column-gap: 3rem;
	-o-border-image: linear-gradient(90deg, #006ec6 0%, #24b3de 100%) 1;
	align-items: flex-start;
	border-image: linear-gradient(90deg, #006ec6 0%, #24b3de 100%) 1;
	border-top: 0.0625rem solid transparent;
	column-gap: 3rem;
	display: flex;
	margin-top: 4rem;
	padding-top: 3rem;
}

.p-company__block--stack {
	align-items: stretch;
	flex-direction: column;
	row-gap: 1.5rem;
}

.p-company__block-head {
	flex: 0 0 21.0625rem;
	width: 21.0625rem;
}

.p-company__block--stack .p-company__block-head {
	flex-basis: auto;
	width: 100%;
}

.p-company__block-en {
	color: #707070;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	opacity: 0.3987;
}

.p-company__block-ja {
	color: #003865;
	font-size: 2.5rem;
	font-weight: 800;
	line-height: 1.2;
	margin-top: 0.5rem;
}

.p-company__block-desc {
	color: #111;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.6;
	margin-top: 1.25rem;
}

.p-company__block-desc--wide {
	font-size: 1.5rem;
}

.p-company__cards {
	grid-gap: 1.5rem;
	display: grid;
	flex: 1 1 0;
	gap: 1.5rem;
	min-width: 0;
}

.p-company__cards--2 {
	grid-template-columns: repeat(2, 1fr);
}

.p-company__cards--3 {
	grid-template-columns: repeat(3, 1fr);
}

.p-company__cards--1 {
	grid-template-columns: 1fr;
}

.p-company__card a {
	display: block;
}

.p-company__card-thumb {
	aspect-ratio: 384/236;
	border-radius: 0.75rem;
	display: block;
	overflow: hidden;
	position: relative;
}

.p-company__card--wide .p-company__card-thumb {
	aspect-ratio: 814/274;
}

.p-company__card-thumb img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
	width: 100%;
}

.p-company__card a:hover .p-company__card-thumb img {
	transform: scale(1.05);
}

.p-company__card-thumb::before {
	background-image: linear-gradient(135deg, white 0%, rgba(255, 255, 255, 0.2) 100%);
	bottom: 0;
	content: "";
	left: 0;
	mix-blend-mode: screen;
	opacity: 0.2447;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
}

.p-company__card-label {
	align-items: center;
	background-image: linear-gradient(180deg, rgba(0, 51, 92, 0) 0%, rgba(0, 29, 51, 0.95) 100%);
	bottom: 0;
	color: #fff;
	display: flex;
	font-size: 1.25rem;
	font-weight: 700;
	justify-content: space-between;
	left: 0;
	padding: 1rem 1.25rem;
	padding-top: 2.25rem;
	position: absolute;
	width: 100%;
	z-index: 2;
}

.p-company__card-arrow {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23fff' d='M256 0a256 256 0 1 0 0 512 256 256 0 1 0 0-512zM135 256c0-13.3 10.7-24 24-24l102.1 0-39-39c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39L159 280c-13.3 0-24-10.7-24-24z'/%3E%3C/svg%3E") no-repeat center/contain;
	background-color: #fff;
	flex: 0 0 auto;
	height: 1.5rem;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23fff' d='M256 0a256 256 0 1 0 0 512 256 256 0 1 0 0-512zM135 256c0-13.3 10.7-24 24-24l102.1 0-39-39c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39L159 280c-13.3 0-24-10.7-24-24z'/%3E%3C/svg%3E") no-repeat center/contain;
	position: relative;
	transition: transform 0.3s ease;
	width: 1.5rem;
}

.p-company__card a:hover .p-company__card-arrow {
	transform: translateX(0.25rem);
}

.p-company__card-text {
	color: #111;
	display: block;
	font-size: 1rem;
	line-height: 1.7;
	margin-top: 0.75rem;
}

.p-contact {
	align-items: center;
	background: linear-gradient(90deg, #393d44 0%, #3a383d 10%, #463d45 20%, #57494e 30%, #5c5a46 40%, #505658 50%, #414750 60%, #435058 70%, #636566 80%, #646464 90%, #4e585b 100%);
	color: #fff;
	display: flex;
	min-height: 10.25rem;
	padding-bottom: 0rem;
	padding-top: 0rem;
}

.p-contact__inner {
	-moz-column-gap: 2.5rem;
	align-items: center;
	column-gap: 2.5rem;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	row-gap: 0;
	width: 100%;
}

.p-contact__title {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	flex-shrink: 0;
}

.p-contact__body {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	row-gap: 0.75rem;
}

.p-contact__en {
	color: #fff;
	font-family: "Ubuntu", sans-serif;
	font-size: 3.375rem;
	font-style: italic;
	font-weight: 700;
	line-height: 1.1;
}

.p-contact__ja {
	color: #fff;
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	margin-top: 0.25rem;
}

.p-contact__text {
	color: #fff;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.5;
	text-align: left;
}

.p-contact__info {
	-moz-column-gap: 1.25rem;
	align-items: baseline;
	column-gap: 1.25rem;
	display: flex;
	flex-direction: row;
	flex-shrink: 0;
	row-gap: 0;
}

.p-contact__tel {
	-moz-column-gap: 0.625rem;
	-webkit-text-decoration: none;
	align-items: center;
	color: #fff;
	column-gap: 0.625rem;
	display: flex;
	text-decoration: none;
}

.p-contact__icon {
	align-items: center;
	color: #fff;
	display: inline-flex;
	height: 2.125rem;
	justify-content: center;
	width: 2.125rem;
}

.p-contact__icon svg {
	height: 100%;
	width: 100%;
}

.p-contact__num {
	color: #fff;
	font-size: 2.5rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1;
}

.p-contact__time {
	color: #fff;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.04em;
}

.p-culture__divider {
	background-image: linear-gradient(90deg, #006ec6 0%, #24b3de 100%);
	border: 0;
	height: 0.0625rem;
	margin-top: 5rem;
	width: 100%;
}

.p-culture__text {
	color: #111;
	font-size: 1rem;
	line-height: 2;
	margin-top: 3rem;
}

.p-culture__orgchart {
	background-color: #fff;
	border-radius: 1rem;
	display: flex;
	justify-content: center;
	padding: 3.0625rem 3.5625rem;
}

.p-culture__overview-figure {
	display: block;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}

.p-culture__overview-figure--pc {
	max-width: 47.875rem;
}

.p-culture__overview-figure--sp {
	display: none;
}

.p-culture__gallery {
	grid-gap: 1.3125rem;
	display: grid;
	gap: 1.3125rem;
	margin-top: 2rem;
}

.p-culture__gallery--4 {
	grid-template-columns: repeat(4, 1fr);
}

.p-culture__gallery--3 {
	grid-template-columns: repeat(3, 1fr);
}

.p-culture__gallery img {
	-o-object-fit: cover;
	aspect-ratio: 216/147;
	border-radius: 1rem;
	display: block;
	object-fit: cover;
	width: 100%;
}

.p-culture__gallery li {
	position: relative;
}

.p-culture__gallery li::before {
	background-image: linear-gradient(115deg, white 0%, rgba(255, 255, 255, 0.2) 100%);
	bottom: 0;
	content: "";
	left: 0;
	mix-blend-mode: screen;
	opacity: 0.458;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
}

.p-culture__gallery--3 img {
	aspect-ratio: 279/172;
}

.p-culture__quote {
	-moz-column-gap: 3rem;
	align-items: center;
	background-color: #fff;
	border-radius: 1rem;
	column-gap: 3rem;
	display: flex;
	margin-top: 3rem;
	padding: 2.5rem 3.25rem;
}

.p-culture__quote-body {
	flex: 1 1 0;
	min-width: 0;
}

.p-culture__quote-catch {
	color: #003865;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.5;
}

.p-culture__quote-text {
	color: #111;
	font-size: 1rem;
	line-height: 2;
	margin-top: 0.75rem;
}

.p-culture__quote-figure {
	flex: 0 0 11.875rem;
	text-align: center;
	width: 11.875rem;
}

.p-culture__quote-photo {
	border-radius: 50%;
	display: block;
	height: 10.5rem;
	margin-left: auto;
	margin-right: auto;
	overflow: hidden;
	width: 10.5rem;
}

.p-culture__quote-photo img {
	-o-object-fit: cover;
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.p-culture__quote-figure figcaption {
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.6;
	margin-top: 0.625rem;
	text-align: left;
}

.p-culture__quote-company {
	display: block;
}

.p-culture__quote-person {
	display: block;
	white-space: nowrap;
}

.p-culture__quote-role {
	margin-right: 0.5rem;
}

.p-culture__quote-name {
	font-size: 1.125rem;
	font-weight: 700;
}

.p-culture__subhead {
	margin-top: 4.5rem;
}

.p-culture__subhead--mt {
	margin-top: 3.5rem;
}

.p-culture__note {
	color: #111;
	font-size: 1rem;
	line-height: 1.5;
	margin-top: 1.5rem;
}

.p-culture__note + * {
	margin-top: 1.25rem;
}

.p-culture__records {
	display: flex;
	flex-direction: column;
	position: relative;
	row-gap: 3.5rem;
}

.p-culture__records::before {
	background-color: #003865;
	bottom: 0.875rem;
	content: "";
	left: 0.34375rem;
	position: absolute;
	top: 0.875rem;
	width: 0.3125rem;
	z-index: 0;
}

.p-culture__record {
	-moz-column-gap: 1.75rem;
	align-items: flex-start;
	column-gap: 1.75rem;
	display: flex;
	position: relative;
	z-index: 1;
}

.p-culture__record-period {
	color: #003865;
	flex: 0 0 14.0625rem;
	font-size: 1.5rem;
	font-weight: 700;
	padding-left: 1.75rem;
	position: relative;
}

.p-culture__record-period::before {
	background-color: #003865;
	border-radius: 50%;
	content: "";
	height: 1rem;
	left: 0;
	position: absolute;
	top: 0.375rem;
	width: 1rem;
	z-index: 1;
}

.p-culture__table {
	border-collapse: separate;
	border-spacing: 0.3125rem 0.25rem;
	width: 100%;
}

.p-culture__table th,
.p-culture__table td {
	font-size: 1rem;
	padding: 0.25rem 0.75rem;
	text-align: left;
	vertical-align: middle;
}

.p-culture__table th {
	background-color: #003865;
	color: #fff;
	font-weight: 700;
	height: 2rem;
	padding: 0 0.75rem;
	text-align: center;
}

.p-culture__table thead th:first-child {
	border-radius: 0.25rem;
}

.p-culture__table thead th:last-child {
	border-radius: 0.25rem;
}

.p-culture__record .p-culture__table {
	flex: 1 1 0;
}

.p-culture__record .p-culture__table thead th:first-child {
	width: 4.875rem;
}

.p-culture__record .p-culture__table tbody td:first-child {
	background-color: #dae1e6;
	border-radius: 0.25rem;
	font-weight: 700;
	text-align: center;
	white-space: nowrap;
	width: 4.875rem;
}

.p-culture__record .p-culture__table thead th:last-child,
.p-culture__record .p-culture__table tbody td:last-child {
	padding-left: 1.75rem;
}

.p-culture__record .p-culture__table tbody td:last-child {
	background: rgba(255, 255, 255, 0.3992);
	white-space: nowrap;
}

.p-culture__table--program {
	border-spacing: 0.5rem 0.5rem;
	table-layout: fixed;
}

.p-culture__table--program th {
	border-radius: 0.375rem;
}

.p-culture__table--program th:nth-child(1),
.p-culture__table--program td:nth-child(1) {
	width: 12.0625rem;
}

.p-culture__table--program th:nth-child(2),
.p-culture__table--program td:nth-child(2) {
	width: 24.9375rem;
}

.p-culture__table--program th:nth-child(3),
.p-culture__table--program td:nth-child(3) {
	width: 17rem;
}

.p-culture__table--program td {
	vertical-align: middle;
}

.p-culture__table--program td:nth-child(1) {
	background-color: #dae1e6;
	border-radius: 1rem 0 0 1rem;
	font-size: 1rem;
	font-weight: 500;
}

.p-culture__table--program td:nth-child(2) {
	background: rgba(255, 255, 255, 0.3999);
	font-weight: 700;
}

.p-culture__table--program td:nth-child(3) {
	background: rgba(255, 255, 255, 0.3999);
	border-radius: 0 1rem 1rem 0;
	font-size: 0.875rem;
	line-height: 1.7;
}

.p-culture__scroll {
	margin-top: 1.25rem;
	position: relative;
}

.p-culture__scroll-body {
	-webkit-overflow-scrolling: touch;
	overflow-x: auto;
}

.p-culture__scroll-body .p-culture__table--program {
	margin-top: 0;
	min-width: 55rem;
}

.p-culture__scroll-hint {
	animation: scroll-hint-shake 1.2s ease-in-out infinite;
	background-color: #fff;
	border-radius: 1rem;
	height: auto;
	left: 50%;
	padding: 0.8125rem 1rem 0.5625rem;
	pointer-events: none;
	position: absolute;
	top: 6.25rem;
	transform: translateX(-50%);
	transition: opacity 0.3s ease;
	width: 7.875rem;
	z-index: 2;
}

.p-culture__scroll-hint {
	display: none;
}

.p-culture__scroll.is-scrolled .p-culture__scroll-hint {
	animation: none;
	opacity: 0;
	pointer-events: none;
}

.p-equipment__lead-top {
	color: #111;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.66;
	text-align: center;
}

.p-equipment__intro {
	margin-top: 4rem;
	text-align: left;
}

.p-equipment__lead {
	color: #111;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.66;
	margin-top: 1.875rem;
}

.c-heading + .p-equipment__lead {
	margin-top: 1.875rem;
}

.p-equipment__cards {
	grid-gap: 1.5rem;
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 5rem;
}

.p-equipment__card a {
	display: block;
}

.p-equipment__card-thumb {
	aspect-ratio: 384/235;
	border-radius: 1rem;
	display: block;
	overflow: hidden;
	position: relative;
}

.p-equipment__card-thumb img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
	width: 100%;
}

.p-equipment__card a:hover .p-equipment__card-thumb img {
	transform: scale(1.05);
}

.p-equipment__card-thumb::before {
	background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.24) 0%, rgba(255, 255, 255, 0) 55%);
	bottom: 0;
	content: "";
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
}

.p-equipment__card-label {
	align-items: center;
	background-image: linear-gradient(180deg, rgba(0, 51, 92, 0) 0%, rgba(0, 29, 51, 0.95) 100%);
	bottom: 0;
	color: #fff;
	display: flex;
	font-size: 1.25rem;
	font-weight: 700;
	justify-content: space-between;
	left: 0;
	padding: 1rem 1.5rem;
	padding-top: 2.25rem;
	position: absolute;
	width: 100%;
	z-index: 2;
}

.p-equipment__card-arrow {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23fff' d='M256 0a256 256 0 1 0 0 512 256 256 0 1 0 0-512zM135 256c0-13.3 10.7-24 24-24l102.1 0-39-39c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39L159 280c-13.3 0-24-10.7-24-24z'/%3E%3C/svg%3E") no-repeat center/contain;
	background-color: #fff;
	border-radius: 50%;
	flex: 0 0 auto;
	height: 1.5rem;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23fff' d='M256 0a256 256 0 1 0 0 512 256 256 0 1 0 0-512zM135 256c0-13.3 10.7-24 24-24l102.1 0-39-39c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39L159 280c-13.3 0-24-10.7-24-24z'/%3E%3C/svg%3E") no-repeat center/contain;
	position: relative;
	transition: transform 0.3s ease;
	width: 1.5rem;
}

.p-equipment__card a:hover .p-equipment__card-arrow {
	transform: translateX(0.25rem);
}

.p-equipment__card-text {
	color: #111;
	display: block;
	font-size: 1rem;
	line-height: 1.75;
	margin-top: 0.75rem;
}

.p-equipment-pagehead {
	background-color: transparent;
}

.p-equipment-pagehead__hero {
	align-items: center;
	display: flex;
	min-height: 17.5rem;
	overflow: hidden;
	position: relative;
}

.p-equipment-pagehead__photo {
	bottom: 0;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 0;
}

.p-equipment-pagehead__img {
	-o-object-fit: cover;
	-o-object-position: center 45%;
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: center 45%;
	width: 100%;
}

.p-equipment-pagehead__hero::before {
	background-color: rgba(0, 0, 0, 0.55);
	bottom: 0;
	content: "";
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
}

.p-equipment-pagehead__hero::after {
	background-image: url("../images/common/company-bg-rainbow.jpg");
	background-position: center;
	background-size: cover;
	bottom: 0;
	content: "";
	left: 0;
	mix-blend-mode: soft-light;
	opacity: 0.3;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
}

.p-equipment-pagehead__plate {
	position: relative;
	z-index: 2;
}

.p-equipment-pagehead__en {
	font-family: "Ubuntu", sans-serif;
	font-size: 3.5rem;
	font-style: italic;
	font-weight: 700;
	line-height: 1.1;
}

.p-equipment-pagehead__en span {
	-webkit-text-fill-color: transparent;
	background-color: #fff;
	color: transparent;
	display: inline-block;
	padding: 0.125rem 1.125rem;
	position: relative;
}

.p-equipment-pagehead__en span::after {
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	background-image: linear-gradient(90deg, #1b2335 0%, #28243f 11%, #432f49 20%, #5e3e54 27%, #89715e 33%, #6c7667 40%, #506377 50%, #457987 58%, #70a6a9 66%, #9cb1b3 74%, #b0b2b3 82%, #a1a4a3 92%, #919b9c 100%);
	color: transparent;
	content: attr(data-text);
	left: 1.125rem;
	position: absolute;
	top: 0.125rem;
}

.p-equipment-pagehead__ja {
	margin-top: 0.5rem;
}

.p-equipment-pagehead__ja span {
	background-color: #fff;
	color: #25282a;
	display: inline-block;
	font-size: 1rem;
	font-weight: 700;
	padding: 0.125rem 0.75rem;
}

.p-equipment-pagehead__band {
	background-image: linear-gradient(90deg, #006ec6 0%, #24b3de 100%);
	overflow: hidden;
	position: relative;
}

.p-equipment-pagehead__band::before {
	background-image: linear-gradient(120deg, rgba(255, 255, 255, 0) 40%, rgba(255, 255, 255, 0.18) 100%);
	bottom: 0;
	content: "";
	left: 0;
	mix-blend-mode: lighten;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
}

.p-equipment-pagehead__band-inner {
	align-items: center;
	display: flex;
	min-height: 6.25rem;
	position: relative;
	z-index: 1;
}

.p-equipment-pagehead__title {
	color: #fff;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.4;
}

.p-equipment-layout {
	align-items: flex-start;
	display: flex;
	margin-top: 3.5rem;
}

.p-equipment-layout--top {
	margin-top: 0;
}

.p-equipment-main {
	flex: 1 1 0;
	min-width: 0;
}

.p-equipment-side {
	align-self: flex-start;
	margin-left: 4.125rem;
	max-height: calc(100vh - 7.5rem);
	overflow-y: auto;
	overscroll-behavior: contain;
	position: sticky;
	top: 6.25rem;
	width: 15.875rem;
	z-index: 20;
}

.p-equipment-side__head {
	align-items: center;
	background-color: #003865;
	border-radius: 1rem;
	color: #fff;
	display: flex;
	font-size: 1rem;
	font-weight: 700;
	height: 3rem;
	padding: 0 1.375rem;
}

.p-equipment-side__list {
	margin-top: 1rem;
}

.p-equipment-side__group {
	background-color: #fff;
	border-radius: 1rem;
	padding: 0.875rem 1.125rem;
}

.p-equipment-side__group + .p-equipment-side__group {
	margin-top: 1rem;
}

.p-equipment-side__group-title {
	color: #003865;
	font-size: 1rem;
	font-weight: 700;
	padding-left: 1.75rem;
	position: relative;
}

.p-equipment-side__group-title::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 0a256 256 0 1 0 0 512 256 256 0 1 0 0-512zM135 256c0-13.3 10.7-24 24-24l102.1 0-39-39c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39L159 280c-13.3 0-24-10.7-24-24z'/%3E%3C/svg%3E") no-repeat center/contain;
	background-color: #003865;
	content: "";
	height: 1rem;
	left: 0;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 0a256 256 0 1 0 0 512 256 256 0 1 0 0-512zM135 256c0-13.3 10.7-24 24-24l102.1 0-39-39c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39L159 280c-13.3 0-24-10.7-24-24z'/%3E%3C/svg%3E") no-repeat center/contain;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 1rem;
}

.p-equipment-side__group-title a {
	color: inherit;
	transition: opacity 0.2s ease;
}

.p-equipment-side__group-title a:hover {
	opacity: 0.7;
}

.p-equipment-side__sub {
	margin-top: 0.5rem;
}

.p-equipment-side__sub li {
	color: #111;
	font-size: 0.9375rem;
	font-weight: 700;
	padding-left: 1.25rem;
	position: relative;
}

.p-equipment-side__sub li + li {
	border-top: 0.0625rem dashed #c7cdd2;
	margin-top: 0.5rem;
	padding-top: 0.5rem;
}

.p-equipment-side__sub li::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='13' viewBox='0 0 8 13'%3E%3Cpath d='M1.5 0L0 1.5 5 6.5 0 11.5 1.5 13 8 6.5z' fill='%23fff'/%3E%3C/svg%3E") no-repeat center/contain;
	background-color: #003865;
	content: "";
	height: 0.625rem;
	left: 0;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='13' viewBox='0 0 8 13'%3E%3Cpath d='M1.5 0L0 1.5 5 6.5 0 11.5 1.5 13 8 6.5z' fill='%23fff'/%3E%3C/svg%3E") no-repeat center/contain;
	position: absolute;
	top: 0.4375rem;
	width: 0.375rem;
}

.p-equipment-side__sub li + li::before {
	top: 0.9375rem;
}

.p-equipment-side__sub a {
	color: inherit;
	transition: opacity 0.2s ease;
}

.p-equipment-side__sub a:hover {
	opacity: 0.7;
}

.p-equipment-side__group.is-current {
	box-shadow: inset 0 0 0 0.125rem rgba(0, 56, 101, 0.5);
}

.p-equipment-section {
	margin-top: 0;
}

.p-equipment-section__lead {
	color: #111;
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 2.2;
	margin-top: 1.25rem;
}

.p-equipment-section__photo {
	border-radius: 1rem;
	margin-top: 2.5rem;
	overflow: hidden;
}

.p-equipment-section__photo img {
	display: block;
	height: auto;
	width: 100%;
}

.p-equipment-production__lead {
	color: #111;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1.4;
	margin-top: 4.875rem;
}

.p-equipment-production__read {
	color: #111;
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 2;
	margin-top: 1.5rem;
}

.p-equipment-feat {
	-moz-column-gap: 1.875rem;
	column-gap: 1.875rem;
	display: flex;
	justify-content: space-between;
	margin-top: 3rem;
}

.p-equipment-feat__item {
	align-items: center;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: 50%;
	box-shadow: 0 0.5rem 1.5rem rgba(0, 56, 101, 0.08);
	display: flex;
	flex: 0 0 17.0625rem;
	flex-direction: column;
	height: 17.0625rem;
	justify-content: center;
	position: relative;
	text-align: center;
	width: 17.0625rem;
	z-index: 0;
}

.p-equipment-feat__item:nth-child(1) {
	background-image: url("../images/equipment/feat-circle-1.png");
}

.p-equipment-feat__item:nth-child(2) {
	background-image: url("../images/equipment/feat-circle-2.png");
}

.p-equipment-feat__item:nth-child(3) {
	background-image: url("../images/equipment/feat-circle-3.png");
}

.p-equipment-feat__sub {
	color: #111;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.6;
}

.p-equipment-feat__title {
	color: #003865;
	font-size: 1.875rem;
	font-weight: 700;
	line-height: 1.33;
	margin-top: 0.625rem;
}

.p-equipment-intro2 {
	margin-top: 6rem;
}

.p-equipment-intro2__head {
	color: #111;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1.4;
	margin-top: 4.875rem;
}

.c-heading + .p-equipment-production__lead,
.c-heading + .p-equipment-quality__head,
.c-heading + .p-equipment-cert__lead,
.c-heading + .p-equipment-intro2__head {
	margin-top: 4.875rem;
}

.p-equipment-intro2__text {
	color: #111;
	font-size: 1rem;
	font-weight: 400;
	line-height: 2;
	margin-top: 1.5rem;
}

.p-equipment-cat {
	margin-top: 4rem;
}

.p-equipment-cat .p-equipment-bar {
	margin-top: 0;
}

.p-equipment-spec {
	margin-top: 2.5rem;
}

.p-equipment-spec__name {
	color: #111;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 2.33;
}

.p-equipment-spec__scroll {
	margin-top: 1rem;
	position: relative;
}

.p-equipment-spec__scroll-body {
	-webkit-overflow-scrolling: touch;
	overflow-x: auto;
}

.p-equipment-spec__scroll-hint {
	animation: scroll-hint-shake 1.2s ease-in-out infinite;
	background-color: #fff;
	border-radius: 1rem;
	display: none;
	height: auto;
	left: 50%;
	padding: 0.8125rem 1rem 0.5625rem;
	pointer-events: none;
	position: absolute;
	top: 3.25rem;
	transform: translateX(-50%);
	transition: opacity 0.3s ease;
	width: 7.875rem;
	z-index: 2;
}

.p-equipment-spec__scroll.is-scrolled .p-equipment-spec__scroll-hint {
	animation: none;
	opacity: 0;
	pointer-events: none;
}

.p-equipment-spec__table {
	border-collapse: collapse;
	font-size: 1rem;
	line-height: 1.5;
	table-layout: fixed;
	width: 100%;
}

.p-equipment-spec__table th,
.p-equipment-spec__table td {
	padding: 0.5rem 0.75rem;
	text-align: center;
	vertical-align: middle;
}

.p-equipment-spec__table--print th:nth-child(1),
.p-equipment-spec__table--print td:nth-child(1) {
	width: 20%;
}

.p-equipment-spec__table--print th:nth-child(2),
.p-equipment-spec__table--print td:nth-child(2) {
	width: 11%;
}

.p-equipment-spec__table--print th:nth-child(3),
.p-equipment-spec__table--print td:nth-child(3) {
	width: 26%;
}

.p-equipment-spec__table--print th:nth-child(4),
.p-equipment-spec__table--print td:nth-child(4) {
	width: 27%;
}

.p-equipment-spec__table--print th:nth-child(5),
.p-equipment-spec__table--print td:nth-child(5) {
	width: 16%;
}

.p-equipment-spec__table--ctp th:nth-child(1),
.p-equipment-spec__table--ctp td:nth-child(1) {
	width: 24%;
}

.p-equipment-spec__table--ctp th:nth-child(2),
.p-equipment-spec__table--ctp td:nth-child(2) {
	width: 33%;
}

.p-equipment-spec__table--ctp th:nth-child(3),
.p-equipment-spec__table--ctp td:nth-child(3) {
	width: 43%;
}

.p-equipment-spec__table--finish th:nth-child(1),
.p-equipment-spec__table--finish td:nth-child(1) {
	width: 23%;
}

.p-equipment-spec__table--finish th:nth-child(2),
.p-equipment-spec__table--finish td:nth-child(2) {
	width: 65%;
}

.p-equipment-spec__table--finish th:nth-child(3),
.p-equipment-spec__table--finish td:nth-child(3) {
	width: 12%;
}

.p-equipment-spec__table thead th {
	background-color: #003865;
	color: #fff;
	font-weight: 700;
	height: 2.5rem;
	white-space: nowrap;
}

.p-equipment-spec__table thead th:not(:last-child),
.p-equipment-spec__table tbody td:not(:last-child) {
	border-right: 0.0625rem solid #fff;
}

.p-equipment-spec__table tbody td {
	background-color: #f7f7f7;
	border-bottom: 0.0625rem solid #fff;
	color: #111;
	font-weight: 400;
	height: 2.5rem;
}

.p-equipment-spec__table tbody tr:first-child td {
	border-top: 0.1875rem solid #fff;
}

.p-equipment-spec__table--print tbody td:nth-child(1) {
	background-color: #dae1e6;
}

.p-equipment-spec__table--print tbody td:nth-child(2) {
	background-color: #e6e6e6;
}

.p-equipment-spec__table--print tbody td:nth-child(3) {
	background-color: #f2f2f2;
}

.p-equipment-spec__table--print tbody td:nth-child(4) {
	background-color: #f7f7f7;
}

.p-equipment-spec__table--print tbody td:nth-child(5) {
	background-color: #f2f2f2;
}

.p-equipment-spec__table--ctp tbody td:nth-child(1) {
	background-color: #dae1e6;
}

.p-equipment-spec__table--ctp tbody td:nth-child(2) {
	background-color: #f2f2f2;
}

.p-equipment-spec__table--ctp tbody td:nth-child(3) {
	background-color: #f7f7f7;
}

.p-equipment-spec__table--finish tbody td:nth-child(1) {
	background-color: #dae1e6;
}

.p-equipment-spec__table--finish tbody td:nth-child(2) {
	background-color: #f7f7f7;
}

.p-equipment-spec__table--finish tbody td:nth-child(3) {
	background-color: #f2f2f2;
}

.p-equipment-spec__note {
	display: none;
}

.p-equipment-cat--first {
	margin-top: 0;
}

.p-equipment-quality__head {
	color: #111;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1.4;
	margin-top: 4.875rem;
}

.p-equipment-quality__text {
	color: #111;
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1.77;
	margin-top: 1.5rem;
}

.p-equipment-quality__photo {
	border-radius: 1rem;
	margin-top: 2.5rem;
	overflow: hidden;
}

.p-equipment-quality__photo img {
	display: block;
	height: auto;
	width: 100%;
}

.p-equipment-quality__photos {
	-moz-column-gap: 2.75rem;
	column-gap: 2.75rem;
	display: flex;
	margin-top: 1.5rem;
}

.p-equipment-quality__photo--half {
	flex: 1 1 0;
	margin-top: 0;
	min-width: 0;
}

.p-equipment-quality__block {
	margin-top: 5rem;
}

.p-equipment-quality__block .p-equipment-bar {
	margin-top: 0;
}

.p-equipment-cert__lead {
	color: #111;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1.4;
	margin-top: 4.875rem;
}

.p-equipment-cert__text {
	color: #111;
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1.77;
	margin-top: 1.5rem;
}

.p-equipment-cert__group {
	margin-top: 5rem;
}

.p-equipment-cert__group .p-equipment-bar {
	margin-top: 0;
}

.p-equipment-cert__list {
	margin-top: 2.5rem;
}

.p-equipment-cert__item + .p-equipment-cert__item {
	-o-border-image: linear-gradient(90deg, #006ec6 0%, #24b3de 100%) 1;
	border-image: linear-gradient(90deg, #006ec6 0%, #24b3de 100%) 1;
	border-top: 0.0625rem solid transparent;
	margin-top: 2.5rem;
	padding-top: 2.5rem;
}

.p-equipment-cert__cardlead {
	color: #111;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.5;
}

.p-equipment-cert__card {
	-moz-column-gap: 2.625rem;
	align-items: center;
	column-gap: 2.625rem;
	display: flex;
	margin-top: 1.5rem;
}

.p-equipment-cert__media {
	aspect-ratio: 418/256;
	background-color: #fff;
	border-radius: 1rem;
	box-shadow: 0 0.5rem 1.5rem rgba(0, 56, 101, 0.08);
	flex: 0 0 26.125rem;
	overflow: hidden;
	width: 26.125rem;
}

.p-equipment-cert__media img {
	-o-object-fit: cover;
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.p-equipment-cert__body {
	flex: 1 1 0;
	min-width: 0;
}

.p-equipment-cert__sub {
	color: #003865;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.5;
}

.p-equipment-cert__title {
	color: #111;
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 1.4;
	margin-top: 0.5rem;
}

.p-equipment-cert__desc {
	color: #111;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.75;
	margin-top: 1rem;
}

.p-equipment-cert__link {
	-webkit-text-decoration: none;
	align-items: center;
	background-color: #999999;
	border-radius: 1.5rem;
	color: #fff;
	display: inline-flex;
	font-size: 1rem;
	font-weight: 700;
	gap: 0.75rem;
	justify-content: center;
	line-height: 1.4;
	margin-top: 1.625rem;
	min-height: 3rem;
	min-width: 14.625rem;
	padding: 0.5rem 1.5rem;
	text-decoration: none;
	transition: opacity 0.3s ease;
}

.p-equipment-cert__link:hover {
	opacity: 0.8;
}

.p-equipment-cert__link svg {
	fill: currentColor;
	flex-shrink: 0;
	height: 0.875rem;
	width: 1rem;
}

.p-factory__lead {
	color: #111;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 2;
	text-align: center;
}

.p-factory.p-lower {
	padding-top: 4.625rem;
}

.p-factory__block:first-of-type {
	margin-top: 4rem;
}

.p-factory__block {
	-moz-column-gap: 1.625rem;
	column-gap: 1.625rem;
}

.p-factory__block .p-company__block-head {
	flex: 0 0 22.5rem;
	width: 22.5rem;
}

.p-factory__block .p-company__block-ja {
	line-height: 1.35;
}

.p-factory__card a {
	display: block;
}

.p-factory__card-thumb {
	aspect-ratio: 395/236;
	border-radius: 1rem;
	display: block;
	overflow: hidden;
	position: relative;
}

.p-factory__card-thumb img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
	width: 100%;
}

.p-factory__card a:hover .p-factory__card-thumb img {
	transform: scale(1.05);
}

.p-factory__card-thumb::before {
	background-image: linear-gradient(135deg, white 0%, rgba(255, 255, 255, 0.2) 100%);
	bottom: 0;
	content: "";
	left: 0;
	mix-blend-mode: screen;
	opacity: 0.2447;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
}

.p-factory__card--wide .p-factory__card-thumb {
	aspect-ratio: 814/273;
}

.p-factory__card-thumb--multi {
	display: flex;
}

.p-factory__card-thumb--multi img {
	flex: 1 1 0;
	min-width: 0;
}

.p-factory__card-label {
	align-items: center;
	background-image: linear-gradient(180deg, rgba(0, 51, 92, 0) 0%, rgba(0, 29, 51, 0.95) 100%);
	bottom: 0;
	color: #fff;
	display: flex;
	font-size: 1.25rem;
	font-weight: 700;
	justify-content: space-between;
	left: 0;
	padding: 1rem 1.5rem;
	padding-top: 2.25rem;
	position: absolute;
	width: 100%;
	z-index: 2;
}

.p-factory__card-arrow {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23fff' d='M256 0a256 256 0 1 0 0 512 256 256 0 1 0 0-512zM135 256c0-13.3 10.7-24 24-24l102.1 0-39-39c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39L159 280c-13.3 0-24-10.7-24-24z'/%3E%3C/svg%3E") no-repeat center/contain;
	background-color: #fff;
	border-radius: 50%;
	flex: 0 0 auto;
	height: 1.5rem;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23fff' d='M256 0a256 256 0 1 0 0 512 256 256 0 1 0 0-512zM135 256c0-13.3 10.7-24 24-24l102.1 0-39-39c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39L159 280c-13.3 0-24-10.7-24-24z'/%3E%3C/svg%3E") no-repeat center/contain;
	position: relative;
	transition: transform 0.3s ease;
	width: 1.5rem;
}

.p-factory__card a:hover .p-factory__card-arrow {
	transform: translateX(0.25rem);
}

.p-factory__card-text {
	color: #111;
	display: block;
	font-size: 1rem;
	line-height: 1.7;
	margin-top: 0.75rem;
}

.p-factory-intro {
	margin-top: 0;
}

.p-factory-intro__lead {
	color: #111;
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 2.2;
	margin-top: 1.75rem;
}

.c-heading + .p-factory-intro__lead {
	margin-top: 1.75rem;
}

.p-factory-intro__photo {
	border-radius: 1rem;
	margin-top: 2.5rem;
	overflow: hidden;
}

.p-factory-intro__photo img {
	display: block;
	height: auto;
	width: 100%;
}

.p-factory-layout {
	align-items: flex-start;
	display: flex;
	margin-top: 3.5rem;
}

.p-factory-main {
	flex: 1 1 0;
	min-width: 0;
}

.p-factory-layout--top {
	align-items: flex-start;
	margin-top: 0;
}

.p-factory-side {
	align-self: flex-start;
	margin-left: 4.125rem;
	max-height: calc(100vh - 7.5rem);
	overflow-y: auto;
	overscroll-behavior: contain;
	position: sticky;
	top: 6.25rem;
	width: 15.875rem;
	z-index: 20;
}

.p-factory-side__head {
	align-items: center;
	background-color: #003865;
	border-radius: 1rem;
	color: #fff;
	display: flex;
	font-size: 1rem;
	font-weight: 700;
	height: 3rem;
	padding: 0 1.375rem;
}

.p-factory-side__list {
	margin-top: 1rem;
}

.p-factory-side__group {
	background-color: #fff;
	border-radius: 1rem;
	padding: 0.875rem 1.125rem;
}

.p-factory-side__group + .p-factory-side__group {
	margin-top: 1rem;
}

.p-factory-side__group-title {
	color: #003865;
	font-size: 1rem;
	font-weight: 700;
	padding-left: 1.75rem;
	position: relative;
}

.p-factory-side__group-title::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 0a256 256 0 1 0 0 512 256 256 0 1 0 0-512zM135 256c0-13.3 10.7-24 24-24l102.1 0-39-39c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39L159 280c-13.3 0-24-10.7-24-24z'/%3E%3C/svg%3E") no-repeat center/contain;
	background-color: #003865;
	content: "";
	height: 1rem;
	left: 0;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 0a256 256 0 1 0 0 512 256 256 0 1 0 0-512zM135 256c0-13.3 10.7-24 24-24l102.1 0-39-39c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39L159 280c-13.3 0-24-10.7-24-24z'/%3E%3C/svg%3E") no-repeat center/contain;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 1rem;
}

.p-factory-side__group-title a {
	color: inherit;
	transition: opacity 0.2s ease;
}

.p-factory-side__group-title a:hover {
	opacity: 0.7;
}

.p-factory-side__sub {
	margin-top: 0.5rem;
}

.p-factory-side__sub li {
	color: #111;
	font-size: 0.9375rem;
	font-weight: 700;
	padding-left: 1.25rem;
	position: relative;
}

.p-factory-side__sub li + li {
	border-top: 0.0625rem dashed #c7cdd2;
	margin-top: 0.5rem;
	padding-top: 0.5rem;
}

.p-factory-side__sub li::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='13' viewBox='0 0 8 13'%3E%3Cpath d='M1.5 0L0 1.5 5 6.5 0 11.5 1.5 13 8 6.5z' fill='%23fff'/%3E%3C/svg%3E") no-repeat center/contain;
	background-color: #003865;
	content: "";
	height: 0.625rem;
	left: 0;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='13' viewBox='0 0 8 13'%3E%3Cpath d='M1.5 0L0 1.5 5 6.5 0 11.5 1.5 13 8 6.5z' fill='%23fff'/%3E%3C/svg%3E") no-repeat center/contain;
	position: absolute;
	top: 0.4375rem;
	width: 0.375rem;
}

.p-factory-side__sub li + li::before {
	top: 0.9375rem;
}

.p-factory-side__sub a {
	color: inherit;
	transition: opacity 0.2s ease;
}

.p-factory-side__sub a:hover {
	opacity: 0.7;
}

.p-factory-section {
	margin-top: 4rem;
}

.p-factory-section:first-of-type {
	margin-top: 0;
}

.p-factory-intro + .p-factory-section {
	margin-top: 5rem;
}

.p-factory-production .p-factory-intro + .p-factory-section {
	margin-top: 7.5rem;
}

.p-factory-section__lead {
	color: #111;
	font-size: 1rem;
	line-height: 2;
	margin-top: 1.75rem;
}

.p-factory-feat {
	display: flex;
	flex-direction: column;
	margin-top: 2.5rem;
	row-gap: 2.5rem;
}

.p-factory-feat__item {
	align-items: stretch;
	background-color: #fff;
	border-radius: 1rem;
	box-shadow: 0 0.5rem 1.875rem rgba(0, 56, 101, 0.06);
	display: flex;
	overflow: hidden;
}

.p-factory-feat__badge {
	align-items: center;
	background-color: #003865;
	color: #fff;
	display: flex;
	flex: 0 0 11.25rem;
	flex-direction: column;
	justify-content: center;
	row-gap: 0.5rem;
	width: 11.25rem;
}

.p-factory-feat__en {
	color: #ffeb00;
	font-family: "Beloved Script", "Inter", sans-serif;
	font-size: 1.5625rem;
	font-weight: 700;
	line-height: 1;
}

.p-factory-feat__num {
	color: #fff;
	font-size: 3.125rem;
	font-weight: 700;
	line-height: 1;
}

.p-factory-feat__body {
	flex: 1 1 0;
	min-width: 0;
	padding: 2.25rem 2.5rem;
}

.p-factory-feat__label {
	background-color: #dee7ee;
	border-radius: 1rem;
	color: #003865;
	display: inline-block;
	font-size: 1rem;
	font-weight: 700;
	padding: 0.25rem 1rem;
}

.p-factory-feat__title {
	color: #003865;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.66;
	margin-top: 0.875rem;
}

.p-factory-feat__text {
	color: #111;
	font-size: 1rem;
	line-height: 1.5;
	margin-top: 0.875rem;
}

.p-factory-mech {
	-o-border-image: linear-gradient(90deg, #006ec6 0%, #24b3de 100%) 1;
	border-image: linear-gradient(90deg, #006ec6 0%, #24b3de 100%) 1;
	border-top: 0.0625rem solid transparent;
	margin-top: 2.375rem;
	padding-top: 3.75rem;
}

.p-factory-num {
	-moz-column-gap: 1rem;
	align-items: center;
	column-gap: 1rem;
	display: flex;
}

.p-factory-num__no {
	color: #003865;
	font-size: 3rem;
	font-weight: 700;
	line-height: 1;
}

.p-factory-num__line {
	background-color: #111;
	flex: 0 0 0.0625rem;
	height: 2.125rem;
	width: 0.0625rem;
}

.p-factory-num__label {
	color: #111;
	font-size: 1.5rem;
	font-weight: 700;
}

.p-factory-mech__head {
	-moz-column-gap: 2.5rem;
	align-items: flex-start;
	column-gap: 2.5rem;
	display: flex;
	margin-top: 1.75rem;
}

.p-factory-mech__text {
	flex: 1 1 0;
	min-width: 0;
}

.p-factory-mech__title {
	color: #003865;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.66;
}

.p-factory-mech__body {
	color: #111;
	font-size: 1rem;
	line-height: 2;
	margin-top: 1.25rem;
}

.p-factory-mech__photo {
	border-radius: 1rem;
	flex: 0 0 24.375rem;
	overflow: hidden;
	width: 24.375rem;
}

.p-factory-mech__photo img {
	display: block;
	height: auto;
	width: 100%;
}

.p-factory-spec {
	grid-gap: 1rem;
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(4, 1fr);
	margin-top: 1.5rem;
}

.p-factory-spec__card {
	background-color: #fff;
	border-radius: 0.5rem;
	box-shadow: 0 0.25rem 1rem rgba(0, 56, 101, 0.06);
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.p-factory-spec__top {
	align-items: center;
	background-color: rgba(0, 56, 101, 0.5);
	display: flex;
	min-height: 5.6875rem;
	padding: 1rem 1.125rem;
	position: relative;
}

.p-factory-spec__name {
	color: #fff;
	font-size: 1.25rem;
	font-weight: 700;
	position: relative;
	z-index: 1;
}

.p-factory-spec__icon {
	-webkit-mask: var(--icon) no-repeat center/contain;
	background-color: #003865;
	height: 3.375rem;
	mask: var(--icon) no-repeat center/contain;
	position: absolute;
	right: 0.875rem;
	top: 50%;
	transform: translateY(-50%);
	width: 3.375rem;
}

.p-factory-spec__bottom {
	align-items: center;
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	justify-content: center;
	padding: 0.5rem 0.625rem 0.6875rem;
	text-align: center;
}

.p-factory-spec__pre {
	color: #111;
	font-size: 0.9375rem;
}

.p-factory-spec__value {
	color: #003865;
	font-size: 1.5rem;
	font-weight: 800;
	line-height: 1.2;
}

.p-factory-spec__value--sm {
	font-size: 1.5rem;
	font-weight: 700;
}

.p-factory-spec__unit {
	font-size: 1rem;
	margin-left: 0.125rem;
}

.p-factory-spec__loads {
	-moz-column-gap: 1.125rem;
	align-items: flex-end;
	column-gap: 1.125rem;
	display: flex;
	justify-content: center;
}

.p-factory-spec__load {
	align-items: center;
	display: flex;
	flex-direction: column;
}

.p-factory-spec__load-label {
	color: #111;
	font-size: 0.875rem;
	font-weight: 700;
}

.p-factory-mech__pills {
	grid-gap: 1.8125rem;
	display: grid;
	gap: 1.8125rem;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 1.5rem;
}

.p-factory-mech__pill {
	align-items: center;
	background-color: #fff;
	border-radius: 0.5rem;
	box-shadow: 0 0.25rem 1rem rgba(0, 56, 101, 0.06);
	color: #003865;
	display: flex;
	font-size: 1.125rem;
	font-weight: 700;
	justify-content: center;
	line-height: 1.78;
	min-height: 7.625rem;
	padding: 1.25rem;
	text-align: center;
}

.p-factory-mech__specs {
	grid-gap: 1.5rem;
	align-items: start;
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 2.5rem;
}

.p-factory-mech__col {
	background-color: #fff;
	border-radius: 1rem;
	box-shadow: 0 0.25rem 1rem rgba(0, 56, 101, 0.06);
	padding: 1.25rem 1.625rem 1.75rem;
}

.p-factory-mech__col-head {
	align-items: center;
	background-color: #dae1e6;
	border-radius: 0.5rem;
	color: #111;
	display: flex;
	font-size: 1rem;
	font-weight: 700;
	height: 2.5rem;
	padding: 0 1.125rem;
}

.p-factory-mech__list {
	margin-top: 1rem;
}

.p-factory-mech__li {
	color: #111;
	font-size: 1rem;
	line-height: 1.75;
}

.p-factory-mech__li + .p-factory-mech__li {
	margin-top: 1rem;
}

.p-factory-mech__li-title {
	color: #003865;
	display: block;
	font-weight: 700;
}

.p-factory-mech__li-title::before {
	color: #dae1e6;
	content: "●";
	margin-right: 0.375rem;
}

.p-factory-intro__lead--sm {
	font-size: 1rem;
	font-weight: 400;
	line-height: 2;
}

.p-factory-diagram {
	border-radius: 1rem;
	margin-top: 5rem;
	overflow: hidden;
}

.p-factory-diagram img {
	display: block;
	height: auto;
	width: 100%;
}

.p-factory-info {
	margin-top: 7.5rem;
}

.p-factory-info:first-of-type {
	margin-top: 7.5rem;
}

.p-factory-info__head {
	-moz-column-gap: 3.25rem;
	align-items: flex-start;
	column-gap: 3.25rem;
	display: flex;
	margin-top: 2.5rem;
}

.p-factory-info__text {
	flex: 1 1 0;
	min-width: 0;
}

.p-factory-info__title {
	color: #003865;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.34;
}

.p-factory-info__body {
	color: #111;
	font-size: 1rem;
	line-height: 2;
	margin-top: 1.25rem;
}

.p-factory-info__photo {
	border-radius: 1rem;
	flex: 0 0 26.125rem;
	overflow: hidden;
	width: 26.125rem;
}

.p-factory-info__photo img {
	-o-object-fit: cover;
	aspect-ratio: 418/256;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.p-factory-pagehead {
	background-color: transparent;
}

.p-factory-pagehead__hero {
	align-items: center;
	display: flex;
	min-height: 15rem;
	overflow: hidden;
	position: relative;
}

.p-factory-pagehead__photo {
	bottom: 0;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 0;
}

.p-factory-pagehead__img {
	-o-object-fit: cover;
	-o-object-position: center 60%;
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: center 60%;
	width: 100%;
}

.p-factory-pagehead__hero::before {
	background-color: rgba(255, 255, 255, 0.3);
	bottom: 0;
	content: "";
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
}

.p-factory-pagehead__hero::after {
	background-image: url("../images/common/factory-bar-rainbow.png");
	background-position: center;
	background-size: cover;
	bottom: 0;
	content: "";
	left: 0;
	mix-blend-mode: lighten;
	opacity: 0.2;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
}

.p-factory-pagehead__plate {
	position: relative;
	z-index: 2;
}

.p-factory-pagehead__en {
	font-family: "Ubuntu", sans-serif;
	font-size: 3.5rem;
	font-style: italic;
	font-weight: 700;
	line-height: 1.1;
}

.p-factory-pagehead__en span {
	-webkit-text-fill-color: transparent;
	background-color: #fff;
	background-color: rgba(255, 255, 255, 0.9);
	color: transparent;
	display: inline-block;
	display: inline-block;
	padding: 0.25rem 1.5rem;
	position: relative;
}

.p-factory-pagehead__en span::before {
	content: none;
}

.p-factory-pagehead__en span::after {
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	background-image: linear-gradient(90deg, #1b2335 0%, #28243f 11%, #432f49 20%, #5e3e54 27%, #89715e 33%, #6c7667 40%, #506377 50%, #457987 58%, #70a6a9 66%, #9cb1b3 74%, #b0b2b3 82%, #a1a4a3 92%, #919b9c 100%);
	color: transparent;
	content: attr(data-text);
	left: 1.5rem;
	position: absolute;
	top: 0.25rem;
}

.p-factory-pagehead__ja {
	display: block;
	margin-top: 0.625rem;
}

.p-factory-pagehead__ja span {
	background-color: #fff;
	background-color: rgba(255, 255, 255, 0.9);
	color: #25282a;
	display: inline-block;
	font-size: 1rem;
	font-weight: 700;
	padding: 0.25rem 0.75rem;
}

.p-factory-pagehead__band {
	background-image: linear-gradient(90deg, #006ec6 0%, #24b3de 100%);
	overflow: hidden;
	position: relative;
}

.p-factory-pagehead__band::before {
	background-image: linear-gradient(120deg, rgba(255, 255, 255, 0) 40%, rgba(255, 255, 255, 0.18) 100%);
	bottom: 0;
	content: "";
	left: 0;
	mix-blend-mode: lighten;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
}

.p-factory-pagehead__band-inner {
	align-items: center;
	display: flex;
	min-height: 6.25rem;
	position: relative;
	z-index: 1;
}

.p-factory-pagehead__title {
	color: #fff;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.4;
}

.p-factory-intro--head {
	margin-top: 0;
}

.p-factory-intro--head + .p-factory-policy,
.p-factory-intro--head + .p-factory-env {
	margin-top: 5.5rem;
}

.p-factory-policy {
	align-items: stretch;
	background-color: #fff;
	border-radius: 1rem;
	box-shadow: 0 0.5rem 1.875rem rgba(0, 56, 101, 0.06);
	display: flex;
	overflow: hidden;
}

.p-factory-policy + .p-factory-policy {
	margin-top: 2.5rem;
}

.p-factory-policy__label {
	align-items: center;
	background-color: #003865;
	color: #fff;
	display: flex;
	flex: 0 0 9rem;
	font-size: 1.25rem;
	font-weight: 700;
	justify-content: center;
	width: 9rem;
}

.p-factory-policy__body {
	flex: 1 1 0;
	min-width: 0;
	padding: 1.4375rem 2.25rem;
}

.p-factory-policy__text {
	color: #111;
	font-size: 1rem;
	line-height: 2;
}

.p-factory-policy__list {
	background-color: #f2f2f2;
	border-radius: 1rem;
	counter-reset: policy;
	margin-top: 0.9375rem;
	padding: 1.3125rem 1.5625rem;
}

.p-factory-policy__item {
	color: #111;
	font-size: 1rem;
	line-height: 2;
	padding-left: 1.5rem;
	position: relative;
}

.p-factory-policy__item + .p-factory-policy__item {
	margin-top: 0.5rem;
}

.p-factory-policy__item::before {
	color: #003865;
	content: counter(policy) ".";
	counter-increment: policy;
	font-weight: 700;
	left: 0;
	position: absolute;
	top: 0;
}

.p-factory-policy__sub {
	display: block;
}

.p-factory-env {
	margin-top: 2.5rem;
}

.p-factory-env:first-of-type {
	margin-top: 2rem;
}

.p-factory-env__row {
	-moz-column-gap: 1.8125rem;
	align-items: flex-start;
	column-gap: 1.8125rem;
	display: flex;
	margin-top: 2.5rem;
}

.p-factory-env__row--divider {
	-o-border-image: linear-gradient(90deg, #006ec6 0%, #24b3de 100%) 1;
	border-image: linear-gradient(90deg, #006ec6 0%, #24b3de 100%) 1;
	border-top: 0.0625rem solid transparent;
	margin-top: 2.5rem;
	padding-top: 2.5rem;
}

.p-factory-env__row--full .p-factory-env__text {
	flex-basis: auto;
	width: 100%;
}

.p-factory-env__text {
	flex: 1 1 0;
	min-width: 0;
}

.p-factory-env__title {
	color: #003865;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.34;
}

.p-factory-env__body {
	color: #111;
	font-size: 1rem;
	line-height: 2;
	margin-top: 1.25rem;
}

.p-factory-env__photo {
	border-radius: 1rem;
	flex: 0 0 26.125rem;
	overflow: hidden;
	width: 26.125rem;
}

.p-factory-env__photo img {
	-o-object-fit: cover;
	aspect-ratio: 418/256;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.p-factory-env__photo--contain {
	align-items: center;
	aspect-ratio: 418/256;
	background-color: #fff;
	box-shadow: 0 0.25rem 1rem rgba(0, 56, 101, 0.06);
	display: flex;
	justify-content: center;
}

.p-factory-env__photo--contain img {
	-o-object-fit: contain;
	aspect-ratio: auto;
	height: auto;
	max-height: 80%;
	max-width: 75%;
	object-fit: contain;
	width: auto;
}

.p-factory-info__photo--454 {
	flex: 0 0 28.375rem;
	width: 28.375rem;
}

.p-factory-info__photo--454 img {
	aspect-ratio: 454/276;
}

.p-factory-story-intro {
	margin-top: 2.5rem;
}

.p-factory-story-intro__title {
	color: #111;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1.6;
}

.p-factory-story-intro__lead {
	color: #111;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.66;
	margin-top: 1.25rem;
}

.p-factory-story {
	margin-top: 3rem;
}

.p-factory-story__block {
	-moz-column-gap: 3.25rem;
	align-items: flex-start;
	column-gap: 3.25rem;
	display: flex;
}

.p-factory-story__block + .p-factory-story__block {
	-o-border-image: linear-gradient(90deg, #006ec6 0%, #24b3de 100%) 1;
	border-image: linear-gradient(90deg, #006ec6 0%, #24b3de 100%) 1;
	border-top: 0.0625rem solid transparent;
	margin-top: 2.5rem;
	padding-top: 2.5rem;
}

.p-factory-story__block--reverse {
	flex-direction: row-reverse;
}

.p-factory-story__text {
	flex: 1 1 0;
	min-width: 0;
}

.p-factory-story__title {
	color: #003865;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.66;
}

.p-factory-story__body {
	color: #111;
	font-size: 1rem;
	line-height: 2;
	margin-top: 1.25rem;
}

.p-factory-story__figure {
	flex: 0 0 24.375rem;
	width: 24.375rem;
}

.p-factory-story__figure img {
	-o-object-fit: cover;
	aspect-ratio: 390/260;
	border-radius: 1rem;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.p-factory-story__caption {
	color: #111;
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.6;
	margin-top: 0.5rem;
}

.p-factory-timeline__lead {
	color: #111;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.66;
	margin-top: 3rem;
}

.p-factory-timeline {
	counter-reset: none;
	margin-top: 2rem;
	padding-left: 7.6875rem;
	position: relative;
}

.p-factory-timeline::before {
	background-color: #c7d4df;
	bottom: 0.75rem;
	content: "";
	left: 6.9375rem;
	position: absolute;
	top: 0.75rem;
	width: 0.125rem;
}

.p-factory-timeline__year {
	position: relative;
}

.p-factory-timeline__year + .p-factory-timeline__year {
	margin-top: 1.75rem;
}

.p-factory-timeline__num {
	color: #003865;
	font-size: 2.5rem;
	font-weight: 700;
	left: -7.6875rem;
	line-height: 1;
	position: absolute;
	text-align: right;
	top: -0.25rem;
	width: 5.9375rem;
}

.p-factory-timeline__year::before {
	background-color: #003865;
	border-radius: 50%;
	box-shadow: inset 0 0 0 0.3125rem #dae1e6;
	content: "";
	height: 1.5rem;
	left: -1.4375rem;
	position: absolute;
	top: 0.125rem;
	width: 1.5rem;
}

.p-factory-timeline__rows {
	display: flex;
	flex-direction: column;
	row-gap: 1rem;
}

.p-factory-timeline__row {
	align-items: center;
	background-color: #d3e1eb;
	border-radius: 0.5rem;
	display: flex;
	min-height: 4.5rem;
	overflow: hidden;
}

.p-factory-timeline__month {
	align-items: center;
	align-self: stretch;
	background-color: #dae1e6;
	color: #111;
	display: flex;
	flex: 0 0 4.8125rem;
	font-size: 1.5rem;
	font-weight: 700;
	justify-content: center;
}

.p-factory-timeline__label {
	color: #111;
	flex: 1 1 0;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.5;
	min-width: 0;
	padding: 0.75rem 1.5rem;
}

.p-factory-timeline__note {
	background-color: #fff;
	border-radius: 0.5rem;
	box-shadow: 0 0.25rem 1rem rgba(0, 56, 101, 0.06);
	color: #003865;
	font-size: 1rem;
	line-height: 2;
	margin-top: 0.5rem;
	padding: 1.125rem 1.5rem;
	position: relative;
}

.p-factory-timeline__note::before {
	border-bottom: 0.625rem solid #fff;
	border-left: 0.625rem solid transparent;
	border-right: 0.625rem solid transparent;
	content: "";
	height: 0;
	left: 2.5rem;
	position: absolute;
	top: -0.5625rem;
	width: 0;
}

.p-factory-info--comment .p-factory-info__body + .p-factory-info__body {
	margin-top: 1.75rem;
}

.p-factory-info__date {
	color: #111;
	font-size: 1rem;
	line-height: 2;
	margin-top: 1.75rem;
}

.p-factory-info__photo--portrait {
	flex: 0 0 19.375rem;
	position: relative;
	width: 19.375rem;
}

.p-factory-info__photo--portrait img {
	aspect-ratio: 309/403;
}

.p-factory-info__photo--portrait::after {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.46) 0%, rgba(255, 255, 255, 0.09) 100%);
	border-radius: inherit;
	bottom: 0;
	content: "";
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
}

.p-factory-side__group.is-current {
	box-shadow: inset 0 0 0 0.125rem rgba(0, 56, 101, 0.5);
}

.p-factory-social .p-factory-section__bar {
	padding-left: 1.125rem;
	padding-right: 2rem;
}

.p-feature {
	overflow: hidden;
	padding-bottom: 7.5rem;
	padding-top: 8.75rem;
	position: relative;
}

.p-factory {
	padding-top: 14.125rem;
}

.p-factory .p-feature__watermark {
	top: 6.5rem;
}

.p-feature__watermark {
	-webkit-user-select: none;
	-moz-user-select: none;
	animation: p-feature-marquee 40s linear infinite;
	color: rgba(255, 255, 255, 0.6);
	display: flex;
	font-family: "Ubuntu", sans-serif;
	font-size: 16.25rem;
	font-style: italic;
	font-weight: 700;
	left: -1rem;
	line-height: 1;
	pointer-events: none;
	position: absolute;
	top: 0.875rem;
	user-select: none;
	white-space: nowrap;
	width: -moz-max-content;
	width: max-content;
	will-change: transform;
	z-index: 2;
}

.p-feature__watermark span {
	margin-left: 4rem;
}

.p-feature__inner {
	align-items: flex-start;
	display: flex;
	gap: 5rem;
	position: relative;
}

.p-feature__visual {
	aspect-ratio: 888/497;
	flex-shrink: 0;
	position: relative;
	width: 46.25vw;
	z-index: 1;
}

.p-feature__visual img {
	-o-object-fit: cover;
	border-radius: 0;
	display: block;
	height: 100%;
	object-fit: cover;
	opacity: 1;
	width: 100%;
}

.p-feature__visual {
	overflow: hidden;
}

.p-feature--image-left .p-feature__visual {
	margin-left: calc(50% - 50vw);
	margin-right: 0;
}

.p-feature--image-left .p-feature__visual img {
	-o-object-position: right center;
	border-radius: 0 5rem 5rem 0;
	object-position: right center;
}

.p-feature--image-right .p-feature__visual {
	margin-left: 0;
	margin-right: calc(50% - 50vw);
}

.p-feature--image-right .p-feature__visual img {
	-o-object-position: left center;
	border-radius: 5rem 0 0 5rem;
	object-position: left center;
}

.p-feature__content {
	flex: 0 0 30.25rem;
	padding-bottom: 1.25rem;
	padding-top: 1.5rem;
	position: relative;
	z-index: 3;
}

.p-feature--image-left .p-feature__content {
	margin-left: auto;
}

.p-feature--image-right .p-feature__content {
	margin-right: auto;
}

.p-feature__plate {
	background-color: #fff;
	display: inline-block;
}

.p-feature__content .c-section-title__ja .p-feature__plate {
	padding: 0.125rem 0.5rem;
}

.p-feature__content .c-section-title__ja {
	margin-top: 0.5rem;
}

.p-feature__en {
	display: inline-block;
	white-space: nowrap;
}

.p-feature__en .c-mask__inner {
	background-color: #fff;
	padding: 0 0.75rem;
}

.p-feature__en .p-feature__plate {
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	background-color: transparent;
	background-image: linear-gradient(90deg, #1b2335 0%, #28243f 11%, #432f49 20%, #5e3e54 27%, #89715e 33%, #6c7667 40%, #506377 50%, #457987 58%, #70a6a9 66%, #9cb1b3 74%, #b0b2b3 82%, #a1a4a3 92%, #919b9c 100%);
	color: transparent;
	display: inline-block;
	font-family: "Ubuntu", sans-serif;
	font-size: 4rem;
	font-style: italic;
	font-weight: 700;
	line-height: 1.15;
	margin-right: -0.1em;
	padding: 0;
	padding-right: 0.1em;
}

.p-feature__lead {
	color: #111;
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1.7777777778;
	margin-top: 2rem;
}

.p-feature__button {
	display: flex;
	margin-left: 0;
	margin-right: 0;
	margin-top: 2rem;
}

.p-feature__links {
	grid-gap: 0.5rem;
	display: grid;
	gap: 0.5rem;
	grid-template-columns: 14.75rem 14.75rem;
	grid-template-rows: repeat(3, 3rem);
	margin-top: 2.5rem;
}

.p-feature__links--single {
	grid-template-columns: 1fr;
	grid-template-rows: none;
}

.p-feature__links-item--c1r1 {
	grid-column: 1;
	grid-row: 1;
}

.p-feature__links-item--c1r2 {
	grid-column: 1;
	grid-row: 2;
}

.p-feature__links-item--c1r3 {
	grid-column: 1;
	grid-row: 3;
}

.p-feature__links-item--c2r1 {
	grid-column: 2;
	grid-row: 1;
}

.p-feature__links-item--c2r2 {
	grid-column: 2;
	grid-row: 2;
}

.p-feature__links a {
	-moz-column-gap: 0.5rem;
	align-items: center;
	background-color: #fff;
	background-image: linear-gradient(90deg, #006ec6 0%, #24b3de 100%);
	background-position: left center;
	background-repeat: no-repeat;
	background-size: 0% 100%;
	border-radius: 2rem;
	box-shadow: 0 0.125rem 0.5rem rgba(17, 17, 17, 0.08);
	color: #111;
	column-gap: 0.5rem;
	display: flex;
	font-size: 1rem;
	font-weight: 700;
	justify-content: space-between;
	min-height: 3rem;
	padding: 0.5rem 1rem 0.5rem 1.375rem;
	transition: background-size 0.4s ease, color 0.4s ease;
}

.p-feature__links a:hover {
	background-size: 100% 100%;
	color: #fff;
}

.p-feature__links a::after {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill-rule='evenodd' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 273c9.4-9.4 9.4-24.6 0-33.9l-80-80c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39L120 232c-13.3 0-24 10.7-24 24s10.7 24 24 24l174.1 0-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80z'/%3E%3C/svg%3E") no-repeat center/contain;
	background-color: #003865;
	content: "";
	flex-shrink: 0;
	height: 1.5rem;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill-rule='evenodd' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 273c9.4-9.4 9.4-24.6 0-33.9l-80-80c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39L120 232c-13.3 0-24 10.7-24 24s10.7 24 24 24l174.1 0-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80z'/%3E%3C/svg%3E") no-repeat center/contain;
	transition: background-color 0.4s ease;
	width: 1.5rem;
}

.p-feature__links a:hover::after {
	background-color: #fff;
}

.p-footer {
	background: linear-gradient(90deg, #006ec6 0%, #24b3de 100%);
	color: #fff;
	padding-top: 3rem;
}

.p-footer__inner {
	-moz-column-gap: 2.5rem;
	column-gap: 2.5rem;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	padding-bottom: 3rem;
	row-gap: 2.5rem;
}

.p-footer__brand {
	flex-shrink: 0;
}

.p-footer__plate {
	background-color: #fff;
	display: inline-block;
	padding: 0 0.5rem;
}

.p-footer__grad {
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	background-image: linear-gradient(90deg, #1b2335 0%, #28243f 11%, #432f49 20%, #5e3e54 27%, #89715e 33%, #6c7667 40%, #506377 50%, #457987 58%, #70a6a9 66%, #9cb1b3 74%, #b0b2b3 82%, #a1a4a3 92%, #919b9c 100%);
	color: transparent;
	display: inline-block;
	margin-right: -0.1em;
	padding-right: 0.1em;
}

.p-footer__brand-script {
	font-family: "Beloved Script", "Inter", sans-serif;
	font-size: 2.125rem;
	font-weight: 700;
	letter-spacing: 0.016em;
	line-height: 1;
}

.p-footer__brand-script .p-footer__plate {
	padding-bottom: 0;
	padding-top: 0.25rem;
}

.p-footer__brand-script .p-footer__grad {
	-webkit-text-fill-color: #003865;
	background: none;
	color: #003865;
}

.p-footer__brand-logo {
	font-family: "Ubuntu", sans-serif;
	font-size: 2.75rem;
	font-style: italic;
	font-weight: 700;
	line-height: 1;
	margin-top: 0.5rem;
}

.p-footer__brand-copy {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.5;
	margin-top: 0.75rem;
	row-gap: 0.25rem;
}

.p-footer__nav {
	-moz-column-gap: 2.5rem;
	column-gap: 2.5rem;
	display: flex;
	flex-wrap: nowrap;
}

.p-footer__col {
	flex-shrink: 0;
}

.p-footer__col-title {
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.04em;
}

.p-footer__col-title a {
	-moz-column-gap: 0.4375rem;
	align-items: center;
	color: #fff;
	column-gap: 0.4375rem;
	display: inline-flex;
	position: relative;
}

.p-footer__col-title a:hover {
	opacity: 1;
}

.p-footer__col-title a::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill-rule='evenodd' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 273c9.4-9.4 9.4-24.6 0-33.9l-80-80c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39L120 232c-13.3 0-24 10.7-24 24s10.7 24 24 24l174.1 0-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80z'/%3E%3C/svg%3E") no-repeat center/contain;
	background-color: #fff;
	content: "";
	flex-shrink: 0;
	height: 1rem;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill-rule='evenodd' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 273c9.4-9.4 9.4-24.6 0-33.9l-80-80c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39L120 232c-13.3 0-24 10.7-24 24s10.7 24 24 24l174.1 0-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80z'/%3E%3C/svg%3E") no-repeat center/contain;
	width: 1rem;
}

.p-footer__list {
	display: flex;
	flex-direction: column;
	margin-top: 0.75rem;
	row-gap: 0.5rem;
}

.p-footer__list--top {
	margin-top: 0;
}

.p-footer__list a {
	-moz-column-gap: 0.5rem;
	align-items: center;
	color: #fff;
	column-gap: 0.5rem;
	display: inline-flex;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	position: relative;
}

.p-footer__list a:hover {
	opacity: 1;
}

.p-footer__list a::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 14'%3E%3Cpath d='M1 1l6 6-6 6' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain;
	background-color: #fff;
	content: "";
	flex-shrink: 0;
	height: 0.5rem;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 14'%3E%3Cpath d='M1 1l6 6-6 6' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain;
	width: 0.3125rem;
}

.p-footer__list--top a::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill-rule='evenodd' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 273c9.4-9.4 9.4-24.6 0-33.9l-80-80c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39L120 232c-13.3 0-24 10.7-24 24s10.7 24 24 24l174.1 0-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80z'/%3E%3C/svg%3E") no-repeat center/contain;
	height: 1rem;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill-rule='evenodd' d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 273c9.4-9.4 9.4-24.6 0-33.9l-80-80c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39L120 232c-13.3 0-24 10.7-24 24s10.7 24 24 24l174.1 0-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80z'/%3E%3C/svg%3E") no-repeat center/contain;
	width: 1rem;
}

.p-footer__list--top a {
	font-size: 0.875rem;
	font-weight: 700;
}

.p-footer__bottom {
	background-color: #003865;
	padding: 1.125rem 0;
}

.p-footer__bottom-inner {
	-moz-column-gap: 2.5rem;
	align-items: center;
	column-gap: 2.5rem;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	row-gap: 0.875rem;
}

.p-footer__policy {
	-moz-column-gap: 0.875rem;
	align-items: center;
	column-gap: 0.875rem;
	display: flex;
	order: 2;
}

.p-footer__policy a {
	color: #fff;
	font-size: 0.75rem;
	font-weight: 700;
}

.p-footer__policy-sep {
	color: #fff;
	font-size: 0.75rem;
	font-weight: 700;
}

.p-footer__logo {
	order: 1;
}

.p-footer__logo img {
	filter: brightness(0) invert(1);
	height: auto;
	width: 10.625rem;
}

.p-footer__copyright {
	color: #fff;
	font-size: 0.625rem;
	font-weight: 700;
	margin-left: auto;
	order: 3;
	text-align: right;
}

.p-footer__policy a {
	position: relative;
}

.p-footer__col-title a::after,
.p-footer__list a::after,
.p-footer__policy a::after {
	background-color: currentColor;
	bottom: -0.125rem;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.3s ease;
	width: 100%;
}

.p-footer__col-title a:hover::after,
.p-footer__list a:hover::after,
.p-footer__policy a:hover::after {
	transform: scaleX(1);
}

.p-group {
	position: relative;
}

.p-group__inner {
	position: relative;
	z-index: 1;
}

.p-group__lead {
	color: #111;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 2.22;
	margin-top: 1.25rem;
}

.p-group__nav {
	border-radius: 0.5rem;
	box-shadow: 0 0.25rem 1rem rgba(0, 56, 101, 0.1);
	overflow: hidden;
	width: 100%;
}

.p-group__nav-title {
	background-color: #003865;
	color: #fff;
	display: block;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.2;
	padding: 0.75rem 1.25rem;
}

.p-group__nav-list {
	background-color: #fff;
	padding: 0.75rem 1.25rem;
}

.p-group__nav-item + .p-group__nav-item {
	margin-top: 0.25rem;
}

.p-group__nav-item a {
	color: #111;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	padding: 0.25rem 0;
	transition: color 0.3s ease;
}

.p-group__nav-item a:hover {
	color: #003865;
}

.p-group__company-grid {
	grid-gap: 1.5rem;
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 4.5rem;
}

.p-group__card {
	background-color: #fff;
	border-radius: 1.5rem;
	display: flex;
	flex-direction: column;
	padding: 1.875rem 1.4375rem 2.0625rem;
}

.p-group__card-logo {
	aspect-ratio: 382/174;
	border-radius: 0.5rem;
	display: block;
	overflow: hidden;
	width: 100%;
}

.p-group__card-logo img {
	-o-object-fit: contain;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.p-group__card-name {
	color: #111;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.4;
	margin-top: 1.125rem;
}

.p-group__card-text {
	color: #111;
	flex: 1 1 auto;
	font-size: 1rem;
	line-height: 1.75;
	margin-top: 0.8125rem;
}

.p-group__card-button {
	-moz-column-gap: 0.625rem;
	align-items: center;
	background-color: #999;
	border-radius: 1.5rem;
	color: #fff;
	column-gap: 0.625rem;
	display: inline-flex;
	font-size: 1rem;
	font-weight: 700;
	height: 3rem;
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
	margin-top: 1.375rem;
	max-width: 16.25rem;
	transition: background-color 0.3s ease;
	width: 100%;
}

.p-group__card-button:hover {
	background-color: #003865;
}

.p-group__card-button svg {
	fill: currentColor;
	height: 0.875rem;
	width: 1rem;
}

.p-group__card-button--hidden {
	visibility: hidden;
}

.p-group__overview {
	margin-top: 7.5rem;
	padding-right: 20rem;
}

.p-group__overview-lead {
	color: #111;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 2;
	margin-top: 1.25rem;
}

.p-group__overview-figure {
	margin-top: 2.5rem;
}

.p-group__diagram {
	aspect-ratio: 880/841;
	container-type: inline-size;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	width: 100%;
}

.p-group__diagram-swirl {
	-o-object-fit: cover;
	bottom: 0;
	height: 100%;
	left: 0;
	object-fit: cover;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	z-index: 0;
}

.p-group__diagram-logo {
	height: auto;
	left: 23.75%;
	position: absolute;
	top: 45.07%;
	width: 52.61%;
	z-index: 1;
}

.p-group__node {
	display: contents;
}

.p-group__node-label {
	color: #003865;
	font-size: 2.27cqw;
	font-weight: 700;
	line-height: 1;
	margin: 0;
	padding-left: 1.6cqw;
	position: absolute;
	text-orientation: sideways;
	white-space: nowrap;
	writing-mode: vertical-rl;
	z-index: 1;
}

.p-group__node-label::before {
	background-color: #ffeb00;
	content: "";
	height: 100%;
	left: 0.875rem;
	position: absolute;
	top: 0;
	width: 1.02cqw;
	z-index: -1;
}

.p-group__node--production .p-group__node-label {
	left: 27.18%;
	top: 0.12%;
}

.p-group__node--value .p-group__node-label {
	left: -1%;
	top: 67.06%;
}

.p-group__node--tech .p-group__node-label {
	left: 51.64%;
	line-height: 1.5;
	top: 66.83%;
}

.p-group__node--tech .p-group__node-label::after {
	background-color: #ffeb00;
	content: "";
	height: 68.6%;
	left: 62%;
	position: absolute;
	top: 0;
	width: 1.02cqw;
	z-index: -1;
}

.p-group__node-card {
	aspect-ratio: 340/213;
	border-radius: 1.82cqw;
	overflow: hidden;
	position: absolute;
	width: 38.64%;
	z-index: 1;
}

.p-group__node--production .p-group__node-card {
	left: 33.07%;
	top: 0;
}

.p-group__node--value .p-group__node-card {
	left: 5.23%;
	top: 66.83%;
}

.p-group__node--tech .p-group__node-card {
	left: 61.36%;
	top: 66.83%;
}

.p-group__node-photo {
	-o-object-fit: cover;
	bottom: 0;
	display: block;
	height: 100%;
	left: 0;
	object-fit: cover;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	z-index: 0;
}

.p-group__node-card::after {
	background-color: #003865;
	bottom: 0;
	content: "";
	left: 0;
	opacity: 0.3;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
}

.p-group__node--value .p-group__node-card::after {
	opacity: 0.4;
}

.p-group__node-body {
	align-items: center;
	bottom: 0;
	display: flex;
	flex-direction: column;
	gap: 1.9cqw;
	justify-content: center;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 2;
}

.p-group__node-chip {
	background-color: #fff;
	color: #111;
	display: inline-block;
	font-size: 2.73cqw;
	font-weight: 700;
	line-height: 1.4;
	padding: 0.2cqw 1.4cqw;
	white-space: nowrap;
}

.p-group__node-caption {
	color: #fff;
	font-size: 1.82cqw;
	font-weight: 700;
	line-height: 1.4;
	margin: 0;
	white-space: nowrap;
}

.p-group__node-companies {
	color: #111;
	font-size: 1.82cqw;
	font-weight: 700;
	line-height: 1.25;
	list-style: none;
	margin: 0;
	padding: 0;
	position: absolute;
	z-index: 1;
}

.p-group__node--production .p-group__node-companies {
	grid-column-gap: 3.07cqw;
	-moz-column-gap: 3.07cqw;
	grid-row-gap: 0.9cqw;
	column-gap: 3.07cqw;
	display: grid;
	grid-template-columns: auto auto;
	left: 33.64%;
	row-gap: 0.9cqw;
	top: 27.47%;
}

.p-group__node--value .p-group__node-companies {
	grid-row-gap: 0.9cqw;
	display: grid;
	justify-items: center;
	left: 24.55%;
	row-gap: 0.9cqw;
	text-align: center;
	top: 94.29%;
	transform: translateX(-50%);
}

.p-group__node--tech .p-group__node-companies {
	left: 80.68%;
	text-align: center;
	top: 94.29%;
	transform: translateX(-50%);
}

.p-group__strengths {
	margin-top: 7.5rem;
}

.p-group__strengths-lead {
	color: #111;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 2.22;
	margin-top: 1.25rem;
}

.p-group__strength {
	margin-top: 4.375rem;
	min-height: 34.875rem;
	position: relative;
}

.p-group__strength + .p-group__strength {
	-o-border-image: linear-gradient(90deg, #006ec6 0%, #24b3de 100%) 1;
	border-image: linear-gradient(90deg, #006ec6 0%, #24b3de 100%) 1;
	border-top: 0.0625rem solid transparent;
	margin-top: 8.125rem;
	padding-top: 6.125rem;
}

.p-group__strength-body {
	position: relative;
	z-index: 1;
}

.p-group__strength-num {
	color: #003865;
	font-family: "Ubuntu", sans-serif;
	font-size: 13.25rem;
	font-style: italic;
	font-weight: 700;
	line-height: 1;
	margin-left: -1.3125rem;
	opacity: 0.053;
}

.p-group__strength-badge {
	align-items: center;
	background-color: #003865;
	border-radius: 1rem;
	color: #fff;
	display: inline-flex;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.6;
	margin-top: 1.8125rem;
	min-height: 3rem;
	padding: 0.25rem 1.1875rem;
}

.p-group__strength-title {
	color: #111;
	font-size: 3rem;
	font-weight: 700;
	line-height: 1.17;
	margin-top: 1.6875rem;
}

.p-group__strength-text {
	color: #111;
	font-size: 1rem;
	font-weight: 400;
	line-height: 2.5rem;
	margin-top: 2.4375rem;
}

.p-group__strength-text span {
	-webkit-box-decoration-break: clone;
	background-color: #fff;
	box-decoration-break: clone;
	padding: 0.1875rem 0.5rem;
}

.p-group__strength-visual {
	border-radius: 1rem;
	height: 31.125rem;
	overflow: hidden;
	position: absolute;
	right: 0;
	top: 3.75rem;
	width: 46.75rem;
}

.p-group__strength + .p-group__strength .p-group__strength-visual {
	top: 9.9375rem;
}

.p-group__strength-visual img {
	-o-object-fit: cover;
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.p-group__strength-visual::before {
	background-image: url("../images/group/strength-mask.png");
	background-position: center;
	background-size: cover;
	bottom: 0;
	content: "";
	height: 100%;
	left: 0;
	mix-blend-mode: overlay;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
}

.p-group__strength-visual::after {
	background-image: linear-gradient(180deg, #006ec6 0%, #24b3de 100%);
	bottom: 0;
	content: "";
	left: 0;
	mix-blend-mode: lighten;
	opacity: 0.5;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
}

.p-header {
	background-color: rgba(255, 255, 255, 0.8);
	height: 5rem;
}

.p-header__inner {
	align-items: center;
	display: flex;
	gap: 0.625rem;
	height: 100%;
	padding-left: 1.6875rem;
}

.p-header__logo {
	display: block;
	width: 13.3125rem;
}

.p-header__logo img {
	height: auto;
	width: 100%;
}

.p-header__nav {
	align-self: stretch;
	display: block;
	margin-left: auto;
}

.p-header__menu {
	-moz-column-gap: max(0.625rem, min(1.2vw, 1.5rem));
	align-items: stretch;
	column-gap: max(0.625rem, min(1.2vw, 1.5rem));
	display: flex;
	height: 100%;
}

.p-header__item {
	align-items: center;
	display: flex;
	position: relative;
}

.p-header__item::after {
	background-color: #003865;
	bottom: 0;
	content: "";
	height: 0.1875rem;
	left: -0.375rem;
	pointer-events: none;
	position: absolute;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.3s ease;
	width: calc(100% + 0.75rem);
}

.p-header__item:hover::after {
	transform: scaleX(1);
}

.p-header__item > a {
	align-items: center;
	color: #000;
	display: flex;
	font-family: "Noto Sans JP", sans-serif;
	font-size: max(0.75rem, min(1vw, 0.875rem));
	font-weight: 800;
	letter-spacing: 0.04em;
	line-height: 1;
	position: relative;
	white-space: nowrap;
}

.p-header__label {
	display: inline-block;
	height: 1.4em;
	line-height: 1.4em;
	overflow: hidden;
	position: relative;
	text-align: center;
	vertical-align: middle;
}

.p-header__label-en,
.p-header__label-ja {
	display: block;
	height: 1.4em;
	line-height: 1.4em;
	transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
	white-space: nowrap;
}

.p-header__label-ja {
	color: #003865;
}

.p-header__item:hover .p-header__label-en,
.p-header__item:hover .p-header__label-ja {
	transform: translateY(-100%);
}

.p-header__item--dropdown > a::after {
	border-bottom: 1.5px solid #003865;
	border-right: 1.5px solid #003865;
	content: "";
	height: 0.375rem;
	left: 50%;
	margin-top: 0.4375rem;
	position: absolute;
	top: 100%;
	transform: translate(-50%, -50%) rotate(45deg);
	width: 0.375rem;
}

.p-header__recruit {
	-moz-column-gap: 0.5rem;
	align-items: center;
	background-color: #cfdae6;
	background-image: url("../images/common/recruit-btn-bg.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: 1rem;
	column-gap: 0.5rem;
	display: flex;
	height: 3rem;
	justify-content: flex-end;
	margin-left: max(1rem, min(2vw, 1.625rem));
	margin-right: max(1rem, min(1.9vw, 1.8125rem));
	padding-right: 1rem;
	position: relative;
	transition: transform 0.4s ease, filter 0.4s ease, box-shadow 0.4s ease;
	width: 10.125rem;
}

.p-header__recruit::after {
	border-right: 0.125rem solid #003865;
	border-top: 0.125rem solid #003865;
	content: "";
	flex-shrink: 0;
	height: 0.4375rem;
	transform: rotate(45deg);
	transition: transform 0.3s ease;
	width: 0.4375rem;
}

.p-header__recruit:hover {
	box-shadow: 0 0.375rem 0.875rem rgba(0, 56, 101, 0.25);
	transform: translateY(-0.125rem);
}

.p-header__recruit:hover::after {
	transform: translateX(0.125rem) rotate(45deg);
}

.p-header__recruit-text {
	color: #000;
	font-family: "Ubuntu", sans-serif;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1;
}

.p-header__contact {
	align-items: center;
	background-color: #003865;
	color: #fff;
	display: flex;
	flex-direction: column;
	height: 5rem;
	justify-content: center;
	text-align: center;
	width: 12.5rem;
}

.p-header__contact-label {
	color: #fff;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1;
}

.p-header__tel {
	-moz-column-gap: 0.5rem;
	align-items: center;
	color: #fff;
	column-gap: 0.5rem;
	display: flex;
	justify-content: center;
	margin-top: 0.3125rem;
}

.p-header__tel-icon {
	fill: currentColor;
	height: 1.1875rem;
	width: 1.1875rem;
}

.p-header__tel-num {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.375rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1;
}

.p-header__contact-time {
	color: #fff;
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1;
	margin-top: 0.25rem;
}

.p-header__hamburger {
	background-color: #656565;
	border: none;
	border-radius: 0;
	cursor: pointer;
	display: none;
	height: 2.5rem;
	margin-left: auto;
	padding: 0;
	position: relative;
	transition: background-color 0.3s ease;
	width: 2.5rem;
	z-index: 110;
}

.p-header__hamburger-line {
	background-color: #fff;
	height: 0.125rem;
	left: 50%;
	margin-left: -0.5rem;
	position: absolute;
	transition: transform 0.3s ease, opacity 0.3s ease;
	width: 1rem;
}

.p-header__hamburger-line:nth-child(1) {
	top: 0.8125rem;
}

.p-header__hamburger-line:nth-child(2) {
	top: 1.1875rem;
}

.p-header__hamburger-line:nth-child(3) {
	top: 1.5625rem;
}

.p-header__hamburger.is-active {
	background-color: #003865;
}

.p-header__hamburger.is-active .p-header__hamburger-line:nth-child(1) {
	top: 1.1875rem;
	transform: rotate(45deg);
}

.p-header__hamburger.is-active .p-header__hamburger-line:nth-child(2) {
	opacity: 0;
}

.p-header__hamburger.is-active .p-header__hamburger-line:nth-child(3) {
	top: 1.1875rem;
	transform: rotate(-45deg);
}

.p-drawer {
	display: none;
	height: 100%;
	overflow: hidden;
	pointer-events: none;
	position: fixed;
	right: 0;
	top: 0;
	visibility: hidden;
	width: 100%;
	z-index: 105;
}

.p-drawer__overlay {
	background-color: rgba(17, 17, 17, 0.5);
	bottom: 0;
	left: 0;
	opacity: 0;
	position: absolute;
	right: 0;
	top: 0;
	transition: opacity 0.3s ease;
}

.p-drawer__panel {
	-webkit-overflow-scrolling: touch;
	background-color: #f2f5f7;
	height: 100%;
	overflow-y: auto;
	padding-top: 2.5rem;
	position: absolute;
	right: 0;
	top: 0;
	transform: translateX(100%);
	transition: transform 0.3s ease;
	width: 100%;
}

.p-drawer__item {
	border-bottom: 1px solid rgba(17, 17, 17, 0.1);
}

.p-drawer__menu .p-drawer__item:last-child {
	border-bottom: none;
}

.p-drawer__link,
.p-drawer__toggle {
	align-items: flex-start;
	background: none;
	border: none;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	padding: 1rem 2.5rem 1rem 1.25rem;
	position: relative;
	text-align: left;
	width: 100%;
}

.p-drawer__ja {
	color: #111;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.3;
}

.p-drawer__en {
	color: #003865;
	font-family: "Ubuntu", sans-serif;
	font-size: 0.75rem;
	font-style: normal;
	font-weight: 700;
	letter-spacing: 0.04em;
	margin-top: 0.125rem;
}

.p-drawer__link::after {
	border-right: 0.125rem solid #003865;
	border-top: 0.125rem solid #003865;
	content: "";
	height: 0.5625rem;
	position: absolute;
	right: 1.375rem;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	width: 0.5625rem;
}

.p-drawer__toggle::before,
.p-drawer__toggle::after {
	background-color: #003865;
	content: "";
	height: 0.125rem;
	position: absolute;
	right: 1.25rem;
	top: 50%;
	width: 1rem;
}

.p-drawer__toggle::after {
	transform: translateY(-50%) rotate(90deg);
	transition: opacity 0.2s ease;
}

.p-drawer__toggle::before {
	transform: translateY(-50%);
}

.p-drawer__item--accordion.is-open .p-drawer__toggle::after {
	opacity: 0;
}

.p-drawer__sub {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease;
}

.p-drawer__item--accordion.is-open .p-drawer__sub {
	max-height: 37.5rem;
}

.p-drawer__sublist {
	background-color: #fff;
	border-radius: 0.5rem;
	margin: 0 1rem 1rem;
	overflow: hidden;
}

.p-drawer__sublink {
	align-items: center;
	color: #111;
	display: flex;
	font-size: 1rem;
	font-weight: 500;
	padding: 0.875rem 2.5rem 0.875rem 1rem;
	position: relative;
}

.p-drawer__sublink::after {
	border-right: 0.125rem solid #003865;
	border-top: 0.125rem solid #003865;
	content: "";
	height: 0.4375rem;
	position: absolute;
	right: 1.125rem;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	width: 0.4375rem;
}

.p-drawer__sublink--top {
	color: #003865;
	font-size: 1.125rem;
	font-weight: 700;
}

.p-drawer__sublink--top::after {
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Ccircle cx='256' cy='256' r='256' fill='%23003865'/%3E%3Cpath fill='%23ffffff' d='M369 273c9.4-9.4 9.4-24.6 0-33.9l-80-80c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39L120 232c-13.3 0-24 10.7-24 24s10.7 24 24 24l174.1 0-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80z'/%3E%3C/svg%3E") no-repeat center/contain;
	border: none;
	height: 1.25rem;
	transform: translateY(-50%);
	width: 1.25rem;
}

.p-drawer__banner {
	display: block;
	margin: 2.5rem auto 1.5rem;
	max-width: 21.4375rem;
	width: -moz-fit-content;
	width: fit-content;
}

.p-drawer__banner img {
	display: block;
	height: auto;
	margin: 0 auto;
	max-width: 21.4375rem;
	width: 100%;
}

.p-drawer__policy {
	align-items: center;
	display: flex;
	flex-direction: column;
	padding: 0.5rem 1rem 2rem;
	row-gap: 0.875rem;
}

.p-drawer__policy a {
	color: #111;
	font-size: 1rem;
	font-weight: 500;
}

.p-drawer__contact {
	background-color: #003865;
	color: #fff;
	padding: 2.5rem 1.25rem;
	text-align: center;
}

.p-drawer__contact-label {
	color: #fff;
	font-size: 1.25rem;
	font-weight: 700;
}

.p-drawer__tel {
	-moz-column-gap: 0.625rem;
	align-items: center;
	color: #fff;
	column-gap: 0.625rem;
	display: inline-flex;
	justify-content: center;
	margin-top: 0.75rem;
}

.p-drawer__tel-icon {
	fill: currentColor;
	height: 1.75rem;
	width: 1.75rem;
}

.p-drawer__tel-num {
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1;
}

.p-drawer__contact-time {
	color: #fff;
	font-size: 1rem;
	font-weight: 500;
	margin-top: 0.5rem;
}

.is-drawer-open .l-header {
	z-index: 120;
}

.is-drawer-open .p-drawer {
	pointer-events: auto;
	visibility: visible;
}

.is-drawer-open .p-drawer__overlay {
	opacity: 1;
}

.is-drawer-open .p-drawer__panel {
	transform: translateX(0);
}

.is-drawer-open {
	overflow: hidden;
}

.p-megamenu {
	display: block;
	left: 0;
	opacity: 0;
	pointer-events: none;
	position: fixed;
	right: 0;
	top: 5rem;
	transition: opacity 0.25s ease, visibility 0.25s ease;
	visibility: hidden;
	z-index: 2;
}

.p-megamenu::before {
	background-color: rgba(5, 5, 5, 0.8);
	content: "";
	height: 100vh;
	left: 0;
	pointer-events: none;
	position: fixed;
	top: 5rem;
	width: 100vw;
	z-index: -2;
}

.p-megamenu::after {
	background-color: rgba(237, 241, 244, 0.97);
	bottom: 0;
	box-shadow: 0 0.5rem 1rem rgba(17, 17, 17, 0.08);
	content: "";
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	z-index: -1;
}

.p-header__item--dropdown:hover .p-megamenu {
	opacity: 1;
	pointer-events: auto;
	visibility: visible;
}

.p-megamenu__inner {
	-moz-column-gap: 3.5625rem;
	align-items: flex-start;
	column-gap: 3.5625rem;
	display: flex;
	margin-left: auto;
	margin-right: auto;
	max-width: none;
	padding-left: 0;
	padding-right: 0;
	position: relative;
	width: min(100rem, calc(100% - 3rem));
}

.p-megamenu__watermark {
	-webkit-user-select: none;
	-moz-user-select: none;
	bottom: -1.875rem;
	color: #fff;
	font-family: "Ubuntu", sans-serif;
	font-size: 9.3125rem;
	font-style: italic;
	font-weight: 700;
	left: -1rem;
	line-height: 1.1476510067;
	margin: 0;
	mix-blend-mode: soft-light;
	pointer-events: none;
	position: absolute;
	user-select: none;
	white-space: nowrap;
	z-index: 2;
}

.p-megamenu__visual {
	align-self: stretch;
	flex-shrink: 0;
	overflow: hidden;
	position: relative;
	width: max(23.75rem, min(24vw, 27.125rem));
	z-index: 1;
}

.p-megamenu__visual img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	opacity: 0.7;
	width: 100%;
}

.p-megamenu__body {
	-moz-column-gap: 2rem;
	align-items: flex-start;
	column-gap: 2rem;
	display: flex;
	flex: 1;
	justify-content: space-between;
	min-width: 0;
	position: relative;
	z-index: 3;
}

.p-megamenu__head {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	flex-shrink: 0;
	max-width: 20.625rem;
	padding-bottom: 2.25rem;
	padding-top: 3rem;
	width: -moz-max-content;
	width: max-content;
}

.p-megamenu__en {
	background-color: #fff;
	display: inline-block;
	font-family: "Ubuntu", sans-serif;
	font-size: max(1.75rem, min(2.5vw, 3rem));
	font-style: italic;
	font-weight: 700;
	line-height: 1.15;
	padding: 0.25rem 0.625rem;
	white-space: nowrap;
}

.p-megamenu__grad {
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	background-image: linear-gradient(90deg, #1b2335 0%, #28243f 11%, #432f49 20%, #5e3e54 27%, #89715e 33%, #6c7667 40%, #506377 50%, #457987 58%, #70a6a9 66%, #9cb1b3 74%, #b0b2b3 82%, #a1a4a3 92%, #919b9c 100%);
	color: transparent;
	display: inline-block;
	margin-right: -0.1em;
	padding-right: 0.1em;
}

.p-megamenu__ja {
	background-color: #fff;
	color: #111;
	display: inline-block;
	font-size: 1rem;
	font-weight: 700;
	margin-top: 0.5rem;
	padding: 0.125rem 0.5rem;
}

.p-megamenu__button {
	margin-top: 1.5rem;
}

.p-megamenu__links {
	grid-column-gap: 1.25rem;
	-moz-column-gap: 1.25rem;
	grid-row-gap: 1rem;
	column-gap: 1.25rem;
	display: grid;
	flex-shrink: 1;
	grid-template-columns: repeat(3, minmax(0, 12.625rem));
	min-width: 0;
	padding-bottom: 2.25rem;
	padding-top: 2.25rem;
	row-gap: 1rem;
}

.p-megamenu__links a {
	display: flex;
	flex-direction: column;
	transition: opacity 0.2s ease;
}

.p-megamenu__links a:hover {
	opacity: 0.7;
}

.p-megamenu__card-img {
	aspect-ratio: 202/83;
	background-color: #fff;
	border-radius: 0.5rem;
	display: block;
	overflow: hidden;
	width: 100%;
}

.p-megamenu__card-img img {
	-o-object-fit: cover;
	display: block;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
	width: 100%;
}

.p-megamenu__links a:hover .p-megamenu__card-img img {
	transform: scale(1.06);
}

.p-megamenu__card-img--illust {
	align-items: center;
	display: flex;
	justify-content: center;
}

.p-megamenu__card-img--illust img {
	-o-object-fit: contain;
	height: 86%;
	max-width: 90%;
	object-fit: contain;
	width: auto;
}

.p-megamenu__links a:hover .p-megamenu__card-img--illust img {
	transform: none;
}

.p-megamenu__card-label {
	-moz-column-gap: 0.5rem;
	align-items: center;
	color: #111;
	column-gap: 0.5rem;
	display: flex;
	font-size: 0.875rem;
	font-weight: 700;
	justify-content: space-between;
	margin-top: 0.5rem;
}

.p-megamenu__card-label::after {
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Ccircle cx='256' cy='256' r='256' fill='%23003865'/%3E%3Cpath fill='%23ffffff' d='M369 273c9.4-9.4 9.4-24.6 0-33.9l-80-80c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39L120 232c-13.3 0-24 10.7-24 24s10.7 24 24 24l174.1 0-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80z'/%3E%3C/svg%3E") no-repeat center/contain;
	content: "";
	flex-shrink: 0;
	height: 1.25rem;
	width: 1.25rem;
}

.p-isms {
	position: relative;
}

.p-isms__inner {
	position: relative;
	z-index: 1;
}

.p-isms__head,
.p-isms__items,
.p-isms__signature {
	max-width: 55rem;
}

.p-isms__head {
	display: flex;
	flex-direction: column;
}

.p-isms__en {
	color: #707070;
	font-family: "Ubuntu", sans-serif;
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	line-height: 2;
}

.p-isms__title {
	color: #003865;
	font-size: 2.5rem;
	font-weight: 800;
	line-height: 1.2;
	margin-top: 0.5rem;
}

.p-isms__items {
	list-style: none;
	margin-top: 2.5rem;
}

.p-isms__item + .p-isms__item {
	margin-top: 2.5rem;
}

.p-isms__item-head {
	letter-spacing: 0;
	line-height: 1;
	padding: 1rem 0.75rem 1rem 0.875rem;
}

.p-isms__item-text {
	color: #111;
	font-size: 1rem;
	font-weight: 400;
	line-height: 2;
	margin-top: 1.5rem;
}

.p-isms__notes {
	color: #111;
	font-size: 1rem;
	font-weight: 400;
	line-height: 2;
	list-style: none;
	margin-top: 1.5rem;
}

.p-isms__notes li {
	padding-left: 1.25rem;
	text-indent: -1.25rem;
}

.p-isms__notes li::before {
	content: "・";
}

.p-isms__signature {
	color: #111;
	font-size: 1rem;
	font-weight: 400;
	line-height: 2;
	margin-top: 2.5rem;
	text-align: right;
}

.p-lower {
	background-color: #f2f5f7;
	padding-bottom: 6rem;
	padding-top: 4rem;
	position: relative;
}

.p-lower::before {
	background-image: url("../images/common/company-bg-texture.png");
	background-position: center top;
	background-repeat: repeat;
	background-size: 90rem 150.0625rem;
	bottom: 0;
	content: "";
	left: 0;
	mix-blend-mode: overlay;
	opacity: 0.904;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 0;
}

.p-lower::after {
	background-image: url("../images/common/company-bg-rainbow.jpg");
	background-position: center top;
	background-repeat: repeat-y;
	background-size: 90rem 150.0625rem;
	bottom: 0;
	content: "";
	left: 0;
	mix-blend-mode: soft-light;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 0;
}

.p-lower__inner {
	position: relative;
	z-index: 1;
}

.p-message__catch {
	margin-top: 1.5rem;
}

.p-message__body {
	-moz-column-gap: 4.5rem;
	align-items: flex-start;
	column-gap: 4.5rem;
	display: flex;
	margin-top: 2.5rem;
}

.p-message__photo {
	flex: 0 0 21.75rem;
	width: 21.75rem;
}

.p-message__photo img {
	-o-object-fit: cover;
	aspect-ratio: 348/493;
	border-radius: 1rem;
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.p-message__sign {
	margin-top: 1.375rem;
}

.p-message__sign-company {
	color: #000;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.7;
}

.p-message__sign-credit {
	-moz-column-gap: 0.5rem;
	align-items: baseline;
	column-gap: 0.5rem;
	display: flex;
	margin-top: 0.25rem;
}

.p-message__sign-role {
	color: #000;
	font-size: 0.875rem;
	font-weight: 700;
}

.p-message__sign-name {
	color: #000;
	font-size: 1.25rem;
	font-weight: 700;
}

.p-message__text {
	flex: 1 1 0;
	min-width: 0;
}

.p-message__text p {
	color: #000;
	font-size: 1rem;
	font-weight: 500;
	line-height: 2;
}

.p-message__text p + p {
	margin-top: 1.5rem;
}

.p-principles {
	margin-top: 5rem;
}

.p-principles__intro {
	display: flex;
	flex-direction: column;
}

.p-principles__heading {
	max-width: 39.5rem;
}

.p-principles__body {
	-moz-column-gap: 2.6875rem;
	align-items: flex-end;
	column-gap: 2.6875rem;
	display: flex;
	justify-content: space-between;
	margin-top: 2.5rem;
}

.p-principles__catch {
	margin-top: 2rem;
}

.p-principles__text {
	color: #000;
	flex: 1 1 19.4375rem;
	font-size: 1rem;
	line-height: 2;
	max-width: 19.4375rem;
	min-width: 0;
	width: 19.4375rem;
}

.p-principles__diagram {
	width: 32.875rem;
}

.p-principles__diagram img {
	-o-object-fit: contain;
	aspect-ratio: 526/452;
	display: block;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.p-principles__list {
	display: flex;
	flex-direction: column;
	margin-top: 4.5rem;
	row-gap: 5rem;
}

.p-principle {
	position: relative;
}

.p-principle__body {
	margin-top: 2.375rem;
	padding-right: 14.5rem;
	position: relative;
}

.p-principle__catch {
	color: #003865;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.65;
}

.p-principle__text {
	color: #000;
	font-size: 1rem;
	line-height: 1.75;
	margin-top: 2rem;
}

.p-principle__body::after {
	background-position: right top;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: 10.0625rem;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	width: 13.5rem;
}

.p-principle--1 .p-principle__body::after {
	background-image: url("../images/company/message-principle-icon-1.svg");
}

.p-principle--2 .p-principle__body::after {
	background-image: url("../images/company/message-principle-icon-2.svg");
	height: 11.75rem;
	width: 11.75rem;
}

.p-principle--3 .p-principle__body::after {
	background-image: url("../images/company/message-principle-icon-3.svg");
	height: 11.75rem;
	width: 11.75rem;
}

.p-principle--4 .p-principle__body::after {
	background-image: url("../images/company/message-principle-icon-4.svg");
	height: 11.75rem;
	width: 11.75rem;
}

.p-principle--5 .p-principle__body::after {
	background-image: url("../images/company/message-principle-icon-5.svg");
	height: 9.0625rem;
	width: 14.9375rem;
}

.p-mv {
	margin-top: -5rem;
	position: relative;
	z-index: 11;
}

.p-mv__media {
	height: 100svh;
	min-height: 50rem;
	position: relative;
	width: 100%;
}

.p-mv__video {
	-o-object-fit: cover;
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.p-mv__catch {
	bottom: 14%;
	left: 0;
	position: absolute;
	right: 0;
	text-align: left;
	z-index: 5;
}

.p-mv__plate {
	display: inline-block;
	padding: 0.125rem 0.5rem;
}

.p-mv__grad {
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	background-image: linear-gradient(90deg, #1b2335 0%, #28243f 11%, #432f49 20%, #5e3e54 27%, #89715e 33%, #6c7667 40%, #506377 50%, #457987 58%, #70a6a9 66%, #9cb1b3 74%, #b0b2b3 82%, #a1a4a3 92%, #919b9c 100%);
	color: transparent;
	display: inline-block;
	margin-right: -0.1em;
	padding-right: 0.1em;
}

.p-mv__script {
	color: #1262b3;
	font-family: "Beloved Script", "Inter", sans-serif;
	font-size: 5.375rem;
	font-weight: 700;
	letter-spacing: 0.016em;
	line-height: 1.1;
}

.p-mv__script .p-mv__plate {
	background-color: #fff;
}

.p-mv__logo {
	color: #111;
	font-family: "Ubuntu", sans-serif;
	font-size: 6.875rem;
	font-style: italic;
	font-weight: 700;
	line-height: 1;
	margin-top: 0.25rem;
}

.p-mv__logo .p-mv__plate {
	background-color: #fff;
}

.p-mv__copy {
	color: #111;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.7142857143;
	margin-top: 0.5rem;
}

.p-mv__copy .p-mv__plate {
	background-color: #fff;
	white-space: nowrap;
}

.p-mv__scroll {
	align-items: center;
	bottom: -5.5rem;
	display: flex;
	flex-direction: column;
	left: 50%;
	pointer-events: none;
	position: absolute;
	row-gap: 1.125rem;
	transform: translateX(-50%);
	z-index: 10;
}

.p-mv__scroll-text {
	color: #000;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1;
	writing-mode: vertical-rl;
}

.p-mv__scroll-line {
	display: block;
	height: 7.1875rem;
	overflow: hidden;
	position: relative;
	width: 2.5rem;
}

.p-mv__scroll-line::before {
	animation: p-mv-scroll-flow 1.2s ease-in-out infinite;
	background-color: #707070;
	content: "";
	height: 7.1875rem;
	left: 50%;
	margin-left: -0.03125rem;
	position: absolute;
	top: 0;
	width: 0.0625rem;
}

.p-mv__scroll-line::after {
	animation: p-mv-scroll-flow-arrow 1.2s ease-in-out infinite;
	border-right: 0.0625rem solid #000;
	content: "";
	height: 0.5rem;
	left: 50%;
	position: absolute;
	top: 6.75rem;
	transform: translateX(-50%) rotate(45deg);
	transform-origin: center;
	width: 0.5rem;
}

.p-news-archive .c-heading {
	margin-top: 0.75rem;
}

.p-news-archive__feature {
	grid-column-gap: 1.34375rem;
	-moz-column-gap: 1.34375rem;
	column-gap: 1.34375rem;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 5.625rem;
}

.p-news-archive__feature-item[data-inview=up] {
	transform: translateY(2.5rem);
}

.p-news-archive__feature-item[data-inview=up].is-inview {
	transform: translateY(0);
}

.p-news-archive__feature-link {
	display: block;
}

.p-news-archive__feature-thumb {
	aspect-ratio: 279/164;
	border-radius: 1rem;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.p-news-archive__feature-thumb img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
	width: 100%;
}

.p-news-archive__feature-link time {
	color: #111;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.6875rem;
	margin-top: 1.25rem;
}

.p-news-archive__feature-title {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	color: #003865;
	display: -webkit-box;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.5;
	margin-top: 0.4375rem;
	overflow: hidden;
}

.p-news-archive__badge {
	align-items: center;
	background-color: rgba(0, 56, 101, 0.1);
	border-radius: 0.5rem;
	color: #111;
	display: inline-flex;
	font-size: 0.75rem;
	font-weight: 700;
	height: 1.5rem;
	line-height: 1;
	margin-top: 0.25rem;
	padding: 0 0.5rem;
}

.p-news-archive__list {
	display: flex;
	flex-direction: column;
	margin-top: 5.625rem;
	row-gap: 1.5rem;
}

.p-news-archive__feature + .p-news-archive__list {
	margin-top: 5rem;
}

.p-news-archive__row {
	-moz-column-gap: 2rem;
	align-items: flex-start;
	column-gap: 2rem;
	display: flex;
}

.p-news-archive__thumb {
	aspect-ratio: 232/136;
	border-radius: 1rem;
	flex: 0 0 14.5rem;
	overflow: hidden;
	position: relative;
	width: 14.5rem;
}

.p-news-archive__thumb img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
	width: 100%;
}

.p-news-archive__thumb--noimage,
.p-news-archive__feature-thumb--noimage {
	align-items: center;
	background-color: rgba(0, 56, 101, 0.05);
	display: flex;
	justify-content: center;
}

.p-news-archive__thumb--noimage img,
.p-news-archive__feature-thumb--noimage img {
	-o-object-fit: contain;
	height: auto;
	object-fit: contain;
	transition: none;
	width: 8.75rem;
}

.p-news-archive__feature-thumb--noimage img {
	width: 10rem;
}

.p-news-archive__body {
	flex: 1 1 0;
	min-width: 0;
	padding-top: 1.25rem;
}

.p-news-archive__body time {
	color: #111;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 2rem;
}

.p-news-archive__body .p-news-archive__badge {
	margin-top: 0.125rem;
}

.p-news-archive__title {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	color: #003865;
	display: -webkit-box;
	font-size: 1rem;
	font-weight: 700;
	line-height: 2rem;
	margin-top: 0.375rem;
	overflow: hidden;
}

.p-news-archive__pager {
	margin-top: 6.25rem;
}

.p-news-archive__pager .nav-links {
	-moz-column-gap: 1rem;
	align-items: center;
	column-gap: 1rem;
	display: flex;
	justify-content: center;
}

.p-news-archive__pager .page-numbers {
	align-items: center;
	border: 0.0625rem solid #003865;
	border-radius: 50%;
	color: #003865;
	display: inline-flex;
	font-size: 1rem;
	font-weight: 700;
	height: 2.125rem;
	justify-content: center;
	transition: background-color 0.3s ease, color 0.3s ease;
	width: 2.125rem;
}

.p-news-archive__pager .page-numbers.current {
	background-color: #003865;
	color: #fff;
}

.p-news-archive__pager a.page-numbers:hover {
	background-color: rgba(0, 56, 101, 0.1);
}

.p-news-archive__pager .page-numbers.next,
.p-news-archive__pager .page-numbers.prev {
	-moz-column-gap: 0.375rem;
	border-radius: 0.5rem;
	column-gap: 0.375rem;
	min-width: 4.125rem;
	padding: 0 0.625rem;
	width: auto;
}

.p-news-archive__pager .page-numbers.next::after,
.p-news-archive__pager .page-numbers.prev::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='11' viewBox='0 0 6 11'%3E%3Cpath d='M4.19127 5.24495L0.220265 1.27707C-0.0734217 0.98338 -0.0734217 0.508483 0.220265 0.217921C0.513949 -0.0726404 0.988847 -0.0726404 1.28253 0.217921L5.78155 4.71382C6.06587 4.99813 6.07211 5.45428 5.80342 5.74797L1.28566 10.2751C1.13881 10.422 0.945105 10.4938 0.754525 10.4938C0.563938 10.4938 0.370232 10.422 0.22339 10.2751C-0.0702965 9.98142 -0.0702965 9.50653 0.22339 9.21597L4.19127 5.24495Z'/%3E%3C/svg%3E") no-repeat center/contain;
	background-color: #003865;
	content: "";
	height: 0.5625rem;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='11' viewBox='0 0 6 11'%3E%3Cpath d='M4.19127 5.24495L0.220265 1.27707C-0.0734217 0.98338 -0.0734217 0.508483 0.220265 0.217921C0.513949 -0.0726404 0.988847 -0.0726404 1.28253 0.217921L5.78155 4.71382C6.06587 4.99813 6.07211 5.45428 5.80342 5.74797L1.28566 10.2751C1.13881 10.422 0.945105 10.4938 0.754525 10.4938C0.563938 10.4938 0.370232 10.422 0.22339 10.2751C-0.0702965 9.98142 -0.0702965 9.50653 0.22339 9.21597L4.19127 5.24495Z'/%3E%3C/svg%3E") no-repeat center/contain;
	width: 0.3125rem;
}

.p-news-archive__pager .page-numbers.prev::before {
	transform: scaleX(-1);
}

.p-news-archive__pager .page-numbers.dots {
	border: none;
	width: auto;
}

.p-news-archive__side {
	margin-top: 1rem;
	z-index: 20;
}

.p-news-archive__side .p-side__group {
	padding-top: 0.625rem;
}

.p-news {
	background-color: #f2f5f7;
	padding-bottom: 6.25rem;
	padding-top: 6.25rem;
}

.p-news__card {
	-moz-column-gap: 5.3125rem;
	background-color: #fff;
	border-radius: 1rem;
	column-gap: 5.3125rem;
	display: flex;
	margin-left: auto;
	margin-right: auto;
	max-width: 64rem;
	padding: 2.625rem 3rem;
}

.p-news__aside {
	flex-shrink: 0;
	text-align: left;
	width: 10.8125rem;
}

.p-news__head {
	text-align: left;
}

.p-news__en {
	display: inline-block;
}

.p-news__en .c-mask__inner {
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	background-image: linear-gradient(90deg, #1b2335 0%, #28243f 11%, #432f49 20%, #5e3e54 27%, #89715e 33%, #6c7667 40%, #506377 50%, #457987 58%, #70a6a9 66%, #9cb1b3 74%, #b0b2b3 82%, #a1a4a3 92%, #919b9c 100%);
	color: transparent;
	display: inline-block;
	margin-right: -0.1em;
	padding-right: 0.1em;
}

.p-news__button {
	margin-top: 1.75rem;
}

.p-news__button--sp {
	display: none;
	margin-left: auto;
	margin-right: auto;
	margin-top: 1.5rem;
}

.p-news__aside .p-news__button {
	display: inline-flex;
}

.p-news__body {
	border-left: 1px solid #e6e6e6;
	flex: 1;
	margin-top: 0;
	min-width: 0;
	padding-left: 3rem;
}

.p-news__list {
	display: flex;
	flex-direction: column;
}

.p-news__item {
	border-bottom: 1px solid #707070;
}

.p-news__item:first-child {
	border-top: none;
}

.p-news__item:last-child {
	border-bottom: none;
}

.p-news__link {
	color: #111;
	display: block;
	padding: 0.75rem 1.75rem 0.75rem 0;
	position: relative;
}

.p-news__link::after {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/%3E%3C/svg%3E") no-repeat center/contain;
	background-color: #003865;
	content: "";
	height: 0.8125rem;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/%3E%3C/svg%3E") no-repeat center/contain;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	transition: transform 0.25s ease;
	width: 1rem;
}

.p-news__link:hover .p-news__title {
	color: #006ec6;
}

.p-news__link:hover::after {
	transform: translateY(-50%) translateX(0.25rem);
}

.p-news__meta {
	-moz-column-gap: 1rem;
	align-items: center;
	column-gap: 1rem;
	display: flex;
}

.p-news__date {
	color: #999;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.5;
}

.p-news__category {
	align-items: center;
	background-color: #dee7ee;
	border-radius: 0.5rem;
	color: #111;
	display: inline-flex;
	font-size: 0.75rem;
	font-weight: 700;
	justify-content: center;
	line-height: 1.5;
	padding: 0.125rem 0.75rem;
	white-space: nowrap;
}

.p-news__title {
	background-image: linear-gradient(currentColor, currentColor);
	background-position: 0 100%;
	background-repeat: no-repeat;
	background-size: 0% 0.0625rem;
	color: #111;
	display: inline;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.5;
	margin-top: 0.25rem;
	transition: color 0.25s ease, background-size 0.3s ease;
}

.p-news__link:hover .p-news__title {
	background-size: 100% 0.0625rem;
}

.p-pagehead {
	background-color: #f2f5f7;
	padding-bottom: 3rem;
	padding-top: 4rem;
}

.p-pagehead__inner {
	text-align: center;
}

.p-pagehead__en {
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	background-image: linear-gradient(90deg, #1b2335 0%, #28243f 11%, #432f49 20%, #5e3e54 27%, #89715e 33%, #6c7667 40%, #506377 50%, #457987 58%, #70a6a9 66%, #9cb1b3 74%, #b0b2b3 82%, #a1a4a3 92%, #919b9c 100%);
	color: transparent;
	display: inline-block;
	font-family: "Ubuntu", sans-serif;
	font-size: 3.5rem;
	font-style: italic;
	font-weight: 700;
	line-height: 1.1;
	margin-right: -0.1em;
	padding-right: 0.1em;
}

.p-pagehead__ja {
	color: #003865;
	font-size: 1rem;
	font-weight: 700;
	margin-top: 0.375rem;
}

.p-pagehead--photo {
	background-color: transparent;
	padding-bottom: 0;
	padding-top: 0;
}

.p-pagehead__head {
	align-items: center;
	background-color: #707070;
	display: flex;
	min-height: 15rem;
	overflow: hidden;
	position: relative;
}

.p-pagehead__head::before {
	background-color: rgba(0, 56, 101, 0.2);
	bottom: 0;
	content: "";
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

.p-pagehead--photo .p-pagehead__head .p-pagehead__inner {
	-moz-column-gap: 1.25rem;
	align-items: center;
	column-gap: 1.25rem;
	display: flex;
	position: relative;
	text-align: left;
}

.p-pagehead--photo .p-pagehead__en {
	-webkit-text-fill-color: #111;
	background-color: #fff;
	color: #111;
	font-family: "Ubuntu", sans-serif;
	font-size: 4rem;
	font-style: italic;
	font-weight: 700;
	line-height: 1.1;
	padding: 0.25rem 1rem;
}

.p-pagehead__tag {
	align-items: center;
	background-color: rgba(255, 255, 255, 0.9);
	border-radius: 0.125rem;
	color: #25282a;
	display: inline-flex;
	font-size: 1rem;
	font-weight: 700;
	justify-content: center;
	padding: 0.125rem 0.75rem;
}

.p-pagehead__band {
	align-items: center;
	background-image: linear-gradient(90deg, #006ec6 0%, #24b3de 100%);
	display: flex;
	min-height: 6.25rem;
}

.p-pagehead--photo .p-pagehead__band .p-pagehead__inner {
	text-align: left;
}

.p-pagehead--photo .p-pagehead__ja {
	color: #fff;
	font-size: 1.5rem;
	margin-top: 0;
}

.p-pagehead--building {
	background-color: transparent;
	padding-bottom: 0;
	padding-top: 0;
}

.p-pagehead--building .p-pagehead__head {
	background-color: #707070;
	height: 15rem;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.p-pagehead__photo {
	height: 15rem;
	overflow: hidden;
	width: 100%;
}

.p-pagehead--building .p-pagehead__photo {
	bottom: 0;
	height: 100%;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

.p-pagehead__img {
	-o-object-fit: cover;
	-o-object-position: center;
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

.p-pagehead--building .p-pagehead__head::before {
	background-image: url("../images/common/company-bg-rainbow.jpg");
	background-position: center;
	background-size: cover;
	bottom: 0;
	content: "";
	left: 0;
	mix-blend-mode: lighten;
	opacity: 0.2;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
}

.p-pagehead--building .p-pagehead__head::after {
	background-color: rgba(0, 56, 101, 0.2);
	bottom: 0;
	content: "";
	left: 0;
	mix-blend-mode: multiply;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
}

.p-pagehead--building .p-pagehead__plate {
	bottom: 4.875rem;
	left: 0;
	position: absolute;
	right: 0;
	z-index: 2;
}

.p-pagehead--building .p-pagehead__plate-inner {
	-moz-column-gap: 2.25rem;
	align-items: center;
	column-gap: 2.25rem;
	display: flex;
	height: auto;
}

.p-pagehead--building .p-pagehead__en {
	display: flex;
	font-family: "Ubuntu", sans-serif;
	font-size: 4rem;
	font-style: italic;
	font-weight: 700;
	line-height: 1.15;
	position: relative;
}

.p-pagehead--building .p-pagehead__en span {
	-webkit-text-fill-color: transparent;
	background-color: rgba(255, 255, 255, 0.9);
	background-image: none;
	color: transparent;
	display: inline-block;
	padding: 0.125rem 1rem;
	position: relative;
}

.p-pagehead--building .p-pagehead__en span::before {
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	background-image: linear-gradient(90deg, #1b2335 0%, #28243f 11%, #432f49 20%, #5e3e54 27%, #89715e 33%, #6c7667 40%, #506377 50%, #457987 58%, #70a6a9 66%, #9cb1b3 74%, #b0b2b3 82%, #a1a4a3 92%, #919b9c 100%);
	color: transparent;
	content: attr(data-text);
	display: inline-block;
	left: 1rem;
	margin-right: -0.1em;
	padding-right: 0.1em;
	position: absolute;
	top: 0.125rem;
}

.p-pagehead--building .p-pagehead__head .p-pagehead__ja {
	background-color: rgba(255, 255, 255, 0.9);
	color: #25282a;
	display: inline-block;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.4;
	margin-top: 0;
	padding: 0.125rem 0.75rem;
}

.p-pagehead--building .p-pagehead__band {
	align-items: center;
	background-image: linear-gradient(90deg, #006ec6 0%, #24b3de 100%);
	display: flex;
	min-height: 6.25rem;
	overflow: hidden;
	position: relative;
}

.p-pagehead--building .p-pagehead__band::before {
	background-image: linear-gradient(120deg, rgba(255, 255, 255, 0) 40%, rgba(255, 255, 255, 0.18) 100%);
	bottom: 0;
	content: "";
	left: 0;
	mix-blend-mode: lighten;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
}

.p-pagehead--building .p-pagehead__inner {
	position: relative;
	text-align: left;
	z-index: 1;
}

.p-pagehead--building .p-pagehead__title {
	color: #fff;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.4;
	margin-top: 0;
	text-shadow: none;
}

.p-pagehead--hero {
	background-color: transparent;
	padding-bottom: 0;
	padding-top: 0;
}

.p-pagehead__hero {
	align-items: center;
	background-color: #111;
	display: flex;
	justify-content: center;
	min-height: 35.875rem;
	overflow: hidden;
	position: relative;
}

.p-pagehead__hero .p-pagehead__photo {
	bottom: 0;
	height: 100%;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
}

.p-pagehead__hero .p-pagehead__img {
	-o-object-fit: cover;
	-o-object-position: center;
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

.p-pagehead__hero::before {
	background-image: url("../images/common/company-bg-rainbow.jpg");
	background-position: center;
	background-size: cover;
	bottom: 0;
	content: "";
	left: 0;
	mix-blend-mode: lighten;
	opacity: 0.2;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
}

.p-pagehead__plate {
	align-items: center;
	display: flex;
	flex-direction: column;
	position: relative;
	text-align: center;
	z-index: 2;
}

.p-pagehead--hero .p-pagehead__en {
	font-family: "Ubuntu", sans-serif;
	font-size: 5rem;
	font-style: italic;
	font-weight: 700;
	line-height: 1.15;
}

.p-pagehead--hero .p-pagehead__en span {
	-webkit-text-fill-color: transparent;
	background-color: rgba(255, 255, 255, 0.9);
	background-image: none;
	color: transparent;
	display: inline-block;
	padding: 0.25rem 1.5rem;
	position: relative;
}

.p-pagehead--hero .p-pagehead__en span::before {
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	background-image: linear-gradient(90deg, #1b2335 0%, #28243f 11%, #432f49 20%, #5e3e54 27%, #89715e 33%, #6c7667 40%, #506377 50%, #457987 58%, #70a6a9 66%, #9cb1b3 74%, #b0b2b3 82%, #a1a4a3 92%, #919b9c 100%);
	color: transparent;
	content: attr(data-text);
	display: inline-block;
	left: 1.5rem;
	margin-right: -0.1em;
	padding-right: 0.1em;
	position: absolute;
	top: 0.25rem;
}

.p-pagehead__label {
	background-color: rgba(255, 255, 255, 0.9);
	color: #25282a;
	display: inline-block;
	font-size: 1rem;
	font-weight: 700;
	margin-top: 0.8125rem;
	padding: 0.125rem 1.25rem;
}

.p-pagehead__copy {
	align-items: center;
	display: flex;
	flex-direction: column;
	margin-top: 1.75rem;
	row-gap: 0.5rem;
}

.p-pagehead--hero .p-pagehead__copy-line {
	background-color: rgba(255, 255, 255, 0.9);
	color: #25282a;
	display: inline-block;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.4;
	padding: 0.25rem 1.25rem;
}

.p-pagehead__copy--sp {
	display: none;
}

.p-pagehead--hero .p-pagehead__band {
	align-items: center;
	background-image: linear-gradient(90deg, #006ec6 0%, #24b3de 100%);
	display: flex;
	min-height: 6.25rem;
	overflow: hidden;
	position: relative;
}

.p-pagehead--hero .p-pagehead__band::before {
	background-image: linear-gradient(120deg, rgba(255, 255, 255, 0) 40%, rgba(255, 255, 255, 0.18) 100%);
	bottom: 0;
	content: "";
	left: 0;
	mix-blend-mode: lighten;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
}

.p-pagehead--hero .p-pagehead__inner {
	position: relative;
	text-align: left;
	z-index: 1;
}

.p-pagehead--hero .p-pagehead__title {
	color: #fff;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.4;
}

.p-breadcrumb {
	background-color: #f2f5f7;
	padding-top: 2.5rem;
}

.p-breadcrumb__home {
	height: 0.8125rem;
	margin-right: 0.5rem;
	vertical-align: -1px;
	width: 0.8125rem;
}

.p-breadcrumb__list {
	-moz-column-gap: 0.5rem;
	align-items: center;
	background-color: #dae1e6;
	border-radius: 1rem;
	color: #111;
	column-gap: 0.5rem;
	display: flex;
	flex-wrap: wrap;
	font-size: 0.75rem;
	height: 2.5rem;
	padding: 0 1.25rem;
}

.p-breadcrumb__item {
	align-items: center;
	display: flex;
	min-width: 0;
}

.p-breadcrumb__item:not(:first-child)::before {
	color: #999;
	content: "＞";
	margin-right: 0.5rem;
}

.p-breadcrumb__item a {
	color: #111;
	transition: opacity 0.2s ease;
}

.p-breadcrumb__item a:hover {
	opacity: 0.7;
}

.p-breadcrumb__item--current {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.p-privacy {
	position: relative;
}

.p-privacy__inner {
	position: relative;
	z-index: 1;
}

.p-privacy__block {
	max-width: 55rem;
}

.p-privacy__block + .p-privacy__block {
	margin-top: 5rem;
}

.p-privacy__head {
	display: flex;
	flex-direction: column;
}

.p-privacy__en {
	color: #707070;
	font-family: "Ubuntu", sans-serif;
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	line-height: 2;
}

.p-privacy__title {
	color: #003865;
	font-size: 2.5rem;
	font-weight: 800;
	line-height: 1.2;
	margin-top: 0.5rem;
}

.p-privacy__lead {
	color: #111;
	font-size: 1rem;
	font-weight: 400;
	line-height: 2;
	margin-top: 1.5rem;
}

.p-privacy__items {
	list-style: none;
	margin-top: 2.5rem;
}

.p-privacy__item + .p-privacy__item {
	margin-top: 2.5rem;
}

.p-privacy__item-head {
	padding: 1rem 3.5rem 1rem 1.125rem;
}

.p-privacy__item-num {
	flex: 0 0 auto;
	font-weight: 700;
	margin-right: 0.75rem;
	position: relative;
	z-index: 1;
}

.p-privacy__item-num::after {
	content: ".";
}

.p-privacy__item-text {
	color: #111;
	font-size: 1rem;
	font-weight: 400;
	line-height: 2;
	margin-top: 1.5rem;
}

.p-privacy__sublist {
	color: #111;
	font-size: 1rem;
	font-weight: 400;
	line-height: 2;
	list-style: decimal;
	margin-top: 0.75rem;
	padding-left: 1.5rem;
}

.p-privacy__sublist li + li {
	margin-top: 0.125rem;
}

.p-privacy__signature {
	color: #111;
	font-size: 1rem;
	font-weight: 400;
	line-height: 2;
	margin-top: 2.5rem;
	text-align: right;
}

.p-privacy__contact {
	color: #111;
	font-size: 1rem;
	font-weight: 400;
	line-height: 2;
	margin-top: 1rem;
}

.p-privacy__contact-row {
	align-items: baseline;
	display: flex;
}

.p-privacy__contact-row dt {
	flex: 0 0 8.75rem;
	font-weight: 700;
}

.p-privacy__contact-row dt::after {
	content: "：";
}

.p-privacy__contact-row dd {
	flex: 1 1 0;
	min-width: 0;
}

.p-privacy__contact-row dd a {
	color: #003865;
	font-weight: 700;
	transition: opacity 0.3s ease;
}

.p-privacy__contact-row dd a:hover {
	opacity: 0.7;
}

.p-privacy__contact-note {
	color: #999;
	font-size: 0.875rem;
}

.p-recruit {
	padding-bottom: 5rem;
	padding-top: 5rem;
}

.p-recruit__banner {
	display: block;
	margin: 0 auto;
	max-width: 69.0625rem;
	transition: transform 0.4s ease, filter 0.4s ease;
	width: 100%;
}

.p-recruit__banner[data-inview]:hover {
	filter: drop-shadow(0 0.75rem 1.5rem rgba(0, 56, 101, 0.25));
	transform: translateY(-0.375rem) scale(1.01);
	transition: transform 0.4s ease, filter 0.4s ease;
}

.p-recruit__banner:not([data-inview]):hover {
	filter: drop-shadow(0 0.75rem 1.5rem rgba(0, 56, 101, 0.25));
	transform: translateY(-0.375rem) scale(1.01);
}

.p-recruit__banner img {
	border-radius: 2.8125rem;
	display: block;
	height: auto;
	width: 100%;
}

.p-side {
	width: 100%;
}

.p-side__head {
	align-items: center;
	background-color: #003865;
	border-radius: 1rem;
	color: #fff;
	display: flex;
	font-size: 1rem;
	font-weight: 700;
	height: 3rem;
	padding: 0 1.25rem;
}

.p-side__list {
	display: flex;
	flex-direction: column;
	margin-top: 1rem;
	row-gap: 1rem;
}

.p-side__group {
	background-color: #fff;
	border-radius: 1rem;
	padding: 1rem 1.25rem;
}

.p-side__group-title {
	color: #003865;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.4;
	padding-left: 1.5rem;
	position: relative;
}

.p-side__group-title::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M0 8C0 12.4183 3.58172 16 8 16C12.4183 16 16 12.4183 16 8C16 3.58172 12.4183 -8.4771e-07 8 0C3.58172 0 -8.4771e-07 3.58172 0 8V8ZM8.78125 12.0312C8.4875 12.325 8.0125 12.325 7.72188 12.0312C7.43125 11.7375 7.42812 11.2625 7.72188 10.9719L9.94063 8.75313L4.25 8.75C3.83438 8.75 3.5 8.41563 3.5 8C3.5 7.58438 3.83438 7.25 4.25 7.25H9.94063L7.72188 5.03125C7.42812 4.7375 7.42812 4.2625 7.72188 3.97188C8.01562 3.68125 8.49062 3.67813 8.78125 3.97188L12.2812 7.46875C12.575 7.7625 12.575 8.2375 12.2812 8.52813L8.78125 12.0312Z'/%3E%3C/svg%3E") no-repeat center/contain;
	background-color: #003865;
	content: "";
	height: 1rem;
	left: 0;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M0 8C0 12.4183 3.58172 16 8 16C12.4183 16 16 12.4183 16 8C16 3.58172 12.4183 -8.4771e-07 8 0C3.58172 0 -8.4771e-07 3.58172 0 8V8ZM8.78125 12.0312C8.4875 12.325 8.0125 12.325 7.72188 12.0312C7.43125 11.7375 7.42812 11.2625 7.72188 10.9719L9.94063 8.75313L4.25 8.75C3.83438 8.75 3.5 8.41563 3.5 8C3.5 7.58438 3.83438 7.25 4.25 7.25H9.94063L7.72188 5.03125C7.42812 4.7375 7.42812 4.2625 7.72188 3.97188C8.01562 3.68125 8.49062 3.67813 8.78125 3.97188L12.2812 7.46875C12.575 7.7625 12.575 8.2375 12.2812 8.52813L8.78125 12.0312Z'/%3E%3C/svg%3E") no-repeat center/contain;
	position: absolute;
	top: 0.125rem;
	width: 1rem;
}

.p-side__group-title a {
	color: #003865;
	transition: opacity 0.2s ease;
}

.p-side__group-title a:hover {
	opacity: 0.7;
}

.p-side__group--single .p-side__group-title {
	padding-left: 1.5rem;
}

.p-side__sub {
	display: flex;
	flex-direction: column;
	margin-top: 0.625rem;
	row-gap: 0;
}

.p-side__sub li {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='5' height='2' viewBox='0 0 5 2'%3E%3Cline x1='2' y1='1' x2='3' y2='1' fill='none' stroke='%23707070' stroke-linecap='round' stroke-width='1'/%3E%3C/svg%3E");
	background-position: left bottom;
	background-repeat: repeat-x;
	background-size: 0.3125rem 0.125rem;
	padding: 0.5rem 0 0.5rem 1.125rem;
	position: relative;
}

.p-side__sub li::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='11' viewBox='0 0 6 11'%3E%3Cpath d='M4.19127 5.24495L0.220265 1.27707C-0.0734217 0.98338 -0.0734217 0.508483 0.220265 0.217921C0.513949 -0.0726404 0.988847 -0.0726404 1.28253 0.217921L5.78155 4.71382C6.06587 4.99813 6.07211 5.45428 5.80342 5.74797L1.28566 10.2751C1.13881 10.422 0.945105 10.4938 0.754525 10.4938C0.563938 10.4938 0.370232 10.422 0.22339 10.2751C-0.0702965 9.98142 -0.0702965 9.50653 0.22339 9.21597L4.19127 5.24495Z'/%3E%3C/svg%3E") no-repeat center/contain;
	background-color: #003865;
	content: "";
	height: 0.6875rem;
	left: 0;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='11' viewBox='0 0 6 11'%3E%3Cpath d='M4.19127 5.24495L0.220265 1.27707C-0.0734217 0.98338 -0.0734217 0.508483 0.220265 0.217921C0.513949 -0.0726404 0.988847 -0.0726404 1.28253 0.217921L5.78155 4.71382C6.06587 4.99813 6.07211 5.45428 5.80342 5.74797L1.28566 10.2751C1.13881 10.422 0.945105 10.4938 0.754525 10.4938C0.563938 10.4938 0.370232 10.422 0.22339 10.2751C-0.0702965 9.98142 -0.0702965 9.50653 0.22339 9.21597L4.19127 5.24495Z'/%3E%3C/svg%3E") no-repeat center/contain;
	position: absolute;
	top: 0.8125rem;
	width: 0.375rem;
}

.p-side__sub a {
	color: #111;
	font-size: 0.875rem;
	font-weight: 700;
	transition: opacity 0.2s ease;
}

.p-side__sub a:hover {
	opacity: 0.6;
}

.p-side__group.is-current {
	box-shadow: inset 0 0 0 0.125rem rgba(0, 56, 101, 0.5);
}

.p-side--doc .p-side__group {
	padding-top: 0.8125rem;
}

.p-side--doc .p-side__sub {
	margin-top: 0;
}

.p-single__head {
	margin-top: 0.75rem;
}

.p-single__date {
	color: #111;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 2rem;
}

.p-single__badge {
	align-items: center;
	background-color: rgba(0, 56, 101, 0.1);
	border-radius: 0.5rem;
	color: #111;
	display: inline-flex;
	font-size: 0.75rem;
	font-weight: 700;
	height: 1.5rem;
	line-height: 1;
	margin-top: 0.125rem;
	padding: 0 0.5rem;
}

.p-single__title {
	color: #003865;
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 1.4;
	margin-top: 1rem;
}

.p-single__eyecatch {
	border-radius: 1rem;
	margin-top: 2.5rem;
	overflow: hidden;
}

.p-single__eyecatch img {
	display: block;
	height: auto;
	width: 100%;
}

.p-single__content {
	color: #111;
	font-size: 1.125rem;
	font-weight: 400;
	line-height: 1.78;
	margin-top: 2.1875rem;
}

.p-single__content > * + * {
	margin-top: 1.5rem;
}

.p-single__content > h2 {
	margin-top: 5rem;
}

.p-single__content > h2 + * {
	margin-top: 2.1875rem;
}

.p-single__content > h3 {
	color: #003865;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.5;
	margin-top: 3rem;
}

.p-single__content a {
	-webkit-text-decoration: underline;
	color: #006ec6;
	text-decoration: underline;
	text-underline-offset: 0.2em;
	transition: opacity 0.2s ease;
}

.p-single__content a:hover {
	-webkit-text-decoration: none;
	opacity: 0.7;
	text-decoration: none;
}

.p-single__content ul,
.p-single__content ol {
	background-color: #fff;
	border-radius: 1rem;
	padding: 0.625rem 1.5rem 0.625rem 1.375rem;
}

.p-single__content ul + *,
.p-single__content ol + * {
	margin-top: 1.25rem;
}

.p-single__content ul li {
	padding-left: 1.5rem;
	position: relative;
}

.p-single__content ul li::before {
	background-color: #003865;
	border-radius: 50%;
	content: "";
	height: 0.75rem;
	left: 0;
	position: absolute;
	top: 0.625rem;
	width: 0.75rem;
}

.p-single__content ol {
	counter-reset: p-single-ol;
}

.p-single__content ol li {
	counter-increment: p-single-ol;
	padding-left: 1.75rem;
	position: relative;
}

.p-single__content ol li::before {
	color: #003865;
	content: counter(p-single-ol) ".";
	font-weight: 700;
	left: 0.125rem;
	position: absolute;
	top: 0;
}

.p-single__content img {
	border-radius: 1rem;
	height: auto;
	max-width: 100%;
}

.p-single__content strong,
.p-single__content b {
	font-weight: 700;
}

.p-single__back {
	margin-top: 6.25rem;
	text-align: center;
}

.p-sitemap .c-heading {
	margin-top: 0.75rem;
}

.p-sitemap__lead {
	color: #111;
	font-size: 1rem;
	font-weight: 400;
	line-height: 2;
	margin-top: 3.125rem;
}

.p-sitemap__map {
	grid-row-gap: 4.375rem;
	align-items: start;
	display: grid;
	grid-template-columns: 28.75rem 1fr;
	margin-top: 4.5625rem;
	row-gap: 4.375rem;
}

.p-sitemap__home {
	grid-column: 1/-1;
}

.p-sitemap__group-title {
	color: #003865;
	font-size: 1.25rem;
	font-weight: 800;
	line-height: 2rem;
}

.p-sitemap__group-title a {
	color: #003865;
}

.p-sitemap__sub {
	margin-top: 0.9375rem;
	padding-left: 1.5625rem;
	position: relative;
}

.p-sitemap__sub::before {
	background-color: #707070;
	bottom: 0.5rem;
	content: "";
	left: 0;
	position: absolute;
	top: 0.75rem;
	width: 0.0625rem;
}

.p-sitemap__sub a {
	color: #111;
	display: block;
	font-size: 1rem;
	font-weight: 500;
	line-height: 2.5rem;
}

.p-sitemap__single {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	grid-column: 1/-1;
	row-gap: 1.125rem;
}

.p-sitemap__single a {
	color: #003865;
	font-size: 1.125rem;
	font-weight: 800;
	line-height: 2rem;
}

.p-why-page__inner {
	position: relative;
	z-index: 1;
}

.p-why-page__side {
	float: right;
	margin-left: 1.5rem;
	max-height: calc(100vh - 7.5rem);
	overflow-y: auto;
	overscroll-behavior: contain;
	position: sticky;
	top: 6.25rem;
	width: 15.875rem;
	z-index: 20;
}

.p-why-page__head--mt {
	margin-top: 4.5rem;
}

.p-why-page__intro {
	margin-top: 0.5rem;
	position: relative;
}

.p-why-page__intro-visual {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	margin-top: -1.5rem;
	overflow: hidden;
	position: relative;
	width: 100vw;
	z-index: 0;
}

.p-why-page__intro-visual img {
	display: block;
	height: auto;
	width: 100%;
}

.p-why-page__intro-visual::before {
	background: linear-gradient(180deg, #f2f5f7 0%, rgba(242, 245, 247, 0) 100%);
	content: "";
	height: 32.6633165829%;
	left: 0;
	pointer-events: none;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1;
}

.p-why-page__intro-head,
.p-why-page__catch,
.p-why-page__lead {
	position: relative;
	z-index: 2;
}

.p-why-page__catch {
	margin-top: 1rem;
}

.p-why-page__lead {
	color: #111;
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 2.4;
	margin-top: 1.5rem;
}

.p-why-page__text {
	color: #111;
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.7777777778;
}

.p-why-page__formula {
	border-radius: 1rem;
	margin-top: 4.8125rem;
	max-width: 55rem;
	width: 100%;
}

.p-why-page__formula img {
	display: block;
	width: 100%;
}

.p-why-page__section {
	margin-top: 6.25rem;
}

.p-why-page__section-head {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	overflow: hidden;
	padding-left: calc(50vw - 50%);
	padding-right: calc(50vw - 50%);
	padding-top: 1.875rem;
	position: relative;
}

.p-why-page__section-watermark {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	height: 35.25rem;
	mix-blend-mode: luminosity;
	opacity: 0.05;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: -1.875rem;
	width: 52.75rem;
	z-index: 0;
}

.p-why-page__section-lead,
.p-why-page__section-title,
.p-why-page__section-text {
	position: relative;
	z-index: 1;
}

.p-why-page__section-lead {
	color: #111;
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 1.7142857143;
}

.p-why-page__section-title {
	color: #003865;
	font-size: 3rem;
	font-weight: 800;
	line-height: 1.2;
	margin-top: 0.5rem;
}

.p-why-page__section-text {
	color: #111;
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 2.2222222222;
	margin-top: 1.25rem;
}

.p-why-page__photo-slider {
	display: contents;
}

.p-why-page__photo-slider::-webkit-scrollbar {
	display: none;
}

.p-why-page__photo-grid {
	grid-gap: 1.5rem;
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 2rem;
}

.p-why-page__photo-grid li:nth-child(n+4) {
	display: none;
}

.p-why-page__photo-grid img {
	-o-object-fit: cover;
	aspect-ratio: 452/655;
	border-radius: 1rem;
	display: block;
	object-fit: cover;
	width: 100%;
}

.p-why {
	background-color: #f2f5f7;
	min-height: max(calc(28.8125rem + 61vw), 63.75rem);
	overflow: hidden;
	padding-bottom: 0;
	padding-top: 0;
	position: relative;
}

.p-why__watermark {
	animation: p-why-marquee 50s linear infinite;
	color: rgba(0, 0, 0, 0.047);
	display: flex;
	font-family: "Ubuntu", sans-serif;
	font-size: 16.25rem;
	font-style: italic;
	font-weight: 700;
	left: -21.75rem;
	line-height: 0.8384615385;
	margin: 0;
	pointer-events: none;
	position: absolute;
	right: auto;
	text-align: left;
	top: 8.625rem;
	white-space: nowrap;
	width: -moz-max-content;
	width: max-content;
	will-change: transform;
}

.p-why__watermark span {
	margin-left: 5rem;
}

.p-why__inner {
	left: 50%;
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	width: 100%;
	z-index: 2;
}

.p-why__head {
	left: 1.5625rem;
	position: absolute;
	top: 15.25rem;
	z-index: 3;
}

.p-why__en {
	display: block;
	font-family: "Ubuntu", sans-serif;
	font-size: 4rem;
	font-style: italic;
	font-weight: 700;
	line-height: 1.15;
	white-space: nowrap;
}

.p-why__en .c-mask__inner {
	background-color: #fff;
	padding: 0.25rem 0.75rem;
}

.p-why__ja {
	display: block;
	font-size: 1rem;
	font-weight: 700;
	margin-top: 0.625rem;
}

.p-why__ja .c-mask__inner {
	background-color: #fff;
	padding: 0.25rem 0.625rem;
}

.p-why__grad {
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	background-image: linear-gradient(90deg, #1b2335 0%, #28243f 11%, #432f49 20%, #5e3e54 27%, #89715e 33%, #6c7667 40%, #506377 50%, #457987 58%, #70a6a9 66%, #9cb1b3 74%, #b0b2b3 82%, #a1a4a3 92%, #919b9c 100%);
	color: transparent;
	display: inline-block;
	margin-right: -0.1em;
	padding-right: 0.1em;
	padding-right: 0.2em;
}

.p-why__visual {
	left: 50%;
	margin-left: -50vw;
	margin-top: 0;
	max-width: none;
	position: absolute;
	top: 25.0625rem;
	width: 100vw;
	z-index: 1;
}

.p-why__visual::before {
	background: linear-gradient(180deg, #f2f5f7 0%, rgba(242, 245, 247, 0) 100%);
	content: "";
	height: 56.2393162393%;
	left: 0;
	pointer-events: none;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1;
}

.p-why__visual img {
	display: block;
	height: auto;
	position: relative;
	width: 100%;
	z-index: 0;
}

.p-why__lead {
	color: #111;
	font-size: 2.125rem;
	font-weight: 800;
	left: 1.5625rem;
	letter-spacing: normal;
	line-height: 1.8823529412;
	margin-top: 0;
	position: absolute;
	top: 26.375rem;
	z-index: 3;
}

.p-why__text {
	color: #111;
	font-size: 1.5rem;
	font-weight: 700;
	left: 1.5625rem;
	line-height: 2.25;
	margin-top: 0;
	position: absolute;
	top: 36.9375rem;
	z-index: 3;
}

.p-why__button {
	display: flex;
	left: 1.5625rem;
	margin-left: auto;
	margin-right: auto;
	margin-top: 0;
	position: absolute;
	top: 60.75rem;
	z-index: 3;
}

[data-inview] {
	opacity: 0;
	transition: opacity 0.8s ease, transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
	will-change: opacity, transform;
}

[data-inview].is-inview {
	opacity: 1;
}

[data-inview=up] {
	transform: translateY(1.5rem);
}

[data-inview=left] {
	transform: translateX(-2.5rem);
}

[data-inview=right] {
	transform: translateX(2.5rem);
}

[data-inview=up].is-inview,
[data-inview=left].is-inview,
[data-inview=right].is-inview {
	transform: translate(0, 0);
}

.l-lower__side,
.l-group__side,
.p-factory-side,
.p-equipment-side,
.p-why-page__side {
	transition: opacity 0.45s ease;
}

.is-side-faded {
	opacity: 0;
	pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {

.p-feature .c-mask__inner,
.p-why__en .c-mask__inner,
.p-why__ja .c-mask__inner,
.p-news__en .c-mask__inner,
.p-news__ja .c-mask__inner,
.p-contact__en .c-mask__inner,
.p-contact__ja .c-mask__inner {
	opacity: 1;
}

.p-feature .c-section-title__en::after,
.p-feature .c-section-title__ja::after,
.p-why__en::after,
.p-why__ja::after,
.p-news__en::after,
.p-news__ja::after,
.p-contact__en::after,
.p-contact__ja::after {
	display: none;
}

.p-feature__watermark {
	animation: none;
}

.p-news-archive__feature-item[data-inview=up] {
	transform: none;
}

.p-why-page__photo-grid {
	animation: none;
}

.p-why-page__photo-slider {
	overflow-x: auto;
}

.p-why__watermark {
	animation: none;
}

[data-inview] {
	opacity: 1 !important;
	transform: none !important;
	transition: none !important;
}

.l-lower__side,
.l-group__side,
.p-factory-side,
.p-equipment-side,
.p-why-page__side {
	transition: none;
}

}

@media (hover: hover) {

.p-news-archive__row:hover .p-news-archive__thumb img,
.p-news-archive__feature-link:hover .p-news-archive__feature-thumb img {
	transform: scale(1.08);
}

.p-news-archive__row:hover .p-news-archive__thumb--noimage img,
.p-news-archive__feature-link:hover .p-news-archive__feature-thumb--noimage img {
	transform: none;
}

.p-news-archive__row:hover .p-news-archive__title,
.p-news-archive__feature-link:hover .p-news-archive__feature-title {
	-webkit-text-decoration: underline;
	text-decoration: underline;
}

}

@media (max-width: 1200px) {

html {
	font-size: 1.3333333333vw;
}

}

@media screen and (max-width: 767px) {

.u-desktop {
	display: none;
}

.u-mobile {
	display: block;
}

html {
	font-size: 16px;
}

a[href^="tel:"] {
	pointer-events: auto;
}

a:hover {
	opacity: 1;
}

html {
	scroll-padding-top: 3.125rem;
}

.c-bar-dot {
	background-image: radial-gradient(circle 0.3125rem at 0.3125rem 0.6875rem, #ffeb00 99%, transparent 100%);
	height: 1rem;
	margin-right: 0.75rem;
	width: 1rem;
}

.c-bar-dot::before {
	height: 0.625rem;
	width: 0.625rem;
}

.c-bar-dot::after {
	height: 0.625rem;
	left: 0.375rem;
	top: 0.1875rem;
	width: 0.625rem;
}

.c-bar {
	font-size: 1.125rem;
	min-height: 3.75rem;
	padding: 0.875rem 1.25rem;
}

.c-heading--mt {
	margin-top: 2.5rem;
}

.c-heading__ja {
	font-size: 2rem;
}

.c-heading__catch {
	font-size: 2rem;
	line-height: 1.4;
	margin-top: 3rem;
}

.c-section-title__en {
	font-size: 3rem;
}

.l-feature-recruit-section--sub::before,
.l-feature-recruit-section--sub::after {
	-webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 6rem);
	mask-image: linear-gradient(to bottom, transparent 0, #000 6rem);
}

.l-group__layout {
	display: block;
}

.l-group__main {
	margin-right: 0;
}

.l-group__side {
	float: none;
	margin-left: 0;
	margin-top: 2.5rem;
	max-height: none;
	max-width: none;
	overflow: visible;
	position: static;
	width: 100%;
}

.l-inner {
	max-width: 33.75rem;
	padding-left: 16px;
	padding-right: 16px;
}

.l-lower__layout {
	align-items: stretch;
	flex-direction: column;
	row-gap: 2.5rem;
}

.l-lower__main {
	margin-right: 0;
}

.l-lower__side {
	display: none;
}

.l-lower__side--doc {
	display: block;
	margin-left: 0;
	margin-top: 0;
	max-height: none;
	order: -1;
	overflow: visible;
	position: static;
	width: 100%;
}

.l-main {
	padding-top: 2.5rem;
}

.p-about__head--mt {
	margin-top: 2.5rem;
	padding-top: 2rem;
}

.p-about__row {
	flex-direction: column;
	padding-bottom: 1rem;
	row-gap: 0.5rem;
}

.p-about__row dt {
	flex-basis: auto;
	padding-bottom: 0.5rem;
	width: 100%;
}

.p-about__row dd {
	padding-bottom: 0.5rem;
	width: 100%;
}

.p-about__officers li {
	-moz-column-gap: 0.75rem;
	column-gap: 0.75rem;
}

.p-about__officer-pos {
	flex-basis: 7.875rem;
	width: 7.875rem;
}

.p-access {
	row-gap: 2rem;
}

.p-access__name {
	font-size: 1.25rem;
	padding: 0.375rem 1rem;
}

.p-access__body {
	flex-direction: column;
	margin-top: 1.3125rem;
	row-gap: 1.25rem;
}

.p-access__info {
	row-gap: 1.5rem;
	width: 100%;
}

.p-access__group {
	-moz-column-gap: 0;
	align-items: stretch;
	column-gap: 0;
	flex-direction: column;
	row-gap: 1rem;
}

.p-access__label {
	flex-basis: auto;
	padding: 0.5rem 0;
	width: 100%;
}

.p-access__addr {
	width: 100%;
}

.p-access__dept {
	flex-basis: 7.6875rem;
	font-size: 0.875rem;
	padding: 0.5rem 0.625rem;
	width: 7.6875rem;
}

.p-access__nums {
	padding: 0.5rem 0.75rem;
}

.p-access__map {
	flex-basis: auto;
	min-height: 13.75rem;
	width: 100%;
}

.p-access__map iframe {
	min-height: 13.75rem;
}

.p-history__block {
	align-items: stretch;
	flex-direction: column;
	row-gap: 1rem;
}

.p-history__block + .p-history__block {
	margin-top: 2rem;
}

.p-history__year {
	flex-basis: auto;
	font-size: 2.5rem;
	padding-left: 2.5rem;
	padding-top: 0;
	text-align: left;
	width: 100%;
}

.p-history__rows {
	padding-left: 2.5rem;
}

.p-history__rows::before {
	left: 0.75rem;
	top: 0.875rem;
}

.p-history__block:not(:last-child) .p-history__rows::before {
	bottom: -6rem;
}

.p-history__row::before {
	left: -2.5rem;
	top: 0.125rem;
}

.p-history__row::after {
	left: -2.1875rem;
	top: 0.4375rem;
}

.p-history__bar {
	align-items: stretch;
	flex-direction: column;
}

.p-history__month {
	align-items: center;
	align-self: auto;
	background-color: #dae1e6;
	border-top-left-radius: 0.25rem;
	border-top-right-radius: 0.25rem;
	flex-basis: auto;
	font-size: 1.5rem;
	justify-content: flex-start;
	padding: 0.375rem 0.875rem 0.375rem 1.25rem;
	width: 100%;
}

.p-history__detail {
	padding: 0.5rem 1.25rem 1rem;
}

.p-history__title {
	font-size: 1.125rem;
}

.p-history__body {
	-moz-column-gap: 0;
	column-gap: 0;
	flex-direction: column;
	margin-top: 0.5625rem;
	row-gap: 0.75rem;
}

.p-history__text {
	font-size: 1rem;
	width: 100%;
}

.p-history__images {
	width: 100%;
}

.p-history__images img {
	width: 100%;
}

.p-company__lead {
	font-size: 1.25rem;
	line-height: 2;
	text-align: center;
}

.p-company__why {
	flex-direction: column;
	margin-top: 2.25rem;
}

.p-company__why-body {
	padding: 1.75rem 1.25rem;
}

.p-company__why-en {
	font-size: 2.125rem;
}

.p-company__why-button {
	margin-top: 1.25rem;
}

.p-company__why-visual {
	flex-basis: auto;
	max-width: none;
}

.p-company__why-visual img {
	height: 12.5rem;
}

.p-company__block {
	-moz-column-gap: 0;
	column-gap: 0;
	flex-direction: column;
	margin-top: 2.5rem;
	padding-top: 2rem;
	row-gap: 1.5rem;
}

.p-company__block-head {
	flex-basis: auto;
	width: 100%;
}

.p-company__block-ja {
	font-size: 1.75rem;
}

.p-company__block-desc {
	font-size: 1.125rem;
	margin-top: 0.75rem;
}

.p-company__block-desc--wide {
	font-size: 1.125rem;
}

.p-company__cards--2 {
	grid-template-columns: 1fr;
}

.p-company__cards--3 {
	grid-template-columns: 1fr;
}

.p-company__card--wide .p-company__card-thumb {
	aspect-ratio: 384/236;
}

.p-company__card-label {
	font-size: 1.0625rem;
	padding: 0.75rem 0.875rem;
	padding-top: 1.75rem;
}

.p-company__card-text {
	font-size: 0.875rem;
}

.p-contact {
	min-height: 20.625rem;
	padding-bottom: 2.5rem;
	padding-top: 2.5rem;
}

.p-contact__inner {
	-moz-column-gap: normal;
	column-gap: normal;
	flex-direction: column;
	justify-content: normal;
	row-gap: 1.4375rem;
}

.p-contact__title {
	align-items: center;
	flex-shrink: initial;
}

.p-contact__body {
	align-items: center;
	row-gap: 1.0625rem;
}

.p-contact__en {
	font-size: 3rem;
}

.p-contact__ja {
	margin-top: 0.5rem;
}

.p-contact__text {
	text-align: center;
}

.p-contact__info {
	-moz-column-gap: normal;
	align-items: center;
	column-gap: normal;
	flex-direction: column;
	flex-shrink: initial;
	row-gap: 0.5rem;
}

.p-contact__icon {
	height: 1.625rem;
	width: 1.625rem;
}

.p-contact__num {
	font-size: 2rem;
}

.p-culture__divider {
	margin-top: 3rem;
}

.p-culture__text {
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1.9;
	margin-top: 2rem;
}

.p-culture__orgchart {
	border-radius: 0.625rem;
	padding: 1.25rem 1rem;
}

.p-culture__overview-figure--pc {
	display: none;
}

.p-culture__overview-figure--sp {
	display: block;
	max-width: 21.4375rem;
	width: 100%;
}

.p-culture__gallery {
	gap: 0.4375rem;
}

.p-culture__gallery--4 {
	grid-template-columns: repeat(2, 1fr);
}

.p-culture__gallery--3 {
	grid-template-columns: repeat(2, 1fr);
}

.p-culture__gallery img {
	border-radius: 0.625rem;
}

.p-culture__quote {
	align-items: stretch;
	flex-direction: column;
	padding: 1.5rem 1.25rem;
	row-gap: 1.5rem;
}

.p-culture__quote-catch {
	font-size: 1.5rem;
}

.p-culture__quote-text {
	font-size: 1rem;
	line-height: 1.9;
}

.p-culture__quote-figure {
	align-self: center;
}

.p-culture__subhead {
	margin-top: 3rem;
}

.p-culture__note {
	font-size: 1.125rem;
	font-weight: 500;
}

.p-culture__records {
	row-gap: 2.5rem;
}

.p-culture__records::before {
	display: none;
}

.p-culture__record {
	flex-direction: column;
	row-gap: 0.75rem;
}

.p-culture__record-period {
	flex: none;
	font-size: 1.25rem;
	padding-left: 1.5rem;
}

.p-culture__record .p-culture__table thead th:last-child,
.p-culture__record .p-culture__table tbody td:last-child {
	padding-left: 0.625rem;
}

.p-culture__record .p-culture__table tbody td:last-child {
	white-space: normal;
}

.p-culture__table--program td:nth-child(1) {
	font-size: 1rem;
}

.p-culture__table--program td:nth-child(3) {
	font-size: 0.875rem;
}

.p-culture__scroll-hint {
	display: block;
}

.p-equipment__lead-top {
	font-size: 1rem;
	line-height: 1.8;
	text-align: left;
}

.p-equipment__intro {
	margin-top: 2.5rem;
}

.p-equipment__lead {
	font-size: 1rem;
	line-height: 1.8;
	margin-top: 1.25rem;
}

.c-heading + .p-equipment__lead {
	margin-top: 1.25rem;
}

.p-equipment__cards {
	gap: 1.75rem;
	grid-template-columns: 1fr;
	margin-top: 2.5rem;
}

.p-equipment__card-label {
	font-size: 1.125rem;
	padding: 0.875rem 1.25rem;
	padding-top: 2rem;
}

.p-equipment__card-text {
	font-size: 0.875rem;
}

.p-equipment-pagehead__hero {
	min-height: 10rem;
}

.p-equipment-pagehead__en {
	font-size: 2.375rem;
}

.p-equipment-pagehead__ja span {
	font-size: 0.8125rem;
}

.p-equipment-pagehead__band-inner {
	min-height: 4rem;
}

.p-equipment-pagehead__title {
	font-size: 1.125rem;
}

.p-equipment-layout {
	display: block;
	margin-top: 2.25rem;
}

.p-equipment-layout--top {
	margin-top: 0;
}

.p-equipment-main {
	margin-right: 0;
}

.p-equipment-side {
	display: none;
}

.p-equipment-section__lead {
	font-size: 0.9375rem;
	line-height: 1.9;
}

.p-equipment-section__photo {
	margin-top: 1.5rem;
}

.p-equipment-production__lead {
	font-size: 1.625rem;
	line-height: 1.45;
	margin-top: 2.1875rem;
}

.p-equipment-production__read {
	font-size: 1.125rem;
	line-height: 1.9;
	text-align: left;
}

.p-equipment-feat {
	align-items: center;
	flex-direction: column;
	margin-top: 2.25rem;
	row-gap: 1.5rem;
}

.p-equipment-feat__item {
	flex: 0 0 15rem;
	height: 15rem;
	width: 15rem;
}

.p-equipment-feat__sub {
	font-size: 1.0625rem;
}

.p-equipment-feat__title {
	font-size: 1.625rem;
}

.p-equipment-intro2 {
	margin-top: 3.5rem;
}

.p-equipment-intro2__head {
	font-size: 1.625rem;
	line-height: 1.45;
	margin-top: 2.1875rem;
}

.c-heading + .p-equipment-production__lead,
.c-heading + .p-equipment-quality__head,
.c-heading + .p-equipment-cert__lead,
.c-heading + .p-equipment-intro2__head {
	margin-top: 2.1875rem;
}

.p-equipment-intro2__text {
	font-size: 0.9375rem;
	line-height: 1.9;
}

.p-equipment-cat {
	margin-top: 3rem;
}

.p-equipment-spec {
	margin-top: 2rem;
}

.p-equipment-spec__name {
	font-size: 1.25rem;
	line-height: 2;
}

.p-equipment-spec__scroll {
	margin-top: 0.75rem;
}

.p-equipment-spec__scroll-hint {
	display: block;
}

.p-equipment-spec__table {
	font-size: 0.875rem;
	width: 45rem;
}

.p-equipment-spec__table th,
.p-equipment-spec__table td {
	padding: 0.4375rem 0.625rem;
}

.p-equipment-spec__note {
	color: #707070;
	display: block;
	font-size: 0.875rem;
	font-weight: 500;
	margin-top: 0.5rem;
	text-align: center;
}

.p-equipment-cat--first {
	margin-top: 0;
}

.p-equipment-quality__head {
	font-size: 1.625rem;
	line-height: 1.45;
	margin-top: 2.1875rem;
}

.p-equipment-quality__text {
	font-size: 1.125rem;
	line-height: 1.9;
	margin-top: 1.25rem;
}

.p-equipment-quality__photo {
	margin-top: 1.5rem;
}

.p-equipment-quality__photos {
	flex-direction: column;
	margin-top: 1rem;
	row-gap: 1rem;
}

.p-equipment-quality__photo--half {
	margin-top: 0;
}

.p-equipment-quality__block {
	margin-top: 3.5rem;
}

.p-equipment-cert__lead {
	font-size: 1.625rem;
	line-height: 1.45;
	margin-top: 2.1875rem;
}

.p-equipment-cert__text {
	font-size: 1.125rem;
	line-height: 1.9;
	margin-top: 1.25rem;
}

.p-equipment-cert__group {
	margin-top: 3.5rem;
}

.p-equipment-cert__list {
	margin-top: 1.75rem;
}

.p-equipment-cert__item + .p-equipment-cert__item {
	margin-top: 1.75rem;
	padding-top: 1.75rem;
}

.p-equipment-cert__card {
	align-items: stretch;
	flex-direction: column;
	margin-top: 1rem;
	row-gap: 1.25rem;
}

.p-equipment-cert__media {
	aspect-ratio: 418/256;
	flex: 1 1 auto;
	width: 100%;
}

.p-equipment-cert__desc {
	margin-top: 0.75rem;
}

.p-equipment-cert__link {
	display: flex;
	font-size: 0.9375rem;
	margin-left: auto;
	margin-right: auto;
	margin-top: 1.25rem;
	min-height: 2.75rem;
	min-width: 13.75rem;
	width: -moz-fit-content;
	width: fit-content;
}

.p-factory__lead {
	font-size: 1rem;
	line-height: 1.8;
	text-align: left;
}

.p-factory.p-lower {
	padding-top: 3rem;
}

.p-factory__block:first-of-type {
	margin-top: 2.5rem;
}

.p-factory__block .p-company__block-head {
	flex-basis: auto;
	width: 100%;
}

.p-factory__card--wide .p-factory__card-thumb {
	aspect-ratio: 395/236;
}

.p-factory__card-label {
	font-size: 1.0625rem;
	padding: 0.75rem 1.125rem;
	padding-top: 1.75rem;
}

.p-factory__card-text {
	font-size: 0.875rem;
}

.p-factory-intro__lead {
	font-size: 0.9375rem;
	line-height: 1.9;
	margin-top: 1.25rem;
}

.c-heading + .p-factory-intro__lead {
	margin-top: 1.25rem;
}

.p-factory-intro__photo {
	margin-top: 1.5rem;
}

.p-factory-layout {
	display: block;
	margin-top: 2.25rem;
}

.p-factory-main {
	margin-right: 0;
}

.p-factory-layout--top {
	margin-top: 0;
}

.p-factory-side {
	display: none;
}

.p-factory-section {
	margin-top: 3rem;
}

.p-factory-intro + .p-factory-section {
	margin-top: 2.5rem;
}

.p-factory-production .p-factory-intro + .p-factory-section {
	margin-top: 3rem;
}

.p-factory-section__lead {
	font-size: 0.9375rem;
	line-height: 1.9;
	margin-top: 1.25rem;
}

.p-factory-feat {
	margin-top: 1.75rem;
	row-gap: 1.75rem;
}

.p-factory-feat__item {
	flex-direction: column;
}

.p-factory-feat__badge {
	-moz-column-gap: 0;
	column-gap: 0;
	flex-basis: auto;
	flex-direction: column;
	min-height: 6.25rem;
	padding: 0.875rem 0;
	row-gap: 0.125rem;
	width: 100%;
}

.p-factory-feat__en {
	font-size: 1.375rem;
}

.p-factory-feat__num {
	font-size: 2.375rem;
}

.p-factory-feat__body {
	padding: 1.5rem 1.25rem 1.75rem;
}

.p-factory-feat__label {
	display: block;
	font-size: 0.875rem;
	margin-left: auto;
	margin-right: auto;
	padding: 0.1875rem 0.875rem;
	width: -moz-fit-content;
	width: fit-content;
}

.p-factory-feat__title {
	font-size: 1.375rem;
	line-height: 1.45;
}

.p-factory-feat__text {
	line-height: 1.75;
}

.p-factory-mech {
	margin-top: 1.75rem;
	padding-top: 2.5rem;
}

.p-factory-num__no {
	font-size: 2.5rem;
}

.p-factory-num__line {
	height: 1.75rem;
}

.p-factory-num__label {
	font-size: 1.25rem;
}

.p-factory-mech__head {
	-moz-column-gap: 0;
	column-gap: 0;
	flex-direction: column;
	margin-top: 1.25rem;
	row-gap: 1.25rem;
}

.p-factory-mech__title {
	font-size: 1.5rem;
	line-height: 1.66;
}

.p-factory-mech__body {
	font-size: 1rem;
	line-height: 1.75;
	margin-top: 0.875rem;
}

.p-factory-mech__photo {
	flex-basis: auto;
	width: 100%;
}

.p-factory-spec {
	gap: 0.75rem;
	grid-template-columns: repeat(2, 1fr);
}

.p-factory-spec__top {
	min-height: 5rem;
	padding: 0.75rem 0.875rem;
}

.p-factory-spec__name {
	font-size: 1rem;
}

.p-factory-spec__icon {
	height: 2.5rem;
	width: 2.5rem;
}

.p-factory-spec__pre {
	font-size: 0.8125rem;
}

.p-factory-spec__value {
	font-size: 1.1875rem;
}

.p-factory-spec__value--sm {
	font-size: 1.125rem;
}

.p-factory-spec__unit {
	font-size: 0.8125rem;
}

.p-factory-spec__load-label {
	font-size: 0.75rem;
}

.p-factory-mech__pills {
	gap: 1rem;
	grid-template-columns: 1fr;
}

.p-factory-mech__pill {
	font-size: 1rem;
	min-height: 6.25rem;
}

.p-factory-mech__specs {
	gap: 1.25rem;
	grid-template-columns: 1fr;
	margin-top: 1.75rem;
}

.p-factory-mech__col {
	padding: 1.125rem 1.25rem 1.5rem;
}

.p-factory-intro__lead--sm {
	font-size: 1rem;
	line-height: 1.75;
}

.p-factory-umis__br-pc {
	display: none;
}

.p-factory-umis .p-factory-info__title {
	font-size: 1.5rem;
	line-height: 1.34;
}

.p-factory-umis .p-factory-info__body {
	font-size: 1rem;
	line-height: 1.75;
}

.p-factory-umis .p-factory-section__bar {
	letter-spacing: -0.01em;
	padding-left: 1rem;
	padding-right: 1rem;
}

.p-factory-umis .p-factory-section__bar .c-bar-dot {
	margin-right: 0.5rem;
}

.p-factory-diagram {
	margin-top: 3rem;
}

.p-factory-info {
	margin-top: 3.5rem;
}

.p-factory-info:first-of-type {
	margin-top: 3.5rem;
}

.p-factory-info__head {
	-moz-column-gap: 0;
	column-gap: 0;
	flex-direction: column;
	margin-top: 1.5rem;
	row-gap: 1.25rem;
}

.p-factory-info__title {
	font-size: 1.25rem;
	line-height: 1.45;
}

.p-factory-info__body {
	font-size: 0.9375rem;
	line-height: 1.85;
	margin-top: 0.875rem;
}

.p-factory-info__photo {
	flex-basis: auto;
	width: 100%;
}

.p-factory-pagehead__hero {
	min-height: 10rem;
}

.p-factory-pagehead__en {
	font-size: 2.5rem;
}

.p-factory-pagehead__en span {
	background-color: #fff;
	background-color: rgba(255, 255, 255, 0.9);
	display: inline-block;
	padding: 0.125rem 1.125rem;
}

.p-factory-pagehead__en span::after {
	left: 1.125rem;
	top: 0.125rem;
}

.p-factory-pagehead__ja {
	margin-top: 0.5rem;
}

.p-factory-pagehead__ja span {
	background-color: #fff;
	background-color: rgba(255, 255, 255, 0.9);
	display: inline-block;
	padding: 0.125rem 0.5rem;
}

.p-factory-pagehead__band-inner {
	min-height: 4rem;
}

.p-factory-pagehead__title {
	font-size: 1.125rem;
}

.p-factory-intro--head + .p-factory-policy,
.p-factory-intro--head + .p-factory-env {
	margin-top: 2rem;
}

.p-factory-policy {
	flex-direction: column;
}

.p-factory-policy + .p-factory-policy {
	margin-top: 1.5rem;
}

.p-factory-policy__label {
	flex-basis: auto;
	min-height: 3rem;
	padding: 0.625rem 0;
	width: 100%;
}

.p-factory-policy__body {
	padding: 1.25rem;
}

.p-factory-policy__text {
	font-size: 0.9375rem;
	line-height: 1.85;
}

.p-factory-policy__list {
	padding: 1.125rem 1rem;
}

.p-factory-policy__item {
	font-size: 0.9375rem;
	line-height: 1.85;
	padding-left: 1.375rem;
}

.p-factory-env {
	margin-top: 2rem;
}

.p-factory-env:first-of-type {
	margin-top: 1.5rem;
}

.p-factory-env__row {
	-moz-column-gap: 0;
	column-gap: 0;
	flex-direction: column;
	margin-top: 1.5rem;
	row-gap: 1rem;
}

.p-factory-env__row--divider {
	margin-top: 1.75rem;
	padding-top: 1.75rem;
}

.p-factory-env__title {
	font-size: 1.25rem;
	line-height: 1.45;
}

.p-factory-env__body {
	font-size: 0.9375rem;
	line-height: 1.85;
	margin-top: 0.875rem;
}

.p-factory-env__photo {
	flex-basis: auto;
	width: 100%;
}

.p-factory-info__photo--454 {
	flex-basis: auto;
	width: 100%;
}

.p-factory-story-intro {
	margin-top: 1.75rem;
}

.p-factory-story-intro__title {
	font-size: 2rem;
	line-height: 1.5;
}

.p-factory-story-intro__lead {
	font-size: 1.25rem;
	line-height: 1.6;
}

.p-factory-story {
	margin-top: 2rem;
}

.p-factory-story__block {
	-moz-column-gap: 0;
	column-gap: 0;
	flex-direction: column;
	row-gap: 1rem;
}

.p-factory-story__block + .p-factory-story__block {
	margin-top: 1.75rem;
	padding-top: 1.75rem;
}

.p-factory-story__block--reverse {
	flex-direction: column;
}

.p-factory-story__title {
	font-size: 1.25rem;
	line-height: 1.45;
}

.p-factory-story__body {
	font-size: 1rem;
	line-height: 1.75;
	margin-top: 0.875rem;
}

.p-factory-story__figure {
	flex-basis: auto;
	width: 100%;
}

.p-factory-story__caption {
	font-size: 0.8125rem;
}

.p-factory-timeline__lead {
	font-size: 1.125rem;
	line-height: 1.6;
	margin-top: 2rem;
}

.p-factory-timeline {
	margin-top: 1.5rem;
	padding-left: 2.5rem;
}

.p-factory-timeline::before {
	left: 0.75rem;
}

.p-factory-timeline__year + .p-factory-timeline__year {
	margin-top: 1.25rem;
}

.p-factory-timeline__num {
	display: block;
	font-size: 2.5rem;
	position: static;
	text-align: left;
	top: auto;
	width: auto;
}

.p-factory-timeline__year::before {
	display: none;
}

.p-factory-timeline__rows {
	margin-top: 1rem;
	row-gap: 1rem;
}

.p-factory-timeline__row {
	align-items: stretch;
	background-color: rgba(211, 225, 235, 0.5);
	flex-direction: column;
	min-height: auto;
	position: relative;
}

.p-factory-timeline__row::before {
	background-color: #003865;
	border-radius: 50%;
	box-shadow: inset 0 0 0 0.3125rem #dae1e6;
	content: "";
	height: 1.5rem;
	left: -1.75rem;
	position: absolute;
	top: 1.125rem;
	width: 1.5rem;
}

.p-factory-timeline__month {
	align-self: stretch;
	flex-basis: auto;
	font-size: 1.5rem;
	justify-content: flex-start;
	min-height: 3rem;
	padding: 0.5rem 1.25rem;
}

.p-factory-timeline__label {
	flex: 0 1 auto;
	font-size: 1.125rem;
	padding: 0.75rem 1.25rem;
}

.p-factory-timeline__note {
	border-radius: 1rem;
	font-size: 1rem;
	line-height: 1.75;
	margin-top: 1rem;
	padding: 1rem 1.25rem;
}

.p-factory-timeline__note::before {
	border-bottom: 0.625rem solid transparent;
	border-left: none;
	border-right: 0.625rem solid #fff;
	border-top: 0.625rem solid transparent;
	left: -0.5625rem;
	top: 1.5rem;
}

.p-factory-info--comment .p-factory-info__body + .p-factory-info__body {
	margin-top: 1.25rem;
}

.p-factory-info__date {
	font-size: 0.9375rem;
	margin-top: 1.25rem;
}

.p-factory-info__photo--portrait {
	flex-basis: auto;
	margin-left: auto;
	margin-right: auto;
	max-width: 19.375rem;
	width: 100%;
}

.p-factory-social .p-factory-section__bar {
	padding-left: 1.125rem;
	padding-right: 1.25rem;
}

.p-factory-social .p-factory-section__bar {
	font-size: 1.125rem;
	min-height: 4rem;
}

.p-factory-social .p-factory-intro__lead--sm {
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1.78;
}

.p-factory-social .p-factory-env__body {
	font-size: 1rem;
	line-height: 1.75;
}

.p-factory-social .p-factory-env:first-of-type .p-factory-env__title {
	font-size: 1.5rem;
	line-height: 1.67;
}

.p-factory-social .p-factory-env:first-of-type .p-factory-env__body {
	line-height: 2;
}

.p-factory-social .p-factory-env__title {
	line-height: 1.6;
}

.p-factory-social .p-factory-section__bar {
	padding-bottom: 0.5rem;
	padding-top: 0.5rem;
}

.p-factory-social .p-factory-section__bar {
	line-height: 1.34;
}

.p-feature {
	padding-bottom: 0;
	padding-top: 7.625rem;
}

.p-factory {
	padding-top: 7.625rem;
}

.p-factory .p-feature__watermark {
	top: 3.75rem;
}

.p-feature__watermark {
	animation-duration: 24s;
	font-size: 8.75rem;
	left: -0.75rem;
	top: 2.9375rem;
}

.p-feature__watermark span {
	margin-left: 2rem;
}

.p-feature__inner {
	align-items: auto;
	flex-direction: column;
	gap: 2.5rem;
}

.p-feature__visual {
	aspect-ratio: 343/320;
	order: -1;
	width: calc(100vw - 2rem);
	z-index: auto;
}

.p-feature--image-left .p-feature__visual {
	margin-left: calc(50% - 50vw);
	margin-right: auto;
}

.p-feature--image-left .p-feature__visual img {
	-o-object-position: 50% 50%;
	border-radius: 0 2.5rem 2.5rem 0;
	object-position: 50% 50%;
}

.p-feature--image-right .p-feature__visual {
	margin-left: auto;
	margin-right: calc(50% - 50vw);
}

.p-feature--image-right .p-feature__visual img {
	-o-object-position: 50% 50%;
	border-radius: 2.5rem 0 0 2.5rem;
	object-position: 50% 50%;
}

.p-feature__content {
	flex: 1;
	padding-bottom: 0;
	padding-top: 0;
	width: auto;
}

.p-feature--image-left .p-feature__content {
	margin-left: 0;
}

.p-feature--image-right .p-feature__content {
	margin-right: 0;
}

.p-feature__content .c-section-title__ja .p-feature__plate {
	padding: 0.125rem 0.5rem;
}

.p-feature__content .c-section-title__ja {
	margin-top: 1rem;
}

.p-feature__en .c-mask__inner {
	padding: 0.125rem 0;
	padding-right: 0.4375rem;
}

.p-feature__en .p-feature__plate {
	font-size: 3rem;
}

.p-feature__lead {
	font-size: 1rem;
	line-height: 2;
	margin-top: 2rem;
}

.p-feature__button {
	margin-left: auto;
	margin-right: auto;
	margin-top: 2.25rem;
}

.p-feature__links {
	grid-template-columns: 1fr;
	grid-template-rows: none;
}

.p-feature__links-item--c1r1 {
	grid-column: auto;
	grid-row: auto;
}

.p-feature__links-item--c1r2 {
	grid-column: auto;
	grid-row: auto;
}

.p-feature__links-item--c1r3 {
	grid-column: auto;
	grid-row: auto;
}

.p-feature__links-item--c2r1 {
	grid-column: auto;
	grid-row: auto;
}

.p-feature__links-item--c2r2 {
	grid-column: auto;
	grid-row: auto;
}

.p-footer {
	background: linear-gradient(180deg, #006ec6 0%, #24b3de 100%);
	padding-top: 2.5rem;
}

.p-footer__inner {
	-moz-column-gap: normal;
	column-gap: normal;
	flex-direction: column;
	justify-content: normal;
	padding-bottom: 2.5rem;
}

.p-footer__nav {
	-moz-column-gap: normal;
	column-gap: normal;
	display: none;
}

.p-footer__bottom {
	padding: 1.25rem 0;
}

.p-footer__bottom-inner {
	-moz-column-gap: normal;
	column-gap: normal;
	flex-direction: column;
	justify-content: normal;
}

.p-footer__policy {
	-moz-column-gap: normal;
	align-items: normal;
	column-gap: normal;
	display: none;
	order: 0;
}

.p-footer__logo {
	order: 2;
}

.p-footer__copyright {
	margin-left: 0;
	order: 3;
	text-align: center;
}

.p-group__inner {
	display: flex;
	flex-direction: column;
}

.p-group__companies {
	order: 1;
}

.p-group__companies-side {
	order: 2;
}

.p-group__overview {
	order: 3;
}

.p-group__strengths {
	order: 4;
}

.p-group__lead {
	font-size: 1.125rem;
	line-height: 1.9;
}

.p-group__company-grid {
	grid-template-columns: 1fr;
	margin-top: 2.25rem;
}

.p-group__card-text {
	font-size: 1rem;
}

.p-group__overview {
	margin-top: 4rem;
	padding-right: 0;
}

.p-group__overview-lead {
	font-size: 1.125rem;
	line-height: 1.9;
}

.p-group__diagram {
	aspect-ratio: auto;
	container-type: normal;
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
}

.p-group__diagram-swirl {
	display: none;
}

.p-group__diagram-logo {
	display: none;
}

.p-group__node {
	align-items: center;
	display: flex;
	flex-direction: column;
}

.p-group__node-label {
	align-self: flex-start;
	display: inline-block;
	font-size: 1rem;
	line-height: 1.4;
	margin-top: 0;
	padding: 0 0 0.5rem;
	position: relative;
	writing-mode: horizontal-tb;
}

.p-group__node-label::before {
	bottom: 0.625rem;
	height: 0.375rem;
	left: 0;
	top: auto;
	width: 100%;
	z-index: -1;
}

.p-group__node--tech .p-group__node-label::after {
	display: none;
}

.p-group__node--tech .p-group__node-label br {
	display: none;
}

.p-group__node--production .p-group__node-label,
.p-group__node--value .p-group__node-label,
.p-group__node--tech .p-group__node-label {
	left: 0;
	top: auto;
}

.p-group__node-card {
	aspect-ratio: 343/215;
	border-radius: 1rem;
	left: auto;
	position: relative;
	top: auto;
	width: 100%;
}

.p-group__node-body {
	gap: 0.5rem;
}

.p-group__node-chip {
	font-size: 1.5rem;
	padding: 0.125rem 0.75rem;
}

.p-group__node-caption {
	font-size: 1rem;
}

.p-group__node-companies {
	align-items: center;
	display: flex;
	flex-direction: column;
	font-size: 0.875rem;
	gap: 0.25rem;
	margin-top: 1rem;
	position: static;
	text-align: center;
	transform: none;
}

.p-group__node--production .p-group__node-companies {
	display: flex;
}

.p-group__node--production .p-group__node-card,
.p-group__node--value .p-group__node-card,
.p-group__node--tech .p-group__node-card,
.p-group__node--value .p-group__node-companies,
.p-group__node--tech .p-group__node-companies {
	left: auto;
	margin-top: 0.375rem;
	top: auto;
	transform: none;
}

.p-group__strengths {
	margin-top: 4rem;
}

.p-group__strengths-lead {
	font-size: 1.125rem;
	line-height: 1.78;
}

.p-group__strength {
	margin-top: 4.6875rem;
	min-height: 0;
}

.p-group__strength + .p-group__strength {
	margin-top: 5rem;
	padding-top: 5rem;
}

.p-group__strength-num {
	font-size: 7.5rem;
	margin-left: 0;
}

.p-group__strength-badge {
	font-size: 1rem;
	line-height: 1.625;
	margin-top: 0.9375rem;
	min-height: 2.6875rem;
}

.p-group__strength-title {
	font-size: 2.5rem;
	line-height: 1.425;
	margin-top: 1.5rem;
}

.p-group__strength-text {
	margin-top: 2.125rem;
}

.p-group__strength-visual {
	aspect-ratio: 343/228;
	height: auto;
	margin-top: 2.375rem;
	position: relative;
	width: 100%;
}

.p-group__strength + .p-group__strength .p-group__strength-visual {
	top: auto;
}

.p-header {
	height: 2.5rem;
}

.p-header__inner {
	padding-left: 1rem;
}

.p-header__logo {
	width: 8rem;
}

.p-header__nav {
	align-self: auto;
	display: none;
	margin-left: 0;
}

.p-header__menu {
	align-items: center;
	height: auto;
}

.p-header__item {
	align-items: normal;
	display: list-item;
}

.p-header__item::after {
	content: none;
}

.p-header__recruit {
	-moz-column-gap: normal;
	align-items: normal;
	background: none;
	border-radius: 0;
	column-gap: normal;
	display: none;
	height: auto;
	justify-content: normal;
	margin-left: 0;
	margin-right: 0;
	padding-right: 0;
	width: auto;
}

.p-header__recruit::after {
	content: none;
}

.p-header__contact {
	align-items: normal;
	background-color: transparent;
	color: inherit;
	display: none;
	flex-direction: row;
	height: auto;
	justify-content: normal;
	text-align: inherit;
	width: auto;
}

.p-header__hamburger {
	display: block;
}

.p-drawer {
	display: block;
}

.p-megamenu {
	display: none;
	left: auto;
	opacity: 1;
	pointer-events: auto;
	position: static;
	right: auto;
	top: auto;
	transition: none;
	visibility: visible;
	z-index: auto;
}

.p-megamenu::before {
	content: none;
}

.p-megamenu::after {
	content: none;
}

.p-header__item--dropdown:hover .p-megamenu {
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
}

.p-megamenu__inner {
	-moz-column-gap: normal;
	align-items: normal;
	column-gap: normal;
	display: block;
	position: static;
	width: auto;
}

.p-megamenu__watermark {
	bottom: auto;
	left: auto;
	position: static;
	z-index: auto;
}

.p-megamenu__visual {
	align-self: auto;
	flex-shrink: initial;
	overflow: visible;
	position: static;
	width: auto;
	z-index: auto;
}

.p-megamenu__visual img {
	-o-object-fit: fill;
	height: auto;
	object-fit: fill;
	opacity: 1;
	width: auto;
}

.p-megamenu__body {
	-moz-column-gap: normal;
	align-items: normal;
	column-gap: normal;
	display: block;
	flex: initial;
	justify-content: normal;
	min-width: auto;
	position: static;
	z-index: auto;
}

.p-megamenu__head {
	align-items: normal;
	display: block;
	flex-direction: row;
	flex-shrink: initial;
	max-width: none;
	padding-bottom: 0;
	padding-top: 0;
	width: auto;
}

.p-megamenu__en {
	background-color: transparent;
	display: inline;
	padding: 0;
	white-space: normal;
}

.p-megamenu__ja {
	background-color: transparent;
	display: inline;
	margin-top: 0;
	padding: 0;
}

.p-megamenu__button {
	margin-top: 0;
}

.p-megamenu__links {
	-moz-column-gap: normal;
	column-gap: normal;
	display: block;
	flex-shrink: initial;
	grid-template-columns: none;
	min-width: auto;
	padding-bottom: 0;
	padding-top: 0;
	row-gap: normal;
}

.p-megamenu__links a {
	display: inline;
	flex-direction: row;
	transition: none;
}

.p-megamenu__links a:hover {
	opacity: 1;
}

.p-megamenu__card-img {
	aspect-ratio: auto;
	background-color: transparent;
	border-radius: 0;
	overflow: visible;
	width: auto;
}

.p-megamenu__card-img img {
	display: none;
}

.p-megamenu__card-label {
	-moz-column-gap: normal;
	align-items: normal;
	column-gap: normal;
	display: block;
	justify-content: normal;
	margin-top: 0;
}

.p-megamenu__card-label::after {
	content: none;
}

.p-isms__head,
.p-isms__items,
.p-isms__signature {
	max-width: none;
}

.p-isms__title {
	font-size: 1.75rem;
}

.p-isms__items {
	margin-top: 1.75rem;
}

.p-isms__item + .p-isms__item {
	margin-top: 1.75rem;
}

.p-isms__item-head {
	font-size: 1.0625rem;
	line-height: 1.4;
	min-height: 0;
	padding: 0.875rem 1.25rem 0.875rem 0.875rem;
}

.p-isms__item-text {
	line-height: 1.9;
	margin-top: 1rem;
}

.p-isms__notes {
	line-height: 1.9;
	margin-top: 1rem;
}

.p-isms__signature {
	line-height: 1.9;
	margin-top: 1.75rem;
}

.p-lower {
	padding-bottom: 3.5rem;
	padding-top: 2.5rem;
}

.p-message__catch {
	margin-top: 1.5rem;
}

.p-message__body {
	-moz-column-gap: 0;
	column-gap: 0;
	flex-direction: column;
	row-gap: 1.5rem;
}

.p-message__photo {
	flex-basis: auto;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}

.p-principles {
	margin-top: 3.5rem;
}

.p-principles__body {
	-moz-column-gap: 0;
	align-items: stretch;
	column-gap: 0;
	flex-direction: column;
	margin-top: 2rem;
	row-gap: 2rem;
}

.p-principles__catch {
	margin-top: 1.25rem;
}

.p-principles__text {
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1.7777777778;
	max-width: none;
	width: auto;
}

.p-principles__diagram {
	flex-basis: auto;
	margin: 0 auto;
	max-width: 27.5rem;
	width: 100%;
}

.p-principles__list {
	margin-top: 3rem;
	row-gap: 3rem;
}

.p-principle__body {
	margin-top: 1.5rem;
	padding-right: 0;
}

.p-principle__catch {
	font-size: 1.25rem;
}

.p-principle__text {
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.85;
	margin-top: 1.25rem;
}

.p-principle__body::after {
	background-position: center;
	display: block;
	margin: 1.5rem auto 0;
	position: static;
}

.p-mv {
	margin-top: -3.75rem;
}

.p-mv__media {
	min-height: 24.4375rem;
}

.p-mv__script {
	color: #003865;
	font-size: 2.125rem;
}

.p-mv__logo {
	font-size: 2.75rem;
}

.p-mv__copy {
	font-size: 0.875rem;
}

.p-mv__scroll {
	display: none;
}

.p-news-archive .c-heading {
	margin-top: 0.5rem;
}

.p-news-archive__feature {
	grid-template-columns: 1fr;
	margin-top: 2.5rem;
	row-gap: 2.5rem;
}

.p-news-archive__feature-thumb {
	aspect-ratio: 343/202;
}

.p-news-archive__feature-link time {
	margin-top: 0.75rem;
}

.p-news-archive__list {
	grid-column-gap: 1.0625rem;
	-moz-column-gap: 1.0625rem;
	grid-row-gap: 2.5rem;
	column-gap: 1.0625rem;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 2.5rem;
	row-gap: 2.5rem;
}

.p-news-archive__feature + .p-news-archive__list {
	margin-top: 5rem;
}

.p-news-archive__row {
	-moz-column-gap: 0;
	column-gap: 0;
	flex-direction: column;
}

.p-news-archive__thumb {
	aspect-ratio: 163/96;
	flex: 1 1 auto;
	width: 100%;
}

.p-news-archive__thumb--noimage img,
.p-news-archive__feature-thumb--noimage img {
	width: 6.25rem;
}

.p-news-archive__feature-thumb--noimage img {
	width: 8.75rem;
}

.p-news-archive__body {
	padding-top: 0.125rem;
}

.p-news-archive__title {
	-webkit-line-clamp: 4;
	line-height: 1.75;
	margin-top: 0.25rem;
}

.p-news-archive__pager {
	margin-top: 5rem;
}

.p-news-archive__side {
	display: none;
}

.p-news {
	padding-bottom: 2.9375rem;
	padding-top: 2.5rem;
}

.p-news__card {
	-moz-column-gap: normal;
	column-gap: normal;
	display: block;
	padding: 1.5rem 1rem;
}

.p-news__aside {
	flex-shrink: initial;
	text-align: center;
	width: auto;
}

.p-news__head {
	text-align: center;
}

.p-news__en,
.p-news__ja {
	margin-left: auto;
	margin-right: auto;
}

.p-news__button {
	margin-top: 1.5rem;
}

.p-news__button--sp {
	display: flex;
}

.p-news__aside .p-news__button {
	display: none;
}

.p-news__body {
	border-left: none;
	flex: initial;
	margin-top: 1.5rem;
	min-width: auto;
	padding-left: 0;
}

.p-news__link {
	padding: 1rem 0;
	position: static;
}

.p-news__link::after {
	content: none;
}

.p-news__title {
	line-height: 1.6;
	margin-top: 0.25rem;
}

.p-pagehead {
	padding-bottom: 0;
	padding-top: 0;
}

.p-pagehead__en {
	font-size: 2.25rem;
}

.p-pagehead__ja {
	font-size: 0.875rem;
}

.p-pagehead__head {
	min-height: 8.75rem;
}

.p-pagehead--photo .p-pagehead__en {
	font-size: 2.5rem;
	padding: 0.125rem 0.625rem;
}

.p-pagehead__tag {
	font-size: 0.8125rem;
}

.p-pagehead__band {
	min-height: 4rem;
}

.p-pagehead--photo .p-pagehead__ja {
	font-size: 1.125rem;
}

.p-pagehead--building .p-pagehead__head {
	height: 10rem;
}

.p-pagehead__photo {
	height: 10rem;
}

.p-pagehead--building .p-pagehead__plate {
	bottom: 3rem;
}

.p-pagehead--building .p-pagehead__plate-inner {
	align-items: baseline;
	flex-direction: column;
	row-gap: 0.4375rem;
}

.p-pagehead--building .p-pagehead__en span {
	font-size: 2.25rem;
	padding: 0.125rem 0.625rem;
}

.p-pagehead--building .p-pagehead__en span::before {
	left: 0.625rem;
}

.p-pagehead--building .p-pagehead__head .p-pagehead__ja {
	font-size: 0.8125rem;
}

.p-pagehead--building .p-pagehead__band {
	min-height: 4rem;
}

.p-pagehead--building .p-pagehead__inner {
	padding-left: 2rem;
	padding-right: 2rem;
}

.p-pagehead--building .p-pagehead__title {
	font-size: 1.125rem;
}

.p-pagehead__hero {
	justify-content: flex-start;
	min-height: 20rem;
}

.p-pagehead--hero .p-pagehead__plate {
	align-items: flex-start;
	padding-left: 16px;
	padding-right: 16px;
	text-align: left;
	width: 100%;
}

.p-pagehead--hero .p-pagehead__en {
	font-size: 2.5rem;
}

.p-pagehead--hero .p-pagehead__en span {
	padding: 0.125rem 0.875rem;
}

.p-pagehead--hero .p-pagehead__en span::before {
	left: 0.875rem;
	top: 0.125rem;
}

.p-pagehead__label {
	font-size: 1rem;
	margin-top: 0.5rem;
	padding: 0.125rem 0.875rem;
}

.p-pagehead__copy {
	align-items: baseline;
	margin-top: 1rem;
}

.p-pagehead--hero .p-pagehead__copy-line {
	font-size: 1.125rem;
	padding: 0.25rem 0.75rem;
}

.p-pagehead__copy--pc {
	display: none;
}

.p-pagehead__copy--sp {
	display: flex;
}

.p-pagehead--hero .p-pagehead__band {
	min-height: 4rem;
}

.p-pagehead--hero .p-pagehead__title {
	font-size: 1.125rem;
}

.p-breadcrumb {
	padding-top: 1.5rem;
}

.p-breadcrumb__list {
	height: auto;
	padding: 0.5rem 1rem;
}

.p-privacy__block {
	max-width: none;
}

.p-privacy__block + .p-privacy__block {
	margin-top: 3rem;
}

.p-privacy__title {
	font-size: 1.75rem;
}

.p-privacy__lead {
	line-height: 1.9;
	margin-top: 1rem;
}

.p-privacy__items {
	margin-top: 1.75rem;
}

.p-privacy__item + .p-privacy__item {
	margin-top: 1.75rem;
}

.p-privacy__item-head {
	font-size: 1.0625rem;
	min-height: 0;
	padding: 0.875rem 1.25rem 0.875rem 0.875rem;
}

.p-privacy__item-num {
	margin-right: 0.5rem;
}

.p-privacy__item-text {
	line-height: 1.9;
	margin-top: 1rem;
}

.p-privacy__sublist {
	line-height: 1.9;
	padding-left: 1.25rem;
}

.p-privacy__signature {
	line-height: 1.9;
	margin-top: 1.75rem;
}

.p-privacy__contact-row {
	flex-direction: column;
}

.p-privacy__contact-row dt {
	flex-basis: auto;
}

.p-recruit {
	padding-bottom: 3.875rem;
	padding-top: 5rem;
}

.p-recruit__banner {
	max-width: 21.4375rem;
}

.p-recruit__banner img {
	border-radius: 1rem;
}

.p-single__head {
	margin-top: 0.5rem;
}

.p-single__title {
	font-size: 1.25rem;
	line-height: 1.5;
	margin-top: 0.75rem;
}

.p-single__eyecatch {
	margin-top: 2rem;
}

.p-single__content {
	font-size: 1rem;
	line-height: 1.75;
	margin-top: 2.25rem;
}

.p-single__content > * + * {
	margin-top: 1.25rem;
}

.p-single__content > h2 {
	margin-top: 3.5rem;
}

.p-single__content > h2 + * {
	margin-top: 1.375rem;
}

.p-single__content > h3 {
	font-size: 1.125rem;
	margin-top: 2.25rem;
}

.p-single__content ul,
.p-single__content ol {
	padding: 0.75rem 1rem;
}

.p-single__content ul li::before {
	top: 0.5rem;
}

.p-single__back {
	margin-top: 4rem;
}

.p-sitemap .c-heading {
	margin-top: 0.5rem;
}

.p-sitemap__lead {
	margin-top: 2rem;
}

.p-sitemap__map {
	grid-template-columns: 1fr;
	margin-top: 2.5rem;
	row-gap: 2.5rem;
}

.p-sitemap__group-title {
	font-size: 1.125rem;
}

.p-sitemap__sub a {
	font-size: 0.9375rem;
	line-height: 2.25rem;
}

.p-sitemap__single {
	row-gap: 0.75rem;
}

.p-sitemap__single a {
	font-size: 1rem;
}

.p-why-page__inner {
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow-x: clip;
	width: 100%;
}

.p-why-page__inner > * {
	min-width: 0;
	width: 100%;
}

.p-why-page__side {
	display: none;
}

.p-why-page__head--mt {
	margin-top: 3rem;
}

.p-why-page__catch {
	margin-top: 1rem;
}

.p-why-page__lead {
	font-size: 1.125rem;
	line-height: 1.9;
}

.p-why-page__text {
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1.8;
}

.p-why-page__formula {
	background-color: transparent;
	border-radius: 0;
	max-width: none;
	padding: 0;
}

.p-why-page__section {
	margin-top: 3.5rem;
}

.p-why-page__section-watermark {
	height: 17.5625rem;
	top: -1rem;
	width: 26.25rem;
}

.p-why-page__section-lead {
	font-size: 1.5rem;
}

.p-why-page__section-title {
	font-size: 2.5rem;
	font-weight: 700;
}

.p-why-page__section-text {
	font-size: 1.125rem;
	line-height: 1.9;
}

.p-why-page__photo-slider {
	display: block;
	margin-left: -1rem;
	margin-right: -1rem;
	margin-top: 2rem;
	overflow: hidden;
	scrollbar-width: none;
}

.p-why-page__photo-grid {
	animation: why-photo-marquee 25s linear infinite;
	display: flex;
	gap: 0;
	grid-template-columns: none;
	margin-top: 0;
	width: -moz-max-content;
	width: max-content;
	will-change: transform;
}

.p-why-page__photo-grid li {
	flex: 0 0 15rem;
	margin-right: 0.8125rem;
}

.p-why-page__photo-grid li:nth-child(n+4) {
	display: block;
}

.p-why {
	min-height: auto;
	padding-bottom: 0rem;
	padding-top: 5.9375rem;
}

.p-why__watermark {
	animation-duration: 30s;
	font-size: 8.75rem;
	left: -1.375rem;
	line-height: 0.55;
	top: 0;
	z-index: 3;
}

.p-why__watermark span {
	margin-left: 2.5rem;
}

.p-why__inner {
	left: auto;
	position: relative;
	top: auto;
	transform: none;
	width: auto;
}

.p-why__head {
	left: auto;
	position: relative;
	top: auto;
}

.p-why__en {
	font-size: 2.8125rem;
}

.p-why__en .c-mask__inner {
	padding: 0.125rem 0.625rem;
}

.p-why__ja {
	margin-top: 1rem;
}

.p-why__visual {
	left: auto;
	margin-left: -11.5625rem;
	margin-top: -8.125rem;
	position: relative;
	top: auto;
	width: 36.8125rem;
}

.p-why__visual::before {
	height: 56.1452513966%;
}

.p-why__lead {
	font-size: 1.125rem;
	left: auto;
	letter-spacing: -0.02em;
	line-height: 2;
	margin-top: 1.375rem;
	position: static;
	top: auto;
	z-index: auto;
}

.p-why__text {
	font-size: 1rem;
	left: auto;
	line-height: 2;
	margin-top: 0.875rem;
	position: static;
	top: auto;
	z-index: auto;
}

.p-why__button {
	left: auto;
	margin-top: 1.5rem;
	position: static;
	top: auto;
	z-index: auto;
}

}

@media (max-width: 375px) {

html {
	font-size: 4.2666666667vw;
}

}

@keyframes c-mask-bar {

0% {
	left: 0%;
	right: 100%;
}

50% {
	left: 0%;
	right: -5%;
}

100% {
	left: 105%;
	right: -5%;
}

}

@keyframes c-mask-show {

0%,50% {
	opacity: 0;
}

50.01%,100% {
	opacity: 1;
}

}

@keyframes scroll-hint-shake {

0%,100% {
	transform: translateX(-50%) translateX(0);
}

25% {
	transform: translateX(-50%) translateX(-0.5rem);
}

75% {
	transform: translateX(-50%) translateX(0.5rem);
}

}

@keyframes p-feature-marquee {

from {
	transform: translateX(0);
}

to {
	transform: translateX(-25%);
}

}

@keyframes p-mv-scroll-flow {

0% {
	opacity: 1;
	transform: translateY(-7.1875rem);
}

50% {
	opacity: 1;
	transform: translateY(0);
}

100% {
	opacity: 1;
	transform: translateY(7.1875rem);
}

}

@keyframes p-mv-scroll-flow-arrow {

0% {
	opacity: 1;
	transform: translateX(-50%) translateY(-7.1875rem) rotate(45deg);
}

50% {
	opacity: 1;
	transform: translateX(-50%) translateY(0) rotate(45deg);
}

100% {
	opacity: 1;
	transform: translateX(-50%) translateY(7.1875rem) rotate(45deg);
}

}

@keyframes why-photo-marquee {

from {
	transform: translateX(0);
}

to {
	transform: translateX(-50%);
}

}

@keyframes p-why-marquee {

from {
	transform: translateX(0);
}

to {
	transform: translateX(-25%);
}

}


/*# sourceMappingURL=style.css.map */
