@charset "UTF-8";

/*
 * pages/top.css - トップページ専用スタイル
 * dcms_media/css/top-total.css から統合
 * アイコンフォント: fonts3/icon.* を使用
 */

/* アイコンフォント定義（fonts3） */
@font-face {
    font-family: "icon";
    src: url("/assets/dcms_media/css/fonts3/icon-7553ecfd.eot");
    src: url("/assets/dcms_media/css/fonts3/icon-7553ecfd.eot#iefix")format("eot"), url("/assets/dcms_media/css/fonts3/icon-9bbd0124.woff")format("woff"), url("/assets/dcms_media/css/fonts3/icon-bda95b59.ttf")format("truetype"), url("/assets/dcms_media/css/fonts3/icon-5795b7ec.svg#icon")format("svg");
    font-style: normal;
    font-display: swipe
}

/* .site-pagetop a::after のアイコン定義（fonts3版） */
.site-pagetop a::after {
    font-family: "icon" !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    -webkit-font-feature-settings: normal;
    font-feature-settings: normal;
    font-variant: normal;
    text-transform: none;
    text-indent: 0;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "";
    width: 50px;
    height: 50px;
    box-sizing: border-box;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-radius: 25px;
    border: 3px solid #ed6103;
    text-indent: 0;
    font-size: 24px;
    font-size: 2.4rem;
    background: #fff;
    -webkit-transition: background-color .3s ease, border-color .3s ease, color .3s ease;
    transition: background-color .3s ease, border-color .3s ease, color .3s ease
}

@media screen and (max-width:768px) {
    .site-pagetop a::after {
        border: 2px solid #ed6103;
        width: 46px;
        height: 46px
    }
}


.-dcmsadm .top-mv__img,
.-dcmsadm .top-mv__body,
#tinymce .top-mv__img,
#tinymce .top-mv__body {
    opacity: 1 !important
}

.bg-orange {
    background: #f06803;
    background: -webkit-linear-gradient(left, #f06803 0%, #ff9000 50%, #f06803 100%);
    background: linear-gradient(to right, #f06803 0%, #ff9000 50%, #f06803 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f06803', endColorstr='#f06803', GradientType=1)
}

@media screen and (max-width:768px) {
    .bg-orange {
        background: #f06803;
        background: -webkit-linear-gradient(left, #f06803 0%, #ff9000 30%, #ff9000 70%, #f06803 100%);
        background: linear-gradient(to right, #f06803 0%, #ff9000 30%, #ff9000 70%, #f06803 100%);
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f06803', endColorstr='#f06803', GradientType=1)
    }
}

.bg-orange>* {
    color: #fff
}

.cv-merit {
    background: #f4f4f4;
    box-shadow: 0px 2px 8px 0px rgba(53, 53, 53, .2);
    margin-bottom: 50px;
    padding: 0 20px
}

@media screen and (max-width:768px) {
    .cv-merit {
        padding: 0
    }
}

.cv-merit>* {
    padding: 30px 0
}

@media screen and (max-width:768px) {
    .cv-merit>* {
        padding: 20px 15px 40px
    }
}

.cv-merit__ttl {
    text-align: center;
    font-size: 3.6rem;
    font-weight: bold;
    margin-bottom: .1em
}

.cv-merit__detail {
    text-align: center
}

.cv-merit__reservation {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 20px -10px 20px
}

@media screen and (max-width:768px) {
    .cv-merit__reservation {
        margin: 0;
        display: block
    }
}

.cv-merit__reservation>* {
    width: 50%;
    padding: 10px
}

@media screen and (max-width:768px) {
    .cv-merit__reservation>* {
        width: 100%;
        padding: 0
    }
}

.cv-merit__reservation>* a {
    width: 100%
}

.cv-merit__reservation__btn a {
    position: relative;
    padding: 0;
    text-align: center;
    margin-bottom: 1.5rem;
    width: 380px;
    height: 70px;
    border-radius: 5px;
    box-shadow: none;
    background: #003af6;
    text-decoration: none;
    display: inline-block;
    line-height: 1;
    font-weight: bold;
    color: #fff
}

.cv-merit__reservation__btn a:hover {
    top: 2px;
    background: #121ecb
}

.cv-merit__reservation__btn a:before {
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    color: #fff;
    width: 70px;
    height: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 64px;
    font-size: 4rem;
    border-right: 1px solid #5a65ff
}

.cv-merit__reservation__btn a span {
    display: inline-block;
    vertical-align: middle;
    font-size: 2.3rem;
    line-height: 70px;
    margin-top: 1px
}

.cv-merit__reservation__btn a span.-label {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 16px;
    margin: auto;
    height: 30px;
    width: 50px;
    background: #0E15A8;
    font-size: 1.4rem;
    padding-top: 9px;
    border-radius: 5px;
    line-height: 1
}

.cv-merit__reservation__btn.shop a:before {
    font-family: "icon" !important;
    font-style: normal;
    font-weight: normal;
    -webkit-font-feature-settings: normal;
    font-feature-settings: normal;
    font-variant: normal;
    text-transform: none;
    text-indent: 0;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: ""
}

.cv-merit__reservation__btn.tel a:before {
    font-family: "icon" !important;
    font-style: normal;
    font-weight: normal;
    -webkit-font-feature-settings: normal;
    font-feature-settings: normal;
    font-variant: normal;
    text-transform: none;
    text-indent: 0;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: ""
}

.cv-merit__reservation__btn.movie a:before {
    font-family: "icon" !important;
    font-style: normal;
    font-weight: normal;
    -webkit-font-feature-settings: normal;
    font-feature-settings: normal;
    font-variant: normal;
    text-transform: none;
    text-indent: 0;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: ""
}

@media screen and (max-width:768px) {
    .cv-merit__item {
        padding: 30px 0 40px
    }

    .cv-merit__item+.cv-merit__item {
        border-top: 2px solid #8c8c8c
    }
}

.cv-merit__item__inner {
    padding: 30px;
    background: #fff
}

@media screen and (max-width:768px) {
    .cv-merit__item__inner {
        padding: 0;
        background: none
    }
}

.cv-merit__item .cv__reservation__btn a {
    width: 100%;
    margin-bottom: 0
}

.cv-merit__item__ttl {
    color: #ed6103;
    font-weight: bold;
    text-align: center;
    font-size: 3rem;
    margin-bottom: .5em;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

@media screen and (max-width:768px) {
    .cv-merit__item__ttl {
        font-size: 2.8rem
    }
}

.cv-merit__item__list {
    margin-bottom: 30px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media screen and (max-width:768px) {
    .cv-merit__item__list {
        margin-bottom: 20px
    }
}

.cv-merit__item__list>* {
    width: 100%;
    padding-left: 40px;
    font-size: 1.8rem;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    position: relative
}

@media screen and (max-width:768px) {
    .cv-merit__item__list>* {
        padding-left: 30px;
        font-size: 1.6rem
    }
}

.cv-merit__item__list>* strong {
    font-weight: bold
}

.cv-merit__item__list>*+* {
    margin-top: .5em
}

.cv-merit__item__list>*:before {
    content: "";
    width: 33px;
    height: 29px;
    background: url("/assets/dcms_media/image/icon_check-b87de5b1.png")left top no-repeat;
    background-size: contain;
    position: absolute;
    left: 0;
    top: -.1em
}

@media screen and (max-width:768px) {
    .cv-merit__item__list>*:before {
        width: 22px;
        height: 19px
    }
}

.cv-merit__tel {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.cv-merit__tel__ttl {
    font-size: 1.8rem;
    font-weight: bold;
    margin-right: .5em
}

.cv-merit__tel__detail {
    position: relative;
    padding-right: 60px
}

.cv-merit__tel__detail a {
    text-decoration: none;
    font-size: 3.4rem;
    font-weight: bold;
    color: #ed6103
}

.cv-merit__tel__type {
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    display: inline-block;
    color: #ed6103;
    background: #fff;
    border: 1px solid #ed6103;
    border-radius: 5px;
    padding: .1em .5em;
    font-weight: bold
}

.cv-merit .cv__tel {
    margin-top: 0
}

.cv {
    background: #f4f4f4;
    box-shadow: 0px 2px 8px 0px rgba(53, 53, 53, .2);
    margin-bottom: 80px
}

@media screen and (max-width:768px) {
    .cv {
        margin-bottom: 50px
    }
}

.cv>* {
    padding: 30px 0;
    max-width: 790px;
    margin: 0 auto
}

@media screen and (max-width:768px) {
    .cv>* {
        padding: 20px 15px 30px
    }
}

.cv__ttl {
    text-align: center;
    font-size: 3.6rem;
    font-weight: bold;
    margin-bottom: .1em
}

@media screen and (max-width:768px) {
    .cv__ttl {
        font-size: 3rem
    }
}

.cv__detail {
    text-align: center;
    font-size: 1.8rem
}

@media screen and (max-width:768px) {
    .cv__detail {
        font-size: 1.8rem;
        line-height: 1.4
    }
}

.cv__reservation {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 0-15px
}

@media screen and (max-width:768px) {
    .cv__reservation {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
}

.cv__reservation>* {
    width: 50%;
    padding: 15px
}

@media screen and (max-width:768px) {
    .cv__reservation>* {
        width: 100%
    }
}

.cv__reservation>* a {
    width: 100%
}

@media screen and (max-width:768px) {
    .cv__reservation>*.movie {
        padding-top: 5px
    }
}

.cv__reservation__btn a {
    position: relative;
    padding: 0;
    text-align: center;
    height: 70px;
    border-radius: 5px;
    box-shadow: none;
    background: #0052E8;
    text-decoration: none;
    display: inline-block;
    line-height: 1;
    font-weight: bold;
    color: #fff;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    top: 0
}

@media screen and (max-width:768px) {
    .cv__reservation__btn a {
        height: 64px
    }
}

.cv__reservation__btn a:hover {
    top: 2px;
    background: #073ACC
}

.cv__reservation__btn a:hover span.-label {
    background: #0531BA
}

.cv__reservation__btn a:before {
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    color: #fff;
    width: 70px;
    height: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 64px;
    font-size: 4rem;
    border-right: 1px solid #5a65ff
}

@media screen and (max-width:768px) {
    .cv__reservation__btn a:before {
        font-size: 54.4px;
        font-size: 3.4rem;
        width: 60px
    }
}

.cv__reservation__btn a span {
    display: inline-block;
    vertical-align: middle;
    font-size: 2.3rem;
    line-height: 70px;
    margin-top: 1px
}

@media screen and (max-width:900px) {
    .cv__reservation__btn a span {
        font-size: 1.8rem
    }
}

@media screen and (max-width:768px) {
    .cv__reservation__btn a span {
        line-height: 60px;
        font-size: 1.8rem
    }
}

.cv__reservation__btn a span.-label {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 16px;
    margin: auto;
    height: 30px;
    width: 50px;
    background: #0A4AD0;
    font-size: 1.4rem;
    padding-top: 9px;
    border-radius: 5px;
    line-height: 1
}

@media screen and (max-width:768px) {
    .cv__reservation__btn a span.-label {
        padding-top: 0;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        font-size: 1rem;
        height: 22px;
        width: 34px
    }
}

.cv__reservation__btn.shop a:before {
    font-family: "icon" !important;
    font-style: normal;
    font-weight: normal;
    -webkit-font-feature-settings: normal;
    font-feature-settings: normal;
    font-variant: normal;
    text-transform: none;
    text-indent: 0;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: ""
}

.cv__reservation__btn.tel a:before {
    content: "";
    width: 64px;
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.cv__reservation__btn.tel a:after {
    content: "";
    width: 19px;
    height: 30px;
    position: absolute;
    left: 22px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    background: url("/assets/dcms_media/other/common_img_icon_spphone-aee33562.svg")center center no-repeat;
    background-size: contain
}

.cv__reservation__btn.tel .business-hour-disabled {
    background: #fff;
    border: 2px solid #A5A5A5;
    color: #A5A5A5
}

.cv__reservation__btn.tel .business-hour-disabled::before {
    border-right: 1px solid #A5A5A5
}

.cv__reservation__btn.tel .business-hour-disabled::after {
    background: url("/assets/dcms_media/other/common_img_icon_spphone_off-5be8e51a.svg")center center no-repeat;
    background-size: contain
}

.cv__reservation__btn.tel .business-hour-disabled span.-label {
    background: #D9D9D9;
    color: #fff
}

.cv__reservation__btn.movie a:before {
    font-family: "icon" !important;
    font-style: normal;
    font-weight: normal;
    -webkit-font-feature-settings: normal;
    font-feature-settings: normal;
    font-variant: normal;
    text-transform: none;
    text-indent: 0;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: ""
}

.cv__tel {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 15px;
    line-height: 1
}

.cv__tel__ttl {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    font-size: 1.8rem;
    font-weight: bold;
    margin-right: .5em;
    line-height: 1
}

.cv__tel__detail {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    padding-right: 60px;
    line-height: 1
}

.cv__tel__detail a {
    text-decoration: none;
    font-size: 3.4rem;
    font-weight: bold;
    color: #ed6103
}

.cv__tel__type {
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    display: inline-block;
    color: #ed6103;
    background: #fff;
    border: 1px solid #ed6103;
    border-radius: 5px;
    padding: .3em .5em;
    font-weight: bold;
    line-height: 1
}

.cv__tel__sp {
    text-align: center;
    background: #fff;
    border: 1px solid #a7abad;
    border-radius: 5px;
    padding: 10px 5px;
    font-weight: bold;
    cursor: pointer;
    margin-top: 5px
}

.cv__tel__sp a {
    font-size: 1.8rem;
    text-decoration: none;
    color: #ed6103
}

.cv__tel__sp__label {
    margin-left: 5px;
    padding: .4em .5em;
    color: #ed6103;
    border: 1px solid #ed6103;
    border-radius: 100px;
    font-size: 1rem
}

_:-ms-lang(x)::-ms-backdrop,
.cv__tel__ttl {
    margin-bottom: 10px
}

.mod-faq-v2 .item .a a[href^="tel:"] {
    color: #0052E7
}

@media screen and (max-width:992px) {
    a[href^="tel:"] {
        pointer-events: all
    }
}

.-dcmsadm #modal-shops,
.-dcmsadm .mod-faq-v2 .item .a {
    display: block !important
}

#tinymce #modal-shops {
    display: block !important
}

#tinymce #modal-shops .hidden__pc,
#tinymce #modal-shops .hidden__sp {
    display: block !important
}

#tinymce #modal-shops .ui-modal-body {
    max-height: none !important
}

#tinymce .mod-faq-v2 .item .a {
    display: block !important
}

.entry {
    background: #f4f4f4;
    padding-bottom: 70px
}

.entry__ttl {
    text-align: center;
    margin-bottom: 20px
}

@media screen and (max-width:768px) {
    .entry__ttl {
        text-align: left
    }
}

.entry__ttl>* {
    display: inline-block
}

.entry__ttl__type {
    color: #fff;
    background: #ed6103;
    font-size: 3.4rem;
    padding: .6em;
    font-weight: bold;
    margin-right: 15px;
    line-height: 1
}

@media screen and (max-width:768px) {
    .entry__ttl__type {
        padding: .2em .4em;
        line-height: 1;
        font-size: 2.6rem
    }
}

.entry__ttl__main {
    font-weight: bold;
    font-size: 3.8rem;
    padding-top: 10px;
    line-height: 1
}

@media screen and (max-width:768px) {
    .entry__ttl__main {
        margin-top: 10px;
        font-size: 3.4rem;
        display: block;
        text-align: center
    }
}

.entry__detail {
    line-height: 1.6;
    font-size: 1.8rem;
    text-align: center;
    margin-bottom: 20px
}

@media screen and (max-width:768px) {
    .entry__detail {
        font-size: 1.6rem
    }
}

.entry__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin: -10px
}

@media screen and (max-width:768px) {
    .entry__list {
        margin: 0;
        display: block
    }
}

.entry__item {
    width: 33.3333%;
    padding: 10px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
}

@media screen and (max-width:768px) {
    .entry__item {
        padding: 0;
        width: 100%
    }

    .entry__item+.entry__item {
        margin-top: 40px
    }
}

.entry__item__inner {
    border-radius: 5px;
    padding: 20px;
    background: #fff
}

@media screen and (max-width:768px) {
    .entry__item__inner {
        width: 100%
    }
}

.entry__item__ttl {
    text-align: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column;
    -ms-flex-flow: column;
    flex-flow: column;
    font-size: 1.6rem;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    margin-bottom: 20px
}

.entry__item__ttl strong {
    font-size: 26px;
    color: #ed6103;
    font-weight: bold;
    line-height: 1.4
}

@media screen and (max-width:768px) {
    .entry__item__ttl strong br {
        display: none
    }
}

.entry__item__img {
    text-align: center
}

.entry__item__learn {
    background: #ed6103;
    display: inline-block;
    color: #fff;
    font-size: 1.8rem;
    font-weight: bold;
    padding: .1em .5em;
    margin: 20px 0 10px
}

.entry__item__list>* {
    position: relative;
    padding-left: 1em
}

@media screen and (max-width:768px) {
    .entry__item__list>* {
        font-size: 1.5rem
    }
}

.entry__item__list>*:before {
    position: absolute;
    left: 0;
    top: .5em;
    content: "";
    width: .5em;
    height: .5em;
    background: #ed6103;
    border-radius: 100%
}

@media screen and (max-width:768px) {
    .entry__item__list>* br {
        display: none
    }
}

.entry__item__btn {
    margin-top: 20px
}

.entry__item__btn a {
    display: block;
    text-align: center;
    background: #fff;
    color: #ed6103;
    border: 2px solid #a7abad;
    font-size: 2.2rem;
    font-weight: bold;
    text-decoration: none;
    border-radius: 5px;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

@media screen and (max-width:768px) {
    .entry__item__btn a {
        font-size: 1.8rem
    }
}

.entry__item__btn a:hover {
    background: #ed6103;
    color: #fff;
    border-color: #ed6103
}

@media screen and (max-width:768px) {
    .entry .full-width__inner {
        padding: 0 15px
    }
}

_:-ms-lang(x)::-ms-backdrop,
.entry__ttl__type {
    padding-top: 1em;
    line-height: .5;
    vertical-align: bottom
}

_:-ms-lang(x)::-ms-backdrop,
.entry__item__learn {
    padding-top: .5em
}

_:-ms-lang(x)::-ms-backdrop,
.entry__item__btn a {
    padding-top: .5em
}

.faq {
    padding: 140px 20px 70px
}

@media screen and (max-width:768px) {
    .faq {
        padding-top: 70px;
        padding-bottom: 35px
    }
}

.mod-faq-v2 .contentsHeading {
    margin-bottom: 2rem;
    text-align: center;
    font-size: 2.4rem;
    font-weight: bold
}

@media screen and (max-width:768px) {
    .mod-faq-v2 .contentsHeading {
        font-size: 2rem;
        margin-bottom: .5rem
    }
}

.mod-faq-v2 .linktext {
    margin-bottom: 30px;
    text-align: center
}

.mod-faq-v2 .linktext a {
    color: #ed6103
}

.mod-faq-v2 .linktext a:hover {
    text-decoration: none
}

.mod-faq-v2 .body {
    border-radius: 3px;
    border-bottom: none
}

.mod-faq-v2 .item {
    line-height: 1.4
}

.mod-faq-v2 .item .q,
.mod-faq-v2 .item .a {
    padding: 28px 24px
}

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

    .mod-faq-v2 .item .q,
    .mod-faq-v2 .item .a {
        padding: 2rem 3rem 2rem 2rem
    }
}

.mod-faq-v2 .item .q a,
.mod-faq-v2 .item .a a {
    color: #ed6103
}

.mod-faq-v2 .item .q a:hover,
.mod-faq-v2 .item .a a:hover {
    text-decoration: none
}

.mod-faq-v2 .item .q {
    position: relative;
    border: 1px solid #eeeeee;
    border-bottom: none;
    cursor: pointer;

    &.-active {
        padding-bottom: 0
    }

    &.-last {
        border-bottom: 1px solid #eeeeee
    }

    &.-last.-active {
        border-bottom: none
    }
}

@media screen and (max-width:768px) {
    .mod-faq-v2 .item .q {
        background: #fff;
        padding: 20px 10px 20px 20px
    }
}

.mod-faq-v2 .item .q:before {
    display: inline-block;
    margin-right: 46px;
    content: "Q";
    color: #ED6103;
    font-size: 32px;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1;
    vertical-align: top
}

@media screen and (max-width:768px) {
    .mod-faq-v2 .item .q:before {
        margin-right: 0;
        font-size: 1.8rem
    }
}

.mod-faq-v2 .item .q span {
    display: inline-block;
    max-width: 825px;
    vertical-align: top;
    font-size: 1.6rem
}

@media screen and (max-width:768px) {
    .mod-faq-v2 .item .q span {
        padding-left: .6em;
        width: calc(100% - 30px)
    }
}

.mod-faq-v2 .item .q::after {
    position: absolute;
    background-image: url("/assets/dcms_media/other/icon_top_arrow-1641c94f.svg");
    top: -5px;
    bottom: 0;
    right: 24px;
    margin: auto;
    content: "";
    width: 16px;
    height: 16px;
    transition: all .3s ease
}

@media screen and (max-width:768px) {
    .mod-faq-v2 .item .q::after {
        right: 10px
    }
}

.mod-faq-v2 .item .a {
    display: none;
    border-left: 1px solid #eeeeee;
    border-right: 1px solid #eeeeee;

    &.-last {
        border-bottom: 1px solid #eeeeee
    }
}

.mod-faq-v2 .item .a:before {
    display: inline-block;
    margin-right: 46px;
    content: "A";
    font-size: 32px;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1;
    vertical-align: top
}

@media screen and (max-width:768px) {
    .mod-faq-v2 .item .a:before {
        margin-right: 0;
        font-size: 1.8rem
    }
}

.mod-faq-v2 .item .a p {
    display: inline-block;
    max-width: 825px;
    vertical-align: top;
    font-size: 1.6rem
}

@media screen and (max-width:768px) {
    .mod-faq-v2 .item .a p {
        padding-left: .6em;
        width: calc(100% - 30px)
    }
}

.mod-faq-v2 .item .-active.q::after {
    top: 5px;
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg)
}

.mod-faq-v2 .item.open:last-of-type .q {
    border-bottom: 1px solid #eeeeee
}

.mod-faq-v2 .contents-wrap {
    margin-bottom: 40px
}

.link-box__inner {
    position: relative;
    padding: 30px;
    border-radius: 10px;
    background: #fff
}

@media screen and (max-width:992px) {
    .link-box__inner {
        padding: 30px 10px
    }
}

@media screen and (max-width:768px) {
    .link-box__inner {
        padding: 20px 20px
    }
}

.link-box__ttl {
    padding-left: 80px;
    position: relative;
    margin-bottom: 30px
}

@media screen and (max-width:992px) {
    .link-box__ttl {
        padding-left: 60px
    }
}

@media screen and (max-width:768px) {
    .link-box__ttl {
        margin-bottom: 15px;
        padding-left: 0
    }
}

@media screen and (max-width:768px) {
    .link-box__ttl__inner {
        padding-left: 60px;
        position: relative
    }
}

.link-box__ttl-txt {
    color: #ed6103;
    font-size: 2.2rem;
    font-weight: bold
}

@media screen and (max-width:992px) {
    .link-box__ttl-txt {
        font-size: 2rem
    }
}

@media screen and (max-width:768px) {
    .link-box__ttl-txt {
        margin-bottom: 10px
    }
}

.link-box__ttl-desc {
    font-weight: bold;
    font-size: 1.5rem
}

@media screen and (max-width:768px) {
    .link-box__ttl-desc {
        font-size: 1.4rem
    }
}

.link-box__ttl-icon {
    position: absolute;
    left: 0;
    top: 0
}

@media screen and (max-width:992px) {
    .link-box__ttl-icon img {
        max-width: 48px
    }
}

@media screen and (max-width:768px) {
    .link-box__ttl-icon {
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        left: 0
    }
}

.link-box .-gray {
    background: #f4f4f4
}

.link-box__qr {
    text-align: center
}

/*! Lity - v2.4.1 - 2020-04-26
* http://sorgalla.com/lity/
* Copyright (c) 2015-2020 Jan Sorgalla; Licensed MIT */
.lity {
    z-index: 9990;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    white-space: nowrap;
    background: #0b0b0b;
    background: rgba(0, 0, 0, .9);
    outline: none !important;
    opacity: 0;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease
}

.lity.lity-opened {
    opacity: 1
}

.lity.lity-closed {
    opacity: 0
}

.lity * {
    box-sizing: border-box
}

.lity-wrap {
    z-index: 9990;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    text-align: center;
    outline: none !important
}

.lity-wrap:before {
    content: "";
    display: inline-block;
    height: 100%;
    vertical-align: middle;
    margin-right: -0.25em
}

.lity-loader {
    z-index: 9991;
    color: #fff;
    position: absolute;
    top: 50%;
    margin-top: -0.8em;
    width: 100%;
    text-align: center;
    font-size: 14px;
    font-family: Arial, Helvetica, sans-serif;
    opacity: 0;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease
}

.lity-loading .lity-loader {
    opacity: 1
}

.lity-container {
    z-index: 9992;
    position: relative;
    text-align: left;
    vertical-align: middle;
    display: inline-block;
    white-space: normal;
    max-width: 100%;
    max-height: 100%;
    outline: none !important
}

.lity-content {
    z-index: 9993;
    width: 100%;
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease
}

.lity-loading .lity-content,
.lity-closed .lity-content {
    -webkit-transform: scale(0.8);
    transform: scale(0.8)
}

.lity-content:after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    display: block;
    right: 0;
    width: auto;
    height: auto;
    z-index: -1;
    box-shadow: 0 0 8px rgba(0, 0, 0, .6)
}

.lity-close {
    z-index: 9994;
    width: 35px;
    height: 35px;
    position: fixed;
    right: 0;
    top: 0;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    text-decoration: none;
    text-align: center;
    padding: 0;
    color: #fff;
    font-style: normal;
    font-size: 35px;
    font-family: Arial, Baskerville, monospace;
    line-height: 35px;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .6);
    border: 0;
    background: none;
    outline: none;
    box-shadow: none
}

.lity-close::-moz-focus-inner {
    border: 0;
    padding: 0
}

.lity-close:hover,
.lity-close:focus,
.lity-close:active,
.lity-close:visited {
    text-decoration: none;
    text-align: center;
    padding: 0;
    color: #fff;
    font-style: normal;
    font-size: 35px;
    font-family: Arial, Baskerville, monospace;
    line-height: 35px;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .6);
    border: 0;
    background: none;
    outline: none;
    box-shadow: none
}

.lity-close:active {
    top: 1px
}

.lity-image img {
    max-width: 100%;
    display: block;
    line-height: 0;
    border: 0
}

.lity-iframe .lity-container,
.lity-youtube .lity-container,
.lity-vimeo .lity-container,
.lity-facebookvideo .lity-container,
.lity-googlemaps .lity-container {
    width: 100%;
    max-width: 964px
}

.lity-iframe-container {
    width: 100%;
    height: 0;
    padding-top: 56.25%;
    overflow: auto;
    pointer-events: auto;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-overflow-scrolling: touch
}

.lity-iframe-container iframe {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-shadow: 0 0 8px rgba(0, 0, 0, .6);
    background: #1f1f1f
}

.lity-hide {
    display: none
}

#g-nav {
    margin-top: 5px
}

@media screen and (max-width:768px) {
    #g-nav {
        margin-top: 0
    }
}

#g-nav.mod-nav {
    padding: 0;
    z-index: 30;
    position: relative
}

@media screen and (max-width:768px) {
    #g-nav.mod-nav {
        padding: 10px;
        margin-top: 50px
    }
}

