/*=======================
基本設定
=======================*/

/*=======================
共通パーツ
=======================*/

body {
	background: #fff;
	color: #111;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: normal;
	letter-spacing: normal;
}

body.is-fixed {
	overflow: hidden;
}

body.is-fixed::after {
	background: #fff; /* ページ背景と同じ色 */
	content: "";
	display: block;
	height: 100%;
	pointer-events: none;
	position: fixed;
	right: 0;
	top: 0;
	width: 17px; /* 実際のスクロールバーの幅に合わせて */
	z-index: 9999;
}

.inner {
	margin: 0 auto;
	max-width: 1126px;
}

.sec-title {
	position: relative;
}

.sec-title.blue {
	color: #00378b;
}

.sec-title.blue .title-jp::before {
	background: #00378b;
}

.sec-title.white {
	color: #fff;
}

.sec-title.white .title-jp::before {
	background: #fff;
}

.sec-title.orange .title-jp {
	color: #ff6000;
}

.sec-title.orange .title-jp::before {
	background: #ff6000;
}

.sec-title.black .title-jp::before {
	background: #111;
}

.sec-title .title-jp {
	display: block;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.12em;
	margin-left: 3px;
	padding-left: 16px;
	position: relative;
}

.sec-title .title-jp::before {
	border-radius: 50%;
	content: "";
	height: 10px;
	left: 0;
	position: absolute;
	top: 50%;
	translate: 0 -50%;
	width: 10px;
}

.sec-title .title-en {
	display: block;
	font-size: 32px;
	font-weight: bold;
	letter-spacing: 0.05em;
	margin-top: 10px;
}

.btn {
	align-items: center;
	border: 1px solid;
	border-radius: 32px;
	cursor: pointer;
	display: flex;
	font-size: 16px;
	font-weight: bold;
	height: 64px;
	letter-spacing: 0.12em;
	padding-left: 24px;
	position: relative;
	width: 240px;
	z-index: 5;
}

.btn.fz12 {
	font-size: 12px;
}

.btn.ls {
	letter-spacing: normal;
}

.btn::after {
	content: "";
	height: 48px;
	position: absolute;
	right: 8px;
	width: 48px;
}

.btn.blue {
	border-color: #00378b;
	color: #00378b;
}

.btn.blue::after {
	background: url(../img/arrow_circle_blue_diagonal.svg) no-repeat center center/cover;
}

.btn.white {
	border-color: #fff;
	color: #fff;
}

.btn.white::after {
	background: url(../img/arrow_circle_white_diagonal.svg) no-repeat center center/cover;
}

a {
	transition: all 0.3s ease;
}

br.is-pc {
	display: block;
}

br.is-sp {
	display: none;
}

span.is-pc {
	display: inline;
}

span.is-sp {
	display: none;
}

img {
	display: block;
	height: auto;
	width: 100%;
}

.nav-items {
	display: grid;
	gap: 54px;
	grid-column: 1/2;
	grid-row: 1/2;
	grid-template-columns: 1fr;
}

.nav-item-link {
	color: #fff;
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0.12em;
	padding-left: 25px;
	position: relative;
}

.nav-item-link::before {
	background: #fff;
	border-radius: 50%;
	content: "";
	height: 16px;
	left: 0;
	position: absolute;
	top: 50%;
	translate: 0 -50%;
	width: 16px;
}

.nav-item-link::after {
	background: url(../img/arrow_circle_black_right.svg) no-repeat center center/cover;
	content: "";
	height: 32px;
	position: absolute;
	right: -42px;
	top: 50%;
	translate: 0 -50%;
	width: 32px;
}

.nav-sub-items {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	margin-top: 30px;
}

.nav-img-items {
	gap: 20px;
}

.nav-img-items .nav-sub-item {
	width: 160px;
}

.nav-sub-item-link {
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.12em;
}

.footer-btn {
	grid-column: 2/3;
	grid-row: 2/3;
	margin-left: auto;
	margin-top: auto;
}

.link-items {
	display: flex;
	gap: 23px;
	grid-column: 1/2;
	grid-row: 2/3;
	margin-top: 51px;
}

.link-item-link {
	color: #fff;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.12em;
}

.js-fadeIn {
	opacity: 0;
	transition: opacity 0.8s, transform 0.8s;
}

.js-fadeIn.is-inview {
	opacity: 1;
	transition-delay: 0.5s;
}

.js-rotate {
	transform: rotate(2deg);
	transform-origin: center center;
	transition: transform 0.3s;
	will-change: transform;
}

.js-rotate.is-inview {
	transform: rotate(0deg);
	transition-delay: 0.5s;
}

/*=======================
下層ページ共通設定
=======================*/

.page-wrapper.pageLow .page-head {
	height: 768px;
	overflow: hidden;
	position: relative;
}

.page-wrapper.pageLow .page-head .inner {
	display: flex;
	flex-direction: column;
	height: 100%;
	max-width: 1286px;
}

.page-wrapper.pageLow .page-title {
	color: #00378b;
	font-size: 160px;
	font-weight: bold;
	letter-spacing: -0.05em;
	margin-left: -15px;
	margin-top: auto;
}

.page-wrapper.pageLow .collide-wall {
	display: block;
	width: -moz-fit-content;
	width: fit-content;
}

.page-wrapper.pageLow .page-head-deco {
	position: absolute;
	will-change: transform;
}

.page-wrapper.pageLow .page-head-deco.deco01 {
	left: 20.1%;
	top: 17.5%;
	width: 135px;
}

.page-wrapper.pageLow .page-head-deco.deco02 {
	left: 35.3%;
	top: 46.5%;
	width: 134px;
}

.page-wrapper.pageLow .page-head-deco.deco03 {
	left: 39%;
	top: -9.8%;
	width: 192px;
}

.page-wrapper.pageLow .page-head-deco.deco04 {
	left: 56.2%;
	top: -14.4%;
	width: 253px;
}

.page-wrapper.pageLow .page-head-deco.deco05 {
	left: 51.9%;
	top: 29%;
	width: 260px;
}

.page-wrapper.pageLow .page-head-deco.deco06 {
	left: 56.2%;
	top: 71.7%;
	width: 240px;
}

.page-wrapper.pageLow .page-head-deco.deco07 {
	left: 78.2%;
	top: 26.2%;
	width: 107px;
}

.page-wrapper.pageLow .page-head-deco.deco08 {
	left: 78.4%;
	top: 78.2%;
	width: 123px;
}

.breadcrumb {
	margin-bottom: 48px;
	margin-top: 44px;
}

.breadcrumb-items {
	align-items: center;
	display: flex;
	gap: 0 14px;
}

.breadcrumb-items a,
.breadcrumb-items span {
	color: #00378b;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: -0.05em;
}

.breadcrumb-items a {
	transition: all 0.3s ease;
}

.breadcrumb-items span {
	position: relative;
}

.breadcrumb-items span::before {
	color: #00378b;
	content: ">";
	font-size: 16px;
	font-weight: bold;
	letter-spacing: -0.05em;
	position: absolute;
	right: -12px;
	top: 50%;
	translate: 0 -50%;
}

.breadcrumb-items span:last-of-type::before {
	display: none;
}

.wp-pagenavi {
	display: flex;
	gap: 0 16px;
	justify-content: center;
	margin-top: 48px;
}

.wp-pagenavi .page,
.wp-pagenavi .current {
	border: 1px solid #fff;
	border-radius: 50%;
	display: grid;
	font-size: 20px;
	height: 48px;
	place-content: center;
	width: 48px;
}

.wp-pagenavi .page {
	color: #fff;
}

.wp-pagenavi .current {
	background: #fff;
	color: #111;
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
	border: none;
	height: 48px;
	margin: initial;
	padding: initial;
	position: relative;
	width: 48px;
}

.wp-pagenavi .previouspostslink::before,
.wp-pagenavi .nextpostslink::before {
	background: url(../img/arrow_white_right.svg) no-repeat center center/cover;
	content: "";
	height: 13px;
	left: 50%;
	position: absolute;
	top: 50%;
	translate: -50% -50%;
	width: 14px;
}

.wp-pagenavi .previouspostslink::before {
	rotate: 180deg;
}

/*=======================
ヘッダー
=======================*/

.header {
	background: #fff;
	border-left: 1px solid #00378b;
	height: 100dvh;
	padding: 20px 0;
	position: fixed;
	right: 0;
	width: 64px;
	z-index: 100;
}

.drawer-icon {
	align-items: center;
	cursor: pointer;
	display: flex;
	justify-content: center;
	position: relative;
}

.drawer-icon::before {
	color: #00378b;
	content: "MENU";
	font-size: 16px;
	font-weight: bold;
	left: 50%;
	letter-spacing: 0.05em;
	position: absolute;
	top: 29px;
	transform: translateX(-50%);
	transition: all 0.3s ease;
	writing-mode: vertical-lr;
}

.drawer-icon.is-open::before {
	content: "CLOSE";
}

.drawer-bars {
	height: 12px;
	position: relative;
	width: 20px;
}

.drawer-bar {
	background: #00378b;
	height: 1px;
	position: absolute;
	transition: all 0.3s ease;
	width: 20px;
}

.drawer-bar.bar01 {
	top: 0;
}

.drawer-bar.bar02 {
	top: 50%;
	transform: translateY(-50%);
}

.drawer-bar.bar03 {
	bottom: 0;
	top: initial;
}

.drawer-bar.is-open.bar01 {
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
}

.drawer-bar.is-open.bar02 {
	opacity: 0;
	visibility: hidden;
}

.drawer-bar.is-open.bar03 {
	bottom: initial;
	top: 50%;
	transform: translateY(-50%) rotate(-45deg);
}

.drawer {
	-webkit-overflow-scrolling: touch;
	background: #00378b;
	height: 100dvh;
	overflow-x: hidden;
	overflow-y: auto;
	padding-left: 70px;
	padding-right: 70px;
	padding-top: 166px;
	position: fixed;
	right: 0;
	top: 0;
	transform: translateX(100%);
	transition: all 0.3s ease;
	width: 100%;
	z-index: 30;
}

.drawer.is-open {
	transform: translateX(0);
}

.drawer .anime-deco-wrapper .anime-deco.deco01 {
	display: none;
}

.drawer .anime-deco-wrapper .anime-deco img {
	filter: grayscale(100);
	opacity: 0.2;
}

.drawer-bg {
	height: 100%;
	left: 50%;
	position: absolute;
	top: 50%;
	translate: -50% -50%;
	width: 100%;
}

.drawer-bg img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.drawer-bg svg {
	filter: grayscale(100);
	opacity: 0.2;
}

.drawer-bg .cls-2 {
	stroke: #fff;
}

.drawer-bg .cls-3 {
	stroke: #e9ebf2;
}

.drawer-inner {
	height: 100%;
}

.drawer-copyright {
	color: #fff;
}

.drawer-container {
	display: flex;
	flex-direction: column;
	height: 100%;
	position: relative;
}

.drawer-nav-items {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	height: 500px;
}

.drawer-news-items {
	display: grid;
	gap: 25px 0;
	grid-template-columns: 1fr;
	margin-top: 24px;
	width: 400px;
}

.drawer-news-item-link {
	color: #fff;
	display: grid;
	font-size: 12px;
	gap: 0 20px;
	grid-template-columns: 160px 1fr;
	letter-spacing: 0.12em;
}

.drawer-news-item-img {
	overflow: hidden;
}

.drawer-news-item-img img {
	-o-object-fit: cover;
	aspect-ratio: 160/106;
	object-fit: cover;
}

.drawer-news-item-title {
	font-weight: bold;
	line-height: 1.6;
	margin-top: 4px;
}

.drawer-bottom {
	display: flex;
	justify-content: right;
	margin-top: auto;
	padding-bottom: 40px;
}

.logo {
	left: 26px;
	mix-blend-mode: difference;
	position: fixed;
	top: 36px;
	width: 172px;
	z-index: 100;
}

.logo h1 {
	position: relative;
}

.logo h1::before {
	background: rgba(0, 0, 0, 0.02);
	content: "";
	inset: 0;
	position: absolute;
	z-index: -1;
}

.logo svg {
	fill: #fff;
	transition: fill 0.3s;
}

/*=======================
トップ / FV
=======================*/

.fv {
	background: #fff;
	height: 100dvh;
	overflow: hidden;
	position: relative;
}

.fv-bg {
	height: 100%;
	margin-inline: auto;
	position: relative;
}

.fv-bg .cls-2 {
	stroke: #ff6000;
}

.fv-bg .cls-3 {
	stroke: #00378b;
}

.fv-bg-line {
	left: 47%;
	position: absolute;
	top: 50%;
	translate: -50% -50%;
}

.bg-anime.is-sp {
	display: none;
}

.bg-anime svg {
	display: block;
	height: auto;
	width: 100%;
}

.bg-anime .cls-2,
.bg-anime .cls-3 {
	fill: none;
	stroke-linecap: round;
	stroke-miterlimit: 10;
}

