
html {
	overflow-y: scroll;
	overflow-x: hidden;
	-ms-overflow-style: scrollbar;
	scroll-behavior: smooth;
}
:target { scroll-margin-top: 100px; }

html , html a , body { -webkit-font-smoothing: antialiased; }

html {
	font-size: 16px;
	-webkit-tap-highlight-color: transparent;
}

body {
	font-size: 1rem;
	font-family: 'Noto Sans JP', sans-serif;
	color: #352211;
	line-height: 1.7;
}

/* Typography */

h1 {
	margin: 5px 0 0 ;
	padding:0;
	font-size:10px;
	text-align:left;
}


em,
li {
	font-size: 1rem;
	font-weight: 300;
	color: #352211;
}

em > a,
li > a { color: #352211; }

em > a:hover,
li > a:hover { color: #a29281; }

small { color: #656565; }

i {	line-height: 1; }

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

/* Paragraph */
p {
	font-size: 16px;
	font-weight: 500;
	color: #333;
	line-height: 1.7;
	margin-top: 0;
	margin-bottom: 1rem;
}
@media screen and (max-width:580px){
p {	font-size: 16x; }
}


/* Links */
a {
	color: #352211;
	text-decoration: none;
}

a:focus, a:hover {
	color: #a29281;
	text-decoration: none;
	transition: 0.2s;
}

a:focus { outline: none; }


/* Logo
------------------------------ */

.logo-link {
	display: inline-block;
	padding: .5rem 0 .5rem 0;
	transition-duration: 300ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

@media (max-width: 61.9em) {
.logo-link {
	padding-left: 0;
	padding-right: .625rem;
}
}


/*----------------------------------
  Back To Top
------------------------------------*/

#back-top {
	position: fixed;
	bottom: 40px;
	right: 5px;
	z-index: 9999;
}
#back-top a {
	width: 30px;
	height: 50px;
	background: #a29281;
	display: block;
	color: #fff;
	text-align: center;
	line-height: 50px;
	border-radius: 100px;
	text-decoration: none;
}
#back-top a:hover {
	background: #CCA85D;
	transition: 0.3s;
}
@media screen and (max-width:580px){
#back-top {
	bottom: 65px;
}
}


#respc {
	position: fixed;
	bottom: 40px;
	right: 40px;
	z-index: 99;
	width: 200px;
}
@media screen and (max-width:1200px){
#respc {
	width: 150px;
	height: 150px;
}
}
@media screen and (max-width:480px){
#respc { display: none; }
}



/* aisis
------------------------------ */


header { height: 70px; }
header .row { margin: 0!important; }
.hbg {
	position: fixed!important;
	transition-duration: 300ms;
}
@media screen and (max-width:991px) {
.hbg { position: fixed!important; }
}

ul.lidisc { padding: 0 5px 0 20px; margin: 0; }
ul.lidisc li {
	list-style: disc; 
	margin: 0 0 3px; 
	color:#444; 
	font-weight: 500; 
	font-size: 13px!important;	
	font-family: "Noto Sans JP", sans-serif;
} 

ul.lidisc-in { padding: 0 5px 0 22px; margin: 0; }
ul.lidisc-in li { 
	list-style: disc; 
	margin: 0 0 3px; 
	color:#444; 
	font-weight: 500; 
	font-size: 13px!important;	
	font-family: "Noto Sans JP", sans-serif;
}

@media screen and (max-width: 768px) {
ul.lidisc li , ul.lidisc-in li { font-size: 12px !important; }
}

.marker {
	display: inline;
	background-image: linear-gradient(rgba(0,0,0,0) 70%, rgba(255,239,57,0.8) 70%);
}

.fontg1 { font-family: 'Noto Sans JP', sans-serif!important; }
.fontg2 { font-family: 'Noto Serif JP', serif!important; }
.fontg3 { font-family:"Playwrite AU SA", cursive!important; }
.font-zk { font-family: 'Zen Kaku Gothic New', sans-serif!important; }
.font-m{ font-family: 'Zen Old Mincho', serif!important; }

