.font-gothic-r,
.gwrap,
.gnav-trigger-wrap .text,
.gnav-wrap nav.gnav ul li a,
.gnav-wrap nav.gnav ul li a .text span {
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Osaka, Sans-Serif;
    font-weight: 400;
    font-style: normal
}

.font-gothic-b,
.btn,
section.g-head h2 span.ja {
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Osaka, Sans-Serif;
    font-weight: 700;
    font-style: normal
}

.font-gothic-h {
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Osaka, Sans-Serif;
    font-weight: 900;
    font-style: normal
}

.font-accent-r,
.fixed-frame,
.gnav-wrap nav.gnav ul li ul li a,
h2.g-style,
#page-toppage .t-headline h2 {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.15rem
}

.font-accent-b {
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-style: normal;
    letter-spacing: 0.2rem
}

.font-accent-bn,
footer div.footer-menu p.en {
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-style: normal
}

.font-accent-bnb,
section.g-head h2 span.en {
    font-family: 'Roboto', sans-serif;
    font-weight: 900;
    font-style: normal
}

.font-mincho-r {
    font-family: "游明朝", "Yu Mincho", YuMincho, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Osaka, Sans-Serif;
    font-weight: 500;
    font-style: normal
}

.font-mincho-b,
#page-company section.greeting-section div.container-inner .gree-txt span.name {
    font-family: "游明朝", "Yu Mincho", YuMincho, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Osaka, Sans-Serif;
    font-weight: 900;
    font-style: normal
}

.font-industry {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-style: normal
}

