* {
	box-sizing: border-box;
}

body {
	font-family: "Prompt", "Noto Sans JP", sans-serif;
}

img {
	display: block;
	width: 100%;
	height: auto;
}

picture {
	display: block;
	width: 100%;
	height: auto;
}

a {
	display: inline-block;
	transition-duration: 0.7s;
}

a:hover {
	opacity: 0.7;
}

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

@font-face {
	font-style: normal;
	font-weight: normal;
	src: url("../fonts/%E8%8A%B1%E3%81%A8%E3%81%A1%E3%82%87%E3%81%86%E3%81%A1%E3%82%87.ttf") format("truetype");
	font-family: "Hanato Choucho";
	font-display: swap;
}

@font-face {
	font-style: normal;
	font-weight: 300;
	src: url("../fonts/FuturaCyrillicLight.ttf") format("truetype");
	font-family: "Futura PT";
	font-display: swap;
}

@font-face {
	font-style: normal;
	font-weight: 400;
	src: url("../fonts/FuturaCyrillicBook.ttf") format("truetype");
	font-family: "Futura PT";
	font-display: swap;
}

@font-face {
	font-style: normal;
	font-weight: 500;
	src: url("../fonts/FuturaCyrillicMedium.ttf") format("truetype");
	font-family: "Futura PT";
	font-display: swap;
}

@font-face {
	font-style: normal;
	font-weight: 600;
	src: url("../fonts/FuturaCyrillicDemi.ttf") format("truetype");
	font-family: "Futura PT";
	font-display: swap;
}

@font-face {
	font-style: normal;
	font-weight: 700;
	src: url("../fonts/FuturaCyrillicBold.ttf") format("truetype");
	font-family: "Futura PT";
	font-display: swap;
}

@font-face {
	font-style: normal;
	font-weight: 800;
	src: url("../fonts/FuturaCyrillicExtraBold.ttf") format("truetype");
	font-family: "Futura PT";
	font-display: swap;
}

@font-face {
	font-style: normal;
	font-weight: 900;
	src: url("../fonts/FuturaCyrillicHeavy.ttf") format("truetype");
	font-family: "Futura PT";
	font-display: swap;
}

.about-page {
	position: relative;
	overflow: hidden;
}

/**
 * Aboutページ専用のcontainer
 */

.about-container {
	width: 100%;
	padding: 0 11.8055555556vw;
}

.about-data-container {
	width: 100%;
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 2.7777777778vw;
}

.about-hero {
	display: flex;
	position: relative;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100vh;
	min-height: 600px;
	overflow: hidden;
}

.about-hero__background {
	z-index: 10;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.about-hero__image {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: center;
	object-position: center;
}

.about-hero__overlay {
	z-index: 12;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 43, 91, 0.7);
}

.about-hero__content {
	z-index: 11;
	position: relative;
	padding: 0 2.7777777778vw;
	color: #fff;
	text-align: center;
}

.about-hero__title {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	justify-content: center;
	gap: 1.3888888889vw;
	font-weight: lighter;
	font-size: 11.3194444444vw;
	line-height: 1;
	font-family: "Futura PT", "Futura", "Prompt", "Noto Sans JP", sans-serif;
	letter-spacing: 0.05em;
}

.about-hero__subtitle {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	justify-content: center;
	margin-top: 1.3888888889vw;
	gap: 0.5555555556vw;
	font-weight: lighter;
	font-size: 3.3333333333vw;
	line-height: 1.8;
	font-family: "Noto Sans JP", sans-serif;
	letter-spacing: 0.05em;
}

.about-hero__subtitle .about-hero__subtitle-line1,
.about-hero__subtitle .about-hero__subtitle-break,
.about-hero__subtitle .about-hero__subtitle-line3 {
	display: inline;
}

/**
 * MESSAGE Section
 */

.about-message {
	position: relative;
	width: 100%;
	margin-bottom: max(-4.1666666667vw, -60px);
	padding: 2.7777777778vw 0 11.1111111111vw 0;
	overflow: hidden;
	background: #fff;
	color: #006bc7;
}