.bg-anime .cls-2 {
	stroke-width: 110px;
	stroke-dasharray: 3000;
	stroke-dashoffset: 3000;
}

.bg-anime .cls-3 {
	stroke-width: 110px;
	stroke-dasharray: 4000;
	stroke-dashoffset: 4000;
}

.bg-anime .animate-orange {
	animation: drawAndEraseOrange 4s linear forwards;
}

.bg-anime .animate-blue {
	animation: drawAndEraseBlue 4s linear 1s forwards;
}

.bg-anime .animate-orange-sp {
	animation: drawAndEraseOrange 4s linear forwards;
}

.bg-anime .animate-blue-sp {
	animation: drawAndEraseBlue 4s linear 1s forwards;
}

.anime-deco {
	position: absolute;
}

.anime-deco.deco01 {
	animation-delay: 0s;
	left: 4.3%;
	top: 39.1%;
	width: min(51px, 5.1rem);
}

.anime-deco.deco02 {
	animation-delay: 0.4s;
	left: -29.5%;
	top: 73.3%;
	width: min(638px, 63.8rem);
	z-index: 10;
}

.anime-deco.deco03 {
	animation-delay: 0.6s;
	left: 4.9%;
	top: 56.6%;
	width: min(284px, 28.4rem);
}

.anime-deco.deco04 {
	animation-delay: 0.1s;
	left: 28.5%;
	top: 26.1%;
	width: min(83px, 8.3rem);
}

.anime-deco.deco05 {
	animation-delay: 0.5s;
	left: 44.1%;
	top: 81.6%;
	width: min(45px, 4.5rem);
}

.anime-deco.deco06 {
	animation-delay: 0.9s;
	left: 85.9%;
	top: 36.7%;
	width: min(200px, 20rem);
}

.floating-pattern-1 {
	animation: floating-y-1 2.4s ease-in-out infinite;
}

.floating-pattern-2 {
	animation: floating-y-2 2.8s ease-in-out infinite;
}

.floating-pattern-3 {
	animation: floating-y-3 3.2s ease-in-out infinite;
}

.fv-txt {
	display: flex;
	flex-direction: column;
	font-family: "Noto Serif JP", serif;
	font-size: 24px;
	gap: 18px 0;
	left: 47.1%;
	letter-spacing: 0.12em;
	position: absolute;
	top: 51.8%;
	translate: -50% -50%;
	word-break: keep-all;
	writing-mode: vertical-rl;
	z-index: 10;
}

.fv-txt-line {
	background: #fff;
	display: block;
	height: -moz-fit-content;
	height: fit-content;
	padding: 4px 3px;
}

.copyright {
	font-size: 10px;
	font-weight: 500;
	left: 24px;
	letter-spacing: 0.05em;
	position: absolute;
	top: 50%;
	translate: 0 -50%;
	writing-mode: vertical-lr;
}

.fv-copyright {
	color: #fff;
	font-weight: 400;
	mix-blend-mode: difference;
}

.fv-news {
	align-items: center;
	background: #00378b;
	bottom: -4px;
	color: #fff;
	display: grid;
	gap: 0 18px;
	grid-template-columns: 43px 1fr;
	height: 56px;
	left: 0;
	padding: 0 90px 0 41px;
	position: absolute;
	width: 100%;
}

.fv-news-title {
	font-size: 14px;
	font-weight: bold;
	letter-spacing: 0.05em;
}

.fv-news-link {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.fv-news-link-txt {
	color: #fff;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.03em;
}

.fv-news-link-icon {
	height: 32px;
	width: 32px;
}

/*=======================
トップ / メッセージ
=======================*/

.message {
	padding: 158px 0 184px;
}

.message-inner {
	max-width: 909px;
}

.message-content {
	align-items: center;
	display: grid;
	gap: 0 46px;
	grid-template-columns: 1fr 344px;
}

.message-img-items {
	height: 100%;
	position: relative;
}

.message-img-item {
	position: absolute;
}

.message-img-item:nth-of-type(1) {
	left: 0;
	top: 54%;
	translate: 0 -50%;
	width: 19.6%;
}

.message-img-item:nth-of-type(2) {
	left: 21.9%;
	top: 55%;
	translate: 0 -50%;
	width: 36.9%;
}

.message-img-item:nth-of-type(3) {
	right: 0;
	top: 53%;
	translate: 0 -50%;
	width: 38%;
}

.message-info {
	padding-top: 23px;
}

.message-txt {
	font-size: 14px;
	letter-spacing: 0.06em;
	line-height: 1.8285714286;
	margin: 23px 0 44px 3px;
}

/*=======================
トップ / ニュース
=======================*/

.news {
	background: #00378b;
	border-radius: 64px 64px 0 0;
	overflow: hidden;
	padding: 77px 0 80px;
	position: relative;
}

.news .anime-deco-wrapper .anime-deco.deco01 {
	left: -0.7%;
	top: 21%;
	width: 105px;
}

.news .anime-deco-wrapper .anime-deco.deco02 {
	left: 9.5%;
	top: 65.3%;
	width: 135px;
}

.news .anime-deco-wrapper .anime-deco.deco03 {
	left: 93.9%;
	top: 60.6%;
	width: 104px;
}

.news .no-news {
	margin-top: 40px;
}

.news-bg {
	left: 47%;
	position: absolute;
	top: 46%;
	translate: -50% -50%;
	width: 100%;
}

.news-bg .cls-3 {
	stroke: #ffffff;
	opacity: 0.06;
}

.news-items {
	position: relative;
}

.news-item {
	align-items: center;
	border-bottom: 1px solid #fff;
	display: flex;
	height: 80px;
}

.no-news {
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 0.12em;
}

.news-item-link {
	align-items: center;
	color: #fff;
	display: grid;
	font-size: 16px;
	font-weight: bold;
	grid-template-columns: 119px 1fr 32px;
	letter-spacing: 0.12em;
	width: 100%;
}

.news-item-title {
	line-height: 1.2;
}

.news-btn {
	margin: 48px auto 0;
}

/*=======================
トップ / 事業紹介
=======================*/

.service {
	background: url(../img/service_bg_pc.png) no-repeat center center/cover;
	overflow: hidden;
	padding: 80px 0 81px;
}

.service-inner {
	max-width: 1206px;
}

.service-content {
	display: grid;
	gap: 0 24px;
	grid-template-columns: 160px 1fr;
	margin-top: 32px;
}

.service-banner {
	width: 160px;
}

.service-txt {
	color: #fff;
	font-size: 14px;
	letter-spacing: 0.2em;
	line-height: 1.6;
}

.service-swiper {
	margin-top: 44px;
	overflow: visible;
}

.service-swiper .swiper-slide {
	cursor: pointer;
	height: 336px;
	margin-right: 32px;
	overflow: hidden;
	transition: all 0.3s ease;
	width: 240px;
}

.service-swiper .swiper-slide img {
	aspect-ratio: 0.7142857143;
}

.service-swiper .swiper-slide:last-of-type {
	margin-right: 0;
}

.service-swiper .swiper-button-wrapper {
	align-items: center;
	display: flex;
	gap: 0 30px;
	justify-content: center;
	margin-top: 20px;
}

.service-swiper .swiper-button-prev,
.service-swiper .swiper-button-next {
	background: url(../img/arrow_circle_black_right.svg) no-repeat center center/cover;
	border-radius: 50%;
	cursor: pointer;
	height: 32px;
	margin-top: initial;
	position: static;
	top: initial;
	transition: opacity 0.3s ease;
	width: 32px;
}

.service-swiper .swiper-button-prev.swiper-button-disabled,
.service-swiper .swiper-button-next.swiper-button-disabled {
	opacity: 0.3;
	pointer-events: none;
}

.service-swiper .swiper-button-prev::after,
.service-swiper .swiper-button-next::after {
	display: none;
}

.service-swiper .swiper-button-prev {
	left: initial;
	rotate: 180deg;
}

.service-swiper .swiper-button-next {
	right: initial;
}

.modal {
	background: rgba(255, 255, 255, 0.97);
	display: grid;
	height: 100%;
	inset: 0;
	opacity: 0;
	overflow-y: auto;
	padding: 80px 0;
	place-items: center;
	pointer-events: none;
	position: fixed;
	transition: opacity 0.3s ease, visibility 0.3s ease;
	visibility: hidden;
	width: 100%;
	z-index: 1000;
}

.modal.is-open {
	opacity: 1;
	pointer-events: auto;
	visibility: visible;
}

.modal-bg {
	height: 100%;
	left: 50%;
	position: absolute;
	top: 50%;
	translate: -50% -50%;
	width: 100%;
}

.modal-bg img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
}

.modal-inner {
	width: 100%;
}

.modal-content {
	position: relative;
	width: 100%;
}

.modal-body {
	align-items: start;
	display: grid;
	gap: 0 80px;
	grid-template-columns: 320px 1fr 64px;
	grid-template-rows: auto auto auto auto;
}

.modal-img {
	grid-column: 1/2;
	grid-row: 1/span 4;
	margin-top: 29px;
}

.modal-img figcaption {
	margin-top: 16px;
}

.modal-img figcaption span {
	color: #00378b;
	display: block;
	font-size: 16px;
	letter-spacing: -0.05em;
	margin-bottom: 11px;
}

.modal-img figcaption span:last-of-type {
	margin-bottom: 0;
}

.modal-title {
	color: #00378b;
	font-size: 32px;
	font-weight: bold;
	grid-column: 2/3;
	grid-row: 1/2;
	letter-spacing: 0.12em;
	line-height: 1.2;
	margin-bottom: 28px;
	margin-top: 20px;
	word-break: auto-phrase;
}

.modal-tag-items {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 16px;
	grid-column: 2/4;
	grid-row: 2/3;
}

.modal-tag-item {
	border: 1px solid #00378b;
	border-radius: 18px;
	color: #00378b;
	display: grid;
	font-size: 12px;
	font-weight: bold;
	height: 37px;
	letter-spacing: 0.12em;
	min-width: 117px;
	padding: 0 20px;
	place-content: center;
}

.modal-txt {
	color: #00378b;
	font-size: 14px;
	grid-column: 2/4;
	grid-row: 3/4;
	letter-spacing: 0.12em;
	line-height: 1.4;
	margin-top: 20px;
}

.modal-close {
	background: transparent;
	border: none;
	border-radius: 50%;
	cursor: pointer;
	grid-column: 3/4;
	grid-row: 1/2;
	height: 64px;
	margin-top: 15px;
	width: 64px;
}

/*=======================
トップ / レーベル紹介
=======================*/

.label {
	overflow: hidden;
	padding: 80px 0;
}

.label-content {
	align-items: center;
	display: grid;
	gap: 0 89px;
	grid-template-columns: 115px 1fr;
	margin-left: -3px;
	margin-right: calc(50% - 50vw);
}

.label-box {
	align-items: center;
	background: #ff6000;
	border-radius: 64px 0 0 64px;
	display: grid;
	gap: 0 44px;
	grid-template-columns: 450px 1fr;
	padding: 63px 0 63px 80px;
}

.label-items {
	display: grid;
	gap: 16px 0;
	grid-template-columns: 1fr;
}

.label-item {
	width: 400px;
}

.label-item:nth-of-type(1) {
	margin-left: 20px;
}

.label-item:nth-of-type(2) {
	margin-left: 49px;
}

.label-bg-txt {
	color: #fff;
	font-family: "Poppins", sans-serif;
	font-size: 100px;
	font-weight: 600;
	letter-spacing: -0.08em;
	line-height: 0.87;
}

/*=======================
トップ / 取引先一覧
=======================*/

.clients {
	background: #e9ebf2;
	padding: 80px 0;
}

.clients-sec-title .title-en {
	color: #111;
}

.clients-items {
	display: grid;
	gap: 24px 23px;
	grid-template-columns: repeat(auto-fit, minmax(264px, 1fr));
	justify-content: center;
	margin-top: 30px;
}

.clients-item:nth-of-type(1) .clients-item-link img {
	height: 80%;
	width: auto;
}

.clients-item:nth-of-type(2) .clients-item-link img {
	height: 70%;
	width: auto;
}

.clients-item:nth-of-type(3) .clients-item-link img {
	height: 70%;
	width: auto;
}

.clients-item:nth-of-type(4) .clients-item-link img {
	height: 110%;
	width: auto;
}

.clients-item:nth-of-type(5) .clients-item-link img {
	height: 80%;
	width: auto;
}

.clients-item:nth-of-type(6) .clients-item-link img {
	height: 80%;
	width: auto;
}

.clients-item:nth-of-type(8) .clients-item-link img {
	height: 80%;
	width: auto;
}

.clients-item-link {
	align-items: center;
	background: #fff;
	border-radius: 8px;
	color: #111;
	display: flex;
	font-size: 16px;
	font-weight: bold;
	height: 80px;
	justify-content: center;
}

/*=======================
トップ / リクルート
=======================*/

.recruit {
	padding: 45px 0 64px;
	position: relative;
}

