html {
	overflow-y: scroll;
}

body {
	color: #231815;
	font-family: zen-kaku-gothic-new, sans-serif;
}

img {
	width: 100%;
}

.c-wrap {
	margin-inline: auto;
	max-width: 1100px;
	padding-inline: 50px;
}

.c-wrap.--recruit {
	max-width: 1100px;
}

.c-wrap.--privacy {
	max-width: 1100px;
}

.c-heading {
	align-items: center;
	display: flex;
	flex-direction: column;
}

.c-heading.--left {
	align-items: flex-start;
	color: #fff;
}

.c-heading__title {
	font-size: 30px;
	font-weight: bold;
	letter-spacing: 0.3em;
	text-align: center;
}

.c-heading__title-en {
	font-family: futura-pt, sans-serif;
	font-size: 15px;
	letter-spacing: 0.2em;
}

.c-page-heading {
	align-items: center;
	background-color: #fff;
	display: flex;
	flex-direction: column;
	font-weight: 500;
	margin-inline: auto;
	max-width: 370px;
	position: relative;
}

.c-page-heading.--noline::after {
	display: none;
}

.c-page-heading::after {
	background-color: #9e9e9e;
	content: "";
	height: 1px;
	inset: 0;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100vw;
	z-index: -1;
}

.c-page-heading__title-en {
	font-family: futura-pt, sans-serif;
	font-size: 30px;
	font-weight: bold;
	letter-spacing: 0.1em;
	text-align: center;
}

.c-page-heading__title {
	font-size: 20px;
	letter-spacing: 0.3em;
}

.c-page-heading__logo {
	width: 228px;
}

.c-button {
	align-items: center;
	display: flex;
	height: 60px;
	justify-content: center;
	margin-inline: auto;
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
}

.c-button:hover .c-button__arrow {
	transform: translateX(10px);
}

.c-button__arrow {
	display: block;
	height: -moz-fit-content;
	height: fit-content;
	transition: transform 0.3s ease;
	width: 140px;
}

.c-button__circle {
	aspect-ratio: 1;
	background: url("../img/common/button-circle.svg") no-repeat center/contain;
	display: block;
	position: absolute;
	right: -18px;
	top: 0;
	width: 60px;
}

.c-button__text {
	font-family: futura-pt, sans-serif;
	font-size: 30px;
	font-weight: 700;
	left: 7px;
	line-height: 1;
	position: absolute;
	top: -6px;
}

.header {
	left: 0;
	padding: 57px 50px;
	position: fixed;
	right: 0;
	top: 0;
	width: 100%;
	z-index: 1000;
}

.header.is-over-fv path {
	fill: #fff;
}

.header.is-over-fv .header__button span {
	background-color: #fff;
}

.header__wrap {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
	max-width: 1765px;
	width: 100%;
}

.header__logo {
	display: block;
	width: 114px;
}

.header__logo svg {
	aspect-ratio: 110.9/53.4;
}

.header__logo svg path {
	transition: 0.3s ease;
}

.header__button {
	background: none;
	border: none;
	cursor: pointer;
	height: 33px;
	padding: 0;
	position: relative;
	width: 67px;
}

.header__button-line {
	background-color: #0e335b;
	display: block;
	height: 5px;
	left: 0;
	position: absolute;
	transition: 0.6s;
	width: 45px;
}

.header__button-line:nth-child(1) {
	top: 0;
}

.header__button-line:nth-child(2) {
	bottom: 0;
}

.header__button.is-closing .header__button-line:nth-child(1) {
	animation: hambLine01 0.75s forwards;
}

.header__button.is-closing .header__button-line:nth-child(2) {
	animation: hambLine02 0.75s forwards;
}

.header__button.is-open .header__button-line {
	background-color: #fff;
}

.header__button.is-open .header__button-line:nth-child(1) {
	animation: hambLine01Open 0.75s forwards;
}

.header__button.is-open .header__button-line:nth-child(2) {
	animation: hambLine02Open 0.75s forwards;
}

