@charset "UTF-8";
@import url(https://fonts.googleapis.com/css2?family=Didact+Gothic&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&display=swap);

@font-face {
    font-family: "LIFULL Font";
    font-weight: 400;
    src: url("/assets/dcms_media/css/fonts_lifull/LIFULLFont-Regular-302a4bdf.woff2")format("woff2"), url("/assets/dcms_media/css/fonts_lifull/LIFULLFont-Regular-f6eac53a.woff")format("woff")
}

@font-face {
    font-family: "LIFULL Font";
    font-weight: 500;
    src: url("/assets/dcms_media/css/fonts_lifull/LIFULLFont-Medium-99987da0.woff2")format("woff2"), url("/assets/dcms_media/css/fonts_lifull/LIFULLFont-Medium-155ae2a4.woff")format("woff")
}

@font-face {
    font-family: "LIFULL Font";
    font-weight: 700;
    src: url("/assets/dcms_media/css/fonts_lifull/LIFULLFont-Bold-9cdb4110.woff2")format("woff2"), url("/assets/dcms_media/css/fonts_lifull/LIFULLFont-Bold-097e7c13.woff")format("woff")
}

@font-face {
    font-family: "LIFULL Font";
    font-weight: 900;
    src: url("/assets/dcms_media/css/fonts_lifull/LIFULLFont-Heavy-16a5ea23.woff2")format("woff2"), url("/assets/dcms_media/css/fonts_lifull/LIFULLFont-Heavy-abb97334.woff")format("woff")
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
icenter,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    vertical-align: baseline;
    line-break: strict
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block
}

area:focus {
    outline: none
}

ol,
ul {
    list-style: none
}

blockquote,
q {
    quotes: none
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: "";
    content: none
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

img {
    line-height: 0;
    vertical-align: bottom
}

* {
    box-sizing: border-box
}

html {
    font-size: 62.5%;
    background: #fff
}

body {
    color: #1f1f1f;
    font-family: "LIFULL Font", "Montserrat", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    background: #fff;
    font-size: 1.6rem;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

body.-active {
    overflow: hidden
}

img {
    max-width: 100%;
    height: auto
}

a:hover {
    text-decoration: none
}

p {
    font-size: 1.6rem;
    line-height: 1.9;
    color: #1f1f1f
}

@media screen and (max-width:768px) {
    p {
        font-size: 1.5rem
    }
}

p.-c {
    text-align: center
}

p.-r {
    text-align: right
}

figure:not([class]) {
    margin: 20px 0
}

@media screen and (max-width:768px) {
    figure:not([class]) {
        margin: 15px 0
    }
}

figure.-c {
    text-align: center
}

figure.-r {
    text-align: right
}

b,
strong {
    font-weight: bold
}

b.-assort,
strong.-assort {
    color: #ed6103
}

sup {
    font-size: 75%;
    vertical-align: top;
    position: relative;
    top: 0
}

sub {
    font-size: 75%;
    vertical-align: bottom;
    position: relative;
    bottom: 0
}

.contents {
    overflow: hidden
}

.breadcrumb {
    border-top: 1px solid #eee;
    margin-top: 130px
}

@media screen and (max-width:1300px) {
    .breadcrumb {
        margin-top: 96px
    }
}

@media screen and (max-width:1100px) {
    .breadcrumb {
        margin-top: 96px
    }
}

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

.closeBtn {
    top: 15px !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 100%;
    border: 1px solid #ed6103;
    background: #fff;
    right: calc(85% - 1000px) !important
}

.closeBtn::before,
.closeBtn::after {
    width: 18px !important;
    top: 13px !important
}

.closeBtn::before {
    border-top: 2px solid #ed6103 !important;
    left: 6px
}

.closeBtn::after {
    border-top: 2px solid #ed6103 !important;
    right: 6px
}

body.is-visible .closeBtn {
    right: 85% !important
}

@media screen and (min-width:769px) {
    .site-pagetop {
        width: 50px;
        height: 50px
    }
}

@media screen and (min-width:769px) {
    .site-pagetop a {
        width: 50px;
        height: 50px;
        display: block
    }

    .site-pagetop a::after {
        width: 100%
    }
}

.site-footer__top {
    background: #ed6103;
    padding: 0 20px;
    margin-bottom: 50px
}

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

.site-footer__top__inner {
    max-width: 940px;
    margin: 0 auto;
    padding: 20px 0 50px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
}

.site-footer__top__logo {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto
}

.site-footer__top__logo a {
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

.site-footer__top__logo a:hover {
    opacity: .6
}

.site-footer__top__column {
    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;
    padding-left: 120px;
    width: 100%
}

@media screen and (max-width:992px) {
    .site-footer__top__column {
        padding-left: 40px
    }
}

.site-footer__top__column>*+* {
    padding-left: 10px
}

.site-footer__top__link a {
    color: #fff;
    text-decoration: none;
    font-size: 1.3rem;
    font-weight: bold;
    font-weight: 600;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

.site-footer__top__link a:hover {
    color: #ffe680
}

.site-footer__top__link+* {
    margin-top: 10px
}

.site-footer__top__sns {
    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-top: 10px;
    width: 115px;
    flex-wrap: wrap;
    gap: 10px
}

.site-footer__top__txt {
    color: #fff;
    font-size: 1.3rem;
    font-weight: bold;
    font-weight: 600
}

@media screen and (max-width:768px) {
    .site-footer__top__sns {
        margin-top: 15px;
        width: 100%
    }
}

@media screen and (max-width:768px) {
    .site-footer__top__sns a {
        border: none !important;
        padding: 0 !important
    }
}

.site-footer__top__sns a img {
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

.site-footer__top__sns a:hover img {
    opacity: .6
}

.site-footer__top__sns>*+* {
    margin-left: 0
}

.site-footer__top__sns img {
    max-width: 24px;
    max-height: 22px
}

.site-footer__middle {
    padding: 0 20px
}

.site-footer__middle__lead {
    max-width: 940px;
    margin: 0 auto;
    padding: 10px 20px;
    text-align: center;
    font-weight: bold;
    background: #F5F5F5;
    font-size: 1.4rem
}

.site-footer__middle__txt {
    font-weight: bold;
    font-weight: 600
}

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

    .site-footer__middle__txt {
        font-size: 1.3rem;
        margin-top: 5px
    }
}

.site-footer.-b {
    font-weight: bold;
    font-weight: 600
}

.navUtility {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    background: #ed6103;
    border-top: 1px solid #fff
}

.navUtility>* {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 50%;
    border-color: #fff !important
}

.navUtility>* a {
    border-color: #fff !important;
    color: #fff !important;
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    padding: 20px 10px !important
}

.navUtility>*:nth-child(2n) {
    border-left: 1px solid #fff
}

.navUtility .-one-column {
    width: 100%
}

.councilBox .-default,
.specificationBox .-default {
    font-size: 1.3rem !important
}

.site-header-sp {
    height: auto !important
}

.site-header-sp .mod-header {
    background: #fff !important
}

.site-header-sp__txt {
    background: #ed6103;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    height: 30px;
    padding: 5px 10px
}

.site-header-sp__txt>p {
    font-size: 0
}

.site-header-sp__txt img {
    height: 24px
}

.site-header-sp__body {
    background: #fff;
    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: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    height: 50px;
    padding: 13px 20px
}

.site-header-sp__logo img {
    height: 20px;
    width: 190px
}

.site-header-sp .selectMenu {
    width: 30px !important
}

.site-header-sp .selectMenu a {
    display: block;
    width: 30px;
    height: 30px
}

.site-header-sp .selectMenu .selectMenuInn {
    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-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 8px 6px
}

.site-header-sp .selectMenu .selectMenuInn .bar {
    overflow: hidden;
    background: #ed6103;
    position: inherit !important;
    width: 100% !important;
    top: auto !important;
    display: block
}

.site-header-sp .selectMenu .selectMenuInn::before {
    background: #ed6103;
    position: inherit !important;
    width: 100% !important;
    top: auto !important
}

.site-header-sp .selectMenu .selectMenuInn::after {
    background: #ed6103;
    position: inherit !important;
    width: 100% !important;
    top: auto !important
}

.mod-header.hide {
    margin-top: -90px !important
}

@media screen and (min-width:769px) {
    .noTop .site-header__body {
        background: #fff !important
    }

    .site-header {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 999;
        -webkit-transition: all .3s ease;
        transition: all .3s ease
    }

    .site-header.-scrolled {
        top: -32px
    }

    .site-header.-scrolled .site-header__body {
        background: #fff
    }

    .site-header__body {
        -webkit-transition: all .3s ease;
        transition: all .3s ease;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        padding: 20px 30px;
        -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;
        position: relative
    }
}

@media screen and (min-width:769px) and (max-width:1300px) {
    .site-header__body {
        padding: 15px 20px
    }
}

@media screen and (min-width:769px) and (max-width:1100px) {
    .site-header__body {
        padding-bottom: 55px
    }
}

@media screen and (min-width:769px) {
    .site-header__txt {
        background: #ed6103;
        padding: 5px 15px;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
        -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center
    }

    .site-header__txt p {
        font-weight: bold;
        font-size: 1.1rem;
        color: #fff
    }

    .site-header__txt p+* {
        margin-left: 15px
    }

    .site-header__txt img {
        width: 66px
    }

    .site-header__left img {
        width: 250px
    }
}

@media screen and (min-width:769px) and (max-width:1300px) {
    .site-header__left img {
        width: 220px
    }
}

@media screen and (min-width:769px) {
    .site-header__right {
        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
    }

    .site-header__right>*+* {
        margin-left: 30px
    }
}

@media screen and (min-width:769px) and (max-width:1300px) {
    .site-header__right>*+* {
        margin-left: 20px
    }
}

@media screen and (min-width:769px) and (max-width:1100px) {
    .site-header__nav {
        position: absolute;
        width: 100%;
        bottom: 15px;
        left: 0;
        padding: 0 20px
    }
}

@media screen and (min-width:769px) {
    .site-header__nav ul {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex
    }
}

@media screen and (min-width:769px) and (max-width:1100px) {
    .site-header__nav ul {
        -webkit-box-pack: space-evenly;
        -webkit-justify-content: space-evenly;
        -ms-flex-pack: space-evenly;
        justify-content: space-evenly
    }
}

@media screen and (min-width:769px) {
    .site-header__nav li+* {
        margin-left: 30px
    }
}

@media screen and (min-width:769px) and (max-width:1300px) {
    .site-header__nav li+* {
        margin-left: 20px
    }
}

@media screen and (min-width:769px) {
    .site-header__nav a {
        font-weight: bold;
        text-decoration: none;
        color: #1f1f1f;
        -webkit-transition: color .3s ease;
        transition: color .3s ease
    }
}

@media screen and (min-width:769px) and (max-width:1300px) {
    .site-header__nav a {
        font-size: 1.4rem
    }
}

@media screen and (min-width:769px) and (max-width:1100px) {
    .site-header__nav a {
        font-size: 1.5rem
    }
}

@media screen and (min-width:769px) {
    .site-header__nav a:hover {
        color: #ed6103
    }

    .site-header__info {
        text-align: center
    }
}

@media screen and (min-width:769px) and (max-width:1100px) {
    .site-header__info {
        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
    }

    .site-header__info>*+* {
        margin: 0 0 0 8px !important
    }
}

@media screen and (min-width:769px) {
    .site-header__info>* {
        line-height: 1
    }

    .site-header__info>*+* {
        margin-top: 7px
    }

    .site-header__info__ttl {
        font-size: 1.3rem;
        font-weight: bold
    }

    .site-header__info__tel a {
        text-decoration: none;
        font-size: 1.8rem;
        font-weight: bold;
        color: #ed6103
    }
}

@media screen and (min-width:769px) and (max-width:1300px) {
    .site-header__info__tel a {
        font-size: 1.6rem
    }
}

@media screen and (min-width:769px) {
    .site-header__info__desc {
        font-size: 1rem
    }

    .site-header a img {
        -webkit-transition: all .3s ease;
        transition: all .3s ease
    }

    .site-header a:hover img {
        opacity: .6
    }

    .top-mv__inner {
        padding-top: 145px !important
    }
}

@media screen and (min-width:769px) and (max-width:1100px) {
    .top-mv__inner {
        padding-top: 23vw !important
    }
}

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

.sp-menu {
    padding-bottom: 20px
}

.sp-menu__nav {
    margin: -2rem -2rem 0
}

.sp-menu__nav>*+* {
    margin-top: 1px
}

.sp-menu__nav a {
    padding: 20px;
    color: #ed6103;
    font-size: 1.4rem;
    text-decoration: none;
    background: #fff;
    display: block;
    font-weight: bold
}

.sp-menu__ttl {
    margin-top: 30px;
    margin-bottom: 10px;
    font-size: 1.6rem;
    font-weight: bold
}

.sp-menu__txt {
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1.667;
    margin-bottom: 20px
}

.sp-menu__desc {
    font-size: 1.2rem;
    margin-top: 10px
}

.sp-menu__btn {
    margin-top: 10px
}

.sp-menu__btn a {
    cursor: pointer;
    display: inline-block;
    font-size: 1.7rem;
    padding: 14px 17px 14px 65px;
    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;
    letter-spacing: -1px;
    top: 0;
    width: 100%
}

.sp-menu__btn a::after {
    content: "";
    width: 26px;
    height: 26px;
    position: absolute;
    left: 18px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.sp-menu__btn.-tel a {
    background: #0052E8;
    color: #fff;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.sp-menu__btn.-tel a::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
}

.sp-menu__btn.-tel a::after {
    background: url("/assets/dcms_media/other/common_img_icon_spphone-aee33562.svg")center center no-repeat;
    background-size: contain
}

.sp-menu__btn:not(.-tel).-shop a::after {
    background: url("/assets/dcms_media/other/common_img_icon_shop-b4a49af7.svg")center center no-repeat;
    background-size: contain
}

.sp-menu__btn:not(.-tel).-movie a::after {
    background: url("/assets/dcms_media/image/menu_img_icon_movie-36af2310.png")center center no-repeat;
    background-size: contain
}

.sp-menu__btn.-shop a {
    background: #0052E8;
    color: #fff;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.sp-menu__btn.-shop a::after {
    background: url("/assets/dcms_media/image/common_img_icon_tel-f592d659.png")center center no-repeat;
    background-size: contain
}

.sp-menu__btn.-shop a::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
}

.sp-menu__btn .-free {
    background: #004AD0;
    font-size: 1.1rem;
    line-height: 1;
    padding: 5px 3px;
    float: right;
    margin-top: 0;
    border-radius: 5px;
    color: #fff;
    width: 34px;
    height: 22px;
    text-align: center
}

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

.sp-menu__btn.-tel .business-hour-disabled::after {
    background-image: url("/assets/dcms_media/image/common_img_icon_tel_off-48be0bcd.png")
}

.sp-menu__btn.-tel .business-hour-disabled::before {
    height: 100%;
    border-right: 1px solid #A5A5A5
}

.sp-menu__btn.-tel .business-hour-disabled .-free {
    background: #D9D9D9
}