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

:root {
	--padding-pc: 25px;
	--padding-sp: 20px;
	--base-font-family: "Noto Sans", sans-serif;
	--second-font-family: "Klee One", cursive;
	--regular: 400;
	--medium: 500;
	--semibold: 600;
	--bold: 700;
	--black: #111;
	--base: #333;
	--gray: #cccccc;
	--white: #fff;
	--dark-blue: #1d3846;
	--blue: #207dd0;
	--blue2: #3689d4;
	--brder: #A4A4A4;
}

body {
	font-family: var(--base-font-family);
	color: var(--base);
}

html.is-fixed,
body.is-fixed {
	overflow: hidden;
}

html {
	font-size: 16px;
}

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

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

/* ホバー */

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

*,
*::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;
}

/* Set core body defaults */

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

/* 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 {
	max-width: 100%;
	object-fit: cover;
	display: block;
	width: 100%;
	height: 100%;
}

/* 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;
}

html {
	overflow-wrap: break-word;
}

html,
body {
	scroll-padding-top: 100px;
}

body {
	opacity: 0;
}

.js-title .c-section-heading__label,
.js-title .c-section-heading__title-en {
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
	clip-path: inset(0% 100% 0% 0%);
	--clip: inset(0% 0% 0% 0%);
}

.js-title .c-section-heading__label::after,
.js-title .c-section-heading__title-en::after {
	content: "";
	display: block;
	position: absolute;
	inset: 0;
	background-color: var(--blue);
	clip-path: var(--clip);
}

.js-pageFv-img {
	position: relative;
	--clip: inset(0% 0% 0% 0%);
}

.js-pageFv-img::after {
	content: "";
	display: block;
	position: absolute;
	background-color: var(--blue);
	width: 100vw;
	height: 100%;
	left: 0;
	top: 0;
	clip-path: var(--clip);
}

.js-line-title-line {
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
	margin-top: 1px;
	clip-path: inset(0% 100% 0% 0%);
	--clip: inset(0% 0% 0% 0%);
}

.js-line-title-line::after {
	content: "";
	display: block;
	position: absolute;
	background-color: var(--blue);
	inset: 0;
	clip-path: var(--clip);
}

.arrow-long {
	display: block;
	aspect-ratio: 1;
	width: 1.25rem;
	-webkit-mask-image: url("../images/common/arrow-long.svg");
	mask-image: url("../images/common/arrow-long.svg");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-position: center;
	mask-position: center;
	background-color: var(--white);
	transition: 0.3s ease-in-out all;
}

.arrow {
	display: inline-block;
	width: 0.875rem;
	aspect-ratio: 1;
	-webkit-mask-image: url("../images/common/arrow.svg");
	mask-image: url("../images/common/arrow.svg");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-position: center;
	mask-position: center;
	background-color: var(--white);
}

.black-layer {
	position: relative;
}

.black-layer::after {
	content: "";
	display: block;
	position: absolute;
	inset: 0;
	background-color: #002336;
	opacity: 0.3;
	z-index: 1;
	pointer-events: none;
}

.blue-layer {
	position: relative;
}

.blue-layer::after {
	content: "";
	display: block;
	position: absolute;
	inset: 0;
	background-color: var(--blue);
	opacity: 0.2;
	z-index: 1;
	pointer-events: none;
}

.button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	width: -moz-fit-content;
	width: fit-content;
	padding: 1.375rem 1.875rem;
	background-color: var(--blue);
	transition: background-color 0.3s ease;
	min-width: 21.25rem;
	border: 1px solid var(--blue);
	width: fit-content;
}

.button .text {
	transition: 0.3s ease-in-out all;
	color: var(--white);
	font-size: 1rem;
	font-weight: var(--bold);
	letter-spacing: 0.04em;
}

.button .arrow {
	transition: 0.3s ease-in-out all;
}

.c-section-heading {
	--section-heading-accent-color: #207dd0;
	--section-heading-label-color: #333333;
	--section-heading-title-color: #333333;
	--section-heading-title-en-color: #333333;
}

.c-section-heading__label {
	position: relative;
	padding-left: 1.375rem;
	font-size: 1.125rem;
	font-weight: var(--bold);
	line-height: 1.3333333333;
	letter-spacing: 0.04em;
	color: var(--section-heading-label-color);
}

.c-section-heading__label::before {
	content: "";
	position: absolute;
	top: 0.5lh;
	left: 0;
	transform: translateY(-50%);
	width: 0.875rem;
	height: 0.71875rem;
	background-color: var(--section-heading-accent-color);
	opacity: 0.9;
	clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
}

.c-section-heading__title-en {
	font-size: 5rem;
	font-weight: var(--semibold);
	line-height: 1.3625;
	color: var(--section-heading-title-en-color);
}

.c-section-heading--align-center {
	text-align: center;
}

.circle-arrow {
	display: block;
	aspect-ratio: 1;
	width: 2.5rem;
	border-radius: 50%;
	position: relative;
	display: grid;
	place-content: center;
	transition: 0.3s ease-in-out all;
}

.circle-arrow::after {
	content: "";
	display: block;
	width: 0.875rem;
	aspect-ratio: 1;
	-webkit-mask-image: url("../images/common/arrow.svg");
	mask-image: url("../images/common/arrow.svg");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-position: center;
	mask-position: center;
	background-color: var(--base);
	transition: 0.3s ease-in-out all;
}

.contact__content {
	padding: 6.25rem 6.5rem;
	display: block;
	color: var(--white);
	position: relative;
	background-image: url("../images/common/cta-img.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 6.25rem;
}

.contact__content::after {
	content: "";
	display: block;
	position: absolute;
	inset: 0;
	background-color: #207dd0;
	opacity: 0.87;
	z-index: 1;
	transition: 0.3s ease-in-out all;
}

.contact__texts {
	width: 60%;
	flex-grow: 1;
	max-width: 40rem;
}

.contact .c-section-heading {
	--section-heading-label-color: var(--white);
	--section-heading-accent-color: var(--white);
	--section-heading-title-color: var(--white);
	--section-heading-title-en-color: var(--white);
	position: relative;
	z-index: 2;
}

.contact__lead {
	font-size: 1.125rem;
	font-weight: var(--medium);
	line-height: 2;
	margin-top: 3.125rem;
	letter-spacing: 0.04em;
	position: relative;
	z-index: 2;
}

.contact__circle {
	display: grid;
	place-content: center;
	width: 7.125rem;
	aspect-ratio: 1;
	border: 1px solid var(--white);
	border-radius: 50%;
	position: relative;
	z-index: 2;
	background-color: transparent;
	transition: 0.3s ease-in-out all;
}

.drawer {
	display: none;
}

.drawer.is-active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	clip-path: inset(0% 0% 0% 0%);
}

.drawer__panel {
	width: 100%;
	padding: 3.125rem 1.25rem 7.5rem;
	margin-inline: auto;
	min-height: calc(100% + 6.25rem);
}

.drawer__group {
	margin-top: -1px;
}

.drawer__group:last-of-type {
	border-bottom: 1px solid rgba(255, 255, 255, 0.44);
}

.drawer__group-header {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1rem 0.25rem 1rem 0;
	border-top: 1px solid rgba(255, 255, 255, 0.44);
	border-bottom: 1px solid rgba(255, 255, 255, 0.44);
	background: transparent;
}

.drawer__group-title {
	font-size: 1rem;
	font-weight: var(--bold);
	letter-spacing: 0.04em;
	color: var(--white);
}

.drawer__content {
	display: none;
	background-color: rgba(255, 255, 255, 0.2);
}

.drawer__headlink {
	display: block;
	padding: 0.9375rem 1rem;
	color: var(--white);
	text-decoration: none;
	font-size: 0.875rem;
	font-weight: var(--medium);
	border-bottom: 1px solid rgba(255, 255, 255, 0.44);
}

.drawer__list {
	padding: 0.9375rem 1rem;
}

.drawer__item + .drawer__item {
	margin-top: 0.9375rem;
}

.drawer__link {
	color: var(--white);
	text-decoration: none;
	font-size: 0.875rem;
	font-weight: var(--medium);
	display: flex;
	align-items: center;
	gap: 0.625rem;
	padding: 0.625rem 0;
}

.drawer__link::before {
	content: "-";
	color: var(--blue);
	font-size: 1rem;
	line-height: 1;
	transform: translateY(-0.125rem);
}

.drawer__cta {
	display: block;
	width: 100%;
	margin-top: 1.5rem;
	background-color: var(--blue);
	color: var(--white);
	text-align: center;
	padding: 1.125rem 0.75rem;
	font-weight: var(--bold);
	text-decoration: none;
}

.footer {
	background-color: #fff;
	color: var(--base);
	padding: 9rem 0 4.375rem;
	position: relative;
}

.footer::after {
	content: "";
	display: block;
	position: absolute;
	aspect-ratio: 1600/1581;
	bottom: 0;
	left: 0;
	width: 100%;
	background-image: url("../images/common/footer-honeycomb.png");
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 1;
	pointer-events: none;
}

.footer__inner {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	position: relative;
	z-index: 2;
}

.footer__brand {
	width: 50%;
}

.footer__logo {
	display: inline-flex;
	width: 24.6875rem;
	aspect-ratio: 395/86;
	margin-bottom: 5.625rem;
}

.footer__logo img {
	object-fit: contain;
}

.footer__info {
	font-size: 1rem;
	line-height: 1.5;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	margin-bottom: 2.25rem;
}

.footer__address {
	margin-bottom: 0.625rem;
}

.footer__contact {
	margin-bottom: 0.25rem;
	font-size: 1rem;
	line-height: 1.5;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
}

.footer__policies {
	margin-bottom: 1.125rem;
}

.footer__policy-link {
	font-size: 1rem;
	line-height: 1.5;
	letter-spacing: 0.04em;
	font-weight: var(--medium);
	text-decoration: underline;
	transition: 0.3s ease-in-out all;
}

.footer__copyright {
	display: block;
	font-weight: var(--medium);
	font-size: 0.75rem;
	letter-spacing: 0.04em;
	color: var(--base);
}

.footer__nav {
	width: 50%;
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	flex-wrap: wrap;
	max-height: 31.25rem;
	gap: 2.25rem 3rem;
}

.footer__heading {
	display: block;
	font-size: 1rem;
	font-weight: var(--bold);
	letter-spacing: 0.04em;
	margin-bottom: 0.625rem;
	transition: 0.3s ease-in-out all;
}

.footer__sub-link {
	display: block;
	font-size: 1rem;
	font-weight: var(--medium);
	letter-spacing: 0.04em;
	transition: 0.3s ease-in-out all;
	margin-bottom: 0.625rem;
}

.footer__list {
	display: flex;
	flex-direction: column;
	row-gap: 0.875rem;
	margin-top: -0.125rem;
}

.footer__item {
	font-size: 0.875rem;
	font-weight: var(--medium);
	line-height: 1.7142857143;
	letter-spacing: 0.04em;
}

.footer__link {
	display: inline-flex;
	align-items: center;
	gap: 0.3125rem;
	transition: color 0.3s ease;
}

.footer__link::before {
	content: "-";
	font-size: 0.875rem;
	display: inline-block;
	transform: translateY(-0.125rem);
}

.footer__link:hover,
.footer__link:focus-visible {
	color: var(--blue);
}

.guidelines {
	padding-block: 9.375rem;
	position: relative;
	z-index: 5;
}

.guidelines__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 2.5rem;
}

.guideline {
	background: #fff;
	border: 1px solid var(--blue);
	padding: 1.125rem 5.625rem 1.125rem 1.25rem;
	position: relative;
	transition: 0.3s ease-in-out all;
}

.guidelines__head {
	margin-bottom: 3.75rem;
}

.guideline__arrow {
	position: absolute;
	top: 50%;
	right: 1.875rem;
	background-color: var(--blue);
	transform: translateY(-50%);
	transition: 0.3s ease-in-out all;
}

.guideline__title {
	margin: 0 0 0.25rem;
	font-size: 1.25rem;
	letter-spacing: 0.04em;
	font-weight: var(--bold);
	color: var(--base);
	transition: 0.3s ease-in-out all;
}

.guideline__type {
	font-size: 1rem;
	color: var(--base);
	font-weight: var(--regular);
	letter-spacing: 0.04em;
	transition: 0.3s ease-in-out all;
}

.header {
	background-color: var(--white);
	position: fixed;
	z-index: 100;
	top: 0;
	right: 0;
	left: 0;
}

.header__inner {
	padding-left: 2.5rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 3.125rem;
}

.header__logo {
	display: block;
	width: 20.125rem;
	aspect-ratio: 322/70;
}

.header__logo img {
	object-fit: contain;
}

.header__nav {
	display: flex;
	align-items: center;
}

.header__nav-list {
	display: flex;
	gap: 3.75rem;
	padding: 0 3.75rem;
}

.header__nav-item {
	display: block;
}

.header__nav-link {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-decoration: none;
	gap: 0.3125rem;
	padding: 2.6875rem 0;
	position: relative;
}

.header__nav-link::after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 1px;
	background-color: var(--blue);
	bottom: 2.1875rem;
	left: 0;
	opacity: 0;
	transition: 0.3s ease-in-out all;
}

.header__nav-en {
	display: block;
	font-family: var(--base-font-family);
	font-size: 0.875rem;
	font-weight: var(--semibold);
	line-height: 1.8571428571;
	letter-spacing: 0.04em;
	color: var(--blue);
	text-align: center;
}

.header__nav-ja {
	font-family: var(--base-font-family);
	font-size: 1.125rem;
	font-weight: var(--bold);
	line-height: 1.625rem;
	letter-spacing: 0.04em;
	color: var(--base);
	text-align: center;
	margin-top: -0.3125rem;
}

.header__contact-link {
	display: block;
	width: 11.6875rem;
	height: 8.75rem;
	padding: 2.5rem 0.625rem;
	text-align: center;
	color: var(--white);
	background-color: var(--blue);
	border: 1px solid var(--blue);
	transition: 0.3s ease-in-out all;
}

.header__contact-en {
	display: block;
	font-size: 0.875rem;
	font-weight: var(--semibold);
	line-height: 1.8571428571;
	letter-spacing: 0.04em;
}

.header__contact-ja {
	display: block;
	font-size: 1.25rem;
	font-weight: var(--bold);
	line-height: 1.3;
	letter-spacing: 0.04em;
}

.hamburger {
	aspect-ratio: 1;
	width: 1.625rem;
	height: 1.625rem;
	padding: 0.375rem 0;
	position: relative;
}

.hamburger__line {
	display: block;
	height: 1.5px;
	border-radius: 0.1875rem;
	background: var(--base);
	position: absolute;
	left: 0;
}

.hamburger__line:nth-of-type(1) {
	transition: 0.3s all ease-in-out;
	width: 100%;
	top: 0.3125rem;
}

.hamburger__line:nth-of-type(2) {
	transition: 0.3s all ease-in-out;
	width: 100%;
	top: 50%;
	transform: translateY(-50%);
	opacity: 1;
}

.hamburger__line:nth-of-type(3) {
	transition: 0.3s all ease-in-out;
	width: 100%;
	top: calc(100% - 0.3125rem);
	transform: translateY(-100%);
}

.is-open.hamburger .hamburger__line:nth-of-type(1) {
	top: 50%;
	transform: translateY(-50%) rotate(-45deg);
}

.is-open.hamburger .hamburger__line:nth-of-type(2) {
	opacity: 0;
}

.is-open.hamburger .hamburger__line:nth-of-type(3) {
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
}

.inner {
	max-width: 90.625rem;
	padding: 0 var(--padding-pc);
	margin-inline: auto;
}

.inner2 {
	max-width: 71.875rem;
	padding: 0 var(--padding-pc);
	margin-inline: auto;
}

.interview-list {
	padding-block: 7.5rem 5rem;
	background: var(--blue);
	color: #fff;
	position: relative;
	z-index: 3;
}

.interview-list__head {
	margin-bottom: 2.5rem;
}

.interview-list__label {
	font-size: 1.625rem;
	font-weight: var(--bold);
	letter-spacing: 0.04em;
	color: #fff;
}

.interview-list__grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 3.125rem 2.5rem;
}

.interview-card {
	position: relative;
	display: block;
	transition: 0.3s ease-in-out all;
}

.interview-card__figure {
	aspect-ratio: 340/250;
	margin-bottom: 0.625rem;
	overflow: hidden;
}

.interview-card__figure img {
	transition: 0.3s ease-in-out all;
}

.interview-card__meta {
	color: #fff;
}

.interview-card__title {
	font-size: 1.75rem;
	font-weight: var(--semibold);
	letter-spacing: 0;
}

.interview-card__dept {
	font-size: 0.875rem;
	font-weight: var(--bold);
	letter-spacing: 0.04em;
}

.left-over {
	margin-left: 100%;
	transform: translateX(-100%);
	max-width: unset;
}

.header__nav-item--has-mega {
	position: static;
}

.mega-menu {
	position: absolute;
	left: 0;
	right: 0;
	top: calc(100% - 1px);
	background-color: var(--white);
	opacity: 0;
	box-shadow: 0 1.875rem 1.875rem rgba(0, 0, 0, 0.3);
	visibility: hidden;
	transition: 0.3s ease-in-out all;
	z-index: 10;
}

.mega-menu__inner {
	padding: 3.75rem var(--padding-pc) 6.25rem;
}

.mega-menu__grid {
	display: flex;
	align-items: flex-start;
	gap: 3rem;
	align-items: start;
}

.mega-menu__cols {
	display: flex;
	align-items: flex-start;
	gap: 2rem;
	width: 50%;
	flex-grow: 1;
}

.mega-menu__divider {
	height: 13.125rem;
	width: 1px;
	background-color: #cccccc;
}

.mega-menu__heading {
	display: block;
}

.mega-menu__heading .c-section-heading__label {
	font-size: 1.125rem;
	transition: 0.3s ease-in-out all;
}

.mega-menu__heading .c-section-heading__title-en {
	font-size: 3.75rem;
	line-height: 1;
	transition: 0.3s ease-in-out all;
	margin-bottom: 0.9375rem;
}

.mega-menu__heading .arrow-long {
	background-color: var(--blue);
}

.mega-menu__wrap {
	display: flex;
	align-items: flex-start;
	gap: 1.25rem;
}

.mega-menu__links {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.75rem 2.5rem;
}

.mega-menu__link {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.875rem;
	font-weight: var(--bold);
	color: var(--base);
	padding: 0.375rem 0;
	transition: 0.3s ease-in-out all;
}

.mega-menu__link::before {
	content: "-";
	color: var(--blue);
	font-size: 1rem;
	line-height: 1;
	transform: translateY(-0.125rem);
}

.mega-menu__card {
	display: block;
	width: 15.625rem;
}

.mega-menu__figure {
	width: 100%;
	aspect-ratio: 250/157;
	overflow: hidden;
	position: relative;
	margin-bottom: 1.25rem;
}

.mega-menu__figure img {
	transition: 0.3s ease-in-out all;
}

.mega-menu__card-label {
	font-size: 1.125rem;
	font-weight: var(--bold);
	letter-spacing: 0.04em;
	color: var(--base);
	transition: 0.3s ease-in-out all;
}

.page-fv {
	margin-top: 18.4375rem;
	position: relative;
	z-index: 2;
	overflow: hidden;
}

.page-fv__heading {
	--section-heading-accent-color: #207dd0;
	--section-heading-label-color: #333333;
	--section-heading-title-en-color: #333333;
	margin-bottom: 2.5rem;
	position: relative;
	z-index: 2;
}

.page-fv__visual {
	width: 100%;
	position: relative;
	z-index: 2;
	clip-path: inset(0% -100% 0% 0%);
}

.page-fv__visual img {
	height: 100%;
	max-width: unset;
	width: 100vw;
	height: 31.375rem;
	object-fit: cover;
}

.page-read {
	padding-block: 9.375rem 7.625rem;
}

.page-read__title {
	font-size: 2.25rem;
	font-weight: var(--bold);
	line-height: 1.6666666667;
	letter-spacing: 0.04em;
	color: var(--base);
	margin-bottom: 1.875rem;
	text-align: center;
}

.page-read__title .js-line-title-line {
	margin-inline: auto;
}

.page-read__text {
	max-width: 45rem;
	margin-inline: auto;
	font-size: 1.125rem;
	font-weight: var(--medium);
	line-height: 3;
	letter-spacing: 0.04em;
	color: var(--dark-blue);
}

.page-sub-head {
	text-align: center;
}

.page-sub-head__jp {
	margin-bottom: 0.3125rem;
	font-size: 1.125rem;
	font-weight: var(--bold);
	line-height: 1.3333333333;
	letter-spacing: 0.04em;
	color: var(--blue);
}

.page-sub-head__en {
	font-size: 3.75rem;
	font-weight: var(--semibold);
	line-height: 1.3666666667;
	letter-spacing: 0;
	color: var(--base);
}

.sub-head {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	row-gap: 0.5rem;
	padding-bottom: 0.75rem;
	position: relative;
}

.sub-head::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 1.25rem;
	height: 1px;
	background-color: var(--blue);
	transition: 0.3s ease-in-out all;
}

.sub-head__eyebrow-en {
	font-size: 1rem;
	font-weight: var(--semibold);
	letter-spacing: 0.04em;
	color: var(--blue);
	transition: 0.3s ease-in-out all;
}

.sub-head__eyebrow-ja {
	font-size: 1.75rem;
	font-weight: var(--bold);
	line-height: 1.4444444444;
	letter-spacing: 0.04em;
	transition: 0.3s ease-in-out all;
}

.tech-heading {
	text-align: center;
	font-size: 1.75rem;
	font-weight: var(--bold);
	letter-spacing: 0.04em;
	color: var(--base);
}

.toggle {
	aspect-ratio: 1;
	width: 1.25rem;
	position: relative;
}

.toggle::after,
.toggle::before {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background-color: var(--white);
	position: absolute;
	left: 0;
	top: 50%;
}

.toggle::after {
	transform: translateY(-50%);
}

.toggle::before {
	transform: translateY(-50%) rotate(90deg);
	transition: 0.3s ease-in-out all;
}

.toggle.is-open::before {
	opacity: 0;
}

.page-business {
	background-color: var(--white);
	overflow: hidden;
}

.pb-intro {
	padding-block: 9.375rem 6.875rem;
	position: relative;
	margin-bottom: 6.875rem;
	z-index: 1;
}

.pb-intro::after {
	content: "";
	display: block;
	position: absolute;
	top: -9rem;
	height: calc(100% + 9rem);
	width: 100%;
	background-color: var(--blue);
	opacity: 0.05;
	z-index: 2;
}

.pb-intro::before {
	content: "";
	display: block;
	position: absolute;
	aspect-ratio: 2150/1912;
	width: 134.375rem;
	background-image: url("../images/business/honeycomb.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	left: 6.25rem;
	bottom: 4.625rem;
	z-index: 1;
}

.pb-intro__inner {
	position: relative;
	z-index: 3;
}

.pb-intro__title {
	font-size: 2.25rem;
	font-weight: var(--bold);
	line-height: 1.6666666667;
	letter-spacing: 0.04em;
	color: var(--base);
	text-align: center;
	margin-bottom: 2.875rem;
}

.js-line-title-line {
	margin-inline: auto;
}

.pb-intro__text {
	max-width: 45rem;
	font-size: 1.125rem;
	font-weight: var(--medium);
	line-height: 3;
	letter-spacing: 0.04em;
	color: var(--dark-blue);
	text-align: left;
	margin-inline: auto;
}

.pb-intro__img {
	margin-top: -1.25rem;
	max-width: 40.625rem;
	margin-inline: auto;
}

.pb-overview {
	margin-bottom: 9.0625rem;
	overflow: hidden;
}

.pb-overview__inner {
	display: grid;
	grid-template-columns: 1fr;
	gap: 6.25rem;
}

.pb-overview__head {
	margin-bottom: -2.5rem;
}

.pb-overview__wrap {
	display: flex;
	align-items: flex-start;
}

.pb-overview__wrap:nth-child(odd) {
	flex-direction: row-reverse;
}

.pb-overview__visual {
	width: calc(50% - 0.9375rem);
}

.pb-overview__visual img {
	height: 33.75rem;
	width: 50vw;
	object-fit: cover;
	max-width: unset;
}

.pb-overview__content {
	padding-left: 3.75rem;
	flex-grow: 1;
	width: 50%;
}

.pb-overview__read {
	margin-bottom: 2.5rem;
}

.pb-overview__title {
	font-size: 1.75rem;
	font-weight: var(--bold);
	line-height: 1.5;
	letter-spacing: 0.04em;
	color: var(--base);
	margin-bottom: 2rem;
}

.pb-overview__text {
	font-size: 1rem;
	font-weight: var(--medium);
	line-height: 1.75;
	letter-spacing: 0.04em;
	color: var(--base);
	max-width: 35rem;
	margin-bottom: 3.4375rem;
}

.p-concept {
	background-color: var(--white);
}

/*Visuala collage */

