@charset "utf-8";
/*@import url('https://fonts.googleapis.com/css2?family=Alata&display=swap');*/
/*
Theme Name: hirata.jp
Theme URI: http://
Description:ヒラタ株式会社
Version: 1
*/


/*全端末（PC・タブレット・スマホ）共通設定---*/

/*全体設定---*/
html { scroll-behavior: smooth;}
body {
	margin: 0px;
	padding: 0px;
	color: #000;	/*全体の文字色*/
	font-family: "IBM Plex Sans JP", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 18px;	/*文字サイズ*/
	line-height: 2;		/*行間*/
	background: #fff;	/*背景色*/
    text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;	/*safari*/
}
h1,h2,h3,h4,h5,p{
	font-weight: 400;
	font-style: normal;
}

img {border: none;width: 100%;height: auto;vertical-align: middle;}
table {border-collapse:collapse;font-size: 100%;border-spacing: 0;}
iframe {width: 100%;}
.centered{
	margin: 0 auto;
	position:relative;
} 
.sp {
		display: none;
	}
input,textarea,select {
    border: 1px solid #999;
    border-radius: 0.5em;
	padding: 0.2em 0.7em;
    background: #efede5;
}
select {
    border: 1px solid #999;
    border-radius: 0.5em;
    padding: 0.43em;	
}
@media screen and (max-width:1100px){
	body {
		font-size: 1.6vw;
	}
}
@media screen and (max-width:580px){
	body {
		font-size: 4vw;
	}
	.sp {
		display: inline;
	}
}



/*リンク設定---*/
a {
	color: #000;		/*リンクテキストの色*/
	transition: 0.2s;	/*マウスオン時の移り変わるまでの時間設定。0.2秒。*/
	text-decoration: none;
}
a:hover {
	color: #75a932;			/*マウスオン時の文字色*/
	text-decoration: none;	/*マウスオン時に下線を消す設定。残したいならこの１行削除。*/
}

/*ヘッダー設定---*/
header {
    background: #ffffffb5;
    position: fixed;
    width: 100%;
	z-index: 100;
}
header #top-ber {
	background: #D6D1C0;
    color: #2F2305;
    text-indent: 1em;
    font-size: 0.8em;
}
header #head-block {
	position:relative;
	max-width:1600px;
	margin: 0 auto;
}
header #head-block .logo{
	margin: 1em 0 0 3em;	
}
header #head-block .button {
	position:absolute;
	right:5em;
	top: 1em;
}
header #head-block .button a {
	display: inline-block;
	background: linear-gradient(to left, #f04b6d, #eb635c);
	color: #ffffff;
	padding: 0.4em 4em 0.3em;
	border-radius: 1em;
	margin-left: 1em;
	font-weight: bold;
}
header #head-block .button a:hover {
	box-shadow: -1px 1px 8px rgb(251 214 1 / 88%), 3px -1px 10px rgb(244 214 115 / 88%);
}
header #head-block .update{
	position:absolute;	
	right:7em;
	bottom: 0em;
}


/*フッター設定---*/

footer {
	text-align: center;
	background: #D6D1C0;
    color: #2F2305;
}
a.pagetop {
	font-family: 'Alata', sans-serif;
    display: block;
    position: fixed;
    bottom: 0.7em;
    right: 0.7em;
    width: 5em;
    height: 5em;
    background-color: #0058b0;
    color: #fff;
    text-align: center;
    line-height: 7.3em;
    border-radius: 50%;
    opacity: 0.7;
    z-index: 100;
    font-size: 0.8em;
}
a.pagetop:hover {
	color: #fff;
	opacity: 0.5;
}
a.pagetop::before{
	content: "";
    width: 1.3em;
    height: 1.3em;
    border-top: 1px solid #fff;
    border-left: 1px solid #fff;
    display: block;
    position: absolute;
    transform: rotate(45deg);
    top: 2em;
    left: 1.9em;
}

