@charset "utf-8";
body {
	margin:0px;
	padding:0px;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 0.95rem!important;
	color: #555!important;
}
@media (max-width: 1024px) {
body { font-size: 0.8875rem!important;}
}

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

a:hover { text-decoration: none!important; }

p { line-height: 1.7!important; letter-spacing: 0.05em; font-family: 'Noto Sans JP', sans-serif!important; color:#333; font-weight: normal;}

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

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

ul.lidisc , ol.lidisc { padding: 0 5px 0 40px;margin: 0; }
ul.lidisc li , ol.lidisc li {margin: 0 0 5px;font-family:'Noto Sans JP'!important;color:#555; font-weight: 500;font-size: 0.9125rem; }

ul.lidisc-in , ol.lidisc-in { padding: 0 5px 0 20px;margin: 0; }
ul.lidisc-in li , ol.lidisc-in li { margin: 0 0 5px; font-family: 'Noto Sans JP'!important;color:#555; font-weight: 500;font-size: 0.9125rem; }

@media (max-width: 1024px) {
ul.lidisc li , ul.lidisc-in li , ol.lidisc li , ol.lidisc-in li { font-size: 14px !important; }
}

.list-n {list-style: none!important;}

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

.txtshadow { text-shadow: rgba(29,29,29,0.58) 0 0 5px,rgba(29,29,29,0.58) 0 0 5px; }

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

#particles-js { 
	position:absolute;/*描画固定*/
	z-index:-1;/*描画を一番下に*/
	width: 100%;
	height: 100%;
}

/*================== other ==================*/

.dot-t { background: url("../img/top/dot-t.webp") repeat-x top -5px center ;} 
.dot-b { background: url("../img/top/dot-b.webp") no-repeat bottom center ;} 

.opa-3 {opacity: 0.2;}


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

.s-back-to-top {
  position: fixed;
	z-index: 9999;
  right: 0;
  bottom: 0;
  display: block;
  width: 3rem;
  height: 3rem;
  background:linear-gradient(90deg, rgba(141,195,32,1) 0%, rgba(1,176,235,1) 100%);
  text-align: center;
/*
  transition-duration: 300ms;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
*/
}

.s-back-to-top:before {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  font-family: themify;
  color: #fff!important;
  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: #ccc;
}

.s-back-to-top:hover:before {
  color: #fff;
}

.s-back-to-top:focus, .s-back-to-top:hover {
  text-decoration: none;
}

@media (max-width: 480px) {
.s-back-to-top , .s-back-to-top:before {
	bottom: 9.5vh;
	right:10px;
	width: 2.5rem;
	height: 2.5rem;
	background:linear-gradient(90deg, rgba(141,195,32,1) 0%, rgba(1,176,235,1) 100%);
	text-align: center;
}
.s-back-to-top:before {
	color: #fff!important;
	line-height: 2.5rem;
	content: "\e627";
}
}
/* The button becomes visible */
.s-back-to-top.-is-visible {
  bottom: 5.125rem;
  opacity: .8;
}

.s-back-to-top.-is-visible:hover {
  opacity: 1;
}

/* If the user keeps scrolling down, the button is out of focus and becomes less visible */
.s-back-to-top.-zoom-out {
  opacity: .6;
}

/*----------------------------------
  Button
------------------------------------*/

.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--white-brd {
	color: #fff;
	background: transparent;
	border-width: 0.0625rem;
	border-style: solid;
	border-color: #fff;
}

.s-btn--white-brd:focus, .s-btn--white-brd:hover {
	color: #222324;
	background: #fff;
	border-color: #fff;
}

.s-btn--white-bg {
	color: #666;
	background: rgba(255,255,255,0.95);
	border: 1px solid #ccc;
}

.s-btn--white-bg:focus, .s-btn--white-bg:hover {
	color: #464646;
	border: 1px solid #ccc;
	opacity: 0.5;
}

.s-btn--brown-bg {
	color: #2a2622;
	background: rgba(255,255,255,0.9);
	border: 1px solid #2a2622;
}

.s-btn--brown-bg:focus, .s-btn--brown-bg:hover {
	color: #fff;
	background: #2a2622;
	border: 1px solid #2a2622;
}

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

.s-btn--dark-bg:focus, .s-btn--dark-bg:hover {
	color: #fff;
	background: #bd9840;
	border-color: #bd9840;
}

.s-btn--dark-brd {
	color: #222324;
	background: transparent;
	border-width: 0.0625rem;
	border-style: solid;
	border-color: #222324;
}

.s-btn--dark-brd:focus, .s-btn--dark-brd:hover {
	color: #fff;
	background: #222324;
	border-color: #222324;
}

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

.s-btn--yellow-bg {
	color: #fff!important;
	background: #CBC14A;
	border-width: 0.0625rem;
	border-style: solid;
	border-color: #CBC14A;
	transition-duration: 300ms;
}
.s-btn--yellow-bg:focus, .s-btn--yellow-bg:hover {
	color: #7F7821!important;
	background: #fff;
	border-color: #7F7821;
}

.s-btn--green-bg {
	color: #fff!important;
	background: #95CA63;
	border-width: 0.0625rem;
	border-style: solid;
	border-color: #95CA63;
	transition-duration: 300ms;
}
.s-btn--green-bg:focus, .s-btn--green-bg:hover {
	color: #52A335!important;
	background: #fff;
	border-color: #52A335;
}

.s-btn--primary-gra {
	color: #fff;
	background: rgb(241,197,101);
	background: linear-gradient(300deg, rgba(241,197,101,1) 0%, rgba(188,151,63,1) 100%);
	border-width: 0.0625rem;
	border-style: solid;
	border: none;
}

.s-btn--primary-gra:focus, .s-btn--primary-gra:hover {
	color: #333;
	background:#fff;
	border: none;
}

.s-btn--primary-bg2 {
	color: #fff;
	background: #044288;
	border-width: 0.0625rem;
	border-style: solid;
	border-color: #044288;
}

.s-btn--primary-bg2:focus, .s-btn--primary-bg2:hover {
	color: #044288;
	background: #fff;
	border-color: #044288;
}

.s-btn--primary-bg3 {
	color: #fff;
	background: #003867;
	border-width: 0.0625rem;
	border-style: solid;
	border-color: #003867;
}

.s-btn--primary-bg3:focus, .s-btn--primary-bg3:hover {
	color: #003867;
	background: #fff;
	border-color: #003867;
}
.s-btn--primary-bg4 {
	color: #fff;
	background: #9eaacb;
	border-width: 0.0625rem;
	border-style: solid;
	border-color: #9eaacb;
}

.s-btn--primary-bg4:focus, .s-btn--primary-bg4:hover {
	color: #9eaacb;
	background: #fff;
	border-color: #9eaacb;
}

.s-btn--gold-brd {
	color: #94783d;
	background: rgba(255,255,255,0.9);
	border-width: 0.0625rem;
	border-style: solid;
	border-color: #94783d;
}

.s-btn--gold-brd:focus, .s-btn--gold-brd:hover {
	color: #fff!important;
	background: #94783d;
	border-color: #94783d;
}

.s-btn-icon--white-brd {
	border-left: none;
}

.s-btn-icon--dark-brd {
	border-left: none;
}

/*================== original button ==================*/

.poinbtn a {
	display: block;
	position: relative;
	margin: 0 auto;
	padding: 10px;
	max-width: 300px;
	color: #fff;
	text-decoration: none;
	font-size: 16px;
	transition: 0.3s;
	background: rgb(141,195,32);
	background: linear-gradient(90deg, rgba(141,195,32,1) 0%, rgba(1,176,235,1) 100%);
}
.poinbtn a::before {
	content: '';
	position: absolute;
	bottom: -7px;
	right: -7px;
	width: 100%;
	height: 1px;
	background-color: #aaa;
	transition: 0.2s ease 0s;
}
.poinbtn a::after {
	content: '';
	position: absolute;
	top: 7px;
	right: -7px;
	width: 1px;
	height: 100%;
	background-color: #aaa;
	transition: 0.2s ease 0.2s;
}
.poinbtn a:hover::before {
	width: 0%;
}
.poinbtn a:hover::after {
	height: 0%;
}
.poinbtn a:hover {
	text-decoration: none;
	background-color: rgba(255,255,255,0.70);
	color: #fff;
	opacity: 0.8;
	transition: 0.4s;
}

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

footer {
	clear: both;
	font-size: 14px;
	text-align: center;
	z-index: 9999;
	background: rgb(141,195,32);
	background: linear-gradient(90deg, rgba(141,195,32,1) 0%, rgba(1,176,235,1) 100%);
}

#footel { color: #fff; }

.fitem {
	font-size: 12px;
	margin: 3px 0 -2px;
	color:#fff;
}

@media screen and (max-width:480px){
#footel {
	margin:0;
	position: fixed;
    bottom:0;
	width:100%;
	padding:0;
}
}

ul.foottx {
	margin: 0;
	padding: 0;
}
ul.foottx a { color: #666;}
ul.foottx a:hover { color: #2fb6a8;}

ul.foottx li {
	margin: 0!important;
	padding: 0;
	float: left;
	list-style: none;
	font-size: 0.7875rem;
	letter-spacing: 1px;
	text-align: center!important;
	color:#52493f;
	font-weight:500; 
	font-family:'Noto Sans JP', sans-serif; 
}

@media screen and (max-width:480px){
ul.foottx li { font-size: 11px; }
}

.tel a { color:#666!important; }
.tel a:hover{ color:rgba(140,195,34,0.7)!important; transition: 0.3s; }

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

header {
	margin-bottom: 0;
	width: 100%;
	position: fixed;
	height:80px;
	top: 0;
	z-index: 9999!important;
	font-weight: 300!important;
	transition: 1s;
    background: #fff;
	box-shadow: 0 2px 10px 0 rgba(45,45,45,0.36)!important;
}
/*
#header.active{
	box-shadow: 0 2px 10px 0 rgba(45,45,45,0.36)!important;	
	transition: 1s;
	background: #fff;
}
*/
@media screen and (max-width:1024px){
header { height: 70px; }
}
@media screen and (max-width:480px){
header { height: 66px!important; }
}

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

.frame {
	position: relative;
	overflow: hidden;
	padding: 140px 0 60px;
}
.frame::after {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: linear-gradient(0deg,rgba(255, 255, 255, 1) 27%, rgba(249,249,249,1.00) 27%);
/*	background: linear-gradient(0deg,rgba(255, 255, 255, 1) 38%, rgba(248,253,239,1.00) 27%);*/
	z-index: -1;
}
.frame::before {
	position: absolute;
	content: "";
	width: 80%;
	height: 100%;
	top: 0;
	left: 0;
	background: url("../img/top/sbg.webp") no-repeat top left / 42%;
	z-index: 1;
}
.stxt {
	position: absolute;
	width: auto!important;
	top: 20%;
	left:5%;
	z-index: 2!important;
}
@media screen and (max-width:1650px){
.stxt {	top: 15%; }
}
@media screen and (max-width:1024px){
.frame { padding: 100px 0 0; }
.stxt {	left:2%; top: 15%;}
}

@media screen and (max-width:768){
.frame { padding: 100px 0 0; }
.stxt {	left:2%; top: 15%;}
}

@media screen and (max-width:575px){
.frame { padding: 80px 0 0px; }
.frame::after {	background: linear-gradient(0deg,rgba(255, 255, 255, 1) 38%, rgba(249,249,249,1.00) 38%); }
.frame::before {
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	right: 0;
	margin: auto ;
	background: url("../img/top/sbg.webp") no-repeat top left / 90%;
}
.stxt { display: none; }
}

#demo-1 {
	overflow: hidden;
	width: 65%;
	min-height: 700px;
	position: relative; 
	margin:0 auto;
	z-index: 2;
	left: 15%;
	border-radius: 15px;
}

@media screen and (max-width:1600px){
#demo-1 { min-height: 550px; }
}
@media screen and (max-width:1024px){
#demo-1 { min-height: 400px; }
}
@media screen and (max-width:768px){
#demo-1 { min-height: 300px; }
}

@media screen and (max-width:580px){
#demo-1 {
	width: 90%;
	min-height: 300px;
	left: 0;
	margin:0 auto;
}
}

.slideinfo {
	position: absolute;
	bottom: 80px;
	width: 25%;
	left: 3.5%;
	padding-right: var(--bs-gutter-x, 0.75rem);
	padding-left: var(--bs-gutter-x, 0.75rem);
	box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
	border-radius:10px;
	z-index: 2;
}

@media screen and (max-width:1650px){
.slideinfo {
	bottom: 150px;
	left: 3.5%;
}
}

@media screen and (max-width:1024px){
.slideinfo {
	position: relative;
	width: 70%;
	left: 0;
	right: 0;
	margin: 20px auto;
	bottom: 0;
}
}

@media screen and (max-width:768px){
.slideinfo {
	position: relative;
	width: 70%;
	left: 0;
	right: 0;
	margin: 20px auto;
	bottom: 0;
}
}

@media screen and (max-width:500px){
.slideinfo {
	position: relative;
	width: 90%;
	left: 0;
	right: 0;
	margin: 20px auto;
	bottom: 0px;
}
}
	
.toptime {
	width: 100%;
	margin: 0 auto 10px;
}
.toptime th {
	padding:10px 4px;
	word-break: break-all;
	text-align: center;
	font-weight: bold;
	font-size: 16px!important;
	color: #fff;
	background-color: #8cc322;
}
.toptime td {
	padding:10px 4px;
	word-break: break-all;
	text-align: center;
	font-size: 16px!important;
	font-weight: bold!important;
	background: #fff;
	border-bottom: 1px solid #8cc322;
	color:#555;
}
@media screen and (max-width: 1700px) {
.toptime th {
	padding:10px 2px;
	font-size: 13px!important;
	letter-spacing: 0.2;
}
.toptime td {
	padding:10px 2px;
	font-size: 13px!important;
}
}

/*================== side contents ==================*/

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

/*================== 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: 350px!important;
	height: 300px!important;
}
#picbtn {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	z-index:1!important;
}

/*================== concept ==================*/

.con { position: relative; }
.con::before {
	position: absolute;
	content: "YAENOSATO Dental Clinic";
	width: 100%;
	height: 20%;
	bottom: 10px;
	left: 20px;
	color:#EFEDDF;
	font-size: 70px;
}
.con::after {
	position: absolute;
	content: "";
	width: 25vw;
	height: 100%;
	top: 0;
	right: -15vw;
	background: url("../img/top/conbg.webp") no-repeat center right /100%;
	z-index: -1;
}

@media screen and (max-width:1400px){
.con::before {
	bottom: -30px;
	font-size: 60px;
	left: 0;
	text-align: center;
}
.con::after {
	width: 80vw;
	top: 0;
	right: -50px;
	background: url("../img/top/conbg.webp") no-repeat top 60px right /60%;
	opacity: 0.6;
}
}
@media screen and (max-width:768px){
.con::before {
	bottom: -95px;
	font-size: 50px;
}
.con::after {
	width: 100vw;
	background: url("../img/top/conbg.webp") no-repeat top 60px right /85%;
}
}
@media screen and (max-width:480px){
.con::before {
	bottom: -145px;
	font-size: 30px;
}
.con::after {
	right: 0;
	background: url("../img/top/conbg.webp") no-repeat top 90px right /90%;
}
}

/*================== medical ==================*/

.bbr { border-right: solid 1px #fff; }
.bbr2 {
	border-right: solid 1px #fff;
	border-bottom: solid 1px #fff;
}

.bgtype {
	border-radius:20px;
	background: rgb(141,195,32);
    background: linear-gradient(90deg, rgba(141,195,32,0.75) 0%, rgba(1,176,235,0.75) 100%);
	display: flex;
	flex-wrap: wrap;
}
.typein {
	padding: 1em;
	width : calc(100% / 3) ;
	box-sizing: border-box;
}
@media screen and (max-width: 480px) {
.bbr { border-bottom: solid 1px #fff; }
.typein {
	padding: 1em;
	width : 100%;
}
}

.bgtype2 {
	border-radius:20px;
	background: rgb(141,195,32);
    background: linear-gradient(90deg, rgba(141,195,32,1) 0%, rgba(1,176,235,1) 100%);
	display: flex;
	flex-wrap: wrap;
}
.typein2 {
	padding: 1em;
	width : 100%;
	box-sizing: border-box;
}
@media screen and (max-width: 480px) {
.bbr2 { border-bottom: solid 1px #fff; }
.typein2 {
	padding: 1em;
	width : 100%;
}
}

/*================== features ==================*/

.fea1 , .fea2 { position: relative; }

.fea1::before { 
	position: absolute;
	content: "";
	width: 100%;
	height: 90%;
	top: 0;
	bottom: 0;
	margin: auto;
	background:url("../img/top/fea1bg.webp")no-repeat center right / contain; 
}
.fea2::before { 
	position: absolute;
	content: "";
	width: 100%;
	height: 90%;
	top: 0;
	bottom: 0;
	margin: auto;
	background: url("../img/top/fea2bg.webp")no-repeat center left / contain; 
}
@media screen and (max-width: 1500px) {
.fea1::before , .fea2::before { opacity: 0.5; }
}

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

.time  {
	width: 100%;
	margin: 0 auto 10px;
}
.time th {
	padding:10px 4px;
	word-break: break-all;
	text-align: center;
	font-weight: bold;
	font-size: 16px!important;
	color: #fff;
	background-color: #8cc322;
}
.time td {
	padding:10px 4px;
	word-break: break-all;
	text-align: center;
	font-size: 16px!important;
	font-weight: bold!important;
	background: #fff;
	border-bottom: 1px solid #8cc322;
	color:#555;
}
@media screen and (max-width: 480px) {
.time th {
	padding:10px 2px;
	font-size: 14px!important;
	letter-spacing: 0.2;
}
.time td {
	padding:10px 2px;
	font-size: 14px!important;
}
}


table.com {
	margin:0;
	width:100%;
    border-collapse:separate;
    border-spacing:5px;
    empty-cells:show;
	font-family: 'Noto Sans JP', sans-serif;
}
.com th {
	font-weight: 600;
    padding:10px;
	font-size: 0.9125rem;
	vertical-align: middle!important;
	color: #fff;
	text-align: center;
}
.com td {
	font-weight: 500;
    padding:10px;
	font-size: 0.9125rem;
	vertical-align: middle!important;
}
@media screen and (max-width: 1024px) {
.com td,.com th {
	font-size: 14px;
}
}
@media screen and (max-width: 480px) {
.com td,.com th {
	width: 100%;
	display: block;
}
}


table.price {
	margin:0;
	width:100%;
    border-collapse:separate;
    border-spacing:5px;
    empty-cells:show;
	font-family: 'Noto Sans JP', sans-serif;
}
.price th {
	font-weight: 600;
    padding:12px 10px;
	font-size: 0.9125rem;
	vertical-align: middle!important;
	color: #fff;
	text-align: center;
}
.price td {
	font-weight: 500;
    padding:12px 10px;
	font-size: 0.9125rem;
	vertical-align: middle!important;
	letter-spacing: 0.03rem;
}
@media screen and (max-width: 1024px) {
.price td,.price th {
	font-size: 14px;
}
}
@media screen and (max-width: 480px) {
.price td,.price th {
	width: 100%;
	display: block;
	text-align: center;
	padding:10px;
}
}

/*================== box ==================*/

.textbox { padding: 15px; background-color:#fff;}
.textbox2 { padding: 30px; background-color:#fff;}
@media only screen and (max-width: 480px) {
.textbox2 { padding: 15px;}
}

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

.st {
	position: relative;
	padding-bottom: 5px;
	letter-spacing: 0.05em;
	font-weight: 600;
	line-height: 1.5;
	border-bottom: 2px dashed #ddd;
	margin-bottom: 20px;
	z-index: 1;
}

.st span {
	position: absolute;
	right: 0;
	bottom: -10px;
	font-size: 70px;
	font-weight: 500;
	letter-spacing: 0;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	z-index: -1;
}


@media only screen and (max-width:1024px){
.st span{ bottom: -5px; font-size: 50px; }
}

.st1 , .st1-2 {
	color:#555;
	font-weight:500; 
	border-bottom: 3px solid #ddd;
	position: relative;
	line-height: 1.5;
	font-family: 'Noto Sans JP', sans-serif;
}
.st1::after , .st1-2::after {
	content: '';
	width: 30%;
	height: 3px;
	position: absolute;
	bottom: -3px;
	left: 0;
	z-index: 1;
}
.st1::after { background-color: #8cc322; }
.st1-2::after { background-color: #01b0ea; }


.st2 {
	overflow: hidden;
	text-align: center;
	position: relative;
	padding: 15px 10px;
}
.st2::before,.st2::after{
     position: absolute;
     left: 0;
     content: '';
     width: 100%;
     height: 7px;
     box-sizing: border-box;
}
.st2::before {
	top: 0;
	border-top: 3px solid #777;
	border-bottom: 1px solid #777;
}
.st2::after {
     bottom: 0;
     border-top: 1px solid #777;
     border-bottom: 3px solid #777;
}


.st3 {
	background: rgb(1,176,235,1);
	background: linear-gradient(90deg, rgba(141,195,32,1) 0%, rgba(1,176,235,1) 100%);
	color: #fff;
	text-align: center;
	padding: .5em .5em;
	letter-spacing: .1em;
	margin: 0;
	font-family: 'Noto Sans JP', sans-serif;
}


.st4 {
	position: relative;
	padding: 0.2em 0.4em 0.2em 2.4em;
	border-bottom: 2px solid #01b0ea;
	line-height: 1.5!important;
	color:#555;
	z-index: 1;
	background: #f1f1f1;
	font-family: 'Noto Sans JP', sans-serif;
}
.st4:after {
	position: absolute;
	content: attr(data-en);
	top: 0;
	left: 0;
	width: 1.9em;
	height: 1.9em;
	padding: 0.2em 0.4em 0.2em 0.7em;
	color: #fff;
	background: #8cc322;
	z-index: -1;
}
.st4:before {
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 20%;
  height: 2px;
  content: '';
  background: #8cc322;
}


.stf {
	text-align: center;
	position: relative;
	padding:10px;
	margin-bottom: 1em;
	color:#FFFFFF;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 600;
}
.stf::before {
     position: absolute;
     top: 98%;
     left:50%;
     transform:translateX(-50%);
     content: '';
     border: 14px solid transparent;
}

.stfc1 { background: rgb(141,195,32); background: linear-gradient(90deg, rgba(141,195,32,1) 0%, rgba(1,176,235,1) 100%); }
.stfc1::before { border-top: 10px solid #47b985; }
.stfc2 { background-color: #8cc322; }
.stfc2::before {border-top: 10px solid #8cc322; }
.stfc3 { background-color: #01b0ea; }
.stfc3::before {border-top: 10px solid #01b0ea; }
.stfc4 { background-color: #E48183; }
.stfc4::before {border-top: 10px solid #E48183; }
.stfcw { background-color: #fff; }
.stfcw::before {border-top: 10px solid #fff; }
 
/*================== title ==================*/

.title {
	margin-top: 80px;
	padding: 75px 0 85px ;
	background: url("../img/top/sbg.webp") no-repeat left top / 20% , url("../img/top/titlebg.webp") no-repeat right top / 1200px , #f9f9f9 ;
}
@media only screen and (max-width:1024px){
.title {
	margin-top: 70px;
	padding: 55px 0 65px ;
	background: url("../img/top/sbg.webp") no-repeat left -50px top / 30% , url("../img/top/titlebg.webp") no-repeat right -30px top / 650px , #f9f9f9 ;
}
}
@media only screen and (max-width:768px){
.title {
	padding: 55px 0 65px ;
	background: url("../img/top/sbg.webp") no-repeat left -50px top / 40% , url("../img/top/titlebg.webp") no-repeat right -400px top / 850px  #f9f9f9 ;
}
}
@media only screen and (max-width:580px){
.title {
	margin-top: 66px;
	padding: 45px 0 55px ;
	background: url("../img/top/sbg.webp") no-repeat left -40px top -20px / 55% , url("../img/top/titlebg.webp") no-repeat left 270px top 20px / 180% , #f9f9f9 ;
}
}

/*================== List-Item-Content ==================*/

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

@media screen and (max-width: 540px) {
.List-Item-Content { flex-wrap: wrap; }
}

.List-Item-Content .col-10{
	position: relative;
}
.List-Item-Content .col-10::before {
	content: "";
	position: absolute;
	bottom: 20px;
	z-index: 0;
	width: calc(100% - 20px);
}
.List-Item-Content:last-child .col-10::before {
	border-bottom:none!important;
}
.List-Item-Content .col-2{
	position: relative;
}
.List-Item-Content .col-2::before {
	content: "";
	position: absolute;
	top: 50.5%!important;
	left: calc(50% - 1px);
	transform: translate(-50%,-50%);
	width: 2px;
	height: 100%;
	background: #2fb6a9;
	z-index: -1;
}
.List-Item-Content-Number {
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 60px;
	height: 60px;
	line-height: 59px;
	text-align: center;
	background: rgb(141,195,32);
	background: linear-gradient(135deg, rgba(141,195,32,1) 0%, rgba(1,176,235,1) 100%);
	color: #fff;
	font-size: 30px;
	border-radius: 50%;
	font-weight: 600;
}
@media screen and (max-width: 768px) {
.List-Item-Content-Number {
    width: 50px;
    height: 50px;
    line-height: 50px;
    font-size: 24px;
}
}

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

.infobox{
	position: relative;
	top:0;
	z-index: -1;
	margin: 0 20px;
	padding: 20px;
	border-radius: 0 0 20px 20px;
	background-color: #f7f7f7;
	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: #f7f7f7;
}
.infoboxt span{
	position: relative;
	padding: 0 0 5px;
	background-color: #f7f7f7;
	color: #555;
	border-bottom: 4px dotted #8cc322;
	font-weight: 600;
}

