@charset "UTF-8";
/*--------------------------------
	Animation Set
--------------------------------*/
@keyframes imageSlide1 {
	0% {
		transform: translateX(100%);
	}
	100% {
		transform: translateX(-100%);
	}
}
@keyframes imageSlide2 {
	0% {
	    transform: translateX(0);
	}
	100% {
		transform: translateX(-200%);
	}
}
/*--------------------------------
	Main
--------------------------------*/
#main {
	position: relative;
	background: url("/images/index/bg-main.webp") no-repeat;
	background-size: cover;
	aspect-ratio: 7 / 4;
	position: relative;
	overflow: hidden;
}
#main h1 {
	padding: 4.571428571428571vw 1.5rem 0 1.5rem;
	text-shadow: 0 0.3rem 1rem rgba( 66, 174, 227, 0.8 ) ;
	position: relative;
	z-index: 1;
}
#main h1 .image {
	display: flex;
	justify-content: center;
	margin: 0 0 1.7142857142857144vw;
}
#main h1 .text p {
	display: flex;
	justify-content: center;
	font-family: "Kosugi Maru", sans-serif;
	font-size: 2.8rem;
	font-weight: 400;
	color: #FFF;
	letter-spacing: 0.28em;
	text-indent: 0.28em;
}
#main .symbol-01,
#main .symbol-02,
#main .symbol-03 {
	position: absolute;
	z-index: 1;
}
/* 鳩コンテナ：#main の右端中央あたり（外側）からスタート */
#main .symbol-01 {
	top: 50%;      /* #main の高さに対する 50%（中央） */
	left: 100%;    /* #main の右端（＋αは keyframes で調整してもOK） */
	transform: translate(-50%, -50%); /* コンテナ自身の中心基準 */

	width: 5vw;
	max-width: 70px;
	height: auto;
	overflow: visible;

	/* PC 用アニメーション（名前は共通で bird-fly） */
	animation: bird-fly 8s linear infinite;
}

#main .symbol-01 img {
	display: block;
	width: 100%;
	height: auto;
}
/* ===== PC 用（min-width:1200px 相当） ===== */
@media all and (max-width: 1200px) {
	#main .symbol-01 {
		width: 7vw;
		max-width: 90px;
		animation-duration: 4s;
	}
}

/* スマホで鳩のサイズとスピードだけ変える */
@media all and (max-width: 699px) {
	#main .symbol-01 {
		width: 7vw;
		max-width: 90px;
		animation-duration: 4s;
	}
}
/* ===== PC 用（min-width:1200px 相当） ===== */
@media all and (min-width: 1200px) {

	@keyframes bird-fly {
		0% {
			left: 110%;
			top: 50%;
			opacity: 0;
		}

		10% {
			left: 95%;
			top: 35%;
			opacity: 1;
		}

		60% {
			left: 60%;
			top: 5%;
			opacity: 1;
		}

		80% {
			left: 45%;
			top: -10%; 
			opacity: 0;
		}

		100% {
			left: 45%;
			top: -10%; 
			opacity: 0;
		}
	}
}


/* ===== 〜1399px ===== */
@media all and (max-width: 1399px) {

	@keyframes bird-fly {
		0% {
			left: 110%;
			top: 50%;
			opacity: 0;
		}

		10% {
			left: 95%;
			top: 35%;
			opacity: 1;
		}

		60% {
			left: 75%;
			top: 5%;
			opacity: 1;
		}

		80% {
			left: 70%;
			top: -10%; 
			opacity: 0;
		}

		100% {
			left: 70%;
			top: -10%; 
			opacity: 0;
		}
	}
}

/* トラック共通：縦位置はそのまま */
#main .symbol-02,
#main .symbol-03 {
	position: absolute;
	z-index: 1;
	top: 88%;
	left: 0;
	transform: translateY(-50%);
}

#main .symbol-02 img,
#main .symbol-03 img {
	display: block;
	width: 20.357142857142858vw;
	height: auto;

	/* 初期状態：右の外＆非表示 */
	transform: translateX(100vw);
	opacity: 0;
}

/* 右 → 左 に 1 回だけ走るアニメーション */
@keyframes truck-run {
	from {
		transform: translateX(100vw);   /* 右の外からスタート */
		opacity: 1;
	}
	to {
		transform: translateX(-100vw);  /* 左の外まで抜ける */
		opacity: 1;
	}
}


/* スマホ版：全体を少し速くするだけ（割合は共通なので動きは同じ） */
@media all and (max-width: 699px) {
	#main h1 .text p {
		font-size: 2rem;
	}
}


