@charset "utf-8";

.contents {
    padding-top: 0;
}

@media screen and (min-width: 1401px) {
    .contents {
        padding-top: 50px;
    }
}

.tophero {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
}

@media screen and (min-width: 1401px) {
    .tophero {
        width: 90%;
    }
}

/* topnewsarea
====================================================*/
.topnewsarea {
    margin: 50px auto 0;
}

@media screen and (max-width: 960px) {
    .topnewsarea {
        margin: calc(50 * (100svw / 750)) auto 0;
    }
}

.topnewsarea.is_notpost {
    display: none;
}

.topnews {
    width: 100%;
    padding: 30px 0;
}

@media screen and (max-width: 960px) {
    .topnews {
        padding: calc(30 * (100svw / 750)) 0;
    }
}

.topnews__ttl {
    margin: 0 auto;
    font-size: 32px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
}

@media screen and (max-width: 960px) {
    .topnews__ttl {
        font-size: calc(40 * (100svw / 750));
    }
}

.topnews__list {
    padding: 0 40px;
    margin-top: 20px;
}

@media screen and (max-width: 960px) {
    .topnews__list {
        padding: 0 calc(40 * (100svw / 750));
        margin-top: calc(20 *(100svw / 750));
    }
}

.topnews__list li {
    margin: 10px 0 0 0;
    border-bottom: 1px dotted #000;
}

@media screen and (max-width: 960px) {
    .topnews__list li {
        margin: calc(10 * (100svw / 750)) 0 0 0;
    }
}

.topnews__list a {
    width: 100%;
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 19px;
    line-height: 38px;
    font-weight: 400;
    text-align: left;
}

@media screen and (max-width: 960px) {
    .topnews__list a {
        margin: calc(10 * (100svw / 750)) auto 0;
        font-size: calc(24 * (100svw / 750));
        line-height: calc(48 * (100svw / 750));
    }
}

/* topnavarea
====================================================*/
.topnavarea {
    margin: 80px auto 0;
}

@media screen and (max-width: 960px) {
    .topnavarea {
        margin: calc(80 * (100svw / 750)) auto 0;
    }
}

.topnav {
    width: 700px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    gap: 30px 0;
    flex-wrap: wrap;
}

@media screen and (max-width: 960px) {
    .topnav {
        width: calc(640 * (100svw / 750));
        gap: calc(30 * (100svw / 750)) 0;
    }
}

.topnav li {
    width: 210px;
    height: 210px;
    border-radius: 50%;
    overflow: hidden;
}

@media screen and (max-width: 960px) {
    .topnav li {
        width: calc(300 * (100svw / 750));
        height: calc(300 * (100svw / 750));
    }
}