.flbox {
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

.flend { align-self: flex-end; }
.flcenter {	align-self: center; }

.tshadow { text-shadow: 0 0 5px rgba(0,0,0,0.8); }
.txt-shadow-w { text-shadow: 0.05em 0.05em 0em rgba(255,255,255,1); }


/* imgchange */

.pc { 
	display: block !important;
	margin:0 auto;
}
.sp { display: none !important; }
 
/* spimgchange */

@media only screen and (max-width: 480px) {
.pc { display: none !important; }
.sp { display: block !important; }
}

/* imgchange */

.pc,.pc2,.pc3 { display: none!important; }
.sp,.sp2,.sp3 { display: inherit!important; }
@media (min-width: 580px) {
.pc { display: inherit!important; }
.sp { display: none!important; }
}
@media (min-width: 992px) {
.pc2 { display: inherit!important; }
.sp2 { display: none!important; }
}
@media (min-width: 1400px) {
.pc3 { display: inherit!important; }
.sp3 { display: none!important; }
}

/*<!--========== SLIDE ==========-->*/ 


.main-visual {
    position: relative;
    width: 100%;
    height: 850px;
    overflow: hidden;
	margin-top:0;
	background: #fff;
}
@media screen and (max-width:1500px){
.main-visual { height: 600px; margin-top: 0px; }
}
@media screen and (max-width:991px){
.main-visual { height: 380px; }
}
@media screen and (max-width:580px){
.main-visual { height: 550px; }
}

.main-visual .slide {
    display: block;
    position: absolute;
    inset: 0;
    background: no-repeat center/100%;
    opacity: 0;
    z-index: 1;
    animation: fadeAnime 9s linear infinite;
}
.main-visual a.slide {
    cursor: pointer;
}

.main-visual .slide:nth-child(1) { background-image: url('../imgs/ss1.webp'); animation-delay: 0s; }
.main-visual .slide:nth-child(2) { background-image: url('../imgs/ss2.webp'); animation-delay: 3s; }
.main-visual .slide:nth-child(3) { background-image: url('../imgs/ss3.webp'); animation-delay: 6s; }

@media screen and (max-width:580px){
.main-visual .slide:nth-child(1) { background-image: url('../imgs/ss1_sp.webp'); animation-delay: 0s; }
.main-visual .slide:nth-child(2) { background-image: url('../imgs/ss2_sp.webp'); animation-delay: 3s; }
.main-visual .slide:nth-child(3) { background-image: url('../imgs/ss3_sp.webp'); animation-delay: 6s; }
}

@keyframes fadeAnime {
/* 0%〜10%: 前の画像からバトンタッチしてフェードイン */
0% {
	opacity: 0;
	z-index: 2; /* 消えゆく画像よりは上にくる */
}
10% {
	opacity: 1;
	z-index: 3; /* 完全に表示されたら最前面へ */
}
/* 10%〜33.3%: 停止して表示（3秒間のうちのメイン時間） */
33.3% {
	opacity: 1;
	z-index: 3;
}
/* 33.4%〜43.4%: 次の画像が重なってきたら、背面でフェードアウト */
33.4% {
	z-index: 2; /* 次の画像(z-index:3)に一番上を譲る */
}
43.4% {
	opacity: 0;
	z-index: 1; /* 完全に消えて背面に待機 */
}
100% {
	opacity: 0;
	z-index: 1;
}
}

.dots {
    position: absolute;
    bottom: 20px; 
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 12px; 
    z-index: 10;
	pointer-events: none;
}

.dots span {
    width: 10px;
    height: 10px;
    background: rgba(255, 255, 255, 0.5);
    border-radius: 50%;
    animation: dotAnime 9s linear infinite;
}

.dots span:nth-child(2) { animation-delay: 3s; }
.dots span:nth-child(3) { animation-delay: 6s; }

@keyframes dotAnime {
0%, 33.3% {
	background: #CCA85D;
}
33.4%, 100% {
	background: rgba(255, 255, 255, 0.5);
	transform: scale(1);
}
}


/*<!--========== ABOUT ==========-->*/

.about{
	background: url("../img/top/main.webp")no-repeat right top / cover;
}

.boxn{
	background: #fff;
	border-bottom: 6px solid #a29281;
	border-right: 6px solid #a29281;
}
.boxn2{
	background: #fff;
	border-bottom: 6px solid #CCA85D;
	border-right: 6px solid #CCA85D;
}

.main {background: #f0f1df;}

.reco {
	padding:40px 0 60px;
	background: url("../img/top/about2.webp") no-repeat bottom right 100px / 400px ,rgba(44,44,44,0.2)!important;
}

@media only screen and (max-width: 1400px) {
.reco {
	padding:40px 0;
	background: url("../img/top/about2.webp") no-repeat bottom right -100px / 350px , rgba(44,44,44,0.2)!important;
}
}
@media only screen and (max-width: 480px) {
.reco {
	padding:60px 0 300px;
	background: url("../img/top/about2.webp") no-repeat bottom center / 300px , rgba(44,44,44,0.2)!important;
}
}


/*<!--========== MENU ==========-->*/


.menu-bor , .menu-bor2 { position: relative; }
.menu-bor::before , .menu-bor2::before { 
	position: absolute;
	content: "";
	width: calc(100% - 20px);
	height: calc(100% - 20px);
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto ;
}
.menu-bor::before { border: solid 1px #a29281; }
.menu-bor2::before { border: solid 2px #CCA85D; }


/*<!--========== POINT ==========-->*/


#point {
	position: relative;
}
#point::before {
	position: fixed;
	content: "";
	height: 100vh;
	width: 100vw;
	top: 0;
	left: 0;
	z-index: -1;
	background: url("../img/top/pobg.webp") no-repeat bottom right / cover;
}

#point h3 {
	position: relative;
	padding: 0.5em 20px;
	margin:120px 0 0;
	z-index: 1;
	color: #fff;
}

#point1in h3::before , #point2in h3::before , #point3in h3::before {
	content: "";
	position: absolute;
	width: 80vw;
	height: 100%;
	top: 5px;
	background: rgb(3,58,161);
	z-index: -1;
}
#point1in h3::before , #point2in h3::before ,  #point3in h3::before {
	background: linear-gradient(90deg,rgba(66, 48, 35, 1) 0%, rgba(162, 146, 129, 1) 46%);
	right: -20vw;
}