.about-message__bg {
	z-index: 9;
	position: absolute;
	bottom: 10vw;
	left: -10vw;
	overflow: hidden;
	scale: 1.3;
	background-image: url(../img/about/about-blue-bg.webp);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	pointer-events: none;
}

.about-message__header {
	margin-bottom: 2.7777777778vw;
}

.about-message__title {
	z-index: 400;
	position: relative;
	color: #fff;
	font-weight: lighter;
	font-size: 4.8611111111vw;
	line-height: 1.2;
	font-family: "Futura PT", "Futura", "Prompt", "Noto Sans JP", sans-serif;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.about-message__subtitle {
	z-index: 400;
	position: relative;
	color: #fff;
	font-weight: 400;
	font-size: 1.1111111111vw;
	line-height: 1.5;
	font-family: "Noto Sans JP", "Prompt", sans-serif;
	letter-spacing: 0.05em;
}

.about-message__content {
	display: flex;
	z-index: 400;
	position: relative;
	flex-direction: row;
	align-items: flex-start;
	gap: 4.1666666667vw;
}

.about-message__left {
	z-index: 400;
	position: relative;
	flex-shrink: 0;
	width: 45vw;
}

.about-message__right {
	display: flex;
	z-index: 400;
	position: relative;
	flex-shrink: 0;
	flex-direction: column;
	align-items: flex-start;
	width: 30%;
	gap: 2.0833333333vw;
}

.about-message__text {
	z-index: 400;
	position: relative;
	width: 100%;
	max-width: 100%;
	margin-top: 2.7777777778vw;
	color: #fff;
	font-weight: 300;
	font-size: 1.1111111111vw;
	line-height: 1.6;
	font-family: "Noto Sans JP", "Prompt", sans-serif;
	letter-spacing: 0.05em;
}

.about-message__text p {
	margin-bottom: 1.3888888889vw;
}

.about-message__text p:last-child {
	margin-bottom: 0;
}

.about-message__image {
	flex-shrink: 0;
	width: 27.7777777778vw;
}

.about-message__photo {
	width: 100%;
	height: auto;
	-o-object-fit: contain;
	display: block;
	object-fit: contain;
}

.about-message__photo.--fade-init {
	transform: translateY(-vw(24));
	opacity: 0;
	transition: opacity 0.7s ease-out, transform 0.7s ease-out;
}

.about-message__photo.--fade-visible {
	transform: translateY(0);
	opacity: 1;
}

.about-message__info {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	gap: 0;
}

.about-message__name-image {
	width: 100%;
	max-width: 80%;
	height: auto;
	-o-object-fit: contain;
	display: block;
	margin: 0 auto;
	object-fit: contain;
}

.about-message__position {
	margin-bottom: 4px;
	color: #006bc7;
	font-weight: normal;
	font-size: 1.3194444444vw;
	line-height: 1.6;
	font-family: "Noto Sans JP", "Prompt", sans-serif;
	letter-spacing: 0.05em;
	white-space: nowrap;
}

.about-message__name-row {
	display: flex;
	flex-direction: row;
	gap: 1.3888888889vw;
}

.about-message__name-jp {
	min-width: 8.3333333333vw;
	color: #006bc7;
	font-weight: normal;
	font-size: 1.9444444444vw;
	font-family: "Noto Sans JP", "Prompt", sans-serif;
	letter-spacing: 0.05em;
}

/**
 * SERVICES Section
 */

.about-services {
	position: relative;
	width: 100%;
	margin-bottom: 5.5555555556vw;
	background: #fff;
}

.about-services__header {
	margin-bottom: 5.5555555556vw;
	text-align: center;
}

.about-services__title {
	color: #003c88;
	font-weight: lighter;
	font-size: 4.8611111111vw;
	line-height: 1.2;
	font-family: "Futura PT", "Futura", "Prompt", "Noto Sans JP", sans-serif;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.about-services__subtitle {
	color: #003c88;
	font-weight: medium;
	font-size: 1.1111111111vw;
	line-height: 1.6;
	font-family: "Noto Sans JP", sans-serif;
	letter-spacing: 0.05em;
}

.about-services__grid {
	display: grid;
	z-index: 1;
	position: relative;
	grid-template-columns: repeat(3, 1fr);
	padding: 0 2.7777777778vw;
	gap: 2.7777777778vw 6.25vw;
}

.about-services__item {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	text-align: start;
}

.about-services__image {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	max-width: 20.8333333333vw;
	height: 13.8888888889vw;
	margin-bottom: 0.6944444444vw;
}

.about-services__image img {
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	display: block;
	object-fit: contain;
}

.about-services__item-title {
	margin: 0 auto 1.3888888889vw auto;
	color: #006bc7;
	font-weight: bold;
	font-size: 2.2916666667vw;
	line-height: 1.4;
	font-family: "Noto Sans JP", "Prompt", sans-serif;
	letter-spacing: 0.05em;
	text-align: center;
}

.about-services__item-description {
	color: #006bc7;
	font-weight: normal;
	font-size: 1.1111111111vw;
	line-height: 1.8;
	font-family: "Noto Sans JP", "Prompt", sans-serif;
	letter-spacing: 0.05em;
}

/**
 * DATA Section
 */

.about-data {
	position: relative;
	width: 100%;
	padding: 5.5555555556vw 0;
	background-image: linear-gradient(rgba(0, 0, 0, 0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 0, 0, 0.05) 1px, transparent 1px);
	background-size: 20px 20px;
	background-color: #fff;
}

.about-data__header {
	text-align: start;
}

.about-data__title {
	color: #003c88;
	font-weight: 300;
	font-size: 3.3333333333vw;
	line-height: 1.2;
	font-family: "Futura PT", "Futura", "Prompt", "Noto Sans JP", sans-serif;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	white-space: nowrap;
}

.about-data__title .about-data__title-line1,
.about-data__title .about-data__title-line2 {
	display: inline;
}

.about-data__content {
	display: flex;
	z-index: 1;
	position: relative;
	flex-direction: column;
	width: 100%;
	overflow: visible;
	gap: 4.1666666667vw;
}

.about-data__row {
	display: grid;
	overflow: visible;
	gap: 2.7777777778vw;
}

.about-data__row--full {
	grid-template-columns: 1fr;
}

.about-data__row--two {
	grid-template-columns: 8fr 2fr;
}

.about-data__row--three {
	grid-template-columns: repeat(3, 1fr);
}

.about-data__item {
	display: flex;
	position: relative;
	flex-direction: column;
	align-items: flex-start;
	overflow: visible;
	text-align: start;
}

.about-data__item--stats {
	align-items: center;
	text-align: center;
}

.about-data__item--job {
	width: 80%;
	max-width: 80%;
}

.about-data__title-wrapper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	gap: 0.6944444444vw;
}

.about-data__title-wrapper--sales {
	z-index: 2;
	position: absolute;
	top: 2.7777777778vw;
	left: 2.7777777778vw;
	width: auto;
	margin: 0;
}

.about-data__title-wrapper--sales-mobile {
	display: none;
}

.about-data__row--employee-count .about-data__item-title {
	margin-bottom: max(-13.8888888889vw, -200px);
}

.about-data__row--two .about-data__item-title {
	margin-bottom: 1.3888888889vw;
}

.about-data__item-title--stats {
	margin-bottom: 2.0833333333vw;
}

.about-data__item--job .about-data__item-title {
	margin-bottom: 1.3888888889vw;
}

.about-data__item-title {
	z-index: 1;
	color: #003c88;
	font-weight: bold;
	font-size: 2.1527777778vw;
	line-height: 1.4;
	font-family: "Noto Sans JP", "Prompt", sans-serif;
	letter-spacing: 0.05em;
}

.about-data__item-title--center {
	width: 100%;
	text-align: center;
}

.about-data__item-title--sales {
	margin: 0 0 6.25vw 0;
	font-size: 2.2916666667vw;
}

.about-data__image {
	flex-shrink: 0;
	width: 100%;
}

.about-data__image--sales {
	position: relative;
}

.about-data__image--stats {
	width: 55%;
}

.about-data__image--job {
	width: 100%;
}

.about-data__image img {
	width: 100%;
	height: auto;
	-o-object-fit: contain;
	display: block;
	object-fit: contain;
}

.about-data__scroll {
	display: none;
}

/**
 * フェードインアニメーション（ふわっと表示）
 */

.--fade-init {
	opacity: 0;
	transition: opacity 0.8s ease-out;
}

.--fade-visible {
	opacity: 1;
}

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

.about-message__bg {
	bottom: 13vw;
}

}

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

