@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* ====================================
	common
==================================== */

.pc_only {
	display: block;
}

.sp_only {
	display: none;
}

.post_content .mb1 {
	margin-bottom: 1rem;
}

@media screen and (max-width: 768px) {
	.pc_only {
		display: none;
	}

	.sp_only {
		display: block;
	}

	.sp_center {
		text-align: center !important;
	}

	.sp_left {
		text-align: left !important;
	}

	.sp_center figure {
		margin: 0 auto !important;
	}
}

/* ====================================
	header
==================================== */

@media (min-width: 960px) {
	.-series .l-header__inner {
		align-items: center;
	}

	.c-smallNavTitle {
		top: 0;
	}
}

.c-gnav {
	gap: 1rem;
}

.l-fixHeader__inner {
	align-items: center;
}

.c-gnav>.menu-item>a {
	flex-direction: row-reverse;
	gap: 0.2rem;
	align-items: flex-start;
}

.c-gnav>.menu-item>a .ttl span {
	font-size: 10px;
	font-weight: bold;
	color: #3597ab;
}

/* .l-fixHeader__inner .ttl span {
	color: #3597ab;
} */

.c-smallNavTitle {
	font-size: 15px;
	opacity: 1;
}

.c-gnav>.menu-item>.sub-menu {
	top: 160%;
}

.c-gnav>.menu-item>a:after {
	bottom: -60%;
}

@media screen and (max-width: 767px) {
	.l-header__inner {
		height: 50px;
	}
}

/* ====================================
	footer
==================================== */

/* フッター上CTA */

.footer-cta_box {
	background: linear-gradient(100deg, #f2a60e, #dde84e);
	border-radius: 160px;
	padding: 3rem 0;
	text-align: center;
	margin-bottom: 5rem;
}

.footer-cta_box .cta_h2 {
	background: none;
	font-size: 100px;
	padding: 0;
	margin-bottom: 0;
	color: #f5feb8;
	letter-spacing: 11px;
	font-weight: 900;
}

.footer-cta_box .cta_h2::before {
	content: none;
}

.footer-cta_box a {
	padding: 1rem 0;
	background: #333333;
	display: block;
	width: 30%;
	margin: 1.5rem auto 0;
	border-radius: 50px;
	color: #ffffff;
}

@media (max-width: 767px) {
	.footer-cta_box {
		margin-bottom: 5rem;
		border-radius: 30px;
	}

	.footer-cta_box .cta_h2 {
		font-size: 40px;
		letter-spacing: 6px;
	}

	.footer-cta_box a {
		width: 60%;
		margin: 1rem auto 0;
		padding: 1rem 0;
	}
}

/* ====================================
	top page
==================================== */

@media (min-width: 600px) {
	.p-mainVisual__slideTitle {
		font-size: 55px;
		margin-bottom: 1rem;
	}

	.p-mainVisual__slideText {
		font-size: 20px;
	}

	.c-mvBtn__btn {
		font-size: 19px;
	}
}

.top #content {
	padding-top: 0;
}

.p-mainVisual__textLayer {
	left: 5%;
	transform: unset;
}

.post_content .top_h2 {
	font-size: 40px;
}

.p-postList.-type-simple {
	color: #ffffff;
}

.top_people figure.wp-block-gallery.has-nested-images figure {
	height: 250px;
}

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

	.page-id-12 #content,
	.page-id-12 .l-content {
		padding-top: 0 !important;
	}

	.post_content .top_h2 {
		font-size: 22px;
	}

	.p-mainVisual__textLayer {
		left: 50%;
		transform: translateX(-50%);
		align-items: center;
	}

	.p-mainVisual__slideTitle {
		text-align: center;
		font-size: 30px;
	}

	.p-mainVisual__slideText {
		text-align: center;
		font-size: 17px;
	}

	.c-mvBtn {
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.c-mvBtn__btn {
		text-align: center;
		font-size: 16px;
	}

	.top_people .wp-block-gallery.wp-block-gallery-1::after {
		display: block;
		content: "";
		width: 45%;
		height: 10px;
	}

	.top_people figure.wp-block-gallery.has-nested-images figure {
		width: 45%;
		height: 150px !important;
	}

	.top_people figure.wp-block-gallery.has-nested-images figure img {
		object-position: center 20%;
	}
}

