@charset "utf-8";

/* =============================
Merged from style.css (base)
============================= */
/* CSS Document */

/*==================================================
スタート時は要素自体を透過0にするためのopacity:0;を指定する
===================================*/

.box{
opacity: 0;
}

/*==================================================
ふわっ
===================================*/

.fadeUp {
animation-name:fadeUpAnime;
animation-duration:1.5s;
animation-fill-mode:forwards;
opacity: 0;
}

@keyframes fadeUpAnime{
from {
opacity: 0;
transform: translateY(100px);
}

to {
opacity: 1;
transform: translateY(0);
}

}


/* PC */
@media screen and (min-width:751px) {

/* header */

header{
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
z-index: 1;
position: relative;
height: 12rem;
background: #f5f5f5;

}
.header1{
width: 1100px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
}
.header2{
width: 300px;
}
.header2 h1 a:hover{
opacity: 1;
}


.header3{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
width: 740px;
}

.header4{
display: flex;
justify-content: center;
flex-direction: column;
align-items: center;
}

.header4 a{
display: inline-block;
font-size: 3.3rem;
font-weight: 500;
line-height: 1.2;
border-radius: 100px;
letter-spacing: .2rem;  
}

.header4 a span::before{
content: "";
background: url("../images/ic_tel.svg");
width: 2.3rem;
height: 2.3rem;
display: inline-block;
margin-right: .5rem;
}

.header5{
font-size: 1.8rem;
font-weight: 500;
display: flex!important;
align-items: center;
}

.header5 span{
display: inline-block;
font-size: 3.8rem;
font-weight: 700;
color: #ff7aa0;
margin: 0 .5rem;
line-height: 1;
transform: translateY(-0.1em);
}

.header6 {
display: flex;
align-items: center;
justify-content: center;
flex-wrap: wrap;
column-gap: 8px;
}    
.header7 {
background: #ffffff;
text-align: center;
padding: 6px 10px;
font-size: 1.7rem;
letter-spacing: .05rem;
display: inline-block;
border-radius: 5px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.12);
}


.header8{
font-size: 1.8rem;
display: inline-block;
margin-right: .7rem;
}

.header8 span{
width: 100%;
display: block;
background: #f8f7f1;
text-align: center;
padding: .2rem 0;
color: #6b5e4d;
font-size: 1.5rem;
}

.header9{
width: 170px;
}

.header9 a{
display: block;
width: 100%;
background: #d87d97;
text-align: center;
padding: .6rem 0;
color: #fff;
font-size: 1.4rem;
letter-spacing: .1rem;
position: relative;
border-radius: 4px;
}

.header9 div{
display: block;
width: 100%;
background: #d87d97;
text-align: center;
padding: .6rem 0;
color: #fff;
font-size: 1.4rem;
letter-spacing: .1rem;
position: relative;
border-radius: 4px;
}

.header9 a:after{
content: '';
position: absolute;
top: 0;
bottom: 0;
right: 2rem;
background: url("../images/ic_arrow1.svg");
display: inline-block;
width: 1rem;
height: 1rem;
margin: auto;
vertical-align: baseline;
transition: all .3s;
}

.header11{
font-size: 1.3rem;
line-height: 1.4;
}

.header12{
width: 100%;
font-size: 1.5rem;
letter-spacing: .2rem;
font-weight: 500;

color: #005a49;
padding-left: 5.2rem;
}

.header14{
text-align: right;
width: 100%;
font-size: 1.4rem;
color: #404040;
}


/* header */

/* nav */


/*========= ドロップダウンのためのCSS ===============*/

/*==ナビゲーション全体の設定*/
nav{
text-align: center;
background: #1db19d;
box-shadow: 0px 0.3rem 0.5rem 0px rgba(0, 0, 0, 0.05);
height: 60px;
display: flex;
align-items: center; 
position: relative;
}

/*ナビゲーションを横並びに*/
.navul, .navul2{
/*2階層目の基点にするためrelativeを指定*/

list-style: none;
display: flex;
justify-content: space-between;
width: 1100px;
margin: 0 auto;
}

.has-child{
margin: 0 0 0 0;
}

/*2階層目以降は横並びにしない*/
.navul2{
display: block;
}

/*ナビゲーションのリンク設定*/
.navulli1 a,
.navulli2 a,
.has-child a
{
/*矢印の基点にするためrelativeを指定*/
position: relative;
display: block;
text-decoration: none;
padding: 0 0 0 1.6rem;    
transition: all .3s;
font-size: 1.8rem;
letter-spacing: .05rem;
font-weight: 500;
color: #fff;    
}

.navulli1 a span,
.has-child > a span
{
display: inline-block;
padding-left: .5rem;
}
.navulli1 a span::before,
.has-child > a span::before{
content: "▲";
position: absolute;
top: 50%;
left: 0;
display: inline-block;
font-size: 1rem;
margin: auto;
transition: all .3s;
transform: translateY(-50%) rotate(90deg);
color: #ffffff;

}


.navulli1 a span:hover::before,
.has-child > a span:hover::before{
left: .8rem;
}



.navulli2 a{
padding: .5rem;
}

.navulli1 a:hover,
.navulli2 a:hover,
.has-child a:hover{
color: #ffffff;    
}

/*==矢印の設定*/

/*2階層目を持つliの矢印の設定*/

.has-child > a::before{
position: absolute;
left:0;
top:60px;
width:6px;
height:6px;
border-top: 2px solid #fff;
border-right:2px solid #fff;
transform: rotate(135deg);
}

/*==2階層目以降の画像設定*/

.has-child img{
width: 140px;
height: 93px;
height: auto;
transition: all .5s;
vertical-align: bottom;
}


/*== 2層目の設定 */

.navul2{
position: absolute;
top: 60px;
z-index: 4;
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
visibility: hidden;
opacity: 0;
transition: all .4s;
background: #e5f3f1;
width: 99.2vw;
left: 50%;
transform: translateX(-50%);
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
}

/*hoverしたら表示*/
.has-child:hover > .has-childhover{
visibility: visible;
opacity: 1;
z-index: 100;
}

/*各ナビゲーション横幅*/
.navulli2{
width: calc((100% - 2rem) / 3);
display: flex;
align-items: center;  
}

.navulli2b{
width: 25rem;
display: flex;
align-items: center;
}

.has-child-img{
width: 20rem;
display: flex !important;
justify-content: flex-start;
align-items: center;
}

.has-child-2{
margin: 0 auto;
width: 1100px;
padding: 2rem 0;
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
}

.has-child-3{
flex: 1;
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
align-items: center;
gap: 1rem;
}

/*ナビゲーションaタグの形状*/
.navulli2 a,
.navulli2b a{
font-size: 1.6rem;
text-align: left;
padding: 0 0 0 2rem;
position: relative;
color: #292929;    
line-height: 1.4;    
}
.navulli2 a:hover {
text-decoration: underline;
}

.navulli2 a span::before,
.navulli2b a span::before{

content: "▲";
position: absolute;
top: 50%;
left: 0;
display: inline-block;
font-size: 1rem;
margin: auto;
transition: all .3s;
transform: translateY(-50%) rotate(90deg);
color: #1db19d;
}

.navulli2 a:hover,
.navulli2 a:active{
color: #292929;     
}

.navbnr{
display: flex;
align-items: center;
}

.navbnr a{
display: inline-block;
background: #02b2bf;
padding: 15px 18px;
color: #fff;
border-radius: 12px 5px 12px 5px;
}

.navbnr a:hover{
background: #25C5D0;
color: #fff;
}

.menu-new{
font-size: 1rem;
vertical-align: top;
padding-left: .3rem;
color: #B60000;
font-family: "Hiragino Mincho ProN", "YuMincho", "Yu Mincho", "MS PMincho", serif;
font-weight: 500;
}	


/* nav */



/* pagetop */


#page-top {
position: fixed;
bottom: 20px;
right: 20px;
z-index: 99;
margin: 0;
padding: 0;
}
#page-top a {
width: 60px;
display: block;
opacity: 0.9;
transition: all .3s ease;
}
#page-top a:hover {
text-decoration: none;
opacity: .5;
}


#page-top a img{
width: 60px;
height: 60px;
display: block;
}


/* pagetop */













