@charset 'utf-8';
/*
Theme Name: Natuhara
*/

/*リセット*/
*{margin:0;padding:0;}*,::before,::after{box-sizing:border-box}*:where(:not(fieldset,progress,meter)){border-width:0;border-style:solid;background-origin:border-box;background-repeat:no-repeat}
html{block-size:100%;-webkit-text-size-adjust:none}
body{text-rendering:optimizeSpeed;min-block-size:100%}:where(img,svg,video,canvas,audio,iframe,embed,object){display:block}:where(img,svg,video){block-size:auto;max-inline-size:100%}:where(svg){stroke:none;fill:currentColor}:where(svg):where(:not([fill])){stroke:currentColor;fill:none;stroke-linecap:round;stroke-linejoin:round}:where(svg):where(:not([width])){inline-size:5rem}:where(input,button,textarea,select),:where(input[type="file"])::-webkit-file-upload-button{color:inherit;font:inherit;font-size:inherit;letter-spacing:inherit;word-spacing:inherit}:where(textarea){resize:vertical}
@supports(resize:block){:where(textarea){resize:block}}:where(p,h1,h2,h3,h4,h5,h6){overflow-wrap:break-word}
h1{font-size: clamp(2.4rem, calc(2.2rem + 0.625vw), 2.9rem);}:where(ul,ol){list-style-position:inside}:where(ul,ol)[role="list"]{list-style:none}
a:not([class]){text-decoration-skip-ink:auto}:where(a[href],area,button,input,label[for],select,summary,textarea,[tabindex]:not([tabindex*="-"])){cursor:pointer;touch-action:manipulation}:where(input[type="file"]){cursor:auto}:where(input[type="file"])::-webkit-file-upload-button,:where(input[type="file"])::file-selector-button{cursor:pointer}
@media(prefers-reduced-motion:no-preference){:focus-visible{transition:outline-offset 145ms cubic-bezier(0.25,0,0.4,1)}:where(:not(:active)):focus-visible{transition-duration:0.25s}}:where(:not(:active)):focus-visible{outline-offset:5px}:where(button,button[type],input[type="button"],input[type="submit"],input[type="reset"]),:where(input[type="file"])::-webkit-file-upload-button,:where(input[type="file"])::file-selector-button{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;user-select:none;text-align:center}:where(button,button[type],input[type="button"],input[type="submit"],input[type="reset"])[disabled]{cursor:not-allowed}

html {
	font-size: 62.5%;
	height: 100%;
	margin: 0;
	padding: 0;
	overflow-x: hidden;
}
body {
	font-family: Helvetica, Arial, sans-serif;
	text-rendering: optimizeLegibility;
	font-size: clamp(1.6rem, calc(1.4rem + 0.625vw), 1.9rem);
	-webkit-font-feature-settings: 'palt';/*フォント文字詰調整*/
	font-feature-settings: 'palt';
	-webkit-text-size-adjust: 100%;/*スマホ横向き文字調整*/
	text-size-adjust: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}
body main .second-image{
	overflow:hidden;
}
/*=========  リンク  =========*/
a:hover img{opacity:0.8;transition:0.3s;}
body main a:hover img,
body aside a:hover img{
	opacity:1;
	transform: scale(1.1);
}
a:link,a:visited{
	color:#0099ff;
	transition: .3s;
	text-underline-offset:0.2em;
}
a:hover,a:visited:hover,a:active{
	color: #ccc;
	text-decoration:none;
}



/*=========  フォント  =========*/
.font10 {font-size: clamp(1.3rem, calc(1.1rem + 0.625vw), 1.5rem);}
.font20 {font-size: clamp(1.8rem, calc(1.6rem + 0.625vw), 2.3rem);}
.font25 {font-size: clamp(2.1rem, calc(1.9rem + 0.625vw), 2.6rem);}
.font30 {font-size: clamp(2.4rem, calc(2.2rem + 0.625vw), 2.9rem);}
.font35 {font-size: clamp(2.9rem, calc(2.7rem + 0.625vw), 3.4rem);}
.font40 {font-size: clamp(3.4rem, calc(3.2rem + 0.625vw), 3.9rem);}
.font45 {font-size: clamp(3.9rem, calc(3.7rem + 0.625vw), 4.4rem);}
.font50 {font-size: clamp(4.4rem, calc(4.2rem + 0.625vw), 4.9rem);}
h2{font-size: clamp(1.6rem, 1.5rem + 0.2vw, 1.7rem);}
.mincho{font-family: serif;}
.bold{font-weight:bold;}