/*HOME---*/
#home #main {
    padding-top: 8em;
}
#home #main section {
    background: rgb(112 159 19);
    padding: 3em 6em;
    color: #fff;
}
#home #main section h3{
    font-size: 2.5em;
    max-width: 900px;
    margin: 0 auto;
}
#home #concept section {
    background: rgb(112 159 19);
    padding: 3em 6em;
    color: #fff;
}
#home #concept section h2 {
	max-width:900px;
	margin:0 auto 0.5em;
	font-size: 1.9em;
}
#home #concept section p {
	max-width:900px;
	margin:0 auto;
}
#home #contents {
	padding: 5em 0;
}
#home #contents section:nth-child(1) {
	max-width: 1000px;
    margin: 0 auto;
}
#home #contents section:nth-child(3){
    background: rgb(112 159 19);
    padding: 2em 0.3em;
    color: #fff;
    text-align: center;
    font-size: 1.4em;
    line-height: 1.8em;
}
#home #contents  section:nth-child(1) h3 {
	text-align: center;
	position:relative;
	font-size:1.2em;
}
#home #contents  section:nth-child(1) h3:before{
	content: "";
    display: block;
    border-bottom: 1px solid #D9D9D9;
    width: 15em;
    top: 0.7em;
	left:3em;
    position: absolute;
}
#home #contents  section:nth-child(1) h3:after{
	content: "";
    display: block;
    border-bottom: 1px solid #D9D9D9;
    width: 15em;
    top: 0.7em;
    position: absolute;
	right:3em;
}
#home #contents section:nth-child(1) ul {
	padding:2em 0 4em 13em;
}
#home #contents section:nth-child(1) li {
	position:relative;
	font-size:1.6em;
	margin: 0.5em 0px;
}
#home #contents section:nth-child(1) li:nth-child(1):before {
	content: "";
    position: absolute;
    width: 1em;
    height: 1.2em;
    display: block;
    top: 0.3em;
    left: -1.6em;
    background: url(img/b.png) no-repeat;
    background-size: contain;
}
#home #contents section:nth-child(1) li:nth-child(2):before {
	content: "";
    position: absolute;
    width: 1.2em;
    height: 1.2em;
    display: block;
    top: 0.3em;
    left: -1.7em;
    background: url(img/c.png) no-repeat;
    background-size: contain;
}
#home #contents section:nth-child(1) li:nth-child(3):before {
	content: "";
    position: absolute;
    width: 1.4em;
    height: 2.2em;
    display: block;
    top: 0em;
    left: -1.8em;
    background: url(img/bc.png) no-repeat;
    background-size: contain;
}
#home #contents section:nth-child(2) {
    background: #E5E1D3;
	padding: 5em 6em;
}
#home #contents section:nth-child(2) dl {
	max-width: 900px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
	border-bottom: 1px solid #9F9884;
}
#home #contents section:nth-child(2) dt {
	border-top: 1px solid #9F9884;
    width: 25%;
    text-align: center;
    padding: 0.5em;
	place-content: center;
}
#home #contents section:nth-child(2) dd {
	border-top: 1px solid #9F9884;
    display: inline-block;
    width: 75%;
    padding: 0.5em;
}
#home #contents .button {
	text-align:center;
	padding: 5em 0 0;
}
#home #contents .button a {
    display: inline-block;
    background:linear-gradient(to left, #f04b6d, #eb635c);
    color: #ffffff;
    padding: 0.4em 4em 0.3em;
    border-radius: 1em;
    margin-left: 1em;
    font-weight: bold;
	font-size:1.8em;
}
#home #contents .button a:hover {
    box-shadow: -1px 1px 8px rgb(251 214 1 / 88%), 3px -1px 10px rgb(244 214 115 / 88%);
}
#home #access {
    padding-top: 3em;
    max-width: 1200px;
    margin: 0 auto;
}
#home #access .centered {
	padding: 2em 3em 11em 40em;
    position: relative;
}
#home #access .centered:before {
	content: "";
    position: absolute;
    width: 33em;
    height: 23em;
    display: block;
    top: 0em;
    left: 4em;
    background: url(img/access.png) no-repeat;
    background-size: cover;
    background-position: center;
}
#home #access h2 {
    font-size: 2.2em;
    border-bottom: 1px solid #ccc;
    margin-bottom: 0.5em;
}
#home #access li {
    line-height: 1.4em;
    padding: 0.3em;
}
#home #access li b {
    font-size: 0.8em;
    font-weight: normal;
}
#home #access li span {
	font-size:1.3em;
}
#home #access li.car:after {
	content: "";
    position: relative;
    width: 1.7em;
    height: 1.22em;
    display: inline-block;
    background: url(img/car.png) no-repeat;
    background-size: cover;
    background-position: center;
    left: 0.5em;
    top: 0.2em;
}
#home #access li.walk:after {
	content: "";
    position: relative;
    width: 0.75em;
    height: 1.2em;
    display: inline-block;
    background: url(img/walk.png) no-repeat;
    background-size: cover;
    background-position: center;
    left: 0.5em;
    top: 0.1em;
}
#home #map {
    width: 100%;
    height: 28em;
    overflow: hidden;
}
#home #map iframe {
    width: 100%;
    height: 45em;
    margin-top: -8em;
}
#home #photo {
	display: flex;
    flex-wrap: wrap;
    padding: 1%;
    justify-content: space-between;
	row-gap: 0.5vw;
}
#home #photo img{
	object-fit: cover;
}
#home #photo img:nth-child(1){
	width:29.5%;
}
#home #photo img:nth-child(2){
	width:70%;
}
#home #photo img:nth-child(3){
	width:60%;
}
#home #photo .box{
	width:39.5%
}
#home #photo div img:nth-child(1){
	width:100%;
	margin-bottom: 0.5vw;
}
#home #photo div img:nth-child(2){
	width:100%;
}

