@charset "UTF-8";

/*
@media ( max-width: 767px ){
　スマホレイアウト、VW指定
}
@media ( min-width: 768px ){
　タブレット・PC（1140px）レイアウト
　min(1.5385vw, 20px)　⇒　min(タブレット、PC）
}
*/

/* =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: 'din_pro_semi';
	src: local(''), url('font/d-din-pro-semi-bold.woff') format('woff');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'din_pro_bold';
	src: local(''), url('font/D-DIN-PRO-700-Bold.woff') format('woff');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}
.poppins-light {
	font-family: "Poppins", sans-serif;
	font-weight: 300;
	font-style: normal;
}
.poppins-regular {
	font-family: "Poppins", sans-serif;
	font-weight: 400;
	font-style: normal;
}
.jost {
	font-family: "Jost", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
}

/* =Styles 
-------------------------------------------------------------- */
body {
	font-family: "Hiragino Kaku Gothic ProN", Arial, "Hiragino Sans", Helvetica, "sans-serif";
	font-weight: 400;
	color: #000;
	background: #fff;
}
.en_page {
	font-family: "Poppins", sans-serif;
	letter-spacing: 0.1em;
}
a {
	text-decoration: none;
	color: #000;
}
@media ( min-width: 1060px ){
	.sptab {
		display: none !important;
	}
}
@media ( min-width: 768px ){
	body {
		font-size: min(15px, calc(15 / var(--width) * 100vw));
	}
	.sp {
		display: none !important;
	}
	.inner {
		max-width: 1300px;
		padding: 0 min(50px, calc(50 / var(--width) * 100vw));
		margin-inline: auto;
	}
}
@media ( max-width: 767px ){
	body {
		font-size: 3.6vw;
	}
	.pc,
	.pctab {
		display: none !important;
	}
	.inner {
		padding: 0 8vw;
	}
}

:root {
	--width: 1400;
	--navy: #004994;
	--red: #ee4d37;
}

@media (hover: hover) {

}
@media ( min-width: 768px ){

}
@media ( max-width: 767px ){
	
}

