@charset "utf-8";

body{
	margin:0px;
	padding:0px;
	color: #333;
	background-repeat: repeat;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 500;
}
a:hover img,a:hover{
 opacity:.5;
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
	color: inherit;
 }

p,a{line-height: 2;letter-spacing: 0.05em;font-family: 'Zen Kaku Gothic New', sans-serif;color: #333;font-weight: 500;}

@media screen and (max-width:576px){
	p,a,li{font-size: 0.875em;}
}

h1,h2,h3,h4,h5,h6{color: #333;font-family: 'Zen Kaku Gothic New', sans-serif;}

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

ul.lidisc{padding: 0 0 0 20px;margin: 0;}
ul.lidisc li{list-style: disc;margin: 0 0 5px;font-family: 'Zen Kaku Gothic New', sans-serif!important;}
.fontg1{font-family: 'Zen Kaku Gothic New', sans-serif!important;}
.fontg2{font-family: "Shippori Mincho", serif!important;}
.fontg3{font-family: "Oooh Baby", cursive!important;}
.marker{
  background: linear-gradient(transparent 70%, rgba(255,238,131,0.80) 70%);
}

.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;
}
.fljcenter{
  justify-content: center;
}
.fljbet{
  justify-content: space-between;
}

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

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

header {
	margin-bottom: 0;
	width: 100%;
	position: fixed;
	top: 0;
	z-index: 9999;
	font-weight: 600!important;
	font-family: 'Zen Kaku Gothic New', sans-serif!important;
}

.hbg{
	background: #fff;
	box-shadow: 0 2px 10px 0 rgba(45,45,45,0.36);
	transition: 0.3s;
}

.logo{
	width: 600px;
	text-align: left;
	padding-left: 10px;
}

.reseve{
	padding:20px 10px;
	width: 200px;
	background-color: #bcacad;
	text-align: center;
}
.reseve:hover{
	transition: .5s;
}
.reseve a,.reseve a:hover{
	display: flex;
	flex-direction: column;
	color: #fff!important;
	height:100%;
	line-height: 30px;
	font-size: 20px;
}
.htel{
	display: flex;
	padding:20px 10px;
	width: 260px;
	background-color: #878585;
	text-align: center;
}
.htel:hover{
	transition: .5s;
}
.htel a,.htel a:hover{
	display: flex;
	flex-direction: column;
	color: #fff!important;
	height:100%;
	line-height: 30px;
	font-size: 22px;
}

@media only screen and (max-width: 1400px) {
.logo{
	width: 300px;
	text-align: left;
	padding-left: 10px;
}
}

@media only screen and (max-width: 1300px) {
.htel{
	padding:25px 10px;
	width: 240px;
}
.reseve{
	padding:25px 10px;
	width: 200px;
}
.htel a,.reseve a{
	font-size: 20px;
}
}

@media screen and (max-width:1200px){
header {
	margin-bottom: 0;
	width: 100%;
	height: 60px;
}
.logo{
	width: calc(100% - 400px);
	padding-left: 10px;
}
.logo img{
	width: 280px;
}
.htel{
	padding:15px 0;
	width: 200px;
}
.reseve{
	padding:15px 0;
	width: 150px;
	margin: 0 60px 0 0;
}
.htel a,.reseve a{
	display: block;
	font-size: 20px;
}
}
@media screen and (max-width:576px){	
header {
	padding: 5px 0;
}
.logo{
	width: 100%;
	padding-left: 10px;
}
.logo img{
	width: 200px;
}
.reseve{display: none;}
.htel{display: none;}
}

/*==================slide==================*/

#slider-area{
	position: relative;
	z-index: 0;
    width:100%;
    height: 50vw;
	overflow: hidden;
	background-color: #fff;
}

#slider-area #slider{
	position: relative;
	z-index: 0;
    width:100%;
    height: 50vw;
	overflow: hidden;
}

@media screen and (max-width:991px){
#slider-area{
    height: 156.25vw;
}
#slider-area #slider{
    height:156.25vw;
}
}


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