#g-nav.mod-nav {
    width: 100%;
    font-size: 1.8rem;
    font-weight: bold;
    background: #fff
}

#g-nav.mod-nav ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    border-bottom: 1px solid #bdc8ca;
    padding: 10px 20px
}

#g-nav.mod-nav ul li {
    width: 100%;
    max-width: 188px
}

#g-nav.mod-nav ul li a {
    display: block;
    margin: 0 5px;
    padding: 5px 5px;
    color: inherit;
    text-decoration: none;
    border: 1px solid #bdc8ca;
    border-radius: 4px;
    box-shadow: 0 1px 2px rgba(132, 132, 132, .3);
    font-weight: 800;
    font-size: 1.8rem;
    font-family: "Montserrat", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

@media screen and (max-width:992px) {
    #g-nav.mod-nav ul li a {
        font-size: 1.5rem !important;
        letter-spacing: 0
    }
}

@media screen and (max-width:800px) {
    #g-nav.mod-nav ul li a {
        font-size: 1.4rem !important
    }
}

#g-nav.mod-nav ul li a:hover {
    background: #fffea4;
    border-color: #ed6103;
    color: #ed6103
}

#g-nav.mod-nav ul li a.current {
    background: #ed6103;
    border-color: #ed6103;
    color: white;
    box-shadow: none
}

#g-nav.mod-nav ul li a:hover {
    box-shadow: none
}

#g-nav.mod-nav ul li a.current {
    pointer-events: none
}

#g-nav.mod-nav ul li:first-child a {
    margin-left: 0
}

#g-nav.mod-nav ul li:last-child a {
    margin-right: 0
}

.mv {
    padding: 20px;
    background: url("/assets/dcms_media/image/bg_mv-9070c669.png")bottom center no-repeat #ed6103
}

@media screen and (max-width:768px) {
    .mv {
        background-image: url("/assets/dcms_media/image/bg_mv_sp-40802b17.png");
        background-position: center center;
        background-size: 100%auto
    }
}

.mv>* {
    padding-left: 0;
    padding-right: 0
}

.mv__main {
    padding-left: 40px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end
}

@media screen and (max-width:768px) {
    .mv__main {
        padding-left: 0;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center
    }
}

.mv__ttl {
    position: relative;
    margin-bottom: 50px;
    width: 470px
}

@media screen and (max-width:992px) {
    .mv__ttl {
        width: 50%
    }
}

@media screen and (max-width:768px) {
    .mv__ttl {
        width: 100%;
        max-width: 335px;
        margin: 0 auto
    }
}

.mv__ttl::before,
.mv__ttl::after {
    position: absolute;
    bottom: 0;
    font-family: "icon" !important;
    font-style: normal;
    font-weight: normal;
    -webkit-font-feature-settings: normal;
    font-feature-settings: normal;
    font-variant: normal;
    text-transform: none;
    text-indent: 0;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "";
    color: #fff;
    font-size: 56px;
    font-size: 3.5rem
}

@media screen and (max-width:939px) {

    .mv__ttl::before,
    .mv__ttl::after {
        font-size: 44.8px;
        font-size: 2.8rem
    }
}

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

    .mv__ttl::before,
    .mv__ttl::after {
        font-size: 28.8px;
        font-size: 1.8rem
    }
}

.mv__ttl::before {
    left: -4px;
    bottom: 5px;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

@media screen and (max-width:768px) {
    .mv__ttl::before {
        left: -3px;
        bottom: 3px
    }
}

.mv__ttl::after {
    right: 0;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

.mv__ttl__inner {
    padding: 35px 0
}

@media screen and (max-width:768px) {
    .mv__ttl__inner {
        padding: 20px 10px
    }
}

.mv__ttl__inner::before,
.mv__ttl__inner::after {
    position: absolute;
    top: 0;
    font-family: "icon" !important;
    font-style: normal;
    font-weight: normal;
    -webkit-font-feature-settings: normal;
    font-feature-settings: normal;
    font-variant: normal;
    text-transform: none;
    text-indent: 0;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "";
    color: #fff;
    font-size: 48px;
    font-size: 3rem
}

@media screen and (max-width:939px) {

    .mv__ttl__inner::before,
    .mv__ttl__inner::after {
        font-size: 44.8px;
        font-size: 2.8rem
    }
}

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

    .mv__ttl__inner::before,
    .mv__ttl__inner::after {
        font-size: 28.8px;
        font-size: 1.8rem
    }
}

.mv__ttl__inner::before {
    left: 0
}

.mv__ttl__inner::after {
    right: -4px;
    top: 5px;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
}

@media screen and (max-width:768px) {
    .mv__ttl__inner::after {
        right: -3px;
        top: 3px
    }
}

.mv__ttl__inner>* {
    text-align: center;
    color: #fff;
    font-size: 3.6rem;
    font-weight: bold;
    line-height: 1.2;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt"
}

@media screen and (max-width:939px) {
    .mv__ttl__inner>* {
        font-size: 3rem
    }
}

@media screen and (max-width:768px) {
    .mv__ttl__inner>* {
        font-size: 2rem
    }
}

@media screen and (max-width:373px) {
    .mv__ttl__inner>* {
        font-size: 1.8rem
    }
}

.mv__ttl__inner .-big {
    line-height: 1.4;
    font-size: 5.6rem
}

@media screen and (max-width:939px) {
    .mv__ttl__inner .-big {
        font-size: 5rem
    }
}

@media screen and (max-width:768px) {
    .mv__ttl__inner .-big {
        font-size: 3.6rem
    }
}

@media screen and (max-width:373px) {
    .mv__ttl__inner .-big {
        font-size: 3rem
    }
}

.mv__ttl__inner .-small {
    font-size: 80%
}

.mv__level {
    text-align: center
}

.mv__level>* {
    display: inline-block
}

.mv__level>* img {
    vertical-align: middle
}

.mv__level__img {
    text-align: right;
    width: 86.5555%;
    margin-right: -130px
}

@media screen and (max-width:992px) {
    .mv__level__img {
        width: 80%
    }
}

@media screen and (max-width:768px) {
    .mv__level__img {
        max-width: 250px;
        width: 70%;
        margin-right: -50px
    }
}

.mv__level__txt {
    text-align: left
}

.mv__level__txt img {
    margin-top: 130px
}

@media screen and (max-width:768px) {
    .mv__level__txt img {
        margin-top: 0
    }
}

@media screen and (max-width:768px) {
    .mv__level__txt {
        width: 130px;
        vertical-align: bottom;
        padding-bottom: 10px
    }
}

@media screen and (max-width:373px) {
    .mv__level__txt {
        width: 100px
    }
}

.notice {
    margin-top: 112px;
    padding: 10px 0
}

@media screen and (max-width:768px) {
    .notice {
        margin-top: 50px
    }
}

.notice p {
    line-height: 1.4;
    font-size: 1.4rem
}

@media screen and (max-width:768px) {
    .notice p {
        line-height: 1.6;
        -webkit-font-feature-settings: "palt";
        font-feature-settings: "palt";
        font-size: 1.2rem
    }
}

.notice p a {
    color: #0046af
}

.notice p a:hover {
    text-decoration: none
}

.promise {
    width: 100%;
    margin: 0 auto
}

.promise__inner {
    background: #fff;
    border-radius: 10px;
    margin-bottom: 5px;
    padding: 40px 50px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between
}

@media screen and (max-width:992px) {
    .promise__inner {
        padding: 20px 30px;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center
    }
}

@media screen and (max-width:768px) {
    .promise__inner {
        border-radius: 5px;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        padding: 15px;
        max-width: 440px;
        margin-left: auto;
        margin-right: auto
    }
}

.promise__ttl {
    text-align: center;
    font-weight: bold;
    font-size: 2.6rem;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    line-height: 1.4;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

@media screen and (max-width:992px) {
    .promise__ttl {
        padding-right: 20px;
        font-size: 2rem
    }
}

@media screen and (max-width:768px) {
    .promise__ttl {
        padding-right: 0;
        font-size: 1.8rem
    }
}

.promise__ttl strong {
    color: #ed6103;
    font-size: 4.8rem;
    line-height: 1.4
}

@media screen and (max-width:992px) {
    .promise__ttl strong {
        font-size: 4rem
    }
}

@media screen and (max-width:768px) {
    .promise__ttl strong {
        font-size: 2rem
    }
}

@media screen and (max-width:768px) {
    .promise__ttl strong .-big {
        font-size: 2.6rem
    }
}

.promise__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin: -15px;
    width: 62%
}

@media screen and (max-width:992px) {
    .promise__list {
        width: 57%;
        margin: -10px
    }
}

@media screen and (max-width:768px) {
    .promise__list {
        width: auto
    }
}

.promise__list__item {
    width: 33.3333%;
    padding: 15px
}

@media screen and (max-width:992px) {
    .promise__list__item {
        padding: 10px
    }
}

.promise__list__item:nth-child(1) .promise__list__tilte:before {
    content: "1"
}

.promise__list__item:nth-child(2) .promise__list__tilte:before {
    content: "2"
}

.promise__list__item:nth-child(3) .promise__list__tilte:before {
    content: "3"
}

.promise__list__tilte {
    font-size: 3.2rem;
    font-weight: bold;
    color: #fff;
    text-align: center;
    line-height: 1.2;
    position: relative;
    z-index: 0;
    margin: 40px 0;
    letter-spacing: 0
}

@media screen and (max-width:992px) {
    .promise__list__tilte {
        margin: 50px 0;
        font-size: 2.2rem
    }
}

@media screen and (max-width:768px) {
    .promise__list__tilte {
        margin: 50px 0 30px;
        font-size: 1.8rem
    }
}

.promise__list__tilte::before {
    width: 45px;
    height: 45px;
    font-size: 57.6px;
    font-size: 3.6rem;
    font-weight: bold;
    border: 3px solid #ed6103;
    left: 50%;
    top: -60px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    position: absolute;
    z-index: 10;
    color: #ed6103;
    background: #fff;
    border-radius: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

@media screen and (max-width:992px) {
    .promise__list__tilte::before {
        font-size: 41.6px;
        font-size: 2.6rem;
        width: 37px;
        height: 37px
    }
}

@media screen and (max-width:768px) {
    .promise__list__tilte::before {
        left: 6vw;
        top: -44px
    }
}

.promise__list__tilte::after {
    z-index: -1;
    content: "";
    display: block;
    width: 146px;
    height: 146px;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
    background: #ed6103;
    border-radius: 100%
}

@media screen and (max-width:992px) {
    .promise__list__tilte::after {
        width: 15vw;
        height: 15vw
    }
}

@media screen and (max-width:768px) {
    .promise__list__tilte::after {
        width: 94px;
        height: 94px
    }
}

.promise__list__detail {
    text-align: center;
    font-size: 1.4rem;
    line-height: 1.4;
    font-weight: bold;
    letter-spacing: -1px
}

@media screen and (max-width:992px) {
    .promise__list__detail br {
        display: none
    }
}

@media screen and (max-width:768px) {
    .promise__list__detail {
        font-size: 1rem;
        text-align: left
    }
}

.promise__note {
    font-size: 1.4rem;
    color: #fff;
    padding-left: 1em;
    text-indent: -1em;
    line-height: 1.2
}

@media screen and (max-width:768px) {
    .promise__note {
        font-size: 1rem;
        max-width: 440px;
        margin-left: auto;
        margin-right: auto
    }
}

.reason {
    background: #f4f4f4;
    padding-bottom: 50px;
    margin-bottom: 90px
}

@media screen and (max-width:768px) {
    .reason {
        padding-bottom: 15px;
        margin-bottom: 50px
    }
}

.reason .full-width__inner {
    padding: 0
}

.reason__ttl {
    text-align: left;
    padding: 30px 0
}

@media screen and (max-width:768px) {
    .reason__ttl {
        padding: 15px 0
    }
}

.reason__ttl>* {
    max-width: 940px;
    margin: 0 auto;
    padding-left: 45px;
    position: relative
}

@media screen and (max-width:768px) {
    .reason__ttl>* {
        padding-left: 15px;
        padding-right: 120px
    }
}

.reason__ttl>*:before {
    content: "";
    width: 226px;
    height: 239px;
    background: url("/assets/dcms_media/image/character_homes_03-cfeba73a.png")left bottom no-repeat;
    background-size: contain;
    position: absolute;
    right: 30px;
    bottom: -30px;
    z-index: 10
}

@media screen and (max-width:992px) {
    .reason__ttl>*:before {
        right: 10px
    }
}

@media screen and (max-width:768px) {
    .reason__ttl>*:before {
        right: 0;
        bottom: -15px;
        width: 117px;
        height: 165px;
        background-image: url("/assets/dcms_media/image/character_homes_03_sp-bb655486.png")
    }
}

.reason__ttl__frame {
    display: inline-block;
    position: relative;
    padding: 30px 40px
}

@media screen and (max-width:768px) {
    .reason__ttl__frame {
        width: 100%;
        padding: 15px
    }
}

.reason__ttl__frame__inner {
    text-align: center;
    line-height: 1.2;
    font-size: 3.8rem;
    font-weight: bold
}

@media screen and (max-width:939px) {
    .reason__ttl__frame__inner {
        font-size: 3rem
    }
}

@media screen and (max-width:768px) {
    .reason__ttl__frame__inner {
        font-size: 2.4rem
    }
}

.reason__ttl__frame__inner::before,
.reason__ttl__frame__inner::after {
    position: absolute;
    bottom: 0;
    font-family: "icon" !important;
    font-style: normal;
    font-weight: normal;
    -webkit-font-feature-settings: normal;
    font-feature-settings: normal;
    font-variant: normal;
    text-transform: none;
    text-indent: 0;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "";
    color: #fff;
    font-size: 41.6px;
    font-size: 2.6rem
}

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

    .reason__ttl__frame__inner::before,
    .reason__ttl__frame__inner::after {
        font-size: 22.4px;
        font-size: 1.4rem
    }
}

.reason__ttl__frame__inner::before {
    left: -4px;
    bottom: 5px;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

@media screen and (max-width:768px) {
    .reason__ttl__frame__inner::before {
        left: -2px;
        bottom: 3px
    }
}

.reason__ttl__frame__inner::after {
    right: 0;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

.reason__ttl__frame__inner>*::before,
.reason__ttl__frame__inner>*::after {
    position: absolute;
    top: 0;
    font-family: "icon" !important;
    font-style: normal;
    font-weight: normal;
    -webkit-font-feature-settings: normal;
    font-feature-settings: normal;
    font-variant: normal;
    text-transform: none;
    text-indent: 0;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "";
    color: #fff;
    font-size: 41.6px;
    font-size: 2.6rem
}

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

    .reason__ttl__frame__inner>*::before,
    .reason__ttl__frame__inner>*::after {
        font-size: 22.4px;
        font-size: 1.4rem
    }
}

.reason__ttl__frame__inner>*::before {
    left: 0
}

.reason__ttl__frame__inner>*::after {
    right: -4px;
    top: 5px;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
}

@media screen and (max-width:768px) {
    .reason__ttl__frame__inner>*::after {
        right: -2px;
        top: 3px
    }
}

.reason__item {
    margin-top: 50px
}

@media screen and (max-width:768px) {
    .reason__item {
        margin-top: 40px
    }
}

.reason__item>.box-img {
    margin: 0
}

.reason__item__ttl {
    background: #fff;
    color: #ed6103;
    font-size: 3rem;
    font-weight: bold;
    padding: .3em .5em;
    border-radius: 5px;
    margin-bottom: .5em
}

@media screen and (max-width:768px) {
    .reason__item__ttl {
        font-size: 2.2rem;
        text-align: center
    }
}

.reason__item__num {
    margin-left: .7em;
    color: #fff;
    position: relative;
    z-index: 0;
    display: inline-block
}

@media screen and (max-width:768px) {
    .reason__item__num {
        font-size: 1.8rem
    }
}

.reason__item__num:after {
    z-index: -1;
    content: "";
    width: 1.3em;
    height: 1.3em;
    background: #ed6103;
    color: #fff;
    border-radius: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%)
}

@media screen and (max-width:768px) {
    .reason__item__num:after {
        width: 1.4em;
        height: 1.4em
    }
}

.reason__item__detail,
.reason__item__detail>p {
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    font-size: 2.4rem;
    line-height: 1.6
}

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

    .reason__item__detail,
    .reason__item__detail>p {
        text-align: center;
        font-size: 1.8rem
    }
}

.reason__item__detail strong,
.reason__item__detail>p strong {
    font-weight: bold;
    font-size: 2.6rem
}

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

    .reason__item__detail strong,
    .reason__item__detail>p strong {
        font-size: 2rem
    }
}

.reason__item__detail sup,
.reason__item__detail>p sup {
    font-size: 1.4rem
}

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

    .reason__item__detail sup,
    .reason__item__detail>p sup {
        font-size: 1rem
    }
}

.reason__item__note {
    margin-top: 1em;
    font-size: 1.4rem !important;
    font-weight: bold
}

@media screen and (max-width:768px) {
    .reason__item__note {
        margin-top: .5em;
        font-size: 1.2rem !important;
        text-align: left !important
    }
}

@media screen and (max-width:992px) {
    .reason__item .box-img {
        display: block
    }
}

.reason__item .box-img__body {
    padding-right: 40px;
    width: calc(100% - 480px)
}

@media screen and (max-width:992px) {
    .reason__item .box-img__body {
        padding-right: 0;
        width: 100%
    }
}

.reason__item .box-img__fig {
    width: 480px
}

@media screen and (max-width:992px) {
    .reason__item .box-img__fig {
        width: 100%;
        margin: 10px 0 0
    }
}

.reason__company {
    background: #fff;
    padding: 20px 20px 30px
}

@media screen and (max-width:768px) {
    .reason__company {
        padding: 20px 15px
    }
}

.reason__company__ttl {
    font-size: 2.6rem;
    font-weight: bold;
    margin-bottom: 20px
}

@media screen and (max-width:768px) {
    .reason__company__ttl {
        margin-bottom: 10px;
        font-size: 1.8rem;
        text-align: left
    }
}

@media screen and (max-width:768px) {
    .reason .full-width__inner {
        padding: 0 15px
    }
}

@media screen and (max-width:992px) {
    .reason .hidden__sp {
        display: none
    }
}

.step {
    padding-bottom: 50px
}

