@charset "UTF-8";

/* ------------------------------------------------------------------
common
------------------------------------------------------------------ */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td, figure, picture {
margin:0px;
padding:0px;
border:0px;
outline:0px;
font-weight:inherit;
font-style:inherit;
font-size:100%;
font-family:inherit;
vertical-align:baseline;
box-sizing:border-box;
}
ol, ul {list-style:none;}
ul li{position: relative;}

html{font-size:16px;}

body{
color:#706867;
text-align: center;
font-size:1rem;
font-family:"Lucida Grande", "segoe UI", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic ProN", Meiryo, Arial, sans-serif;
-webkit-text-size-adjust: 100%;
box-sizing:border-box;
letter-spacing:1px;
}

/* font setting */

ul#gNav li a, .link, .ttl, .icon, #navToggle, .btnlink, .sub-menu, .flogo, .btn a, .contact p a, .circle, open,  .subttl, ul.cPhoto li span, .font, h1,h2,h3,h4,h5, .catch_circle, .logo, .open, .logo .sub, .catch, ul.sns_bnr{
font-family: "zen-maru-gothic", sans-serif;
font-weight: 400;
font-style: normal;
}

.info{
font-family: "zen-maru-gothic", sans-serif;
font-weight: 500;
font-style: normal;
}

.open .lg, .font-bold{
font-family: "zen-maru-gothic", sans-serif;
font-weight: 700;
font-style: normal;
}

/* color setting */

.apple_red{color:#FA878F !important;}
.apple_red_op{color:rgba(250,135,143,0.5) !important;}
.green{color:#92C9C0 !important;}
.light_green{color:#BCE0DB !important;}
.light_green_op{color:rgba(188,224,219,0.2) !important;}

.red{color:#C93329;}
.red-border{
border:4px solid #C93329;
display:block;
padding:0.4rem;
}

a{color:#706867; text-decoration:none;}
a:hover{opacity:0.8;}
a:active{color:#706867; text-decoration:none;}

p{
line-height:1.8;
letter-spacing:1px;
margin:0 0 1.6rem 0;
text-align:justify;
word-break: break-all;
}

img{
border: 0px;
vertical-align: bottom;
max-width:100%;
}

.arrow::before, .btn a::after, .fa_icon::before, .fa_icon::after, .btnlink::before,#service ul.submenu li a:after, #first ul.submenu li a:after, .trigger a:after {
display: inline-block;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
}

.left{text-align:left;}
.mleft{margin-left:0 !important;}
.right{text-align:right;}
.center{text-align:center !important;}
.line{display:inline-block;}
.nobr{white-space:nowrap;}
.large{font-size:110%;}
.xlarge{font-size:120%;}
.xxlarge{font-size:130%;}
.small{font-size:90%;}
.caution{color:#05AFB6}
.underline{text-decoration: underline;}
.break{word-break: break-all;}
.maxpc300{max-width:300px;}
.maxpc400{max-width:400px;}

.nopointer{pointer-events:none !important;}
.nocontent:before, .nocontent:after{content:none !important;}

ul {
display: inline-block;
box-sizing:border-box;
width: 100%;
margin:0 0 2rem 0;
line-height:1.8;
}
li{
line-height:1.8;
letter-spacing: 2px;
text-align:justify;
margin:0 0 0.4rem;
}

ul.indent{margin:0 0 1rem 0.6rem;}
ul.dot li{
padding-left:1rem;
}
ul.dot li:before{
border-radius: 50%;
width: 6px;
height: 6px;
display: block;
position: absolute;
left: 0; 
top:calc(1rem - 3px);
content: "";
background:#92C9C0;
}
ul.dot li.alingn_c:before{
top:calc(50% - 3px);
}
ul.dot.red_dot li:before{
background:#FA878F;
}

ul.disc{
padding:0 0 0 1rem;
}
ul.disc li{
list-style-type:disc;
margin-bottom:4px;
text-align:left;
}

strong{font-weight:bold;}
.bottom0{margin-bottom:0 !important;}
.bottomhalf{margin-bottom:0.5rem !important;}
.bottom1rm{margin-bottom:1rem !important;}
.bottom2rm{margin-bottom:2rem !important;}
.bottom4rm{margin-bottom:4rem !important;}
.sub{margin-bottom:1.4rem !important;}
.end{margin-bottom:3rem !important;}
.nopoint{pointer-events: none;}
i{
margin-right:0.4rem;
color:#92C9C0;
vertical-align:baseline;
}
.breadcrumb i{
color:#92C9C0 !important;
}

.btnlink a{
padding:10px;
background:rgba(255,255,255,0.7);
border-radius:8px;
border:2px solid #05AFB6;
display:block;
}
.btn a{
display:inline-flex;
align-items:center;
justify-content:center;
text-align:center;
border-radius:4rem;
padding:0.6rem;
margin:10px 0;
box-sizing:border-box;
width:40%;
max-width:500px;
}
.btn a, .btn i{
color:#fff;
}
btn i{
margin:0 0 0 0.4rem;
}
.monshin.btn a, .btn.mlbg a{
background:#BCE0DB;
}
.monshin.btn a i{
margin:0 0.4rem 0 0;
}

.telink{
pointer-events:none;
}

h1 span{
display:inline-block;
letter-spacing:0;
}
h1 span:before{
display:inline-block;
content:"-";
}
h2{
font-size:1.6rem;
margin:0 0 2rem;
line-height:1.6;
color:#706867;
text-align:center;
position: relative;
padding:0 3rem;
}

#content-top h2{
display:inline-block;
}

main h2{
font-size:1.5rem;
color:#fff;
margin:2rem 0 2rem;
padding:0.2rem 1.6rem;
display:inline-flex;
justify-content:center;
align-items:center;
flex-wrap:wrap;
position: relative;
background:#92C9C0;
border-radius:2rem;
}
main h2:before{
content:none;
position: absolute;
top:auto;
bottom: 0.2rem;
display: inline-block;
width: 4rem;
border-radius:1px;
height: 2px;
left: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
background:#BCE0DB;
}
main h2:after{
content:none;
}

h3{
font-size:1.4rem;
margin:0 0 1.6rem 0;
}
main h3{
text-align:left;
margin:1.4rem 0 1.4rem;
}

h4{
font-size:1.1rem;
margin:0 0 0.6rem 0;
text-align:left;
}
h4.border{
border-bottom:1px solid #BCE0DB;
}

h5{
font-size:1rem;
margin:0 0 14px 0;
text-align:left;
}


div#wrapper{
width:100%;
margin:0 auto;
background-size:contain;
background:#fff;
}

div#content-top, div.content{
margin:0 auto;
}
div#content-top .btn{
text-align:center;
margin:0;
width: 100%;
}

section{
display: block;
box-sizing:border-box;
padding:4rem 1rem 4rem;
}

.inner{
max-width:1100px;
margin:0 auto;
}


#content-top div p:last-child, .content div p:last-child{
margin:0;
}

.nav{
margin:2rem 0 2rem;
}
.nav ul{
text-align:center;
}
.nav ul li{
display:inline-block;
vertical-align:top;
border:2px solid #05afb6;
background:rgba(255,255,255,0.7);
border-radius:6px;
margin:1%;
position:relative;
}
.nav ul li a{
font-size:1rem;
color:#05afb6;
box-sizing:border-box;
display:table-cell;
vertical-align:middle;
padding:1rem 0 1rem;
letter-spacing:0;
}
.nav ul li a span{
padding:0.6rem 1rem;
}
.nav ul li a i{
margin:0 0 0 0.6rem;
}

.overlay{
display:none;
background:rgba(0,0,0,0.6);
height: 100%;
width: 100%;
z-index:10;
position:fixed;
top:60px;
}
.openNav .overlay{
display:block;
}

ul.breadcrumb{
text-align:right;
font-size:0.8rem;
margin: 0 0 3rem;
}
ul.breadcrumb li, ul.breadcrumb li a {
display:inline-flex;
align-items:center;
color:#999;
}

ol{
counter-reset: item;
list-style-type: none;
padding-left: 0;
}
ol li{
display:flex;
flex-wrap: wrap;
margin:0 0 0.6rem;
text-align:left;
}
ol.nowrap li, #service #abortion h3{
flex-wrap:nowrap;
}
ol li:before {
display:inline-flex;
justify-content:center;
align-items:center;
flex-shrink:0;
counter-increment: item;
content: counter(item);
border-radius:50%;
background:#BCE0DB;
color:#fff;
width:30px;
height:30px;
margin:0 0.4rem 0 0;
}
ol li p{
width:calc(100% - 30px - 0.4rem);
}

