@charset "UTF-8";
/* CSS Document */
/*全体初期化*/
html, body, div, span, main, header, footer, section, ::before, ::after, h1, h2, h3, h4, h5, h6, p, a, img, strong, dl, dt, dd, ol, ul, li, table, caption, tr, th, td, input, button, textarea, select, option {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    vertical-align: baseline;
    box-sizing: border-box;
}

html:focus-within {
  scroll-behavior: smooth;
}

h2,h3{
	color: #9D2711;
}

p,a,span{
    color: #2C2C2C;
}

li{
	list-style-type: none;
}

ul{
	margin-block-start: 0em;
	margin-block-end: 0em;
	padding:0px;
}

a,a:hover,a:visited{
	text-decoration: none;
	color:inherit;
}


.di-no{	display: none;}
.di-no-s{ display: none;}/*スマホで非表示*/
.di-no-p{display:block;}/*パソコンで非表示*/
.br-pc{	display: none;}
.br-s{display: block;}
	@media(min-width: 1025px){
		.di-no-s{ display: block;}
		.di-no-p{display:none;}
		.br-pc{	display: block;}
		.br-s{display: none;}
	}


body{
	margin: 0;
	color: #333;
    font-size: 16px;
    text-align: justify;
    letter-spacing: 0.04em;
    line-height: 2;
    font-family:  'Outfit','Zen Kaku Gothic New',"Segoe UI", YuGothic, "Yu Gothic Medium", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Helvetica Neue", HelveticaNeue, Verdana, Meiryo, sans-serif;
    font-feature-settings: "palt";
    -webkit-text-size-adjust: 100%;
    font-weight: 300;
	-webkit-overflow-scrolling: touch;

}

#container{
	background-color:#F1F0EA;
	
}

/*================================================================================　ヘッダー　=======*/
.header-wrap {
	position: fixed;/*上に固定*/
    top: 0px;
    width: 100%;
	height: 10svh;
	min-height:52px;
    z-index: 500;
    display: flex;
    justify-content: flex-start;
    font-size: 20px;
	background-color:#9D2711;
	align-items: flex-end;
	transition: transform 1s;
	transform: translate(0,-1px);
}header.scroll-nav{
	height:5vh;
	height:5svh;
	min-height: 52px;
	transition: transform 1s;

}.logo-apprecia {
    padding: 10vh calc(30px + 3vw) 13px 10vw;
    border-radius: 0 0 30px 0;
    align-items: center;
	background-color: #9D2711;
	display: flex;
	position:relative;
	top:30px;
	transition: 1s;
}.logo-apprecia img{
	width: 90px;
	height: auto;
}.scroll-nav .logo-apprecia{
	padding:10vh 30px 12px 30px;
	transition: 1s;
}.nav-wrap{
	visibility: hidden;
}


/*========= ナビゲーションのためのCSS ===============*/
#g-nav{
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position:fixed;
    z-index: 999;
    /*ナビのスタート位置と形状*/
	top:0;
    right: -120%;
	width: 100%;
    height: 100vh;/*ナビの高さ*/
	background:#9D2711;
	background-image: url("../images/round02100.png");
	background-repeat: no-repeat;
	background-size: 50vh;
	background-position: left 40vw bottom 50%;
    /*動き*/
	transition: all 0.6s;
	
}
#g-nav::after{
	position: absolute;
	z-index:998;
	content:"";
	background-color:#9D2711;
	opacity:0.8;
	width: 100%;
	height: 100%;
	
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive{
    right: 0;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999; 
    width: 100%;
    height: 100vh;/*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

/*ナビゲーション*/
.gnavi-wrap{
	position: absolute;
    z-index: 999;
    top:10%;
    left:min(10%,100px);
}

/*リストのレイアウト設定*/
#g-nav img{
	width: 120px;
	height: auto;

}#g-nav ul{
	margin-left: 0px;
	margin-top: 10px;
}#g-nav li{
	list-style: none;
    text-align: left;
	font-weight: 300;
	font-size: 1.4rem;
}#g-nav li img:last-of-type{
	width:20px;
	height:auto;
}#g-nav li:last-of-type::after{
	content: "";
	flex-grow: 1;
    background: linear-gradient(#F1F0EA, #F1F0EA) no-repeat center / 100% 1px;
	margin-left: 10px;
	padding-left: 150px;
}#g-nav a{
	color:#F1F0EA;
	text-decoration: none;
	padding:10px;
	display: block;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	line-height: 1;
}#g-nav h3{
	color:#F1F0EA;
	text-decoration: none;
	font-size:1.3rem;
	margin-left: 10px;
	margin-bottom: 5px;
	
}#g-nav p{
	color:#F1F0EA;
	text-decoration: none;
	padding-left: 12px;
	display: block;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 0.7rem
}#g-nav span{
	line-height: 1.5;
}

	@media(min-width: 1025px){
		#g-nav{
			width:40%;
			background-size: 40vw;
			background-position: left 20vw bottom 50%;
		}.gnavi-wrap{
			top:20%;
			left:min(10%,100px);
		}.nav-wrap{
			visibility: visible;
			color: #F1F0EA;
		}.nav-wrap ul{
			display: flex;
			flex-flow: row;
			font-size: 16px;
			margin: 0 20px 7px;
			column-gap: 20px; 
		}
	}

