@charset "UTF-8";

* {
    margin: 0;
    padding: 0;
    border: 0;
    box-sizing: border-box;
}

body {
    background: #fff;
    font-family: -apple-system, blinkMacSystemFont,
        /* Macの欧文はSan Francisco (OS X 10.11以降) */
        'Helvetica Neue',
        /* Macの欧文 (OS X 10.10以前) */
        'Segoe UI',
        /* Windowsの欧文 */
        'Hiragino Kaku Gothic ProN',
        /* Macのヒラギノ */
        Meiryo,
        /* Windowsのメイリオ */
        sans-serif;
}

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

p,
div,
article,
section,
th,
td,
li,
caption,
dt,
dd {
    font-size: 1.4rem;
    line-height: 2.0;
    font-weight: normal;
}

h1 {}

h2 {}

img {
    vertical-align: middle;
}

table {
    border-collapse: collapse;
}

dt {}

dd {}

a {
    text-decoration: underline;
    color: #4c4c77;
}

a:hover {
    text-decoration: none;
}

a:hover img {
    opacity: 0.7;
}

ul {
    list-style: none;
}

ol {
    margin: 0 0 0 1.4rem;
}

header,
article,
footer {
    width: 100%;
}

article {
    width: 1000px;
    margin: 0 auto;
    padding: 30px 0 100px 0;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

div.elementDiv {
    width: 1000px;
    margin: 0 auto;
}

.link_right {
    text-align: right;
    margin: 20px 0 0 0;
    font-size: 1.2rem;
}

i {
    margin: 0 3px;
}

figcaption {
    text-align: center;
    line-height: 1.5;
}

img {
    max-width: 100%;
}

img.alignleft {
    float: left;
    margin: 0 20px 20px 0;
}

img.alignright {
    float: right;
    margin: 0 0 20px 20px;
}

img.aligncenter {
    display: block;
    float: none;
    margin: 0 auto 20px auto;
}


/* clearfix */

.clearfix {
    overflow: hidden;
    zoom: 1;
}

.clearfix:after {
    content: "";
    display: block;
    clear: both;
}

@media (max-width: 999px) {

    p,
    div,
    article,
    section,
    th,
    td,
    li,
    caption,
    dt,
    dd {
        font-size: 1.3rem;
        line-height: 1.7;
    }

    header {
        padding: 10px 5px;
        position: fixed;
        top: 0;
        left: 0;
        background-color: white;
        z-index: 9000;
    }

    article {
        width: 100%;
        padding: 30px 0;
        display: block;
    }

    div.elementDiv {
        width: 100%;
        margin: 0 auto;
    }

    .link_right {
        text-align: center;
        font-size: 1.6rem;
    }

    img.alignleft,
    img.alignright,
    img.aligncenter {
        float: none;
        margin: 0 auto 20px auto;
        display: block;
    }

    img.aligncenter {
        width: 100%;
        height: auto;
    }
}


/* =============================================================

    form

============================================================= */

select {
    border: 1px solid #1ab293;
    padding: 3px 10px;
    border-radius: 3px;
}

.panel {
    display: flex;
    border-bottom: dotted 1px #1ab293;
    padding: 20px 0;
    margin: 0 0 20px 0;
    flex-wrap: wrap;
}

.selects {
    margin: 0 30px 0 0;
}

@media (max-width: 999px) {
    .panel {
        padding: 20px 0;
        margin: 0 0 20px 0;
    }

    .selects {
        margin: 0 0 0 0;
        width: 100%;
    }
}


/* =============================================================

    Header

============================================================= */

.headerHeadline {
    height: 60px;
    padding: 15px 0 0 0;
    background: #1ab293;
    color: white;
}

.headerHeadline p {
    display: inline-block;
    margin-right: 10px;
}

.headerHeadline p a {
    font-size: 2.0rem;
    color: white;
}

.headerElements {
    padding: 10px 0 20px 0;
}

.headerElements h1 {
    display: block;
    width: 552px;
    height: 83px;
    text-indent: -10000px;
    background: url(../img/logo_header_new.png) no-repeat;
}

.globalNav {
    width: 100%;
    padding: 28px 0;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
}

.globalNav ul {
    display: flex;
    justify-content: flex-start;
}

.globalNav li {
    font-size: 1.8rem;
    margin: 0 10px;
}

.globalNav a {
    color: #333;
}

.globalNav li.current {
    font-size: 2.0rem;
    color: #1ab293;
}

#fixedNavi {
    position: relative;
    width: 1000px;
    margin: 0 auto;
}