.pc-visuals {
	position: relative;
	margin-bottom: 12.5rem;
}

.pc-visuals::after {
	content: "";
	display: block;
	position: absolute;
	top: 9.6875rem;
	right: 40vw;
	width: 60vw;
	height: 25.125rem;
	background-color: var(--blue2);
	z-index: 1;
}

.pc-visuals__inner {
	position: relative;
	z-index: 2;
}

.pc-visuals__visual01 {
	aspect-ratio: 450/412;
	width: 28.125rem;
}

.pc-visuals__visual02 {
	margin-top: -14.625rem;
	aspect-ratio: 339/330;
	width: 21.1875rem;
	margin-left: 50%;
}

.pc-visuals__visual03 {
	margin-top: -3.375rem;
	margin-left: 15.25rem;
	width: 24.75rem;
	aspect-ratio: 396/264;
}

.pc-visuals__dec {
	aspect-ratio: 253/242;
	width: 15.8125rem;
	margin-left: auto;
	margin-top: -19.0625rem;
	margin-right: 1.875rem;
}

/* 0004: Ideas */

.pc-ideas {
	position: relative;
	z-index: 3;
	padding-block: 7.5rem;
	background: linear-gradient(to left, rgba(32, 125, 208, 0.05) 0 90vw, transparent 90vw 100%);
	margin-bottom: 9.375rem;
	overflow: hidden;
}

.pc-ideas--reverse {
	background: linear-gradient(to right, rgba(32, 125, 208, 0.05) 0 90vw, transparent 90vw 100%);
}

.pc-ideas__head {
	text-align: center;
	margin-bottom: 3.75rem;
}

.pc-ideas__hero {
	display: flex;
	align-items: flex-start;
	margin-bottom: 10rem;
}

.pc-ideas--reverse .pc-ideas__hero {
	flex-direction: row-reverse;
}

.pc-ideas__visual {
	width: 50%;
}

.pc-ideas__visual img {
	width: 50vw;
	height: 31.25rem;
	max-width: unset;
}

.pc-ideas__copy {
	width: 50%;
	flex-grow: 1;
	padding-left: 8.4375rem;
}

.pc-ideas--reverse .pc-ideas__copy {
	padding-left: unset;
	padding-right: 8.4375rem;
}

.pc-ideas__heading {
	font-size: 2.25rem;
	font-weight: var(--bold);
	line-height: 1.6666666667;
	letter-spacing: 0.04em;
	color: var(--base);
	margin-bottom: 3.4375rem;
	max-width: 27.1875rem;
}

.pc-ideas--reverse .pc-ideas__heading {
	margin-left: auto;
}

.pc-ideas--reverse .pc-ideas__text {
	margin-left: auto;
}

.pc-ideas__text {
	font-size: 1rem;
	font-weight: var(--medium);
	line-height: 1.75;
	letter-spacing: 0.04em;
	color: var(--dark-blue);
	max-width: 27.1875rem;
}

.pc-ideas__points {
	position: relative;
	max-width: 56.875rem;
	margin-inline: auto;
	z-index: 1;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 2.1875rem;
}