/*========= ボタンのためのCSS ===============*/
.openbtn{
	position:absolute;
    z-index: 9999;/*ボタンを最前面に*/
	right: 5vw;
	cursor: pointer;
    width: 50px;
    height:50px;
}
	
/*×に変化*/	
.openbtn span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    border-radius: 0px;
	background-color: #F1F0EA;
  	width: 3%;
	height: 45%;
	
}.openbtn span:nth-of-type(1) {
	left:15px;	
	top:12px;
}.openbtn span:nth-of-type(2) {
	left:24px;
	top:12px;
}.openbtn span:nth-of-type(3) {
	left:33px;
	top:12px;
}.openbtn.active span:nth-of-type(1) {
    top: 3px;
    left: 22px;
    transform: translateY(6px) rotate(-45deg);
    width: 3%;
}.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}.openbtn.active span:nth-of-type(3){
    top: 15px;
    left: 22px;
    transform: translateY(-6px) rotate(45deg);
    width: 3%;
}
/*ナビゲーションのためのCSS終わり*/

/*ヘッダー周りのパソコンサイズ用*/
	@media (min-width: 1025px) {
		.header-wrap {
			height: 15svh;
			transition: transform 1s;
		}.logo-apprecia {
			padding: 10vh 50px 25px 8vw;
			/*border-radius: 0 0 30px 0;
			align-items: center;
			background-color: #9D2711;
			display: flex;
			position: relative;*/
   			top: 50px;
			transition: 1s;
		}.logo-apprecia img{
			width:100px;
		}.openbtn{
			right: 51.25px;
			top: initial;
			margin-bottom: 5px;
		}header.scroll-nav{
			height:90px;
			min-height: 60px;
			transition: 1s;
		}.scroll-nav .logo-apprecia{
			padding: 10vh 5vw 25px 6vw;
			transition: 1s;
		}
	}

/*ホバーで変わる横長ボタン*/
.button{
	/*アニメーションの起点とするためrelativeを指定*/
    position: relative;
	overflow: hidden;
	text-align: center;
	padding: 10px;
	color:#5C0F0F;
	text-decoration: none;
	margin-bottom: 10px;
	font-weight: 300;
	display: block;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 1.1rem;
	background-color: #F1F0EA;
	border-radius: 44px;
	width:200px;
	z-index: 5;
}.button span{
	position: relative;
	z-index:600;
	color:#5C0F0F;
}/*ホバー時の装飾は＠media(hover:hover)に*/

/*================================================================================main========*/

main{
	position: relative;
	z-index: 100;
	overflow: hidden;
}

/*================================================トップイメージ========*/
#top-vi {
	width: auto;
	height: 100vh;
	height: 100svh;
	position:relative;
	z-index: 0;
	background-color: #9D2711;
	transition: 1s;
}.top-vi-message {
	position: absolute;
	z-index: 11;
	right:0;
	bottom: 0vh;
	bottom: 0svh;
	width: auto;
	background-color:#9D2711;
	border-radius: 30px 0 0 0;
	padding: 20px 20px 3.5vh 4rem;
	padding: 20px 20px 3.5svh 4rem;
	font-family:  'Outfit', YuGothic, "Yu Gothic Medium", "Yu Gothic",'Zen Kaku Gothic New', -apple-system, BlinkMacSystemFont,"Segoe UI", "Helvetica Neue", HelveticaNeue, Verdana, Meiryo, sans-serif;
	font-feature-settings: "palt";
	font-weight: 400;
	transition: 0.5s;
}.top-vi-message h2{
	line-height: 1.6;
}.top-vi-message span{
	color:#F1F0EA;	
	font-size: clamp(1.1rem, 0.984rem + 0.49vw, 1.3rem);
	transition: 1s;
	letter-spacing: 0.13rem;
}.top-vi-message span:nth-of-type(1){
	margin-left:-15%;
	white-space: nowrap;
}
.hiragana{
	font-size: 0.91em;
}.katakana{
	letter-spacing: 0.2rem;
}

.top-vi-pspace {
	position: absolute;
	top: 10%;
	left: 0;
	height: 83%;
	width: 100%;
	overflow: hidden;
	transition: 0.1s;
}.top-vi-pspace img{
	position: absolute;
	z-index: -1;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	height: 100%;
	width: auto;
	object-fit: cover;
}

