@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, section
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td, figure {
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:#555;
text-align: center;
font-size:1rem;
font-family:"Lucida Grande", "segoe UI", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic ProN", Meiryo, Arial, sans-serif;
/*font-family: "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, sans-serif;*/
-webkit-text-size-adjust: 100%;
box-sizing:border-box;
letter-spacing:1px;
}

/* font set */

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

#content-top h2:before{
font-family: "mestiza-sans", sans-serif;
font-weight: 700;
font-style: normal;
}

/*.wf-loading { visibility: hidden;}
.wf-active { visibility: visible;}*/

a{
color:#555;
text-decoration:none;
box-sizing:border-box;
}
a:hover{opacity:0.8;}
a:active{color:#555; 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%;
}

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

.lgray{color:#C2C2C2;}
.dgray{color:#8A8B8F;}

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

.left{text-align:left;}
.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%;}
.underline{text-decoration: underline;}

ul {
display: inline-block;
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: 0.7rem;
content: "";
background:#898A8D;
}
ul.dot.red_dot li:before{
background:#ab6768;
}

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

strong{
font-weight:bold;
color:#111;
}
.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:#898A8D;
vertical-align:baseline;
}
.breadcrumb i{
color:#898A8D !important;
}

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

.telink{
pointer-events:none;
}
.telink.sat .num, .telink .satonly{display:none}
.telink.sat{
padding:1vw 0 !important;
line-height:1.2;
}
.telink.sat .satonly{
display:block;
font-size:0.9rem;
}

h1{
text-align:left;
color:#847f7d;
line-height:1.2;
position:absolute;
top:0;
left:0;
font-size:1.2vw;
padding:0.4rem 0 0.4rem 1rem;
display:block;
margin:0 auto;

max-width:70%;
}
h1 span{
display:inline-block;
letter-spacing:0;
}
h1 span:before{
display:inline-block;
content:"-";
}

h2{
font-size:1.5rem;
margin:0 0 2rem;
line-height:1.6;
text-align:center;
}
main h2{
font-size:1.4rem;
margin:2rem 0 2rem;
padding:1rem 0 0.6rem;
display:inline-flex;
flex-wrap:wrap;
justify-content:center;
position: relative;
max-width:calc(100%  - 6rem);
}
main h2:after{
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 8px;
border-radius:4px;
content: '';
background-image: -webkit-repeating-linear-gradient(135deg, #898a8d, #898a8d 1px, transparent 2px, transparent 5px);
background-image: repeating-linear-gradient(-45deg, #898a8d, #898a8d 1px, transparent 2px, transparent 5px);
background-size: 7px 7px;
-webkit-backface-visibility: hidden;
}
main h2.nodec:after{
content:none;
}

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

h4{
font-size:1.1rem;
margin:0 0 0.6rem 0;
text-align:left;
}

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{
overflow:hidden;
margin:0 auto;
}
div#content-top .btn{
text-align:center;
margin:0;
width: 100%;
}

#content-top section{
display: block;
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(255,255,255,0.8);
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{
margin:0 0 0.6rem;
text-align:left;
}
ol li:before {
display:inline-flex;
justify-content:center;
align-items:center;
counter-increment: item;
content: counter(item);
border-radius:50%;
background:#E0EEE1;
width:30px;
height:30px;
margin:0 0.4rem 0 0;
}

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

.main-header{
padding:3rem 0;
background: url("../img/common/content-bg.jpg") 50% 80% / cover;
height:20vh;
max-height:160px;
clip-path: polygon(30px 0, 100% 0, 100% calc(100% - 30px), calc(100% - 30px) 100%, 0 100%, 0% 30px);
}
main .inner{
margin:0 auto;
padding:0 1rem 3rem;
}
main .inner p{
margin:0 0 1rem;
}
main p.ttl{
margin:0;
padding:5rem 0 3rem;
font-size:1.6rem;
text-align:center;
line-height:1.4;
}
main .telink{
color:#a885ba;
text-decoration: underline;
}

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


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

div#header{
width:100%;
max-width:1200px;
height:600px;
margin:0 auto;
position:relative;
background:#fff;
}


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

div#header .bgimg{
position:absolute;
left:0;
opacity:0;
width:100%;
height:480px;
animation:bgfade 24s infinite;
clip-path: polygon(50px 0, 100% 0, 100% calc(100% - 50px), calc(100% - 50px) 100%, 0 100%, 0% 50px);
}


