@charset "UTF-8";

/*
	Theme Name: hyuugashiba
	Version: 1.0
	Author: T Hira
	Description: 2022/08/23 Ver1.0 新規制作. 
*/

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

/* ------------------------------
body
------------------------------ */
body {
	min-width: 320px;
	width: 100%;
	font-size: 16px;
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: 0.075em;
	color: #000;
}
body a ,
ul li a img {
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
	text-decoration: none;
}
body a:hover ,
ul li a:hover img {
	text-decoration: underline;
	filter: alpha(opacity=70);
	-moz-opacity: 0.7;
	opacity: 0.7;
}
body a.notOpacity ,
ul li a.notOpacity img {
	-webkit-transition: none;
	-moz-transition: none;
	-o-transition: none;
	transition: none;
	text-decoration: none;
}
body a.notOpacity:hover ,
ul li a.notOpacity img:hover {
	filter: alpha(opacity=100);
	-moz-opacity: 1.0;
	opacity: 1.0;
}
nav {
	letter-spacing: 2px;
}
img {
	max-width: 100%;
	vertical-align: bottom;
	height: auto;
}
img {
	max-width: 100%;
	vertical-align: bottom;
	height: auto;
}
h1, h2, h3, h4, h5, h6, th {
	font-weight: 600;
}

/* ブロック要素に丸ごとリンク */
.blockLink {
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
	text-decoration:none;
	cursor:pointer;
}
.blockLink:hover  {
	filter: alpha(opacity=70);
	-moz-opacity: 0.7;
	opacity: 0.7;
	text-decoration: none;
}

/* ライトボックス系に影響がないよう範囲を指定 */
img.x2 {
	zoom: 0.5;
}
/* Firefox用 */
@-moz-document url-prefix() {
	img.x2 {
		transform-origin: 0 0;
		transform: scale(0.5);
	}
}

.over1200 {
	display: inline;
}
.under1200 {
	display: none;
}
.over1200_block {
	display: block;
}
.under1200_block {
	display: none;
}