/* subpage */
.subpagetitle__w {
width: 100%;
padding: 60px 0;
position: relative;
}
.subpagetitle__w::after {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.subpagetitle__w1 {
background-image:linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url("../images/subpagetitle.jpg");

background-size: cover;
background-repeat: no-repeat;
background-position: center;
}    
.subpagetitle__w2 {
background: #ebd5c8 url(../images/subpagetitle2.jpg) left center no-repeat;
background-size: cover;
}
.subpagetitle__w3 {
background: #ebd5c8 url(../images/subpagetitle3.jpg) left center no-repeat;
background-size: cover;
}
.subpagetitle__w4 {
background: #ebd5c8 url(../images/subpagetitle4.jpg) left center no-repeat;
background-size: cover;
}
.subpagetitle__w5 {
background: #ebd5c8 url(../images/subpagetitle5.jpg) left center no-repeat;
background-size: cover;
}
.subpagetitle1 {
text-align: center;
position: relative;
z-index: 10;
}
.subpagetitle1 h2 {
font-size: 4rem;
letter-spacing: .8rem;
line-height: 1.2;
display: inline-block;
border-radius: 5px;
width: 100%;
position: relative;
color: #ffffff;
text-shadow: 0 0 15px rgb(0, 0, 0, 0.5);
font-weight: 600;
}

.subpagetitle1 h2 span {
display: block;
}

.subpagetitle2 {
width: 1000px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.subpagetitle3 {
width: 100%;
background: #fff;
padding: 20px 20px 20px;
border-radius: 30px 10px 30px 10px;
}
.subpagetitle4 {
width: 100%;
}
.subpagetitle4 img {
border-radius: 30px 10px 30px 10px;
}
.subpage__w {
width: 100%;
background: #fcf8f4;
padding: 80px 0 110px;
}
.subpage0 {
width: 1000px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
border-radius: 10px;
}  
.subpage1 {
width: 1000px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
background: #fff;
padding: 5rem;
box-shadow: 5px 5px 15px #f1ebe4;
border-radius: 10px;
}
.subpage2, .subpage2b {
width: 100%;
margin: 0 0 4rem 0;
}

.subpage2 h2 {
font-size: 3rem;
letter-spacing: .3rem;
line-height: 1.5;
text-align: center;
border-bottom: 10px solid #f7f7f7;
padding: 0 0 25px 0;
font-weight: 500;
}
.subpage2b h2 {
font-size: 3.5rem;
letter-spacing: .3rem;
line-height: 1;
text-align: center;
color: #f08300;
border-bottom: 10px solid #f7f7f7;
padding: 0 0 30px 0;
margin: 0 0 50px 0;    
}

.subpage3 {
width: 100%;
padding: 0 10px;
line-height: 1.8;
}
.subpage3 h4 {
font-size: 2rem;
letter-spacing: .04rem;
line-height: 1.2;
padding: 0 0 10px;
font-weight: 500;
}
.subpage4 {
width: 100%;
}
.subpage4 a {
display: block;
width: 400px;
margin: 0 auto;
background: #ffee9c;
padding: 20px 0;
text-align: center;
letter-spacing: -.005rem;
color: #643e2f;
box-shadow: 6px 6px 15px #fff2b3;
font-weight: 500;
font-size: 2rem;
line-height: 1;
position: relative;
}
.subpage4 a span {
display: block;
width: 100%;
}
.subpage4 a span::after {
content: "";
background: url("../images/ic_arrow1.svg");
display: inline-block;
width: 2.2rem;
height: 2.2rem;
position: absolute;
top: 20px;
right: -10px;
}
.subpage4 a:hover {
transform: translateY(-3px);
opacity: .5;
}
.subpage5 {
width: 100%;
position: relative;
padding: 30px 30px;
background: #f5f5f5;
border-radius: 10px;
}
.subpage5 ul {
width: 100%;
display: flex;
list-style: none;
flex-wrap: wrap;
list-style: none
}
.subpage5 ul li {
width: 50%;
line-height: 1.6;
margin: 0 0 15px 0;
padding-left: 3rem;
text-indent: -3rem;
}
.subpage5 ul li:last-child,.subpage5 ul li:nth-last-child(2) {
margin: 0 0 0 0;
}
.subpage5 ul li span {
width: 100%;
}
.subpage5 ul li span::before {
content: "";
display: inline-block;
background: url("../images/ic_check.svg");
width: 2rem;
height: 2rem;
margin: 0 10px 0 0;
vertical-align: sub;
}
.subpage6 {
width: 100%;
padding: 30px 30px;
position: relative;
background: #f5f5f5;
border-radius: 10px;
}
.subpage6 ul {
width: 100%;
}
.subpage6 ul li {
width: 100%;
line-height: 2;
margin: 0 0 15px 0;
padding-left: 3rem;
text-indent: -3rem;
}
.subpage6 ul li:last-child {
margin: 0 0 0 0;
}
.subpage6 ul li span {
width: 100%;
}
.subpage6 ul li span::before {
content: "";
display: inline-block;
background: url("../images/ic_check2.svg");
width: 2rem;
height: 2rem;
margin: 0 10px 0 0;
vertical-align: sub;
}

.subpage7 {
width: 100%;
}

.subpage7 ul {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
gap: 20px;
}

.subpage7 ul li {
width: calc((100% - 20px) / 2);
display: flex;
}

.subpage7 ul li a {
flex: 1;
display: flex;
align-items: center;
justify-content: space-between;
padding: 20px 20px;
letter-spacing: .1rem;
font-weight: 500;
font-size: 2rem;
line-height: 1.4;
position: relative;
border-radius: 10px;
background: #ffffff;
transition: transform .3s, opacity .3s;
box-sizing: border-box;
box-shadow: 5px 5px 15px #f1ebe4;
text-align: center;
}

.subpage7 ul li a:hover {
transform: translateY(-3px);
opacity: .5;
}

.subpage7 ul li a span {
width: 100%;
}

.subpage7 ul li span::after {
content: "";
background: url(../images/ic_arrow6.svg) no-repeat center / contain;
display: inline-block;
width: 23px;
height: 23px;
position: absolute;
top: 50%;
transform: translateY(-50%);
right: 20px;
opacity: .9;
}
.subpage8{
width: 100%;
}

.subpage8 h3{
font-size: 2.2rem;
letter-spacing: .08rem;
line-height: 1;
padding: .3rem 0 .3rem 1.8rem;
margin: 0 0 3rem;
position: relative;
font-weight: 600;
}

.subpage8 h3::before{
border-left: 6px solid #1db19d;
content: "";
height: 100%;
left: 0;
position: absolute;
top: 0;
border-radius: 10px;	
}
.subpage9 {
width: 400px;
margin: 0 auto;
}
.subpage9 img {
width: 100%;
border-radius: 10px;
}
.subpage10 {
width: 100%;
background: #F5F5F5;
position: relative;
padding: 30px 30px 30px;
border-radius: 0;
margin: 0 auto;
}
.subpage10 ul {
width: 100%;
}
.subpage10 ul li {
width: 100%;
line-height: 2.2;
}
.subpage10 ul li span {
width: 100%;
}
.subpage10 ul li span::before {
content: "";
display: inline-block;
background: url("../images/ic_check3.svg");
width: 2rem;
height: 2rem;
margin: 0 10px 0 0;
vertical-align: sub;
}
.subpage11 {
display: inline-block;
margin: -5.5rem 0 0 0;
background: #927ab9;
color: #fff;
text-align: center;
padding: 12px 30px;
border-radius: 3px;
position: absolute;
font-size: 1.8rem;
line-height: 1.4;
}
.subpage12 {
padding: 12px 0 0 0;
font-size: 1.6rem;
line-height: 2;
}
.subpage13 {
display: inline-block;
margin: -5.5rem 0 0 0;
background: #1eaa39;
color: #fff;
text-align: center;
padding: 12px 30px;
border-radius: 3px;
position: absolute;
font-size: 1.8rem;
line-height: 1.4;
}
.subpage14 {
display: inline-block;
margin: -5.5rem 0 0 0;
background: #7dadd4;
color: #fff;
text-align: center;
padding: 12px 30px;
border-radius: 3px;
position: absolute;
font-size: 2rem;
line-height: 1.4;
}
.subpage15 {
width: 100%;
line-height: 1.8;
}
.subpage16 {
width: 100%;
}
.subpage16 span {
line-height: 1.8;
font-size: 2.2rem;

font-weight: 700;
display: block;
padding: 3px 20px;
letter-spacing: 0.1rem;
background: #fff;
color: #213546;
border-left: 10px solid #7dadd4;
/*font-family: 'Zen Old Mincho', serif;*/
}
.subpage17 {
width: 100%;
}
.subpage17 span {
line-height: 1.8;
font-size: 1.8rem;
font-weight: 700;
display: inline-block;
padding: 6px 30px;
letter-spacing: .1rem;
background: #ffffff;
border-bottom: 1px solid #47c8af;
}
.subpage18 {
width: 100%;
}
.subpage19 {
width: 100%;
position: relative;
padding: 30px 30px;
background: #f5f5f5;
border-radius: 10px;
}
.subpage19 ul {
width: 100%;
}
.subpage19 ul li {
width: 100%;
line-height: 2;
margin: 0 0 5px 0;
}
.subpage19 ul li:last-child {
margin: 0 0 0 0;
}
.subpage19 ul li span {
width: 100%;
}
.subpage19 ul li span::before {}
.subpage20 {
display: inline-block;
margin: -5.5rem 0 0 0;
background: #fbfdd5;
color: #25cf40;
text-align: center;
padding: 12px 30px;
border-radius: 3px;
position: absolute;
font-size: 1.8rem;
line-height: 1.4;
border: 2px solid #25cf40;
font-weight: 700;
}
.subpage21::before {
content: "";
display: inline-block;
background: url("../images/ic_check4.svg");
width: 2rem;
height: 2rem;
margin: 0 10px 0 0;
vertical-align: sub;
}
.subpage22 {
display: inline-block;
margin: -5.5rem 0 0 0;
background: #0ba524;
color: #fff;
text-align: center;
padding: 12px 30px;
border-radius: 3px;
position: absolute;
font-size: 1.8rem;
line-height: 1.4;
}
.subpage23::before {
content: "";
display: inline-block;
background: url("../images/ic_check5.svg");
width: 2rem;
height: 2rem;
margin: 0 10px 0 0;
vertical-align: sub;
}
.subpage24 {
width: 320px;
margin: 0 auto 30px;
}
.subpage24 a {
width: 100%;
display: block;
background: linear-gradient(90deg, #1ea189, #0cbd7c);
text-align: center;
font-size: 2rem;
font-weight: 500;
color: #fff;
border-radius: 200px;
line-height: 1;
padding: 20px 0;
box-shadow: 7px 7px 20px #9ff4c2;
letter-spacing: .05rem;
}
.subpage24 a span::before {
content: "";
background: url("../images/ic_arrow1.svg") no-repeat;
display: inline-block;
width: 1.5rem;
height: 1.5rem;
margin: 0 8px 0 0;
vertical-align: middle;
}
.subpage25 {
width: 100%;
font-size: 3rem;
/*font-family: 'Zen Old Mincho', serif;*/
padding: 30px 40px;
background: #f1fff6;
}
.subpage26 {
display: inline-block;
padding: 0 0 0 50px;
}
.subpage26::first-letter {
color: #009f88;
display: inline-block;
font-weight: 900;
font-size: 5rem;
margin: 0 5px 0 0;
}
.subpage27 {
display: inline-block;
padding: 0 0 0 150px;
}
.subpage27::first-letter {
color: #00a341;
display: inline-block;
font-weight: 900;
font-size: 5rem;
margin: 0 5px 0 0;
}
.subpage28 {
display: inline-block;
padding: 0 0 0 250px;
}
.subpage28::first-letter {
color: #36a34b;
display: inline-block;
font-weight: 900;
font-size: 5rem;
margin: 0 5px 0 0;
}
.subpage29 {
width: 100%;
}
.subpage29 span {
line-height: 1.8;
font-size: 1.6rem;
font-weight: 500;
display: inline-block;
padding: 4px 25px;
letter-spacing: .1rem;
background: #ffffff;
border: 1px solid #7cb1db;
color: #499de1;
border-radius: 200px;
}
.subpage30 {
width: 100%;
padding: 23px 26px;
display: flex;
flex-wrap: wrap;
background: #fffee7;
border-radius: 5px;
}
.subpage31 {
width: 100%;
color: #e95446;
margin: 0 0 15px 0;
font-size: 2.4rem;
text-align: center;
}
.subpage32 {
width: 100%;
font-size: 1.5rem;
color: #4a2811;
}
.subpage33 {
width: 100%;
text-align: center;
}
.subpage34 {
width: 100%;
}
.subpage34 span {
display: block;
padding: 12px 40px;
color: #ffffff;
font-size: 2.3rem;
font-weight: 500;
margin: 0 0 40px 0;
background: linear-gradient(90deg, #009f88, #3f9fcb);
border-radius: 3px 13px 3px 13px;
}
.subpage35 {
width: 600px;
}
.subpage35 img {
width: 100%;
border-radius: 3px;
}
.subpage36 {
width: 100%;
position: relative;
padding: 30px 30px;
background: #f5f5f5;
border-radius: 10px;
}
.subpage36 ul {
width: 100%;
}
.subpage36 ul li {
width: 100%;
line-height: 2;
margin: 0 0 5px 0;
}
.subpage36 ul li:last-child {
margin: 0 0 0 0;
}
.subpage36 ul li span {
width: 100%;
}
.subpage36 ul li span::before {
content: "";
display: inline-block;
background: url("../images/ic_cross.svg");
width: 2rem;
height: 2rem;
margin: 0 10px 0 0;
vertical-align: sub;
}
.subpage37 {
display: inline-block;
margin: -5.5rem 0 0 0;
background: #ef506b;
color: #fff;
text-align: center;
padding: 12px 30px;
border-radius: 3px;
position: absolute;
font-size: 1.8rem;
line-height: 1.4;
}
.subpage38 {
width: 100%;
margin: 0 0 30px 0;
padding: 10px 30px;
font-size: 2.2rem;
font-weight: 700;
color: #009f88;
border-bottom: 1px solid #e5e5e5;
}
.subpage39 {
width: 100%;
margin: 0 0 15px 0;
padding: 0 0 0 20px;
}
.subpage39 span {
display: inline-block;
text-align: center;
padding: 5px 40px;
border-radius: 200px;
font-size: 1.8rem;
color: #009f88;
font-weight: 700;
border: 1px solid #009f88;
}
.subpage40 {
width: 100%;
font-size: 2.8rem;
padding: 0 0 0 60px;
font-weight: 700;
}
.subpage41 {
font-size: 1.8rem;
font-weight: 400;
display: inline-block;
margin: 0 0 0 5px;
}
.subpage42 {
font-size: 1.6rem;
font-weight: 500;
padding: 0 0 0 60px;
width: 100%;
}
.subpage43 {
width: 100%;
display: flex;
flex-wrap: wrap;
}
.subpage44 {
width: 100%;
margin: 0 0 15px 0;
}
.subpage44 span {
display: inline-block;
background: #009f88;
color: #fff;
padding: 2px 8px;
border-radius: 3px;
margin: 0 15px 0 0;
}
.subpage45 {
width: 100%;
margin: 0 0 35px 0;
}
.subpage45:last-child {
margin: 0 0 0 0;
}
.subpage45 span {
display: inline-block;
background: #fff;
color: #009f88;
padding: 2px 8px;
border-radius: 3px;
margin: 0 15px 0 0;
border: solid 1px #009f88;
}
.subpage46 {
width: 800px;
margin: 0 auto;
}
.subpage46 img {
width: 100%;
}
.subpage47 {
width: 100%;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.subpage48 {
text-align: center;
font-size: 3.7rem;
width: 100%;
color: #009f88;
letter-spacing: .5rem;
font-weight: 500;
margin: 0 0 40px 0;
}
.subpage49 {
font-size: 3.5rem;
font-weight: 900;
color: #009f88;
letter-spacing: .005rem;
line-height: 1.2;
}
.subpage50 {
width: 100%;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.subpage51 {
width: 100%;
padding: 20px 20px;
background: #f4f0e1;
margin: 0 0 25px 0;
font-size: 1.8rem;
font-weight: 700;
border-radius: 3px;
color: #3c2f19;
text-align: center;
}
.subpage52 {
text-align: center;
width: 100%;
}
.subpage53 span {
font-size: 1.7rem;
background: #fff;
padding: 3px 20px;
color: #eb7777;
border-radius: 5px;
display: inline-block;
font-weight: 700;
border: solid 1px #eb7777;
}
.subpage54 {
width: 100%;
color: #eb7777;
font-size: 1.7rem;
margin: 0 0 5px 0;
}
.subpage55 {
width: 100%;
color: #383618;
font-size: 1.5rem;
}
.subpage56 {
width: 100%;
}
table.subpage57 {
width: 100%;
}
table.subpage57 th {
border: 1px solid #e9e9e9;
}
table.subpage57 td {
border: 1px solid #e9e9e9;
height: 7rem;
}
.subpage58 {
width: 25%;
vertical-align: middle;
padding: 10px 20px;
background: #f6f6f6;
}
.subpage59 {
width: 55%;
padding: 10px 20px;
vertical-align: middle;
font-size: 1.7rem;
}
.subpage60 {
width: 20%;
padding: 10px 20px;
text-align: right;
vertical-align: middle;
}
.subpage61 {
font-size: 1.5rem;
font-weight: 500;
display: inline-block;
background: #fff;
padding: 1px 12px;
text-align: center;
color: #4a6396;
margin: 6px 0 0 0;
border: 1px solid #c5cddd;
}
.subpage62 {
width: 100%;
margin: 0 0 10px 0;
}
.subpage62 a {
display: block;
width: 100%;
background: #fff;
padding: 20px 20px 25px;
font-size: 1.8rem;
}
.subpage62 a span {
display: inline-block;
border-bottom: 1px dotted #5779bc;
color: #5779bc !important;
}
.subpage62 a span::before {
content: "";
display: inline-block;
margin: 0 10px 0 0;
background: url("../images/ic_link.svg");
width: 1.5rem;
height: 1.5rem;
}
.subpage63 {
display: inline-block;
margin: -5.5rem 0 0 0;
background: #47c8af;
color: #fff;
text-align: center;
padding: 12px 30px;
border-radius: 3px;
position: absolute;
font-size: 1.8rem;
line-height: 1.4;
width: 93%;
}
.subpage64 {
width: 800px;
}
.subpage64 img {
width: 100%;
border-radius: 3px;
}
.subpage65 {
width: 800px;
text-align: center;
}
.subpage65 img {
width: 50%;
border-radius: 3px;
}
.subpage66 {
width: 25%;
vertical-align: middle;
padding: 10px 20px;
background: #f6f6f6;
}
.subpage67 {
width: 38%;
padding: 10px 20px;
vertical-align: middle;
font-size: 1.7rem;
}
.subpage68 {
width: 37%;
padding: 10px 20px;
vertical-align: middle;
}
.subpage69 {
width: 100%;
display: flex;
justify-content: center;
flex-wrap: wrap;
align-items: center;
margin: 0 0 12px 0;
}
.subpage69:last-child {
margin: 0 0 0 0;
}
.subpage70 {
width: 42%;
display: inline-block;
padding: 1px 0;
text-align: center;
border: 1px solid #059f88;
margin: 0 15px 0 0;
background: #059f88;
color: #fff;
border-radius: 2px;
font-size: 1.5rem;
font-weight: 700;
}
.subpage71 {
width: 30%;
margin: 0 0 0 0;
text-align: right;
}
.subpage72 {
width: 100%;
text-align: center;
}
.subpage72 a {
width: 100%;
text-align: center;
display: block;
}
.subpage72 a img {
width: 728px;
box-shadow: 5px 5px 10px #c7f5d1;
}

.subpage73{
width: 100%;
font-weight: 600;
font-size: 2rem;
margin: 0 0 10px;
}    
.subpage73 span {
display: flex;
align-items: center;
}
.subpage73 span::before {
content: "■";
color: #1b93cf;
font-size: 1.8rem;
margin: 0 5px 0 0;
}
.subpage74 {
width: 100%;
margin: 0 0 20px;
}
.subpage74 span {
line-height: 1.8;
font-size: 1.7rem;
font-weight: 500;
display: inline-block;
letter-spacing: 0.1rem;
padding: 2px 20px;
background: #1db19d;
border-radius: 100px;
color: #ffffff;
}

.subpage75 {
width: 100%;
margin: 0 0 10px;
}
.subpage75 span {
line-height: 1.8;
font-size: 1.7rem;
font-weight: 500;
display: inline-block;
letter-spacing: 0.1rem;
padding: 2px 20px;
background: #f08300;
border-radius: 100px;
color: #ffffff;
}

.referral_list li{
margin: 0 0 5px;
}
.referral_list li:last-child{
margin: 0;
}
.subpage76{
width: 100%;
display: flex;
flex-wrap: wrap;
gap: 50px;
}
.subpage77{
width: 160px;
display: flex;
flex-direction: column;
gap: 20px;
}
.subpage78{
flex: 1;
}
.subpage79{
aspect-ratio: 1 / 1;
display: flex;
flex-wrap: wrap;
transition: all .5s;
background: #ffffff;
border-radius: 8px;
transition-duration: .4s;
z-index: 2;
overflow: hidden;
position: relative;
border: solid 1px #ccc;
align-content: center;
}
.subpage80{
width: 100%;
text-align: center;
}
.subpage80 img {
width: 100px;
}
.subpage81 {
width: 100%;
text-align: center;
color: #33b9a7;
font-size: 2.3rem;
font-weight: 500;
letter-spacing: .075rem;
line-height: 1;
display: flex;
align-items: center;
justify-content: center;
}
.subpage82 {
width: 100%;
font-weight: 600;
font-size: 1.8rem;
margin: 0 0 5px;
}
/* subpage */











/* dooctor */
.doctor1 {
width: 900px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
}
.doctor2 {
width: 300px;
}
.doctor2 img {
width: 100%;
border-radius: 5px;
}
.doctor3 {
width: calc(100% - 400px);
display: flex;
flex-wrap: wrap;
padding: 6rem 0;
background: #fff;
justify-content: center;
align-items: center;
border-radius: 10px;
align-content: center;
gap: 1rem;
box-shadow: 5px 5px 15px #f1ebe4;
}
.doctor4 {
font-size: 2.2rem;
line-height: 1.4;
width: 100%;
letter-spacing: .5rem;
text-align: center;

}
.doctor5 {
font-size: 4rem;
width: 100%;
text-align: center;
font-weight: 500;
}
.doctor6 {
font-size: 1.5rem;
text-align: center;
width: 100%;
letter-spacing: .3rem;
}
.doctor6 {
width: 100%;
margin: 0 0 0 0;
}
.doctor7 {
margin-bottom: 1.5rem;
}
.doctor7 h3 {
font-size: 3rem;
text-align: center;
letter-spacing: .2rem;
font-weight: 500;
}
.doctor8 {
background: #fff;
border-radius: 10px;
padding: 50px 60px;
width: 1000px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
box-shadow: 5px 5px 15px #f1ebe4;    
}
.doctor9 {
width: 1000px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.b_line {
border-bottom: 1px dotted #51483e;
padding: 0 0 4rem 0;
}
.doctor10 {
width: 100%;
}
.doctor11 {
margin-bottom: 1.5rem;
}
.doctor11 h3 {
font-size: 3rem;
text-align: center;
letter-spacing: .2rem;
font-weight: 500;    
}
.doctor12 {
background: #fff;
border-radius: 10px;
padding: 30px 70px;
width: 100%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.doctor13 {
width: 100%;
color: #323232;
font-weight: 400;
}
.doctor14 {
width: 100%;
margin: 0 0 18px 0;
line-height: 1.3;
}
.doctor15 {
width: 48%;
}
.doctor16 {
background: #fff;
border-radius: 10px;
padding: 50px 60px;
width: 100%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
line-height: 2;
box-shadow: 5px 5px 15px #f1ebe4;    
}
.doctor16 ul	{
list-style: none
}
.doctor16 ul li {
padding-left: 1em;
text-indent: -1em;
}
.doctor17 {
width: 100%;
font-size: 2.7rem;
text-align: center;
margin: 0 0 30px 0;
color: #36a34c;
font-weight: 500;
}
.doctor17b {
width: 100%;
font-size: 2.7rem;
text-align: center;
margin: 0 0 30px 0;
color: #f08300;
font-weight: 500;
}

.doctor18 {
width: 100%;
font-size: 1.6rem;
line-height: 1.8;
}
.doctor19 {
width: 100%;
font-size: 1.4rem;
}
ul.drhistory {
display: flex;
flex-flow: row wrap;
list-style: none;
}
ul.drhistory li {
display: block;
color: #323232;
width: 100%;
padding-left: 1em;
text-indent: -1em;    
}  
/* dooctor */













/*dermatology*/	
.about1 {
width: 90%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 0 auto;
}
.about2 {
width: 48%;
background: #F7F7F7;
border-radius: 10px;
margin: 0 0 40px 0;
}
.about3 {
width: 100%;
}
.about3 img {
width: 100%;
border-radius: 10px 10px 0 0;
}
.about4 {
width: 100%;
font-size: 1.8rem;
text-align: center;
line-height: 1.4;
padding: 2rem 0
}
.about5 {
width: 100%;
padding: 0 20px;
margin: 0 0 20px 0;
font-size: 1.6rem;
letter-spacing: 0;
}
.about6 {
width: 90%;
margin: 0 auto 50px;
background: #fffbd8;
border-radius: 5px;
padding: 20px 40px;
}
.about6 ul li {
width: 100%;
margin: 15px auto 15px;
padding-left: 1em;
text-indent: -1em;
}
/*dermatology*/		








/* appointment */	

.day1{
display: block;
width: 250px;
background: #1ca983;
color: #ffffff;
text-align: left;
padding: .5rem 2rem;
border-radius: 5px;
}

.day2{
display: block;
width: 250px;
background: #3f90b5;
color: #ffffff;
text-align: left;
padding: .5rem 2rem;
border-radius: 5px;
}

.medical_w{
background: #fef3e5;
padding: 30px 0;
border-radius: 10px;
margin: 0 0 20px;
outline: dashed 2px #fec581;
outline-offset: -10px;
}
.medical_h {
font-size: 2.6rem;
color: #f08300;
letter-spacing: .2rem;
line-height: 1.4;
text-align: center;
}
.medical_hs {
font-size: 2rem;
color: #f08300;
letter-spacing: .2rem;
line-height: 1.4;
font-weight: 500;
text-align: center;
}    
.ap_bnr{
width: 880px;
margin: 1rem auto;
display: flex;
border:1px solid #ccc;
}















/* access */
.access__w {
width: 1000px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.access1 {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 0 0 50px 0;
}
.access2 {
width: 70%;
margin: 0 auto;    
text-align: center;
}
.access2 img {
width: 100%;
border-radius: 10px;
}
.access3 {
width: 90%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
text-align: center;
}
.access4 {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
text-align: center;
gap: 20px; 
margin: 0 0 50px 0;    
}
.access5 {
width: calc((100% - 20px) / 2);

}
.access6 {
width: 100%;
}
.about6 img {
width: 100%;
border-radius: 10px 10px 0 0;
}    
.access7 {
width: 100%;
font-size: 1.8rem;
line-height: 1.4;
padding: 2rem 0;
}
.access8 {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: stretch;
margin: 0 0 1px 0;

}
.access8:first-child {}
.access8:last-child {}
.access9 {
width: 25%;
font-size: 1.7rem;
line-height: 1.2;
background: #1db19d;
padding: 2rem;
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
color: #fff;
}
.access10 {
width: 75%;
line-height: 1.6;
font-size: 1.7rem;
padding: 2.5rem 2.5rem;
background: #fafafa;
}
.medical_list {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}   
.medical_list li {
width: 48%;
padding-left: 2rem;
text-indent: -2rem;
line-height: 1.5;
margin: 0 0 15px 0;
font-size: 1.7rem;
}
.medical_list li::before {
content: "●";
color: #1db19d;
margin: 0 .5rem 0 0;
}
.medical_list li:last-child,.medical_list li:nth-last-child(2) {
margin: 0;
}   
/*    
.access11 {
width: 80%;
margin: 0 auto;
}*/
.access11 {
width: 240px;
margin: 30px 0 0;
}    
.access11 a {
width: 100%;
font-size: 1.8rem;
} 
.access11 a span {
display: flex;
align-items: center;
border: 1px solid #c1c1c1;
padding: 2rem 2rem;
border-radius: 0.5em;
background: #f3f3f3;
color: #292929;
font-weight: 500;
text-decoration: none;
gap: 10px;
justify-content: center;
}    
.access11 a span::before {
content: "";
background: url(../images/ic_bus.svg);
display: inline-block;
width: 2.5rem;
height: 2.5rem;
background-size: cover;
}    
.access12 {}
.access13 {
width: 100%;
}
.access14 {
width: 100%;
}
.access14 iframe {
width: 100%;
border-radius: 20px;
}
.access15 {
width: 100%;
margin: 0 0 50px 0;
}
.access16 {
width: 100%;
text-align: center;
}
.access16 img {
width: 100%;
}
.access17 {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 0 auto 50px;
}
.access18 {
width: 32%;
}
.access18 img {
width: 100%;
border-radius: 3px;
margin: 0 0 15px;
}
.access18 span {
padding-left: 1em;
text-indent: -1em;
display: inline-block;
}
.access_route {
width: 100%;
margin: 0 0 20px 0;
}
.access_route span {
display: inline-block;
padding: 0 15px;
border: 1px solid #28634c;
background: #fff;
color: #28634c;
border-radius: 3px;
font-size: 2rem;
}

.access_timetable{
width: 85%;
margin: 0 auto 20px;
background: white;
border-radius: 8px;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
overflow: hidden;
}    

.access_timetable table {
width: 100%;
border-collapse: separate;
border-spacing: 0;
font-size: 1.8rem;
border-radius: 8px;
overflow: hidden;
border-top: 1px solid rgb(224, 224, 224);
border-left: 1px solid rgb(224, 224, 224);
}
.access_timetable table th:first-child {
border-top-left-radius: 8px;
}
.access_timetable table th {
background: #1db19d;
color: #fff;
font-weight: 500;
}
.access_timetable table th {
padding: 17px 8px;
text-align: center;
border-right: 1px solid rgb(224, 224, 224);
border-bottom: 1px solid rgb(224, 224, 224);
}
.access_timetable table td {
padding: 17px 8px;
text-align: center;
border-right: 1px solid rgb(224, 224, 224);
border-bottom: 1px solid rgb(224, 224, 224);
background: white;
}
.access_timetable table tr:last-child td:last-child {
border-bottom-right-radius: 8px;
}
.access_timetable table tr:last-child td:first-child {
border-bottom-left-radius: 8px;
}
.access_timetable_closeday{
width: 85%;
margin: 0 auto;
color: #F14D4D;
font-weight: 500;
}
.access_timetable_note{
width: 85%;
margin: 0 auto;
margin-bottom: 6rem;
}
/* access */


























/* reservation */
.topreservation__w{
background: #fff;
width: 100%;
max-width: 1200px;
margin: 3rem auto .5rem;
}
.topreservation1{
display: flex;
justify-content: space-around;
}
.topreservation1 > div:first-child {
border-right: 1px solid #333;
}
.topreservation2 {
width: 50%;
text-align: center;
}
.topreservation3 {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
margin-top: 10px;
}
.topreservation3 > div:first-child {
margin-right: 2rem;
}

.topreservation4 a{
display: flex;
font-size: 3.5rem;
font-weight: 700;
line-height: 1;
letter-spacing: 0.15rem;
align-items: baseline;
}
.topreservation5 {
font-size: 1.8rem;
margin-bottom: 2rem;
}
.topreservation6 {
width: 260px;
}
.topreservation6 a{
width: 100%;
display: block;
text-align: center;
background: #d87d97;
padding: 1.8rem;
color: #fff;
position: relative;
border-radius: 4px;
}
.topreservation6 div{
width: 100%;
display: block;
text-align: center;
background: #d87d97;
padding: 1.8rem;
color: #fff;
position: relative;
border-radius: 4px;
}
.topreservation6 a:after {
content: '';
position: absolute;
top: 0;
bottom: 0;
right: 2rem;
background: url(../images/ic_arrow1.svg);
display: inline-block;
width: 1.2rem;
height: 1.2rem;
margin: auto;
vertical-align: baseline;
transition: all .3s;
}
.topreservation6 a:hover {
opacity: 1;
background: #bf5f7a;
border-radius: 4px;
}
.topreservation6 a:hover::after {
right: 1.6rem;
}
.topreservation7 {
font-size: 2.3rem;
display: inline-block;
margin-right: 0.5rem;
font-family: 'Zen Old Mincho';
color: #4f4c49;
}

.topreservation8 {
font-size: 2.3rem;
display: inline-block;
margin-right: 0.5rem;
font-family: 'Zen Old Mincho';
color: #4f4c49;
}

.topreservation9 {
width: 100%;
font-size: 1.5rem;
color: #404040;
margin-top: 1rem;
text-align: left;
padding-left: 5rem;
}

/* reservation */


/* footer */
footer{
width: 100%;
background: url(../images/footer_bg.jpg) center center / cover no-repeat;
background-attachment: fixed;
padding: 5rem 0;
position: relative;
}
footer::before {
content: "";
position: absolute;
inset: 0;
background: rgb(255 255 255 / 20%);
z-index: 0;
}

footer > * {
position: relative;
z-index: 1;
}

.footer__w{
width: 1080px;
display: flex;
flex-wrap: wrap;
margin: 0 auto;
justify-content: space-between;
align-items: flex-start;
padding: 5rem;
background: #fff;
border-radius: 10px;

}

.footer1{
width: 400px;
}

.footer2{
width: 100%;
margin-top: .5rem;
margin-bottom: 2.5rem;

}

.footer2 img{
width: auto;
height: 65px;
}

.footer3{
width: 100%;
font-size: 1.8rem;
margin-bottom: 1.5rem;
font-weight: 400;
}

.footer4{
width: 100%;
font-size: 1.7rem;
margin-bottom: 1rem;
font-weight: 400;
}

.footer5{
width: 100%;
margin: 1rem 0 3rem;
border-bottom: 1px solid #f4f2ed;
padding-bottom: 2rem;
}

.footer5 a{
display: inline-block;
font-size: 3rem;
font-weight: 500;
letter-spacing: .2rem;
}


.footer5 a::before {
content: "";
background: url("../images/ic_tel.svg");
width: 2.3rem;
height: 2.3rem;
display: inline-block;
margin-right: .6rem;
}
.footer5 a:hover {
opacity: 1;
background: #807557;
border-radius: 4px;
}
.footer5 a:hover::after {
right: 1rem;
}

.footer6 {
display: flex;
flex-wrap: wrap;
line-height: 1.8;
}

.footer7{
width: 100%;
display: flex;
flex-wrap: wrap;
padding-left: 1rem;
}

.footer7 a{
font-size: 1.7rem;
margin-bottom: 1.2rem;
font-weight: 400;
}

.footer7 a span{
display:inline-block;
position: relative;
padding-left: 1.5em;
}
.footer7 a span::before{
content: "▲";
position: absolute;
top: 50%;
left: 0;
display: inline-block;
font-size: 1rem;
margin: auto;
transition: all .3s;
transform: translateY(-50%) rotate(90deg);
color: #1db19d;
}

.footer7b {
margin-top: 1.5rem;
}
.footer7b a {
display: flex;
justify-content: space-between;
align-items: center;
position: relative;
margin: 0 auto;
padding: 2rem 5rem 2rem 2rem;
line-height: 1;
font-size: 1.7rem;
transition: 0.3s;
border-radius: 4px;
background-color: #f5f0ea;
}

.footer7b a::after {
content: '';
position: absolute;
top: 0;
bottom: 0;
right: 2rem;
background: url(../images/ic_arrow1.svg);
display: inline-block;
width: 1.2rem;
height: 1.2rem;
margin: auto;
vertical-align: baseline;
transition: all .3s;
}

.footer7b a:hover {
text-decoration: none;
background-color: #f5f0ea;
}

.footer7b a:hover::before,
.footer7b a:hover::after {
right: 1.5rem;
}




.footer8{
width: 100%;
margin: 0 0 3rem;
border-bottom: 1px solid #f4f2ed;
padding-bottom: 3rem;
}

.footer9{
width: 100%;
font-weight: 700;
font-size: 1.7rem;
margin-bottom: .5rem;
position: relative;
padding: 0 0 0 1.3em;
}
.footer9::before {
content: '■';
position: absolute;
left: 0;
line-height: 1.6;
color: #1db19d;
}
.footer10{
width: 100%;
font-size: 1.7rem;
margin-bottom: 2rem;
}


.footer10:last-child{
margin-bottom: 0;
}

.footer11{
width: 540px;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding-top: 9rem;
}

.footer12{
width: 100%;
margin-bottom: 1rem;
}
/*画像の場合
.footer12 img{
width: 100%;
}
*/

/*htmlの場合*/
.clinic-hours {
max-width: 600px;
margin: 0 auto 0;
background: white;
border-radius: 8px;
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
overflow: hidden;
}


.department-subtitle {
font-size: 1.3rem;
opacity: 0.9;
margin: 0;
font-weight: normal;
}

.department-header::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(90deg, transparent, white, transparent);
opacity: 0.3;
}

.clinic-hours table {
width: 100%;
border-collapse: separate;
border-spacing: 0;
font-size: 1.8rem;
border-radius: 8px; 
overflow: hidden; 
border-top: 1px solid rgb(224, 224, 224);
border-left: 1px solid rgb(224, 224, 224);
}

.clinic-hours th {
padding: 17px 8px;
text-align: center;
border-right: 1px solid rgb(224, 224, 224);
border-bottom: 1px solid rgb(224, 224, 224);
background: white;
}
.clinic-hours th {
background: #1db19d;
color: #fff;
font-weight: 500;
}
.clinic-hours td {
padding: 17px 8px;
text-align: center;
border-right: 1px solid rgb(224, 224, 224);
border-bottom: 1px solid rgb(224, 224, 224);
background: white;
}
.clinic-hours th:first-child {
border-top-left-radius: 8px;
}
.clinic-hours th:last-child {
border-top-right-radius: 8px;
}
.clinic-hours tr:last-child td:first-child {
border-bottom-left-radius: 8px;
}
.clinic-hours tr:last-child td:last-child {
border-bottom-right-radius: 8px;
}
.time-label {
background: #f8f9ff;
font-weight: bold;
color: #333;
text-align: center;
font-size: 2.3rem;
font-weight: 500;
}

.open {
color: #1db19d;
font-size: 18px;
font-weight: bold;
}

.closed {
color: #8d8d8d;
font-size: 18px;
font-weight: bold;
}

.special {
color: #0066cc;
font-size: 16px;
}

.footer13{
width: 100%;
color: #F14D4D;
font-weight: 500;
padding-left: 1rem;
}



.footer14{
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

.footer15{
width: 80%;
margin: 0 auto;
}

.footer15 img{

}

.footer16{
width: 100%;
text-align: center;
}

.footer16 img{
width: 80px;
}

.footer17{
width: 100%;
margin-bottom: 3rem;
padding-left: 1rem;
}

.footer18{
width: 100%;
margin-bottom: 3rem;
padding-left: 1rem;
}    

.footer18 span{
color: #F14D4D;    
}

.googlemaps__w{
width: calc(100% - 550px);
padding: 0 0 0 20px;
background: #f8f6ef;
}

.googlemaps__w iframe{
width: 90%;
height: 936px;
}

/* footer */


/* copyright */

.copyright {
width: 100%;
padding: 3rem 0;
background: #fff;
text-align: center;
font-size: 1.5rem;
font-weight: 400;    
}

/* copyright */

/*common*/
.topaccess13 a:hover,
.header9 a:hover {
opacity: 1;
background: #bf5f7a;
border-radius: 4px;
}
.topaccess13 a:hover::after,
.header9 a:hover::after {
right: 1.6rem;
}

/* access */

.access__w{
width: 1000px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

/* access */


/*HeightMinというクラス名がついたら高さを小さく、上部固定に*/
#fixnav.HeightMin{
position: fixed;
z-index: 999;/*最前面へ*/
animation: DownAnime 0.5s forwards;
top: 0;
width: 100%;
text-align: center;
}

#fixnav{
background: #fff;
}


/*nav*/

.newspage1{
width: 100%;
display: flex;
flex-wrap: wrap;

}

.newspage2{
width: 100%;
font-size: 1.4rem;
margin: 0 0 8px 0;
color: #555;
}

.newspage3{
width: 100%;
font-size: 2.2rem;
color: #3caa30;
margin: 0 0 10px 0;
}

.newspage4{
width: 100%;
font-size: 1.6rem;
}


/* <!--btn reservation--> */
.btn_fix__w{
position: fixed;
top: 260px;
right: 50px;
z-index: 2100;
}

.btn_fix__w a{
width: 196px;
height: 220px;
display: block;
}

.btn_fix__w a img{
width: 100%;
height: 100%;
}

.btn_fix__w a:hover,
.btn_fix__w a:active{
opacity: .7;
transform: translateY(-5px);
}


/* <!--btn reservation--> */
.btn_fix2__w{
position: fixed;
top: 510px;
right: 20px;
z-index: 2100;
}

.btn_fix2__w a{
width: 196px;
height: 220px;
display: block;
}

.btn_fix2__w a img{
width: 100%;
height: 100%;
}

.btn_fix2__w a:hover,
.btn_fix2__w a:active{
opacity: .7;
transform: translateY(-5px);
}


/* access */
.footertimetable__w {
flex: 1;
margin: 0 auto;
}

.footertimetable1 {
width: 100%;
margin: 0 auto;
}
.footertimetable2 {
display: flex;
flex-wrap: wrap;
height: 100%;
}
.topreservation3 {
width: 100%;
text-align: center;
margin-bottom: 3rem;
}
.footertimetable4 {
border-collapse: collapse;
overflow-x: scroll;
width: 650px;
margin: 0 auto;
}
.footertimetable4 th,
.footertimetable4 td {
padding: .9rem 1.2rem;
text-align: center;
border-bottom: 1px solid #fff;
font-size: 1.5rem;
color: #fff;
position: relative;
}

.footertimetable4 th {
font-weight: 400;
vertical-align: middle;
}

.footertimetable4 th span {
font-size: 1rem;
display: inline-block;
}

.footertimetable5 {
width: 100%;
text-align: right;
color: #fff;
margin-top: .5rem;
padding-right: 1rem;
font-size: 1.5rem;
}

.footertimetable6 {
display: inline-block;
text-align: left;
}

.footertimetable4 td sup {
position: absolute;
vertical-align: super;
font-size: 1rem;
letter-spacing: 0;
}

.footertimetable4 th sup {
position: absolute;
vertical-align: super;
font-size: 1rem;
letter-spacing: 0;
}

.biyoprice__w {
width: 100%;
margin-top: 7rem;
}

.biyoprice1 {
width: 750px;
margin: 0 auto;
}

.biyoprice2 {
width: 100%;
text-align: center;
margin-bottom: 3.5rem;
}

.biyoprice2 span {
font-size: 2.2rem;
display: inline-block;
text-align: center;
padding: .5rem 2.5rem;
border: 1px solid #555;
font-weight: 500;
}

.biyoprice3 {
width: 100%;
font-size: 2rem;
text-align: center;
margin-bottom: 1rem;
font-weight: 500;
}

.biyoprice_text {
font-size: 1.35rem;
}

.biyoprice4 {
width: 100%;
margin-bottom: 4rem;
}

.biyoprice4 table {
width: 70%;
margin: 0 auto;
}

.biyoprice4 table td{
border: 1px solid #d0d0d0;
padding: .7rem 2rem;
vertical-align: middle;
background: #FCFCFC;
font-size: 1.35rem;
}

.biyoprice4 table td:first-child{
width: 40%;
font-weight: 500;
text-align: center;
}

.biyoprice4 table td:last-child{
font-weight: 500;
text-align: right;
}

.biyoprice4 table td.kaisuu{
border-right: none;
text-align: right;
width: 43%;
font-weight: 500;
}

.biyoprice4 table td.kaisuu + td{
border-left: none;
padding-left: 0;
}

.biyoprice4 table td span{
display: block;
font-size: 1.3rem;
}

.biyoprice4 table{
}




.biyoprice5 table td:nth-child(2){
text-align: right;
}

table.tabeldoctor1{
width: 100%;
border: 1px solid #989898;
}

table.tabeldoctor1 th{
border: 1px solid #989898;
padding: .5rem;
text-align: center;
font-weight: 500;
color: #fff;
background: #505050;
}

table.tabeldoctor1 td{
border: 1px solid #989898;
padding: .5rem;
text-align: center;
vertical-align: middle;
}

table.tabeldoctor1 td:first-child{
padding: .5rem;
text-align: center;
vertical-align: middle;

}

.tabeldoctor2{
background: #f2f2f2;
font-weight: 500;
}

.tabeldoctor3{
width: 100%;
text-align: right;
line-height: 1.7;
}

.tabeldoctor4{
display: inline-block;
text-align: left;
}

.checkupmenu1{
width: 100%;
text-align: center;
margin: 0 auto;
border-bottom: 1px dotted #000;
padding-bottom: 10rem;
}


.checkupmenu1 .pinkbtn01{
width: 50rem;
text-align: center;
margin: 0 auto;
}

.checkupmenu2{
text-align: center;
}



.checkupmenu3{
width: 100%;

}

.checkupmenu3 table{
width: 100%;
border: 1px solid #ccc;
}

.checkupmenu3 table th{
border: 1px solid #ccc;
padding: 1.2rem .5rem;
vertical-align: middle;
text-align: center;
font-size: 1.6rem;
font-weight: 700;
background: #eee;
}

.checkupmenu3 table th:nth-child(1){
width: 10rem;
}

.checkupmenu3 table th:nth-child(2){
width: 32rem;
}

.checkupmenu3 table th:nth-child(3){
width: calc(100% - 42rem);
}


.checkupmenu3 table td{
border: 1px solid #ccc;
padding: .5rem .5rem;
vertical-align: middle;
text-align: center;
font-size: 1.5rem;
}

.checkupmenu3 table td.checkupmenu4{
border: 1px solid #ccc;
padding: 1.7rem .5rem;
vertical-align: middle;
text-align: center;
font-size: 1.8rem;
font-weight: 600;
background: #F0F0F0;
}

.checkupmenu5{
padding: 0 2rem;
margin-top: 2rem;
margin-bottom: 8rem;
}

.pageback{
margin: 0 0 0 auto;
width: 16%;
font-size: 1.5rem;
margin-top: 20px;
font-weight: 500;
}

.pageback a::before{
content: '▲';
color: #d87d97;
}

.marker{
background: linear-gradient(transparent 70%, #ffe700 70%);
}

.makeup-parts{
font-size: 1.8rem;
color: #ffffff;
background: #62582C;
text-align: center;
width: 24%;
margin: 2em 0 1em;
}	
.makeup-parts-detail{
margin-bottom: 30px;
}	

.bnr_topics{
width: 1200px;
margin: 50px auto 0;
text-align: right;
}
.bnr_topics a{
display: inline-block;
width: 60%;
box-shadow: 3px 2px 3px #cbc2af;
}
.bnr_topics img{
width: 720px;
height: 200px;
}

.bnr_kenpo{
width: 900px;
margin: 50px auto 50px;
text-align: center;
}
.bnr_kenpo a{
display: inline-block;
width: 100%;
box-shadow: 3px 2px 10px #e7e7e6;
}
.bnr_kenpo a img{
width: 900px;
height: 100px;
}

.recruit_img{
width: 800px;
margin: 0 auto;
}
.recruit_img img{
width: 800px;
height: 400px;
}

.recruit_text{
width: 100%;
}

.recruit_title{
font-size: 2rem;
padding: 0 0.5% 1.3rem;
border-bottom: 1px solid #5d481d;
margin-bottom: 1.3rem;
color: #5d481d;
font-family: 'Playfair Display', serif;
}



.topkijun__w {
width: 100%;
background: #e5e2dd;
padding: 5rem 0;
}

.topkijun1 {
width: 800px;
margin: 0 auto;
padding: 3rem;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
background: #fff;
border-radius: 5px;
}

.topkijun2 {
width: 100%;
font-size: 2.2rem;
font-weight: 500;
text-align: center;
margin-bottom: 1rem;
}

.topkijun3 {
width: 100%;
font-size: 1.8rem;
font-weight: 500;
}

.topkijun4 {
width: 100%;
margin-bottom: 2rem;
font-size: 1.5rem;
}

.topkijun4:last-child {
margin-bottom: 0;
}






.topbnr__w{
width: 100%;
padding: 8rem 0 0;
}
.topbnr1{
width: 1000px;
display: flex;
justify-content: space-between;
margin: 0 auto;
}
.topbnr2{
width: 320px;
}

.topbnr2 img{
border: 1px solid #DCDCDC;
box-shadow: 10px 10px 10px #ededed;
}


/* cosmetics */

.yoyakubnr {
width: 100%;
}
.yoyakubnr a {
display: inline-block;;
flex-wrap: wrap;
justify-content: center;
align-items: center;
font-weight: 500;
line-height: 1.3;
color: #fff;
border-radius: 400px;
background: #f08300;
text-align: center;
box-shadow: 0 5px 0 #E9610A;
font-size: 1.8rem;
padding: 1.2rem 3rem;
}

.yoyakubnr a span::before {
content: "";
background: url("../images/ic_arrow4.svg") no-repeat;
display: inline-block;
width: .8rem;
height: .8rem;
margin: 0 .5rem 0 0;
vertical-align: middle;
}


.yoyakubnr .btn_icon {
width: 40px;
height: 40px;
margin: 0 2vw 0 0;
}





.clinic-flow {
counter-reset: step;
width: 100%;
margin: 0 auto 60px;
}

.clinic-step {
display: flex;
position: relative;
margin-bottom: 40px;
gap: 30px;
}
.clinic-step:last-child{
margin-bottom: 0;
}
.clinic-step-left {
width: 80px;
display: flex;
flex-direction: column;
align-items: center;
position: relative;
}

.clinic-step-num::before {
counter-increment: step;
content: counter(step, decimal-leading-zero);
display: flex;
justify-content: center;
align-items: center;
width: 60px;
height: 60px;
border-radius: 50%;
background-color: #1db19d;
color: #fff;
font-weight: 500;
font-size: 2.5rem;
margin-bottom: 8px;
}

.clinic-step-line {
flex-grow: 1;
width: 1px;
background-color: #433a28;
}

.clinic-step-main {
width: 100%;
display: flex;
flex-direction: row;
gap: 60px;
}

.clinic-step-main h4 {
display: flex;
align-items: center;
gap: 12px;
font-size: 2.2rem;
margin-bottom: 8px;
color: #1db19d;
font-weight: 600;
}

.clinic-step-img {
width: 150px;
height: auto;
object-fit: cover;
}
.clinic-step-img img{
width: 100%;
border-radius: 100px;
}    
.clinic-step-text{
flex: 1;
}
.clinic-step-text p {
line-height: 1.6;
}

.sub_catch {
font-size: 1.8rem;
line-height: 1.8;
width: 100%;
margin: 0 0 60px;
padding: 20px 30px;
border-radius: 10px;
text-align: justify;
border: 1px solid #33b8a6;
background: #fff;
box-shadow: 8px 8px 0 #e1f3f1; 
}
.hd_ttl{
width: 100%;
}
.hd_ttl span {
line-height: 1.8;
font-size: 2rem;
font-weight: 500;
display: inline-block;
padding: 5px 30px;
background: #33b8a6;
color: #fff;
border-radius: 50px;
}



/*当院の特長*/
.feature_sub__w{

}
.feature_sub_w{
width: 100%;
position: relative;
}

.feature_sub_img{
width: 350px;
position: absolute;
top: 70px;
right: 0;
}
.feature_sub_img img{
width:100%;
border-radius: 8px;    
}
.feature_sub_txt_w{

}

.feature_num{
width: 80px;
}    
.feature_num img {
width: 100%
} 
.feature_title{
width: 100%;
font-size: 2.35rem;
font-weight: 600;
line-height: 1;
margin-bottom: 2rem;
display: flex;
height: 50px;
align-items: center;
color: #1db19d;
}    
.feature_sub_txt{
margin: 0 400px 0 0;
}    

.detail_list{
width: 100%;
position: relative;
padding: 30px 30px;
background: #f5f5f5;
border-radius: 10px;
}
.detail_list li {
width: 100%;
position: relative;
padding: 0 0 0 1.5em;
margin: 0 0 .5rem;
text-align: justify;
font-weight: 500;
font-size: 1.7rem;
}    
.detail_list li::before {
display: block;
position: absolute;
top: 10px;
left: 0;
width: 12px;
height: 12px;
background-color: #1db19d;
content: '';
border-radius: 50%;
}

.detail_list li:last-child {
margin: 0;
}
.caption01{
font-size: 1.9rem;
font-weight: 500;
}

.bullet_points li{
margin: 0 0 10px;
width: 100%;
position: relative;
padding: 0 0 0 1em;
font-weight: 500;
}

.bullet_points li::before {
display: block;
position: absolute;
top: 1.2rem;
left: 0;
width: .6rem;
height: .6rem;
background-color: #292929;
border-radius: 50%;
content: '';
}

.subject_list{
padding: 3rem;
background: #f7f7f7;
border-radius: 8px;
}
.subject_list ul {
width: 100%;
display: flex;
flex-wrap: wrap;
list-style: none;
}
.subject_list ul li {
width: 100%;
line-height: 1.6;
margin: 0 0 15px 0;
padding-left: 3rem;
text-indent: -3rem;
}
.subject_list ul li span::before {
content: "";
display: inline-block;
background: url(../images/ic_check.svg);
width: 2rem;
height: 2rem;
margin: 0 10px 0 0;
vertical-align: sub;
}
.subject_list ul li:last-child {
margin: 0 0 0 0;
}
.summary_txt{
color: #eb7777;
font-weight: 600;
font-size: 1.9rem;
}
}
/* PC */



@keyframes DownAnime{
from {
opacity: 0;
transform: translateY(-170px);
}
to {
opacity: 1;
transform: translateY(0);
}
}

/*当院の特長*/
@keyframes appear {
to { opacity: 1; }
}

@keyframes flip3d {
from {
transform: rotateY(-45deg);
opacity: 0;
}
to {
transform: rotateY(0deg);
opacity: 1;
}
}

@keyframes flip3dText {
from {
transform: translateY(-50%) rotateY(45deg);
opacity: 0;
}
to {
transform: translateY(-50%) rotateY(0deg);
opacity: 1;
}
}



/* sp */
@media screen and (max-width:750px) {

.wrapper{
padding: 0 0 7rem 0;
}

/* header */

header{
width: 100%;
display: flex;
align-items: center;
flex-wrap: wrap;
height: 7rem;
position: fixed;
top: 0;
z-index: 100;
background: #fff;
}

.header1{
width: calc(100%);
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

.header2{
width: 100%;
margin: 0 auto;
}

.header2 h1{
width: calc(100% - 6rem);
height: 7rem;
margin-left: 2rem;
text-align: center;
display: flex;
align-items: center;
justify-content: center;
}

.header2 h1 a{
display: inline-block;
}

.header2 h1 a img{
height: 5.5rem;
width: auto;
display: block;    
}

.header3{
display: none;
width:100%;
margin: 0 auto;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
text-align: center;
}

.header4{
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;

}

.header5{
width: 100%;
text-align: center;
}

.header5 span{
text-align: center;
font-size: 1.4rem;
}

.header6 a{
display: block;
font-size: 2.5rem;
line-height: 1;
width: 20rem;
}

.header6 a span::before{
background: url("../images/ic_tel.svg");
display: inline-block;
width: 1.8rem;
height: 1.8rem;
margin: 0 .2rem 0 0;
vertical-align: middle;
}

.header7{
width: 100%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
}

.header8{
width: 100%;
text-align: center;
}

.header8 span{
text-align: center;
font-size: 1.4rem;
width: 9rem;
}

.header9 a{
display: block;
font-size: 2.5rem;
line-height: 1;
color: #63c06b;
width: 20rem;
}

.header9 div{
display: block;
font-size: 2.5rem;
line-height: 1;
color: #63c06b;
width: 20rem;
}

.header9 a span::before{
background: url("../images/ic_tel.svg");
display: inline-block;
width: 1.8rem;
height: 1.8rem;
margin: 0 .2rem 0 0;
vertical-align: middle;
}

.header10{
width: 100%;
text-align: center;
}

.header10 a{
display: inline-block;
background: linear-gradient(270deg, #2fb383, #18a86b);
text-align: center;
color: #fff;
box-shadow: 6px 6px 10px #c1ffe8;
}

.header10 a span{
display: block;
position: relative;
width: 100%;
padding: 1.2rem 3rem;
}

.header10 a span::after{
position: absolute;
top: 2.7rem;
right: .8rem;
content: "";
background: url("../images/ic_arrow1.svg");
display: inline-block;
width: 1.2rem;
height: 1.2rem;
margin: 0 0 0 .6rem;
vertical-align: baseline;
}

.footer__w .header10 a span::after{
position: absolute;
top: 1.9rem;
right: .8rem;
content: "";
background: url("../images/ic_arrow1.svg");
display: inline-block;
width: 1.2rem;
height: 1.2rem;
margin: 0 0 0 .6rem;
vertical-align: baseline;
}

.header11{
font-size: 1.2rem;
}

.header12{
width: calc(100% - 60px);
font-size: 1.2rem;
margin: 0.5rem auto 1.2rem;
text-align: center;
letter-spacing: 0;
}

.header13{
width: 100%;
}

.header13 a {
display: inline-block;
background: #d87d97;
text-align: center;
padding: 1.5rem 5rem;
color: #fff;
font-size: 1.6rem;
letter-spacing: .2rem;
position: relative;
border-radius: 4px;
width: 20rem;
}

.header13 div {
display: inline-block;
background: #d87d97;
text-align: center;
padding: 1.5rem 1.5rem;
color: #fff;
font-size: 1.6rem;
letter-spacing: .2rem;
position: relative;
border-radius: 4px;
width: 20rem;
}

.header13 a:after {
content: '';
position: absolute;
top: 0;
bottom: 0;
right: 2rem;
background: url("../images/ic_arrow1.svg");
display: inline-block;
width: 1rem;
height: 1rem;
margin: auto;
vertical-align: baseline;
transition: all .3s;
}

.header14{
text-align: center;
width: 100%;
font-size: 1.4rem;
color: #404040;
}


/* header */


/* nav */

/*========= ナビゲーションのためのCSS ===============*/

#g-nav{
position: fixed;
z-index: -1;
display: none;
top: 0;
width: 100%;
height: calc(100vh - 7rem);
background: #ffffff;
transition: all 0.3s;
margin: 7rem auto 0;   
overflow-y: auto;
}

/*アクティブクラスがついたら透過なしにして最前面へ*/
#g-nav.panelactive{
display: block;
z-index:999;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
position: fixed;
z-index: 999; 
width: 100%;
height: 100vh;
overflow: auto;
-webkit-overflow-scrolling: touch;
}

/*ナビゲーション*/
#g-nav .navul,
#g-nav .navul2 {
display: none;
z-index: 999;
}

#g-nav.panelactive .navul {
width: 100%;
display: flex !important;
flex-wrap: wrap;
justify-content: space-between;
background: #1db19d;    
}

/*リストのレイアウト設定*/
.navulli1,
.navulli2,
.has-child{
list-style: none;
text-align: center;
width: 50%;
border-bottom: solid 1px #ccc;
}

.navulli1,
.navulli2{
}
.navul div:nth-child(odd){
border-right: solid 1px #ccc;
}

.navul div:nth-child(-n + 2){
border-top: solid 1px #ccc;
}
.navulli1 a,
.navulli2 a,
.has-child a{
text-decoration: none;
padding: 1.5rem 0;
display: block;
text-transform: uppercase;
letter-spacing: 0rem;
font-weight: 500;
font-size: 1.5rem;
background: #1db19d;
width: 100%;
margin: 0 auto;
color: #ffffff;
}

.navulli1 a span,
.has-child > a span
{
display: block;
position: relative;
}

.sp_info_w {
width: 90%;
margin: 0 auto 0;
}   
.sp_timetable_w {
width: 100%;
}    




#g-nav.panelactive .has-child-3{
width: 100%;
display: none !important;
flex-wrap: wrap;
justify-content: flex-start;
margin: .5rem auto 0;
}

#g-nav.panelactive .navulli2{
width: 100%;
margin: 0 0 .5rem 0;
align-items: center;
display: flex;
}

#g-nav.panelactive .navulli2:nth-child(2n){
}

#g-nav.panelactive .navulli2 a{
font-size: 1.3rem;
line-height: 1.2;
padding: .5rem 1rem;
display: block;
width: 100%;
letter-spacing: -0.05rem;
background: #fff;
}

#g-nav.panelactive .navulli2 img{
width: 100%;
border-radius: 10px 3px 10px 3px;
}

.has-child-2{
width: 100%;
display: flex;
flex-wrap: wrap;
}

.has-child-3{
width: 100%;
display: flex;
flex-wrap: wrap;
}


/*========= ボタンのためのCSS ===============*/
.openbtn{
position: fixed;
z-index: 9999;
top: 1rem;
right: 2rem;
cursor: pointer;
width: 4rem;
height: 4rem;
}

/*×に変化*/	
.openbtn span{
display: inline-block;
transition: all .4s;
position: absolute;
left: 0;
height: 3px;
border-radius: 2px;
background-color: #1db19d;
width: 100%;
}

.active span{
display: inline-block;
transition: all .4s;
position: absolute;
height: 3px;
border-radius: 2px;
background-color: #1db19d !important;
width: 100%;
}

.openbtn span:nth-of-type(1) {
top:1rem;	
}

.openbtn span:nth-of-type(2) {
top:2.2rem;
}

.openbtn span:nth-of-type(3) {
top:3.4rem;
}

.openbtn.active span:nth-of-type(1) {
top: 2rem;
left: 0;
transform: translateY(6px) rotate(-45deg);
width: 100%;
}

.openbtn.active span:nth-of-type(2) {
opacity: 0;
}

.openbtn.active span:nth-of-type(3){
top: 3.2rem;
left: 0;
transform: translateY(-6px) rotate(45deg);
width: 100%;
}


.spnavinfo__w{
width: 100%;
display: flex;
flex-wrap: wrap;
align-content: center;
}

.menu-new{
font-size: 1rem;
vertical-align: top;
padding-left: .3rem;
color: #B60000;
font-family: "Hiragino Mincho ProN", "YuMincho", "Yu Mincho", "MS PMincho", serif;
font-weight: 500;
}

.has-child:nth-last-child(1) a{/*赤いNEWの文字の分を調整（NEWの文字を削除したらこれのcssも削除）*/
padding-left: 2em;
}

/* nav */


/* pagetop */


#page-top {
position: fixed;
bottom: 8rem;
right: 0.8rem;
z-index: 2;    
margin: 0;
padding: 0;
width: 4rem;
}
#page-top a {

display: block;
opacity: 0.9;
transition: all .3s ease;
}
#page-top a:hover {
text-decoration: none;
opacity: .5;
}