.bg-gray {
    background: -moz-linear-gradient(left, #efefef 0%, #fff 60%, #fff 100%);
    background: -webkit-linear-gradient(left, #efefef 0%, #fff 60%, #fff 100%);
    background: linear-gradient(to right, #efefef 0%, #fff 60%, #fff 100%)
}

.bg-orange {
    background: -moz-linear-gradient(left, #fff 0%, #fff 49%, #f7f3e7 50%, #f7f3e7 100%);
    background: -webkit-linear-gradient(left, #fff 0%, #fff 49%, #f7f3e7 50%, #f7f3e7 100%);
    background: linear-gradient(to right, #fff 0%, #fff 49%, #f7f3e7 50%, #f7f3e7 100%)
}

a {
    transition: .4s
}

a:hover {
    transition: .4s
}

.font-07 {
    font-size: 0.8rem !important
}

.font-08 {
    font-size: 0.8rem !important
}

.font-09 {
    font-size: 0.9rem !important
}

.font-12 {
    font-size: 1.2rem !important
}

.font-11 {
    font-size: 1.1rem !important
}

.font-15 {
    font-size: 1.5rem !important
}

.font-20 {
    font-size: 2rem !important
}

.flex-center {
    justify-content: center
}

.text-center {
    text-align: center
}

.text-left {
    text-align: left
}

.text-right {
    text-align: right
}

.color-main {
    color: #333
}

.color-sub {
    color: #111
}

.color-accent {
    color: #f2096c
}

.underline {
    text-decoration: underline
}

.line-through {
    text-decoration: line-through
}

.p-0 {
    padding: 0px
}

.pt-0 {
    padding-top: 0px
}

.pr-0 {
    padding-right: 0px
}

.pb-0 {
    padding-bottom: 0px
}

.pl-0 {
    padding-left: 0px
}

.m-0 {
    padding: 0px
}

.mt-0 {
    margin-top: 0px
}

.mr-0 {
    margin-right: 0px
}

.mb-0 {
    margin-bottom: 0px
}

.ml-0 {
    margin-left: 0px
}

.p-5 {
    padding: 5px
}

.pt-5 {
    padding-top: 5px
}

.pr-5 {
    padding-right: 5px
}

.pb-5 {
    padding-bottom: 5px
}

.pl-5 {
    padding-left: 5px
}

.m-5 {
    padding: 5px
}

.mt-5 {
    margin-top: 5px
}

.mr-5 {
    margin-right: 5px
}

.mb-5 {
    margin-bottom: 5px
}

.ml-5 {
    margin-left: 5px
}

.p-10 {
    padding: 10px
}

.pt-10 {
    padding-top: 10px
}

.pr-10 {
    padding-right: 10px
}

.pb-10 {
    padding-bottom: 10px
}

.pl-10 {
    padding-left: 10px
}

.m-10 {
    padding: 10px
}

.mt-10 {
    margin-top: 10px
}

.mr-10 {
    margin-right: 10px
}

.mb-10 {
    margin-bottom: 10px
}

.ml-10 {
    margin-left: 10px
}

.p-15 {
    padding: 15px
}

.pt-15 {
    padding-top: 15px
}

.pr-15 {
    padding-right: 15px
}

.pb-15 {
    padding-bottom: 15px
}

.pl-15 {
    padding-left: 15px
}

.m-15 {
    padding: 15px
}

.mt-15 {
    margin-top: 15px
}

.mr-15 {
    margin-right: 15px
}

.mb-15 {
    margin-bottom: 15px
}

.ml-15 {
    margin-left: 15px
}

.p-20 {
    padding: 20px
}

.pt-20 {
    padding-top: 20px
}

.pr-20 {
    padding-right: 20px
}

.pb-20 {
    padding-bottom: 20px
}

.pl-20 {
    padding-left: 20px
}

.m-20 {
    padding: 20px
}

.mt-20 {
    margin-top: 20px
}

.mr-20 {
    margin-right: 20px
}

.mb-20 {
    margin-bottom: 20px
}

.ml-20 {
    margin-left: 20px
}

.p-25 {
    padding: 25px
}

.pt-25 {
    padding-top: 25px
}

.pr-25 {
    padding-right: 25px
}

.pb-25 {
    padding-bottom: 25px
}

.pl-25 {
    padding-left: 25px
}

.m-25 {
    padding: 25px
}

.mt-25 {
    margin-top: 25px
}

.mr-25 {
    margin-right: 25px
}

.mb-25 {
    margin-bottom: 25px
}

.ml-25 {
    margin-left: 25px
}

.p-30 {
    padding: 30px
}

.pt-30 {
    padding-top: 30px
}

.pr-30 {
    padding-right: 30px
}

.pb-30 {
    padding-bottom: 30px
}

.pl-30 {
    padding-left: 30px
}

.m-30 {
    padding: 30px
}

.mt-30 {
    margin-top: 30px
}

.mr-30 {
    margin-right: 30px
}

.mb-30 {
    margin-bottom: 30px
}

.ml-30 {
    margin-left: 30px
}

.p-35 {
    padding: 35px
}

.pt-35 {
    padding-top: 35px
}

.pr-35 {
    padding-right: 35px
}

.pb-35 {
    padding-bottom: 35px
}

.pl-35 {
    padding-left: 35px
}

.m-35 {
    padding: 35px
}

.mt-35 {
    margin-top: 35px
}

.mr-35 {
    margin-right: 35px
}

.mb-35 {
    margin-bottom: 35px
}

.ml-35 {
    margin-left: 35px
}

.p-40 {
    padding: 40px
}

.pt-40 {
    padding-top: 40px
}

.pr-40 {
    padding-right: 40px
}

.pb-40 {
    padding-bottom: 40px
}

.pl-40 {
    padding-left: 40px
}

.m-40 {
    padding: 40px
}

.mt-40 {
    margin-top: 40px
}

.mr-40 {
    margin-right: 40px
}

.mb-40 {
    margin-bottom: 40px
}

.ml-40 {
    margin-left: 40px
}

.p-45 {
    padding: 45px
}

.pt-45 {
    padding-top: 45px
}

.pr-45 {
    padding-right: 45px
}

.pb-45 {
    padding-bottom: 45px
}

.pl-45 {
    padding-left: 45px
}

.m-45 {
    padding: 45px
}

.mt-45 {
    margin-top: 45px
}

.mr-45 {
    margin-right: 45px
}

.mb-45 {
    margin-bottom: 45px
}

.ml-45 {
    margin-left: 45px
}

.p-50 {
    padding: 50px
}

.pt-50 {
    padding-top: 50px
}

.pr-50 {
    padding-right: 50px
}

.pb-50 {
    padding-bottom: 50px
}

.pl-50 {
    padding-left: 50px
}

.m-50 {
    padding: 50px
}

.mt-50 {
    margin-top: 50px
}

.mr-50 {
    margin-right: 50px
}

.mb-50 {
    margin-bottom: 50px
}

.ml-50 {
    margin-left: 50px
}

.p-60 {
    padding: 60px
}

.pt-60 {
    padding-top: 60px
}

.pr-60 {
    padding-right: 60px
}

.pb-60 {
    padding-bottom: 60px
}

.pl-60 {
    padding-left: 60px
}

.m-60 {
    padding: 60px
}

.mt-60 {
    margin-top: 60px
}

.mr-60 {
    margin-right: 60px
}

.mb-60 {
    margin-bottom: 60px
}

.ml-60 {
    margin-left: 60px
}

.p-70 {
    padding: 70px
}

.pt-70 {
    padding-top: 70px
}

.pr-70 {
    padding-right: 70px
}

.pb-70 {
    padding-bottom: 70px
}

.pl-70 {
    padding-left: 70px
}

.m-70 {
    padding: 70px
}

.mt-70 {
    margin-top: 70px
}

.mr-70 {
    margin-right: 70px
}

.mb-70 {
    margin-bottom: 70px
}

.ml-70 {
    margin-left: 70px
}

.p-80 {
    padding: 80px
}

.pt-80 {
    padding-top: 80px
}

.pr-80 {
    padding-right: 80px
}

.pb-80 {
    padding-bottom: 80px
}

.pl-80 {
    padding-left: 80px
}

.m-80 {
    padding: 80px
}

.mt-80 {
    margin-top: 80px
}

.mr-80 {
    margin-right: 80px
}

.mb-80 {
    margin-bottom: 80px
}

.ml-80 {
    margin-left: 80px
}

.p-90 {
    padding: 90px
}

.pt-90 {
    padding-top: 90px
}

.pr-90 {
    padding-right: 90px
}

.pb-90 {
    padding-bottom: 90px
}

.pl-90 {
    padding-left: 90px
}

.m-90 {
    padding: 90px
}

.mt-90 {
    margin-top: 90px
}

.mr-90 {
    margin-right: 90px
}

.mb-90 {
    margin-bottom: 90px
}

.ml-90 {
    margin-left: 90px
}

.p-100 {
    padding: 100px
}

.pt-100 {
    padding-top: 100px
}

.pr-100 {
    padding-right: 100px
}

.pb-100 {
    padding-bottom: 100px
}

.pl-100 {
    padding-left: 100px
}

.m-100 {
    padding: 100px
}

.mt-100 {
    margin-top: 100px
}

.mr-100 {
    margin-right: 100px
}

.mb-100 {
    margin-bottom: 100px
}

.ml-100 {
    margin-left: 100px
}

.no-padding {
    padding: 0 !important
}

.font-1 {
    font-family: larabiefont, monospace;
    font-weight: 400;
    font-style: normal
}

.font-2 {
    font-family: p22-cezanne-pro, sans-serif;
    font-weight: 400;
    font-style: normal
}

.clearfix,
.row,
header .snav ul {
    zoom: 1
}

.clearfix:after,
.row:after,
header .snav ul:after {
    content: "";
    display: table;
    clear: both
}

.accent-background {
    background: -moz-linear-gradient(top, #f2096c, #f2096c);
    background: -webkit-linear-gradient(top, #f2096c, #f2096c);
    background: linear-gradient(to bottom, #f2096c, #f2096c)
}

.swiper-lazy {
    transition: .2s;
    opacity: 0
}

.swiper-lazy-loaded {
    opacity: 1
}

.rating {
    width: 55px !important;
    padding-bottom: 10px
}

.col-xs-1 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-xs-2 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-xs-3 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-xs-4 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-xs-5 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-xs-6 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-xs-7 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-xs-8 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-xs-9 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-xs-10 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-xs-11 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-xs-12 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

@media screen and (max-width: 599px) {
    .h-xs {
        display: none !important
    }

    .v-xs {
        display: block !important
    }

    .col-xs-1 {
        flex: 0 0 8.33333%;
        max-width: 8.33333%
    }

    .col-xs-2 {
        flex: 0 0 16.66667%;
        max-width: 16.66667%
    }

    .col-xs-3 {
        flex: 0 0 25%;
        max-width: 25%
    }

    .col-xs-4 {
        flex: 0 0 33.33333%;
        max-width: 33.33333%
    }

    .col-xs-5 {
        flex: 0 0 41.66667%;
        max-width: 41.66667%
    }

    .col-xs-6 {
        flex: 0 0 50%;
        max-width: 50%
    }

    .col-xs-7 {
        flex: 0 0 58.33333%;
        max-width: 58.33333%
    }

    .col-xs-8 {
        flex: 0 0 66.66667%;
        max-width: 66.66667%
    }

    .col-xs-9 {
        flex: 0 0 75%;
        max-width: 75%
    }

    .col-xs-10 {
        flex: 0 0 83.33333%;
        max-width: 83.33333%
    }

    .col-xs-11 {
        flex: 0 0 91.66667%;
        max-width: 91.66667%
    }

    .col-xs-12 {
        flex: 0 0 100%;
        max-width: 100%
    }

    .twin-xs>div:nth-child(even) {
        padding-right: 0
    }

    .twin-xs>div:nth-child(odd) {
        padding-left: 0
    }

    .one-xs>div {
        padding-left: 0;
        padding-right: 0
    }
}

.col-sm-1 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-sm-2 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-sm-3 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-sm-4 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-sm-5 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-sm-6 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-sm-7 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-sm-8 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-sm-9 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-sm-10 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-sm-11 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-sm-12 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

@media screen and (min-width: 600px) and (max-width: 959px) {
    .h-sm {
        display: none !important
    }

    .v-sm {
        display: block !important
    }

    .col-sm-1 {
        flex: 0 0 8.33333%;
        max-width: 8.33333%
    }

    .col-sm-2 {
        flex: 0 0 16.66667%;
        max-width: 16.66667%
    }

    .col-sm-3 {
        flex: 0 0 25%;
        max-width: 25%
    }

    .col-sm-4 {
        flex: 0 0 33.33333%;
        max-width: 33.33333%
    }

    .col-sm-5 {
        flex: 0 0 41.66667%;
        max-width: 41.66667%
    }

    .col-sm-6 {
        flex: 0 0 50%;
        max-width: 50%
    }

    .col-sm-7 {
        flex: 0 0 58.33333%;
        max-width: 58.33333%
    }

    .col-sm-8 {
        flex: 0 0 66.66667%;
        max-width: 66.66667%
    }

    .col-sm-9 {
        flex: 0 0 75%;
        max-width: 75%
    }

    .col-sm-10 {
        flex: 0 0 83.33333%;
        max-width: 83.33333%
    }

    .col-sm-11 {
        flex: 0 0 91.66667%;
        max-width: 91.66667%
    }

    .col-sm-12 {
        flex: 0 0 100%;
        max-width: 100%
    }

    .twin-sm>div:nth-child(even) {
        padding-right: 0
    }

    .twin-sm>div:nth-child(odd) {
        padding-left: 0
    }

    .one-sm>div {
        padding-left: 0;
        padding-right: 0
    }
}

.col-md-1 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-md-2 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-md-3 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-md-4 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-md-5 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-md-6 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-md-7 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-md-8 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-md-9 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-md-10 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-md-11 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-md-12 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

@media screen and (min-width: 960px) and (max-width: 1279px) {
    .h-md {
        display: none !important
    }

    .v-md {
        display: block !important
    }

    .col-md-1 {
        flex: 0 0 8.33333%;
        max-width: 8.33333%
    }

    .col-md-2 {
        flex: 0 0 16.66667%;
        max-width: 16.66667%
    }

    .col-md-3 {
        flex: 0 0 25%;
        max-width: 25%
    }

    .col-md-4 {
        flex: 0 0 33.33333%;
        max-width: 33.33333%
    }

    .col-md-5 {
        flex: 0 0 41.66667%;
        max-width: 41.66667%
    }

    .col-md-6 {
        flex: 0 0 50%;
        max-width: 50%
    }

    .col-md-7 {
        flex: 0 0 58.33333%;
        max-width: 58.33333%
    }

    .col-md-8 {
        flex: 0 0 66.66667%;
        max-width: 66.66667%
    }

    .col-md-9 {
        flex: 0 0 75%;
        max-width: 75%
    }

    .col-md-10 {
        flex: 0 0 83.33333%;
        max-width: 83.33333%
    }

    .col-md-11 {
        flex: 0 0 91.66667%;
        max-width: 91.66667%
    }

    .col-md-12 {
        flex: 0 0 100%;
        max-width: 100%
    }

    .twin-md>div:nth-child(even) {
        padding-right: 0
    }

    .twin-md>div:nth-child(odd) {
        padding-left: 0
    }

    .one-md>div {
        padding-left: 0;
        padding-right: 0
    }
}

.col-lg-1 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-lg-2 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-lg-3 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-lg-4 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-lg-5 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-lg-6 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-lg-7 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-lg-8 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-lg-9 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-lg-10 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-lg-11 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

.col-lg-12 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding: 5px 10px;
    box-sizing: border-box
}

@media screen and (min-width: 1280px) {
    .h-lg {
        display: none !important
    }

    .v-lg {
        display: block !important
    }

    .col-lg-1 {
        flex: 0 0 8.33333%;
        max-width: 8.33333%
    }

    .col-lg-2 {
        flex: 0 0 16.66667%;
        max-width: 16.66667%
    }

    .col-lg-3 {
        flex: 0 0 25%;
        max-width: 25%
    }

    .col-lg-4 {
        flex: 0 0 33.33333%;
        max-width: 33.33333%
    }

    .col-lg-5 {
        flex: 0 0 41.66667%;
        max-width: 41.66667%
    }

    .col-lg-6 {
        flex: 0 0 50%;
        max-width: 50%
    }

    .col-lg-7 {
        flex: 0 0 58.33333%;
        max-width: 58.33333%
    }

    .col-lg-8 {
        flex: 0 0 66.66667%;
        max-width: 66.66667%
    }

    .col-lg-9 {
        flex: 0 0 75%;
        max-width: 75%
    }

    .col-lg-10 {
        flex: 0 0 83.33333%;
        max-width: 83.33333%
    }

    .col-lg-11 {
        flex: 0 0 91.66667%;
        max-width: 91.66667%
    }

    .col-lg-12 {
        flex: 0 0 100%;
        max-width: 100%
    }

    .twin-lg>div:nth-child(even) {
        padding-right: 0
    }

    .twin-lg>div:nth-child(odd) {
        padding-left: 0
    }

    .one-lg>div {
        padding-left: 0;
        padding-right: 0
    }
}

.row {
    display: flex;
    box-direction: normal;
    box-orient: horizontal;
    flex-direction: row;
    flex-wrap: wrap
}

.row img {
    width: 100%
}

.flex-end {
    align-self: flex-end
}

.flex-center {
    align-self: center
}

@media screen and (max-width: 599px) {
    .xs-order-1 {
        order: 1
    }

    .xs-order-2 {
        order: 2
    }

    .xs-order-3 {
        order: 3
    }

    .xs-order-4 {
        order: 4
    }

    .xs-order-5 {
        order: 5
    }
}

@media screen and (min-width: 600px) and (max-width: 959px) {
    .sm-order-1 {
        order: 1
    }

    .sm-order-2 {
        order: 2
    }

    .sm-order-3 {
        order: 3
    }

    .sm-order-4 {
        order: 4
    }

    .sm-order-5 {
        order: 5
    }
}

@media screen and (min-width: 960px) and (max-width: 1279px) {
    .md-order-1 {
        order: 1
    }

    .md-order-2 {
        order: 2
    }

    .md-order-3 {
        order: 3
    }

    .md-order-4 {
        order: 4
    }

    .md-order-5 {
        order: 5
    }
}

@media screen and (min-width: 1280px) {
    .lg-order-1 {
        order: 1
    }

    .lg-order-2 {
        order: 2
    }

    .lg-order-3 {
        order: 3
    }

    .lg-order-4 {
        order: 4
    }

    .lg-order-5 {
        order: 5
    }
}

.gwrap {
    position: relative;
    width: 100%;
    height: 100%;
    overflow-x: hidden !important;
    overflow-y: auto;
    color: #333;
    line-height: 1.8
}

.container-inner {
    max-width: 1200px;
    margin: 0 auto
}

.btn {
    position: relative;
    display: block;
    width: 100%;
    text-align: center;
    transition: .2s;
    line-height: 50px;
    box-shadow: none;
    border: none;
    outline: none
}

@media screen and (min-width: 600px) and (max-width: 959px) {
    .btn {
        font-size: 0.95rem
    }
}

@media screen and (max-width: 599px) {
    .btn {
        font-size: 0.85rem
    }
}

.btn i {
    margin: 0 5px
}

.btn.disabled {
    opacity: 0.75
}

.btn-accent {
    background: #fff;
    border-radius: 3px;
    color: #f2096c;
    border: 1px solid #f2096c
}

.btn-accent:hover {
    background: #f2096c;
    color: #fff
}

.btn-border {
    border: solid 1px #333;
    color: #333
}

.btn-border:hover {
    box-shadow: 0 0 10px #fff inset
}

.btn-border::after {
    position: absolute;
    font-family: "Font Awesome 6 Free";
    content: "\f105";
    top: 0;
    bottom: 0;
    right: 20px
}

button {
    cursor: pointer
}

.fixed-frame {
    z-index: 99;
    position: fixed;
    width: 100%;
    height: 100%;
    pointer-events: none
}

.fixed-frame .border {
    background: #f2096c
}

.fixed-frame .b-h {
    height: 1px
}

.fixed-frame .b-r {
    width: 1px
}

.fixed-frame .b-top {
    position: fixed;
    width: 0%;
    right: 0;
    top: 5px;
    transition: .3s
}

.fixed-frame .b-top.active {
    width: 100%
}

.fixed-frame .b-btm {
    position: fixed;
    width: 0%;
    left: 0;
    bottom: 5px;
    transition: .3s
}

.fixed-frame .b-btm.active {
    width: 100%
}

.fixed-frame .b-right {
    position: fixed;
    top: 0;
    right: 5px;
    height: 15%
}

.fixed-frame .b-left {
    position: fixed;
    bottom: 0;
    left: 5px;
    height: 15%
}

.fixed-frame .t-left {
    position: fixed;
    top: 17%;
    right: 0;
    color: #333;
    font-size: 0.6rem;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
}

.fixed-frame .t-right {
    position: fixed;
    bottom: 17%;
    left: 0;
    color: #333;
    font-size: 0.6rem;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
}

header .topnav {
    padding: 20px 0 10px
}

header .topnav .container-inner {
    display: flex;
    justify-content: space-between
}

@media screen and (max-width: 599px) {
    header .topnav h1 {
        padding-bottom: 10px
    }
}

@media screen and (max-width: 599px) {
    header .topnav h1 img {
        width: 270px
    }
}

header .topnav a.tel {
    padding-right: 120px
}

@media screen and (max-width: 599px) {
    header .topnav a.tel {
        display: none
    }
}

header .topnav a.tel-txt {
    padding-right: 120px;
    text-align: center;
    line-height: 1.3
}

@media screen and (max-width: 599px) {
    header .topnav a.tel-txt {
        display: none
    }
}

header .topnav a.tel-txt i {
    padding-right: 10px;
    font-size: 24px;
    color: #f08200;
    transform: rotate(15deg) translateX(5px)
}

header .topnav a.tel-txt span {
    font-size: 24px;
    font-weight: 900;
    color: #f08200
}

header .topnav a.tel-txt p.txt1r {
    font-size: 16px;
    font-weight: 900;
    color: #333
}

header .topnav a.tel-txt p.txt2r {
    font-size: 12px;
    font-weight: 900;
    color: #333
}

header .snav {
    text-align: center;
    border-top: 5px solid #efefef;
    border-bottom: 5px solid #efefef
}

@media screen and (min-width: 600px) and (max-width: 959px) {
    header .snav {
        display: none
    }
}

@media screen and (max-width: 599px) {
    header .snav {
        display: none
    }
}

header .snav .container-inner {
    position: relative
}

header .snav ul {
    position: relative;
    display: flex;
    width: 100%
}

@media screen and (max-width: 599px) {
    header .snav ul {
        display: block
    }
}

header .snav ul #slide-line {
    position: absolute;
    top: 0;
    height: 5px;
    background-color: #f2096c;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

header .snav ul li {
    display: inline-block;
    width: calc(88% / 6);
    border-right: 1px solid #efefef;
    box-sizing: border-box
}

header .snav ul li a {
    display: block;
    padding: 20px 0;
    color: #333;
    transition: .2s
}

header .snav ul li a:hover {
    color: #f2096c
}

header .snav ul li a.disabled {
    opacity: 0.3
}

header .snav ul li.current-item a {
    color: #f2096c
}

header .snav ul li.icon {
    width: 4%
}

header .snav ul li.icon i {
    font-size: 1.3em
}

header .snav ul li.youtube i {
    color: #ff0000
}

header .snav ul li.line i {
    color: #00B900
}

header .sp-menu {
    border-radius: 0;
    bottom: 0;
    left: 0;
    box-shadow: 0 -5px 8px rgba(0, 0, 0, 0.1);
    max-width: 100vw;
    min-height: 15vw;
    position: fixed;
    width: 100%;
    z-index: 35;
    background: #fff
}

header .sp-menu ul {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    list-style: none
}

header .sp-menu ul li {
    line-height: 1.3;
    margin: 0;
    text-align: center;
    flex-basis: calc(100% / 3)
}

header .sp-menu ul li a {
    color: #333;
    display: block;
    padding: 0.8rem 0 0.6rem;
    text-align: center;
    text-decoration: none;
    transition: .2s;
    font-size: 10px;
    font-weight: bold
}

header .sp-menu ul li a i {
    display: block;
    margin: 0 auto 3px;
    font-size: 2em
}

header .sp-menu ul li.tel i {
    color: #F08300
}

header .sp-menu ul li.contact i {
    color: #f2096c
}

header .sp-menu ul li.line i {
    color: #00B900
}

.gnav-trigger-wrap {
    z-index: 99;
    position: fixed;
    display: none;
    top: 20px;
    right: 20px
}

.gnav-trigger-wrap .menu-trigger,
.gnav-trigger-wrap .menu-trigger span {
    display: inline-block;
    transition: all .3s;
    box-sizing: border-box
}

.gnav-trigger-wrap .menu-trigger {
    position: relative;
    width: 45px;
    height: 36px
}

.gnav-trigger-wrap .menu-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #333;
    border-radius: 2px
}

.gnav-trigger-wrap .menu-trigger span:nth-of-type(1) {
    top: 0
}

.gnav-trigger-wrap .menu-trigger span:nth-of-type(2) {
    top: 17px
}

.gnav-trigger-wrap .menu-trigger span:nth-of-type(3) {
    bottom: 0
}

.gnav-trigger-wrap .menu-trigger.active span:nth-of-type(1) {
    -webkit-transform: translateY(17px) rotate(-45deg);
    transform: translateY(17px) rotate(-45deg)
}

.gnav-trigger-wrap .menu-trigger.active span:nth-of-type(2) {
    opacity: 0
}

.gnav-trigger-wrap .menu-trigger.active span:nth-of-type(3) {
    -webkit-transform: translateY(-17px) rotate(45deg);
    transform: translateY(-17px) rotate(45deg)
}

.gnav-trigger-wrap .text {
    color: #333;
    cursor: pointer
}

.gnav-wrap {
    z-index: 98;
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.85)
}

.gnav-wrap .container-inner {
    position: relative;
    height: 100%;
    -webkit-overflow-scrolling: touch;
    overflow-x: hidden !important;
    overflow-y: auto;
    -ms-overflow-style: none;
    scrollbar-width: none
}

.gnav-wrap .container-inner::-webkit-scrollbar {
    display: none
}

.gnav-wrap .title-logo {
    margin: 20px 0;
    text-align: center
}

.gnav-wrap .title-logo img {
    max-width: 240px
}

@media screen and (max-width: 599px) {
    .gnav-wrap .title-logo {
        padding-left: 20px;
        text-align: left
    }

    .gnav-wrap .title-logo img {
        max-width: 120px
    }
}

.gnav-wrap nav.gnav {
    max-width: 600px;
    margin: 0 auto;
    padding: 0 20px 30px;
    transition: .5s
}

.gnav-wrap nav.gnav.close {
    transform: scale(0.85)
}

.gnav-wrap nav.gnav.active ul li {
    transform: translateY(0);
    opacity: 1
}

.gnav-wrap nav.gnav ul li {
    margin-bottom: 20px;
    line-height: 50px;
    vertical-align: middle;
    transform: translateY(-10px);
    opacity: 0
}

@media screen and (max-width: 599px) {
    .gnav-wrap nav.gnav ul li {
        margin-bottom: 10px
    }
}

.gnav-wrap nav.gnav ul li:last-child {
    margin-bottom: 0
}

.gnav-wrap nav.gnav ul li:nth-child(1) {
    transition: 0.5s
}

.gnav-wrap nav.gnav ul li:nth-child(2) {
    transition: 0.6s
}

.gnav-wrap nav.gnav ul li:nth-child(3) {
    transition: 0.7s
}

.gnav-wrap nav.gnav ul li:nth-child(4) {
    transition: 0.8s
}

.gnav-wrap nav.gnav ul li:nth-child(5) {
    transition: 0.9s
}

.gnav-wrap nav.gnav ul li:nth-child(6) {
    transition: 1.0s
}

.gnav-wrap nav.gnav ul li:nth-child(7) {
    transition: 1.1s
}

.gnav-wrap nav.gnav ul li:nth-child(8) {
    transition: 1.2s
}

.gnav-wrap nav.gnav ul li:nth-child(9) {
    transition: 1.3s
}

.gnav-wrap nav.gnav ul li a {
    position: relative;
    display: block;
    padding: 0 50px;
    line-height: 50px;
    transition: .5s
}

@media screen and (max-width: 599px) {
    .gnav-wrap nav.gnav ul li a {
        padding: 0 20px
    }
}

.gnav-wrap nav.gnav ul li a:hover {
    background: #f875ac
}

.gnav-wrap nav.gnav ul li a.disabled {
    opacity: 0.5
}

.gnav-wrap nav.gnav ul li a .text {
    font-size: 2rem;
    color: #333
}

@media screen and (max-width: 599px) {
    .gnav-wrap nav.gnav ul li a .text {
        font-size: 1.5rem
    }
}

.gnav-wrap nav.gnav ul li a .text span {
    display: inline-block;
    margin-left: 40px;
    font-size: 1rem;
    line-height: 50px
}

@media screen and (max-width: 599px) {
    .gnav-wrap nav.gnav ul li a .text span {
        margin-left: 20px;
        font-size: 0.8rem
    }
}

.gnav-wrap nav.gnav ul li a .border {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none
}

.gnav-wrap nav.gnav ul li a .border span {
    position: absolute;
    width: 10px;
    height: 25px;
    transition: .3s
}

.gnav-wrap nav.gnav ul li a .border span:nth-child(1) {
    top: 0;
    left: 0;
    border-top: solid 1px #f875ac;
    border-left: solid 1px #f875ac
}

.gnav-wrap nav.gnav ul li a .border span:nth-child(2) {
    bottom: 0;
    left: 0;
    border-bottom: solid 1px #f875ac;
    border-left: solid 1px #f875ac
}

.gnav-wrap nav.gnav ul li a .border span:nth-child(3) {
    top: 0;
    right: 0;
    border-top: solid 1px #f875ac;
    border-right: solid 1px #f875ac
}

.gnav-wrap nav.gnav ul li a .border span:nth-child(4) {
    bottom: 0;
    right: 0;
    border-bottom: solid 1px #f875ac;
    border-right: solid 1px #f875ac
}

.gnav-wrap nav.gnav ul li a:hover .border span {
    width: 50%;
    height: 50%;
    border-color: #f875ac
}

.gnav-wrap nav.gnav ul li ul li {
    margin: 10px 0 0 0;
    line-height: 40px;
    vertical-align: middle
}

.gnav-wrap nav.gnav ul li ul li a {
    position: relative;
    display: block;
    padding: 0 50px;
    line-height: 40px;
    transition: .5s
}

@media screen and (max-width: 599px) {
    .gnav-wrap nav.gnav ul li ul li a {
        padding: 0 20px
    }
}

.gnav-wrap nav.gnav ul li ul li a i {
    margin-right: 15px;
    transition: .3s;
    color: #f08200
}

.gnav-wrap nav.gnav ul li ul li a .text {
    font-size: 1.3rem;
    color: #333
}

@media screen and (max-width: 599px) {
    .gnav-wrap nav.gnav ul li ul li a .text {
        font-size: 1.1rem
    }
}

.gnav-wrap nav.gnav ul li ul li a .new {
    top: 10px
}

.gnav-wrap nav.gnav ul li ul li a:hover {
    background: none
}

.gnav-wrap nav.gnav ul li ul li a:hover i {
    color: #f2096c
}

.gnav-block {
    max-width: 600px;
    margin: 20px auto;
    padding: 0 20px;
    opacity: 0;
    transform: translateY(-10px)
}

.gnav-block:nth-child(1) {
    transition: 1.0s
}

.gnav-block:nth-child(2) {
    transition: 1.2s
}

.gnav-block:nth-child(3) {
    transition: 1.3s
}

.gnav-block:nth-child(4) {
    transition: 1.4s
}

.gnav-block.active {
    opacity: 1;
    transform: translateY(0)
}

#site-config {
    padding-bottom: 50px
}

#site-config .title {
    padding: 20px 10px 10px 10px;
    border-top: dashed 1px #333;
    font-size: 1.2rem
}

#site-config .title i {
    margin-right: 5px
}

#site-config button,
#site-config a {
    padding: 5px 20px;
    width: 100%;
    background: none;
    border: solid 1px #333;
    color: #333;
    outline: none;
    cursor: pointer;
    transition: .3s;
    opacity: 0.5;
    line-height: 20px;
    text-align: center
}

#site-config button.active,
#site-config a.active {
    opacity: 1
}

#site-config button:hover,
#site-config a:hover {
    opacity: 1
}

div.footer-topics {
    padding: 70px 0 50px
}

div.footer-topics a {
    transition: .4s
}

div.footer-topics a:hover {
    opacity: 0.7
}

@media screen and (min-width: 600px) and (max-width: 959px) {
    div.footer-topics a img {
        width: 100%
    }
}

div.footer-bn01 a {
    transition: .4s
}