.recruit::before {
	background: rgba(0, 0, 0, 0.75);
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.recruit-title {
	color: #fff;
	font-size: 100px;
	font-weight: bold;
	letter-spacing: 0.05em;
	position: relative;
	text-align: center;
}

.recruit-btn {
	margin: 35px auto 0;
}

/*=======================
トップ / お問い合わせ
=======================*/

.contact {
	overflow: hidden;
	padding: 80px 0;
	position: relative;
}

.contact .anime-deco-wrapper .anime-deco.deco01 {
	left: -2.7%;
	top: 33%;
	width: 134px;
}

.contact .anime-deco-wrapper .anime-deco.deco02 {
	left: 50.5%;
	top: 89.3%;
	width: 123px;
}

.contact .anime-deco-wrapper .anime-deco.deco03 {
	left: 85.4%;
	top: 33.6%;
	width: 240px;
}

.contact-bg {
	left: 0;
	position: absolute;
	top: 41%;
	translate: 0 -50%;
	width: 100%;
}

.contact-bg .cls-3 {
	stroke: #00378b;
	opacity: 0.15;
}

.contact-items {
	display: grid;
	gap: 40px;
	grid-template-columns: 1fr 1fr;
	margin-top: 29px;
	position: relative;
	z-index: 20;
}

.contact-item {
	border-radius: 24px;
	box-shadow: -7.9px -4.4px 20.9px 1.1px rgba(0, 0, 0, 0.1);
	color: #fff;
	display: grid;
	display: grid;
	grid-template-columns: 1fr;
	min-height: 233px;
	place-content: center;
	text-align: center;
}

.contact-item.blue {
	background: #00378b;
	position: relative;
}

.contact-item.blue::before {
	background: url(../img/icon_phone.svg) no-repeat center center/cover;
	content: "";
	height: 120px;
	left: 50%;
	position: absolute;
	top: 50%;
	translate: -50% -50%;
	width: 120px;
}

.contact-item.orange {
	background: #ff6000;
}

.contact-item-txt {
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 0.12em;
	margin-bottom: 23px;
}

.contact-item-tel {
	font-size: 24px;
	font-weight: bold;
	letter-spacing: 0.05em;
}

.contact-btn {
	margin-inline: auto;
}

/*=======================
フッター
=======================*/

.footer {
	background: #111;
	overflow: hidden;
	padding: 80px 70px 40px;
	position: relative;
}

.footer .anime-deco-wrapper img {
	filter: grayscale(100);
	opacity: 0.4;
}

.footer .anime-deco-wrapper .anime-deco.deco02 {
	left: -33.5%;
	top: 80.3%;
}

.footer .anime-deco-wrapper .anime-deco.deco03 {
	left: 0.6%;
	top: 67.6%;
}

.footer .anime-deco-wrapper .anime-deco.deco04 {
	left: 24.5%;
	top: 41.1%;
}

.footer .anime-deco-wrapper .anime-deco.deco05 {
	left: 40.1%;
	top: 88.6%;
}

.footer .anime-deco-wrapper .anime-deco.deco06 {
	left: 81.1%;
	top: 50.6%;
}

.footer-bg {
	height: 100%;
	left: 50%;
	position: absolute;
	top: 50%;
	translate: -50% -50%;
	width: 100%;
}

.footer-bg .cls-2 {
	stroke: #ff6000;
}

.footer-bg .cls-3 {
	stroke: #00378b;
}

.footer-bg svg {
	filter: grayscale(100);
	opacity: 0.4;
}

.footer-bg img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
}

.footer-inner {
	max-width: 1206px;
}

.footer-logo {
	max-width: 855px;
	position: relative;
}

.footer-content {
	display: grid;
	margin-top: 61px;
	position: relative;
	z-index: 20;
}

.footer-icon {
	margin: 72px auto 0;
	position: relative;
	width: 96px;
}

/*=======================
下層 / ニュース
=======================*/

.pageNews-news {
	border-radius: initial;
	padding: 50px 0 80px;
}

.pageNews-news .news-item {
	height: 82px;
}

/*=======================
下層 / ニュース詳細
=======================*/

.page-wrapper.pageLow.pageSingle .page-head {
	height: 470px;
}

.page-wrapper.pageLow.pageSingle .page-head .inner {
	position: relative;
}

.page-wrapper.pageLow.pageSingle .page-head .single-content-wrapper {
	bottom: 48px;
	position: absolute;
}

.page-wrapper.pageLow.pageSingle .breadcrumb {
	margin-top: 34px;
}

.single-img img {
	-o-object-fit: cover;
	height: 470px;
	height: 100%;
	left: 50%;
	object-fit: cover;
	position: absolute;
	top: 50%;
	translate: -50% -50%;
	width: 100%;
}

.single-date {
	color: #00378b;
	display: block;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: -0.05em;
	margin-bottom: 18px;
	margin-top: auto;
	width: -moz-fit-content;
	width: fit-content;
}

.single-title {
	color: #00378b;
	font-size: 24px;
	font-weight: bold;
	letter-spacing: -0.05em;
	line-height: 1.4;
	width: 460px !important;
}

.single-content-wrapper {
	padding: 44px 0 120px;
	position: relative;
}

.single-content-wrapper::before {
	animation: floating-y-1 2.4s ease-in-out infinite;
	background: url(../img/single_deco.png) no-repeat center center/cover;
	bottom: 35%;
	content: "";
	height: 98px;
	left: 34px;
	position: absolute;
	width: 123px;
}

.single-content-wrapper.grey {
	background: #e9ebf2;
}

.single-inner {
	display: grid;
	gap: 0 30px;
	grid-template-columns: 240px 1fr;
	justify-content: space-between;
}

.single-content {
	background: #fff;
	margin-left: auto;
	max-width: 720px;
}

.single-content h2 {
	color: #00378b;
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0.12em;
	line-height: 1.2;
	margin: 0 45px;
	padding-left: 22px;
	padding-top: 19px;
	position: relative;
}

.single-content h2::before {
	background: #00378b;
	border-radius: 50%;
	content: "";
	height: 48px;
	left: -6px;
	opacity: 0.1;
	position: absolute;
	top: -2px;
	width: 48px;
}

.single-content p,
.single-content li {
	font-size: 14px;
	font-weight: bold;
	letter-spacing: 0.12em;
	line-height: 1.4;
}

.single-content p,
.single-content ul,
.single-content ol {
	margin: 30px 45px;
}

.single-content ul,
.single-content ol {
	padding-left: 20px;
}

.single-content li {
	list-style: disc;
}

.single-content ol li {
	list-style: decimal;
}

.single-content ol ol {
	counter-reset: sub;
	margin: 0;
}

.single-content ol ol li {
	counter-increment: sub;
	list-style: none;
}

.single-content ol ol li::marker {
	content: "(" counter(sub) ") ";
}

.single-content img,
.single-content iframe {
	margin: 30px 0;
	max-width: 100%;
}

/*=======================
下層 / ABOUT
=======================*/

.pageAbout .page-head .page-title {
	margin-left: initial;
}

.pageAbout .page-head .page-head-deco.deco01 {
	left: 27.5%;
	top: 9.5%;
}

.pageAbout .page-head .page-head-deco.deco02 {
	left: -4.9%;
	top: 23.5%;
	width: 207px;
}

.pageAbout .page-head .page-head-deco.deco03 {
	left: 50.6%;
	top: -2.8%;
	width: 117px;
}

.pageAbout .page-head .page-head-deco.deco04 {
	left: 82%;
	top: 75.1%;
	width: 229px;
}

.pageAbout .page-head .page-head-deco.deco07 {
	left: 50.9%;
	top: 69.5%;
}

.pageAbout .page-head .page-head-deco.deco08 {
	left: 47.4%;
	rotate: -30deg;
	top: 38.6%;
}

.pageAbout .page-head .page-head-txt {
	font-size: 32px;
	gap: 24px 0;
	left: initial;
	right: 18%;
	top: 50%;
	translate: 0 -50%;
}

.pageAbout .page-head .page-head-txt .fv-txt-line {
	background: transparent;
}

.pageAbout-lead {
	padding: 107px 0 110px;
}

.pageAbout-lead-inner {
	max-width: 1207px;
}

.pageLow-txt {
	font-size: 24px;
	font-weight: bold;
	letter-spacing: 0.12em;
	line-height: 2;
}

.pageAbout-txt {
	margin-bottom: 48px;
}

.pageAbout-txt:last-of-type {
	margin-bottom: 0;
}

.philosophy {
	background: rgba(233, 235, 242, 0.64);
	overflow: hidden;
	padding: 80px 0;
	position: relative;
}

.philosophy .sec-title {
	position: absolute;
	top: 204px;
}

.philosophy .anime-deco-wrapper .anime-deco img {
	filter: grayscale(100);
	opacity: 0.05;
}

.philosophy .anime-deco-wrapper .anime-deco.deco02 {
	left: -28.5%;
	top: 67.3%;
}

.philosophy .anime-deco-wrapper .anime-deco.deco04 {
	left: 32.5%;
	top: 35.1%;
}

.philosophy .anime-deco-wrapper .anime-deco.deco05 {
	left: 48.1%;
	top: 77.6%;
}

.philosophy .anime-deco-wrapper .anime-deco.deco06 {
	top: 43.7%;
}

.philosophy-bg {
	left: 50%;
	position: absolute;
	top: 50%;
	translate: -50% -50%;
	width: 100%;
}

.philosophy-bg svg {
	filter: grayscale(100);
	opacity: 0.05;
}

.philosophy-bg .cls-1 {
	stroke: #00378b;
}

.philosophy-bg .cls-2 {
	stroke: #ff6000;
}

.philosophy-bg .cls-3 {
	stroke: #00378b;
}

.philosophy-inner {
	max-width: 1207px;
}

.philosophy-img {
	margin-inline: auto;
	max-width: 844px;
	position: relative;
	z-index: 20;
}

.company {
	padding: 120px 0;
}

.company-items {
	display: grid;
	gap: 24px 0;
	grid-template-columns: 1fr;
	margin-top: 40px;
}

.company-item {
	background: #e9ebf2;
	border-radius: 8px;
	display: grid;
	grid-template-columns: 94px 1fr;
	min-height: 64px;
	padding: 19px 40px;
}

.company-item dt,
.company-item dd {
	font-size: 16px;
	letter-spacing: 0.12em;
	line-height: 1.6;
}

.company-item dt {
	font-weight: bold;
}

.history {
	background: #00378b;
	padding: 120px 0;
}

.history-inner {
	max-width: 1207px;
}

.history-items {
	display: grid;
	gap: 25px 0;
	grid-template-columns: 1fr;
	margin-top: 40px;
}

.history-item {
	color: #fff;
	font-size: 24px;
	font-weight: bold;
	letter-spacing: 0.12em;
}

.history-sub-item {
	border-bottom: 1px solid #fff;
	display: flex;
	gap: 0 17px;
	min-height: 63px;
	padding: 18px 0;
}

.history-sub-item dt,
.history-sub-item dd {
	font-size: 16px;
	line-height: 1.6;
}

.history-sub-item dt {
	white-space: nowrap;
}

.history-sub-item dd {
	font-weight: normal;
}

.office {
	padding: 112px 0 0;
}

.office .sec-title {
	display: block;
	margin-inline: auto;
	width: -moz-fit-content;
	width: fit-content;
}

.office .sec-title .title-en {
	font-size: 48px;
	margin-top: initial;
}

.office .sec-title .title-jp {
	font-size: 24px;
	font-weight: bold;
	letter-spacing: 0.02em;
	margin-top: 12px;
}

.office .sec-title .title-jp::before {
	display: none;
}

.office-slider {
	margin-top: 38px;
}

.office-slider .swiper-wrapper {
	transition-timing-function: linear;
}

.office-slider .swiper-slide {
	margin: 0 10px;
	width: 499px;
}

.access {
	padding: 80px 0 120px;
	position: relative;
}

.access-bg {
	left: 50%;
	overflow: hidden;
	position: absolute;
	top: 50%;
	translate: -50% -50%;
	width: 100%;
}

.access-bg svg {
	rotate: -19deg;
}

.access-bg .cls-2 {
	stroke: #00378b;
	opacity: 0.1;
}

.access-bg .cls-3 {
	stroke: #00378b;
	opacity: 0.1;
}

.access-content {
	align-items: center;
	display: grid;
	gap: 0 31px;
	grid-template-columns: 375px 1fr;
}

.access-txt-wrapper {
	display: grid;
	gap: 6px 0;
	grid-template-columns: 1fr;
	margin-top: 40px;
}

.access-txt {
	font-size: 16px;
	letter-spacing: 0.12em;
	line-height: 1.6;
}

.access-map {
	padding-top: 55.9722222222%;
	position: relative;
	width: 100%;
}

