@charset "utf-8";

/*
Theme Name: アドダス
Author: アドダス
Author URI: https://addas.jp
Description: Bootstrap5@Webpack
*/

/*　H-02style  ================================================================================= */

body {
	font-family: YakuHanJP, "Zen Kaku Gothic New", 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro','メイリオ', 'Meiryo', '游ゴシック', 'Yu Gothic', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	padding-top: 0!important;
}

.overflow-x-hidden {
	overflow-x: hidden;
	overflow-y: visible;
}

:root{
  --red: #D60000;
  --lightred: #fbe8e8;
  --lightred2: #ec8a8a;
  --black: #231818;
  --gray: #5a5a5a;
  --lightgray: #E5E5E5;
  --whitegray: #F7F7F7;
  --font-jp:"Zen Kaku Gothic New",sans-serif;
  --font-serif:"Playfair Display",serif;
  --font-serif2:"Cormorant Garamond", serif;
}

.roboto-500 {
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}
.roboto-700 {
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}
.roboto-900 {
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}

a:hover {
    color: var(--red);
}

.bg-whitegray {
	background-color: var(--whitegray);
}
.bg-lightred {
	background-color: var(--lightred);	
}
.bg-lightgray {
	background-color: var(--lightgray);
}
.text-red {
	color: var(--red);
}
.bg-red {
	background-color: var(--red);
}

.text-lightred2 {
	color: var(--lightred2);
}

article.post {
    color: #000;
} 

.page-link:hover {
    border-color: #c2b8b9;
    background-color: #d9d9d9;
}

.lh-03{line-height:.3}.lh-04{line-height:.4}.lh-05{line-height:.5}.lh-06{line-height:.6}.lh-07{line-height:.7}.lh-08{line-height:.8}.lh-09{line-height:.9}.lh-10{line-height:1}.lh-11{line-height:1.1}.lh-12{line-height:1.2}.lh-13{line-height:1.3}.lh-14{line-height:1.4}.lh-15{line-height:1.5}.lh-16{line-height:1.6}.lh-17{line-height:1.7}.lh-18{line-height:1.8}.lh-19{line-height:1.9}.lh-20{line-height:2}.lh-21{line-height:2.1}.lh-22{line-height:2.2}.lh-23{line-height:2.3}.lh-24{line-height:2.4}.lh-25{line-height:2.5}.lh-26{line-height:2.6}.lh-27{line-height:2.7}.lh-28{line-height:2.8}.lh-29{line-height:2.9}.lh-30{line-height:3}

.ls-1{letter-spacing:1px}.ls-2{letter-spacing:2px}.ls-3{letter-spacing:3px}.ls-4{letter-spacing:4px}.ls-5{letter-spacing:5px}.ls-6{letter-spacing:6px}.ls-7{letter-spacing:7px}.ls-8{letter-spacing:8px}.ls-9{letter-spacing:9px}.ls-10{letter-spacing:10px}

/* ============= 角丸 ============ */
.rounded05{border-radius:5px}.rounded10{border-radius:10px}.rounded15{border-radius:15px}.rounded20{border-radius:20px}.rounded25{border-radius:25px}.rounded30{border-radius:30px}.rounded35{border-radius:35px}.rounded40{border-radius:40px}.rounded45{border-radius:45px}.rounded50{border-radius:50px}

/* ============= 上だけ角丸 ============ */
.rounded05-up{border-radius:5px 5px 0 0}.rounded10-up{border-radius:10px 10px 0 0}.rounded15-up{border-radius:15px 15px 0 0}.rounded20-up{border-radius:20px 20px 0 0}.rounded25-up{border-radius:25px 25px 0 0}.rounded30-up{border-radius:30px 30px 0 0}.rounded35-up{border-radius:35px 35px 0 0}.rounded40-up{border-radius:40px 40px 0 0}.rounded45-up{border-radius:45px 45px 0 0}.rounded50-up{border-radius:50px 50px 0 0}

/* ============= 下だけ角丸 ============ */
.rounded05-down{border-radius:0 0 5px 5px}.rounded10-down{border-radius:0 0 10px 10px}.rounded15-down{border-radius:0 0 15px 15px}.rounded20-down{border-radius:0 0 20px 20px}.rounded25-down{border-radius:0 0 25px 25px}.rounded30-down{border-radius:0 0 30px 30px}.rounded35-down{border-radius:0 0 35px 35px}.rounded40-down{border-radius:0 0 40px 40px}.rounded45-down{border-radius:0 0 45px 45px}.rounded50-down{border-radius:0 0 50px 50px}

/* ============= 左だけ角丸 ============ */
.rounded05-left{border-radius:5px 0 0 5px}.rounded10-left{border-radius:10px 0 0 10px}.rounded15-left{border-radius:15px 0 0 15px}.rounded20-left{border-radius:20px 0 0 20px}.rounded25-left{border-radius:25px 0 0 25px}.rounded30-left{border-radius:30px 0 0 30px}.rounded35-left{border-radius:35px 0 0 35px}.rounded40-left{border-radius:40px 0 0 40px}.rounded45-left{border-radius:45px 0 0 45px}.rounded50-left{border-radius:50px 0 0 50px}

/* ============= 右だけ角丸 ============ */
.rounded05-right{border-radius:0 5px 5px 0}.rounded10-right{border-radius:0 10px 10px 0}.rounded15-right{border-radius:0 15px 15px 0}.rounded20-right{border-radius:0 20px 20px 0}.rounded25-right{border-radius:0 25px 25px 0}.rounded30-right{border-radius:0 30px 30px 0}.rounded35-right{border-radius:0 35px 35px 0}.rounded40-right{border-radius:0 40px 40px 0}.rounded45-right{border-radius:0 45px 45px 0}.rounded50-right{border-radius:0 50px 50px 0}

/* ====================================================

       　               色（ポジ)　

==================================================== */

/* ============= 背景色 ============= */
.bg-base {
	background-color: #fff;
}

/* ============= 文字の色 ============ */
/*　ヘッダーの文字の色　*/
#area-header #menu-global .menu-item .nav-link {
    color: var(--red);
    font-weight: normal;
}
@media (min-width: 992px) {
	#area-header #menu-global .menu-item .nav-link {
	    padding-left: 15px;
        padding-right: 15px;
	}
}

/*　文章の色　*/
p {
	color: #231815;	
	letter-spacing: 2px;
}

/* ============ 見出しの色 ============ */
h1,h2,h3,h4,h5 {
	color: #000;
}

/* ============ ボタンの色 ============ */
/*　ボタンの中の文字の色　*/
.link-btn1 span {
    color: #fff!important;
}

/*　ボタンの中の文字の色(ホバー時の色)　*/
.link-btn1:hover span{
  	color: #000!important;
}

/*　ボタンの中の背景の色　*/
.link-btn1 {
	background-color: #000!important;
}

/*　ボタンの中の背景の色(ホバー時の色)　*/
.link-btn1:before {
	background-color: #fff!important;
  	border: 2px solid #000!important;
}


/* ==================================================
   H-02 ヘッダー
================================================== */

/* =========================
   基本設定
========================= */
.h-02 #area-header {
	display: flex;
	flex-direction: column;
	height: 60px;
	padding: 0;
	border-top: 4px solid var(--red);
}
@media (min-width: 992px) {
	.h-02 #area-header {
		border-top: 8px solid var(--red);
	}
}

.h-02 #area-header .container {
	height: 60px;
	padding-top: 0;
}

.h-02 #area-header .red-top {
	width: 100%;
	height: 8px;
	background-color: var(--red);
	flex-shrink: 0;
}

/* =========================
   ロゴ
========================= */
.h-02 #area-header .navbar-brand {
	width: auto;
	margin-right: 20px;
	padding-top: 15px;
	padding-bottom: 15px;
	display: flex;
	align-items: center;
}
@media (max-width: 768px) {
	.h-02 #area-header {
		background-color: #fff;
	}
}
@media (min-width: 992px) {
	.h-02 #area-header .navbar-brand {
		padding-top: 25px;
		padding-bottom: 25px;
	}
}

.h-02 #area-header .navbar-brand span {
	font-family: "Roboto", sans-serif;
	font-size: 13px;
	margin-left: 10px;
}
@media (min-width: 992px) {
	.h-02 #area-header .navbar-brand span {
		font-size: 12px;
	}
}
@media (min-width: 1200px) {
	.h-02 #area-header .navbar-brand span {
		font-size: 15px;
	}
}

.h-02 #area-header .header-logo {
	width: 180px;
	margin: 0;
	position: relative;
    z-index: 100;
}
@media (min-width: 992px) {
	.h-02 #area-header .header-logo {
		width: 200px;
	}
}

/* =========================
   グローバルナビ
========================= */
.h-02 #area-header #menu-global {
	margin-top: 60px;
	padding: 6%;
}

.h-02 #area-header #menu-global .menu-item {
	margin-top: 10px;
	background-color: transparent;
}

.h-02 #area-header #menu-global .menu-item .nav-link {
	color: #3a3a3a;
	font-weight: normal;
}
.h-02 #area-header #menu-global .menu-item.menu-item-object-page .nav-link:hover {
	color: var(--red);
}


/* =========================
   サブナビ
========================= */
.h-02 #area-header #header-sub {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	margin: 0 0 10px;
	padding: 0;
}

.h-02 #area-header #header-sub li {
	margin-right: 10px;
	list-style: none;
}

.h-02 #area-header #header-sub li:last-child {
	margin-right: 0;
}

.h-02 #area-header #header-sub li a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-left: 30px;
	color: #5a5a5a;
	font-size: 12px;
	text-decoration: none;
}

.h-02 #area-header #header-sub li a::after {
	content: "";
	width: 6px;
	height: 10px;
	background: url("img/SVG/arrow-left.svg") center / contain no-repeat;
	flex-shrink: 0;
}

.h-02 #area-header #header-sub li:hover a {
	background-color: var(--lightred);
	color: var(--red);
}

/* 採用サイト */
.h-02 #area-header #header-sub .btn-recruit a {
	padding: 10px 20px;
	border-radius: 0 0 15px 15px;
	background-color: var(--red);
	color: #fff;
	font-size: 14px;
}

.h-02 #area-header #header-sub .btn-recruit a::after {
	display: none;
}

/* =========================
   ハンバーガーボタン
========================= */
.h-02 #area-header .openbtn {
	position: relative;
	width: 60px;
	height: 60px;
	overflow: hidden;
	cursor: pointer;
}

.h-02 #area-header .openbtn-area {
	position: relative;
	width: 100%;
	height: 100%;
	transition: transform 0.55s cubic-bezier(.68, -.6, .32, 1.6);
}

.h-02 #area-header .openbtn span {
	position: absolute;
	left: 14px;
	display: block;
	width: 34px;
	height: 1.5px;
	background-color: var(--red);
	transform-origin: center;
	transition:
		top 0.4s cubic-bezier(.68, -.6, .32, 1.6),
		left 0.4s ease,
		width 0.4s ease,
		transform 0.45s cubic-bezier(.68, -.6, .32, 1.6),
		opacity 0.25s ease;
}

.h-02 #area-header .openbtn span:nth-of-type(1) {
	top: 20px;
}

.h-02 #area-header .openbtn span:nth-of-type(2) {
	top: 30px;
	width: 28px;
	transition-delay: 0.04s;
}

.h-02 #area-header .openbtn span:nth-of-type(3) {
	top: 40px;
	width: 22px;
	transition-delay: 0.08s;
}

.h-02 main.main-visual {
	margin-top: 60px;
}
@media (min-width: 992px) {
	.h-02 main.main-visual {
		margin-top: 83px;
	}
}

.main-visual {
	position: relative;
	width: 100%;
	overflow: hidden;
}
.mv-img {
    display: block;
    opacity: 0;
    transform: scale(1.18) translateY(15px);
    animation: mvFadeZoomSlide 2.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes mvFadeZoomSlide {
    0% {
        opacity: 0;
        transform: scale(1.18) translateY(25px);
    }
    100% {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}


/* ホバー */
@media (hover: hover) {
	.h-02 #area-header .openbtn:not(.active):hover .openbtn-area {
		transform: scale(1.06);
	}

	.h-02 #area-header .openbtn:not(.active):hover span:nth-of-type(1) {
		width: 34px;
		transform: translate(6px, -2px);
		transition-delay: 0s;
	}

	.h-02 #area-header .openbtn:not(.active):hover span:nth-of-type(2) {
		width: 34px;
		transform: translateX(-4px);
		transition-delay: 0.05s;
	}

	.h-02 #area-header .openbtn:not(.active):hover span:nth-of-type(3) {
		width: 34px;
		transform: translate(6px, 2px);
		transition-delay: 0.1s;
	}
}

@media (max-width: 991.98px) {
	.h-02 #area-header #navbarNav
	.h-nav-jisseki > .dropdown-menu {
		display: none !important;
		position: static;
		width: 100%;
		margin: 0;
		transform: none;
	}
	.h-02 #area-header #navbarNav
	.h-nav-jisseki > .dropdown-menu.show {
		display: block !important;
	}
	.h-02 #area-header #navbarNav
	.h-nav-jisseki:hover > .dropdown-menu:not(.show) {
		display: none !important;
	}
}

/* アクティブ時 */
.h-02 #area-header .openbtn.active .openbtn-area {
	transform: rotate(360deg);
}

.h-02 #area-header .openbtn.active span:nth-of-type(1) {
	top: 29px;
	left: 15px;
	width: 30px;
	transform: rotate(45deg);
	transition-delay: 0s;
}

.h-02 #area-header .openbtn.active span:nth-of-type(2) {
	top: 29px;
	width: 0;
	opacity: 0;
	transform: translateX(22px);
	transition-delay: 0s;
}

.h-02 #area-header .openbtn.active span:nth-of-type(3) {
	top: 29px;
	left: 15px;
	width: 30px;
	transform: rotate(-45deg);
	transition-delay: 0s;
}

@media (hover: hover) {
	.h-02 #area-header .openbtn.active:hover .openbtn-area {
		transform: rotate(360deg) scale(0.94);
	}
}

.h-02 #area-header {
	opacity: 0;
    transform: translateY(-50px);
    animation: headerFadeIn 1.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
@keyframes headerFadeIn {
    0% {
        opacity: 0;
        transform: translateY(-50px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.l-page-title {
	opacity: 0;
    transform: translateY(-80px);
    animation: headerFadeIn2 2.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
@keyframes headerFadeIn2 {
    0% {
        opacity: 0;
        transform: translateY(-80px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* =========================
   お問い合わせボタン
========================= */
.h-02 #area-header #menu-global .menu-item.btn-contact {
	display: inline-block;
	background-color: #000;
}

.h-02 #area-header #menu-global .menu-item.btn-contact a {
	color: #fff;
}

/* =========================
   ドロップダウン
========================= */
.h-02 #area-header #navbarNav ul li.dropdown {
	position: relative;
}

.h-02 #area-header #navbarNav ul li.dropdown::before,
.h-02 #area-header #navbarNav ul li.dropdown::after {
	content: "";
	position: absolute;
	top: 22px;
	right: 0;
	width: 18px;
	height: 1px;
	background: #3a3a3a;
	transition: transform .3s ease, opacity .3s ease;
}

.h-02 #area-header #navbarNav ul li.dropdown::after {
	transform: rotate(90deg);
}
.h-02 #area-header #navbarNav ul li.dropdown.show::after {
	opacity: 0;
	transform: rotate(90deg) scaleY(0);
}

.h-02 #area-header #navbarNav li.dropdown ul {
	position: absolute;
	top: 36px;
	left: 0;
	z-index: 4;
	width: 200%;
	padding: 0;
	background-color: #f7f7f7;
	border-radius: 20px;
    border: 0;
	opacity: 0;
	visibility: hidden;
	transition:
	opacity 0.3s ease,
	visibility 0.3s ease;
}

.h-02 #area-header #navbarNav li.dropdown ul li {
	width: 100%;
}

.h-02 #area-header #navbarNav li.dropdown:hover > ul,
.h-02 #area-header #navbarNav li.dropdown ul li:hover > ul,
.h-02 #area-header #navbarNav li.dropdown:active > ul,
.h-02 #area-header #navbarNav li.dropdown ul li:active > ul {
	opacity: 1;
	visibility: visible;
}

.h-02 #area-header #navbarNav li.dropdown ul li a {
	position: relative;
	display: block;
	width: 100%;
	padding: 20px 10px!important;
	color: #231815!important;
	border-bottom: 1px solid #cacaca;
}

.h-02 #area-header #navbarNav li.dropdown ul li:last-child a {
	border-bottom: 0;
}

/*.h-02 #area-header #navbarNav li.dropdown ul li a:before {
	content: '●';
	font-size: 8px;
	color: var(--red);
	padding-right: 10px;
}*/
.h-02 #area-header #navbarNav li.dropdown ul li a:hover:before {
	color: #5a5a5a;
}
.h-02 #area-header #navbarNav li.dropdown ul li:hover {
	background: inherit!important;
}


.h-02 #area-header #navbarNav li.dropdown ul li a:hover,
.h-02 #area-header #navbarNav li.dropdown ul li a:active {
	color: #231815;
}
.h-02 #area-header #menu-global .menu-item.menu-item-has-children .dropdown-menu .nav-link::after {
	display: none;
}

.h-02 #area-header #menu-global li:hover .dropdown-menu {
	display: flex;
	flex-wrap: wrap;
	padding: 20px;
}