.pc-ideas__point-number {
	font-size: 2.0625rem;
	font-weight: var(--bold);
	letter-spacing: 0.04em;
	color: #207dd0;
	text-align: center;
	position: relative;
	z-index: 2;
}

.pc-ideas__point-circle {
	margin-top: -1.5rem;
	position: relative;
	z-index: 1;
	width: 17.5rem;
	aspect-ratio: 1;
	border-radius: 50%;
	background-color: #fff;
	margin-inline: auto;
	display: grid;
	place-content: center;
	margin-bottom: 1rem;
}

.pc-ideas__point-circle svg.circle {
	stroke-dashoffset: 62.5rem;
	stroke-dasharray: 62.5rem;
	position: absolute;
	width: calc(100% + 1px);
	height: calc(100% + 1px);
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.pc-ideas__point-title {
	text-align: center;
	font-size: 1.25rem;
	font-weight: var(--bold);
	line-height: 1.5;
	letter-spacing: 0.04em;
	color: var(--base);
}

.pc-ideas__point-desc {
	margin-inline: auto;
	max-width: 13.4375rem;
	font-size: 1rem;
	font-weight: var(--medium);
	line-height: 1.75;
	letter-spacing: 0.04em;
	color: var(--base);
}

.pc-ideas__lists {
	max-width: 56.875rem;
	margin-inline: auto;
	margin-bottom: 5.625rem;
	display: grid;
	grid-template-columns: 100%;
	gap: 4.125rem;
}

.pc-ideas__lists .swiper-pagination {
	margin-top: 0.25rem !important;
	position: static !important;
}

.pc-ideas__lists .swiper-slide {
	height: auto;
	aspect-ratio: 435/328;
}

.pc-ideas__lists .swiper-slide img {
	height: 100%;
}

.pc-ideas__list-wrap {
	position: relative;
}

.pc-ideas__buttons {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	aspect-ratio: 435/328;
	display: flex;
	align-items: center;
	justify-content: space-between;
	pointer-events: none;
	padding: 0 1.25rem;
	z-index: 5;
}

.pc-ideas__button {
	aspect-ratio: 1;
	pointer-events: auto;
	width: 1.5rem;
	cursor: pointer;
	border-left: 1px solid var(--base);
	border-bottom: 1px solid var(--base);
}

.pc-ideas__button-prev {
	transform: rotate(45deg);
}

.pc-ideas__button-next {
	transform: rotate(225deg);
}

.pc-ideas__list {
	display: grid;
	grid-template-columns: 50% 50%;
	gap: 2.5rem;
}

.pc-ideas__list-texts {
	padding-right: 1.25rem;
}

.pc-ideas__list-label {
	font-size: 1.25rem;
	font-weight: var(--bold);
	color: var(--blue);
	line-height: 2.2;
	letter-spacing: 0.04em;
}

.pc-ideas__list-title {
	margin-bottom: 1.25rem;
	font-size: 1.25rem;
	font-weight: var(--bold);
	color: var(--base);
	line-height: 1.5;
	letter-spacing: 0.04em;
}

.pc-ideas__list-text {
	font-size: 1rem;
	font-weight: var(--medium);
	color: var(--base);
	line-height: 1.75;
	letter-spacing: 0.04em;
}

.page-hero {
	margin-top: 8.75rem;
}

.page-interview {
	background: var(--white);
}

/* 0001: Hero heading */

.pi-hero {
	margin-top: 18.125rem;
	margin-bottom: 9.0625rem;
}

.pi-hero__heading {
	--section-heading-accent-color: #207dd0; /* triangle */
	--section-heading-label-color: #333333; /* INTERVIEW */
}

.pi-hero__title {
	margin: 0.5rem 0 0;
	font-size: 3.75rem;
	font-weight: var(--semibold);
	line-height: 1.3666666667;
	letter-spacing: 0;
	color: var(--base);
}

.pi-hero__meta {
	margin-top: 1.5rem;
}

.pi-hero__dept {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding: 0.5625rem 1.5rem;
	width: -moz-fit-content;
	width: fit-content;
	background: var(--blue);
	color: var(--white);
	font-weight: var(--bold);
	font-size: 1.125rem;
}

/* 0002: Message */

.pi-message {
	padding-bottom: 10.625rem;
	color: var(--white);
	margin-bottom: 13.4375rem;
	position: relative;
}

.pi-message::after {
	content: "";
	display: block;
	position: absolute;
	top: 1.25rem;
	left: 0;
	width: 100%;
	height: calc(100% - 1.25rem);
	clip-path: polygon(0 26.25rem, 100% 0%, 100% 100%, 0 100%);
	background: var(--blue);
	z-index: 1;
}

.pi-message__inner {
	position: relative;
	z-index: 2;
}

.pi-message__visual {
	width: 74%;
	margin-bottom: 3.125rem;
	height: 39.375rem;
}

.pi-message__visual img {
	width: 75vw;
	max-width: unset;
	max-height: 51.875rem;
	object-position: center;
}

.pi-message__catch {
	font-size: 2.5rem;
	margin-left: 1.25rem;
	line-height: 2.125;
	font-weight: var(--semibold);
	font-family: var(--second-font-family);
	letter-spacing: 0.04em;
	transform: rotate(-5deg);
	position: relative;
	--clip: "inset(0% 100% 0% 0%)";
}

.pi-message__catch::after {
	content: "";
	display: block;
	position: absolute;
	top: 76%;
	left: 12.5rem;
	aspect-ratio: 493/76;
	width: 30.8125rem;
	background-image: url("../images/common/dec-line.svg");
	background-repeat: no-repeat;
	background-size: cover;
	transform: rotate(5deg);
	clip-path: var(--clip);
}

.pi-message__text {
	margin-top: 5rem;
	max-width: 45rem;
	margin-inline: auto;
	font-size: 1rem;
	font-weight: var(--regular);
	line-height: 1.75;
	letter-spacing: 0.04em;
}

/* 0003: Q&A + images */

.pi-qa {
	margin-bottom: 7.5rem;
}

.pi-qa__grids {
	display: grid;
	grid-template-columns: 1fr;
	gap: 6.25rem;
}

.pi-qa__grid {
	max-width: 68.75rem;
	margin-inline: auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2.5rem;
	grid-template-areas: "figure block";
}

.pi-qa__grid:nth-child(odd) {
	grid-template-areas: "block figure";
}

.pi-qa__figure {
	grid-area: figure;
	aspect-ratio: 530/398;
}

.pi-qa__block {
	grid-area: block;
}

.pi-qa__q {
	margin-bottom: 1.25rem;
	font-size: 1.25rem;
	font-weight: var(--bold);
	letter-spacing: 0.04em;
	line-height: 2;
	color: var(--blue);
}

.pi-qa__a {
	font-size: 1rem;
	line-height: 1.75;
	letter-spacing: 0.04em;
	color: var(--base);
}

.pi-bg-blue {
	background-color: rgba(32, 125, 208, 0.05);
	padding: 21.875rem 0 7.5rem;
	margin-top: -14.375rem;
	position: relative;
	z-index: 1;
}

/* 0004: Banner */

.pi-banner {
	max-width: 85%;
	position: relative;
	z-index: 1;
}

.pi-banner__figure {
	aspect-ratio: 1350/500;
}

/* 0005: Daily schedule */

.pi-schedule {
	margin-bottom: 8.125rem;
}

.pi-schedule__inner {
	max-width: 52.125rem;
	padding: 0 var(--padding-pc);
	margin-inline: auto;
}

.pi-schedule__label {
	margin-bottom: 3.25rem;
	font-size: 1.625rem;
	font-weight: var(--bold);
	letter-spacing: 0.04em;
	color: var(--blue);
	line-height: 1.7692307692;
}

.pi-schedule__list {
	position: relative;
	display: grid;
	grid-template-columns: 1fr;
	gap: 4.375rem;
}

.pi-schedule__list::before {
	content: "";
	position: absolute;
	left: 9rem;
	height: calc(100% - 1.25rem);
	top: 0.9375rem;
	width: 1px;
	transform: translateX(-100%);
	background: var(--blue);
}

.pi-schedule__item {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 1.875rem;
}

.pi-time {
	text-align: center;
	width: 6.1875rem;
	background: #fff;
	color: var(--blue);
	border-radius: 3.125rem;
	font-size: 1.125rem;
	padding: 0.375rem 0.625rem;
	font-weight: var(--bold);
	margin-right: 0.625rem;
}

.pi-dotted {
	aspect-ratio: 1;
	width: 0.625rem;
	background-color: var(--blue);
	border-radius: 50%;
	margin-top: 0.5lh;
}

.pi-task {
	width: 50%;
	flex-grow: 1;
	font-size: 1rem;
	font-weight: var(--regular);
	color: var(--base);
	line-height: 1.75;
	letter-spacing: 0.04em;
	margin-top: 0.1lh;
}

/* 0008: Day Off */

.pi-dayoff {
	position: relative;
	padding-block: 0.625rem;
}

.pi-dayoff__inner {
	max-width: 68.125rem;
	padding: 0 var(--padding-pc);
	margin-inline: auto;
}

.pi-dayoff__card-container {
	position: relative;
}

.pi-dayoff__card-container::after,
.pi-dayoff__card-container::before {
	content: "";
	display: block;
	position: absolute;
	aspect-ratio: 1;
	width: 11.375rem;
	background-image: url("../images/common/prof-dec.svg");
	background-repeat: no-repeat;
	background-size: contain;
	z-index: 4;
}

.pi-dayoff__card-container::after {
	top: -1.9375rem;
	left: -1.9375rem;
}

.pi-dayoff__card-container::before {
	bottom: -1.9375rem;
	right: -1.9375rem;
}

.pi-dayoff__card-wrap {
	padding: 1.5625rem;
	clip-path: polygon(7.5rem 0, 100% 0, 100% calc(100% - 7.5rem), calc(100% - 7.5rem) 100%, 0 100%, 0% 7.5rem);
}

.pi-dayoff__card {
	background: #fff;
	box-shadow: 0.3125rem 0.3125rem 1.25rem rgba(0, 0, 0, 0.16);
	display: grid;
	grid-template-columns: 18.75rem 1fr;
	gap: 3.125rem;
	padding: 3.125rem;
	position: relative;
}

.pi-dayoff__photo {
	width: 18.75rem;
	aspect-ratio: 1/1;
	border-radius: 50%;
	overflow: hidden;
}

.pi-dayoff__texts {
	margin-top: 2.875rem;
}

.pi-dayoff__label {
	font-size: 1.625rem;
	font-weight: var(--bold);
	letter-spacing: 0.04em;
	color: var(--blue);
	margin-bottom: 3.4375rem;
}

.pi-dayoff__q {
	font-size: 1.25rem;
	font-weight: var(--bold);
	letter-spacing: 0.04em;
	color: var(--blue);
	margin-bottom: 1rem;
}

.pi-dayoff__a {
	font-size: 1rem;
	line-height: 1.75;
	color: var(--base);
	font-weight: var(--regular);
	letter-spacing: 0.04em;
}

.pr-mv {
	overflow: hidden;
	margin-top: 14.375rem;
	position: relative;
}

.pr-mv::before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	right: 0;
	width: 134.375rem;
	height: 119.5rem;
	background-image: url("../images/recruit/mv-dec.png");
	background-repeat: no-repeat;
	background-size: cover;
	transform: translate(50%, 50%);
	z-index: 2;
}

.pr-mv::after {
	content: "";
	display: block;
	position: absolute;
	top: 3.75rem;
	width: 100%;
	height: calc(100% - 8.75rem);
	background-color: var(--blue);
	z-index: 1;
	clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 25.5rem);
}

.pr-mv__inner {
	position: relative;
	z-index: 3;
}

.pr-mv__head {
	margin-bottom: 9.375rem;
}

.pr-mv__title {
	margin-bottom: 1.875rem;
	font-size: 4.375rem;
	font-weight: var(--bold);
	color: var(--base);
	letter-spacing: 0.04em;
}

.pr-mv__en {
	font-size: 1.25rem;
	font-weight: var(--bold);
	color: var(--base);
	letter-spacing: 0.04em;
}

.pr-mv__slider-wrap {
	margin-bottom: 7.5rem;
	overflow: hidden;
	position: relative;
	z-index: 3;
}

.pr-mv__slide-items {
	display: flex;
	gap: 0.625rem;
	width: -moz-fit-content;
	width: fit-content;
	animation: scroll 36s linear infinite;
}

.pr-mv__slide-item {
	display: flex;
	gap: 0.625rem;
	width: -moz-fit-content;
	width: fit-content;
}

.pr-mv__slide {
	aspect-ratio: 500/333;
	width: 31.25rem;
}

.pr-mv__flex {
	display: flex;
	align-items: flex-start;
}

.pr-mv__texts {
	width: 50%;
	padding-right: 1.25rem;
}

.pr-mv__sub-title {
	font-size: 4.375rem;
	font-weight: var(--semibold);
	font-family: var(--second-font-family);
	color: var(--white);
	line-height: 1.4285714286;
	letter-spacing: 0.04em;
	margin-bottom: 3.4375rem;
}

.pr-mv__text {
	font-size: 1rem;
	font-weight: var(--regular);
	color: var(--white);
	line-height: 2;
	letter-spacing: 0.04em;
}

.pr-mv__img {
	width: 50%;
	padding-left: 1.25rem;
	margin-top: 8.75rem;
}

.pr-mv__img img {
	aspect-ratio: 780/520;
	width: 50vw;
	max-width: unset;
	object-fit: cover;
	display: block;
}

/* 0002: Interview */

.pr-interview__dec {
	margin-top: -2.8125rem;
	aspect-ratio: 253/242;
	width: 15.8125rem;
	margin-left: auto;
}

.pr-interview {
	margin-top: -1.875rem;
	margin-bottom: 1.5rem;
	overflow: hidden;
}

.pr-interview__head {
	margin-bottom: 2rem;
}

.pr-interview__read {
	font-size: 1rem;
	font-weight: var(--regular);
	color: var(--base);
	line-height: 1.75;
	letter-spacing: 0.04em;
	margin-bottom: 3.4375rem;
}

.pr-interview__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 4.0625rem;
}

