@charset "UTF-8";

/* =Reset
-------------------------------------------------------------- */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;word-wrap:break-word;overflow-wrap:break-word;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {display: block;}
table{border-collapse:collapse;border-spacing:0;}
fieldset,img{border:0;}
address,caption,cite,code,dfn,em,th,var{font-style:normal;font-weight:normal;}
li{list-style:none;}
caption,th{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:inherit;}
q:before,q:after{content:'';}
abbr,acronym{border:0;font-variant:normal;}
sup{vertical-align:super;}
sub{vertical-align:text-bottom;}
input,textarea,select,button{font-family:inherit;font-size:inherit;font-weight:inherit;}
legend{color:#000;}
img {vertical-align:top;}
input[type="radio"],input[type="checkbox"] {vertical-align: -2px;}
label {cursor: pointer;}


/* =Common
-------------------------------------------------------------- */
body {
	text-align: center;
	line-height: 1;
	-webkit-text-size-adjust: 100%;
}
img {
	max-width: 100%;
	height: auto;
}
input[type="submit"], input[type="reset"] {
	appearance: none;
	cursor: pointer;
}
@font-face {
	font-family: 'Noto Sans JP';
	src: url('font/NotoSansJP.woff2') format('woff2');
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'din_pro_semi';
	src: local(''), url('font/d-din-pro-semi-bold.woff') format('woff');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}
.plus_jakarta, .en {
	font-family: "Plus Jakarta Sans", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
}

/* =Styles 
-------------------------------------------------------------- */
body {
	font-family: 'Noto Sans JP', "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	font-weight: 400;
	color: var(--navy);
	background: #fff;
	position: relative;
}
a {
	text-decoration: none;
	color: var(--navy);
}
.palt {
	font-feature-settings: "palt";
}
.sup {
	display: inline-block;
	font-size: 0.8em;
	vertical-align: top;
}
@media ( min-width: 1025px ){
	body {
		font-size: 17.5px;
	}
	.sptab {
		display: none !important;
	}
}
@media ( min-width: 768px ){
	body {
		font-size: clamp(0.938rem, 0.794rem + 0.3vw, 1.094rem);
	}
	.sp {
		display: none !important;
	}
	.inner {
		max-width: min(1605px, calc(1605 / var(--width) * 100vw));
		padding: 0 min(72.5px, calc(72.5 / var(--width) * 100vw));
		margin-inline: auto;
	}
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}
@media ( max-width: 1024px ){
	.pc {
		display: none !important;
	}
}
@media ( max-width: 767px ){
	body {
		font-size: 4vw;
	}
	.pc,
	.pctab {
		display: none !important;
	}
	.inner {
		padding: 0 6.6667vw;
	}
}

:root {
	--width: 1750;
	--blue: #276594;
	--navy: #00053a;
	--light_blue: #e2eef7;	
	
}

@media ( min-width: 1025px ){
}
@media (min-width: 768px) and (max-width: 1024px) {
}
@media ( min-width: 768px ){
}
@media ( max-width: 767px ){
}


/* common
-------------------------------------------------------------- */
/* .header */
.header {
	position: fixed;
	justify-content: space-between;
	background: #fff;
	top: 0;
	width: 100%;
	transition: all 0.3s;
	z-index: 998;
	box-sizing: border-box;
	display: flex;
	align-items: center;
}
.header .gnav ul li a {
	display: block;
}
@media ( min-width: 1025px ){
	.header {
		padding: 0 0 0 min(72.5px, calc(72.5 / var(--width) * 100vw));
	}
	.header .link_box {
		gap: 0 min(72.5px, calc(72.5 / var(--width) * 100vw));
	}
	.header .gnav ul {
		gap: 0 min(50px, calc(50 / var(--width) * 100vw));
	}
	.header .btn_wrap {
		display: flex;
		align-self: stretch;
	}
	.header .btn_wrap a {
		display: flex;
		flex-direction: column;
		justify-content: center;
		width: 130px;
		height: 100%;
		color: #fff;
	}
	.header .btn_wrap a.part_time {
		background: #06C755;
	}
	.header .btn_wrap a {
		background: var(--navy);
	}
	.header .btn_wrap a span {
		display: block;
	}
	.header .btn_wrap a span.en {
		font-size: 20px;
	}
	.header .btn_wrap a span.ja {
		font-size: 10px;
		font-weight: 500;
		margin: 1em 0 0;
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	.header {
		padding: 0 min(30px, calc(30 / var(--width) * 100vw));
	}
	.header .btn_wrap {
		display: none;
	}
	.header {
		padding: 0 min(72.5px, calc(30 / var(--width) * 100vw));
	}
	.header .link_box {
		gap: 0 min(72.5px, calc(30 / var(--width) * 100vw));
	}
	.header .gnav ul {
		gap: 0 min(72.5px, calc(30 / var(--width) * 100vw));
	}
}
@media ( min-width: 768px ){
	.logo a {
		transition: all 0.5s ease;
	}
	.logo a:hover {
		opacity: 0.6;
	}
	.header {
		height: min(128px, calc(128 / var(--width) * 100vw));
		gap: 0 min(30px, calc(30 / var(--width) * 100vw));
		border-bottom: 1px solid var(--navy);	}
	.header .logo {
		width: 292px;
	}
	.header .link_box {
		flex: 0 0 292px;
		display: flex;
		justify-content: center;
		align-items: center;
		align-self: stretch;
	}
	.header .gnav ul {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.header .gnav ul li {
		flex: 1;
	}
	.header .gnav ul li a span {
		display: block;
		white-space: nowrap;
		transition: all 0.5s ease;
	}
	.header .gnav ul li a span.en {
		font-size: 15px;
		font-weight: 700;
	}
	.header .gnav ul li a span.ja {
		font-size: 10px;
		font-weight: 500;
		color: var(--blue);
		margin: 1em 0 0;
	}
	@media (hover: hover) {
		.header .gnav ul li a:hover .en {
			color: var(--blue);
		}
		.header .gnav ul li a:hover .ja {
			color: var(--navy);
		}
	}
	.header .btn_wrap a {
		transition: all 0.5s ease;
	}
	.header .btn_wrap a:hover {
		opacity: 0.7;
	}
}
@media (max-width: 767px) {
	body.noscroll {
		overflow: hidden;
		height: 100%;
	}
	.header {
		height: 14.6667vw;
		position: fixed;
		padding: 0 2.9333vw;
	}
	.header .logo {
		width: 69.7333vw;
	}
	.header .link_box {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		background-color: var(--blue);
		z-index: 99;
		opacity: 0;
		visibility: hidden;
		transition: all 0.4s ease;
		padding: 20vw 7.3333vw 30vw;
		box-sizing: border-box;
		overflow-y: auto;
	}
	.header.open .link_box {
		opacity: 1;
		visibility: visible;
	}
	.header .gnav ul {
		display: block;
		width: 100%;
		margin: 0 0 4vw;
	}
	.header .gnav ul li a {
		display: block;
		text-align: left;
		color: #fff;
		font-weight: 500;
		padding: 4.6667vw 0;
	}
	.header .gnav ul li a span {
		display: inline-block;
	}
	.header .gnav ul li a span.en {
		font-size: 5.3333vw;
		font-weight: 700;
		width: 43.2vw;
	}
	.header .gnav ul li a span.ja {
		font-size: 3.3333vw;
		font-weight: 500;
		color: rgba(255,255,255,0.4);
	}
	.header .gnav ul li.insta {
		width: 8vw;
	}
	.header .btn_wrap a {
		display: flex;
		flex-direction: column;
		justify-content: center;
		width: 100%;
		height: 20vw;
		font-size: 4.6667vw;
		font-weight: 500;
		border-radius: 12vw;
		line-height: 1.4;
	}
	.header .btn_wrap a .ja {
		font-size: 3.8vw;
	}
	.header .btn_wrap a.part_time {
		background: #06C755;
		color: #fff;
		margin: 0 0 6vw;
	}
	.header .btn_wrap a.entry {
		background: #fff;
		color: var(--navy);
		margin-bottom: 4vw;
	}
	.menubtn {
		position: absolute;
		z-index: 100;
		width: 9.3333vw;
		height: 5.3333vw;
		cursor: pointer;
		top: 4.5333vw;
		right: 3.7333vw;
	}
	.menubtn .bar {
		display: block;
		width: 100%;
		height: 0.2667vw;
		background-color: var(--navy);
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
		transition:
			transform .4s,
			margin-top .4s,
			background-color .4s;
	}
	.menubtn .bar1 { 
		margin-top: -2.5333vw;
	}
	.menubtn .bar2 { 
		margin-top: 0;
	}
	.menubtn .bar3 { 
		margin-top: 2.5333vw;
	}
	.header.open .menubtn .bar {
		background-color: #fff;
	}
	.header.open .menubtn .bar1 {
		transform: translateY(-50%) rotate(45deg);
		margin-top: 0;
	}
	.header.open .menubtn .bar2 {
		opacity: 0;
	}
	.header.open .menubtn .bar3 {
		transform: translateY(-50%) rotate(-45deg);
		margin-top: 0;
	}
}

/* .footer */
.footer .desc {
	text-align: left;
	color: #000;
	white-space: nowrap;
}
.footer .desc .ja {
	display: block;
	margin: 1em 0 0;
}
.footer .nav {
	display: flex;
}
.footer .nav ul {
	text-align: left;
}
.footer .nav ul li a span {
	display: inline-block;
	transition: all 0.3s ease;
}
.footer .nav ul li a .ja {
	color: var(--blue);
}
@media (hover: hover) {
	.footer .nav ul li a:hover .en {
		color: var(--blue);
	}
	.footer .nav ul li a:hover .ja {
		color: var(--navy);
	}
}
.footer .copy {
	display: block;
}
@media ( min-width: 1025px ){
	.footer .copy {
		margin: -1em 0 0;
	}
	.footer .sec_in {
		gap: 0 min(400px, calc(400 / var(--width) * 100vw));
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	.footer .sec_in {
		justify-content: space-between;
	}
	.footer .nav ul li a span {
		display: block;
	}
	.footer .nav ul li a .ja {
		padding: 0.5em 0 0;
	}
	.footer .copy {
		margin: 2em 0 0;
	}
}
@media ( min-width: 768px ){
	.footer {
		padding: min(90px, calc(90 / var(--width) * 100vw)) 0 min(150px, calc(150 / var(--width) * 100vw));
	}
	.footer .sec_in {
		display: flex;
	}
	.footer .logo {
		width: 292px;
		margin: 0 0 45px;
	}
	.footer .desc .ja {
		font-size: 12px;
	}
	.footer .nav {
		gap: 0 min(130px, calc(80 / var(--width) * 100vw));
		margin: 0 0 30px;
	}
	.footer .nav ul li {
		margin: 0 0 min(45px, calc(45 / var(--width) * 100vw));
	}
	.footer .nav ul li a {
		font-size: 15px;
	}
	.footer .nav ul li a .en {
		width: 130px;
	}
	.footer .nav ul li a .ja {
		font-size: 12px;
	}
	.footer .btn_wrap {
		display: flex;
		gap: 0 min(30px, calc(30 / var(--width) * 100vw));
		justify-content: flex-end;
	}
	.footer .btn_wrap a.btn {
		margin: 0;
		width: min(350px, calc(350 / var(--width) * 100vw));
		height: min(80px, calc(80 / var(--width) * 100vw));;
	}
	.footer .copy {
		font-size: 13px;
		text-align: left;
	}	
}
@media ( max-width: 767px ){
	.footer {
		padding: 19.3333vw 0 10.4vw;
	}
	.footer .logo {
		width: 69.3333vw;
		margin: 0 auto 6vw;
	}
	.footer .desc {
		text-align: center;
	}
	.footer .desc .en {
		font-size: 4.2667vw;
	}
	.footer .desc .ja {
		font-size: 3.3333vw;
		margin: 0.5em 0 0;
	}
	.footer .nav {
		gap: 0 10vw;
		justify-content: center;
		padding: 13.0667vw 4vw 4.6666vw;
	}
	.footer .nav ul li {
		margin: 0 0 6.6667vw;
	}
	.footer .nav ul li a span {
		display: block;
	}
	.footer .nav ul li a .en {
		font-size: 4vw;
	}
	.footer .nav ul li a .ja {
		font-size: 3.3333vw;
		margin: 1.3333vw 0 0;
	}
	.footer .btn_wrap {
		margin: 0 0 10vw;
	}
	.footer .btn_wrap a.btn {
		margin: 0 auto 6vw;;
	}
	.footer .copy {
		font-size: 2.9333vw;
	}	
}

/* breadcrumb */
.breadcrumb {
	text-align: left;
}
.breadcrumb .nav_in {
	display: inline-block;
	position: relative;
}
.breadcrumb ol {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}
.breadcrumb ol li {
	font-weight: 500;
	position: relative;
}
.breadcrumb ol li:not(:last-child)::after {
	content: "";
	background: var(--navy);
	height: 1px;
	transform: translateY(-50%);
	position: absolute;
	top: 50%;
}
.breadcrumb ol li:last-child {
	color: var(--navy);
}
.breadcrumb ol li a {
	color: var(--blue);
	transition: color 0.3s ease;
}
.breadcrumb ol li a:hover {
	color: var(--navy);
}
@media ( min-width: 768px ){
	.breadcrumb ol {
		gap: 0 30px;
	}
	.breadcrumb ol li {
		font-size: 10px;
	}
	.breadcrumb ol li:not(:last-child)::after {
		width: 7.5px;
		right: -18.75px;
	}
}
@media ( max-width: 767px ){
	.breadcrumb ol {
		gap: 0 8vw;
	}
	.breadcrumb ol li {
		font-size: 2.6667vw;
	}
	.breadcrumb ol li:not(:last-child)::after {
		width: 2vw;
		right: -5vw;
	}
}

/* title btn
-------------------------------------------------------------- */
.sec_title {
	position: relative;
	text-align: left;
	z-index: 2;
}
.sec_title::before {
	content: "";
	background: var(--blue);
	width: 0;
	position: absolute;
	top: 0;
	left: 0;
}
.sec_title.is-show::before {
	animation: strokeLine 0.5s ease forwards;
}
.sec_title.wh {
	color: #fff;
}
.sec_title.wh.v2::before {
	background: #fff;
}
.sec_title span {
	display: block;
}
.sec_title .main {
	line-height: 1.4;
	font-weight: 700;
}
.sec_title .main.en {
	line-height: 1.1;
	font-weight: 600;
	letter-spacing: 0.05em;
}
.sec_title .main .char-unit {
	display: inline-block;
	opacity: 0;
}
.sec_title .main .char-space {
	display: inline-block;
	white-space: pre;
	width: 1em;
}
.sec_title.is-show .main .char-unit {
	animation: fadeInChar 0.4s ease forwards;
}
@keyframes fadeInChar {
	to {
		opacity: 1;
	}
}
.sec_title .sub {
	color: var(--blue);
	white-space: nowrap;
	opacity: 0;
}
.sec_title.is-show .sub {
	animation: fadeInJa 0.6s ease 1.5s forwards;
}
@keyframes fadeInJa {
	to {
		opacity: 1;
	}
}
.sec_title.wh .sub {
	color: #fff;
}
a.btn,
button.btn {
	font-weight: 500;
	color: #fff;
	background: var(--navy);
	border: 1px solid var(--navy);
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	transition: all 0.5s ease;
	margin: 0 auto;
}
a.btn.part_time {
	background: #06C755;
	border: 1px solid #06C755;
}
a.btn.v2 {
	background: var(--blue);
	border: 1px solid var(--blue);
}
@media (hover: hover) {
	a.btn:hover,
	button.btn:hover {
		background: #fff;
		color: var(--navy);
	}
	a.btn.v2:hover {
		color: var(--blue);
	}
	a.btn.part_time:hover {
		color: #06C755;
	}
}
@media ( min-width: 768px ){
	.sec_title {
		padding: min(60px, calc(60 / var(--width) * 100vw)) 0 0;
	}
	.sec_title::before {
		height: 4px;
	}
	@keyframes strokeLine {
		to {
			width: 65px;
		}
	}
	.sec_title .main .line-1 {
		font-size: min(60px, calc(60 / var(--width) * 100vw));
	}
	.sec_title .main .line-2 {
		font-size: min(60px, calc(60 / var(--width) * 100vw));
	}
	.sec_title .main .line-3 {
		font-size: min(60px, calc(60 / var(--width) * 100vw));
	}
	.sec_title .main.en .line-1 {
		font-size: min(100px, calc(100 / var(--width) * 100vw));
	}
	.sec_title .main.en .line-2 {
		font-size: min(100px, calc(100 / var(--width) * 100vw));
	}
	.sec_title .main.en .line-3 {
		font-size: min(100px, calc(100 / var(--width) * 100vw));
	}
	.sec_title .sub {
		font-size: 15px;
		margin: 30px 0 0;
	}
	a.btn,
	button.btn {
		width: min(450px, calc(600 / var(--width) * 100vw));
		height: min(100px, calc(150 / var(--width) * 100vw));
		border-radius: min(50px, calc(75 / var(--width) * 100vw));
	}
	button.btn {
		cursor: pointer;
	}
}
@media ( max-width: 767px ){
	.sec_title {
		padding: 16.6667vw 0 0;
	}
	.sec_title::before {
		height: 1.0667vw;
	}
	@keyframes strokeLine {
		to {
			width: 17.3333vw;
		}
	}
	.sec_title .main .line-1 {
		font-size: 10.6667vw;
	}
	.sec_title .main .line-2 {
		font-size: 10.6667vw;
	}	
	.sec_title .main .line-3 {
		font-size: 10.6667vw;
	}	
	.sec_title .main.en .line-1 {
		font-size: 14vw;
	}
	.sec_title .main.en .line-2 {
		font-size: 14vw;
	}	
	.sec_title .main.en .line-3 {
		font-size: 14vw;
	}	
	.sec_title .sub {
		font-size: 4vw;
		margin: 6.6667vw 0 0;
	}
	a.btn,
	button.btn {
		width: 100%;
		height: 24vw;
		border-radius: 12vw;
		font-size: 4.4vw;
	}
}
	
/* #scrollBtn */
#scrollBtn {
	position: fixed;
	border: none;
	cursor: pointer;
	transition: all 0.3s ease;
	z-index: 3;
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.05em;
	writing-mode: vertical-rl;
	text-orientation: mixed;
	background: none;
}
.scroll-down,
.scroll-up {
	display: inline-block;
	position: relative;
}
.scroll-down {
	color: var(--navy);
	left: 20px;
	bottom: 0;
	padding: 0 0 65px;
}
.scroll-up {
	color: #fff;
	right: 20px;
	bottom: 25px;
	padding: 65px 0 0;
}
.scroll-down::before,
.scroll-up::before {
	content: "";
	background: var(--navy);
	position: absolute;
	transition: all 0.3s ease;
	width: 1px;
	height: 56px;
}
.scroll-down::before {
	right: 4px;
	bottom: 0;
}
.scroll-up::before {
	background: #fff;
	left: 4px;
	top: 0;
}
@media ( max-width: 767px ){
	#scrollBtn {
		display: none;
	}
}

/* #fix_btn */
.fix_btn {
	display: none;
	position: fixed;
	align-items: center;
	z-index: 100;
	bottom: 0;
	left: 0;
	width: 100%;
	box-sizing: border-box;
}
.fix_btn .cta {
	display: flex;
}
.fix_btn .cta a {
	width: 50%;
	color: #fff;
	padding: 2vw 0;
	font-weight: 500;
}
.fix_btn .cta a.part_time {
	background: #06C755;
}
.fix_btn .cta a.entry {
	background: var(--navy);
}
.fix_btn .cta a .en {
	font-size: 4.5vw;
	font-weight: 700;
	display: block;
	letter-spacing: 0.1em;
	margin: 0 0 1vw;
}
.fix_btn .cta a .ja {
	font-size: 3.0667vw;
}

/* .pagetop */
@keyframes lineAnim2 {
	0%{
		height: 0;
		bottom:0;
	}
	1%{
		height: 100%;
		bottom:0;
	}
	19%{
		top:auto;
		bottom:0;
		height: 100%;
	}
	20% {
		top:0;
	}
	80% {
		bottom:auto;
		top:0;
		height: 0;
	}
	100% {
		bottom:auto;
		top:0;
		height: 0;
	}
}
.pagetop {
	position: relative;
	padding: 10.6667vw 0 0;
}
.pagetop a {
	display: inline-block;
	font-size: 2.2667vw;
	color: #fff;
}
.pagetop .line {
	height: 6.6667vw;
	width: 0.2667vw;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	overflow: hidden;
	top: 10px;
	transition: all 0.3s ease;
	z-index: 2;
}
.pagetop .line span {
	position: absolute;
	left: 0;
	background: #fff;
	width: 100%;
	height: 100%;
	display: block;
	animation-name: lineAnim2;
	animation-duration: 2.5s;
	animation-iteration-count: infinite;
	animation-delay: 0.3s;
}
	
	
	
	

/* =index
-------------------------------------------------------------- */
/* .top_fv */
.top_fv {
	position: relative;
}
.header.top {
	opacity: 0;
	pointer-events: none;
}
.header.top.active {
	opacity: 1;
	pointer-events: auto;
}
.top_header, 
.top_fv .inner {
	position: relative;
	z-index: 10;
	pointer-events: auto;
}
.top_header .inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.top_header .btn_wrap {
	display: flex;
	align-self: stretch;
}
.top_header .btn_wrap a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	color: #fff;
}
.top_header .btn_wrap a.part_time {
	background: #06C755;
}
.top_header .btn_wrap a.entry {
	background: var(--blue);
}
.top_header .btn_wrap a span {
	display: block;
}
.top_fv .fv_gnav {
	text-align: left;
}
.top_fv .fv_gnav li a {
	display: inline-block;
}
.top_fv .fv_gnav li a span {
	display: inline-block;
	transition: all 0.5s ease;
}
.top_fv .fv_gnav li a span.ja {
	color: var(--blue);
}
@media (hover: hover) {
	.top_fv .fv_gnav li a:hover .en {
		color: var(--blue);
	}
	.top_fv .fv_gnav li a:hover .ja {
		color: var(--navy);
	}
}
.top_fv .fv_text {
	text-align: left;
}
.top_fv .fv_text .img_text {
	opacity: 0;
	animation: fvFadeInUp 1.5s ease-out forwards;
	animation-delay: 1.5s;
}
.top_fv .fv_text p {
	color: var(--blue);
}
#staff-slider {
	position: absolute;
	z-index: 1;
	opacity: 0;
	animation: sliderFadeInUp 1.5s ease-out forwards;
	animation-delay: 3.0s;
}
#staff-slider .splide__slide {
	display: flex;
	justify-content: center;
	align-items: center;
}
#staff-slider .splide__slide img {
	object-fit: cover;
}
/* 画像用 */
@keyframes fvFadeInUp {
	0% {
		opacity: 0;
		transform: translateY(100px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}
@media ( min-width: 1025px ){
	.top_fv {
		background: url("img/fv_bg.jpg") no-repeat 0 0 / cover;
	}	
}
@media (min-width: 768px) and (max-width: 1024px) {
	.top_fv {
		background: url("img/fv_bg.jpg") no-repeat 30% 0 / cover;
	}
}
@media ( min-width: 768px ){
	/* .top_fv */
	.top_header {
		padding: min(20px, calc(20 / var(--width) * 100vw)) 0;
	}
	.top_header .logo {
		width: 292px;
	}
	.top_header .btn_wrap {
		gap: 0 min(20px, calc(20 / var(--width) * 100vw));
		margin-right: max(-53px, calc(-53 / var(--width) * 100vw));
	}
	.top_header .btn_wrap a {
		width: 130px;
		height: 130px;
	}
	.top_header .btn_wrap a span.en {
		font-size: 20px;
	}
	.top_header .btn_wrap a span.ja {
		font-size: 10px;
		font-weight: 500;
		margin: 1em 0 0;
	}
	.top_fv .fv_gnav {
		margin: min(50px, calc(50 / var(--width) * 100vw)) 0 min(120px, calc(120 / var(--width) * 100vw));
	}
	.top_fv .fv_gnav li {
		margin: 0 0 36px;
	}
	.top_fv .fv_gnav li a span.en {
		font-size: 15px;
		width: 130px;
	}
	.top_fv .fv_gnav li a span.ja {
		font-size: 10px;
		font-weight: 500;
	}
	.top_fv .fv_text {
		padding: 0 0 min(300px, calc(300 / var(--width) * 100vw));
	}
	.top_fv .fv_text .img_text {
		width: min(800px, calc(800 / var(--width) * 100vw));
		margin: 0 0 min(70px, calc(70 / var(--width) * 100vw));
	}
	#staff-slider {
		top: 0;
		left: 70%;
		width: min(281.5px, calc(281.5 / var(--width) * 100vw));
		height: 100%;
	}
	#staff-slider .splide__slide {
		height: min(438px, calc(438 / var(--width) * 100vw)) !important;
		margin-bottom: min(20px, calc(20 / var(--width) * 100vw));
	}
	#staff-slider .splide__slide img {
		width: min(281.5px, calc(281.5 / var(--width) * 100vw));
		height: min(438px, calc(438 / var(--width) * 100vw));
	}
	/* スライダー用 */
	@keyframes sliderFadeInUp {
		0% {
			opacity: 0;
			transform: translate(-50%, 20px);
		}
		100% {
			opacity: 1;
			transform: translate(-50%, 0);
		}
	}
}
@media ( max-width: 767px ){
	/* .top_fv */
	.top_fv {
		background: url("img/fv_bg_sp.png") no-repeat 0 0 / 100% auto;
		margin: 14.6667vw 0 0;
		padding: 30vw 0 90vw;
		height: auto;
	}	
	.top_fv .fv_text .img_text {
		width: 82.9333vw;
		margin: 0 0 9vw;
	}
	.top_fv .fv_text p {
		font-size: 4vw;
		line-height: 1.5;
	}
	#staff-slider {
		top: auto;
		left: 0;
		right: 0;
		width: 100% !important; 
		max-width: 100% !important;
		height: auto;
		bottom: 26.6667vw;
	}
	#staff-slider .splide__slide {
		height: auto !important;
		margin-right: 6.4vw;
		width: 38.6667vw !important;
	}
	#staff-slider .splide__slide img {
		width: 38.6667vw;
		height: auto;
	}
	@keyframes sliderFadeInUp {
		0% {
			opacity: 0;
			transform: translateY(20px);
		}
		100% {
			opacity: 1;
			transform: translateY(0);
		}
	}
}

