*,
::before,
::after {
    margin: 0;
    padding: 0;
}
:root {
    --swiper-navigation-size: 35px;
}
body {
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "BIZ UDPGothic", Meiryo, sans-serif;
    line-height: 1;
    color: rgb(68, 68, 68);
    text-align: justify;
    font-size: 15px;
    letter-spacing: 0.08em;
}

h1,
h2,
h3,
h4,
h5 {
    font-feature-settings: "palt";
    font-weight: normal;
}

h2,
h3 {
    line-height: 1.28;
}

h4,
h5 {
    line-height: 1.36;
}

h1 {
    font-size: 12px;
    text-align: left;
}

h2 {
    font-size: 7.2vw;
    letter-spacing: 0;
    text-align: center;
}

h3 {
    font-size: 6.4vw;
    text-align: center;
}

h4 {
    font-size: 4.8vw;
}

h5 {}

p {
    line-height: 200%;
}

*>p:not(:last-of-type) {
    margin-bottom: 1em;
}

a,
a:hover {
    text-decoration: none;
    transition-duration: 0.3s;
}

a:hover {
    color: #80c8d0;
}

li {
    line-height: 136%;
}

ul>li:not(:last-of-type) {
    margin-bottom: 0.8em;
}

em,
i {
    font-style: normal;
}

dt,
th {
    font-weight: normal;
}

figure>img,
picture>img {
    width: 100%;
    display: block;
}

.sp {
    display: block;
}

.pc {
    display: none;
}

.abr {
    display: inline-block;
}

.bbr {
    display: block;
}

.bg-botted01 {
    background-image: linear-gradient(-90deg, rgba(255, 255, 255, 0) 3px, rgba(255, 255, 255, .88) 3px), linear-gradient(rgba(255, 255, 255, 0) 3px, rgba(255, 255, 255, .88) 3px);
    background-position: 4px 0;
    background-size: 8px 8px;
}

.bg-botted02 {
    background-image: radial-gradient(rgba(200, 200, 200, .2) 10%, rgba(255, 255, 255, 0) 20%), radial-gradient(rgba(200, 200, 200, .2) 10%, rgba(255, 255, 255, 0) 20%);
    background-position: 0 8px, 8px 0;
    background-size: 16px 16px;
}

