@charset "utf-8";
@import "https://use.fontawesome.com/releases/v5.13.0/css/all.css";

/*** other ***/

html {
	-webkit-text-size-adjust:100%;
	text-size-adjust:100%;
}

.site-body,
.site-body-container,
h2,
h3,
h4 {
	padding:0 !important;
	margin:0 !important;
	width:100% !important;
	max-width:100% !important;
}

.site-header,
.site-body-bottom,
.admin-bar .vk-mobile-nav-menu-btn,
.vk-mobile-nav-menu-btn,
.wp-block-columns,
.wp-block-cover,
.wp-block-spacer,
.wp-block-heading,
.wp-block-latest-posts__list,
.footer-nav,
.site-footer-copyright,
.page-header,
.breadcrumb {
	display:none !important;
}

.site-footer {
	border:none !important;
}

html,
body,
header {
	overflow-x:hidden !important;
	overflow-y:visible !important;
}

h2,
h3,
h3:after,
h4,
h4:after {
	border:none;
	background:rgba(255, 255, 255, 0.0);
}

h3:after,
h4:after {
	display:none;
}

ul,
p {
	margin:0;
	padding:0;
}

ul li {
	list-style:none;
	margin:0;
	padding:0;
}

/*** /other ***/

/*** font ***/

.font-weigth {
	font-weight:bold;
}

.font-mincho,
.shop-view-month-container .star-kuchikomi-box h3 {
	font-family:"游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.font-green {
	color:#005739;
}

.font-blue {
	color:#0098BD;
}

.top-title-h3 {
	font-size:1.5rem;
	font-weight:bold;
	letter-spacing:0.3em;
	text-align:center;
}

.top-subtitle {
	font-size:0.9rem;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:1rem;
	text-align:center;
	margin-bottom:2rem;
}

.top-subtitle::before,
.top-subtitle::after {
	content:"";
	display:block;
	width:5em;
	height:1px;
	background:#005739;
}

/*** /font ***/

/*** fade-in ***/

.fade-in {
	opacity:0;
	transition-duration:3000ms;
	transition-property:opacity, transform;
}

.fade-in-up {
	transform:translate(0, 20px);
}

.fade-in-down {
	transform:translate(0, -50px);
}

.fade-in-left {
	transform:translate(-50px, 0);
}

.fade-in-right {
	transform:translate(50px, 0);
}

.scroll-in {
	opacity:1;
	transform:translate(0, 0);
}

/*** /fade-in ***/

/*** .main-btn-box ***/

.main-btn-box {
	text-align:center;
	margin-top:2rem;
}

a.btn-border {
	border:2px solid #0098BD;
	border-radius:0;
	background:#FFFFFF;
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
	padding:1rem;
	text-align:center;
	width:15em;
	font-size:1rem;
	letter-spacing:0.2em;
}

a.btn-border:before {
	position:absolute;
	top:0;
	left:0;
	width:1.5rem;
	height:100%;
	content:'';
	-webkit-transition:all 0.5s;
	transition:all 0.5s;
	-webkit-transform:translateX(0) translateY(0);
	transform:translateX(0) translateY(0);
	border-radius:0 50% 50% 0;
	background:#0098BD;
}

a.btn-border:hover:before {
	font-family:'Font Awesome 5 Free';
	font-weight:bold;
	line-height:3rem;
	width:3rem;
	height:3rem;
	content:'\f061';
	-webkit-transform:translateX(450%) translateY(0.25rem);
	transform:translateX(450%) translateY(0.25rem);
	color:#FFFFFF;
	border-radius:50%;
	display:flex;
	align-items:center;
	justify-content:center;
	padding-left:0.1rem;
}

/*** /.main-btn-box ***/

/*** .fix-header-menu ***/

.fix-header-menu {
	position:fixed;
	top:1rem;
	left:50%;
	transform:translateX(-50%);
	width:95%;
	/*max-width:1200px;*/
	display:flex;
	align-items:center;
	justify-content:space-between;
	background:rgba(255,255,255,0.8);
	backdrop-filter:blur(3px);
	z-index:9999;
	border-radius:1rem;
	transition:
		width .3s ease,
		background .5s ease,
		backdrop-filter .5s ease;
}

.fix-header-menu.scroll {
	width:98%;
	background:rgba(255,255,255,0.5);
}

.fix-header-menu.scroll:hover {
	background:rgba(255,255,255,0.9);
}

.fix-header-menu .left-box {
	padding:1rem 2rem;
	display:flex;
	align-items:center;
	gap:0.8rem;
}

.fix-header-menu .left-box img {
	width:2.5em;
	height:auto;
	display:block;
}

.fix-header-menu .left-box h2 {
	margin:0;
}

.fix-header-menu .left-box h2 {
	font-size:1.1rem;
	font-weight:bold;
	display:flex;
	align-items:center;
	margin:0;
	line-height:1;
}

.fix-header-menu .left-box h2 span {
	font-size:1.8rem;
	padding-left:0.5rem;
	display:inline-block;
	line-height:1;
}

.fix-header-menu .right-box > ul {
	display:grid;
	grid-auto-flow:column;
	grid-auto-columns:1fr;
	list-style:none;
	margin:0;
	padding:0 2rem 0 0;
	column-gap:0.5em;
}

.fix-header-menu .right-box > ul > li {
	text-align:center;
	min-width:max-content;
	padding:1.5rem 0;
}

.fix-header-menu.scroll .left-box,
.fix-header-menu.scroll .right-box > ul > li {
	padding-top:0.5rem;
	padding-bottom:0.5rem;
}

.fix-header-menu.scroll .left-box {
	padding-left:2.5rem;
}

.fix-header-menu .right-box > ul {
	padding-right:2.5rem;
}

.fix-header-menu .right-box ul li {
	position:relative;
	cursor:pointer;
}