.access-map iframe {
	border: none;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.rokkasha {
	background: #e9ebf2;
	padding: 80px 0;
	position: relative;
}

.rokkasha-content {
	align-items: center;
	display: grid;
	gap: 0 95px;
	grid-template-columns: 195px 1fr;
	justify-content: space-between;
}

.rokkasha-img {
	margin: 31px auto 0;
	width: 96px;
}

.rokkasha-items {
	align-items: baseline;
	display: flex;
	gap: 0 30px;
	justify-content: center;
}

.rokkasha-item.blue .rokkasha-item-link {
	background: #00378b;
}

.rokkasha-item.orange .rokkasha-item-link {
	background: #ff6000;
}

.rokkasha-item:nth-of-type(1) .rokkasha-item-link {
	transform: rotate(-1deg);
}

.rokkasha-item:nth-of-type(2) .rokkasha-item-link {
	height: 387px;
	margin-bottom: 3px;
	transform: rotate(-3deg);
	width: 170px;
}

.rokkasha-item:nth-of-type(3) .rokkasha-item-link {
	transform: rotate(-1deg);
	width: 192px;
}

.rokkasha-item-link {
	align-items: center;
	border-radius: 8px;
	color: #fff;
	display: flex;
	font-size: 24px;
	font-weight: 500;
	height: 403px;
	letter-spacing: 0.05em;
	padding: 20px 37px;
	position: relative;
	writing-mode: vertical-rl;
}

.rokkasha-item-link::after {
	background: url(../img/arrow_circle_white_diagonal.svg) no-repeat center center/cover;
	bottom: 24px;
	content: "";
	height: 48px;
	left: 50%;
	position: absolute;
	translate: -50% 0;
	width: 48px;
}

/*=======================
下層 / お問い合わせ
=======================*/

.contact-content-wrapper {
	background: #e9ebf2;
}

.pageContact-btn {
	margin-top: 64px;
}

.contact-content {
	background: #fff;
	margin-left: auto;
	max-width: 720px;
	padding: 64px 40px 79px;
	width: 100%;
}

.contact-step {
	align-items: center;
	display: flex;
	justify-content: space-between;
	position: relative;
}

.contact-step::before {
	background: #ccc;
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	top: 50%;
	translate: 0 -50%;
	width: 100%;
}

.contact-step-num {
	background: #ccc;
	border-radius: 50%;
	color: #fff;
	display: grid;
	font-size: 16px;
	font-weight: bold;
	height: 25px;
	padding-bottom: 3px;
	place-content: center;
	position: relative;
	width: 25px;
}

.contact-step-num.current {
	background: #111;
}

.contact-form {
	margin-top: 39px;
}

.contact-form dl {
	margin-bottom: 30px;
}

.contact-form dl:last-of-type {
	margin-bottom: 0;
}

.contact-form dl dt {
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 0.12em;
}

.contact-form dl dd {
	margin-top: 13px;
	word-break: break-all;
}

.contact-form dl .required {
	color: #00378b;
	font-size: 12px;
	margin-left: -1px;
}

.contact-form dl input,
.contact-form dl textarea {
	border: 1px solid #111;
	border-radius: 8px;
	font-size: 16px;
	letter-spacing: 0.12em;
	line-height: 1.2;
	padding: 10px;
	width: 100%;
}

.contact-form dl input {
	height: 41px;
}

.contact-form dl textarea {
	height: 120px;
}

.contact-form .btn-wrapper {
	margin-top: 44px;
}

.contact-form-txt {
	font-size: 12px;
	font-weight: bold;
	letter-spacing: 0.12em;
	line-height: 1.52;
	margin-top: 19px;
	text-align: center;
}

.contact-form-txt a {
	color: #111;
	text-decoration: underline;
}

.confirm-btn {
	background: #00378b;
}

.confirm-btn input {
	color: #fff;
}

.back-btn input {
	color: #00378b;
}

.confirm-btn,
.back-btn {
	margin-inline: auto;
	padding-left: initial;
	transition: all 0.3s ease;
}

.confirm-btn input,
.back-btn input {
	background: transparent;
	border: none;
	cursor: pointer;
	font-size: 12px;
	font-weight: bold;
	height: 100%;
	letter-spacing: 0.12em;
	padding: 0;
	padding-left: 24px;
	text-align: left;
	width: 100%;
}

.wpcf7-spinner {
	bottom: -34px;
	left: 50%;
	margin: 0;
	position: absolute;
	transform: translateX(-50%);
	z-index: 10;
}

.wpcf7 form .wpcf7-response-output {
	display: none;
}

.wpcf7-not-valid-tip {
	font-size: 12px;
	margin-top: 5px;
}

/*=======================
下層 / 確認ページ
=======================*/

.page-wrapper.pageConfirm dd {
	font-size: 16px;
	letter-spacing: 0.12em;
	line-height: 1.2;
}

.page-wrapper.pageConfirm .text-multi dd {
	white-space: pre-wrap;
}

.page-wrapper.pageConfirm .btn-wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	justify-content: center;
}

.page-wrapper.pageConfirm .btn-wrapper .btn {
	margin-inline: initial;
}

/*=======================
下層 / サンクスページ
=======================*/

.thanks-txt {
	font-size: 16px;
	letter-spacing: 0.12em;
	line-height: 1.5;
	text-align: center;
}

.thanks-btn {
	display: none;
}

/*=======================
下層 / RECRUIT
=======================*/

.pageRecruit .page-head {
	background: url(../img/recruit_fv_bg_pc.png) no-repeat center center/cover;
}

.pageRecruit .page-head .breadcrumb {
	margin-top: auto;
}

.pageLow-fv-slider {
	margin-inline: calc(50% - 50vw);
	margin-top: 125px;
	width: 100vw;
}

.pageLow-fv-slider .swiper-wrapper {
	transition-timing-function: linear;
}

.pageLow-fv-slider .swiper-slide {
	margin: 0 20px;
	width: 455px;
}

.page-head-lead {
	font-size: 24px;
	font-weight: bold;
	letter-spacing: 0.12em;
	line-height: 2;
	margin-top: 24px;
}

.pageRecruit-btn-wrapper {
	display: grid;
	gap: 0 16px;
	grid-template-columns: 1fr 1fr;
	position: fixed;
	right: 104px;
	top: 30px;
	z-index: 25;
}

.pageRecruit-btn {
	background: #fff;
	border-color: #ff6000;
	color: #ff6000;
	font-size: 14px;
	height: 48px;
	padding-left: 15px;
	width: 187px;
}

.pageRecruit-btn::after {
	background: url(../img/arrow_circle_orange01_diagonal.svg) no-repeat center center/cover;
	height: 32px;
	width: 32px;
}

.pageRecruit-btn.orange {
	background: #ff6000;
	color: #fff;
}

.pageRecruit-btn.orange::after {
	background-image: url(../img/arrow_circle_orange02_diagonal.svg);
}

.pageRecruit-txt-wrapper {
	padding: 67px 0 69px;
}

.pageRecruit-entry-btn {
	display: block;
	height: -moz-fit-content;
	height: fit-content;
	margin-top: 20px;
	width: 200px;
}

.pageRecruit-entry-btn.is-sp {
	display: none;
}

.pageRecruit-job {
	background: #e9ebf2;
	padding: 77px 0 80px;
}

.pageRecruit-title {
	color: #00378b;
	font-size: 32px;
	font-weight: bold;
	letter-spacing: 0.12em;
	text-align: center;
}

.pageRecruit-title.white {
	color: #fff;
}

.pageRecruit-job-items {
	display: grid;
	gap: 0 42px;
	grid-template-columns: 1fr 1fr;
	margin-top: 34px;
}

.pageRecruit-job-items.col3 {
	gap: 0 25px;
	grid-template-columns: 1fr 1fr 1fr;
}

.pageRecruit-job-item {
	background: #fff;
	border: 1px solid #00378b;
	border-radius: 24px;
	color: #00378b;
	display: grid;
	grid-row: span 3;
	grid-template-rows: subgrid;
	padding: 38px 32px 37px;
}

.pageRecruit-job-item-title {
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0.12em;
	padding-left: 22px;
	position: relative;
}

.pageRecruit-job-item-title::before {
	background: #00378b;
	border-radius: 50%;
	content: "";
	height: 16px;
	left: 0;
	position: absolute;
	top: 50%;
	translate: 0 -50%;
	width: 16px;
}

.pageRecruit-job-item-top {
	border-bottom: 1px solid #00378b;
	padding: 19px 0 24px;
}

.pageRecruit-job-item-bottom {
	padding-top: 21px;
}

.pageRecruit-job-item-txt {
	font-size: 16px;
	letter-spacing: 0.12em;
	line-height: 1.4;
}

.pageRecruit-job-item-sample {
	font-weight: bold;
	margin-bottom: 8px;
}

.pageRecruit-job-btn {
	margin: 48px auto 0;
	width: 266px;
}

.pageRecruit-about {
	background: #00378b;
	overflow: hidden;
	padding: 97px 0 80px;
	position: relative;
}

.pageRecruit-about .anime-deco-wrapper .anime-deco.deco02 {
	left: -23.5%;
	top: 76.3%;
}

.pageRecruit-about .anime-deco-wrapper .anime-deco.deco03 {
	left: 10.9%;
	top: 68.6%;
}

.pageRecruit-about .anime-deco-wrapper .anime-deco.deco04 {
	left: 34.5%;
	top: 52.1%;
}

.pageRecruit-about .anime-deco-wrapper .anime-deco.deco05 {
	left: 50.1%;
}

.pageRecruit-about .anime-deco-wrapper .anime-deco.deco06 {
	left: 91.9%;
	top: 57.7%;
}

.pageRecruit-about .anime-deco-wrapper .anime-deco img {
	filter: grayscale(100);
	opacity: 0.2;
}

.pageRecruit-about-bg {
	height: 100%;
	left: 50%;
	position: absolute;
	top: 55%;
	translate: -50% -50%;
	width: 100%;
}

.pageRecruit-about-bg img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.pageRecruit-about-bg svg {
	filter: grayscale(100);
	opacity: 0.2;
}

.pageRecruit-about-bg .cls-2 {
	stroke: #fff;
}

.pageRecruit-about-bg .cls-3 {
	stroke: #e9ebf2;
}

.pageRecruit-about-items {
	margin-top: 48px;
}

.pageRecruit-about-item {
	margin-bottom: 64px;
}

.pageRecruit-about-item:last-of-type {
	margin-bottom: 0;
}

.pageRecruit-sub-title {
	align-items: center;
	background: #fff;
	color: #00378b;
	display: flex;
	font-size: 24px;
	font-weight: bold;
	height: 40px;
	letter-spacing: 0.05em;
	margin-inline: auto;
	padding: 0 6px;
	width: -moz-fit-content;
	width: fit-content;
}

.pageRecruit-sub-title.blue {
	background: #00378b;
	color: #fff;
}

.pageRecruit-lead {
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.6;
	margin-top: 20px;
	text-align: center;
}

.pageRecruit-lead.blue {
	color: #00378b;
}

.pageRecruit-about-slider-wrapper {
	margin-top: 36px;
	position: relative;
}

.pageRecruit-about-slider-wrapper .swiper-button-wrapper {
	display: flex;
	gap: 0 20px;
	justify-content: center;
	margin-top: 20px;
}

.pageRecruit-about-slider-wrapper .swiper-button-prev,
.pageRecruit-about-slider-wrapper .swiper-button-next {
	background: url(../img/arrow_circle_black_right.svg) no-repeat center center/cover;
	border-radius: 50%;
	height: 48px;
	margin-top: initial;
	position: static;
	top: initial;
	width: 48px;
}

.pageRecruit-about-slider-wrapper .swiper-button-prev::after,
.pageRecruit-about-slider-wrapper .swiper-button-next::after {
	display: none;
}

.pageRecruit-about-slider-wrapper .swiper-button-prev {
	left: initial;
	rotate: 180deg;
}

.pageRecruit-about-slider-wrapper .swiper-button-next {
	right: initial;
}

.pageRecruit-about-slider {
	z-index: 20;
}

.pageRecruit-about-slider .swiper-slide {
	background: #fff;
	height: 351px;
	margin: 0 18px;
	width: calc((100% - 72px) / 3);
}

.pageRecruit-col-items {
	margin-top: 34px;
	z-index: 20;
}

.pageRecruit-col-items .swiper-wrapper {
	display: flex;
	gap: 0 36px;
}

.pageRecruit-col-items .swiper-slide {
	width: calc((100% - 72px) / 3);
}

.pageRecruit-col-items .swiper-button-wrapper {
	display: flex;
	justify-content: center;
}

.pageRecruit-col-items .swiper-button-prev,
.pageRecruit-col-items .swiper-button-next {
	background: url(../img/arrow_circle_black_right.svg) no-repeat center center/cover;
	border-radius: 50%;
	display: none;
	height: 48px;
	margin-top: initial;
	position: static;
	top: initial;
	width: 48px;
}

.pageRecruit-col-items .swiper-button-prev::after,
.pageRecruit-col-items .swiper-button-next::after {
	display: none;
}

