@charset "UTF-8";


/*     common     */
@keyframes fadeIn {
    0% {
        opacity: 0
    }
    100% {
        opacity: 1
    }
}

@-webkit-keyframes fadeIn {
    0% {
        opacity: 0
    }
    100% {
        opacity: 1
    }
}

body {
    font-family: 'Lusitana',"游明朝",YuMincho,'Yu Mincho',"ヒラギノ明朝","Hiragino Mincho",serif;
    letter-spacing: 1px;
	line-height: 2.2em;
	animation-name: fadeIn;
    animation-duration: 1s;
	color: #262626;
	overflow-x: hidden;
	position: relative;
}

a {
    text-decoration: none;
    color: #154228;
    -webkit-transition-property: background, background-color, color, opacity;
    -moz-transition-property: background, background-color, color, opacity;
    -ms-transition-property: background, background-color, color, opacity;
    transition-property: background, background-color, color, opacity;
    -webkit-transition-duration: 0.2s;
    -moz-transition-duration: 0.2s;
    -ms-transition-duration: 0.2s;
    transition-duration: 0.2s;
    -webkit-transition-timing-function: linear;
    -moz-transition-timing-function: linear;
    -ms-transition-timing-function: linear;
    transition-timing-function: linear;
}

a img {
    border-style: none;
    border-width: 0px;
}

a:hover {
    -moz-opacity: 0.8;
    opacity: 0.8;
    text-decoration: none;
	color: #7B4824;
}
a:hover img {
    text-decoration: none;
}

img {
	max-width: 100%;
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    line-height: 1.4;
}
small,
.small {
	font-size: 0.9rem;
	line-height: 1.8rem;
}
.font-weight-bold {
    font-weight: 600 !important;
}
.text-body {
    color: #262626 !important;
}



/*     menu     */
header {
	position: relative;
}
.logo {
	max-width: 230px;
}
.menu{
    height: 24px;
    position: absolute;
    right: 14px;
    top: 23px;
    width: 36px;
    z-index: 99;
}
.menu__line{
    background: #000;
    display: block;
    height: 2px;
    position: absolute;
    transition:transform .3s;
    width: 100%;
}
.menu__line--center{
    top: 11px;
}
.menu__line--bottom{
    bottom: 0;
}
.menu__line.active {
	background: #fff;
}
.menu__line--top.active{
    top: 11px;
    transform: rotate(45deg);
}
.menu__line--center.active{
    transform:scaleX(0);
}
.menu__line--bottom.active{
    bottom: 11px;
    transform: rotate(135deg);
}
.gnav{
    background: rgba(0,0,0,0.8);
    display: none;
    height: 100%;
    position: fixed;
    width: 100%;
    z-index: 98;
	left: 0;
	top: 0;
}
.gnav__wrap{
    align-items:center;
    display: flex;
    height: 100%;
    justify-content: center;
    position: absolute;
    width: 100%;
}
ul.gnav__menu {
    list-style-type: none;
    padding-left: 0px;
	margin-bottom: 0;
}
.gnav__menu__item{
	text-align: center;
	line-height: 1.3em;
}
.gnav__menu__item a{
    color: #fff;
    font-size: 1.3em;
    padding: 1em;
    text-decoration: none;
    transition: .5s;
	display: block;
	width: 100%;
}
.gnav__menu__item a:hover{
    color: #666;
}
.gnav span {
	display: none;
	color: #808080;
	font-size: .7rem;
}



/*     slider     */
#mainSlider {
	height: 60vh;
}
#mainSlider .slick-slide img {
    height: 60vh;
    max-width: none;
	margin-left: -30%;
}

#mainCopy {
	position: absolute;
	right: 2%;
/*	top: 10%;*/
	width: 90%;
	bottom: 0%;
}