@media screen and (max-width: 599px) {
    div.footer-bn01 a {
        flex-basis: 50%
    }
}

div.footer-bn01 a:hover {
    opacity: 0.7
}

div.footer-bn01 img {
    padding: 12px 3px
}

div.footer-bn02 {
    padding: 20px 0
}

div.footer-bn02 a {
    transition: .4s
}

@media screen and (max-width: 599px) {
    div.footer-bn02 a {
        flex-basis: 50%
    }
}

div.footer-bn02 a:hover {
    opacity: 0.7
}

div.footer-bn02 p.mds {
    font-size: 24px;
    font-weight: bold;
    padding: 10px 0 10px 10px;
    border-left: 1px solid #f08200
}

div.footer-bn02 img {
    padding: 12px 3px
}

footer {
    width: 100%;
    background: url("../assets/global/footer-bg.jpg") no-repeat center center;
    background-size: cover
}

footer div.footer-logo {
    padding: 50px 5px 30px;
    text-align: center
}

footer div.footer-menu {
    font-size: 14px;
    color: #fff;
    border-bottom: 1px solid #656d78;
    padding-bottom: 50px
}

footer div.footer-menu i {
    color: #fff;
    padding-right: 5px
}

footer div.footer-menu div.menu-left {
    padding-left: 50px;
    border-right: 1px solid #656d78
}

@media screen and (max-width: 599px) {
    footer div.footer-menu div.menu-left {
        padding-left: 5px;
        border-right: none;
        border-bottom: 1px solid #656d78;
        padding-bottom: 10px;
        margin-bottom: 10px
    }
}

footer div.footer-menu div.menu-left a {
    display: block;
    color: #fff
}

footer div.footer-menu div.menu-left a:hover {
    color: #f2096c;
    transition: .4s
}

footer div.footer-menu div.menu-center {
    padding-left: 50px;
    border-right: 1px solid #656d78
}

@media screen and (max-width: 599px) {
    footer div.footer-menu div.menu-center {
        padding-left: 5px;
        border-right: none;
        border-bottom: 1px solid #656d78;
        padding-bottom: 10px;
        margin-bottom: 10px
    }
}

footer div.footer-menu div.menu-right {
    padding-left: 50px
}

@media screen and (max-width: 599px) {
    footer div.footer-menu div.menu-right {
        padding-left: 5px;
        padding-bottom: 10px
    }
}

footer div.footer-office {
    border-bottom: 1px solid #656d78
}

footer div.footer-office p {
    padding: 20px 10px;
    font-size: 14px;
    color: #fff
}

footer p.copyright {
    font-size: 12px;
    color: #fff;
    text-align: center;
    padding: 20px 5px 25px
}

.trans footer {
    opacity: 0
}

section.g-head {
    width: 100%
}

section.g-head h2 {
    color: #fff;
    padding: 55px 0 55px 25px;
    line-height: 1
}

section.g-head h2 span {
    display: block
}

section.g-head h2 span.ja {
    font-size: 24px
}

section.g-head h2 span.en {
    font-size: 100px
}

@media screen and (max-width: 599px) {
    section.g-head h2 span.en {
        font-size: 60px
    }
}

#g-head-company {
    background: url("../assets/company/company-mds.jpg") no-repeat center center;
    background-size: cover
}

#g-head-price {
    background: url("../assets/price/price-mds.jpg") no-repeat center center;
    background-size: cover
}

#g-head-reason {
    background: url("../assets/reason/reason-mds.jpg") no-repeat center center;
    background-size: cover
}

#g-head-qa {
    background: url("../assets/qa/qa-mds.jpg") no-repeat center center;
    background-size: cover
}

#g-head-contact {
    background: url("../assets/contact/contact-mds.jpg") no-repeat center center;
    background-size: cover
}

h2.g-style {
    display: block;
    padding: 20px;
    text-align: center;
    color: #333;
    font-size: 3rem;
    text-shadow: 0 0 10px #fff;
    border-bottom: solid 1px #333
}

@media screen and (max-width: 599px) {
    h2.g-style {
        font-size: 2rem
    }
}

h3.kmds {
    padding: 0px 0 80px;
    text-align: center;
    width: 100%;
    line-height: 1.2;
    font-weight: normal
}

h3.kmds span {
    display: block
}

h3.kmds span.ja {
    font-size: 28px;
    color: #333
}

h3.kmds span.en {
    font-size: 16px;
    color: #f2096c
}

h4.area {
    padding: 80px 0 40px;
    text-align: center;
    width: 100%;
    line-height: 1.2;
    font-weight: normal;
    font-size: 28px
}

h4.area-top {
    padding: 0px 0 40px
}

#loading-wrap {
    z-index: 90;
    display: block;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: -moz-radial-gradient(#f2096c, #111);
    background: -webkit-radial-gradient(#f2096c, #111);
    background: radial-gradient(#f2096c, #111111)
}

#loading-wrap .flex {
    position: relative;
    display: flex;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center
}

#loading-wrap .inner {
    max-width: 300px;
    max-height: 400px
}

#loading-wrap .inner .chr {
    transition: 2.0s
}

#loading-wrap .inner .chr.loaded {
    transform: scale(0.9);
    filter: blur(3px)
}

#loading-wrap .inner .chr img {
    width: 100%;
    transform: rotate(40deg);
    opacity: 0.25;
    animation: loadingIllust 150s linear 0s infinite;
    transition: 1.5s
}

#loading-wrap .inner #now-loading {
    margin-top: 10px;
    text-align: center;
    font-size: 1rem;
    font-family: sans-serif;
    transition: 1.5s
}

#loading-wrap .inner #now-loading span {
    animation: progressFade .8s linear 0s infinite alternate
}

#loading-wrap .inner #now-loading.off {
    opacity: 0
}

#loading-wrap .inner .noscript {
    margin-top: 10px;
    padding: 5px;
    text-align: center;
    border-radius: 20px;
    border: solid 1px #333;
    font-size: 0.9rem
}

#loading-wrap .inner .noscript i {
    margin-right: 5px
}

@keyframes progressFade {
    0% {
        opacity: 0.25
    }

    100% {
        opacity: 1.0
    }
}

@keyframes loadingIllust {
    0% {
        transform: rotate(30deg)
    }

    100% {
        transform: rotate(-330deg)
    }
}

#transition-wrap {
    z-index: 999;
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    background: rgba(0, 0, 0, 0.2);
    text-align: center
}

#transition-wrap .inner {
    position: fixed;
    top: 50%;
    left: 50%
}

#barba-wrapper .barba-container>div,
#barba-wrapper .barba-container>section {
    transition: .4s;
    transform: scale(1)
}

#barba-wrapper.trans .barba-container>div,
#barba-wrapper.trans .barba-container>section {
    transform: scale(1.05)
}

.flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between
}

#page-toppage #main-slider {
    background: #efefef
}

#page-toppage #main-slider .main-swiper-wrap {
    position: relative;
    margin: 0 auto;
    padding-bottom: 5px;
    max-width: 1200px
}

#page-toppage #main-slider .main-swiper-wrap .main-txt {
    position: absolute;
    top: 18%;
    left: 7%;
    z-index: 11
}

@media screen and (max-width: 599px) {
    #page-toppage #main-slider .main-swiper-wrap .main-txt {
        left: auto;
        padding: 0 10px
    }
}

@media screen and (max-width: 599px) {
    #page-toppage #main-slider .main-swiper-wrap .main-txt img {
        width: 100%
    }
}

#page-toppage #main-slider .main-swiper-wrap .swiper-container,
#page-toppage #main-slider .main-swiper-wrap #main-swiper {
    width: 100%;
    height: 100%;
    overflow: visible;
    z-index: 1
}

#page-toppage #main-slider .main-swiper-wrap .swiper-wrapper {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap
}

#page-toppage #main-slider .main-swiper-wrap .swiper-slide {
    flex-shrink: 0;
    width: 100%;
    box-sizing: border-box
}

#page-toppage #main-slider .main-swiper-wrap .swiper-slide a {
    position: relative;
    display: block;
    transition: .5s
}

#page-toppage #main-slider .main-swiper-wrap .swiper-slide a.disabled {
    pointer-events: none !important;
    opacity: 0.5
}

#page-toppage #main-slider .main-swiper-wrap .swiper-slide a img {
    max-width: 100%
}

#page-toppage #main-slider .main-swiper-wrap .swiper-nav {
    z-index: 10;
    position: absolute;
    top: 40%;
    outline: none;
    cursor: pointer;
    transition: .3s
}

#page-toppage #main-slider .main-swiper-wrap .swiper-nav:hover {
    transform: scale(1.1)
}

#page-toppage #main-slider .main-swiper-wrap .swiper-nav.swiper-button-disabled {
    pointer-events: none;
    opacity: 0.3
}

#page-toppage #main-slider .main-swiper-wrap .main-swiper-prev {
    left: -33px
}

@media screen and (min-width: 960px) and (max-width: 1279px) {
    #page-toppage #main-slider .main-swiper-wrap .main-swiper-prev {
        display: none
    }
}

@media screen and (min-width: 600px) and (max-width: 959px) {
    #page-toppage #main-slider .main-swiper-wrap .main-swiper-prev {
        display: none
    }
}

@media screen and (max-width: 599px) {
    #page-toppage #main-slider .main-swiper-wrap .main-swiper-prev {
        display: none
    }
}

#page-toppage #main-slider .main-swiper-wrap .main-swiper-next {
    right: -33px
}

@media screen and (min-width: 960px) and (max-width: 1279px) {
    #page-toppage #main-slider .main-swiper-wrap .main-swiper-next {
        display: none
    }
}

@media screen and (min-width: 600px) and (max-width: 959px) {
    #page-toppage #main-slider .main-swiper-wrap .main-swiper-next {
        display: none
    }
}

@media screen and (max-width: 599px) {
    #page-toppage #main-slider .main-swiper-wrap .main-swiper-next {
        display: none
    }
}

#page-toppage #topics {
    padding: 60px 0 120px
}

@media screen and (max-width: 599px) {
    #page-toppage #topics {
        padding: 30px 0 80px
    }
}

#page-toppage #topics a {
    transition: 0.3s
}

#page-toppage #topics a:hover {
    opacity: 0.8;
    transition: 0.3s
}

#page-toppage #topics a img {
    width: 100%
}

#page-toppage #topics div.lawyer-box {
    text-align: center;
    margin-top: 30px;
}

@media screen and (max-width: 599px) {
    #page-toppage #topics div.lawyer-box {
        padding: 30px 10px
    }
}

#page-toppage #topics div.lawyer-box img {
    width: 100%
}

#page-toppage #topics div.lawyer-box p.mds {
    padding: 25px 10px 10px;
    font-size: 32px;
    font-weight: bold;
    text-align: center;
    line-height: 1.5
}

#page-toppage #topics div.lawyer-box div.divider {
    width: 65px;
    height: 10px;
    margin: 0 auto 30px;
    background: #fcdb00
}

@media screen and (max-width: 599px) {
    #page-toppage #topics div.lawyer-box div.divider {
        margin-bottom: 20px
    }
}

#page-toppage #topics div.lawyer-box p.txt {
    padding-bottom: 30px;
    font-size: 18px;
    text-align: center;
    font-weight: bold
}

@media screen and (max-width: 599px) {
    #page-toppage #topics div.lawyer-box p.txt {
        font-size: 16px;
        text-align: left;
        padding-bottom: 10px
    }
}

#page-toppage #topics div.lawyer-box a.more {
    display: inline-block;
    background: #f08200;
    color: #fff;
    padding: 18px 40px;
    margin-top: 20px;
    text-align: center;
    border-radius: 0px 30px 0px 30px;
    transition: .4s
}

#page-toppage #topics div.lawyer-box a.more:hover {
    opacity: 0.8;
    transition: .4s
}

#page-toppage #topics div.lawyer-box a.more:hover i {
    transform: translateX(7px);
    transition: .4s
}

#page-toppage #topics div.lawyer-box a.more i {
    color: #fff;
    padding-left: 7px
}

#page-toppage #aigroup {
    background: -moz-linear-gradient(left, #efefef 0%, #fff 60%, #fff 100%);
    background: -webkit-linear-gradient(left, #efefef 0%, #fff 60%, #fff 100%);
    background: linear-gradient(to right, #efefef 0%, #fff 60%, #fff 100%)
}

#page-toppage #aigroup div.container-inner {
    background: #efefef;
    position: relative;
    padding: 60px 30px;
}

#page-toppage #aigroup h2 {
    position: absolute;
    top: -70px;
    left: 0
}

#page-toppage #aigroup {
    margin-top: 80px;
}

@media screen and (max-width: 599px) {
    #page-toppage #aigroup h2 img {
        width: 100%;
        padding: 0 10px
    }

    #page-toppage #aigroup div.container-inner {
        padding: 60px 10px;
    }
}

#page-toppage #aigroup .ai-box {
    margin: 60px 0;
    position: relative;
    min-height: 410px
}

#page-toppage #aigroup .ai-box .xs-order-1 {
    z-index: 4
}

#page-toppage #aigroup .ai-box .flex-end {
    justify-content: flex-end
}

#page-toppage #aigroup .ai-box .box {
    padding: 40px 40px 20px;
    background: #fff;
    font-weight: bold
}

@media screen and (max-width: 599px) {
    #page-toppage #aigroup .ai-box .box {
        padding: 40px 10px 20px
    }
}

#page-toppage #aigroup .ai-box .box p.mds {
    border-left: 1px solid #f08200;
    font-size: 1.4rem;
    font-weight: bold;
    padding: 0 0 0 15px;
    margin-bottom: 25px
}

@media screen and (max-width: 599px) {
    #page-toppage #aigroup .ai-box .box p.mds {
        font-size: 1.2rem
    }
}

#page-toppage #aigroup .ai-box .box p.mds span {
    color: #f08200
}

#page-toppage #aigroup .ai-box .box a.more {
    display: inline-block;
    background: #f08200;
    color: #fff;
    padding: 18px 40px;
    margin-top: 20px;
    text-align: center;
    border-radius: 0px 30px 0px 30px;
    transition: .4s
}

#page-toppage #aigroup .ai-box .box a.more:hover {
    opacity: 0.8;
    transition: .4s
}

#page-toppage #aigroup .ai-box .box a.more:hover i {
    transform: translateX(7px);
    transition: .4s
}

#page-toppage #aigroup .ai-box .box a.more i {
    color: #fff;
    padding-left: 7px
}

#page-toppage #aigroup .ai-box figure.right {
    position: absolute;
    top: 30px;
    right: 0
}

@media screen and (min-width: 600px) and (max-width: 959px) {
    #page-toppage #aigroup .ai-box figure.right {
        position: static
    }
}

@media screen and (max-width: 599px) {
    #page-toppage #aigroup .ai-box figure.right {
        position: static
    }
}

#page-toppage #aigroup .ai-box figure.left {
    position: absolute;
    top: 30px;
    left: 0
}

@media screen and (min-width: 600px) and (max-width: 959px) {
    #page-toppage #aigroup .ai-box figure.left {
        position: static
    }
}

@media screen and (max-width: 599px) {
    #page-toppage #aigroup .ai-box figure.left {
        position: static
    }
}

#page-toppage #top-movie .pv {
    max-width: 750px;
    margin: 0 auto 2em
}

#page-toppage #top-movie a.popup-movie {
    position: relative;
    display: block
}

#page-toppage #top-movie a.popup-movie .img {
    overflow: hidden
}

#page-toppage #top-movie a.popup-movie .img img {
    transition: 1.0s
}

#page-toppage #top-movie a.popup-movie:hover img {
    transform: scale(1.1)
}

#page-toppage #top-movie p {
    font-size: 1.2em;
    font-weight: 900;
    padding-top: 10px;
    text-align: center
}

#page-toppage #top-reason,
#page-toppage #top-movie {
    margin-top: 110px;
    background: -moz-linear-gradient(left, #fff 0%, #fff 49%, #f7f3e7 50%, #f7f3e7 100%);
    background: -webkit-linear-gradient(left, #fff 0%, #fff 49%, #f7f3e7 50%, #f7f3e7 100%);
    background: linear-gradient(to right, #fff 0%, #fff 49%, #f7f3e7 50%, #f7f3e7 100%)
}

#page-toppage #top-reason div.container-inner,
#page-toppage #top-movie div.container-inner {
    background: #f7f3e7;
    position: relative;
    padding: 60px 0
}

#page-toppage #top-reason h2,
#page-toppage #top-movie h2 {
    position: absolute;
    top: -55px;
    right: 0
}

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

    #page-toppage #top-reason h2 img,
    #page-toppage #top-movie h2 img {
        width: 100%;
        padding: 0 10px
    }
}

#page-toppage #top-reason h3,
#page-toppage #top-movie h3 {
    font-size: 16px;
    text-align: center;
    /* padding: 10px 10px 60px */
}

.content :where(h3:not([class]), h3.wp-block-heading:not([class*="is-style-"], [class*="is-design-"]), h3.is-style-default) {
    background-color: unset !important;
    border-left: unset !important;
}

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

    #page-toppage #top-reason h3,
    #page-toppage #top-movie h3 {
        padding: 60px 10px 60px;
        text-align: left
    }
}

#page-toppage #top-reason #reason-slider,
#page-toppage #top-movie #reason-slider {
    position: relative
}

