@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;600&display=swap');
/*-------------------
カラー変数
メイン #C97A2E / サブ1 #4A2A20 / サブ2 #F5E6C8
--------------------*/
:root {
	--color-main: #C97A2E;
	--color-main-light: #E0A868;
	--color-main-dark: #A8621F;
	--color-sub1: #4A2A20;
	--color-sub1-light: #6B4132;
	--color-sub2: #F5E6C8;
	--color-sub2-light: #FBF6E9;
	--color-text: #3A2E28;
	--color-text-light: #FBF6E9;
	--color-border: #E5D9BE;
}
html{scroll-behavior: smooth;}
body{
  	font-family: 'Noto Serif JP', serif;
  	font-weight:300;
	color: var(--color-text);
}
a:hover {
	transition: all 0.5s;
}
::selection {
	background-color: rgba(201,122,46,0.66);
	color: var(--color-sub1);
}
/*-------------------
layout
----------------------*/
#wrap {
	background: var(--color-sub2) url(/materials/178409826105901.png) repeat fixed;
}
#mainContents {
	padding-bottom: 0;
}
.article.bg {
	background: rgba(251,246,233,0.55);
  	backdrop-filter: blur(20px);
}
/*TEL*/
p.tel {
	text-align: center;
	font-size: 1.75em;
}
p.tel a {
	color: var(--color-sub1);
}
p.tel a:before {
	content: "\f095";
	font-family: "Font Awesome 5 Free";
	display: inline-block;
	margin-right: 0.25em;
	transform: scaleX(-1);
}
p.tel a:hover{
	color: var(--color-main);
}
/*--------------------
Title
---------------------*/
#title {
	margin-top: 30px;
}
/*#title #title_outer {
	background: url(/materials/178409745674101.jpg) right top no-repeat;
}*/
#title #title_outer {
	height: auto;
	justify-content: center;
}
#title h1 {
	background: url(/materials/178410057519701.png) center no-repeat;
	width: 500px;
	height: 200px;
	margin: 0 auto;
	float: none;
	text-align: center;
}
#title h1 a {
	display: inline-block;
	overflow: hidden;
	text-indent: 110%;
	white-space: nowrap;
	height: 100%;
	width: 100%;
	margin: 0 auto;
}
#sideContents, #footer {
	background: var(--color-sub1);
	color: var(--color-text-light);
}
#footer_body .copyright {
	background: var(--color-sub1);
}
.sideContents .sideMobile p, .sideContents ul li a, .sideContents dt a {
	color: var(--color-text-light);
}
#footer_body .topMenu li a, #footer_body .services li a {
	background: var(--color-sub1);
}
#mainArticles .article h2 {
	background: unset;
}
/*------------------
Menu
------------------*/
#topMenu .topMenu li{
	position:relative;
}
#topMenu .topMenu li::after{
	position: absolute;
	left: 0;
	bottom: 0;
	content: '';
	width: 100%;
	height: 1px;
	background: var(--color-main);
	transform: scale(0, 1);
	transform-origin: left top;
	transition: transform .5s;
}
#topMenu .topMenu li:hover::after {
    transform: scale(1, 1);
}
#topMenu_outer .topMenu li a:hover{
	background:unset;
	color: var(--color-main);
}
/*------------------
見出し
---------------------*/
#mainArticles h2, #listTopics h2{
	color: var(--color-sub1);
	font-size: 1.8em;
	font-weight: 600;
  	background:none;
	text-shadow:
		0 0 6px var(--color-sub2-light),
		0 0 6px var(--color-sub2-light),
		0 0 10px var(--color-sub2-light);
}
/* h3：和紙背景の上でも視認できるように太字化＋淡いハロー＋下線を追加 */
#mainTopics h2, #mainArticles .article h2, .article h3, .gallery h3, .freeHtml h3  {
	display: inline-block;
	color: var(--color-sub1);
	font-weight: 600;
	font-size: 1.6em;
	letter-spacing: 0.02em;
	padding-bottom: 6px;
	/*border-bottom: 2px solid var(--color-main);*/
	text-shadow:
		0 0 6px var(--color-sub2-light),
		0 0 6px var(--color-sub2-light),
		0 0 10px var(--color-sub2-light);
}
/*#mainTopics h2:after, .article h3:after, .gallery h3:after, .freeHtml h3:after {
	content: none;
}
#mainTopics h2, #mainArticles .article h2, .article h3, .gallery h3, .freeHtml h3 {
	margin-bottom: 20px;
}*/
.gallery ul.galleryGrids .comment {
	font-size: 1em;
	font-weight: normal;
}
.article h4 {
	background: none;
	border-bottom: none;
	border-top: none;
	border-left: none;
	border-right: none;
}
.article h4:before {
	width: 15px;
	height: 15px;
	background: var(--color-main);
	transform:
	rotate(45deg);
	margin: auto 0;
}
/*-------------------
予約
-----------------*/
.article.max.contact {
	background: url(/materials/165845880293002.png) right top no-repeat var(--color-sub1);
	text-align:
	center;
	color: var(--color-text-light);
	margin-bottom:0;
  	padding:0;
}
.article.max.contact .article_body {
	width: 40%;
}
.article.contact p {
	margin-bottom: 0.75em;
	line-height: 1.5;
	font-size: 0.88em;
}
#mainArticles .article.contact h2 {
	margin: 30px 0;
	padding: 12px 0;
}
#mainArticles .article.contact h2:after{
	content:none;
}
#wrap .article.max.contact h2 img {
	width: max-content;
}
.article.max.contact a.btn{
	display:inline-block;
	background:unset;
	border:1px solid var(--color-sub2);
	font-weight:normal;
	cursor:pointer;
}
.article.max.contact a.btn:hover{
	background: var(--color-main);
}
/*------------------
縦書き
------------------*/
#wrap .article.tategaki .image img {
	width: 48vw;
	overflow: hidden;
}
.article.max.tategaki .article_body {
	min-width: 1024px;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}
