@charset "utf-8";

:root{
	--color-grn:#68c15b;
	--color-dark:#2e2e2e;
	--color-blu:#4083c4;
	--color-blu-rgb:64, 131, 196;
	--color-grn-dark:#2b804e; /* 43, 128, 78 */
	--color-gray:#ccc;

	--color-main:#2b804e;

	--px:20px;
	--py:60px;
	
	--h-header:100px;
	--bs-border-radius:20px;
}

/* Main Layout
----------------------------------------------- */
body{
	font-family:'Noto Sans JP', sans-serif;
	font-optical-sizing:auto;
	font-weight:400;
	font-style:normal;
	color:var(--color-dark);
	line-height:1.6;
	letter-spacing:.07em;
}
article{line-height:1.8;}

.container-fluid,
.container{padding-left:var(--px); padding-right:var(--px);}

.py-content{padding-top:var(--py); padding-bottom:var(--py);}
.py-content-sm{padding-top:calc(var(--py) / 2); padding-bottom:calc(var(--py) / 2);}

.gy-content{row-gap:var(--py);}
.gx-lg{--bs-gutter-x:calc(var(--px) * 3);}

.thin-lg {
	max-width:900px;
	margin-left:auto;
	margin-right:auto;
}
.container-fluid.thin-lg,
.container.thin-lg{max-width:calc(900px + var(--px) * 2);}

/*
.row:not([class*="g-"]){margin-left:calc(var(--px) * -1); margin-right:calc(var(--px) * -1);}
.row:not([class*="g-"])>[class*="col"]{padding-left:var(--px); padding-right:var(--px);}
*/
@media (max-width:992.98px){
	.container{max-width:100%;}
	.gx-lg{--bs-gutter-x:calc(var(--px) * 2);}
}
@media (max-width:767.98px){
	:root {
		--px:20px;
		--py:40px;
	}
}

/* header
-------------------------------------------------------------- */
#header{
	display:flex;
	width:100%;
	height:var(--h-header);
	align-items:center;
	background-color:var(--color-grn-dark);
	position:relative;
	z-index:999;
	transition:.6s;
/* 	text-align:center; */
}
.home #header{background-color:transparent;}
#header .nav-bar{display:flex; align-items:center; justify-content:space-between;}

a.brand{max-width:140px; z-index:1000;}

@media (min-width:576px){
	a.brand{max-width:180px;}
}
@media (min-width:1200px){
	a.brand{max-width:220px;}
}

/* footer
--------------------------------------------------------------*/
#footer .row{justify-content:space-between; text-align:center;}
#copyright{display:block; text-align:center;}

.tel{
	font-family:"M PLUS 1p", sans-serif;
	font-weight:700;
	font-style:normal;
	display:inline-flex;
	gap:.5em;
	font-size:28px;
	color:var(--color-grn-dark);
	text-decoration:none;
}

@media (min-width:768px){
	#footer .row{text-align:inherit;}
}

/*
--------------------------------------------------------------*/
img{max-width:100%; height:auto;}

h1,.h1,h2,.h2,h3,.h3,h4,.h4{line-height:1.6; font-weight:500; margin-bottom:0;}
h1,.h1,
h2,.h2{font-size:28px; margin-bottom:1.5rem;}
h3,.h3{font-size:24px; margin-bottom:1.5rem;}
h4,.h4{font-size:20px; margin-bottom:.75rem;}

.serif{
	font-family: "Noto Serif JP", serif;
	font-optical-sizing:auto;
	font-style:normal;
}

p,
.mb-p{margin-bottom:1.6rem;}

@media (max-width:991px){
	h1,.h1,
	h2,.h2{font-size:26px;}
	h3,.h3{font-size:20px;}
}
@media (max-width:575px){
	.content-header .h1 span,
	.content-header h1 span,
	[class*="title-en"] span{font-size:2.25rem;}
	.title-en-sm span{font-size:1.75rem;}

	h1,.h1,
	h2,.h2{font-size:21px; margin-bottom:1em;}
	h3,.h3{font-size:19px; margin-bottom:1rem;}
	h4,.h4{font-size:17px; margin-bottom:.5rem;}

	.labels>*,
	.label{padding:.75rem 1rem;}
}

/*
.row-gap-sm{row-gap:1.5rem;}
.row-gap-md{row-gap:3rem;}
*/

/*
a,a:hover{color:#2e99ca;}
a:hover{opacity:.7;}
.marker-y{background:linear-gradient(transparent 70%, yellow 30%); font-size:1.2em; font-weight:600;}
*/