.content main{
background:#fff;
margin:0 auto 1rem;
max-width:1140px;
border-radius:0 0 0.6rem 0.6rem;
position:relative;
}
.content i{
line-height:1.8;
}


main .inner{
margin:0 auto;
padding:3rem 1rem 3rem;
}
main .inner p{
margin:0 0 1rem;
}
main h1{
margin:0;
padding:0;
font-size:1.8rem;
text-align:center;
position: absolute;
top: -10rem;
width: 100%;
left: 0;
text-shadow:
2px 2px 2px rgba(255,255,255,0.6), -2px -2px 2px rgba(255,255,255,0.6),
   -2px 2px 2px rgba(255,255,255,0.6),  2px -2px 2px rgba(255,255,255,0.6),
2px 0px 2px rgba(255,255,255,0.6), -2px -0px 2px rgba(255,255,255,0.6),
0px 2px 2px rgba(255,255,255,0.6),  0px -2px 2px rgba(255,255,255,0.6);
}
main .telink{
color:#a885ba;
text-decoration: underline;
}

.circle{
display:inline-block;
vertical-align:bottom;
text-align:center;
height: 40px;
line-height: 40px;
width: 40px;
box-sizing:border-box;
background:#BCE0DB;
border-radius:50%;
padding:0;
color:#fff;
margin:0 10px 0 0;
}

table{
margin:0 0 2rem;
width: 100%;
border-collapse: separate;
border-right: 1px solid #aaa;
border-bottom: 1px solid #aaa;
border-spacing: 0;
}
table th{
padding:6px;
background:rgba(235, 163, 147, 0.2);
border-top: 1px solid #aaa;
border-left: 1px solid #aaa;
text-align:center;
line-height:1.6;
font-weight:bold;
vertical-align:middle;
text-align:center;
box-sizing:border-box;
width:460px;
}
table td{
padding:6px;
background:rgba(255,255,255,0.4);
border-top: 1px solid #aaa;
border-left: 1px solid #aaa;
line-height:1.6;
text-align:left;
vertical-align:middle;
box-sizing:border-box;
}
table td.txtleft{
text-align:left;
}

/* ------------------------------------------------------------------
header
------------------------------------------------------------------ */

div#header{
width:100%;
height:640px;
box-sizing:border-box;
margin:0 auto;
position:relative;
}

div#wrapper.content-page div#header{
height:380px;
}


div#wrapper .bgimg{
position:absolute;
left:0;
opacity:0;
width:100%;
height:640px;
animation:bgfade 24s infinite;
}
div#wrapper.content-page .bgimg{
height:380px;
animation:none;
opacity:1;
}


div#wrapper.content-page .bgimg{
background: url("../img/top/h-bg04.jpg") 50% 20% / cover;
}

div#wrapper .src01{
background: url("../img/top/header-bg01.jpg") 0 40% / cover;
}
div#wrapper .src02{
background: url("../img/top/header-bg02.jpg") 0 20% / cover;
animation-delay  : 6s;
}
div#wrapper .src03{
background: url("../img/top/header-bg03.jpg") 0 20% / cover;
animation-delay  : 12s;
}
div#wrapper .src04{
background: url("../img/top/header-bg03.jpg") 0 20% / cover;
animation-delay  : 18s;
}

div#wrapper .h_src01{
background: url("../img/top/h-bg01.jpg") 50% 40% / cover;
}
div#wrapper .h_src02{
background: url("../img/top/h-bg02.jpg") 50% 20% / cover;
animation-delay  : 6s;
}
div#wrapper .h_src03{
background: url("../img/top/h-bg03.jpg") 50% 20% / cover;
animation-delay  : 12s;
}
div#wrapper .h_src04{
background: url("../img/top/h-bg04.jpg") 50% 20% / cover;
animation-delay  : 18s;
}


@keyframes bgfade { 
   0% { opacity: 0; }
   11% { opacity: 1; } /* 2 / 18 */
  33% { opacity: 1; } /* 6 / 18 */
  44% { opacity: 0; } /* 8 / 18 */
 100% { opacity: 0; }
}

div#wrapper .bgimg:before{
position:absolute;
top:0;
content:"";
display:block;
width:100%;
height:130px;
background: #fff;
}
/*div#wrapper .bgimg:after{
position:absolute;
bottom:0;
content:"";
display:block;
width:100%;
height:100%;
background: url("../img/top/mimosa-stem-vg.png") no-repeat calc(20% - 120px) 0 / contain;
opacity:1;
}
div#wrapper.content-page .bgimg:after{
content:none;
}*/

div#header .block{
max-width:1200px;
padding:0 1rem 0;
box-sizing:border-box;
width:100%;
display:flex;
align-items:center;
max-height:300px;
margin:0 auto;
position:relative;
}


div#header .infohead{
display:flex;
justify-content:space-between;
align-items:center;
}

div#header .logo{
box-sizing:border-box;
width:30vw;
max-width:240px;
margin:0;
transform:translateY(-1rem);
}
div#header .logo a{
box-sizing:border-box;
margin:0 0 0;
display: flex;
justify-content: center;
align-items:center;
background:#fff;
padding:2rem;
border-radius:50%;
}
div#header.fixed .logo{
transform:none;
width:20%;
}
div#header.fixed .logo a{
background:none;
padding:0;
}
div#header.fixed .logo a img.single{
display:block;
margin:0;
}

div#header .logo a img{
box-sizing:border-box;
margin: 0 0 0.3vw;
}
div#header .logo a img.single, div#header.fixed .logo a img{
display:none;
}


div#header .logo a:hover{
opacity:1;
}