/*=========  見た目処理  =========*/
.box-grayborder{
	border:1px solid #eee;
}
.box-shadow{
	box-shadow: 0px 0px 13px 0px rgba(0, 0, 0, 0.15);
}
.border-radius{
	border-radius:5px;
}
.border-radius-top{
	border-radius: 5px 5px 0 0;
}
.border-radius-bottom{
	border-radius: 0 0 5px 5px;
}
.width80box {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding:0 20px;
	display: block;
}
.width80height10box {
	width: 100%;
	height:auto;
	max-width: 1200px;
	margin: 10% auto;
	padding:0 20px;
	display: block;
}
.relative{
	position:relative;
}
.fixed{
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
}
.flex-box,
.flex-box-kotei{
	width:100%;
	height:auto;
	display:flex;
	flex-wrap:wrap;
	justify-content:start;
	margin:10px -10px;
}
.box-3to1,
.box-3to2{
	width:calc(100% / 3 - 20px);
	margin:10px;
	height:auto;
	display:flex;
	flex-direction:column;
}
.box-2,
.box-2to1{
	width:calc(100% / 2 - 20px);
	margin:10px;
	height:auto;
	display:flex;
	flex-direction:column;
}
.padding-10-box{
	padding:10px;
}
.flex-grow{
	flex-grow: 1;
}
.haba100image{
	width: 100vw;
	height:100%;
	margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
	margin-bottom:-20px;
	display:block;
	overflow:hidden;
	position:relative;
}


/*ボタン*/
.btn,
a.btn,
button.btn {
	font-weight: 700;
	line-height: 1.5;
	position: relative;
	display: inline-block;
	padding: 10px 0.5rem;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	border-radius: 0.5rem;
}
a.btn--green {
	color: #fff;
	background-color: #094;
}
a.btn--green:hover {
	background: #00a349;
}
a.btn--orange {
	color: #fff;
	background-color: #ff9900;
}
a.btn--orange:hover {
	background: #ff5500;
}