/*  pre version */
div#header .bgimg.pre{
opacity:1;
animation:none;
}
div#header .bgimg.pre.src01{
background: url("../img/top/header-bg-pre.jpg") 0 50% / cover;
}
/*  pre version */

div#header .bgimg.src{
opacity:1;
animation:none;
background: url("../img/top/header-bg-src.jpg") 0 40% / cover;
}

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


@keyframes bgfade { 
   0% { opacity: 0; }
   11% { opacity: 1; } 
  33% { opacity: 1; } 
  44% { opacity: 0; } 
 100% { opacity: 0; }
}

.content-page div#header .bgimg{
animation:none;
}
div#header .src_content {
opacity:1;
background: url("../img/top/header-bg01.jpg") 0 36% / cover;
clip-path: inset(0 0 0 0 1rem);
}

div#header .block{
padding:2rem 0.4rem 0;
width:100%;
display:flex;
flex-direction:column;
align-items:center;
max-height:300px;
margin:0 auto;
position:relative;
}

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

div#header .logo{
width:100%;
max-width:360px;
}
div#header .logo a{
margin:0 0 0;
display: flex;
justify-content: center;
align-items:center;
}
div#header .logo a img{
margin: 0 0 0.3vw;
}
div#header .logo a img.single{
display:none;
}

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

div#header .block .info{
position:absolute;
top:20px;
right:4px;
display:flex;
margin:0;
padding:0;
z-index:10000;
}
div#header .block .info p{
margin:0 0.2rem;
vertical-align:top;
display:inline-block;
max-width:320px;
letter-spacing:0;
position:relative;
}
div#header .block .info p a, #info .contact p a{
font-size:1.2rem;
text-align:center;
line-height:1.4;
display: flex;
justify-content: center;
align-items: center;
padding:0.8rem 4rem 0.8rem;
border-bottom:1px solid #898A8D;
height:66px;
}

div#header .block .info p a i, #info .contact p a i{
color:#898A8D;
}
div#header .block .info p a .sp{
display:none;
}

div#header .catch{
text-align:center;
display:block;
position:absolute;
width:100%;
bottom:28%;
font-size:1.3rem;
}
div#header .catch strong{
font-size:120%;
font-weight:normal;
}
.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;
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;
}
.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 .open{
position:absolute;
width:100%;
bottom:4%;
display:flex;
}
div#header .open p{
text-align:center;
margin:0 auto;
font-size:1.1rem;
line-height:1.6;
letter-spacing:4px;
padding:1rem 2rem;
background-size: auto auto;
background-color: rgba(238, 238, 238, 0.9);
background-image: repeating-linear-gradient(135deg, transparent, transparent 6px, rgba(242, 242, 242, 0.8) 6px, rgba(242, 242, 242, 0.8) 12px );
clip-path: polygon(10% 0, 90% 0, 100% 50%, 90% 100%, 10% 100%, 0% 50%);
color:#898A8D;
}
div#header .open p .sm{font-size:1.3rem;}
div#header .open p .lg{
letter-spacing:2px;
font-size:1.7rem;
margin:0.4rem 0;
color:#666;
}

div#header.fixed{
padding-top:140px;
}
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 rgba(146,120,100,0.4);
}
div#header.fixed .block .infohead{
width:20%;
height: 100%;
align-items:center;
}
div#header.fixed .block nav{
width:80%;
max-width:1100px;
}

div#header.fixed ul#gNav li a{
padding:0 1.6vw;
}
div#header.fixed ul#gNav li ul.child li{
margin:0;
}

div#header.fixed .block .info{
position:fixed;
top:auto;
right:auto;
bottom:1rem;;
left:2rem;
justify-content:center;
border:1px solid #898A8D;
background:rgba(255,255,255,0.9);
}
.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:-15px;
left:-15px;
background:#898A8D;
border-radius:15px;
}
div#header.fixed .block .info .close i{
color:#fff;
margin:0;
}
div#header.fixed .block .info.off{
display:none;
}

div#header.fixed .block .info p{
padding:0 1rem;
opacity:0.9;
margin:0;
max-width:none;
position:relative;
}
div#header.fixed .block .info p + p:after{
content:"";
position:absolute;
left:0;
top:20%;
width:1px;
height:60%;
background:#898A8D;
}
div#header.fixed .block .info p a{
font-size:1.4rem;
border:none;
padding:1rem 2rem;
width:100%;
}


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

