@charset "utf-8";

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

/*　H-01style  ================================================================================= */

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;
}

a {
	color: inherit;
}
a:hover,
a:focus,
a:active {
	color: inherit;
	border: inherit;
}

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}

:root{
  --lightblack: #555;
  --green: #359e69;
  --lightgreen: #edffc2;
  --yellowgreen: #77a82a;
  --yellow: #fff462;
  --lightyellow: #fffbc7;
  --pink: #e880b0;
  --orange: #f08300;
  --lightorange: #e7a238;
  --blue: #38a1db;
  --gunjyo: #32adc6;
  --purple: #a56cef;
}

.text-green {
	color: var(--green);
}
.text-yellow {
	color: var(--yellow);
}
.text-lightyellow {
	color: var(--lightyellow);
}
.text-yellowgreen {
	color: var(--yellowgreen);
}
.text-pink {
	color: var(--pink);
}
.text-orange {
	color: var(--orange);
}
.text-blue {
	color: var(--blue);
}
.text-gunjyo {
	color: var(--gunjyo);
}
.text-lightorange {
	color: var(--lightorange);
}
.text-purple {
	color: var(--purple);
}
.bg-green {
	background-color: var(--green);
}
.bg-yellow {
	background-color: var(--yellow);
}
.bg-lightyellow {
	background-color: var(--lightyellow);
}
.bg-yellowgreen {
	background-color: var(--yellowgreen);
}
.bg-pink {
	background-color: var(--pink);
}
.bg-orange {
	background-color: var(--orange);
}
.bg-blue {
	background-color: var(--blue);
}
.bg-lightgreen {
	background-color: var(--lightgreen)!important;
}
.bg-lightorange {
	background-color: var(--lightorange)!important;
}
.bg-gunjyo {
	background-color: var(--gunjyo);
}
.bg-purple {
	background-color: var(--purple);
}

/* ============= 文字の色 ============ */
/*　ヘッダーの文字の色　*/
#area-header .navbar-brand:hover {
    color: var(--green);
}
#area-header #menu-global .menu-item .nav-link {
    color: var(--lightblack);
}
#area-header #menu-global .menu-item .nav-link {
	position: relative;
	transition: color 0.3s ease;
	display: inline-block;
}
@media (min-width: 992px) {
	#area-header #menu-global .menu-item .nav-link::after {
		content: "";
		position: absolute;
		left: 0;
		bottom: 5px;
		width: 100%;
		height: 2px;
		background-color: var(--green);
		transform: scaleX(0);
		transform-origin: left center;
		transition: transform 0.3s ease;
	}
}
#area-header #menu-global .menu-item.menu-item-24 .nav-link::after {
	display: none;
}
#area-header #menu-global .menu-item .nav-link:hover {
	color: var(--green);
}
#area-header #menu-global .menu-item .nav-link:hover::after {
	transform: scaleX(1);
}


/*　文章の色　*/
p {
	color: var(--lightblack);
	letter-spacing: 1.5px;
}

/* ============ 見出しの色 ============ */
h1,h2,h3,h4,h5 {
	color: var(--lightblack);
}

/* ============ ボタンの色 ============ */
/*　ボタンの中の文字の色　*/
.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;
}


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

       　               色（ネガ)　
       
==================================================== */

/* ========== 背景色(ネガ) =========== */
.bg-nbase {
	background-color: #000;
}

/* ============= 文字の色 ============ */
/*　ヘッダーの文字の色(ネガ)　*/
#area-header.nega #menu-global .menu-item .nav-link {
    color: #fff;
}
/*　文章の文字の色(ネガ)　*/
.nega p {
	color: #fff;	
}

/* ========= 見出しの色(ネガ) ========== */
/*　見出しの色(白色の文字)　*/
.nega h1,.nega h2,.nega h3,.nega h4,.nega h5 {
	color: #fff;
}

/* ========== ボタンの色(ネガ) ========== */
.link-btn1n span {
    color: #000!important;
}

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

/*　ボタンの中の背景の色(ネガ)　*/
.link-btn1n {
	background-color: #fff!important;
}
.link-btn1n:before {
	background-color: #000!important;
  	border: 2px solid #fff!important;
}


/*　ヘッダーお問い合わせボタンの背景の色　*/
.h-01 #area-header #menu-global .btn-contact {
	background-color: #000!important;
}

/*　ヘッダーお問い合わせボタンの文字の色　*/
.h-01 #area-header #menu-global .btn-contact.menu-item a.nav-link {
	color: #fff!important;
}

a.tel-link {
	color: #000!important;
}

a.tel-link a {
	color: #000!important;
}

.nega a.tel-link {
	color: #fff!important;
}

.nega a.tel-link a {
	color: #fff!important;
}


/*  ページナビ  */
.pagination .page-link.active, .active>.page-link {
    background-color: #000;
    border-color: #000;
}
.pagination .page-link {
    border: 1px solid #000;
    color: #000;
}
.pagination .page-link.current {
	color: #fff;
}

/*　文字調整　*/
h2.h2 {
	font-weight: bold;
	font-size: clamp(1.5rem, 1.35rem + 0.75vw, 2.25rem);
	letter-spacing: clamp(0.15rem, 0.08rem + 0.35vw, 0.5rem);
	line-height: clamp(2.188rem, 2rem + 0.94vw, 3.125rem);
}


h4 {
	font-size: calc(1.275rem + 0.3vw);
	line-height: 2rem;
}

.indent-1 {
	padding-left:1em;
	text-indent:-1em;
}

h1,h2,h3,h4,h5,p {
	word-break: break-all;
}

.reveal-img {
	position: relative;
	overflow: hidden;
}
.reveal-img img {
	display: block;
	width: 100%;
	height: auto;
	clip-path: inset(0 100% 0 0);
	transform: scale(1.5);
	transition:
		clip-path 1.0s cubic-bezier(0.76, 0, 0.24, 1),
		transform 1.4s cubic-bezier(0.22, 1, 0.36, 1);
}
.reveal-img.is-show img {
	clip-path: inset(0 0 0 0);
	transform: scale(1);
}


/* 幅 */
/*60px-150px*/
.py-haba01 {
	padding-top: clamp(3.75rem, 2.679rem + 5.36vw, 9.375rem);
	padding-bottom: clamp(3.75rem, 2.679rem + 5.36vw, 9.375rem);
}
.pt-haba01 {
	padding-top: clamp(3.75rem, 2.679rem + 5.36vw, 9.375rem);
}
.pb-haba01 {
	padding-bottom: clamp(3.75rem, 2.679rem + 5.36vw, 9.375rem);
}

/*30px-75px*/
.py-haba02 {
	padding-top: clamp(1.875rem, 1.313rem + 2.81vw, 4.688rem);
	padding-bottom: clamp(1.875rem, 1.313rem + 2.81vw, 4.688rem);
}
.pt-haba02 {
	padding-top: clamp(1.875rem, 1.313rem + 2.81vw, 4.688rem);
}
.pb-haba02 {
	padding-bottom: clamp(1.875rem, 1.313rem + 2.81vw, 4.688rem);
}

/*90px-180px*/
.py-haba03 {
	padding-top: clamp(5.625rem, 4.5rem + 5.63vw, 11.25rem);
	padding-bottom: clamp(5.625rem, 4.5rem + 5.63vw, 11.25rem);
}
.pt-haba03 {
	padding-top: clamp(5.625rem, 4.5rem + 5.63vw, 11.25rem);
}
.pb-haba03 {
	padding-bottom: clamp(5.625rem, 4.5rem + 5.63vw, 11.25rem);
}


.mt-haba01 {
	margin-top: clamp(3.75rem, 2.679rem + 5.36vw, 9.375rem);
}

.mt-30-90 {
	margin-top: clamp(1.875rem, 1.125rem + 3.75vw, 5.625rem);
}

.py-haba02 {
    padding-top: clamp(1.87rem, 1.3395rem + 2.68vw, 4.8675rem);
    padding-bottom: clamp(1.87rem, 1.3395rem + 2.68vw, 4.8675rem);
}

.py-haba03 {
	padding-top: clamp(6.25rem, 4.375rem + 9.38vw, 15.625rem);
	padding-bottom: clamp(6.25rem, 4.375rem + 9.38vw, 15.625rem);
}
.pt-haba03 {
	padding-top: clamp(6.25rem, 4.375rem + 9.38vw, 15.625rem);
}
.pb-haba03 {
	padding-bottom: clamp(6.25rem, 4.375rem + 9.38vw, 15.625rem);
}

.h-01 #area-header.navbar {
	padding: 16px;
}
#home #area-header.navbar,
#contact #area-header.navbar {
	background-color: #fff;
}

#area-header.scroll.navbar {
    background-color: #fff;
}

.h-01 #area-header .navbar-brand {
	position: relative;
    z-index: 101;
	width: auto;
	margin-right: 20px;
}

.h-01 #area-header .navbar-brand:hover {
	color: var(--green);
}

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

.h-01 #area-header #menu-global .menu-item {
	position: relative;
	margin: 0;
	background-color: transparent;
}

.h-01 #area-header #menu-global .menu-item > .nav-link {
	position: relative;
	display: inline-block;
	color: var(--lightblack);
	text-decoration: none;
	transition: color 0.3s ease;
}

.h-01 #area-header #menu-global .menu-item > .nav-link:hover {
	color: var(--green);
}

.h-01 #area-header .openbtn {
	position: relative;
	width: 50px;
	height: 50px;
	cursor: pointer;
	border-radius: 5px;
}

.h-01 #area-header .openbtn span {
	position: absolute;
	left: 14px;
	display: inline-block;
	width: 55%;
	height: 4px;
	border-radius: 10px;
	background: var(--green);
	transition:
		transform 0.45s cubic-bezier(0.68, -0.6, 0.32, 1.6),
		opacity 0.25s ease,
		background-color 0.3s ease;
}

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

.h-01 #area-header .openbtn span:nth-of-type(2) {
	top: 23px;
}

.h-01 #area-header .openbtn span:nth-of-type(3) {
	top: 31px;
}

.h-01 #area-header .openbtn.active span:nth-of-type(1) {
	transform: translateY(8px) rotate(-315deg);
}

.h-01 #area-header .openbtn.active span:nth-of-type(2) {
	opacity: 0;
	transform: scaleX(0);
}

.h-01 #area-header .openbtn.active span:nth-of-type(3) {
	transform: translateY(-8px) rotate(315deg);
}

#area-header #menu-global .menu-item-24 {
	display: flex;
	justify-content: center;
}

#area-header #menu-global .menu-item-24 .nav-link {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 12px 40px;
	color: #fff !important;
	font-size: 20px;
	font-weight: 700;
	text-decoration: none;
	background-color: #50ad7b;
	border-radius: 50px;
	box-shadow: 0 8px 0 #288452;
	transition:
		transform 0.2s ease,
		box-shadow 0.2s ease,
		background-color 0.2s ease;
}

#area-header #menu-global .menu-item-24 .nav-link::before {
	content: "";
	display: block;
	width: 42px;
	height: 36px;
	flex-shrink: 0;
	background-image: url("img/SVG/mail-icon.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

#area-header #menu-global .menu-item-24 .nav-link:hover {
	color: #fff !important;
	background-color: #59b985;
	transform: translateY(4px);
	box-shadow: 0 4px 0 #288452;
}

@media (min-width: 992px) {
	#area-header #menu-global .menu-item .nav-link {
        font-size: 14px;
        padding-left: 0;
        padding-right: 0;
    }
    #area-header #menu-global .menu-item {
    	margin-left: 30px!important;
    }

	.h-01 #area-header.navbar {
		padding: 24px;
	}

	.h-01 #area-header #navbarNav {
		justify-content: flex-end;
	}

	.h-01 #area-header #menu-global {
		display: flex;
		align-items: center;
	}

	.h-01 #area-header #menu-global > .menu-item > .nav-link {
		position: relative;
		display: inline-block;
		width: auto;
		text-decoration: none;
		background-image: linear-gradient(var(--green), var(--green));
		background-repeat: no-repeat;
		background-position: left bottom 4px;
		background-size: 0 2px;
		transition:
			color 0.3s ease,
			background-size 0.3s ease;
	}

	.h-01 #area-header #menu-global > .menu-item > .nav-link:hover {
		color: var(--green);
		background-size: 100% 2px;
	}

	.h-01 #area-header #menu-global > li.dropdown > .nav-link {
		padding-right: 20px;
	}

	.h-01 #area-header #menu-global > li.dropdown li {
    	margin-left: 0px!important;
    }

	.h-01 #area-header #menu-global > li.dropdown > .nav-link:hover {
		background-size: calc(100% - 20px) 2px;
	}

	.h-01 #area-header #menu-global > li.dropdown > .nav-link::before {
		content: "▼";
		position: absolute;
		top: 50%;
		right: -10px;
		transform: translateY(-50%);
		color: var(--green);
		font-size: 9px;
		line-height: 1;
	}

	.h-01 #area-header #menu-global > .menu-item > .nav-link::after {
		display: none;
	}

	.h-01 #area-header #menu-global .menu-item-24 {
		margin-left: 20px;
	}

	.h-01 #area-header #menu-global .menu-item-24 .nav-link {
		margin-top: 0;
		padding-right: 30px;
		padding-left: 30px;
		background-image: none;
	}

	.h-01 #area-header #menu-global .menu-item-24 .nav-link:hover {
		background-image: none;
	}

	.h-01 #area-header #menu-global .menu-item-24 .nav-link::after {
		display: none;
	}

	.h-01 #area-header #navbarNav li.dropdown > .dropdown-menu {
		position: absolute;
		top: 100%;
		left: 0;
		z-index: 10;
		display: block;
		width: max-content;
		min-width: 200px;
		margin: 0;
		padding: 0;
		background-color: #fff;
		border: 2px solid var(--green);
		border-radius: 0;
		visibility: hidden;
		opacity: 0;
		transition:
			opacity 0.3s ease,
			visibility 0.3s ease;
	}

	.h-01 #area-header #navbarNav li.dropdown:hover > .dropdown-menu {
		visibility: visible;
		opacity: 1;
	}

	.h-01 #area-header #navbarNav li.dropdown > .dropdown-menu li {
		width: 100%;
		margin: 0;
	}

	.h-01 #area-header #navbarNav li.dropdown > .dropdown-menu li a {
		display: block;
		width: 100%;
		padding: 20px;
		color: var(--lightblack) !important;
		background-color: transparent;
		background-image: none;
	}

	.h-01 #area-header #navbarNav li.dropdown > .dropdown-menu li a::before,
	.h-01 #area-header #navbarNav li.dropdown > .dropdown-menu li a::after {
		display: none;
	}

	.h-01 #area-header #navbarNav li.dropdown > .dropdown-menu li a:hover {
		color: #fff !important;
		background-color: var(--green);
		background-image: none;
	}
}