/* ==================================================
   スマホ・タブレット
================================================== */
@media (max-width: 991.98px) {
	.h-02 #area-header .hamburger {
		position: absolute;
		top: 0;
		right: 0;
		z-index: 100;
	}

	.h-02 #area-header .globalMenuSp {
		position: fixed;
		top: 0;
		left: 0;
		z-index: -1;
		width: 100%;
		height: 100vh;
		background-color: #fff;
		text-align: center;
		transform: translateX(-100%);
		opacity: 0;
		will-change: transform, opacity;
		transition:
			transform 0.6s cubic-bezier(0.22, 1, 0.36, 1),
			opacity 0.5s ease 0.05s;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.h-02 #area-header .globalMenuSp.active {
		z-index: 90;
		transform: translateX(0);
		opacity: 1;
		height: calc(100dvh - 60px);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
	}

	.h-02 #area-header #navbarNav.globalMenuSp.active.show {
		border-top: 4px solid var(--red);
	}

	.h-02 #area-header .globalMenuSp ul {
		width: 100%;
		margin: 0 auto;
		padding: 0;
	}

	.h-02 #area-header .globalMenuSp ul li {
		width: 100%;
		padding: 0;
		list-style: none;
	}

	.h-02 #area-header .globalMenuSp ul li a {
		display: block;
		padding: 30px 0 10px;
		border-bottom: 1px solid #cacaca;
		color: #5a5a5a;
		text-align: left;
		text-decoration: none;
		font-size: 14px;
		font-weight: bold !important;
	}

	.h-02 #area-header #menu-global {
		margin-top: 60px;
		padding: 0 20px 20px;
	}

	.h-02 #area-header #menu-global .menu-item {
		width: 100%;
		margin: 0 auto;
		padding: 0;
	}

	.h-02 #area-header #menu-global .menu-item:hover {
		background-color: transparent;
	}

	/* お問い合わせ */
	.h-02 #area-header #menu-global .menu-item.btn-contact {
		display: block;
		width: 100%;
		margin: 20px auto 20px 0;
		padding-right: 10px;
		padding-left: 10px;
		background-color: #000;
	}

	.h-02 #area-header #menu-global .menu-item.btn-contact a {
		padding-top: 15px;
		padding-bottom: 15px;
	}

	/* スマホドロップダウン */
	.h-02 #area-header #navbarNav li.dropdown > ul.dropdown-menu,
	.h-02 #area-header #navbarNav li.dropdown ul ul {
		position: relative;
		top: auto;
		left: auto;
		display: none;
		width: 100%;
		margin: 0;
		padding: 10px 0 30px;
		border: 0;
		background-color: transparent;
		opacity: 1;
		visibility: visible;
		transform: none;
		transition: none;
	}

	.h-02 #area-header #navbarNav li.dropdown > ul.dropdown-menu.active,
	.h-02 #area-header #navbarNav li.dropdown > ul.dropdown-menu.show {
		display: block;
	}

	.h-02 #area-header #navbarNav ul li.dropdown::before {
		display: block;
	}

	.h-02 #area-header #menu-global .dropdown-menu {
		float: none;
		min-width: 0;
		box-shadow: none;
	}

	.h-02 #area-header #menu-global .dropdown-menu li {
		margin-top: 0;
	}

	.h-02 #area-header #menu-global .dropdown-menu li a:hover,
	.h-02 #area-header #menu-global .dropdown-menu li a:active {
		background-color: transparent;
		color: #000 !important;
	}

	.h-02 #area-header #navbarNav ul li.dropdown::before,
	.h-02 #area-header #navbarNav ul li.dropdown::after {
		top: 40px;
	}

	/* 子メニューを持たない通常メニュー */
	.h-02 #area-header #navbarNav ul li:not(.menu-item-has-children):not(.dropdown) {
		position: relative;
	}

	.h-02 #area-header #navbarNav ul li:not(.menu-item-has-children):not(.dropdown)::before {
		content: "";
		position: absolute;
		top: 50%;
		right: 0;
		z-index: 1;
		width: 20px;
		height: 20px;
		border-radius: 50%;
		background-color: var(--red);
		transform: translateY(-50%);
		pointer-events: none;
	}

	.h-02 #area-header #navbarNav ul li:not(.menu-item-has-children):not(.dropdown)::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 7px;
        z-index: 2;
        width: 8px;
        height: 8px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		border-radius: 1px;
		transform: translateY(-50%) rotate(45deg);
		pointer-events: none;
	}

	.h-02 #area-header #menu-global .dropdown-menu li a {
		position: relative;
		display: block;
		width: 100%;
		padding: 15px 45px 15px 0 !important;
		border-bottom: 1px solid #e6e6e6 !important;
		color: var(--gray);
		text-align: left;
		font-size: 14px;
		font-weight: normal !important;
		box-sizing: border-box;
	}

	.h-02 #area-header #navbarNav li.dropdown ul li a::after {
		content: "" !important;
		position: absolute;
		top: 50%;
		right: 15px;
		display: block !important;
		width: 20px;
		height: 20px;
		margin: 0 !important;
		border: none !important;
		border-radius: 50%;
		background-color: var(--red);
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M8 5l5 5-5 5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
		background-repeat: no-repeat;
		background-position: center;
		background-size: 12px 12px;
		transform: translateY(-50%);
		pointer-events: none;
	}

	.h-02 #area-header #navbarNav ul li.dropdown ul li::before {
		display: none;
	}

	.h-02 #area-header #menu-global .menu-item.dropdown ul li a::before {
		display: none;
	}

	/* 採用情報画像ボタン */
	#navbarNav .menu-recuruit > a {
		position: relative;
		display: block;
		width: 100%;
		font-size: 0;
		aspect-ratio: 180 / 60;
	}

	#navbarNav .menu-recuruit a {
		margin-top: 25px;
		border-bottom: 0 !important;
	}

	#navbarNav .menu-recuruit > a::before {
		content: "";
		position: absolute;
		inset: 0;
		background: url("img/btn-headerricruit.png") center center / 100% 100% no-repeat;
	}

	/* お問い合わせ・お知らせ */
	.h-02 #area-header #navbarNav .menu-contact,
	.h-02 #area-header #navbarNav .menu-information {
		display: inline-block;
		width: calc(47% - 10px);
		margin-top: 15px;
		vertical-align: top;
		box-sizing: border-box;
	}

	.h-02 #area-header #navbarNav .menu-contact {
		margin-right: 30px;
	}

	.h-02 #area-header #navbarNav .menu-contact a,
	.h-02 #area-header #navbarNav .menu-information a {
		width: 100%;
		border-bottom: 0;
		color: var(--gray) !important;
		font-weight: normal !important;
	}

	.h-02 #area-header #navbarNav .menu-contact::before,
	.h-02 #area-header #navbarNav .menu-information::before {
		display: none;
	}

	.h-02 #area-header #navbarNav .menu-contact > a,
	.h-02 #area-header #navbarNav .menu-information > a {
		display: inline-flex;
		align-items: center;
	}

	.h-02 #area-header #navbarNav .menu-contact > a::after,
	.h-02 #area-header #navbarNav .menu-information > a::after {
		content: "";
		display: inline-block;
		width: 10px;
		height: 10px;
		margin-left: 8px;
		border-top: 1px solid var(--red);
		border-right: 1px solid var(--red);
		background: none;
		transform: rotate(45deg);
	}

	.h-02 #area-header #navbarNav .menu-item-privacy-policy.plavo::before {
		display: none;
	}

	.h-02 #area-header #navbarNav .menu-item-privacy-policy.plavo a {
		border-bottom: 0;
		color: var(--gray) !important;
		font-size: 12px;
		font-weight: normal !important;
	}

	.h-02 #area-header #menu-global .menu-item > .nav-link {
		display: flex;
		align-items: flex-end;
		padding-right: 35px;
		gap: 10px;
	}

	.h-02 #area-header #menu-global .menu-item.btn-maedagumi > .nav-link::before {
		content: "About Us";
		font-family: "Roboto", sans-serif;
		color: var(--red);
		font-size: 26px;
		line-height: 1;
	}

	.h-02 #area-header #menu-global .menu-item.btn-environment > .nav-link::before {
		content: "Environment";
		font-family: "Roboto", sans-serif;
		color: var(--red);
		font-size: 26px;
		line-height: 1;
	}

	.h-02 #area-header #menu-global .menu-item.btn-interview > .nav-link::before {
		content: "Interview";
		font-family: "Roboto", sans-serif;
		color: var(--red);
		font-size: 26px;
		line-height: 1;
	}

	.h-02 #area-header #menu-global .menu-item.btn-jobs > .nav-link::before {
		content: "Jobs";
		font-family: "Roboto", sans-serif;
		color: var(--red);
		font-size: 26px;
		line-height: 1;
	}

	.h-02 #area-header #menu-global .menu-item.open-companyabouts .nav-link {
	    background-color: #e5e5e5;
	    border: 1px solid #e5e5e5;
	    color: #3a3a3a;
	    border-radius: 999px;
	    padding: 15px 20px;
	}
	.h-02 #area-header #menu-global .menu-item.open-companyabouts {
		margin-top: 80px;
	}
	.h-02 #area-header #menu-global .menu-item.open-companyabouts > a {
		position: relative;
	}
	.h-02 #area-header #menu-global .menu-item.open-companyabouts::before,
	.h-02 #area-header #menu-global .menu-item.open-companyabouts::after {
		display: none;
	}
	.h-02 #area-header #menu-global .menu-item.open-companyabouts > a::before {
		content: "Open Company";
		position: absolute;
		top: -36px;
		left: 0;
		display: block;
		width: fit-content;
		font-family: "Roboto", sans-serif;
		color: #cacaca;
		font-size: 26px;
		line-height: 1;
	}
	.h-02 #area-header #menu-global .menu-item.open-companyabouts .nav-link::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 5%;
		width: 10px;
		height: 10px;
		border-top: 2px solid #3a3a3a;
		border-right: 2px solid #3a3a3a;
		border-radius: 1px;
		transform: translateY(-50%) rotate(45deg);
	}

	.h-02 #area-header #menu-global .menu-item.open-companyforms .nav-link {
	    background-color: #e5e5e5;
	    border: 1px solid #e5e5e5;
	    color: #3a3a3a;
	    border-radius: 999px;
	    padding: 15px 20px;
	}
	.h-02 #area-header #menu-global .menu-item.open-companyforms {
		margin-top: 10px;
	}
	.h-02 #area-header #menu-global .menu-item.open-companyforms::before,
	.h-02 #area-header #menu-global .menu-item.open-companyforms::after {
		display: none;
	}
	.h-02 #area-header #menu-global .menu-item.open-companyforms .nav-link::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 5%;
		width: 10px;
		height: 10px;
		border-top: 2px solid #3a3a3a;
		border-right: 2px solid #3a3a3a;
		border-radius: 1px;
		transform: translateY(-50%) rotate(45deg);
	}

	.h-02 #area-header #navbarNav ul li.hb-corporate:not(.menu-item-has-children):not(.dropdown)::before,
	.h-02 #area-header #navbarNav ul li.hb-privacypolicy:not(.menu-item-has-children):not(.dropdown)::before {
		display: none;
	}
	.h-02 #area-header #navbarNav ul li.hb-corporate .nav-link,
	.h-02 #area-header #navbarNav ul li.hb-privacypolicy .nav-link {
		border-bottom: 0;
		font-size: 13px;
		font-weight: normal;
	}

	.h-02 #area-header #navbarNav ul li.hb-corporate,
	.h-02 #area-header #navbarNav ul li.hb-privacypolicy {
		text-align: start;
	}
	.h-02 #area-header #navbarNav ul li.hb-corporate .nav-link,
	.h-02 #area-header #navbarNav ul li.hb-privacypolicy .nav-link {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		font-weight: normal !important;
		border-bottom: 0 !important;
	}

	.h-02 #area-header #navbarNav ul li.hb-corporate .nav-link::after,
	.h-02 #area-header #navbarNav ul li.hb-privacypolicy .nav-link::after {
		content: "";
		display: inline-block;
		width: 12px;
		height: 12px;
		margin-left: 6px;
		flex-shrink: 0;
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 10L10 2M5 2h5v5' fill='none' stroke='%23666' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	}
}
@media (min-width: 600px) and (max-width: 991.98px) {
	.h-02 #area-header #navbarNav ul.active {
		padding-left: 10%;
		padding-right: 10%;
	}
}

/* ==================================================
   PC
================================================== */
@media (min-width: 992px) {
	.h-02 #area-header {
		height: auto;
	}

	#area-header .container-xl,#area-header .container-lg,#area-header .container-md,#area-header .container-sm,#area-header .container {
        max-width: 98%;
    }

	#area-header #menu-global .menu-item .nav-link {
        font-size: 11px;
        margin-left: 10px;
    }

	.h-02 #area-header .container {
		height: auto;
		padding-top: 40px;
	}

	.h-02 #area-header #menu-global {
		margin-top: 0;
		padding: 0;
	}

	.h-02 #area-header #menu-global .menu-item {
		margin-top: 0;
	}

	.h-02 #area-header #menu-global .menu-item .nav-link {
		padding-right: 10px;
		padding-left: 10px;
		position: relative;
  		display: inline-block;
  		text-decoration: none;
		margin-left: 10px;
	}

	.h-02 #area-header #menu-global .menu-item.h-nav-jisseki .dropdown-menu .nav-link::after {
	 display: none;
	}

	.h-02 #area-header #menu-global .menu-item .nav-link:hover::after {
	  width: 100%;
	}

	.h-02 #area-header #navbarNav {
		margin: 5px 0 10px;
	}

	.h-02 #area-header #header-sub {
		padding-right: 15px;
	}

	.h-02 #area-header .openbtn {
		background-color: var(--red);
	}

	.h-02 #area-header .openbtn span {
		background-color: #fff;
	}

	.h-02 #area-header #navbarNav ul li.dropdown::before {
		right: 3%;
	}

	.h-02 #area-header #navbarNav ul li.dropdown::before,
	.h-02 #area-header #navbarNav ul li.dropdown::after {
		content: "";
        position: absolute;
        top: 15px;
        right: -2px;
        width: 12px;
        height: 1px;
        background: var(--red);
        transition: transform .3s ease, opacity .3s ease;
	}
	.h-02 #area-header #navbarNav ul li:hover.dropdown::after {
		display: none;
	}
	.h-02 #area-header #navbarNav li.dropdown ul li::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 0px;
		width: 10px;
		height: 10px;
		border-top: 2px solid #d40000;
		border-right: 2px solid #d40000;
		transform: translateY(-50%) rotate(45deg);
	}
	.h-02 #area-header #navbarNav li.dropdown ul li a:hover {
		color: var(--red)!important;
	}

	.h-02 #area-header #navbarNav ul li.open-company.dropdown::before, .h-02 #area-header #navbarNav ul li.open-company.dropdown::after {
		display: none;
	}
	.h-02 #area-header #navbarNav li.open-company.dropdown ul {
		top: 38px;
    	left: 50%;
    	transform: translate(-50%, 0);
	}
	.h-02 #area-header #navbarNav li.open-company.dropdown ul li {
		border-radius: 0;
		border-bottom: 1px solid #cacaca;
	}
	.h-02 #area-header #navbarNav li.open-company.dropdown ul li:last-child {
		border-bottom: 0;
	}
	.h-02 #area-header #menu-global .menu-item.open-company.dropdown ul li .nav-link {
		background: none;
		border:  0;
	}
}

@media (min-width: 1200px) {
	#area-header .container-xl,#area-header .container-lg,#area-header .container-md,#area-header .container-sm,#area-header .container {
        max-width: 1200px;
    }
    .h-02 #area-header #navbarNav ul li.dropdown::before,
	.h-02 #area-header #navbarNav ul li.dropdown::after {
		top: 17px;
        right: 0px;
	}
	.h-02 #area-header .header-logo {
		width: 250px;
	}
	#area-header #menu-global .menu-item .nav-link {
        font-size: 13px;
    }
    .h-02 #area-header #menu-global .menu-item .nav-link {
		padding-right: 15px;
		padding-left: 15px;
	}
}
@media (min-width: 1400px) {
	#area-header .container-xl,#area-header .container-lg,#area-header .container-md,#area-header .container-sm,#area-header .container {
        max-width: 95%;
    }
	.h-02 #area-header #menu-global .menu-item .nav-link {
		padding-right: 20px;
		padding-left: 20px;
	}
	#area-header #menu-global .menu-item .nav-link {
        font-size: 14px;
    }
}
@media (min-width: 1500px) {
	.h-02 #area-header #navbarNav ul li.dropdown::before,
	.h-02 #area-header #navbarNav ul li.dropdown::after {
		right: 5px;
	}
}


.btn-recruits {
	position: fixed;
	background-color: var(--red);
	border: 2px solid var(--red);
	color: #fff;
	font-size: 15px;
	-ms-writing-mode: tb-rl;
  	writing-mode: vertical-rl;
  	border-radius: 10px 0 0 10px;
  	top: 90px;
  	right: 0;
  	z-index: 3;
  	padding: 15px 5px;
  	transition:
	background-color 0.35s ease,
	color 0.35s ease,
	transform 0.35s cubic-bezier(.22, 1, .36, 1),
	box-shadow 0.35s ease;
}
.btn-recruits:hover {
	background-color: #fff;
	color: var(--red);
	border: 2px solid var(--red);
}

@media (max-width: 991.98px) {
	#menu-global > .menu-item-has-children > .dropdown-menu {
		position: static !important;
		display: none !important;
		float: none;
		width: 100%;
		margin: 0;
		border: 0;
		transform: none !important;
		inset: auto !important;
	}
	#menu-global > .menu-item-has-children > .dropdown-menu.show {
		display: block !important;
	}
}