.block nav{
width:100%;
display:block;
}
ul#gNav {
background:#fff;
display:flex;
justify-content:center;
margin:1rem auto 0;
padding:0 0;
text-align:center;
width:100%;
position:relative;
left:0;
bottom:0;
}

ul#gNav li {
display:inline-flex;
align-items:center;
justify-content:center;
margin:0 0.2rem;
vertical-align:top;
position:relative;
line-height:1.2;
padding:0
}
ul#gNav li + li:after{
content:"";
display:block;
position:absolute;
height:80%;
width:1px;
top:10%;
left:0;
background-size: auto auto;
background-color: rgba(130, 131, 134, 1);
background-image: repeating-linear-gradient(135deg, transparent, transparent 2px, rgba(194, 194, 194, 1) 2px, rgba(194, 194, 194, 1) 4px );
}


ul#gNav li a{
letter-spacing:1px;
font-size:1.1rem;
padding:1rem 2.4vw 1rem;
display:block;
text-align:center;
position:relative;
}

ul#gNav li.parent a::after,  .fixed ul#gNav li a::after{
content:none;
}

ul#gNav li.current a::after,
ul#gNav li a:hover::after {
transform: scale(1, 1);/*X方向にスケール拡大*/
}
ul#gNav li a:hover{
color:#898A8D;
}

ul#gNav li.parent a .arrow{
display:inline-block;
margin-left:6px;
width:1rem;
height:1rem;
color:#898A8D;
}
ul#gNav li.parent a .arrow::after{
font: var(--fa-font-light);
content: "\f107";
}
ul#gNav li ul.child{
position:absolute;
width:300px;
top:40px;
left:-75px;
z-index:1000;
visibility: hidden;
opacity: 0;
display:flex;
flex-wrap:wrap;
margin:0;
padding:0;
}
.fixed ul#gNav li ul.child{
top:1.8vw;
}
ul#gNav li ul.child li{
width:200px;
display:inline-flex;
align-items:center;
justify-content:center;
margin:0;
}
ul#gNav li ul.child.sympton_list li{
width:400px;
}
ul#gNav li ul.child li a{
padding:0.6rem 0.4rem;
display:flex;
flex-wrap:wrap;
align-items:center;
justify-content:center;
background:#fff;
width:100%;
height:50px;
font-size:1rem;
}
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;
box-sizing:content-box;
}*/
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;
}

#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;
display:flex;
justify-content:center;
flex-wrap:wrap;

}

div#footer, section#accessinfo{
background-size: auto auto;
background-color: rgba(242, 242, 242, 1);
background-image: repeating-linear-gradient(135deg, transparent, transparent 4px, rgba(246, 246, 246, 1) 4px, rgba(246, 246, 246, 1) 8px );
}

div#footer > div#fInfo{
width:40%;
max-width:480px;
}
div#footer > div#fNav{
width:60%;
max-width:720px;
display:flex;
align-items:center;
}
div#footer #fNav ul {
width:80%;
overflow:hidden;
margin:0 auto 20px;
letter-spacing:2px;
display:inline-flex;
flex-wrap:wrap;
justify-content:center;
}
div#footer #fNav ul li {
display:inline-block;
margin: 0 0.4rem 0.6rem;
padding:0;
box-sizing: border-box;
}
div#footer #fNav ul li a{
display:block;
text-align:left;
letter-spacing:0;
font-size:0.9rem;
}
div#footer #fNav ul li a.fa_icon{
display:inline-block;
margin-left:6px;
}
div#footer #fNav ul li a.fa_icon::before{
font: var(--fa-font-light);
content: "\f054";
width:1rem;
height:1rem;
color:#898A8D;
}
div#footer #fNav ul li ul.submenu{
margin:0.6rem 0 0;
}
div#footer #fNav ul li ul.submenu li{
width:100%;
margin:0 0 0.6rem;
}
div#footer #fNav ul li ul.submenu li a::before{
content: "-";
display: inline-block;
color:#898A8D;
}


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, div#footer div#fInfo .fmap img{
width:80%;
max-width:300px;
}


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{
padding:0 1rem;
}
section#info .inner{
display:flex;
justify-content:center;
max-width:1000px;
font-size:1rem;
margin:2rem auto 2rem;
width:100%;
text-align:center;
overflow:hidden;
position:relative;
}


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;
text-align:left;
vertical-align:top;
padding:1rem 1.2rem;
background:rgba(255,255,255,0.8);
background:#fff;
position:relative;
}
section#info .inner > div + div:before{
position:absolute;
content:"";
display:block;
width:1px;
height:90%;
top:0;
left:0;
background:#898A8D;
}

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;
}
section#info .inner > div ul{
margin: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;
}