.about-message__bg {
	bottom: 10vw;
}

}

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

.about-message__bg {
	bottom: 10vw;
}

}

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

.about-hero {
	min-height: 50vw;
}

.about-message {
	padding: 3.4722222222vw 0 9.7222222222vw 0;
}

.about-message__bg {
	bottom: 10vw;
}

.about-data__title-wrapper--sales {
	top: 2.0833333333vw;
	left: 2.0833333333vw;
}

}

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

.about-message__bg {
	bottom: 10vw;
}

}

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

.about-message__bg {
	bottom: 10vw;
}

}

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

.about-message__bg {
	bottom: 10vw;
}

}

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

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

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

.about-container {
	padding: 0 5.3333333333vw;
}

.about-data-container {
	padding: 0 5.3333333333vw;
}

.about-hero {
	height: calc(100vh - 40px);
}

.about-hero__content {
	width: 100%;
	padding: 0 5.3333333333vw;
}

.about-hero__title {
	flex-direction: column;
	margin-bottom: 5.3333333333vw;
	gap: 0;
	font-size: 21.3333333333vw;
	font-family: "Futura PT", "Futura", "Prompt", "Noto Sans JP", sans-serif;
}

.about-hero__subtitle {
	flex-direction: column;
	align-items: flex-start;
	gap: 0;
	font-weight: lighter;
	font-size: 12vw;
	line-height: 1.4;
	font-family: "Noto Sans JP", sans-serif;
	letter-spacing: 0.1em;
	text-align: start;
}

