@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');
* {
    margin: 0;
    padding: 0;
    line-height: 1.8;
    box-sizing: border-box;
}
html {
    font-size: 100%;
}
body {
    display: flex;
    flex-direction: column;
    min-height: 100dvh;
    font-family: "Noto Serif JP", serif;
    font-weight: 600;
    color: #333;
    background-color: #fcfdff;
}
a {
    color: #333;
    text-decoration: none;
    transition: 0.3s;
}
a:hover {
    opacity: 0.7;
}
img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}
p {
    margin: 10px 0;
}
.text_link {
    text-decoration: underline;
    text-underline-offset: 5px;
    margin: 0 3px;
}
.text_link i {
    margin-left: 5px;
}
@media screen and (min-width: 520px) {
    a[href*="tel:"] {
        pointer-events: none;
        cursor: default;
        text-decoration: none;
    }
}
header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 90px;
    padding: 10px;
    z-index: 10;
    background-color: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}
.head_wrapper {
    max-width: 960px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
}
@media screen and (max-width: 960px) {
    header {
        height: 70px;
        justify-content: space-between;
    }
}
.header_logo img {
    width: 200px;
    min-width: 200px;
    vertical-align: -5px;
}
.header_logo a {
    font-size: 20px;
}
.sns_icon {
    width: 30px;
    margin-right: 30px;
}
.telnumber, .faxnumber {
    display: block;
    font-size: 23px;
    font-weight: bold;
    color: #36b48e;
    letter-spacing: 2px;
}
.telnumber::before, .faxnumber::before {
    display: inline-block;
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    font-size: 18px;
    margin-right: 3px;
    vertical-align: 2px;
}
.telnumber::before {
    content: '\f879';
    transform: rotate(20deg);
}
.faxnumber::before {
    content: '\f1ac';
}
.logo_inner {
    display: flex;
    gap: 20px;
    justify-content: space-between;
    align-items: center;
}
@media screen and (min-width: 961px) {
    .logo_inner .telnumber {
        display: none;
    }
}
@media screen and (max-width: 960px) {
    .logo_inner {
        width: 90%;
    }
}
@media screen and (max-width: 767px) {
    .logo_inner {
        width: 87%;
    }
}
@media screen and (max-width: 520px) {
    header {
        height: 100px;
        padding: 0 10px;
    }
    .logo_inner {
        flex-direction: column;
        width: auto;
        gap: 0;
    }
}
.gnav {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}
.gnav div {
    display: flex;
    align-items: center;
}
.snslink2 {
    display: none;
}
.header_menu {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 20px;
}
.header_menu li {
    list-style-type: none;
}
.header_menu li a {
    position: relative;
    font-weight: bold;
}
.header_menu li a:hover {
    opacity: 1;
}
.header_menu li a::after {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    content: '';
    width: 40%;
    height: 2px;
    background: #36b48e;
    border-radius: 3px;
    bottom: -10px; 
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
}
.header_menu li a:hover::after {
    visibility: visible;
    bottom: -5px;
    opacity: 1;
}
@media screen and (max-width: 960px) {
    .gnav {
        position: fixed;
        top: 0;
        bottom: 0;
        right: 0;
        width: 100%;
        height: 100dvh;
        gap: 20px;
        background-color: #fff;
        align-items: center;
        opacity: 0;
        visibility: hidden;
        transform: translateX(100%);
        transition: 0.3s;
        padding: 50px 20px;
        overflow: auto;
        -ms-overflow-style: none;
        scrollbar-width: none;
    }
    .gnav.active {
        opacity: 1;
        visibility: visible;
        transform: translateX(0);
    }
    .gnav div {
        flex-direction: column;
    }
    .snslink1 {
        display: none;
    }
    .snslink2 {
        display: block;
    }   
    .snslink2 .sns_icon {
        margin: 20px 0 0;
        width: 40px;
    } 
    .header_menu {
        width: 100%;
        flex-direction: column;
        gap: 0;
    }
    .header_menu li {
        padding: 20px 0;
        border-top: 1px solid  #ddd;
    }    
    .header_menu li:last-child {
        border-bottom: 1px solid  #ddd;
    }  
    .header_menu li a {
        display: block;
        text-align: center;
    }  
    .header_menu li a:hover {
        color: #36b48e;
    }    
    .header_menu li a::after, .header_menu li a:hover::after {
        display: none;
    }
    .gnav .telnumber {
        display: none;
    }
    .gnav  {
        padding: 80px 20px 50px;
    }
}
.header_menu li a.current::after {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    content: '';
    width: 40%;
    height: 2px;
    background: #36b48e;
    border-radius: 3px;
    bottom: -5px; 
    opacity: 1;
    visibility: visible;
}
@media screen and (max-width: 960px) {
    .header_menu li a.current {
        color: #36b48e;
    }
    .header_menu li a.current::after {
        display: none;
    }
}
.hamburger {
    position: fixed;
    top: 10px;
    right: 10px;
    width: 50px;
    height: 50px;
    background-color: #36b48e;
    border: none;
    cursor: pointer;
    z-index: 20;
}
.line {
    display: block;
    position: absolute;
    left: 10px;
    width: 30px;
    height: 2px;
    background-color: #fff;
    transition: 0.3s;
}
.line::before, .line::after {
    display: block;
    content: '';
    position: absolute;
    right: 0;
    width: 30px;
    height: 2px;
    background-color: #fff;
    transition: 0.3s;
}
.line::before {
    top: -8px;
}
.line::after {
    bottom: -8px;
}
.hamburger.active .line {
    background: transparent;
}
.hamburger.active .line::before {
    top: -6px;
    left: 0;
    transform: translateY(6px) rotate(-45deg);
    width: 100%;
}
.hamburger.active .line::after {
    top: 6px;
    left: 0;
    transform: translateY(-6px) rotate(45deg);
    width: 100%;
}
.ham_logo {
    width: 250px;
    min-width: 250px;
}
@media screen and (min-width: 961px) {
    .hamburger, .ham_logo {
        display: none;
    }    
}   
@media screen and (max-width: 520px) {
    .hamburger {
        top: 25px;
    }
}
#mainvisual {
    position: relative;
}
.topimg img {
    width: 100%;
    height: 90vh !important;
    object-fit: cover;
    margin-top: 90px;
}
.catchprase {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    display: block;
    width: 100%;
    font-size: 45px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    line-height: 1.5;
    text-shadow: 0 0 10px rgba(0, 0, 0, 0.9);
    margin: 0 10px;
}
.promoto {
    position: absolute;
    top: 50%;
    left: 10%;
    transform: translateY(-50%);
    z-index: 2;
    font-weight: bold;
    line-height: 1.5;
}
.promoto_catch {
    font-size: 50px;
    padding: 5px 10px;
}
.small_catch {
    display: block;
    font-size: 25px;
    margin-top: 20px;
    padding: 10px;
}
.promoto_catch, .small_catch {
    background-color: rgba(255, 255, 255, 0.7);
}
@media screen and (max-width: 1280px) {
    .promoto {
        left: 5%;
    }    
}
@media screen and (max-width: 960px) {
    #mainvisual {
        margin-top: 70px;
    }
    .topimg img {
        margin-top: 0;
        height: auto !important;
    }
    .catchprase {
        font-size: 35px;
    }
    .promoto_catch {
        font-size: 40px;
    }    
    .small_catch {
        font-size: 20px;
    }   
    .promoto {
        left: 3%;
    }     
}
@media screen and (max-width: 767px) {
    .topimg img {
        height: 100vw;
    }    
    .catchprase {
        font-size: 25px;
    }
    .promoto_catch {
        font-size: 30px;
    }    
    .small_catch {
        font-size: 15px;
    }    
}
@media screen and (max-width: 600px) {
    .small_catch {
        width: 95%;
    }    
}
@media screen and (max-width: 520px) {
    #mainvisual {
        margin-top: 100px;
    }
}
@media screen and (max-width: 480px) {
    .catchprase {
        font-size: 20px;
    }
    .promoto_catch {
        font-size: 25px;
    }    
    .small_catch {
        font-size: 13px;
    }    
}
@media screen and (max-width: 390px) {
    .catchprase {
        font-size: 18px;
    }
    .promoto_catch {
        font-size: 20px;
    }    
    .small_catch {
        font-size: 12px;
    }    
}
@media screen and (max-width: 350px) {
    .promoto_catch {
        font-size: 18px;
    }    
}
main {
    margin: 50px 0 80px;
}
#top main, #test-home main {
    margin: 0;
}
.container {
    max-width: 960px;
    margin: 0 auto;
    padding: 0 20px;
}
@media screen and (max-width: 960px) {
    main, .container {
        width: 100%;
    }
}
section {
    padding: 70px 0;
}
section:nth-of-type(even) {
    background-color: #eff9f7;
}
#news section {
    padding: 0;
}
.fade-in {
    opacity: 0;
    visibility: hidden;
    transition: all 2s;
    transform: translateY(50px);
}
.is-active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
.headline {
    font-size: 27px;
    color: #36b48e;
    text-align: center;
    letter-spacing: 5px;
    margin-bottom: 30px;
}
.small_head {
    display: block;
    font-size: 14px;
    color: #949494;
    letter-spacing: 1px;
}
.subhead {
    font-size: 22px;
    letter-spacing: 3px;
    padding-left: 10px;
    margin-bottom: 20px;
    border-bottom: 2px solid #bfe6dd;
}
.subhead::first-letter {
    font-size: 25px;
    color: #36b48e;
}
.index {
    position: relative;
    font-size: 19px;
    padding-left: 15px;
    margin: 10px 0;
}
.index::before, .index::after {
    display: inline-block;
    content: '';
    position: absolute;
    top: 7px;
    left: 0;
    width: 4px;
}
.index::before {
    height: 22px;
    background-color: #bfe6dd;
}
.index::after {
    height: 11px;
    background-color: #36b48e;
}
#page_title {
    position: relative;
    width: 100%;
    height: 250px;
    margin-top: 90px;
    background: url(images/headimg.webp) center / cover no-repeat;
}
.white {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    color: #fff;
    text-shadow: 0 0 10px rgba(0, 0, 0, 0.7);
    z-index: 1;
}
.white .small_head {
    color: #fff;
}
.bg_green {
    width: 100%;
    background: #36b48e;
    border-radius: 8px;
    color: #fff;
    font-size: 20px;
    font-family: "Noto Serif JP", serif;
    font-weight: bold;
    letter-spacing: 3px;
    margin-bottom: 20px;
    padding: 15px 10px 15px 20px;
}
@media screen and (max-width: 960px) {
    #page_title {
        height: 200px;
        margin-top: 70px;
    }    
}
@media screen and (max-width: 520px) {
    #page_title {
        margin-top: 100px;
    }
}
@media screen and (max-width: 480px) {
    .headline {
        font-size: 23px;
        letter-spacing: 3px;
    }    
    .subhead {
        font-size: 18px;
        letter-spacing: 2px;
    }   
    .subhead::first-letter {
        font-size: 20px;
    } 
    .index {
        font-size: 17px;
    }    
    .index::before, .index::after {
        top: 6px;
    }
    .index::before {
        height: 20px;
    }
    .index::after {
        height: 10px;
    }    
    .bg_green {
        font-size: 18px;
        letter-spacing: 2px;
        padding: 10px 10px 10px 20px;
    }
}
.more_btn {
    position: relative;
    z-index: 2;
    display: block;
    width: 180px;
    text-align: center;
    color: #fff;
    font-size: 16px;
    letter-spacing: 2px;
    background-color: #36b48e;
    border: 1px solid #36b48e;
    padding: 5px 20px 5px 10px;
    margin: 20px 0 0 auto;
    border-radius: 20px;
    transition: 0.3s;
}
.more_btn:hover {
    opacity: 1;
    background-color: #fff;
    color: #36b48e;
}
.more_btn::before, .more_btn::after {
    position: absolute;
    display: inline-block;
    content: '';
    height: 1px;
    background-color: #fff;
    border-radius: 2px;
    transition: 0.3s;
}
.more_btn::before {
    top: 19px;
    right: 30px;
    width: 12px;
}
.more_btn::after {
    top: 17.5px;
    right: 29px;
    width: 5px;
    transform: rotate(45deg);
}
.more_btn:hover::before, .more_btn:hover::after {
    background-color: #36b48e;
}
.more_btn:hover::before {
    transform: translateX(5px);
}
.more_btn:hover::after {
    transform: translateX(5px) rotate(45deg);
}
.btn_flex {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
    margin-top: 50px;
}
.btn_flex .more_btn {
    margin: 0;
}
@media screen and (max-width: 480px) {
    .btn_flex {
        flex-direction: column;
        align-items: center;
    }
    .more_btn {
        margin: 20px auto 0;
    }
}
#breadcrumb {
    margin-top: 50px;
    font-size: 14px;
}
#breadcrumb a {
    text-decoration: underline;
    text-underline-offset: 5px;
}
#breadcrumb ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
#breadcrumb ul li {
    position: relative;
    padding-right: 20px;
    list-style-type: none;
}
#breadcrumb ul li:not(:last-child):after {
    position: absolute;
    top: 2px;
    right: 0;
    display: inline-block;
    content: '\f105';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
}