#info .contact ul.app{
display:flex;
justify-content:center;
}
#info .contact ul.app li{
width:48%;
max-width:200px;
display:block;
text-align:center;
line-height:1.2;
}

section#accessinfo{
text-align:center;
}
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;
padding:1rem 1rem 1.6rem;
}

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


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


.accessInfo{
padding:0.6rem;
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:1rem;
right: 1rem;
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:#898A8D;
}


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

#content-top section#news_schedule{
display:flex;
max-width:1100px;
margin:0 auto;
}

#content-top section#news_schedule > section{
width:60%;
padding:0 1rem 0;
}
#content-top section#news_schedule > section#schedule{
width:40%;;
padding:0 1rem 0;
}
#content-top section#news_schedule > section#schedule ul{
margin:0;
}

#news h2{
display:block;
max-width:1100px;
margin:0 0 1rem;
}

#news .inner{
max-height: 48vh;
text-align:left;
padding:0 1rem;
display:flex;
flex-direction:column;
justify-content:center;
}
#news .inner ul{
width:100%;
max-height:30vh;
margin:0 auto;
border-radius:2px;
display:flex;
flex-wrap:wrap;
background:rgba(255,255,255,0.8);
}
#news .inner ul li{
width:100%;
}
#news .inner ul a{
display: flex;
border-bottom: 1px solid #dfdfdf;
padding:1rem 0;
}
#news .inner ul a time{
margin-right:6px;
color:#abe0eb;
}
#news .inner ul.newslist{
max-height:none;
}
#news .inner ul.newslist li, main#newslist ul.newslist li{
border-bottom: 1px solid #dfdfdf;
padding:1rem 0;
}
#news .inner ul.newslist li .ttl, ul.newslist li .ttl{
color:#444;
font-size:1.2rem;
letter-spacing:0;
display:block;
margin:0 0 0.4rem;
}
#news .inner ul.newslist li:empty, main#newslist ul.newslist li:empty{
display:none;
}
#news .inner ul.newslist li a, main#newslist ul.newslist li a{
border-bottom:none;
display:inline-block;
padding:0;
text-decoration:underline;
}
#news .inner ul.newslist li .resvcheck a, #newslist .inner ul.newslist li .resvcheck a{
text-decoration:none;
color:#fff;
width:90%;
margin:1rem 5% 0;
border:none;
}
#news .inner ul.newslist li .resvcheck a:after{content:none;}

#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;
}
#news p.btn{
border-bottom:none;
margin:2rem 0 1rem;
text-align:center;
}
#news p.btn a{
width:260px;
}
#schedule .btnarea{
display:flex;
flex-wrap:wrap;
justify-content:space-around;
}
#schedule .btnarea p{
width:calc(50% - 8px);
text-align:center;
margin-bottom:8px;
}
#schedule .btnarea p:last-of-type{
width:80%;
}
#schedule .btnarea p a{
border-radius:0;
display:block;
padding:1rem;
border:1px solid #898A8D;
width:100%;
}

#content-top h2:before {
content: attr(data-en);
display: block;
color: #898A8D;
opacity:0.2;
font-size:1.4rem;
}

#content-top .btn a{
color:#555;
border:1px solid #898A8D;
border-radius:0;
}
#content-top .btn a::after {
font: var(--fa-font-light);
content: "\f054";
margin-left:0.4rem;
font-size:0.8rem;
}


#content-top section#schedule{
padding:0 1rem 4rem;
}
#content-top #schedule .inner{
max-width:400px;
}

#content-top #introduction{
background:rgba(150,150,150,0.1);
position:relative;
height:100%;
overflow:hidden;
z-index:0;
}
#content-top #introduction:after{
content:"";
position:absolute;
top:0;
display:block;
width:100%;
height:116%;
background: url("../img/common/logo-single-gray.png")  0 0 transparent no-repeat;
pointer-events:none;
transform: translate3D(56%, -6%, 0);
opacity:0.2;
z-index:-1;
}