.table-1 {
    width: 100%;
    border-collapse: collapse;	
}
.table-1 td, .table-1 th {
    width: 100%;
    display: block;
}
.table-1 th {
    padding: 1.5em 1em 0;
    font-weight: bold;
	vertical-align: top;
}
.table-1 tr:first-child th {
	border-top: 1px solid #CCCCCC;
}
.table-1 td {
    padding: .5em 1em 1.5em;
	border-bottom: 1px solid #CCCCCC;
}
.gmap iframe {
	width: 100%;
}
.formTable {
    width: 100%;
}
.formTable th, 
.formTable td {
    display: block;
    width: 100%;
}
.formTable th {
    font-weight: normal;
	vertical-align: top;
}
.formTable input[type="text"] ,
.formTable input[type="tel"] ,
.formTable input[type="email"] ,
.formTable textarea {
    width: 100%;
    border: 1px solid #ddd;
    padding: .5em 1em;
}
.formTable td {
    padding: 0 0 1.5em 0;
}
input[type="submit"] {
    border: 1px solid #bbb;
    padding: 1em 2em;
    border-radius: 0;
    background-color: #154228;
    color: #FFFFFF;
    letter-spacing: inherit;
    width: 100%;
}
.formTable input[type="submit"]:hover {
    opacity: 0.8;
}
.required {
	background-color: #313131;
	color: #fff;
	padding: .3em .5em;
	font-size: .6rem;
	margin-left: 1em;
	display: inline-block;
	line-height: 1em;
}
.formTable input::placeholder,
.formTable textarea::placeholder {
	color: #888;
}
.formTable input:focus::placeholder,
.formTable textarea:focus::placeholder {
	color: transparent;
}


.w-75 {
	width: 100% !important;
}
.text-secondary {
	color: #797979 !important;
}
.text-green {
	color: #154228;
}
.text-shadow {
	text-shadow: -2px 2px 21px rgba(0,0,0,0.64);
}
.climber::before {
	content: "";
	display: block;
	width: 226px;
	height: 432px;
    background-image: url("../img/climber.jpg");
    background-repeat: no-repeat;
    position: absolute;
	z-index: -1;
	right: 0;
	top: 3.5em;
}
.display-4 {
	font-size: 2.5rem;
}
.intro-h {
	font-size: 2rem;
}
.bg-climber01 {
    background-image: url(../img/bg01.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right top;
	min-height: 40vh
}
.bg-beige {
	background-color: #f2f0e9;
}
.letter-spacing-light {
	letter-spacing: .3em;
}
.btn-arrow a {
    display: inline-block;
/*    padding: .5em 4em .1em 0;*/
    background-image: url("../img/btn-arrows.svg");
    background-repeat: no-repeat;
    background-position: right bottom;
	min-width: 173px;
}
.btn-arrow a:hover {
    background-position: left bottom;
}
.btn-arrow-white a {
    display: inline-block;
    padding: .5em 4em .1em 0;
    background-image: url("../img/btn-arrows-white.svg");
    background-repeat: no-repeat;
    background-position: right bottom;
	min-width: 173px;
	color: #fff;
}
.btn-arrow-white a:hover {
    background-position: left bottom;
	color: #fff;
}

.btn-circle {
	position: absolute;
	bottom: 0;
	left: 50%;
	margin-left: -105px;
	margin-bottom: -105px;
}
.btn-circle a {
	display: inline-block;
	width: 210px;
	height: 210px;
	background-image: url("../img/btn-circle.svg");
	background-size: cover;
	background-repeat: no-repeat;
	text-align: center;
/*	line-height: 180px;*/
}
.btn-circle a:hover {
	color: #154228;
}
.btn-circle a span {
	padding-top: 80px;
	display: block;
}
.btn-circle a span::after {
	background-image: url("../img/inline-arrow.svg");
	display: block;
	content: "";
	width: 44px;
	height: 7px;
	margin-left: auto;
	margin-right: auto;
	background-repeat: no-repeat;
	background-position: top right;
	-webkit-transition-duration: 0.2s;
    -moz-transition-duration: 0.2s;
    -ms-transition-duration: 0.2s;
    transition-duration: 0.2s;
}
.btn-circle a:hover span::after {
	background-position: top left;
}
.btn-contact {
	border: 1px solid #fff;
	margin-bottom: 1em;
}
.btn-contact a {
    color: #fff;
    padding: 1.5em 45px 1.5em 0;
    text-align: center;
    display: block;
    width: 100%;
    background-image: url("../img/btn-arrow-w-srt.svg");
    background-position: 92% center;
    background-repeat: no-repeat;
	line-height: 1.2em;

}
.btn-contact a:hover {
	background-position: 95% center;
}
.btn-contact .phone-num {
	letter-spacing: 3px;
}
.btn-contact-1l a {
	line-height: 4.2em;
}
#chainsaw-art {
    background-image: url("../img/bg02.jpg");
	background-repeat: no-repeat;
	margin-top: 105px;
	background-position: left top;
}
#chainsaw-art .chainsaw-art-img {
	position: relative;
	padding-top: 0;
	z-index: 1;
}
.bg-green {
	background-color: #154228;
}
#chainsaw-art .chainsaw-art-content {
	padding-top: 0;
	margin-top: -6em;
}
#chainsaw-art .chainsaw-art-content::before {
	content: "";
	width: 100%;
	height: 10vh;
	display: block;
	margin-left: 0;
	background-image: url("../img/chainsaw-art-text.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: right bottom;
	margin-bottom: -10px;
}
#chainsaw-art .chainsaw-art-parts {
	display: none;
}
.bg-growth-ring {
	background-image: url("../img/growth-ring.jpg");
	background-position: center top;
	background-repeat: no-repeat;
	background-size: contain;
}
.rec-img-wrap {
	height: auto;
	text-align: center;
}
.rec-img01,
.rec-img02 {
	position: relative;
	max-width: 444px;
	width: 48%;
	display: inline-block;
}
/*
.rec-img01 {
	right: 0;
	top: 0;
}
*/
/*
.rec-img02 {
	right: 20%;
	top: 20%;
}
*/
.rec-img01 img,
.rec-img02 img{
    -webkit-box-shadow: -3px 3px 13px rgba(0,0,0,0.18);
    box-shadow: -3px 3px 13px rgba(0,0,0,0.18);
}
.rec-content {
	top: 3rem;
	padding-left: 1em;
	padding-right: 1em;
	position: relative;
}
.rec-content::before {
	display: none;
}
.sns-box {
	max-width: none;
}
ul#footermenu{
    padding-left: 0;
    list-style-type: none;
	display: block;
	border-top: 1px solid rgba(0,0,0,0.3);
	border-bottom: 1px solid rgba(0,0,0,0.3);
}
#footermenu li {
	display: block;
	border-bottom: 1px dotted rgba(0,0,0,0.3);
}
#footermenu li:last-child {
	border-bottom: none;
}
#footermenu a {
	display: block;
	width: 100%;
	padding: 0.7em;
}
.sns-icon img {
	margin-top: -8px;
	padding-right: 8px;
}
#btn-arrow-top {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 9999;
}
#btn-arrow-top a {
	display: block;
	background-image: url("../img/btn-arrow-top.svg");
	width: 40px;
	height: 67px;
	background-position: top center;
	background-repeat: no-repeat;
}
#btn-arrow-top a:hover {
	background-position: bottom center;
}
.bg-img-header {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    background-color: rgba(10,82,4,1.00);
	min-height: 450px;
}