.step__ttl {
    text-align: left;
    padding: 20px 0;
    font-weight: bold;
    background: #f7ab00;
    background: -webkit-linear-gradient(top, #f7ab00 0%, #ed6203 50%, #ed6203 100%);
    background: linear-gradient(to bottom, #f7ab00 0%, #ed6203 50%, #ed6203 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f7ab00', endColorstr='#ed6203', GradientType=0);
    z-index: 0
}

@media screen and (max-width:768px) {
    .step__ttl {
        background: #f8b300;
        background: -webkit-linear-gradient(top, #f8b300 0%, #ed6203 100%, #ed6203 100%);
        background: linear-gradient(to bottom, #f8b300 0%, #ed6203 100%, #ed6203 100%);
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f8b300', endColorstr='#ed6203', GradientType=0)
    }
}

.step__ttl>* {
    max-width: 940px;
    margin: 0 auto;
    padding-left: 45px;
    padding-right: 190px;
    position: relative
}

@media screen and (max-width:768px) {
    .step__ttl>* {
        padding: 0 15px
    }
}

.step__ttl>*>* {
    color: #fff
}

.step__ttl>*:after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 40px 80px 0 80px;
    border-color: #ed6103 transparent transparent transparent;
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    bottom: -60px;
    z-index: 1
}

@media screen and (max-width:768px) {
    .step__ttl>*:after {
        border-width: 20px 40px 0 40px;
        bottom: -40px
    }
}

.step__ttl>*:before {
    content: "";
    width: 226px;
    height: 239px;
    background: url("/assets/dcms_media/image/character_homes_04-b5675a58.png")left bottom no-repeat;
    background-size: contain;
    position: absolute;
    right: -50px;
    bottom: -20px
}

@media screen and (max-width:768px) {
    .step__ttl>*:before {
        background-image: url("/assets/dcms_media/image/character_homes_04_sp-fbaf7ce0.png");
        width: 162px;
        height: 184px;
        right: 15px;
        bottom: auto;
        top: -40px
    }
}

.step__ttl__type {
    position: absolute;
    left: 40px;
    top: -50px;
    background: #ed6103;
    color: #fff;
    font-size: 3.2rem;
    padding: .3em .5em;
    line-height: 1;
    border-radius: 5px;
    display: inline-block
}

@media screen and (max-width:768px) {
    .step__ttl__type {
        left: 15px;
        top: -40px;
        padding: .3em .3em;
        font-size: 2.6rem
    }
}

.step__ttl__main {
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    font-size: 3.8rem
}

@media screen and (max-width:900px) {
    .step__ttl__main {
        font-size: 3rem
    }
}

@media screen and (max-width:768px) {
    .step__ttl__main {
        line-height: 1.4;
        font-size: 2.6rem;
        margin-bottom: 5px
    }
}

.step__ttl__main .-point {
    font-size: 5rem
}

@media screen and (max-width:939px) {
    .step__ttl__main .-point {
        font-size: 3.8rem
    }
}

@media screen and (max-width:768px) {
    .step__ttl__main .-point {
        font-size: 3.6rem
    }
}

.step__ttl__detail {
    font-size: 2rem;
    line-height: 1.4
}

@media screen and (max-width:768px) {
    .step__ttl__detail {
        font-size: 1.8rem
    }
}

.step__ttl__note {
    font-size: 1.4rem;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt"
}

@media screen and (max-width:768px) {
    .step__ttl__note {
        font-size: 1.2rem
    }
}

.step__inner {
    overflow: hidden;
    position: relative;
    z-index: 0
}

.step__item {
    position: relative;
    background: #fff;
    z-index: 0
}

.step__item:after {
    z-index: 999;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 40px 80px 0 80px;
    border-color: #f4f4f4 transparent transparent transparent;
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    top: 0
}

@media screen and (max-width:768px) {
    .step__item:after {
        border-width: 30px 50px 0 50px
    }
}

.step__item .box-img {
    margin: 0 auto;
    max-width: 750px;
    padding: 50px 0 40px;
    z-index: 10
}

@media screen and (max-width:768px) {
    .step__item .box-img {
        padding: 40px 15px 30px
    }
}

.step__item .box-img__body {
    padding-right: 20px;
    width: calc(100% - 237px)
}

@media screen and (max-width:768px) {
    .step__item .box-img__body {
        padding-right: 0;
        width: 100%
    }
}

.step__item .box-img__fig {
    width: 237px
}

@media screen and (max-width:768px) {
    .step__item .box-img__fig {
        text-align: right;
        margin: 0
    }

    .step__item .box-img__fig img {
        width: auto;
        position: absolute;
        top: 30px;
        right: 15px;
        width: 120px
    }
}

.step__item:first-child::after {
    display: none
}

.step__item:nth-child(2n) {
    background-color: #f4f4f4
}

.step__item:nth-child(2n):after {
    border-color: #fff transparent transparent transparent
}

.step__item__num {
    display: inline-block;
    color: #fff;
    background: #ed6103;
    padding: .2em .6em;
    font-size: 2.4rem;
    border-radius: 5px;
    font-weight: bold;
    margin-bottom: .3em
}

@media screen and (max-width:768px) {
    .step__item__num {
        font-size: 1.8rem
    }
}

.step__item__ttl {
    font-size: 3rem;
    font-weight: bold;
    margin-bottom: .2em;
    color: #ed6103;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt"
}

@media screen and (max-width:768px) {
    .step__item__ttl {
        font-size: 2.6rem;
        padding-right: 140px
    }
}

.step__item__detail {
    font-size: 2rem;
    line-height: 1.4
}

@media screen and (max-width:768px) {
    .step__item__detail {
        font-size: 1.8rem
    }

    .step__item__detail br {
        display: none
    }
}

.step__item__detail strong {
    font-weight: bold
}

.top-performance-point {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 55px -16px 0
}

@media screen and (max-width:768px) {
    .top-performance-point {
        margin: 40px -10px 0
    }
}

.top-performance-point__item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    width: calc(33.3333% - 32px);
    background: #fff;
    margin: 0 16px;
    padding: 38px 20px 24px;
    border-radius: 6px
}

@media screen and (max-width:768px) {
    .top-performance-point__item {
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        width: calc(50% - 20px);
        margin: 20px 10px 0;
        padding: 20px 12px 22px
    }
}

@media screen and (max-width:768px) {
    .top-performance-point__item.-item1 {
        width: 100%;
        margin-top: 0
    }
}

.top-performance-point__label {
    color: #ed6103;
    text-align: center;
    font-size: 1.8rem;
    line-height: 1.8;
    font-weight: bold
}

@media screen and (max-width:768px) {
    .top-performance-point__label {
        font-size: 3.86vw
    }
}

.top-performance-point__point {
    margin-top: 8px;
    text-align: center;
    line-height: 1.5;
    font-weight: bold;
    letter-spacing: .12em
}

@media screen and (max-width:768px) {
    .top-performance-point__point {
        font-size: 4.35vw
    }
}

.top-performance-point__text {
    color: #1f1f1f;
    font-size: 2.8rem;
    font-weight: bold
}

@media screen and (max-width:768px) {
    .top-performance-point__text {
        font-size: 3.62vw
    }
}

.top-performance-point__text.-large {
    font-size: 3.4rem
}

@media screen and (max-width:768px) {
    .top-performance-point__text.-large {
        font-size: 4.35vw
    }
}

.top-performance-point__text.-small {
    font-size: 2.4rem
}

@media screen and (max-width:768px) {
    .top-performance-point__text.-small {
        font-size: 6.04vw
    }
}

.top-performance-point__number {
    color: #E23822;
    font-size: 3.8rem;
    margin: 0 4px;
    line-height: 1.2
}

@media screen and (max-width:768px) {
    .top-performance-point__number {
        font-size: 2.4rem
    }
}

.top-performance-point__memo {
    color: #6E7988;
    text-align: center;
    font-size: 1.4rem;
    line-height: 1.5;
    margin-top: 2px
}

@media screen and (max-width:768px) {
    .top-performance-point__memo {
        font-size: 1.2rem
    }
}

.top-about {
    padding: 100px 20px 40px
}

.top-about>* {
    padding-left: 0;
    padding-right: 0
}

@media screen and (max-width:768px) {
    .top-about {
        padding-top: 70px;
        padding-bottom: 20px
    }
}

.top-live__info.lazyloaded {
    background: url("/assets/dcms_media/image/img_top_live_bg-56e7564e.webp")right bottom #EFF0F3 no-repeat;
    background-size: contain;
    padding: 31px 34px
}

@media screen and (max-width:768px) {
    .top-live__info.lazyloaded {
        margin: 0-20px;
        background: url("/assets/dcms_media/image/img_top_live_bg_sp-ca269abb.webp")center bottom #fff no-repeat;
        background-size: cover;
        padding: 30px 20px 38vw
    }
}

.top-about__ttl {
    font-size: 3.8rem;
    font-weight: bold;
    color: #ed6103;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    margin-bottom: .5em
}

@media screen and (max-width:980px) {
    .top-about__ttl {
        font-size: 3rem
    }
}

@media screen and (max-width:768px) {
    .top-about__ttl {
        text-align: center;
        font-size: 2.6rem;
        line-height: 1.4
    }
}

.top-live__desc {
    font-size: 1.5rem;
    line-height: 1.73;
    text-align: center;
    margin-top: 40px
}

@media screen and (max-width:768px) {
    .top-live__desc {
        font-size: 1.4rem;
        margin-top: 20px
    }
}

.top-concept {
    background: url("/assets/dcms_media/image/bg_top_concept-d050d215.jpg")right center no-repeat #fff;
    background-size: cover;
    position: relative;
    padding: 0 20px
}

@media screen and (max-width:768px) {
    .top-concept {
        background: url("/assets/dcms_media/image/bg_top_concept_sp-623479cb.jpg")bottom center no-repeat #fff;
        background-size: contain
    }
}

.top-concept__inner {
    max-width: 940px;
    margin: 0 auto;
    padding: 60px 80px 60px 0
}

@media screen and (max-width:768px) {
    .top-concept__inner {
        padding: 30px 0 50vw
    }
}

.top-concept__ttl {
    padding: 30px;
    position: relative;
    margin-bottom: 30px
}

@media screen and (max-width:768px) {
    .top-concept__ttl {
        padding: 20px
    }
}

.top-concept__ttl::before,
.top-concept__ttl::after {
    position: absolute;
    bottom: 0;
    font-family: "icon" !important;
    font-style: normal;
    font-weight: normal;
    -webkit-font-feature-settings: normal;
    font-feature-settings: normal;
    font-variant: normal;
    text-transform: none;
    text-indent: 0;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "";
    color: #ed6103;
    font-size: 35.2px;
    font-size: 2.2rem
}

@media screen and (max-width:992px) {

    .top-concept__ttl::before,
    .top-concept__ttl::after {
        font-size: 32px;
        font-size: 2rem
    }
}

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

    .top-concept__ttl::before,
    .top-concept__ttl::after {
        font-size: 28.8px;
        font-size: 1.8rem
    }
}

.top-concept__ttl::before {
    left: -4px;
    bottom: 5px;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

@media screen and (max-width:768px) {
    .top-concept__ttl::before {
        left: -3px;
        bottom: 3px
    }
}

.top-concept__ttl::after {
    right: 0;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

.top-concept__ttl__inner {
    font-size: 2.4rem;
    font-weight: bold;
    color: #ed6103;
    line-height: 1.6
}

@media screen and (max-width:992px) {
    .top-concept__ttl__inner {
        font-size: 2.2rem
    }
}

@media screen and (max-width:992px) {
    .top-concept__ttl__inner {
        font-size: 2rem
    }
}

.top-concept__ttl__inner::before,
.top-concept__ttl__inner::after {
    position: absolute;
    top: 0;
    font-family: "icon" !important;
    font-style: normal;
    font-weight: normal;
    -webkit-font-feature-settings: normal;
    font-feature-settings: normal;
    font-variant: normal;
    text-transform: none;
    text-indent: 0;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "";
    color: #ed6103;
    font-size: 35.2px;
    font-size: 2.2rem
}

@media screen and (max-width:992px) {

    .top-concept__ttl__inner::before,
    .top-concept__ttl__inner::after {
        font-size: 32px;
        font-size: 2rem
    }
}

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

    .top-concept__ttl__inner::before,
    .top-concept__ttl__inner::after {
        font-size: 28.8px;
        font-size: 1.8rem
    }
}

.top-concept__ttl__inner::before {
    left: 0
}

.top-concept__ttl__inner::after {
    right: -4px;
    top: 5px;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
}

@media screen and (max-width:768px) {
    .top-concept__ttl__inner::after {
        right: -3px;
        top: 3px
    }
}

.top-concept__body {
    width: 68%
}

@media screen and (max-width:768px) {
    .top-concept__body {
        width: 100%
    }
}

.top-concept__desc {
    color: #ed6103;
    font-weight: bold;
    margin-bottom: 30px;
    text-align: justify;
    text-justify: inter-ideograph
}

@media screen and (max-width:768px) {
    .top-concept {
        text-align: center
    }
}

.top-how-to {
    background: #f4f4f4;
    padding: 75px 20px 100px
}

.top-how-to>* {
    padding-left: 0;
    padding-right: 0
}

@media screen and (max-width:768px) {
    .top-how-to {
        padding-top: 40px;
        padding-bottom: 50px
    }
}

.top-how-to__ttl {
    text-align: center;
    font-size: 3.8rem;
    font-weight: bold;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    margin-bottom: 1em
}

.top-how-to__ttl::after {
    content: "";
    display: block;
    margin: .5em auto 0;
    width: 160px;
    height: 2px;
    background: #ed6103
}

@media screen and (max-width:980px) {
    .top-how-to__ttl {
        font-size: 3rem
    }
}

@media screen and (max-width:768px) {
    .top-how-to__ttl {
        text-align: center;
        font-size: 2.6rem;
        line-height: 1.4
    }
}

.top-how-to__desc {
    text-align: center;
    margin-bottom: 50px;
    font-size: 1.5rem
}

@media screen and (max-width:768px) {
    .top-how-to__desc {
        margin-bottom: 30px;
        text-align: left;
        font-size: 1.4rem
    }
}

.top-how-to__desc small {
    font-size: 85%
}

.top-how-to__section {
    padding: 40px 30px;
    background: #fff;
    border-radius: 10px
}

@media screen and (max-width:768px) {
    .top-how-to__section {
        padding: 30px 20px
    }
}

.top-how-to__section__ttl {
    position: relative;
    padding-left: 50px;
    font-size: 3rem;
    color: #ed6103;
    font-weight: bold;
    margin-bottom: .6em
}

@media screen and (max-width:768px) {
    .top-how-to__section__ttl {
        padding-left: 40px;
        font-size: 2.6rem
    }
}

.top-how-to__section__ttl figure {
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

@media screen and (max-width:768px) {
    .top-how-to__section__ttl figure img {
        max-height: 30px
    }
}

.top-how-to__section__merit {
    font-size: 1.8rem;
    font-weight: bold;
    margin-top: 1em;
    margin-bottom: .5em
}

@media screen and (max-width:768px) {
    .top-how-to__section__merit {
        font-size: 1.6rem
    }
}

.top-how-to__top {
    margin: 20px 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
}

@media screen and (max-width:992px) {
    .top-how-to__top {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column
    }
}

.top-how-to__top>* {
    width: 50%
}

@media screen and (max-width:992px) {
    .top-how-to__top>* {
        width: 100%
    }
}

.top-how-to__top .top-how-to__section__right {
    padding-left: 10px
}

@media screen and (max-width:992px) {
    .top-how-to__top .top-how-to__section__right {
        padding-left: 0;
        margin-top: 30px
    }
}

.top-how-to__top .top-how-to__section__right iframe {
    width: 100%;
    height: 400px
}

.top-how-to__bottom {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin: -10px
}

@media screen and (max-width:992px) {
    .top-how-to__bottom {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column
    }
}

.top-how-to__bottom>* {
    padding: 10px;
    width: 50%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
}

@media screen and (max-width:992px) {
    .top-how-to__bottom>* {
        width: 100%
    }
}

.top-how-to__bottom .top-how-to__section {
    width: 100%
}

.top-how-to .btn {
    margin-top: 50px
}

@media screen and (max-width:768px) {
    .top-how-to .btn {
        margin-top: 30px
    }
}

.top-how-to .btn figure {
    margin: 0
}

.top-how-to .btn p {
    margin: 0
}

.cv-tel__note {
    font-size: 1.5rem;
    line-height: 1.6
}

.cv-tel__note span.business-hour-disabled {
    display: none
}

.top-how-to .top-how-to__tab-btn {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding: 0 50px;
    border-bottom: 1px solid #ed6103;
    margin-bottom: 20px
}

@media screen and (max-width:768px) {
    .top-how-to .top-how-to__tab-btn {
        padding: 0 10px
    }
}

.top-how-to .top-how-to__tab-btn .top-how-to__tab-btn__item {
    width: 100%;
    padding: 0 5px
}

.top-how-to .top-how-to__tab-btn .top-how-to__tab-btn__item a {
    cursor: pointer;
    border-radius: 4px 4px 0 0;
    font-weight: bold;
    font-size: 1.4rem;
    padding: 10px;
    position: relative;
    top: 1px;
    text-decoration: none;
    color: #ed6103;
    background: #fff;
    border: 1px solid #ed6103;
    display: block;
    text-align: center;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

@media screen and (max-width:768px) {
    .top-how-to .top-how-to__tab-btn .top-how-to__tab-btn__item a {
        -webkit-transition: unset;
        transition: unset
    }
}

.top-how-to .top-how-to__tab-btn .top-how-to__tab-btn__item a:hover {
    background: #ed6103;
    color: #fff;
    border-bottom-color: #ed6103 !important
}

.top-how-to .top-how-to__tab-btn .top-how-to__tab-btn__item.-current a {
    border-bottom-color: #fff
}

.top-how-to__list>* {
    padding-left: 1em;
    position: relative;
    font-size: 1.5rem;
    font-weight: bold
}

@media screen and (max-width:768px) {
    .top-how-to__list>* {
        font-size: 1.4rem
    }
}

.top-how-to__list>*::after {
    background: #ed6103;
    content: "";
    border-radius: 100%;
    display: block;
    width: .4em;
    height: .4em;
    left: 0;
    top: .6em;
    position: absolute
}

.top-how-to__list>*+* {
    margin-top: .5em
}

.top-how-to__tel a {
    line-height: 1;
    color: #ed6103;
    display: inline-block;
    font-size: 4rem;
    font-weight: bold;
    text-decoration: none
}

@media screen and (min-width:993px) {
    .top-how-to__tel a {
        pointer-events: none
    }
}

@media screen and (max-width:992px) {
    .top-how-to__tel a {
        display: none
    }
}

.top-how-to__tel-tablet {
    display: block;
    margin-bottom: 10px;
    max-width: 50vw
}

@media screen and (min-width:993px) {
    .top-how-to__tel-tablet {
        display: none
    }
}

@media screen and (max-width:500px) {
    .top-how-to__tel-tablet {
        max-width: 267px;
        margin: 0 auto
    }
}

.top-how-to__tel-tablet a {
    width: 100%
}

@media screen and (max-width:500px) {
    .top-how-to__bottom .top-how-to__section .cv-tel__note {
        text-align: center
    }

    .top-how-to__tel-tablet a {
        width: 267px;
        margin-bottom: 20px
    }
}

@media screen and (max-width:320px) {
    .top-how-to__tel-tablet a {
        width: 100%
    }
}

.top-how-to__tel-tablet+.cv-tel__note span {
    display: none
}

@media screen and (max-width:992px) {
    .top-how-to__tel-tablet+.cv-tel__note span {
        display: block
    }

    .top-how-to__tel-tablet+.cv-tel__note span.business-hour-disabled {
        display: none
    }
}

.top-instagram {
    background: #fff;
    padding: 40px 34px
}

.top-instagram>* {
    padding-left: 0;
    padding-right: 0
}

@media screen and (max-width:768px) {
    .top-instagram {
        padding-top: 30px;
        padding-bottom: 60px
    }
}

.top-instagram__ttl {
    position: relative;
    margin-bottom: 50px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
}

@media screen and (max-width:768px) {
    .top-instagram__ttl {
        margin-bottom: 30px;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column
    }
}

.top-instagram__ttl__inner {
    padding-left: 20px
}

@media screen and (max-width:768px) {
    .top-instagram__ttl__inner {
        padding-left: 0
    }
}

.top-instagram__ttl-txt {
    font-size: 2.2rem;
    font-weight: bold
}

@media screen and (max-width:768px) {
    .top-instagram__ttl-txt {
        font-size: 2rem
    }
}

.top-instagram__ttl-desc {
    font-size: 1.4rem;
    font-weight: bold
}

@media screen and (max-width:768px) {
    .top-instagram__ttl-desc {
        text-align: center
    }
}

.top-instagram__ttl-desc a {
    text-decoration: none;
    color: #1f1f1f;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

.top-instagram__ttl-desc a:hover {
    color: #ed6103
}

@media screen and (max-width:768px) {
    .top-instagram__ttl-icon {
        margin-bottom: 10px
    }

    .top-instagram__ttl-icon img {
        max-width: 45px
    }
}

.top-instagram__list::after {
    content: "";
    clear: both;
    display: table
}

.top-instagram__img {
    float: left;
    width: 33.33333%;
    margin-bottom: 30px
}

@media screen and (max-width:992px) {
    .top-instagram__img {
        margin-bottom: 20px
    }
}

@media screen and (max-width:768px) {
    .top-instagram__img {
        width: 50%
    }
}

.top-instagram__img img {
    width: 100%
}

.top-instagram__img a {
    -webkit-transition: .3s all ease;
    transition: .3s all ease
}

.top-instagram__img a:hover {
    opacity: .7
}

.top-introduction {
    padding: 70px 20px 140px
}

.top-introduction>* {
    padding-left: 0;
    padding-right: 0
}

@media screen and (max-width:768px) {
    .top-introduction {
        padding-top: 35px;
        padding-bottom: 35px
    }
}

.top-introduction__ttl {
    text-align: center;
    font-size: 3.8rem;
    font-weight: bold;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    margin-bottom: 1em
}

.top-introduction__ttl::after {
    content: "";
    display: block;
    margin: .5em auto 0;
    width: 160px;
    height: 2px;
    background: #ed6103
}

@media screen and (max-width:980px) {
    .top-introduction__ttl {
        font-size: 3rem
    }
}

@media screen and (max-width:768px) {
    .top-introduction__ttl {
        text-align: center;
        font-size: 2.6rem;
        line-height: 1.4
    }
}

.top-introduction__desc {
    text-align: center;
    font-size: 1.5rem;
    line-height: 1.67
}

.top-introduction__desc .-bold {
    font-size: 1.8rem;
    font-weight: 700
}

.top-introduction__desc .-orange {
    font-size: 2.2rem;
    font-weight: 700;
    color: #ED6103
}

.top-introduction__desc .-small {
    font-size: 1.2rem
}

@media screen and (max-width:768px) {
    .top-introduction__desc {
        margin-bottom: 30px;
        font-size: 1.4rem;
        text-align: left;

        .-big {
            font-size: 1.6rem;
        }

        .-small {
            font-size: 1.4rem;
        }

        .-orange {
            font-size: 2.4rem;
            line-height: 1;
            display: block;
            text-align: center !important;
        }

        .-bold {
            display: block;
            text-align: center !important;
        }

        .-thin {
            text-align: left;
            font-size: 1.6rem;
            display: block;
            line-height: 1.63;
            margin-top: 20px;
        }
    }
}

.top-introduction__list {
    background: #fff;
    padding: 30px 30px 20px
}

@media screen and (max-width:768px) {
    .top-introduction__list {
        padding: 0 10px;
        margin-bottom: 30px
    }
}

.top-introduction__list__inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin: -5px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.top-introduction__list__item {
    padding: 5px;
    margin: 0
}

@media screen and (max-width:768px) {
    .top-introduction__list__item img {
        max-height: 33px;
        width: auto
    }
}

.top-introduction .btn {
    margin-top: 50px
}

@media screen and (max-width:768px) {
    .top-introduction .btn {
        margin-top: 30px
    }
}

.top-introduction .btn figure {
    margin: 0
}

.top-introduction .btn p {
    margin: 0
}

.top-live {
    padding: 70px 20px
}

.top-live>* {
    padding-left: 0;
    padding-right: 0
}

@media screen and (max-width:768px) {
    .top-live {
        padding-bottom: 35px
    }
}

.top-live__ttl {
    text-align: center;
    font-size: 3.8rem;
    font-weight: bold;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    margin-bottom: 1em
}

.top-live__ttl::after {
    content: "";
    display: block;
    margin: .5em auto 0;
    width: 160px;
    height: 2px;
    background: #ed6103
}

@media screen and (max-width:980px) {
    .top-live__ttl {
        font-size: 3rem
    }
}

@media screen and (max-width:768px) {
    .top-live__ttl {
        text-align: center;
        font-size: 2.6rem;
        line-height: 1.4
    }
}

.top-live__desc {
    text-align: center;
    margin-bottom: 50px;
    font-size: 1.5rem
}

@media screen and (max-width:768px) {
    .top-live__desc {
        margin-bottom: 30px;
        text-align: left;
        font-size: 1.4rem
    }
}

.top-live__list__top,
.top-live__list__bottom {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin: -10px
}

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

    .top-live__list__top,
    .top-live__list__bottom {
        margin: -5px
    }
}

.top-live__list__top .btn>* {
    height: 100px
}

.top-live__list__bottom .btn>* {
    height: 82px;
    padding-left: 3.6em;
    font-size: 1.6rem;
    text-align: left
}

.top-live__list .top-live__list__bottom .btn>* {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding-top: 1.3em;
    padding-bottom: 1.3em
}

@media screen and (max-width:992px) {
    .top-live__list__top .btn>* {
        height: auto
    }
}

@media screen and (max-width:768px) {
    .top-live__list__bottom>* {
        width: 100% !important
    }

    .top-live__list__bottom a {
        padding: 0.8em 1em !important
    }

    .top-live__list__top,
    .top-live__list__bottom {
        margin: -5px
    }

    .top-live__list__top .btn>*,
    .top-live__list__bottom .btn>* {
        height: 64px
    }

    .top-live__list .top-live__list__bottom .btn>* {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start
    }
}

@media screen and (max-width:768px) {
    .top-live__list__bottom a {
        padding: 1.0em 1.3em 0.8em !important
    }
}

.top-live__list__top {
    margin-bottom: 10px
}

@media screen and (max-width:768px) {
    .top-live__list__top {
        margin-bottom: 5px;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column
    }

    .top-live__list__top,
    .top-live__list__bottom {
        margin-bottom: 5px;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column
    }
}

.top-live__list__top .btn>* {
    font-size: 2.2rem;
    padding-left: 2.8em
}

@media screen and (max-width:992px) {
    .top-live__list__top .btn>* {
        font-size: 2rem
    }

    .top-live__list__bottom .btn>* {
        font-size: 1.8rem
    }

    .top-live__list .top-live__list__bottom .btn>* {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        padding: 1em 2em
    }
}

@media screen and (max-width:768px) {
    .top-live__list__top .btn>* {
        font-size: 2.2rem
    }
}

.top-live__list__item {
    padding: 10px;
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
}

@media screen and (max-width:768px) {
    .top-live__list__item {
        padding: 5px
    }
}

.top-live__list__item img {
    margin-right: 10px
}

.top-live__list__item .-icon-live1>* {
    padding-right: 30px;
    background-image: url("/assets/dcms_media/other/img_top_movie_1-97d97625.svg");
    background-position: 40px 50%;
    background-repeat: no-repeat;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

@media screen and (max-width:992px) {
    .top-live__list__item .-icon-live1>* {
        text-align: left;
        padding-left: 45px;
        background-position: 20px 50%
    }

    .top-live__list__item .-icon-live1>*:hover {
        background-position: 20px 50% !important
    }
}

@media screen and (max-width:768px) {
    .top-live__list__item .-icon-live1>* {
        padding-right: 60px;
        padding-left: 83px
    }
}

.top-live__list__item .-icon-live1>*:hover {
    background-image: url("/assets/dcms_media/other/img_top_movie_1_on-3d7588b0.svg");
    background-position: 40px 50%;
    background-repeat: no-repeat
}

.top-live__list__item .-icon-live2>* {
    padding-right: 30px;
    background-image: url("/assets/dcms_media/other/img_top_movie_2-97d97625.svg");
    background-position: 40px 50%;
    background-repeat: no-repeat;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

@media screen and (max-width:992px) {
    .top-live__list__item .-icon-live2>* {
        text-align: left;
        padding-left: 45px;
        background-position: 20px 50%
    }

    .top-live__list__item .-icon-live2>*:hover {
        background-position: 20px 50% !important
    }
}

@media screen and (max-width:768px) {
    .top-live__list__item .-icon-live2>* {
        padding-right: 60px;
        padding-left: 83px
    }
}

.top-live__list__item .-icon-live2>*:hover {
    background-image: url("/assets/dcms_media/other/img_top_movie_2_on-3d7588b0.svg");
    background-position: 40px 50%;
    background-repeat: no-repeat
}

.top-live__list__item .-icon-live3>* {
    padding-right: 30px;
    background-image: url("/assets/dcms_media/other/img_top_movie_3-97d97625.svg");
    background-position: 40px 50%;
    background-repeat: no-repeat;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

@media screen and (max-width:992px) {
    .top-live__list__item .-icon-live3>* {
        text-align: left;
        padding-left: 45px;
        background-position: 20px 50%
    }

    .top-live__list__item .-icon-live3>*:hover {
        background-position: 20px 50% !important
    }
}

@media screen and (max-width:768px) {
    .top-live__list__item .-icon-live3>* {
        padding-right: 60px;
        padding-left: 83px
    }
}

.top-live__list__item .-icon-live3>*:hover {
    background-image: url("/assets/dcms_media/other/img_top_movie_3_on-3d7588b0.svg");
    background-position: 40px 50%;
    background-repeat: no-repeat
}

.top-live__list__item .-icon-live4>* {
    padding-right: 30px;
    background-image: url("/assets/dcms_media/other/img_top_movie_4-2e53c91b.svg");
    background-position: 40px 50%;
    background-repeat: no-repeat;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

.top-live__list__item .-icon-live4>*:hover {
    background-image: url("/assets/dcms_media/other/img_top_movie_4_on-3eff08c1.svg");
    background-position: 40px 50%;
    background-repeat: no-repeat
}

@media screen and (max-width:992px) {
    .top-live__list__item .-icon-live4>* {
        padding-right: 2em;
        background-image: none
    }

    .top-live__list__item .-icon-live4>*:hover {
        background-image: none
    }
}

@media screen and (max-width:768px) {
    .top-live__list__item .-icon-live4>* {
        background-image: none !important
    }

    .top-live__list__item .-icon-live4>*:hover {
        background-image: none !important
    }
}

.top-live__list__item .-icon-live5>* {
    padding-right: 30px;
    background-image: url("/assets/dcms_media/other/img_top_movie_5-2e53c91b.svg");
    background-position: 40px 50%;
    background-repeat: no-repeat;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

.top-live__list__item .-icon-live5>*:hover {
    background-image: url("/assets/dcms_media/other/img_top_movie_5_on-3eff08c1.svg");
    background-position: 40px 50%;
    background-repeat: no-repeat
}

@media screen and (max-width:992px) {
    .top-live__list__item .-icon-live5>* {
        padding-right: 2em;
        background-image: none
    }

    .top-live__list__item .-icon-live5>*:hover {
        background-image: none
    }
}

@media screen and (max-width:768px) {
    .top-live__list__item .-icon-live5>* {
        background-image: none !important
    }

    .top-live__list__item .-icon-live5>*:hover {
        background-image: none !important
    }
}

.top-live__list__item .-icon-live6>* {
    padding-right: 30px;
    background-image: url("/assets/dcms_media/other/img_top_movie_6-db6dd012.svg");
    background-position: 40px 50%;
    background-repeat: no-repeat;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

.top-live__list__item .-icon-live6>*:hover {
    background-image: url("/assets/dcms_media/other/img_top_movie_6_on-c97c772c.svg");
    background-position: 40px 50%;
    background-repeat: no-repeat
}

@media screen and (max-width:992px) {
    .top-live__list__item .-icon-live6>* {
        padding-right: 2em;
        background-image: none
    }

    .top-live__list__item .-icon-live6>*:hover {
        background-image: none
    }
}

@media screen and (max-width:768px) {
    .top-live__list__item .-icon-live6>* {
        background-image: none !important
    }

    .top-live__list__item .-icon-live6>*:hover {
        background-image: none !important
    }
}

.top-live__list__item .-icon-live7>* {
    padding-right: 30px;
    background-image: url("/assets/dcms_media/other/img_top_movie_7-db6dd012.svg");
    background-position: 15px 50%;
    background-repeat: no-repeat;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

.top-live__list__item .-icon-live7>*:hover {
    background-image: url("/assets/dcms_media/other/img_top_movie_7_on-c97c772c.svg");
    background-position: 15px 50%;
    background-repeat: no-repeat
}

@media screen and (max-width:992px) {
    .top-live__list__item .-icon-live7>* {
        padding-right: 2em;
        background-image: none
    }

    .top-live__list__item .-icon-live7>*:hover {
        background-image: none
    }
}

@media screen and (max-width:768px) {
    .top-live__list__item .-icon-live7>* {
        background-image: none !important
    }

    .top-live__list__item .-icon-live7>*:hover {
        background-image: none !important
    }
}

.top-live__list .btn {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    z-index: 0;
    margin: 0 !important;
    width: 100%
}

.top-live__list .btn>* {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    min-width: 100%;
    padding-top: 1.5em;
    padding-bottom: 1.5em
}

.top-live__list .btn a::before {
    right: 26px
}

@media screen and (max-width:768px) {
    .top-live__list .btn>* {
        -webkit-box-pack: start;
        -webkit-justify-content: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        padding-top: 1.0em;
        padding-bottom: 0.8em
    }

    .top-live__list .btn a::before {
        right: 18px
    }
}

.top-live .row>* {
    text-align: center
}

.top-live .btn {
    margin-top: 50px
}

@media screen and (max-width:768px) {
    .top-live .btn {
        margin-top: 30px
    }
}

.top-live .btn figure {
    margin: 0
}

.top-live .btn p {
    margin: 0
}

.top-movie {
    background: #f4f4f4;
    padding: 100px 20px 75px
}

.top-cm {
    background: #fff;
    padding: 100px 20px 100px
}

.top-movie>* {
    padding-left: 0;
    padding-right: 0
}

@media screen and (max-width:768px) {
    .top-movie {
        padding-top: 50px;
        padding-bottom: 40px
    }

    .top-cm {
        padding-top: 30px;
        padding-bottom: 30px
    }
}

.top-movie__ttl {
    text-align: center;
    font-size: 3.8rem;
    font-weight: bold;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    margin-bottom: 1em
}

.top-movie__ttl::after {
    content: "";
    display: block;
    margin: .5em auto 0;
    width: 160px;
    height: 2px;
    background: #ed6103
}

@media screen and (max-width:980px) {
    .top-movie__ttl {
        font-size: 3rem
    }
}

@media screen and (max-width:768px) {
    .top-movie__ttl {
        text-align: center;
        font-size: 2.6rem;
        line-height: 1.4
    }
}

.top-movie__desc {
    text-align: center;
    margin-bottom: 50px;
    font-size: 1.5rem
}

@media screen and (max-width:992px) {
    .top-movie__desc {
        text-align: left
    }
}

@media screen and (max-width:768px) {
    .top-movie__desc {
        margin-bottom: 30px;
        text-align: left;
        font-size: 1.4rem
    }
}

.top-movie__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 50px -10px 0
}

@media screen and (max-width:768px) {
    .top-movie__list {
        display: block;
        margin: 20px 0 0;
        background: #fff;
        padding: 10px 15px
    }
}

.top-movie .row>* {
    text-align: center
}

.top-movie .btn {
    margin-top: 50px
}

@media screen and (max-width:768px) {
    .top-movie .btn {
        margin-top: 30px
    }
}

.top-movie figure a {
    display: block;
    position: relative;
    border: 1px solid #ddd;
    text-decoration: none;
    outline: none;
    color: #ed6103
}

.top-movie figure a img {
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear;
    opacity: 1
}

.top-movie figure a:hover img {
    opacity: 0.6
}

@media screen and (max-width:768px) {
    .top-movie .-movie .-youtube {
        position: relative;
        width: 100%;
        padding-top: 56.25%
    }
}

.top-movie .-movie a {
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear;
    color: #ed6103;
    background: #fff
}

.top-movie .-movie a:hover img {
    opacity: .6
}

.top-movie .-movie a:hover::after {
    font-size: 128px;
    font-size: 8rem
}

.top-movie .-movie a img {
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear
}

.top-movie .-movie a::after {
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear;
    font-family: "icon" !important;
    font-style: normal;
    font-weight: normal;
    -webkit-font-feature-settings: normal;
    font-feature-settings: normal;
    font-variant: normal;
    text-transform: none;
    text-indent: 0;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "";
    font-size: 96px;
    font-size: 6rem;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%)
}

@media screen and (max-width:768px) {
    .top-movie .-movie iframe {
        position: absolute;
        top: 0;
        right: 0;
        width: 100%;
        height: 100%
    }
}

.top-cm .row>* {
    text-align: center
}

.top-cm .btn {
    margin-top: 50px
}

@media screen and (max-width:768px) {
    .top-cm .btn {
        margin-top: 30px
    }
}

.top-cm figure a {
    display: block;
    position: relative;
    border: 1px solid #ddd;
    text-decoration: none;
    outline: none;
    color: #ed6103
}

.top-cm figure a img {
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear;
    opacity: 1
}

.top-cm figure a:hover img {
    opacity: 0.6
}

@media screen and (max-width:768px) {
    .top-cm .-movie .-youtube {
        position: relative;
        width: 100%;
        padding-top: 56.25%
    }
}

.top-cm .-movie a {
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear;
    color: #ed6103;
    background: #fff
}

.top-cm .-movie a:hover img {
    opacity: .6
}

.top-cm .-movie a:hover::after {
    font-size: 128px;
    font-size: 8rem
}

.top-cm .-movie a img {
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear
}

.top-cm .-movie a::after {
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear;
    font-family: "icon" !important;
    font-style: normal;
    font-weight: normal;
    -webkit-font-feature-settings: normal;
    font-feature-settings: normal;
    font-variant: normal;
    text-transform: none;
    text-indent: 0;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "";
    font-size: 96px;
    font-size: 6rem;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%)
}

@media screen and (max-width:768px) {
    .top-movie .-movie iframe {
        position: absolute;
        top: 0;
        right: 0;
        width: 100%;
        height: 100%
    }
}

.top-mv {
    background: rgb(255, 246, 240);
    background: linear-gradient(180deg, rgba(255, 246, 240, 1) 0%, rgba(252, 229, 215, 1) 100%);
    padding: 0 20px;
    width: 100%;
    left: 0;
    top: 0;
    position: relative
}

@media screen and (max-width:768px) {
    .top-mv {
        display: block;
        z-index: 0;
        left: auto;
        top: auto
    }
}

.top-mv__inner {
    max-width: 1060px;
    margin: 0 auto;
    padding: 60px 0;
    position: relative;
    z-index: 0
}

@media screen and (max-width:992px) {
    .top-mv__inner {
        padding: 30px 0
    }
}

@media screen and (max-width:768px) {
    .top-mv__inner {
        width: auto;
        padding: 0;
        margin: 0-20px;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-align-self: flex-start;
        -ms-flex-item-align: start;
        align-self: flex-start;
        -webkit-box-orient: vertical;
        flex-direction: column
    }
}

.top-mv__ttl {
    position: relative;
    padding: 16px 24px;
    text-align: center;
    margin-bottom: 40px
}

@media screen and (max-width:768px) {
    .top-mv__ttl {
        padding: 14px 20px;
        margin-bottom: 0
    }
}

@media screen and (max-width:1060px) {
    .top-mv__ttl img img {
        width: 50%
    }
}

.top-mv__ttl::before,
.top-mv__ttl::after {
    position: absolute;
    bottom: 0;
    font-family: "icon" !important;
    font-style: normal;
    font-weight: normal;
    -webkit-font-feature-settings: normal;
    font-feature-settings: normal;
    font-variant: normal;
    text-transform: none;
    text-indent: 0;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "";
    color: #ed6103;
    font-size: 35.2px;
    font-size: 1.8rem
}

@media screen and (max-width:992px) {

    .top-mv__ttl::before,
    .top-mv__ttl::after {
        font-size: 32px;
        font-size: 2rem
    }
}

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

    .top-mv__ttl::before,
    .top-mv__ttl::after {
        font-size: 28.8px;
        font-size: 1.3rem
    }
}

.top-mv__ttl::before {
    left: -4px;
    bottom: 5px;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

@media screen and (max-width:768px) {
    .top-mv__ttl::before {
        left: -3px;
        bottom: 3px
    }
}

.top-mv__ttl::after {
    right: 0;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

.top-mv__ttl__inner::before,
.top-mv__ttl__inner::after {
    position: absolute;
    top: 0;
    font-family: "icon" !important;
    font-style: normal;
    font-weight: normal;
    -webkit-font-feature-settings: normal;
    font-feature-settings: normal;
    font-variant: normal;
    text-transform: none;
    text-indent: 0;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "";
    color: #ed6103;
    font-size: 35.2px;
    font-size: 1.8rem
}

@media screen and (max-width:992px) {

    .top-mv__ttl__inner::before,
    .top-mv__ttl__inner::after {
        font-size: 32px;
        font-size: 2rem
    }
}

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

    .top-mv__ttl__inner::before,
    .top-mv__ttl__inner::after {
        font-size: 28.8px;
        font-size: 1.3rem
    }
}

.top-mv__ttl__inner::before {
    left: 0
}

.top-mv__ttl__inner::after {
    right: -4px;
    top: 5px;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
}

@media screen and (max-width:768px) {
    .top-mv__ttl__inner::after {
        right: -3px;
        top: 3px
    }
}

.top-mv__body {
    width: 450px
}

@media screen and (max-width:992px) {
    .top-mv__body {
        width: 50%
    }
}

@media screen and (max-width:768px) {
    .top-mv__body {
        width: 100%;
        padding: 20px 20px 10px;
        margin-top: 20px
    }
}

.top-mv__logo {
    margin-bottom: 40px
}

.top-mv__logo.hidden__sp {
    margin-bottom: 40px
}

@media screen and (max-width:992px) {
    .top-mv__logo.hidden__sp img {
        height: 45px
    }
}

.top-mv__ttl__main {
    font-weight: 700;
    text-align: left;
    color: #ed6103;
    text-align: center;
    font-size: 2.4rem;
    letter-spacing: 0.1em;
    font-feature-settings: "palt";
    margin: 0 auto
}

.top-mv__ttl__main .-big {
    display: inline-block;
    font-size: 3.9rem;
    line-height: 1.26;
    font-feature-settings: "palt"
}

@media screen and (max-width:992px) {
    .top-mv__ttl__main {
        font-size: 2rem
    }
}

@media screen and (max-width:768px) {
    .top-mv__ttl__main {
        font-size: 5.07vw;
        line-height: 1.579;
        max-width: 80vw;
        letter-spacing: inherit
    }

    .top-mv__ttl__main .-big {
        font-size: 8vw;
        margin: 0 auto
    }
}

.top-mv__desc {
    color: #ed6103;
    font-weight: bold;
    margin-bottom: 30px
}

@media screen and (max-width:768px) {
    .top-mv__desc {
        font-size: 3.73vw;
        line-height: 1.571;
        text-align: left;
        max-width: 70vw;
        margin: 0 auto;
        margin-top: 5px
    }
}

@media screen and (max-width:992px) {
    .top-mv__desc.hidden__sp {
        font-size: 1.4rem
    }

    .top-mv__desc.hidden__sp br {
        display: none
    }
}

.top-mv__btn {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin: -10px
}

@media screen and (max-width:992px) {
    .top-mv__btn {
        margin: -5px
    }
}

@media screen and (max-width:768px) {
    .top-mv__btn {
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        background: #fef3eb;
        margin-top: 20px
    }
}

.top-mv__btn .-shop {
    width: 50%;
    padding: 10px
}

.top-mv__btn .-shop a::before {
    background-image: url("/assets/dcms_media/other/img_top_kv_icon_2-46cb6ae1.svg");
    width: 20px;
    height: 20px;
    left: 20px
}

.top-mv__btn .-shop a:hover::before {
    background-image: url("/assets/dcms_media/other/img_top_kv_icon_1_on-f1a56847.svg")
}

.top-mv__btn .-video a::before {
    background-image: url("/assets/dcms_media/other/img_top_kv_icon_1-c2afa6c4.svg")
}

.top-mv__btn .-video a:hover::before {
    background-image: url("/assets/dcms_media/other/img_top_kv_icon_2_on-acb61124.svg")
}

.top-mv__btn a {
    font-weight: bold;
    width: 100%;
    display: block;
    background: #fff;
    color: #ed6103;
    text-decoration: none;
    box-shadow: 0 1px 3px #ddd;
    padding: 10px 5px 10px 75px;
    border-radius: 4px;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    position: relative;
    font-size: 1.4rem
}

@media screen and (max-width:992px) {
    .top-mv__btn a {
        padding: 10px 5px 10px 60px;
        font-size: 1.3rem
    }
}

@media screen and (max-width:768px) {
    .top-mv__btn .-shop {
        width: auto
    }

    .top-mv__btn .-shop a {
        min-width: 250px;
        height: 64px;
        font-size: 1.8rem;
        line-height: 1
    }

    .top-mv__btn a {
        font-size: 1.4rem
    }
}

@media screen and (max-width:992px) {
    .top-mv__btn a {
        line-height: 1.4
    }
}

@media screen and (max-width:768px) {
    .top-mv__btn a {
        padding: 22px 5px 22px 20px
    }
}

.top-mv__btn a::before {
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    content: "";
    width: 18px;
    height: 18px;
    -webkit-transition: all .1s ease;
    transition: all .1s ease;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 15px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain
}

@media screen and (max-width:992px) {
    .top-mv__btn a::before {
        left: 10px
    }
}

@media screen and (max-width:768px) {
    .top-mv__btn a::before {
        left: 15px
    }
}

.top-mv__btn a:hover {
    top: 2px;
    color: #fff;
    background: #ed6103;
    box-shadow: 0 0 0#ddd
}

.top-mv__btn a:hover::before {
    color: #fff
}

.top-mv__img {
    position: absolute;
    right: -100px;
    bottom: 0;
    z-index: -1
}

@media screen and (max-width:992px) {
    .top-mv__img {
        right: -100px;
        width: 82%
    }
}

@media screen and (max-width:768px) {
    .top-mv__img {
        position: relative;
        right: auto;
        width: 100%
    }
}

.top-mv__img__inner {
    position: relative
}

@media screen and (max-width:768px) {
    .top-mv__img__inner {
        position: static
    }

    .top-mv__img__inner img {
        position: relative;
        top: auto !important
    }
}

.top-pick-up {
    background: #fff;
    position: relative;
    z-index: 10;
    padding: 70px 20px 140px
}

@media screen and (max-width:768px) {
    .top-pick-up {
        padding-top: 35px;
        padding-bottom: 70px
    }
}

.top-pick-up__inner {
    max-width: 940px;
    margin: 0 auto
}

.top-pick-up__news {
    border: 1px solid #BBB;
    padding: 30px 36px;
    border-radius: 4px
}

@media screen and (max-width:768px) {
    .top-pick-up__news {
        padding: 25px 20px
    }
}

.top-pick-up__news>dl dt {
    float: left;
    font-weight: bold;
    color: #ed6103
}

@media screen and (max-width:768px) {
    .top-pick-up__news>dl dt {
        float: none;
        margin-bottom: .2em;
        font-size: 1.3rem
    }
}

.top-pick-up__news>dl dd {
    padding-left: 7em
}

@media screen and (max-width:768px) {
    .top-pick-up__news>dl dd {
        font-size: 1.3rem;
        padding-left: 0
    }
}

.top-pick-up__news>dl dd a {
    text-decoration: none;
    color: #1f1f1f
}

.top-pick-up__news>dl dd a:hover {
    text-decoration: underline
}

.top-pick-up__news>dl .rss_contents {
    padding-top: .3em;
    padding-left: 7em
}

.top-promise {
    background: #fff;
    padding: 100px 20px 75px
}

.top-promise>* {
    padding-left: 0;
    padding-right: 0
}

@media screen and (max-width:768px) {
    .top-promise {
        padding-top: 50px;
        padding-bottom: 40px
    }
}

.top-promise__ttl {
    text-align: center;
    font-size: 3.8rem;
    font-weight: bold;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    margin-bottom: 1em
}

@media screen and (max-width:980px) {
    .top-promise__ttl {
        font-size: 3rem
    }
}

@media screen and (max-width:768px) {
    .top-promise__ttl {
        text-align: center;
        font-size: 2.6rem;
        line-height: 1.4
    }
}

.top-promise__ttl .-assort {
    color: #ed6103
}

.top-promise__category {
    font-size: 2.2rem;
    font-weight: bold;
    margin: 1em 0 .7em;
    color: #ed6103;
    text-align: center
}

.top-promise__desc {
    font-size: 1.5rem
}

@media screen and (max-width:768px) {
    .top-promise__desc {
        padding: 0 20px;
        font-size: 1.4rem
    }
}

.top-promise .btn {
    margin-top: 50px
}

@media screen and (max-width:768px) {
    .top-promise .btn {
        margin-top: 30px
    }
}

.top-promise .btn figure {
    margin: 0
}

.top-promise .btn p {
    margin: 0
}

.top-reason {
    background: #fff;
    padding: 70px 20px
}

.top-reason>* {
    padding-left: 0;
    padding-right: 0
}

@media screen and (max-width:768px) {
    .top-reason {
        padding-top: 30px;
        padding-bottom: 70px
    }
}

.top-reason__ttl {
    text-align: center;
    font-size: 3.8rem;
    font-weight: bold;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    margin-bottom: .2em
}

@media screen and (max-width:980px) {
    .top-reason__ttl {
        font-size: 3rem
    }
}

@media screen and (max-width:768px) {
    .top-reason__ttl {
        text-align: center;
        font-size: 2.6rem;
        line-height: 1.4
    }
}

.top-reason__ttl .-assort {
    color: #ed6103
}

.top-reason__category {
    font-size: 2.2rem;
    font-weight: bold;
    margin: 1em 0 .7em;
    color: #ed6103;
    text-align: center
}

.top-reason__note {
    font-size: 85%;
    text-align: center;
    margin-bottom: 30px
}

@media screen and (max-width:768px) {
    .top-reason__note {
        text-align: center;
        padding: 0 20px;
        margin-bottom: 20px
    }
}

.top-reason__desc {
    font-size: 1.5rem
}

@media screen and (max-width:768px) {
    .top-reason__desc {
        padding: 0 20px;
        font-size: 1.4rem
    }
}

.top-reason__case .row {
    margin: -10px
}

.top-reason__case .voice__ttl {
    margin-top: 115px;
    margin-bottom: .2em
}

@media screen and (max-width:768px) {
    .top-reason__case .voice__ttl {
        margin-top: 70px
    }
}

.top-reason__case .top-reason__note {
    margin-bottom: 40px;
    margin-top: 24px
}

@media screen and (max-width:768px) {
    .top-reason__case .top-reason__note {
        font-size: 1.4rem;
        margin-top: 16px
    }
}

.consultation_box {
    background: #fff;
    border-radius: 4px;
    padding: 34px
}

.consultation_box a.item-box-link {
    display: block;
    width: 100%;
    text-decoration: none;
    color: #1f1f1f;
    background: #fff;
    border-radius: 4px;
    -webkit-transition: .3s ease all;
    transition: .3s ease all;
    cursor: pointer;
    position: relative
}

.consultation_box .item-box-link:hover {
    opacity: .6
}

.consultation_img img {
    width: 100%;
    height: auto;
    border-radius: 5px
}

.consultation_box h3,
.recommend_box h3 {
    font-size: 1.8rem;
    font-weight: bold
}

.consultation_box p {
    font-size: 1.5rem;
    line-height: 1.75em;
    padding-bottom: 40px
}

.consultation_box .star {
    display: flex;
    gap: 2px
}

.link-more {
    position: absolute;
    display: inline-block;
    margin: 1em 1em 0 0;
    font-weight: bold;
    color: #ED6103;
    text-align: right;
    width: 95%;
    bottom: 0
}

.link-more::after {
    position: absolute;
    top: 0.35em;
    display: inline-block;
    width: 0.5em;
    height: 0.5em;
    margin: 0 0 0 0.5em;
    border-width: 1px 1px 0 0;
    border-style: solid;
    border-color: #ED6103;
    transform: rotate(45deg);
    content: ""
}

.top-reason__voice {
    border-radius: 10px;
    margin-top: 20px;
    margin-bottom: 20px
}

@media screen and (max-width:768px) {
    .top-reason__voice {
        margin-top: 20px
    }
}

.top-reason__voice__ttl {
    padding-left: 80px;
    position: relative;
    margin-bottom: 30px
}

@media screen and (max-width:768px) {
    .top-reason__voice__ttl {
        margin-bottom: 15px;
        padding-left: 60px
    }
}

.top-reason__voice__ttl-txt {
    font-size: 2.2rem;
    font-weight: bold
}

@media screen and (max-width:768px) {
    .top-reason__voice__ttl-txt {
        font-size: 1.5rem
    }
}

.top-reason__voice__ttl-desc {
    font-size: 1.4rem
}

.top-reason__voice__ttl-icon {
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

@media screen and (max-width:768px) {
    .top-reason__voice__ttl-icon {
        left: 0
    }

    .top-reason__voice__ttl-icon img {
        max-width: 45px
    }
}

.top-reason__voice__item {
    background: #fff;
    border-radius: 10px;
    padding: 20px;
    box-sizing: border-box;
    border: 2px solid #fff
}

@media screen and (max-width:768px) {
    .top-reason__voice__item {
        padding: 10px
    }
}

.top-reason__voice__item+.top-reason__voice__item {
    margin-top: 20px
}

.top-reason__voice__item.biggerlink {
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    cursor: pointer
}

.top-reason__voice__item.biggerlink:hover {
    border: 2px solid #ed6103;
    background: rgba(237, 97, 3, .01)
}

.top-reason__voice__desc {
    color: #ed6103;
    line-height: 1.4;
    margin-bottom: 5px;
    font-size: 1.5rem
}

.top-reason__voice__desc a {
    color: #ed6103;
    text-decoration: none
}

.top-reason__voice__detail {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
}

.top-reason__voice__evaluation {
    font-size: 1.8rem;
    color: #B7B7B7
}

.top-reason__voice__evaluation>*+* {
    margin-left: 3px
}

.top-reason__voice__evaluation .-point,
.top-reason__voice__evaluation .-point-no {
    font-size: 1.6rem;
    width: 1em;
    height: 1em;
    overflow: hidden;
    text-indent: -9999px;
    display: inline-block;
    position: relative
}

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

    .top-reason__voice__evaluation .-point,
    .top-reason__voice__evaluation .-point-no {
        font-size: 1.4rem
    }
}

.top-reason__voice__evaluation .-point::before,
.top-reason__voice__evaluation .-point-no::before {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
    font-family: "icon" !important;
    font-style: normal;
    font-weight: normal;
    -webkit-font-feature-settings: normal;
    font-feature-settings: normal;
    font-variant: normal;
    text-transform: none;
    text-indent: 0;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: ""
}

.top-reason__voice__evaluation .-point {
    color: #ED6103
}

.top-reason__voice__evaluation .-point::before {
    color: #ED6103
}

.top-reason__voice__evaluation .-point-no {
    color: #B7B7B7
}

.top-reason__voice__evaluation .-point-no::before {
    color: #B7B7B7
}

.top-reason__voice__name {
    line-height: 1.4;
    margin-left: 10px;
    font-size: 1.4rem
}

@media screen and (max-width:768px) {
    .top-reason__voice__name {
        font-size: 1.2rem
    }
}

.top-reason .btn {
    margin-top: 50px
}

@media screen and (max-width:768px) {
    .top-reason .btn {
        margin-top: 30px
    }
}

.top-reason .btn figure {
    margin: 0
}

.top-reason .btn p {
    margin: 0
}

.top-slider {
    margin-top: 30px;
    margin-bottom: 70px;
    position: relative;
    z-index: 0;
    width: calc(100% + 20px);
    margin-left: -10px
}

@media screen and (max-width:1020px) {
    .top-slider {
        padding: 0 30px
    }
}

@media screen and (max-width:650px) {
    .top-slider {
        padding: 0;
        margin-top: 20px;
        margin-bottom: 40px;
        width: 100%;
        margin-left: 0
    }
}

.top-slider figure {
    text-align: center
}

.top-slider figure img {
    -webkit-transition: opacity .3s ease;
    transition: opacity .3s ease;
    margin: 0 auto
}

.top-slider a:hover img {
    opacity: .7
}

.top-slider .slick-slide {
    margin: 0 10px
}

@media screen and (max-width:650px) {
    .top-slider .slick-slide {
        margin: 0
    }
}

.top-slider .slick-slide img {
    width: 100%
}

.top-slider .slick-list {
    position: relative;
    z-index: 0
}

.top-slider .slick-arrow {
    border: none;
    background: rgba(0, 0, 0, .2);
    ;
    color: #fff;
    width: 23px;
    height: 45px;
    text-indent: -9999px;
    border-radius: 0 100% 100% 0%/50%;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    left: 10px;
    cursor: pointer;
    padding: 0;
    margin: 0;
    outline: none;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    z-index: 10
}

@media screen and (max-width:1020px) {
    .top-slider .slick-arrow {
        left: 0
    }
}

@media screen and (max-width:650px) {
    .top-slider .slick-arrow {
        background: rgba(0, 0, 0, .2)
    }
}

.top-slider .slick-arrow::before {
    font-family: "icon" !important;
    font-style: normal;
    font-weight: normal;
    -webkit-font-feature-settings: normal;
    font-feature-settings: normal;
    font-variant: normal;
    text-transform: none;
    text-indent: 0;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "";
    color: rgba(0, 0, 0, .4);
    top: 50%;
    position: absolute;
    left: 6px;
    z-index: 10;
    -webkit-transform: translateY(-50%) scale(-1, 1);
    transform: translateY(-50%) scale(-1, 1);
    font-size: 16px;
    font-size: 1rem
}

@media screen and (max-width:650px) {
    .top-slider .slick-arrow::before {
        font-size: 3vw
    }
}

.top-slider .slick-arrow::after {
    display: block;
    content: "";
    height: 10vw;
    background: #fff;
    width: 10px;
    left: -10px;
    top: 50%;
    transform: translateY(-50%);
    position: absolute
}

.top-slider .slick-arrow::hover::after {
    opacity: 1
}

.top-slider .slick-arrow.slick-next::after {
    right: -10px;
    left: auto
}

.top-slider .slick-arrow.slick-next {
    left: auto;
    right: 10px;
    border-radius: 100%0 0 100%/50%
}

@media screen and (max-width:1020px) {
    .top-slider .slick-arrow.slick-next {
        left: auto;
        right: 0
    }
}

@media screen and (max-width:650px) {
    .top-slider .slick-arrow.slick-next {
        z-index: 10
    }
}

.top-slider .slick-arrow.slick-next::before {
    -webkit-transform: translateY(-50%) scale(1, 1);
    transform: translateY(-50%) scale(1, 1);
    left: auto;
    right: 6px
}

.slick-dots {
    position: absolute;
    bottom: -35px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    text-align: center;
    width: 100%
}

.slick-dots li {
    display: inline-block;
    cursor: pointer;
    margin: 0 5px;
    cursor: pointer
}

.slick-dots li button {
    cursor: pointer;
    border: none;
    width: 10px;
    height: 10px;
    text-indent: -9999px;
    background: #ddd;
    padding: 0;
    border-radius: 100%;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    outline: none
}

.slick-dots li button:hover {
    opacity: .7
}

.slick-dots li.slick-active button {
    background: #ed6103
}

@media screen and (max-width:768px) {
    .slick-dots {
        bottom: -26px
    }
}

.trouble {
    background: #f4f4f4;
    padding-bottom: 50px;
    margin-bottom: 90px
}

.trouble .full-width__inner {
    padding: 0
}

@media screen and (max-width:768px) {
    .trouble {
        margin-bottom: 50px
    }
}

.trouble__ttl {
    text-align: center
}

.trouble__ttl>* {
    text-align: left;
    display: inline-block;
    font-size: 5.2rem;
    font-weight: bold;
    padding: 30px 0 30px 140px;
    position: relative
}

@media screen and (max-width:939px) {
    .trouble__ttl>* {
        font-size: 4rem
    }
}

@media screen and (max-width:768px) {
    .trouble__ttl>* {
        padding: 20px 0 20px 120px;
        line-height: 1.4;
        font-size: 3.4rem
    }
}

.trouble__ttl>*:before {
    content: "";
    width: 163px;
    height: 191px;
    background: url("/assets/dcms_media/image/character_homes_02-a2edd5bf.png")left bottom no-repeat;
    background-size: contain;
    position: absolute;
    left: 0;
    bottom: 0
}

@media screen and (max-width:768px) {
    .trouble__ttl>*:before {
        left: 10px;
        width: 131px;
        height: 153px;
        background-image: url("/assets/dcms_media/image/character_homes_02_sp-30448f19.png")
    }
}

.trouble__ttl .-point {
    position: relative
}

.trouble__ttl .-point:before {
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    display: block;
    background: #fff;
    top: -10px;
    left: 40%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    border-radius: 100%
}

@media screen and (max-width:768px) {
    .trouble__ttl .-point:before {
        top: -5px;
        width: 5px;
        height: 5px
    }
}

.trouble .full-width__inner {
    background: #fff
}

.trouble__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media screen and (max-width:768px) {
    .trouble__list {
        padding: 0 15px
    }
}

.trouble__list>* {
    width: 50%;
    padding: 30px
}

@media screen and (max-width:768px) {
    .trouble__list>* {
        width: 100%;
        padding: 20px 0
    }
}

.trouble__list__item {
    border-bottom: 2px solid #8c8c8c;
    border-right: 2px solid #8c8c8c
}

@media screen and (max-width:768px) {
    .trouble__list__item {
        border-right: none
    }
}

.trouble__list__item:nth-child(2n) {
    border-right: none
}

.trouble__list__item:nth-last-child(2) {
    border-bottom: none
}

@media screen and (max-width:768px) {
    .trouble__list__item:nth-last-child(2) {
        border-bottom: 2px solid #8c8c8c
    }
}

.trouble__list__item:last-child {
    border-bottom: none;
    border-right: none
}

.trouble__list__ttl {
    text-align: center;
    font-size: 2.8rem;
    font-weight: bold;
    color: #ed6103;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 20px
}

@media screen and (max-width:768px) {
    .trouble__list__ttl {
        margin-bottom: 20px;
        font-size: 2.4rem
    }
}

.trouble__list__img {
    text-align: center;
    margin-bottom: 30px
}

@media screen and (max-width:768px) {
    .trouble__list__img {
        margin-bottom: 10px;
        padding: 0 20px
    }
}

.trouble__solution {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
}

.trouble__solution__ttl {
    width: 103px
}

@media screen and (max-width:768px) {
    .trouble__solution__ttl {
        width: 72px
    }
}

.trouble__solution__detail {
    padding-left: 20px;
    font-size: 1.8rem;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    width: calc(100% - 103px)
}

@media screen and (max-width:768px) {
    .trouble__solution__detail {
        padding-left: 10px;
        width: calc(100% - 72px)
    }

    .trouble__solution__detail br {
        display: none
    }
}

.top-cm .row {
    justify-content: center
}

.top-cm__ttl {
    text-align: center;
    font-size: 3.8rem;
    font-weight: bold;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    margin-bottom: 0.75em
}

.top-cm__desc {
    text-align: center;
    margin-bottom: 40px;
    font-size: 1.5rem;
    font-weight: bold
}

.cm_icon {
    position: absolute;
    width: 120px;
    height: 120px;
    bottom: 60px;
    right: 140px;
    z-index: 2;
    opacity: 0
}

.cm_icon img {
    width: 100%
}

@media screen and (max-width:992px) {
    .cm_icon {
        bottom: 30px
    }
}

@media screen and (max-width:768px) {
    .top-cm__ttl {
        font-size: 2.6rem;
        margin-bottom: 0.75em
    }

    .top-cm__desc {
        margin-bottom: 25px
    }

    .cm_icon {
        bottom: 10px;
        right: 34px;
        width: 70px;
        height: 70px
    }
}

.full-width.present {
    padding: 100px 20px
}

.full-width.present+.top-pick-up {
    padding-bottom: 100px
}

@media screen and (max-width:768px) {
    .full-width.present {
        padding: 30px 20px
    }
}

.present__wrap {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    background: #ffffff
}

@media screen and (max-width:768px) {
    .present__wrap {
        flex-direction: column
    }

    .present__wrap a {
        display: flex;
        width: 100%
    }
}

.present__image {
    width: 50%;
    padding-right: 29px
}

@media screen and (max-width:768px) {
    .present__image {
        width: 100%;
        padding-right: 0;
        text-align: center;
        margin: 0 auto
    }
}

.present__detail {
    width: 50%;
    padding-left: 30px
}

@media screen and (max-width:768px) {
    .present__detail {
        width: 100%;
        padding-left: 0;
        margin-top: 0;
        border-left: none
    }
}

.present__detail .link-box__ttl-icon {
    padding: 5px 4px;
    width: 50px
}

.present__detail .link-box__ttl-icon img {
    width: 100%
}

.present__detail .link-box__ttl {
    padding-left: 60px;
    padding-top: 6px;
    margin-bottom: 25px
}

.present__detail .link-box__ttl-txt {
    font-size: 2.4rem
}

@media screen and (max-width:992px) {
    .present__detail .link-box__ttl-txt {
        font-size: 2.2rem
    }
}

.present__detail__qr {
    display: flex
}

.present__detail__qr .img_qr {
    max-width: 106px;
    width: 27%
}

.present__detail__qr .text_cp {
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.73;
    padding-left: 20px;
    width: 73%
}

.present__detail__qr .text_cp .note {
    display: inline-block;
    font-size: 1.2rem;
    font-weight: normal;
    line-height: 1.67;
    padding-top: 20px
}

@media screen and (max-width:992px) {
    .present__detail__qr .text_cp .note {
        padding-top: 10px
    }
}

.present__detail .btn-line {
    margin-top: 24px
}

@media screen and (max-width:992px) {
    .hidden__tablet {
        display: none
    }
}

.cp_text__logo {
    display: flex;
    align-items: center;
    margin-bottom: 12px
}

@media screen and (max-width:768px) {
    .cp_text__logo {
        justify-content: center;
        margin-bottom: 4px
    }
}

.cp_text__logo span {
    font-size: 12px;
    display: inline-block;
    margin-right: 12px
}

.cp_text__lead {
    font-size: 16px;
    line-height: 1;
    font-weight: 400;
    font-family: "LIFULL Font"
}

@media screen and (max-width:768px) {
    #btn_top_line {
        width: 100%
    }

    .cp_text__wrap {
        text-align: center;
        margin-top: 24px
    }
}

@media screen and (max-width:320px) {
    .btn-line:not(.cv__reservation__btn) a {
        width: 100% !important
    }
}

.tel-cta+.full-width.present {
    padding-top: 0
}

.tel-cta .full-width__inner {
    padding: 100px 0 60px 0;
    margin: 0 auto
}

@media screen and (max-width:768px) {
    .tel-cta .full-width__inner {
        padding: 30px 0
    }
}

.tel-cta_title {
    color: #ed6103;
    font-size: 2.6rem;
    text-align: center;
    font-weight: bold;
    position: absolute;
    z-index: 1;
    top: -20px;
    transform: translateX(-50%);
    left: 50%;
    width: 100%
}

@media screen and (max-width:768px) {
    .tel-cta_title {
        position: relative;
        left: auto;
        transform: inherit;
        text-align: left;
        font-size: 1.5rem;
        line-height: 1.4;
        top: auto
    }
}

.tel-cta_title::before {
    content: "";
    position: absolute;
    width: 514px;
    height: 30px;
    background-color: #fff;
    top: 0;
    transform: translateX(-50%);
    left: 50%;
    z-index: -1
}

@media screen and (max-width:768px) {
    .tel-cta_title::before {
        display: none
    }
}

.tel-cta_wrap {
    border: 2px solid #ED6103;
    border-radius: 20px;
    padding: 40px 45px 26px 45px;
    position: relative
}

@media screen and (max-width:900px) {
    .tel-cta_wrap {
        padding: 40px 40px 26px 40px
    }
}

@media screen and (max-width:768px) {
    .tel-cta_wrap {
        padding: 18px 34px
    }

    .balloon {
        position: relative
    }

    .balloon:before,
    .balloon:after {
        content: "";
        position: absolute;
        right: 0;
        left: 0;
        width: 0;
        height: 0;
        margin: auto
    }

    .balloon:before {
        border-style: solid;
        border-color: #ED6103 transparent transparent transparent;
        border-width: 12px 24px 0 24px;
        top: -2px
    }

    .balloon:after {
        border-style: solid;
        border-color: #fff transparent transparent transparent;
        border-width: 10px 20px 0 20px;
        z-index: 10;
        top: -2px
    }
}

.tel-cta_wrap::after {
    position: absolute;
    content: "";
    background: url("/assets/dcms_media/other/img_top_telcta_chara_pc-a61b76bc.webp")no-repeat;
    width: 155px;
    height: 160px;
    right: 3%;
    bottom: 0;
    z-index: 2
}

@media screen and (min-width:769px) and (max-width:1100px) {
    .tel-cta_wrap::after {
        right: 1%
    }
}

@media screen and (max-width:768px) {
    .tel-cta_wrap::after {
        background: url("/assets/dcms_media/other/img_top_telcta_chara_sp-12bf6e36.webp");
        width: 114px;
        height: 168px;
        background-size: cover;
        right: 2%
    }
}

.tel-cta_detail {
    display: flex;
    position: relative
}

.tel-cta_info {
    width: 50%
}

@media screen and (min-width:769px) and (max-width:1100px) {
    .tel-cta_info {
        width: 45%
    }
}

@media screen and (max-width:768px) {
    .tel-cta_info {
        display: none
    }
}

.tel-cta_info .tel_number {
    font-size: 4.2rem;
    font-weight: 900;
    color: #ED6103;
    text-decoration: none;
    position: relative;
    padding-left: 33px;
    letter-spacing: 0.05em;
    pointer-events: auto
}

@media screen and (min-width:769px) and (max-width:1100px) {
    .tel-cta_info .tel_number {
        font-size: 3.2rem
    }
}

.tel-cta_info .tel_number::before {
    position: absolute;
    content: "";
    background: url("/assets/dcms_media/other/img_top_tel-cta_icon-ae56ca59.svg");
    background-repeat: no-repeat;
    width: 20px;
    height: 32px;
    top: 50%;
    transform: translateY(-50%);
    left: 0
}

.tel-cta_info .tel_desc {
    display: inline-block;
    font-size: 1.5rem
}

.tel-cta_list {
    padding-left: 3%
}

@media screen and (min-width:769px) and (max-width:1100px) {
    .tel-cta_list {
        padding-left: 1%
    }
}

@media screen and (max-width:768px) {
    .tel-cta_list {
        padding-left: 0;
        margin-top: 10px
    }
}

.tel-cta_list li {
    padding-left: 1em;
    position: relative;
    font-size: 1.6rem;
    font-weight: bold
}

@media screen and (min-width:769px) and (max-width:1100px) {
    .tel-cta_list li {
        font-size: 1.4rem
    }
}

@media screen and (max-width:768px) {
    .tel-cta_list li {
        font-size: 1.2rem;
        font-weight: normal
    }
}

.tel-cta_list>*::after {
    background: #FFAB00;
    content: "";
    border-radius: 100%;
    display: block;
    width: 6px;
    height: 6px;
    left: 0;
    top: 0.6em;
    position: absolute
}

.tel-cta_btn {
    margin: 0 auto;
    text-align: center;
    margin-top: 30px;
    margin-bottom: 20px
}

.tel-cta_btn a {
    width: 267px;
    padding-left: 87px;
    text-align: left
}

.mv-step {
    text-align: center;
    padding: 70px 20px 20px
}

@media screen and (max-width:768px) {
    .mv-step {
        padding-top: 30px;
        padding-bottom: 0
    }
}

.mv-step__lead {
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 17px
}

@media screen and (max-width:768px) {
    .mv-step__lead {
        font-size: 1.8rem;
        margin-bottom: 10px
    }
}

.mv-step__lead span.-orange {
    color: #ED6103
}

.mv-step__lead span.-big {
    font-size: 3.8rem
}

@media screen and (max-width:768px) {
    .mv-step__lead span.-big {
        font-size: 2.4rem
    }
}

.mv-step__list {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
    width: 400px;
    margin-bottom: 40px
}

@media screen and (max-width:768px) {
    .mv-step__list {
        min-width: 267px;
        width: 71.2vw;
        margin-bottom: 30px
    }
}

.mv-step__list li:not(.step__arrow) {
    min-width: 65px;
    position: relative
}

.mv-step__list .step__arrow {
    position: relative
}

.mv-step__list .step__arrow::after {
    background: url("/assets/dcms_media/other/img_top_step_arrow-a3a87828.svg");
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
    display: block;
    width: 22px;
    height: 24px;
    top: -25px;
    left: -5px;
    position: absolute
}

@media screen and (max-width:768px) {
    .mv-step__list .step__arrow::after {
        width: 16px;
        height: 18px;
        top: -19px
    }
}

.mv-step__list li:last-child::after {
    display: none
}

.mv-step__list .list__item__img {
    width: 83px;
    margin: 0 auto
}

@media screen and (max-width:768px) {
    .mv-step__list .list__item__img {
        width: 56px
    }
}

.mv-step__list .list__item__text {
    font-size: 1.8rem;
    line-height: 1;
    margin-top: 10px;
    font-weight: 700
}

@media screen and (max-width:768px) {
    .mv-step__list .list__item__text {
        font-size: 1.3rem;
        margin-top: 7px;
        font-weight: normal
    }
}

.top-mv__nonstop {
    position: absolute;
    top: 34.13vw;
    right: 17px;
    opacity: 0
}

@media screen and (min-width:769px) {
    .top-mv__nonstop {
        top: auto;
        bottom: 30px;
        right: 0
    }
}

.top-mv__nonstop__inner {
    display: flex;
    align-items: center;
    justify-content: center
}

.mv__nonstop__balloon {
    line-height: 1;
    width: 183px;
    height: 32px;
    position: relative;
    z-index: 1;
    font-size: 1.2rem;
    color: #ED6103;
    font-weight: bold;
    padding: 10px 7px 10px 8px;
    display: flex;
    align-items: center
}

.top-mv__nonstop.-long .mv__nonstop__balloon {
    width: 203px
}

@media screen and (min-width:769px) {
    .mv__nonstop__balloon {
        width: 340px;
        height: 57px;
        font-size: 2rem;
        padding: 18px 28px 19px 18px;
        margin-right: 8px;
        letter-spacing: 0.05em
    }

    .top-mv__nonstop.-long .mv__nonstop__balloon {
        width: 388px
    }
}

.mv__nonstop__balloon .balloon__tag {
    background: #ed6103;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 12px;
    font-size: 6px;
    color: #fff;
    margin-right: 4px;
    padding: 2px
}

@media screen and (min-width:769px) {
    .mv__nonstop__balloon .balloon__tag {
        width: 53px;
        height: 20px;
        font-size: 1.1rem;
        margin-right: 8px;
        padding: 5px 5px 5px 4px;
        letter-spacing: 0em
    }
}

.mv__nonstop__balloon::before {
    position: absolute;
    content: "";
    background-image: url("/assets/dcms_media/other/img_top_nonstop_balloon_sp-9b45c85b.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 183px;
    height: 32px;
    z-index: -1;
    top: 0;
    left: 0
}

.top-mv__nonstop.-long .mv__nonstop__balloon::before {
    background-image: url("/assets/dcms_media/other/img_top_nonstop_balloon_long_sp-6bac5930.svg");
    width: 203px
}

@media screen and (min-width:769px) {
    .mv__nonstop__balloon::before {
        background-image: url("/assets/dcms_media/other/img_top_nonstop_balloon-065f563d.svg");
        width: 340px;
        height: 57px
    }

    .top-mv__nonstop.-long .mv__nonstop__balloon::before {
        background-image: url("/assets/dcms_media/other/img_top_nonstop_balloon_long-122616d7.svg");
        width: 388px
    }
}

.mv__nonstop__img {
    background: #ffab00;
    border: 2px solid #ed6103;
    border-radius: 50%;
    width: 54px;
    height: 54px;
    overflow: hidden
}

.mv__nonstop__img img {
    width: 80%;
    transform: translate(3px, 5px)
}

.voice__ttl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

@media (max-width:768px) {
    .voice__ttl {
        flex-direction: column
    }
}

.voice__ttl .ttl__icon {
    width: 56px;
    height: 56px
}

@media (max-width:768px) {
    .voice__ttl .ttl__icon {
        width: 45px;
        height: 45px
    }
}

.voice__ttl .ttl__main {
    font-size: 3.8rem;
    font-weight: bold;
    padding-left: 12px;
    line-height: 1
}

@media (max-width:768px) {
    .voice__ttl .ttl__main {
        font-size: 2.6rem;
        padding-left: 0;
        margin-top: 10px
    }
}

.voice__desc {
    font-size: 1.5rem;
    line-height: 1.75;
    text-align: center;
    margin-top: 20px
}

.voice__desc .orange {
    color: #ed6103
}

@media (max-width:768px) {
    .voice__desc {
        text-align: left;
        font-size: 1.6rem
    }
}

.voice__list__wrap {
    padding: 0 34px
}

@media (max-width:768px) {
    .voice__list__wrap {
        margin-top: 0px;
        padding: 0
    }
}

.voice__list__item {
    background-color: #fff;
    padding: 12px 20px 20px;
    border-radius: 10px;
    margin-top: 20px
}

.voice__list__item:first-child {
    margin-top: 0
}

@media (max-width:768px) {
    .voice__list__item {
        padding: 20px
    }
}

.voice__list__item .item__ttl__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-bottom: 1px solid #E8E8E8;
    padding-bottom: 10px
}

@media (max-width:768px) {
    .voice__list__item .item__ttl__wrap {
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        align-items: flex-start
    }
}

.voice__list__item .item__ttl__wrap .ttl__icon {
    width: 46px;
    height: 46px
}

.voice__list__item .item__ttl__wrap .ttl__main {
    font-size: 1.6rem;
    padding-left: 16px;
    font-weight: bold;
    width: calc(100% - 148px)
}

@media (max-width:768px) {
    .voice__list__item .item__ttl__wrap .ttl__main {
        padding-left: 5px;
        width: auto;
        order: 2;
        margin-top: 10px
    }
}

.voice__list__item .item__text {
    font-size: 1.6rem;
    line-height: 1.63;
    padding-top: 13px
}

.voice__list__item .item__text .orange {
    color: #ed6103
}

.card__evaluation-star {
    font-size: 1.8rem;
    color: #B7B7B7;
    padding-left: 10px
}

@media (max-width:768px) {
    .card__evaluation-star {
        width: 100%;
        order: 1;
        padding-left: 5px;
        line-height: 1
    }
}

.card__evaluation-star>*+* {
    margin-left: 3px
}

.card__evaluation-star .-point,
.card__evaluation-star .-no-point {
    font-size: 1.6rem;
    width: 1em;
    height: 1em;
    overflow: hidden;
    text-indent: -9999px;
    display: inline-block;
    position: relative;
    color: #ED6103
}

.card__evaluation-star .-no-point {
    color: #B7B7B7
}

.card__evaluation-star .-point::before,
.card__evaluation-star .-no-point::before {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
    font-family: "icon" !important;
    font-style: normal;
    font-weight: normal;
    -webkit-font-feature-settings: normal;
    font-feature-settings: normal;
    font-variant: normal;
    text-transform: none;
    text-indent: 0;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: ""
}

.sp__wrap {
    display: contents
}

@media (max-width:768px) {
    .sp__wrap {
        display: flex;
        flex-direction: column
    }
}

.top-mv__ttl__main .-small {
    font-size: 2.6rem;
    line-height: 1;
    display: inline-block;
    margin-bottom: 23px
}

@media screen and (max-width:768px) {
    .top-mv__ttl__main .-small {
        font-size: 5.333vw;
        margin-bottom: 16px
    }
}

.top-mv__ttl__main .-level {
    background-color: #ED6103;
    color: #fff;
    font-size: 2.1rem;
    letter-spacing: normal;
    border-radius: 50px;
    width: 260px;
    height: 47px;
    display: flex;
    justify-content: center;
    align-items: baseline;
    margin: 0 auto;
    margin-top: 22px;
    line-height: 1.45;

    .-num {
        font-size: 2.9rem;
        padding-left: 8px;
    }

    & sup {
        font-size: 0.8rem;
    }
}

@media screen and (max-width:768px) {
    .top-mv__ttl__main .-level {
        width: 52vw;
        height: 9.333vw;
        font-size: 4.266vw;
        margin-top: 15px;

        .-num {
            font-size: 5.866vw;
        }

        & sup {
            font-size: 1.6vw;
        }
    }
}

.top-mv__tag {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    margin-top: 40px;
    gap: 10px;

    & li {
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: #fff;
        font-size: 1.6rem;
        font-weight: 700;
        color: #ED6103;
        border-radius: 50px;
        padding: 6px 12px;
        height: 28px;
        line-height: 1
    }
}

@media screen and (max-width:768px) {
    .top-mv__tag {
        margin-top: 16px;
        gap: 8px;

        & li {
            font-size: 1.4rem;
            padding: 6px 8px;
            height: 26px
        }
    }
}

.mv-note {
    font-size: 1.2rem;
    margin-top: 30px
}

@media screen and (max-width:768px) {
    .mv-note {
        text-align: left;
        line-height: 1.5
    }
}

.btn-shop>*,
.btn-video>*,
.btn-seminar>*,
.btn-phone>* {
    cursor: pointer;
    display: inline-block;
    background: #0052E8;
    color: #fff;
    min-width: 294px;
    font-size: 1.8rem;
    padding: .8em 20px .8em 80px;
    text-decoration: none;
    text-align: center;
    position: relative;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    border-radius: 4px;
    font-weight: bold;
    line-height: 1.4;
    top: 0
}

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

    .btn-shop>*,
    .btn-video>*,
    .btn-seminar>*,
    .btn-phone>* {
        padding: 1.2em 20px 1.2em 80px;
        font-size: 1.6rem;
        min-width: 100%
    }
}

.btn-shop>*:hover,
.btn-video>*:hover,
.btn-seminar>*:hover,
.btn-phone>*:hover {
    background: #073ACC;
    top: 2px
}

.btn-shop>*:hover .-free,
.btn-video>*:hover .-free,
.btn-seminar>*:hover .-free,
.btn-phone>*:hover .-free {
    background: #0531BA
}

.btn-shop>*::before,
.btn-video>*::before,
.btn-seminar>*::before,
.btn-phone>*::before {
    content: "";
    width: 60px;
    height: calc(100% - 4px);
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    border-right: 1px solid #5A65FF
}

.btn-shop>*::after,
.btn-video>*::after,
.btn-seminar>*::after,
.btn-phone>*::after {
    content: "";
    width: 26px;
    height: 26px;
    position: absolute;
    left: 20px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.btn-shop .-free,
.btn-video .-free,
.btn-seminar .-free,
.btn-phone .-free {
    background: #0A4AD0;
    font-size: 1.2rem !important;
    padding: 5px 6px 3px;
    float: right;
    margin-top: -2px;
    border-radius: 5px;
    color: #fff;
    width: 48px;
    text-align: center;
    margin-left: 20px
}

.btn-shop>*::after {
    background: url("/assets/dcms_media/other/common_img_icon_shop-b4a49af7.svg")center center no-repeat;
    background-size: contain
}

.btn-video>*::after {
    background: url("/assets/dcms_media/other/common_img_icon_video-b4b217ba.svg")center center no-repeat;
    background-size: contain
}

.btn-seminar>*::after {
    background: url("/assets/dcms_media/other/common_img_icon_seminar-7052430f.svg")center center no-repeat !important;
    background-size: contain
}

.btn-phone>*::after {
    background: url("/assets/dcms_media/other/common_img_icon_spphone-aee33562.svg")center center no-repeat;
    background-size: contain
}

.btn-phone .business-hour-disabled {
    background: #fff;
    border: 2px solid #A5A5A5;
    color: #A5A5A5
}

.btn-phone .business-hour-disabled::before {
    border-right: 1px solid #A5A5A5 !important
}

.btn-phone .business-hour-disabled::after {
    background: url("/assets/dcms_media/other/common_img_icon_spphone_off-5be8e51a.svg")center center no-repeat;
    background-size: contain
}

.btn-phone .business-hour-disabled span.-label {
    background: #D9D9D9;
    color: #fff
}

.support_btn .btn-shop {
    padding: 5px 10px 5px 20px !important
}

.support_btn .btn-video {
    padding: 5px 20px 5px 10px !important
}

.support_btn .btn-seminar {
    padding: 5px 5px 5px 10px !important
}

.support_btn .btn-phone {
    padding: 5px 5px 5px 10px !important
}

.support_btn .btn-shop>* {
    padding: 1.4em 20px 1.3em 92px
}

.support_btn .btn-video>* {
    padding: 24px 15px 24px 76px
}

.support_btn .btn-seminar>* {
    padding: 1.4em 20px 1.3em 80px
}

.support_btn .btn-phone>* {
    padding: 1.2em 20px 1.3em 84px
}

.support_btn .btn-shop>*,
.support_btn .btn-video>*,
.support_btn .btn-seminar>*,
.support_btn .btn-phone>* {
    min-width: 330px;
    height: 70px
}

.support_btn .btn-shop>*:hover,
.support_btn .btn-video>*:hover,
.support_btn .btn-seminar>*:hover,
.support_btn .btn-phone>*:hover {
    background: #073ACC
}

.support_btn .btn-shop>*:hover .-free,
.support_btn .btn-video>*:hover .-free,
.support_btn .btn-seminar>*:hover .-free,
.support_btn .btn-phone>*:hover .-free {
    background: #0531BA
}

.support_btn .btn-shop .-free,
.support_btn .btn-video .-free,
.support_btn .btn-seminar .-free,
.support_btn .btn-phone .-free {
    background: #004AD0;
    font-size: 1.1rem !important;
    width: 34px;
    height: 22px;
    line-height: 1
}

.support_btn .btn-shop>*::before,
.support_btn .btn-video>*::before,
.support_btn .btn-seminar>*::before,
.support_btn .btn-phone>*::before {
    width: 64px;
    height: calc(100% - 4px);
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    border-right: 1px solid #5A65FF
}

.support_txt a {
    color: #1f1f1f
}

.support_btn {
    margin: 0px !important
}

@media screen and (max-width:768px) {
    .support_btn {
        gap: 20px;
        margin: 0 !important
    }

    .support_btn .btn-shop,
    .support_btn .btn-video,
    .support_btn .btn-seminar,
    .support_btn .btn-phone {
        padding: 0px !important
    }

    .support_btn .btn-shop>* {
        padding: 24px 15px 24px 80px;
        min-width: 267px;
        width: 267px;
        max-width: 267px;
        font-size: 1.6rem;
        line-height: 1
    }

    .support_btn .btn-video>* {
        padding: 24px 15px 24px 56px;
        min-width: 267px;
        width: 267px;
        max-width: 267px;
        font-size: 1.6rem;
        line-height: 1
    }

    .support_btn .btn-seminar>* {
        padding: 24px 15px 24px 56px;
        min-width: 267px;
        width: 267px;
        max-width: 267px;
        font-size: 1.8rem;
        line-height: 1
    }

    .support_btn .btn-phone>* {
        padding: 24px 15px 24px 80px;
        min-width: 267px;
        width: 267px;
        max-width: 267px;
        font-size: 1.6rem;
        line-height: 1
    }

    .support_btn .btn-shop>*,
    .support_btn .btn-video>*,
    .support_btn .btn-seminar>*,
    .support_btn .btn-phone>* {
        height: 64px
    }

    .support_btn .btn-video .-free {
        margin-left: 0
    }

    .support_btn .btn-seminar .-free {
        margin-left: 0
    }

    .support_btn .btn-shop>*::before,
    .support_btn .btn-video>*::before,
    .support_btn .btn-seminar>*::before,
    .support_btn .btn-phone>*::before {
        width: 56px
    }

    .support_btn .btn-shop>*::after,
    .support_btn .btn-video>*::after,
    .support_btn .btn-seminar>*::after,
    .support_btn .btn-phone>*::after {
        left: 16px
    }

    .support_txt {
        width: 267px;
        margin-left: auto;
        margin-right: auto;
        font-size: 1.3rem;
        text-align: left !important
    }
}

.top-ttl__forcus {
    font-size: 3.8rem;
    font-weight: 700;
    width: 600px;
    height: 120px;
    text-align: center;
    position: relative;
    margin: 0 auto;
    margin-bottom: 40px;

    &:before,
    &::after {
        position: absolute;
        bottom: 0;
        font-family: "icon" !important;
        font-style: normal;
        font-weight: normal;
        -webkit-font-feature-settings: normal;
        font-feature-settings: normal;
        font-variant: normal;
        text-transform: none;
        text-indent: 0;
        line-height: 1;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        content: "";
        color: #ed6103;
        font-size: 2.2rem
    }

    &::before {
        left: -4px;
        bottom: 5px;
        -webkit-transform: rotate(-90deg);
        transform: rotate(-90deg)
    }

    &::after {
        right: 0;
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg)
    }
}

.top-ttl__forcus .ttl-inner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    width: 100%;
    height: 120px;

    &::before,
    &::after {
        position: absolute;
        top: 0;
        font-family: "icon" !important;
        font-style: normal;
        font-weight: normal;
        -webkit-font-feature-settings: normal;
        font-feature-settings: normal;
        font-variant: normal;
        text-transform: none;
        text-indent: 0;
        line-height: 1;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        content: "";
        color: #ed6103;
        font-size: 2.2rem
    }

    &::before {
        left: 0
    }

    &::after {
        right: -3px;
        top: 5px;
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg)
    }
}

.top-introduction {
    .top-ttl__forcus {
        margin-bottom: 30px;
    }
}

@media screen and (max-width:768px) {
    .top-ttl__forcus {
        width: 100%;
        height: 106px;
        font-size: 2.8rem;
        line-height: 1.43;
        margin-bottom: 20px;

        &:before,
        &::after {
            font-size: 1.5rem
        }
    }

    .top-ttl__forcus .ttl-inner {
        height: 106px;

        &:before,
        &::after {
            font-size: 1.5rem
        }
    }

    .top-introduction,
    .top-reason {

        .top-ttl__forcus,
        .top-ttl__forcus .ttl-inner {
            height: 76px;
        }
    }

    .top-introduction {
        .top-ttl__forcus {
            margin-bottom: 20px;
        }
    }
}

.top-ttl__underline {
    font-size: 3.8rem;
    line-height: 1;
    font-weight: 700;
    position: relative;
    padding-bottom: 20px;
    text-align: center;
    display: block;
    margin-bottom: 36px;
    margin-top: 30px;

    &::before {
        position: absolute;
        content: "";
        display: block;
        width: 206px;
        height: 6px;
        background: #ED6103;
        border-radius: 3px;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%)
    }
}

@media screen and (max-width:768px) {
    .top-ttl__underline {
        font-size: 2.8rem;
        margin-top: 0;
        margin-bottom: 30px;

        &::before {
            width: 160px;
            height: 4px
        }
    }
}

.top-ttl__simple {
    font-weight: 700;
    text-align: center;
    font-size: 3.8rem;
    margin-bottom: 40px
}

@media screen and (max-width:768px) {
    .top-ttl__simple {
        font-size: 2.6rem;
        margin-bottom: 30px
    }
}

.top-live__subttl {
    color: #ed6103;
    font-size: 2.2rem;
    line-height: 1;
    font-weight: 700;
    text-align: center;
    width: 390px;
    left: 0
}

@media screen and (max-width:768px) {
    .top-live__subttl {
        width: 100%;
        font-size: 2rem
    }
}

.top-live__tag {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    margin-top: 30px;
    gap: 10px;
    width: 390px;

    & li {
        display: flex;
        align-items: center;
        justify-content: center;
        background: #fff;
        font-size: 1.6rem;
        line-height: 1;
        font-weight: 700;
        color: #ED6103;
        border-radius: 50px;
        padding: 6px 12px
    }
}

@media screen and (max-width:768px) {
    .top-live__tag {
        margin-top: 16px;
        gap: 8px;
        width: 100%;

        & li {
            font-size: 1.4rem;
            padding: 6px 8px
        }
    }
}

.support-note {
    font-size: 1.5rem;
    font-weight: 700;
    margin-top: 30px;
    margin-bottom: 30px;
    text-align: center;

    .-thin {
        font-weight: normal;
    }

    .-tel {
        font-size: 2rem;
        line-height: 1;
    }
}

@media screen and (max-width:768px) {
    .support-note {
        margin-top: 30px;
        margin-bottom: 20px;

        .-tel {
            font-size: 1.8rem;
        }
    }

    .support-note.support-note__tel {
        margin-top: 15px;
        margin-bottom: 10px;
        font-size: 1.4rem
    }
}

.top-about__subttl {
    font-size: 3rem;
    font-weight: 700
}

@media screen and (max-width:768px) {
    .top-about__subttl {
        order: 2;
        font-size: 2rem;
        line-height: 1;
        margin-bottom: 18px
    }
}

.top-about__section {
    display: flex;
    justify-content: space-between;
    align-items: center
}

.top-about__list {
    font-size: 1.8rem;
    font-weight: 700;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    padding: 0;
    width: 686px;
    gap: 12px 30px;

    & li {
        &:nth-child(odd) {
            width: 354px
        }

        display:-webkit-box;
        display:-ms-flexbox;
        display:flex;
        -ms-flex-wrap:wrap;
        flex-wrap:wrap;
        -webkit-box-align:center;
        -ms-flex-align:center;
        align-items:center;
        padding-left:28px;
        position:relative;
        line-height:1
    }
}

@media screen and (max-width:768px) {
    .top-about__list {
        width: 100%;
        flex-direction: column;

        & li {
            &:nth-child(odd) {
                width: 100%
            }

            width:100%;
            font-size:1.4rem
        }
    }
}

.top-about__worries {
    position: relative;
    padding: 40px 34px;
    border-radius: 4px;
    background: #f4f4f4;

    .top-about__subttl {
        text-align: center;
        line-height: 1;
    }

    .top-about__section__img {
        margin-left: 45px;
    }

    .top-about__section {
        justify-content: space-between;
        align-items: flex-end;
    }

    .top-about__list {
        & li {
            &:nth-child(2) {
                width: 302px;
            }

            &::before {
                content: "";
                display: block;
                background-color: #707070;
                width: 8px;
                height: 8px;
                position: absolute;
                left: 6px;
                top: 50%;
                transform: translateY(-50%);
                border-radius: 100%;
            }
        }
    }
}

@media screen and (max-width:768px) {
    .top-about__worries {
        padding: 15px 22px 20px;
        display: flex;
        flex-direction: column;
        align-items: center;

        .top-about__section {
            display: contents;
        }

        .top-about__section__img {
            order: 1;
            width: 85px;
            margin-bottom: 14px;
            margin-left: 0;
        }

        .top-about__list {
            order: 3;

            & li {
                &:first-child {
                    width: 100%;
                }

                &:nth-child(2) {
                    width: 100%;
                }

            }
        }
    }
}

.top-about__worries::after {
    z-index: 10;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 20px 75px 0 75px;
    border-color: #f4f4f4 transparent transparent transparent;
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    bottom: -20px
}

@media screen and (max-width:768px) {
    .top-about__worries::after {
        border-width: 20px 61px 0 61px
    }
}

.top-about__solution {
    margin-top: 50px;

    .sp-wrap {
        display: contents;
    }

    .top-about__subttl {
        font-weight: 700;
        text-align: center;
        line-height: 1;
        margin-bottom: 30px;

        .-small {
            font-size: 2.2rem;
            display: block;
            margin-bottom: 14px;
        }

        .-orange {
            color: #ED6103;
            font-size: 3rem;
            line-height: 1.46;
            display: inline-block;
        }
    }

    .top-about__list {
        & li {
            &::before {
                content: "";
                display: block;
                background-image: url("/assets/dcms_media/other/market001_icon_check-4681e236.svg");
                background-size: contain;
                width: 18px;
                height: 18px;
                position: absolute;
                top: 50%;
                left: 0;
                -webkit-transform: translateY(-50%);
                transform: translateY(-50%);
            }
        }
    }

    .top-about__section {
        padding: 40px 34px;
        border-radius: 4px;
        background: #FEF3EB;
        position: relative;
        justify-content: flex-end;
    }

    .top-about__section__img {
        position: absolute;
        width: 156px;
        left: 34px;
        bottom: 0;
    }

    .top-about__summary {
        color: #ED6103;
        font-size: 1.8rem;
        font-weight: 700;
        margin-top: 20px;
    }
}

@media screen and (max-width:768px) {
    .top-about__solution {
        .top-about__subttl {
            text-align: left;
            order: 1;
            margin-bottom: 0;

            .-small {
                font-size: 1.4rem;
                margin-bottom: 5px;
            }

            .-orange {
                font-size: 2.6rem;
            }
        }

        .sp-wrap {
            display: flex;
            justify-content: space-between;

            /* align-items: flex-end; */
            .top-about__section__img {
                order: 2;
                width: 120px;
                position: relative;
                left: auto;
                bottom: auto;
            }
        }

        .top-about__section {
            padding: 24px 20px;
        }

        .top-about__list {
            & li {
                font-size: 1.6rem;
            }
        }

        .top-about__summary {
            font-size: 2rem;
            line-height: 1.5;
        }
    }
}

.top-flow__area {
    margin-top: 110px;
}

@media screen and (max-width:768px) {
    .top-flow__area {
        margin-top: 60px;
    }
}

.top-flow {
    background: #F4F4F4;

    .top-flow__section {
        padding-bottom: 30px;
    }

    .top-flow__item {
        padding: 40px 34px 0;
        position: relative;

        &:first-of-type {
            padding-top: 20px;
        }

        &::after {
            position: absolute;
            display: block;
            z-index: 10;
            content: "";
            width: 0;
            height: 0;
            border-style: solid;
            border-width: 20px 75px 0 75px;
            border-color: #fff transparent transparent transparent;
            left: 50%;
            -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
            bottom: -20px;
        }

        &:last-of-type {
            &::after {
                display: none;
            }
        }

        .top-flow__item__ttl {
            display: flex;
            align-items: center;
            justify-content: flex-start;
            gap: 20px;
            font-weight: 700;
            margin-bottom: 10px;

            .-img {
                width: 50px;
                height: 50px;
            }

            .-orange {
                color: #ED6103;
                font-size: 2.2rem;
            }

            .-small {
                font-size: 1.8rem;
            }

            .sp-wrap {
                display: contents;
            }
        }
    }

    .top-flow__list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        background: #fff;
        border-radius: 4px;
        padding: 20px 30px;

        & li {
            position: relative;
            font-size: 1.5rem;
            padding-left: 28px;
            width: 50%;

            &::before {
                content: "";
                display: block;
                background-color: #FFAB00;
                width: 8px;
                height: 8px;
                position: absolute;
                left: 6px;
                top: 6px;
                border-radius: 100%;
            }
        }
    }
}

@media screen and (max-width:768px) {
    .full-width.top-flow {
        padding: 0
    }

    .top-flow {
        .top-flow__item {
            padding: 44px 20px 0 20px;

            &:first-of-type {
                padding-top: 25px;
            }

            &::after {
                border-width: 20px 61px 0 61px;
            }

            .top-flow__item__ttl {
                .-img {
                    width: 70px;
                    height: 70px;
                }

                .-orange {
                    font-size: 2.2rem;
                    display: block;
                }

                .-small {
                    font-size: 1.6rem;
                }

                .sp-wrap {
                    display: block;
                }
            }
        }

        .top-flow__list {
            flex-direction: column;
            padding: 20px;
            gap: 7px;

            & li {
                width: 100%;
                font-size: 1.4rem;
            }
        }
    }
}

.top-flow__summary {
    font-size: 1.8rem;
    font-weight: 700;
    text-align: center;
    width: 940px;
    margin: 0 auto;
    margin-top: 40px;
    margin-bottom: 70px
}

@media screen and (max-width:768px) {
    .top-flow__summary {
        width: 100%;
        text-align: left;
        font-size: 1.6rem;
        line-height: 1.5;
        padding: 0 20px;
        margin-top: 30px;
        margin-bottom: 0
    }
}

.top-reason {
    background: #FEF3EB;

    .btn_lead {
        margin-bottom: 20px;
    }
}

.btn_lead {
    font-weight: 700;
    font-size: 1.5rem;
    margin-top: 40px;
    text-align: center
}

@media screen and (max-width:768px) {
    .btn_lead {
        margin-top: 35px;
        margin-bottom: 10px
    }
}

.top-other-contents {
    background: #f4f4f4;
    padding: 70px 0
}

@media screen and (max-width:768px) {
    .top-other-contents {
        padding-top: 30px
    }
}

.top-other-contents__item {
    background: #fff;
    padding: 40px 34px;
    border-radius: 4px;

    &+.top-other-contents__item {
        margin-top: 20px
    }
}

@media screen and (max-width:768px) {
    .top-other-contents__item {
        background: #fff;
        padding: 26px 20px 30px 20px
    }
}

.top-other-contents__ttl {
    font-weight: 700;
    font-size: 2.2rem;
    text-align: center;
    margin-bottom: 30px;

    &:has(+p) {
        margin-bottom: 20px
    }
}

@media screen and (max-width:768px) {
    .top-other-contents__ttl {
        font-size: 2rem
    }
}

.top-other-contents__lead {
    line-height: 1;
    font-size: 1.5rem;
    text-align: center
}

@media screen and (max-width:768px) {
    .top-other-contents__lead {
        line-height: 1.63;
        font-size: 1.6rem
    }
}

.top-slider-instagram {
    .top-instagram__img {
        width: 25%;
    }
}

@media screen and (max-width:768px) {
    .top-slider-instagram {
        .slick-dots {
            bottom: -45px;
        }
    }
}

.top-cta {
    padding: 70px 20px;

    .support-note {
        margin-bottom: 20px;
        margin-top: 20px;
    }
}

.top-book__list {
    display: flex;
    gap: 20px;

    &+.btn {
        margin-top: 40px
    }
}

@media screen and (max-width:768px) {
    .top-book__list {
        flex-wrap: wrap;

        .top-book__img {
            width: calc((100% - 20px)/2);
            display: block;
        }

        &+.btn {
            margin-top: 30px;
        }
    }
}

.top-lifelist__list {
    display: flex;
    gap: 20px;
    margin-top: 30px;

    .top-lifelist__img {
        width: calc(100% / 3);
    }

    .top-lifelist__read {
        display: inline-block;
        margin-top: 20px;
        font-size: 1.5rem;
        color: #1F1F1F;
        text-decoration: none;
    }

    &+.btn {
        margin-top: 40px;
    }
}

@media screen and (max-width:768px) {
    .top-lifelist__list {
        flex-wrap: wrap;
        gap: 16px;

        .top-lifelist__img {
            width: 100%;
            display: block;
        }

        .top-lifelist__read {
            font-size: 1.6rem;
        }

        &+.btn {
            margin-top: 30px;
        }
    }
}

@media screen and (max-width:650px) {
    .top-lifelist__list {
        margin-top: 20px
    }
}

.btn>a,
.btn .-block {
    height: 60px;
    line-height: 1 !important;
    padding: 20px 0 !important
}

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

    .btn>a,
    .btn .-block {
        height: 64px;
        padding: 24px 0 !important
    }
}

.btn.-window>a::before,
.btn.-window .-block::before {
    background-image: url("/assets/dcms_media/other/blank-ef43ae47.svg");
    width: 16px;
    height: 15px;
    content: ""
}

.btn.-window>a:hover::before {
    background-image: url("/assets/dcms_media/other/blank_on-0fca172a.svg")
}

.btn-phone .business-hour-disabled {
    background: #fff;
    border: 2px solid #A5A5A5;
    color: #A5A5A5;

    .-free {
        background: #D9D9D9;
    }
}

/* ===== common-2.css から統合（重複アイコンフォント除外） ===== */
/* 除外: リセットCSS(1-264行)、slick(269-368行)、.btn>a::before(1541-1564行)、.cv-fixed__btn a::before(1744-1750行)、.site-pagetop a::after(3821-3866行)、.ttl-h2::after(3877-3883行) */

.contents {
    overflow: hidden
}

body.compensate-for-scrollbar {
    overflow: hidden
}

.fancybox-active {
    height: auto
}

.fancybox-is-hidden {
    left: -9999px;
    margin: 0;
    position: absolute !important;
    top: -9999px;
    visibility: hidden
}

.fancybox-container {
    -webkit-backface-visibility: hidden;
    height: 100%;
    left: 0;
    outline: none;
    position: fixed;
    -webkit-tap-highlight-color: transparent;
    top: 0;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    width: 100%;
    z-index: 99992
}

.fancybox-container * {
    box-sizing: border-box
}

.fancybox-outer,
.fancybox-inner,
.fancybox-bg,
.fancybox-stage {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0
}

.fancybox-outer {
    -webkit-overflow-scrolling: touch;
    overflow-y: auto
}

.fancybox-bg {
    background: #1e1e1e;
    opacity: 0;
    -webkit-transition-duration: inherit;
    transition-duration: inherit;
    -webkit-transition-property: opacity;
    transition-property: opacity;
    -webkit-transition-timing-function: cubic-bezier(0.47, 0, 0.74, 0.71);
    transition-timing-function: cubic-bezier(0.47, 0, 0.74, 0.71)
}

.fancybox-is-open .fancybox-bg {
    opacity: .9;
    -webkit-transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
    transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1)
}