.topnav a {
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.topnav__bg {
    width: 100%;
    height: 100%;
    filter: brightness(0.7);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
}

.topnav__txt {
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    display: block;
    white-space: nowrap;
    position: relative;
    z-index: 2;
}

@media screen and (max-width: 960px) {
    .topnav__txt {
        font-size: calc(40 * (100svw / 750));
    }
}


/* topprofarea
====================================================*/
.topprofarea {
    margin: 80px auto 0;
}

@media screen and (max-width: 960px) {
    .topprofarea {
        margin: calc(100 * (100svw / 750)) auto 0;
    }
}

.topprof {
    width: 100%;
    padding: 50px;
}

@media screen and (max-width: 960px) {
    .topprof {
        padding: calc(50 * (100svw / 750)) 0;
    }
}

@media screen and (min-width: 961px) {
    .topprof__flex {
        width: 830px;
        display: flex;
        justify-content: space-between;
        margin: 50px auto 0;
    }

    .topprof__contents:nth-child(1) {
        width: 275px;
    }

    .topprof__contents:nth-child(2) {
        width: 500px;
    }
}

.topprof__ttl {
    margin: 0 auto;
    font-size: 32px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
}

@media screen and (max-width: 960px) {
    .topprof__ttl {
        font-size: calc(40 * (100svw / 750));
    }
}

.topprof__img {
    width: 275px;
    margin: 0 0 0 auto;
}

@media screen and (max-width: 960px) {
    .topprof__img {
        width: calc(344 * (100svw / 750));
        margin: calc(40 * (100svw / 750)) auto 0;
    }
}

.topprof__name {
    margin: 50px auto 0;
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
}

@media screen and (max-width: 960px) {
    .topprof__name {
        margin: calc(50 * (100svw / 750)) auto 0;
        font-size: calc(35 * (100svw / 750));
    }
}

.topprof__txt {
    margin: 50px auto 0;
    font-size: 19px;
    line-height: 38px;
    font-weight: 400;
    text-align: center;
}

@media screen and (max-width: 960px) {
    .topprof__txt {
        margin: calc(50 * (100svw / 750)) auto 0;
        font-size: calc(24 * (100svw / 750));
        line-height: calc(48 * (100svw / 750));
    }
}

.topprof__btn {
    width: fit-content;
    margin: 50px auto 0;
    font-size: 28px;
    line-height: 1;
    font-weight: 400;
    border-bottom: 1px solid #000;
}

@media screen and (max-width: 960px) {
    .topprof__btn {
        margin: calc(50 * (100svw / 750)) auto 0;
        font-size: calc(34 * (100svw / 750));
    }
}


.topqualification {
    width: 550px;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    padding: 50px;
}

@media screen and (max-width: 960px) {
    .topqualification {
        width: calc(640 * (100svw / 750));
        padding: calc(50 * (100svw / 750)) calc(40 * (100svw / 750));
    }
}

.topqualification__img {
    width: 188px;
}

@media screen and (max-width: 960px) {
    .topqualification__img {
        width: calc(234 * (100svw / 750));
        margin: calc(40 * (100svw / 750)) auto 0;
    }
}

.topqualification__ttl {
    margin: 50px auto 0;
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
}

@media screen and (max-width: 960px) {
    .topqualification__ttl {
        margin: calc(50 * (100svw / 750)) auto 0;
        font-size: calc(35 * (100svw / 750));
    }
}

.topqualification__list {
    margin: 50px auto 0;
}

@media screen and (max-width: 960px) {
    .topqualification__list {
        margin: calc(50 * (100svw / 750)) auto 0;
    }
}

.topqualification__list li {
    font-size: 19px;
    line-height: 38px;
    font-weight: 400;
    text-align: center;
}

@media screen and (max-width: 960px) {
    .topqualification__list li {
        font-size: calc(24 * (100svw / 750));
        line-height: calc(48 * (100svw / 750));
    }
}


/* topaccessarea
====================================================*/
.topaccessarea {
    margin: 80px auto 0;
}

@media screen and (max-width: 960px) {
    .topaccessarea {
        margin: calc(100 * (100svw / 750)) auto 0;
    }
}

.topaccess {
    width: 100%;
    padding: 50px 0 0;
}

@media screen and (max-width: 960px) {
    .topaccess {
        padding: calc(50 * (100svw / 750)) 0 0;
    }
}

.topaccess__ttl {
    margin: 0 auto;
    font-size: 32px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
}

@media screen and (max-width: 960px) {
    .topaccess__ttl {
        font-size: calc(40 * (100svw / 750));
    }
}

.topaccess__img {
    width: 560px;
    margin: 80px auto 0;
}

@media screen and (max-width: 960px) {
    .topaccess__img {
        width: 100%;
        margin: calc(80 * (100svw / 750)) auto 0;
    }
}

.topaccess__name {
    margin: 50px auto 0;
    font-size: 32px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
}

@media screen and (max-width: 960px) {
    .topaccess__name {
        margin: calc(50 * (100svw / 750)) auto 0;
        font-size: calc(40 * (100svw / 750));
    }
}

.topaccess__address {
    width: fit-content;
    margin: 30px auto 0;
}

.topaccess__address p {
    font-size: 19px;
    line-height: 43px;
    font-weight: 400;
}

@media screen and (max-width: 960px) {
    .topaccess__address {
        margin: calc(30 * (100svw / 750)) auto 0;
    }

    .topaccess__address p {
        font-size: calc(24 * (100svw / 750));
        line-height: calc(54 * (100svw / 750));
    }
}

.topinfo {
    width: 100%;
    padding: 0 0 50px;
    margin-top: 30px;
}

@media screen and (max-width: 960px) {
    .topinfo {
        padding: 0 0 calc(50 * (100svw / 750));
        margin-top: calc(30 * (100svw / 750));
    }
}

.topinfo__map {
    width: 560px;
    height: 320px;
    margin: 80px auto 0;
}

@media screen and (max-width: 960px) {
    .topinfo__map {
        width: 100%;
        height: calc(450 * (100svw / 750));
        margin: calc(80 * (100svw / 750)) auto 0;
    }
}

.topinfo__map iframe {
    width: 100%;
    height: 100%;
}

.topinfo__ttl {
    margin: 50px auto 0;
    font-size: 32px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
}

@media screen and (max-width: 960px) {
    .topinfo__ttl {
        font-size: calc(40 * (100svw / 750));
        margin: calc(50 * (100svw / 750)) auto 0;
    }
}

.topinfo__saloninfo {
    width: fit-content;
    margin: 50px auto 0;
}

.topinfo__saloninfo p {
    font-size: 19px;
    line-height: 43px;
    font-weight: 400;
}

.topinfo__saloninfo dl {
    display: flex;
}

.topinfo__saloninfo dt {
    width: 100px;
    display: flex;
    justify-content: space-between;
}

.topinfo__saloninfo a {
    text-decoration: underline;
}

@media screen and (max-width: 960px) {
    .topinfo__saloninfo {
        margin: calc(50 * (100svw / 750)) auto 0;
    }

    .topinfo__saloninfo p {
        font-size: calc(24 * (100svw / 750));
        line-height: calc(54 * (100svw / 750));
    }

    .topinfo__saloninfo dt {
        width: calc(130 * (100svw / 750));
    }
}