.main{
	position: relative;
	background-image:linear-gradient(-35deg,rgba(188,172,173,0.10) 0%, rgba(188,172,173, 0.1) 62%, rgba(188,172,173, 0) 62%), linear-gradient(30deg,rgba(188,172,173, 0.1) 0%, rgba(188,172,173, 0.1) 45%, rgba(188,172,173, 0) 45%),url("../img/top/messbg.webp");
	background-repeat: no-repeat;
	background-position:bottom,bottom,top left -10%;
	background-size: 100%,100%,30%;
	z-index: 2;
}

.merit{
	position: relative;
	border-radius: 0 80px 0 0;
}

.meritimg{
	border-radius: 0 70px 0 0;
}

.meritn{
	position: absolute;
	top:-1.15em;
	left:0;
	color:#bcacad;
}

@media screen and (max-width:991px){
.main{
	background-image:linear-gradient(-70deg,rgba(188,172,173,0.10) 0%, rgba(188,172,173, 0.1) 65%, rgba(188,172,173, 0) 65%), linear-gradient(50deg,rgba(188,172,173, 0.1) 0%, rgba(188,172,173, 0.1) 50%, rgba(188,172,173, 0) 50%),url("../img/top/messbg.webp");
	background-repeat: no-repeat;
	background-position:bottom,bottom,top -60px left -20%;
	background-size: 100%,100%,50%;
}
}

@media screen and (max-width:576px){
.main{
	background-image:linear-gradient(-70deg,rgba(188,172,173,0.10) 0%, rgba(188,172,173, 0.1) 65%, rgba(188,172,173, 0) 65%), linear-gradient(50deg,rgba(188,172,173, 0.1) 0%, rgba(188,172,173, 0.1) 50%, rgba(188,172,173, 0) 50%),url("../img/top/messbg.webp");
	background-repeat: no-repeat;
	background-position:bottom,bottom,top -60px left -20%;
	background-size: 100%,100%,70%;
}
}

/*==================service==================*/

.serv{
	position: relative;
	display: block;
	background-color: #fff;
	padding: 10px;
	clip-path: polygon(0% 0%, 100% 0, 100% calc(100% - 20px), calc(100% - 20px) 100%, 0% 100%);
	z-index: 1;
}
.serv::after{
	content: "";
	position: absolute;
	bottom: -1px;
	right: -1px;
	width:0 ;
	height: 0;
	border-style: solid;
	border-width: 20px 20px 0 0;
	border-color:#BFBCBC transparent transparent transparent;
	z-index: 1;
}


/*==================child==================*/

.child{
	position: relative;
	z-index: 1;
}
.child::after{
	content: "";
	position: absolute;
	top:-200px;
	left: -200px;
	width: 800px;
	height: 800px;
	background-image: url("../img/top/chibgw1.webp");
	background-repeat: no-repeat;
	background-size: contain;
	z-index: -1;
}

.childt{
	position: relative;
	color:#fff;
}

@media screen and (max-width:1200px){
.child::after{
	left: -160px;
	width: 600px;
	height: 600px;
	background-image: url("../img/top/chibgw1.webp");
}
}

@media screen and (max-width:991px){
.child::after{
	top:600px;
	left: -160px;
	width: 600px;
	height: 600px;
	background-image: url("../img/top/chibgw1.webp");
}
}

@media screen and (max-width:576px){
.child::after{
	bottom:0;
	top:inherit;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url("../img/top/chibgw1.webp");
	background-position: bottom -140px right -140px;
	background-size: 450px;
}
}

.kobito{
	position: relative;
}

.kobitot{
	position: relative;
	display: inline-block;
	padding: 20px;
	color:#fff;
}
.kobitot::before{
	content: "";
	position: absolute;
	width: 1200px;
	height: 100%;
	top:0;
	left: 0;
	background-color: #bcacad;
	z-index: -1;
}
@media screen and (max-width:991px){
.kobitot::before{
	left: inherit;
	right: 0;
}
}


/*==================point==================*/

.pointbg{
	position: relative;
	background-image:linear-gradient(-25deg,rgba(238,238,238,0.00) 90%, rgba(238,238,238, 0.4) 90%, rgba(238,238,238, 0.4) 100%), linear-gradient(25deg,rgba(238,238,238, 0) 90%, rgba(238,238,238, 0.4) 90%, rgba(238,238,238, 0.4) 100%);
	background-position: top;
	background-repeat: no-repeat;
	z-index: 2;
}