/*スライド用アニメーション*/
.slide3 {
  opacity: 1;
  position: absolute;
  -webkit-animation: slide3-anime 15s 0s infinite;
  animation: slide3-anime 15s 0s infinite;
}.slide3-2 {
  -webkit-animation-delay: 4.9s;
  animation-delay: 4.9s;
}.slide3-3 {
  -webkit-animation-delay: 9.9s;
  animation-delay: 9.9s;
}
@keyframes slide3-anime {
  0% {
	opacity: 1;
	z-index: 8;
  }33% {
	opacity: 1;
	z-index: 9;

  }38% {
    opacity: 0;
  }95%{
	opacity:0;
  }100% {
    opacity: 1;
	z-index: 7; 
  }
}
@-webkit-keyframes slide3-anime {
  0% {
	opacity: 1;
	z-index: 8;
  }33% {
	opacity: 1;
	z-index: 9;

  }38% {
    opacity: 0;
  }95%{
	opacity:0;
  }100% {
    opacity: 1;
	z-index: 7; 
  }
}

/*スライド用アニメーション2*/
.slide32 {
  opacity: 1;
  position: absolute;
  -webkit-animation: slide32-anime 9s 0s infinite;
  animation: slide32-anime 9s 0s infinite;
}.slide32-2 {
  -webkit-animation-delay: 2.9s;
  animation-delay: 2.9s;
}.slide32-3 {
  -webkit-animation-delay: 5.9s;
  animation-delay: 5.9s;
}
@keyframes slide32-anime {
  0% {
	opacity: 1;
	z-index: 8;
  }30% {
	opacity: 1;
	z-index: 9;

  }43% {
    opacity: 0;
	animation-timing-function: ease-in;
  }90%{
	opacity:0;
  }100% {
    opacity: 1;
	z-index: 7; 
  }
}
@-webkit-keyframes slide3-anime {
  0% {
	opacity: 1;
	z-index: 8;
  }33% {
	opacity: 1;
	z-index: 9;

  }38% {
    opacity: 0;
  }95%{
	opacity:0;
  }100% {
    opacity: 1;
	z-index: 7; 
  }
}
/*ロゴ回転アニメーション*/
.round-logo {
	position: absolute;
	bottom : 5%;
	left: 5%;
	z-index: 10;
	animation:30s linear infinite rotation;
	transition: transform 1s;
}.round-logo img{
	width: 200px;
	max-width: 35vh;
	height: auto;
}
	@media(max-width:560px){
		.round-logo{
			left: calc((5vw - 560px + 100vw) * 0.5);
	}}@keyframes rotation{
	  0%{ transform:rotate(0);}
	  100%{ transform:rotate(360deg); }
	}

/*トップメインビジュアルのPCデザイン*/
	@media (min-width: 1025px) {
		.top-vi-message{
			padding: 20px calc(30px + 5vw) 7vh 5rem;
			padding: 20px calc(30px + 5vw) 7svh 5rem;
		}.top-vi-message span{
			color:#F1F0EA;	
			font-size: clamp(20px, 0.245rem + 1.57vw, 24px);
			letter-spacing: 0.2rem;
			transition: transform 1s;
		}.top-vi-pspace {
			top: 15%;
			left: 10%;
			height: 75vh;
			width: 80vw;
		}.top-vi-pspace img{
			height: 75vh;
			width: 80vw;
		}
		.round-logo {
			position: fixed;
			bottom : 5%;
			left: 5%;
			z-index: 10;
		}.round-logo img{
			width: 200px;
		}.round-logo-up{
			bottom: 155px;
			transition: 3s;
		}
	}


/*=============================================コンテンツについて========*/
.contents{
	position: relative;
	background-color: #F1F0EA;
	z-index: 300;
}

/*フェードインアニメーション*/
.fadeIn-T{
opacity: 0;
}.fadeIn {
    animation-name: fadeInAnime;
    animation-duration: 1s;
    animation-fill-mode:forwards;
    opacity: 0;
	animation-timing-function: ease-out;
}@keyframes fadeInAnime{
	0% {
		opacity: 0;
		transform: translateY(30px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

/*コンテンツ*/
.column2 {
	position:relative;
	z-index: 300;
	display: flex;
	align-items: center;
	column-gap: 30px;
	row-gap:15px;
	flex-wrap: wrap;
	margin:0 0 20px;
	padding: 10vw 0 5vh 0px;
}.column2.aifs{
	align-items: flex-start;
}.column2-pspace{
	position: relative;
	width:80%;
	height: auto;
	margin: 0 auto;
	overflow: hidden;
}.half-photos-base{
	width:100%;
	height:auto;
	vertical-align:top;
}.half{
	display:flex;
	flex-direction: column;
	position: relative;
	width:100%;
	margin: 0 clamp(10px, -5.875rem + 27.73vw, 190px);
}.half-photo{
	width:65%;
	height: auto;
    margin: 0 auto;
	max-width: 420px;
}.half-photo-left{
	width: 90%;
	height: auto;
    margin: 0 auto 15px 0;
}.column2 h2{
	font-size: clamp(2rem, 1.169rem + 3.54vw, 3.438rem);
	color:#9D2C11;
	font-weight: 400;
}.column2 span{
	display: inline-block;
	font-size: clamp(1rem, 0.675rem + 1.39vw, 1.563rem);
    color: #AF4E4E;
    line-height: 1.8em;
    letter-spacing: 0.03rem;
    max-width: none;
    margin: 0 auto;
}.column2 a{
	font-size: clamp(1rem, 0.675rem + 1.39vw, 1.563rem);
	color:#965D10;
	margin-left: auto;
	position: relative;
	
}.column2 .dl-top{
	font-size: clamp(1rem, 0.675rem + 1.39vw, 1.563rem);
    color: #AF4E4E;
    background-color: rgba(255,255,255,0.5);
    margin: 0 0 18px;
    padding: 10%;
	position: relative;
}/*.column2 .dl-top::before{
	content: "";
    display: block;
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    border: solid 5px #9D2711;
    position: absolute;
    top: 5px;
    left: 5px;
    border-radius: clamp(36px, 0.083rem + 9.24vw, 96px);
}*//*.kadomaru{
	border-radius:clamp(60px, 1.583rem + 9.24vw, 120px);	
}.kadomaru2{
	border-radius:clamp(40px, 0.333rem + 9.24vw, 100px);	
}.kadomaru-right{
	border-radius: 0 50px 50px 0;
}@media (min-width: 1025px){
	.kadomaru-right{
		border-radius:30px;
	}
}*/


.column1{
	margin:0 5vw;
	padding: 30px 0 50px;
	position: relative;
}
	
/*トップアバウトについて*/
#top-about .column2-pspace{
	position: relative;
	width:65%;
	max-width: 420px;
	height: auto;
}#top-about span{
	margin-bottom: 2.3em;
}#top-about .half{
	margin: 0 clamp(35px, -3.41rem + 23.88vw, 190px);
}.column2 .slide32{
	vertical-align:top;
	top: 0;
    left: 0;
    width: 100% !important;
    height: auto !important;
}


