.header {
    background:#fff
}
.c-ttl__en {
    margin:0
}
.mv {
    margin:0 0 35px
}
.mv__in {
    position:relative;
    padding:0 50px 20px
}
.mv__wrap {
    position:absolute;
    bottom:0;
    left:0;
    width:100%;
    padding:0 49px;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between;
    z-index:2
}
.mv__container {
    width:-webkit-fit-content;
    width:-moz-fit-content;
    width:fit-content;
    padding:0 0 0 40px
}
.mv__ttl {
    color:#06C735;
    font-size:36px;
    font-weight:700;
    line-height:1.7;
    margin:0 0 10px
}
.mv__ttl span {
    background:#fff;
    padding:0 6px 0 12px
}
.mv__ttl span:nth-child(2) {
    padding:0 0 0 12px
}
.mv__ttl__sub {
    color:#06C735;
    font-size:18px;
    font-weight:700
}
.mv__ttl__sub span {
    background:#fff;
    padding:0 0 0 12px
}
.mv__schedule {
    padding:25px 10px 15px 35px;
    background:#fff;
    border-radius:15px 0 0 15px;
    width:400px
}
.mv .swiper {
    border-radius:25px;
    overflow:hidden;
    z-index:1
}
.mv .swiper-slide-active .mv__img,.mv .swiper-slide-duplicate-active .mv__img,.mv .swiper-slide-prev .mv__img {
    -webkit-animation:zoomUp 9s linear 0s normal both;
    animation:zoomUp 9s linear 0s normal both
}
@-webkit-keyframes zoomUp {
    0% {
        -webkit-transform:scale(1);
        transform:scale(1)
    }
    100% {
        -webkit-transform:scale(1.2);
        transform:scale(1.2)
    }
}
@keyframes zoomUp {
    0% {
        -webkit-transform:scale(1);
        transform:scale(1)
    }
    100% {
        -webkit-transform:scale(1.2);
        transform:scale(1.2)
    }
}
.news {
    margin:0 0 80px
}
.news__in {
    max-width:1000px;
    margin:0 auto
}
.news__block {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    border-radius:6px;
    margin:0 0 35px;
    background:#f2fcf7;
    padding:25px 50px 25px
}
.news__block:last-child {
    margin:0
}
.news__block.important {
    background:#f9eee8
}
.news__block.important .news__item__date,.news__block.important .news__item__txt,.news__block.important .news__ttl {
    color:#e57225
}
.news__block.important .news__ttl::before {
    background:url(../../img/common/ico_important_orange.svg) no-repeat center center/100%
}
.news__block.important .news__item__txt::after,.news__block.important .news__item__txt::before {
    border-color:#e57225
}
.news__ttl {
    width:27%;
    color:#06C735;
    font-size:18px;
    font-weight:700;
    position:relative;
    padding:0 0 0 50px
}
.news__ttl::before {
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:31px;
    height:31px;
    background:url(../../img/common/ico_important_blue.svg) no-repeat center center/100%
}
.news__list {
    width:73%
}
.news__item {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    padding:6px 0;
    margin:0 0 5px
}
.news__item:last-child {
    margin:0
}
.news__item__date {
    width:105px;
    font-size:12px;
    font-weight:700;
    padding:2px 0 0
}
.news__item__txt {
    width:calc(100% - 105px);
    position:relative;
    padding:0 20px 0 0;
    color:#3f4044;
    font-size:14px;
    line-height:1.2;
    font-weight:700;
    text-decoration:underline
}
.news__item__txt::before {
    content:"";
    position:absolute;
    top:0;
    right:0;
    width:15px;
    height:15px;
    background-color:#e3f7f0;
    border-radius:50%;
    background:#fff
}
.news__item__txt::after {
    content:"";
    position:absolute;
    top:5px;
    right:6px;
    padding:2px;
    -webkit-transform:rotate(45deg);
    transform:rotate(45deg);
    border-top:1px solid #06C735;
    border-right:1px solid #06C735
}
.info {
    position:relative;
    background:#f2fcf7;
    padding:0 0 90px
}
.info::before {
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:265px;
    background:#fff
}
.info__wrap {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    position:relative;
    background:#fff;
    border-radius:10px;
    -webkit-box-shadow:0 0 20px rgba(63,64,68,.05);
    box-shadow:0 0 20px rgba(63,64,68,.05);
    padding:50px 45px 45px
}
.info__block {
    width:50%
}
.schedule {
    padding:0 15px
}
.schedule__box {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    -webkit-box-align:end;
    -ms-flex-align:end;
    align-items:flex-end;
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between;
    margin:0 0 35px
}
.schedule__ttl {
    position:relative;
    padding:0 0 0 33px
}
.schedule__ttl::before {
    content:"";
    position:absolute;
    top:3px;
    left:0;
    width:23px;
    height:19px;
    background:url(../../img/common/ico_calendar.svg) no-repeat center center/100%
}
.schedule__btn {
    margin:0 0 5px
}
.schedule__container__in {
    width:100%;
    overflow-x:scroll;
    padding:0 0 50px
}
.schedule__img {
    width:806px
}
.schedule__img.long {
    width:2000px
}
.schedule__img img {
    width:100%
}
.schedule__img__none {
    width:100%;
    height:245px;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center
}
.reservation {
    margin:0 0 30px 40px;
    padding:0 0 27px;
    border-bottom:1px solid #f4f4f4
}
.reservation__ttl {
    position:relative;
    padding:0 0 0 28px;
    margin:0 0 30px
}
.reservation__ttl::before {
    content:"";
    position:absolute;
    top:5px;
    left:0;
    width:17px;
    height:15px;
    background:url(../../img/common/ico_paws.svg) no-repeat center center/100%
}
.reservation__txt {
    margin:0 0 10px
}
.reservation__note {
    color:#e57225;
    font-size:12px;
    line-height:1.375;
    margin:0 0 23px
}
.reservation__btn__line {
    width:337px;
    margin:0 auto 18px
}
.reservation__txt__tel {
    color:#06C735;
    font-size:14px;
    font-weight:700;
    text-align:center;
    margin:0 0 15px
}
.reservation__btn__tel {
    width:337px;
    margin:0 auto 15px
}
.reservation__sub {
    font-size:12px;
    text-align:center
}
.subject {
    margin:0 0 0 40px
}
.subject__ttl {
    display:none
}
.subject__ttl::before {
    content:"";
    position:absolute;
    top:5px;
    left:0;
    width:17px;
    height:15px;
    background:url(../../img/common/ico_paws.svg) no-repeat center center/100%
}
.subject__box {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    padding:18px 22px;
    background:#f2fcf7;
    border-radius:999px;
    color:#06C735;
    font-size:14px;
    font-weight:700;
    line-height:1.2142857143;
    margin:0 0 15px
}
.subject__box__ttl {
    padding:3px 15px;
    background:#fff;
    border-radius:999px;
    width:-webkit-fit-content;
    width:-moz-fit-content;
    width:fit-content
}
.subject__box__des {
    padding:3px 0 0
}
.subject__box__des ul {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap
}
.subject__box__des ul li {
    position:relative;
    padding:0 20px
}
.subject__box__des ul li::before {
    content:"";
    position:absolute;
    top:50%;
    right:0;
    -webkit-transform:translateY(-50%) rotate(30deg);
    transform:translateY(-50%) rotate(30deg);
    width:1px;
    height:18px;
    background:#06C735
}
.subject__box__des ul li:last-child::before {
    content:none
}
.subject__note {
    font-size:12px;
    text-align:center;
    letter-spacing:.02em
}
.about {
    position:relative;
    margin:0 0 90px
}
.about::before {
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:240px;
    background:#f2fcf7
}
.about__img {
    position:relative;
    margin-right:calc(50% - 50vw);
    margin-left:115px;
    overflow:hidden;
    border-radius:20px 0 0 20px
}
.about__wrap {
    position:relative;
    max-width:1000px;
    margin:-87px auto 0;
    padding:0 0 0 120px;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    -webkit-box-align:start;
    -ms-flex-align:start;
    align-items:flex-start;
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between
}
.about__ttl {
    -webkit-writing-mode:vertical-rl;
    -ms-writing-mode:tb-rl;
    writing-mode:vertical-rl;
    width:-webkit-fit-content;
    width:-moz-fit-content;
    width:fit-content
}
.about__ttl__ja {
    margin:0 0 0 15px;
    line-height:1.5625
}
.about__container {
    padding:130px 0 0;
    width:-webkit-fit-content;
    width:-moz-fit-content;
    width:fit-content;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    -webkit-box-align:end;
    -ms-flex-align:end;
    align-items:flex-end;
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between;
    gap:65px
}
.about__txt {
    width:-webkit-fit-content;
    width:-moz-fit-content;
    width:fit-content
}
.about__btn {
    margin:0 0 0 auto
}
.staff {
    position:relative
}
.staff::before {
    content:"";
    position:absolute;
    bottom:0;
    left:0;
    width:100%;
    height:85px;
    background:#f2fcf7
}
.staff__wrap {
    position:relative;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    gap:6.41666667%
}
.staff__img {
    width:50%;
    margin-left:calc(50% - 50vw);
    overflow:hidden;
    border-radius:0 24px 24px 0
}
.staff__container {
    width:43.58333333%;
    max-width:480px;
    padding:35px 0 0
}
.staff__box {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:end;
    -ms-flex-align:end;
    align-items:flex-end;
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between;
    margin:0 0 25px
}
.staff__ttl {
    width:-webkit-fit-content;
    width:-moz-fit-content;
    width:fit-content
}
.staff__btn {
    display:block;
    width:-webkit-fit-content;
    width:-moz-fit-content;
    width:fit-content;
    margin:0 0 10px
}
.staff__txt {
    margin:0 0 38px
}
.staff__list {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    gap:0 24px
}
.staff__item {
    position:relative;
    width:calc(50% - 12px);
    border-bottom:1px solid #f4f4f4
}
.staff__item::before {
    content:"";
    position:absolute;
    top:-1px;
    width:100%;
    height:1px;
    background:#f4f4f4
}
.staff__item__link {
    display:block;
    position:relative;
    padding:20px 25px 20px 2px;
    color:#06C735;
    font-size:20px;
    font-weight:700
}
.staff__item__link::before {
    content:"";
    position:absolute;
    top:50%;
    right:6px;
    -webkit-transform:translateY(-50%);
    transform:translateY(-50%);
    width:15px;
    height:15px;
    background-color:#e3f7f0;
    border-radius:50%
}
.staff__item__link::after {
    content:"";
    position:absolute;
    top:50%;
    right:12px;
    padding:2px;
    -webkit-transform:translateY(-50%) rotate(45deg);
    transform:translateY(-50%) rotate(45deg);
    border-top:1px solid #06C735;
    border-right:1px solid #06C735
}
.column {
    padding:85px 0 82px;
    background:#f2fcf7
}
.column__box {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    -webkit-box-align:end;
    -ms-flex-align:end;
    align-items:flex-end;
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between;
    margin:0 0 37px
}
.column__ttl {
    width:-webkit-fit-content;
    width:-moz-fit-content;
    width:fit-content
}
.column__btn {
    display:block;
    width:-webkit-fit-content;
    width:-moz-fit-content;
    width:fit-content;
    margin:0 0 10px
}
.column__list {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    gap:0 2.4%
}
.column__item {
    width:23.2%
}
.column__item__link {
    display:block;
    color:#3f4044
}
.column__item__img {
    position:relative;
    width:100%;
    margin:0 0 17px
}
.column__item__img::before {
    content:"";
    display:block;
    padding-top:70.0361%
}
.column__item__img img {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    -o-object-fit:cover;
    object-fit:cover;
    border-radius:10px
}
.column__item__date {
    display:block;
    font-size:12px;
    font-weight:700;
    line-height:1.3;
    margin:0 0 5px
}
.column__item__ttl {
    font-size:14px;
    font-weight:700;
    line-height:1.6
}
.bnr {
    padding:90px 0 110px
}
.bnr__list {
    max-width:890px;
    margin:0 auto;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    gap:40px 3.5%
}
.bnr__item {
    width:31%
}
@media only screen and (max-width:767px) {
    .c-ttl__en {
        margin:0 0 10px
    }
    .news {
        margin:0 0 40px
    }
    .news__block {
        margin:0 0 24px;
        border-radius:0;
        padding:0;
        background:0 0
    }
    .news__block.important {
        background:0 0
    }
    .news__block.important .news__list {
        background:#f9eee8
    }
    .news__ttl {
        width:100%;
        font-size:16px;
        padding:0 0 0 37px;
        margin:0 0 10px
    }
    .news__ttl::before {
        width:25px;
        height:25px
    }
    .news__list {
        width:100%;
        border-radius:6px;
        background:#f2fcf7;
        padding:8px 14px
    }
    .news__item {
        padding:5px 0;
        margin:0
    }
    .news__item__date {
        width:90px
    }
    .news__item__txt {
        width:calc(100% - 90px);
        font-size:12px;
        line-height:1.3333333333
    }
    .info {
        background:0 0;
        padding:0 0 57px
    }
    .info::before {
        content:none
    }
    .info__wrap {
        background:0 0;
        border-radius:0;
        -webkit-box-shadow:none;
        box-shadow:none;
        padding:0
    }
    .info__block {
        width:100%
    }
    .info .accordion {
        position:relative;
        padding:20px 20px 20px 0;
        margin:0 -5px 0 0;
        cursor:pointer
    }
    .info .accordion::before {
        content:"";
        position:absolute;
        top:50%;
        right:0;
        -webkit-transform:translateY(-50%);
        transform:translateY(-50%);
        width:15px;
        height:15px;
        background-color:#e3f7f0;
        border-radius:50%
    }
    .info .accordion::after {
        content:"";
        position:absolute;
        top:48%;
        right:5px;
        padding:2px;
        -webkit-transform:translateY(-50%) rotate(45deg);
        transform:translateY(-50%) rotate(45deg);
        border-right:1px solid #06C735;
        border-bottom:1px solid #06C735;
        -webkit-transition:.4s;
        transition:.4s
    }
    .info .accordion.opened::after {
        -webkit-transform:translateY(-10%) rotate(-135deg);
        transform:translateY(-10%) rotate(-135deg)
    }
    .schedule {
        padding:0 20px 1px;
        border-radius:11px;
        background:#fff;
        -webkit-box-shadow:7px 10px 20px rgba(0,0,0,.1);
        box-shadow:7px 10px 20px rgba(0,0,0,.1);
        margin:0 0 13px
    }
    .schedule__box {
        margin:0;
        display:block
    }
    .schedule__btn {
        display:none
    }
    .schedule__container {
        display:none;
        margin:0 -20px 0 0
    }
    .schedule__container__in {
        padding:0 0 30px;
        margin:0 0 40px
    }
    .reservation {
        border-bottom:none;
        padding:0 20px 1px;
        border-radius:11px;
        background:#fff;
        -webkit-box-shadow:7px 10px 20px rgba(0,0,0,.1);
        box-shadow:7px 10px 20px rgba(0,0,0,.1);
        margin:0 0 13px
    }
    .reservation__ttl {
        margin:0
    }
    .reservation__container {
        display:none
    }
    .reservation__container__in {
        padding:0 0 25px
    }
    .reservation__btn__line {
        width:100%;
        max-width:312px
    }
    .reservation__txt__tel {
        margin:0 0 10px
    }
    .reservation__btn__tel {
        width:100%;
        max-width:312px;
        margin:0 auto 10px
    }
    .subject {
        padding:0 20px 1px;
        border-radius:11px;
        background:#fff;
        -webkit-box-shadow:7px 10px 20px rgba(0,0,0,.1);
        box-shadow:7px 10px 20px rgba(0,0,0,.1);
        margin:0
    }
    .subject__ttl {
        display:block;
        position:relative;
        padding:0 0 0 28px
    }
    .subject__container {
        display:none
    }
    .subject__container__in {
        padding:0 0 30px
    }
    .subject__box {
        padding:8px 15px;
        -webkit-box-pack:center;
        -ms-flex-pack:center;
        justify-content:center
    }
    .subject__box__ttl {
        display:none
    }
    .subject__note {
        text-align:left
    }
    .about {
        margin:0 0 78px
    }
    .about::before {
        content:none
    }
    .about__img {
        margin-right:-15px;
        margin-left:0
    }
    .about__wrap {
        margin:0;
        padding:35px 0 0
    }
    .about__ttl {
        display:-webkit-box;
        display:-ms-flexbox;
        display:flex;
        -ms-flex-wrap:wrap;
        flex-wrap:wrap;
        -webkit-writing-mode:initial;
        -ms-writing-mode:initial;
        writing-mode:initial;
        width:100%
    }
    .about__ttl__ja {
        width:100%;
        -webkit-box-ordinal-group:3;
        -ms-flex-order:2;
        order:2;
        margin:0
    }
    .about__container {
        padding:16px 0 0;
        gap:37px
    }
    .about__txt {
        width:100%
    }
    .staff {
        margin:0 0 75px
    }
    .staff__wrap {
        gap:0
    }
    .staff__img {
        width:calc(100% + 15px);
        margin-left:-15px;
        border-radius:0 20px 20px 0
    }
    .staff__container {
        width:100%;
        max-width:none
    }
    .staff__box {
        margin:0 0 20px
    }
    .staff__btn {
        margin:0 0 0 auto
    }
    .staff__txt {
        margin:0 0 30px
    }
    .staff__list {
        gap:0 20px;
        margin:0 0 52px
    }
    .staff__item {
        width:calc(100% - 10px) v
    }
    .staff__item__link {
        font-size:18px;
        padding:17px 25px 17px 2px
    }
    .column {
        padding:50px 0 75px
    }
    .column__box {
        margin:0 0 25px
    }
    .column__btn {
        margin:0 0 0 auto
    }
    .column__list {
        gap:30px 3.8%;
        margin:0 0 40px
    }
    .column__item {
        width:48.1%
    }
    .column__item__img {
        margin:0 0 13px
    }
    .bnr {
        padding:60px 0
    }
}
@media only screen and (max-width:1100px) {
    .mv {
        margin:0 0 22px;
        overflow:hidden
    }
    .mv__in {
        padding:0 15px
    }
    .mv__wrap {
        position:relative;
        bottom:auto;
        bottom:initial;
        left:auto;
        left:initial;
        padding:0
    }
    .mv__container {
        padding:37px 0 0
    }
    .mv__ttl {
        font-size:28px;
        line-height:1.3214285714;
        letter-spacing:.1em;
        margin:0
    }
    .mv__ttl span {
        white-space:nowrap;
        padding:0
    }
    .mv__ttl__sub span {
        display:inline-block;
        margin:0 0 0 -13px;
        padding:10px 15px 14px 12px;
        border-radius:0 0 11px 0
    }
    .mv__schedule {
        display:none
    }
    .mv .swiper {
        border-radius:10px;
        margin:-16px 0 0
    }
    .staff::before {
        content:none
    }
}
@media only screen and (max-width:1100px) and (min-width:768px) {
    .news__block {
        padding:25px
    }
    .news__ttl {
        width:220px
    }
    .news__list {
        width:calc(100% - 220px)
    }
    .about__container {
        width:calc(100% - 200px)
    }
    .staff {
        padding:0 0 60px
    }
}
@media only screen and (max-width:1000px) and (min-width:768px) {
    .info__block {
        width:100%
    }
    .column__list {
        gap:40px 4%
    }
    .column__item {
        width:48%
    }
}
@media only screen and (min-width:1401px) {
    .staff__img {
        margin-left:-50px;
        width:calc(50% + 50px);
        border-radius:24px
    }
}
@media only screen and (max-width:767px) and (min-width:501px) {
    .bnr__list {
        gap:20px;
        padding:0 35px
    }
    .bnr__item {
        width:calc(50% - 10px)
    }
}
@media only screen and (max-width:500px) {
    .bnr__list {
        gap:20px;
        padding:0 35px;
        -webkit-box-pack:center;
        -ms-flex-pack:center;
        justify-content:center
    }
    .bnr__item {
        width:100%
    }
}
