@charset "utf-8";

/* -------------------------------------------------- */
/* RESET*/
/* -------------------------------------------------- */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}
body {
	line-height: 1;
}
ol,
ul {
	list-style: none;
}

li {
	list-style-type: none;
}

blockquote,
q {
	quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

img {
	max-width: 100%;
	vertical-align: bottom;
}

textarea,
select,
option {
	font: inherit;
}

a {
	color: inherit;
	text-decoration: none;
}

/* -------------------------------------------------- */
/* COMMON */
/* -------------------------------------------------- */
html {
	font-size: 62.5%; /* 10px */
}

body {
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 500;
	background: #ffffff;
	color: #000000;
}

*,
*::before,
*::after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

/* テキスト調整 */
.roboto {
	font-family: "Roboto", sans-serif;
}

.textLeft {
	text-align: left;
}

.textCenter {
	text-align: center;
}

.textRight {
	text-align: right;
}

.textBold {
	font-weight: 700;
}

/* 非表示設定 */
@media screen and (min-width: 1025px) {
	.tabOnly {
		display: none;
	}

	.tabSpOnly {
		display: none;
	}

	.spOnly {
		display: none;
	}
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
	.pcOnly {
		display: none;
	}

	.spOnly {
		display: none;
	}
}
@media screen and (max-width: 767px) {
	.pcOnly {
		display: none;
	}

	.tabOnly {
		display: none;
	}

	.pcTabOnly {
		display: none;
	}
}

/* 共通パーツ */
.inner {
	width: calc(1200px + 40px * 2);
	max-width: 100%;
	margin-right: auto;
	margin-left: auto;
	padding-right: 40px;
	padding-left: 40px;
}

.sectionTitle {
	margin-bottom: 100px;
	font-size: 5rem;
	font-weight: 900;
	text-align: center;
}

.sectionTitle::before {
	content: attr(data-en);
	margin-bottom: 10px;
	display: block;
	font-size: 3.2rem;
	font-weight: 700;
	font-family: "Roboto", sans-serif;
	color: #bf3b2b;
}

/* -------------------------------------------------- */
/* PC*/
/* -------------------------------------------------- */
#recruit {
	padding-top: 89px;
	position: relative;
	font-family: "Zen Kaku Gothic New", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-feature-settings: "palt";
	line-height: 1.5;
}

/* ファーストビュー
------------------------------------ */
#fv {
	padding-top: 40px;
	position: relative;
	background: linear-gradient(90deg, rgba(207, 43, 43, 1) 0%, rgba(180, 21, 32, 1) 100%);
	overflow: hidden;
}

#fvTitle {
	position: absolute;
	top: 20px;
	left: 20px;
	font-size: 1.5rem;
	color: #fff;
	z-index: 10;
}

.fvBg {
	position: absolute;
}

#fvBg1 {
	width: 41.646vw;
	top: 4%;
	left: 0;
}

#fvBg2 {
	width: 22.595vw;
	top: 39%;
	left: 0;
}

#fvBg3 {
	width: 50.886vw;
	top: 79%;
	left: 0;
}

#fvBg4 {
	width: 38.354vw;
	top: 15%;
	right: 0;
	text-align: right;
}

#fvBg5 {
	width: 21.962vw;
	top: 56%;
	right: 0;
	text-align: right;
}

#fvImgWrap {
	margin-bottom: -10px;
	margin-right: 3%;
	margin-left: 10%;
	position: relative;
	text-align: center;
}

#fvImg1,
#fvImg2 {
	width: 100%;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}

#fvImg3 {
	position: relative;
}

.fvText {
	width: 100%;
	position: absolute;
	bottom: 5.5%;
	left: 0;
	text-align: center;
}

/* ローディングアニメーション */
.slideInToRight {
	animation-name: slideInToRight;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	opacity: 0;
}
@keyframes slideInToRight {
	0% {
		transform: translateX(-100px);
		opacity: 0;
	}
	100% {
		transform: translateX(0px);
		opacity: 1;
	}
}

.slideInToLeft {
	animation-name: slideInToLeft;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	opacity: 0;
}
@keyframes slideInToLeft {
	0% {
		transform: translateX(100px);
		opacity: 0;
	}
	100% {
		transform: translateX(0px);
		opacity: 1;
	}
}