#content-top #introduction h2:before {
opacity:0.4;
}
#introduction .inner{
display:flex;
background:rgba(255,255,255,0.1);
}
#introduction .inner:nth-of-type(2n){
margin:1rem auto;
flex-direction:row-reverse;
}
#content-top #introduction .btn a{
width:auto;
padding:0.6rem 1rem;
}

#introduction .inner figure {
display:block;
width:50%;
clip-path: polygon(0 0, calc(100% - 30px) 0, 100% 30px, 100% 100%, 0 100%);
}
#introduction .inner:nth-of-type(odd) figure{
clip-path: polygon(30px 0, 100% 0, 100% 100%, 0 100%, 0% 30px);
}
#introduction .inner > div{
width:50%;
padding:1rem;
text-align:left;
display: flex;
flex-direction: column;
justify-content: center;
background:rgba(255,255,255,0.8)
}

#about  ul.case_col{
display:flex;
flex-direction:column;
justify-content:center;
}
#about  ul.case_col li{
text-align:center;
display:flex;
justify-content:center;
align-items:center;
}
#about  ul.case_col li:nth-of-type(2n){
flex-direction:row-reverse;
}
#about  ul.case_col li figure img{
clip-path: circle(40% at center);
}
#about  ul.case_col li > ul{
display:flex;
flex-direction:column;
margin:0;
}
#about  ul.case_col li > ul li{
width:98%;
padding:0.4rem;
background:#f7f7f7;
border:1px solid #f0f0f0;
border-radius:1rem;
}
#about  ul.case_col li > ul li:nth-of-type(2n){
background:#dadada;
}

.service_list{
display:flex;
flex-wrap:wrap;
justify-content:center;
position: relative;
margin:4rem 0 2rem;
}
.service_list li{
width:calc(100% / 3 - 1rem);
margin:0 0 1rem;
position:relative;
}
.service_list li:after{
content:"";
display:block;
position:absolute;
top:0;
left:20%;
width:60%;
aspect-ratio: 1;
border:1px solid #bebebe;
transform: rotate(45deg);
pointer-events: none;
}
.service_list li a {
position: relative;
text-align:center;
display: block;   
cursor: pointer;
height:100%;
}
.service_list li figure{
margin:1rem 0 1rem;
}
.service_list li figure i, .service_list li h3{
margin:0;
}

.service_list .txt{
padding:2rem;
color: #57504c;
display: flex;
flex-direction: column;
}
.service_list .txt p{
line-height:1.4;
text-align:center;
}

#speciality{
position:relative;
background:rgba(129,141,147,0.2);
background: linear-gradient(to bottom,  rgba(59,69,115,0.1) 0%,rgba(59,69,115,0.1) 1%,rgba(59,69,115,0.2) 100%);
text-align:center;
}
.service_index #speciality{
background:none;
}

#speciality .inner{
max-width:1000px;
display:flex;
justify-content:space-around;
flex-wrap:wrap;
}
#speciality .inner p{
margin:0 0 2rem;
}
#speciality .list{
width:100%;
display:flex;
flex-wrap:wrap;
justify-content:center;
margin:0;
}
#speciality .list li{
width:calc(25% - 0.8rem);
margin:1rem 0.4rem 0.4rem;
} 
#speciality.symptom .list li{
width:calc(100%/3 - 0.8rem);
}
#speciality .list li a{
display:flex;
flex-direction:column;
align-items:center;
background:rgba(255,255,255,0.7);
border-radius:0.2rem;
padding:0.6rem;
border:1px solid #898A8D;
height:100%;
}
#speciality .list li p.ttl{
text-align:center;
line-height:1.2;
color:#898A8D;
padding:0;
font-size:1.1rem;
margin:0 0 0.4rem;
}
#speciality .list li h4 .small{
font-size:80%;
}

#speciality .list li figure{
width:8rem;
height:8rem;
display:flex;
justify-content:center;
align-items:center;
}
#speciality .list li figure img{
width:50%;
}
#speciality .list li a p{
color:#898A8D;
}

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

.greeting_photo{
display:flex;
flex-direction:row-reverse;
align-items:center;
justify-content:center;
}
.greeting_photo picture{
margin:0 1rem;
}

