html {
    line-height: 1.5
}

body {
    color: #424d58;
    font-family: "Noto Sans JP", s-apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", "Arial", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
    background: #fff;
    font-size: 14px;
    -webkit-font-smoothing: auto
}

@media print {
    body {
        font-size: 14px
    }
}

a {
    color: #006dd9;
    text-decoration: none;
    border: none
}

a:visited {
    color: #7f5ad7;
    text-decoration: none
}

a:active {
    color: #006dd9;
    text-decoration: none
}

a:hover {
    color: #006dd9;
    text-decoration: underline
}

.acms-container {
    max-width: 1140px;
    padding-right: 10px;
    padding-left: 10px;
    padding-right: calc(10px + constant(safe-area-inset-right));
    padding-left: calc(10px + constant(safe-area-inset-left))
}

.acms-container .acms-container {
    padding: 0
}

.narrow-container {
    max-width: 960px;
    margin: 0 auto;
    padding-right: 10px;
    padding-left: 10px;
    padding-right: calc(10px + constant(safe-area-inset-right));
    padding-left: calc(10px + constant(safe-area-inset-left))
}

.wide-container {
    max-width: 1240px;
    margin: 0 auto;
    padding-right: 10px;
    padding-left: 10px;
    padding-right: calc(10px + constant(safe-area-inset-right));
    padding-left: calc(10px + constant(safe-area-inset-left))
}

.sm-container {
    max-width: 800px;
    margin: 0 auto;
    padding-right: 10px;
    padding-left: 10px;
    padding-right: calc(10px + constant(safe-area-inset-right));
    padding-left: calc(10px + constant(safe-area-inset-left))
}

.max-container {
    max-width: 100%;
    margin: 0 auto;
    padding-right: 10px;
    padding-left: 10px;
    padding-right: calc(10px + constant(safe-area-inset-right));
    padding-left: calc(10px + constant(safe-area-inset-left))
}

.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent
}

.slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0
}

.slick-list:focus {
    outline: none
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand
}

.slick-slider .slick-track,
.slick-slider .slick-list {
    transform: translate3d(0, 0, 0)
}

.slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-left: auto;
    margin-right: auto
}

.slick-track:before,
.slick-track:after {
    display: table;
    content: ""
}

.slick-track:after {
    clear: both
}

.slick-loading .slick-track {
    visibility: hidden
}

.slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px
}

[dir=rtl] .slick-slide {
    float: right
}

.slick-slide img {
    display: block
}

.slick-slide.slick-loading img {
    display: none
}

.slick-slide.dragging img {
    pointer-events: none
}

.slick-initialized .slick-slide {
    display: block
}

.slick-loading .slick-slide {
    visibility: hidden
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent
}

.slick-arrow.slick-hidden {
    display: none
}

@keyframes fade-in {
    0% {
        display: none;
        opacity: 0
    }

    20% {
        display: block;
        opacity: 0
    }

    100% {
        display: block;
        opacity: 1
    }
}

@-webkit-keyframes fade-in {
    0% {
        display: none;
        opacity: 0
    }

    20% {
        display: block;
        opacity: 0
    }

    100% {
        display: block;
        opacity: 1
    }
}

@-webkit-keyframes fadeUp {
    0% {
        transform: translate(0, 20px);
        opacity: 0
    }

    40% {
        opacity: 1
    }

    100% {
        transform: translate(0);
        opacity: 1
    }
}

@keyframes fadeUp {
    0% {
        transform: translate(0, 20px);
        opacity: 0
    }

    40% {
        opacity: 1
    }

    100% {
        transform: translate(0);
        opacity: 1
    }
}

.js .js-animation .section-heading,
.js .js-animation .entry-heading-center {
    transform: translate(0, 20px);
    opacity: 0;
    transition: opacity .2s ease-out, transform .4s ease-out
}

.js .js-animation .module-group-list,
.js .js-animation .entry-column,
.js .js-animation .module-section {
    transform: translate(0, 20px);
    opacity: 0;
    transition: opacity .2s ease-out .4s, transform .4s ease-out .4s
}

.js .js-animation .main-slider-text-wrap {
    transform: translate(0, 20px);
    opacity: 0;
    transition: opacity .2s ease-out .6s, transform .4s ease-out .6s
}

.js-animation.is-show .section-heading,
.js-animation.is-show .entry-heading-center {
    transform: translate(0);
    opacity: 1
}

.js-animation.is-show .module-group-list,
.js-animation.is-show .entry-column,
.js-animation.is-show .module-section {
    transform: translate(0);
    opacity: 1
}

.js-animation.is-show .main-slider-text-wrap {
    transform: translate(0);
    opacity: 1
}

@media print {

    .js .js-animation .section-heading,
    .js .js-animation .entry-heading-center {
        transform: translate(0);
        opacity: 1
    }

    .js .js-animation .module-group-list,
    .js .js-animation .entry-column,
    .js .js-animation .module-section,
    .js .js-animation .suggest-center-box {
        transform: translate(0);
        opacity: 1
    }

    .js .js-animation .main-slider-text-wrap {
        transform: translate(0);
        opacity: 1
    }
}

.banner {
    margin: 0 -10px 10px;
    padding: 0;
    list-style: none
}

.banner a {
    display: block;
    transition: opacity .25s ease-out
}

.banner a:hover {
    opacity: .75
}

.banner-item {
    margin: 0 0 10px 0
}

.banner-img-center {
    margin: 0 auto
}

.btn {
    background: #666;
    border: 0;
    color: #fff;
    font-weight: bold;
    line-height: 1.3;
    border: 0;
    display: inline-block;
    padding: 6px 15px;
    border-radius: 3px
}

.btn:hover,
.btn:visited {
    color: #fff;
    text-decoration: none
}

.btn:focus,
.btn:active {
    color: #fff;
    box-shadow: inset 0px 1px 3px 0px rgba(0, 0, 0, .5)
}

.btn:hover {
    color: #fff;
    background-color: #444;
    background-image: linear-gradient(to bottom, #666, #444)
}

.btn:active,
.btn:focus {
    background: #444
}

.btn-attention {
    background: #2f5fbb;
    border: 0;
    color: #fff;
    font-weight: bold;
    line-height: 1.3;
    border: 0;
    display: inline-block;
    padding: 6px 15px;
    border-radius: 3px
}

.btn-attention:hover,
.btn-attention:visited {
    color: #fff;
    text-decoration: none
}

.btn-attention:focus,
.btn-attention:active {
    color: #fff;
    box-shadow: inset 0px 1px 3px 0px rgba(0, 0, 0, .5)
}

.btn-attention:hover {
    color: #fff;
    background-color: #789ad4;
    background-image: linear-gradient(to bottom, #2f5fbb, #789ad4)
}

.btn-attention:active,
.btn-attention:focus {
    background: #789ad4
}

.btn-large {
    box-sizing: border-box;
    background: #666;
    color: #fff;
    font-weight: bold;
    line-height: 1.3;
    border: 0;
    display: inline-block;
    padding: 15px 20px;
    text-align: center;
    border-radius: 5px;
    font-size: 20px;
    transition: background-color .25s linear
}

.btn-large:hover,
.btn-large:visited {
    color: #fff;
    text-decoration: none
}

.btn-large:focus,
.btn-large:active {
    color: #fff;
    box-shadow: inset 0px 1px 3px 0px rgba(0, 0, 0, .5)
}

@media print {
    .btn-large {
        font-size: 20px
    }
}

.btn-large:hover {
    background: #444
}

.btn-large:active,
.btn-large:focus {
    background: #444
}

.btn-attention-large {
    box-sizing: border-box;
    background: #2f5fbb;
    color: #fff;
    font-weight: bold;
    line-height: 1.3;
    border: 0;
    display: inline-block;
    padding: 15px 20px;
    text-align: center;
    border-radius: 5px;
    font-size: 20px;
    transition: background-color .25s linear
}

.btn-attention-large:hover,
.btn-attention-large:visited {
    color: #fff;
    text-decoration: none
}

.btn-attention-large:focus,
.btn-attention-large:active {
    color: #fff;
    box-shadow: inset 0px 1px 3px 0px rgba(0, 0, 0, .5)
}

@media print {
    .btn-attention-large {
        font-size: 20px
    }
}

.btn-attention-large:hover {
    background: #789ad4
}

.btn-attention-large:active,
.btn-attention-large:focus {
    background: #789ad4
}

.btn-block-large {
    box-sizing: border-box;
    width: 100%;
    background: #666;
    color: #fff;
    font-weight: bold;
    line-height: 1.3;
    border: 0;
    display: inline-block;
    padding: 15px 20px;
    text-align: center;
    border-radius: 5px;
    font-size: 20px;
    transition: background-color .25s linear
}

.btn-block-large:hover,
.btn-block-large:visited {
    color: #fff;
    text-decoration: none
}

.btn-block-large:focus,
.btn-block-large:active {
    color: #fff;
    box-shadow: inset 0px 1px 3px 0px rgba(0, 0, 0, .5)
}

@media print {
    .btn-block-large {
        font-size: 20px
    }
}

.btn-block-large:hover {
    background: #444
}

.btn-block-large:active,
.btn-block-large:focus {
    background: #444
}

.btn-attention-block-large {
    box-sizing: border-box;
    width: 100%;
    background: #2f5fbb;
    color: #fff;
    font-weight: bold;
    line-height: 1.3;
    border: 0;
    display: inline-block;
    padding: 15px 20px;
    text-align: center;
    border-radius: 5px;
    font-size: 20px;
    transition: background-color .25s linear
}

.btn-attention-block-large:hover,
.btn-attention-block-large:visited {
    color: #fff;
    text-decoration: none
}

.btn-attention-block-large:focus,
.btn-attention-block-large:active {
    color: #fff;
    box-shadow: inset 0px 1px 3px 0px rgba(0, 0, 0, .5)
}

@media print {
    .btn-attention-block-large {
        font-size: 20px
    }
}

.btn-attention-block-large:hover {
    background: #789ad4
}

.btn-attention-block-large:active,
.btn-attention-block-large:focus {
    background: #789ad4
}

@media(min-width: 768px) {
    .btn-block-large {
        max-width: 360px
    }

    .btn-attention-block-large {
        max-width: 360px
    }
}

.btn-search-block {
    width: 100%;
    max-width: 165px;
    margin: 0 auto
}

@media(max-width: 767px) {
    .btn-search-block {
        display: block;
        width: 100%;
        max-width: 360px;
        margin: 0 auto;
        padding: 10px 20px;
        font-size: 20px
    }
}

@media print and (max-width: 767px) {
    .btn-search-block {
        font-size: 20px
    }
}

.home-btn {
    margin: 20px auto 10px
}

.btn-border {
    display: inline-block;
    padding: 7px 10px;
    color: #333;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 16px
}

@media print {
    .btn-border {
        font-size: 16px
    }
}

.btn-border [class*=acms-icon-] {
    color: #ccc;
    font-size: 14px
}

@media print {
    .btn-border [class*=acms-icon-] {
        font-size: 14px
    }
}

.btn-border:hover {
    text-decoration: none
}

.btn-shadow {
    box-shadow: 0 1rem 1rem -0.75rem rgba(0, 0, 0, .4)
}

a.a-btn-news {
    display: block;
    width: 140px;
    margin-top: 20px;
    margin-bottom: 20px;
    padding: 16px 20px;
    color: #2f5fbb;
    line-height: 1;
    text-align: center;
    border: 1px solid #2f5fbb;
    border-radius: 40px;
    transition: background-color .25s linear
}

a.a-btn-news:hover {
    color: #fff;
    text-decoration: none;
    background-color: #2f5fbb
}

a.a-btn-company {
    display: block;
    width: 140px;
    margin-top: 20px;
    margin-bottom: 20px;
    padding: 16px 20px;
    color: #2f5fbb;
    line-height: 1;
    text-align: center;
    background-color: #fff;
    border: 1px solid #2f5fbb;
    border-radius: 40px;
    transition: background-color .25s linear
}

a.a-btn-company:hover {
    color: #fff;
    text-decoration: none;
    background-color: #2f5fbb
}

a.btn-suggest {
    display: block;
    width: 180px;
    margin: 0 auto;
    margin-top: 16px;
    padding: 10px;
    color: #2f5fbb;
    text-align: center;
    border: 1px solid #2f5fbb;
    border-radius: 20px;
    transition: background-color .25s linear
}

a.btn-suggest:hover {
    color: #fff;
    text-decoration: none;
    background-color: #2f5fbb
}

a.a-btn-wide {
    display: block;
    margin-top: 20px;
    margin-bottom: 40px;
    padding: 20px 20px;
    color: #2f5fbb;
    font-size: 18px;
    line-height: 1;
    text-align: center;
    border: 1px solid #2f5fbb;
    border-radius: 40px;
    transition: background-color .25s linear
}

a.a-btn-wide:hover {
    color: #fff;
    text-decoration: none;
    background-color: #2f5fbb
}

.card {
    margin: 0 0 40px 0;
    padding: 0;
    list-style: none;
    border-left: 1px solid #e5e5e5
}

.card-item {
    border-top: 1px solid #e5e5e5;
    border-right: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5
}

.card-link {
    display: block;
    margin: 0 -10px;
    padding: 10px;
    color: #333
}

.card-link:hover {
    text-decoration: none;
    background: #eee;
    transition: background-color .25s linear
}

.card-link:hover,
.card-link:visited,
.card-link:active,
.card-link:focus {
    color: #333
}

.card-img {
    margin: 0 0 10px 0
}

.card-title {
    margin: 0;
    font-size: 16px;
    font-weight: bold
}

@media print {
    .card-title {
        font-size: 16px
    }
}

.card-detail {
    margin: 10px 0 0 0;
    font-size: 13px
}

@media print {
    .card-detail {
        font-size: 13px
    }
}

.top-service-card {
    margin-bottom: 40px
}

.top-service-card .top-service-card--img {
    overflow: hidden;
    border-radius: 20px
}

.top-service-card .top-service-card--img img {
    vertical-align: middle
}

.top-service-card a.top-service-card--innner {
    position: relative;
    display: block;
    margin-top: -50px;
    margin-right: 30px;
    padding: 10px 20px;
    background-color: #fff;
    border-radius: 20px;
    box-shadow: 1px 1px 7px #bbb;
    transition: all .2s
}

.top-service-card a.top-service-card--innner h3 {
    position: relative;
    margin: 0;
    color: #2f5fbb;
    font-size: 20px;
    letter-spacing: 1px
}

.top-service-card a.top-service-card--innner h3:after {
    position: absolute;
    top: 0;
    right: .2em;
    border-left-color: #2f5fbb;
    transition: all .2s;
    content: "→"
}

.top-service-card a.top-service-card--innner p {
    color: #424d58
}

.top-service-card a.top-service-card--innner:hover {
    text-decoration: none;
    box-shadow: none
}

.top-service-card a.top-service-card--innner:hover h3 {
    color: #789ad4
}

.top-service-card a.top-service-card--innner:hover p {
    color: #424d58
}

.top-service-card a.top-service-card--innner:hover h3::after {
    right: -0.1em
}

@media(min-width: 768px) {
    .top-service-card {
        margin-bottom: 10px
    }

    .top-service-card .top-service-card--innner {
        padding: 20px 20px
    }

    .top-service-card .top-service-card--innner h3 {
        font-size: 20px
    }
}

:root {
    --cc-bg: #fff;
    --cc-text: #333333;
    --cc-btn-primary-bg: #C41134;
    --cc-btn-primary-text: var(--cc-bg);
    --cc-btn-primary-hover-bg: #910021;
    --cc-btn-secondary-bg: #F1F1F1;
    --cc-btn-secondary-text: var(--cc-text);
    --cc-btn-secondary-hover-bg: #EEEEEE;
    --cc-toggle-bg-off: #999999;
    --cc-toggle-bg-on: #666666;
    --cc-toggle-bg-readonly: #E5E5E5;
    --cc-toggle-knob-bg: #fff;
    --cc-toggle-knob-icon-color: #faecec;
    --cc-block-text: var(--cc-text);
    --cc-cookie-category-block-bg: #F1F1F1;
    --cc-cookie-category-block-bg-hover: #EEEEEE;
    --cc-section-border: #f5f1f1;
    --cc-cookie-table-border: #f2e9e9;
    --cc-overlay-bg: rgba(4, 6, 8, .85);
    --cc-webkit-scrollbar-bg: #dbcfcf;
    --cc-webkit-scrollbar-bg-hover: #a09191
}

.c_darkmode {
    --cc-bg: #181b1d;
    --cc-text: #d8e5ea;
    --cc-btn-primary-bg: #a6c4dd;
    --cc-btn-primary-text: #000;
    --cc-btn-primary-hover-bg: #c2dff7;
    --cc-btn-secondary-bg: #33383c;
    --cc-btn-secondary-text: var(--cc-text);
    --cc-btn-secondary-hover-bg: #3e454a;
    --cc-toggle-bg-off: #667481;
    --cc-toggle-bg-on: var(--cc-btn-primary-bg);
    --cc-toggle-bg-readonly: #454c54;
    --cc-toggle-knob-bg: var(--cc-cookie-category-block-bg);
    --cc-toggle-knob-icon-color: var(--cc-bg);
    --cc-block-text: #b3bfc5;
    --cc-cookie-category-block-bg: #23272a;
    --cc-cookie-category-block-bg-hover: #2b3035;
    --cc-section-border: #292d31;
    --cc-cookie-table-border: #2b3035;
    --cc-webkit-scrollbar-bg: #667481;
    --cc-webkit-scrollbar-bg-hover: #9199a0
}

.cc_div *,
.cc_div :before,
.cc_div :after {
    float: none;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    color: inherit;
    font-weight: inherit;
    font-size: 1em;
    font-family: inherit;
    font-style: inherit;
    font-variant: normal;
    line-height: 1.2;
    letter-spacing: unset;
    text-align: left;
    text-transform: none;
    text-decoration: none;
    background: none;
    border: none;
    box-shadow: none;
    visibility: unset;
    transition: none;
    -webkit-animation: none;
    animation: none
}

.cc_div {
    color: #2d4156;
    color: var(--cc-text);
    font-weight: 400;
    font-size: 16px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility
}

.cc_div .c-bn,
.cc_div .b-tl,
#s-ttl,
#c-ttl,
#s-bl td:before {
    font-weight: 600
}

#cm,
#s-inr,
.cc_div .c-bl,
.cc_div .b-tl,
#s-bl .act .b-acc {
    border-radius: .35em
}