.fancybox-infobar,
.fancybox-toolbar,
.fancybox-caption,
.fancybox-navigation .fancybox-button {
    direction: ltr;
    opacity: 0;
    position: absolute;
    -webkit-transition: opacity .25s ease, visibility 0s ease .25s;
    transition: opacity .25s ease, visibility 0s ease .25s;
    visibility: hidden;
    z-index: 99997
}

.fancybox-show-infobar .fancybox-infobar,
.fancybox-show-toolbar .fancybox-toolbar,
.fancybox-show-caption .fancybox-caption,
.fancybox-show-nav .fancybox-navigation .fancybox-button {
    opacity: 1;
    -webkit-transition: opacity .25s ease 0s, visibility 0s ease 0s;
    transition: opacity .25s ease 0s, visibility 0s ease 0s;
    visibility: visible
}

.fancybox-infobar {
    color: #ccc;
    font-size: 13px;
    -webkit-font-smoothing: subpixel-antialiased;
    height: 44px;
    left: 0;
    line-height: 44px;
    min-width: 44px;
    mix-blend-mode: difference;
    padding: 0 10px;
    pointer-events: none;
    top: 0;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.fancybox-toolbar {
    right: 0;
    top: 0
}

.fancybox-stage {
    direction: ltr;
    overflow: visible;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    z-index: 99994
}

.fancybox-is-open .fancybox-stage {
    overflow: hidden
}

.fancybox-slide {
    -webkit-backface-visibility: hidden;
    display: none;
    height: 100%;
    left: 0;
    outline: none;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 44px;
    position: absolute;
    text-align: center;
    top: 0;
    -webkit-transition-property: opacity, -webkit-transform;
    transition-property: opacity, -webkit-transform;
    transition-property: transform, opacity;
    transition-property: transform, opacity, -webkit-transform;
    white-space: normal;
    width: 100%;
    z-index: 99994
}

.fancybox-slide::before {
    content: "";
    display: inline-block;
    font-size: 0;
    height: 100%;
    vertical-align: middle;
    width: 0
}

.fancybox-is-sliding .fancybox-slide,
.fancybox-slide--previous,
.fancybox-slide--current,
.fancybox-slide--next {
    display: block
}

.fancybox-slide--image {
    overflow: hidden;
    padding: 44px 0
}

.fancybox-slide--image::before {
    display: none
}

.fancybox-slide--html {
    padding: 6px
}

.fancybox-content {
    background: #fff;
    display: inline-block;
    margin: 0;
    max-width: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 44px;
    position: relative;
    text-align: left;
    vertical-align: middle
}

.fancybox-slide--image .fancybox-content {
    -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.14, 1);
    animation-timing-function: cubic-bezier(0.5, 0, 0.14, 1);
    -webkit-backface-visibility: hidden;
    background: transparent;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    left: 0;
    max-width: none;
    overflow: visible;
    padding: 0;
    position: absolute;
    top: 0;
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-transition-property: opacity, -webkit-transform;
    transition-property: opacity, -webkit-transform;
    transition-property: transform, opacity;
    transition-property: transform, opacity, -webkit-transform;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    z-index: 99995
}