.pr-card {
	position: relative;
	padding-bottom: 11.875rem;
	display: flex;
	align-items: center;
	gap: 2.5rem;
}

.pr-card::after,
.pr-card::before {
	content: "";
	display: block;
	position: absolute;
	height: 28.75rem;
	width: 100vw;
	clip-path: polygon(0 0, 100% 0, calc(100% - 6.25rem) 100%, 0 100%);
	z-index: 1;
}

.pr-card::after {
	right: 0;
	top: 3.125rem;
	background-color: var(--blue);
}

.pr-card::before {
	right: 6.25rem;
	top: 8.125rem;
	background-color: var(--blue);
	opacity: 0.05;
}

.pr-card:nth-child(even) {
	flex-direction: row-reverse;
}

.pr-card:nth-child(even)::after {
	left: 0;
	right: unset;
	transform: scaleX(-1);
}

.pr-card:nth-child(even)::before {
	left: 6.25rem;
	right: unset;
	transform: scaleX(-1);
}

.pr-card__imgs {
	position: relative;
	z-index: 2;
	width: 33.125rem;
}

.pr-card__figure {
	aspect-ratio: 530/397.5;
}

.pr-card__dept {
	position: absolute;
	left: 0rem;
	top: 0rem;
	display: inline-block;
	padding: 0.625rem 1.5rem;
	background: var(--blue);
	color: var(--white);
	font-weight: var(--bold);
	font-size: 1.125rem;
}

.pr-card__texts {
	margin-top: -1.25rem;
	width: 40%;
	flex-grow: 1;
	position: relative;
	z-index: 2;
	max-width: 21.25rem;
}

.pr-card__meta {
	color: #fff;
	font-size: 3.75rem;
	font-weight: var(--semibold);
	margin-bottom: 2.1875rem;
}

.pr-card__no {
	font-size: inherit;
}

.pr-card__cta {
	border-color: var(--white);
	margin-top: 1rem;
}

/* 0009: Environment */

.pr-env__dec {
	aspect-ratio: 253/242;
	width: 15.8125rem;
	margin-left: auto;
}

.pr-env__dec img {
	object-fit: contain;
}

.pr-env {
	margin-top: -7.5rem;
	margin-bottom: 9.375rem;
	padding: 9.375rem 0;
	position: relative;
	background: linear-gradient(to right, rgba(32, 125, 208, 0.05) 0 89%, transparent 89% 100%);
	z-index: 4;
}

.pr-env__inner {
	position: relative;
	max-width: 78.125rem;
	padding: 0 var(--padding-pc);
	margin-inline: auto;
}

.pr-env__content {
	display: flex;
	align-items: flex-start;
}

.pr-env__body {
	width: 41.5625rem;
	padding-right: 4.6875rem;
	display: grid;
	grid-template-columns: 100%;
	gap: 3.125rem;
}

.pr-env__title {
	width: calc(100% + 1.25rem);
}

.pr-env__text {
	font-size: 1.125rem;
	line-height: 2;
	letter-spacing: 0.04em;
	color: var(--dark-blue);
	max-width: 33.125rem;
}

.pr-env__img {
	width: 30%;
	aspect-ratio: 530/394;
	flex-grow: 1;
}

.pr-env__img img {
	width: 40vw;
	max-width: unset;
	object-fit: cover;
	display: block;
}

.page-recruit {
	position: relative;
	z-index: 3;
}

.page-recruit .guidelines {
	border-top: 1px solid var(--blue);
}

.page-technology {
	background-color: var(--white);
}

.pt-cats__list {
	display: flex;
	justify-content: center;
}

.pt-cats__btn {
	width: 11.4375rem;
	padding: 1.1875rem;
	text-align: center;
	background-color: var(--white);
	color: var(--blue);
	font-weight: var(--bold);
	font-size: 1rem;
	border: 1px solid var(--blue);
	letter-spacing: 0.04em;
	transition: 0.3s ease-in-out all;
}

.pt-cats__item.is-active .pt-cats__btn {
	background-color: #207dd0;
	color: #fff;
}

.bg-blue {
	background-color: rgba(32, 125, 208, 0.05);
	padding: 5rem 0 9.375rem;
	margin-bottom: 9.375rem;
	overflow: hidden;
}

/*  Planning */

.pt-plan {
	margin-bottom: 9.375rem;
}

.pt-plan__wrapper {
	background-color: var(--white);
	padding: 8.5rem 0 9.375rem;
}

.pt-plan__head {
	margin-bottom: 3.75rem;
}

.pt-plan__wrap {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	margin-bottom: 6rem;
}

.pt-plan__visual {
	width: 50%;
}

.pt-plan__visual img {
	height: 31.25rem;
	width: 50vw;
	max-width: unset;
}

.pt-plan__content {
	width: 50%;
	padding-left: 2.5rem;
	max-width: 35.9375rem;
}

.pt-plan__title {
	font-size: 2.25rem;
	font-weight: var(--bold);
	line-height: 1.6666666667;
	letter-spacing: 0.04em;
	color: var(--base);
	padding-bottom: 1.5rem;
	margin-bottom: 1.875rem;
	position: relative;
}

.pt-plan__title::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 1.25rem;
	height: 1px;
	background-color: var(--blue);
}

.pt-plan__text {
	font-size: 1rem;
	font-weight: var(--medium);
	line-height: 1.75;
	letter-spacing: 0.04em;
	color: var(--dark-blue);
}

.pt-plan__flexs {
	display: grid;
	grid-template-columns: 100%;
	gap: 6.25rem;
	margin-bottom: 6.25rem;
	max-width: 68.75rem;
	margin-inline: auto;
}

.pt-plan__flex-title {
	margin-bottom: 2.25rem;
	font-size: 1.75rem;
	font-weight: var(--bold);
	color: var(--base);
	line-height: 1.2857142857;
	letter-spacing: 0.04em;
	text-align: center;
}

.pt-plan__flex-wrap {
	display: flex;
	align-items: flex-start;
}

.pt-plan__flex-texts {
	width: 54%;
	padding-right: 2.5rem;
}

.pt-plan__flex-text {
	font-size: 1rem;
	font-weight: var(--medium);
	color: var(--dark-blue);
	line-height: 1.75;
	letter-spacing: 0.04em;
	margin-bottom: 1rem;
}

.pt-plan__flex-quote {
	padding: 1.125rem 1.25rem;
	font-size: 0.875rem;
	font-weight: var(--medium);
	color: var(--dark-blue);
	line-height: 1.8571428571;
	letter-spacing: 0.04em;
	background-color: rgba(32, 125, 208, 0.05);
}

.pt-plan__flex-img {
	width: 46%;
	aspect-ratio: 530/352;
}

.pt-plan__flex-img .contain {
	object-fit: contain;
	object-position: left;
}

.pt-plan__features {
	margin-bottom: 2.8125rem;
	font-size: 1.75rem;
	text-align: center;
	font-weight: var(--bold);
	letter-spacing: 0.04em;
	color: var(--base);
}

.pt-plan__points {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.875rem 2.5rem;
	max-width: 68.75rem;
	margin-inline: auto;
}

.pt-plan__point {
	background: rgba(32, 125, 208, 0.1);
	padding: 0 1.5rem 1.5rem;
}

.pt-plan__point-kicker {
	display: inline-block;
	font-size: 1rem;
	font-weight: var(--bold);
	letter-spacing: 0.04em;
	color: var(--blue);
	margin-bottom: 0.3125rem;
	transform: translateY(-0.5625rem);
}

.pt-plan__point-text {
	font-size: 1rem;
	font-weight: var(--bold);
	padding: 0 0.375rem;
	letter-spacing: 0.04em;
	color: var(--base);
	line-height: 1.3;
}

/* Product examples */

.pt-examples {
	margin-bottom: 6.875rem;
}

.pt-examples__inner {
	max-width: 68.75rem;
	margin-inline: auto;
}

.pt-examples__content {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2.5rem;
}

.pt-examples__heading {
	margin-bottom: 2.25rem;
}

.pt-examples__img {
	aspect-ratio: 530/374;
}

.pt-examples__lead {
	font-size: 1rem;
	font-weight: var(--medium);
	line-height: 1.75;
	letter-spacing: 0.04em;
	color: var(--dark-blue);
	margin-bottom: 5.125rem;
}

.pt-examples__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.625rem;
	width: 102%;
}

.pt-examples__tag {
	padding: 0 0.625rem;
	line-height: 1.75;
	border: 1px solid var(--blue);
	color: var(--blue);
	font-weight: var(--medium);
	font-size: 1rem;
	background-color: var(--white);
	letter-spacing: 0.04em;
}

/* 0006: Flow */

.pt-flow {
	margin-bottom: 6.25rem;
}

.pt-flow__inner {
	max-width: 45rem;
	margin-inline: auto;
}

.pt-flow__heading {
	margin-bottom: 2.25rem;
}

.pt-flow__list {
	border-top: 1px solid #ccc;
}

.pt-flow__item {
	gap: 3.6875rem;
	display: flex;
	align-items: center;
	padding-block: 2.25rem 1.75rem;
	border-bottom: 1px solid #ccc;
}

.pt-flow__num {
	color: var(--blue);
	font-size: 1.875rem;
	font-weight: var(--semibold);
}

.pt-flow__title {
	font-size: 1.25rem;
	font-weight: var(--bold);
	color: var(--base);
	letter-spacing: 0.04em;
	margin-bottom: 0.375rem;
}

.pt-flow__desc {
	font-size: 1rem;
	line-height: 1.75;
	color: var(--dark-blue);
	letter-spacing: 0.04em;
	line-height: 1.75;
}

/* 0007: Download */

.pt-dl__inner {
	max-width: 45rem;
	margin-inline: auto;
	background: #fff;
	padding: 2.5rem 1.875rem 2.25rem;
}

.pt-dl__heading {
	text-align: left;
	margin-bottom: 1.875rem;
}

.pt-dl__content {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2.5rem;
}

.pt-dl__text {
	font-size: 1rem;
	line-height: 1.75;
	color: var(--dark-blue);
}

.pt-dl__btn {
	min-width: 19.375rem;
}

/* 0008–0010: Machine list */

.pt-machine {
	margin-bottom: 9.375rem;
}

.pt-machine__inner {
	max-width: 45rem;
	margin-inline: auto;
}

.pt-machine__head {
	margin-bottom: 2.625rem;
}

.pt-machine__block-title {
	margin-bottom: 1.125rem;
}

.table-title {
	font-size: 1.75rem;
	font-weight: var(--bold);
	color: var(--base);
	letter-spacing: 0.04em;
}

.pt-machine__items {
	display: grid;
	grid-template-columns: 1fr;
	gap: 6rem;
}

.pt-machine__table-wraps {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2.5rem;
}

.pt-machine__table {
	width: 100%;
	border: 1px solid var(--gray);
	border-collapse: collapse;
	background: #fff;
}

.pt-machine__table.text-center {
	text-align: center;
}

.pt-machine__table thead {
	background-color: rgba(32, 125, 208, 0.05);
}

.pt-machine__table th {
	font-weight: var(--medium);
	text-align: center;
}

.pt-machine__table th,
.pt-machine__table td {
	padding: 0.875rem 0.75rem;
	font-size: 1rem;
	letter-spacing: 0.04em;
	color: var(--base);
	border: 1px solid var(--gray);
	vertical-align: middle;
}

.pt-machine__table caption {
	text-align: left;
	padding: 0.5rem 0;
	font-weight: 600;
}

/* Product list */

.pt-products {
	margin-bottom: 9.375rem;
}

.pt-products__inner {
	max-width: 71.875rem;
	padding: 0 var(--padding-pc);
	margin-inline: auto;
}

.pt-products__head {
	margin-bottom: 3.75rem;
}

.pt-products__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2.5rem;
}

.pt-products__figure {
	aspect-ratio: 340/250;
	margin-bottom: 1.125rem;
}

.pt-products__card-title {
	font-size: 1.25rem;
	font-weight: var(--bold);
	color: var(--base);
	letter-spacing: 0;
	margin-bottom: 0.875rem;
}

.pt-products__card-text {
	font-size: 1rem;
	line-height: 1.75;
	letter-spacing: 0;
	color: var(--base);
}

.front-page {
	overflow: clip;
}

.mv {
	margin-top: 8.75rem;
	position: relative;
	height: calc(100dvh - 8.75rem);
	min-height: 37.5rem;
	max-height: 68.75rem;
	margin-bottom: 9.375rem;
}

.mv__dec {
	position: absolute;
	aspect-ratio: 253/242;
	width: 15.8125rem;
	top: 100%;
	z-index: 1;
	transform: translateY(-50%);
	right: 6.25rem;
}

.mv__honey {
	position: absolute;
	aspect-ratio: 2150/1912;
	width: 134.375rem;
	top: 50%;
	right: 3.125rem;
	transform: translateX(50%);
	z-index: 0;
}

.mv__media {
	position: relative;
	z-index: 3;
	width: calc(100% - 6.25rem);
	height: 100%;
	margin-left: auto !important;
	margin-right: unset !important;
}

.mv__slide {
	height: 100%;
}

.mv__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mv__copy {
	position: absolute;
	left: 12.5rem;
	bottom: 28%;
	display: flex;
	flex-direction: column;
	row-gap: 1.25rem;
	z-index: 3;
	color: var(--white);
}

.mv__title {
	font-size: 3.8125rem;
	font-weight: var(--bold);
	line-height: 1.2295081967;
	width: -moz-fit-content;
	width: fit-content;
	position: relative;
	text-shadow: 0 0.3125rem 0.625rem rgba(0, 0, 0, 0.25);
}

.mv__title span {
	display: block;
	width: -moz-fit-content;
	width: fit-content;
	margin-top: 0.3125rem;
	position: relative;
	--clip: inset(0% 0% 0% 0%);
	clip-path: inset(0% 100% 0% 0%);
}

.mv__title span::after {
	content: "";
	display: block;
	position: absolute;
	inset: 0;
	background-color: var(--blue);
	clip-path: var(--clip);
}

.mv__meta {
	font-size: 1.0625rem;
	font-weight: var(--semibold);
	letter-spacing: 0.04em;
	line-height: 1.5294117647;
	text-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.25);
}