/* ------------------------------
header
------------------------------ */
header {
	overflow: hidden;
	position: relative;
}
header #slider {
    width: 100%;
    height: 100vh;
}
header h1 {
	position: absolute;
	top: 0px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	z-index: 99;
	max-width: 1280px;
	width: 100%;
	padding: 20px;
}
header .catch {
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	z-index: 99;
	max-width: 30%;
	max-width: 1280px;
	width: 100%;
	text-align: center;
	padding: 20px 20px 120px;
}
header .slider-area {
	margin-top: 112px;
}
/* デスクトップ用メニュー */
header .desktop-nav ul {
	position: absolute;
	top: 20px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	z-index: 99;
	text-align: center;
	font-size: 0px;
	padding: 20px;
}
header .desktop-nav ul li {
	font-size: 18px;
	display: inline-block;
	vertical-align: top;
	margin: 0px 1em;
}
header .desktop-nav ul li a {
	display: inline-block;
	padding: 0.25em;
	color: #fff;
	border-bottom: solid 2px transparent;
}
header .desktop-nav ul li a:hover {
	text-decoration: none;
	border-bottom: solid 2px #65AB31;
}
/* モバイル用メニュー */
header .mobile-nav {
	display: none;
}
header .mobile-nav > ul {
	position: fixed;
	background-color: #fff;
	padding: 0;
	z-index: 102;
	top: 0px;
	right: 0;
	width: 100%;
	transform: translateY(-100%);
	transition: all 1.0s;
	border: solid 1px #65AB31;
	overflow: auto;
	max-height: 100%;
}
header .mobile-nav ul li {
	list-style-type: none;
	padding: 0;
	width: 100%;
	border-bottom: 1px solid #65AB31;
}
header .mobile-nav ul li:last-child {
	border-bottom: none;
}
header .mobile-nav ul li .noLink ,
header .mobile-nav ul li a {
	display: block;
	text-align: center;
	line-height: 1.25;
	color: #65AB31;
	padding: 0.5em;
	font-size: 18px;
}
header .mobile-nav ul .current {
	display: block;
	text-align: left;
	line-height: 1.25;
	padding: 0.5em;
	font-size: 16px;
	background-color: #65AB31;
	color: #fff;
}
header .mobile-nav ul li a:hover {
	text-decoration: none;
	background-color: #65AB31;
	color: #fff;
	filter: alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
}
header .mobile-nav ul.active {
	transform: translate(0px,0px);
}
header .mobile-nav .toggle {
	display: block;
	position: fixed;
	right: 10px;
	top: 10px;
	width: 56px;
	height: 56px;
	cursor: pointer;
	z-index: 103;
	background-color: #fff;
	border: solid 2px #65AB31;
	border-radius: 5px;
	text-align: center;
}
header .mobile-nav .toggle span {
	display: block;
	position: absolute;
	width: 40px;
	border-bottom: solid 3px #65AB31;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
	left: 6px;
}
header .mobile-nav .toggle span:nth-child(1) {
	top: 9px;
}
header .mobile-nav .toggle span:nth-child(2) {
	top: 18px;
}
header .mobile-nav .toggle span:nth-child(3) {
	top: 27px;
}
header .mobile-nav .toggle span:nth-child(4) {
	border: none;
	color: #65AB31;
	font-size: 12px;
	top: 37.5px;
}
header .mobile-nav .toggle.active span:nth-child(1) {
	top: 18px;
	left: 6px;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
header .mobile-nav .toggle.active span:nth-child(2),
header .mobile-nav .toggle.active span:nth-child(3) {
	top: 18px;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
}
header .mobile-nav .child {
	display: none;
	background-color: #fff;
}
header .mobile-nav .parent:after {
	content: '+';
	font-weight: 600;
	margin-left: 0.5em;
	background: #fff;
	display: inline-block;
	text-align: center;
	width: 1em;
	border-radius: 0.5em;
}
header .mobile-nav .parent.active:after {
	content: '-';
}

/* -------------------------------
main
-------------------------------- */
main {
	overflow: hidden;
}
main .common-inner {
	clear: both;
	overflow: hidden;
	max-width: 1280px;
	margin: 0px auto;
	padding: 80px 0px;
}
main .common-h {
	width: 164px;
	margin-bottom: 1.5em;
	min-width: 7.25em;
	margin: 0px auto 40px;
	text-align: center;
}
main .common-h .en {
	display: inline-block;
	width: 100%;
	padding: 0.25em;
	font-size: 24px;
	line-height: 1.5;
	color: #65AB31;
	border-bottom: solid 2px #65AB31;
}
main .common-h .ja {
	display: inline-block;
	padding: 0.25em;
	font-size: 18px;
	font-weight: normal;
	line-height: 1.5;
	color: #000;
}

/* ------------------------------
footer
------------------------------ */
footer {
	overflow: hidden;
	max-width: 1280px;
	margin: 0px auto;
}
footer .logo-area {
	padding:20px;
}
footer .logo {
	margin-bottom: 20px;
}
footer .access {
	font-size: 18px;
	line-height: 1.5;
}
footer .copy-right {
	max-width: 720px;
	 width: 100%;
	padding: 10px 20px;
	line-height: 1.25;
	background-color: #65AB31;
	color: #fff;
}
footer .page-top {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 100;
	max-width: 16%;
}

/* ------------------------------
common
------------------------------ */
/* margin */
.mb_0 {
	margin-bottom: 0px !important;
}
.mb_10 {
	margin-bottom: 10px !important;
}
.mb_20 {
	margin-bottom: 20px !important;
}
.mb_30 {
	margin-bottom: 30px !important;
}
.mb_40 {
	margin-bottom: 40px !important;
}
.mb_80 {
	margin-bottom: 80px !important;
}
.mt_minus20 {
	margin-top: -20px;
}
.mt_minus30 {
	margin-top: -30px;
}
/* float */
.f_left {
	float: left;
	margin-right: 10px;
}
.f_right {
	float: right;
	margin-left: 10px;
}
/* clear */
.c_both {
	clear: both;
}

.under600 {
	display: none;
}
.over600 {
	display: block;
}
img.over600 ,
span.over600 {
	display: inline;
}

.fs14 {
	font-size: 14px !important;
}

/* ------------------------------
wordpress
------------------------------ */
.alignnone {
	margin: 10px;	
}
.aligncenter {
	display: block;
	margin: 10px auto;
}
.alignleft {
	float: left;
	margin: 10px;
}
.alignright {
	float: right;
	margin: 10px;
}
.size-full {
	max-width: 100%;
	height: auto;
	margin-top: 10px;
	margin-bottom: 10px;
}

/* ------------------------------
home HOME  
------------------------------ */
#page-home #introduction {
	position: relative;
	padding: 80px;
	max-width: 1720px;
	margin: 0px auto;
}
#page-home #introduction .image01 {
	position: absolute;
	top: 20px;
	right: 20px;
	max-width: 20%;
}
#page-home #introduction .image02 {
	position: absolute;
	bottom: 20px;
	left: 20px;
	max-width: 20%;
}
#page-home #introduction .text-area {
	max-width: 1280px;
	margin: 0px auto;
	background-color: #DBEBC4;
	color: #637B34;
	padding: 80px;
	font-size: 18px;
	line-height: 1.75;
}
#page-home #introduction .text-area h2 {
	font-size: 24px;
	text-align: center;
	margin-bottom: 1em;
}
#page-home #introduction .text-area .text {
	max-width: 800px;
	margin: 0px auto 40px;
}
/* slick */
.slick-gallery-ul {
	width: 100vw;
	margin: 0px calc(-50vw + 50%) 80px !important;
	max-height: 275px;
}
.slick-gallery-li {
	justify-content: center;
	align-items: center;
	text-align: center;
}
.slick-gallery-li a {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	aspect-ratio: 384 / 275;
	max-width: 384px;
	max-height: 275px;
}