.pageRecruit-col-items .swiper-button-prev {
	left: initial;
	rotate: 180deg;
}

.pageRecruit-col-items .swiper-button-next {
	right: initial;
}

.pageRecruit-col-item-head {
	background: #fff;
	height: 234px;
	width: 100%;
}

.pageRecruit-col-item-body {
	color: #fff;
}

.pageRecruit-col-item-title {
	font-size: 24px;
	font-weight: bold;
	letter-spacing: 0.05em;
	padding-top: 23px;
	position: relative;
	text-align: center;
}

.pageRecruit-col-item-title::after {
	background: #fff;
	bottom: -17px;
	content: "";
	height: 1px;
	left: 50%;
	position: absolute;
	translate: -50% 0;
	width: 32px;
}

.pageRecruit-col-item-txt {
	font-size: 14px;
	letter-spacing: 0.12em;
	line-height: 1.6;
	margin-top: 27px;
}

.pageRecruit-about-btn {
	margin: 48px auto 0;
}

.pageRecruit-interview {
	overflow: hidden;
	padding: 80px 0 120px;
}

.pageRecruit-interview-slider {
	margin-inline: calc(50% - 50vw);
	margin-top: 43px;
	width: 100vw;
}

.pageRecruit-interview-slider .swiper-wrapper {
	transition-timing-function: linear;
}

.pageRecruit-interview-slider .swiper-slide {
	margin: 0 20px;
	width: 455px;
}

.pageRecruit-interview-btn {
	margin: 48px auto 0;
	width: 298px;
}

.pageRecruit-flow {
	background: #e9ebf2;
	padding: 80px 0;
}

.pageRecruit-flow.white {
	background: #fff;
}

.pageRecruit-flow.pb0 {
	padding-bottom: 0;
}

.pageRecruit-flow-content {
	margin-bottom: 64px;
}

.pageRecruit-flow-content:last-of-type {
	margin-bottom: 0;
}

.pageRecruit-flow-items {
	display: grid;
	gap: 0 20px;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	margin-top: 34px;
}

.pageRecruit-flow-item {
	background: #00378b;
	clip-path: polygon(73% 0, 100% 50%, 73% 100%, 0 100%, 0 0);
	display: grid;
	height: 152px;
	padding-right: 22px;
	padding-top: 18px;
	place-content: center;
}

.pageRecruit-flow-item-txt {
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.025em;
	position: relative;
}

.pageRecruit-flow-item-txt::before {
	background: #fff;
	border-radius: 50%;
	content: "";
	height: 20px;
	left: 50%;
	position: absolute;
	top: -30px;
	translate: -50% 0;
	width: 20px;
}

.pageRecruit-faq {
	padding: 80px 0 135px;
}

.pageRecruit-faq-content {
	margin-bottom: 32px;
	margin-top: 33px;
}

.pageRecruit-faq-content:last-of-type {
	margin-bottom: 0;
	margin-top: 0;
}

.pageRecruit-faq-content-title {
	color: #00378b;
	display: block;
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0.12em;
	margin-inline: auto;
	padding-left: 24px;
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
}

.pageRecruit-faq-content-title::before {
	background: #00378b;
	border-radius: 50%;
	content: "";
	height: 16px;
	left: 0;
	position: absolute;
	top: 50%;
	translate: 0 -50%;
	width: 16px;
}

.pageRecruit-faq-items {
	display: grid;
	gap: 32px 0;
	grid-template-columns: 1fr;
	margin: 24px auto 0;
}

.pageRecruit-faq-item-question {
	align-items: center;
	background: #e9ebf2;
	border-radius: 8px;
	cursor: pointer;
	display: grid;
	gap: 0 40px;
	grid-template-columns: 1fr 40px;
	min-height: 64px;
	padding: 0 38px 0 15px;
}

.pageRecruit-faq-item-question::-webkit-details-marker {
	display: none;
}

.pageRecruit-faq-item-title,
.pageRecruit-faq-item-answer-container {
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 0.12em;
	line-height: 1.6;
}

.pageRecruit-faq-item-btn {
	background: #fff;
	border-radius: 50%;
	height: 40px;
	position: relative;
	width: 40px;
}

.pageRecruit-faq-item-btn .btn-bar {
	background: #00378b;
	height: 1px;
	left: 50%;
	position: absolute;
	top: 50%;
	transition: all 0.3s ease;
	translate: -50% -50%;
	width: 20px;
}

.pageRecruit-faq-item-btn .btn-bar.bar01 {
	rotate: 90deg;
}

details[open] .pageRecruit-faq-item-btn .btn-bar.bar01 {
	rotate: 180deg;
}

.pageRecruit-faq-item-answer {
	overflow: hidden;
}

.pageRecruit-faq-item-answer-container {
	margin-top: 15px;
	padding: 0 18px;
}

/*=======================
下層 / CREATORS
=======================*/

.pageCreators .pageRecruit-about {
	padding: 78px 0 97px;
}

.pageCreators .pageRecruit-about .pageRecruit-about-items {
	margin-top: 34px;
}

.pageCreators .pageRecruit-interview {
	padding-bottom: 81px;
}

.submissions {
	background: #ff6000;
	overflow: hidden;
	padding: 64px 0;
	position: relative;
}

.submissions .pageRecruit-title {
	color: #fff;
	text-align: left;
}

.submissions .pageRecruit-lead {
	color: #fff;
	text-align: left;
}

.submissions .anime-deco-wrapper .anime-deco.deco04 {
	left: 34.5%;
	top: 65.1%;
}

.submissions .anime-deco-wrapper .anime-deco.deco06 {
	left: 91.9%;
	top: 57.7%;
}

.submissions .anime-deco-wrapper .anime-deco img {
	filter: grayscale(100);
	opacity: 0.2;
}

.submissions-bg {
	height: 100%;
	left: 43%;
	position: absolute;
	top: 50%;
	translate: -50% -50%;
	width: 100%;
}

.submissions-bg img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.submissions-bg svg {
	filter: grayscale(100);
	opacity: 0.2;
}

.submissions-bg .cls-2 {
	stroke: #fff;
}

.submissions-bg .cls-3 {
	stroke: #e9ebf2;
}

.submissions-content {
	background: url(../img/submissions_pc.png) no-repeat center center/cover;
	padding: 61px 48px;
	position: relative;
}

.submissions-content-container {
	align-items: center;
	display: flex;
	gap: 0 48px;
	justify-content: space-between;
	margin-top: 20px;
}

.submissions-content-container .pageRecruit-lead {
	margin-top: initial;
}

/*=======================
下層 / JOB
=======================*/

.page-wrapper.pageLow.pageJob .page-head {
	background: url(../img/job_fv_pc.png) no-repeat center center/cover;
}

.page-wrapper.pageLow.pageJob .page-title {
	margin-left: initial;
	margin-top: 0;
}

.page-wrapper.pageLow.pageJob .single-content-wrapper {
	padding: 0;
}

.page-wrapper.pageLow.pageJob .single-content-wrapper::before {
	bottom: initial;
	top: min(30%, 480px);
}

.page-wrapper.pageLow.pageJob .singleJob-entry-btn {
	display: block;
	width: 200px;
}

.page-title-lead {
	color: #00378b;
	font-size: 16px;
	letter-spacing: 0.1em;
	margin-top: auto;
}

.singleJob-btn-items {
	margin-bottom: 69px;
	margin-top: 69px;
}

.singleJob-btn-items .singleJob-entry-btn {
	margin-top: 40px;
}

.singleJob-btn {
	height: 48px;
	justify-content: center;
	margin-bottom: 24px;
	padding: 0;
}

.singleJob-btn.is-active {
	background: #00378b;
	color: #fff;
}

.singleJob-btn:last-of-type {
	margin-bottom: 0;
}

.singleJob-btn::after {
	display: none;
}

.singleJob-content-wrapper {
	background: #fff;
	margin-left: auto;
	max-width: 720px;
	padding: 45px 47px 80px 46px;
	width: 100%;
}

.singleJob-content {
	display: none;
}

.singleJob-content.is-show {
	display: block;
}

.singleJob-content .singleJob-entry-btn {
	margin: 47px auto 0;
}

.singleJob-content-title {
	background: #00378b;
	color: #fff;
	display: grid;
	font-size: 24px;
	font-weight: bold;
	height: 35px;
	letter-spacing: 0.12em;
	margin-bottom: 13px;
	padding: 0 12px;
	place-content: center;
	width: -moz-fit-content;
	width: fit-content;
}

.singleJob-content-txt {
	font-size: 14px;
	letter-spacing: 0.12em;
	line-height: 1.4;
}

.singleJob-content-items {
	display: grid;
	gap: 31px 0;
	grid-template-columns: 1fr;
	margin-top: 34px;
}

.singleJob-content-item dt {
	color: #00378b;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 0.05em;
	margin-bottom: 14px;
	padding-left: 24px;
	position: relative;
}

.singleJob-content-item dt::before {
	background: #00378b;
	border-radius: 50%;
	content: "";
	height: 16px;
	left: 0;
	position: absolute;
	top: 50%;
	translate: 0 -50%;
	width: 16px;
}

.singleJob-content-box {
	border: 1px solid #00378b;
	border-radius: 16px;
	color: #00378b;
	font-size: 14px;
	font-weight: bold;
	letter-spacing: 0.12em;
	line-height: 2;
	padding: 23px 16px;
}

@media (hover: hover) and (pointer: fine) {

a:hover {
	opacity: 0.7;
}

.breadcrumb-items a:hover {
	opacity: 0.7;
}

.wp-pagenavi .page:hover {
	border-color: #fff;
}

.service-swiper .swiper-slide:hover {
	opacity: 0.7;
}

.confirm-btn:hover,
.back-btn:hover {
	opacity: 0.7;
}

}

@media (-ms-high-contrast: none), (-ms-high-contrast: active) {

a:hover {
	opacity: 0.7;
}

.breadcrumb-items a:hover {
	opacity: 0.7;
}

.wp-pagenavi .page:hover {
	border-color: #fff;
}

.service-swiper .swiper-slide:hover {
	opacity: 0.7;
}

.confirm-btn:hover,
.back-btn:hover {
	opacity: 0.7;
}

}

@media screen and (min-width:768px) {

html { /* 1rem = 10px設定*/ /* 10px / カンプ幅(ex.1366px) × 100% = 0.515463vw*/
	font-size: 0.7320644217vw;
}

.news-item:first-of-type {
	height: 71px;
}

.pageRecruit-txt-wrapper .inner {
	display: flex;
	gap: 0 30px;
	justify-content: space-between;
}

}