.mv__meta span {
	display: block;
	position: relative;
}

.mv__pagenation {
	position: absolute;
	left: 3rem;
	top: 50%;
	transform: translateY(-50%);
	display: grid;
	grid-template-rows: repeat(3, 4.125rem);
	gap: 0.5rem;
}

.mv__pagenation-bar {
	width: 4px;
	background-color: var(--gray);
	position: relative;
	--scale-y: 0;
}

.mv__pagenation-bar::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	inset: 0;
	transform-origin: top;
	transform: scaleY(var(--scale-y));
	background-color: var(--blue);
}

.overflow {
	overflow: clip;
}

.about {
	margin-bottom: 1.875rem;
	position: relative;
	z-index: 3;
}

.about__title {
	margin-bottom: 3.4375rem;
}

.about__body {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: 1.25rem;
}

.about__content {
	width: 50%;
	margin-top: 4.375rem;
	padding-left: 3.75rem;
}

.about__content-wrap {
	max-width: 30.9375rem;
}

.about__img-wrap {
	width: 50%;
	padding-right: 3.75rem;
	height: 65.625rem;
	position: relative;
}

.about__img {
	position: sticky;
	top: 8.75rem;
}

.about__img img {
	max-height: 38.3125rem;
	width: 50vw;
	position: relative;
}

.about__catch {
	font-size: 2.25rem;
	font-weight: var(--bold);
	line-height: 1.6666666667;
	letter-spacing: 0.04em;
	color: var(--base);
	margin-bottom: 3.4375rem;
	width: calc(100% + 2.5rem);
}

.about__text {
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 3;
	letter-spacing: 0.04em;
	color: var(--dark-blue);
}

.about__media {
	position: relative;
	margin-bottom: 8.125rem;
}

.about__media::after {
	content: "";
	display: block;
	position: absolute;
	left: 75%;
	top: 11.5625rem;
	height: 94.125rem;
	width: 49.0625rem;
	background-color: var(--blue);
	opacity: 0.07;
	z-index: 1;
	rotate: -30deg;
}

.about__photo {
	overflow: hidden;
}

.about__photo--main {
	width: 28.125rem;
	aspect-ratio: 450/412;
}

.about__photo--sub1 {
	position: relative;
	z-index: 3;
	width: 21.1875rem;
	aspect-ratio: 339/330;
	margin-left: auto;
	margin-right: 22.5625rem;
	margin-top: -14.625rem;
}

.about__photo--sub2 {
	position: relative;
	z-index: 3;
	width: 24.75rem;
	aspect-ratio: 396/264;
	margin-left: 15.25rem;
	margin-top: -3.375rem;
}

.about__dec {
	aspect-ratio: 253/242;
	width: 15.8125rem;
	margin-left: auto;
	margin-top: -22.0625rem;
	margin-right: 0.625rem;
}

.about__dec img {
	object-fit: contain;
}

.dec-texts {
	position: relative;
	z-index: 3;
	overflow: hidden;
}

.dec-texts__wrap {
	display: flex;
	width: -moz-fit-content;
	width: fit-content;
	gap: 1.875rem;
	animation: loop-text 40s linear infinite;
}

.dec-texts__item {
	font-size: 8.75rem;
	font-weight: var(--bold);
	color: var(--gray);
	white-space: nowrap;
	line-height: 1.3642857143;
}

.business {
	margin-top: -2.5rem;
	padding: 9.375rem 0 5.625rem;
	background-color: rgba(32, 125, 208, 0.05);
	margin-bottom: 9.375rem;
}

.business .c-section-heading {
	margin-bottom: 3.75rem;
}

.business__cards {
	display: grid;
	grid-template-columns: 1fr;
	gap: 6.125rem;
}

.business-card {
	display: flex;
	align-items: flex-start;
}

.business-card--reverse {
	flex-direction: row-reverse;
}

.business-card__media {
	position: relative;
	width: calc(50% + 3.75rem);
}

.business-card__media img {
	max-width: unset;
	margin-left: 100%;
	transform: translateX(-100%);
	max-height: 53.75rem;
	width: calc(50vw + 3.75rem);
}

.business-card--reverse .business-card__media img {
	margin-left: unset;
	transform: unset;
}

.business-card__panel {
	display: block;
	margin-top: 6.25rem;
	width: calc(50% + 3.75rem);
	flex-grow: 1;
	background-color: var(--white);
	padding: 3.75rem 6.25rem;
	margin-left: -7.5rem;
	position: relative;
	z-index: 3;
	transition: 0.3s ease-in-out background-color;
}

.business-card--reverse .business-card__panel {
	margin-right: -7.5rem;
	margin-left: unset;
}

.business-card__meta {
	margin-bottom: 2.5rem;
}

.business-card__heading {
	font-size: 1.75rem;
	font-weight: var(--bold);
	line-height: 1.5;
	letter-spacing: 0.04em;
	margin-bottom: 2rem;
	transition: 0.3s ease-in-out all;
}

.business-card__text {
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.75;
	letter-spacing: 0.04em;
	margin-bottom: 2rem;
	transition: 0.3s ease-in-out all;
}

.business-card__cta {
	transition: 0.3s ease-in-out border-color;
}

.company__dec {
	width: 12.25rem;
	margin-top: -18.75rem;
	margin-left: calc(50% + 3.75rem);
}

.company__dec img {
	object-fit: contain;
}

.company {
	margin-bottom: 9.375rem;
	overflow: hidden;
}

.company .c-section-heading {
	margin-bottom: 3.75rem;
}

.company__layout {
	display: flex;
	align-items: flex-start;
	position: relative;
	padding: 5.625rem 0 13.9375rem;
}

.company__layout::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 9.375rem;
	height: 100%;
	width: 100vw;
	background-color: var(--blue);
	opacity: 0.05;
	z-index: 1;
}

.company__visual-main {
	width: calc(50% + 3.75rem);
	padding-right: 3.75rem;
	position: relative;
	z-index: 3;
}

.company__visual-main img {
	width: 50vw;
}

.company__content {
	width: calc(50% + 3.75rem);
	padding-left: 3.75rem;
	position: relative;
	z-index: 3;
}

.company__link-item {
	border-bottom: 1px solid #cccccc;
	position: relative;
}

.company__link-item:first-child {
	border-top: 1px solid #cccccc;
}

.company__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.25rem;
	padding: 2.25rem 1.25rem;
	font-size: 1.125rem;
	font-weight: var(--bold);
	letter-spacing: 0.04em;
	color: var(--base);
	transition: 0.3s ease-in-out all;
}

.company__visual-sub {
	margin-top: -4.375rem;
	aspect-ratio: 395/263;
	width: 24.6875rem;
	margin-left: calc(50% + 3.75rem);
	position: relative;
	z-index: 3;
}

.recruit {
	margin-bottom: 9.375rem;
	background: linear-gradient(to right, rgba(32, 125, 208, 0.05) 0 85%, transparent 85% 100%);
}

.recruit__inner {
	position: relative;
}

.recruit__dec {
	position: absolute;
	top: -7.5rem;
	right: 2.5rem;
	aspect-ratio: 203/194;
	width: 12.6875rem;
}

.recruit__dec img {
	object-fit: contain;
}

.recruit__layout {
	display: flex;
	align-items: flex-start;
	padding: 9.375rem 0 5.625rem;
}

.recruit__content {
	width: calc(50% - 3.75rem);
}

.recruit .c-section-heading {
	margin-bottom: 3rem;
}

.recruit__lead {
	font-size: 1.125rem;
	font-weight: var(--medium);
	line-height: 2;
	letter-spacing: 0.04em;
	color: #1d3846;
	margin-bottom: 3.4375rem;
}

.recruit__visuals {
	position: relative;
	width: 50%;
	flex-grow: 1;
}

.recruit__img1 {
	width: 36.5625rem;
	aspect-ratio: 585/390;
	margin-left: auto;
}

.recruit__img2 {
	aspect-ratio: 365/224;
	width: 22.8125rem;
	margin-top: -5rem;
	position: relative;
	z-index: 2;
}

.recruit__img3 {
	aspect-ratio: 256/171;
	width: 16rem;
	margin-left: 42%;
	margin-top: -3.4375rem;
	position: relative;
	z-index: 3;
}

/* 0002: DATA */

.pe-data {
	padding-block: 11.6875rem 9rem;
}

.pe-data__head {
	text-align: center;
	margin-bottom: 3.75rem;
}

.pe-data__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 2.5rem;
}

.pe-stat {
	background: #f3f8fd;
	padding: 4.375rem 0.3125rem 2.5rem;
	aspect-ratio: 1;
	position: relative;
}

.pe-stat__icon {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.pe-stat__title {
	margin: 0 0 0.75rem;
	font-size: 1.5rem;
	font-weight: var(--bold);
	letter-spacing: 0.04em;
	color: var(--base);
	text-align: center;
}

.pe-stat__underline {
	width: 12.375rem;
	height: 2px;
	background: var(--blue);
	margin: 0 auto 1.5rem;
}

.pe-stat__value {
	text-align: center;
	font-size: 5.125rem;
	line-height: 1;
	letter-spacing: 0.04em;
	color: var(--base);
}

.pe-stat__value .num.small {
	font-size: 4.3125rem;
}

.pe-stat__value .unit {
	margin-left: 0.3125rem;
	font-size: 2.3125rem;
}

.pe-stat__value--split .unit {
	margin-right: 0.375rem;
}

.pe-stat__rows {
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: absolute;
	bottom: 3.125rem;
	width: 100%;
	left: 0;
}

.pe-stat__row {
	font-size: 1.5rem;
	margin: 0 2.1875rem;
}

.pe-stat__row .label {
	display: block;
	font-weight: var(--bold);
}

.pe-stat__row .num {
	font-size: 2.625rem;
	display: inline-block;
	margin-top: -0.3125rem;
}

/* Count-up numbers: start hidden */

.pe-stat__value .num,
.pe-stat__rows .num {
	opacity: 0;
	transition: opacity 0.2s ease;
}

/* 0003: BENEFIT */

.pe-benefit {
	padding-block: 9.375rem 7.5rem;
	background: rgba(32, 125, 208, 0.05);
}

.pe-benefit__head {
	text-align: center;
	margin-bottom: 3.125rem;
}

.pe-benefit__lead {
	text-align: center;
	font-size: 1rem;
	line-height: 1.75;
	letter-spacing: 0.04em;
	color: var(--base);
	margin-bottom: 2.5rem;
}

.pe-benefit__list {
	margin-top: 2rem;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.5rem;
}

.pe-benefit__icon {
	margin: 0 auto 0.5rem;
	width: 7.5rem;
	aspect-ratio: 1;
}

.pe-benefit__icon img {
	object-fit: contain;
}

.pe-benefit__title {
	margin-bottom: 1rem;
	font-size: 1.25rem;
	font-weight: var(--bold);
	letter-spacing: 0.04em;
	color: var(--blue);
	text-align: center;
}

.pe-benefit__text {
	font-size: 1rem;
	line-height: 1.75;
	letter-spacing: 0.04em;
	color: var(--base);
	text-align: left;
}

@media (any-hover: hover) {

a.button:hover {
	background-color: var(--white);
	color: var(--blue);
}

a.button:hover .text {
	color: var(--blue);
}

a.button:hover .arrow {
	background-color: var(--blue);
}

a:has(.circle-arrow):hover .circle-arrow {
	background-color: var(--blue);
}

a:has(.circle-arrow):hover .circle-arrow::after {
	background-color: var(--white);
}

.contact__content:hover::after {
	opacity: 0.7;
}

.contact__content:hover .contact__circle {
	background-color: var(--white);
}

.contact__content:hover .arrow-long {
	background-color: var(--blue);
}

.footer__policy-link:hover {
	text-decoration-color: transparent;
}

.footer__heading:hover {
	color: var(--blue);
}

.footer__sub-link:hover {
	color: var(--blue);
}

.guideline:hover {
	background-color: var(--blue);
}

.guideline:hover .guideline__arrow {
	background-color: var(--white);
}

.guideline:hover .guideline__title,
.guideline:hover .guideline__type {
	color: var(--white);
}

.header__nav-link:hover::after {
	opacity: 1;
}

.header__contact-link:hover {
	background-color: var(--white);
	color: var(--blue);
}

.interview-card:hover {
	opacity: 0.8;
}

.interview-card:hover .interview-card__figure img {
	transform: scale(1.05);
}

.header__nav-item--has-mega:hover .mega-menu,
.header__nav-item--has-mega:focus-within .mega-menu {
	opacity: 1;
	visibility: visible;
}

/*
.mega-menu__heading:hover .c-section-heading__label {
	color: var(--blue);
}

.mega-menu__heading:hover .c-section-heading__title-en {
	color: var(--blue);
}
*/

.mega-menu__link:hover {
	color: var(--blue);
}

.mega-menu__card:hover .mega-menu__figure img {
	transform: scale(1.05);
}

.mega-menu__card:hover .mega-menu__card-label {
	color: var(--blue);
}

a:has(.sub-head):hover .sub-head__eyebrow-en {
	color: var(--white);
}

a:has(.sub-head):hover .sub-head__eyebrow-ja {
	color: var(--white);
}

a:has(.sub-head):hover .sub-head::after {
	background-color: var(--white);
}

.pr-card__cta:hover {
	border-color: var(--blue);
	background-color: var(--white);
}

.pr-card__cta:hover .text {
	color: var(--blue);
}

.pr-card__cta:hover .arrow {
	background-color: var(--blue);
}

.pt-cats__btn:hover {
	background-color: var(--blue);
	color: var(--white);
}

.business-card__panel:hover {
	background-color: var(--blue);
}

.business-card__panel:hover .business-card__heading {
	color: var(--white);
}

.business-card__panel:hover .business-card__text {
	color: var(--white);
}

.business-card__panel:hover .business-card__cta {
	border-color: var(--white);
	background-color: var(--blue);
}

.company__link:hover {
	background-color: var(--white);
}

}

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

.sp {
	display: none !important;
}

}

@media (min-width: 768px) {

html {
	font-size: 1.1428571429vw;
}

}

