@charset "utf-8";

body {
	margin:0px;
	padding:0px;
	font-family: 'Noto Sans JP', sans-serif!important;
}

a:hover img {
	opacity:.5;
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
 }

a:hover { text-decoration: none!important; opacity: 0.8; transition: .3s; }


p { line-height: 1.7!important;
	letter-spacing: 0.05em;
	font-family: 'Noto Sans JP', sans-serif!important;
	font-weight: 500;
}
@media screen and (max-width:1100px){
p { font-size: 14px!important; }
}

/*================== common ==================*/

.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: 768px) {
.pc2 { display: inherit!important; }
.sp2 { display: none!important; }
}
@media (min-width: 1400px) {
.pc3 { display: inherit!important; }
.sp3 { display: none!important; }
}

.imgc { 
	display: block; 
	margin:0 auto!important;
}

.hover-o:hover { opacity: 0.8; transition: 0.3s }

.bor { border-radius: 20px; }

.marker { display: inline;	background-image: linear-gradient(rgba(0,0,0,0) 70%, rgba(255,245,140,0.80) 70%); }

ul.lidisc { padding: 0 0 0 15px; margin: 0; }
ul.lidisc li { list-style: disc; margin: 0 0 5px; }

ul.lidisc-in { padding: 0 5px 0 15px; margin: 0; }
ul.lidisc-in li { 
	list-style: disc; 
	margin: 0 0 5px; 
	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; }
}

.fontg1 { font-family: 'Zen Kaku Gothic New', sans-serif!important; }
.font1 { font-family: 'Kosugi Maru', sans-serif!important; }
.font-m { font-family: 'Noto Serif JP', 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;
}
.flbox2 {
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	flex-direction: column;
}

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