.pointt{
	position: relative;
	z-index: 1;
	color:#333;
	padding: 0 0 0.2em;
	border-bottom: 1px solid #bcacad;
}
.pointt::before{
	content: attr(data-text);
	position: absolute;
	bottom: 0.2em;
	left: -0.3em;
	font-size: 3em;
	line-height: 1;
	color:rgba(255,255,255,1);
	z-index: -1;
}
.pointt::after{
	content: "";
	position: absolute;
	font-size: 10px;
	left: -5px;
	bottom:-5px;
	width: 10px;
	height: 10px;
	background:#bcacad;
	border-radius: 20px;
}

.pointtxt1,.pointtxt2,.pointtxt3{
	position: relative;
	z-index: 1;
}
.pointtxt1::before,.pointtxt2::before,.pointtxt3::before{
	content: "";
	position: absolute;
	bottom: 0;
	width: 100vw;
	height: 100%;
	background: #F3F0EF;
	z-index: -1;
}
.pointtxt1::before,.pointtxt3::before{left: -40vw;}
.pointtxt2::before{right: -40vw;}
.pointtxt1::after{
	left: -40%;
	background-image: url("../img/top/pointbg1.webp");
	background-position:bottom right;
}
.pointtxt2::after{
	right: -40%;
	background-image: url("../img/top/pointbg2.webp");
	background-position:bottom left;
}
.pointtxt3::after{
	left: -40%;
	background-image: url("../img/top/pointbg3.webp");
	background-position:bottom right;
}
.pointtxt1::after,.pointtxt2::after,.pointtxt3::after{
	content: "";
	position: absolute;
	top: 0;
	width: 400px;
	height: 100%;
	background-repeat: no-repeat;
	background-size: contain;
	z-index: -1;
}
@media screen and (max-width:991px){
.pointbg{
	background-image:linear-gradient(-25deg,rgba(238,238,238,0.00) 97%, rgba(238,238,238, 0.4) 97%, rgba(238,238,238, 0.4) 100%), linear-gradient(25deg,rgba(238,238,238, 0) 97%, rgba(238,238,238, 0.4) 97%, rgba(238,238,238, 0.4) 100%);
}
.pointtxt1::before,.pointtxt2::before,.pointtxt3::before{
	width: 150vw;
	height: calc(100% + 100px);
}
.pointtxt1::before,.pointtxt3::before{left: -50vw;}
.pointtxt2::before{right: -50vw;}
.pointtxt2::after{
	right: inherit;
	left: -40%;
}
}
@media screen and (max-width:576px){
.pointbg{
	background-image:linear-gradient(-25deg,rgba(238,238,238,0.00) 98%, rgba(238,238,238, 0.4) 98%, rgba(238,238,238, 0.4) 100%), linear-gradient(25deg,rgba(238,238,238, 0) 98%, rgba(238,238,238, 0.4) 98%, rgba(238,238,238, 0.4) 100%);
}
.pointtxt1::after{
	left: inherit;
	right: -40%;
	width:100%!important;
	background-image: url("../img/top/pointbg1.webp");
	background-position:bottom right;
}
.pointtxt2::after{
	left: inherit;
	right: -30%;
	width:100%!important;
	background-image: url("../img/top/pointbg2.webp");
	background-position:bottom right!important;
}
.pointtxt3::after{
	left: inherit;
	right: -40%;
	width:100%!important;
	background-image: url("../img/top/pointbg3.webp");
	background-position:bottom right;
}
}

/*==================clinic==================*/

.clinic{
	position: relative;
	z-index: 2;
}

.infiniteslide ul{
	margin: 0;
	padding: 0;
}
.infiniteslide li{
	list-style: none;
	float: left;
	margin: 0;
}

@media screen and (max-width:576px){
.clinicb{
	bottom:calc(100% - 120px) ;
}
}


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

#footel{
	position: relative;
	padding:10px 0;
	margin:0;
	width:100%;
	font-weight:normal;
	background: #bcacad;
	text-align: center;
}


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

/*==================back top==================*/

