
html {
	overflow-y: scroll;
	overflow-x: hidden;
	-ms-overflow-style: scrollbar;
}

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: #333333;
	line-height: 1.6;
}

/* Typography */

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


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

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

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

small { color: #656565; }

i {	line-height: 1; }

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

/* Paragraph */
p {
	font-size: 0.9375rem;
	font-weight: 500;
	color: #333;
	line-height: 2;
	margin-top: 0;
	margin-bottom: 1rem;
}

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

a:focus, a:hover {
	color: #E6CC96;
	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
------------------------------------*/

.s-back-to-top {
	position: fixed;
	z-index: 99;
	right: 0.5rem;
	bottom: 3rem;
	display: block;
	width: 1.875rem;
	height: 3rem;
	background: #525252;
	border-radius: 3.125rem;
	text-align: center;
	transition-duration: 300ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

@media (max-width: 480px) {
.s-back-to-top { bottom: 5rem; }
}

.s-back-to-top:before {
	display: block;
	font-size: 0.75rem;
	font-style: normal;
	font-family: themify;
	color: #fff;
	line-height: 3rem;
	content: "\e627";
	transition-duration: 300ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

.s-back-to-top:hover { background: #fff; }
.s-back-to-top:hover:before { color: #a79576; }
.s-back-to-top:focus, .s-back-to-top:hover { text-decoration: none; }

/* The button becomes visible */

.s-back-to-top.-is-visible { bottom: 5.125rem; opacity: .8; }
.s-back-to-top.-is-visible:hover { opacity: 1; }
.s-back-to-top.-zoom-out { opacity: .6; }


#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: relative!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; }
.fontg2 { font-family: 'Noto Serif JP', serif; }


.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 */

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

@media only screen and (max-width: 768px) {
.pc2 { display: none !important; }
.sp2 { display: block !important; }
}


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


.slider {
	position: relative;
	width: 100%;
	margin:0;
	padding:0;
}


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


.bg-check { background: url("../img/top/check.png") top left / 65px; }

.abobg {
	position: relative;
}
.abobg::before {
	position: absolute;
	content: "";
	width: 100vw;
	height: 35%;
	top: 0;
	bottom: 0;
	margin: auto ;
	background: #F0E7E0;
}
.abobg::after {
	position: absolute;
	content: "";
	width: 60vw;
	height: 70%;
	top: 0;
	bottom: 0;
	margin: auto ;
	background: url("../img/top/mainbg.jpg")no-repeat center center;
}
@media only screen and (max-width: 1400px) {
.abobg::after {
	background: url("../img/top/mainbg.jpg")no-repeat center center / 150%;
}
}
@media only screen and (max-width: 480px) {
.abobg::after {
	width: 50vw;
	height: 85%;
	background: url("../img/top/mainbg.jpg")no-repeat left -120px center / 450%;
}
}

.abo {
	position: relative;
	width: 100vw;
}
.abo::before {
	position: absolute;
	content: "";
	width: 48%;
	height: 100%;
	top: 0;
	right: 0;
	background: url("../img/top/abo.png")no-repeat center left / contain ;
	z-index: 0;
}
@media only screen and (max-width: 1024px) {
.abo::before {
	width: 45%;
	height: 80%;
	top: -120px;
	right: -60px;
}
}
@media only screen and (max-width: 768px) {
.abo::before {
	width: 40%;
	top: -140px;
	right: -20px;
}
}
@media only screen and (max-width: 480px) {
.abo::before { background: none ; }
}


.tate {
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.tatecus {
	-webkit-box-pack: center !important;
	-ms-flex-pack: center !important;
	justify-content: center !important;
}
@media only screen and (max-width: 768px) {
.tatecus {
	-webkit-box-pack: end !important;
	-ms-flex-pack: end !important;
	justify-content: flex-end !important;
}
}

.w-list {
	position: relative;
}

.w-list::before {
	position: absolute;
	content: "";
	width: 28%;
	height: 150%;
	bottom: 0;
	right: 0;
	background: url("../img/top/worry.png") no-repeat center bottom / contain ;
	z-index: 2;
}
@media screen and (max-width:1200px){
.w-list::before { width: 40%; }
}
@media screen and (max-width:580px){
.w-list::before { background:none ; }
}


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


#point {
	position: relative;
	overflow: hidden;
	background: url("../img/top/pobg.png") center top / 800px ;
}

#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: 100vw;
	height: 100%;
	top: 0;
	background: rgb(3,58,161);
	z-index: -1;
}
#point1in h3::before , #point3in h3::before {
	background: linear-gradient(90deg, rgba(1,32,21,1.00) 0%, rgba(1,58,38,1.00) 45%, rgba(4,93,60,1.00) 100%);
	right: -50vw;
}
#point2in h3::before {
	background: linear-gradient(270deg, rgba(1,32,21,1.00) 0%, rgba(1,58,38,1.00) 45%, rgba(4,93,60,1.00) 100%);
	left: -50vw;
}

#point1in h3::after , #point2in h3::after , #point3in h3::after {
	position: absolute;
	left: 20px;
	bottom: calc(100% + 0.3em);
	font-size: 2em;
	line-height: 0.8;
	color: #dbb566;
}
#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; }
#point1in h3::after , #point2in h3::after , #point3in h3::after { font-size: 2em; }
}

@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.png") repeat-y right top / 35%  , linear-gradient(90deg, rgba(2,50,32,1.00) 0%, rgba(23,23,23,1.00) 54%, rgba(23,23,23,1) 54%);
	overflow: hidden;
}
@media only screen and (max-width: 768px) {
#mess {	background:url("../img/top/messbg.png") repeat-y right top / 90%  , linear-gradient(90deg, rgba(2,50,32,1.00) 0%, rgba(23,23,23,1.00) 54%, rgba(23,23,23,1) 54%); }
}