.bg-stripe { background-image: repeating-linear-gradient(270deg, #F8F6E8, #F8F6E8 7px, #ffffff 7px, #ffffff 14px); }

/*================== inview ==================*/

.up {
	overflow: hidden;
	position: relative;
	opacity: 0;
	bottom: -50px;
}
.upstyle{
	opacity: 1;
	bottom: 0px;
	transition: 1s 0.3s;
}
.left {
	overflow: hidden;
	position: relative;
	opacity: 0;
	left: -200px;
}
.leftstyle{
	opacity: 1;
	left: 0px;
	transition: 1s 0.3s;
}
.right {
	overflow: hidden;
	position: relative;
	opacity: 0;
	right: -200px;
}
.rightstyle{
	opacity: 1;
	right: 0px;
	transition: 1s 0.3s;
}

/*================== back-to-top ==================*/

.s-back-to-top {
	position: fixed;
	z-index: 9999;
	right: 40px;
	bottom: 100px;
	display: block;
	width: 2.5rem;
	height: 2.5rem;
	background: #353535;
	text-align: center;
	transition-duration: 300ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
	border-radius: 50%;
}

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

.s-back-to-top:hover { background: #f7e857; opacity: 1;}
.s-back-to-top:hover::before { color: #493f24; }
.s-back-to-top:focus, .s-back-to-top:hover { text-decoration: none; }

@media (max-width: 991px) {
.s-back-to-top {
	right: 10px;
	bottom: 65px;
	opacity: 1!important;
}
.s-back-to-top:before {
	position: absolute;
	line-height: 0;
	top:50%;
	left:50%;
	transform: translate(-50%,-50%);
}
}

/*================== btn ==================*/

.s-btn {
	display: inline-block;
	text-align: center;
	vertical-align: middle;
	border: none;
	white-space: nowrap;
	touch-action: manipulation;
	cursor: pointer;
	user-select: none;
	transition-duration: 300ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

.s-btn:focus, .s-btn:hover {
	text-decoration: none;
	transition-duration: 300ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

.s-btn.focus { text-decoration: none; }

.s-btn:active, .s-btn.active {
	background-image: none;
	outline: 0;
}

.s-btn.disabled, .s-btn:disabled,
fieldset[disabled] .s-btn {
	cursor: not-allowed;
	opacity: .65;
}

.s-btn__element--left, .s-btn__element--right {
	display: table-cell;
	vertical-align: middle;
	text-align: left;
}

/* Sizes
------------------------------ */
.s-btn--xs {
	font-size: 0.75rem;
	font-weight: 400;
	padding: 0.5rem 1.25rem;
}

.s-btn--sm {
	font-size: 0.875rem;
	font-weight: 400;
	padding: 0.75rem 1.25rem;
}

.s-btn--md {
	font-size: 0.8125rem;
	font-weight: 400;
	padding: 1rem 2.5rem;
}

.s-btn-icon--md {
	font-size: 1rem;
	padding: 0.9375rem 1.5625rem 0.75rem;
}

/* Styles
------------------------------ */

.s-btn--dark-bg {
	color: #fff;
	background: #353535;
	border-width: 0.0625rem;
	border-style: solid;
	border-color: #353535;
}

.s-btn--dark-bg:focus, .s-btn--dark-bg:hover {
	color: #353535;
	background: #f4e126;
	border-color: #f4e126;
	transition: 0.3s;
	opacity: 1;
}

.s-btn--primary-bg {
	color: #fff!important;
	background: #3E5686;
	border-width: 0.0625rem;
	border-style: solid;
	border-color: #3E5686;
	transition-duration: 300ms;
}

.s-btn--primary-bg:focus, .s-btn--primary-bg:hover {
	color: #3E5686!important;
	background: #fff;
	border-color: #3E5686;
}

/*================== footer ==================*/

#footel {
	position: relative;
	padding:10px 0;
	margin:0;
	width:100%;
	font-weight:normal;
    background-color: #ACB3B8;
}
@media only screen and (max-width:480px){
#footel {
	z-index: 9999;
	margin:0;
	position: fixed;
    bottom:0;
	width:100%;
	padding:0;
}
}
.fitem {
	font-size: 12px!important;
	margin: -5px 0;
	color:#fff;
}

.side-1,.side-2,.side-3 {
	position: fixed;
	right: 0;
	z-index: 999;
}
.side-1 { top:270px; }
.side-2 { top:360px; }
.side-3 { top:450px; }

@media screen and (max-width:576px){
.side-1,.side-2,.side-3 { display: none; }
}

/*================== reserve ==================*/

.res { overflow: hidden; }
.res::before {
	position: fixed;
	content: "";
	width: 100vw;
	height: 100vh;
	top: 0;
	left: 0;
	z-index: -1;
	background:url("../img/top/res.webp")no-repeat center center / cover ;
}

.btn-reserve { 
	display: block;
	border: 1px solid #fff;
	color: #fff;
	background-color:rgba(255,255,255,0.30);
	width: 100%;
	height: 100%;
}
.btn-reserve:hover{
	background-color:rgba(255,255,255,0.15);
}

/*================== header ==================*/

header {
	margin-bottom: 0;
	width: 100%;
	position: fixed;
	height:80px;
	top: 0;
	z-index: 999999!important;
	font-family: 'Shippori Mincho', serif!important;
	font-weight: bold!important;
	background: #fff!important;
	box-shadow: 0 2px 10px 0 rgba(45,45,45,0.36)!important;
}

@media screen and (max-width:1024px){
header { height: 70px; }
}

@media screen and (max-width:768px){	
header { height: 66px!important; box-shadow: 0 2px 10px 0 rgba(45,45,45,0.36)!important; }
}

/*================== bxslider ==================*/

.slider {
	position: relative;
	max-width: 100%;
	margin:0 auto;
	padding:60px 0 0;
}

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

.main { background: url("../img/top/flower-l.png") no-repeat left top / 25% , url("../img/top/flower-r.png") no-repeat right bottom / 25% ,  #f0f1df; }

@media screen and (max-width: 991px) {
.main { background: url("../img/top/flower-l.png") no-repeat left top / contain ,  #f0f1df; }
}

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

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

.about { background: url("../img/top/arrow.png") no-repeat center top / auto,url("../img/top/bg1-2.webp") no-repeat center bottom / cover; }

/*================== Comparison ==================*/

.bor-b1 { border: 12px solid #c3bc79; }
.bor-b2 { border: 12px solid #aa921b; }

ul.listst {
	margin: 0;
	padding-left: 20px;
}
ul.listst li {
	margin-bottom: 5px;
	font-size: 14px;
	font-family: 'Noto Sans JP', sans-serif!important;
}
ul.listst li:last-child { margin-bottom: 0px; }

@media screen and (max-width: 991px) {
ul.listst li { font-size: 13px; }
}

/*================== reason ==================*/

.reason {
	overflow: hidden;
	background: #F3F0D5;
	background: url("../img/top/sun-r.png") no-repeat top right / 35% , linear-gradient(90deg, rgba(243, 240, 213, 1) 25%, rgba(255, 255, 255, 1) 25%) ;
}
@media screen and (max-width:991px){
.reason { background: url("../img/top/sun-r.png") no-repeat top right / 60% , linear-gradient(90deg, rgba(243, 240, 213, 1) 20%, rgba(255, 255, 255, 1) 20%) ; }
}

.rea-num {
	position: absolute;
	top: -21px;
	width: 280px;
	left: 0;
	right: 0;
	margin: auto;
	z-index: 2;
}
@media screen and (max-width:480px){
.rea-num {
	position: absolute;
	top: -15px;
	width: 200px;
	left: 0;
	right: 0;
	margin: auto;
}	
}

.rea-ti {
	margin: 0.5em 0 1.5em;
	padding: 0;
	font-weight: 600;
	color: #493f24;
	letter-spacing: .05em;
	line-height: 1.5;
	position: relative;
	z-index: 1;
}
@media screen and (max-width: 991px) {
.rea-ti { margin: 1em 0 1.5em; }
}
@media screen and (max-width: 768px) {
.rea-ti { margin: 0 0 1.5em; }
}

.rea1 , .rea2 , .rea3 , .rea4 , .rea5 {
	position: relative;
}
.rea1::before , .rea2::before , .rea3::before , .rea4::before , .rea5::before {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	right: -45vw;
}

.rea1::before { background: url("../img/top/po1.png") no-repeat center center/ cover; }
.rea2::before { background: url("../img/top/po2.png") no-repeat center center/ cover; }
.rea3::before { background: url("../img/top/po3.png") no-repeat center center/ cover; }
.rea4::before { background: url("../img/top/po4.png") no-repeat center center/ cover; }
.rea5::before { background: url("../img/top/po5.png") no-repeat center center/ cover; }

@media screen and (max-width: 768px) {
.rea1::before , .rea2::before , .rea3::before , .rea4::before , .rea5::before {	width: 0; right: 0; }
}

/*================== guide ==================*/

.guide { background: url("../img/top/bgg.png") no-repeat right top / contain , #493f24; }

@media screen and (max-width:480px){
.guide { background: url("../img/top/bgg.png") no-repeat right top / 100% , #493f24; }
}

/*================== bone ==================*/

.bone { background:url("../img/top/bone.png") no-repeat top right -20% / 50% , #353535; }

@media screen and (max-width:480px){
.bone { background:url("../img/top/bone.png") no-repeat center top / 130% , #353535; }
}

.tshadow { text-shadow:0 0 10px #000,0 0 10px #000,0 0 10px #000; }

/*================== flow ==================*/

.flow {
	overflow: hidden;
	background: url("../img/top/check.jpg") center center / 70px ;
}
.flowin { background: linear-gradient(90deg, #aa921b 0%, #aa921b 200px, rgba(220,210,203,0) 200px); }

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

.List-Item-Content {
	position: relative;
	align-items: center;
	z-index: 1;
}
@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); }
}

/*================== case ==================*/

.case {	background: url("../img/top/flower-l.png") no-repeat left top , url("../img/top/flower-r.png") no-repeat right bottom , rgba(73,63,36,0.85); }

@media screen and (max-width:1100px){
.case {	background: url("../img/top/flower-l.png") no-repeat left top / 45% , url("../img/top/flower-r.png") no-repeat right bottom / 45% , rgba(73,63,36,0.85); }
}
@media screen and (max-width:580px){
.case {	background: url("../img/top/flower-l.png") no-repeat left top / 70% , url("../img/top/flower-r.png") no-repeat right bottom / 70% , rgba(73,63,36,0.85); }
}

.triangle-down {
	width: 0;
	height: 0;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-top: 6px solid #d3d1a1;
	margin: 6px auto;
}

.cp_actab {
	position: relative;
	overflow: hidden;
	width: 100%;
	margin: 0 auto 10px;
	color: #ffffff;
}
.cp_actab input {
	position: absolute;
	z-index: -1;
	opacity: 0;
}
.cp_actab label {
	line-height: 2;
	position: relative;
	display: block;
	padding: 1em 3em 1em 1em;
	cursor: pointer;
	margin: 0 0 1px 0;
}
.cp_actab .cp_actab-content {
	margin:0!important;
	overflow: hidden;
	max-height: 0;
	-webkit-transition: max-height 0.35s;
	transition: max-height 0.35s;
	color: #333333;
	background: #FFFFFF;
}
.cp_actab .cp_actab-content p {	margin: 1em; }

.cp_actab input:checked ~ .cp_actab-content { max-height: 150em; }

.cp_actab label::after {
	line-height: 4;
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	width: 4em;
	height: 4em;
	-webkit-transition: all 0.35s;
	transition: all 0.35s;
	text-align: center;
}
.cp_actab input[type=checkbox] + label::after {	content: '+'; }
.cp_actab input[type=checkbox]:checked + label::after {	transform: rotate(315deg); }

/*================== price ==================*/

table.price {
	font-size: 0.9125rem;
	margin:0;
	width:100%;
    border-collapse:separate;
    border-spacing:4px;
    empty-cells:show;
}
.price th {
	font-weight: 500;
    padding: 15px 10px;
	vertical-align: middle;
	text-align: center;
}
.price td {
	font-weight: normal;
    padding: 15px 10px;
	vertical-align: middle;
	letter-spacing: .05rem;
}

@media screen and (max-width: 1100px) {
table.price { font-size: 0.8625rem; }
}

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

/*================== doctor ==================*/

.doc {
	position: relative;
	width: 100%;
	margin: 0 auto;
	background: url("../img/top/flower-r.png") no-repeat right bottom  , url("../img/top/bg1-2.webp") no-repeat center / cover;
	z-index: 0!important;
}
@media screen and (max-width:991px){
.doc { background: url("../img/top/flower-r.png") no-repeat right bottom / 70%  , url("../img/top/bg1-2.webp") no-repeat center / cover; }
}

/*================== infinitslide ==================*/

#pic {
	position: relative;
	clear:both;
	margin:0;
	padding:0;
	width:100%;
}

#pict {
	position: absolute;
	top:-1px;
	left: 0;
	right: 0;
	margin: auto;
	z-index: 1;
	background-color:#172148;
	clip-path: ellipse(150px 50px at top);
	max-width:400px; 
	padding:10px 20px;
	color: #fff;
}

#pic ul,#pic li {
	float:left;
	list-style: none;
	margin: 0;
	padding:0;
}
#pic li img {
	max-width: 400px!important;
	height: 300px!important;
}

/*================== access ==================*/ 

.time {
	width: 100%;
	margin: 0 auto 10px;
}
.time th {
	padding:10px 2px;
	word-break: break-all;
	font-weight: 500;
	text-align: center;
	white-space: nowrap;
	font-size: 15px!important;
	color:#fff;
}
.time td {
	padding:10px 4px;
	word-break: break-all;
	font-weight: bold!important;
	text-align: center;
	font-size: 15px!important;
	border-bottom: 1px solid #978a69;
	color: #493f24;
}
@media only screen and (max-width: 991px) {
.time th , .time td { font-size: 13px!important;}
}

/*================== st ==================*/

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

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

.st2 {
    position: relative;
    text-align: center;
    color: #fff;
    letter-spacing:0.1em;
	padding:15px;
	background-color:rgba(255,255,255,0.2);
	font-weight: 500;
	border: #fff solid 1px;
}

.st2::before {
	position: absolute;
	content: "";
	width: calc(100% - 10px);
	height: calc(100% - 10px);
	border: #fff solid 1px;
	top: 0;
	bottom:0;
	right: 0;
	left: 0;
	margin:auto ;
}

/*================== stf ==================*/

.stf1 {
	position: relative;
	padding: 10px;
	margin-bottom: 1em;
	color: #fff;
	text-align: center;
}
.stf1::before {
	position: absolute;
	content:"";
	top: 97%;
	left: 50%;
	transform: translateX(-50%);
	border: 14px solid transparent;
}

.stf1-c1 { background: #493f24; }
.stf1-c1::before { border-top: 12px solid #493f24; }
.stf1-c2 { background: #aa921b; }
.stf1-c2::before { border-top: 12px solid #aa921b; }
.stf1-c3 { background: #978a69; }
.stf1-c3::before { border-top: 12px solid #978a69; }

/*================== table ==================*/

table.com {
	margin:0 auto;
	width:100%;
	border-collapse:collapse;
	border-spacing:0;
	background-color:#fff;
	empty-cells:show;
	border-top:solid 1px #d3d1a1;
	border-left:solid 1px #d3d1a1;
	font-family: 'Noto Sans JP', sans-serif!important;
}
.com th {
	font-size: 14px;
	letter-spacing:1px;
    padding: 15px 10px;
	border-bottom:solid 1px #d3d1a1;
	border-right:solid 1px #d3d1a1;
	color:#333;
	background-color: #F8F7EB;
	vertical-align: middle;
	font-weight: 500;
	text-align: center;
}
.com td {
	font-size: 14px;
	color:#333;
    padding: 15px 10px;
	background-color:#fff;
	border-bottom:solid 1px #d3d1a1;
	border-right:solid 1px #d3d1a1;
	vertical-align: middle;
	font-weight: 500;
	letter-spacing: .05rem;
}
@media screen and (max-width:480px){
.com th , .com td {
	width:100%;
	display:block;
	padding:10px;
	font-size:13px;
	text-align: center;
}
.com td li {
	text-align: left;
	letter-spacing: 0rem;
}
}

table.comno {
	font-size: 14px;
	margin:0;
	padding: 4px;
	width:100%;
    border-collapse:separate;
    border-spacing:4px;
    empty-cells:show;
}
.comno th,.comno td {
	font-weight: normal;
    padding:10px;
}

table.com2 {
	font-size: 14px;
	margin:0;
	padding: 0;
	width:100%;
    border-collapse:collapse;
    border-spacing:0;
    empty-cells:show;
	border-top: solid 1px #ccc;
	border-left: solid 1px #ccc;
}
.com2 th,.com2 td {
	font-weight: normal;
    padding:10px;
	border-bottom: solid 1px #ccc;
	border-right: solid 1px #ccc;
}

table.com2no {
	font-size: 14px;
	margin:0;
	padding: 4px;
	width:100%;
    border-collapse:collapse;
    border-spacing:0;
    empty-cells:show;
	border-top: solid 1px #ccc;
	border-left: solid 1px #ccc;
}
.com2no th,.com2no td {
	font-weight: normal;
    padding:10px;
	border-bottom: solid 1px #ccc;
	border-right: solid 1px #ccc;
}

@media screen and (max-width: 480px) {
.com2 td,.com2 th {
	width: 100%;
	display: block;
	padding: 10px;
}	
}