#page-toppage #top-reason #reason-slider .swiper-slide,
#page-toppage #top-movie #reason-slider .swiper-slide {
    padding-top: 50px
}

#page-toppage #top-reason #reason-slider .row,
#page-toppage #top-movie #reason-slider .row {
    align-items: center
}

#page-toppage #top-reason #reason-slider .reason-txt,
#page-toppage #top-movie #reason-slider .reason-txt {
    padding-left: 100px
}

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

    #page-toppage #top-reason #reason-slider .reason-txt,
    #page-toppage #top-movie #reason-slider .reason-txt {
        padding-left: 10px
    }
}

#page-toppage #top-reason #reason-slider .reason-txt p:nth-child(2),
#page-toppage #top-movie #reason-slider .reason-txt p:nth-child(2) {
    padding-top: 20px
}

#page-toppage #top-reason #reason-slider .reason-txt p.no,
#page-toppage #top-movie #reason-slider .reason-txt p.no {
    font-size: 46px;
    font-weight: bold;
    color: #f08200;
    position: relative;
    padding-right: 20px;
    border-right: 1px solid #f08200;
    line-height: 1.3
}

#page-toppage #top-reason #reason-slider .reason-txt p.no:before,
#page-toppage #top-movie #reason-slider .reason-txt p.no:before {
    content: url("../assets/toppage/icon-no.png");
    position: absolute;
    top: -50px;
    left: 0
}

#page-toppage #top-reason #reason-slider .reason-txt h4,
#page-toppage #top-movie #reason-slider .reason-txt h4 {
    padding-left: 10px
}

#page-toppage #top-reason #reason-slider .reason-txt h4 span.txt,
#page-toppage #top-movie #reason-slider .reason-txt h4 span.txt {
    font-size: 22px;
    font-weight: bold;
    color: #f08200
}

#page-toppage #top-reason #reason-slider .reason-txt a.more,
#page-toppage #top-movie #reason-slider .reason-txt a.more {
    display: inline-block;
    background: #f08200;
    color: #fff;
    padding: 18px 40px;
    margin-top: 20px;
    text-align: center;
    border-radius: 0px 30px 0px 30px;
    transition: .4s
}

#page-toppage #top-reason #reason-slider .reason-txt a.more:hover,
#page-toppage #top-movie #reason-slider .reason-txt a.more:hover {
    opacity: 0.8;
    transition: .4s
}

#page-toppage #top-reason #reason-slider .reason-txt a.more:hover i,
#page-toppage #top-movie #reason-slider .reason-txt a.more:hover i {
    transform: translateX(7px);
    transition: .4s
}

#page-toppage #top-reason #reason-slider .reason-txt a.more i,
#page-toppage #top-movie #reason-slider .reason-txt a.more i {
    color: #fff;
    padding-left: 7px
}

#page-toppage #top-reason #reason-slider .reason-pic,
#page-toppage #top-movie #reason-slider .reason-pic {
    padding-right: 100px;
    text-align: center
}

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

    #page-toppage #top-reason #reason-slider .reason-pic,
    #page-toppage #top-movie #reason-slider .reason-pic {
        padding-right: 10px
    }
}

#page-toppage #top-reason #reason-slider .reason-pic img,
#page-toppage #top-movie #reason-slider .reason-pic img {
    width: auto
}

#page-toppage #top-reason #reason-slider .swiper-nav,
#page-toppage #top-movie #reason-slider .swiper-nav {
    z-index: 10;
    position: absolute;
    top: 40%;
    outline: none;
    cursor: pointer;
    transition: .3s;
    width: 55px;
    height: 55px;
    background: #005e9e;
    text-align: center;
    padding-top: 10px
}

#page-toppage #top-reason #reason-slider .swiper-nav:hover,
#page-toppage #top-movie #reason-slider .swiper-nav:hover {
    transform: scale(1.1)
}

#page-toppage #top-reason #reason-slider .swiper-nav.swiper-button-disabled,
#page-toppage #top-movie #reason-slider .swiper-nav.swiper-button-disabled {
    pointer-events: none;
    opacity: 0.3
}

#page-toppage #top-reason #reason-slider .swiper-nav i,
#page-toppage #top-movie #reason-slider .swiper-nav i {
    color: #fff
}

#page-toppage #top-reason #reason-slider .reason-swiper-prev,
#page-toppage #top-movie #reason-slider .reason-swiper-prev {
    left: -33px
}

@media screen and (min-width: 960px) and (max-width: 1279px) {

    #page-toppage #top-reason #reason-slider .reason-swiper-prev,
    #page-toppage #top-movie #reason-slider .reason-swiper-prev {
        display: none
    }
}

@media screen and (min-width: 600px) and (max-width: 959px) {

    #page-toppage #top-reason #reason-slider .reason-swiper-prev,
    #page-toppage #top-movie #reason-slider .reason-swiper-prev {
        display: none
    }
}

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

    #page-toppage #top-reason #reason-slider .reason-swiper-prev,
    #page-toppage #top-movie #reason-slider .reason-swiper-prev {
        display: none
    }
}

#page-toppage #top-reason #reason-slider .reason-swiper-next,
#page-toppage #top-movie #reason-slider .reason-swiper-next {
    right: -33px
}

@media screen and (min-width: 960px) and (max-width: 1279px) {

    #page-toppage #top-reason #reason-slider .reason-swiper-next,
    #page-toppage #top-movie #reason-slider .reason-swiper-next {
        display: none
    }
}

@media screen and (min-width: 600px) and (max-width: 959px) {

    #page-toppage #top-reason #reason-slider .reason-swiper-next,
    #page-toppage #top-movie #reason-slider .reason-swiper-next {
        display: none
    }
}

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

    #page-toppage #top-reason #reason-slider .reason-swiper-next,
    #page-toppage #top-movie #reason-slider .reason-swiper-next {
        display: none
    }
}

#page-toppage .t-headline {
    display: block;
    text-align: center
}

#page-toppage .t-headline .inner {
    position: relative;
    display: inline-block;
    padding: 0 100px
}

@media screen and (max-width: 599px) {
    #page-toppage .t-headline .inner {
        padding: 0 50px
    }
}

#page-toppage .t-headline .inner::before,
#page-toppage .t-headline .inner::after {
    position: absolute;
    top: 0;
    width: 10px;
    height: 100%;
    content: "";
    border-top: solid 1px #333;
    border-bottom: solid 1px #333
}

#page-toppage .t-headline .inner::before {
    left: 0;
    border-left: solid 1px #333
}

#page-toppage .t-headline .inner::after {
    right: 0;
    border-right: solid 1px #333
}

#page-toppage .t-headline.color-sub .inner::before,
#page-toppage .t-headline.color-sub .inner::after {
    border-color: #111
}

#page-toppage .t-headline.color-accent .inner::before,
#page-toppage .t-headline.color-accent .inner::after {
    border-color: #f2096c
}

#page-toppage .t-headline h2 {
    font-size: 3.6rem;
    line-height: 1
}

@media screen and (max-width: 599px) {
    #page-toppage .t-headline h2 {
        font-size: 2.4rem
    }
}

#page-company .j-center {
    justify-content: center
}

#page-company section.nav-company {
    padding: 60px 0
}

#page-company section.nav-company .row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -5px;
    margin-right: -5px
}

#page-company section.nav-company .row [class*="col-"] {
    display: flex;
    padding-left: 5px;
    padding-right: 5px;
    /* margin-bottom: 10px */
}

#page-company section.nav-company a {
    display: block;
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #efefef;
    border-top: 4px solid #efefef;
    color: #333;
    padding: 25px 10px;
    text-align: center;
    text-decoration: none;
    transition: .4s
}

#page-company section.nav-company a:hover {
    border-top: 4px solid #f2096c;
    color: #f2096c;
    transition: .4s
}

#page-company section.nav-company a.active {
    border-top: 4px solid #f2096c;
    color: #f2096c
}

#page-company section.company-section div.container-inner {
    background: #efefef;
    position: relative;
    padding: 60px 0
}

#page-company section.company-section div.container-inner .profile {
    width: 100%
}

#page-company section.company-section div.container-inner .profile .left {
    padding: 10px;
    color: #f2096c;
    border-top: 1px solid #f2096c
}

#page-company section.company-section div.container-inner .profile .l-end {
    border-bottom: 1px solid #f2096c
}

#page-company section.company-section div.container-inner .profile .right {
    padding: 10px;
    color: #333;
    border-top: 1px solid #fff
}

#page-company section.company-section div.container-inner .profile .r-end {
    border-bottom: 1px solid #fff
}

#page-company section.googlemap {
    padding: 50px 0
}

#page-company section.googlemap .container-inner {
    height: 0;
    overflow: hidden;
    padding-bottom: 46.25%;
    position: relative
}

@media screen and (max-width: 599px) {
    #page-company section.googlemap .container-inner {
        padding-bottom: 56.25%
    }
}

#page-company section.googlemap .container-inner iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%
}

#page-company section.greeting-section div.container-inner {
    background: #efefef;
    position: relative;
    padding: 60px 0
}

#page-company section.greeting-section div.container-inner .gree-txt p.mds {
    font-size: 28px;
    padding: 20px 0 0px 10px;
    margin-bottom: 20px;
    border-bottom: 1px solid #f2096c
}

#page-company section.greeting-section div.container-inner .gree-txt span.name {
    display: block;
    font-size: 28px;
    text-align: right;
    padding: 30px 30px 0 0
}

#page-company section.office-section div.container-inner {
    background: #efefef;
    position: relative;
    padding: 60px 0
}

#page-company section.office-section div.container-inner .office {
    padding: 30px 15px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    background: #fff
}

#page-company section.office-section div.container-inner .office .name {
    font-size: 18px;
    font-weight: bold;
    text-align: right;
    padding-right: 20px
}

@media screen and (max-width: 599px) {
    #page-company section.office-section div.container-inner .office .name {
        text-align: center;
        padding-right: 0
    }
}

#page-company section.office-section div.container-inner .office .address {
    padding-left: 30px;
    font-size: 14px;
    border-left: 1px solid #f2096c;
    padding-bottom: 10px
}

#page-company section.office-section div.container-inner .office .address a.more {
    display: block;
    width: 170px;
    text-align: center;
    padding: 6px 30px;
    margin-top: 10px;
    border-radius: 30px;
    border: 2px solid #cccccc
}

#page-company section.office-section div.container-inner .office .address a.more:hover {
    color: #f2096c
}

#page-company section.area-section div.container-inner {
    background: #efefef;
    position: relative;
    padding: 60px 0
}

#page-company section.area-section div.container-inner .area {
    padding: 30px 15px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    background: #fff
}

#page-company section.area-section div.container-inner .area p {
    padding: 0
}

#page-company section.area-section div.container-inner .area p.title {
    font-size: 1.1em;
    font-weight: bold
}

@media screen and (max-width: 599px) {
    #page-company section.area-section div.container-inner .area p.title {
        font-size: 1.1em
    }
}

#page-company section.area-section div.container-inner .area p.txt {
    padding-bottom: 10px
}

#page-company section.area-section div.container-inner .area div.tel-article {
    width: 100%;
    text-align: center;
    padding: 30px 0 60px
}

#page-company section.area-section div.container-inner .area p.btn-top {
    font-size: 1em;
    font-weight: bold;
    color: #f08200
}

#page-company section.area-section div.container-inner .area a.more {
    display: inline-block;
    background: #f08200;
    color: #fff;
    font-weight: bold;
    padding: 18px 40px;
    text-align: center;
    border-radius: 0px 30px 0px 30px;
    transition: .4s
}

#page-company section.area-section div.container-inner .area a.more:hover {
    opacity: 0.8;
    transition: .4s
}

#page-company section.area-section div.container-inner .area a.more:hover i {
    transform: translateX(7px);
    transition: .4s
}

#page-company section.area-section div.container-inner .area a.more i {
    color: #fff;
    padding-left: 7px
}

#page-company section.area-section div.container-inner .map-area {
    width: 100%;
    padding: 60px 0
}

@media screen and (max-width: 599px) {
    #page-company section.area-section div.container-inner .map-area {
        padding: 30px 0
    }
}

#page-company section.area-section div.container-inner .time-table {
    padding: 60px 0;
    width: 100%;
    max-width: 1000px;
    text-align: center
}

@media screen and (max-width: 599px) {
    #page-company section.area-section div.container-inner .time-table {
        padding: 30px 0
    }
}

#page-company section.area-section div.container-inner .time-table p {
    text-align: center;
    font-size: 26px;
    font-weight: bold;
    letter-spacing: 1.6px;
    line-height: 1.4;
    padding-bottom: 20px
}

#page-company section.area-section div.container-inner .time-table p span {
    display: block;
    font-size: 14px;
    color: #f08200
}

#page-company section.area-section div.container-inner .time-table p.caution {
    font-size: 0.9em;
    font-weight: normal;
    text-align: right;
    padding: 10px;
    letter-spacing: 0px
}

#page-company section.area-section div.container-inner .time-table .reception-schedule {
    width: 100%;
    border-collapse: collapse
}

@media screen and (max-width: 599px) {
    #page-company section.area-section div.container-inner .time-table .reception-schedule {
        font-size: 14px
    }
}

#page-company section.area-section div.container-inner .time-table .reception-schedule th,
#page-company section.area-section div.container-inner .time-table .reception-schedule td {
    border: 1px solid #aaa;
    text-align: center;
    padding: 20px 10px;
    background: #fff
}

#page-company section.area-section div.container-inner .time-table .reception-schedule th {
    background-color: #f08200;
    color: #fff
}

#page-company section.area-section div.container-inner .time-table .reception-schedule .time-column {
    width: 25%
}

@media screen and (max-width: 599px) {
    #page-company section.area-section div.container-inner .time-table .reception-schedule .time-column {
        width: 50%
    }
}

#page-company section.rooms-section div.container-inner {
    background: #efefef;
    position: relative;
    padding: 60px 0
}

#page-company section.rooms-section div.container-inner .office {
    padding: 30px 15px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    background: #fff
}

#page-company section.rooms-section div.container-inner .office .name {
    font-size: 18px;
    font-weight: bold;
    text-align: right;
    padding-right: 20px
}

@media screen and (max-width: 599px) {
    #page-company section.rooms-section div.container-inner .office .name {
        text-align: center;
        padding-right: 0
    }
}

#page-company section.rooms-section div.container-inner .office .address {
    padding-left: 30px;
    font-size: 14px;
    border-left: 1px solid #f2096c;
    padding-bottom: 10px
}

#page-company section.recruit-header {
    padding-bottom: 60px
}

#page-company section.recruit-section div.container-inner {
    background: #efefef;
    position: relative;
    padding: 60px 0
}

#page-company section.recruit-section div.container-inner .ai-box {
    margin: 0px 0 80px;
    position: relative;
    width: 100%
}

#page-company section.recruit-section div.container-inner .ai-box .xs-order-1 {
    z-index: 4
}

#page-company section.recruit-section div.container-inner .ai-box .flex-end {
    justify-content: flex-end
}

#page-company section.recruit-section div.container-inner .ai-box .box {
    padding: 40px 40px 20px;
    background: #fff;
    font-weight: bold
}

@media screen and (max-width: 599px) {
    #page-company section.recruit-section div.container-inner .ai-box .box {
        padding: 40px 10px 20px
    }
}

#page-company section.recruit-section div.container-inner .ai-box .box p.mds {
    border-left: 1px solid #f08200;
    font-size: 1.4rem;
    font-weight: bold;
    padding: 0 0 0 15px;
    margin-bottom: 25px
}

@media screen and (max-width: 599px) {
    #page-company section.recruit-section div.container-inner .ai-box .box p.mds {
        font-size: 1.2rem
    }
}

#page-company section.recruit-section div.container-inner .ai-box .box p.mds span {
    color: #f08200;
    display: block;
    font-size: 14px
}

#page-company section.recruit-section div.container-inner .ai-box .box p.txt {
    padding-bottom: 30px
}

#page-company section.recruit-section div.container-inner .ai-box figure.right {
    position: absolute;
    top: 30px;
    right: 0
}

@media screen and (min-width: 600px) and (max-width: 959px) {
    #page-company section.recruit-section div.container-inner .ai-box figure.right {
        position: static
    }
}

@media screen and (max-width: 599px) {
    #page-company section.recruit-section div.container-inner .ai-box figure.right {
        position: static
    }
}

#page-company section.recruit-section div.container-inner .ai-box figure.left {
    position: absolute;
    top: 30px;
    left: 0
}

@media screen and (min-width: 600px) and (max-width: 959px) {
    #page-company section.recruit-section div.container-inner .ai-box figure.left {
        position: static
    }
}

@media screen and (max-width: 599px) {
    #page-company section.recruit-section div.container-inner .ai-box figure.left {
        position: static
    }
}

#page-company section.recruit-details-section div.container-inner {
    background: #fff;
    position: relative;
    padding: 60px 50px
}

@media screen and (max-width: 599px) {
    #page-company section.recruit-details-section div.container-inner {
        padding: 60px 10px
    }
}

#page-company section.recruit-details-section div.container-inner p.mds {
    font-size: 1.4rem;
    font-weight: bold;
    padding-left: 10px;
    margin-bottom: 40px;
    border-left: 1px solid #f08200
}

#page-company section.recruit-details-section div.container-inner .profile {
    width: 100%;
    line-height: 2.5
}

#page-company section.recruit-details-section div.container-inner .profile span.cl-orange {
    color: #f08200
}