.fancybox-can-zoomOut .fancybox-content {
    cursor: -webkit-zoom-out;
    cursor: zoom-out
}

.fancybox-can-zoomIn .fancybox-content {
    cursor: -webkit-zoom-in;
    cursor: zoom-in
}

.fancybox-can-swipe .fancybox-content,
.fancybox-can-pan .fancybox-content {
    cursor: -webkit-grab;
    cursor: grab
}

.fancybox-is-grabbing .fancybox-content {
    cursor: -webkit-grabbing;
    cursor: grabbing
}

.fancybox-container [data-selectable="true"] {
    cursor: text
}

.fancybox-image,
.fancybox-spaceball {
    background: transparent;
    border: 0;
    height: 100%;
    left: 0;
    margin: 0;
    max-height: none;
    max-width: none;
    padding: 0;
    position: absolute;
    top: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: 100%
}

.fancybox-spaceball {
    z-index: 1
}

.fancybox-slide--video .fancybox-content,
.fancybox-slide--map .fancybox-content,
.fancybox-slide--pdf .fancybox-content,
.fancybox-slide--iframe .fancybox-content {
    height: 100%;
    overflow: visible;
    padding: 0;
    width: 100%
}

.fancybox-slide--video .fancybox-content {
    background: #1f1f1f
}