.fix-header-menu .right-box > ul > li a,
.fix-header-menu .right-box > ul .has-submenu > span {
	padding:0 0.5em;
}

.fix-header-menu .right-box > ul > li > a,
.fix-header-menu .right-box > ul .has-submenu > span {
	position:absolute;
	top:50%;
	left:0;
	transform:translateY(-50%);
	-webkit-transform:translateY(-50%);
	-ms-transform:translateY(-50%);
	width:100%;
	height:100%;
	display:flex;
	align-items:center;
	justify-content:center;
}

.fix-header-menu .right-box ul li a,
.fix-header-menu .right-box ul li span {
	text-decoration:none;
	color:#000000;

	font-size:0.8rem;
	font-weight:normal;
}

.fix-header-menu .right-box > ul > li > a,
.fix-header-menu .right-box > ul > li > span {
	position:relative;
	display:inline-block;
	text-decoration:none;
	color:#000000;
}

.fix-header-menu .right-box > ul > li::after {
	content:"";
	position:absolute;
	left:0;
	bottom:1.1rem;
	width:100%;
	height:1px;
	background:#005739;
	transform:scaleX(0);
	transform-origin:left;
	transition:transform .3s ease;
}

.fix-header-menu.scroll .right-box > ul > li::after {
	bottom:0;
}

.fix-header-menu .right-box > ul > li:hover::after {
	transform:scaleX(1);
}

.fix-header-menu .sub-menu {
	position:fixed;
	top:5rem;
	left:50%;
	transform:translateX(-50%);
	width:80%;
	display:flex;
	flex-wrap:wrap;
	gap:2rem;
	padding:2rem;
	background:rgba(255,255,255,0.9);
	/*backdrop-filter:blur(3px);*/
	border-radius:1rem;
	box-shadow:0 10px 30px rgba(0,0,0,0.08);
	justify-content:center;
	z-index:100;
	opacity:0;
	visibility:hidden;
	transition:0.3s;
	align-items:stretch;
}

.fix-header-menu.scroll .sub-menu {
	top:4rem;
}

.fix-header-menu .has-submenu:hover .sub-menu {
	opacity:1;
	visibility:visible;
	cursor:auto;
}

.fix-header-menu .sub-menu li {
	width:calc((100% - 6rem) / 4);
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:flex-start;
	gap:1rem;
	background:#FFFFFF;
	border-radius:5px;
	padding:1rem;
	box-shadow:0 5px 10px rgba(0,0,0,0.1);
	transition:
		transform .3s ease,
		box-shadow .3s ease;
}

.fix-header-menu .sub-menu li:hover {
	transform:scale(1.03);
	box-shadow:0 10px 20px rgba(0,0,0,0.2);
}

.fix-header-menu .sub-menu li a {
	width:100%;
	height:100%;
	padding:0 !important;
	display:flex;
	flex-direction:column;
	height:100%;
}

.fix-header-menu .sub-menu li a .img-box {
	width:100%;
	aspect-ratio:5 / 3;
	overflow:hidden;
}

.fix-header-menu .sub-menu li a .img-box img {
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}

.fix-header-menu .sub-menu li a p {
	width:100%;
	text-align:center;
	margin-top:1rem;
	line-height:1.3;
	font-weight:bold;
	flex:1;
	display:flex;
	align-items:center;
	justify-content:center;
}

/*** .humburger-menu ***/

.humburger-btn {
	display:none;
}

.humburger-menu {
	display:none;
}

/*** .fix-recruit-btn ***/

.fix-recruit-btn {
	position:fixed;
	right:1rem;
	bottom:2rem;
	width:20%;
	z-index:9998;
	opacity:1;
	visibility:visible;
	transition:
		opacity .5s ease,
		visibility .5s;
}

.fix-recruit-btn.hide {
	opacity:0;
	visibility:hidden;
	transform:translateY(20px);
}

.fix-recruit-btn .inner {
	display:flex;
	align-items:stretch;
	border:3px solid #FFFFFF;
	background:#FFFFFF;
	border-radius:1rem;
	overflow:hidden;
	min-height:8rem;
	position:relative;
	box-shadow:5px 5px 1px rgba(0,87,57,0.3);
	transition:
		transform .3s ease,
		box-shadow .3s ease;
}

.fix-recruit-btn:hover .inner {
	transform:translate(6px, 6px);
	box-shadow:none;
}

.fix-recruit-btn .inner > a {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}

.fix-recruit-btn .left-box {
	width:45%;
	overflow:hidden;
}

.fix-recruit-btn .left-box img {
	width:auto;
	height:100%;
	object-fit:cover;
	object-position:center;
	display:block;
}

.fix-recruit-btn .right-box {
	width:55%;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	padding:0;
	text-align:center;
}

.fix-recruit-btn .right-box .content-box {
	background:#ECF6F9;
	padding:1rem;
	width:100%;
}

.fix-recruit-btn .right-box .content-box p:last-child {
	line-height:1.2;
	font-size:0.8rem;
}

.fix-recruit-btn .right-box .content-box .gradation {
	background:linear-gradient(
		90deg,
		#FF5FA2 0%,
		#FF7EB3 35%,
		#FF9BC5 70%,
		#FFD0E1 100%
	);

	-webkit-background-clip:text;
	-webkit-text-fill-color:transparent;

	background-clip:text;
	color:transparent;
	line-height:1.2;
	font-size:1.2rem;
	font-weight:bold;
	letter-spacing:0.08em;
	margin-bottom:0.5em;
}

.fix-recruit-btn .right-box .btn-box {
	width:100%;
	background:#0098BD;
}

.fix-recruit-btn .right-box .btn-box p {
	color:#FFFFFF;
	padding:0.5rem 1rem;
	font-size:0.8rem;
}

.fix-recruit-btn.hide {
	opacity:0;
	visibility:hidden;
	transform:translateY(20px);
}

/*** /.fix-recruit-btn ***/