#point1in h3::after , #point2in h3::after , #point3in h3::after {
	position: absolute;
	left: 20px;
	bottom: calc(100% + 0.3em);
	font-size: 1.75em;
	line-height: 0.8;
	color: #CCA85D;
	font-family:"Playwrite AU SA", cursive;
	font-weight: 500;
}
#point1in h3::after { content: "Point 1"; }
#point2in h3::after { content: "Point 2"; }
#point3in h3::after { content: "Point 3"; }


@media only screen and (max-width: 991px) {
#point h3 {	margin: 0; }
#point1in h3::before , #point2in h3::before , #point3in h3::before { left: 0; width: 100vw; }
}

@media only screen and (max-width: 480px) {
#point1in h3::after , #point2in h3::after , #point3in h3::after { font-size: 1.5em; }
}


/*<!--========== DOCTOR ==========-->*/


#mess {
	background:url("../img/top/messbg.webp") repeat-y right top / cover;
	overflow: hidden;
}


/*<!--========== RESERVE ==========-->*/


.res {
	position: relative;
	background-image:linear-gradient(-25deg,rgba(208,182,160,0) 75%, rgba(208,182,160, 0.15) 75%, rgba(208,182,160, 0.15) 100%), linear-gradient(25deg,rgba(208,182,160, 0) 75%, rgba(208,182,160, 0.25) 75%, rgba(208,182,160, 0.25) 100%),linear-gradient(-205deg,rgba(208,182,160,0) 75%, rgba(208,182,160, 0.15) 75%, rgba(208,182,160, 0.15) 100%), linear-gradient(205deg,rgba(208,182,160, 0) 75%, rgba(208,182,160, 0.25) 75%, rgba(208,182,160, 0.25) 100%);
	background-position: center;
	background-repeat: no-repeat;
	background-color: #fff;
	z-index: 2;
}