@media (min-width: 992px) {
	#menu-global > .menu-item-has-children > .dropdown-menu {
		display: block;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
	}
	#menu-global > .menu-item-has-children:hover > .dropdown-menu {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}
	.h-02 #area-header #menu-global .menu-item.open-company .nav-link {
		background-color: #545251;
		border: 1px solid #545251;
		color: #fff;
		border-radius: 999px;
	}
	.h-02 #area-header #menu-global .menu-item.open-company .nav-link:hover {
		background-color: #fff;
		color: #545251;
	}
	.h-02 #area-header #menu-global .menu-item.btn-entry .nav-link {
		background-color: var(--red);
		border: 1px solid var(--red);
		color: #fff;
		border-radius: 999px;
	}
	.h-02 #area-header #menu-global .menu-item.btn-entry .nav-link:hover {
		background-color: #fff;
		color: var(--red);
	}
}
/* =================================================================================　H-02style  */


/* =====================================
	Recruit Footer
===================================== */
.recruit-footer {
	background-color: #f7f7f7;
	color: #444;
}

.recruit-footer *,
.recruit-footer *::before,
.recruit-footer *::after {
	box-sizing: border-box;
}

.recruit-footer a {
	color: inherit;
	text-decoration: none;
}

.recruit-footer ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.recruit-footer-inner {
	width: min(100% - 48px, 1200px);
	margin: 0 auto;
}

/* =====================================
	JOBS
===================================== */
.recruit-footer-jobs {
	padding: 45px 0 60px;
	background-color: #fff;
}

.recruit-footer-jobs__layout {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 65px;
	align-items: flex-start;
}

.recruit-footer-jobs__title {
	margin: -12px 0 0;
	color: #d2d2d2;
	font-family: "Roboto", sans-serif;
	font-size: 64px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
}

.recruit-footer-jobs__links {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 55px;
}

.recruit-footer-jobs__link {
	position: relative;
	display: block;
	padding: 0 0 18px;
	font-size: 21px;
	font-weight: 700;
	letter-spacing: 0.12em;
}

.recruit-footer-jobs__link::before {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 3px;
	background-color: #bcbcbc;
}

.recruit-footer-jobs__link::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 32%;
	height: 3px;
	background-color: var(--red, #d60000);
	transition: width 0.35s ease;
}

.recruit-footer-jobs__link:hover::after {
	width: 100%;
}

/* =====================================
	OPEN COMPANY・ENTRY
===================================== */
.recruit-footer-entry {
	padding: 55px 0 50px;
	background-color: var(--red, #df0000);
	color: #fff;
}

.recruit-footer-entry__layout {
	display: grid;
	grid-template-columns: 1fr 340px;
	gap: 75px;
}

.recruit-footer-entry__open-company {
	padding-right: 75px;
	border-right: 1px solid rgba(255, 255, 255, 0.8);
}

.recruit-footer-entry__title {
	margin: 0 0 20px;
	color: rgba(255, 255, 255, 0.62);
	font-family: "Roboto", sans-serif;
	font-size: 52px;
	font-weight: 700;
	line-height: 1;
}

.recruit-footer-entry__buttons {
	display: grid;
	grid-template-columns: minmax(250px, 1.4fr) minmax(200px, 1fr);
	gap: 12px;
}

.recruit-footer-entry__button {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 54px;
	padding: 12px 48px 12px 25px;
	border: 1px solid rgba(255, 255, 255, 0.9);
	border-radius: 4px;
	color: #fff !important;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.05em;
	transition:
		background-color 0.3s ease,
		color 0.3s ease;
}

.recruit-footer-entry__button::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 22px;
	width: 7px;
	height: 7px;
	border-top: 1px solid currentColor;
	border-right: 1px solid currentColor;
	transform: translateY(-50%) rotate(45deg);
}

.recruit-footer-entry__button:hover {
	background-color: #fff;
	color: var(--red, #df0000) !important;
}

/* =====================================
	Main Footer
===================================== */
.recruit-footer-main {
	padding: 45px 0 40px;
	background-color: #f7f7f7;
}

.recruit-footer-main__layout {
	display: grid;
    grid-template-columns: 420px 1fr 1.25fr;
    gap: 65px;
    align-items: flex-start;
}

.recruit-footer-main__logo {
	display: block;
	width: 247px;
}

.recruit-footer-main__logo img {
	display: block;
	width: 100%;
	height: auto;
}

.recruit-footer-main__copy {
	margin: 35px 0 0;
	font-size: clamp(2.375rem, 0.178rem + 3.54vw, 3.5rem);
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.04em;
}

/* =====================================
	Footer Menu
===================================== */
.recruit-footer-menu + .recruit-footer-menu {
	margin-top: 55px;
}

.recruit-footer-menu__title {
	margin: 0;
	padding: 0 0 13px;
	border-bottom: 1px solid var(--red, #d60000);
	color: var(--red, #d60000);
	font-size: 15px;
	font-weight: 700;
}

.recruit-footer-menu__title a {
	position: relative;
	display: block;
	padding-right: 24px;
}

.recruit-footer-menu__list {
	padding-top: 10px !important;
}

.recruit-footer-menu__list li + li {
	margin-top: 2px;
}

.recruit-footer-menu__list a {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 31px;
	padding: 5px 30px 5px 0;
	font-size: 14px;
	line-height: 1.5;
}

.recruit-footer-menu__list a::after,
.recruit-footer-menu__title a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 3px;
	width: 7px;
	height: 7px;
	border-top: 1px solid var(--red, #d60000);
	border-right: 1px solid var(--red, #d60000);
	transform: translateY(-50%) rotate(45deg);
	transition: right 0.3s ease;
}

.recruit-footer-menu__list a:hover::after,
.recruit-footer-menu__title a:hover::after {
	right: 0;
}

.recruit-footer-menu__title a::after {
	display: none;
}

/* =====================================
	Bottom
===================================== */
.recruit-footer-bottom {
	display: flex;
	justify-content: flex-end;
	margin-top: 25px;
}

.recruit-footer-bottom__links {
	display: flex;
	align-items: center;
	gap: 55px;
}

.recruit-footer-bottom__links a {
	position: relative;
	display: inline-flex;
	align-items: center;
	font-size: 12px;
	letter-spacing: 0.04em;
}

.recruit-footer-bottom__links a[target="_blank"]::after {
	content: "";
	display: inline-block;
	width: 11px;
	height: 11px;
	margin-left: 7px;
	background:
		center / contain no-repeat
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 10L10 2M5 2h5v5' fill='none' stroke='%23555' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.recruit-footer-bottom__mobile-logo {
	display: none;
}
.recruit-footer-jobs__link:hover span {
	color: #d60000;
}

/* =====================================
	Tablet
===================================== */
@media (max-width: 1199.98px) {
	.recruit-footer-main__layout {
		grid-template-columns: 320px 1fr 1.15fr;
		gap: 40px;
	}

	.recruit-footer-entry__layout {
		grid-template-columns: 1fr 300px;
		gap: 50px;
	}

	.recruit-footer-entry__open-company {
		padding-right: 50px;
	}

	.recruit-footer-entry__title {
		font-size: 44px;
	}
}

/* =====================================
	Mobile
===================================== */
@media (max-width: 992px) {
	.recruit-footer-inner {
		width: calc(100% - 40px);
	}

	/* JOBS */
	.recruit-footer-jobs {
		padding: 35px 0 55px;
		background-color: #f7f7f7;
	}

	.recruit-footer-jobs__layout {
		display: block;
		padding: 35px 28px 38px;
		border-radius: 48px;
		background-color: #fff;
	}

	.recruit-footer-jobs__title {
		margin: 0 0 32px;
		font-size: 48px;
		text-align: center;
	}

	.recruit-footer-jobs__links {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 28px;
	}

	.recruit-footer-jobs__link {
		padding-bottom: 15px;
		font-size: 17px;
		letter-spacing: 0.08em;
		white-space: nowrap;
	}

	.recruit-footer-jobs__link::before,
	.recruit-footer-jobs__link::after {
		height: 2px;
	}

	/* 赤いCTAはスマホでは非表示 */
	.recruit-footer-entry {
		display: none;
	}

	/* Main Footer */
	.recruit-footer-main {
		padding: 20px 0 35px;
	}

	.recruit-footer-main__layout {
		display: flex;
		flex-direction: column;
		gap: 0;
	}

	.recruit-footer-main__brand {
		display: none;
	}

	.recruit-footer-main__column {
		display: contents;
	}

	.recruit-footer-menu {
		width: 100%;
	}

	.recruit-footer-menu + .recruit-footer-menu {
		margin-top: 50px;
	}

	.recruit-footer-main__column:last-child .recruit-footer-menu {
		margin-top: 50px;
	}

	.recruit-footer-menu__title {
		padding-bottom: 11px;
		font-size: 14px;
	}

	.recruit-footer-menu__title a::after {
		display: block;
	}

	.recruit-footer-menu__list {
		padding-top: 12px !important;
	}

	.recruit-footer-menu__list li + li {
		margin-top: 4px;
	}

	.recruit-footer-menu__list a {
		min-height: 37px;
		padding: 6px 28px 6px 0;
		font-size: 16px;
		line-height: 1.5;
	}

	.recruit-footer-menu__list a::after,
	.recruit-footer-menu__title a::after {
		right: 4px;
		width: 9px;
		height: 9px;
		border-width: 2px 2px 0 0;
	}

	/* 下部リンク */
	.recruit-footer-bottom {
		display: flex;
		flex-direction: column;
		margin-top: 55px;
	}

	.recruit-footer-bottom__links {
		display: flex;
		justify-content: space-between;
		gap: 15px;
		width: 100%;
	}

	.recruit-footer-bottom__links a {
		font-size: 13px;
	}

	.recruit-footer-bottom__links a:first-child {
		order: 2;
	}

	.recruit-footer-bottom__links a:last-child {
		order: 1;
	}

	.recruit-footer-bottom__mobile-logo {
		display: block;
		width: 100%;
		margin-top: 55px;
	}

	.recruit-footer-bottom__mobile-logo img {
		display: block;
		width: 100%;
		height: auto;
	}
}

.footer-recruitsite {
	background-color: #3a3a3a;
	color: #fff;
	font-size: 15px;
	font-weight: bold;
	text-align: center;
	padding: 5px 0px;
	margin: 0;
}

/* =====================================
	Small Mobile
===================================== */
@media (max-width: 479.98px) {
	.recruit-footer-inner {
		width: calc(100% - 32px);
	}

	.recruit-footer-jobs__layout {
		padding: 30px 20px 34px;
		border-radius: 38px;
	}

	.recruit-footer-jobs__title {
		margin-bottom: 28px;
		font-size: 42px;
	}

	.recruit-footer-jobs__links {
		gap: 20px;
	}

	.recruit-footer-jobs__link {
		font-size: 18px;
	}

	.recruit-footer-menu__list a {
		font-size: 14px;
	}

	.recruit-footer-bottom__links a {
		font-size: 11px;
	}
}

/* =====================================
	スマホ下部固定ナビ
===================================== */
.mobile-fixed-nav {
	display: none;
}

@media (max-width: 991.98px) {
	body {
		padding-bottom: 72px;
	}

	.mobile-fixed-nav {
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 99999;
		display: block;
		width: 100%;
	}

	.mobile-fixed-nav__main,
	.mobile-fixed-nav__toggle,
	.mobile-fixed-nav__entry {
		position: relative;
		z-index: 2;
		pointer-events: auto;
	}

	/* 開閉メニュー */
	.mobile-fixed-nav__submenu {
		position: absolute;
		right: 0;
		bottom: 65px;
		left: 0;
		padding: 0 38px;
		background-color: #3b3b3b;
		visibility: hidden;
		opacity: 0;
		transform: translateY(15px);
		pointer-events: none;
		transition:
			opacity 0.3s ease,
			transform 0.3s ease,
			visibility 0.3s ease;
	}

	.mobile-fixed-nav.is-open .mobile-fixed-nav__submenu {
		visibility: visible;
		opacity: 1;
		transform: translateY(0);
		pointer-events: auto;
	}

	.mobile-fixed-nav__submenu-link {
		position: relative;
		display: flex;
		align-items: center;
		min-height: 70px;
		padding: 20px 10px;
		border-bottom: 1px solid #e5e5e5;
		color: #fff;
		font-size: 18px;
		font-weight: 700;
		line-height: 1.5;
		text-decoration: none;
	}
	.mobile-fixed-nav__submenu-link:hover {
		color: #fff;
		border-bottom: 1px solid #e5e5e5;
	}

	.mobile-fixed-nav__submenu-link:last-child {
		border-bottom: 0;
	}

	.mobile-fixed-nav__submenu-link::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 12px;
		width: 9px;
		height: 9px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		transform: translateY(-50%) rotate(45deg);
	}

	/* 下部の固定帯 */
	.mobile-fixed-nav__main {
		display: grid;
		grid-template-columns: 62% 38%;
		width: 100%;
		height: 65px;
		border-top: 1px solid #fff;
	}

	.mobile-fixed-nav__toggle,
	.mobile-fixed-nav__entry {
		display: flex;
		align-items: center;
		justify-content: center;
		height: 65px;
		margin: 0;
		border: 0;
		color: #fff;
		font-family: inherit;
		font-size: 17px;
		font-weight: 700;
		line-height: 1;
		text-decoration: none;
		box-sizing: border-box;
	}

	.mobile-fixed-nav__toggle {
		position: relative;
		gap: 22px;
		padding: 0 20px;
		background-color: #3b3b3b;
		cursor: pointer;
	}

	.mobile-fixed-nav__entry {
		border-left: 1px solid #fff;
		background-color: #d60000;
		font-family: "Roboto", sans-serif;
		font-size: 20px;
	}

	.mobile-fixed-nav__arrow {
		display: block;
		width: 10px;
		height: 10px;
		border-right: 3px solid #fff;
		border-bottom: 3px solid #fff;
		transform: translateY(-3px) rotate(45deg);
		transition: transform 0.3s ease;
	}

	.mobile-fixed-nav.is-open .mobile-fixed-nav__arrow {
		transform: translateY(3px) rotate(225deg);
	}
}

@media (max-width: 479.98px) {
	body {
		padding-bottom: 55px;
	}

	.mobile-fixed-nav__main {
		grid-template-columns: 62% 38%;
		height: 55px;
	}

	.mobile-fixed-nav__toggle,
	.mobile-fixed-nav__entry {
		height: 55px;
	}

	.mobile-fixed-nav__toggle {
		gap: 18px;
		padding: 0 14px;
		font-size: 15px;
	}

	.mobile-fixed-nav__entry {
		font-size: 18px;
	}

	.mobile-fixed-nav__submenu {
		bottom: 55px;
		padding: 0 20px;
	}

	.mobile-fixed-nav__submenu-link {
		min-height: 70px;
		font-size: 16px;
	}
}


.l-page-title {
	position: relative;
	background-color: #d60000;
	background-image: radial-gradient(
		circle,
		rgba(255, 255, 255, 0.5) 1px,
		transparent 1px
	);
	background-size: 15px 15px;
	margin-top: 60px;
	height: 160px;
}
@media (min-width: 992px) {
	.l-page-title {
		margin-top: 90px;
		height: 220px;
	}
}
.l-page-title h1 {
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
}
.l-page-title span.page-title_eigo {
	color: #fff;
	display: block;
	text-align: center;
	font-family: "Roboto", sans-serif;
  	font-optical-sizing: auto;
  	font-weight: 700;
  	font-style: normal;
  	font-size: clamp(2.5rem, 2.045rem + 2.27vw, 3.75rem);
  	line-height: 1.1;
}
.l-page-title span.page-title_jp {
	color: #fff;
	display: block;
	text-align: center;
	font-weight: bold;
	font-size: clamp(0.938rem, 0.915rem + 0.11vw, 1rem);
	margin-top: 10px;
}

main {
	margin-top: 60px;
}
@media (min-width: 768px) {
	main {
		margin-top: 0px;
	}
}
@media (max-width: 992px) {
	.saaisyoni span {
		display: inline-block;
		border: 1px solid #000000;
		padding-left: 15px;
		padding-right: 10px;
		margin-top: 15px;
	}	
}
.people-sticky-area{
	position:relative;
}
.people01-wrap,
.people02-wrap{
	position:absolute;
	top:0;
	bottom:0;
	pointer-events:none;
	z-index:10;
}
.people01-wrap {
    left: 15%;
    width: 18%;
    top: 20%;
}
.people01{
	position:sticky;
	top:120px;
	display:block;
	width:100%;
	height:auto;
}
.people02-wrap{
	right: 19%;
    top: 14%;
    width: 11%;
}
.people02{
	position:sticky;
	top:120px;
	display:block;
	width:100%;
	height:auto;
}

.building-works {
	padding: 72px 0 56px;
	overflow: hidden;
	background: #f7f7f7;
}
.building-works__inner {
	width: 100%;
	margin: 0 auto;
}
.building-works__heading {
	padding: 0 20px;
	text-align: center;
	color: #d60000;
	font-weight: 700;
}
.building-works__lead {
	margin: 0;
	font-size: 22px;
	line-height: 2.0;
	letter-spacing: 0px;
	color: var(--red);
}

.building-works-slider {
	margin-top: 38px;
	overflow: visible;
}
.building-works-slider .swiper-slide {
	height: auto;
}
.building-works-card {
	position: relative;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 10px;
	background: #ddd;
}
.building-works-card img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}
.building-works-card:hover img {
	transform: scale(1.04);
}
.building-works-card__name {
	position: absolute;
	right: 0;
	bottom: 12px;
	max-width: calc(100% - 18px);
	margin: 0;
	padding: 8px 14px;
	background: rgba(34, 34, 34, 0.72);
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.03em;
	white-space: nowrap;
}
.building-works__button-wrap {
	display: flex;
	justify-content: center;
	margin-top: 58px;
	padding: 0 20px;
}
.building-works__button {
	    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: min(440px, 100%);
    min-height: 70px;
    padding: 10px 40px 10px 40px;
    border: 2px solid #d60000;
    border-radius: 999px;
    background: #fff;
    color: #d60000;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.04em;
    text-decoration: none;
    transition: background-color 0.3s ease, color 0.3s ease;
}
.building-works__button-icon {
	position: absolute;
	top: 50%;
	right: 30px;
	width: 14px;
	height: 14px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	transform: translateY(-50%);
}
.building-works__button-icon::before {
	content: "";
	position: absolute;
	top: 5px;
	right: -1px;
	width: 18px;
	height: 2px;
	background: currentColor;
	transform: rotate(-45deg);
	transform-origin: right center;
}
.building-works__button:hover {
	background: #d60000;
	color: #fff;
}
@media (min-width: 992px) {
	.building-works {
		padding: 46px 0 52px;
	}
	.building-works__lead {
		font-size: 20px;
	}
	.building-works__title {
		font-size: 24px;
	}
	.building-works__copy {
		font-size: 22px;
	}
	.building-works-slider {
		margin-top: 32px;
	}
	.building-works__button-wrap {
		margin-top: 66px;
	}
}
@media (min-width: 576px) and (max-width: 991px) {
	.building-works {
		padding-top: 60px;
	}
	.building-works-slider {
		padding: 0 24px;
	}
	.building-works-card__name {
		font-size: 13px;
	}
}
@media (max-width: 575px) {
	.building-works {
		padding: 48px 0 40px;
	}
	.building-works__heading {
		padding: 0 24px;
	}
	.building-works__title {
		margin-top: 8px;
		font-size: 21px;
	}
	.building-works__copy {
		margin-top: 8px;
		font-size: 18px;
	}
	.building-works-slider {
		margin-top: 28px;
	}
	.building-works-card {
		border-radius: 8px;
	}
	.building-works-card__name {
		bottom: 10px;
		padding: 7px 12px;
		font-size: 13px;
	}
	.building-works__button-wrap {
		margin-top: 40px;
		padding: 0 24px;
	}
	.building-works__button {
		min-height: 64px;
		padding: 15px 24px 15px 24px;
	}
	.building-works__button-icon {
		right: 23px;
		width: 12px;
		height: 12px;
	}
}


.award-section {
	max-width: 1000px;
	margin: 0 auto;
}
.award-section__inner {
	display: flex;
	align-items: center;
	width: 100%;
	padding: 40px;
	border-radius: 30px;
	background: #e60000;
	color: #fff;
}
.award-section__heading {
	flex: 0 0 30%;
}
.award-section__en {
	margin: 0;
	color: #ec8a8a;
	font-size: clamp(2.625rem, 2.216rem + 2.05vw, 3.75rem);
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.02em;
	font-family: "Roboto", sans-serif;
}
.award-section__title {
	font-size: clamp(24px, 2vw, 36px);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.04em;
}
.award-section__content {
	flex: 1;
}
.award-section__text {
	max-width: 900px;
	margin: 0;
	font-size: clamp(24px, 2vw, 34px);
	font-weight: 500;
	line-height: 1.9;
	letter-spacing: 0.03em;
}
.award-section__button {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin-top: 30px;
	padding: 15px;
	border-radius: 999px;
	background: #ffe8e8;
	color: #d90000;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-decoration: none;
	transition:
		background-color 0.3s ease,
		color 0.3s ease;
}
@media (min-width: 992px) {
	.award-section__button {
		width: 300px;
	}
}
.award-section__arrow {
	position: absolute;
	top: 50%;
	right: 48px;
	width: 20px;
	height: 20px;
	border-top: 3px solid currentColor;
	border-right: 3px solid currentColor;
	transform: translateY(-50%) rotate(45deg);
}
.award-section__button:hover {
	background: #fff;
}
@media (max-width: 991px) {
	.award-section {
		padding: 0 12px;
	}
	.award-section__inner {
		display: block;
		min-height: auto;
		padding-left: clamp(1.25rem, 0.795rem + 2.27vw, 2.5rem);
		padding-right: clamp(1.25rem, 0.795rem + 2.27vw, 2.5rem);
		padding-top: 40px;
		padding-bottom: 40px;
		border-radius: 30px;
	}
	.award-section__heading {
		width: 100%;
	}
	.award-section__title {
		font-size: 28px;
	}

	.award-section__text {
		font-size: 25px;
		line-height: 1.9;
	}
}
@media (max-width: 575px) {
	.award-section {
		padding: 0 4px;
	}
	.award-section__title {
		font-size: 28px;
	}
	.award-section__text {
		font-size: 25px;
		line-height: 1.9;
	}
	.award-section__arrow {
		right: 48px;
		width: 17px;
		height: 17px;
	}
}

.company-section {
	max-width: 1000px;
	margin: 0 auto;
	padding-top: clamp(5rem, 4.318rem + 3.41vw, 6.875rem);
}
.large-hl h2 {
	font-family: "Roboto", sans-serif;
	font-size: clamp(2.625rem, 2.216rem + 2.05vw, 3.75rem);
	color: #F2B1B1;
	font-weight: 700;
	line-height: 1.2;
}
.large-hl p {
	font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);
	color: #3A3A3A;
	font-weight: bold;
}

.text-arrow {
	position: relative;
	display: inline-block;
	padding-right: 28px;
}
.text-arrow::after{
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	width: 16px;
	height: 16px;
	border-top: 2px solid #d60000;
	border-right: 2px solid #d60000;
	transform: translateY(-50%) rotate(45deg);
}

.top-environmnt-waku {
	background-color: #fff;
	padding: 20px;
}
@media (min-width: 576px) {
	.top-environmnt-waku {
		padding: 3%;
	}
}
@media (min-width: 992px) {
	.top-environmnt-waku {
		padding: 45px 90px;
	}
}

.medium-hl h2 {
	font-size: clamp(1.375rem, 1.239rem + 0.68vw, 1.75rem);
	font-weight: 700;
	color: #3a3a3a;
}
.medium-hl p {
	position: relative;
	display: inline-block;
	margin: 16px auto 0;
	padding-top: 14px;
	font-size: 13px;
	color: #d60000;
	display: flex;
    justify-content: center;
    font-family: "Roboto", sans-serif;
}
.medium-hl p::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 50px;
	height: 2px;
	background: #d60000;
	transform: translateX(-50%);
}