.cc_div input,
.cc_div button,
.cc_div a {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.cc_div a {
    border-bottom: 1px solid
}

.cc_div a:hover {
    text-decoration: none;
    border-color: rgba(0, 0, 0, 0)
}

.c--anim #cm,
.c--anim #s-cnt,
.c--anim #s-inr,
#cs-ov,
#cm-ov {
    transition: visibility .25s linear, opacity .25s ease, transform .25s ease !important
}

.c--anim .c-bn {
    transition: background-color .25s ease !important
}

.c--anim #cm.bar.slide,
.c--anim .bar.slide #s-inr {
    transition: visibility .4s ease, opacity .4s ease, transform .4s ease !important
}

.c--anim #cm.bar.slide+#cm-ov,
.c--anim .bar.slide+#cs-ov {
    transition: visibility .4s ease, opacity .4s ease, transform .4s ease !important
}

#cm.bar.slide,
.cc_div .bar.slide #s-inr {
    transform: translateX(100%);
    opacity: 1
}

#cm.bar.top.slide,
.cc_div .bar.left.slide #s-inr {
    transform: translateX(-100%);
    opacity: 1
}

#cm.slide,
.cc_div .slide #s-inr {
    transform: translateY(1.6em)
}

#cm.top.slide {
    transform: translateY(-1.6em)
}

#cm.bar.slide {
    transform: translateY(100%)
}

#cm.bar.top.slide {
    transform: translateY(-100%)
}

.show--consent .c--anim #cm,
.show--consent .c--anim #cm.bar,
.show--settings .c--anim #s-inr,
.show--settings .c--anim .bar.slide #s-inr {
    transform: scale(1);
    visibility: visible !important;
    opacity: 1
}

.force--consent.show--consent .c--anim #cm.box.middle,
.force--consent.show--consent .c--anim #cm.cloud.middle {
    transform: scale(1) translateY(-50%)
}

.show--settings .c--anim #s-cnt {
    visibility: visible !important
}

.force--consent.show--consent .c--anim #cm-ov,
.show--settings .c--anim #cs-ov {
    visibility: visible !important;
    opacity: 1 !important
}

#cm {
    position: fixed;
    right: 1.25em;
    bottom: 1.25em;
    z-index: 1;
    width: 100%;
    max-width: 24.2em;
    padding: 1.1em 1.8em 1.4em 1.8em;
    font-family: inherit;
    line-height: initial;
    background: #fff;
    background: var(--cc-bg);
    box-shadow: 0 .625em 1.875em #000;
    box-shadow: 0 .625em 1.875em rgba(2, 2, 3, .28);
    transform: scale(0.95);
    visibility: hidden;
    opacity: 0
}

#cc_div #cm {
    display: block !important
}

#c-ttl {
    margin-bottom: .7em;
    font-size: 1.05em
}

.cloud #c-ttl {
    margin-top: -0.15em
}

#c-txt {
    margin-bottom: 1.4em;
    font-size: .9em;
    line-height: 1.5em
}

.cc_div .c-bn {
    display: inline-block;
    padding: 1em 1.7em;
    color: #40505a;
    color: var(--cc-btn-secondary-text);
    font-size: .82em;
    text-align: center;
    background: #e5ebef;
    background: var(--cc-btn-secondary-bg);
    border-radius: 4px;
    cursor: pointer;
    -moz-user-select: none;
    -webkit-user-select: none;
    -o-user-select: none;
    -ms-user-select: none;
    user-select: none
}

#cm .c-bn {
    width: 48.5%
}

#c-bns button+button,
#s-cnt button+button,
#s-c-bn {
    float: right
}

#s-cnt #s-rall-bn {
    float: none;
    margin-left: 1em
}

#cm .c_link:hover,
#cm .c_link:active,
#s-cnt button+button:hover,
#s-cnt button+button:active,
#s-c-bn:active,
#s-c-bn:hover {
    background: #d8e0e6;
    background: var(--cc-btn-secondary-hover-bg)
}

#s-cnt {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 101;
    display: table;
    width: 100%;
    height: 100%;
    visibility: hidden
}

#s-bl {
    outline: none
}

#s-bl .title {
    margin-top: 1.4em
}

#s-bl .title:first-child {
    margin-top: 0
}

#s-bl .b-bn {
    margin-top: 0
}

#s-bl .b-acc .p {
    margin-top: 0;
    padding: 1em
}

#s-cnt .b-bn .b-tl {
    position: relative;
    display: block;
    width: 100%;
    padding: 1.3em 6.4em 1.3em 2.7em;
    font-size: .95em;
    font-family: inherit;
    background: none;
    cursor: pointer;
    transition: background-color .25s ease
}

#s-cnt .act .b-bn .b-tl {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0
}

#s-cnt .b-bn .b-tl:active,
#s-cnt .b-bn .b-tl:hover {
    background: #e9eff4;
    background: var(--cc-cookie-category-block-bg-hover)
}

#s-bl .b-bn {
    position: relative
}

#s-bl .c-bl {
    margin-bottom: .5em;
    padding: 1em;
    border: 1px solid #f1f3f5;
    border-color: var(--cc-section-border);
    transition: background-color .25s ease
}

#s-bl .c-bl:hover {
    background: #f0f4f7;
    background: var(--cc-cookie-category-block-bg)
}

#s-bl .c-bl:last-child {
    margin-bottom: .5em
}

#s-bl .c-bl:first-child {
    margin-top: 0;
    margin-bottom: 2em;
    padding: 0;
    border: none;
    transition: none
}

#s-bl .c-bl:not(.b-ex):first-child:hover {
    background: rgba(0, 0, 0, 0);
    background: unset
}

#s-bl .c-bl.b-ex {
    padding: 0;
    background: #f0f4f7;
    background: var(--cc-cookie-category-block-bg);
    border: none;
    transition: none
}

#s-bl .c-bl.b-ex+.c-bl {
    margin-top: 2em
}

#s-bl .c-bl.b-ex+.c-bl.b-ex {
    margin-top: 0
}

#s-bl .c-bl.b-ex:first-child {
    margin-bottom: 1em
}

#s-bl .c-bl.b-ex:first-child {
    margin-bottom: .5em
}

#s-bl .b-acc {
    display: none;
    max-height: 0;
    margin-bottom: 0;
    padding-top: 0;
    overflow: hidden
}

#s-bl .act .b-acc {
    display: block;
    max-height: 100%;
    overflow: hidden
}

#s-cnt .p {
    margin-top: .85em;
    color: #2d4156;
    color: var(--cc-block-text);
    font-size: .9em;
    line-height: 1.5em
}

.cc_div .b-tg .c-tgl:disabled {
    cursor: not-allowed
}

#c-vln {
    position: relative;
    display: table-cell;
    vertical-align: middle
}

#cs {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 0 1.7em
}

#s-inr {
    position: relative;
    position: relative;
    max-width: 45em;
    height: 100%;
    height: 100%;
    margin: 0 auto;
    padding-top: 4.75em;
    padding-bottom: 4.75em;
    overflow: hidden;
    box-shadow: rgba(3, 6, 9, .26) 0px 13px 27px -5px;
    transform: scale(0.96);
    visibility: hidden;
    opacity: 0
}

#s-inr,
#s-hdr,
#s-bns {
    background: #fff;
    background: var(--cc-bg)
}

#s-bl {
    display: block;
    width: 100%;
    height: 100%;
    padding: 1.3em 2.1em;
    overflow-x: hidden;
    overflow-y: auto;
    overflow-y: overlay
}

#s-bns {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 4.75em;
    padding: 1em 2.1em;
    border-color: var(--cc-section-border);
    border-top: 1px solid #f1f3f5
}

.cc_div .cc-link {
    display: inline;
    padding-bottom: 0;
    color: #253b48;
    color: var(--cc-btn-primary-bg);
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px solid currentColor;
    cursor: pointer
}

.cc_div .cc-link:hover,
.cc_div .cc-link:active {
    border-color: rgba(0, 0, 0, 0)
}

#c-bns button:first-child,
#s-bns button:first-child {
    color: #fff;
    color: var(--cc-btn-primary-text);
    background: #253b48;
    background: var(--cc-btn-primary-bg)
}

.cc_div .b-tg .c-tgl:checked~.c-tg {
    background: #253b48;
    background: var(--cc-toggle-bg-on)
}

#c-bns button:first-child:active,
#c-bns button:first-child:hover,
#s-bns button:first-child:active,
#s-bns button:first-child:hover {
    background: #1d2e38;
    background: var(--cc-btn-primary-hover-bg)
}

#s-hdr {
    position: absolute;
    top: 0;
    z-index: 2;
    display: table;
    width: 100%;
    height: 4.75em;
    padding: 0 2.1em;
    vertical-align: middle;
    border-color: var(--cc-section-border);
    border-bottom: 1px solid #f1f3f5
}

#s-ttl {
    display: table-cell;
    font-size: 1em;
    vertical-align: middle
}

#s-c-bn {
    position: relative;
    width: 1.7em;
    height: 1.7em;
    margin: 0;
    padding: 0;
    font-weight: initial;
    font-size: 1.45em
}

#s-c-bnc {
    display: table-cell;
    vertical-align: middle
}

.cc_div span.t-lb {
    position: absolute;
    top: 0;
    z-index: -1;
    overflow: hidden;
    opacity: 0;
    pointer-events: none
}

#c_policy__text {
    height: 31.25em;
    margin-top: 1.25em;
    overflow-y: auto
}

#c-s-in {
    position: relative;
    top: 50%;
    height: 100%;
    height: calc(100% - 2.5em);
    max-height: 37.5em;
    transform: translateY(-50%)
}

@media screen and (min-width: 688px) {
    #s-bl::-webkit-scrollbar {
        width: .9em;
        height: 100%;
        background: rgba(0, 0, 0, 0);
        border-radius: 0 .25em .25em 0
    }

    #s-bl::-webkit-scrollbar-thumb {
        background: #cfd5db;
        background: var(--cc-webkit-scrollbar-bg);
        border: .25em solid var(--cc-bg);
        border-radius: 100em
    }

    #s-bl::-webkit-scrollbar-thumb:hover {
        background: #9199a0;
        background: var(--cc-webkit-scrollbar-bg-hover)
    }

    #s-bl::-webkit-scrollbar-button {
        width: 10px;
        height: 5px
    }
}

.cc_div .b-tg {
    position: absolute;
    top: 0;
    right: 0;
    right: 1.2em;
    bottom: 0;
    display: inline-block;
    margin: auto;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.cc_div .b-tg .c-tgl {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    margin: 0;
    border: 0;
    cursor: pointer
}

.cc_div .b-tg .c-tg {
    position: absolute;
    background: #919ea6;
    background: var(--cc-toggle-bg-off);
    transition: background-color .25s ease, box-shadow .25s ease;
    pointer-events: none
}

.cc_div span.t-lb,
.cc_div .b-tg,
.cc_div .b-tg .c-tg,
.cc_div .b-tg .c-tgl {
    width: 3.4em;
    height: 1.5em;
    border-radius: 4em
}

.cc_div .b-tg .c-tg.c-ro {
    cursor: not-allowed
}

.cc_div .b-tg .c-tgl~.c-tg.c-ro {
    background: #d5dee2;
    background: var(--cc-toggle-bg-readonly)
}

.cc_div .b-tg .c-tgl~.c-tg.c-ro:after {
    box-shadow: none
}

.cc_div .b-tg .c-tg:after {
    position: relative;
    top: .125em;
    left: .125em;
    display: block;
    box-sizing: content-box;
    width: 1.25em;
    height: 1.25em;
    background: #fff;
    background: var(--cc-toggle-knob-bg);
    border: none;
    border-radius: 100%;
    box-shadow: 0 1px 2px rgba(24, 32, 35, .36);
    transition: transform .25s ease;
    content: ""
}

.cc_div .b-tg .c-tgl:checked~.c-tg:after {
    transform: translateX(1.9em)
}

#s-bl table,
#s-bl th,
#s-bl td {
    border: none
}

#s-bl tbody tr {
    transition: background-color .25s ease
}

#s-bl tbody tr:hover {
    background: #e9eff4;
    background: var(--cc-cookie-category-block-bg-hover)
}

#s-bl table {
    width: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
    text-align: left;
    border-collapse: collapse
}

#s-bl td,
#s-bl th {
    padding: .8em .625em;
    padding-left: 1.2em;
    font-size: .8em;
    text-align: left;
    vertical-align: top
}

#s-bl th {
    padding: 1.2em 1.2em;
    font-family: inherit
}

#s-bl thead tr:first-child {
    border-color: var(--cc-cookie-table-border);
    border-bottom: 1px solid #e9edf2
}

.force--consent #s-cnt,
.force--consent #cs {
    width: 100vw
}

#cm-ov,
#cs-ov {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: none;
    background: #070707;
    background: rgba(4, 6, 8, .85);
    background: var(--cc-overlay-bg);
    visibility: hidden;
    opacity: 0;
    transition: none
}

.show--settings #cs-ov,
.c--anim #cs-ov,
.force--consent .c--anim #cm-ov,
.force--consent.show--consent #cm-ov {
    display: block
}

#cs-ov {
    z-index: 2
}

.force--consent .cc_div {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    width: 100vw;
    visibility: hidden;
    transition: visibility .25s linear
}

.force--consent.show--consent .c--anim .cc_div,
.force--consent.show--settings .c--anim .cc_div {
    visibility: visible
}

.force--consent #cm {
    position: absolute
}

.force--consent #cm.bar {
    width: 100vw;
    max-width: 100vw
}

html.force--consent.show--consent {
    overflow-y: hidden !important
}

html.force--consent.show--consent,
html.force--consent.show--consent body {
    height: auto !important;
    overflow-x: hidden !important
}

.cc_div .b-bn .b-tl::before,
.cc_div .act .b-bn .b-tl::before {
    position: absolute;
    position: absolute;
    top: 50%;
    left: 1.2em;
    display: inline-block;
    margin-right: 15px;
    padding: .2em;
    border: solid #2d4156;
    border-color: var(--cc-btn-secondary-text);
    border-width: 0 2px 2px 0;
    transform: translateY(-50%) rotate(45deg);
    content: ""
}

.cc_div .act .b-bn .b-tl::before {
    transform: translateY(-20%) rotate(225deg)
}

.cc_div .on-i::before {
    position: absolute;
    top: .37em;
    left: .75em;
    display: inline-block;
    margin: 0 auto;
    padding: .1em;
    padding-bottom: .45em;
    border: solid #fff;
    border-color: var(--cc-toggle-knob-icon-color);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    content: ""
}

#s-c-bn::before,
#s-c-bn::after {
    position: absolute;
    top: .58em;
    left: .82em;
    width: 1.5px;
    height: .6em;
    margin: 0 auto;
    background: #444d53;
    background: var(--cc-btn-secondary-text);
    border-radius: 1em;
    transform: rotate(45deg);
    content: ""
}

#s-c-bn::after {
    transform: rotate(-45deg)
}

.cc_div .off-i,
.cc_div .on-i {
    position: absolute;
    right: 0;
    display: block;
    width: 50%;
    height: 100%;
    text-align: center;
    transition: opacity .15s ease
}

.cc_div .on-i {
    left: 0;
    opacity: 0
}

.cc_div .off-i::before,
.cc_div .off-i::after {
    position: absolute;
    top: .42em;
    right: .8em;
    display: block;
    width: .09375em;
    height: .7em;
    margin: 0 auto;
    background: #cdd6dc;
    background: var(--cc-toggle-knob-icon-color);
    transform-origin: center;
    content: " "
}

.cc_div .off-i::before {
    transform: rotate(45deg)
}

.cc_div .off-i::after {
    transform: rotate(-45deg)
}

.cc_div .b-tg .c-tgl:checked~.c-tg .on-i {
    opacity: 1
}

.cc_div .b-tg .c-tgl:checked~.c-tg .off-i {
    opacity: 0
}

.force--consent #cm.box.middle,
.force--consent #cm.cloud.middle {
    top: 50%;
    bottom: auto;
    transform: translateY(-37%)
}

.force--consent #cm.box.middle.zoom,
.force--consent #cm.cloud.middle.zoom {
    transform: scale(0.95) translateY(-50%)
}

#cm.box.center {
    right: 1em;
    left: 1em;
    margin: 0 auto
}

#cm.cloud {
    right: 1em;
    left: 1em;
    width: unset;
    max-width: 50em;
    margin: 0 auto;
    padding: 1.3em 2em;
    overflow: hidden;
    text-align: center
}

.cc_div .cloud #c-inr {
    display: table;
    width: 100%
}

.cc_div .cloud #c-inr-i {
    display: table-cell;
    width: 70%;
    padding-right: 2.4em;
    vertical-align: top
}