#page-company section.recruit-details-section div.container-inner .profile .left {
    padding: 10px;
    color: #f2096c;
    border-top: 1px solid #f2096c
}

#page-company section.recruit-details-section div.container-inner .profile .l-end {
    border-bottom: 1px solid #f2096c
}

#page-company section.recruit-details-section div.container-inner .profile .right {
    padding: 10px;
    color: #333;
    border-top: 1px solid #efefef
}

#page-company section.recruit-details-section div.container-inner .profile .r-end {
    border-bottom: 1px solid #efefef
}

#page-company section.recruit-details-section div.container-inner a.more {
    display: inline-block;
    background: #f08200;
    color: #fff;
    padding: 18px 40px;
    margin: 40px auto 0px;
    text-align: center;
    border-radius: 0px 30px 0px 30px;
    transition: .4s
}

#page-company section.recruit-details-section div.container-inner a.more:hover {
    opacity: 0.8;
    transition: .4s
}

#page-company section.recruit-details-section div.container-inner a.more:hover i {
    transform: translateX(7px);
    transition: .4s
}

#page-company section.recruit-details-section div.container-inner a.more i {
    color: #fff;
    padding-left: 7px
}

#page-company section.franchise-section div.container-inner {
    background: #efefef;
    position: relative;
    padding: 60px 0
}

#page-company section.franchise-section div.container-inner .ai-box {
    margin: 0px 0 80px;
    position: relative;
    width: 100%
}

#page-company section.franchise-section div.container-inner .ai-box .xs-order-1 {
    z-index: 4
}

#page-company section.franchise-section div.container-inner .ai-box .flex-end {
    justify-content: flex-end
}

#page-company section.franchise-section div.container-inner .ai-box .box {
    padding: 40px 40px 20px;
    background: #fff;
    font-weight: bold
}

@media screen and (max-width: 599px) {
    #page-company section.franchise-section div.container-inner .ai-box .box {
        padding: 40px 10px 20px
    }
}

#page-company section.franchise-section div.container-inner .ai-box .box p.mds {
    border-left: 1px solid #f08200;
    font-size: 1.4rem;
    font-weight: bold;
    padding: 0 0 0 15px;
    margin-bottom: 25px
}

@media screen and (max-width: 599px) {
    #page-company section.franchise-section div.container-inner .ai-box .box p.mds {
        font-size: 1.2rem
    }
}

#page-company section.franchise-section div.container-inner .ai-box .box p.mds span {
    color: #f08200;
    display: block;
    font-size: 14px
}

#page-company section.franchise-section div.container-inner .ai-box .box p.txt {
    padding-bottom: 30px
}

#page-company section.franchise-section div.container-inner .ai-box figure.right {
    position: absolute;
    top: 30px;
    right: 0
}

@media screen and (min-width: 600px) and (max-width: 959px) {
    #page-company section.franchise-section div.container-inner .ai-box figure.right {
        position: static
    }
}

@media screen and (max-width: 599px) {
    #page-company section.franchise-section div.container-inner .ai-box figure.right {
        position: static
    }
}

#page-company section.franchise-section div.container-inner .ai-box figure.left {
    position: absolute;
    top: 30px;
    left: 0
}

@media screen and (min-width: 600px) and (max-width: 959px) {
    #page-company section.franchise-section div.container-inner .ai-box figure.left {
        position: static
    }
}

@media screen and (max-width: 599px) {
    #page-company section.franchise-section div.container-inner .ai-box figure.left {
        position: static
    }
}

#page-company section.franchise-details-section div.container-inner {
    background: #fff;
    position: relative;
    padding: 60px 50px
}

@media screen and (max-width: 599px) {
    #page-company section.franchise-details-section div.container-inner {
        padding: 60px 10px
    }
}

#page-company section.franchise-details-section div.container-inner p.mds {
    font-size: 1.4rem;
    font-weight: bold;
    padding-left: 10px;
    margin-bottom: 40px;
    width: 100%;
    border-left: 1px solid #f08200
}

#page-company section.franchise-details-section div.container-inner .profile {
    width: 100%;
    line-height: 2.5
}

#page-company section.franchise-details-section div.container-inner .profile span.cl-orange {
    color: #f08200
}

#page-company section.franchise-details-section div.container-inner .profile .left {
    padding: 10px;
    color: #f2096c;
    border-top: 1px solid #f2096c
}

#page-company section.franchise-details-section div.container-inner .profile .l-end {
    border-bottom: 1px solid #f2096c
}

#page-company section.franchise-details-section div.container-inner .profile .right {
    padding: 10px;
    color: #333;
    border-top: 1px solid #efefef
}

#page-company section.franchise-details-section div.container-inner .profile .right a {
    color: #333
}

#page-company section.franchise-details-section div.container-inner .profile .right a:hover {
    color: #f08200
}

#page-company section.franchise-details-section div.container-inner .profile .right a i {
    color: #f2096c;
    padding-right: 5px
}

#page-company section.franchise-details-section div.container-inner .profile .r-end {
    border-bottom: 1px solid #efefef
}

#page-company section.policy-section div.container-inner {
    background: #efefef;
    position: relative;
    padding: 60px 0
}

#page-company section.policy-section div.container-inner .policy-fix {
    width: 100%;
    padding: 0 10px
}

#page-company section.policy-section div.container-inner .policy-box {
    padding: 50px;
    margin-bottom: 10px;
    background: #fff
}

#page-company section.policy-section div.container-inner .policy-box p.mds {
    border-left: 1px solid #f08200;
    width: 100%;
    font-size: 1.4rem;
    font-weight: bold;
    padding-left: 10px;
    margin-bottom: 30px
}

#page-company section.policy-section div.container-inner .policy-box p.standard {
    padding-bottom: 20px;
    position: relative
}

#page-company section.policy-section div.container-inner .policy-box p.standard:before {
    position: absolute;
    left: -1em;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f054";
    color: #f08200
}

#page-company section.policy-section div.container-inner .policy-box p.standard span.cl-orange {
    color: #f08200
}

#page-price .j-center {
    justify-content: center
}

#page-price section.price-section {
    margin-top: 60px
}

#page-price section.price-section div.container-inner {
    background: #efefef;
    position: relative;
    padding: 60px 0
}

#page-price section.price-section div.container-inner .policy-fix {
    width: 100%;
    padding: 0 10px
}

#page-price section.price-section div.container-inner .policy-box {
    padding: 50px;
    margin-bottom: 10px;
    background: #fff
}

@media screen and (max-width: 599px) {
    #page-price section.price-section div.container-inner .policy-box {
        padding: 50px 10px
    }
}

#page-price section.price-section div.container-inner .policy-box p.mds {
    border-left: 1px solid #f08200;
    width: 100%;
    font-size: 1.4rem;
    font-weight: bold;
    padding-left: 10px;
    margin-bottom: 30px
}

#page-price section.price-section div.container-inner .policy-box p.mds span.cl-pink {
    color: #f2096c;
    font-weight: bold
}

#page-price section.price-section div.container-inner .policy-box p.cl-pink {
    color: #f2096c;
    font-weight: bold
}

#page-price section.price-section div.container-inner .policy-box span.cl-pink {
    color: #f2096c;
    font-weight: bold
}

#page-price section.price-section div.container-inner .policy-box div.price-img {
    padding: 30px 0 30px
}

#page-price section.price-section div.container-inner .minibox-fix {
    width: 100%;
    padding: 30px 0;
    background: #fff
}

#page-price section.price-section div.container-inner .minibox-fix .mini-box {
    padding-bottom: 0
}

#page-price section.price-section div.container-inner .minibox-fix .mini-box p.minibox-mds {
    color: #f2096c;
    font-weight: bold;
    font-size: 1.2rem;
    border: 1px solid #f2096c;
    text-align: center;
    padding: 10px 0
}

#page-price section.price-section div.container-inner .minibox-fix .mini-box p.minibox-txt {
    border-top: 1px solid #f2096c;
    padding: 15px 0 0;
    margin-top: -1px
}

#page-price section.reason-section {
    margin-top: 110px;
    background: -moz-linear-gradient(left, #fff 0%, #fff 49%, #f7f3e7 50%, #f7f3e7 100%);
    background: -webkit-linear-gradient(left, #fff 0%, #fff 49%, #f7f3e7 50%, #f7f3e7 100%);
    background: linear-gradient(to right, #fff 0%, #fff 49%, #f7f3e7 50%, #f7f3e7 100%)
}

#page-price section.reason-section div.container-inner {
    background: #f7f3e7;
    position: relative;
    padding: 60px 0
}

#page-price section.reason-section div.container-inner .ai-box {
    margin: 0px 0 80px;
    position: relative;
    width: 100%
}

#page-price section.reason-section div.container-inner .ai-box .xs-order-1 {
    z-index: 4
}

#page-price section.reason-section div.container-inner .ai-box .flex-end {
    justify-content: flex-end
}

#page-price section.reason-section div.container-inner .ai-box .box {
    padding: 40px 40px 20px;
    background: #fff;
    font-weight: bold
}

@media screen and (max-width: 599px) {
    #page-price section.reason-section div.container-inner .ai-box .box {
        padding: 40px 10px 20px
    }
}

#page-price section.reason-section div.container-inner .ai-box .box p.mds {
    border-left: 1px solid #f08200;
    font-size: 1.4rem;
    font-weight: bold;
    padding: 0 0 0 15px;
    margin-bottom: 25px
}

@media screen and (max-width: 599px) {
    #page-price section.reason-section div.container-inner .ai-box .box p.mds {
        font-size: 1.2rem
    }
}

#page-price section.reason-section div.container-inner .ai-box .box p.mds span.mini {
    color: #f08200;
    display: block;
    font-size: 14px
}

#page-price section.reason-section div.container-inner .ai-box .box p.mds span.cl-pink {
    color: #f2096c;
    font-weight: bold
}

#page-price section.reason-section div.container-inner .ai-box .box p.txt {
    padding-bottom: 30px
}

#page-price section.reason-section div.container-inner .ai-box figure.right {
    position: absolute;
    top: 30px;
    right: 0
}

@media screen and (min-width: 600px) and (max-width: 959px) {
    #page-price section.reason-section div.container-inner .ai-box figure.right {
        position: static
    }
}

@media screen and (max-width: 599px) {
    #page-price section.reason-section div.container-inner .ai-box figure.right {
        position: static
    }
}

#page-price section.reason-section div.container-inner .ai-box figure.left {
    position: absolute;
    top: 30px;
    left: 0
}

@media screen and (min-width: 600px) and (max-width: 959px) {
    #page-price section.reason-section div.container-inner .ai-box figure.left {
        position: static
    }
}

@media screen and (max-width: 599px) {
    #page-price section.reason-section div.container-inner .ai-box figure.left {
        position: static
    }
}

#page-reason .j-center {
    justify-content: center
}

#page-reason section.reason-section {
    margin-top: 60px
}

#page-reason section.reason-section div.container-inner {
    background: #efefef;
    position: relative;
    padding: 60px 0
}

#page-reason section.reason-section div.container-inner .policy-fix {
    width: 100%;
    padding: 0 10px
}

#page-reason section.reason-section div.container-inner .policy-fix a.more {
    display: inline-block;
    background: #f08200;
    color: #fff;
    padding: 18px 40px;
    margin-top: 20px;
    text-align: center;
    border-radius: 0px 30px 0px 30px;
    transition: .4s
}

#page-reason section.reason-section div.container-inner .policy-fix a.more:hover {
    opacity: 0.8;
    transition: .4s
}

#page-reason section.reason-section div.container-inner .policy-fix a.more:hover i {
    transform: translateX(7px);
    transition: .4s
}

#page-reason section.reason-section div.container-inner .policy-fix a.more i {
    color: #fff;
    padding-left: 7px
}

#page-reason section.reason-section div.container-inner .policy-box {
    padding: 50px;
    margin-bottom: 10px;
    background: #fff
}

@media screen and (max-width: 599px) {
    #page-reason section.reason-section div.container-inner .policy-box {
        padding: 50px 10px
    }
}

#page-reason section.reason-section div.container-inner .policy-box p.mds {
    border-left: 1px solid #f08200;
    width: 100%;
    font-size: 1.4rem;
    font-weight: bold;
    padding-left: 10px;
    margin-bottom: 30px
}

#page-reason section.reason-section div.container-inner .policy-box p.mds span.cl-pink {
    color: #f2096c;
    font-weight: bold
}

#page-reason section.reason-section div.container-inner .policy-box p.cl-pink {
    color: #f2096c;
    font-weight: bold
}

#page-reason section.reason-section div.container-inner .policy-box div.price-img {
    padding: 30px 0 0
}

#page-reason section.reason-section div.container-inner #acMenu {
    margin: 0 auto
}

#page-reason section.reason-section div.container-inner #acMenu dt {
    font-size: 14px;
    text-align: center;
    border: 2px solid #cccccc;
    border-radius: 30px;
    padding: 8px 25px
}

#page-reason section.reason-section div.container-inner #acMenu dd {
    display: none
}

#page-reason section.reason-section div.container-inner div.lawer {
    background: #f7f3e7;
    padding: 30px 20px;
    margin: 30px 0;
    border-right: 3px solid #fff
}

@media screen and (max-width: 599px) {
    #page-reason section.reason-section div.container-inner div.lawer {
        padding: 20px 10px;
        border-right: none
    }
}

#page-reason section.reason-section div.container-inner div.lawer .l-mds img {
    padding-right: 10px
}

#page-reason section.reason-section div.container-inner div.lawer .l-mds p.name {
    padding: 5px 5px 10px;
    margin-bottom: 10px;
    font-weight: bold;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #f2096c;
    font-size: 1.4rem;
    line-height: 1
}

#page-reason section.reason-section div.container-inner div.lawer .l-mds p.name span {
    font-size: 12px;
    padding-right: 10px
}

#page-reason section.reason-section div.container-inner div.lawer .l-mds p.profile {
    font-size: 12px
}

#page-reason section.reason-section div.container-inner div.lawer .l-txt {
    padding-top: 30px;
    font-size: 14px
}

#page-reason section.reason-details-section {
    margin-top: 110px;
    background: -moz-linear-gradient(left, #fff 0%, #fff 49%, #f7f3e7 50%, #f7f3e7 100%);
    background: -webkit-linear-gradient(left, #fff 0%, #fff 49%, #f7f3e7 50%, #f7f3e7 100%);
    background: linear-gradient(to right, #fff 0%, #fff 49%, #f7f3e7 50%, #f7f3e7 100%)
}

#page-reason section.reason-details-section div.container-inner {
    background: #f7f3e7;
    position: relative;
    padding: 60px 0
}

#page-reason section.reason-details-section div.container-inner .ai-box {
    margin: 0px 0 80px;
    position: relative;
    width: 100%
}

#page-reason section.reason-details-section div.container-inner .ai-box .xs-order-1 {
    z-index: 4
}

#page-reason section.reason-details-section div.container-inner .ai-box .flex-end {
    justify-content: flex-end
}

#page-reason section.reason-details-section div.container-inner .ai-box .box {
    padding: 40px 40px 20px;
    background: #fff;
    font-weight: bold
}

@media screen and (max-width: 599px) {
    #page-reason section.reason-details-section div.container-inner .ai-box .box {
        padding: 40px 10px 20px
    }
}

#page-reason section.reason-details-section div.container-inner .ai-box .box p.mds {
    border-left: 1px solid #f08200;
    font-size: 1.4rem;
    font-weight: bold;
    padding: 0 0 0 15px;
    margin-bottom: 25px
}

@media screen and (max-width: 599px) {
    #page-reason section.reason-details-section div.container-inner .ai-box .box p.mds {
        font-size: 1.2rem
    }
}

#page-reason section.reason-details-section div.container-inner .ai-box .box p.mds span.mini {
    color: #f08200;
    display: block;
    font-size: 14px
}

#page-reason section.reason-details-section div.container-inner .ai-box .box p.mds span.cl-pink {
    color: #f2096c;
    font-weight: bold
}

#page-reason section.reason-details-section div.container-inner .ai-box .box p.txt {
    padding-bottom: 30px
}

#page-reason section.reason-details-section div.container-inner .ai-box figure.right {
    position: absolute;
    top: 30px;
    right: 0
}

@media screen and (min-width: 600px) and (max-width: 959px) {
    #page-reason section.reason-details-section div.container-inner .ai-box figure.right {
        position: static
    }
}

@media screen and (max-width: 599px) {
    #page-reason section.reason-details-section div.container-inner .ai-box figure.right {
        position: static
    }
}

#page-reason section.reason-details-section div.container-inner .ai-box figure.left {
    position: absolute;
    top: 30px;
    left: 0
}

@media screen and (min-width: 600px) and (max-width: 959px) {
    #page-reason section.reason-details-section div.container-inner .ai-box figure.left {
        position: static
    }
}

@media screen and (max-width: 599px) {
    #page-reason section.reason-details-section div.container-inner .ai-box figure.left {
        position: static
    }
}

#page-lawyer section.reason-section {
    margin-top: 60px
}

#page-lawyer section.reason-section div.container-inner {
    background: #efefef;
    position: relative;
    padding: 60px 0
}

#page-lawyer section.reason-section div.container-inner .policy-fix {
    width: 100%;
    padding: 0 10px
}

#page-lawyer section.reason-section div.container-inner .policy-box {
    padding: 50px;
    margin-bottom: 10px;
    background: #fff
}