/* .top_news .top_numbers */
.news_list dl {
	text-align: left;
	color: #fff;
	font-weight: 500;
	line-height: 1.4;
	display: flex;
	align-items: center;
}
.news_wrap .news_list dl {
	color: var(--navy);
}
.news_list dl dt {
	position: relative;
}
.news_list dl dt::after {
	content: "";
	background: #fff;
	width: 1px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.news_wrap .news_list dl dt::after {
	background: var(--navy);
}
.news_list dl dt span {
	display: block;
	font-family: "Plus Jakarta Sans", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
}
.in_numbers .sec_in {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.in_numbers .sec_in dl {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.in_numbers .sec_in dl dt {
	width: 100%;
	background: #fff;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
}
.in_numbers .sec_in dl dd {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.in_numbers .sec_in dl .icon {
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.in_numbers .sec_in dl .text_box {
	width: 100%;
}
.in_numbers .sec_in dl .text_box.side {
	display: flex;
	justify-content: space-between;
}
.in_numbers .sec_in dl:first-child .text_box {
	text-align: right;
}
.in_numbers .sec_in dl .num_txt {
	color: #fff;
	font-weight: 700;
}
.in_numbers .sec_in dl .num_txt .num {
	font-family: 'din_pro_semi';
	src: local(''), url('font/d-din-pro-semi-bold.woff') format('woff');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}
.in_numbers .sec_in dl .percent {
	font-weight: 600;
}
.in_numbers .sec_in dl dd .note {
	display: inline-block;
	color: #fff;
}
@media ( min-width: 768px ){
	.sec_wrap {
		background: url("img/news_numbers_bg.jpg") no-repeat center 0 / cover;
	}
	.top_news .sec_in {
		display: flex;
		gap: 0 min(175px, calc(175 / var(--width) * 100vw));
		padding: min(130px, calc(130 / var(--width) * 100vw)) 0 min(115px, calc(115 / var(--width) * 100vw));
	}
	.news_list {
		padding: 60px 0 0;
	}
	.news_list dl {
		gap: 0 min(75px, calc(75 / var(--width) * 100vw));
		margin: 0 0 90px;
		transition: all 0.5s ease;
	}
	.news_list a:hover dl {
		color: var(--navy);
	}
	.news_wrap .news_list a:hover dl {
		color: var(--blue);
	}
	.news_list dl dt {
		width: 50px;
	}
	.news_list dl dd {
		width: calc(100% - 50px - min(75px, calc(75 / var(--width) * 100vw)));
	}
	.news_list dl dt::after {
		height: min(90px, calc(150 / var(--width) * 100vw));
		right: max(-38px, calc(-38 / var(--width) * 100vw));
		transition: all 0.5s ease;
	}
	.news_list a:hover dl dt::after {
		background: var(--navy);
	}
	.news_wrap .news_list a:hover dl dt::after {
		background: var(--blue);
	}
	.news_list dl dt .year {
		font-size: 15px;
	}
	.in_numbers {
		padding: min(130px, calc(130 / var(--width) * 100vw)) 0;
	}
	.in_numbers .sec_in {
		padding: min(120px, calc(120 / var(--width) * 100vw)) 0 min(70px, calc(70 / var(--width) * 100vw));
		gap: min(110px, calc(110 / var(--width) * 100vw)) min(74px, calc(74 / var(--width) * 100vw));
	}
	.in_numbers .sec_in dl {
		width: 275px;
	}
	.in_numbers .sec_in dl:first-child {
		width: 973px;
	}
	.in_numbers .sec_in dl dt {
		height: 60px;
	}
	.in_numbers .sec_in dl .icon {
		height: 170px;
	}
	.in_numbers .sec_in dl:first-child .icon {
		height: 280px;
	}
	.in_numbers .sec_in dl:nth-child(1) .icon img {
		width: 533px;
	}
	.in_numbers .sec_in dl:nth-child(2) .icon img {
		width: 89.5px;
	}
	.in_numbers .sec_in dl:nth-child(3) .icon img {
		width: 69px;
	}
	.in_numbers .sec_in dl:nth-child(4) .icon img {
		width: 110px;
	}
	.in_numbers .sec_in dl:nth-child(5) .icon img {
		width: 102px;
	}
	.in_numbers .sec_in dl:nth-child(6) .icon img {
		width: 91.5px;
	}
	.in_numbers .sec_in dl:nth-child(7) .icon img {
		width: 95.5px;
	}
	.in_numbers .sec_in dl .num_txt {
		font-size: 27.5px;
	}
	.in_numbers .sec_in dl .num_txt .num {
		font-size: 65px;
		margin: 0 5px;
	}
	.in_numbers .sec_in dl .percent {
		font-size: 36px;
	}
	.in_numbers .sec_in dl dd .note {
		display: block;
		width: 533px;
		margin: 0 auto;
		font-size: 14px;
	}
}
@media ( max-width: 767px ){
	.sec_wrap {
		background: url("img/news_numbers_bg_sp.jpg") no-repeat center 0 / cover;
	}
	.top_news .sec_in {
		padding: 12.6667vw 0 14.6667vw;
	}
	.news_list {
		padding: 12.8vw 0 0;
	}
	.news_list dl {
		gap: 0 13.3333vw;
		margin: 0 0 8vw;
	}
	.news_list dl dt {
		width: 13vw;
	}
	.news_list dl dd {
		width: calc(100% - 26.3333vw);
	}
	.news_list dl dt::after {
		height: 12vw;
		right: -6.6667vw;
	}
	.news_list dl dt span {
		font-size: 4.6667vw;
	}
	.news_list dl dt .year {
		font-size: 4vw;
	}
	.news_list dl dd {
		font-size: 4vw;
		line-height: 1.66;
	}
	.top_news .img_box {
		margin: 0 -6.6667vw;
	}
	.in_numbers {
		overflow: hidden;
		padding: 13.0667vw 0 16.6667vw;
	}
	.in_numbers .sec_title .main.en .line-1 {
		font-size: 9.3333vw;
	}
	.in_numbers .sec_title .main.en .line-2 {
		font-size: 12.6667vw;
	}	
	.in_numbers .sec_in {
		padding: 14vw 0 7.3333vw;
		gap: 12.8vw 6.4vw;
	}
	.in_numbers .sec_in dl {
		width: 40vw;
	}
	.in_numbers .sec_in dl:first-child {
		width: 100%;
	}
	.in_numbers .sec_in dl dt {
		height: 16vw;
		font-size: 4.6667vw;
		line-height: 1.14;
	}
	.in_numbers .sec_in dl .icon {
		height: 36.6667vw;
	}
	.in_numbers .sec_in dl:first-child .icon {
		height: auto;
		display: block;
		width: 100%;
		padding: 10vw 0 2vw;
	}
	.in_numbers .sec_in dl:nth-child(1) .icon img {
		width: 100%;
	}
	.in_numbers .sec_in dl:nth-child(2) .icon img {
		width: 21.0667vw;
	}
	.in_numbers .sec_in dl:nth-child(3) .icon img {
		width: 16.2667vw;
	}
	.in_numbers .sec_in dl:nth-child(4) .icon img {
		width: 25.8667vw;
	}
	.in_numbers .sec_in dl:nth-child(5) .icon img {
		width: 24vw;
	}
	.in_numbers .sec_in dl:nth-child(6) .icon img {
		width: 21.6vw;
	}
	.in_numbers .sec_in dl:nth-child(7) .icon img {
		width: 22.5333vw;
	}
	.in_numbers .sec_in dl .num_txt {
		font-size: 6vw;
	}
	.in_numbers .sec_in dl .num_txt .num {
		font-size: 16vw;
		margin: 0 1vw;
	}
	.in_numbers .sec_in dl:nth-child(3) .num_txt {
		font-size: 4vw;
		margin: 5vw 0 0;
	}
	.in_numbers .sec_in dl:nth-child(3) .num_txt .num {
		font-size: 10vw;
		margin: 0;
	}
	.in_numbers .sec_in dl .percent {
		font-size: 6.4vw;
	}
	.in_numbers .sec_in dl dd .note {
		font-size: 3.7333vw;
	}
	.scroll_container {
		display: block;
		width: 100%;
		overflow-x: scroll !important;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
	}
	.scroll_content {
		width: 136.1333vw !important;
		display: block;
	}
	.scroll_content img {
		width: 136.1333vw !important;
		max-width: none !important;
		display: block;
		margin: 0 0 8vw;
	}
	.scroll_container::-webkit-scrollbar {
		height: 4vw;
		width: calc(100% - 8vw)!important;
	}
	.scroll_container::-webkit-scrollbar-track {
		background: #fff;
		border-radius: 1.6666vw;
		box-sizing: border-box;
	}
	.scroll_container::-webkit-scrollbar-thumb {
		background: var(--navy);
		border-radius: 1.6666vw;
	}
}

/* our_work */
.our_work {
	overflow-x: hidden;
}
.our_work .inner {
	position: relative;
}
.our_work .text_box {
	text-align: left;
	color: #fff;
}
.translucent {
	position: absolute;
    text-align: left;
    animation: blur 3s both ease-in;
}
.our_work .translucent {
	writing-mode: vertical-rl;
}
.translucent .txt1,
.translucent .txt2 {
	display: block;
	opacity: 0;
	color: transparent;
	transition: opacity .6s ease, color 2s ease, text-shadow 1.6s ease;
	font-weight: 500;
	white-space: nowrap;
}
.translucent.is-show .txt1,
.translucent.is-show .txt2 {
	opacity: 1;
	color: rgba(255,255,255,0.3);
	text-shadow: none;
}
.translucent.is-show .txt1 {
	transition-delay: .5s;
}
.translucent.is-show .txt2 {
	transition-delay: 1.3s;
}
.ticker {
	overflow: hidden;
}
@media ( min-width: 768px ){
	.our_work {
		background: url("img/our_work_bg.jpg") no-repeat center 0 / cover;
		padding: min(170px, calc(170 / var(--width) * 100vw)) 0 min(120px, calc(120 / var(--width) * 100vw));
	}
	.our_work .text_box {
		padding: min(110px, calc(110 / var(--width) * 100vw)) 0;
	}
	.our_work .text_box .lead {
		font-size: min(40px, calc(60 / var(--width) * 100vw));
		font-weight: 500;
		line-height: 1.4;
		letter-spacing: 0.025em;
		margin: 0 0 0 -0.5em;
	}
	.our_work .text_box .text {
		margin: 3em 0 0;
	}
	.our_work .translucent {
		top: 0;
		right: min(72.5px, calc(72.5 / var(--width) * 100vw));
	}
	.translucent .txt1,
	.translucent .txt2 {
		text-shadow: 0 0 30px rgba(255,255,255,1);
	}
	.translucent .txt1 {
		font-size: min(91px, calc(91 / var(--width) * 100vw));
	}
	.translucent .txt2 {
		font-size: min(182px, calc(182 / var(--width) * 100vw));
	}
	.our_work .translucent .txt2 {
		margin: min(130px, calc(130 / var(--width) * 100vw)) min(20px, calc(20 / var(--width) * 100vw)) 0 0;
	}
	.ticker .splide__slide img {
		width: min(225px, calc(225 / var(--width) * 100vw));
	}	
}
@media ( max-width: 767px ){
	.our_work {
		background: url("img/our_work_bg_sp.jpg") no-repeat center 0 / cover;
		padding: 16.6667vw 0;
	}
	.our_work .text_box {
		padding: 17.3333vw 0 16vw;
	}
	.our_work .text_box .lead {
		font-size: 8vw;
		font-weight: 500;
		line-height: 1.58;
		letter-spacing: 0.025em;
	}
	.our_work .text_box .text {
		font-size: 4vw;
		line-height: 1.66;
		margin: 9.3333vw 0 0;
	}
	.our_work .translucent {
		top: -10vw;
		right: 0;
	}
	.translucent .txt1,
	.translucent .txt2 {
		text-shadow: 0 0 4vw rgba(255,255,255,1);
	}
	.translucent .txt1 {
		font-size: 17.3333vw;
	}
	.translucent .txt2 {
		font-size: 35.3333vw;
	}
	.our_work .translucent .txt2 {
		margin: 14.6667vw 2vw 0 0;
	}
	.ticker .splide__slide img {
		width: 60vw;
	}
}

/* our_people */
.our_people {
	overflow-x: hidden;
}
.our_people .inner {
	position: relative;
}
.our_people .interview .img_box {
	aspect-ratio: 375 / 270;
	width: 100% !important;
	max-width: 100% !important;
	overflow: hidden; /* 枠からはみ出た画像を隠す */
}
.our_people .interview .img_box img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
}
.our_people .interview .text_box {
	text-align: left;
}
.our_people .interview .cat {
	display: flex;
	flex-wrap: wrap;
}
.our_people .interview .cat span {
	display: inline-block;
	color: #fff;
	background: var(--blue);
}
.our_people .interview .ymd {
	display: block;
	font-family: "Plus Jakarta Sans", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
	color: var(--blue);
}
@media ( min-width: 1025px ){
	.our_people .interview .title {
		font-size: 16px;
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	.our_people .interview .title {
		font-size: 14px;
	}
}
@media ( min-width: 768px ){
	.our_people {
		background: url("img/our_people_bg.jpg") no-repeat center 0 / cover;
		padding: min(170px, calc(170 / var(--width) * 100vw)) 0 min(120px, calc(120 / var(--width) * 100vw));
	}
	.our_people .interview {
		padding: min(100px, calc(100 / var(--width) * 100vw)) 0;
	}
	.our_people .interview ul {
		display: flex !important;
		gap: 0 min(34px, calc(34 / var(--width) * 100vw));
	}
	.our_people .interview ul li {
		flex: 1;
	}
	.our_people .interview .img_box {
		margin: 0 0 24px;
	}
	.our_people .interview .cat {
		gap: 5px;
		margin: 0 0 25px;
	}
	.our_people .interview .cat span {
		padding: min(7px, calc(7 / var(--width) * 100vw)) min(18px, calc(18 / var(--width) * 100vw)) min(8px, calc(8 / var(--width) * 100vw));
		font-size: min(15px, calc(15 / var(--width) * 100vw));
		border-radius: min(15px, calc(15 / var(--width) * 100vw));
	}
	.our_people .interview .ymd {
		font-size: 15px;
		margin: 0 0 1em;
	}
	.our_people .interview .title {
		line-height: 1.7;
	}
	.our_people .translucent {
		top: -30px;
		right: min(72.5px, calc(72.5 / var(--width) * 100vw));
	}
	.our_people .translucent .txt2 {
		margin: min(20px, calc(20 / var(--width) * 100vw)) 0 0 min(200px, calc(200 / var(--width) * 100vw));
	}
	.our_people .translucent.is-show span {
		color: rgba(255,255,255,1);
	}
}
@media ( max-width: 767px ){
	.our_people {
		background: url("img/our_people_bg_sp.jpg") no-repeat center 0 / cover;
		padding: 16.6667vw 0;
	}
	.our_people .interview {
		padding: 16vw 0 28vw;
	}
	.our_people .interview .img_box {
		margin: 0 0 12vw;
	}
	.our_people .interview .cat {
		gap: 1.2vw;
		margin: 0 0 7.4667vw;
	}
	.our_people .interview .cat span {
		padding: 2vw 4.3333vw 2.3333vw;
		font-size: 3.7333vw;
		border-radius: 4vw;
	}
	.our_people .interview .ymd {
		font-size: 4.6667vw;
		margin: 0 0 1em;
	}
	.our_people .interview .title {
		font-size: 4vw;
		line-height: 1.66;
	}
	.our_people .translucent {
		top: -11.2vw;
		right: 0;
	}
	.our_people .translucent {
		writing-mode: vertical-rl;
	}
	.our_people .translucent.is-show span {
		color: rgba(255,255,255,0.5);
	}
	.our_people .translucent .txt2 {
		margin: 9.0667vw 2vw 0 0;
	}
	.our_people .splide__arrow {
		opacity: 1;
		top: auto;
		bottom: 16vw;
		transform: translateY(-0%);
		background-color: transparent; /* ボタンの背景を透明にする */
		width: 8vw;
		height: 8vw;
	}
	.our_people .splide__arrow::before {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		margin: auto;
		width: 6vw;
		height: 6vw;
		border-top: solid 0.8vw var(--navy);
		border-right: solid 0.8vw var(--navy);
	}
	.our_people .splide__arrow.prev {
		left: 0;
	}
	.our_people .splide__arrow.prev::before {
		transform: rotate(-135deg);
	}
	.our_people .splide__arrow.next {
		right: 0;
	}
	.our_people .splide__arrow.next::before {
		transform: rotate(45deg);
	}
	.our_people .splide__pagination {
		bottom: 18vw;
	}	
	.our_people .splide__pagination__page {
		background: #fff;
		width: 4.6667vw;
		height: 4.6667vw;
		margin: 0 2.8vw;
		opacity: 1;
		padding: 0;
	}	
	.our_people .splide__pagination__page.is-active {
		background: var(--navy);
		transform: scale(1);
	}	
}

/* link_wrap */
.link_wrap .link.environment {
	color: var(--blue);
}
.link_wrap .link.recruit {
	color: #fff;
}
.link_wrap .link span {
	display: block;
}
.link_wrap .link .en {
	font-weight: 600;
}
.link_wrap .link a.btn {
	margin-top: auto;
}
@media ( min-width: 1025px ){
	.link_wrap .link p {
		font-size: 14px;
	}
	.link_wrap .link a.btn {
		font-size: 13px;
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	.link_wrap .link p {
		font-size: 14px;
	}
	.link_wrap .link a.btn {
		font-size: 13px;
	}
}
@media ( min-width: 768px ){
	.link_wrap {
		background: url("img/our_people_link_bg.jpg") no-repeat center 0 / cover;
		padding: min(117px, calc(100 / var(--width) * 100vw)) 0;
	}
	.link_wrap .inner {
		display: flex;
		justify-content: center;
		gap: 0 min(100px, calc(100 / var(--width) * 100vw));
	}
	.link_wrap .link {
		padding: min(120px, calc(120 / var(--width) * 100vw)) min(20px, calc(20 / var(--width) * 100vw)) min(100px, calc(100 / var(--width) * 100vw));
		width: min(700px, calc(700 / var(--width) * 100vw));
	}
	.link_wrap .link.environment {
		background: url("img/link_environment_bg.jpg") no-repeat center 0 / cover;
	}
	.link_wrap .link.recruit {
		background: url("img/link_recruit_bg.jpg") no-repeat center 0 / cover;
	}
	.link_wrap .link .en {
		font-size: min(75px, calc(75 / var(--width) * 100vw));
	}
	.link_wrap .link .ja {
		font-size: 15px;
		margin: min(30px, calc(30 / var(--width) * 100vw)) 0 min(130px, calc(130 / var(--width) * 100vw));
	}
	.link_wrap .link p {
		line-height: 1.7;
		margin: 0 0 min(70px, calc(70 / var(--width) * 100vw));
	}
}
@media ( max-width: 767px ){
	.link_wrap {
		background: url("img/our_people_link_bg_sp.jpg") no-repeat center 0 / cover;
		padding: 6.6667vw 0;
	}
	.link_wrap .link {
		padding: 17.3333vw 6vw 11.2vw;
		width: 100%;
		box-sizing: border-box;
	}
	.link_wrap .link.environment {
		background: url("img/link_environment_bg_sp.jpg") no-repeat center 0 / cover;
		margin: 0 0 6.4vw;
	}
	.link_wrap .link.recruit {
		background: url("img/link_recruit_bg_sp.jpg") no-repeat center 0 / cover;
	}
	.link_wrap .link .en {
		font-size: 9.6vw;
	}
	.link_wrap .link .ja {
		font-size: 4vw;
		margin: 5.3333vw 0 10vw;
	}
	.link_wrap .link p {
		font-size: 4vw;
		line-height: 1.66;
		margin: 0 0 17.3333vw;
	}
	.link_wrap .link a.btn {
		height: 24vw;
		font-size: 4.4vw;
	}	
}

/* faq */
.faq .sec_in {
	width: 100%;
}
.faq .sec_in dl dt {
	position: relative;
	cursor: pointer;
	text-align: left;
}
.faq .sec_in dl dt::before,
.faq .sec_in dl dt::after {
	content: "";
	position: absolute;
	background-color: var(--navy);
	transition: all 0.3s ease;
	top: 50%;
	transform: translateY(-50%);
}
.faq .sec_in dl.active dt::before {
	transform: translateY(-50%) rotate(90deg);
	opacity: 0;
}
.faq .sec_in dl dt span,
.faq .sec_in dl dd {
	text-align: left;
	position: relative;
}
.faq .sec_in dl dt span {
	display: block;
}
.faq .sec_in dl dt span::before,
.faq .sec_in dl dd::before {
	color: #fff;
	font-family: "Plus Jakarta Sans", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 600;
	line-height: 1;
	position: absolute;
}
.faq .sec_in dl dt span::before {
	content: "Q";
	background: var(--blue);
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.faq .sec_in dl dd::before {
	content: "A";
	background: var(--navy);
}
.faq .sec_in dl dt {
	border-bottom: 1px solid var(--blue);
}
.faq .sec_in dl dd {
	display: none;
}
@media ( min-width: 768px ){
	.faq {
		padding: min(130px, calc(130 / var(--width) * 100vw)) 0;
	}
	.faq .inner {
		display: flex;
	}
	.faq .sec_title {
		flex: 0 0 min(480px, calc(480 / var(--width) * 100vw));
	}
	.faq .sec_in {
		margin: min(55px, calc(55 / var(--width) * 100vw)) 0 0;
	}
	.faq .sec_in dl dt::before {
		right: 43px;
		width: 2px;
		height: 35px;
	}
	.faq .sec_in dl dt::after {
		right: 26px;
		width: 35px;
		height: 2px;
	}
	.faq .sec_in dl dt span::before,
	.faq .sec_in dl dd::before {
		font-size: 15px;
	}
	.faq .sec_in dl dd::before {
		top: 30px;
	}
	.faq .sec_in dl dt span::before {
		padding: 10px 11px;
	}
	.faq .sec_in dl dd::before {
		padding: 10px 12px;
		left: 60px;
	}
	.faq .sec_in dl {
		line-height: 1.7;
	}
	.faq .sec_in dl dt {
		padding: 30px 70px 30px 0;
	}
	.faq .sec_in dl dt span {
		padding: 0 0 0 50px;
	}
	.faq .sec_in dl dd {
		padding: 30px 0 30px 110px;
		line-height: 1.7;
	}
}
@media ( max-width: 767px ){
	.faq {
		padding: 14.6667vw 0;
	}
	.faq .sec_in {
		margin: 12.8vw 0 0;
	}
	.faq .sec_in dl dt::before {
		right: 3.4vw;
		width: 0.5333vw;
		height: 7.3333vw;
	}
	.faq .sec_in dl dt::after {
		right: 0;
		width: 7.3333vw;
		height: 0.5333vw;
	}
	.faq .sec_in dl dt span::before,
	.faq .sec_in dl dd::before {
		font-size: 4vw;
	}
	.faq .sec_in dl dd::before {
		top: 6vw;
	}
	.faq .sec_in dl dt span::before {
		padding: 3vw 3.2vw;
	}
	.faq .sec_in dl dd::before {
		padding: 3vw 3.6vw;
		left: 15.7333vw;
	}
	.faq .sec_in dl {
		font-size: 4vw;
		line-height: 1.3333;
	}
	.faq .sec_in dl dt {
		padding: 5.3333vw 14.6667vw 5.3333vw 0;
	}
	.faq .sec_in dl dt span {
		padding: 0 0 0 14.6667vw;
	}
	.faq .sec_in dl dd {
		padding: 5.3333vw 0 5.3333vw 30.6667vw;
		line-height: 1.4;
	}
}

/* apply_for */
.apply_for {
	position: relative;
	z-index: 2;
	overflow-x: hidden;
}
.apply_for .en {
	font-weight: 600;
	color: #fff;
}
.apply_for .ja {
	display: block;
	color: #fff;
}
.apply_for .translucent {
	position: relative;
	text-align: center;
}
.apply_for .translucent .txt1 span {
	font-feature-settings: "palt";
}
.apply_for .btn.entry {
	background: var(--blue);
	border: 1px solid var(--blue);
}
@media ( min-width: 768px ){
	.apply_for {
		background: url("img/apply_for_this_position_bg.png") no-repeat center 0 / cover;
		padding: min(250px, calc(250 / var(--width) * 100vw)) 0 min(250px, calc(250 / var(--width) * 100vw));
		margin: 0 0 max(-60px, calc(-60 / var(--width) * 100vw));
	}
	.apply_for .en {
		font-size: min(85px, calc(85 / var(--width) * 100vw));
		margin: 0 0 min(40px, calc(40 / var(--width) * 100vw));
	}
	.apply_for .ja {
		font-size: 15px;
		margin: 0 0 min(85px, calc(85 / var(--width) * 100vw));
	}
	.apply_for .translucent .txt1 span {
		font-size: min(170px, calc(170 / var(--width) * 100vw));
	}
	.apply_for .btn_wrap {
		display: flex;
		justify-content: center;
		gap: min(50px, calc(50 / var(--width) * 100vw));
		margin-bottom: 50px;
	}
	.apply_for .btn {
		margin: 0;
	}
	.apply_for .btn.entry:hover {
		color: var(--blue);
		background: #fff;
	}
}
@media ( max-width: 767px ){
	.apply_for {
		background: url("img/apply_for_this_position_bg_sp.png") no-repeat center 0 / cover;
		padding: 12vw 0;
		margin: 0 0 -6vw;
	}
	.apply_for .en {
		font-size: 10.6667vw;
		line-height: 1.375;
		margin: 0 0 8vw;
	}
	.apply_for .ja {
		font-size: 4vw;
		margin: 0 0 15vw;
	}
	.apply_for .translucent .txt1 {
		font-size: 6.2667vw;
	}
	.apply_for .translucent .txt1 span {
		font-size: 11.6vw;
	}
	.apply_for .btn {
		margin: 0 auto 5.3333vw;
	}
}
 
/* link_wrap2 */
.link_wrap2 .link {
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
}
.link_wrap2 .link .en {
	font-weight: 600;
	line-height: 1.2;
}
.link_wrap2 .link .en span {
	display: block;
}
.link_wrap2 .link .ja {
	display: block;
	color: var(--blue);
	margin-top: auto;
}
.link_wrap2 .link p {
	margin-top: auto;
}
.link_wrap2 .link .btn {
	margin-top: auto;
	width: 100%;
}
@media ( min-width: 1025px ){
	.link_wrap2 .link p {
		font-size: 15px;
	}
	.link_wrap2 .link .btn {
		font-size: 12px;
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	.link_wrap2 .link p {
		font-size: 15px;
	}
	.link_wrap2 .link .btn {
		font-size: 12px;
	}
}
@media ( min-width: 768px ){
	.link_wrap2 {
		background: url("img/top_links_bg.jpg") no-repeat center 0 / cover;
		padding: min(150px, calc(150 / var(--width) * 100vw)) 0 min(120px, calc(120 / var(--width) * 100vw));
	}
	.link_wrap2 .inner {
		display: flex;
		justify-content: center;
		gap: 0 min(100px, calc(100 / var(--width) * 100vw));
	}
	.link_wrap2 .link {
		width: min(700px, calc(700 / var(--width) * 100vw));
		background: url("img/link_bg.jpg") no-repeat right center / cover;
		padding: min(120px, calc(120 / var(--width) * 100vw)) min(40px, calc(40 / var(--width) * 100vw)) min(95px, calc(95 / var(--width) * 100vw));
	}
	.link_wrap2 .link .en {
		font-size: min(50px, calc(50 / var(--width) * 100vw));
		margin: 0 0 min(30px, calc(30 / var(--width) * 100vw));
	}
	.link_wrap2 .link .en span {
		font-size: min(75px, calc(75 / var(--width) * 100vw));
	}
	.link_wrap2 .link.corporate .en span {
		font-size: min(62px, calc(62 / var(--width) * 100vw));
	}
	.link_wrap2 .link .ja {
		font-size: 15px;
		margin-bottom: min(90px, calc(90 / var(--width) * 100vw));
	}
	.link_wrap2 .link p {
		line-height: 1.7;
		margin-bottom: min(50px, calc(50 / var(--width) * 100vw));
	}
}
@media ( max-width: 767px ){
	.link_wrap2 {
		background: url("img/top_links_bg_sp.jpg") no-repeat center 0 / cover;
		padding: 16.3333vw  0 10vw;
	}
	.link_wrap2 .link {
		background: url("img/link_bg_sp.jpg") no-repeat right center / cover;
		margin: 0 0 7.3333vw;
		padding: 10.6667vw 6vw 8vw;
	}
	.link_wrap2 .link .en {
		font-size: 9.6vw;
		margin: 0 0 3.3333vw;
	}
	.link_wrap2 .link .en span {
		font-size: 14.6667vw;
	}
	.link_wrap2 .link.corporate .en {
		font-size: 10.6667vw;
	}
	.link_wrap2 .link.corporate .en span {
		font-size: 11.3333vw;
	}
	.link_wrap2 .link .ja {
		font-size: 4vw;
		margin-bottom: 8vw;
	}
	.link_wrap2 .link p {
		font-size: 4vw;
		line-height: 1.7;
		margin-bottom: 5.3333vw;
	}
}

/* =subpage common
-------------------------------------------------------------- */
.fv {
	text-align: left;
	box-sizing: border-box;
}
.fv .page_title .en {
	display: block;
	color: var(--navy);
	font-weight: 600;
}
.fv .page_title .en .small {
	display: block;
}
.fv .page_title .ja {
	display: block;
	color: var(--blue);
	font-weight: 500;
}
.subpage .lead {
	text-align: left;
	color: var(--blue);
}
.subpage .sub_title {
	text-align: left;
	font-weight: 700;
	padding: 0 0 1em;
	border-bottom: 1px solid var(--navy);
}
@media ( min-width: 768px ){
	.fv {
		height: min(703px, calc(703 / var(--width) * 100vw));
		margin: min(128px, calc(128 / var(--width) * 100vw)) 0 0;
		padding: min(27px, calc(27 / var(--width) * 100vw)) 0 min(130px, calc(130 / var(--width) * 100vw));
	}
	.fv.other {
		height: min(370.5px, calc(370.5 / var(--width) * 100vw));
	}
	.fv .page_title {
		margin: 0 0 min(95px, calc(95 / var(--width) * 100vw));
	}
	.fv .page_title .en {
		font-size: min(105px, calc(105 / var(--width) * 100vw));
		line-height: 1.04;
		margin: min(70px, calc(70 / var(--width) * 100vw)) 0 min(20px, calc(20 / var(--width) * 100vw));
	}
	.fv .page_title .ja {
		font-size: min(22.5px, calc(22.5 / var(--width) * 100vw));
	}
	.subpage .lead {
		line-height: 2;
	}
	.subpage .sub_title {
		font-size: clamp(1.25rem, 0.963rem + 0.6vw, 1.563rem);
		margin: 0 0 min(70px, calc(70 / var(--width) * 100vw));
	}
}
@media ( max-width: 767px ){
	.fv {
		margin: 14.6667vw 0 0;
		padding: 4vw 0 29.3333vw;
	}
	.fv .page_title {
		margin: 0 0 17.6vw;
	}
	.fv.other .page_title {
		margin: 0;
	}
	.fv .page_title .en {
		font-size: 16vw;
		line-height: 1.1;
		margin: 8vw 0 4vw;
	}
	.fv .page_title .en .small {
		font-size: 11.7333vw;
	}
	.fv .page_title .ja {
		font-size: 4.6667vw;
	}
	.subpage .lead {
		line-height: 1.66;
	}
	.subpage .sub_title {
		font-size: 5.3333vw;
		margin: 0 0 8vw;
	}
}

/* =WORK ENVIRONMENT
-------------------------------------------------------------- */
/* aim */
.aim .top_lead {
	text-align: left;
}
.aim .sec_in .text_box {
	text-align: left;
}
.aim .sec_in .text_box dt {
	display: flex;
	align-items: center;
	position: relative;
}
.aim .sec_in .text_box dt::after {
	content: "";
	background: var(--navy);
	height: 1px;
	position: absolute;
	bottom: 0;
}
.aim .sec_in .text_box dt .num {
	font-family: "Plus Jakarta Sans", sans-serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: normal;
}
.aim .sec_in .text_box dt p {
	font-weight: 700;
}
.aim .sec_in .text_box dd {
	color: var(--blue);
}
/* career_path */
.career_path {
	background: var(--blue);
}
.subpage .career_path .lead {
	color: #fff;
}
.career_path .sec_in .case p {
	color: #fff;
	text-align: left;
	line-height: 1.6;
}
.career_path .sec_in .case dl dt {
	color: #fff;
	text-align: left;
	font-weight: 600;
}
.career_path .sec_in .case dl dt .num {
	display: inline-block;
	padding: 0 0 0 0.25em;
}
/* training_system */
.training_system .step {
	color: #fff;
}
.training_system .step dl {
	display: flex;
	flex-direction: column;
	flex: 1;
	box-sizing: border-box;
	position: relative;
}
.training_system .step dl:nth-child(1) {
	background: #6faddc;
}
.training_system .step dl:nth-child(2) {
	background: #4087bc;
}
.training_system .step dl:nth-child(3) {
	background: var(--blue);
}
.training_system .step dl:not(:last-child)::after {
	content: "";
	background: var(--navy);
	position: absolute;
}
.training_system .step dl dt {
	display: flex;
	align-items: flex-end;
}
.training_system .step dl dt span {
	display: inline-block;
}
.training_system .step dl dt .en {
	font-weight: 700;
	position: relative;
}
.training_system .step dl dt .en::after {
	content: "";
	background: #fff;
	height: 1px;
	transform: rotate(-45deg);
	position: absolute;
}
.training_system .step dl dt .en .num {
	display: block;
	font-weight: 600;
}
.training_system .step dl dt .heading {
	text-align: left;
	font-weight: 700;
}
.training_system .step dl dd p {
	text-align: left;
	line-height: 1.7;
}
/* benefits */
.benefits {
	background: var(--light_blue);
}
.benefits .benefit_wrap {
	display: flex;
	flex-wrap: wrap;
}
.benefits .benefit_wrap .benefit {
	background: #fff;
	box-sizing: border-box;
	display: flex;
	position: relative;
}
.benefits .benefit_wrap .benefit::before {
	content: "";
	background: var(--light_blue);
	clip-path: polygon(100% 0, 0 0, 100% 100%);
	position: absolute;
	top: 0;
	right: 0;
}
.benefits .benefit_wrap .benefit > span {
	display: inline-block;
	color: var(--blue);
	font-weight: 700;
}
.benefits .benefit_wrap .benefit .sup {
	margin: -1em 0 0;
}
.benefits .benefit_wrap .benefit.note1::after {
	content: "※社会保険、厚生年金、雇用保険、労災保険";
	height: 1em;
	color: var(--blue);
	position: absolute;
	left: 0;
}
.benefits .benefit_wrap .benefit.note2::after {
	content: "※エリアによって支給対象外となります。";
	height: 1em;
	color: var(--blue);
	position: absolute;
	left: 0;

}
@media (min-width: 768px) and (max-width: 1250px) {
	.training_system .step dl:last-child dt .heading {
		margin: 0 0 max(-30px, calc(-30 / var(--width) * 100vw));
	}
}
@media ( min-width: 768px ){
	/* fv */
	.fv.work {
		background: url("img/work_fv_bg.jpg") no-repeat 30% center / cover;
	}
	.fv.work .fv_text {
		width: min(649px, calc(649 / var(--width) * 100vw));
	}
	/* aim */
	.aim {
		background: url("img/work_bg.jpg") no-repeat center 0 / cover;
		padding: min(130px, calc(130 / var(--width) * 100vw)) 0 min(110px, calc(110 / var(--width) * 100vw));
	}
	.aim .top_lead {
		margin: 0 0 min(125px, calc(125 / var(--width) * 100vw));
	}
	.subpage .aim .lead {
		margin: min(80px, calc(80 / var(--width) * 100vw)) 0 min(60px, calc(60 / var(--width) * 100vw));
	}
	.aim .sec_in {
		display: flex;
		align-items: center;
		gap: 0 min(75px, calc(75 / var(--width) * 100vw));
		padding: 0 min(218px, calc(70 / var(--width) * 100vw)) 0 0;
	}
	.aim .sec_in:nth-child(even) {
		flex-direction: row-reverse;
		justify-content: flex-end;
		padding: 0 0 0 min(218px, calc(70 / var(--width) * 100vw));
	}
	.aim .sec_in .img_box {
		position: relative;
		z-index: 2;
		flex: 0 0 min(664px, calc(664 / var(--width) * 100vw));
	}
	.aim .sec_in .text_box {
		flex: 1 1 auto;
	}
	.aim .sec_in .text_box dt {
		padding: 0 0 min(40px, calc(40 / var(--width) * 100vw));
		margin: 0 0 min(60px, calc(60 / var(--width) * 100vw));
	}
	.aim .sec_in .text_box dt::after {
		width: 160%;
		right: 0;
	}
	.aim .sec_in:nth-child(even) .text_box dt::after {
		right: auto;
		left: 0;
	}
	.aim .sec_in .text_box dt .num {
		font-size: min(75px, calc(75 / var(--width) * 100vw));
		flex: 0 0 min(65px, calc(65 / var(--width) * 100vw));
	}
	.aim .sec_in .text_box dt p {
		font-size: clamp(1.25rem, 0.963rem + 0.6vw, 1.563rem);
		line-height: 1.4;
	}
	.aim .sec_in .text_box dd {
		line-height: 2;
	}
	/* career_path */
	.career_path {
		padding: min(160px, calc(160 / var(--width) * 100vw)) 0 min(136px, calc(136 / var(--width) * 100vw));
	}
	.subpage .career_path .lead {
		margin: min(90px, calc(90 / var(--width) * 100vw)) 0 min(80px, calc(80 / var(--width) * 100vw));
	}
	.career_path .sec_in {
		display: flex;
		gap: 0 min(70px, calc(70 / var(--width) * 100vw));
		margin: 0 0 min(130px, calc(130 / var(--width) * 100vw));
	}
	.career_path .sec_in .img_box {
		flex: 0 0 min(910px, calc(910 / var(--width) * 100vw));
	}
	.career_path .sec_in .case {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}
	.career_path .sec_in .case dl dt {
		margin: 0 0 min(15px, calc(15 / var(--width) * 100vw));
	}
	.career_path .sec_in .case dl dt .num {
		font-size: 25px;
	}
	.career_path .detail {
		display: flex;
	}
	/* training_system */
	.training_system {
		background: url("img/training_bg.jpg") no-repeat right 0 / cover;
		padding: min(178px, calc(178 / var(--width) * 100vw)) 0 min(133px, calc(133 / var(--width) * 100vw));
	}
	.subpage .training_system .lead {
		margin: min(90px, calc(90 / var(--width) * 100vw)) 0 min(78px, calc(78 / var(--width) * 100vw));
	}
	.training_system .step {
		display: flex;
		justify-content: space-between;
		gap: 0 min(126px, calc(126 / var(--width) * 100vw));
	}
	.training_system .step dl {
		padding: 25px min(45px, calc(45 / var(--width) * 100vw));
	}
	.training_system .step dl:not(:last-child)::after {
		width: min(45px, calc(45 / var(--width) * 100vw));
		height: min(70px, calc(70 / var(--width) * 100vw));
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
		top: 50%;
		right: max(-86.5px, calc(-86.5 / var(--width) * 100vw));
		transform: translateY(-50%);
	}
	.training_system .step dl dt {
		gap: 0 min(60px, calc(60 / var(--width) * 100vw));
		margin: 0 0 min(46px, calc(46 / var(--width) * 100vw)) max(-20px, calc(-20 / var(--width) * 100vw));
	}
	.training_system .step dl dt .en {
		font-size: min(15px, calc(15 / var(--width) * 100vw));
	}
	.training_system .step dl dt .en::after {
		width: min(120px, calc(120 / var(--width) * 100vw));
		top: 90%;
		left: max(-15px, calc(-15 / var(--width) * 100vw));
	}
	.training_system .step dl dt .en .num {
		font-size: min(37.5px, calc(37.5 / var(--width) * 100vw));
	}
	.training_system .step dl dt .heading {
		font-size: clamp(1.125rem, 0.724rem + 0.84vw, 1.563rem);
		line-height: 1.2;
		margin: 0 0 max(-15px, calc(-15 / var(--width) * 100vw));
	}
	.training_system .step dl dd .img_box {
		margin: 0 0 min(30px, calc(30 / var(--width) * 100vw));
	}
	/* benefits */
	.benefits {
		padding: min(178px, calc(178 / var(--width) * 100vw)) 0 min(200px, calc(200 / var(--width) * 100vw));
		margin: 0 0 max(-60px, calc(-60 / var(--width) * 100vw));
	}
	.subpage .benefits .lead {
		margin: min(90px, calc(90 / var(--width) * 100vw)) 0 min(78px, calc(78 / var(--width) * 100vw));
	}
	.benefits .benefit_wrap {
		gap: 40px min(30px, calc(30 / var(--width) * 100vw));
		margin: 0 0 min(85px, calc(85 / var(--width) * 100vw));
	}
	.benefits .benefit_wrap .benefit {
		width: clamp(13.75rem, 9.449rem + 8.96vw, 18.438rem);
		height: clamp(5rem, 1.559rem + 7.17vw, 8.75rem);
		padding: min(17px, calc(17 / var(--width) * 100vw));
		align-items: center;
	}
	.benefits .benefit_wrap .benefit::before {
		width: min(39px, calc(39 / var(--width) * 100vw));
		height: min(39px, calc(39 / var(--width) * 100vw));
	}
	.benefits .benefit_wrap .benefit .icon {
		width: min(96px, calc(96 / var(--width) * 100vw));
	}
	.benefits .benefit_wrap .benefit > span {
		text-align: left;
		line-height: 1.28;
		padding: 0 0 0 min(24px, calc(24 / var(--width) * 100vw));
	}
	.benefits .benefit_wrap .benefit.note1::after,
	.benefits .benefit_wrap .benefit.note2::after {
		font-size: 10px;
		bottom: -20px;
	}
}
@media ( max-width: 767px ){
	/* fv */
	.fv.work {
		background: url("img/work_fv_bg_sp.jpg") no-repeat 0 bottom / 100% auto;
		padding: 4vw 0 14vw;
	}
	.fv.work .fv_text {
		width: 81.7333vw;
	}
	/* aim */
	.aim {
		background: url("img/work_bg_sp.jpg") no-repeat center 0 / cover;
		padding: 9.3333vw 0 14.6667vw;
	}
	.aim .top_lead {
		font-size: 4vw;
		line-height: 1.66;
		margin: 0 0 14.6667vw;
	}
    .aim .sec_title .main .line-1 {
        font-size: 6.6667vw;
    }	
    .aim .sec_title .main .line-2 {
        font-size: 6.6667vw;
    }	
	.subpage .aim .lead {
		margin: 10.6667vw 0 12vw;
	}
	.aim .sec_in:not(:last-child) {
		margin: 0 0 10.6667vw;
	}
	.aim .sec_in .img_box {
		width: 75.4667vw;
		margin: 0 auto 6.6667vw;
	}
	.aim .sec_in .text_box dt {
		align-items: flex-start;
		padding: 0 0 6.6667vw;
		margin: 0 0 8.6667vw;
	}
	.aim .sec_in .text_box dt::after {
		width: 100%;
		left: 0;
	}
	.aim .sec_in .text_box dt .num {
		font-size: 16vw;
		flex: 0 0 12vw;
	}
	.aim .sec_in .text_box dt p {
		font-size: 5.0667vw;
		line-height: 1.44;
	}
	.aim .sec_in:first-child .text_box dt p {
		font-feature-settings: "palt";
	}
	.aim .sec_in .text_box dd {
		line-height: 1.66;
	}
	/* career_path */
	.career_path {
		padding: 15.6vw 0 16.4vw;
	}
	.subpage .career_path .lead {
		margin: 12vw 0 10vw;
	}
	.career_path .sec_in {
		margin: 0 0 14.6667vw;
	}
	.career_path .sec_in .img_box {
		margin: 0 0 13.3333vw;
	}
	.career_path .sec_in .case p {
		margin: 0 0 8vw;
	}
	.career_path .sec_in .case dl {
		margin: 0 0 8vw;
	}
	.career_path .sec_in .case dl dt {
		font-size: 2.4vw;
		margin: 0 0 2vw;
	}
	.career_path .sec_in .case dl dt .num {
		font-size: 3.4667vw;
	}
	.career_path .detail .img_box:not(:last-child) {
		margin: 0 0 5.3333vw;
		
	}
	/* training_system */
	.training_system {
		background: url("img/training_bg_sp.jpg") no-repeat right 0 / cover;
		padding: 15.6vw 0 16.4vw;
	}
	.subpage .training_system .lead {
		margin: 13.3333vw 0 10.6667vw;
	}
	.subpage .training_system .sub_title {
		margin: 0 0 13.3333vw;
	}
	.training_system .step dl {
		padding: 4.8vw 8.6667vw 6.6667vw;
	}
	.training_system .step dl:not(:last-child) {
		margin: 0 0 16.6667vw;
	}
	.training_system .step dl:not(:last-child)::after {
		width: 13.3333vw;
		height: 8.6667vw;
		clip-path: polygon(100% 0, 0 0, 50% 100%);
		bottom: -12.6667vw;
		left: 50%;
		transform: translateX(-50%);
	}
	.training_system .step dl dt {
		gap: 0 12vw;
		margin: 0 0 8.6667vw -4vw;
	}
	.training_system .step dl dt .en {
		font-size: 2.9333vw;
	}
	.training_system .step dl dt .en::after {
		width: 24vw;
		top: 90%;
		left: -2.6667vw;
	}
	.training_system .step dl dt .en .num {
		font-size: 7.2vw;
	}
	.training_system .step dl dt .heading {
		font-size: 4.6667vw;
		margin: 0 0 -2vw;
	}
	.training_system .step dl dd .img_box {
		margin: 0 0 5.6vw;
	}
	/* benefits */
	.benefits {
		padding: 15.2vw 0 16vw;
		margin: 0 0 -5.3333vw;
	}
	.subpage .benefits .lead {
		margin: 14.6667vw 0 13.3333vw;
	}
	.benefits .benefit_wrap {
		gap: 5.0667vw 0;
		justify-content: space-between;
		margin: 0 0 13.0667vw;
	}
	.benefits .benefit_wrap.v2 {
		margin: 0 0 16vw;
	}
	.benefits .benefit_wrap .benefit {
		flex-direction: column;
		width: 40.9333vw;
		height: 37.3333vw;
		align-items: center;
		padding: 2vw;
	}
	.benefits .benefit_wrap .benefit::before {
		width: 5.0667vw;
		height: 5.0667vw;
	}
	.benefits .benefit_wrap .benefit .icon {
		width: 20vw;
		margin: 0 0 2vw;
	}
	.benefits .benefit_wrap .benefit.two_line .icon {
		margin: 0;
	}
	.benefits .benefit_wrap .benefit > span {
		font-size: 4.6667vw;
		line-height: 1.3;
	}
	.benefits .benefit_wrap .benefit > span span {
		font-size: 4vw;
	}
	.benefits .benefit_wrap .benefit.note1,
	.benefits .benefit_wrap .benefit.note2 {
		margin-bottom: 2vw;
	}
	.benefits .benefit_wrap .benefit.note1::after,
	.benefits .benefit_wrap .benefit.note2::after {
		font-size: 2.6667vw;
		bottom: -4vw;
		white-space: nowrap;
	}
}

/* =ABOUT
-------------------------------------------------------------- */
/* mission */
.mission {
	background: var(--light_blue);
	overflow-x: hidden;
	position: relative;
}
.mission .translucent {
	writing-mode: vertical-rl;
}
.mission .translucent .txt1,
.mission .translucent .txt2 {
	text-shadow: 0 0 30px rgba(176, 206, 229, 1);
}
.mission .translucent.is-show .txt1,
.mission .translucent.is-show .txt2 {
    opacity: 1;
	color: rgba(176, 206, 229, 0.3);
    text-shadow: none;
}
.mission .translucent {
	top: 0;
	right: 0;
}
.mission .text_box {
	text-align: left;
}
/* business */
.business .lead {
	color: #fff;
}
.business .content_box .series dl {
	text-align: left;
	color: #fff;
}
.business .content_box .series dl dt {
	font-weight: 700;
	margin: 0 0 1em;
}
.business .content_box .series dl dd {
	line-height: 1.7;
}
/* venues */
.venues dl {
	text-align: left;
}
.venues dl dt {
	font-weight: 600;
	border-bottom: 1px solid var(--blue);
	position: relative;
	cursor: pointer;
}
.venues dl dt::before,
.venues dl dt::after {
	content: "";
	position: absolute;
	background-color: var(--navy);
	transition: all 0.3s ease;
	top: 50%;
	transform: translateY(-50%);
}
.venues dl dt.active::before {
	transform: translateY(-50%) rotate(90deg);
	opacity: 0;
}
.venues dl dd {
	display: none;
}
.venues dl dd a {
	display: block;
	border-bottom: 1px solid var(--light_blue);
	position: relative;
}
.venues dl dd a::before {
	content: "";
	position: absolute;
	transform: translateY(-50%) rotate(45deg);
}
/* overview */
.overview .sec_in {
	text-align: left;
}
.overview .sec_in dl {
	display: flex;
	line-height: 1.7;
}
.overview .sec_in dl dt {
	font-weight: 500;
}
.overview .sec_in dl dd {
	color: var(--blue);
}
.overview .sec_in dl dd .note {
	display: block;
}
/* history */
.history .timeline {
	text-align: left;
	position: relative;
}
.history .timeline::before {
	content: "";
	background: var(--blue);
	width: 1px;
	position: absolute;
}
.history .timeline dl {
	display: flex;
}
.history .timeline dl dt {
	position: relative;
}
.history .timeline dl dt::after {
	content: "";
	background: var(--blue);
	border-radius: 50%;
	position: absolute;
}
.history .timeline dl dd {
	flex: 1 1 auto;
	color: var(--blue);
}
/* access */
.access {
	background: var(--blue);
}
.access .sec_in {
	color: #fff;
	text-align: left;
}
.access .sec_in .area span {
	display: block;
	letter-spacing: 0.05em;
}
.access .sec_in .area .en {
	font-weight: 600;
}
.access .sec_in .area .ja {
	font-size: 500;
}
.access .sec_in .map_wrap .map iframe {
    width: 100%;
	height: 100%;
}
@media ( min-width: 768px ){
	/* fv */
	.fv.about {
		background: url("img/about_fv_bg.jpg") no-repeat 30% center / cover;
	}
	.fv.about .page_title .en {
		margin: min(124px, calc(124 / var(--width) * 100vw)) 0 min(20px, calc(20 / var(--width) * 100vw));
	}
	.fv.about .fv_text {
		width: min(561px, calc(561 / var(--width) * 100vw));
	}
	/* mission */
	.mission {
		padding: min(150px, calc(150 / var(--width) * 100vw)) 0 min(148px, calc(148 / var(--width) * 100vw));
	}
	.mission .text_box {
		padding: min(110px, calc(110 / var(--width) * 100vw)) 0 0;
	}
	.mission .text_box .catch {
		font-size: min(40px, calc(60 / var(--width) * 100vw));
        font-weight: 500;
        line-height: 1.4;
        letter-spacing: 0.025em;
	}
	.mission .text_box .lead {
		margin: 3em 0 0;
	}
	.mission .text_box .lead + .lead {
		margin: 2em 0 0;
	}
	/* business */
	.business {
		background: url("img/business_bg.jpg") no-repeat center 0 / cover;
		padding: min(165px, calc(165 / var(--width) * 100vw)) 0 min(148px, calc(148 / var(--width) * 100vw));
	}
	.business .lead {
		padding: min(90px, calc(90 / var(--width) * 100vw)) 0 min(68px, calc(68 / var(--width) * 100vw));
	}
	.business a.btn {
		margin: 0 0 min(110px, calc(110 / var(--width) * 100vw));
	}
	.business .content_box .series {
		display: flex;
		align-items: center;
		gap: 0 min(60px, calc(60 / var(--width) * 100vw));
		margin: 0 0 min(60px, calc(60 / var(--width) * 100vw));
	}
	.business .content_box .series .logo {
		flex: 0 0 min(430px, calc(430 / var(--width) * 100vw));
	}
	.business .content_box .series dl dt {
		font-size: 25px;
	}
	.business .img_box {
		display: flex;
	}
	.business .img_box img {
		width: 25%;
	}
	/* venues */
	.venues {
		padding: min(163px, calc(163 / var(--width) * 100vw)) 0 min(130px, calc(130 / var(--width) * 100vw));
	}
	.venues .sec_in {
		padding: 40px 0 0;
	}
	.venues dl {
		margin: 0 0 min(20px, calc(20 / var(--width) * 100vw));
	}
	.venues dl dt {
		font-size: clamp(2.188rem, 1.327rem + 1.79vw, 3.125rem);
		padding: min(44px, calc(44 / var(--width) * 100vw)) 0;
	}
	.venues dl dt::before {
		right: 43px;
		width: 2px;
		height: 35px;
	}
	.venues dl dt::after {
		right: 26px;
		width: 35px;
		height: 2px;
	}
	.venues dl dd {
		padding: 0 0 0 min(400px, calc(400 / var(--width) * 100vw));
	}
	.venues dl dd a {
		padding: min(38px, calc(38 / var(--width) * 100vw)) 0 min(38px, calc(38 / var(--width) * 100vw)) 32px;
	}
	.venues dl dd a::before {
		width: 9px;
		height: 9px;
		border-top: solid 2px var(--blue);
		border-right: solid 2px var(--blue);
		top: calc(50% + 1px);
		left: 3px;
	}
	/* overview */
	.overview {
		background: url("img/group_overview_bg.jpg") no-repeat center 0 / cover;
		padding: min(165px, calc(165 / var(--width) * 100vw)) 0 min(117px, calc(117 / var(--width) * 100vw));
	}
	.overview .sec_in {
		padding: min(60px, calc(60 / var(--width) * 100vw)) 0 0;
	}
	.overview .sec_in dl {
		gap: 0 17px;
	}
	.overview .sec_in dl dt,
	.overview .sec_in dl dd {
		padding: min(48px, calc(48 / var(--width) * 100vw)) 0;
	}
	.overview .sec_in dl dt {
		flex: 0 0 min(375px, calc(375 / var(--width) * 100vw));
		border-bottom: 1px solid var(--navy);
	}
	.overview .sec_in dl dd {
		flex: 1 1 auto;
		border-bottom: 1px solid var(--blue);
	}
	.overview .sec_in dl dd .note {
		text-align: right;
		font-size: 10px;
		margin: -1em 0 0;
	}
	/* history */
	.history {
		background: url("img/history_bg.jpg") no-repeat 0 bottom / 100% auto;
		padding: min(170px, calc(170 / var(--width) * 100vw)) 0 min(119px, calc(119 / var(--width) * 100vw));
	}
	.history .sec_in {
		display: flex;
	}
	.history .sec_title {
		flex: 0 0 min(685px, calc(685 / var(--width) * 100vw));
	}
	.history .timeline::before {
		height: 85%;
		top: 16px;
		left: 100px;
	}
	.history .timeline dl {
		line-height: 2;
		margin: 0 0 50px;
	}
	.history .timeline dl dt {
		flex: 0 0 100px;
	}
	.history .timeline dl dt::after {
		width: 13px;
		height: 13px;
		top: 10px;
		left: 93.5px;
	}
	.history .timeline dl dd {
		padding: 0 0 0 30px;
	}
	/* access */
	.access {
		padding: min(170px, calc(170 / var(--width) * 100vw)) 0 min(213px, calc(213 / var(--width) * 100vw));
		margin: 0 0 max(-60px, calc(-60 / var(--width) * 100vw));
	}
	.access .sec_in_wrap {
		padding: min(100px, calc(100 / var(--width) * 100vw)) 0 0;
	}
	.access .sec_in {
		display: flex;
		gap: 0 min(140px, calc(140 / var(--width) * 100vw));
	}
	.access .sec_in + .sec_in {
		margin: min(130px, calc(130 / var(--width) * 100vw)) 0 0;
	}
	.access .sec_in .area {
		flex: 0 0 min(362px, calc(362 / var(--width) * 100vw));
	}
	.access .sec_in .area .en {
		font-size: clamp(2.188rem, 1.327rem + 1.79vw, 3.125rem);
		padding: 0 0 min(40px, calc(40 / var(--width) * 100vw));
		border-bottom: 1px solid #fff;
		margin: 0 0 min(30px, calc(30 / var(--width) * 100vw));
	}
	.access .sec_in .map_wrap {
		flex: 1 1 auto;
	}
	.access .sec_in .map_wrap p {
		line-height: 1.7;
		margin: 0 0 min(40px, calc(40 / var(--width) * 100vw));
	}
	.access .sec_in .map_wrap .map {
		height: min(445px, calc(445 / var(--width) * 100vw));
	}
}
@media ( max-width: 767px ){
	/* fv */
	.fv.about {
		background: url("img/about_fv_bg_sp.jpg") no-repeat 0 bottom / 100% auto;
	}
	.fv.about .fv_text {
		width: 83.3333vw;
	}
	/* mission */
	.mission {
		padding: 15.7333vw 0 20vw;
	}
	.mission .text_box {
		padding: 17.3333vw 0 0;
	}
	.mission .text_box .catch {
		font-size: 5vw;
        font-weight: 500;
        line-height: 1.58;
	}
	.mission .text_box .lead {
        line-height: 1.66;
        margin: 9.3333vw 0 0;
	}
	.mission .text_box .lead + .lead {
		 margin: 4vw 0 0;
	}
	/* business */
	.business {
		background: url("img/business_bg_sp.jpg") no-repeat center 0 / cover;
		padding: 15.0667vw 0 0;
	}
	.business .lead {
		padding: 13.3333vw 0 10.6667vw;
	}
	.business a.btn {
		margin: 0 auto 12vw;
	}
	.business .content_box .series {
		margin: 0 0 10vw;
	}
	.business .content_box .series .logo {
		margin: 0 0 8vw;
	}
	.business .content_box .series dl dt {
		font-size: 5.3333vw;
	}
	.ticker2 .splide__slide {
		width: 80vw;
	}
	/* venues */
	.venues {
		padding: 14.6667vw 0 17.0667vw;
	}
	.venues .sec_in {
		padding: 14.6667vw 0 0;
	}
	.venues dl {
		margin: 0 0 6vw;
	}
	.venues dl dt {
		font-size: 10vw;
		padding: 8vw 0;
	}
	.venues dl dt::before {
		right: 3.4vw;
		width: 0.5333vw;
		height: 7.3333vw;
	}
	.venues dl dt::after {
		right: 0;
		width: 7.3333vw;
		height: 0.5333vw;
	}
	.venues dl dd {
		padding: 0 0 0 16vw;
	}
	.venues dl dd a {
		font-size: 4.6667vw;
		padding: 9.3333vw 0 9.3333vw 8.8vw;
	}
	.venues dl dd a::before {
		width: 2.4vw;
		height: 2.4vw;
		border-top: solid 0.4vw var(--blue);
		border-right: solid 0.4vw var(--blue);
		top: calc(50% + 1px);
		left: 0.4vw;
	}
	/* overview */
	.overview {
		background: url("img/group_overview_bg_sp.jpg") no-repeat center 0 / cover;
		padding: 15.3333vw 0 20vw;
	}
	.overview .sec_in {
		padding: 12vw 0 0;
	}
	.overview .sec_in dl {
		padding: 4vw 0;
		border-bottom: 1px solid var(--blue);
		flex-wrap: wrap;
	}
	.overview .sec_in dl dt,
	.overview .sec_in dl dd {
		padding: 4vw 0;
	}
	.overview .sec_in dl dt {
		flex: 0 0 32vw;
	}
	.overview .sec_in dl dd .note {
		font-size: 2.6667vw;
		line-height: 1.3;
		margin: 1em 0 0;
		font-feature-settings: "palt";
	}
	/* history */
	.history {
		background: url("img/history_bg_sp.jpg") no-repeat 0 bottom / 100% auto;
		padding: 17.0667vw 0 12.4vw;
	}
	.history .timeline {
		margin: 17.3333vw 0 0;
	}
	.history .timeline::before {
		height: 90%;
		top: 2vw;
		left: 20.4vw;
	}
	.history .timeline dl {
		line-height: 1.33;
		margin: 0 0 6.6667vw;
	}
	.history .timeline dl dt {
		flex: 0 0 20.4vw;
	}
	.history .timeline dl dt::after {
		width: 3.3333vw;
		height: 3.3333vw;
		top: 1vw;
		left: 18.73335vw;
	}
	.history .timeline dl dd {
		padding: 0 0 0 8vw;
	}
	/* access */
	.access {
		padding: 16.5333vw 0 22.6667vw;
		margin: 0 0 -5.3333vw;
	}
	.access .sec_in_wrap {
		padding: 16.5333vw 0 0;
	}
	.access .sec_in + .sec_in {
		margin: 13.3333vw 0 0;
	}
	.access .sec_in .area {
		padding: 0 0 7.3333vw;
		border-bottom: 1px solid #fff;
		margin: 0 0 6vw;
	}
	.access .sec_in .area .en {
		font-size: 10vw;
	}
	.access .sec_in .area .ja {
		font-size: 4.6667vw;
		margin: 2vw 0 0;
	}
	.access .sec_in .map_wrap {
		
	}
	.access .sec_in .map_wrap p {
		line-height: 1.5;
		margin: 0 0 5.3333vw;
	}
	.access .sec_in .map_wrap .map {
		height: 86.6667vw;
	}
}

/* =RECRUITMENT INFORMATION
-------------------------------------------------------------- */
/* requirement */
.requirement_wrap {
	background: var(--light_blue);
}
.requirement_wrap .lead {
	color: var(--navy);
}
.anchor_link,
.tab_wrap {
	display: flex;
}
.tab_wrap .tab {
	cursor: pointer;
}
.anchor_link a,
.tab_wrap .tab {
	color: var(--blue);
	border: 1px solid var(--blue);
	background: #fff;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	transition: all 0.5s ease;
}
.anchor_link a::after,
.tab_wrap .tab::after {
    content: "";
    position: absolute;
}
@media (any-hover: hover) {
	.anchor_link a:hover,
	.tab_wrap .tab:hover,
	.requirement .tab_wrap .tab.active {
		background: var(--blue);
		color: #fff;
	}
}
.requirement .content_wrap {
	background: var(--blue);
}
.requirement .content {
	display: block;
	background: #fff;
	text-align: left;
}
.requirement .content > dl > dt {
	font-weight: 500;
}
.requirement .content > dl > dd {
	color: var(--blue);
}
@media ( min-width: 1025px ){
	.anchor_link a::after,
	.tab_wrap .tab::after {
		transform: translateY(-50%) rotate(135deg);
		top: calc(50% - 1px);
		right: 22px;
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	.anchor_link a::after,
	.tab_wrap .tab::after {
		transform: translateX(-50%) rotate(135deg);
		bottom: 15px;
		left: 50%;
	}
}
@media ( min-width: 768px ){
	/* fv */
	.fv.recruitment {
		background: url("img/recruitment_fv_bg.jpg") no-repeat 30% center / cover;
	}
	.fv.recruitment .fv_text {
		width: min(893.5px, calc(893.5 / var(--width) * 100vw));
	}
	/* requirement */
	.requirement_wrap {
		padding: min(130px, calc(130 / var(--width) * 100vw)) 0 min(180px, calc(180 / var(--width) * 100vw));
		margin: 0 0 max(-60px, calc(-60 / var(--width) * 100vw));
	}
	.requirement_wrap .lead {
		margin: 0 0 min(60px, calc(60 / var(--width) * 100vw));
	}
	.anchor_link,
	.tab_wrap {
		justify-content: space-between;
		margin: 0 0 min(104px, calc(104 / var(--width) * 100vw));
	}
	.anchor_link a,
	.tab_wrap .tab {
		width: min(500px, calc(500 / var(--width) * 100vw));
		height: 80px;
	}
	.anchor_link a::after,
	.tab_wrap .tab::after {
		width: 9px;
		height: 9px;
		border-top: solid 2px var(--blue);
		border-right: solid 2px var(--blue);
	}
	.requirement + .requirement {
		margin: min(145px, calc(145 / var(--width) * 100vw)) 0 0;
	}
	.requirement .content_wrap {
		padding: min(50px, calc(50 / var(--width) * 100vw));
		margin: min(60px, calc(60 / var(--width) * 100vw)) 0 0;
	}
	.requirement .content {
		padding: min(50px, calc(50 / var(--width) * 100vw));
	}
	.requirement .content > dl {
		display: flex;
		gap: 0 17px;	
	}
	.requirement .content > dl > dt,
	.requirement .content > dl > dd {
		line-height: 1.75;
		padding: min(40px, calc(40 / var(--width) * 100vw)) 0;
	}
	.requirement .content > dl > dt {
		flex: 0 0 min(375px, calc(375 / var(--width) * 100vw));
		border-bottom: 3px solid var(--navy);
	}
	.requirement .content > dl > dd {
		flex: 1 1 auto;
		border-bottom: 1px solid var(--blue);
	}
	.requirement .content > dl:last-child > dt,
	.requirement .content > dl:last-child > dd {
		border-bottom: none;
	}
	.requirement .content > dl > dd dl + dl {
		margin: 1.5em 0 0;
	}
}
@media ( max-width: 767px ){
	.requirement .sec_title {
		padding: 8vw 0 0;
	}
	.requirement .sec_title .main .line-1 {
		font-size: 6.6667vw;
	}
	.requirement .sec_title .main .line-2 {
		font-size: 6.6667vw;
	}	
	.requirement .sec_title .main .line-3 {
		font-size: 6.6667vw;
	}		
	/* fv */
	.fv.recruitment {
		background: url("img/recruitment_fv_bg_sp.jpg") no-repeat 0 bottom / 100% auto;
		padding: 4vw 0 13.3333vw;
	}
    .fv.recruitment .page_title .en {
        font-size: 12vw;
    }	
	.fv.recruitment .fv_text {
		width: 85.7333vw;
	}
	/* requirement */
	.requirement_wrap {
		padding: 10vw 0 26.6667vw;
		margin: 0 0 -5.3333vw;
	}
	.requirement_wrap .lead {
		margin: 0 0 8vw;
	}
	.anchor_link,
	.tab_wrap {
		justify-content: center;
		flex-wrap: wrap;
		gap: 1.5vw;
		margin: 0 0 14.4vw;
		gap: 0 2%;
	}
	.anchor_link a,
	.tab_wrap .tab {
		width: 32%;
		height: 22.6667vw;
		line-height: 1.33;
	}
	.anchor_link a::after,
	.tab_wrap .tab::after {
		width: 3vw;
		height: 3vw;
		border-top: solid 0.4vw var(--blue);
		border-right: solid 0.4vw var(--blue);
		transform: translateX(-50%) rotate(135deg);
		bottom: 2.9333vw;
		left: 50%;		
	}
	.requirement + .requirement {
		margin: 24vw 0 0;
	}
	.requirement .content_wrap {
		padding: 6.6667vw;
		margin: 8vw -6.6667vw 0;
	}
	.requirement .content {
		padding: 6.6667vw 5.3333vw 2.6667vw;
	}
	.requirement .content > dl {
		margin: 0 0 4vw;
	}
	.requirement .content > dl > dt {
		background: var(--navy);
		color: #fff;
		padding: 3vw 2.6667vw;
	}
	.requirement .content > dl > dd {
		padding: 4vw 0;
		line-height: 1.75;
	}
	.requirement .content > dl > dd dl + dl {
		margin: 1em 0 0;
	}
}

/* =WORK
-------------------------------------------------------------- */

/* job_work */
.job_work_wrap {
	background: var(--light_blue);
}
.job_work_wrap .lead {
	color: var(--navy);
}
.job_work_wrap .content_wrap {
	position: relative;
}
.job_work_wrap .content_wrap::before {
	position: absolute;
	content: '';
}
.job_work_wrap .content {
	text-align: left;
}
.job_work_wrap .content.show {
	display: block;
}
.job_work_wrap .content p {
	color: var(--blue);
}
.job_work_wrap .content p.note {
	font-size: 80%;
}
.job_work_wrap .content dl dt {
	font-weight: 700;
	position: relative;
}
.job_work_wrap .content dl dt .box_title {
	position: relative;
	z-index: 2;
}
.job_work_wrap .content dl dt::before {
	position: absolute;
	content: '';
	background: url("img/job_work_tit_icon.png") no-repeat center / cover;
	top: 0;
	bottom: 0;
	margin: auto;
	z-index: 1;
}
.job_work_wrap .content dl dd {
	color: var(--blue);
}
.job_work_wrap .content dl dd .job_list {
	background: rgba(255, 255, 255, 0.95);
	color: var(--blue);
}
.job_work_wrap .content dl dd .job_list .list_title {
	color: var(--navy);
	font-weight: 700;
}
.job_work_wrap .content dl dd ol {
	display: flex;
	flex-direction: column;
}
.job_work_wrap .content dl dd ol li {
	box-sizing: border-box;
	position: relative;
}
.job_work_wrap .content dl dd ol li .time_title {
	color: var(--navy);
	font-weight: 700;
	position: relative;
	box-sizing: border-box;
}
.job_work_wrap .content dl dd ol li .time_title::after {
	position: absolute;
	content: '';
	top: 0;
	bottom: 0;
	margin: auto;
	background: var(--navy);
}
.job_work_wrap .content dl dd ol li .time {
	position: absolute;
	content: '';
	background: var(--blue);
	color: #fff;
	top: 0;
	border-radius: 100%;
	display: flex;
    align-items: center;
    justify-content: center;
}
@media ( min-width: 768px ){
	/* fv */
	.fv.job_work {
		background: url("img/job_work_fv_bg.jpg") no-repeat 30% center / cover;
	}
	.fv.job_work .fv_text {
		width: min(648.5px, calc(648.5 / var(--width) * 100vw));
	}
	/* job_work_wrap */
	.job_work_wrap {
		padding: min(130px, calc(130 / var(--width) * 100vw)) 0 min(180px, calc(180 / var(--width) * 100vw));
		margin: 0 0 max(-60px, calc(-60 / var(--width) * 100vw));
	}
	.job_work_wrap .lead {
		margin: 0 0 min(60px, calc(60 / var(--width) * 100vw));
	}
	.job_work_wrap .content_wrap::before {
		background: url("img/job_work_img01.png") no-repeat center / cover;
		width: min(996.5px, calc(996.5 / var(--width) * 100vw));
		height: min(1993.5px, calc(1993.5 / var(--width) * 100vw));
		left: max(-584px, calc(-584 / var(--width) * 100vw));
		top: min(282.5px, calc(282.5 / var(--width) * 100vw));
	}
	.job_work_wrap .content .text_box {
		padding-left: min(525px, calc(525 / var(--width) * 100vw));
		margin-top: min(120px, calc(120 / var(--width) * 100vw));
	}
	.job_work_wrap .content p {
		line-height: 2;
	}
	.job_work_wrap .content dl dt {
		font-size: clamp(1.25rem, 0.963rem + 0.6vw, 1.563rem);
		margin-bottom: min(75px, calc(75 / var(--width) * 100vw));
	}
	.job_work_wrap .content dl dt::before {
		width: min(108.5px, calc(108.5 / var(--width) * 100vw));
		height: min(108.5px, calc(108.5 / var(--width) * 100vw));
		left: max(-47.5px, calc(-47.5 / var(--width) * 100vw));
	}
	.job_work_wrap .content dl dd .job_list {
		width: min(600px, calc(600 / var(--width) * 100vw));
		padding: min(30px, calc(30 / var(--width) * 100vw)) min(40px, calc(40 / var(--width) * 100vw));
		line-height: 1.8;
		margin-top: min(60px, calc(60 / var(--width) * 100vw));
		font-size: 14px;
	}
	.job_work_wrap .content dl dd .job_list .list_title {
		font-size: 16px;
		margin-bottom: min(10px, calc(10 / var(--width) * 100vw));
	}
	.job_work_wrap .content dl + dl {
		margin-top: min(140px, calc(140 / var(--width) * 100vw));
	}
	.job_work_wrap .content dl dd ol li {
		width: 50%;
		display: flex;
		flex-direction: column;
		padding-top: min(42.5px, calc(42.5 / var(--width) * 100vw));
		line-height: 1.714;
	}
	.job_work_wrap .content dl dd ol li:nth-child(odd) {
		align-items: flex-end;
		margin-right: 50%;
		padding-right: min(77.5px, calc(77.5 / var(--width) * 100vw));
		border-right: 2px solid var(--blue);
	}
	.job_work_wrap .content dl dd ol li:nth-child(even) {
		align-items: flex-start;
		margin-left: 50%;
		padding-left: min(77.5px, calc(77.5 / var(--width) * 100vw));
		border-left: 2px solid var(--blue);
	}
	.job_work_wrap .content dl dd ol li:last-child {
		border: none;
	}
	.job_work_wrap .content dl dd ol li .time_title {
		margin-bottom: min(10px, calc(10 / var(--width) * 100vw));
	}
	.job_work_wrap .content dl dd ol li .time_title::after {
		width: min(17.5px, calc(17.5 / var(--width) * 100vw));
		height: 2px;
	}
	.job_work_wrap .content dl dd ol li:nth-child(odd) .time_title {
		padding-right: min(35px, calc(35 / var(--width) * 100vw));
	}
	.job_work_wrap .content dl dd ol li:nth-child(even) .time_title {
		padding-left: min(35px, calc(35 / var(--width) * 100vw));
	}
	.job_work_wrap .content dl dd ol li:nth-child(odd) .time_title::after {
		right: 0;
	}
	.job_work_wrap .content dl dd ol li:nth-child(even) .time_title::after {
		left: 0;
	}
	.job_work_wrap .content dl dd ol li .time {
		width: min(95px, calc(95 / var(--width) * 100vw));
		height: min(95px, calc(95 / var(--width) * 100vw));
		font-size: 13px;
	}
	.job_work_wrap .content dl dd ol li:nth-child(odd) .time {
		right: max(-47.5px, calc(-47.5 / var(--width) * 100vw));
	}
	.job_work_wrap .content dl dd ol li:nth-child(even) .time {
		left: max(-47.5px, calc(-47.5 / var(--width) * 100vw));
	}
}
@media ( max-width: 767px ){
	.job_work_wrap .sec_title {
		padding: 8vw 0 0;
	}
	.job_work_wrap .sec_title .main .line-1 {
		font-size: 6vw;
	}
	.job_work_wrap .sec_title .main .line-2 {
		font-size: 6vw;
	}	
	.job_work_wrap .sec_title .main .line-3 {
		font-size: 6vw;
	}		
	/* fv */
	.fv.job_work {
		background: url("img/job_work_fv_bg_sp.jpg") no-repeat 0 bottom / 100% auto;
		padding: 4vw 0 13.3333vw;
	}
    .fv.job_work .page_title .en {
        font-size: 12vw;
    }	
	.fv.job_work .fv_text {
		width: 75.2vw;
	}
	/* job_work_wrap */
	.job_work_wrap {
		padding: 10vw 0 26.6667vw;
		margin: 0 0 -5.3333vw;
	}
	.job_work_wrap .lead {
		margin: 0 0 8vw;
	}
	.job_work_wrap .content_wrap::before {
		background: url("img/job_work_img01_sp.png") no-repeat center / cover;
		width: 34.133vw;
		height: 141.2vw;
		left: -6.6667vw;
		top: 55vw;
	}
	.job_work_wrap .content .text_box {
		margin-top: 22vw;
	}
	.job_work_wrap .content .text_box dl:first-child dt {
		padding-left: 10vw;
	}
	.job_work_wrap .content .text_box dl:first-child dd p {
		padding-left: 38.666vw;
	}
	.job_work_wrap .content p {
		line-height: 1.666;
	}
	.job_work_wrap .content dl dt {
		font-size: 6vw;
		margin-bottom: 13.333vw;
	}
	.job_work_wrap .content dl:last-child dt {
		padding-left: 10vw;
	}
	.job_work_wrap .content dl dt::before {
		width: 22vw;
		height: 22vw;
		left: -10vw;
	}
	.job_work_wrap .content dl:last-child dt::before,
	.job_work_wrap .content .text_box dl:first-child dt::before{
		left: 0;
	}
	.job_work_wrap .content dl dd .job_list {
		padding: 4vw 5vw;
		line-height: 1.4;
		margin-top: 8vw;
		font-size: 3.2vw;
	}
	.job_work_wrap .content dl dd .job_list .list_title {
		font-size: 3.8vw;
		margin-bottom: 2vw;
	}
	.job_work_wrap .content dl + dl {
		margin-top: 10vw;
	}
	.job_work_wrap .content dl dd ol {
		padding: 0 0 0 8.533vw;
		box-sizing: border-box;
	}
	.job_work_wrap .content dl dd ol li {
		width: 100%;
		display: flex;
		flex-direction: column;
		padding-top: 6.666vw;
		line-height: 1.714;
		align-items: flex-start;
		padding-left: 12.666vw;
		border-left: 2px solid var(--blue);
	}
	.job_work_wrap .content dl dd ol li:last-child {
		border: none;
	}
	.job_work_wrap .content dl dd ol li .time_title {
		margin-bottom: 4vw;
		padding-left: -6.666vw;
	}
	.job_work_wrap .content dl dd ol li .time_title::after {
		width: 4.666vw;
		height: 0.266vw;
		left: 0;
	}
	.job_work_wrap .content dl dd ol li .time {
		width: 17.333vw;
		height: 17.333vw;
		left: -8.666vw;
		font-size: 4vw;
	}
}

/* =NEWS
-------------------------------------------------------------- */
.other_main {
	background: var(--light_blue);
	text-align: left;
}
.wp-pagenavi {
	font-family: "Plus Jakarta Sans", sans-serif;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	gap: 0 1rem;
}
.wp-pagenavi .pages,
.wp-pagenavi .last,
.wp-pagenavi .first,
.wp-pagenavi .extend {
	display: none;
}
.wp-pagenavi .page,
.wp-pagenavi .current,
.wp-pagenavi .nextpostslink,
.wp-pagenavi .previouspostslink {
    font-size: 1.2rem;
    font-weight: 500;
	line-height: 2rem;
	position: relative;
	width: 2rem;
	height: 2rem;
	text-align: center;
	color: var(--navy);
	border-radius: 50%;
	background: var(--light_blue);
}
.wp-pagenavi .current {
	color: #fff;
	background: var(--navy);
}
.wp-pagenavi .nextpostslink,
.wp-pagenavi .previouspostslink { 
	font-size: 1.4rem;
	line-height: 1;
	position: relative;
	padding-right: 0;
}
.wp-pagenavi .previouspostslink::before,
.wp-pagenavi .nextpostslink::before {
	width: 1.4rem;
	height: 1.7rem;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
.wp-pagenavi .previouspostslink::before {
	position: absolute;
	content: '<';
}
.wp-pagenavi .nextpostslink::before {
	position: absolute;
	content: '>';
}
.wp-pagenavi a {
	transition: ease .2s all;
}
/* news_detail */
.news_detail {
	color: var(--blue);
	line-height: 1.8;
}
.news_detail .news-list--day {
	font-weight: 500;
}
.news_detail .news-list--ttl {
	color: var(--navy);
	font-weight: 700;
}

@media ( min-width: 768px ){
	.other_main {
		padding: min(130px, calc(130 / var(--width) * 100vw)) 0 min(180px, calc(180 / var(--width) * 100vw));
		margin: 0 0 max(-60px, calc(-60 / var(--width) * 100vw));
	}
	.other_main .inner {
		max-width: min(1200px, calc(1200 / var(--width) * 100vw));
	}
	.wp-pagenavi a:hover {
	    color: #fff;
	    background: var(--navy);
	}
	/* fv */
	.fv.news {
		background: url("img/news_fv_bg.jpg") no-repeat 30% center / cover;
	}
	/* news_detail */
	.news_detail .news-list--ttl {
		font-size: clamp(1.25rem, 0.963rem + 0.6vw, 1.563rem);
        margin-bottom: min(50px, calc(50 / var(--width) * 100vw));
	}
	.news_detail .news-articlel-box {
        margin-bottom: min(120px, calc(120 / var(--width) * 100vw));
	}
}
@media ( max-width: 767px ){
	.other_main {
		padding: 10vw 0 26.6667vw;
		margin: 0 0 -5.3333vw;
	}
	/* fv */
	.fv.news {
		background: url("img/news_fv_bg_sp.jpg") no-repeat 0 bottom / 100% auto;
		padding: 4vw 0 13.3333vw;
	}
    .fv.news .page_title .en {
        font-size: 12vw;
    }	
	/* news_detail */
	.news_detail .news-list--ttl {
		font-size: 4.8vw;
        margin-bottom: 8vw;
        line-height: 1.4;
	}
	.news_detail .news-articlel-box {
        margin-bottom: 12vw;
	}
}

/* =ENTRY
-------------------------------------------------------------- */
/* form */
.form .form-inner-top {
	line-height: 1.8;
}
.form .form-inner-top .red {
	color: #B70000;
}
.form .form-inner-flex dl dt {
	font-weight: 700;
}
.form .form-inner-flex dl dd input,
.form .form-inner-flex dl dd select,
.form .form-inner-flex dl dd textarea {
	border: 1px solid var(--blue);
	box-sizing: border-box;
}
.form .form-inner-flex dl dd textarea {
	width: 100%;
}
.require {
	color: #B70000;
}
.form .error {
	color: #B70000;
	display: none;
    padding-top: 0.5em;
    font-size: 70%;
}
.form .privacy_sc {
	overflow-y: auto;
    box-sizing: border-box;
    border-width: 1px;
    border-style: solid;
    border-color: rgb(208, 208, 208);
    border-image: initial;
    text-align: left;
    background: rgba(255, 255, 255, 0.65);
    line-height: 1.8;
}
.form .privacy_sc .privacy_sc_ttl {
	font-weight: 700;
}
/* thanks */
.thanks {
	line-height: 1.8;
}
.thanks .local-sub-ttl {
	font-weight: 700;
}
.thanks .text {
	color: var(--blue);
}
@media ( min-width: 768px ){
	/* fv */
	.fv.entry {
		background: url("img/entry_fv_bg.jpg") no-repeat 30% center / cover;
	}
	/* form */
	.form .form-inner-top {
		margin-bottom: min(70px, calc(70 / var(--width) * 100vw));
	}
	.form .form-inner-flex {
		margin-bottom: min(70px, calc(70 / var(--width) * 100vw));
	}
	.form .form-inner-flex dl {
		display: flex;
		align-items: center;
		gap: 0  min(30px, calc(30 / var(--width) * 100vw));
	}
	.form .form-inner-flex dl dt {
		flex: 0 0 min(200px, calc(200 / var(--width) * 100vw));
	}
	.form .form-inner-flex dl dd {
		flex: 1 1 auto;
	}
	.form .form-inner-flex dl dd input,
	.form .form-inner-flex dl dd select,
	.form .form-inner-flex dl dd textarea {
		padding: min(5px, calc(5 / var(--width) * 100vw));
		border-radius: min(5px, calc(5 / var(--width) * 100vw));
	}
	.form .form-inner-flex dl + dl {
		margin-top: min(30px, calc(30 / var(--width) * 100vw));
	}
	.form .consent {
		margin-bottom: min(20px, calc(20 / var(--width) * 100vw));
	}
	.form .privacy_sc {
		font-size: 14px;
        height: min(180px, calc(180 / var(--width) * 100vw));
        padding: min(20px, calc(20 / var(--width) * 100vw)) min(30px, calc(30 / var(--width) * 100vw)) ;
        margin-bottom: min(70px, calc(70 / var(--width) * 100vw));
	}
	.form .privacy_sc .privacy_sc_ttl {
		font-size: 16px;
		margin-bottom: min(10px, calc(10 / var(--width) * 100vw));
	}
	.form .privacy_sc .privacy_sc_txt + .privacy_sc_ttl {
		margin-top: min(30px, calc(30 / var(--width) * 100vw));
	}
	/* thanks */
	.thanks {
		line-height: 1.8;
	}
	.thanks .local-sub-ttl {
		font-size: min(45px, calc(45 / var(--width) * 100vw));
        margin-bottom: min(50px, calc(50 / var(--width) * 100vw));
	}
	.thanks .text {
		margin-bottom: min(120px, calc(120 / var(--width) * 100vw));
	}
}
@media ( max-width: 767px ){
	/* fv */
	.fv.entry {
		background: url("img/entry_fv_bg_sp.jpg") no-repeat 0 bottom / 100% auto;
		padding: 4vw 0 13.3333vw;
	}
    .fv.entry .page_title .en {
        font-size: 12vw;
    }	
	/* form */
	.form .form-inner-top {
		font-size: 3.8vw;
		margin-bottom: 8vw;
	}
	.form .form-inner-flex {
		margin-bottom: 8vw;
	}
	.form .form-inner-flex dl dt {
		padding: 0 0 3vw;
		border-bottom: 1px solid var(--navy);
		margin-bottom: 4vw;
	}
	.form .form-inner-flex dl dd input,
	.form .form-inner-flex dl dd select,
	.form .form-inner-flex dl dd textarea {
		width: 100%;
		padding: 1vw;
		border-radius: 1vw;
	}
	.form .form-inner-flex dl + dl {
		margin-top: 7vw;
	}
	.form .consent {
		font-size: 3.8vw;
		margin-bottom: 4vw;
	}
	.form .privacy_sc {
		font-size: 2.8vw;
        height: 29.8667vw;
        padding: 2.4vw 2.6667vw;
        line-height: 1.4;
        margin-bottom: 10vw;
	}
	.form .privacy_sc .privacy_sc_ttl {
		font-size: 3vw;
		margin-bottom: 2vw;
	}
	.form .privacy_sc .privacy_sc_txt + .privacy_sc_ttl {
		margin-top: 4vw;
	}
	/* thanks */
	.thanks {
		line-height: 1.8;
	}
	.thanks .local-sub-ttl {
		font-size: 6vw;
        margin-bottom: 6vw;
        line-height: 1.4;
	}
	.thanks .text {
		margin-bottom: 12vw;
	}
}

/* =INTERVIEW
-------------------------------------------------------------- */
/* job_work */
.interview_wrap.our_people.real {
	background: var(--light_blue);
}
.interview_wrap.our_people.pro {
	background: url(img/interview_pro_bg.jpg) no-repeat center 0 / cover;
}
.interview_wrap.our_people .lead {
	color: var(--navy);
}
.interview_wrap.our_people {
	text-align: left;
}
.interview_wrap.our_people dl dt .box_title_wrap {
	font-weight: 700;
	position: relative;
}
.interview_wrap.our_people dl dt .box_title_wrap .box_title {
	position: relative;
	z-index: 2;
}
.interview_wrap.our_people dl dt .box_title_wrap::before {
	position: absolute;
	content: '';
	top: 0;
	bottom: 0;
	margin: auto;
	z-index: 1;
}
.interview_wrap.our_people.real dl dt .box_title_wrap::before {
	background: url("img/job_work_tit_icon.png") no-repeat center / cover;
}
.interview_wrap.our_people.pro dl dt .box_title_wrap::before {
	background: url("img/job_work_tit_icon02.png") no-repeat center / cover;
}
.interview_wrap.our_people dl dt p {
	color: var(--blue);
}
.interview_wrap.our_people .interview ul {
	display: flex;
	flex-wrap: wrap;
}
@media ( min-width: 768px ){
	/* fv */
	.fv.interview {
		background: url("img/interview_fv_bg.jpg") no-repeat 30% center / cover;
	}
	.fv.interview .fv_text {
		width: min(671px, calc(671 / var(--width) * 100vw));
	}
	/* interview_wrap */
	.interview_wrap.our_people {
		padding: min(130px, calc(130 / var(--width) * 100vw)) 0 min(180px, calc(180 / var(--width) * 100vw));
		margin: 0 0 max(-60px, calc(-60 / var(--width) * 100vw));
	}
	.interview_wrap.our_people .lead {
		margin: 0 0 min(145px, calc(145 / var(--width) * 100vw));
	}
	.interview_wrap.our_people dl dt {
		padding-left: min(47.5px, calc(47.5 / var(--width) * 100vw));
		margin-bottom: min(75px, calc(75 / var(--width) * 100vw));
	}
	.interview_wrap.our_people dl dt .box_title_wrap {
		font-size: clamp(1.25rem, 0.963rem + 0.6vw, 1.563rem);
		margin-bottom: min(75px, calc(75 / var(--width) * 100vw));
	}
	.interview_wrap.our_people dl dt .box_title_wrap::before {
		width: min(108.5px, calc(108.5 / var(--width) * 100vw));
		height: min(108.5px, calc(108.5 / var(--width) * 100vw));
		left: max(-47.5px, calc(-47.5 / var(--width) * 100vw));
	}
	.interview_wrap.our_people dl dt p {
		line-height: 2;
	}
	.interview_wrap.our_people.real .interview ul {
		gap: min(50px, calc(50 / var(--width) * 100vw)) 3.5%; 
	}
	.interview_wrap.our_people.real .interview ul li {
		flex: 0 0 31%;
	}
	.interview_wrap.our_people.pro .interview ul {
		gap: min(50px, calc(50 / var(--width) * 100vw)) 2.666%; 
	}
	.interview_wrap.our_people.pro .interview ul li {
		flex: 0 0 23%;
	}
}
@media ( max-width: 767px ){
	.interview_wrap.our_people .sec_title {
		padding: 8vw 0 0;
	}
	.interview_wrap.our_people .sec_title .main .line-1 {
		font-size: 8vw;
	}
	.interview_wrap.our_people .sec_title .main .line-2 {
		font-size: 8vw;
	}	
	.interview_wrap.our_people .sec_title .main .line-3 {
		font-size: 8vw;
	}		
	/* fv */
	.fv.interview {
		background: url("img/interview_fv_bg_sp.jpg") no-repeat 0 bottom / 100% auto;
		padding: 4vw 0 13.3333vw;
	}
    .fv.interview .page_title .en {
        font-size: 12vw;
    }	
	.fv.interview .fv_text {
		width: 90vw;
	}
	/* interview_wrap */
	.interview_wrap.our_people {
		padding: 10vw 0 0;
		margin: 0 0 -5.3333vw;
	}
	.interview_wrap.our_people .lead {
		margin: 0 0 14.6667vw;
	}
	.interview_wrap.our_people dl dt {
		margin-bottom: 13.333vw;
	}
	.interview_wrap.our_people dl dt .box_title_wrap {
		font-size: 6vw;
		margin-bottom: 8vw;
		line-height: 1.4;
	}
	.interview_wrap.our_people dl dt .box_title_wrap {
		padding-left: 10vw;
	}
	.interview_wrap.our_people dl dt .box_title_wrap::before {
		width: 22vw;
		height: 22vw;
		left: 0;
	}
	.interview_wrap.our_people dl dt p {
		line-height: 1.66;
	}
	.interview_wrap.our_people .interview ul {
		gap: 4vw 3%; 
	}
	.interview_wrap.our_people .interview ul li {
		flex: 0 0 48.5%;
	}
	.interview_wrap.our_people .interview .img_box {
		margin-bottom: 2vw;
	}
	.interview_wrap.our_people .interview .cat {
		gap: 0.5vw;
        margin: 0 0 3vw;
	}
	.interview_wrap.our_people .interview .cat span {
        padding: 1vw 1.5vw 1.15vw;
        font-size: 1.9vw;
        border-radius: 4vw;
    }
    .interview_wrap.our_people .interview .ymd {
        font-size: 2.8vw;
        margin: 0 0 2vw;
    }
    .interview_wrap.our_people .interview .title {
        font-size: 3vw;
        line-height: 1.4;
    }
}

/* =INTERVIEW DETAIL
-------------------------------------------------------------- */
/* interview_detail */
.interview_detail {
	color: var(--blue);
	line-height: 1.8;
}
.interview_detail .interview-list--day {
	font-weight: 500;
}
.interview_detail .interview-list--ttl {
	color: var(--navy);
	font-weight: 700;
}
.interview_detail .cat {
	display: flex;
	flex-wrap: wrap;
	line-height: 1;
}
.interview_detail .cat span {
    display: inline-block;
    color: #fff;
    background: var(--blue);
}
.interview_detail .interview-articlel-textarea h2 {
	font-weight: 700;
    position: relative;
    color: var(--navy);
}
.interview_detail .interview-articlel-textarea h2 span {
	position: relative;
	z-index: 2;
}
.interview_detail .interview-articlel-textarea h2::before {
	position: absolute;
    content: '';
    top: 0;
    bottom: 0;
    margin: auto;
    z-index: 1;
    background: url(img/job_work_tit_icon.png) no-repeat center / cover;
}
.interview_detail .interview-articlel-textarea p strong {
	color: var(--navy);
}
#toc_container {
	margin: 0 auto;
}
@media ( min-width: 768px ){
	
	/* fv */
	.fv.interview_detail {
		background: url("img/interview_detail_fv_bg.jpg") no-repeat 30% center / cover;
	}
	/* interview_detail */
	.interview_detail .interview-list--ttl {
		font-size: clamp(1.25rem, 0.963rem + 0.6vw, 1.563rem);
        margin-bottom: min(30px, calc(30 / var(--width) * 100vw));
	}
	.interview_detail .interview-articlel-box {
        margin-bottom: min(120px, calc(120 / var(--width) * 100vw));
	}
	.interview_detail .cat {
		gap: 5px;
        margin-bottom: min(50px, calc(50 / var(--width) * 100vw));
	}
	.interview_detail .cat span {
		padding: min(7px, calc(7 / var(--width) * 100vw)) min(18px, calc(18 / var(--width) * 100vw)) min(8px, calc(8 / var(--width) * 100vw));
        font-size: min(15px, calc(15 / var(--width) * 100vw));
        border-radius: min(15px, calc(15 / var(--width) * 100vw));
	}
	.interview-articlel-pic,
	.interview_detail .interview-articlel-textarea p img {
		max-width: 900px;
		margin: 0 auto min(50px, calc(50 / var(--width) * 100vw));
	}
	.interview_detail .interview-articlel-textarea h2 {
		font-size: clamp(1.25rem, 0.963rem + 0.6vw, 1.563rem);
        margin: min(75px, calc(75 / var(--width) * 100vw)) auto min(75px, calc(75 / var(--width) * 100vw)) min(47.5px, calc(47.5 / var(--width) * 100vw));
	}
	.interview_detail .interview-articlel-textarea h2::before {
		width: min(108.5px, calc(108.5 / var(--width) * 100vw));
        height: min(108.5px, calc(108.5 / var(--width) * 100vw));
        left: max(-47.5px, calc(-47.5 / var(--width) * 100vw));
	}
	.interview_detail .interview-articlel-textarea p {
		margin-bottom: min(40px, calc(40 / var(--width) * 100vw));
	}
	.interview_detail .interview-articlel-textarea p strong {
		margin-bottom: min(30px, calc(30 / var(--width) * 100vw));
	}
	#toc_container {
		max-width: 700px;
	}
}
@media ( max-width: 767px ){
	
	/* fv */
	.fv.interview_detail {
		background: url("img/interview_detail_fv_bg_sp.jpg") no-repeat 0 bottom / 100% auto;
		padding: 4vw 0 13.3333vw;
	}
    .fv.interview_detail .page_title .en {
        font-size: 12vw;
    }	
	/* interview_detail */
	.interview_detail .interview-list--ttl {
		font-size: 4.8vw;
        margin-bottom: 4vw;
        line-height: 1.4;
	}
	.interview_detail .interview-articlel-box {
        margin-bottom: 12vw;
	}
	.interview_detail .cat {
		gap: 1.5vw;
        margin: 0 0 8vw;
	}
	.interview_detail .cat span {
		padding: 1vw 2vw 1.15vw;
        font-size: 3vw;
        border-radius: 4vw;
    }
	.interview-articlel-pic {
		width: 100%;
	}
	.interview-articlel-pic,
	.interview_detail .interview-articlel-textarea p img {
		margin: 0 auto 6vw;
	}
	.interview_detail .interview-articlel-textarea h2 {	
        font-size: 4.5vw;
        margin: 14vw 0 10vw;
        padding-left: 8vw;
        line-height: 1.2;
	}
	.interview_detail .interview-articlel-textarea h2::before {
		width: 22vw;
        height: 22vw;
        left: 0;
	}
	.interview_detail .interview-articlel-textarea p {
		margin-bottom: 6vw;
	}
	.interview_detail .interview-articlel-textarea p strong {
		margin-bottom: 4vw;
	}
}

/* chatbot */
#ceo-bot-button {
	position: fixed;
	bottom: 20px;
	right: 40px;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 24px 12px 12px;
	font-size: 16px;
	background-color: #00053a;
	color: #fff;
	border: none;
	border-radius: 50px;
	line-height: 1.5;
	box-sizing: border-box;
	font-weight: 600;
	z-index: 99999;
	box-shadow: 0 6px 20px rgba(0,5,58,0.4);
	cursor: pointer;
	transition: transform .2s, box-shadow .2s;
}
#ceo-bot-button:hover {
	transform: scale(1.05);
	box-shadow: 0 8px 24px rgba(0,5,58,0.5);
}
#ceo-bot-button.hidden {
	display: none !important;
}
#ceo-bot-button-avatar {
	width: 48px !important;
	height: 48px !important;
	border-radius: 50% !important;
	object-fit: cover !important;
	border: 2px solid rgba(255,255,255,0.9) !important;
	flex-shrink: 0 !important;
}
#ceo-bot-tooltip {
	position: fixed;
	bottom: 105px;
	right: 20px;
	background-color: rgba(255, 255, 255, 0.95);
	color: #44403c;
	padding: 15px 20px;
	border-radius: 12px;
	border: 1px solid rgba(231, 229, 228, 0.8);
	font-size: 14px;
	font-weight: 700;
	z-index: 99999;
	backdrop-filter: blur(8px);
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 10px 15px -3px rgba(0,5,58,0.4);
	opacity: 0;
	transform: translateY(10px) scale(0.95);
	pointer-events: none;
	transition: opacity 0.3s ease, transform 0.3s ease;
}
#ceo-bot-tooltip::after {
	content: '';
	position: absolute;
	bottom: -8px;
	right: 40px;
	width: 0;
	height: 0;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-top: 8px solid rgba(255, 255, 255, 0.95);
}
#ceo-bot-tooltip.visible {
	opacity: 1;
	transform: translateY(0) scale(1);
}
@keyframes tooltip-pulse {
	0% { transform: scale(1); box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); }
	50% { transform: scale(1.05); box-shadow: 0 0 20px rgba(0,5,58,0.4); border-color: #00053a; }
	100% { transform: scale(1); box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); }
}
#ceo-bot-tooltip.pulse {
	animation: tooltip-pulse 0.8s ease-in-out;
}
#ceo-bot-iframe {
	position: fixed;
	bottom: 20px;
	right: 20px;
	width: 420px !important;
	height: 640px !important;
	border: none !important;
	border-radius: 12px !important;
	box-shadow: 0 8px 32px rgba(0,0,0,.12) !important;
	z-index: 99999 !important;
	opacity: 0;
	transform: translateY(30px);
	pointer-events: none;
	visibility: hidden;
	transition: opacity .5s ease, transform .5s ease;
}
#ceo-bot-iframe.open {
	opacity: 1;
	transform: translateY(0);
	visibility: visible;
	pointer-events: auto;
}
@media (max-width: 767px) {
	#ceo-bot-button {
		transform: scale(0.6);
		bottom: 12vw;
		right: -10vw;
	}
	#ceo-bot-tooltip {
		right: 16px;
		bottom: 105px;
	}
	#ceo-bot-iframe {
		left: 50%;
		right: auto;
		width: calc(100vw - 16px) !important;
		height: 90vh !important;
		max-height: calc(100vh - 100px) !important;
		bottom: 72px !important;
		transform: translate(-50%, 30px);
	}
	#ceo-bot-iframe.open {
		transform: translate(-50%, 0);
	}
}