.cc_div .cloud #c-txt {
    margin-bottom: 0;
    font-size: .85em
}

.cc_div .cloud #c-bns {
    display: table-cell;
    min-width: 170px;
    vertical-align: middle
}

#cm.cloud .c-bn {
    width: 100%;
    margin: .625em 0 0 0
}

#cm.cloud .c-bn:first-child {
    margin: 0
}

#cm.cloud.left {
    margin-right: 1.25em
}

#cm.cloud.right {
    margin-left: 1.25em
}

#cm.bar {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    max-width: 100%;
    padding: 2em;
    border-radius: 0
}

#cm.bar #c-inr {
    max-width: 32em;
    margin: 0 auto
}

#cm.bar #c-bns {
    max-width: 33.75em
}

#cm.bar #cs {
    padding: 0
}

.cc_div .bar #c-s-in {
    top: 0;
    height: 100%;
    max-height: 100%;
    transform: none
}

.cc_div .bar #s-hdr,
.cc_div .bar #s-bl,
.cc_div .bar #s-bns {
    padding-right: 1.6em;
    padding-left: 1.6em
}

.cc_div .bar #cs {
    padding: 0
}

.cc_div .bar #s-inr {
    max-width: 32em;
    margin: 0;
    margin-right: 0;
    margin-left: auto;
    border-radius: 0
}

.cc_div .bar.left #s-inr {
    margin-right: auto;
    margin-left: 0
}

.cc_div .bar #s-bl table,
.cc_div .bar #s-bl thead,
.cc_div .bar #s-bl tbody,
.cc_div .bar #s-bl th,
.cc_div .bar #s-bl td,
.cc_div .bar #s-bl tr,
.cc_div .bar #s-cnt {
    display: block
}

.cc_div .bar #s-bl thead tr {
    position: absolute;
    top: -9999px;
    left: -9999px
}

.cc_div .bar #s-bl tr {
    border-color: var(--cc-cookie-table-border);
    border-top: 1px solid #e3e7ed
}

.cc_div .bar #s-bl td {
    position: relative;
    padding-left: 35%;
    border: none
}

.cc_div .bar #s-bl td:before {
    position: absolute;
    left: 1em;
    padding-right: .625em;
    overflow: hidden;
    color: #000;
    color: var(--cc-text);
    white-space: nowrap;
    text-overflow: ellipsis;
    content: attr(data-column)
}

#cm.top {
    top: 1.25em;
    bottom: auto
}

#cm.left {
    right: auto;
    left: 1.25em
}

#cm.right {
    right: 1.25em;
    left: auto
}

#cm.bar.left,
#cm.bar.right {
    right: 0;
    left: 0
}

#cm.bar.top {
    top: 0
}

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

    #cm,
    #cm.cloud,
    #cm.left,
    #cm.right {
        right: 1em;
        bottom: 1em;
        left: 1em;
        display: block;
        width: auto;
        max-width: 100%;
        margin: 0;
        padding: 1.4em !important
    }

    .force--consent #cm,
    .force--consent #cm.cloud {
        width: auto;
        max-width: 100vw
    }

    #cm.top {
        top: 1em;
        bottom: auto
    }

    #cm.bottom {
        top: auto;
        bottom: 1em
    }

    #cm.bar.bottom {
        bottom: 0
    }

    .cc_div .cloud #c-txt {
        font-size: .9em
    }

    #cm.cloud .c-bn {
        font-size: .85em
    }

    #s-bns,
    .cc_div .bar #s-bns {
        padding: 1em 1.3em
    }

    .cc_div .bar #s-inr {
        width: 100%;
        max-width: 100%
    }

    .cc_div .cloud #c-inr-i {
        padding-right: 0
    }

    #cs {
        padding: 0;
        border-radius: 0
    }

    #c-s-in {
        top: 0;
        height: 100%;
        max-height: 100%;
        transform: none
    }

    .cc_div .b-tg {
        right: 1.1em;
        transform: scale(1.1)
    }

    #s-inr {
        margin: 0;
        padding-bottom: 7.9em;
        border-radius: 0
    }

    #s-bns {
        height: 7.9em
    }

    #s-bl,
    .cc_div .bar #s-bl {
        padding: 1.3em
    }

    #s-hdr,
    .cc_div .bar #s-hdr {
        padding: 0 1.3em
    }

    #s-bl table {
        width: 100%
    }

    #s-inr.bns-t {
        padding-bottom: 10.5em
    }

    .bns-t #s-bns {
        height: 10.5em
    }

    .cc_div .bns-t .c-bn {
        padding: .9em 1.6em;
        font-size: .83em
    }

    #s-cnt .b-bn .b-tl {
        padding-top: 1.2em;
        padding-bottom: 1.2em
    }

    #s-bl table,
    #s-bl thead,
    #s-bl tbody,
    #s-bl th,
    #s-bl td,
    #s-bl tr,
    #s-cnt {
        display: block
    }

    #s-bl thead tr {
        position: absolute;
        top: -9999px;
        left: -9999px
    }

    #s-bl tr {
        border-color: var(--cc-cookie-table-border);
        border-top: 1px solid #e3e7ed
    }

    #s-bl td {
        position: relative;
        padding-left: 35%;
        border: none
    }

    #s-bl td:before {
        position: absolute;
        left: 1em;
        padding-right: .625em;
        overflow: hidden;
        color: #000;
        color: var(--cc-text);
        white-space: nowrap;
        text-overflow: ellipsis;
        content: attr(data-column)
    }

    #cm .c-bn,
    .cc_div .c-bn {
        width: 100%;
        margin-right: 0
    }

    #s-cnt #s-rall-bn {
        margin-left: 0
    }

    #c-bns button+button,
    #s-cnt button+button {
        float: unset;
        margin-top: .625em
    }

    #cm.cloud,
    #cm.box {
        right: 1em;
        left: 1em;
        width: auto
    }

    #cm.cloud.right,
    #cm.cloud.left {
        margin: 0
    }

    .cc_div .cloud #c-bns,
    .cc_div .cloud #c-inr,
    .cc_div .cloud #c-inr-i {
        display: block;
        width: auto;
        min-width: unset
    }

    .cc_div .cloud #c-txt {
        margin-bottom: 1.625em
    }
}

.cc_div.ie #c-vln {
    height: 100%;
    padding-top: 5.62em
}

.cc_div.ie .bar #c-vln {
    padding-top: 0
}

.cc_div.ie #cs {
    position: relative;
    top: 0;
    max-height: 37.5em;
    margin-top: -5.625em
}

.cc_div.ie .bar #cs {
    max-height: 100%;
    margin-top: 0
}

.cc_div.ie #cm {
    border: 1px solid #dee6e9
}

.cc_div.ie #c-s-in {
    top: 0
}

.cc_div.ie .b-tg {
    margin-bottom: .7em;
    padding-left: 1em
}

.cc_div.ie .b-tg .c-tgl:checked~.c-tg:after {
    left: 1.95em
}

.cc_div.ie #s-bl table {
    overflow: auto
}

.cc_div.ie .b-tg .c-tg {
    display: none
}

.cc_div.ie .b-tg .c-tgl {
    position: relative;
    display: inline-block;
    height: auto;
    margin-bottom: .2em;
    vertical-align: middle
}

.cc_div.ie #s-cnt .b-bn .b-tl {
    padding: 1.3em 6.4em 1.3em 1.4em
}

.cc_div.ie .bar #s-bl td:before {
    display: none
}

.cc_div.ie .bar #s-bl td {
    padding: .8em .625em .8em 1.2em
}

.cc_div.ie .bar #s-bl thead tr {
    position: relative
}

.cc_div.ie .b-tg .t-lb {
    filter: alpha(opacity=0)
}

.cc_div.ie #cm-ov,
.cc_div.ie #cs-ov {
    filter: alpha(opacity=80)
}

.headline-item {
    line-height: 1.5
}

.headline-link {
    color: #424d58;
    transition: background-color .25s ease-out
}

.headline-link:hover,
.headline-link:visited,
.headline-link:active,
.headline-link:focus {
    color: #424d58
}

.headline-link:hover {
    padding: 10px;
    background: #e9eff8
}

.headline-title {
    margin: 0 0 10px 0
}

@media screen and (max-width: 479px) {
    .headline-title {
        display: block;
        margin: 0
    }
}

time {
    display: inline-block;
    padding-top: 10px;
    padding-bottom: 10px;
    color: #a2a2a2
}

.acms-label.acms-label-danger {
    display: inline-block;
    margin-left: 20px;
    padding: 3px 10px;
    color: #fa4d7c;
    line-height: 1;
    background-color: #fff;
    border: 1px solid #fa4d7c;
    border-radius: 20px
}

.day-flex {
    display: flex;
    align-items: center
}

.headline-1col {
    font-size: 16px
}

@media print {
    .headline-1col {
        font-size: 16px
    }
}

.acms-list-group {
    border-top: 1px solid #707070
}

.acms-list-group-item {
    border-bottom: 1px solid #707070
}

.info-bar {
    color: #fff;
    background: #666
}

.info-bar-contents {
    display: flex;
    align-items: center;
    width: 100%
}

.info-bar-icon {
    display: flex;
    font-size: 24px
}

@media print {
    .info-bar-icon {
        font-size: 24px
    }
}

.info-bar-message {
    padding: 0 15px
}

.info-bar-link-wrap {
    margin-left: auto
}

.info-bar-link {
    padding: 5px 0;
    color: #fff
}

.info-bar-link:link,
.info-bar-link:visited,
.info-bar-link:hover,
.info-bar-link:active,
.info-bar-link:focus {
    color: #fff
}

.info-bar-link:hover {
    text-decoration: none;
    border-bottom: 1px solid currentColor
}

.info-bar-link-icon {
    margin: 0 10px 0 0
}

@media screen and (min-width: 768px) {
    a.list-link.acms-list-group-item {
        padding: 10px 20px 10px 10px;
        transition: padding .15s ease-out
    }

    a.list-link.acms-list-group-item:hover {
        padding: 10px 10px 10px 20px;
        transition: padding .25s ease-out
    }

    a.list-link.acms-list-group-label-parent {
        padding: 10px 30px 10px 10px;
        transition: padding .15s ease-out
    }

    a.list-link.acms-list-group-label-parent:hover {
        padding: 10px 30px 10px 20px
    }
}

.list-results-wrap {
    margin: 15px 0 15px 0;
    padding: 10px;
    border: 1px solid #ccc
}

.list-results-heading {
    margin: 0 0 10px 0;
    padding: 5px;
    background: #e5e5e5
}

.list-results {
    position: relative;
    margin: 0
}

.list-results-item {
    position: absolute;
    width: 100px
}

.list-results-detail {
    margin: 0;
    padding: 0 0 0 100px;
    font-weight: bold
}

.top--header--height {
    margin-top: 30px
}

.top-box {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    margin-top: 60px;
    margin-right: 16px;
    margin-left: 16px
}

.top-box-title {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 80%;
    margin-bottom: 40px
}

.top-box p {
    width: 280px;
    color: #fff;
    line-height: 1.5
}

.top-slider {
    overflow: hidden;
    border-radius: 20px
}

.slide {
    overflow: hidden
}

.slide .top-bg {
    width: 100%;
    height: 450px;
    background-repeat: no-repeat;
    background-position: right center;
    background-size: cover;
    -webkit-animation: bg 10s 1;
    animation: bg 10s 1;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards
}