/*コンテンツ内のPCデザイン*/
@media (min-width: 600px) {
	.half-photo-left{
		width: 420px;
		margin: 0 auto 20px;
	}
}
@media (min-width: 1025px) {
	.column1{
		padding: 60px calc(50% - (1280px / 2)) 50px;
	}.column2{
		margin:0 50px;
		padding: 100px calc(50% - (1280px / 2)) 50px;
	}.column2-pspace{
		width:45%;
	}.half{
		width: 45%;
		margin: auto;
	}.half-photo{
		width: 45%;
		height: auto;
	}.half-photo-left{
		width: 45%;
		height: auto;
		margin: 0 auto;
	}.column2 span{
		font-size: clamp(16px, 0.006rem + 1.45vw, 19px);
		line-height: 2;
	} .column2 .dl-top{
		font-size: clamp(1rem, 0.819rem + 0.77vw, 1.313rem);
		color: #AF4E4E;
		background-color: rgba(255,255,255,0.5);
		margin: 0 0 18px;
		padding: 8%;
		position: relative;
	}/*.column2 .dl-top::before{
		content: "";
		display: block;
		width: calc(100% - 10px);
		height: calc(100% - 10px);
		border: solid 5px #9D2711;
		position: absolute;
		top: 5px;
		left: 5px;
		border-radius: 50px;
	}*//*
	.kadomaru{
		border-radius: 150px;
	}.kadomaru2{
		border-radius: 50px;
	}*/
	#top-about .column2-pspace{
		width:45%;
		max-width: none;
	}#top-menu.column2{
		flex-direction:row-reverse;
	}#top-about .half {
   		 margin: auto;
	}
}

/*ハンコのあしらい・ブリッジ*/
.stamp-01:before{
	content:'';
	background-image:  url("../images/stamp-r3-01.png");
	background-size: contain;
	background-repeat: no-repeat;
    position: absolute;
    top: 0;
    right: 0;
	transform: translate(-5%,0%);/*フェードインアニメがスクロール時にできたら-5%,-6%へ*/
    z-index: 11;
	width: 30%;
	height: 30%;
}
.stamp-02:before{
	content: '';
    background-image: url(../images/stamp-r3-01.png);
    background-size: contain;
    background-repeat: no-repeat;
    position: relative;
    top: 0;
    left: 0;
    transform: translate(30px,0);
    z-index: 11;
    display: inline-block;
    width: 91px;
    height: 80px;
}
.stamp-04::before{
	content:'';
	background-image:  url("../images/stamp-kasumisou01.png"/*stamp-r3-04.png*/);
	background-size: contain;
	background-repeat: no-repeat;
    position: absolute;
    bottom: 0;
    right: 0;
	transform: translate(63%,-10%) rotate(22deg);
    z-index: -1;
    opacity: 0.8;
    width: clamp(15.625rem, 12.375rem + 13.87vw, 21.25rem);
    height: clamp(15.625rem, 12.375rem + 13.87vw, 21.25rem);
}#top-info.stamp-04::before{
	right: unset;
    left: 0;
    transform: scale(-1,1)translate(40%,10%) rotate(22deg);
}
.stamp-05::before{
    content: '';
    background-image: url(../images/stamp-r2-05-02.png);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(10vw,-20%);
    z-index: 11;
    display: inline-block;
    width: 26vw;
    height: 26vw;
    max-width: 200px;
    max-height: 200px;
}
.stamp::before{
	content: '';
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    display: inline-block;
    width: 500px;
    height: 500px;
}#top-menu .half .stamp::before{
	background-image: url("../images/stamp-kasumisou02.png");
    z-index: -1;
    opacity: 0.8;
    top: unset;
    bottom: 0;
    width: 60vw;
    height: 60vw;
    max-width: 350px;
    max-height: 350px;
    transform: scale(-1,1) translate(120px, 40px);
}.about-owner .half.stamp::before{
	background-image: url(../images/stamp-ahirubiyoushi.png);
    z-index: 5;
    left: unset;
    right: 0;
    width: 100px;
    height: 100px;
    transform: translate(10px, -80px);
}#news.stamp::before{
    background-image: url(../images/stamp-kasumisou02.png);
    left: unset;
    right: 0;
    width: 150px;
    height: 150px;
    transform: translate(30px, -53%);
}#news.stamp::after{
	content: '';
	background-image: url(../images/stamp-kasumisou02.png);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    bottom: 0;
    left: 0;
    display: inline-block;
    width: 150px;
    height: 150px;
	transform: scale(-1,-1) translate(30px, -60%);
    z-index: -2;
}