.slideUp {
	animation-name: slideUp;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	opacity: 0;
}
@keyframes slideUp {
	from {
		opacity: 0;
		transform: translateY(200px);
	}

	60% {
		opacity: 1;
		transform: translateY(-10px);
	}

	75% {
		transform: translateY(2px);
	}

	90% {
		transform: translateY(-2px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.delay01 {
	animation-delay: 0.1s;
}

.delay02 {
	animation-delay: 0.2s;
}

.delay03 {
	animation-delay: 0.3s;
}

.delay04 {
	animation-delay: 0.4s;
}

.delay05 {
	animation-delay: 0.5s;
}

.delay06 {
	animation-delay: 1s;
}

.delay07 {
	animation-delay: 1.3s;
}

.delay08 {
	animation-delay: 1.6s;
}

.delay09 {
	animation-delay: 2.4s;
}

/* 導入
------------------------------------ */
#lead {
	padding: 80px 4% calc(90px + 10.823vw);
	position: relative;
	background: #f3f4f5 url(../img/lead_bg.png) no-repeat center center / contain;
}

#lead::after {
	content: "";
	width: 100%;
	height: 10.823vw;
	position: absolute;
	bottom: -1px;
	left: 0;
	background: url(../img/lead_deco_bottom_pc.svg) no-repeat center bottom / 100%;
}

.leadText {
	font-size: 2.4rem;
	font-weight: 700;
	line-height: calc(50 / 24);
	text-align: center;
}

.leadText + .leadText {
	margin-top: calc(50 / 24 * 1em);
}

/* ABOUT US
------------------------------------ */
#about {
	padding-top: 60px;
	padding-bottom: 110px;
	overflow: hidden;
}

#aboutList {
	display: flex;
	flex-direction: column;
	gap: 130px;
}

.aboutListItem {
	position: relative;
	display: flex;
	align-items: center;
	gap: 4%;
}

.aboutListItem:nth-child(odd) {
	flex-direction: row-reverse;
}

.aboutListContent {
	width: 46%;
}

.aboutListNum {
	position: absolute;
	top: -40px;
	font-size: 28rem;
	font-weight: 700;
	font-family: "Roboto", sans-serif;
	line-height: 1;
	color: #bf3b2b;
	opacity: 0.1;
}

.aboutListItem:nth-child(odd) .aboutListNum {
	right: -10%;
}

.aboutListItem:nth-child(even) .aboutListNum {
	left: -7%;
}

.aboutListTitle {
	font-size: 3rem;
	font-weight: 700;
	line-height: calc(55 / 30);
}

.aboutListText {
	margin-top: 30px;
	font-size: 1.7rem;
	letter-spacing: -0.05em;
	line-height: calc(32 / 18);
}

.aboutListImg {
	width: 50vw;
}

.aboutListImg img {
	width: 100%;
}

.aboutListItem:nth-child(odd) .aboutListImg {
	margin-left: calc(50% - 50vw);
}

.aboutListItem:nth-child(even) .aboutListImg {
	margin-right: calc(50% - 50vw);
}

/* MESSAGE
------------------------------------ */
#message {
	padding-top: calc(100px + 10.823vw);
	padding-bottom: calc(160px + 10.823vw);
	position: relative;
	background: linear-gradient(rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.65)), url(../img/message_bg.jpg) no-repeat center center / cover;
}

#message::before,
#message::after {
	content: "";
	width: 100%;
	height: 10.823vw;
	position: absolute;
	left: 0;
}

#message::before {
	top: -1px;
	background: url(../img/message_deco_top_pc.svg) no-repeat center top / 100%;
}

#message::after {
	bottom: -1px;
	background: url(../img/message_deco_bottom_pc.svg) no-repeat center bottom / 100%;
}

#message .sectionTitle,
#message .sectionTitle::before {
	color: #fff;
}

#messageWrap {
	display: flex;
	gap: 6.5%;
}

#messageContent {
	width: calc(668 / 1200 * 100%);
}

.messageText {
	margin-top: 25px;
	font-size: 1.9rem;
	font-weight: 500;
	line-height: calc(45 / 19);
	color: #fff;
}

#messageMovie {
	flex-grow: 1;
	flex-shrink: 0;
}

/* COMPANY CULTURE
------------------------------------ */
#culture {
	padding-top: 60px;
	padding-bottom: 100px;
	overflow: hidden;
}

@media screen and (min-width: 1025px) {
	.cultureList {
		display: flex;
		gap: 24px;
	}
	.cultureListItem {
		width: auto;
		flex: 1;
	}
}

.cultureCard {
	height: auto;
	padding: 20px 15px;
	position: relative;
	border: 3px solid #cccccc;
	border-radius: 15px;
}

.cultureCardIcon {
	padding-right: 70px;
}

.cultureCardNum {
	width: 55px;
	height: 55px;
	position: absolute;
	top: 20px;
	right: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.7rem;
	font-weight: 700;
	font-family: "Roboto", sans-serif;
	color: #fff;
	background-color: #bf3b2b;
	border-radius: 50%;
}

.cultureCardTitle {
	margin-top: 15px;
	font-size: 1.9rem;
	font-weight: 700;
}

.cultureCardTitle .textLg {
	font-size: 2.3rem;
	font-weight: 900;
}

.cultureCardTitle .textMd {
	font-size: 2.1rem;
	font-weight: 900;
	letter-spacing: -0.025em;
}

.cultureCardText {
	margin-top: 10px;
	font-size: 1.5rem;
	line-height: calc(24 / 15);
}

#cultureSlide2 {
	margin-top: 60px;
}

/* NUMBERS
------------------------------------ */
#numbers {
	padding-top: calc(80px + 10.823vw);
	padding-bottom: calc(140px + 10.823vw);
	position: relative;
	background-color: #fde8e6;
}

#numbers::before,
#numbers::after {
	content: "";
	width: 100%;
	height: 10.823vw;
	position: absolute;
	left: 0;
}