@media screen and (max-width: 599px) {
    #page-lawyer section.reason-section div.container-inner .policy-box {
        padding: 50px 10px
    }
}

#page-lawyer section.reason-section div.container-inner .policy-box p.mds {
    border-left: 1px solid #f08200;
    width: 100%;
    font-size: 1.4rem;
    font-weight: bold;
    padding-left: 10px;
    margin-bottom: 30px
}

#page-lawyer section.reason-section div.container-inner .policy-box p.mds span.cl-pink {
    color: #f2096c;
    font-weight: bold
}

#page-lawyer section.reason-section div.container-inner .policy-box p.cl-pink {
    color: #f2096c;
    font-weight: bold
}

#page-lawyer section.reason-section div.container-inner .policy-box div.price-img {
    padding: 30px 0 0
}

#page-lawyer section.reason-section div.container-inner .lawyer-box {
    padding: 60px 0 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-end
}

@media screen and (max-width: 599px) {
    #page-lawyer section.reason-section div.container-inner .lawyer-box {
        justify-content: flex-start
    }
}

#page-lawyer section.reason-section div.container-inner .lawyer-box a {
    color: #000;
    transition: 0.3s;
    margin: 0 15px 30px
}

#page-lawyer section.reason-section div.container-inner .lawyer-box a:hover {
    transform: translateY(-5px)
}

@media screen and (min-width: 600px) and (max-width: 959px) {
    #page-lawyer section.reason-section div.container-inner .lawyer-box a {
        margin: 0 0 30px;
        flex-basis: 20%
    }
}

@media screen and (max-width: 599px) {
    #page-lawyer section.reason-section div.container-inner .lawyer-box a {
        margin: 0 0 30px;
        flex-basis: 33.333%
    }
}

@media screen and (min-width: 600px) and (max-width: 959px) {
    #page-lawyer section.reason-section div.container-inner .lawyer-box a img {
        padding: 0 5px
    }
}

@media screen and (max-width: 599px) {
    #page-lawyer section.reason-section div.container-inner .lawyer-box a img {
        padding: 0 5px
    }
}

#page-lawyer section.reason-section div.container-inner .lawyer-box p.name {
    padding-top: 10px;
    font-weight: bold;
    font-size: 1.2rem;
    line-height: 1;
    text-align: center
}

#page-lawyer section.reason-section div.container-inner .lawyer-box p.name span {
    font-size: 12px;
    padding-bottom: 5px;
    display: block
}

section.lawyer-modal {
    transform: none !important
}

section.lawyer-modal .modal,
section.lawyer-modal .lawyer-popup,
section.lawyer-modal .js-modal {
    display: none;
    height: 100vh;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 106
}

/* Popup chuyển vào body để luôn cố định giữa viewport (không bị kéo theo scroll) */
body>.lawyer-popup,
body>.js-modal {
    left: 0;
    height: 100vh;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 9999
}

body>.lawyer-popup .modal__bg,
body>.js-modal .modal__bg {
    background: rgba(0, 0, 0, 0.8);
    height: 100vh;
    position: absolute;
    width: 100%
}

body>.lawyer-popup .modal__content,
body>.js-modal .modal__content {
    background: #f7f3e7;
    left: 50%;
    padding: 40px;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 90%
}

@media screen and (min-width: 600px) and (max-width: 959px) {

    body>.lawyer-popup .modal__content,
    body>.js-modal .modal__content {
        padding: 10px 5px;
        width: 98%
    }
}

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

    body>.lawyer-popup .modal__content,
    body>.js-modal .modal__content {
        padding: 10px 5px;
        width: 98%
    }
}

body>.lawyer-popup .modal__close,
body>.js-modal .modal__close {
    position: absolute;
    top: 0;
    right: 0;
    padding: 3px 5px;
    background: #f2096c;
    color: #fff
}

body>.lawyer-popup .l-mds p.name,
body>.js-modal .l-mds p.name {
    padding: 5px 5px 10px;
    margin-bottom: 10px;
    font-weight: bold;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #f2096c;
    font-size: 1.4rem;
    line-height: 1
}

body>.lawyer-popup .l-mds p.name span,
body>.js-modal .l-mds p.name span {
    font-size: 12px;
    padding-right: 10px
}

body>.lawyer-popup .l-mds p.profile,
body>.js-modal .l-mds p.profile {
    font-size: 12px
}

body>.lawyer-popup .l-txt,
body>.js-modal .l-txt {
    padding-top: 30px;
    font-size: 14px
}

section.lawyer-modal .modal__bg {
    background: rgba(0, 0, 0, 0.8);
    height: 100vh;
    position: absolute;
    width: 100%
}

section.lawyer-modal .modal__content {
    background: #f7f3e7;
    left: 50%;
    padding: 40px;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 90%
}

@media screen and (min-width: 600px) and (max-width: 959px) {
    section.lawyer-modal .modal__content {
        padding: 10px 5px;
        width: 98%
    }
}

@media screen and (max-width: 599px) {
    section.lawyer-modal .modal__content {
        padding: 10px 5px;
        width: 98%
    }
}

section.lawyer-modal .modal__close {
    position: absolute;
    top: 0;
    right: 0;
    padding: 3px 5px;
    background: #f2096c;
    color: #fff
}

section.lawyer-modal .l-mds p.name {
    padding: 5px 5px 10px;
    margin-bottom: 10px;
    font-weight: bold;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #f2096c;
    font-size: 1.4rem;
    line-height: 1
}

section.lawyer-modal .l-mds p.name span {
    font-size: 12px;
    padding-right: 10px
}

section.lawyer-modal .l-mds p.profile {
    font-size: 12px
}

@media screen and (min-width: 600px) and (max-width: 959px) {
    section.lawyer-modal .l-mds p.profile {
        max-height: 30vh;
        overflow: scroll
    }
}

@media screen and (max-width: 599px) {
    section.lawyer-modal .l-mds p.profile {
        max-height: 20vh;
        overflow: scroll
    }
}

section.lawyer-modal .l-txt {
    padding-top: 30px;
    font-size: 14px
}

@media screen and (min-width: 600px) and (max-width: 959px) {
    section.lawyer-modal .l-txt {
        padding-top: 20px;
        font-size: 14px;
        max-height: 50vh;
        overflow: scroll
    }
}

@media screen and (max-width: 599px) {
    section.lawyer-modal .l-txt {
        padding-top: 10px;
        font-size: 12px;
        max-height: 40vh;
        overflow: scroll
    }
}

#page-qa .j-center {
    justify-content: center
}

#page-qa section.qa-section {
    margin-top: 60px
}

#page-qa section.qa-section div.container-inner {
    background: #efefef;
    position: relative;
    padding: 60px 0
}

#page-qa section.qa-section div.container-inner #qa-acMenu {
    width: 100%;
    padding: 0 10px 60px
}

#page-qa section.qa-section div.container-inner #qa-acMenu dt {
    background: #fff;
    width: 100%;
    margin: 15px auto 0;
    font-size: 1.2rem;
    font-weight: bold;
    padding: 30px 10px 0px;
    text-align: center;
    border-bottom: 1px solid #f2096c
}

#page-qa section.qa-section div.container-inner #qa-acMenu dt i {
    display: block;
    color: #f08200;
    padding: 15px 0 10px;
    margin: 0 auto
}

#page-qa section.qa-section div.container-inner #qa-acMenu dd {
    /* display: none; */
    background: #fff;
    width: 100%;
    margin: 0 auto;
    padding: 30px 10px;
    text-align: center
}

#page-qa section.qa-section div.container-inner .policy-fix {
    width: 100%;
    padding: 0 10px
}

#page-qa section.qa-section div.container-inner .policy-box {
    padding: 50px;
    margin-bottom: 10px;
    background: #fff
}

@media screen and (max-width: 599px) {
    #page-qa section.qa-section div.container-inner .policy-box {
        padding: 50px 20px
    }
}

#page-qa section.qa-section div.container-inner .policy-box p.mds {
    border-left: 1px solid #f08200;
    width: 100%;
    font-size: 1.4rem;
    font-weight: bold;
    padding-left: 10px;
    margin-bottom: 30px
}

#page-qa section.qa-section div.container-inner .policy-box p.cl-pink {
    color: #f2096c;
    font-weight: bold;
    padding-bottom: 15px
}

#page-qa section.qa-section div.container-inner .policy-box p.standard {
    padding-bottom: 10px;
    position: relative
}

#page-qa section.qa-section div.container-inner .policy-box p.standard:before {
    position: absolute;
    left: -1em;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f14a";
    color: #f08200
}

#page-qa section.qa-section div.container-inner .policy-box p.standard span.cl-orange {
    color: #f08200
}

#page-contact .j-center {
    justify-content: center
}

#page-contact section.contact-section {
    padding-top: 60px
}

#page-contact section.contact-section div.container-inner {
    background: #fff;
    position: relative;
    padding: 60px 10px
}

#page-contact section.contact-section div.container-inner p.mds {
    font-size: 1.4rem;
    font-weight: bold;
    padding-left: 10px;
    margin-bottom: 40px;
    width: 100%;
    border-left: 1px solid #f08200
}

#page-contact section.contact-section div.container-inner .profile {
    width: 100%;
    line-height: 2.5
}

#page-contact section.contact-section div.container-inner .profile span.cl-orange {
    color: #f08200
}

#page-contact section.contact-section div.container-inner .profile .left {
    padding: 10px;
    color: #f2096c;
    border-top: 1px solid #f2096c
}

#page-contact section.contact-section div.container-inner .profile .l-end {
    border-bottom: 1px solid #f2096c
}

#page-contact section.contact-section div.container-inner .profile .right {
    padding: 10px;
    color: #333;
    border-top: 1px solid #efefef
}

#page-contact section.contact-section div.container-inner .profile .right a {
    color: #333
}

#page-contact section.contact-section div.container-inner .profile .right a:hover {
    color: #f08200
}

#page-contact section.contact-section div.container-inner .profile .right a i {
    color: #f2096c;
    padding-right: 5px
}

#page-contact section.contact-section div.container-inner .profile .r-end {
    border-bottom: 1px solid #efefef
}

.fa-chevron-down:before {
    content: "\f078";
}

.fa-classic,
.fa-regular,
.fa-solid,
.far,
.fas {
    font-family: "Font Awesome 6 Free";
}

.l-mds-name-row {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 10px;
}

.l-mds-name-row .name {
    margin: 0;
}

.lawyer-intro-link {
    font-size: 1.4rem;
    color: rgb(var(--rd--c--text));
    text-decoration: underline !important;
    padding: 5px 5px 10px;
    margin-bottom: 10px;
    white-space: nowrap;
}

.lawyer-intro-link:hover {
    text-decoration: underline;
}


#Contact {
    width: 100%;
}

form#mail_form * {
    margin: 0;
    padding: 0;
}

form#mail_form {
    width: 100%;
    margin: 0px auto;
    padding: 10px 0;
    background: #ffffff;
    border-top: 1px solid #cccccc;
    font-size: 95%;
    line-height: 1.8;
}

form#mail_form dl {
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
}

form#mail_form dl div.flex {
    align-items: center;
}

form#mail_form dl div.flex:nth-child(odd) {
    background: #f7f5f0;
}

form#mail_form dl div.flex:nth-child(even) {
    background: #fff;
}

form#mail_form dl dt {
    clear: both;
    width: 30%;
    float: left;
    border-top: 1px solid #cccccc;
    padding: 10px 0 10px 1em;
    text-align: left;
    overflow: hidden;
}

form#mail_form dl dd {
    width: 65%;
    float: right;
    border-top: 1px solid #cccccc;
    padding: 10px 0 10px 5%;
}

form#mail_form dl dt:first-child,
form#mail_form dl dt:first-child+dd {
    border: none;
}

form#mail_form dl dt span {
    display: block;
    font-size: 85%;
    color: #3377ff;
}


/* -- for JavaScript ここから -------------------------------------------------------------------------------- */

form#mail_form dl dt span.required,
form#mail_form dl dt span.optional {
    display: inline-block;
    float: right;
    color: #ffffff;
    padding: 2px 10px;
    border-radius: 3px;
}

form#mail_form dl dt span.required {
    background: #f2096c;
}

form#mail_form dl dt span.optional {
    background: #337ab7;
    border: 1px solid #2e6da4;
    display: none !important;
}

form#mail_form dl dd span.error_blank,
form#mail_form dl dd span.error_format,
form#mail_form dl dd span.error_match {
    display: block;
    color: #ff0000;
    margin-top: 3px;
}


span.loading {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border-top: 5px solid rgba(255, 255, 255, 0.2);
    border-right: 5px solid rgba(255, 255, 255, 0.2);
    border-bottom: 5px solid rgba(255, 255, 255, 0.2);
    border-left: 5px solid #ffffff;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-animation: load-circle 1.0s linear infinite;
    animation: load-circle 1.0s linear infinite;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -30px;
    margin-left: -30px;
}

@-webkit-keyframes load-circle {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes load-circle {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}


/* -- for JavaScript ここまで -------------------------------------------------------------------------------- */


form#mail_form input[type="text"],
form#mail_form input[type="email"],
form#mail_form input[type="tel"] {
    max-width: 90%;
    padding: 7px 2%;
    border: 1px solid #cccccc;
    border-radius: 3px;
    background: #fafafa;
    -webkit-appearance: none;
    font-size: 100%;
    font-family: inherit;
    margin-top: 7px;
}

form#mail_form input[type="text"]:focus,
form#mail_form input[type="email"]:focus,
form#mail_form input[type="tel"]:focus,
form#mail_form textarea:focus {
    box-shadow: 0px 0px 5px #55ccff;
    border: 1px solid #55ccff;
    background: #ffffff;
}

form#mail_form ul li input[type="radio"],
form#mail_form ul li input[type="checkbox"] {
    margin-right: 10px;
    margin-top: 10px;
}

form#mail_form ul li:first-child input[type="radio"],
form#mail_form ul li:first-child input[type="checkbox"] {
    margin-top: 0px;
}

form#mail_form select {
    font-size: 100%;
    font-family: inherit;
    margin-top: 10px;
}

form#mail_form textarea {
    display: block;
    width: 90%;
    max-width: 90%;
    height: 200px;
    padding: 7px 2%;
    resize: vertical;
    border: 1px solid #cccccc;
    border-radius: 3px;
    background: #fafafa;
    -webkit-appearance: none;
    font-size: 100%;
    font-family: inherit;
}


form#mail_form ul {
    list-style-type: none;
}

form#mail_form ul li label:hover {
    cursor: pointer;
}


form#mail_form input#company {
    width: 60%;
}

form#mail_form input#name_1,
form#mail_form input#name_2,
form#mail_form input#read_1,
form#mail_form input#read_2,
form#mail_form input#postal,
form#mail_form input#phone,
form#mail_form input#schedule {
    width: 30%;
}

form#mail_form input#mail_address,
form#mail_form input#mail_address_confirm {
    width: 80%;
}

form#mail_form input#postal+a {
    display: inline-block;
    padding: 5px 15px;
    border: 1px solid #46b8da;
    border-radius: 3px;
    background: #5bc0de;
    font-size: 100%;
    color: #ffffff;
    text-decoration: none;
}

form#mail_form input#postal+a:hover {
    cursor: pointer;
    background: #31b0d5;
    border: 1px solid #269abc;
}

form#mail_form input#address {
    width: 90%;
}


form#mail_form p#form_submit {
    width: 100%;
    margin: 0 auto;
    text-align: center;
    padding: 40px 0 0;
    border-top: 1px solid #cccccc;
}

form#mail_form input[type="button"] {
    padding: 20px 60px 20px;
    border-bottom: 4px solid #80093c;
    border-radius: 30px;
    background: #f2096c;
    font-size: 100%;
    font-weight: bold;
    color: #ffffff;
    font-family: inherit;
    -webkit-appearance: none;
    transition: .4s;
}

form#mail_form input[type="button"]:hover {
    cursor: pointer;
    opacity: 0.8;
}










/* -- responsive ----------------------------------------------------------------------------------------------------------------- */

/* 1000pixel start */
@media screen and (max-width: 1000px) {

    form#mail_form textarea {
        width: 100%;
        max-width: 100%;
    }

    form#mail_form {
        width: 95%;
        font-size: 100%;
    }

    form#mail_form dl {
        overflow: visible;
    }

    form#mail_form dl dt {
        width: 100%;
        float: none;
        text-align: left;
        padding: 15px 0 5px;
        font-weight: bold;
    }

    form#mail_form dl dd {
        width: auto;
        float: none;
        border-top: none;
        padding: 0px 0 20px 0px;
    }

    form#mail_form dl dt span {
        font-weight: normal;
    }


    /* -- for JavaScript ここから -------------------------------------------------------------------------------- */

    form#mail_form dl dt span.required,
    form#mail_form dl dt span.optional {
        margin-right: 1em;
        margin-bottom: 2em;
    }


    /* -- for JavaScript ここまで -------------------------------------------------------------------------------- */

    form#mail_form input[type="text"],
    form#mail_form input[type="email"],
    form#mail_form input[type="tel"] {
        margin-top: 0px;
    }

    form#mail_form input#postal+a {
        padding: 6px 15px 5px;
    }



    form#mail_form select {
        font-size: 16px;
        margin-top: 0;
    }

    form#mail_form input#phone,
    form#mail_form input#schedule {
        width: 50%;
    }

}

