@charset "utf-8";
/********************************************************* reset*/
html, body, p, li, dl, dt, dd, blockquote, td, form {
    margin: 0;
    padding: 0;
}

body{
    display: flex;
    flex-flow: column;
    min-height: 100vh;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%
}

@media all and (-ms-high-contrast: none) {
	body{
		display: block;
	}
}

main{
    flex: 1;
    overflow: hidden;
}


h1, h2, h3, h4, h5, h6 {
    margin: 0;
    padding: 0;
    font-size: 100%;
}

ul, ol {
    list-style: none outside none;
    margin: 0;
    padding: 0;
}

address, em, code, cite, dfn, var, optgroup {
    font-style: normal;
}

caption, th {
    font-style: normal;
    font-weight: normal;
    margin: 0;
    padding: 0;
    text-align: left;
}

img {
    border: none;
    vertical-align: bottom;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
    font-size: 100%;
    line-height: inherit;
}

input, select, textarea {
    font-size: inherit;
    font-family: inherit;
    line-height: inherit;
}

fieldset {
    border: none;
    margin: 0;
    padding: 0;
}

main, article, aside, dialog, figure, footer, header, hgroup, nav, section {
    display: block;
    margin: 0;
    padding: 0;
}

map area {
    outline: none;
}


/* ------------------------------------------------------- base */
*{
	box-sizing: border-box;
    min-width: 0;
    min-height: 0;
}

html{
	font-size: 62.5%;
    color: #00437c;
}

body{
	margin: 0;
	padding: 0;
	height: 100%;
	font-family: "fot-tsukuardgothic-std", "Zen Maru Gothic", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Verdana, Arial, Helvetica, sans-serif;
    font-weight: 600;
    font-feature-settings: "pkna";
    position: relative;
}

p{
	font-size: 1.6rem;
	line-height: 1.8;
}

.dispPc{
	display: block;
}

.dispSp{
	display: none;
}

ul{
	list-style: none;
	margin: 0;
	padding: 0;
}

li{
	margin: 0;
	padding: 0;
}

a{
    color: #00437c;
	text-decoration: none;
    transition: all .2s;
}

img{
	width: 100%;
    height: auto;
	border-style: none;
	vertical-align: bottom;
}

/* clearfix */
.clearfix:after{
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

.clearfix{
	min-height: 1px;
}

* html .clearfix{
	height: 1px;
}

.inner{
	max-width: 1200px;
	width: 90%;
	margin: 0 auto;
}

.iconBlank::after{
	content: '';
	display: inline-block;
	width: 16px;
	height: 14px;
	background: url('../img/f_icon_link.png')no-repeat center;
	background-size: 100%;
	vertical-align: middle;
	margin-left: 5px;
}

.youtube{
	position: relative;
	max-width: 100%;
	padding-top: 56.25%;
}

.youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
}

p.note{
	line-height: 1.5;
	padding-left: 1.15em;
	position: relative;
}

p.note::before{
	content: '※';
	position: absolute;
	left: 0;
	top: 0;
}

.listDisc > li,
.listNum > li{
    padding-left: 1.5em;
    font-size: 1.5rem;
    line-height: 1.5;
    margin-bottom: .75em;
    position: relative;
}

.listNum > li{
    counter-increment: number 1;
}

.listDisc > li::before{
    content: '';
    display: inline-block;
    width: 4px;
    height: 4px;
    border-radius: 100%;
    background-color: #00437c;
    position: absolute;
    left: .6em;
    top: .55em;
}

.listNum > li::before{
    content: counter(number)'.';
    display: inline-block;
    border-radius: 100%;
    position: absolute;
    left: 0;
    top: 0;
}

.listDisc > li span,
.listNum > li span{
    display: block;
    font-weight: 700;
}

.inlineLink{
    word-break: break-all;
    color: #e16c8d;
    text-decoration: underline;
}

.inlineLink:hover{
    opacity: 1;
    text-decoration: none;
}

/* .inlineLink[target="_blank"]::after{
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 18px;
    height: 18px;
    background: url("../images/icon_blank.png")no-repeat center;

    background-size: 100%;
    margin-left: 5px;
    margin-top: -4px;
} */

.tac{
    text-align: center;
}

.tar{
    text-align: right;
}

.anker{
    padding-top: 118px;
    margin-top: -118px;
}

/* fadeUp */
.fadeUp{
    animation-name:fadeUpAnime;
    animation-duration:0.5s;
    animation-fill-mode:forwards;
    opacity:0;
}