.environment-sectiontitle {
	font-size: 20px;
	font-weight: bold;
	line-height: 1.7;
}
.environment-sectiontitle span {
	background: linear-gradient(transparent 60%, #fbe8e8 60%);
}

.environment-section__button {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin-top: 30px;
	padding: 15px;
	border-radius: 999px;
	background: #fff;
	border: 1px solid var(--red);
	color: #d90000;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-decoration: none;
	transition:
	background-color 0.3s ease,
	color 0.3s ease;
	box-shadow: 2px 3px 0 var(--red);
}

.environment-section__button span {
	font-size: 15px;
}
@media (min-width: 992px) {
	.environment-section__button {
		width: 360px;
	}
}
.environment-section__arrow {
	position: absolute;
	top: 50%;
	right: 48px;
	width: 15px;
    height: 15px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
	transform: translateY(-50%) rotate(45deg);
}
.environment-section__button:hover {
	background: var(--red);
	color: #fff;
	border: 1px solid var(--red);
	box-shadow:0;
}
.environment-section__button:hover .environment-section__arrow {
	border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}

.top-kyouikubox01 {
	border-bottom: 1px solid #b1b1b1;
	padding-bottom: 60px;
}
.top-kyouikubox02 {
	border-bottom: 1px solid #b1b1b1;
	padding-bottom: 40px;
}
.top-kyouikubox03 {
	padding-top: 40px;
}

@media (min-width: 992px) {
	.top-kyouikubox01 {
		border-bottom: 0px;
		padding-right: 56px;
		border-right: 1px solid #b1b1b1;
		padding-bottom: 0px;
	}
	.top-kyouikubox02 {
		border-bottom: 1px solid #b1b1b1;
		margin-left: 24px;
	}
	.top-kyouikubox03 {
		margin-left: 24px;
		margin-top: 40px;
		padding-top: 0px;
	}
}

.keiei-sen {
	border: 1px solid #cacaca;
	border-radius: 30px;
	padding: 3%;
	max-width: 900px;
	margin: 0 auto;
}
.keiei-sen h3 {
	font-size: ;
}

.interview-section .environment-section__button {
	width: 100%;
}
@media (min-width: 576px) {
	.interview-section .environment-section__button {
		max-width: 400px;
		margin: 0 auto;
	}
}

/* ========================================
   スタッフスライダー
======================================== */
.staff-slider-section {
  padding: 50px 0;
  overflow: hidden;
}
.staff-slider-container {
  position: relative;
  margin-inline: auto;
  padding-inline: 42px;
}
.staff-slider {
  overflow: hidden;
}
.staff-slider .swiper-wrapper {
  align-items: stretch;
}
.staff-slider .swiper-slide {
  height: auto;
}
.staff-card {
  position: relative;
  padding-top: 22px;
}
.staff-card__number {
  font-family: "Roboto", sans-serif;
  position: absolute;
  top: -3px;
  left: -2px;
  z-index: 2;
  color: rgba(40, 55, 65, 0.2);
  font-size: 53px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.04em;
  pointer-events: none;
}
.staff-card__inner {
  position: relative;
  height: 100%;
  min-width: 0;
}
.staff-card__image {
  position: relative;
  overflow: hidden;
  aspect-ratio: 0.88 / 1;
  border-radius: 18px 18px 0 18px;
  background-color: #eef1f2;
}
.staff-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.staff-card:hover .staff-card__image img {
  transform: scale(1.035);
}
.staff-card__body {
  position: relative;
  z-index: 2;
  width: calc(100% - 20%);
  min-height: 100px;
  margin-top: -66px;
  margin-left: auto;
  right: -1px;
  padding: 13px 14px 12px;
  background-color: #fff;
}
.staff-card__department,
.staff-card__career,
.staff-card__name {
  margin: 0;
}
.staff-card__department,
.staff-card__career {
  margin-top: 5px;
  color: var(--red);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
}
.staff-card__name {
  margin-top: 5px;
  color: #231818;
  font-size: clamp(14px, 1.25vw, 17px);
  font-weight: 400;
  line-height: 1.5;
}
.staff-slider-button {
  position: absolute;
  top: 50%;
  z-index: 10;
  width: 64px;
  height: 64px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background-color: #f8e7e4;
  cursor: pointer;
  transform: translateY(-50%);
  transition:
    background-color 0.25s ease,
    opacity 0.25s ease;
}
.staff-slider-button::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 12px;
  border-top: 3px solid #d22d13;
  border-right: 3px solid #d22d13;
}
.staff-slider-button--prev {
  left: 10px;
}
.staff-slider-button--prev::before {
  transform: translate(-35%, -50%) rotate(-135deg);
}
.staff-slider-button--next {
  right: 10px;
}
.staff-slider-button--next::before {
  transform: translate(-65%, -50%) rotate(45deg);
}
.staff-slider-button:hover {
  background-color: #f1d5d0;
}
.staff-slider-button:focus-visible {
  outline: 3px solid rgba(210, 45, 19, 0.35);
  outline-offset: 3px;
}
.staff-slider-button.swiper-button-disabled {
  opacity: 0.35;
  cursor: default;
}
@media screen and (max-width: 992px) {
  .staff-slider-container {
    padding-inline: 36px;
  }
  .staff-slider-button {
    width: 56px;
    height: 56px;
  }
  .staff-slider-button--prev {
    left: 8px;
  }
  .staff-slider-button--next {
    right: 8px;
  }
  .staff-card__body {
    width: calc(100% - 15%);
    margin-top: -60px;
  }
}
@media screen and (max-width: 768px) {
  .staff-slider-section {
    padding: 20px 0;
  }
  .staff-slider-container {
    padding-inline: 30px;
  }
  .staff-slider-button {
    width: 50px;
    height: 50px;
  }
  .staff-slider-button::before {
    width: 10px;
    height: 10px;
    border-width: 2px;
  }
  .staff-card__body {
    width: calc(100% - 62px);
  }
}
@media screen and (max-width: 576px) {
  .staff-slider-container {
    padding-inline: 24px;
  }
  .staff-card {
    padding-top: 18px;
  }
  .staff-card__image {
    border-radius: 14px 14px 0 14px;
  }
  .staff-card__body {
    width: calc(100% - 15%);
    min-height: 96px;
    margin-top: -62px;
    padding: 13px 15px;
  }
  .staff-card__department,
  .staff-card__career {
    font-size: 15px;
  }
  .staff-card__name {
    font-size: 15px;
  }
  .staff-slider-button {
    width: 46px;
    height: 46px;
  }
  .staff-slider-button--prev {
    left: 2px;
  }
  .staff-slider-button--next {
    right: 2px;
  }
}

/* ========================================
   3分でわかる前田組
======================================== */
#understanding .l-page-title {
	display: none;
}
.company-guide {
	--guide-light-red: #fff0f0;
	--guide-text: #222;
	--guide-gray: #f4f4f4;
	width: 100%;
	max-width: none;
	margin: 0;
	color: var(--guide-text);
}

.company-guide *,
.company-guide *::before,
.company-guide *::after {
	box-sizing: border-box;
}

.company-guide img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
}

.company-guide-section {
	position: relative;
	padding: 80px 24px;
	scroll-margin-top: 100px;
}

.company-guide-section__inner {
	width: min(1000px, 100%);
	margin-inline: auto;
}

.company-guide-heading {
	margin-bottom: 50px;
	text-align: center;
}

.company-guide-heading__title {
	margin: 0;
	font-size: clamp(25px, 3vw, 38px);
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.4;
}

.company-guide-heading__title--red {
	color: var(--red);
}

.company-guide-heading__en {
	margin: 7px 0 0;
	font-family: "Roboto", sans-serif;
	font-size: 13px;
	letter-spacing: 0.08em;
}
@media (min-width: 992px) {
	.company-guide-heading__en {
		font-size: 15px;
	}
}

.company-numbers::before,
.company-projects::before,
.company-strengths::before {
	content: "";
	position: absolute;
	top: -28px;
	left: 50%;
	width: 1px;
	height: 56px;
	background: #999;
	transform: translateX(-50%);
}

/* メインビジュアル */
.company-guide-hero {
	padding-bottom: 80px;
	background: #fff;
	margin-top: 60px!important;
}
@media (min-width:992px) {
	.company-guide-hero {
		margin-top: 90px!important;
	}
}

.treeminites-understand {
	margin-top: -30px;
	margin: -4% auto 0;
	padding-left: 20px;
	padding-right: 20px;
	max-width: 650px!important;
	position: relative;
	z-index: 10;
}

.company-guide-hero__images {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.company-guide-hero__image {
	overflow: hidden;
	aspect-ratio: 1.3 / 1;
}

.company-guide-hero__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.company-guide-hero__content {
	position: relative;
	z-index: 2;
	margin: -45px auto 0;
	text-align: center;
}

.company-guide-hero__title {
	margin: 0;
}

.company-guide-hero__title span {
	position: relative;
	display: inline-block;
	padding: 18px 60px;
	border-radius: 8px;
	background: var(--red);
	color: #fff;
	font-size: clamp(32px, 4vw, 54px);
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.25;
}

.company-guide-hero__title span::after {
	content: "";
	position: absolute;
	bottom: -16px;
	left: 50%;
	border-top: 17px solid var(--red);
	border-right: 18px solid transparent;
	border-left: 18px solid transparent;
	transform: translateX(-50%);
}

.company-guide-hero__description {
	margin: 80px 0 60px;
	font-size: 15px;
	line-height: 2;
}

.company-guide-nav {
	display: grid;
	overflow: hidden;
	border: 2px solid var(--red);
	box-shadow: 2px 2px 0 var(--red);
	border-radius: 25px;
}
@media (min-width: 992px) {
	.company-guide-nav {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		border-radius: 999px;
	}
}

.company-guide-nav__link {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 64px;
	padding: 12px 18px 24px;
	color: var(--red);
	font-size: 15px;
	line-height: 1.5;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	transition: transform 0.5s ease;
}

.company-guide-nav__link::after {
	content: "";
	position: absolute;
	bottom: 14px;
	left: 50%;
	width: 7px;
	height: 7px;
	border-right: 1px solid currentColor;
	border-bottom: 1px solid currentColor;
	transform: translateX(-50%) rotate(45deg);
}

.company-guide-nav__link:hover {
	color: var(--red);
	transform: translateY(10px);
}

@media (min-width: 1200px) {
	.company-guide-nav {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		padding: 10px;
	}
	.company-guide-nav__link {
		padding-left: 50px!important;
		padding-right: 50px!important;
	}
}

.company-guide-nav__link + .company-guide-nav__link::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 1px;
	height: 24px;
	transform: translateY(-50%);
}

/* 数字 */
.company-numbers {
	background-color: var(--guide-gray);
    background-image: radial-gradient(#fae1e1 1.5px, #00000000 0px);
    background-size: 15px 15px;
}

.company-numbers__grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 26px;
}

.company-number-card {
	position: relative;
	grid-column: span 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 220px;
	padding: 28px 20px;
	border: 1px solid var(--red);
	box-shadow: 2px 2px 0 var(--red);
	border-radius: 15px;
	background: rgba(255, 255, 255, 0.95);
	text-align: center;
	overflow: hidden;
	z-index: 0;
}
.company-number-card-icon01 {
	position: absolute;
	width: 98px!important;
	bottom: -2px;
	right: 5%;
	z-index: -1;
}
.company-number-card-icon02 {
	position: absolute;
	width: 70px!important;
	bottom: -2px;
	right: 5%;
	z-index: -1;
}
.company-number-card-icon03 {
	position: absolute;
	width: 128px!important;
	bottom: -2px;
	right: 3%;
	z-index: -1;
}
.company-number-card-icon04 {
	position: absolute;
	width: 80px!important;
	top: 3%;
	right: 3%;
	z-index: -1;
}
.company-number-card-icon05 {
	position: absolute;
	width: 90px!important;
	top: 3%;
	right: 3%;
	z-index: -1;
}
.company-number-card-icon06 {
	position: absolute;
	width: 97px!important;
	top: 5%;
	right: 3%;
	z-index: -1;
}
.company-number-card-icon07 {
	position: absolute;
	width: 140px!important;
	top: 5%;
	right: 3%;
	z-index: -1;
}