.bridge{
	text-align: center
}.bridge-img{
	width:50%;
	height: auto;
	max-width: 280px;
	margin: 20px 0 90px;
}

@media (min-width: 1025px) {
	.stamp-01:before{
		width:15%;
	}.stamp-04::before{
		width: 25em;
		height: 25em;
	}.stamp-05::before{
		width: 13vw;
		height: 13vw;
		max-width: 180px;
		max-height: 180px;
		left: 50%;
		transform: translate(max(-48vw,-670px),-10%);
	}.about-owner .half.stamp::before{
		transform: translate(10px, -40px);
	}#news.stamp::before{
		right: 50%;
		transform: translate(373px, -60%);
	}#news.stamp::after{
		left: 50%;
   		transform: scale(-1,-1) translate(373px, -60%);
	}.bridge-img{
		margin: 90px 0 130px;
	}
}


/*メニュー表について*/
#top-menu .half ,.top-info .half{
	width:100%;
	height: auto;
}.top-info a{
	font-size: clamp(1rem, 0.819rem + 0.77vw, 1.313rem);
	white-space: nowrap;
    line-height: 1.3;
    color: #AF4E4E;
    margin-left: unset;
}.top-info p{
	color: #AF4E4E;
	font-size: 15px;
}

.menu-line{
	display: flex;
	column-gap:18px;
	margin: 15px 10px;
}.price{
	display:inherit;
    flex-grow: 1;
	column-gap: inherit;
}.price::before{
	content: '';
    flex-grow: 1;
    background: linear-gradient(#AF4E4E, #AF4E4E) no-repeat center / 100% 1px;
    width: 100%;
    height: 100%;
}

dl.tb dt, dl.tb dd{
	display: table-cell;
}

.banner{
	display: flex;
	margin: 50px auto 0;
	padding: 20px 20px 20px 20px;
	background-color: #9D2711;
	border-radius: 30px;
	align-items: center;
	color:#F1F0EA;
	line-height: 1rem;
	column-gap: 30px;
	position: relative;
}
.banner::before{
	content: '';
	display: inline-block;
    background-image: url(../images/stamp02.png);
    width: 50px;
    height: 50px;
    position: relative;
    background-size: contain;
	background-repeat: no-repeat;
	
}.banner::after{
	content: "";
    background-image: -webkit-linear-gradient(#F1F0EA 3px, transparent 3px);
    background-image: -o-linear-gradient(#F1F0EA 3px, transparent 3px);
    background-image: linear-gradient(#F1F0EA 3px, transparent 3px);
    background-size: 2px 10px;
    background-repeat: repeat-y;
    position: absolute;
    top: 0;
    left: 85px;
    height: 150px;
    width: 3px;
}.banner p{
	text-align: left;
}.banner span{
	display: inline-block;
    font-size: 11px;
    color: #F1F0EA;
    line-height: 1.5;
    letter-spacing: 0.03em;
    max-width: none;
    margin: 0 auto;
	text-align: left;
	vertical-align: middle;
}.banner span:nth-of-type(1){
	/*margin-left: -15%;*/
	font-size: 13px;
}
.big-font{
	margin: 10px 0 0 10px;
	font-size: 2em;
	font-weight: 400;
	
}

@media (min-width: 1025px){
	#top-menu .half ,.top-info .half{
		width: 45%;
		height: auto;
		margin: auto;
	}#top-menu .half h2{
		text-align: center;
	}
	.banner span{
		font-size: 15px;
	}
}

/*お知らせ・カレンダースペース*/
#news{
	position:relative;
	background-color: rgba(255,255,255,0.80);
	padding:10px 0 0;
	margin-bottom: 50px;
}#news .small-font{
}#news .column2{
    padding: 0px;
	row-gap:0;
}#news .half{
	margin: 0 clamp(35px, -3.41rem + 23.88vw, 190px);
}.half-iframe{
	display: flex;
    flex-direction: column;
    width: 100%;
	margin: 0 clamp(35px, -3.41rem + 23.88vw, 190px) 25px;
}
.news-wrap{
	text-align: left;
	background-color:#ffffff;

}
.iframe {
	width: min(400px,100%);
    height: 290px;
    border: none;
    margin: 0 auto;
}

	@media (min-width: 800px){
		#news .half{
			display: block;
			margin: 0 0 auto auto;
			width: auto;
		}.half-iframe{
			width: 100%;
   			flex-grow: 1;
   			margin: 0;
		}.iframe{
			margin: 0;
			height: 230px;
			width: auto;
		}#news .column2{
			display: grid;
			grid-template-columns: 1fr 2fr;
			padding: 50px 0;
		}
	}@media (min-width: 1500px){
		#news .column2{
			grid-template-columns: 1.5fr 2fr;
		}
	}