div#header .block .info{
position:absolute;
top:0;
right:1rem;
display:flex;
margin:0;
padding:0;
z-index:10000;
}
div#header .block .info p{
vertical-align:top;
display:inline-block;
margin:0 0.5rem;
box-sizing:border-box;
max-width:300px;
font-size:1.1rem;
letter-spacing:0;
position:relative;
height:70px;
}

div#header .block .info p a, #info .contact p a{
text-align:center;
line-height:1.4;
height:100%;
display: flex;
justify-content: center;
align-items: center;
padding:0.8rem 2rem;
box-sizing:border-box;
background:#fff;
border:1px solid #BCE0DB;
border-radius:1rem;
}
#info .contact p a{
background:#92C9C0;
color:#fff;
}

div#header .block .info p a{
border-radius:0 0 1rem 1rem;
}

div#header .block .info p:nth-of-type(1) a, #info .contact p.tel a{
background:#92C9C0;
color:#fff;
}
div#header .block .info p a i{
color:#BCE0DB;
}
div#header .block .info p:nth-of-type(1) a i, #info .contact p.tel a i{
color:#fff;
}
div#header .block .info p a .pc{
display:flex;
flex-direction:column;
}
div#header .block .info p a .pc .small{
font-size:0.8rem;
}

div#header .block .info p a .sp{
display:none;
}

div#header .catch{
text-align:center;
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
position:absolute;
width:100%;
bottom:24%;
font-size:1.6rem;
color:#706867;
overflow:hidden;
}
div#header .catch p{
font-size:1.6rem;
padding:0 1rem;
width:100%;
margin:0;
display:flex;
flex-wrap:wrap;
align-items:center;
justify-content:center;
text-align:center;
line-height:1.4;
}
div#header .catch p span{
display:inline-block;
}
div#header .catch p.open{
display:inline-flex;
align-items:flex-end;
width:auto;
text-align:center;
margin:1rem auto 0;
padding:0.6rem 1.4rem;
border-radius:2rem;
background:#FA878F;
color:#fff;
line-height:1.6;
letter-spacing:4px;
}
div#header .catch p.open .sm{
font-size:80%;
margin-bottom:2px;
}
div#header .catch p.open .lg{
letter-spacing:2px;
font-size:1.7rem;
margin:0.4rem 0;
color:#BCE0DB;
}

.fadeIn{
animation-name:fadeInObj;
animation-duration:2.8s;
animation-fill-mode:forwards;
opacity:0;
}
@keyframes fadeInObj{
  from {
opacity: 0;
  }
  to {
opacity: 1;
  }
}
.shadow{
padding: 10px;
text-shadow:
2px 2px 2px rgba(235,163,147,0.4), -2px -2px 2px rgba(235,163,147,0.4),
-2px 2px 2px rgba(235,163,147,0.4),  2px -2px 2px rgba(235,163,147,0.4),
2px 0px 2px rgba(235,163,147,0.4), -2px -0px 2px rgba(235,163,147,0.4),
0px 2px 2px rgba(235,163,147,0.4),  0px -2px 2px rgba(235,163,147,0.4);
margin: 0;
}
.shadow01{
padding: 10px;
text-shadow:
2px 2px 2px rgba(255,255,255,0.6), -2px -2px 2px rgba(255,255,255,0.6),
   -2px 2px 2px rgba(255,255,255,0.6),  2px -2px 2px rgba(255,255,255,0.6),
2px 0px 2px rgba(255,255,255,0.6), -2px -0px 2px rgba(255,255,255,0.6),
0px 2px 2px rgba(255,255,255,0.6),  0px -2px 2px rgba(255,255,255,0.6);
margin: 0;
}




div#header.fixed{
padding-top:120px;
}
div#header.fixed .block{
position:fixed;
align-items:center;
z-index:200;
background:rgba(255,255,255,0.9);
padding:0;
max-width:none;
left:0;
top:0;
width:100%;
height:68px;
flex-direction:row;
border-bottom:1px solid #BCE0DB;
}
div#header.fixed .block .infohead{
margin-right:1rem;
height: 100%;
align-items:center;
}
div#header.fixed .block nav{
width:calc(80% - 130px);
max-width:1100px;
}


div#header.fixed .block .info{
top:0;
}
div#header.fixed .block .info span{
display:none !important;
}

.close{display:none}
div#header.fixed .block .info .close{
z-index:300;
cursor: pointer;
display:flex;
justify-content:center;
align-items:center;
width:30px;
height:30px;
position:absolute;
top:-14px;
right:calc(50% - 15px);
background:#fff;
border:1px solid #BCE0DB;
border-radius:15px;
}
div#header.fixed .block .info .close i{
margin:0;
color:#847f7d;
}
div#header.fixed .block .info.off{
display:none;
}

div#header.fixed .block .info p{
padding:0;
opacity:0.9;
margin:0;
max-width:none;
position:relative;
}

div#header.fixed .block .info p a{
height:68px;
width:6.4vw;
border:none;
border-radius:0;
padding:0;
border:1px solid #BCE0DB;
}
div#header.fixed .block .info p a i{
margin:0;
}

div#header.fixed .block .nav{
width:calc(100% - 80px);
}

.block nav{
display:block;
}
ul#gNav {
display:flex;
justify-content:center;
margin:0 auto;
padding:0;
text-align:center;
width:100%;
position:relative;
left:0;
bottom:0;
color: #CCC;
font-size: 100px;
text-shadow:
2px 2px 2px rgba(255,255,255,0.4), -2px -2px 2px rgba(255,255,255,0.4),
   -2px 2px 2px rgba(255,255,255,0.4),  2px -2px 2px rgba(255,255,255,0.4),
2px 0px 2px rgba(255,255,255,0.4), -2px -0px 2px rgba(255,255,255,0.4),
0px 2px 2px rgba(255,255,255,0.4),  0px -2px 2px rgba(255,255,255,0.4);
margin: 0;
}

ul#gNav li {
display:inline-block;
text-align:center;
box-sizing:border-box;
margin:0 0.6vw;
vertical-align:top;
position:relative;
line-height:1.2;
padding:0
}

ul#gNav li a{
letter-spacing:1px;
font-size:1.3rem;
padding:1rem 0.2vw;
display:block;
text-align:center;
position:relative;
box-sizing:border-box;
}
ul#gNav li a:hover{
color:#92C9C0;
}

ul#gNav li.parent a .arrow{
display:inline-block;
margin-left:6px;
width:1rem;
height:1rem;
color:#92C9C0;
}
ul#gNav li.parent a .arrow::after{
font: var(--fa-font-light);
content: "\f160";
}
ul#gNav li ul.child{
position:absolute;
width:240px;
top:40px;
left:calc(50% - 120px);
z-index:1000;
visibility: hidden;
opacity: 0;
display:flex;
flex-wrap:wrap;
margin:0;
padding:0;
box-sizing:border-box;
}
ul#gNav li ul.child li{
width:100%;
display:inline-flex;
align-items:center;
justify-content:center;
margin:0;
}
ul#gNav li ul.child li:nth-child(2n+1):last-child{
width:100%;
}

