@charset "utf-8";

body:not(.page-home) .l-main::before {
	content: "";
	pointer-events: none;
	z-index: -1;
	position: absolute;
	top: 240px;
	right: 0;
	bottom: -144px;
	left: 0;
	backface-visibility: hidden;
	background: url(../img/bg_spot_contents.svg) center top / 100% auto repeat-y;
}
body:not(.page-home) .l-main.p-index::before {
	background-image: url(../img/bg_spot_index.svg);
}

.main_contents {
	padding: 96px 0;
}
@media screen and (max-width: 767px) {
	.main_contents {
		padding: max(64vw / 3.75, 64px) 0;
	}
}


/**
 * インデックスページのタイトル
 * ---------------------------------------- */
.page_title {
	--easeExpo: cubic-bezier(.13,1,.3,1);
	display: grid;
	align-items: center;
	height: 256px;
	margin: 0 auto;
	padding: 0 var(--header) 0 var(--sidegap);
	border-bottom: 1px solid var(--bordergray);
}
.page_title .title {
	display: grid;
	place-items: center;
	gap: .6em;
	padding-bottom: 1.2em;
	font-size: clamp(.75rem, 24vw / 10.8, 1.5rem);
}
.page_title .main img,
.page_title .main svg {
	width: auto;
	height: min(132vw / 10.8, 132px);
}
@media screen and (max-width: 767px) {
	.page_title .title {
		padding-bottom: 2.4em;
	}
	.page_title .main img,
	.page_title .main svg {
		height: calc(54vw / 3.75);
	}
}

/* :::::: アニメーションするプロパティ :::::: */
.page_title .title .main img {
	visibility: hidden
}
.page_title.is-anim .title .main svg {
	overflow: visible;
}
.page_title.is-anim g,
.page_title.is-anim path,
.page_title.is-anim rect,
.page_title.is-anim circle,
.page_title.is-anim polygon,
.page_title.is-anim polyline {
	transition: opacity .4s, transform 1.2s var(--easeExpo);
	will-change: opacity, transform;
	backface-visibility: hidden;
}
.page_title.is-anim .title .sub {
	transition: opacity 1s, transform 1s var(--easeOut);
	will-change: opacity, transform;
}
.page_title.is-standby .title .sub {
	opacity: 0;
	transform: translateY(1em);
}


/**
 * コンテンツページタイトルビジュアル
 * ---------------------------------------- */
.page_visual {
	display: grid;
	justify-items: start;
	align-items: center;
	pointer-events: none;
	position: relative;
	color: white;
}
.page_visual > * {
	grid-area: 1 / 1;
}
.page_visual .title {
	z-index: 1;
	display: grid;
	place-items: center;
	gap: .3em;
	position: relative;
	padding-left: 12%;
}
.page_visual .title .sub {
	font-size: 58%;
	font-family: var(--fontEn);
	font-weight: 500;
}
.page_visual .image {
	z-index: 0;
	position: relative;
	overflow: hidden;
}
.page_visual:not(.-fill) .image::before {
	content: "";
	z-index: 1;
	position: absolute;
	inset: 0;
	background: #00000033;
}
.page_visual .title .c-bracket {
	--b: 2px;
	--dot: 7px;
	--h: calc(480vw / 14);
	--v: calc(200vw / 14);
	--vshift: calc(-120vw / 14);
	--hshift: calc(80vw / 14);
	top: calc(100% + .5em);
	left: 0;
	color: currentcolor;
}
@media print, (min-width: 768px) {
	.page_visual {
		max-width: calc(100% - max(96vw / 14, var(--header)));
	}
}
@media screen and (max-width: 767px) {
	.page_visual .title .c-bracket {
		--h: calc(240vw / 3.75);
		--v: calc(96vw / 3.75);
		--vshift: calc(-64vw / 3.75);
		--hshift: calc(24vw / 3.75);
	}
}

/* :::::: 背景塗りつぶしタイプ :::::: */
.page_visual.-fill .title {
	justify-items: start;
	padding: calc(40vw / 14) 8%;
	padding-right: 6%;
}
.page_visual.-fill .title::before {
	content: "";
	z-index: -1;
	position: absolute;
	inset: 0;
	border-radius: 0 var(--radius) var(--radius) 0;
	background: var(--themegrad);
	opacity: .95;
}
.page_visual.-fill .title .main {
	position: relative;
	padding: .5em 0;
}
.page_visual.-fill .title .sub {
	order: -1;
}
.page_visual.-fill .c-bracket {
	--b: 1px;
	--dot: 5px;
	--h: calc(184vw / 14);
	--v: calc(86vw / 14);
	--vshift: calc(-24vw / 14);
	--hshift: calc(24vw / 14);
	top: 0;
	left: calc(var(--hshift) * -2);
}
@media screen and (max-width: 767px) {
	.page_visual.-fill {
		align-items: start;
	}
	.page_visual.-fill .title {
		margin-top: calc(32vw / 3.75);
		padding-block: 1em;
	}
	.page_visual.-fill .title[data-speed] {
		margin-top: calc(8vw / 3.75);
	}
	.page_visual.-fill .c-bracket {
		--h: calc(96vw / 3.75);
		--v: calc(40vw / 3.75);
		--vshift: calc(-24vw / 3.75);
		--hshift: var(--sidegap);
	}
}

/* :::::: Objects :::::: */
.page_visual .obj-circlegraph {
	z-index: 1;
	position: absolute;
	backface-visibility: visible;
}
.page_visual .obj-circlegraph .obj {
	--start: inherit;
	--end: inherit;
}
.page_visual .obj-circlegraph.-o1 {
	/* --start: 85%;
	--end: 91%; */
	--size: calc(220vw / 14);
	right: calc(-52vw / 14);
	bottom: calc(-96vw / 14);
}
.page_visual .obj-circlegraph.-o2 {
	/* --start: 26%;
	--end: 47%; */
	--size: calc(90vw / 14);
	right: calc(264vw / 14);
	bottom: calc(-48vw / 14);
}
.page_visual .obj-circlegraph.-o3 {
	/* --start: 60%;
	--end: 75%; */
	--size: calc(34vw / 14);
	right: calc(208vw / 14);
	bottom: calc(-88vw / 14);
}
@media screen and (max-width: 767px) {
	.page_visual .obj-circlegraph.-o1 {
		--size: calc(120vw / 3.75);
		right: calc(-24vw / 3.75);
		bottom: calc(-56vw / 3.75);
	}
	.page_visual .obj-circlegraph.-o2 {
		--size: calc(46vw / 3.75);
		right: calc(64vw / 3.75);
		bottom: calc(-104vw / 3.75);
	}
	.page_visual .obj-circlegraph.-o3 {
		--size: calc(24vw / 3.75);
		right: calc(24vw / 3.75);
		bottom: calc(-112vw / 3.75);
	}
}

/* :::::: Inview (Interview 一覧の obj も Inview は一緒) :::::: */
.page_visual .obj-circlegraph,
.c-interviewlist .obj-circlegraph {
	--end: 100%; /* --end はアニメーションしない */
}
.page_visual .obj-circlegraph.js-inview:not(.is-inview),
.c-interviewlist .obj-circlegraph.js-inview:not(.is-inview) {
	--start: 0%;
}
.page_visual .obj-circlegraph.js-inview:not(.is-inview) .obj,
.c-interviewlist .obj-circlegraph.js-inview:not(.is-inview) .obj {
	opacity: 0;
	transform: scale(1.2) rotate(180deg);
}
.page_visual .obj-circlegraph.js-inview:not(.is-inview).-o2 .obj,
.c-interviewlist .obj-circlegraph.js-inview:not(.is-inview).-o2 .obj {
	transform: scale(1.2) rotate(90deg);
}

.page_visual .obj-circlegraph.-o1,
.c-interviewlist .obj-circlegraph.-o1 { --start: 94%; }
.page_visual .obj-circlegraph.-o2,
.c-interviewlist .obj-circlegraph.-o2 { --start: 79%; }
.page_visual .obj-circlegraph.-o3,
.c-interviewlist .obj-circlegraph.-o3 { --start: 85%; }
.page_visual .obj-circlegraph.-o1 .obj,
.c-interviewlist .obj-circlegraph.-o1 .obj { transform: rotate(calc(36deg * -.9)); }
.page_visual .obj-circlegraph.-o1 .obj use,
.c-interviewlist .obj-circlegraph.-o1 .obj use { transform: rotate(calc(36deg * .9)); }
.page_visual .obj-circlegraph.-o2 .obj,
.c-interviewlist .obj-circlegraph.-o2 .obj { transform: rotate(calc(36deg * -5.3)); }
.page_visual .obj-circlegraph.-o2 .obj use,
.c-interviewlist .obj-circlegraph.-o2 .obj use { transform: rotate(calc(36deg * 5.3)); }
.page_visual .obj-circlegraph.-o3 .obj,
.c-interviewlist .obj-circlegraph.-o3 .obj { transform: rotate(calc(36deg * -2.5)); }
.page_visual .obj-circlegraph.-o3 .obj use,
.c-interviewlist .obj-circlegraph.-o3 .obj use { transform: rotate(calc(36deg * 2.5)); } /* 2.5 = 100% - var(--end) */

.page_visual .obj-circlegraph.js-inview.is-inview .obj,
.c-interviewlist .obj-circlegraph.js-inview.is-inview .obj {
	transform-origin: 50% 50%;
	transition: opacity .8s, transform 1s var(--easeGraph), --start 1s var(--easeGraph);
	transition-delay: .3s;
	will-change: opacity, transform, -webkit-mask, mask;
}
.page_visual .obj-circlegraph.js-inview.is-inview .obj use,
.c-interviewlist .obj-circlegraph.js-inview.is-inview .obj use {
	transition: transform 1.2s .3s var(--easeGraph);
	will-change: transform;
}

/* :::::: Stand by (Inview) :::::: */
.page_visual.-fill .c-bracket > * {
	transform-origin: calc(24vw / 14) calc(24vw / 14);
}
.page_visual.-fill .title::before {
	clip-path: inset(0 round 0 var(--radius) var(--radius) 0);
}
.p-interview-03 .page_visual.-fill .title::before,
.p-interview-07 .page_visual.-fill .title::before {
	clip-path: inset(0 round var(--radius) 0 0 var(--radius));
}
.page_visual.is-standby .c-bracket::after {
	transform: scale(0);
}
.page_visual.is-standby .c-bracket .h {
	transform: scaleX(0);
}
.page_visual.is-standby .c-bracket .v {
	transform: scaleY(0);
}
.page_visual.-fill.is-standby .title::before,
.p-interview-03 .page_visual.-fill.is-standby .title::before,
.page-interview .p-interview-07 .page_visual.-fill.is-standby .title::before {
	clip-path: inset(0 100% 0 0);
}
.page_visual.is-standby .title .main,
.page_visual.is-standby .title .sub {
	opacity: 0;
	transform: translateY(.5em);
}
.page_visual.-fill.is-standby .title .main,
.page_visual.-fill.is-standby .title .sub {
	transform: translateX(-.5em);
}

.page_visual.-fill .title.is-anim::before {
	transition: clip-path .6s var(--easeOut);
	will-change: clip-path;
}
.page_visual .title.is-anim .c-bracket > * {
	transition: transform .6s var(--easeOut);
}
.page_visual .title.is-anim .c-bracket .h {
	transition-delay: .1s;
}
.page_visual .title.is-anim .c-bracket .v {
	transition-delay: .2s;
	transition-timing-function: var(--easeInOut);
}
.page_visual .title.is-anim .c-bracket::after {
	transition: transform .3s .4s var(--easeOut);
}
.page_visual.-fill .title.is-anim .c-bracket .v,
.page_visual.-fill .title.is-anim .c-bracket .h {
	transition-delay: .3s;
	transition-timing-function: var(--easeBack);
}
.page_visual.-fill .title.is-anim .c-bracket::after {
	transition-duration: .2s;
	transition-delay: .5s;
}
.page_visual .title.is-anim .main,
.page_visual .title.is-anim .sub {
	transition: opacity .4s, transform .6s var(--easeOut);
	transition-delay: .6s;
}
.page_visual.-fill .title.is-anim .main,
.page_visual.-fill .title.is-anim .sub {
	transition-delay: .3s;
}

/**
 * パンくず
 * ---------------------------------------- */
.page_crumb {
	margin-left: calc(var(--sidegap) + 32px);
	font-size: .75rem;
	line-height: 1.6;
}
.page_visual + .page_crumb {
	margin-top: 2em;
}
.page_crumb a[aria-current="page"] {
	pointer-events: none;
}
.page_crumb a:not([aria-current="page"]) {
	background: linear-gradient(currentcolor, currentcolor) left bottom / 100% .5px no-repeat;
}
@media (hover) {
	.page_crumb a:not([aria-current="page"]) {
		transition: background-size .4s var(--easeOut);
	}
	.page_crumb a:not([aria-current="page"]):hover {
		background-position: right bottom;
		background-size: 0 .5px;
		transition-duration: .2s;
	}
}
@media print, (min-width: 768px) {
	.page_title + .page_crumb {
		position: absolute;
		top: 76px;
	}
}
@media screen and (max-width: 767px) {
	.page_crumb {
		margin-left: var(--sidegap);
	}
	.page_visual + .page_crumb {
		max-width: calc(100% - 96vw / 3.75);
	}
	.page_title + .page_crumb {
		margin-top: -3em;
	}
}
@media screen and (max-width: 480px) {
	.page_crumb {
		font-size: .625rem;
	}
}


/**
 * リード文
 * ---------------------------------------- */
.page_lead {
	position: relative;
	width: fit-content;
	max-width: 1080px;
	margin: 0 auto;
	padding: 40px 64px;
	font-size: clamp(1rem, 20vw / 10.8, 1.25rem);
	font-weight: 700;
	text-align: center;
	white-space: nowrap;
}
@media screen and (max-width: 767px) {
	.page_lead {
		width: fit-content;
		max-width: var(--contentwidth);
		padding: max(24vw / 3.75, 24px) 1em;
		font-size: max(14vw / 3.75, .865rem);
	}
}
/* Inview */
.page_lead.js-inview .t {
	display: inline-block;
}
.page_lead.js-inview:not(.is-inview) .c-bracket .h {
	transform: scaleX(0);
}
.page_lead.js-inview:not(.is-inview) .c-bracket .v {
	transform: scaleY(0);
}
.page_lead.js-inview:not(.is-inview) .c-bracket::after {
	transform: scale(0);
}
.page_lead.js-inview:not(.is-inview) .t {
	opacity: 0;
	transform: translateY(-.8em);
}

.page_lead.js-inview.is-inview .c-bracket > * {
	transition: transform .6s var(--easeInOut);
}
.page_lead.js-inview.is-inview .c-bracket .h {
	transition-timing-function: var(--easeOut);
}
.page_lead.js-inview.is-inview .c-bracket .v {
	transition-delay: .1s;
}
.page_lead.js-inview.is-inview .c-bracket::after {
	transition: transform .2s .3s var(--easeBack);
}
.page_lead.js-inview.is-inview .t {
	transition: opacity .6s, transform .6s var(--easeOut);
	transition-delay: .4s;
}


/**
 * About us
 * ロイヤリティ マーケティングについて
 * -------------------------------------------------------------------------------- */
.page-about .page_title .A path { transform-origin: 23px 67px; }
.page-about .page_title .A polygon { transform-origin: 48px 107px; }
.page-about .page_title .b path { transform-origin: 118px 77px; }
.page-about .page_title .b rect { transform-origin: 112px 24px; }
.page-about .page_title .o path { transform-origin: 200px 77px; }
.page-about .page_title .u path:nth-child(1) { transform-origin: 275px 101px; }
.page-about .page_title .u path:nth-child(2) { transform-origin: 284px 104px; }
.page-about .page_title .t path { transform-origin: 327px 108px; }
.page-about .page_title .t rect { transform-origin: 300px 53px; }
.page-about .page_title .u2 path:nth-child(1) { transform-origin: 407px 108px; }
.page-about .page_title .u2 path:nth-child(2) { transform-origin: 440px 32px; }
.page-about .page_title .s path { transform-origin: 483px 79px; }

/* :::::: Standby position :::::: */
.page-about .page_title.is-standby .b path,
.page-about .page_title.is-standby .o path,
.page-about .page_title.is-standby .u path,
.page-about .page_title.is-standby .t path,
.page-about .page_title.is-standby .u2 path,
.page-about .page_title.is-standby .s path { opacity: 0; }

.page-about .page_title.is-standby .A polygon { transform: translateY(104%); }
.page-about .page_title.is-standby .A path { transform: translateY(104%); }
.page-about .page_title.is-standby .b rect { transform: scaleY(0); }
.page-about .page_title.is-standby .b path { transform: rotateX(-90deg) rotateY(90deg) translate(60px, 60px); }
.page-about .page_title.is-standby .o path:nth-child(1) { transform: rotateY(100deg) translate(-60px, -60px); }
.page-about .page_title.is-standby .o path:nth-child(2) { transform: rotateY(-100deg) translate(60px, 60px); }
.page-about .page_title.is-standby .u path:nth-child(1) { transform: rotateX(80deg) rotateY(60deg) translateY(-100px); }
.page-about .page_title.is-standby .u path:nth-child(2) { transform: scaleY(2) translateY(100%); }
.page-about .page_title.is-standby .t rect { transform: scaleX(0); }
.page-about .page_title.is-standby .t path { transform: rotateX(-60deg) rotateY(-60deg) translateX(100px); }
.page-about .page_title.is-standby .u2 path:nth-child(1) { transform: rotateX(120deg) rotateY(-40deg) translate(-40px, 120px); }
.page-about .page_title.is-standby .u2 path:nth-child(2) { transform: scaleY(2) translateY(-100%); }
.page-about .page_title.is-standby .s path:nth-child(1) { transform: rotateX(90deg) translate(100px, -80px); }
.page-about .page_title.is-standby .s path:nth-child(2) { transform: rotateX(-90deg) translate(60px, 100px); }

/* タイミング */
.page-about .page_title.is-anim .A polygon            { transition-delay: 0s; }
.page-about .page_title.is-anim .A path               { transition-delay: .1s; }
.page-about .page_title.is-anim .b path               { transition-delay: .4s; }
.page-about .page_title.is-anim .b rect               { transition-delay: .5s; }
.page-about .page_title.is-anim .o path               { transition-delay: .6s; }
.page-about .page_title.is-anim .u path:nth-child(1)  { transition-delay: .2s; }
.page-about .page_title.is-anim .u path:nth-child(2)  { transition-delay: .3s; }
.page-about .page_title.is-anim .t path               { transition-delay: .1s; }
.page-about .page_title.is-anim .t rect               { transition-delay: .2s; }
.page-about .page_title.is-anim .u2 path:nth-child(1) { transition-delay: .3s; }
.page-about .page_title.is-anim .u2 path:nth-child(2) { transition-delay: .4s; }
.page-about .page_title.is-anim .s path               { transition-delay: .5s; }
.page-about .page_title.is-anim .sub                  { transition-delay: .8s; }

.about_column {
	position: relative;
}
.about_column + .about_column {
	margin-top: 120px;
	padding-top: 112px;
	border-top: 1px solid;
	border-image: linear-gradient(var(--bordergray), var(--bordergray)) 1 / 1 / 0 50vw;
}
@media print, (min-width: 768px) {
	/* 1080px 以上はテキスト幅を固定 */
	.about_column {
		grid-template-columns: min(384vw / 10.8, 384px) auto;
	}
	.about_column.-r {
		grid-template-columns: auto min(384vw / 10.8, 384px);
	}
} 
@media screen and (max-width: 767px) {
	.about_column + .about_column {
		margin-top: max(40vw / 3.75, 40px);
		padding-top: max(48vw / 3.75, 48px);
	}
	.about_column .title .num {
		height: max(40vw / 3.75, 40px);
	}
} 

.page-about .page_visual .title {
	font-size: calc(36vw / 14);
}
@media print, (min-width: 768px) {
	.page-about .page_visual .title {
		margin-bottom: calc(64vw / 14);
	}
}
@media screen and (max-width: 767px) {
	.page-about .page_visual .title {
		font-size: max(20vw / 3.75, 1.25rem);
	}
}

/* Objects */
.p-data .obj-bargraph {
	bottom: 74%;
	width: 280px;
	height: 456px;
}
.p-data .obj-pointgraph {
	top: 75%;
	left: 100%;
	width: 264px;
}
.p-data .obj-pointgraph use {
	transform: rotate(160deg);
}
.p-point .obj-bargraph {
	top: 8%;
	width: 256px;
	height: 600px;
}
.p-targeting .obj-pointgraph {
	top: -4%;
	width: 320px;
}
.p-surprise .obj-bargraph {
	right: 2%;
	width: 432px;
	height: 384px;
}
.p-our-business .c-relation .obj-pointgraph {
	top: 0;
	width: 264px;
	opacity: .5;
}
.p-our-business .c-relation .obj-pointgraph use {
	transform: rotate(160deg);
}
@media print, (min-width: 768px) {
	.p-data .obj-bargraph {
		right: 90%;
	}
	.p-point .obj-bargraph {
		left: 84%;
	}
	.p-targeting .obj-pointgraph {
		right: 84%;
	}
	.p-surprise .obj-bargraph {
		bottom: 1%;
	}
	.p-our-business .c-relation .obj-pointgraph {
		left: 4%;
	}
}
@media screen and (max-width: 767px) {
	.p-data .obj-bargraph {
		left: -18%;
		width: calc(280vw / 7.67);
		height: calc(456vw / 7.67);
	}
	.p-data .obj-pointgraph {
		display: none;
	}
	.p-point .obj-bargraph {
		right: -8%;
		width: calc(256vw / 7.67);
		height: calc(600vw / 7.67);
	}
	.p-targeting .obj-pointgraph {
		left: 0;
		width: calc(320vw / 7.67);
	}
	.p-surprise .obj-bargraph {
		top: 4%;
		width: calc(432vw / 7.67);
		height: calc(384vw / 7.67);
	}
	.p-our-business .c-relation .obj-pointgraph {
		right: 4%;
		width: calc(264vw / 7.67);
	}
}

/* MEMO: 背景テキスト */
.our-business_section .obj-label {
	top: .2em;
}
.our-business_section .obj-label::after {
	content: "";
	display: inline-block;
	position: relative;
	left: -.3em;
	height: 2em;
	margin-inline-start: .1em;
	border-right: 2px solid currentcolor;
	vertical-align: middle;
}
.p-data .obj-label,
.p-targeting .obj-label {
	right: var(--breakout);
}
.p-point .obj-label {
	left: var(--breakout);
}
@media screen and (max-width: 767px) {
	.p-data .obj-label,
	.p-targeting .obj-label {
		right: calc(var(--breakout) - var(--sidegap));
	}
	.p-point .obj-label {
		left: calc(var(--breakout) - var(--sidegap));
	}
}


/**
 * 事業と仕事
 * Our business
 * -------------------------------------------------------------------------------- */
.our-business_section {
	position: relative;
	width: var(--contentwidth);
	max-width: 868px;
	margin-inline: auto;
}
.our-business_section + .our-business_section {
	border-top: 1px solid;
	border-image: linear-gradient(var(--bordergray), var(--bordergray)) 1 / 1 / 0 50vw;
}
@media print, (min-width: 768px) {
	.our-business_section {
		margin-top: 96px;
	}
	.our-business_section + .our-business_section {
		margin-top: 120px;
		padding-top: 96px;
	}
}
@media screen and (max-width: 767px) {
	.our-business_section {
		margin-top: max(48vw / 3.75, 48px);
	}
	.our-business_section + .our-business_section {
		margin-top: max(64vw / 3.75, 64px);
		padding-top: max(48vw / 3.75, 48px);
	}
} 

.our-business_section .title {
	font-size: clamp(1.5rem, 30vw / 10.8, 1.875rem);
	white-space: nowrap;
	text-align: center;
}
.our-business_section .paragraph.-lead {
	margin-top: 48px;
}
.our-business_section .paragraph.-lead .c-bracket {
	--h: 100%;
	width: calc(100% + var(--hshift));
}
@media screen and (max-width: 767px) {
	.our-business_section .title {
		font-size: max(20vw / 3.75, 1.25rem);
	}
}