.bg-img-header-service {
	background-image: url("../img/bg-img-header-service.jpg");
}
.bg-img-header-about {
	background-image: url("../img/bg-img-header-about.jpg");
}
.bg-img-header-recruit {
	background-image: url("../img/bg-img-header-recruit.jpg");
}
.bg-img-header-contact {
	background-image: url("../img/bg-img-header-contact.jpg");
}
.h-growth-ring {
	position: relative;
	font-size: 2.3rem;
}
.h-growth-ring::before {
	content: url("../img/growth-ring-h.svg");
	display: block;
	width: 115px;
	height: 115px;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -57.5px;
	margin-left: -57.5px;
	z-index: -1;
}
.ul-list {
	padding-left: 0;
	margin-bottom: 0;
	list-style-type: none;
}
.ul-list li::before {
	content: "・";
	display: inline;
}
.ul-list li {
	padding-left: 1em;
	text-indent: -1em;
	line-height: 1.8em;
	margin-bottom: .6em;
}
.ul-list li:last-child {
	margin-bottom: 0;
}
/*
.bg-img-forest {
	background-image: url("../img/about/bg-img-about.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	padding-top: 60vh;
}
.bg-img-climber {
	background-image: url("../img/recruit/bg-img-recruit.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	padding-top: 60vh;
}
*/
.bg-img-forest::before {
	
}
.flow .flow-num {
	background-color: #3a2617;
	color: #fff;
	font-size: 2rem;
	text-align: center;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.flow-triangle::after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 10px 0 10px;
	border-color: #3a2617 transparent transparent transparent;
	position: absolute;
	left: 50%;
	margin-left: -10px;
}







