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

/*
リンク
フォント
見た目処理 [画像]
ヘッダー
グローバルナビゲーション
コンテンツ [検索 / SNS / youtube / googlemap]
フッター [ページトップ / フッターコンタクト]
パンくず

モバイルのみ表示
タブレットサイズより下表示
タブレットサイズのみ表示
モバイル非表示
PCのみ表示
*/

/*リセット*/
*{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}p a{vertical-align:middle;}

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 a,
body aside a {
	display: inline-block;
	overflow: hidden;
}
body main img,
body aside img{
	height: auto;
	transition: transform .6s ease;
	transform-origin: center center;
}
body main a:hover img,
body aside a:hover img {
	transform: scale(1.1);
}
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:#1349A5;
	transition: .3s;
	text-underline-offset:0.2em;
	line-height:150%;
}
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);line-height:150%;}
.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;}
.text-center{text-align:center;}
.center-center{text-align:center;margin:0 auto;}
.color-red{color:#dd0000;}


/*=========  見た目処理  =========*/
.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: space-between;
	gap: 0 20px;
}
.box-3to1,
.box-3to2{
	flex: 1 1 calc(33.333% - 20px);
	margin:10px 0;
	height:auto;
	display:flex;
	flex-direction:column;
}
.box-2,
.box-2to1{
	flex: 1 1 calc(50% - 20px);
	margin:10px 0;
	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;
}
.tbborder{
	border-top:1px solid #aaa;
	border-bottom:1px solid #aaa;
	padding:5px;
	margin-bottom:20px;
}
p.indent-1 {
	padding-left:1.3em;
	text-indent:-1.3em;
	margin-top:0;
	margin-bottom:0;
}



/*画像*/
.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;
	background:#000;
	color:#fff;
	position: relative;
	z-index: 2;
}
.header-in {
	width: 100%;
	display: flex;
	align-items: center;
	margin: 0 auto;
	position: relative;
	z-index:3;
}
.header-left {
	width: 100%;
	display: flex;
	padding: 5px 0;
	justify-content: center;
}





/*=========  コンテンツ  =========*/
.contents-box{
	width:100%;
	height:auto;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index:3;
	position:relative;
}

/* 検索 */
.searchform {
	max-width:600px;
	line-height: 1;
	position: relative;
	margin: 0 auto 2em auto;
	text-align: center;
}
.searchfield {
	box-sizing: border-box;
	width: 100%;
	padding: .75em;
	border: 1px solid #bbb;
	border-radius: 4px;
	background-color: #efefef;
}
.searchsubmit {
	position: absolute;
	top: 50%;
	right: 0;
	display: block;
	padding: 14px;
	cursor: pointer;
	transform: translateY(-50%);
	color: #000;
	border: none;
	background: transparent;
}
.searchsubmit span{width:45px;height:45px;}
.searchsubmit:hover {
	opacity: .6;
}

/* 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{
	padding:0 5px;
	margin-top:10px;
	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);
	}
}


/* フッターコンタクト */
.fbbpx{
	display: flex;
	justify-content: center;
	align-items: center;
	width:100%;
	padding:10px;
	overflow:hidden;
}
.fbleft{
	display: flex;
	width:15%;
	margin-right:5%;
}
.fbright{
	display: flex;
	justify-content: center;
	align-items: center;
	text-align:center;
	width:80%;
}
.fbleft a{
	color: #555;
	text-decoration:none;
}
.fbleft i.icon-mobile{
	font-size: 4.7rem;
}
.fbmail{
	width: 100%;
	margin: 0;
	padding: 0.5em 2em;
	border: none;
	border:1px solid #ccc;
	border-radius: 5px;
	background-image: linear-gradient(0deg, #058f15 0%, #058f1580 100%);
	color: #fff;
	font-weight: 600;
	font-size: 1.1em;
	text-decoration:none;
}
a.fbmail:link,
a.fbmail:visited{
	color: #fff;
}
.fbmail:before{
	font-family: 'icomoon';
	font-size: 3rem;
	margin: 0;
	padding: 0 10px 0 0;
	vertical-align:middle;
	font-weight:normal;
	content: '\e93b';
}

/* パンくず */
#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;}

	/*見た目*/
	.flex-box {
		display:block;
		margin:0 auto;
	}
	.flex-box-kotei{
		width:100%;
		margin:0 auto;
	}
	.box-3to1,
	.box-2to1{
		width:100%;
		display:block;
		margin:20px 0;
	}
	.box-3to2{
		flex: 1 1 calc(50% - 20px);
		margin:10px 0;
	}

	/*ヘッダー*/
	.header-in{
		display:block;
	}



	/*フッター*/
	footer{
		padding-bottom:70px;
	}
	.footer-right::before{
		display:none;
	}
	.footer-right {
		width:100%;
		padding:0;
		margin:0;
		border:none;
	}
	.site-info{
		text-align:center;
	}

	/*フッターページトップ位置変更*/
	#page-top {
		bottom:80px;
	}
}


/*=========  タブレットサイズより下表示  =========*/
@media screen and (min-width: 769px) and (max-width: 1024px){

}


/*=========  タブレットサイズのみ表示  =========*/
@media screen and (min-width: 769px) and (max-width: 1024px){

}


/*=========  モバイル非表示  =========*/
@media screen and (min-width: 769px){
	.visibleMOB{display:none;}

	/*フッターコンタクト*/
	#footer-contact{
		display:none;
	}
}


/*=========  PCのみ表示  =========*/
@media screen and (min-width: 1025px){
	.visibleTAB,
	nav .intitlelogo{
		display:none;
	}
}