/* 1000pixel end */

#header-nav.is-position-bottom {
    justify-content: center !important;
}

#header-nav.is-position-bottom .header-nav {
    padding: 0 !important;
}

#main {
    width: 1200px !important;
}

.container-reviews-youtube {
    /* background: linear-gradient(to right, #FFFBE6 0%, #FFFBE6 60%, #ffffff 100%); */
    background: #FFFBE6;
}

.reviews {
    max-width: 1200px;
    margin: 0 auto;
    padding: 60px 30px 100px;
}

.reviews-title {
    text-align: center;
    max-width: 850px;
    margin: 0 auto;
    margin-bottom: 60px;
}

.reviews-title .mds {
    padding: 25px 10px 10px;
    font-size: 32px;
    font-weight: bold;
    text-align: center;
    line-height: 1.5;
}

.reviews-title .divider {
    width: 65px;
    height: 10px;
    margin: 0 auto 30px;
    background: #fcdb00;
}

.container_reviews .mds {
    padding: 25px 10px 10px;
    font-size: 32px;
    font-weight: bold;
    text-align: center;
    line-height: 1.5;
}

.container_reviews .divider {
    width: 65px;
    height: 10px;
    margin: 0 auto 30px;
    background: #fcdb00;
}

.reviews-title .txt {
    padding: 0 10px;
    font-size: 16px;
    line-height: 1.5;
    text-align: center;
    font-weight: 400;
    color: #1C1C1C;
}

.youtube-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

.youtube-item {
    /* text-align: center; */
}

.youtube-wrapper {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    /* 16:9 Aspect Ratio */
    margin-bottom: 15px;
}

.youtube-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* border-radius: 10px; */
}

.youtube-thumbnail {
    width: 100%;
    height: auto;
    border-radius: 10px;
    margin-bottom: 15px;
}

.youtube-description {
    /* font-family: Noto Sans JP; */
    font-weight: 500;
    font-size: 24px;
    line-height: 150%;
    color: #000000;
    /* text-align: center; */
}

.youtube-item-header {
    background: linear-gradient(360deg, rgba(255, 255, 255, 0) -18.75%, #21202066 100%);
    height: 50px;
    border-radius: 0 30px 0 0;
}

.youtube-item-content {
    background: linear-gradient(179deg, rgba(255, 255, 255, 0) 9.46%, #00000059 100%);
    height: 130px;
    display: flex;
    align-items: flex-end;
    border-radius: 0 0 0 30px;
    padding: 25px;
}

.youtube-button {
    text-align: center;
    margin-top: 50px;
}

.youtube-button-link {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    background: #EE8300;
    color: #fff;
    text-decoration: none;
    padding: 15px 30px;
    border-radius: 0 30px 0 30px;
    /* font-family: Noto Sans JP; */
    font-size: 20px;
    font-weight: 500;
    transition: all 0.3s ease;
    min-width: 200px;
}

.youtube-button-link:hover {
    opacity: 0.8;
}

.youtube-button-link svg {
    margin-left: 20px;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .youtube-grid {
        grid-template-columns: repeat(1, 1fr);
    }

    .youtube-container {
        padding: 0 15px;
    }

    .youtube-title {
        margin-bottom: 20px;
    }

    .youtube-item-header {
        /* border-radius: 10px 10px 0 0; */
        /* height: 150px; */
        border-radius: 0 50px 0 0;
    }

    .youtube-item-content {
        /* border-radius: 0 0 10px 10px; */
        height: auto;
        border-radius: 0 0 0 50px;
    }

    .youtube-description {
        font-size: 24px;
    }

    .reviews {
        padding: 60px 10px;
    }

    .youtube-button-link {
        padding: 10px 20px !important;
    }
}

/* Customer Voices Section */
.customer-voices-section {
    /* background-color: #f7f7f7; */
    max-width: 1200px;
    margin: 0 auto;
    padding: 60px 0;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}

.customer-voices-section .container {
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
    padding: 0 20px;
}

.section-title {
    font-size: 48px;
    color: #410226;
    margin-bottom: 10px;
    position: relative;
    display: inline-block;
    text-align: center;
    width: 100%;
}

.customer-voices-section .section-title {
    margin: 0;
}

.section-title .underline {
    display: block;
    width: 10%;
    height: 4px;
    background-color: #EC008C;
    margin: 35px auto 0;
    border-radius: 2px;
}

.section-description {
    font-size: 1.1em;
    color: #555;
    margin-bottom: 30px;
    text-align: center;
    width: 100%;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

/* Filter Buttons */
.filter-buttons {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin: 40px auto;
    flex-wrap: wrap;
    width: 530px;
    /* background: #fff; */
    padding: 8px;
    border-radius: 15px;
    /* box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); */
    border: 1px solid #E0E2E7;
}

.filter-btn {
    background-color: transparent;
    border: none;
    padding: 15px 10px;
    border-radius: 10px;
    font-size: 18px;
    cursor: pointer;
    transition: all 0.3s ease;
    color: #333;
    font-weight: 500;
}

.filter-btn.active {
    background-color: #EE8300;
    color: #fff;
}

.filter-btn:hover:not(.active) {
    background-color: #f5f5f5;
}

/* Testimonials Grid */
.testimonials-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin: 50px auto;
    max-width: 1200px;
}

.testimonial-card {
    background-color: #E6EFF5;
    border-radius: 0 30px 0 30px;
    padding: 30px;
    text-align: left;
    /* position: relative; */
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 250px;
}

.testimonial-card .quote-icon {
    position: relative;
    display: flex;
    align-items: center;
}

.testimonial-card .stars {
    margin-top: 0;
    /* margin-bottom: 15px; */
    color: #ffd700;
    font-size: 1.2em;
    letter-spacing: 2px;
}

.testimonial-card .header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

.testimonial-card .testimonial-text {
    font-size: 20px;
    color: #101828;
    line-height: 150%;
    font-weight: 500;
    flex-grow: 1;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    /* -webkit-line-clamp: 5; */
    overflow: hidden;
    /* Allows text to take up available space */
}

.customer-voices-section .testimonial-card .testimonial-text {
    -webkit-line-clamp: 5;
    line-clamp: 5;
}

.testimonial-card .customer-info {
    display: flex;
    align-items: center;
    /* margin-top: 20px; */
    gap: 15px;
}

.customer-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    padding: 5px;
    object-fit: cover;
    /* border: 2px solid #ddd; */
    background: #FFFFFF;
}

.customer-details {
    text-align: left;
    display: grid;
    align-items: center;
    gap: 10px;
}

.customer-details p {
    display: inline-block;
    margin: 0;
}

.customer-name {
    font-weight: bold;
    color: #333;
    font-size: 1em;
}

.customer-location {
    font-size: 0.85em;
    color: #777;
    /* padding-left: 10px;
    border-left: 1px solid #ddd; */
}

/* Card Corner Shape */
.card-corner-shape {
    position: absolute;
    bottom: -30px;
    /* Adjust to hide part of the circle */
    right: -30px;
    /* Adjust to hide part of the circle */
    width: 80px;
    /* Size of the circle */
    height: 80px;
    background-color: #EC008C;
    /* Light pink/purple */
    border-radius: 50%;
    z-index: 0;
    /* Behind content */
}

#line-content .card-corner-shape {
    background-color: #1CBA1E;
}

#line-content .testimonial-card {
    background-color: #E8F8E9;
}

.testimonial-card .quote-icon img {
    width: 40px;
    height: 40px;
    object-fit: contain;
}


/* View More Button */
.view-more-button-container {
    text-align: center;
    margin: 40px auto;
    max-width: 610px;
    background: #fff;
    padding: 8px;
    border-radius: 100px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.view-more-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    background-color: #EC008C;
    color: #fff;
    padding: 15px 40px;
    border-radius: 100px;
    text-decoration: none;
    font-size: 18px;
    font-weight: 500;
    transition: all 0.3s ease;
}

.view-more-btn:hover {
    opacity: 0.9;
}

.view-more-btn .arrow-icon {
    font-size: 1.2em;
}


.tab-content-review {
    display: none;
}

.tab-content-review.active {
    display: grid;
}

#youtube-content {
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

#youtube-content .review-youtube-item {
    display: flex;
    flex-direction: column;
    background: #FFFBE6;
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    padding-bottom: 20px;
}

#youtube-content .review-youtube-wrapper {
    position: relative;
    width: 100%;
    height: auto;
    /* background: #FFFFFF; */
    border-radius: 20px;
    overflow: hidden;
    margin-bottom: 0;
    padding-bottom: 0;
}

#youtube-content .review-youtube-item-header {
    height: 50px;
    /* background: #F8F8F8; */
    display: flex;
    align-items: center;
    padding: 0 20px;
    margin-top: auto;
}

#youtube-content .review-youtube-item-header img {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    margin-right: 10px;
}

#youtube-content .review-youtube-item-header p {
    font-size: 14px;
    color: #333333;
    margin: 0;
}

#youtube-content .review-youtube-wrapper iframe {
    position: relative;
    width: 90%;
    height: 200px;
    margin-top: 20px;
    border: none;
    border-radius: 10px;
}

#youtube-content .review-youtube-item-title {
    padding: 15px 0 0 15px;
    font-size: 20px;
    line-height: 150%;
    color: #101828;
    font-weight: 700;
    margin: 0;
    text-align: left;
}

#youtube-content .card-corner-shape {
    position: absolute;
    bottom: -30px;
    right: -30px;
    width: 80px;
    height: 80px;
    background-color: #F04438;
    border-radius: 50%;
    z-index: 0;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .section-title {
        font-size: 2em;
        margin: 0;
    }

    .section-description {
        font-size: 1em;
        line-height: 150%;
        margin: 0;
    }

    .filter-buttons {
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        gap: 10px;
        flex-wrap: nowrap;
        overflow-x: auto;
        padding: 0 10px;
    }

    .filter-btn {
        width: auto;
        min-width: 120px;
        max-width: none;
        flex: 0 0 auto;
        padding: 10px 0;
        font-size: 16px;
    }

    /* Sửa lại phần này để hiển thị ngang và scroll */
    .testimonials-grid.active {
        /* display: flex !important; */
        flex-direction: row;
        overflow-x: auto;
        gap: 20px;
        max-width: 100vw;
        padding: 10px;

    }

    .testimonial-card,
    #line-content .testimonial-card,
    #google-content .testimonial-card {
        /* min-width: 270px;
        max-width: 80vw; */
        flex: 0 0 auto;
    }

    .review-youtube-item {
        /* min-width: 270px;
        max-width: 80vw; */
        flex: 0 0 auto;
    }

    .testimonial-card {
        padding: 25px;
        min-height: auto;
    }

    .customer-voices-section {
        padding: 40px 15px;
    }

    /* Ẩn scrollbar để giao diện đẹp hơn */
    .testimonials-grid.active::-webkit-scrollbar {
        display: none;
    }

    .testimonials-grid.active {
        -ms-overflow-style: none;
        scrollbar-width: none;
    }

    /* Ẩn scrollbar cho filter buttons */
    .filter-buttons::-webkit-scrollbar {
        display: none;
    }

    .filter-buttons {
        -ms-overflow-style: none;
        scrollbar-width: none;
        padding: 10px;
        gap: 5px;
        width: 100%;
    }

    .customer-voices-section .container {
        padding: 0;
    }
}



/* page youtube */

.company-profile-section .section-title {
    display: none;
}

.section-title {
    font-size: 48px;
    color: #410226;
    margin-bottom: 10px;
    position: relative;
    display: inline-block;
    text-align: center;
    border-left: none;
    width: 100%;
}

.section-title .underline {
    display: block;
    width: 10%;
    height: 4px;
    background-color: #EC008C;
    margin: 35px auto 0;
    border-radius: 2px;
}

.profile-value {
    background-color: #F4F4F4;
}

.company-profile-section {
    background-color: #FFFFFF;
}

.lawyer-container-qa {
    width: 100%;
    position: relative;
    background-color: #FFFFFF;
}

.sare-tsuma-youtube {
    padding: 50px 0;
}

.youtube-container {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 20px !important;
}

.youtube-title {
    text-align: center;
    margin-bottom: 40px;
    display: inline-block;
    padding: 10px 30px;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}

.youtube-title h2 {
    font-family: Noto Serif JP;
    font-weight: 700;
    font-size: 32px;
    color: #410226;
    margin: 0;
}

.youtube-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}


.youtube-wrapper {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    /* 16:9 Aspect Ratio */
    margin-bottom: 15px;
}

.youtube-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* border-radius: 10px; */
}

.youtube-thumbnail {
    width: 100%;
    height: auto;
    border-radius: 10px;
    margin-bottom: 15px;
}


/* .youtube-item-header {
    background: linear-gradient(360deg, rgba(255, 255, 255, 0) -18.75%, #212020cf 100%);
    height: 215px;
    border-radius: 10px 10px 0 0;
}

.youtube-item-content {
    background: linear-gradient(179deg, rgba(255, 255, 255, 0) 9.46%, #000000bf 100%);
    height: 215px;
    display: flex;
    align-items: flex-end;
    border-radius: 0 0 10px 10px;
} */

.youtube-button {
    text-align: center;
    margin-top: 50px;
}

/* Pagination Styles */
.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin-top: 50px;
    flex-wrap: wrap;
}

.pagination a,
.pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border-radius: 8px;
    text-decoration: none;
    font-family: Noto Sans JP;
    font-size: 16px;
    font-weight: 500;
    transition: all 0.3s ease;
    border: 2px solid transparent;
}

.pagination a {
    background-color: #FFFFFF;
    color: #EE8300;
    border-color: #E0E0E0;
}

.pagination a:hover {
    background-color: #EE8300;
    color: #FFFFFF;
    border-color: #EE8300;
}

.pagination .current-page {
    background-color: #EE8300;
    color: #FFFFFF;
    border-color: #EE8300;
}

.pagination .arrow {
    position: relative;
    min-width: 40px;
}

.pagination .arrow.first-page::before {
    content: "«";
    font-size: 18px;
}

.pagination .arrow.prev-page::before {
    content: "‹ 前へ";
    font-size: 20px;
    font-weight: 400;
}

.pagination .arrow.next-page::before {
    content: "次へ ›";
    font-size: 20px;
    font-weight: 400;
}

.pagination .arrow.last-page::before {
    content: "»";
    font-size: 18px;
    font-weight: 400;
}

.pagination .ellipsis {
    color: #666;
    background: none;
    border: none;
    min-width: 20px;
}

/* Responsive */
@media (max-width: 768px) {
    .pagination {
        gap: 5px;
    }

    .pagination a,
    .pagination span {
        min-width: 35px;
        height: 35px;
        padding: 0 8px;
        font-size: 14px;
    }

    .section-title {
        line-height: 150%;
    }

    .youtube-grid {
        grid-template-columns: repeat(1, 1fr);
    }
}


/* page review */
/* Pagination styles */
.pagination {
    display: flex;
    justify-content: center;
    margin-top: 20px;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 50px;
}