@media (min-width: 1200px) {
	.h-01 #area-header #menu-global .menu-item > .nav-link {
		font-size: 18px;
	}
	.h-01 #area-header #menu-global .menu-item {
		margin-left: 40px!important;
	}

	.h-01 #area-header #menu-global .menu-item-24 .nav-link {
		padding-right: 40px;
		padding-left: 40px;
	}
}

@media (max-width: 991.98px) {
	.h-01 #area-header .hamburger {
		position: relative;
		z-index: 101;
		margin-left: auto;
	}

	.h-01 #area-header #navbarNav.globalMenuSp {
		position: fixed;
		z-index: 100;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		height: 100dvh;
		padding: 90px 20px 30px;
		background-color: var(--yellow);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.h-01 #area-header #navbarNav.globalMenuSp.collapsing {
		transition: none;
	}

	.h-01 #area-header #menu-global {
		display: block;
        width: 100%;
        margin: auto;
        padding: 0;
        max-width: 450px;
	}

	.h-01 #area-header #menu-global > .menu-item {
		width: 100%;
		margin: 0;
		text-align: left;
		border-bottom: 1px solid var(--green);
		background-color: transparent;
	}

	.h-01 #area-header #menu-global > .menu-item > .nav-link {
		position: relative;
		padding-left: 20px;
		display: block;
		width: 100%;
		padding: 20px 0 20px 20px;
		color: var(--lightblack) !important;
		font-size: 18px;
		font-weight: 500;
		text-align: left;
		background-color: transparent;
	}
	.h-01 #area-header #menu-global > .menu-item:not(.menu-item-24):not(.menu-palm-btn):not(.menu-cosmos-btn) > .nav-link::before {
		content: "▶";
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		color: var(--green);
		font-size: 10px;
		line-height: 1;
	}

	.h-01 #area-header #menu-global .menu-item.menu-item-24 .nav-link {
		display: block;
		width: 100%;
		padding: 15px 0;
		color: #fff!important;
		background-color: var(--green)!important;
		font-size: 18px;
		font-weight: 500;
		text-align: left;
		background-color: transparent;
	}

	.h-01 #area-header #menu-global .menu-item > .nav-link:hover {
	    color: var(--green);
	    border-bottom: 0;
	}

	.h-01 #area-header #navbarNav li.dropdown > .dropdown-menu {
		position: static;
		display: block !important;
		width: 100%;
		margin: 0;
		padding: 0 0 12px 18px;
		background-color: transparent;
		border: 0;
		border-radius: 0;
		visibility: visible;
		opacity: 1;
		box-shadow: none;
		transform: none;
	}

	.h-01 #area-header #navbarNav li.dropdown > .dropdown-menu li {
		width: 100%;
		margin: 0;
		padding: 0;
		border: 0;
		background-color: transparent;
	}

	.h-01 #area-header #navbarNav li.dropdown > .dropdown-menu li a {
		display: block;
		width: 100%;
		padding: 10px 0;
		color: var(--lightblack) !important;
		font-size: 15px;
		font-weight: 400;
		text-align: left;
		background-color: transparent !important;
	}

	.h-01 #area-header #navbarNav li.dropdown > .dropdown-menu li a:hover {
		color: var(--green) !important;
		background-color: transparent !important;
	}

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

	.h-01 #area-header #menu-global .menu-item-24 {
		width: 100%;
		margin: 35px 0 0;
		border-bottom: 0;
	}

	.h-01 #area-header #menu-global .menu-item-24 .nav-link {
		width: 100%;
		padding: 12px 30px;
		font-size: 18px;
		text-align: center;
	}

	.h-01 .header_btn01,
	.h-01 .header_btn02,
	.h-01 .header_btn03 {
		display: none;
	}
}

/* パーム保育園・パームコスモス保育園 共通 */
.h-01 #area-header #menu-global .menu-palm-btn > .nav-link,
.h-01 #area-header #menu-global .menu-cosmos-btn > .nav-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 18px;
	border-radius: 50px;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
	white-space: nowrap;
	transition: opacity 0.3s ease, transform 0.3s ease;
}

.h-01 #area-header #menu-global .menu-palm-btn > .nav-link {
	background-color: var(--lightorange, #e7a238);
}
.h-01 #area-header #menu-global .menu-cosmos-btn > .nav-link {
	background-color: var(--pink, #e880b0);
}
.h-01 #area-header #menu-global .menu-palm-btn > .nav-link:hover,
.h-01 #area-header #menu-global .menu-cosmos-btn > .nav-link:hover {
	color: #fff;
	opacity: 0.85;
	transform: translateY(-2px);
}
/* ========================================
   法人ヘッダー 保育園ボタン調整
======================================== */

/* PC */
@media (min-width: 992px) {

	/* ナビゲーションの折り返し防止 */
	.h-01 #area-header #menu-global {
		flex-wrap: nowrap;
		align-items: center;
	}

	.h-01 #area-header #menu-global .menu-item > .nav-link {
		white-space: nowrap;
	}

	/* 通常メニュー */
	.h-01 #area-header #menu-global .menu-item:not(.menu-palm-btn):not(.menu-cosmos-btn) > .nav-link {
		font-size: clamp(14px, 1.1vw, 16px);
		padding-left: 8px;
		padding-right: 8px;
	}

	/* 保育園ボタン */
	.h-01 #area-header #menu-global .menu-palm-btn > .nav-link,
	.h-01 #area-header #menu-global .menu-cosmos-btn > .nav-link {
		font-size: clamp(10px, 0.8vw, 13px);
		padding: 10px 12px;
		white-space: nowrap;
	}

	/* ロゴ */
	.h-01 #area-header .navbar-brand {
		font-size: clamp(13px, 1.2vw, 22px) !important;
		margin-right: 12px;
		white-space: nowrap;
	}

}



.h-01 #area-header #menu-global .menu-palm-btn > .nav-link,
.h-01 #area-header #menu-global .menu-cosmos-btn > .nav-link {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 18px;
	color: #fff !important;
	font-size: inherit;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
	white-space: nowrap;
	border-radius: 100px;
	text-decoration: none;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.h-01 #area-header #menu-global .menu-palm-btn > .nav-link {
	background-color: #77a82a;
	box-shadow: 0 8px 0 #567c1d;
}

.h-01 #area-header #menu-global .menu-cosmos-btn > .nav-link {
	background-color: #e880b0;
	box-shadow: 0 8px 0 #c45a8a;
}

.h-01 #area-header #menu-global .menu-palm-btn > .nav-link:hover,
.h-01 #area-header #menu-global .menu-cosmos-btn > .nav-link:hover {
	color: #fff !important;
	opacity: 1;
	transform: translateY(5px);
	box-shadow: 0 3px 0 rgba(0, 0, 0, 0.2);
}

.h-01 #area-header #menu-global .menu-palm-btn > .nav-link::before,
.h-01 #area-header #menu-global .menu-cosmos-btn > .nav-link::before {
	content: "";
	display: block;
	position: static;
	flex-shrink: 0;
	width: 28px;
	height: 28px;
	margin: 0;
	background-image: url("img/icon-hoikuen.webp");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	transform: none;
}

@media (min-width: 992px) {
	.h-01 #area-header.navbar {
		padding: 12px;
	}

	.h-01 #area-header .navbar-brand {
		font-size: clamp(12px, 2vw, 20px) !important;
		margin-right: 8px;
	}

	.h-01 #area-header #menu-global .menu-item {
		margin-left: 20px !important;
	}

	.h-01 #area-header #menu-global .menu-palm-btn,
	.h-01 #area-header #menu-global .menu-cosmos-btn {
		margin-left: 8px !important;
	}
	.h-01 #area-header #menu-global .menu-item-24 {
		margin-left: 20px !important;
	}

	.h-01 #area-header #menu-global .menu-item:not(.menu-item-24):not(.menu-palm-btn):not(.menu-cosmos-btn) > .nav-link {
		font-size: clamp(14px, 1.1vw, 16px);
		padding-left: 0;
		padding-right: 0;
	}

	.h-01 #area-header #menu-global .dropdown-menu .nav-link {
		padding-left: 10px!important;
		padding-right: 10px!important;
	}

	.h-01 #area-header #menu-global .menu-item-24 > .nav-link,
	.h-01 #area-header #menu-global .menu-palm-btn > .nav-link,
	.h-01 #area-header #menu-global .menu-cosmos-btn > .nav-link {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 140px;
		height: 50px;
		padding: 12px;
		text-align: center;
		font-size: clamp(14px, 1.1vw, 16px);
		line-height: 1.2;
	}
	@media (min-width: 992px) and (max-width: 1200px) {
		.h-01 #area-header #menu-global .menu-item-24 > .nav-link,
		.h-01 #area-header #menu-global .menu-palm-btn > .nav-link,
		.h-01 #area-header #menu-global .menu-cosmos-btn > .nav-link {
			width: 115px;
		}
	}

	.h-01 #area-header #menu-global .menu-item-24 > .nav-link::before {
		width: 24px;
		height: 24px;
		margin-right: 0;
	}

	.h-01 #area-header #menu-global .menu-palm-btn > .nav-link::before,
	.h-01 #area-header #menu-global .menu-cosmos-btn > .nav-link::before {
		display: none;
	}

	.h-01 #area-header #menu-global .menu-palm-btn .nav-link:hover,
	.h-01 #area-header #menu-global .menu-cosmos-btn .nav-link:hover {
        background-size: 0;
	}
}
@media (min-width: 1200px) {
	.h-01 #area-header #menu-global .menu-item {
		margin-left: 30px !important;
	}
	.h-01 #area-header #menu-global .menu-palm-btn,
	.h-01 #area-header #menu-global .menu-cosmos-btn {
		margin-left: 8px !important;
	}
	.h-01 #area-header #menu-global .menu-item-24 {
		margin-left: 30px !important;
	}
}
@media (min-width: 1400px) {
	.h-01 #area-header .navbar-brand {
		font-size: 24px!important;
	}
}

@media (max-width: 991.98px) {
	.h-01 #area-header #menu-global .menu-palm-btn > .nav-link,
	.h-01 #area-header #menu-global .menu-cosmos-btn > .nav-link {
		width: 100%;
		min-height: 56px;
		padding: 12px 16px;
		gap: 10px;
		color: #fff !important;
		font-size: inherit;
	}

	.h-01 #area-header #menu-global .menu-palm-btn > .nav-link::before,
	.h-01 #area-header #menu-global .menu-cosmos-btn > .nav-link::before {
		width: 50px;
		height: 38px;
	}

	.h-01 #area-header #menu-global .menu-palm-btn,
	.h-01 #area-header #menu-global .menu-cosmos-btn {
		margin-top: 20px;
	}

	.h-01 #area-header #menu-global > .menu-item.menu-palm-btn,
	.h-01 #area-header #menu-global > .menu-item.menu-cosmos-btn {
		border-bottom: 0;
	}
}


/* =================================================================================　H-01style  */

/*　フロントページ  ================================================================================= */

/* ファーストビュー */
.fv {
	position: relative;
	width: 100%;
	height: calc(100svh - 80px);
	margin-top: 80px;
	min-height: 580px;
	overflow: hidden;
	background-color: #469ded;
}

.fv::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;

	background-image: url(img/fv-bg-sp.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;

	transform-origin: center center;

	animation:
		fvBgIn 3.4s cubic-bezier(0.22, 1, 0.36, 1) forwards,
		fvBgFloat 12s ease-in-out 3.4s infinite alternate;
}

