@charset "UTF-8";

@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url(https://fonts.googleapis.com/css?family=Pacifico);
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@300;400&display=swap');

/* reset */
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td{margin:0;padding:0;}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;}
ul{list-style:none;}
table{border-collapse:collapse;border-spacing:0;}
caption,th{text-align:left;}
q:before,q:after{content:'';}
object,embed{vertical-align:top;}
legend{display:none;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight: normal;}
img,abbr,acronym,fieldset{border:0;}

body {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "MS Ｐゴシック", "MS PGothic", sans-serif;	/*フォント種類*/
	-webkit-text-size-adjust:100%;
	overflow-x: hidden;
	color: #333;
	background: #fff;
	line-height: 2;		/*行間*/
	font-size: 18px;
	letter-spacing: 0.1em /*字間*/
}

/*リンクテキスト全般の設定
---------------------------------------------------------------------------*/
a {
	color: #333;	/*文字色*/
	text-decoration: none;
}

a:hover {
	color: #777;	/*マウスオン時の文字色*/
}

a:active, a:focus,input:active, input:focus{outline:0;}


/* ヘッダー
------------------------------------------------------------*/
#header{
	text-align: center;
}

#header h1 {
	padding-top: 60px;
}

.head_img {
	padding-top: 60px;
}

#main_nav a{
	color: #333;
}

/* TOP メイン画像
------------------------------------------------------------*/

#main_img {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 528px;
  }
  
  #main_img img {
	position: absolute;
	left: 50%;
	max-width: 1280px;
	width: 1280px;
	height: 528px;
	margin-left: -620px;
  }


/* フッター
------------------------------------------------------------*/
#footer {
	margin-top: 80px;
}

#footer .copyright {
	padding: 50px 10px 50px 0;
	text-align: center;
	font-size: 12px;
}

#footer p{
	margin-bottom: 5px;
}

.footer_nav {
	font-size: 0.8rem;
	margin-bottom: 30px;
	text-align: center;
}

.footer_nav a {
	padding: 0 10px;
}

/*フッターにあるアイコン類
---------------------------------------------------------------------------*/
/*アイコン類を囲むブロック*/
ul.icon {
	list-style: none;
	margin: 0;padding: 0;
	text-align: center;
	margin-bottom: 50px;	/*下に空けるスペース*/
	padding-top: 60px;
}

/*アイコン１個あたりの設定*/
ul.icon li {
	display: inline-block;	/*リストタグを横並びにさせる指定*/
	padding: 5px;
}

/*アイコン画像の設定
ul.icon img {
	width: 30px;	/*アイコン画像の幅
}*/

/*画像のマウスオン時*/
ul.icon img:hover {
	opacity: 0.8;	/*透明度。0.8は色が80%出た状態の事。*/
}

/* 共通
------------------------------------------------------------*/
#page_main h1 {
	display: inline-block;
	font-size: max(26px, min(4vw,29px) ); /*IE Safari*/
	font-size: clamp(26px, 4vw,29px) ;
	color: #006B3E;
	margin-bottom: 60px;	/*下に空けるスペース*/
    letter-spacing: 0.1em;	/*文字間隔を少しだけ広くとる設定*/
    border-bottom: 3px solid #e9dbab;	/*下線の幅、線種、色*/

}

#page_main h1 span {
	font-family: 'M PLUS Rounded 1c', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "MS Ｐゴシック", "MS PGothic", sans-serif;
	padding: 0 80px;
}

h2 {
	font-family: 'M PLUS Rounded 1c', sans-serif;	/*フォント種類*/
	transform:rotate(0.03deg);
}

p + p {
	padding-top: 2rem;
}

img{
	max-width: 100%;
	height: auto;
}

section{
	padding-top: 70px;
}