.slide .top-bg01 {
    background-image: url(https://okatsushoji.jp/themes/okashou/dest/assets/top01-sp.jpg)
}

.slide .top-bg02 {
    background-image: url(/themes/okashou/dest/assets/top02-sp.jpg)
}

.slide .top-bg03 {
    background-image: url(/themes/okashou/dest/assets/top03-sp.jpg)
}

@-webkit-keyframes fadezoom {
    0% {
        transform: scale(1.1)
    }

    100% {
        transform: scale(1.15)
    }
}

@keyframes fadezoom {
    0% {
        transform: scale(1.1)
    }

    100% {
        transform: scale(1.15)
    }
}

.slick-animation {
    -webkit-animation: fadezoom 5s 0s forwards;
    animation: fadezoom 5s 0s forwards
}

@media screen and (min-width: 768px) {
    .top-box-title {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 40%;
        margin-bottom: 30px
    }

    .slide .top-bg {
        height: 600px;
        background-position: center center
    }

    .slide .top-bg01 {
        background-image: url(https://okatsushoji.jp/themes/okashou/dest/assets/top01.jpg)
    }

    .slide .top-bg02 {
        background-image: url(/themes/okashou/dest/assets/top02.jpg)
    }

    .slide .top-bg03 {
        background-image: url(/themes/okashou/dest/assets/top03.jpg)
    }
}

@media screen and (min-width: 1440px) {
    .top-box-title {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 40%;
        margin-bottom: 40px;
        margin-left: -60px
    }
}

.module-section {
    margin: 0 0 30px 0
}

.module-header {
    position: relative;
    margin: 0;
    padding: 5px 0;
    color: #333;
    border-bottom: 2px solid #333
}

.module-header+.thumbnail,
.module-header+.summary-default,
.module-header+.entry-column,
.module-header+.card,
.module-header+.search-form,
.module-header+.banner {
    margin-top: 10px
}

.module-heading {
    margin: 0;
    font-size: 18px
}

@media print {
    .module-heading {
        font-size: 18px
    }
}

.module-heading [class*=acms-icon-] {
    margin: 0 10px 0 0;
    vertical-align: baseline
}

a.module-index-link {
    position: absolute;
    right: 0;
    bottom: 5px;
    color: #333;
    font-size: 16px
}

@media print {
    a.module-index-link {
        font-size: 16px
    }
}

a.module-index-link [class*=acms-icon-] {
    color: #ccc;
    font-size: 14px
}

@media print {
    a.module-index-link [class*=acms-icon-] {
        font-size: 14px
    }
}

.module-group-list {
    margin: 0;
    padding: 0 10px;
    list-style: none
}

.module-group-list:before,
.module-group-list:after {
    display: table;
    content: " "
}

.module-group-list:after {
    clear: both
}

.module-group-heading {
    margin: 0 0 20px 0;
    font-size: 18px;
    line-height: 1.2
}

@media print {
    .module-group-heading {
        font-size: 18px
    }
}

.module-group-detail {
    margin: 0 0 30px 0;
    font-size: 16px;
    line-height: 1.7
}

@media print {
    .module-group-detail {
        font-size: 16px
    }
}

.heading-align-left .module-group-heading {
    text-align: left
}

.heading-align-center .module-group-heading {
    text-align: center
}

.heading-align-right .module-group-heading {
    text-align: right
}

.detail-align-left .module-group-detail {
    text-align: left
}

.detail-align-center .module-group-detail {
    text-align: center
}

.detail-align-right .module-group-detail {
    text-align: right
}

.btn-align-left .module-group-btn-wrap {
    text-align: left
}

.btn-align-center .module-group-btn-wrap {
    text-align: center
}

.btn-align-right .module-group-btn-wrap {
    text-align: right
}

.page-title-wrapper {
    position: relative;
    position: relative;
    display: table;
    width: 100%;
    height: 150px;
    margin-top: 20px;
    margin-bottom: 20px;
    color: #fff;
    background: url(/themes/okashou/dest/assets/bg_other.jpg) #333 no-repeat center;
    background-size: cover;
    border-radius: 20px
}

.page-title-filter {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

.page-title-inner {
    padding: 20px 0;
    vertical-align: middle
}

.page-title {
    margin: 0 0 10px 0;
    color: #2f5fbb;
    font-weight: bold;
    line-height: 1.2;
    font-size: 18px
}

@media print {
    .page-title {
        font-size: 18px
    }
}

.page-title a {
    color: #2f5fbb
}

.page-description {
    margin: 10px 0 0 0;
    font-size: 16px;
    line-height: 1.5
}

@media print {
    .page-description {
        font-size: 16px
    }
}

.page--title--box {
    font-size: 24px;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 240px;
    margin-bottom: -60px;
    margin-left: 10px;
    padding: 10px;
    background-color: #fff;
    border-radius: 20px
}

@media print {
    .page--title--box {
        font-size: 24px
    }
}

.page--title--en {
    color: #7e98be;
    font-family: "Barlow", sans-serif;
    font-style: italic;
    font-size: 32px
}

@media print {
    .page--title--en {
        font-size: 32px
    }
}

.page--title--box--other {
    font-size: 24px;
    margin-bottom: -40px;
    margin-left: 10px;
    padding: 20px;
    border-radius: 20px
}

@media print {
    .page--title--box--other {
        font-size: 24px
    }
}

@media(min-width: 768px) {
    .page-title-wrapper {
        height: 350px
    }

    .page-title {
        font-size: 24px
    }
}

@media print and (min-width: 768px) {
    .page-title {
        font-size: 24px
    }
}

@media(min-width: 768px) {
    .page--title--en {
        font-size: 48px
    }
}

@media print and (min-width: 768px) {
    .page--title--en {
        font-size: 48px
    }
}

@media(min-width: 768px) {
    .page--title--box {
        width: 530px;
        padding: 20px;
        background-color: #fff;
        border-radius: 20px
    }
}

.pager {
    margin: 0 -5px 50px -5px;
    padding: 0;
    text-align: center;
    list-style: none
}

.pager li {
    display: inline-block;
    margin: 0 5px
}

.pager li.cur {
    padding: 5px 20px;
    color: #fff;
    background: #767676;
    border-radius: 3px
}

.pager-link {
    display: block;
    padding: 5px 20px;
    color: #333;
    background: #e5e5e5;
    border-radius: 3px
}

.pager-link:visited,
.pager-link:focus,
.pager-link:active {
    color: #333
}

.pager-link:hover {
    color: #fff;
    text-decoration: none;
    background: #333
}

.pager-link-forward {
    float: right
}

.pager-link-prev {
    float: left
}

@media screen and (min-width: 768px) {
    .pager-link {
        padding: 5px 10px
    }

    .pager li.cur {
        padding: 5px 10px
    }
}

.serial-nav {
    margin: -25px 0 60px 0;
    padding: 0;
    list-style: none
}

.serial-nav .serial-nav-item {
    display: block;
    float: none
}

.serial-nav .serial-nav-item-prev {
    text-align: left
}

.serial-nav .serial-nav-item-next {
    text-align: right
}

.serial-nav a {
    display: block;
    padding: 25px 0;
    color: #2f5fbb;
    border-bottom: 1px solid #e5e5e5
}

.serial-nav a:hover,
.serial-nav a:visited,
.serial-nav a:focus,
.serial-nav a:active {
    color: #2f5fbb;
    text-decoration: none
}

.serial-nav a:hover {
    color: #2f5fbb;
    text-decoration: none;
    background: #d3e4fd
}

@media screen and (min-width: 768px) {
    .serial-nav {
        margin: 0 0 60px 0;
        border: 0
    }

    .serial-nav .serial-nav-item-prev {
        float: left
    }

    .serial-nav .serial-nav-item-next {
        float: right
    }

    .serial-nav a {
        display: inline;
        border: 0
    }

    .serial-nav a:hover {
        color: #789ad4;
        background: 0
    }
}

.search-form .btn-search {
    padding: 10px 20px;
    color: #fff;
    background: #333;
    border: 1px solid #333;
    border-radius: 0 4px 4px 0;
    filter: none;
    font-size: 16px
}

@media print {
    .search-form .btn-search {
        font-size: 16px
    }
}

.search-form .btn-search:hover,
.search-form .btn-search:active,
.search-form .btn-search:focus {
    background: #666
}

.search-form input[type=search] {
    box-sizing: border-box;
    height: 40px;
    padding: 9px 10px;
    font-size: 16px
}

@media print {
    .search-form input[type=search] {
        font-size: 16px
    }
}

input[type=search].search-form-input {
    box-sizing: border-box;
    padding-top: 5px;
    padding-bottom: 4px;
    font-size: 20px
}

@media print {
    input[type=search].search-form-input {
        font-size: 20px
    }
}

.section-bg {
    padding: 40px 0;
    background: #f8f8f8
}

.section-space {
    padding: 40px 0
}

.section-center-col {
    float: none;
    margin: 0 auto
}

.section-heading {
    margin: 20px 0;
    font-size: 24px
}

@media print {
    .section-heading {
        font-size: 24px
    }
}

.section-heading a {
    color: #333
}

.top--section--title__sub {
    padding-top: 40px;
    color: #7e98be;
    font-size: 48px;
    font-family: "Barlow", sans-serif;
    font-style: italic
}

.top--section--title {
    margin: 0;
    margin-bottom: 10px;
    margin-left: 10px;
    color: #2f5fbb;
    font-size: 18px
}

.top--section--title:before {
    margin-right: 20px;
    color: #2f5fbb;
    content: "ー"
}

@media(min-width: 768px) {
    .section-bg {
        padding: 60px 0
    }

    .section-space {
        padding: 60px 0
    }

    .section-heading {
        margin: 20px 0 40px 0;
        font-size: 28px
    }
}

@media print and (min-width: 768px) {
    .section-heading {
        font-size: 28px
    }
}

.slick-slider img {
    margin: 0 auto
}

.fix-height {
    height: 300px;
    overflow: hidden
}

.slick-slide:hover {
    cursor: default
}

.slick-list:focus:focus {
    position: relative
}

.slick-list:focus:focus:before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    border: 2px dotted #00c2ff;
    content: ""
}

.js-slider .slick-list:focus {
    position: relative
}

.js-slider .slick-list:focus:before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    border: 2px dotted #00c2ff;
    content: ""
}

.main-slider-image {
    height: 300px;
    background: no-repeat center #333;
    background-size: cover
}

.main-slider-image a:hover {
    text-decoration: none
}

.main-slider-text-outer {
    height: 100%
}

.main-slider-text-wrap {
    display: table;
    width: 100%;
    height: 100%
}

.main-slider-text-inner {
    display: table-cell;
    padding: 0 20px;
    text-align: center;
    vertical-align: middle
}

.main-slider-main-copy {
    margin: 0;
    color: #fff;
    font-weight: bold;
    font-size: 24px
}

@media print {
    .main-slider-main-copy {
        font-size: 24px
    }
}

.main-slider-side-copy {
    margin: 0;
    color: #fff;
    font-size: 16px
}

@media print {
    .main-slider-side-copy {
        font-size: 16px
    }
}

.slick-track,
.slick-list {
    -webkit-transform: translateZ(0);
    -webkit-perspective: 1000
}

.slick-prev,
.slick-next {
    position: absolute;
    top: 50%;
    z-index: 1;
    display: block;
    width: 19px;
    height: 60px;
    margin-top: -29px;
    padding: 0;
    color: rgba(0, 0, 0, 0);
    font-size: 0;
    line-height: 0;
    background: rgba(0, 0, 0, 0);
    border: none;
    outline: none;
    cursor: pointer
}

.slick-prev:focus,
.slick-next:focus {
    border: 1px dotted #fff
}

.slick-prev {
    left: 10px;
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAA+CAYAAADJYiAkAAACKklEQVRYCa3YzyulcRQGcC/yc5gYoTtKDSNKjZBSiqi7kIUaRc2SmGahZqEUZSE1wmI2IsrCQpSFhRTFQlKMlIWUkjDTTNNEpjH5+XrOvc/7D3zP+dbT927Op+fe7n2dxMQoj+/78UidkomOA/qIyJlQgQCSke8i4bzXYr1Rx9/VQhmALok1aLFhQqtaKAToBnlCKrXYJFstaKG3gO6ZIi22wFaTWqgCkHxO8nm91mJrbPVFC9UTku9WhhbbIdarhVoI/cCd4oxhOA45ItblDMkgkA5Cx7jjnTEMJyHnxFqdIbbqIbSH23PGMPwS+UMs7Ayx1RChdS2UC+gfsSotNk5oUQsVALpDHpBiLTbHVtNaqAyQPGL+I3labIWtRrVQHaEr3K+02DaxPi3UTOgn7lRnDMPyiDkk9skZwmAsk0jkRoNFZtHqA5ud4k5QgQBikQOC3SpMhgE1EfuF+4UFuEWw3wKrJSZf3EwLMPhJjVhg5WgV7BMhC3Ceb1e36UgTQEWIPBxlDyu0aDcFSM6cBZYHSB6S8vm9swDHAMlZtsCyAF1HON+vsQAHiG1aYGnAfhNstAA/E9vH7b7ASBMAicgZwTaLdu3EdEsf28nfimAd7bRoFyzKF4CTVSAAD/mGyOlRYXy74agV2SrTLcANgoMWWDWxv7izLcAlgl8tsFJgj8gtkm8BzrLdjAX2Bliw/5bI4uJ8PM87wfAUIj9+3f82pAWa5SCl8voZWhUIc4GncisAAAAASUVORK5CYII=) no-repeat
}

.slick-next {
    right: 10px;
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAA+CAYAAADJYiAkAAACR0lEQVRYCa3XW4RVcRTH8b1rqqmmiyndE13FUCKJGMNQoh5iiF4yEZFI6SElJWIoPRRD6amSRIyiiHmIiBS9FIl000jpPl1n913H7/B//e+1/vysv8P6WPs4c86aouBUVdVBZtrddUB2k3/krAuyZpDl5C/5TRZGgBeA7FyMwBYA/SL2uB0R4GkgOwMR2Aygrw2uqtZGgMeEDUZgk8E+CFwfAe4X9oBaukCAVvJaYI8Ls2agncKeUke7QIAW8kzgDhem6bYKe0kd5wIBSvJI4F4Xpuk2CntPnRQB3hV4JAJbJ+wLdXoEeEPgyQhsBdgIGSbzIsDLmu58BLYY7A+xr/ilEWC/prsagc0B+0Hs/VsVAfZpulsRWDvYJ4GdEeAhYfcisDawIYGbIsA9wh5TR7lAgLHkhcBtLsyagbYLe04d4xuvKNo00TB1RPf8wiQTyTtNtjlfSDpADgvyfTxAppHPwnwfXJBTgm4mw+ZfQeaTn8T+2FfmC0kHQHPLvJS8nH8FSvffRflC0gF2ndg5k7ycfwVY02Cq6ht1Vr6QdAAMCjuevJx/BdkgyLbKKfmCOmi2BeahsH21IWsEaa5Wr7i31sZoTpe+3tqQptqlx3tCrb+O0jyBvBW2xTvVQUH3vVD629jlxZq/2re90Fwez/Yw/z4Bck7v1RXvVMuAbP+yPWyJF7umqfq90GpB36mzvdgdYSe8ULegj9SptTGa7SvG/lG1c6A2ZI0APQ2mqt5Qx3swW1y6BRwty9IWEN9hok7S4lOK4j8ypgx1R4zK9QAAAABJRU5ErkJggg==) no-repeat
}

.slick-dots {
    position: relative;
    clear: both;
    margin: -35px 0 0 0;
    padding: 0;
    text-align: center;
    list-style: none
}

.slick-dots li {
    display: inline-block
}

.slick-dots li button {
    position: relative;
    display: inline-block;
    width: 15px;
    height: 15px;
    margin: 0 8px;
    font-size: 0;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0);
    border-radius: 7px;
    content: ""
}

.slick-dots li button:focus {
    border: 1px solid #2f5fbb;
    outline: 0
}

.slick-dots li:hover button {
    cursor: pointer
}

.slick-dots li.slick-active button {
    background: #2f5fbb
}

.slick-dots button {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    border: 0;
    clip: rect(0 0 0 0)
}

#autoplay-btn {
    position: absolute;
    right: 10px;
    bottom: 10px;
    z-index: 1;
    width: 50px;
    height: 50px;
    color: #fff;
    background: rgba(0, 0, 0, .7);
    border: 0;
    border-radius: 50%;
    outline: 0;
    right: calc(10px + constant(safe-area-inset-right))
}

#autoplay-btn:hover {
    background: rgba(0, 0, 0, .9)
}

#autoplay-btn:active::before,
#autoplay-btn:focus::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    border: 1px dotted #fff;
    content: ""
}

#autoplay-btn::after {
    position: absolute;
    top: 15px;
    left: 17px;
    display: block;
    box-sizing: border-box;
    width: 16px;
    height: 20px;
    margin-left: 0;
    border-top: none;
    border-right: 5px solid #fff;
    border-bottom: none;
    border-left: 5px solid #fff;
    content: ""
}

#autoplay-btn.active::after {
    left: 15px;
    width: 0;
    height: 0;
    margin-left: 5px;
    border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #fff;
    border-style: solid;
    border-width: 10px 0 10px 15px
}

.slider {
    opacity: 0;
    transition: opacity .25s ease
}

.slider.slick-initialized {
    opacity: 1
}

@media screen and (min-width: 768px) {
    .slick-prev {
        left: 50px
    }

    .slick-next {
        right: 50px
    }

    .fix-height {
        height: 400px
    }

    .main-slider-image {
        height: 400px
    }

    .main-slider-main-copy {
        font-size: 40px
    }

    .main-slider-side-copy {
        font-size: 24px
    }
}

.suggest-box {
    background: #ddd
}

.suggest-inner {
    display: table;
    width: 100%;
    padding: 15px 0
}

.suggest-item {
    width: 100%;
    margin: 0 auto;
    padding: 0
}

.suggest-text {
    margin: 0 0 10px 0;
    line-height: 1.5;
    font-size: 14px
}

@media print {
    .suggest-text {
        font-size: 14px
    }
}

.suggest-tel {
    margin: 0 0 10px 0;
    color: #666;
    font-weight: bold;
    font-size: 24px
}

@media print {
    .suggest-tel {
        font-size: 24px
    }
}

.suggest-tel a {
    color: inherit
}

.suggest-btn {
    margin: 0
}

@media screen and (min-width: 768px) {
    .suggest-inner {
        padding: 0
    }

    .suggest-item {
        padding: 30px 10px
    }

    .suggest-tel {
        margin: 0
    }

    .suggest-half {
        display: table-cell;
        width: 50%;
        vertical-align: middle
    }
}

.suggest-center-box {
    padding: 40px 0;
    background-color: #d3e4fd
}

.suggest-center-box__innner {
    position: relative;
    padding: 20px;
    background-color: #fff;
    border-radius: 40px
}

.suggest-center-item+.suggest-center-item {
    margin: 50px 0 0 0
}

.suggest-center-text {
    margin: 30px 0 10px 0
}

.suggest-center-tel {
    margin: 0;
    color: #c38a00;
    font-weight: bold;
    font-size: 34px
}

.suggest-center-tel a {
    color: #c38a00
}

.suggest--title__sub {
    position: absolute;
    top: 0;
    left: 50%;
    display: inline-block;
    margin-top: -40px;
    margin-left: -80px;
    color: #7e98be;
    font-size: 48px;
    font-family: "Barlow", sans-serif;
    font-style: italic;
    text-align: center
}

.suggest--title {
    position: relative;
    margin: 0;
    margin-bottom: 60px;
    padding-top: 30px;
    color: #2f5fbb;
    font-size: 18px;
    text-align: center
}

.suggest--title:before {
    position: absolute;
    bottom: 0;
    left: 50%;
    display: block;
    width: 50px;
    height: 1px;
    margin-bottom: -20px;
    margin-left: -25px;
    background-color: #2f5fbb;
    content: ""
}

.suggest--text {
    margin-bottom: 40px;
    font-size: 18px;
    text-align: center
}

.suggest--item {
    text-align: center
}

.suggest--item__tel {
    margin: 0;
    font-size: 24px
}

.suggest--item__tel a:hover {
    color: #789ad4;
    text-decoration: none
}

@media(min-width: 768px) {
    .suggest-center-box {
        padding: 60px 0
    }
}

.summary-default {
    margin: 0 0 20px 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid #e5e5e5;
    border-left: 1px solid #e5e5e5
}

.summary-default:before,
.summary-default:after {
    display: table;
    content: " "
}

.summary-default:after {
    clear: both
}

.summary-default.slick-initialized {
    margin-right: -10px;
    margin-left: -10px;
    overflow: hidden;
    border: 0
}

.summary-default .slick-list {
    padding: 0 0 0 20px;
    overflow: inherit
}

.summary-default .slick-dots {
    margin: 0
}

.summary-default .slick-dots button {
    background: #e5e5e5
}

.summary-default .slick-dots .slick-active button {
    background: #2f5fbb
}

.summary-default-item {
    display: block;
    box-sizing: border-box;
    padding: 0 10px;
    color: #333;
    border-right: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5;
    transition: background-color .25s ease-out
}

.acms-entry .summary-default-item {
    padding: 10px
}

.slick-initialized .summary-default-item {
    width: 280px;
    margin: 2px 10px 2px 2px;
    border: 0;
    box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, .08), -1px -1px 1px 1px rgba(0, 0, 0, .08)
}

.summary-default-link {
    display: block;
    margin: 0 -10px;
    padding: 10px;
    color: #333;
    transition: background .2s
}

.summary-default-link:hover,
.summary-default-link:visited,
.summary-default-link:active,
.summary-default-link:focus {
    color: #333
}

.summary-default-link:hover {
    text-decoration: none;
    background: #f1f1f1
}

.summary-title {
    margin: 0 0 10px 0;
    font-size: 16px;
    font-weight: bold
}

@media print {
    .summary-title {
        font-size: 16px
    }
}

.summary-detail {
    margin: 0;
    line-height: 1.5;
    font-size: 13px
}

@media print {
    .summary-detail {
        font-size: 13px
    }
}

@media screen and (min-width: 480px) {
    .summary-default {
        margin: 0 0 20px 0
    }
}

.thumbnail {
    margin: 0;
    padding: 0;
    list-style: none
}

.thumbnail-row {
    margin: 0 10px;
    padding: 0;
    list-style: none
}

.thumbnail-item {
    margin: 0 0 20px 0
}

@media screen and (max-width: 767px) {
    .thumbnail-row .thumbnail-item {
        padding-right: 5px;
        padding-left: 5px
    }
}

.thumbnail-link {
    display: block;
    color: #333;
    transition: opacity .2s
}

.thumbnail-link:hover {
    color: #333;
    text-decoration: none;
    opacity: .75
}

.thumbnail-link:visited {
    color: #333
}

.thumbnail-img {
    display: block;
    transition: opacity .25s ease-out;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.thumbnail-title {
    margin: 10px 0;
    font-weight: bold;
    font-size: 15px
}

@media print {
    .thumbnail-title {
        font-size: 15px
    }
}

.thumbnail-detail {
    margin: 0;
    line-height: 1.5;
    font-size: 12px
}

@media print {
    .thumbnail-detail {
        font-size: 12px
    }
}

.topicpath {
    padding: 10px 0;
    background: #f5f5f5
}

.topicpath-list {
    margin: 0 auto;
    list-style: none
}

.topicpath-item {
    float: left;
    padding: 0 10px 0 23px;
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAICAQAAACb+P2wAAAANElEQVQIW2OYZj/99SQtBgiYGj394VQJKGda1bTz3dwwzpxpc+DM6VtRFcC1TXaY9gpiGAD2DRdFNgzHXgAAAABJRU5ErkJggg==) no-repeat left center
}