.fancybox-slide--map .fancybox-content {
    background: #e5e3df
}

.fancybox-slide--iframe .fancybox-content {
    background: #fff
}

.fancybox-video,
.fancybox-iframe {
    background: transparent;
    border: 0;
    display: block;
    height: 100%;
    margin: 0;
    overflow: hidden;
    padding: 0;
    width: 100%
}

.fancybox-iframe {
    left: 0;
    position: absolute;
    top: 0
}

.fancybox-error {
    background: #fff;
    cursor: default;
    max-width: 400px;
    padding: 40px;
    width: 100%
}

.fancybox-error p {
    color: #444;
    font-size: 16px;
    line-height: 20px;
    margin: 0;
    padding: 0
}

.fancybox-button {
    background: rgba(30, 30, 30, .6);
    border: 0;
    border-radius: 0;
    box-shadow: none;
    cursor: pointer;
    display: inline-block;
    height: 44px;
    margin: 0;
    padding: 10px;
    position: relative;
    -webkit-transition: color .2s;
    transition: color .2s;
    vertical-align: top;
    visibility: inherit;
    width: 44px
}

.fancybox-button,
.fancybox-button:visited,
.fancybox-button:link {
    color: #ccc
}

.fancybox-button:hover {
    color: #fff
}

.fancybox-button:focus {
    outline: none
}

.fancybox-button.fancybox-focus {
    outline: 1px dotted
}

.fancybox-button[disabled],
.fancybox-button[disabled]:hover {
    color: #888;
    cursor: default;
    outline: none
}

.fancybox-button div {
    height: 100%
}

.fancybox-button svg {
    display: block;
    height: 100%;
    overflow: visible;
    position: relative;
    width: 100%
}

.fancybox-button svg path {
    fill: currentColor;
    stroke-width: 0
}

.fancybox-button--play svg:nth-child(2),
.fancybox-button--fsenter svg:nth-child(2) {
    display: none
}

.fancybox-button--pause svg:nth-child(1),
.fancybox-button--fsexit svg:nth-child(1) {
    display: none
}

.fancybox-progress {
    background: #ff5268;
    height: 2px;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 0;
    transform-origin: 0;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-timing-function: linear;
    transition-timing-function: linear;
    z-index: 99998
}

.fancybox-close-small {
    background: transparent;
    border: 0;
    border-radius: 0;
    color: #ccc;
    cursor: pointer;
    opacity: .8;
    padding: 8px;
    position: absolute;
    right: -12px;
    top: -44px;
    z-index: 401
}

.fancybox-close-small:hover {
    color: #fff;
    opacity: 1
}

.fancybox-slide--html .fancybox-close-small {
    color: currentColor;
    padding: 10px;
    right: 0;
    top: 0
}

.fancybox-slide--image.fancybox-is-scaling .fancybox-content {
    overflow: hidden
}

.fancybox-is-scaling .fancybox-close-small,
.fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small {
    display: none
}

.fancybox-navigation .fancybox-button {
    background-clip: content-box;
    height: 100px;
    opacity: 0;
    position: absolute;
    top: calc(50% - 50px);
    width: 70px
}

.fancybox-navigation .fancybox-button div {
    padding: 7px
}

.fancybox-caption {
    background: -webkit-linear-gradient(bottom, rgba(0, 0, 0, .85) 0%, rgba(0, 0, 0, .3) 50%, rgba(0, 0, 0, .15) 65%, rgba(0, 0, 0, .075) 75.5%, rgba(0, 0, 0, .037) 82.85%, rgba(0, 0, 0, .019) 88%, rgba(0, 0, 0, 0) 100%);
    background: linear-gradient(to top, rgba(0, 0, 0, .85) 0%, rgba(0, 0, 0, .3) 50%, rgba(0, 0, 0, .15) 65%, rgba(0, 0, 0, .075) 75.5%, rgba(0, 0, 0, .037) 82.85%, rgba(0, 0, 0, .019) 88%, rgba(0, 0, 0, 0) 100%);
    bottom: 0;
    color: #eee;
    font-size: 14px;
    font-weight: 400;
    left: 0;
    line-height: 1.5;
    padding: 75px 44px 25px 44px;
    pointer-events: none;
    right: 0;
    text-align: center;
    z-index: 99996
}

.fancybox-caption--separate {
    margin-top: -50px
}

.fancybox-caption__body {
    max-height: 50vh;
    overflow: auto;
    pointer-events: all
}

.fancybox-caption a,
.fancybox-caption a:link,
.fancybox-caption a:visited {
    color: #ccc;
    text-decoration: none
}

.fancybox-caption a:hover {
    color: #fff;
    text-decoration: underline
}

.fancybox-loading {
    -webkit-animation: fancybox-rotate 1s linear infinite;
    animation: fancybox-rotate 1s linear infinite;
    background: transparent;
    border: 4px solid #888;
    border-bottom-color: #fff;
    border-radius: 50%;
    height: 50px;
    left: 50%;
    margin: -25px 0 0-25px;
    opacity: .7;
    padding: 0;
    position: absolute;
    top: 50%;
    width: 50px;
    z-index: 99999
}

@-webkit-keyframes fancybox-rotate {
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@keyframes fancybox-rotate {
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

.fancybox-animated {
    -webkit-transition-timing-function: cubic-bezier(0, 0, 0.25, 1);
    transition-timing-function: cubic-bezier(0, 0, 0.25, 1)
}

.fancybox-fx-slide.fancybox-slide--previous {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0)
}

.fancybox-fx-slide.fancybox-slide--next {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0)
}

.fancybox-fx-slide.fancybox-slide--current {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

.fancybox-fx-fade.fancybox-slide--previous,
.fancybox-fx-fade.fancybox-slide--next {
    opacity: 0;
    -webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
    transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1)
}

.fancybox-fx-fade.fancybox-slide--current {
    opacity: 1
}

.fancybox-fx-zoom-in-out.fancybox-slide--previous {
    opacity: 0;
    -webkit-transform: scale3d(1.5, 1.5, 1.5);
    transform: scale3d(1.5, 1.5, 1.5)
}

.fancybox-fx-zoom-in-out.fancybox-slide--next {
    opacity: 0;
    -webkit-transform: scale3d(0.5, 0.5, 0.5);
    transform: scale3d(0.5, 0.5, 0.5)
}

.fancybox-fx-zoom-in-out.fancybox-slide--current {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1)
}

.fancybox-fx-rotate.fancybox-slide--previous {
    opacity: 0;
    -webkit-transform: rotate(-360deg);
    transform: rotate(-360deg)
}

.fancybox-fx-rotate.fancybox-slide--next {
    opacity: 0;
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg)
}

.fancybox-fx-rotate.fancybox-slide--current {
    opacity: 1;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg)
}

.fancybox-fx-circular.fancybox-slide--previous {
    opacity: 0;
    -webkit-transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0);
    transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0)
}

.fancybox-fx-circular.fancybox-slide--next {
    opacity: 0;
    -webkit-transform: scale3d(0, 0, 0) translate3d(100%, 0, 0);
    transform: scale3d(0, 0, 0) translate3d(100%, 0, 0)
}

.fancybox-fx-circular.fancybox-slide--current {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
    transform: scale3d(1, 1, 1) translate3d(0, 0, 0)
}

.fancybox-fx-tube.fancybox-slide--previous {
    -webkit-transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg);
    transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg)
}

.fancybox-fx-tube.fancybox-slide--next {
    -webkit-transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg);
    transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg)
}

.fancybox-fx-tube.fancybox-slide--current {
    -webkit-transform: translate3d(0, 0, 0) scale(1);
    transform: translate3d(0, 0, 0) scale(1)
}

@media all and (max-height:576px) {
    .fancybox-slide {
        padding-left: 6px;
        padding-right: 6px
    }

    .fancybox-slide--image {
        padding: 6px 0
    }

    .fancybox-close-small {
        right: -6px
    }

    .fancybox-slide--image .fancybox-close-small {
        background: #4e4e4e;
        color: #f2f4f6;
        height: 36px;
        opacity: 1;
        padding: 6px;
        right: 0;
        top: 0;
        width: 36px
    }

    .fancybox-caption {
        padding-left: 12px;
        padding-right: 12px
    }
}

.fancybox-share {
    background: #f4f4f4;
    border-radius: 3px;
    max-width: 90%;
    padding: 30px;
    text-align: center
}

.fancybox-share h1 {
    color: #222;
    font-size: 35px;
    font-weight: 700;
    margin: 0 0 20px 0
}

.fancybox-share p {
    margin: 0;
    padding: 0
}

.fancybox-share__button {
    border: 0;
    border-radius: 3px;
    display: inline-block;
    font-size: 14px;
    font-weight: 700;
    line-height: 40px;
    margin: 0 5px 10px 5px;
    min-width: 130px;
    padding: 0 15px;
    text-decoration: none;
    -webkit-transition: all .2s;
    transition: all .2s;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    white-space: nowrap
}

.fancybox-share__button:visited,
.fancybox-share__button:link {
    color: #fff
}

.fancybox-share__button:hover {
    text-decoration: none
}

.fancybox-share__button--fb {
    background: #3b5998
}

.fancybox-share__button--fb:hover {
    background: #344e86
}

.fancybox-share__button--pt {
    background: #bd081d
}

.fancybox-share__button--pt:hover {
    background: #aa0719
}