@keyframes fvBgIn {
	0% {
		opacity: 0;
		transform: scale(1.08);
	}

	100% {
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes fvBgFloat {
	0% {
		transform: scale(1);
	}

	100% {
		transform: scale(1.015);
	}
}

.fv-inner {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
}

.fv-text {
	position: absolute;
	z-index: 3;
	top: 6%;
	left: 8%;
	width: 84%;
}

.fv-title {
	position: static;
	width: min(80vw, 600px);
	margin: 0;
	opacity: 0;
	transform: translateY(35px) scale(0.96);
	animation: fvTitleIn 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.15s forwards;
}

.fv-title img {
	display: block;
	width: 100%;
	height: auto;
}

.fv-copy {
	position: static;
	width: 100%;
	margin-top: 30px;
}

.fv-tags {
	display: flex;
	align-items: center;
	gap: 5px;
}

.fv-tags span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	padding: 7px 16px;
	border-radius: 10px;
	color: #35a7e8;
	font-size: clamp(16px, 4.5vw, 22px);
	font-weight: 700;
	line-height: 1;
	opacity: 0;
	transform: translateY(20px) scale(0.8);
}

.fv-tags span:nth-of-type(1) {
	animation: fvTagIn 0.55s cubic-bezier(0.34, 1.56, 0.64, 1) 0.85s forwards;
}

.fv-tags span:nth-of-type(2) {
	animation: fvTagIn 0.55s cubic-bezier(0.34, 1.56, 0.64, 1) 1s forwards;
}

.fv-tags span:nth-of-type(3) {
	animation: fvTagIn 0.55s cubic-bezier(0.34, 1.56, 0.64, 1) 1.15s forwards;
}

.fv-tags .pink {
	background-color: #ffd5df;
}

.fv-tags .green {
	background-color: #e7ffae;
}

.fv-tags .yellow {
	background-color: #fff39c;
}

.fv-tags em {
	color: #fff;
	font-size: clamp(15px, 4vw, 20px);
	font-style: normal;
	font-weight: 700;
	white-space: nowrap;
	opacity: 0;
	transform: translateY(20px) scale(0.8);
	animation: fvTagIn 0.55s cubic-bezier(0.34, 1.56, 0.64, 1) 1.3s forwards;
}

.fv-sub {
	width: 100%;
	margin: 8px 0 0;
	color: #fff;
	font-size: clamp(14px, 4vw, 22px);
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.05em;
	opacity: 0;
	transform: translateY(20px);
	animation: fvSubIn 0.7s cubic-bezier(0.22, 1, 0.36, 1) 1.45s forwards;
}

.fv-kids {
	position: absolute;
	z-index: 2;
	right: -3%;
	bottom: 10%;
	width: 92%;
	opacity: 0;
	transform: translate(100px, 70px) rotate(2deg) scale(1.06);
	animation: fvKidsIn 1.3s cubic-bezier(0.16, 1, 0.3, 1) 0.4s forwards;
}

.fv-kids img {
	display: block;
	width: 100%;
	height: auto;
}

.fv-scroll {
	position: absolute;
	z-index: 5;
	left: 50%;
	bottom: 5%;
	display: flex;
	flex-direction: column;
	align-items: center;
	color: #555;
	text-decoration: none;
	transform: translateX(-50%);
	opacity: 0;
	animation: fvScrollIn 0.7s ease 2s forwards;
}

.fv-scroll:hover {
	color: #555;
}

.fv-scroll-mouse {
	position: relative;
	display: block;
	width: 17px;
	height: 30px;
	margin-bottom: 6px;
	background-color: #fff;
	border: 2px solid #555;
	border-radius: 10px;
}

.fv-scroll-mouse::before {
	content: "";
	position: absolute;
	top: 5px;
	left: 50%;
	width: 2px;
	height: 6px;
	background-color: #555;
	transform: translateX(-50%);
	animation: mouseWheel 1.6s ease-in-out infinite;
}

.fv-scroll-text {
	font-size: 15px;
	font-style: italic;
	font-weight: 700;
	line-height: 1;
}

.fv-scroll-arrow {
	display: flex;
	flex-direction: column;
	margin-top: 8px;
	animation: scrollArrow 1.5s ease-in-out infinite;
}

.fv-scroll-arrow i {
	display: block;
	width: 10px;
	height: 10px;
	margin-top: -2px;
	border-right: 3px solid #555;
	border-bottom: 3px solid #555;
	transform: rotate(45deg);
}

@keyframes fvTitleIn {
	0% {
		opacity: 0;
		transform: translateY(35px) scale(0.96);
	}

	70% {
		opacity: 1;
		transform: translateY(-3px) scale(1.01);
	}

	100% {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

@keyframes fvTagIn {
	0% {
		opacity: 0;
		transform: translateY(20px) scale(0.8);
	}

	70% {
		opacity: 1;
		transform: translateY(-5px) scale(1.07);
	}

	100% {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

@keyframes fvSubIn {
	0% {
		opacity: 0;
		transform: translateY(20px);
	}

	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes fvKidsIn {
	0% {
		opacity: 0;
		transform: translate(100px, 70px) rotate(2deg) scale(1.06);
	}

	70% {
		opacity: 1;
		transform: translate(-8px, -3px) rotate(-0.5deg) scale(0.995);
	}

	100% {
		opacity: 1;
		transform: translate(0, 0) rotate(0) scale(1);
	}
}

@keyframes fvScrollIn {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

@keyframes mouseWheel {
	0% {
		opacity: 0;
		transform: translate(-50%, 0);
	}

	30% {
		opacity: 1;
	}

	100% {
		opacity: 0;
		transform: translate(-50%, 9px);
	}
}

@keyframes scrollArrow {
	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(8px);
	}
}

@media (max-width: 599px) {
	.fv-title {
		width: 85%;
	}
}

@media (min-width: 600px) and (max-width: 767px) {
	.fv-text {
		top: 10%;
		left: 10%;
		width: 80%;
	}

	.fv-title {
		width: 80%;
	}

	.fv-copy {
		margin-top: 20px;
	}

	.fv-tags span {
		padding: 6px 14px;
		font-size: 18px;
	}

	.fv-tags em {
		font-size: 17px;
	}

	.fv-sub {
		margin-top: 7px;
		font-size: 17px;
		line-height: 1.5;
	}

	.fv-kids {
		right: 0;
		bottom: 8%;
		width: 88%;
	}
}

@media (min-width: 768px) {
	.fv {
		min-height: 650px;
	}

	.fv::before {
		background-image: url(img/fv-bg-tyu.jpg);
		background-position: right bottom;
		background-size: 100% auto;
		transform-origin: right bottom;
	}

	.fv-text {
		top: 10%;
		left: 10%;
		width: min(80vw, 1050px);
	}

	.fv-title {
		width: 100%;
	}

	.fv-copy {
		width: auto;
		margin-top: 5%;
	}

	.fv-tags {
		gap: 6px;
	}

	.fv-tags span {
		min-width: 100px;
		padding: 6px 18px;
		font-size: 26px;
	}

	.fv-tags em {
		font-size: 20px;
	}

	.fv-sub {
		width: auto;
		margin-top: 10px;
		font-size: 24px;
		line-height: 1.5;
	}

	.fv-kids {
		right: 3%;
		bottom: 0;
		width: min(59vw, 950px);
	}

	.fv-scroll {
		left: 5%;
		bottom: 20%;
		transform: none;
	}
}

@media (min-width: 992px) {
	.fv {
		background-position: right bottom;
	}

	.fv-scroll {
		left: 50%;
		bottom: 5%;
	}

	.fv::before {
		background-image: url(img/fv-bg-pc.jpg);
	}
}

@media (min-width: 1300px) {
	.fv-scroll {
		left: 10%;
		bottom: 20%;
	}
}

@media (min-width: 1400px) {
	.fv-text {
		top: 10%;
		left: 8%;
		width: min(80vw, 1200px);
	}

	.fv-tags span {
		font-size: 30px;
	}

	.fv-sub {
		margin-top: 7px;
		font-size: 28px;
	}

	.fv-scroll {
		left: 20%;
		bottom: 20%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.fv-title,
	.fv-tags span,
	.fv-tags em,
	.fv-sub,
	.fv-kids,
	.fv-scroll {
		opacity: 1;
		transform: none;
		animation: none;
	}

	.fv-scroll {
		transform: translateX(-50%);
	}

	.fv-scroll-mouse::before,
	.fv-scroll-arrow {
		animation: none;
	}
}

@media (min-width: 768px) and (prefers-reduced-motion: reduce) {
	.fv-scroll {
		transform: none;
	}
}


.sec {
	position: relative;
	padding-top: clamp(3.75rem, 2.679rem + 5.36vw, 9.375rem);
	padding-bottom: clamp(3.75rem, 2.679rem + 5.36vw, 9.375rem);
}

.container {
	width: min(92%, 1200px);
	margin: auto;
}

.sec-en {
	font-family: "Alfa Slab One", serif;
	margin: 0;
	color: var(--green);
	font-size: clamp(2.375rem, 1.423rem + 4.76vw, 4.375rem);
	letter-spacing: 2px;
	line-height: 1;
}

.sec-ja {
	margin: 0 0 25px;
	color: var(--green);
	font-size: clamp(0.938rem, 0.869rem + 0.34vw, 1.125rem);
	font-weight: 700;
}

.sec-title.center {
	text-align: center;
}

.sec-title h2 {
	font-size: 16px;
}

.home-about {
	overflow: hidden;
}

.home-about-grid {
	display: grid;
	gap: 0;
}

.about-lead {
	display: flex;
    align-items: flex-start;
    gap: 15px;
    margin: 20px 0;
    flex-direction: column;
}

.about-lead img {
	width: 60%;
	animation: sunSwing 1.5s ease-in-out infinite alternate;
}
@keyframes sunSwing {
	0% {
		transform: translateY(2px) rotate(-7deg);
	}

	100% {
		transform: translateY(-2px) rotate(7deg);
	}
}

.home-about-img img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 25px 0 0 25px;
	object-fit: cover;
}

.about-lead h2 {
	margin: 0;
	font-size: 15px;
	line-height: 1.7;
}

.about-lead strong {
	font-size: clamp(1.375rem, 1.138rem + 1.19vw, 2.25rem);
	background: linear-gradient(
		transparent 65%,
		#fff462 0
	);
}

.home-about-img img,
.facility-card > img,
.recruit-img img {
	display: block;
	width: 100%;
	object-fit: cover;
}

.home-about-img img {
	border-radius: 25px;
}

.more-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	margin-top: 20px;
	padding: 20px 40px;
	border-radius: 50px;
	background-color: var(--green);
	box-shadow: 0 7px 0 #1d7245;
	color: #fff !important;
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	transition:
		transform 0.25s ease,
		box-shadow 0.25s ease,
		background-color 0.25s ease;
}

.more-btn span {
	position: relative;
	display: block;
	width: 50px;
	height: 16px;
	overflow: visible;
	font-size: 0;
}

.more-btn span::before {
	content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 32px;
    height: 9px;
    transform: translateY(-50%);
    background: repeating-linear-gradient(to right, #fff 0, #fff 2px, transparent 3px, transparent 5px);
}

.more-btn span::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	width: 0;
	height: 0;
	border-top: 9px solid transparent;
	border-bottom: 9px solid transparent;
	border-left: 15px solid #fff;
	transform: translateY(-50%);
}

.more-btn:hover {
	background-color: #59b985;
	transform: translateY(7px);
	box-shadow: 0 0 0 #288452;
	border: 0;
}

.more-btn:hover span {
	animation: moreArrow 0.6s ease-in-out;
}

@keyframes moreArrow {
	0% {
		transform: translateX(0);
	}

	50% {
		transform: translateX(7px);
	}

	100% {
		transform: translateX(0);
	}
}

@media (min-width: 992px) {
	.home-about-text {
		padding-right: 40px;
	}

	.home-about-img {
		width: calc(100% + (100vw - min(75vw, 1200px)) / 2);
		height: 100%;
	}

	.home-about-img img {
		display: block;
		width: 100%;
		height: 100%;
		border-radius: 25px 0 0 25px;
		object-fit: cover;
	}
	.home-about-img {
		width: calc(100% + (100vw - min(75vw, 1200px)) / 2);
	}
}

@media (min-width: 1200px) {
	.home-about-grid {
		grid-template-columns: 1fr 1fr;
		align-items: stretch;
	}
	.about-lead {
	    display: flex;
		align-items: center;
		flex-direction: row;
	}

	.about-lead img {
		width: 140px;
		margin-left: -120px;
		margin-right: 0;
	}
}
@media (min-width: 1400px) {
	.about-lead img {
		width: 200px;
	}
}

#facilities {
	position: relative;
}
.news-top-wrap {
	width: 100%;
	overflow: hidden;
	position: absolute;
	bottom: 0%;
	animation: newsTopMove 5s ease-in-out infinite alternate;
}

.news-top-track {
	display: flex;
	width: max-content;
	animation: newsTopLoop 3s linear infinite;
}

.news-top-track img {
	display: block;
	width: 100vw;
	max-width: none;
	flex-shrink: 0;
}

@keyframes newsTopLoop {
	0% {
		transform: translateX(0);
	}

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

.home-facilities {
	position: relative;
	background: var(--lightgreen);
}

.facilities-chara {
	position: absolute;
	left: 50%;
	top: -70px;
	transform: translate(-50%,0);
	width: 200px;
	z-index: 2;
	animation: pigsJump 1.8s ease-in-out infinite;
}
#facilities .facilities-chara {
    top: -7%;
    left: inherit;
    right: -15%;
    width: 44%;
    max-width: 350px;
}
@media (min-width: 1200px) {
	#facilities .facilities-chara {
	    top: -14%;
	    left: 50%;
	    right: inherit;
	    width: 35%;
	    max-width: 380px;
	}
}
@keyframes pigsJump {
	0% {
		transform: translateX(-50%) translateY(0) rotate(0deg);
	}

	10% {
		transform: translateX(-50%) translateY(3px) rotate(-1deg);
	}

	25% {
		transform: translateX(-50%) translateY(-14px) rotate(2deg);
	}

	40% {
		transform: translateX(-50%) translateY(0) rotate(0deg);
	}

	50% {
		transform: translateX(-50%) translateY(2px) rotate(1deg);
	}

	65% {
		transform: translateX(-50%) translateY(-18px) rotate(-2deg);
	}

	80% {
		transform: translateX(-50%) translateY(0) rotate(1deg);
	}

	100% {
		transform: translateX(-50%) translateY(0) rotate(0deg);
	}
}
@media (min-width: 576px) {
	.facilities-chara {
		width: 60%;
        max-width: 400px;
        top: -100px;
	}
}

.facility-main-grid,
.related-grid {
	display: grid;
	gap: 20px;
	margin-top: 35px;
}

.facility-card,
.related-card {
	overflow: hidden;
	background: #fff;
	border: 4px solid #dfa660;
	border-radius: 15px;
}

.facility-card-body {
	padding: 20px;
}

.img-kanren {
	aspect-ratio: 4 / 2.5; 
	object-fit: cover;
	object-position: center;
}

@media (min-width: 768px) {
	.facility-card-body {
		padding: 30px;
	}

	.related-grid {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
		margin-top: 35px;
	}
}

.facility-card.one small {
	font-size: clamp(0.938rem, 0.778rem + 0.8vw, 1.375rem);
	color: var(--lightblack);
	background: linear-gradient(transparent 60%, #bfea73 60%);
}

.facility-card.two small {
	font-size: clamp(0.938rem, 0.778rem + 0.8vw, 1.375rem);
	color: var(--lightblack);
	background: linear-gradient(transparent 60%, #f4c7d3 60%);
}

.related-card.one small {
	font-size: clamp(0.938rem, 0.869rem + 0.34vw, 1.125rem);
	color: var(--lightblack);
	background: linear-gradient(transparent 60%, #ffd297 60%);
}
.related-card.one h3 {
	color: #e7a238;
}
.related-card.two small {
	font-size: clamp(0.938rem, 0.869rem + 0.34vw, 1.125rem);
	color: var(--lightblack);
	background: linear-gradient(transparent 60%, #89e8f4 60%);
}
.related-card.two h3 {
	color: #32adc6;
}
.related-card.three small {
	font-size: clamp(0.938rem, 0.869rem + 0.34vw, 1.125rem);
	color: var(--lightblack);
	background: linear-gradient(transparent 60%, #89e8f4 60%);
}
.related-card.three h3 {
	color: #32adc6;
}
.related-card.four small {
	font-size: clamp(0.938rem, 0.869rem + 0.34vw, 1.125rem);
	color: var(--lightblack);
	background: linear-gradient(transparent 60%, #d5bbff 60%);
}
.related-card.four h3 {
	color: #a56cef;
}

.facility-card h3 {
	margin: 12px 0;
	font-size: clamp(1.625rem, 1.443rem + 0.91vw, 2.125rem);
	font-weight: bold;
}
.related-card h3 {
	margin: 15px 0;
	font-size: clamp(1.25rem, 1.114rem + 0.68vw, 1.625rem);
	font-weight: bold;
	line-height: 1.4;
}

.related-title {
	margin-top: 55px;
	text-align: center;
	border-bottom: 4px dotted var(--green);
}

.related-title h3 {
	color: #359e69;
}

.loop-text {
	display: flex;
	overflow: hidden;
	margin-top: 60px;
	color: var(--green);
	font-family: "Alfa Slab One", serif;
	font-size: 55px;
	letter-spacing: 2px;
	white-space: nowrap;
}

.loop-text div {
	animation: loopText 18s linear infinite;
}

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

.home-news {
	position: relative;
	background: #d3edfb;
}
.news-list {
	display: grid;
	gap: 18px;
	margin-top: 35px;
}
.news-item {
	--news-color: #6381fc;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	padding: 20px;
	border: 2px solid var(--news-color);
	border-radius: 40px;
	background: #fff;
	color: #555 !important;
	box-shadow: 0 8px 0 var(--news-color);
	text-decoration: none;
	transition:
		transform 0.3s ease,
		box-shadow 0.3s ease;
}
.news-item.is-recruit {
	--news-color: #ff96ac;
}
@media (min-width: 768px) {
	.news-item {
		display: grid;
		grid-template-columns: auto auto 1fr auto;
		align-items: center;
		gap: 20px;
		padding: 16px 35px;
	}
}
.news-item:hover {
	transform: translateY(8px);
	border: 2px solid var(--news-color);
	box-shadow: 0 5px 0 var(--news-color);
}
.news-item time {
	color: var(--news-color);
	font-size: clamp(0.938rem, 0.869rem + 0.34vw, 1.125rem);
	font-weight: 600;
	white-space: nowrap;
}
.news-cat {
	display: inline-block;
	padding: 2px 20px;
	border-radius: 20px;
	background: var(--news-color);
	color: #fff;
	white-space: nowrap;
}
.news-item strong {
	font-size: clamp(1rem, 0.909rem + 0.45vw, 1.25rem);
	font-weight: normal;
}
.news-item i {
	position: relative;
	display: block;
	width: 58px;
	height: 16px;
	margin-left: auto;
	color: var(--news-color);
	font-size: 0;
	font-style: normal;
	flex-shrink: 0;
}
.news-item i::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 42px;
	height: 8px;
	transform: translateY(-50%);
	background: repeating-linear-gradient(
		to right,
		currentColor 0,
		currentColor 1.5px,
		transparent 1.5px,
		transparent 3px
	);
}
.news-item i::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-top: 7px solid transparent;
	border-bottom: 7px solid transparent;
	border-left: 12px solid currentColor;
}
.news-more {
	display: flex;
	width: max-content;
	margin: 35px auto 0;
}

.news-top-wrap {
	width: 100%;
	overflow: hidden;
	position: absolute;
	bottom: 0%;
	animation: newsTopMove 5s ease-in-out infinite alternate;
}

.news-top-track {
	display: flex;
	width: max-content;
	animation: newsTopLoop 3s linear infinite;
}

.news-top-track img {
	display: block;
	width: 100vw;
	max-width: none;
	flex-shrink: 0;
}

@keyframes newsTopLoop {
	0% {
		transform: translateX(0);
	}

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

.recuruit-top-wrap {
	width: 100%;
	overflow: hidden;
	position: absolute;
	bottom: 0%;
	animation: newsTopMove 12s ease-in-out infinite alternate;
}
.recuruit-top-track {
	display: flex;
	width: max-content;
	animation: recuruiTopLoop 12s linear infinite;
}
.recuruit-top-track img {
	display: block;
	width: 100vw;
	max-width: none;
	flex-shrink: 0;
}
@keyframes recuruiTopLoop {
	0% {
		transform: translateX(0);
	}

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

.news-chara01 {
	position: absolute;
    width: 31%;
    z-index: 10;
    left: 8%;
    bottom: -1%;
    animation: crocodileWalk 80s linear infinite;
}
@keyframes crocodileWalk {
	0% {
		left: -35%;
		transform: translateY(0) rotate(0deg);
	}

	5% {
		transform: translateY(-5px) rotate(1deg);
	}

	10% {
		transform: translateY(0) rotate(0deg);
	}

	15% {
		transform: translateY(-5px) rotate(-1deg);
	}

	20% {
		transform: translateY(0) rotate(0deg);
	}

	25% {
		transform: translateY(-5px) rotate(1deg);
	}

	30% {
		transform: translateY(0) rotate(0deg);
	}

	35% {
		transform: translateY(-5px) rotate(-1deg);
	}

	40% {
		transform: translateY(0) rotate(0deg);
	}

	45% {
		transform: translateY(-5px) rotate(1deg);
	}

	50% {
		transform: translateY(0) rotate(0deg);
	}

	55% {
		transform: translateY(-5px) rotate(-1deg);
	}

	60% {
		transform: translateY(0) rotate(0deg);
	}

	65% {
		transform: translateY(-5px) rotate(1deg);
	}

	70% {
		transform: translateY(0) rotate(0deg);
	}

	75% {
		transform: translateY(-5px) rotate(-1deg);
	}

	80% {
		transform: translateY(0) rotate(0deg);
	}

	85% {
		transform: translateY(-5px) rotate(1deg);
	}

	90% {
		transform: translateY(0) rotate(0deg);
	}

	95% {
		transform: translateY(-5px) rotate(-1deg);
	}

	100% {
		left: 105%;
		transform: translateY(0) rotate(0deg);
	}
}
@media (min-width:992px) {
	.news-chara01 {
		width: 25%;
	}
}
@media (min-width:1200px) {
	.news-chara01 {
		width: 20%;
		left: 10%;
	}
}
.news-chara02 {
	position: absolute;
	width: 130px;
	z-index: 10;
	right: -2%;
	top: -130px;
	animation: surfingDog 14s linear infinite;
}
@media (min-width: 768px) {
	.news-chara02 {
		top: -220px;
		width: 240px;
	}
}
@media (min-width: 1200px) {
	.news-chara02 {
		top: -300px;
		width: 340px;
	}
}
@keyframes surfingDog {
	0% {
		right: -220px;
		transform: translateY(0) rotate(-4deg);
	}

	10% {
		transform: translateY(-12px) rotate(3deg);
	}

	20% {
		transform: translateY(24px) rotate(-26deg);
	}

	30% {
		transform: translateY(-20px) rotate(20deg);
	}

	40% {
		transform: translateY(2px) rotate(-3deg);
	}

	50% {
		transform: translateY(-10px) rotate(2deg);
	}

	60% {
		transform: translateY(10px) rotate(-24deg);
	}

	70% {
		transform: translateY(-14px) rotate(3deg);
	}

	80% {
		transform: translateY(2px) rotate(-2deg);
	}

	90% {
		transform: translateY(-8px) rotate(3deg);
	}

	100% {
		right: calc(100% + 220px);
		transform: translateY(0) rotate(-4deg);
	}
}

.home-recruit {
	background: #ffed8f;
}

.recruit-box {
	overflow: hidden;
	background: #fff;
	border-radius: 20px;
}

.recruit-text {
	padding: 35px;
}

.recruit-message {
	display: flex;
	flex-direction: column;
	gap: 30px;
}
.recruit-text h2 {
	font-size: clamp(1.625rem, 1.398rem + 1.14vw, 2.25rem);
	font-weight: bold;
	margin: 0;
}
.recruit-text h2 span {
	display: inline;
	line-height: 1.7;
	background: linear-gradient(
		transparent 68%,
		#fff462 68%,
		#fff462 92%,
		transparent 92%
	);
}
.recruit-message img {
	display: block;
	width: 100%;
	max-width: 320px;
	height: auto;
	margin: 0 auto;
}
@media (min-width: 1400px) {
	.recruit-message {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: 0;
	}
	.recruit-message h2 {
		flex: 1;
	}
	.recruit-message img {
		width: 200px;
		margin: 0;
		flex-shrink: 0;
	}
}
.recruit-text > p:not(.sec-en):not(.sec-ja) {
	font-size: 13px;
	line-height: 1.9;
}

.home-contact {
	padding-bottom: 100px;
	background: #359e69;
}

.sec-title.white * {
	color: #fff;
}

.sec-title.white > p:last-child {
	margin-top: 25px;
	font-size: 13px;
}

.contact-grid {
	display: grid;
	gap: 30px;
	margin-top: 35px;
}

.contact-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 20px;
	border-radius: 15px;
	background: #fff;
	color: #333 !important;
	text-decoration: none;
	box-shadow: 0 10px 0 #c9c9c9;
}
.contact-card:hover {
	box-shadow: none;
	transform: translateY(10px);
}
@media (min-width: 576px) {
	.contact-card {
		padding: 30px;
	}
}

.contact-card img {
	width: 60px;
	height: 60px;
	margin-bottom: 10px;
}
@media (min-width: 992px) {
	.contact-card img {
		width: 80px;
		height: 80px;
	}
}

.contact-card small {
	font-size: 12px;
}

.contact-card strong {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	width: 100%;
	margin-top: 15px;
	padding: 10px;
	border-radius: 60px;
	background: #359e69;
	box-shadow: 0 5px 0 #1d7245;
	color: #fff;
}

.contact-card em {
	margin-top: 15px;
	font-style: normal;
}
.contact-chara {
	position: absolute;
	right: 5%;
	top: -60px;
	width: 30%;
	animation: contactFloat 4s ease-in-out infinite;
}
.contact-arrow {
	position: relative;
	display: inline-block;
	width: 43px;
	height: 18px;
	font-size: 0;
	color: #fff;
	flex-shrink: 0;
}
.contact-arrow::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 29px;
	height: 10px;
	transform: translateY(-50%);
	background: repeating-linear-gradient(to right, currentColor 0 3px, transparent 2px 6px);
}
.contact-arrow::after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
	border-left: 13px solid currentColor;
}

.contact-chara img {
	display: block;
	width: 100%;
	height: auto;
	animation: contactRotate 25s linear infinite;
}
@keyframes contactFloat {
	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-60px);
	}
}
@keyframes contactRotate {
	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}
}

@media (min-width: 992px) {
	.sec-en {
		font-size: 72px;
	}

	.facility-main-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.loop-text {
		font-size: 95px;
	}

	.news-item {
		padding: 18px 30px;
	}

	.recruit-box {
		display: grid;
		grid-template-columns: 1fr 1fr;
		align-items: center;
	}

	.recruit-img {
		height: 100%;
	}

	.recruit-img img {
		height: 100%;
	}

	.contact-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.contact-chara {
		width: 18%;
        top: -100px;
	}

	.home-about-text {
		padding-right: 40px;
	}
}

@media (min-width: 1200px) {
	.container {
		width: min(80%, 1200px);
	}

	.facility-main-grid {
		gap: 35px;
	}

	.related-grid {
		gap: 18px;
	}

	.recruit-text {
		padding: 60px;
	}

	.recruit-text h2 {
		font-size: 34px;
	}
}
@media (min-width: 1400px) {
	.recruit-box {
		grid-template-columns: 1fr 1.2fr;
	}
}

/*　フッター  ================================================================================= */
.site-footer {
	background: #fff;
	padding: 60px 0 30px;
	color: #555;
}

.footer-main {
	display: grid;
	grid-template-columns: 1fr;
	gap: 70px;
}

.footer-company {
	margin-bottom: 22px;
}

.footer-company p {
	margin: 0;
	color: #35a36c;
	font-size: clamp(1.5rem, 1.273rem + 1.14vw, 2.125rem);
	font-weight: 700;
	line-height: 1.4;
}

.footer-address {
	margin-bottom: 30px;
}

.footer-address p {
	margin: 0;
	font-size: clamp(1rem, 0.932rem + 0.34vw, 1.188rem);
	line-height: 1.8;
}

.footer-sub-links {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 45px;
}

.footer-sub-links a {
	color: #555;
	font-size: 14px;
	text-decoration: none;
	transition: opacity 0.3s ease;
}

.footer-sub-links a:hover {
	opacity: 0.6;
}

.footer-nav {
	width: 100%;
	min-width: 0;
}

.footer-menu {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 30px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.footer-menu > li {
	min-width: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.footer-menu > li > a {
	display: inline-block;
	color: var(--black);
	font-size: 18px;
	line-height: 1.4;
	text-decoration: none;
	transition: opacity 0.3s ease;
}

.footer-menu > li > a:hover {
	opacity: 0.6;
}

.footer-menu .sub-menu {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 10px 0 0;
	padding: 0;
	list-style: none;
}

.footer-menu .sub-menu li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.footer-menu .sub-menu a {
	position: relative;
	display: inline-block;
	padding-left: 18px;
	color: #555;
	font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem);
	font-weight: 400;
	line-height: 1.5;
	text-decoration: none;
	transition: opacity 0.3s ease;
}

.footer-menu .sub-menu a::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
	border-left: 8px solid #555;
}

.footer-menu .sub-menu a:hover {
	opacity: 0.6;
}

.footer-bottom {
	margin-top: 55px;
	padding-top: 25px;
	border-top: 1px solid #aaa;
	text-align: center;
}

.footer-bottom p {
	margin: 0;
	font-size: 12px;
	letter-spacing: 0.05em;
}

@media (min-width: 992px) {
	.site-footer {
		padding: 80px 0 35px;
	}

	.footer-main {
		grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.4fr);
		gap: 20px;
		align-items: start;
	}

	.footer-sub-links {
		gap: 20px 55px;
	}

	.footer-menu {
		display: grid;
		grid-template-columns: 1fr 1fr;
		align-items: start;
		list-style: none;
		padding: 0;
	}

	.footer-menu > li {
		grid-column: 2;
	}

	.footer-menu > li:first-child {
		grid-column: 1;
		grid-row: 1 / span 2;
	}

	.footer-menu > li:first-child {
		grid-column: 1;
		grid-row: 1 / span 4;
	}

	.footer-menu > li:nth-child(3) {
		grid-column: 2;
		grid-row: 2;
	}

	.footer-bottom {
		margin-top: 70px;
	}
}


/*　ページネーム  ================================================================================= */
.l-page-title.p-04 {
	padding-top: 80px;
}

.l-page-title.p-04 h1 {
    font-size: clamp(1.5rem, 1.229rem + 1.36vw, 2.5rem);
    letter-spacing: clamp(0.1rem, 0.046rem + 0.27vw, 0.3rem);
    line-height: clamp(1.5rem, 1.229rem + 1.36vw, 2.5rem);
}

.l-page-title.p-04 .bgpage_eigo {
    font-size: clamp(0.875rem, 0.706rem + 0.85vw, 1.5rem);
    margin-top: 10px;
    letter-spacing: 0.1rem;
}

.page-title-en {
	display: block;
	font-family: "Alfa Slab One", serif;
	color: var(--green);
	font-size: clamp(2.5rem, 1.773rem + 3.64vw, 4.5rem);
	letter-spacing: 1.4px;
}
.page-title-jp {
	display: block;
	color: var(--green);
	font-size: clamp(0.938rem, 0.869rem + 0.34vw, 1.125rem);
}
.page-explanation {
	display: block;
	font-size: clamp(0.938rem, 0.869rem + 0.34vw, 1.125rem);
	line-height: 1.7;
	letter-spacing: 1.2px;
}

.page-title-wrap {
	width: 100%;
	position: absolute;
	bottom: 0%;
	animation: newsTopMove 12s ease-in-out infinite alternate;
}
.page-title-track {
	display: flex;
	width: max-content;
	animation: pagetitleLoop 12s linear infinite;
}
.page-title-track img {
	display: block;
	width: 100vw;
	max-width: none;
	flex-shrink: 0;
}
@keyframes pagetitleLoop {
	0% {
		transform: translateX(0);
	}

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

#about .l-page-title.p-04,
#company .l-page-title.p-04 {
	background-color: #fffc99;
}

#facilities .l-page-title.p-04 {
	background-color: #edffc2;
}

#news .l-page-title.p-04 {
	background-color: #d3edfb;
}
.corp-news .l-page-title.p-04 {
	background-color: #d3edfb;
}
.corp-recruit .l-page-title.p-04 {
	background-color: #d3edfb;
}
.corp-event .l-page-title.p-04 {
	background-color: #d3edfb;
}