.page_link {
    display: flex;
    gap: 30px;
    justify-content: center;
    flex-wrap: wrap;
}
#private .page_link {
    margin-top: 50px;
}
.page_link li {
    list-style-type: none;
}
.page_link li a{
    position: relative;
    display: block;
    padding: 0 10px 2px 30px;
    border-bottom: 1px solid #333;
}
.page_link li a::before{
    position: absolute;
    top: 8px;
    left: 10px;
    display: inline-block;
    content: '';
    width: 7px;
    height: 7px;
    border-top: 2px solid #36b48e;
    border-right: 2px solid #36b48e;
    transform: rotate(135deg);
}
@media screen and (max-width: 480px) {
    .page_link {
        flex-direction: column;
    }
}
.flex {
    display: flex;
    gap: 50px;
}
.flex .section_area {
    width: 50%;
}
#intro .flex div {
    width: 70%;
    margin: 0;
}
#intro .flex img {
    width: 30%;
}
#contact .flex {
    justify-content: center;
}
@media screen and (max-width: 767px) {
    .flex {
        flex-direction: column;
    }
    .flex .section_area, #intro .flex div {
        width: 100%;
    }
    #intro .flex img {
        width: 70%;
        margin: 0 auto;
    }
    #contact .flex {
        gap: 0;
    }
}
@media screen and (max-width: 480px) {
    #intro .flex img {
        width: 100%;
    }
}
.section_dl {
    padding: 0 5px;
}
.section_dl div {
    display: flex;
    padding: 0 5px;
}
.section_dl div:first-of-type dd {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.section_dl div dt {
    width: 150px;
    font-weight: bold;
    color: #36b48e;
}
.section_dl div dd {
    width: 80%;
}
.section_dl div dd img {
    display: block;
    width: 50%;
}
.section_dl div:not(:last-of-type) {
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #ddd;
}
.dl_flex {
    display: flex;
    gap: 15px;
}
.section_ul li {
    position: relative;
    padding-left: 25px;
    list-style-type: none;
}
.section_ul li::before {
    position: absolute;
    top: 10px;
    left: 5px;
    display: inline-block;
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #36b48e;
}
.section_ul li:not(:last-of-type) {
    margin-bottom: 10px;
}
.section_ol li {
    list-style-type: decimal;
    margin-left: 20px;
    padding-left: 5px;
}
.section_ol li:not(:last-of-type) {
    margin-bottom: 15px;
}
.section_ol li ol li:not(:last-of-type) {
    margin-bottom: 5px;
}
.section_ol li::marker {
    color: #36b48e;
    font-weight: bold;
}
.large_text {
    position: relative;
    display: block;
    font-size: 23px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 20px;
}
.subindex {
    position: relative;
    display: block;
    font-size: 20px;
    font-weight: bold;
    margin: 40px 0 20px;
    padding-left: 10px;
    letter-spacing: 1px;
}
.archive .subindex {
    margin-top: 0;
}
.subindex::before {
    display: inline-block;
    content: '';
    position: absolute;
    top: 3px;
    left: 0;
    width: 30px;
    height: 30px;
    background-color: #bfe6dd;
    border-radius: 50%;
    z-index: -1;
}
.gallery {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 40px 20px;
}
.gallery > li {
    width: 47.5%;
    list-style-type: none;
}
#medical .gallery li img {
    aspect-ratio: 2 / 1;
    object-fit: cover;
}
#facility .gallery li img{
    width: 100%;
    object-fit: cover;
    aspect-ratio: 1.3 / 1;
}
#facility .gallery {
    justify-content: flex-start;
}
#facility .gallery > li {
    width: 31.4%;
}
@media screen and (max-width: 767px) {  
    .section_dl div dd img {
        width: 80%;
        margin: 0 auto;
    }
    .dl_flex {
        flex-direction: column;
        gap: 10px;
    }
    #facility .gallery > li {
        width: 47.5%;
    }    
}
@media screen and (min-width: 481px) { 
    .br {
        display: none;
    } 
}
@media screen and (max-width: 480px) {  
    .section_dl div {
        flex-direction: column;
    }
    .section_dl div dt, .section_dl div dd {
        width: 100%;
    }  
    .section_dl div dd img {
        width: 100%;
    }
    .large_text {
        font-size: 20px;
    }    
    .gallery {
        flex-direction: column;
    }    
    .gallery > li, #facility .gallery > li {
        width: 100%;
    }   
    #facility .gallery, #test-facility .gallery {
        flex-direction: row;
        justify-content: center;
        gap: 0;
    }    
    #facility .gallery li a {
        display: block;
        text-align: center;
    }
}
@media screen and (max-width: 341px) { 
    .nowrap {
        display: none;
    } 
}
#first p {
    margin-bottom: 50px;
}
.consultation_table {
    overflow: auto;
}
.consultation_table table {
    width: 100%;
    margin: 0 auto;
    border-spacing: 0;
    text-align: center;
}
.consultation_table table th {
    border-top: 1px solid #bfe6dd;
    background-color: #bfe6dd;
}
.consultation_table table td {
    background-color: #fff;
}
.td_color {
    color: #36b48e;
}
.line-height {
    line-height: 1.5;
}
.consultation_table table th, .consultation_table table td {
    border-right: 1px solid #bfe6dd;
    border-bottom: 1px solid #bfe6dd;
    padding: 10px;
    white-space: nowrap;
}
.consultation_table table th:first-of-type,
.consultation_table table td:first-of-type {
    position: sticky;
    top: 0;
    left: 0;
    z-index: 1;
    border-left: 1px solid #bfe6dd;
}
.consultation_table table th:first-of-type {
    border-top-left-radius: 5px;
}
.consultation_table table th:last-of-type {
    border-top-right-radius: 5px;
}
.consultation_table table tr:last-of-type td:first-of-type {
    border-bottom-left-radius: 5px;
}
.consultation_table table tr:last-of-type td:last-of-type {
    border-bottom-right-radius: 5px;
}
.consultation_dl {
    display: flex;
    gap: 40px;
    margin-top: 15px;
}
.consultation_dl div {
    display: flex;
    align-items: center;
    gap: 20px;
}
.consultation_dl div dt {
    background-color: #b93c3c;
    color: #fff;
    padding: 2px 7px;
    border-radius: 5px;
}
.uketsuke {
    font-weight: bold;
    font-size: 18px;
    margin-top: 20px;
    letter-spacing: 1px;
}
.scroll-hint-icon-wrap {
    z-index: 2; 
}
@media screen and (max-width: 767px) {
    .consultation_dl {
        flex-direction: column;
        gap: 5px;
    }    
}
@media screen and (min-width: 481px) {
    .consultation_table p:first-of-type {
        display: none;
    }
}
@media screen and (max-width: 480px) {
    .consultation_table table {
        width: 400px;
    }
    .consultation_table table th, .consultation_table table td {
        padding: 5px;
    }    
    .consultation_dl {
        width: 100%;
    }    
}
.info_list {
    flex-grow: 1;
}
.info_list > li {
    padding: 15px;
    list-style-type: none;
}
.info_list > li:not(:last-child) {
    border-bottom: 1px solid #ddd;
}
.info_list li a {
    display: flex;
    gap: 30px;
    align-items: center;
    font-size: 18px;
}
.info_list li a time {
    font-size: initial;
}
.info_list li a div {
    display: flex;
    align-items: center;
    gap: 20px;
}
.tag_list {
    display: flex;
    gap: 10px;
    list-style-type: none;
}
.tag_list:not(:last-of-type) {
    margin-bottom: 30px;
}
.info_tag, .info_cat {
    display: inline-block;
    padding: 2px 7px;
    font-size: 14px;
    border-radius: 5px;
}
.info_tag {
    background-color: #36b48e;
    color: #fff;
}
.info_cat {
    color: #36b48e;
    border: 1px solid #36b48e;
    background-color: #fff;
}
@media screen and (max-width: 767px) {
    .info_list li a {
        flex-direction: column;
        gap: 5px;
        align-items: flex-start;
    }
}
.two_column {
    display: flex;
    gap: 70px 30px;
    flex-direction: column;
}
.article_title {
    font-size: 20px;
    padding: 5px 10px 10px;
    margin-bottom: 30px;
    border-bottom: 1px solid #ddd;
}
.article_head {
    display: flex;
    gap: 20px;
    align-items: center;
}
.article_date {
    padding-left: 10px;
}
.article_text {
    margin-bottom: 50px;
}
.article_text > ul, .article_text > ol {
    margin-bottom: 20px;
}
.article_text > ul li, .article_text > ol li {
    margin-left: 25px;
}
.article_text > ul li:not(:last-of-type),
.article_text > ol li:not(:last-of-type) {
    margin-bottom: 10px;
}
.article_text p .aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.article_text p .alignright {
    display: block;
    margin-left: auto;
}
.article_pagenation {
    display: flex;
    justify-content: center;
    gap: 15px 30px;
    margin-top: 50px;
}
@media screen and (max-width: 480px) {
    .article_pagenation {
        flex-direction: column;
    }
}
.nav-links .page-numbers {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 50px;
}
.nav-links .page-numbers {
    list-style-type: none;
}
.nav-links a.page-numbers,
.nav-links .current,
.nav-links a.prev,
.nav-links a.next {
    position: relative;
    display: block;
    content: '';
    width: 35px;
    height: 35px;
    border-radius: 50%;
    background-color: #36b48e;
    border: 1px solid #36b48e;
    color: #fff;
    text-align: center;
    line-height: 35px;
    margin-top: 0;
}
.nav-links a.page-numbers:hover {
    opacity: 1;
    background-color: #fff;
    color: #36b48e;
}
.nav-links .current {
    background-color: #ced0cf;
    border-color: #ced0cf;
    color: #333;
}
.nav-links a.prev {
    margin-right: 5px;
}
.nav-links a.next {
    margin-left: 5px;
}
.nav-links .dots {
    margin-top: 0;
}
.prev_arrow, .next_arrow {
    position: absolute;
    top: 12px;
    display: block;
    content: '';
    width: 10px;
    height: 10px;
}
.prev_arrow {
    left: 14px;
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
    transform: rotate(-45deg);
}
.next_arrow {
    right: 14px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
}
.nav-links a.page-numbers:hover .prev_arrow,
.nav-links a.page-numbers:hover .next_arrow {
    border-color: #36b48e;
}
.nav-prev-link, .nav-next-link {
    position: relative;
    width: 50%;
    display: flex;
    gap: 10px;
}
.nav-prev-link:hover, .nav-next-link:hover {
    opacity: 1;
}
.nav-prev-link {
    text-align: right;
}
.nav-next-link {
    flex-direction: row-reverse;
}
.nav-prev-title, .nav-next-title {
    width: 90%;
    font-size: 15px;
    margin: 0;
}
.nav-prev-arrow, .nav-next-arrow {
    position: absolute;
    top: 10.3px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #36b48e;
}
.nav-prev-arrow {
    right: 10px;
    border-right: 2px solid #36b48e;
    transform: rotate(45deg);
    transition: 0.3s;
}
.nav-prev-link:hover .nav-prev-arrow {
    transform: rotate(45deg) translate(3px, -3px);
}
.nav-next-arrow {
    left: 10px;
    border-left: 2px solid #36b48e;
    transform: rotate(-45deg);
    transition: 0.3s;
}
.nav-next-link:hover .nav-next-arrow {
    transform: rotate(-45deg) translate(-3px, -3px);
}
@media screen and (max-width: 480px) {
    .nav-prev-link, .nav-next-link {
        width: 100%;
    }    
}
.blog_list:not(:last-of-type) {
    margin-bottom: 30px;
}
.blog_list li {
    padding: 10px;
    list-style-type: none;
}
.blog_list li:first-of-type {
    padding-top: 0;
}
.blog_list li:not(:last-child) {
    border-bottom: 1px dotted #ddd;
}
.blog_list li a {
    display: flex;
    gap: 30px;
    color: #333;
}
.blog_list li a div {
    display: flex;
    align-items: center;
    gap: 20px;
}
.blog_list #archive_list {
    width: 100%;
    height: 40px;
    padding: 5px;
    background-color: #fff;
    font-size: 16px;
    border: 1px solid #36b48e;
    border-radius: 5px;
    color: #333;
}
@media screen and (max-width: 767px) {
    .blog_list li a {
        flex-direction: column;
        gap: 5px;
    }
}
#medical section{
    padding: 0;
}
#medical section:nth-of-type(even) {
    background-color: #fff;
}
#medical section:not(:last-of-type){
    padding-bottom: 70px;
}
.check_list {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 50px;
    margin: 20px 0 40px;
    padding: 20px;
    background-color: #eff9f7;
    border-radius: 10px;
}
.check_list li {
    position: relative;
    width: 45%;
    padding-left: 30px;
    list-style-type: none;
}
.check_list li::before {
    position: absolute;
    top: 0;
    left: 0;
    display: inline-block;
    content: '\f00c';
    font-family: 'Font Awesome 5 Free';
    color: #36b48e;
}
.check_dl {
    margin-bottom: 40px;
}
.check_dl:first-of-type {
    margin-top: 20px;
}
.check_dl div {
    display: flex;    
}
.check_dl div:not(:last-of-type) {
    border-bottom: 1px solid #ddd;
}
.check_dl div:first-of-type {
    border-bottom: 0;
}
.check_dl div:first-of-type {
    border-radius: 5px;
    background-color: #bfe6dd;
    text-align: center;
    font-weight: bold;
    font-size: 18px;
    margin-bottom: 15px;
}
.check_dl div dt, .check_dl div dd {
    padding: 10px;
}
.check_dl div dt {
    width: 35%;
    display: flex;
    align-items: center;
}
.check_dl div:not(:first-of-type) dt {
    font-weight: bold;
    color: #36b48e;
}
.check_dl div dd {
    width: 65%;
}
.dl_bg {
    background-color: #eff9f7;
}
.square {
    display: inline-block;
    width: 50px;
    height: 15px;
    background-color: #eff9f7;
    margin: 0 5px;
    vertical-align: -2px;
}
@media screen and (max-width: 623px) {
    .check_list {
        flex-direction: column;
    }
    .check_list li {
        width: 100%;
    }
}
@media screen and (max-width: 480px) {
    .check_dl div {
        flex-direction: column;
    }
    .check_dl div:first-of-type {
        flex-direction: row;
        align-items: center;
        text-align: left;
        font-size: 17px;
    }
    .check_dl div dt, .check_dl div dd {
        width: 100%;
    }
    .check_dl div:first-of-type dt, .check_dl div:first-of-type dd {
        width: 50%;
    }
    .check_dl div:not(:first-of-type) dt, .check_dl:last-of-type div:last-of-type dd {
        padding-bottom: 0;
    }
    .check_dl div:not(:first-of-type) dd {
        padding-top: 5px;
    }
}
.section_area {
    margin-bottom: 50px;
}
.accordion-content {
    display: none;
}
.accordion-header {
    position: relative;
    width: 100%;
    border: none;
    cursor: pointer;
    outline: none;
    appearance: none;
    background: #36b48e;
    border-radius: 8px;
    color: #fff;
    font-size: 20px;
    font-family: "Noto Serif JP", serif;
    font-weight: bold;
    text-align: left;
    letter-spacing: 3px;
    margin-bottom: 20px;
    padding: 15px 10px 15px 50px;
}
.accordion-arrow {
    position: absolute;
    top: 27px;
    left: 22px;
    display: inline-block;
    content: '';
    width: 10px;
    height: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    margin-right: 10px;
    vertical-align: -4px;
    transition: 0.4s;
    transform: rotate(135deg);
}
.accordion-header:first-of-type .accordion-arrow.open {
    transform: rotate(135deg); 
}
.accordion-header:first-of-type .accordion-arrow, .accordion-arrow.open {
    transform: rotate(315deg); 
}
@media screen and (min-width: 481px) {
    .accordion-header:first-of-type + .accordion-content {
        display: block;
    }
}
@media screen and (max-width: 480px) {
    .accordion-header {
        font-size: 18px;
        letter-spacing: 2px;
        padding: 10px 10px 10px 50px;
    }
    .accordion-arrow {
        top: 20px;
    }   
    .accordion-header:first-of-type .accordion-arrow {
        transform: rotate(135deg);
    }
    .accordion-header:first-of-type .accordion-arrow.open {
        transform: rotate(315deg);
    }
}
#health_check .container .telnumber {
    display: inline-block;
    margin-left: 10px;
}
.about_link {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px 30px;
    margin-top: 50px;
}
.about_link li {
    width: 180px;
    list-style-type: none;
}
.about_link li a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 15px;
    font-size: 18px;
    color: #fff;
    letter-spacing: 2px;
    background-color: #36b48e;
    border-radius: 50%;
    aspect-ratio: 1 / 1;
}
.about_link li a i {
    font-size: 50px;
    margin-bottom: 10px;
}
.about_flex {
    display: flex;
    align-items: flex-start;
    gap: 30px;
}
.about_flex img {
    width: 350px;
    object-fit: cover;
    margin-top: 20px;
}
@media screen and (max-width: 767px) {
    .about_flex {
        flex-direction: column-reverse;
        align-items: center;
        gap: 15px;
    }
    .about_flex img {
        width: auto;
        margin-top: 0;
    }    
}
@media screen and (max-width: 480px) {
    .about_link {
        flex-direction: column;
        align-items: center;
    }
}
.sns_btn {
    background-color: #36b48e;
    border: 1px solid #36b48e;
    color: #fff;
    text-align: center;
    font-size: 22px;
    padding: 10px 20px;
    display: block;
    width: 250px;
    border-radius: 10px;
    margin: 30px auto 0;
    letter-spacing: 2px;
}
.sns_btn::before {
    display: inline-block;
    content: '';
    margin-right: 15px;
    background: url(images/instagram-white.svg);
    width: 40px;
    height: 40px;
    vertical-align: -11px;
}
.sns_btn:hover {
    opacity: 1;
    background-color: #fff;
    color: #36b48e;
}
.sns_btn:hover::before {
    background: url(images/instagram.svg);
}
@media screen and (min-width: 481px) {
    .br {
        display: none;
    }
}
.contact_btn {
    background-color: #36b48e;
    border: 1px solid #36b48e;
    color: #fff;
    text-align: center;
    font-size: 22px;
    padding: 10px 20px;
    display: block;
    width: 250px;
    border-radius: 10px;
}
.contact_btn::before {
    display: inline-block;
    content: '\f0e0';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    margin-right: 10px;
}
.contact_btn:hover {
    opacity: 1;
    background-color: #fff;
    color: #36b48e;
}
.contact_tel {
    font-size: 30px;
    text-align: center;
}
.contact_tel::before {
    font-size: 23px;
    margin-right: 7px;
}
.contact_area {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 50px;
    margin-top: 30px;
}
@media screen and (max-width: 767px) {  
    .contact_btn {
        margin: 0 auto;
    }   
    .contact_area {
        flex-direction: column;
        gap: 30px;
    }
}
.contact_form {
    width: 100%;
    margin: 20px 0;
}
.contact_form caption {
    text-align: left;
    margin-bottom: 20px;
}
.contact_form tr {
    display: flex;
    align-items: center;
}
.contact_form th {
    width: 30%;
    font-weight: bold;
}
.contact_form td {
    width: 70%;
}
.contact_form th, .contact_form td {
    padding-bottom: 20px;
}
.contact_form th p, .contact_form td p {
    margin: 0;
}
.contact_form input[type="text"],
.contact_form input[type="email"] {
    width: 60%;
    font-size: 15px;
    padding: 5px;
    border: 1px solid #ccc;
    border-radius: 3px;
}
.contact_form textarea {
    display: block;
    width: 100%;
    height: 200px;
    font-size: 15px;
    padding: 5px;
    border: 1px solid #ccc;
    border-radius: 3px;
    font-family: "Noto Sans JP", sans-serif;
}
.contact_form input[type="text"]:focus,
.contact_form input[type="email"]:focus,
.contact_form textarea:focus {
    outline: 2px solid #36b48e;
}
.required {
    display: inline-block;
    color: red;
    padding: 0 5px;
    font-weight: bold;
}
.form_btn {
    width: 200px;
    margin: 0 auto;
}
.form_btn input {
    width: 100%;
    border-radius: 10px;
    background-color: #36b48e;
    border: 1px solid #36b48e;
    color: #fff;
    padding: 10px 15px;
    text-align: center;
    font-size: 18px;
    font-family: "Noto Serif JP", serif;
    cursor: pointer;
    transition: 0.3s;
}
.form_btn input:hover {
    background-color: #fff;
    color: #36b48e;
}
.privacy_confirm {
    text-align: center;
    margin: 0 auto 50px;
}
.privacy_confirm p {
    margin: 0;
}
.privacy_check {
    width: 13px;
    height: 13px;
    margin-right: 8px;
}
.wpcf7 form.sent .wpcf7-response-output {
    display: none;
}
@media screen and (max-width: 480px) {  
    .contact_form tr {
        flex-direction: column;
    }   
    .contact_form th {
        text-align: center;
    }
    .contact_form th, .contact_form td, 
    .contact_form input[type="text"],
    .contact_form input[type="email"] {
        width: 100%;
    }
}
.name {
    margin-top: 30px;
    text-align: right;
}
.int_link {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    margin-top: 30px;
}
.int_link p{
    font-size: 22px;
}
.int_link .more_btn {
    width: 400px;
    margin: 0;
}
@media screen and (max-width: 480px) {  
    .int_link .more_btn {
        width: 100%;
    }    
}
.clinic_img {
    text-align: center;
}
#access iframe {
    width: 100%;
    height: 600px;
    margin: 0 auto;
}
@media screen and (max-width: 480px) {  
    #access iframe {
        height: 500px;
    }     
}
#private section{
    padding: 0;
}
#private section:nth-of-type(even) {
    background-color: #fff;
}
#private section:not(:last-of-type){
    padding-bottom: 70px;
}
#private .section_dl, #test-private .section_dl {
    margin-top: 40px;
    padding: 20px 10px;
    background-color: #eff9f7;
    border-radius: 10px;
}
#private .section_dl div, #test-private .section_dl div {
    gap: 5px 20px;
}
#private .section_dl div dt, #test-private .section_dl div dt {
    width: 200px;
}
.private_img {
    display: flex;
    gap: 30px;
    justify-content: center;
    list-style-type: none;
    margin-top: 40px;
}
.private_img li {
    width: 30%;
}
.fee_wrapper {
    overflow: auto;
}
.fee {
    width: 100%;
    border: 1px solid #bfe6dd;
    border-spacing: 0;
    border-radius: 5px;
}
.fee th, .fee td {
    width: 30%;
    padding: 10px;
    border-bottom: 1px solid #bfe6dd;
}
.fee tr:last-of-type th, .fee tr:last-of-type td {
    border-bottom: 0;
}
.fee tbody th {
    text-align: left;
}
.fee td {
    border-left: 1px solid #bfe6dd;
}
.fee td:last-child {
    width: 20%;
    text-align: right;
}
.fee thead th, .fee thead td {
    background-color: #bfe6dd;
}
@media screen and (max-width: 480px) {
    .private_img {
        flex-direction: column;
        align-items: center;
    }
    .private_img li {
        width: 70%;
    }    
    .fee {
        width: 500px;
    }
}
footer {
    background-color: #bfe6dd;
    padding: 20px 0 50px;
    margin-top: auto;
}
.footer_logo img {
    width: 200px;
    min-width: 200px;
}
.footer_logo a {
    font-size: 20px;
}
.footer_adress {
    display: flex;
    justify-content: center;
    gap: 50px;
}
.footer_menu {
    display: flex;
    justify-content: center;
    gap: 10px 20px;
    flex-wrap: wrap;
    margin: 30px 0 50px;
}
.footer_menu li {
    list-style-type: none;
}
.footer_menu li a {
    position: relative;
    padding-left: 12px;
}
.footer_menu li a::before {
    display: inline-block;
    content: '';
    position: absolute;
    top: 7px;
    left: 0;
    border: 5px solid transparent;
    border-left: 5px solid #36b48e;
}
.copyright {
    text-align: center;
    font-size: 13px;
}
@media screen and (max-width: 767px) {
    .footer_adress {
        flex-direction: column;
        align-items: center;
        gap: 0;
    }
}
.page_top {
    position: fixed;
    right: 0;
    bottom: 0;
    width: 50px;
    height: 50px;
    background-color: #36b48e;
    z-index: 5;
}
.arrow {
    position: absolute;
    top: 20px;
    left: 15px;
    display: block;
    width: 20px;
    height: 20px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(315deg);
}
.error404 .more_btn {
    margin: 50px auto 0 !important;
}
#thanks .more_btn {
    margin: 20px auto 0;
}
.grecaptcha-badge {
    width: 70px !important;
    overflow: hidden !important;
    transition: all 0.3s ease !important;
    left: 4px !important;
    visibility: hidden;
    position: relative;
    z-index: 2;
  }
  .grecaptcha-badge:hover {
    width: 256px !important;
    visibility: hidden;
  }