@keyframes fadeUpAnime{
    from {
        opacity: 0;
        transform: translateY(50px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.fadeUpTrigger{
    opacity: 0;
}



/* ------------------------------------------------------- header */
header{
    position: fixed;
    width: 100%;
    z-index: 10;
    transition: all .2s;
}

header.is-animation{
    background-color: #fff;
}

header .inner{
    max-width: 1400px;
    width: 95%;
}

.hContainer{
    display: flex;
    justify-content: space-between;
    align-items: end;
    padding: 0 0 20px;
    transition: all .2s;
}

.hLogo a{
    display: block;
    width: 398px;
    height: 81px;
    transition: all .2s;
}

.hLogo a:hover{
    opacity: .8;
}

.hLogo a h1,
.hLogo a p{
    width: 100%;
    height: 100%;
    text-indent: -9999px;
    background: url("../images/logo.png")no-repeat center;
    background-size: 100%;
}

.hNav{
    position: relative;
}

.hNav nav{
    padding-top: 80px;
}

.hNav nav > ul{
    display: flex;
    align-items: center;
}

.hNav nav > ul > li{
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.25;
    margin-left: 2em;
}

.hNav nav > ul > li > a{
    display: flex;
    align-items: center;
    transition: all .2s;
    position: relative;
}

.hNav nav > ul > li > a:hover{
    color: #dba312;
}

/* nav プルダウン */
.menuSingle{
    position: relative;
}

.menuSingle .menuSecondLevel{
    visibility: hidden;
    opacity: 0;
    z-index: 1;
}

.menuSingle .menuSecondLevel{
    position: absolute;
    display: block;
    width: 100%;
    background: rgba(255,255,255,.98);
    border-radius: 5px;
    box-shadow: 0 0 5px rgba(0,0,0,.2);
    margin-top: 0;
    overflow: hidden;
    transition: all .2s ease;
}

.menuSecondLevel.navService{
	width: 260%;
}

.menuSingle:hover .menuSecondLevel{
    visibility: visible;
    opacity: 1;
    margin-top: 5px;
}

.menuSingle .menuSecondLevel li{
	display: block;
	font-size: 1.5rem;
	border-bottom: 1px dotted #00437c;
}

.menuSingle .menuSecondLevel li:last-child {
	border: none;
}

.menuSingle .menuSecondLevel li a{
	display: block;
    font-size: 1.4rem;
	line-height: 1.25;
	color: #00437c;
	padding: 1em .75em;
    transition: all .1s;
}

.menuSingle .menuSecondLevel li a::before{
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 6px;
    height: 6px;
    border-top: 1px solid #00437c;
    border-right: 1px solid #00437c;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-right: 8px;
    margin-top: -3px;
}

.menuSingle .menuSecondLevel li a:hover {
    text-decoration: underline;
	transform: none;
	/* background-color: #edf0f0; */
}

.hNav .hContact{
    display: flex;
    align-items: center;
    position: absolute;
    right: 0;
    top: 0;
}

.hNav .hContact .hTel a{
    display: inline-block;
    font-family: "Quicksand", "Zen Maru Gothic", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Verdana, Arial, Helvetica, sans-serif;
    font-size: 3rem;
    font-weight: 700;
    line-height: 1;
    margin-right: 15px;
    transition: all .2s;
}

.hNav .hContact .hTel a::before{
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 32px;
    height: 32px;
    background: url("../images/icon_tel.png")no-repeat center, #e16c8d;
    background-size: 100%;
    border-radius: 50%;
    margin-right: 5px;
    margin-top: -6px;
}

.hNav .hContact .hContactBtns{
    display: flex;
    align-items: center;
}

.hNav .hContact .hContactBtns > a{
    display: flex;
    align-items: center;
    height: 65px;
    text-align: center;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.25;
    color: #fff;
    padding: .75em 1.25em;
    background-color: #e16c8d;
    border-radius: 0 0 15px 15px;
    margin-right: 7px;
    transition: all .2s;
}

.hNav .hContact .hContactBtns > a:nth-child(2){
    background-color: #00437c;
    margin: 0;
}

.hNav .hContact .hContactBtns > a:hover{
    box-shadow: 0 0 10px rgba(225,108,141,.5);
}
.hNav .hContact .hContactBtns > a:nth-child(2):hover{
    box-shadow: 0 0 10px rgba(0,67,124,.5);
}


.hNav .hContact .hContactBtns > a span{
    position: relative;
    z-index: 1;
}

.hNav .hContact .hContactBtns > a span::before{
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 24px;
    height: 24px;
    background: url("../images/icon_calendar.png")no-repeat center;
    background-size: 100%;
    margin-right: 5px;
    margin-top: -5px;
}

.hNav .hContact .hContactBtns > a:nth-child(2) span::before{
    background-image: url(../images/icon_injection.png);
}




#nav-input{
	display: none;
}



@media(max-width: 1060px){
    .hLogo a{
        width: 300px;
        height: 62px;
    }
}

@media(max-width: 910px){
    .hNav nav{
        padding-top: 75px;
    }

    .hNav nav ul li{
        font-size: 1.4rem;
        margin-left: 1.5em;
    }

    .hNav .hContact .hTel a{
        font-size: 2.4rem;
    }

    .hNav .hContact .hTel a::before{
        width: 28px;
        height: 28px;
    }

    .hNav .hContact .hContactBtns > a{
        font-size: 1.3rem;
        margin-right: 5px;
    }
}



/* ------------------------------------------------------- main */
.heroWrapper{
    width: 100%;
    background: url('../images/bg_pattern_01.jpg')no-repeat center;
    background-size: cover;
    position: relative;
}

.heroWrapper .inner{
    max-width: 1400px;
}

.heroWrapper::after{
    content: '';
    width: 100%;
    height: 100%;
    background: url(../images/top_hero_bottom_parts.svg)no-repeat center bottom;
    background-size: 1920px auto;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
}

.heroWrapper .inner{
    padding-top: 198px;
}

.heroWrapper .heroWrapperContainer{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    z-index: 1;
    position: relative;
}

.heroWrapper .heroWrapperContainer .heroIllust01{
    width: 252px;
    height: 247px;
    background: url(../images/bg_parts_01.png)no-repeat center;
    background-size: 100%;
    position: absolute;
    right: -180px;
    top: -50px;
    z-index: -1;
}

.heroWrapper .heroWrapperContainer .heroIllust02{
    width: 318px;
    height: 126px;
    background: url(../images/top_illust_01.png)no-repeat center;
    background-size: 100%;
    position: absolute;
    left: 125px;
    bottom: 0;
}

.heroWrapper .heroWrapperContainer .txtContents{
    display: flex;
    margin-right: 65px;
}

.heroWrapper .heroWrapperContainer .imgContents{
    flex: 1;
    width: 100%;
}

.heroWrapper .heroWrapperContainer .imgContents ul li{
    width: 100%;
    height: 600px;
    border-radius: 30px;
    overflow: hidden;
}

.heroWrapper .heroWrapperContainer .imgContents ul li.slide01{
    background: url('../images/top_hero_img_01.jpg')no-repeat center;
    background-size: cover;
}

.heroWrapper .heroWrapperContainer .imgContents ul li.slide02{
    background: url('../images/top_hero_img_02.jpg')no-repeat center;
    background-size: cover;
}

.heroWrapper .heroWrapperContainer .imgContents ul li.slide03{
    background: url('../images/top_hero_img_03.jpg')no-repeat center;
    background-size: cover;
}

.heroWrapper .heroWrapperContainer .txtContents p{
    order: 1;
    display: inline-block;
    writing-mode: vertical-rl;
    font-family: "fot-tsukuardgothic-std", "Zen Maru Gothic", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Verdana, Arial, Helvetica, sans-serif;
    font-size: 5.2rem;
    font-weight: 700;
    line-height: 1.5;
}

.heroWrapper .heroWrapperContainer .txtContents span{
    display: inline-block;
    writing-mode: vertical-rl;
    font-family: "fot-tsukuardgothic-std", "Zen Maru Gothic", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Verdana, Arial, Helvetica, sans-serif;
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.5;
    margin: 0 1em;
}

.topContentsWrapper{
    padding: 100px 0;
}

.topContentsWrapper .contentsTit{
    text-align: center;
}

.topContentsWrapper .contentsTit::before{
    content: '';
    display: inline-block;
    width: 48px;
    height: 48px;
    background: url(../images/icon_megaphone.png)no-repeat center;
    background-size: 100%;
}

.topContentsWrapper .contentsTit h2{
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.5;
}

.topContentsWrapper .contentsTit span{
    display: block;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1;
    margin: 1em 0 3em;
}

.newsList{
    max-width: 1000px;
    margin: 0 auto;
}

.newsList ul li{
    border-top: 1px solid #e4ebf1;
}

.newsList ul li:last-child{
    border-bottom: 1px solid #e4ebf1;
}

.newsList ul li a{
    display: flex;
    width: 100%;
    font-size: 1.6rem;
    padding: 1.5em;
}

.newsList ul li a:hover{
    background-color: #eef2f6;
}

.newsList ul li a span.date{
    width: 7.5em;
    font-weight: 600;
    line-height: 1.5;
    color: #dba312;
}

.newsList ul li a p{
    flex: 1;
    width: 100%;
    font-weight: 600;
    line-height: 1.5;
    transition: all .2s;
}

.newsList ul li a:hover p{
    padding-left: .5em;
}

.moreBtn{
    text-align: center;
    margin-top: 50px;
}

.moreBtn a{
    display: inline-block;
    width: 100%;
    max-width: 240px;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.5;
    padding: 1em;
    border: 1px solid #00437c;
    border-radius: 50px;
    position: relative;
}

.moreBtn a:hover{
    color: #fff;
    background-color: #00437c;
}

.moreBtn a::after{
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 6px;
    height: 6px;
    border-top: 1px solid #00437c;
    border-right: 1px solid #00437c;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    right: 25px;
    top: 0;
    bottom: 0;
    margin: auto;
    transition: all .2s;
}

.moreBtn a:hover::after{
    border-color: #fff;
    right: 20px;
}

#topService .topContentsWrapper{
    position: relative;
}

#topService .topContentsWrapper::after{
    content: '';
    width: 100%;
    height: 100%;
    background-color: #f7f3ef;
    border-radius: 0 50px 50px 0;
    position: absolute;
    left: -80px;
    top: 0;
    z-index: -1;
}

