/*! destyle.css v3.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
*,
::before,
::after {
    box-sizing: border-box;
    border-style: solid;
    border-width: 0
}

html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

body {
    margin: 0
}

main {
    display: block
}

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
    margin: 0
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: inherit;
    font-weight: inherit;
    margin: 0
}

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

dt {
    font-weight: bold
}

dd {
    margin-left: 0
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
    border-top-width: 1px;
    margin: 0;
    clear: both;
    color: inherit
}

pre {
    font-family: monospace, monospace;
    font-size: inherit
}

address {
    font-style: inherit
}

a {
    background-color: rgba(0, 0, 0, 0);
    text-decoration: none;
    color: inherit
}

abbr[title] {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: inherit
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -0.25em
}

sup {
    top: -0.5em
}

svg,
img,
embed,
object,
iframe {
    vertical-align: bottom
}

button,
input,
optgroup,
select,
textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    vertical-align: middle;
    color: inherit;
    font: inherit;
    background: rgba(0, 0, 0, 0);
    padding: 0;
    margin: 0;
    border-radius: 0;
    text-align: inherit;
    text-transform: inherit
}

[type=checkbox] {
    -webkit-appearance: checkbox;
    -moz-appearance: checkbox;
    appearance: checkbox
}

[type=radio] {
    -webkit-appearance: radio;
    -moz-appearance: radio;
    appearance: radio
}

button,
[type=button],
[type=reset],
[type=submit] {
    cursor: pointer
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
    cursor: default
}

:-moz-focusring {
    outline: auto
}

select:disabled {
    opacity: inherit
}

option {
    padding: 0
}

fieldset {
    margin: 0;
    padding: 0;
    min-width: 0
}

legend {
    padding: 0
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

label[for] {
    cursor: pointer
}

details {
    display: block
}

summary {
    display: list-item
}

[contenteditable]:focus {
    outline: auto
}

table {
    border-color: inherit;
    border-collapse: collapse
}

caption {
    text-align: left
}

td,
th {
    vertical-align: top;
    padding: 0
}

th {
    text-align: left;
    font-weight: bold
}

html {
    color: #7a6856;
    font-size: 16px;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif
}

main {
    padding-top: 146px
}

@media(max-width: 390px) {
    main {
        padding-top: 80px
    }
}

img {
    width: 100%
}

.category-label {
    display: block;
    width: 150px;
    font-size: 1rem;
    color: #fff;
    line-height: 1;
    text-align: center;
    font-weight: bold;
    padding: 8px 0
}

@media(max-width: 390px) {
    .category-label {
        width: 120px;
        font-size: .75rem
    }
}

.category-news {
    background-color: #7bb77b
}

.category-media {
    background-color: #7ba7b7
}

.category-trainer {
    background-color: #f37a7c
}

.wave-container {
    position: relative;
    margin-bottom: 350px
}

.wave-container .wave-container__item {
    position: absolute;
    width: 100%;
    top: -200px;
    left: 0
}

.wave-container .wave-container__item svg {
    width: 100%;
    height: 200px
}

.wave-container .wave-container__item.footer-wave {
    transform: rotate(180deg);
    top: auto;
    bottom: -200px
}

.detect-sp .wave-container {
    position: relative;
    margin-bottom: 150px
}

.detect-sp .wave-container .wave-container__item {
    position: absolute;
    width: 100%;
    top: -100px;
    left: 0
}

.detect-sp .wave-container .wave-container__item svg {
    width: 100%;
    height: 100px
}

.detect-sp .wave-container .wave-container__item.footer-wave {
    transform: rotate(180deg);
    top: auto;
    bottom: -100px
}

.news-card {
    border-bottom: 1px solid #eee
}

.news-card .news-card__link {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: center;
    width: 100%;
    padding: 28px 60px
}

@media(max-width: 390px) {
    .news-card .news-card__link {
        padding: 24px 0
    }
}

@media(max-width: 390px) {
    .news-card .news-card__link .news-headline {
        display: block;
        width: 100%;
        margin-top: 12px;
        line-height: 1.6
    }
}

.news-card .news-card__link .posted-date {
    margin-right: 32px
}

@media(max-width: 390px) {
    .news-card .news-card__link .posted-date {
        margin-right: 12px
    }
}

.news-card .news-card__link .category-label {
    margin-right: 32px
}

.pagination {
    margin-top: 80px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    align-content: center
}

.pagination .pagination-item {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    align-content: center;
    width: 52px;
    height: 52px;
    margin-left: 4px;
    margin-right: 4px;
    color: #7a6856
}

@media(max-width: 390px) {
    .pagination .pagination-item {
        width: 48px;
        height: 48px
    }
}

.pagination .pagination-item__link {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    align-content: center;
    border: 1px solid #7a6856;
    width: 100%;
    height: 100%;
    line-height: 1
}

.pagination .pagination-item__current {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    align-content: center;
    background-color: #7a6856;
    border: none;
    width: 100%;
    height: 100%;
    line-height: 1;
    color: #fff
}

.header {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    background-color: #fff
}

.header .header-inner {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    align-content: center;
    width: 77.77%;
    height: 90px;
    min-width: 1120px;
    margin: 0 auto
}

.header .header-logo {
    display: block;
    width: 270px
}

.header .header-right-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end;
    align-content: center;
    width: 600px
}

.header .header-contact .header-contact__tel {
    font-size: 1.5rem;
    line-height: 1.5;
    letter-spacing: .01em;
    font-weight: bold;
    margin-bottom: 4px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: center
}

@media(max-width: 390px) {
    .header .header-contact .header-contact__tel {
        font-size: 1.25rem
    }
}

.header .header-contact .header-contact__tel:before {
    content: "";
    display: block;
    width: 32px;
    height: 32px;
    margin-right: 8px;
    background-image: url("./images/icon-tel.png");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat
}

.header .header-contact .header-contact__open {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
    align-content: center;
    font-size: .75rem
}

.header .header-contact .header-contact__open .opening-hour .opening-hour__item {
    display: block;
    margin-bottom: 4px
}

.header .header-contact .header-contact__open .opening-hour .opening-hour__item:last-child {
    margin-bottom: 0
}

.header .header-line {
    display: block;
    width: 250px;
    filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25))
}

.header .header-instagram {
    display: block;
    width: 68px;
    filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25))
}

.header .global-navi .global-navi-inner {
    width: 77.77%;
    min-width: 1120px;
    margin: 0 auto
}

.header .global-navi .global-navi-inner .global-navi-list {
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    align-content: center
}

.header .global-navi .global-navi-inner .global-navi-list .global-navi-list__item {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    align-content: center;
    width: 156px;
    height: 56px;
    position: relative
}

.header .global-navi .global-navi-inner .global-navi-list .global-navi-list__item:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    width: 1px;
    height: 24px;
    background-color: #b6dfba;
    transform: rotate(20deg) translate(-4px, -50%);
    transform-origin: center
}

.detect-sp .header .header-logo {
    display: block;
    width: 180px
}

.detect-sp .header .header-inner {
    width: 350px;
    height: 80px;
    min-width: auto;
    margin: 0 auto
}

.detect-sp .header .header-right-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    align-content: center;
    width: 140px
}

.detect-sp .header .icon-sns {
    width: 34px
}

.detect-sp .header .menu-trigger {
    width: 36px
}

.detect-sp .global-navi {
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    background-color: #fff;
    z-index: 50;
    transform: translateX(0%);
    transition: .3s
}

.detect-sp .global-navi.global-navi--close {
    transform: translateX(100%)
}

.detect-sp .global-navi .global-navi-inner {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    align-content: center;
    width: 77.77%;
    height: 100%;
    min-width: auto;
    margin: 0 auto
}

.detect-sp .global-navi .global-navi-inner .global-navi-list {
    height: 450px
}

.detect-sp .global-navi .global-navi-inner .global-navi-list .global-navi-list__item {
    width: 100%
}

.detect-sp .global-navi .global-navi-inner .global-navi-list .global-navi-list__item:after {
    display: none
}

.detect-sp .global-navi .global-navi-inner .global-navi-list .menu-trigger--close {
    width: 48px;
    margin: 40px auto 0
}

.footer {
    padding-top: 180px;
    padding-bottom: 38px;
    background-image: url("./images/footer-bg.png");
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover
}

.footer .footer-navi-inner {
    text-align: center
}

.footer .footer-navi-inner .footer-navi-list {
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    align-content: center
}

.footer .footer-navi-inner .footer-navi-list .footer-navi-list__item {
    display: block;
    margin-right: 80px;
    color: #fff;
    letter-spacing: .07em
}

.footer .footer-navi-inner .footer-navi-list .footer-navi-list__item:last-child {
    margin-right: 0
}

.footer .footer-logo {
    display: block;
    margin: 48px auto 40px;
    width: 268px
}

.footer .footer-address {
    display: block;
    text-align: center;
    color: #fff;
    margin-bottom: 32px
}

.footer .copy-right {
    display: block;
    text-align: center;
    font-size: .75em;
    color: #fff
}

.detect-sp .footer {
    padding-top: 50px;
    padding-bottom: 60px
}

.detect-sp .footer .footer-logo {
    width: 210px
}

.detect-sp .footer .footer-navi-inner .footer-navi-list {
    display: none
}

.detect-sp .footer .footer-address {
    font-size: .875em
}

.detect-sp .footer .footer-address span {
    display: block
}

.information {
    background-color: #dfefe4
}

.information .information-wave svg {
    fill: #dfefe4
}

.information .information-inner {
    width: 77.77%;
    min-width: 1120px;
    margin-right: auto;
    margin-left: auto
}

@media(max-width: 390px) {
    .information .information-inner {
        width: 350px;
        min-width: auto
    }
}

.information .information-title {
    font-size: 2.5rem;
    line-height: 1.5;
    letter-spacing: .01em;
    font-weight: bold;
    text-align: center;
    text-align: center;
    margin-bottom: 50px
}

@media(max-width: 390px) {
    .information .information-title {
        font-size: 1.625rem
    }
}

.information .information-hour {
    width: 900px;
    margin: 0 auto 40px
}

.information .information-body {
    font-size: 1rem;
    line-height: 1.9;
    letter-spacing: .01em;
    text-align: center
}

@media(max-width: 390px) {
    .information .information-body {
        font-size: .875rem
    }
}

.information .access-title {
    font-size: 2.5rem;
    line-height: 1.5;
    letter-spacing: .01em;
    font-weight: bold;
    text-align: center;
    text-align: center;
    margin: 180px auto 40px
}

@media(max-width: 390px) {
    .information .access-title {
        font-size: 1.625rem
    }
}

.information .access-body {
    font-size: 1.5rem;
    line-height: 1.5;
    letter-spacing: .01em;
    font-weight: bold;
    text-align: center;
    margin-bottom: 48px
}

@media(max-width: 390px) {
    .information .access-body {
        font-size: 1.25rem
    }
}

.information .gmap {
    width: 100%;
    height: 500px;
    background-color: #f8f8f8
}

.detect-sp .information .information-title,
.detect-sp .information .access-title {
    font-size: 1.625rem;
    margin-bottom: 40px
}

.detect-sp .information .access-title {
    margin: 80px auto 40px
}

.detect-sp .information .access-body {
    font-size: 21px
}

.detect-sp .information .information-hour {
    width: 100%
}

.detect-sp .information .gmap {
    height: 350px
}

.page-hero {
    width: 100%;
    position: relative;
    margin-bottom: 120px
}

.page-hero .page-hero__image {
    display: block;
    width: 100%
}

.page-hero .hero-title {
    font-size: 2.5rem;
    line-height: 1.5;
    letter-spacing: .01em;
    font-weight: bold;
    text-align: center;
    line-height: 1;
    height: 1em;
    display: block;
    text-align: center;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto
}

@media(max-width: 390px) {
    .page-hero .hero-title {
        font-size: 1.625rem
    }
}

.detect-sp .page-hero {
    margin-bottom: 60px
}

.contact-navi {
    text-align: center
}

.contact-navi .contact-navi-title {
    font-size: 2.5rem;
    line-height: 1.5;
    letter-spacing: .01em;
    font-weight: bold;
    text-align: center;
    margin-bottom: 100px
}

@media(max-width: 390px) {
    .contact-navi .contact-navi-title {
        font-size: 1.625rem
    }
}

@media(max-width: 390px) {
    .contact-navi .contact-navi-title {
        margin-bottom: 40px
    }
}

.contact-navi .contact-navi-tel {
    display: inline-block;
    font-size: 48px;
    font-weight: bold;
    margin-bottom: 50px
}

@media(max-width: 390px) {
    .contact-navi .contact-navi-tel {
        font-size: 34px
    }
}

.contact-navi .contact-navi-tel:before {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: inline-block;
    vertical-align: bottom;
    width: 64px;
    height: 64px;
    background-image: url("./images/icon-tel-bn.png")
}

@media(max-width: 390px) {
    .contact-navi .contact-navi-tel:before {
        width: 42px;
        height: 42px
    }
}

.contact-navi .contact-navi-line {
    width: 600px;
    display: block;
    margin: 0 auto 150px;
    filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25))
}

@media(max-width: 390px) {
    .contact-navi .contact-navi-line {
        width: 320px;
        margin: 0 auto 100px
    }
}

.home .top-slider {
    width: 91.66%;
    min-width: 1120px;
    margin: 0 auto;
    position: relative
}

@media(max-width: 390px) {
    .home .top-slider {
        width: 100%;
        min-width: auto
    }
}

.home .top-slider .top-slider__copy {
    font-size: 2.2vw;
    font-weight: bold;
    letter-spacing: .156em;
    line-height: 1.85;
    writing-mode: vertical-rl;
    position: absolute;
    right: 5.18vw;
    top: 3.47vw;
    z-index: 10
}

@media(max-width: 390px) {
    .home .top-slider .top-slider__copy {
        font-size: 1rem;
        right: 36px;
        top: 20px
    }
}

.home .top-slider .top-slider__copy span {
    display: inline-block;
    padding: 16px 0;
    margin-left: 12px;
    background-color: rgba(255, 255, 255, .75)
}

@media(max-width: 390px) {
    .home .top-slider .top-slider__copy span {
        padding: 8px 0;
        margin-left: 6px
    }
}

.home .coupon {
    margin-top: 120px
}

@media(max-width: 390px) {
    .home .coupon {
        margin-top: 24px
    }
}

.home .coupon .coupon-inner {
    width: 77.77%;
    min-width: 1120px;
    margin-right: auto;
    margin-left: auto
}

@media(max-width: 390px) {
    .home .coupon .coupon-inner {
        width: 350px;
        min-width: auto
    }
}

.home .news {
    margin-top: 120px
}

@media(max-width: 390px) {
    .home .news {
        margin-top: 60px
    }
}

.home .news .news-inner {
    width: 77.77%;
    min-width: 1120px;
    margin-right: auto;
    margin-left: auto
}

@media(max-width: 390px) {
    .home .news .news-inner {
        width: 350px;
        min-width: auto
    }
}

.home .news .news-title {
    font-size: 2.5rem;
    line-height: 1.5;
    letter-spacing: .01em;
    font-weight: bold;
    text-align: center;
    margin-bottom: 100px
}

@media(max-width: 390px) {
    .home .news .news-title {
        font-size: 1.625rem
    }
}

@media(max-width: 390px) {
    .home .news .news-title {
        margin-bottom: 40px
    }
}

.home .service {
    margin-top: 180px
}

@media(max-width: 390px) {
    .home .service {
        margin-top: 80px
    }
}

.home .service .service-inner {
    width: 77.77%;
    min-width: 1120px;
    margin-right: auto;
    margin-left: auto
}

@media(max-width: 390px) {
    .home .service .service-inner {
        width: 350px;
        min-width: auto
    }
}

.home .service .service-headline {
    font-size: 1.875rem;
    line-height: 1;
    letter-spacing: .01em;
    font-weight: bold;
    text-align: center;
    margin-bottom: 80px
}

@media(max-width: 390px) {
    .home .service .service-headline {
        font-size: 1.25rem
    }
}

@media(max-width: 390px) {
    .home .service .service-headline {
        margin-bottom: 40px
    }
}

.home .service .service-list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
    align-content: center;
    width: 71.5%;
    min-width: 1030px;
    margin: 0 auto
}

@media(max-width: 390px) {
    .home .service .service-list {
        width: 350px;
        min-width: auto
    }
}

.home .service .service-card {
    width: 30%;
    min-width: 310px
}

@media(max-width: 390px) {
    .home .service .service-card {
        width: 100%;
        min-width: auto;
        margin-bottom: 40px
    }
}

.home .service .service-card .service-card__image {
    display: block;
    margin-bottom: 28px
}

.home .service .service-card .service-card__content--headline {
    font-size: 1.25rem;
    line-height: 1.5;
    letter-spacing: .01em;
    font-weight: bold;
    text-align: center;
    margin-bottom: 24px
}

@media(max-width: 390px) {
    .home .service .service-card .service-card__content--headline {
        font-size: 1rem
    }
}

.home .service .service-card .service-card__content--body {
    font-size: 1rem;
    line-height: 1.9;
    letter-spacing: .01em;
    text-align: center
}

@media(max-width: 390px) {
    .home .service .service-card .service-card__content--body {
        font-size: .875rem
    }
}

.home .service .service-card .service-card__content--body .service-link {
    display: block;
    text-align: center;
    color: #7bb77b;
    font-weight: bold;
    margin-top: 24px
}

.home .service .service-card .service-card__content--body .service-link .service-link__body {
    font-size: .875rem;
    position: relative;
    line-height: 1;
    vertical-align: middle
}

.home .service .service-card .service-card__content--body .service-link .service-link__body:before,
.home .service .service-card .service-card__content--body .service-link .service-link__body:after {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    transform: rotate(-45deg);
    border-bottom: 2px solid #7bb77b;
    border-right: 2px solid #7bb77b
}

.home .service .service-card .service-card__content--body .service-link .service-link__body:before {
    position: absolute;
    right: -6px;
    top: 5px
}

.home .service .service-card .service-card__content--body .service-link .service-link__body:after {
    margin-left: 3px
}

.home .reason {
    margin-top: 200px
}

@media(max-width: 390px) {
    .home .reason {
        margin-top: 80px;
        margin-bottom: 80px
    }
}

.home .reason .reason-inner {
    width: 1320px;
    margin: 0 auto
}

@media(max-width: 390px) {
    .home .reason .reason-inner {
        width: 100%
    }
}

.home .reason .reason-title {
    font-size: 2.5rem;
    line-height: 1.5;
    letter-spacing: .01em;
    font-weight: bold;
    text-align: center;
    margin-bottom: 100px
}

@media(max-width: 390px) {
    .home .reason .reason-title {
        font-size: 1.625rem
    }
}

@media(max-width: 390px) {
    .home .reason .reason-title {
        margin-bottom: 60px
    }
}

.home .reason .reason-card {
    position: relative;
    margin-bottom: 160px
}

@media(max-width: 390px) {
    .home .reason .reason-card {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: stretch;
        align-content: center;
        margin-top: 0;
        margin-bottom: 0
    }
}

.home .reason .reason-card .reason-image {
    width: 666px;
    position: relative;
    z-index: 10
}

@media(max-width: 390px) {
    .home .reason .reason-card .reason-image {
        width: 100%
    }
}

.home .reason .reason-card .reason-image.right-image {
    margin-left: auto;
    margin-right: 0
}

@media(max-width: 390px) {
    .home .reason .reason-card .reason-image.right-image {
        order: 1
    }
}

.home .reason .reason-card .reason-content {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: center;
    width: 820px;
    height: 500px;
    position: absolute;
    top: 60px;
    right: -60px;
    padding-left: 166px;
    padding-right: 60px
}

@media(max-width: 390px) {
    .home .reason .reason-card .reason-content {
        width: 100%;
        height: auto;
        padding-top: 24px;
        padding-left: 20px;
        padding-right: 20px;
        padding-bottom: 40px;
        position: static
    }
}

.home .reason .reason-card .reason-content.left-content {
    top: 60px;
    left: -60px;
    right: auto;
    padding-right: 166px;
    padding-left: 60px
}

@media(max-width: 390px) {
    .home .reason .reason-card .reason-content.left-content {
        padding-left: 20px;
        padding-right: 20px;
        order: 2
    }
}

.home .reason .reason-card .reason-content.bg-lg {
    background-color: #ecf2d1
}

.home .reason .reason-card .reason-content.bg-ig {
    background-color: #dfefe4
}

.home .reason .reason-card .reason-num {
    font-size: 5rem;
    color: #fff;
    line-height: 1;
    margin-bottom: 40px
}

@media(max-width: 390px) {
    .home .reason .reason-card .reason-num {
        font-size: 3.4rem;
        margin-bottom: 24px
    }
}

.home .reason .reason-card .reason-headline {
    font-size: 1.75rem;
    line-height: 1.5;
    letter-spacing: .01em;
    font-weight: bold
}

@media(max-width: 390px) {
    .home .reason .reason-card .reason-headline {
        font-size: 1.5rem
    }
}

.home .reason .reason-card .reason-body {
    font-size: 1rem;
    line-height: 1.9;
    letter-spacing: .01em
}

@media(max-width: 390px) {
    .home .reason .reason-card .reason-body {
        font-size: .875rem
    }
}

.home .reason .reason-card .reason-body .reason-body__paragraph {
    display: block;
    margin-top: 24px
}

.home .about {
    padding-bottom: 250px
}

@media(max-width: 390px) {
    .home .about {
        padding-bottom: 80px
    }
}

.home .about .about-inner {
    width: 77.77%;
    min-width: 1120px;
    margin-right: auto;
    margin-left: auto;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 1120px auto;
    background-image: url("./images/about-bg.png")
}

@media(max-width: 390px) {
    .home .about .about-inner {
        width: 350px;
        min-width: auto
    }
}

@media(max-width: 390px) {
    .home .about .about-inner {
        background-size: 100% auto
    }
}

.home .about .about-title {
    font-size: 2.5rem;
    line-height: 1.5;
    letter-spacing: .01em;
    font-weight: bold;
    text-align: center;
    margin-bottom: 50px
}

@media(max-width: 390px) {
    .home .about .about-title {
        font-size: 1.625rem
    }
}

.home .about .about-body {
    font-size: 1rem;
    line-height: 1.9;
    letter-spacing: .01em;
    text-align: center
}

@media(max-width: 390px) {
    .home .about .about-body {
        font-size: .875rem
    }
}

@media(max-width: 390px) {
    .home .about .about-body {
        text-align: justify
    }

    .home .about .about-body br {
        display: none
    }
}

.home .about .about-body .about-body__paragraph {
    display: block;
    margin-bottom: 24px
}

.home .about .about-image {
    width: 532px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 100px
}

@media(max-width: 390px) {
    .home .about .about-image {
        width: 100%
    }
}

.page-service .recommend .recommend-inner {
    width: 77.77%;
    min-width: 1120px;
    margin-right: auto;
    margin-left: auto
}

@media(max-width: 390px) {
    .page-service .recommend .recommend-inner {
        width: 350px;
        min-width: auto
    }
}

.page-service .recommend .recommend-title {
    font-size: 1.875rem;
    line-height: 1;
    letter-spacing: .01em;
    font-weight: bold;
    text-align: center;
    text-align: center;
    margin-bottom: 100px
}

@media(max-width: 390px) {
    .page-service .recommend .recommend-title {
        font-size: 1.25rem
    }
}

@media(max-width: 390px) {
    .page-service .recommend .recommend-title {
        margin-bottom: 60px
    }
}

.page-service .recommend .recommend-image {
    width: 867px;
    margin: 0 auto 150px
}

@media(max-width: 390px) {
    .page-service .recommend .recommend-image {
        width: 100%;
        margin: 0 auto 80px
    }
}

.page-service .solution {
    padding-top: 80px;
    padding-bottom: 80px;
    margin-bottom: 200px;
    background-color: #f3fbf6
}

@media(max-width: 390px) {
    .page-service .solution {
        margin-bottom: 80px
    }
}

.page-service .solution .solution-inner {
    width: 1100px;
    margin: 0 auto
}

@media(max-width: 390px) {
    .page-service .solution .solution-inner {
        width: 350px
    }
}

.page-service .solution .solution-title {
    font-size: 1.875rem;
    line-height: 1;
    letter-spacing: .01em;
    font-weight: bold;
    text-align: center;
    text-align: center;
    margin-bottom: 80px
}

@media(max-width: 390px) {
    .page-service .solution .solution-title {
        font-size: 1.25rem
    }
}

.page-service .solution .solution-content {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
    align-content: center
}

.page-service .solution .solution-image {
    width: 485px
}

@media(max-width: 390px) {
    .page-service .solution .solution-image {
        width: 100%;
        margin-bottom: 28px
    }
}

.page-service .solution .solution-body {
    width: 530px
}

@media(max-width: 390px) {
    .page-service .solution .solution-body {
        width: 100%
    }
}

.page-service .solution .solution-body .solution-body__paragraph {
    font-size: 1rem;
    line-height: 1.9;
    letter-spacing: .01em;
    margin-bottom: 24px
}

@media(max-width: 390px) {
    .page-service .solution .solution-body .solution-body__paragraph {
        font-size: .875rem
    }
}

.page-service .service-menu .service-menu-inner {
    width: 1320px;
    margin: 0 auto 80px
}

@media(max-width: 390px) {
    .page-service .service-menu .service-menu-inner {
        width: 100%
    }
}

.page-service .service-menu .service-menu-title {
    font-size: 2.5rem;
    line-height: 1.5;
    letter-spacing: .01em;
    font-weight: bold;
    text-align: center;
    text-align: center;
    margin-bottom: 100px
}

@media(max-width: 390px) {
    .page-service .service-menu .service-menu-title {
        font-size: 1.625rem
    }
}

@media(max-width: 390px) {
    .page-service .service-menu .service-menu-title {
        margin-bottom: 40px
    }
}

.page-service .service-menu .service-menu-wrapper {
    position: relative;
    margin-bottom: 120px
}

@media(max-width: 390px) {
    .page-service .service-menu .service-menu-wrapper {
        margin-bottom: 0
    }
}

.page-service .service-menu .service-menu-wrapper .service-menu-image {
    width: 512px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    z-index: 10
}

@media(max-width: 390px) {
    .page-service .service-menu .service-menu-wrapper .service-menu-image {
        width: 100%;
        position: static;
        transform: translateY(0)
    }
}

.page-service .service-menu .service-menu-wrapper .service-menu-image.image-right {
    left: auto;
    right: 0
}

@media(max-width: 390px) {
    .page-service .service-menu .service-menu-wrapper .service-menu-image.image-right {
        transform: translateX(0)
    }
}

.page-service .service-menu .service-menu-card {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    align-content: center;
    background-color: #f8f8f8;
    width: 950px;
    height: 820px;
    padding-left: 180px;
    padding-right: 60px;
    margin-right: 0;
    margin-left: auto;
    transform: translateX(60px)
}

@media(max-width: 390px) {
    .page-service .service-menu .service-menu-card {
        width: 100%;
        height: auto;
        padding-left: 20px;
        padding-right: 20px;
        padding-top: 40px;
        padding-bottom: 60px;
        transform: translateX(0)
    }
}

.page-service .service-menu .service-menu-card.image-right {
    margin-left: 0;
    margin-right: auto;
    transform: translateX(-60px)
}

@media(max-width: 390px) {
    .page-service .service-menu .service-menu-card.image-right {
        transform: translateX(0px)
    }
}

.page-service .service-menu .service-menu-card .service-menu-content .service-menu-content__title {
    font-size: 2rem;
    line-height: 1;
    letter-spacing: .01em;
    font-weight: bold;
    text-align: center;
    color: #7bb77b;
    margin-bottom: 40px
}

@media(max-width: 390px) {
    .page-service .service-menu .service-menu-card .service-menu-content .service-menu-content__title {
        font-size: 1.5rem
    }
}

.page-service .service-menu .service-menu-card .service-menu-content .service-menu-body {
    margin-bottom: 40px
}

.page-service .service-menu .service-menu-card .service-menu-content .service-menu-body__paragraph {
    display: block;
    font-size: 1rem;
    line-height: 1.9;
    letter-spacing: .01em;
    margin-bottom: 24px;
    text-align: justify
}

@media(max-width: 390px) {
    .page-service .service-menu .service-menu-card .service-menu-content .service-menu-body__paragraph {
        font-size: .875rem
    }
}

@media(max-width: 390px) {
    .page-service .service-menu .service-menu-card .service-menu-content .service-menu-body__paragraph br {
        display: none
    }
}

.page-service .service-menu .service-menu-card .service-menu-content .service-menu-headline {
    font-size: 1.5rem;
    line-height: 1.5;
    letter-spacing: .01em;
    font-weight: bold;
    margin-bottom: 28px
}

@media(max-width: 390px) {
    .page-service .service-menu .service-menu-card .service-menu-content .service-menu-headline {
        font-size: 1.25rem
    }
}

.page-service .service-menu .service-menu-card .service-menu-content .service-menu-check__card {
    margin-bottom: 16px
}

.page-service .service-menu .service-menu-card .service-menu-content .service-menu-check__card:before {
    content: "";
    display: inline-block;
    width: 32px;
    height: 32px;
    margin-right: 16px;
    background-image: url("./images/icon-check.svg");
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    vertical-align: middle
}

@media(max-width: 390px) {
    .page-service .service-menu .service-menu-card .service-menu-content .service-menu-check__card:before {
        width: 28px;
        height: 28px
    }
}

.page-service .service-menu .service-menu-card .service-menu-content .service-price {
    font-size: 1.5rem;
    line-height: 1.5;
    letter-spacing: .01em;
    font-weight: bold;
    text-align: right
}

@media(max-width: 390px) {
    .page-service .service-menu .service-menu-card .service-menu-content .service-price {
        font-size: 1.25rem
    }
}

.page-service .discussion {
    margin-bottom: 150px
}

.page-service .discussion .discussion-inner {
    width: 1320px;
    margin: 0 auto
}

@media(max-width: 390px) {
    .page-service .discussion .discussion-inner {
        width: 350px
    }
}

.page-service .discussion .discussion-title {
    font-size: 2.5rem;
    line-height: 1.5;
    letter-spacing: .01em;
    font-weight: bold;
    text-align: center;
    text-align: center;
    margin-bottom: 48px
}

@media(max-width: 390px) {
    .page-service .discussion .discussion-title {
        font-size: 1.625rem
    }
}

.page-service .discussion .discussion-title span {
    display: inline-block
}

.page-service .discussion .discussion-body {
    display: block;
    font-size: 1rem;
    line-height: 1.9;
    letter-spacing: .01em;
    text-align: center;
    margin-bottom: 28px
}

@media(max-width: 390px) {
    .page-service .discussion .discussion-body {
        font-size: .875rem
    }
}

.page-service .discussion .discussion-image {
    width: 100%;
    margin-bottom: 28px
}

.page-service .discussion .discussion-link {
    text-align: right
}

.page-service .discussion .discussion-link .discussion-link__item {
    font-size: 1.5rem;
    line-height: 1.5;
    letter-spacing: .01em;
    font-weight: bold;
    color: #7bb77b
}

@media(max-width: 390px) {
    .page-service .discussion .discussion-link .discussion-link__item {
        font-size: 1.25rem
    }
}

.page-accident .main-banner {
    width: 1320px;
    margin: 0 auto 350px
}

@media(max-width: 390px) {
    .page-accident .main-banner {
        width: 350px;
        margin: 0 auto 150px
    }
}

.page-accident .problem {
    background-color: #dfefe4
}

.page-accident .problem .problem-wave svg {
    fill: #dfefe4
}

.page-accident .problem .problem-image {
    width: 760px;
    margin: 0 auto
}

@media(max-width: 390px) {
    .page-accident .problem .problem-image {
        width: 100%
    }
}

.page-accident .flow {
    margin-bottom: 350px
}

@media(max-width: 390px) {
    .page-accident .flow {
        margin-bottom: 150px
    }
}

.page-accident .flow .flow-title {
    font-size: 2.5rem;
    line-height: 1.5;
    letter-spacing: .01em;
    font-weight: bold;
    text-align: center;
    text-align: center;
    margin-bottom: 100px
}

@media(max-width: 390px) {
    .page-accident .flow .flow-title {
        font-size: 1.625rem
    }
}

@media(max-width: 390px) {
    .page-accident .flow .flow-title {
        margin-bottom: 40px
    }
}

.page-accident .flow .flow-card {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    align-content: center;
    width: 1120px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 80px;
    background-color: #f8f8f8;
    padding-left: 128px;
    padding-right: 40px;
    padding-top: 100px;
    padding-bottom: 100px
}

@media(max-width: 390px) {
    .page-accident .flow .flow-card {
        width: 100%;
        margin-bottom: 0;
        padding-top: 48px;
        padding-left: 20px;
        padding-right: 20px;
        padding-bottom: 48px
    }

    .page-accident .flow .flow-card:nth-child(even) {
        background-color: #fff
    }
}

.page-accident .flow .flow-card dl[class$=content] {
    width: 500px;
    position: relative
}

@media(max-width: 390px) {
    .page-accident .flow .flow-card dl[class$=content] {
        width: 100%;
        order: 2
    }
}

.page-accident .flow .flow-card dt[class$=num] {
    font-size: 2rem;
    line-height: 1;
    letter-spacing: .01em;
    font-weight: bold;
    text-align: center;
    color: #b6dfba;
    position: absolute;
    top: 0;
    left: -1.875em
}

@media(max-width: 390px) {
    .page-accident .flow .flow-card dt[class$=num] {
        font-size: 1.5rem
    }
}

@media(max-width: 390px) {
    .page-accident .flow .flow-card dt[class$=num] {
        position: static;
        top: 0;
        left: 0;
        text-align: left;
        margin-bottom: 16px
    }
}

.page-accident .flow .flow-card dt[class$=headline] {
    font-size: 1.5rem;
    line-height: 1.5;
    letter-spacing: .01em;
    font-weight: bold;
    margin-bottom: 48px
}

@media(max-width: 390px) {
    .page-accident .flow .flow-card dt[class$=headline] {
        font-size: 1.25rem
    }
}

@media(max-width: 390px) {
    .page-accident .flow .flow-card dt[class$=headline] {
        margin-bottom: 24px
    }
}

.page-accident .flow .flow-card p[class$=__paragraph] {
    font-size: 1rem;
    line-height: 1.9;
    letter-spacing: .01em
}

@media(max-width: 390px) {
    .page-accident .flow .flow-card p[class$=__paragraph] {
        font-size: .875rem
    }
}

.page-accident .flow .flow-card div[class$=image] {
    width: 400px
}

@media(max-width: 390px) {
    .page-accident .flow .flow-card div[class$=image] {
        width: 100%;
        order: 1;
        margin-bottom: 40px
    }
}

.page-accident .advice {
    margin-bottom: 350px;
    background-color: #dfefe4
}

@media(max-width: 390px) {
    .page-accident .advice {
        margin-bottom: 150px
    }
}

.page-accident .advice .advice-inner {
    width: 77.77%;
    min-width: 1120px;
    margin-right: auto;
    margin-left: auto
}

@media(max-width: 390px) {
    .page-accident .advice .advice-inner {
        width: 350px;
        min-width: auto
    }
}

.page-accident .advice .advice-wave svg {
    fill: #dfefe4
}

.page-accident .advice .advice-title {
    font-size: 1.5rem;
    line-height: 1.5;
    letter-spacing: .01em;
    font-weight: bold;
    text-align: center;
    margin-bottom: 40px
}

@media(max-width: 390px) {
    .page-accident .advice .advice-title {
        font-size: 1.25rem
    }
}

.page-accident .advice .question-list {
    width: 480px;
    margin: 0 auto 40px
}

@media(max-width: 390px) {
    .page-accident .advice .question-list {
        width: 100%
    }
}

.page-accident .advice .question-card {
    font-weight: bold;
    margin-bottom: 16px;
    letter-spacing: .1em;
    padding-left: 1.5em;
    text-indent: -1.5em
}

@media(max-width: 390px) {
    .page-accident .advice .question-card {
        font-size: 14px;
        letter-spacing: .05em
    }
}

.page-accident .advice .question-card:before {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background-color: #fc9472;
    vertical-align: middle
}

.page-accident .advice .advice-body {
    text-align: center
}

@media(max-width: 390px) {
    .page-accident .advice .advice-body {
        text-align: justify
    }
}

.page-accident .advice .advice-body .advice-body__paragraph {
    font-size: 1rem;
    line-height: 1.9;
    letter-spacing: .01em;
    margin-bottom: 36px
}

@media(max-width: 390px) {
    .page-accident .advice .advice-body .advice-body__paragraph {
        font-size: .875rem
    }
}

.faq {
    margin-bottom: 150px
}

.faq .faq-title {
    font-size: 1.875rem;
    line-height: 1;
    letter-spacing: .01em;
    font-weight: bold;
    text-align: center;
    text-align: center;
    margin-bottom: 80px
}

@media(max-width: 390px) {
    .faq .faq-title {
        font-size: 1.25rem
    }
}

@media(max-width: 390px) {
    .faq .faq-title {
        margin-bottom: 28px
    }
}

.faq .faq-list {
    margin-bottom: 200px
}

@media(max-width: 390px) {
    .faq .faq-list {
        margin-bottom: 120px
    }
}

.faq .faq-card {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    align-content: center;
    width: 1120px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 80px;
    background-color: #f8f8f8;
    padding-left: 128px;
    padding-right: 40px;
    padding-top: 100px;
    padding-bottom: 100px;
    padding-top: 44px;
    padding-bottom: 44px
}

@media(max-width: 390px) {
    .faq .faq-card {
        width: 100%;
        margin-bottom: 0;
        padding-top: 48px;
        padding-left: 20px;
        padding-right: 20px;
        padding-bottom: 48px
    }

    .faq .faq-card:nth-child(even) {
        background-color: #fff
    }
}

.faq .faq-card dl[class$=content] {
    width: 500px;
    position: relative
}

@media(max-width: 390px) {
    .faq .faq-card dl[class$=content] {
        width: 100%;
        order: 2
    }
}

.faq .faq-card dt[class$=num] {
    font-size: 2rem;
    line-height: 1;
    letter-spacing: .01em;
    font-weight: bold;
    text-align: center;
    color: #b6dfba;
    position: absolute;
    top: 0;
    left: -1.875em
}

@media(max-width: 390px) {
    .faq .faq-card dt[class$=num] {
        font-size: 1.5rem
    }
}

@media(max-width: 390px) {
    .faq .faq-card dt[class$=num] {
        position: static;
        top: 0;
        left: 0;
        text-align: left;
        margin-bottom: 16px
    }
}

.faq .faq-card dt[class$=headline] {
    font-size: 1.5rem;
    line-height: 1.5;
    letter-spacing: .01em;
    font-weight: bold;
    margin-bottom: 48px
}

@media(max-width: 390px) {
    .faq .faq-card dt[class$=headline] {
        font-size: 1.25rem
    }
}

@media(max-width: 390px) {
    .faq .faq-card dt[class$=headline] {
        margin-bottom: 24px
    }
}

.faq .faq-card p[class$=__paragraph] {
    font-size: 1rem;
    line-height: 1.9;
    letter-spacing: .01em
}

@media(max-width: 390px) {
    .faq .faq-card p[class$=__paragraph] {
        font-size: .875rem
    }
}

.faq .faq-card div[class$=image] {
    width: 400px
}

@media(max-width: 390px) {
    .faq .faq-card div[class$=image] {
        width: 100%;
        order: 1;
        margin-bottom: 40px
    }
}

.faq .faq-card dl.faq-card-content {
    width: 100%
}

.faq .faq-card dl.faq-card-content .faq-card-headline {
    margin-bottom: 28px
}

.page-staff .staff {
    margin-bottom: 150px
}

@media(max-width: 390px) {
    .page-staff .staff {
        margin-bottom: 80px
    }
}

.page-staff .staff .staff-inner {
    width: 77.77%;
    min-width: 1120px;
    margin-right: auto;
    margin-left: auto
}

@media(max-width: 390px) {
    .page-staff .staff .staff-inner {
        width: 350px;
        min-width: auto
    }
}

@media(max-width: 390px) {
    .page-staff .staff .staff-inner {
        width: 100%
    }
}

.page-staff .staff .staff-title {
    font-size: 1.875rem;
    line-height: 1;
    letter-spacing: .01em;
    font-weight: bold;
    text-align: center;
    text-align: center;
    margin-bottom: 56px;
    line-height: 150%
}

@media(max-width: 390px) {
    .page-staff .staff .staff-title {
        font-size: 1.25rem
    }
}

.page-staff .staff .staff-main-image {
    margin-bottom: 160px
}

@media(max-width: 390px) {
    .page-staff .staff .staff-main-image {
        margin-bottom: 20px
    }
}

.page-staff .staff .staff-card {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    align-content: center;
    width: 1120px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 80px;
    background-color: #f8f8f8;
    padding-left: 128px;
    padding-right: 40px;
    padding-top: 100px;
    padding-bottom: 100px;
    padding-top: 40px;
    padding-bottom: 40px;
    padding-left: 60px;
    padding-right: 60px
}

@media(max-width: 390px) {
    .page-staff .staff .staff-card {
        width: 100%;
        margin-bottom: 0;
        padding-top: 48px;
        padding-left: 20px;
        padding-right: 20px;
        padding-bottom: 48px
    }

    .page-staff .staff .staff-card:nth-child(even) {
        background-color: #fff
    }
}

.page-staff .staff .staff-card dl[class$=content] {
    width: 500px;
    position: relative
}

@media(max-width: 390px) {
    .page-staff .staff .staff-card dl[class$=content] {
        width: 100%;
        order: 2
    }
}

.page-staff .staff .staff-card dt[class$=num] {
    font-size: 2rem;
    line-height: 1;
    letter-spacing: .01em;
    font-weight: bold;
    text-align: center;
    color: #b6dfba;
    position: absolute;
    top: 0;
    left: -1.875em
}

@media(max-width: 390px) {
    .page-staff .staff .staff-card dt[class$=num] {
        font-size: 1.5rem
    }
}

@media(max-width: 390px) {
    .page-staff .staff .staff-card dt[class$=num] {
        position: static;
        top: 0;
        left: 0;
        text-align: left;
        margin-bottom: 16px
    }
}

.page-staff .staff .staff-card dt[class$=headline] {
    font-size: 1.5rem;
    line-height: 1.5;
    letter-spacing: .01em;
    font-weight: bold;
    margin-bottom: 48px
}

@media(max-width: 390px) {
    .page-staff .staff .staff-card dt[class$=headline] {
        font-size: 1.25rem
    }
}

@media(max-width: 390px) {
    .page-staff .staff .staff-card dt[class$=headline] {
        margin-bottom: 24px
    }
}

.page-staff .staff .staff-card p[class$=__paragraph] {
    font-size: 1rem;
    line-height: 1.9;
    letter-spacing: .01em
}

@media(max-width: 390px) {
    .page-staff .staff .staff-card p[class$=__paragraph] {
        font-size: .875rem
    }
}

.page-staff .staff .staff-card div[class$=image] {
    width: 400px
}

@media(max-width: 390px) {
    .page-staff .staff .staff-card div[class$=image] {
        width: 100%;
        order: 1;
        margin-bottom: 40px
    }
}

.page-staff .staff .staff-card:nth-child(1) {
    transform: translateX(-80px)
}

@media(max-width: 390px) {
    .page-staff .staff .staff-card:nth-child(1) {
        background-color: #fff;
        transform: translateX(0)
    }
}

.page-staff .staff .staff-card:nth-child(2) {
    transform: translateX(80px)
}

@media(max-width: 390px) {
    .page-staff .staff .staff-card:nth-child(2) {
        background-color: #f8f8f8;
        transform: translateX(0)
    }
}

.page-staff .staff .staff-card dl.staff-card-content {
    width: 520px
}

@media(max-width: 390px) {
    .page-staff .staff .staff-card dl.staff-card-content {
        width: 100%
    }
}

.page-staff .staff .staff-card .staff-card-comment {
    color: #7bb77b;
    margin-bottom: 28px
}

.page-staff .staff .staff-card .staff-card-headline .position {
    display: block;
    font-size: 14px;
    font-weight: normal;
    letter-spacing: .3em;
    margin-bottom: 16px
}

.page-staff .staff .staff-card .staff-card-body {
    margin-bottom: 40px
}

.page-staff .staff .staff-card .staff-card-body:last-child {
    margin-bottom: 0
}

.page-staff .staff .staff-card .staff-card-history {
    margin-bottom: 16px
}

.page-staff .message {
    margin-bottom: 150px
}

.page-staff .message .message-title {
    font-size: 1.5rem;
    line-height: 1.5;
    letter-spacing: .01em;
    font-weight: bold;
    color: #7bb77b;
    text-align: center;
    margin-bottom: 48px
}

@media(max-width: 390px) {
    .page-staff .message .message-title {
        font-size: 1.25rem
    }
}

.page-staff .message .message-body {
    font-size: 1rem;
    line-height: 1.9;
    letter-spacing: .01em;
    display: block;
    text-align: center
}

@media(max-width: 390px) {
    .page-staff .message .message-body {
        font-size: .875rem
    }
}

@media(max-width: 390px) {
    .page-staff .message .message-body {
        padding: 0 20px
    }
}

.page-contact .contact {
    margin-bottom: 350px
}

@media(max-width: 390px) {
    .page-contact .contact {
        margin-bottom: 150px
    }
}

.page-contact .contact .contact-inner {
    width: 77.77%;
    min-width: 1120px;
    margin-right: auto;
    margin-left: auto;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
    align-content: center
}

@media(max-width: 390px) {
    .page-contact .contact .contact-inner {
        width: 350px;
        min-width: auto
    }
}

.page-contact .contact .contact-inner .contact-title {
    font-size: 1.875rem;
    line-height: 1;
    letter-spacing: .01em;
    font-weight: bold;
    text-align: center;
    text-align: center;
    line-height: 150%
}

@media(max-width: 390px) {
    .page-contact .contact .contact-inner .contact-title {
        font-size: 1.25rem
    }
}

.page-contact .contact .contact-inner .contact-body {
    font-size: 1rem;
    line-height: 1.9;
    letter-spacing: .01em;
    display: block;
    margin-top: 16px;
    text-align: center
}

@media(max-width: 390px) {
    .page-contact .contact .contact-inner .contact-body {
        font-size: .875rem
    }
}

@media(max-width: 390px) {
    .page-contact .contact .contact-inner .contact-body span {
        display: inline-block
    }
}

.page-contact .contact .contact-inner .contact-left {
    width: 50%;
    text-align: center;
    border-right: 1px solid #7a6856
}

@media(max-width: 390px) {
    .page-contact .contact .contact-inner .contact-left {
        width: 100%;
        border-right: none;
        border-bottom: 1px solid #7a6856;
        padding-bottom: 40px
    }
}

.page-contact .contact .contact-inner .contact-left .contact-tel {
    font-size: 48px;
    display: block;
    margin-top: 80px;
    font-weight: bold
}

@media(max-width: 390px) {
    .page-contact .contact .contact-inner .contact-left .contact-tel {
        font-size: 34px;
        margin-top: 28px
    }
}

.page-contact .contact .contact-inner .contact-left .contact-tel:before {
    content: "";
    display: inline-block;
    width: 64px;
    height: 64px;
    background-image: url("./images/icon-tel-bn.png");
    background-size: contain;
    background-position: center center;
    vertical-align: bottom
}

@media(max-width: 390px) {
    .page-contact .contact .contact-inner .contact-left .contact-tel:before {
        width: 42px;
        height: 42px
    }
}

.page-contact .contact .contact-inner .contact-right {
    width: 50%
}

@media(max-width: 390px) {
    .page-contact .contact .contact-inner .contact-right {
        width: 100%;
        padding-top: 40px
    }
}

.page-contact .contact .contact-inner .contact-right .contact-right-button {
    display: block;
    width: 320px;
    margin-top: 24px;
    margin-right: auto;
    margin-left: auto;
    filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25))
}

.page-contact .information {
    padding-bottom: 160px;
    margin-bottom: 80px
}

.archive-news-inner {
    margin-bottom: 200px;
    padding-bottom: 120px
}

@media(max-width: 390px) {
    .archive-news-inner {
        margin-bottom: 120px;
        padding-bottom: 80px
    }
}

.archive-news-inner .news-index .news-index-inner {
    width: 77.77%;
    min-width: 1120px;
    margin-right: auto;
    margin-left: auto
}

@media(max-width: 390px) {
    .archive-news-inner .news-index .news-index-inner {
        width: 350px;
        min-width: auto
    }
}

.single-news-inner {
    padding-top: 80px;
    padding-bottom: 120px
}

@media(max-width: 390px) {
    .single-news-inner {
        padding-top: 40px;
        padding-bottom: 80px
    }
}

.single-news-inner .content-inner {
    width: 77.77%;
    min-width: 1120px;
    margin-right: auto;
    margin-left: auto;
    padding-left: 60px;
    padding-right: 60px
}

@media(max-width: 390px) {
    .single-news-inner .content-inner {
        width: 350px;
        min-width: auto
    }
}

@media(max-width: 390px) {
    .single-news-inner .content-inner {
        padding-left: 0;
        padding-right: 0
    }
}

.single-news-inner .main-content {
    margin-bottom: 80px
}

.single-news-inner .main-content .main-content__title {
    font-size: 2.5rem;
    line-height: 1.5;
    letter-spacing: .01em;
    font-weight: bold;
    text-align: left;
    margin-bottom: 60px
}

@media(max-width: 390px) {
    .single-news-inner .main-content .main-content__title {
        font-size: 1.625rem
    }
}

@media(max-width: 390px) {
    .single-news-inner .main-content .main-content__title {
        margin-bottom: 32px
    }
}

.single-news-inner .main-content .main-content__image {
    margin-bottom: 40px
}

.single-news-inner .main-content .main-content__body {
    font-size: 1rem;
    line-height: 1.9;
    letter-spacing: .01em
}

@media(max-width: 390px) {
    .single-news-inner .main-content .main-content__body {
        font-size: .875rem
    }
}

.single-news-inner .repeat-content .repeat-content__image {
    margin-bottom: 40px
}

.single-news-inner .repeat-content .repeat-content__headline {
    font-size: 1.75rem;
    line-height: 1.5;
    letter-spacing: .01em;
    font-weight: bold;
    margin-bottom: 40px
}

@media(max-width: 390px) {
    .single-news-inner .repeat-content .repeat-content__headline {
        font-size: 1.5rem
    }
}

.single-news-inner .repeat-content .repeat-content__body {
    font-size: 1rem;
    line-height: 1.9;
    letter-spacing: .01em
}

@media(max-width: 390px) {
    .single-news-inner .repeat-content .repeat-content__body {
        font-size: .875rem
    }
}

@font-face {
    font-family: swiper-icons;
    src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
    font-weight: 400;
    font-style: normal
}

:root {
    --swiper-theme-color: #007aff
}

.swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1
}

.swiper-vertical>.swiper-wrapper {
    flex-direction: column
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    box-sizing: content-box
}

.swiper-android .swiper-slide,
.swiper-wrapper {
    transform: translate3d(0px, 0, 0)
}

.swiper-pointer-events {
    touch-action: pan-y
}

.swiper-pointer-events.swiper-vertical {
    touch-action: pan-x
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform
}

.swiper-slide-invisible-blank {
    visibility: hidden
}

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
    height: auto
}

.swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform, height
}

.swiper-backface-hidden .swiper-slide {
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-3d,
.swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px
}

.swiper-3d .swiper-cube-shadow,
.swiper-3d .swiper-slide,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-wrapper {
    transform-style: preserve-3d
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10
}

.swiper-3d .swiper-slide-shadow {
    background: rgba(0, 0, 0, .15)
}

.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-css-mode>.swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none
}

.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
    display: none
}

.swiper-css-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: start start
}

.swiper-horizontal.swiper-css-mode>.swiper-wrapper {
    scroll-snap-type: x mandatory
}

.swiper-vertical.swiper-css-mode>.swiper-wrapper {
    scroll-snap-type: y mandatory
}

.swiper-centered>.swiper-wrapper::before {
    content: "";
    flex-shrink: 0;
    order: 9999
}

.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
    -webkit-margin-start: var(--swiper-centered-offset-before);
    margin-inline-start: var(--swiper-centered-offset-before)
}

.swiper-centered.swiper-horizontal>.swiper-wrapper::before {
    height: 100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after)
}

.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
    -webkit-margin-before: var(--swiper-centered-offset-before);
    margin-block-start: var(--swiper-centered-offset-before)
}

.swiper-centered.swiper-vertical>.swiper-wrapper::before {
    width: 100%;
    min-width: 1px;
    height: var(--swiper-centered-offset-after)
}

.swiper-centered>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: center center
}

.swiper-fade.swiper-free-mode .swiper-slide {
    transition-timing-function: ease-out
}

.swiper-fade .swiper-slide {
    pointer-events: none;
    transition-property: opacity
}

.swiper-fade .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-fade .swiper-slide-active,
.swiper-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.back-btn{
    display: flex;
    margin: 0 auto;
    width: 280px;
    height: 48px;
    align-items: center;
    justify-content: center;
    border: 1px solid #7a6856;
}