/* :::::: 図版 :::::: */
.our-business_section .image {
	display: grid;
	place-items: center;
	padding: 32px 40px 40px;
}
@media screen and (max-width: 767px) {
	.our-business_section .image {
		margin: 0 auto;
		padding: calc(32vw / 3.75) calc(16vw / 3.75);
	}
	.p-data .image {
		padding-bottom: 64px;
	}
	.our-business_section .image picture,
	.our-business_section .image img {
		width: 100%;
	}
}
/* 図版キャプション */
.our-business_section .image .subject {
	position: relative;
	width: fit-content;
	margin-right: auto;
	padding-bottom: .8em;
	font-size: clamp(1rem, 19vw / 10.8, 1.1875rem);
	line-height: 1.4;
	font-weight: 700;
}
@media print, (min-width: 768px) {
	.p-point .image .subject {
		margin-bottom: -48px;
	}
}
@media screen and (max-width: 767px) {
	.our-business_section .image .subject {
		margin-bottom: 1em;
		padding-bottom: .5em;
		font-size: max(16vw / 3.75, 1rem);
	}
}
/* MEMO: 下線と末端の点 */
.our-business_section .image .subject::before {
	content: "";
	position: absolute;
	right: -1em;
	bottom: 0;
	left: -64px;
	border-bottom: 1px solid currentcolor;
}
.our-business_section .image .subject::after {
	content: "";
	position: absolute;
	right: -1em;
	bottom: -2px;
	width: 5px;
	height: 5px;
	border-radius: 5px;
	background: currentcolor;
}

/* :::::: 共通ポイントシステムにより、独自のデータプラットフォームを構築 ::::::  */
.p-point {
	max-width: calc(868px + 64px * 2);
}
.p-point .image {
	max-width: 868px;
	margin: 0 auto;
}
.point_list {
	display: grid;
	gap: min(40vw / 10.8, 40px);
	margin-top: 72px;
	text-align: center;
}
.point_list .item {
	display: grid;
	grid-template-rows: auto 1fr;
	color: var(--themecolor);
	font-weight: 700;
}
.point_list .item dt {
	display: grid;
	align-items: end;
	gap: .5em;
	margin: 0 auto;
	padding: 1.4em .5em 0;
}
.point_list .item .ico {
	width: 2.4em;
	height: auto;
	stroke-linecap: round;
}
.point_list .item .border {
	grid-area: 2 / 1 / 3 / 3;
	overflow: visible;
	width: 100%;
	fill: none;
	stroke: currentcolor;
	stroke-width: 2;
	stroke-linecap: round;
}
.point_list .item dd {
	padding: 1em .5em 1.4em;
	font-size: min(28.8vw / 10.8, 1.8rem);
	line-height: 1;
}
.point_list .item .num {
	font-size: 187.5%;
	font-family: var(--fontEn);
	font-weight: 600;
}
.point_list .item small {
	font-size: .875rem;
	line-height: 1.2;
}
@media print, (min-width: 768px) {
	.point_list {
		grid-template-columns: repeat(3, 1fr);
	}
	.point_list .item {
		align-items: center;
	}
}
@media screen and (max-width: 767px) {
	.point_list {
		max-width: 560px;
		margin: 0 auto;
	}
	.point_list {
		grid-template-columns: auto;
		gap: min(16vw / 3.75, 16px);
		margin-top: calc(72vw / 7.68);
	}
	.point_list .item dt {
		padding-top: 1em;
		font-size: max(14vw / 3.75, .875rem);
		
		/* MEMO: iPhone 16 未満で横に広がってしまうの回避 */
		grid-template-columns: auto 1fr;
		max-width: 10em;
	}
	.point_list .item dd {
		padding: .5em .5em 1em;
		font-size: max(24vw / 3.75, 1.5rem);
	}
	.point_list .item small {
		font-size: max(12vw / 3.75, .75rem);
	}
}

/* :::::: Surprise を生み出す仕事の数々 :::::: */
.p-surprise {
	z-index: 0;
	position: relative;
	margin-top: 192px;
	padding-bottom: 160px;
}
.p-surprise::before {
	top: 1.8em;
	border-inline: 0;
	border-radius: 0;
}
.p-surprise .title {
	display: flex;
	justify-content: center;
	gap: .3em;
	position: relative;
	width: fit-content;
	margin: 0 auto;
	padding: 0 1em;
	font-size: clamp(1.5rem, 35vw / 10.8, 2.1875rem);
}
.p-surprise .title > img {
	width: fit-content;
	height: 1.834em;
}
.p-surprise .title .deco {
	position: absolute;
	width: min(128vw / 10.8, 128px);
}
.p-surprise .title .c-bracket {
	--h: calc(100% + 2em);
	--vshift: calc(var(--v) / -1.5);
	top: calc(100% + .8em);
	width: calc(100% - var(--hshift));
}
@media print, (min-width: 768px) {
	.p-surprise .title {
		align-items: center;
	}
	.p-surprise .title .deco {
		left: 100%;
		bottom: -80px;
	}
}
@media screen and (max-width: 767px) {
	.p-surprise {
		margin-top: max(104vw / 3.75, 104px);
		padding-bottom: max(64vw / 3.75, 64px);
	}
	.p-surprise .title {
		flex-direction: column;
		font-size: max(20vw / 3.75, 1.25rem);
	}
	.p-surprise .title .deco {
		right: .1em;
		top: -2.5em;
		width: calc(48vw / 3.75);
	}
}

.surprise_list {
	display: grid;
	width: var(--contentwidth);
	max-width: 1120px;
	margin: 120px auto 0;
}
.surprise_list .item {
	counter-increment: item;
	display: grid;
}
.surprise_list dt {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: .5em;
	padding: 1em .5em;
	border-radius: var(--radius) var(--radius) 0 0;
	color: white;
	font-size: clamp(1.25rem, 23vw / 10.8, 1.4375rem);
	line-height: 1.4;
	font-weight: 700;
	background: var(--themegrad);
}
.surprise_list dt .t {
	text-align: center;
}
.surprise_list dt small {
	font-size: 80%;
}
.surprise_list .ico {
	width: 2em;
	height: auto;
}
.surprise_list dd {
	padding: 2em;
	background: white;
}
.surprise_list .blank {
	padding: 0;
}
.surprise_list dd:not([class]) {
	padding: 0 2em 1em;
}
.surprise_list dd:last-child {
	padding-bottom: 2em;
	border-radius: 0 0 var(--radius) var(--radius);
}
/* MEMO: paragraph と c-button のフォントサイズは基本 component そのまま */
.surprise_list .paragraph {
	z-index: 0;
	position: relative;
}
.surprise_list .paragraph::before {
	content: "0" counter(item);
	z-index: -1;
	position: absolute;
	right: 1rem;
	bottom: 0;
	color: #ececec;
	font-size: 6.5rem;
	line-height: 1;
	font-family: var(--fontEn);
	font-weight: 600;
}
.surprise_list .c-button {
	margin: 0 auto;
	white-space: nowrap;
}
.surprise_list .c-button.-blank {
	visibility: hidden;
}
@media print, (min-width: 768px) {
	.surprise_list {
		grid-template-columns: repeat(2, 1fr);
		gap: 64px 32px;
	}
	.surprise_list .item {
		grid-template-rows: 5.8em 1fr auto;
	}
	.surprise_list .item:nth-child(2) .blank {
		height: min(68vw / 10.8 + 1em, 68px + 1em);
	}
}
@media print, (min-width: 1081px) {
	.surprise_list {
		/* grid-template-columns: repeat(3, 1fr); */
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 80px 40px;
	}
	.surprise_list .item {
		/* grid-template-rows: 6.8em 1fr auto; */
		flex-basis: calc(33.333% - 80px / 3);
	}
	.surprise_list .item:nth-child(3) .blank {
		height: min(68vw / 10.8 + 1em, 68px + 1em);
	}
}
@media screen and (max-width: 767px) {
	.surprise_list {
		max-width: 560px;
		margin-inline: auto;
		gap: min(24vw / 3.75, 24px);
	}
	/* MEMO: 最小サイズ制限でなく最大サイズ制限で最適化 */
	.surprise_list dt {
		font-size: max(16vw / 3.75, 1rem);
	}
}
@media screen and (max-width: 480px) {
	.surprise_list .item {
		grid-template-rows: 4.8em 1fr auto;
	}
}


/**
 * 私たちの歩み
 * History
 * MEMO: component Column をカスタマイズ
 * -------------------------------------------------------------------------------- */
@media print, (min-width: 768px) {
	.p-history .p-past {
		margin-top: 96px;
	}
	.p-history .p-future {
		margin-top: 200px;
	}
	.p-history .c-relation {
		margin-top: 104px;
	}
}
@media screen and (max-width: 767px) {
	.p-history .p-past {
		margin-top: max(40vw / 3.75, 40px);
	}
	.p-history .p-future {
		margin-top: max(80vw / 3.75, 80px);
	}
	.p-history .c-relation {
		margin-top: max(40vw / 3.75, 40px);
	}
}

/* Objects */
.p-past1 .obj-bargraph {
	top: 80%;
	width: 280px;
	height: 456px;
}
.p-past2 .obj-pointgraph {
	width: 240px;
}
.p-past2 .obj-pointgraph use {
	transform: rotate(160deg);
}
.p-past3 .obj-bargraph {
	top: -8%;
	left: 12%;
	width: 312px;
	height: 720px;
}
.p-past3 .obj-pointgraph {
	top: 80%;
	right: -8%;
	width: 320px;
}
.p-future1 .obj-bargraph {
	top: 60%;
	width: 256px;
	height: 600px;
}
.p-history .c-relation .obj-pointgraph {
	top: 10%;
	width: 320px;
}
@media print, (min-width: 768px) {
	.p-past1 .obj-bargraph {
		left: 20%;
	}
	.p-past2 .obj-pointgraph {
		bottom: 8%;
		left: -4%;
	}
	.p-future1 .obj-bargraph {
		left: 90%;
	}
	.p-history .c-relation .obj-pointgraph {
		left: 0;
	}
}
@media screen and (max-width: 767px) {
	.p-past1 .obj-bargraph {
		top: 90%;
		right: 0;
		width: calc(280vw / 7.68);
		height: calc(456vw / 7.68);
	}
	.p-past2 .obj-pointgraph {
		top: 50%;
		right: 0;
		width: calc(240vw / 7.68);
	}
	.p-past3 .obj-bargraph {
		top: 30%;
		left: 60%;
		width: calc(312vw / 7.68);
		height: calc(720vw / 7.68);
	}
	.p-past3 .obj-pointgraph {
		top: 90%;
		right: 0;
		width: calc(320vw / 7.68);
	}
	.p-future1 .obj-bargraph {
		top: 0;
		right: 0;
		width: calc(256vw / 7.68);
		height: calc(600vw / 7.68);
	}
	.p-history .c-relation .obj-pointgraph {
		top: 0;
		right: 0;
		width: calc(320vw / 7.68);
	}
}

/* :::::: 私たちのこれまで :::::: */
@media print, (min-width: 1081px) {
	.p-past1 {
		align-items: end;
	}
}

/* MEMO: 1400 まで常に右端ひっつき */
.p-past1 .image {
	--inset: 0 -24px 0 0;
	margin-right: var(--breakout);
	border-radius: var(--radius) 0 0 var(--radius);
}
@media print, (min-width: 1400px) {
	.p-past1 .image {
		--inset: 0;
		border-radius: var(--radius);
	}
}
/* MEMO: sidegap 分空けて左寄せ */
.p-past2 .image .img1 {
	width: min(572vw / 14, 572px);
}
.p-past2 .image .img2 {
	width: min(392vw / 14, 392px);
	margin-top: min(80vw / 14, 80px);
}
/* MEMO: sidegap 分空けて右寄せ */
.p-past3 .image .img1 {
	width: min(632vw / 14, 632px);
}
.p-past3 .image .img2 {
	width: min(372vw / 14, 372px);
	margin-top: max(-80vw / 14, -80px);
}

@media print, (min-width: 768px) {
	.p-past2 .image .img1 {
		margin-left: calc(var(--breakout) + var(--sidegap) * 2);
	}
	.p-past2 .image .img2 {
		margin-right: calc(var(--sidegap) * -1);
		margin-left: auto;
	}
	.p-past3 .image .img1 {
		margin-right: calc(var(--breakout) + var(--sidegap));
		margin-left: auto;
	}
	.p-past3 .image .img2 {
		margin-left: calc(var(--sidegap) * -1);
	}
}
@media screen and (max-width: 767px) {
	.p-past2 .text {
		margin-top: calc(16vw / 3.75);
	}
	/* 768px 未満はモバイルサイズでリキッド */
	.p-past2 .image .img1,
	.p-past3 .image .img1 {
		width: min(560vw / 7.68, 560px);
	}
	.p-past2 .image .img2,
	.p-past3 .image .img2 {
		width: min(320vw / 7.68, 320px);
	}
	.p-past2 .image .img1 {
		margin-left: calc(-24vw / 3.75);
	}
	.p-past2 .image .img2 {
		margin-top: min(48vw / 7.68, 48px);
		margin-right: calc(-24vw / 3.75);
		margin-left: auto;
	}
	.p-past3 .image {
		margin-right: auto;
	}
	.p-past3 .image .img1 {
		margin-right: calc(-24vw / 3.75);
	}
	.p-past3 .image .img2 {
		margin-top: max(-48vw / 7.68, -48px);
		margin-left: calc(-24vw / 3.75);
	}
}

/* :::::: 私たちのこれから :::::: */
.p-future1 {
	grid-template-columns: auto;
	max-width: 520px;
	margin-top: 96px;
}
.p-future1 .title .c-bracket {
	--h: 100%;
}
@media screen and (max-width: 767px) {
	.p-future1 {
		margin-top: max(40vw / 3.75, 40px);
	}
} 


/**
 * 働く魅力
 * Our job
 * MEMO: ほぼ component Column まま
 * -------------------------------------------------------------------------------- */
.p-job2 .title .main {
	margin-right: -1em;
}
@media screen and (max-width: 767px) {
	.p-job1 {
		margin-top: max(40vw / 3.75, 40px);
	}
} 

/* Objects */
.p-job1 .obj-bargraph {
	top: -30%;
	width: 280px;
	height: 456px;
}
.p-job2 .obj-pointgraph {
	bottom: -10%;
	right: -18%;
	width: 264px;
}
.p-job2 .obj-pointgraph use {
	transform: rotate(160deg);
}
.p-job3 .obj-bargraph {
	top: 80%;
	left: -12%;
	width: 340px;
	height: 800px;
}
@media print, (min-width: 768px) {
	.p-job1 .obj-bargraph {
		left: -4%;
	}
}
@media screen and (max-width: 767px) {
	.p-job1 .obj-bargraph {
		top: 45%;
		right: 0;
		width: calc(280vw / 7.68);
		height: calc(456vw / 7.68);
	}
	.p-job2 .obj-pointgraph {
		top: 50%;
		right: 0;
		width: calc(264vw / 7.68);
	}
	.p-job3 .obj-bargraph {
		width: calc(340vw / 7.68);
		height: calc(800vw / 7.68);
	}
}

.p-job1 .image {
	--inset: 0 -24px 0 0;
	margin-right: calc(var(--breakout));
	border-radius: var(--radius) 0 0 var(--radius);
}
.p-job2 .image {
	width: min(570vw / 14, 570px);
	margin-left: auto;
}
.p-job3 .image {
	width: min(670vw / 14, 670px);
	margin-right: calc(var(--breakout) + var(--sidegap));
	margin-left: auto;
}
@media print, (min-width: 768px) {
	.p-job1 .title .main {
		margin-right: -2.5em;
	}
}
@media print, (min-width: 1400px) {
	.p-job1 .image {
		--inset: 0;
		border-radius: var(--radius);
	}
}
@media screen and (max-width: 1080px) {
	/* MEMO: 1080 以下は両橋にひっつく */
	.p-job1 .image,
	.p-job3 .image {
		--inset: 0 -24px 0 0;
		width: calc(100% + var(--sidegap));
		margin-right: calc(var(--sidegap) * -1);
		border-radius: var(--radius) 0 0 var(--radius);
	}
	.p-job2 .image {
		width: calc(100% + var(--sidegap));
		margin-left: calc(var(--sidegap) * -1);
		border-radius: 0 var(--radius) var(--radius) 0;
	}
}





/**
 * Work field
 * 働く環境
 * -------------------------------------------------------------------------------- */
.page-work-field .page_title .W polygon:nth-child(1) { transform-origin: 103px 109px; }
.page-work-field .page_title .W polygon:nth-child(2) { transform-origin: 38px 109px; }
.page-work-field .page_title .o path { transform-origin: 171px 75px; }
.page-work-field .page_title .r polyline { transform-origin: 223px 110px; }
.page-work-field .page_title .r path { transform-origin: 228px 71px; }
.page-work-field .page_title .k polygon { transform-origin: 275px 110px; }
.page-work-field .page_title .f path { transform-origin: 378px 110px; }
.page-work-field .page_title .f polygon { transform-origin: 356px 43px; }
.page-work-field .page_title .i circle { transform-origin: 436px 27px; }
.page-work-field .page_title .i path { transform-origin: 436px 110px; }
.page-work-field .page_title .e path:nth-child(1) { transform-origin: 459px 74px; }
.page-work-field .page_title .e path:nth-child(2) { transform-origin: 486px 74px; }
.page-work-field .page_title .l path { transform-origin: 540px 22px; }
.page-work-field .page_title .d path { transform-origin: 605px 76px; }
.page-work-field .page_title .d rect { transform-origin: 611px 18px; }

/* Standby position */
.page-work-field .page_title.is-standby .W polygon,
.page-work-field .page_title.is-standby .o path,
.page-work-field .page_title.is-standby .r path,
.page-work-field .page_title.is-standby .k polygon,
.page-work-field .page_title.is-standby .f path,
.page-work-field .page_title.is-standby .i path,
.page-work-field .page_title.is-standby .e path,
.page-work-field .page_title.is-standby .l path,
.page-work-field .page_title.is-standby .d path {
	opacity: 0;
}
.page-work-field .page_title.is-standby .W polygon:nth-child(1) { transform: rotateX(80deg) translate(-40px, 40px); }
.page-work-field .page_title.is-standby .W polygon:nth-child(2) { transform: rotateX(80deg) translate(40px, -40px); }
.page-work-field .page_title.is-standby .o path:nth-child(1) { transform: rotateX(80deg) rotateY(-80deg) translate(20px, -60px); }
.page-work-field .page_title.is-standby .o path:nth-child(2) { transform: rotateX(-80deg) rotateY(80deg) translate(-20px, 60px); }
.page-work-field .page_title.is-standby .r polyline { transform: scaleY(0); }
.page-work-field .page_title.is-standby .r path { transform: rotateX(-100deg) rotateY(30deg) translate(20px, 120px); }
.page-work-field .page_title.is-standby .k polygon { transform: rotateX(60deg) rotateY(60deg) translateY(-40px); }
.page-work-field .page_title.is-standby .f path { transform: rotateX(-90deg) rotateY(100deg) translate(-20px, 40px); }
.page-work-field .page_title.is-standby .f polygon { transform: scaleX(0); }
.page-work-field .page_title.is-standby .i circle { transform: scale(0); }
.page-work-field .page_title.is-standby .i path { transform: scaleY(2) translateY(100%); }
.page-work-field .page_title.is-standby .e path:nth-child(1) { transform: rotateX(-80deg); }
.page-work-field .page_title.is-standby .e path:nth-child(2) { transform: scaleX(2) translateX(-20%); }
.page-work-field .page_title.is-standby .l path { transform: scaleY(2) translateY(-100%); }
.page-work-field .page_title.is-standby .d path { transform: rotateX(-90deg) rotateY(45deg) translate(30px, 90px); }
.page-work-field .page_title.is-standby .d rect { transform: scaleY(0); }

/* タイミング */
.page-work-field .page_title.is-anim .W polygon:nth-child(1) { transition-delay: .1s; }
.page-work-field .page_title.is-anim .W polygon:nth-child(2) { transition-delay: 0s; }
.page-work-field .page_title.is-anim .o path:nth-child(1)    { transition-delay: .2s; }
.page-work-field .page_title.is-anim .o path:nth-child(2)    { transition-delay: .2s; }
.page-work-field .page_title.is-anim .r polyline             { transition-delay: .6s; }
.page-work-field .page_title.is-anim .r path                 { transition-delay: .3s; }
.page-work-field .page_title.is-anim .k polygon              { transition-delay: .4s; }
.page-work-field .page_title.is-anim .f path                 { transition-delay: .2s; }
.page-work-field .page_title.is-anim .f polygon              { transition-delay: .5s; }
.page-work-field .page_title.is-anim .i circle               { transition-delay: .9s; }
.page-work-field .page_title.is-anim .i path                 { transition-delay: .3s; }
.page-work-field .page_title.is-anim .e path:nth-child(1)    { transition-delay: .6s; }
.page-work-field .page_title.is-anim .e path:nth-child(2)    { transition-delay: .4s; }
.page-work-field .page_title.is-anim .l path                 { transition-delay: .5s; }
.page-work-field .page_title.is-anim .d path                 { transition-delay: .6s; }
.page-work-field .page_title.is-anim .d rect                 { transition-delay: .7s; }
.page-work-field .page_title.is-anim .sub                    { transition-delay: 1s; }

.page-work-field .page_title.is-anim .i circle {
	transition-duration: .4s;
	transition-timing-function: cubic-bezier(.1,1.6,.6,1);
}

.page-work .page_visual {
	align-items: end;
}
.page-work .page_visual .title {
	margin-bottom: calc(144vw / 14);
	font-size: clamp(1.75rem, 36vw / 14, 2.25rem);
}
.page-work .page_visual .title[data-speed] {
	margin-bottom: calc(168vw / 14);
}
.p-human-resources-development .page_visual .title {
	padding-left: 10%;
}
@media print, (min-width: 768px) {
	.page-work .page_visual .title {
		margin-left: calc(64vw / 14);
	}
}
@media screen and (max-width: 767px) {
	.page-work .page_visual .title {
		margin-bottom: min(144vw / 7.68, 144px);
		font-size: max(24vw / 3.75, 1.5rem);
	}
	.page-work .page_visual .title[data-speed] {
		margin-bottom: min(168vw / 7.68, 144px);
	}
}

.page-work .l-main.p-survey::before {
	display: none;
}


/**
 * ワークスタイル
 * -------------------------------------------------------------------------------- */
.p-work-style .p-workstyle,
.p-work-style .p-benefits {
	margin-top: 144px;
}
.p-work-style .p-event {
	margin-top: 160px;
}
.p-work-style .paragraph.-lead {
	max-width: 584px;
	margin-top: 128px;
	font-size: 1.0625rem; /* 他ページのリードより若干大きめ */
}
.work_column .title {
	font-size: clamp(1.25rem, 30vw / 10.8, 2rem);
}
@media screen and (max-width: 767px) {
	.p-work-style .page_lead {
		/* 行末に句読点が多いのでバランス調整 */
		padding-left: 1.5em;
	}
	.p-work-style .paragraph.-lead {
		font-size: max(14vw / 3.75, .875rem);
	}
	.work_column .title {
		font-size: max(20vw / 3.75, 1.25rem);
	}
}