section h2{
	display: inline-block;
	font-size: max(26px, min(4vw,29px) ); /*IE Safari*/
	font-size: clamp(26px, 4vw,29px) ;
	color: #006B3E;
	margin-bottom: 60px;	/*下に空けるスペース*/
    letter-spacing: 0.1em;	/*文字間隔を少しだけ広くとる設定*/
    border-bottom: 3px solid #e9dbab;	/*下線の幅、線種、色*/
}

section h2 span {
	padding: 0 80px;
}

h3{
	font-size: 23px;
	padding: 0 10vw;
}

h4 {
	font-weight: bold;
	padding: 0 10vw 0;
}

.cont_txt {
	margin: auto 10vw;
}

.cont_item{
	padding-top: 1rem;
}

.li_dots {
	list-style-type: disc;
}

.li_number {
	list-style-type: decimal;
}

.inner{
    display: flex;
	justify-content: center;
	margin: 0 10vw;
}

.inner_mes {
	font-family: 'M PLUS Rounded 1c', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "MS Ｐゴシック", "MS PGothic", sans-serif;	/*フォント種類*/
	font-size: max(26px, min(4vw,29px) ); /*IE Safari*/
	font-size: clamp(20px, 4vw,29px) ;
	width: 60%;
	margin: 0 auto;
	padding-top: 70px;
	padding-bottom: 40px;
	letter-spacing: 0.2em; /*字間*/
	font-weight: 300;
}

.col2 {
	margin: 0 2vw;
	width: 100%;
}

.br_sp{
	display: none;
}

.g_map_wrap{
	margin: 0 10vw;
}
.g_map{
	position: relative;
	width: 100%;
	padding-top: 75%; /* = height ÷ width × 100 */
  }
.g_map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
  }


/*パンくず*/
.breadcrumbs ol li {
	display: inline;
	font-size: clamp(7.68px,1vw,13.92px);
}
.breadcrumbs ol li:after {
	color: hsl(0, 0%, 62%); 
	content: " > ";
}
.breadcrumbs ol li:last-child:after {
	content: ""; 
}
.breadcrumbs ol {
margin: auto 10vw;
}
@media only screen and (max-width: 799px){
.breadcrumbs {
	padding-top: 40px;
}
}

/*リンクボタン*/
.btn_arrow a {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	margin-top: 50px;
	width: 270px;
	height: 60px;
	color: #333;
	font-size: 18px;
	font-family: 'M PLUS Rounded 1c', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "MS Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: bold;
	text-decoration: none;
	transition: 0.3s;
	background-color: #fff;
	border: 1px solid #333;
	border-radius: 35px;
}

.btn_arrow a:hover {
	color: #f2f2f2;
	background-color: #555;
	border: 1px solid #333;
}

.btn_arrow a::before {
	content: '';
	position: absolute;
	top: calc(50% - 5px);
	right: -35px;
	transform: rotate(30deg);
	width: 12px;
	height: 1px;
	background-color: #333;
}

.btn_arrow a::after {
	content: '';
	position: absolute;
	top: 50%;
	right: -35px;
	transform: translateY(-50%);
	width: 70px;
	height: 1px;
	background-color: #333;
}


/* news
------------------------------------------------------------*/

.news dl {
	padding: 15px ;
	}

	.news dt {
	font-size: 0.9em;
	padding-bottom: 5px;
	}
	
	@media screen and (min-width: 768px) {
	.news dt {
	clear: left;
	float: left;
	width: 10%;
	}
	.news dd {
	margin-left: 14vw;
	}
	}


/* 伝言板
------------------------------------------------------------*/

#yomi_main h1 {
	display: block;
	margin: 60px auto;
	width: 60vw;
	height: auto;
	text-align: center;
}

#yomi_main h2 {
	padding: 0 10vw;
}

#yomi_main .cont_txt h4 {
	padding: 2vw 10vw 2vw 0;
}

.btn_rd {
	display: inline-block;
	margin: auto 3px 1.5em;
	padding: 0 1.5em;
	font-size: 16px;
	text-align: center;
	text-decoration: none;
	color: #fff;
	border: 1.5px solid #495057;
	background: #495057;
	border-radius: 50px;
	transition: .5s;
}
.btn_rd:hover {
	background: #fff;
	color: #495057;
}