@media (min-width:576px){
	#mainSlider {
		height: auto;
	}
	#mainSlider .slick-slide img {
		height: auto;
		max-width: 100%;
		margin-left: 0;
	}
	#mainCopy {
		position: absolute;
		right: 2%;
		top: 30%;
		width: 50%;
	}
	#chainsaw-art .chainsaw-art-content {
		padding-top: 0;
		margin-top: -14em;
	}
}
@media (min-width:768px){
	.logo {
		max-width: 280px;
	}
	.menu{
		right: 22px;
		top: 32px;
		width: 40px;
	}
	.sns-box {
		max-width: 480px;
	}
	ul#footermenu{
		display: inline-block;
		border-top: none;
		border-bottom: none;
	}
	#footermenu li {
		display: inline-block;
		line-height: 100%;
		border-right: 1px solid #262626;
		border-bottom: none;
	}
	#footermenu li:last-child {
		border-right: none;
	}
	#footermenu a {
		display: inline-block;
		width: 100%;
		padding: 0 1em;
	}
	#footermenu li:last-child a {
		padding: 0 0 0 1.3em;
	}
	.table-1 td, .table-1 th {
		width: auto;
		display: table-cell;
	}
	.table-1 th {
		width: 30%;
		font-weight: normal;
	}
	.table-1 tr:first-child th,
	.table-1 tr:first-child td {
		border-top: 1px solid #CCCCCC;
	}
	.table-1 th,
	.table-1 td {
		padding: 1em 1em;
		border-bottom: 1px solid #CCCCCC;
	}
	.formTable th, 
	.formTable td {
		display: table-cell;
	}
	.formTable th {
		width: 30%;
		padding: 1.5em;
	}
	.formTable td {
		width: auto;
	}
	.formTable td {
		padding: 1em;
	}
	
}
@media (min-width:992px){
	.logo {
		max-width: none;
	}
	.menu{
		display: none;
	}
	.gnav{
		background: inherit;
		display: block;
		height: auto;
		position: relative;
		width: auto;
		z-index: 98;
	}
	.gnav__wrap{
/*		align-items:center;*/
		display: block;
		height: auto;
/*		justify-content: center;*/
		position: relative;
		width: auto;
	}
	ul.gnav__menu {
		list-style-type: none;
		padding-left: 0px;
		display: flex;
	}
	.gnav__menu__item{
	/*    margin: 40px 0;*/
		text-align: center;
		line-height: 1.3em;
		flex: 1 1 auto;
	}
	.gnav__menu__item a{
		color: #222;
		font-size: 1em;
		padding: 2em 1.5em;
		text-decoration: none;
		transition: .5s;
		display: block;
		width: 100%;
		border-bottom: 4px solid #fff;
	}
	.gnav__menu__item a:hover {
		border-bottom: 4px solid #154228;
	}
	.gnav__menu__item:last-child a {
		background: #154228;
		color: #fff;
		border-bottom: 4px solid #154228;
	}
	.gnav span {
		display: block;
		color: #808080;
		font-size: .7rem;
	}
	.gnav .gnav__menu__item:last-child span {
		color: #fff;
	}
	#chainsaw-art {
		
	}
	#chainsaw-art .chainsaw-art-img {
		position: absolute;
		left: 0;
		top: 50px;
		max-width: 50%;
		padding-top: 50px;
	}
	#chainsaw-art .chainsaw-art-content {
		padding-top: 11%;
		margin-top: 0;
	}
	
	#chainsaw-art .chainsaw-art-parts {
		position: absolute;
		right: 50px;
		bottom: 50px;
		width: 214px;
		height: 195px;
		display: block;
	}
	.bg-growth-ring {
		background-image: url("../img/growth-ring.jpg");
		background-position: right center;
		background-repeat: no-repeat;
		background-size: 700px;
	}
	.rec-img-wrap {
		min-height: 700px;
	}
	.rec-img01,
	.rec-img02 {
		position: absolute;
		max-width: 444px;
		width: 25%;
	}
	.rec-img01 {
		right: 0;
		top: 0;
	}
	.rec-img02 {
		right: 20%;
		top: 20%;
	}
	.rec-img01 img,
	.rec-img02 img{
		-webkit-box-shadow: -3px 3px 13px rgba(0,0,0,0.18);
		box-shadow: -3px 3px 13px rgba(0,0,0,0.18);
	}
	.rec-content {
		top: 3rem;
		padding-left: 8%;
		position: absolute;
		max-width: 55%;
	}
	.rec-content::before {
		display: block;
		content: "";
		width: 40%;
		height: 260px;
		background-color: #f2f0e9;
		position: absolute;
		top: 0;
		left: 0;
	}
	#btn-arrow-top {
		position: fixed;
		right: 50px;
		bottom: 50px;
		z-index: 9999;
	}
	
}
@media (min-width:1200px){
	.gnav__menu__item a{
		padding: 2.2em 3em;
	}
	.display-4 {
		font-size: 3.3rem;
	}
	.intro-h {
		font-size: 3.3rem;
	}
	.w-75 {
		width: 75% !important;
	}
	.climber::before {
		top: 3em;
		right: 15%;
	}
	#chainsaw-art .chainsaw-art-content::before {
		height: 15vh;
	}
}