@media (min-width: 1400px) {

html {
	font-size: 16px;
}

}

@media only screen and (max-width: 767px) {

.pc {
	display: none !important;
}

}

@media screen and (max-width: 767px) {

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

html,
body {
	scroll-padding-top: 0;
}

.arrow-long {
	width: 0.75rem;
}

.arrow {
	width: 0.8125rem;
}

.button {
	min-width: unset;
	width: 100%;
	padding: 1.0625rem 1.75rem;
}

.button .text {
	font-size: 0.875rem;
}

.c-section-heading__label {
	padding-left: 1.0625rem;
	font-size: 0.75rem;
}

.c-section-heading__label::before {
	width: 0.625rem;
	height: 0.5625rem;
}

.c-section-heading__title-en {
	font-size: 2.25rem;
	margin-top: unset;
}

.circle-arrow {
	width: 1.75rem;
}

.circle-arrow::after {
	width: 0.75rem;
}

.contact__content {
	padding: 2.375rem 1.25rem 3.3125rem;
	display: block;
}

.contact__texts {
	width: 100%;
	margin-bottom: 1.25rem;
	max-width: unset;
}

.contact__lead {
	margin-top: 1.25rem;
	font-size: 1rem;
}

.contact__circle {
	width: 3.625rem;
	margin-left: auto;
}

.drawer {
	display: block;
	position: fixed;
	top: 3.4375rem;
	left: 0;
	right: 0;
	background-color: var(--base);
	color: var(--white);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	clip-path: inset(0% 0% 0% 20%);
	transition: 0.3s ease-in-out all;
	z-index: 10;
	width: 100%;
	height: 100%;
	overflow: auto;
	overscroll-behavior: none;
	scrollbar-width: none;
}

.footer {
	padding: 3rem 0 3rem;
}

.footer__inner {
	row-gap: 1.75rem;
}

.footer__brand {
	width: 100%;
}

.footer__logo {
	width: 12.5rem;
	margin-bottom: 1.875rem;
}

.footer__info {
	font-size: 0.875rem;
}

.footer__address {
	margin-bottom: 0.875rem;
}

.footer__contact {
	font-size: 0.875rem;
	margin-bottom: 0.3125rem;
}

.footer__policies {
	margin-bottom: 1.25rem;
}

.footer__policy-link {
	font-size: 0.875rem;
}

.footer__copyright {
	font-size: 0.625rem;
}

.footer__nav {
	display: none;
}

.guidelines {
	padding: 4.6875rem 0 3.75rem;
}

.guidelines__grid {
	grid-template-columns: 1fr;
	gap: 1.25rem;
}

.guideline {
	padding: 1.375rem 5.625rem 1rem 1.375rem;
}

.guidelines__head {
	margin-bottom: 1.875rem;
}

.guideline__title {
	font-size: 1.125rem;
	margin-bottom: 0.75rem;
}

.guideline__type {
	font-size: 0.875rem;
}

.header__inner {
	padding: 0.625rem var(--padding-sp) 0.75rem;
}

.header__logo {
	width: 10.75rem;
}

.header__nav {
	display: none;
}

.header__contact-link {
	display: none;
}

.inner {
	max-width: 37.5rem;
	padding: 0 var(--padding-sp);
}

.inner2 {
	max-width: 37.5rem;
	padding: 0 var(--padding-sp);
}

.interview-list {
	padding: 3.125rem 0;
}

.interview-list__head {
	margin-bottom: 1.25rem;
}

.interview-list__grid {
	grid-template-columns: 1fr;
	gap: 1.25rem;
}

.interview-card {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.25rem;
}

.interview-card__figure {
	margin-bottom: 0;
}

.interview-card__title {
	font-size: 1.125rem;
	margin-bottom: 0.25rem;
}

.interview-card__dept {
	font-size: 0.75rem;
}

.page-fv {
	margin-top: 8.4375rem;
}

.page-fv__heading {
	margin-bottom: 1.3125rem;
}

.page-fv__visual img {
	height: 9.625rem;
	width: calc(100vw - 1.25rem);
}

.page-read {
	padding: 4.375rem 0;
}

.page-read__title {
	font-size: 1.5rem;
	letter-spacing: 0.04em;
	line-height: 1.6666666667;
}

.page-read__text {
	line-height: 2;
	font-size: 1rem;
}

.page-sub-head__jp {
	font-size: 0.75rem;
	margin-bottom: 0.1875rem;
}

.page-sub-head__en {
	font-size: 1.875rem;
}

.sub-head {
	gap: 0.3125rem;
}

.sub-head__eyebrow-en {
	font-size: 0.75rem;
}

.sub-head__eyebrow-ja {
	font-size: 1.125rem;
}

.tech-heading {
	font-size: 1.125rem;
	line-height: 2;
}

.pb-intro {
	padding: 4.6875rem 0;
	margin-bottom: 4.375rem;
}

.pb-intro::after {
	top: -4.375rem;
	height: calc(100% + 4.375rem);
}

.pb-intro::before {
	display: none;
}

.pb-intro__title {
	font-size: 1.5rem;
	line-height: 1.6666666667;
	margin-bottom: 1.5rem;
}

.pb-intro__text {
	max-width: 100%;
	font-size: 1rem;
	line-height: 2;
	margin-bottom: 2.25rem;
}

.pb-intro__img {
	margin-top: unset;
	max-width: unset;
}

.pb-overview {
	margin-bottom: 5rem;
}

.pb-overview__inner {
	gap: 4.375rem;
	grid-template-columns: 100%;
}

.pb-overview__head {
	margin-bottom: -1.875rem;
}

.pb-overview__wrap {
	display: block;
}

.pb-overview__wrap:nth-child(odd) {
	display: block;
}

.pb-overview__visual {
	width: 100%;
	margin-bottom: 1.5rem;
}

.pb-overview__visual img {
	height: 13.9375rem;
	width: calc(100vw - 1.25rem);
}

.pb-overview__content {
	padding-left: unset;
	width: 100%;
}

.pb-overview__title {
	font-size: 1.5rem;
	margin-bottom: 2.25rem;
}

.pb-overview__text {
	font-size: 0.875rem;
	max-width: unset;
	margin-bottom: 3.375rem;
	line-height: 1.8571428571;
}

.pc-visuals {
	margin-bottom: 1.375rem;
}

.pc-visuals::after {
	width: calc(100vw - 1.25rem);
	right: 1.25rem;
	height: 11.875rem;
	top: 5.3125rem;
}

.pc-visuals__visual01 {
	width: 11.6875rem;
}

.pc-visuals__visual02 {
	margin-top: -4.0625rem;
	position: relative;
	z-index: 2;
	width: 8.75rem;
	margin-bottom: 1.3125rem;
}

.pc-visuals__visual03 {
	width: 10.3125rem;
	margin-inline: auto;
	margin-top: unset;
	transform: translateX(-0.625rem);
	margin-bottom: 1.6875rem;
	position: relative;
	z-index: 3;
}

.pc-visuals__dec {
	margin-top: unset;
	margin-right: unset;
	width: 5.3125rem;
}

.pc-ideas {
	padding-block: 2.8125rem 4.6875rem;
	margin-bottom: 4.6875rem;
	background: linear-gradient(to left, rgba(32, 125, 208, 0.05) 0 calc(100% - 1.25rem), transparent calc(100% - 1.25rem) 100%);
}

.pc-ideas--reverse {
	background: linear-gradient(to right, rgba(32, 125, 208, 0.05) 0 calc(100% - 1.25rem), transparent calc(100% - 1.25rem) 100%);
}

.pc-ideas__head {
	margin-bottom: 1.5rem;
}

.pc-ideas__hero {
	display: block;
	margin-bottom: 3.75rem;
}

.pc-ideas__visual {
	width: 100%;
	margin-bottom: 1.75rem;
}

.pc-ideas__visual img {
	width: 98vw;
	height: 14.1875rem;
}

.pc-ideas__copy {
	width: calc(100% - 2.5rem);
	margin-inline: auto;
	padding-left: unset;
}

.pc-ideas--reverse .pc-ideas__copy {
	padding-right: unset;
}

.pc-ideas__heading {
	margin-bottom: 1.5rem;
	max-width: unset;
	font-size: 1.5rem;
	line-height: 1.5;
}

.pc-ideas__text {
	font-size: 0.875rem;
	line-height: 1.8571428571;
}

.pc-ideas__points {
	grid-template-columns: 1fr;
	gap: 0.875rem;
	width: calc(100% - 2.5rem);
	margin-inline: auto;
}

.pc-ideas__point {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 0.4375rem 1fr;
	grid-template-areas: "number desc" "circle desc";
	gap: 1.25rem;
	place-content: center;
}

.pc-ideas__point-number {
	grid-area: number;
	font-size: 1.25rem;
}

.pc-ideas__point-circle {
	grid-area: circle;
	width: 8.625rem;
	margin-top: -0.9375rem;
}

.pc-ideas__point-title {
	font-size: 0.875rem;
	line-height: 1.5714285714;
}

.pc-ideas__point-desc {
	grid-area: desc;
	font-size: 0.875rem;
	line-height: 1.8571428571;
	margin-top: 0.75rem;
}

.pc-ideas__lists {
	margin-bottom: 2.5rem;
	gap: 1.875rem;
}

.pc-ideas__list {
	grid-template-columns: 100%;
	gap: 1.25rem;
}

.pc-ideas__list-texts {
	padding-right: unset;
}

.pc-ideas__list-label {
	font-size: 1.125rem;
}

.pc-ideas__list-title {
	font-size: 1.125rem;
	margin-bottom: 1rem;
}

.pc-ideas__list-text {
	font-size: 0.875rem;
}

.pi-hero {
	margin-top: 8.3125rem;
	margin-bottom: 1.875rem;
}

.pi-hero__title {
	margin: unset;
	font-size: 2.25rem;
	line-height: 1.3611111111;
}

.pi-hero__meta {
	margin-top: 0.5rem;
}

.pi-hero__dept {
	min-width: 7.25rem;
	padding: 0.375rem 0.9375rem;
	font-size: 0.75rem;
}

.pi-message {
	padding-bottom: 4.375rem;
	margin-bottom: 4.375rem;
}

.pi-message::after {
	top: 0;
	height: 100%;
	clip-path: polygon(0 6.25rem, 100% 0%, 100% 100%, 0 100%);
}

.pi-message__visual {
	width: calc(100% - 2.5rem);
	margin-bottom: 1.25rem;
	height: auto;
}

.pi-message__visual img {
	width: 90vw;
	max-height: 14.375rem;
}

.pi-message__catch {
	font-size: 1.5rem;
	margin-left: unset;
	margin-inline: auto;
	width: calc(100% - 0.625rem);
}

.pi-message__catch::after {
	width: 100%;
	left: -0.3125rem;
	top: unset;
	bottom: -1.4375rem;
}

.pi-message__text {
	margin-top: 3.75rem;
	font-size: 0.875rem;
	line-height: 1.8571428571;
}

.pi-qa {
	margin-bottom: 4.6875rem;
}

.pi-qa__grids {
	gap: 2.8125rem;
}

.pi-qa__grid {
	display: flex;
	flex-direction: column-reverse;
	gap: 0.9375rem;
}

.pi-qa__grid:nth-child(odd) {
	grid-template-areas: unset;
}

.pi-qa__q {
	margin-bottom: 1rem;
	font-size: 1rem;
}

.pi-qa__a {
	font-size: 0.875rem;
}

.pi-bg-blue {
	padding: 8.75rem 0 5rem;
	margin-top: -5rem;
}

.pi-banner {
	max-width: calc(100% - 1.25rem);
}

.pi-schedule {
	margin-bottom: 3.4375rem;
}

.pi-schedule__inner {
	max-width: 37.5rem;
	padding: 0 var(--padding-sp);
}

.pi-schedule__label {
	margin-bottom: 1.75rem;
	font-size: 1.5rem;
}

.pi-schedule__list {
	gap: 1.25rem;
}

.pi-schedule__list::before {
	left: 5.3125rem;
	top: 0.9375rem;
	height: calc(100% - 0.9375rem);
}

.pi-schedule__item {
	gap: 0.625rem;
}

.pi-time {
	width: 4.375rem;
	padding: 0.3125rem;
	margin-right: unset;
	font-size: 1rem;
}

.pi-dotted {
	width: 0.5625rem;
}

.pi-task {
	font-size: 0.875rem;
}

.pi-dayoff {
	padding: 1.875rem 0 1.875rem;
}

.pi-dayoff__inner {
	max-width: 37.5rem;
	padding: 0 var(--padding-sp);
}

.pi-dayoff__card-container::after,
.pi-dayoff__card-container::before {
	width: 8rem;
}

.pi-dayoff__card-container::after {
	top: -0.3125rem;
	left: -0.3125rem;
}

.pi-dayoff__card-container::before {
	bottom: -0.3125rem;
	right: -0.3125rem;
}

.pi-dayoff__card {
	display: block;
	padding: 1.875rem 1.25rem 2.5rem;
}

.pi-dayoff__photo {
	width: 10.625rem;
	margin-inline: auto;
}

.pi-dayoff__texts {
	margin-top: 1.625rem;
}

.pi-dayoff__label {
	font-size: 0.875rem;
	margin-bottom: 1.625rem;
}

.pi-dayoff__q {
	margin-bottom: 1.125rem;
	font-size: 1.25rem;
}

.pi-dayoff__a {
	font-size: 0.875rem;
}

.pr-mv {
	margin-top: 5.75rem;
}

.pr-mv::before {
	width: 17.4375rem;
	height: 60.1875rem;
	top: 95%;
	right: 0;
	transform: unset;
	bottom: unset;
}

.pr-mv::after {
	top: 6.25rem;
	height: calc(100% - 9.375rem);
	clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 6.25rem);
}

.pr-mv__head {
	margin-bottom: 3.125rem;
}

.pr-mv__title {
	margin-bottom: 0.625rem;
	font-size: 1.875rem;
}

.pr-mv__en {
	font-size: 0.5625rem;
}

.pr-mv__slider-wrap {
	margin-bottom: 0.9375rem;
}

.pr-mv__slide-items {
	gap: 0.375rem;
	animation: scroll-sp 36s linear infinite;
}