/* =common 
-------------------------------------------------------------- */
/* header */
.header {
	position: fixed;
	width: 100%;
	box-sizing: border-box;
	z-index: 995;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background-color: rgba(255, 255, 255, 0.95);
	transition: background-color 1.2s ease-in-out;
}
.header.top {
	background-color: rgba(255, 255, 255, 0);
}
.header.active {
	background-color: rgba(255, 255, 255, 0.95);
}
.header .btn_wrap {
	display: flex;
	align-items: center;
}
.header .language_switch {
	display: flex;
	font-weight: 700;
}
.en_page .header .language_switch {
	display: flex;
}
.header .language_switch li {
	position: relative;
	color: #7f7f7f;
}
.header .language_switch li:first-of-type::before {
	content: "/";
	color: #000;
	width: 1em;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.header .language_switch li a {
	transition: color 0.3s ease;
	color: #000;
}
@media (hover: hover) {
	.header .language_switch li a:hover {
		color: var(--red);
	}
}
.header .entry a {
	display: inline-block;
	font-weight: 700;
	letter-spacing: 0.05em;
	color: #fff;
	background: var(--navy);
	transition: background-color 0.3s ease;
	cursor: pointer;
}
@media (hover: hover) {
	.header .entry a:hover {
		background: var(--red);
	}
}
.menu-trigger {
	position: fixed;
	top: min(15px, calc(15 / var(--width) * 100vw));
	right: min(35px, calc(35 / var(--width) * 100vw));
	background: #fff;
	border-radius: 50%;
	cursor: pointer;
	width: min(50px, calc(50 / var(--width) * 100vw));
	height: min(50px, calc(50 / var(--width) * 100vw));
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.3s ease;
	z-index: 999; /* ← gnav(996)より上 */
}
.menu-trigger span {
	position: absolute;
	left: 50%;
	width: min(22px, calc(22 / var(--width) * 100vw));
	height: min(2px, calc(2 / var(--width) * 100vw));
	background-color: var(--navy);
	border-radius: min(2px, calc(2 / var(--width) * 100vw));
	transform: translateX(-50%);
	transition: all 0.35s ease;
}
.menu-trigger span:nth-of-type(1) {
	top: calc(50% - min(7px, calc(7 / var(--width) * 100vw)));
}
.menu-trigger span:nth-of-type(2) {
	top: 50%;
}
.menu-trigger span:nth-of-type(3) {
	top: calc(50% + min(7px, calc(7 / var(--width) * 100vw)));
}
.menu-trigger.active {
	background-color: var(--navy);
}
.menu-trigger.active span {
	background-color: #fff;
}
.menu-trigger.active span:nth-of-type(1) {
	top: 50%;
	transform: translateX(-50%) rotate(45deg);
}
.menu-trigger.active span:nth-of-type(2) {
	opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
	top: 50%;
	transform: translateX(-50%) rotate(-45deg);
}
.gnav {
	display: none;
	position: fixed;
	width: 100%;
	height: 50vh;
	background: #fff;
	top: 0;
	left: 0;
	transform: translateY(-30px);
	opacity: 0;
	transition: all 0.4s ease;
	z-index: 996;
}
.gnav.open {
	transform: translateY(0);
	opacity: 1;
}
.gnav ul {
	padding: 100px 0;
}
.gnav ul li a {
	display: block;
	font-size: 18px;
	font-weight: 700;
	line-height: 2.5;
	letter-spacing: 0.05em;
	color: var(--navy);
}
@media ( min-width: 768px ){
	.header {
		height: min(80px, calc(80 / var(--width) * 100vw));
		padding: 0 min(95px, calc(95 / var(--width) * 100vw)) 0 min(35px, calc(35 / var(--width) * 100vw));
		transition: height 0.3s ease-in-out;
	}
	.header .logo {
		width: min(218px, calc(218 / var(--width) * 100vw));
	}
	.header .btn_wrap {
		gap: 0 10px;
	}
	.header .language_switch {
		gap: 0 12px;
		font-size: 14px;
		margin: 0 14px 0 0;
	}
	.header .language_switch li:first-of-type::before {
		font-size: 14px;
		right: -12px;
	}
	.header .entry a {
		padding: min(17px, calc(17 / var(--width) * 100vw)) min(55px, calc(55 / var(--width) * 100vw)) min(18px, calc(18 / var(--width) * 100vw));
		border-radius: min(25px, calc(25 / var(--width) * 100vw));
	}
}
@media ( max-width: 767px ){
	.header {
		height: 15vw;
		padding: 0 15vw 0 2.6667vw;
	}
	.header .logo {
		width: 38.6667vw;
		margin: -3vw 0 0;
	}
	.header .btn_wrap {
		gap: 0 2vw;
	}
	.header .language_switch {
		gap: 0 2.6667vw;
		font-size: 2.9333vw;
	}
	.header .language_switch li:first-of-type::before {
		font-size: 2.9333vw;
		right: -3vw;
	}
	.header .entry a {
		padding: 3.3333vw 8vw;
		border-radius: 5.3333vw;
	}
	.menu-trigger,
	.menu-trigger.adjust {
		top: 2.5vw;
	}
	.menu-trigger {
		width: 10vw;
		height: 10vw;
	}
	.menu-trigger span {
		width: 4.4vw;
		height: 0.4vw;
	}
	.menu-trigger span:nth-of-type(1) {
		top: calc(50% - 1.4667vw);
	}
	.menu-trigger span:nth-of-type(2) {
		top: 50%;
	}
	.menu-trigger span:nth-of-type(3) {
		top: calc(50% + 1.4667vw);
	}
	.gnav {
		height: 100vh;
	}
}

/* others */
.container {
	overflow: hidden;
}
.cta a.btn,
.entry_page .content_wrap .form .btn {
	display: flex;
	align-items: center;
	box-sizing: border-box;
	border: 1px solid var(--red);
	color: #fff;
	font-weight: 600;
	letter-spacing: 0.1em;
	position: relative;
	background-repeat: no-repeat;
	background-position: 100% 0;
	background-size: 200% 100%;
	background-image: linear-gradient(to right, #fff 0%, #fff 50%, var(--red) 50%, var(--red) 100%);
	transition: background-position .8s cubic-bezier(0.19, 1, 0.22, 1);
	z-index: 2;
	cursor: pointer;
}
.cta a.btn::after,
.entry_page .content_wrap .form .btn::after {
	content: "";
	background: #fff;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.cta.v2 a.btn {
	border: 1px solid var(--navy);
	background-image: linear-gradient(to right, #fff 0%, #fff 50%, var(--navy) 50%, var(--navy) 100%);
}
@media (hover: hover) {
	.cta a.btn:hover,
	.entry_page .content_wrap .form .btn:hover {
		color: var(--red);
		background-position: 0 0;
	}
	.cta a.btn:hover::after
	.entry_page .content_wrap .form .btn:hover::after {
		background: var(--red);
	}
	.cta.v2 a.btn:hover {
		color: var(--navy);
		background-position: 0 0;
	}
	.cta.v2 a.btn:hover::after {
		background: var(--navy);
	}
}
.link_txt a.btn {
	display: flex;
	align-items: center;
	box-sizing: border-box;
	color: var(--navy);
	font-weight: 500;
	position: relative;
	background-repeat: no-repeat;
	background-position: 100% 0;
	background-size: 200% 100%;
	transition: background-position .8s cubic-bezier(0.19, 1, 0.22, 1);
}
.link_txt a.btn::after {
	content: "";
	background: var(--navy);
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
@media (hover: hover) {
	.link_txt a.btn:hover {
		color: #fff;
		background-position: 0 0;
	}
	.link_txt a.btn:hover::after {
		background: #fff;
	}
}
.link_btn a.btn {
	display: flex;
	align-items: center;
	box-sizing: border-box;
	border: 1px solid var(--navy);
	color: var(--navy);
	font-weight: 600;
	letter-spacing: 0.1em;
	position: relative;
	background-repeat: no-repeat;
	background-position: 100% 0;
	background-size: 200% 100%;
	background-image: linear-gradient(to right, var(--navy) 0%, var(--navy) 50%, #fff 50%, #fff 100%);
	transition: background-position .8s cubic-bezier(0.19, 1, 0.22, 1);
}
.link_btn a.btn::after {
	content: "";
	background: var(--navy);
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
@media (hover: hover) {
	.link_btn a.btn:hover {
		color: #fff;
		background-position: 0 0;
	}
	.link_btn a.btn:hover::after {
		background: #fff;
	}
}
.sec_title {
	font-weight: 600;
	color: var(--navy);
	text-align: left;
	position: relative;
}
.en_page .sec_title .typing-text {
	line-height: 1.2;
}
.sec_title::after {
	content: "";
	background: var(--red);
	position: absolute;
	bottom: 0;
	left: 0;
}
.sec_title .en {
	font-family: "Poppins", sans-serif;
	font-weight: 600;
	color: #000;
	display: block;
	letter-spacing: 0.1em;
}
.sub_title {
	font-weight: 500;
	letter-spacing: 0.075em;
	position: relative;
}
.sub_title::after {
	content: "";
	background: var(--navy);
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.page_top {
    position: fixed;
    right: -2em;
	font-family: "Poppins", sans-serif;
    font-weight: 600;
    transform: rotate(90deg);
	letter-spacing: 0.1em;
    color: #61677a;
	z-index: 2;
}
.page_top::before {
	content: "";
	background: var(--navy);
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.typing-text span {
	display: inline-block;
	opacity: 0;
	transition: all 0.3s ease;
}
.typing-text span.mini {
	font-size: 50%;
}
.fadeIn_left {
	opacity: 0;
	transform: translate(-50%, 0);
	transition: 2s;
}
.fadeIn_left.is-show {
	transform: translate(0, 0);
	opacity: 1;
}
.fadeIn_right {
	opacity: 0;
	transform: translate(50%, 0);
	transition: 2s;
}
.fadeIn_right.is-show {
	transform: translate(0, 0);
	opacity: 1;
}
@media ( min-width: 768px ){
	.cta a.btn,
	.entry_page .content_wrap .form .btn {
		width: min(370px, calc(370 / var(--width) * 100vw));
		height: min(100px, calc(100 / var(--width) * 100vw));
		padding: 0 0 0 min(34px, calc(34 / var(--width) * 100vw));
	}
	.cta a.btn::after,
	.entry_page .content_wrap .form .btn::after {
		width: min(40px, calc(40 / var(--width) * 100vw));
		height: 1px;
		right: min(27px, calc(27 / var(--width) * 100vw));
	}
	.link_txt a.btn {
		width: min(120px, calc(120 / var(--width) * 100vw));
		height: min(45px, calc(45 / var(--width) * 100vw));
		padding: 0 0 0 min(15px, calc(15 / var(--width) * 100vw));
		background-image: linear-gradient(to right, var(--navy) 0%, var(--navy) 50%, #fff 50%, #fff 100%);
	}
	.en_page .link_txt a.btn {
		width: min(170px, calc(170 / var(--width) * 100vw));
	}
	.link_txt a.btn::after {
		width: min(15px, calc(15 / var(--width) * 100vw));
		height: 1px;
		position: absolute;
		right: min(10px, calc(10 / var(--width) * 100vw));
	}
	.link_btn a.btn {
		width: min(380px, calc(380 / var(--width) * 100vw));
		height: min(80px, calc(80 / var(--width) * 100vw));
		padding: 0 0 0 min(34px, calc(34 / var(--width) * 100vw));
	}
	.link_btn a.btn::after {
		width: min(35px, calc(35 / var(--width) * 100vw));
		height: 1px;
		right: min(27px, calc(27 / var(--width) * 100vw));
	}
	.sec_title {
		font-size: min(50px, calc(50 / var(--width) * 100vw));
		padding: 0 0 min(36px, calc(36 / var(--width) * 100vw));
		margin: 0 0 min(30px, calc(30 / var(--width) * 100vw));
	}
	.sec_title::after {
		width: min(100px, calc(100 / var(--width) * 100vw));
		height: 2px;
	}
	.sec_title .en {
		font-size: min(18px, calc(18 / var(--width) * 100vw));
		margin: 0 0 min(50px, calc(50 / var(--width) * 100vw));
	}
	.sub_title {
		font-size: min(30px, calc(30 / var(--width) * 100vw));
		padding: 0 0 min(26px, calc(26 / var(--width) * 100vw));
		margin: 0 0 min(45px, calc(45 / var(--width) * 100vw));
	}
	.sub_title::after {
		width: min(60px, calc(60 / var(--width) * 100vw));
		height: 2px;
	}
	.page_top {
		bottom: min(80px, calc(80 / var(--width) * 100vw));
		font-size: 11px;
		padding: 0 0 0 min(29px, calc(29 / var(--width) * 100vw));
	}
	.page_top.recapcha {
		bottom: min(140px, calc(140 / var(--width) * 100vw));
	}
	.page_top::before {
		width: min(20px, calc(20 / var(--width) * 100vw));
		height: 1px;
	}
	.typing-text span {
		transform: translateY(30px);
	}
}
@media ( max-width: 767px ){
	.cta a.btn,
	.entry_page .content_wrap .form .btn {
		width: 84vw;
		height: 20.2667vw;
		padding: 0 0 0 7.0667vw;
		font-size: 4vw;
	}
	.cta a.btn::after,
	.entry_page .content_wrap .form .btn::after {
		width: 10vw;
		height: 0.2667vw;
		right: 4.2667vw;
	}
	.link_txt a.btn {
		width: 32vw;
		height: 10.6667vw;
		padding: 0 0 0 4vw;
	}
	.en_page .link_txt a.btn {
		width: 40vw;
	}
	.link_txt a.btn::after {
		width: 4.6667vw;
		height: 0.2667vw;
		right: 0;
	}
	.link_btn a.btn {
		width: 72vw;
		height: 20vw;
		padding: 0 0 0 5.0667vw;
		font-size: 3.7333vw;
	}
	.link_btn a.btn::after {
		width: 7.3333vw;
		height: 0.2667vw;
		right: 4.2667vw;
	}
	.sec_title {
		font-size: 8vw;
		padding: 0 0 5.0667vw;
		margin: 0 0 15.7333vw;
	}
	.sec_title::after {
		width: 13.3333vw;
		height: 0.4vw;
	}
	.sec_title .en {
		font-size: 2.9333vw;
		margin: 0 0 8.4vw;
	}
	.sub_title {
		font-size: 6vw;
		padding: 0 0 5.6vw;
		margin: 0 0 14vw;
	}
	.sub_title::after {
		width: 10vw;
		height: 0.4vw;
	}
	.page_top {
		bottom: 10vw;
		font-size: 2.4vw;
		padding: 0 0 0 5.3333vw;
		right: -6vw;
	}
	.page_top.recapcha {
		bottom: 30vw;
	}
	.page_top::before {
		width: 2.9333vw;
		height: 0.2667vw;
	}
	.typing-text span {
		transform: translateY(4vw);
	}
}
/* modal */
.modal {
    display: none;
    height: 100vh;
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 997;
}
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.65);
    background-size: cover;
    z-index: 998;
}
.modal__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
    background: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
	box-sizing: border-box;
	z-index: 999;
}
a.js-modal-close {
    position: absolute;
    right: 0;
    cursor: pointer;
	color: #fff;
}
a.js-modal-close::before {
	content: "";
	background: url("img/btn_close.png") no-repeat 0 0 / contain;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}
.entry_pop .box_wrap {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.entry_pop .box .cta p {
	font-weight: 500;
	letter-spacing: 0.1em;
}
@media ( min-width: 768px ){
	.modal__content {
		padding: 50px;
		width: 500px;
		border-radius: 20px;
	}
	a.js-modal-close {
		top: -70px;
		font-size: 25px;
		padding: 0 72px 0 0;
	}
	a.js-modal-close::before {
		width: 43px;
		height: 41px;
	}
	.entry_pop .box:first-of-type {
		margin: 0 0 40px;
	}
	.entry_pop .box .cta {
		margin: 0 0 10px;
	}
	.entry_pop .box .cta p {
		font-size: 16px;
	}
}
@media ( max-width: 767px ){
	.modal__content {
		padding: 8vw 0 6.6667vw;
		width: 82.6667vw;
		border-radius: 4vw;
	}
	a.js-modal-close {
		top: -7.3333vw;
		font-size: 3.3333vw;
		padding: 0 9.7333vw 0 0;
	}
	a.js-modal-close::before {
		width: 5.7333vw;
		height: 5.4667vw;
	}
	.entry_pop .box:first-of-type {
		margin: 0 0 40px;
	}
	.entry_pop .box .cta {
		margin: 0 0 4vw;
	}
	.entry_pop .cta.v2 a.btn {
		width: 69.3333vw;
		height: 20vw;
		text-align: left;
	}
	.en_page .entry_pop .cta.v2 a.btn {
		line-height: 1.2;
	}
	.entry_pop .box p {
		font-size: 2.9333vw;		
	}
}
/* footer */
.footer {
	color: #fff;
}
.footer .site_link dd ul {
	display: flex;
	justify-content: center;
}
.footer .site_link dd ul li a {
	color: #fff;
	letter-spacing: 0.1em;
}
@media (hover: hover) {
	.footer .site_link dd ul li a:hover {
		text-decoration: underline;
	}
}
.footer .copy {
	color: #a9a9a9;
}
.en_page .footer .copy {
	font-family: "Hiragino Kaku Gothic ProN", Arial, "Hiragino Sans", Helvetica, "sans-serif";
	letter-spacing: 0;
}
@media ( min-width: 768px ){
	.footer {
		background: url("img/bg01.png") repeat 0 0 / min(8px, calc(8 / var(--width) * 100vw)) auto;
		padding: min(67px, calc(67 / var(--width) * 100vw)) 0 min(93px, calc(93 / var(--width) * 100vw));
	}
	.footer .logo {
		margin: 0 0 min(50px, calc(50 / var(--width) * 100vw));
	}
	.footer .logo img {
		width: min(269px, calc(269 / var(--width) * 100vw));
		margin: 0 auto min(27px, calc(27 / var(--width) * 100vw));
	}
	.footer .site_link {
		margin: 0 0 min(60px, calc(60 / var(--width) * 100vw));
	}
	.footer .site_link dt {
		font-size: min(22px, calc(22 / var(--width) * 100vw));
		font-weight: 700;
		letter-spacing: 0.15em;
		margin: 0 0 min(35px, calc(35 / var(--width) * 100vw));
	}
	.footer .site_link dd ul {
		gap: 0 min(33px, calc(33 / var(--width) * 100vw));
	}
	.footer .site_link dd ul li a {
		font-size: min(14px, calc(14 / var(--width) * 100vw));
	}
	.footer .copy {
		font-size: 11px;
	}
}
@media ( max-width: 767px ){
	.footer {
		background: url("img/bg01.png") repeat 0 0 / 1.0667vw auto;
		padding: 12vw 0 10.6667vw;
	}
	.footer .logo {
		margin: 0 0 6vw;
	}
	.footer .logo img {
		width: 49.6vw;
		margin: 0 auto 4.5333vw;
	}
	.footer .logo p {
		font-size: 4vw;
	}
	.footer .site_link {
		margin: 0 0 10.6667vw;
	}
	.footer .site_link dt {
		font-size: 4.6667vw;
		font-weight: 700;
		letter-spacing: 0.15em;
		margin: 0 0 10.6667vw;
	}
	.footer .site_link dd ul {
		flex-wrap: wrap;
		gap: 4vw 7.2vw;
	}
	.footer .site_link dd ul li a {
		font-size: 3.0667vw;
	}
	.footer .copy {
		font-size: 2.4vw;
	}
}

/* =index
-------------------------------------------------------------- */
/* fv */
.fv {
	position: relative;
}
.fv::before {
	content: "";
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	pointer-events: none;
}
.splide_kv img {
	width: 100%;
}
.fv .site_desc {
	transform: rotate(90deg);
    transform-origin: left top;
	position: absolute;
	font-weight: 700;
	color: #fff;
	letter-spacing: 0.15em;
	border-top: 1px solid #fff;
}
.fv .main_txt {
	position: relative;
	text-align: right;
}
.fv .main_txt p {
	color: #fff;
	font-weight: 600;
}
.en_page .fv .main_txt p {
	line-height: 1.2;
}
.fv .main_txt p.mgn {
	margin: 0.1em -0.5em 0 0;
}
.fv .main_txt p.mgn:last-of-type {
	margin: 0.2em -0.5em 0 0;
}
.main_txt span {
	display: inline-block;
	opacity: 0;
	transition: opacity 0.3s ease, transform 0.3s ease;
	will-change: opacity, transform;
}
.fv .main_txt .box {
	display: flex;
}
@media ( min-width: 768px ){
	.fv {
		margin: 0 0 min(30px, calc(30 / var(--width) * 100vw));
	}
	.fv.entry_fv {
		margin: 0;
	}
	.fv.top {
		margin: 0 0 min(100px, calc(100 / var(--width) * 100vw));
	}
	.fv::before {
		background: url("img/kv_bg.jpg") no-repeat 0 0 / cover;
		height: min(2000px, calc(2000 / var(--width) * 100vw));
	}
	.fv .site_desc {
		top: min(110px, calc(110 / var(--width) * 100vw));
		left: min(66px, calc(66 / var(--width) * 100vw));
		font-size: min(25px, calc(25 / var(--width) * 100vw));
		padding: min(10px, calc(10 / var(--width) * 100vw)) 0 0;
	}
	.fv .main_txt {
		margin: max(-500px, calc(-500 / var(--width) * 100vw)) 0 0;
	}
	.fv .main_txt p {
		font-size: min(66.5px, calc(66.5 / var(--width) * 100vw));
	}
	.en_page .fv .main_txt p {
		font-size: min(60px, calc(60 / var(--width) * 100vw));
	}
	.main_txt span {
		transform: translateY(-20px);
	}
	.fv .main_txt p .txt1 {
		font-size: min(84.5px, calc(84.5 / var(--width) * 100vw));
	}
	.fv .main_txt p .txt2 {
		font-size: min(100px, calc(100 / var(--width) * 100vw));
	}
	.fv .main_txt .box {
		justify-content: flex-end;
		margin: min(46px, calc(46 / var(--width) * 100vw)) 0 0;
	}
}
@media ( max-width: 767px ){
	.fv {
		margin: 0 0 7.3333vw;
	}
	.fv::before {
		background: url("img/kv_bg_sp.jpg") no-repeat 0 0 / cover;
		height: 186.1333vw;
	}
	.fv .site_desc {
		top: 18.6667vw;
		left: 9vw;
		font-size: 4vw;
		padding: 1.7333vw 0 0;
	}
	.fv .main_txt {
		margin: -15.3333vw 0 0;
	}
	.fv .main_txt p {
		font-size: 8.8667vw;
		font-feature-settings: "palt";
	}
	.en_page .fv .main_txt p {
		font-size: 8.5vw;
	}
	.main_txt span {
		transform: translateY(-4vw);
	}
	.fv .main_txt p .txt1 {
		font-size: 11.2vw;
	}
	.fv .main_txt p .txt2 {
		font-size: 13.3333vw;
	}
	.fv .main_txt .box {
		justify-content: center;
		margin: 8vw 0 0;
	}
}

/* about introduction */
.about {
	position: relative;
	z-index: 1;
}
.about::before {
	content: "";
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}
.about .introduction {
	position: relative;
	background: #fff;
}
.about .introduction::before {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	opacity: 0;
	transition: transform 3.4s cubic-bezier(0.25, 1, 0.5, 1),
	            opacity 3.4s ease;
	z-index: 0;
}
.about .introduction.in-view::before {
	transform: translateX(0);
	opacity: 1;
}
.about .introduction .main_wrap {
	position: relative;
}
.about .introduction .main .txt_box .txt3 {
	font-family: "Poppins", sans-serif;
	font-weight: 300;
	color: rgba(97,103,122,0.15);
	position: absolute;
}
@media ( min-width: 768px ){
	.about {
		padding: min(548px, calc(548 / var(--width) * 100vw)) 0 0;
	}
	.about::before {
		background: url("img/about_bg01.png") no-repeat 0 bottom / 100% auto;
		height: min(550px, calc(550 / var(--width) * 100vw));
	}
	.about .introduction::before {
		background: url("img/about_bg02.png") no-repeat bottom right / contain;
		width: min(1595px, calc(1595 / var(--width) * 100vw));
		height: min(590px, calc(590 / var(--width) * 100vw));
		transform: translateX(min(1595px, calc(1595 / var(--width) * 100vw)));
	}
	.about .introduction .sec_title {
		width: min(1300px, calc(1300 / var(--width) * 100vw));
		position: absolute;
		top: max(-210px, calc(-150 / var(--width) * 100vw));
		left: 50%;
		transform: translateX(-50%);
	}
	.about .introduction .main_wrap {
		margin: 0 0 min(115px, calc(115 / var(--width) * 100vw));
	}
	.about .introduction .main {
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
		gap: 0 min(45px, calc(45 / var(--width) * 100vw));
	}
	.about .introduction .main .img_box {
		flex: 0 0 min(670px, calc(670 / var(--width) * 100vw));
	}
	.about .introduction .main .txt_box {
		width: min(585px, calc(585 / var(--width) * 100vw));
		font-size: min(45px, calc(45 / var(--width) * 100vw));
		font-weight: 500;
		line-height: 1.55;
		position: relative;
	}
	.about .introduction .main .txt_box .txt1 {
		text-align: left;
	}
	.about .introduction .main .txt_box .txt2 {
		text-align: right;
		margin: min(50px, calc(50 / var(--width) * 100vw)) 0 0;
	}
	.about .introduction .main .txt_box .txt3 {
		font-size: min(130px, calc(130 / var(--width) * 100vw));
		top: 5%;
		left: min(170px, calc(170 / var(--width) * 100vw));
	}
}
@media ( max-width: 767px ){
	.about {
		padding: 17.0667vw 0 0;
	}
	.about::before {
		background: url("img/about_bg01_sp.png") no-repeat 0 bottom / 100% auto;
		height: 17.0667vw;
	}
	.about .introduction {
		padding: 0 0 10vw;
	}
	.about .introduction::before {
		background: url("img/about_bg02_sp.png") no-repeat bottom right / contain;
		width: 87.0667vw;
		height: 318.8vw;
		transform: translateX(87.0667vw);
	}
	.about .introduction .main_wrap {
		margin: 0 0 26.6667vw;
	}
	.about .introduction .main {
		display: flex;
		justify-content: space-between;
	}
	.about .introduction .main .img_box {
		flex: 0 0 72vw;
		margin: 0 -8vw 0 0;
	}
	.about .introduction .main .txt_box {
		width: min(585px, calc(585 / var(--width) * 100vw));
		font-size: min(45px, calc(45 / var(--width) * 100vw));
		font-weight: 500;
		line-height: 1.55;
		position: relative;
	}
	.about .introduction .main .txt_box .txt1 {
		writing-mode: vertical-rl;
		font-size: 6.9333vw;
		font-weight: 600;
		margin: -0.5em 0 0;
		letter-spacing: 0.1em;
	}
	.about .introduction .main_wrap .txt2 {
		text-align: right;
		font-size: 6.9333vw;
		font-weight: 600;
		line-height: 1.44;
	}
	.about .introduction .main_wrap .txt3 {
		font-family: "Poppins", sans-serif;
		font-weight: 300;
		color: rgba(97,103,122,0.15);
		font-size: 17.3333vw;
		margin: -0.3em 0 0 0.3em;
		white-space: nowrap;
	}
}

/* about business_content */
.about .business_content {
	position: relative;
}
.about .business_content .sec_in .caption {
	line-height: 2;
	letter-spacing: 0.1em;
	margin: 0 0 1em;
}
.about .business_content .sec_in .link_txt {
	display: flex;
	justify-content: flex-end;
}
@media (hover: hover) {
	.about .business_content .link_txt a.btn:hover {
	}
}
@media ( min-width: 768px ){
	.about .business_content {
		padding: 0 0 min(90px, calc(90 / var(--width) * 100vw));
	}
	.about .business_content .sec_in {
		display: flex;
		justify-content: space-between;
	}
	.about .business_content .sec_in li {
		width: 29.23%;
	}
	.about .business_content .sec_in .img_box {
		margin: 0 0 min(45px, calc(45 / var(--width) * 100vw));
	}
	.about .business_content .link_txt a.btn {
		background-image: linear-gradient(to right, var(--navy) 0%, var(--navy) 50%, #ecf0f8 50%, #ecf0f8 100%);
	}
}
@media ( max-width: 767px ){
	.about .business_content .sec_in .caption {
		line-height: 1.85;
	}
	.about .business_content .sec_in li {
		margin: 0 0 12.6667vw;
	}
	.about .business_content .sec_in .img_box {
		margin: 0 0 8vw;
	}
}

/* about in_numbers */
.about .in_numbers {
	color: #fff;
}
.about .in_numbers .sec_in {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.en_page .about .in_numbers .sec_in dl dt {
	line-height: 1.4;
}
.about .in_numbers .sec_in dl dd {
	display: flex;
}
.about .in_numbers .sec_in dl dd .num_txt {
	color: var(--red);
}
.about .in_numbers .sec_in dl:nth-child(2) dd .num_txt {
	display: flex;
	align-items: flex-end;
}
.about .in_numbers .sec_in dl dd .num_txt .num {
	font-family: 'din_pro_semi';
}
.about .in_numbers .sec_in dl dd .num_txt .cat {
	color: #fff;
}
.about .in_numbers .sec_in dl dd .txt {
	display: block;
	font-weight: 500;
	line-height: 1.2;
}
.about .in_numbers .sec_in dl dd .txt .num {
	font-family: 'din_pro_semi';
}
.about .in_numbers .sec_in dl dd .note {
	display: block;
	margin: 0.75em 0 0;
}
@media ( min-width: 768px ){
	.about .in_numbers {
		padding: min(100px, calc(100 / var(--width) * 100vw)) 0;
		background: url("img/bg01.png") repeat 0 0 / min(8px, calc(8 / var(--width) * 100vw)) auto;
	}
	.about .in_numbers .sub_title {
		margin: 0 0 min(100px, calc(100 / var(--width) * 100vw));
	}
	.about .in_numbers .sec_in {
		gap: min(100px, calc(100 / var(--width) * 100vw)) min(80px, calc(80 / var(--width) * 100vw));
	}
	.about .in_numbers .sec_in dl {
		width: min(375px, calc(375 / var(--width) * 100vw));
	}
	.about .in_numbers .sec_in dl dt {
		font-size: min(20px, calc(20 / var(--width) * 100vw));
		font-weight: 500;
		padding: 0 0 min(22px, calc(22 / var(--width) * 100vw));
		border-bottom: 1px solid #aaa;
		margin: 0 0 min(35px, calc(35 / var(--width) * 100vw));
	}
	.about .in_numbers .sec_in dl dd {
		justify-content: center;
		gap: 0 min(20px, calc(20 / var(--width) * 100vw));
	}
	.about .in_numbers .sec_in dl:nth-child(1) dd .icon {
		width: min(117px, calc(117 / var(--width) * 100vw));
	}
	.about .in_numbers .sec_in dl:nth-child(2) dd .icon {
		width: min(136px, calc(136 / var(--width) * 100vw));
	}
	.about .in_numbers .sec_in dl:nth-child(3) dd .icon {
		width: min(129px, calc(129 / var(--width) * 100vw));
	}
	.about .in_numbers .sec_in dl:nth-child(4) dd .icon {
		width: min(128px, calc(128 / var(--width) * 100vw));
	}
	.about .in_numbers .sec_in dl:nth-child(5) dd .icon {
		width: min(117px, calc(117 / var(--width) * 100vw));
	}
	.en_page .about .in_numbers .sec_in dl:nth-child(5) dd .icon {
		width: min(95px, calc(95 / var(--width) * 100vw));
	}
	.about .in_numbers .sec_in dl:nth-child(1) dd .txt_box {
		text-align: left;
	}
	.about .in_numbers .sec_in dl dd .txt_box {
		margin: max(-10px, calc(-10 / var(--width) * 100vw)) 0 0;
		width: min(240px, calc(240 / var(--width) * 100vw));
	}
	.about .in_numbers .sec_in dl:nth-child(5) dd .txt_box {
		width: min(180px, calc(180 / var(--width) * 100vw));
	}
	.en_page .about .in_numbers .sec_in dl:nth-child(5) dd .txt_box {
		width: min(220px, calc(220 / var(--width) * 100vw));
	}
	.about .in_numbers .sec_in dl dd .num_txt {
		font-size: min(45px, calc(45 / var(--width) * 100vw));
		font-weight: 500;
	}
	.en_page .about .in_numbers .sec_in dl dd .num_txt {
		font-size: min(30px, calc(30 / var(--width) * 100vw));
	}
	.about .in_numbers .sec_in dl dd .num_txt .num {
		font-weight: 600;
		font-size: min(102px, calc(102 / var(--width) * 100vw));
	}
	.en_page .about .in_numbers .sec_in dl dd .num_txt .num {
		font-size: min(95px, calc(95 / var(--width) * 100vw));
	}
	.about .in_numbers .sec_in dl:nth-child(2) dd .num_txt .num {
		font-size: min(90px, calc(90 / var(--width) * 100vw));
		width: min(100px, calc(100 / var(--width) * 100vw));
	}
	.about .in_numbers .sec_in dl dd .num_txt .cat {
		font-size: min(32px, calc(32 / var(--width) * 100vw));
		margin: 0 min(15px, calc(15 / var(--width) * 100vw)) min(12px, calc(12 / var(--width) * 100vw)) 0;
	}
	.about .in_numbers .sec_in dl dd .txt {
		margin: min(10px, calc(10 / var(--width) * 100vw)) 0 0;
		font-size: min(23px, calc(23 / var(--width) * 100vw));
	}
	.about .in_numbers .sec_in dl dd .txt .num {
		font-size: min(41px, calc(41 / var(--width) * 100vw));
	}
	.about .in_numbers .sec_in dl dd .txt .unit {
		font-size: min(28px, calc(28 / var(--width) * 100vw));
	}
	.about .in_numbers .sec_in dl dd .note {
		font-size: min(14px, calc(14 / var(--width) * 100vw));
	}
}
@media ( max-width: 767px ){
	.about .in_numbers {
		padding: 18vw 0 14.6667vw;
		background: url("img/bg01.png") repeat 0 0 / 1.0667vw auto;
		margin: 0 4vw;
	}
	.about .in_numbers .sub_title {
		margin: 0 0 16vw;
	}
	.en_page .about .in_numbers .sub_title {
		line-height: 1.4;
	}
	.about .in_numbers .sec_in {
		gap: 19.3333vw 6vw;
	}
	.about .in_numbers .sec_in dl {
		width: 34.6667vw;
	}
	.about .in_numbers .sec_in dl dt {
		font-size: 4vw;
		font-weight: 500;
		line-height: 1.2;
		padding: 0 0 4vw;
		border-bottom: 1px solid #aaa;
		margin: 0 0 5.3333vw;
	}
	.en_page .about .in_numbers .sec_in dl dt {
		font-size: 3.6vw;
	}
	.about .in_numbers .sec_in dl:nth-child(4) dt {
		margin: 0 0 3.7777vw;
	}
	.about .in_numbers .sec_in dl:nth-child(5) dt {
	}
	
	.about .in_numbers .sec_in dl dd {
		flex-direction: column;
		justify-content: center;
	}
	.about .in_numbers .sec_in dl:last-child {
		width: auto;
	}
	.about .in_numbers .sec_in dl:last-child dd {
		flex-direction: row;
		gap: 0 2vw;
	}
	.about .in_numbers .sec_in dl dd .icon {
		margin: 0 auto 4.8vw;
	}
	.about .in_numbers .sec_in dl:nth-child(1) dd .icon {
		width: 15.6vw;
	}
	.about .in_numbers .sec_in dl:nth-child(2) dd .icon {
		width: 18.8vw;
	}
	.about .in_numbers .sec_in dl:nth-child(3) dd .icon {
		width: 17.2vw;
	}
	.about .in_numbers .sec_in dl:nth-child(4) dd .icon {
		width: 17.0667vw;
		margin: 0 auto 4vw;
	}
	.about .in_numbers .sec_in dl:nth-child(5) dd .icon {
		width: 15.6vw;
	}
	.about .in_numbers .sec_in dl:nth-child(5) dd .txt_box {
		width: 27vw;
	}
	.en_page .about .in_numbers .sec_in dl:nth-child(5) dd .txt_box {
		width: 35vw;
	}
	.about .in_numbers .sec_in dl dd .num_txt {
		font-size: 6.1333vw;
		font-weight: 500;
	}
	.en_page .about .in_numbers .sec_in dl dd .num_txt {
		font-size: 4.6vw;
	}
	.about .in_numbers .sec_in dl dd .num_txt .num {
		font-weight: 600;
		font-size: 12vw;
	}
	.about .in_numbers .sec_in dl:nth-child(2) dd .num_txt {
		padding: 0 0 0 6vw;
	}
	.en_page .about .in_numbers .sec_in dl:nth-child(2) dd .num_txt {
		padding: 0;
	}
	.about .in_numbers .sec_in dl dd .num_txt .cat {
		font-size: 4.2667vw;
		margin: 0 2vw 1.6vw 0;
	}
	.about .in_numbers .sec_in dl:nth-child(2) dd .num_txt .num {
		font-size: 12vw;
	}
	.about .in_numbers .sec_in dl dd .txt {
		margin: 3.3333vw 0 0;
		font-size: 3.0667vw;
	}
	.about .in_numbers .sec_in dl dd .txt .num {
		font-size: 5.4667vw;
	}
	.about .in_numbers .sec_in dl dd .txt .unit {
		font-size: 3.7333vw;
	}
	.about .in_numbers .sec_in dl dd .note {
		font-size: 3.0667vw;
	}
}

/* about dear_everyone */
.about .dear_everyone {
	position: relative;
}
.about .dear_everyone::before,
.about .dear_everyone::after {
	content: "";
	position: absolute;
	opacity: 0;
	transition: transform 3.4s cubic-bezier(0.25, 1, 0.5, 1),
	            opacity 3.4s ease;
	z-index: -1;
}
.about .dear_everyone::before {
	top: 0;
	left: 0;
}
.about .dear_everyone::after {
	right: 0;
}
.about .dear_everyone.in-view::before,
.about .dear_everyone.in-view::after {
	transform: translateX(0);
	opacity: 1;
}
.about .dear_everyone .sec_in .img_box {
	display: flex;
	align-items: flex-start;
}
.about .dear_everyone .sec_in .img_box img {
	flex-shrink: 0;
}
.about .dear_everyone .sec_in .img_box .catch {
	text-align: left;
	writing-mode: vertical-rl;
	font-weight: 500;
	line-height: 1.8;
	letter-spacing: 0.15em;
}
.about .dear_everyone .sec_in .txt_box {
	text-align: left;
}
.about .dear_everyone .sec_in .txt_box p {
	line-height: 2;
	margin: 0 0 1em;
}
.about .dear_everyone .sec_in .txt_box p.name {
	text-align: right;
}
@media ( min-width: 768px ){
	.about .dear_everyone {
		padding: min(130px, calc(130 / var(--width) * 100vw)) 0;
	}
	.about .dear_everyone::before {
		background: url("img/dear_everyone_bg01.svg") no-repeat 0 0 / contain;
		width: min(1268px, calc(1000 / var(--width) * 100vw));
		height: min(1327px, calc(1327 / var(--width) * 100vw));
		transform: translateX(max(-1268px, calc(-1268 / var(--width) * 100vw)));
	}
	.about .dear_everyone::after {
		background: url("img/dear_everyone_bg02.svg") no-repeat right 0 / contain;
		width: min(643px, calc(643 / var(--width) * 100vw));
		height: min(1125px, calc(1125 / var(--width) * 100vw));
		top: min(422px, calc(422 / var(--width) * 100vw));
		transform: translateX(min(643px, calc(643 / var(--width) * 100vw)));
	}
	.about .dear_everyone .sub_title {
		margin: 0 0 min(124px, calc(124 / var(--width) * 100vw));
	}
	.about .dear_everyone .sec_in {
		display: flex;
		justify-content: space-between;
	}
	.about .dear_everyone .sec_in .img_box {
		gap: 0 min(50px, calc(50 / var(--width) * 100vw));
	}
	.about .dear_everyone .sec_in .img_box img {
		width: min(300px, calc(300 / var(--width) * 100vw));
	}
	.about .dear_everyone .sec_in .img_box .catch {
		font-size: min(30px, calc(30 / var(--width) * 100vw));
	}
	.about .dear_everyone .sec_in .txt_box {
		margin: min(160px, calc(160 / var(--width) * 100vw)) 0 0;
		width: min(640px, calc(640 / var(--width) * 100vw));
	}
	.about .dear_everyone .sec_in .txt_box p.name {
		margin: min(50px, calc(50 / var(--width) * 100vw)) 0 0;
	}
}
@media ( max-width: 767px ){
	.about .dear_everyone {
		padding: 24vw 0 30.6667vw;
	}
	.about .dear_everyone::before {
		background: url("img/dear_everyone_bg01_sp.svg") no-repeat 0 0 / contain;
		width: 88.5333vw;
		height: 343.3333vw;
		transform: translateX(-88.5333vw);
	}
	.about .dear_everyone::after {
		background: url("img/dear_everyone_bg02_sp.svg") no-repeat right 0 / contain;
		width: 63.6vw;
		height: 158.1333vw;
		bottom: 0;
		transform: translateX(63.6vw);
	}
	.about .dear_everyone .sub_title {
		margin: 0 0 16vw;
	}
	.about .dear_everyone .sec_in {
	}
	.about .dear_everyone .sec_in .img_box {
		justify-content: space-between;
		margin: 0 0 8.6667vw -8vw;
	}
	.about .dear_everyone .sec_in .img_box img {
		width: 56.1333vw;
	}
	.about .dear_everyone .sec_in .img_box .catch {
		font-size: 5.0667vw;
	}
	.en_page .about .dear_everyone .sec_in .img_box .catch {
		height: 112vw;
	}
	.about .dear_everyone .sec_in .txt_box p.name {
		margin: 8.6667vw 0 0;
	}
}

/* business_overview */
.business_overview {
	position: relative;
    z-index: 1;
}
.business_overview .intro .txt_box {
	text-align: left;
}
.business_overview .sec_in {
	display: flex;
}
.business_overview .inview:nth-child(odd) .sec_in {
	justify-content: flex-end;
}
.business_overview .sec_in .txt_box .title {
	display: block;
}
@media ( min-width: 768px ){
	.business_overview .intro {
		display: flex;
		align-items: center;
		gap: 0 min(26px, calc(26 / var(--width) * 100vw));
		margin: 0 0 min(126px, calc(126 / var(--width) * 100vw));
	}
	.business_overview .intro .img_box {
		flex: 0 0 min(705px, calc(705 / var(--width) * 100vw));
	}
	.business_overview .intro .txt_box {
		font-size: min(40px, calc(40 / var(--width) * 100vw));
		font-weight: 500;
		line-height: 1.6;
		margin: 1em 0 0;
	}
	.business_overview .sec_in {
		gap: 0 min(30px, calc(30 / var(--width) * 100vw));
		margin: 0 0 min(115px, calc(115 / var(--width) * 100vw));
	}
	.business_overview .sec_in .img_box {
		flex: 0 0 min(450px, calc(450 / var(--width) * 100vw));
	}
	.business_overview .sec_in .txt_box {
		text-align: left;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}
	.business_overview .sec_in .txt_box .title {
		font-size: min(30px, calc(30 / var(--width) * 100vw));
		font-weight: 500;
		margin: 0 0 0 -0.5em;
	}
	.business_overview .sec_in .txt_box p {
		line-height: 2.3;
		margin: 0 0 min(70px, calc(70 / var(--width) * 100vw));
	}
}
@media ( max-width: 767px ){
	.business_overview {
		padding: 0 0 15.3333vw;
	}
	.business_overview .sec_title {
		margin: 0;
	}
	.business_overview .intro {
		margin: 0 0 min(126px, calc(126 / var(--width) * 100vw));
	}
	.business_overview .intro .img_box {
		margin: 0 -8vw 10vw 0;
	}
	.business_overview .intro .txt_box {
		font-size: 6.4vw;
		font-weight: 600;
		line-height: 1.458;
	}
	.en_page .business_overview .intro .txt_box {
		font-size: 6vw;
	}
	.business_overview .sec_in_wrap {
		display: flex;
		justify-content: space-between;
		margin: 0 0 23.2vw;
	}
	.business_overview .inview:nth-child(even) .sec_in_wrap {
		flex-direction: row-reverse;
	}
	
	.business_overview .sec_in_wrap .title {
		display: block;
		text-align: left;
		writing-mode: vertical-rl;
		font-size: 5.3333vw;
		font-weight: 600;
		line-height: 1.75;
		margin: -0.5em 0 0;
	}
	.business_overview .sec_in {
		flex-direction: column-reverse;
	}
	.business_overview .sec_in .img_box {
		width: 79.8667vw;
		margin: 0 0 6.4vw -8vw;
	}
	.business_overview .inview:nth-child(even) .sec_in .img_box {
		margin: 0 -8vw 6.4vw 0;
	}
	.business_overview .sec_in .txt_box {
		text-align: left;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}
	.business_overview .sec_in .txt_box p {
		line-height: 1.59;
		margin: 0 0 1em;
	}
}

/* work_environment */
.work_environment .intro .txt_box {
	text-align: left;
}
.work_environment .facility {
	color: #fff;
	position: relative;
}
.work_environment .facility::before {
	content: "";
	position: absolute;
	top: 0;
	height: 100%;
	z-index: 0;
}
.work_environment .facility > * {
	position: relative;
	z-index: 1;
}
.work_environment .facility .splide_ticker dl dt {
	font-weight: 600;
	margin: 0 0 1em;
}
.work_environment .facility .splide_ticker dl dd {
	letter-spacing: 0.1em;
}
.overflow-right__sliderWrap {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	padding-left: calc(50vw - 50%);
}
@media ( min-width: 768px ){
	.work_environment .intro {
		display: flex;
		align-items: center;
		gap: 0 min(26px, calc(26 / var(--width) * 100vw));
		margin: 0 0 min(126px, calc(126 / var(--width) * 100vw));
	}
	.work_environment .intro .img_box {
		flex: 0 0 min(705px, calc(705 / var(--width) * 100vw));
	}
	.work_environment .intro .txt_box {
		font-size: min(40px, calc(40 / var(--width) * 100vw));
		font-weight: 500;
		line-height: 1.6;
		margin: 1em 0 0;
	}
	.work_environment .facility {
		padding: min(100px, calc(100 / var(--width) * 100vw)) 0 min(80px, calc(80 / var(--width) * 100vw));
	}
	.work_environment .facility::before {
		background: url("img/bg01.png") repeat 0 0 / min(8px, calc(8 / var(--width) * 100vw)) auto;
		width: 100%;
		left: 0;
	}
	.work_environment .facility .splide_ticker .img_box {
		margin: 0 0 min(27px, calc(27 / var(--width) * 100vw));
	}
	.work_environment .facility .splide_ticker dl dt {
		font-size: min(17px, calc(17 / var(--width) * 100vw));
	}
	.work_environment .facility .splide_ticker dl dd {
		line-height: 2;
	}
}
@media ( max-width: 767px ){
	.work_environment .sec_title {
		margin: 0 0 9.0667vw;
	}
	.work_environment .intro {
		margin: 0 0 14vw;
	}
	.work_environment .intro .img_box {
		margin: 0 0 0 -8vw;
	}
	.work_environment .intro .txt_box {
		text-align: right;
		font-size: 6.4vw;
		font-weight: 600;
		line-height: 1.458;
		margin: 1em 0 0;
	}
	.en_page .work_environment .intro .txt_box {
		font-size: 6vw;
	}
	.work_environment .facility {
		padding: 19.3333vw 0 16vw;
	}
	.work_environment .facility::before {
		background: url("img/bg01.png") repeat 0 0 / 1.0667vw auto;
		width: calc(100% - 8vw);
		left: 4vw;
	}
	.work_environment .facility .splide_ticker .img_box {
		margin: 0 0 min(27px, calc(27 / var(--width) * 100vw));
	}
	.work_environment .facility .splide_ticker dl dt {
		font-size: 3.6vw;
	}
	.work_environment .facility .splide_ticker dl dd {
		line-height: 1.59;
		font-feature-settings: "palt";
	}
}

/* work_environment .base */
.work_environment .base .sec_in .area_list li {
	text-align: left;
	border-bottom: 1px solid #c7c7c7;
}
.work_environment .base .sec_in .area_list li:first-of-type {
	border-top: 1px solid #c7c7c7;
}
.area_list button {
	text-align: left;
	background: none;
	border: none;
	outline: none;
	cursor: pointer;
	margin: 0;
	padding: 0;
	display: block;
	width: 100%;
	box-sizing: border-box;	
}
.work_environment .base .sec_in .area_list li dl dt {
	cursor: pointer;
}
.work_environment .base .sec_in .area_list li dl dd {
	display: none;
	margin: 0 0 0 2em;
	border-top: 1px solid #c7c7c7;
}
.work_environment .base .sec_in .area_list li dl dd button + button {
	margin: 0.5em 0 0;
}
.work_environment .base .sec_in .area_list .accordion button {
	padding: 0;
}
.work_environment .base .sec_in .area_list .accordion dt {
	position: relative;
}
.work_environment .base .sec_in .area_list .accordion dt::before,
.work_environment .base .sec_in .area_list .accordion dt::after {
    content: '';
    display: inline-block;
    background-color: #61677a;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    transition: opacity 0.3s;
}
.work_environment .base .sec_in .area_list .accordion dt::after {
    transform: translateY(-50%) rotate(90deg);
    transition: transform 0.3s;
}
.work_environment .base .sec_in .area_list .accordion dt.active::before {
    opacity: 0;
}
.work_environment .base .sec_in .area_list .accordion dt.active::after {
    transform: translateY(-50%) rotate(180deg);
}
.work_environment .base .sec_in .area_map {
	position: relative;
}
@keyframes pulse-loop {
	0% {
		transform: scale(0.8);
		opacity: 0.8;
	}
	50% {
		transform: scale(1.3);
		opacity: 1;
	}
	100% {
		transform: scale(0.8);
		opacity: 0.8;
	}
}
.marker {
	background-color: var(--red);
	border-radius: 50%;
	position: absolute;
	transform: scale(0.8);
	transition: all 0.3s ease;
	opacity: 0.8;
	animation: none;
}
.marker.active {
	animation: pulse-loop 1s ease-in-out infinite;
}
.work_environment .base .sec_in .area_list button {
	color: #000;
}
@media ( min-width: 768px ){
	.work_environment .base {
		padding: min(120px, calc(120 / var(--width) * 100vw)) 0 min(600px, calc(600 / var(--width) * 100vw));
	}
	.work_environment .base .sub_title {
		margin: 0 0 min(110px, calc(110 / var(--width) * 100vw));
	}
	.work_environment .base .sec_in {
		display: flex;
		flex-direction: row-reverse;
		justify-content: space-between;
	}
	.work_environment .base .sec_in .area_list {
		width: min(315px, calc(315 / var(--width) * 100vw));
	}
	.work_environment .base .sec_in .area_list li dl dt {
		padding: min(20px, calc(20 / var(--width) * 100vw)) 0;	
	}
	.work_environment .base .sec_in .area_list li dl dd {
		padding: min(20px, calc(20 / var(--width) * 100vw)) 0;	
	}
	.work_environment .base .sec_in .area_list button {
		padding: min(20px, calc(20 / var(--width) * 100vw)) 0;	
	}
	.work_environment .base .sec_in .area_list .accordion dt::before,
	.work_environment .base .sec_in .area_list .accordion dt::after {
		width: min(15px, calc(15 / var(--width) * 100vw));
		height: min(3px, calc(3 / var(--width) * 100vw));
		right: min(15px, calc(15 / var(--width) * 100vw));
	}
	.work_environment .base .sec_in .area_map {
		width: min(871px, calc(871 / var(--width) * 100vw));
		height: min(436px, calc(436 / var(--width) * 100vw));
		margin: min(70px, calc(70 / var(--width) * 100vw)) 0 0;
	}
	.marker {
		width: min(15px, calc(15 / var(--width) * 100vw));
		height: min(15px, calc(15 / var(--width) * 100vw));
	}
	#marker-chiba {
		top: min(130px, calc(130 / var(--width) * 100vw));
		left: min(475px, calc(475 / var(--width) * 100vw));
	}
	#marker-osaka {
		top: min(133px, calc(133 / var(--width) * 100vw));
		left: min(444px, calc(444 / var(--width) * 100vw));
	}
	#marker-china1 {
		top: min(210px, calc(210 / var(--width) * 100vw));
		left: min(290px, calc(290 / var(--width) * 100vw));
	}
	#marker-china2 {
		top: min(210px, calc(210 / var(--width) * 100vw));
		left: min(310px, calc(310 / var(--width) * 100vw));
	}
	#marker-china3 {
		top: min(207px, calc(207 / var(--width) * 100vw));
		left: min(300px, calc(300 / var(--width) * 100vw));
	}
	#marker-china4 {
		top: min(194px, calc(194 / var(--width) * 100vw));
		left: min(317px, calc(317 / var(--width) * 100vw));
	}
	#marker-china5 {
		top: min(220px, calc(220 / var(--width) * 100vw));
		left: min(310px, calc(310 / var(--width) * 100vw));
	}
	#marker-vietnam {
		top: min(243px, calc(243 / var(--width) * 100vw));
		left: min(287px, calc(287 / var(--width) * 100vw));
	}
	#marker-poland {
		top: min(136px, calc(136 / var(--width) * 100vw));
		left: min(70px, calc(70 / var(--width) * 100vw));
	}
	#marker-germany {
		top: min(150px, calc(150 / var(--width) * 100vw));
		left: min(60px, calc(60 / var(--width) * 100vw));
	}
	#marker-america {
		top: min(157px, calc(157 / var(--width) * 100vw));
		left: min(730px, calc(730 / var(--width) * 100vw));
	}
	#marker-mexico {
		top: min(230px, calc(230 / var(--width) * 100vw));
		left: min(663px, calc(663 / var(--width) * 100vw));
	}
	#marker-brazil {
		top: min(280px, calc(280 / var(--width) * 100vw));
		left: min(755px, calc(755 / var(--width) * 100vw));
	}
}
@media ( max-width: 767px ){
	.work_environment .base {
		padding: 18.6667vw 0 26.6667vw;
	}
	.work_environment .base .sub_title {
		margin: 0 0 min(110px, calc(110 / var(--width) * 100vw));
	}
	.work_environment .base .sec_in .area_list li dl dt {
		padding: 6vw 0;	
	}
	.work_environment .base .sec_in .area_list li dl dd {
		padding: 6vw 0;	
	}
	.work_environment .base .sec_in .area_list button {
		padding: 6vw 0;	
	}
	.work_environment .base .sec_in .area_list .accordion dt::before,
	.work_environment .base .sec_in .area_list .accordion dt::after {
		width: 4vw;
		height: 0.8vw;
		right: 4vw;
	}
	.work_environment .base .sec_in .area_map {
		width: 89.4667vw;
		height: 52.1333vw;
		margin: 0 0 12.6667vw;
	}
	.marker {
		width: 2vw;
		height: 2vw;
	}
	#marker-chiba {
		top: 16.4vw;
		left: 30.1333vw;
	}
	#marker-osaka {
		top: 16.6667vw;
		left: 25.6vw;
	}
	#marker-china1 {
		top: 29.4vw;
		left: 28vw;
	}
	#marker-china2 {
		top: 28.4vw;
		left: 31vw;
	}
	#marker-china3 {
		top: 28.2vw;
		left: 29.4vw;
	}
	#marker-china4 {
		top: 26.4vw;
		left: 31.4vw;
	}
	#marker-china5 {
		top: 30vw;
		left: 31vw;
	}
	#marker-vietnam {
		top: 31.6666vw;
		left: 28.8888vw;
	}
	#marker-poland {
		top: 20.5333vw;
		left: 8vw;
	}
	#marker-germany {
		top: 22.4vw;
		left: 6.6667vw;
	}
	#marker-america {
		top: 23.5vw;
		left: 74.5vw;
	}
	#marker-mexico {
		top: 30.4vw;
		left: 68vw;
	}
	#marker-brazil {
		top: 36.1333vw;
		left: 77.3333vw;
	}
}