.topServiceIllust01{
    width: 189px;
    height: 113px;
    background: url(../images/top_illust_02.png)no-repeat center;
    background-size: 100%;
    position: absolute;
    right: 10%;
    top: -75px;
}

#topService .topContentsWrapper .contentsTit::before{
    background-image: url(../images/icon_stethoscope.png);
}

.topServiceContents{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 80px;
}

.topServiceContents:last-of-type{
    margin: 0;
}

.topServiceContents > figure{
    width: 55%;
}

.topServiceContents > figure img{
    aspect-ratio: 640 / 400;
    object-fit: cover;
    border-radius: 30px;
}

.topServiceContents .txtContents{
    width: 41%;
}

.topServiceContents .txtContents h3{
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.5;
    padding-left: 1.25em;
    margin: .25em 0 1em;
    position: relative;
}

.topServiceContents .txtContents h3::before{
    content: '';
    display: inline-block;
    width: .65em;
    height: .65em;
    border: 3px solid #e5bc53;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: .4em;
}

.topServiceList ul{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.topServiceList ul li{
    width: 49%;
    margin-bottom: 2%;
}

.topServiceList ul li a{
    display: block;
    text-indent: -1em;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.5;
    padding: .85em .85em .85em 1.85em;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 0 5px rgba(0,67,124,.15);
}

.topServiceList ul li a:hover{
    box-shadow: 0 0 10px rgba(0,67,124,.3);
}

.topServiceList ul li a::before{
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 6px;
    height: 6px;
    border-top: 1px solid #00437c;
    border-right: 1px solid #00437c;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-right: 8px;
    margin-top: -3px;
    transition: all .2s;
}

.topServiceList ul li a:hover::before{
    margin-right: 11px;
}

.vaccinationBnr{
    margin-top: 30px;
}

.vaccinationBnr a{
    display: flex;
    align-items: center;
    width: 100%;
    height: 150px;
    background-color: #e16c8d;
    border-radius: 10px;
    overflow: hidden;
}

.vaccinationBnr a:hover{
    box-shadow: 0 0 10px rgba(225,108,141,.5);
}

.vaccinationBnr a p{
    width: 50%;
    text-align: center;
    font-weight: 600;
    color: #fff;
    padding: 1em;
}

.vaccinationBnr a figure{
    display: flex;
    width: 50%;
    height: 100%;
    overflow: hidden;
}

.vaccinationBnr a figure img{
    object-fit: cover;
    transition: all .2s;
}

.vaccinationBnr a:hover figure img{
    transform: scale(1.1);
}

#topAbout .inner{
    position: relative;
}