.apoca {
	text-align: center;
	position: relative;
	padding:12px;
	background:#045d3c;
	color: #ffffff;
	font-weight: bold;
}
.apoca::before,
.apoca::after {
	position: absolute;
	top: 100%;
	left:50%;
	transform:translateX(-50%);
	content: '';
	border: 14px solid transparent;
	border-top: 10px solid #045d3c;
}

.res-bor { border: solid 2px #a29281; }


/*<!--========== VARIATION ==========-->*/


#vari { background: url("../img/top/check.webp") center center / 80px  , linear-gradient(180deg, rgba(162,146,129,1.00) 50%, rgba(231,228,223,1.00) 100%);
}


.kind {	background: linear-gradient(165deg, rgba(255,255,255,0.00) 0%, rgba(255,255,255,0.00) 50%, rgba(231,228,223,0.65) 50%) ,rgba(255,255,255,0.85) ; }


/*<!--========== GUIDE SYSTEM ==========-->*/


#particles-js { 
	position:absolute;
	z-index:-1;
	width: 100%;
	height:3000px;
	background:linear-gradient(180deg,rgba(66, 48, 35, 1) 0%, rgba(162, 146, 129, 1) 100%);
}

#guide {
	background-color: rgba(50,50,50,0.2);
	overflow: hidden;
}

.guidet {
	position: relative;
	z-index: 1;
	color:#fff ;
	display: inline-block;
	padding: 20px 20px 20px 0;
}	
.guidet::before {
	content: "";
	position: absolute;
	top:-400px;
	left: -50px;
	z-index: -1;
	background-color: rgba(219,181,102,0.3);
	width: 300px;
	height: 6000px;
}
.guidet::after {
	content: "";
	position: absolute;
	top:0;
	left: -50px;
	z-index: -1;
	background-color: rgba(219,181,102,0.8);
	width: 100vw;
	height: 100%;
}
@media only screen and (max-width: 480px) {
.guidet::before {
	top:-200px;
	left: -20px;
	width: 40%;
	height: 5000px;
}
}


/*<!--========== BONE ==========-->*/

.bonebg { background: url("../img/top/bone.webp")no-repeat top center / cover;}

#bone {
	background-image: url("../img/top/bonebg.webp");
	background-position: right;
	background-size: auto 100%;
	background-repeat: no-repeat;
}
@media only screen and (max-width: 1400px) {
#bone {
	background-image: url("../img/top/bonebg.webp");
	background-size: 40% auto;
	background-position: top -40px right;
}
}
@media only screen and (max-width: 480px) {
#bone {
	background-image: url("../img/top/bonebg.webp");
	background-size: 100% auto;
	background-position: bottom;
	padding: 40px 0 200px!important;
}
}


/*<!--========== FLOW ==========-->*/