.company-number-card__label {
	margin: 0;
	font-size: 18px;
	line-height: 1.55;
}

.company-number-card__label::after {
	content: "";
	display: block;
	width: 15px;
    height: 2px;
	margin: 8px auto;
	background: var(--red);
}

.company-number-card__value {
	display: flex;
	align-items: baseline;
	justify-content: center;
	margin: 0;
	color: var(--red);
	line-height: 1;
}

.company-number-card__value strong {
	font-size: 76px;
	font-weight: 700;
	font-family: "Roboto", sans-serif;
	font-style: italic;
}

.company-number-card__value span {
	margin-left: 8px;
	font-size: 30px;
	font-weight: 700;
}

.company-number-card__note {
	margin: 10px 0 0;
	font-size: 14px;
    line-height: 1.8;
    font-weight: normal;
}

.company-number-card--childcare {
	grid-column: span 2;
}

.company-number-card__childcare-content {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 24px;
}

.company-number-card__circle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 120px;
	height: 120px;
	border-radius: 50%;
	background: var(--red);
	color: #fff;
	line-height: 1;
}

.company-number-card__circle strong {
	font-size: 44px;
}

.company-number-card__circle span {
	margin: 14px 0 0 2px;
	font-size: 18px;
}

.company-number-card__childcare-content > p {
	margin: 0;
	font-size: 12px;
	line-height: 1.8;
	text-align: left;
}

.company-number-card--licenses {
	grid-column: 1 / -1;
	min-height: 190px;
}

.company-number-card__licenses {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	width: 100%;
}

.company-number-card__licenses > div {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	padding: 10px 18px;
}

.company-number-card__licenses span {
	min-height: 40px;
	font-size: 13px;
	line-height: 1.5;
}

.company-number-card__licenses strong {
	margin-top: 8px;
	color: var(--red);
	font-size: 76px;
	line-height: 1;
	font-family: "Roboto", sans-serif;
	font-style: italic;
}

.company-number-card__licenses small {
	margin-left: 2px;
	font-size: 30px;
	font-style: normal;
}

/* 建築実績 */
.company-projects {
	background: #fff;
}

.company-projects__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 38px 24px;
}

.company-project-card {
	margin: 0;
}

.company-project-card__image {
	overflow: hidden;
	aspect-ratio: 1.45 / 1;
	border-radius: 10px;
	background: #eee;
}

.company-project-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.45s ease;
}

.company-project-card:hover .company-project-card__image img {
	transform: scale(1.04);
}

.company-project-card__name {
	margin: -10px 0 0;
	color: var(--red);
	font-size: 15px;
	font-weight: 700;
	text-align: right;
}
.company-project-card__name span {
	background-color: rgba(255, 255, 255, 0.8);
	padding: 8px 12px;
	position: relative;
    z-index: 5;
}

.company-project-card:nth-child(5) {
	grid-column-start: 2;
}

/* 特徴 */

.company-strengths {
	padding-bottom: 110px;
	background: #fff;
}

.company-strengths__list {
	display: flex;
	justify-content: center;
	gap: 34px;
}

.company-strength-item {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 240px;
	aspect-ratio: 1;
	border: 1px solid var(--red);
	border-radius: 50%;
	background: #fff;
	text-align: center;
}

.company-strength-item::after {
	content: "";
	position: absolute;
	right: -2px;
	bottom: 28px;
	width: 65px;
	height: 26px;
	background: #fff;
	transform: rotate(-28deg);
}

.company-strength-item p {
	position: relative;
	z-index: 1;
	margin: 0;
	font-size: 18px;
	line-height: 2;
}

/* 社員の声 */
.company-voices {
	padding-top: 75px;
	background: var(--guide-light-red);
}

.company-voices__heading {
	width: min(600px, 100%);
	margin: 0 auto 0;
	padding: 35px 40px;
	border-radius: 999px;
	background: #fff;
	text-align: center;
}

.company-voices__lead {
	margin: 0;
	font-size: 24px;
	font-weight: 700;
}

.company-voices__heading h2 {
	margin: 6px 0 0;
	color: var(--red);
	font-size: clamp(25px, 3vw, 38px);
	line-height: 1.4;
	font-weight: bold;
}

.company-voices__grid {
	width: min(1100px, 100%);
	margin-inline: auto;
}

.company-voice-card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0;
	padding-bottom: 80px;
}

.company-voice-card__bubble {
	position: relative;
	z-index: 2;
	width: 100%;
	min-height: 125px;
	padding: 26px 22px;
	border: 1px solid #555;
	border-radius: 8px;
	background: #fff;
	text-align: center;
}

.company-voice-card__bubble::before {
	content: "";
	position: absolute;
	bottom: -14px;
	left: 50%;
	width: 26px;
	height: 26px;
	border-right: 1px solid #555;
	border-bottom: 1px solid #555;
	background: #fff;
	transform: translateX(-50%) rotate(45deg);
}

.company-voice-card__bubble p {
	position: relative;
	z-index: 1;
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.7;
}

.company-voice-card__person {
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 125px;
	transform: translateX(-50%);
}

.company-voice-card__person img {
	width: 100%;
}

/* タブレット */

@media screen and (max-width: 991px) {
	.company-guide-section {
		padding: 70px 28px;
	}

	.company-numbers__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.company-number-card,
	.company-number-card--childcare {
		grid-column: auto;
	}

	.company-number-card--licenses {
		grid-column: span 2;
	}

	.company-projects__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.company-project-card:nth-child(5) {
		grid-column-start: auto;
	}

	.company-strength-item {
		width: 210px;
	}

	.company-voices__grid {
		gap: 45px 30px;
	}
}

/* スマートフォン */

@media screen and (max-width: 767px) {
	.company-guide-section {
		padding: 60px 20px;
	}

	.company-guide-heading {
		margin-bottom: 35px;
	}

	.company-guide-pc {
		display: none;
	}

	.company-guide-hero {
		padding-bottom: 60px;
	}

	.company-guide-hero__image {
		aspect-ratio: 0.82 / 1;
	}

	.company-guide-hero__content {
		width: calc(100% - 28px);
		margin-top: -20px;
	}

	.company-guide-hero__title span {
		padding: 12px 24px;
		border-radius: 6px;
		font-size: 25px;
	}

	.company-guide-hero__title span::after {
		bottom: -10px;
		border-top-width: 11px;
		border-right-width: 11px;
		border-left-width: 11px;
	}

	.company-guide-hero__description {
		margin: 50px 0 35px;
		font-size: 15px;
		line-height: 1.8;
	}

	.company-guide-nav {
		grid-template-columns: repeat(1, minmax(0, 1fr));
		border-radius: 25px;
		padding: 10px;
	}

	.company-guide-nav__link {
		min-height: 58px;
		padding: 10px 8px 22px;
		font-size: 15px;
	}

	.company-guide-nav__link:nth-child(3)::before {
		display: none;
	}

	.company-numbers__grid {
		display: block;
	}

	.company-number-card {
		width: 100%;
		min-height: 195px;
		margin-bottom: 18px;
	}

	.company-number-card__value strong {
		font-size: 76px;
	}

	.company-number-card--licenses {
		padding: 28px 12px;
	}

	.company-number-card__licenses {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.company-number-card__licenses span {
		min-height: 0;
	}

	.company-projects__grid {
		grid-template-columns: 1fr;
		gap: 22px;
	}

	.company-project-card {
		width: min(100%, 420px);
		margin-inline: auto;
	}

	.company-project-card__image {
		aspect-ratio: 1.65 / 1;
	}

	.company-strengths__list {
		flex-direction: column;
		align-items: center;
		gap: 25px;
	}

	.company-strength-item {
		width: min(210px, 70vw);
	}

	.company-strength-item p {
		font-size: 15px;
	}

	.company-voices {
		padding-top: 55px;
	}

	.company-voices__heading {
		margin-bottom: 15px;
		padding: 25px 16px;
		border-radius: 60px;
	}

	.company-voices__lead {
		font-size: 15px;
	}

	.company-voices__heading h2 {
		font-size: 24px;
	}

	.company-voices__grid {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.company-voice-card {
		width: min(100%, 340px);
		margin-inline: auto;
		padding-bottom: 70px;
	}

	.company-voice-card__bubble {
		min-height: 100px;
		padding: 20px;
	}

	.company-voice-card__person {
		width: 105px;
	}
}

@media screen and (min-width: 992px) {
	.company-numbers__grid {
		grid-template-columns: repeat(37, minmax(0, 1fr));
	}
	.company-number-card:nth-child(1),
	.company-number-card:nth-child(2),
	.company-number-card:nth-child(3) {
		grid-column: span 12;
	}
	.company-number-card:nth-child(3) {
		width: 108%;
	}
	.company-number-card:nth-child(4),
	.company-number-card:nth-child(5) {
		grid-column: span 10;
	}
	.company-number-card--childcare {
		grid-column: span 17;
	}
	.company-number-card--licenses {
		grid-column: 1 / -1;
	}
}
@media screen and (min-width: 992px) {
	.company-projects__grid {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 38px 24px;
	}
	.company-project-card {
		width: calc((100% - 72px) / 4);
	}
}

.komidashi {
	position: relative;
	padding-bottom: 18px;
}
.komidashi::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 187px;
	height: 1px;
	background: #d60000;
	transform: translateX(-50%);
}
.system-icon {
	width: 186px;
}

.education-page .company-guide-nav {
	max-width: 755px;
	margin: 0 auto;
}
@media (min-width: 992px) {
    .education-page .company-guide-nav {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.page-sectionmidashi {
	font-size: clamp(2.625rem, 1.67rem + 4.77vw, 5.25rem);
	font-family: "Roboto", sans-serif;
	font-weight: bold;
}

.training-box {
	background-color: #fff;
	border: ;
}

.training-box{
    position: relative;
}
.training-box::before{
    content: "";
    position: absolute;
    inset: 0;
    background: url("img/trainingwakus.png") center / 100% 100% no-repeat;
    pointer-events: none;
    z-index: 0;
}
@media (min-width: 992px) {
	.training-box::before{
		background: url("img/trainingwaku.png") center / 100% 100% no-repeat;
	}
}
.training-box > *{
    position: relative;
    z-index: 1;
}

#daily-schedule .container {
	position: relative;
}
.dailysche-title {
	position: absolute;
	top: -50px;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
}

.schedule {
	margin: auto;
	padding: 30px 50px;
}

.schedule article {
	position: relative;
	display: grid;
	gap: 80px;
	min-height: 110px;
	padding: 0 0 28px 120px;
}
@media (min-width: 992px) {
	.schedule article {
		grid-template-columns: minmax(0, 1fr) 390px;
	}
}

.schedule article::before {
	content: attr(data-time);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 105px;
	padding: 7px 0;
	border-radius: 30px;
	background: #df0000;
	color: #fff;
	font-size: 25px;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	font-family: "Roboto", sans-serif;
}

.schedule article::after {
	content: "";
	position: absolute;
	top: 52px;
	bottom: 0;
	left: 52px;
	width: 1px;
	background: #f4bebe;
}

.schedule article:last-child::after {
	display: none;
}

.schedule-text h3 {
	margin: 8px 0 10px;
	font-size: 18px;
}

.schedule-text p {
	margin: 0;
	font-size: 15px;
	line-height: 1.9;
}

.schedule img {
	width: 100%;
	max-height: 500px;
	object-fit: cover;
	align-self: start;
}

.schedule article:first-child img {
	object-fit: contain;
}

@media (max-width: 767px) {
	.schedule {
		padding: 20px 12px;
	}

	.schedule article {
		display: block;
		min-height: 0;
		padding: 0 0 34px;
	}

	.schedule article::before {
		position: relative;
		display: block;
		width: 110px;
		padding: 6px 0;
		font-size: 26px;
		margin-bottom: 10px;
	}

	.schedule article::after {
		top: 40px;
		bottom: 8px;
		left: 35px;
	}

	.schedule-text {
		position: relative;
		z-index: 1;
		padding-top: 5px;
		background: #fff;
	}

	.schedule-text h3 {
		margin: 0 0 10px;
		font-size: 18px;
	}

	.schedule-text p {
		font-size: 15px;
		line-height: 1.7;
	}

	.schedule img {
		position: relative;
		z-index: 1;
		display: block;
		width: 65%;
		max-height: none;
		margin: 18px 5% 0 auto;
		background: #fff;
	}
}
@media (min-width: 992px) {
	.schedule-text {
		margin-top: 10px!important;
	}
}

.career-scroll img {
	display: block;
	width: 100%;
	height: auto;
}

@media (max-width: 767px) {
	.career-scroll {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.career-scroll img {
		width: 1000px;
		max-width: none;
	}
}


/* ========================================
   INTERVIEW 一覧
======================================== */
.interview-archive {
	padding: 90px 20px 120px;
	background: #fff;
}
.interview-archive__inner {
	width: min(1060px, 100%);
	margin-inline: auto;
}
.interview-archive__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	column-gap: 35px;
	row-gap: 70px;
}
.interview-archive .staff-card {
	width: 100%;
	min-width: 0;
	padding-top: 22px;
}
.interview-archive .staff-card__link {
	display: block;
	height: 100%;
	color: inherit;
	text-decoration: none;
}
.interview-archive .staff-card__image {
	aspect-ratio: 0.89 / 1;
}
.interview-archive .staff-card__body {
	width: 72%;
	min-height: auto;
	margin-top: -50px;
	padding: 10px 15px 0px;
}
.interview-archive .staff-card__number {
	top: -2px;
	left: 0;
	font-size: 54px;
	color: "#e5e5e5";
	font-family: "Roboto", sans-serif;
	font-weight: 700;
}

.interview-archive .staff-card__department,
.interview-archive .staff-card__career {
	margin-top: 5px;
	font-size: 15px;
	line-height: 1.4;
}
.interview-archive .staff-card__name {
	margin-top: 5px;
	font-size: 15px;
	line-height: 1.4;
}
@media screen and (max-width: 992px) {
	.interview-archive {
		padding: 50px 20px 70px;
	}
	.interview-archive__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 24px;
		row-gap: 55px;
	}
}
@media screen and (max-width: 768px) {
	.interview-archive {
		padding: 0 20px 70px;
	}
}
/* ========================================
   スマホ
======================================== */
@media screen and (max-width: 576px) {
	.interview-archive__inner {
		width: 100%;
	}
	.interview-archive__grid {
		grid-template-columns: 1fr;
		row-gap: 30px;
	}
	.interview-archive .staff-card {
		padding-top: 16px;
		margin-top: 10px;
	}
	.interview-archive .staff-card__number {
		top: -10px;
        left: 20px;
        font-size: 54px;
	}
	.interview-archive .staff-card__image {
		aspect-ratio: 0.88 / 1;
		border-radius: 8px 8px 0 8px;
	}
	.interview-archive .staff-card__body {
		width: 65%;
        min-height: 0;
        margin-top: -33px;
        padding: 10px 10px 0px;
	}
	.interview-archive .staff-card__department,
	.interview-archive .staff-card__career {
		font-size: 15px;
		line-height: 1.35;
		letter-spacing: 1px;
	}
	.interview-archive .staff-card__name {
		margin-top: 5px;
		font-size: 15px;
		line-height: 1.35;
	}
}




/* ========================================
   INTERVIEW SINGLE
======================================== */

.interview-single {
	--interview-red: #d60000;
	--interview-text: #282828;
	--interview-gray: #f3f3f3;

	background: #fff;
	color: var(--interview-text);
}


/* ========================================
   HERO
======================================== */

.interview-single-hero {
	padding: 70px 20px 40px;
}

.interview-single-hero__inner {
	position: relative;

	width: min(1140px, 100%);
	min-height: 420px;

	margin-inline: auto;

	overflow: hidden;

	border-radius: 16px;
	background: #f3f3f3;
}


/* ========================================
   HERO IMAGE
======================================== */

.interview-single-hero__image {
	position: absolute;
	inset: 0;

	width: 100%;
	height: 100%;
}

.interview-single-hero__image-pc,
.interview-single-hero__image-sp {
	width: 100%;
	height: 100%;
}

.interview-single-hero__image-pc img,
.interview-single-hero__image-sp img {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
}

.interview-single-hero__image-pc img {
	object-position: center;
}

.interview-single-hero__image-sp {
	display: none;
}


/* ========================================
   HERO CONTENT
======================================== */

.interview-single-hero__content {
	position: relative;
	z-index: 2;

	display: flex;
	flex-direction: column;
	justify-content: center;

	width: 52%;
	min-height: 420px;

	margin-left: auto;

	padding: 55px 50px;
}


/* ========================================
   HERO NUMBER
======================================== */
.interview-single-hero__number {
	font-family: "Roboto", sans-serif;
	font-weight: 900;
	line-height: 1;
	pointer-events: none;
}

.interview-single-hero__number--pc {
	position: absolute;
    top: 40px;
    left: 24px;
    color: #fff;
    font-size: 91px;
    font-weight: 700;
    font-family: "Roboto", sans-serif;
}

.interview-single-hero__number--sp {
	display: none;
}


/* ========================================
   HERO CATCH
======================================== */
.interview-single-hero__catch {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
	margin: 80px 0 30px;
	color: #222;
	font-size: 30px;
	font-weight: 500;
	line-height: 1.5;
}

.interview-single-hero__catch span {
	display: inline-block;
	padding: 5px 12px;
	background: #fff;
}


/* ========================================
   HERO META
======================================== */
.interview-single-hero__meta {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 3px;
}

.interview-single-hero__department {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 5px 17px;
	background: var(--interview-red);
	border-radius: 10px;
	color: #fff;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.3;
}

.interview-single-hero__type {
	color: var(--interview-red);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.4;
}

/* ========================================
   HERO PROFILE
======================================== */
.interview-single-hero__profile {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-top: 20px;
	font-size: 16px;
	line-height: 1.5;
}

/* ========================================
   INTERVIEW CONTENT
======================================== */
.interview-single-content {
	padding: 50px 20px 80px;
}

.interview-single-content__inner {
	width: min(1140px, 100%);
	margin-inline: auto;
}


/* ========================================
   INTERVIEW BLOCK
======================================== */

@media (min-width: 992px) {
	.interview-block {
		display: grid;
	    grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
	    align-items: center;
	    gap: 40px;
	    margin-bottom: 115px;
	}
	.interview-block:nth-child(even) {
		display: grid;
	    grid-template-columns: minmax(0, 1.08fr) minmax(0, 1.08fr);
	    align-items: center;
	    gap: 100px;
	    margin-bottom: 115px;
	}
}

.interview-block:last-child {
	margin-bottom: 0;
}

/* 偶数番目を左右反転 */
.interview-block--reverse .interview-block__text {
	order: 2;
}

.interview-block--reverse .interview-block__visual {
	order: 1;
}


/* ========================================
   INTERVIEW TEXT
======================================== */
.interview-block__text {
	min-width: 0;
}

.interview-block__question {
	margin: 0 0 20px;
	color: var(--interview-red);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.6;
}

.interview-block__question span {
	font-size: 18px;
	font-weight: 700;
	font-family: "Roboto", sans-serif;
}

.interview-block__title {
	margin: 0 0 20px;
	color: #5a5a5a;
	font-size: 30px;
	font-weight: 500;
	line-height: 1.65;
	letter-spacing: 0.02em;
}
.interview-block__description {
	color: #000;
	font-size: 15px;
	line-height: 2;
}
.interview-block__description p {
	margin: 0;
	font-weight: 400;
    letter-spacing: .5px;
}
.interview-block__description p + p {
	margin-top: 1em;
}
.interview-block__visual {
	position: relative;
	min-width: 0;
	padding: 35px 20px 20px 35px;
}
.interview-block--reverse .interview-block__visual {
	padding: 35px 35px 20px 20px;
}

.interview-block__dots {
	position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, rgba(214, 0, 0, 0.32) 1px, transparent 1px);
    background-size: 15px 15px;
    bottom: -10px;
    left: -25px;
}
@media (min-width: 992px) {
	.interview-block__dots {
		background-image: radial-gradient(circle, #5a5a5a 1px, transparent 1px);
	}
}

.interview-block__image {
	position: relative;
	z-index: 2;
	overflow: hidden;
	width: 100%;
	aspect-ratio: 1.55 / 1;
	border-radius: 12px;
	background: #eee;
}

.interview-block__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}