#btnPollenInfo {
    display: block;
    position: absolute;
    width: 129px;
    height: 129px;
    top: 30px;
    right: 260px;
    padding: 20px 15px 0 15px;
    background: url(../img/btn_pollen.png) no-repeat;
    text-align: center;
    font-size: 1.7rem;
    line-height: 1.5;
    color: white;
}

.smallSpan {
    font-size: 1.5rem;
    font-weight: bold;
}

#btnReserve_top {
    display: block;
    position: absolute;
    width: 250px;
    height: 250px;
    padding: 185px 50px 0 50px;
    top: 80px;
    right: 0px;
    background: url(../img/btn_reserve_top.png) no-repeat;
    text-align: center;
    font-size: 2.7rem;
    line-height: 1;
    color: white;
    z-index: 1000;
}

#btnWebMonshin {
    display: block;
    position: absolute;
    width: 250px;
    height: 60px;
    padding: 0;
    top: 10px;
    right: 0px;
    background: url(../img/web_monshin.png) no-repeat;
    z-index: 1000;
}

#humberger {
    display: none;
}

#fixedSPNavi {
    display: none;
}

.globalNavSP {
    display: none;
}

@media (max-width: 999px) {
    .headerHeadline {
        display: none;
    }

    .headerElements {
        padding: 0;
        display: flex;
        justify-content: space-between
    }

    .headerElements h1 {
        display: block;
        width: 240px;
        height: 40px;
        background-size: contain;
    }

    #humberger {
        display: block;
    }

    #humberger img {
        width: 40px;
        height: 40px;
    }

    .globalNav {
        display: none;
    }

    #fixedNavi {
        display: none;
    }

    #fixedSPNavi {
        display: flex;
        position: fixed;
        bottom: 0;
        width: 100%;
        height: 60px;
    }

    #fixedSPNavi>div {
        width: 25%;
        background: #ff8b00;
        text-align: center;
        border-right: 1px solid #fff;
    }

    #fixedSPNavi>div:nth-child(2) {
        background: #69d860;
    }

    #fixedSPNavi>div:nth-child(3) {
        background: #69d860;
        border-right: 0;
    }

    #fixedSPNavi a {
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 100%;
        height: 100%;
        color: white;
        line-height: 1.2;
        font-size: 1.3rem;
    }

    .globalNavSP {
        display: none;
        position: fixed;
        top: 60px;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.8);
        padding: 20px 20px;
        border-top: 1px solid #ddd;
        border-bottom: 1px solid #ddd;
    }

    .globalNavSP ul {
        display: block;
    }

    .globalNavSP li {
        font-size: 2.0rem;
        border-bottom: 1px dotted #ffffff;
        color: white;
        padding: 5px 20px;
    }

    .globalNavSP a {
        display: block;
        text-decoration: none;
        width: 100%;
        color: white;
    }

    .globalNav li.current {
        font-size: 2.0rem;
        color: #1ab293;
    }
}


/* =============================================================

    Footer

============================================================= */

.footerNav {
    width: 100%;
    padding: 17px 0;
}

.footerNav ul {
    display: flex;
    justify-content: center;
}

.footerNav li {
    font-size: 1.4rem;
    margin: 0 6px;
}

.footerNav a {
    color: #333;
}

.footerNav li.current {
    font-size: 1.6rem;
    color: #1ab293;
}

.footerElement {
    padding: 20px 0;
    background: #1ab293;
    color: white;
}

.footerElement>div {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.footerSign {
    padding: 0 0 0 120px;
    background: url(../img/logo_small.png) no-repeat;
    background-position: left center;
    line-height: 1.3;
}

.footerSignTitleEn {
    font-size: 1.8rem;
}

.footerSignTitle {
    font-size: 3.4rem;
    line-height: 1.5;
}

#fixedBottom {
    position: relative;
    width: 1000px;
    margin: 0 auto;
}

#btnReserve_bot {
    display: block;
    position: absolute;
    width: 212px;
    height: 212px;
    padding: 158px 40px 0 40px;
    top: -60px;
    right: 0px;
    background: url(../img/btn_reserve_bot.png) no-repeat;
    text-align: center;
    font-size: 2.2rem;
    line-height: 1;
    color: white;
}