/*<!--========== 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;
}


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


#vari { background: url("../img/top/varibg2.webp") no-repeat bottom right /auto , url("../img/top/varibg.png") no-repeat top -100px left -50px / 35% , linear-gradient(180deg, rgba(10,11,12,1) 50%, rgba(164,164,164,1.00) 100%);
}

@media only screen and (max-width: 1200px) {
#vari { background: url("../img/top/varibg2.webp") no-repeat bottom right /auto , url("../img/top/varibg.png") no-repeat top -100px left -50px / 50% , linear-gradient(180deg, rgba(10,11,12,1) 50%, rgba(164,164,164,1.00) 100%); }
}

@media only screen and (max-width: 480px) {
#vari { background: url("../img/top/varibg2.webp") no-repeat bottom right / contain , url("../img/top/varibg.png") no-repeat top -100px center / contain , linear-gradient(180deg, rgba(10,11,12,1) 50%, rgba(164,164,164,1.00) 100%); }
}

.kind {	background: linear-gradient(165deg, rgba(255,255,255,0.00) 0%, rgba(255,255,255,0.00) 50%, rgba(234,234,234,0.65) 50%) ,url("../img/top/kind.png")no-repeat top center / cover ; }


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


#particles-js { 
	position:absolute;
	z-index:-1;
	width: 100%;
	height:3000px;
	background-color:#001910;
}

#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(4,93,60,0.8);
	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 ==========-->*/


#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 {
	position: relative;
	overflow: hidden;
	background: url("../img/top/flowbg-l.png"),url("../img/top/flowbg-r.png"),#f4eee8;
	background-repeat: repeat-y,repeat-y;
	background-position: left,right;
	background-size: 25%,25%;
}
@media only screen and (max-width: 480px) {
#flow {
	background: url("../img/top/flowbg-l.png"),url("../img/top/flowbg-r.png"),#f4eee8;
	background-repeat: repeat-y,repeat-y,repeat;
	background-position: left,right,center;
	background-size: 30%,30%,auto;
}
}

.List-Item-Content {
	position: relative;
	margin-left: auto;
	margin-right: auto;
	align-items: center;
	z-index: 1;
}

.List-Item-Content .col-2 {	position: relative; }
.List-Item-Content .col-2::before {
	content: "";
	position: absolute;
	top: 50%!important;
	left: calc(50% - 1px);
	transform: translate(-50%,-50%);
	width: 2px;
	height: 100%;
	background: #045d3c;
	z-index: -1;
}
@media screen and (max-width: 540px) {
.List-Item-Content { flex-wrap: wrap; }
}

.List-Item-Content-Number {
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	border-radius: 50%;
	width: 80px;
	height: 80px;
	line-height: 80px;
	text-align: center;
	background: #045d3c;
	color: #fff;
	font-size: 36px;
}
@media screen and (max-width: 480px) {
.List-Item-Content-Number {
	width: 50px;
	height: 50px;
	line-height: 50px;
	font-size: 28px;
}
}

.List-Item-Content .js__fullwidth-img {
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}
@media only screen and (max-width: 480px) {
.List-Item-Content .js__fullwidth-img {	height: 250px; }
}


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


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


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


#pic {
	position: relative;
	clear:both;
	margin:0;
	padding:0;
	width:100%;
}
#pic ul , #pic li {
	float:left;
	list-style: none;
	margin: 0!important;
	padding:0!important;
}
#pic li img { width: 400px; }


/*<!--========== 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;
}
@media only screen and (max-width: 1024px) {
.s-btn { font-size: 1rem; }
}
.sbtnc1 { background: #dbb566; border: 3px solid #dbb566; color: #fff; }
.sbtnc1:hover { background: #2c2c2c; border: 3px solid #2c2c2c; 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%; }
}


#footel {
	margin:0;
	padding:10px 0;
	width:100%;
	font-weight:normal;
	background: #045d3c;
	color:#FFF;
}


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


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


.st {
	position: relative;
	overflow: hidden;
	padding: 0.3em 2em 0.3em 3em;
	border: 2px solid #606060;
	background-color: #fff;
}
.st span {
	font-size: 1em;
	position: absolute;
	z-index: 1;
	top: 0.2em;
	left: 0;
	padding-top: 3px;
	padding-left: 16px;
	color: #fff;
}
.st span:before {
	position: absolute;
	top: -150%;
	left: -80%;
	width: 240%;
	height: 300%;
	content: '';
	-webkit-transform: rotate(25deg);
	transform: rotate(25deg);
	background: #606060;
	z-index: -1;
}


.st4 {
	overflow: hidden;
	text-align: center;
	position: relative;
	padding: 0.7em;
	letter-spacing: 0.05em;
	font-weight: 500;
}
.st4::before , .st4::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; }


.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;
	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;
	text-align: center;
}
}

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;
	text-align:center;
	background-color: #dbb566;
	color: #fff;
}
.com2 td {
	font-size: 14px;
	color: #333; 
	padding: 10px;
	background-color:rgba(255,255,255,0.9);
}

.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;
}