.topAboutIllust01{
    width: 255px;
    height: 244px;
    background: url(../images/bg_parts_02.png)no-repeat center;
    background-size: 100%;
    position: absolute;
    left: -74px;
    top: -30px;
    z-index: -1;
}

.topAboutIllust02{
    width: 160px;
    height: 108px;
    background: url(../images/top_illust_03.png)no-repeat center;
    background-size: 100%;
    position: absolute;
    right: -45px;
    bottom: -30px;
}

#topAbout .topContentsWrapper .contentsTit::before{
    background-image: url(../images/icon_heart.png);
}

.topAboutTxt{
    position: relative;
}

.topAboutTxt p{
    width: 50%;
    font-weight: 600;
    line-height: 2;
    margin: 0 auto;
}

.topAboutTxt figure{
    position: absolute;
    max-width: 210px;
    width: 17.5%;
    border-radius: 30px;
    overflow: hidden;
}

.topAboutTxt figure.topAboutImg01{
    left: 0;
    bottom: -40px;
}

.topAboutTxt figure.topAboutImg02{
    right: 0;
    top: -170px;
}

.topRecruitBnr{
    margin: 60px 0 160px;
}

.topRecruitBnr a{
    display: flex;
    align-items: center;
    max-width: 800px;
    width: 100%;
    height: 180px;
    background-color: #f7f3ef;
    border-radius: 10px;
    overflow: hidden;
    margin: 0 auto;
}

.topRecruitBnr a:hover{
    box-shadow: 0 0 10px rgba(0,67,124,.3);
}

.topRecruitBnr a .txtContents{
    width: 50%;
    padding: 20px;
    text-align: center;
}

.topRecruitBnr a figure{
    display: flex;
    width: 50%;
    height: 100%;
    overflow: hidden;
}

.topRecruitBnr a figure img{
    object-fit: cover;
    transition: all .2s;
}

.topRecruitBnr a:hover figure img{
    transform: scale(1.1);
}

.topRecruitBnr a .txtContents p{
    width: 100%;
    font-size: 3rem;
    font-weight: 600;
    line-height: 1;
    margin-bottom: .75em;
}

.topRecruitBnr a .txtContents span{
    display: block;
    width: 100%;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1;
}

.topRecruitBnr a .txtContents span::before{
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 6px;
    height: 6px;
    border-top: 1px solid #00437c;
    border-right: 1px solid #00437c;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-right: 8px;
    margin-top: -3px;
    transition: all .2s;
}

/* .topRecruitBnr a:hover .txtContents span::before{
    margin-right: 11px;
} */



@media(max-width: 1460px){
    #topService .topContentsWrapper::after{
        left: -30px;
    }

}



/* ------------------------------------------------------- footer */
footer{
    background: url(../images/bg_pattern_01.jpg)no-repeat center;
    background-size: cover;
    border-radius: 50px 50px 0 0;
    position: relative;
}

footer::after{
    content: '';
    width: 100%;
    height: 188px;
    background: url(../images/f_bg_illust.png)no-repeat center bottom;
    background-size: auto 100%;
    position: absolute;
    left: 0;
    bottom: 0;
}

footer .inner{
    max-width: 1400px;
    padding: 80px 0 250px;
}