#home #info {
    background: #C6BFA8;
    color: #2F2305;
	font-size: 0.8em;
    padding: 5em 1em;
}
#home #info h4 {
	text-align:center;
    font-size: 1.2em;
    margin-bottom: 1em;
}
#home #info dl {
	max-width: 900px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
	border-bottom: 1px solid #9F9884;
}
#home #info dt {
	border-top: 1px solid #9F9884;
    width: 25%;
    text-align: center;
    padding: 0.5em;
	place-content: center;
}
#home #info dd {
	border-top: 1px solid #9F9884;
    display: inline-block;
    width: 75%;
    padding: 0.5em;
}
#home #form {
    padding: 10em 1em;
}
#home #form .centerd {
    max-width: 900px;
    margin: 0 auto;
}
#home #form .centerd h2 {
	text-align: center;
    background: linear-gradient(to left, #919eab, #9ba1a7);
    color: #ffffff;
    padding: 0.4em 4em 0.3em;
    font-weight: bold;
    font-size: 1.8em;
}
#home #form .centerd p {
	margin: 1em;
	text-align:center;
	padding: 3em;
}
#home #form section h3 {
	display: flex;
	align-items: center; 
	padding: 1em;
}
#home #form section h3:after {
	content:"";
	border-top: 1px solid #ccc;
	flex-grow: 1;
	margin-left: 1em;
}
#home #form section dl{
	display: flex;
    flex-wrap: wrap;
    width: 90%;
    margin: 1em auto;
}
#home #form section dt{
	width:30%;
	position:relative;
	padding-left: 3em;
	margin: 1em 0;
	padding-top: 0.4em;
}
#home #form section dd{
	width:70%;
	margin: 1em 0;
}
#home #form .required:before{
	content:"必須";
	display:block;
	background:#eb635c;
	color:#ffffff;
	position:absolute;
	border-radius: 0.3em;
	left:0;
	top: 1em;
    font-size: 0.7em;
    padding: 0.4em 0.5em 0.2em;
    line-height: 1em;
}
#home #form .any:before{
	content:"任意";
	display:block;
	background:#AAAAAA;
	color:#ffffff;
	position:absolute;
	border-radius: 0.3em;
	left:0;
	top: 1em;
    font-size: 0.7em;
    padding: 0.4em 0.5em 0.2em;
    line-height: 1em;
}
#home #form textarea{
    width: 100%;
	margin-bottom:-0.8em
}