.fancybox-share__button--tw {
    background: #1da1f2
}

.fancybox-share__button--tw:hover {
    background: #0d95e8
}

.fancybox-share__button svg {
    height: 25px;
    margin-right: 7px;
    position: relative;
    top: -1px;
    vertical-align: middle;
    width: 25px
}

.fancybox-share__button svg path {
    fill: #fff
}

.fancybox-share__input {
    background: transparent;
    border: 0;
    border-bottom: 1px solid #d7d7d7;
    border-radius: 0;
    color: #5d5b5b;
    font-size: 14px;
    margin: 10px 0 0 0;
    outline: none;
    padding: 10px 15px;
    width: 100%
}

.fancybox-thumbs {
    background: #ddd;
    bottom: 0;
    display: none;
    margin: 0;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    padding: 2px 2px 4px 2px;
    position: absolute;
    right: 0;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    top: 0;
    width: 212px;
    z-index: 99995
}

.fancybox-thumbs-x {
    overflow-x: auto;
    overflow-y: hidden
}

.fancybox-show-thumbs .fancybox-thumbs {
    display: block
}

.fancybox-show-thumbs .fancybox-inner {
    right: 212px
}

.fancybox-thumbs__list {
    font-size: 0;
    height: 100%;
    list-style: none;
    margin: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0;
    position: absolute;
    position: relative;
    white-space: nowrap;
    width: 100%
}

.fancybox-thumbs-x .fancybox-thumbs__list {
    overflow: hidden
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar {
    width: 7px
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track {
    background: #fff;
    border-radius: 10px;
    box-shadow: inset 0 0 6px rgba(0, 0, 0, .3)
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb {
    background: #2a2a2a;
    border-radius: 10px
}

.fancybox-thumbs__list a {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    background-color: rgba(0, 0, 0, .1);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    cursor: pointer;
    float: left;
    height: 75px;
    margin: 2px;
    max-height: calc(100% - 8px);
    max-width: calc(50% - 4px);
    outline: none;
    overflow: hidden;
    padding: 0;
    position: relative;
    -webkit-tap-highlight-color: transparent;
    width: 100px
}

.fancybox-thumbs__list a::before {
    border: 6px solid #ff5268;
    bottom: 0;
    content: "";
    left: 0;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 99991
}

.fancybox-thumbs__list a:focus::before {
    opacity: .5
}

.fancybox-thumbs__list a.fancybox-thumbs-active::before {
    opacity: 1
}

@media all and (max-width:576px) {
    .fancybox-thumbs {
        width: 110px
    }

    .fancybox-show-thumbs .fancybox-inner {
        right: 110px
    }

    .fancybox-thumbs__list a {
        max-width: calc(100% - 10px)
    }
}

.box-img {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin: 32px 0
}

@media screen and (max-width:768px) {
    .box-img {
        display: block;
        margin: 1em 0
    }
}

.box-img__fig {
    text-align: center
}

@media screen and (max-width:768px) {
    .box-img__fig {
        width: 100% !important;
        max-width: 100%;
        margin: 32px 0
    }
}

.box-img__fig .-border img,
.box-img__fig.-border img {
    border: 1px solid #E1E1E1
}

.box-img__fig .-caption {
    margin-top: .5em;
    font-size: 1.4rem;
    line-height: 1.8
}

.box-img__fig.-logo {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding-left: 40px
}

@media screen and (max-width:768px) {
    .box-img__fig.-logo {
        padding-left: 0;
        display: block;
        margin-bottom: 0;
        padding: 0 10px
    }
}

.box-img__fig iframe {
    width: 100%;
    height: auto
}

.box-img__movie {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden
}

.box-img__movie>iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.box-img__lead {
    font-weight: bold;
    font-size: 1.8rem;
    color: #ed6103;
    margin-bottom: 1em
}

@media screen and (max-width:992px) {
    .box-img__lead {
        font-size: 1.6rem
    }
}

.box-img__body {
    width: 100%;
    box-sizing: border-box
}

@media screen and (max-width:768px) {
    .box-img__body {
        width: 100% !important
    }
}

.cm-imgBox.-texture .box-img__body {
    position: relative;
    z-index: 1;
    background-color: #fff;
    padding: 0 80px 70px;
    margin: 0-80px -70px
}

@media screen and (max-width:768px) {
    .cm-imgBox.-texture .box-img__body {
        margin: 0;
        padding: 0
    }
}

@media screen and (max-width:768px) {
    .box-img__body.common_pr_50 {
        padding-right: 0 !important
    }
}

@media screen and (max-width:768px) {
    .box-img__body.-wid70 {
        width: 100% !important
    }
}

.box-img__body>*:first-child {
    margin-top: 0
}

.box-img.-left {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
}

.box-img.-left .box-img__body {
    padding-left: 30px
}

@media screen and (max-width:768px) {
    .box-img.-left .box-img__body {
        padding-left: 0
    }
}

.box-img.-right .box-img__body {
    padding-right: 30px
}

@media screen and (max-width:768px) {
    .box-img.-right .box-img__body {
        padding-right: 0
    }
}

.btn-line:not(.cv__reservation__btn) a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    height: 64px;
    border-radius: 5px;
    text-decoration: none;
    width: 267px;
    margin: 0 auto
}

.btn-line:not(.cv__reservation__btn) a span {
    display: block;
    margin-top: 1px;
    width: auto;
    text-align: center;
    color: #ffffff;
    font-size: 1.8rem;
    font-weight: bold
}

@media screen and (max-width:320px) {
    .btn-line:not(.cv__reservation__btn) a span {
        font-size: 1.5rem
    }
}

.btn-line:not(.cv__reservation__btn) a:before {
    display: inline-block;
    content: "";
    min-width: 58px;
    height: 58px;
    border-radius: 5px 0 0 5px;
    vertical-align: middle
}

@media screen and (max-width:320px) {
    .btn-line:not(.cv__reservation__btn) a:before {
        min-width: 48px
    }
}

.btn-line a {
    background: #06c755
}

.btn-line a:before {
    background: #06c755 url("/assets/dcms_media/image/common/line-fabc3e70.svg")no-repeat center center;
    background-size: 32px;
    border-right: 1px solid #45D580
}

.btn-line a span.free-icon {
    background: #02B94E;
    font-size: 1.1rem !important;
    line-height: 1;
    padding: 5px 6px 3px;
    float: right;
    margin-right: 12px;
    margin-top: 0;
    border-radius: 5px;
    color: #fff;
    width: 34px;
    height: 22px;
    text-align: center
}

.btn .-block a {
    color: #ed6103;
    text-decoration: none;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

.btn .-block>* {
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

.btn .-block:hover>* {
    color: #fff !important
}

.btn .-block:hover>* a {
    color: #fff !important
}

.btn>a,
.btn .-block {
    cursor: pointer;
    display: inline-block;
    border: 1px solid #ed6103;
    background: #fff;
    color: #ed6103;
    min-width: 250px;
    font-size: 1.8rem;
    padding: .8em 2em;
    text-decoration: none;
    text-align: center;
    position: relative;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    border-radius: 4px;
    font-weight: bold;
    line-height: 1.4;
    top: 0
}

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

    .btn>a,
    .btn .-block {
        font-size: 1.6rem
    }
}

}

.btn>a:hover,
.btn .-block:hover {
    background: #ed6103;
    color: #fff;
    top: 2px
}

.btn.-medium {
    font-size: 1.6rem
}

@media screen and (max-width:768px) {
    .btn.-medium {
        font-size: 1.4rem
    }
}

.btn.-c {
    text-align: center
}

.cv-fixed {
    position: fixed !important;
    top: 350px;
    right: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column;
    -ms-flex-flow: column;
    flex-flow: column;
    -webkit-box-align: end;
    align-items: stretch;
    height: 0;
    z-index: 100
}

@media screen and (min-width:769px) and (max-height:700px) {
    .cv-fixed {
        top: 250px
    }
}

@media screen and (max-width:768px) {
    .cv-fixed {
        width: 100%;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-flow: inherit;
        -ms-flex-flow: inherit;
        flex-flow: inherit;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        top: auto;
        bottom: 0;
        height: auto;
        background: rgba(255, 255, 255, .8);
        padding: 10px 5px;
        z-index: 10
    }
}

.cv-fixed__btn {
    margin: 5px 0
}

@media screen and (min-width:769px) {
    .cv-fixed__btn {
        margin: 0
    }
}

@media screen and (max-width:768px) {
    .cv-fixed__btn {
        width: 50%;
        padding: 5px
    }
}

@media screen and (min-width:769px) {
    .cv-fixed__btn:first-child a {
        border-radius: 4px 0 0 0
    }

    .cv-fixed__btn:first-child a::before {
        background: url("/assets/dcms_media/other/img_top_cta_icon_1-3c9eef69.svg")center center no-repeat
    }

    .cv-fixed__btn:first-child a::after {
        position: absolute;
        bottom: 0;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        content: "";
        width: 70%;
        height: 1px;
        background: #fff
    }

    .cv-fixed .cv-fixed__btn:only-of-type a::after {
        display: none
    }
}

@media screen and (min-width:769px) {
    .cv-fixed__btn:last-child a {
        border-radius: 0 0 0 4px
    }

    .cv-fixed__btn:last-child a::before {
        background: url("/assets/dcms_media/other/img_top_cta_icon_2-970cda3b.svg")center center no-repeat
    }

    .cv-fixed .cv-fixed__btn:only-of-type a {
        border-radius: 4px 0 0 4px
    }

    .cv-fixed__btn.shop a::before {
        background: url("/assets/dcms_media/other/img_top_cta_icon_1-3c9eef69.svg")center center no-repeat !important
    }

    .cv-fixed__btn.video a::before {
        background: url("/assets/dcms_media/other/img_top_cta_icon_2-970cda3b.svg")center center no-repeat !important
    }

    .cv-fixed__btn:last-child a::before {
        background: url("/assets/dcms_media/other/img_top_cta_icon_1-3c9eef69.svg")center center no-repeat
    }

    .cv-seminar-fixed__btn:last-child a::before {
        background: url("/assets/dcms_media/other/img_top_cta_icon_2-970cda3b.svg")center center no-repeat
    }
}

.cv-fixed__btn a {
    font-weight: bold;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 20px 15px;
    border-radius: 5px;
    font-size: 2rem;
    line-height: 1.2;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    background: #0052E8;
    color: #fff;
    text-decoration: none;
    text-align: center;
    position: relative;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column
}

.cv-fixed__btn a:hover {
    background: #111dc4
}

@media screen and (min-width:769px) {
}

@media screen and (min-width:769px) {
    .cv-fixed__btn a {
        border-radius: 0;
        text-align: center;
        font-size: 1.2rem;
        line-height: 1.4
    }
}

@media screen and (max-width:768px) {
    .cv-fixed__btn a {
        font-size: 1.5rem;
        height: 50px;
        width: 100%;
        -webkit-writing-mode: inherit;
        -ms-writing-mode: inherit;
        writing-mode: inherit;
        padding: 20px 10px
    }
}

@media screen and (max-width:360px) {
    .cv-fixed__btn a {
        font-size: 1.4rem
    }
}

.full-width {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    padding-left: 20px;
    padding-right: 20px
}

.full-width__inner {
    max-width: 940px;
    margin-left: auto;
    margin-right: auto
}

@media screen and (max-width:768px) {
    .full-width__inner {
        position: relative;
        padding: 0
    }
}

.full-width.-gray {
    background: #f4f4f4
}

.ui-label {
    display: inline-block;
    white-space: nowrap;
    color: #fff;
    padding: 0.3rem 1rem
}

.ui-label-default {
    background-color: #cccccc
}

.ui-label-active {
    background-color: #ed6103
}

.ui-label-with {
    display: inline-block
}

.ui-label-with:after {
    display: inline-block;
    content: "〇・"
}

.ui-label-with:last-of-type:after {
    content: "〇"
}

.ui-label-without {
    display: inline-block
}

.ui-label-without:after {
    display: inline-block;
    content: "×・"
}

.ui-label-without:last-of-type:after {
    content: "×"
}

.ui-modal-container {
    border-radius: 5px;
    overflow: hidden;
    background: #fff;
    -webkit-transform: translateX(0);
    transform: translateX(0)
}

.ui-modal-header {
    background: #ed6103;
    color: #fff;
    position: relative;
    min-height: 50px;
    line-height: 50px
}

.ui-modal-header .title {
    text-align: center;
    margin-right: 50px;
    font-size: 1.8rem;
    font-weight: normal;
    padding-left: 6rem;
    font-weight: bold
}

.ui-modal-close {
    border: 2px solid #fff;
    border-radius: 4px;
    width: 30px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    position: absolute;
    right: 1rem;
    top: 1rem;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
    text-decoration: none;
    text-align: center;
    padding: 0;
    color: #fff;
    background: none;
    outline: none;
    box-shadow: none
}

.ui-modal-close span {
    font-weight: 100;
    font-family: Verdana, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-style: normal;
    font-size: 24px;
    line-height: 30px;
    display: inline-block;
    margin-top: -0.3rem
}

.ui-modal-body {
    padding: 0 1rem 1rem;
    max-height: 60vh;
    overflow-y: scroll
}

@media screen and (max-width:768px) {
    .ui-modal-body {
        max-height: 50vh
    }
}

.note-top {
    padding: 20px 10px
}

@media screen and (max-width:768px) {
    .note-top {
        padding: 20px 0
    }
}

.note-top>p {
    text-align: center
}

@media screen and (max-width:768px) {
    .note-top>p {
        line-height: 1.6;
        font-size: 1.2rem
    }
}

.note-top>p+p {
    margin-top: 1rem
}

.note-top>p a {
    color: #ed6103
}

.ui-modal-footer {
    text-align: center;
    padding: 1rem;
    border-top: 1px solid #bdc8ca
}

.ui-modal-footer a {
    color: #ed6103
}

.ui-modal-footer .ui-btn-sm {
    margin-top: 10px;
    padding: 1rem 3rem;
    font-weight: normal;
    font-size: 1.3rem;
    box-shadow: none;
    border-color: #bdc8ca
}

.ui-modal-footer .ui-btn-sm:hover {
    top: 0
}

.ui-table {
    width: 100%;
    max-width: 100%
}

.ui-table th,
.ui-table td {
    padding: 0.75rem 1rem;
    line-height: 1.4
}

.ui-table th {
    background-color: #f7f7f7;
    font-weight: normal;
    vertical-align: middle;
    text-align: left
}

@media screen and (max-width:768px) {
    .ui-table th {
        vertical-align: top;
        width: 30%
    }
}

.ui-table th a {
    color: #1f1f1f
}

.ui-table-bordered th {
    border-top: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5;
    width: 25%
}

.ui-table-bordered td {
    border-top: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5;
    width: 75%
}

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

    .ui-table-bordered th,
    .ui-table-bordered td {
        font-size: 1.4rem
    }
}

.ui-table-bordered th+th,
.ui-table-bordered th+td,
.ui-table-bordered td+th,
.ui-table-bordered td+td {
    border-left: 1px solid #e5e5e5
}

.ui-table-full-bordered th,
.ui-table-full-bordered td {
    border: 1px solid #e5e5e5
}

#modal-shops .access {
    font-size: 1.4rem
}

@media screen and (max-width:768px) {
    #modal-shops .access {
        line-height: 1.6;
        margin: .5em 0
    }
}

#modal-shops .shop td {
    position: relative;
    padding-right: 44px
}

#modal-shops .shop address {
    font-style: normal;
    position: relative;
    margin-bottom: 0.5rem;
    font-size: 1.4rem
}

#modal-shops .shop .ui-btn {
    position: absolute;
    right: 0.7rem;
    top: 0.7rem;
    color: #ed6103;
    border: 1px solid #bdc8ca;
    width: 30px;
    height: 30px;
    font-size: 24px;
    line-height: 26px;
    text-align: center;
    border-radius: 4px;
    background: url("/assets/dcms_media/image/pin-c7fe5df4.png")center center no-repeat #fff;
    background-size: auto 80%;
    box-shadow: 0 2px 1px 0 rgba(0, 0, 0, .2)
}

#modal-shops .shop .ui-btn:hover {
    top: 0.9rem;
    box-shadow: 0 2px 1px 0 rgba(0, 0, 0, 0)
}

#modal-shops .shop .tags {
    font-size: 1.2rem
}

#modal-shops .shop .tags li {
    display: inline-block;
    margin-top: 0.5rem;
    margin-right: 0.5rem
}

#modal-shops .ui-modal-footer .notes {
    text-align: left;
    font-size: 1.2rem;
    line-height: 1.8
}

.ui-modal .notification p {
    margin-bottom: 1rem
}

.ui-btn-mouse {
    display: inline-block;
    background: #fff;
    color: inherit;
    font-weight: bold;
    text-decoration: none;
    padding: 1.2rem 1.8rem;
    border: 1px solid #bdc8ca;
    border-radius: 100px;
    box-shadow: 0 1px 2px rgba(132, 132, 132, .3);
    text-align: center;
    position: relative;
    font-size: 1.7rem
}

.ui-modal-footer .ui-btn-sm {
    width: auto;
    padding: 1rem 3rem;
    font-weight: normal;
    font-size: 1.3rem;
    box-shadow: none;
    border-color: #bdc8ca;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    cursor: pointer
}

.ui-modal-footer .ui-btn-sm:hover {
    background: #fffe9a;
    color: #ed6103
}

button.lity-close {
    display: none
}

@media screen and (max-width:768px) {
    #modal-shops .modalList {
        padding: 1rem;
        border-bottom: 1px solid #bdc8ca;
        font-size: 1.6rem;
        line-height: 1.5
    }

    #modal-shops .modalList .modalList-title {
        font-weight: bold;
        font-size: 1.6rem;
        margin-bottom: .8rem;
        color: #ed6103
    }

    #modal-shops .modalList .not-accept-reserve {
        color: #a5a5a5
    }

    #modal-shops .modalList .modalList-body address {
        font-style: normal;
        position: relative;
        margin-bottom: 1rem;
        font-size: 1.4rem
    }

    #modal-shops .modalList .modalList-body .buttons {
        border-spacing: 0
    }

    #modal-shops .modalList .modalList-body .buttons .buttonsInner {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        table-layout: auto;
        table-layout: initial;
        width: 100%
    }

    #modal-shops .modalList .modalList-body .buttons .buttonsInner a[class*="btn-"] {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center
    }

    #modal-shops .modalList .modalList-body .buttons .buttonsInner .btn-another {
        margin-right: 5px;
        padding: 1.2rem 0.5rem;
        border: 1px solid #bfcacc;
        border-radius: 5px;
        box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .3);
        background: #fff;
        text-decoration: none;
        font-weight: bold;
        text-align: center
    }

    #modal-shops .modalList .modalList-body .buttons .buttonsInner .btn-another.shop-datail {
        width: 33%;
        color: #1f1f1f
    }

    #modal-shops .modalList .modalList-body .buttons .buttonsInner .btn-another.map {
        width: 20%;
        color: #1f1f1f
    }

    #modal-shops .modalList .modalList-body .buttons .buttonsInner .btn-consultation {
        margin-right: 0;
        padding: 1.2rem 5.7rem 1.2rem 0.5rem;
        width: 47%;
        cursor: pointer;
        border: none;
        border-radius: 5px;
        line-height: 1;
        font-weight: bold;
        text-align: center;
        color: #fff;
        background: #2C3AF6;
        position: relative
    }

    #modal-shops .modalList .modalList-body .buttons .buttonsInner .btn-consultation.not-accept-reserve {
        background: #a5a5a5;
        color: #fff
    }

    #modal-shops .modalList .modalList-body .buttons .buttonsInner .btn-consultation.not-accept-reserve span {
        background: #dadada;
        color: #a5a5a5
    }

    #modal-shops .modalList .modalList-body .buttons .buttonsInner .btn-consultation.disabled {
        background: #ebebeb;
        color: #a5a5a5;
        box-shadow: none;
        pointer-events: none
    }

    #modal-shops .modalList .modalList-body .buttons .buttonsInner .btn-consultation.disabled span {
        background: #dadada
    }

    #modal-shops .modalList .modalList-body .buttons .buttonsInner .btn-consultation span {
        display: inline-block;
        margin-left: 0.2rem;
        width: 40px;
        height: 24px;
        border-radius: 5px;
        font-size: 1.4rem;
        vertical-align: middle;
        font-weight: normal;
        line-height: 24px;
        background: #0E15A8;
        position: absolute;
        right: 1.2rem;
        bottom: 1.2rem
    }

    #modal-shops .ui-modal-footer .ui-btn-sm {
        padding: 1rem
    }

    .ui-modal-header {
        background: #ed6103;
        color: #fff;
        position: relative;
        min-height: 50px;
        line-height: 50px
    }

    .ui-modal-header .title {
        text-align: center;
        margin-right: 50px;
        padding-left: 40px;
        font-size: 1.8rem
    }

    .ui-modal-close {
        border: 1px solid #fff;
        border-radius: 2px;
        width: 30px;
        height: 30px;
        position: absolute;
        right: 1rem;
        top: 1rem;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        cursor: pointer;
        text-decoration: none;
        text-align: center;
        padding: 0;
        color: #fff;
        font-style: normal;
        font-size: 35px;
        font-family: Arial, Baskerville, monospace;
        line-height: 30px;
        background: none;
        outline: none;
        box-shadow: none
    }

    .ui-modal-scroll {
        max-height: calc(90vh - 90px);
        overflow-y: scroll;
        -webkit-overflow-scrolling: touch
    }

    .ui-modal-footer {
        text-align: center;
        padding: 1rem;
        border-radius: 0 0 5px 5px
    }

    .ui-modal-container {
        background: #fff
    }

    .modalList-body a {
        color: #ed6103
    }

    button.lity-close {
        display: none
    }

    .lity-wrap {
        padding: 10px
    }

    .btn-consultation.prg-add-param.inquire_link {
        text-decoration: none
    }

    .ui-modal .notification {
        padding: 20px 0
    }

    .ui-modal .notification p {
        text-align: center;
        font-size: 1.4rem
    }

    .ui-modal .notification p a {
        color: #ed6103
    }

    .ui-btn-sm {
        border: 1px solid #bdc8ca;
        border-radius: 4px;
        padding: .5rem;
        background: #fff;
        text-align: center;
        position: relative;
        font-size: 1.7rem;
        width: auto;
        box-shadow: 0 2px 1px rgba(0, 0, 0, .2)
    }

    #modal-shop-1 {
        border-top: 1px solid #bdc8ca
    }
}

.ui-modal .notification {
    padding: 20px;
    text-align: center;
    margin: auto
}

#modal-shops .modal-pref-anchor {
    background-color: #f4f4f4
}

#modal-shops .modal-pref-anchor .area-list-box {
    width: 760px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 auto;
    padding: 30px 0 10px
}

#modal-shops .modal-pref-anchor .area-list-box .area-list {
    display: inline-block;
    position: relative;
    margin-bottom: 20px;
    width: 140px;
    height: 39px;
    border-radius: 25px;
    background-color: #ffffff;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .16);
    text-decoration: none;
    white-space: nowrap;
    text-align: center
}

#modal-shops .modal-pref-anchor .area-list-box .area-list a {
    display: block;
    color: #1f1f1f;
    line-height: 39px;
    text-decoration: none;
    padding-left: 26px
}

#modal-shops .modal-pref-anchor .area-list-box .area-list h3 {
    font-size: 14px;
    font-weight: bold;
    text-align: left
}

#modal-shops .modal-pref-anchor .area-list-box .area-list h3 .arrow::after {
    position: absolute;
    top: -5px;
    bottom: 0;
    right: 14px;
    margin: auto;
    content: "";
    width: 8px;
    height: 8px;
    border-top: 2px solid #707070;
    border-right: 2px solid #707070;
    border-radius: 2px;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg)
}

#modal-shops .shops-pref-heading {
    text-align: center;
    padding: 30px 0 20px
}

#modal-shops .shops-pref-heading .heading {
    font-size: 24px;
    font-weight: bold;
    display: inline-block
}

#modal-shops .shops-pref-heading .subheading {
    font-size: 18px
}

#modal-shops .shops-pref-heading .subheading .homes-color {
    color: #ed6103
}

[data-icon]:before,
.ui-icon-blank-window:before,
.ui-icon-heart:before,
.ui-icon-mail:before,
.ui-icon-map-marker:before,
.ui-icon-tel:before,
.ui-icon-zoom:before {
    display: inline-block;
    font-family: "homes";
    font-style: normal;
    font-weight: normal;
    -webkit-font-feature-settings: normal;
    font-feature-settings: normal;
    font-variant: normal;
    line-height: 1;
    text-decoration: inherit;
    text-rendering: optimizeLegibility;
    text-transform: none;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    font-smoothing: antialiased
}

#modal-shops .modal-pref-anchor .area-list-box::after {
    content: "";
    display: block;
    width: 140px
}

@media screen and (max-width:768px) {
    #modal-shops .modalList {
        padding: 1rem;
        border-bottom: 1px solid #bdc8ca;
        font-size: 1.6rem;
        line-height: 1.5
    }

    #modal-shops .modal-pref-anchor .area-list-box {
        width: 100%;
        -webkit-justify-content: space-around;
        -ms-flex-pack: distribute;
        justify-content: space-around
    }

    #modal-shops .modal-pref-anchor .area-list-box {
        -webkit-justify-content: space-around;
        -ms-flex-pack: distribute;
        justify-content: space-around
    }

    #modal-shops .modal-pref-anchor .area-list-box {
        -webkit-justify-content: space-around;
        -ms-flex-pack: distribute;
        justify-content: space-around
    }

    #modal-shops .modal-pref-anchor .area-list-box .area-list a {
        padding-left: 0px
    }

    #modal-shops .modal-pref-anchor .area-list-box .area-list h3 {
        text-align: center
    }

    #modal-shops .modal-pref-anchor .area-list-box .area-list {
        width: 48%;
        margin-bottom: 3%
    }

    #modal-shops .modal-pref-anchor .area-list-box::after {
        width: 48%;
        margin-bottom: 3%
    }
}

.fancybox-slide--video .fancybox-content {
    width: 800px;
    height: 500px;
    max-width: 80%;
    max-height: 80%;
    margin: 0
}

@media screen and (max-width:768px) {
    .fancybox-slide--video .fancybox-content {
        width: 300px;
        height: 169px
    }
}

.-dcmsadm .top-mv,
#tinymce .top-mv {
    position: static;
    padding-top: 0
}

.-dcmsadm .top-pick-up,
#tinymce .top-pick-up {
    margin-top: 0
}

.-dcmsadm #g-nav.mod-nav,
#tinymce #g-nav.mod-nav {
    margin-top: 20px
}

.-dcmsadm #dcms_layoutPageBlock>.full-width:first-child,
#tinymce #dcms_layoutPageBlock>.full-width:first-child {
    margin-top: 112px
}

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

    .-dcmsadm #dcms_layoutPageBlock>.full-width:first-child,
    #tinymce #dcms_layoutPageBlock>.full-width:first-child {
        margin-top: 50px
    }
}