#numbers::before {
	top: -1px;
	background: url(../img/numbers_deco_top_pc.svg) no-repeat center top / 100%;
}

#numbers::after {
	bottom: -1px;
	background: url(../img/numbers_deco_bottom_pc.svg) no-repeat center bottom / 100%;
}

#numbersList {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	row-gap: 35px;
}

.numbersListItem {
	padding: 30px;
	display: flex;
	flex-direction: column;
	background-color: #fff;
}

.numbersListTitle {
	margin-bottom: 10px;
	font-size: 3rem;
	font-weight: 700;
	text-align: center;
	color: #bf3b2b;
}

.numbersListImg {
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.numbersListItem.n1 .numbersListImg {
	max-width: 414px;
	margin: 0 auto;
}

.numbersListItem.n2 .numbersListImg {
	max-width: 250px;
	margin: 0 auto;
}

.numbersListItem.n3 .numbersListImg {
	max-width: 192px;
	margin: 0 auto;
}

.numbersListItem.n4 .numbersListImg {
	max-width: 130px;
	margin: 0 auto;
}

.numbersListItem.n5 .numbersListImg {
	max-width: 142px;
	margin: 0 auto;
}

.numbersListItem.n6.numbersListImg {
	max-width: 386px;
	margin: 0 auto;
}

.numbersListItem.n7 .numbersListImg {
	max-width: 424px;
	margin: 0 auto;
}

.numbersListItem.n8 .numbersListImg {
	max-width: 214px;
	margin: 0 auto;
}

.numbersListItem.n9 .numbersListImg {
	max-width: 200px;
	margin: 0 auto;
}

.numbersListItem.n11 .numbersListImg {
	max-width: 193px;
	margin: 0 auto;
}

.numbersListItem.n12 .numbersListImg {
	max-width: 430px;
	margin: 0 auto;
}

.numbersListItem.n13 .numbersListImg {
	max-width: 611px;
	margin: 0 auto;
}

.numbersListItem.n14 .numbersListImg {
	max-width: 274px;
	margin: 0 auto;
}

.numbersListItem.n15 .numbersListImg {
	max-width: 206px;
	margin: 0 auto;
}

.numbersListItem.n16 .numbersListImg {
	max-width: 611px;
	margin: 0 auto;
}

.numbersListItem.n17 .numbersListImg {
	max-width: 266px;
	margin: 0 auto;
}

.numbersListTextList {
	margin-top: 15px;
	display: flex;
	flex-direction: column;
	gap: 35px;
	counter-reset: number 0;
}

.numbersListTextList li {
	padding: 20px;
	display: flex;
	align-items: center;
	gap: 15px;
	font-size: 2rem;
	font-weight: 700;
	line-height: calc(28 / 20);
	border: 2px solid #000;
	border-radius: 12px;
}

.numbersListTextList li::before {
	content: counter(number);
	counter-increment: number 1;
	width: 50px;
	height: 50px;
	flex-shrink: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 2rem;
	font-weight: 700;
	font-family: "Roboto", sans-serif;
	color: #fff;
	background-color: #bf3b2b;
	border-radius: 50%;
}

.numbersListItem.n1 {
	width: calc(510 / 1200 * 100%);
}
.numbersListItem.n2 {
	width: calc(310 / 1200 * 100%);
}
.numbersListItem.n3 {
	width: calc(310 / 1200 * 100%);
}
.numbersListItem.n4 {
	width: calc(310 / 1200 * 100%);
}
.numbersListItem.n5 {
	width: calc(310 / 1200 * 100%);
}
.numbersListItem.n6 {
	width: calc(510 / 1200 * 100%);
}
.numbersListItem.n7 {
	width: calc(510 / 1200 * 100%);
}
.numbersListItem.n8 {
	width: calc(310 / 1200 * 100%);
}
.numbersListItem.n9 {
	width: calc(310 / 1200 * 100%);
}
.numbersListItem.n10 {
	width: calc(310 / 1200 * 100%);
}
.numbersListItem.n11 {
	width: calc(310 / 1200 * 100%);
}
.numbersListItem.n12 {
	width: calc(510 / 1200 * 100%);
}
.numbersListItem.n13 {
	width: calc(716 / 1200 * 100%);
}
.numbersListItem.n14 {
	width: calc(310 / 1200 * 100%);
}
.numbersListItem.n15 {
	width: calc(449 / 1200 * 100%);
}
.numbersListItem.n16 {
	width: calc(716 / 1200 * 100%);
}
.numbersListItem.n17 {
	width: calc(449 / 1200 * 100%);
}
.numbersListItem.n18 {
	width: calc(583 / 1200 * 100%);
}
.numbersListItem.n19 {
	width: calc(583 / 1200 * 100%);
}

/* WELFARE
------------------------------------ */
#welfare {
	padding-top: 120px;
	padding-bottom: 100px;
}

#welfareList {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
}

.welfareListItem {
	width: calc(25% - 24px * 3 / 4);
	min-height: 87px;
	padding: 15px 10px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 2rem;
	font-weight: 700;
	line-height: calc(28 / 20);
	text-align: center;
	background-color: #f2f2f2;
	border-radius: 10px;
}