#recruit .l-page-title.p-04 {
	background-color: #ffed8f;
}

#contact .l-page-title.p-04 {
	background-color: var(--green);
}
#contact .page-title-en,
#contact .page-title-jp,
#contact .page-explanation {
	color: #fff;
}

.section-title-deco {
	display: flex;
	align-items: flex-end;
	gap: 16px;
	justify-content: center;
}
.section-title-deco-inner {
	flex-shrink: 0;
}
.section-title-mark {
	position: relative;
	display: block;
	width: 42px;
	height: 68px;
	flex-shrink: 0;
}

.section-title-mark::before {
	content: "";
    position: absolute;
    top: -15px;
    right: 0;
    width: 23px;
    height: 23px;
    background-color: var(--green);
    border-radius: 50%;
}
.section-title-mark::after {
	content: "";
    position: absolute;
    top: 18px;
    left: 8px;
    width: 18px;
    height: 18px;
    background-color: var(--yellow);
    border-radius: 50%;
    box-shadow: -4px 25px 0 -3px #f2b9c8;
}
@media (min-width: 992px) {
	.section-title-mark::before {
		top: -20px;
	    right: 0;
	    width: 26px;
	    height: 26px;
	}
	.section-title-mark::after {
		top: 13px;
	    left: 0px;
	    width: 21px;
	    height: 21px;
	    box-shadow: -4px 30px 0 -3px #f2b9c8;
	}
}