#wrap .article.tategaki .image {
	/* display: table-cell; */
	/* vertical-align: bottom; */
}
.article.tategaki {
	writing-mode: vertical-rl;
	/* width: 100%; */
	/* height: 640px; */
}
.tategaki ul {
	margin-top: 2em;
}
.article.tategaki p{
	margin-left:1em;
	margin-top: 2em;
	margin-bottom: 0;
	text-indent: 1em;
	max-height: 640px;
}
.mainArticles .tategaki .article_right .image,
.mainArticles .tategaki .article_left .image{
        float:none;
}
.article.tategaki .image{
	/* max-width: 50%; */
}
.mainArticles .tategaki .article_right .image {
	/* margin-left: 20%; */
}
.article.tategaki.max {
	padding-right: 0;
	padding-left: 0;
}
.article.tategaki h3 {
	/* text-align: left; */
	margin-top: 0;
	margin: 0 1em auto;
	padding: 1em 0.5em;
	display: inline-block;
	border-left: 1px solid var(--color-main-light);
	border-right: 1px solid var(--color-main-light);
	display: inline-block;
	position: unset;
	width: auto;
}
.article.tategaki h3::after {
	content: none;
}
.article.tategaki .article_right .image {
	margin-left: 1%;
}
/*---------------
背景
--------------*/
.article.bg.copy {
	background: url(/materials/169951077434501.jpg) center center no-repeat;
	padding:0;
  background-attachment:fixed;
}
.article.bg.copy02 {
	background: url(/materials/178425175108601.jpg) right center no-repeat;
	padding:0;
	background-attachment:fixed;
}
.article.bg.copy .article_outer{
	padding:60px 40px;
	background:rgba(255,255,255,0.5);
}
.article.bg.copy02 .article_body{
	background:rgba(0,0,0,0.4);
	padding:60px 40px;
}
.article.bg.copy h3,
.article.bg.copy02 h3{
	font-size:1.6em;
  border:none;
}
.article.bg.copy h3::after,
.article.bg.copy02 h3::after{
  content:none;
}
.article.bg.copy02 *{
	color: var(--color-text-light);
}
/*---------------------
問い合わせ
------------------------*/
.article.bg.copy02 p {
	text-align: center;
}
.article.bg.copy02 p.tel {
	font-size: 2rem;
	font-weight: bold;
}
.article.bg.copy02 p.tel::before {
	font-family: "Font Awesome 5 Free";
	content: "\f3cd";
	font-weight: bold;
	margin-right: 0.25em;
	margin-left: 0.25em;
}
.article.bg.copy02 a.btn{
	background:unset;
	border-color:var(--color-text-light);
	backdrop-filter:blur(5px)
}
.article.bg.copy02 a.btn:hover{
	background:var(--color-main)
}
/*---------------
Table
--------------*/
.article table.normalTbl {
	width: 50%;
  font-size:1em;
}
.article table.normalTbl th, .article table.normalTbl td {
	background: rgba(251,246,233,0.6);
	border-bottom: solid 1px #000;
}
.article table.normalTbl th {
	width: 33%;
}
.article table:not(.contactTable) td, .article table:not(.contactTable) th {
  border-bottom: 1px solid #000;
  height: auto;
  padding: 10px;
  box-sizing: border-box;
  vertical-align: middle;
}
/*-------------------
画面幅800px以下
--------------------*/
@media only screen and (max-width: 800px) {
/*
  フッター部調整
*/
.side_info {
	flex-direction: column;
	text-align:center;
	align-items:center;
	padding: 16px 0;
}
.side_info h2{
	text-align:center;
	margin-bottom:2em;
}
.side_info h2 img {
	width: 220px;
	padding:0;
	margin:0 auto;
	display: block;
}
  #title #title_outer {
  background: none;
}
#wrap {
	background-attachment: scroll;
}
  #title h1 {
	width: 370px;
	height: 176px;
	/*background-size: 90px;*/
	text-align: left;
	margin: 0;
}
.article.tategaki{
	writing-mode:unset;
}
.article.max.tategaki .article_body {
	flex-direction: column;
	min-width: unset;
	align-items: center;
}
.article.max.tategaki .article_body .image, .article.max.tategaki .article_body div {
	margin: 0 0 20px;
	/* text-align: center; */
	max-width: 100%;
	width: 100%;
}
#wrap .article.tategaki .image img {
	width: 100%;
}
	.article.tategaki p{
		margin:0 0 1em;
	}
	.article.tategaki h3 {
		border: none;
		border-top: 1px solid var(--color-main-light);
		border-bottom: 1px solid var(--color-main-light);
		display: block;
		padding: 0.5em 0.15em;
		margin: 0 0.5em 1.5em;
	}
	.article.max.tategaki .article_body div {
		padding: 0 4%;
	}
	.article.max.tategaki .article_body div.image {
		padding: 0;
	}
  .article.max.contact .article_body {
	width: 100%;
}
#wrap .article.max.contact h2 img {
	width: calc(max-content /2);
}
#mainArticles .article.contact h2 {
	margin: 15px 0;
}
#mainArticles h2, #listTopics h2 {
	font-size: 1.6rem;
	padding: 20px 0;
}
.article table.normalTbl,
.article table.normalTbl th, .article table.normalTbl td{
	width: 100%;
}
.article table.normalTbl th, .article table.normalTbl td {
	text-align: center;
  display:block;
}
    .article.bg.copy, .article.bg.copy02{
    background-size:auto 100%;
    background-attachment:unset;
  }

  .article.bg.copy .article_outer{
    padding:24px;
  }

  /* 画面下部固定のリンクパーツ */