/* recruitment */
.recruitment {
	background: #ecf0f8;
	position: relative;
}
.recruitment::before {
	content: "";
	width: 100%;
	position: absolute;
	left: 0;
}
.recruitment .tab_wrap {
	display: flex;
	overflow-x: auto;
	flex-wrap: nowrap;
	scroll-snap-type: x mandatory;
	-ms-overflow-style: none;
	scrollbar-width: none;
	cursor: grab !important;
	user-select: none;
	-webkit-user-drag: none;
	position: relative;
	z-index: 1;
}
.recruitment .tab_wrap.dragging {
	cursor: grabbing !important;
}
.recruitment .tab_wrap .tab {
	flex-shrink: 0;
	scroll-snap-align: start;
	pointer-events: none;
}
.recruitment .tab_wrap .tab span {
	pointer-events: auto;
}
.recruitment .tab_wrap .tab {
	box-sizing: border-box;
	background: #fff;
	color: var(--navy);
	cursor: pointer;
	transition : all 0.3s ease 0s;
}
.recruitment .tab_wrap .tab.active {
	background: var(--navy);
	color: #fff;
}
@media (hover: hover) {
	.recruitment .tab_wrap .tab:hover {
		border: 2px solid var(--navy);
		background: var(--navy);
		color: #fff;
	}
}
.recruitment .hire {
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 500;
	color: #fff;
	background: var(--red);
}
.recruitment .hire.mid {
	color: var(--red);
	background: #ffe0dc;
}
.recruitment .tab_wrap .tab .cat,
.recruitment .tab_wrap .tab .place {
	display: block;
	font-weight: 600;
	white-space: nowrap;
}
.recruitment .content {
	display: none;
	text-align: left;
}
.recruitment .content.show {
	display: block;
}
.recruitment .content .detail {
	letter-spacing: 0.05em;
}
.recruitment .content .detail > dd {
	background: #fff;
	border-top: 1px solid #669fd9;
}
.recruitment .box {
	display: flex;
	justify-content: center;
}
@media ( min-width: 768px ){
	.recruitment {
		padding: 0 0 min(80px, calc(80 / var(--width) * 100vw));
	}
	.recruitment::before {
		background: url("img/recruitment_information_bg.png") no-repeat 0 bottom / 100% auto;
		height: min(550px, calc(550 / var(--width) * 100vw));
		top: max(-549px, calc(-549 / var(--width) * 100vw));
	}
	.recruitment .sec_title {
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		width: min(1300px, calc(1300 / var(--width) * 100vw));
		top: max(-200px, calc(-150 / var(--width) * 100vw));
	}
	.recruitment .tab_wrap {
		gap: 0 3px;
		padding: min(55px, calc(55 / var(--width) * 100vw)) 0 0;
		border-bottom: 2px solid var(--navy);
		margin: 0 0 min(70px, calc(70 / var(--width) * 100vw));
	}
	.recruitment .tab_wrap .tab {
		border-radius: min(13px, calc(13 / var(--width) * 100vw)) min(13px, calc(13 / var(--width) * 100vw)) 0 0;
		border: 2px solid #9fc7f0;
		border-bottom: none;
		padding: min(14px, calc(14 / var(--width) * 100vw)) min(10px, calc(10 / var(--width) * 100vw));
	}
	.en_page .recruitment .tab_wrap .tab {
		width: min(300px, calc(300 / var(--width) * 100vw));
	}
	.recruitment .tab_wrap .tab.active {
		border: 2px solid var(--navy);
	}
	.recruitment .hire {
		width: min(125px, calc(125 / var(--width) * 100vw));
		height: min(25px, calc(25 / var(--width) * 100vw));
		border-radius: min(13px, calc(13 / var(--width) * 100vw));
		margin: 0 auto min(12px, calc(12 / var(--width) * 100vw));
	}
	.en_page .recruitment .hire {
		width: min(160px, calc(160 / var(--width) * 100vw));
	}
	.recruitment .tab_wrap .tab .cat {
		font-size: min(17px, calc(17 / var(--width) * 100vw));
		margin: 0 0 min(10px, calc(10 / var(--width) * 100vw));
	}
	.recruitment .tab_wrap .tab .place {
		font-size: min(13px, calc(13 / var(--width) * 100vw));
	}
	.en_page .recruitment .tab_wrap .tab .place {
		font-size: min(10px, calc(10 / var(--width) * 100vw));
	}
	.recruitment .content_wrap {
		padding: 0 0 min(40px, calc(40 / var(--width) * 100vw));
	}
	.recruitment .content .title {
		font-size: min(26px, calc(26 / var(--width) * 100vw));
		font-weight: 600;
		padding: 0 0 min(38px, calc(38 / var(--width) * 100vw));
		border-bottom: 1px solid #000;
		margin: 0 0 min(50px, calc(50 / var(--width) * 100vw));
	}
	.recruitment .content .title .hire {
		font-size: min(15px, calc(15 / var(--width) * 100vw));
		font-weight: 500;
		margin: 0 0 min(20px, calc(20 / var(--width) * 100vw));
	}
	.recruitment .content .detail {
		margin: 0 0 min(40px, calc(40 / var(--width) * 100vw));
	}
	.recruitment .content .detail > dt {
		font-size: min(17px, calc(17 / var(--width) * 100vw));
		font-weight: 600;
		margin: 0 0 min(20px, calc(20 / var(--width) * 100vw));
	}
	.recruitment .content .detail > dd {
		padding: min(35px, calc(35 / var(--width) * 100vw)) min(30px, calc(30 / var(--width) * 100vw)) min(30px, calc(30 / var(--width) * 100vw));
	}
	.recruitment .content .detail dd {
		line-height: 1.86;
	}
}
@media ( max-width: 767px ){
	.recruitment {
		padding: 0 0 16.6667vw;
	}
	.recruitment::before {
		background: url("img/recruitment_information_bg_sp.png") no-repeat 0 bottom / 100% auto;
		height: 17.0667vw;
		top: -16.0667vw;
	}
	.recruitment .sec_title {
		margin: 0 0 11.3333vw;
	}
	.recruitment .tab_wrap {
		gap: 0 0.8vw;
		border-bottom: 0.2667vw solid var(--navy);
		margin: 0 0 8vw;
	}
	.recruitment .tab_wrap .tab {
		padding: 2.6667vw 1.3333vw;
		border-radius: 2.2667vw 2.2667vw 0 0;
		border: 0.2667vw solid #9fc7f0;
		border-bottom: none;
	}
	.en_page .recruitment .tab_wrap .tab {
		width: 50vw;
	}
	.recruitment .tab_wrap .tab.active {
		border: 0.2667vw solid var(--navy);
	}
	.recruitment .hire {
		width: 20.6667vw;
		height: 5.6vw;
		border-radius: 2.6667vw;
		margin: 0 auto 2.2667vw;
		font-size: 3.3333vw;
	}
	.en_page .recruitment .hire {
		width: 35vw;
	}
	.recruitment .tab_wrap .tab .cat {
		font-size: 3.6vw;
		margin: 0 0 1.3333vw;
	}
	.en_page .recruitment .tab_wrap .tab .cat {
		font-size: 3.2vw;
	}
	.recruitment .tab_wrap .tab .place {
		font-size: 2.8vw;
		white-space: nowrap;
	}
	.en_page .recruitment .tab_wrap .tab .place {
		font-size: 2vw;
	}
	.recruitment .content_wrap {
		padding: 0 0 2vw;
	}
	.recruitment .content .title {
		font-size: 4.6667vw;
		font-weight: 600;
		padding: 0 0 3.6vw;
		border-bottom: 1px solid #000;
		margin: 0 0 7.3333vw;
	}
	.recruitment .content .title .place {
		display: block;
		font-size: 3.4667vw;
		margin: 1.3333vw 0 0 -1.6666vw;
	}
	.recruitment .content .title .hire {
		font-size: 3.3333vw;
		font-weight: 600;
		margin: 0 0 4vw;
	}
	.recruitment .content .detail {
		margin: 0 0 7.0667vw;
	}
	.recruitment .content .detail > dt {
		font-size: 4vw;
		font-weight: 600;
		margin: 0 0 1em;
	}
	.recruitment .content .detail > dd {
		padding: 6.6667vw 6vw 6vw;
	}
	.recruitment .content .detail dd {
		font-size: 3.3333vw;
		line-height: 1.68;
	}
}