.yy_link {
	margin: 40px 6vw auto;
	text-align: center;
}

@media only screen and (max-width: 799px){
	.btn_rd {
		font-size: 14px;
	}
}

@media only screen and (max-width: 640px){
	#yomi_main h1 {
		width: 100%;
	}
}

/* 商品
------------------------------------------------------------*/
.border-radius {
	width: 200px;
	height: auto;
	margin: 20px 0;
	background-color: #fff;
	border: 1px solid #7d995c;
	border-radius: 0px;
	text-align: center;
  }


.grid_list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 0rem 1rem;
}

@media(max-width: 640px) {
	.border-radius {
		width: 150px;
	}
	.grid_list {
	grid-template-columns: 1fr 1fr;
	}
	}

.slash_line li {
	display: inline-block;
	margin-bottom: 10px;
}

.slash_line li:after  {
	padding: 0 1.2rem 1rem 1.2rem;
    font-size: .8rem;
    content: '/';
	position: relative;
    top: -2px;
}

.slash_line li:last-child::after {
    padding: 0;
    content: "";
}


/*おやおや壁
---------------------------------------------------------------------------*/

#oyakabe{
	background: url(../images/oyaoya_kabe.jpg) no-repeat 50% 100% fixed;
	background-size: cover;
	-webkit-background-size: cover;
	text-align: center;
	padding: 220px 20px;
	margin-bottom: 80px;
	margin-top: 70px;
}

/*PAGE TOP（↑）設定
---------------------------------------------------------------------------*/
.pagetop-show {display: block;}

.pagetop a {
	display: block;text-decoration: none;text-align: center;
	width: 50px;		/*幅*/
	line-height: 50px;	/*高さ*/
	position: fixed;
	right: 30px;		/*右からの配置場所指定*/
	bottom: 30px;		/*下からの配置場所指定*/
	color: #222;		/*文字色*/
	background: rgba(0,0,0,0.0);	/*背景色。0,0,0は黒色のことで0.4は色が40%出た状態。*/
	border: solid 1px #333;
}

/*マウスオン時*/
.pagetop a:hover {
	background: rgba(0,0,0,0.6);	/*背景色。0,0,0は黒色のことで0.8は色が80%出た状態。*/
	color: #fff;
}

/*ふわっ fadeUp
---------------------------------------------------------------------------*/

.fadeUp{
	animation-name:fadeUpAnime;
	animation-duration:0.9s;
	animation-fill-mode:forwards;
	opacity:0;
	}
	
	@keyframes fadeUpAnime{
	  from {
		opacity: 0;
	  transform: translateY(100px);
	  }
	
	  to {
		opacity: 1;
	  transform: translateY(0);
	  }
	}
	
	
	/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
	 
	.fadeUpTrig{
		opacity: 0;
	}

/* カード 設定
=============================================== */

.container {
	margin: auto 10vw;
  }

.container_grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 4rem 2rem;
  }
  
  .card {
	box-shadow: 1px 1px 3px rgba(106, 131, 152, 0.2);
	background-color: white;
  }

  .card h2{
	font-size: 20px;
	margin-bottom: 0;
	padding-left: 20px;
  }

  .card p{
	padding: 20px;
  }
  

/* RESPONSIVE 設定
------------------------------------------------------------*/

/*800px以上で適用*/

@media only screen and (min-width: 800px){

  a#menu{
		display:none;
	}	

	.panel{
		display:block !important;
	}

	#main_nav li{
		display: inline-block;
		margin: 40px 2% 60px;
		padding-bottom: 5px;
		font-family: 'M PLUS Rounded 1c', sans-serif;
		font-weight: 400;
		font-size: 17px;
		position: relative;
		font-weight: bold;
	}

	#main_nav li::before {
		content: "";
		background: #e9dbab;	/*下線の色*/
		height: 3px;		/*下線の高さ*/
		position: absolute;
		left: 0px;
		bottom: 0px;
		width: 100%;
		transition: 0.2s;	/*アニメーションにかける時間*/
		transition-timing-function: ease-out;
		transform: scaleX(0);
	}
	
	/*マウスオン時*/
	#main_nav li:hover::before {
		transform: scaleX(1);
	}
	
  #footer .copyright{
		padding: 30px 10px 70px 0;
	}
}