.fInfoWrapper{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.fInfo{
    width: 47.5%;
}

.fMap{
    width: 47.5%;
}

.fInfo .timeTable > span{
    display: block;
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: .5em;
}

.fInfo .timeTable:nth-of-type(2){
    color: #de5d81;
}

.fInfo .timeTable table{
    width: 100%;
    border-top: 1px solid #a8bfd2;
    border-left: 1px solid #a8bfd2;
    border-radius: 10px;
}

.fInfo .timeTable:nth-of-type(2) table{
    border-color: #f2c1cf;
}

.fInfo .timeTable table th{
    text-align: center;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.5;
    padding: .75em;
    background-color: #dae4ec;
    border-right: 1px solid #a8bfd2;
    border-bottom: 1px solid #a8bfd2;
}

.fInfo .timeTable:nth-of-type(2) table th{
    background-color: #fbeaef;
    border-color: #f2c1cf;
}

.fInfo .timeTable table td{
    text-align: center;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.5;
    padding: .75em;
    background-color: #fff;
    border-right: 1px solid #a8bfd2;
    border-bottom: 1px solid #a8bfd2;
}

.fInfo .timeTable:nth-of-type(2) table td{
    border-color: #f2c1cf;
}

.fInfo .timeTable table td.keepAll{
    word-break: keep-all;
}

.fInfo .timeTable .timeTableNote{
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.5;
    margin: .25em 0 1.5em;
}

.fInfo > p{
    font-size: 1.5rem;
    font-weight: 600;
}

.contactBx{
    padding: 30px;
    border-radius: 20px;
    background-color: #fff;
    margin: 40px 0 50px;
}

.contactBx > span{
    display: block;
    text-align: center;
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: 1em;
}

.contactBx .contactContainer{
    display: flex;
    justify-content: center;
    align-items: center;
}

.contactBx .contactContainer .tel a{
    display: inline-block;
    font-family: "Quicksand", "Zen Maru Gothic", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Verdana, Arial, Helvetica, sans-serif;
    font-size: 3.6rem;
    font-weight: 700;
    line-height: 1;
    margin-right: .75em;
    transition: all .2s;
}

.contactBx .contactContainer .tel a::before{
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 38px;
    height: 38px;
    background: url("../images/icon_tel.png")no-repeat center, #e16c8d;
    background-size: 100%;
    border-radius: 50%;
    margin-right: 7px;
    margin-top: -6px;
}

.contactBx .contactContainer .contactBtns{
    display: flex;
    align-items: center;
}

.contactBx .contactContainer .contactBtns a{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 220px;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.25;
    color: #fff;
    padding: 1em 1.5em;
    background-color: #e16c8d;
    border-radius: 50px;
    margin-right: 10px;
    transition: all .2s;
}

footer .contactBx .contactContainer .contactBtns a,
.first .contactBx .contactContainer .contactBtns a{
    height: 76px;
}

.contactBx .contactContainer .contactBtns > a:nth-child(2){
    background-color: #00437c;
    margin: 0;
}

.contactBx .contactContainer .contactBtns > a:hover{
    box-shadow: 0 0 10px rgba(225,108,141,.5);
}
.contactBx .contactContainer .contactBtns > a:nth-child(2):hover{
    box-shadow: 0 0 10px rgba(0,67,124,.5);
}

.contactBx .contactContainer .contactBtns > a span{
    position: relative;
    z-index: 1;
}

.contactBx .contactContainer .contactBtns > a span::before{
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 24px;
    height: 24px;
    background: url("../images/icon_calendar.png")no-repeat center;
    background-size: 100%;
    margin-right: 5px;
    margin-top: -5px;
}

.contactBx .contactContainer .contactBtns > a:nth-child(2) span::before{
    background-image: url(../images/icon_injection.png);
}

.fContentsWrapper{
    display: flex;
    justify-content: space-between;
    padding-top: 50px;
    border-top: 1px solid #becfde;
}

.fClinicInfo a.fLogo{
    display: inline-block;
    width: 320px;
    margin-bottom: 15px;
}

.fClinicInfo p{
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: 2em;
}

.fClinicInfo a.fBnr{
    display: inline-block;
    width: 220px;
}

.fClinicInfo a:hover{
    opacity: .8;
}

.fSitemap{
    display: flex;
}

.fSitemap ul{
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.5;
    margin-right: 3em;
}

.fSitemap ul:last-child{
    margin-right: 0;
}

.fSitemap ul li{
    margin-bottom: .5em;
}

.fSitemap ul li a{
    display: inline-block;
}

.fSitemap ul li a:hover{
    text-decoration: underline;
}

.fSitemap > ul > li > a{
    padding-left: 1.65em;
    position: relative;
}

.fSitemap > ul > li > a::before{
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background-color: #00437c;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: .125em;
}

.fSitemap > ul > li > a::after{
    content: '';
    display: inline-block;
    width: 5px;
    height: 5px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    left: .4em;
    top: .6em;
}

.fSitemap > ul > li ul.secondLevel{
    padding-left: 1em;
    margin: .5em 0 1em;
}

.fSitemap > ul > li ul.secondLevel li a::before{
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 6px;
    height: 6px;
    border-top: 1px solid #00437c;
    border-right: 1px solid #00437c;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-right: 8px;
    margin-top: -3px;
}

.dxTxt{
    padding: 20px;
    border: 1px solid #a8bfd2;
    border-radius: 5px;
    margin-top: 40px;
}

.dxTxt .listDisc > li{
    font-size: 1.3rem;
}

p.copyright{
    text-align: center;
    font-size: 1.3rem;
    font-weight: normal;
    margin-top: 3em;
}





.spFloatBtns{
    display: none;
}





/* ------------------------------------------------------- tab / sp */
@media(max-width: 810px){
    .dispPc{
        display: none !important;
    }

    .dispSp{
        display: block;
    }

    p{
        font-size: 1.5rem;
    }

    .listDisc > li,
    .listNum > li{
        font-size: 1.5rem;
    }

    /* .anker{
        padding-top: 80px;
        margin-top: -80px;
    } */

    header{
        height: 80px;
    }

    header .inner{
        height: 100%;
    }

    .hContainer{
        align-items: center;
        height: 100%;
        padding: 0;
    }

    .hLogo a{
        width: 280px;
        height: 80px;
    }



    /*ハンバーガーメニュー
	ヘッダーまわりはサイトに合わせて調整してください*/
	#nav-drawer {
		position: absolute;
		top: 18px;
		right: 13px;
		width: 44px;
		height: 44px;
        background-color: #fff;
        border: 1px solid #fff;
		border-radius: 5px;
        transition: all .2s;
	}
    
    header.is-animation #nav-drawer{
        border-color: #e4ebf1;
    }

	/*チェックボックス等は非表示に*/
	.nav-unshown {
		display:none;
	}

	/*アイコンのスペース*/
	#nav-open {
	  	display: inline-block;
	  	width: 100%;
	  	vertical-align: middle;
	}
    
	/*ハンバーガーアイコンをCSSだけで表現*/
	#nav-open span, #nav-open span:before, #nav-open span:after {
	  	position: absolute;
	  	height: 3px;/*線の太さ*/
	  	width: 24px;/*長さ*/
	  	background: #fff;
	  	display: block;
	  	content: '';
	  	cursor: pointer;
	}
	#nav-open span:before {
	  	bottom: -8px;
	}
	#nav-open span:after {
	  	bottom: -16px;
	}

	/*閉じる用の薄黒カバー*/
	#nav-close {
	  	display: none;/*はじめは隠しておく*/
	  	position: fixed;
	  	z-index: 99;
	  	top: 0;/*全体に広がるように*/
	  	left: 0;
	  	width: 100%;
	  	height: 100%;
	  	background: black;
	  	opacity: 0;
	  	transition: .2s ease-in-out;
	}

	/*中身*/
	#nav-content {
	  	overflow: auto;
	  	position: fixed;
	  	top: 0;
	  	left: 0;
	  	z-index: 9999;/*最前面に*/
	  	width: 70%;/*右側に隙間を作る（閉じるカバーを表示）*/
	  	max-width: 330px;/*最大幅（調整してください）*/
	  	height: 100%;
	  	background: rgba(255,255,255,.9);/*背景色*/
	  	transition: .2s ease-in-out;/*滑らかに表示*/
	  	-webkit-transform: translateX(-105%);
	  	transform: translateX(-105%);/*左に隠しておく*/
		margin-top: 80px;
	}

	/*チェックが入ったらもろもろ表示*/
	#nav-input:checked ~ #nav-close {
	  	display: block;/*カバーを表示*/
	  	opacity: .5;
		margin-top: 80px;
	}
    
    header.is-animation #nav-content,
    header.is-animation #nav-input:checked ~ #nav-close{
        margin-top: 80px;
    }

	#nav-input:checked ~ #nav-content {
	  	-webkit-transform: translateX(0%);
	  	transform: translateX(0%);/*中身を表示（右へスライド）*/
	  	/* box-shadow: 6px 0 25px rgba(0,0,0,.15); */
	}
	
	#top header.is-animation #nav-content{
		background-color: rgba(255,255,255,.95);
		border: none;
	}
    
    .hNav .hContactBtns{
        flex-wrap: wrap;
        position: relative;
    }
    
    .hNav .hContactBtns > a{
        display: block;
        width: 100%;
        text-align: center;
        color: #fff;
        padding: 1.5em;
        background-color: #b5113c;
        border: none;
        border-radius: 50px;
        margin: 10px 10px 0;
    }
    
    .hNav .hContactBtns > a:nth-child(2){
        background-color: #303e52;
        margin-right: 10px;
    }
    
    .hNav .hContactBtns > a::before{
        background-image: url("../images/icon_shop_w.png");
    }
    
    .hNav .hContactBtns > a:nth-child(2)::before{
        background-image: url("../images/icon_mail_w.png");
    }
    
    .hNav .hContactBtns .hTel{
        width: 100%;
        background-color: #fff;
        padding: 20px 0;
        border-radius: 5px;
        margin: 10px 10px 0;
        text-align: center;
    }
    
    .hNav .hContactBtns .hTel span{
        text-align: center;
    }
    
    .hNav nav{
        padding: 0;
    }
    
    .hNav nav ul{
        flex-wrap: wrap;
    }
    
    .hNav nav > ul > li{
        display: block;
        width: 100%;
        border-bottom: 1px dotted #ccc;
        margin: 0;
    }
    
    .hNav nav > ul > li > a{
        color: #00437c;
        padding: 1.25em 1.25em 1.25em 3em;
        margin: 0;
        position: relative;
    }
    
    .hNav nav > ul > li > a::before{
        content: '';
        display: inline-block;
        width: 20px;
        height: 20px;
        background-color: #00437c;
        border-radius: 50%;
        position: absolute;
        left: 1.25em;
        top: 1.15em;
    }

    .hNav nav > ul > li > a::after{
        content: '';
        display: inline-block;
        width: 6px;
        height: 6px;
        border-top: 1px solid #fff;
        border-right: 1px solid #fff;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        position: absolute;
        left: 1.65em;
        top: 1.6em;
    }

    .hNav nav > ul > li > a.noLink{
        padding-left: 1.25em;
    }

    .hNav nav > ul > li > a.noLink::before,
    .hNav nav > ul > li > a.noLink::after{
        content: none;
    }

     .hNav nav > ul > li.menuSingle > a{
        padding-bottom: .4em;
    }

    .menuSecondLevel.navService{
        width: 100%;
    }

    .menuSingle .menuSecondLevel{
        position: static;
        visibility: inherit;
        opacity: 1;
        background: none;
        border-radius: 0;
        box-shadow: none;
    }

    .menuSingle .menuSecondLevel li{
        border: none;
        margin: 0;
    }

    .menuSingle .menuSecondLevel li a{
        padding: .5em 1.25em .5em 2.5em;
    }

    .menuSingle .menuSecondLevel li:last-child a{
        padding-bottom: 1.25em;
    }

    .hNav .hContact{
        display: none;
    }
    
    .hNav .hContactBtns .hTel a{
        font-size: 2.6rem;
        color: #333;
    }
    
    .hNav .hContactBtns .hTel a::before{
        width: 26px;
        height: 26px;
    }

    .heroWrapper .inner{
        padding-top: 100px;
    }

    .heroWrapper .heroWrapperContainer .txtContents{
        display: block;
        margin: 0;
    }

    .heroWrapper .heroWrapperContainer .txtContents p{
        writing-mode: inherit;
        font-size: 4rem;
        margin-bottom: .25em;
    }

    .heroWrapper .heroWrapperContainer .txtContents span{
        writing-mode: inherit;
        font-size: 2.4rem;
        margin: 0;
    }

    .heroWrapper .heroWrapperContainer .imgContents{
        margin-top: 30px;
    }

    .heroWrapper .heroWrapperContainer .imgContents ul li{
        height: 400px;
    }

    .heroWrapper .heroWrapperContainer .heroIllust01{
        right: -70px;
        top: -25px;
    }

    .heroWrapper .heroWrapperContainer .heroIllust02{
        width: 280px;
        height: 111px;
        left: inherit;
        right: -100px;
        bottom: -45px;
    }

    .topContentsWrapper .contentsTit::before{
        width: 38px;
        height: 38px;
    }

    .topContentsWrapper .contentsTit h2{
        font-size: 2.6rem;
    }

    .topContentsWrapper .contentsTit span{
        font-size: 1.3rem;
    }

    .newsList ul li a{
        font-size: 1.5rem;
    }

    .moreBtn{
        margin-top: 40px;
    }

    .moreBtn a{
        max-width: 200px;
        font-size: 1.5rem;
        padding: .75em;
    }

    #topService .topContentsWrapper::after{
        border-radius: 0 30px 30px 0;
        left: 0;
    }

    .topServiceIllust01{
        width: 140px;
        height: 84px;
        right: 5%;
        top: -65px;
    }

    .topServiceContents > figure{
        width: 50%;
    }

    .topServiceContents .txtContents{
        width: 46%;
    }

    .topServiceContents > figure img{
        border-radius: 10px;
    }

    .topServiceContents .txtContents h3{
        font-size: 2rem;
    }

    .topServiceList ul li a{
        font-size: 1.5rem;
    }

    .vaccinationBnr{
        margin-top: 20px;
    }

    .vaccinationBnr a{
        height: 110px;
    }

    .vaccinationBnr a p{
        width: 70%;
    }

    .topAboutTxt figure{
        width: 19%;
        border-radius: 20px;
    }

    .topAboutIllust01{
        left: -95px;
    }

    .topRecruitBnr a{
        max-width: 640px;
        height: 160px;
    }

    .topRecruitBnr a .txtContents p{
        font-size: 2.4rem;
    }

    .topRecruitBnr a .txtContents span{
        font-size: 1.5rem;
    }

    footer{
        border-radius: 30px 30px 0 0;
        margin-bottom: 71.75px;
    }

    .fInfo{
        width: 100%;
    }

    .fInfo .timeTable table th,
    .fInfo .timeTable table td{
        font-size: 1.4rem;
    }

    .fInfo .timeTable .timeTableNote{
        font-size: 1.4rem;
    }

    .fMap{
        width: 100%;
        height: 400px;
        margin-top: 30px;
    }

    .contactBx .contactContainer{
        flex-wrap: wrap;
    }

    .contactBx .contactContainer .tel a{
        font-size: 3rem;
        margin-right: .25em;
    }

    .contactBx .contactContainer .tel a::before{
        width: 32px;
        height: 32px;
    }

    .contactBx .contactContainer .contactBtns{
        justify-content: center;
        width: 100%;
        margin-top: 20px;
        text-align: center;
    }

    .contactBx .contactContainer .contactBtns a{
        width: 200px;
    }

    .fContentsWrapper{
        flex-wrap: wrap;
    }

    .fClinicInfo{
        order: 1;
        width: 100%;
        margin-top: 40px;
        text-align: center;
    }

    .fSitemap{
        justify-content: space-between;
        width: 100%;
    }

    .fSitemap ul{
        width: 47.5%;
        margin: 0;
    }

    .fSitemap > ul > li{
        padding: 0 0 .75em .5em;
        border-bottom: 1px dotted #00437c;
        margin-bottom: .75em;
    }

    .fSitemap > ul > li:last-child{
        border: none;
    }

    .fSitemap > ul > li ul.secondLevel{
        margin-bottom: 0;
    }

    .spFloatBtns{
        display: flex;
        justify-content: space-between;
        width: 100%;
        padding: 10px;
        background-color: rgba(255,255,255,.75);
        position: fixed;
        bottom: 0;
        left: 0;
        z-index: 5;
    }

    .spFloatBtns a{
        display: inline-block;
        width: 49.5%;
        text-align: center;
        font-size: 1.3rem;
        font-weight: 600;
        line-height: 1.25;
        color: #fff;
        padding: 1.25em 1em;
        background-color: #e16c8d;
        border-radius: 50px;
    }

    .spFloatBtns a:nth-child(2){
        background-color: #00437c;
    }

    .spFloatBtns a span::before{
        content: '';
        display: inline-block;
        vertical-align: middle;
        width: 20px;
        height: 20px;
        background: url("../images/icon_calendar.png")no-repeat center;
        background-size: 100%;
        margin-right: 5px;
        margin-top: -4px;
    }

    .spFloatBtns a:nth-child(2) span::before{
        background-image: url(../images/icon_injection.png);
    }

















}