.bg-stripe {
    background: repeating-linear-gradient(90deg, #fff, #fff 5px, #fbfbfb 5px, #fbfbfb 10px);
}

.bg01 {
    background-color: rgba(255, 255, 255, 1);
}

.bg02 {
    background-color: rgba(244, 244, 248, 1);
}

.bg03 {}

.cl01 {
    color: #a8d8e0;
}

.cl02 {
    color: #80c8d0;
}

.cl03 {
    color: #40a8c0;
}

.cl04 {
    color: #fff;
}

/*KVロゴ明水色*/
.cl05 {
    color: #98d8e8;
}

.txt-center {
    text-align: center;
}

.txt-left {
    text-align: left;
}

.txt-right {
    text-align: right;
}

.serif {
    font-family: 游明朝, YuMincho, "Hiragino Mincho ProN", "MS P明朝", serif;
}

.font-en01 {
    font-family: 'Jost', "Hiragino Kaku Gothic Pro", Meiryo, sans-serif;
}

.font-en02 {
    font-family: 'Merriweather', YuMincho, "Hiragino Mincho ProN", serif;
}

.font-en03 {
    font-family: 'Mynerve', cursive;
}

.font-en04 {
    font-family: 'PT Mono', monospace;
}

.font-jp01 {
    font-family: 'Zen Maru Gothic', sans-serif;
}

.fs-lll {
    font-size: 1.44em;
}

.fs-ll {
    font-size: 1.36em;
}

.fs-l {
    font-size: 1.28em;
}

.fs-m {
    font-size: 1.12em;
}

.fs-s {
    font-size: 0.72em;
}

.fs-ss {
    font-size: 0.56em;
}

.fs-sss {
    font-size: 0.48em;
}

.fs-14 {
    font-size: 14px;
}

.ls-00 {
    letter-spacing: 0;
    font-feature-settings: 'palt';
}

.icon-ig,
.icon-fb,
.icon-line,
.icon01,
.icon-phone,
.icon-web {
    position: relative;
}

.icon-ig::before,
.icon-fb::before,
.icon-line::before,
.icon01::before,
.icon-phone::before,
.icon-web::before {
    content: '';
    background-repeat: no-repeat;
    background-size: 100%;
    display: block;
}

.icon-ig::before {
    background-image: url(../img/icon-ig.svg);
    width: 40px;
    height: 40px;
}

.icon-fb::before {
    background-image: url(../img/icon-fb.svg);
    width: 22px;
    height: 42px;
}

.icon-line::before {
    background-image: url(../img/icon-line.svg);
    width: 48px;
    height: 46px;
}

.icon01::before {
    background-image: url(../img/icon01.svg);
    width: 24px;
    height: 24px;
}

.icon-phone::before {
    background-image: url(../img/icon-phone03.svg);
    width: 32px;
    height: 32px;
}

.icon-web::before {
    background-image: url(../img/icon-web03.svg);
    width: 32px;
    height: 32px;
}

.h-line01,
.h-line02 {
    position: relative;
}

.h-line01::after,
.h-line02::after {
    content: '';
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
}

.h-line01::after {
    background-image: url(../img/h-line01.svg);
    width: 256px;
    height: 36px;
    bottom: -22px;
    right: -4vw;
    transform: rotate(-5deg);
}

.h-line02::after {
    background-image: url(../img/h-line02.svg);
    width: 244px;
    height: 44px;
    bottom: -32px;
    right: 0;
    transform: rotate(-5deg);
}

.kome,
.li-kome>li {
    position: relative;
    padding-left: 24px;
}

.kome::before,
.li-kome>li::before {
    content: '※';
    color: rgba(64, 168, 192, 1);
    position: absolute;
    top: 0;
    left: 0;
}

p.kome {
    line-height: 136%;
}

.btn-style {
    background-image: radial-gradient(circle 64px at 15% 50%, rgba(255, 255, 255, 0) 32px, rgba(128, 200, 208, .96) 0);
    border-radius: 8px;
    filter: drop-shadow(2px 2px 4px rgba(104, 104, 104, .16));
    width: 100%;
    max-width: 92%;
    min-height: 88px;
    margin: 0 auto;
    padding: 16px 8px 16px 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    position: relative;
    transition-duration: 0.3s;
}

.btn-style:hover {
    background-image: radial-gradient(circle 64px at 15% 50%, rgba(255, 255, 255, 0) 32px, #a8d8e0 0);
    filter: drop-shadow(-2px -2px 4px rgba(104, 104, 104, .16));
}

.btn-style_in {
    font-size: 16px;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.btn-style_in>span {
    display: block;
}

.btn-style_in .fs-s {
    font-size: 0.88em;
}

.btn-style_in::before,
.btn-style_in::after {
    color: rgba(128, 200, 208, 1);
    font-family: 'Mynerve', cursive;
    font-size: 14px;
    letter-spacing: 0;
    position: absolute;
    left: 8%;
    top: 50%;
}

.btn-style_in::before {
    content: 'booking';
    transform: translateY(-92%);
}

.btn-style_in::after {
    content: 'here';
    transform: translateY(8%);
}

.sc_inner {
    width: calc(100% - 32px);
    max-width: 1280px;
    margin-right: auto;
    margin-left: auto;
    padding-top: 72px;
    padding-bottom: 72px;
}

.topic-slider {
    /* width: 100%; */
    /* overflow: hidden; */
    padding-top: 0;
    padding-bottom: 0;
    position: relative;
}

.topic-slider::before,
.topic-slider::after {
    /* content: ''; */
    width: 24px;
    height: 24px;
    position: absolute;
    top: 50%;
    z-index: 1;
}

.topic-slider::before {
    border-top: solid 5px #eee;
    border-left: solid 5px #eee;
    left: 8px;
    transform: translateY(-50%) rotate(-45deg) skew(-3deg, -3deg);
}

.topic-slider::after {
    border-right: solid 4px #eee;
    border-bottom: solid 4px #eee;
    right: 8px;
    transform: translateY(-50%) rotate(-45deg) skew(-3deg, -3deg);
}

.ts_in {
    /* width: 1024px;
    max-width: 100%; */
    /* display: flex; */
    /* align-items: flex-start; */
    /* justify-content: space-evenly; */
    align-items: stretch;
}

.ts-board {
    position: relative;
    padding: 0 40px 32px;
    background-color: #fff;
}

.ts-board::after {
    content: '';
    background-color: rgba(240, 240, 240, .56);
    width: 92%;
    height: calc(100% - 32px);
    position: absolute;
    right: -5%;
    bottom: 0;
    /* top: 32px; */
}

.ts-photo,
.ts-txt {
    position: relative;
    z-index: 1;
}

.ts-photo {
    width: 96%;
    margin-bottom: 24px;
}
.ts-tag_wrap {
    margin-bottom: 0;
    display: flex;
    gap: 8px;
    background: #90B8E0;
    border-radius: 50%;
    width: 72px;
    height: 72px;
    align-items: center;
    justify-content: center;
    color: #fff;
}

.ts-tag {
    position: relative;
}

.ts-tag::after {
    background-color: rgba(152, 176, 176, 1);
    border-radius: 2px;
    color: #fff;
    font-size: 10px;
    font-weight: 300;
    line-height: 100;
    width: 56px;
    height: 16px;
    position: absolute;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ts-tag01::after {
    content: 'Info';
}

.ts-tag02::after {
    content: 'Event';
}

.ts-tag03::after {
    content: 'SNS';
}

.ts-content {}

.ts-txt {
    font-size: 17px;
    width: 80%;
    position: relative;
    text-align: left;
}

p.ts-txt {
    line-height: 1.36;
}

.ts-txt::before, .ts-txt::after {
    content: '';
    position: absolute;
    right: -7%;
    top: 23px;
    transform: translateY(-50%);
}

.ts-txt::before {
    border-top: solid 1px #a8d8e0;
    width: 20%;
    height: 1px;
}

.ts-txt::after {
    background-color: #a8d8e0;
    border-radius: 50%;
    width: 8px;
    height: 8px;
}

.cta {
    overflow: hidden;
}

.cta,
.cta_in,
.cta_in .sc_inner {
    position: relative;
}

.cta_in .sc_inner {
    padding-top: 96px;
}

.cta::before,
.cta::after,
.cta_in::before,
.cta_in::after,
.cta_in .sc_inner::before,
.cta_in .sc_inner::after {
    content: '';
    position: absolute;
    left: 50%;
}

.cta::before,
.cta::after {
    background-color: rgba(128, 200, 208, .48);
    width: 200%;
    height: 432px;
}

.cta_in::before,
.cta_in::after {
    background-color: rgba(200, 200, 208, .32);
    width: 200%;
    height: 432px;
}

.cta_in .sc_inner::before,
.cta_in .sc_inner::after {
    border-top: solid 1px rgba(128, 200, 208, .56);
    width: 200%;
    height: 1px;
}

.cta::before {
    transform: rotate(15deg) translateX(-50%);
    top: -30%;
}

.cta_in::before {
    transform: rotate(-11deg) translateX(-50%);
    top: -48%;
}

.cta_in .sc_inner::before {
    transform: translateX(-50%) rotate(-20deg);
    top: 2%;
}

.cta::after {
    transform: rotate(10deg) translateX(-50%);
    bottom: -48%;
}

.cta_in::after {
    transform: rotate(-15deg) translateX(-50%);
    bottom: -30%;
}

.cta_in .sc_inner::after {
    transform: translateX(-50%) rotate(-10deg);
    bottom: 3%;
}

.cta h3 {
    margin-bottom: 40px;
    position: relative;
}

.cta h3::before {
    content: 'Contact';
    color: #80c8d0;
    font-family: 'Mynerve', cursive;
    font-size: 18px;
    position: absolute;
    left: 48.5%;
    transform: translateX(-50%) scaleY(1.15) skewY(-25deg) rotate(20deg);
    top: -36px;
}

.cta h3>span:first-child {
    margin-bottom: 48px;
    position: relative;
}

.cta h3>span:first-child::before,
.cta h3>span:first-child::after {
    content: '';
    position: absolute;
}

.cta h3>span:first-child::before {
    border-bottom: solid 1px #a8d8e0;
    width: 80%;
    height: 1px;
    bottom: -24px;
    left: 50%;
    transform: translateX(-50%);
}

.cta h3>span:first-child::after {
    background-color: #a8d8e0;
    border-radius: 50%;
    width: 8px;
    height: 8px;
    bottom: -24px;
    right: calc(10%);
    transform: translateY(48%);
}

.cta .btn-style {
    margin-top: 48px;
    margin-bottom: 32px;
}

.cta h3+p,
.cta .li-kome {
    width: 80%;
    margin-right: auto;
    margin-left: auto;
}

.cta-call {
    background-color: rgba(240, 240, 240, 1);
    border-radius: 5px;
    display: block;
    line-height: 1em;
    width: 80%;
    margin: 32px auto 0;
    padding: 16px 0;
}

.cta-call:hover {
    background-color: #40a8c0;
}

.cta-call:hover .cl03 {
    color: #fff;
}

.cta-call .icon-phone {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.cta-call .icon-phone::before {
    width: 24px;
    height: 24px;
}

.cta-call:hover .icon-phone::before {
    background-image: url(../img/icon-phone02.svg);
}

.cta-info {
    margin-top: 56px;
}

.cta .info_tr {
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    gap: 16px;
}

.cta-info>.info_tr:not(:last-child) {
    margin-bottom: 8px;
}

.cta .info_th {
    background-color: rgba(240, 240, 240, .8);
    width: 72px;
    padding: 16px 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cta .info_td {
    width: calc(100% - 88px);
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.info_td.cl-hours {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}

.cl-hours>div {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.cl-hours01 {
    position: relative;
}

.cl-hours01::after {
    content: '';
    border-bottom: dotted 1px rgba(168, 216, 224, 1);
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: -8px;
}

.cl-hours>div .font-en01 {
    letter-spacing: 0.03em;
}

.cl-hours01_h,
.cl-hours02_h {
    position: relative;
}

.cl-hours01_h::before,
.cl-hours02_h::before {
    color: #80c8d0;
    font-family: 'Jost', "Hiragino Kaku Gothic Pro", Meiryo, sans-serif;
    width: 56px;
    height: 12px;
    position: absolute;
    left: 32px;
}

.cl-hours01_h::before {
    content: 'WEEKDAYS';
}

.cl-hours02_h::before {
    content: 'SATURDAY';
}

.ftr {
    background-image: url(../img/sampleimg01.jpg);
    background-position: 42% 0;
    background-repeat: no-repeat;
    background-size: cover;
    font-weight: 300;
    padding: 72px 0;
    overflow-x: hidden;
}

.ftr-logo {
    padding: 0 24px;
    position: relative;
    text-align: center;
}

.ftr-logo::after {
    content: '';
    background-image: url(../img/logo-line02short.svg);
    background-repeat: no-repeat;
    background-size: 100%;
    width: 408px;
    height: 80px;
    opacity: 0.8;
    position: absolute;
    top: 95%;
    left: 1%;
}

.ftr-logo h3 {
    margin-top: 56px;
    position: relative;
}

.ftr-logo h3::before {
    content: '';
    border-top: solid 1px rgba(255, 255, 255, .64);
    width: 32px;
    height: 1px;
    position: absolute;
    top: -34px;
    left: 50%;
    transform: translateX(-50%);
}

.ftr_in {
    background-color: rgba(64, 168, 192, .64);
    color: #fff;
    width: 85%;
    margin: -16px 0 0 auto;
    padding: 48px 32px 0;
}

.ftr_in01 .icon .fs-ss {
    color: rgba(255, 255, 255, 0);
    display: block;
    height: 1px;
    line-height: 1px;
}

.ftr_in01 .smile {
    display: block;
    color: #fff;
    letter-spacing: 0;
    margin-bottom: 5px;
    position: relative;
}

.ftr_in01 .smile::after {
    content: '';
    background-image: url(../img/logo-slime02.svg);
    background-repeat: no-repeat;
    background-size: 100%;
    width: 22px;
    height: 13px;
    margin-left: 4px;
    position: absolute;
    top: 4px;
}

.ftr_in01 .dl-tr {
    border-bottom: dotted 1px rgba(255, 255, 255, .5);
    padding: 16px 0;
    display: flex;
}

.ftr_in01 .dl-tr dd {
    line-height: 1.28;
    width: calc(100% - 32px);
    text-align: left;
}

.ftr_in01 .dl-tr:nth-child(3) {
    text-align: left;
}

.ftr_in01 .dl-tr:nth-child(3) dd>span {
    display: block;
}

.ftr_in01 .dl-tr:nth-child(3) dd>span .fs-s {
    letter-spacing: 0.1em;
}

.ftr-icon01,
.ftr-icon02,
.ftr-icon03 {
    width: 24px;
    margin-right: 8px;
    position: relative;
}

.ftr-icon01::before,
.ftr-icon02::before,
.ftr-icon03::before {
    content: '';
    background-repeat: no-repeat;
    background-size: 100%;
    display: block;
    margin-left: 4px;
}

.ftr-icon01::before {
    background-image: url(../img/ftr-icon01.svg);
    width: 15px;
    height: 22px;
    margin-top: 2px;
}

.ftr-icon02::before {
    background-image: url(../img/ftr-icon02.svg);
    width: 18px;
    height: 18px;
    margin-top: 3px;
}

.ftr-icon03::before {
    background-image: url(../img/ftr-icon03.svg);
    width: 18px;
    height: 16px;
}

.ftr-cta {
    background-color: rgba(255, 255, 255, .25);
    margin-top: 32px;
    padding: 24px 28px 36px;
}

.ftr-cta .flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.ftr-cta .flex-child {
    width: calc(50% - 3%);
}

.ftr-cta .icon-ig::before,
.ftr-cta .icon-fb::before {
    margin: auto;
}

.ftr-cta .ftr-cta_btn {
    margin-bottom: 32px;
    overflow: hidden;
}

.ftr-cta_btn01,
.ftr-cta_btn02 {
    border-radius: 8px;
    filter: drop-shadow(2px 2px 4px rgba(104, 104, 104, .16));
    line-height: 100%;
    padding: 12px 0;
    text-align: center;
}

.ftr-cta_btn01 {
    background-image: radial-gradient(circle 64px at 50% 32%, rgba(255, 255, 255, 0) 32px, #80C8D0 0);
    color: #fff;
    box-shadow: inset 1px 2px 2px 0px rgba(0, 0, 0, 0.15);
}

.ftr-cta_btn02 {
    background-image: radial-gradient(circle 64px at 50% 32%, rgba(255, 255, 255, 0) 32px, #40A8C0 0);
    box-shadow: inset 1px 2px 2px 0px rgba(0, 0, 0, 0.15);
}

a.ftr-cta_btn01:hover,
a.ftr-cta_btn02:hover {
    color: #fff;
}

.ftr-cta_btn01:hover {
    background-image: radial-gradient(circle 64px at 50% 32%, rgba(255, 255, 255, 0) 32px, #80C8D0 0);
    filter: drop-shadow(-3px -3px 5px rgba(104, 104, 104, .24));
    box-shadow: inset 1px 2px 5px 1px rgba(0, 0, 0, 0.25);
}

.ftr-cta_btn01:hover .icon-phone::before {
    background-image: url(../img/icon-phone03.svg);
}

.ftr-cta_btn02:hover {
    background-image: radial-gradient(circle 64px at 50% 32%, rgba(255, 255, 255, 0) 32px, #40A8C0 0);
    filter: drop-shadow(-3px -3px 5px rgba(104, 104, 104, .24));
    box-shadow: inset 1px 2px 5px 1px rgba(0, 0, 0, 0.25);
}

.ftr-cta_btn01 .icon-phone,
.ftr-cta_btn02 .icon-web {
    width: 64px;
    height: 64px;
    display: block;
    margin: 0 auto 12px;
    position: relative;
}

.ftr-cta_btn01 .icon-phone::before,
.ftr-cta_btn02 .icon-web::before {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
}

.ftr-cta_sns {
    position: relative;
}

.ftr-cta_sns::before {
    content: '';
    border-left: solid 1px rgba(255, 255, 255.8);
    width: 1px;
    height: 32px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
}

.ftr-cta .icon-ig::before {
    width: 32px;
    height: 32px;
}

.ftr-cta .icon-fb::before {
    width: 18px;
    height: 34px;
}

.ftr-map {
    position: relative;
    top: 32px;
}

.ftr-map iframe {
    width: calc(100vw - 32px);
    height: 304px;
    position: relative;
    left: calc(((100vw - 85vw) * -1) - 32px);
}

.ftr small {
    display: block;
    font-weight: 300;
    margin: 64px auto 8px;
    text-align: center;
}

@media screen and (min-width: 428px) {
    h2 {
        font-size: 30px;
    }

    h3 {
        font-size: 28px;
    }

    h4 {
        font-size: 22px;
    }

    .ts-txt {
        font-size: 20px;
    }

    .ftr small {
        font-size: 15px;
    }
}

/*    ■■■■■■■■■■■■    ■■■■■■■■■■■■    ■■■■■■■■■■■■    */
/*    ■■        ■■    ■■              ■■        ■■    */
/*    ■■        ■■    ■■              ■■        ■■    */
/*             ■■■    ■■■■■■■■■■■■    ■■■■■■■■■■■■    */
/*            ■■■     ■■        ■■    ■■        ■■    */
/*           ■■■      ■■        ■■    ■■        ■■    */
/*          ■■■       ■■■■■■■■■■■■    ■■■■■■■■■■■■    */
/*         ■■■■       ■■■■■■■■■■■■    ■■■■■■■■■■■■    */
@media screen and (min-width: 768px) {
    .pc {
        display: block;
    }

    .sp {
        display: none;
    }

    .btn-style {
        width: 80%;
        max-width: 504px;
    }

    .btn-style_in::before,
    .btn-style_in::after {
        left: 10.5%;
    }

    .ts_in {
        display: flex;
        /* align-items: flex-start; */
        justify-content: space-between;
        align-items: stretch;
    }

    .cta h3+p {
        text-align: center;
    }

    .cta .li-kome {
        width: 55%;
    }

    .cta::before {
        top: -24%;
    }

    .cta_in::before {
        top: -63%;
    }

    .cta::after {
        bottom: -64%;
    }

    .cta_in::after {
        transform: rotate(-12deg) translateX(-50%);
        bottom: -30%;
    }

    .cta_in .sc_inner::after {
        transform: translateX(-50%) rotate(-8deg);
        bottom: 2%;
    }

    .cta-info {
        display: flex;
        align-items: stretch;
        justify-content: center;
        gap: 40px;
    }

    .cta-info>.info_tr:not(:last-child) {
        margin-bottom: unset;
    }

    .cta-call {
        max-width: 328px;
    }
    .rsec__mv-bottom-slider .ts-board {
        padding: 0;
    }
    .ftr {
        padding-bottom: 0;
        position: relative;
    }

    .ftr_in {
        padding: 0;
        padding-top: 104px;
        padding-bottom: 72px;
        position: relative;
    }

    .ftr-logo {
        z-index: 1;
    }

    .ftr-logo .logo {
        display: block;
        width: 64%;
        max-width: 680px;
        margin: 0 auto 16px;
    }

    .ftr-logo::after {
        background-image: url(../img/logo-line02.svg);
        width: 1436px;
        max-width: 98%;
        height: 280px;
        top: 40%;
    }

    .ftr-logo h3 {
        font-size: 24px;
        font-weight: 100;
        margin-top: 72px;
        margin-bottom: -72px;
    }

    .ftr-logo h3::before {
        top: 48px;
    }

    .ftr_in01 {
        width: calc((100vw - 32px) / 2);
        max-width: calc((1280px / 2));
        margin-right: 32px;
        margin-left: auto;
        position: relative;
        z-index: 1;
    }

    .ftr_in01 .dl-tr {
        align-items: center;
    }

    .ftr_in01 .dl-tr:nth-child(2) dd .abr {
        margin-left: 16px;
    }

    .ftr_in01 .dl-tr:nth-child(3) {
        align-items: flex-start;
    }

    .ftr-cta {
        max-width: 432px;
    }

    .ftr-cta .ftr-cta_btn {
        flex-direction: column-reverse;
        gap: 8px;
    }

    .ftr-cta .flex-child {
        width: 100%;
        display: flex;
        align-items: center;
    }

    .ftr-cta_btn01,
    .ftr-cta_btn02 {
        padding: 8px 0;
    }

    .ftr-cta_btn01 {
        background-image: radial-gradient(circle 64px at 16% 50%, rgba(255, 255, 255, 0) 32px, #80C8D0 0);
    }

    .ftr-cta_btn02 {
        background-image: radial-gradient(circle 64px at 16% 50%, rgba(255, 255, 255, 0) 32px, #40A8C0 0);
    }

    .ftr-cta_btn01 .icon-phone,
    .ftr-cta_btn02 .icon-web {
        margin: unset;
        margin-left: 6%;
    }

    .ftr-cta_btn01 .font-en01 {
        font-size: 24px;
        padding-left: 24px;
    }

    .ftr-cta_btn02>span:last-of-type {
        margin-top: 4px;
        padding-left: 8px;
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    .ftr-cta_btn01:hover {
        background-image: radial-gradient(circle 64px at 16% 50%, rgba(255, 255, 255, 0) 32px, #80C8D0 0);
    }

    .ftr-cta_btn02:hover {
        background-image: radial-gradient(circle 64px at 16% 50%, rgba(255, 255, 255, 0) 32px, #40A8C0 0);
    }

    .ftr-cta .ftr-cta_sns .flex-child {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 16px;
    }

    .ftr-cta .icon-ig::before,
    .ftr-cta .icon-fb::before {
        margin: unset;
    }

    .ftr-cta .icon-ig::before {
        width: 24px;
        height: 24px;
    }

    .ftr-cta .icon-fb::before {
        width: 14px;
        height: 26px;
    }

    .ftr_in01 .ftr-cta .ftr-cta_sns .icon .fs-ss {
        color: #fff;
        font-size: 14px;
        font-weight: 300;
    }

    .ftr-map {
        width: 100%;
        position: absolute;
        top: 128px;
        left: 32px;
    }

    .ftr-map iframe {
        width: 50%;
        height: 600px;
    }

    .ftr small {
        margin-top: unset;
        position: absolute;
        bottom: 16px;
        left: 50%;
        transform: translateX(-50%);
    }
}

@media screen and (min-width:768px) and (max-width:1023px) {}


/*      ■■■■■■    ■■■■■■■■■■■■    ■■■■■■■■■         ■■       */
/*     ■■  ■■■    ■■        ■■   ■■        ■■      ■■        */
/*    ■■   ■■■    ■■        ■■   ■■       ■■      ■■  ■■     */
/*         ■■■    ■■        ■■          ■■■      ■■   ■■     */
/*         ■■■    ■■        ■■        ■■■■      ■■    ■■     */
/*         ■■■    ■■        ■■      ■■■■       ■■■■■■■■■■■■  */
/*        ■■■■    ■■■■■■■■■■■■    ■■■■■    ■■         ■■     */
/*      ■■■■■■■■  ■■■■■■■■■■■■   ■■■■■■■■■■■■        ■■■■    */
@media screen and (min-width: 1024px) {
    .sc_inner {
        padding-top: 104px;
        padding-bottom: 104px;
    }

    .h-line01::after {
        right: 16px;
    }

    .h-line02::after {
        right: 208px;
    }

    .topic-slider {
        padding-top: 80px;
        padding-bottom: 40px;
    }

    .topic-slider::before,
    .topic-slider::after {
        content: none;
    }

    .ts_in {
        margin-right: auto;
        margin-left: auto;
        width: 1280px;
        max-width: calc(100% - 32px);
    }

    .ts-board {
        width: 26.895vw;
        max-width: 408px;
        padding: 0;
        padding-bottom: 32px;
        height: auto;
        background-color: transparent;

    }

    .ts_in {
        width: 1414px;
        max-width: calc(100% - 88px);
        display: flex;
        /* align-items: flex-start; */
        /* /* justify-content: space-evenly; */
    }

    .cta_in .sc_inner {
        padding-top: 144px;
    }

    .cta h3 {
        margin-bottom: 64px;
    }

    .cta h3::before {
        font-size: 20px;
        top: -48px;
        left: 49.5%;
    }

    .cta::before {
        top: -12%;
    }

    .cta_in::before {
        top: -60%;
    }

    .cta_in .sc_inner::before {
        top: -1%;
    }

    .cta .btn-style {
        margin-top: 64px;
        margin-bottom: 48px;
    }

    .cta .li-kome {
        max-width: 432px;
    }

    .cta::after {
        bottom: -60%;
    }

    .cta_in::after {
        bottom: -22%;
    }

    .cta_in .sc_inner::after {
        bottom: 3%;
    }

    .ftr {
        padding-top: 104px;
    }

    .ftr_in {
        padding-bottom: 80px;
    }

    .ftr-logo h3 {
        margin-top: 136px;
    }

    .ftr_in01 .dl-tr:nth-child(1) dd .fs-lll {
        font-size: 28px;
    }

    .ftr_in01 .dl-tr:nth-child(3) dd {
        display: flex;
        gap: 8px;
    }

    .ftr-icon01,
    .ftr-icon02,
    .ftr-icon03 {
        margin-right: 8px;
    }

    .ftr-cta_btn01 .icon-phone,
    .ftr-cta_btn02 .icon-web {
        margin-left: 8%;
    }

    .ftr-cta_btn01 .font-en01 {
        font-size: 28px;
        padding-left: 32px;
    }

    .ftr-cta_btn02>span:last-of-type {
        padding-left: 24px;
    }

    .ftr-map iframe {
        height: 568px;
    }

    .ftr small {
        bottom: 22px;
    }
}



/*     ■■■■■■■■■■      ■■■■■■■■■■     */
/*      ■■      ■■■   ■■        ■■    */
/*      ■■       ■■■  ■■        ■■    */
/*      ■■       ■■■  ■■              */
/*      ■■      ■■■   ■■              */
/*      ■■■■■■■■■     ■■        ■■    */
/*      ■■            ■■■■■■■■■■■■    */
/*    ■■■■■■           ■■■■■■■■■■     */
@media screen and (min-width: 1200px) {
    h2 {
        font-size: 40px;
    }

    h3 {
        font-size: 32px;
    }

    h4 {
        font-size: 28px;
    }

    .cta::before {
        transform: rotate(12deg) translateX(-50%);
        top: -16%;
    }

    .cta_in::before {
        top: -64%;
    }

    .cta_in .sc_inner::before {
        transform: translateX(-50%) rotate(-20deg);
        top: -5%;
    }

    .cta::after {
        bottom: -60%;
    }

    .cta_in::after {
        bottom: -20%;
    }

    .cta_in .sc_inner::after {
        bottom: 2%;
    }

    .ftr_in {
        padding-top: 120px;
    }

    .ftr-logo h3 {
        margin-bottom: -80px;
    }

    .ftr_in01 .dl-tr:nth-child(3) dd {
        gap: 24px;
    }

    .ftr-icon01,
    .ftr-icon02,
    .ftr-icon03 {
        margin-right: 16px;
    }

    .ftr-map {
        top: 144px;
    }

    .ftr-map iframe {
        height: 568px;
    }
}

@media screen and (min-width: 1280px) {
    body {
        font-size: 16px;
    }

    .sc_inner {
        padding-top: 112px;
        padding-bottom: 128px;
    }

    .ftr {
        padding-top: 128px;
    }

    .ftr_in {
        padding-top: 176px;
    }

    .ftr-logo::after {
        top: 36%;
    }

    .ftr-logo h3 {
        margin-top: 144px;
        margin-bottom: -104px;
    }

    .ftr-logo h3::before {
        top: 56px;
    }

    .ftr-cta {
        max-width: 456px;
        padding: 32px 40px 36px;
    }

    .ftr-cta .ftr-cta_btn {
        gap: 16px;
    }

    .ftr-cta .ftr-cta_sns .flex-child {
        gap: 24px;
    }

    .ftr-cta .icon-ig::before {
        width: 28px;
        height: 28px;
    }

    .ftr-cta .icon-fb::before {
        width: 16px;
        height: 30px;
    }

    .ftr_in01 .ftr-cta .ftr-cta_sns .icon .fs-ss {
        font-size: 16px;
    }

    .ftr-map {
        top: 192px;
    }

    .ftr-map iframe {
        height: 604px;
    }
}

@media screen and (min-width: 1366px) {   
    .cta::before {
        top: -14%;
    }

    .cta_in .sc_inner::before {
        top: -3%;
    }

    .cta_in::after {
        bottom: -14%;
    }

    .cta_in .sc_inner::after {
        bottom: 3%;
    }

    .ftr_in01 {
        margin-right: calc((100vw - 1280px) / 2);
    }

    .ftr-map iframe {
        width: 45vw;
    }

    .ftr small {
        left: 48.5%;
    }
}

@media screen and (min-width: 1536px) {
    .ts-board {
        width: 408px;
    }

    .cta::before {
        top: -8%;
    }

    .cta::after {
        bottom: -64%;
    }

    .cta_in::after {
        bottom: -10%;
    }

    .ftr {
        padding-top: 144px;
    }
}

@media screen and (min-width: 1920px) {
    .cta::before {
        top: -4%;
    }

    .cta_in::before {
        top: -72%;
    }

    .cta::after {
        bottom: -72%;
    }

    .cta_in::after {
        bottom: -1%;
    }
}



.swiper-button-next,
.swiper-button-prev {
    color: #E5E5E5;
}

@media screen and (min-width: 768px) {
    .swiper-button-next,
    .swiper-button-prev {
        display: none;
    }
}

.ftr__bnr {
    margin: 40px auto 0;
    display: block;
    max-width: 280px;
    width: 100%;
}
.ftr__bnr img {
    width: 100%;
    height: auto;
}

@media screen and (min-width: 768px) {
    .ftr__bnr {
        max-width: 672px;
        margin-top: 64px;
    }
}