.welfareListItem.full {
	width: 100%;
	padding: 25px 15px;
	justify-content: flex-start;
	text-align: left;
}

.welfareListItem dt {
	margin-bottom: 5px;
	padding-left: 12px;
}

.welfareListItem dd {
	font-size: 1.8rem;
	font-weight: 400;
	line-height: calc(28 / 18);
}

/* THE FLOW OF THE DAY
------------------------------------ */
#flow {
	padding-top: calc(80px + 10.823vw);
	padding-bottom: calc(120px + 10.823vw);
	position: relative;
	background-color: #f3f4f5;
}

#flow::before,
#flow::after {
	content: "";
	width: 100%;
	height: 10.823vw;
	position: absolute;
	left: 0;
}

#flow::before {
	top: -1px;
	background: url(../img/flow_deco_top_pc.svg) no-repeat center top / 100%;
}

#flow::after {
	bottom: -1px;
	background: url(../img/flow_deco_bottom_pc.svg) no-repeat center bottom / 100%;
}

.flowBlock + .flowBlock {
	margin-top: 100px;
}

.flowTitle {
	padding-bottom: 15px;
	font-size: 3.2rem;
	font-weight: 700;
	border-bottom: 4px solid #000;
	border-radius: 1px;
}

.flowRow {
	margin-top: 50px;
	display: flex;
	gap: 3.5%;
}

.flowContent {
	flex-grow: 1;
}

.flowText {
	margin-top: 30px;
	font-size: 1.8rem;
	line-height: calc(32 / 18);
}

.flowSchedule {
	width: 50%;
	padding: 20px 30px 30px;
	flex-grow: 1;
	flex-shrink: 0;
	display: flex;
	gap: 15px;
	background-color: #fff;
}

.flowScheduleWrap {
	flex-grow: 1;
}

.flowScheduleTitle {
	padding-left: 10px;
	font-size: 2.2rem;
	font-weight: 700;
}

.flowScheduleList {
	margin-top: 10px;
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.flowScheduleListItem {
	display: flex;
	align-items: center;
	gap: 15px;
}

.flowScheduleTime {
	width: 56px;
	height: 56px;
	position: relative;
	flex-shrink: 0;
}

.flowScheduleTime::before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	inset: 0;
	border-radius: 50%;
}