#calendar-area{
	margin: 90px 0 90px;
}

.year{
	font-size: 16px;
    text-align: center;
    line-height: 1;
}.year p{
	color: #9D2711;
}
.close-day{
	width: 80%;
    text-align: right;
    margin: 0 auto;
}.close-day::before{
	content: '';
    background-image: url(../images/mon-back101.png);
    display: inline-block;
    width: 40px;
    height: 39px;
    background-size: contain;
    vertical-align: middle;
    background-repeat: no-repeat;
	margin: 0px 5px 3px;
}


/*予約について*/
.reservation{
	border-top: solid #bbb 1px;
	text-align: center;
}.reservation h2{
	font-size: 24px;
	position: relative;
	transform: translate(-2rem,0);
	margin-bottom: 10px;
	color: #9d2711;
}.reservation>p{
	font-size: 14px;
    max-width: 610px;
    color: #623F3F;
    line-height: 1.3;
    text-align: left;
    margin: 0 auto;
}.reservation p:nth-child(4){
	text-align: center;	
}.reservation .button{
	background-color: #9D2711;
    border-radius: 44px;
    width: 250px;
    height: 75px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    padding: 20px 10px 10px 10px;
}.button2-sp{
	display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 10px;
    row-gap: 25px;
    flex-wrap: wrap;
    margin: 20px auto;
    max-width: 600px;
}.reservation .button2-sp p{
	text-align: center;
	line-height: 1;
}.button2-sp .button span{
	color: #F1F0EA;
	font-size: 20px;
}.button2-sp a span:nth-of-type(2){
	font-size:13px;
	line-height: 1.5;
}



/*トップページインフォメーションテーブル込み*/
#top-info{
	
	
}.top-info h2{
	font-size: clamp(1.25rem, 0.889rem + 1.54vw, 1.875rem);
    color: #9D2C11;
    font-weight: 300;
	line-height: 1;
}.top-info .infolist{
	font-size:  clamp(1rem, 0.819rem + 0.77vw, 1.313rem);
	line-height: 1.3;
	color: #AF4E4E;
}.info-line{
	display: flex;
	column-gap:18px;
	margin: 15px 0px;
}.infoname{
	width: 29%;
    text-align: end;
    padding-right: 10px;
}.infodate{
	display:inherit;
    flex-grow: 1;
	column-gap: inherit;
	margin-left:auto;
	width: 71%;
}


.infolist div{
	display:flex;
}.infolist dd{

}

	@media (min-width: 1025px){
		.infoname{
				width: 23%;
		}.top-info .infolist,  .top-info a{
			font-size: clamp(16px, -0.005rem + 1.57vw, 20px);
		}.close-day{
			width: 40%;
		}
	}





.g-map-sp{
	width: 100%;
	height: 280px;
	position: relative;
}.g-map-sp::after{
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background-color: #AF4E4E;
    position: absolute;
    top: 0;
    left: 0;
    mix-blend-mode: hue;
	background-color: rgba(0,0,0,0.00);
    pointer-events: none;
}.g-map{
	width: 100%;
	height: 280px;
    filter: grayscale(45%);
	
}.ahiru-space{
	position:relative;
	z-index: 300;
	background-color:#F1F0EA;
	height: 100px;
}.ahiru-space img{
	position: absolute;
    width: 200px;
    height: auto;
    bottom: -2px;
    right: 5%;
}