@media not screen and (min-width:768px) {

html { /* 1rem = 10px設定*/ /* 10px / 375 * 100% */
	font-size: 2.6666666667vw;
}

body.is-fixed::after {
	display: none;
}

.body-container {
	overflow: hidden;
}

.inner {
	margin-inline: auto;
	max-width: initial;
	width: 33.5rem;
}

.sec-title .title-jp {
	font-size: 1.2rem;
	margin-left: 0;
	padding-left: 1.4rem;
}

.sec-title .title-jp::before {
	height: 0.8rem;
	width: 0.8rem;
}

.sec-title .title-en {
	font-size: 2.4rem;
	margin-left: -0.2rem;
	margin-top: 1.1rem;
}

.btn {
	border-radius: 3.2rem;
	border-width: 0.1rem;
	font-size: 1.6rem;
	height: 6.4rem;
	padding-left: 2.4rem;
	width: 24rem;
}

.btn.fz12 {
	font-size: 1.2rem;
}

.btn::after {
	height: 4.8rem;
	right: 0.8rem;
	width: 4.8rem;
}

br.is-pc {
	display: none;
}

br.is-sp {
	display: inline;
}

span.is-pc {
	display: none;
}

span.is-sp {
	display: inline;
}

.nav-items {
	gap: 3.6rem;
}

.nav-item-link {
	font-size: 2rem;
	padding-left: 2.5rem;
}

.nav-item-link::before {
	height: 1.6rem;
	width: 1.6rem;
}

.nav-item-link::after {
	height: 3.2rem;
	right: -4.2rem;
	width: 3.2rem;
}

.nav-sub-items {
	gap: 2rem 1.6rem;
	margin-top: 2.9rem;
}

.nav-img-items {
	gap: 1.6rem 1.5rem;
}

.nav-img-items .nav-sub-item {
	width: 16rem;
}

.nav-sub-item-link {
	font-size: 1.6rem;
}

.footer-btn {
	grid-column: 1/2;
	margin-left: initial;
	margin-top: 4.8rem;
}

.link-items {
	gap: 2rem;
	grid-column: 1/2;
	grid-row: 3/4;
	margin-top: 3.9rem;
}

.link-item-link {
	font-size: 1.2rem;
}

.page-wrapper.pageLow .page-head {
	height: 66.7rem;
}

.page-wrapper.pageLow .page-title {
	font-size: 6.4rem;
	margin-left: -0.5rem;
}

.page-wrapper.pageLow .page-head-deco.deco01 {
	left: 13.1%;
	top: 19.2%;
	width: 8.5rem;
}

.page-wrapper.pageLow .page-head-deco.deco02 {
	left: 30.3%;
	top: 43.3%;
	width: 6.7rem;
}

.page-wrapper.pageLow .page-head-deco.deco03 {
	left: 44.7%;
	top: -0.5%;
	width: 9.6rem;
}

.page-wrapper.pageLow .page-head-deco.deco04 {
	left: 74.8%;
	rotate: 15deg;
	top: 20.2%;
	width: 13rem;
}

.page-wrapper.pageLow .page-head-deco.deco05 {
	left: 55.9%;
	top: 38.7%;
	width: 13rem;
}

.page-wrapper.pageLow .page-head-deco.deco06 {
	left: 74.2%;
	top: 62.9%;
	width: 18rem;
}

.page-wrapper.pageLow .page-head-deco.deco07 {
	display: none;
}

.page-wrapper.pageLow .page-head-deco.deco08 {
	left: -5.3%;
	rotate: -13deg;
	top: 58.7%;
	width: 9.3rem;
}

.breadcrumb {
	margin-bottom: 4.6rem;
	margin-top: 2.6rem;
}

.breadcrumb-items {
	gap: 0 1rem;
}

.breadcrumb-items a,
.breadcrumb-items span {
	font-size: 1.2rem;
}

.breadcrumb-items span::before {
	font-size: 1.2rem;
	right: -0.9rem;
}

.wp-pagenavi {
	gap: 0 1.6rem;
	margin-top: 4rem;
}

.wp-pagenavi .page,
.wp-pagenavi .current {
	border-width: 0.1rem;
	font-size: 2rem;
	height: 4.8rem;
	width: 4.8rem;
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
	height: 4.8rem;
	width: 4.8rem;
}

.wp-pagenavi .previouspostslink::before,
.wp-pagenavi .nextpostslink::before {
	height: 1.3rem;
	width: 1.4rem;
}

.header {
	align-items: center;
	border-bottom: 0.1rem solid #00378b;
	border-left: none;
	display: flex;
	height: 4.8rem;
	width: 100%;
}

.drawer-icon {
	margin-left: auto;
	margin-right: 1.6rem;
	width: -moz-fit-content;
	width: fit-content;
}

.drawer-icon::before {
	font-size: 1.4rem;
	left: -3rem;
	top: 50%;
	translate: 0 -50%;
	writing-mode: initial;
}

.drawer-bars {
	height: 1.2rem;
	width: 2rem;
}

.drawer-bar {
	height: 0.1rem;
	width: 2rem;
}

.drawer {
	padding-left: 0;
	padding-right: 0;
	padding-top: 8.3rem;
}

.drawer .anime-deco-wrapper .anime-deco.deco02 {
	left: -81.8%;
	top: 96.8%;
}

.drawer .anime-deco-wrapper .anime-deco.deco03 {
	left: -8.5%;
	top: 93.1%;
	width: 13rem;
}

.drawer .anime-deco-wrapper .anime-deco.deco04 {
	left: 29%;
	top: 73.6%;
	width: 4.4rem;
}

.drawer .anime-deco-wrapper .anime-deco.deco05 {
	display: block;
	left: 57.1%;
	top: 107.6%;
	width: 2.4rem;
}

.drawer .anime-deco-wrapper .anime-deco.deco06 {
	display: none;
}

.drawer-bg {
	height: initial;
	top: 35%;
}

.drawer-bg img {
	height: auto;
}

.drawer-bg .cls-1 {
	stroke: #fff;
}

.drawer-bg .cls-2 {
	stroke: #e9ebf2;
}

.drawer-inner {
	width: 31.5rem;
}

.drawer-copyright {
	height: -moz-max-content;
	height: max-content;
}

.drawer-nav-items {
	gap: 2.6rem;
	height: initial;
}

.drawer-nav-item {
	margin-left: initial;
	width: 100%;
}

.drawer-nav-item-link {
	font-size: 1.6rem;
	padding-left: 1.6rem;
}

.drawer-nav-item-link::before {
	height: 1.2rem;
	width: 1.2rem;
}

.drawer-nav-item-link::after {
	height: 2.4rem;
	right: -2.9rem;
	width: 2.4rem;
}

.drawer-nav-sub-items {
	gap: 1.1rem 1.6rem;
	margin-top: 1.5rem;
	width: 25rem;
}

.drawer-nav-sub-item-link {
	font-size: 1.2rem;
}

.drawer-nav-img-items {
	gap: 0.8rem 0.9rem;
	margin-top: 1.7rem;
	width: 100%;
}

.drawer-nav-img-items .nav-sub-item {
	width: 15.1rem;
}

.drawer-news {
	-webkit-overflow-scrolling: touch;
	margin-right: calc(50% - 50vw);
	overflow-x: auto;
	overflow-y: hidden;
	padding-right: 3rem;
}

.drawer-news-items {
	grid-template-columns: 1fr 1fr 1fr;
}

.drawer-news-items {
	gap: 0 0.8rem;
	margin-top: 1.9rem;
	padding-bottom: 0.5rem;
	width: -moz-max-content;
	width: max-content;
}

.drawer-news-item {
	width: 16rem;
}

.drawer-news-item-link {
	font-size: 1.2rem;
	gap: 1rem 0;
	grid-template-columns: 1fr;
}

.drawer-news-item-img {
	height: 10.7rem;
	width: 16rem;
}

.drawer-news-item-title {
	margin-top: 0.4rem;
}

.drawer-bottom {
	display: block;
	margin-top: 4.5rem;
	padding-bottom: 3.1rem;
}

.drawer-btn {
	width: 100%;
}

.drawer-link-items {
	justify-content: right;
	margin-top: 5.5rem;
}

.logo {
	left: 1.5rem;
	top: 1.6rem;
	width: 11.6rem;
}

.fv-bg .cls-1 {
	stroke: #ff6000;
}

.fv-bg .cls-2 {
	stroke: #00378b;
}

.fv-bg-line {
	left: 50%;
	top: 42%;
}

.bg-anime.is-pc {
	display: none;
}

.bg-anime.is-sp {
	display: block;
}

.bg-anime .cls-1,
.bg-anime .cls-2 {
	fill: none;
	stroke-miterlimit: 10;
	stroke-linecap: round;
}

.bg-anime .cls-1 {
	stroke-width: 11rem;
	stroke-dasharray: 3000;
	stroke-dashoffset: 3000;
}

.bg-anime .cls-2 {
	stroke-width: 11rem;
	stroke-dasharray: 4000;
	stroke-dashoffset: 4000;
}

.anime-deco.deco01 {
	left: 23.3%;
	top: 40.8%;
	width: 5.1rem;
}

.anime-deco.deco02 {
	left: -56.8%;
	top: 80.8%;
	width: 35.8rem;
}

.anime-deco.deco03 {
	left: -1.5%;
	top: 64.1%;
	width: 20rem;
}

.anime-deco.deco04 {
	left: 29%;
	top: 17.6%;
	width: 8.4rem;
}

.anime-deco.deco05 {
	display: none;
}

.anime-deco.deco06 {
	left: 83.8%;
	top: 73.7%;
	width: 8.1rem;
}

.fv-txt {
	font-size: 2.4rem;
	gap: 1.8rem 0;
	left: 49.8%;
}

.fv-txt-line {
	padding: 0.4rem 0.3rem;
}

.copyright {
	font-size: 1rem;
	left: 1.1rem;
}

.fv-news {
	bottom: 0;
	gap: 0 1rem;
	grid-template-columns: 3.7rem 1fr;
	height: 5.6rem;
	padding: 0 1.7rem;
}

.fv-news-title {
	font-size: 1.2rem;
}

.fv-news-link-txt {
	font-size: 1.2rem;
}

.fv-news-link-icon {
	height: 3.2rem;
	width: 3.2rem;
}

.message {
	padding: 7.1rem 0 8rem;
}

.message-inner {
	width: 31rem;
}

.message-content {
	grid-template-columns: 1fr;
}

.message-img-items {
	height: 24rem;
}

.message-img-item:nth-of-type(2) {
	top: 55.9%;
	width: 36.5%;
}

.message-img-item:nth-of-type(3) {
	top: 54%;
	width: 38.4%;
}

.message-info {
	padding-top: 4.8rem;
}

.message-txt {
	font-size: 1.4rem;
	line-height: 1.6;
	margin: 1.6rem 0 3.6rem;
}

.message-btn {
	margin-inline: auto;
}

.news {
	border-radius: 3.2rem 3.2rem 0 0;
	padding: 4.5rem 0 4.7rem;
}

.news .anime-deco-wrapper .anime-deco.deco01 {
	left: -9.7%;
	top: -10%;
	width: 10.7rem;
}

.news .anime-deco-wrapper .anime-deco.deco01 img {
	rotate: 53deg;
}

.news .anime-deco-wrapper .anime-deco.deco02 {
	left: -11.5%;
	top: 86.3%;
	width: 13.5rem;
}

.news .anime-deco-wrapper .anime-deco.deco03 {
	display: none;
}

.news .no-news {
	margin-top: 4rem;
}

.news-bg {
	left: initial;
	top: -30%;
	translate: initial;
}

.news-bg .cls-2 {
	stroke: #ffffff;
	opacity: 0.06;
}

.news-bg svg {
	transform: initial;
}

.news-items {
	margin-top: 0.4rem;
}

.news-item {
	border-width: 0.1rem;
	height: 8.4rem;
}

.no-news {
	font-size: 1.2rem;
}

.news-item-link {
	font-size: 1.2rem;
	grid-template-columns: 1fr 3.2rem;
	margin-top: 0.7rem;
	position: relative;
}

.news-item-date {
	position: absolute;
	top: -1rem;
}

.news-btn {
	margin-top: 4.1rem;
}

.service {
	background-image: url(../img/service_bg_sp.png);
	padding: 6.4rem 0;
}

.service-content {
	gap: 1.4rem 0;
	grid-template-columns: 1fr;
	margin-top: 2.2rem;
}

.service-banner {
	width: 16rem;
}

.service-txt {
	font-size: 1.4rem;
	letter-spacing: 0.08em;
}

.service-swiper {
	margin-top: 2.7rem;
}

.service-swiper .swiper-slide img {
	aspect-ratio: 0.7117437722;
}

.service-swiper .swiper-slide {
	height: 28.1rem;
	margin-right: 2.3rem;
	width: 20rem;
}

.service-swiper .swiper-button-wrapper {
	gap: 0 3rem;
	margin-top: 2rem;
}

.service-swiper .swiper-button-prev,
.service-swiper .swiper-button-next {
	height: 3.2rem;
	width: 3.2rem;
}

.modal {
	padding: 4rem 0;
}

.modal-bg {
	height: initial;
}

.modal-bg img {
	height: auto;
}

.modal-inner {
	width: 31.5rem;
}

.modal-body {
	gap: initial;
	grid-template-columns: minmax(0, 1fr);
	grid-template-rows: initial;
}

.modal-img {
	grid-row: 2/3;
	margin-top: 2.4rem;
}

.modal-img figcaption {
	margin-top: 1.6rem;
}

.modal-img figcaption span {
	font-size: 1.6rem;
	margin-bottom: 1.1rem;
}

.modal-title {
	font-size: 2.4rem;
	grid-column: 1/2;
	grid-row: 3/4;
	margin-bottom: 1.9rem;
	margin-top: 0.9rem;
}

.modal-tag-items {
	gap: 0.8rem;
	grid-column: 1/2;
	grid-row: 4/5;
}

.modal-tag-item {
	border-width: 0.1rem;
	font-size: 1.2rem;
	height: 3.7rem;
	min-width: 11.7rem;
	padding: 0 2rem;
}

.modal-txt {
	font-size: 1.4rem;
	grid-column: 1/2;
	grid-row: 5/6;
	margin-top: 2rem;
	text-align: justify;
}

.modal-close {
	grid-column: 1/2;
	height: 4rem;
	margin-left: auto;
	margin-right: -1rem;
	margin-top: 0;
	width: 4rem;
}

.label {
	padding: 6.3rem 0 7.3rem;
}

.label-content {
	gap: 2.2rem 0;
	grid-template-columns: 1fr;
	margin-left: 0;
}

.label-box {
	border-radius: 4rem 0 0 4rem;
	grid-template-columns: 1fr;
	padding: 4.9rem 0 16rem 2.2rem;
	position: relative;
}

.label-items {
	gap: 2.5rem 0;
}

.label-item {
	width: 30rem;
}

.label-item:nth-of-type(1) {
	margin-left: 0;
}

.label-item:nth-of-type(2) {
	margin-left: 1.3rem;
}

.label-bg-txt {
	bottom: -1.4rem;
	font-size: 6.4rem;
	line-height: 0.828125;
	position: absolute;
	right: -0.8rem;
	text-align: right;
}

.clients {
	padding: 6.5rem 0 6.4rem;
}

.clients-items {
	gap: 1.6rem 1.8rem;
	grid-template-columns: 1fr 1fr;
	margin-top: 2.3rem;
}

.clients-item:nth-of-type(2) .clients-item-link img {
	height: 60%;
}

.clients-item:nth-of-type(3) .clients-item-link img {
	height: 50%;
}

.clients-item-link {
	border-radius: 0.8rem;
	font-size: 1.4rem;
	height: 6.4rem;
}

.recruit {
	padding: 10.6rem 0 12rem;
}

.recruit-title {
	font-size: 7.2rem;
}

.recruit-btn {
	margin-top: 3.4rem;
}

.contact {
	padding: 6.3rem 0 6.4rem;
}

.contact .anime-deco-wrapper .anime-deco.deco01 {
	top: -12%;
	width: 13.4rem;
}

.contact .anime-deco-wrapper .anime-deco.deco02 {
	left: 78.5%;
	top: 44.3%;
	width: 12.3rem;
}

.contact .anime-deco-wrapper .anime-deco.deco03 {
	left: -20.6%;
	top: 73.6%;
	width: 24rem;
}

.contact-bg {
	top: 10%;
}

.contact-bg .cls-2 {
	stroke: #00378b;
	opacity: 0.1;
}

.contact-bg svg {
	transform: initial;
}

.contact-items {
	gap: 2.4rem;
	grid-template-columns: 1fr;
	margin-top: 2.2rem;
}

.contact-item {
	border-radius: 2.4rem;
	box-shadow: -0.79rem -0.44rem 2.09rem 0.11rem rgba(0, 0, 0, 0.1);
	min-height: 23.3rem;
}

.contact-item.blue::before {
	height: 12rem;
	width: 12rem;
}

.contact-item-txt {
	font-size: 1.6rem;
	margin-bottom: 2.3rem;
}

.contact-item-tel {
	font-size: 2.4rem;
}

.footer {
	padding: 8rem 0 4rem;
}

.footer .anime-deco-wrapper .anime-deco.deco02 {
	left: -78.5%;
	top: 55.3%;
}

.footer .anime-deco-wrapper .anime-deco.deco03 {
	left: -23.4%;
	top: 42.6%;
}

.footer .anime-deco-wrapper .anime-deco.deco04 {
	left: 9.5%;
	top: 11.1%;
}

.footer .anime-deco-wrapper .anime-deco.deco05 {
	display: none;
}

.footer .anime-deco-wrapper .anime-deco.deco06 {
	left: 62.1%;
	top: 52.6%;
}

.footer-bg {
	height: initial;
	top: 29%;
}

.footer-bg .cls-1 {
	stroke: #ff6000;
}

.footer-bg .cls-2 {
	stroke: #00378b;
}

.footer-bg svg {
	transform: translateY(25.6rem);
}

.footer-bg img {
	height: auto;
}

.footer-bg {
	top: 0%;
	translate: -50% 0;
}

.footer-logo {
	width: 28.6rem;
}

.footer-content {
	grid-template-columns: 1fr;
	margin-top: 6.1rem;
}

.footer-icon {
	margin-top: 3.9rem;
	width: 9.6rem;
}

.pageNews-news {
	border-radius: initial;
	padding: 3.3rem 0 5.6rem;
}

.pageNews-news .news-item {
	height: 9rem;
}

.page-wrapper.pageLow.pageSingle .page-head {
	height: 32rem;
}

.page-wrapper.pageLow.pageSingle .breadcrumb {
	margin-bottom: 3.6rem;
	margin-top: 2rem;
}

.single-img img {
	height: 66.7rem;
}

.single-date {
	font-size: 1.2rem;
	margin-bottom: 1rem;
}

.single-title {
	font-size: 1.6rem;
	line-height: 1.4;
	width: 22.5rem !important;
}

.single-content-wrapper {
	padding: 5.4rem 0 5rem;
}

.single-content-wrapper::before {
	display: none;
}

.single-inner {
	gap: initial;
	grid-template-columns: 1fr;
	width: 31.5rem;
}

.single-btn {
	display: none;
}

.single-content {
	max-width: initial;
}

.single-content h2 {
	font-size: 1.8rem;
	line-height: 1.4;
	margin: 0;
	padding-left: 0;
	padding-top: 1.9rem;
}

.single-content h2::before {
	height: 4.8rem;
	left: -1.1rem;
	top: 0.2rem;
	width: 4.8rem;
}

.single-content p,
.single-content li {
	font-size: 1.4rem;
}

.single-content p,
.single-content ul,
.single-content ol {
	margin: 3rem 0;
}

.single-content ul,
.single-content ol {
	padding-left: 2rem;
}

.single-content img,
.single-content iframe {
	margin: 3rem 0;
}

.pageAbout .page-head .page-head-deco.deco01 {
	left: 32.1%;
	top: 17.2%;
}

.pageAbout .page-head .page-head-deco.deco02 {
	left: -10.1%;
	top: 30.3%;
	width: 10.4rem;
}

.pageAbout .page-head .page-head-deco.deco03 {
	left: 61.7%;
	top: 4.5%;
	width: 8.8rem;
}

.pageAbout .page-head .page-head-deco.deco04 {
	left: 77.8%;
	rotate: initial;
	top: 26.2%;
	width: 11.5rem;
}

.pageAbout .page-head .page-head-deco.deco07 {
	display: block;
	left: 85.9%;
	top: 52%;
	width: 8rem;
}

.pageAbout .page-head .page-head-deco.deco08 {
	left: 34.7%;
	rotate: -13deg;
	top: 51.7%;
}

.pageAbout .page-head .page-head-txt {
	display: none;
}

.pageAbout-lead {
	padding: 7.2rem 0 7.3rem;
}

.pageLow-txt {
	font-size: 1.6rem;
	letter-spacing: 0.05em;
}

.pageAbout-txt {
	margin-bottom: 3.2rem;
}

.philosophy {
	padding: 6.5rem 0;
}

.philosophy .sec-title {
	position: static;
}

.philosophy .anime-deco-wrapper .anime-deco.deco02 {
	left: -89.5%;
	top: 84.3%;
}

.philosophy .anime-deco-wrapper .anime-deco.deco03 {
	left: -21.5%;
	top: 76.1%;
	width: 14rem;
}

.philosophy .anime-deco-wrapper .anime-deco.deco04 {
	left: 21.5%;
	top: 53.1%;
	width: 4.4rem;
}

.philosophy .anime-deco-wrapper .anime-deco.deco05 {
	display: block;
	left: 56.1%;
	top: 95.6%;
	width: 2.4rem;
}

.philosophy .anime-deco-wrapper .anime-deco.deco06 {
	display: none;
}

.philosophy-img {
	margin-top: 3.7rem;
}

.company {
	padding: 6.5rem 0;
}

.company-items {
	gap: 1.8rem 0;
	margin-top: 2.8rem;
}

.company-item {
	border-radius: 0.4rem;
	grid-template-columns: 8.4rem 1fr;
	min-height: 4.5rem;
	padding: 1rem 1.5rem;
}

.company-item dt,
.company-item dd {
	font-size: 1.4rem;
	line-height: 1.4;
}

.history {
	padding: 6.5rem 0;
}

.history-items {
	gap: 2.1rem 0;
	margin-top: 3.3rem;
}

.history-item {
	font-size: 1.6rem;
}

.history-sub-item {
	border-width: 0.1rem;
	gap: 0 0.9rem;
	min-height: 6.8rem;
	padding: 1.5rem 0;
}

.history-sub-item dt,
.history-sub-item dd {
	font-size: 1.4rem;
	line-height: 1.6;
}

.office {
	padding: 7.9rem 0 0;
}

.office .sec-title .title-en {
	font-size: 4.8rem;
}

.office .sec-title .title-jp {
	font-size: 2.4rem;
	margin-top: 1.2rem;
	padding-left: initial;
}

.office .sec-title {
	margin: initial;
}

.office-slider {
	margin-top: 3.9rem;
}

.office-slider .swiper-slide {
	margin: 0 0.6rem;
	width: 29.2rem;
}

.access {
	padding: 5.6rem 0 8rem;
}

.access-bg {
	left: 70%;
	top: -8%;
	width: 150%;
}

.access-bg svg {
	rotate: initial;
}

.access-content {
	grid-template-columns: 1fr;
}

.access-txt-wrapper {
	gap: 0.5rem 0;
	margin-top: 3.1rem;
}

.access-txt {
	font-size: 1.6rem;
}

.access-map {
	margin-top: 2.7rem;
	padding-top: 55.8208955224%;
}

.rokkasha {
	padding: 8rem 0;
}

.rokkasha .sec-title {
	margin-inline: auto;
	text-align: center;
	width: -moz-fit-content;
	width: fit-content;
}

.rokkasha-content {
	gap: 2.5rem 0;
	grid-template-columns: 1fr;
}

.rokkasha-img {
	margin: 3.1rem auto 0;
	width: 9.6rem;
}

.rokkasha-items {
	gap: 0 1rem;
}

.rokkasha-item:nth-of-type(2) .rokkasha-item-link {
	height: 26rem;
	width: 9rem;
}

.rokkasha-item:nth-of-type(3) .rokkasha-item-link {
	width: 8rem;
}

.rokkasha-item-link {
	border-radius: 0.8rem;
	font-size: 1.6rem;
	height: 29.2rem;
	padding: 2rem 2rem;
	width: 6.6rem;
}

.rokkasha-item-link::after {
	bottom: 2.4rem;
	height: 3.2rem;
	width: 3.2rem;
}

.contact-content-wrapper {
	background: #fff;
}

.contact-inner {
	width: 33.5rem !important;
}

.pageContact-btn {
	display: none;
}

.contact-content {
	margin-left: initial;
	max-width: initial;
	padding: 4rem 0 8rem;
}

.contact-step::before {
	height: 0.2rem;
}

.contact-step-num {
	font-size: 1.6rem;
	height: 2.5rem;
	padding-bottom: 0.3rem;
	width: 2.5rem;
}

.contact-form {
	margin-top: 3.2rem;
}

.contact-form dl {
	margin-bottom: 2.2rem;
}

.contact-form dl dt {
	font-size: 1.6rem;
}

.contact-form dl dd {
	margin-top: 1.3rem;
}

.contact-form dl .required {
	font-size: 1.2rem;
	margin-left: -0.1rem;
}

.contact-form dl input,
.contact-form dl textarea {
	border-radius: 0.8rem;
	font-size: 1.6rem;
	padding: 1rem;
}

.contact-form dl input {
	height: 4.1rem;
}

.contact-form dl textarea {
	height: 12rem;
}

.contact-form .btn-wrapper {
	margin-top: 4.4rem;
}

.contact-form-txt {
	font-size: 1.2rem;
	margin-top: 2.6em;
}

.confirm-btn input,
.back-btn input {
	font-size: 1.2rem;
	padding-left: 2.4rem;
}

.wpcf7-not-valid-tip {
	font-size: 1.2rem;
	margin-top: 0.5rem;
}

.page-wrapper.pageConfirm dd {
	font-size: 1.6rem;
}

.page-wrapper.pageConfirm .btn-wrapper {
	gap: 2rem;
}

.thanks-txt {
	font-size: 1.6rem;
}

.thanks-btn {
	display: flex;
	margin: 4rem auto 0;
}

.pageRecruit .page-head {
	background-image: url(../img/recruit_fv_bg_sp.png);
}

.pageRecruit .page-head .page-title {
	margin-top: 0.8rem;
}

.pageRecruit .page-head .breadcrumb {
	margin-bottom: 2.6rem;
}

.pageLow-fv-slider {
	margin-top: 10.4rem;
}

.pageLow-fv-slider .swiper-slide {
	margin: 0 0.8rem;
	width: 31rem;
}

.page-head-lead {
	font-size: 2rem;
	line-height: 1.4;
	margin-top: 2.6rem;
}

.pageRecruit-btn-wrapper {
	gap: 1.6rem 0;
	grid-template-columns: 1fr;
	margin-top: 3.2rem;
	position: static;
	right: initial;
	top: initial;
}

.pageRecruit-btn {
	font-size: 1.2rem;
	height: 4.8rem;
	margin-inline: auto;
	padding-left: 1.5rem;
	width: 18.7rem;
}

.pageRecruit-btn::after {
	height: 3.2rem;
	width: 3.2rem;
}

.pageRecruit-txt-wrapper {
	padding: 3.9rem 0 5.6rem;
	text-align: center;
}

.pageRecruit-txt-wrapper .pageLow-txt {
	font-feature-settings: "palt";
}

.pageRecruit-entry-btn {
	bottom: 2.4rem;
	margin-top: initial;
	position: absolute;
	right: 2rem;
	width: 20rem;
}

.pageRecruit-entry-btn.is-pc {
	display: none;
}

.pageRecruit-entry-btn.is-sp {
	display: block;
}

.pageRecruit-job {
	padding: 6.2rem 0 6.4rem;
}

.pageRecruit-title {
	font-size: 2.4rem;
}

.pageRecruit-job-items {
	gap: 2.3rem 0;
	grid-template-columns: 1fr;
	margin-top: 2.6rem;
}

.pageRecruit-job-items.col3 {
	gap: 2.3rem 0;
	grid-template-columns: 1fr;
}

.pageRecruit-job-item {
	border-radius: 1.8rem;
	gap: 0;
	padding: 3.8rem 2rem 3.8rem;
}

.pageRecruit-job-item-title {
	font-size: 2rem;
	padding-left: 2.2rem;
}

.pageRecruit-job-item-title::before {
	height: 1.6rem;
	width: 1.6rem;
}

.pageRecruit-job-item-top {
	padding: 1.9rem 0 1.3rem;
}

.pageRecruit-job-item-bottom {
	padding-top: 1.3rem;
}

.pageRecruit-job-item-txt {
	font-size: 1.6rem;
}

.pageRecruit-job-item-sample {
	margin-bottom: 0.7rem;
}

.pageRecruit-job-btn {
	margin-top: 3.1rem;
	width: 26.6rem;
}

.pageRecruit-about {
	padding: 6.3rem 0 6.4rem;
}

.pageRecruit-about .anime-deco-wrapper .anime-deco.deco02 {
	left: -81.8%;
	top: 96.8%;
}

.pageRecruit-about .anime-deco-wrapper .anime-deco.deco03 {
	left: -8.5%;
	top: 93.1%;
	width: 13rem;
}

.pageRecruit-about .anime-deco-wrapper .anime-deco.deco04 {
	left: 29%;
	top: 73.6%;
	width: 4.4rem;
}

.pageRecruit-about .anime-deco-wrapper .anime-deco.deco05 {
	display: block;
	left: 57.1%;
	top: 107.6%;
	width: 2.4rem;
}

.pageRecruit-about .anime-deco-wrapper .anime-deco.deco06 {
	display: none;
}

.pageRecruit-about-bg {
	height: initial;
	top: 27%;
}

.pageRecruit-about-bg img {
	height: auto;
}

.pageRecruit-about-bg .cls-1 {
	stroke: #fff;
}

.pageRecruit-about-bg .cls-2 {
	stroke: #e9ebf2;
}

.pageRecruit-about-items {
	margin-top: 3.2rem;
}

.pageRecruit-about-item {
	margin-bottom: 4.8rem;
}

.pageRecruit-sub-title {
	font-size: 2rem;
	height: 4rem;
	padding: 0 0.7rem;
}

.pageRecruit-lead {
	font-feature-settings: "palt";
	font-size: 1.4rem;
	line-height: 1.4;
	margin-top: 1.3rem;
}

.pageRecruit-about-slider-wrapper {
	margin-inline: calc(50% - 50vw);
	margin-top: 2.1rem;
	width: 100vw;
}

.pageRecruit-about-slider-wrapper .swiper-button-wrapper {
	gap: 0 2rem;
	margin-top: 2rem;
}

.pageRecruit-about-slider-wrapper .swiper-button-prev,
.pageRecruit-about-slider-wrapper .swiper-button-next {
	border: 1px solid #111;
	height: 3.2rem;
	width: 3.2rem;
}

.pageRecruit-about-slider .swiper-slide {
	height: 25.5rem;
	margin: 0 1.4rem;
	width: 25.5rem;
}

.pageRecruit-col-items {
	margin-inline: calc(50% - 50vw);
	margin-top: 2.1rem;
	width: 100vw;
}

.pageRecruit-col-items .swiper-wrapper {
	gap: initial;
}

.pageRecruit-col-items .swiper-slide {
	margin: 0 1.4rem;
	width: 25.5rem;
}

.pageRecruit-col-items .swiper-button-wrapper {
	gap: 0 2rem;
	margin-top: 2rem;
}

.pageRecruit-col-items .swiper-button-prev,
.pageRecruit-col-items .swiper-button-next {
	border: 1px solid #111;
	display: block;
	height: 3.2rem;
	width: 3.2rem;
}

.pageRecruit-col-item-head {
	height: 17rem;
}

.pageRecruit-col-item-title {
	font-size: 2rem;
	padding-top: 1.5rem;
}

.pageRecruit-col-item-title::after {
	bottom: -1.1rem;
	width: 3.2rem;
}

.pageRecruit-col-item-txt {
	font-size: 1.4rem;
	margin-top: 2.5rem;
}

.pageRecruit-about-btn {
	margin-top: 4.5rem;
}

.pageRecruit-interview {
	padding: 6.4rem 0 6.3rem;
}

.pageRecruit-interview-slider {
	margin-top: 3.2rem;
}

.pageRecruit-interview-slider .swiper-slide {
	margin: 0 0.8rem;
	width: 31rem;
}

.pageRecruit-interview-btn {
	margin-top: 6rem;
	width: 29.8rem;
}

.pageRecruit-flow {
	padding: 6.5rem 0;
}

.pageRecruit-flow-content {
	margin-bottom: 4rem;
}

.pageRecruit-flow-items {
	gap: 0 0.6rem;
	margin-top: 2.1rem;
}

.pageRecruit-flow-item {
	height: 4.5rem;
	padding-right: 0.8rem;
	padding-top: 1.5rem;
}

.pageRecruit-flow-item-txt {
	font-size: 1rem;
}

.pageRecruit-flow-item-txt::before {
	height: 0.8rem;
	top: -1.2rem;
	width: 0.8rem;
}

.pageRecruit-faq {
	padding: 7.9rem 0 13.5rem;
}

.pageRecruit-faq-content {
	margin-bottom: 3.2rem;
	margin-top: 2.8rem;
}

.pageRecruit-faq-content-title {
	font-size: 2rem;
	padding-left: 2.4rem;
}

.pageRecruit-faq-content-title::before {
	height: 1.6rem;
	width: 1.6rem;
}

.pageRecruit-faq-items {
	gap: 2.4rem 0;
	margin-top: 2.4rem;
}

.pageRecruit-faq-item-question {
	border-radius: 0.8rem;
	gap: 0 1.2rem;
	grid-template-columns: 1fr 3.2rem;
	min-height: 4.9rem;
	padding: 0.9rem 1.2rem;
}

.pageRecruit-faq-item-title,
.pageRecruit-faq-item-answer-container {
	font-size: 1.6rem;
}

.pageRecruit-faq-item-btn {
	height: 3.2rem;
	width: 3.2rem;
}

.pageRecruit-faq-item-btn .btn-bar {
	height: 0.1rem;
	width: 2rem;
}

.pageRecruit-faq-item-answer-container {
	margin-top: 0.8rem;
	padding: 0;
}

.pageCreators .pageRecruit-about {
	padding: 6.3rem 0 6.4rem;
}

.pageCreators .pageRecruit-about .pageRecruit-about-items {
	margin-top: 3.2rem;
}

.pageCreators .pageRecruit-interview {
	padding-bottom: 6.4rem;
}

.submissions {
	padding: 6.4rem 0;
}

.submissions .pageRecruit-title {
	line-height: 1.4;
	text-align: center;
}

.submissions .anime-deco-wrapper .anime-deco.deco04 {
	left: -4%;
	top: 55.6%;
	width: 4.4rem;
}

.submissions .anime-deco-wrapper .anime-deco.deco06 {
	display: none;
}

.submissions-bg {
	height: initial;
	left: 50%;
	top: 65%;
}

.submissions-bg img {
	height: auto;
}

.submissions-bg .cls-1 {
	stroke: #fff;
}

.submissions-bg .cls-2 {
	stroke: #e9ebf2;
}

.submissions-content {
	background-image: url(../img/submissions_sp.png);
	padding: 3.5rem 4rem 4rem 5rem;
}

.submissions-content-container {
	display: block;
	margin-top: 0.9rem;
}

.submissions-content-container .pageRecruit-lead {
	text-align: center;
}

.submissions-content-container .pageRecruit-lead .small {
	font-size: 1rem;
}

.submissions-btn {
	font-size: 1.1rem;
	height: 4.6rem;
	margin: 3rem auto 0;
	padding-left: 1.1rem;
	width: 16.8rem;
}

.submissions-btn::after {
	height: 3.4rem;
	width: 3.4rem;
}

.page-wrapper.pageLow.pageJob .page-head {
	background-image: url(../img/job_fv_sp.png);
}

.page-wrapper.pageLow.pageJob .page-title {
	margin-top: 1.7rem;
}

.page-wrapper.pageLow.pageJob .single-content-wrapper {
	background: #fff;
}

.page-wrapper.pageLow.pageJob .singleJob-entry-btn {
	width: 20rem;
}

.page-title-lead {
	font-size: 1.6rem;
}

.singleJob-btn-items {
	display: flex;
	justify-content: space-between;
	margin-bottom: initial;
	margin-top: 5rem;
}

.singleJob-btn-items .singleJob-entry-btn {
	display: none !important;
}

.singleJob-btn {
	font-size: 1.2rem;
	height: 3.6rem;
	letter-spacing: -0.05em;
	margin-bottom: initial;
	padding: 0 2.4rem;
	width: -moz-fit-content;
	width: fit-content;
}

.singleJob-content-wrapper {
	border-top: 1px solid #00378b;
	margin-left: initial;
	margin-top: 3.2rem;
	padding: 3.2rem 0 6.4rem;
}

.singleJob-content .singleJob-entry-btn {
	margin-top: 3.7rem;
}

.singleJob-content-title {
	font-size: 2.4rem;
	height: 3.5rem;
	padding: 0 1.4rem;
}

.singleJob-content-txt {
	font-size: 1.4rem;
}

.singleJob-content-items {
	gap: 2.1rem 0;
	margin-top: 2rem;
}

.singleJob-content-item dt {
	font-size: 1.6rem;
	margin-bottom: 1.4rem;
	padding-left: 2.4rem;
}

.singleJob-content-item dt::before {
	height: 1.6rem;
	width: 1.6rem;
}

.singleJob-content-box {
	border-radius: 1.6rem;
	font-size: 1.2rem;
	line-height: 2;
	padding: 1.6rem 1.3rem;
}

}