.flowScheduleTime[data-hour="9:30"]::before {
	background-image: conic-gradient(#f9d3d6 0% 50%, #fcebec 50% 79%, #f9d3d6 79% 100%);
}
.flowScheduleTime[data-hour="10:00"]::before {
	background-image: conic-gradient(#f9d3d6 0% 83.33%, #fcebec 83.33% 100%);
}
.flowScheduleTime[data-hour="11:00"]::before {
	background-image: conic-gradient(#f9d3d6 0% 91.67%, #fcebec 91.67% 100%);
}
.flowScheduleTime[data-hour="12:00"]::before {
	background-color: #f9d3d6;
}
.flowScheduleTime[data-hour="13:00"]::before {
	background-image: conic-gradient(#fcebec 0% 8.33%, #f9d3d6 8.33% 100%);
}
.flowScheduleTime[data-hour="15:00"]::before {
	background-image: conic-gradient(#fcebec 0% 25%, #f9d3d6 25% 100%);
}
.flowScheduleTime[data-hour="16:00"]::before {
	background-image: conic-gradient(#fcebec 0% 33.33%, #f9d3d6 33.33% 100%);
}
.flowScheduleTime[data-hour="17:00"]::before {
	background-image: conic-gradient(#fcebec 0% 41.67%, #f9d3d6 41.67% 100%);
}
.flowScheduleTime[data-hour="18:00"]::before {
	background-image: conic-gradient(#fcebec 0% 50%, #f9d3d6 50% 100%);
}
.flowScheduleTime[data-hour="19:00"]::before {
	background-image: conic-gradient(#fcebec 0% 58.33%, #f9d3d6 58.33% 100%);
}

.flowScheduleTime span {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 1.4rem;
	font-weight: 700;
	font-family: "Roboto", sans-serif;
	color: #bf3b2b;
	white-space: nowrap;
}

.flowScheduleListText {
	font-size: 1.7rem;
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: calc(26 / 17);
	z-index: 1;
}

.flowScheduleListText .textSm {
	font-size: 1.2rem;
}

/* ENTRY
------------------------------------ */
#entry {
	padding-top: 60px;
	padding-bottom: 120px;
	background-color: #bf3b2b;
}

#entry .sectionTitle,
#entry .sectionTitle::before {
	color: #fff;
}

#entryList {
	display: grid;
	gap: 50px 55px;
	grid-template-columns: repeat(2, 1fr);
}

.entryListItem a {
	height: 100%;
	min-height: 200px;
	padding: 20px 120px 20px 35px;
	position: relative;
	display: flex;
	align-items: center;
	gap: 25px;
	background-color: #fff;
}

.entryListItem a::before {
	content: "";
	width: 70px;
	height: 70px;
	position: absolute;
	top: 50%;
	right: 40px;
	transform: translateY(-50%);
	background: #bf3b2b url(../img/icon_arrwo.svg) no-repeat center center / calc(24 / 70 * 100%);
	border-radius: 50%;
}

.entryListIcon {
	flex-shrink: 0;
	width: 80px;
}

.entryListIcon img {
	width: 100%;
	height: auto;
}

.entryListText {
	font-size: 3.2rem;
	font-weight: 700;
}

/* ------------------------------------ */
/* ホバーエフェクト */
/* ------------------------------------ */
@media screen and (min-width: 1025px) {
	.entryListItem a {
		transition: all 0.3s ease 0s;
	}
	.entryListItem a:hover {
		opacity: 0.8;
	}
}

/* -------------------------------------------------- */
/* PC(調整) */
/* -------------------------------------------------- */
@media screen and (max-width: 1279px) {
	.aboutListTitle {
		font-size: 2.8rem;
	}

	#cultureSlide2 {
		margin-top: 40px;
	}

	.numbersListItem {
		padding: 30px 15px;
	}

	.numbersListTitle {
		margin-bottom: 15px;
		font-size: 2.5rem;
	}

	.numbersListTextList li {
		font-size: 1.8rem;
	}

	#welfareList {
		gap: 16px;
	}

	.welfareListItem {
		width: calc(25% - 16px * 3 / 4);
		font-size: 1.8rem;
	}

	.welfareListItem dd {
		font-size: 1.6rem;
	}

	#entryList {
		gap: 30px;
	}

	.entryListItem a {
		min-height: 160px;
		padding-right: 70px;
		padding-left: 25px;
	}

	.entryListItem a::before {
		width: 50px;
		height: 50px;
		right: 25px;
	}

	.entryListIcon {
		width: 72px;
	}

	.entryListText {
		font-size: 2.8rem;
	}

	.cultureCardIcon img {
		height: 60px;
	}

	.cultureCardNum {
		width: 45px;
		height: 45px;
		right: 15px;
		font-size: 1.5rem;
	}

	.cultureCardTitle {
		font-size: 1.6rem;
	}

	.cultureCardTitle .textLg {
		font-size: 1.8rem;
	}

	.cultureCardTitle .textMd {
		font-size: 1.7rem;
	}

	.cultureCardText {
		font-size: 1.4rem;
	}
}

@media screen and (max-width: 1279px) and (min-width: 1025px) {
	.cultureList {
		gap: 10px;
	}

	.cultureCard {
		padding: 20px 10px;
	}
}

/* -------------------------------------------------- */
/* TAB&SP */
/* -------------------------------------------------- */
@media screen and (max-width: 1024px) {
	.inner {
		padding-right: 30px;
		padding-left: 30px;
	}

	.sectionTitle {
		margin-bottom: 60px;
		font-size: 3.6rem;
	}

	.sectionTitle::before {
		margin-bottom: 5px;
		font-size: 2.4rem;
	}

	.leadText {
		font-size: 2rem;
	}

	#aboutList {
		gap: 100px;
	}

	.aboutListContent {
		width: 62%;
	}

	.aboutListNum {
		font-size: 20rem;
	}

	.aboutListItem:nth-child(odd) .aboutListNum {
		right: -5%;
	}

	.aboutListItem:nth-child(even) .aboutListNum {
		left: -5%;
	}

	.aboutListTitle {
		font-size: 2.5rem;
	}

	.aboutListText {
		margin-top: 15px;
		font-size: 1.6rem;
	}

	.messageText {
		font-size: 1.6rem;
	}

	#cultureSlide1,
	#cultureSlide2 {
		margin-right: calc(50% - 50vw);
		margin-left: calc(50% - 50vw);
	}

	#numbers {
		padding-bottom: calc(100px + 10.823vw);
	}

	#numbersList {
		row-gap: 20px;
	}

	.numbersListTitle {
		font-size: 1.8rem;
	}

	.numbersListTextList {
		gap: 15px;
	}

	.numbersListTextList li {
		padding: 15px 10px;
		gap: 15px;
		font-size: 1.5rem;
	}

	.numbersListTextList li::before {
		width: 30px;
		height: 30px;
		font-size: 1.3rem;
	}

	#welfare {
		padding-top: 60px;
	}

	#welfareList {
		gap: 12px;
	}

	.welfareListItem {
		width: calc(25% - 12px * 3 / 4);
		min-height: 75px;
		padding: 15px 5px;
		font-size: 1.4rem;
	}

	.welfareListItem dd {
		font-size: 1.4rem;
	}

	#flow {
		padding-bottom: calc(80px + 10.823vw);
	}

	.flowBlock + .flowBlock {
		margin-top: 80px;
	}

	.flowTitle {
		font-size: 2.8rem;
	}

	.flowText {
		font-size: 1.6rem;
	}

	.flowSchedule {
		padding: 20px 15px;
		width: 52%;
	}

	.flowScheduleTitle {
		padding-left: 5px;
		font-size: 1.8rem;
	}

	.flowScheduleWrap {
		flex: 1;
	}

	.flowScheduleListItem {
		gap: 10px;
	}

	.flowScheduleTime {
		width: 36px;
		height: 36px;
	}

	.flowScheduleTime span {
		font-size: 1.1rem;
	}

	.flowScheduleListText {
		font-size: 1.4rem;
		line-height: 1.4;
	}

	.flowScheduleListText .textSm {
		font-size: 1.1rem;
	}

	#entryList {
		gap: 20px;
	}

	.entryListItem a {
		min-height: 120px;
		padding-right: 55px;
		padding-left: 20px;
		gap: 15px;
	}

	.entryListItem a::before {
		width: 35px;
		height: 35px;
		right: 15px;
	}

	.entryListIcon {
		width: 50px;
	}

	.entryListText {
		font-size: 2.2rem;
	}


	.numbersListItem.n1 img {
		max-width: 320px;
		width: 80%;
	}
}

