@charset "UTF-8";
/* OUTLINE
-------------------------------------------------------------------------------------------------*/
body { font-size: 1.5rem; }

/* HEADER
-------------------------------------------------------------------------------------------------*/
header #head { height: 64px; padding: 8px; }
header #head > h1 { position: relative; padding-right: 56px; }
header #head > h1 img { max-height: 48px; width: auto; }
header #head > div { display: none; }
header #toggle { display: block; position: fixed; }
header .button_container { background: rgba(255, 255, 255, 0.8); position: absolute; top: 10px; right: 0; height: 45px; width: 50px; border-top-left-radius: 8px; border-bottom-left-radius: 8px; cursor: pointer; z-index: 100; transition: opacity .25s ease; }
header .button_container:hover { opacity: .7; }
header .button_container.active .top { transform: translateY(9px) translateX(0) rotate(45deg); background: #77af9c; }
header .button_container.active .middle { opacity: 0; background: #77af9c; }
header .button_container.active .bottom { transform: translateY(-9px) translateX(0) rotate(-45deg); background: #77af9c; }
header .button_container span { background: #77af9c; border: none; height: 4px; width: 26px; position: absolute; top: 11px; left: 9px; transition: all .35s ease; cursor: pointer; }
header .button_container span:nth-of-type(2) { top: 20px; }
header .button_container span:nth-of-type(3) { top: 29px; }
header .overlay { position: fixed; background: #fff; top: 0; left: 0; width: 100%; height: 0%; opacity: 0; visibility: hidden; transition: opacity .35s, visibility .35s, height .35s; overflow-x: hidden; overflow-y: scroll; z-index: 10; }
header .overlay.open { opacity: 1; visibility: visible; height: 100%; }
header .overlay.open nav { animation: fadeInTop .5s ease forwards; /*animation-delay: .35s;*/ }
header .overlay.open #menuSP { display: block; }
header .overlay.open #menuSP > ul { width: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap; }
header .overlay.open #menuSP > ul > li { -ms-flex-preferred-size: 50%; flex-basis: 50%; width: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; background: #fff; border-bottom: 1px solid #ccc; }
@media screen\0  { header .overlay.open #menuSP > ul > li { -ms-flex-preferred-size: calc(50% - .5px); flex-basis: calc(50% - .5px); } }
header .overlay.open #menuSP > ul > li:nth-child(odd) { border-right: 1px solid #ccc; }
header .overlay.open #menuSP > ul > li:last-child { background: #ddd; }
header .overlay.open #menuSP > ul > li > a { color: #222; padding: 1em; text-decoration: none; }
header .overlay.open #headSP { display: block; position: relative; margin: 88px auto 0; color: #fff; }
header .overlay.open #headSP > div:first-child { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
header .overlay.open #headSP > div:first-child > a { -ms-flex-preferred-size: 30%; flex-basis: 30%; margin: 0 1% 16px; background: #77af9c; border-radius: 8px; text-align: center; }
header .overlay.open #headSP > div:last-child { background: #77af9c; padding: 16px; }
header .overlay.open #headSP > div:last-child > p > span { font-size: 1.5em; font-weight: bold; }
header .overlay.open #headSP a { color: #fff !important; text-decoration: none !important; }
header .overlay nav { position: relative; opacity: 0; background: #fff; }
header .overlay ul.gMenu { display: block; top: 64px; }
header .overlay ul.gMenu > li { display: block; position: relative; border-bottom: 1px solid #fff; border-right: none; }
header .overlay ul.gMenu > li > a { display: block; text-align: left; min-height: auto; padding: .6em 1em; }
header .overlay ul.gMenu > li.gMenu_level1 { position: relative; }
header .overlay ul.gMenu > li:nth-child(6) .accordion_title { background: url("../img/gmenu_arrow_down_pink.svg") no-repeat center center/100% auto; }
header .overlay ul.gMenu > li:nth-child(6) ul.child3 > li > a::after { background: url("../img/gmenu_arrow_sub_pink.svg") no-repeat center center/100% auto; }
header .overlay ul.gMenu > li div.sub_area { display: none; visibility: visible; opacity: 1; z-index: 1; position: relative; top: 0; left: 0; right: 0; width: 100%; margin: auto; padding: 0; border-bottom: none; box-shadow: none; }
header .overlay .accordion_title { position: absolute; cursor: pointer; display: block !important; top: .2em; right: 10px; z-index: 20; width: 2.3em; height: 2.3em; background: url("../img/gmenu_arrow_down.svg") no-repeat center center/100% auto; }
header .overlay .accordion_title.open { transform: rotateZ(180deg); }
header .overlay ul.child3 { width: 100%; }
header .overlay ul.child3 > li { /*&:first-child {
	padding-top: .4em;
}
&:last-child {
	padding-bottom: .4em;
}*/ }
header .overlay ul.child3 > li a { display: block; text-decoration: none; color: #000; padding: .4em 2em .4em 1em; border-bottom: 1px solid #ccc; }
header .overlay ul.child3 > li a::after { content: ''; display: inline-block; padding: 0; width: 24px; height: 24px; text-align: center; position: absolute; right: .8em; background: url("../img/gmenu_arrow_sub.svg") no-repeat center center/100% auto; transform: rotateZ(-90deg); }
header .overlay ul.gMenu_level2 > li > span { position: relative; cursor: pointer; display: block; color: #477968; padding: .4em 2em .4em 1em; border-bottom: 1px solid #ccc; }
header .overlay ul.gMenu_level2 > li > span::after { content: ''; width: 24px; height: 24px; position: absolute; right: 16px; background: url("../img/gmenu_arrow_sub.svg") no-repeat 0 0/24px 24px; }
header .overlay ul.gMenu_level2 > li > span.open::after { transform: scale(1, -1); }
header .overlay ul.gMenu_level2 ul.child3 { padding: .4em 4%; display: none; border-bottom: 1px solid #ccc; }
header .overlay ul.gMenu_level2 ul.child3:after { content: ""; clear: both; display: block; }
header .overlay ul.gMenu_level2 ul.child3 > li { width: 46%; display: block; float: left; }
header .overlay ul.gMenu_level2 ul.child3 > li.full { width: 100%; }
header .overlay ul.gMenu_level2 ul.child3 > li.group { width: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }
header .overlay ul.gMenu_level2 ul.child3 > li.group > div { -ms-flex-preferred-size: 46%; flex-basis: 46%; }
header .overlay ul.gMenu_level2 ul.child3 > li.group > div > span { display: block; padding-top: .5em; color: #666666; }
header .overlay ul.gMenu_level2 ul.child3 > li.group > div > ul { margin-left: 1em; }
header .overlay ul.gMenu_level2 ul.child3 > li a { border-bottom: none; padding: .2em 0 .2em 1em; text-indent: -1em; }
header .overlay ul.gMenu_level2 ul.child3 > li a::before { content: '●'; color: #8cd790; padding-right: .2em; }
header .overlay ul.gMenu_level2 ul.child3 > li a::after { display: none; }
@keyframes fadeInTop { 0% { opacity: 0; top: -16px; }
  100% { opacity: 1; top: 0; } }
/* FOOTER
-------------------------------------------------------------------------------------------------*/
a.pagetop { right: 16px; }
a.pagetop > img { width: 32px; height: 32px; }

footer { margin-top: 0; padding: 0; background: none; }
footer > div { padding: 24px 0 0; display: block; }
footer > div > div { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: reverse; -ms-flex-direction: column-reverse; flex-direction: column-reverse; }
footer > div > div > p > span { font-size: 1.6em; font-weight: bold; }
footer > div > div > div:first-child { padding: 16px; background: #77af9c; }
footer > div > div > div:first-child > p { margin-bottom: 0; }
footer > div > div > div:last-child { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
footer > div > div > div:last-child > div { -ms-flex-preferred-size: 30%; flex-basis: 30%; margin: 0 1% 16px; background: #77af9c; border-radius: 8px; text-align: center; position: relative !important; width: 100% !important; left: 0 !important; top: 0 !important; }
footer > div > ul { display: none; }
footer .pcOnly { display: none !important; }
footer .spOnly { display: block !important; }

a.icon_tel, a.icon_mail, a.icon_line { display: block !important; position: relative; width: auto !important; margin-top: 4px; }
a.icon_tel::before, a.icon_mail::before, a.icon_line::before { content: ""; display: block; margin: 4px auto; padding-right: 0; height: 32px; width: 32px; }

/* PANKUZU
-------------------------------------------------------------------------------------------------*/
#Contents ul#pankuzu { display: none; }

/* TITLE
-------------------------------------------------------------------------------------------------*/
#Contents #ttl { width: 100vw; }

#Contents #ttl p { padding: 24px 16px; font-size: 200%; }

/* -- TITLE LINK LIST -- */
ul.ttlList > li, ul.ttlList2 > li { -ms-flex-preferred-size: calc(100% / 2 ) !important; flex-basis: calc(100% / 2 ) !important; }
ul.ttlList > li:nth-child(-n+3), ul.ttlList2 > li:nth-child(-n+3) { border-top: none; }
ul.ttlList > li:nth-child(-n+2), ul.ttlList2 > li:nth-child(-n+2) { border-top: 1px solid #77af9c; }
ul.ttlList > li:nth-child(3n+1), ul.ttlList2 > li:nth-child(3n+1) { border-left: none; }
ul.ttlList > li:nth-child(odd), ul.ttlList2 > li:nth-child(odd) { border-left: 1px solid #77af9c; }
ul.ttlList > li a, ul.ttlList2 > li a { padding: .8em 0; font-size: 100%; }

/* IE11 */
_:-ms-lang(x)::-ms-backdrop, ul.ttlList > li { -ms-flex-preferred-size: 49% !important; flex-basis: 49% !important; }

_:-ms-lang(x)::-ms-backdrop, ul.ttlList2 > li { -ms-flex-preferred-size: 49% !important; flex-basis: 49% !important; }

/* CONTENTS
-------------------------------------------------------------------------------------------------*/
#Contents { overflow: hidden; }

h2, h2.mw { font-size: 2.4rem; }

h2.mw { margin-left: 8px; }

h3 { font-size: 2.2rem; }

#Contents .mainBox { padding: 0 8px 24px; }

/* TOP PAGE
-------------------------------------------------------------------------------------------------*/
/*  slide  */
.topSlide { /*.slick-slide {
	height: 220px!important;
}*/ /* Arrows */ /* Dots */ }
.topSlide .slick-prev, .topSlide .slick-next { height: 24px; width: 24px; background-size: contain; }
.topSlide .slick-prev { top: calc( 50% - 12px ); }
.topSlide .slick-dots { bottom: 8px; }
.topSlide .slick-dots li button { height: 16px; width: 16px; }

/*  box  */
.top_box { padding: 24px 0; }
.top_box > .inner { width: 100%; padding: 0 16px; }

/*  topInfo  */
#topInfo { display: block; position: relative; z-index: 1; }
#topInfo > div { width: 100% !important; max-width: 100% !important; padding: 24px 16px; }
#topInfo > div.topNews { margin-bottom: 24px; }
#topInfo > div.topNews > div > ul { margin-top: 16px; }
#topInfo > div.topNews > div > ul > li { padding: 8px 0; }
#topInfo > div.topNews > div > ul > li > p:nth-child(n+2):nth-last-child(n+2) { font-size: 1.1rem; padding-top: .6em; }
#topInfo > div.topNews > div > ul > li > p:not(:last-child) { margin-right: 4px; }
#topInfo > div.topTopics > ul { margin-top: 16px; height: 320px; padding-right: 16px; }
#topInfo > div.topTopics > ul > li { margin-bottom: 16px; }
#topInfo > div ul#topNews > li > p { font-size: 1.3rem; padding: .5em; line-height: 1.1; }

p.button { text-align: center; margin-top: 16px; }
p.button > a { border-radius: 1.8em; }
p.button > a::after { height: 1.6em; width: 1.6em; }

/*  topVisit  */
#topVisit > div > h2 { padding: .3em 1em; margin-bottom: 16px; }
#topVisit > div ul { display: block; }
#topVisit > div ul > li { width: 100%; margin-bottom: 8px; margin-right: 0; }
#topVisit > div ul > li > a { font-size: 1.8rem; text-align: left; padding: 10px 10px 10px 80px; background: no-repeat 24px center / 40px 40px; }

/*  Banner  */
ul.topBnn { /* Arrows */ }
ul.topBnn li:nth-child(odd) a { padding-right: 0; }
ul.topBnn li:nth-child(even) a { padding-left: 0; }
ul.topBnn li a img { max-height: 58px; }
ul.topBnn .slick-prev, ul.topBnn .slick-next { height: 16px; width: 16px; background-size: contain; }
ul.topBnn .slick-prev { left: -10px; top: calc( 50% - 8px ); }
ul.topBnn .slick-next { right: -10px; }

/*  topAbout. */
#topAbout > div > div { padding: 24px 16px; }
#topAbout > div > div > h2 { margin-bottom: 16px; font-size: 2.4rem; }
#topAbout > div > div > div { display: block; }
#topAbout > div > div > div > div { width: 100% !important; }
#topAbout > div > div > div > div:first-child { margin-bottom: 24px; }

/*  topPickup  */
ul.pu_menu > li { width: 100%; margin-bottom: 8px; }
ul.pu_menu > li > p { border-radius: 40px; padding: 8px 8px 8px 72px; min-height: 72px; }
ul.pu_menu > li > p::before { width: 56px; height: 56px; background-size: 40px 40px !important; }
ul.pu_menu > li > p::after { content: ''; width: 32px; height: 32px; border-radius: 50%; position: absolute; right: 16px; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
ul.pu_menu > li > ul { display: none; }
ul.pu_menu > li:first-child > p::after { background: url("../img/gmenu_arrow_sub_pink.svg") no-repeat center center/32px 32px; }
ul.pu_menu > li:nth-child(2) > p::after { background: url("../img/gmenu_arrow_sub.svg") no-repeat center center/32px 32px; }
ul.pu_menu > li:last-child > p::after { background: url("../img/gmenu_arrow_sub_blue.svg") no-repeat center center/32px 32px; }
ul.pu_menu > li.open > p::after { transform: scale(1, -1); top: calc( 50% - 16px ); }

/*  topRecruit  */
#topRecruit > div > ul { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
#topRecruit > div > ul li { -ms-flex-preferred-size: 48%; flex-basis: 48%; margin-bottom: 12px; }
#topRecruit > div > ul li:not(:nth-child(4n+4)) { margin-right: 0; }
#topRecruit > div > ul li > a { padding: calc(8px + 2em) 8px 8px; }
#topRecruit > div > ul li > a > p:first-child { top: 8px; font-size: 1.3rem; padding: .5em; width: 10em; }
#topRecruit > div > ul li:hover { background: #ebebeb; }

/*  topHeadquarters  */
#headquarters { padding: 0 16px 32px; }
#headquarters > a { display: block; }

/* BLOG
-------------------------------------------------------------------------------------------------*/
/* -- TAB -- */
ul#tab li a { font-size: 1.1em; line-height: 1.2; min-height: 3.5em !important; }

/* -- DOCTOR LIST -- */
ul#doctorList { display: block; }
ul#doctorList li { width: 100%; }

/* -- BLOG SUBPAGE LINK -- */
.subLinkTtl { font-size: 1.4em; margin: 24px 16px 0 16px; }

.subLink { margin: 0 16px 24px 16px; }
.subLink ul { font-size: 1.1em; }
.subLink ul > li { float: none; width: 100%; }

/* NEWS
-------------------------------------------------------------------------------------------------*/
#newsMain dl > dt, #newsMain dl dd { float: none; }
#newsMain dl > dd { width: 90%; }

/* ACCESS
-------------------------------------------------------------------------------------------------*/
#map-canvas { height: 300px; }

/* TABLE
-------------------------------------------------------------------------------------------------*/
table { table-layout: auto; }

/* -- TABLE SCROLL -- */
#chart { overflow: auto; white-space: nowrap; margin-bottom: 16px; }

#chart::-webkit-scrollbar { height: 5px; }

#chart::-webkit-scrollbar-track { background: #eee; }

#chart::-webkit-scrollbar-thumb { background: #ccc; }

#chart div.wsp { width: 400px !important; white-space: normal; }

/* COMMON
-------------------------------------------------------------------------------------------------*/
/* -- RELAIOON LINK --*/
#relationLink > div ul li { -ms-flex-preferred-size: 50%; flex-basis: 50%; }

/* IE11 */
_:-ms-lang(x)::-ms-backdrop, #relationLink > div ul li { -ms-flex-preferred-size: 48%; flex-basis: 48%; }

/* -- COLUMN --*/
div.column4, div .column3, div .column2 { display: block; }

/* --  IMAGE LAYOUT --*/
.imgR > img { float: none; max-width: 95%; }

/* -- COMMON --*/
.f_left, .f_right { float: none; }

.s_none { display: none; }

.s_on { display: block; }

/* -- W100 BANNER --*/
.bnn > a > img.bnnL, .bnn > a > img .bnnR { width: auto; }