/*================================================================================footer========*/
#footer{
	width:100%;
	padding:0 10px 30px 10px;
	background-color: #9D2711;
	color: #F1F0EA;
	position:relative;
	z-index: 0;
	
}#footer .round-logo{
	position:absolute;
	bottom: auto;
	top: 5%;
}#footer h2{
	font-size:1.3rem;
	color: #F1F0EA;
}#footer p{
	color:#F1F0EA;
}#footer .footer-button{
	position:absolute;
	top:5%;
	right: 6%;
	width: 40px;
	height: 40px;
	z-index: 100;
	opacity: 0.9;
}.footer-button img{
	width:100%;
	height:100%;
	display:block;
}.footer-wrap{
    padding: 10% 0 0 min(280px, 40%);
    display: block;
    position: relative;
}.footer-wrap img{
	width: 120px;
	height: 39px;
}.footer-info{
	padding:0 0 40px 10px;	
	margin-bottom: auto;
}.footer-info p{
	margin: 0 0 10px 0;
}.footer-c{
	position: relative;
    text-align: center;
    align-items: end;

}

	@media(max-width:560px){
		.footer-wrap{
			padding-left: 10%;
			padding-top: calc(5% + 180px);
		}footer .round-logo{
			bottom: auto;
			top: 5%;
			left: calc(10% + -10px);
		}footer .round-logo img{
			width: 150px;
		}
	}

	@media (min-width: 1025px) {
		footer{
			height: 510px;
		}footer .round-logo{
			display: none;
		}.only-pc{
			display: block;
		}.footer-wrap{
			position: absolute;
			top:50%;
  			transform: translate(0, -50%);
			padding: 0 5% 0 clamp(265px, 20%, 500px);
			display: flex;
			align-items: center;
			grid-column-gap: 20px;
			column-gap: clamp(20px, calc(2 * 2vw), 120px);
		}.footer-wrap img{
			margin-bottom: 10px;
		}.footer-info{
			padding-bottom: 0px;
		}.footer-c{
			position: absolute;
			bottom: 30px;
			left: 50%;
			transform: translate(-50%,0);
		}
	}

	@media (hover: hover) {
	  .button:hover span{
				color:#9D2711;
			}.bgleft:before {
				content: '';
				/*絶対配置で位置を指定*/
				position: absolute;
				top: 0;
				left: 0;
				z-index: 1;
				/*色や形状*/
				background:#ffffff;/*背景色*/
				width: 100%;
				height: 100%;
				/*アニメーション*/
				transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
				transform: scale(0, 1);
				transform-origin: right top;
			}.bgleft:hover:before{/*hoverした際の形状*/
				transform-origin:left top;
				transform:scale(1, 1);
			}
		footer .footer-button:hover{
		opacity: 0.2;
		transform: translate(0, -2px);
		transition: transform 0.5s;
	}
	}
	/* :hoverが使えない端末を想定 */
	@media (hover: none) {
		.button:active span{
			color:#9D2711;

		}.button:active{
			background-color: #ffffff;
			border-radius:19px;
		}
		footer .footer-button:active{
			opacity: 0.2;
			transform: translate(0, -2px);
			transition:  transform 0s;
	}
	}

/*========================================= Top以外共通 =====================================================*/
#about , #menu{
	position: relative;
	background-color: #F1F0EA;
	z-index: 15;
}


.header-wrap-sub {
	position: fixed;/*上に固定*/
    top: 0px;
    width: 100%;
	height: 5svh;
	height: 5vh;
	min-height: 52px;
    z-index: 500;
    display: flex;
    justify-content: flex-start;
    font-size: 20px;
	background-color:#9D2711;
	align-items: flex-end;
	transition: transform 1s;
}.sub-message{
	color: #2C2C2C;
	font-size: 16px;
	line-height: 1.6;
}

		@media (min-width: 1025px){
			header.header-wrap-sub.header-wrap-sub{
				height:60px;
			}.header-wrap-sub .logo-apprecia{
				transform: translate(-2vw,0);
			}sub-message{
				font-size: 17px;
			}
		}

/*========================================= about =====================================================*/


.sub-title-sp{
	position: relative;
	display:flex;
	align-items: flex-end;
	justify-content: flex-end;
	margin: 52px 0 0 5vw;
	flex-flow: column;
	row-gap: 10px;
	
}#about h2, #menu h2{
	position: relative;
	font-size: clamp(29px, 1.468rem + 1.42vw, 38px);
	color:#9D2C11;
	font-weight: 400;
	margin: 0 auto 0 0;
	line-height: 1;
}#about .ja-h2{
	font-size: 19px;
}h3{
	font-size: clamp(25px, 1.382rem + 0.77vw, 30px);
	line-height: 1;
}.ja-h3{
	font-size: 22px;
	color: #333;
	margin: 10px 2px 0;
}.ja-h3 span{
	color: inherit;
	font-size: 0.7em;
}span.hiragana2{
	font-size:0.7em;
}.about-message{
	font-size:clamp(1.125rem, 0.944rem + 0.77vw, 1.438rem);
}.sub-image-sp{
	display: flex;
	align-items: center;
    max-height: 500px;
    overflow: hidden;
	border-radius: 0 0 0 80px;
}.sub-image{
	position:relative;
	width: 100%;
    height: auto;
	margin-left: auto;
}.sub-title-sp .stamp-01:before {
   height: 100px;
    width: 100px;
    right: unset;
    left: 0;
    transform: scale(1,1) translate(-20px,-96px);
}#about .stamp-04::before{
	bottom: 50%;
    transform: translate(140px, calc(50% + 100px)) rotate(24deg);
}