a.btn-c {
	position: relative;
	padding: 1rem;
}
a.btn-c i {
	margin-right: 1.2rem;
	color:#fff;
}
a.btn--green:before {
	font-family: 'icomoon';
	font-size: 1.8rem;
	line-height: 1;
	position: absolute;
	top: calc(50% - .9rem);
	left: 1rem;
	margin: 0;
	padding: 0;
	font-weight:normal;
	content: '\e93b';
}
a.btn--orange:before {
	font-family: 'icomoon';
	font-size: 1.8rem;
	line-height: 1;
	position: absolute;
	top: calc(50% - .9rem);
	left: 1rem;
	margin: 0;
	padding: 0;
	font-weight:normal;
	content: '\e958';
}
a.btn-border {
	padding: 1rem;
	margin:10px;
	border: 2px solid #000;
	border-radius: 0;
	border-radius: 100vh;
	background: #fff;
}
a.btn-border:hover{color:#555;}
a.btn-border:before {
	position: absolute;
	top: 2px;
	left: 2px;
	width: calc(100% - 4px);
	height: calc(100% - 4px);
	content: '';
	-webkit-transition: all .3s;
	transition: all .3s;
	border: 2px dotted #000;
	border-radius: 100vh;
}
a.btn-border:hover:before {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*画像*/
.inner-photo{
	width: 100%;
	aspect-ratio: 5 / 2;
	margin: 0 auto;
	position: relative;
	display:block;
	overflow:hidden;
}
.inner-photo img{
	width:100%;
	height:100%;
	object-fit: cover;
}


/*=========  ヘッダー  =========*/
header{
	width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
	position: relative;
}
.header-in-box{
	display:block;
}
.header-in {
	width: 100%;
	display: flex;
	align-items: center;
	margin: 0 auto;
	position: relative;
	z-index:3;
}
.header-left {
	width: 50%;
	display: flex;
	padding: 0;
}
.header-right {
	width: 50%;
	display: grid;
	justify-content: flex-end;
	padding: 0;
}
.header-left a img {
	float:left;
	width:auto;
	max-height: 50px;
}
.header-right a img{
	width: 100%;
	height: auto;
	max-height: 50px;
	margin: 0 0 0 auto;
}


/*=========  グローバルナビゲーション  =========*/
#navheader {
	display: block;
	background: #333;
	z-index:10;
}
#navheader a img {
	transition: transform 0.5s ease-in-out
}
#navheader a img:hover {
	transform: rotateX(360deg)
}
.entry-content nav>ul {
	margin: 0;
}
#navheader>a {
	position: fixed;
	top: 18px;
	left: 15px;
	z-index: 1;
}
/*ナビゲーションドロップダウンのためのCSS*/
nav {
	color: #fff;
	text-align: center;
}
/*ナビゲーションを横並びに*/
nav ul {
	list-style: none;
	justify-content: center;
	width: 100%;
	left: 0;
	margin: 0;
}
nav ul#g-navi{
	display: flex;

}
/*2階層目以降は横並びにしない*/
nav ul ul {
	display: block;
}
nav ul li {
	flex: 1; /* 均等に分割 */
	text-align: center;
	height:auto;
	position: relative;
	font-size: clamp(1.4rem, calc(1.2rem + 0.625vw), 1.9rem);
}
nav ul li a {
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
	justify-content: center;
	height:100%;
	text-decoration: none;
	color: #999;
	padding: 20px 10px;
	transition: all .3s;
}
nav ul li a:link,nav ul li a:visited{color:#fff;text-decoration: none;background:none;}
nav ul li a:hover,nav ul li a:visited:hover,nav ul li a:active{color:#ccc;text-decoration: none;background:none;}
nav ul li a::before,nav ul li a::after{display:none}
.subbutton{font-size: clamp(1rem, calc(0.6rem + 0.625vw), 1.2rem);}
nav ul li li a {
	padding: 20px 10px;
}
nav ul li a:hover {
	color: #fff;
}
/*==矢印の設定*/
/*2階層目を持つliの矢印の設定*/
nav ul li.has-child::before {
	content: '';
	position: absolute;
	left: 5px;
	top: 45%;
	width: 6px;
	height: 6px;
	border-top: 2px solid #999;
	border-right: 2px solid #999;
	transform: rotate(135deg);
}
/*3階層目を持つliの矢印の設定*/
nav ul ul li.has-child::before {
	content: '';
	position: absolute;
	left: 6px;
	top: 45%;
	width: 6px;
	height: 6px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
}
/*== 2・3階層目の共通設定 */
/*下の階層を持っているulの指定*/
nav li.has-child ul {
	position: absolute;
	left: 0;
	z-index: 4;
	background: #28BFE7;
	width:100%;
	visibility: hidden;
	opacity: 0;
	transition: all .3s;
	margin: 0;
}
/*hoverしたら表示*/
nav li.has-child:hover>ul,
nav li.has-child ul li:hover>ul,
nav li.has-child:active>ul,
nav li.has-child ul li:active>ul {
	visibility: visible;
	opacity: 1;
}
/*ナビゲーションaタグの形状*/
nav li.has-child ul li a {
	color: #fff;
	border-bottom: solid 1px rgba(255, 255, 255, 0.6);
}
nav li.has-child ul li:last-child a {
	border-bottom: none;
}
nav li.has-child ul li a:hover,
nav li.has-child ul li a:active {
	background: #3577CA;
}
/*3階層目の位置*/
nav li.has-child ul ul {
	top: 0;
	left:100%;
	background: #66ADF5;
}
nav li.has-child ul ul li a:hover,
nav li.has-child ul ul li a:active {
	background: #448ED3;
}
.menu-under-box{
	padding:10% 0 0 0;
}
/*=========  コンテンツ  =========*/
.contents-box{
	width:100%;
	height:auto;
	display: flex ;
	justify-content: center ;
	align-items: center ;
	z-index:3;
	position:relative;
}


/*========= 他サイト  =========*/
/* SNS */

.sns {
	position: fixed;
	text-align:center;
	top:45%;
	color: #fff;
	background: rgba(220,0,0,0.8);
	transform: translateX(-33px);
	padding:5px;
	z-index:10;
	border-radius:0 5px 5px 0;
}
.sns{margin:0;text-align:center;}
.menusns{max-width:250px;margin:0 auto 20px auto;text-align:center;}
.sns ul, .menusns ul {list-style:none;}
.sns li {width:20%;padding:5px 0;}
.menusns li {display:inline-block;width:20%;}
.sns li a, .menusns li a {font-size:120%;display:block;padding:0;color:#fff;text-align:center;text-decoration: none;border:none;}
.sns li a:hover, .menusns li a:hover {text-decoration: none;background:none;transition: .3s;}
.icon-x:before,
.icon-facebook-black:before,
.icon-hatenabookmark:before,
.icon-line1:before{
	color:#fff;
}
a:hover .icon-x:before,
a:hover .icon-facebook-black:before,
a:hover .icon-line1:before,
a:hover .icon-hatenabookmark:before{
	opacity:0.5;
}
@keyframes RightAnime{
	from {
		opacity: 0;
		transform: translateX(-33px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}
.sns.RightMove{
	animation: RightAnime 0.5s forwards;
}
@keyframes LeftAnime{
	from {
		opacity: 0;
		transform: translateX(0);
	}
	to {
		opacity: 1;
		transform: translateX(-33px);
	}
}
.sns.LeftMove{
	animation: LeftAnime 0.5s forwards;
}


/*youtube*/
.youtube-wrapperout{width:100%;margin:0 auto;}
.youtube-wrapper {position: relative;padding-bottom: 56.25%;height: 0;margin:0 auto 24px auto;}
.youtube-wrapper iframe {position: absolute;top: 0;left: 0;right: 0;width: 100%;height: 100%;}
/* googlemap */
.ggmap {position: relative;padding-bottom: 56.25%;padding-top: 30px;height: 0;overflow: hidden;} 
.ggmap iframe,.ggmap object,.ggmap embed {position: absolute;top: 0;left: 0;width: 100%;height: 100%;}


/*=========  フッター  =========*/
footer{
	background:#000;
}
.footerbox {
	display: block;
	align-items: center;
	margin: 0 auto;
	padding:20px 0;
	position: relative;
	color:#fff;
	text-align:center;
}

ul.footernav{
	padding:0 5px;
}
.privacy{
	margin-top:10px;
	padding:0 5px;
	margin-bottom:10px;
}
ul.footernav li{
	display: inline-block;
	list-style: none;
	padding:0 5px;
	border-right:1px solid #fff;
}
ul.footernav li:last-child{
	border-right:none;
}
.footerbox a{
	color:#fff;
	text-decoration: none;
}
.footerbox a:hover{
	color:#ccc;
	text-decoration: none;
	background:none;
}
ul.footernav .subbutton,
ul.footernav li ul{
	display:none;
}

/* ページトップ */
#page-top a{
	display: flex;
	justify-content:center;
	align-items:center;
	width:40px;
	height:40px;
	background:#555;
	border-radius:50%;
	color: #fff;
	text-align: center;
	text-decoration: none;
	font-size:3rem;
	transition:all 0.3s;
	opacity: 0.5;
}
#page-top a:hover{
	background: #777;
}
#page-top {
	position: fixed;
	right: 10px;
	bottom:10px;
	z-index: 11;
	transform: translateY(200px);
}
#page-top a i{
	margin-top:-5px;
}
#page-top.UpMove{
	animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
	from {
		opacity: 0;
		transform: translateY(100px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
#page-top.DownMove{
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
	from {
		opacity: 1;
		transform: translateY(0);
	}
	to {
		opacity: 1;
		transform: translateY(150px);
	}
}


/*パンくず*/
#breadcrumb{padding:0;margin:20px 0;}
#breadcrumb .fa-home,#breadcrumb .fa-angle-right{}
#breadcrumb li{display:inline-block; margin-right:7px;font-size:clamp(1.3rem, calc(1.6rem - 0.5vw), 1.6rem)}
.home #breadcrumb{display:none!important;height:0;padding:0;margin:0;}


/*モバイル表示*/
@media screen and (max-width: 768px) {
	.visiblePC{display:none;}
	.visibleMOB{display:visible;}
	/*見た目*/

	.flex-box {
		display:block;
		margin:0 auto;
	}
	.flex-box-kotei{
		width:calc(100% + 20px);
		margin:20px -10px;
	}
	.flex-box-contact{
		width:100%;
		height:auto;
		display:flex;
		flex-wrap:wrap;
		justify-content:start;
		margin:0;
	}
	.box-3to1,
	.box-2to1{
		width:100%;
		display:block;
		margin:20px 0;
	}
	.box-3to2{
		width:calc(100% / 2 - 20px);
		margin:10px;
	}
	/*ヘッダー*/
	.header-in{
		display:block;
	}
	.header-left{
		justify-content: center;
		width:100%;
		height:auto;
	}
	.header-left a{
		display: block;
		overflow:hidden;
	}
	.header-right{
		display:none;
	}

	/*グローバルナビゲーション*/
	#navheader {
		position: fixed;
		top:0;
		left:0;
		width: 100%;
		z-index:9998;
	}
	#navheader nav.width80box{
		width:100%;
	}
	h1#Logo {
		display: none;
	}
	a.top-button {
		scale: .7;
		right: 0;
	}
	ul#g-navi {
		display: none;
		width: 100%;
	}
	.openbtn span {
		display: inline-block;
		transition: all 0.4s;
		position: absolute;
		left: calc(50% + -13px);
		height: 3px;
		border-radius: 2px;
		background-color: #fff;
		width: 26px;
	}
	.openbtn span:nth-of-type(1) {
		top: calc(31% - 1px)
	}
	.openbtn span:nth-of-type(2) {
		top: calc(50% - 1px)
	}
	.openbtn span:nth-of-type(3) {
		top: calc(69% - 1px)
	}
	.openbtn.active span:nth-of-type(1) {
		top: 15px;
		left: 9px;
		transform: translateY(6px) rotate(-45deg);
		width: 60%
	}
	.openbtn.active span:nth-of-type(2) {
		opacity: 0
	}
	.openbtn.active span:nth-of-type(3) {
		top: 27px;
		left: 9px;
		transform: translateY(-6px) rotate(45deg);
		width: 60%
	}
	.openbtn {
		position: fixed;
		z-index: 9999;
		top: 0;
		right: 0;
		cursor: pointer;
		width: 44px;
		height: 44px;
		border-radius: 0 0 0 7px
	}
	header#navheader>a {
		display: none
	}
	nav {
		padding: 0;
		background: rgba(0,0,0,0.2);
	}
	nav ul li{
		text-align:left;
	}
	nav li.has-child ul,
	nav li.has-child ul ul {
		position: relative;
		left: 0;
		top: 0;
		width: 100%;
		visibility: visible;
		/*JSで制御するため一旦表示*/
		opacity: 1;
		/*JSで制御するため一旦表示*/
		display: none;
		/*JSのslidetoggleで表示させるため非表示に*/
		transition: none;
		/*JSで制御するためCSSのアニメーションを切る*/
	}
	nav ul li a {
		display:block;
		border-bottom: 1px solid rgba(0,0,0,0.7);
		padding-left:40px;
	}
	nav li.has-child ul li a {
		padding-left:40px;
	}
	/*矢印の位置と向き*/
	nav ul li.has-child::before {
		top:24px;
		left: 20px;
	}
	nav ul ul li.has-child::before {
		transform: rotate(135deg);
		top:24px;
		left: 20px;
	}
	nav ul li.has-child.active::before {
		top:24px;
		transform: rotate(-45deg);
	}
	.footer-right::before{
		display:none;
	}
	.footer-right {
		width:100%;
		padding:0;
		margin:0;
		border:none;
	}
	.site-info{
		text-align:center;
	}
	/*フッター問合せ*/
	footer{
		padding-bottom:70px;
	}
	#footer-contact {
		position: fixed;
		bottom: -70px;
		text-align:left;
		width: 100%;
		height: 70px;
		color: #fff;
		background: black;
		box-sizing: border-box;
		transition: .5s; /* アニメーションタイミング */
		z-index:10;
	}
	#footer-contact.is-show {
		bottom: 0;
	}
	/*フッターページトップ位置変更*/
	#page-top {
		bottom:80px;
	}
}


/*タブレット表示*/
@media screen and (min-width: 769px) and (max-width: 1024px){
	
}


/* MOB非表示 */
@media screen and (min-width: 769px){
	.visibleMOB{display:none;}
	
	/*ナビメニュー*/

	ul#g-navi .uLine-center:after {
		content: '';
		position: absolute;
		left: 50%;
		bottom: 0;
		transform: translateX(-50%);
		width: 0%;
		height: 2px;
		background: #f46400;
		transition: all 0.5s;
	}
	ul#g-navi .uLine:hover .uLine-center:after {
		width: 100%;
	}
	
	#footer-contact{
		display:none;
	}
}


/*PC表示*/
@media screen and (min-width: 1025px){


}