ul#gNav li ul.child li a{
padding:0 0.4rem;
display:flex;
align-items:center;
justify-content:center;
background:#fff;
width:100%;
height:56px;
font-size:1.1rem;
}
ul#gNav li ul.child li#link-ear a{
background: url("../img/common/ear.png") #fff no-repeat 2rem 50%;
background-size:2.4rem;
}
ul#gNav li ul.child li#link-nose a{
background: url("../img/common/nose.png") #fff no-repeat 2rem 50%;
background-size:2.4rem;
}
ul#gNav li ul.child li#link-throat a{
background: url("../img/common/throat.png") #fff no-repeat 2rem 50%;
background-size:2.4rem;
}
ul#gNav li ul.child li a:hover{opacity:1;}
ul#gNav li ul.child li i{
margin:0 0 0 0.2rem;
}
ul#gNav li:hover ul.child{
visibility: visible;
opacity: 1;
}
/*ul#gNav li ul.child{
visibility: visible;
opacity: 1;
}*/
ul#gNav ul.child li a:after, ul#gNav ul.child li + li a:after{
border:none;
}


.fixed ul#gNav{
margin:0;
padding:0.4rem 0;
position: relative;
background:none;
}
.fixed ul#gNav li{
margin: 0 0.6vw;
}
.fixed ul#gNav li a{
letter-spacing:0;
}

#navToggle {
display:none;
}
#navToggle div {
border-radius:1px;
height:34px;
}
#navToggle span {
display:block;
position:absolute;
width:50%;
height:2px;
margin:0 25% 0;
border-radius: 4px;
background-color:#fff;
-webkit-transition: .35s ease-in-out;
-moz-transition: .35s ease-in-out;
transition: .35s ease-in-out}
#navToggle span:nth-child(1) {top:10px}
#navToggle span:nth-child(2) {top:20px}
#navToggle span:nth-child(3) {top:30px}


/* ------------------------------------------------------------------
footer
------------------------------------------------------------------ */

div#footer{
padding:3rem 0;
margin: 0 auto;
position:relative;
overflow:hidden;
background:rgba(188,224,219,0.2);
display:flex;
flex-wrap:wrap;
}

div#footer > div{
width:50%;
}

div#footer #fNav{
display:flex;
flex-direction:column;
margin:0 0 1rem;
font-size:0.8rem;
}
div#footer #fNav ul {
overflow:hidden;
margin:0 0 20px 0;
letter-spacing:2px;
display:flex;
flex-wrap:wrap;
}
div#footer #fNav ul li {
width:48%;
display:inline-block;
margin: 0 0 0.6rem;
padding:0;
box-sizing: border-box;
}

div#footer #fNav ul li a{
display:block;
}
div#footer #fNav ul li a.fa_icon{
display:inline-block;
}
div#footer #fNav a.fa_icon::before{
font: var(--fa-font-light);
content: "\f054";
width:1rem;
height:1rem;
color:#92C9C0;
}
div#footer #fNav p{
margin:0 0 0.4rem;
}
div#footer #fNav ul.submenu{
margin:0.6rem 0 0;
}
div#footer #fNav ul.submenu li{
width:50%;
margin:0 0 0.6rem;
text-align:left;
}
div#footer #fNav ul.submenu li a::before{
content: "-";
display: inline-block;
color:#92C9C0;
}


div#footer p.copy{
text-align: center;
font-size:80%;
margin:0 1rem;
width:100%;
}

div#footer div#fInfo{
clear: both;
text-align:center;
margin:0 0 30px;
}
div#footer div#fInfo img{
border-radius:6px;
}

div#footer div#fInfo p, div#footer div#fInfo a{
display:inline-block;
vertical-align:middle;
text-align:center;
width:100%;
letter-spacing: 1px;
margin:10px 0;
}
div#footer div#fInfo .flogo{
font-size:1.4em;
}
div#footer div#fInfo .flogo img{
width:80%;
max-width:200px;
}


div#footer div#fInfo a.telink{
margin:0.6rem 0 0.6rem;
line-height:1;
display: inline-flex;
align-items: center;
justify-content: center;
}

section#info, div#content-top section#info{
padding:3rem 1rem 0;
}
section#info .inner{
display:flex;
justify-content:center;
max-width:1000px;
font-size:1rem;
margin:0 auto 3rem;
width:100%;
text-align:center;
overflow:hidden;
box-sizing:border-box;
position:relative;
}
section#info .inner:after{
position:absolute;
top:0;
left:calc(50% + 1px);
display:block;
content:"";
width:1px;
height:100%;
background:#ccc;
}

section#info .inner > div{
display:flex;
flex-direction:column;
align-items:center;
/*max-width:600px;
width:100%;*/
max-width:480px;
width:calc(100% - 1.2rem);
border-radius:0.2rem;
margin:0.2rem;
overflow: hidden;
text-align:left;
vertical-align:top;
box-sizing:border-box;
padding:1rem;
background:rgba(255,255,255,0.8);
background:#fff;
}




section#info >div p{
width:100%;
text-align:center;
margin:0 0 0.4rem;
}
section#info >div p.ttl{
font-size:1.4rem;
margin:0 0 1rem;
position:relative;
}


#info .contact p a i{
line-height:1.4;
color:#fff;
}
#info .contact p.qr{
max-width:120px;
}
#info .contact p.qr a{
background:none;
border:none;
padding:0;
}

section#info > div.calendar .calnotice, .content-cal .calnotice{
text-align:justify;
letter-spacing:0;
margin:0 0 0.2rem;
line-height:1.6;
display:block;
width:100%;
}
section#info > div + div{
border-left:2px dashed #E0EEE1;
}

section#info >div.mapcol{
max-width:calc(960px + 2% );
width:100%;
margin-bottom:0;
}

section#info >div p.transit{
text-align:left;
}

/*
div#content-top .mapcol{
display:none;
}*/

#info .contact p +p{
margin:1rem 0 0;
}
#info .info p a{
display:flex;
align-items:center;
justify-content:center;
border-radius: 6px;
padding:0.6rem;
box-sizing:border-box;
}


section#accessinfo{
text-align:center;
padding:4rem 1rem 2rem;
background:rgba(250,135,143,0.1)
}
section#accessinfo .inner{
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
max-width:900px;
padding:0 1rem;
}
section#accessinfo .inner p{
margin:0 0 0.4rem;
}
section#accessinfo .inner p:last-child{
margin:0;
}
section#accessinfo .transport{
width:100%;
border-radius:0 0 0.6rem 0.6rem;
}

section#accessinfo .transport i:before{
display: block;
width:1rem;
}


#map, #mapaccess{
border:1px solid #c0c0c0;
width:100%;
height:44vh;
margin: 0 auto 1rem;
}
#map iframe{
height:100% !important;
}

.accessInfo{
padding:0.6rem;
box-sizing:border-box;
margin:0;
}
.accessInfo p{
margin:0 0 10px;
text-align:left;
}
.accessInfo p i{
color:#70AA73;
}

p.backtotop a{
display:none;
transition: all .5s ease;
bottom:0.6rem;
right: 0.6rem;
overflow: hidden;
position: fixed;
margin:0;
font-size:1rem;
}
p.backtotop.on a{
display:flex;
justify-content:center;
align-items:center;
opacity:0.5;
}
p.backtotop a:hover{
opacity:1;
}
p.backtotop a i{
margin:6px;
color:#92C9C0;
}