.back-to-top {
  position: fixed;
	z-index: 99;
  right: 20px;
  bottom: 20px;
  display: block;
  width: 3rem;
  height: 3rem;
  background: #5F5341;
  text-align: center;
  transition-duration: 300ms;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

.back-to-top:before {
  display: block;
  font-size: 0.75rem;
  font-style: normal;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
  color: #fff!important;
  line-height: 3rem;
  content: '\f062';
  transition-duration: 300ms;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

@media (max-width: 766px) {
.back-to-top {
  position: relative;
	width: 100%;
  right: 0;
  height: 100%;
	bottom: 0!important;
	opacity: 1!important;
	border-radius: 0;
	}
.back-to-top:before {
	position: absolute;
  display: block;
  font-size: 0.75rem;
  font-style: normal;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
  color: #fff;
  line-height: 0;
  content: '\f062';
  transition-duration: 300ms;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
    top:50%;
    left:50%;
    transform: translate(-50%,-50%);
}
}


/*==================info==================*/ 
#info{
	background:#fff;
}

.time {
	width: 100%;
	margin: 0 auto 10px;
}
.time th {
	padding:10px 4px;
	word-break: break-all;
	font-weight: normal;
	white-space: nowrap;
	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;
}

/*==================link==================*/

.link{
	background-color: #5F5341;
	background-image:url("../img/top/linkbg.webp");
	background-repeat: repeat;
	background-size: 100px;
}


.st{
	display: inline-block;
	position: relative;
	color:#fff;
	z-index: 1;
	padding: 1em;
}
.st::before{
	content: "";
	position: absolute;
	top:0;
	left: 0;
	background-color: #8FB1C6;
	width: 100vw;
	height: 100%;
	z-index: -1;
}
.st::after{
	content: "";
	position: absolute;
	bottom:-20px;
	right: 0;
	background-color: #C5D3DC;
	width: 100vw;
	height: 100%;
	z-index: -2;
}
@media screen and (max-width:480px){
.st::after{
	bottom:-60px;
}
}

.st2{
  position: relative;
  border-top: 1px solid rgba(255,255,255,0.6);
  border-bottom: 1px solid rgba(255,255,255,0.6);
	padding: 10px 0;
	letter-spacing: 0.1em;
}

.st2:before {
  position: absolute;
  top: -5px;
  left: 0px;
  width: 100%;
  height: calc(100% + 10px);
  content: '';
  border-top: 2px solid rgba(255,255,255,0.6);
  border-bottom: 2px solid rgba(255,255,255,0.6);
}

.st2-2{
  position: relative;
  border-top: 1px solid rgba(255,255,255,1);
  border-bottom: 1px solid rgba(255,255,255,1);
	padding: 10px 0;
	letter-spacing: 0.1em;
}

.st2-2:before {
  position: absolute;
  top: -5px;
  left: 0px;
  width: 100%;
  height: calc(100% + 10px);
  content: '';
  border-top: 2px solid rgba(255,255,255,1);
  border-bottom: 2px solid rgba(255,255,255,1);
}

.bg-color-primary-light .st2{
  background: #fff;
}

.st3{
	position: relative;
	z-index: 1;
	padding: 0.2em 0.5em;
	text-align: center;
	color: #A59899;
}
.st3::before{
  content: "";
  position: absolute;
	height: 1px;
	width: 100%;
  bottom: -5px;
	left: 0;
	background-color: #B3A2A4;
}
.st3::after{
  content: "";
  position: absolute;
  top: calc(100% + 4px);
  left: 50%;
  margin-left: -14px;
  border: 14px solid transparent;
  border-top: 14px solid #B3A2A4;
}

.st4{
	position: relative;
	padding: 0.5em 0.7em 0.3em;
	border-left: 4px solid #837C73;
	border-top: 1px solid #837C73;
	border-bottom: 1px solid #837C73;
}
.st4::before{
	content: "";
	position: absolute;
	left: -4px;
	top:-7px;
	width: calc(100% + 9px);
	height: calc(100% + 14px);
	pointer-events: none;
	border-right: 1px solid #837C73;
	border-top: 1px solid #837C73;
	border-bottom: 1px solid #837C73;
}

.st5{
	width: 100%;
	position: relative;
	border-bottom: 4px double #9E9E9E;
	border-top: 4px double #9E9E9E;
	padding: 5px;
	text-align: center;
	z-index: 1;
	line-height: 1.5;
}

.st6 {
  position: relative;
	padding: 0 0 0 20px;
}
.st6::after{
	content: "";
  position: absolute;
	top:0;
	left: 0;
	width: 2px;
	height: 100%;
	background-color: #ccc;
}



.stf{
    position: relative;
    padding: 0.5em 0.7em;
	letter-spacing: 0.1em;
	line-height: 1.5;
	color: #fff;
	z-index: 1;
}
.stf:before{
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 1.5em 1.4em 1.5em 1.4em;
	position: absolute;
	bottom:-2em;
	left: 1em;
	margin: auto;
	z-index: -1;
}

.stfc1{background-color: #B7AC91;}.stfc1:before{border-color:  #B7AC91 transparent transparent transparent;}
.stfc2{background-color: #837C73;}.stfc2:before{border-color:  #837C73 transparent transparent transparent;}
.stfc3{background-color: #5F5341;}.stfc3:before{border-color:  #5F5341 transparent transparent transparent;}
.stfc4{background-color: #CB9C9C;}.stfc4:before{border-color:  #CB9C9C transparent transparent transparent;}

.sttip{
	position: relative;
	margin: -2em 0.5em 0.5em;
	background-color: #fff;
	border: 2px solid #A28A60;
	padding: 10px 20px 15px;
	font-family: 'Kosugi Maru', sans-serif;
	border-radius: 0 5px 20px 20px;
}
.sttip::before {
  position: absolute;
  content: '';
  top: -2px;
  left: -12px;
  border: none;
  border-top: solid 1.2em transparent;
  border-right: solid 10px #A28A60;
}
@media only screen and (max-width: 480px) {
.sttip{
	position: relative;
	margin: 0 0 0.8em -1.7em;
	background-color: #fff;
	border: 2px solid #A28A60;
	padding: 0.8em 0.8em 0.8em 1.2em;
	font-size: 20px;
	border-radius: 0 20px 20px 0;
}
.sttip::before {
  position: absolute;
  content: '';
  top: 100%;
  left: -0.1em;
  border: none;
  border-bottom: solid 1em transparent;
  border-right: solid 0.7em #A28A60;
}
}

.btndeco {
	display: block;
	position: relative;
	z-index: 1;
}
.btndeco::after{
	content: "";
	position: absolute;
	bottom: 10px;
	right: 10px;
	width:0 ;
	height: 0;
	border-style: solid;
	border-width: 0 0 12px 12px;
	border-color:transparent transparent #fff transparent;
	z-index: 1;
}
.btndeco::before{
	content: "";
	position: absolute;
	top:5px;
	left: 5px;
	width: calc(100% - 10px);
	height: calc(100% - 10px);
	border: #fff solid 1px;
}

table.com{
	margin:0;
	padding: 4px;
	width:100%;
    border-collapse:separate;
	border-spacing:4px;
	empty-cells:show;
	font-family: 'Zen Kaku Gothic New', sans-serif!important;
}
.com th,.com td{
	font-weight: 500;
    padding:10px;
}
.com th{
	text-align: center;
}

table.comno{
	margin:0;
	padding: 4px;
	width:100%;
    border-collapse:separate;
    border-spacing:4px;
    empty-cells:show;
	font-family: 'Zen Kaku Gothic New', sans-serif!important;
}
.comno th,.comno td{
	font-weight: 500;
    padding:10px;
}

table.com2{
	margin:0;
	padding: 4px;
	width:100%;
    border-collapse:collapse;
    border-spacing:0;
    empty-cells:show;
	border-top: solid 1px #D8D8D8;
	border-left: solid 1px #D8D8D8;
	font-family: 'Zen Kaku Gothic New', sans-serif!important;
}
.com2 th,.com2 td{
	font-size: 16px;
	font-weight: 500;
    padding:10px;
	border-bottom: solid 1px #D8D8D8;
	border-right: solid 1px #D8D8D8;
}

table.com2no{
	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;
	font-family: 'Zen Kaku Gothic New', sans-serif!important;
}
.com2no th,.com2no td{
	font-weight: 500;
    padding:10px;
	border-bottom: solid 1px #ccc;
	border-right: solid 1px #ccc;
}

table.com4{
	margin:0 auto;
	padding: 4px;
	width:100%;
    border-collapse:collapse;
    border-spacing:0;
    empty-cells:show;
	border-top: solid 1px #ccc;
	border-left: solid 1px #ccc;
	border-bottom: solid 1px #ccc;
}
.com4 th{
	font-size: 12px;
	letter-spacing: 1px;
    padding:5px;
    text-align:center;
	border-bottom: solid 1px #ccc;
	border-right: solid 1px #ccc;
	color: #333;
	font-weight: 500;
}
.com4 tr:last-child th {
  border-bottom: 1px solid #ccc; }
.com4 td{
	font-size: 12px;
	color: #333; 
  padding: 5px;
	border-bottom: solid 1px #ccc;
	border-right: solid 1px #ccc;
}
.com4 li{
	font-size: 12px;
	color: #333; 
	font-weight: 400;
}
.com4 ul{
	padding:0 0 0 20px;
}

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

.listimg{width: 50%;height: 100%;}
.listr{
    background: -moz-linear-gradient(0deg, rgba(228,236,241,1.00)0%, rgba(228,236,241,0)40%);
    background: -webkit-linear-gradient(0deg, rgba(228,236,241,1)0%, rgba(228,236,241,0)40%);
    background: linear-gradient(90deg, rgba(228,236,241,1)0%, rgba(228,236,241,0)40%);
}
.listl{
    background: -moz-linear-gradient(180deg, rgba(252,250,243,1.00)0%, rgba(252,250,243, 0)40%);
    background: -webkit-linear-gradient(180deg, rgba(252,250,243, 1)0%, rgba(252,250,243, 0)40%);
    background: linear-gradient(-90deg, rgba(252,250,243, 1)0%, rgba(252,250,243, 0)40%);
}

@media only screen and (max-width: 991px) {
.listimg{width: 100%;height: 450px;}
.listr{
    background: -moz-linear-gradient(90deg, rgba(228,236,241,)0%, rgba(228,236,241,0)40%);
    background: -webkit-linear-gradient(90deg, rgba(228,236,241,1)0%, rgba(228,236,241,0)40%);
    background: linear-gradient(0deg, rgba(228,236,241,1)0%, rgba(228,236,241,0)40%);
}
.listl{
    background: -moz-linear-gradient(90deg, rgba(252,250,243, 1)0%, rgba(252,250,243, 0)40%);
    background: -webkit-linear-gradient(90deg, rgba(252,250,243, 1)0%, rgba(252,250,243, 0)40%);
    background: linear-gradient(0deg, rgba(252,250,243, 1)0%, rgba(252,250,243, 0)40%);
}
}

@media only screen and (max-width: 991px) {
.listimg{width: 100%;height: 250px;}
}
	
.infobox{
	position: relative;
	top:0;
	z-index: -1;
	margin: 0 20px;
	padding: 20px;
	border-radius: 0 0 20px 20px;
	background-color: #fff;
	overflow: hidden;
}

.infoboxt{
	position: relative;
	bottom:0;
	z-index: -1;
	margin: 0 20px;
	border-radius:20px 20px 0 0 ;
	padding: 10px 10px 20px;
	text-align: center;
	background-color: #fff;
}
.infoboxt span{
	position: relative;
	padding: 0 0 5px;
	background-color: #fff;
	color: #655144;
	border-bottom: 4px dotted #ccc0a2;
	font-weight: 600;
}


.infost{
  font-weight: 600;
  color: #fff;
  padding: 0.3em 1em calc(0.3em + 16px);
  position: relative;
	border-radius: 0 0 20px 20px;
	text-align: center;
}
.infost::after {
  content: '';
  background-color: #fff;
  width: 100%;
  height: 4px;
  position: absolute;
  bottom: 16px;
  left: 0;
}

.eqst{
	position: relative;
	z-index: 1;
	padding: 1em 0.5em;
	text-align: center;
}
.eqst::before{
  content: "";
  position: absolute;
	height: 100%;
	width: 100%;
  top: 0;
	left: 0;
	border-top:solid 2px #3fbde0;
	border-bottom:solid 2px #3fbde0;
}
.eqst::after{
  content: "";
  position: absolute;
	height: calc(100% - 8px);
	width: 100%;
  top: 4px;
	left: 0;
	border-top:dotted 2px #3fbde0;
	border-bottom:dotted 2px #3fbde0;
}

.list-box {
	position: relative;
	margin: 20px 0 0;
	width: 100%;
	height: 100%;
    background-color: rgba(255,255,255,1.00);
	box-shadow: -15px 15px 30px 0 rgba(100,100,100,0.3);
}

.list-box:before {
	top:10px;
	right: 10px;
	position: absolute;
	content: "";
	border: 6px dotted #D5EDFB;
	width: calc(100% - 20px);
	height: calc(100% - 20px);
	pointer-events: none;
}


.doc{
	position: relative;
	padding:0 20px 0 0;
	z-index: 1;
}
.doc::after{
	content: "";
	position: absolute;
	top:150px;
	left: 0;
	width:100%;
	height: calc(100% - 300px);
	border-radius: 50px;
	z-index: -1;
}
.doc::after{background-color: #73C0D6;}
@media screen and (max-width:1200px){
.doc{
	padding: 0;
}
.doc::after{
	top:160px;
	left:0;
	height: calc(100% - 140px);
	border-radius: 50% 50% 0 0 / 150px 150px 0 0;
}
}

.docgree {
  position: relative;
  background-image:
  linear-gradient(90deg, rgba(0,0,0,0.00) 0%, rgba(0, 0, 0, 0) 50%, #eaf6fd 0%, #eaf6fd 100%), linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 95%, rgba(198,198,198,1.00) 100%);
  background-size: 8px 100%,100% 2em;
}
.docgree2 {
  position: relative;
  background-image:
  linear-gradient(90deg, rgba(0,0,0,0.00) 0%, rgba(0, 0, 0, 0) 50%, #fff 0%, #fff 100%), linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 95%, rgba(198,198,198,1.00) 100%);
  background-size: 8px 100%,100% 2em;
}


.caselist{
	line-height:1.2;
	padding: 0 0 0 20px;
	margin: 0 0 -5px;
	list-style: circle;
}
.caselist li{
	margin: 0 0 5px;
}


.casebg{
	background: linear-gradient(180deg,rgba(247, 243, 237, 0) 0%, rgba(241,235,237,1.00) 50%, rgba(237, 245, 250, 1) 100%);
}

/* モーダル */

body.modal-open {
    overflow: hidden!important;
}

.modal {
  padding: 80px 20px 0;
}

.inner {
  width: min(100%, 1120px);
  margin: 0 auto;
  padding: 0 20px;
}

.modal_thumb {
  cursor: pointer;
	position: relative;
	height: 300px;
	overflow: hidden;
	z-index: 1;
}
.modal_thumb::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	background: linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 30%);
}

.open-btn {
	position: absolute;
	bottom: 20px;
	left: 10%;
	background-color: #3F3F3F;
	color: #fff;
	padding: 0.5em;
	font-size: 14px;
	width: 80%;
	border: none;
	cursor: pointer;
	transition: background-color 0.3s ease;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
	z-index: 3;
}

/* モーダル内のコンテンツ */
.modal {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100vh;
	background: rgba(79, 79, 79, 0.5);
	z-index: 99999;
	opacity: 0;
	overflow: hidden;
	transition: opacity 0.3s ease;
	pointer-events: none;
}

/* モーダル表示状態 */
.modal.active {
	display: block;
	opacity: 1;
	pointer-events: auto;
}

/* モーダルの中身*/
.modal-content {
	position: relative;
	top:0;
	background: #fff;
	padding:10px;
	margin: auto;
	max-width: 800px;
	height:calc(100vh - 120px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
	transition: all 0.3s ease;
	opacity: 0;
	overflow-y: scroll;
	border: none;
	border-radius: 0;
}

/* アニメーション*/
.modal.active .modal-content {
	animation: fadeInScale 0.4s ease forwards;
}

@keyframes fadeInScale {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

/* モーダルを閉じるボタン */
.close-btn {
  position: fixed;
  top: 100px;
  right:calc(50% - 360px);
  width: 44px;
  height: 44px;
  background: #3F3F3F;
  cursor: pointer;
  transition: opacity .6s;
	z-index: 99;
        border: none;
}
.close-btn:before,
.close-btn:after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 1px;
  background: #fff;
  content: '';
}
.close-btn:before {transform: translate(-50%, -50%) rotate(45deg);}
.close-btn:after {transform: translate(-50%, -50%) rotate(-45deg);}

@media only screen and (max-width:800px) {
.close-btn {
  right: 40px;
}
}

@media only screen and (max-width:576px) {
.modal_thumb {
	height: 200px;
}
.modal_thumb::before {
	background: linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 40%);
}
.modal {
  padding: 20px 10px 0;
}
.modal-content {
	height:calc(100vh - 100px);
}
.close-btn {
}
.close-btn {
	top: 30px;
  right: 20px;
  width: 36px;
  height: 36px;
  background: #3F3F3F;
  cursor: pointer;
  transition: opacity .6s;
	z-index: 99;
        border: none;
}
}

.flowbg{
	background-image: url("../img/top/flowbg.webp");
	background-repeat: repeat;
	background-size: 100px;
}

.flow,.flowe{
  position: relative;
	padding:0 0 20px 20px;
	margin: 0;
  border-bottom: 1px solid #b6afb1;
  border-left: 1px solid #b6afb1;
	z-index: 1;
}
.flow:before {
  position: absolute;
	margin: auto;
  bottom: -20px;
  left: 0em;
	right: 0;
  width: 0;
  height: 0;
  content: '';
  border-width: 20px 24px 0 24px;
  border-style: solid;
  border-color: #b6afb1 transparent transparent transparent;
	z-index: 1;
}

@media screen and (max-width:576px){
.flow,.flowe{
  position: relative;
	padding:0 0 20px 20px;
  border-bottom: 1px solid #b6afb1;
  border-left: 1px solid #b6afb1;
}
}

.kindst{
	display: inline-block;
	position: relative;
	border:solid 2px #fff;
	padding:20px 20px 40px; 
}
.kindst::before{
	content: "";
	position: absolute;
	bottom: 20px;
	left: -50vw;
	width: 200vw;
	height: 2px;
	background-color: #fff;
}

.res{
	background-image: url("../img/top/resbg.webp");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

.cerec{
	background-color: rgba(232,228,226,1.00);
	background-image: url("../img/top/cerecbg.webp");
	background-position: top -20% left -25%;
	background-repeat: no-repeat;
	background-size: 40%;
}

.cereci{
	border-right: 1px solid #B6B6B6;
}
@media screen and (max-width:1200px){
.cerec{
	background-image: url("../img/top/cerecbg.webp");
	background-position: top -25% right -40%;
	background-repeat: no-repeat;
	background-size: 65%;
}
}
@media screen and (max-width:991px){
.cerec{
	background-image: url("../img/top/cerecbg.webp");
	background-position: top -5% right -15%;
	background-repeat: no-repeat;
	background-size: 65%;
}
.cereci{
	border-right: none;
	border-bottom: 1px solid #B6B6B6;
}
}
@media screen and (max-width:576px){
.cerec{
	background-image: url("../img/top/cerecbg.webp");
	background-position: top -3% right -100%;
	background-repeat: no-repeat;
	background-size: 85%;
}
}

.price{
	position: relative;
	background-image:linear-gradient(-25deg,rgba(240,237,236,0.00) 80%, rgba(240,237,236, 0.4) 80%, rgba(240,237,236, 0.4) 100%), linear-gradient(25deg,rgba(240,237,236, 0) 80%, rgba(240,237,236, 0.4) 80%, rgba(240,237,236, 0.4) 100%);
	background-repeat: no-repeat;
	background-position: top;
	z-index: 2;
}
@media screen and (max-width:1200px){
.price{
	background-image:linear-gradient(-25deg,rgba(240,237,236,0.00) 85%, rgba(240,237,236, 0.4) 85%, rgba(240,237,236, 0.4) 100%), linear-gradient(25deg,rgba(240,237,236, 0) 85%, rgba(240,237,236, 0.4) 85%, rgba(240,237,236, 0.4) 100%);
}
}
@media screen and (max-width:991px){
.price{
	background-image:linear-gradient(-25deg,rgba(240,237,236,0.00) 92%, rgba(240,237,236, 0.4) 92%, rgba(240,237,236, 0.4) 100%), linear-gradient(25deg,rgba(240,237,236, 0) 92%, rgba(240,237,236, 0.4) 92%, rgba(240,237,236, 0.4) 100%);
}
}

.docname{
	position: absolute;
	padding: 20px;
	left: 0;
	bottom: 40px;
	background-color: rgba(131,119,115,0.8);
	color:#fff;
}
