@charset "UTF-8";
/* CSS Document */
@media (min-width: 768px) {}
@media (max-width: 767.98px) {}



/* common */
body{ position:relative;}
img{ max-width:100%;}
a{ transition: .3s;}
@media (min-width: 768px) {
.pcnone{ display: none !important;}
.container{ width: 1054px; max-width: inherit;}
.br_sp{
	display: none;	
}
body{ font-size: 16px;}
}
@media (max-width: 767.98px) {
.spnone{ display:none !important;}
.container { padding-right: 10px; padding-left: 10px;}
.row { margin-right: -10px; margin-left: -10px;}
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, .col-xl-auto{ padding-right: 10px; padding-left: 10px;}
.br_pc{
	display: none;	
}
body{ font-size: 14px;}
}



/* header */
header{ position: fixed; left: 0; top: 0; z-index: 20; width: 100%;}
@media (min-width: 768px) {
header{ min-width: 1054px; background-color: white;}
.overlayMenu,.overlayMenuBtn{ display: none;}
header>div{ width: 1054px; padding: 10px 35px 0; margin: 0 auto; font-size: 0; position: relative;}
header>div::after{ content: ""; display: table; clear: both;}
#headder_logo{ margin: 0; padding: 0; display: inline-block; text-align: left; float: left;}

#headder_sub_nav{ float: right; text-align: right; margin: 0;}
#headder_sub_nav>li{ display: inline-block;}
#headder_sub_nav>li>a{ background-repeat: no-repeat; background-position: left center; display: inline-block; font-size: 12px; color: black; line-height: 16px; margin-left: 12px;}
#headder_sub_nav>li>a.access{ background-image: url("../images/access.svg"); background-size: 11px 16px; padding-left: 15px;}
#headder_sub_nav>li>a.company{ background-image: url("../images/company.svg"); background-size: 12px 15px; padding-left: 16px;}
#headder_sub_nav>li>a.offer{ background-image: url("../images/offer.svg"); background-size: 15px 15px; padding-left: 19px;}
#headder_sub_nav>li>a.contact{ background-image: url("../images/contact.svg"); background-size: 16px 13px; padding-left: 20px;}
#headder_sub_nav>li>a.translation{ background-image: url("../images/translation.svg"); background-size: 16px 13px; padding-left: 20px;}

#header_sns{ text-align: right; float: right; position: absolute; right: 35px; bottom: 0; margin: 0;}
#header_sns>li{ display: inline-block; margin-left: 10px;}
#header_sns>li>a{ display: table; width: 40px; height: 40px; background-color: #65c400; border-radius: 20px;}
#header_sns>li>a>span{ display: table-cell; vertical-align: middle; text-align: center;}

#headder_nav{ text-align: center; margin: 10px auto 0; list-style: none; width: 1054px; padding: 0 15px; display: flex;}
#headder_nav>li{ width: 16.666666%;}
#headder_nav>li>a{ position: relative; display: inline-block; color: black; font-weight: bold; font-size: 16px; line-height: 1em; padding: 1em;}
#headder_nav>li>a:hover{ text-decoration: none;}
#headder_nav>li>a::after{ position: absolute; content: ""; display: block; width: 100%; bottom: 0; left: 0; height: 3px; background-color: #65c400; transform: scale(0,1); transform-origin: center; transition: .3s;}
#headder_nav:hover>li>a.active::after{ transform: scale(0,1);}
#headder_nav>li>a:hover::after,
#headder_nav>li>a.active::after,
#headder_nav:hover>li>a.active:hover::after{ transform: scale(1,1);}
#headder_nav>li>a>small{ display: block; font-size: 10px; line-height: 1em; margin-top: 6px;}

#headder_logo a:hover,
#header_sns>li>a:hover{ opacity: 0.7;}

body{ padding-top: 150px;}
}
@media (max-width: 767.98px) {
header ul{ display: none;}
header{ display: table; height: 80px; background-color: white;}
header>div{ display: table-row;}
header>div>h1{ display: table-cell; text-align: left; vertical-align: middle; padding-left: 10px;}
header>div>h1>a>img{ width: auto; height: 45px;}

body{ padding-top: 80px;}

.overlayMenuBtn{ position: fixed; top: 30px; right: 10px; height: 33px; width: 50px; cursor: pointer; z-index: 30;}
.overlayMenuBtn::before{ content: "MENU"; display: block; width: 100%; text-align: center; font-size: 15px; color: #56ac57; position: absolute; line-height: 1em; top: -20px;}
.overlayMenuBtn span{ display: block; height: 3px; background: #65c400; position:absolute; width: 100%; left: 0; transition: 0.5s ease-in-out;}
.overlayMenuBtn span:nth-child(1){ bottom: 30px;}
.overlayMenuBtn span:nth-child(2){ bottom: 16.5px;}
.overlayMenuBtn span:nth-child(3){ bottom: 0;}
.open.overlayMenuBtn span:nth-child(1) { bottom: 15px; transform: rotate(45deg);}
.open.overlayMenuBtn span:nth-child(2) { width: 0; left: 50%;}
.open.overlayMenuBtn span:nth-child(3) { bottom: 15px; transform: rotate(-45deg);}
.overlayMenu { display: none; position: fixed; width: 100%; height: 100vh; overflow: auto; top: 0; left: 0; background-color: rgba(101,196,0,0.80); z-index: 10; padding-top: 80px;}
#sp_nav{ padding: 0 20px 0; list-style: none;}
#sp_nav li{ border-bottom: 1px solid white;}
#sp_nav li a{ color: white; font-size: 20px; display: block; line-height: 2.5em; padding-left: 0.5em; background-image: url("../images/arrow_w_r.svg"); background-repeat: no-repeat; background-position: right 10px center;}
#sp_sns{ padding: 40px 0; text-align: center; list-style: none; display: flex; justify-content: center;}
#sp_sns li{ width: 60px; margin: 0 10px;}
#sp_sns li a{ width: 60px; background-color: white; display: table; text-align: center; border-radius: 30px;}
#sp_sns li a span{ height: 60px; display: table-cell; vertical-align: middle;}
}



/* footer */
footer{ position: relative; background-color: #cee7cc;}
footer ul{ padding: 0; list-style: none; text-align: center;}
#footer_nav{}
#footer_nav li a{ color: black;}
#footer_logo{ text-align: center;}
#footer_text{ text-align: center;}
#footer_text strong{ display: block; color: #56ac57;}
#footer_contact{ text-align: center; font-size: 0;}
#footer_contact dl{ display: inline-block; margin: auto;}
#footer_contact dl a,
#footer_contact dl span{ text-decoration: none; display: table;}
#footer_contact dl a dt,
#footer_contact dl span dt,
#footer_contact dl a dd,
#footer_contact dl span dd{ display: table-cell; vertical-align: middle;}
#footer_contact dl a dt,
#footer_contact dl span dt{ background-color: white; color: #56ac57; border-radius: 50%;}
#footer_contact dl.free a dt,
#footer_contact dl.free span dt{ background-color: white; color: #56ac57; border-radius: 20px;}
#footer_contact dl a dd,
#footer_contact dl span dd{ color: #56ac57!important;}
#footer_contact dl span dd a{ color: #56ac57!important;}
#copy{ text-align: center; color: white; background-color: #437f44; margin: 0;}
@media (min-width: 768px) {
#footer_sns{ display: none;}
#page_top{ width: 50px; height: 50px; position: fixed; right: 0; bottom: 0; background-color: #65c400; z-index: 4;}
#page_top::after,
#page_top::before{ content:"";  width: 0; height: 0; border-style: solid; position: absolute; left: 50%; border-width: 0 15px 15px 15px; margin-left: -15px; }
#page_top::after{ border-color: transparent transparent #ffffff transparent; z-index: 2; top: 15px;}
#page_top::before{ border-color: transparent transparent #65c400 transparent; z-index: 3; top: 18px;}
footer{ padding-top: 40px; min-width: 1054px; margin-top: 100px;}
#footer_nav{ font-size: 0; margin: 0 auto 50px; width: 1024px;}
#footer_nav li{ font-size: 14px; display: inline-block; margin: 0 35px; padding: 10px 0;}
#footer_nav li a{}
#footer_logo{}
#footer_logo a:first-child{ margin-right: 40px;}
#footer_logo a:last-child{ margin-left: 55px;}
#footer_logo img{}
#footer_text{ font-size: 14px; margin-bottom: 20px;}
#footer_text strong{ font-size: 18px; line-height: 2.11em;}
#footer_text span{ color: #56ac57; font-weight: bold;}
#footer_text img{ width: 14px; height: 14px;}
#footer_text a:hover{ text-decoration: none;}
#footer_contact{ margin-bottom: 55px;}
#footer_contact dl{ padding: 0 10px;}
#footer_contact dl.free{ display: block; width: 320px; text-align: center; margin-top: 20px;}
#footer_contact dl a dt,
#footer_contact dl span dt{ font-size: 22px; width: 50px; height: 50px;}
#footer_contact dl a dd,
#footer_contact dl span dd{ font-size: 30px; padding-left: 10px; font-weight: bold;}
#footer_contact dl.free a dt,
#footer_contact dl.free span dt{ font-size: 13px; width: 70px; height: 50px;}
#copy{ font-size: 10px; line-height: 50px;}
}
@media (max-width: 767.98px) {
#footer_sns{ margin: 0 auto; padding: 30px 0 0; text-align: center; font-size: 0;}
#footer_sns>li{ display: inline-block; margin: 0 10px;}
#footer_sns>li>a{ display: table; width: 40px; height: 40px; background-color: #65c400; border-radius: 20px;}
#footer_sns>li>a>span{ display: table-cell; vertical-align: middle; text-align: center;}
#page_top{ width: calc(100% - 20px); margin: 25px auto; position: relative; border: 1px solid #56ac57; background-color: white; text-align: center;}
#page_top::before{ content: "ページトップ"; font-size: 12px; line-height: 50px;}
footer{ padding-top: 30px; margin-top: 25px;}
#footer_nav{ display: flex; flex-wrap: wrap; border-bottom: #56ac57 solid 1px; border-right: #56ac57 solid 1px; width: calc(100% - 20px); margin: 0 auto 22px;}
#footer_nav li{ font-size: 9px; width: 50%; border-left: #56ac57 solid 1px; border-top: #56ac57 solid 1px;}
#footer_nav li:last-child{ width: 100%; }
#footer_nav li a{ display: block; line-height: 35px;}
#footer_logo{ margin-bottom: 12px;}
#footer_logo a:first-child{ margin-right: 22px;}
#footer_logo a:last-child{ margin-left: 25px;}
#footer_logo img{ width: 69px; height: auto;}
#footer_text{ font-size: 9px; margin-bottom: 12px;}
#footer_text strong{ font-size: 12px; margin-bottom: 5px;}
#footer_text span{ color: #56ac57; font-weight: bold;}
#footer_text img{ width: 14px; height: 14px;}
#footer_text a:hover{ text-decoration: none;}
#footer_contact{ margin-bottom: 25px;}
#footer_contact dl{ padding: 0 5px;}
#footer_contact dl a dt,
#footer_contact dl span dt{ font-size: 11px; width: 25px; height: 25px; letter-spacing: -0.05em;}
#footer_contact dl.free a dt,
#footer_contact dl.free span dt{ font-size: 9px; width: 50px; height: 25px;}
#footer_contact dl a dd,
#footer_contact dl span dd{ font-size: 15px; padding-left: 5px; font-weight: bold;}
#copy{ font-size: 9px; line-height: 25px; font-weight: bold;}
}




/* main */
main{ overflow: hidden;}

.sub_title00{ text-align: center; position: relative; font-size: 0;}
.sub_title00::before{ background-color: #56ac57; z-index: 1; position: absolute; content: ""; width: 100%; height: 1px; left: 0; top: calc(50% - 0.5px);}
.sub_title00 small,
.sub_title00 span{ position: relative; display: inline-block; vertical-align: middle; background-color: white; z-index: 2;}
.sub_title00 small{ color: #56ac57;}
.sub_title00 span{ font-weight: normal;}
@media (min-width: 768px) {
main{ min-width: 1054px;}
.sub_title00{ margin: 110px 0 50px; line-height: 30px;}
.sub_title00 small,
.sub_title00 span{ line-height: 30px;}
.sub_title00 small{ font-size: 28px; padding: 0 5px 0 20px;}
.sub_title00 span{ font-size: 14px; font-weight: bold; padding: 0 20px 0 5px;}
}
@media (max-width: 767.98px) {
.sub_title00{ margin: 65px 0 30px; line-height: 20px;}
.sub_title00 small,
.sub_title00 span{ line-height: 20px;}
.sub_title00 small{ font-size: 15px; padding: 0 5px 0 20px;}
.sub_title00 span{ font-size: 9px; font-weight: bold; padding: 0 20px 0 5px;}
}



/* 詳細ページタイトル */
.sub_title01{ text-align: center; position: relative; font-size: 0;}
.sub_title01::before{ background-color: #56ac57; z-index: 1; position: absolute; content: ""; width: 100%; height: 1px; left: 0; top: calc(50% - 0.5px);}
.sub_title01 span{ position: relative; display: inline-block; vertical-align: middle; background-color: white; z-index: 2;}
.sub_title01 span{ color: #56ac57; font-weight: normal;}
@media (min-width: 768px) {
.sub_title01{ margin: 70px 0 70px; line-height: 30px;}
.sub_title01 span{ line-height: 30px;}
.sub_title01 span{ font-size: 28px; padding: 0 20px 0 20px;}
}
@media (max-width: 767.98px) {
.sub_title01{ margin: 40px 0 40px; line-height: 20px;}
.sub_title01 span{ line-height: 20px;}
.sub_title01 span{ font-size: 15px; padding: 0 20px 0 20px;}
}



/* 詳細ページh3タイトル */
.sub_title02{ text-align: left; position: relative; color: #56ac57; border-bottom: 1px solid #56ac57;}
@media (min-width: 768px) {
.sub_title02{ margin: 50px 0 30px; line-height: 1.5;}
.sub_title02 span{ font-size: 24px; padding: 0 20px 0 0;}
}
@media (max-width: 767.98px) {
.sub_title02{ margin: 40px 0 40px;}
.sub_title02 span{ font-size: 15px; padding: 0 20px 0 0;}
}



/* 詳細ページ上部タイトル */
.main_title{
	position: relative;
	background-color: black;
}
.main_title>div:first-child{
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	position: absolute;
	background-color: white;
	left: 0; 
	top: 0;
	height: 100%;
	width: 100%;
	opacity: 0.5;
	animation-name: my-fade-in2;
	animation-duration: 1s;
}
.main_title2>div:first-child{
	opacity: 0.8;
}
.main_title3>div:first-child{
	opacity: 0.9;
}
.main_title>div:nth-child(2){ 
	position: relative;
}
.main_title .common_title_01{
	font-weight: bold;
	color: white;
	text-align: center;
}
.main_title .common_title_01>small{
	color: white;
	text-align: center;
}
@media (min-width: 768px) {
.main_title{ 
	position: relative;
	min-width: 1010px;
	border-bottom-width: 50px;
}
.main_title>div:nth-child(2){
	padding: 120px;
}
}
@media (max-width: 767.98px) {
.main_title>div:nth-child(2){
	padding: 50px;
}
.main_title .common_title_01{
	font-size: 20px;
}
.main_title .common_title_01>small{
	font-size: 16px;
}
}


/* ギャラリー */
@media (min-width: 768px) {
.gallery{
	min-width: 1010px;
}
.gallery>div:first-child{
	margin-top: 70px;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	position: relative;
	height: 300px;
	width: 100%;
}
}
@media (max-width: 767.98px) {
.gallery>div:first-child{
	margin-top: 30px;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	position: relative;
	height: 100px;
	width: 100%;
}
}

@media (min-width: 768px) {
.gallery4{
	margin-top: 70px;
	min-width: 1010px;
}
.gallery4>div:first-child{
	margin-top: 70px;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	height: 300px;
	width: 100%;
}
}
@media (max-width: 767.98px) {
.gallery4>div:first-child{
	margin-top: 30px;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	height: 100px;
	width: 100%;
}
}

@media (min-width: 768px) {
.gallery2{ 
	min-width: 1010px;
}
.gallery2>div:first-child{
	margin-top: 70px;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	height: 300px;
	width: 100%;
}
}
@media (max-width: 767.98px) {
.gallery2>div:first-child{
	margin-top: 30px;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	height: 100px;
	width: 100%;
}
}

@media (min-width: 768px) {
.gallery3{ 
	min-width: 1010px;
}
.gallery3>div:first-child{
	margin-top: 70px;
	background-repeat: repeat-x;
	background-size: contain;
	background-position: center;
	height: 300px;
	width: 100%;
}
}
@media (max-width: 767.98px) {
.gallery3>div:first-child{
	margin-top: 30px;
	background-repeat: repeat-x;
	background-size: contain;
	background-position: center;
	height: 100px;
	width: 100%;
}
}