.about-section-en {
	color: #8c939a;
	font-family: "Alfa Slab One", serif;
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.2em;
	margin-bottom: 2px;
}
.section-title-deco-inner h2 {
	font-size: clamp(1.375rem, 1.116rem + 1.3vw, 2.25rem);
	color: var(--green);
	line-height: 1.4;
	letter-spacing: 0.2px;
}

.marker span {
	background:linear-gradient(transparent 70%, var(--yellow) 70%);
}

.greeting-img {
	overflow: hidden;
	border-radius: 20px;
}

.greeting-img img {
	aspect-ratio: 1 / 1.03;
	object-fit: cover;
}

.greeting-content h3 {
	font-size: clamp(1.25rem, 1.114rem + 0.68vw, 1.625rem);
	line-height: 1.8;
}

.greeting-content p {
	font-size: 15px;
	line-height: 2;
}

.about-philosophy {
	background-color: var(--lightyellow);
}

.philosophy-card {
	background-color: #fff;
	border-radius: 20px;
	overflow: hidden;
}

.philosophy-num {
	font-size: clamp(2.5rem, 2.204rem + 1.48vw, 3.5rem);
	font-family: "Alfa Slab One", serif;
	position: absolute;
	top: -20%;
	-webkit-text-stroke: 12px #fff;
	paint-order: stroke fill;
}
@media (min-width: 768px) {
	.philosophy-num {
		top: -22%;
	}
}
@media (min-width: 1200px) {
	.philosophy-num {
		top: -20%;
	}
}

.philosophy-card h3 {
	font-size: clamp(1.25rem, 1.139rem + 0.56vw, 1.625rem);
	line-height: 1.7;
}


.history-list {
	width: fit-content;
	max-width: 100%;
	margin: 0 auto;
}

.history-item {
	display: grid;
	grid-template-columns: 50px 70px minmax(270px, 1fr);
	align-items: start;
	min-height: 110px;
}

.history-year {
	text-align: right;
}

.history-year p {
	margin: 0;
	font-size: clamp(1.125rem, 1.034rem + 0.45vw, 1.375rem);
	font-weight: 700;
	line-height: 1.6;
	display: inline;
}

.history-line {
	position: relative;
	align-self: stretch;
	display: flex;
	justify-content: center;
}

.history-line::before {
	content: "";
	position: absolute;
	top: 5px;
	bottom: -25px;
	left: 50%;
	width: 2px;
	background-color: #359e69;
	transform: translateX(-50%);
}

.history-line span {
	position: absolute;
	z-index: 2;
	top: 5px;
	left: 50%;
	width: 18px;
	height: 18px;
	background-color: #fff462;
	border: 3px solid #359e69;
	border-radius: 50%;
	transform: translateX(-50%);
	box-sizing: border-box;
}

.history-item:last-child .history-line::before {
	bottom: auto;
	height: 100%;
}

.history-text p {
	margin: 0;
	font-size: clamp(1.063rem, 0.994rem + 0.34vw, 1.25rem);
	font-weight: 500;
	line-height: 1.6;
}

@media (max-width: 767.98px) {
	.history-list {
		width: fit-content;
		max-width: 100%;
		margin: 0 auto;
	}

	.history-item {
		grid-template-columns: 40px 50px minmax(0, 1fr);
	}

	.history-year p {
		font-size: 15px;
		line-height: 1.6;
	}

	.history-text p {
		font-size: 15px;
		line-height: 1.6;
	}

	.history-line::before {
		top: 13px;
		bottom: -13px;
		width: 2px;
	}

	.history-line span {
		top: 5px;
		width: 16px;
		height: 16px;
		border-width: 2px;
	}
}

.history-img {
	width: 100%;
	max-width: 550px;
}

#about #footer,#company #footer {
	background-color: #fffc99;
}

#news #footer {
	background-color: #d3edfb;
}
.corp-news #footer {
	background-color: #d3edfb;
}
.corp-event #footer {
	background-color: #d3edfb;
}
.corp-recruit #footer {
	background-color: #d3edfb;
}

.company-section-en {
	color: #8c939a;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.2em;
}

.company-section-title h2 {
	font-size: clamp(1.625rem, 1.466rem + 0.8vw, 2.125rem);
	line-height: 1.4;
}

.company-table {
	width: 100%;
	border-top: 3px dotted #dbb8ab;
}

.company-table-row {
	border-bottom: 3px dotted #dbb8ab;
}

.company-table-title,
.company-table-content {
	padding: 20px 15px;
}

.company-table-title {
	display: flex;
    justify-content: center;
    align-content: center;
    align-items: center;
}

.company-table-title p {
	line-height: 1.8;
    font-weight: normal !important;
}

.company-table-content {
	background-color: #fff;
}

.company-business-list {
	padding-left: 1.2em;
}

.company-business-list li {
	margin-bottom: 2px;
}

.company-business-list li:last-child {
	margin-bottom: 0;
}

.company-access {
	background-color: var(--lightyellow);
}

.access-map {
	overflow: hidden;
	border-radius: 6px;
	background-color: #d7d9dc;
}

.access-map img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.organization-img {
	overflow: hidden;
	border-radius: 6px;
}

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

@media (min-width: 768px) {
	.company-table-title,
	.company-table-content {
		padding: 30px 0;
		font-size: 18px;
        font-weight: normal;
	}
}

@media (max-width: 767.98px) {
	.company-table-title,
	.company-table-content {
		padding: 16px 12px;
	}

	.company-table-title {
		align-items: flex-start;
		background-color: #dffae1;
	}
	.company-business p,.company-business li {
		font-weight: normal;
	}
}


.organization-section {
	width: 100%;
	background-color: #fff;
}

.organization-scroll-wrap {
	position: relative;
	width: 100%;
}

.organization-scroll {
	width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	padding-bottom: 16px;
	border: 1px solid #ccc;
    padding: 30px;
}

.organization-chart-inner {
	position: relative;
	width: 1180px;
	height: 820px;
	margin: 0 auto;
	background-color: #fff;
	color: #444;
	font-size: 15px;
}

.org-title {
	position: absolute;
	top: 10px;
	left: 20px;
	font-size: 20px;
}

.org-box {
	position: absolute;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 20px 10px;
	text-align: center;
	line-height: 1.6;
}

.org-box strong {
	font-weight: 500;
}

.org-box span {
	display: block;
}

.org-box small {
	display: block;
	font-size: 12px;
}

.org-main {
	background-color: #dffae1;
	border: 1px solid #888;
}

.org-sub {
	background-color: #fff;
	border: 1px solid #888;
}

.org-vline,
.org-hline {
	position: absolute;
	background-color: #888;
}

.org-vline {
	width: 1px;
}

.org-hline {
	height: 1px;
}

.org-a {
	top: 70px;
	left: 20px;
	width: 300px;
	height: 56px;
}

.org-v01 {
	top: 126px;
	left: 169px;
	height: 26px;
}

.org-b {
	top: 152px;
	left: 20px;
	width: 300px;
	height: 56px;
}

.org-v02 {
	top: 208px;
	left: 169px;
	height: 26px;
}

.org-c {
	top: 234px;
	left: 20px;
	width: 300px;
	height: 56px;
}

.org-v03 {
	top: 290px;
	left: 169px;
	height: 26px;
}

.org-d {
	top: 316px;
	left: 20px;
	width: 300px;
	height: 64px;
}

.org-audit {
	top: 128px;
	left: 390px;
	align-items: flex-start;
	text-align: left;
	padding: 0px;
}

.org-audit-line {
	top: 180px;
	left: 320px;
	width: 70px;
}

.org-general {
	top: 400px;
	left: 20px;
	width: 300px;
    height: 84px;
}

.org-main-v {
	top: 348px;
	left: 400px;
	height: 330px;
}

.org-legal {
	top: 316px;
	left: 520px;
	width: 170px;
	height: 64px;
}

.org-head {
	top: 316px;
	left: 755px;
	width: 150px;
	height: 64px;
}

.org-legal-line {
	top: 348px;
	left: 320px;
	width: 200px;
}

.org-head-line {
	top: 348px;
	left: 690px;
	width: 65px;
}

.org-fukuoka {
	top: 275px;
	left: 1010px;
	width: 250px;
	height: 54px;
}

.org-miyazaki {
	top: 350px;
	left: 1010px;
	width: 250px;
	height: 54px;
}

.org-office-v {
	top: 302px;
    left: 965px;
    height: 76px;
}

.org-office-top {
	top: 302px;
	left: 965px;
	width: 45px;
}

.org-office-bottom {
	top: 377px;
	left: 965px;
	width: 45px;
}

.org-atuchi {
    top: 473px;
	left: 520px;
	width: 170px;;
	padding: 0;
}

.org-atuchi > div {
	width: 100%;
	padding: 7px 10px;
}

.org-atuchi > div + div {
	border-top: 1px solid #888;
}

.org-child {
    top: 473px;
	left: 755px;
	width: 150px;
	height: 138px;
}

.org-atuchi-line {
	top: 531px;
	left: 400px;
	width: 120px;
}

.org-child-line {
	top: 531px;
	left: 690px;
	width: 65px;
}

.org-palm {
	top: 427px;
	left: 1010px;
	width: 250px;
	height: 58px;
	align-items: flex-start;
	text-align: left;
}

.org-cosmos {
    top: 502px;
	left: 1010px;
	width: 250px;
	height: 58px;
	align-items: flex-start;
	text-align: left;
}

.org-kids {
    top: 577px;
	left: 1010px;
	width: 250px;
	height: 58px;
	align-items: flex-start;
	text-align: left;
}

.org-club {
    top: 652px;
	left: 1010px;
	width: 250px;
	height: 58px;
	align-items: flex-start;
	text-align: left;
}

.org-cosmos-club {
    top: 727px;
	left: 1010px;
	width: 250px;
	height: 58px;
	align-items: flex-start;
	text-align: left;
}

.org-facility-v {
    top: 456px;
	left: 965px;
	height: 300px;
}

.org-facility01 {
    top: 456px;
	left: 965px;
	width: 45px;
}

.org-facility02 {
	top: 531px;
	left: 965px;
	width: 45px;
}

.org-facility03 {
    top: 606px;
	left: 965px;
	width: 45px;
}

.org-facility04 {
    top: 681px;
	left: 965px;
	width: 45px;
}

.org-facility05 {
top: 756px;
	left: 965px;
	width: 45px;
}

.org-kidzuki {
	top: 650px;
	left: 520px;
	width: 170px;
	height: 58px;
}

.org-kidzuki-line {
	top: 679px;
	left: 400px;
	width: 120px;
}

.scroll-hint {
	position: absolute;
	top: 25px;
	left: 50%;
	z-index: 30;
	display: none;
	width: 170px;
	padding: 12px 15px 10px;
	background: rgba(45, 45, 45, 0.82);
	border-radius: 10px;
	transform: translateX(-50%);
	text-align: center;
	pointer-events: none;
	opacity: 0;
	visibility: hidden;
	transition:
		opacity 0.35s ease,
		visibility 0.35s ease;
}

.scroll-hint.is-show {
	display: block;
	opacity: 1;
	visibility: visible;
}

.scroll-hint.is-hide {
	opacity: 0;
	visibility: hidden;
}

.scroll-hint-arrows {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 24px;
	margin-bottom: 4px;
	color: #fff;
	font-size: 30px;
	font-weight: 700;
	line-height: 1;
}

.scroll-hint-hand {
	display: block;
	width: 48px;
	height: auto;
	margin: 0 auto 4px;
}