/*** .slider ***/

.slide {
	position:relative;
	overflow:hidden;
}

.top-page-view-container .fade {
	position:relative;
	width:100%;
	height:100vh;
	height:100dvh;
	overflow:hidden;
}

.fade .slick-list,
.fade .slick-track,
.fade .slick-slide,
.fade .slick-slide > div,
.fade .slick-item {
	height:100%;
}

.fade .slick-item {
	position:relative;
	width:100%;
	height:100vh;
	height:100dvh;
	overflow:hidden;
}

.fade .slick-item img {
	position:absolute;
	top:50%;
	left:50%;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
	transform:translateX(-50%, -50%);
	display:block;
}

.fade .slick-item .ab-text {
	position:absolute;
	bottom:4rem;
	left:10%;
	z-index:100;
	width:max-content;
}

.fade .slick-item .ab-text p {
	font-size:1.1rem;
	font-weight:bold;
	letter-spacing:0.3em;
	color:#FFFFFF;
	text-shadow:
	0 2px 6px rgba(0,0,0,0.7),
	0 0 12px rgba(0,0,0,0.4);
}

.fade .slick-item .ab-text p.title {
	font-size:1.3rem;
	padding-bottom:1rem;
}

.top-page-view-container .fade .slick-dots {
	position:absolute;
	bottom:1.5rem;
	left:50%;
	transform:translateX(-50%);
	display:flex !important;
	justify-content:center;
	gap:1rem;
	z-index:100;
}

.top-page-view-container .fade .slick-dots li {
	width:3rem;
	height:0.2rem;
	margin:0;
}

.top-page-view-container .fade .slick-dots li button {
	width:100%;
	height:100%;
	padding:0;
	font-size:0;
	line-height:0;
	border:none;
	background:none;
}

.top-page-view-container .fade .slick-dots li button:before {
	content:"";
	width:100%;
	height:0.2rem;
	background:#CCCCCC;
	opacity:1;
	display:block;
	position:static;
	cursor:pointer;
}

.top-page-view-container .fade .slick-dots li.slick-active button:before {
	background:#005739;
}

@keyframes zoomUp {
	0% {
		transform:
			translate(-50%, -50%)
			scale(1);
	}

	100% {
		transform:
			translate(-50%, -50%)
			scale(1.15);
	}
}

.add-animation img {
	animation:zoomUp 10s linear forwards;
}

/*** /.slider ***/

/*** .top-page-view-container ***/

.top-page-view-container {
	position:relative;
	
	.ab-top-one {
		position:absolute;
		top:50%;
		left:50%;
		transform:translate(-50%, -50%);
		-webkit-transform:translate(-50%, -50%);
		-ms-transform:translate(-50%, -50%);
		
		p {
			padding:5rem 0 0;
			margin:0;
			font-size:1.8rem;
			font-weight:bold;
			writing-mode:vertical-rl;
			text-orientation:upright;
			color:#FFFFFF;
			text-shadow:0 0 10px #666666;
			letter-spacing:0.2em;
			
			span {
				padding:0.5em;
			}
		}
	}
	
	.ab-top-two {
		position:absolute;
		bottom:5rem;
		left:3rem;
		
		p {
			background:#FFFFFF;
			padding:1em 1.5em;
			width:max-content;
			font-size:1.3rem;
			
			position:relative;
		}
		
		p:first-child::before {
			position:absolute;
			top:-2em;
			left:-1rem;
			content:"";
			border-radius:50%;
			width:3em;
			height:3em;
			background:rgba(0, 87, 57, 0.6);
			z-index:10;
		}
		
		p:first-child::after {
			position:absolute;
			right:-1rem;
			bottom:-0.5rem;
			content:"";
			border-radius:50%;
			width:1.5em;
			height:1.5em;
			background:rgba(255, 95, 162, 0.6);
			z-index:10;
		}
		
		p:last-child {
			margin-left:2em;
			margin-top:0.5em;
		}
		
		p:last-child::before {
			position:absolute;
			bottom:-1.5em;
			left:4em;
			content:"";
			border-radius:50%;
			width:2em;
			height:2em;
			background:rgba(0, 152, 189, 0.4);
			z-index:10;
		}
	}
}

/*** /.top-page-view-container ***/

/*** .top-page-news-container ***/

.top-page-news-container {
	width:50%;
	margin:5rem auto;
}

.top-page-news-container h3 {
	text-align:center;
}

.top-page-news-container .top-subtitle {
	text-align:center;
}

.top-page-news-container .news-view-box {
	border:1px solid #FFFFFF;
	border-radius:5px;
	box-shadow:0 5px 10px rgba(0,0,0,0.2);
	padding:1rem;
}

.top-page-news-container .news-slider {
	width:100%;
	position:relative;
	opacity:0;
	transition:opacity .3s ease;
}

.top-page-news-container .news-slider.slick-initialized {
	opacity:1;
}

.top-page-news-container .news-slider .news-item {
	background:rgba(0, 87, 57, 0.05);
}

.top-page-news-container .news-slider .news-item a {
	position:relative;
	display:flex;
	align-items:center;
	gap:1rem;
	padding:1rem 3rem 1rem 1rem;
	text-decoration:none;
	color:#000000;
	transition:all 0.3s ease;
}

.top-page-news-container .news-slider .news-item a:hover {
	background:rgba(0, 87, 57, 0.3);
}

.top-page-news-container .news-slider .news-item a::after {
	content:"›";
	position:absolute;
	right:1rem;
	top:50%;
	transform:translateY(-50%);
	font-size:1.5rem;
	line-height:1;
	color:#005739;
	transition:transform .3s ease;
}

.top-page-news-container .news-slider .news-item .date {
	min-width:7rem;
	font-size:0.8rem;
	color:#666666;
}

.top-page-news-container .news-slider .news-item .title {
	font-size:1rem;
}