#page-top a img{
width: 100%;
display: block;
opacity: .8;
}


/* pagetop */
























/* subpage */
.subpagetitle__w {
width: 100%;
padding: 5vw 0;
position: relative;
margin-top: 7rem;    
}
.subpagetitle__w::after {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.subpagetitle__w1 {
background-image:linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url("../images/subpagetitle.jpg");
background-size: cover;
background-repeat: no-repeat;
background-position: center;    
}
.subpagetitle__w2 {
background: #ebd5c8 url(../images/subpagetitle2.jpg) left center no-repeat;
background-size: cover;
}
.subpagetitle__w3 {
background: #ebd5c8 url(../images/subpagetitle3.jpg) left center no-repeat;
background-size: cover;
}
.subpagetitle__w4 {
background: #ebd5c8 url(../images/subpagetitle4.jpg) left center no-repeat;
background-size: cover;
}
.subpagetitle__w5 {
background: #ebd5c8 url(../images/subpagetitle5.jpg) left center no-repeat;
background-size: cover;
}
.subpagetitle1 {
text-align: center;
position: relative;
z-index: 99;
}
.subpagetitle1 h2 {
font-size: 2.0rem;
letter-spacing: .3rem;
line-height: 1.2;
display: inline-block;
border-radius: 5px;
width: 100%;
position: relative;
color: #ffffff;
text-shadow: 0 0 15px rgb(0, 0, 0, 0.5);
font-weight: 600;    
}
.subpagetitle1 h2 span {
display: block;
}

.subpagetitle2 {
width: 100%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.subpagetitle3 {
width: 90%;
background: #fff;
padding: 2vw;
border-radius: 30px 10px 30px 10px;
margin: 0 auto;
}
.subpagetitle4 {
width: 100%;
}
.subpagetitle4 img {
border-radius: 30px 10px 30px 10px;
}
.subpage__w {
width: 100%;
background: #fcf8f4;
padding: 3rem 0;
}
.subpage0 {
width: 90%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}    
.subpage1 {
width: 95%;
margin: 0 auto 0;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
background: #fff;
padding: 3rem 2rem;
box-shadow: 5px 5px 15px #f1ebe4;
border-radius: 10px;
}
.subpage2, .subpage2b {
width: 100%;
margin: 0 0 2rem 0;
}

.subpage2 h2 {
font-size: 2.0rem;
letter-spacing: .1rem;
line-height: 1.5;
text-align: center;
border-bottom: 10px solid #f7f7f7;
padding: 0 0 5vw 0;
font-weight: 500;
}
.subpage2b h2 {
font-size: 2.0rem;
letter-spacing: .1rem;
line-height: 1;
text-align: center;
color: #f08300;
border-bottom: 10px solid #f7f7f7;
padding: 0 0 5vw 0;
}
.subpage3 {
width: 100%;
padding: 0 1vw;
line-height: 1.8;
}
.subpage3 h4 {
font-size: 1.5rem;
letter-spacing: .04rem;
line-height: 1.2;
padding: 0 0 2vw;
font-weight: 500;
}
.subpage4 {
width: 100%;
}
.subpage4 a {
display: block;
width: 80%;
margin: 0 auto;
background: #ffee9c;
padding: 4vw 0;
text-align: center;
letter-spacing: -.005rem;
color: #643e2f;
box-shadow: 6px 6px 15px #fff2b3;
font-weight: 500;
font-size: 1.4rem;
line-height: 1;
position: relative;
}
.subpage4 a span {
display: block;
width: 100%;
}
.subpage4 a span::after {
content: "";
background: url("../images/ic_arrow1.svg");
display: inline-block;
width: 2.2rem;
height: 2.2rem;
position: absolute;
top: 1.2rem;
right: -1.2rem;
}
.subpage4 a:hover {
transform: translateY(-3px);
opacity: .5;
}
.subpage5 {
width: 100%;
position: relative;
padding: 5vw 5vw;
background: #f5f5f5;
border-radius: 10px;
}
.subpage5 ul {
width: 100%;
list-style: none;
}
.subpage5 ul li {
width: 100%;
line-height: 1.8;
margin: 0 0 2vw 0;
}
.subpage5 ul li:last-child {
margin: 0 0 0 0;
}
.subpage5 ul li span {
width: 100%;
}
.subpage5 ul li span::before {
content: "";
display: inline-block;
background: url("../images/ic_check.svg");
width: 1.6rem;
height: 1.6rem;
margin: 0 1vw 0 0;
vertical-align: sub;
}
.subpage6 {
width: 100%;
padding: 5vw 5vw;
position: relative;
background: #f5f5f5;
border-radius: 10px;
}
.subpage6 ul {
width: 100%;
}
.subpage6 ul li {
width: 100%;
line-height: 1.6;
margin: 0 0 2vw 0;
padding-left: 2.2rem;
text-indent: -2.2rem;
}
.subpage6 ul li:last-child {
margin: 0 0 0 0;
}
.subpage6 ul li span {
width: 100%;
}
.subpage6 ul li span::before {
content: "";
display: inline-block;
background: url("../images/ic_check2.svg");
width: 1.6rem;
height: 1.6rem;
margin: 0 1vw 0 0;
vertical-align: sub;
}
.subpage7 {
width: 100%;
}
.subpage7 ul {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
gap: 1rem;
}
.subpage7 ul li {
width: 100%;
}
.subpage7 ul li:last-child {
margin: 0 0 0 0;
}
.subpage7 ul li a {
display: flex;
align-items: center;
justify-content: space-between;
padding: 2rem 0;
letter-spacing: -.005rem;
font-weight: 500;
font-size: 1.4rem;
line-height: 1.4;
position: relative;
border-radius: 3px;
background: #ffffff;
transition: transform .3s, opacity .3s;
box-sizing: border-box;
box-shadow: 5px 5px 15px #f1ebe4;
text-align: center;    
}
.subpage7 ul li a:hover {
transform: translateY(-3px);
opacity: .5;
}
.subpage7 ul li a span {
width: 100%;
display: block;
text-align: center;
}
.subpage7 ul li span::after {
content: "";
background: url(../images/ic_arrow6.svg) no-repeat center / contain;
display: inline-block;
width: 1.5rem;
height: 1.5rem;
position: absolute;
top: 50%;
transform: translateY(-50%);
right: 1rem;
opacity: .9;
}
.subpage8{
width: 100%;
}
.subpage8 h3{
font-size: 1.8rem;
letter-spacing: .02rem;
line-height: 1.2;
padding: .3rem 0 .3rem 1.4rem;
margin: 0 0 2rem;	
position: relative;
font-weight: 500;
}
.subpage8 h3::before{
border-left: 4px solid #1db19d;
content: "";
height: 100%;
left: 0;
position: absolute;
top: 0;
border-radius: 10px;	
}
.subpage9 {
width: 80%;
margin: 0 auto;
}
.subpage9 img {
width: 100%;
border-radius: 10px;
}
.subpage10 {
width: 100%;
background: #F5F5F5;
position: relative;
padding: 5vw;
border-radius: 0;
margin: 0 auto;
}
.subpage10 ul {
width: 100%;
}
.subpage10 ul li {
width: 100%;
line-height: 2.2;
}
.subpage10 ul li span {
width: 100%;
}
.subpage10 ul li span::before {
content: "";
display: inline-block;
background: url("../images/ic_check3.svg");
width: 1.6rem;
height: 1.6rem;
margin: 0 10px 0 0;
vertical-align: sub;
}
.subpage11 {
display: inline-block;
margin: -4.5rem 0 0 0;
background: #927ab9;
color: #fff;
text-align: center;
padding: 1.5vw 5vw;
border-radius: 3px;
position: absolute;
font-size: 1.6rem;
line-height: 1.2;
}
.subpage12 {
padding: 2vw 0 0 0;
font-size: 1.4rem;
line-height: 2;
}
.subpage13 {
display: inline-block;
margin: -4.5rem 0 0 0;
background: #1eaa39;
color: #fff;
padding: 1.5vw 3vw;
border-radius: 3px;
position: absolute;
font-size: 1.6rem;
line-height: 1.2;
}
.subpage14 {
display: inline-block;
margin: -4.5rem 0 0 0;
background: #7dadd4;
color: #fff;
text-align: center;
padding: 1.5vw 5vw;
border-radius: 3px;
position: absolute;
font-size: 1.6rem;
line-height: 1.2;
}
.subpage15 {
width: 100%;
line-height: 1.8;
}
.subpage16 {
width: 100%;
}
.subpage16 span {
line-height: 1.8;
font-size: 1.5rem;
font-weight: 700;
display: block;
padding: 1vw 3vw;
letter-spacing: 0.1rem;
background: #fff;
color: #213546;
border-left: 10px solid #7dadd4;
}
.subpage17 {
width: 100%;
}
.subpage17 span {
line-height: 1.8;
font-size: 1.5rem;
font-weight: 700;
display: inline-block;
padding: 1vw 4vw;
letter-spacing: .1rem;
background: #ffffff;
border-bottom: 1px solid #47c8af;
}
.subpage18 {
width: 100%;
}
.subpage19 {
width: 100%;
position: relative;
padding: 30px 30px;
background: #f5f5f5;
border-radius: 10px;
}
.subpage19 ul {
width: 100%;
}
.subpage19 ul li {
width: 100%;
line-height: 2;
margin: 0 0 5px 0;
}
.subpage19 ul li:last-child {
margin: 0 0 0 0;
}
.subpage19 ul li span {
width: 100%;
}
.subpage19 ul li span::before {}
.subpage20 {
display: inline-block;
margin: -5.5rem 0 0 0;
background: #fbfdd5;
color: #25cf40;
text-align: center;
padding: 2vw 5vw;
border-radius: 3px;
position: absolute;
font-size: 1.6rem;
line-height: 1.4;
border: 2px solid #25cf40;
font-weight: 700;
}
.subpage21::before {
content: "";
display: inline-block;
background: url("../images/ic_check4.svg");
width: 2rem;
height: 2rem;
margin: 0 10px 0 0;
vertical-align: sub;
}
.subpage22 {
display: inline-block;
margin: -5.5rem 0 0 0;
background: #0ba524;
color: #fff;
text-align: center;
padding: 2vw 5vw;
border-radius: 3px;
position: absolute;
font-size: 1.6rem;
line-height: 1.4;
}
.subpage23::before {
content: "";
display: inline-block;
background: url("../images/ic_check5.svg");
width: 2rem;
height: 2rem;
margin: 0 1vw 0 0;
vertical-align: sub;
}
.subpage24 {
width: 100%;
margin: 0 auto 3vw;
text-align: center;
}
.subpage24 a {
display: inline-block;
background: linear-gradient(90deg, #1ea189, #0cbd7c);
text-align: center;
font-size: 1.4rem;
font-weight: 500;
color: #fff;
border-radius: 200px;
line-height: 1;
padding: 3vw 7vw;
box-shadow: 7px 7px 20px #9ff4c2;
letter-spacing: .05rem;
}
.subpage24 a span::before {
content: "";
background: url("../images/ic_arrow1.svg") no-repeat;
display: inline-block;
width: 1.3rem;
height: 1.3rem;
margin: 0 1.5vw 0 0;
vertical-align: middle;
}
.subpage25 {
width: 100%;
font-size: 1.6rem;
padding: 6vw 3vw;
background: #f1fff6;
}
.subpage26 {
display: inline-block;
padding: 0 0 0 5vw;
}
.subpage26::first-letter {
color: #009f88;
display: inline-block;
font-weight: 900;
font-size: 2.2rem;
margin: 0 1vw 0 0;
}
.subpage27 {
display: inline-block;
padding: 0 0 0 8vw;
}
.subpage27::first-letter {
color: #00a341;
display: inline-block;
font-weight: 900;
font-size: 2.2rem;
margin: 0 1vw 0 0;
}
.subpage28 {
display: inline-block;
padding: 0 0 0 12vw;
}
.subpage28::first-letter {
color: #36a34b;
display: inline-block;
font-weight: 900;
font-size: 2.2rem;
margin: 0 1vw 0 0;
}
.subpage29 {
width: 100%;
}
.subpage29 span {
line-height: 1.8;
font-size: 1.4rem;
font-weight: 500;
display: inline-block;
padding: .5vw 5vw;
letter-spacing: .1rem;
background: #ffffff;
border: 1px solid #7cb1db;
color: #499de1;
border-radius: 200px;
}
.subpage30 {
width: 100%;
padding: 4vw 4vw;
display: flex;
flex-wrap: wrap;
background: #fffee7;
border-radius: 5px;
}
.subpage31 {
width: 100%;
color: #e95446;
margin: 0 0 2vw 0;
font-size: 1.7rem;
text-align: center;
}
.subpage32 {
width: 100%;
font-size: 1.3rem;
color: #4a2811;
line-height: 1.5;
}
.subpage33 {
width: 100%;
text-align: center;
}
.subpage34 {
width: 100%;
}
.subpage34 span {
display: block;
padding: 3vw 4vw;
color: #ffffff;
font-size: 1.8rem;
font-weight: 500;
margin: 0 0 5vw 0;
background: linear-gradient(90deg, #009f88, #3f9fcb);
border-radius: 3px 13px 3px 13px;
line-height: 1.5;
}
.subpage35 {
width: 100%;
}
.subpage35 img {
width: 100%;
border-radius: 3px;
}
.subpage36 {
width: 100%;
position: relative;
padding: 30px 30px;
background: #f5f5f5;
border-radius: 10px;
}
.subpage36 ul {
width: 100%;
}
.subpage36 ul li {
width: 100%;
line-height: 2;
margin: 0 0 5px 0;
}
.subpage36 ul li:last-child {
margin: 0 0 0 0;
}
.subpage36 ul li span {
width: 100%;
}
.subpage36 ul li span::before {
content: "";
display: inline-block;
background: url("../images/ic_cross.svg");
width: 2rem;
height: 2rem;
margin: 0 10px 0 0;
vertical-align: sub;
}
.subpage37 {
display: inline-block;
margin: -4.5rem 0 0 0;
background: #ef506b;
color: #fff;
padding: 1.5vw 3vw;
border-radius: 3px;
position: absolute;
font-size: 1.6rem;
line-height: 1.2;
}
.subpage38 {
width: 100%;
margin: 0 0 3vw 0;
padding: 2vw 3vw;
font-size: 1.8rem;
font-weight: 700;
color: #009f88;
border-bottom: 1px solid #e5e5e5;
}
.subpage39 {
width: 100%;
margin: 0 0 2vw 0;
padding: 0 0 0 2vw;
}
.subpage39 span {
display: inline-block;
text-align: center;
padding: 1vw 5vw;
border-radius: 200px;
font-size: 1.5rem;
color: #009f88;
font-weight: 700;
border: 1px solid #009f88;
}
.subpage40 {
width: 100%;
font-size: 2.5rem;
padding: 0 0 0 6vw;
font-weight: 700;
}
.subpage41 {
font-size: 1.5rem;
font-weight: 400;
display: inline-block;
margin: 0 0 0 1vw;
}
.subpage42 {
font-size: 1.4rem;
font-weight: 500;
padding: 0 0 0 6vw;
width: 100%;
}
.subpage43 {
width: 100%;
display: flex;
flex-wrap: wrap;
}
.subpage44 {
width: 100%;
margin: 0 0 2vw 0;
}
.subpage44 span {
display: inline-block;
background: #009f88;
color: #fff;
padding: .5vw 1.5vw;
border-radius: 3px;
margin: 0 2vw 0 0;
}
.subpage45 {
width: 100%;
margin: 0 0 3vw 0;
}
.subpage45:last-child {
margin: 0 0 0 0;
}
.subpage45 span {
display: inline-block;
background: #fff;
color: #009f88;
padding: .5vw 1.5vw;
border-radius: 3px;
margin: 0 2vw 0 0;
border: solid 1px #009f88;
}
.subpage46 {
width: 100%;
margin: 0 auto;
}
.subpage46 img {
width: 100%;
}
.subpage47 {
width: 100%;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.subpage48 {
text-align: center;
font-size: 2rem;
width: 100%;
color: #009f88;
letter-spacing: .2rem;
font-weight: 500;
margin: 0 0 6vw 0;
}
.subpage49 {
font-size: 2.2rem;
font-weight: 900;
color: #009f88;
letter-spacing: .05rem;
line-height: 1.4;
}
.subpage50 {
width: 100%;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.subpage51 {
width: 100%;
padding: 2vw 4vw;
background: #f4f0e1;
margin: 0 0 4vw 0;
font-size: 1.4rem;
font-weight: 700;
border-radius: 3px;
color: #3c2f19;
}
.subpage52 {
width: 100%;
}
.subpage53 span {
font-size: 1.4rem;
background: #fff;
padding: 1vw 2vw;
color: #eb7777;
border-radius: 5px;
display: inline-block;
font-weight: 700;
border: solid 1px #eb7777;
line-height: 1.3;
}
.subpage54 {
width: 100%;
color: #eb7777;
font-size: 1.5rem;
margin: 0 0 1vw 0;
}
.subpage55 {
width: 100%;
font-size: 1.3rem;
color: #383618;
line-height: 1.5;
}
.subpage56 {
width: 100%;
}
table.subpage57 {
width: 100%;
}
table.subpage57 th {
display: block;
}
table.subpage57 td {
display: block;
}
.subpage58 {
width: 100%;
vertical-align: middle;
padding: 2vw 2vw;
background: #f6f6f6;
font-size: 1.4rem;
line-height: 1.4;
}
.subpage59 {
width: 100%;
padding: 1vw 2vw;
vertical-align: middle;
font-size: 1.3rem;
}
.subpage60 {
width: 100%;
padding: 0 2vw 1vw;
vertical-align: middle;
font-size: 1.4rem;
font-weight: 700;
border-bottom: 1px solid #e9e9e9;
text-align: right;
}
.subpage61 {
font-size: 1.2rem;
font-weight: 500;
display: inline-block;
background: #fff;
padding: .2vw 2vw;
text-align: center;
color: #4a6396;
margin: 1vw 0 0 0;
border: 1px solid #c5cddd;
}
.subpage62 {
width: 100%;
margin: 0 0 10px 0;
}
.subpage62 a {
display: block;
width: 100%;
background: #fff;
padding: 2vw 2vw;
font-size: 1.4rem;
line-height: 1.3;
}
.subpage62 a span {
display: inline-block;
color: #5779bc !important;
}
.subpage62 a span::before {
content: "";
display: inline-block;
margin: 0 10px 0 0;
background: url("../images/ic_link.svg");
width: 1.5rem;
height: 1.5rem;
}
.subpage63 {
display: inline-block;
margin: -4.5rem 0 0 0;
background: #47c8af;
color: #fff;
padding: 2vw 3vw;
border-radius: 3px;
position: absolute;
font-size: 1.6rem;
line-height: 1.2;
width: 88%;
}
.subpage64 {
width: 100%;
}
.subpage64 img {
width: 100%;
border-radius: 3px;
}
.subpage65 {
width: 100%;
text-align: center;
}
.subpage65 img {
width: 70%;
border-radius: 3px;
}
.subpage66 {
width: 100%;
vertical-align: middle;
padding: 2vw 2vw;
background: #f6f6f6;
}
.subpage67 {
width: 100%;
padding: 1vw 2vw;
vertical-align: middle;
font-size: 1.3rem;
}
.subpage68 {
width: 100%;
padding: 1vw 2vw;
vertical-align: middle;
border-bottom: 1px solid #e9e9e9;
}
.subpage69 {
width: 100%;
display: flex;
justify-content: flex-end;
flex-wrap: wrap;
align-items: center;
margin: 0 0 2vw 0;
}
.subpage69:last-child {}
.subpage70 {
width: 10rem;
display: inline-block;
padding: 0 1vw;
text-align: center;
border: 1px solid #059f88;
margin: 0 2vw 0 0;
background: #059f88;
color: #fff;
border-radius: 2px;
font-size: 1.3rem;
font-weight: 700;
}
.subpage71 {
width: 8rem;
margin: 0 0 0 0;
text-align: right;
}
.subpage72 {
width: 100%;
text-align: center;
}
.subpage72 a {
width: 100%;
text-align: center;
display: block;
}
.subpage72 a img {
width: 100%;
box-shadow: 5px 5px 10px #c7f5d1;
}


.subpage73{
width: 100%;
font-weight: 600;
font-size: 1.6rem;
margin: 0 0 10px;
line-height: 1.5;
}    
.subpage73 span {
display: flex;
}
.subpage73 span::before {
content: "■";
color: #1b93cf;
font-size: 1.6rem;
margin: 0 5px 0 0;
}
.subpage74 {
width: 100%;
margin: 0 0 20px;
}
.subpage74 span {
line-height: 1.8;
font-size: 1.7rem;
font-weight: 500;
display: inline-block;
letter-spacing: 0.1rem;
padding: 2px 20px;
background: #1db19d;
border-radius: 100px;
color: #ffffff;
}

.subpage75 {
width: 100%;
margin: 0 0 1rem;
}
.subpage75 span {
line-height: 1.6;
font-size: 1.6rem;
font-weight: 500;
display: inline-block;
letter-spacing: 0.1rem;
padding: .3rem 1.5rem;
background: #f08300;
border-radius: 100px;
color: #ffffff;
}

.referral_list li{
margin: 0 0 1rem;
}
.referral_list li:last-child{
margin: 0;
}    

.subpage76{
width: 100%;
display: flex;
flex-wrap: wrap;
gap: 2rem;
flex-direction: column;
}
.subpage77{
width: 100%;
margin: 0 auto;
display: flex;
flex-direction: row;
gap: 2rem;
justify-content: center;
}
.subpage78{
flex: 1;
}
.subpage79{
width: calc((100% - 2rem) / 2);
aspect-ratio: 1 / 1;
display: flex;
flex-wrap: wrap;
transition: all .5s;
background: #ffffff;
border-radius: 8px;
transition-duration: .4s;
z-index: 2;
overflow: hidden;
position: relative;
border: solid 1px #ccc;
align-content: center;
}
.subpage80{
width: 100%;
text-align: center;
}
.subpage80 img {
width: 60%;
}
.subpage81 {
width: 100%;
text-align: center;
color: #33b9a7;
font-size: 1.8rem;
font-weight: 500;
letter-spacing: .075rem;
line-height: 1;
display: flex;
align-items: center;
justify-content: center;
}
.subpage82 {
width: 100%;
font-weight: 600;
font-size: 1.6rem;
margin: 0 0 5px;
}
/* subpage */









/* dooctor */
.doctor1 {
width: 100%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.doctor2 {
width: 100%;
text-align: center;
margin: 3rem 0 3rem 0;
}
.doctor2 img {
width: 60%;
border-radius: 3px;
}
.doctor3 {
width: 90%;
display: flex;
flex-wrap: wrap;
padding: 3rem 1rem;
background: #fff;
justify-content: center;
align-items: center;
border-radius: 10px;
margin: 0 auto;
box-shadow: 5px 5px 15px #f1ebe4;    
}

.doctor4 {
font-size: 1.8rem;
line-height: 1.4;
width: 100%;
letter-spacing: .5rem;
text-align: center;

}
.doctor5 {
font-size: 2.6rem;
width: 100%;
text-align: center;
font-weight: 500;
}
.doctor6 {
font-size: 1.4rem;
text-align: center;
width: 100%;
letter-spacing: .3rem;
}
.doctor7 {
width: 100%;
margin-bottom: 1.5rem
}
.doctor7 h3 {
font-size: 2.2rem;
text-align: center;
/*font-family: YakuHanMP, "Kosugi Maru", sans-serif;*/
letter-spacing: .2rem;
font-weight: 500;    
}
.doctor8 {
background: #fff;
border-radius: 10px;
padding: 3rem;
width: 90%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
box-shadow: 5px 5px 15px #f1ebe4;    
}
.doctor9 {
width: 100%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.doctor10 {
width: 100%;
}
.doctor11 {
width: 100%;
margin-bottom: 1.5rem
}
.doctor11 h3 {
font-size: 2.2rem;
text-align: center;
letter-spacing: .2rem;
font-weight: 500;    
}
.doctor12 {
background: #fff;
border-radius: 10px;
padding: 3vw 5vw;
width: 90%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.doctor13 {
width: 100%;
color: #323232;
font-weight: 400;
}
.doctor14 {
width: 100%;
}
.doctor15 {
width: 100%;
}
.doctor16 {
background: #fff;
border-radius: 10px;
padding: 3vw 5vw;
width: 90%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
line-height: 2;
box-shadow: 5px 5px 15px #f1ebe4;    
}
.doctor16 ul	{
list-style: none
}
.doctor17 {
width: 100%;
font-size: 2.2rem;
color: #36a34c;
font-weight: 500;
text-align: center;
margin: 0 0 2rem 0;
line-height: 1.6;
}
.doctor17b {
width: 100%;
font-size: 2.2rem;
color: #f08300;
font-weight: 500;
text-align: center;
margin: 0 0 2rem 0;
line-height: 1.6;
}
.doctor18 {
width: 100%;
}
.doctor19 {
width: 90%;
margin: 0 auto;
font-size: 1.2rem;
}
ul.drhistory {
display: flex;
flex-flow: row wrap;
flex-direction: column;
list-style: none
}
/*    
ul.drhistory li:first-child {
display: block;
color: #323232;
font-weight: 400;
width: 100px;
}
ul.drhistory li:nth-child(2) {
color: #333;
}*/
ul.drhistory li {
display: block;
color: #323232;
width: 100%;
padding-left: 1em;
text-indent: -1em;    
line-height: 2;    
}     

/* dooctor */






/*dermatology*/
.tbl_w table {
border-collapse: collapse;
width: 100%;
background-color: #fff;
font-size: 1.4rem;
}

.tbl_w th, td {
border-bottom: 1px solid #d1edd0;
padding: 1rem;
text-align: left;
vertical-align: middle;
}

.tbl_w th {
background-color: #2da845;
font-weight: bold;
text-align: center;
color: #ffffff;
}

.tbl_w tr:nth-child(even) {
background-color: #eef7f0;
}		
.about1 {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
flex-direction: column;    
}
.about2 {
width: 100%;
background: #F7F7F7;
border-radius: 10px;
margin: 0 0 2rem 0;
}
.about2:nth-child(2n) {

margin: 0 0% 2rem 0;
}
.about3 {
width: 100%;
}
.about3 img {
width: 100%;
border-radius: 10px 10px 0 0;
}
.about4 {
width: 100%;
padding: 2rem 1rem;
margin: 0 0 0 0;
line-height: 1.4;
text-align: center;
}
.about5 {
width: 100%;
padding: 0 2rem;
margin: 0 0 3rem 0;
font-size: 1.3rem;
letter-spacing: 0;
line-height: 1.5;
}
.about6 {
width: 100%;
margin: 0 auto 50px;
background: #fffbd8;
border-radius: 5px;
padding: 3vw 4vw;
}
.about6 ul li {
width: 100%;
margin: 1vw auto 1vw;
padding-left: 1em;
text-indent: -1em;
}
/* about */
/*dermatology*/









/* appointment */	
.day1{
display: block;
width: 100%;
background: #1ca983;
color: #ffffff;
text-align: left;
padding: .5rem 2rem;
border-radius: 5px;
}

.day2{
display: block;
width: 100%;
background: #3f90b5;
color: #ffffff;
text-align: left;
padding: .5rem 2rem;
border-radius: 5px;
}
.medical_w{
background: #fef3e5;
padding: 2rem 0;
border-radius: 10px;
margin: 0 0 2rem;
outline: dashed 2px #fec581;
outline-offset: -10px;
/*outline: dashed 4px #c2e4e0;  */  
}
.medical_h {
font-size: 1.8rem;
color: #f08300;
letter-spacing: .2rem;
line-height: 1.4;
text-align: center;
}
.medical_hs {
font-size: 1.4rem;
color: #f08300;
letter-spacing: .02rem;
line-height: 1.4;
font-weight: 500;
text-align: center;
}
.ap_bnr{
width: 100%;
margin: 0 auto 3rem;
display: flex;
border:1px solid #ccc;
}

















/* access */
.access__w {
width: 100%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.access1 {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 0 0 2rem 0;
}
.access2 {
width: 100%;
text-align: center;
}
.access2 img {
width: 100%;
border-radius: 3px;
}
.access3 {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
text-align: center;
}
.access4 {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
text-align: center;
gap: 1rem;
margin: 0 0 4rem 0;
flex-direction: column;
}
.access5 {
width: 90%;
margin: 0 auto;
}
.access6 {
width: 100%;
}
.about6 img {
width: 100%;
border-radius: 10px 10px 0 0;
}    
.access7 {
width: 100%;
font-size: 1.8rem;
line-height: 1.4;
padding: 1rem 0;
}    
.access8 {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: stretch;
margin: 0 0 1px 0;

}
.access8:first-child {}
.access8:last-child {}
.access9 {
width: 100%;
font-size: 1.6rem;
line-height: 1.2;
background: #1db19d;
padding: 1rem;
color: #fff;
}
.access10 {
width: 100%;
line-height: 1.5;
padding: 2rem 1.5rem;
background: #fafafa;
}

.medical_list {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
flex-direction: column;
}   
.medical_list li {
width: 100%;
padding-left: 2rem;
text-indent: -2rem;
line-height: 1.5;
margin: 0 0 1rem 0;
}
.medical_list li::before {
content: "●";
color: #1db19d;
margin: 0 .5rem 0 0;
}    
.medical_list li:last-child {
margin: 0;
}    
/*    
.access11 {
width: 100%;
}*/
.access11 {
width: 100%;
margin: 2rem 0 0;
}    
.access11 a {
width: 100%;
} 
.access11 a span {
display: flex;
align-items: center;
border: 1px solid #c1c1c1;
padding: 1.5rem 2rem;
border-radius: 0.5em;
background: #f3f3f3;
color: #292929;
font-weight: 500;
text-decoration: none;
gap: 10px;
justify-content: center;
}    
.access11 a span::before {
content: "";
background: url(../images/ic_bus.svg);
display: inline-block;
width: 2.5rem;
height: 2.5rem;
background-size: cover;
}     
.access12 {
width: 100%;
margin: 0 auto;
}
.access13 {
width: 100%;
}
.access14 {
width: 100%;
margin: 0 auto;
}
.access14 iframe {
width: 100%;
border-radius: 20px;
}
.access15 {
width: 100%;
margin: 0 0 1rem;
}
.access16 {
width: 100%;
text-align: center;
}
.access16 img {
width: 100%;
}
.access17 {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 0 auto 5vw;
}
.access18 {
width: 48%;
margin: 0 0 2vw;
}
.access18:last-child {
width: 48%;
margin: 0;
}
.access18 img {
width: 100%;
border-radius: 3px;
margin: 0 0 1vw;
}
.access18 span {
padding-left: 1em;
text-indent: -1em;
display: inline-block;
line-height: 1.5;
}
.access_route {
width: 100%;
margin: 0 0 2vw 0;
}
.access_route span {
display: inline-block;
padding: 0 2vw;
border: 1px solid #28634c;
background: #fff;
color: #28634c;
border-radius: 3px;
font-size: 1.5rem;
}



.access_timetable {
width: 100%;
margin: 0 auto 1rem;
background: white;
border-radius: 8px;
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
overflow: hidden;
}
.access_timetable table {
width: 100%;
border-collapse: separate;
border-spacing: 0;
font-size: 1.5rem;
border-radius: 8px;
overflow: hidden;
border-top: 1px solid rgb(224, 224, 224);
border-left: 1px solid rgb(224, 224, 224);
}
.access_timetable th:first-child {
border-top-left-radius: 8px;
}    
.access_timetable th {
background: #1db19d;
color: #fff;
font-weight: 500;
}
.access_timetable th {
padding: 1rem .5rem;
text-align: center;
border-right: 1px solid rgb(224, 224, 224);
border-bottom: 1px solid rgb(224, 224, 224);
}
.access_timetable td {
padding: 1rem .5rem;
text-align: center;
border-right: 1px solid rgb(224, 224, 224);
border-bottom: 1px solid rgb(224, 224, 224);
background: white;
}
.access_timetable tr:last-child td:first-child {
border-bottom-left-radius: 8px;
}
.access_timetable tr:last-child td:last-child {
border-bottom-right-radius: 8px;
}
.access_timetable_closeday{
width: 100%;
color: #F14D4D;
font-weight: 500;

margin: 0 0 .5rem;
}
.access_timetable_note{
width: 100%;
margin-bottom: 4rem;
font-size: 1.4rem;
line-height: 1.4;
}

/* access */









/* footer */
footer{
width: 100%;
background: url(../images/footer_bg.jpg) center center / cover no-repeat;
background-attachment: scroll;
padding: 2rem 0;
position: relative;    
}
footer::before {
content: "";
position: absolute;
inset: 0;
background: rgb(255 255 255 / 20%);
z-index: 0;
}
.footer__w{
width: calc(100% - 4rem);
display: flex;
flex-wrap: wrap;
margin: 0 auto;
justify-content: space-between;
align-items: flex-start;
padding: 3rem 2rem;
background: #fff;
border-radius: 10px;
z-index: 1;
position: relative;    
}

.footer1{
width: 100%;

}

.footer2{
width: 100%;
margin-top: .5rem;
margin-bottom: 2.5rem;
text-align: center;
}

.footer2 img{
width: 60%;
}

.footer3{
width: 100%;
font-size: 1.8rem;
margin-bottom: 1.5rem;
font-weight: 400;
}

.footer4{
width: 100%;
font-size: 1.5rem;
margin-bottom: 1rem;
font-weight: 400;
}

.footer5{
width: 100%;
margin: 1rem 0 3rem;
border-bottom: 1px solid #f4f2ed;
padding-bottom: 2rem;
}

.footer5 a{
display: inline-block;
font-size: 2.6rem;
font-weight: 500;
}


.footer5 a::before {
content: "";
background: url("../images/ic_tel.svg");
width: 1.8rem;
height: 1.8rem;
display: inline-block;
margin-right: .3rem;
vertical-align: middle;
}


.footer6 {
display: flex;
flex-wrap: wrap;
line-height: 1.8;
}

.footer7{
width: 100%;
display: flex;
flex-wrap: wrap;
padding-left: 1rem;
}

.footer7 a{
font-size: 1.6rem;
margin-bottom: 1.2rem;
font-weight: 400;
}

.footer7 a span{
display:inline-block;
position: relative;
padding-left: 1.5em;
}
.footer7 a span::before{
content: "▲";
position: absolute;
top: 50%;
left: 0;
display: inline-block;
font-size: 1rem;
margin: auto;
transition: all .3s;
transform: translateY(-50%) rotate(90deg);
color: #1db19d;
}


.footer7b {
width: 100%;
margin-top: 1.5rem;
}
.footer7b a {
display: flex;
justify-content: space-between;
align-items: center;
position: relative;
margin: 0 auto;
padding: 2rem 5rem 2rem 2rem;
line-height: 1;
font-size: 1.6rem;
background-color: #f5f0ea;
transition: 0.3s;
border-radius: 4px;
}

.footer7b a::after {
content: '';
position: absolute;
top: 0;
bottom: 0;
right: 2rem;
background: url(../images/ic_arrow1.svg);
display: inline-block;
width: 1.2rem;
height: 1.2rem;
margin: auto;
vertical-align: baseline;
transition: all .3s;
}

.footer7b a:hover {
text-decoration: none;
background-color: #f5f0ea;
}

.footer7b a:hover::before,
.footer7b a:hover::after {
right: 1.5rem;
}








.footer8{
width: 100%;
margin: 0 0 3rem;
border-bottom: 1px solid #f4f2ed;
padding-bottom: 3rem;
}

.footer9{
width: 100%;
font-weight: 700;
font-size: 1.5rem;
margin-bottom: .5rem;
position: relative;
padding: 0 0 0 1.3em;
}
.footer9::before {
content: '■';
position: absolute;
left: 0;
line-height: 1.6;
color: #1db19d;
}
.footer10{
width: 100%;
font-size: 1.5rem;
margin-bottom: 2rem;
}


.footer10:last-child{
margin-bottom: 0;
}

.footer11{
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding-top: 4rem;
}

.footer12{
width: 100%;
}
.clinic-hours {
max-width: 100%;
margin: 0 auto 1rem;
background: white;
border-radius: 8px;
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
overflow: hidden;
}


.department-subtitle {
font-size: 1rem;
opacity: 0.9;
margin: 0;
font-weight: normal;
}

.department-header::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(90deg, transparent, white, transparent);
opacity: 0.3;
}

.clinic-hours table {
width: 100%;
border-collapse: separate;
border-spacing: 0;
font-size: 1.5rem;
border-radius: 8px; 
overflow: hidden; 
border-top: 1px solid rgb(224, 224, 224);
border-left: 1px solid rgb(224, 224, 224);
}

.clinic-hours th {
padding: 1rem .5rem;
text-align: center;
border-right: 1px solid rgb(224, 224, 224);
border-bottom: 1px solid rgb(224, 224, 224);
background: white;
}
.clinic-hours th {
background: #1db19d;
color: #fff;
font-weight: 500;
}
.clinic-hours td {
padding: 1rem .5rem;
text-align: center;
border-right: 1px solid rgb(224, 224, 224);
border-bottom: 1px solid rgb(224, 224, 224);
background: white;
}
.time-separator {
display: inline-block;
transform: rotate(90deg);
}    
.clinic-hours th:first-child {
border-top-left-radius: 8px;
}
.clinic-hours th:last-child {
border-top-right-radius: 8px;
}
.clinic-hours tr:last-child td:first-child {
border-bottom-left-radius: 8px;
}
.clinic-hours tr:last-child td:last-child {
border-bottom-right-radius: 8px;
}
.time-label {
font-weight: 500;
font-size: 1.6rem;
line-height: 1.1;
}

.open {
color: #1db19d;
font-size: 1.3rem;
font-weight: bold;
}

.closed {
color: #8d8d8d;
font-size: 1.3rem;
font-weight: bold;
}

.special {
color: #0066cc;
font-size: 1.3rem;
}    


.footer13{
width: 100%;
color: #F14D4D;
font-weight: 500;
margin: 0 0 .5rem;    
}



.footer14{
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

.footer15{
width: 75%;
margin: 0 auto 3rem;
}

.footer15 img{
}

.footer16{
width: 100%;
text-align: center;
}

.footer16 img{
width: 7rem;
}

.footer17{
width: 100%;
margin-bottom: 2rem;
font-size: 1.4rem;
line-height: 1.4;    
}


.footer18{
width: 100%;
margin-bottom: 2rem;
font-size: 1.4rem;
line-height: 1.4;    
}
.footer18 span{
color: #F14D4D;    
}    
.googlemaps__w{
width: calc(100% - 550px);
padding: 0 0 0 20px;
background: #f8f6ef;
}

.googlemaps__w iframe{
width: 90%;
height: 936px;
}

/* footer */


/* copyright */

.copyright {
width: 100%;
padding: 1rem 0;
text-align: center;
background: #fff;
font-size: 1.3rem;
}

/*common*/
.topaccess13 a:hover,
.header9 a:hover {
opacity: 1;
background: #bf5f7a;
border-radius: 4px;
}
.topaccess13 a:hover::after,
.header9 a:hover::after {
right: 1.6rem;
}


/* sp footer */

.spfooternav__w{
width: 100%;
display: flex !important;
justify-content: space-between;
position: fixed;
bottom: 0;
z-index: 10;
height: 7rem;

}

.spfooternav1{
width: calc(100% - 8rem);
display: flex;
align-items: center;
justify-content: center;
flex-wrap: wrap;
background: #efefef;
font-weight: 500;
}

.spfooternav1 a{
font-size: 2.6rem;
display: flex;
align-items: center;
justify-content: center;
width: 100%;
font-weight: 600;
line-height: 1;
letter-spacing: 0;
letter-spacing: .2rem;
}

.spfooternav1 a span{

}

.spfooternav1 a span::before{
content: "";
background: url("../images/ic_tel.svg") no-repeat;
display: inline-block;
width: 2rem;
height: 2rem;
vertical-align: middle;
margin-right: .4rem;
}

.spfooternav2{
width: 8rem;
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(to right, #fc6295, #ec497f);
}

.spfooternav2 a{
display: flex;
align-items: center;
justify-content: center;
width: 100%;
font-size: 1.2rem;
color: #fff;
letter-spacing: 0.1rem;
}

.spfooternav2 a span::before{
content: "";
background: url("../images/ic_access_white.svg") no-repeat;
display: block;
width: 2.4rem;
height: 2.4rem;
margin: 0 auto .5rem;
}




.spfooternav2 a span{

}

.spfooternav3{
width: 8rem;
display: flex;
align-items: center;
justify-content: center;
background: #1db19d;
}

.spfooternav3 a{
display: flex;
align-items: center;
justify-content: center;
width: 100%;
font-size: 1.2rem;
text-align: center;
letter-spacing: 0rem;
color: #fff;
}

.spfooternav3 a span{
line-height: 1.2;
}

.spfooternav3 a span::before{
content: "";
background: url("../images/ic_access.svg") no-repeat;
display: block;
width: 2.4rem;
height: 2.4rem;
margin: 0 auto .7rem;
}

.spfooternav5{
font-size: 1.2rem;
color: #fff;
display: flex;
align-items: center;
justify-content: center;
width: 100%;
letter-spacing: 0.1rem;
margin: 0 0 0 0;
line-height: 1;
}


/* sp footer */


/* access */

.access__w{
width: 1000px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}


/* access */
.newspage1{
width: 100%;
display: flex;
flex-wrap: wrap;
}

.newspage2{
width: 100%;
font-size: 1.4rem;
margin: 0 0 8px 0;
color: #555;
}

.newspage3{
width: 100%;
font-size: 2.2rem;
color: #3caa30;
margin: 0 0 10px 0;
}

.newspage4{
width: 100%;
font-size: 1.6rem;
}


/* <!--btn reservation--> */
.btn_fix__w{
position: fixed;
top: 260px;
right: 50px;
z-index: 2100;
}

.btn_fix__w a{
width: 196px;
height: 220px;
display: block;
}

.btn_fix__w a img{
width: 100%;
height: 100%;
}

.btn_fix__w a:hover,
.btn_fix__w a:active{
opacity: .7;
transform: translateY(-5px);
}

/* <!--btn reservation--> */
.btn_fix2__w{
position: fixed;
top: 510px;
right: 20px;
z-index: 2100;
}

.btn_fix2__w a{
width: 196px;
height: 220px;
display: block;
}

.btn_fix2__w a img{
width: 100%;
height: 100%;
}

.btn_fix2__w a:hover,
.btn_fix2__w a:active{
opacity: .7;
transform: translateY(-5px);
}
/* subject */


/* reservation */
.topreservation__w{
background: #fff;
width: 100%;
padding: 4rem 0 1rem;
}
.topreservation1{
display: flex;
justify-content: space-around;
align-items: center;
flex-wrap: wrap;
}
.topreservation1 > div:first-child {
border-bottom: 1px solid #333;
}
.topreservation2 {
width: 100%;
text-align: center;
}
.topreservation3 {
width: 100%;
display: flex;
justify-content: center;
align-items: center;
margin-top: 10px;
flex-wrap: wrap;
}
.topreservation3 > div:first-child {
margin-right: 2rem;
}

.topreservation4 a{
display: flex;
font-size: 2.6rem;
font-weight: 500;
line-height: 1;
letter-spacing: 0.15rem;
}
.topreservation5 {
font-size: 1.8rem;
margin-bottom: 2rem;
}
.topreservation6 {
width: 100%;
text-align: center;
}
.topreservation6 a{
display: inline-block;
text-align: center;
background: #d87d97;
padding: 1rem 5rem;
color: #fff;
position: relative;
border-radius: 4px;
}
.topreservation6 div{
display: inline-block;
text-align: center;
background: #d87d97;
padding: 1rem 5rem;
color: #fff;
position: relative;
border-radius: 4px;
}
.topreservation6 a:after {
content: '';
position: absolute;
top: 0;
bottom: 0;
right: 2rem;
background: url(../images/ic_arrow1.svg);
display: inline-block;
width: 1.2rem;
height: 1.2rem;
margin: auto;
vertical-align: baseline;
transition: all .3s;
}
.topreservation6 a:hover {
opacity: 1;
background: #bf5f7a;
border-radius: 4px;
}
.topreservation6 a:hover::after {
right: 1.6rem;
}
.topreservation7 {
font-size: 2.3rem;
display: inline-block;
margin-right: 0.7rem;
}

/* reservation */


/* access */
.footertimetable__w {
flex: 1;
margin: 0 auto;
}

.footertimetable1 {
width: 100%;
margin: 0 auto;
}
.footertimetable2 {
display: flex;
flex-wrap: wrap;
height: 100%;
justify-content: center;
}
.topreservation3 {
width: 100%;
text-align: center;
margin-bottom: 4rem;
}
.footertimetable4 {
border-collapse: collapse;
overflow-x: scroll;
width: 95%;
margin: 0 auto;
}
.footertimetable4 th,
.footertimetable4 td {
padding: 1rem;
text-align: center;
border-bottom: 1px solid #fff;
font-size: 1.3rem;
color: #fff;
line-height: 1;
position: relative;
}

.footertimetable3{
width: 100%;
}

.footertimetable4 th {
font-weight: 400;
vertical-align: middle;
}

.footertimetable4 td {
vertical-align: middle;
}

.footertimetable4 th:first-child {
vertical-align: middle;
}

.footertimetable4 th span {
font-size: 1rem;
display: inline-block;
}

.footertimetable5 {
width: 100%;
text-align: right;
color: #fff;
margin-top: .5rem;
padding-right: 1.5rem;
font-size: 1.4rem;
}

.footertimetable6 {
display: inline-block;
text-align: left;
}

.footertimetable4 td sup {
position: absolute;
top: .5rem;
right: .2rem;
font-size: 1rem;
letter-spacing: 0;
}

.footertimetable4 th sup {
position: absolute;
top: .5rem;
right: .2rem;
font-size: 1rem;
letter-spacing: 0;
}

.biyoprice__w {
width: 100%;
margin-top: 3rem;
}

.biyoprice1 {
width: 95%;
margin: 0 auto;
}

.biyoprice2 {
width: 100%;
text-align: center;
margin-bottom: 3.5rem;
}

.biyoprice2 span {
font-size: 2rem;
display: inline-block;
text-align: center;
padding: .5rem 2.5rem;
border: 1px solid #555;
font-weight: 500;
}

.biyoprice3 {
width: 100%;
text-align: center;
margin-bottom: 1rem;
font-weight: 500;
}	

.biyoprice_text {
font-size: 1.4rem;
}


.biyoprice4 {
width: 100%;
margin-bottom: 4rem;
}
.biyoprice4 table{
width: 100%;
}


.biyoprice4 table td{
border: 1px solid #d0d0d0;
padding: .7rem 1rem;
vertical-align: middle;
background: #FCFCFC;
font-size: 1.2rem;
}

.biyoprice4 table td:first-child{
width: 40%;
font-weight: 500;
text-align: center;

}

.biyoprice4 table td:last-child{
font-weight: 500;
width: 16rem;
text-align: right;
}


.biyoprice4 table td.kaisuu{
border-right: none;
text-align: right;
width: 35%;
font-weight: 500;
}

.biyoprice4 table td.kaisuu + td{
border-left: none;
padding-left: 0;
}

.biyoprice4 table td span{
display: block;
font-size: 1.2rem;
}

.biyoprice5 table td:nth-child(2){
text-align: right;
}

table.tabeldoctor1{
width: 100%;
border: 1px solid #989898;
font-size: 1.3rem;
letter-spacing: 0;
line-height: 1.2;
}

table.tabeldoctor1 th{
border: 1px solid #989898;
padding: .5rem;
text-align: center;
font-weight: 500;
color: #fff;
background: #505050;
vertical-align: middle;
}

table.tabeldoctor1 td{
border: 1px solid #989898;
padding: .5rem;
text-align: center;
vertical-align: middle;
}

table.tabeldoctor1 td:first-child{
padding: .5rem;
text-align: center;
vertical-align: middle;

}

.tabeldoctor2{
background: #f2f2f2;
font-weight: 500;
}

.tabeldoctor3{
width: 100%;
font-size: 1.3rem;
padding: 1rem .5rem 0;
line-height: 1.4;
}

.tabeldoctor4{
display: inline-block;
text-align: left;
}

.checkupmenu1{
width: 100%;
text-align: center;
margin: 0 auto;
border-bottom: 1px dotted #000;
padding-bottom: 8rem;
}

.checkupmenu1 .pinkbtn01{
width: 95%;
text-align: center;
margin: 0 auto;
}

table.tabeldoctor1{
width: 100%;
border: 1px solid #989898;
}

table.tabeldoctor1 th{
border: 1px solid #989898;
padding: .5rem;
text-align: center;
font-weight: 500;
color: #fff;
background: #505050;
}

table.tabeldoctor1 td{
border: 1px solid #989898;
padding: .5rem;
text-align: center;
vertical-align: middle;
}

table.tabeldoctor1 td:first-child{
padding: .5rem;
text-align: center;
vertical-align: middle;

}

.tabeldoctor2{
background: #f2f2f2;
font-weight: 500;
}

.tabeldoctor3{
width: 100%;
text-align: left;
line-height: 1.7;
}

.checkupmenu1{
width: 100%;
text-align: center;
margin: 0 auto;
border-bottom: 1px dotted #000;
padding-bottom: 5rem;
}

.checkupmenu1 .pinkbtn01{
width: 30rem;
text-align: center;
margin: 0 auto;
}

.checkupmenu3{
width: 100%;
padding: 0 1rem;
}

.checkupmenu3 table{
width: 100%;
border: 1px solid #ccc;
}

.checkupmenu3 table th{
border: 1px solid #ccc;
padding: 1.2rem .5rem;
vertical-align: middle;
text-align: center;
font-size: 1.2rem;
font-weight: 700;
background: #eee;
}

.checkupmenu3 table th:nth-child(1){
width: 8rem;
}

.checkupmenu3 table td{
border: 1px solid #ccc;
padding: .5rem .5rem;
vertical-align: middle;
text-align: center;
font-size: 1.2rem;
}

.checkupmenu3 table td.checkupmenu4{
border: 1px solid #ccc;
padding: 1.7rem .5rem;
vertical-align: middle;
text-align: center;
font-size: 1.2rem;
font-weight: 600;
background: #F0F0F0;
}

.checkupmenu5{
padding: 0 2rem;
margin-top: 2rem;
margin-bottom: 5rem;
}

.pageback{
margin: 0 0 0 auto;
width: 50%;
font-size: 1.3rem;
margin-top: 20px;
font-weight: 500;
text-align: right;
}

.pageback a::before{
content: '▲';
color: #d87d97;
}

.marker{
background: linear-gradient(transparent 70%, #ffe700 70%);
}

.makeup-parts{
font-size: 1.8rem;
color: #ffffff;
background: #62582C;
text-align: center;
width: 100%;
margin: 2em 0 1em;
}	
.makeup-parts-detail{
margin-bottom: 30px;
}	.about2
.bnr_topics{
width: 90%;
margin: 20px auto 20px;
}
.bnr_topics a{
display: inline-block;
width: 100%;
box-shadow: 0px 3px 3px #cbc2af;
}
.bnr_kenpo{
width: 90%;
margin: 20px auto 20px;
}
.bnr_kenpo a{
display: inline-block;
width: 100%;
box-shadow: 0px 3px 3px #cbc2af;
}

.recruit_img{
width: 100%;
margin: 0 auto;
padding: 0 2rem;
}

.recruit_text{
width: 100%;
}

.recruit_title{
font-size: 2rem;
padding: 0 0.5% 1.3rem;
border-bottom: 1px solid #5d481d;
margin-bottom: 1.3rem;
color: #5d481d;
font-family: 'Playfair Display', serif;
}

.alink{
display: block !important;
margin-top:-9rem !important;
padding-top:9rem !important;
}



.topkijun__w {
width: 100%;
background: #e5e2dd;
padding: 2rem 2rem;
}

.topkijun1 {
width: 100%;
margin: 0 auto;
padding: 3rem;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
background: #fff;
border-radius: 5px;
}

.topkijun2 {
width: 100%;
font-size: 2rem;
font-weight: 500;
text-align: center;
margin-bottom: 1rem;
}

.topkijun3 {
width: 100%;
font-size: 1.7rem;
font-weight: 500;
margin-bottom: .5rem;
}

.topkijun4 {
width: 100%;
margin-bottom: 2rem;
font-size: 1.5rem;
}

.topkijun4:last-child {
margin-bottom: 0;
}



.topbnr__w{
width: 100%;
padding: 4rem 0 0;
}
.topbnr1{
width: 70%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 0 auto;
}
.topbnr2{
width: 100%;
margin-bottom: 2rem;
}

.topbnr2 img{
border: 1px solid #DCDCDC;
box-shadow: 10px 10px 10px #ededed;
}



/* cosmetics */
.yoyakubnr {
width: 100%;
}
.yoyakubnr a {
display: inline-block;;
flex-wrap: wrap;
justify-content: center;
align-items: center;
font-weight: 500;
line-height: 1.3;
color: #fff;
border-radius: 400px;
background: #f08300;
text-align: center;
box-shadow: 0 5px 0 #E9610A;
font-size: 1.6rem;
padding: 1.7rem 2rem;
}

.yoyakubnr a span::before {
content: "";
background: url("../images/ic_arrow4.svg") no-repeat;
display: inline-block;
width: .8rem;
height: .8rem;
margin: 0 .5rem 0 0;
vertical-align: middle;
}

.yoyakubnr .btn_icon {
width: 30px;
height: 30px;
margin: 0 2vw 0 0;
}


.clinic-flow {
counter-reset: step;
width: 100%;
margin: 0 auto 4rem;
}

.clinic-step {
margin-bottom: 4rem;

display: flex;
flex-direction: column;
position: relative;
}
.clinic-step:last-child {
margin-bottom: 0;
}

.clinic-step-left {
width: 50px;
position: absolute;
left: 0;
top: 0;
display: flex;
align-items: center;
justify-content: center;
}


.clinic-step-num::before {
counter-increment: step;
content: counter(step, decimal-leading-zero);
display: flex;
justify-content: center;
align-items: center;
width: 50px;
height: 50px;
border-radius: 50%;
background-color: #1db19d;
color: #fff;
font-weight: 600;
font-size: 2rem;
flex-shrink: 0;
z-index: 2;
}


.clinic-step-line {
display: none !important;
}

.clinic-step-main {
display: flex;
flex-direction: column;
gap: 12px;
margin-left: 0;
}

.clinic-step-main h4 {
display: flex;
align-items: center;
gap: 6px;
font-size: 1.8rem;
margin-bottom: 2rem;
color: #1db19d;
font-weight: 600;
justify-content: center;
}

.clinic-step-img {
width: 50%;
margin: 0 auto;
height: auto;
border-radius: 6px;
}
.clinic-step-img img {
width: 100%;
border-radius: 100px;
}
.clinic-step-text p {
font-size: 1.4rem;
line-height: 1.5;
margin-left: 0;
}

.clinic-step:last-child .clinic-step-line {
display: none;
}  

.sub_catch {
font-size: 1.4rem;
line-height: 1.8;
width: 100%;
margin: 0 0 3rem;
padding: 2rem 2rem;
border-radius: 8px;
text-align: justify;
border: 1px solid #33b8a6;
background: #fff;
box-shadow: 8px 8px 0 #e1f3f1;
}
.hd_ttl{
width: 100%;
}
.hd_ttl span {
line-height: 1.8;
font-size: 1.4rem;
font-weight: 500;
display: inline-block;
padding: 1rem 2rem;
background: #33b8a6;
color: #fff;
border-radius: 50px;
}


/*当院の特長*/
.feature_sub__w{

}
.feature_sub_w{
width: 100%;
}

.feature_sub_img{
width: 300px;
margin: 0 auto 2.5rem;
}
.feature_sub_img img{
width:100%;
border-radius: 8px;    
}
.feature_sub_txt_w{

}

.feature_num{
width: 70px;
margin: 0 auto;
}    
.feature_num img {
width: 100%
} 
.feature_title{
width: 100%;
font-size: 2rem;
font-weight: 600;
line-height: 1.6;
margin-bottom: 2rem;
display: flex;
align-items: center;
text-align: center;
justify-content: center;
color: #1db19d;    
}    
.feature_sub_txt{
}        


.detail_list{
width: 100%;
position: relative;
padding: 5vw 5vw;
background: #f5f5f5;
border-radius: 10px;
}

.detail_list li {
width: 100%;
position: relative;
padding: 0 0 0 1em;
margin: 0 0 1rem;
text-align: justify;
font-weight: 500;
font-size: 1.5rem;
line-height: 1.5;
}    
.detail_list li::before {
display: block;
position: absolute;
top: .6rem;
left: 0;
width: 12px;
height: 12px;
background-color: #1db19d;
content: '';
border-radius: 50%;
}

.detail_list li:last-child {
margin: 0;
}
.caption01{
font-size: 1.6rem;
font-weight: 500;
line-height: 1.6;
}

.bullet_points li{
margin: 0 0 10px;
width: 100%;
position: relative;
padding: 0 0 0 1em;
font-weight: 500;
}

.bullet_points li::before {
display: block;
position: absolute;
top: 1.2rem;
left: 0;
width: .6rem;
height: .6rem;
background-color: #292929;
border-radius: 50%;
content: '';
}

.subject_list{
padding: 2rem 2rem;
background: #f7f7f7;
border-radius: 8px;
}
.subject_list ul {
width: 100%;
display: flex;
flex-wrap: wrap;
list-style: none;
}
.subject_list ul li {
width: 100%;
line-height: 1.6;
margin: 0 0 2rem 0;
padding-left: 2rem;
text-indent: -2rem;
text-align: justify;
}
.subject_list ul li span::before {
content: "";
display: inline-block;
background: url(../images/ic_check.svg);
width: 1.5rem;
height: 1.5rem;
margin: 0 .5rem 0 0;
vertical-align: sub;
}
.subject_list ul li:last-child {
margin: 0 0 0 0;
}
.summary_txt{
color: #eb7777;
font-weight: 600;
font-size: 1.6rem;
}    
}
/* sp */




/* =============================
Merged from top.css (top page styles)
============================= */
/* PC */
@media screen and (min-width:751px) {


/* Swiper本体 */
.swiper {
width: 100%;
height: 100%;
position: relative;
background: url("../images/main_bg.jpg") center center / cover no-repeat;
}

/* 背景グラデーションオーバーレイ */
.swiper::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(to top, white 0%, rgba(255,255,255,0) 100%);
pointer-events: none;
}

/* Swiper Wrapper */
.swiper-wrapper {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
}

/* スライド全体 */
.swiper-slide {
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
text-align: center;
position: relative;
}

/* 中央テキスト */
.swiper-slide1a {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
text-align: center;
min-width: 600px;
z-index: 10;
}

.swiper-slide1a span {
display: inline-block;
font-weight: 500;
font-size: 2.8rem;
line-height: 1.5;
padding: .3rem 2rem .6rem 2rem;
background: #1db19d;
background: -webkit-linear-gradient(45deg, rgb(29 177 157 / 70%), rgb(53 169 193 / 70%) 50%, rgb(101 165 223 / 70%));
border-radius: 5px;
color: #fff;
letter-spacing: .2rem;
text-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
margin: 0 0 1rem;
}

.swiper-slide1a span.txt_pink {
color: #ff7aa0;
background: none;
padding: 0;
margin: 0;
box-shadow: none;
}

/* スライド画像 */
.swiper-slide2 {
position: relative;
}

.swiper-slide2 img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}

/* ナビ非表示 */
.swiper-button-next,
.swiper-button-prev {
display: none !important;
}


/* slider */


/* news */

.topnews__w{
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
background: #ffffff;
flex-direction: column;    
}

.topnews_bnr{
width: 800px;
margin: 1rem auto;
display: flex;
border:1px solid #ccc;
}

.topnews1 {
width: 1200px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
/*background: #fff;*/
border-radius: 3px;

}

.topnews2 {
width: 300px;
display: flex;
flex-wrap: wrap;
padding: 3rem;
text-align: center;
}

.topnews3 {
width: 100%;
display: flex;
flex-wrap: wrap;
text-align: center;
align-items: center;
justify-content: center;
}

.topnews3 h2 {
font-size: 3.2rem;
letter-spacing: .3rem;
font-weight: 500;
line-height: 1.5;
}

.topnews3 h2 span {
}
.topnews3 h2 span::before {
content: "";
background: url("../images/logo-s.svg") no-repeat;
display: block;
width: 5rem;
height: 5rem;
margin: 0 auto .5rem;
}
.topnews3 h2 span::after {
content: "INFORMATION";
display: block;
width: 100%;
text-align: center;
font-size: 1.8rem;
font-weight: 400;
color: #1db19d;
letter-spacing: 0.3rem;
}

.topnews4 {
width: calc(100% - 340px);
}

.topnews5 {
width: 100%;
display: flex;
flex-wrap: wrap;
padding: 8rem 0;
}

.topnews6 {
width: 100%;
font-size: 1.5rem;
margin-bottom: .5rem;
color: #5d481d;
opacity: .6;
}

.topnews7 {
width: 100%;
font-size: 1.8rem;
margin-bottom: .8rem;
font-weight: 500;
}

.topnews8 {
width: 100%;
font-size: 1.6rem;
background: #ffffff;
border: solid 1px #e0e0e0;    
}

.topnews8 iframe {
width: 100%;
height: 450px;
border: none;    
}

.newskiji1 {
width: 100%;
border-bottom: 1px dotted #cac8bc;
padding: 0 0 2rem 0;
margin: 0 0 2rem;
}
.newskiji2 {
width: 100%;
font-size: 1.3rem;
margin: 0 0 0 0;
font-weight: 400;
}  
.newskiji3 {
width: 100%;
}
.newskiji4 {
display: inline-block;
font-size: 1.8rem;
margin: 0 0 .5rem 0;
font-weight: 700;
} 
.newskiji5 {
width: 100%;
font-size: 1.6rem;
}  
.topbnr_w{
width: 600px;
margin: 30px auto;
}    
.topbnr_w a{
display: block;
}
.topbnr_w img{
width: 100%;
border-radius: 5px;
}
/* news */

.topfeature__w{
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
background: url("../images/features_bg.svg") left center / cover no-repeat;
background-attachment: fixed;
padding: 7rem 0 7rem;
}

.topfeature1{
width: 100%;
text-align: center;
margin-bottom: 7rem;
}

.topfeature1 h2{
font-size: 3.2rem;
letter-spacing: .3rem;
font-weight: 500;
line-height: 1.5;
}

.topfeature1 h2 span::after {
content: "FEATURES";
display: block;
width: 100%;
text-align: center;
font-size: 1.8rem;
font-weight: 400;
color: #1db19d;
letter-spacing: 0.3rem;
}




.topfeature2 {
width: 900px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
flex-direction: column;
}

.topfeature3 {
position: relative;
margin-bottom: 12rem;
min-height: 350px;
perspective: 1500px;
opacity: 0;
}

.topfeature2 .topfeature3:last-child{
margin-bottom: 0;
}    
.topfeature3.animate {
animation: appear 0.6s ease-out forwards;
}

.topfeature4 {
width: 550px;
position: absolute;
top: 0;
left: 0;
transform-style: preserve-3d;
opacity: 0;
}

.topfeature3.animate .topfeature4 {
animation: flip3d 1s ease-out forwards;
}

.topfeature4-2 {
left: auto;
right: 0;
}

.topfeature4 img {
width: 100%;
height: 350px;
object-fit: cover;
border-radius: 8px;
}

.topfeature5 {
position: absolute;
width: 450px;
background: white;
padding: 5rem;
border-radius: 8px;
box-shadow: 0 0 20px rgba(0,0,0,0.12);
top: 50%;
transform: translateY(-50%);
right: 0;
transform-style: preserve-3d;
opacity: 0;
}

.topfeature3.animate .topfeature5 {
animation: flip3dText 1s 0.3s ease-out forwards;
}

.topfeature3:nth-child(even) .topfeature5 {
right: auto;
left: 0;
}

.topfeature6 {
font-size: 2.5rem;
font-weight: 600;
margin-bottom: 1.5rem;
line-height: 1.4;
    color: #00af98;
}

.topfeature7 {
font-size: 1.7rem;
line-height: 1.9;
font-weight: 400;
}






/*お悩みの部位から探す*/
.topsymptom__w {
width: 100%;
padding: 10rem 0 10rem;
background: #33b9a7;
background: 
linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
url('../images/bg_symtom.jpg');
background-size: cover;
background-position: center;
}    

.topsymptom1 {
width: 100%;
text-align: center;
margin-bottom: 7rem;
}
.topsymptom1 h2 {
font-size: 3.2rem;
letter-spacing: .3rem;
font-weight: 500;
line-height: 1.5;
color: #ffffff;
}
.topsymptom1 h2 span::after {
content: "SYMTOM";
display: block;
width: 100%;
text-align: center;
font-size: 1.8rem;
font-weight: 400;
color: #1db19d;
letter-spacing: 0.3rem;
}
.topsymptom2 {
width: 900px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 30px;
}
.topsymptom3 {
width: calc((100% - 90px) / 4);
aspect-ratio: 1 / 1;
display: flex;
flex-wrap: wrap;
transition: all .5s;
background: #ffffff;
border-radius: 5px;
transition-duration: .4s;
z-index: 2;
overflow: hidden;
position: relative;
align-items: center;
align-content: center;
}
.topsymptom4 {
width: 100%;
text-align: center;
}
.topsymptom4 img {
width: 120px;
}
.topsymptom5 {
width: 100%;
text-align: center;
color: #33b9a7;
font-size: 2.3rem;
font-weight: 500;
letter-spacing: .075rem;
line-height: 1;
display: flex;
align-items: center;
justify-content: center;
}
/**/    


/* subject */
.topsubject__w{
width: 100%;
padding:10rem 0 5rem;
background: radial-gradient(circle, #ffffff 0%, #def3f0 100%);
}

.topsubject1{
width: 100%;
text-align: center;
margin-bottom: 7rem;
}

.topsubject1 h2{
font-size: 3.2rem;
letter-spacing: .3rem;
font-weight: 500;
line-height: 1.5;
}

.topsubject1 h2 span::after {
content: "CONSULTATION";
display: block;
width: 100%;
text-align: center;
font-size: 1.8rem;
font-weight: 400;
color: #1db19d;
letter-spacing: 0.3rem;
}

.topsubject2{
width: 1200px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-start;
}

.topsubject3{
width: 350px;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-bottom: 5rem;

}
.topsubject3:hover{
opacity: 1!important;

}
.topsubject4{
width: 100%;
overflow: hidden;
border-radius: 20px;
}

.topsubject4 img{
width: 100%;
height: auto;
border-radius: 20px;
transition: transform 0.5s ease;
}
.topsubject3:hover .topsubject4 img {
transform: scale(1.1);
filter: brightness(0.7);   
}
.topsubject5{
width: 100%;
text-align: center;
font-size: 2.4rem;
padding: 0 0 2rem;
font-weight: 600;
margin: -2rem 0 0 0;    
}

.topsubject5 span::before{
font-size: 3rem;
font-weight: 200;
line-height: 1;
content: "";
display: block;
width: 2px;
height: 4rem;
margin: 0 auto 1rem;
background: #33b9a7;
z-index: 1;
position: relative;
}


.topsubject6{
width: 100%;
font-size: 1.6rem;
line-height: 2;
font-weight: 400;
padding: 0 1rem;
text-align: justify;    
}

/* subject */



/* subject */

.topkenshin__w{
width: 100%;
padding: 6rem 0 8rem;
}

.topkenshin1{
width: 100%;
}

.topkenshin1 h2{
text-align: center;
font-size: 2rem;
font-weight: 400;
letter-spacing: .2rem;
}

.topkenshin1 h2 span::before {
content: "CHECKUP";
display: block;
width: 100%;
text-align: center;
font-size: 3.8rem;
font-weight: 400;
font-family: 'Playfair Display', serif;
}

.topkenshin2{
width: 1200px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-start;
}

.topkenshin3{
width: 370px;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

.topkenshin4{
width: 100%;
}

.topkenshin4 img{
width: 370px;
height: 247px;
}

.topkenshin5{
width: 100%;
text-align: center;
font-size: 2rem;
padding: 1.5rem 0 1.5rem;
border-bottom: 1px solid #5d481d;
margin-bottom: 1.5rem;
color: #5d481d;
}

.topkenshin6{
width: 100%;
font-size: 1.5rem;
line-height: 2.2;
font-weight: 400;
}

/* subject */


/* medical */

.topmedical__w{
width: 100%;
padding: 8rem 0 9rem;
background: url("../images/topmedicalbg.png") left bottom no-repeat #fafafa;
}

.topmedical1{
width: 1100px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
}

.topmedical2{
width: 340px;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
background: #fff;
border-radius: 5px;
margin-right: 26px;
}

.topmedical2:nth-child(3){
margin-right: 0;
}

.topmedical2:hover{
transform: translateY(-3px);
}

.topmedical3{
width: 100%;
}

.topmedical3 img{
width: 100%;
border-radius: 5px 5px 0 0;
}

.topmedical4{
width: 100%;
text-align: center;
}

.topmedical4 img{
width: 113px;
height: 99px;
margin-top: -50px;
}

.topmedical5{
width: 100%;
font-size: 2.2rem;
text-align: center;
line-height: 1.4;
font-weight: 400;
padding: 2rem 0 0;
font-family: YakuHanJP, 'Noto Serif JP', sans-serif;
}

.topmedical5 span{
display: block;
position: relative;
width: 100%;
}

.topmedical5 span::after{
content: "";
background: url("../images/ic_arrow2.svg");
width: 1.4rem;
height:1.4rem;
display: inline-block;
vertical-align: middle;
position: absolute;
right: 2rem;
top: 2.7rem;
}

.topmedical6{
font-size: 1.6rem;
display: block;
}

.topmedical7{
width: 495px;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
background: #fff;
padding: 5rem 2rem;
margin-right: 26px;
border-radius: 5px;
}

.topmedical2:nth-child(3){
margin-right: 0;
}

.topmedical7:hover{
transform: translateY(-3px);
}

.topmedical8{
display: block;
width: 50px;
}

.topmedical8 img{
width: 50px;
height: 50px;
}

.topmedical9{
width: calc(100%);
font-size: 2rem;
text-align: center;
line-height: 1.2;
letter-spacing: .07rem;
font-family: YakuHanJP, 'Noto Serif JP', sans-serif;
font-weight: 400;
}

.topmedical9 span{
display: block;
position: relative;
}

.topmedical9 span::after{
content: "";
background: url("../images/ic_arrow2.svg");
width: 1.4rem;
height:1.4rem;
display: inline-block;
vertical-align: middle;
position: absolute;
right: 0;
top: .5rem;
}


.topmedical10{
width: 100%;
font-size: 1.4rem;
padding: 2rem 1rem 2.7rem;
text-align: center;
}

.topsubject11{
width: 100%;
}

.topsubject11 h2{
text-align: center;
font-size: 2.5rem;
font-weight: 500;
font-family: YakuHanJP, 'Noto Serif JP', sans-serif;
color: #4c2828;
letter-spacing: .3rem;
}

.topsubject11 h2 span::after{
content: "";
display: block;
background: #81391b;
width: 5rem;
height: .1rem;
margin: 1rem auto 0;
}

/* medical */


/* access */
.topaccess__w {
width: 100%;
padding: 7rem 0 7rem;
background: #fcf8f4;
}

.topaccess1{
width: 100%;
text-align: center;
margin-bottom: 5rem;
}

.topaccess1 h2{
font-size: 3.2rem;
letter-spacing: .3rem;
font-weight: 500;
line-height: 1.5;
}

.topaccess1 h2 span::after {
content: "ACCESS";
display: block;
width: 100%;
text-align: center;
font-size: 1.8rem;
font-weight: 400;
color: #1db19d;
letter-spacing: 0.3rem;
}
.topaccess2 {
width: 1000px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
}

.topaccess3 {
width: 450px;
position: relative;
}

.topaccess3 img{
width: 100%;
}

.topaccess4 {
width: 750px;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
position: relative;
}

.topaccess5 {
width: 50%;
padding: 2rem 0 4rem;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
border-right: 1px solid #5d481d;
}

.topaccess6 {
width: 100%;
font-size: 1.8rem;
line-height: 1.8;
text-align: center;
}

.topaccess7 {
width: 100%;
font-size: 2.5rem;
font-weight: 500;
text-align: center;
letter-spacing: .2rem;
}

.topaccess8 {
width: 100%;
font-size: 1.5rem;
text-align: center;
}

.topaccess8b {
width: 100%;
font-size: 1.5rem;
text-align: center;
}

.topaccess9 {
width: 50%;
padding: 2rem 0 4rem;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

.topaccess10 {
width: 100%;
font-size: 1.8rem;
text-align: center;
}

.topaccess11 {
display: inline-block;
font-size: 3rem;
font-weight: 500;
text-align: center;
padding: 0 .5rem;
}

.topaccess13 {
width: 300px;
position: absolute;
bottom: -3.5rem;
left: 50%;
transform: translateX(-50%);
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
}
.topaccess13 a {
width: 100%;
display: block;
text-align: center;
background: #d87d97;
padding: 1.8rem;
color: #fff;
position: relative;
border-radius: 4px;
}
.topaccess13 a:after {
content: '';
position: absolute;
top: 0;
bottom: 0;
right: 2rem;
background: url(../images/ic_arrow1.svg);
display: inline-block;
width: 1.2rem;
height: 1.2rem;
margin: auto;
vertical-align: baseline;
transition: all .3s;
}

.topaccess14 {
width: 100%;
max-width: 1200px;
margin: 9rem auto 0;
height: 0;
overflow: hidden;
padding-bottom: 20.25%;
position: relative;
}
.topaccess14 iframe{
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
}

.topaccess15{
width: 100%;
display: flex;
justify-content: center;
justify-content: space-between;
}

.topaccess16{
width: 490px;

}

.topaccess16 iframe{
height: 100%;
width: 100%;


}
.topaccess17{
width: 300px;

margin: 0 auto;
margin-top: 4rem;
}
.topaccess18 a{
width: 100%;
display: block;
text-align: center;
background: #1db19d;
padding: 1.8rem;
color: #ffffff;
border-radius: 4px;
position: relative;
border: 1px solid #1db19d;
font-weight: 500;
box-shadow: 10px 10px 10px #ededed;
font-size: 1.7rem;

}
.topaccess18 a:after {
content: '';
position: absolute;
top: 0;
bottom: 0;
right: 2rem;
background: url(../images/ic_arrow2.svg);
display: inline-block;
width: 1.2rem;
height: 1.2rem;
margin: auto;
vertical-align: baseline;
transition: all .3s;
}

.topaccess19 {
width: 490px;
position: relative;
}

.topaccess19 img{
width: 100%;
height: auto;
border: solid 1px #E3E9ED;
}
/* access */


}




/* sp */
@media screen and (max-width:750px) {

/* Swiper全体 */
.swiper {
width: 100%;
margin-top: 7rem;
background: linear-gradient(to top, #33b9a7 0%, #6ad3c1 50%, #ffffff 100%);
position: relative;
overflow: hidden;
}

/* 背景画像非表示 */


/* スライド全体 */
.swiper-slide {
display: flex;
justify-content: center;
align-items: center;
position: relative;
}

/* テキストエリア */
.swiper-slide1a {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
width: 80%;
z-index: 10;
}

.swiper-slide1a span {
display: inline-block;
font-weight: 500;
font-size: 1.5rem;
line-height: 1.5;
padding: .4rem 1rem .4rem 1rem;
background: #1db19d;
background: -webkit-linear-gradient(45deg, rgb(29 177 157 / 70%), rgb(53 169 193 / 70%) 50%, rgb(101 165 223 / 70%));
border-radius: 5px;
color: #fff;
letter-spacing: .2rem;
text-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
margin: 0 0 .5rem;
}

.swiper-slide1a span.txt_pink {
color: #ff7aa0;
background: none;
padding: 0;
margin: 0;
box-shadow: none;
}



/* ナビ非表示 */
.swiper-button-next,
.swiper-button-prev {
display: none !important;
}    

/* slider */


/* news */

.topnews__w{
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding: 2rem 0 2rem;
}
.topnews_bnr{
width: 100%;
margin: 0 auto 3rem;
display: flex;
border:1px solid #ccc;
}

.topnews1 {
width: calc(100% - 2rem);
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding: 2rem 2rem;
background: #fff;
border-radius: 3px;

}

.topnews2 {
width: 100%;

display: flex;
flex-wrap: wrap;
text-align: center;
margin-bottom: 3rem;
}

.topnews3 {
width: 100%;
display: flex;
flex-wrap: wrap;
text-align: center;
align-items: center;
justify-content: center;
}

.topnews3 h2 {
font-size: 2.2rem;
letter-spacing: .2rem;
font-weight: 500;
line-height: 1.5;
}
.topnews3 h2 span::before {
content: "";
background: url("../images/logo-s.svg") no-repeat;
display: block;
width: 3rem;
height: 3rem;
margin: 0 auto .5rem;
}
.topnews3 h2 span {
}

.topnews3 h2 span::after {
content: "INFORMATION";
display: block;
width: 100%;
text-align: center;
font-size: 1.3rem;
font-weight: 400;
color: #1db19d;
letter-spacing: 0.3rem;
}

.topnews4 {
width: 100%;
}

.topnews5 {
width: 100%;
display: flex;
flex-wrap: wrap;

}

.topnews6 {
width: 100%;
font-size: 1.5rem;
margin-bottom: .5rem;
color: #5d481d;
opacity: .6;
}

.topnews7 {
width: 100%;
font-size: 1.8rem;
margin-bottom: .8rem;
font-weight: 500;
}

.topnews8 {
width: 100%;
font-size: 1.6rem;
border: solid 1px #e0e0e0;  
}

.topnews8 iframe {
width: 100%;
height: 450px;
border: none;    
}

.newskiji1 {
width: 100%;
border-bottom: 1px dotted #cac8bc;
padding: 0 0 2rem 0;
margin: 0 0 2rem;
}
.newskiji2 {
width: 100%;
font-size: 1.3rem;
margin: 0 0 0 0;
font-weight: 400;
}  
.newskiji3 {
width: 100%;
}
.newskiji4 {
display: inline-block;
font-size: 1.8rem;
margin: 0 0 .5rem 0;
font-weight: 700;
} 
.newskiji5 {
width: 100%;
font-size: 1.6rem;
}  

.topbnr_w{
width: 100%;
margin: 0 auto;
padding: 2rem 0 0;
}
.topbnr_w a{
display: block;
}
.topbnr_w img{
width: 100%;
border-radius: 5px;
}
/* news */

/* news */

.topfeature__w{
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding: 4rem 0 4rem;
background: url(../images/features_bg.svg) left center / cover no-repeat;
background-attachment: scroll;
}

.topfeature1{
width: 100%;
text-align: center;
margin-bottom: 3rem;
}

.topfeature1 h2{
font-size: 2.2rem;
letter-spacing: .2rem;
font-weight: 500;
line-height: 1.5;
}

.topfeature1 h2 span::after {
content: "FEATURES";
display: block;
width: 100%;
text-align: center;
font-size: 1.3rem;
font-weight: 400;
color: #1db19d;
letter-spacing: 0.3rem;
}


.topfeature2 {
width: calc(100% - 2rem);
flex-wrap: wrap;
justify-content: space-between;
margin: 0 auto;
position: relative;
gap: 30px;
display: flex;
flex-direction: column;
}
.topfeature3 {
margin: 0 auto 0;
justify-content: space-between;
flex-wrap: wrap;
min-height: auto;
perspective: none;
display: flex;
flex-direction: column;
background: #ffffff;
border-radius: 8px;
padding: 30px;
align-items: center;
position: relative;
box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
overflow: visible;
width: 90%;
}
.topfeature4,
.topfeature4-2 {
width: 100%;
position: relative;
margin-bottom: 2rem;
opacity: 1;
}
.topfeature3.animate .topfeature4 {
animation: fadeInUp 0.8s ease-out forwards;
}
.topfeature4 img {
width: 100%;
height: auto;
border-radius: 3px;
}
.topfeature5 {
width: 100%;
position: relative;
border-radius: 8px;
transform: none !important;
}
.topfeature3.animate .topfeature5 {
animation: fadeInUp 0.8s 0.2s ease-out forwards;
}
.topfeature6 {
width: 100%;
font-size: 2rem;
font-weight: 600;
letter-spacing: .1rem;
color: #1db19d;
margin-bottom: 1.5rem;
}
.topfeature7 {
line-height: 1.8;
font-size: 1.6rem;
font-weight: 400;
}



/*お悩みの部位から探す*/
.topsymptom__w {
width: 100%;
padding: 4rem 0 4rem;
background: #33b9a7;
background: 
linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
url('../images/bg_symtom.jpg');
background-size: cover;
background-position: center;
}    

.topsymptom1 {
width: 100%;
text-align: center;
margin-bottom: 3rem;
}
.topsymptom1 h2 {
font-size: 2.2rem;
letter-spacing: .2rem;
font-weight: 500;
line-height: 1.5;
color: #ffffff;
}
.topsymptom1 h2 span::after {
content: "SYMTOM";
display: block;
width: 100%;
text-align: center;
font-size: 1.3rem;
font-weight: 400;
color: #1db19d;
letter-spacing: 0.3rem;
}
.topsymptom2 {
width: 80%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 2rem;
}
.topsymptom3 {
width: calc((100% - 2rem) / 2);
aspect-ratio: 1 / 1;
display: flex;
flex-wrap: wrap;
transition: all .5s;
background: #ffffff;
border-radius: 5px;
transition-duration: .4s;
z-index: 2;
overflow: hidden;
position: relative;
align-items: center;
align-content: center;
}
.topsymptom4 {
width: 100%;
text-align: center;
}
.topsymptom4 img {
width: 60%;
}
.topsymptom5 {
width: 100%;
text-align: center;
color: #33b9a7;
font-size: 1.8rem;
font-weight: 500;
letter-spacing: .075rem;
line-height: 1;
display: flex;
align-items: center;
justify-content: center;
}
/**/    

/* subject */
.topsubject__w{
width: 100%;
padding:4rem 0 4rem;
background: #def3f0;
}

.topsubject1{
width: 100%;
text-align: center;
margin-bottom: 3rem;    
}

.topsubject1 h2{
font-size: 2.2rem;
letter-spacing: .2rem;
font-weight: 500;
line-height: 1.5;
}

.topsubject1 h2 span::after {
content: "CONSULTATION";
display: block;
width: 100%;
text-align: center;
font-size: 1.3rem;
font-weight: 400;
color: #1db19d;
letter-spacing: 0.3rem;
}

.topsubject2{
width: calc(100% - 2rem);
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-start;
}

.topsubject3{
width: 80%;
margin: 0 auto 5rem;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.topsubject3:hover {
opacity: 1 !important;
}
.topsubject4{
width: 100%;
overflow: hidden;    
text-align: center;
border-radius: 20px;    
}
.topsubject3:hover .topsubject4 img {
transform: scale(1.1);
filter: brightness(0.7);
}
.topsubject4 img{
width: 100%;
height: auto;
border-radius: 20px;
transition: transform 0.5s ease;    
}

.topsubject5{
width: 100%;
text-align: center;
font-size: 2.2rem;
padding: 0 0 1rem;
font-weight: 600;
margin: -2rem 0 0 0;    
}

.topsubject5 span::before{
font-size: 3rem;
font-weight: 200;
line-height: 1;
content: "";
display: block;
width: 2px;
height: 4rem;
margin: 0 auto 1rem;
background: #33b9a7;
z-index: 1;
position: relative;
}


.topsubject6{
width: 100%;
font-size: 1.5rem;
line-height: 2;
font-weight: 400;
text-align: justify;    
}

/* subject */



/* subject */

.topkenshin__w{
width: 100%;
padding: 5rem 0 7rem;
}

.topkenshin1{
width: 100%;
}

.topkenshin1 h2{
text-align: center;
font-size: 1.8rem;
font-weight: 400;
letter-spacing: .2rem;
}

.topkenshin1 h2 span::before {
content: "CHECKUP";
display: block;
width: 100%;
text-align: center;
font-size: 2.5rem;
font-weight: 400;
font-family: 'Playfair Display', serif;
}

.topkenshin2{
width: 100%;
margin: 0 auto;
padding: 0 2rem;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-start;
}

.topkenshin3{
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

.topkenshin4{
width: 100%;
}

.topkenshin4 img{
width: 100%;
}

.topkenshin5{
width: 100%;
text-align: center;
font-size: 2rem;
padding: 1.5rem 0 1.5rem;
border-bottom: 1px solid #5d481d;
margin-bottom: 1.5rem;
color: #5d481d;
}

.topkenshin6{
width: 100%;
font-size: 1.5rem;
line-height: 2.2;
font-weight: 400;
}

/* subject */



/* medical */

.topmedical__w{
width: 100%;
padding: 5rem 0 5rem;
background: url("../images/topmedicalbg.png") left bottom no-repeat #fafafa;
}

.topmedical1{
width: 100%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
}

.topmedical2{
width: 80%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
background: #fff;
}

.topmedical3{
width: 100%;
}

.topmedical3 img{
width: 100%;
border-radius: 10px 10px 0 0;
}

.topmedical4{
width: 100%;
text-align: center;
}

.topmedical4 img{
width: 10rem;
margin-top: -50px;
}

.topmedical5{
width: 100%;
font-size: 2rem;
text-align: center;
line-height: 1.4;
font-weight: 400;
padding: 2rem 0 0;
font-family: YakuHanJP, 'Noto Serif JP', sans-serif;
}

.topmedical5 span{
display: block;
position: relative;
width: 100%;
}

.topmedical5 span::after{
content: "";
background: url("../images/ic_arrow2.svg");
width: 1.4rem;
height:1.4rem;
display: inline-block;
vertical-align: middle;
position: absolute;
right: 2rem;
top: 2.3rem;
}

.topmedical6{
font-size: 1.6rem;
display: block;
}

.topmedical7{
width: 80%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
background: #fff;
padding: 3.5rem 2rem;
}

.topmedical8{
display: block;
width: 50px;
}

.topmedical8 img{
width: 50px;
height: 50px;
}

.topmedical9{
width: calc(100%);
font-size: 1.8rem;
text-align: center;
line-height: 1.2;
letter-spacing: .07rem;
font-family: YakuHanJP, 'Noto Serif JP', sans-serif;
font-weight: 400;
}

.topmedical9 span{
display: block;
position: relative;
}

.topmedical9 span::after{

background: url("../images/ic_arrow2.svg");
content: "";
width: 1.4rem;
height:1.4rem;
display: inline-block;
vertical-align: middle;
position: absolute;
right: 0;
top: .5rem;
}

.topmedical10{
widows: 100%;
font-size: 1.4rem;
padding: 2.5rem 3rem;
line-height: 1.8;
}

.topsubject11{
width: 100%;
}

.topsubject11 h2{
text-align: center;
font-size: 2rem;
font-weight: 500;
font-family: YakuHanJP, 'Noto Serif JP', sans-serif;
color: #4c2828;
letter-spacing: .3rem;
}

.topsubject11 h2 span::after{
content: "";
display: block;
background: #81391b;
width: 5rem;
height: .1rem;
margin: 1rem auto 0;
}


/* medical */



/* access */
.topaccess__w {
width: 100%;
padding: 4rem 0 4rem;
background: -webkit-linear-gradient(-90deg, #ffffff, #fafafa);
background: #fcf8f4;    
}

.topaccess1{
width: 100%;
text-align: center;
margin-bottom: 3rem;
}

.topaccess1 h2{
font-size: 2.2rem;
letter-spacing: .2rem;
font-weight: 500;
line-height: 1.5;
}



.topaccess1 h2 span::after {
content: "ACCESS";
display: block;
width: 100%;
text-align: center;
font-size: 1.3rem;
font-weight: 400;
color: #1db19d;
letter-spacing: 0.3rem;
}
.topaccess2 {
width: calc(100% - 4rem);

margin: 0 auto;
display: flex;
flex-wrap: wrap;
}

.topaccess3 {
width: 450px;
position: relative;
}

.topaccess3 img{
width: 100%;
}

.topaccess4 {
width: 750px;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
position: relative;
}

.topaccess5 {
width: 50%;
padding: 2rem 0 4rem;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
border-right: 1px solid #5d481d;
}

.topaccess6 {
width: 100%;
font-size: 1.8rem;
line-height: 1.8;
text-align: center;
}

.topaccess7 {
width: 100%;
font-size: 2.5rem;
font-weight: 500;
text-align: center;
letter-spacing: .2rem;
}

.topaccess8 {
width: 100%;
font-size: 1.5rem;
text-align: center;
}

.topaccess8b {
width: 100%;
font-size: 1.5rem;
text-align: center;
}

.topaccess9 {
width: 50%;
padding: 2rem 0 4rem;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

.topaccess10 {
width: 100%;
font-size: 1.8rem;
text-align: center;
}

.topaccess11 {
display: inline-block;
font-size: 3rem;
font-weight: 500;
text-align: center;
padding: 0 .5rem;
}

.topaccess13 {
width: 300px;
position: absolute;
bottom: -3.5rem;
left: 50%;
transform: translateX(-50%);
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
}
.topaccess13 a {
width: 100%;
display: block;
text-align: center;
background: #d87d97;
padding: 1.8rem;
color: #fff;
position: relative;
border-radius: 4px;
}
.topaccess13 a:after {
content: '';
position: absolute;
top: 0;
bottom: 0;
right: 2rem;
background: url(../images/ic_arrow1.svg);
display: inline-block;
width: 1.2rem;
height: 1.2rem;
margin: auto;
vertical-align: baseline;
transition: all .3s;
}

.topaccess14 {
width: 100%;
max-width: 1200px;
margin: 9rem auto 0;
height: 0;
overflow: hidden;
padding-bottom: 20.25%;
position: relative;
}
.topaccess14 iframe{
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
}

.topaccess15{
width: 100%;
display: flex;
justify-content: center;
justify-content: space-between;
flex-wrap: wrap;
}

.topaccess16{
width: 100%;
height: 45vh
}

.topaccess16 iframe{
height: 100%;
width: 100%;
}
.topaccess17{
width: 100%;
margin: 0 auto;
margin-top: 4rem;
text-align: center;
}
.topaccess18 a{
width: 23rem;
display: inline-block;
text-align: center;
background: #1db19d;
padding: 1.8rem;
color: #ffffff;
border-radius: 4px;
position: relative;
border: 1px solid #1db19d;
font-weight: 500;
box-shadow: 10px 10px 10px #ededed;

}
.topaccess18 a:after {
content: '';
position: absolute;
top: 0;
bottom: 0;
right: 2rem;
background: url(../images/ic_arrow2.svg);
display: inline-block;
width: 1.2rem;
height: 1.2rem;
margin: auto;
vertical-align: baseline;
transition: all .3s;
}

.topaccess19 {
width: 100%;
position: relative;
margin-bottom: 3rem;
}

.topaccess19 img{
width: 100%;
height: auto;
border: solid 1px #E3E9ED;
}
/* access */



}

/*当院の特長スマホ*/
@keyframes fadeInUp {
from {
    opacity: 0;
    transform: translateY(20px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
} 