/* SERVICE */
#page-home #service {
	padding: 60px 0px;
}
#page-home #service > .text {
	font-size: 18px;
	line-height: 1.75;
	text-align: center;
	margin-bottom: 1em;
}
#page-home #sales ,
#page-home #management {
	overflow: hidden;
	font-size: 18px;
	line-height: 1.75;
	background-color: #65AB31;
	color: #fff;
	max-width: 1280px;
	padding: 20px;
	margin: 0px auto 20px;
}
#page-home #sales .image {
	float: left;
	margin: -20px 0px;
}
#page-home #results {
	overflow: hidden;
	font-size: 18px;
	line-height: 1.75;
	background-color: #DBEBC4;
	color: #637B34;
	max-width: 1280px;
	padding: 20px;
	margin: 0px auto 20px;
}
#page-home #results .image ,
#page-home #management .image {
	float: left;
	margin-bottom: 20px;
}
#page-home #service .right-area {
	float: right;
	max-width: 675px;
	width: 100%;
	padding: 20px;
	text-align: center;
}
#page-home #service .right-area h3 {
	font-size: 24px;
	padding: 1em;
	margin-bottom: 1em;
}
#page-home #service .right-area .text {
	display: inline-block;
	text-align: left;
	margin-bottom: 1em;
}
#page-home #service .right-area .to-shop {
	text-align: center;
}
#page-home #service .right-area .to-shop a {
	display: inline-block;
	border: solid 1px #fff;
	color: #fff;
	font-size: 24px;
	max-width: 400px;
	width: 100%;
	text-align: center;
}
#page-home #service .right-area .to-shop a:hover {
	text-decoration: none;
	background-color: #fff;	
	color: #65AB31;
}
#page-home #service h4 {
	clear: both;
	font-size: 24px;
	margin-bottom: 0.5em;
}
#page-home #service ul {
	clear: both;
	display: flex;
	justify-content: space-between;
	list-style: none;
}