/*640px以下で適用*/

@media only screen and (max-width: 640px){
	.inner{
		display: block;
	}
	.inner_mes{
		width:80%;
	}
	.col2 {
		width: 100%;
		margin: auto;
		margin-bottom: 30px;
	}
	#map {
		width: 100%;
	}
	#oyakabe{
		padding: 50px 20px;
	}
	ul.icon {
		padding: 0;
	}
	.br_sp{
		display: block;
	}
}

/*799px以下で適用*/

@media only screen and (max-width: 799px){
	main{
		padding-top: 71px;
	}

	body{
		font-size: 14px;
	}

	#header{
		position: fixed;
		width: 100%;
		z-index: 500;
	}
	
	#header_wrap{
		position: relative;
		width: 100%;
		height: 70px;
		background: #fff;
		border-bottom: 1px solid #ccc;
	}
	
	#header h1{
		padding-top: 10px;
	}
	
	#header h1 img{
		max-height: 50px;
		width: auto !important;
	}

	.head_img {
		padding-top: 10px;
		max-height: 50px;
		width: auto !important;
	}


  a#menu{
  	display: inline-block;
  	position: relative;
  	width: 40px;
  	height: 40px;
  	margin: 10px;
	}

	#menu_btn{
  	display: block;
  	position: absolute;
  	top: 60%;
  	left: 50%;
  	width: 18px;
  	height: 2px;
  	margin: -1px 0 0 -7px;
  	background: #000;
  	transition: .2s;
	}

	#menu_btn:before, #menu_btn:after{
  	display: block;
  	content: "";
  	position: absolute;
  	top: 50%;
  	left: 0;
  	width: 18px;
  	height: 2px;
  	background: #000;
  	transition: .3s;
	}

	#menu_btn:before{
  	margin-top: -7px;
	}

	#menu_btn:after{
  	margin-top: 5px;
	}

	a#menu .close{
  	background: transparent;
	}

	a#menu .close:before, a#menu .close:after{
  	margin-top: 0;
	}

	a#menu .close:before{
  	transform: rotate(-45deg);
  	-webkit-transform: rotate(-45deg);
	}

	a#menu .close:after{
  	transform: rotate(-135deg);
  	-webkit-transform: rotate(-135deg);
	}

	.panel{
		width: 100%;
		display: none;
		overflow: hidden;
		position: relative;
		left: 0;
		top: 0;
		z-index: 100;
	}

	#main_nav{
		position: absolute;
		top: 0;
		width: 100%;
		text-align: right;
		z-index:500;
	}

	#main_nav ul{
		border-bottom: 1px solid #ccc;
		background: #fff;
		text-align: left;
	}

	#main_nav li a{
		position: relative;
		display:block;
		padding:15px 25px;
		border-bottom: 1px solid #ccc;
		color: #000;
		font-weight: 400;
	}

	#main_nav li a:before{
		display: block;
		content: "";
		position: absolute;
		top: 50%;
		left: 5px;
		width: 6px;
		height: 6px;
		margin: -4px 0 0 0;
		border-top: solid 2px #000;
		border-right: solid 2px #000;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	#main_img {
		z-index: -100;
	}

	
	section{
		padding-top: 50px;
	}
	section h2{
		margin: 0 auto 40px;
	}
	section h2 span {
		padding: 0 30px;
	}

	#page_main h1 {
		margin: 0 auto 40px;
	}

	#page_main h1 span {
		padding: 0 30px;
	}

	#oyakabe {
		margin-top: 50px;
	}
	
}