@charset "utf-8";
/*=======================
common
=======================*/
:root {
    --primary-white: #fff;
    --primary-beige: #F2F2E6;
    --primary-black: #404040;
    --primary-green: #00AB98;
    --primary-yellowgreen: #AADB87;
    --primary-lightblue: #EDF9F7;
    --primary-pink: #F65C5C;
    --primary-lightGray: #BFBFBF;
    --primary-Gray: #8C8C8C;
    --primary-lightGray: #595959;
    --pcContentWidth: 79.1%;
    --pcContentPadding: 10.4%;
    --spContentWidth: 91.4%;
    --spContentPadding: 4.2%;
}

html {
    font-size: 62.5%;
    scroll-behavior: smooth;
    position: relative;
}

body {
    font-family:
        "Zen Maru Gothic",
        'Cabin',
        'Roboto';
    font-style: normal;
    font-weight: 400;
    line-height: 1.6;
    color: #404040;
    background-color: var(--primary-white, #fff);
}

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

.topic {
    text-align: center;
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1;
}

.sub__topic {
    display: block;
    margin-top: 10px;
    color: rgba(0, 171, 152, 0.50);
    text-align: center;
    font-family: 'Cabin';
    font-size: 1.4rem;
    font-weight: 500;
}

.container {
    overflow: hidden;
}

/* common sp */
@media screen and (max-width: 769px) {
    .topic {
        font-size: 2.4rem;
    }
}/* sp 769px */

/*=======================
header
=======================*/
.layout {
    display: flex;
    padding: 40px 10.4% 0;
    justify-content: space-between;
    position: relative;
}

.header {
    width: 16.6%;
    z-index: 2;
}

.subTitle {
    display: block;
    margin-top: 3px;
    color: var(--primary-green, #00AB98);
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1;
    border-top: 1px solid #00AB98;
    border-bottom: 1px solid #00AB98;
    padding: 5px 0 4px;
    text-align: center;
}

.nav {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.nav__header {
    display: none;
}

.nav__item {
    margin-top: 20px;
    transition: 0.3s ease;
}

.nav__item:hover {
    transform: translateY(-3px);
    opacity: 0.7;
}

.nav__item a{
    display: flex;
    align-items: center;
    cursor: pointer;
}

.nav__item:last-of-type {
    display: none;
}

.nav__icon {
    width: 30px;
}

.nav__txt {
    margin: 8px 0 0 5px;
    display: flex;
    flex-direction: column;
}

.ja {
    font-size: 1.7rem;
    font-weight: 500;
    line-height: 1;
}

.en {
    margin-top: 2px;
    color:#BFBFBF;
    font-family: Cabin;
    font-size: 1rem;
    font-weight: 500;
}

.header__btn {
    display: none;
}

.mainVisual-wrap {
    width: 61.6%;
    overflow: hidden;
    z-index: 1;
}

.mainVisual-wrap::before {
    content: "";
    position: absolute;
    top: -5%;
    left: 40%;
    width: 50%;
    height: 100%;
    background: url(../images/mainvisual-back.png) no-repeat;
    background-size: contain;
    z-index: -1;
}

.mainVisual-wrap::after {
    content: "";
    position: absolute;
    bottom: -5%;
    left: 12%;
    width: 50%;
    height: 50%;
    background: url(../images/mainvisual-back.png) no-repeat;
    background-size: contain;
    z-index: -1;
}

.mainVisual-slider {
    position: relative;
    list-style: none;
    margin: 0;
    padding: 0;
    z-index: 2;
}

.mainVisual-slider li {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    transition: opacity 1s ease;
    width: 100%;
}

.mainVisual-slider li.active {
    opacity: 1;
    position: relative;
}

.mainVisual-slider img {
    display: block;
}

.mainVisual {
        border-radius: 20px;
}

.pagination {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 10px;
    z-index: 2;
}

.dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #fff;
    opacity: 0.5;
    cursor: pointer;
    transition: opacity 0.3s;
}

.dot.active {
    opacity: 1;
    background: #00AB98;
}

.mainVisual-catchcopy {
    display: flex;
    align-items: center;
    z-index: 1;
}

.mainVisual-catchcopy__txt {
    display: flex;
    flex-direction: row-reverse;
    align-items: start;
    font-weight: 500;
}

.line2 {
    display: flex;
    flex-direction: row-reverse;
    align-items: start;
}

.mainVisual-catchcopy__txt p {
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-size: 2.4rem;
    display: flex;
    justify-content: center;
    line-height: 2;
    color: #626262;
    letter-spacing: 2px;
}

.mainVisual-catchcopy__txt p span {
    position: relative;
}

.mainVisual-catchcopy__txt p span::after {
    content: " ";
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #AADB87;
}

@media screen and (min-width: 1440px) {
    .mainVisual-catchcopy__txt p {
        font-size: clamp(2.4rem, 1.2rem + 0.5vw, 3.2rem);
    }
}

/* common tb */
@media screen and (max-width: 1080px) {
    .layout {
        padding: 40px 3.7% 0;
    }
    
    .header {
        width: 20%;
    }

    .mainVisual-wrap {
        width: 60%;
    }

    .mainVisual-catchcopy__txt p {
        font-size: 2.2rem;
    }

    .nav__item {
        margin-top: 12px;
    }

    .ja {
        font-size: 1.6rem;
    }
}/* tb 1080px */


/* common sp */
@media screen and (max-width: 769px) {
    .layout {
        display: block;
        padding: 0;
        justify-content: space-between;
        position: relative;
    }

    .header {
        width: 100%;
        padding: 0 0 0 4.2%;
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
    }

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

    .logo-img {
        margin-top: 6px;
        width: 210px;
    }

    .subTitle {
        display: none;
    }

    .icon-menu{
        display: block;
        width: 19%;
    }

    /* nav初期表示 */
    .nav__header {
        width: 100%;
        padding: 0 0 0 4.2%;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        background-color: #FFF;
    }

    .logo-img-nav {
        margin-top: 6px;
        width: 210px;
    }

    .header__btn,
    .nav__btn {
        display: block;
        width: 68.25px;
    }

    .nav {
        background-color: #00AB98;
        width: 100%;
        height: 100vh;
        position: fixed;
        top: 0;
        right: 0; /* ←ここを left:0 から right:0 に変更 */
        z-index: 100;
        transform: translateX(100%);
        transition: transform 0.4s ease;
        padding-left: 0;
    }

    .nav__list {
        margin: 30px auto;
        width: 89%;
        padding: 0 8% 30px;
        background-color: #fff;
        border-radius: 10px;
    }

    .nav__item {
        margin-top: 0;
        padding: 20px 0 10px;
        border-bottom: 1px dashed #8C8C8C;
        position: relative;
    }

    .nav__item::after {
        position: absolute;
        content: '';
        top: 60%;
        right: 0;
        transform: translateY(-50%);
        width: 24px;
        height: 24px;
        background: url(../images/icon-spmenu.png) no-repeat;
        background-size: contain;
    }

    .nav__item:last-of-type::after {
        display: none;
    }

    .nav__item a{
        margin-top: 0;
    }

    .nav__item:last-of-type {
        display: block;
        border-bottom: none;
        transform: none;
        opacity: 1;
    }

    .nav__txt {
        margin: 7px 0 0 5px;
    }

    .ja {
        margin-top: 0;
    }

    .en {
        margin-top: 4px;
    }

    .header-address{
        font-size: 1.5rem;
    }

    /* .nav.active表示 */
    .nav.active {
        transform: translateX(0);
    }

    /* mainvisual */
    .mainVisual-wrap {
        margin: 10px auto;
        width: 91%;
    }

    .mainVisual-wrap::before {
        content: "";
        position: absolute;
        top: 10%;
        left: 40%;
        width: 70%;
        height: 100%;
        background: url(../images/mainvisual-back.png) no-repeat;
        background-size: contain;
        z-index: -1;
    }

    .mainVisual-wrap::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: -8%;
        width: 70%;
        height: 50%;
        background: url(../images/mainvisual-back.png) no-repeat;
        background-size: contain;
        z-index: -1;
    }

    .pagination {
        display: none;
    }

    /* catchcopy */
    .mainVisual-catchcopy {
        width: 100%;
        padding: 0 7%;
        display: flex;
    }

    .mainVisual-catchcopy__txt {
        width: 100%;
        display: inline-block;
        font-weight: 500;
    }

    .line2 {
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
    }

    .mainVisual-catchcopy__txt p {
        writing-mode: horizontal-tb;
        text-orientation: mixed;
        font-size: 2.4rem;
        display: flex;
        justify-content: flex-start;
        line-height: 2;
        color: #626262;
        letter-spacing: 0;
    }

    .mainVisual-catchcopy__txt p span {
        position: relative;
    }

    .mainVisual-catchcopy__txt p span::after {
        content: " ";
        position: absolute;
        top: 6px;
        right: 7px;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        width: 5px;
        height: 5px;
        border-radius: 50%;
        background: #AADB87;
    }
}/* sp 769px */

/* common sp */
@media screen and (max-width: 440px) {
    /* catchcopy */
    .mainVisual-catchcopy__txt p {
        font-size: 1.9rem;
    }
}/* sp 440px */

/* common sp */
@media screen and (max-width: 350px) {
    /* catchcopy */
    .mainVisual-catchcopy__txt p {
        font-size: 1.6rem;
    }
    
    .line2 {
        flex-direction: column;
    }
}/* sp 350px */

/*=======================
topInfo timeTable
=======================*/
.section--topInfo {
    margin-top: 60px;
    display: flex;
    padding: 0 10.4% 60px;
    justify-content: space-between;
}

.timeTable {
    width: 49%;
    border:solid 2px #00AB98;
    border-radius: 20px;
    background-color: #fff;
    padding-bottom: 30px;
    position: relative;
}

.timeTable h2 {
    position: absolute;
    top: -1px;
    left: -1px;
    display: inline-block;
    color: #fff;
    background: #00AB98;
    border-radius: 20px 0 5px 0;
    padding: 8px 16px;
    font-size: 1.8rem;
}

.icon-time {
    width: 20px;
    margin: 0 5px 3px 0;
}

.timeTableBody {
    width: 90%;
    margin: 45px auto 0;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 1.8rem;
    line-height: 1.6;
}

.timeTableBody th:first-child {
    width: 25%;
}

.timeTableBody th:not(:first-child) {
    width: 12.5%;
    text-align: center;
}

.thead {
    border-bottom: 1px solid #BFBFBF;
}

.thead th {
    font-size: 1.8rem;
    font-weight: 400;
}

.tbody {
    border-bottom: 1px solid #BFBFBF;
}

.time {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.label {
    margin-top: 10px;
    font-size: 1.2rem;
    font-weight: 400;
}

.hour {
    margin-bottom: 10px;
    font-size: 1.6rem;
    font-weight: 500;
}

.tbody td {
    width: 12.5%;
    text-align: center;
    font-size: 1.6rem;
    color: #00AB98;
    padding-top: 25px;
}

.timeTableAdd {
    display: flex;
    padding: 8px 6% 0;
}

.timeTableAdd dt {
    font-size: 1.4rem;
    font-weight: 400;
    border-radius: 5px;
    background: #F2F2E6;
    padding: 1px 4px;
}

.timeTableAdd dt:last-of-type {
    margin-left: 3%;
}

.timeTableAdd dd {
    font-size: 1.4rem;
    margin: 1px 0 0 1%;
}

.supplement {
    margin-top: 4px;
    padding: 0 6% ;
    font-size: 1.4rem;
    line-height: 1.6;
}

.supplement a {
    font-weight: 500;
    border-bottom: 1px solid #BFBFBF;
    cursor: pointer;
    transition: 0.3s;
}

.supplement a:hover {
    opacity: 0.7;
}

/* topInfo timeTable pc */
@media screen and (max-width: 1394px) {
    .timeTableAdd {
        display: grid;
        grid-template-columns: 50px 1fr;
        padding: 8px 5% 0;
    }

    .timeTableAdd dt:last-of-type {
        margin: 3px 0 0 0 ;
        text-align: center;
    }

    .timeTableAdd dd {
        font-size: 1.4rem;
        margin: 3px 0 0 1%;
    }
}/* pc 1394px */

/* topInfo timeTable tb */
@media screen and (max-width: 1080px) {
    .section--topInfo {
        padding: 0 3.7% 60px;
    }

    .timeTableBody {
        width: 95%;
        font-size: 1.6rem;
    }

    .hour {
        font-size: 1.5rem;
    }

    .timeTableAdd {
        padding: 8px 3% 0;
    }

    .supplement {
        padding: 0 3%;
    }
}/* tb 1080px */

/* topInfo timeTable sp */
@media screen and (max-width: 769px) {
    .section--topInfo {
        margin-top: 20px;
        display: block;
        padding: 0 4.2% 40px;
        justify-content: space-between;
    }

    .timeTable {
        width: 100%;
        padding-bottom: 20px;
    }

    .timeTable h2 {
        padding: 5px 12px;
        font-size: 1.6rem;
    }

    .icon-time {
        width: 20px;
        margin:0 5px 2px 0;
    }

    .timeTableBody {
        width: 90%;
        margin: 40px auto 0;
        font-size: 1.6rem;
        line-height: 1.6;
    }

    .timeTableBody th:first-child {
        width: 28%;
    }

    .timeTableBody th:not(:first-child) {
        width: 12%;
    }

    .thead th {
        font-size: 1.5rem;
    }

    .tbody td {
        width: 12%;
        font-size: 1.4rem;
        color: #00AB98;
        padding-top: 25px;
    }

    .label {
        margin-top: 10px;
        font-size: 1rem;
        font-weight: 400;
        }

    .hour {
        margin-bottom: 10px;
    }

    .timeTableAdd {
        display: grid;
        grid-template-columns: 50px 1fr;
        padding: 8px 5% 0;
    }

    .timeTableAdd dt {
        font-size: 1.4rem;
        font-weight: 400;
        border-radius: 5px;
        background: #F2F2E6;
        padding: 0;
        text-align: center;
        margin-bottom: 5px;
    }

    .timeTableAdd dt:last-of-type {
        margin: 0 0 5px;
    }

    .timeTableAdd dd {
        font-size: 1.4rem;
        margin:0 0 5px 2%;
    }

    .supplement {
        margin-top: 4px;
        padding: 0 5% ;
        font-size: 1.2rem;
        line-height: 1.6;
    }
}/* sp 769px */

/*=======================
topInfo news
=======================*/
.newsTitle {
    width: 49%;
    border:solid 2px #00AB98;
    border-radius: 20px;
    position: relative;
}
    
.icon-news {
    width: 20px;
    margin: 0 5px 3px 0;
}

.newsTitle h2 {
    position: absolute;
    top: -1px;
    left: -1px;
    display: inline-block;
    color: #fff;
    background: #00AB98;
    border-radius: 20px 0 5px 0;
    padding: 8px 16px;
    font-size: 1.8rem;
}

.newsTitle__link {
    position: absolute;
    top: 16px;
    right: 26px;
    font-size: 1.4rem;
    font-weight: 500;
    color: #00ab98;
    cursor: pointer;
    transition: 0.3s;
}

.newsTitle__link:hover {
    opacity: 0.7;
}

.icon-link{
    margin: 0px 0 3px 5px;
    width: 8px;
    height: auto;
}

.scroll-list {
    margin-top: 70px;
    height: auto;
    overflow: visible;
}

.newsList {
    width: 90%;
    margin: 0 auto;
}

.news-item dt:first-of-type {
    margin-top: 0;
}

.news-item {
    margin-top: 20px;
    display: grid;
    grid-template-columns: 70px 1fr;
    align-items: start;
    gap: 1em;
}

.news-item dt {
    width: 13%;
    color: #00AB98;
    font-size: 1.6rem;
    font-weight: 400;
}

.news-item dd a{
    font-size: 1.7rem;
    font-weight: 400;
    transition: 0.3s;
    cursor: pointer;
}

.news-item dd a:hover {
    color: #00AB98;
}

.excerpt {
    display: none;
}

/* topInfo news sp */
@media screen and (max-width: 769px) {
    .newsTitle {
        margin-top: 30px;
        width: 100%;
    }

    .newsTitle h2 {
        padding: 5px 12px;
        font-size: 1.6rem;
    }

    .icon-news {
        width: 20px;
        margin: 0 5px 2px 0;
    }

    .newsTitle__link {
        top: 10px;
        right: 26px;
    }

    .scroll-list {
        margin: 40px 0 20px;
        overflow: hidden;
    }

    .news-item dt:first-of-type {
        margin-top: 0;
    }

    .news-item {
        margin-top: 10px;
        grid-template-columns: 1fr;
        gap: 0;
    }

    .news-item dt {
        width: 100%;
        color: #00AB98;
        font-size: 1.5rem;
        font-weight: 400;
    }

    .news-item dd {
        width: 100%;
        font-size: 1.6rem;
        font-weight: 400;
    }

    .excerpt {
        display: none;
    }
}/* sp 769px */

/*=======================
topFeatures
=======================*/
.section--topFeatures {
    background: linear-gradient(270deg, #E0F2D3 18.75%, #EDF9F7 100%);
    padding: 60px 10.4% 100px;
}

.topFeatures__list {
    margin-top: 40px;
    display: flex;
    justify-content: space-between;
    counter-reset: mycounter;
}

.topFeatures__item {
    width: 32.1%;
    background-color: #fff;
    border-radius: 5px;
    padding: 50px 2.6%;
}

.topFeatures__item h3 {
    display: flex;
    color: #00AB98;
    justify-content: center;
    font-size: 2rem;
    font-weight: 700;
    position: relative;
    z-index: 0;
}

.topFeatures__item h3::before {
    counter-increment: mycounter;
    content: counter(mycounter, decimal-leading-zero);
    position: absolute;
    top: -20px;
    left: 0;
    color: #EEE;
    font-family: 'Roboto';
    font-size: 6rem;
    font-weight: 400;
    line-height: 1;
    z-index: -1;
}

.topFeatures__item img {
    border-radius: 5px;
    margin: 10px 0 10px;
}

.topFeatures__item p {
    font-size: 1.6rem;
}

/* topFeatures tb */
@media screen and (max-width: 1080px) {
    .section--topFeatures {
        padding: 60px 3.7% 100px;
    }
}/* tb 1080px */

/* features sp */
@media screen and (max-width: 769px) {
    .section--topFeatures {
        background: linear-gradient(270deg, #E0F2D3 18.75%, #EDF9F7 100%);
        padding: 40px 4.2%;
    }

    .topFeatures__list {
        margin-top: 20px;
        display: block;
    }

    .topFeatures__item {
        margin-top: 30px;
        width: 100%;
        padding: 40px 6%;
    }

    .topFeatures__item:first-of-type {
        margin-top: 0;
    }
}/* sp 769px */

/*=======================
topPolicy
=======================*/
.section--topPolicy {
    display: flex;
    padding: 100px 10.4%;
    background:url(..//images/mark.png) no-repeat left top / contain;
}

.policyTxt {
    width: 46.1%;
}

.policyTxt h2 {
    font-size: 3.6rem;
    font-weight: 500;
}

.policyTxt span {
    color: #00AB98;
}

.policyTxt img {
    margin-top: 16px;
    width: 100px;
}

.policyTxt p {
    width: 92.3%;
    margin-top: 40px;
    font-size: 1.6rem;
    line-height: 2;
}

.policyTxt p:last-of-type {
    margin-top: 30px;
}

.spBr {
    display: none;
} 

.policyImages {
    width: 53.9%;
    display: flex;
    justify-content: space-between;
}

.policyImages01 {
    width: 42%;
    background:url(..//images/policy01.png) no-repeat left bottom / contain;
    position: relative;
}

.policyImages02 {
    width: 56%;
    background:url(..//images/policy02.png) no-repeat right top / contain;
}

/* policy pc */
@media screen and (max-width: 1440px) {
    .section--topPolicy {
        display: flex;
        padding: 100px 5.5% 100px 10.4%;
        background:url(..//images/mark.png) no-repeat left top / contain;
    }

    .policyImages01 {
        width: 42%;
        background:url(..//images/policy01.png) no-repeat left bottom / contain;
        position: relative;
    }

    .policyImages02 {
        width: 52%;
        background:url(..//images/policy02.png) no-repeat right top / contain;
    }
}
/* pc 1440px */

/* policy pc */
@media screen and (max-width: 1130px) {
    .policyImages01 {
        width: 100%;
        background:url(..//images/policy01-sp.png) no-repeat left top / contain;
    }

    .policyImages02 {
        width: 0;
        display: none;
    }

    .policyTxt h2 {
        font-size: 2.8rem;
        font-weight: 500;
    }
}/* pc 1130px */

/* policy tb */
@media screen and (max-width: 1080px) {
    .section--topPolicy {
        padding: 100px 3.7%;
    }
}/* tb 1080px */

/* policy sp */
@media screen and (max-width: 769px) {
    .section--topPolicy {
        display: flex;
        flex-direction: column-reverse;
        padding: 30px 3.7% 40px;
        background:none;
    }

    .policyTxt {
        width: 100%;
    }

    .policyTxt h2 {
        font-size: 2.8rem;
        font-weight: 500;
    }

    .policyTxt img {
        margin-top: 16px;
        width: 100px;
    }

    .policyTxt p {
        width: 100%;
        margin-top: 20px;
    }

    .policyTxt p:last-of-type {
        margin-top: 20px;
    }

    .spBr {
        display: block;
    } 

    .policyImages {
        width: 100%;
        height: 350px;
    }

    .policyImages01 {
        width: 100%;
        background:url(..//images/policy01-sp.png) no-repeat top / contain;
    }

    .policyImages02 {
        width: 0;
        display: none;
    }
}/* sp 769px */

/*=======================
fadeIn
=======================*/
.fadeIn {
    transform: translate(0, 50px);
    opacity: 0;
    transition: 1.2s ease-out;
}

.fadeIn.animated {
    transform: translate(0, 0);
    opacity: 1;
}


/* policy sp */
@media screen and (max-width: 474px) {
    .policyImages {
        height: 300px;
    }
}/* sp 474px */

/* policy sp */
@media screen and (max-width: 390px) {
    .policyImages {
        height: 250px;
    }
}/* sp 390px */

/*=======================
topMedical
=======================*/
.section--topMedical {
    padding: 60px 15.7% 100px 15.7%;
    background: url(..//images/medical-back.png) no-repeat left bottom 25px / 87%;
}

.topMedical__list {
    margin-top: 40px;
    display: flex;
    justify-content: space-between;
}

.topMedical__item {
    position: relative;
    display: inline-block;
    width: 48%;
    cursor: pointer;
    transition: 0.3s;
    cursor: pointer;
}

.topMedical__item:hover {
    opacity: 0.5;
}

.topMedical__list img{
    display: block;
    border-radius: 5px;
}

.topMedical__txt {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    background: rgba(0, 171, 152, 0.90);
    width: 80%;
    padding: 50px 0 20px;
    border-radius: 5px;
}

.topMedical__txt p{
    color: #FFF;
    font-size: 3rem;
    font-weight: 500;
    text-align: center;
    white-space: nowrap;
}

.topMedical__txt img {
    display: block;
    margin: 0 auto;
    width: 70%;
}

/* topMedical tb */
@media screen and (max-width: 1080px) {
    .topMedical__txt p {
        font-size: 2.2rem;
    }
}/* tb 1080px */

/* topMedical sp */
@media screen and (max-width: 769px) {
    .section--topMedical {
        padding: 40px 4.2%;
        background: linear-gradient(270deg, #EDF9F7 0%, #E0F2D3 53.37%);
    }

    .topMedical__list {
        margin-top: 20px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }

    .topMedical__item {
        margin-top: 30px;
        width: 100%;
    }

    .topMedical__item:first-of-type {
        margin-top: 0px;
    }

    .topMedical__txt p{
        font-size: 2.4rem;
    }
}/* sp 769px */

/*=======================
topOverview
=======================*/
.section--topOverview {
    padding: 60px 10.4% 80px;
}

.overview-content {
    margin-top: 40px;
    display: flex;
    justify-content: space-between;
}

.overview {
    width: 48%;
}

.overview__list {
    display: flex;
}

.overview__list dt {
    width: 32%;
    color: #00AB98;
    font-size: 1.6rem;
    font-weight: 700;
    border-top: 1px solid #00AB98;
    padding: 12px 0;
    align-content: center;
}

.overview__list:last-of-type dt {
    border-bottom: 1px solid #00AB98;
}

.overview__list dd {
    width: 68%;
    font-size: 1.6rem;
    line-height: 1.5;
    border-top: 1px solid #8C8C8C;
    padding: 13px 0;
}

.overview__list:last-of-type dd {
    border-bottom: 1px solid #8C8C8C;
}

.overview__list a {
    display: inline-block;
    margin-top: 4px;
    color: #FFF;
    font-size: 1.4rem;
    border-radius: 15px;
    background: #00AB98;
    padding: 2px 16px;
    transition: 0.3s;
}

.overview__list img {
    width: 4px;
    margin-left: 5px;
    padding-bottom: 6px;
}

.overview__list a:hover {
    opacity: 0.7;
}

.googlemap {
    position: relative;
    width: 48%;
    padding-top:40%;
    overflow: hidden;
    border-radius: 5px;
}

.googlemap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* topOverview tb */
@media screen and (max-width: 1080px) {
    .section--topOverview {
        padding: 60px 3.7% 80px;
    }
}/* tb 1080px */

/* topOverview sp */
@media screen and (max-width: 769px) {
    .section--topOverview {
        padding: 40px 4.2%;
    }

    .overview-content {
        margin-top: 20px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }

    .overview {
        width: 100%;
    }

    .overview__list {
        display: flex;
    }

    .overview__list dt {
        width: 20%;
        color: #00AB98;
        font-size: 1.5rem;
        font-weight: 500;
        border-top: 1px solid #00AB98;
        padding: 12px 0;
        align-content: center;
    }

    .overview__list dd {
        width: 80%;
        font-size: 1.5rem;
        line-height: 1.5;
        border-top: 1px solid #8C8C8C;
        padding: 13px 0;
    }

    .overview__list a {
        display: inline-block;
        margin-top: 4px;
        color: #FFF;
        font-size: 1.4rem;
        border-radius: 15px;
        background: #00AB98;
        padding: 2px 16px;
    }

    .overview__list img {
        width: 4px;
        margin-left: 5px;
        padding-bottom: 6px;
    }

    .overview__list a:hover {
        opacity: 0.5;
    }

    .googlemap {
        margin-top: 20px;
        width: 100%;
        padding-top: 300px;
    }
}/* sp 769px */

/*=======================
footer
=======================*/
.footer {
    background-color: var(--primary-lightblue, #EDF9F7);
    padding-top: 40px;
}

.footer-logo {
    display: block;
    width: 14%;
    margin: 0 auto;
}

.footer-group {
    margin-top: 40px;
    display: flex;
    padding: 0 10.4%;
    justify-content: center;
    align-items: center;
    gap: 3%;
}

.footer__txt {
    font-size: 1.6rem;
}

.contact {
    margin-top: 4px;
}

.tell {
    display: flex;
    align-items: center;
    font-size: 2.4rem;
    font-weight: 500;
    color: #00ab98;
    gap: 2px;
}

.tell img{
    display: block;
    width: 2.4rem;
}

.footer-nav {
    margin-top: 24px;
    display: flex;
}

.footer-nav__list:last-of-type {
    padding-left: 2em;
}

.footer-nav__item {
    margin-top: 10px;
    position: relative;
    padding-left: 21px;
    white-space: nowrap;
    cursor: pointer;
    transition: 0.3s;
}

.footer-nav__item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    background-image: url(../images/icon-footer.png);
    background-size: contain;
    background-repeat: no-repeat;
}

.footer-nav__item:hover {
    opacity: 0.7;
}

.copy {
    margin-top: 60px;
    padding: 3px 0;
    color: var(--primary-white, #fff);
    font-size: 1.4rem;
    text-align: center;
    background-color: var(--primary-green, #00AB98);
}

.topBtn {
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
    flex-wrap: wrap;
    position: fixed;
    z-index: 100;
    bottom: 30px;
    right: 20px;
    width: 62px;
    height: 62px;
    border-radius: 50%;
    border: 1px solid #fff;
    background-color: #00AB98;
    transition: 0.3s;
}

.topBtn img{
    width: 30%;
}

.topBtn:hover{
    opacity: 0.7;
}

/* footer tb */
@media screen and (max-width: 1080px) {
    .footer-group {
        padding: 0;
    }

    .footer-nav__list:last-of-type {
        padding-left: 1em;
    }
}/* tb 1080px */

/* footer sp */
@media screen and (max-width: 769px) {
    .footer {
        padding-top: 20px;
        }

    .footer-logo {
        width: 33%;
    }

    .footer-group {
        margin-top: 10px;
        display: block;
        padding: 0 4.2%;
        justify-content: center;
        align-items: center;
        gap: 3%;
    }

    .footer__txt {
        margin-top: 10px;
        font-size: 1.6rem;
    }

    .footer-adress {
        margin-bottom: 0px;
        padding-left: 3%;
    }

    .footer-nav {
        margin-top: 30px;
        flex-direction: column;
        font-size: 1.6rem;
        padding-left: 3%;
    }

    .footer-nav__list:last-of-type {
        padding-left: 0;
    }

    .copy {
        margin-top: 20px;
        padding: 0;
        font-size: 1.4rem;
    }

    .topBtn {
        display: flex;
        -webkit-box-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        align-items: center;
        flex-wrap: wrap;
        position: fixed;
        z-index: 50;
        bottom: 25px;
        right: 10px;
        width: 50px;
        height: 50px;
        border-radius: 50%;
        border: 1px solid #fff;
        background-color: #00AB98;
        transition: 0.3s;
    }

    .topBtn img{
        width: 30%;
    }

    .topBtn:hover{
        opacity: 0.7;
    }
}
/* sp 769px */