.about-info.column2{
	margin: 0 5vw;
    padding: 30px 0 50px;
	align-items: flex-start;
}.about-info-sp{
	width:100%	
}.about-info-sp h3{
	font-size: 20px;
}.about-info-half .infoname{
	width:95px;
}.about-info-half{
	flex-grow: 1;
}.about-info h3,.about-info span{
	color: #333;
}.about-info a{
	font-size: 16px;
    color: #2C2C2C;
    margin-right: 20px;
}.margin-mid{
	margin: 10px;
}.margin-mid p{
	margin-bottom: 30px;
}


		@media (min-width: 1025px){
			.sub-title-sp{
				flex-flow: row;
			}.sub-title-sp .stamp-01:before{
				top: unset;
				bottom: 0;
				background-image: url(../images/stamp-r3-01re.png);
				height: 140px;
				width: 140px;
				transform: translate(-90%,50%);
			}#about h2, #menu h2{
				position: relative;
				margin: 0;
				line-height: 1;
			}.sub-image{
				width: 80vw;
			}.sub-image-sp.stamp-01::before{
				content: none;
			}.about-info.column2{
				margin: 0 50px;
  				padding: 100px calc(50% - (1280px / 2));
			}#about .column1, #menu .column1{
   				margin: 0 50px;
  				padding: 60px calc(50% - (1280px / 2));
			}
		}

/*========================================= menu =====================================================*/


.category-line{
	display: flex;
	flex-flow: row;
	padding:0 0 5px 5px;
	border-bottom: 1px solid #9D2711;
	column-gap: 10px;
	align-items: baseline;
}#menu .category-line h2:nth-child(1){
	margin: 0;
	font-size: clamp(27px, 1.548rem + 0.59vw, 30px);
}.category-line p{
	font-size: 17px;
	color: #AF4E4E;
}.category-line p:nth-child(3){
	margin: 0 5px 0 auto;
}
.menu-wrap {
	display: grid;
	margin: 0 clamp(38px, -1.67rem + 17.26vw, 150px);
    padding: 0 calc(50% - 1280px / 2);
    grid-template-columns: 1fr;
	row-gap:100px;
	column-gap: min(5vw, 64px);
}.menulist{
	display: flex;
    flex-flow: column;
}.menu-wrap .price::before {
    content: '';
    flex-grow: 1;
    background: linear-gradient(#8D8988, #8D8988) no-repeat center / 100% 1px;
    width: 100%;
    height: 100%;
}.menu-wrap .menu-line{
	font-size: clamp(16px, 0.907rem + 0.4vw, 18px);
    color: #2C2C2C;
	margin:20px 0;
	position: relative;
}.category-sup{
	font-size:clamp(15px, 0.829rem + 0.46vw, 18px);
	text-align: end;
	color: #5c5c5c;
	margin: 15px 0 0;
    line-height: 1.4;
}.category-sup2{
	font-size: clamp(14px, 0.767rem + 0.46vw, 17px);
	text-align: end;
	margin: 0 5px;
	line-height: 1.4;
	color: #5c5c5c;
}.sup{
	font-size: clamp(15px, 0.891rem + 0.2vw, 16px);
	text-align: start;
	padding: clamp(30px, 1.689rem + 0.79vw, 34px) clamp(0rem, -0.181rem + 0.77vw, 0.313rem) 0;
	color: #8D8988;
	position: absolute;
	display: inline-block;
    width: 100%;
    line-height: 1.1;
}.menu-wrap .stamp-04::before{
	bottom: unset;
    top: 0;
    transform: translate(50%, -22%) rotate(22deg);
	width: 48vw;
    height: 48vw;
}.stamprb.stamp-04::before{
	transform: scale(-1, 1) translate(50%, -40%) rotate(22deg);
    bottom: unset;
    right: unset;
    left: 0;
    top: 0;
}.menu-box{
	position: relative;
}.menu-box.stamp-05::before{
	background-image: url("../images/stamp-kasumisou02.png");
	left: unset;
    right: 0;
    transform: translate(51%, -65%) rotate(-13deg);
	opacity: 0.8;
	width: 35vw;
    height: 35vw;
    z-index: -2;
	max-width: 300px;
	max-height: 300px;
}.menu-wrap .menu-box:nth-last-child(1){
	margin-bottom: 100px;
}

.mojitsume{
	letter-spacing: 0rem;
}
	@media (min-width: 880px){
		.menu-wrap {
				margin: 0 50px;
				grid-template-columns: 1fr 1fr;
		}.menu-box{
			margin: clamp(0rem, -6.875rem + 12.5vw, 3.125rem);
		}.category-sup{
			margin: 15px 5px 0;
		}
	}
	@media (min-width: 1025px){
		.menu-wrap .menu-line{
			margin:25px 10px;
		}.menu-box.stamp-05::before{
			width: 300px;
			height: 300px;
			transform: translate(61%, -115%) rotate(-13deg);
		}.menu-wrap .stamp-04::before{
			width: 400px;
			height: 400px;
		}
	}
/*
* {
	outline: 1px solid magenta;
}
*/