/* -------------------------------------------------- */
/* SP(調整) */
/* -------------------------------------------------- */
@media screen and (max-width: 767px) {
	#recruit {
		padding-top: 57px;
	}

	.inner {
		padding-right: 4%;
		padding-left: 4%;
	}

	.sectionTitle {
		margin-bottom: 40px;
		font-size: 2.6rem;
	}

	.sectionTitle::before {
		margin-bottom: 0;
		font-size: 1.8rem;
	}

	#fv {
		padding-top: 0;
	}

	#fvTitle {
		top: 12px;
		left: 12px;
		font-size: 1.3rem;
	}

	#fvBg1 {
		width: 41.05vw;
		top: 4.5%;
	}

	#fvBg2 {
		width: 9.867vw;
		top: 35%;
	}

	#fvBg3 {
		width: 96.021vw;
		top: 71%;
	}

	#fvBg4 {
		width: 53.467vw;
		top: 13%;
	}

	#fvBg5 {
		width: 5.867vw;
		top: 60%;
	}

	#fvImgWrap {
		margin-inline: 0;
	}

	.fvText {
		bottom: -5%;
	}

	@keyframes slideUp {
		from {
			opacity: 0;
			transform: translateY(100px);
		}

		60% {
			opacity: 1;
			transform: translateY(-10px);
		}

		75% {
			transform: translateY(2px);
		}

		90% {
			transform: translateY(-2px);
		}

		to {
			opacity: 1;
			transform: translateY(0);
		}
	}

	#lead {
		padding: 60px 6% calc(60px + 15.733vw);
		background-repeat: repeat-y;
	}

	#lead::after {
		background-size: calc(100% + 2px);
		height: 15.733vw;
		background-image: url(../img/lead_deco_bottom_sp.svg);
	}

	.leadText {
		font-size: 1.6rem;
		line-height: 1.8;
		text-align: left;
	}

	#about {
		padding-top: 40px;
		padding-bottom: 40px;
	}

	#aboutList {
		gap: 80px;
	}

	.aboutListItem,
	.aboutListItem:nth-child(odd) {
		flex-direction: column;
		gap: 20px;
	}

	.aboutListContent {
		width: 100%;
	}

	.aboutListImg {
		width: 100%;
	}

	.aboutListItem:nth-child(odd) .aboutListImg,
	.aboutListItem:nth-child(even) .aboutListImg {
		margin-inline: 0;
	}

	.aboutListNum {
		font-size: 10rem;
		top: -20px;
	}

	.aboutListItem:nth-child(odd) .aboutListNum {
		right: 0;
	}

	.aboutListItem:nth-child(even) .aboutListNum {
		left: auto;
		right: 0;
	}

	.aboutListTitle {
		font-size: 2.1rem;
	}

	.aboutListText {
		margin-top: 10px;
		font-size: 1.5rem;
	}

	#message {
		padding-top: calc(60px + 15.733vw);
		padding-bottom: calc(60px + 15.733vw);
	}

	#message::before,
	#message::after {
		height: 15.733vw;
		background-size: calc(100% + 2px);
	}

	#message::before {
		background-image: url(../img/message_deco_top_sp.svg);
	}

	#message::after {
		background-image: url(../img/message_deco_bottom_sp.svg);
	}

	#messageWrap {
		flex-direction: column;
		gap: 20px;
	}

	#messageContent {
		width: 100%;
	}

	.messageText {
		margin-top: 15px;
		font-size: 1.5rem;
		line-height: 2;
	}

	#messageMovie > iframe {
		min-width: auto !important;
	}

	#culture {
		padding-top: 40px;
		padding-bottom: 40px;
	}

	#cultureSlide2 {
		margin-top: 30px;
	}

	#numbers {
		padding-top: calc(60px + 15.733vw);
		padding-bottom: calc(60px + 15.733vw);
	}

	#numbers::before,
	#numbers::after {
		height: 15.733vw;
		background-size: calc(100% + 2px);
	}

	#numbers::before {
		background-image: url(../img/numbers_deco_top_sp.svg);
	}

	#numbers::after {
		background-image: url(../img/numbers_deco_bottom_sp.svg);
	}

	#numbersList {
		row-gap: 12px;
	}

	.numbersListItem.n1 {
		width: 100%;
	}

	.numbersListItem.n2 {
		width: calc(50% - 6px);
	}
	.numbersListItem.n3 {
		/* width: calc(33.3333% - 8px); */
		width: calc(50% - 6px);
	}
	.numbersListItem.n4 {
		width: calc(50% - 6px);
	}

	.numbersListItem.n4 img {
		max-width: 140px;
		width: 80%;
	}

	.numbersListItem.n5 {
		width: calc(50% - 6px);
	}

	.numbersListItem.n5 img {
		max-width: 140px;
		width: 80%;
	}

	.numbersListItem.n6 {
		width: 100%;
	}
	.numbersListItem.n6 img {
		width: 80%;
		max-width: 360px;
	}
	/* .numbersListItem:nth-child(6) .numbersListImg img {
		transform: translateX(15px);
	} */
	.numbersListItem.n7 {
		width: 100%;
	}
	.numbersListItem.n8 {
		width: calc(50% - 6px);
	}
	.numbersListItem.n9 {
		width: calc(50% - 6px);
	}
	.numbersListItem.n9 img {
		max-width: 200px;
		width: 90%;
	}
	.numbersListItem.n10 {
		width: calc(50% - 6px);
	}
	.numbersListItem.n11 {
		width: calc(50% - 6px);
	}
	.numbersListItem.n12 {
		width: 100%;
	}
	.numbersListItem.n13 {
		width: 100%;
	}
	.numbersListItem.n14 {
		width: calc(50% - 6px);
	}
	.numbersListItem.n15 {
		width: 100%;
	}
	.numbersListItem.n16 {
		width: 100%;
	}
	.numbersListItem.n17 {
		width: 100%;
	}
	.numbersListItem.n18 {
		width: 100%;
	}
	.numbersListItem.n19 {
		width: 100%;
	}

	.numbersListTitle {
		font-size: 1.6rem;
		margin-inline: -15px;
	}

	#welfare {
		padding-top: 40px;
		padding-bottom: 40px;
	}

	.welfareListItem {
		width: calc(50% - 12px * 1 / 2);
		min-height: 60px;
		padding: 10px 5px;
		border-radius: 5px;
	}

	.welfareListItem.full {
		padding: 20px 15px;
	}

	.welfareListItem dt {
		padding-left: 5px;
	}

	#flow {
		padding-top: calc(60px + 15.733vw);
		padding-bottom: calc(60px + 15.733vw);
	}

	#flow::before,
	#flow::after {
		height: 15.733vw;
		background-size: calc(100% + 2px);
	}

	#flow::before {
		background-image: url(../img/flow_deco_top_sp.svg);
	}

	#flow::after {
		background-image: url(../img/flow_deco_bottom_sp.svg);
	}

	.flowBlock + .flowBlock {
		margin-top: 40px;
	}

	.flowTitle {
		font-size: 2.2rem;
		padding-bottom: 10px;
		border-width: 3px;
	}

	.flowRow {
		margin-top: 20px;
		flex-direction: column;
		gap: 20px;
	}

	.flowText {
		margin-top: 15px;
		font-size: 1.5rem;
	}

	.flowSchedule {
		width: 100%;
		padding: 20px;
	}

	#entry {
		padding-top: 40px;
		padding-bottom: 60px;
	}

	#entryList {
		grid-template-columns: auto;
		gap: 15px;
	}

	.entryListItem a {
		min-height: auto;
	}

	.entryListText {
		font-size: 2rem;
	}
}