.top-page-news-container .news-nav {
	display:flex !important;
	align-items:center;
	justify-content:center;
	gap:1rem;
	margin-top:1rem;
}

.top-page-news-container .slick-dots {
	display:flex !important;
	align-items:center;
	justify-content:center;
	gap:0.5rem;
	list-style:none;
	margin:0;
	padding:0;
}

.top-page-news-container .slick-dots li {
	display:flex;
	align-items:center;
	justify-content:center;
	margin:0;
	padding:0;
}

.top-page-news-container .slick-dots li button {
	position:relative;
	width:0.7rem;
	height:0.7rem;
	border:none;
	border-radius:50%;
	background:#CCCCCC;
	cursor:pointer;
	padding:0;
	font-size:0;
	line-height:0;
	color:transparent;
}

.top-page-news-container .slick-dots li button::before {
	display:none;
}

.top-page-news-container .slick-dots li.slick-active button {
	background:#005739;
}

.top-page-news-container .news-prev,
.top-page-news-container .news-next {
	display:flex;
	align-items:center;
	justify-content:center;
	width:1.5rem;
	height:1.5rem;
	background:none;
	border:none;
	font-size:1.5rem;
	line-height:1;
	color:#005739;
	cursor:pointer;
	padding:0;
	margin:0;
	transform:translateY(-2px);
	/*transition:opacity .3s ease;*/
}

.top-page-news-container .news-prev:hover,
.top-page-news-container .news-next:hover {
	opacity:0.6;
}

/*** /.top-page-news-container ***/

/*** .top-page-about-container ***/

.top-page-about-container {
	margin-top:10rem;
	position:relative;
}

.top-page-about-container .ab-circle {
	position:absolute;
	border-radius:50%;
	z-index:0;
}

.top-page-about-container .circle-first {
	top:-5rem;
	left:3rem;
	width:10rem;
	height:10rem;
	background:rgba(0, 152, 189, 0.4);
}

.top-page-about-container .circle-second {
	top:0.5rem;
	left:13rem;
	width:5rem;
	height:5rem;
	background:rgba(255, 95, 162, 0.4);
}

.top-page-about-container .inner .divide-box {
	display:flex;
	align-items:center;
	width:80%;
	margin:5rem auto 0;
}

.top-page-about-container .inner .divide-box .left-box,
.top-page-about-container .inner .divide-box .right-box {
	width:50%;
}

.top-page-about-container .inner .divide-box .left-box .img-box {
	width:80%;
	margin:auto;
}

.top-page-about-container .inner .divide-box .left-box .img-box img {
	width:100%;
	display:block;
	border-radius:55% 45% 60% 40% / 40% 60% 45% 55%;
	transform:rotate(-2deg);
}

.top-page-about-container .inner .divide-box .right-box .title {
	font-size:1.3rem;
	font-weight:bold;
	border-bottom:8px dotted #FFF3BC;
	padding:0 0.5em 0.5em;
	margin:0 0.5em 1em;
	display:inline-block;
}

.top-page-about-container .inner .divide-box .right-box .sub {
	line-height:2;
}

.top-page-about-container .inner .divide-box .right-box .sub:not(:last-child) {
	margin-bottom:0.8em;
}

.top-page-about-container .inner .main-btn-box {
	margin-top:5rem;
}


/*** /.top-page-about-container ***/

/*** .top-page-service-container ***/

.top-page-service-container {
	margin-top:10rem;
	position:relative;
	z-index:100;
}

.top-page-service-container .ab-circle {
	position:absolute;
	border-radius:50%;
	z-index:0;
}

.top-page-service-container .circle-first {
	top:-5rem;
	right:3rem;
	width:10rem;
	height:10rem;
	background:rgba(0, 87, 57, 0.2);
}

.top-page-service-container .circle-second {
	top:2rem;
	right:10rem;
	width:5rem;
	height:5rem;
	background:rgba(255, 224, 87, 0.4);
}

.top-page-service-container .dot-bg {
	position:absolute;
	z-index:0;
	top:-10rem;
	left:-3rem;
	width:30%;
	height:auto;
}

.top-page-service-container .dot-bg img {
	width:100%;
}

.top-page-service-container .service-inner-container {
	display:grid;
	grid-template-columns:repeat(2, 1fr);
	gap:2rem;
	width:80%;
	margin:3rem auto 0;
}

.top-page-service-container .service-item .service-item-inner {
	position:relative;
	background:#FFFFFF;
	overflow:visible;
	box-shadow:12px 12px 0 rgba(0, 87, 57, 0.12);
	border-radius:1.5rem;
	padding:1rem;
	transition:all 0.3s ease;
}

.top-page-service-container .service-item .service-item-inner:hover {
	transform:translate(8px, 8px);
	box-shadow:4px 4px 0 rgba(0, 87, 57, 0.12);
}

.top-page-service-container .service-item .service-item-inner::after {
	content:"";
	position:absolute;
	top:-1px;
	left:-1px;
	width:calc(100% + 2px);
	height:calc(100% + 2px);
	border:1px solid rgba(0, 87, 57, 0.1);
	border-radius:calc(1.5rem + 1px);
	z-index:10;
	pointer-events:none;
	box-sizing:border-box;
}

.top-page-service-container .service-item:last-child {
	grid-column:1 / 3;
	width:calc((100% - 5rem) / 2);
	margin:0 auto;
}

.top-page-service-container .service-item a {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index:10;
}

.top-page-service-container .service-item .service-img {
	height:20rem;
	overflow:hidden;
	border-radius:1.2rem;
}

.top-page-service-container .service-item .service-img img {
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
	display:block;
	border-radius:1.2rem;
}

.top-page-service-container .service-item .content-box {
	position:relative;
	width:100%;
	margin:-3rem auto 0;
	padding:0;
	z-index:2;
	box-sizing:border-box;
}

