@charset "UTF-8";

/* base */

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

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;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

/* HTML5 display-role reset for older browsers */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
main {
	display: block;
}

body {
	line-height: 1;
}

ol,
ul {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

:root {
	--scrollbar: 0;
}

html {
	font-size: 100%;
}

body {
	font-family: "TazuganeGothicStdN-Book";
	font-size: 1.6rem;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	color: #000;
	word-wrap: break-word;
	word-break: break-all;
}

a {
	color: inherit;
}

div[id],
section[id] {
	scroll-margin-top: 80px;
}

img {
	max-width: 100%;
	height: auto;
}

input,
textarea,
select,
button {
	font: inherit;
	color: inherit;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
}

select::-ms-expand {
	display: none;
}

button {
	cursor: pointer;
}

button:focus-visible {
	outline: auto;
}

::-moz-selection {
	background-color: #0B14F4;
	color: #ffffff;
}

::selection {
	background-color: #0B14F4;
	color: #ffffff;
}

/* for development */

pre {
	padding: 15px;
	background: #eee;
	font-size: 1.2rem;
	line-height: 1.2;
}

/* Tools */

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

.text-align-right {
	text-align: right;
}

.display-block {
	display: block;
}

.hidden {
	display: none !important;
	visibility: hidden;
}

.clearfix::before,
.clearfix::after {
	content: "";
	display: table;
}

.clearfix::after {
	clear: both;
}

.clear {
	clear: both;
}

/* show only  SP/PC
-------------------------------*/

.sp-only {
	display: none !important;
}

.sp-only-2 {
	display: none !important;
}

.sp-only-3 {
	display: none !important;
}

.pc-only {
	display: block !important;
}

.pc-only-2 {
	display: inline-block !important;
}

.pc-only-3 {
	display: -webkit-box !important;
	display: -ms-flexbox !important;
	display: flex !important;
}

/* font
-------------------------------*/

.bold {
	font-family: "TazuganeGothicStdN-Bold";
}

/* margin
-------------------------------*/

/* padding
-------------------------------*/

/* Layout */

.l-body {
	width: 100%;
}

.l-body.is-fixed {
	position: fixed;
}

.l-header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 60px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding: 10px;
}

.l-footer {
	position: relative;
}

.l-wrapper {
	position: relative;
	width: 89.74%;
	margin-left: auto;
	margin-right: auto;
}

.l-wrapper-sm {
	position: relative;
	width: 89.74%;
	margin-left: auto;
	margin-right: auto;
}

.l-navi {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1100;
	color: #ffffff;
	overflow: hidden;
	pointer-events: none;
}

.l-navi::before {
	position: absolute;
	top: 1rem;
	right: 1rem;
	content: "";
	width: 4rem;
	height: 4rem;
	display: block;
	background: #0B14F4;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.l-navi.is-visible {
	pointer-events: auto;
}

.l-navi.is-visible::before {
	top: 0;
	right: 0;
	width: 100vw;
	height: 100%;
}

.l-navi.is-visible .navi-logo {
	-webkit-animation: popUp2 0.4s 0.6s forwards;
	animation: popUp2 0.4s 0.6s forwards;
}

.l-navi.is-visible .navi-deco {
	-webkit-animation: fadeIn 0.4s linear 0.3s forwards;
	animation: fadeIn 0.4s linear 0.3s forwards;
}

.l-navi.is-visible .l-navi__inner {
	-webkit-animation: popUp2 0.4s 0.6s forwards;
	animation: popUp2 0.4s 0.6s forwards;
}

.l-navi__inner {
	height: 100%;
	opacity: 0;
	visibility: hidden;
	overflow: auto;
	-webkit-transform: translateY(4rem);
	-ms-transform: translateY(4rem);
	transform: translateY(4rem);
}

.l-navi__main {
	padding: 9rem 2rem 5.5rem;
}

.l-home {
	overflow: hidden;
}

.l-page {
	padding: 6rem 0 12rem;
}

.l-page--pb-sm {
	padding-bottom: 2rem;
}

/* Module */

.noscript {
	font-size: 16px;
	line-height: 1.4;
	text-align: center;
	padding: 1em;
	border: 3px solid red;
}

.noscript span {
	color: red;
}

.navi-list {
	position: relative;
	padding-left: 2.3rem;
}

.navi-list:not(:last-child) {
	margin-bottom: 4rem;
}

.navi-list__label {
	position: absolute;
	top: 0;
	left: 0;
	font: 700 1.2rem "Montserrat", sans-serif;
	letter-spacing: 0.03em;
	line-height: 1.05;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}

.navi-list__list {
	border-left: 1px solid #ffffff;
	padding: 0.2rem 0 0 2.9rem;
}

.navi-list__item:not(:last-child) {
	margin-bottom: 2.2rem;
}

.navi-list__item a {
	text-decoration: none;
	display: block;
}

.navi-list__item__en {
	font: 700 2rem "Montserrat", sans-serif;
	letter-spacing: 0.03em;
	line-height: 1.05;
}

.navi-list__item__arrow {
	display: inline-block;
	position: relative;
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	border: 2px solid #ffffff;
	background: #ffffff;
	overflow: hidden;
	margin-left: 1.5rem;
	vertical-align: middle;
	-webkit-transform: translateY(-2px);
	-ms-transform: translateY(-2px);
	transform: translateY(-2px);
}

.navi-list__item__arrow::before,
.navi-list__item__arrow::after {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	content: "";
	width: 1rem;
	height: 1rem;
	display: block;
}

.navi-list__item__arrow::before {
	background: url(../img/arrow_btn_navi.svg) no-repeat center/contain;
}

.navi-list__item__arrow::after {
	top: 100%;
	left: 0;
	background: url(../img/arrow_btn_navi_white.svg) no-repeat center/contain;
}

.navi-list__item__jp {
	display: block;
	font-size: 1.2rem;
	font-family: "TazuganeGothicStdN-Bold";
	letter-spacing: 0.05em;
	line-height: 1.5;
	margin-top: 0.3rem;
}

.navi-buttons {
	margin-top: 3.5rem;
	padding-left: 2.3rem;
}

.navi-buttons__item {
	width: 24rem;
}

.navi-buttons__item:not(:last-child) {
	margin-bottom: 1rem;
}

.navi-buttons__item a {
	display: block;
	height: 100%;
	background: #ffffff;
	color: #000;
	text-decoration: none;
	padding: 1.65rem 0 0.85em;
	text-align: center;
	font-size: 1.4rem;
	font-family: "TazuganeGothicStdN-Medium";
	letter-spacing: 0.05em;
	line-height: 1.5;
	border: 1px solid #ffffff;
}

.navi-buttons__item a[target=_blank]::after {
	content: "";
	width: 1.2rem;
	height: 1.2rem;
	display: inline-block;
	background: url(../img/icon_external.svg) no-repeat center/contain;
	margin-left: 1rem;
	vertical-align: middle;
}

.header-logo {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	position: relative;
	z-index: 1100;
	text-decoration: none;
}

.header-logo__image {
	display: block;
	width: 17rem;
}

.header-logo__text {
	font-size: 1rem;
	letter-spacing: 0.05em;
	line-height: 1.5;
	color: #ffffff;
	margin-left: 1.5rem;
}