@media screen and (max-width: 374px) {
	html {
		font-size: 2.667vw;
	}
}


.cm-sec-exhb {
	 background: #f2f2f2;
	 padding: 98px 0 98px;
	 margin-bottom: 96px;
}
.cm-sec-exhb .inner {
	width: auto;
	margin: 0;
	padding: 0;
}
 .cm-sec-exhb .block-desc01 {
	 font-size: 18px;
	 font-size: 1.8rem;
	 line-height: 31px;
	 line-height: 1.7222222222em;
	 letter-spacing: 0.05em;
	 margin-bottom: 30px;
}
 .cm-sec-exhb .block-btn {
	 max-width: 302px;
}
 .cm-sec-exhb .block-btn .is-top {
	 display: none;
}
 .cm-sec-exhb .block-btn .cm-btn02 {
	 background: #c13924;
	 border: 1px solid #c13924;
	 max-width: 100%;
}
 @media (min-width: 768px) {
	 .cm-sec-exhb .block {
		 display: -webkit-box;
		 display: -moz-box;
		 display: -ms-flexbox;
		 display: -webkit-flex;
		 display: flex;
		 -webkit-flex-wrap: wrap;
		 -moz-flex-wrap: wrap;
		 -ms-flex-wrap: wrap;
		 flex-wrap: wrap;
		 align-items: center;
	}
	 .cm-sec-exhb .block-left {
		 width: 354px;
		 padding: 5px 20px 0 0;
	}
	 .cm-sec-exhb .block-right {
		 width: calc(100% - 354px);
	}
}
 .cm-sec-exhb .list-exhb .item .img-wire {
	 position: relative;
}
 .cm-sec-exhb .list-exhb .item .img-wire:before {
	 display: block;
	 content: " ";
	 width: 100%;
	 padding-top: 80.2521008403%;
}
 .cm-sec-exhb .list-exhb .item .img-wire > .content {
	 position: absolute;
	 top: 0;
	 left: 0;
	 right: 0;
	 bottom: 0;
}
 .cm-sec-exhb .list-exhb .item-info {
	 padding: 42px 41px 50px;
	 position: relative;
}
 .cm-sec-exhb .list-exhb .item-info:after {
	 position: absolute;
	 content: "";
	 right: 24px;
	 top: 50%;
	 margin-top: -10px;
	 width: 19px;
	 height: 10px;
	 background: url('/wp/wp-content/themes/wp-templ/assets/img/common/icon/icn_arr01.svg') no-repeat center center;
	 background-size: 100% 100%;
	 transition: all 0.3s;
}
 .cm-sec-exhb .list-exhb .item-ttl {
	 font-size: 16px;
	 font-size: 1.6rem;
	 line-height: 27px;
	 line-height: 1.6875em;
	 letter-spacing: 0.05em;
}
 .cm-sec-exhb .list-exhb .item a {
	 display: block;
	 position: relative;
	 background: #fff;
	 height: 100%;
}
 @media (min-width: 768px) {
	 .cm-sec-exhb .list-exhb .item a {
		 border: 1px solid #e3e3e3;
	}
}
 .cm-sec-exhb .list-exhb .item a:hover .item-info:after {
	 right: 20px;
}
 @media (min-width: 768px) {
	 .cm-sec-exhb .list-exhb {
		 display: -webkit-box;
		 display: -moz-box;
		 display: -ms-flexbox;
		 display: -webkit-flex;
		 display: flex;
		 -webkit-flex-wrap: wrap;
		 -moz-flex-wrap: wrap;
		 -ms-flex-wrap: wrap;
		 flex-wrap: wrap;
	}
	 .cm-sec-exhb .list-exhb .item {
		 width: 32%;
		 margin: 0 2% 0 0;
	}
	 .cm-sec-exhb .list-exhb .item:nth-child(3n) {
		 margin-right: 0;
	}
}
 @media (max-width: 767px) {
	 .cm-sec-exhb {
		 padding: 42px 0 47px;
		 margin-bottom: 39px;
	}
	 .cm-sec-exhb .cm-ttl02 {
		 margin-bottom: 11px;
		 text-align: center;
	}
	 .cm-sec-exhb .block-desc01 {
		 font-size: 13px;
		 font-size: 1.3rem;
		 line-height: 21px;
		 line-height: 1.6153846154em;
		 letter-spacing: 0.08em;
		 text-align: center;
		 margin-bottom: 23px;
	}
	 .cm-sec-exhb .block-btn {
		 margin-top: 14px;
		 max-width: 100%;
		 text-align: center;
	}
	 .cm-sec-exhb .block-btn .cm-btn02 {
		 padding: 17px 9px 16px 9px;
	}
	 .cm-sec-exhb .list-exhb .item {
		 margin-bottom: 10px;
	}
	 .cm-sec-exhb .list-exhb .item:last-child {
		 margin-bottom: 0;
	}
	 .cm-sec-exhb .list-exhb .item .img-wire {
		 position: relative;
	}
	 .cm-sec-exhb .list-exhb .item .img-wire:before {
		 display: block;
		 content: " ";
		 width: 100%;
		 padding-top: 80%;
	}
	 .cm-sec-exhb .list-exhb .item .img-wire > .content {
		 position: absolute;
		 top: 0;
		 left: 0;
		 right: 0;
		 bottom: 0;
	}
	 .cm-sec-exhb .list-exhb .item a {
		 display: -webkit-box;
		 display: -moz-box;
		 display: -ms-flexbox;
		 display: -webkit-flex;
		 display: flex;
		 -webkit-flex-wrap: wrap;
		 -moz-flex-wrap: wrap;
		 -ms-flex-wrap: wrap;
		 flex-wrap: wrap;
		 align-items: center;
		 position: relative;
	}
	 .cm-sec-exhb .list-exhb .item a:after {
		 position: absolute;
		 content: "";
		 left: 0;
		 right: 0;
		 top: 0;
		 bottom: 0;
		 border: 1px solid #e3e3e3;
		 z-index: 3;
	}
	 .cm-sec-exhb .list-exhb .item-thumb {
		 width: 48%;
		 position: relative;
		 z-index: 39;
	}
	 .cm-sec-exhb .list-exhb .item-info {
		 width: 52%;
		 padding: 20px 29px 20px;
	}
	 .cm-sec-exhb .list-exhb .item-info:after {
		 right: 20px;
		 margin-top: -6px;
		 width: 13px;
		 height: 7px;
	}
	 .cm-sec-exhb .list-exhb .item-ttl {
		 font-size: 16px;
		 font-size: 1.6rem;
		 line-height: 27px;
		 line-height: 1.6875em;
		 letter-spacing: 0.05em;
	}
}
 