/*--------------------------------
	News
--------------------------------*/
#news {
	position: relative;
	padding: 8rem 0 0;
}
#news .bn-recruit {
	position: absolute;
	z-index: 1;
	left: 1rem;
	top: 0;
	transition: .5s;
}
#news .bn-recruit.off {
	visibility: hidden;
	opacity: 0;
}
#news .bn-recruit .image {
	position: relative;
	max-width: 40.8rem;
}
#news .bn-recruit .image a {
	display: block;
	transition: .3s;
}
#news .bn-recruit .image a:hover {
	opacity: .7;
}
#news .bn-recruit .image .circle {
	position: absolute;
	right: 2rem;
	top: 1rem;
	width: 3.2rem;
	height: 3.2rem;
	box-sizing: border-box;
}
#news .bn-recruit .image .circle span {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	border: 0.1rem solid #F78B0D;
	border-radius: 100%;
	background: #FFF;
	cursor: pointer;
}
#news .bn-recruit .image .circle span::before,
#news .bn-recruit .image .circle span::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0.1rem;
	height: 1.5rem;
	background: #F78B0D;
}
#news .bn-recruit .image .circle span::before {
	transform: translate(-50%,-50%) rotate(45deg);
}
#news .bn-recruit .image .circle span::after {
	transform: translate(-50%,-50%) rotate(-45deg);
}
#news .news-items {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 12.4rem 2rem 12.4rem 2rem;
	box-sizing: border-box;
	border-radius: 4rem;
	background: #FFFBE0;
}
#news .news-items .title {
	flex-basis: 50%;
	box-sizing: border-box;
	padding: 0 0 0 16rem;
}
#news .news-items .news-item {
	flex-basis: 50%;
}
#news .news-items .news-item dl {
	display: flex;
	margin: 0 0 4rem;
}
#news .news-items .news-item dl:last-of-type {
	margin: 0 0 0;
}
#news .news-items .news-item dl dt {
	position: relative;
	flex-basis: 12rem;
	font-size: 1.6rem;
	font-weight: 400;
	color: #808080;
}
#news .news-items .news-item dl dt::after {
	position: absolute;
	right: 2.5rem;
	top: 0.5rem;
	content: "";
	display: inline-block;
	width: 0.1rem;
	height: 1.6rem;
	background: #808080;
}
#news .news-items .news-item dl dd {
	font-size: 1.6rem;
	font-weight: 400;
}
#news .news-items .news-item dl dd a {
	color: #000;
}
#news .news-items .news-item dl dd a:hover {
	text-decoration: underline;
}
@media all and (max-width: 1199px) {
	#news {
		padding: 4rem 0 0;
	}
	#news .bn-recruit {
		left: unset;
		right: 1rem;
	}
	#news .bn-recruit .image {
	}
	#news .bn-recruit .image .circle {
		right: 0;
	}
	#news .news-items .title {
		margin: 0 0 2rem;
		padding: 0 0 0 0;
	}
	#news .news-items {
		display: block;
		padding: 4.2rem 2rem 6.2rem 2rem;
	}
	#news .news-items .news-item dl {
		display: block;
		margin: 0 0 2rem;
	}
	#news .news-items .news-item dl dt::after {
		content: unset;
	}
}
@media all and (max-width: 699px) {
	#news .bn-recruit {
		width: 65%;
	}
}
/*--------------------------------
	Our Strength
--------------------------------*/
#strength {
	position: relative;
	padding: 13rem 0 22rem;
	overflow: hidden;
}
#strength::before {
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	content: "";
	display: inline-block;
	width: 100%;
	height: 82rem;
	background: url("/images/index/bg-our-strength.webp") no-repeat;
	background-size: contain;
}
#strength .title {
	display: flex;
	justify-content: end;
	margin: 0 0 5rem;
}
#strength .title + p {
	display: flex;
	justify-content: end;
	margin: 0 0 3rem;
	font-size: 1.7rem;
	font-weight: 500;
	text-align: right;
	line-height: 1.8;
}
#strength .strength-item ul {
	display: flex;
	justify-content: space-between;
	max-width: 109.7rem;
	margin: 0 auto;
}
#strength .strength-item ul li {
	position: relative;
	flex-basis: calc( 100% / 3 );
}
#strength .strength-item ul li:first-of-type {
	margin: -8rem 0 0 0;
}
#strength .strength-item ul li:nth-of-type(3) {
	margin: 8rem 0 0 0;
}
#strength .strength-item ul li::before {
	position: absolute;
	z-index: -1;
	left: 0;
	top: 0;
	content: "";
	display: inline-block;
	width: 40rem;
	height: 27.3rem;
	background: url("/images/index/bg-strength.webp") no-repeat;
}
#strength .strength-item ul li .num {
	padding: 0px 0 0 10rem;
	font-family: 'Barlow', sans-serif;
	color: #F7790D;
}
#strength .strength-item ul li .num span {
	display: block;
	padding: 0 0 0 0.5rem;
	font-size: 1.2rem;
	font-weight: 400;
}
#strength .strength-item ul li .num strong {
	display: block;
	font-size: 5rem;
	font-weight: 400;
	line-height: 1;
}
#strength .strength-item ul li .image {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: -1rem 0 2.5rem 4rem;
}
#strength .strength-item ul li dl dt {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 0 1rem 4rem;
	font-size: 1.6rem;
	font-weight: 500;
}
#strength .strength-item ul li dl dd {
	font-family: "Kosugi Maru", sans-serif;
	font-size: 2.4rem;
	font-weight: 400;
	text-align: center;
	line-height: 1;
}
#strength .strength-item ul li:first-of-type dl dd {
	margin: 0 0 0 3.5rem;;
	font-size: 2rem;
}
#strength .strength-item ul li:nth-of-type(2) dl dd {
	margin: 0 0 0 4.5rem;
}
#strength .strength-item ul li:nth-of-type(3) dl dd {
	margin: 0 0 0 4rem;
}
#strength .strength-item ul li dl dd strong {
	display: inline-block;
	margin: 0 0.2rem 0 0;
	font-family: 'Barlow', sans-serif;
	font-size: 3.4rem;
	font-weight: 400;
	letter-spacing: 0.05em;
}
#strength .strength-item ul li dl dd span.notes {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.2rem;
	font-weight: 400;
}
@media all and (min-width: 1401px) {
	#strength::before {
		background-size: cover;
	}
}
@media all and (max-width: 1199px) {
	#strength {
		padding: 6.5rem 0 6.5rem;
	}
	#strength .title {
		justify-content: center;
		margin: 0 0 2.5rem;
	}
	#strength .title + p {
		text-align: left;
	}
	#strength .strength-item ul {
		display: block;
	}
	#strength .strength-item ul li {
		aspect-ratio: 400 / 273;
	}
	#strength .strength-item ul li:first-of-type {
		margin: 0 0 3rem 0;
	}
	#strength .strength-item ul li:nth-of-type(2) {
		margin: 0 0 3rem 0;
	}
	#strength .strength-item ul li:nth-of-type(3) {
		margin: 0 0 3rem 0;
	}
	#strength .strength-item ul li .num {
		padding: 0 0 0 0;
	}
	#strength .strength-item ul li .image {
		margin: -1rem 0 1rem 0rem;
	}
	#strength .strength-item ul li dl dt {
		margin: 0 0 1rem 0rem;
	}
	#strength .strength-item ul li:first-of-type dl dd {
		margin: 0 0 0 -0.5rem;
	}
	#strength .strength-item ul li:nth-of-type(2) dl dd {
		margin: 0 0 0 -0.5rem;
	}
	#strength .strength-item ul li:nth-of-type(3) dl dd {
		margin: 0 0 0 -0.5rem;
	}
}
@media all and (max-width: 1199px) and (min-width: 500px) {
	#strength .strength-item ul li {
		width: 40rem;
	}
}
@media all and (max-width: 499px) {
	#strength .strength-item ul li::before {
		width: 100%;
		height: 100%;
		background-size: cover;
	}
}
/*--------------------------------
	Business
--------------------------------*/
#business {
	overflow: hidden;
}
#business .title {
	margin: 0 0 6.2rem;
	padding: 0 0 0 5rem;
}
#business .business-item {
	position: relative;
	box-sizing: border-box;
	margin: 0 0 20rem;
}
#business .business-item:nth-child(odd) {
	display: flex;
	justify-content: end;
}
#business .business-item .text {
	position: relative;
	width: 75rem;
	padding: 4.8rem 8rem 8rem;
	box-sizing: border-box;
}
#business .business-item:nth-child(odd) .text {
	padding: 4.8rem 8rem 8rem 23.3rem;
}
#business .business-item .text::before {
	position: absolute;
	z-index: -2;
	left: 0;
	top: 0;
	content: "";
	display: inline-block;
	width: 100%;
	height: 100%;
	border-radius: 4rem;
	background: #FFFBE0;
}
#business .business-item .text::after {
	position: absolute;
	z-index: -1;
	right: 0;
	top: 0;
	content: "";
	display: inline-block;
	width: calc( 100% - 38rem );
	height: calc( 100% + 9rem );
	border-radius: 4rem;
	background: #FFFBE0;
}
#business .business-item:nth-child(odd) .text::after {
	right: unset;
	left: 0;
}
#business .business-item .text .image {
	position: absolute;
	top: -8rem;
	right: -55rem;
	max-width: 74rem;
	height: 46rem;
	border-radius: 4rem;
	overflow: hidden;
}
#business .business-item:nth-child(odd) .text .image {
	right: unset;
	left: -55rem;
}
#business .business-item h3 {
	position: relative;
	margin: 0 0 4rem;
	font-family: "Kosugi Maru", sans-serif;
	font-size: 3rem;
	font-weight: 400;
	color: #F7790D;
	letter-spacing: 0.05em;
}
#business .business-item h3:after {
	position: absolute;
	left: 0;
	bottom: -1.5rem;
	content: "";
	display: inline-block;
	width: 48rem;
	height: 0.1rem;
	background: #FFEAB9;
}
#business .business-item dl {
	max-width: 42rem;
}
#business .business-item dt {
	margin: 0 0 1rem;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.8;
}
#business .business-item dd {
	font-size: 1.6rem;
	line-height: 1.8;
}
#business .business-item .btn {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 38rem;
	height: 9rem;
	border-radius: 0 2rem 0 0;
	background: #FFF;
}
#business .business-item:nth-child(odd) .btn {
	margin: 0 0 0 37rem;
	border-radius: 2rem 0 0 0;
}
#business .business-item .btn::before {
	position: absolute;
	z-index: -1;
	left: 0;
	top: 0;
	content: "";
	display: inline-block;
	width: 100%;
	height: 100%;
	background: #FFFBE0;
}
#business .business-item .btn a {
	width: 30rem;
	height: 6rem;
	padding: 0 0 0 3rem;
	background: linear-gradient(to right, #FDBD23, #FC8C62);
	font-size: 1.6rem;
	color: #FFF;
}
#business .business-item .btn a:hover {
	color: #F7790D;
}
#business .business-item .btn a:hover::before {
	background: #FFF;
	opacity: 1;
}
#business .business-item .btn span {
	position: relative;
	left: 0;
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
}
#business .business-item .btn span::before {
	position: absolute;
	top: 33%;
	right: 2rem;
	content: "";
	display: inline-block;
	width: 2.2rem;
	height: 2.2rem;
	border-radius: 100%;
	background: #FFF;
	opacity: 1;
	transition: .3s;
}
#business .business-item .btn a:hover span::before {
	opacity: 0;
}
#business .business-item .btn span::after {
	position: absolute;
	top: 51%;
	right: 3rem;
	content: "";
	display: inline-block;
	border-top: 0.15rem solid #FC8C62;
	border-right: 0.15rem solid #FC8C62;
	width: 0.3em;
	height: 0.3em;
	transform: translate(0, -50%) rotate(45deg);
}
@media all and (max-width: 1199px) {
	#business {
		overflow: hidden;
	}
	#business .title {
		display: flex;
		justify-content: center;
		margin: 0 0 3.1rem;
		padding: 0 0 0 0;
	}
	#business .business-item {
		margin: 0 0 6rem;
	}
	#business .business-item:nth-child(odd) {
		display: block;
	}
	#business .business-item .text {
		width: 100%;
		padding: 2.4rem 2rem 4rem;
	}
	#business .business-item:nth-child(odd) .text {
		padding: 2.4rem 2rem 4rem;
	}
	#business .business-item .text .image {
		position: static;
		height: unset;
		margin: 0 0 3rem;
	}
	#business .business-item h3 {
		margin: 0 0 2rem;
		font-size: 2rem;
	}
	#business .business-item h3:after {
		width: 100%;
		bottom: -1rem;;
	}
	#business .business-item dt {
		font-size: 1.8rem;
	}
	#business .business-item .btn {
		width: 100%;
	}
	#business .business-item:nth-child(odd) .btn {
		margin: unset;
	}
}
/*--------------------------------
	Corporate
--------------------------------*/
#corporate .title {
	display: flex;
	justify-content: center;
	margin: 0 0 7rem;
}
#corporate .title h2 {
	text-align: center;
}
#corporate .title h2 span.en {
	display: inline-block;
}
#corporate .corporate {
	position: relative;
	padding: 0 0 10rem;
	overflow: hidden;
}
#corporate .corporate::before {
	position: absolute;
	z-index: -2;
	top: 14.5%;
	left: 0;
	content: "";
	display: inline-block;
	width: 100%;
	height: 78%;
	background: linear-gradient( to bottom, #FC8C62, #FDBD23 );
}
#corporate .corporate::after {
	position: absolute;
	z-index: -1;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	content: "FUKUTOMI TRANSPORT";
	display: inline-block;
	font-family: 'Barlow', sans-serif;
	font-size: 11rem;
	font-weight: 700;
	color: #F2AB00;
	text-align: center;
	opacity: 0.14;
	letter-spacing: 0.1em;
}
#corporate .corporate .image {
	border-radius: 4rem;
	overflow: hidden;
}
#corporate .corporate .text {
	display: flex;
	justify-content: center;
	padding: 4.5rem 0 5.5rem;
}
#corporate .corporate .text p {
	font-size: 1.7rem;
	font-weight: 500;
	text-align: center;
	color: #FFF;
	line-height: 1.8;
}
#corporate .corporate h3 {
	position: relative;
	margin: 0 0 4rem;
	padding: 0 0 0 2.5rem;
	font-size: 2.5rem;
	color: #FDBD23;
	letter-spacing: 0.1em;
}
#corporate .corporate h3::before {
	position: absolute;
	left: 0;
	top: 40%;
	content: "";
	display: inline-block;
	width: 1rem;
	height: 1rem;
	border-radius: 100%;
	background: #FDDB23;
}
#corporate .corporate .corporate-item {
	margin: 0 0 6rem;
}
#corporate .corporate .corporate-item .content {
	padding: 9rem 0 9.5rem;
	background: #FFF;
	border-radius: 4rem;
}
#corporate .corporate .corporate-item dl {
	display: flex;
	gap: 0 2.5rem;
}
#corporate .corporate .corporate-item dl dt {
	flex-basis: 28.2rem;
	padding: 3rem 0 3rem 1rem;
	box-sizing: border-box;
	border-top: 2px solid #FFE7AC;
	font-size: 1.6rem;
	font-weight: 500;
	color: #F7790D;
	line-height: 1.8;
}
#corporate .corporate .corporate-item dl:last-of-type dt {
	border-bottom: 2px solid #FFE7AC;
}
#corporate .corporate .corporate-item dl dd {
	flex-basis: calc( 100% - 30.7rem );
	padding: 3rem 0 3rem 1rem;
	box-sizing: border-box;
	border-top: 2px solid #D0D0D0;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.8;
}
#corporate .corporate .corporate-item dl dd a {
	color: #000;
}
#corporate .corporate-item dl:last-of-type dd {
	border-bottom: 2px solid #D0D0D0;
}
@media all and (max-width: 1199px) {
	#corporate .corporate {
		padding: 8.15rem 0 5rem;
	}
	#corporate .corporate::before {
		top: 9.5%;
		height: 86%;
	}
	#corporate .corporate::after {
		font-size: 4.8rem;
		line-height: 1;
	}
	#corporate .corporate .text p {
		font-size: 1.6rem;
		text-align: left;
	}
	#corporate .corporate h3 {
		margin: 0 0 2rem;
		padding: 0 0 0 3rem;
		font-size: 2rem;
	}
	#corporate .corporate h3::before {
		left: 1rem;
	}
	#corporate .corporate .corporate-item {
		margin: 0 0 3rem;
	}
	#corporate .corporate .corporate-item .content {
		padding: 3rem 0 3rem;
	}
	#corporate .corporate .corporate-item dl {
		display: block;
	}
	#corporate .corporate .corporate-item dl dt {
		padding: 2rem 0 0 1rem;
	}
	#corporate .corporate .corporate-item dl dd {
		padding: 0 0 2rem 1rem;
		border-top: unset;
	}
	#corporate .corporate .corporate-item dl dd table tr td {
		display: block;
	}
	#corporate .corporate .corporate-item dl:last-of-type dt,
	#corporate .corporate .corporate-item dl:last-of-type dd {
		border-bottom: unset;
	}
}
/*--------------------------------
	Image
--------------------------------*/
#corporate .image-list {
	overflow: hidden;
}
#corporate .image-list ul {
	display: flex;
	flex-wrap: nowrap;
	gap: 0 4rem;
	transition: 1s;
}
#corporate .image-list .content {
	display: flex;
}
#corporate .image-list .content ul {
	padding: 0 2rem;
}
#corporate .image-list .content ul:first-child {
	animation: imageSlide1 100s -50s linear infinite;
}
#corporate .image-list .content ul:nth-child(2) {
	animation: imageSlide2 100s linear infinite;
}
#corporate .image-list ul li {
	width: 30rem;
	height: 30rem;
	border-radius: 4rem;
	box-sizing: border-box;
	overflow: hidden;
}
#corporate .image-list ul li:nth-of-type(odd) {
	margin: 5rem 0 0 0;
}
@media all and (max-width: 865px) {
	#corporate .image-list {
		padding: 0 0 0;
	}
	#corporate .image-list ul {
		gap: 0 3rem;
		margin: 0 0 0 2rem;
		transition: 1s;
	}
	#corporate .image-list ul li {
		width: 15rem;
		height: 15rem;
		border-radius: 2rem;
	}
}
/*** Message ***/
#corporate .message {
	padding: 12.5rem 0 0;
	overflow: hidden;
}
#corporate .message h3 {
	position: relative;
	margin: 0 0 2rem;
	font-family: "Kosugi Maru", sans-serif;
	font-size: 2.8rem;
	font-weight: 500;
	letter-spacing: 0.05em;
}
#corporate .message h3::after {
	position: absolute;
	right: -10rem;
	top: -7rem;
	content: "";
	display: inline-block;
	width: 60rem;
	height: 51.5rem;
	background: url("/images/index/image-message.webp") no-repeat;
}
#corporate .message h3 + p {
	margin: 0 0 3.5rem;
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: 0.05em;
}
#corporate .message h3 + p span {
	font-size: 1.4rem;
	font-weight: 400;
	letter-spacing: 0;
}
#corporate .message dl {
	max-width: 42rem;
}
#corporate .message dl dt {
	margin: 0 0 1rem;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.8;
}
#corporate .message dl dd {
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 2;
}
@media all and (max-width: 1199px) {
	#corporate .message {
		padding: 6.25rem 0 0;
	}
	#corporate .title {
		margin: 0 0 3.5rem;
	}
	#corporate .message h3 {
		font-size: 2.2rem;
	}
	#corporate .message h3::after {
		position: static;
		display: flex;
		justify-content: center;
		width: 24rem;
		height: 20.6rem;
		margin: 0 auto;
		background-size: cover;
	}
	#corporate .message h3 + p {
		margin: 0 0 2.5rem;
		text-align: center;
	}
}
/*** History ***/
#corporate .history {
	padding: 16.3rem 0 0;
}
#corporate .history .history-item {
	position: relative;
}
#corporate .history .history-item::before {
	position: absolute;
	z-index: -1;
	top: 50%;
	left: 0;
	content: "";
	display: inline-block;
	width: 100%;
	height: 50%;
	border-radius: 1rem 1rem 0 0;
	background: #FFFBE0;
}
#corporate .history .history-item .content {
	padding: 9rem 0 9.5rem;
	background: #FFF;
	border-radius: 4rem;
}
#corporate .history .history-item dl {
	display: flex;
	gap: 0 2.5rem;
}
#corporate .history .history-item dl dt {
	flex-basis: 28.2rem;
	padding: 3rem 0 3rem 1rem;
	box-sizing: border-box;
	border-top: 2px solid #FFE7AC;
	font-size: 1.6rem;
	font-weight: 500;
	color: #F7790D;
	line-height: 1.8;
}
#corporate .history .history-item dl:last-of-type dt {
	border-bottom: 2px solid #FFE7AC;
}
#corporate .history .history-item dl dd {
	flex-basis: calc( 100% - 30.7rem );
	padding: 3rem 0 3rem 1rem;
	box-sizing: border-box;
	border-top: 2px solid #D0D0D0;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.8;
}
#corporate .history .history-item dl:last-of-type dd {
	border-bottom: 2px solid #D0D0D0;
}
@media all and (max-width: 1199px) {
	#corporate .history {
		padding: 8.15rem 0 0;
	}
	#corporate .history .history-item .content {
		padding: 0 0 3rem;
	}
	#corporate .history .history-item dl {
		display: block;
	}
	#corporate .history .history-item dl dt {
		padding: 2rem 0 0 1rem;
	}
	#corporate .history .history-item dl dd {
		padding: 0 0 2rem 1rem;
		border-top: unset;
	}
	#corporate .history .history-item dl:last-of-type dt,
	#corporate .history .history-item dl:last-of-type dd {
		border-bottom: unset;
	}
}
/*** About ***/
#corporate .about {
	position: relative;
	padding: 12rem 0 20rem;
}
#corporate .about::before {
	position: absolute;
	z-index: -1;
	left: 0;
	top: 0;
	content: "";
	display: inline-block;
	width: 100%;
	height: 100%;
	background: #FFFBE0;
}
#corporate .about h3 {
	position: relative;
	margin: 0 0 4rem;
	padding: 0 0 0 2.5rem;
	font-size: 2.5rem;
	color: #FDBD23;
	letter-spacing: 0.1em;
}
#corporate .about h3::before {
	position: absolute;
	left: 0;
	top: 40%;
	content: "";
	display: inline-block;
	width: 1rem;
	height: 1rem;
	border-radius: 100%;
	background: #FDDB23;
}
#corporate .about .about-item {
	display: flex;
	gap: 0 7rem;
	margin: 0 0 10.4rem;
}
#corporate .about .about-item:last-of-type {
	margin: 0 0 0;
}
#corporate .about .about-item .image {
	width: 55rem;
	height: 30.5rem;
	border-radius: 2rem;
	overflow: hidden;
}
#corporate .about .about-item .image > div {
	width: 55rem !important;
	height: 30.5rem !important;
	background: #DDD;
}
#corporate .about .about-item dl {}
#corporate .about .about-item dl dt {
	margin: 0 0 3rem;
	font-family: "Kosugi Maru", sans-serif;
	font-size: 2.8rem;
	font-weight: 400;
	color: #F7790D;
	letter-spacing: 0.05em;
}
#corporate .about .about-item dl dd {
	margin: 0 0 4rem;
	font-size: 1.6rem;
	letter-spacing: 0.05em;
	line-height: 1.8;
}
#corporate .about .about-item dl dd span.barlow {
	font-size: 1.3rem;
}
#corporate .about .about-item dl dd span.num {
	font-size: 2rem;
	font-weight: 500;
}
#corporate .about .about-item dl dd span.num a {
	color: #000;
}
#corporate .about .about-item dl dd i {
	font-size: 1.2rem;
	font-style: normal;
	font-weight: 500;
}
#corporate .about .about-item .btn a {
	width: 26rem;
	height: 6rem;
	padding: 0 0 0 3rem;
	background: linear-gradient(to right, #FDBD23, #FC8C62);
	font-size: 1.6rem;
	color: #FFF;
}
#corporate .about .about-item .btn a:hover {
	color: #F7790D;
}
#corporate .about .about-item .btn a:hover::before {
	background: #FFF;
	opacity: 1;
}
#corporate .about .about-item .btn span {
	position: relative;
	left: 0;
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
}
#corporate .about .about-item .btn span::before {
	position: absolute;
	top: 33%;
	right: 2rem;
	content: "";
	display: inline-block;
	width: 2.2rem;
	height: 2.2rem;
	border-radius: 100%;
	background: #FFF;
	opacity: 1;
	transition: .3s;
}
#corporate .about .about-item .btn a:hover span::before {
	opacity: 0;
}
#corporate .about .about-item .btn span::after {
	position: absolute;
	top: 51%;
	right: 3rem;
	content: "";
	display: inline-block;
	border-top: 0.15rem solid #FC8C62;
	border-right: 0.15rem solid #FC8C62;
	width: 0.3em;
	height: 0.3em;
	transform: translate(0, -50%) rotate(45deg);
}
@media all and (max-width: 1199px) {
	#corporate .about {
		padding: 6rem 0 10rem;
	}
	#corporate .about h3 {
		margin: 0 0 2rem;
		font-size: 2rem;
	}
	#corporate .about h3::before {
		left: 0.5rem;
	}
	#corporate .about .about-item {
		display: block;
		margin: 0 0 5.2rem;
	}
	#corporate .about .about-item .image {
		width: 100%;
		height: 18rem;
		margin: 0 0 1.5rem;
	}
	#corporate .about .about-item .image > div {
		width: 100% !important;
		height: 18rem !important;
	}
	#corporate .about .about-item dl dt {
		margin: 0 0 1rem;
		font-size: 1.8rem;
	}
	#corporate .about .about-item dl dd {
		margin: 0 0 2rem;
	}
	#corporate .about .about-item .btn {
		display: flex;
		justify-content: center;
	}
}
/*--------------------------------
	Recruit
--------------------------------*/
#recruit {
	position: relative;
}
#recruit::before {
	position: absolute;
	z-index: -2;
	top: 0;
	left: 0;
	content: "";
	display: inline-block;
	width: 100%;
	height: calc( 50% + 7.2rem );
	border-radius: 0 0 1rem 1rem;
	background: #FFFBE0;
}
#recruit .title {
	margin: 0 0 6rem;
}
#recruit .title h2 {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}
#recruit .title h2 span.en {
	position: absolute;
	z-index: -1;
	left: 0;
	right: 0;
	margin: 0 auto;
	font-size: 11rem;
	font-weight: 700;
	text-align: center;
	opacity: 0.12;
}
#recruit .title h2 span.jp {
	font-size: 4rem;
	letter-spacing: 0.07em;
}
#recruit .recruit-item {
	position: relative;
	margin: 0 0 12rem;
	padding: 6.7rem 0 5.3rem 14.4rem;
	box-sizing: border-box;
	border-radius: 5rem;
}
#recruit .recruit-item::before {
	position: absolute;
	z-index: -2;
	left: 0;
	top: 0;
	content: "";
	display: inline-block;
	width: 100%;
	height: 100%;
	border-radius: 5rem;
	background: linear-gradient(to right top, #FDBD23, #FC8C62);
}
#recruit .recruit-item::after {
	position: absolute;
	z-index: -1;
	right: 0;
	bottom: 0;
	content: "";
	display: inline-block;
	width: 52rem;
	height: 43.5rem;
	background: url("/images/index/image-recruit.webp") no-repeat;
}
#recruit .recruit-item dl {
	max-width: 48.3rem;
}
#recruit .recruit-item dl dt {
	margin: 0 0 3rem;
	font-family: "Kosugi Maru", sans-serif;
	font-weight: 500;
	font-size: 2.1rem;
	letter-spacing: 0.03em;
}
#recruit .recruit-item dl dd {
	display: flex;
	justify-content: end;
	margin: 0 0 3rem;
	padding: 0 4rem 0 0;
	font-size: 1.7rem;
	text-align: center;
	line-height: 1.8;
}
#recruit .recruit-item .btn {
	display: flex;
	justify-content: end;
	max-width: 48.3rem;
}
#recruit .recruit-item .btn a {
	box-shadow: 0.5rem 0.5rem 0 #F78B0D;
}
@media all and (max-width: 1199px) {
	#recruit {
		overflow: hidden;
	}
	#recruit .title {
		margin: 0 0 3rem;
	}
	#recruit .title h2 span.jp {
		font-size: 2.8rem;
	}
	#recruit .title h2 span.en {
		font-size: 5rem;
	}
	#recruit .recruit-item {
		margin: 0 -2rem 6rem;
		padding: 3rem 0 3rem 0rem;
	}
	#recruit .recruit-item::before {
		border-radius: unset;
	}
	#recruit .recruit-item dl {
		padding: 0 1.5rem;
	}
	#recruit .recruit-item dl dt {
		display: flex;
		justify-content: center;
		text-align: center;
	}
	#recruit .recruit-item dl dd {
		justify-content: center;
		padding: 0 0 0;
	}
	#recruit .recruit-item .btn {
		justify-content: center;
		padding: 0 1.5rem;
	}
	#recruit .recruit-item::after {
		right: -5rem;
		bottom: 12.1rem;
		width: 20.8rem;
		height: 17.4rem;
		background-size: cover;
		opacity: 0.3;
	}
}
/*--------------------------------
	Contact
--------------------------------*/
#contact {
	position: relative;
	height: 41rem;
	box-sizing: border-box;
	padding: 6.8rem 0 11.5rem;
}
#contact::before {
	position: absolute;
	z-index: -3;
	left: 0;
	top: 0;
	content: "";
	display: inline-block;
	width: 100%;
	height: 100%;
	background: url("/images/index/contact-bg.webp") no-repeat center center;
	background-size: cover;
}
#contact::after {
	position: absolute;
	z-index: -1;
	left: 0;
	top: 0;
	content: "";
	display: inline-block;
	width: 100%;
	height: 100%;
	/*background: url("/images/index/contact-bg-cover.webp") no-repeat center center;*/
	backdrop-filter: blur(1.5rem);
}
#contact .cover {
	position: absolute;
	z-index: -1;
	left: 0;
	top: 0;
	content: "";
	display: inline-block;
	width: 100%;
	height: 100%;
	/*background: #FFF9DE;
	opacity: 0.55;*/
	background: url("/images/index/contact-bg-cover.webp") no-repeat center center;
	opacity: 0.8;
}
#contact .content-in {
	display: flex;
	justify-content: space-between;
}
#contact .title {
	margin: 0 0 4rem;
}
#contact .title + p {
	font-size: 1.6rem;
	line-height: 1.8;
}
#contact .tel {
	margin: 0 0 4rem;
}
#contact .tel p {
	text-align: center;
	font-size: 1.6rem;
}
#contact .tel p a {
	position: relative;
	display: inline-block;
	font-family: 'Barlow', sans-serif;
	font-size: 4.7rem;
	font-weight: 500;
	color: #000;
	letter-spacing: 0.05em;
}
#contact .tel p a::before {
	position: absolute;
	left: -2.5rem;
	top: 2.5rem;
	content: "";
	display: inline-block;
	width: 1.6rem;
	height: 2.4rem;
	background: url("/images/index/icon-tel.svg") no-repeat;
}
@media all and (max-width: 1199px) {
	#contact {
		height: unset;
		padding: 3.4rem 0 3.4rem;
	}
	#contact .content-in {
		display: block;
	}
	#contact .title {
		margin: 0 0 2rem;
	}
	#contact .title + p {
		margin: 0 0 3rem;
	}
	#contact .tel {
		margin: 0 0 2rem;
	}
	#contact .tel p a {
		font-size: 3.2rem;
	}
	#contact .tel p a::before {
		top: 1.25rem;
	}
}