/* ------------------------------------------------------------------
home
 ------------------------------------------------------------------ */

div#content-top section#news{
padding:2rem 0;
}
#news .allinner{
display:flex;
flex-direction:column;
margin:0 auto;
}
#news .allinner .inner{
width:100%;
}

#news .allinner .inner .schedule-inner{
background:rgba(235,163,147,0.1)
background:#fff;
}
#news .allinner .inner .cal-inner{
background:#F6F5F3;
}

#news .allinner .inner .inner-col{
max-width:500px;
margin:0 auto;
}
#news p.calendar{
display:block;
border-radius:0.6rem;
padding:0.4rem;
margin:0 0 1rem;
}

#content-top #news .gcal{
margin:0 auto;
max-width:500px;
}

#content-top #news p.cal-top{
margin:1rem auto;
width:80%;
max-width:600px;
background:#fff;
padding:0.6rem;
border-radius:1rem;
border:1px solid #faf1f2;
}

#news h2{
display:inline-block;
padding:0 3rem;
font-size:1.4rem;
position: relative;
}

ul.sns_bnr{
display:flex;
justify-content:center;
align-items:center;
margin:0;
}
ul.sns_bnr li{
text-align:center;
max-width:100px;
margin:0 0.1rem;
line-height:1.2;
}
ul.sns_bnr li i{
margin:0;
}

#news ul.sns_bnr{
margin:0 0 1rem;
}
#news ul.sns_bnr li{
margin:0 0.6rem;
}
div#footer div#fInfo ul.sns_bnr a{
margin:0;
}
div#footer div#fInfo ul.sns_bnr li i.fa-square-instagram{
font-size:2.26rem;
}


#news .news-inner{
max-height: 48vh;
margin:0 0 2rem;
width:100%;
text-align:left;
display:flex;
flex-direction:column;
align-items:center;
}
#news .news-inner ul{
width:80%;
max-height:30vh;
margin:0 auto;
border-radius:2px;
display:flex;
flex-wrap:wrap;
background:rgba(255,255,255,0.8);
}
#news .news-inner ul li{
width:100%;
}

#news .news-inner ul.newslist{
max-height:none;
}
#news .news-inner ul.newslist li, ul.newslist li{
border-bottom: 1px solid #dfdfdf;
padding:1rem 0;
}
main.post ul.newslist li:last-of-type{
border-bottom:none;
}
#news .news-inner ul.newslist li .ttl, ul.newslist li .ttl{
color:#77a39b;
display:block;
font-size:1.2rem;
margin:0 0 0.8rem;
line-height:1.4;
}
#news .news-inner ul.newslist li:empty, ul.newslist li:empty{
display:none;
}
#news .news-inner ul.newslist li:nth-child(n+7){
display:none;
}

.mCS-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar:hover, .mCS-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar, .mCS-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar, .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar, .mCSB_dragger:hover .mCSB_dragger_bar{
background:#BCE0DB;
}

main.post ul.newslist li:nth-of-type(n+4){
opacity : 0;
transform : translate(0, 20px);
transition : all 1s;
}


main.post ul.newslist li.active{
  opacity : 1;
  transform : translate(0, 0);
}

#news .linkbtn{
background:#f0f0f0;
display:inline-block;
padding:0.4rem 1rem;
border-radius:0.2rem;
margin: 0 0 0.4rem;
}

#news p{
text-align:left;
letter-spacing: 1px;
padding:0 0 0.4rem;
margin:0;
line-height: 1.6;
}
#content-top #news p.btn{
border-bottom:none;
margin:1rem 0 2rem;
text-align:center;
}


#content-top .btn a{
color:#92C9C0;
border:2px solid #92C9C0;
border-radius:2rem;
min-width:100px;
}
#content-top .btn a::after, .btn a::after{
font: var(--fa-font-light);
content: "\f054";
margin-left:4px;
font-size:0.8rem;
}

#content-top #introduction{
background: url("../img/top/blue.webp")  0 0 / cover transparent;
}
#content-top #introduction  h2:before{
content:"";
height:80px;
display:block;
background: url("../img/common/logo-gray.png") 50% 0 / contain no-repeat;
margin:0 0 1rem;
}
#content-top #introduction  h2{
color:#BCE0DB;
font-size:1.8rem;
}
#content-top #introduction  h2:before {
color: #706867;
}
#introduction .inner{
display:flex;
background:rgba(255,255,255,0.7);
}
#introduction .inner figure {
display:block;
width:50%;
}
#introduction .inner > div{
width:50%;
padding:1rem;
text-align:left;
}

#about{
background: url(../img/common/restaurant.webp) 0 0 transparent;
height: 100%;
position: relative;
overflow: hidden;
text-align: center;
}
#about h2{
color:#fff;
}

#about .about_list{
display:flex;
flex-direction:column;
justify-content:center;
position: relative;
margin:0;
padding-right:2rem;
}

#about .about_list > li{
width:100%;
margin:0 1rem 7rem;
padding:0;
border:1px solid #92C9C0;
background:rgba(255,255,255,1);
border-radius:2rem;
display:flex;
align-items:center;
}
#about .about_list > li:last-of-type{margin:0 1rem;}

#about .about_list > li a{
text-align:center;
display: block;
padding:0.4rem;
color:#FA878F;
border:2px solid #FA878F;
width:80%;
border-radius:2rem;
}
#about .about_list > li:nth-of-type(2n) a{
color:#92C9C0;
border:2px solid #92C9C0;
}

#about .about_list > li a:after{
font: var(--fa-font-light);
content: "\f054";
}
#about .about_list > li picture{
padding:1rem;
margin:0;
background:#fff;
border-radius:10rem;
border:1px solid #9FD4CE;
width:20rem;
height:20rem;
display:flex;
justify-content:center;
align-items:center;
flex-shrink:0;
transform:translate3D(-1rem, -6rem, 0);
}
#about .about_list > li picture.nobg{
background:none;
border:none;
padding:0;
}
#about .about_list > li:nth-of-type(2n){
flex-direction:row-reverse;
}
#about .about_list > li:nth-of-type(2n) picture{
transform:translate3D(1rem, -6rem, 0);
}

#about .about_list > li div{
padding:1rem 0;
display: flex;
flex-direction:column;
width:calc(100% - 22rem);
}
#about .about_list > li div i{
display:flex;
font-size:4rem;
margin:1rem 0;
color:#607c2c;
}
#about .about_list div h3{
line-height:1.4;
text-align:left;
}
#about .about_list div p{
font-size:1.1rem;
margin:0 0 1rem;
word-break:normal;
}
#about .about_list > li div > div{
display:flex;
flex-direction:column;
}


#speciality{
position:relative;
background:#fff;
text-align:center;
}
#speciality .inner{
max-width:1000px;
position:relative;
}
#speciality .inner p{
margin:0 0 3rem;
}
#speciality .list{
width:100%;
display:flex;
flex-wrap:wrap;
justify-content:center;
margin:0;
}
#speciality .list > li{
width:calc(100%/3 - 8px);
margin:4px;
position:relative;
}
#content-top #speciality .list > li+ li:after{
content:"";
top:10%;
left:-4px;
height:80%;
width:2px;
border-left:1px dashed #bebebe;
position:absolute;
}
#speciality .list > li:nth-of-type(4):after{
content:none;
}