.scroll-hint p {
	margin: 0;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

@media (max-width: 991.98px) {
	.organization-scroll {
		margin-right: -12px;
		margin-left: -12px;
		padding-right: 12px;
		padding-left: 12px;
		border: 1px solid #ccc;
	}

	.organization-chart-inner {
		width: 1180px;
		margin: 0;
	}
}

.org-head-office-line {
	top: 348px;
    left: 905px;
    width: 60px;
}
.org-child-facility-line {
	top: 531px;
	left: 905px;
    width: 60px;
}



.facility-section {
	background-color: #fff;
}

.facility-section-gray {
	background-color: #f5f6f7;
}

.facility-item {
	position: relative;
}

.facility-img-col,
.facility-text-col {
	position: relative;
}

.facility-img {
	overflow: hidden;
	width: 100%;
	border-radius: 6px;
}

.facility-img img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 11;
	object-fit: cover;
}

.facility-content {
	width: 100%;
}

.facility-label span {
	padding: 5px 12px;
	color: #fff;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
}

.facility-name {
	margin: 0;
	font-size: clamp(1.5rem, 1.318rem + 0.91vw, 2rem);
	line-height: 1.45;
}

.facility-lead {
	margin: 0;
	color: #555;
	font-size: 16px;
	line-height: 2;
}

.facility-info {
	border-top: 2px dotted #dbb8ab;
}

.facility-info dl {
	margin: 0;
}

.facility-info dt,
.facility-info dd {
	margin: 0;
	padding: 18px 0;
	border-bottom: 2px dotted #dbb8ab;
	font-size: 14px;
	line-height: 1.7;
}

.facility-info dt {
	padding-right: 15px;
	color: #777;
	font-weight: 400;
}

.facility-info dd {
	color: #444;
}

@media (min-width: 768px) {
	.facility-lead {
		font-size: 16px;
		line-height: 2.1;
	}

	.facility-info dt,
	.facility-info dd {
		padding-top: 20px;
		padding-bottom: 20px;
		font-size: 14px;
	}
}

@media (min-width: 1200px) {
	.facility-item {
		align-items: stretch !important;
	}

	.facility-img-col,
	.facility-text-col {
		display: flex;
	}

	.facility-img-col {
		position: relative;
	}

	.facility-img-col .facility-img {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
	}

	.facility-img-col .facility-img img {
		width: 100%;
		height: 100%;
		aspect-ratio: auto;
		object-fit: cover;
	}

	.facility-text-col {
		align-items: stretch;
	}

	.facility-content {
		display: flex;
		flex-direction: column;
		width: 100%;
		height: 100%;
		padding: 0;
	}

	.facility-content .facility-info {
		width: 100%;
	}

	.facility-content > .mt-24 {
		margin-top: 24px;
	}
}

@media (max-width: 1199.98px) {
	.facility-img {
		position: relative;
		height: auto;
	}

	.facility-img img {
		display: block;
		width: 100%;
		height: auto;
		aspect-ratio: 16 / 11;
		object-fit: cover;
	}

	.facility-content {
		height: auto;
	}
}

@media (max-width: 767.98px) {
	.facility-img {
		margin-bottom: 5px;
	}

	.facility-lead {
		font-size: 15px;
		line-height: 1.9;
	}

	.facility-info dt,
	.facility-info dd {
		font-size: 13px;
		line-height: 1.7;
	}
}

.original-conteiner-haba {
	margin: 0 5%;
}

@media (min-width: 768px) {
	.original-conteiner-haba {
		width: 90%;
		margin: 0 auto;
	}
}

@media (min-width: 1400px) {
	.original-conteiner-haba {
		width: 80%;
		margin: 0 auto;
	}
}

.original-conteiner-haba {
	margin: 0 5%;
}
@media (min-width: 768px) {
	.original-conteiner-haba {
		margin: 0 auto;
		width: 90%;
	}
}
@media (min-width: 1400px) {
	.original-conteiner-haba {
		margin: 0 auto;
		width: 80%;
	}
}


/*　お知らせページ  ================================================================================= */
.news-page {
	background-color: #fff;
	position: relative;
}
.news-page-surfing-dog {
	position: absolute;
    top: -180px;
    right: -2%;
    width: 150px;
    animation: surfingDog 2.5s cubic-bezier(0.45, 0, 0.55, 1) infinite;
    transform-origin: center 85%;
    will-change: transform;
    z-index: 10;
}
@media (min-width: 576px) {
	.news-page-surfing-dog {
		position: absolute;
	    top: -250px;
	    right: 5%;
	    width: 30%;
	    max-width: 300px;
	}
}
@media (min-width: 1200px) {
	.news-page-surfing-dog {
		position: absolute;
	    top: -450px;
	    right: 5%;
	    width: 40%;
	    max-width: 400px;
	}
}
@keyframes surfingDog {
	0% {
		transform: translate3d(0, 0, 0) rotate(3deg);
	}

	25% {
		transform: translate3d(-3px, -12px, 0) rotate(6deg);
	}

	50% {
		transform: translate3d(0, -24px, 0) rotate(12deg);
	}

	75% {
		transform: translate3d(3px, -12px, 0) rotate(4deg);
	}

	100% {
		transform: translate3d(0, 0, 0) rotate(3deg);
	}
}

.news-breadcrumb {
	display: flex;
	align-items: center;
	gap: 12px;
	padding-top: 24px;
	color: #777;
	font-size: 13px;
}
.news-breadcrumb a {
	color: #777;
	text-decoration: none;
	transition: color 0.3s ease;
}
.news-breadcrumb a:hover {
	color: var(--green);
}
.news-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}
@media (max-width: 500px) {
	.news-filter {
		flex-direction: column;
	}
}
.news-filter-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 82px;
	padding: 9px 20px;
	color: #444 !important;
	background-color: #fff;
	border: 1px solid #d9dcdf;
	border-radius: 50px;
	font-size: 14px;
	line-height: 1.4;
	text-decoration: none;
	transition:
		color 0.3s ease,
		background-color 0.3s ease,
		border-color 0.3s ease;
}
.news-filter-btn.is-active {
	color: #fff !important;
	background-color: #555;
}
.news-filter-btn.news-btn:hover {
	color: #fff !important;
	background-color: #6381fc;
	border-color: #6381fc;
}
.news-filter-btn.recruit-btn:hover {
	color: #fff !important;
	background-color: #ff96ac;
	border-color: #ff96ac;
}
.news-filter-btn.event-btn:hover {
	color: #fff !important;
	background-color: #359e69;
	border-color: #359e69;
}
.news-filter-btn.news-btn.is-active {
	background-color: #6381fc;
}
.news-filter-btn.recruit-btn.is-active {
	background-color: #ff96ac;
}
.news-filter-btn.event-btn.is-active {
	background-color: #359e69;
}
.news-archive-list {
	display: grid;
	gap: 28px;
	border-top: 0;
}
.news-archive-item {
	--news-color: #6381fc;
	position: relative;
	display: grid;
	grid-template-columns: 150px 145px minmax(0, 1fr) 90px;
	align-items: center;
	gap: 22px;
	min-height:80px;
	padding: 20px 32px;
	color: #555 !important;
	background-color: #fff;
	border: 3px solid var(--news-color);
	border-radius: 55px;
	box-shadow: 0 12px 0 var(--news-color);
	text-decoration: none;
	transition:
		transform 0.25s ease,
		box-shadow 0.25s ease,
		background-color 0.25s ease;
}
.news-archive-item.is-news {
	--news-color: #6381fc;
}
.news-archive-item.is-recruit {
	--news-color: #ff96ac;
}
.news-archive-item.is-event {
	--news-color: #359e69;
}
.news-archive-item:hover {
	color: #555 !important;
	background-color: #fff;
	border: 3px solid var(--news-color);
	transform: translateY(5px);
	box-shadow: 0 7px 0 var(--news-color);
}
.news-archive-date {
	color: var(--news-color);
	font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem);
	font-weight: 700;
	letter-spacing: 0.03em;
	white-space: nowrap;
}
.news-archive-cat {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: max-content;
	min-width: 125px;
	padding: 7px 18px;
	color: #fff;
	background-color: var(--news-color);
	border-radius: 30px;
	font-size: clamp(0.938rem, 0.915rem + 0.11vw, 1rem);
	font-weight: 700;
	line-height: 1.4;
	white-space: nowrap;
}
.news-archive-title {
	overflow: hidden;
	color: #555;
	font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem);
	font-weight: 500;
	line-height: 1.7;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.news-archive-arrow {
	position: relative;
	display: block;
	width: 70px;
	height: 20px;
	justify-self: end;
}
.news-archive-arrow::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 48px;
	height: 8px;
	transform: translateY(-50%);
	background-image: repeating-linear-gradient(
		to right,
		var(--news-color) 0 3px,
		transparent 3px 5px
	);
}
.news-archive-arrow::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	width: 0;
	height: 0;
	transform: translateY(-50%);
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
	border-left: 16px solid var(--news-color);
}
.news-pagination {
	margin-top: 60px;
}
.news-page-navi {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
}
.news-page-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	margin: 0;
	padding: 0;
	color: #444;
	background-color: #fff;
	border: 1px solid #dfe2e4;
	border-radius: 4px;
	font-size: 14px;
	cursor: pointer;
	transition:
		color 0.3s ease,
		background-color 0.3s ease,
		border-color 0.3s ease;
}
.news-page-btn:hover,
.news-page-btn.is-current {
	color: #fff;
	background-color: #555;
	border-color: #555;
}
@media (max-width: 767.98px) {
	.news-pagination {
		margin-top: 40px;
	}

	.news-page-btn {
		width: 38px;
		height: 38px;
		font-size: 13px;
	}
}
@media (max-width: 1199.98px) {
	.news-archive-item {
		grid-template-columns: 120px 120px minmax(0, 1fr) 70px;
		gap: 18px;
		padding: 18px 26px;
		border-radius: 48px;
	}

	.news-archive-cat {
		min-width: 110px;
		padding: 6px 15px;
	}

	.news-archive-arrow {
		width: 58px;
	}

	.news-archive-arrow::before {
		width: 38px;
	}
}
@media (max-width: 767.98px) {
	.news-breadcrumb {
		padding-top: 16px;
		font-size: 12px;
	}

	.news-filter {
		gap: 8px;
	}

	.news-filter-btn {
		min-width: auto;
		padding: 8px 15px;
		font-size: 13px;
	}

	.news-archive-list {
		gap: 22px;
	}

	.news-archive-item {
		display: grid;
		grid-template-columns: auto 1fr auto;
		grid-template-areas:
			"date cat arrow"
			"title title title";
		gap: 10px 12px;
		min-height: auto;
		padding: 18px 20px 20px;
		border-width: 2px;
		border-radius: 30px;
		box-shadow: 0 8px 0 var(--news-color);
	}

	.news-archive-item:hover {
		border: 2px solid var(--news-color);
		transform: translateY(3px);
		box-shadow: 0 5px 0 var(--news-color);
	}

	.news-archive-date {
		grid-area: date;
		font-size: 14px;
	}

	.news-archive-cat {
		grid-area: cat;
		min-width: auto;
		padding: 5px 12px;
		font-size: 13px;
		justify-self: start;
	}

	.news-archive-title {
		grid-area: title;
		font-size: 15px;
		line-height: 1.6;
		white-space: normal;
	}

	.news-archive-arrow {
		grid-area: arrow;
		width: 44px;
		height: 16px;
	}

	.news-archive-arrow::before {
		width: 27px;
		height: 6px;
	}

	.news-archive-arrow::after {
		border-top-width: 7px;
		border-bottom-width: 7px;
		border-left-width: 11px;
	}

	.news-pagination {
		margin-top: 40px;
	}

	.news-page-btn {
		width: 38px;
		height: 38px;
		font-size: 13px;
	}
}

#news-results {
	transition: opacity 0.25s ease;
}
#news-results.is-loading {
	opacity: 0.35;
	pointer-events: none;
}