.about-hero__subtitle .about-hero__subtitle-line1,
.about-hero__subtitle .about-hero__subtitle-break,
.about-hero__subtitle .about-hero__subtitle-line3 {
	display: block;
}

.about-message {
	padding: 7.6923076923vw 0 7.6923076923vw 0;
}

.about-message__bg {
	top: -40vw;
	left: 20vw;
	scale: 3;
}

.about-message__header {
	margin-bottom: 10.6666666667vw;
}

.about-message__title {
	margin-bottom: 1.3333333333vw;
	font-weight: 300;
	font-size: 13.3333333333vw;
}

.about-message__subtitle {
	margin-bottom: 10.6666666667vw;
	font-size: 4.2666666667vw;
}

.about-message__content {
	flex-direction: column;
	gap: 10.6666666667vw;
	font-size: 3.7333333333vw;
}

.about-message__left {
	width: 100%;
}

.about-message__right {
	flex-direction: row-reverse;
	align-items: center;
	justify-content: flex-end;
	width: 100%;
	gap: 2.6666666667vw;
}

.about-message__text {
	margin-top: 5.1282051282vw;
}

.about-message__text p {
	margin-bottom: 3.8461538462vw;
	font-size: min(3.5897435897vw, 14px);
	line-height: 1.8;
}

.about-message__image {
	width: 60%;
	max-width: 60%;
}

.about-message__photo {
	width: 100%;
	max-width: 100%;
	margin: 0;
}

.about-message__photo.--fade-init {
	transform: translateY(-calcMin(24));
}

.about-message__info {
	align-items: flex-start;
	width: 40%;
	gap: 2.0512820513vw;
	text-align: left;
}

.about-message__name-image {
	width: 100%;
	max-width: 100%;
	margin: 4px 0 0 0;
}

.about-message__position {
	width: 100%;
	font-size: 3.7333333333vw;
}

.about-message__name-row {
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	gap: 2.0512820513vw;
}