/* =lower layer common
-------------------------------------------------------------- */
/* kv */
.kv .img_box img {
	width: 100%;
}
.fv .main_txt.v2 {
	font-feature-settings: "palt";
}
.fv .sub_txt {
	text-align: right;
	color: #fff;
}
@media ( min-width: 768px ){
	/* breadcrumb */
	.breadcrumb {
		color: #fff;
		position: absolute;
		width: min(1300px, calc(1300 / var(--width) * 100vw));
		top: min(117px, calc(117 / var(--width) * 100vw));
		right: 0;
		left: 50%;
		transform: translateX(-50%);
	}
	.breadcrumb ol {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
		list-style: none;
		margin: 0;
		padding: 0;
	}
	.breadcrumb li:not(:last-child)::after {
		display: inline-block;
		margin: 0 0.5rem;
		content: "/";
	}
	.breadcrumb ol li a {
		color: #fff;
		transition: color 0.3s ease;
	}
	@media (hover: hover) {
		.breadcrumb ol li a:hover {
			color: var(--red);
		}
	}
	/* kv */
	.fv .main_txt.v2 {
		margin: max(-132px, calc(-132 / var(--width) * 100vw)) -0.5em min(40px, calc(40 / var(--width) * 100vw)) 0;
	}
	.en_page .fv .sub_txt {
		line-height: 1.85;
	}
}
@media ( max-width: 767px ){
	/* kv */
	.fv .main_txt.v2 {
		line-height: 1.2;
		margin: -6vw -0.5em 5.3333vw 0;
	}
	.fv .sub_txt {
		line-height: 1.85;
	}
}