.flow {
	overflow: hidden;
	background: url("../img/top/check.webp") top left / 65px , linear-gradient(180deg,rgba(255, 255, 255, 1) 0%, rgba(244, 243, 241, 1) 100%) ;
}
.flowin { background: linear-gradient(90deg, #a29281 0%, #a29281 200px, rgba(220,210,203,0) 200px); }

@media screen and (max-width: 1200px) {
.flowin { background: linear-gradient(90deg, #a29281 0%, #a29281 150px, rgba(220,210,203,0) 150px); }
}
@media screen and (max-width: 480px) {
.flowin { background: linear-gradient(90deg, #a29281 0%, #a29281 3.8em, rgba(243,235,229,0.00) 3.6em); }
}

.margin-l-o-15--lg { margin-left: -0.9375rem!important; }
@media screen and (max-width: 991px) {
.margin-l-o-15--lg { margin-left: 0rem!important; }
}


.List-Item-Content {
	position: relative;
	align-items: center;
	z-index: 1;
	padding: 0 12px;
}
@media screen and (max-width: 540px) {
.List-Item-Content { flex-wrap: wrap; }
}

.List-Item-Content .col-2 {
	position: relative;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	z-index: 1;
}

.List-Item-Content .col-2::before {
	content: "";
	position: absolute;
	top: 50%!important;
	left: calc(50% - 22px);
	transform: translate(-50%,-50%);
	width: 2px;
	height: 100%;
	background: #fff;
	z-index: -1;
}

.List-Item-Content-Number {
	position: relative;
	display: inline-block;
	padding: 10px 10px 30px;
	top: 0;
	right:calc( 50% - 22px);
	margin: auto;
	text-align: left;
	background: #fff;
	color: #493f24;
	font-size: 24px;
	line-height: 1;
	clip-path: polygon(0 0, 100% 0, 100% 70%, 0% 100%);
}
@media screen and (max-width: 480px) {
.List-Item-Content-Number {
	right:calc( 50% - 9px);
	font-size: 20px;
}
.List-Item-Content .col-2::before {	left: calc(50% - 31px); }
}


/*<!--========== PRICE ==========-->*/


/*.price { background: url("../img/top/check.webp") top left / 65px , #fff; }*/

table.price {
	margin:0 auto;
	padding: 4px;
	width:100%;
	border-collapse:separate;
	border-spacing:4px;
	empty-cells:show;
}
.price th {
	font-size: 14px;
	letter-spacing: 1px;
	padding:10px 5px;
	text-align:center;
	color: #2C2C2C;
}
.price td {
	font-size: 14px;
	color: #333; 
	padding: 10px;
	font-weight: 500;
}

@media screen and (max-width:480px){
.price th,.price td {
	width: 100%;
	display: block;
	font-size: 12px;
}
.price td { text-align: center; font-size: 13px; }
}



/*<!--========== INFINIT SLIDE ==========-->*/


.infiniteslide { 
	overflow: clip;
    width: 100%;
	background: #fff;
}

.infiniteslide ul {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    width: max-content;
    animation: infinity-loop 60s linear infinite; 
}
.infiniteslide ul li {
    width: 400px; /* 画像の幅を変えたら下の移動距離も変える */
    flex-shrink: 0;
}

.infiniteslide img {
    width: 100%;
    display: block;
}

@keyframes infinity-loop {
0% { transform: translateX(0); }
100% {
	/* 画像の幅 × 枚数分 = -px */
	transform: translateX(-4000px); 
}
}


/*<!--========== INFO ==========-->*/


.s-btn {
	position: relative;
	display: block;
	margin: 0 auto!important;
	text-align: center;
	transition: .3s;
	font-size: 18px;
	font-weight: 600;
	padding: 8px 10px;
	z-index: 2;
	border-radius: 100px;
}
@media only screen and (max-width: 1024px) {
.s-btn { font-size: 1rem; }
}
.sbtnc1 { background: #a29281; border: 3px solid #a29281; color: #fff; }
.sbtnc1:hover { background: #352211; border: 3px solid #352211; color:#fff; }

.logo-w { width: 90%; }

@media only screen and (max-width: 1200px) {
.logo-w { width: 100%; }
}
@media only screen and (max-width: 991px) {
.logo-w { width: 70%; }
}
@media only screen and (max-width: 580px) {
.logo-w { width: 90%; }
}



@media only screen and (max-width:480px){
#footel {
	margin:0;
	padding:0;
	width:100%;
	font-weight:normal;
	background: #045d3c;
	color:#FFF;
	z-index: 3;
	position: fixed;
    bottom:0;
	background-color: rgba(0,0,0,0);
}
}


/*<!--========== ST ==========-->*/


.st , .st-2 {
	position: relative;
	text-align: center!important;
	z-index: 1;
}
.st::before , .st::after , .st-2::before , .st-2::after {
	content: "";
	position: absolute;
	margin: auto;
	left: 0;
	right: 0;
}
.st::before , .st-2::before {
	bottom: -10px;
	width: 60%;
}
.st::after , .st-2::after {
	bottom: -20px;
	width: 40%;
}
.st::before , .st::after { border-bottom: 1px solid #c3bc79; }
.st-2::before , .st-2::after { border-bottom: 1px solid #fff; }


.st2,.st2-2,.st2-3{
	display: inline-block;
	position: relative;
	z-index: 1;
	padding: 20px 40px 20px 0;
	color: #fff;
}
.st2::before,.st2-2::before,.st2-3::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 100vw;
	height: 100%;
	z-index: -2;
	box-shadow: 0px 0px 16px -6px rgba(0,0,0,0.4);
}

.st2::before { background:#a29281 ; }
.st2-2::before { background:linear-gradient(270deg,rgba(66, 48, 35, 1) 0%, rgba(162, 146, 129, 1) 100%) ;}
.st2-3::before { background:#352211 ;}


.st3 {
	position: relative;
	padding: .5em .5em .5em 0.8em;
	font-weight: bold;
	line-height: 1.2;
	border-bottom: 1px solid #CCA85D;
}
 
.st3::after {
	position: absolute;
	top: 50%;
	left:0;
	transform:translateY(-50%);
	content: '';
	width: 5px;
	height:2.3em;
	background-color: #CCA85D;
}



.st4 , .st4-2 {
	overflow: hidden;
	text-align: center;
	position: relative;
	padding: 0.7em;
	letter-spacing: 0.05em;
	font-weight: 500;
}
.st4::before , .st4::after , .st4-2::before , .st4-2::after {
	 position: absolute;
	 left: 0;
	 content: '';
	 width: 100%;
	 height: 7px;
	 box-sizing: border-box;
}
.st4::before { top: 0; border-top: 3px solid #fff; border-bottom: 1px solid #fff; }
.st4::after { bottom: 0; border-top: 1px solid #fff; border-bottom: 3px solid #fff; }
.st4-2::before { top: 0; border-top: 3px solid #a29281; border-bottom: 1px solid #a29281; }
.st4-2::after { bottom: 0; border-top: 1px solid #a29281; border-bottom: 3px solid #a29281; }


.st5 {
	border: 3px solid #AA8E1F;
	padding: 0.2em 0.5em 0.5em;
	line-height: 1.5;
	position: relative;
	background-color: #fff;
	font-weight: 700;
}
.st5::after {
	content: '';
	height: 0;
	width: 0;
	border: solid transparent;
	position: absolute;
	left: 20px;
	top: 100%;
	border-color: transparent;
	border-top-color: #AA8E1F;
	border-right-color: #AA8E1F;
	border-width: 8px;
}


/*<!--========== TABLE ==========-->*/


table.com {
	margin:0 auto;
	padding: 4px;
	width:100%;
	border-collapse:separate;
	border-spacing:4px;
	empty-cells:show;
}
.com th {
	font-size: 14px;
	letter-spacing: 1px;
	padding:10px 5px;
	text-align:center;
	color: #2C2C2C;
}
.com td {
	font-size: 14px;
	color: #333; 
	padding: 10px;
	font-weight: 500;
}

@media screen and (max-width:480px){
.com th,.com td {
	width: 100%;
	display: block;
	font-size: 12px;
}
}

table.com2 {
	margin:0 auto;
	padding: 4px;
	width:100%;
	border-collapse:separate;
	border-spacing:4px;
	empty-cells:show;
}
.com2 th {
	font-size: 14px;
	letter-spacing: 1px;
	padding: 10px 5px;
	text-align:center;
	background-color: #CCA85D;
	color: #fff;
}
.com2 td {
	font-size: 14px;
	color: #333; 
	padding: 10px 5px;
	background-color:rgba(255,255,255,0.9);
}
@media screen and (max-width:1200px){
.com2 th , .com2 td { font-size: 12px; }
}


.time {
	width: 100%;
	margin: 0 0 10px;
}
.time th {
	padding:10px 4px;
	word-break: break-all;
	font-weight: 600;
	white-space: nowrap;
	width: 22%;
	font-size: 14px!important;
	border-bottom: 1px solid #838383;
}
.time td {
	padding:10px 4px;
	word-break: break-all;
	text-align: center;
	font-size: 14px!important;
	border-bottom: 1px solid #838383;
	font-weight: 600;
}