.menu-btn {
	position: fixed;
	top: 1rem;
	right: 1rem;
	z-index: 1200;
	background: none;
	border: none;
	padding: 0;
	margin: 0;
	width: 4rem;
	height: 4rem;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.menu-btn span {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 2rem;
	height: 0.1rem;
	background: #ffffff;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.menu-btn span:first-child {
	-webkit-transform: translate(-50%, calc(-50% - 0.5rem));
	-ms-transform: translate(-50%, calc(-50% - 0.5rem));
	transform: translate(-50%, calc(-50% - 0.5rem));
}

.menu-btn span:nth-child(2) {
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.menu-btn span:nth-child(3) {
	-webkit-transform: translate(-50%, calc(-50% + 0.5rem));
	-ms-transform: translate(-50%, calc(-50% + 0.5rem));
	transform: translate(-50%, calc(-50% + 0.5rem));
}

.menu-btn.is-opend::before {
	top: -10px;
	right: -10px;
	width: 100vw;
	height: 100vh;
}

.menu-btn.is-opend span:first-child {
	-webkit-animation: toCloseSp1 0.5s forwards;
	animation: toCloseSp1 0.5s forwards;
}

.menu-btn.is-opend span:nth-child(2) {
	opacity: 0;
}

.menu-btn.is-opend span:nth-child(3) {
	-webkit-animation: toCloseSp2 0.5s forwards;
	animation: toCloseSp2 0.5s forwards;
}

.menu-btn.is-closed span:first-child {
	-webkit-animation: toOpenSp1 0.5s forwards;
	animation: toOpenSp1 0.5s forwards;
}

.menu-btn.is-closed span:nth-child(2) {
	opacity: 1;
}

.menu-btn.is-closed span:nth-child(3) {
	-webkit-animation: toOpenSp2 0.5s forwards;
	animation: toOpenSp2 0.5s forwards;
}

.navi-deco {
	position: absolute;
	top: -1.1rem;
	right: -1.3rem;
	font: 700 6.6rem "Montserrat", sans-serif;
	letter-spacing: 0.01em;
	line-height: 0.9;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	color: #2A33FE;
	white-space: nowrap;
	pointer-events: none;
	opacity: 0;
}

.navi-logo {
	position: fixed;
	top: 1.5rem;
	left: 1rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	text-decoration: none;
	opacity: 0;
}

.navi-logo__image {
	display: block;
	width: 17rem;
}

.navi-logo__text {
	font-size: 1rem;
	letter-spacing: 0.05em;
	line-height: 1.5;
	color: #ffffff;
	margin-left: 1.5rem;
}

.cv-area {
	background: #0B14F4;
	color: #ffffff;
	padding: 6rem 2rem;
}

.cv-area__heading {
	font: 700 3rem "Montserrat", sans-serif;
	line-height: 1.05;
	margin-bottom: 3rem;
}

.cv-area__main {
	margin-bottom: 4rem;
}

.cv-area__main__heading {
	font-size: 3rem;
	font-family: "TazuganeGothicStdN-Bold";
	line-height: 1.3;
	margin-bottom: 2rem;
}

.cv-area__main__text-lg {
	font-size: 2.4rem;
	font-family: "TazuganeGothicStdN-Bold";
	line-height: 1.3;
	margin-bottom: 0.8rem;
}

.cv-area__main__text-sm {
	line-height: 1.3;
	margin-bottom: 2rem;
}

.cv-area__main__tel {
	font: 700 4rem "Montserrat", sans-serif;
	line-height: 1.5;
	text-decoration: none;
	padding-left: 0.5rem;
}

.cv-area__main__tel::before {
	content: "";
	width: 2.9rem;
	height: 3.5rem;
	display: inline-block;
	background: url(../img/icon_tel.svg) no-repeat center/contain;
	margin-right: 1rem;
	vertical-align: middle;
	-webkit-transform: translateY(-5px);
	-ms-transform: translateY(-5px);
	transform: translateY(-5px);
}

.cv-area__main__note {
	font-size: 1.4rem;
	line-height: 1.3;
}

.cv-area__buttons__item {
	background: #ffffff;
	padding: 3.2rem 3rem 3rem;
}

.cv-area__buttons__item:not(:last-child) {
	margin-bottom: 10px;
}

.cv-area__buttons__text {
	font-size: 2.4rem;
	font-family: "TazuganeGothicStdN-Bold";
	line-height: 1.3;
	color: #0B14F4;
	text-align: center;
}

.cv-area__buttons__text span {
	font-size: 1.4rem;
	line-height: 1;
	background: #0B14F4;
	color: #ffffff;
	padding: 0.9rem 1rem 0.7rem;
	display: inline-block;
	margin-left: 0.7rem;
	vertical-align: middle;
	-webkit-transform: translateY(-2px);
	-ms-transform: translateY(-2px);
	transform: translateY(-2px);
}

.cv-area__button {
	display: block;
	margin-top: 1.6rem;
	background: -webkit-gradient(linear, left top, right bottom, from(#0EA8FF), to(#0E19FF));
	background: linear-gradient(to right bottom, #0EA8FF, #0E19FF);
	text-decoration: none;
	padding: 2.1rem 0 1.6rem;
	text-align: center;
	border-radius: 7rem;
	font-size: 1.8rem;
	font-family: "TazuganeGothicStdN-Bold";
	line-height: 1.3;
}

.footer {
	padding: 6.8rem 2rem 6rem;
}

.footer__navi-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 3.3rem 5.7%;
	margin-bottom: 6.6rem;
}

.footer__navi {
	width: 44.3%;
}

.footer__navi__item:not(:last-child) {
	margin-bottom: 1.4rem;
}

.footer__navi__item a {
	text-decoration: none;
	font-size: 1.4rem;
	letter-spacing: 0.05em;
	line-height: 1.3;
}

.footer__buttons {
	margin-bottom: 6rem;
}

.footer__button:not(:last-child) {
	margin-bottom: 1rem;
}

.footer__button a {
	display: block;
	border: 1px solid #AFC4E2;
	font-size: 1.4rem;
	font-family: "TazuganeGothicStdN-Medium";
	letter-spacing: 0.05em;
	line-height: 1.5;
	padding: 2rem 0 1.7rem;
	text-align: center;
	text-decoration: none;
}

.footer__button a::after {
	content: "";
	width: 1.2rem;
	height: 1.2rem;
	display: inline-block;
	background: url(../img/icon_external.svg) no-repeat center/contain;
	margin-left: 1rem;
	vertical-align: middle;
	-webkit-transform: translateY(-2px);
	-ms-transform: translateY(-2px);
	transform: translateY(-2px);
}

.footer__logo {
	display: block;
	width: 57.1%;
	margin-bottom: 2rem;
}

.footer__logo img {
	display: block;
}

.footer__site-name {
	font-size: 1.4rem;
	font-family: "TazuganeGothicStdN-Bold";
	letter-spacing: 0.05em;
	line-height: 1.5;
}

.footer__sns {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 0 0.8rem;
	margin-top: 2rem;
}

.footer__sns__item {
	width: 3.4rem;
}

.footer__sns__item a {
	display: block;
}

.footer__sns__item a img {
	display: block;
	width: 100%;
}

.copyright {
	margin-top: 6.4rem;
	font: 400 1rem "Domine", serif;
	letter-spacing: 0.05em;
	line-height: 1.5;
}

.pagetop {
	position: absolute;
	bottom: 0;
	right: 4rem;
	border: none;
	background: #0B14F4;
	width: 13.5rem;
	height: 4rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	color: #ffffff;
	font-size: 1.4rem;
	line-height: 1.3;
	white-space: nowrap;
	-webkit-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	transform: rotate(90deg);
	-webkit-transform-origin: right bottom;
	-ms-transform-origin: right bottom;
	transform-origin: right bottom;
}

.pagetop::before {
	content: "";
	width: 1.6rem;
	height: 1.8rem;
	display: block;
	background: url(../img/arrow_pagetop.svg) no-repeat center/contain;
	margin-right: 0.8rem;
	-webkit-transform: rotate(-90deg);
	-ms-transform: rotate(-90deg);
	transform: rotate(-90deg);
}

.fixed-btn {
	position: fixed;
	bottom: 3.2rem;
	right: 2rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 7rem;
	height: 7rem;
	border-radius: 50%;
	background: -webkit-gradient(linear, left top, right bottom, from(#0EA8FF), to(#0E19FF));
	background: linear-gradient(to right bottom, #0EA8FF, #0E19FF);
	color: #ffffff;
	z-index: 100;
	text-decoration: none;
	font-size: 1.2rem;
	font-family: "TazuganeGothicStdN-Bold";
	letter-spacing: 0.05em;
	line-height: 1.5;
	text-align: center;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.fixed-btn::before {
	position: absolute;
	top: -1rem;
	left: -1rem;
	content: "";
	width: calc(100% + 2rem);
	height: calc(100% + 2rem);
	display: block;
	background: url(../img/deco_fix_btn.svg) no-repeat center/contain;
	-webkit-animation: rotate 10s linear infinite;
	animation: rotate 10s linear infinite;
	pointer-events: none;
}

.fixed-btn span {
	position: relative;
	z-index: 1;
}

.fixed-btn.is-hidden {
	opacity: 0;
	pointer-events: none;
}

.heading-1 {
	display: inline-block;
	font-size: 2rem;
	font-family: "TazuganeGothicStdN-Bold";
	line-height: 1;
	letter-spacing: 0.05em;
	padding: 0.8rem 1rem 0.2rem;
	background: #0B14F4;
	color: #ffffff;
}

.heading-1--h-lg {
	padding: 1.3rem 1rem 0.7rem;
}

.heading-1--mont {
	font: 700 1.8rem "Montserrat", sans-serif;
	letter-spacing: 0;
	padding: 0.5rem 1rem;
}

.heading-2 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	font-size: 4rem;
	font-family: "TazuganeGothicStdN-Bold";
	letter-spacing: 0.05em;
	line-height: 1.3;
	color: #0B14F4;
	-webkit-transform: scale(0, 1);
	-ms-transform: scale(0, 1);
	transform: scale(0, 1);
	-webkit-transform-origin: left center;
	-ms-transform-origin: left center;
	transform-origin: left center;
}

.heading-2.is-visible {
	-webkit-animation: stretchToRight 0.5s ease-in-out forwards;
	animation: stretchToRight 0.5s ease-in-out forwards;
}

.heading-2.is-visible .heading-2__sp-line::before,
.heading-2.is-visible .heading-2__pc-line::before {
	-webkit-animation: slideToRight 0.5s ease-in-out 0.3s forwards;
	animation: slideToRight 0.5s ease-in-out 0.3s forwards;
}

.heading-2--simple {
	-webkit-transform: scale(1, 1);
	-ms-transform: scale(1, 1);
	transform: scale(1, 1);
}

.heading-2--simple .heading-2__sp-line,
.heading-2--simple .heading-2__pc-line {
	background: none;
	padding: 0;
}

.heading-2--simple.is-visible {
	-webkit-animation: none;
	animation: none;
}

.heading-2--simple.is-visible .heading-2__sp-line::before,
.heading-2--simple.is-visible .heading-2__pc-line::before {
	-webkit-animation: slideToRight 0.5s ease-in-out forwards;
	animation: slideToRight 0.5s ease-in-out forwards;
}

.heading-2--sp-simple {
	-webkit-transform: scale(1, 1);
	-ms-transform: scale(1, 1);
	transform: scale(1, 1);
}

.heading-2--sp-simple .heading-2__sp-line {
	background: none;
}

.heading-2--sp-simple.is-visible {
	-webkit-animation: none;
	animation: none;
}

.heading-2--sp-simple.is-visible .heading-2__sp-line::before {
	-webkit-animation: slideToRight 0.5s ease-in-out forwards;
	animation: slideToRight 0.5s ease-in-out forwards;
}

.heading-2--fz-xsm {
	font-size: 3rem;
	letter-spacing: 0;
}

.heading-2--fz-sm {
	font-size: 3.6rem;
	letter-spacing: 0;
}

.heading-2--fz-md {
	font-size: 4.4rem;
	letter-spacing: 0;
}

.heading-2--fz-md-2 {
	font-size: 4.7rem;
	letter-spacing: 0;
}

.heading-2--fz-lg {
	font-size: 5rem;
	letter-spacing: 0;
}

.heading-3 {
	margin-bottom: 2.2rem;
	padding-bottom: 0.5rem;
	border-bottom: 1px solid #AFC4E2;
	font-family: "TazuganeGothicStdN-Bold";
	font-size: 2.4rem;
	line-height: 1.3;
}

.heading-4 {
	font-size: 3rem;
	font-family: "TazuganeGothicStdN-Bold";
	line-height: 1.3;
	color: #0B14F4;
	border-bottom: 1px solid #AFC4E2;
	padding-bottom: 1.5rem;
	margin-bottom: 4.2rem;
}

.text {
	letter-spacing: 0.05em;
	line-height: 1.5;
	text-align: justify;
}

.text-sm {
	font-size: 1.4rem;
	letter-spacing: 0.05em;
	line-height: 1.5;
	text-align: justify;
}

.button-primary {
	font-size: 1.8rem;
	font-family: "TazuganeGothicStdN-Bold";
	line-height: 1.5;
	color: #0B14F4;
	text-decoration: none;
}

.button-primary__text {
	position: relative;
}

.button-primary__text::before {
	position: absolute;
	bottom: 3px;
	left: 0;
	content: "";
	width: 100%;
	height: 2px;
	display: block;
	background: #0B14F4;
	-webkit-transform: scale(1, 1);
	-ms-transform: scale(1, 1);
	transform: scale(1, 1);
	-webkit-transform-origin: right center;
	-ms-transform-origin: right center;
	transform-origin: right center;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.button-primary__icon {
	display: inline-block;
	position: relative;
	width: 6rem;
	height: 6rem;
	border-radius: 50%;
	background: #0B14F4;
	border: 2px solid #0B14F4;
	vertical-align: middle;
	-webkit-transform: translateY(-2px);
	-ms-transform: translateY(-2px);
	transform: translateY(-2px);
	overflow: hidden;
	margin-left: 1.5rem;
}

.button-primary__icon::before,
.button-primary__icon::after {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	content: "";
	width: 1.3rem;
	height: 1.3rem;
	display: block;
}

.button-primary__icon::before {
	background: url(../img/arrow_btn_white.svg) no-repeat center/contain;
}

.button-primary__icon::after {
	top: 100%;
	left: 0;
	background: url(../img/arrow_btn_hoverblue.svg) no-repeat center/contain;
}

.button-primary[target=_blank] .button-primary__icon {
	width: 3rem;
	height: 3rem;
	margin-left: 0.6rem;
}

.button-primary[target=_blank] .button-primary__icon::before,
.button-primary[target=_blank] .button-primary__icon::after {
	width: 1.2rem;
	height: 1.2rem;
}

.button-primary[target=_blank] .button-primary__icon::before {
	background-image: url(../img/icon_external_white.svg);
}

.button-primary[target=_blank] .button-primary__icon::after {
	background-image: url(../img/icon_external.svg);
}

.button-secondary {
	position: relative;
	text-decoration: none;
	font-family: "TazuganeGothicStdN-Bold";
	line-height: 1.5;
	color: #0B14F4;
}

.button-secondary::before {
	position: absolute;
	bottom: 1px;
	left: 0;
	content: "";
	width: 100%;
	height: 2px;
	display: block;
	background: #0B14F4;
	-webkit-transform: scale(1, 1);
	-ms-transform: scale(1, 1);
	transform: scale(1, 1);
	-webkit-transform-origin: right center;
	-ms-transform-origin: right center;
	transform-origin: right center;
}

.bg-gray {
	background: #E5EBF0;
}

.list-1__item {
	font-size: 1.8rem;
	letter-spacing: 0.05em;
	line-height: 1.5;
	text-indent: -1.7rem;
	padding-left: 1.7rem;
}

.list-1__item:not(:last-child) {
	margin-bottom: 0.5rem;
}

.list-1__item::before {
	content: "";
	display: inline-block;
	background: #0B14F4;
	width: 0.6rem;
	height: 0.6rem;
	border-radius: 50%;
	margin: 0 0.8rem 0 0.3rem;
	vertical-align: middle;
	-webkit-transform: translateY(-0.2rem);
	-ms-transform: translateY(-0.2rem);
	transform: translateY(-0.2rem);
}

.table-1 {
	width: 100%;
	text-align: left;
	font-size: 1.4rem;
	letter-spacing: 0.05em;
	line-height: 1.5;
}

.table-1 tr {
	position: relative;
	display: block;
}

.table-1 tr:not(:last-child) {
	margin-bottom: 2rem;
}

.table-1 tr::before {
	position: absolute;
	bottom: 0;
	left: 0;
	content: "";
	width: 6rem;
	height: 1px;
	display: block;
	background: #000;
}

.table-1 th,
.table-1 td {
	display: block;
}

.table-1 th {
	font-family: "TazuganeGothicStdN-Bold";
}

.table-1 td {
	padding: 1rem 0 1.7rem;
	border-bottom: 1px solid #AFC4E2;
}

.table-1 td p:not(:last-child) {
	margin-bottom: 0.5rem;
}

.table-1 td p span {
	display: inline-block;
	text-indent: -1em;
	padding-left: 1em;
}

.en-deco {
	position: relative;
	height: 11.4rem;
}

.en-deco img {
	display: block;
	width: auto;
	height: 100%;
	max-width: none;
}

.en-deco--vertical {
	height: auto;
	width: 10rem;
}

.en-deco--vertical img {
	width: 100%;
	height: auto;
}

.en-deco--vertical-sp-long {
	height: auto;
	width: 4.1rem;
}

.en-deco--vertical-sp-long img {
	width: 100%;
	height: auto;
}

.mainvisual {
	position: relative;
}

.mainvisual__inner {
	position: relative;
	width: 94.9%;
	overflow: hidden;
}

.mainvisual__inner::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 10rem;
	display: block;
	background: -webkit-gradient(linear, left top, left bottom, from(#000), to(transparent));
	background: linear-gradient(to bottom, #000, transparent);
	z-index: 2;
	opacity: 0.4;
}

.mainvisual__copy {
	position: absolute;
	bottom: 50%;
	left: 0;
	-webkit-transform: translateY(5rem);
	-ms-transform: translateY(5rem);
	transform: translateY(5rem);
	z-index: 1;
}

.mainvisual__copy__text {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	font-size: 3.6rem;
	font-family: "TazuganeGothicStdN-Bold";
	letter-spacing: 0.05em;
	color: #0B14F4;
	-webkit-clip-path: polygon(0 0, 0% 0%, 0% 100%, 0% 100%);
	clip-path: polygon(0 0, 0% 0%, 0% 100%, 0% 100%);
}

.mainvisual__copy__text__pc-line {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}

.mainvisual__copy__text.is-visible {
	-webkit-clip-path: polygon(0 0, 100% 0%, 100% 100%, 0% 100%);
	clip-path: polygon(0 0, 100% 0%, 100% 100%, 0% 100%);
	-webkit-transition: -webkit-clip-path 0.5s ease-in-out;
	transition: -webkit-clip-path 0.5s ease-in-out;
	transition: clip-path 0.5s ease-in-out;
	transition: clip-path 0.5s ease-in-out, -webkit-clip-path 0.5s ease-in-out;
}

.mainvisual__copy__text.is-visible .mainvisual__copy__text__sp-line::before,
.mainvisual__copy__text.is-visible .mainvisual__copy__text__pc-line::before {
	-webkit-animation: slideToRight 0.5s ease-in-out 0.3s forwards;
	animation: slideToRight 0.5s ease-in-out 0.3s forwards;
}

.mainvisual__text-deco {
	position: absolute;
	top: 0;
	right: -1.1rem;
	font: 700 5rem "Montserrat", sans-serif;
	line-height: 1;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	z-index: 1;
	white-space: nowrap;
}

.mainvisual__bottom {
	padding: 4.5rem 7.7rem 0 1rem;
}

.mainvisual__text-lg {
	display: inline-block;
	position: relative;
	font-size: 5.8rem;
	font-family: "TazuganeGothicStdN-Bold";
	line-height: 1.3;
	color: #0B14F4;
	overflow: hidden;
	padding-left: 1rem;
}

.mainvisual__text-lg::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	background: #ffffff;
}

.mainvisual__bottom.is-visible .mainvisual__text-lg::before {
	-webkit-animation: slideToRight 0.5s ease-in-out forwards;
	animation: slideToRight 0.5s ease-in-out forwards;
}

.mainvisual__text-sm {
	display: inline-block;
	position: relative;
	font-size: 1.8rem;
	letter-spacing: 0.05em;
	line-height: 1.3;
	margin-top: -1rem;
	padding: 0 0 0 1rem;
}

.mainvisual__text-sm__line {
	display: block;
	overflow: hidden;
}

.mainvisual__text-sm__line span {
	display: block;
	-webkit-transform: translateY(100%);
	-ms-transform: translateY(100%);
	transform: translateY(100%);
	background: #ffffff;
}

.mainvisual__bottom.is-visible .mainvisual__text-sm__line:first-child span {
	-webkit-animation: popUp 0.5s 0.5s forwards;
	animation: popUp 0.5s 0.5s forwards;
}

.mainvisual__bottom.is-visible .mainvisual__text-sm__line:nth-child(2) span {
	-webkit-animation: popUp 0.5s 0.7s forwards;
	animation: popUp 0.5s 0.7s forwards;
}

.recruiting {
	padding: 4.8rem 0 0;
}

.recruiting__contents {
	padding: 0 0 3.5rem;
}

.recruiting__deco {
	margin-left: -0.3rem;
}

.recruiting__image-wrap {
	width: calc(50% + 50vw);
	margin-top: -2.2rem;
}

.recruiting__image img {
	display: block;
}

.recruiting__text-wrap {
	margin-top: -1.8rem;
}

.recruiting__heading {
	margin-bottom: 2.3rem;
}

.recruiting__text-lg {
	margin-bottom: 2.8rem;
	margin-left: -1rem;
}

.works {
	padding: 3rem 0 3.8rem;
}

.works__text-wrap.is-visible .works__text-lg span::before {
	-webkit-animation: slideToRight 0.5s ease-in-out forwards;
	animation: slideToRight 0.5s ease-in-out forwards;
}

.works__text-wrap.is-visible .works__text-md span {
	-webkit-animation: popUp 0.5s 0.4s forwards;
	animation: popUp 0.5s 0.4s forwards;
}

.works__text-wrap.is-visible .works__text-sm span {
	-webkit-animation: popUp 0.5s 0.7s forwards;
	animation: popUp 0.5s 0.7s forwards;
}

.works__text-lg {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	font-size: 5rem;
	font-family: "TazuganeGothicStdN-Bold";
	line-height: 1.3;
}

.works__text-md {
	position: relative;
	font-size: 2rem;
	font-family: "TazuganeGothicStdN-Bold";
	line-height: 1.3;
	color: #0B14F4;
	overflow: hidden;
	margin-bottom: 1rem;
	margin-top: -0.8rem;
	margin-left: -1rem;
}

.works__text-md span {
	display: inline-block;
	-webkit-transform: translateY(100%);
	-ms-transform: translateY(100%);
	transform: translateY(100%);
	background: #ffffff;
	padding: 1.3rem 1rem 0 1rem;
}

.works__text-sm {
	overflow: hidden;
}

.works__text-sm span {
	display: inline-block;
	-webkit-transform: translateY(100%);
	-ms-transform: translateY(100%);
	transform: translateY(100%);
}

.works__images {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	width: calc(50% + 50vw);
	margin-top: 2.8rem;
	gap: 1rem 2.8%;
}

.works__image {
	width: 48.6%;
}

.works__image img {
	display: block;
}

.works__button {
	text-align: right;
	margin-top: 4.3rem;
}

.job-intro {
	padding: 4rem 0 10rem;
}

.job-intro__deco {
	position: absolute;
	top: 27.4rem;
	left: -6.2%;
	z-index: -1;
}

.job-intro__head {
	margin-bottom: 3.5rem;
}

.job-intro__heading {
	margin-bottom: 2.5rem;
}

.job-intro__item:not(:last-of-type) {
	margin-bottom: 2rem;
}

.job-intro__item__button {
	text-align: right;
	margin-top: 2rem;
}

.job-intro__main {
	margin-top: -2.5rem;
}

.job-intro__main__inner {
	background: #ffffff;
	padding: 1.9rem 0 1.5rem 1rem;
}

.job-intro__main__heading {
	font-size: 4rem;
	font-family: "TazuganeGothicStdN-Bold";
	line-height: 1.3;
	color: #0B14F4;
}

.job-intro__label {
	display: inline-block;
	font: 700 1.8rem "Montserrat", sans-serif;
	line-height: 1;
	background: #0B14F4;
	color: #ffffff;
	padding: 1rem;
}

.job-intro__occupation {
	display: block;
	font-size: 2.4rem;
	font-family: "TazuganeGothicStdN-Bold";
	line-height: 1.3;
	color: #0B14F4;
	margin-bottom: 1.7rem;
}

.job-intro__button {
	text-align: right;
	margin-top: 4.2rem;
}

.interview-list.swiper {
	overflow: visible;
}

.interview-list__item a {
	display: block;
	position: relative;
	text-decoration: none;
}

.interview-list__image {
	position: relative;
	overflow: hidden;
}

.interview-list__image::before {
	content: "";
	display: block;
	width: 100%;
	padding-top: 133.3%;
}

.interview-list__image__02 {
	opacity: 0;
}

.interview-list__image img {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.interview-list__head {
	position: absolute;
	top: -2rem;
	left: -2rem;
}

.interview-list__num {
	display: block;
	font: 700 4rem "Montserrat", sans-serif;
	line-height: 1;
	color: #0B14F4;
	margin-bottom: 1rem;
}

.interview-list__info {
	margin-bottom: 0.9rem;
}

.interview-list__info__belong {
	display: block;
	font-size: 1.4rem;
	font-family: "TazuganeGothicStdN-Bold";
	letter-spacing: 0.05em;
	line-height: 1.5;
}

.interview-list__info__year {
	display: block;
	font-size: 1.2rem;
	letter-spacing: 0.05em;
	line-height: 1.5;
}

.interview-list__name__jp {
	display: block;
	font-family: "TazuganeGothicStdN-Bold";
	letter-spacing: 0.05em;
	line-height: 1.5;
}

.interview-list__name__en {
	display: block;
	font: 400 1rem "Montserrat", sans-serif;
	line-height: 1.5;
}

.interview-list__title {
	position: relative;
	margin-top: -2.5rem;
	margin-left: -2rem;
}

.interview-list__title span {
	font-family: "TazuganeGothicStdN-Bold";
	line-height: 1.55;
	letter-spacing: 0.05em;
	background: #ffffff;
	color: #0B14F4;
	padding: 0.5rem 0.5rem 0.1rem;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

.interview-list .swiper-button-next,
.interview-list .swiper-button-prev {
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 26px;
	height: 26px;
	z-index: 10;
	display: block;
	width: 3.5rem;
	height: 3.5rem;
	border-radius: 50%;
	background: #0B14F4;
	border: 2px solid #0B14F4;
	overflow: hidden;
	cursor: pointer;
}

.interview-list .swiper-button-next::before,
.interview-list .swiper-button-next::after,
.interview-list .swiper-button-prev::before,
.interview-list .swiper-button-prev::after {
	position: absolute;
	top: 50%;
	content: "";
	width: 1.3rem;
	height: 1.3rem;
	display: block;
}

.interview-list .swiper-button-next::before,
.interview-list .swiper-button-prev::before {
	background: url(../img/arrow_btn_white.svg) no-repeat center/contain;
}

.interview-list .swiper-button-next::after,
.interview-list .swiper-button-prev::after {
	-webkit-transition: opacity 0, top 0.4s, left 0.4s, right 0.4s;
	transition: opacity 0, top 0.4s, left 0.4s, right 0.4s;
	opacity: 0;
	top: 50%;
	background: url(../img/arrow_btn_hoverblue.svg) no-repeat center/contain;
}

.interview-list .swiper-button-next {
	right: 3rem;
}

.interview-list .swiper-button-next::before,
.interview-list .swiper-button-next::after {
	-webkit-transform: translate(-50%, -50%) rotate(45deg);
	-ms-transform: translate(-50%, -50%) rotate(45deg);
	transform: translate(-50%, -50%) rotate(45deg);
	left: 50%;
}

.interview-list .swiper-button-next::after {
	left: 0;
}

.interview-list .swiper-button-prev {
	left: 3rem;
}

.interview-list .swiper-button-prev::before,
.interview-list .swiper-button-prev::after {
	-webkit-transform: translate(50%, -50%) rotate(-135deg);
	-ms-transform: translate(50%, -50%) rotate(-135deg);
	transform: translate(50%, -50%) rotate(-135deg);
	right: 50%;
}

.interview-list .swiper-button-prev::after {
	right: 0;
}

.home-movie {
	padding: 10rem 0 6rem;
}

.home-movie__contents {
	position: relative;
}

.home-movie__deco {
	position: absolute;
	top: 7rem;
	right: -6%;
}

.home-movie__heading {
	margin-bottom: 2.6rem;
}

.home-movie__head {
	margin-bottom: 3rem;
}

.home-movie__text {
	position: relative;
	background: #ffffff;
	padding: 1rem;
	margin-top: 0.6rem;
	margin-left: -1rem;
}

.home-movie__main {
	position: relative;
	height: 19.7rem;
}

.home-movie__main iframe {
	width: 100%;
	height: 100%;
}

.home-message {
	padding: 5rem 0 10rem;
}

.home-message__contents {
	position: relative;
}

.home-message__deco {
	position: absolute;
	top: -0.8rem;
	left: 0;
	z-index: -1;
}

.home-message__main {
	padding: 2.8rem 0 0;
}

.home-message__heading {
	margin-bottom: 1.5rem;
}

.home-message__text-lg {
	margin-bottom: 1.5rem;
	margin-left: -1rem;
}

.home-message__text-lg span:first-child {
	padding-top: 0.9rem;
}

.home-message__image {
	margin-bottom: 2.1rem;
}

.home-message__image img {
	display: block;
}

.home-message__text {
	line-height: 1.7;
}

.home-message__name {
	text-align: right;
	margin-top: 1.7rem;
}

.home-message__name span {
	font-family: "TazuganeGothicStdN-Bold";
	margin-left: 0.5em;
}

.home-benefits {
	padding: 11.9rem 0 10rem;
}

.home-benefits__deco {
	position: absolute;
	top: -3.6rem;
	left: 0;
}

.home-benefits__heading {
	position: relative;
	margin-bottom: 2.6rem;
	letter-spacing: 0;
}

.home-benefits__text-lg {
	margin-bottom: 1.6rem;
}

.home-benefits__text-lg span::before {
	background: #E5EBF0;
}

.home-benefits__contents {
	margin-top: 4rem;
	background: #ffffff;
	padding: 4.3rem 2rem 4rem;
}

.home-benefits__contents__heading {
	font-size: 2.8rem;
	font-family: "TazuganeGothicStdN-Bold";
	line-height: 1.3;
	text-align: center;
	color: #0B14F4;
	margin-bottom: 1.7rem;
}

.home-benefits__item:not(:last-child) {
	margin-bottom: 3rem;
}

.home-benefits__item__main {
	margin-top: -2rem;
}

.home-benefits__item__heading {
	display: inline-block;
	font-size: 2rem;
	font-family: "TazuganeGothicStdN-Bold";
	line-height: 1.6;
	background: #ffffff;
	padding: 0.7rem 1rem 0.4rem 0;
	margin-bottom: 0.5rem;
	color: #0B14F4;
}

.home-benefits__image img {
	display: block;
	width: 100%;
}

.home-license {
	margin-top: 4rem;
}

.home-license__head {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin-bottom: 1.5rem;
}

.home-license__heading {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	font-size: 1.8rem;
	font-family: "TazuganeGothicStdN-Bold";
	line-height: 1.3;
	text-align: center;
	width: 10rem;
	height: 10rem;
	border-radius: 50%;
	background: #0B14F4;
	color: #ffffff;
	margin-right: 1rem;
	-ms-flex-negative: 0;
	flex-shrink: 0;
}

.home-license__list {
	font-size: 2rem;
	font-family: "TazuganeGothicStdN-Bold";
	line-height: 1.3;
	color: #0B14F4;
}

.home-license__list li {
	position: relative;
	padding: 1.8rem 1rem 1.1rem;
	border-bottom: 1px solid #AFC4E2;
	overflow: hidden;
}

.home-license__list li::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	background: #E5EBF0;
}

.home-license__list.is-visible li::before {
	-webkit-animation: slideToRight 0.5s ease-in-out forwards;
	animation: slideToRight 0.5s ease-in-out forwards;
}

.home-license__note {
	font-size: 1.6rem;
	letter-spacing: 0.05em;
	line-height: 1.5;
	text-align: right;
	margin-top: 1rem;
}

.home-license__button {
	text-align: right;
	margin-top: 4rem;
}

.home-company {
	padding: 10rem 0;
}

.home-company__deco {
	position: absolute;
	top: 0;
	right: -2.2rem;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	width: 3.5rem;
}

.home-company__deco span:not(:last-child) {
	margin-bottom: 2rem;
}

.home-company__heading {
	margin-bottom: 2rem;
}

.home-company__table {
	position: relative;
	background: #ffffff;
	width: 100%;
}

.home-company__table tr {
	border-bottom: 1px solid #AFC4E2;
}

.home-company__table th {
	display: block;
	width: 100%;
	font-family: "TazuganeGothicStdN-Bold";
	padding: 2rem 0 0;
}

.home-company__table td {
	display: block;
	width: 100%;
	padding: 1rem 0 1.9rem;
}

.gallery {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.gallery__item {
	-ms-flex-negative: 0;
	flex-shrink: 0;
	width: 112.8361vw;
}

.gallery__item img {
	display: block;
}

.gallery--03 .gallery__item {
	width: 85.4%;
}

.gallery--04 .gallery__item {
	width: 85.4%;
}

.requirements-link {
	position: relative;
}

.requirements-link__main {
	padding: 4.1rem 0 3.8rem;
	text-align: center;
	background: #ffffff;
}

.requirements-link__heading {
	margin-bottom: 0.9rem;
}

.requirements-link__heading__en {
	display: block;
	font: 700 3rem "Montserrat", sans-serif;
	letter-spacing: 0.03em;
	line-height: 1.05;
	margin-bottom: 1.2rem;
}

.requirements-link__heading__jp {
	font-size: 3.6rem;
	font-family: "TazuganeGothicStdN-Bold";
	line-height: 1.3;
	color: #0B14F4;
}

.interview-list-wrap {
	padding: 8rem 0 10rem;
	overflow: hidden;
}

.interview-list-wrap__head {
	position: relative;
	padding: 3.9rem 0 0;
	margin-bottom: 2.3rem;
	z-index: 1;
}

.interview-list-wrap__deco {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.interview-list-wrap__text-lg {
	position: relative;
	z-index: 1;
}

.interview-list-wrap__text-lg span::before {
	background: #E5EBF0;
}

.interview-list-wrap__lead {
	margin-bottom: 6rem;
}

.page-head {
	position: relative;
	height: 100vh;
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
	overflow: hidden;
}

.page-head--about {
	background-image: url(../img/bg_about_sp.jpg);
}

.page-head--requirement {
	background-image: url(../img/bg_requirement_sp.jpg);
}

.page-head--benefits {
	background-image: url(../img/bg_benefits_sp.jpg);
}

.page-head--interview1 {
	background-image: url(../img/bg_interview1_sp.jpg);
}

.page-head--interview2 {
	background-image: url(../img/bg_interview2_sp.jpg);
}

.page-head--interview3 {
	background-image: url(../img/bg_interview3_sp.jpg);
}

.page-head--interview4 {
	background-image: url(../img/bg_interview4_sp.jpg);
}

.page-head__deco-wrap {
	position: absolute;
	top: 0;
	right: -0.2rem;
	height: 100%;
}

.page-head__deco-wrap .infiniteslide_wrap {
	height: 100% !important;
}

.page-head__deco__item {
	width: 4.45rem;
	margin-bottom: 3rem;
}

.page-head__text {
	position: absolute;
	bottom: 2.5rem;
	left: 2rem;
	color: #ffffff;
}

.page-head__text__en {
	display: block;
	font: 700 2rem "Montserrat", sans-serif;
	letter-spacing: 0.03em;
	line-height: 1.05;
	margin-bottom: 1.5rem;
}

.page-head__text__jp {
	font-size: 5rem;
	font-family: "TazuganeGothicStdN-Bold";
	line-height: 1.3;
}

.breadcrumb {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 0 0 2rem;
}

.breadcrumb__item {
	font-size: 1.3rem;
	letter-spacing: 0.05em;
	line-height: 1.5;
}

.breadcrumb__item:not(:last-child)::after {
	content: "/";
	color: #CACBCE;
	padding-right: 0.3em;
}

.history {
	padding: 4.8rem 0 9.3rem;
}

.history__deco {
	height: 8.2rem;
}

.history__deco img {
	height: 100%;
}

.history__heading {
	margin-left: -1rem;
	margin-top: -0.3rem;
	margin-bottom: 1.3rem;
}

.history__heading .heading-2 > span:first-child {
	padding-top: 0.3em;
}

.history__image-1 {
	position: relative;
	left: calc(50% + 50vw);
	-webkit-transform: translateX(-100%);
	-ms-transform: translateX(-100%);
	transform: translateX(-100%);
	width: 89.1%;
	margin-top: 2.9rem;
}

.history__image-2 {
	position: relative;
	width: 83.4%;
	margin-top: -4.2rem;
}

.project {
	padding: 9rem 0 10rem;
}

.project__head {
	position: relative;
	margin-bottom: 5.9rem;
	padding-top: 8rem;
	margin-top: -8rem;
}

.project__deco {
	position: absolute;
	top: 0;
	right: 2rem;
	height: 10rem;
}

.project__deco img {
	height: 100%;
}

.project__heading {
	margin-bottom: 0.5rem;
}

.service {
	position: relative;
}

.service:not(:last-child) {
	margin-bottom: 9.9rem;
}

.service--reverse {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
}

.service--reverse .service__deco {
	left: auto;
	right: 0;
}

.service--reverse .service__deco span {
	-webkit-transform: translateX(0.8rem);
	-ms-transform: translateX(0.8rem);
	transform: translateX(0.8rem);
}

.service--reverse .service__image-wrap {
	margin-left: auto;
	margin-right: 0;
}

.service--reverse .service__image img {
	left: 0;
	-webkit-transform: translateX(0);
	-ms-transform: translateX(0);
	transform: translateX(0);
}

.service__deco {
	position: absolute;
	top: -2.2rem;
	left: 0;
	font: 700 4rem "Montserrat", sans-serif;
	letter-spacing: 0.01em;
	line-height: 1;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	overflow: hidden;
	z-index: 1;
}

.service__deco span {
	display: inline-block;
	-webkit-transform: translateX(-0.8rem);
	-ms-transform: translateX(-0.8rem);
	transform: translateX(-0.8rem);
}

.service__image-wrap {
	width: 94.87%;
	margin-bottom: 4rem;
}

.service__image {
	position: sticky;
	top: 0;
}

.service__image img {
	display: block;
	width: 100%;
}

.service__contents__inner {
	width: 89.74%;
	margin-left: auto;
	margin-right: auto;
}

.service__label {
	margin-bottom: 1.5rem;
}

.service__heading {
	font-size: 4rem;
	font-family: "TazuganeGothicStdN-Bold";
	line-height: 1.3;
	color: #0B14F4;
	margin-bottom: 1.9rem;
}

.service__lead {
	font-size: 2.4rem;
	font-family: "TazuganeGothicStdN-Bold";
	letter-spacing: 0.025em;
	line-height: 1.5;
	text-align: justify;
	margin-bottom: 1.8rem;
}

.service__gallery {
	margin-top: 4.2rem;
}

.service__gallery__heading {
	font-size: 2.8rem;
	font-family: "TazuganeGothicStdN-Bold";
	line-height: 1.3;
	text-align: center;
	color: #0B14F4;
	margin-bottom: 2.6rem;
}

.service__gallery__list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 1.9rem 5.8%;
}

.service__gallery__item {
	width: 47.1%;
}

.service__gallery__item figcaption {
	margin-top: 0.8rem;
}

.company {
	position: relative;
	padding: 11.8rem 0 10rem;
}

.company__deco {
	position: absolute;
	top: -2.2rem;
	left: 0;
	font: 700 4.6rem "Montserrat", sans-serif;
	line-height: 1.05;
}

.company__content:not(:last-child) {
	margin-bottom: 4.3rem;
}

.company__item:not(:last-child) {
	margin-bottom: 4.2rem;
}

.company__heading {
	font-size: 2.8rem;
	font-family: "TazuganeGothicStdN-Bold";
	line-height: 1.3;
	color: #0B14F4;
	margin-bottom: 2.9rem;
}

.company__base:not(:last-child) {
	margin-bottom: 2.2rem;
}

.company__name {
	font-size: 2rem;
	font-family: "TazuganeGothicStdN-Bold";
	line-height: 1.3;
	margin-bottom: 0.8rem;
}

.company__address {
	font-size: 1.4rem;
	letter-spacing: 0.05em;
	line-height: 1.5;
}

.company__image {
	margin-top: 3rem;
}

.company__image img {
	display: block;
}

.company__department {
	margin-top: 4.2rem;
}

.company__department__item:not(:last-child) {
	margin-bottom: 3rem;
}

.company__department__image img {
	display: block;
}

.company__department__main {
	margin-top: -2rem;
}

.company__department__heading {
	display: inline-block;
	font-size: 2rem;
	font-family: "TazuganeGothicStdN-Bold";
	line-height: 1.3;
	background: #ffffff;
	color: #0B14F4;
	padding: 0.5rem 0.5rem 0.1rem;
	margin-bottom: 1.2rem;
}

.company__department__text {
	font-size: 1.4rem;
	letter-spacing: 0.05em;
	line-height: 1.5;
	text-align: justify;
}

.company__button {
	text-align: right;
	margin-top: 4.2rem;
}

.policy {
	padding: 10rem 0 0;
}

.policy__deco {
	font: 700 4.6rem "Montserrat", sans-serif;
	letter-spacing: 0.03em;
	line-height: 1.05;
	text-align: center;
	margin-bottom: 2.5rem;
}

.policy__heading {
	text-align: center;
}

.policy__heading span {
	margin-left: auto;
	margin-right: auto;
}

.policy__list {
	margin-top: 4.5rem;
}

.policy__item:not(:last-child) .policy__main {
	padding-bottom: 2.8rem;
	border-bottom: 1px solid #AFC4E2;
	margin-bottom: 3rem;
}

.policy__item__heading {
	font-size: 2.8rem;
	font-family: "TazuganeGothicStdN-Bold";
	line-height: 1.3;
	color: #0B14F4;
	margin-bottom: 1.7rem;
	text-align: justify;
}

.policy__item__heading span {
	display: inline-block;
}

.policy__num {
	display: block;
	font: 700 2rem "Montserrat", sans-serif;
	letter-spacing: 0.03em;
	line-height: 1.05;
	margin-bottom: 1.3rem;
}

.policy__button {
	margin-top: 5.2rem;
	text-align: right;
}

.anchor-link {
	margin-bottom: 6.8rem;
}

.anchor-link__list {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 1rem 4rem;
	padding-bottom: 1.7rem;
	margin-bottom: 3.2rem;
}

.anchor-link__list::before {
	position: absolute;
	bottom: 0;
	left: 0;
	content: "";
	width: calc(50% + 50vw);
	height: 1px;
	display: block;
	background: #AFC4E2;
}

.anchor-link__item {
	font-size: 2.4rem;
	font-family: "TazuganeGothicStdN-Bold";
	line-height: 1.3;
}

.anchor-link__item a {
	position: relative;
	color: #0B14F4;
	text-decoration: none;
}

.anchor-link__icon {
	content: "";
	width: 2.6rem;
	height: 2.6rem;
	position: relative;
	display: inline-block;
	text-align: center;
	border-radius: 50%;
	border: 2px solid #0B14F4;
	background: #0B14F4;
	vertical-align: middle;
	-webkit-transform: translateY(-3px);
	-ms-transform: translateY(-3px);
	transform: translateY(-3px);
	margin-left: 0.8rem;
	color: #FFF;
}

.anchor-link__icon svg {
	width: 1.6rem;
	height: auto;
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.job-outline {
	padding: 0 0 10rem;
}

.job-outline--mt {
	margin-top: 8.8rem;
}

.job-outline__head {
	position: relative;
	padding-top: 3rem;
}

.job-outline__image {
	width: calc(50% + 50vw);
}

.job-outline__image img {
	display: block;
}

.job-outline__number {
	position: absolute;
	top: 0;
	left: -2rem;
	background: #fff;
	letter-spacing: 0.03em;
	line-height: 1.05;
	font: 700 5rem "Montserrat", sans-serif;
	padding: 1rem 1rem 0;
}

.job-outline__heading {
	position: absolute;
	bottom: -0.9rem;
	left: 0;
	font-family: "TazuganeGothicStdN-Bold";
	color: #0B14F4;
	line-height: 1.3;
	font-size: 4rem;
	background: #fff;
	padding: 1.4rem 2rem 0 0;
}

.job-outline__content {
	margin-top: 6.3rem;
}

.job-outline__item:not(:last-child) {
	margin-bottom: 5.2rem;
}

.job-outline__point {
	margin-top: 5.8rem;
	border: 1px solid #0B14F4;
	padding: 2.2rem 2rem 1.8rem;
}

.job-outline__point__heading {
	margin-bottom: 1.8rem;
	font-family: "TazuganeGothicStdN-Bold";
	font-size: 2.8rem;
	color: #0B14F4;
	line-height: 1.3;
}

.job-outline__note {
	color: #64676D;
	margin-top: 1.5rem;
}

.job-outline__note li {
	text-indent: -1em;
	padding-left: 1em;
}

.job-outline__note li:not(:last-child) {
	margin-bottom: 0.5rem;
}

.job-info {
	padding: 8.2rem 0 10rem;
}

.job-info__heading {
	margin-bottom: 4.9rem;
	color: #0B14F4;
	font-family: "TazuganeGothicStdN-Bold";
	line-height: 1.3;
	font-size: 3rem;
}

.benefits-lead {
	padding: 4.3rem 0 0;
	margin-bottom: 10.2rem;
}

.benefits-lead__item:not(:last-child) {
	margin-bottom: 6.2rem;
}

.benefits-lead__heading {
	font-size: 2.8rem;
	font-family: "TazuganeGothicStdN-Bold";
	line-height: 1.3;
	color: #0B14F4;
	margin-bottom: 1.7rem;
}

.benefits-lead__list {
	margin-top: 3rem;
}

.benefits:not(:last-child) {
	margin-bottom: 10.3rem;
}

.benefits__item {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 4rem calc(100% - 6rem);
	grid-template-columns: 4rem calc(100% - 6rem);
	gap: 0 2rem;
}

.benefits__item:not(:last-child) {
	margin-bottom: 2.9rem;
}

.benefits__item__heading {
	-ms-grid-column: 2;
	-ms-grid-column-span: 1;
	grid-column: 2/3;
	font-size: 1.8rem;
	font-family: "TazuganeGothicStdN-Bold";
	line-height: 1.3;
	margin-bottom: 1rem;
}

.benefits__icon {
	-ms-grid-column: 1;
	-ms-grid-column-span: 1;
	grid-column: 1/2;
	-ms-grid-row: 1;
	-ms-grid-row-span: 2;
	grid-row: 1/3;
	-ms-flex-negative: 0;
	flex-shrink: 0;
}

.benefits__icon img {
	display: block;
	width: 100%;
}

.benefits__text {
	-ms-grid-column: 2;
	-ms-grid-column-span: 1;
	grid-column: 2/3;
}

.interview-head {
	padding: 3.5rem 0 0;
	margin-bottom: 3.6rem;
}

.interview-head__info {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-bottom: 2rem;
}

.interview-head__info__inner {
	padding-top: 0.6rem;
}

.interview-head__num {
	position: relative;
	display: block;
	font: 700 5rem "Montserrat", sans-serif;
	color: #0B14F4;
	margin-right: 3.3rem;
	-ms-flex-negative: 0;
	flex-shrink: 0;
}

.interview-head__num::before {
	position: absolute;
	top: -0.5rem;
	left: -0.5rem;
	content: "";
	width: 7rem;
	height: 6.4rem;
	display: block;
	background: url(../img/icon_interview.svg) no-repeat center/contain;
	z-index: -1;
}

.interview-head__join {
	display: block;
	font-size: 1.4rem;
	letter-spacing: 0.05em;
	line-height: 1.5;
}

.interview-head__belong {
	display: block;
	font-size: 1.4rem;
	font-family: "TazuganeGothicStdN-Bold";
	letter-spacing: 0.05em;
	line-height: 1.5;
	margin-bottom: 0.7rem;
}

.interview-head__name {
	font-size: 2rem;
	font-family: "TazuganeGothicStdN-Bold";
	line-height: 1.5;
}

.interview-head__name span {
	font: 400 1.1rem "Montserrat", sans-serif;
	letter-spacing: 0;
	vertical-align: middle;
	padding-left: 1rem;
}

.interview-head__title {
	position: relative;
	font-size: 2.8rem;
	font-family: "TazuganeGothicStdN-Bold";
	letter-spacing: 0.05em;
	line-height: 1.3;
	color: #0B14F4;
	overflow: hidden;
}

.interview-head__title::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	background: #ffffff;
}

.interview-head__title.is-visible::before {
	-webkit-animation: slideToRight 0.5s ease-in-out forwards;
	animation: slideToRight 0.5s ease-in-out forwards;
}

.interview {
	padding: 0 0 10rem;
}

.interview__image {
	margin-bottom: 6rem;
}

.interview__item:not(:last-of-type) {
	margin-bottom: 6.3rem;
}

.interview__heading {
	position: relative;
	font-size: 2.4rem;
	font-family: "TazuganeGothicStdN-Bold";
	line-height: 1.3;
	padding-left: 4rem;
	color: #0B14F4;
	margin-bottom: 1.7rem;
	letter-spacing: 0.05em;
}

.interview__heading::before {
	position: absolute;
	top: 1.1rem;
	left: 0;
	content: "";
	width: 2rem;
	height: 1px;
	display: block;
	background: #0B14F4;
}

.interview__text {
	letter-spacing: 0.05em;
	line-height: 2;
	text-align: justify;
}

@font-face {
	font-family: "swiper-icons";
	src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff");
	font-weight: 400;
	font-style: normal;
}

:root {
	--swiper-theme-color: #007aff; /*
		--swiper-preloader-color: var(--swiper-theme-color);
		--swiper-wrapper-transition-timing-function: initial;
		*/
}

:host {
	position: relative;
	display: block;
	margin-left: auto;
	margin-right: auto;
	z-index: 1;
}

.swiper {
	margin-left: auto;
	margin-right: auto;
	position: relative;
	overflow: hidden;
	list-style: none;
	padding: 0; /* Fix of Webkit flickering */
	z-index: 1;
	display: block;
}

.swiper-vertical > .swiper-wrapper {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}

.swiper-wrapper {
	position: relative;
	width: 100%;
	height: 100%;
	z-index: 1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-transition-property: -webkit-transform;
	transition-property: -webkit-transform;
	transition-property: transform;
	transition-property: transform, -webkit-transform;
	-webkit-transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
	transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
	-webkit-transform: translate3d(0px, 0, 0);
	transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
	-ms-touch-action: pan-y;
	touch-action: pan-y;
}

.swiper-vertical {
	-ms-touch-action: pan-x;
	touch-action: pan-x;
}

.swiper-slide {
	-ms-flex-negative: 0;
	flex-shrink: 0;
	width: 100%;
	height: 100%;
	position: relative;
	-webkit-transition-property: -webkit-transform;
	transition-property: -webkit-transform;
	transition-property: transform;
	transition-property: transform, -webkit-transform;
	display: block;
}

.swiper-slide-invisible-blank {
	visibility: hidden;
}

/* Auto Height */

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
	height: auto;
}

.swiper-autoheight .swiper-wrapper {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-webkit-transition-property: height, -webkit-transform;
	transition-property: height, -webkit-transform;
	transition-property: transform, height;
	transition-property: transform, height, -webkit-transform;
}

.swiper-backface-hidden .swiper-slide {
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

/* 3D Effects */

.swiper-3d.swiper-css-mode .swiper-wrapper {
	-webkit-perspective: 1200px;
	perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
}

.swiper-3d {
	-webkit-perspective: 1200px;
	perspective: 1200px;
}

.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
}

/* CSS Mode */

.swiper-css-mode > .swiper-wrapper {
	overflow: auto;
	scrollbar-width: none; /* For Firefox */
	-ms-overflow-style: none; /* For Internet Explorer and Edge */
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
	display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
	scroll-snap-align: start start;
}

.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
	-ms-scroll-snap-type: x mandatory;
	scroll-snap-type: x mandatory;
}

.swiper-css-mode.swiper-vertical > .swiper-wrapper {
	-ms-scroll-snap-type: y mandatory;
	scroll-snap-type: y mandatory;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
	-ms-scroll-snap-type: none;
	scroll-snap-type: none;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
	scroll-snap-align: none;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
	content: "";
	-ms-flex-negative: 0;
	flex-shrink: 0;
	-webkit-box-ordinal-group: 10000;
	-ms-flex-order: 9999;
	order: 9999;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
	scroll-snap-align: center center;
	scroll-snap-stop: always;
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
	-webkit-margin-start: var(--swiper-centered-offset-before);
	margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
	height: 100%;
	min-height: 1px;
	width: var(--swiper-centered-offset-after);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
	-webkit-margin-before: var(--swiper-centered-offset-before);
	margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
	width: 100%;
	min-width: 1px;
	height: var(--swiper-centered-offset-after);
}

/* Slide styles start */

/* 3D Shadows */

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
	background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
	background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
	background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
	background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
	background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
	background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
	background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
	background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
	background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-lazy-preloader {
	width: 42px;
	height: 42px;
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -21px;
	margin-top: -21px;
	z-index: 10;
	-webkit-transform-origin: 50%;
	-ms-transform-origin: 50%;
	transform-origin: 50%;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
	border-radius: 50%;
	border-top-color: transparent;
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
	-webkit-animation: swiper-preloader-spin 1s infinite linear;
	animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
	--swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
	--swiper-preloader-color: #000;
}

/* Slide styles end */

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

html {
	font-size: calc(0.0625rem + (1vw - 0.01px) * 2.3136);
}

}

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

html { /* pc */
	font-size: calc(0.0625rem + (1vw - 0.01px) * 0.7037);
}

.l-header { /* pc */
	padding: 24px 22px 24px 30px;
	height: 108px;
}

.l-footer { /* pc */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.l-wrapper { /* pc */
	width: 90.62%;
	max-width: 1740px;
}

.l-wrapper-sm { /* pc */
	width: 77.81%;
	max-width: 966px;
}

.l-navi::before { /* pc */
	top: 2.4rem;
	right: 2.2rem;
	width: 6rem;
	height: 6rem;
}

.l-navi__inner { /* pc */
	-webkit-transform: none;
	-ms-transform: none;
	transform: none;
}

.l-navi__main { /* pc */
	padding: 10rem 8.1rem 2rem;
	min-height: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}

.l-page { /* pc */
	padding: 10rem 0 15rem;
}

.l-page--pb-sm { /* pc */
	padding-bottom: 3rem;
}

.navi-list-wrap { /* pc */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 0 10rem;
}

.navi-list { /* pc */
	padding-left: 2.5rem;
}

.navi-list:not(:last-child) { /* pc */
	margin-bottom: 0;
}

.navi-list__label { /* pc */
	font-size: 1.4rem;
}

.navi-list__list { /* pc */
	padding: 0.2rem 0 0 4rem;
}

.navi-list__item:not(:last-child) { /* pc */
	margin-bottom: 3.9rem;
}

.navi-list__item a { /* pc */
}

.navi-list__item a:hover .navi-list__item__arrow {
	background: #0038FF;
}

.navi-list__item a:hover .navi-list__item__arrow::before {
	top: 0;
	left: 100%;
}

.navi-list__item a:hover .navi-list__item__arrow::after {
	top: 50%;
	left: 50%;
}

.navi-list__item__en { /* pc */
	font-size: 3.4rem;
	letter-spacing: 0.02em;
}

.navi-list__item__arrow { /* pc */
	width: 4rem;
	height: 4rem;
	-webkit-transform: translateY(-7px);
	-ms-transform: translateY(-7px);
	transform: translateY(-7px);
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.navi-list__item__arrow::before,
.navi-list__item__arrow::after { /* pc */
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.navi-list__item__jp { /* pc */
	font-size: 1.4rem;
	margin-top: 0;
}

.navi-buttons { /* pc */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 0 2rem;
	margin-top: 10rem;
	margin-top: clamp(2rem, 9vh, 10rem);
	padding-left: 0;
}

.navi-buttons__item:not(:last-child) { /* pc */
	margin-bottom: 0;
}

.navi-buttons__item a { /* pc */
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.navi-buttons__item a:hover {
	background: none;
	color: #ffffff;
}

.navi-buttons__item a[target=_blank] { /* pc */
}

.navi-buttons__item a[target=_blank]:hover::after {
	background-image: url(../img/icon_external_white.svg);
}

.navi-buttons__item a[target=_blank]::after { /* pc */
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.header-logo { /* pc */
	margin-bottom: 1rem;
}

.header-logo__image { /* pc */
	width: 24rem;
}

.header-logo__text { /* pc */
	font-size: 1.2rem;
	margin-left: 2rem;
}

.menu-btn { /* pc */
	top: 2.4rem;
	right: 2.2rem;
	width: 6rem;
	height: 6rem;
}

.menu-btn:hover span {
	top: 50%;
}

.menu-btn:hover span:first-child {
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.menu-btn:hover span:nth-child(3) {
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.menu-btn.is-closed:hover span {
	top: 50%;
}

.menu-btn.is-closed:hover span:first-child {
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.menu-btn.is-closed:hover span:nth-child(3) {
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.menu-btn span { /* pc */
	width: 3.4rem;
	height: 0.2rem;
}

.menu-btn span:first-child { /* pc */
	-webkit-transform: translate(-50%, calc(-50% - 0.7rem));
	-ms-transform: translate(-50%, calc(-50% - 0.7rem));
	transform: translate(-50%, calc(-50% - 0.7rem));
}

.menu-btn span:nth-child(3) { /* pc */
	-webkit-transform: translate(-50%, calc(-50% + 0.7rem));
	-ms-transform: translate(-50%, calc(-50% + 0.7rem));
	transform: translate(-50%, calc(-50% + 0.7rem));
}

.menu-btn.is-opend span:first-child { /* pc */
	-webkit-animation: none;
	animation: none;
	-webkit-transform: translate(-50%, -50%) rotate(30deg);
	-ms-transform: translate(-50%, -50%) rotate(30deg);
	transform: translate(-50%, -50%) rotate(30deg);
}

.menu-btn.is-opend span:nth-child(3) { /* pc */
	-webkit-animation: none;
	animation: none;
	-webkit-transform: translate(-50%, -50%) rotate(-30deg);
	-ms-transform: translate(-50%, -50%) rotate(-30deg);
	transform: translate(-50%, -50%) rotate(-30deg);
}

.menu-btn.is-closed span:first-child { /* pc */
	-webkit-animation: none;
	animation: none;
	-webkit-transform: translate(-50%, calc(-50% - 0.7rem));
	-ms-transform: translate(-50%, calc(-50% - 0.7rem));
	transform: translate(-50%, calc(-50% - 0.7rem));
}

.menu-btn.is-closed span:nth-child(3) { /* pc */
	-webkit-animation: none;
	animation: none;
	-webkit-transform: translate(-50%, calc(-50% + 0.7rem));
	-ms-transform: translate(-50%, calc(-50% + 0.7rem));
	transform: translate(-50%, calc(-50% + 0.7rem));
}

.navi-deco { /* pc */
	font-size: 12.3rem;
}

.navi-logo { /* pc */
	margin-bottom: 1rem;
}

.navi-logo__image { /* pc */
	width: 24rem;
}

.navi-logo__text { /* pc */
	font-size: 1.2rem;
	margin-left: 2rem;
}

.cv-area { /* pc */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 6.8rem 6rem 6rem;
}

.cv-area__heading { /* pc */
	font-size: 5rem;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	margin-right: 4.5rem;
}

.cv-area__main { /* pc */
	margin-bottom: 0;
}

.cv-area__main__heading { /* pc */
	font-size: 4rem;
	margin-bottom: 2.3rem;
	padding-top: 0.4rem;
}

.cv-area__main__text-lg { /* pc */
	font-size: 3rem;
}

.cv-area__main__text-sm { /* pc */
	margin-bottom: 2.2rem;
}

.cv-area__main__tel { /* pc */
	pointer-events: none;
}

.cv-area__buttons { /* pc */
	margin-left: auto;
	width: 50%;
}

.cv-area__buttons__item { /* pc */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding: 3.4rem 3rem 2.8rem 2.5rem;
}

.cv-area__buttons__text { /* pc */
	font-size: 3rem;
	text-align: left;
}

.cv-area__buttons__text span { /* pc */
	font-size: 1.6rem;
	padding: 1.2rem 1rem 0.8rem;
	margin-left: 0;
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0);
}

.cv-area__button { /* pc */
	position: relative;
	padding: 2.7rem 0 2.1rem;
	width: 50.5%;
	-ms-flex-negative: 0;
	flex-shrink: 0;
	overflow: hidden;
	z-index: 1;
	margin-top: 0;
	font-size: 2rem;
}

.cv-area__button:hover::before {
	opacity: 1;
}

.cv-area__button::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	background: -webkit-gradient(linear, left top, right bottom, from(#0EC5FF), to(#0E43FF));
	background: linear-gradient(to right bottom, #0EC5FF, #0E43FF);
	opacity: 0;
	-webkit-transition: 0.4s;
	transition: 0.4s;
	z-index: -1;
	will-change: opacity;
}

.footer { /* pc */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: calc(100% - 6rem);
	padding: 5.9rem 6rem 6.6rem;
}

.footer__navi-wrap { /* pc */
	-webkit-box-ordinal-group: 3;
	-ms-flex-order: 2;
	order: 2;
	width: 31.5%;
	gap: 3.3rem 5.8%;
	padding-top: 0.7rem;
}

.footer__navi-wrap { /* pc */
	margin-bottom: 0;
}

.footer__navi { /* pc */
	width: 47.1%;
}

.footer__navi__item a { /* pc */
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.footer__navi__item a:hover {
	color: #0038FF;
}

.footer__buttons { /* pc */
	margin-bottom: 0;
	-webkit-box-ordinal-group: 4;
	-ms-flex-order: 3;
	order: 3;
	width: 24rem;
	margin-left: auto;
}

.footer__button a { /* pc */
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.footer__button a:hover {
	border-color: #0038FF;
}

.footer__info { /* pc */
	-webkit-box-ordinal-group: 2;
	-ms-flex-order: 1;
	order: 1;
	margin-right: 11.5rem;
}

.footer__logo { /* pc */
	width: 20rem;
}

.footer__sns__item a { /* pc */
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.footer__sns__item a:hover {
	opacity: 0.6;
}

.pagetop { /* pc */
	right: 6rem;
	width: 33.1rem;
	height: 6rem;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	padding-right: 6rem;
}

.fixed-btn { /* pc */
	bottom: 3.4rem;
	right: 3.4rem;
	width: 12rem;
	height: 12rem;
	font-size: 1.6rem;
}

.fixed-btn:hover::after {
	opacity: 1;
}

.fixed-btn::after {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	border-radius: 50%;
	background: -webkit-gradient(linear, left top, right bottom, from(#0EC5FF), to(#0E43FF));
	background: linear-gradient(to right bottom, #0EC5FF, #0E43FF);
	opacity: 0;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.fixed-btn::before { /* pc */
	top: -1.35rem;
	left: -1.35rem;
	width: calc(100% + 2.7rem);
	height: calc(100% + 2.7rem);
}

.heading-1 { /* pc */
	font-size: 3rem;
	letter-spacing: 0;
	padding: 1rem 1rem 1rem;
}

.heading-1--h-lg { /* pc */
	padding: 1.3rem 1rem 0.8rem;
}

.heading-1--mont { /* pc */
	font-size: 2.4rem;
	line-height: 1;
	padding: 1rem;
}

.heading-2 { /* pc */
	font-size: 6rem;
	line-height: 1;
}

.heading-2__pc-line { /* pc */
	display: inline-block;
	position: relative;
	background: #ffffff;
	padding: 1.5rem 1rem 0.3rem;
	overflow: hidden;
	white-space: nowrap;
}

.heading-2__pc-line::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 100%;
	display: inline-block;
	background: #ffffff;
}

.heading-2--simple .heading-2__sp-line,
.heading-2--simple .heading-2__pc-line { /* pc */
	padding: 0;
	line-height: 1.3;
}

.heading-2--sp-simple { /* pc */
	-webkit-transform: scale(0, 1);
	-ms-transform: scale(0, 1);
	transform: scale(0, 1);
}

.heading-2--sp-simple .heading-2__sp-line { /* pc */
	background: #ffffff;
}

.heading-2--sp-simple.is-visible { /* pc */
	-webkit-animation: stretchToRight 0.5s ease-in-out forwards;
	animation: stretchToRight 0.5s ease-in-out forwards;
}

.heading-2--sp-simple.is-visible .heading-2__sp-line::before { /* pc */
	-webkit-animation: slideToRight 0.5s ease-in-out 0.3s forwards;
	animation: slideToRight 0.5s ease-in-out 0.3s forwards;
}

.heading-2--fz-xsm { /* pc */
	font-size: 5.2rem;
}

.heading-2--fz-sm { /* pc */
	font-size: 5rem;
}

.heading-2--fz-md { /* pc */
	font-size: 8rem;
}

.heading-2--fz-md-2 { /* pc */
	font-size: 8rem;
}

.heading-2--fz-lg { /* pc */
	font-size: 9rem;
}

.heading-3 { /* pc */
	font-size: 2.8rem;
}

.heading-4 { /* pc */
	font-size: 4rem;
	margin-bottom: 4rem;
}

.button-primary { /* pc */
	font-size: 2rem;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.button-primary:hover {
	color: #0038FF;
}

.button-primary:hover .button-primary__text::before {
	-webkit-transform: scale(0, 1);
	-ms-transform: scale(0, 1);
	transform: scale(0, 1);
}

.button-primary:hover .button-primary__icon {
	background: none;
}

.button-primary:hover .button-primary__icon::before {
	top: 0;
	left: 100%;
}

.button-primary:hover .button-primary__icon::after {
	top: 50%;
	left: 50%;
}

.button-primary--pc-fz-sm { /* pc */
	font-size: 1.8rem;
}

.button-primary__icon { /* pc */
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.button-primary__icon::before,
.button-primary__icon::after { /* pc */
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.button-secondary { /* pc */
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.button-secondary:hover {
	color: #0038FF;
}

.button-secondary:hover::before {
	-webkit-transform: scale(0, 1);
	-ms-transform: scale(0, 1);
	transform: scale(0, 1);
}

.button-secondary::before { /* pc */
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.table-1 tr { /* pc */
	display: table-row;
}

.table-1 tr::before { /* pc */
	content: none;
}

.table-1 th,
.table-1 td { /* pc */
	display: table-cell;
	padding: 1.5rem 0 1.4rem;
}

.table-1 th { /* pc */
	width: 19.3rem;
	border-bottom: 1px solid #000;
}

.table-1 td { /* pc */
	padding-left: 2rem;
}

.table-1 a { /* pc */
}

.table-1 a:hover {
	text-decoration: none;
}

.en-deco { /* pc */
	height: 24.7rem;
}

.en-deco--vertical { /* pc */
	width: 24.7rem;
}

.en-deco--vertical-sp-long { /* pc */
	width: 24.7rem;
}

.mainvisual { /* pc */
	margin-bottom: 0.3rem;
}

.mainvisual__inner { /* pc */
	width: 87.5%;
}

.mainvisual__inner::before { /* pc */
	height: 15rem;
}

.mainvisual__copy { /* pc */
	bottom: auto;
	top: 50%;
	left: 5.2rem;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	height: 182px;
}

.mainvisual__copy__text { /* pc */
	font-size: 7rem;
}

.mainvisual__copy__text__pc-line { /* pc */
	padding: 1.7rem 1rem 0.4rem;
	display: inline-block;
	position: relative;
	background: #ffffff;
	overflow: hidden;
}

.mainvisual__copy__text__pc-line:not(:first-child) {
	margin-top: -0.1rem;
}

.mainvisual__copy__text__pc-line::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	background: #ffffff;
}

.mainvisual__text-deco { /* pc */
	font-size: 11.7rem;
	position: absolute;
	top: -1.8rem;
	right: -1.8rem;
	letter-spacing: 0.03em;
}

.mainvisual__bottom { /* pc */
	padding: 4rem 20rem 0 5rem;
}

.mainvisual__text-lg { /* pc */
	font-size: 11rem;
	padding-left: 0;
}

.mainvisual__text-sm { /* pc */
	font-size: 2rem;
	letter-spacing: 0.08em;
	margin-top: -2.5rem;
	padding: 0;
}

.mainvisual__text-sm__line:first-child span { /* pc */
	padding: 1rem 1rem 0 1rem;
}

.mainvisual__text-sm__line:nth-child(2) span { /* pc */
	padding: 0 1rem 1rem;
}

.recruiting { /* pc */
	padding: 0;
}

.recruiting__contents { /* pc */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	padding: 0 0 3.8rem;
}

.recruiting__main { /* pc */
	width: 36.5%;
	padding: 3rem 0 0;
}

.recruiting__deco { /* pc */
	margin-left: -1.2rem;
	margin-bottom: 4.3rem;
}

.recruiting__image-wrap { /* pc */
	width: 58.4%;
	margin-top: 0;
	-ms-flex-negative: 0;
	flex-shrink: 0;
}

.recruiting__image { /* pc */
	width: 57.6vw;
}

.recruiting__text-wrap { /* pc */
	position: relative;
	margin-top: 0;
	padding-left: 8.7rem;
}

.recruiting__heading { /* pc */
	position: absolute;
	top: 1rem;
	left: 0;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}

.recruiting__text-lg { /* pc */
	margin-bottom: 2.9rem;
	margin-left: 0;
}

.recruiting__text-sm { /* pc */
	padding-left: 1.5rem;
}

.works { /* pc */
	padding: 3rem 0 4.8rem;
}

.works__text-lg { /* pc */
	display: block;
	width: calc(100% + 3.4rem);
	font-size: 10rem;
	margin-left: -1rem;
}

.works__text-lg__pc-line { /* pc */
	display: inline-block;
	position: relative;
	color: #0B14F4;
}

.works__text-lg__pc-line::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	background: #ffffff;
}

.works__text-md { /* pc */
	font-size: 3rem;
	margin-bottom: 0.8rem;
	margin-top: -2.5rem;
}

.works__text-md span { /* pc */
	padding: 0.8rem 14rem 0 1rem;
}

.works__text-sm { /* pc */
	padding-left: 0.5rem;
}

.works__images { /* pc */
	gap: 1rem 1.6%;
}

.works__image { /* pc */
	width: 23.8%;
}

.job-intro { /* pc */
	padding: 4rem 0 10rem;
}

.job-intro__deco { /* pc */
	top: 10.5rem;
	left: -1rem;
}

.job-intro__head { /* pc */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	margin-bottom: 5rem;
}

.job-intro__heading { /* pc */
	-ms-flex-negative: 0;
	flex-shrink: 0;
	margin-bottom: 0;
	margin-right: 5.4rem;
	margin-top: 1.5rem;
}

.job-intro__item-wrap { /* pc */
	width: 84.2%;
	margin-left: auto;
	margin-right: -1.2rem;
}

.job-intro__item { /* pc */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.job-intro__item:not(:last-of-type) { /* pc */
	margin-bottom: 5.8rem;
}

.job-intro__image-wrap { /* pc */
	width: 53.2%;
}

.job-intro__image { /* pc */
	width: calc(100% + 6rem);
}

.job-intro__main { /* pc */
	width: 46.8%;
	margin-top: -2rem;
}

.job-intro__main__inner { /* pc */
	padding: 2.1rem 1rem 1.5rem 1rem;
	height: calc(100% - 8rem);
}

.job-intro__main__heading { /* pc */
	font-size: 6rem;
	margin-bottom: -0.3rem;
}

.job-intro__label { /* pc */
	font-size: 2.4rem;
}

.job-intro__occupation { /* pc */
	font-size: 3rem;
	margin-bottom: 1.8rem;
}

.job-intro__button { /* pc */
	margin-top: 2rem;
}

.interview-list__item a { /* pc */
}

.interview-list__item a:hover .interview-list__image__01 {
	opacity: 0;
}

.interview-list__item a:hover .interview-list__image__02 {
	opacity: 1;
}

.interview-list__head { /* pc */
	top: -3rem;
}

.interview-list__num { /* pc */
	font-size: 6.2rem;
}

.interview-list__info__belong { /* pc */
	font-size: 1.6rem;
}

.interview-list__info__year { /* pc */
	font-size: 1.4rem;
}

.interview-list__name__jp { /* pc */
	font-size: 1.8rem;
}

.interview-list__name__en { /* pc */
	font-size: 1.1rem;
}

.interview-list__title { /* pc */
	margin-top: -3.5rem;
}

.interview-list__title span { /* pc */
	font-size: 1.8rem;
	line-height: 1.5;
}

.interview-list .swiper-button-next,
.interview-list .swiper-button-prev { /* pc */
	-webkit-transition: 0.4s;
	transition: 0.4s;
	width: 5.5rem;
	height: 5.5rem;
}

.interview-list .swiper-button-next:hover,
.interview-list .swiper-button-prev:hover {
	background: #FFF;
}

.interview-list .swiper-button-next:hover::before,
.interview-list .swiper-button-prev:hover::before {
	-webkit-transform: scale(0, 1);
	-ms-transform: scale(0, 1);
	transform: scale(0, 1);
}

.interview-list .swiper-button-next:hover::after,
.interview-list .swiper-button-prev:hover::after {
	opacity: 1;
}

.interview-list .swiper-button-next::before,
.interview-list .swiper-button-next::after,
.interview-list .swiper-button-prev::before,
.interview-list .swiper-button-prev::after { /* pc */
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.interview-list .swiper-button-next { /* pc */
	right: 50%;
	margin-right: -24.3rem;
}

.interview-list .swiper-button-prev { /* pc */
	left: 50%;
	margin-left: -24.3rem;
}

.home-movie { /* pc */
	padding: 10.7rem 0 7.5rem;
}

.home-movie__deco { /* pc */
	top: 11rem;
	right: auto;
	left: -1rem;
}

.home-movie__heading { /* pc */
	margin-bottom: 0;
	margin-top: 2.2rem;
}

.home-movie__head { /* pc */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	margin-bottom: 4rem;
}

.home-movie__head__inner { /* pc */
	margin-left: 9.8rem;
}

.home-movie__text { /* pc */
	padding: 0;
	margin-top: 1.3rem;
	margin-left: 0.3rem;
}

.home-movie__main { /* pc */
	width: 83.2%;
	height: 54.3rem;
	margin-left: auto;
	margin-right: auto;
}

.home-message { /* pc */
	padding: 6rem 0 12rem;
}

.home-message__contents { /* pc */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
}

.home-message__deco { /* pc */
	top: -1.7rem;
}

.home-message__main { /* pc */
	width: 44.8%;
	padding: 6.2rem 0 0 1rem;
}

.home-message__heading { /* pc */
	margin-bottom: 2rem;
}

.home-message__text-lg { /* pc */
	margin-bottom: 2.6rem;
}

.home-message__text-lg span { /* pc */
	padding: 1.2rem 1rem 0.3rem;
}

.home-message__text-lg span:first-child { /* pc */
	padding-top: 1.8rem;
}

.home-message__image { /* pc */
	width: 49.9%;
	margin-bottom: 0;
}

.home-benefits { /* pc */
	padding: 17.8rem 0 10rem;
}

.home-benefits__head { /* pc */
	padding-left: 1rem;
}

.home-benefits__deco { /* pc */
	top: -7.9rem;
	left: 1rem;
}

.home-benefits__text-lg { /* pc */
	margin-bottom: -0.2rem;
}

.home-benefits__contents { /* pc */
	padding: 4.4rem 4rem 4rem;
}

.home-benefits__contents__heading { /* pc */
	margin-bottom: 1.8rem;
}

.home-benefits__contents__inner { /* pc */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 0 2.75%;
}

.home-benefits__item { /* pc */
	width: 31.5%;
}

.home-benefits__item:not(:last-child) { /* pc */
	margin-bottom: 0;
}

.home-benefits__item__main { /* pc */
	margin-top: -1.5rem;
}

.home-benefits__item__heading { /* pc */
	font-size: 2.35rem;
	padding: 0.5rem 1rem 0.5rem 0;
	margin-bottom: 0;
	white-space: nowrap;
}

.home-license__contents { /* pc */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
}

.home-license__head { /* pc */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	width: 28rem;
	height: 28rem;
	border-radius: 50%;
	background: #0B14F4;
	color: #ffffff;
	margin-left: 1.5rem;
	margin-right: 9.2rem;
	-ms-flex-negative: 0;
	flex-shrink: 0;
	padding: 0 3.7rem;
	margin-bottom: 0.3rem;
}

.home-license__heading { /* pc */
	display: block;
	width: auto;
	height: auto;
	border-radius: 0;
	background: none;
	font-size: 3rem;
	margin-bottom: 0.9rem;
}

.home-license__list { /* pc */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	font-size: 3rem;
	gap: 0 2.8%;
}

.home-license__list li { /* pc */
	width: 48.6%;
	padding: 2.3rem 0 1.6rem;
}

.home-license__list li:first-child {
	width: 100%;
}

.home-company { /* pc */
	padding: 12rem 0;
}

.home-company__contents { /* pc */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.home-company__head { /* pc */
	-ms-flex-negative: 0;
	flex-shrink: 0;
	margin-right: 15rem;
}

.home-company__deco { /* pc */
	top: 9rem;
	right: auto;
	left: -1rem;
}

.home-company__deco span:not(:last-child) { /* pc */
	margin-bottom: 0;
}

.home-company__table { /* pc */
	max-width: 773px;
}

.home-company__table th { /* pc */
	display: table-cell;
	width: 17.4rem;
	padding: 2.2rem 0 0;
}

.home-company__table td { /* pc */
	display: table-cell;
	width: auto;
	padding: 1rem 0 1.75rem;
}

.gallery__item { /* pc */
	width: 42.9625vw;
}

.gallery--03 .gallery__item { /* pc */
	width: 43%;
}

.gallery--04 .gallery__item { /* pc */
	width: 43%;
}

.requirements-link__main { /* pc */
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	padding: 3rem 3rem 2.8rem;
	z-index: 2;
}

.requirements-link__heading { /* pc */
	margin-bottom: 0.7rem;
}

.requirements-link__heading__en { /* pc */
	font-size: 6rem;
	margin-bottom: 0.5rem;
}

.requirements-link__heading__jp { /* pc */
	font-size: 5rem;
}

.interview-list-wrap { /* pc */
	padding: 10rem 0;
}

.interview-list-wrap__head { /* pc */
	padding: 7.8rem 0 0;
	margin-bottom: 2.7rem;
}

.interview-list-wrap__text-lg { /* pc */
	margin-bottom: -0.3rem;
}

.page-head--about { /* pc */
	background-image: url(../img/bg_about_pc.jpg);
}

.page-head--requirement { /* pc */
	background-image: url(../img/bg_requirement_pc.jpg);
}

.page-head--benefits { /* pc */
	background-image: url(../img/bg_benefits_pc.jpg);
}

.page-head--interview1 { /* pc */
	background-image: url(../img/bg_interview1_pc.jpg);
}

.page-head--interview2 { /* pc */
	background-image: url(../img/bg_interview2_pc.jpg);
}

.page-head--interview3 { /* pc */
	background-image: url(../img/bg_interview3_pc.jpg);
}

.page-head--interview4 { /* pc */
	background-image: url(../img/bg_interview4_pc.jpg);
}

.page-head__deco-wrap { /* pc */
	right: -0.3rem;
}

.page-head__deco__item { /* pc */
	width: 8.8rem;
}

.page-head__text { /* pc */
	bottom: 0.1rem;
	left: 3rem;
}

.page-head__text__en { /* pc */
	font-size: 3rem;
	margin-bottom: 1.3rem;
}

.page-head__text__jp { /* pc */
	font-size: 10rem;
}

.breadcrumb { /* pc */
	padding: 0 0 3rem;
}

.history { /* pc */
	padding: 1.6rem 0 5.4rem;
	overflow: hidden;
}

.history__deco { /* pc */
	height: 17.8rem;
}

.history__heading { /* pc */
	position: relative;
	z-index: 1;
	margin-top: -1.1rem;
	margin-bottom: 1.1rem;
}

.history__heading .heading-2 > span:first-child { /* pc */
	padding-top: 0.35em;
}

.history__text { /* pc */
	width: 63.5rem;
	margin-left: 0.3rem;
}

.history__image-1 { /* pc */
	position: absolute;
	top: 0;
	width: 42.4vw;
	margin-top: -1.3rem;
}

.history__image-2 { /* pc */
	left: 50%;
	-webkit-transform: translateX(-50vw);
	-ms-transform: translateX(-50vw);
	transform: translateX(-50vw);
	width: 54.3rem;
	margin-top: 6rem;
}

.project { /* pc */
	padding: 5rem 0 19rem;
}

.project__head { /* pc */
	padding-top: 17.1rem;
	margin-bottom: 7.9rem;
	overflow: hidden;
	margin-top: -17.1rem;
}

.project__deco { /* pc */
	right: 0.2rem;
	height: 21.7rem;
}

.project__heading { /* pc */
	margin-bottom: 0.3rem;
}

.project__lead { /* pc */
	padding-left: 0.5rem;
}

.service { /* pc */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.service:not(:last-child) { /* pc */
	margin-bottom: 14.8rem;
}

.service--reverse .service__deco { /* pc */
}

.service--reverse .service__deco span { /* pc */
	-webkit-transform: translateX(1.8rem);
	-ms-transform: translateX(1.8rem);
	transform: translateX(1.8rem);
}

.service--reverse .service__contents__inner { /* pc */
	margin-left: auto;
	margin-right: 0;
}

.service__deco { /* pc */
	font-size: 10rem;
	top: -5.2rem;
	z-index: 1;
	width: 10rem;
}

.service__deco span { /* pc */
	-webkit-transform: translateX(-1.5rem);
	-ms-transform: translateX(-1.5rem);
	transform: translateX(-1.5rem);
}

.service__image-wrap { /* pc */
	width: 50%;
	margin-bottom: 0;
}

.service__image img { /* pc */
	max-width: none;
	height: 100vh;
	-o-object-fit: cover;
	object-fit: cover;
}

.service__contents { /* pc */
	width: 42.42%;
}

.service__contents__inner { /* pc */
	width: 88.95%;
	max-width: 667px;
	margin-left: 0;
}

.service__label { /* pc */
	margin-bottom: 2rem;
}

.service__heading { /* pc */
	font-size: 5.2rem;
	margin-bottom: 1.8rem;
}

.service__gallery__heading { /* pc */
	font-size: 3rem;
	text-align: left;
}

.service__gallery__list { /* pc */
	gap: 2rem 4.2%;
}

.service__gallery__item { /* pc */
	width: 47.9%;
}

.company { /* pc */
	padding: 10.3rem 0 9.8rem;
}

.company__contents { /* pc */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.company__deco { /* pc */
	top: -4rem;
	font-size: 10rem;
}

.company__content { /* pc */
	width: 46.6%;
}

.company__content:not(:last-child) { /* pc */
	margin-bottom: 0;
}

.company__heading { /* pc */
	font-size: 3rem;
	margin-bottom: 3rem;
}

.company__base:not(:last-child) { /* pc */
	margin-bottom: 2.3rem;
}

.company__name { /* pc */
	font-size: 2.4rem;
	margin-bottom: 0.7rem;
}

.company__name--pc-sm { /* pc */
	font-size: 2rem;
}

.company__department { /* pc */
	margin-top: 6.2rem;
}

.company__department__list { /* pc */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 2rem 0.8%;
}

.company__department__item { /* pc */
	width: 24.4%;
}

.company__department__item:not(:last-child) { /* pc */
	margin-bottom: 0;
}

.company__department__main { /* pc */
	padding-right: 1.95rem;
}

.company__department__heading { /* pc */
	margin-bottom: 1.1rem;
}

.policy { /* pc */
	position: relative;
	padding: 16rem 0 0;
	overflow: hidden;
}

.policy__deco { /* pc */
	position: absolute;
	top: 15.2rem;
	right: -1.8rem;
	font-size: 10rem;
	line-height: 1;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-align: left;
}

.policy__heading { /* pc */
	text-align: left;
}

.policy__heading span { /* pc */
	margin-left: 0;
}

.policy__contents { /* pc */
	max-width: 87rem;
}

.policy__list { /* pc */
	margin-top: 4.3rem;
	padding-left: 2.8rem;
}

.policy__item { /* pc */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.policy__item:not(:last-child) .policy__main { /* pc */
	margin-bottom: 3.3rem;
}

.policy__item__heading { /* pc */
	font-size: 3rem;
	margin-bottom: 1.8rem;
}

.policy__num { /* pc */
	font-size: 3.6rem;
	-ms-flex-negative: 0;
	flex-shrink: 0;
	margin-top: -0.2rem;
	width: 6.9rem;
}

.policy__button { /* pc */
	margin-top: 4rem;
}

.anchor-link { /* pc */
	margin-bottom: 7rem;
	overflow: hidden;
}

.anchor-link__contents { /* pc */
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding-bottom: 1.4rem;
}

.anchor-link__contents::before {
	position: absolute;
	bottom: 0;
	left: 0;
	content: "";
	width: calc(50% + 50vw);
	height: 1px;
	display: block;
	background: #AFC4E2;
}

.anchor-link__list { /* pc */
	padding-bottom: 1.7rem;
	padding-bottom: 0;
	margin-right: 6rem;
	margin-bottom: 0;
	border-bottom: none;
}

.anchor-link__list::before { /* pc */
	content: none;
}

.anchor-link__item { /* pc */
	font-size: 2.8rem;
}

.anchor-link__item a { /* pc */
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.anchor-link__item a:hover {
	color: #0038FF;
}

.anchor-link__item a:hover .anchor-link__icon {
	color: #0B14F4;
	background: #ffffff;
}

.anchor-link__icon { /* pc */
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.job-outline { /* pc */
	padding: 0 0 12rem;
	overflow: hidden;
}

.job-outline--mt { /* pc */
	margin-top: 14rem;
}

.job-outline__head { /* pc */
	padding-top: 5rem;
}

.job-outline__number { /* pc */
	left: -4rem;
	font-size: 12rem;
	background: none;
	padding: 0;
}

.job-outline__heading { /* pc */
	bottom: -1.1rem;
	padding: 1.6rem 2rem 0 0;
	font-size: 6rem;
}

.job-outline__content { /* pc */
	margin-top: 5.8rem;
}

.job-outline__point { /* pc */
	padding: 3.2rem 2.8rem 2.8rem;
}

.job-outline__point__heading { /* pc */
	font-size: 3rem;
}

.job-info { /* pc */
	padding: 8.4rem 0 10rem;
}

.job-info__heading { /* pc */
	margin-bottom: 3rem;
	font-size: 4rem;
}

.benefits-lead { /* pc */
	padding: 0.8rem 0 0;
	margin-bottom: 10.3rem;
}

.benefits-lead__heading { /* pc */
	font-size: 3rem;
	margin-bottom: 1.8rem;
}

.benefits__contents { /* pc */
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: (30.6%)[3];
	grid-template-columns: repeat(3, 30.6%);
	gap: 4rem 4.1%;
}

.benefits__item { /* pc */
	-ms-grid-columns: none;
	grid-template-columns: none;
	-ms-grid-rows: subgrid;
	grid-template-rows: subgrid;
	-ms-grid-row-span: 3;
	grid-row: span 3;
	gap: 0;
}

.benefits__item:not(:last-child) { /* pc */
	margin-bottom: 0;
}

.benefits__item__heading { /* pc */
	grid-column: none;
	-ms-grid-row: 2;
	-ms-grid-row-span: 1;
	grid-row: 2/3;
	font-size: 2rem;
	margin-bottom: 1.8rem;
}

.benefits__icon { /* pc */
	grid-column: none;
	-ms-grid-row: 1;
	-ms-grid-row-span: 1;
	grid-row: 1/2;
	width: 5rem;
	margin-right: 0;
	margin-bottom: 1.3rem;
}

.benefits__text { /* pc */
	grid-column: none;
}

.interview-head { /* pc */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 1.6rem 0 0;
	margin-bottom: 10rem;
}

.interview-head__info { /* pc */
	display: block;
	margin-bottom: 0;
	-ms-flex-negative: 0;
	flex-shrink: 0;
	margin-left: 9.8rem;
	width: 19rem;
}

.interview-head__num { /* pc */
	font-size: 6.2rem;
	margin-right: 0;
	margin-bottom: -0.5rem;
}

.interview-head__num::before { /* pc */
	top: -4rem;
	left: -9.5rem;
	width: 12rem;
	height: 11rem;
}

.interview-head__join { /* pc */
	margin-bottom: 0.2rem;
}

.interview-head__belong { /* pc */
	font-size: 2rem;
	margin-bottom: 0.9rem;
}

.interview-head__name { /* pc */
	font-size: 2.8rem;
}

.interview-head__name span { /* pc */
	display: block;
	padding-left: 0;
}

.interview-head__title { /* pc */
	font-size: 5rem;
	padding-top: 1rem;
}

.interview { /* pc */
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding: 0 0 15rem;
}

.interview__image { /* pc */
	position: relative;
	width: 50%;
	margin-bottom: 0;
}

.interview__image__inner {
	overflow: hidden;
	width: 50vw;
	width: calc((100vw - var(--scrollbar)) / 2);
	height: 100vh;
	position: sticky;
	top: 0;
	left: 0;
}

.interview__image__inner img {
	display: block;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: center top;
	object-position: center top;
}

.interview__contents { /* pc */
	width: 42.1%;
	padding: 0.5rem 0 0 0.3rem;
}

}

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

.interview-list .swiper-button-next { /* pc */
}

.interview-list .swiper-button-next:hover::before {
	left: 100%;
}

.interview-list .swiper-button-next:hover::after {
	left: 50%;
}

.interview-list .swiper-button-prev { /* pc */
}

.interview-list .swiper-button-prev:hover::before {
	right: 100%;
}

.interview-list .swiper-button-prev:hover::after {
	right: 50%;
}

}

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

html {
	font-size: 93.75%;
}

}

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

.sp-only { /* sp */
	display: block !important;
}

.sp-only-2 { /* sp */
	display: inline-block !important;
}

.sp-only-3 { /* sp */
	display: -webkit-box !important;
	display: -ms-flexbox !important;
	display: flex !important;
}

.pc-only { /* sp */
	display: none !important;
}

.pc-only-2 { /* sp */
	display: none !important;
}

.pc-only-3 { /* sp */
	display: none !important;
}

.navi-list__item__arrow::after { /* sp */
	display: none;
}

.heading-2__sp-line { /* sp */
	display: inline-block;
	position: relative;
	background: #ffffff;
	padding: 0 1rem;
	overflow: hidden;
	white-space: nowrap;
}

.heading-2__sp-line::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 100%;
	display: inline-block;
	background: #ffffff;
}

.heading-2__pc-line { /* sp */
}

.heading-2__pc-line:not(.heading-2__sp-line) {
	display: contents;
}

.mainvisual__copy__text__sp-line { /* sp */
	padding: 1.1rem 1rem 0.4rem;
	display: inline-block;
	position: relative;
	background: #ffffff;
	overflow: hidden;
}

.mainvisual__copy__text__sp-line:not(:first-child) {
	margin-top: -0.1rem;
}

.mainvisual__copy__text__sp-line::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	background: #ffffff;
}

.works__text-lg__sp-line { /* sp */
	display: inline-block;
	position: relative;
	color: #0B14F4;
}

.works__text-lg__sp-line::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	background: #ffffff;
}

.job-intro__deco { /* sp */
	display: block;
}

.job-intro__deco span:not(:last-child) {
	margin-bottom: 2rem;
}

}

@-webkit-keyframes toCloseSp1 {

0% {
	-webkit-transform: translate(-50%, calc(-50% - 0.5rem));
	transform: translate(-50%, calc(-50% - 0.5rem));
}

50% {
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

100% {
	-webkit-transform: translate(-50%, -50%) rotate(30deg);
	transform: translate(-50%, -50%) rotate(30deg);
}

}

@keyframes toCloseSp1 {

0% {
	-webkit-transform: translate(-50%, calc(-50% - 0.5rem));
	transform: translate(-50%, calc(-50% - 0.5rem));
}

50% {
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

100% {
	-webkit-transform: translate(-50%, -50%) rotate(30deg);
	transform: translate(-50%, -50%) rotate(30deg);
}

}

@-webkit-keyframes toCloseSp2 {

0% {
	-webkit-transform: translate(-50%, calc(-50% + 0.5rem));
	transform: translate(-50%, calc(-50% + 0.5rem));
}

50% {
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

100% {
	-webkit-transform: translate(-50%, -50%) rotate(-30deg);
	transform: translate(-50%, -50%) rotate(-30deg);
}

}

@keyframes toCloseSp2 {

0% {
	-webkit-transform: translate(-50%, calc(-50% + 0.5rem));
	transform: translate(-50%, calc(-50% + 0.5rem));
}

50% {
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

100% {
	-webkit-transform: translate(-50%, -50%) rotate(-30deg);
	transform: translate(-50%, -50%) rotate(-30deg);
}

}

@-webkit-keyframes toOpenSp1 {

0% {
	-webkit-transform: translate(-50%, -50%) rotate(30deg);
	transform: translate(-50%, -50%) rotate(30deg);
}

50% {
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

100% {
	-webkit-transform: translate(-50%, calc(-50% - 0.5rem));
	transform: translate(-50%, calc(-50% - 0.5rem));
}

}

@keyframes toOpenSp1 {

0% {
	-webkit-transform: translate(-50%, -50%) rotate(30deg);
	transform: translate(-50%, -50%) rotate(30deg);
}

50% {
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

100% {
	-webkit-transform: translate(-50%, calc(-50% - 0.5rem));
	transform: translate(-50%, calc(-50% - 0.5rem));
}

}

@-webkit-keyframes toOpenSp2 {

0% {
	-webkit-transform: translate(-50%, -50%) rotate(-30deg);
	transform: translate(-50%, -50%) rotate(-30deg);
}

50% {
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

100% {
	-webkit-transform: translate(-50%, calc(-50% + 0.5rem));
	transform: translate(-50%, calc(-50% + 0.5rem));
}

}

@keyframes toOpenSp2 {

0% {
	-webkit-transform: translate(-50%, -50%) rotate(-30deg);
	transform: translate(-50%, -50%) rotate(-30deg);
}

50% {
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

100% {
	-webkit-transform: translate(-50%, calc(-50% + 0.5rem));
	transform: translate(-50%, calc(-50% + 0.5rem));
}

}

@-webkit-keyframes toClosePc1 {

0% {
	-webkit-transform: translate(-50%, calc(-50% - 0.7rem));
	transform: translate(-50%, calc(-50% - 0.7rem));
}

50% {
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

100% {
	-webkit-transform: translate(-50%, -50%) rotate(30deg);
	transform: translate(-50%, -50%) rotate(30deg);
}

}

@keyframes toClosePc1 {

0% {
	-webkit-transform: translate(-50%, calc(-50% - 0.7rem));
	transform: translate(-50%, calc(-50% - 0.7rem));
}

50% {
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

100% {
	-webkit-transform: translate(-50%, -50%) rotate(30deg);
	transform: translate(-50%, -50%) rotate(30deg);
}

}

@-webkit-keyframes toClosePc2 {

0% {
	-webkit-transform: translate(-50%, calc(-50% + 0.7rem));
	transform: translate(-50%, calc(-50% + 0.7rem));
}

50% {
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

100% {
	-webkit-transform: translate(-50%, -50%) rotate(-30deg);
	transform: translate(-50%, -50%) rotate(-30deg);
}

}

@keyframes toClosePc2 {

0% {
	-webkit-transform: translate(-50%, calc(-50% + 0.7rem));
	transform: translate(-50%, calc(-50% + 0.7rem));
}

50% {
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

100% {
	-webkit-transform: translate(-50%, -50%) rotate(-30deg);
	transform: translate(-50%, -50%) rotate(-30deg);
}

}

@-webkit-keyframes toOpenPc1 {

0% {
	-webkit-transform: translate(-50%, -50%) rotate(30deg);
	transform: translate(-50%, -50%) rotate(30deg);
}

50% {
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

100% {
	-webkit-transform: translate(-50%, calc(-50% - 0.7rem));
	transform: translate(-50%, calc(-50% - 0.7rem));
}

}

@keyframes toOpenPc1 {

0% {
	-webkit-transform: translate(-50%, -50%) rotate(30deg);
	transform: translate(-50%, -50%) rotate(30deg);
}

50% {
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

100% {
	-webkit-transform: translate(-50%, calc(-50% - 0.7rem));
	transform: translate(-50%, calc(-50% - 0.7rem));
}

}

@-webkit-keyframes toOpenPc2 {

0% {
	-webkit-transform: translate(-50%, -50%) rotate(-30deg);
	transform: translate(-50%, -50%) rotate(-30deg);
}

50% {
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

100% {
	-webkit-transform: translate(-50%, calc(-50% + 0.7rem));
	transform: translate(-50%, calc(-50% + 0.7rem));
}

}

@keyframes toOpenPc2 {

0% {
	-webkit-transform: translate(-50%, -50%) rotate(-30deg);
	transform: translate(-50%, -50%) rotate(-30deg);
}

50% {
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

100% {
	-webkit-transform: translate(-50%, calc(-50% + 0.7rem));
	transform: translate(-50%, calc(-50% + 0.7rem));
}

}

@-webkit-keyframes rotate {

0% {
	-webkit-transform: rotate(0);
	transform: rotate(0);
}

100% {
	-webkit-transform: rotate(360deg);
	transform: rotate(360deg);
}

}

@keyframes rotate {

0% {
	-webkit-transform: rotate(0);
	transform: rotate(0);
}

100% {
	-webkit-transform: rotate(360deg);
	transform: rotate(360deg);
}

}

@-webkit-keyframes stretchToRight {

0% {
	-webkit-transform: scale(0, 1);
	transform: scale(0, 1);
}

100% {
	-webkit-transform: scale(1, 1);
	transform: scale(1, 1);
}

}

@keyframes stretchToRight {

0% {
	-webkit-transform: scale(0, 1);
	transform: scale(0, 1);
}

100% {
	-webkit-transform: scale(1, 1);
	transform: scale(1, 1);
}

}

@-webkit-keyframes slideToRight {

0% {
	left: 0;
}

100% {
	left: 100%;
}

}

@keyframes slideToRight {

0% {
	left: 0;
}

100% {
	left: 100%;
}

}

@-webkit-keyframes popUp {

0% {
	-webkit-transform: translateY(100%);
	transform: translateY(100%);
}

100% {
	-webkit-transform: translateY(0);
	transform: translateY(0);
}

}

@keyframes popUp {

0% {
	-webkit-transform: translateY(100%);
	transform: translateY(100%);
}

100% {
	-webkit-transform: translateY(0);
	transform: translateY(0);
}

}

@-webkit-keyframes popUp2 {

0% {
	opacity: 0;
	visibility: hidden;
	-webkit-transform: translateY(4rem);
	transform: translateY(4rem);
}

100% {
	opacity: 1;
	visibility: visible;
	-webkit-transform: translateY(0);
	transform: translateY(0);
}

}

@keyframes popUp2 {

0% {
	opacity: 0;
	visibility: hidden;
	-webkit-transform: translateY(4rem);
	transform: translateY(4rem);
}

100% {
	opacity: 1;
	visibility: visible;
	-webkit-transform: translateY(0);
	transform: translateY(0);
}

}

@-webkit-keyframes fadeIn {

0% {
	opacity: 0;
}

100% {
	opacity: 1;
}

}

@keyframes fadeIn {

0% {
	opacity: 0;
}

100% {
	opacity: 1;
}

}

@-webkit-keyframes swiper-preloader-spin {

0% {
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
}

100% {
	-webkit-transform: rotate(360deg);
	transform: rotate(360deg);
}

}

@keyframes swiper-preloader-spin {

0% {
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
}

100% {
	-webkit-transform: rotate(360deg);
	transform: rotate(360deg);
}

}