#bottomLink {
display:block;
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  text-align: center;
  z-index: 1000;
  height: 50px;
  overflow: hidden;
}
#bottomLink a {
  display: block;
  padding: 0;
  color: var(--color-text-light);
  background: var(--color-main-dark);
  text-decoration: none;
  font-size: 100%;
  line-height: 50px;
  height:100%;
}
  #bottomLink a span:before {
	content: "\f095";
	font-family: "Font Awesome 5 Free";
	display: inline-block;
	margin-right: 0.25em;
	transform: scaleX(-1);
}
/* ボタンサイズ分の画面下部余白 */
#wrap {
    margin-bottom: 50px;
}
  #mainTopics {
	margin-bottom: 50px;
	background: rgba(251,246,233,0.6);
}
/*-------------
バッジ調整
---------------*/
.grecaptcha-badge {
bottom: 55px!important;
z-index: 9999;
}
}/*画面幅800px以下ここまで*/
body.body-media-pc.ams-build #bottomLink {
  display:block;
}
/*-------------------
side_info（デスクトップ表示のみ／801px以上）
--------------------*/
@media only screen and (min-width: 801px) {
.side_info a.btn{
	border-radius:unset;
	color:var(--color-text-light);
	background:unset;
	padding:0.5em 2em;
	border:1px solid var(--color-text-light);
}
.side_info {
	display:flex;
	align-items:flex-start;
	justify-content:space-around;
	padding:48px 0 0;
}
.side_info h2, .side_info .info{
	padding:0;
}
.side_info h2 img{
  padding-right:2em;
}
.side_info p {
	margin-bottom: 0.8em;
	line-height: 1.3;
	color:var(--color-text-light);
}
.side_info br.sp{
	display:none;
}
}