@media(max-width: 670px){
    .anker{
        padding-top: 69px;
        margin-top: -69px;
    }

    header{
        height: 70px;
    }

    .hLogo a{
        width: 240px;
        height: 70px;
    }

    #nav-drawer{
        top: 13px;
    }

    #nav-input:checked ~ #nav-close,
    #nav-content,
    header.is-animation #nav-content,
    header.is-animation #nav-input:checked ~ #nav-close{
        margin-top: 70px;
    }

    .heroWrapper .inner{
        padding-top: 85px;
    }

    .heroWrapper .heroWrapperContainer .txtContents p{
        font-size: 3rem;
    }

    .heroWrapper .heroWrapperContainer .txtContents span{
        font-size: 1.8rem;
    }

    .heroWrapper .heroWrapperContainer .imgContents{
        margin-top: 20px;
    }

    .heroWrapper .heroWrapperContainer .imgContents ul li{
        height: 240px;
        border-radius: 20px;
    }

    .heroWrapper .heroWrapperContainer .heroIllust01{
        width: 160px;
        height: 157px;
        right: -65px;
        top: -40px;
    }

    .heroWrapper .heroWrapperContainer .heroIllust02{
        width: 180px;
        height: 72px;
        right: -75px;
        bottom: -30px;
    }

    .topContentsWrapper{
        padding: 70px 0;;
    }

     .topContentsWrapper .contentsTit::before{
        width: 32px;
        height: 32px;
     }

    .topContentsWrapper .contentsTit h2{
        font-size: 2.2rem;
    }

    .topContentsWrapper .contentsTit span{
        font-size: 1.2rem;
    }

    .newsList ul li a{
        flex-wrap: wrap;
        padding: 15px 10px;
    }

    .newsList ul li a span.date{
        width: 100%;
        font-size: 1.3rem;
        margin-bottom: .25em;
    }

    .newsList ul li a p{
        flex: auto;
    }

    #topService .topContentsWrapper::after{
        border-radius: 0 20px 20px 0;
    }

    .topServiceIllust01{
        width: 100px;
        height: 60px;
        right: 5%;
        top: -45px;
    }

    .topServiceContents{
        margin-bottom: 60px;
    }

    .topServiceContents > figure{
        width: 100%;
        margin-bottom: 15px;
    }

    .topServiceContents .txtContents{
        width: 100%;
    }

    .topServiceContents .txtContents h3{
        font-size: 1.8rem;
    }

    .vaccinationBnr a{
        height: 100px;
    }

    .topAboutTxt p{
        width: 90%;
    }

    .topAboutIllust01{
        width: 190px;
        height: 182px;
        left: -70px;
        top: -55px;
    }

    .topAboutIllust02{
        display: none;
    }

    .topAboutTxt figure.topAboutImg01{
        display: none;
    }

    .topAboutTxt figure.topAboutImg02{
        border-radius: 10px;
        right: -3%;
    }

    .topRecruitBnr{
        margin: 0 0 100px;
    }

    .topRecruitBnr a{
        height: 140px;
    }

    .topRecruitBnr a .txtContents p{
        font-size: 2rem;
    }

    .topRecruitBnr a .txtContents span{
        font-size: 1.4rem;
    }

    footer{
        border-radius: 20px 20px 0 0;
    }

    footer::after{
        height: 100px;
    }

    footer .inner{
        padding: 30px 0 100px;
    }

    .fInfo .timeTable table th,
    .fInfo .timeTable table td{
        font-size: 1.3rem;
        padding: .5em;
    }

    .fInfo > p{
        margin-top: 1.5em;
    }

    .fMap{
        margin-top: 15px;
    }

    .contactBx{
        padding: 25px;
        border-radius: 10px;
    }

    .contactBx > span{
        font-size: 1.6rem;
    }

    .contactBx .contactContainer .contactBtns{
        flex-wrap: wrap;
    }

    .contactBx .contactContainer .contactBtns a{
        width: 100%;
        max-width: 360px;
        margin: 0 0 8px;
    }

    .contactBx .contactContainer .contactBtns a br{
        display: none;
    }

    .fContentsWrapper{
        padding-top: 0;
        border: none;
    }

    .fSitemap{
        flex-wrap: wrap;
    }

    .fSitemap ul{
        width: 100%;
    }

    .fSitemap > ul > li:last-child{
        border-bottom: 1px dotted #00437c;
    }










}