@media screen and (min-width:769px) {
    .mod-extraDescription {
        max-width: 940px;
        margin: 2rem auto 2rem;
        font-size: 1.1rem;
        line-height: 1.6;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex
    }

    .mod-extraDescription .logo {
        margin-left: -10px;
        padding-right: 10px
    }

    .mod-extraDescription .logo img {
        max-width: 240px;
        height: 81px
    }

    .mod-extraDescription .description {
        margin-top: 10px;
        font-size: 1.1rem;
        font-family: "Montserrat", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
        color: #1f1f1f
    }

    .mod-extraServiceLinks {
        border: 1px solid #dadada;
        border-radius: 5px;
        max-width: 940px;
        margin: 0 auto 3rem;
        padding: 2rem
    }

    .mod-extraServiceLinks dl:not(:last-child) {
        margin-bottom: 2rem
    }

    .mod-extraServiceLinks dt {
        font-size: 1.3rem;
        font-weight: bold;
        font-family: "Montserrat", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
    }

    .mod-extraServiceLinks dd {
        font-size: 1.1rem;
        display: inline-block;
        line-height: 1.4
    }

    .mod-extraServiceLinks dd:not(:last-child):after {
        content: "";
        display: inline-block;
        border-right: 1px solid #1f1f1f;
        height: 8px;
        padding-right: 5px;
        padding-right: .5rem;
        margin-right: 5px;
        margin-right: .5rem
    }

    .mod-extraServiceLinks a:link {
        color: inherit;
        font-size: 1.05rem
    }

    .mod-extraServiceLinks a:visited {
        color: #6c6c6c
    }

    .mod-extraServiceLinks dl a:hover {
        color: #ed6103
    }

    .sec-extraContents {
        position: relative;
        z-index: 0;
        background: #ffffff
    }

    .mod-securityArea {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
        max-width: 940px;
        margin: 2rem auto;
        font-size: 1.2rem;
        background: #ffffff
    }

    .mod-securityArea .councilBox,
    .mod-securityArea .specificationBox {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        width: calc(50% - 10px)
    }

    .mod-securityArea .councilBox dt,
    .mod-securityArea .specificationBox dt {
        padding-right: 1em
    }

    .mod-securityArea .councilBox dt img,
    .mod-securityArea .specificationBox dt img {
        max-width: none
    }

    .mod-securityArea .councilBox dd,
    .mod-securityArea .specificationBox dd {
        line-height: 1.4;
        font-size: 1.2rem;
        font-family: "Montserrat", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
    }

    .mod-securityArea .councilBox dt a {
        display: block
    }

    .mod-securityArea .councilBox dt img {
        width: 62px
    }

    .mod-securityArea .specificationBox dt img {
        width: 130px
    }

    .sec-footer {
        background: #ed6103;
        padding: 0 20px
    }

    .mod-footer {
        max-width: 940px;
        margin: 0 auto;
        padding-bottom: 40px;
        position: relative;
        font-size: 1.3rem
    }

    .mod-footer .logo {
        margin-left: -15px
    }

    .mod-footer .serviceLinks {
        position: absolute;
        top: 15px;
        right: 0
    }
}

@media screen and (min-width:769px) and (max-width:839px) {
    .mod-footer .serviceLinks {
        position: inherit
    }
}

@media screen and (min-width:769px) {
    .mod-footer .serviceLinks ul {
        width: 730px;
        line-height: 2;
        text-align: right
    }
}

@media screen and (min-width:769px) and (max-width:839px) {
    .mod-footer .serviceLinks ul {
        text-align: center;
        margin: 0 auto
    }
}

@media screen and (min-width:769px) {
    .mod-footer .serviceLinks li {
        display: inline-block;
        margin-right: 10px
    }

    .mod-footer .serviceLinks li:after {
        content: "";
        display: inline-block;
        border-right: 1px solid #fff;
        height: 10px;
        padding-right: 8px;
        vertical-align: -1px
    }

    .mod-footer .serviceLinks li:nth-of-type(5),
    .mod-footer .serviceLinks li:last-child {
        margin-right: 0
    }

    .mod-footer .serviceLinks li:nth-of-type(5):after,
    .mod-footer .serviceLinks li:last-child:after {
        border-right: none;
        padding-right: 0
    }

    .mod-footer .serviceLinks a {
        color: #fff;
        text-decoration: none;
        -webkit-transition: color .3s ease;
        transition: color .3s ease;
        font-family: "Montserrat", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
        font-size: 1.28rem
    }

    .mod-footer .serviceLinks a:hover {
        color: #ffe680
    }

    .mod-footer .copyright {
        color: #fff;
        text-align: right;
        font-size: 1rem;
        letter-spacing: .05em
    }
}

@media screen and (min-width:769px) and (max-width:840px) {
    .mod-footer .copyright {
        text-align: center;
        margin-top: 30px
    }
}

@media screen and (min-width:769px) {
    .mod-footer.is-simple {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        padding: 20px 0
    }

    .mod-footer.is-simple .copyright {
        text-align: right;
        -webkit-box-flex: 1;
        -webkit-flex: 1 1 100%;
        -ms-flex: 1 1 100%;
        flex: 1 1 100%
    }
}

@media screen and (max-width:768px) {
    .mod-securityArea {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        width: 100%;
        padding: 0 0 15px;
        background: #fff;
        font-size: 1.1rem
    }

    .mod-securityArea .councilBox,
    .mod-securityArea .specificationBox {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        width: 50%;
        padding: 0.6rem 1rem 0
    }

    .mod-securityArea .councilBox dt,
    .mod-securityArea .specificationBox dt {
        padding-bottom: 2rem;
        width: 100%
    }

    .mod-securityArea .councilBox dt img,
    .mod-securityArea .specificationBox dt img {
        display: block;
        margin: auto
    }

    .mod-securityArea .councilBox dd,
    .mod-securityArea .specificationBox dd {
        width: 100%;
        line-height: 1.4;
        word-break: break-all
    }

    .mod-securityArea .councilBox {
        border-right: 1px solid #D8D8D8
    }

    .mod-securityArea .councilBox dt a {
        display: block;
        width: 100%
    }

    .mod-securityArea .councilBox dt img {
        width: 62px
    }

    .mod-securityArea .specificationBox dt img {
        width: 130px
    }

    .mod-footer {
        background-color: #ed6103
    }

    .mod-footer.has-fixedInquireBtn {
        padding-bottom: 100px
    }

    .mod-footer .navUtility li a {
        display: block;
        padding: 15px 20px;
        border-bottom: 1px solid #fff;
        font-size: 1.3rem;
        color: #fff;
        line-height: 1.3;
        text-decoration: none
    }

    .mod-footer .companyIdentity {
        text-align: center;
        padding: 10px 25px
    }

    .mod-footer .companyIdentity .logo {
        padding-bottom: 10px
    }

    .mod-footer .companyIdentity .logo img {
        display: inline-block
    }

    .mod-footer .companyIdentity .copyright {
        line-height: 1.4;
        padding: 0 20px;
        font-size: 1.2rem;
        color: #fff
    }

    .mod-localFooter li a {
        display: block;
        padding: 15px 20px;
        border-bottom: 1px solid #bdc8ca;
        font-size: 1.3rem;
        line-height: 1.3;
        color: #1f1f1f;
        text-decoration: none
    }

    .mod-extraServiceLinks {
        width: 100%;
        margin: 0 auto 1.5rem;
        border-bottom: 1px solid #bdc8ca
    }

    .mod-extraServiceLinks .linksTitle {
        position: relative;
        padding: 1.5rem 2rem;
        padding-right: calc(1em + 10px);
        font-size: 1.3rem
    }

    .mod-extraServiceLinks .linksTitle:after {
        position: absolute;
        content: "";
        top: 0;
        right: 20px;
        right: 2rem;
        bottom: 0;
        width: 1em;
        height: 1em;
        margin: auto;
        background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22120%22%20height%3D%22120%22%20viewBox%3D%220%200%20120%20120%22%3E%3Cg%20fill%3D%22%236c6c6c%22%3E%3Cpath%20d%3D%22M99.6%2C46.9l-4.2-4.2c-1.6-1.6-4.1-1.6-5.7%2C0l-26.9%2C26.8c-1.6%2C1.6-4.1%2C1.6-5.7%2C0l-26.8-26.8c-1.6-1.6-4.1-1.6-5.7%2C0l-4.2%2C4.2c-1.6%2C1.6-1.6%2C4.1%2C0%2C5.7l36.8%2C36.8c.8.8%2C1.8%2C1.2%2C2.8%2C1.2%2C1%2C0%2C2.1-.4%2C2.8-1.2l36.8-36.8c1.6-1.6%2C1.6-4.1%2C0-5.7z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E);
        background-size: 1em
    }

    .mod-extraServiceLinks .linksDetail {
        display: none;
        padding: 0 2rem 1.5rem
    }

    .mod-extraServiceLinks .linksDetail dl:not(:last-child) {
        margin-bottom: 2rem
    }

    .mod-extraServiceLinks .linksDetail dt {
        font-size: 1.3rem;
        font-weight: bold;
        font-family: "Montserrat", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
        margin-bottom: 0.5rem
    }

    .mod-extraServiceLinks .linksDetail dd {
        font-size: 1.15rem;
        letter-spacing: -0.05em;
        display: inline-block;
        font-family: "Montserrat", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
        line-height: 1.4
    }

    .mod-extraServiceLinks .linksDetail dd:not(:last-child):after {
        content: "";
        display: inline-block;
        border-right: 1px solid #1f1f1f;
        height: 8px;
        padding-right: 5px;
        padding-right: 0.5rem;
        margin-right: 2px;
        margin-right: 0.2rem
    }

    .mod-extraServiceLinks .linksDetail a:link {
        color: inherit;
        text-decoration: underline
    }

    .mod-extraServiceLinks .linksDetail a {
        font-family: "Montserrat", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
    }

    .mod-extraServiceLinks .linksDetail a:visited {
        color: #6c6c6c
    }

    .mod-extraServiceLinks .linksTitle.-active:after {
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg)
    }
}

.sec-footer {
    position: relative;
    z-index: 0
}

@media screen and (min-width:769px) {
    .sec-header {
        height: 110px
    }

    .sec-header.-scrolled .mod-header {
        top: -25px !important
    }

    .mod-header {
        -webkit-transition: .3s all ease;
        transition: .3s all ease;
        width: 100%;
        background: #fff;
        border-bottom: 1px solid #bdc8ca;
        position: fixed;
        z-index: 100;
        top: 0;
        left: 0
    }

    .mod-header .homesBar {
        background: #ed6103;
        width: 100%;
        font-size: 1.3rem;
        box-shadow: 0 1px 1px rgba(0, 0, 0, .2);
        height: 32px;
        padding-bottom: 4px
    }

    .mod-header .homesBar .logo {
        display: inline-block;
        vertical-align: middle
    }

    .mod-header .homesBar .logo a {
        display: block;
        padding: 2px 0 0 3px;
        line-height: 1;
        -webkit-transition: opacity 0.4s ease;
        transition: opacity 0.4s ease
    }

    .mod-header .homesBar .logo a:hover {
        opacity: 0.6
    }

    .mod-header .homesBar .message {
        display: inline-block;
        vertical-align: middle;
        margin-left: 15px;
        font-size: 1.1rem
    }

    .mod-header .homesBar .message a {
        color: #fff;
        text-decoration: none;
        font-family: sans-serif;
        -webkit-transition: color .3s ease;
        transition: color .3s ease
    }

    .mod-header .homesBar .message a:hover {
        color: #ffe680
    }

    .mod-header .header {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        overflow: hidden
    }

    .mod-header .header .logo {
        margin: 1rem 0 1.4rem
    }

    .mod-header .header .logo a {
        -webkit-transition: opacity 0.4s ease;
        transition: opacity 0.4s ease
    }

    .mod-header .header .logo a:hover {
        opacity: 0.6
    }

    .mod-header .header .function {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        margin-left: auto;
        line-height: 1
    }

    .mod-header .header .function .tel {
        border-right: 1px solid #bdc8ca;
        padding: 4px 10px
    }

    .mod-header .header .function .tel dt {
        font-weight: bold;
        margin-bottom: 5px;
        font-size: 1.5rem
    }

    .mod-header .header .function .tel .time {
        font-size: 1rem;
        font-weight: bold
    }

    .mod-header .header .function .tel dd {
        color: #ed6103
    }

    .mod-header .header .function .tel .free {
        border: 1px solid #ed6103;
        margin-right: 0.5em;
        padding: 2px;
        font-size: 1.2rem
    }

    .mod-header .header .function .tel .number {
        font-size: 2rem;
        vertical-align: middle;
        font-weight: 100 !important;
        font-family: "Montserrat", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
    }

    .mod-header .header .function .tel .number a {
        font-family: "Montserrat", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
        text-decoration: none;
        color: #ed6103;
        font-weight: 100 !important
    }

    .mod-header .header .function .inquire {
        margin-left: 10px
    }

    .mod-header .header .function .inquire li {
        display: inline-block;
        margin-right: 10px
    }

    .mod-header .header .function .inquire a {
        display: block;
        background: #fff;
        color: inherit;
        font-weight: bold;
        text-decoration: none;
        padding: 1.2rem 1.6rem;
        border: 1px solid #bdc8ca;
        border-radius: 100px;
        box-shadow: 0 1px 2px rgba(132, 132, 132, .3)
    }

    .mod-header .header .function .inquire a:hover {
        background: #fffea4;
        border-color: #ed6103;
        color: #ed6103;
        box-shadow: none
    }

    .mod-header .header .function .inquire .free {
        font-size: 1rem;
        border-radius: 10px;
        padding: 4px 6px;
        background: #f0f0f0;
        margin-left: 0.5rem
    }

    .mod-header .header .function.noInquireBtn {
        min-width: 300px
    }

    .mod-header .header .function.noInquireBtn .tel {
        border-right: none
    }

    .mod-header .header .function.noInquireBtn .tel * {
        font-family: "Montserrat", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
    }

    .mod-header.is-fixed {
        position: fixed;
        z-index: 1000
    }

    .mod-header.is-fixed .homesBar {
        display: none
    }

    .mod-header.is-fixed .header {
        border-top: 10px solid #ed6103
    }

    .mod-header.is-simple {
        border-top: 8px solid #ed6103;
        border-bottom: none;
        background: #f7fafa
    }

    .mod-header.is-simple .header {
        max-width: 960px;
        margin: 0 auto
    }

    .mod-header.is-simple .header .logo {
        margin: 0.5rem 0 1rem
    }
}

@media screen and (max-width:768px) {
    .mod-header {
        background: #ed6103;
        color: #fff;
        position: fixed;
        width: 100%;
        top: 0;
        z-index: 99;
        -webkit-transition: all 0.2s linear;
        transition: all 0.2s linear
    }

    .mod-header.hide {
        margin-top: -50px
    }

    .mod-header .upper {
        display: table;
        width: 100%
    }

    .mod-header .upper>.logo {
        display: table-cell;
        vertical-align: middle;
        height: 50px;
        padding: 0 10px 0 2px
    }

    .mod-header .upper>.logo img {
        height: 38px
    }

    .mod-header .upper>.headerTitle {
        display: table-cell;
        vertical-align: middle;
        font-size: 1.1rem
    }

    .mod-header .upper>.announce {
        display: table-cell;
        font-size: .625em;
        width: 12em;
        padding-bottom: 14px;
        vertical-align: bottom
    }

    .mod-header .upper>.announce a {
        text-decoration: underline
    }

    .mod-header .upper>.categoryName {
        display: table-cell;
        vertical-align: middle;
        padding: 0 10px;
        font-size: 1.1rem;
        text-align: right
    }

    .mod-header .upper>.copy a {
        color: inherit;
        text-decoration: none;
        line-height: 1.4
    }

    .mod-header .upper>.categoryName {
        padding: 0 15px 0 0
    }

    .mod-header .upper>.categoryName a,
    .mod-header .upper>.categoryName span {
        display: inline-block;
        border: 1px solid #fff;
        border-radius: 4px;
        padding: 9px 10px;
        color: inherit;
        color: #fff;
        font-weight: bold;
        text-decoration: none
    }

    .mod-header .selectMenu {
        display: table-cell;
        height: 30px;
        width: 26px
    }

    .mod-header .selectMenuInn {
        position: relative
    }

    .mod-header .selectMenuInn .bar,
    .mod-header .selectMenuInn::before,
    .mod-header .selectMenuInn::after {
        background-color: #fff;
        height: 2px;
        position: absolute;
        top: 24px;
        width: 18px
    }

    .mod-header .selectMenuInn::before {
        content: " ";
        top: 18px
    }

    .mod-header .selectMenuInn::after {
        content: " ";
        top: 30px
    }

    body .mod-nav {
        width: 100%;
        height: 100%;
        background-color: transparent;
        height: 0;
        z-index: -1
    }

    body .mod-nav .navBody {
        position: fixed;
        top: 0;
        right: -1000px;
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
        background: #f5f5f5;
        z-index: 1020;
        width: 80%;
        height: 100%;
        padding: 2rem;
        overflow-y: scroll;
        -webkit-overflow-scrolling: touch
    }

    body .mod-nav .navBody .head {
        font-size: 2rem;
        font-weight: bold;
        margin-bottom: 2.7rem
    }

    body .mod-nav .navBody .note {
        font-size: 1.2rem
    }

    body .mod-nav .navBody .btnArea li {
        margin-bottom: 1rem
    }

    body .mod-nav .navBody .btnArea li a.business-hour-disabled {
        color: #A5A5A5;
        background: #EBEBEB;
        pointer-events: none
    }

    body .mod-nav .navBody .btnArea li .btn-line {
        padding: 1.35rem 1rem;
        background: #ffffff;
        border: 1px solid #BFC9CC;
        box-shadow: 0 1px 2px 0 rgba(132, 132, 132, .4);
        color: #1f1f1f
    }

    body .mod-nav .navBody .btnArea li .btn-line::before {
        content: "";
        display: inline-block;
        margin-right: 5px;
        margin-right: 0.5rem;
        width: 20px;
        height: 20px;
        background: url("/assets/dcms_media/image/common/icon_line-8be53aaea58aed627720d8719d31b2eeacdca464ea19126043bf2a86acedb9fc-b1b11a8d.svg")no-repeat;
        background-size: contain;
        vertical-align: middle
    }

    body .mod-nav .navBody .btnArea li .btn-line span {
        display: inline-block;
        vertical-align: middle
    }

    body .mod-nav .navBody .consultBtn {
        padding-bottom: 16px;
        margin-bottom: 0;
        display: block;
        margin-left: -10px;
        margin-right: -10px
    }

    body .mod-nav .navBody .consultBtn div.space {
        padding: 6px
    }

    body .mod-nav .navBody .consultBtn li:not(.cv__reservation__btn) a span {
        font-size: 1.6rem
    }

    body .mod-nav .navBody .consultBtn .free-icon {
        background: #0E15A8;
        font-size: 1.2rem !important;
        padding: 5px 6px 3px;
        float: right;
        margin-right: 12px;
        margin-top: 0;
        border-radius: 5px;
        color: #fff;
        width: 48px;
        text-align: center
    }

    body .mod-nav .navBody .consultBtn .tel .free-icon {
        background: #a0a9dd !important
    }

    body .mod-nav .navBody .consultBtn .tel .business-hour-disabled {
        border-color: #a5a5a5 !important
    }

    body .mod-nav .navBody .consultBtn .tel .business-hour-disabled:before {
        border-right-color: #ebebeb !important;
        height: 54px !important
    }

    body .mod-nav .navBody .consultBtn .tel .business-hour-disabled .free-icon {
        background: #dadada !important;
        color: #fff !important
    }

    body .mod-nav .navBody .consultBtn .line .free-icon {
        background: #4caf50
    }

    body .mod-nav .navBody .consultBtn .note {
        margin-top: 10px;
        margin-bottom: 27px
    }

    body .mod-nav .navBody .consultBtn .title {
        font-size: 14px;
        font-weight: normal;
        line-height: 1.4;
        margin-bottom: 7px
    }

    body .mod-nav .navBody .consultBtn .title span+span {
        margin-left: 28px;
        font-size: 12px
    }

    body .mod-nav .navBody .serviseLinks {
        margin: 2rem -2rem
    }

    body .mod-nav .navBody .serviseLinks>li:first-child a {
        border-top: 1px solid #dadada
    }

    body .mod-nav .navBody .serviseLinks a {
        display: block;
        padding: 2rem;
        background: #fff;
        border-bottom: 1px solid #dadada;
        text-decoration: none;
        color: #ed6103;
        font-weight: bold
    }

    body .mod-nav .navBody .serviseLinks .subLinks a {
        padding-left: 4rem
    }

    body .mod-nav .navBody .serviseLinks .arrow {
        position: relative;
        padding-right: 4rem
    }

    body .mod-nav .navBody .dropdown .subLinks {
        overflow: hidden;
        max-height: 1000px;
        -webkit-transition: max-height 0.5s ease;
        transition: max-height 0.5s ease
    }

    body .mod-nav .navBody .dropdown .arrow:after {
        content: "";
        position: absolute;
        top: 50%;
        margin-top: -5px;
        right: 20px;
        right: 2rem;
        border-top: 3px solid #6c6c6c;
        border-right: 3px solid #6c6c6c;
        width: 10px;
        height: 10px;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        -webkit-transition: transform 0.3s ease;
        -webkit-transition: -webkit-transform 0.3s ease;
        transition: -webkit-transform 0.3s ease;
        transition: transform 0.3s ease;
        transition: transform 0.3s ease, -webkit-transform 0.3s ease
    }

    body .mod-nav .navBody .dropdown.close .arrow:after {
        -webkit-transform: rotate(135deg);
        transform: rotate(135deg)
    }

    body .mod-nav .navBody .dropdown.close .subLinks {
        max-height: 0
    }

    body .mod-nav .closeBtn {
        position: fixed;
        z-index: 1020;
        top: 25px;
        right: -700px;
        right: calc(90% - 1000px);
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        color: transparent;
        width: 0;
        height: 0
    }

    body .mod-nav .closeBtn:before,
    body .mod-nav .closeBtn:after {
        width: 30px;
        position: absolute;
        top: 0;
        content: "";
        border-top: 3px solid #fff;
        -webkit-transition: transform 0.3s ease;
        -webkit-transition: -webkit-transform 0.3s ease;
        transition: -webkit-transform 0.3s ease;
        transition: transform 0.3s ease;
        transition: transform 0.3s ease, -webkit-transform 0.3s ease
    }

    body .mod-nav .closeBtn:before {
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg)
    }

    body .mod-nav .closeBtn:after {
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg)
    }

    body.is-visible {
        position: fixed;
        width: 100%
    }

    body.is-visible .mod-nav {
        position: fixed;
        top: 0;
        background-color: rgba(0, 0, 0, .75);
        height: 100%;
        z-index: 1000
    }

    body.is-visible .mod-nav .navBody {
        right: 0;
        z-index: 9999
    }

    body.is-visible .mod-nav .closeBtn {
        right: 90%;
        z-index: 1020
    }

    body.is-visible .mod-nav .closeBtn:before {
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg)
    }

    body.is-visible .mod-nav .closeBtn:after {
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg)
    }

    .mod-nav .cv__reservation__btn a {
        width: 100%
    }
}

.consultBtn li:not(.cv__reservation__btn) a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    height: 58px;
    border-radius: 5px;
    text-decoration: none
}

.consultBtn li:not(.cv__reservation__btn) a span {
    display: block;
    margin-top: 1px;
    width: calc(100% - 40px);
    text-align: center;
    color: #ffffff;
    font-size: 1.8rem;
    font-weight: bold
}

@media screen and (max-width:320px) {
    .consultBtn li:not(.cv__reservation__btn) a span {
        font-size: 1.5rem
    }
}

.consultBtn li:not(.cv__reservation__btn) a:before {
    display: inline-block;
    content: "";
    min-width: 58px;
    height: 58px;
    border-radius: 5px 0 0 5px;
    vertical-align: middle
}

@media screen and (max-width:320px) {
    .consultBtn li:not(.cv__reservation__btn) a:before {
        min-width: 48px
    }
}

.consultBtn li.line a {
    background: #00C300
}

.consultBtn li.line a:before {
    background: #00C300 url("/assets/dcms_media/image/common/line-fabc3e70.svg")no-repeat center center;
    background-size: 32px;
    border-right: 1px solid #00B300
}

.consultBtn li.tel a {
    background: #fff;
    border: 2px solid #2C3AF6;
    border-radius: 5px
}

.consultBtn li.tel a:before {
    background: url("/assets/dcms_media/image/common/phone_bw-0e8fdbf0.svg")no-repeat center center;
    background-color: transparent;
    background-size: 30px;
    border-right: 1px solid rgba(44, 58, 246, .1)
}

.consultBtn li.tel a span {
    color: #2C3AF6
}

.consultBtn li.tel a.business-hour-disabled:before {
    background: url("/assets/dcms_media/image/common/phone_disable-2674e123.svg")no-repeat center center;
    background-color: transparent;
    background-size: 30px
}

.consultBtn li.tel a.business-hour-disabled span {
    color: #A5A5A5
}

.mod-nav .cv__reservation__btn a {
    height: 58px
}

.mod-nav .cv__reservation__btn a .-txt {
    font-size: 1.6rem !important;
    line-height: 3.6
}

@media screen and (max-width:768px) {
    .sec-header {
        height: 50px
    }
}

.consultBtn li.shop a {
    background: #2C3AF6
}

.consultBtn li.shop a:before {
    background: #2C3AF6 url("/assets/dcms_media/image/common/shop-de82391b.svg")no-repeat center center;
    background-size: 36px;
    border-right: 1px solid #1421d5
}

@media screen and (max-width:320px) {
    .consultBtn li.shop a:before {
        background-size: 30px
    }
}

.consultBtn li.online a {
    background: #2C3AF6
}

.consultBtn li.online a:before {
    background: #2C3AF6 url("/assets/dcms_media/image/common/movie-6aad02be.svg")no-repeat center center;
    background-size: 36px;
    border-right: 1px solid #1421d5
}

@media screen and (max-width:320px) {
    .consultBtn li.online a:before {
        background-size: 30px
    }
}

.site-pagetop {
    position: fixed;
    height: 0;
    right: 20px;
    bottom: 85px;
    z-index: 999
}

@media screen and (max-width:768px) {
    .site-pagetop {
        right: 5px;
        bottom: 150px
    }
}

.site-pagetop a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-decoration: none;
    height: 80px;
    text-indent: -5000px;
    color: #ed6103
}

@media screen and (max-width:768px) {
    .site-pagetop a {
        height: 60px
    }
}

.site-pagetop a:hover::after {
    background-color: #a54402;
    border-color: #a54402;
    color: #fff
}


.ttl-h2 {
    text-align: center;
    font-size: 3.8rem;
    font-weight: bold;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    margin-bottom: 1em
}

}

@media screen and (max-width:980px) {
    .ttl-h2 {
        font-size: 3rem
    }
}

@media screen and (max-width:768px) {
    .ttl-h2 {
        text-align: center;
        font-size: 2.6rem;
        line-height: 1.4
    }
}
/* ===== 追加スタイル（旧pages/top.css） ===== */

/*
 * custom.cssから抽出
 */
.top-live__list__bottom {
  justify-content: center
}

.top-live__list__bottom .top-live__list__item {
  width: auto
}

.top-live__list__bottom .top-live__list__item > * {
  min-width: 300px
}

/* Announcement styles */
.announcement-section {
  background-color: #f5f5f5;
  padding: 30px 34px;
  margin: 70px auto 0;
  max-width: 940px;
}

.announcement-title {
  font-size: 18px;
  font-weight: bold;
  color: #000;
  text-align: center;
}

.announcement-content {
  font-size: 16px;
  line-height: 1.6;
  color: #555;
  text-align: center;
  margin-top: 16px;
  text-align: center;
}

.announcement-period,
.announcement-note {
  font-size: 16px;
}

.announcement-period {
  font-weight: bold;
  color: #ed6103;
  line-height: 26px;
  margin-bottom: 0;
}

.announcement-note {
  color: #000;
  margin-top: 0;
}

@media (max-width: 768px) {
  .announcement-section {
    padding: 24px 20px;
    margin: 30px 20px 0;
  }
  .announcement-title {
    font-size: 16px;
  }
  .announcement-content {
    font-size: 14px;
  }
  .announcement-period,
  .announcement-note {
    font-size: 14px;
  }
}