#home #form .privacy {
    width: 80%;
    border: 1px solid #ccc;
    padding: 1.5em;
    height: 10em;
    overflow: scroll;
    border-radius: 0.5em;
    font-size: 0.9em;
    margin: 2em auto 1em;
}
#home #form .privacy p {
	text-align:left;
	padding:0;
}
#home #form .privacy h3 {
    padding: 0;
}
#home #form .privacy h4{
	padding-top:1em;
}
#home #form .check {
	margin-top:1em;
	position: relative;
    width: 45%;
    margin: 0 auto;
    text-align: center;
	line-height: 2.5em;
}
#home #form .button {
    margin-top: 2em;
	text-align: center;
}
#home #form input[type=submit] {
    padding: 1em 6em;
    border: none;
    background: #71b338;
    color: #fff;
    font-weight: bold;
	cursor: pointer;
}
#home #form input[type=submit].back {
    background: #eb635c;
}

@media screen and (max-width:580px){
	input, textarea, select {
		max-width: 20em;
	}
	header #top-ber {
		font-size: 0.6em;
	}
	header #head-block {
		font-size: 0.8em;
	}
	header #head-block .logo {
		margin: 0.5em;
	}
	header #head-block .logo h1 {
		font-size: 1.8em;
	}
	header #head-block .logo h3 {
		font-size: 1.2em;
	}
	header #head-block .button {
		right: 0.5em;
		top: 1em;
	}
	header #head-block .button a {
		padding: 0.1em 1.3em;
	}
	header #head-block .update {
		right: 1em;
	}
	#home #main {
		padding-top: 7em;
	}
	#main img {
		height: 24em;
		object-fit: cover;
	}
	#home #main section {
		padding: 3em 1.5em;
	}
	#home #main section h2 {
		font-size: 1.5em;
	}
	#home #main section p {
		font-size: 0.9em;
		line-height: 1.7em;
	}
	#home #contents {
		padding: 3em 0;
	}
	#home #contents section:nth-child(1) h3:before {
		width: 7em;
		left: 0.3em;
	}
	#home #contents section:nth-child(1) h3:after {
		width: 7em;
		right: 0.3em;
	}
	#home #contents section:nth-child(1) ul {
		padding: 1em 1em 2em 6em;
		font-size: 0.8em;
	}
	#home #contents section:nth-child(1) li {
		line-height: 1.2em;
		margin: 1em 0;
	}
	#home #contents section:nth-child(1) li:nth-child(1):before {
		top: 0;
	}
	#home #contents section:nth-child(1) li:nth-child(2):before {
		top: 0;
	}
	#home #contents section:nth-child(2) {
		padding: 5em 1em;
		font-size: 0.8em;
	}
	#home #contents section:nth-child(3) {
		font-size: 1.3em;
	}
	#home #access .centered {
        padding: 26em 2em 5em;
        font-size: 0.8em;
    }
	#home #access .centered:before {
        width: 100%;
        left: 0;
    }
	#home #concept section {
		padding: 3em 1.8em;
	}
	#home #form .centerd h2 {
		padding: 0.5em 0;
	}
	#home #form .centerd p {
		padding: 0;
		text-align: left;
	}
	#home #form section h3 {
		padding: 1em 0;
	}
	#home #form section dl {
		width: 100%;
		display: block;
	}
	#home #form section dt {
		width: 100%;
		margin: 1em 0 0;
	}
	#home #form section dd {
		width: 100%;
		margin: 0;
	}
	#home #form .privacy {
		width: 100%;
	}
	#home #form .check {
		width: 100%;
	}

}



/*formm---*/