/* ========================================
   前田組ってこんな会社
======================================== */
.interview-company {
	padding: 20px 20px 90px;
}
.interview-company__inner {
	width: min(1140px, 100%);
	margin-inline: auto;
}
.interview-company__box {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: 25px;
	padding: 30px 24px;
	border: 1px solid #f30000;
	border-radius: 12px;
}

.interview-company__title {
	margin: 0;
	padding: 17px 28px;
	background: var(--interview-red);
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	white-space: nowrap;
}

.interview-company__text {
	font-size: 15px;
	line-height: 1.9;
}

.interview-company__text p {
	margin: 0;
}


/* ========================================
   OTHER INTERVIEW
======================================== */
.other-interview {
	padding: 55px 20px 80px;
	background: #f5f5f5;
}

.other-interview__inner {
	width: min(1080px, 100%);
	margin-inline: auto;
}

.other-interview__heading {
	margin: 0 0 40px;
	color: #fff;
	font-family: "Roboto", sans-serif;
	font-size: clamp(40px, 5vw, 66px);
	font-weight: 900;
	line-height: 1;
	text-align: center;
}

.other-interview__grid {
	display: grid;
	grid-template-columns:
		repeat(4, minmax(0, 1fr));
	gap: 25px;
}

.other-interview__slider-container .staff-card__body {
	background-color: var(--whitegray);
}

.other-interview__slider-container .staff-card__number {
    font-family: "Roboto", sans-serif;
    font-size: 44px;
}

@media (min-width: 992px) {
	.interview-block:nth-child(even) .interview-block__image {
		left: -26px;
		width: 126%;
	}
}



/* ========================================
   992px以下
======================================== */
@media screen and (max-width: 991px) {
	.interview-single-hero {
		padding:
			50px
			20px
			35px;
	}

	.interview-single-hero__inner {
		min-height: 380px;
	}

	.interview-single-hero__content {
		width: 54%;
		min-height: 380px;
		padding: 45px 35px;
	}

	.interview-single-hero__number--pc {
		top: 35px;
		left: -35px;
		font-size: 64px;
	}

	.interview-single-hero__catch {
		font-size: 23px;
	}

	.interview-block {
		gap: 45px;

		margin-bottom: 90px;
	}

	.other-interview__grid {
		grid-template-columns:
			repeat(2, minmax(0, 1fr));
	}

}


/* ========================================
   767px以下
======================================== */

@media screen and (max-width: 767px) {
	.interview-single-hero {
		padding: 0;
	}
	.interview-single-hero__inner {
		display: block;
		width: 100%;
		min-height: 0;
		overflow: visible;
		border-radius: 0;
		background: #fff;
	}
	.interview-single-hero__image {
		position: relative;
		inset: auto;
		width: 100%;
		height: auto;
	}
	.interview-single-hero__image-pc {
		display: none;
	}
	.interview-single-hero__image-sp {
		position: relative;
		display: block;
		width: 100%;
		aspect-ratio: 1 / 1.05;
		overflow: hidden;
	}
	.interview-single-hero__image-sp img {
		display: block;

		width: 100%;
		height: 100%;

		object-fit: cover;
		object-position: center top;
	}
	.interview-single-hero__number--pc {
		display: none;
	}
	.interview-single-hero__number--sp {
		position: absolute;
		right: auto;
		bottom: -38px;
		left: 20px;
		z-index: 10;
		display: block;
		color: #e5e5e5;
		font-size: 91px;
		font-family: "Roboto", sans-serif;
		font-weight: 700;
	}
	.interview-single-hero__content {
		display: block;
		width: 100%;
		min-height: 0;
		margin-left: 0;
		padding: 40px 20px 60px;
	}
	.interview-single-hero__catch {
		display: block;
		margin: 0 0 24px;
		font-size: 25px;
		line-height: 1.7;
	}
	.interview-single-hero__catch span {
		display: block;
		padding: 0;
		background: transparent;
	}
	.interview-single-hero__catch span + span {
		margin-top: 2px;
	}
	.interview-single-hero__meta {
		gap: 10px;
	}
	.interview-single-hero__department {
		padding: 4px 15px;
        font-size: 18px;
        border-radius: 5px;
	}
	.interview-single-hero__type {
		font-size: 18px;
	}
	.interview-single-hero__profile {
		gap: 15px;
		margin-top: 10px;
		font-size: 16px;
	}
	.interview-single-content {
		padding: 0 20px 55px;
	}
	.interview-single-content__inner {
		width: 100%;
	}
	.interview-block,
	.interview-block--reverse {
		display: flex;
		flex-direction: column;
		gap: 26px;
		margin-bottom: 80px;
	}
	.interview-block:last-child {
		margin-bottom: 0;
	}
	.interview-block--reverse .interview-block__text {
		order: 1;
	}
	.interview-block--reverse .interview-block__visual {
		order: 2;
	}
	.interview-block__text {
		width: 100%;
	}
	.interview-block__question {
		margin-bottom: 10px;
		font-size: 15px;
		line-height: 1.6;
	}
	.interview-block__question span {
		font-size: 18px;
		font-family: "Roboto", sans-serif;
	}
	.interview-block__title {
		margin-bottom: 16px;
		font-size: 26px;
		line-height: 1.5;
	}
	.interview-block__description {
		font-size: 15px;
		line-height: 1.85;
		font-weight: normal;
	}
	.interview-block__visual {
		width: calc(100% + 14px);
		margin-right: -25px;
		padding: 18px 0 22px 10px;
	}
	.interview-block--reverse .interview-block__visual {
		width: calc(100% + 28px);
		margin-right: -14px;
		margin-left: -14px;
		padding: 18px 14px 22px0;
	}
	.interview-block__dots {
		background-size: 10px 10px;
	}
	.interview-block__image {
		aspect-ratio: 1.5 / 1;
		border-radius: 8px;
	}

	/* ====================================
	   前田組ってこんな会社
	==================================== */

	.interview-company {
		padding:
			5px
			13px
			55px;
	}

	.interview-company__box {
		position: relative;
		display: block;
		padding:
			50px
			14px
			22px;
		border-radius: 9px;
	}
	.interview-company__title {
		position: absolute;
		top: 0;
		left: 50%;
		padding: 10px 21px;
		font-size: 16px;
		transform: translateX(-50%);
	}
	.interview-company__text {
		font-size: 15px;
		line-height: 1.9;
	}

	.interview-block:nth-child(even) .interview-block__image {
		left: -26px;
		width: 105%;
	}

	.other-interview {
		padding:
			45px
			14px
			60px;
	}

	.other-interview__heading {
		margin-bottom: 35px;

		font-size: 36px;
	}

	.other-interview__grid {
		grid-template-columns:
			repeat(2, minmax(0, 1fr));

		gap:
			20px
			12px;
	}

	.other-interview .staff-card__number {
		font-size: 28px;
	}

	.other-interview .staff-card__body {
		width: 75%;

		margin-top: -35px;

		padding:
			6px
			7px
			5px;
	}

	.other-interview .staff-card__department,
	.other-interview .staff-card__career,
	.other-interview .staff-card__name {
		font-size: 9px;
	}

}

/* ========================================
   OTHER INTERVIEW Swiper 基本設定
======================================== */
.other_interview_title {
	font-size: 60px;
	font-family: "Roboto", sans-serif;
	font-weight: 700;
	color: #fff;
}

.other-interview-slider {
	position: relative;
	overflow: hidden;
	width: 100%;
}

.other-interview-slider .swiper-wrapper {
	display: flex;
	align-items: stretch;
	width: 100%;
}

.other-interview-slider .swiper-slide {
	position: relative;
	flex-shrink: 0;
	width: 100%;
	height: auto;
}

@media (min-width: 700px) and (max-width: 991px) {
	.interview-single-content {
		margin: 0 auto;
		width: 80%;
	}
}

.opencompany-page .page-gaiyou h2 span {
	background: linear-gradient(transparent 70%, #fbe8e8 70%);
}
.opencompanymidashi span {
	border-bottom: 2px solid var(--red);
	padding-bottom: 15px;
}
.opencompany-page p.wakarukoto-number {
	font-family: "Roboto", sans-serif;
    font-size: 48px;
    color: #fae1e1;
    font-style: italic;
    line-height: 1.0;
}

.recruit-info {
width: 100%;
max-width: 1000px;
margin-inline: auto;
}
.recruit-info__row {
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr);
	column-gap: 10px;
	align-items: end;
	margin-bottom: 40px;
}
.recruit-info__title {
	text-align: center;
	font-size: 16px;
	line-height: 1.5;
}
.recruit-info__title span {
	position: relative;
	display: inline-block;
	min-width: 100px;
	padding: 0 8px 13px;
	font-weight: bold;
}
.recruit-info__title span::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background-color: #d60000;
}
.recruit-info__content {
padding: 0 0 10px;
	color: #231818;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.8;
	border-bottom: 1px solid #cacaca;
}
@media (min-width: 768px) {
	.recruit-info__content {
		border-bottom: 1px solid #cacaca;
	}
}
.recruit-info__button-wrap {
	margin-top: 45px;
	text-align: center;
}
.recruit-info__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 400px;
	min-height: 58px;
	padding: 12px 25px;
	border-radius: 100px;
	background-color: var(--red);
	border: 2px solid var(--red);
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	text-decoration: none;
	transition: opacity 0.3s ease;
}
.recruit-info__button:hover {
	background-color:#fff;
	color: var(--red);
	border: 2px solid var(--red);
}
@media screen and (max-width: 767.98px) {
	.recruit-info__row {
		display: block;
		margin-bottom: 50px;
	}
	.recruit-info__title {
		margin-bottom: 20px;
	}
	.recruit-info__title span {
		min-width: 68px;
		padding-bottom: 8px;
	}
	.recruit-info__content {
		padding-bottom: 7px;
		font-size: 16px;
		line-height: 2.5;
		border-bottom: 0;
	}
	.recruit-info__button-wrap {
		margin-top: 28px;
	}
	.recruit-info__button {
		max-width: none;
		min-height: 52px;
		padding-inline: 15px;
		font-size: 16px;
	}
	.recruit-info__content span {
		border-bottom: 1px solid #cacaca;
		padding-bottom: 5px;
	}
}


/* ========================================
   OPEN COMPANY FORM
======================================== */
.opencompany-form {
	width: min(760px, 100%);
	margin-inline: auto;
	color: #3a3a3a;
}

.opencompany-form__heading p {
	display: flex;
    align-items: center;
}

.opencompany-form__intro {
	margin-bottom: 70px;
	font-size: 14px;
	font-weight: 500;
	line-height: 2;
	text-align: center;
}

.opencompany-form__intro p {
	margin: 0;
}

.opencompany-form__intro p + p {
	margin-top: 8px;
}

/* ========================================
   GROUP
======================================== */
.opencompany-form__group {
	padding: 0 0 38px;
	margin-bottom: 38px;
	border-bottom: 1px solid #ddd;
}

.opencompany-form__heading,
.opencompany-form__subheading {
	display: flex;
	align-items: center;
	gap: 0px;
	margin-bottom: 16px;
	font-size: 17px;
	font-weight: 500;
}
@media (min-width: 768px) {
	.opencompany-form__heading,
	.opencompany-form__subheading {
		gap: 5px;
	}
}

.opencompany-form__subheading {
	margin-top: 35px;
}

.opencompany-form__subheading p {
	display: flex;
	align-items: center;
}

.form-required,
.form-optional {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 22px;
	padding-inline: 8px;
	border-radius: 999px;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
}

.form-required {
	background: #df0000;
}

.form-optional {
	background: #444;
}

/* ========================================
   INPUT
======================================== */
.opencompany-form input[type="text"],
.opencompany-form input[type="email"],
.opencompany-form input[type="tel"],
.opencompany-form input[type="number"],
.opencompany-form select {
	width: 100%;
	height: 56px;
	padding: 0 18px;
	border: 1px solid #c8c8c8;
	border-radius: 4px;
	background: #f8f8f8;
	color: #333;
	font-size: 15px;
	outline: none;
}