.g-nav {
	align-items: center;
	background-color: rgba(14, 51, 91, 0.8);
	display: flex;
	flex-direction: column;
	inset: 0;
	opacity: 0;
	overflow-y: auto;
	position: fixed;
	transition: opacity 0.3s ease, visibility 0.3s ease;
	visibility: hidden;
	z-index: 999;
}

.g-nav.is-open {
	opacity: 1;
	visibility: visible;
}

.g-nav__list {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 25px;
	list-style: none;
	margin: auto;
	padding-block: 60px;
}

.g-nav__link {
	color: #fff;
	display: block;
	font-size: 28px;
	font-weight: 500;
	letter-spacing: 0.15em;
	transition: opacity 0.2s ease;
}

.g-nav__link:hover {
	opacity: 0.6;
}

.c-fv {
	align-items: center;
	display: flex;
	flex-direction: column;
	height: 489px;
	justify-content: center;
	position: relative;
	z-index: 1;
}

.c-fv.--privacy {
	border-bottom: 10px solid #0E335B;
	height: 470px;
}

.c-fv__heading {
	align-items: center;
	color: #fff;
	display: flex;
	flex-direction: column;
	gap: 10px;
	letter-spacing: 0.8em;
	line-height: 1;
}

.c-fv__heading.--privacy {
	color: #0E335B;
	font-weight: 500;
}

.c-fv__title-en {
	font-family: futura-pt, sans-serif;
	font-size: 50px;
}

.c-fv__title {
	font-size: 30px;
}

.c-fv__bg {
	height: 100%;
	inset: 0;
	position: absolute;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	z-index: -1;
}

.c-fv__bg img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.footer {
	background-color: #0e335b;
	padding-block: 30px 30px;
}

.footer__content {
	align-items: center;
	display: flex;
	gap: 40px;
	justify-content: center;
}

.footer__logo {
	transition: opacity 0.3s;
	width: 110px;
}

.footer__logo:hover {
	opacity: 0.7;
}

.footer__instagram {
	transition: opacity 0.3s;
	width: 31px;
}

.footer__instagram:hover {
	opacity: 0.7;
}

.footer__copy {
	color: #fff;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.1em;
	margin-top: 9px;
	text-align: center;
}

.to-top {
	align-items: center;
	aspect-ratio: 1/1;
	background-color: #A8B5C4;
	border-radius: 50%;
	bottom: 25px;
	display: flex;
	justify-content: center;
	opacity: 0;
	position: fixed;
	right: 36px;
	transition: opacity 0.3s, visibility 0.3s;
	visibility: hidden;
	width: 68px;
	z-index: 99;
}

.to-top.is-visible {
	opacity: 1;
	visibility: visible;
}

.to-top img {
	width: 25px;
}

.button-contact {
	background-color: #0e335b;
	border: 2px solid #ffffff;
	border-right: none;
	color: #fff;
	display: block;
	font-size: 18px;
	font-weight: bold;
	padding: 27px 16px 30px;
	position: fixed;
	right: 0;
	top: 253px;
	transition: 0.3s;
	writing-mode: vertical-rl;
	z-index: 99;
}

.button-contact:hover {
	background-color: #fff;
	border-color: #0e335b;
	color: #0e335b;
}

.s-pc {
	display: block;
}

.s-sp {
	display: none;
}

.s-of-hidden {
	overflow: hidden;
}

@media screen and (max-width: 990px) {

.header {
    left: 0;
    padding: 25px 50px;
	}
.c-fv {
    height: 350px;
	}
.c-fv.--privacy {
    height: 400px;
}
.s-sp {
        display: block;
}
.c-fv__title-en {
    font-size: 40px;
}
.c-fv__title {
    font-size: 25px;
}
}