/* Objects */
.p-work-style .paragraph .obj-pointgraph.-o1 {
	bottom: 50%;
	left: 90%;
	width: 340px;
}
.p-work-style .paragraph .obj-pointgraph.-o1 use {
	transform: scaleX(-1);
}
.p-work-style .paragraph .obj-pointgraph.-o2 {
	top: 50%;
	right: 100%;
	width: 264px;
}
.p-work-style .paragraph .obj-pointgraph.-o2 use {
	transform: rotate(180deg);
}
.p-work-style .paragraph .obj-pointgraph.-o3 {
	bottom: 25%;
	width: 300px;
}
.p-work-style .paragraph .obj-pointgraph.-o3 use {
	transform: rotate(90deg) scaleX(-1);
}
@media print, (min-width: 768px) {
	.p-work-style .paragraph .obj-pointgraph.-o3 {
		left: 90%;
	}
}
@media screen and (max-width: 767px) {
	.p-work-style .paragraph .obj-pointgraph.-o1 {
		bottom: 60%;
		left: 70%;
		width: calc(340vw / 7.68);
	}
	.p-work-style .paragraph .obj-pointgraph.-o2 {
		right: 70%;
		width: calc(264vw / 7.68);
	}
	.p-work-style .paragraph .obj-pointgraph.-o3 {
		bottom: 50%;
		right: 0;
		width: calc(300vw / 7.68);
	}
}
.workstyle_section .obj-label {
	top: -1em;
	right: var(--breakout);
}
.workstyle_section .obj-bargraph {
	bottom: -10%;
	left: -10%;
	width: 330px;
	height: 528px;
}
.benefits_section .obj-label {
	top: -.5em;
	left: var(--breakout);
}
.benefits_section .obj-bargraph {
	top: 20%;
	left: 70%;
	width: 364px;
	height: 854px;
}
.wellbeing_section .obj-pointgraph {
	top: 50%;
	width: 300px;
}
.wellbeing_section .obj-pointgraph {
	transform: rotate(-90deg) scaleX(-1);
}
.event_column .obj-label {
	top: -.5em;
}
.event_column .obj-bargraph {
	top: -8%;
	right: 90%;
	width: 264px;
	height: 464px;
}
.event_column .obj-pointgraph {
	top: 60%;
	right: -4%;
	width: 300px;
}
.event_column .obj-pointgraph use {
	transform: scaleX(-1);
}
@media print, (min-width: 768px) {
	.wellbeing_section .obj-pointgraph {
		left: 0;
	}
	.event_column .obj-label {
		top: -.5em;
		right: var(--breakout);
	}
}
@media screen and (max-width: 767px) {
	.workstyle_section .obj-label {
		right: calc(var(--breakout) - var(--sidegap));
	}
	.workstyle_section .obj-bargraph {
		bottom: -7%;
		left: -4%;
		width: calc(330vw / 7.68);
		height: calc(528vw / 7.68);
	}
	.benefits_section .obj-label {
		top: 10%;
		left: calc(var(--breakout) - var(--sidegap));
	}
	.benefits_section .obj-bargraph {
		top: -10%;
		width: calc(364vw / 7.68);
		height: calc(854vw / 7.68);
	}
	.wellbeing_section .obj-pointgraph {
		top: -10%;
		right: 0;
		width: calc(300vw / 7.68);
	}
	.event_column .obj-label {
		top: 60%;
		right: calc(var(--breakout) - var(--sidegap));
	}
	.event_column .obj-bargraph {
		top: 60%;
		right: 0;
		width: calc(264vw / 7.68);
		height: calc(464vw / 7.68);
	}
	.event_column .obj-pointgraph {
		top: 80%;
		width: calc(300vw / 7.68);
	}
}

/**
 * 働き方
 * ---------------------------------------- */
.workstyle_section {
	width: var(--contentwidth);
	max-width: 1080px;
	margin: 80px auto 0;
	padding: 72px;
}
.workstyle_section .title {
	position: relative;
	margin-right: -1em;
	padding: 48px 24px;
	font-size: clamp(1.5rem, 30vw / 10.8, 1.875rem);
}
.workstyle_section .title .c-bracket {
	top: 100%;
}
.workstyle_column {
	padding: 24px;
	border-radius: var(--radius);
	background: white;
}
.workstyle_column .subject {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .5em;
	font-size: 1.0625rem;
	line-height: 1.4;
	font-weight: 700;
}
.workstyle_column .symbol {
	width: 80%;
}
.workstyle_column .symbol .ico {
	width: 100%;
	height: auto;
	stroke: var(--themecolor);
	stroke-linecap: round;
	stroke-linejoin: round;
}
.workstyle_column .paragraph {
	margin-top: .8em;
	padding-top: .5em;
	border-top: 1px solid currentcolor;
}
.workstyle_column .paragraph.-note {
	padding-top: 0;
	border-top: 0;
}
@media print, (min-width: 768px) {
	.workstyle_section {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 48px;
	}
	.workstyle_section .title {
		align-self: start;
	}
}
@media screen and (max-width: 767px) {
	.workstyle_section {
		padding: calc(24vw / 3.75);
	}
	.workstyle_section .title {
		padding: .7em .5em;
	}
	.workstyle_section .title {
		font-size: max(20vw / 3.75, 1.25rem);
	}
	.workstyle_section .title .c-bracket {
		--v: calc(32vw / 3.75);
		--vshift: calc(-16vw / 3.75);
	}
	.workstyle_column {
		margin-top: calc(32vw / 3.75);
	}
	.workstyle_column .subject {
		font-size: max(16vw / 3.75, 1rem);
	}
}

/**
 * 福利厚生
 * ---------------------------------------- */
.p-benefits .title {
	position: relative;
}
.benefits_section > .title,
.wellbeing_section > .title,
.lboshi_section > .title {
	position: relative;
	width: fit-content;
	margin: 0 auto;
	padding: .5em 1em;
	font-size: clamp(1.25rem, 30vw / 10.8, 1.875rem);
}
.benefits_section > .title .c-bracket,
.wellbeing_section > .title .c-bracket,
.lboshi_section > .title .c-bracket {
	--h: 100%;
	--v: 1.5em;
	--vshift: -1em;
	top: 100%;
	width: calc(100% + 1em);
}
@media screen and (max-width: 767px) {
	.benefits_section > .title,
	.wellbeing_section > .title {
		font-size: max(20vw / 3.75, 1.25rem);
	}
}

/* :::::: 各種制度 :::::: */
.benefits_section {
	position: relative;
	margin-top: 104px;
}
.benefits_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 24px 40px;
	position: relative;
	max-width: 920px;
	margin: 56px auto 0;
	text-align: center;
}
.benefits_list .item {
	display: grid;
	place-items: center;
	width: 148px;
	height: 148px;
	border-radius: 148px;
	color: white;
	font-size: 1.25rem;
	line-height: 1.4;
	font-weight: 500;
	background: var(--themegrad);
}
.benefits_list .item .note {
	display: block;
	margin-top: .3em;
	font-size: .75rem;
	white-space: nowrap;
}
.benefits_list .etc {
	font-size: 1.25rem;
	line-height: 1.4;
	font-weight: 500;
	letter-spacing: 0;
	white-space: nowrap;
}
@media print, (min-width: 768px) {
	.benefits_list .etc {
		position: absolute;
		bottom: 1em;
		left: 100%;
	}
}
@media screen and (max-width: 767px) {
	.benefits_list {
		display: grid;
		grid-template-columns: auto auto;
		justify-content: center;
		gap: calc(16vw / 3.75);
	}
	.benefits_list .item {
		width: max(128vw / 3.75, 128px);
		height: max(128vw / 3.75, 128px);
		font-size: max(16vw / 3.75, 1rem);
	}
	.benefits_list .item .note {
		font-size: max(10vw / 3.75, .625rem);
	}
	.benefits_list .etc {
		grid-column: 2;
		justify-self: end;
		margin-top: -.5em;
		font-size: max(12vw / 3.75, .75rem);
		line-height: 1;
	}
}
/* 女性の活躍を推進しています */
.lboshi_section {
	width: var(--contentwidth);
	max-width: 912px;
	margin: 120px auto 0;
}
.lboshi_column {
	margin-top: 48px;
	padding: min(48vw / 10.8, 48px) min(144vw / 10.8, 144px);
}
.lboshi_section .image {
	width: 200px;
	margin: 0 auto;
}
.lboshi_section .paragraph {
	max-width: 640px;
	margin: 1em auto 0;
}
.lboshi_section .paragraph .note {
	font-size: 80%;
}
@media screen and (max-width: 767px) {
	.lboshi_sectionhi {
		padding: calc(24vw / 3.75);
	}
	.lboshi_section .title {
		font-size: max(17vw / 3.75, 1.125rem);
	}
	.lboshi_section .image {
		width: max(184vw / 3.75, 184px);
	}
}

/* :::::: 健康経営を推進しています :::::: */
.wellbeing_section {
	position: relative;
	margin-top: 120px;
}
.wellbeing_column {
	width: var(--contentwidth);
	max-width: 912px;
	margin: 48px auto 0;
	padding: min(80vw / 10.8, 80px) min(144vw / 10.8, 144px);
}
.wellbeing_column .title {
	font-size: clamp(1.25rem, 25vw / 10.8, 1.5625rem);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: .5em;
}
.wellbeing_column .title {
	margin-top: 64px;
}
.wellbeing_column .paragraph {
	margin-top: 32px;
}
.wellbeing_column .image {
	margin-top: 32px;
	text-align: center;
}
.wellbeing_column > :first-child {
	margin-top: 0;
}
.wellbeing_column .image.-hap img {
	width: 100%;
}
.wellbeing_column .paragraph.-hap {
	font-size: 1rem;
}
.wellbeing_column .wellbeing_list {
	margin-top: 32px;
	padding: 24px 56px;
	border-radius: 7px;
	background: white;
}
.wellbeing_column .wellbeing_list .item {
	padding-left: 1.4em;
	text-indent: -1.4em;
}
.wellbeing_column .wellbeing_list .item::before {
	content: "";
	display: inline-block;
	width: .6em;
	height: .6em;
	margin: -.2em .9em 0 0;
	border-radius: .7em;
	font-size: 92%;
	vertical-align: middle;
	background: currentcolor;
}
.wellbeing_column .wellbeing_list .item + .item {
	margin-top: .5em;
}
.wellbeing_column .wellbeing_list .case {
	margin-top: 1em;
	font-size: .8125rem;
	line-height: 1.8;
}
@media screen and (min-width: 768px) {
	.wellbeing_column .image.-hap img {
		max-width: 480px;
	}
}
@media screen and (max-width: 767px) {
	.wellbeing_column {
		padding: calc(48vw / 3.75) calc(24vw / 3.75);
	}
	.wellbeing_column .paragraph.-hap {
		font-size: max(14vw / 3.75, .875rem);
	}
	.wellbeing_column .title {
		font-size: max(18vw / 3.75, 1.125rem);
	}
	.wellbeing_column .wellbeing_list {
		padding: calc(24vw / 3.75);
		font-size: max(12vw / 3.75, .75rem); /* MEMO: paragraph と同じ */
	}
	.wellbeing_column .wellbeing_list .case {
		font-size: max(10vw / 3.75, .625rem);
	}
}

/* :::::: イベント (MEMO: ほぼ component Column まま) :::::: */
.event_column {
	position: relative;
}
@media print, (min-width: 768px) {
	.event_column + .event_column {
		margin-top: 80px;
	}
}
@media screen and (max-width: 767px) {
	.event_column + .event_column {
		margin-top: max(48vw / 3.75, 48px);
	}
	.event_column .image {
		margin-left: var(--breakout);
		border-radius: 0 var(--radius) var(--radius) 0;
	}
	.event_column.-r .image {
		--inset: 0 max(-8vw / 3.75, -24px) 0 0;
		margin-right: var(--breakout);
		margin-left: auto;
		border-radius: var(--radius) 0 0 var(--radius);
	}
}


/**
 * 人財開発
 * -------------------------------------------------------------------------------- */
.p-human-resources-development .paragraph.-lead {
	margin-top: 144px;
}
.p-program {
	margin-top: 96px;
}
.p-culture {
	margin-top: 144px;
}

/* Objects */
.p-human-resources-development .paragraph .obj-graphimg {
	bottom: 0;
	width: 280px;
}
.program_section {
	position: relative;
}
.program_section .obj-graphimg {
	top: -8%;
	right: 16%;
	width: 112px;
}
.program_section .obj-pointgraph {
	width: 354px;
}
.program_section .obj-pointgraph.-o1 {
	top: -10%;
	left: -10%;
}
.program_section .obj-pointgraph.-o1 use {
	transform: scaleX(-1);
}
.program_section .obj-bargraph {
	right: -20%;
	width: 340px;
	height: 600px;
}
.program_section .obj-pointgraph.-o2 {
	bottom: -20%;
	left: -20%;
}
.program_section .obj-pointgraph.-o2 use {
	transform: rotate(-120deg) scaleX(-1);
}
.p-philosophy .obj-bargraph {
	top: -20%;
	right: 1%;
	width: 312px;
	height: 730px;
}
.p-core-value-award .obj-pointgraph {
	top: -14%;
	right: -8%;
	width: 320px;
}
.p-core-value-award .obj-pointgraph use {
	transform: rotate(90deg) scaleX(-1);
}
@media print, (min-width: 768px) {
	.p-human-resources-development .paragraph .obj-graphimg {
		left: 90%;
	}
	.program_section .obj-bargraph {
		bottom: -20%;
	}
}
@media screen and (max-width: 767px) {
	.p-human-resources-development .paragraph .obj-graphimg {
		right: -8%;
		bottom: 40%;
		width: calc(280vw / 7.68);
	}
	.program_section .obj-graphimg {
		top: -10%;
		width: calc(112vw / 7.68);
	}
	.program_section .obj-pointgraph {
		width: calc(354vw / 7.68);
	}
	.program_section .obj-bargraph {
		top: 90%;
		width: calc(340vw / 7.68);
		height: calc(600vw / 7.68);
	}
	.program_section .obj-pointgraph.-o2 {
		bottom: -10%;
	}
	.p-philosophy .obj-bargraph {
		top: -10%;
		width: calc(312vw / 7.68);
		height: calc(730vw / 7.68);
	}
	.p-core-value-award .obj-pointgraph {
		right: -4%;
		width: calc(320vw / 7.68);
	}
}

/**
 * 人財開発プログラム
 * ---------------------------------------- */
.program_section {
	width: var(--contentwidth);
	max-width: 970px;
	margin: 64px auto 0;
}
.program_section .title {
	display: flex;
	flex-direction: column;
	align-items: center;
	font-size: clamp(1.5rem, 30vw / 10.8, 1.875rem);
}
.program_section .symbol {
	width: 200px;
}
.program_section .symbol .ico {
	width: 100%;
	height: auto;
	stroke: var(--themecolor);
	stroke-linecap: round;
	stroke-linejoin: round;
}
.program_section .title .main {
	margin-top: .5em;
}
@media screen and (max-width: 767px) {
	.program_section .symbol {
		width: max(144vw / 3.75, 144px);
	}
}

.program_list {
	position: relative;
	margin-top: 40px;
	padding: 48px 24px 0;
	border-top: 1px solid currentcolor;
}
.program_list::before,
.program_list::after {
	content: "";
	position: absolute;
	top: -3px;
	width: 5px;
	height: 5px;
	border-radius: 5px;
	background: currentcolor;
}
.program_list::before {
	left: -2px;
}
.program_list::after {
	right: -2px;
}
.program_list .subject {
	font-size: clamp(1.125rem, 19vw / 10.8, 1.1875rem);
	line-height: 1.4;
	font-weight: 700;
	white-space: nowrap;
	text-align: center;
}
.program_list .paragraph {
	margin-top: 1em;
}
/* キャリアオーナーシップ経営AWARD 2025 */
.p-career-ownership-management-award .title {
	font-size: clamp(1.125rem, 19vw / 10.8, 1.1875rem);
	text-align: center;
}
.p-career-ownership-management-award .image {
	width: 200px;
	margin: 1.5em auto;
}
.p-career-ownership-management-award .paragraph {
	max-width: 640px;
	margin: 0 auto;
}
@media print, (min-width: 768px) {
	.program_list {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 48px;
	}
}
@media screen and (max-width: 767px) {
	.program_list .item + .item {
		margin-top: 24px;
	}
	.program_section .title {
		font-size: max(24vw / 3.75, 1.5rem);
	}
	.program_list .subject,
	.p-career-ownership-management-award .title {
		font-size: max(17vw / 3.75, 1.125rem);
	}
	.p-career-ownership-management-award .image {
		width: max(184vw / 3.75, 184px);
	}
}

/**
 * 企業文化
 * ---------------------------------------- */
.culture_section {
	width: var(--contentwidth);
	max-width: 1080px;
	margin: 64px auto 0;
	padding: 96px min(80vw / 10.8, 80px) 112px;
}
.culture_section .title {
	position: relative;
	width: fit-content;
	margin: 0 auto;
	padding: .5em 1em;
	font-size: clamp(1.5rem, 30vw / 10.8, 1.875rem);
	text-align: center;
}
.culture_section .title .c-bracket {
	--h: 100%;
	--v: 1.5em;
	--vshift: -1em;
	top: 100%;
	width: 100%;
}
.culture_section .title .sub {
	display: block;
	margin-top: .3em;
	font-size: 56%;
}
@media screen and (max-width: 767px) {
	.culture_section {
		padding: 40px max(24vw / 3.75, 24px) 64px;
	}
	.culture_section .title {
		font-size: max(20vw / 3.75, 1.375rem);
	}
}
@media screen and (max-width: 480px) {
	.culture_section .title {
		padding: .5em;
	}
}

/* :::::: LM フィロソフィ :::::: */
.p-philosophy {
	/* c-gridbox */
	border-radius: 0 var(--radius) var(--radius) 0;
}
.p-philosophy::before {
	left: var(--breakout);
	border-left: 0;
	border-radius: inherit;
}
.p-philosophy::after {
	content: attr(data-label);
	z-index: -1;
	position: absolute;
	top: .2em;
	left: var(--breakout);
	color: white;
	font-size: min(112vw / 10.8, 7rem);
	line-height: 1;
	font-family: var(--fontEn);
	font-weight: 500;
	white-space: nowrap;
	writing-mode: vertical-lr;
}
.p-philosophy .-shadow {
	z-index: -2;
	position: absolute;
	inset: 0;
	left: calc(var(--breakout) - var(--sidegap) * 2);
}
.p-philosophy .-shadow::before {
	left: calc(var(--breakout) - var(--translate_y));
	background: var(--themegrad_lr);
}
@media screen and (max-width: 767px) {
	.p-philosophy::after {
		font-size: max(56vw / 3.75, 3.5rem);
	}
}
.philosophy_list {
	margin-top: 80px;
}
.philosophy_list .item {
	display: grid;
	font-size: clamp(1.25rem, 28vw / 10.8, 1.75rem);
}
.philosophy_list .item:not(:first-child) {
	margin-top: 48px;
}
.philosophy_list .item::after {
	content: "";
	border-top: 1px solid var(--bordergray);
}
.philosophy_list .num {
	width: auto;
	height: 1.86em;
}
.philosophy_list .sub {
	font-size: clamp(.875rem, 16vw / 10.8, 1rem);
	line-height: 1.4;
	font-weight: 500;
}
.philosophy_list .main {
	line-height: 1.4;
	font-weight: 700;
}
.philosophy_list .list {
	font-weight: 500;
}
.philosophy_list .list li {
	padding-left: 4.3em;
	font-size: clamp(.875rem, 16vw / 10.8, 1rem);
	line-height: 1.6;
	text-indent: -4.3em;
}
.philosophy_list .list li:not(:first-child) {
	margin-top: .3em;
}
@media print, (min-width: 768px) {
	.philosophy_list .item {
		grid-template-columns: 12em 1fr;
		gap: .5em max(40vw / 10.8, 40px);
	}
	.philosophy_list .item::after {
		grid-area: 1 / 1 / 2 / 3;
		align-self: center;
		margin-left: 144px;
	}
	.philosophy_list .num {
		grid-area: 1 / 1 / 2 / 3;
	}
	.philosophy_list .sub {
		grid-area: 2 / 1 / 3 / 3;
		margin-top: .5em;
		text-indent: .5em;
	}
	.philosophy_list .main {
		grid-area: 3 / 1;
	}
	.philosophy_list .list {
		grid-area: 3 / 2 / 4 / 3;
	}
}
@media screen and (max-width: 767px) {
	.philosophy_list .item {
		grid-template-columns: auto 1fr;
		align-items: center;
		column-gap: 24px;
		font-size: max(18vw / 3.75, 1.375rem);
	}
	.philosophy_list .num {
		grid-area: 1 / 1 / 3 / 2;
	}
	.philosophy_list .sub {
		grid-area: 1 / 2;
	}
	.philosophy_list .main {
		grid-area: 2 / 2;
	}
	.philosophy_list .item::after {
		grid-area: 3 / 1 / 4 / 3;
		margin: .5em 0;
	}
	.philosophy_list .list {
		grid-area: 4 / 1 / 5 / 3;
	}
	.philosophy_list .sub,
	.philosophy_list .list li {
		font-size: max(12vw / 3.75, .75rem);
	}
}
@media screen and (max-width: 480px) {
	.philosophy_list .item {
		grid-template-columns: auto;
	}
	.philosophy_list .num {
		grid-area: 1 / 1;
	}
	.philosophy_list .sub {
		grid-area: 2 / 1;
		margin-top: 1em;
	}
	.philosophy_list .main {
		grid-area: 3 / 1;
	}
	.philosophy_list .item::after {
		grid-area: 4 / 1;
	}
	.philosophy_list .list {
		grid-area: 5 / 1;
	}
}

/* :::::: コアバリューアワード :::::: */
.p-core-value-award {
	margin-top: 144px;
}
.p-core-value-award::before {
	right: var(--breakout);
	border-right: 0;
	border-radius: var(--radius) 0 0 var(--radius);
}
.p-core-value-award::after {
	content: attr(data-label);
	position: absolute;
	top: -1em;
	left: 1em;
	padding: 1em;
	border-radius: calc(var(--radius) * 1.5);
	color: var(--bordergray);
	font-size: min(48vw / 10.8, 3rem);
	line-height: 1;
	font-family: var(--fontEn);
	font-weight: 500;
	writing-mode: vertical-rl;
	white-space: nowrap;
	background: var(--themegrad_rl);
}
.p-core-value-award .paragraph {
	position: relative;
	max-width: 640px;
	margin: 80px auto 0;
}
.p-core-value-award .paragraph.-note {
	margin-top: 1em;
	padding-left: 3em;
	text-indent: -3em;
}
@media print, (min-width: 768px) {
	.p-core-value-award .paragraph {
		width: calc(100% - 80px);
	}
	.p-core-value-award .title,
	.p-core-value-award .paragraph {
		left: 80px;
	}
}
@media screen and (max-width: 767px) {
	.p-core-value-award {
		padding-inline: max(40vw / 3.75, 40px);
	}
	.p-core-value-award .title,
	.p-core-value-award .paragraph {
		left: max(24vw / 3.75, 24px);
	}
	.p-core-value-award::after {
		left: var(--breakout);
		padding: 1em .5em;
		border-radius: 0 calc(var(--radius) * 1.5) calc(var(--radius) * 1.5) 0;
		font-size: max(24vw / 3.75, 1.5rem);
	}
}





/**
 * LM SURVEY
 * -------------------------------------------------------------------------------- */