.opencompany-form select {
	appearance: none;
	-webkit-appearance: none;
	background-image:
		linear-gradient(45deg, transparent 50%, #666 50%),
		linear-gradient(135deg, #666 50%, transparent 50%);
	background-position:
		calc(100% - 19px) 24px,
		calc(100% - 13px) 24px;
	background-size: 6px 6px, 6px 6px;
	background-repeat: no-repeat;
}

.opencompany-form input:focus,
.opencompany-form select:focus {
	border-color: #999;
	background: #fff;
}

/* ========================================
   NAME
======================================== */

.opencompany-form__name-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 50px;
}

.opencompany-form__name-item label {
	display: block;
	margin-bottom: 8px;
	font-size: 17px;
	font-weight: 500;
}

@media (min-width: 992px) {
	.opencompany-form__name-item {
		display: flex;
	    align-items: center;
	    gap: 10px;
	    height: fit-content;
	}
	.opencompany-form__name-item label {
		width: 50px;
	}
}

/* ========================================
   RADIO
======================================== */

.opencompany-form__radio .wpcf7-form-control {
	display: flex;
	flex-wrap: wrap;
	gap: 22px;
}

.opencompany-form__radio .wpcf7-list-item {
	margin: 0;
}

.opencompany-form__radio .wpcf7-list-item-label {
	font-size: 14px;
}

.opencompany-form__radio input[type="radio"] {
	width: 18px;
	height: 18px;
	margin-right: 5px;
	vertical-align: -3px;
	accent-color: #d60000;
}

/* ========================================
   BIRTHDAY
======================================== */

.opencompany-form__birthday {
	display: flex;
	align-items: center;
	gap: 20px;
}

.opencompany-form__birthday-item {
	display: flex;
	align-items: end;
	gap: 10px;
	width: auto;
}

.opencompany-form__birthday-item--year {
	width: auto;
}

.opencompany-form__birthday-item--year　p {
	display: flex;
    align-items: flex-end;
}

.opencompany-form__birthday-item .wpcf7-form-control-wrap {
	display: block;
}

.opencompany-form__birthday-item input[type="number"] {
	width: 120px;
}

.opencompany-form__birthday-item--year input[type="number"] {
	width: 180px;
}

.opencompany-form__birthday-item span {
	flex-shrink: 0;
	font-size: 14px;
	font-weight: 700;
}

/* ========================================
   EMAIL
======================================== */

.opencompany-form__field--stack {
	position: relative;
}

.opencompany-form__field--stack .wpcf7-form-control-wrap {
	display: block;
}

.opencompany-form__field--stack .wpcf7-form-control-wrap + .wpcf7-form-control-wrap {
	margin-top: 12px;
}

.opencompany-form__confirm-label {
	position: absolute;
	right: -78px;
	bottom: 18px;
	font-size: 13px;
	font-weight: 700;
}

/* ========================================
   NOTE
======================================== */

.opencompany-form__note {
	margin: 10px 0 0;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.7;
}

/* ========================================
   PRIVACY
======================================== */

.opencompany-form__privacy {
	margin-top: 55px;
}

.opencompany-form__privacy-scroll {
	height: 180px;
	overflow-y: auto;
	padding: 22px 28px;
	border: 1px solid #c9c9c9;
	background: #fafafa;
	font-size: 13px;
	line-height: 1.8;
}

.opencompany-form__privacy-scroll h3 {
	margin: 0 0 15px;
	font-size: 16px;
	font-weight: 500;
}

.opencompany-form__privacy-scroll h4 {
	margin: 10px 0 8px;
	font-size: 15px;
	font-weight: 500;
}

.opencompany-form__privacy-scroll p {
	margin: 0;
}

.opencompany-form__privacy-scroll p + p {
	margin-top: 6px;
}

.opencompany-form__privacy-scroll a {
	color: inherit;
	text-decoration: underline;
}

/* scrollbar */

.opencompany-form__privacy-scroll::-webkit-scrollbar {
	width: 8px;
}

.opencompany-form__privacy-scroll::-webkit-scrollbar-track {
	background: transparent;
}

.opencompany-form__privacy-scroll::-webkit-scrollbar-thumb {
	border-radius: 10px;
	background: #bbb;
}

/* ========================================
   AGREEMENT
======================================== */
.opencompany-form__agreement {
	margin-top: 40px;
	text-align: center;
}
.opencompany-form__agreement .wpcf7-list-item {
	margin: 0;
}
.opencompany-form__agreement label {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-size: 14px;
	font-weight: 700;
}
.opencompany-form__agreement input[type="checkbox"] {
	width: 24px;
	height: 24px;
	accent-color: #d60000;
}

/* ========================================
   SUBMIT
======================================== */
.opencompany-form__submit {
	margin-top: 38px;
	text-align: center;
}

.opencompany-form__submit input[type="submit"] {
	width: min(430px, 100%);
	height: 64px;
	border: 0;
	border-radius: 999px;
	background-color: #e50000;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
	transition:
		background-color 0.3s ease,
		opacity 0.3s ease;
}

.opencompany-form__submit input[type="submit"]:disabled {
	background-color: #cacaca;
	cursor: not-allowed;
	opacity: 1;
}

.opencompany-form__submit input[type="submit"]:not(:disabled):hover {
	opacity: 0.8;
}

.wpcf7-radio label {
	display: flex;
    align-items: center;
    gap: 0;
}

/* ========================================
   CF7 ERROR
======================================== */
.opencompany-form .wpcf7-not-valid-tip {
	margin-top: 6px;
	color: #d60000;
	font-size: 12px;
}

.opencompany-form .wpcf7-response-output {
	margin: 30px 0 0 !important;
	padding: 15px !important;
	font-size: 13px;
}

/* ========================================
   SP
======================================== */
@media screen and (max-width: 767px) {
	.opencompany-form {
		width: 100%;
	}

	.opencompany-form__intro {
		margin-bottom: 70px;
		font-size: 13px;
		line-height: 2.7;
		text-align: left;
	}

	.opencompany-form__group {
		padding-bottom: 32px;
		margin-bottom: 32px;
	}

	.opencompany-form__heading,
	.opencompany-form__subheading {
		margin-bottom: 14px;
        font-size: 17px;
        color: #3a3a3a;
	}

	.form-required,
	.form-optional {
		min-width: 38px;
        height: 21px;
        font-size: 11px;
        margin-left: 5px;
        font-weight: normal;
	}

	.opencompany-form input[type="text"],
	.opencompany-form input[type="email"],
	.opencompany-form input[type="tel"],
	.opencompany-form input[type="number"],
	.opencompany-form select {
		height: 54px;
		padding-inline: 14px;
		font-size: 14px;
	}

	.opencompany-form__name-grid {
		gap: 20px;
	}

	.opencompany-form__name-item label {
		margin-bottom: 7px;
		font-size: 15px;
	}

	.opencompany-form__subheading {
		margin-top: 38px;
	}

	.opencompany-form__radio .wpcf7-form-control {
		gap: 20px;
	}

	.opencompany-form__radio .wpcf7-list-item-label {
		font-size: 17px;
	}

	.opencompany-form__birthday-item span {
		font-size: 13px;
	}

	.opencompany-form__field--stack .wpcf7-form-control-wrap + .wpcf7-form-control-wrap {
		margin-top: 12px;
	}

	.opencompany-form__confirm-label {
		position: static;
		display: block;
		margin-top: 4px;
		font-size: 15px;
		text-align: right;
	}

	.opencompany-form__note {
		margin-top: 10px;
		font-size: 12px;
	}

	.opencompany-form__privacy {
		margin-top: 50px;
	}

	.opencompany-form__privacy-scroll {
		height: 180px;
		padding: 20px 25px;
		font-size: 12px;
	}

	.opencompany-form__agreement {
		margin-top: 38px;
	}

	.opencompany-form__agreement label {
		gap: 9px;
		font-size: 15px;
	}

	.opencompany-form__agreement input[type="checkbox"] {
		width: 22px;
		height: 22px;
	}

	.opencompany-form__submit {
		margin-top: 30px;
	}

	.opencompany-form__submit input[type="submit"] {
		height: 58px;
		font-size: 15px;
	}

	.opencompany-form__birthday {
		display: flex;
		align-items: center;
		gap: 10px;
		width: 100%;
	}

	.opencompany-form__birthday-item {
		display: flex;
		align-items: end;
		gap: 6px;
		flex: 0 0 auto;
	}

	.opencompany-form__birthday-item--year {
		flex: 1 1 auto;
		min-width: 0;
	}

	.opencompany-form__birthday-item--year .wpcf7-form-control-wrap {
		flex: 1;
		min-width: 0;
	}

	.opencompany-form__birthday-item input[type="number"] {
		width: 100%;
	}

	.opencompany-form__birthday-item > span:last-child {
		flex-shrink: 0;
		font-size: 13px;
		font-weight: 700;
	}

	.opencompany-form__birthday-item span {
		font-size: 13px;
		font-weight: 700;
	}
}

/* ========================================
   履歴書・職務経歴書
======================================== */
.opencompany-form__group--resume {
	padding-bottom: 45px;
}
.opencompany-form__resume-note {
	margin: 25px 0 38px;
	padding: 22px 28px;
	border-radius: 12px;
	background: #fdeaea;
	font-size: 14px;
	line-height: 1.9;
}
.opencompany-form__resume-note p {
	margin: 0;
}
.opencompany-form__resume-note p + p {
	margin-top: 4px;
}
.opencompany-form__file {
	display: flex;
	align-items: center;
}
.opencompany-form__file .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
}
.opencompany-form__file input[type="file"] {
	width: 100%;
	font-size: 14px;
	color: #111;
}
.opencompany-form__file input[type="file"]::file-selector-button {
	margin-right: 22px;
	padding: 15px 28px;
	border: 0;
	border-radius: 6px;
	background: #666;
	color: #fff;
	font-size: 15px;
	cursor: pointer;
}
.opencompany-form__file input[type="file"]::-webkit-file-upload-button {
	margin-right: 22px;
	padding: 15px 28px;
	border: 0;
	border-radius: 6px;
	background: #666;
	color: #fff;
	font-size: 15px;
	cursor: pointer;
}
@media screen and (max-width: 767px) {
	.opencompany-form__resume-note {
		margin: 20px 0 30px;
		padding: 20px 15px;
		font-size: 14px;
		line-height: 2;
	}
	.opencompany-form__file input[type="file"] {
		font-size: 15px;
	}
	.opencompany-form__file input[type="file"]::file-selector-button {
		margin-right: 15px;
		padding: 13px 22px;
		font-size: 15px;
	}
	.opencompany-form__file input[type="file"]::-webkit-file-upload-button {
		margin-right: 15px;
		padding: 13px 22px;
		font-size: 15px;
	}
}


/* ========================================
   募集要項一覧
======================================== */
.recruit-archive {
	padding: 70px 20px 130px;
	background: #fff;
}
.recruit-anchor-nav {
	display: flex;
	justify-content: center;
	width: min(420px, 100%);
	margin: 0 auto 55px;
	overflow: hidden;
	border: 1px solid #c41012;
	border-bottom-width: 4px;
	border-radius: 999px;
}
.recruit-anchor-nav a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50%;
	min-height: 62px;
	padding: 12px 20px 22px;
	color: #d60000;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
}
.recruit-anchor-nav a::after {
	content: "";
	position: absolute;
	bottom: 13px;
	left: 50%;
	width: 7px;
	height: 7px;
	border-right: 1px solid #d60000;
	border-bottom: 1px solid #d60000;
	transform: translateX(-50%) rotate(45deg);
}
.recruit-category-section {
	scroll-margin-top: 100px;
}
.recruit-category-section--graduate {
	margin-top: 120px;
}
.recruit-category-title {
	position: relative;
	width: fit-content;
	margin: 0 auto 55px;
	padding-bottom: 10px;
	color: #d60000;
	font-size: 36px;
	font-weight: 700;
	text-align: center;
}
.recruit-category-title::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 150px;
	height: 1px;
	background: #d60000;
	transform: translateX(-50%);
}
.recruit-job-grid {
	display: grid;
	gap: 28px 38px;
	width: min(960px, 100%);
	margin-inline: auto;
}
@media (min-width: 992px) {
	.recruit-job-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 28px 38px;
	}
}
.recruit-job-card {
	padding: 30px 50px 24px;
	border-radius: 24px;
	background: #fbe8e8;
}
.recruit-job-card__title {
	margin: 0 0 22px;
	color: #3a3a3a;
	font-size: 24px;
	font-weight: 500;
	text-align: center;
}
.recruit-job-card__table {
	display: grid;
	grid-template-columns: 115px minmax(0, 1fr);
	overflow: hidden;
	border-radius: 4px;
}
.recruit-job-card__label,
.recruit-job-card__value {
	display: flex;
	align-items: center;
	min-height: 44px;
	padding: 8px 18px;
	border-bottom: 1px solid #808080;
	font-size: 15px;
}
.recruit-job-card__label:nth-last-child(-n+2),
.recruit-job-card__value:nth-last-child(-n+2) {
	border-bottom: 0;
}
.recruit-job-card__label {
	justify-content: center;
	background: #5a5a5a;
	color: #fff;
}
.recruit-job-card__value {
	background: #fff;
	color: #222;
}
.recruit-job-card__button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	width: min(245px, 90%);
	min-height: 43px;
	margin: 20px auto 0;
	border-radius: 999px;
	background: #fff;
	color: #d60000;
	font-size: 16px;
	font-weight: 700;
	text-decoration: none;
}
.recruit-job-card__arrow {
	width: 8px;
	height: 8px;
	border-top: 1px solid #d60000;
	border-right: 1px solid #d60000;
	transform: rotate(45deg);
}
.recruit-job-card__button:hover {
	background-color: #d60000;
	color: #fff;
}
.recruit-job-card__button:hover .recruit-job-card__arrow {
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
}
@media screen and (max-width: 767px) {
	.recruit-archive {
		padding: 30px 18px 90px;
	}
	.recruit-anchor-nav {
		display: block;
		width: 240px;
		margin-bottom: 55px;
		padding: 15px 0;
		border-radius: 28px;
	}
	.recruit-anchor-nav a {
		width: 100%;
		min-height: 42px;
		padding: 7px 45px 7px 20px;
		font-size: 15px;
	}
	.recruit-anchor-nav a::after {
		top: 50%;
		right: 42px;
		bottom: auto;
		left: auto;
		transform: translateY(-70%) rotate(45deg);
	}
	.recruit-category-title {
		margin-bottom: 38px;
		font-size: 25px;
	}
	.recruit-category-title::after {
		width: 105px;
	}
	.recruit-category-section--graduate {
		margin-top: 75px;
	}
	.recruit-job-grid {
		grid-template-columns: 1fr;
		gap: 14px;
	}
	.recruit-job-card {
		padding: 24px 15px 20px;
		border-radius: 15px;
	}
	.recruit-job-card__title {
		margin-bottom: 18px;
		font-weight: normal;
		font-size: 20px;
	}
	.recruit-job-card__table {
		grid-template-columns: 88px minmax(0, 1fr);
	}
	.recruit-job-card__label,
	.recruit-job-card__value {
		min-height: 42px;
		padding: 8px 12px;
		font-size: 15px;
	}
	.recruit-job-card__button {
		width: 82%;
		min-height: 39px;
		margin-top: 15px;
		font-size: 14px;
	}
}
/* ========================================
   募集要項 詳細
======================================== */
.recruit-single {
	padding: 70px 20px 100px;
}
.recruit-single-nav {
	display: flex;
	justify-content: center;
	width: min(420px, 100%);
	margin: 0 auto 50px;
	overflow: hidden;
	border: 1px solid #d60000;
	border-bottom-width: 4px;
	border-radius: 999px;
}
.recruit-single-nav a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50%;
	min-height: 58px;
	padding-bottom: 15px;
	color: #d60000;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
}
.recruit-single-nav a::after {
	content: "";
	position: absolute;
	bottom: 11px;
	left: 50%;
	width: 8px;
	height: 8px;
	border-right: 1px solid #d60000;
	border-bottom: 1px solid #d60000;
	transform: translateX(-50%) rotate(45deg);
}
.recruit-single__title {
	margin: 60px 0 40px !important;
	color: #d60000;
	font-size: 34px;
	font-weight: 700;
	text-align: center;
}
.recruit-detail {
	width: min(1100px, 100%);
	margin-inline: auto;
	border-top: 1px solid #ccc;
}
.recruit-detail__row {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	border-bottom: 1px solid #ccc;
}
.recruit-detail__label {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: 24px 20px;
	background: #f5f5f5;
	font-size: 15px;
}
.recruit-detail__content {
	padding: 24px 32px;
	color: #3a3a3a;
	font-size: 15px;
	line-height: 2;
	letter-spacing: 0px;
	font-weight: 400;
}
.recruit-detail__content p {
	margin: 0;
	color: #3a3a3a;
	letter-spacing: 0;
}
.recruit-detail__content ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.recruit-detail__content li {
	position: relative;
	padding-left: 17px;
}
.recruit-detail__content li::before {
	content: "";
	position: absolute;
	top: 0.8em;
	left: 0;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #e99;
}
.recruit-flow {
	width: min(1050px, 100%);
	margin: 90px auto 0;
}
.recruit-flow__title {
	position: relative;
	width: fit-content;
	margin-inline: auto;
	padding-bottom: 12px;
	font-size: 25px!important;
}
.recruit-flow__title::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 120px;
	height: 3px;
	background: #b5b5b5;
	transform: translateX(-50%);
}

.recruit-flow__title::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 155px;
	height: 3px;
	background: #d60000;
	transform: translateX(-100%);
}
@media (min-width: 992px) {
	.recruit-flow__title::after {
		width: 70px;
	}
	.recruit-flow__title::before {
		width: 126px;
	}

}
.recruit-flow__list {
	display: flex;
	align-items: center;
	justify-content: center;
}
@media (min-width: 992px) {
	.recruit-flow__list {
		margin-top: 40px;
	}
}
.recruit-flow__item {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 220px;
	height: 85px;
	border-radius: 24px;
	background: #fbe8e8;
	font-size: 18px;
	font-weight: normal;
}
.recruit-flow__arrow {
	width: 0;
	height: 0;
	margin: 0 10px;
	border-top: 9px solid transparent;
	border-bottom: 9px solid transparent;
	border-left: 11px solid #555;
}
.recruit-flow__note {
	margin: 28px 0 0;
	font-size: 18px;
	text-align: center;
}
@media screen and (max-width: 767px) {
	.recruit-single {
		padding: 28px 9px 70px;
	}
	.recruit-single-nav {
		display: block;
		width: 230px;
		margin-bottom: 60px;
		padding: 13px 0;
		border-radius: 25px;
	}
	.recruit-single-nav a {
		width: 100%;
		min-height: 34px;
		padding: 5px 40px 5px 15px;
		font-size: 15px;
	}
	.recruit-single-nav a::after {
		top: 50%;
		right: 35px;
		bottom: auto;
		left: auto;
		transform: translateY(-70%) rotate(45deg);
	}
	.recruit-single__title {
		margin-bottom: 35px;
		font-size: 25px;
	}
	.recruit-detail {
		border-top: 0;
	}
	.recruit-detail__row {
		display: block;
		margin-bottom: 18px;
		border-bottom: 0;
	}
	.recruit-detail__label {
		display: block;
		padding: 11px 10px;
		font-size: 15px;
		text-align: center;
	}
	.recruit-detail__content {
		padding: 10px 4px 0;
		font-size: 14px;
		line-height: 1.9;
	}
	.recruit-detail__content li {
		padding-left: 12px;
	}
	.recruit-detail__content li::before {
		width: 4px;
		height: 4px;
	}
	.recruit-flow {
		margin-top: 55px;
		padding-inline: 12px;
	}
	.recruit-flow__title {
		margin-bottom: 28px;
		font-size: 25px;
	}
	.recruit-flow__title::after {
		width: 70px;
	}
	.recruit-flow__list {
		flex-direction: column;
	}
	.recruit-flow__item {
		width: 100%;
        max-width: 270px;
        height: 77px;
        border-radius: 20px;
        font-size: 21px;
        font-weight: normal;
	}
	.recruit-flow__arrow {
		margin: 15px 0;
		border-top: 9px solid #5a5a5a;
		border-right: 8px solid transparent;
		border-bottom: 0;
		border-left: 8px solid transparent;
	}
	.recruit-flow__note {
		margin-top: 22px;
		font-size: 15px;
		line-height: 1.8;
		text-align: left;
	}
}

.recruit-detail__content h3 {
	margin: 0 0 10px;
	font-size: 15px;
	font-weight: 400;
}

.recruit-detail__content h3 strong {
	font-weight: 400;
}

.recruit-detail__content h3:not(:first-child) {
	margin-top: 32px;
	color: #3a3a3a;
}