/* button & links
----------------------------------------------- */
a.link-box{color:inherit; text-decoration:none;}
.nav-link:hover{opacity:.7;}
.btn{
	--bs-btn-font-size:18px;
	--bs-btn-color:white;
	--bs-btn-bg:var(--color-main);
	--bs-btn-border-color:var(--color-main);
	--bs-btn-border-radius:10em;
	
	--bs-btn-hover-color:var(--color-main);
	--bs-btn-hover-bg:white;
	--bs-btn-hover-border-color:var(--color-main);
	
	min-width:260px;
	max-width:100%;
	padding:1em;
	line-height:1.4;
	transition:.3s;
}
.btn-ol-white{
	--bs-btn-color:white;
	--bs-btn-bg:transparent;
	--bs-btn-border-color:white;
	
	--bs-btn-hover-color:var(--color-dark);
	--bs-btn-hover-bg:white;
	--bs-btn-hover-border-color:white;
}

.btn[class*="ic-"]{
	display:inline-flex;
	justify-content:space-between;
	align-items:center;
	gap:.75em;
}
.btn[class*="ic-b-"]::before,
.btn[class*="ic-a-"]::after{
	content:'';
	mask:no-repeat center/contain;
}
.btn[class*="ic-b-"]:hover::before{
	background-color:white;
}

.btn.btn-ol-white.ic-a-arrow::after{
	width:.6em;
	aspect-ratio:cos(30deg);
	background-color:white;
	clip-path:polygon(0 0,100% 50%,0 100%);
}
.btn.btn-ol-white.ic-a-arrow:hover::after{
	background-color:var(--color-dark);
}

/*
.btn.ic-b-pdf,
.btn.ic-b-instagram{
	--bs-btn-color:var(--color-dark);
	--bs-btn-bg:transparent;
	
	--bs-btn-hover-color:white;
	--bs-btn-hover-bg:var(--color-main);

	font-weight:700;
	padding:1em;
	border:none;
	justify-content:center;
}

.btn.ic-b-pdf::before{
	height:46px;
	aspect-ratio:53/58;
	mask-image:url(../img/ic-pdf.svg);
	background-color:var(--color-main);
}
.btn.ic-b-instagram::before{
	height:46px;
	aspect-ratio:1/1;
	mask-image:url(../img/ic-instagram.svg);
	background-color:var(--color-main);
}
*/

.btn.ic-a-ol-arrow::after{
	width:10px;
	aspect-ratio:1/1;
	border:1px solid var(--color-blu);
	border-width:2px 2px 0 0;
	transform:translateY(1px) rotate(45deg);
}


@media (min-width:992px){
	.btn{padding:1.5em;}
}
@media (max-width:767.98px){
	.btn.ic-b-pdf,
	.btn.ic-b-instagram{width:100%;}
}


/* content-header
----------------------------------------------- */
.content-header{display:flex; align-items:center; justify-content:center; text-align:center; margin-bottom:var(--py);}
.content-header>*{margin:0;}


/* archive & single
----------------------------------------------- */
/*
.single-header,
.archive-header{
}
*/

.archive-list .post{border-bottom:1px solid rgba(0,0,0,.1);}
.archive-list .post a{display:flex; column-gap:1em; color:var(--color-dark); padding:.75em .5em;}
.archive-list .post a:hover{background-color:rgba(0,0,0,.02);}
.archive-list .post a h2{color:var(--color-dark); font-size:1rem; font-weight:normal; margin:0;}
.archive-list .post a time{min-width:7em;}

/* the_posts_pagination */
nav.navigation{justify-content:center; padding:3rem 0;}
nav.navigation ul{display:flex; column-gap:20px; margin:0; padding:0; list-style:none;}
nav.navigation ul *{display:flex;}
nav.navigation ul li>*{width:40px; aspect-ratio:1/1; color:var(--color-grn); border:1px solid var(--color-grn); justify-content:center; align-items:center; border-radius:20px;}
nav.navigation ul li a{text-decoration:none;}
nav.navigation ul li a:hover,
nav.navigation ul li>*.current{color:white; background-color:var(--color-grn); border-color:var(--color-grn);}

nav.navigation ul li.prev>*,
nav.navigation ul li.next>*{white-space:nowrap; text-indent:110%; overflow:hidden; position:relative;}
nav.navigation ul li.prev>*::after,
nav.navigation ul li.next>*::after{
	content:'';
	width:10px;
	aspect-ratio:1/1;
	border:1px solid var(--color-grn);
	border-width:2px 2px 0 0;
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-65%,-50%) rotate(45deg);
}
nav.navigation ul li.prev>*::after{
	transform:translate(-35%,-50%) scale(-1,1) rotate(45deg);
}
nav.navigation ul li.prev>*:hover::after,
nav.navigation ul li.next>*:hover::after{
	border-color:white;
}

@media (max-width:575px){
	.archive-block.archive-list{padding:20px 0;}
	.archive-list .post a{flex-direction:column;}
	.archive-list .post a time{font-size:.85em;}
}

/* cover
--------------------------------------------------------------*/
#cover{
	width:100%;
	aspect-ratio:3/4;
	max-height:100vh;
	max-height:100dvh;
	padding-top:var(--h-header);
	margin-top:calc(var(--h-header) * -1);
	position:relative;
}
#cover .container{
	position:relative;
	z-index:10;
}
#cover h1{
	font-weight:400;
	font-size:6.5vw;
	text-align:center;
	font-weight:400;
}