@media screen and (max-width: 767px) {

.c-wrap {
	max-width: 550px;
	padding-inline: 30px;
}

.c-wrap.--recruit {
	max-width: 550px;
}

.c-wrap.--privacy {
	max-width: 550px;
}

.c-heading__title {
	font-size: 15px;
}

.c-heading__title-en {
	font-size: 8px;
}

.c-page-heading {
	max-width: 112.57px;
}

.c-page-heading::after {
	width: 85vw;
}

.c-page-heading__title-en {
	font-size: 13px;
}

.c-page-heading__title {
	font-size: 8px;
}

.c-page-heading__logo {
	width: 97px;
}

.c-button {
	height: 21.92px;
}

.c-button__arrow {
	width: 57.92px;
}

.c-button__circle {
	right: -7px;
	width: 21.92px;
}

.c-button__text {
	font-size: 13px;
	left: 3px;
	top: 0px;
}

.header {
	padding: 13px 15px 13px 10px;
}

.header__logo {
	width: 41px;
}

.header__logo svg {
	height: auto;
	width: 100%;
}

.header__button {
	height: 10px;
	width: 17px;
}

.header__button-line {
	height: 1.5px;
	width: 17px;
}

.header__button.is-closing .header__button-line:nth-child(1) {
	animation: hambLine01Sp 0.75s forwards;
}

.header__button.is-closing .header__button-line:nth-child(2) {
	animation: hambLine02Sp 0.75s forwards;
}

.header__button.is-open .header__button-line:nth-child(1) {
	animation: hambLine01OpenSp 0.75s forwards;
}

.header__button.is-open .header__button-line:nth-child(2) {
	animation: hambLine02OpenSp 0.75s forwards;
}

.g-nav__list {
	gap: 30px;
}

.g-nav__link {
	font-size: 16px;
}

.c-fv {
	height: 142.93px;
}

.c-fv.--privacy {
	border-bottom: 7px solid #0E335B;
	height: 151px;
}

.c-fv__heading {
	gap: 3px;
	letter-spacing: 0.3em;
}

.c-fv__title-en {
	font-size: 16px;
}

.c-fv__title {
	font-size: 12px;
}

.footer {
	padding-block: 6px 8px;
}

.footer__content {
	gap: 19px;
}

.footer__logo {
	width: 53.36px;
}

.footer__instagram {
	width: 14.93px;
}

.footer__copy {
	font-size: 7px;
	margin-top: 6px;
}

.to-top {
	bottom: 17px;
	right: 38px;
	width: 30px;
}

.to-top img {
	width: 11px;
}

.button-contact {
	border: 2px solid #ffffff;
	font-size: 8px;
	padding: 8px 5px 8px;
	top: 111px;
	border-right: none;
}

.s-pc {
	display: none;
}

.s-sp {
	display: block;
}

}

@keyframes hambLine01 {

0% {
	transform: translateY(14.5px) rotate(45deg);
}

50% {
	transform: translateY(14.5px) rotate(0);
}

100% {
	transform: translateY(0) rotate(0);
}

}

@keyframes hambLine02 {

0% {
	transform: translateY(-14.5px) rotate(-45deg);
}

50% {
	transform: translateY(-14.5px) rotate(0);
}

100% {
	transform: translateY(0) rotate(0);
}

}

@keyframes hambLine01Open {

0% {
	transform: translateY(0) rotate(0);
}

50% {
	transform: translateY(14.5px) rotate(0);
}

100% {
	transform: translateY(14.5px) rotate(45deg);
}

}

@keyframes hambLine02Open {

0% {
	transform: translateY(0) rotate(0);
}

50% {
	transform: translateY(-14.5px) rotate(0);
}

100% {
	transform: translateY(-14.5px) rotate(-45deg);
}

}

@keyframes hambLine01Sp {

0% {
	transform: translateY(4.25px) rotate(45deg);
}

50% {
	transform: translateY(4.25px) rotate(0);
}

100% {
	transform: translateY(0) rotate(0);
}

}

@keyframes hambLine02Sp {

0% {
	transform: translateY(-4.25px) rotate(-45deg);
}

50% {
	transform: translateY(-4.25px) rotate(0);
}

100% {
	transform: translateY(0) rotate(0);
}

}

@keyframes hambLine01OpenSp {

0% {
	transform: translateY(0) rotate(0);
}

50% {
	transform: translateY(4.25px) rotate(0);
}

100% {
	transform: translateY(4.25px) rotate(45deg);
}

}

@keyframes hambLine02OpenSp {

0% {
	transform: translateY(0) rotate(0);
}

50% {
	transform: translateY(-4.25px) rotate(0);
}

100% {
	transform: translateY(-4.25px) rotate(-45deg);
}

}