/*　採用情報ページ  ================================================================================= */
#recruit .page-explanation::before {
	content: "";
	display: block;
	width: 100%;
	aspect-ratio: 120 / 100;
	margin-bottom: 24px;
	background-image: url("img/SVG/recruit-titles.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
@media (min-width: 600px) {
	#recruit .page-explanation::before {
		aspect-ratio: 840 / 200;
		margin-bottom: 32px;
		background-image: url("img/SVG/recruit-title.svg");
	}
}
@media (min-width: 992px) {
	#recruit .page-explanation::before {
		aspect-ratio: 1200 / 200;
		margin-bottom: 50px;
	}
}
.recruit-section-en {
	margin: 0;
	color: #8c939a;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.2em;
}
.recruit-section-title h2 {
	font-size: clamp(1.625rem, 1.466rem + 0.8vw, 2.125rem);
	line-height: 1.5;
}
.recruit-value-cardinner {
	position: relative;
}
.recruit-value-cardinner p.recruit-card-num {
	position: absolute;
	top: -12%;
	left: 3%;
	margin: 0;
	color: var(--green);
	font-family: "Alfa Slab One", serif;
	font-size: clamp(2rem, 2rem + 3vw, 3rem);
	-webkit-text-stroke: 12px #fff;
	paint-order: stroke fill;
}
.recruit-value-card.one {
	background: repeating-linear-gradient(-45deg, #fff462, #fff462 5px, #ffcf62 5px, #ffcf62 10px);
    padding: 8px;
    border-radius: 10px;
}
.recruit-value-card.two {
	background: repeating-linear-gradient(-45deg, #80e467, #80e467 5px, #55cf45 5px, #55cf45 10px);
    padding: 8px;
    border-radius: 10px;
}
.recruit-value-card.three {
	background: repeating-linear-gradient(-45deg, #50cfe2, #50cfe2 5px, #73eef4 5px, #73eef4 10px);
    padding: 8px;
    border-radius: 10px;
}
.recruit-value-card.fourth {
	background: repeating-linear-gradient(-45deg, #b19ef0, #b19ef0 5px, #848fea 5px, #848fea 10px);
    padding: 8px;
    border-radius: 10px;
}
.recruit-value-card {
	display: flex;
	height: 100%;
	padding: 8px;
	border-radius: 10px;
}
.recruit-value-cardinner {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	padding: 20px;
	background-color: #fff;
	border-radius: 10px;
}
.recruit-value-cardinner img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
.recruit-value-card p {
	color: #666;
	font-size: 14px;
	line-height: 1.9;
}
.recruit-admin-note {
	padding: 18px 20px;
	color: #785b40;
	background-color: #fff8ee;
	border: 1px dashed #db9d5c;
	border-radius: 6px;
}
.recruit-admin-note p {
	font-size: 13px;
	line-height: 1.8;
}
.recruit-job-card {
	display: flex;
	flex-direction: column;
	padding: 20px;
	background-color: #fff;
	border-radius: 20px;
	border: 3px solid #b58777;
    box-shadow: 0 10px 0 #b58777;
}
@media (min-width: 992px) {
	.recruit-job-card {
		padding: 6%;
	}
}
.recruit-job-tag {
	display: inline-block;
	align-self: flex-start;
	padding: 5px 12px;
	color: #fff;
	background-color: var(--green);
	font-size: 14px;
	line-height: 1.4;
}
.recruit-job-title {
	font-size: clamp(1.5rem, 1.5rem + 0.6vw, 1.8rem);
	line-height: 1.6;
}
.recruit-job-description {
	color: var(--black);
	font-size: clamp(1rem, 0.909rem + 0.45vw, 1.25rem);
	line-height: 1.5;
}
.recruit-job-info {
	margin: 0;
	border-top: 3px dotted #dbb8ab;
}
.recruit-job-row {
	display: grid;
	grid-template-columns: 100px 1fr;
	border-bottom: 3px dotted #dbb8ab;
	align-items: center;
}
.recruit-job-row dt,
.recruit-job-row dd {
	margin: 0;
	padding: 25px 0;
	line-height: 1.5;
}
.recruit-job-row dt {
	color: #b58777;
	font-weight: 400;
	font-size: 14px;
}
@media (min-width: 992px) {
	.recruit-job-row dt {
		font-size: 15px;
	}
}
.recruit-job-row dd {
	color: var(--black);
}
.recruit-job-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #333;
	font-size: 14px;
	text-decoration: underline;
	text-underline-offset: 4px;
}
.recruit-job-link span {
	transition: transform 0.3s ease;
}
.recruit-job-link:hover span {
	transform: translate(3px, -3px);
}
.recruit-wanted-card {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	aspect-ratio: 1 / 1;
	padding: 10px;
	background: repeating-linear-gradient(-45deg, #fff462, #fff462 8px, #ffcf62 8px, #ffcf62 16px);
	border-radius: 50%;
}
.recruit-wanted-card-inner img.motomu {
	position: absolute;
    top: -7%;
    left: 0%;
    width: 30%;
}
.recruit-wanted-card-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 20px;
	background-color: #fff;
	border-radius: 50%;
	overflow: hidden;
}
.recruit-wanted-card-inner img {
	display: block;
	width: 80%;
	height: auto;
	object-fit: contain;
}
.recruit-flow-list {
	display: flex;
	align-items: stretch;
	justify-content: center;
}
.recruit-flow-item {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 110px;
	padding: 20px;
	background-color: #fff;
	border: 2px solid #b58776;
	box-shadow: 0 10px 0 #b58777;
	border-radius: 10px;
	text-align: center;
}
.recruit-flow-step {
	color: #b58776;
	font-family: "Alfa Slab One", serif;
	letter-spacing: 0.15em;
}
.recruit-flow-arrow {
	display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    flex-shrink: 0;
    color: #b58776;
    font-size: 30px;
}
.recruit-entry-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 24px;
	min-width: 250px;
	padding: 16px 30px;
	color: #fff !important;
	background-color: #7f8998;
	font-size: 15px;
	font-weight: 500;
	text-decoration: none;
	transition:
		background-color 0.3s ease,
		transform 0.3s ease;
}
.recruit-entry-btn:hover {
	color: #fff !important;
	background-color: var(--green);
	transform: translateY(-3px);
}
@media (max-width: 1199px) {
	.recruit-value-card p {
		font-size: 14px;
	}
	.recruit-job-row {
		grid-template-columns: 85px 1fr;
	}
	.recruit-flow-list {
		position: relative;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		max-width: 600px;
		margin: 0 auto;
	}
	.recruit-flow-item {
		width: 100%;
		max-width: none;
		min-height: 90px;
	}
	.recruit-flow-arrow {
		width: 100%;
        height: 60px;
        transform: rotate(90deg);
        margin-top: 10px;
	}
	.recruit-entry-btn {
		width: 100%;
		max-width: 320px;
	}
}
.job_url .news-more {
	display: flex;
    width: 100%;
    margin: 30px auto 0;
    flex-direction: column;
    padding: 20px 0px;
    gap: 12px;
}
@media (min-width: 576px) {
	.job_url .news-more {
		flex-direction: row;
		width: 80%;
	}
}
.max-1500 {
	max-width: 1500px;
	margin: 0 auto;
}
.flow-icon {
	width: 120px;
	margin: 0 auto;
}

/*　お問い合わせページ  ================================================================================= */
/*#contact {
	background-color: #fff;
}*/

.contact-inner {
	width: 100%;
	max-width: 960px;
}

.contact-step {
	display: flex;
	align-items: center;
	justify-content: center;
}

.contact-step-item {
	display: flex;
	align-items: center;
	gap: 10px;
	color: #a3a8ad;
	font-size: 14px;
	white-space: nowrap;
}

.contact-step-num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	color: #9ca2a8;
	background-color: #fff;
	border: 1px solid #d9dde1;
	border-radius: 50%;
	font-size: 13px;
	font-weight: 500;
}

.contact-step-item.is-active {
	color: #182435;
}

.contact-step-item.is-active .contact-step-num {
	color: #fff;
	background-color: #182435;
	border-color: #182435;
}

.contact-step-line {
	width: 40px;
	height: 1px;
	margin: 0 14px;
	background-color: #d9dde1;
}

.contact-tel-box {
	padding: 42px 20px;
	background-color: #fff462;
	border-radius: 10px;
}

.contact-tel-lead {
	color: var(--black);
	line-height: 1.5;
}

.contact-tel-number {
	display: inline-block;
	font-size: clamp(2rem, 1.591rem + 2.05vw, 3.125rem);
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.1em;
	text-decoration: none;
}

.contact-tel-number:hover {
	color: var(--green) !important;
}

.contact-tel-time {
	color: var(--black);
}

.contact-form-row {
	padding: 40px 0;
	border-bottom: 3px dotted #dbb8ab;
}

.contact-form-row:first-child {
	border-top: 3px dotted #dbb8ab;
}

.contact-form-label {
	display: flex;
	align-items: center;
	height: 100%;
	padding-top: 14px;
	padding-right: 24px;
}

.contact-form-label label,
.contact-form-label p {
	color: #182435;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.7;
	display: flex;
	align-items: center;
}

.contact-required {
	display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 8px;
    padding: 3px 8px;
    color: #fff;
    background-color: #e01201;
    border-radius: 2px;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.3;
    vertical-align: middle;
}

.contact-form-control input[type="text"],
.contact-form-control input[type="email"],
.contact-form-control input[type="tel"],
.contact-form-control select,
.contact-form-control textarea {
	display: block;
	width: 100%;
	padding: 15px 18px;
	color: #444;
	background-color: #fff;
	border: 1px solid #d8dce0;
	border-radius: 4px;
	font-family: inherit;
	font-size: 15px;
	line-height: 1.6;
	outline: none;
	transition:
		border-color 0.3s ease,
		box-shadow 0.3s ease;
}

.contact-form-control select {
	appearance: auto;
	height: 54px;
}

.contact-form-control textarea {
	min-height: 190px;
	resize: vertical;
}

.contact-form-control input::placeholder,
.contact-form-control textarea::placeholder {
	color: #aaa;
}

.contact-form-control input:focus,
.contact-form-control select:focus,
.contact-form-control textarea:focus {
	border-color: var(--green);
	box-shadow: 0 0 0 3px rgba(53, 158, 105, 0.1);
}

.contact-form-note {
	color: #888;
	font-size: 14px;
	line-height: 1.8;
	padding-left:1em;
	text-indent:-1em;
}

.contact-privacy {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	cursor: pointer;
}

.contact-privacy input[type="checkbox"] {
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: var(--green);
	flex-shrink: 0;
}

.contact-privacy span {
	color: #444;
	font-size: 14px;
	line-height: 1.7;
}

.contact-privacy a {
	color: #444;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.contact-submit-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 22px;
	min-width: 300px;
	padding: 18px 32px;
	color: #fff;
	background-color: #182435;
	border: 0;
	border-radius: 3px;
	font-family: inherit;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.4;
	cursor: pointer;
	transition:
		background-color 0.3s ease,
		transform 0.3s ease;
}

.contact-submit-btn span {
	transition: transform 0.3s ease;
}

.contact-submit-btn:hover {
	background-color: var(--green);
	transform: translateY(-2px);
}

.contact-submit-btn:hover span {
	transform: translateX(5px);
}

.contact-submit-note {
	color: #999;
	font-size: 11px;
	line-height: 1.8;
}

.contact-submit-note a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 3px;
}

@media (max-width: 767.98px) {
	.contact-inner {
		max-width: 100%;
	}

	.contact-step-item {
		gap: 6px;
		font-size: 12px;
	}

	.contact-step-num {
		width: 28px;
		height: 28px;
		font-size: 12px;
	}

	.contact-step-line {
		width: 22px;
		margin: 0 8px;
	}

	.contact-tel-box {
		padding: 32px 15px;
	}

	.contact-tel-lead {
		font-size: 15px;
	}

	.contact-tel-number {
		font-size: 30px;
	}

	.contact-form-row {
        padding: 40px 0;
	}

	.contact-form-label {
		padding: 0 0 12px;
	}

	.contact-form-label label,
	.contact-form-label p {
		font-size: 15px;
	}

	.contact-form-control input[type="text"],
	.contact-form-control input[type="email"],
	.contact-form-control input[type="tel"],
	.contact-form-control select,
	.contact-form-control textarea {
		padding: 13px 14px;
		font-size: 16px;
	}

	.contact-form-control select {
		height: 52px;
	}

	.contact-form-control textarea {
		min-height: 180px;
	}

	.contact-privacy {
		align-items: flex-start;
	}

	.contact-submit-btn {
		width: 100%;
		min-width: 0;
		max-width: 320px;
	}

	.contact-submit-note {
		font-size: 10px;
	}
}

.contact-confirm-panel,
.contact-complete-panel {
	display: none;
}

.contact-step {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 60px;
	gap: 5px;
}

.contact-step-item {
	display: flex;
	align-items: center;
	gap: 10px;
	color: #aaa;
	font-size: 14px;
}

.contact-step-num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
    height: 50px;
	color: #999;
	background-color: #fff;
	border: 1px solid #d9dde1;
	border-radius: 50%;
	font-size: 20px;
}

.contact-step-item.is-active {
	color: #182435;
}

.contact-step-item.is-active .contact-step-num {
	color: #fff;
	background-color: #e00f00;
	border-color: #e00f00;
}

.contact-step-line {
	width: 40px;
	height: 1px;
	margin: 0 14px;
	background-color: #d9dde1;
}

.contact-confirm-btn,
.contact-final-submit,
.contact-home-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	min-width: 280px;
	padding: 18px 30px;
	color: #fff !important;
	background-color: #e01201;
	border: 0;
	border-radius: 4px;
	font-size: 15px;
	font-weight: 500;
	text-decoration: none;
	cursor: pointer;
	transition:
		background-color 0.3s ease,
		transform 0.3s ease;
}

.contact-confirm-btn:hover,
.contact-final-submit:hover,
.contact-home-btn:hover {
	color: #fff !important;
	background-color: var(--green);
	transform: translateY(-2px);
}

.contact-confirm-list {
	border-top: 1px solid #ddd;
}

.contact-confirm-row {
	display: grid;
	grid-template-columns: 220px 1fr;
	border-bottom: 1px solid #ddd;
}

.contact-confirm-label,
.contact-confirm-value {
	padding: 20px;
	font-size: 15px;
	line-height: 1.8;
}

.contact-confirm-label {
	background-color: #f5f6f7;
	font-weight: 700;
}

.contact-confirm-value {
	color: #555;
}

.contact-confirm-message {
	white-space: pre-wrap;
}

.contact-confirm-buttons {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	margin-top: 48px;
}

.contact-back-btn {
	padding: 17px 28px;
	color: #555;
	background-color: #fff;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 14px;
	cursor: pointer;
	transition: 0.3s ease;
}

.contact-back-btn:hover {
	color: var(--green);
	border-color: var(--green);
}

.contact-complete-inner {
	padding: 70px 30px;
	background-color: #f5f6f7;
	border-radius: 8px;
}

.contact-complete-inner h2 {
	font-size: clamp(1.5rem, 1.318rem + 0.91vw, 2rem);
}

.contact-complete-inner p {
	font-size: 15px;
	line-height: 2;
}

#contact .wpcf7-spinner {
	vertical-align: middle;
}

@media (max-width: 767.98px) {
	.contact-step {
		margin-bottom: 40px;
	}

	.contact-step-item {
		gap: 5px;
		font-size: 12px;
	}

	.contact-step-num {
		width: 35px;
        height: 35px;
	}

	.contact-step-line {
		width: 20px;
		margin: 0 7px;
	}

	.contact-confirm-row {
		display: block;
	}

	.contact-confirm-label {
		padding: 12px 15px;
	}

	.contact-confirm-value {
		padding: 15px;
	}

	.contact-confirm-buttons {
		flex-direction: column-reverse;
	}

	.contact-confirm-btn,
	.contact-final-submit,
	.contact-back-btn,
	.contact-home-btn {
		width: 100%;
		max-width: 320px;
	}

	.contact-complete-inner {
		padding: 50px 20px;
	}
}

.contact-custom-error {
	display: block;
	margin-top: 8px;
	color: #d9534f;
	font-size: 12px;
	line-height: 1.6;
}

.contact-step-text {
	display: block;
	text-align: center;
	margin-top: 5px;
}
@media (min-width: 992px)  {
	.contact-step-text {
		margin-top: 10px;
	}
}

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

.contact-submit p {
	text-align: center;
}

#contact #footer {
	background-color: var(--lightgreen);
}

.contact-back-btn {
    color: #fff;
    background-color: #555;
    font-size: 14px;
    cursor: pointer;
    padding: 17px 28px;
    border-width: 1px;
    border-style: solid;
    border-image: none;
    border-radius: 4px;
    transition: 0.3s;
}
.contact-confirm-btn, .contact-final-submit, .contact-home-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 280px;
    background-color: rgb(224, 18, 1);
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
    color: rgb(255, 255, 255) !important;
    gap: 20px;
    padding: 18px 30px;
    border-width: 0px;
    border-style: none;
    border-color: currentcolor;
    border-image: none;
    border-radius: 4px;
    text-decoration: none;
    transition: background-color 0.3s, transform 0.3s;
}