/* =interview
-------------------------------------------------------------- */
.interview {
	background: #fff;
	position: relative;
}
.interview::before {
	content: "";
	width: 100%;
	position: absolute;
	left: 0;
	z-index: 0;
	pointer-events: none;
}
.interview .tab_wrap {
	display: flex;
	position: relative;
    z-index: 3;
}
.interview .tab_wrap .tab {
	box-sizing: border-box;
	background: #fff;
	cursor: pointer;
	transition : all 0.3s ease 0s;
}
.interview .tab_wrap .tab.active {
	background: var(--navy);
	color: #fff;
}
@media ( min-width: 768px ){
	.interview {
		margin: min(470px, calc(470 / var(--width) * 100vw)) 0 0;
	}
	.interview::before {
		background: url("img/interview_bg.png") no-repeat 0 bottom / 100% auto;
		height: min(470px, calc(470 / var(--width) * 100vw));
		top: max(-469px, calc(-469 / var(--width) * 100vw));
	}
	.interview .sec_title {
		width: min(1300px, calc(1300 / var(--width) * 100vw));
		position: absolute;
		top: max(-230px, calc(-160 / var(--width) * 100vw));
		left: 50%;
		transform: translateX(-50%);
	}
	.interview .tab_wrap {
		padding: min(25px, calc(25 / var(--width) * 100vw)) 0 0;
		gap: 0 min(3px, calc(3 / var(--width) * 100vw));
		border-bottom: min(2px, calc(2 / var(--width) * 100vw)) solid var(--navy);
		margin: 0 0 min(70px, calc(70 / var(--width) * 100vw));
	}
	.interview .tab_wrap .tab {
		border-radius: min(13px, calc(13 / var(--width) * 100vw)) min(13px, calc(13 / var(--width) * 100vw)) 0 0;
		border: min(2px, calc(2 / var(--width) * 100vw)) solid #9fc7f0;
		border-bottom: none;
		padding: min(31px, calc(31 / var(--width) * 100vw)) min(65px, calc(65 / var(--width) * 100vw)) min(30px, calc(30 / var(--width) * 100vw));
	}
	.interview .tab_wrap .tab.active {
		border: min(2px, calc(2 / var(--width) * 100vw)) solid var(--navy);
	}
	@media (hover: hover) {
		.interview .tab_wrap .tab:hover {
			border: min(2px, calc(2 / var(--width) * 100vw)) solid var(--navy);
			background: var(--navy);
			color: #fff;
		}
	}
}
@media ( max-width: 767px ){
	.interview {
		margin: 18.4vw 0 0;
	}
	.interview::before {
		background: url("img/interview_bg_sp.png") no-repeat 0 bottom / 100% auto;
		height: 18.4vw;
		top: -17.4vw;
	}
	.interview .sec_title {
		margin: 0 0 10vw;
	}
	.interview .tab_wrap {
		gap: 0 0.8vw;
		border-bottom: 0.2667vw solid var(--navy);
		margin: 0 0 8.8vw;
	}
	.interview .tab_wrap .tab {
		flex: 1;
		font-size: 2.8vw;
		font-weight: 600;
		line-height: 1.42;
		border-radius: 2.4vw 2.4vw 0 0; 
		border: 0.2667vw solid #9fc7f0;
		border-bottom: none;
		padding: 4vw;
	}
	.interview .tab_wrap .tab.active {
		border: 0.2667vw solid var(--navy);
	}
}