@media (max-width: 999px) {
    #fixedBottom {
        display: none;
    }

    .footerNav {
        display: none;
    }

    .footerElement {
        margin: 0 0 60px 0;
    }

    .footerElement>div {
        display: block;
    }

    .footerSign {
        width: 100%;
        padding: 40px 20px 20px 20px;
        background: url(../img/logo_small.png) no-repeat;
        background-position: center top;
        background-size: 50px 33px;
        text-align: center;
    }

    .footerSignTitleEn {
        font-size: 1.4rem;
    }

    .footerSignTitle {
        font-size: 1.6rem;
        line-height: 1.5;
    }

    .copyright {
        text-align: center;
        font-size: 1.3rem;
    }

    .copyright a {
        font-size: 1.6rem;
        line-height: 2.5;
    }

    .copyright p {
        font-size: 1.3rem;
    }
}


/* =============================================================

    Main Frame

============================================================= */

.mainframe {
    width: 675px;
}

.mainframe>section {
    border-bottom: 1px solid #1ab293;
    margin-bottom: 40px;
    padding: 0 0 30px 0;
}

.mainframe>section:last-child {
    border-bottom: 0;
}

.mainframe h2 {
    border-left: 6px solid #1ab293;
    font-size: 2.0rem;
    line-height: 1;
    padding: 0 0 0 10px;
    margin-bottom: 25px;
}

.mainframe h3 {
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1;
    padding: 10px 0;
    margin-bottom: 10px;
    border-bottom: 1px dotted #1ab293;
}

*+h3 {
    margin-top: 20px;
}

.mainframe h4 {
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1;
    margin-bottom: 5px;
}

.mainframe dt {
    font-size: 1.8rem;
    padding: 7px 0;
    background: #1ab293;
    color: white;
    text-align: center;
}

.mainframe dd {
    padding: 20px;
}

.mainframe ol li {
    margin-bottom: 20px;
}

@media (max-width: 999px) {
    .mainframe {
        width: 100%;
        padding: 20px 10px;
    }

    .mainframe h2 {
        font-size: 1.6rem;
    }

    .mainframe h3 {
        font-size: 1.5rem;
    }

    .mainframe h4 {
        font-size: 1.5rem;
    }

    .mainframe dt {
        font-size: 1.5rem;
        padding: 3px 0;
    }

    .mainframe dd {
        padding: 20px 0;
    }

    .mainframe iframe {
        width: 100% !important;
    }
}


/* =============================================================

    Side Frame

============================================================= */

.sideframe {
    width: 250px;
}

.sideframe>section {
    margin-bottom: 40px;
}

.sideframe h2 {
    font-size: 1.8rem;
    font-weight: normal;
    text-align: center;
    line-height: 1;
    border-top: 3px solid #1ab293;
    border-bottom: 1px solid #dddddd;
    padding: 10px 0;
    margin-bottom: 25px;
}

.sideframe h3 {
    font-size: 1.6rem;
    font-weight: normal;
    border-bottom: 1px dotted #1ab293;
    margin-bottom: 10px;
}

.timetable {
    width: 100%;
}

.timetable th {
    background: #e3ffe1;
}

.timetable th,
.timetable td {
    border: 1px solid #555;
}

.timetable td {
    font-size: 1.6rem;
    text-align: center;
}

.timetable td.caption {
    font-size: 1.2rem;
    font-weight: bold;
}

.timetable td.maru {
    color: #1ab293;
}

.time {
    font-size: 1.8rem;
}

.telNo {
    font-size: 3.0rem;
    text-align: center;
}

.telNo i {
    color: #1ab293;
    margin: 0 5px 0 0;
}

.email {
    font-size: 1.8rem;
    text-align: center;
}

.email i {
    color: #1ab293;
}

.line {
    margin: 10px 0 0 0;
    font-size: 1.7rem;
    text-align: center;
}

.line img {
    vertical-align: top;
}

.line i {
    color: #1ab293;
}

.sideframe .access {
    margin: 10px 0 0 0;
}

.sideframe .access dt {
    font-weight: bold;
}

.sideframe .access dd {
    margin-bottom: 5px;
}

@media (max-width: 999px) {
    .sideframe {
        width: 100%;
        padding: 0 20px;
    }

    .sideframe iframe {
        width: 100% !important;
    }

    .sideframe h2 {
        font-size: 1.6rem;
    }

    .sideframe h3 {
        font-size: 1.3rem;
    }

    .sideframe h4 {
        font-size: 1.2rem;
    }

    .sideframe dt {
        font-size: 1.4rem;
        padding: 3px 0;
    }
}


/* =============================================================

    Slide Frame

============================================================= */

