/*
Theme Name: kurasho v2022
Theme URI: --
Description: --
Author: --
Author URI: --
*/

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');

/* WP
----------------------------------------------- */
#wpadminbar{display:none;}
/* body.open #wpadminbar{z-index:0;} */

/* Bootstrap
----------------------------------------------- */
.form-control-plaintext{background-color:transparent !important;}
select{display:inline-block !important; width:auto !important;}

/* Main Layout
----------------------------------------------- */
html{font-size:16px;}
body{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight:400;
	color:#444;
	background-color:#609123;
	line-height:1.8;
}
#wrap{background-color:white; overflow-x:hidden;}

.contents{padding-top:90px; padding-bottom:90px;}
.thin{width:768px; max-width:100%; margin-left:auto; margin-right:auto;}
.container.thin{width:calc(720px + 30px);}

.thin.wide{width:910px; max-width:100%; margin-left:auto; margin-right:auto;}
.container.thin.wide{width:calc(910px + 30px);}

.child-flex>*{display:flex;}
.child-flex>*>*{width:100%;}

@media (min-width:767px){	
	.container-fluid,
	.container{padding-left:20px; padding-right:20px;}
	.row{margin-left:-20px; margin-right:-20px;}
	.row>[class*="col"]{padding-left:20px; padding-right:20px;}
	.row.no-gutters{margin-left:0; margin-right:0;}
	.row.no-gutters>[class*="col"]{padding-left:0; padding-right:0;}
	.container.thin{width:calc(720px + 40px);}
	.container.thin.wide{width:calc(910px + 40px);}
}

@media (max-width:991px){
	html.fixed,
	body.open{overflow:hidden; /* position:fixed; width:100%; */}

	.container{max-width:100%;}
    .contents{padding-top:60px; padding-bottom:60px;}
}
@media (max-width:767px){
	#wrap{padding-top:60px;}
    .contents{padding-top:30px; padding-bottom:30px;}
}
@media (max-width:575px){
/*     .contents{padding-top:15px; padding-bottom:15px;} */
}