#cover-ims,
#cover-ims *{width:100%; height:100%; position:absolute; top:0; left:0;}
#cover-ims{overflow:clip;}

#cover-ims .im{
	background:no-repeat center center/cover;
	position:absolute;
	width:100%;
	height:100%;
	top:0;
	left:0;
	transform:translateY(0);
	will-change:transform;
}
#cover-ims.is-ready .carousel-item.active .im{
	animation:heroPan 6s linear forwards;
}

@media (min-width:576px){
	#cover h1{font-size:34px;}
	#cover{aspect-ratio:1/1;}
}
@media (min-width:768px){
	#cover h1{font-size:38px;}
	#cover{aspect-ratio:4/3;}
}
@media (min-width:992px){
	#cover{aspect-ratio:200/125;}
}

/* page
--------------------------------------------------------------*/
#intro{line-height:2;}

.card-block{
	background-color:white;
	border-radius:var(--bs-border-radius);
	padding:var(--py) calc(var(--px) * 1);
}

#pos-news{
	border:1px solid var(--color-blu);
	color:var(--color-blu);
	position:relative;
}
#pos-news .btn{
	gap:1rem;
	--bs-btn-font-size:1rem;
	--bs-btn-color:var(--color-dark);
	--bs-btn-bg:transparent;
	
	--bs-btn-hover-color:var(--color-blu);
	--bs-btn-hover-bg:transparent;
	
	border:none;
	min-width:inherit;
	max-width:inherit;
	padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);
}

#pos-news .d-flex{gap:1rem; justify-content:space-between; align-items:center;}

.post-list{flex-direction:column;}
.post-list li{border-top:1px solid rgba(0,0,0,.1);}
.post-list a{display:flex; flex-direction:column; column-gap:1em; text-decoration:none; padding:.5em;}
.post-list a:hover{background-color:rgba(0,0,0,.02);}
.post-list a time{min-width:7em;}

.cat-news li{border-color:rgba(var(--color-blu-rgb), .3);}
.cat-news a{color:var(--color-blu);}

[class*="bnr-"]{
	display:flex;
	align-items:flex-end;
	width:100%;
	aspect-ratio:640/462;
	border-radius:var(--bs-border-radius);
	overflow:clip;
	text-decoration:none;
	color:white;
}
[class*="bnr-"]>*{
	display:flex;
	align-items:center;
	justify-content:flex-end;
	gap:.5em;
	width:100%;
	aspect-ratio:640/116;
	padding:0 5%;
	transition:.3s;
}
[class*="bnr-"]>*::after{
	content:'';
	width:10px;
	aspect-ratio:1/1;
	border:1px solid white;
	border-width:2px 2px 0 0;
	transform:translateY(1px) rotate(45deg);
}

.bnr-instagram{background:url(../img/bnr-instagram.jpg) no-repeat center center/cover;}
.bnr-instagram>*{background:rgba(234,139,57,.85);}
.bnr-instagram>*::before{
	content:'';
	flex-grow:1;
	height:45px;
	max-height:50%;
	background:url(../img/txt-instagram.svg) no-repeat left center/contain;
}
.bnr-instagram:hover>*{background:rgba(234,139,57,1);}

.bnr-roken{background:url(../img/bnr-roken.jpg) no-repeat center center/cover;}
.bnr-roken>*{background:rgba(43,128,78,.85);}
.bnr-roken>*::before{
	content:'';
	flex-grow:1;
	height:45px;
	max-height:50%;
	background:url(../img/ic-pdf.svg) no-repeat 90% center/contain;
}
.bnr-roken:hover>*{background:rgba(43,128,78,1);}

.bnr-recruit{background:url(../img/bnr-recruit.jpg) no-repeat center center/cover;}
.bnr-recruit>*{background:rgba(0,113,188,.85); position:relative;}
.bnr-recruit>*::before{
	content:'';
	width:420px;
	max-width:85%;
	aspect-ratio:420/50;
	background:url(../img/txt-workwithus.svg) no-repeat center center/contain;
	position:absolute;
	top:0;
	left:50%;
	transform:translate(-50%,-70%);
	filter:drop-shadow(0 0 2px rgba(64, 131, 196, .8));
}
.bnr-recruit:hover>*{background:rgba(0,113,188,1);}

.bnr-hospital{background:url(../img/bnr-hospital.jpg) no-repeat center center/cover;}
.bnr-hospital>*{background:rgba(43,128,78,.85);}
.bnr-hospital:hover>*{background:rgba(43,128,78,1);}

@media (min-width:576px){
	.post-list a{flex-direction:row;}
}
@media (min-width:768px){
	#intro{font-size:18px;}
	.card-block{padding:calc(var(--px) * 2) calc(var(--px) * 2);}
}
@media (min-width:992px){
	[class*="bnr-"]>*{padding:0 8%;}
}
@media (min-width:1200px){
	[class*="bnr-"]{font-size:20px;}
}