#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;

}
ul.cPhoto li:before{
content:none;
}
ul.cPhoto li {
list-style-type:none;
text-align:center;
display:inline-block;
vertical-align:middle;
width:48%;
overflow:hidden;
margin:0 0 0.8rem;
padding:0;
line-height:1.8;
position:relative;
}
ul.cPhoto li img{
border-radius:4px;
}

ul.cPhoto li span{
position:absolute;
bottom:10px;
left:14px;
color:rgba(255,255,255,0.7);
padding: 0.1rem 0.6rem;
background:rgba(0, 0, 0, 0.5);
border-radius:6px;
font-size:0.9em;
letter-spacing:0;
}
ul.cPhoto li.vt img{
position:absolute;
top:-50%;
}

ul.cPhoto p a {
text-decoration:none;
}
ul.cPhoto.eq li span{
width:100%;
bottom:0;
left:0;
line-height:1.2;
border-radius:0;
font-size:0.8em;
}

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

.messageInner{
display:flex;
flex-direction:column;
}
.messageInner > div{
width:100%;
padding:1rem;
}
.messageInner > div.w100{
width:100%;
}
main .inner .messageInner p{
margin:0 0 0.4rem;
}
.messageInner picture{
overflow: hidden;
margin:0 0 1.6rem;
}
.messageInner picture img{
border-radius:0.4rem;
width:500px;
}
ruby rt{
font-weight:bold;
}
.sig{
width:100%;
display:flex;
flex-direction:column;
align-items:flex-end;
justify-content:flex-end;
margin:2rem 0 0;
}
.sig p{
line-height: 1;
margin:0 0 10px;
}
.sig p{
white-space: nowrap;
}
.sig p.doctorname {
font-size: 1.6rem;
text-align: right;
}


.profileInner{
display:flex;
flex-direction:column;
justify-content:space-around;
flex-wrap:wrap;
border:1px solid #898A8D;
margin:2rem 0;
}
.profile{
overflow: hidden;
margin: 0;
padding:1rem;
display:flex;
flex-direction:column;
position:relative;
}
.profile:nth-of-type(2){
flex-direction:row;
}
.profile:nth-of-type(2):before{
content:"";
display:block;
height:1px;
width:96%;
background:#898A8D;
top:0;
left:2%;
position:absolute;
}
.profile:nth-of-type(2) > div{
width:50%;
padding:1rem;
}

main .inner .profile p{
margin:0 0 0.4rem;
}
.profile h3{
text-align:left;
margin:0 0 0.4rem;
}
.profile ul{
display:inline-block;
width:100%;
margin:0;
}
.profile ul li{
text-align:left;
}

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




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


#service_index .disease{
background:#d4f2d2;
border-radius:1rem;
padding:5rem 0.8rem;
margin:0 0 5rem;
position:relative;
}
#service_index figure.d-top, #service_index figure.d-bottom{
position:absolute;
width:50%;
max-width:10rem;
}
#service_index figure.d-top{
top:0;
left:0;
transform:translate3d(2rem,-8rem,0);
}
#service_index figure.d-bottom{
right:0;
bottom:0;
transform:translate3d(-2rem,4rem,0);
}

#service_index .disease ul{
display:flex;
flex-wrap:wrap;
justify-content:space-around;
margin:0;
}
#service_index .disease ul li{
width:calc(25% - 0.8rem);
padding:1rem;
text-align:center;
background:rgba(255,255,255,0.2);
margin:0.4rem;
}
#service_index .disease ul li:last-of-type{
width:50%;
}

#service_index .case{
display:flex;
justify-content:space-between;
flex-wrap:wrap;
margin:0 0 2rem;
}
#service_index .case > div{
width:calc(100% / 3 - 0.5rem);
border:1px solid #c0c0c0;
}
#service_index .case > div ul{
display:flex;
flex-direction:column;
margin:0;
padding:1rem;
}

/*#service h3{
margin:-70px 0 1rem;
padding-top:70px;
color:#666;
display: flex;
align-items: center;
}*/

table{
margin:0 0 2rem;
width: 100%;
border-collapse: separate;
border-right: 1px solid #CCCCCC;
border-bottom: 1px solid #CCCCCC;
border-spacing: 0;
}
table th{
padding:10px;
background:#f0f0f0;
border-top: 1px solid #CCCCCC;
border-left: 1px solid #CCCCCC;
text-align:center;
line-height:1.6;
font-weight:bold;
vertical-align:middle;
text-align:center;
width:460px;
}