.topicpath-item:first-child {
    padding: 0 10px 0 0;
    background: 0
}

.topicpath-link {
    color: #666;
    font-size: 14px
}

@media print {
    .topicpath-link {
        font-size: 14px
    }
}

.topicpath-link:visited,
.topicpath-link:focus,
.topicpath-link:active {
    color: #666
}

.clearHidden {
    display: block;
    clear: both;
    height: 0;
    margin: 0;
    border: none;
    visibility: hidden
}

.entry-style [class*=acms-col-] {
    padding: 0
}

.entry-style h2 {
    margin-right: 10px;
    margin-left: 10px
}

.entry-style h3 {
    margin-right: 10px;
    margin-left: 10px
}

.entry-style h4 {
    margin-right: 10px;
    margin-left: 10px
}

.entry-style h5 {
    margin-right: 10px;
    margin-left: 10px
}

.entry-style h6 {
    margin-right: 10px;
    margin-left: 10px
}

.entry-style dl {
    margin-right: 10px;
    margin-left: 10px
}

.entry-style p {
    margin-right: 10px;
    margin-left: 10px
}

.entry-style blockquote {
    margin: 0 0 20px 0;
    padding: 10px 20px;
    border-left: solid 5px #ccc
}

.entry-style [class*=column-image] {
    padding-left: 10px;
    padding-right: 10px;
    box-sizing: border-box
}

.entry-style [class*=column-file] {
    padding-left: 10px;
    padding-right: 10px;
    box-sizing: border-box
}

.entry-style [class*=column-map] {
    border-right: 10px solid rgba(0, 0, 0, 0);
    border-left: 10px solid rgba(0, 0, 0, 0);
    box-sizing: border-box
}

.entry-style [class*=column-yolp] {
    padding-left: 10px;
    padding-right: 10px;
    box-sizing: border-box
}

.entry-style [class*=column-street-view]:not(.column-street-view-inner) {
    padding-right: 10px;
    padding-left: 10px
}

.entry-style [class*=column-youtube] {
    padding-left: 10px;
    padding-right: 10px;
    box-sizing: border-box
}

.entry-style [class*=column-video] {
    padding-left: 10px;
    padding-right: 10px;
    box-sizing: border-box
}

.entry-style [class*=column-eximage] {
    padding-left: 10px;
    padding-right: 10px;
    box-sizing: border-box
}

.entry-style [class*=column-media] {
    padding-left: 10px;
    padding-right: 10px;
    box-sizing: border-box
}

.entry-style [class*=column-quote] {
    margin-right: 10px;
    margin-left: 10px
}

.entry-style [class*=column-module] {
    padding-left: 10px;
    padding-right: 10px;
    box-sizing: border-box
}

[class*=column-image] {
    margin-bottom: 20px
}

[class*=column-file] {
    margin-bottom: 20px
}

[class*=column-map] {
    margin-bottom: 20px
}

[class*=column-yolp] {
    margin-bottom: 20px
}

[class*=column-street-view] {
    margin-bottom: 20px
}

[class*=column-youtube] {
    margin-bottom: 20px
}

[class*=column-video] {
    margin-bottom: 20px
}

[class*=column-eximage] {
    margin-bottom: 20px
}

[class*=column-media] {
    margin-bottom: 20px
}

[class*=column-quote] {
    margin-bottom: 20px
}

[class*=column-module] {
    margin-bottom: 20px
}

[class*=column-image],
[class*=column-media],
[class*=column-eximage] {
    display: block
}

[class*=column-image].caption,
[class*=column-media].caption,
[class*=column-eximage].caption {
    margin-bottom: 10px
}

[class*=column-image] a,
[class*=column-media] a,
[class*=column-eximage] a {
    display: block
}

[class*=column-image] img,
[class*=column-media] img,
[class*=column-eximage] img {
    max-width: 100%;
    height: auto;
    vertical-align: top
}

[class*=column-image] .caption,
[class*=column-media] .caption,
[class*=column-eximage] .caption {
    margin: 5px 0 0 0
}

[class*=column-image][style*=width] {
    max-width: 100%
}

[class*=column-media] a[href*=media-download] {
    display: inline-block;
    width: 100%
}

[class*=column-map]>img,
[class*=column-yolp]>img {
    max-width: 100%
}

[class*=column-map] img,
[class*=column-yolp] img {
    width: auto;
    height: auto
}

[class*=column-map]>div {
    max-width: 100%
}

[class*=column-yolp] {
    width: auto !important
}

[class*=column-quote] blockquote {
    padding: 20px 10px 20px 20px
}

[class*=column-quote] .quoteImageContainer {
    position: relative;
    float: left;
    max-width: 154px;
    margin-right: 25px
}

[class*=column-quote] .quoteImage {
    display: block;
    max-width: 100%;
    height: auto
}

[class*=column-quote] .quoteTitle {
    margin: 0 0 5px 0;
    padding: 0;
    line-height: 1.4;
    font-size: 18px
}

@media print {
    [class*=column-quote] .quoteTitle {
        font-size: 18px
    }
}

[class*=column-quote] .quoteTitleLink {
    color: #006cd8
}

[class*=column-quote] .quoteSiteName {
    margin: 0 0 10px 0;
    padding: 0;
    color: #666;
    font-size: 11px
}

@media print {
    [class*=column-quote] .quoteSiteName {
        font-size: 11px
    }
}

[class*=column-quote] .quoteDescription {
    margin: 0;
    padding: 0;
    color: #333;
    line-height: 1.6;
    font-size: 12px
}

@media print {
    [class*=column-quote] .quoteDescription {
        font-size: 12px
    }
}

.column-image-left {
    float: left;
    text-align: left
}

.column-image-right {
    float: right;
    text-align: right
}

.column-image-center {
    display: block;
    float: none;
    margin-right: auto;
    margin-left: auto;
    text-align: center
}

.column-image-auto {
    float: none
}

.column-file-left {
    text-align: left;
    float: left;
    text-align: left
}

.column-file-left+.caption {
    text-align: left
}

.column-file-right {
    text-align: right;
    float: right;
    text-align: right
}

.column-file-right+.caption {
    text-align: right
}

.column-file-center {
    text-align: center;
    display: block;
    float: none;
    margin-right: auto;
    margin-left: auto;
    text-align: center
}

.column-file-center+.caption {
    text-align: center
}

.column-file-auto {
    text-align: auto;
    float: none
}

.column-file-auto+.caption {
    text-align: auto
}

.column-map-left {
    float: left;
    text-align: left
}

.column-map-right {
    float: right;
    text-align: right
}

.column-map-center {
    display: block;
    float: none;
    margin-right: auto;
    margin-left: auto;
    text-align: center
}

.column-map-auto {
    float: none
}

.column-yolp-left {
    float: left;
    text-align: left
}

.column-yolp-right {
    float: right;
    text-align: right
}

.column-yolp-center {
    display: block;
    float: none;
    margin-right: auto;
    margin-left: auto;
    text-align: center
}

.column-yolp-auto {
    float: none
}

.column-street-view-left {
    float: left;
    text-align: left
}

.column-street-view-right {
    float: right;
    text-align: right
}

.column-street-view-center {
    display: block;
    float: none;
    margin-right: auto;
    margin-left: auto;
    text-align: center
}

.column-street-view-auto {
    float: none
}

.column-youtube-left {
    float: left;
    text-align: left
}

.column-youtube-right {
    float: right;
    text-align: right
}

.column-youtube-center {
    display: block;
    float: none;
    margin-right: auto;
    margin-left: auto;
    text-align: center
}

.column-youtube-auto {
    float: none
}

.column-video-left {
    float: left;
    text-align: left
}

.column-video-right {
    float: right;
    text-align: right
}

.column-video-center {
    display: block;
    float: none;
    margin-right: auto;
    margin-left: auto;
    text-align: center
}

.column-video-auto {
    float: none
}

.column-eximage-left {
    float: left;
    text-align: left
}

.column-eximage-right {
    float: right;
    text-align: right
}

.column-eximage-center {
    display: block;
    float: none;
    margin-right: auto;
    margin-left: auto;
    text-align: center
}

.column-eximage-auto {
    float: none
}

.column-media-left {
    float: left;
    text-align: left
}

.column-media-left :not([href*=media-download]):not([href*=storage])+.caption {
    text-align: center
}

.column-media-right {
    float: right;
    text-align: right
}

.column-media-right :not([href*=media-download]):not([href*=storage])+.caption {
    text-align: center
}

.column-media-center {
    display: block;
    float: none;
    margin-right: auto;
    margin-left: auto;
    text-align: center
}

.column-media-center :not([href*=media-download]):not([href*=storage])+.caption {
    text-align: center
}

.column-media-auto {
    float: none
}

.column-media-auto :not([href*=media-download]):not([href*=storage])+.caption {
    text-align: center
}

.column-quote-left {
    float: left;
    text-align: left
}

.column-quote-right {
    float: right;
    text-align: right
}

.column-quote-center {
    display: block;
    float: none;
    margin-right: auto;
    margin-left: auto;
    text-align: center
}

.column-quote-auto {
    float: none
}

.column-module-left {
    float: left;
    text-align: left
}

.column-module-right {
    float: right;
    text-align: right
}

.column-module-center {
    display: block;
    float: none;
    margin-right: auto;
    margin-left: auto;
    text-align: center
}

.column-module-auto {
    float: none
}

.acms-entry-unit-full:not(.acms-unit-size-inherit) [class*=column-image] {
    width: auto !important;
    max-width: 100%
}

.acms-entry-unit-full:not(.acms-unit-size-inherit) [class*=column-file] {
    width: auto !important;
    max-width: 100%
}

.acms-entry-unit-full:not(.acms-unit-size-inherit) [class*=column-map] {
    width: auto !important;
    max-width: 100%
}

.acms-entry-unit-full:not(.acms-unit-size-inherit) [class*=column-yolp] {
    width: auto !important;
    max-width: 100%
}

.acms-entry-unit-full:not(.acms-unit-size-inherit) [class*=column-street-view] {
    width: auto !important;
    max-width: 100%
}

.acms-entry-unit-full:not(.acms-unit-size-inherit) [class*=column-youtube] {
    width: 100% !important
}

.acms-entry-unit-full:not(.acms-unit-size-inherit) [class*=column-video] {
    width: 100% !important
}

.acms-entry-unit-full:not(.acms-unit-size-inherit) [class*=column-eximage] {
    width: auto !important;
    max-width: 100%
}

.acms-entry-unit-full:not(.acms-unit-size-inherit) [class*=column-media] {
    width: auto !important;
    max-width: 100%
}

.acms-entry-unit-full:not(.acms-unit-size-inherit) [class*=column-quote] {
    width: auto !important;
    max-width: 100%
}

.acms-entry-unit-full:not(.acms-unit-size-inherit) [class*=column-module] {
    width: auto !important;
    max-width: 100%
}

@media(max-width: 480px) {
    [class*=acms-col-][class*=-right] {
        float: left
    }

    [class*=acms-col-][class*=-right]+* {
        clear: both
    }
}

.entry-container {
    margin-right: 10px;
    margin-left: 10px
}

.column-pdf-image {
    width: 100%;
    border: solid 1px #aaa
}

.column-inner-street-view {
    width: 100%;
    padding-bottom: 100%
}

.column-youtube,
.column-iframe {
    position: relative;
    width: 100%;
    height: 100%;
    padding-top: 30px;
    padding-bottom: 56.25%;
    overflow: hidden
}

.column-youtube iframe,
.column-youtube object,
.column-youtube embed,
.column-iframe iframe,
.column-iframe object,
.column-iframe embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.highlight1 {
    background-color: #ff6
}

.highlight2 {
    background-color: #a0ffff
}

.highlight3 {
    background-color: #9f9
}

.highlight4 {
    background-color: #f99
}

.highlight5 {
    background-color: #f6f
}

.highlight6 {
    background-color: #800
}

.entry {
    margin: 0 0 25px 0;
    border-bottom: 1px solid #2f5fbb
}

.page-header {
    margin: 0 0 20px 0
}

.entry-info {
    margin-top: 0;
    font-size: 14px
}

@media print {
    .entry-info {
        font-size: 14px
    }
}

.acms-page-header {
    border-bottom: none
}

.entry-category,
.entry-new {
    font-size: 14px
}

@media print {

    .entry-category,
    .entry-new {
        font-size: 14px
    }
}

.entry-title {
    margin: 10px 0;
    font-size: 21px
}

@media print {
    .entry-title {
        font-size: 21px
    }
}

.entry-title a {
    color: #424d58
}

.entry-title a:hover {
    color: #2f5fbb;
    text-decoration: none
}

.acms-entry h2 .entry-title {
    padding: 0
}

.entry-style-top {
    padding: 0 5px
}

.entry-style-grid {
    margin: 0 -10px
}

.entry-style {
    color: #333;
    word-wrap: break-word
}

.entry-style h2 {
    margin: 0 10px 25px 10px;
    padding: 5px 10px;
    font-size: 20px;
    color: #666;
    border-left: 4px solid #666
}

@media print {
    .entry-style h2 {
        font-size: 20px
    }
}

.entry-style h2.module-heading {
    margin: 0;
    padding: 0;
    border: 0
}

.entry-style h2.entry-heading-center {
    position: relative;
    margin: 20px 0 25px 0;
    color: #333;
    text-align: center;
    border: 0;
    font-size: 16px
}

@media print {
    .entry-style h2.entry-heading-center {
        font-size: 16px
    }
}

.entry-style h2.entry-heading-center:before {
    position: absolute;
    right: 0;
    bottom: -10px;
    left: 0;
    width: 60px;
    height: 4px;
    margin: 0 auto;
    background: #999;
    content: ""
}

.entry-style h3 {
    margin: 0 10px 20px 10px;
    padding: 5px 10px;
    font-size: 18px;
    color: #333;
    background: #e5e5e5
}

@media print {
    .entry-style h3 {
        font-size: 18px
    }
}

.entry-style h4 {
    margin: 0 10px 20px 10px;
    font-size: 18px;
    color: #333
}

@media print {
    .entry-style h4 {
        font-size: 18px
    }
}

.entry-style a:link {
    text-decoration: none
}

.entry-style a:hover,
.entry-style a:focus,
.entry-style a:active {
    text-decoration: underline
}

.entry-style a:visited {
    color: #7f5ad7;
    text-decoration: none
}

@media(min-width: 768px) {
    .entry-style h2.entry-heading-center {
        margin: 0 20px 35px 0;
        font-size: 22px
    }
}

@media print and (min-width: 768px) {
    .entry-style h2.entry-heading-center {
        font-size: 22px
    }
}

@media(min-width: 768px) {
    .entry-style h2.entry-heading-center:before {
        bottom: -15px
    }
}

.entry-style p {
    margin-top: 0;
    margin-bottom: 30px;
    font-size: 16px;
    line-height: 1.7
}

@media print {
    .entry-style p {
        font-size: 16px
    }
}

.entry-style p.entry-danger-text {
    color: #c41134;
    font-weight: bold
}

.entry-style p.summary-title {
    margin: 0 0 10px 0
}

.entry-style p.summary-detail {
    margin: 0 0 10px 0;
    font-size: 14px
}

@media print {
    .entry-style p.summary-detail {
        font-size: 14px
    }
}

.entry-style p.entry-lead-text {
    margin-bottom: 25px;
    line-height: 1.5;
    text-align: center;
    font-size: 20px
}

@media print {
    .entry-style p.entry-lead-text {
        font-size: 20px
    }
}

@media(min-width: 768px) {
    .entry-title {
        font-size: 28px
    }
}

@media print and (min-width: 768px) {
    .entry-title {
        font-size: 28px
    }
}

@media(min-width: 768px) {
    .entry-style p.entry-lead-text {
        margin: 0 0 40px 0;
        font-size: 30px
    }
}

@media print and (min-width: 768px) {
    .entry-style p.entry-lead-text {
        font-size: 30px
    }
}

.entry-container {
    margin: 0 10px
}

[class^=column-table] .entry-container {
    margin-bottom: 30px;
    overflow-x: auto
}

[class^=column-table] table {
    margin-bottom: 0
}

.entry-style table {
    width: 100%;
    border-collapse: collapse
}

.entry-style th,
.entry-style td {
    display: block;
    padding: 5px 10px;
    color: #333;
    line-height: 1.5;
    text-align: left;
    vertical-align: top;
    border-top: 1px solid #dfdfdf;
    font-size: 16px
}

@media print {

    .entry-style th,
    .entry-style td {
        font-size: 16px
    }
}

.entry-style .acms-table-responsive {
    border-top: 0;
    border-bottom: 0
}

.entry-style .acms-table-responsive th,
.entry-style .acms-table-responsive td {
    display: table-cell;
    white-space: nowrap
}

.entry-style .acms-table-responsive table {
    margin: 0
}

.entry-style th {
    background: #f5f5f5
}

.entry-style .entry-custom-table {
    margin-bottom: 25px
}

@media(min-width: 768px) {

    .entry-style th,
    .entry-style td {
        display: table-cell;
        padding: 15px 20px;
        text-align: left;
        font-size: 16px;
        border-top: 1px solid #dfdfdf
    }
}

@media print and (min-width: 768px) {

    .entry-style th,
    .entry-style td {
        font-size: 16px
    }
}

@media(min-width: 768px) {
    .entry-style th {
        background: inherit
    }
}

@media(min-width: 768px) {
    .entry-style tr:nth-child(odd) {
        background: #f5f5f5
    }
}

.entry-style ul {
    margin: 0 10px 25px 10px;
    padding: 0 0 0 2em
}