/* =============================================
	固定ページ共通
 =============================================== */

.post_content .bg_en {
	font-size: 130px;
}

.post_content .page_h2 {
	position: relative;
	color: #333333 !important;
	padding-left: 120px;
	font-size: 40px;
	font-weight: normal;
	margin-top: -385px;
}

.post_content .page_h2::before {
	display: block;
	content: "";
	background: #333333;
	width: 100px;
	height: 2px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
	.post_content .bg_en {
		font-size: 60px;
	}

	.post_content .page_h2 {
		font-size: 25px;
		padding-left: 70px;
		margin-top: -185px;
	}

	.post_content .page_h2::before {
		width: 60px;
		height: 1px;
	}
}

/* =============================================
	会社概要
 =============================================== */

.overview {
	width: 80%;
	margin: 0 auto;
}

.post_content .overview dt:after {
	content: none;
}

.post_content .overview dt {
	padding: 1rem 0 1rem 1rem;
	border-bottom: 1px solid #3597ab;
}

.post_content .overview dd {
	padding: 1rem 0 1rem 1rem;
	border-bottom: 1px solid #cccccc;
}

.post_content .overview dt:nth-child(11),
.post_content .overview dd:last-child {
	border-bottom: none;
}

.post_content .overview iframe {
	width: 100%;
	height: 300px;
	margin: 1rem 0 0;
}

@media screen and (max-width: 767px) {
	.overview {
		width: 100%;
	}

	.post_content .overview dt {
		width: 25%;
	}

	.post_content .overview dd {
		width: 75%;
	}

	.post_content .overview iframe {
		height: 160px;
	}
}

/* =============================================
	グループ会社紹介
 =============================================== */

.organization figure {
	padding: 4rem 5rem;
	background: #ffffff;
}

@media screen and (max-width: 767px) {
	.page-id-27 .post_content .bg_en {
		font-size: 44px;
	}

	.page-id-27 .post_content .page_h2 {
		margin-top: -135px;
		font-size: 22px;
	}

	.organization figure {
		padding: 2rem;
	}

}

/* =============================================
	店舗紹介
 =============================================== */

.branch_box .is-style-clmn-shadow>.swell-block-columns__inner>.swell-block-column {
	background: #F5F8FA;
}

.post_content .branch_box h2 {
	background: #ffffff;
	padding: 0.5rem 0;
}

.loop_slider_voice {
	display: flex;
	overflow: hidden;
	gap: 1.5rem;
	/* 画像間の余白を指定 */
	left: 0;
	width: 100%;

}

.loop_slider_voice .wp-block-group__inner-container,
.loop_slider_voice .swell-block-columns {
	display: contents;
}

.loop_slider_voice .swell-block-columns__inner {
	flex-wrap: nowrap;
	animation: infinity-scroll-left 90s infinite linear;
	/* アニメーションの時間を指定 */
}

.loop_slider_voice .swell-block-column figure {
	width: 300px;
	/* 画像の横幅を指定（パソコン） */
	position: relative;
}

.loop_slider_voice h4 {
	margin: 1rem 0;

}

@media screen and (max-width: 767px) {
	.branch_box .is-style-clmn-shadow>.swell-block-columns__inner>.swell-block-column {
		padding: 2rem 1rem !important;
	}

	.loop_slider .swell-block-column figure {
		width: 200px;
		/* 画像の横幅を指定（スマホ） */
	}
}

/* =============================================
	店舗詳細ページ
 =============================================== */

.branch .bg_en {
	margin-bottom: 0;
}

.post_content .branch h2 {
	margin-top: -100px;
	font-weight: normal;
}

@media screen and (max-width: 767px) {
	.post_content .branch h2 {
		margin-top: -50px;
	}
}

/* =============================================
	サービス紹介
 =============================================== */

.service_box .swell-block-fullWide__inner>.swell-block-columns {
	border-radius: 20px;
	border-left: 5px solid #072150;
	padding: 2rem !important;
	box-shadow: 2px 2px 3px #eee;
}