#speciality .list > li a{
display:flex;
flex-direction:column;
align-items:center;
border-radius:0.2rem;
padding:1rem;
height:100%;
}
#speciality .list > li:last-of-type a{
padding:1rem 1rem 0;
}

#speciality .list > li h3{
text-align:center;
line-height:1.4;
font-size:1.2rem;
margin:0 0 0.2rem;
background:#92C9C0;
border-radius:2rem;
padding:0.4rem 1rem;
color:#fff;
}
#speciality .list > li#ear h3, .service_cat#ear, #service #ear + .drawer > div h4, .btn.ear_btn a{
background:#92C9C0;
}
#speciality .list > li#nose h3, .service_cat#nose, #service #nose + .drawer > div h4{
background:#FA878F;
}
#speciality .list > li#throat h3, .service_cat#throat, #service #throat + .drawer > div h4{
background:#B3BEE0;
}

#speciality .list > li figure{
text-align:center;
margin:0 0 0.4rem;
display:flex;
justify-content:center;
align-items:center;
}
#speciality .list > li figure i{
padding:1rem;
}
#speciality .list > li figure img{
width:60%;
}
#speciality .list > li a p{
color:#706867;
margin:1rem 0 0;
}

#speciality .list > li ul.dot{
display:flex;
flex-wrap:wrap;
padding:1rem 1rem 0;
}
#speciality .list > li ul.dot li{
margin:0 0.6rem 0 0;
}

#content-top  #speciality p.btn a{
background:#fff
}

/* ------------------------------------------------------------------
calendar
 ------------------------------------------------------------------ */

#calendar{
margin-top:2rem;
}

#calendar .inner{
max-width:900px;
margin:1rem auto 0;
}

#calendar iframe{
margin:20px 0 0;
width:100%;
max-width:900px;
}

.calinner{
position:relative;
width:100%;
height:0;
padding-top:630px;
}
.calinner iframe{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
}

table.cal{
margin:0;
width: 100%;
border-collapse: separate;
border-right: 1px solid #CCCCCC;
border-bottom: 1px solid #CCCCCC;
border-spacing: 0;
}
table.cal th{
display:table-cell;
padding:2px;
background:#f9f9f9;
border-top: 1px solid #CCCCCC;
border-left: 1px solid #CCCCCC;
text-align:center;
width:12%;
line-height:1.6;
font-weight:bold;
vertical-align:middle;
}
table.cal td{
display:table-cell;
padding:2px;
border-top: 1px solid #CCCCCC;
border-left: 1px solid #CCCCCC;
line-height:1.6;
text-align:center;
vertical-align:top;
font-weight:bold;
width:auto;
}

table.cal.bgp{
border-right:none;
border-bottom:6px solid #F6F5F3;
}
table.cal.bgp th{
color:#fff;
background:#BCE0DB;
border:none;
}
table.cal.bgp td{
border-top:6px solid #F6F5F3;
border-left:6px solid #F6F5F3;
}
table.cal.bgp td:first-of-type{
border-left:none;
}

table.cal td.closed, span.closed{
background:#ffe8e9;
}
table.cal td.changed, span.changed{
background:#cef2cd;
}

table.cal td.today{
color:#BCE0DB;
}

span.closed,span.changed, span.sat, span.sun, span.normal{
display:inline-block;
width:20px;
height:20px;
margin-right:4px;
vertical-align:top;
}

ul.calmenu {
padding:0.6rem;
border-radius: 4px;
margin:0;
}
ul.calmenu li{
display: inline-flex;
align-items:center;
padding:0.4rem;
margin:0;
}
ul.calmenu li span{
letter-spacing:0;
line-height:1.4;
}

.calcol{
margin:0 0 1rem;
text-align:center;
}
span.prev a, span.next a{
display: inline-block;
border-radius: 10rem;
border: 1px solid #BCE0DB;
padding:0.4rem 1.2rem;
width:40%;
max-width:160px;
}

.calcol.arrow{
margin:2rem 0 2rem;
}

.calTxt{
font-size:0.8rem;
color:#333;
text-align: center;
display: flex;
align-items:center;
justify-content:center;
letter-spacing: 0;
min-height:2.4rem;
line-height:1.2;
}

p.caltxt{
margin:0 0 20px;
}

p.topCol, #news .notChanged p{
border:none;
text-align: center;
font-size: 1.4rem;
margin:0 0 0.4rem;
}
.notChanged{
padding:1rem;
background:rgba(255,255,255,0.7);
margin:0 0 2rem;
}
.notChanged p{
text-align: center;
margin: 1rem 0;
}

.official_notice{
border:1px solid #bebebe;
padding:1rem;
margin:0 auto 4rem;
max-width:730px;
text-align:left;
box-sizing: border-box;
}
.official_notice h2{
font-size:1.1rem;
margin:0 0 0.8rem;
}
.official_notice h3, .official_notice p.ttl{
font-size:1rem;
margin:0 0 0.4rem;
font-weight:normal;
}
.official_notice p, .official_notice ul{
font-size:0.9rem;
margin:0 0 0.6rem;
}


/* ------------------------------------------------------------------
clinic.html
 ------------------------------------------------------------------ */

.about_cl{
background:rgba(235,163,147,0.04);
border-radius:1rem;
border:1px solid rgba(235,163,147,0.6);
padding:1rem;
width:80%;
max-width:900px;
text-align:left;
overflow:hidden;
margin: 0 auto;
}

#clinic .catch{
font-size:1.2rem;
margin:0 0 3rem;
text-align:center;
color:#E9919D;
}

main .inner p.logo-intro, main .inner p.content-cal{
display:block;
margin:0 auto 2rem;
max-width:400px;
width:80%;
}
main .inner p.content-cal{
max-width:600px;
width:100%;
}

ul.cPhoto {
margin: 0 0 30px 0;
overflow:hidden;
display:flex;
flex-wrap:wrap;
justify-content:space-around;
align-items:center;
}
ul.cPhoto li:before{
content:none;
}
ul.cPhoto li {
width:49%;
list-style-type:none;
text-align:center;
display:flex;
flex-direction:column;
overflow:hidden;
margin:0 0 0.8rem;
padding:0;
line-height:1.8;
position:relative;
}
ul.cPhoto li img{
max-width:520px;
border-radius:1rem;
}
ul.cPhoto li h3{
font-size:1.3rem;
text-align:center;
}
ul.cPhoto li a{
border-radius:4px;
}
ul.cPhoto li div{
display:flex;
flex-direction:row;
justify-content:center;
flex-wrap:wrap;
}
ul.cPhoto li div a{
width:48%;
overflow: hidden;
}

ul.cPhoto li.vt img{
position:absolute;
top:-50%;
}

ul.cPhoto p a {
text-decoration:none;
}


/* ------------------------------------------------------------------
doctor.html
 ------------------------------------------------------------------ */

main .profile h3{
font-size:1.2rem;
margin:0 0 1rem;
text-align:left;
}