@media screen and (min-width: 768px) and (max-width: 1126px) {

.inner {
	width: 95%;
}

}

@media screen and (min-width: 768px) and (max-width: 1000px) {

.sec {
	padding-left: 40px !important;
	padding-right: 40px !important;
}

.header {
	width: 44px;
}

.drawer {
	padding-left: 40px;
	padding-right: 40px;
}

.modal-body {
	gap: 0 40px;
	grid-template-columns: 280px 1fr 64px;
}

.label-content {
	gap: 0 40px;
}

.label-box {
	padding-left: 40px;
}

.footer {
	padding: 80px 40px 40px;
}

.pageNews-news {
	padding-left: 40px !important;
	padding-right: 40px !important;
}

.single-inner {
	padding-left: 40px !important;
	padding-right: 40px !important;
}

.access-content {
	grid-template-columns: 240px 1fr;
}

.rokkasha-content {
	gap: 0 40px;
}

.rokkasha-item-link {
	width: initial !important;
}

.pageRecruit-txt-wrapper {
	padding-left: 40px !important;
	padding-right: 40px !important;
}

.pageRecruit-flow-item-txt {
	font-size: 16px;
}

}

@media screen and (min-width: 768px) and (max-width: 1300px) {

.drawer-inner {
	width: 95%;
}

.drawer-nav-items {
	gap: 54px 30px;
}

}