article.slideframe {
    display: block;
    padding: 30px 0 20px 0;
}

article.attention {
    padding: 20px;
}

@media (max-width: 999px) {

    article.slideframe,
    article.firstframe {
        padding: 0;
        margin: 60px 0 0 0;
    }

    article.slideframe>.elementDiv>img {
        width: 100%;
        height: auto;
    }

    article.attention {
        margin: 0;
        padding: 10px 20px 0px 20px;
    }
}


/* =============================================================

    classes

============================================================= */

.newsTitle {
    font-weight: bold;
}

.passed {
    display: none;
}

.medicList li {
    margin-bottom: 7px;
}

.interview {
    border: 2px solid #1ab293;
    border-radius: 10px;
    padding: 15px 20px;
    margin: 20px 0 0 0;
    text-align: center;
}

.newsHeadline>li {
    border-bottom: 1px dotted #aaaaaa;
    padding: 10px 0;
}

.attentions {
    padding: 10px;
}

/*
.attentions h2,
.attentions p {
    color: red;
    font-size: 22px;
}
*/

.attentions p {
    font-weight: 500;
}

.attentions ol {
    padding-left: 10px;
    margin-bottom: 15px;
}

.attentions ol li,
.nodecoretion ol li {
    border-bottom: none;
    padding: 0;
    margin: 0;
}

.signeture {
    text-align: right;
    margin: 10px 0 0 0;
}

.treatmentsList {
    display: flex;
    justify-content: space-between;
    margin: 0 0 20px 0;
}

.treatmentsList li {
    text-align: center;
}

.hearing {
    padding: 10px 10px 10px 240px;
    margin: 20px 0;
    min-height: 240px;
}

.sas {
    list-style: none;
    margin: 0;
    padding: 0 20px;
}

.sas img {
    vertical-align: top;
    display: block;
    margin: 0 auto;
}

.sas dt {
    font-size: 1.4rem;
    font-weight: bold;
    padding: 7px 0;
    background: #f79800;
    color: white;
    text-align: center;
}

.opeNum {
    width: 100%;
    margin: 5px 0 10px 0;
}

.opeNum+p {
    margin: 0 0 30px 0;
}

.opeNum caption {
    margin: 0 0 7px 0;
}

.opeNum th,
.opeNum td {
    font-size: 1.2rem;
    text-align: center;
    border: 1px solid #333;
    padding: 5px 0;
}

.opeNum th {
    background: #f79800;
    color: white;
    font-weight: bold;
}

.qanda dt {
    font-size: 1.4rem;
    font-weight: bold;
    padding: 5px 10px;
    color: #1ab293;
    text-align: left;
    background: none;
    border-top: 1px dotted #333;
    border-bottom: 1px dotted #333;
}

.qanda dd {
    padding: 10px 20px 20px 20px;
}

.catchphrase {
    font-size: 2.4rem;
    text-align: center;
    margin: 20px 0;
}

.equipments {
    margin: 40px 0 60px 0;
}

.equipments>div {
    padding: 0 0 0 0;
    margin: 0 0 30px 0;
}

.equipments_bot {
    margin: 40px 0 0 0;
}

.equipments h4 {
    margin: 0 0 10px 340px;
    padding: 0 0 10px 0;
    border-bottom: 2px solid #1ab293;
}

.equipments h4::before {
    content: '■';
    color: #1ab293;
    margin: 0 5px 0 0;
}

.equipments img {
    width: 320px;
    height: auto;
}

.mainframe_all {
    width: 900px;
    margin: 0 auto;
}

.mainframe_all .timetable td {
    font-size: 1.8rem;
}

.mainframe_all .timetable td.caption {
    font-size: 1.6rem;
    font-weight: normal;
}

.mainframe_all p {
    font-size: 2.0rem;
}

.procedure {
    margin: 40px 0 20px 0;
}

.procedure h4 {
    margin: 0 0 10px 182px;
    padding: 0 0 10px 0;
    border-bottom: 2px solid #1ab293;
}

p.procedure {
    margin-bottom: 20px;
}

.pollenYear {
    margin-bottom: 30px;
}

.pollenPhoto {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    width: 750px;
    margin: 0 auto;
}

.mainframe_all p.messageForSP {
    display: none;
}

.credit {
    margin-top: 10px;
    font-size: 1.2rem;
    text-align: right;
}

.emphasize {
    font-weight: bold;
}

.pollenRank {
    list-style: none;
    margin-top: 20px;
}