.page-work .p-survey + .l-footer {
	margin-top: 0;
}
.p-survey .main_contents {
	padding-bottom: 0;
	border-bottom: 0;
}
.p-survey {
	--red: #d60000;
	--green: #20a200;
	--blue: #06acbe;
	--purple: #ab0080;
}
.p-survey .ico {
	overflow: visible;
	stroke-width: 1;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.survey_list {
	display: grid;
	gap: 32px;
	width: var(--contentwidth);
	max-width: 860px;
	margin: 96px auto 0;
	padding: 160px 0;
	border-radius: 0;
}
.survey_list::before {
	border-inline: 0;
	margin: 0 var(--breakout);
}
.survey_list > .item {
	display: grid;
	grid-template-rows: auto 1fr auto;
	justify-items: center;
	position: relative;
	width: 100%;
	padding: 32px 48px;
	border-radius: var(--radius);
	background: white;
}
.survey_list > .note {
	font-size: clamp(.625rem, 10vw / 3.75, .75rem);
	line-height: 1.6;
	text-align: right;
}
@media print, (min-width: 768px) {
	.survey_list > .item {
		grid-column: 1 / 3;
	}
	.survey_list > .p-age,
	.survey_list > .p-join {
		grid-column: 1;
		padding: 32px 40px;
	}
	.survey_list > .p-gender,
	.survey_list > .p-holiday {
		grid-column: 2;
		padding: 32px 40px;
	}
	.survey_list > .note {
		grid-column: 2;
	}
}
@media screen and (max-width: 767px) {
	.survey_list > .item {
		overflow: hidden;
		max-width: calc(100vw - var(--sidegap) * 2);
		padding-inline: calc(16vw / 3.75);
	}
}

.survey_list > .item .q {
	justify-self: center;
	padding-left: 1.7em;
	padding-bottom: .4em;
	border-bottom: 1px solid currentcolor;
	font-size: clamp(1.125rem, 23vw / 10.8, 1.4375rem);
	line-height: 1.4;
	font-weight: 700;
	letter-spacing: .14em;
	text-indent: -1.7em;
}
.survey_list > .item .q > * {
	text-indent: 0;
}
.survey_list > .item .q b {
	font-size: 126%;
}
.survey_list > .item .q .kng {
	letter-spacing: .05em;
}
.survey_list > .item .q .char {
	/* js で生成した一文字ずつ括る span */
	display: inline-block;
	transform: none;
}
.survey_list .item .q::before {
	content: "Q.";
	color: var(--themecolor);
	font-size: 152%;
}
.survey_list > .item > .note {
	justify-self: end;
	margin-top: .5em;
	font-size: clamp(.625rem, 10vw / 3.75, .75rem);
}
.survey_list > .item .a {
	align-self: start;
	margin-top: 40px;
}
.survey_list > .item .detail {
	justify-self: end;
	display: flex;
	align-items: center;
	gap: 1em;
	margin-top: 1em;
	color: var(--themecolor);
	font-size: .9375rem;
	font-family: var(--fontEn);
	font-weight: 500;
	letter-spacing: .04em;
}
.survey_list > .item .detail .arr {
	width: 40px;
	height: 40px;
	padding: 8px;
	padding-bottom: 11px;
	border: 1px solid currentcolor;
	border-radius: 40px;
	fill: currentcolor;
}
.survey_list > .item .detail::after {
	content: "";
	position: absolute;
	inset: 0;
}
@media (hover) {
	.survey_list > .item .detail::after {
		cursor: pointer;
	}
}
@media screen and (max-width: 767px) {
	.survey_list > .item .q {
		font-size: max(16vw / 3.75, 1rem);
	}
	.survey_list > .item .detail {
		font-size: max(12vw / 3.75, .75rem);
	}
}
/* Inview */
.survey_list > .item .q.js-inview:not(.is-inview)::before {
	opacity: 0;
}
.survey_list > .item .detail.js-inview:not(.is-inview) {
	opacity: 0;
	/* MEMO: after で拡張しているため、スタック文脈を作らないように margin */
	margin-right: 1em;
}
.survey_list > .item .detail.js-inview:not(.is-inview) .arr {
	opacity: 0;
	transform: scale(.5);
}
.survey_list > .item .q.js-inview.is-inview::before {
	transition: opacity .4s;
	will-change: opacity;
}
.survey_list > .item .q .char {
	transition: opacity .6s, transform .6s var(--easeOut);
	will-change: opacity, transform;
}
.survey_list > .item .detail.js-inview.is-inview {
	transition: opacity .6s, margin-right .6s var(--easeOut);
	will-change: opacity, margin-right;
}
.survey_list > .item .detail.js-inview.is-inview .arr {
	transition: opacity .4s, transform .4s var(--easeBack);
	transition-delay: .3s;
	will-change: opacity, transform;
}

/* 数値リール */
.survey_list .reel {
	--size: 6px;
	width: calc(var(--size) * 12);
	height: calc(var(--size) * 16);
	overflow: hidden;
	white-space: normal;
}
.survey_list .reel .num {
	width: 100%;
	height: auto;
	fill: currentcolor;
	stroke: currentcolor;
	stroke-width: 2;
}
.survey_list .reel .num[width="8"] {
	/* MEMO: 1 が 10 の位にしかないから成り立ってるので注意 */
	width: 66.666%;
	margin: 0 0 0 33.333%;
}
.survey_list .reel:not(:first-of-type) .num[width="8"] {
	margin: 0 16.666%;
}
/* コロン */
.survey_list .colon {
	--size: 14px;
	position: relative;
	overflow: hidden;
	width: calc(var(--size) + 2px);
	height: 100%;
	margin: 0 .3em;
	text-indent: 108%;
}
.survey_list .colon::before,
.survey_list .colon::after {
	content: "";
	position: absolute;
	left: 1px;
	width: var(--size);
	height: var(--size);
	border-radius: var(--size);
	background: currentcolor;
}
.survey_list .colon::before {
	top: 22%;
}
.survey_list .colon::after {
	bottom: 22%;
}
/* Inview */
.survey_list .a.js-reel:not(.is-inview) .reel {
	opacity: 0;
}
.survey_list .a.js-reel:not(.is-inview) .reel .num {
	transform: translateY(-900%);
}
.survey_list .a.js-reel:not(.is-inview) .unit,
.survey_list .a.js-reel:not(.is-inview) .colon,
.survey_list .a.js-reel:not(.is-inview) .ico,
.survey_list .a.js-reel:not(.is-inview) .number_data dt {
	opacity: 0;
	transform: translateY(1em);
}
.survey_list .a.js-reel:not(.is-inview) .unit.-l {
	transform: translateX(1em);
}
.survey_list .a.js-reel:not(.is-inview) .unit.-r {
	transform: translateX(-1em);
}
.survey_list .a.js-reel.is-inview .unit,
.survey_list .a.js-reel.is-inview .colon,
.survey_list .a.js-reel.is-inview .ico,
.survey_list .a.js-reel.is-inview .number_data dt,
.survey_list .a.js-reel.is-inview + .note {
	transition: opacity .8s, transform .8s var(--easeOut);
}
.survey_list .a.js-reel.is-inview .reel {
	transition: opacity .8s;
}
.survey_list .a.js-reel.is-inview .reel .num {
	transition: transform 1.2s var(--easeInOut);
	transition-delay: .4s;
}
.survey_list .a.js-reel.is-inview .reel ~ .reel .num {
	transition-delay: .6s;
}

/* :::::: 社員の平均年齢は？ :::::: */
.survey_list .p-age .a {
	align-self: center;
	display: flex;
	align-items: end;
	margin-bottom: .5em;
	font-size: 1.8125rem;
	line-height: 1.4;
	font-weight: 500;
}
.survey_list .p-age .reel {
	--size: 7px;
}
.survey_list .p-age .reel.-l {
	color: var(--blue);
}
.survey_list .p-age .reel.-r {
	color: var(--purple);
}
@media screen and (max-width: 767px) {
	.survey_list .p-age .detail {
		margin-top: 0.5em;
	}
	.survey_list .p-age .a {
		font-size: max(29vw / 3.75, 1.8125rem);
	}
	.survey_list .p-age .reel {
		--size: max(7vw / 3.75, 7px);
	}
}

/* :::::: 社員の男女比率は？ :::::: */
.survey_list .p-gender .a {
	display: grid;
	align-items: end;
	font-size: 2rem;
	line-height: 1.4;
	font-weight: 700;
}
.survey_list .p-gender .a > * {
	grid-row: 1;
}
.survey_list .p-gender .unit.-l {
	grid-column: 1;
	margin-right: .1em;
	color: var(--green);
}
.survey_list .p-gender .unit.-r {
	grid-column: 5;
	margin-left: .3em;
	color: var(--red);
}
.survey_list .p-gender .ico {
	grid-row: 2;
	justify-self: center;
	width: 64%;
	height: auto;
	stroke: currentcolor;
}
.survey_list .p-gender .colon {
	grid-column: 3;
	--size: 12px;
}
.survey_list .p-gender .colon::before { background: var(--red); }
.survey_list .p-gender .colon::after { background: var(--green); }
.survey_list .p-gender .reel { --size: 5.3px; }
.survey_list .p-gender .ico.-l,
.survey_list .p-gender .reel.-l {
	position: relative;
	grid-column: 2;
	color: var(--green);
}
.survey_list .p-gender .ico.-r,
.survey_list .p-gender .reel.-r {
	position: relative;
	grid-column: 4;
	color: var(--red);
}
@media screen and (max-width: 767px) {
	.survey_list .p-gender .a {
		font-size: max(32vw / 3.75, 2rem);
	}
	.survey_list .p-gender .colon {
		--size: max(12vw / 3.75, 12px);
	}
	.survey_list .p-gender .reel {
		--size: max(5.3vw / 3.75, 5.3px);
	}
}

/* :::::: 新卒と中途の入社比率ってどのくらい？ :::::: */
.survey_list .p-join .a {
	display: grid;
	grid-auto-flow: column;
	align-items: center;
	color: var(--green);
	font-size: clamp(2rem, 38vw / 10.8, 2.375rem);
	line-height: 1.4;
	font-weight: 700;
}
.survey_list .p-join .icon {
	display: grid;
	gap: 4px 8px;
	position: relative;
	top: -.1em;
}
.survey_list .p-join .icon.-l {
	margin-right: .4em;
}
.survey_list .p-join .icon.-r {
	grid-template-columns: repeat(4, auto);
	margin-left: .4em;
}
.survey_list .p-join .icon .ico {
	width: 26px;
	height: auto;
	stroke: currentcolor;
	stroke-width: 1.5;
}
.survey_list .p-join .unit {
	height: 2.4em;
	text-align-last: justify;
	writing-mode: vertical-lr;
}
.survey_list .p-join .unit.-l {
	margin-right: .2em;
}
.survey_list .p-join .unit.-r {
	margin-left: .2em;
}
.survey_list .p-join .colon {
	--size: 14px;
}
.survey_list .p-join .reel {
	--size: 6.4px;
}
.survey_list .p-number .item:nth-child(1) .reel,
.survey_list .p-number .item:nth-child(2) .reel {
	--size: 4.14px;
}
.survey_list .p-number .item:nth-child(3) .reel,
.survey_list .p-number .item:nth-child(4) .reel {
	--size: 2.78px;
}
.survey_list .p-number .item:nth-child(5) .reel,
.survey_list .p-number .item:nth-child(6) .reel {
	--size: 2.5875px;
}
@media screen and (max-width: 767px) {
	.survey_list .p-join .a {
		font-size: max(32vw / 3.75, 2rem);
	}
	.survey_list .p-join .icon .ico {
		width: max(26vw / 3.75, 26px);
	}
	.survey_list .p-join .colon {
		--size: max(14vw / 3.75, 14px);
	}
	.survey_list .p-join .reel {
		--size: max(6.4vw / 3.75, 6.4px);
	}
}

/* :::::: 職種ごとの社員数は？？ :::::: */
.survey_list .p-number .a {
	position: relative;
}
/* 円グラフ */
.survey_list .number_graph {
	width: 270px;
	height: 270px;
	border-radius: 270px;
	background: conic-gradient(
		#d60000 22%,
		#dc2626 22% 42%,
		#e24c4c 42% 62%,
		#e87373 62% 77%,
		#f3b2b2 77% 88%,
		#f9d9d9 77% 100%
	);
}
/* 数値 */
.survey_list .number_data dt {
	font-size: .9375rem;
	line-height: 1.2;
	font-weight: 700;
}
.survey_list .number_data small {
	margin-top: .7em;
	font-size: max(.625rem, 82%);
	font-weight: 500;
}
.survey_list .number_data dd {
	display: flex;
	align-items: end;
	font-size: 1rem;
	line-height: 1;
	font-family: var(--fontEn);
	font-weight: 500;
}
.survey_list .number_data .item:nth-child(1) dd,
.survey_list .number_data .item:nth-child(2) dd {
	margin-top: .15em;
}
.survey_list .number_data .num {
	position: relative;
	overflow: visible;
	top: .15em;
	fill: currentcolor;
	stroke: currentcolor;
}
.survey_list .number_data .reel {
	vertical-align: baseline;
}
.survey_list .number_data .reel .num {
	position: static;
	top: auto;
}
.survey_list .number_data .item:nth-child(1) .num { color: var(--blue); }
.survey_list .number_data .item:nth-child(1) .num + .num { color: var(--green); }
.survey_list .number_data .item:nth-child(2) .num { color: var(--purple); }
.survey_list .number_data .item:nth-child(2) .num + .num { color: var(--red); }
.survey_list .number_data .item:nth-child(3) .num { color: var(--green); }
.survey_list .number_data .item:nth-child(3) .num + .num { color: var(--red); }
.survey_list .number_data .item:nth-child(4) .num { color: var(--purple); }
.survey_list .number_data .item:nth-child(4) .num + .num { color: var(--blue); }
.survey_list .number_data .item:nth-child(5) .num { color: var(--red); }
.survey_list .number_data .item:nth-child(5) .num + .num { color: var(--green); }
.survey_list .number_data .item:nth-child(6) .num { color: var(--blue); }
.survey_list .number_data .item:nth-child(6) .num + .num { color: var(--purple); }
@media print, (min-width: 768px) {
	.survey_list .p-number .a {
		padding: 24px 0 64px;
		white-space: nowrap;
	}
	.survey_list .number_data .item {
		display: grid;
		position: absolute;
	}
	.survey_list .number_data .item:nth-child(1) { top: 0; left: 90%; }
	.survey_list .number_data .item:nth-child(2) { top: 58%; left: 104%; }
	.survey_list .number_data .item:nth-child(3) { bottom: 0; right: 70%; }
	.survey_list .number_data .item:nth-child(4) { bottom: 38%; right: 108%; }
	.survey_list .number_data .item:nth-child(5) { top: 12%; right: 95%; }
	.survey_list .number_data .item:nth-child(6) { top: 0; right: 72%; }
	.survey_list .number_data .item:nth-child(3) dt,
	.survey_list .number_data .item:nth-child(4) dt {
		order: 1;
	}
	.survey_list .number_data dt {
		display: grid;
	}
	.survey_list .number_data .line {
		position: absolute;
		width: calc(100% + 3em);
		fill: none;
		stroke: currentcolor;
	}
	.survey_list .number_data .line svg {
		overflow: visible;
		width: 100%;
		height: 100%;
	}
	.survey_list .number_data .item:nth-child(1) .line { top: 1.5em; right: 0; height: 2.5em; }
	.survey_list .number_data .item:nth-child(2) .line { top: 0; right: 0; height: 1.5em; }
	.survey_list .number_data .item:nth-child(3) .line { bottom: 2.2em; left: 0; height: 3em; }
	.survey_list .number_data .item:nth-child(4) .line { bottom: 1.2em; left: 0; height: 1.5em; }
	.survey_list .number_data .item:nth-child(5) .line { top: 1.5em; left: 0; width: calc(100% + 1em); height: 2em; }
	.survey_list .number_data .item:nth-child(6) .line { top: 1.5em; left: 0; width: calc(100% + 1em); height: 1.8em; }
	.survey_list .number_data .line::after {
		content: "";
		position: absolute;
		width: 5px;
		height: 5px;
		border-radius: 5px;
		background: currentcolor;
	}
	.survey_list .number_data .item:nth-child(1) .line::after { bottom: -2px; left: -2px; }
	.survey_list .number_data .item:nth-child(2) .line::after { top: -2px; left: -2px; }
	.survey_list .number_data .item:nth-child(3) .line::after,
	.survey_list .number_data .item:nth-child(4) .line::after { top: -2px; right: -2px; }
	.survey_list .number_data .item:nth-child(5) .line::after,
	.survey_list .number_data .item:nth-child(6) .line::after { right: -2px; bottom: -2px; }
	.survey_list .number_data .item:nth-child(n+1) dd {
		font-size: 1.725rem;
	}
	.survey_list .number_data .item:nth-child(n+3) dd {
		margin-bottom: .4em;
		font-size: 1.29375rem;
	}
	.survey_list .number_data .item:nth-child(n+5) dd {
		position: absolute;
		top: calc(100% + 1.8em);
		margin-bottom: 0;
	}
	.survey_list .number_data .item:nth-child(5) dd {
		left: calc(100% + .5em);
	}
	.survey_list .number_data .item:nth-child(6) dd {
		left: 96%;
	}
	.survey_list .number_data .num {
		width: auto;
		height: 1.5em;
		stroke-width: 2;
	}
	.survey_list .number_data .item:nth-child(n+1) .num { height: 2.4em; }
	.survey_list .number_data .item:nth-child(n+3) .num { height: 2.15em; }
	.survey_list .number_data .item:nth-child(n+5) .num { height: 2em; }
}
@media screen and (max-width: 767px) {
	.survey_list .p-number .a {
		width: 100%;
	}
	.survey_list .number_graph {
		width: calc(270vw / 3.75);
		height: calc(270vw / 3.75);
		border-radius: calc(270vw / 3.75);
		margin: 0 auto;
	}
	.survey_list .number_data {
		margin-top: 1em;;
	}
	.survey_list .number_data .item {
		display: grid;
		grid-template-columns: auto 1fr auto;
		grid-auto-flow: column;
		align-items: end;
		column-gap: 8px;
		margin-top: .5em;
		padding: 0 .5em;
		font-size: calc(20vw / 3.75);
	}
	.survey_list .number_data .item:not(:last-child) {
		padding-bottom: .5em;
		border-bottom: 1px solid var(--bordergray);
	}
	.survey_list .number_data .item br {
		display: none;
	}
	.survey_list .number_data .item dt { grid-column: 1; }
	.survey_list .number_data .item::before { grid-column: 2; }
	.survey_list .number_data .item dd { grid-column: 3; }
	.survey_list .number_data .item::before,
	.survey_list .number_data .item dt::before {
		color: var(--themecolor);
		font-weight: 700;
	}
	.survey_list .number_data .item:nth-child(1)::before,
	.survey_list .number_data .item:nth-child(1) dt::before { content: "A"; }
	.survey_list .number_data .item:nth-child(2)::before,
	.survey_list .number_data .item:nth-child(2) dt::before { content: "B"; }
	.survey_list .number_data .item:nth-child(3)::before,
	.survey_list .number_data .item:nth-child(3) dt::before { content: "C"; }
	.survey_list .number_data .item:nth-child(4)::before,
	.survey_list .number_data .item:nth-child(4) dt::before { content: "D"; }
	.survey_list .number_data .item:nth-child(5)::before,
	.survey_list .number_data .item:nth-child(5) dt::before { content: "E"; }
	.survey_list .number_data .item:nth-child(6)::before,
	.survey_list .number_data .item:nth-child(6) dt::before { content: "F"; }
	/* グラフの英字 */
	.survey_list .number_data .item::before {
		position: absolute;
	}
	.survey_list .number_data .item:nth-child(-n+4)::before {
		color: white;
	}
	.survey_list .number_data .item:nth-child(1)::before { top: calc(50vw / 3.75); left: 67%; }
	.survey_list .number_data .item:nth-child(2)::before { top: calc(156vw / 3.75); left: 76%; }
	.survey_list .number_data .item:nth-child(3)::before { top: calc(204vw / 3.75); left: 45%; }
	.survey_list .number_data .item:nth-child(4)::before { top: calc(150vw / 3.75); left: 20%; }
	.survey_list .number_data .item:nth-child(5)::before { top: calc(78vw / 3.75); left: 23%; }
	.survey_list .number_data .item:nth-child(6)::before { top: calc(36vw / 3.75); left: 38%; }
	/* つなぐ点線 */
	.survey_list .number_data .item::after {
		content: "";
		min-width: 1em;
		padding-bottom: .4em;
		border-top: 3px dotted var(--bordergray);
		width: 100%;
	}
	.survey_list .number_data dt {
		display: grid;
		grid-template-columns: 1.3em auto;
		font-size: max(13vw / 3.75, .75rem);
	}
	.survey_list .number_data dt::before { grid-column: 1; }
	.survey_list .number_data dt small { grid-area: 2 / 1 / 3 / 3; }
	.survey_list .number_data small {
		margin-top: .2em;
	}
	.survey_list .number_data dd {
		font-size: max(15vw / 3.75, .875rem);
	}
	.survey_list .number_data .line {
		display: none;
	}
	.survey_list .p-number .note {
		margin-top: 1em;
	}
}

/* :::::: 有給休暇取得はどのくらい？ :::::: */
.survey_list .p-holiday .a {
	display: flex;
	align-items: end;
	font-size: 2.1875rem;
	line-height: 1.4;
	font-weight: 500;
}
.survey_list .p-holiday .ico {
	width: 112px;
	height: auto;
	margin-right: .5em;
	margin-bottom: .2em;
	stroke: var(--blue);
}
.survey_list .p-holiday .reel {
	--size: 7px;
	margin-left: -.05em;
}
.survey_list .p-holiday .num {
	color: var(--blue);
	stroke-width: 3.4;
}
@media screen and (max-width: 767px) {
	.survey_list .p-holiday .a {
		font-size: max(35vw / 3.75, 2.1875rem);
	}
	.survey_list .p-holiday .reel {
		--size: max(7vw / 3.75, 7px);
	}
}

/* :::::: ロイヤリティ マーケティングの社員って、どんな人？ :::::: */
.survey_list .comments {
	max-width: 580px;
	margin: 0 auto;
}
.survey_list .comments .bln {
	position: relative;
	padding: .4em 4em .8em;
	border: 2.5px solid;
	border-radius: 6em;
	font-size: .9375rem;
	line-height: 1.8;
	font-weight: 700;
	line-break: strict;
	text-align: justify;
	hyphens: auto;
	hanging-punctuation: allow-end;
	background: white;
}
.survey_list .comments .bln + .bln {
	margin-top: .8em;
}
.survey_list .comments .bln::first-letter {
	font-size: 147%;
}
.survey_list .comments .bln.-b1 { border-color: var(--green); }
.survey_list .comments .bln.-b2 { border-color: var(--purple); }
.survey_list .comments .bln.-b3 { border-color: var(--blue); }
.survey_list .comments .bln.-b1::first-letter { color: var(--green); }
.survey_list .comments .bln.-b2::first-letter { color: var(--purple); }
.survey_list .comments .bln.-b3::first-letter { color: var(--blue); }
.survey_list .comments .tail {
	position: absolute;
	top: calc(50% - .5em);
	width: 1.2em;
	height: 1em;
	fill: white;
	stroke-width: 2.5;
}
.survey_list .comments .bln.-b1 .tail {
	left: calc(100% - .02em);
	stroke: var(--green);
}
.survey_list .comments .bln.-b2 .tail {
	right: calc(100% - .02em);
	stroke: var(--purple);
	transform: scaleX(-1);
}
.survey_list .comments .bln.-b3 .tail {
	left: calc(100% - .02em);
	stroke: var(--blue);
}
@media screen and (max-width: 767px) {
	.survey_list .comments .bln {
		padding: .8em 3em 1.2em;
		font-size: max(14vw / 3.75, .875rem);
	}
}
/* Inview */
.survey_list .comments.js-inview:not(.is-inview) .bln {
	opacity: 0;
	transform: translateX(1em);
}
.survey_list .comments.js-inview:not(.is-inview) .bln:nth-child(2n) {
	transform: translateX(-1em);
}
.survey_list .comments.js-inview.is-inview .bln {
	transition: opacity .6s, transform .6s var(--easeOut);
}
.survey_list .comments.js-inview.is-inview .bln:nth-child(2) { transition-delay: .1s; }
.survey_list .comments.js-inview.is-inview .bln:nth-child(3) { transition-delay: .2s; }
.survey_list .comments.js-inview.is-inview .bln:nth-child(4) { transition-delay: .3s; }
.survey_list .comments.js-inview.is-inview .bln:nth-child(5) { transition-delay: .4s; }


/* :::::: どこに魅力を感じて入社したの？ :::::: */
.survey_list .factor_graph,
.survey_list .factor_notes {
	width: fit-content;
}
.survey_list .factor_graph .bar,
.survey_list .factor_notes {
	display: grid;
	grid-template-columns: 1em 1fr;
	line-height: 1.4;
}
.survey_list .factor_graph {
	position: relative;
	padding-bottom: 1.5em;
}
.survey_list .factor_graph .bar {
	align-items: center;
	column-gap: 1em;
	width: 480px;
	color: var(--green);
	font-size: 1.125rem;
	font-weight: 500;
}
.survey_list .factor_graph .bar::after {
	content: "";
	grid-column: 2;
	display: block;
	width: 100%;
	height: 1em;
	border-radius: 0 3px 3px 0;
}
.survey_list .factor_graph .icon .ico {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 280px;
	height: auto;
	color: var(--green);
}
.survey_list .factor_graph .bar:nth-child(1)::after { width: 84.7562%; background: var(--green); }
.survey_list .factor_graph .bar:nth-child(2)::after { width: 75.6085%; background: #2ba70d; }
.survey_list .factor_graph .bar:nth-child(3)::after { width: 49.5793%; background: #36ab19; }
.survey_list .factor_graph .bar:nth-child(4)::after { width: 40.6218%; background: #41b026; }
.survey_list .factor_graph .bar:nth-child(5)::after { width: 28.6458%; background: #4db533; }
.survey_list .factor_graph .bar:nth-child(6)::after { width: 26.0291%; background: #58b940; }
.survey_list .factor_graph .bar:nth-child(7)::after { width: 26.0291%; background: #63be4c; }
.survey_list .factor_graph .bar:nth-child(8)::after { width: 20.7958%; background: #6ec359; }
.survey_list .factor_graph .bar:nth-child(9)::after { width: 15.5624%; background: #79c766; }
.survey_list .factor_graph .bar:nth-child(10)::after { width: 15.5624%; background: #84cc73; }
.survey_list .factor_notes {
	align-items: baseline;
	column-gap: 1.5em;
	margin-top: 24px;
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .05em;
}
.survey_list .factor_notes dt {
	grid-column: 1;
	color: var(--green);
	font-size: 133%;
}
.survey_list .factor_notes dd {
	grid-column: 2;
}
.survey_list .factor_notes .note {
	grid-column: 1 / 3;
	margin-top: 1em;
	font-size: 80%;
	font-weight: 500;
}
@media screen and (max-width: 767px) {
	.survey_list .factor_graph .bar {
		width: calc(300vw / 3.75);
		font-size: max(14vw / 3.75, .875rem);
	}
	.survey_list .factor_graph .icon .ico {
		width: calc(184vw / 3.75);
	}
	.survey_list .factor_notes {
		font-size: max(10vw / 3.75, .625rem);
	}
}

/* Inview */
.survey_list .factor_graph.js-inview:not(.is-inview) .bar {
	opacity: 0;
}
.survey_list .factor_graph .bar::after {
	clip-path: inset(0);
}
.survey_list .factor_graph.js-inview:not(.is-inview) .bar::after {
	clip-path: inset(0 100% 0 0);
}
.survey_list .factor_graph.js-inview:not(.is-inview) .icon .ico {
	opacity: 0;
	transform: translateY(1em);
}
.survey_list .factor_notes.js-inview:not(.is-inview) dt,
.survey_list .factor_notes.js-inview:not(.is-inview) dd {
	opacity: 0;
	transform: translateX(-1em);
}
.survey_list .factor_graph.js-inview.is-inview .bar {
	transition: opacity .4s;
}
.survey_list .factor_graph.js-inview.is-inview .bar:nth-child(2) { transition-delay: .1s; }
.survey_list .factor_graph.js-inview.is-inview .bar:nth-child(3) { transition-delay: .2s; }
.survey_list .factor_graph.js-inview.is-inview .bar:nth-child(4) { transition-delay: .3s; }
.survey_list .factor_graph.js-inview.is-inview .bar:nth-child(5) { transition-delay: .4s; }
.survey_list .factor_graph.js-inview.is-inview .bar:nth-child(6) { transition-delay: .5s; }
.survey_list .factor_graph.js-inview.is-inview .bar:nth-child(7) { transition-delay: .6s; }
.survey_list .factor_graph.js-inview.is-inview .bar:nth-child(8) { transition-delay: .7s; }
.survey_list .factor_graph.js-inview.is-inview .bar:nth-child(9) { transition-delay: .8s; }
.survey_list .factor_graph.js-inview.is-inview .bar:nth-child(10) { transition-delay: .9s; }
.survey_list .factor_graph.js-inview.is-inview .bar::after {
	transition: clip-path .6s var(--easeOut);
	transition-delay: inherit;
}
.survey_list .factor_graph.js-inview.is-inview .icon .ico {
	transition: opacity .6s, transform .6s var(--easeOut);
	transition-delay: 1.1s;
}
.survey_list .factor_notes.js-inview.is-inview dt,
.survey_list .factor_notes.js-inview.is-inview dd {
	transition: opacity .4s, transform .4s var(--easeOut);
}
.survey_list .factor_notes.js-inview.is-inview dt:nth-of-type(2) { transition-delay: .1s; }
.survey_list .factor_notes.js-inview.is-inview dt:nth-of-type(3) { transition-delay: .2s; }
.survey_list .factor_notes.js-inview.is-inview dt:nth-of-type(4) { transition-delay: .3s; }
.survey_list .factor_notes.js-inview.is-inview dt:nth-of-type(5) { transition-delay: .4s; }
.survey_list .factor_notes.js-inview.is-inview dt:nth-of-type(6) { transition-delay: .5s; }
.survey_list .factor_notes.js-inview.is-inview dt:nth-of-type(7) { transition-delay: .6s; }
.survey_list .factor_notes.js-inview.is-inview dt:nth-of-type(8) { transition-delay: .7s; }
.survey_list .factor_notes.js-inview.is-inview dt:nth-of-type(9) { transition-delay: .8s; }
.survey_list .factor_notes.js-inview.is-inview dt:nth-of-type(10) { transition-delay: .9s; }

.survey_list .factor_notes.js-inview.is-inview dd:nth-of-type(1) { transition-delay: .1s; }
.survey_list .factor_notes.js-inview.is-inview dd:nth-of-type(2) { transition-delay: .2s; }
.survey_list .factor_notes.js-inview.is-inview dd:nth-of-type(3) { transition-delay: .3s; }
.survey_list .factor_notes.js-inview.is-inview dd:nth-of-type(4) { transition-delay: .4s; }
.survey_list .factor_notes.js-inview.is-inview dd:nth-of-type(5) { transition-delay: .5s; }
.survey_list .factor_notes.js-inview.is-inview dd:nth-of-type(6) { transition-delay: .6s; }
.survey_list .factor_notes.js-inview.is-inview dd:nth-of-type(7) { transition-delay: .7s; }
.survey_list .factor_notes.js-inview.is-inview dd:nth-of-type(8) { transition-delay: .8s; }
.survey_list .factor_notes.js-inview.is-inview dd:nth-of-type(9) { transition-delay: .9s; }
.survey_list .factor_notes.js-inview.is-inview dd:nth-of-type(10) { transition-delay: 1s; }
.survey_list .factor_notes.js-inview.is-inview .note {
	transition-delay: 1.2s;
}

/**
 * Modal contents
 * ---------------------------------------- */
.survey_detail {
	display: grid;
	justify-items: center;
}
.survey_detail > .title {
	position: relative;
	width: fit-content;
	padding: .7em 1.2em;
	font-size: clamp(1.5rem, 30vw / 10.8, 1.875rem);
}
.survey_detail > .image + .title {
	margin-top: 80px;
}
.survey_detail > .title .c-bracket {
	--h: 100%;
	--v: 48px;
	top: 100%;
	width: calc(100% + 1em);
}
.survey_detail > .image {
	margin-top: 48px;
}
.survey_detail > .paragraph {
	margin-top: 72px;
}
.survey_detail > .image .note {
	margin-top: .5em;
	font-size: clamp(.625rem, 10vw / 3.75, .75rem);
	text-align: right;
}
@media screen and (max-width: 767px) {
	.survey_detail > .title {
		font-size: max(20vw / 3.75, 1.25rem);
	}
}

/* :::::: 社員の年齢分布 :::::: */
.c-bargraph {
	--barwidth: 46px;
	--hnotespace: 80px;
	--scalespace: 24px;
	--bargap: 16px;
	display: grid;
	grid-auto-flow: column;
	align-items: end;
	column-gap: var(--bargap);
	position: relative;
	width: 100%;
	height: 260px;
	margin-bottom: var(--hnotespace);
	margin-left: var(--scalespace);
	padding-left: calc(var(--bargap) * 1.2);
	border-bottom: 1px solid currentcolor;
}
.modal_age .c-bargraph.-g2 {
	--scalespace: 40px;
	--bargap: 40px;
	padding-right: var(--bargap);
}
.c-bargraph .item {
	--p: 0;
	position: relative;
	width: var(--barwidth);
}
.c-bargraph.-g1 .item {
	height: calc(var(--p) * 4%);
}
.c-bargraph.-g2 .item {
	height: calc(var(--p) / 300 * 100%);
}
.c-bargraph .label {
	position: absolute;
	top: 100%;
	right: 0;
	font-size: .875rem;
	line-height: 1.2;
	white-space: nowrap;
	transform-origin: right bottom;
	transform: rotate(-45deg) translate(-1em, -.5em);
}
.c-bargraph .scale {
	display: flex;
	flex-direction: column-reverse;
	justify-content: space-between;
	align-items: end;
	position: absolute;
	left: calc(var(--scalespace) * -1 + 1px);
	width: var(--scalespace);
	height: 100%;
	padding-right: .5em;
	border-right: 1px solid currentcolor;
	font-size: .875rem;
	line-height: 1.2;
}
.c-bargraph .bar {
	height: 100%;
	background: var(--themegrad);
	border-radius: 5px 5px 0 0;
}
.c-bargraph .bar .val {
	position: absolute;
	top: 0;
	width: 100%;
	color: white;
	font-size: .9375rem;
	font-weight: 500;
	text-align: center;
}
.modal_age .c-bargraph .item:nth-child(n+8) .val {
	top: -2em;
	color: var(--themecolor);
}
.c-bargraph .vnote,
.c-bargraph .hnote {
	position: absolute;
	font-size: .75rem;
	line-height: 1.4;
	text-align: center;
}
.c-bargraph .vnote {
	top: 0;
	right: calc(100% + var(--scalespace) + .5em);
	height: 100%;
	writing-mode: vertical-lr;
	white-space: pre;
}
.c-bargraph .hnote {
	right: 0;
	top: calc(100% + var(--hnotespace) + .5em);
	left: 0;
}
@media screen and (max-width: 767px) {
	.c-bargraph {
		--barwidth: calc(24vw / 3.75);
		--hnotespace: max(64vw / 3.75, 64px);
		--scalespace: max(18vw / 3.75, 16px);
		--bargap: calc(4vw / 3.75);
		height: calc(240vw / 3.75);
		padding-left: calc(var(--bargap) * 2);
	}
	.modal_age .c-bargraph.-g2 {
		--barwidth: calc(32vw / 3.75);
		--scalespace: max(28vw / 3.75, 28px);
		--bargap: calc(8vw / 3.75);
	}
	.c-bargraph .label,
	.c-bargraph .scale {
		font-size: max(12vw / 3.75, .75rem);
	}
	.c-bargraph .bar .val {
		font-size: max(14vw / 3.75, .875rem);
	}
	.modal_age .c-bargraph.-g1 .bar .val {
		padding-top: .5em;
		/* MEMO: Safari で小数点がズレる
		writing-mode: vertical-lr;
		white-space: pre; */
		transform: rotate(90deg);
		margin-left: .3em;
	}
	.c-bargraph .vnote,
	.c-bargraph .hnote {
		font-size: max(10vw / 3.75, .625rem);
	}
}

/* :::::: 管理職の女性比率 :::::: */
.c-table {
	border-collapse: separate;
	border-spacing: 1px;
}
.c-table th,
.c-table td {
	padding: 1em;
	line-height: 1.2;
	font-weight: 500;
	white-space: nowrap;
}
.c-table th {
	color: white;
	font-size: .75rem;
	background: var(--themegrad);
}
.c-table thead th {
	border-radius: 5px 5px 0 0;
}
.c-table tbody th {
	border-radius: 5px 0 0 5px;
}
.c-table .blank {
	background: none;
}
.c-table td {
	width: 10em;
	font-size: .9375rem;
	text-align: center;
	background: #f4f4f4;
}
@media screen and (max-width: 767px) {
	.c-table th {
		font-size: max(12vw / 3.75, .75rem);
	}
	.c-table td {
		font-size: max(14vw / 3.75, .875rem);
	}
}

/* :::::: 新卒の出身学部の分布 :::::: */
.department_graph {
	position: relative;
	width: 320px;
	height: 320px;
	margin-top: 48px;
}
.department_graph .graph {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.department_graph .item {
	position: absolute;
	color: white;
	line-height: 1.2;
	font-weight: 500;
	white-space: nowrap;
	text-align: center;
}
.department_graph .item:nth-child(n+8) {
	display: flex;
	align-items: baseline;
	color: var(--themecolor);
}
.department_graph .item dt {
	font-size: .875rem;
}
.department_graph .item dd {
	font-size: .9375rem;
	font-family: var(--fontEn);
}
.department_graph .item .num {
	font-size: 133%;
}
.department_graph .item .line {
	position: absolute;
	overflow: visible;
	fill: none;
	stroke: currentcolor;
}
.department_graph .item:nth-child(1) { top: 24%; right: 20%; }
.department_graph .item:nth-child(2) { top: 60%; right: 16%; }
.department_graph .item:nth-child(3) { top: 80%; left: 43%; }
.department_graph .item:nth-child(4) { top: 71%; left: 16%; }
.department_graph .item:nth-child(5) { top: 52%; left: 4%; }
.department_graph .item:nth-child(6) { top: 35%; left: 7%; }
.department_graph .item:nth-child(7) { top: 21%; left: 13%; }
.department_graph .item:nth-child(8) { top: 5%; right: 105%; }
.department_graph .item:nth-child(9) { top: -2%; right: 95%; }
.department_graph .item:nth-child(10) { top: -9%; right: 85%; }
.department_graph .item:nth-child(11) { top: -16%; right: 70%; }
.department_graph .item:nth-child(n+8) .line { top: .7em; left: 100%; }
.department_graph .item:nth-child(8) .line { width: 88px; height: 8px; }
.department_graph .item:nth-child(9) .line { width: 104px; height: 12px; }
.department_graph .item:nth-child(10) .line { width: 94px; height: 24px; }
.department_graph .item:nth-child(11) .line { width: 58px; height: 46px; }
@media screen and (max-width: 767px) {
	.department_graph {
		width: calc(280vw / 3.75);
		height: calc(280vw / 3.75);
	}
	.department_graph .item dt { font-size: max(.6875rem, 14vw / 3.75); }
	.department_graph .item dd { font-size: max(.75rem, 15vw / 3.75); 
	}
	.department_graph .item:nth-child(n+8) dt { font-size: max(.625rem, 10vw / 3.75); }
	.department_graph .item:nth-child(n+8) dd { font-size: max(.625rem, 12vw / 3.75); }
	.department_graph .item:nth-child(8) { right: 86%; }
	.department_graph .item:nth-child(9) { right: 77%; }
	.department_graph .item:nth-child(10) { right: 69%; }
	.department_graph .item:nth-child(11) { right: 60%; }
	.department_graph .item:nth-child(8) .line { width: calc(28vw / 3.75); height: calc(4vw / 3.75); }
	.department_graph .item:nth-child(9) .line { width: calc(40vw / 3.75); height: calc(10vw / 3.75); }
	.department_graph .item:nth-child(10) .line { width: calc(37vw / 3.75); height: calc(23vw / 3.75); }
	.department_graph .item:nth-child(11) .line { width: calc(24vw / 3.75); height: calc(42vw / 3.75); }
}

/* :::::: 過去3年間の中途入社の割合 :::::: */
.c-barlist .item {
	display: grid;
	grid-template-columns: 5em 1fr;
	align-items: center;
}
.c-barlist .label {
	padding: 1.4em 0;
	border-right: 1px solid currentcolor;
	font-size: .8125rem;
	line-height: 1;
	font-weight: 500;
}
.c-barlist .label .num {
	font-size: 138%;
}
.c-barlist .bar {
	display: grid;
	align-items: center;
	position: relative;
	width: 100%;
	height: 32px;
	border-radius: 0 5px 5px 0;
	background: var(--themegrad_lr);
}
.c-barlist .bar .val {
	position: absolute;
	left: calc(100% + 1em);
	color: var(--themecolor);
	font-size: 1.125rem;
	line-height: 1;
	font-family: var(--fontEn);
	font-weight: 500;
}
.c-barlist .bar .val .num {
	font-size: 166%;
}
.modal_join .c-barlist {
	width: 540px;
}
.modal_join .c-barlist .item {
	--p: 0;
}
.modal_join .c-barlist .bar {
	width: calc(var(--p) * 1% - 1.5em);
}
@media screen and (max-width: 767px) {
	.c-barlist .item {
		grid-template-columns: 4em 1fr;
	}
	.c-barlist .label {
		font-size: max(10vw / 3.75, .625rem);
	}
	.c-barlist .bar .val {
		font-size: max(12vw / 3.75, .75em);
	}
	.modal_join .c-barlist {
		width: max(300vw / 3.75, 280px);
	}
}

/* :::::: 職種ごとの魅力 :::::: */
.factor_detail {
	display: grid;
	padding: 24px 0;
	border-bottom: 1px solid #e6e6e6;
}
.factor_detail:first-of-type {
	margin-top: 64px;
}
.factor_detail .title {
	font-size: clamp(1.125rem, 21vw / 10.8, 1.3125rem);
}
.factor_detail .paragraph {
	margin-top: 1em;
}
.factor_detail .icon {
	order: -1;
}
.factor_detail .ico {
	width: 100%;
	height: auto;
	fill: none;
	stroke: var(--themecolor);
	stroke-linecap: round;
	stroke-linejoin: round;
}
.factor_detail .bln {
	position: relative;
	padding: 40px;
	border: 1px solid currentcolor;
	border-radius: calc(var(--radius) * 2);
}
.factor_detail .tail {
	position: absolute;
	width: 1.4em;
	height: 1em;
	fill: white;
	stroke: currentcolor;
	stroke-width: 1;
	transform: scaleX(-1);
}
@media print, (min-width: 768px) {
	.factor_detail {
		grid-template-columns: 144px 1fr;
		align-items: center;
		column-gap: 40px;
	}
	.factor_detail .tail {
		top: calc(50% - .5em);
		right: 100%;
	}
}
@media screen and (max-width: 767px) {
	.factor_detail {
		justify-items: center;
		row-gap: 24px;
	}
	.factor_detail .bln {
		padding: max(24vw / 3.75, 24px);
	}
	.factor_detail .title {
		font-size: max(18vw / 3.75, 1.125rem);
	}
	.factor_detail .icon {
		width: max(200vw / 3.75, 200px);
	}
	.factor_detail .tail {
		overflow: visible;
		bottom: calc(100% + .25em);
		left: calc(50% - .7em);
	}
	.factor_detail .tail use {
		transform-origin: 50% 50%;
		transform: rotate(-90deg);
	}
}

/* :::::: ワークライフバランスの満足度 :::::: */
.satisfaction_graph {
	--barwidth: 40px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-content: center;
	align-items: baseline;
	z-index: 0;
	position: relative;
	width: calc(240px + var(--barwidth) * 2.8);
	height: calc(240px + var(--barwidth) * 2.8);
	padding: calc(var(--barwidth) * 1.4);
	padding-top: calc(var(--barwidth) * 1.8);
	border-radius: 320px;
	color: var(--themecolor);
	font-size: 1.75rem;
	line-height: .9;
	font-weight: 500;
	background: #e6e6e6;
}
.satisfaction_graph .graph {
	z-index: -1;
	position: absolute;
	inset: 0;
	border-radius: inherit;
}
.satisfaction_graph .graph::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: var(--themegrad);
	-webkit-mask: conic-gradient(#fff 92%, #fff0 92% 100%, #fff 100%);
	mask: conic-gradient(#fff 92%, #fff0 92% 100%, #fff 100%);
}
.satisfaction_graph .graph::after {
	content: "";
	position: absolute;
	inset: var(--barwidth);
	border-radius: inherit;
	background: white;
}
.satisfaction_graph > * {
	z-index: 1;
}
.satisfaction_graph .sub {
	font-size: 125%;
	letter-spacing: .2em;
}
.satisfaction_graph .main {
	font-size: 286%;
	font-weight: inherit;
	letter-spacing: revert;
}
.satisfaction_graph .main .num {
	position: relative;
	top: .05em;
	font-size: 153.75%;
	font-family: var(--fontEn);
}
.satisfaction_graph .ico {
	width: 3em;
	height: auto;
	margin: .5em 0 0 -.5em;
}
@media screen and (max-width: 767px) {
	.satisfaction_graph {
		--barwidth: calc(32vw / 3.75);
		width: calc(200vw / 3.75 + var(--barwidth) * 2.8);
		height: calc(200vw / 3.75 + var(--barwidth) * 2.8);
		font-size: calc(24vw / 3.75);
	}
}

/* :::::: 社員同士のコミュニケーション :::::: */
.modal_type .type_detail {
	display: grid;
	justify-items: center;
	position: relative;
	margin-top: 80px;
}
.modal_type .type_title {
	padding-bottom: .3em;
	border-bottom: 1px solid currentcolor;
	font-size: 1.3125rem;
}
.modal_type .type_detail .deco {
	position: absolute;
	top: 1em;
	color: var(--themecolor);
	font-size: 200%;
	writing-mode: vertical-lr;
}
.modal_type .type_detail .deco::after {
	content: "";
	display: inline-block;
	position: relative;
	right: .1em;
	height: 2em;
	margin-top: .3em;
	border-right: 1.5px solid currentcolor;
	vertical-align: baseline;
}
.modal_type .paragraph {
	position: relative;
	margin: 40px 2em 0;
	padding: 0 2em 1em;
	border-bottom: 2.8px solid #e6e6e6;
}
.modal_type .paragraph::first-letter {
	font-size: 180%;
	line-height: 1.2;
	font-weight: 500;
}
.modal_type .paragraph .tail {
	position: absolute;
	top: calc(50% - .7em);
	width: 2em;
	height: 1.4em;
	fill: white;
	stroke: #e6e6e6;
	stroke-width: 2.8;
}
.modal_type .paragraph.-l {
	margin-left: 4em;
	border-left: 2.8px solid #e6e6e6;
	border-bottom-left-radius: calc(var(--radius) * 2);
}
.modal_type .paragraph.-l .tail {
	right: 100%;
	transform: scaleX(-1);
}
.modal_type .paragraph.-r {
	margin-right: 4em;
	border-right: 2.8px solid #e6e6e6;
	border-bottom-right-radius: calc(var(--radius) * 2);
}
.modal_type .paragraph.-r .tail {
	left: 100%;
}
@media print, (min-width: 768px) {
	.modal_type .type_detail:nth-of-type(1) .deco {
		left: 100%;
	}
	.modal_type .type_detail:nth-of-type(2) .deco {
		right: 100%;
	}
}
@media screen and (max-width: 767px) {
	.modal_type .type_title {
		font-size: max(18vw / 3.75, 1.125rem);
	}
	.modal_type .paragraph {
		margin-inline: 1em;
	}
	.modal_type .paragraph.-l {
		margin-left: 1em;
	}
	.modal_type .paragraph.-r {
		margin-right: 1em;
	}
	.modal_type .type_detail .deco {
		color: var(--bggray);
		line-height: 1;
	}
	.modal_type .type_detail:nth-of-type(1) .deco {
		right: max(-16vw / 3.75, -16px);
	}
	.modal_type .type_detail:nth-of-type(2) .deco {
		left: max(-16vw / 3.75, -16px);
	}
}

/* :::::: Analyze in more detail. :::::: */
.more_detail {
	display: grid;
	justify-items: center;
	margin-top: 80px;
	padding: 40px 56px;
}
.more_detail .title {
	color: white;
	font-size: clamp(2.5rem, 49vw / 10.8, 3.0625rem);
	line-height: 1.2;
	font-family: var(--fontEn);
	font-weight: 600;
}
.more_detail .paragraph {
	margin-top: 1em;
}
@media screen and (max-width: 767px) {
	.more_detail {
		margin-right: .5em;
		padding: max(24vw / 3.75, 24px) max(16vw / 3.75, 16px);
	}
	.more_detail .title {
		font-size: max(20vw / 3.75, 1.25rem);
	}
}





/**
 * Project story
 * プロジェクトストーリー
 * -------------------------------------------------------------------------------- */
.page-project .page_title .P path { transform-origin: 14px 104px; }
.page-project .page_title .r path:nth-child(1) { transform-origin: 84px 45px; }
.page-project .page_title .r path:nth-child(2) { transform-origin: 91px 63px; }
.page-project .page_title .o path { transform-origin: 151px 76px }
.page-project .page_title .j path { transform-origin: 189px 131px; }
.page-project .page_title .j circle { transform-origin: 202px 31px; }
.page-project .page_title .e path:nth-child(1) { transform-origin: 224px 77px; }
.page-project .page_title .e path:nth-child(2) { transform-origin: 277px 76px; }
.page-project .page_title .c g { transform-origin: 318px 79px; }
.page-project .page_title .c path { stroke-dasharray: 149px 149px; }
.page-project .page_title .t path:nth-child(1) { transform-origin: 377px 110px; }
.page-project .page_title .t path:nth-child(2) { transform-origin: 350px 53px;}
.page-project .page_title .s path { transform-origin: 470px 69px; }
.page-project .page_title .t2 path:nth-child(1) { transform-origin: 537px 110px; }
.page-project .page_title .t2 path:nth-child(2) { transform-origin: 510px 53px; }
.page-project .page_title .o2 path { transform-origin: 590px 78px; }
.page-project .page_title .r2 polyline { transform-origin: 640px 48px; }
.page-project .page_title .r2 path { transform-origin: 645px 75px; }
.page-project .page_title .y path { transform-origin: 708px 92px; }

/* Standby position */
.page-project .page_title.is-standby .o path,
.page-project .page_title.is-standby .r path,
.page-project .page_title.is-standby .j path,
.page-project .page_title.is-standby .e path,
.page-project .page_title.is-standby .t path:nth-child(1),
.page-project .page_title.is-standby .s path,
.page-project .page_title.is-standby .t2 path:nth-child(1),
.page-project .page_title.is-standby .o2 path,
.page-project .page_title.is-standby .r2 path,
.page-project .page_title.is-standby .y path {
	opacity: 0;
}
.page-project .page_title.is-standby .P path { transform: translateY(104%); }
.page-project .page_title.is-standby .r path:nth-child(1) { transform: scaleY(2) translateY(-100%); }
.page-project .page_title.is-standby .r path:nth-child(2) { transform: rotateX(-45deg) rotateY(-90deg) translate(10%, -80%); }
.page-project .page_title.is-standby .o path { transform: scale(.5) }
.page-project .page_title.is-standby .j circle { transform: scale(0); }
.page-project .page_title.is-standby .j path { transform: rotateZ(20deg) rotateY(120deg) translateY(100px); }
.page-project .page_title.is-standby .e path:nth-child(1) { transform: rotateX(100deg) rotateY(-100deg) translate(-40px, -40px); }
.page-project .page_title.is-standby .e path:nth-child(2) { transform: scaleX(2) translateX(30%); }
.page-project .page_title.is-standby .c g { transform: rotate(60deg); }
.page-project .page_title.is-standby .c path { stroke-dashoffset: -149px; }
.page-project .page_title.is-standby .t path:nth-child(1) { transform: rotateX(-40deg) rotateY(80deg) translate(40px, -40px); }
.page-project .page_title.is-standby .t path:nth-child(2) { transform: scaleX(0); }
.page-project .page_title.is-standby .s path:nth-child(1) { transform: rotateX(-20deg) rotateY(-90deg) translate(20px, -50px); }
.page-project .page_title.is-standby .s path:nth-child(2) { transform: rotateX(-20deg) rotateY(-90deg) translate(-20px, 50px); }
.page-project .page_title.is-standby .t2 path:nth-child(1) { transform: rotateX(80deg) rotateY(-40deg) translate(40px, 40px); }
.page-project .page_title.is-standby .t2 path:nth-child(2) { transform: scaleX(0); }
.page-project .page_title.is-standby .o2 path { transform: scale(.5); }
.page-project .page_title.is-standby .r2 polyline { transform: scaleY(0); }
.page-project .page_title.is-standby .r2 path { transform: rotateY(100deg) translateY(40px); }
.page-project .page_title.is-standby .y path { transform: rotateX(90deg) rotateY(90deg) translate(10px, -60px); }

/* タイミング */
.page-project .page_title.is-anim .P path               { transition-delay: 0s; }
.page-project .page_title.is-anim .r path:nth-child(1)  { transition-delay: .1s; }
.page-project .page_title.is-anim .r path:nth-child(2)  { transition-delay: .2s; }
.page-project .page_title.is-anim .o path               { transition-delay: .3s; }
.page-project .page_title.is-anim .j circle             { transition-delay: .9s; }
.page-project .page_title.is-anim .j path               { transition-delay: .5s; }
.page-project .page_title.is-anim .e path:nth-child(1)  { transition-delay: .7s; }
.page-project .page_title.is-anim .e path:nth-child(2)  { transition-delay: .6s; }
.page-project .page_title.is-anim .c g,
.page-project .page_title.is-anim .c path               { transition-delay: .8s; }
.page-project .page_title.is-anim .t path:nth-child(1)  { transition-delay: .1s; }
.page-project .page_title.is-anim .t path:nth-child(2)  { transition-delay: .2s; }
.page-project .page_title.is-anim .s path:nth-child(1)  { transition-delay: .3s; }
.page-project .page_title.is-anim .s path:nth-child(2)  { transition-delay: .5s; }
.page-project .page_title.is-anim .t2 path:nth-child(1) { transition-delay: .4s; }
.page-project .page_title.is-anim .t2 path:nth-child(2) { transition-delay: .6s; }
.page-project .page_title.is-anim .o2 path              { transition-delay: .7s; }
.page-project .page_title.is-anim .r2 polyline          { transition-delay: .8s; }
.page-project .page_title.is-anim .r2 path              { transition-delay: .9s; }
.page-project .page_title.is-anim .y path               { transition-delay: .5s; }
.page-project .page_title.is-anim .sub                  { transition-delay: 1.1s; }

.page-project .page_title.is-anim .c path {
	transition-property: stroke-dashoffset;
	transition-duration: 1s;
	transition-timing-function: var(--easeExpo);
}
.page-project .page_title.is-anim .c g {
	transition-duration: .7s;
	transition-timing-function: var(--easeBack)
}
.page-project .page_title.is-anim .o path,
.page-project .page_title.is-anim .j circle,
.page-project .page_title.is-anim .o2 path {
	transition-duration: .4s;
	transition-timing-function: var(--easeBack)
}

.page-project .page_visual .title {
	padding-right: 4%;
	font-size: clamp(1.25rem, 32vw / 10.8, 2rem);
}
.page-project .page_visual .title .sub {
	font-size: clamp(.625rem, 14vw / 10.8, .875rem);
	text-transform: uppercase;
}
.page-project .page_lead {
	white-space: normal;
}
@media print, (min-width: 768px) {
	.page-project .page_visual {
		align-items: end;
	}
	.page-project .page_visual .title {
		margin-bottom: min(24vw / 10.8, 24px);
	}
}
@media screen and (max-width: 767px) {
	.page-project .page_visual {
		align-items: start;
	}
	.page-project .page_visual .title {
		font-size: calc(20vw / 3.75);
	}
	.page-project .page_visual .title .sub {
		font-size: max(12vw / 3.75, .75rem);
	}
	.page-project .page_lead {
		text-align: revert;
	}
}

/* Index list プロジェクトは画像が左 */
.page-project .c-indexlist .title {
	flex-direction: column;
	align-items: start;
	font-size: clamp(1.25rem, 28vw / 10.8, 1.75rem);
	line-height: 1.6;
}
.page-project .c-indexlist .title .t {
	position: relative;
	margin-top: .6em;
	padding-top: .6em;
}
.page-project .c-indexlist .title .c-bracket {
	top: 0;
}
.page-project .c-indexlist .num {
	height: 2em;
}
.page-project .c-indexlist .c-more {
	margin-top: 1.2em;
	margin-left: 0;
}
@media print, (min-width: 768px) {
	.page-project .c-indexlist .item {
		grid-template-columns: 42fr 58fr;
	}
	.page-project .c-indexlist .item::before {
		/* c-gridbox ズラし */
		right: 0;
		left: min(80vw / 10.8, 80px);
	}
	.page-project .c-indexlist .item .image {
		order: -1;
		top: calc(var(--translate_y) * -.5);
		right: auto;
		left: max(-24vw / 10.8, -24px);
	}
}
@media screen and (max-width: 767px) {
	.page-project .c-indexlist .title {
		font-size: max(18vw / 3.75, 1.125rem);
	}
}

/* Relation は文字サイズ調整 */
.page-project .relation_list .item {
	font-size: clamp(.8125rem, 21vw / 10.8, 1.3125rem);
}
.page-project .relation_list .item .num {
	font-size: clamp(.625rem, 15vw / 10.8, .9375rem);
}
@media screen and (max-width: 480px) {
	.page-project .relation_list .item {
		font-size: clamp(.8125rem, 18vw / 3.75, 1.3125rem);
	}
	.page-project .relation_list .item .num {
		font-size: clamp(.625rem, 13vw / 3.75, .9375rem);
	}
}

/* Object */
.project_column .c-column {
	position: relative;
}
.p-column1 .obj-bargraph {
	width: 254px;
	height: 600px;
}
.p-column2 .obj-pointgraph {
	bottom: -2%;
	left: -12%;
	width: 264px;
}
.p-column2 .obj-pointgraph use {
	transform: rotate(160deg);
}
.p-project-story-03 .p-column2 .obj-pointgraph {
	right: -12%;
	left: auto;
}
.p-project-story-03 .p-column4 .obj-pointgraph {
	bottom: -8%;
	left: -8%;
	width: 264px;
}
.p-column3 .obj-bargraph {
	right: 2%;
	width: 284px;
	height: 454px;
}
.p-column5 .obj-pointgraph {
	bottom: -2%;
	right: -8%;
	width: 264px;
}
.p-column5 .obj-pointgraph use {
	transform: rotate(90deg) scaleY(-1);
}
.p-column6 .obj-bargraph {
	width: 200px;
	height: 460px;
}
.p-column7 .obj-pointgraph {
	top: 96%;
	left: -8%;
	width: 264px;
}
.p-column7 .obj-pointgraph use {
	transform: scaleX(-1);
}
.page-project .c-relation .obj-bargraph {
	top: -20%;
	width: 264px;
	height: 464px;
}
@media print, (min-width: 768px) {
	.p-column1 .obj-bargraph {
		top: -12%;
		left: -10%;
	}
	.p-column3 .obj-bargraph {
		top: -24%;
	}
	.p-column6 .obj-bargraph {
		top: -8%;
		right: 50%;
	}
	.page-project .c-relation .obj-bargraph {
		left: 78%;
	}
}
@media screen and (max-width: 767px) {
	.p-column1 .obj-bargraph {
		top: 48%;
		right: 0;
		width: calc(254vw / 7.68);
		height: calc(600vw / 7.68);
	}
	.p-column2 .obj-pointgraph {
		bottom: -10%;
		left: 4%;
		width: calc(264vw / 7.68);
	}
	.p-project-story-03 .p-column4 .obj-pointgraph {
		width: calc(264vw / 7.68);
	}
	.p-column3 .obj-bargraph {
		bottom: -12%;
		width: calc(284vw / 7.68);
		height: calc(454vw / 7.68);
	}
	.p-column5 .obj-pointgraph {
		right: 0;
		bottom: -4%;
		width: calc(264vw / 7.68);
	}
	.p-column6 .obj-bargraph {
		top: 48%;
		right: 2%;
		width: calc(200vw / 7.68);
		height: calc(460vw / 7.68);
	}
	.p-column7 .obj-pointgraph {
		left: 0;
		width: calc(264vw / 7.68);
	}
	.page-project .c-relation .obj-bargraph {
		top: -10%;
		right: 2%;
		width: calc(264vw / 7.68);
		height: calc(464vw / 7.68);
	}
}

/**
 * プロジェクトメンバー
 * ---------------------------------------- */
.project_member {
	width: var(--contentwidth);
	max-width: 1080px;
	margin: 96px auto 0;
}
.project_member .member_list {
	padding: 80px 56px;
}
.project_member .member_list .item {
	display: grid;
	grid-template: auto auto 1fr / 50% 50%;
	justify-content: center;
	align-content: start;
	position: relative;
	line-height: 1.5;
	font-weight: 500;
	white-space: nowrap;
}
.project_member .member_list .item > * {
	grid-column: 1;
}
.project_member .member_list .name {
	font-size: clamp(1.25rem, 28vw / 10.8, 1.75rem);
}
.project_member .member_list .part,
.project_member .member_list .join {
	font-size: clamp(.75rem, 15vw / 10.8, .9375rem);
}
.project_member .member_list .part small {
	font-size: 80%;
}
.project_member .member_list .join {
	grid-row: 1;
	margin-top: 24px;
}
.project_member .member_list .part {
	grid-row: 2;
}
.project_member .member_list .name {
	grid-row: 3;
}
.project_member .member_list .image {
	grid-area: 1 / 1 / 4 / 3;
	justify-self: end;
	width: min(204vw / 10.8, 204px);
}
.project_member .member_list .image::before {
	content: "";
	z-index: -1;
	position: absolute;
	top: 25%;
	left: 10%;
	width: 100%;
	height: 50%;
	background: linear-gradient(to left, #ebebeb, #fff);
}
@media print, (min-width: 768px) {
	.project_member .member_list {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 48px;
	}
	.p-project-story-02 .project_member .member_list {
		grid-template-columns: repeat(2, 1fr);
		justify-content: center;
	}
	.p-project-story-02 .project_member .member_list .item {
		width: min(200vw / 7.68, 320px);
	}
	.p-project-story-02 .project_member .member_list .item:nth-child(2n+1) {
		justify-self: end;
	}
	.project_member .member_list .join,
	.project_member .member_list .part,
	.project_member .member_list .name {
		margin-left: -14px;
	}
	.project_member .member_list .image {
		margin-right: max(-18vw / 10.8, -18px);
	}
	/* MEMO: 市原さんと清水谷さんだけ横幅広い */
	.p-project-story-03 .project_member .member_list .item:nth-child(1) .image {
		width: min(246vw / 10.8, 246px);
		margin-inline: max(-39vw / 10.8, -39px);
	}
	.p-project-story-03 .project_member .member_list .item:nth-child(2) .image {
		width: min(256vw / 10.8, 256px);
		margin-right: max(-70vw / 10.8, -70px);
	}
}
@media screen and (max-width: 767px) {
	.project_member {
		max-width: 80%;
	}
	.project_member .member_list {
		padding: min(80vw / 3.75, 80px) calc(24vw / 3.75);
	}
	.project_member .member_list .name {
		font-size: max(20vw / 3.75, 1.25rem);
	}
	.project_member .member_list .part,
	.project_member .member_list .join {
		font-size: max(12vw / 3.75, .75rem);
	}
	.project_member .member_list .join {
		margin-top: max(56vw / 3.75, 56px);
	}
	.project_member .member_list .image {
		width: max(160vw / 3.75, 160px);
		margin-right: min(-8vw / 3.75, -8px);
	}
	/* MEMO: 市原さんと清水谷さんだけ横幅広い */
	.p-project-story-03 .project_member .member_list .item:nth-child(1) .image {
		width: max(193vw / 3.75, 193px);
		margin-right: min(-16vw / 3.75, -16px);
	}
	.p-project-story-03 .project_member .member_list .item:nth-child(2) .image {
		width: max(201vw / 3.75, 201px);
		margin-right: min(-48vw / 3.75, -48px);
	}
	.project_member .member_list .image::before {
		top: 20%;
		width: 80%;
	}
}

.project_column + .project_column {
	margin: 0 auto;
	margin-top: min(112vw / 10.8, 112px);
	padding-top: min(112vw / 10.8, 112px);
	border-top: 1px solid;
	border-image: linear-gradient(var(--bordergray), var(--bordergray)) 1 / 1 / 0 50vw;
}
@media print, (min-width: 768px) {
	.project_column:nth-of-type(2) {
		padding-top: min(144vw / 10.8, 144px);
	}
	.project_column:nth-of-type(3) {
		padding-top: min(200vw / 10.8, 200px);
	}
}
@media screen and (max-width: 767px) {
	.project_column + .project_column {
		margin-top: max(64vw / 3.75, 64px);
		padding-top: max(64vw / 3.75, 64px);
	}
}

/* MEMO: 画像レイアウトは component Column をカスタマイズ */
.project_column .c-column {
	column-gap: min(80vw / 14, 80px);
}
.project_column .c-column .text > :first-child {
	margin-top: 0;
}
/* MEMO: 最初のカラムは詰める */
.project_column .p-column3,
.project_column .p-column6 {
	margin-top: 0;
}
.project_column .p-column2,
.project_column .p-column7 {
	margin-top: min(80vw / 14, 80px);
}
.project_column .p-column4,
.project_column .p-column5,
.project_column .c-column .img2 {
	margin-top: min(40vw / 14, 40px);
}
@media print, (min-width: 768px) {
	.project_column .p-column1 {
		align-items: start;
	}
	.project_column .p-column1 .image,
	.project_column .p-column4 .image {
		margin-right: var(--breakout);
	}
	.project_column .p-column2 {
		grid-template-columns: 2fr 5fr;
		align-items: start;
		margin-top: 80px;
	}
	/* MEMO: Project story 01 のみ */
	.p-project-story-01 .project_column .p-column2 {
		column-gap: min(48vw / 14, 48px);
	}
	.p-project-story-01 .project_column .p-column2 .image {
		margin-left: calc(var(--sidegap) * -1);
	}
	.project_column .p-column3 .image {
		margin-left: calc(var(--sidegap) * -1);
	}
	.project_column .p-column3 {
		grid-template-columns: 1.1fr .9fr;
	}
	.project_column .p-column3 .image {
		margin-top: -80px;
	}
	.project_column .p-column4 {
		grid-template-columns: 5fr 2fr;
		margin-top: 40px;
	}
	.project_column .p-column5 {
		grid-template-columns: 2fr 5fr;
		align-items: start;
		column-gap: min(48vw / 14, 48px);
		margin-top: 40px;
	}
	.project_column .p-column6 {
		align-items: start;
	}
	.project_column .p-column6 .image {
		margin-right: var(--breakout);
		margin-top: -80px;
	}
	.project_column .p-column7 {
		grid-template-columns: 2fr 5fr;
		align-items: start;
		margin-top: 80px;
	}
	.project_column .c-column .img1 {
		margin-left: var(--breakout);
	}
	.project_column .c-column .img2 {
		margin-left: auto;
	}
}
@media screen and (max-width: 1399px) {
	.project_column .p-column1 .image,
	.project_column .p-column4 .image,
	.project_column .p-column6 .image {
		border-radius: var(--radius) 0 0 var(--radius);
	}
	.project_column .p-column1 .-shadow::before,
	.project_column .p-column4 .-shadow::before,
	.project_column .p-column6 .-shadow::before {
		right: var(--translate_x);
	}
	.project_column .c-column .img1 {
		border-radius: 0 var(--radius) var(--radius) 0;
	}
	.project_column .c-column .img1.-shadow::before {
		left: calc(var(--translate_x) * -1);
	}
}
@media screen and (max-width: 767px) {
	.project_column .p-column2,
	.project_column .p-column4,
	.project_column .p-column5,
	.project_column .p-column7,
	.project_column .c-column .img2 {
		margin-top: min(40vw / 3.75, 40px);
	}
	/* MEMO: セクションごとのメイン画像は大きめで順に左右に寄せる */
	.project_column .p-column1 .image,
	.project_column .p-column3 .image,
	.project_column .p-column6 .image {
		width: calc(100% + var(--sidegap));
	}
	/* MEMO: 影は寄せた方へ落とす */
	.project_column .p-column1 .-shadow::before,
	.project_column .p-column6 .-shadow::before {
		left: calc(var(--translate_x) * -2);
	}
	.project_column .c-column .image {
		margin-right: calc(var(--sidegap) * -1);
	}
	.project_column .c-column.-r .image {
		margin-right: auto;
		margin-left: calc(var(--sidegap) * -1);
		border-radius: 0 var(--radius) var(--radius) 0;
	}
	/* MEMO: ふたつめのブロックに画像 2 枚あるので寄せない */
	.p-project-story-02 .project_column .p-column2 .image,
	.p-project-story-03 .project_column .p-column2 .image {
		margin-left: auto;
	}
	.project_column .p-column7.-r .image {
		margin-left: auto;
	}
	.project_column .c-column .img1 {
		margin-left: calc(var(--sidegap) * -2);
		margin-right: calc(var(--sidegap) * 2);
	}
	.project_column .c-column .img2 {
		margin-right: calc(var(--sidegap) * -2);
		margin-left: calc(var(--sidegap) * 2);
		border-radius: var(--radius) 0 0 var(--radius);
	}
	.project_column .c-column .img2.-shadow::before {
		right: var(--translate_x);
	}
}





/**
 * Interview index
 * 社員インタビューイデックス
 * -------------------------------------------------------------------------------- */
.page-interview .page_title .I rect { transform-origin: 5px 1px; }
.page-interview .page_title .n path:nth-child(1) { transform-origin: 40px 109px; }
.page-interview .page_title .n path:nth-child(2) { transform-origin: 48px 63px; }
.page-interview .page_title .t path { transform-origin: 124px 109px; }
.page-interview .page_title .t rect { transform-origin: 97px 53px; }
.page-interview .page_title .e path:nth-child(1) { transform-origin: 173px 77px; }
.page-interview .page_title .e path:nth-child(2) { transform-origin: 149px 77px; }
.page-interview .page_title .r polyline { transform-origin: 219px 47px; }
.page-interview .page_title .r path { transform-origin: 224px 73px; }
.page-interview .page_title .v polygon { transform-origin: 288px 92px; }
.page-interview .page_title .i circle { transform-origin: 333px 29px; }
.page-interview .page_title .i path { transform-origin: 333px 47px; }
.page-interview .page_title .e2 path { transform-origin: 376px 83px; }
.page-interview .page_title .w polygon { transform-origin: 434px 90px; }
.page-interview .page_title .w polygon { transform-origin: 475px 90px; }

/* Standby position */
.page-interview .page_title.is-standby .n path,
.page-interview .page_title.is-standby .t path,
.page-interview .page_title.is-standby .e path,
.page-interview .page_title.is-standby .r polyline,
.page-interview .page_title.is-standby .r path,
.page-interview .page_title.is-standby .v polygon,
.page-interview .page_title.is-standby .i path,
.page-interview .page_title.is-standby .e2 path,
.page-interview .page_title.is-standby .w polygon {
	opacity: 0;
}
.page-interview .page_title.is-standby .I rect { transform: scaleY(0); }
.page-interview .page_title.is-standby .n path:nth-child(1) { transform: scaleY(2) translateY(100%); }
.page-interview .page_title.is-standby .n path:nth-child(2) { transform: rotateX(-80deg) rotateY(40deg) translateY(80px); }
.page-interview .page_title.is-standby .t rect { transform: scaleX(0); }
.page-interview .page_title.is-standby .t path { transform: rotateX(30deg) rotateY(90deg) translate(40px, 40px); }
.page-interview .page_title.is-standby .e path:nth-child(1) { transform: scaleX(2) translateX(30%); }
.page-interview .page_title.is-standby .e path:nth-child(2) { transform: rotateX(40deg) rotateY(40deg) translate(20px, 60px); }
.page-interview .page_title.is-standby .r polyline { transform: scaleY(0); }
.page-interview .page_title.is-standby .r path { transform: rotateX(45deg) rotateY(80deg) translate(-10px, 40px); }
.page-interview .page_title.is-standby .v polygon:nth-child(1) { transform: rotateX(20deg) rotateY(80deg) translateY(-20px); }
.page-interview .page_title.is-standby .v polygon:nth-child(2) { transform: rotateX(-20deg) rotateY(-80deg) translateY(20px); }
.page-interview .page_title.is-standby .i circle { transform: scale(0); }
.page-interview .page_title.is-standby .i path { transform: scaleY(2) translateY(-100%); }
.page-interview .page_title.is-standby .e2 path:nth-child(1) { transform: rotateZ(100deg) rotateX(40deg) translate(-40px, 40px); }
.page-interview .page_title.is-standby .e2 path:nth-child(2) { transform: rotateX(-90deg) rotateY(-45deg) translate(40px, -80px); }
.page-interview .page_title.is-standby .w polygon:nth-child(1) { transform: rotateX(-90deg) rotateY(-60deg) translate(20px, -40px); }
.page-interview .page_title.is-standby .w polygon:nth-child(2) { transform: rotateX(90deg) rotateY(20deg) translate(-20px, 40px); }

/* タイミング */
.page-interview .page_title.is-anim .I rect                 { transition-delay: 0s; }
.page-interview .page_title.is-anim .n path:nth-child(1)    { transition-delay: .4s; }
.page-interview .page_title.is-anim .n path:nth-child(2)    { transition-delay: .2s; }
.page-interview .page_title.is-anim .t path                 { transition-delay: .1s; }
.page-interview .page_title.is-anim .t rect                 { transition-delay: .3s; }
.page-interview .page_title.is-anim .e path:nth-child(1)    { transition-delay: .4s; }
.page-interview .page_title.is-anim .e path:nth-child(2)    { transition-delay: .7s; }
.page-interview .page_title.is-anim .r polyline             { transition-delay: .3s; }
.page-interview .page_title.is-anim .r path                 { transition-delay: .5s; }
.page-interview .page_title.is-anim .v polygon:nth-child(1) { transition-delay: .7s; }
.page-interview .page_title.is-anim .v polygon:nth-child(2) { transition-delay: .8s; }
.page-interview .page_title.is-anim .i circle               { transition-delay: .9s; }
.page-interview .page_title.is-anim .i path                 { transition-delay: .4s; }
.page-interview .page_title.is-anim .e2 path:nth-child(1)   { transition-delay: .5s; }
.page-interview .page_title.is-anim .e2 path:nth-child(2)   { transition-delay: .6s; }
.page-interview .page_title.is-anim .w polygon:nth-child(1) { transition-delay: .7s; }
.page-interview .page_title.is-anim .w polygon:nth-child(2) { transition-delay: .8s; }
.page-interview .page_title.is-anim .sub                    { transition-delay: 1.1s; }

.page-interview .page_title.is-anim .i circle {
	transition-duration: .4s;
	transition-timing-function: cubic-bezier(.1,1.6,.6,1);
}

.page-interview .main_contents {
	padding-bottom: 0;
}
.page-interview .p-index + .l-footer {
	margin-top: 0;
}
.c-interviewlist {
	--ratio: 12;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: min(96vw / var(--ratio), 96px) min(32vw / var(--ratio), 32px);
	position: relative;
	width: var(--contentwidth);
	max-width: 1120px;
	margin: 112px auto 0;
	padding: 184px 0;
}
@media screen and (max-width: 767px) {
	/* MEMO: 767px 以下は 2 カラム */
	.c-interviewlist {
		--ratio: 7.68;
		grid-template-columns: repeat(2, 1fr);
		padding: 96px 0;
	}
}
@media screen and (max-width: 480px) {
	/* MEMO: 480px 以下は 1 カラム */
	.c-interviewlist {
		--ratio: 3.75;
		grid-template-columns: auto;
	}
}
/* gridbox */
.c-interviewlist::before {
	inset: 0 var(--breakout);
	border-width: 1px 0 0;
	border-radius: 0;
}
.c-interviewlist .item {
	--space: 32px;
	display: grid;
	z-index: 0;
	position: relative;
	padding: 32px;
	padding-right: min(16vw / var(--ratio), 16px);
	padding-left: min(40vw / var(--ratio), 40px);
	border-radius: var(--radius);
	background: white;
}
.c-interviewlist .image,
.c-interviewlist .text {
	grid-area: 1 / 1;
}
.c-interviewlist .image {
	align-self: start;
	padding: 0 20% min(160vw / var(--ratio), 160px);
}
@media screen and (max-width: 767px) {
	/* 人物下のテキストスペース */
	.c-interviewlist .image {
		/* MEMO: 767px 以下は min (上限あり) でなく calc (上限も下限もない) */
		padding-bottom: calc(160vw / var(--ratio));
	}
}

/* :::::: Objects :::::: */
.c-interviewlist .obj-circlegraph {
	z-index: 1;
	position: absolute;
	backface-visibility: visible;
}
.c-interviewlist .obj-circlegraph .obj {
	--start: inherit;
	--end: inherit;
}
.c-interviewlist .obj-circlegraph.-o1 {
	--size: min(220vw / 12, 220px);
	top: max(-126vw / 12, -126px);
	right: max(-64vw / 12, -64px);
}
.c-interviewlist .obj-circlegraph.-o2 {
	--size: min(90vw / 12, 90px);
	top: max(-52vw / 12, -52px);
	right: min(248vw / 12, 248px);
}
.c-interviewlist .obj-circlegraph.-o3 {
	--size: min(34vw / 12, 34px);
	top: min(48vw / 12, 48px);
	right: min(192vw / 12, 192px);
}
.page-interview .c-interviewlist .obj-pointgraph {
	z-index: -1;
}
.c-interviewlist .obj-pointgraph .obj {
	width: 100%;
	height: 100%;
}
.c-interviewlist .obj-pointgraph.-o1 {
	top: 26%;
	right: -12%;
	width: min(340vw / 12, 340px);
}
.c-interviewlist .obj-pointgraph.-o2 {
	bottom: 34%;
	left: -12%;
	width: min(340vw / 12, 340px);
}
@media screen and (max-width: 767px) {
	.c-interviewlist .obj-circlegraph.-o1 {
		--size: max(120vw / 3.75, 120px);
		top: min(-96vw / 3.75, -96px);
		right: min(-32vw / 3.75, -32px);
	}
	.c-interviewlist .obj-circlegraph.-o2 {
		--size: max(46vw / 3.75, 46px);
		top: min(-40vw / 3.75, -40px);
		right: max(144vw / 3.75, 144px);
	}
	.c-interviewlist .obj-circlegraph.-o3 {
		--size: max(24vw / 3.75, 24px);
		top: 0;
		right: max(104vw / 3.75, 104px);
	}
	.c-interviewlist .obj-pointgraph.-o1 {
		top: 32%;
		right: 0;
		width: min(200vw / 3.75, 200px);
	}
	.c-interviewlist .obj-pointgraph.-o2 {
		bottom: 33%;
		left: 0;
		width: min(200vw / 3.75, 200px);
	}
}

/* :::::: Text :::::: */
.c-interviewlist .text {
	align-self: end;
}
.c-interviewlist .title {
	display: flex;
	flex-direction: column;
	font-size: min(20vw / var(--ratio), 1.25rem);
	line-height: 1.8;
	white-space: nowrap;
}
.c-interviewlist .title .main {
	font-weight: 700;
}
.c-interviewlist .title .char {
	/* js で生成した一文字ずつ括る span */
	display: inline-block;
	transform: none;
}
.c-interviewlist .title .main::after {
	content: "";
	position: absolute;
	inset: 0;
}
.c-interviewlist .title .sub {
	font-size: 70%;
	font-family: var(--fontEn);
	font-weight: 500;
}
.c-interviewlist .title .line {
	overflow: visible;
	width: 100%;
	height: 2em;
	margin-top: -1.5em;
	fill: none;
	stroke: currentcolor;
	stroke-width: 1;
}
.c-interviewlist .part {
	min-height: 3em;
	margin-top: .5em;
	font-size: clamp(.625rem, 14vw / var(--ratio), .875rem);
	line-height: 1.5;
	font-weight: 500;
}
.c-interviewlist .num {
	position: absolute;
	top: -32px;
	left: 16px;
	width: auto;
	height: min(64vw / var(--ratio), 64px);
}
@media screen and (max-width: 767px) {
	.c-interviewlist .title {
		/* MEMO: 767px 以下は min (上限あり) でなく calc (上限も下限もない) */
		font-size: calc(20vw / var(--ratio));
	}
}

/* :::::: Decoration :::::: */
.c-interviewlist .deco {
	pointer-events: none;
	z-index: -1;
	position: absolute;
	overflow: hidden;
	inset: 0;
}
.c-interviewlist .deco img {
	position: absolute;
	top: min(40% - 132vw / var(--ratio), 40% - 132px);
	left: max(50% - 132vw / var(--ratio), 50% - 132px);
	width: min(264vw / var(--ratio), 264px);
}
.c-interviewlist .item:nth-child(2n) .deco img {
	top: min(46% - 132vw / var(--ratio), 40% - 132px);
}
@media screen and (max-width: 767px) {
	.c-interviewlist .deco img {
		top: calc(40% - 132vw / var(--ratio));
		left: calc(50% - 132vw / var(--ratio));
		width: calc(264vw / var(--ratio));
	}
}

/* Inview */
.c-interviewlist .title .char, /* <- AppearTheTitle() */
.c-interviewlist .image.is-anim img,
.c-interviewlist .deco.is-anim img,
.c-interviewlist .text .part.is-anim,
.c-interviewlist .title .sub.is-anim {
	transition: opacity .6s, transform .6s var(--easeOut);
}
.c-interviewlist .text .num.is-anim use {
	transition: transform .6s var(--easeOut);
}
.c-interviewlist .image.is-anim img,
.c-interviewlist .deco.is-anim img {
	transition-duration: 1s;
	transition-delay: .1s;
}
.c-interviewlist .deco.is-anim img {
	transition-delay: .2s;
}
.c-interviewlist .item:nth-child(2n) .deco.is-anim img {
	transform-origin: center bottom;
	transition-duration: .8s;
}
.c-interviewlist .image:not(.is-inview) img,
.c-interviewlist .deco:not(.is-inview) img,
.c-interviewlist .text .part:not(.is-inview),
.c-interviewlist .title .sub:not(.is-inview) {
	opacity: 0;
	transform: translateY(1em);
}
.c-interviewlist .image:not(.is-inview) img {
	transform: translateY(24px);
}
.c-interviewlist .deco:not(.is-inview) img {
	transform: rotate(-90deg) scale(1.1);
}
.c-interviewlist .item:nth-child(2n) .deco:not(.is-inview) img {
	transform: scaleY(.6);
}
.c-interviewlist .text .num:not(.is-inview) use {
	transform: translateY(100%);
}


/**
 * Interview contents
 * 社員インタビュー記事ページ
 * -------------------------------------------------------------------------------- */
.page-interview .l-main:not(.p-index) .main_contents {
	/* MEMO: インタビューは page_lead がない */
	padding-top: 96px;
}

.page-interview .page_visual .title {
	justify-items: start;
}
.page-interview .page_visual .title {
	font-size: calc(39vw / 14);
}
.page-interview .page_visual .title .sub {
	font-size: calc(14vw / 14);
	line-height: 1;
}
.page-interview .page_visual .title .num {
	position: relative;
	bottom: -.05em;
	font-size: 200%;
}
.page-interview .page_visual .title .kng {
	letter-spacing: 0;
}
@media screen and (max-width: 767px) {
	.page-interview .page_visual {
		align-items: end;
	}
	.page-interview .page_visual .title {
		padding-block: calc(24vw / 3.75);
		margin-bottom: calc(24vw / 3.75);
		font-size: calc(20vw / 3.75);
	}
	.page-interview .page_visual .title[data-speed] {
		margin-bottom: calc(40vw / 3.75);
	}
	.page-interview .page_visual .title .main {
		padding-bottom: 0;
	}
	.page-interview .page_visual .title .sub {
		font-size: max(12vw / 3.75, .75rem);
	}
	.page-interview .page_visual .title .num {
		font-size: 160%;
	}
}

/* :::::: 社員個別 :::::: */
.page-interview .p-interview-03 .page_visual,
.page-interview .p-interview-07 .page_visual {
	justify-items: end;
}
.page-interview .p-interview-03 .page_visual.-fill .title::before,
.page-interview .p-interview-07 .page_visual.-fill .title::before {
	border-radius: var(--radius) 0 0 var(--radius);
}
@media screen and (max-width: 767px) {
	.p-interview-01 .interview_profile .data {
		margin-left: -1em;
	}
}

/* :::::: プロフィールデータ :::::: */
.interview_profile {
	display: grid;
	justify-content: center;
	place-items: center;
	position: relative;
	width: var(--contentwidth);
	max-width: 880px;
	margin: 24px auto 0;
	padding: 40px var(--sidegap);
}
.interview_profile .image {
	z-index: 1;
	position: relative;
	width: 160px;
	margin-top: -144px;
}
@media print, (min-width: 768px) {
	.interview_profile .image {
		grid-area: 1 / 1;
	}
	.interview_profile .data {
		grid-area: 2 / 1;
	}
	.strengths {
		grid-area: 1 / 2 / 3 / 3;
	}
}
@media screen and (max-width: 767px) {
	.interview_profile {
		grid-template-columns: auto 1fr;
	}
	.interview_profile .image {
		grid-area: 1 / 1;
		width: calc(160vw / 3.75);
	}
	.interview_profile .data {
		grid-area: 1 / 2;
		justify-self: start;
	}
	.strengths {
		grid-area: 2 / 1 / 3 / 3;
	}
}

/* Data */
.interview_profile .data {
	line-height: 1.6;
	font-weight: 700;
}
.interview_profile .data::before {
	content: "Data";
	text-transform: uppercase;
	font-size: .9375rem;
}
.interview_profile .name {
	position: relative;
	padding-bottom: .5em;
	font-size: 1.3125rem;
}
.interview_profile .name::before,
.interview_profile .name::after {
	content: "";
	position: absolute;
	right: 0;
}
.interview_profile .name::before {
	bottom: 0;
	border-bottom: 1px solid currentcolor;
}
.interview_profile .name::after {
	width: 5px;
	height: 5px;
	border-radius: 5px;
	bottom: -2px;
	background: currentcolor;
}
.interview_profile .part,
.interview_profile .join {
	font-size: .875rem;
}
.interview_profile .part {
	margin-top: .5em;
}
@media print, (min-width: 768px) {
	.p-interview-01 .interview_profile .name::before,
	.p-interview-07 .interview_profile .name::before { left: -104px; }
	.p-interview-04 .interview_profile .name::before,
	.p-interview-06 .interview_profile .name::before { left: -128px; }
	.p-interview-05 .interview_profile .name::before,
	.p-interview-08 .interview_profile .name::before { left: -144px; }
	.p-interview-02 .interview_profile .name::before,
	.p-interview-03 .interview_profile .name::before,
	.p-interview-09 .interview_profile .name::before { left: -152px; }
}
@media screen and (max-width: 767px) {
	.interview_profile .name {
		font-size: max(18vw / 3.75, 1.125rem);
	}
	.interview_profile .name::before {
		left: calc(-80vw / 3.75);
	}
	.interview_profile .part,
	.interview_profile .join {
		font-size: max(12vw / 3.75, .75rem);
	}
	.interview_profile .part {
		letter-spacing: .02em;
	}
}

/* :::::: 5strengths :::::: */
.strengths {
	display: grid;
	place-items: center;
	width: 360px;
	height: 360px;
}
.strengths > * {
	grid-area: 1 / 1;
}
.strengths .title {
	margin-top: .8em;
	color: var(--themecolor);
	font-size: 1.0625rem;
	line-height: 1;
	font-family: var(--fontEn);
	font-weight: 400;
}
.strengths .title .num {
	font-size: 164%;
}
.strengths .line {
	overflow: visible;
	width: 66%;
	height: auto;
	fill: none;
	stroke: currentcolor;
}
.strengths_list .item {
	--size: 104px;
	display: grid;
	place-items: center;
	color: white;
	font-size: .875rem;
	line-height: 1.2;
	font-weight: 700;
}
.strengths_list .item .t {
	display: grid;
	place-items: center;
	width: var(--size);
	height: var(--size);
	border-radius: var(--size);
	background: var(--themegrad);
}
.strengths_list {
	width: 100%;
	height: 100%;
	position: relative;
}
.strengths_list .item {
	position: absolute;
	top: 4%;
	left: calc(50% - 52px);
	transform-origin: center 168%;
}
.strengths_list .item .t {
	text-align: center;
}
.strengths_list .item:nth-of-type(2) { transform: rotate(calc(360deg / 5)); }
.strengths_list .item:nth-of-type(3) { transform: rotate(calc(360deg / 5 * 2)); }
.strengths_list .item:nth-of-type(4) { transform: rotate(calc(360deg / 5 * 3)); }
.strengths_list .item:nth-of-type(5) { transform: rotate(calc(360deg / 5 * 4)); }
.strengths_list .item:nth-of-type(2) .t { transform: rotate(calc(-360deg / 5)); }
.strengths_list .item:nth-of-type(3) .t { transform: rotate(calc(-360deg / 5 * 2)) translateY(4%); }
.strengths_list .item:nth-of-type(4) .t { transform: rotate(calc(-360deg / 5 * 3)); }
.strengths_list .item:nth-of-type(5) .t { transform: rotate(calc(-360deg / 5 * 4)) translateY(4%); }
@media print, (min-width: 768px) {
	.strengths .line {
		margin-bottom: 4%;
	}
}
@media screen and (max-width: 767px) {
	.strengths {
		width: calc(310vw / 3.75);
		height: calc(310vw / 3.75);
	}
	.strengths .title {
		font-size: max(17vw / 3.75, .875rem);
	}
	.strengths_list .item {
		--size: calc(92vw / 3.75);
		left: calc(50% - 46vw / 3.75);
		font-size: max(12vw / 3.75, .75rem);
	}
}

/* Inview */
.strengths.js-inview .line {
	stroke-dasharray: 772 772;
}
.strengths.js-inview:not(.is-inview) .line {
	stroke-dashoffset: 772;
}
.strengths.js-inview:not(.is-inview) .title {
	opacity: 0;
	transform: translateY(.5em);
}
.strengths.js-inview:not(.is-inview) .item .t {
	opacity: 0;
	transform: scale(.6);
}
.strengths.js-inview:not(.is-inview) .item:nth-of-type(2) .t { transform: scale(.6) rotate(calc(-360deg / 5)); }
.strengths.js-inview:not(.is-inview) .item:nth-of-type(3) .t { transform: scale(.6) rotate(calc(-360deg / 5 * 2)) translateY(4%); }
.strengths.js-inview:not(.is-inview) .item:nth-of-type(4) .t { transform: scale(.6) rotate(calc(-360deg / 5 * 3)); }
.strengths.js-inview:not(.is-inview) .item:nth-of-type(5) .t { transform: scale(.6) rotate(calc(-360deg / 5 * 4)) translateY(4%); }
.strengths.js-inview.is-inview .line {
	transition: stroke-dashoffset 1s var(--easeInOut);
}
.strengths.js-inview.is-inview .title {
	transition: opacity .6s, transform .6s var(--easeOut);
	transition-delay: .5s;
}
.strengths.js-inview.is-inview .item .t {
	transition: opacity .4s, transform .4s var(--easeBack);
}
.strengths.js-inview.is-inview .item:nth-child(1) .t { transition-delay: .8s; }
.strengths.js-inview.is-inview .item:nth-child(2) .t { transition-delay: .9s; }
.strengths.js-inview.is-inview .item:nth-child(3) .t { transition-delay: 1s; }
.strengths.js-inview.is-inview .item:nth-child(4) .t { transition-delay: 1.1s; }
.strengths.js-inview.is-inview .item:nth-child(5) .t { transition-delay: 1.2s; }

/* :::::: 記事コンテンツ (ほぼ component Column まま) :::::: */
.interview_column {
	--w: 1080px;
	position: relative;
	column-gap: min(80vw / 14, 80px); /* gap 狭め */
}
.interview_column + .interview_column {
	margin-top: 80px;
}
.interview_column .title {
	margin-right: -.5em;
	font-size: clamp(1.5rem, 32vw / 10.8, 2rem);
	white-space: nowrap;
}
.interview_column.-r .title {
	margin-right: auto;
	margin-left: -.5em;
}
/* MEMO: 他ページと違い、タイトル罫線に縦線がない */
.interview_column .title .c-bracket {
	--h: 100%;
	--v: 0;
	left: 0;
	width: 100%;
}
.interview_column .title .c-bracket::after {
	left: auto;
	right: calc(var(--dot) / -2);
}
/* 画像は sidegap 分左右にはみ出す */
.interview_column .image {
	margin-right: calc(var(--sidegap) * -1);
}
.interview_column.-r .image {
	margin-right: 0;
	margin-left: calc(var(--sidegap) * -1);
}
@media print, (min-width: 768px) {
	/* MEMO: タイトル罫線が右から出るのは 768px 以上の時だけ */
	.interview_column.-r .title .c-bracket::after {
		left: calc(var(--dot) / -2);
	}
}
@media screen and (max-width: 1156px) {
	.interview_column .image {
		border-radius: var(--radius) 0 0 var(--radius);
	}
	.interview_column.-r .image {
		border-radius: 0 var(--radius) var(--radius) 0;
	}
}
@media screen and (max-width: 767px) {
	.interview_column + .interview_column {
		margin-top: max(40vw / 3.75, 40px);
	}
	.interview_column:nth-of-type(2n+1) .image {
		margin-right: var(--breakout);
		border-radius: var(--radius) 0 0 var(--radius);
	}
	.interview_column:nth-of-type(2n) .image {
		margin-left: var(--breakout);
		border-radius: 0 var(--radius) var(--radius) 0;
	}
	.interview_column .title {
		font-size: max(22vw / 3.75, 1.25rem);
	}
}

/* Objects */
.page-interview .obj-bargraph,
.page-interview .obj-pointgraph {
	opacity: .5;
}
.interview_column .obj-bargraph {
	width: 120px;
	height: 280px;
}
.interview_column:nth-of-type(1) .obj-pointgraph {
	width: 240px;
}
.interview_column:nth-of-type(2) .obj-pointgraph {
	width: 200px;
}
.interview_column:nth-of-type(2) .obj-pointgraph use {
	transform: rotate(-90deg);
}
@media print, (min-width: 768px) {
	.page-interview .obj-bargraph,
	.page-interview .obj-pointgraph {
		z-index: 1;
	}
	.interview_column:nth-of-type(1) .obj-bargraph {
		z-index: -1;
	}
	.interview_column:nth-of-type(1) .obj-bargraph   { top: -8%; left: 40%; }
	.interview_column:nth-of-type(1) .obj-pointgraph { top: 72%; left: 80%; }
	.interview_column:nth-of-type(2) .obj-pointgraph { top: 70%; left: -12%; }
	.interview_column:nth-of-type(3) .obj-bargraph   { top: 64%; right: 2%; }
}
@media screen and (max-width: 767px) {
	.interview_column .obj-bargraph {
		width: calc(180vw / 7.68);
		height: calc(400vw / 7.68);
	}
	.interview_column:nth-of-type(1) .obj-pointgraph {
		width: calc(320vw / 7.68);
	}
	.interview_column:nth-of-type(2) .obj-pointgraph {
		width: calc(280vw / 7.68);
	}
	.interview_column:nth-of-type(1) .obj-bargraph   { top: 32%; right: 0; }
	.interview_column:nth-of-type(1) .obj-pointgraph { bottom: -4%; right: 0; }
	.interview_column:nth-of-type(2) .obj-pointgraph { bottom: -4%; left: -10%; }
	.interview_column:nth-of-type(3) .obj-bargraph   { bottom: -10%; right: 0; }
}

/**
 * Relation は with Swiper
 * ---------------------------------------- */
.other_interview {
	display: block;
	gap: 0;
	width: 100%;
	max-width: 1080px;
}
.other_interview.swiper .list {
	display: grid;
	grid-auto-flow: column;
}
.other_interview .item {
	--size: 200px;
	width: var(--size);
	max-width: var(--size);
	height: 100%;
	border-radius: var(--size);
}
.other_interview .item a {
	display: grid;
	grid-template-rows: var(--size) auto 1fr;
	row-gap: .5em;
	height: 100%;
	color: inherit;
}
.other_interview .item a,
.other_interview .item .image,
.other_interview .item .image img {
	border-radius: inherit;
}
.other_interview .item .text,
.other_interview .item .more {
	padding: 0 1em;
}
.other_interview .item .text {
	grid-row: 2;
	font-size: .875rem;
	line-height: 1.4;
	letter-spacing: .02em;
	text-shadow: none;
}
.other_interview .item .text .sub {
	font-size: 85%;
}
.other_interview .item .more {
	grid-row: 3;
	align-self: end;
	font-size: .9375rem;
	line-height: 1.4;
	font-family: var(--fontEn);
	font-weight: 500;
}
.other_interview .item .more .arr {
	position: relative;
	top: -.15em;
	width: 1.4em;
	height: .4em;
	margin-left: .3em;
	fill: currentcolor;
	vertical-align: middle;
}
.other_interview .item .image {
	height: var(--size);
	filter: drop-shadow(2px 4px 6px #0001);
}
.other_interview .item .image .mask {
	/* --start: 62%;
	--end: 68%; */
	display: block;
	border-radius: inherit;
	-webkit-mask: conic-gradient(#fff var(--start), #fff0 var(--start) var(--end), #fff var(--end));
	mask: conic-gradient(#fff var(--start), #fff0 var(--start) var(--end), #fff var(--end));
}
.other_interview.swiper .swiper-pagination {
	--swiper-pagination-bullet-horizontal-gap: 1em;
	position: static;
	margin-top: 1em;
}
.other_interview.swiper .swiper-pagination-bullet {
	width: 1em;
	height: 1em;
	border-radius: 1em;
	background: #ccc9c9;
	opacity: inherit;
	transition: background .4s;
}
.other_interview.swiper .swiper-pagination-bullet-active {
	background: #3e3a39;
	transition-duration: .2s;
}
@media print, (min-width: 768px) {
	.other_interview {
		--fade: min(80vw / 10.8, 80px);
		-webkit-mask: linear-gradient(to left, #fff0, #fff var(--fade) calc(100% - var(--fade)), #fff0);
		mask: linear-gradient(to left, #fff0, #fff var(--fade) calc(100% - var(--fade)), #fff0);
	}
	.other_interview.swiper {
		padding: 0 var(--fade);
	}
}
@media screen and (max-width: 1080px) {
	.other_interview .item {
		--size: calc(200vw / 10.8);
	}
}
@media screen and (max-width: 767px) {
	.other_interview.swiper {
		width: calc(100% + var(--sidegap) * 2);
		padding: 0 max(24vw / 3.75, 24px);
	}
	.other_interview {
		margin-inline: var(--breakout);
	}
	.other_interview .item {
		--size: calc(160vw / 3.75);
	}
	.other_interview .item .text {
		font-size: max(12vw / 3.75, .75rem);
	}
	.other_interview .item .more {
		font-size: max(13vw / 3.75, .8125rem);
	}
	.other_interview.swiper .swiper-pagination-bullet {
		font-size: min(12vw / 3.75, .72em);
	}
}
/* Inview */
.other_interview .item .image .mask {
	--end: 100%;
}
.other_interview .item .image .mask {
	--start: 94%;
	transform: rotate(calc(36deg * -3.2));
}
.other_interview .item .image .mask img {
	display: inline-block;
	transform: rotate(calc(36deg * 3.2)); /* 3.2 = 100% - 68% <- 68% は var(--end) の値  */
}
.other_interview .item .more {
	transform-origin: 0 50%;
}

.other_interview.js-inview:not(.is-inview) .item .image .mask {
	--start: 0%;
	opacity: 0;
	transform: rotate(-180deg);
}
.other_interview.js-inview:not(.is-inview) .item .image .mask img {
	transform: rotate(180deg);
}
.other_interview.js-inview:not(.is-inview) .item .text {
	opacity: 0;
	transform: translateX(-.5em);
}
.other_interview.js-inview:not(.is-inview) .item .more {
	opacity: 0;
	transform: scale(.8, .6);
}

.other_interview.js-inview.is-inview .item .image .mask {
	transform-origin: 50% 50%;
	transition: opacity .8s, transform 1s var(--easeGraph), --start 1s var(--easeGraph);
	will-change: opacity, transform, -webkit-mask, mask;
}
.other_interview.js-inview.is-inview .item .image .mask img {
	transition: transform 1s var(--easeGraph);
	will-change: transform;
}
.other_interview.js-inview.is-inview .item .image .mask,
.other_interview.js-inview.is-inview .item .image .mask img {
	transition-delay: .4s;
}
.other_interview.js-inview.is-inview .item .text {
	transition: opacity .6s, transform .6s var(--easeOut);
	transition-delay: .8s;
}
.other_interview.js-inview.is-inview .item .more {
	transition: opacity .6s, transform .6s var(--easeBack);
	transition-delay: 1s;
}
/* 5つめ以降は隠れてるので同じタイミング */
.other_interview.js-inview.is-inview .-i1 .image .mask,
.other_interview.js-inview.is-inview .-i1 .image .mask img { transition-delay: 0s; }
.other_interview.js-inview.is-inview .-i1 .text { transition-delay: .4s; }
.other_interview.js-inview.is-inview .-i1 .more { transition-delay: .6s; }
.other_interview.js-inview.is-inview .-i2 .image .mask,
.other_interview.js-inview.is-inview .-i2 .image .mask img { transition-delay: .1s; }
.other_interview.js-inview.is-inview .-i2 .text { transition-delay: .5s; }
.other_interview.js-inview.is-inview .-i2 .more { transition-delay: .7s; }
.other_interview.js-inview.is-inview .-i3 .image .mask,
.other_interview.js-inview.is-inview .-i3 .image .mask img { transition-delay: .2s; }
.other_interview.js-inview.is-inview .-i3 .text { transition-delay: .6s; }
.other_interview.js-inview.is-inview .-i3 .more { transition-delay: .8s; }
.other_interview.js-inview.is-inview .-i4 .image .mask,
.other_interview.js-inview.is-inview .-i4 .image .mask img { transition-delay: .3s; }
.other_interview.js-inview.is-inview .-i4 .text { transition-delay: .7s; }
.other_interview.js-inview.is-inview .-i4 .more { transition-delay: .9s; }





/**
 * Recruit
 * 採用情報
 * -------------------------------------------------------------------------------- */
.page-recruit .page_title .R path { transform-origin: 14px 109px; }
.page-recruit .page_title .e path:nth-child(1) { transform-origin: 97px 79px; }
.page-recruit .page_title .e path:nth-child(2) { transform-origin: 121px 79px; }
.page-recruit .page_title .c g { transform-origin: 197px 81px; }
.page-recruit .page_title .c path { stroke-dasharray: 149px 149px; }
.page-recruit .page_title .r polyline { transform-origin: 250px 50px; }
.page-recruit .page_title .r path { transform-origin: 255px 77px; }
.page-recruit .page_title .u path:nth-child(1) { transform-origin: 321px 114px; }
.page-recruit .page_title .u path:nth-child(2) { transform-origin: 344px 56px; }
.page-recruit .page_title .i circle { transform-origin: 377px 38px; }
.page-recruit .page_title .i path { transform-origin: 377px 114px; }
.page-recruit .page_title .t path { transform-origin: 429px 119px; }
.page-recruit .page_title .t rect { transform-origin: 402px 62px; }

/* Standby position */
.page-recruit .page_title.is-standby .R path,
.page-recruit .page_title.is-standby .e path,
.page-recruit .page_title.is-standby .r path,
.page-recruit .page_title.is-standby .u path,
.page-recruit .page_title.is-standby .i path,
.page-recruit .page_title.is-standby .t path {
	opacity: 0;
}
.page-recruit .page_title.is-standby .R path { transform: translateY(104%); }
.page-recruit .page_title.is-standby .e path:nth-child(1) { transform: rotateX(30deg) rotateY(-100deg) translate(40px, -40px); }
.page-recruit .page_title.is-standby .e path:nth-child(2) { transform: scaleX(2) translateX(-60%); }
.page-recruit .page_title.is-standby .c g { transform: rotate(60deg); }
.page-recruit .page_title.is-standby .c path { stroke-dashoffset: -149px; }
.page-recruit .page_title.is-standby .r polyline { transform: scaleY(0); }
.page-recruit .page_title.is-standby .r path { transform: rotateZ(40deg) rotateY(-100deg) translate(-20px, -60px); }
.page-recruit .page_title.is-standby .u path:nth-child(1) { transform: rotateX(30deg) rotateY(-100deg) translate(-20px, 60px); }
.page-recruit .page_title.is-standby .u path:nth-child(2) { transform: scaleY(2) translateY(-100%); }
.page-recruit .page_title.is-standby .i circle { transform: scale(0); }
.page-recruit .page_title.is-standby .i path { transform: scaleY(2) translateY(100%); }
.page-recruit .page_title.is-standby .t path { transform: rotateX(-100deg) rotateY(20deg) translate(20px, 60px); }
.page-recruit .page_title.is-standby .t rect { transform: scaleX(0); }

.page-recruit .page_title.is-anim .c g {
	transition-duration: .7s;
	transition-timing-function: var(--easeBack)
}
.page-recruit .page_title.is-anim .c path {
	transition-property: stroke-dashoffset;
	transition-duration: 1s;
	transition-timing-function: var(--easeExpo);
}

/* タイミング */
.page-recruit .page_title.is-anim .R path              { transition-delay: 0s; }
.page-recruit .page_title.is-anim .e path:nth-child(1) { transition-delay: .2s; }
.page-recruit .page_title.is-anim .e path:nth-child(2) { transition-delay: .3s; }
.page-recruit .page_title.is-anim .c g,
.page-recruit .page_title.is-anim .c path              { transition-delay: .4s; }
.page-recruit .page_title.is-anim .r polyline          { transition-delay: .6s; }
.page-recruit .page_title.is-anim .r path              { transition-delay: .5s; }
.page-recruit .page_title.is-anim .u path:nth-child(1) { transition-delay: .2s; }
.page-recruit .page_title.is-anim .u path:nth-child(2) { transition-delay: .3s; }
.page-recruit .page_title.is-anim .i circle            { transition-delay: .6s; }
.page-recruit .page_title.is-anim .i path              { transition-delay: .1s; }
.page-recruit .page_title.is-anim .t path              { transition-delay: .4s; }
.page-recruit .page_title.is-anim .t rect              { transition-delay: .5s; }
.page-recruit .page_title.is-anim .sub { transition-delay: .8s; }

.page-recruit .page_title.is-anim .i circle {
	transition-duration: .4s;
	transition-timing-function: cubic-bezier(.1,1.6,.6,1);
}

/* :::::: 求める人財像 :::::: */
.p-personality {
	width: var(--contentwidth);
	margin: 40px auto 0;
	padding: 96px 0 120px;
}
.p-personality::before {
	right: calc(80vw / 14 - var(--sidegap));
	left: calc(var(--sidegap) * -1);
	border-left: 0;
	border-radius: 0 var(--radius) var(--radius) 0;
}
.p-personality .title {
	font-size: 2.5rem;
	text-align: center;
}
.p-personality .paragraph.-lead {
	max-width: var(--leadwidth);
	margin-top: 32px;
}
.personality_list {
	display: grid;
	max-width: 960px;
	margin: 40px auto 0;
	padding: 40px 80px;
	border-radius: calc(var(--radius) * 2.4);
	background: white;
	box-shadow: 4px 8px 16px #00000008;
}
.personality_list .item {
	counter-increment: item;
	display: grid;
	grid-template-rows: 152px auto 1fr;
	justify-items: center;
	z-index: 0;
	position: relative;
}
.personality_list .item::before {
	content: "0" counter(item);
	z-index: -1;
	position: absolute;
	right: 1rem;
	bottom: -.1em;
	color: #ececec;
	font-size: 6.5rem;
	line-height: 1;
	font-family: var(--fontEn);
	font-weight: 600;
}
.personality_list .item dt {
	margin-top: .8em;
	font-size: 1.25rem;
	font-weight: 700;
}
.personality_list .item .txt {
	margin-top: .8em;
	padding-top: .8em;
	border-top: 1px solid currentcolor;
	font-size: .9375rem;
}
.personality_list .symbol {
	order: -1;
	width: 152px;
	height: 152px;
	padding: 40px;
	border-radius: 152px;
	background: #bebebd4c;
}
.personality_list .item:last-child .symbol {
	padding: 36px;
}
.personality_list .ico {
	width: 100%;
	height: auto;
	stroke: var(--themecolor);
	stroke-width: 4.2;
	stroke-linecap: round;
	stroke-linejoin: round;
}
@media print, (min-width: 768px) {
	.p-personality {
		--leadwidth: calc(584vw / 12);
	}
	.personality_list {
		grid-template-columns: repeat(3, 1fr);
		column-gap: 64px;
	}
	.p-personality .title .deco {
		position: absolute;
		top: 64px;
		right: calc(50% - var(--leadwidth) / 2 - 156px);
		width: 156px;
	}
}
@media print, (min-width: 1200px) {
	.p-personality {
		--leadwidth: 584px;
	}
}
@media screen and (max-width: 767px) {
	.p-personality {
		padding-top: 0;
		padding-bottom: max(40vw / 3.75);
	}
	.p-personality .title {
		display: grid;
		font-size: max(28vw / 3.75, 1.75rem);
	}
	.p-personality .title .deco {
		order: -1;
		justify-self: end;
		width: calc(80vw / 3.75);
		margin-top: calc(-40vw / 3.75);
		margin-right: calc(40vw / 3.75);
		padding-bottom: calc(8vw / 3.75);
	}
	.personality_list {
		padding-inline: calc(40vw / 3.75);
	}
	.personality_list .item {
		grid-template-rows: max(144vw / 3.75, 144px) auto 1fr;
	}
	.personality_list .item + .item {
		margin-top: max(24vw / 3.75, 24px);
	}
	.personality_list .item::before {
		font-size: calc(96vw / 3.75);
	}
	.personality_list .item dt {
		font-size: max(20vw / 3.75, 1.25rem);
	}
	.personality_list .symbol {
		width: max(144vw / 3.75, 144px);
		height: max(144vw / 3.75, 144px);
	}
	.personality_list .item .txt {
		font-size: max(14vw / 3.75, .875rem);
	}
	.personality_list .ico {
		stroke-width: calc(4.2vw / 3.75);
	}
}

/* :::::: 下記のページで詳しい採用情報をご覧いただけます :::::: */
.p-info {
	width: var(--contentwidth);
	margin: 120px auto 0;
	text-align: center;
}
.p-info .lead {
	display: inline-block;
	position: relative;
	padding: 40px 64px;
	font-size: 1.125rem;
	line-height: 1.6;
}
.info_list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 64px;
	max-width: 1024px;
	margin: 64px auto 0;
}
.info_list .c-button {
	position: relative;
	max-width: none;
	height: 232px;
	padding: 1em;
	border-radius: var(--radius);
	font-size: 1.3125rem;
}
.info_list .c-button .arr {
	position: absolute;
	top: calc(50% - .1em);
	right: 40px;
}
@media screen and (max-width: 767px) {
	.p-info .lead {
		padding-inline: calc(32vw / 3.75);
	}
	.info_list {
		column-gap: calc(32vw / 3.75);
	}
}
@media screen and (max-width: 480px) {
	.info_list {
		grid-template-columns: auto;
		row-gap: 1em;
		margin-top: 0;
	}
	.info_list .c-button {
		height: auto;
		padding: 2.4em 1em;
	}
}

/* :::::: コンテンツページタイトルビジュアル :::::: */
.page-recruit .page_visual {
	position: relative;
}
.page-recruit .page_visual .title {
	padding-block: calc(64vw / 10.8);
	padding-right: 4%;
	font-size: clamp(1.5rem, 32vw / 10.8, 2rem);
}
@media screen and (max-width: 767px) {
	.page-recruit .page_visual .title {
		padding-block: calc(48vw / 3.75);
		padding-inline: 16% 12%;
		font-size: calc(20vw / 3.75);
	}
}

/* ENTRY ボタン */
.c-button.-entry {
	z-index: 2;
	left: clamp(50vw - 124px, 50vw - 124vw / 10.8, 50vw - 72px);
	width: clamp(144px, 248vw / 10.8, 248px);
	height: clamp(48px, 92vw / 10.8, 92px);
	padding-left: 1.4em;
	font-size: clamp(.875rem, 22vw / 10.8, 1.375rem);
	font-family: var(--fontEn);
	text-transform: uppercase;
}
.c-button.-entry.is-sticky {
	position: sticky;
	bottom: clamp(16px, 40vw / 10.8, 40px);
	margin-bottom: max(-32vw / 3.75, -32px);
}
@media screen and (max-width: 767px) {
	.c-button.-entry {
		left: calc(50% - 100vw / 3.75);
		width: calc(200vw / 3.75);
		height: calc(48vw / 3.75);
		font-size: calc(14vw / 3.75);
	}
}
.is-smooth .page_visual .c-button.-entry {
	pointer-events: auto; /* page_visual が none なので */
	z-index: 2;
	position: absolute;
}
.is-smooth .page_visual .c-button.-entry {
	top: calc(100% + 40px);
	opacity: 0;
}
.is-smooth .page_visual .pin-spacer .c-button.-entry {
	opacity: 1;
}
/* MEMO: smoother の時は footer のボタン非表示、smoother じゃない時は page_visual 内のボタン非表示 */
body.is-smooth .c-button.-entry.is-sticky,
body:not(.is-smooth) .page_visual .c-button.-entry {
	display: none;
}


/**
 * 募集要項
 * ---------------------------------------- */
.recruit_section {
	width: var(--contentwidth);
	max-width: 880px;
	margin: 80px auto 0;
}
.recruit_section .title {
	font-size: clamp(1.625rem, 35vw / 10.8, 2.1875rem);
	text-align: center;
}
.p-guideline .title {
	letter-spacing: .26em;
}
.recruit_list {
	margin-top: 24px;
}
.recruit_list .item {
	display: grid;
	grid-template-columns: 5.4em 1fr;
	border-top: 1px solid var(--bordergray);
	align-items: baseline;
	column-gap: 3em;
	padding: 3em;
	font-size: clamp(1rem, 18vw / 10.8, 1.125rem);
}
.recruit_list .item dt {
	font-weight: 700;
	letter-spacing: .18em;
	white-space: nowrap;
	text-align-last: justify;
}
.recruit_list .item dd {
	font-size: clamp(.875rem, 16vw / 10.8, 1rem);
}
@media screen and (max-width: 767px) {
	.recruit_section .title {
		font-size: max(24vw / 3.75, 1.5rem);
	}
	.recruit_list .item {
		grid-template-columns: 4.8em 1fr;
		column-gap: 2em;
		padding: 1em;
		font-size: max(14vw / 3.75, .875rem);
	}
	.recruit_list .item dd {
		font-size: max(12vw / 3.75, .75rem);
	}
}
@media screen and (max-width: 359px) {
	.recruit_list .item {
		column-gap: 1em;
	}
}

/**
 * 採用フロー (新卒採用のみ)
 * ---------------------------------------- */
.p-flow {
	width: var(--contentwidth);
	max-width: 1080px;
}
.p-flow .title {
	z-index: 1;
	position: relative;
	margin-bottom: -.6em;
}
.flow_list {
	--size: min(160vw / 10.8, 160px);
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: min(32vw / 10.8, 32px);
	padding: min(80vw / 10.8, 80px) 0;
}
.flow_list .item {
	flex-basis: 10%;
	display: grid;
	grid-template-rows: 3em 1fr;
	place-items: center;
	position: relative;
	color: white;
	line-height: 1.4;
	white-space: nowrap;
	text-align: center;
}
.flow_list .item::before {
	grid-area: 1 / 1 / 3 / 2;
	content: "";
	display: block;
	aspect-ratio: 1 / 1;
	width: var(--size);
	height: var(--size);
	border-radius: var(--size);
	background: var(--themegrad);
}
.flow_list .item:not(:last-child)::after {
	content: "";
	position: absolute;
	top: min(50% - 7vw / 10.8, 50% - 7px);
	left: min(100% + 9vw / 10.8, 100% + 9px);
	width: min(16vw / 10.8, 16px);
	height: min(14vw / 10.8, 14px);
	
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	background: #acacac;
}
.flow_list .item .sub {
	grid-area: 1 / 1;
	position: relative;
	padding: 2em 1em 1em;
	font-size: clamp(.625rem, 12vw / 10.8, .75rem);
	font-family: var(--fontEn);
	font-weight: 600;
}
.flow_list .item .sub .num {
	font-size: 133%;
}
.flow_list .item .sub .tail {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	fill: none;
	stroke: currentcolor;
	stroke-width: 2;
	stroke-linecap: round;
}
.flow_list .item .main {
	grid-area: 2 / 1;
	display: grid;
	font-size: clamp(1rem, 18vw / 10.8, 1.125rem);
	font-weight: 700;
	padding-bottom: .5em;
}
.flow_list .item .main small {
	font-size: max(77%, .625rem);
}
@media print, (min-width: 768px) {
	.flow_list .item {
		padding: 2em 0;
	}
}
@media screen and (max-width: 767px) {
	.flow_list {
		--size: calc(160vw / 3.75);
		gap: calc(32vw / 3.75);
		flex-direction: column;
		padding: calc(48vw / 3.75);
		padding-top: calc(64vw / 3.75);
	}
	.flow_list .item .sub {
		font-size: max(12vw / 3.75, .75rem);
	}
	.flow_list .item .main {
		font-size: max(18vw / 3.75, 1.125rem);
	}
	.flow_list .item:not(:last-child)::after {
		top: calc(100% + 9vw / 3.75);
		left: calc(50% - 7vw / 3.75);
		width: calc(14vw / 3.75);
		height: calc(16vw / 3.75);
		clip-path: polygon(0 0, 100% 0, 50% 100%);
	}
}

/**
 * Q&A
 * ---------------------------------------- */
.p-faq {
	margin-top: 96px;
	padding: 80px 0 96px;
}
.p-faq::before {
	border: 0;
	border-radius: 0;
}
.faq_title {
	z-index: 1;
	position: relative;
	width: fit-content;
	margin: 0 auto -.7em;
	border-bottom: 3px solid currentcolor;
	font-size: 3.75rem;
	line-height: 1.4;
	letter-spacing: .18em;
}
.faq_list {
	position: relative;
	width: var(--contentwidth);
	max-width: 980px;
	margin: 0 auto;
	padding: 96px 56px 56px;
	border-radius: var(--radius);
	background: white;
}
.faq_list .item {
	padding: 1.5em 0;
	line-height: 1.6;
}
.faq_list .item + .item {
	border-top: 1px solid var(--bordergray);
}
.faq_list .q {
	padding-left: 1.5em;
	font-weight: 700;
	text-indent: -1.5em;
}
.faq_list .q::before {
	content: "Q.";
	color: var(--themecolor);
	font-size: 148%;
	font-family: var(--fontEn);
}
.faq_list .a {
	margin-top: .5em;
	padding-left: 1em;
	font-weight: 500;
	text-indent: -1em;
}
.faq_list .a::before {
	content: "A.";
}
.faq_list .q *,
.faq_list .a *,
.faq_list .q::before,
.faq_list .a::before {
	text-indent: 0;
}
@media screen and (max-width: 767px) {
	.faq_title {
		font-size: max(48vw / 3.75, 3rem);
	}
	.faq_list {
		padding: max(24vw / 3.75, 24px);
		padding-top: max(48vw / 3.75, 48px);
	}
	.faq_list .item {
		font-size: max(14vw / 3.75, .875rem);
	}
}