@media screen and (min-width: 768px) and (max-width: 900px) {

.drawer-nav-sub-items {
	width: 300px;
}

.drawer-news-items {
	width: 350px;
}

.drawer-news-item-link {
	grid-template-columns: 130px 1fr;
}

}

@media screen and (min-width: 901px) and (max-width: 1200px) {

.drawer-nav-sub-items {
	width: 350px;
}

}

@media screen and (min-width: 1001px) and (max-width: 1300px) {

.sec {
	padding-left: 70px !important;
	padding-right: 70px !important;
}

.pageNews-news {
	padding-left: 70px !important;
	padding-right: 70px !important;
}

.single-inner {
	padding-left: 70px !important;
	padding-right: 70px !important;
}

.pageRecruit-txt-wrapper {
	padding-left: 70px !important;
	padding-right: 70px !important;
}

}

@keyframes drawAndEraseOrange {

0% {
	stroke-dashoffset: 3000;
}

100% {
	stroke-dashoffset: 0;
}

/* 60%→100%を統一して、止まる */

}

@keyframes drawAndEraseBlue {

0% {
	stroke-dashoffset: 4000;
}

100% {
	stroke-dashoffset: 0;
}

}

@keyframes floating-y-1 {

0%,100% {
	transform: translateY(0);
}

50% {
	transform: translateY(-10px);
}

}

@keyframes floating-y-2 {

0%,100% {
	transform: translateY(0);
}

50% {
	transform: translateY(-15px);
}

}

@keyframes floating-y-3 {

0%,100% {
	transform: translateY(0);
}

50% {
	transform: translateY(-20px);
}

}