.attention img {
    width: 100%;
    height: auto;
}

.attention h1 {
    color: #d00;
    margin: 10px 0 20px;
}

.attention ol {
    padding: 0 20px;
    margin-bottom: 20px;
}

.banner_half {
    margin-top: 20px;
}

.banner_half h3 {
    border: 0;
    text-decoration: none;
    text-align: center;
}

.banner_half img {
    width: 420px;
    height: auto;
}

.monshin_bannar {
    margin: 20px auto;
    text-align: center;
}

.monshin_bannar img {
    width: 250px;
    height: auto;
    margin: 10px auto;
}

.full_bannar {
    margin: 20px auto;
    text-align: center;
}

.full_bannar img {
    width: 100%;
    height: auto;
    margin: 10px auto;
}

.inful2024 {
    padding: 10px;
}

.inful2024 h4 {
    margin: 10px 0 5px 0;
}

.inful2024 table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 2px;
}

.inful2024 table th,
.inful2024 table td {
    padding: 5px 10px;
    line-height: 1.4;
}

.inful2024 table th {
    background-color: #c2a68d;
    color: #2c2c2c;
    font-weight: normal;
}

.inful2024 table td {
    background-color: #ece3da;
}


@media (max-width: 999px) {
    .treatmentsList {
        flex-wrap: wrap;
    }

    .treatmentsList>* {
        width: 49%;
        margin-bottom: 15px;
    }

    .treatmentsList>* img {
        width: 100%;
        height: auto;
    }

    .hearing {
        padding: 240px 10px 10px 10px;
        margin: 20px 0;
        min-height: 78px;
    }

    .sas {
        padding: 0;
    }

    .sas img {
        width: 100%;
        height: auto;
    }

    .qanda dt {
        font-size: 1.2rem;
        font-weight: normal;
        padding: 5px 5px;
    }

    .qanda dd {
        padding: 10px 10px 20px 10px;
    }

    .catchphrase {
        font-size: 1.6rem;
        line-height: 1.5;
        margin: 20px 0;
    }

    .fullimg {
        width: 100%;
        height: auto;
    }

    .equipments {
        margin: 40px 0 60px 0;
    }

    .equipments>div {
        max-width: 320px;
        margin: 0 auto 80px auto;
    }

    .equipments img {
        width: 100%;
        max-width: 320px;
        height: auto;
    }

    .procedure img {
        width: 100%;
        max-width: 162px;
        height: auto;
    }

    .equipments h4 {
        margin: 0 0 10px 0;
    }

    .mainframe_all {
        width: 100%;
        padding: 20px 10px;
    }

    .mainframe_all .timetable td {
        font-size: 1.6rem;
    }

    .mainframe_all .timetable td.caption {
        font-size: 1.2rem;
        font-weight: bold;
    }

    .mainframe_all p {
        font-size: 1.8rem;
    }

    .pollenPhoto {
        width: 100%;
    }

    .imgFrame {
        width: 100%;
        height: 507px;
        overflow-x: scroll;
    }

    .mainframe_all p.messageForSP {
        display: block;
        font-size: 1.4rem;
    }

    .banner_half img {
        width: 100%;
        height: auto;
    }
}


/* =============================================================

    id

============================================================= */

#hearing01 {
    background: url(../img/hearing/ha01.jpg) no-repeat;
}

#hearing02 {
    background: url(../img/hearing/ha02.jpg) no-repeat;
}

#hearing03 {
    background: url(../img/hearing/ha03.jpg) no-repeat;
}

#hearing04 {
    background: url(../img/hearing/ha04.jpg) no-repeat;
}

#hearing05 {
    background: url(../img/hearing/ha05.jpg) no-repeat;
}

@media (max-width: 999px) {

    #hearing01,
    #hearing02,
    #hearing03,
    #hearing04,
    #hearing05 {
        background-position: center top;
    }
}


/* =============================================================

    Override

============================================================= */

.bx-wrapper {
    margin-bottom: 0;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    border: none;
    background-color: transparent;
}

/* =============================================================

    2025 インフルエンザ

============================================================= */

.inful25 .title {
    font-weight: bold;
    font-size: 1.2em;
}
.inful25 table {
    margin: 20px 0;

    border-collapse: separate;
    border-spacing: 3px;
}
.inful25 table tr > * {
    padding: 10px;
}
.inful25 table tr > th {
    background:#e8c6a8;
}
.inful25 table tr > td {
    background:#fff2e7;
}