@media screen and (max-width: 767px) {
	.service_box .swell-block-fullWide__inner>.swell-block-columns {
		border-left: none;
		border-top: 5px solid #072150;
		padding: 2rem 1rem !important;
	}

	.service_box .swell-block-fullWide__inner img {
		height: 200px !important;
	}
}

/* =============================================
	社員寮紹介ページ
 =============================================== */

.post_content .dormitory_box h3 {
	font-size: 25px;
	padding-left: 1rem;
	margin-bottom: 2rem !important;
}

.post_content .dormitory_box h3::before {
	display: block;
	content: "";
	width: 5px;
	height: 110%;
	background: #3597ab;
	position: absolute;
	top: 0;
}

.post_content .dormitory_box h4 {
	margin: 2rem 0 1rem;
	padding-left: 1rem;
	position: relative;
}

.post_content .dormitory_box h4::before {
	display: block;
	content: "";
	width: 10px;
	height: 10px;
	background: #3597ab;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

.post_content .dormitory_box .is-style-clmn-shadow>.swell-block-columns__inner>.swell-block-column:not(:last-child) {
	margin-bottom: 3rem !important;
}

.post_content .dormitory_box .women {
	position: relative;
}

.post_content .dormitory_box .women::before {
	display: block;
	content: "";
	width: 130px;
	height: 130px;
	background: url(/wp-content/uploads/2025/12/icn_woman.png) no-repeat;
	background-size: contain;
	position: absolute;
	top: -10%;
	right: -3%;
}

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

	.post_content .dormitory_box .swell-block-columns {
		margin-bottom: 1rem !important;
	}

	.post_content .dormitory_box h3 {
		font-size: 20px;
		padding-left: 1rem;
		margin-bottom: 2rem !important;
	}

	.post_content .dormitory_box .is-style-clmn-shadow>.swell-block-columns__inner>.swell-block-column {
		padding: 2rem 1.5rem !important;
		border-radius: 10px;
	}

	.post_content .dormitory_box .swell-block-columns[data-valign=bottom]>.swell-block-columns__inner {
		flex-direction: column-reverse;
	}

	.post_content .dormitory_box .women::before {
		width: 90px;
		height: 90px;
		top: -2%;
		right: -1%;
	}
}

/* =============================================
	社員寮詳細ページ
 =============================================== */

.loop_slider {
	display: flex;
	overflow: hidden;
	gap: 1.5rem;
	/* 画像間の余白を指定 */
}

.loop_slider .wp-block-group__inner-container,
.loop_slider .swell-block-columns {
	display: contents;
}

.loop_slider .swell-block-columns__inner {
	flex-wrap: nowrap;
	animation: infinity-scroll-left 25s infinite linear;
	/* アニメーションの時間を指定 */
}

.loop_slider.many .swell-block-columns__inner {
	flex-wrap: nowrap;
	animation: infinity-scroll-left 30s infinite linear;
	/* アニメーションの時間を指定 */
}

.loop_slider .swell-block-column figure {
	width: 500px;
	/* 画像の横幅を指定（パソコン） */
	position: relative;
}

.loop_slider .swell-block-column figure::before {
	padding-top: 65%;
	/* 画像の縦横比を指定 */
	display: block;
	content: "";
}

.loop_slider .swell-block-column figure img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	object-position: center;
}

.dorm_gallery {
	padding: 0 !important;
}

.dorm_overview .is-style-clmn-border>.swell-block-columns__inner>.swell-block-column {
	background: #f5f8fa;
}

.dorm_overview .wp-block-image {
	margin-bottom: 0.5rem;
}

.dorm_overview .wp-block-image img {
	height: 40px;
	object-fit: contain !important;
}

.dorm_overview .overview dd:last-child {
	border-bottom: 1px solid #cccccc;
}

.dorm_overview .overview {
	margin: unset;
}

.dorm_overview .woman {
	position: relative;
}

.dorm_overview .woman::after {
	display: block;
	content: "";
	width: 110px;
	height: 110px;
	background: url(/wp-content/uploads/2025/12/icn_woman.png) no-repeat;
	background-size: contain;
	position: absolute;
	top: 0%;
	right: 10%;
}