#contact .grecaptcha-badge {
    visibility: visible;
}
#contact .grecaptcha-badge:hover {
    visibility: visible;
}
.slide-prev, .slide-next {
    margin: auto;
    position: absolute;
    top: 50%;
    z-index: 2;
    display: inline-block;
    cursor: pointer;
  }
  .slide-prev {
    left: 1%;
  }
  .slide-next {
    right: 1%;
  }
  .prev-arrow, .next-arrow {
    display: inline-block;
    width: 20px;
    height: 20px;
  }
  .prev-arrow {
    border-top: 2px solid #36b48e;
    border-left: 2px solid #36b48e;
    transform: rotate(-45deg);
  }
  .next-arrow {
    border-top: 2px solid #36b48e;
    border-right: 2px solid #36b48e;
    transform: rotate(45deg);
  }
#facility .gallery .slick-track {
    display: flex;
}
#facility .gallery .slick-track::before,
#facility .gallery .slick-track::after {
    display: none;
}
#facility .gallery .slick-slide {
    float: none;
    height: auto;
}
.slick-dots {
    display: block !important;
}
.dots-class button {
    display: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    padding: 0;
    border: none;
    background-color: transparent;
}
.dots-class {
    display: flex;
    gap: 10px;
    margin-top: 20px;
}
.dots-class li {
    width: 8px;
    height: 8px;
    background-color: #ccc;
    border-radius: 50%;
    cursor: pointer;
    transition: background-color .5s ease;
    list-style-type: none;
}
.dots-class li.slick-active {
    background-color: #6e6e6e;
}
.slick-slide img {
    display: inline-block;
}
#top .loading {
    opacity: 0;
    visibility: hidden;
}
#top .loading.slick-initialized {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.3s ease;
}
@media screen and (max-width: 480px) {
    #facility .loading {
        opacity: 0;
        visibility: hidden;
    }
    #facility .loading.slick-initialized {
        opacity: 1;
        visibility: visible;
        transition: opacity 0.3s ease;
    }    
}
.pdf_btn {
    display: block;
    width: 300px;
    border: 1px solid #b93c3c;
    padding: 10px;
    margin: 20px auto 0;
    text-align: center;
    border-radius: 10px;
}
.pdf_btn img{
    width: 30px;
    margin-left: 10px;
    object-fit: cover;
}
@media screen and (max-width: 480px) {
    .pdf_btn {
        width: 100%;
    }
}