.contact-confirm-buttons p {
	display: flex;
	align-items: center;
}


.about-page-sun {
	position: absolute;
    top: -160px;
    right: -3%;
    width: 37%;
    max-width: 200px;
	animation: about-page-sun  1.5s ease-in-out infinite alternate;
}
@media (min-width: 992px) {
	.about-page-sun {
		position: absolute;
		top: -450px;
	    right: inherit;
	    left: -1%;
	    width: 25%;
	    max-width: 360px;
	}
	#about .about-page-sun {
		position: absolute;
		top: -450px;
	    right: 2%;
	    left: inherit;
	    width: 25%;
	    max-width: 360px;
	}
}
@media (min-width: 1400px) {
	.about-page-sun {
		top: -650px;
		width: 450px;
		max-width: inherit;
	}
}
@keyframes about-page-sun  {
	0% {
		transform: translateY(2px) rotate(-7deg);
	}

	100% {
		transform: translateY(-2px) rotate(7deg);
	}
}



/* =========================================================
	CORP SINGLE
========================================================= */
.corp-single {
	--corp-blue: #5b7cf5;
	--corp-pink: #f598a8;
	--corp-green: #2f9e6b;
	--corp-sky: #d5ecf8;
	--corp-text: #4a4a4a;
	padding: 40px 16px 140px;
	color: var(--corp-text);
	background-color: #fff;
}


/* ---------- ARTICLE ---------- */
.corp-single-article,
.corp-single-nav {
	--c: var(--corp-blue);
}

.corp-single-article.is-recruit,
.corp-single-nav.is-recruit {
	--c: var(--corp-pink);
}

.corp-single-article.is-event,
.corp-single-nav.is-event {
	--c: var(--corp-green);
}

.corp-single-article {
	position: relative;
	margin-top: 56px;
	padding: 56px 60px 60px;
	background-color: #fff;
	border: 3px solid var(--c);
	border-radius: 0 40px 40px 40px;
	box-shadow: 0 12px 0 var(--c);
}

.corp-single-article::before {
	content: "";
	position: absolute;
	top: 26px;
	right: 34px;
	width: 70px;
	height: 80px;
	background:
		radial-gradient(circle, color-mix(in srgb, var(--c) 35%, #fff) 13px, transparent 14px) 0 34px / 30px 30px no-repeat,
		radial-gradient(circle, color-mix(in srgb, var(--c) 22%, #fff) 9px, transparent 10px) 38px 8px / 22px 22px no-repeat,
		radial-gradient(circle, color-mix(in srgb, var(--c) 50%, #fff) 5px, transparent 6px) 50px 54px / 14px 14px no-repeat;
	pointer-events: none;
	animation: corpBubble 3.6s ease-in-out infinite;
}

.corp-single-nav-prev a,
.corp-single-nav-next a {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 12px 26px;
	color: var(--c);
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	background-color: #fff;
	border: 3px solid var(--c);
	border-radius: 999px;
	box-shadow: 0 6px 0 var(--c);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.corp-single-nav-prev a:hover,
.corp-single-nav-next a:hover {
	color: var(--c);
	transform: translateY(3px) rotate(-2deg);
	box-shadow: 0 3px 0 var(--c);
}

.corp-single-nav-next a:hover {
	transform: translateY(3px) rotate(2deg);
}

.corp-single-meta {
	position: absolute;
	bottom: 100%;
	left: -3px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
	padding: 12px 24px 10px;
	background-color: var(--c);
	border-radius: 22px 22px 0 0;
}

.corp-single-meta time {
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.06em;
}

.corp-single-cat {
	min-width: 88px;
	padding: 3px 16px;
	color: var(--c);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.08em;
	text-align: center;
	background-color: #fff;
	border-radius: 999px;
}

.corp-single-title {
	position: relative;
	margin: 0 0 44px;
	padding: 0 90px 28px 0;
	font-size: clamp(22px, 2.8vw, 30px);
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

.corp-single-title::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 12px;
	background-color: color-mix(in srgb, var(--c) 55%, #fff);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 12'%3E%3Cpath d='M0 6Q10 0 20 6T40 6' fill='none' stroke='%23000' stroke-width='3'/%3E%3C/svg%3E") 0 0 / 40px 12px repeat-x;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 12'%3E%3Cpath d='M0 6Q10 0 20 6T40 6' fill='none' stroke='%23000' stroke-width='3'/%3E%3C/svg%3E") 0 0 / 40px 12px repeat-x;
}

.corp-single-thumb {
	position: relative;
	margin: 0 6px 52px;
	rotate: -1.2deg;
}

.corp-single-thumb::before,
.corp-single-thumb::after {
	content: "";
	position: absolute;
	top: -12px;
	z-index: 1;
	width: 110px;
	height: 30px;
	background:
		repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.55) 0 6px, transparent 6px 12px),
		color-mix(in srgb, var(--c) 70%, transparent);
}

.corp-single-thumb::before {
	left: -26px;
	rotate: -30deg;
}

.corp-single-thumb::after {
	right: -26px;
	rotate: 30deg;
}

.corp-single-thumb img {
	display: block;
	width: 100%;
	height: auto;
	border: 8px solid #fff;
	border-radius: 24px;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--c) 40%, #fff), 10px 12px 0 color-mix(in srgb, var(--c) 25%, #fff);
}

/* ---------- CONTENT ---------- */
.corp-single-content {
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.04em;
	word-break: break-word;
}

.corp-single-content > * {
	margin-top: 0;
	margin-bottom: 1.6em;
}

.corp-single-content > *:last-child {
	margin-bottom: 0;
}

.corp-single-content h2 {
	position: relative;
	margin-top: 2.4em;
	padding: 12px 26px 12px 54px;
	color: #fff;
	font-size: 21px;
	font-weight: 700;
	line-height: 1.6;
	background-color: var(--c);
	border-radius: 999px;
	box-shadow: 0 5px 0 color-mix(in srgb, var(--c) 70%, #000);
}

.corp-single-content h2::before {
	content: "";
	position: absolute;
	top: calc(50% - 9px);
	left: 22px;
	width: 18px;
	height: 18px;
	background: radial-gradient(circle, var(--c) 3px, transparent 3.5px), #fff;
	border-radius: 50%;
}

.corp-single-content h3 {
	margin-top: 2em;
	padding: 4px 0 4px 18px;
	font-size: 19px;
	font-weight: 700;
	line-height: 1.6;
	border-left: 6px solid var(--c);
	border-radius: 2px;
}

.corp-single-content h4 {
	margin-top: 1.8em;
	padding-bottom: 6px;
	font-size: 17px;
	font-weight: 700;
	border-bottom: 2px dotted var(--c);
}

.corp-single-content a {
	color: var(--c);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 4px;
}

.corp-single-content a:hover {
	opacity: 0.7;
}

.corp-single-content strong {
	background: linear-gradient(transparent 62%, color-mix(in srgb, var(--c) 30%, transparent) 62%);
}

.corp-single-content ul,
.corp-single-content ol {
	padding: 22px 28px;
	list-style: none;
	background-color: color-mix(in srgb, var(--corp-sky) 55%, #fff);
	border-radius: 24px;
}

.corp-single-content li {
	position: relative;
	padding-left: 1.6em;
}

.corp-single-content li + li {
	margin-top: 6px;
}

.corp-single-content ul > li::before {
	content: "";
	position: absolute;
	top: 0.7em;
	left: 0.2em;
	width: 0;
	height: 0;
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
	border-left: 9px solid var(--c);
}

.corp-single-content ol {
	counter-reset: corp-ol;
}

.corp-single-content ol > li {
	counter-increment: corp-ol;
}

.corp-single-content ol > li::before {
	content: counter(corp-ol);
	position: absolute;
	top: 0.4em;
	left: 0;
	display: grid;
	place-items: center;
	width: 22px;
	height: 22px;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	background-color: var(--c);
	border-radius: 50%;
}

.corp-single-content blockquote {
	margin-right: 0;
	margin-left: 0;
	padding: 24px 30px;
	background-color: #f7f7f7;
	border-left: 6px solid color-mix(in srgb, var(--c) 50%, #fff);
	border-radius: 0 20px 20px 0;
}

.corp-single-content blockquote p:last-child {
	margin-bottom: 0;
}

.corp-single-content img {
	max-width: 100%;
	height: auto;
	border-radius: 18px;
}

.corp-single-content figure {
	margin-right: 0;
	margin-left: 0;
}

.corp-single-content figcaption {
	margin-top: 8px;
	font-size: 13px;
	text-align: center;
}

.corp-single-content table {
	width: 100%;
	overflow: hidden;
	border-collapse: separate;
	border-spacing: 0;
	border: 3px solid var(--c);
	border-radius: 18px;
}

.corp-single-content th,
.corp-single-content td {
	padding: 12px 16px;
	border-bottom: 1px solid color-mix(in srgb, var(--c) 35%, #fff);
}

.corp-single-content tr:last-child > * {
	border-bottom: 0;
}

.corp-single-content th {
	font-weight: 700;
	text-align: left;
	background-color: color-mix(in srgb, var(--c) 12%, #fff);
}

.corp-single-content hr {
	border: 0;
	border-top: 3px dashed color-mix(in srgb, var(--c) 40%, #fff);
}

.corp-single-content .wp-block-button__link {
	padding: 12px 32px;
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	background-color: var(--c);
	border-radius: 999px;
	box-shadow: 0 5px 0 color-mix(in srgb, var(--c) 70%, #000);
}

/* ---------- ARROW ---------- */
.corp-arrow {
	--c: currentColor;
	position: relative;
	display: inline-block;
	flex-shrink: 0;
	width: 46px;
	height: 14px;
	background: repeating-linear-gradient(90deg, var(--c) 0 2px, transparent 2px 4px) left center / 32px 9px no-repeat;
	transition: translate 0.3s ease;
}

.corp-arrow::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 12px;
	height: 14px;
	background-color: var(--c);
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.corp-arrow.is-prev {
	scale: -1 1;
}

/* ---------- NAV ---------- */
.corp-single-nav {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	gap: 16px;
	align-items: center;
	margin-top: 64px;
}

.corp-single-nav-next {
	text-align: right;
}

.corp-single-nav-next a:hover .corp-arrow {
	translate: 4px 0;
}

.corp-single-nav-prev a:hover .corp-arrow {
	translate: -4px 0;
}

.corp-single-nav-list a {
	position: relative;
	isolation: isolate;
	display: grid;
	place-content: center;
	justify-items: center;
	gap: 4px;
	width: 124px;
	aspect-ratio: 1;
	color: var(--corp-text);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	border-radius: 50%;
	filter: drop-shadow(0 6px 0 color-mix(in srgb, var(--c) 70%, #000));
	transition: transform 0.25s ease;
}

.corp-single-nav-list a::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		radial-gradient(circle, #fff 0 46%, var(--c) 46.5% 49%, transparent 49.5%),
		repeating-conic-gradient(var(--c) 0 45deg, #fff 45deg 90deg);
	border: 3px solid var(--c);
	border-radius: 50%;
	transition: rotate 0.6s ease;
}

.corp-single-nav-list a:hover {
	color: var(--corp-text);
	transform: translateY(3px);
}

.corp-single-nav-list a:hover::before {
	rotate: 90deg;
}

.corp-single-nav-list .corp-list-icon {
	color: var(--c);
}

.corp-single-nav-list img {
	width: 24px;
	height: auto;
	filter: brightness(0) invert(1);
}

/* ---------- KEYFRAMES ---------- */
@keyframes corpBubble {
	0%,
	100% {
		translate: 0 0;
	}
	50% {
		translate: 0 -8px;
	}
}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 767.98px) {
	.corp-single {
		padding: 24px 16px 100px;
	}

	.corp-single-article {
		margin-top: 50px;
		padding: 36px 20px 36px;
		border-radius: 0 28px 28px 28px;
		box-shadow: 0 8px 0 var(--c);
	}

	.corp-single-article::before {
		top: 14px;
		right: 12px;
		scale: 0.7;
		transform-origin: top right;
	}

	.corp-single-meta {
		gap: 10px;
		padding: 10px 16px 8px;
		border-radius: 18px 18px 0 0;
	}

	.corp-single-meta time {
		font-size: 14px;
	}

	.corp-single-cat {
		min-width: 0;
		font-size: 12px;
	}

	.corp-single-title {
		margin-bottom: 36px;
		padding: 0 40px 22px 0;
	}

	.corp-single-thumb {
		margin: 0 4px 40px;
	}

	.corp-single-thumb::before,
	.corp-single-thumb::after {
		width: 80px;
		height: 24px;
	}

	.corp-single-thumb img {
		border-width: 6px;
		border-radius: 18px;
	}

	.corp-single-content {
		font-size: 15px;
		line-height: 1.9;
	}

	.corp-single-content h2 {
		padding: 10px 18px 10px 44px;
		font-size: 18px;
		border-radius: 22px;
	}

	.corp-single-content h2::before {
		left: 16px;
	}

	.corp-single-content h3 {
		font-size: 17px;
	}

	.corp-single-content ul,
	.corp-single-content ol {
		padding: 18px 18px;
	}

	.corp-single-nav {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px 12px;
		margin-top: 48px;
	}

	.corp-single-nav-list {
		grid-column: 1 / -1;
		order: 3;
		justify-self: center;
	}

	.corp-single-nav-list a {
		width: 104px;
		font-size: 13px;
	}

	.corp-single-nav-prev a,
	.corp-single-nav-next a {
		gap: 8px;
		padding: 10px 14px;
		font-size: 13px;
	}

	.corp-arrow {
		width: 34px;
		background-size: 22px 9px;
	}
}


.corp-list-icon {
    position: relative;
    display: inline-block;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

.corp-list-icon::before {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 4px;
    height: 4px;
    background-color: currentColor;
    box-shadow:
        6px 0 currentColor,
        12px 0 currentColor,
        0 6px currentColor,
        6px 6px currentColor,
        12px 6px currentColor,
        0 12px currentColor,
        6px 12px currentColor,
        12px 12px currentColor;
}

.corp-news .container,
.corp-recruit .container,
.corp-event .container {
    width: min(100%, 1200px);
    margin: auto;
}

.kakudaihaba {
	margin-left: 15px;
	margin-right: 15px;
}
@media (min-width: 576px) {
	.kakudaihaba {
		margin-left: 5%;
		margin-right: 5%;
	}
}
@media (min-width: 1200px) {
	.kakudaihaba {
		margin-left: 8%;
		margin-right: 8%;
	}
}