.entry-style ul li {
    margin: 0 0 5px 0;
    font-size: 16px;
    line-height: 1.5
}

@media print {
    .entry-style ul li {
        font-size: 16px
    }
}

.entry-style ul.summary-default {
    padding: 0
}

.entry-style ul.summary-default li {
    margin: 0
}

.entry-style ol {
    margin: 0 10px 25px 10px;
    padding: 0 0 0 2em
}

.entry-style ol li {
    margin: 0 0 5px 0;
    font-size: 16px;
    line-height: 1.5
}

@media print {
    .entry-style ol li {
        font-size: 16px
    }
}

.entry-style dl {
    margin-top: 0;
    margin-bottom: 30px;
    font-size: 16px;
    line-height: 1.5
}

@media print {
    .entry-style dl {
        font-size: 16px
    }
}

.entry-style dt {
    margin: 0 0 5px 0;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.2
}

@media print {
    .entry-style dt {
        font-size: 16px
    }
}

.entry-style dd {
    margin-bottom: 10px;
    margin-left: 0;
    line-height: 1.5;
    font-size: 16px
}

@media print {
    .entry-style dd {
        font-size: 16px
    }
}

.entry-style blockquote {
    box-sizing: border-box;
    width: 100%;
    margin-bottom: 30px;
    padding: 20px 10px 20px 20px;
    line-height: 1.8;
    background: #f5f5f5;
    border-left: 5px solid #dedede;
    font-size: 16px
}

@media print {
    .entry-style blockquote {
        font-size: 16px
    }
}

.entry-style .column-quote-auto blockquote {
    padding: 10px;
    border: 1px solid #d0d0d0
}

.entry-style .column-quote-auto .quoteTitleLink {
    color: #333
}

@media(min-width: 480px) {
    .entry-style blockquote {
        padding: 20px 20px 20px 30px
    }

    .entry-style .column-quote-auto blockquote {
        padding: 15px
    }
}

.entry-style pre {
    box-sizing: border-box;
    width: 100%;
    margin: 0 0 30px 0;
    font-family: "Menlo", "Monaco", "Courier New", monospace;
    white-space: pre-wrap
}

.entry-style pre ol {
    margin: 0;
    padding: 0 0 0 2.5em
}

.entry-style pre ol li {
    line-height: 1.5
}

.entry-style hr {
    border: 0;
    border-bottom: 1px solid #e5e5e5
}

.entry-style .caption {
    font-size: 13px
}

@media print {
    .entry-style .caption {
        font-size: 13px
    }
}

.column-file-auto+.caption {
    margin-left: 10px
}

[class*=column-media-] a,
[class*=column-image-] a {
    transition: opacity .2s
}

[class*=column-media-] a:hover,
[class*=column-image-] a:hover {
    opacity: .8
}

.ug-bg-color {
    margin: 0 10px 25px 10px;
    padding: 20px 10px;
    overflow: hidden;
    background: #f5f5f5
}

.ug-bg-color *:last-child {
    margin-bottom: 0
}

.ug-bg-color h2 {
    margin-bottom: 10px;
    padding-top: 0;
    padding-bottom: 0
}

.ug-bg-color h3,
.ug-bg-color h4 {
    margin-bottom: 10px
}

@media(min-width: 480px) {
    .ug-bg-color {
        padding: 25px 15px
    }
}

.entry-style .staff-list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin: 0 10px 30px;
    padding: 0;
    list-style: none;
    border-top: 1px solid #eee
}

.entry-style .staff-item {
    width: 50%;
    margin: 0
}

.entry-style .staff-inner {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    padding: 20px 10px;
    border-bottom: 1px solid #eee
}

.entry-style .staff-body {
    order: 2;
    margin: 0 0 20px 0
}

.entry-style .staff-name {
    margin: 0 0 15px 0;
    padding: 0;
    line-height: 1.3;
    text-align: center;
    background: 0;
    font-size: 20px
}

@media print {
    .entry-style .staff-name {
        font-size: 20px
    }
}

.entry-style .staff-job {
    margin: 15px 0 5px 0;
    font-size: 14px;
    line-height: 1.3;
    text-align: center
}

@media print {
    .entry-style .staff-job {
        font-size: 14px
    }
}

.entry-style .staff-profile {
    margin: 0;
    font-size: 14px
}

@media print {
    .entry-style .staff-profile {
        font-size: 14px
    }
}

.entry-style .staff-img-wrap {
    order: 1
}

.entry-style .staff-img {
    display: block;
    margin: 0 auto;
    border-radius: 100%
}

@media(min-width: 768px) {
    .entry-style .staff-item {
        width: 25%
    }

    .entry-style .staff-body {
        margin: 0
    }
}

.entry-style ul.contact-form {
    margin: 0;
    padding: 0
}

.entry-style ul.contact-form li {
    margin: 0
}

.entry-style tr.contact-form-group:nth-child(odd) {
    background: inherit
}

.entry-style .contact-form th,
.entry-style .contact-form td {
    background: inherit;
    border: 0
}

.entry-footer {
    display: flex;
    flex-direction: column;
    margin: 0 0 20px 0;
    padding: 10px;
    background: #f5f5f5
}

.entry-tag {
    margin: 0 0 5px 0
}

.entry-tag-icon {
    float: left;
    color: #707070
}

.entry-tag-item {
    float: left;
    margin: 0 0 0 10px
}

.entry-footer-item+.entry-footer-item {
    margin: 10px 0 0 0
}

@media(min-width: 768px) {
    .entry-footer {
        display: flex;
        flex-direction: row;
        align-items: center
    }

    .entry-footer-item+.entry-footer-item {
        margin: 0 0 0 auto
    }
}

.share-wrapper {
    display: flex;
    align-items: center
}

.share-text {
    display: inline;
    float: left;
    margin: 0
}

@media(min-width: 768px) {
    .share-wrapper {
        float: right
    }
}

.share-list {
    display: inline-flex;
    float: right;
    margin: 0;
    padding: 0;
    list-style: none
}

.share-item {
    display: inline-block;
    margin: 0 0 0 15px;
    vertical-align: top
}

.share-item a {
    color: #999;
    text-decoration: none
}

.share-item [class*=acms-icon] {
    font-size: 22px;
    vertical-align: middle
}

@media print {
    .share-item [class*=acms-icon] {
        font-size: 22px
    }
}

.share-item .share-item-facebook {
    position: relative;
    color: #1877f2;
    line-height: 1.2
}

.share-item .share-item-facebook:before {
    vertical-align: middle
}

.share-item .share-item-facebook:focus:before {
    position: absolute;
    top: -1px;
    right: -1px;
    bottom: -1px;
    left: -1px;
    border: 1px dotted #333;
    content: ""
}

.share-item .share-item-twitter {
    position: relative;
    color: #55acee;
    line-height: 1.2
}

.share-item .share-item-twitter:before {
    vertical-align: middle
}

.share-item .share-item-twitter:focus:before {
    position: absolute;
    top: -1px;
    right: -1px;
    bottom: -1px;
    left: -1px;
    border: 1px dotted #333;
    content: ""
}

.continue-link {
    margin: 0;
    font-size: 16px
}

@media print {
    .continue-link {
        font-size: 16px
    }
}

.continue-link a {
    display: inline-block;
    padding: 10px;
    color: #fff;
    font-weight: bold;
    line-height: 1.5;
    background: #767676;
    border-radius: 3px
}

.continue-link a [class*=acms-icon] {
    margin: 0 10px 0 0
}

.continue-link a:link,
.continue-link a:visited {
    color: #fff
}

.continue-link a:hover,
.continue-link a:focus,
.continue-link a:active {
    color: #fff;
    text-decoration: none;
    background: #aaa
}

@media(min-width: 768px) {
    .entry-tag {
        margin: 0
    }

    .continue-link a {
        padding: 5px 10px;
        font-weight: normal
    }
}

.entry-style .entry-btn-default,
.entryFormLiteEditor .entry-btn-default {
    background: #666;
    color: #fff;
    font-weight: bold;
    line-height: 1.3;
    border: 0;
    display: inline-block;
    padding: 6px 15px;
    border-radius: 3px
}

.entry-style .entry-btn-default:hover,
.entry-style .entry-btn-default:visited,
.entryFormLiteEditor .entry-btn-default:hover,
.entryFormLiteEditor .entry-btn-default:visited {
    color: #fff;
    text-decoration: none
}

.entry-style .entry-btn-default:focus,
.entry-style .entry-btn-default:active,
.entryFormLiteEditor .entry-btn-default:focus,
.entryFormLiteEditor .entry-btn-default:active {
    color: #fff;
    box-shadow: inset 0px 1px 3px 0px rgba(0, 0, 0, .5)
}

.entry-style .entry-btn-default:hover,
.entryFormLiteEditor .entry-btn-default:hover {
    color: #fff;
    background-color: #444;
    background-image: linear-gradient(to bottom, #666, #444)
}

.entry-style .entry-btn-default:active,
.entry-style .entry-btn-default:focus,
.entryFormLiteEditor .entry-btn-default:active,
.entryFormLiteEditor .entry-btn-default:focus {
    background: #444
}

.entry-style .entry-btn-attention,
.entryFormLiteEditor .entry-btn-attention {
    background: #2f5fbb;
    color: #fff;
    font-weight: bold;
    line-height: 1.3;
    border: 0;
    display: inline-block;
    padding: 6px 15px;
    border-radius: 3px
}

.entry-style .entry-btn-attention:hover,
.entry-style .entry-btn-attention:visited,
.entryFormLiteEditor .entry-btn-attention:hover,
.entryFormLiteEditor .entry-btn-attention:visited {
    color: #fff;
    text-decoration: none
}

.entry-style .entry-btn-attention:focus,
.entry-style .entry-btn-attention:active,
.entryFormLiteEditor .entry-btn-attention:focus,
.entryFormLiteEditor .entry-btn-attention:active {
    color: #fff;
    box-shadow: inset 0px 1px 3px 0px rgba(0, 0, 0, .5)
}

.entry-style .entry-btn-attention:hover,
.entryFormLiteEditor .entry-btn-attention:hover {
    color: #fff;
    background-color: #789ad4;
    background-image: linear-gradient(to bottom, #2f5fbb, #789ad4)
}

.entry-style .entry-btn-attention:active,
.entry-style .entry-btn-attention:focus,
.entryFormLiteEditor .entry-btn-attention:active,
.entryFormLiteEditor .entry-btn-attention:focus {
    background: #789ad4
}

.entry-style .entry-btn-icon-before,
.entryFormLiteEditor .entry-btn-icon-before {
    margin: 0 10px 0 0
}

.entry-style .entry-btn-icon-after,
.entryFormLiteEditor .entry-btn-icon-after {
    margin: 0 0 0 10px
}

.field-title {
    padding: 0 10px
}

.field-title:first-child {
    margin: 0 0 10px 0
}

.field-table-inner {
    width: 100%
}

.field-table-inner th,
.field-table-inner td {
    border: 0
}

.main:before,
.main:after {
    display: table;
    content: " "
}

.main:after {
    clear: both
}

.main-inner {
    width: 100%;
    max-width: 820px
}

.main-inner.is-space-left {
    float: right
}

.main-inner.is-space-right {
    float: left
}

.main-inner.is-space-center {
    margin: 0 auto
}

.brp {
    display: block
}

.brs {
    display: none
}

@media screen and (min-width: 768px) {
    .brp {
        display: none
    }

    .brs {
        display: block
    }
}

.pos-rel {
    position: relative
}

.img-radius {
    border-radius: 20px
}

.radius-img {
    border-radius: 20px
}

.text-center {
    text-align: center
}

.top--service--bg {
    position: relative;
    overflow: hidden
}

.top--service--bg:before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    height: 330px;
    margin-left: 40px;
    background-color: #e9eff8;
    border-top-left-radius: 80px 80px;
    border-bottom-left-radius: 80px 80px;
    content: ""
}

.top--company--bg {
    position: relative;
    overflow: hidden
}

.top--company--bg:before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    height: 330px;
    margin-right: 40px;
    background-color: #e9eff8;
    border-top-right-radius: 80px 80px;
    border-bottom-right-radius: 80px 80px;
    content: ""
}

.category--title {
    position: relative;
    margin-bottom: 60px;
    color: #2f5fbb;
    font-weight: 300;
    letter-spacing: 2px;
    text-align: center;
    font-size: 28px
}

@media print {
    .category--title {
        font-size: 28px
    }
}

.category--title:before {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 50px;
    height: 1px;
    margin-bottom: -20px;
    margin-left: -25px;
    background-color: #8398bb;
    content: ""
}

.category--head--text {
    font-size: 16px
}

@media print {
    .category--head--text {
        font-size: 16px
    }
}

.section--third {
    font-size: 18px;
    padding-bottom: 6px;
    color: #2f5fbb;
    border-bottom: 1px solid #2f5fbb
}

@media print {
    .section--third {
        font-size: 18px
    }
}

.section--third-center {
    color: #2f5fbb;
    text-align: center
}

@media screen and (min-width: 768px) {
    .category--title {
        font-size: 48px
    }

    .category--head--text {
        font-size: 24px;
        text-align: center
    }

    .section--third {
        font-size: 24px
    }

    .section--third-center {
        font-size: 24px
    }
}

.grass--top--logo {
    display: flex;
    justify-content: center
}

.grass--top--logo img {
    width: 340px;
    height: auto
}

@media screen and (min-width: 768px) {
    .grass--top--logo img {
        width: 600px
    }
}

.grass--know--box {
    padding: 20px;
    background-color: #e9eff8;
    border-radius: 20px
}

.grass--know--box h3 {
    color: #2f5fbb;
    text-align: center;
    font-size: 24px
}

@media print {
    .grass--know--box h3 {
        font-size: 24px
    }
}

.grass--know--box img {
    border-radius: 20px
}

.grass--know--box p {
    line-height: 1.8
}

.grass--example h4 {
    margin-top: 0;
    margin-bottom: 8px;
    font-weight: 300
}

.grass--example img {
    border-radius: 20px
}

.grass--example p {
    margin-top: 6px;
    font-size: 16px;
    text-align: center
}

.grass--example--list--flex ul {
    display: flex;
    flex-wrap: wrap
}

.grass--example--list--flex ul li {
    margin-right: 40px;
    font-size: 16px
}

@media print {
    .grass--example--list--flex ul li {
        font-size: 16px
    }
}

.grass--faq--box {
    margin-bottom: 20px;
    padding: 20px;
    background-color: #fff;
    border-radius: 20px
}

.grass--faq--box .grass--faq--box-q {
    display: flex;
    margin-bottom: 10px;
    padding-bottom: 10px;
    color: #2f5fbb;
    border-bottom: 1px solid #707070
}

.grass--faq--box .grass--faq--box-q span {
    display: block;
    margin-right: 10px
}

.grass--faq--box .grass--faq--box-a {
    display: flex;
    color: #c1351b
}

.grass--faq--box .grass--faq--box-a span {
    display: block;
    margin-right: 10px
}

@media screen and (min-width: 768px) {
    .grass--know--box {
        padding: 60px;
        background-color: #e9eff8;
        border-radius: 20px
    }

    .grass--know--box img {
        margin-bottom: 40px;
        border-radius: 20px
    }

    .grass--know--box h3 {
        margin-top: 0
    }

    .grass--know--box p {
        font-size: 16px;
        margin-left: 20px
    }

    .grass--example h4 {
        margin-top: 0;
        margin-bottom: 8px;
        font-weight: 300
    }

    .grass--example img {
        border-radius: 20px
    }

    .grass--example p {
        margin-top: 6px;
        font-size: 18px
    }

    .grass--faq--box {
        padding: 40px
    }

    .grass--faq--box .grass--faq--box-q {
        font-size: 18px
    }

    .grass--faq--box .grass--faq--box-a {
        font-size: 18px
    }
}

a.benry-img {
    display: block;
    width: 300px;
    margin: 0 auto;
    color: #424d58;
    text-align: center
}

a.benry-img p {
    font-size: 16px;
    margin: 0
}

@media print {
    a.benry-img p {
        font-size: 16px
    }
}

a.benry-img:hover {
    text-decoration: none;
    opacity: .8
}

@media screen and (min-width: 768px) {
    a.benry-img {
        width: 530px
    }

    a.benry-img p {
        font-size: 18px
    }
}

.insurance-four-title {
    font-size: 18px;
    font-weight: 300
}

@media print {
    .insurance-four-title {
        font-size: 18px
    }
}

.insurance--flow--box {
    position: relative;
    margin-bottom: 40px;
    padding-right: 20px;
    padding-left: 20px
}

.insurance--flow--box:after {
    position: absolute;
    right: 0;
    bottom: -20px;
    left: 0;
    width: 0px;
    height: 0px;
    margin: auto;
    border-color: #2f5fbb rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
    border-style: solid;
    border-width: 10px 10px 0 10px;
    content: ""
}

.insurance--flow--box.insurance--flow--box__none:after {
    content: none
}

.insurance--flow--box__head {
    font-size: 20px;
    padding-top: 20px;
    padding-bottom: 20px;
    text-align: center;
    background-color: #e9eff8;
    border-radius: 20px
}

@media print {
    .insurance--flow--box__head {
        font-size: 20px
    }
}

.insurance--flow--box__text {
    padding-right: 10px;
    padding-left: 10px;
    font-weight: 300;
    font-size: 15px
}

@media print {
    .insurance--flow--box__text {
        font-size: 15px
    }
}