.top-page-service-container .service-item .content-box .title {
	font-size:1.1rem;
	font-weight:bold;
	background:#FFFFFF;
	border-radius:0 5rem 5rem 0;
	width:max-content;
	padding:1.5rem 3rem 1.5rem 1rem;
	position:relative;
}

.top-page-service-container .service-item .content-box .title::after {
	content:'\f061';
	font-family:'Font Awesome 5 Free';
	font-weight:900;
	position:absolute;
	top:50%;
	right:1.2rem;
	transform:translateY(-50%);
}

.top-page-service-container .service-item .content-box .description {
	line-height:1.8;
	background:#FFFFFF;
	padding:0 1rem 1rem;
	font-size:0.9rem;
}

/*** /.top-page-service-container ***/

/*** .top-page-contact-container ***/

.top-page-contact-container {
	margin-top:10rem;
	width:100%;
	position:relative;
}

.top-page-contact-container .dot-bg {
	position:absolute;
	top:-20rem;
	right:-1rem;
	width:30%;
	z-index:0;
}

.top-page-contact-container .ab-circle {
	position:absolute;
	border-radius:50%;
	z-index:0;
}

.top-page-contact-container .circle-first {
	top:-18rem;
	left:3rem;
	width:10rem;
	height:10rem;
	background:rgba(0, 152, 189, 0.4);
}

.top-page-contact-container .circle-second {
	top:-10rem;
	left:13rem;
	width:5rem;
	height:5rem;
	background:rgba(255, 224, 87, 0.4);
}

.top-page-contact-container .inner {
	display:flex;
	align-items:center;
	justify-content:center;
	gap:3rem;
	background:#FFFFFF;
	position:relative;
	z-index:10;
}

.top-page-contact-container .title-box {
	text-align:center;
}

.top-page-contact-container .title-box .title {
	font-size:2rem;
}

.top-page-contact-container .title-box .sub {
	font-size:1rem;
}

.top-page-contact-container .inner .img-box {
	position:relative;
	display:flex;
	align-items:center;
	gap:1.5rem;
	padding-left:3rem;
}

.top-page-contact-container .inner .img-box::before {
	content:"";
	position:absolute;
	left:0;
	top:50%;
	transform:translateY(-50%);
	height:7rem;
	border-left:5px dotted rgba(0, 87, 57, 0.8);
}

.top-page-contact-container .inner .img-box .left-box img {
	width:5em;
	height:auto;
	display:block;
}

.top-page-contact-container .inner .img-box .right-box {
	text-align:center;
}

.top-page-contact-container .inner .img-box .right-box .main,
.top-page-contact-container .inner .img-box .right-box .sub {
	font-size:1rem;
}

.top-page-contact-container .inner .img-box .right-box .number {
	font-size:2rem;
	line-height:1.5;
}

.top-page-contact-container .inner .img-box .right-box .main-btn-box {
	margin-top:0.5rem;
}

.top-page-contact-container .inner .img-box .right-box .main-btn-box a.btn-border {
	border-color:#005739;
	color:#005739;
}

.top-page-contact-container .inner .img-box .right-box .main-btn-box a.btn-border::before {
	background:#005739;
}

/*** /.top-page-contact-container ***/

/*** .top-page-banner-container ***/

.top-page-banner-container {
	width:80%;
	margin:3rem auto 0;
}

.top-page-banner-container .inner {
	display:flex;
	justify-content:center;
	align-items:center;
	gap:3rem;
}

.top-page-banner-container .inner .left-box,
.top-page-banner-container .inner .right-box {
	flex:1;
	display:flex;
	justify-content:center;
	align-items:center;
	border:2px solid #005739;
	border-radius:5px;
	box-shadow:6px 6px 0 rgba(0, 87, 57, 0.12);
	transition:0.3s;
	position:relative;
}

.top-page-banner-container .inner .left-box:hover,
.top-page-banner-container .inner .right-box:hover {
	transform:translate(6px, 6px);
	box-shadow:0 0 0 rgba(0, 87, 57, 0.12);
}

.top-page-banner-container .inner .left-box a,
.top-page-banner-container .inner .right-box a {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}

.top-page-banner-container .divide-box {
	display:flex;
	align-items:stretch;
	gap:2rem;
	width:100%;
	height:100%;
}

/*.top-page-banner-container .content-box,
.top-page-banner-container .img-box {
	display:flex;
	flex-direction:column;
	justify-content:center;
}*/

.top-page-banner-container .content-box {
	padding:1.5rem;
	width:70%;
}

.top-page-banner-container .content-box p:first-child {
	font-size:2rem;
	line-height:1.3;
}

.top-page-banner-container .content-box p:last-child {
	margin-top:0.5rem;
	text-align:center;
}

.top-page-banner-container .img-box {
	width:30%;
	overflow:hidden;
	display:flex;
	justify-content:center;
	align-items:center;
	align-self:stretch;
}

.top-page-banner-container .img-box img {
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
	display:block;
	border-radius:0 3px 3px 0;
}

.top-page-banner-container .left-box .content-box {
	color:#005739;
}