.recruit-detail__content ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.recruit-detail__content li {
	position: relative;
	margin-bottom: 12px;
	padding-left: 18px;
	font-weight: 400;
}

.recruit-detail__content li::before {
	content: "";
	position: absolute;
	top: 0.75em;
	left: 0;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #f2a0a0;
	transform: translateY(-50%);
}

.recruit-detail__content li br {
	line-height: 2;
}



/* ========================================
   COMPANY ABOUT
======================================== */
.company-about {
	padding: 90px 20px 110px;
	background: #fff;
}
.company-about .container,
.company-outline .container,
.associated-company .container {
	width: min(1050px, 100%);
	margin-inline: auto;
}
.company-about__lead {
	width: min(760px, 100%);
	margin: 0 auto 65px;
}
.company-about__lead-title {
	margin: 0 0 25px;
	color: #c90000;
	font-size: clamp(28px, 3vw, 40px);
	font-weight: 700;
	line-height: 1.55;
	letter-spacing: 0.02em;
}
.company-about__lead-text {
	margin: 0;
	color: #231815;
	font-size: 15px;
	line-height: 2;
}
.company-strength-heading {
	position: relative;
	display: flex;
	align-items: baseline;
	justify-content: center;
	width: min(520px, 100%);
	min-height: 65px;
	margin: 0 auto 65px;
	padding: 5px 30px 20px;
	border: 2px solid #d60000;
	border-radius: 999px;
	color: #d60000;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.0;
}
.company-strength-heading strong {
	margin-inline: 5px;
	font-size: 54px;
	line-height: 1.0;
}
.company-strength-heading::after {
	content: "";
	position: absolute;
	bottom: -18px;
	left: 50%;
	width: 2px;
	height: 30px;
	background: #d60000;
	transform: rotate(30deg);
}
.company-strength-list {
	width: min(1000px, 100%);
	margin-inline: auto;
}
.company-strength {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	align-items: center;
	gap: 55px;
	margin-bottom: 80px;
}
.company-strength:last-child {
	margin-bottom: 0;
}
.company-strength--reverse .company-strength__visual {
	order: 2;
}
.company-strength--reverse .company-strength__content {
	order: 1;
}
.company-strength__visual {
	position: relative;
	min-height: 245px;
}
.company-strength__image {
	overflow: hidden;
	border-radius: 8px;
}
.company-strength__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.company-strength__image--main {
	position: absolute;
	top: 0;
	right: 0;
	width: 78%;
	height: 215px;
}
.company-strength__image--sub {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 35%;
	height: 125px;
}
.company-strength--reverse .company-strength__image--main {
	right: auto;
	left: 0;
}
.company-strength--reverse .company-strength__image--sub {
	right: 0;
	left: auto;
}
.company-strength__image-label {
	position: absolute;
	top: 50%;
	left: 50%;
	padding: 6px 10px;
	background: #fff;
	color: #008fd3;
	font-size: 11px;
	font-weight: 700;
	white-space: nowrap;
	transform: translate(-50%, -50%);
}
.company-strength__content {
	position: relative;
	min-width: 0;
}
.company-strength__number {
	position: absolute;
	top: -35px;
	left: -75px;
	z-index: 0;
	color: #e6e6e6;
	font-family: "Roboto", sans-serif;
	font-size: 62px;
	font-style: italic;
	font-weight: 700;
	line-height: 1;
}
.company-strength--reverse .company-strength__number {
	right: -70px;
	left: auto;
}
.company-strength__title {
	position: relative;
	z-index: 1;
	margin: 0 0 22px;
	color: #d60000;
	font-size: 25px;
	font-weight: 700;
	line-height: 1.7;
}
.company-strength__text {
	position: relative;
	z-index: 1;
	margin: 0;
	color: #333;
	font-size: 13px;
	line-height: 2;
}

/* ========================================
   OUTLINE
======================================== */
.company-outline {
	padding: 70px 20px;
	background: #f5f5f5;
}
.company-outline__box {
	margin-inline: auto;
	padding: 0 12% 60px;
	border-radius: 70px;
	background: #fff;
}
.company-section-heading {
	text-align: center;
}
.company-section-heading h2 {
	margin: 0;
	color: #efb7b7;
	font-family: "Roboto", sans-serif;
	font-size: clamp(42px, 6vw, 84px);
	font-weight: 700;
	line-height: 1.0;
	text-align: center;
}
.company-section-heading p {
	margin: 0px;
	color: #3a3a3a;
	font-size: 16px;
	font-weight: 700;
	text-align: center;
}
.company-section-heading--outline {
	transform: translateY(-23px);
}
.company-outline__list {
	margin: 20px 0 0;
}
.company-outline__row {
	display: grid;
	grid-template-columns: 145px minmax(0, 1fr);
	padding: 20px 0;
	border-bottom: 1px solid #e6bcbc;
}
.company-outline__row:last-child {
	border-bottom: 0;
}
.company-outline__row dt {
	margin: 0;
	color: #d60000;
	font-size: 17px;
	font-weight: 700;
}
.company-outline__row dd {
	margin: 0;
	color: #333;
	font-size: 15px;
	line-height: 1.9;
}

/* ========================================
   ASSOCIATED COMPANY
======================================== */
.associated-company {
	padding: 85px 20px 110px;
	background: #fff;
}
.associated-company__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 45px;
	margin-top: 55px;
}
.associated-company-card__image {
	overflow: hidden;
	width: 100%;
	aspect-ratio: 1.65 / 1;
	margin-bottom: 18px;
	border-radius: 6px;
}
.associated-company-card__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.associated-company-card__title {
	margin: 0 0 12px;
	color: #d60000;
	font-size: 15px;
	font-weight: 700;
}
.associated-company-card__text {
	margin: 0;
	color: #333;
	font-size: 12px;
	line-height: 1.9;
}
.associated-company-card__address {
	margin-top: 22px;
	padding-top: 17px;
	border-top: 1px solid #ccc;
	color: #333;
	font-size: 11px;
	font-style: normal;
	line-height: 1.8;
}

/* ========================================
   TABLET
======================================== */
@media screen and (max-width: 991px) {
	.company-strength {
		gap: 35px;
	}
	.company-outline__box {
		padding-inline: 45px;
	}
}

/* ========================================
   SMARTPHONE
======================================== */
@media screen and (max-width: 767px) {
	.company-about {
		padding: 55px 15px 70px;
	}
	.company-about__lead {
		margin-bottom: 45px;
	}
	.company-about__lead-title {
		margin-bottom: 18px;
		font-size: 20px;
		line-height: 1.65;
		text-align: center;
	}
	.company-about__lead-text {
		font-size: 15px;
		line-height: 2;
		text-align: justify;
	}
	.company-strength-heading {
		width: 225px;
		min-height: 50px;
		margin-bottom: 50px;
		padding: 10px 20px;
		font-size: 18px;
		width: 100%;
	}
	.company-strength-heading strong {
		font-size: 34px;
		font-family: "Roboto", sans-serif;
		font-style: italic;
	}
	.company-strength-heading::after {
		bottom: -15px;
        height: 24px;
	}
	.company-strength {
		display: flex;
		flex-direction: column;
		gap: 20px;
		margin-bottom: 55px;
	}
	.company-strength--reverse .company-strength__visual,
	.company-strength--reverse .company-strength__content {
		order: initial;
	}
	.company-strength__visual {
		width: 100%;
		min-height: 190px;
	}
	.company-strength__image--main {
		width: 100%;
	}
	.company-strength__image--sub {
		width: 35%;
		height: 95px;
	}
	.company-strength--reverse .company-strength__image--main {
		right: 0;
		left: auto;
	}
	.company-strength--reverse .company-strength__image--sub {
		right: auto;
		left: 0;
	}
	.company-strength__content {
		width: 100%;
		padding-left: 55px;
	}
	.company-strength__number,
	.company-strength--reverse .company-strength__number {
		top: -7px;
		right: auto;
		left: 0;
		font-size: 43px;
	}
	.company-strength__title {
		margin-bottom: 0px;
		font-size: 21px;
		line-height: 1.5;
	}
	.company-strength__text {
		font-size: 15px;
		line-height: 1.9;
	}
	.company-outline {
		padding: 55px 0;
	}
	.company-outline .container {
		padding: 0!important;
	}
	.company-outline__box {
		padding: 0 18px 40px;
		border-radius: 38px;
	}
	.company-section-heading h2 {
		font-family: "Roboto", sans-serif;
		font-size: 42px;
		font-weight: bold;
		line-height: 1;
		text-align: center;
	}
	.company-section-heading p {
		margin-top: 5px;
		font-size: 14px;
        letter-spacing: 1px;
        text-align: center;
	}
	.company-section-heading--outline {
		transform: translateY(-13px);
	}
	.company-outline__list {
		margin-top: 5px;
	}
	.company-outline__row {
		display: block;
		padding: 16px 0;
	}
	.company-outline__row dt {
		margin-bottom: 10px;
		font-size: 15px;
	}
	.company-outline__row dd {
		font-size: 15px;
		line-height: 1.9;
	}
	.associated-company {
		padding: 55px 15px 75px;
	}
	.associated-company .company-section-heading h2 {
		max-width: 280px;
		margin-inline: auto;
		font-size: 42px;
		font-family: "Roboto", sans-serif;
		line-height: 1.2;
	}
	.associated-company__grid {
		grid-template-columns: 1fr;
		gap: 42px;
		margin-top: 40px;
	}
	.associated-company-card__image {
		margin-bottom: 15px;
	}
	.associated-company-card__title {
		font-size: 12px;
	}
	.associated-company-card__text {
		font-size: 10px;
	}
	.associated-company-card__address {
		margin-top: 16px;
		padding-top: 14px;
		font-size: 9px;
	}
}

.strength-number {
	font-family: "Roboto", sans-serif;
	color: #e5e5e5;
	font-style: italic;
	font-size: 62px;
	font-weight: bold;
	line-height: 1.0;
}
@media (min-width: 992px) {
	.strength-number {
		font-size: 80px;
	}
}

.associated-description {
    border-bottom: 1px solid #cbcbcb;
}

@media (min-width: 992px) {
    .associated-description {
        min-height: 180px;
    }
}
.company-award {
	padding: 60px 20px 80px;
	background: #fff;
}
@media (min-width: 992px) {
	.company-award {
		padding: 60px 20px 120px;
	}
}


/* ========================================
   Award-Winning Projects
======================================== */
.awards {
  padding: 64px 24px 70px;
  background-color: #f7f7f7;
}
.awards__panel {
  position: relative;
  margin: 0 auto;
  padding: 82px 58px 88px;
  background: #fff;
  border-radius: 58px;
}
.awards__label {
  position: absolute;
  top: -5%;
  left: 50%;
  z-index: 5;
  display: grid;
  place-items: center;
  width: 146px;
  height: 146px;
  transform: translateX(-50%);
  border-radius: 50%;
  background: #5a5a5a;
  color: #fff;
  text-align: center;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.45;
  font-family: "Roboto", sans-serif;
}
.timeline__media.blob-right {
	justify-self: start;
}
.timeline__media.blob-right.keiai::after {
	display: none;
}
.timeline {
  position: relative;
  padding: 0 0 20px;
}
.timeline::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 8px;
  left: 50%;
  width: 2px;
  transform: translateX(-50%);
  background: #fbe8e8;
}
.timeline__item {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 62px;
  min-height: 205px;
  margin-bottom: 84px;
}
.timeline__item:last-of-type {
  margin-bottom: 12px;
}
.timeline__media {
  position: relative;
  align-self: start;
  justify-self: end;
  width: 80%;
  max-width: 100%;
}
.timeline__media img {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  aspect-ratio: 1.48 / 1;
  object-fit: cover;
  border-radius: 25px;
}
.timeline__media img.harazonoglass {
	aspect-ratio: 1 / 1;
}

.timeline__media.blob-right::after {
	content: "";
	position: absolute;
	z-index: 1;
	right: -25%;
	bottom: -25px;
	width: 160px;
	height: 160px;
	border-radius: 50%;
	background: #fae1e1;
}
.timeline__body {
  position: relative;
  padding-top: 20px;
}
.timeline__body::before {
  content: "";
  position: absolute;
  top: 39px;
  left: -31px;
  width: 14px;
  height: 14px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: #e60012;
}
.timeline__year {
  margin: 0 0 9px;
  color: #ec8a8a;
  font-size: 40px;
  font-weight: 800;
  font-style: italic;
  line-height: 1;
  letter-spacing: -0.01em;
  font-family: "Roboto", sans-serif;
}
.timeline__body h3 {
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.7;
  color: #3a3a3a;
}
.timeline__body p {
  margin: 12px 0 0;
  font-size: 15px;
  line-height: 1.8;
  color: #3a3a3a;
}
.badge {
	position: absolute;
    z-index: 4;
    display: grid;
    place-items: center;
    width: 122px;
    height: 122px;
    border-radius: 50%;
    background: #e60012;
    color: #fff;
    text-align: center;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.45;
}
.badge--left {
  left: -52px;
  bottom: -15px;
}
.badge--right {
  right: -38px;
  bottom: -16px;
}
.no-image {
  min-height: 90px;
  margin-top: -15px;
}
.no-image .timeline__body {
  padding-top: 0;
}
.no-image .timeline__body::before {
  top: 12px;
}
.timeline__end {
  position: absolute;
  left: 50%;
  bottom: -4px;
  width: 22px;
  height: 22px;
  transform: translate(-50%, 50%);
  border: 3px solid #ef8d92;
  border-right-color: transparent;
  border-radius: 50%;
  background: #fff;
}
@media (max-width: 992px) {
  .awards {
    padding: 42px 0 24px;
  }
  .awards__panel {
    width: 100%;
    padding: 67px 16px 52px 34px;
    border-radius: 30px;
  }
  .awards__label {
    top: -82px;
	width: 120px;
	height: 120px;
	font-size: 13px;
  }
  .timeline {
    padding-left: 17px;
  }
  .timeline::before {
    left: 2px;
  }
  .timeline__item {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-height: 0;
    margin-bottom: 42px;
  }
  .timeline__media {
    order: 1;
    align-self: auto;
    justify-self: auto;
    margin: 0 auto 18px;
  }
  .timeline__media.blob-right {
  	left: -40px;
  }
  .timeline__media img {
    border-radius: 17px;
  }
  .timeline__body {
    order: 2;
    padding: 0;
	margin-bottom: 50px!important;
  }
  .timeline__body::before {
    top: 22px;
	left: -15px;
	width: 14px;
	height: 14px;
  }
  .timeline__year {
    margin-bottom: 8px;
    font-size: 40px;
  }
  .timeline__body h3 {
    font-size: 18px;
    line-height: 1.7;
  }
  .timeline__body p {
    margin-top: 8px;
	font-size: 15px;
    line-height: 1.75;
  }
  .no-image {
    margin-top: 0;
    margin-bottom: 50px;
  }
  .no-image .timeline__media {
    display: none;
  }
  .no-image .timeline__body::before {
    top: 8px;
  }
  .timeline__media.blob-right::after {
    right: -46px;
	bottom: -27px;
	width: 134px;
	height: 134px;
  }
  .badge {
    width: 102px;
	height: 102px;
	font-size: 15px;
  }
  .badge--left {
    left: -38px;
    bottom: -12px;
  }
  .badge--right {
    right: -31px;
    bottom: -11px;
  }
  .timeline__end {
    left: 2px;
    width: 13px;
    height: 13px;
    border-width: 2px;
  }
}
@media (max-width: 360px) {
  .awards__panel {
    padding-left: 30px;
    padding-right: 12px;
  }
  .timeline {
    padding-left: 15px;
  }
  .timeline__body::before {
    left: -15px;
  }
}
.award-mirai {
	width: 30px;
    position: absolute;
    left: -4%;
    bottom: -1%;
}
@media (min-width: 992px) {
	.award-mirai {
		left: 48.1%;
	}
}
@media (min-width: 1200px) {
	.award-mirai {
		left: 48.5%;
	}
}
@media (min-width: 1400px) {
	.award-mirai {
		left: 48.8%;
	}
}


#entry .page-title_jp {
  font-size: 0;
}

#entry .page-title_jp::after {
  content: "採用エントリー";
  font-size: 15px;
  color: #fff;
}

.fuwatto {
    opacity: 0;
    transform: translateY(32px);
    transition: opacity 1.1s cubic-bezier(0.16, 1, 0.3, 1),
                transform 1.1s cubic-bezier(0.16, 1, 0.3, 1);
}
.fuwatto.is-show {
    opacity: 1;
    transform: translateY(0);
}
.fuwatto.delay-1 { transition-delay: 0.1s; }
.fuwatto.delay-2 { transition-delay: 0.2s; }
.fuwatto.delay-3 { transition-delay: 0.3s; }
.fuwatto.delay-4 { transition-delay: 0.4s; }
.fuwatto.delay-5 { transition-delay: 0.5s; }
.fuwatto.delay-6 { transition-delay: 0.6s; }
.fuwatto.delay-7 { transition-delay: 0.7s; }
.fuwatto.delay-8 { transition-delay: 0.8s; }

.fade-left {
    opacity: 0;
    transform: translateX(-80px);
    transition: opacity 1s cubic-bezier(0.16, 1, 0.3, 1),
                transform 1s cubic-bezier(0.16, 1, 0.3, 1);
}
.fade-left.is-show {
    opacity: 1;
    transform: translateX(0);
}

.img-wrap {
    overflow: hidden;
    position: relative;
}
.img-wrap::before {
    background: #fff;
    content: '';
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 1;
}
.img-wrap.is-show::before {
    animation: img-wrap 1.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
@keyframes img-wrap {
    100% {
        transform: translateX(100%);
    }
}

.building-works-card.img-wrap::before {
    background: #f7f7f7;
}