.greetingInner, .doctorInfoInner{
width:80%;
max-width:900px;
margin:0 auto 2rem;
overflow:hidden;
background:rgba(255,255,255,0.6);
padding:20px;
box-sizing:border-box;
font-size:1rem;
}
.greetingInner p {
margin: 0 0 10px;
letter-spacing:0.1rem;
}
.greetingInner p:last-child {
margin:0;
}
.greetingInner h2:before{content:none;}

.greetingInner .clinicName{
text-align:right;
margin: 0 0 10px;
font-size:1.2rem;
}

.greetingInner .doctorName {
text-align:right;
margin: 0 0 10px;
line-height:1;
font-size:1.3rem;
}
.greetingInner .doctorName span{
font-size:1rem;
}

.greetingInner .greetingmain{
display:flex;
flex-direction:column;
}
.greetingInner .greetingmain .txt{
width:100%;
}
.greetingInner .greetingmain picture{
display:block;
padding:0 0 1rem;
border-radius:1rem;
}
.greetingInner .greetingmain picture, .doctormain{
max-width:700px;
margin:0 auto;
}


.greetingInner .greetingmain .txt p:last-child{
margin:0 0 2rem;
}


#doctorInfo {
padding: 60px 0 40px;
background: url("../img/common/tiny-squares.png")  0 0 transparent;
}




#doctorInfo .col{
width:90%;
vertical-align:top;
display:inline-block;
text-align:left;
padding:1%;
box-sizing: border-box;
}



#doctorInfo .col span.nw{
font-weight:normal;
white-space: nowrap;
display:inline-block;
}

.doctorInfoInner{
margin:0 auto;
padding:3rem 1rem 0;
text-align:center;
border-top:1px dashed #bebebe;
}


.profileInner{
display:flex;
flex-direction:column;
justify-content:space-around;
}

.profile {
overflow: hidden;
margin: 0;
padding:0.6rem 0;
display:flex;
flex-direction:column;
width:100%;
}

.profilecol{
padding:0.4rem;
width:100%;
display:flex;
}
.profilecol p{
line-height:1.8;
margin:0 0 0.2rem;
display:flex;
}
.profilecol p span + span{
margin-left:0.4rem;
}

.profilecol p + p{
margin:0.8rem 0 0.2rem;
}

.profilecol.double .col{
margin:0;
padding:0.4rem;
width:50%;
}
.profilecol .col:last-of-type{
margin:0;
}

.profile img{
float:left;
display:inline-block;
width:30%;
margin:0 4% 0 0;
max-width:300px;
}

.profile ul{
box-sizing:border-box;
display:inline-block;
width:100%;
}

.profile ul li span.date{
min-width:70px;
}
.profile ul li span.inline{
margin-right:0.4rem;
}

.greeting .doctor{
overflow: hidden;
margin:0 0 1.6rem;
}
.greeting .doctor img{
border-radius:0.4rem;
width:400px;
}
.doctor_message{
margin:0 0 2rem;
}

ruby rt{
font-weight:bold;
}

.sig{
width:100%;
display:flex;
flex-direction:column;
align-items:flex-end;
justify-content:flex-end;
}
.sig p{
line-height: 1;
margin:0 0 10px;
}
.sig p{
white-space: nowrap;
}
.sig p.doctorname {
font-size: 1.6rem;
text-align: right;
}




.profilecol{
background:rgba(255,255,255,0.7);
padding:0 1rem;
width:100%;
}
.profilecol h3{
margin:0 0 1rem;
}
.profilecol p {
display: flex;
line-height: 1.8;
margin: 0 0 0.2rem;
}
.profilecol p span:first-of-type{
margin-right: 0.4rem;
white-space: nowrap;
}
.profile ul{
box-sizing:border-box;
display:inline-block;
width:100%;
margin:0 0 1rem;
}
.profile ul li{
text-align:left;
}

.profile ul li span{
min-width:70px;
}




/* ------------------------------------------------------------------
service
------------------------------------------------------------------ */

.vaccine h4 span{
display:inline-block;
background:#aaa;
color:#fff;
padding:0 0.4rem;
}

.service_cat{
display:flex;
align-items:center;
justify-content:space-between;
margin:0 0 0.6rem;
}
.service_cat > div{
display:flex;
}
.service_cat h2{
background:none;
}
.service_cat figure{
max-width:6rem;
}

.trigger{
cursor:pointer;
}
.trigger:hover{
opacity:0.8;
}
.trigger:after{
margin:0 1rem;
font: var(--fa-font-solid);
content: "\2b";
font-size:2rem;
color:#fff;
}
.trigger.on:after{
font: var(--fa-font-solid);
content: "\f068";
font-size:2rem;
font-size:2rem;
color:#fff;
}
.trigger + .drawer{
display:none;
}
.trigger.on + .drawer{
display:block;
padding:0 0 2rem;
}

h2.trigger{
margin-bottom:0;
}
h2.trigger:hover{
opacity:0.8;
}
h2.trigger:after{
background:none;
color:#BCE0DB;
height:auto;
width:auto;
animation: blink 1s infinite alternate;
}
h2.trigger.on:after{
animation:none;
}

h2.trigger.on + .drawer{
border:1px solid #faf1f2;
padding:1rem;
}
@keyframes blink{
   0% { opacity: 0 }
 100% { opacity:1 }
}

#service h2.border{
border-bottom:1px solid #706867;
border-radius:0;
background:none;
color:#706867
}

#service h3{
border-bottom:1px solid #ddd;
padding:0 0 0.4rem;
display: flex;
flex-wrap:wrap;
align-items: center;
}
#service .drawer > div{
border:1px solid #ddd;
padding:0.6rem;
margin:0 0 0.6rem;
display:flex;
flex-direction:column;
}
#service #ear + .drawer h3, #service #ear + .drawer > div{
border-color:#92C9C0;
}
#service #nose + .drawer h3, #service #nose + .drawer > div{
border-color:#FA8792;
}
#service #throat + .drawer h3, #service #throat + .drawer > div{
border-color:#B3BEE0;
}
#service .drawer > div > div{
display:flex;
justify-content:space-between;
margin:0 0 0.6rem;
}
#service .drawer > div h4{
background:#92C9C0;
color:#fff;
margin:0;
height:2rem;
border-radius:1rem;
width:10%;
display:flex;
justify-content:center;
align-items:center;
}
#service .drawer > div p{
width:88%;
}


#service h3.nobdr{
border:none;
}
#service h3.linked{
margin-top:-70px;
padding-top:70px;
}



/* ------------------------------------------------------------------
expence
 ------------------------------------------------------------------ */

#expence table, #expence table +p{
max-width:700px;
margin:0 auto;
}

#expence table td{
text-align:right;
}

#expence table#botox tr th:first-of-type{
width:360px;
}
#expence table#botox td{
padding:0;
display:flex;
justify-content:center;
align-items:center;
}
#expence table#botox th:empty{
background:none;
}
#expence table#botox td.tdttl{
background:rgba(235, 163, 147, 0.5);
}
#expence table#botox span{
text-align:center;
display:block;
padding:10px 6px;
width:50%;
letter-spacing:0;
}
#expence table#botox span + span{
border-left:1px dashed #bebebe;
}