.pagination a,
.pagination span {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border-radius: 8px;
    text-decoration: none;
    color: #333;
    border: 1px solid #ddd;
    background-color: #fff;
    transition: all 0.3s ease;
    font-size: 14px;
    font-weight: 500;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.pagination a:hover {
    background-color: #f8f9fa;
    border-color: #EE8300;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.pagination .current-page {
    background-color: #EE8300;
    color: white;
    border-color: #EE8300;
    font-weight: bold;
    box-shadow: 0 4px 8px rgba(236, 0, 140, 0.3);
}

.pagination .arrow {
    font-size: 16px;
    font-weight: bold;
}

.pagination .arrow.first-page::before {
    content: "≪";
}

.pagination .arrow.prev-page::before {
    content: "‹ 前へ";
}

.pagination .arrow.next-page::before {
    content: "次へ ›";
}

.pagination .arrow.last-page::before {
    content: "≫";
}

.pagination .ellipsis {
    border: none;
    background: none;
    box-shadow: none;
    color: #666;
    font-weight: bold;
}

/* Hide all pagination by default */
.pagination {
    display: none;
}

/* Show pagination for active tab */
.pagination.active {
    display: flex;
}

/* No reviews message */
.no-reviews {
    grid-column: 1 / -1;
    text-align: center;
    padding: 50px 20px;
    color: #666;
    font-size: 18px;
}

/* Lazy Loading */
.lazy {
    /* opacity: 0; */
    transition: opacity 0.3s ease;
}

.lazy.lazy-loaded {
    opacity: 1;
}

/* Đặc biệt cho iframe YouTube */
iframe.lazy {
    /* opacity: 0; */
    transition: opacity 0.5s ease;
}

iframe.lazy.lazy-loaded {
    opacity: 1;
}

/* Mobile Responsive Styles */
@media (max-width: 768px) {

    /* Banner Section */

    .contact-section-banner-content .section-title {
        font-size: 28px;
        padding: 0 20px;
        text-align: center;
    }

    .contact-section-banner-content p {
        font-size: 14px;
        padding: 0 20px;
        text-align: center;
    }

    /* Breadcrumb */
    .contact-section-breadcrumb {
        padding: 10px 20px;
        font-size: 14px;
    }

    /* Section Title */
    .section-title {
        font-size: 32px;
    }

    /* Filter Buttons */
    .filter-buttons {
        max-width: 100%;
        flex-direction: row;
        gap: 0;
        /* margin: 30px 20px; */
        padding: 5px;
        flex-wrap: nowrap;
        justify-content: center;
    }

    .filter-btn {
        flex: 1;
        padding: 12px 12px;
        font-size: 14px;
        white-space: nowrap;
        min-width: 0;
    }

    /* Testimonials Grid - Change to single column */
    .testimonials-grid {
        grid-template-columns: 1fr;
        gap: 20px;
        /* margin: 30px 20px; */
        max-width: none;
    }

    .testimonial-card {
        padding: 20px;
        min-height: 200px;
    }

    .testimonial-card .testimonial-text {
        font-size: 16px;
        line-height: 140%;
    }

    .testimonial-card .stars {
        font-size: 1em;
    }

    .customer-avatar {
        width: 40px;
        height: 40px;
    }

    .customer-name {
        font-size: 14px;
    }

    .customer-location {
        font-size: 12px;
    }

    /* YouTube Content */
    #youtube-content {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    #youtube-content .review-youtube-wrapper iframe {
        width: 95%;
        /* height: 180px; */
        margin-top: 15px;
    }

    #youtube-content .review-youtube-item-title {
        font-size: 16px;
        padding: 10px 15px 0 15px;
    }

    #youtube-content .review-youtube-item-header {
        padding: 0 15px;
        height: 45px;
    }

    #youtube-content .review-youtube-item-header img {
        width: 25px;
        height: 25px;
    }

    #youtube-content .review-youtube-item-header p {
        font-size: 12px;
    }

    /* Corner Shape */
    .card-corner-shape {
        width: 60px;
        height: 60px;
        bottom: -20px;
        right: -20px;
    }

    /* Pagination */
    .pagination {
        margin: 30px 10px;
        gap: 5px;
    }

    .pagination a,
    .pagination span {
        min-width: 35px;
        height: 35px;
        padding: 0 8px;
        font-size: 12px;
    }

    /* View More Button */
    .view-more-button-container {
        margin: 30px 20px;
        max-width: none;
    }

    .view-more-btn {
        padding: 12px 30px;
        font-size: 16px;
        width: 100%;
    }

    /* No Reviews Message */
    .no-reviews {
        padding: 30px 20px;
        font-size: 16px;
    }

    /* Quote Icons */
    .testimonial-card .quote-icon img {
        width: 30px;
        height: 30px;
    }

    /* Customer Info Mobile Layout */
    .customer-info {
        gap: 10px;
    }

    .customer-details {
        gap: 8px;
    }

    /* Header Row Mobile */
    .testimonial-card .header-row {
        margin-bottom: 15px;
    }

    /* Mobile Typography Adjustments */
    body {
        font-size: 14px;
    }

    /* Hide overflow on mobile */
    .testimonials-grid {
        overflow-x: hidden;
    }

    /* Mobile specific pagination styling */
    .pagination {
        justify-content: center;
        flex-wrap: wrap;
    }

    /* Adjust spacing for mobile */
    .testimonial-card .customer-info {
        margin-top: 15px;
    }

    /* Mobile filter button hover states */
    .filter-btn:hover:not(.active) {
        background-color: #f0f0f0;
    }

    /* Mobile YouTube card adjustments */
    #youtube-content .review-youtube-item {
        padding-bottom: 15px;
        text-align: center;
    }

    /* Mobile breadcrumb responsive */
    .contact-section-breadcrumb p {
        font-size: 12px;
    }

    .contact-section-breadcrumb svg {
        width: 7px;
        height: 12px;
    }
}

.container-banner {
    position: relative;
    display: inline-block;
    /* hoặc block nếu cần */
    width: 100%;
    /* tùy kích thước bạn muốn */
}

.desktop-banner {
    display: block;
}

.mobile-banner {
    display: none;
}

.banner-image img {
    width: 100%;
    height: 20%;
    object-fit: cover;
    object-position: center;
    /* display: block; */
}


.banner-title {
    position: absolute;
    top: 50%;
    /* canh giữa theo chiều dọc */
    left: 50%;
    /* canh giữa theo chiều ngang */
    transform: translate(-50%, -50%);
    /* căn giữa hoàn hảo */
    color: white;
    font-size: 60px;
    line-height: 1.2;
    font-weight: bold;
    text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.7);
    /* giúp chữ nổi bật trên ảnh */
}

@media (max-width: 768px) {
    .banner-title {
        font-size: 30px;
    }

    .banner-image img {
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

    .desktop-banner {
        display: none;
    }

    .mobile-banner {
        display: block;
    }
}

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

.swiper-container-no-flexbox .swiper-slide {
    float: left
}

.swiper-container-vertical>.swiper-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column
}

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

.swiper-container-android .swiper-slide,
.swiper-wrapper {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

.swiper-container-multirow>.swiper-wrapper {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.swiper-container-free-mode>.swiper-wrapper {
    -webkit-transition-timing-function: ease-out;
    -o-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
    margin: 0 auto
}

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

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

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

.swiper-container-autoheight .swiper-wrapper {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-transition-property: height, -webkit-transform;
    transition-property: height, -webkit-transform;
    -o-transition-property: transform, height;
    transition-property: transform, height;
    transition-property: transform, height, -webkit-transform
}

.swiper-container-3d {
    -webkit-perspective: 1200px;
    perspective: 1200px
}

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

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

.swiper-container-3d .swiper-slide-shadow-left {
    background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, 0)));
    background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
    background-image: -o-linear-gradient(right, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
    background-image: linear-gradient(to left, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-container-3d .swiper-slide-shadow-right {
    background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, 0)));
    background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
    background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
    background-image: linear-gradient(to right, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-container-3d .swiper-slide-shadow-top {
    background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, 0)));
    background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
    background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
    background-image: linear-gradient(to top, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-container-3d .swiper-slide-shadow-bottom {
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, 0)));
    background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
    background-image: -o-linear-gradient(top, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-container-wp8-horizontal,
.swiper-container-wp8-horizontal>.swiper-wrapper {
    -ms-touch-action: pan-y;
    touch-action: pan-y
}

.swiper-container-wp8-vertical,
.swiper-container-wp8-vertical>.swiper-wrapper {
    -ms-touch-action: pan-x;
    touch-action: pan-x
}

.swiper-button-next,
.swiper-button-prev {
    position: absolute;
    top: 50%;
    width: 27px;
    height: 44px;
    margin-top: -22px;
    z-index: 10;
    cursor: pointer;
    background-size: 27px 44px;
    background-position: center;
    background-repeat: no-repeat
}

.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
    opacity: .35;
    cursor: auto;
    pointer-events: none
}

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
    left: 10px;
    right: auto
}

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
    right: 10px;
    left: auto
}

.swiper-button-prev.swiper-button-white,
.swiper-container-rtl .swiper-button-next.swiper-button-white {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")
}

.swiper-button-next.swiper-button-white,
.swiper-container-rtl .swiper-button-prev.swiper-button-white {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")
}

.swiper-button-prev.swiper-button-black,
.swiper-container-rtl .swiper-button-next.swiper-button-black {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")
}

.swiper-button-next.swiper-button-black,
.swiper-container-rtl .swiper-button-prev.swiper-button-black {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")
}

.swiper-button-lock {
    display: none
}

.swiper-pagination {
    position: absolute;
    text-align: center;
    -webkit-transition: .3s opacity;
    -o-transition: .3s opacity;
    transition: .3s opacity;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    z-index: 10
}

.swiper-pagination.swiper-pagination-hidden {
    opacity: 0
}

.swiper-container-horizontal>.swiper-pagination-bullets,
.swiper-pagination-custom,
.swiper-pagination-fraction {
    bottom: 10px;
    left: 0;
    width: 100%
}

.swiper-pagination-bullets-dynamic {
    overflow: hidden;
    font-size: 0
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    -webkit-transform: scale(.33);
    -ms-transform: scale(.33);
    transform: scale(.33);
    position: relative
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
    -webkit-transform: scale(.66);
    -ms-transform: scale(.66);
    transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
    -webkit-transform: scale(.33);
    -ms-transform: scale(.33);
    transform: scale(.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
    -webkit-transform: scale(.66);
    -ms-transform: scale(.66);
    transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
    -webkit-transform: scale(.33);
    -ms-transform: scale(.33);
    transform: scale(.33)
}

.swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    display: inline-block;
    border-radius: 100%;
    background: #000;
    opacity: .2
}

button.swiper-pagination-bullet {
    border: none;
    margin: 0;
    padding: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer
}

.swiper-pagination-bullet-active {
    opacity: 1;
    background: #007aff
}

.swiper-container-vertical>.swiper-pagination-bullets {
    right: 10px;
    top: 50%;
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0)
}

.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 6px 0;
    display: block
}

.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 8px
}

.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    display: inline-block;
    -webkit-transition: .2s top, .2s -webkit-transform;
    transition: .2s top, .2s -webkit-transform;
    -o-transition: .2s transform, .2s top;
    transition: .2s transform, .2s top;
    transition: .2s transform, .2s top, .2s -webkit-transform
}

.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 4px
}

.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    white-space: nowrap
}

.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    -webkit-transition: .2s left, .2s -webkit-transform;
    transition: .2s left, .2s -webkit-transform;
    -o-transition: .2s transform, .2s left;
    transition: .2s transform, .2s left;
    transition: .2s transform, .2s left, .2s -webkit-transform
}

.swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    -webkit-transition: .2s right, .2s -webkit-transform;
    transition: .2s right, .2s -webkit-transform;
    -o-transition: .2s transform, .2s right;
    transition: .2s transform, .2s right;
    transition: .2s transform, .2s right, .2s -webkit-transform
}

.swiper-pagination-progressbar {
    background: rgba(0, 0, 0, .25);
    position: absolute
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: #007aff;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    -webkit-transform-origin: left top;
    -ms-transform-origin: left top;
    transform-origin: left top
}

.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    -webkit-transform-origin: right top;
    -ms-transform-origin: right top;
    transform-origin: right top
}

.swiper-container-horizontal>.swiper-pagination-progressbar,
.swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: 4px;
    left: 0;
    top: 0
}

.swiper-container-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-container-vertical>.swiper-pagination-progressbar {
    width: 4px;
    height: 100%;
    left: 0;
    top: 0
}

.swiper-pagination-white .swiper-pagination-bullet-active {
    background: #fff
}

.swiper-pagination-progressbar.swiper-pagination-white {
    background: rgba(255, 255, 255, .25)
}

.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill {
    background: #fff
}

.swiper-pagination-black .swiper-pagination-bullet-active {
    background: #000
}

.swiper-pagination-progressbar.swiper-pagination-black {
    background: rgba(0, 0, 0, .25)
}

.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill {
    background: #000
}

.swiper-pagination-lock {
    display: none
}

.swiper-scrollbar {
    border-radius: 10px;
    position: relative;
    -ms-touch-action: none;
    background: rgba(0, 0, 0, .1)
}

.swiper-container-horizontal>.swiper-scrollbar {
    position: absolute;
    left: 1%;
    bottom: 3px;
    z-index: 50;
    height: 5px;
    width: 98%
}

.swiper-container-vertical>.swiper-scrollbar {
    position: absolute;
    right: 3px;
    top: 1%;
    z-index: 50;
    width: 5px;
    height: 98%
}

.swiper-scrollbar-drag {
    height: 100%;
    width: 100%;
    position: relative;
    background: rgba(0, 0, 0, .5);
    border-radius: 10px;
    left: 0;
    top: 0
}

.swiper-scrollbar-cursor-drag {
    cursor: move
}

.swiper-scrollbar-lock {
    display: none
}

.swiper-zoom-container {
    width: 100%;
    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;
    text-align: center
}

.swiper-zoom-container>canvas,
.swiper-zoom-container>img,
.swiper-zoom-container>svg {
    max-width: 100%;
    max-height: 100%;
    -o-object-fit: contain;
    object-fit: contain
}

.swiper-slide-zoomed {
    cursor: move
}

.swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    -webkit-transform-origin: 50%;
    -ms-transform-origin: 50%;
    transform-origin: 50%;
    -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite;
    animation: swiper-preloader-spin 1s steps(12, end) infinite
}

.swiper-lazy-preloader:after {
    display: block;
    content: '';
    width: 100%;
    height: 100%;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
    background-position: 50%;
    background-size: 100%;
    background-repeat: no-repeat
}

.swiper-lazy-preloader-white:after {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")
}

@-webkit-keyframes swiper-preloader-spin {
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@keyframes swiper-preloader-spin {
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

.swiper-container .swiper-notification {
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    opacity: 0;
    z-index: -1000
}

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
    -webkit-transition-timing-function: ease-out;
    -o-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

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

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

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

.swiper-container-cube {
    overflow: visible
}

.swiper-container-cube .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1;
    visibility: hidden;
    -webkit-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    transform-origin: 0 0;
    width: 100%;
    height: 100%
}

.swiper-container-cube .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-container-cube.swiper-container-rtl .swiper-slide {
    -webkit-transform-origin: 100% 0;
    -ms-transform-origin: 100% 0;
    transform-origin: 100% 0
}

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

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-next,
.swiper-container-cube .swiper-slide-next+.swiper-slide,
.swiper-container-cube .swiper-slide-prev {
    pointer-events: auto;
    visibility: visible
}

.swiper-container-cube .swiper-slide-shadow-bottom,
.swiper-container-cube .swiper-slide-shadow-left,
.swiper-container-cube .swiper-slide-shadow-right,
.swiper-container-cube .swiper-slide-shadow-top {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-container-cube .swiper-cube-shadow {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: .6;
    -webkit-filter: blur(50px);
    filter: blur(50px);
    z-index: 0
}

.swiper-container-flip {
    overflow: visible
}

.swiper-container-flip .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1
}

.swiper-container-flip .swiper-slide .swiper-slide {
    pointer-events: none
}

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

.swiper-container-flip .swiper-slide-shadow-bottom,
.swiper-container-flip .swiper-slide-shadow-left,
.swiper-container-flip .swiper-slide-shadow-right,
.swiper-container-flip .swiper-slide-shadow-top {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-container-coverflow .swiper-wrapper {
    -ms-perspective: 1200px
}


body:not(.l-sidebar-none) #main {
    max-width: unset !important;
}

/* .l-box\:primary, .l-box\:secondary {
    box-shadow: unset !important;
    border-radius: unset !important;
}

.-inner-content>:is(:not(.alignfull,.alignleft,.alignright,.is-position-overlay)) {
    max-width: unset !important;
}

.content :where(h2:not([class]),h2.wp-block-heading:not([class*="is-style-"],[class*="is-design-"]),h2.is-style-default) {
    background-color: unset !important;
}

.content :where(h2:not([class]),h2.wp-block-heading:not([class*="is-style-"],[class*="is-design-"]),h2.is-style-default):before, .content :where(h2:not([class]),h2.wp-block-heading:not([class*="is-style-"],[class*="is-design-"]),h2.is-style-default):after {
    content: unset !important;
}

.content :where(h4:not([class]),h4.wp-block-heading:not([class*="is-style-"],[class*="is-design-"]),h4.is-style-default) {
    color: unset !important;
} */


#page-toppage #aigroup h2 {
    background-color: unset !important;
}

#page-toppage #aigroup h2:before,
#page-toppage #aigroup h2:after {
    content: unset !important;
}


#page-toppage #top-reason h2,
#page-toppage #top-movie h2 {
    background-color: unset !important;
}

#page-toppage #top-reason h2:before,
#page-toppage #top-movie h2:after {
    content: unset !important;
}

#page-toppage #top-reason h2:after,
#page-toppage #top-movie h2:after {
    content: unset !important;
}

.rd-firstview-content {
    text-align: center;
}

.page-child .single_thumb {
    display: none;
}

.ccpages_excerpt {
    white-space: pre-line;
    line-height: 1.8;
    padding: 0 !important;
}

.rd-notice {
    display: none !important;
}

.custom-logo-link img {
    max-width: unset;
}


/* #ccchildpages-1 .ccchildpage {
    display: flex;
    flex-direction: column;

    padding: 0;
    border-radius: 0;

    background: none;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    border-radius: 0 20px 0 20px;

    height: 525px;
}

#ccchildpages-1 .ccchildpage .ccpage_linked_thumb {
    order: 1;
}

#ccchildpages-1 .ccchildpage img {
    margin: 0;
    border-radius: 0 20px 0 0;
}

#ccchildpages-1 .ccchildpage .ccpage_title {
    order: 2;
    padding: 0 20px;
}

#ccchildpages-1 .ccchildpage .ccpages_excerpt {
    order: 3;
    margin: 0 20px;
}

#ccchildpages-1 .ccchildpage .ccpages_more {
    order: 4;
    padding-right: 20px;
}

#ccchildpages-1 .ccchildpage .ccpages_more a{
    padding: 15px 50px;
    background: #EE8300;
    border-radius: 0 20px 0 20px;
    color: #FFFFFF;
} */


#main-wrap {
    display: block;
    width: 1200px;
    margin: auto;
}

#main-wrap .wp-block-image {
    margin-top: 10px;
}

#main-wrap #main {
    margin-inline: unset;
}

@media (max-width: 768px) {
    #main-wrap {
        display: flex;
        width: unset;
        margin: unset;
    }

    #main-wrap .wp-block-image {
        width: 100%;
    }
}

#rd-sticky-action {
    display: none;
}

#ccchildpages-1.cclegacy .cc-child-pages-thumb {
    height: 300px;
}