/* WORKS */
#page-home #works {
	padding: 60px 0px;
}
/* COMPANY */
#page-home #company {
	padding: 60px 0px;
	background-color: rgba(219, 235, 196, 0.7);
}
#page-home #company table {
	border-bottom: solid 1px #000;
	max-width: 960px;
	width: 100%;
	margin: 0px auto;
	font-size: 20px;
	line-height: 1.75;
}
#page-home #company tr {
	border-top: solid 1px #000;
}
#page-home #company .map-tr {
	border-top: none;
}
#page-home #company th {
	font-weight: normal;
	padding: 0.5em 1em;
	width: 150px;
	-moz-text-align-last: justify;
	text-align-last: justify;
	text-justify: inter-ideograph;
}
#page-home #company td {
	font-weight: normal;
	padding: 0.5em 1em;
}
#page-home #company iframe {
	width: 100%;
	aspect-ratio: 987 / 442;
}
/* CONTACT */
#page-home #contact {
	padding: 60px 0px;
}
#page-home #contact dl {
	text-align: left;
	font-size: 18px;
	line-height: 2.0;
}
#page-home #contact dt {
	border-bottom: solid 1px #982426;
}
#page-home #contact dd {
	margin-bottom: 40px;
}
#page-home #contact dt strong {
	font-size: 150%;
	font-weight: bold;
	margin-right: 0.25em;
}
#page-home #contact dd strong {
	font-size: 150%;
	font-weight: bold;
	color: #982426;
	margin-right: 0.25em;
}
#page-home #contact form {
	text-align: left;
	max-width: 520px;
	margin: 0px auto 80px;
	padding: 0px 20px;
}
#page-home #contact label {
	display: block;
	font-size: 18px;
	font-family: 'Noto Sans JP', sans-serif;
	line-height: 1.5;
	padding: 0.5em 0px;
	margin-bottom: 1em;
}
#page-home #contact input[type="text"] ,
#page-home #contact input[type="tel"] ,
#page-home #contact input[type="date"] ,
#page-home #contact input[type="email"] ,
#page-home #contact textarea {
	-webkit-appearance: none;
	width: 100%;
	font-size: 18px;
	font-family: 'Noto Sans JP', sans-serif;
	line-height: 1.5;
	box-sizing: border-box;
	padding: 0.5em;
	margin: 0.5em 0px;	
}
#page-home #contact select {
	font-family: 'Noto Sans JP', sans-serif;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: url(./images/home/select_bg.png) no-repeat right 1em top 50% #fff;
	width: 100%;
	font-size: 18px;
	line-height: 1.5;
	padding: 0.5em;
	margin-top: 5px;
	margin-bottom: 20px;
	box-sizing: border-box;	
	border-radius: 5px;
}
#page-home #contact input[type="submit"] {
	-webkit-appearance: none;
	padding: 5px 25px;
	width: 100%;
	background-color: #89AD38;
	border: none;
	color: #fff;
	font-size: 18px;
	font-family: 'Noto Sans JP', sans-serif;
	line-height: 1.5;
	letter-spacing: 1em;
	padding: 0.5em;
}