/* ------------------------------------------------------------------
first
 ------------------------------------------------------------------ */

.dx{
padding:0.8rem;
margin:0 0 1rem;
background:#f6f6f6;
}
.dx h3{
margin:0 0 1rem;
}

.digisma_info{
display:flex;
flex-direction:row-reverse;
align-items:center;
}
.digisma_info picture{
margin:0 1rem 1rem;
width:300px;
flex-shrink:0;
}
.digisma_info.vt{
flex-direction:column;
}
.digisma_info.vt div{
margin:0 0 1rem;
}
.digisma_info.vt picture{
width:100%;
}

.app_btn{
display:flex;
flex-wrap:wrap;
justify-content:center;
max-width:600px;
background:rgba(235,163,147,0.2);
border:1px solid rgba(235,163,147,0.7);
border-radius:1rem;
margin:1rem 0;
}
.app_btn a{
width:50%;
}
.app_btn.resv_qr{
padding:2rem;
max-width:300px;
}
.app_btn.resv_qr img{
width:80%;
}

.flow{
margin:0 0 2rem;
}
.flow h3{
display:flex;
align-items:center;
margin:1.4rem 0;
border:none;
background:none;
padding:0;
}
.flow h3:before{
font: var(--fa-font-solid);
content: "\e122";
color:#FA878F;
height:1rem;
margin-right:2px;
}
.flow .belongings{
text-align:left;
padding:1rem;
background:#f6f6f6;
border-radius:1rem;
margin:0 0 1rem;
max-width:600px;
}
.flow .belongings ul{
margin:0;
}
.flow .belongings h3{
padding:0 0 0.6rem;
margin:0 0 1rem;
border-bottom:1px dashed #aaa;
}

.flow p.payment{
width:500px;
}

div.flow span.tel a{
color:#f29c9f;
font-weight:bold;
font-size:1.4rem;
}


.firstnotice{
border:4px solid #6ABB70;
border-radius:6px;
padding:1rem;
background-color: rgba(255,255,255,0.7);
background-image: -webkit-gradient(linear, 0 0, 100% 100%,color-stop(.25, #f9f9f9), color-stop(.25, transparent),color-stop(.5, transparent), color-stop(.5, #f9f9f9),color-stop(.75, #f9f9f9), color-stop(.75, transparent),to(transparent));
-webkit-background-size: 7px 7px;
}
.firstnotice ul{
margin:0;
}
.firstnotice ul li:before{
background: #aaa;
}
.firstnotice ul li.paypay{
max-width:400px;
background:rgba(255,255,255,0.7);
display:block;
border:1px solid #706867;
border-radius:6px;
margin:0.6rem 0 0;
padding:0.2rem;
}
.firstnotice ul li.paypay:before{
content:none;
background:none;
}

/* ------------------------------------------------------------------
access/info
 ------------------------------------------------------------------ */

.route{
display:flex;
flex-wrap:wrap;
justify-content:space-around;
}
.route div.route_photo{
width:48%;
margin:0 0 1rem;
}
.route div.route_photo p{
text-align:center;
margin:0;
}
.route div.route_photo figure{
background:#f0f0f0;
margin:0 0 0.4rem;
position:relative;
}
.route div.route_photo + div figure:after{
font-family: "Font Awesome 6 Pro";
font-weight: 900;
font-size: 2rem;
color:#999;
content: "\f178";
position:absolute;
height:40px;
display:flex;
align-items:center;
top:calc(50% - 20px);
left:-3%;
}

.map{
display:flex;
align-items:center;
}

.accessmap{
margin:0 auto;
width:40%;
}
.accessmap p{
margin:0;
}
.accessmap p img{
border-radius:1rem;
}
.transport{
width:60%;
padding:1rem;
}
.transport p{
display:flex;
flex-wrap:wrap;
align-items:center;
text-align:left;
margin:0;
}
.transport p.address{
margin:0 0 1rem;
}
.transport p.address span{
margin-left:4px;
}
.transport p.train{
flex-wrap:nowrap;
}

.accessinfo{
box-sizing:border-box;
background:rgba(255,255,255,0.8);
padding:0;
border-radius:6px;
}
.accessinfo p{
margin:0 0 0.4rem;
letter-spacing:1px;
text-align:left;
}
.accessinfo p:last-child{
margin:0;
}

.parking{
text-align:center;
}
.parking img{
max-width:600px;
}




p.mapTxt{
margin: 0 0 20px 20px;
line-height: 1.6;
}



p.switchMap01{
width:600px;
text-align:right;
margin: 0 0 20px 15px;
}

/* ------------------------------------------------------------------
monshin
------------------------------------------------------------------ */

main#monshin h2:before{
content:none;
}

ul.monshin_btn{
display:flex;
justify-content:space-around;
margin:0;
}
ul.monshin_btn li{
width:48%;
margin:0 0 1rem;
}
ul.monshin_btn li a{
display:flex;
align-items:center;
border-radius:1rem;
padding:1rem;
background: #b5e2b8;
border: 1px solid #80af82;
}

/* ------------------------------------------------------------------
faq
------------------------------------------------------------------ */

#faq h3:before{
content:"Q";
font-size:1.1rem;
background:#F5AF95;
color:#fff;
display:inline-flex;
align-items:center;
justify-content:center;
width:2rem;
height:2rem;
border-radius:0.4rem;
margin:0 6px 0 0;
}

/* ------------------------------------------------------------------
digisma
 ------------------------------------------------------------------ */

.app{
display:flex;
}
.app p{
width:50%;
display:flex;
flex-direction:column;
align-items:center;
}
.app p a{
display:block;
border:1px solid #706867;
padding:0.4rem;
}
.app p a:after{
font: var(--fa-font-light);
content: "\f054";
}
.digisma-flow{
border:1px solid #706867;
padding:0.8rem;
}
.digisma-flow p{
display:flex;
align-items:center;
text-align:left;
}
.digisma-flow p span + span{
width:calc(100% - 50px);
}


#online .btn a{
width:50%;
}
#online .btn a, #service p.btn.online_link a{
background:#41AC78;
border:1px solid #41AC78;
}
#online .btn a i, #service p.btn.online_link i{
color:#fff;
line-height:1.4;
margin-right:4px;
}

#online p i{
color:#29A268;
}

.online_fare{
background:#ccefde;
border:1px solid #44b27d;
padding:1rem;
margin:0 0 1rem;
}
.online_fare p{
text-align:left;
}

.message {
position: relative;
margin:3rem 0 0;
padding: 0.5em 1em;
border: solid 3px #F5AF95;
border-radius: 8px;
}
.message h2{
margin:0;
border:none;
font-size:1.4rem;
position: absolute;
display: inline-block;
top: -13px;
left: 10px;
padding: 0 9px;
line-height: 1;
background: #FFF;
color: #F5AF96;
font-weight: bold;
}
.message p {
margin:0 0 0; 
padding:0.8rem 0;
}

/* ------------------------------------------------------------------
jobs
 ------------------------------------------------------------------ */

#jobs table{
max-width:700px;
}
#jobs table th{
width:20%;
}