@media screen and (max-width: 767px) {
	.loop_slider .swell-block-column figure {
		width: 200px;
		/* 画像の横幅を指定（スマホ） */
	}

	.lum-lightbox-inner img {
		height: auto;
		width: 100%;
	}

	.dorm_overview {
		padding-top: 1rem !important;
	}

	.dorm_overview .woman::after {
		width: 90px;
		height: 90px;
		top: -10%;
		right: 0;
	}
}

@keyframes infinity-scroll-left {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-100%);
	}
}

/* =============================================
	お問い合わせ
 =============================================== */

.contact_form {
	margin-top: 3rem;
	padding: 3rem;
	background: #f5f8fa;
}

.contact_form dl {
	display: flex;
	justify-content: space-between;
	padding: 1rem 0;
}

.contact_form dl dt {
	width: 35%;
	font-weight: normal;
}

.contact_form dl dt .red {
	background: #db3030;
	padding: 0 0.7rem 0.1rem;
	color: #ffffff;
	border-radius: 20px;
	font-size: 12px;
	margin-left: 1rem;
}

.contact_form dl dd {
	width: 65%;
}

.contact_form dl dd input,
.contact_form dl dd textarea {
	width: 100%;
	background: #ffffff;
	border: none;
}

.contact_form .acceptance {
	text-align: center;
	font-size: 14px;
}

.contact_form .acceptance a {
	text-decoration: underline;
}

.contact_form .submit {
	text-align: center;
	margin-top: 2rem;
}

.contact_form .submit input {
	padding: 0.5rem 2rem;
	background: #072150;
	color: #fff;
	border: none;
}

.contact_form .submit .wpcf7-spinner {
	display: none;
}

/* リキャプチャ */
.grecaptcha-badge {
	z-index: 1000;
	bottom: 124px !important;
}

@media screen and (max-width:767px) {
	.contact_form {
		padding: 2rem 1rem;
	}

	.contact_form dl {
		flex-wrap: wrap;
	}

	.contact_form dl dt p {
		margin-bottom: 0.5rem;
	}

	.contact_form dl dt,
	.contact_form dl dd {
		width: 100%;
	}

	/* リキャプチャ */
	.grecaptcha-badge {
		bottom: 100px !important;
	}
}

/* =============================================
	教育キャリアページ
 =============================================== */

.career_box .soon a {
	cursor: default;
}

.career_box .soon a:hover {
	background: unset !important;
	border-color: unset !important;
	color: unset !important;
}

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

	.post_content .career_box .swell-block-columns__inner .sp_img img {
		height: 180px !important;
	}

	.post_content .career_box .page_h2 {
		margin-top: -145px;
		font-size: 20px;
		padding-left: 35px;
	}

	.post_content .career_box .bg_en {
		font-size: 50px;
	}

	.post_content .career_box .page_h2::before {
		width: 30px;
	}

}

/* =============================================
		教育・研修制度 / 資格取得支援ページ
 =============================================== */

.training_box .swell-block-fullWide__inner>.swell-block-columns {
	background: #ffffff;
	box-shadow: 2px 2px 3px #eee;
	padding: 2rem;
}

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

	.training_box .swell-block-fullWide__inner>.swell-block-columns {
		padding: 2rem 1rem;
	}

	.training_box .swell-block-fullWide__inner>.swell-block-columns>.swell-block-columns__inner {
		flex-direction: column-reverse;
	}

	.training_box .swell-block-columns.sp_only .swell-block-columns__inner {
		flex-direction: unset;
	}

	.post_content .training_box .swell-block-columns__inner .sp_img img {
		height: 180px !important;
	}

	.training_box .step_flow {
		padding: 0;
	}

	.training_box .step_flow .swell-block-columns__inner {
		row-gap: 0;
	}

	.training_box h3 .swl-fz {
		font-size: 25px !important;
	}
}

/* =============================================
		キャリアアップモデルページ
 =============================================== */

.career_flow .pc_only {
	margin-bottom: 0;
}