@media screen and (min-width: 768px) {
    .insurance--flow--box {
        position: relative;
        margin-bottom: 0px;
        padding-right: 30px;
        padding-left: 30px
    }

    .insurance--flow--box:after {
        content: none
    }

    .insurance--flow--box:before {
        position: absolute;
        top: 0;
        right: 0;
        width: 0px;
        height: 0px;
        margin: 0;
        margin-top: 20px;
        margin-right: -16px;
        border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #2f5fbb;
        border-style: solid;
        border-width: 10px 0 10px 10px;
        content: ""
    }

    .insurance--flow--box.insurance--flow--box__none:before {
        content: none
    }
}

.company--officer--title {
    font-size: 24px;
    color: #2f5fbb;
    font-weight: 300
}

@media print {
    .company--officer--title {
        font-size: 24px
    }
}

.company--officer--text {
    font-size: 16px;
    line-height: 1.6
}

@media print {
    .company--officer--text {
        font-size: 16px
    }
}

.company--officer--name {
    font-size: 18px;
    text-align: right
}

@media print {
    .company--officer--name {
        font-size: 18px
    }
}

.company--officer--name span {
    font-size: 14px;
    margin-right: 16px
}

@media print {
    .company--officer--name span {
        font-size: 14px
    }
}

.company--officer--img img {
    border-radius: 20px 0 20px 0
}

.company-info {
    margin-top: 20px
}

.company-info dl {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    color: #2f5fbb
}

.company-info dt {
    width: 30%;
    margin-bottom: 20px;
    padding-bottom: 20px;
    color: #2f5fbb;
    font-size: 15px;
    border-bottom: solid 1px #707070
}

@media print {
    .company-info dt {
        font-size: 15px
    }
}

.company-info dd {
    width: 70%;
    margin-bottom: 20px;
    padding-bottom: 20px;
    font-size: 15px;
    color: #424d58;
    border-bottom: solid 1px #707070;
    -webkit-margin-start: 0px;
    margin-inline-start: 0px
}

@media print {
    .company-info dd {
        font-size: 15px
    }
}

@media screen and (min-width: 768px) {
    .company-info {
        margin-top: 20px
    }

    .company-info dt {
        font-size: 18px
    }

    .company-info dd {
        font-size: 16px
    }
}

#adminBox,
.acms-admin-box {
    margin-top: 60px
}

.fadeUp {
    opacity: 0;
    -webkit-animation-name: fadeUpAnime;
    animation-name: fadeUpAnime;
    -webkit-animation-duration: .5s;
    animation-duration: .5s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards
}

@-webkit-keyframes fadeUpAnime {
    from {
        transform: translateY(80px);
        opacity: 0
    }

    to {
        transform: translateY(0);
        opacity: 1
    }
}

@keyframes fadeUpAnime {
    from {
        transform: translateY(80px);
        opacity: 0
    }

    to {
        transform: translateY(0);
        opacity: 1
    }
}

.fadeUpTrigger {
    opacity: 0
}

.duration-time05 {
    -webkit-animation-duration: .5s;
    animation-duration: .5s
}

.duration-time1 {
    -webkit-animation-duration: 1s;
    animation-duration: 1s
}

.duration-time15 {
    -webkit-animation-duration: 1.5s;
    animation-duration: 1.5s
}

.duration-time20 {
    -webkit-animation-duration: 2s;
    animation-duration: 2s
}

.duration-time25 {
    -webkit-animation-duration: 2.5s;
    animation-duration: 2.5s
}

.side-title {
    margin-top: 0;
    font-size: 18px
}

@media print {
    .side-title {
        font-size: 18px
    }
}

.contact-box .message-group {
    margin: 0 0 35px 0
}

.contact-box .message-text {
    color: #2f5fbb;
    font-weight: bold
}

.contact-box .contact-no {
    margin: 0;
    color: #333;
    font-weight: bold;
    font-size: 30px
}

@media print {
    .contact-box .contact-no {
        font-size: 30px
    }
}

.contact-box .contact-no a {
    color: inherit
}

.contact-box .error-text {
    margin: 5px 0 0 0;
    color: #c41134
}

.contact-box p {
    line-height: 1.6
}

.contact--outer {
    padding: 10px 10px 20px 10px;
    background-color: #d3e4fd;
    border-radius: 20px
}

.contact--outer h2 {
    color: #2f5fbb;
    font-weight: bold;
    text-align: center;
    font-size: 18px
}

@media print {
    .contact--outer h2 {
        font-size: 18px
    }
}

.contact--inner {
    padding-top: 10px;
    padding-bottom: 10px;
    background-color: #fff;
    border-radius: 20px
}

@media(min-width: 768px) {
    .contact--outer {
        padding: 20px 80px 40px 80px;
        background-color: #d3e4fd
    }

    .contact--outer h2 {
        font-size: 24px
    }
}

@media print and (min-width: 768px) {
    .contact--outer h2 {
        font-size: 24px
    }
}

@media(min-width: 768px) {
    .contact--inner {
        padding-top: 40px;
        padding-bottom: 40px
    }
}

.contact-form {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin: 0 0 20px 0;
    padding: 0;
    list-style: none
}

.contact-form-heading {
    margin: 40px 0 10px 0
}

.contact-form-group {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    padding: 0
}

.contact-form-group fieldset {
    display: contents;
    border: 0
}

.contact-form-label {
    display: block;
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding: 10px 10px 0 10px;
    font-weight: bold;
    text-align: left
}

.contact-form-control {
    display: block;
    box-sizing: border-box;
    width: 100%;
    padding: 10px
}

.contact-form-grid {
    margin: 0 -5px
}

.contact-form-col,
.acms-entry .contact-form-col {
    margin: 0 0 10px 0;
    padding: 0 5px
}

.contact-form-col:last-child,
.acms-entry .contact-form-col:last-child {
    margin: 0
}

.acms-form textarea,
.acms-form .entryFormLiteEditor {
    border-radius: 10px
}

.acms-form input[type=text],
.acms-form input[type=password],
.acms-form input[type=datetime],
.acms-form input[type=datetime-local],
.acms-form input[type=date],
.acms-form input[type=month],
.acms-form input[type=time],
.acms-form input[type=week],
.acms-form input[type=number],
.acms-form input[type=email],
.acms-form input[type=url],
.acms-form input[type=search],
.acms-form input[type=tel] {
    border-radius: 10px
}

@media(min-width: 768px) {
    .contact-form {
        width: 100%
    }

    .contact-form-label {
        width: 30%;
        padding: 15px 15px 5px 15px;
        vertical-align: top
    }

    .contact-form-control {
        width: 70%;
        padding: 5px 15px 15px 15px
    }

    .contact-form-col {
        margin: 0
    }
}

.contact-box .mail-step {
    margin: 0 0 25px 0;
    padding: 0 10px;
    background: #e5e5e5;
    counter-reset: mailStep
}

.contact-box .mail-step-item {
    float: left;
    margin: 0 5px;
    padding: 14px 0 10px;
    color: #999;
    font-weight: bold;
    list-style: none;
    border-bottom: 4px solid rgba(0, 0, 0, 0);
    font-size: 14px
}

@media print {
    .contact-box .mail-step-item {
        font-size: 14px
    }
}

.contact-box .mail-step-item:before {
    content: counter(mailStep) ".";
    counter-increment: mailStep
}

.contact-box .mail-step-item-current {
    color: #333;
    border-bottom: 4px solid #424d58
}

@media(min-width: 768px) {
    .contact-box .mail-step-item {
        margin: 0 10px;
        padding: 18px 0 14px;
        font-size: 16px
    }
}

@media print and (min-width: 768px) {
    .contact-box .mail-step-item {
        font-size: 16px
    }
}

.form-btn-box {
    margin: 0 10px 50px 10px;
    text-align: center
}

.form-btn {
    display: inline-block
}

@media(min-width: 768px) {
    .form-btn-send {
        width: 100%;
        max-width: 360px
    }
}

.label-required {
    margin: 0 5px;
    padding: 2px 8px;
    color: #fff;
    background: #c41134;
    border-radius: 3px;
    font-size: 12px
}

@media print {
    .label-required {
        font-size: 12px
    }
}

@media(min-width: 768px) {
    .label-required {
        margin: 0 10px
    }
}

.contact-box select[required]:required {
    border: 1px solid #c49511
}

.contact-box select.focused:invalid {
    border: 1px solid #c41134
}

.contact-box select[required]:valid {
    border: 1px solid #a7a7aa
}

.contact-box input[required]:required,
.contact-box textarea[required]:required {
    background: #fffdeb
}

.contact-box input.focused:invalid,
.contact-box textarea.focused:invalid {
    background: #ffebee
}

.contact-box input[required]:valid,
.contact-box textarea[required]:valid {
    background: #fff
}

.contact-box input[type=text],
.contact-box input[type=password],
.contact-box input[type=datetime],
.contact-box input[type=datetime-local],
.contact-box input[type=date],
.contact-box input[type=month],
.contact-box input[type=time],
.contact-box input[type=week],
.contact-box input[type=number],
.contact-box input[type=email],
.contact-box input[type=url],
.contact-box input[type=search],
.contact-box input[type=tel] {
    box-sizing: border-box;
    min-height: 30px;
    padding: 0 5px;
    font-size: 16px
}

@media print {

    .contact-box input[type=text],
    .contact-box input[type=password],
    .contact-box input[type=datetime],
    .contact-box input[type=datetime-local],
    .contact-box input[type=date],
    .contact-box input[type=month],
    .contact-box input[type=time],
    .contact-box input[type=week],
    .contact-box input[type=number],
    .contact-box input[type=email],
    .contact-box input[type=url],
    .contact-box input[type=search],
    .contact-box input[type=tel] {
        font-size: 16px
    }
}

.contact-box textarea {
    font-size: 16px;
    padding: 5px 5px 4px
}

@media print {
    .contact-box textarea {
        font-size: 16px
    }
}

.contact-box select {
    min-height: 30px;
    padding-top: 4px;
    padding-bottom: 4px;
    vertical-align: top;
    background-color: #f7f7f7;
    font-size: 16px
}

@media print {
    .contact-box select {
        font-size: 16px
    }
}

@media(min-width: 768px) {

    .contact-box input[type=text],
    .contact-box input[type=password],
    .contact-box input[type=datetime],
    .contact-box input[type=datetime-local],
    .contact-box input[type=date],
    .contact-box input[type=month],
    .contact-box input[type=time],
    .contact-box input[type=week],
    .contact-box input[type=number],
    .contact-box input[type=email],
    .contact-box input[type=url],
    .contact-box input[type=search],
    .contact-box input[type=tel] {
        min-height: 40px;
        padding: 5px 8px
    }

    .contact-box textarea {
        padding: 5px 8px
    }

    .contact-box select {
        min-height: 40px;
        padding-left: 8px
    }
}

.valid-mark {
    display: none
}

.valid-mark.valid {
    display: inline;
    float: right;
    color: #5cb85c
}

.invalid {
    background-color: #ffebee !important
}

.realestate-map {
    overflow: hidden
}

.realestate-map .js-s2d-ready,
.realestate-map [class*=column-map-] {
    width: auto !important;
    max-width: 100%
}

.realestate-map img[class*=column-map-] {
    width: auto !important;
    max-width: 100%;
    height: auto
}

.realestate-map-entry {
    margin: 0 10px
}

.entry-column table.realestate-search {
    margin: 20px 0 30px 0
}

@media screen and (min-width: 1024px) {
    .table-nowrap {
        white-space: nowrap
    }
}

.realestate-search {
    border-collapse: collapse
}

.realestate-search input {
    box-sizing: border-box
}

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

    .realestate-search th,
    .realestate-search td {
        display: block;
        box-sizing: border-box
    }

    .realestate-search input {
        box-sizing: border-box
    }
}

.realestate-search-group {
    display: flex
}

.realestate-search-item {
    display: flex;
    align-items: center;
    margin: 0 0 10px 0
}

.realestate-search-label {
    max-width: 6em;
    padding: 0 10px;
    font-weight: bold;
    white-space: nowrap
}

.realestate-search-input {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0 10px
}

.realestate-search-select-price {
    width: calc(50% - 1em)
}

.realestate-search-select-connector {
    padding: 0 .5em
}

.realestate-search-footer {
    display: flex;
    justify-content: center;
    margin: 0 0 15px 0;
    padding: 5px 10px 10px 10px
}

@media(max-width: 767px) {
    .realestate-search-group {
        flex-direction: column
    }

    .realestate-search-input {
        padding: 0
    }
}

.footer-suggest-flex {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-around
}

.footer-item-flex {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    color: #424d58
}

.footer-item-flex a {
    display: block;
    padding: 10px 20px;
    color: #424d58
}

.footer-item-flex a:hover {
    color: #789ad4;
    text-decoration: none
}

.foot-wrapper {
    padding: 30px 0
}

.company-about {
    margin: 0 0 30px 0;
    line-height: 1.5
}

.company-name {
    margin: 0 0 15px 0;
    font-size: 20px;
    font-style: normal
}

@media print {
    .company-name {
        font-size: 20px
    }
}

.company-detail {
    margin: 0 0 5px 0;
    padding: 0;
    font-size: 14px;
    font-style: normal
}

@media print {
    .company-detail {
        font-size: 14px
    }
}

.company-detail a:hover {
    text-decoration: underline
}

.footer-logo img {
    width: 280px
}

@media screen and (min-width: 768px) {
    .footer-logo img {
        width: 340px
    }
}

.footer-nav {
    float: right;
    margin: 0px
}

.footer-nav-item {
    display: block;
    float: left;
    box-sizing: border-box;
    width: 25%;
    margin: 0 0 10px 0;
    padding: 0 10px;
    vertical-align: top
}

.footer-nav-title {
    margin: 0 0 15px 0;
    color: #fff;
    font-size: 16px
}

@media print {
    .footer-nav-title {
        font-size: 16px
    }
}

.footer-nav-list {
    padding: 0;
    color: #999;
    list-style: none
}

.footer-nav-list li {
    line-height: 1.7
}

.footer-nav-list a {
    display: inline-block;
    margin: 0 0 3px 0;
    padding: 2px 0;
    color: #aaa
}

@media screen and (min-width: 768px) {
    .foot-wrapper {
        padding: 50px 0 30px
    }
}

@media screen and (max-width: 767px) {
    .footer-nav {
        display: none
    }
}

.page-top a:focus {
    display: block;
    border: 1px dotted #fff
}

.page-top-btn {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 1000;
    display: block;
    width: 44px;
    height: 44px;
    overflow: hidden;
    white-space: nowrap;
    text-indent: 100%;
    background: url(../assets/img/imgi_12_default.png) no-repeat center;
    transform: translateZ(0);
    right: calc(20px + constant(safe-area-inset-right));
    opacity: 0;
    transition: opacity .2s ease-out
}

.no-js .page-top-btn {
    opacity: .6
}

.page-top-btn-appear {
    opacity: 1
}

@media screen and (max-width: 767px) {
    .page-top-btn {
        display: none
    }
}

@media screen and (min-width: 768px) {
    .page-top-btn:hover {
        opacity: .8;
        transition: opacity .25s linear
    }
}

.sns-list {
    margin: 0 -5px 30px 15px;
    padding: 0;
    list-style: none
}

.sns-list-item {
    float: left;
    margin: 0 5px
}

.sns-list-item a:hover,
.sns-list-item a:visited,
.sns-list-item a:active,
.sns-list-item a:focus {
    text-decoration: none
}

.sns-list-item .sns-list-facebook {
    display: block;
    width: 30px;
    height: 30px;
    color: #fff;
    line-height: 1.5;
    text-align: center;
    background: #1877f2;
    border-radius: 4px;
    font-size: 19px
}

@media print {
    .sns-list-item .sns-list-facebook {
        font-size: 19px
    }
}

.sns-list-item .sns-list-facebook:before {
    vertical-align: middle
}

.sns-list-item .sns-list-twitter {
    display: block;
    width: 30px;
    height: 30px;
    color: #fff;
    line-height: 1.5;
    text-align: center;
    background: #55acee;
    border-radius: 4px;
    font-size: 19px
}

@media print {
    .sns-list-item .sns-list-twitter {
        font-size: 19px
    }
}

.sns-list-item .sns-list-twitter:before {
    vertical-align: middle
}

.sns-list-item .sns-list-youtube {
    display: block;
    width: 30px;
    height: 30px;
    color: #fff;
    line-height: 1.5;
    text-align: center;
    background: #cd201f;
    border-radius: 4px;
    font-size: 19px
}

@media print {
    .sns-list-item .sns-list-youtube {
        font-size: 19px
    }
}

.sns-list-item .sns-list-youtube:before {
    vertical-align: middle
}

@media screen and (min-width: 768px) {
    .sns-list {
        float: right;
        margin: 0 -10px
    }

    .sns-list-item {
        margin: 10px
    }

    .sns-list-item a:hover {
        opacity: .8;
        transition: opacity .25s linear
    }
}

.copyright {
    margin: 0;
    color: #707070
}

.copyright-text {
    margin: 0 auto
}

.copryright-logo {
    vertical-align: middle
}

header {
    position: relative
}

a.contact--fixed--btn {
    display: none
}

.site-name {
    margin: 0;
    font-size: 24px;
    color: #2f5fbb;
    font-weight: bold
}

@media print {
    .site-name {
        font-size: 24px
    }
}

.header-stack .site-name {
    margin: 30px 0 20px
}

.site-name a {
    color: #2f5fbb
}

.site-name a:hover,
.site-name a:focus,
.site-name a:active,
.site-name a:visited {
    color: #2f5fbb
}

.site-logo {
    display: none;
    width: 200px;
    height: auto;
    margin: 0 10px 0 0;
    vertical-align: middle
}