/* レスポンシブWEBデザイン */
@media screen and (max-width:1299.99px) {

	.over1200 {
		display: none;
	}
	.under1200 {
		display: inline;
	}
	.over1200_block {
		display: none;
	}
	.under1200_block {
		display: block;
	}

	/* header */
	header .desktop-nav {
		display: none;
	}
	header .mobile-nav {
		display: block;
	}

	/* main */
	main .common-inner {
		padding: 60px 10px;
	}
	main .border-h {
		background: url('./images/common/border-h_bg.png') no-repeat right bottom;
		background-size: 140px;
		font-size: 24px;
		padding: 0.125em 2em 0.125em 0em;
		margin-left: 0px;
	}

	/* footer */

	/* home HOME */
	#page-home #introduction {
		position: relative;
		padding: 60px 10px;
	}
	#page-home #introduction .image01 {
		position: absolute;
		top: 10px;
		right: 10px;
		max-width: 200px;
	}
	#page-home #introduction .image02 {
		position: absolute;
		bottom: 10px;
		left: 10px;
		max-width: 200px;
	}
	#page-home #introduction .text-area {
		padding: 100px 10px;
		font-size: 15px;
	}
	#page-home #introduction .text-area h2 {
		font-size: 21px;
	}
	#page-home #service {
		padding: 40px 10px;
	}
	#page-home #service > .text {
		font-size: 15px;
	}
	#page-home #sales ,
	#page-home #management {
		overflow: hidden;
		font-size: 18px;
		line-height: 1.75;
		background-color: #65AB31;
		color: #fff;
		max-width: 640px;
		padding: 20px;
		margin: 0px auto 20px;
	}
	#page-home #sales .image {
		float: none;
		margin: 0px;
		text-align: center;
	}
	#page-home #results {
		font-size: 15px;
		max-width: 640px;
		padding: 10px;
	}
	#page-home #results .image ,
	#page-home #management .image {
		float: none;
		margin-bottom: 0px;
		text-align: center;
	}
	#page-home #service .right-area {
		float: none;
		max-width: 640px;
		padding: 10px;
		margin: 0px auto;
	}
	#page-home #service .right-area h3 {
		font-size: 21px;
	}
	#page-home #service .right-area .to-shop a {
		font-size: 21px;
		max-width: 300px;
	}
	#page-home #service h4 {
		font-size: 21px;
	}
	#page-home #service ul {
		display: flex;
		justify-content: space-between;
		list-style: none;
	}
	#page-home #works {
		padding: 40px 0px;
	}
	/* COMPANY */
	#page-home #company {
		padding: 40px 10px;
	}
	#page-home #company table {
		max-width: 640px;
		font-size: 15px;
	}
	#page-home #company th {
		width: 100px;
	}
	#page-home #company td {
		font-weight: normal;
		padding: 0.5em 1em;
	}
	#page-home #company iframe {
		width: 100%;
		aspect-ratio: 987 / 442;
	}
	#page-home #contact {
		padding: 40px 10px;
	}
	#page-home #contact dl {
		text-align: left;
		font-size: 18px;
		line-height: 2.0;
	}
	#page-home #contact dt {
		border-bottom: solid 1px #982426;
	}
	#page-home #contact dd {
		margin-bottom: 40px;
	}
	#page-home #contact dt strong {
		font-size: 150%;
		font-weight: bold;
		margin-right: 0.25em;
	}
	#page-home #contact dd strong {
		font-size: 150%;
		font-weight: bold;
		color: #982426;
		margin-right: 0.25em;
	}
	#page-home #contact form {
		text-align: left;
		max-width: 520px;
		margin: 0px auto 80px;
		padding: 0px 20px;
	}
	#page-home #contact label {
		display: block;
		font-size: 18px;
		font-family: 'Noto Sans JP', sans-serif;
		line-height: 1.5;
		padding: 0.5em 0px;
		margin-bottom: 1em;
	}
	#page-home #contact input[type="text"] ,
	#page-home #contact input[type="tel"] ,
	#page-home #contact input[type="date"] ,
	#page-home #contact input[type="email"] ,
	#page-home #contact textarea {
		-webkit-appearance: none;
		width: 100%;
		font-size: 18px;
		font-family: 'Noto Sans JP', sans-serif;
		line-height: 1.5;
		box-sizing: border-box;
		padding: 0.5em;
		margin: 0.5em 0px;	
	}
	#page-home #contact select {
		font-family: 'Noto Sans JP', sans-serif;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		background: url(./images/home/select_bg.png) no-repeat right 1em top 50% #fff;
		width: 100%;
		font-size: 18px;
		line-height: 1.5;
		padding: 0.5em;
		margin-top: 5px;
		margin-bottom: 20px;
		box-sizing: border-box;	
		border-radius: 5px;
	}
	#page-home #contact input[type="submit"] {
		-webkit-appearance: none;
		padding: 5px 25px;
		width: 100%;
		background-color: #89AD38;
		border: none;
		color: #fff;
		font-size: 18px;
		font-family: 'Noto Sans JP', sans-serif;
		line-height: 1.5;
		letter-spacing: 1em;
		padding: 0.5em;
	}

	#page-home #contact {
		padding: 40px 10px;
	}
	#page-home #contact table {
		font-size: 15px;
		margin: 0px auto 40px;
	}
	#page-home #contact dl {
		font-size: 15px;
	}
	#page-home #contact dd {
		margin-bottom: 20px;
	}
	#page-home #contact form {
		text-align: left;
		max-width: 520px;
		margin: 0px auto 80px;
		padding: 0px 20px;
	}
	#page-home #contact label {
		font-size: 15px;
	}
	#page-home #contact input[type="text"] ,
	#page-home #contact input[type="tel"] ,
	#page-home #contact input[type="date"] ,
	#page-home #contact input[type="email"] ,
	#page-home #contact textarea {
		font-size: 15px;
	}
	#page-home #contact input[type="submit"] {
		font-size: 15px;
	}



}

@media screen and (max-width: 619.99px) {
	.under600 {
		display: block;
	}
	img.under600 ,
	span.under600 {
		display: inline;
	}
	.over600 {
		display: none !important;
	}
	
}

@media screen and (min-width: 619.99px) {
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}