.pr-mv__slide-item {
	gap: 0.3125rem;
}

.pr-mv__slide {
	width: 15rem;
}

.pr-mv__flex {
	display: block;
}

.pr-mv__texts {
	width: 100%;
	padding-right: unset;
	margin-bottom: 2rem;
}

.pr-mv__sub-title {
	font-size: 2.5rem;
	margin-bottom: 1.375rem;
}

.pr-mv__text {
	font-size: 0.875rem;
	line-height: 1.8571428571;
}

.pr-mv__img {
	width: 100%;
	padding-left: unset;
	margin-top: unset;
}

.pr-mv__img img {
	width: 100%;
}

.pr-interview__dec {
	margin-top: -4.125rem;
	width: 10.125rem;
	transform: translateX(1.25rem);
	margin-bottom: 2.5rem;
}

.pr-interview {
	margin-top: unset;
	margin-bottom: 4.6875rem;
}

.pr-interview__head {
	margin-bottom: 1.5rem;
}

.pr-interview__read {
	margin-bottom: 1.875rem;
	font-size: 0.875rem;
}

.pr-interview__grid {
	gap: 3.4375rem;
}

.pr-card {
	padding-bottom: 4.1875rem;
	gap: 1.125rem;
	display: block;
}

.pr-card::after,
.pr-card::before {
	height: 21.875rem;
	clip-path: polygon(0 0, 100% 0, calc(100% - 4.375rem) 100%, 0 100%);
}

.pr-card::after {
	top: 3.875rem;
}

.pr-card::before {
	top: 5.75rem;
	right: 1.875rem;
}

.pr-card:nth-child(even)::before {
	left: 1.875rem;
}

.pr-card__imgs {
	width: 18.4375rem;
	margin-left: auto;
	margin-bottom: 1.125rem;
}

.pr-card:nth-child(even) .pr-card__imgs {
	margin-right: au to;
	margin-left: unset;
}

.pr-card__dept {
	font-size: 0.75rem;
	padding: 0.5rem 0.625rem;
}

.pr-card__texts {
	margin-top: 0.875rem;
	max-width: 11.125rem;
	width: 100%;
	margin-right: auto;
}

.pr-card:nth-child(even) .pr-card__texts {
	margin-left: auto;
}

.pr-card__meta {
	margin-bottom: 0.75rem;
	font-size: 2.25rem;
}

.pr-card__cta {
	margin-top: 1.25rem;
}

.pr-env__dec {
	display: none;
}

.pr-env {
	margin-top: unset;
	margin-bottom: 4.6875rem;
	padding: 4.6875rem 0;
	background: linear-gradient(to right, rgba(32, 125, 208, 0.05) 0 calc(100% - 2.5rem), transparent calc(100% - 2.5rem) 100%);
}

.pr-env__inner {
	max-width: 37.5rem;
	padding: 0 var(--padding-sp);
}

.pr-env__content {
	flex-direction: column;
	gap: 1rem;
}

.pr-env__body {
	display: contents;
}

.pr-env__title {
	order: 1;
	margin-bottom: 1.875rem;
	width: 100%;
}

.pr-env__text {
	order: 3;
	margin-bottom: 1.5rem;
	font-size: 0.875rem;
	line-height: 1.8571428571;
	width: calc(100% - 2.5rem);
}

.pr-env__img {
	width: 100%;
	order: 2;
	margin-bottom: 1.0625rem;
}

.pr-env__img img {
	width: 100%;
}

.pr-env__cta {
	order: 4;
	width: calc(100% - 2.5rem);
}

.pt-cats__list {
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.pt-cats__btn {
	width: 100%;
	padding: 1rem 0.625rem;
	font-size: 0.875rem;
}

.bg-blue {
	padding: 2.5rem 0 4.6875rem;
	margin-bottom: 4.375rem;
}

.pt-plan {
	margin-bottom: 4.6875rem;
}

.pt-plan__wrapper {
	padding: 1.875rem 1.25rem 4.6875rem;
	width: calc(100% - 2.5rem);
	margin-inline: auto;
}

.pt-plan__head {
	margin-bottom: 1.875rem;
}

.pt-plan__wrap {
	display: block;
	margin-bottom: 2.8125rem;
}

.pt-plan__visual {
	width: 100%;
	transform: translateX(2.5rem);
	margin-bottom: 1.875rem;
}

.pt-plan__visual img {
	width: 98vw;
	height: 14.25rem;
}

.pt-plan__content {
	width: 100%;
	padding-left: unset;
	max-width: unset;
}

.pt-plan__title {
	font-size: 1.5rem;
	line-height: 1.5;
	margin-bottom: 1.25rem;
	padding-bottom: unset;
}

.pt-plan__title::after {
	display: none;
}

.pt-plan__text {
	font-size: 0.875rem;
	line-height: 1.8571428571;
}

.pt-plan__flexs {
	gap: 2.5rem;
	margin-bottom: 3rem;
}

.pt-plan__flex-title {
	margin-bottom: 1.125rem;
	font-size: 1.125rem;
	line-height: 2;
}

.pt-plan__flex-wrap {
	display: block;
}

.pt-plan__flex-texts {
	padding-right: unset;
	width: 100%;
}

.pt-plan__flex-text {
	font-size: 0.875rem;
	margin-bottom: 0.625rem;
}

.pt-plan__flex-quote {
	padding: 0.5rem 0.375rem;
	font-size: 0.75rem;
	line-height: 1.5;
}

.pt-plan__flex-img {
	width: 100%;
}

.pt-plan__flex-img .contain {
	object-position: center;
}

.pt-plan__features {
	margin-bottom: 1.25rem;
	font-size: 1.125rem;
}

.pt-plan__points {
	grid-template-columns: 1fr;
	gap: 1.125rem;
}

.pt-plan__point {
	padding: 0 1.4375rem 0.9375rem;
}

.pt-plan__point-kicker {
	font-size: 0.875rem;
	transform: translateY(-0.8125rem);
	margin-bottom: unset;
}

.pt-plan__point-text {
	font-size: 0.875rem;
	line-height: 1.5;
	padding: unset;
	margin-top: -0.3125rem;
}

.pt-examples {
	margin-bottom: 4.6875rem;
}

.pt-examples__inner {
	max-width: 37.5rem;
	padding: 0 var(--padding-sp);
	width: calc(100% - 2.5rem);
}

.pt-examples__content {
	grid-template-columns: 1fr;
	gap: 1.5rem;
}

.pt-examples__lead {
	font-size: 0.875rem;
	line-height: 1.5;
	margin-bottom: 1rem;
}

.pt-examples__tags {
	width: 100%;
}

.pt-examples__tag {
	font-size: 0.875rem;
	padding: 0.25rem 0.625rem;
}

.pt-flow {
	margin-bottom: 3.125rem;
}

.pt-flow__inner {
	max-width: 37.5rem;
	padding: 0 var(--padding-sp);
	width: calc(100% - 2.5rem);
}

.pt-flow__heading {
	margin-bottom: 1.125rem;
}

.pt-flow__item {
	gap: 1rem;
	padding: 1.125rem 0;
}

.pt-flow__num {
	font-size: 1.25rem;
}

.pt-flow__title {
	font-size: 1rem;
	margin-bottom: 0.1875rem;
}

.pt-flow__desc {
	font-size: 0.875rem;
	line-height: 1.5;
}

.pt-dl__inner {
	max-width: 37.5rem;
	width: calc(100% - 5rem);
	padding: 1.125rem 1.25rem;
}

.pt-dl__heading {
	margin-bottom: 1.125rem;
}

.pt-dl__content {
	grid-template-columns: 1fr;
	gap: 1.625rem;
}

.pt-dl__text {
	font-size: 0.875rem;
}

.pt-dl__btn {
	min-width: unset;
	padding: 1.5625rem 1.75rem;
}

.pt-machine {
	margin-bottom: 4.6875rem;
}

.pt-machine__inner {
	max-width: 37.5rem;
	padding: 0 var(--padding-sp);
}

.pt-machine__head {
	margin-bottom: 1.125rem;
}

.table-title {
	font-size: 1.125rem;
}

.pt-machine__items {
	gap: 3.125rem;
}

.pt-machine__table-wraps {
	grid-template-columns: 1fr;
	gap: 1.875rem;
}

.pt-machine__table th,
.pt-machine__table td {
	font-size: 0.875rem;
	padding: 0.9375rem 0.75rem;
}

.pt-products {
	margin-bottom: 4.6875rem;
}

.pt-products__inner {
	max-width: 37.5rem;
	padding: 0 var(--padding-sp);
}

.pt-products__head {
	margin-bottom: 1.875rem;
}

.pt-products__grid {
	grid-template-columns: 1fr 1fr;
	gap: 1.25rem;
}

.pt-products__figure {
	margin-bottom: 0.875rem;
}

.pt-products__card-title {
	font-size: 1rem;
	margin-bottom: 0.625rem;
}

.pt-products__card-text {
	font-size: 0.875rem;
}

.mv {
	min-height: auto;
	margin-top: 3.75rem;
	margin-bottom: 3.75rem;
	height: calc(100vh - 3.75rem);
	min-height: 25rem;
	max-height: 50rem;
}

.mv__dec {
	display: none;
}

.mv__honey {
	display: none;
}

.mv__media {
	width: calc(100% - 1.25rem);
}

.mv__copy {
	gap: 0.75rem;
	left: 3.75rem;
	bottom: 35%;
}

.mv__title {
	font-size: 1.875rem;
	line-height: 1.2333333333;
}

.mv__meta {
	font-size: 0.75rem;
	line-height: 1.1666666667;
}

.mv__pagenation {
	display: none;
}

.about {
	margin-bottom: 3.4375rem;
}

.about__title {
	margin-bottom: 1.875rem;
}

.about__body {
	margin-bottom: 3.4375rem;
	display: block;
}

.about__content {
	width: 100%;
	max-width: 37.5rem;
	padding: 0 var(--padding-sp);
	margin-inline: auto;
	margin-top: unset;
	padding-left: unset;
	padding-right: unset;
}

.about__content-wrap {
	max-width: unset;
}

.about__img-wrap {
	width: 100%;
	display: contents;
}

.about__img {
	position: static;
	width: 100%;
	margin-right: 1.25rem;
	padding-right: unset;
	max-height: unset;
	aspect-ratio: 340/282;
	margin-bottom: 1.75rem;
}

.about__img img {
	width: calc(100% + 1.25rem);
}

.about__catch {
	font-size: 1.5rem;
	margin-bottom: 1.5rem;
	width: 100%;
}

.about__text {
	font-size: 0.9375rem;
	line-height: 2.1333333333;
}

.about__media {
	margin-bottom: -3.75rem;
}

.about__media::after {
	height: 36.25rem;
	width: 18.875rem;
	top: 80%;
	left: 67%;
}

.about__photo--main {
	width: 10.875rem;
	aspect-ratio: 174/160;
}

.about__photo--sub1 {
	margin-top: -3.75rem;
	margin-right: 2.5rem;
	width: 8.1875rem;
	aspect-ratio: 131/127;
}

.about__photo--sub2 {
	width: 9.5625rem;
	aspect-ratio: 153/103;
	margin-top: 1.1875rem;
	margin-left: 4.375rem;
}

.about__dec {
	margin-top: -1.375rem;
	width: 5.3125rem;
	margin-right: 1.25rem;
}

.dec-texts__item {
	font-size: 3.75rem;
}

.business {
	margin-top: -1.25rem;
	padding: 4.6875rem 0;
	margin-bottom: 4.6875rem;
}

.business .c-section-heading {
	margin-bottom: 1.875rem;
}

.business__cards {
	gap: 3.125rem;
	grid-template-columns: 100%;
}

.business-card {
	display: block;
}

.business-card--reverse {
	flex-direction: unset;
}

.business-card__media {
	width: calc(100% - 3.75rem);
	margin-right: 3.75rem;
	height: -moz-fit-content;
	height: fit-content;
}

.business-card__media img {
	max-height: unset;
	aspect-ratio: 295/185;
	width: 79vw;
}

.business-card--reverse .business-card__media {
	margin-right: unset;
	margin-left: 3.75rem;
}

.business-card__panel {
	width: 100%;
	margin-top: -1.875rem;
	margin-left: unset;
	padding: 1.875rem 1.25rem 2.125rem;
}

.business-card--reverse .business-card__panel {
	margin-right: unset;
}

.business-card__meta {
	margin-bottom: 1.25rem;
}

.business-card__heading {
	font-size: 1.5rem;
	width: calc(100% + 0.625rem);
	margin-bottom: 1.125rem;
}

.business-card__text {
	font-size: 0.875rem;
}

.company__dec {
	display: none;
}

.company {
	margin-bottom: 7rem;
}

.company .c-section-heading {
	margin-bottom: 1.875rem;
}

.company__layout {
	display: block;
	padding: 3.125rem 0;
}

.company__layout::after {
	left: 0;
}

.company__visual-main {
	padding-right: unset;
	width: calc(100% - 1.25rem);
	margin-bottom: 1.875rem;
}

.company__visual-main img {
	width: calc(100vw - 2.5rem);
}

.company__content {
	padding-left: unset;
	width: calc(100% - 2.5rem);
	margin-bottom: 1.25rem;
	margin-inline: auto;
}

.company__link {
	padding: 1.25rem 0.5rem;
	font-size: 1rem;
}

.company__visual-sub {
	margin-top: -1.875rem;
	width: 9.8125rem;
	margin-left: auto;
	margin-right: 1.25rem;
}

.recruit {
	margin-bottom: 4.6875rem;
	background: linear-gradient(to right, rgba(32, 125, 208, 0.05) 0 calc(100% - 1.25rem), transparent calc(100% - 1.25rem) 100%);
}

.recruit__dec {
	display: none;
}

.recruit__layout {
	display: block;
	padding: 3.4375rem 0 4.6875rem;
}

.recruit__content {
	width: calc(100% - 2.5rem);
	margin-inline: auto;
	margin-bottom: 1.875rem;
}

.recruit .c-section-heading {
	margin-bottom: 1.875rem;
}

.recruit__lead {
	font-size: 1rem;
	margin-bottom: 1.5rem;
}

.recruit__visuals {
	width: calc(100% - 3.75rem);
	margin-left: 1.25rem;
}

.recruit__img1 {
	width: 14.6875rem;
}

.recruit__img2 {
	margin-top: -1.25rem;
	width: 9.6875rem;
}

.recruit__img3 {
	width: 7.125rem;
	margin-left: 40%;
	margin-top: -1.25rem;
}

.pe-data {
	padding-block: 5rem 3.75rem;
}

.pe-data__grid {
	grid-template-columns: 1fr;
	gap: 1.875rem;
}

.pe-stat {
	padding: 3.125rem 0.3125rem 1.875rem;
}

.pe-stat__title {
	font-size: 1.25rem;
	margin-bottom: 0.5rem;
}

.pe-stat__underline {
	width: 8.75rem;
	margin-bottom: 1rem;
}

.pe-stat__value {
	font-size: 3.125rem;
}

.pe-stat__value .num.small {
	font-size: 2.875rem;
}

.pe-stat__value .unit {
	font-size: 1.5rem;
}

.pe-stat__rows {
	bottom: 1.875rem;
}

.pe-stat__row {
	font-size: 1.125rem;
	margin: 0 0.9375rem;
}

.pe-stat__row .num {
	font-size: 2rem;
}

.pe-benefit {
	padding: 4.6875rem 0 3.125rem;
}

.pe-benefit__head {
	margin-bottom: 1.875rem;
}

.pe-benefit__lead {
	font-size: 0.875rem;
	margin-bottom: 0.9375rem;
}

.pe-benefit__list {
	grid-template-columns: 1fr;
	gap: 1.25rem;
}

.pe-benefit__title {
	margin-bottom: 0.75rem;
	font-size: 1.125rem;
}

.pe-benefit__text {
	font-size: 0.875rem;
	max-width: 16.25rem;
	margin-inline: auto;
}

}