.top-page-banner-container .left-box .content-box p {
	background:linear-gradient(to right, #005739 0%, #68D6C7 100%);
	-webkit-background-clip:text;
	-webkit-text-fill-color:transparent;
	background-clip:text;
	color:transparent;
}

.top-page-banner-container .left-box .content-box p:last-child {
	display:inline-block;
	padding:0.8rem 1.5rem;
	border-radius:999px;
	background:linear-gradient(to right, #005739 0%, #68D6C7 100%);
	color:#FFFFFF;
	-webkit-text-fill-color:#FFFFFF;
}

.top-page-banner-container .right-box .content-box p {
	background:linear-gradient(to right, #FF5FA2 0%, #FF9BC5 100%);
	-webkit-background-clip:text;
	-webkit-text-fill-color:transparent;
	background-clip:text;
	color:transparent;
}

.top-page-banner-container .right-box .content-box p:last-child {
	display:inline-block;
	padding:0.8rem 1.5rem;
	border-radius:999px;
	background:linear-gradient(to right, #FF5FA2 0%, #FF9BC5 100%);
	color:#FFFFFF;
	-webkit-text-fill-color:#FFFFFF;
}

/*** /.top-page-banner-container ***/

/*** .my-footer-continer ***/

.my-footer-continer {
	background:#005739;
	border-radius:3rem 3rem 0 0;
	margin:5rem 0 0;
	width:100%;
}

.my-footer-continer .inner {
	display:block;
}

.my-footer-continer .logo-box {
	display:flex;
	justify-content:center;
	align-items:center;
	gap:1rem;
	padding-top:3rem;
}

.my-footer-continer .logo-box img {
	width:3rem;
}

.my-footer-continer .logo-box p {
	font-size:1rem;
	color:#FFFFFF;
	display:flex;
	align-items:center;
	gap:0.3rem;
}

.my-footer-continer .logo-box p span {
	font-size:1.5rem;
}

.my-footer-continer .white-bg {
	content:"";
	height:2px;
	width:90%;
	margin:3rem auto;
	background:#FFFFFF;
}

.my-footer-continer .footer-list {
	width:44em;
	margin:0 auto;
}

.my-footer-continer .footer-list .list-item {
	display:grid;
	grid-template-columns:1fr 3fr 1.7fr;
	gap:5rem;
	align-items:start;
	justify-content:center;
}

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

.my-footer-continer .footer-list li {
	font-size:0.8rem;
	color:#FFFFFF;
	margin-bottom:1rem;
	line-height:1.8;
}

.my-footer-continer .footer-list a {
	position:relative;
	color:#FFFFFF;
	text-decoration:none;
	display:inline-block;
}

.my-footer-continer .footer-list a::after {
	content:"";
	position:absolute;
	left:0;
	bottom:-0.2rem;
	width:0;
	height:1px;
	background:#FFFFFF;
	transition:width 0.3s ease;
}

.my-footer-continer .footer-list a:hover::after {
	width:100%;
}

.my-footer-continer .my-footer-copyright {
	border-top:1px solid #FFFFFF;
	width:100%;
	padding:1rem;
	margin-top:2rem;
}

.my-footer-continer .my-footer-copyright p,
.my-footer-continer .my-footer-copyright p a {
	text-align:center;
	color:#FFFFFF;
	font-size:0.8rem;
}

.my-footer-continer .my-footer-copyright p a {
	padding-left:0.5em;
}

.my-footer-continer .footer-list ul:nth-child(2) li:has(a) {
	display:flex;
	align-items:center;
	gap:1rem;
}

.my-footer-continer .footer-list ul:nth-child(2) li:has(a)::before {
	content:"";
	width:3em;
	height:1px;
	background:#FFFFFF;
	flex-shrink:0;
}

/*** /.my-footer-continer ***/

@media only screen and (max-width: 1299px) {
	
	.pc-view-1300 {
		display:none !important;
	}
	
	.fix-recruit-btn .inner {
		flex-direction:column;
	}

	.fix-recruit-btn .left-box,
	.fix-recruit-btn .right-box {
		width:100%;
	}

	.fix-recruit-btn .left-box {
		height:5rem;
	}

	.fix-recruit-btn .left-box img {
		width:100%;
		height:100%;
		object-fit:cover;
	}

	.fix-recruit-btn .right-box .content-box {
		padding:0.8rem 0.5rem;
	}
	
	.fix-recruit-btn .right-box .content-box p:last-child {
		line-height:1.5;
		font-size:0.8rem;
	}
	
	.fix-recruit-btn .right-box .content-box .gradation {
		margin-bottom:0.2em;
	}
	
}

@media only screen and (max-width: 1199px) {
	
	.fix-header-menu .right-box > ul {
		grid-auto-columns:max-content;
	}
	
	.fix-header-menu .right-box > ul > li {
		white-space:nowrap;
	}
	
	.fix-header-menu .right-box > ul > li.has-submenu {
		width:5em;
		min-width:max-content;
	}
	
}

@media only screen and (max-width: 1099px) {
	
	.fix-header-menu .left-box {
		padding:1rem 0 1rem 1.5rem;
	}
	
	.fix-header-menu .left-box h2 {
		font-size:0.8rem;
	}
	
	.fix-header-menu .left-box h2 span {
		font-size:1.5rem;
	}
	
	.fix-header-menu .left-box img {
		width:1.7em;
	}
	
	.fix-recruit-btn {
		width:25%;
	}
	
	.fix-header-menu .right-box > ul {
		padding-right:1.5rem;
		column-gap:1rem;
	}
	
	.fix-header-menu .right-box > ul > li.has-submenu {
		width:4em;
	}
	
	.fix-header-menu .right-box > ul > li > a {
		padding:0;
	}
	
}

@media only screen and (max-width: 999px) {
	
	.pc-view-1000,
	.fix-header-menu {
		display:none !important;
	}
	
	.hamburger-btn {
		position:fixed;
		top:1rem;
		left:1rem;
		z-index:10001;
		width:3.5rem;
		height:3.5rem;
		display:flex;
		align-items:center;
		justify-content:center;
		cursor:pointer;
		background:rgba(255,255,255,0.8);
		backdrop-filter:blur(3px);
		border-radius:50%;
		box-shadow:0 3px 10px rgba(0,0,0,0.2);
	}

	.hamburger-btn span {
		position:absolute;
		left:50%;
		top:50%;
		display:block;
		width:1.8rem;
		height:2px;
		margin-left:-0.9rem;
		margin-top:-1px;
		background:#333;
		transform-origin:center center;
		transition:transform .4s ease, opacity .3s ease;
	}

	.hamburger-btn span:nth-child(1) {
		transform:translateY(-0.6rem);
	}

	.hamburger-btn span:nth-child(2) {
		transform:translateY(0);
	}

	.hamburger-btn span:nth-child(3) {
		transform:translateY(0.6rem);
	}

	.hamburger-btn.active span:nth-child(1) {
		transform:rotate(45deg);
	}

	.hamburger-btn.active span:nth-child(2) {
		opacity:0;
	}

	.hamburger-btn.active span:nth-child(3) {
		transform:rotate(-45deg);
	}

	.hamburger-overlay {
		position:fixed;
		top:0;
		left:0;
		width:100%;
		height:100vh;
		background:rgba(0,0,0,0.5);
		z-index:9999;
		opacity:0;
		visibility:hidden;
		transition:opacity .3s ease, visibility .3s ease;
	}

	.hamburger-overlay.active {
		opacity:1;
		visibility:visible;
	}

	.humburger-menu {
		position:fixed;
		top:0;
		left:0;
		height:100vh;
		padding:6rem 2rem 3rem 1rem;
		background:rgba(255,255,255,0.8);
		backdrop-filter:blur(8px);
		z-index:10000;
		overflow-y:auto;
		transform:translateX(-100%);
		transition:transform .5s ease;
		display:block;
	}

	.humburger-menu.active {
		transform:translateX(0);
	}

	.humburger-val p {
		margin:0;
	}

	.humburger-val p a {
		display:inline-block;
		padding:0.8rem 2rem;
		color:#005739;
		text-decoration:none;
		font-size:1.1rem;
		font-weight:bold;
		transition:background-color .3s ease;
	}

	.humburger-val p a:hover {
		background:#ECF6F9;
	}

	.humburger-val ul {
		margin:0 0 1rem;
		padding:0 0 0 2.5rem;
		list-style:none;
	}

	.humburger-val li.child {
		padding-left:4.5rem;
		position:relative;
	}

	.humburger-val li.child::before {
		content:"";
		position:absolute;
		top:50%;
		left:1rem;
		width:3em;
		height:1px;
		background:#333;
		transform:translateY(-50%);
	}

	.humburger-val li a {
		position:relative;
		display:inline-block;
		padding:0.5rem 0.8rem 0.5rem 4rem;
		color:#111111;
		text-decoration:none;
		font-size:0.95rem;
		transition:background-color .3s ease;
	}

	.humburger-val li a::before {
		content:"";
		position:absolute;
		top:50%;
		left:0;
		width:3rem;
		height:1px;
		background:#111111;
		transform:translateY(-50%);
		transition:background-color .3s ease;
	}

	.humburger-val li a:hover {
		background:#ECF6F9;
	}

	.humburger-val li a:hover::before {
		background:#005739;
	}

	.humburger-val .no-link {
		cursor:default;
		pointer-events:none;
		text-decoration:none;
	}
	
	.top-page-news-container {
		width:70%;
	}
	
	.top-page-about-container .inner .divide-box,
	.top-page-service-container .service-inner-container {
		width:90%;
	}
	
	.top-page-contact-container .inner {
		flex-wrap:wrap;
		gap:2rem 0;
	}

	.top-page-contact-container .title-box {
		width:100%;
	}

	.top-page-contact-container .inner .img-box {
		width:50%;
		padding-left:0;
		justify-content:center;
		gap:1rem;
	}

	.top-page-contact-container .inner .img-box::before {
		display:none;
	}

	.top-page-contact-container .inner .img-box:nth-child(3)::before {
		content:"";
		display:block;
		position:absolute;
		left:0;
		top:50%;
		transform:translateY(-50%);
		height:7rem;
		border-left:5px dotted rgba(0,87,57,0.8);
	}
	
	.top-page-about-container .inner .divide-box .left-box .img-box {
		margin:0;
		width:90%;
	}
	
	.top-page-banner-container {
		width:90%;
	}
	
}

@media only screen and (max-width: 899px) {
	
	.top-page-view-container .ab-top-two {
		bottom:auto;
		top:7rem;
	}
	
	.top-page-view-container .ab-top-two p {
		font-size:1.1rem;
		padding:1em 2.5em;
	}
	
}

@media only screen and (max-width: 799px) {
	
	.top-page-view-container .ab-top-one {
		left:60%;
	}
	
	.top-page-service-container .service-item .content-box .title {
		padding-left:0.2rem;
		width:auto;
	}
	
	.top-page-banner-container {
		width:95%;
	}
	
	.top-page-banner-container .inner {
		gap:1.5rem;
	}
	
}

@media only screen and (max-width: 699px) {
	
	.pc-view-700 {
		display:none !important;
	}
	
	.fix-recruit-btn {
		width:auto;
	}
	
	.fix-recruit-btn .right-box .content-box {
		padding:0.8rem;
	}
	
	.top-page-view-container .ab-top-one {
		left:auto;
		right:15%;
	}
	
	.top-page-news-container {
		width:90%;
	}
	
	.top-page-service-container .service-inner-container {
		width:95%;
		gap:1rem;
	}
	
	.top-page-service-container .service-item .service-item-inner {
		box-shadow:6px 6px 0 rgba(0, 87, 57, 0.12);
	}
	
	.top-page-service-container .service-item .service-item-inner:hover {
		box-shadow:2px 2px 0 rgba(0, 87, 57, 0.12);
		transform: translate(4px, 4px);
	}
	
	.top-page-service-container .service-item .content-box .description {
		padding:0 0 1rem;
	}
	
	.top-page-banner-container .inner {
		gap:1rem;
	}
	
	.top-page-banner-container .inner .left-box:hover,
	.top-page-banner-container .inner .right-box:hover {
		transform:translate(4px, 4px);
		box-shadow:2px 2px 0 rgba(0, 87, 57, 0.12);
	}
	
	.top-page-banner-container .divide-box {
		gap:0;
	}
	
	.top-page-banner-container .content-box {
		padding:1.5rem 1rem;
	}
	
	.top-page-banner-container .content-box p:first-child {
		font-size:1.5rem;
		margin-bottom:0.5rem;
	}
	
	.top-page-banner-container .content-box .main {
		font-size:1rem;
		line-height:1.3;
	}
	
	.top-page-banner-container .left-box .content-box .btn-p,
	.top-page-banner-container .right-box .content-box .btn-p {
		font-size:0.8rem;
	}
	
	.top-page-banner-container .right-box .content-box p:last-child,
	.top-page-banner-container .left-box .content-box p:last-child {
		padding:0.8rem 1rem;
		width:100%;
	}
	
}

@media only screen and (max-width: 649px) {
	
	.top-page-contact-container .inner {
		display:block;
	}

	.top-page-contact-container .inner .img-box {
		width:100%;
		display:flex;
		justify-content:center;
		padding-left:0;
		margin-top:2rem;
	}
	
	.top-page-contact-container .inner .img-box:last-child {
		padding-top:2rem;
	}

	.top-page-contact-container .inner .img-box::before {
		display:none;
	}
	
	.top-page-contact-container .inner .img-box:nth-child(3)::before {
        left:50%;
        top:0;
        transform:translateX(-50%);
        width:25rem;
		height:auto;
        border-top:5px dotted rgba(0, 87, 57, 0.8);
		border-left:none;
	}
	
	.my-footer-continer .footer-list .list-item {
		grid-template-columns:1fr;
		gap:1rem;
		text-align:center;
	}
	
	.my-footer-continer .footer-list ul:nth-child(2) {
		width:max-content;
		margin:auto;
	}
	
}

@media only screen and (max-width: 599px) {
	
	.pc-view-600 {
		display:none !important;
	}
	
	.top-page-view-container .ab-top-two {
		top:5rem;
	}
	
	.top-page-view-container .ab-top-two p {
		padding:1em 1.5em;
	}
	
	.top-page-service-container .service-item .service-img {
		height:12rem;
	}
	
	.top-page-service-container .service-item .content-box .title {
		line-height:1.3;
	}
	
	.top-page-about-container .inner .divide-box {
		display:block;
		width:90%;
	}

	.top-page-about-container .inner .divide-box .left-box,
	.top-page-about-container .inner .divide-box .right-box {
		width:100%;
	}

	.top-page-about-container .inner .divide-box .left-box .img-box {
		width:60%;
		margin:0 auto 3rem;
	}
	
	.top-page-service-container .service-item:last-child {
		width:50%;
	}
	
	.top-page-banner-container .inner {
		display:block;
	}

	.top-page-banner-container .inner .left-box,
	.top-page-banner-container .inner .right-box {
		width:100%;
		margin-bottom:2rem;
	}
	
	.top-page-banner-container .img-box img {
		
	}

	.top-page-banner-container .inner .right-box {
		margin-bottom:0;
	}
	
	.top-page-banner-container .right-box .content-box p:last-child,
	.top-page-banner-container .left-box .content-box p:last-child {
		line-height:1.3;
		padding:1rem;
		margin-top:1rem;
	}
	
}

@media only screen and (max-width: 549px) {
	
	.my-footer-continer .footer-list {
		width:100%;
	}
	
}

@media only screen and (max-width: 499px) {
	
	.pc-view-500 {
		display:none !important;
	}
	
	.tab-view-500 {
		display:none !important;
	}
	
	.fix-recruit-btn {
		width:80%;
	}
	
	.fix-recruit-btn .inner {
		flex-direction:row;
	}
	
	.fix-recruit-btn .left-box {
		height:auto;
		width:35%;
	}
	
	.fix-recruit-btn .left-box img {
		width:auto;
		height:100%;
	}
	
	.fix-recruit-btn .right-box {
		width:65%;
	}
	
	.top-page-view-container .ab-top-one {
		right:10rem;
	}
	
	.top-page-view-container .ab-top-one p {
		padding-top:11rem;
	}
	
	.top-page-view-container .ab-top-two {
		left:1rem;
	}
	
	.top-page-news-container .news-slider .news-item .date {
		min-width:5rem;
	}
	
	.top-page-service-container .service-inner-container {
		display:grid;
		grid-template-columns:1fr;
		gap:1.5rem;
		width:90%;
		margin:3rem auto 0;
	}

	.top-page-service-container .service-item:last-child {
		grid-column:auto;
		width:100%;
		margin:0;
	}
	
	.top-page-banner-container .content-box .main {
		font-size:0.8rem;
	}
	
}

@media only screen and (max-width: 449px) {
	
	.pc-view-450 {
		display:none !important;
	}
	
}

@media only screen and (min-width: 350px) {
	
	.sp-view-300 {
		display:none !important;
	}
	
}

@media only screen and (min-width: 450px) {
	
	.sp-view-450 {
		display:none !important;
	}
	
}

@media only screen and (min-width: 500px) {
	
	.sp-view-500 {
		display:none !important;
	}
	
}

@media only screen and (min-width: 600px) {
	
	.sp-view-600 {
		display:none !important;
	}
	
}

@media only screen and (min-width: 700px) {
	
	.sp-view-700 {
		display:none !important;
	}
	
}

@media only screen and (min-width: 1000px) {
	
	.sp-view-1000 {
		display:none !important;
	}
	
}

@media only screen and (min-width: 1300px) {
	
	.sp-view-1300 {
		display:none !important;
	}

}

@media only screen and (min-width: 1400px) {
	
	.fix-recruit-btn {
		width:300px;
	}
	
}

@media only screen and (min-width: 1500px) {
	
	.top-page-news-container {
		width:800px;
	}
	
	.top-page-about-container .inner .divide-box,
	.top-page-service-container .service-inner-container,
	.top-page-banner-container {
		width:1250px;
	}

}