.site-logo-sm {
    display: block;
    width: 280px;
    height: auto;
    margin: 5px 4px;
    vertical-align: middle
}

.site-name-text {
    display: inline;
    vertical-align: middle
}

.edit-link {
    display: inline-block;
    vertical-align: middle;
    font-size: 14px
}

@media print {
    .edit-link {
        font-size: 14px
    }
}

.header-nav {
    position: relative;
    display: none
}

@media(min-width: 1024px) {
    a.contact--fixed--btn {
        position: absolute;
        top: 0;
        right: 0;
        z-index: 3;
        display: block;
        width: 100px;
        height: 100px;
        text-align: center;
        background-color: #2f5fbb
    }

    a.contact--fixed--btn .contact--fixed--btn__img {
        width: 55px;
        height: auto;
        padding-top: 8px
    }

    a.contact--fixed--btn .contact--fixed--btn__text {
        height: auto;
        color: #fff;
        font-weight: bold
    }

    a.contact--fixed--btn:hover {
        color: #fff;
        text-decoration: none;
        background-color: #789ad4
    }

    .site-name {
        font-size: 24px
    }
}

@media print and (min-width: 1024px) {
    .site-name {
        font-size: 24px
    }
}

@media(min-width: 1024px) {
    .header-stack .site-name {
        text-align: center
    }
}

@media(min-width: 1024px) {
    .site-logo {
        display: inline-block;
        width: 260px;
        height: auto;
        margin: 0 10px 0 0;
        vertical-align: middle
    }
}

@media(min-width: 1024px) {
    .site-logo-sm {
        display: none
    }
}

@media(min-width: 1024px) {
    .header {
        display: table;
        width: 100%
    }

    .header-stack .header {
        display: block
    }
}

@media(min-width: 1024px) {
    .header-logo {
        width: 100%;
        vertical-align: middle
    }

    .header-stack .header-logo {
        display: block
    }
}

@media(min-width: 1024px) {
    .header-nav {
        display: none;
        margin-right: 100px;
        vertical-align: middle
    }

    .header-stack .header-nav {
        display: block;
        width: 100%;
        margin: 0 0 15px 0
    }

    .header-nav .header--pos {
        margin-right: 100px
    }
}

@media(min-width: 1024px) {
    .header-logo {
        display: table-cell;
        width: 30%
    }

    .header-stack .header-logo {
        display: block;
        width: 100%
    }
}

@media(min-width: 1024px) {
    .header-nav {
        display: table-cell;
        width: 70%
    }

    .header-stack .header-nav {
        display: block;
        width: 100%;
        margin: 0 0 15px 0
    }
}

@media(min-width: 1440px) {
    .site-logo {
        display: inline-block;
        width: 460px;
        height: auto;
        margin: 0 10px 0 40px;
        vertical-align: middle
    }
}

.header-logo {
    padding: 60px 0 0 0
}

.site-header {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 9999;
    box-sizing: border-box;
    width: 100%;
    padding: 0 16px 0 5px;
    background: #fff;
    padding: 0 calc(5px + constant(safe-area-inset-right)) 0 calc(5px + constant(safe-area-inset-left))
}

.nav-menu-btn {
    display: inline-block;
    box-sizing: border-box;
    height: 44px;
    padding: 7px 5px;
    color: #424d58;
    font-size: 20px
}

@media print {
    .nav-menu-btn {
        font-size: 20px
    }
}

a .nav-menu-btn {
    color: #424d58
}

.nav-menu-btn:hover {
    color: #424d58;
    text-decoration: none
}

.nav-menu-btn .acms-icon-sort {
    display: inline-block
}

.nav-menu-btn-text {
    display: inline-block;
    margin: 0 0 0 5px;
    color: #333;
    font-weight: bold;
    vertical-align: middle;
    font-size: 11px
}

@media print {
    .nav-menu-btn-text {
        font-size: 11px
    }
}

.nav-menu-action {
    display: table;
    float: right;
    margin: 0;
    padding: 0
}

.nav-menu-action-item {
    display: table-cell;
    width: 44px;
    height: 44px;
    color: #424d58;
    text-align: center;
    vertical-align: middle;
    font-size: 20px
}

@media print {
    .nav-menu-action-item {
        font-size: 20px
    }
}

.nav-menu-action-link {
    color: #424d58
}

.nav-menu-action-link:hover,
.nav-menu-action-link:active,
.nav-menu-action-link:visited,
.nav-menu-action-link:focus {
    color: #424d58;
    text-decoration: none
}

.mobile-nav-sec-text {
    color: #2f5fbb;
    font-size: 14px
}

.navbar {
    display: none;
    width: 100%
}

.navbar.acms-admin-module-edit-wrapper {
    z-index: 1
}

.navbar ul {
    margin: 0;
    padding: 0;
    list-style: none
}

.navbar li a {
    display: block;
    padding: 10px;
    color: #333;
    font-weight: bold;
    font-size: 16px
}

@media print {
    .navbar li a {
        font-size: 16px
    }
}

.navbar li a:hover,
.navbar li a:focus,
.navbar li a:active {
    color: #fff;
    text-decoration: none;
    background: #2f5fbb
}

@media(min-width: 1024px) {
    .header {
        height: 100px
    }

    .navbar {
        display: inline-block;
        vertical-align: middle
    }

    .navbar>ul {
        display: flex;
        place-content: center flex-end;
        flex-wrap: wrap;
        float: right;
        padding: 0;
        list-style: none
    }

    .header-stack .navbar>ul {
        display: table;
        float: none;
        width: 100%;
        table-layout: fixed;
        border-right: 1px solid #eee
    }

    .navbar li {
        position: relative;
        display: flex;
        float: left;
        margin: 0 10px;
        text-align: center;
        vertical-align: middle;
        place-items: center
    }

    .header-stack .navbar li.navbar-btn {
        padding: 0 10px
    }

    .header-stack .navbar li {
        display: table-cell;
        float: none;
        border-left: 1px solid #eee
    }

    .navbar li ul {
        position: absolute;
        top: 100%;
        left: 0;
        display: none;
        min-width: 200px
    }

    .navbar li li {
        margin: 0
    }

    .header-stack .navbar li li {
        display: block;
        border: 0
    }

    .navbar li a {
        padding: 0;
        border-top: 4px solid rgba(0, 0, 0, 0);
        border-bottom: 4px solid rgba(0, 0, 0, 0);
        transition: border .25s ease-out
    }

    .navbar li a:hover,
    .navbar li a:focus,
    .navbar li a:active {
        color: #333;
        background: rgba(0, 0, 0, 0)
    }

    .header-stack .navbar li a {
        display: block;
        padding: 10px;
        font-size: 16px
    }
}

@media print and (min-width: 1024px) {
    .header-stack .navbar li a {
        font-size: 16px
    }
}

@media(min-width: 1024px) {
    .navbar li.stay a {
        border-bottom: 4px solid #2f5fbb
    }

    .navbar li.stay a.btn-attention {
        border: 0
    }
}

@media(min-width: 1024px) {
    .navbar li:hover ul {
        z-index: 10000;
        display: block;
        -webkit-animation: .8s fade-in;
        animation: .8s fade-in
    }

    .navbar li:hover a {
        border-bottom: 4px solid #2f5fbb
    }

    .navbar li:hover a.btn-attention {
        border: 0
    }

    .navbar li:hover li a {
        border: 0
    }
}

@media(min-width: 1024px) {
    .navbar li li {
        display: block;
        float: none;
        text-align: left;
        background: #2f5fbb;
        border: 0;
        border-top: 1px solid #789ad4
    }

    .navbar li li:first-child {
        border: 0
    }

    .navbar li li a {
        margin: 0;
        padding: 10px 15px;
        color: #fff;
        border: 0
    }

    .navbar li li a:hover {
        color: #fff;
        background: #789ad4;
        border: 0
    }
}

@media(min-width: 1024px) {
    .navbar a.btn-attention {
        background: #2f5fbb;
        color: #fff;
        font-weight: bold;
        line-height: 1.3;
        border: 0;
        display: inline-block;
        padding: 6px 15px;
        border-radius: 3px;
        border: 0
    }

    .navbar a.btn-attention:hover,
    .navbar a.btn-attention:visited {
        color: #fff;
        text-decoration: none
    }

    .navbar a.btn-attention:focus,
    .navbar a.btn-attention:active {
        color: #fff;
        box-shadow: inset 0px 1px 3px 0px rgba(0, 0, 0, .5)
    }

    .navbar a.btn-attention:hover {
        color: #fff;
        background-color: #789ad4;
        background-image: linear-gradient(to bottom, #2f5fbb, #789ad4);
        border: 0
    }

    .navbar a.btn-attention:active,
    .navbar a.btn-attention:focus {
        background: #789ad4
    }
}

@media(min-width: 1024px) {
    .header-logo {
        padding: 0
    }

    .navbar ul li a {
        font-size: 14px
    }
}

@media print and (min-width: 1024px) {
    .navbar ul li a {
        font-size: 14px
    }
}

@media(min-width: 1440px) {
    .navbar ul li a {
        font-size: 16px
    }
}

@media print and (min-width: 1440px) {
    .navbar ul li a {
        font-size: 16px
    }
}

.navbar-side {
    position: absolute;
    top: 0;
    right: 0;
    font-size: 11px;
    text-align: right
}

@media print {
    .navbar-side {
        font-size: 11px
    }
}

.navbar-side-list {
    display: inline-block;
    margin: 0;
    padding: 0;
    overflow: hidden;
    list-style: none;
    background: #333;
    border-radius: 0 0 4px 4px
}

.navbar-side-item {
    position: relative;
    display: inline-block;
    color: #fff
}

.navbar-side-item:before {
    position: absolute;
    top: 5px;
    bottom: 0;
    left: 0;
    display: block;
    height: 1em;
    border-left: 1px dotted #fff;
    content: ""
}

.navbar-side-item:first-child:before {
    content: none
}

.navbar-side-link {
    display: inline-block;
    padding: 4px 14px 4px 10px;
    color: #fff
}

.navbar-side-link [class*=acms-icon] {
    margin: -2px 5px 0 0
}

.navbar-side-link:hover,
.navbar-side-link:visited,
.navbar-side-link:active,
.navbar-side-link:focus {
    color: #fff
}

.navbar-side-link:hover [class*=acms-icon] {
    text-decoration: none
}

.nav-flex-bar {
    display: flex;
    align-items: center;
    justify-content: space-between
}

.nav-flex-item-bar {
    display: flex;
    align-items: center
}

.icon-toggle-menu {
    position: relative;
    display: inline-block;
    width: 28px;
    height: 2px;
    margin: 6px 0;
    vertical-align: middle;
    background-color: #333;
    border-radius: 1px;
    transition: .1s all
}

.icon-toggle-menu:before,
.icon-toggle-menu:after {
    position: absolute;
    display: block;
    width: 28px;
    height: 2px;
    background-color: #333;
    border-radius: 1px;
    transition: .3s all;
    content: ""
}

.icon-toggle-menu:before {
    top: -6px
}

.icon-toggle-menu:after {
    bottom: -6px
}

[aria-expanded=true] .icon-toggle-menu {
    background: rgba(0, 0, 0, 0)
}

[aria-expanded=true] .icon-toggle-menu:before {
    width: 22px;
    transform: translate(-2px, 6px) rotate(45deg)
}

[aria-expanded=true] .icon-toggle-menu:after {
    width: 22px;
    transform: translate(-2px, -6px) rotate(-45deg)
}

@media(max-width: 1023px) {
    .is-locked {
        overflow: hidden
    }

    .mobile-nav {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 1000;
        display: none;
        box-sizing: border-box;
        width: 100%;
        height: 100%;
        padding-top: 60px;
        background-color: #fff;
        opacity: 0;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
        transition-duration: .3s;
        transition-property: all
    }

    .mobile-nav.is-active {
        display: block
    }

    .mobile-nav.is-opened {
        opacity: 1
    }

    .mobile-nav-wrap {
        display: flex;
        align-items: flex-start;
        box-sizing: border-box;
        box-sizing: border-box;
        width: 100%;
        height: 100%;
        overflow-y: scroll;
        -webkit-overflow-scrolling: touch
    }

    .mobile-nav-inner+.mobile-nav-inner {
        border-top: 1px solid #ccc
    }

    .mobile-navbar {
        width: 100%
    }

    .mobile-navbar-list {
        display: block;
        margin: 0;
        padding: 0;
        line-height: 2.8;
        list-style: none;
        font-size: 18px
    }
}

@media print and (max-width: 1023px) {
    .mobile-navbar-list {
        font-size: 18px
    }
}

@media(max-width: 1023px) {
    .mobile-navbar-list li {
        display: block;
        border-bottom: 1px solid #7e98be
    }
}

@media(max-width: 1023px) {
    .mobile-navbar-list .navbar-btn {
        margin-top: 10px
    }
}

@media(max-width: 1023px) {
    .mobile-navbar-list a {
        display: block;
        padding-right: 20px;
        padding-left: 20px
    }

    .mobile-navbar-list a:hover {
        color: #2f5fbb;
        text-decoration: none;
        background-color: #d3e4fd
    }
}

@media(max-width: 1023px) {

    .mobile-navbar-list a:not(.btn-attention),
    .mobile-navbar-list a:not(.btn-attention):hover,
    .mobile-navbar-list a:not(.btn-attention):visited,
    .mobile-navbar-list a:not(.btn-attention):active,
    .mobile-navbar-list a:not(.btn-attention):focus {
        color: #333
    }
}

@media(max-width: 1023px) {
    .mobile-navbar-list a.btn-attention {
        color: #2f5fbb;
        font-weight: normal;
        text-align: center;
        background: rgba(0, 0, 0, 0);
        border: 1px solid #2f5fbb;
        font-size: 16px
    }
}

@media print and (max-width: 1023px) {
    .mobile-navbar-list a.btn-attention {
        font-size: 16px
    }
}

@media(max-width: 1023px) {
    .mobile-navbar-list .mobile-navbar-list {
        margin: -5px 0 10px 10px;
        line-height: 2;
        font-size: 14px
    }
}

@media print and (max-width: 1023px) {
    .mobile-navbar-list .mobile-navbar-list {
        font-size: 14px
    }
}

@media(max-width: 1023px) {

    .mobile-navbar-list .mobile-navbar-list a:not(.btn-attention),
    .mobile-navbar-list .mobile-navbar-list a:not(.btn-attention):hover,
    .mobile-navbar-list .mobile-navbar-list a:not(.btn-attention):visited,
    .mobile-navbar-list .mobile-navbar-list a:not(.btn-attention):active,
    .mobile-navbar-list .mobile-navbar-list a:not(.btn-attention):focus {
        color: #666
    }
}

@media(max-width: 1023px) {
    .mobile-nav-side {
        margin: 20px 0
    }
}

@media(max-width: 1023px) {
    .mobile-nav-side-list {
        margin: 0;
        padding: 0;
        list-style: none
    }
}

@media(max-width: 1023px) {
    .mobile-nav-side-item {
        display: block;
        margin: 0 0 10px 0
    }
}

@media(max-width: 1023px) {
    .mobile-nav-side-link {
        display: block;
        color: #333
    }

    .mobile-nav-side-link:hover,
    .mobile-nav-side-link:visited,
    .mobile-nav-side-link:active,
    .mobile-nav-side-link:focus {
        color: #333
    }
}

@media(max-width: 1023px) {
    .mobile-navbar-footer {
        margin: 15px 0 0 0
    }

    .mobile-navbar-footer .sns-list {
        margin: 0 0 30px
    }
}

.nav--logo--box {
    padding: 10px
}

.header-pointLink {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 10;
    margin-top: 70px;
    margin-right: 10px;
    text-align: center
}

.header-pointLink a {
    display: block;
    display: table-cell;
    width: 100px;
    height: 100px;
    color: #333;
    font-weight: bold;
    font-size: 12px;
    line-height: 1.2;
    text-decoration: none;
    vertical-align: middle;
    background-color: #ffe600;
    border-radius: 50%;
    transition: background .5s ease-in-out, transform .3s ease-in-out
}

.header-pointLink a:hover {
    color: #333;
    text-decoration: none;
    background-color: #fffb00;
    transform: scale(1.05, 1.05)
}

.header-pointLink a:visited {
    color: #333
}

.header-pointLink a i {
    color: #666;
    font-size: 10px;
    line-height: 1
}

.header-pointLink a span {
    font-size: 16px
}

@media(min-width: 768px) {
    header {
        position: static;
        top: -100px;
        transition: all .3s ease
    }

    .head-glovalnav.fixed {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 9999;
        width: 100%;
        background-color: #fff;
        box-shadow: 0 2px 4px rgba(0, 0, 0, .1)
    }

    .head-glovalnav.fixed .header {
        height: 61px
    }

    .head-glovalnav.fixed .site-logo {
        width: 360px;
        height: auto
    }

    .head-glovalnav.fixed .navbar-side {
        display: none
    }

    .head-glovalnav.fixed .contact--fixed--btn {
        height: 61px
    }

    .head-glovalnav.fixed .contact--fixed--btn .contact--fixed--btn__img {
        padding-top: 0
    }

    .head-glovalnav.fixed .contact--fixed--btn .contact--fixed--btn__text {
        display: none
    }

    a[href*="tel:"] {
        text-decoration: none;
        cursor: default;
        pointer-events: none
    }

    .header-pointLink {
        margin-top: 120px;
        text-align: center
    }

    .header-pointLink i {
        font-size: 12px
    }

    .header-pointLink a {
        width: 120px;
        height: 120px;
        font-size: 16px
    }

    .header-pointLink a span {
        font-size: 20px
    }
}