/* .interview .content */
.interview .content {
	display: none;
}
.interview .content.show {
	display: block;
}
.interview .main {
	position: relative;
	z-index: 5;
}
.interview .main .txt_box {
	text-align: left;
	position: relative;
	display: flex;
	flex-direction: column;
}
.interview .main .txt_box::before {
	content: "";
	background: var(--navy);
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.interview .main .txt_box span {
	display: block;
	font-weight: 600;
}
.interview .sec_in_wrap {
	position: relative;
	z-index: 2;
}
.interview .sec_in_wrap::before,
.interview .sec_in_wrap::after {
	content: "";
	position: absolute;
	opacity: 0;
	transition: transform 3.4s cubic-bezier(0.25, 1, 0.5, 1),
	            opacity 3.4s ease;
	z-index: -1;
}
.interview .sec_in_wrap::before {
	right: 0;
}
.interview .sec_in_wrap::after {
	left: 0;
}
.interview .sec_in_wrap.in-view::before,
.interview .sec_in_wrap.in-view::after {
	transform: translateX(0);
	opacity: 1;
}
.interview .sec_in .title span.en {
	display: block;
	font-family: "Poppins", sans-serif;
	font-weight: 300;
	color: rgba(97,103,122,0.15);
}
.interview .sec_in .title span.jp {
	display: inline-block;
	color: var(--navy);
	font-weight: 600;
	letter-spacing: 0.1em;
	box-sizing: border-box;
	position: relative;
}
.interview .sec_in .title span.jp::after {
	content: "";
	background: var(--navy);
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}
.interview .sec_in .detail .txt_box {
	text-align: left;
}
@media ( min-width: 768px ){
	.interview .content {
		padding: 0 0 min(140px, calc(140 / var(--width) * 100vw));
	}
	.interview .main .inner {
		display: flex;
		align-items: center;
		gap: 0 min(24px, calc(24 / var(--width) * 100vw));
	}
	.interview .main .img_box {
		flex: 0 0 min(705px, calc(705 / var(--width) * 100vw));
	}
	.interview .main .txt_box {
		padding: 0 0 0 min(33px, calc(33 / var(--width) * 100vw));
		gap: min(10px, calc(10 / var(--width) * 100vw)) 0;
	}
	.interview .main .txt_box::before {
		width: min(2px, calc(2 / var(--width) * 100vw));
		height: min(110px, calc(110 / var(--width) * 100vw));
	}
	.interview .main .txt_box span.pic {
		font-size: min(18px, calc(18 / var(--width) * 100vw));
	}
	.interview .main .txt_box span.name {
		font-size: min(22px, calc(22 / var(--width) * 100vw));
	}
	.interview .sec_in_wrap {
		padding: 0 0 min(110px, calc(110 / var(--width) * 100vw));
	}
	.interview .sec_in_wrap::before {
		top: max(-480px, calc(-480 / var(--width) * 100vw));
		background: url("img/interview_bg01.svg") no-repeat 0 0 / contain;
		width: min(778px, calc(778 / var(--width) * 100vw));
		height: min(1570px, calc(1570 / var(--width) * 100vw));
		transform: translateX(min(778px, calc(778 / var(--width) * 100vw)));
	}
	.interview .sec_in_wrap::after {
		top: min(900px, calc(900 / var(--width) * 100vw));
		background: url("img/interview_bg02.svg") no-repeat 0 0 / contain;
		width: min(788px, calc(788 / var(--width) * 100vw));
		height: min(1125px, calc(1125 / var(--width) * 100vw));
		transform: translateX(max(-788px, calc(-788 / var(--width) * 100vw)));
	}
	.interview.career .sec_in_wrap::before {
		top: max(-750px, calc(-750 / var(--width) * 100vw));
	}
	.interview.career .sec_in_wrap::after {
		top: min(450px, calc(450 / var(--width) * 100vw));
	}
	.interview .sec_in {
		margin: 0 0 min(35px, calc(35 / var(--width) * 100vw));
	}
	.interview .sec_in .title span.en {
		font-size: min(100px, calc(100 / var(--width) * 100vw));
		margin: 0 0 max(-25px, calc(-25 / var(--width) * 100vw));
	}
	.interview .sec_in .title span.jp {
		font-size: min(20px, calc(20 / var(--width) * 100vw));
		border: 1px solid var(--navy);
		padding: min(9px, calc(9 / var(--width) * 100vw)) min(39px, calc(39 / var(--width) * 100vw)) min(8px, calc(8 / var(--width) * 100vw));
		margin: 0 auto min(70px, calc(70 / var(--width) * 100vw));
	}
	.interview .sec_in .title span.jp::after {
		width: 1px;
		height: min(20px, calc(20 / var(--width) * 100vw));
		bottom: max(-34px, calc(-34 / var(--width) * 100vw));
	}
	.interview .sec_in .detail {
		display: flex;
		justify-content: space-between;
		gap: 0 min(50px, calc(50 / var(--width) * 100vw));
	}
	.interview .sec_in:nth-child(even) .detail {
		flex-direction: row-reverse;
	}
	.interview .sec_in .detail .txt_box {
		line-height: 2.33;
	}
	.interview .sec_in .detail .img_box {
		flex: 0 0 min(450px, calc(450 / var(--width) * 100vw));
	}
}
@media ( max-width: 767px ){
	.interview .content {
		padding: 0 0 22vw;
	}
	.interview .main .img_box {
		width: 92vw;
		margin: 0 -8vw 8vw 0;
	}
	.interview .main .txt_box {
		padding: 0 0 0 5.6vw;
		gap: 2vw 0;
		margin: 0 0 9.3333vw;
	}
	.interview .main .txt_box::before {
		width: 0.4vw;
		height: 20vw;
	}
	.interview .main .txt_box span.division {
		font-size: 3.3333vw;
		line-height: 1.4;
	}
	.interview .main .txt_box span.pic {
		font-size: 3.7333vw;
	}
	.interview .main .txt_box span.name {
		font-size: 4.6667vw;
	}
	.interview .sec_in_wrap {
		padding: 0 0 9.3333vw;
		z-index: 2;
	}
	.interview .sec_in_wrap::before {
		top: -66vw;
		background: url("img/interview_bg01_sp.png") no-repeat 0 0 / contain;
		width: 87.0667vw;
		height: 315.7333vw;
		transform: translateX(87.0667vw);
	}
	.interview .sec_in {
		position: relative;
		margin: 0 0 13.3333vw;
	}
	.interview .sec_in .title span.en {
		font-size: 17.3333vw;
		margin: 0 0 -4.6667vw;
	}
	.interview .sec_in .title span.en.ls {
		font-size: 16.3333vw;
		letter-spacing: -0.075em;
		white-space: nowrap;
	}
	.interview .sec_in .title span.jp {
		font-size: 3.6vw;
		border: 0.2667vw solid var(--navy);
		padding: 2vw 6.6667vw 1.7333vw;
		margin: 0 auto 10.6667vw;
	}
	.interview .sec_in .title span.jp::after {
		width: 0.2667vw;
		height: 4vw;
		bottom: -6.2667vw;
	}
	.interview .sec_in .detail .txt_box {
		line-height: 1.85;
		margin: 0 0 6.6667vw;
	}
	.interview .sec_in.spbg1::before,
	.interview .sec_in.spbg2::before {
		content: "";
		position: absolute;
		opacity: 0;
		transition: transform 3.4s cubic-bezier(0.25, 1, 0.5, 1),
					opacity 3.4s ease;
		z-index: -1;
	}
	.interview .sec_in.spbg1.in-view::before,
	.interview .sec_in.spbg2.in-view::before {
		transform: translateX(0);
		opacity: 1;
	}
	.interview .sec_in.spbg1::before {
		background: url("img/interview_bg02_sp.png") no-repeat 0 0 / contain;
		width: 65.4667vw;
		height: 158.2667vw;
		transform: translateX(-65.4667vw);
		top: 140vw;
		left: 0;
	}
	.interview .sec_in.spbg2::before {
		background: url("img/interview_bg03_sp.png") no-repeat 0 0 / contain;
		width: 66.6667vw;
		height: 287.3333vw;
		transform: translateX(66.6667vw);
		top: -75.3333vw;
		right: 0;
	}
}

/* .interview .flow */
.interview .flow {
	position: relative;
	z-index: 1;
}
.interview .flow::before {
	content: "";
	position: absolute;
	opacity: 0;
	transition: transform 3.4s cubic-bezier(0.25, 1, 0.5, 1),
	            opacity 3.4s ease;
	z-index: -1;
}
.interview .flow::before {
	right: 0;
}
.interview .flow.in-view::before {
	transform: translateX(0);
	opacity: 1;
}
.interview .flow .inner {
	position: relative;
	color: #fff;
}
.interview .flow .icon {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}
.interview .flow .title,
.interview .after_joining .title {
	font-weight: 600;
	position: relative;
}
.interview .flow .title::after,
.interview .after_joining .title::after {
	content: "";
	background: var(--red);
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.interview .flow .timeline {
	position: relative;
}
.interview .flow ul {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.interview .flow ul::before {
	content: "";
	background: #fff;
	position: absolute;
}
.interview .flow ul li {
	display: flex;
	position: relative;
	align-self: stretch;
}
.interview .flow ul li::after {
	content: "";
	background: #fff;
	border-radius: 50%;
	box-sizing: border-box;
	position: absolute;
	z-index: 1;
}
.interview .flow ul li:last-child::after,
.interview .flow ul:first-child li:first-child::after {
	background: var(--navy);
}
.interview .flow ul li span {
	display: inline-block;
	line-height: 1.3;
}
.interview .flow ul li span.time {
	font-family: "Jost", sans-serif;
	font-weight: 500;
}
.interview .flow ul li span.planning {
	text-align: left;
}
@media ( min-width: 768px ){
	.interview .flow {
		padding: 0 min(50px, calc(50 / var(--width) * 100vw));
		margin: 0 0 min(80px, calc(80 / var(--width) * 100vw));
	}
	.interview .flow::before {
		background: url("img/interview_bg03.svg") no-repeat 0 0 / contain;
		width: min(1142px, calc(1142 / var(--width) * 100vw));
		height: min(1570px, calc(1570 / var(--width) * 100vw));
		transform: translateX(min(1142px, calc(1142 / var(--width) * 100vw)));
		top: max(-390px, calc(-390 / var(--width) * 100vw));
	}
	.interview .flow .inner {
		background: url("img/bg02.png") repeat 0 0 / min(8px, calc(8 / var(--width) * 100vw)) auto;
		padding: min(120px, calc(120 / var(--width) * 100vw)) min(50px, calc(50 / var(--width) * 100vw)) min(77px, calc(77 / var(--width) * 100vw));
	}
	.interview.career .flow .inner {
		padding: min(120px, calc(120 / var(--width) * 100vw)) min(50px, calc(50 / var(--width) * 100vw));
	}
	.interview .flow .icon {
		width: min(130px, calc(130 / var(--width) * 100vw));
		top: max(-65px, calc(-65 / var(--width) * 100vw));
	}
	.interview .flow .title,
	.interview .after_joining .title {
		font-size: min(25px, calc(25 / var(--width) * 100vw));
		padding: 0 0 min(20px, calc(20 / var(--width) * 100vw));
		margin: 0 0 min(68px, calc(68 / var(--width) * 100vw));
	}
	.interview .flow .title::after,
	.interview .after_joining .title::after {
		width: min(75px, calc(75 / var(--width) * 100vw));
		height: min(2px, calc(2 / var(--width) * 100vw));
	}
	.interview .flow .timeline {
		display: flex;
		justify-content: center;
		gap: 0 min(220px, calc(220 / var(--width) * 100vw));
	}
	.interview .flow .timeline::before {
		content: "";
		background: #fff;
		width: min(313px, calc(313 / var(--width) * 100vw));
		height: 1px;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateY(-50%) translateX(-50%) rotate(-44deg);
		transform-origin: center;
	}
	.interview .flow .note {
		margin-top: min(70px, calc(70 / var(--width) * 100vw));
		line-height: 1.4;
	}
	.en_page .interview .flow .note {
		margin-top: min(90px, calc(90 / var(--width) * 100vw));
	}
	.interview .flow .timeline.v1::before {
		width: min(313px, calc(313 / var(--width) * 100vw));
		transform: translateY(-50%) translateX(-50%) rotate(-44deg);
	}
	.en_page .interview .flow .timeline.v1::before {
		width: min(375px, calc(375 / var(--width) * 100vw));
		transform: translateY(-50%) translateX(-50%) rotate(-52deg);
	}
	.interview .flow .timeline.v2::before {
		width: min(400px, calc(400 / var(--width) * 100vw));
		transform: translateY(-50%) translateX(-50%) rotate(-56deg);
	}
	.en_page .interview .flow .timeline.v2::before {
		width: min(500px, calc(500 / var(--width) * 100vw));
		transform: translateY(-50%) translateX(-50%) rotate(-62deg);
	}
	.interview .flow .timeline.v3::before {
		width: min(515px, calc(515 / var(--width) * 100vw));
		transform: translateY(-50%) translateX(-50%) rotate(-64deg);
	}
	.en_page .interview .flow .timeline.v3::before {
		width: min(650px, calc(650 / var(--width) * 100vw));
		transform: translateY(-50%) translateX(-50%) rotate(-69deg);
	}
	.interview .flow .timeline.v4::before {
		width: min(500px, calc(500 / var(--width) * 100vw));
		transform: translateY(-50%) translateX(-50%) rotate(-62deg);
	}
	.en_page .interview .flow .timeline.v4::before {
		width: min(595px, calc(610 / var(--width) * 100vw));
		transform: translateY(-50%) translateX(-50%) rotate(-67deg);
	}
	.interview .flow .timeline.v5::before {
		width: min(565px, calc(565 / var(--width) * 100vw));
		transform: translateY(-50%) translateX(-50%) rotate(-66deg);
	}
	.en_page .interview .flow .timeline.v5::before {
		width: min(715px, calc(730 / var(--width) * 100vw));
		transform: translateY(-50%) translateX(-50%) rotate(-71deg);
	}
	.interview .flow .timeline.v6::before {
		width: min(370px, calc(370 / var(--width) * 100vw));
		transform: translateY(-50%) translateX(-50%) rotate(-52deg);
	}
	.en_page .interview .flow .timeline.v6::before {
		width: min(450px, calc(450 / var(--width) * 100vw));
		transform: translateY(-50%) translateX(-50%) rotate(-60deg);
	}
	.interview .flow ul {
		width: 50%;
	}
	.interview .flow ul::before {
		top: 50%;
		transform: translateY(-50%);
		width: 1px;
		height: calc(100% - 1vw);
		left: min(7.4px, calc(7.4 / var(--width) * 100vw));
	}
	.interview .flow ul:first-child::before {
		left: auto;
		right: min(7.5px, calc(7.5 / var(--width) * 100vw));
	}
	.interview .flow ul li {
		gap: 0 min(20px, calc(20 / var(--width) * 100vw));
		padding: 0 0 0 min(33px, calc(33 / var(--width) * 100vw));
	}
	.interview .flow ul li::after {
		top: min(2px, calc(2 / var(--width) * 100vw));
		left: 0;
		width: min(15px, calc(15 / var(--width) * 100vw));
		height: min(15px, calc(15 / var(--width) * 100vw));
		border: 1px solid #fff;
	}
	.en_page .interview .flow ul li:last-child::after {
		top: auto;
		bottom: 0;
	}
	.interview .flow ul:first-child li {
		flex-direction: row-reverse;
		padding: 0 min(33px, calc(33 / var(--width) * 100vw)) 0 0;
	}
	.interview .flow ul:first-child li::after {
		left: auto;
		right: 0;
	}
	.interview .flow ul li + li {
		margin: min(56px, calc(56 / var(--width) * 100vw)) 0 0;
	}
	.interview .flow ul:first-child li span.planning {
		text-align: right;
	}
	.interview .flow .timeline .posi_txt {
		display: block;
		text-align: left;
		line-height: 1.3;
		position: absolute;
		bottom: max(-40px, calc(-40 / var(--width) * 100vw));
		left: 65.6%;
	}
	.en_page .interview .flow .timeline .posi_txt {
		bottom: max(-40px, calc(-40 / var(--width) * 100vw));
		left: min(851px, calc(792 / var(--width) * 100vw));
	}
	.interview .flow .timeline.v6 .posi_txt {
		bottom: max(-60px, calc(-60 / var(--width) * 100vw));
	}
}
@media ( max-width: 767px ){
	.interview .flow {
		z-index: 1;
		padding: 0 8vw;
		margin: 0 0 9.7333vw;
	}
	.interview.career .flow {
		z-index: 2;
	}
	.interview .flow::before {
		background: url("img/interview_bg04_sp.png") no-repeat 0 0 / contain;
		width: 81.2vw;
		height: 158.2667vw;
		transform: translateX(-81.2vw);
		left: 0;
		top: -52vw;
	}
	.interview.career .flow::before {
		background: url("img/interview_bg04_sp_career.png") no-repeat 0 0 / contain;
		width: 100vw;
		height: 305.8667vw;
		transform: translateX(-100vw);
		top: 90vw;
		z-index: -1;
	}
	.interview.career .flow.in-view::before {
		transform: translateX(0);
		opacity: 1;
	}
	.interview .flow .inner {
		background: url("img/bg02.png") repeat 0 0 / 1.0667vw auto;
		padding: 17.3333vw 5vw 9.3333vw;
	}
	.interview .flow .icon {
		width: 24vw;
		top: -12vw;
	}
	.interview .flow .title,
	.interview .after_joining .title {
		font-size: 4.6667vw;
		padding: 0 0 4.6667vw;
		margin: 0 0 9.3333vw;
	}
	.interview .flow .title::after,
	.interview .after_joining .title::after {
		width: 10vw;
		height: 0.4vw;
	}
	.interview .flow ul + ul {
		margin: 8vw 0 0;
	}
	.interview .flow ul::before {
		width: 1px;
		height: calc(100% + 1vw);
		left: 15.3555vw;
		top: 3vw;
	}
	.interview .flow ul:last-of-type::before {
		top: auto;
		bottom: 3vw;
	}
	.interview .flow .timeline.v1 ul:last-of-type::before {
		bottom: 16vw;
	}
	.interview .flow .note {
		margin-top: 6vw;
		text-align: left;
		line-height: 1.4;
		font-size: 3vw;
		text-indent: -1em;
		padding-left: 1em;
	}
	.interview .flow ul li {
		gap: 0 9.6vw;
	}
	.interview .flow ul li::after {
		top: 1vw;
		left: 14.3333vw;
		width: 2.6667vw;
		height: 2.6667vw;
		border: 1px solid #fff;
	}
	.interview .flow ul li + li {
		margin: 8vw 0 0;
	}
	.interview .flow ul li span.time {
		font-size: 4vw;
		text-align: right;
		flex: 0 0 11vw;
	}
}

/* .interview .after_joining */
.interview .after_joining {
	position: relative;
	z-index: 3;
}
.interview .after_joining .inner {
	color: #fff;
}
.interview .after_joining .title::after {
	background: var(--navy);
}
.interview .after_joining .step dt {
	display: flex;
	align-items: center;
	text-align: left;
}
.interview .after_joining .step dt span {
	color: var(--red);
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.05em;
}
.interview .after_joining .step dd p {
	text-align: left;
	letter-spacing: 0.075em;
}
.interview .content .box {
	display: flex;
	justify-content: center;
	position: relative;
	z-index: 4;
}
@media ( min-width: 768px ){
	.interview .after_joining {
		padding: 0 min(50px, calc(50 / var(--width) * 100vw));
		margin: 0 0 min(80px, calc(80 / var(--width) * 100vw));
	}
	.interview .after_joining .inner {
		background: url("img/bg01.png") repeat 0 0 / min(8px, calc(8 / var(--width) * 100vw)) auto;
		padding: min(80px, calc(80 / var(--width) * 100vw))  min(50px, calc(50 / var(--width) * 100vw)) min(75px, calc(75 / var(--width) * 100vw));
	}
	.interview .after_joining .step_wrap {
		display: flex;
		justify-content: center;
		gap: 0 min(60px, calc(60 / var(--width) * 100vw));
	}
	.interview .after_joining .step_wrap .step {
		flex: 1;
	}
	.interview .after_joining .step dt {
		gap: 0 min(24px, calc(24 / var(--width) * 100vw));
		margin: 0 0 min(10px, calc(10 / var(--width) * 100vw));
	}
	.en_page .interview .after_joining .step dt {
		min-height: min(105px, calc(105 / var(--width) * 100vw));
	}
	.interview .after_joining .step dt .icon {
		flex: 0 0 min(98px, calc(98 / var(--width) * 100vw));
	}
	.interview .after_joining .step dt span {
		font-size: min(22px, calc(22 / var(--width) * 100vw));
	}
	.interview .after_joining .step dd .img_box {
		width: min(344px, calc(344 / var(--width) * 100vw));
		margin: 0 auto min(38px, calc(38 / var(--width) * 100vw));
	}
	.interview .after_joining .step dd p {
		line-height: 1.8;
	}
}
@media ( max-width: 767px ){
	.interview .after_joining {
		z-index: 0;
		padding: 0 8vw;
		margin: 0 0 13.3333vw;
	}
	.interview .after_joining::before {
		content: "";
		position: absolute;
		opacity: 0;
		transition: transform 3.4s cubic-bezier(0.25, 1, 0.5, 1),
					opacity 3.4s ease;
		z-index: -1;
	}
	.interview .after_joining.in-view::before {
		transform: translateX(0);
		opacity: 1;
	}
	.interview .after_joining::before {
		background: url("img/interview_bg05_sp.png") no-repeat 0 0 / contain;
		width: 100vw;
		height: 382.2667vw;
		transform: translateX(-100vw);
		top: -36.6667vw;
		left: 0;
	}
	.interview .after_joining .inner {
		background: url("img/bg01.png") repeat 0 0 / 1.0667vw auto;
		padding: 12vw 5vw 9.3333vw;
	}
	.interview .after_joining .step_wrap {
	}
	.interview .after_joining .step_wrap .step:not(:last-child) {
		margin: 0 0 9.3333vw;
	}
	.interview .after_joining .step dt {
		gap: 0 4.8vw;
		margin: 0 0 2vw;
	}
	.interview .after_joining .step dt .icon {
		flex: 0 0 16.8vw;
	}
	.interview .after_joining .step dt span {
		font-size: 4vw;
	}
	.interview .after_joining .step dd {
		clear: both;
	}
	.interview .after_joining .step dd .img_box {
		width: 52.1333vw;
		float: left;
		margin: 0 4vw 0 -9.4vw;
	}
	.interview .after_joining .step:nth-child(odd) dd .img_box {
		float: right;
		margin: 0 -9.4vw 0 4vw;
	}
	.interview .after_joining .step dd p {
		line-height: 1.85;
	}
}

/* =project
-------------------------------------------------------------- */
.project {
	background: #fff;
	position: relative;
}
.project::before {
	content: "";
	width: 100%;
	position: absolute;
	left: 0;
	z-index: 0;
	pointer-events: none;
}
.project .tab_wrap {
	display: flex;
	position: relative;
    z-index: 2;
}
.project .tab_wrap .tab {
	box-sizing: border-box;
	background: #fff;
	cursor: pointer;
	transition : all 0.3s ease 0s;
}
.project .tab_wrap .tab.active {
	background: var(--navy);
	color: #fff;
}
@media ( min-width: 768px ){
	.project {
		margin: min(470px, calc(470 / var(--width) * 100vw)) 0 0;
		padding: 0 0 min(140px, calc(140 / var(--width) * 100vw));
	}
	.project::before {
		background: url("img/project_bg.png") no-repeat 0 bottom / 100% auto;
		height: min(470px, calc(470 / var(--width) * 100vw));
		top: max(-469px, calc(-469 / var(--width) * 100vw));
	}
	.project .sec_title {
		width: min(1300px, calc(1300 / var(--width) * 100vw));
		position: absolute;
		top: max(-230px, calc(-160 / var(--width) * 100vw));
		left: 50%;
		transform: translateX(-50%);
	}
	.project .tab_wrap {
		padding: min(50px, calc(50 / var(--width) * 100vw)) 0 0;
		gap: 0 min(3px, calc(3 / var(--width) * 100vw));
		border-bottom: min(2px, calc(2 / var(--width) * 100vw)) solid var(--navy);
		margin: 0 0 min(70px, calc(70 / var(--width) * 100vw));
	}
	.project .tab_wrap .tab {
		border-radius: min(13px, calc(13 / var(--width) * 100vw)) min(13px, calc(13 / var(--width) * 100vw)) 0 0;
		border: min(2px, calc(2 / var(--width) * 100vw)) solid #9fc7f0;
		border-bottom: none;
		padding: min(22px, calc(22 / var(--width) * 100vw)) min(15px, calc(15 / var(--width) * 100vw)) min(20px, calc(20 / var(--width) * 100vw));
		font-weight: 600;
		line-height: 1.33;
		width: min(280px, calc(280 / var(--width) * 100vw));
		box-sizing: border-box;
	}
	.en_page .project .tab_wrap .tab {
		width: min(430px, calc(430 / var(--width) * 100vw));
		font-size: min(12px, calc(12 / var(--width) * 100vw));
	}
	.project .tab_wrap .tab.active {
		border: min(2px, calc(2 / var(--width) * 100vw)) solid var(--navy);
	}
	@media (hover: hover) {
		.project .tab_wrap .tab:hover {
			border: min(2px, calc(2 / var(--width) * 100vw)) solid var(--navy);
			background: var(--navy);
			color: #fff;
		}
	}
}
@media ( max-width: 767px ){
	.project {
		margin: 18.4vw 0 0;
		padding: 0 0 20vw;
	}
	.project::before {
		background: url("img/project_bg_sp.png") no-repeat 0 bottom / 100% auto;
		height: 18.4vw;
		top: -17.4vw;
	}
	.project .sec_title {
		margin: 0 0 10vw;
	}
	.project .tab_wrap {
		gap: 0 0.8vw;
		border-bottom: 0.2667vw solid var(--navy);
		margin: 0 0 8.8vw;
	}
	.project .tab_wrap .tab {
		flex: 1;
		font-size: 2.8vw;
		font-weight: 600;
		line-height: 1.42;
		border-radius: 2.4vw 2.4vw 0 0; 
		border: 0.2667vw solid #9fc7f0;
		border-bottom: none;
		padding: 4vw 2vw;
	}
	.en_page .project .tab_wrap .tab {
		font-size: 2.2vw;
	}
	.project .tab_wrap .tab.active {
		border: 0.2667vw solid var(--navy);
	}
}

/* .project .main */
.project .content {
	display: none;
}
.project .content.show {
	display: block;
}
.project .main .case_title {
	font-weight: 600;
	letter-spacing: 0.075em;
	position: relative;
}
.en_page .project .main .case_title {
	line-height: 1.6;
}
.project .main .case_title::after {
	content: "";
	background: var(--navy);
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
}
.project .main .box_wrap .img_box {
	position: relative;
}
.project .main .box_wrap .img_box::after {
	content: "";
	background: rgba(000,000,000,0.5);
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
}
.project .main .box_wrap .img_box .caption {
	text-align: left;
	position: absolute;
	color: #fff;
	z-index: 1;
}
.project .main .box_wrap .txt_box dt {
	color: var(--navy);
	font-weight: 600;
}
.project .main .box_wrap .txt_box dd {
	text-align: left;
}
@media ( min-width: 768px ){
	.project .main {
		margin: 0 0 min(110px, calc(110 / var(--width) * 100vw));
	}
	.project .main .case_title {
		font-size: min(32px, calc(32 / var(--width) * 100vw));
		padding: 0 0 min(37px, calc(37 / var(--width) * 100vw));
		margin: 0 0 min(70px, calc(70 / var(--width) * 100vw));
	}
	.project .main .case_title::after {
		width: min(60px, calc(60 / var(--width) * 100vw));
		height: min(2px, calc(2 / var(--width) * 100vw));
	}
	.project .main .box_wrap {
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 0 min(75px, calc(75 / var(--width) * 100vw));
	}
	.project .main .box_wrap.ver2 {
		display: block;
	}
	.project .main .box_wrap .img_box {
		flex: 0 0 min(630px, calc(630 / var(--width) * 100vw));
	}
	.project .main .box_wrap .img_box::after {
		height: min(57px, calc(57 / var(--width) * 100vw));
	}
	.project .main .box_wrap .img_box .caption {
		bottom: min(20px, calc(20 / var(--width) * 100vw));
		left: min(15px, calc(15 / var(--width) * 100vw));
		font-size: min(14px, calc(14 / var(--width) * 100vw));
		letter-spacing: 0.05em;
	}
	.project .main .box_wrap .txt_box dt {
		font-size: min(28px, calc(28 / var(--width) * 100vw));
		margin: 0 0 min(44px, calc(44 / var(--width) * 100vw));
	}
	.project .main .box_wrap .txt_box dd {
		line-height: 2.33;
	}
}
@media ( max-width: 767px ){
	.project .main {
		margin: 0 0 8vw;
	}
	.project .main .case_title {
		font-size: 5.6vw;
		line-height: 1.42;
		padding: 0 0 5.3333vw;
		margin: 0 0 9.6vw;
	}
	.project .main .case_title::after {
		width: 10vw;
		height: 0.4vw;
	}
	.project .main .box_wrap .img_box {
		margin: 0 0 9.3333vw;
	}
	.project .main .box_wrap .img_box::after {
		height: 16vw;
	}
	.project .main .box_wrap .img_box .caption {
		bottom: 3.6666vw;
		left: 3.6666vw;
		font-size: 3.2vw;
		line-height: 1.4;
		letter-spacing: 0.1em;
	}
	.project .main .box_wrap .txt_box dt {
		font-size: 4.6667vw;
		margin: 0 0 6vw;
	}
	.project .main .box_wrap .txt_box dd {
		line-height: 1.85;
	}	
}

/* .project .sec_in */
.project .content_wrap {
	position: relative;
	z-index: 1;
}
.project .sec_in_wrap {
	position: relative;
}
.project .sec_in_wrap::before,
.project .sec_in_wrap::after {
	content: "";
	position: absolute;
	opacity: 0;
	transition: transform 3.4s cubic-bezier(0.25, 1, 0.5, 1),
	            opacity 3.4s ease;
	z-index: -1;
}
.project .sec_in_wrap::before {
	right: 0;
}
.project .sec_in_wrap::after {
	left: 0;
}
.project .sec_in_wrap.in-view::before,
.project .sec_in_wrap.in-view::after {
	transform: translateX(0);
	opacity: 1;
}
.project .sec_in .detail {
	display: flex;
}
.project .sec_in .detail .txt_box {
	text-align: left;
}
.project .sec_in .detail .txt_box dt {
	font-weight: 600;
	position: relative;
}
.project .sec_in .detail .txt_box dt::before {
	content: "";
	background: url("img/title_icon.svg") no-repeat 0 0 / contain;
	position: absolute;
	top: 0;
	left: 0;
}
.project .sec_in .detail .img_box .caption {
	text-align: left;
	letter-spacing: 0.01em;
	margin: 1em 0 0;
}

@media ( min-width: 768px ){
	.project .sec_in_wrap {
		padding: 0 0 min(90px, calc(90 / var(--width) * 100vw));
	}
	.project .sec_in_wrap::before {
		top: max(-640px, calc(-640 / var(--width) * 100vw));
		background: url("img/project_bg01.png") no-repeat 0 0 / contain;
		width: min(1275px, calc(1275 / var(--width) * 100vw));
		height: min(1570px, calc(1570 / var(--width) * 100vw));
		transform: translateX(min(1275px, calc(1275 / var(--width) * 100vw)));
	}
	.project .sec_in:not(:last-child) {
		margin: 0 0 min(60px, calc(60 / var(--width) * 100vw));
	}
	.project .sec_in .detail {
		gap: 0 min(50px, calc(50 / var(--width) * 100vw));
	}
	.project .sec_in .detail .txt_box dt {
		font-size: min(20px, calc(20 / var(--width) * 100vw));
		padding: 0 0 min(25px, calc(25 / var(--width) * 100vw)) min(41px, calc(41 / var(--width) * 100vw));
		border-bottom: 1px solid #abcdf0;
		margin: 0 0 min(40px, calc(40 / var(--width) * 100vw));
	}
	.project .sec_in .detail .txt_box dt::before {
		width: min(25px, calc(25 / var(--width) * 100vw));
		height: min(21px, calc(21 / var(--width) * 100vw));
	}
	.project .sec_in .detail .txt_box dd {
		line-height: 2.33;
	}
	.project .sec_in .detail .img_box {
		flex: 0 0 min(450px, calc(450 / var(--width) * 100vw));
	}
	.project .sec_in .detail .img_box .caption {
		font-size: min(14px, calc(14 / var(--width) * 100vw));
	}
}
@media ( max-width: 767px ){
	.project .sec_in_wrap {
		padding: 0 0 11.3333vw;
	}
	.project .sec_in_wrap::before {
		top: -128.9333vw;
		background: url("img/project_bg01_sp.png") no-repeat 0 0 / contain;
		width: 87.0667vw;
		height: 382.2667vw;
		transform: translateX(87.0667vw);
	}
	.project .sec_in_wrap::after {
		top: 167.3333vw;
		background: url("img/project_bg02_sp.png") no-repeat 0 0 / contain;
		width: 65.4667vw;
		height: 158.2667vw;
		transform: translateX(-65.4667vw);
	}
	.project .sec_in:not(:last-child) {
		margin: 0 0 10vw;
	}
	.project .sec_in .detail {
		flex-direction: column;
		gap: 6.6667vw 0;
	}
	.project .sec_in:first-child .detail {
		flex-direction: column-reverse;
	}
	.project .sec_in .detail .txt_box dt {
		font-size: 4vw;
		padding: 0 0 3.6vw 8.5333vw;
		border-bottom: 1px solid #abcdf0;
		margin: 0 0 6vw;
	}
	.project .sec_in .detail .txt_box dt::before {
		width: 5.4667vw;
		height: 4.5333vw;
	}
	.project .sec_in .detail .txt_box dd {
		line-height: 1.85;
	}
	.project .sec_in .detail .img_box .caption {
		font-size: 3.2vw;
	}
}

/* .project .voice */
.project .voice {
	position: relative;
}
.project .voice::before {
	content: "";
	position: absolute;
	opacity: 0;
	transition: transform 3.4s cubic-bezier(0.25, 1, 0.5, 1),
	            opacity 3.4s ease;
	z-index: -1;
}
.project .voice::before {
	left: 0;
}
.project .voice.in-view::before {
	transform: translateX(0);
	opacity: 1;
}
.project .voice dl dt {
	font-weight: 600;
	position: relative;
}
.project .voice dl dt::after {
	content: "";
	background: var(--navy);
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
}
.project .voice dl dd .txt_box p {
	text-align: left;
	letter-spacing: 0.01em;
}
.project .voice dl dd .img_box .caption {
	text-align: left;
	letter-spacing: 0.01em;
	margin: 1em 0 0;
}
.project .content .box {
	display: flex;
	justify-content: center;
	position: relative;
	z-index: 4;
}
@media ( min-width: 768px ){
	.project .voice {
		padding: 0 min(50px, calc(50 / var(--width) * 100vw));
		margin: 0 0 min(80px, calc(80 / var(--width) * 100vw));
	}
	.project .voice::before {
		top: max(-390px, calc(-390 / var(--width) * 100vw));
		background: url("img/project_bg02.png") no-repeat 0 0 / contain;
		width: min(919px, calc(919 / var(--width) * 100vw));
		height: min(1125px, calc(1125 / var(--width) * 100vw));
		transform: translateX(max(-919px, calc(-919 / var(--width) * 100vw)));
	}
	.project .voice .inner {
		background: url("img/bg03.png") repeat 0 0 / min(8px, calc(8 / var(--width) * 100vw)) auto;
		padding: min(64px, calc(64 / var(--width) * 100vw))  min(50px, calc(50 / var(--width) * 100vw)) min(50px, calc(50 / var(--width) * 100vw));
	}
	.project .voice dl dt {
		font-size: min(25px, calc(25 / var(--width) * 100vw));
		padding: 0 0 min(25px, calc(25 / var(--width) * 100vw));
		margin: 0 0 min(53px, calc(53 / var(--width) * 100vw));
	}
	.project .voice dl dt::after {
		width: min(75px, calc(75 / var(--width) * 100vw));
		height: min(2px, calc(2 / var(--width) * 100vw));
	}
	.project .voice dl dd {
		display: flex;
		gap: 0 min(33px, calc(33 / var(--width) * 100vw));
	}
	.project .voice dl dd .txt_box {
		padding: 0 min(15px, calc(15 / var(--width) * 100vw)) 0 0;
	}
	.project .voice dl dd .txt_box p {
		line-height: 2.33;
	}
	.project .voice dl dd .img_box {
		flex: 0 0 min(330px, calc(330 / var(--width) * 100vw));
	}
	.project .voice dl dd .img_box .caption {
		font-size: min(14px, calc(14 / var(--width) * 100vw));
	}
}
@media ( max-width: 767px ){
	.project .voice {
		padding: 0 8vw;
		margin: 0 0 11.4667vw;
	}
	.project .voice .inner {
		background: url("img/bg03.png") repeat 0 0 / 1.0667vw auto;
		padding: 10.6667vw 6.6667vw 8vw;
	}
	.project .voice dl dt {
		font-size: 4.6667vw;
		padding: 0 0 4.6667vw;
		margin: 0 0 9.3333vw;
	}
	.project .voice dl dt::after {
		width: 10vw;
		height: 0.4vw;
	}
	.project .voice dl dd {
	}
	.project .voice dl dd .txt_box {
		padding: 0 0 6.6667vw;
	}
	.project .voice dl dd .txt_box p {
		line-height: 1.85;
	}
	.project .voice dl dd .img_box + .img_box {
		margin: 8vw 0 0;
	}
	.project .voice dl dd .img_box .caption {
		font-size: 3.2vw;
	}
}

/* =entry_page
-------------------------------------------------------------- */
.entry_page {
	background: #fff;
	position: relative;
}
.entry_page::before {
	content: "";
	width: 100%;
	position: absolute;
	left: 0;
	z-index: 0;
	pointer-events: none;
}
.entry_page .content_wrap .lead {
	text-align: left;
}
.entry_page .content_wrap .form .form_box {
	text-align: left;
	border-bottom: 1px solid #ccc;
}

.entry_page .content_wrap .form .form_box dl {
	border-top: 1px solid #ccc;
	box-sizing: border-box;
}
.entry_page .content_wrap .form .form_box dl dd.name,
.entry_page .content_wrap .form .form_box dl dd.birthday {
	display: flex;
}
.entry_page .content_wrap .form .form_box dl dd.name span.item {
	display: inline-block;
}
.entry_page .content_wrap .form .form_box dl dd input,
.entry_page .content_wrap .form .form_box dl dd select {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid #ccc;
	border-radius: 0.4em;
	padding: 0 0.5em;
	outline: none;
}
.entry_page .content_wrap .form .form_box dl dd input::placeholder {
	color: #ccc;
}
.entry_page .content_wrap .form .form_box dl dd.radio input[type="radio"] {
	accent-color: var(--navy);
}
.entry_page .content_wrap .form .form_box .required_box {
	background: var(--red);
	color: #fff;
	font-weight: 300;
	line-height: 1.2;
}
.entry_page .content_wrap .form .personal_info .text {
	text-align: left;
}
.entry_page .content_wrap .form .personal_info .privacy_box {
	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;
}
.entry_page .content_wrap .form .personal_info .privacy_box .privacy_dl dt {
	color: var(--navy);
	font-weight: 500;
}
.entry_page .content_wrap .form .personal_info .privacy_box .privacy_dl dd span {
	font-weight: 500;
	display: inline-block;
}
.entry_page .content_wrap .form .box {
	display: flex;
	justify-content: center;
	position: relative;
	z-index: 4;
}
.entry_page .content_wrap .form .error {
	display: block;
	color: var(--red);
	font-size: 80%;
	padding-top: 0.5em;
}
.entry_page .content_wrap .form .form_box dt .error {
	text-align: left;
}
@media ( min-width: 768px ){
	.entry_page {
		margin: min(550px, calc(550 / var(--width) * 100vw)) 0 0;
		padding: 0 0 min(140px, calc(140 / var(--width) * 100vw));
	}
	.entry_page::before {
		background: url("img/project_bg.png") no-repeat 0 bottom / 100% auto;
		height: min(470px, calc(470 / var(--width) * 100vw));
		top: max(-469px, calc(-469 / var(--width) * 100vw));
	}
	.entry_page .sec_title {
		width: min(1300px, calc(1300 / var(--width) * 100vw));
		position: absolute;
		top: max(-230px, calc(-160 / var(--width) * 100vw));
		left: 50%;
		transform: translateX(-50%);
	}
	.entry_page .content_wrap .lead {
		line-height: 2.33;
		padding-top: min(40px, calc(40 / var(--width) * 100vw));
		margin-bottom: min(40px, calc(40 / var(--width) * 100vw));
	}
	.entry_page .content_wrap .form .form_box {
		margin: 0 auto min(40px, calc(40 / var(--width) * 100vw));
	}
	.entry_page .content_wrap .form .form_box dl {
		display: flex;
		padding: min(30px, calc(30 / var(--width) * 100vw)) 0;
		align-items: center;
	}
	.entry_page .content_wrap .form .form_box dl dt {
		width: min(250px, calc(250 / var(--width) * 100vw));
	}
	.entry_page .content_wrap .form .form_box dl dd {
		width: calc(100% - 250px);
	}
	.entry_page .content_wrap .form .form_box dl dd input,
	.entry_page .content_wrap .form .form_box dl dd select {
		height: min(30px, calc(30 / var(--width) * 100vw));
	}
	.entry_page .content_wrap .form .form_box dl dd input {
		max-width: 800px;
	}
	.entry_page .content_wrap .form .form_box dl dd input.short {
		width:  min(300px, calc(300 / var(--width) * 100vw));
	}
	.entry_page .content_wrap .form .form_box dl dd select {
		width: auto;
	}
	.entry_page .content_wrap .form .form_box dl dd.address div + div {
		margin-top: min(10px, calc(10 / var(--width) * 100vw));
	}
	.entry_page .content_wrap .form .form_box dl dd.name,
	.entry_page .content_wrap .form .form_box dl dd.birthday {
		gap: 0 min(30px, calc(30 / var(--width) * 100vw));
	}
	.entry_page .content_wrap .form .form_box dl dd.name input,
	.entry_page .content_wrap .form .form_box dl dd.birthday input {
		width: min(200px, calc(200 / var(--width) * 100vw));
	}
	.entry_page .content_wrap .form .form_box dl dd.birthday input.short {
		width: min(100px, calc(100 / var(--width) * 100vw));
	}
	.entry_page .content_wrap .form .form_box dl dd.radio input {
		width: min(15px, calc(15 / var(--width) * 100vw));
		height: min(15px, calc(15 / var(--width) * 100vw));
	}
	.entry_page .content_wrap .form .form_box dl dd.radio label {
		margin-right: min(30px, calc(30 / var(--width) * 100vw));
	}
	.entry_page .content_wrap .form .form_box dl dd.name span.item {
		margin-right: min(15px, calc(15 / var(--width) * 100vw));
	}
	.entry_page .content_wrap .form .form_box dl dd.birthday span.item {
		margin-left: min(5px, calc(5 / var(--width) * 100vw));
	}
	.entry_page .content_wrap .form .form_box .required_box {
		font-size: min(13px, calc(13 / var(--width) * 100vw));
		padding: min(1px, calc(1 / var(--width) * 100vw)) min(8px, calc(8 / var(--width) * 100vw));
		margin-left: min(15px, calc(15 / var(--width) * 100vw));		
	}
	.entry_page .content_wrap .form .personal_info .text {
		margin-bottom: min(20px, calc(20 / var(--width) * 100vw));
	}
	.entry_page .content_wrap .form .personal_info .privacy_box {
		font-size: min(14px, calc(14 / var(--width) * 100vw));
		height: min(150px, calc(150 / var(--width) * 100vw));
		padding: min(16px, calc(16 / var(--width) * 100vw)) min(21px, calc(21 / var(--width) * 100vw));
		line-height: 1.8;
		margin-bottom: min(30px, calc(30 / var(--width) * 100vw));
	}
	.entry_page .content_wrap .form .personal_info .privacy_box .privacy_dl dt {
		font-size: min(16px, calc(16 / var(--width) * 100vw));
		margin: min(20px, calc(20 / var(--width) * 100vw)) 0 min(5px, calc(5 / var(--width) * 100vw));
	}
	.entry_page .content_wrap .form .personal_info .privacy_box .privacy_dl dd span {
		font-size: min(16px, calc(16 / var(--width) * 100vw));
		margin-top: min(16px, calc(16 / var(--width) * 100vw));
	}
	.entry_page .content_wrap .form .agree {
		margin-bottom:  min(30px, calc(30 / var(--width) * 100vw));
	}
}
@media ( max-width: 767px ){
	.entry_page {
		margin: 24vw 0 0;
		padding: 0 0 20vw;
	}
	.entry_page::before {
		background: url("img/project_bg_sp.png") no-repeat 0 bottom / 100% auto;
		height: 18.4vw;
		top: -17.4vw;
	}
	.entry_page .sec_title {
		margin: 0 0 10vw;
	}
	.entry_page .content_wrap .lead {
		line-height: 1.85;
		margin-bottom: 5vw;
	}
	.entry_page .content_wrap .form .form_box {
		margin-bottom: 6vw;
	}
	.entry_page .content_wrap .form .form_box dl {
		padding:4vw 0;
	}
	.entry_page .content_wrap .form .form_box dl dt {
		width: 100%;
		margin-bottom: 3vw;
	}
	.entry_page .content_wrap .form .form_box dl dd {
		width: 100%;
	}
	.entry_page .content_wrap .form .form_box dl dd input,
	.entry_page .content_wrap .form .form_box dl dd select {
		height: 8vw;
	}
	.entry_page .content_wrap .form .form_box dl dd.address div + div {
		margin-top: 2vw;
	}
	.entry_page .content_wrap .form .form_box dl dd.name,
	.entry_page .content_wrap .form .form_box dl dd.birthday {
		gap: 0 4vw;
	}
	.entry_page .content_wrap .form .form_box dl dd.name input {
		width: 30vw;
	}
	.entry_page .content_wrap .form .form_box dl dd.birthday input {
		width: 25vw;
	}
	.entry_page .content_wrap .form .form_box dl dd.birthday input.short {
		width: 15vw;
	}
	.entry_page .content_wrap .form .form_box dl dd.radio input {
		width: 3vw;
		height: 3vw;
	}
	.entry_page .content_wrap .form .form_box dl dd.radio label {
		margin-right: 4vw;
	}
	.entry_page .content_wrap .form .form_box dl dd.name span.item {
		margin-right: 2vw;
	}
	.entry_page .content_wrap .form .form_box dl dd.birthday span.item {
		margin-left: 1vw;
	}
	.entry_page .content_wrap .form .form_box .required_box {
		font-size:3vw;
		padding: 0.5vw 2vw;
		margin-left: 2vw;		
	}
	.entry_page .content_wrap .form .personal_info .text {
		margin-bottom: 2vw;
	}
	.entry_page .content_wrap .form .personal_info .privacy_box {
		font-size: 3.2vw;
		height: 29.8667vw;
		padding: 2.4vw 2.6667vw;
		line-height: 1.4;
		margin-bottom: 4vw;
	}
	.entry_page .content_wrap .form .personal_info .privacy_box .privacy_dl dt {
		font-size: 3.6vw;
		margin: 4vw 0 2vw;
	}
	.entry_page .content_wrap .form .personal_info .privacy_box .privacy_dl dd span {
		font-size: 3.6vw;
		margin-top: 2vw;
	}
	.entry_page .content_wrap .form .agree {
		margin-bottom: 4vw;
	}
}

.grecaptcha-badge {
	z-index: 5;
}