table td{
padding:10px;
background:rgba(255,255,255,0.7);
border-top: 1px solid #CCCCCC;
border-left: 1px solid #CCCCCC;
line-height:1.6;
text-align:left;
vertical-align:middle;
}
table span{
margin-left:0.4rem;
display:inline-block;
} 
table td.txtleft{
text-align:left;
}

table.fee{
max-width:700px;
margin:0 auto 1rem;
}

/* ------------------------------------------------------------------
counseling
 ------------------------------------------------------------------ */

.cbg{
background:#f0f0f0;
padding:1rem;
}

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

.resv_caution{
padding:1rem;
border:6px solid #84B2E0;
margin:0 0 2rem;
text-align:left;
}
.resv_caution h2{
margin:0 0 1rem;
padding:0;
}
.resv_caution h2:after{content:none;}
.btn.resvcheck a{
background:#0179D1;
}


.ksn{
background:#f3f3f3;
padding:1rem;
}
.ksn table{
max-width:700px;
}
.ksn table th{
width:40%;
background:#ddd;
}
.ksn table th:nth-of-type(3){
width:20%
}

.caution{
padding:1rem;
border:6px solid #C2C2C2;
margin:0 0 1rem;
}
.caution span{
display:inline-block;
margin:0.2rem;
padding:0.4rem;
background:#f6f6f6;
border:1px solid #ccc;
}

h2.trigger{
align-items:center;
justify-content:space-between;
border-bottom:1px solid #898A8D;
border-radius:1rem 0 0 0;
padding:0;
display:flex;
padding:0.6rem;
cursor: pointer;
max-width:none;
}
h2.trigger:hover{
color:#898A8D;
opacity:0.8;
border-bottom:2px solid #898A8D;
}

h2.trigger:before{content:none !important;}
h2.trigger:after{
height:auto;
width:auto;
background:none;
transform:none;
position:static;
margin:0 0.4rem;
font: var(--fa-font-light);
content: "\f13a";
}
h2.trigger.on:after{
content: "\f139";
}
.drawer{
display:none;
}
.trigger.on + .drawer{
display:block;
}

#first .flow{
counter-reset: number;
margin:0 0 2rem;
}
#first .flow h3{
display:flex;
align-items:center;
margin:1rem 0 1rem;
border:none;
background:none;
padding:0;
}
#first .flow h3::before{
counter-increment: number;
content: counter(number);
display:inline-block;
vertical-align:bottom;
text-align:center;
height: 40px;
line-height: 40px;
width: 40px;
background:#898A8D;
border-radius:50%;
padding:0;
color:#fff;
margin:0 10px 0 0;
flex-shrink:0;
}





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 #898A8D;
border-radius:6px;
margin:0.6rem 0 0;
padding:0.2rem;
}
.firstnotice ul li.paypay:before{
content:none;
background:none;
}

.flow_col{
display:flex;
flex-direction:row-reverse;
margin:0 0 2rem;
}
.flow_col picture{
width:280px;
flex-shrink:0;
margin-left:1rem;
}
.flow_col picture.qr img{
width:70%;
}

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

.route{
display:flex;
flex-wrap:wrap;
justify-content:space-around;
counter-reset: route;
}
.route p{
width:calc(100%/2);
display:flex;
flex-direction:column;
align-items:center;
padding:0.4rem;
position:relative;
}
.route p::before{
position:absolute;
top:0;
left:0;
counter-increment: route;
content: counter(route);
display:inline-block;
vertical-align:bottom;
text-align:center;
height: 40px;
line-height: 40px;
width: 40px;
background:#898A8D;
border-radius:50%;
padding:0;
color:#fff;
margin:0 10px 0 0;
transform:translateY(-25%);
}


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

.map .transport{
padding:0 1rem;
}
.accessmap{
margin:0 auto;
width:70%;
}
.accessmap p{
margin:0;
border:1px solid #bebebe;
}
.accessmap p img{
border-radius:1rem;
}
.transport p{
display:flex;
align-items:center;
text-align:left;
margin:0;
}
.transport p.address{
margin:0 0 1rem;
flex-wrap:wrap;
}
.transport p.address span{
margin-left:4px;
}


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