/* Layout
----------------------------------------------- */
.c-main{color:#427114;}
.c-white{color:white;}

.bg-white{background-color:white;}
.bg-green{background-color:#8ebf3e;}
.bg-gray{background-color:#f7f7f7;}
.bg-beige{background-color:#f3eee4;}
.bg-tree{background:#8ebf3e url(assets/images/bg-tree.svg) no-repeat center 95%/contain;}
.bg-gray-half{
	background: -moz-linear-gradient(180deg, #f3eee4, white);
	background: -webkit-linear-gradient(180deg, #f3eee4, white);
	background: linear-gradient(180deg, #f3eee4 0%, #f3eee4 50%, white 50%, white 100%);
}

.overlay,
.overlay>*{position:relative;}
.overlay::before{
	content:'';
	display:block;
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	background-color:rgba(0,0,0,.65);
}

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

/* header
-------------------------------------------------------------- */
#header{display:flex; width:100%; height:100px; align-items:center; background-color:white;}
#header .nav-bar{display:flex; align-items:center; justify-content:space-between;}

a.brand{display:flex;}
a.brand::before{
	content:'';
	display:block;
	width:46px;
	margin-right:.5rem;
	background:url(assets/images/logo.svg) no-repeat center center/contain;
}
a.brand{font-size:1.2rem; color:#427114; font-weight:700; line-height:1.5;}
a.brand .disc{display:block; font-size:11px; color:#666; font-weight:normal;}

#gnavi{line-height:1.4;}

#gnavi li a{color:#444;}
#gnavi li.menu-btn a,
#gnavi li.menu-btn a:hover{color:white; background-color:#609123; border-radius:5rem;}
#gnavi li.menu-btn a:hover{background-color:#8ebf3e; border-color:#8ebf3e;}

#gnavi li:not(.menu-btn) a{position:relative; overflow:hidden;}
#gnavi li:not(.menu-btn) a::before{
    content:'';
    width:100%;
    height:2px;
    background-color:#8ebf3e;
    position:absolute;
    bottom:0;
    left:-100%;
    transition:all .3s ease;
}
#gnavi li:not(.menu-btn) a:hover::before{left:0;}

@media (min-width:1200px){
	#gnavi li{padding-left:1rem;}
}

@media (max-width:991px){
	#header{height:60px; position:fixed; top:0; left:0; z-index:1000; box-shadow:1px 1px 2px rgba(0,0,0,.1);}
	a.brand::before{width:36px;}
	a.brand{font-size:1rem; line-height:1.4;}

	#gnavi{flex-direction:column;}
	#gnavi>li{padding:.5em 0; border-top:1px solid rgba(0,0,0,.2);}
	#gnavi li.menu-btn{padding-top:1rem; text-align:center;}
	#gnavi li.menu-btn a{padding:1rem;}
}
@media (max-width:575px){
	a.brand .disc{display:none;}
}


/* Cover
----------------------------------------------- */
#cover-wrap{position:relative;}
#cover-area{padding:100px 0; background-position:center bottom; background-image:url(assets/images/bg-cover-re.jpg);}
#cover-area h1{font-size:60px; color:black; line-height:1.4; text-shadow:0 0 20px rgba(255,255,255,1); margin-bottom:.25em;}
#cover-area p.disc{font-size:1.2rem; color:black; font-weight:700;}
#cover-area .d-flex{align-items:center;}
#cover-area .d-flex>*{width:100%;}
#cover-area .d-flex>span{max-width:45%;}

#cover-area.overlay::before{
	background-color:rgba(255,255,255,.10);
}

#news-block{width:100%; position:absolute; bottom:0; left:0;}
#news-block .inner{width:45%; padding:15px 0;}

#news-block ul{padding-top:.5rem; font-size:.9375rem;}
#news-block ul li a{color:black; display:flex; background-color:white; border-radius:20px; margin-bottom:.5rem; padding:.5rem 1rem;}
#news-block ul li a:hover{background-color:#f3eee4;}
#news-block ul li a time{min-width:6rem;}

@media (max-width:991px){
	#cover-area h1{font-size:6vw;}
	#cover-area p.disc{font-size:2vw;}
	#news-block .inner{width:55%;}
}
@media (max-width:767px){
	#cover-area{padding:60px 0;}
	#news-block{width:100%; position:relative; background-color:#f4f4f4;}
	#news-block .inner{width:100%;}
	#news-block ul li a{border:1px solid rgba(0,0,0,.1);}
}
@media (max-width:575px){
	#cover-area{padding:40px 0;}
	#news-block ul li a{flex-direction:column;}
}

/* footer
--------------------------------------------------------------*/
#footer{padding:3rem 0; color:white; font-size:.9375rem; line-height:1.6;}
#footer .container{position:relative;}

#fnavi{margin-bottom:2rem;}
#fnavi a{color:white;}

.col-address{display:flex; justify-content:center;}
#footer address{width:400px; position:relative; padding-left:65px; margin:0;}
#footer address::before{
	content:'';
	display:block;
	width:50px;
	height:100%;
	background:url(assets/images/logo-w.svg) no-repeat center top/contain;
	position:absolute;
	top:0;
	left:0;
}
#footer address span{display:block;}
#footer address .fa5b-mail{position:absolute; bottom:0; right:0;}

#copyright{display:block; text-align:center; padding:1em 30px;}

.contact-box{text-align:center; background-color:white; padding-left:2rem; padding-right:2rem;}
.contact-box .container{max-width:900px; border:1px solid rgba(0,0,0,.1); border-width:0 1px;}
.contact-box .row>*{padding:1rem 30px;}
.contact-box .row>*:first-child{border-right:1px solid rgba(0,0,0,.1);}
.contact-box h2{margin-bottom:1rem;}
.contact-box .fa5b-tel{font-size:2rem; color:#609123; line-height:1;}
.contact-box .fa5b-tel::before{padding-left:0;}
.contact-box .btn{padding:1rem 4rem; border-radius:0; font-size:1.2rem;}

@media (min-width:992px){
	#footer .row{justify-content:space-between;}
	#copyright{position:absolute; bottom:0; right:0;}
}
@media (max-width:991px){
	#fnavi{justify-content:center;}
	#footer address{margin:0 auto 2rem;}
}
@media (max-width:767px){
	.contact-box .row>*:first-child{border:none;}
	.contact-box .container{display:flex; justify-content:center;}
}
@media (max-width:575px){
	.contact-box{padding-left:1rem; padding-right:1rem;}
	.contact-box .fa5b-tel{font-size:1.6rem;}
	.contact-box .btn{padding:1rem 3rem;}

	#footer{padding:1.5rem 0;}
	#fnavi{margin-bottom:1.5rem;}
	#footer address{width:auto; padding-left:46px;}
	#footer address::before{width:36px; top:10px;}
	#footer address .fa5b-mail{display:none;}
	#copyright{padding:0;}
}

/* h
--------------------------------------------------------------*/
p{margin-bottom:2rem;}
.card{border:none;}


h1,.h1,h2,h3{font-weight:700;}
h1,.h1,h2,.h2,h3,.h3{line-height:1.6;}
.lead{font-weight:400; margin-bottom:4rem;}
h1,.h1{font-size:2rem; margin:0;}
h2{margin-bottom:2rem;}
h3{margin-bottom:1.5rem;}

/*
#main>*>header>*>h1,
.h1{font-size:110px; color:white; padding:0 15px; margin:0; text-align:center; -webkit-text-stroke:1px black; text-stroke:1px black; font-family:'Barlow Semi Condensed', sans-serif; font-weight:500;}

h2,.h2{font-size:28px; line-height:1.6; margin-bottom:2rem;}
h2.en{font-size:40px;}
h3,.h3{font-size:24px; line-height:1.6; margin-bottom:2rem;}
h4,.h4{font-size:22px; line-height:1.6; margin-bottom:1rem;}
h5,.h5{font-size:20px; line-height:1.6;}

.h-border{text-align:center; padding:2rem 1rem; background-color:white; margin-bottom:0; border:2px solid black;}
.h-border-btm{border-bottom:1px solid black; padding:0 0 1rem; margin-bottom:1rem;}

[class*="line-top"]::before{
	content:'';
	display:block;
	width:1px;
	padding-top:70px;
	background-color:black;
	margin:2.5rem auto;
}

.h1.line-top{position:relative;}
[class*="bg-right-up"]>.h1.line-top::before{
	position: absolute;
	top:0;
	left:50%;
	z-index:10;
	margin:calc(-1 * (70px + (8.75% - 70px)/2)) 0 0;
}

.label-b{
	display:inline-block;
	color:white;
	background-color:black;
	font-size:14px;
	width:100px;
	line-height:36px;
	text-align:center;
    transform:rotate(90deg);
	position:absolute;
	z-index:100;
}
*/
.content-header{text-align:center; background-color:#609123; padding:180px 15px; background:url(assets/images/bg-cover.jpg) no-repeat center bottom/cover; position:relative;}
.content-header h1{position:relative; color:white; margin-bottom:1em;}
.content-header::before{
	content:'';
	display:block;
	width:100%;
	height:100%;
	background-color:rgba(0,0,0,.3);
	position:absolute;
	top:0;
	left:0;
}
.content-lead{background-color:white; margin-top:-100px; position:relative; z-index:1; padding-top:60px;}
.content-lead::after{
	content:'';
    display: inline-block;
    width: 6em;
    border-bottom: 3px solid #427114;
    position:relative;
    top:-2em;
    left:50%;
    transform:translateX(-50%);
}

h2.t-line-btm{margin-bottom:4rem;}
.t-line-btm{text-align:center; position:relative;}
.t-line-btm::after{
	content:'';
	display:inline-block;
	width:40px;
	height:2px;
	background-color:black;
	position:absolute;
	left:50%;
	bottom:-1.5rem;
	transform:translateX(-50%);
}

.btn{/* font-size:1.2rem;  */border-radius:4rem; position:relative; padding-left:1.5rem; padding-right:1.5rem;}
.btn-lg{min-width:200px;}

.btn.btn-green,
.btn.btn-green:hover{color:white; background-color:#609123; border-color:#609123;}
.btn.btn-green:hover{color:#609123; background-color:white;}

.btn.btn-ol-green,
.btn.btn-ol-green:hover{color:#609123; background-color:white; border-color:#609123;}
.bg-tree .btn.btn-ol-green,
.bg-green .btn.btn-ol-green{border-color:white;}
.btn.btn-ol-green:hover,
.btn.btn-ol-green:hover{color:white; background-color:#8ebf3e; border-color:#8ebf3e;}
.bg-tree .btn.btn-ol-green:hover,
.bg-green .btn.btn-ol-green:hover{border-color:white;}

.btn.btn-news,
.btn.btn-news:hover{font-size:1rem; color:white; background-color:rgba(0,0,0,.6); border:none;}
.btn.btn-news::after {
	font-family: "Font Awesome 5 Free";
	content: "\f061";
	font-weight:900;
	margin-left:.5rem;
}
.btn.btn-news:hover{ background-color:rgba(0,0,0,.9);}

.fa5b-tel,
.fax{font-weight:700; font-size:1.2rem; line-height:1.4;}

.fa5b-tel::before{content:"\f879"; display:inline-block; width:45px; padding-left:8px; font-size:90%}
.fa5b-mail::before{content:"\f0e0"; margin-right:.5rem;}
.fax::before{content:"FAX"; display:inline-block; width:45px;}

@media (max-width:767px){
	h1,.h1,
	h2,.h2{font-size:1.6rem;}
	.lead{margin-bottom:2.5rem;}

	.content-header{padding:80px 15px;}
	.content-lead{margin-top:0;}
	.content-header h1{margin:0;}
}

@media (max-width:575px){
	.content-header{padding:40px 15px;}
}


/* widget
----------------------------------------------- */


/* archive & single
----------------------------------------------- */
.single-header,
.archive-header{
	text-align:center;
	padding:30px 15px;
	color:white;
	background: -moz-linear-gradient(to bottom right, white 50%, #930000 50%);
	background: -webkit-linear-gradient(to bottom right, white 50%, #930000 50%);
	background: linear-gradient(180deg, #427114, #8ebf3e);
}

.archive-list .post{padding:1rem 0; border-bottom:1px solid rgba(0,0,0,.1);}
.archive-list .link-box{display:block; padding-right:30px; position:relative;}
.archive-list .link-box h2{font-size:1rem; margin:0;}
.archive-list .link-box time,
.archive-list .link-box .excerpt{font-size:12px;}
.archive-list .link-box .excerpt p:last-child{margin-bottom:0;}
.archive-list .link-box::after{
	font-family: "Font Awesome 5 Free";
	content: "\f054";
	color:#609123;
	font-weight:900;
	position:absolute;
	top:50%;
	right:10px;
	transform:translateY(-50%);
}

/* the_posts_pagination */
nav.navigation{justify-content:center;}
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; height:40px; color:#609123; border:1px solid #609123; justify-content:center; align-items:center; border-radius:20px;}
nav.navigation ul li a:hover,
nav.navigation ul li>*.current{color:white; background-color:#609123; border-color:#609123;}

.category-news nav.navigation ul li a:hover,
.category-news nav.navigation ul li>*.current{background-color:#609123; border-color:#609123;}

@media (max-width:575px){
	.archive-block.archive-list{padding:20px 0;}
}

/* single
----------------------------------------------- */


/* pages
--------------------------------------------------------------*/
.row.navi-biz{margin:0 -5px;}
.row.navi-biz>*{padding:0 5px;}
.navi-biz a.ratio-box{display:block; color:white; border-radius:.25rem;}
.navi-biz a.ratio-box::before{padding-top:100%;}
.navi-biz a.ratio-box>span{display:flex; flex-direction:column; justify-content:center; align-items:center;}
.navi-biz a.ratio-box>span>span{display:block; position:relative; z-index:1; margin:0;}
.navi-biz .bg-img-cover::after{
	content:'';
	display:inline-block;
	width:100%;
	height:100%;
	background-color:rgba(0,0,0,.4);
	position:absolute;
	top:0;
	left:0;
}

.navi-equ{margin:-5rem 1rem 0;}
.navi-equ .card h3 span{display:inline-block; min-width:4em; padding:.5rem 0; border-bottom:3px solid #427114;}

@media (max-width:575px){
	.home .bg-tree h2 img{max-width:180px;}
}


/* biz
--------------------------------------------------------------*/
.biz-block img.fit{width:90%; margin:0 5%; height:400px; border-radius:.25rem;}
.biz-block .inner{width:100%; max-width:560px;}

.biz-block h2{display:inline-block; min-width:7em; text-align:center; position:relative;}
.biz-block h2 span{display:block; background-color:#444; color:white; font-size:.875rem;}

.biz-block .inner .row{font-size:.9375rem;}
.biz-block .inner .row h3{text-align:center; border:1px solid #609123; margin-bottom:1rem; padding:.5rem; color:#609123; font-size:1rem;}

.biz-block:nth-child(even) .inner{margin-left:auto;}

.biz-blocks{counter-reset: i;}
.biz-block{counter-increment: i;}
.biz-block h2::before{
	content: '0'counter(i);
	display:inline-block;
	width:100%;
	top:0;
	text-align:center;
	font-size:120px;
	position:absolute;
	top:-1.1em;
	left:0;
	line-height:1;
	opacity:.15;
	z-index:10;
}

@media (min-width:576px){
	.biz-block:nth-child(even)>*:first-child{order:1;}
}
@media (max-width:767px){
	.biz-block{padding-top:5rem;}
	.biz-block h2::before{font-size:90px;}
}
@media (max-width:575px){
	.biz-block{padding-top:0;}
	.biz-block img.fit{width:100%; margin:0; height:260px;}
	.biz-block h2::before{opacity:.5;}
}

/* equipment
--------------------------------------------------------------*/
.equ-block img.fit{width:90%; margin:0 5%; height:400px; border-radius:.25rem;}
.equ-block.contents{padding-bottom:0;}
.equ-block .card{width:100%; max-width:560px; min-height:100px; background-color:white; margin-left:50%; margin-top:-100px; padding:40px;}

.equ-block:nth-child(even) .card{transform:translateX(-100%);}

.biz-block h2{display:inline-block; min-width:7em; text-align:center; position:relative;}
.biz-block h2 span{display:block; background-color:#444; color:white; font-size:.875rem;}

.equ-block .card .h3{
	padding-bottom:1rem;
	margin-bottom:1rem;
    border-bottom: 3px solid #427114;
}

/* company
--------------------------------------------------------------*/
.table th,
.table td{padding:1.5rem .75rem;}
.table th{width:25%; white-space:nowrap;}

ul:not([class]){
	padding-left:1.5rem;
}

#pos-profile dl dd{margin-bottom:2rem;}

@media (max-width:767px){
	.table th,
	.table td{display:block;}
	.table th{width:100%; padding-bottom:0 !important;}
	.table td{border:none; padding-top:0 !important;}
	
	.slug-company .content-lead img{max-width:180px;}
}

/* recruit
--------------------------------------------------------------*/
.table.recruit{background-color:white; border-bottom:1px solid #dee2e6;}
.table.recruit th,
.table.recruit td{padding:1.5rem;}
.table.recruit th{width:auto;}

/* contact
--------------------------------------------------------------*/
.slug-contact #footer-contact{display:none;}
.slug-contact .contact-box .container{max-width:450px;}
.slug-contact .contact-box .row>*:last-child{display:none;}


/* plug-in contact form 7
----------------------------------------------- */
form.wpcf7-form label{display:block; font-weight:700;}
form.wpcf7-form .row-address{margin-bottom:2rem;}
form.wpcf7-form .row-address label{font-weight:normal;}
form label.req::after{
	content:'必須';
	color:white;
	font-size:12px;
	padding:0 .5rem;
	margin-left:.5rem;
	background-color:#E10000;
	border-radius:4px;
}

@media (min-width:576px){
	form.wpcf7-form .row-address>*{display:flex;}
	form.wpcf7-form .row-address label{width:6em;}
}

/*
form .form-group{margin-bottom:3rem;}
form .form-group>label::before{
	content:'任意';
	display:inline-block;
	font-size:12px;
	border:1px solid black;
	padding:0 .5em;
	margin-right:1em;
	line-height:1.4;
}

.form-control{
	height:auto;
	padding:1rem 2rem;
	border:none;
	border-radius:0;
	background-color:#F7F7F7;
}

.wpcf7-radio{display:flex; flex-direction:column;}
.wpcf7-radio .wpcf7-list-item{margin:0 0 1rem; position:relative;}
.wpcf7-radio .wpcf7-list-item input{visibility:hidden; position:absolute;}
.wpcf7-radio .wpcf7-list-item .wpcf7-list-item-label{
	display:inline-block;
	line-height:1.6;
	padding-left:40px;
	position: relative;
}

.wpcf7-radio .wpcf7-list-item .wpcf7-list-item-label::before{
	content:'';
	display:inline-block;
	width:25px;
	height:25px;
	border:1px solid #E10000;
	border-radius:50%;
	position:absolute;
	top:0;
	left:0;
}
.wpcf7-radio .wpcf7-list-item input:checked + .wpcf7-list-item-label::before {
	background-color:#E10000;
}

.submit-bar{padding-top:2rem;}
*/