.about-message__name-jp {
	width: 100%;
	min-width: auto;
	font-size: 6.1333333333vw;
}

.about-services {
	margin-top: 10.2564102564vw;
	margin-bottom: 16vw;
}

.about-services__header {
	margin-bottom: 10.2564102564vw;
}

.about-services__title {
	margin-bottom: 1.3333333333vw;
	font-size: 13.3333333333vw;
	white-space: nowrap;
}

.about-services__subtitle {
	font-size: 4.2666666667vw;
}

.about-services__grid {
	grid-template-columns: 1fr;
	gap: 10.6666666667vw;
}

.about-services__image {
	max-width: 100%;
	height: 57.3333333333vw;
	margin-bottom: 5.3333333333vw;
}

.about-services__item-title {
	margin: 0 auto 4vw auto;
	font-size: 8vw;
}

.about-services__item-description {
	font-size: 3.7333333333vw;
	line-height: 1.8;
}

.about-data {
	padding: 10.6666666667vw 0;
}

.about-data__header {
	margin-bottom: 10.2564102564vw;
}

.about-data__title {
	font-size: 12vw;
	white-space: normal;
}

.about-data__title .about-data__title-line1,
.about-data__title .about-data__title-line2 {
	display: block;
}

.about-data__content {
	gap: 10.2564102564vw;
}

.about-data__row {
	grid-template-columns: 1fr;
	gap: 7.6923076923vw;
}

.about-data__item--job {
	width: 100%;
	max-width: 100%;
}

.about-data__title-wrapper {
	margin-bottom: 3.8461538462vw;
	gap: 2.5641025641vw;
}

.about-data__title-wrapper--sales {
	display: none;
}

.about-data__title-wrapper--sales-mobile {
	display: flex;
	position: relative;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	margin-bottom: 4vw;
}

.about-data__row--employee-count .about-data__item-title {
	margin-bottom: 0;
}

.about-data__row--two .about-data__item-title {
	margin-bottom: 4vw;
}

.about-data__item-title--stats {
	margin-bottom: 5.3333333333vw;
}

.about-data__item--job .about-data__item-title {
	margin-bottom: 0;
}

.about-data__item-title--sales {
	margin-bottom: 0;
	font-size: 6.1333333333vw;
}

.about-data__item-title {
	font-size: 6.1333333333vw;
}

.about-data__image--job.about-data__image--mobile-scroll img {
	height: 80px !important;
}

.about-data__image--mobile-scroll {
	width: calc(100% + 17.9487179487vw);
	max-width: 100vw;
	margin-right: calc(-1 * 8.9743589744vw);
	margin-left: calc(-1 * 8.9743589744vw);
	padding-right: 8.9743589744vw;
	padding-left: 8.9743589744vw;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
}

.about-data__image--mobile-scroll img {
	display: block;
	width: auto !important;
	max-width: none;
	height: 240px;
}

.about-data__scroll {
	display: block;
	width: 28.284vw;
	height: auto;
	pointer-events: none;
}

.about-data__item--sinsots-career .about-data__image {
	width: 53.8666666667vw;
	height: auto;
	margin-inline: auto;
}

.about-data__item--age-ratio .about-data__image img {
	height: 180px;
}

}

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

.about-message__bg {
	top: -60vw;
	left: 20vw;
	scale: 4;
}

}

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

.about-message__bg {
	top: -40vw;
	left: 20vw;
	scale: 4;
}

}

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

.about-message__bg {
	top: -30vw;
	left: 20vw;
	scale: 4;
}

}

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

.about-message__bg {
	top: -20vw;
	left: 30vw;
	scale: 4;
}

}

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

.about-message__bg {
	top: -15vw;
	left: 30vw;
	scale: 4;
}

}

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

.about-message__bg {
	top: 0vw;
	left: 30vw;
	scale: 4;
}

}

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

.about-message__bg {
	top: 10vw;
	left: 30vw;
	scale: 4;
}

}

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

.about-message__bg {
	top: 30vw;
	left: 30vw;
	scale: 4;
}

}