@media (max-width: 375px) {

html {
	font-size: 4.2666666667vw;
}

}

@keyframes scroll {

0% {
	transform: translateX(0);
}

100% {
	transform: translateX(calc(-50% - 0.3125rem));
}

}

@keyframes scroll-sp {

0% {
	transform: translateX(0);
}

100% {
	transform: translateX(calc(-50% - 0.1875rem));
}

}

@keyframes loop-text {

0% {
	transform: translateX(0);
}

100% {
	transform: translateX(calc(-50% - 0.9375rem));
}

}

/*   下層ページ Style Add   */
/* 共通 */

.c-content-inner { max-width: 48.125rem;}
.c-content-inner._lg { max-width: 65.875rem;}
.c-content-inner._right { margin-right: 0; margin-left: auto;}
.c-content-title { margin-bottom: 1.875rem;}
.c-content-title._min { font-size: 1.25rem; font-weight: var(--bold); margin-bottom: 1.25rem;}
.c-content-title + .c-content-text { margin-bottom: 3.75rem;}
.c-content-line { border-top: 1px solid var(--brder); margin: 3.75rem auto 3.75rem;}
.c-content-text { font-size: 0.875rem;}
.c-content-text._rigth { text-align: right;}
.c-content-text._center { text-align: center;}
.c-content-text._lg { font-size: 1.25rem;}
.c-content-text._bold { font-weight: var(--bold);}
.c-content-textwrap { background-color: #F2F5F9; padding: 1.875rem; max-width: 50rem; margin: 2.5rem auto;}


.c-contentlist { border-top: 1px solid var(--gray); margin: 3.75rem auto;}
.c-contentlist-item { padding: 0.9375rem 0; display: flex; flex-direction: column; border-bottom: 1px solid var(--gray); }
.c-contentlist-item + .c-contentlist-item { }
.c-contentlist-title { font-size: 0.875rem; width: 100%; margin-bottom: 0.625rem;}
.c-contentlist-text { font-size: 0.875rem; width: 100%;}

.c-subtitle {}
.c-subtitle-jp {font-size: 1.125rem;}
.c-subtitle-en {font-size: 3.75rem;}



@media (min-width: 768px) {
.c-content-text { font-size: 1rem;}
.c-content-text._min { font-size: 0.875rem;}

.c-contentlist {}
.c-contentlist-item { padding: 1.875rem 0; flex-direction: row;}
.c-contentlist-title { font-size: 1rem; width: 18%; margin-left: 1.25rem; margin-bottom: 0;}
.c-contentlist-text { font-size: 1rem; width: 82%;}

}



.u-textlink { text-decoration: underline;}
.u-textlink:hover { text-decoration: none;}


/* 会社情報 */
.message {} 
.message-title { font-size: 2.25rem; text-align: left; margin: 7.5rem auto 3.125rem;} 
.message-pic { background-color: var(--blue); width: 100vw; margin: 0 calc(50% - 50vw); padding: 3rem 0;} 
.message-pic-img { width: auto; max-width: 45rem; height: auto;}
.message-pic-img { margin: auto;}

.message .c-content-text._rigth { margin-top: 1.875rem;}

.page-company section { margin-top: 8.5rem; overflow: hidden;}
.page-company .sustainability { margin-bottom: 8.5rem;}

.shopblock { display: flex; flex-direction: column-reverse;}
.shopblock + .shopblock { margin-top: 6.25rem;}
.shopinfo { width: 100%; margin-top: 1rem;} 
.shopblock-item {}
.shopinfo-name { font-size: 1.125rem; font-weight: var(--bold);}
.shopinfo-info { font-size: 1rem;}
.map-link { text-decoration: underline;}
.map-link:hover { text-decoration: none;}
.shopmap { position: relative; padding-bottom: 60%; height: 0; width: 100%;}
.shopmap iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%;}

.sustainability-img { width: 50%; max-width: 12.1875rem; height: auto; margin-top: 1rem;}

@media (min-width: 768px) {
.shopblock { flex-direction: row;}
.shopinfo { width: 40%; margin-top: 0;} 
.shopmap { padding-bottom: 30%; width: 60%;  max-width: 40rem;}

}

/* フォーム */
.formread { text-align: center;}
.required { color: var(--blue);}
.formflow { display: flex; margin: 3.75rem auto; justify-content: center; align-items: center; gap: 2rem;}
.formflow-item { display: flex; flex-direction: column; justify-content: center; align-items: center; background-color: var(--blue); border-radius: 50%; width: 5rem; height: 5rem;}
.formflow-item:first-child { position: relative;}
.formflow-item:first-child::after { content: ""; display: inline-block; position: absolute; top: 50%; transform: translateY(-50%); right: -2rem; height: 1px; background-color: var(--gray); width: 2rem;} 
.formflow-item:last-child { background-color: var(--white); border: 2px solid var(--gray);}
.formflow-num { color: var(--white); font-size: 1rem; font-weight: var(--bold);}
.formflow-text { color: var(--white); font-size: 0.8rem; font-weight: var(--bold);}
.formflow-item:last-child .formflow-num { color: var(--gray);}
.formflow-item:last-child .formflow-text { color: var(--gray);}
.wpcf7 form .hidden-fields-container { display: none;}
.formblock { }
.form { margin-top: 3.75rem;}
.form-list { display: flex; flex-direction: column; padding: 1.875rem 0; border-bottom: 1px solid var(--gray);}
.form-list:first-child { border-top: 1px solid var(--gray);}
.form-list dt { font-size: 0.875rem; width: 100%;}
.form-list dd { width: 100%;}
.form-list input { width: 100%; font-size: 0.875rem; background-color: #F2F2F2; padding: 1rem;}
.addresswrap { }
.p-postal-code { max-width: 12.5rem;}
.zipbox { margin-bottom: 0.625rem;}
.p-street-address { margin-bottom: 0.625rem;}
.form-list textarea { background-color: #F2F2F2; padding: 1rem; width: 100%;}

input[type=checkbox], input[type=radio] { display: inline-block;}
input[type="checkbox" i] { background-color: initial; cursor: default; appearance: auto; box-sizing: border-box; margin: 3px 3px 3px 4px; padding: initial; border: initial;
}
input[type="radio" i] { background-color: initial; cursor: default; appearance: auto; box-sizing: border-box; margin: 3px 3px 0px 5px; padding: initial; border: initial;
}
.radio-item .wpcf7-radio { display: flex; flex-direction: column;}
.radio-item label { display: flex; align-items: center;}
.form-list input[type=radio] { width: auto;}

.form-btn input { color: var(--white);}
.form-btn.button:hover { background-color: var(--white); color: var(--blue);}
.form-btn.button:hover input { color: var(--blue);}
.form-btn.button:hover .arrow { background-color: var(--blue);}
.form-btn { margin: auto;}

.form-check-wrap { margin: 1.875rem 0;}
.form-check + .form-check { margin-top: 0.5rem;}
.form-check-wrap .wpcf7-list-item { margin-left: 0;}

.form-thanks { padding: 5rem 2.5rem; border: 1px solid var(--gray);}
.mail-icon { margin-bottom: 2.5rem;}
.mail-icon img { width: 5.625rem; height: 5.625rem; margin: auto;}
.form-totop { margin: 3.75rem auto;}

.form-tel { background-color: #F3F8FD; padding: 3.125rem 1.875rem; margin: 4.375rem auto 6.875rem;}
.form-tel-title { font-size: 1rem; font-weight: var(--bold); text-align: center;}
.tel-num { display: flex; gap: 1.25rem; align-items: center; justify-content: center;}
.tel-num img { width: 1rem; height: auto;}
.tel-num a { font-size: 1.6rem; font-weight: var(--bold); color: var(--blue);}


@media (min-width: 768px) {
.formflow { gap: 5rem;}
.formflow-item { width: 7.5rem; height: 7.5rem;}
.formflow-item:first-child::after { right: -5rem; width: 5rem;} 
.formflow-text { font-size: 1.125rem;}

.form-list { flex-direction: row;}
.form-list dt { width: 35%;}
.form-list dd { width: 65%;}
.radio-item .wpcf7-radio { flex-direction: row;}

.form-tel-title { font-size: 2rem;}
.tel-num img { width: 1.875rem;}
.tel-num a { font-size: 3.125rem;}
}



/* 募集要項 */
.recruit-detail { display: flex; flex-direction: column; margin-top: 5.3125rem;}
.recruit-detail-item {}
.recruit-detail-item.recruit-disc { width: 100%;}
.recruit-detail-title { font-size: 1.625rem; color: var(--blue); font-weight: var(--bold);}

.recruit-table { max-width: 45rem;}
.recruit-table__row { border-bottom: 1px solid var(--gray); padding: 1.875rem 0;}
.recruit-table__row:first-child { border-top: 1px solid var(--gray);}
.recruit-table__term { width: 100%; font-size: 1.125rem; font-weight: var(--bold);}
.recruit-table__desc { width: 100%;}
.recruit-entry { margin: 3.75rem 0;}

.guidlenetxt {margin-bottom: 2rem;}

.guidlines-brn-wrap {}
.guidlines-brn { position: fixed; width: 95%; z-index: 10; bottom: 0; left: 50%; transform: translateX(-50%); padding: 0.625rem; background-color: var(--white); color: var(--blue); border: 2px solid var(--blue); font-weight: var(--bold); font-size: 0.875rem; box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35); text-align: center;}

.guidlines-brn-wrap { transition: opacity 0.3s ease, visibility 0.3s ease;}
.guidlines-brn-wrap.is-hidden { opacity: 0; visibility: hidden; pointer-events: none; }



@media (min-width: 768px) {
.recruit-detail { flex-direction: row; justify-content: space-between; margin-top: 10.625rem;}
.recruit-detail-item.recruit-disc { width: 45rem;}
.recruit-table__row { display: flex; justify-content: space-between;}
.recruit-table__term { width: 12em;}
.recruit-table__desc { width: calc( 100% - 12em);}

.guidlines-brn { width: auto; height: auto; top: 30%; bottom: auto; left: auto; right: 0; padding: 1.25rem; font-size: 1rem; writing-mode: vertical-rl; transform: translateX(0%);}
}

/* テクノロジー追加 */
#technology-assembly .pt-plan__flex-imgs { display: flex; flex-direction: column; gap: 0.5rem; margin-top: 1rem;}
#technology-assembly .pt-plan__flex-wrap { flex-direction: column;}
#technology-assembly .pt-plan__flex-texts { width: 100%; padding-right: 0;}
.table-type01 {}
.table-type01 tbody td:first-child { text-align: left; width: 80%;}

.table-type01 tbody td:nth-child(2) { width: 20%;}

@media (min-width: 768px) {
#technology-assembly .pt-plan__flex-imgs { flex-direction: row; gap: 1rem; margin-top: 2rem;}
}

/* コンセプト追加 */
.sec-ideas .pc-ideas__point { display: flex; flex-direction: column; gap: 0;}
.sec-ideas .pc-ideas__point img { height: auto; margin: 1rem auto;}
.sec-ideas .pc-ideas__point-desc { margin: 0; max-width: 100%;}


@media (min-width: 768px) {
.sec-ideas .pc-ideas__point-title { margin-top: 1.875rem; }
}


/* 事業内容 */
.pb-intro__img img { margin-top: 3rem;}


/* トップ */
.top-business01graf { margin-bottom: 2rem;}


/* フッター */
.footer__heading._nonehover:hover { color: var(--base);} 

/* 技術 */
.technology-productlistpage-cta { text-align: center; margin-top: 3rem;}
.technology-productlistpage-cta-txt { font-size: 1.125rem;}
.technology-productlistpage-cta-btn a { margin: 3rem auto 0;}


/* プロダクトリスト */
.pt-products__inner.productlist {}
.pt-products__inner.productlist + .pt-products__inner.productlist { margin-top: 3.125rem;}
.pt-products__inner.productlist .pt-products__grid { max-width: 45rem; margin: auto;}

@media (min-width: 768px) {
.pt-products__inner.productlist + .pt-products__inner.productlist { margin-top: 6.25rem;}
}


@media (max-width: 768px) {
  .mv__honey {
    width: 1200px;
    height: auto;
    max-width: none;
  }

  .mv__honey img {
    width: 100%;
    height: auto;
  }
}