﻿html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: rgba(0, 0, 0, 0)
}

body {
    line-height: 1
}

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

nav ul {
    list-style: none
}

blockquote,
q {
    quotes: none
}

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

a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: rgba(0, 0, 0, 0)
}

ins {
    background-color: #ff9;
    color: #000;
    text-decoration: none
}

mark {
    background-color: #ff9;
    color: #000;
    font-style: italic;
    font-weight: 700
}

del {
    text-decoration: line-through
}

abbr[title],
dfn[title] {
    border-bottom: 1px dotted;
    cursor: help
}

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

hr {
    display: block;
    height: 1px;
    border: 0;
    margin: 2em 0;
    padding: 0
}

input,
select {
    vertical-align: middle
}

ul,
ol {
    list-style: none
}

html {
    box-sizing: border-box
}

*,
::before,
::after {
    box-sizing: border-box
}

a {
    color: inherit
}

@font-face {
    font-family: "Noto Sans JP";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/noto-sans-jp-v42-latin-regular.eot");
    src: local(""), url("../fonts/noto-sans-jp-v42-latin-regular.eot?#iefix") format("embedded-opentype"), url("../fonts/noto-sans-jp-v42-latin-regular.woff2") format("woff2"), url("../fonts/noto-sans-jp-v42-latin-regular.woff") format("woff"), url("../fonts/noto-sans-jp-v42-latin-regular.ttf") format("truetype"), url("../fonts/noto-sans-jp-v42-latin-regular.svg#NotoSansJP") format("svg")
}

@font-face {
    font-family: "Noto Sans JP";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("../fonts/noto-sans-jp-v42-latin-500.eot");
    src: local(""), url("../fonts/noto-sans-jp-v42-latin-500.eot?#iefix") format("embedded-opentype"), url("../fonts/noto-sans-jp-v42-latin-500.woff2") format("woff2"), url("../fonts/noto-sans-jp-v42-latin-500.woff") format("woff"), url("../fonts/noto-sans-jp-v42-latin-500.ttf") format("truetype"), url("../fonts/noto-sans-jp-v42-latin-500.svg#NotoSansJP") format("svg")
}

@font-face {
    font-family: "Noto Sans JP";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("../fonts/noto-sans-jp-v42-latin-700.eot");
    src: local(""), url("../fonts/noto-sans-jp-v42-latin-700.eot?#iefix") format("embedded-opentype"), url("../fonts/noto-sans-jp-v42-latin-700.woff2") format("woff2"), url("../fonts/noto-sans-jp-v42-latin-700.woff") format("woff"), url("../fonts/noto-sans-jp-v42-latin-700.ttf") format("truetype"), url("../fonts/noto-sans-jp-v42-latin-700.svg#NotoSansJP") format("svg")
}

html {
    font-size: 62.5% !important
}

body {
    font-size: 1.4rem;
    line-height: 1.8;
    font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif !important;
    font-weight: 400;
    color: #271f16
}

@media(min-width: 768px) {
    body {
        font-size: 1.6rem
    }
}

a {
    transition: .2s color, .2s background
}

a:link,
a:hover,
a:focus,
a:active,
a:visited {
    text-decoration: none;
    color: inherit
}

a:not([class]) img {
    transition: .2s opacity
}

a:not([class]):hover img {
    opacity: .7
}

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

.hide_sp {
    display: none
}

@media(min-width: 768px) {
    .hide_pc {
        display: none
    }

    .hide_sp {
        display: block
    }
}

.clearfix::after {
    content: "";
    display: block;
    clear: both
}

.inline-block {
    display: inline-block
}

.containerLL,
.containerL,
.containerM,
.containerS,
.containerSS,
.innerM,
.innerS,
.innerSS,
.innerXS,
.innerXXS,
.containerPAGE {
    margin-right: auto;
    margin-left: auto
}

.containerLL,
.containerL,
.containerM,
.containerS,
.containerSS,
.containerPAGE {
    padding-right: 24px;
    padding-left: 24px
}

@media(min-width: 480px) {

    .containerLL,
    .containerL,
    .containerM,
    .containerS,
    .containerSS,
    .containerPAGE {
        padding-right: 80px;
        padding-left: 80px
    }
}

.containerLL {
    max-width: 1560px
}

.containerL {
    max-width: 1360px
}

.containerM {
    max-width: 1160px
}

.containerS {
    max-width: 1060px
}

.containerSS {
    max-width: 860px
}

.containerPAGE {
    max-width: calc(1100px + 80px * 2)
}

.innerM {
    max-width: calc(1160px - 80px * 2)
}

.innerS {
    max-width: calc(1060px - 80px * 2)
}

.innerSS {
    max-width: calc(860px - 80px * 2)
}

.innerXS {
    max-width: calc(910px - 80px * 2)
}

.innerXXS {
    max-width: calc(760px - 80px * 2)
}

.screen-reader {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important
}

.header-top {
    background-color: #271f16;
    padding: 5px 24px;
    display: flex;
    justify-content: center
}

.header-top.-blogid-3 {
    background-color: #524328
}

.header-top.-blogid-4 {
    background-color: #183613
}

.site-name {
    color: #fff;
    font-size: 1.2rem;
    font-weight: 400;
    display: flex;
    align-items: center;
    line-height: 36px;
}

.header {
    width: 100%
}

.header__main {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    padding-left: 20px
}

@media not all and (min-width: 768px) {
    .header-site-nav {
        display: none
    }
}

@media not all and (min-width: 1024px) {
    .header {
        position: sticky;
        top: 0;
        z-index: 99;
        background-color: #fff
    }

    .pc-nav {
        display: none
    }
}

.header__logo {
    width: calc(100% - 64px - 20px);
    max-width: 140px;
    display: flex;
    align-items: center
}

.header-icon-nav {
    margin-left: auto;
    position: relative;
    padding-right: 10px
}

.header-icon-nav::before {
    content: "";
    display: inline-block;
    width: 1px;
    height: 70%;
    background-color: #271f16;
    position: absolute;
    top: 15%;
    right: 0
}

.header-icon-nav__list {
    display: flex;
    align-items: center;
    height: 100%
}

.header-icon-nav__list li {
    height: 100%
}

.header-icon-nav__list li a {
    display: flex;
    align-items: center;
    height: 100%
}

.header-icon-nav__list li a img {
    width: auto;
    height: 36px
}

@media(min-width: 1024px) {
    .header-icon-nav {
        display: none
    }

    .header__main {
        padding-left: 48px
    }
}

@keyframes mmfadeIn {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes mmfadeOut {
    from {
        opacity: 1
    }

    to {
        opacity: 0
    }
}

@keyframes mmslideIn {
    from {
        transform: translateX(15%)
    }

    to {
        transform: translateY(0)
    }
}

@keyframes mmslideOut {
    from {
        transform: translateX(0)
    }

    to {
        transform: translateY(0);
        transform: translateX(100%)
    }
}

.is-open .modal__overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, .6);
    display: flex;
    justify-content: center;
    align-items: center
}

.micromodal-slide {
    display: none;
    z-index: 999;
    position: relative
}

.micromodal-slide.is-open {
    display: block
}

.micromodal-slide[aria-hidden=false] .modal__overlay {
    animation: mmfadeIn .3s cubic-bezier(0, 0, 0.2, 1)
}

.micromodal-slide[aria-hidden=false] .modal__container {
    animation: mmslideIn .3s cubic-bezier(0, 0, 0.2, 1)
}

.micromodal-slide[aria-hidden=true] .modal__overlay {
    animation: mmfadeOut .3s cubic-bezier(0, 0, 0.2, 1)
}

.micromodal-slide[aria-hidden=true] .modal__container {
    animation: mmslideOut .3s cubic-bezier(0, 0, 0.2, 1)
}

.micromodal-slide .modal__container,
.micromodal-slide .modal__overlay {
    will-change: transform
}

.modal__container {
    width: 100%;
    height: 100%;
    position: fixed;
    z-index: 999;
    top: 0;
    right: 0;
    max-width: 500px;
    overflow: scroll;
    background-color: #fff
}

.global-nav {
    color: #271f16;
    padding: 64px 0 64px;
    display: flex;
    flex-direction: column
}

.modal__btn {
    height: 64px;
    width: 64px;
    border: 0;
    border-radius: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 0;
    background-color: #fff;
    z-index: 998;
    order: 1
}

.modal__btn--open .button__open-icon {
    display: block;
    height: 2px;
    width: 25px;
    background-color: #271f16;
    position: relative;
    margin: 14px 0 14px
}

.modal__btn--open .button__open-icon::before,
.modal__btn--open .button__open-icon::after {
    content: "";
    display: inline-block;
    height: 2px;
    background-color: #271f16;
    position: absolute;
    right: 0
}

.modal__btn--open .button__open-icon::before {
    top: -6px;
    width: 25px
}

.modal__btn--open .button__open-icon::after {
    bottom: -6px;
    width: 21px
}

.modal__btn--close {
    position: fixed;
    top: 0;
    right: 0
}

.modal__btn--close::before,
.modal__btn--close::after {
    content: "";
    display: inline-block;
    height: 2px;
    width: 24px;
    background-color: #271f16;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto
}

.modal__btn--close::before {
    transform: rotate(45deg)
}

.modal__btn--close::after {
    transform: rotate(-45deg)
}

.hamburger-menu li {
    border-top: 1px solid #271f16
}

.hamburger-menu li:last-child {
    border-bottom: 1px solid #271f16
}

.hamburger-menu a {
    display: block;
    padding: 16px 40px;
    font-size: 1.5rem;
    font-weight: 500;
    position: relative
}

.hamburger-menu a::before {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    border-top: 2px solid #271f16;
    border-right: 2px solid #271f16;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    right: 24px;
    bottom: 0;
    margin: auto 0
}

.hamburger-menu__childlist {
    margin-top: 24px
}

.hamburger-menu__childlist li {
    display: block;
    padding: 0 20px 0 52px;
    position: relative
}

.hamburger-menu__childlist li::before {
    content: "";
    display: inline-block;
    width: 4px;
    height: 1px;
    background-color: #271f16;
    position: absolute;
    top: 16px;
    left: 40px
}

.hamburger-menu__childlist li a,
.hamburger-menu__childlist li .inline-button {
    display: block;
    width: 100%;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.4;
    padding: 6px 0
}

.hamburger-menu__siteinfo {
    margin-top: 24px
}

.hamburger-menu__banner li {
    padding: 8px 40px
}

.hamburger-menu__banner img {
    max-width: 300px;
    margin: 0 auto
}

.global-nav__sns {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 32px
}

.global-nav__sns li {
    width: 24px;
    margin: 4px 4px 0;
    display: flex;
    align-items: center
}

@media(min-width: 768px) {
    .header-top {
        display: flex;
        justify-content: space-between;
        width: 100%;
        padding: 0 0 0 24px
    }

    .header-site-nav {
        margin-left: auto
    }

    .header-site-nav__list {
        display: flex;
        justify-content: flex-end;
        gap: 4px;
        padding: 4px 4px 0 0;
        font-size: 1.3rem
    }

    .header-site-nav__list li span {
        display: block;
        padding: 4px 10px;
        border-radius: 3px 3px 0 0
    }

    .header-site-nav__list li.-corporate span {
        color: #fff;
        background-color: #271f16
    }

    .header-site-nav__list li.-plate span {
        color: #fff;
        background-color: #524328
    }

    .header-site-nav__list li.-muku span {
        color: #fff;
        background-color: #183613
    }

    .header-site-nav__list li.-recruit span {
        color: #271f16;
        background-color: #d8cbb5;
        display: flex;
        align-items: center;
        gap: 6px
    }

    .header-site-nav__list li.-recruit span img {
        width: 14px;
        opacity: 1 !important
    }

    .header-site-nav__list li.-corporate.-blogid1 span,
    .header-site-nav__list li.-corporate.-blogid2 span,
    .header-site-nav__list li.-corporate.-blogid12 span,
    .header-site-nav__list li.-corporate.-blogid19 span,
    .header-site-nav__list li.-plate.-blogid3 span,
    .header-site-nav__list li.-muku.-blogid4 span {
        background-color: #fff;
        color: #271f16
    }

    .header-site-nav__list li.header-site-nav__contact span {
        background-color: #811e1e;
        display: flex;
        align-items: center
    }

    .header-site-nav__list li.header-site-nav__contact span::before {
        content: "";
        display: inline-block;
        width: 22px;
        height: 22px;
        background-image: url("/themes/images/icon_contact.png");
        background-size: 200% 100%;
        background-position: right center;
        background-repeat: no-repeat;
        margin-right: 4px
    }
}

@media(min-width: 1024px) {
    .header-top {
        padding-left: 48px
    }

    .header-site-nav__list li span {
        padding: 4px 20px
    }

    .header-site-nav__list li.-recruit span {
        padding-left: 16px
    }

    .header__logo {
        max-width: 190px;
        min-height: 80px;
        display: flex;
        align-items: center
    }

    .pc-nav {
        margin-left: auto
    }

    .pc-nav__list {
        display: flex;
        justify-content: flex-end;
        align-items: stretch;
        font-size: 1.4rem;
        height: 100%
    }

    .pc-nav__list li,
    .pc-nav__list a {
        height: 100%
    }

    .pc-nav__list a {
        display: flex;
        align-items: center;
        padding: 0 8px
    }

    .pc-nav__list .pc-nav__type {
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 0 8px
    }

    .pc-nav__list .pc-nav__type a {
        height: auto;
        border: 1px solid #271f16;
        padding: 4px 8px
    }

    .pc-nav__list .pc-nav__item--contact {
        font-size: 1.2rem
    }

    .pc-nav__list .pc-nav__item--contact a {
        background-color: #811e1e;
        color: #fff;
        padding: 6px 16px 0;
        margin-left: 8px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4px
    }

    .pc-nav__list .pc-nav__item--contact img {
        width: 22px
    }

    .modal__btn--open,
    micromodal-slide {
        display: none
    }
}

@media all and (-ms-high-contrast: none) {
    .micromodal-slide {
        margin-left: auto
    }
}

@media(min-width: 1280px) {
    .header-site-nav__list li span {
        padding: 4px 30px
    }

    .header-site-nav__list li.-recruit span {
        padding-left: 26px
    }

    .pc-nav__list a {
        padding: 0 18px
    }
}

@media not all and (min-width: 768px) {
    .fixed-menu__container {
        transition: .2s;
        width: 100%;
        background-color: #fff;
        position: fixed;
        left: 0;
        bottom: -160px;
        z-index: 90
    }

    .fixed-menu__container.is-active {
        bottom: 0
    }

    .fixed-menu {
        display: flex;
        flex-wrap: wrap
    }

    .fixed-menu a {
        display: block;
        width: 100%;
        height: 100%
    }

    .fixed-menu span {
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 1.3rem
    }

    .fixed-menu__top {
        flex-basis: 33.333%;
        height: 48px
    }

    .fixed-menu__top+.fixed-menu__top {
        border-left: 1px solid #fff
    }

    .fixed-menu__bottom {
        height: 48px
    }

    .fixed-menu__bottom.fixed-menu__contact {
        flex: 1 1 auto
    }

    .fixed-menu__bottom.fixed-menu__line {
        flex: 0 0 50%
    }

    .fixed-menu__bottom.fixed-menu__recruit {
        flex: 0 0 33.333%;
        border-left: 1px solid #fff
    }

    @media not all and (min-width: 350px) {
        .fixed-menu__bottom.fixed-menu__recruit {
            flex: 0 0 50%
        }
    }

    .fixed-menu__top span {
        background-color: #271f16;
        color: #fff
    }

    .fixed-menu__top.-corporate.-blogid1 span,
    .fixed-menu__top.-corporate.-blogid2 span,
    .fixed-menu__top.-corporate.-blogid12 span,
    .fixed-menu__top.-corporate.-blogid19 span,
    .fixed-menu__top.-plate.-blogid3 span,
    .fixed-menu__top.-muku.-blogid4 span {
        background-color: #fff;
        color: #271f16
    }

    .fixed-menu__contact span {
        background-color: #811e1e;
        color: #fff;
        display: flex;
        justify-content: center;
        align-items: center
    }

    .fixed-menu__contact span::before {
        content: "";
        display: inline-block;
        width: 22px;
        height: 22px;
        background-image: url(/themes/images/icon_contact.png);
        background-size: 200% 100%;
        background-position: right center;
        background-repeat: no-repeat;
        margin-right: 4px
    }

    .fixed-menu__line span {
        background-color: #00be00;
        color: #fff;
        display: flex;
        justify-content: center;
        align-items: center
    }

    .fixed-menu__line span::before {
        content: "";
        display: inline-block;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        width: 20px;
        height: 20px;
        background-image: url(/themes/images/icon_line.png);
        margin-right: 8px
    }

    .fixed-menu__recruit a {
        background-color: #1e9de8;
        padding: 5px
    }

    .fixed-menu__recruit .fixed-menu__recruit__inner {
        background-color: #fff;
        border-radius: 11px;
        font-weight: 600;
        display: grid;
        place-content: center;
        height: 100%
    }

    .fixed-menu__recruit .fixed-menu__recruit__inner div {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: .2em
    }

    .fixed-menu__recruit .fixed-menu__recruit__inner span {
        display: block;
        width: auto
    }

    .fixed-menu__recruit .red {
        color: #cb0000
    }

    .footer {
        margin-bottom: 97px
    }

    .fixed-recruit {
        display: none
    }
}

@media(min-width: 768px) {
    .fixed-menu {
        display: none
    }

    .fixed-recruit {
        width: 120px;
        position: fixed;
        right: 24px;
        bottom: 24px;
        z-index: 90
    }
}

@media(min-width: 768px)and (hover: hover) {
    .fixed-recruit img {
        transition: .3s !important
    }

    .fixed-recruit a:hover img {
        opacity: 1;
        translate: 0 8px
    }
}

.header-purpose {
    border-top: 1px solid #707070;
    border-bottom: 1px solid #707070
}

.header-purpose__list {
    display: flex;
    width: 100%
}

.header-purpose__list li {
    flex-grow: 1;
    flex-shrink: 1
}

.header-purpose__list li:not(:first-child) {
    border-left: 1px solid #707070
}

.header-purpose__list a {
    display: block;
    width: 100%;
    height: 100%;
    font-size: 1.4rem;
    line-height: 1.4;
    text-align: center;
    padding: 10px 8px
}

@media(min-width: 1024px) {
    .header-purpose {
        display: none
    }
}

@media(hover: hover) {
    .header-site-nav__list span {
        transition: .2s background, .2s color;
        position: relative;
        z-index: 1
    }

    .header-site-nav__list span::before {
        content: "";
        display: inline-block;
        width: 100%;
        height: 100%;
        background-color: #fff;
        position: absolute;
        top: 0;
        left: 0;
        opacity: 0;
        transition: .2s;
        z-index: -1
    }

    .header-site-nav__list li a:hover span::before {
        opacity: .15
    }

    .pc-nav__type a {
        transition: .2s color, .2s background, .2s border
    }

    .pc-nav__type.-plate a:hover {
        color: #fff;
        background-color: #524328;
        border-color: #524328
    }

    .pc-nav__type.-muku a:hover {
        color: #fff;
        background-color: #183613;
        border-color: #183613
    }

    .pc-nav__item a {
        transition: .2s color
    }

    .pc-nav__item a:hover,
    .pc-nav__item a:active,
    .pc-nav__item a:focus {
        color: #811e1e
    }

    .pc-nav__item--contact a {
        transition: .2s background
    }

    .pc-nav__item--contact a:hover,
    .pc-nav__item--contact a:active,
    .pc-nav__item--contact a:focus {
        background-color: #271f16
    }

    .pc-nav__item--contact a:hover img,
    .pc-nav__item--contact a:active img,
    .pc-nav__item--contact a:focus img {
        opacity: 1 !important
    }

    .hamburger-menu a {
        transition: .2s color
    }

    .hamburger-menu a::before {
        transition: .2s border
    }

    .hamburger-menu a:hover {
        color: #811e1e
    }

    .hamburger-menu a:hover::before {
        border-color: #811e1e
    }

    .hamburger-menu__childlist a {
        transition: .2s color
    }

    .hamburger-menu__childlist a:hover {
        color: #811e1e
    }

    li.header-site-nav__contact a span {
        transition: .2s background, .2s color
    }

    li.header-site-nav__contact a:hover span {
        background-color: #fffb96;
        color: #271f16
    }

    li.header-site-nav__contact a:hover span::before {
        background-position: left center
    }
}

@media not all and (min-width: 1024px) {
    .main-sidenav {
        display: none
    }
}

@media(min-width: 1024px) {
    .main-sidenav {
        position: fixed;
        top: 200px;
        right: 0;
        z-index: 85;
        display: flex;
        flex-direction: column;
        justify-content: center
    }

    .main-sidenav__list li+li {
        margin-top: 20px
    }

    .main-sidenav__link {
        width: 40px;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #fff;
        border-radius: 15px 0 0 15px;
        font-size: 1.3rem;
        padding: 16px 0;
        filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.16));
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl
    }

    .main-sidenav__link::before {
        content: "";
        display: inline-block;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        width: 20px;
        height: 20px;
        background-size: 200% 100%;
        background-position: center right;
        margin-bottom: 4px
    }

    .main-sidenav__link.-login,
    .main-sidenav__link.-mypage {
        background-color: #271f16;
        color: #fff
    }

    .main-sidenav__link.-login::before,
    .main-sidenav__link.-mypage::before {
        background-image: url(/themes/images/icon_login.png)
    }

    .main-sidenav__link.-favorite::before {
        background-image: url(/themes/images/icon_favorite.png);
        background-position: center left
    }
}

@media(hover: hover) {
    .main-sidenav__link {
        transition: .2s color, .2s background
    }

    .main-sidenav__link:hover {
        background-color: #811e1e;
        color: #fff
    }

    .main-sidenav__link.-favorite:hover::before {
        background-position: center right
    }
}

_:-ms-input-placeholder,
:root .fixed-menu {
    height: 180px
}

.button__container {
    margin-top: 8px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    flex-direction: column
}

.button__container .button {
    margin-top: 24px
}

@media(min-width: 768px) {
    .button__container {
        flex-direction: row;
        gap: 40px
    }

    .button__container .button {
        width: 300px
    }
}

.button {
    margin-top: 32px;
    display: flex;
    justify-content: center
}

.button a {
    color: #271f16;
    border: 2px solid #271f16;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
    width: 100%;
    max-width: 300px;
    padding: 10px 40px 10px 40px;
    border-radius: 50px;
    transition: .2s color, .2s border, .2s background;
    position: relative
}

.button a::before {
    content: "";
    display: inline-block;
    width: 22px;
    height: 22px;
    background-color: #271f16;
    border-radius: 50%;
    position: absolute;
    top: 0;
    right: 12px;
    bottom: 0;
    margin: auto 0
}

.button a::after {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    margin: auto 0
}

.button.-primary a {
    background-color: #fff
}

.button.-primary.-noline a {
    border: 0
}

@media(hover: hover) {

    .button.-primary a:hover,
    .button.-primary a:active,
    .button.-primary a:focus {
        color: #fff;
        background-color: #811e1e;
        border-color: #811e1e
    }

    .button.-primary a:hover::before,
    .button.-primary a:active::before,
    .button.-primary a:focus::before {
        background-color: #fff
    }

    .button.-primary a:hover::after,
    .button.-primary a:active::after,
    .button.-primary a:focus::after {
        border-color: #811e1e
    }
}

.button.-sub a {
    border: 2px solid #fff;
    color: #fff
}

.button.-sub a::before {
    background-color: #fff
}

.button.-sub a::after {
    border-color: #d8cbb5
}

@media(hover: hover) {

    .button.-sub a:hover,
    .button.-sub a:active,
    .button.-sub a:focus {
        background-color: #811e1e;
        border-color: #811e1e
    }

    .button.-sub a:hover::after,
    .button.-sub a:active::after,
    .button.-sub a:focus::after {
        border-color: #811e1e
    }
}

.button.-mt0 {
    margin-top: 0
}

.button.-mini a {
    display: inline-block;
    font-size: 1.4rem;
    padding: 8px 40px 8px 24px;
    margin: 0 auto;
    min-width: 200px;
    width: auto
}

@media(min-width: 600px) {
    .button.-small a {
        display: inline-block;
        font-size: 1.4rem;
        padding: 8px 40px 8px 24px;
        margin: 0 auto;
        max-width: 210px
    }
}

.button.-advisor {
    margin-top: 10px;
    padding-top: 90px;
    position: relative
}

.button.-advisor::before {
    content: "";
    display: inline-block;
    content: "";
    display: inline-block;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 100%;
    height: 100%;
    max-width: 270px;
    background-image: url("/themes/images/contact.jpg");
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    margin: 0 auto;
    z-index: -1
}

.button.-advisor::after {
    content: "";
    display: inline-block;
    width: 100%;
    height: 20px;
    background-color: #fff;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1
}

.inline-button {
    border: none !important;
    background-color: rgba(0, 0, 0, 0);
    text-align: justify
}

.custom-button__container {
    margin-bottom: 24px
}

.custom-button__container .button {
    margin-top: 12px;
    justify-content: center
}

@media(min-width: 768px) {
    .custom-button__container .button {
        margin-top: 12px;
        justify-content: flex-start
    }

    .custom-button__container .button.-center {
        justify-content: center
    }

    .custom-button__container .button.-right {
        justify-content: flex-end
    }
}

.nav-anchor {
    margin-bottom: 40px
}

.nav-anchor__list {
    display: flex;
    flex-wrap: wrap;
    margin: -10px -10px 0
}

.nav-anchor__list li {
    margin: 10px 10px 0;
    flex-basis: calc(100% - 20px)
}

.nav-anchor__link {
    display: flex;
    align-items: center;
    height: 100%;
    background-color: #f8f8f8;
    font-size: 1.6rem;
    line-height: 1.4;
    padding: 16px 40px 16px 16px;
    position: relative
}

.nav-anchor__link::before {
    content: "";
    display: inline-block;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 22px;
    height: 22px;
    background-image: url(/themes/images/icon_arrow.png);
    position: absolute;
    top: 0;
    right: 16px;
    bottom: 0;
    margin: auto 0
}

.nav-anchor__link.-icon img {
    width: 24px;
    margin-right: 8px
}

.nav-anchor__link .small-text {
    font-size: 1.2rem
}

@media(hover: hover) {
    .nav-anchor__link {
        transition: .2s background-color
    }

    .nav-anchor__link:hover,
    .nav-anchor__link:focus {
        background-color: #e8e8e8
    }
}

@media(min-width: 600px) {
    .nav-anchor__list {
        margin: -24px -12px 0
    }

    .nav-anchor__list li {
        margin: 24px 12px 0;
        flex-basis: calc(50% - 24px)
    }
}

@media(min-width: 1024px) {
    .nav-anchor__list li {
        flex-basis: calc(33.333% - 24px)
    }
}

.section-heading {
    margin-bottom: 20px;
    padding-bottom: 6px
}

.section-heading__sub {
    display: block;
    font-size: 7rem;
    font-weight: 700;
    font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif !important;
    line-height: 1;
    margin-top: -14px
}

.section-heading__main {
    display: flex;
    align-items: center;
    font-size: 1.6rem;
    font-weight: 600;
    margin-top: 10px;
    padding-left: 8px;
    position: relative
}

.section-heading__main::before {
    content: "";
    display: inline-block;
    flex-grow: 1;
    height: 2px;
    background-image: linear-gradient(to right, #271F16, #271F16 5px, rgba(255, 255, 255, 0) 5px, rgba(255, 255, 255, 0) 10px, rgba(255, 255, 255, 0));
    background-size: 10px 2px;
    background-repeat: repeat-x;
    margin-left: 40px;
    margin-right: 30px;
    order: 2
}

.section-heading__main::after {
    content: "";
    display: inline-block;
    width: 40px;
    height: 40px;
    border: 2px solid #271f16;
    background-image: radial-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 22%, #271F16 23%, #271F16 30%, rgba(255, 255, 255, 0) 31%, rgba(255, 255, 255, 0));
    border-radius: 50%;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto 0
}

.section-heading.-contact {
    color: #fff
}

.section-heading.-contact .section-heading__main::before {
    background-image: linear-gradient(to right, #fff, #fff 5px, rgba(255, 255, 255, 0) 5px, rgba(255, 255, 255, 0) 10px, rgba(255, 255, 255, 0))
}

.section-heading.-contact .section-heading__main::after {
    border-color: #fff;
    background-image: radial-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 22%, #fff 23%, #fff 30%, rgba(255, 255, 255, 0) 31%, rgba(255, 255, 255, 0))
}

.section-heading__container--vertical,
.section-heading__container--verticalM {
    margin-right: auto;
    margin-left: auto;
    position: relative;
    z-index: 10;
    overflow: hidden
}

@media(min-width: 1024px) {

    .section-heading__container--vertical,
    .section-heading__container--verticalM {
        padding-right: 120px;
        padding-left: 120px
    }
}

.section-heading__container--verticalM {
    padding-right: 24px;
    padding-left: 24px
}

@media(min-width: 600px) {
    .section-heading__container--verticalM {
        padding-right: 80px;
        padding-left: 80px
    }
}

@media(min-width: 1024px) {
    .section-heading__container--verticalM {
        max-width: calc(1160px - 80px * 2 + 120px * 2)
    }
}

@media(min-width: 1024px) {
    .section-heading__sub {
        font-size: 8rem
    }

    .section-heading.-contact {
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        display: flex;
        position: absolute;
        top: 0;
        right: 0
    }

    .section-heading.-contact .section-heading__sub {
        margin-top: 0;
        white-space: nowrap
    }

    .section-heading.-contact .section-heading__main {
        white-space: nowrap;
        text-orientation: sideways;
        margin-top: 16px;
        padding: 0 20px 100px 40px;
        min-height: 100px;
        position: relative
    }

    .section-heading.-contact .section-heading__main::before {
        width: 2px;
        height: calc(100% - 20px);
        background-size: 2px 10px;
        background-repeat: repeat-y;
        margin: 0 0 30px 0;
        position: absolute;
        top: 0;
        left: 30px
    }

    .section-heading.-contact .section-heading__main::after {
        top: auto;
        right: auto;
        bottom: 0;
        left: 10px;
        margin: 0 auto
    }

    .section-heading.-contact .section-heading__main::before {
        background-image: linear-gradient(to bottom, #fff, #fff 5px, rgba(255, 255, 255, 0) 5px, rgba(255, 255, 255, 0) 10px, rgba(255, 255, 255, 0));
        background-size: 2px 10px;
        background-repeat: repeat-y
    }

    .section-heading.-contact .section-heading__main::after {
        border: 2px solid #fff;
        background-image: radial-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 22%, #fff 23%, #fff 30%, rgba(255, 255, 255, 0) 31%, rgba(255, 255, 255, 0))
    }

    .section-heading.-contact {
        left: 0;
        right: auto
    }
}

.page-top {
    position: fixed;
    right: 12px;
    bottom: -160px;
    transition: .4s;
    z-index: 90
}

.page-top.is-active {
    bottom: 108px
}

.page-top__link {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    background-color: #fffb96;
    border-radius: 50%;
    font-size: 1rem;
    line-height: 1
}

.page-top__link::before {
    content: "";
    display: inline-block;
    border-style: solid;
    border-width: 0 5px 8px 5px;
    border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #271f16 rgba(0, 0, 0, 0);
    margin-bottom: 6px
}

@media(min-width: 600px) {
    .page-top {
        right: 24px
    }

    .page-top.is-active {
        bottom: 24px
    }

    .page-top__link {
        width: 48px;
        height: 48px
    }

    .page-top__link::before {
        border-width: 0 7px 11px 7px
    }
}

@media(min-width: 768px) {
    .page-top__link {
        display: none
    }
}

@media(hover: hover) {
    .page-top__link {
        transition: .2s background, .2s color
    }

    .page-top__link::before {
        transition: .2s border
    }

    .page-top__link:hover {
        background-color: #811e1e;
        color: #fff
    }

    .page-top__link:hover::before {
        border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #fff rgba(0, 0, 0, 0)
    }
}

.contact {
    background-color: #d8cbb5;
    padding-bottom: 50px;
    margin-bottom: 50px
}

.contact-catch {
    font-size: 1.9rem;
    font-weight: 600;
    text-align: center;
    line-height: 1.47;
    margin-bottom: 28px
}

.contact-catch strong {
    color: #811e1e
}

.contact-box {
    background-color: #f5f2ed;
    border-radius: 20px;
    padding: 24px 30px

}

.contact-box__buttom {
    border-top: 1px dashed #271f16;
    padding-top: 14px;
    margin-top: 20px
}

.contact-box__content p {
    font-size: 1.4rem;
    line-height: 1.42
}

.contact-box__content p a {
    color: #811e1e;
    text-decoration: underline
}

@media(hover: hover) {
    .contact-box__content p a:hover {
        text-decoration: none
    }
}

.contact-box__line {
    margin-top: 24px
}

.footer__top {
    background-color: #271f16;
    border-bottom: 1px solid #15100a;
    padding-bottom: 50px
}

.footer__bottom {
    background-color: #271f16;
    border-top: 1px solid #3c3934;
    padding: 60px 0
}

.footer-menu+.footer-menu {
    margin-top: 20px
}

.footer-menu a,
.footer-menu .inline-button {
    display: block;
    width: 100%;
    color: #d1cfcb
}

.footer-menu li.footer-menu__main {
    font-size: 1.5rem
}

.footer-menu li.footer-menu__main a {
    padding: 16px 24px
}

.footer-menu li.footer-menu__sub {
    padding: 0 24px 0 36px;
    position: relative
}

.footer-menu li.footer-menu__sub::before {
    content: "-";
    color: #d1cfcb;
    position: absolute;
    top: 2px;
    left: 24px
}

.footer-menu li.footer-menu__sub a,
.footer-menu li.footer-menu__sub .inline-button {
    font-size: 1.4rem;
    padding: 4px 0
}

.footer-menu .inline-button {
    line-height: 1.9
}

.footer-menu {
    margin: 0 -24px
}

@media(min-width: 480px) {
    .footer-menu {
        margin: 0 -80px
    }
}

@media(min-width: 768px) {
    .footer-menu {
        margin: 0
    }
}

@media not all and (min-width: 768px) {
    .footer-menu li.footer-menu__main {
        border-bottom: 1px solid #d1cfcb
    }

    .contact-box__item+.contact-box__item {
        margin-top: 24px
    }
}

@media(min-width: 768px) {
    .footer-menu li.footer-menu__sub::before {
        top: -1px
    }
}

@media(hover: hover) {
    li.footer-menu__main a {
        transition: .2s color
    }

    li.footer-menu__main a:hover {
        color: #fffb96;
        text-decoration: underline
    }

    li.footer-menu__sub a {
        transition: .2s color
    }

    li.footer-menu__sub a:hover {
        color: #fffb96
    }
}

.footer-calendar {
    margin-top: 64px;
    padding: 0 28px
}

.footer-calendar__module {
    background-color: #fff;
    padding: 14px 20px 20px
}

.footer-calendar-text {
    color: #d1cfcb;
    font-size: 1.1rem;
    display: flex;
    justify-content: center;
    margin-top: 8px
}

.footer-calendar__heading {
    font-size: 1.8rem;
    font-weight: 500;
    margin-bottom: 8px
}

.footer-calendar__calendar {
    width: 100%
}

.footer-calendar__calendar th,
.footer-calendar__calendar td {
    text-align: center;
    width: 14.2857142857%;
    font-size: 1.2rem;
    padding: 3px 8px
}

.footer-calendar__calendar th {
    color: #999;
    font-weight: 500
}

.footer-calendar__calendar td {
    color: #271f16;
    border: 2px solid #fff
}

.footer-calendar__calendar .day.w0,
.footer-calendar__calendar .yasumi {
    background-color: #ffeaea
}

.footer-calendar__calendar .week {
    width: 14.2857142857%
}

.footer-calendar__module {
    max-width: 260px;
    margin: 0 auto;
    display: flex
}

.footer-calendar__module .month {
    flex-basis: 33.333%;
    padding: 0
}

.footer-calendar-swiper {
    position: relative
}

.footer-calendar-swiper .swiper-button__container {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 10;
    padding: 8px 0 0;
    margin-bottom: 0;
    background-color: #fff
}

.footer-calendar-swiper .swiper-button-prev,
.footer-calendar-swiper .swiper-button-next {
    width: 20px;
    height: 20px;
    background-color: rgba(0, 0, 0, 0);
    position: relative;
    left: auto;
    right: auto
}

.footer-calendar-swiper .swiper-button-prev::after,
.footer-calendar-swiper .swiper-button-next::after {
    width: 8px;
    height: 8px;
    border-color: #271f16
}

.footer-banner {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: -16px auto 0;
    max-width: 728px
}

.footer-banner__item {
    flex-basis: calc(100% - 16px);
    margin: 16px 8px 0
}

.footer-banner__item a {
    display: block;
    border: 2px solid #f5f2ed
}

@media(min-width: 768px) {
    .footer-banner__item {
        flex-basis: calc(50% - 16px)
    }
}

.footer-info {
    margin-top: 40px
}

.footer-info__logo img {
    max-width: 158px;
    margin: 0 auto
}

.footer-info__address {
    color: #d1cfcb;
    font-size: 1.2rem;
    padding: 0 30px;
    text-align: center;
    margin-top: 14px
}

.footer-info__icon-copyright {
    margin-top: 14px
}

.footer-info__sns {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: -6px -3px 0
}

.footer-info__sns li {
    flex-basis: 20px;
    margin: 6px 3px 0;
    display: flex;
    justify-content: center;
    align-items: center
}

.footer-info__copyright {
    color: #d1cfcb;
    font-size: 1.2rem;
    text-align: center;
    margin-top: 5px
}

@media(min-width: 768px) {
    .contact .section-heading__container--vertical {
        padding-top: 72px
    }

    .contact {
        padding-bottom: 72px;
        margin-bottom: 0
    }

    .contact-catch {
        background-color: #f5f2ed;
        padding: 32px 40px 0;
        font-size: 2.2rem;
        border-radius: 15px 15px 0 0;
        margin-bottom: 0
    }

    .contact-catch__text {
        display: inline-block;
        padding: 0 40px;
        position: relative
    }

    .contact-catch__text::before,
    .contact-catch__text::after {
        content: "";
        display: inline-block;
        width: 52px;
        height: 2px;
        background-color: #271f16;
        position: absolute;
        bottom: 24px
    }

    .contact-catch__text::before {
        transform: rotate(73deg);
        left: -10px
    }

    .contact-catch__text::after {
        transform: rotate(107deg);
        right: -10px
    }

    .contact-box {
        border-radius: 0 0 15px 15px
    }

    .contact-box__action {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        margin: 0 -12px
    }

    .contact-box__item {
        flex-basis: calc(50% - 24px);
        max-width: 326px;
        margin: 0 12px
    }

    .contact-box__buttom {
        display: flex;
        flex-wrap: wrap;
        margin-top: 24px;
        padding-top: 32px
    }

    .contact-box__content {
        flex-basis: 50%;
        order: 2;
        padding: 32px 15px 24px 30px
    }

    .contact-box__content p {
        font-size: 1.6rem
    }

    .contact-box__line {
        margin-top: 18px
    }

    .contact-box__image {
        flex-basis: 50%;
        order: 1;
        padding: 0 15px;
        margin-top: auto
    }

    .footer__top {
        padding-top: 88px;
        padding-bottom: 48px
    }

    .footer__container {
        display: flex;
        justify-content: space-between
    }

    .footer__nav {
        flex-basis: calc(100% - 260px - 40px);
        display: flex
    }

    .footer__nav .footer-menu:not(:first-child) {
        margin-left: 40px
    }

    .footer-calendar {
        flex-basis: 260px;
        padding: 0;
        margin-top: 2px
    }

    .footer-menu li.footer-menu__main a {
        padding: 3px 0
    }

    .footer-menu li.footer-menu__sub a {
        padding: 2px 0
    }

    .footer-menu+.footer-menu {
        margin-top: 0
    }

    .footer__bottom {
        padding: 80px 0
    }

    .footer-info {
        display: flex;
        justify-content: space-between;
        margin-top: 72px
    }

    .footer-info__logo img {
        margin-left: 0
    }

    .footer-info__address {
        text-align: justify;
        margin-top: 4px;
        padding: 0
    }

    .footer-info__icon-copyright {
        margin-top: 0
    }

    .footer-info__sns {
        justify-content: flex-end;
        margin-top: 0
    }

    .footer-info__copyright {
        text-align: right
    }
}

@media(min-width: 1024px) {
    .contact-catch {
        padding: 56px 40px 0;
        font-size: 2.7rem
    }

    .contact-box {
        padding: 40px 50px
    }
}

.contents-banner {
    padding: 40px 0;
    border-top: 1px dashed #271f16
}

.contents-banner__container {
    display: flex;
    flex-wrap: wrap;
    margin: -16px -8px 0
}

.contents-banner__item {
    flex-basis: calc(50% - 16px);
    margin: 16px 8px 0
}

@media(min-width: 768px) {
    .contents-banner__item {
        flex-basis: calc(33.333% - 16px)
    }
}

@media(min-width: 1024px) {
    .contents-banner__item {
        flex-basis: calc(25% - 16px)
    }
}

.footer-menu-blog {
    padding: 40px 0;
    background-color: #271f16;
    color: #fff
}

.footer-menu-blog.-plate {
    background-color: #524328
}

.footer-menu-blog.-muku {
    background-color: #183613
}

.footer-menu-blog__logo {
    display: flex;
    flex-direction: column;
    align-items: center
}

.footer-menu-blog__logo-image {
    max-width: 140px
}

.footer-menu-blog__block {
    margin-top: 24px
}

.footer-menu-blog__menu-type {
    display: flex;
    flex-wrap: wrap;
    margin: -8px -4px 0;
    font-size: 1.4rem;
    line-height: 1.4
}

.footer-menu-blog__menu-type li {
    flex-basis: calc(50% - 8px);
    margin: 8px 4px 0
}

.footer-menu-blog__menu-type a {
    display: flex;
    height: 100%;
    justify-content: center;
    align-items: center;
    padding: 8px;
    border: 1px solid #fff
}

.footer-menu-blog__menu-main {
    font-size: 1.5rem;
    line-height: 1.4
}

.footer-menu-blog__menu-main li:first-child {
    margin-top: -6px
}

.footer-menu-blog__menu-main a {
    display: block;
    padding: 6px 0
}

.footer-menu-blog__menu-sub {
    font-size: 1.4rem;
    line-height: 1.4;
    color: #d1cfcb
}

.footer-menu-blog__menu-sub li {
    margin-top: 2px
}

.footer-menu-blog__menu-sub li:first-child {
    margin-top: -6px
}

.footer-menu-blog__menu-sub a {
    display: block;
    padding: 3px 0 3px 12px;
    position: relative
}

.footer-menu-blog__menu-sub a::before {
    content: "";
    display: inline-block;
    width: 4px;
    height: 1px;
    background-color: #d1cfcb;
    position: absolute;
    top: 13px;
    left: 0
}

@media(min-width: 600px) {
    .footer-menu-blog__menu-type.footer-menu-blog__menu-type--muku li {
        flex-basis: calc(25% - 8px)
    }
}

@media(min-width: 768px) {
    .footer-menu-blog {
        padding: 44px 0
    }

    .footer-menu-blog__logo {
        flex-direction: row;
        align-items: flex-end;
        padding-bottom: 32px;
        position: relative
    }

    .footer-menu-blog__logo::before,
    .footer-menu-blog__logo::after {
        content: "";
        display: block;
        width: 100%;
        height: 1px;
        position: absolute;
        left: 0
    }

    .footer-menu-blog__logo::before {
        background-color: rgba(0, 0, 0, .2);
        bottom: 1px
    }

    .footer-menu-blog__logo::after {
        background-color: rgba(255, 255, 255, .1);
        bottom: 0
    }

    .footer-menu-blog__logo-image {
        display: inline-block
    }

    .footer-menu-blog__block-container {
        display: flex;
        margin: 32px 0 0
    }

    .footer-menu-blog__block {
        flex-basis: 33.333%;
        padding: 0 12px;
        margin-top: 0
    }

    .footer-menu-blog__menu-type li {
        flex-basis: calc(100% - 8px)
    }

    .footer-menu-blog__menu-type a {
        display: inline-block;
        padding: 8px 12px;
        min-width: 140px
    }

    .footer-menu-blog__menu-type.footer-menu-blog__menu-type--muku li {
        flex-basis: calc(50% - 8px)
    }

    .footer-menu-blog__menu-type.footer-menu-blog__menu-type--muku a {
        display: flex;
        height: 100%;
        justify-content: center;
        align-items: center;
        min-width: auto
    }
}

@media(min-width: 1024px) {
    .footer-menu-blog__container {
        display: flex
    }

    .footer-menu-blog__logo {
        flex-basis: 28.5%
    }

    .footer-menu-blog__block-container {
        flex-basis: 71.5%
    }

    .footer-menu-blog__logo {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 24px
    }

    .footer-menu-blog__logo::before,
    .footer-menu-blog__logo::after {
        width: 1px;
        height: 100%;
        bottom: 0;
        left: auto
    }

    .footer-menu-blog__logo::before {
        right: 1px
    }

    .footer-menu-blog__logo::after {
        right: 0
    }

    .footer-menu-blog__block-container {
        margin-top: 0;
        padding: 8px 0 8px 32px
    }
}

@media(hover: hover) {
    .footer-menu-blog__menu-type a {
        transition: .2s color, .2s border
    }

    .footer-menu-blog__menu-type a:hover {
        color: #fffb96;
        border-color: #fffb96
    }

    .footer-menu-blog__menu-main a {
        transition: .2s color
    }

    .footer-menu-blog__menu-main a:hover {
        color: #fffb96;
        text-decoration: underline
    }

    .footer-menu-blog__menu-sub a {
        transition: .2s color
    }

    .footer-menu-blog__menu-sub a:hover {
        color: #fffb96
    }
}

.page-content h2:not([class]),
.ProseMirror h2,
.page-title__item,
.page-title__mailmaga,
h2.default,
.login__heading {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.5;
    padding-bottom: 1.8rem;
    margin-bottom: 20px;
    position: relative
}

.page-content h2:not([class]):not(:first-child),
.ProseMirror h2:not(:first-child),
.page-title__item:not(:first-child),
.page-title__mailmaga:not(:first-child),
h2.default:not(:first-child),
.login__heading:not(:first-child) {
    margin-top: 64px
}

.page-content h2:not([class])::before,
.ProseMirror h2::before,
.page-title__item::before,
.page-title__mailmaga::before,
h2.default::before,
.login__heading::before {
    content: "";
    width: 100%;
    height: 3px;
    background-color: #d8cbb5;
    position: absolute;
    bottom: 0;
    left: 0
}

.page-content h2:not([class])::after,
.ProseMirror h2::after,
.page-title__item::after,
.page-title__mailmaga::after,
h2.default::after,
.login__heading::after {
    content: "";
    width: 100px;
    height: 3px;
    background-color: #271f16;
    position: absolute;
    bottom: 0;
    left: 0
}

@media(min-width: 768px) {

    .page-content h2:not([class]),
    .ProseMirror h2,
    .page-title__item,
    .page-title__mailmaga,
    h2.default,
    .login__heading {
        font-size: 2.4rem
    }
}

@media(min-width: 1024px) {

    .page-content h2:not([class]),
    .ProseMirror h2,
    .page-title__item,
    .page-title__mailmaga,
    h2.default,
    .login__heading {
        font-size: 2.8rem;
        margin-bottom: 32px
    }

    .page-content h2:not([class]):not(:first-child),
    .ProseMirror h2:not(:first-child),
    .page-title__item:not(:first-child),
    .page-title__mailmaga:not(:first-child),
    h2.default:not(:first-child),
    .login__heading:not(:first-child) {
        margin-top: 96px
    }
}

.page-content h3:not([class]),
.ProseMirror h3,
h3.default {
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1.5;
    background-color: #f5f2ed;
    padding: .5em .75em;
    margin-bottom: 20px
}

.page-content h3:not([class]):not(:first-child),
.ProseMirror h3:not(:first-child),
h3.default:not(:first-child) {
    margin-top: 40px
}

.page-content h3:not([class]) strong,
.ProseMirror h3 strong,
h3.default strong {
    font-weight: 600;
    color: #811e1e
}

@media(min-width: 768px) {

    .page-content h3:not([class]),
    .ProseMirror h3,
    h3.default {
        font-size: 2rem
    }
}

@media(min-width: 1024px) {

    .page-content h3:not([class]),
    .ProseMirror h3,
    h3.default {
        margin-bottom: 24px
    }
}

.page-content h4:not([class]),
.ProseMirror h4,
h4.default {
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.5;
    padding: .25em .75em;
    margin-bottom: 20px;
    border-left: 3px solid #524328;
    position: relative
}

.page-content h4:not([class])::before,
.ProseMirror h4::before,
h4.default::before {
    content: "";
    display: inline-block;
    width: 1px;
    height: 100%;
    background-color: #524328;
    position: absolute;
    top: 0;
    left: 2px
}

.page-content h4:not([class]):not(:first-child),
.ProseMirror h4:not(:first-child),
h4.default:not(:first-child) {
    margin-top: 32px
}

@media(min-width: 1024px) {

    .page-content h4:not([class]),
    .ProseMirror h4,
    h4.default {
        font-size: 1.8rem
    }

    .page-content h4:not([class]):not(:first-child),
    h2+.page-content h4:not([class]),
    .ProseMirror h4:not(:first-child),
    h2+.ProseMirror h4,
    h4.default:not(:first-child),
    h2+h4.default {
        margin-top: 40px
    }
}

h2+h3,
h2+hr+h3 {
    margin-top: 0 !important
}

.heading-circle {
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1.4;
    padding-left: 28px;
    margin-top: 16px;
    margin-bottom: 16px;
    position: relative
}

.heading-circle::before {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    background-color: #d8cbb5;
    border-radius: 50%;
    position: absolute;
    top: 6px;
    left: 0
}

.heading-item-top {
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.5;
    background-color: #f5f2ed;
    padding: .5em .75em;
    margin-bottom: 20px
}

.heading-item-top:not(:first-child) {
    margin-top: 96px
}

.heading-item-top strong {
    font-weight: 600;
    color: #811e1e
}

@media(min-width: 768px) {
    .heading-item-top {
        font-size: 2.2rem
    }
}

@media(min-width: 1024px) {
    .heading-item-top {
        font-size: 2.6rem;
        margin-bottom: 24px
    }
}

.heading-photo {
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.4;
    margin-top: -6px;
    margin-bottom: 8px
}

@media(min-width: 768px) {
    .heading-photo {
        font-size: 1.8rem
    }
}

.text-photo {
    font-size: 1.2rem;
    line-height: 1.5;
    margin-bottom: 1em
}

@media(min-width: 768px) {
    .text-photo {
        font-size: 1.4rem
    }
}

.heading-contents {
    font-family: "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-size: 2rem;
    font-weight: 400;
    line-height: 1.4;
    text-align: center;
    padding-bottom: 20px;
    margin-bottom: 24px;
    position: relative
}

.heading-contents:not(:first-child) {
    margin-top: 32px
}

.heading-contents::before {
    content: "";
    display: inline-block;
    width: 30px;
    height: 1px;
    background-color: #271f16;
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    margin: 0 auto
}

.heading-contents strong {
    font-weight: 400 !important;
    color: #811e1e
}

.text-contents {
    font-family: "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.8;
    margin-bottom: 40px
}

@media(min-width: 600px) {
    .heading-contents {
        font-size: 2.2rem
    }
}

@media(min-width: 768px) {
    .heading-contents {
        font-size: 2.4rem
    }
}

@media(min-width: 1024px) {
    .heading-contents {
        font-size: 2.8rem;
        margin-bottom: 40px
    }

    .heading-contents:not(:first-child) {
        margin-top: 48px
    }

    .text-contents {
        text-align: center
    }
}

.hr-dashed {
    border-top: 1px dashed #271f16
}

hr+.hr-dashed {
    margin-top: 8px
}

.item-table,
.form-table,
.bunkobon-table,
.jushu-detail__table,
.jushu-mini__table,
.page-content table:not([class]) {
    border: 1px solid #d1cfcb;
    width: 100%;
    line-height: 1.5;
    margin-bottom: 24px
}

.item-table:not(:first-child),
.form-table:not(:first-child),
.bunkobon-table:not(:first-child),
.jushu-detail__table:not(:first-child),
.jushu-mini__table:not(:first-child),
.page-content table:not([class]):not(:first-child) {
    margin-top: 24px
}

.item-table tr,
.form-table tr,
.bunkobon-table tr,
.jushu-detail__table tr,
.jushu-mini__table tr,
.page-content table:not([class]) tr {
    border-top: 1px solid #d1cfcb
}

.item-table tbody:first-child tr:first-child,
.form-table tbody:first-child tr:first-child,
.bunkobon-table tbody:first-child tr:first-child,
.jushu-detail__table tbody:first-child tr:first-child,
.jushu-mini__table tbody:first-child tr:first-child,
.page-content table:not([class]) tbody:first-child tr:first-child {
    border-top: 0
}

.item-table th,
.item-table td,
.form-table th,
.form-table td,
.bunkobon-table th,
.bunkobon-table td,
.jushu-detail__table th,
.jushu-detail__table td,
.jushu-mini__table th,
.jushu-mini__table td,
.page-content table:not([class]) th,
.page-content table:not([class]) td {
    padding: 8px 16px;
    vertical-align: middle;
    background-color: #fff
}

.item-table th,
.item-table td:nth-child(1),
.form-table th,
.form-table td:nth-child(1),
.bunkobon-table th,
.bunkobon-table td:nth-child(1),
.jushu-detail__table th,
.jushu-detail__table td:nth-child(1),
.jushu-mini__table th,
.jushu-mini__table td:nth-child(1),
.page-content table:not([class]) th,
.page-content table:not([class]) td:nth-child(1) {
    font-weight: 600;
    background-image: linear-gradient(to bottom, #fff, #fff 1px, #E8E8E8 1px, #E8E8E8)
}

.item-table .small-text,
.form-table .small-text,
.bunkobon-table .small-text,
.jushu-detail__table .small-text,
.jushu-mini__table .small-text,
.page-content table:not([class]) .small-text {
    font-size: .875em
}

@media(min-width: 768px) {

    .item-table,
    .form-table,
    .bunkobon-table,
    .jushu-detail__table,
    .jushu-mini__table,
    .page-content table:not([class]) {
        font-size: 1.6rem
    }
}

.form-table th.form-table__heading,
.jushu-detail__table th.form-table__heading,
.page-content table:not([class]) th.form-table__heading {
    background-color: #271f16;
    background-image: none;
    color: #fff
}

.form-table th.form-table__heading::before,
.jushu-detail__table th.form-table__heading::before,
.page-content table:not([class]) th.form-table__heading::before {
    content: none
}

.form-table th,
.form-table td,
.jushu-detail__table th,
.jushu-detail__table td,
.page-content table:not([class]) th,
.page-content table:not([class]) td {
    padding: 12px 16px
}

@media not all and (min-width: 480px) {

    .form-table th,
    .form-table td,
    .page-content table:not([class]) th,
    .page-content table:not([class]) td {
        width: 100% !important
    }

    .form-table th,
    .form-table td:nth-child(1),
    .page-content table:not([class]) th,
    .page-content table:not([class]) td:nth-child(1) {
        display: flex;
        justify-content: center;
        align-items: center
    }

    .form-table td,
    .page-content table:not([class]) td {
        display: block
    }

    .form-table td+td,
    .page-content table:not([class]) td+td {
        padding-top: 0
    }
}

ul.default {
    list-style: none
}

ul.default:not(:first-child) {
    margin-top: 24px
}

ul.default:not(:last-child) {
    margin-bottom: 24px
}

ul.default li {
    padding-left: 1.5em;
    position: relative
}

ul.default li::before {
    content: "";
    display: inline-block;
    width: 3px;
    height: 3px;
    background-color: #271f16;
    border-radius: 50%;
    position: absolute;
    top: 12px;
    left: 10px
}

@media(min-width: 768px) {
    ul.default li::before {
        width: 4px;
        height: 4px;
        top: 13px
    }
}

.ul-point {
    font-size: 1.6rem;
    line-height: 1.5;
    list-style: none
}

.ul-point:not(:first-child) {
    margin-top: 24px
}

.ul-point:not(:last-child) {
    margin-bottom: 24px
}

.ul-point li {
    padding-left: 24px;
    position: relative
}

.ul-point li::before {
    content: "";
    display: inline-block;
    width: 13px;
    height: 13px;
    background-color: #d8cbb5;
    border-radius: 50%;
    position: absolute;
    top: 5px;
    left: 0
}

.ul-point li+li {
    margin-top: 12px
}

.ul-point li strong {
    font-weight: 600;
    color: #811e1e
}

@media(min-width: 768px) {
    .ul-point {
        font-size: 1.8rem
    }

    .ul-point li::before {
        top: 8px
    }
}

ol.default {
    list-style: none;
    counter-reset: list
}

ol.default:not(:first-child) {
    margin-top: 24px
}

ol.default:not(:last-child) {
    margin-bottom: 24px
}

ol.default li {
    padding: 2px 0 2px 32px;
    position: relative
}

ol.default li+li {
    margin-top: 4px
}

ol.default li::before {
    counter-increment: list;
    content: counter(list);
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.2rem;
    width: 24px;
    height: 24px;
    background-color: #d8cbb5;
    border-radius: 50%;
    position: absolute;
    top: 2px;
    left: 0
}

@media(min-width: 768px) {
    ol.default li::before {
        top: 4px
    }
}

.page-content [class*=column-image] .caption,
.page-content [class*=column-media] .caption,
.page-content [class*=column-eximage] .caption {
    font-size: 1.3rem;
    line-height: 1.4;
    color: #707070;
    display: flex;
    justify-content: center;
    margin-top: 12px;
    text-align: justify
}

.memo-block {
    border: 2px solid #811e1e
}

.memo-block:not(:first-child) {
    margin-top: 24px
}

.memo-block:not(:last-child) {
    margin-bottom: 24px
}

.memo-block__heading {
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.5;
    color: #811e1e;
    padding: 12px 24px 12px 40px;
    border-bottom: 2px dashed #811e1e;
    position: relative
}

.memo-block__heading::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #811e1e;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 24px;
    margin: auto 0
}

.memo-block__content {
    padding: 16px 24px
}

.memo-block__content p:last-child {
    margin-bottom: 0
}

.memo-block__content .heading {
    display: inline-block;
    font-weight: 600;
    color: #811e1e;
    border: 1px solid #811e1e;
    padding: 2px 8px;
    margin-bottom: 8px
}

.memo-block__content .small {
    font-size: .875em;
    line-height: 1.4
}

@media(min-width: 600px) {
    .memo-block__heading {
        font-size: 1.8rem;
        padding: 16px 40px
    }

    .memo-block__heading::before {
        width: 10px;
        height: 10px
    }
}

@media(min-width: 1024px) {
    .memo-block__heading {
        font-size: 2rem;
        padding: 16px 54px
    }

    .memo-block__heading::before {
        width: 12px;
        height: 12px
    }

    .memo-block__content {
        padding: 32px 54px
    }
}

.qa-block+hr+.qa-block {
    border-top: 1px solid #e8e8e8
}

.qa-block__question {
    border: 0;
    background-color: rgba(0, 0, 0, 0);
    width: 100%;
    text-align: justify;
    color: #271f16 !important;
    display: flex;
    justify-content: center;
    align-items: stretch;
    padding: 16px 0;
    cursor: pointer;
    position: relative
}

.qa-block__question span {
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.4;
    flex-grow: 1;
    flex-shrink: 1;
    display: flex;
    align-items: center;
    padding-left: 16px;
    padding-right: 40px
}

.qa-block__question::before {
    content: "Q";
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2rem;
    width: 56px;
    flex-shrink: 0;
    flex-grow: 0;
    border-right: 1px dashed #707070
}

.qa-block__question::after {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    border-top: 2px solid #271f16;
    border-right: 2px solid #271f16;
    transform: rotate(135deg);
    position: absolute;
    top: 0;
    right: 10px;
    bottom: 0;
    margin: auto 0;
    transition: .2s transform
}

.qa-block__question.open::after {
    transform: rotate(315deg)
}

@media(hover: hover) {
    .qa-block__question {
        transition: .2s background-color
    }

    .qa-block__question:hover,
    .qa-block__question:focus-visible {
        background-color: #f5f2ed
    }
}

.qa-block__answer {
    display: none;
    padding: 10px 16px 8px 72px;
    position: relative
}

.qa-block__answer strong {
    font-weight: 400 !important;
    color: #811e1e
}

.qa-block__answer::before {
    content: "A";
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2rem;
    line-height: 1.1;
    color: #811e1e;
    width: 56px;
    height: 40px;
    border-right: 1px dashed #811e1e;
    position: absolute;
    top: 4px;
    left: 0
}

@media(min-width: 768px) {
    .qa-block__question span {
        font-size: 1.8rem;
        padding-right: 40px
    }

    .qa-block__question::before {
        font-size: 2.4rem
    }

    .qa-block__question::after {
        right: 20px
    }

    .qa-block__answer {
        padding: 14px 16px 8px 72px
    }

    .qa-block__answer::before {
        font-size: 2.4rem;
        top: 14px;
        height: auto
    }
}

.term-block {
    border-bottom: 1px solid #e8e8e8
}

.term-block__heading {
    display: block;
    font-size: 1.6rem;
    line-height: 1.4;
    border: 0;
    background-color: rgba(0, 0, 0, 0);
    width: 100%;
    padding: 18px 32px 16px 12px;
    text-align: justify;
    position: relative
}

.term-block__heading::after {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    border-top: 2px solid #271f16;
    border-right: 2px solid #271f16;
    transform: rotate(135deg);
    position: absolute;
    top: 0;
    right: 10px;
    bottom: 0;
    margin: auto 0;
    transition: .2s transform
}

.term-block__heading.open::after {
    transform: rotate(315deg)
}

.term-block__object {
    display: none
}

.term-block__content {
    padding: 16px 20px 24px;
    border-top: 1px dashed #e8e8e8
}

.term-block__content p:last-child {
    margin-bottom: 0
}

@media not all and (min-width: 600px) {
    .term-block__image {
        margin-top: 16px
    }
}

@media(min-width: 600px) {
    .term-block__content {
        display: flex;
        padding: 24px
    }

    .term-block__text {
        flex-grow: 1;
        flex-shrink: 1
    }

    .term-block__image {
        flex-basis: 30%;
        flex-shrink: 0;
        padding-left: 16px
    }

    .term-block__heading {
        font-size: 1.8rem
    }
}

@media(hover: hover) {
    .term-block__heading {
        transition: .2s background-color
    }

    .term-block__heading:hover {
        background-color: #f5f2ed
    }
}

.slider-unit .swiper-wrapper {
    align-items: stretch
}

.slider-unit .swiper-wrapper .swiper-slide {
    height: auto;
    background-color: #f5f4f4
}

.slider-unit .swiper-wrapper .swiper-slide {
    display: flex;
    flex-direction: column
}

.slider-unit .swiper-wrapper .slider-block__content {
    flex-grow: 1
}

.slider-block__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 9px 16px
}

.slider-block__title {
    font-size: 1.4rem;
    line-height: 1.4
}

.slider-block__text {
    font-size: 1.2rem;
    line-height: 1.4
}

.slider-block__title+.slider-block__text {
    margin-top: 4px
}

.slider-unit {
    margin-right: -24px;
    margin-left: -24px;
    padding-right: 24px;
    padding-left: 24px;
    position: relative
}

.slider-unit:not(:first-child) {
    margin-top: 24px
}

.slider-unit:not(:last-child) {
    margin-bottom: 40px
}

.slider-unit::before,
.slider-unit::after {
    content: "";
    display: block;
    width: 24px;
    height: 100%;
    background-color: #fff;
    position: absolute;
    top: 0;
    z-index: 2
}

.slider-unit::before {
    left: 0
}

.slider-unit::after {
    right: 0
}

@media(min-width: 480px) {
    .slider-unit {
        margin-right: -80px;
        margin-left: -80px;
        padding-right: 80px;
        padding-left: 80px
    }

    .slider-unit::before,
    .slider-unit::after {
        width: 80px
    }
}

.swiper-button-prev--unit,
.swiper-button-next--unit {
    width: 12px;
    height: 12px;
    border-top: 2px solid #271f16;
    border-right: 2px solid #271f16;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    z-index: 3
}

.swiper-button-prev--unit {
    left: 10px;
    transform: rotate(225deg)
}

.swiper-button-next--unit {
    right: 10px;
    transform: rotate(45deg)
}

.slider-unit .swiper-pagination-bullets {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 8px;
    position: relative;
    bottom: 0 !important
}

.slider-unit .swiper-pagination-bullets .swiper-pagination-bullet {
    display: inline-block;
    width: 4px;
    height: 4px;
    background-color: #e8e8e8;
    border-radius: 50%;
    margin: 4px 2px 0;
    transition: .1s background
}

.slider-unit .swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: #271f16
}

@media(min-width: 480px) {
    .swiper-button-prev--unit {
        left: 60px
    }

    .swiper-button-next--unit {
        right: 60px
    }
}

@media(min-width: 600px) {
    .slider-block__content {
        padding: 16px 24px
    }

    .swiper-button-prev--unit,
    .swiper-button-next--unit {
        width: 24px;
        height: 24px
    }

    .swiper-button-prev--unit {
        left: 40px
    }

    .swiper-button-next--unit {
        right: 40px
    }
}

@media(min-width: 768px) {
    .slider-block__title {
        font-size: 1.6rem
    }

    .slider-block__text {
        font-size: 1.4rem
    }

    .slider-unit .swiper-pagination-bullets .swiper-pagination-bullet {
        width: 6px;
        height: 6px;
        margin: 6px 3px 0
    }
}

@media(min-width: 1024px) {
    .slider-block__content {
        padding: 20px 40px
    }

    .slider-block__title {
        font-size: 1.8rem
    }

    .slider-block__text {
        font-size: 1.5rem
    }

    .slider-block__title+.slider-block__text {
        margin-top: 6px
    }

    .swiper-button-prev--unit,
    .swiper-button-next--unit {
        width: 40px;
        height: 40px
    }

    .swiper-button-prev--unit {
        left: 24px
    }

    .swiper-button-next--unit {
        right: 24px
    }

    .slider-unit .swiper-pagination-bullets {
        margin-top: 12px
    }

    .slider-unit .swiper-pagination-bullets .swiper-pagination-bullet {
        width: 8px;
        height: 8px;
        margin: 8px 4px 0
    }
}

.reference-box {
    background-color: #f5f2ed;
    padding: 30px;
    margin-top: 24px;
    margin-bottom: 24px
}

.reference-box__heading {
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1.4;
    background-color: #fff;
    padding: 10px 24px;
    margin-bottom: 16px
}

.reference-box__text {
    font-size: 1.4rem
}

@media(min-width: 768px) {
    .reference-box {
        padding: 40px;
        margin-top: 48px;
        margin-bottom: 48px
    }
}

.jushu-lineup {
    display: flex;
    flex-wrap: wrap;
    margin: 12px -6px 24px
}

.jushu-lineup__item {
    margin: 12px 6px 0;
    flex-basis: calc(33.333% - 12px)
}

.jushu-lineup__name {
    text-align: center;
    line-height: 1.4;
    margin-top: 8px
}

@media(min-width: 600px) {
    .jushu-lineup__item {
        margin: 12px 6px 0;
        flex-basis: calc(25% - 12px)
    }
}

@media(min-width: 768px) {
    .jushu-lineup__item {
        flex-basis: calc(16.6666666667% - 12px)
    }
}

.youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    margin-top: 40px;
    margin-bottom: 40px
}

.youtube iframe {
    display: block;
    margin: 0 auto;
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important
}

.youtube.-no-margin {
    margin-top: 0;
    margin-bottom: 12px
}

.balloon {
    margin-bottom: 40px
}

.column-image-auto+hr+.balloon {
    margin-top: 24px
}

.balloon__image img {
    max-width: 80px;
    margin: 0 auto
}

.balloon__text {
    margin-top: 20px;
    padding: 16px;
    border-radius: 14px;
    border: 1px solid #a09379;
    position: relative
}

.balloon__text::before,
.balloon__text::after {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 9px 12px 9px;
    position: absolute;
    right: 0;
    left: 0;
    margin: 0 auto
}

.balloon__text::before {
    border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #a09379 rgba(0, 0, 0, 0);
    top: -12px
}

.balloon__text::after {
    border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #fff rgba(0, 0, 0, 0);
    top: -10px
}

.balloon__text p {
    font-size: 1.4rem
}

.balloon__text p:last-child {
    margin-bottom: 0 !important
}

.balloon.-customer .balloon__text {
    border: 0;
    background-color: #e8e1d6
}

.balloon.-customer .balloon__text::before {
    border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #e8e1d6 rgba(0, 0, 0, 0)
}

.balloon.-customer .balloon__text::after {
    content: none
}

@media(min-width: 768px) {
    .balloon {
        display: flex;
        align-items: flex-start
    }

    .balloon__image {
        flex-basis: 122px;
        flex-grow: 0;
        flex-shrink: 0;
        padding-right: 32px
    }

    .balloon__image img {
        max-width: 100%
    }

    .balloon__text {
        padding: 24px;
        flex-shrink: 1;
        margin-top: 12px;
        display: flex;
        align-items: center
    }

    .balloon__text p {
        font-size: 1.5rem
    }

    .balloon__text::before,
    .balloon__text::after {
        transform: rotate(270deg);
        top: 32px;
        right: auto;
        margin: auto 0
    }

    .balloon__text::before {
        left: -15px
    }

    .balloon__text::after {
        left: -13px
    }
}

.databox {
    background-color: #f5f2ed;
    padding: 24px;
    display: flex;
    flex-direction: column;
    margin-top: 144px;
    margin-bottom: 48px;
    position: relative
}

.databox::before {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 80px 80px 0 0;
    border-color: #811e1e rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
    position: absolute;
    top: -2px;
    left: -2px;
    filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.2))
}

.databox::after {
    content: "Data";
    font-size: 1.6rem;
    font-weight: 600;
    color: #fff;
    position: absolute;
    top: 10px;
    left: 6px;
    transform: rotate(-45deg)
}

.databox__textbox {
    order: 2;
    margin-top: 16px
}

.databox__image {
    order: 1
}

.databox__name {
    font-size: 1.7rem;
    font-weight: 600;
    line-height: 1.4
}

.databox__text {
    font-size: 1.4rem;
    line-height: 1.6;
    margin-top: 8px
}

@media(min-width: 600px) {
    .databox {
        flex-direction: row
    }

    .databox__textbox {
        flex-basis: 65%;
        margin-top: 0;
        padding-left: 24px
    }

    .databox__image {
        flex-basis: 35%
    }
}

@media(min-width: 768px) {
    .databox {
        align-items: center;
        padding: 40px
    }
}

@media(min-width: 1024px) {
    .databox {
        padding: 40px 60px
    }

    .databox__textbox {
        padding-left: 40px
    }

    .databox__name {
        font-size: 1.8rem
    }

    .databox__text {
        font-size: 1.5rem
    }
}

.section-box {
    background-color: #fff;
    filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.16));
    margin-top: 60px
}

.section-box__content {
    margin: -32px 14px 0;
    background-color: #fff;
    position: relative;
    padding: 24px 20px 24px
}

.section-box__point-number {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 3.5rem;
    font-weight: 600;
    line-height: 1;
    color: #811e1e;
    padding-bottom: 16px;
    margin-bottom: 16px;
    position: relative
}

.section-box__point-number::before {
    content: "Point";
    font-size: 1rem;
    font-weight: 400px
}

.section-box__point-number::after {
    content: "";
    display: inline-block;
    width: 40px;
    height: 1px;
    background-color: #271f16;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    margin: 0 auto
}

.section-box__point-heading {
    font-size: 1.7rem;
    font-weight: 600;
    line-height: 1.4;
    margin-bottom: 24px
}

.section-box__memo {
    background-color: #f5f2ed;
    padding: 20px;
    font-size: 1.3rem;
    margin-top: 24px
}

@media not all and (min-width: 600px) {
    .section-box__image {
        position: relative;
        padding-top: 55%
    }

    .section-box__image img {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        object-fit: cover
    }
}

@media(min-width: 480px) {
    .section-box__content {
        margin: -40px 24px 0;
        padding: 32px 24px
    }
}

@media(min-width: 600px) {
    .section-box__point-title {
        display: flex;
        margin-bottom: 24px
    }

    .section-box__point-number {
        padding: 0 20px 0 0;
        margin: 0 20px 0 0
    }

    .section-box__point-number::after {
        width: 1px;
        height: 100%;
        left: auto;
        right: 0
    }

    .section-box__point-heading {
        margin-top: auto;
        margin-bottom: auto
    }
}

@media(min-width: 768px) {
    .section-box__content {
        margin: -32px 32px 0;
        padding: 48px 64px
    }

    .section-box__memo {
        padding: 32px 24px;
        font-size: 1.4rem;
        margin-top: 40px
    }
}

@media(min-width: 1024px) {
    .section-box {
        margin-top: 80px
    }

    .section-box__content {
        margin: -48px 48px 0;
        padding: 64px 88px
    }

    .section-box__point-title {
        margin-bottom: 48px
    }

    .section-box__point-number {
        font-size: 4.8rem;
        padding-right: 32px;
        margin-right: 32px
    }

    .section-box__point-number::before {
        font-size: 1.2rem
    }

    .section-box__point-heading {
        font-size: 2.4rem
    }
}

.section-box__advisor-position {
    font-family: "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.4;
    text-align: center;
    padding-bottom: 12px;
    margin-bottom: 3px;
    position: relative
}

.section-box__advisor-position::before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 1px;
    background-color: #271f16;
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    margin: 0 auto
}

.section-box__advisor-name {
    font-family: "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-size: 3rem;
    font-weight: 400;
    line-height: 1.4;
    text-align: center
}

.section-box__advisor-memo {
    font-family: "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.4;
    text-align: center;
    margin-top: 8px
}

.section-box__textbox.-advisor {
    border-top: 1px solid #271f16;
    margin-top: 24px;
    padding-top: 32px
}

.section-box__textbox.-advisor .section-box__heading,
.section-box__textbox.-advisor p,
.section-box__textbox.-advisor ul.default {
    padding: 0 0 0 20px
}

.section-box__heading {
    font-family: "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.4;
    margin-bottom: 12px;
    position: relative
}

.section-box__heading:not(:first-child) {
    margin-top: 32px
}

.section-box__heading::before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 1px;
    background-color: #271f16;
    position: absolute;
    top: .7em;
    left: 0
}

@media(min-width: 600px) {
    .section-box__advisor-name {
        font-size: 3.2rem
    }
}

@media(min-width: 768px) {
    .section-box__advisor-position {
        font-size: 1.8rem
    }

    .section-box__advisor-name {
        font-size: 3.6rem
    }
}

@media(min-width: 1024px) {
    .section-box__advisor-position {
        font-size: 2rem;
        margin: -10px 0 0;
        padding-bottom: 10px
    }

    .section-box__advisor-name {
        font-size: 4rem
    }

    .section-box__advisor-memo {
        font-size: 1.4rem
    }

    .section-box__heading {
        font-size: 2.4rem
    }

    .section-box__heading:not(:first-child) {
        margin-top: 40px
    }

    .section-box__textbox.-advisor {
        margin-top: 36px;
        padding-top: 64px
    }
}

.section-box.-max {
    filter: none;
    margin-top: 80px
}

.section-box.-max .section-box__content {
    margin: -16px 0 0;
    padding: 36px 24px 0
}

@media not all and (min-width: 600px) {
    .section-box.-max .section-box__image {
        padding-top: 59%
    }
}

@media(min-width: 1024px) {
    .section-box.-max {
        margin-top: 116px
    }

    .section-box.-max .section-box__content {
        margin-top: 116px;
        margin: -106px 50px 0;
        padding: 74px 50px 0
    }
}

.section-box__title {
    font-family: "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-size: 2rem;
    font-weight: 400;
    line-height: 1.45;
    text-align: center
}

@media(min-width: 480px) {
    .section-box__title {
        font-size: 2.4rem
    }
}

@media(min-width: 768px) {
    .section-box__title {
        font-size: 2.8rem
    }
}

@media(min-width: 1024px) {
    .section-box__title {
        font-size: 4rem
    }
}

.section-box__name {
    font-family: "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-size: 1.2rem;
    font-weight: 400;
    text-align: center;
    margin-top: 16px
}

@media(min-width: 768px) {
    .section-box__name {
        font-size: 1.4rem
    }
}

@media(min-width: 1024px) {
    .section-box__name {
        font-size: 1.6rem;
        margin-top: 27px
    }
}

.section-box__textbox.-recruit {
    border-top: 1px solid #271f16;
    padding-top: 24px;
    margin-top: 32px
}

.section-box__textbox.-recruit p {
    font-size: 1.5rem;
    line-height: 1.666
}

@media(min-width: 1024px) {
    .section-box__textbox.-recruit {
        margin-top: 40px;
        padding: 36px 52px 0
    }

    .section-box__textbox.-recruit p {
        font-size: 1.6rem;
        line-height: 1.6875
    }
}

.section-box__heading--mini {
    color: #811e1e;
    font-size: 1.6rem;
    font-weight: 400;
    padding-left: 20px;
    margin-top: 24px;
    margin-bottom: 4px;
    position: relative
}

.section-box__heading--mini::before {
    content: "";
    width: 13px;
    height: 13px;
    background-color: #811e1e;
    position: absolute;
    top: 8px;
    left: 0
}

@media(min-width: 1024px) {
    .section-box__heading--mini {
        font-size: 1.8rem;
        line-height: 1.5;
        margin-top: 28px
    }

    .section-box__heading--mini::before {
        width: 15px;
        height: 15px;
        top: 7px
    }
}

.omoi__heading {
    font-family: "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-size: 2.8rem;
    font-weight: 400;
    line-height: 1.4;
    padding-bottom: 20px;
    margin-bottom: 32px;
    position: relative
}

.omoi__heading::before {
    content: "";
    display: inline-block;
    width: 30px;
    height: 1px;
    background-color: #271f16;
    position: absolute;
    left: 0;
    bottom: 0
}

.omoi__heading:not(.first-child) {
    margin-top: 80px
}

.omoi__heading.-first-child {
    margin-top: 40px
}

.omoi__text {
    font-family: "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-size: 1.5rem;
    font-weight: 400
}

.omoi__text,
.omoi__image,
.omoi__image--large {
    margin-top: 32px;
    margin-bottom: 32px
}

@media(min-width: 600px) {
    .omoi__heading {
        font-size: 3.2rem
    }
}

@media(min-width: 768px) {
    .omoi__heading {
        font-size: 3.6rem
    }

    .omoi__heading:not(:first-child) {
        margin-top: 104px
    }
}

@media(min-width: 1024px) {

    .omoi__heading,
    .omoi__text,
    .omoi__image {
        padding: 0 80px
    }

    .omoi__heading {
        font-size: 4rem;
        margin-bottom: 40px
    }

    .omoi__heading::before {
        width: 40px;
        top: 28px;
        bottom: auto
    }

    .omoi__heading:not(.first-child) {
        margin-top: 120px
    }

    .omoi__heading.-first-child {
        margin-top: 60px
    }

    .omoi__text {
        font-size: 1.6rem
    }

    .omoi__text,
    .omoi__image,
    .omoi__image--large {
        margin-top: 40px;
        margin-bottom: 40px
    }
}

.advisor-message__content {
    background-color: #f5f2ed;
    padding: 24px;
    border-radius: 14px;
    position: relative
}

.advisor-message__content::before {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 21px 8px 0 8px;
    border-color: #f5f2ed rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
    position: absolute;
    bottom: -20px;
    right: 0;
    left: 0;
    margin: 0 auto
}

.advisor-message__text {
    font-size: 1.5rem
}

.advisor-message__text .big-text {
    font-size: 1.8rem;
    font-weight: 600
}

.advisor-message__text .strong-text {
    color: #811e1e
}

.advisor-message__link {
    font-size: 1.4rem;
    margin-top: 16px
}

.advisor-message__link a {
    font-size: 1.5rem;
    display: block;
    color: #271f16 !important;
    padding-right: 24px;
    text-align: right;
    position: relative
}

.advisor-message__link a::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    background-color: #271f16;
    border-radius: 50%;
    position: absolute;
    top: 5px;
    right: 0
}

.advisor-message__link a::after {
    content: "";
    display: inline-block;
    width: 5px;
    height: 5px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    position: absolute;
    top: 1px;
    right: 7px;
    bottom: 0;
    margin: auto 0
}

@media(hover: hover) {
    .advisor-message__link a {
        transition: .2s color
    }

    .advisor-message__link a::before {
        transition: .2s background
    }

    .advisor-message__link a:hover {
        color: #811e1e !important
    }

    .advisor-message__link a:hover::before {
        background-color: #811e1e
    }
}

.advisor-message__image {
    max-width: 130px;
    margin: 40px auto 0
}

@media(min-width: 768px) {
    .advisor-message {
        display: flex;
        align-items: center
    }

    .advisor-message__image {
        order: 1
    }

    .advisor-message__content {
        order: 2;
        flex-basis: calc(100% - 130px - 40px);
        margin-left: 40px
    }

    .advisor-message__content::before {
        transform: rotate(90deg);
        top: 0;
        right: auto;
        bottom: 0;
        left: -16px;
        margin: auto 0
    }
}

.reception-time {
    display: inline-block;
    color: #811e1e;
    border: 1px solid #811e1e;
    padding: 6px 16px;
    margin-bottom: 16px
}

.supplement-box {
    border: 1px dashed #271f16;
    padding: 24px
}

.supplement-box:not(:first-child) {
    margin-top: 40px
}

.supplement-box:not(:last-child) {
    margin-bottom: 40px
}

.supplement-box>*:last-child {
    margin-bottom: 0
}

@media(min-width: 768px) {
    .supplement-box {
        padding: 32px 40px
    }

    .supplement-box:not(:first-child) {
        margin-top: 60px
    }

    .supplement-box:not(:last-child) {
        margin-bottom: 60px
    }
}

.step-box {
    background-color: #f5f2ed;
    padding: 28px 24px
}

.step-box+.step-box {
    margin-top: 72px;
    position: relative
}

.step-box+.step-box::before {
    content: "";
    display: inline-block;
    width: 40px;
    height: 40px;
    border-left: 2px solid #d8cbb5;
    border-bottom: 2px solid #d8cbb5;
    transform: rotate(-45deg);
    position: absolute;
    top: -66px;
    right: 0;
    left: 0;
    margin: 0 auto
}

.step-box__number {
    color: #811e1e;
    font-size: 3rem;
    font-weight: 600;
    line-height: 1;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    padding-bottom: 24px;
    margin-bottom: 16px;
    position: relative
}

.step-box__number .step-box__label {
    display: inline-block;
    font-size: 1.4rem;
    margin-bottom: 2px;
    margin-right: 4px;
    text-transform: uppercase
}

.step-box__number::before {
    content: "";
    display: inline-block;
    width: 24px;
    height: 3px;
    background-color: #fff;
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    margin: 0 auto
}

.step-box__heading {
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
    border-bottom: 1px dashed #271f16;
    padding-bottom: 16px;
    margin-bottom: 20px
}

.step-box__image {
    margin-bottom: 16px
}

.step-box__text {
    font-size: 1.6rem
}

.step-box__text strong {
    font-weight: 400 !important;
    color: #811e1e
}

@media(min-width: 600px) {
    .step-box {
        display: flex;
        padding: 0
    }

    .step-box__number {
        flex-basis: 120px;
        font-size: 5rem;
        flex-direction: column;
        align-items: center;
        padding: 20px;
        margin-bottom: 0
    }

    .step-box__number .step-box__label {
        font-size: 1.6rem;
        margin-right: 0;
        margin-bottom: 12px
    }

    .step-box__number::before {
        width: 3px;
        height: 100%;
        top: 0;
        right: 0;
        bottom: auto;
        left: auto
    }

    .step-box__container {
        flex-basis: calc(100% - 120px);
        padding: 40px
    }

    .step-box__heading {
        text-align: justify;
        font-size: 2.4rem
    }
}

@media(min-width: 768px) {
    .step-box__content {
        display: flex
    }

    .step-box__image {
        flex-basis: 35%;
        padding-right: 24px
    }

    .step-box__image+.step-box__text-box {
        flex-basis: 65%
    }
}

@media(min-width: 1024px) {
    .step-box__number {
        flex-basis: 150px
    }

    .step-box__container {
        flex-basis: calc(100% - 150px)
    }
}

.advisor-bg {
    background-color: #f5f2ed;
    width: 100vw;
    margin: 60px calc(50% - 50vw) 0;
    padding: 60px 0
}

.advisor-heading,
.heading-mincho {
    font-family: "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-size: 2.4rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 40px
}

.advisor-heading:not(:first-child),
.heading-mincho:not(:first-child) {
    margin-top: 60px
}

@media(min-width: 600px) {

    .advisor-heading,
    .heading-mincho {
        font-size: 2.8rem
    }
}

@media(min-width: 768px) {

    .advisor-heading,
    .heading-mincho {
        font-size: 3.2rem
    }

    .advisor-heading:not(:first-child),
    .heading-mincho:not(:first-child) {
        margin-top: 80px
    }
}

@media(min-width: 1024px) {

    .advisor-heading,
    .heading-mincho {
        font-size: 4rem
    }

    .advisor-heading:not(:first-child),
    .heading-mincho:not(:first-child) {
        margin-top: 120px
    }
}

.advisor-heading {
    margin-bottom: 24px
}

.advisor-text {
    font-size: 1.6rem
}

@media(min-width: 768px) {
    .advisor-bg {
        margin-top: 80px;
        padding: 80px 0
    }

    .advisor-text {
        text-align: center
    }
}

@media(min-width: 1024px) {
    .advisor-bg {
        margin-top: 120px;
        padding: 120px 0
    }
}

.tour-link__container {
    margin-top: 60px
}

.tour-link {
    position: relative
}

.tour-link+.tour-link {
    margin-top: 60px
}

.tour-link::before {
    content: "";
    display: block;
    width: 100%;
    height: 150px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover
}

.tour-link__content {
    background-color: #271f16;
    padding: 32px 24px
}

.tour-link__heading {
    color: #fff;
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
    border-bottom: 1px solid #fff;
    padding-bottom: 12px;
    margin-bottom: 20px
}

.tour-link__text {
    color: #fff;
    font-size: 1.4rem
}

.tour-link__button a {
    background-color: #fff;
    margin-top: 24px;
    display: flex;
    justify-content: center;
    width: 100%;
    padding: 10px 40px;
    border-radius: 50px;
    position: relative
}

.tour-link__button a::before {
    content: "";
    display: inline-block;
    width: 22px;
    height: 22px;
    background-color: #271f16;
    border-radius: 50%;
    position: absolute;
    top: 0;
    right: 12px;
    bottom: 0;
    margin: auto 0
}

.tour-link__button a::after {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    margin: auto 0
}

.tour-link.-type01::before {
    background-image: url(/themes/images/tour-link01.jpg)
}

.tour-link.-type01 .tour-link__button a {
    color: #4c473c
}

.tour-link.-type01 .tour-link__content,
.tour-link.-type01 .tour-link__button a::before {
    background-color: #4c473c
}

.tour-link.-type02::before {
    background-image: url(/themes/images/tour-link02.jpg)
}

.tour-link.-type02 .tour-link__button a {
    color: #35654a
}

.tour-link.-type02 .tour-link__content,
.tour-link.-type02 .tour-link__button a::before {
    background-color: #35654a
}

.tour-link.-type03::before {
    background-image: url(/themes/images/tour-link03.jpg)
}

.tour-link.-type03 .tour-link__button a {
    color: #397b83
}

.tour-link.-type03 .tour-link__content,
.tour-link.-type03 .tour-link__button a::before {
    background-color: #397b83
}

.tour-link.-type04::before {
    background-image: url(/themes/images/tour-link04.jpg)
}

.tour-link.-type04 .tour-link__button a {
    color: #9e7f3a
}

.tour-link.-type04 .tour-link__content,
.tour-link.-type04 .tour-link__button a::before {
    background-color: #9e7f3a
}

.tour-link.-type05::before {
    background-image: url(/themes/images/tour-link05.jpg)
}

.tour-link.-type05 .tour-link__button a {
    color: #395a6f
}

.tour-link.-type05 .tour-link__content,
.tour-link.-type05 .tour-link__button a::before {
    background-color: #395a6f
}

@media(min-width: 600px) {
    .tour-link::before {
        height: 200px
    }
}

@media(min-width: 768px) {
    .tour-link {
        display: flex;
        justify-content: stretch;
        width: 100%;
        position: relative
    }

    .tour-link::before {
        height: auto;
        width: 56%
    }

    .tour-link__content {
        flex-basis: 44%;
        margin-left: auto;
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 40px 56px;
        min-height: 320px
    }

    .tour-link__heading {
        font-size: 2.4rem
    }
}

@media(min-width: 1024px) {
    .tour-link__container {
        margin-top: 80px
    }
}

@media(hover: hover) {
    .tour-link__button a {
        transition: .2s opacity
    }

    .tour-link__button a:hover {
        opacity: .8
    }
}

.staff-box {
    background-color: #fff;
    padding: 24px;
    margin-top: 60px
}

@media not all and (min-width: 600px) {
    .staff-box__image {
        padding-top: 66.666%;
        position: relative
    }

    .staff-box__image img {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        margin: auto 0;
        object-fit: cover
    }
}

.staff-box__title {
    margin-top: 32px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    border-bottom: 1px dashed #271f16;
    padding-bottom: 16px;
    margin-bottom: 24px;
    font-family: "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    line-height: 1.4
}

.staff-box__position {
    font-size: 1.4rem;
    font-weight: 400;
    padding-left: 20px;
    margin-right: 20px;
    margin-top: 4px;
    position: relative
}

.staff-box__position::before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 1px;
    background-color: #271f16;
    position: absolute;
    top: .7em;
    left: 0
}

.staff-box__name {
    font-size: 2.5rem;
    font-weight: 400
}

.staff-box__text--heading {
    font-family: "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-size: 2rem;
    font-weight: 400;
    margin-bottom: 8px
}

.staff-box__text {
    font-size: 1.5rem
}

@media(min-width: 600px) {
    .staff-box {
        display: flex
    }

    .staff-box__image {
        flex-basis: 38%
    }

    .staff-box__content {
        flex-basis: 62%;
        padding-left: 24px
    }

    .staff-box__title {
        margin-top: 16px
    }
}

@media(min-width: 768px) {
    .staff-box__content {
        padding-left: 32px
    }

    .staff-box__name:first-child {
        margin-left: 20px
    }

    .staff-box__text--heading,
    .staff-box__text {
        padding: 0 20px
    }
}

@media(min-width: 1024px) {
    .staff-box {
        padding: 32px
    }

    .staff-box__position {
        font-size: 1.6rem
    }

    .staff-box__name {
        font-size: 3rem
    }

    .staff-box__content {
        padding-left: 40px
    }
}

.nagare-image {
    max-width: 500px;
    margin: 40px auto
}

.page-title--recruit {
    position: relative;
    min-height: 216px
}

.page-title--recruit .page-title--recruit__bgimage {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: left center
}

@media(min-width: 480px) {
    .page-title--recruit {
        min-height: auto
    }

    .page-title--recruit .page-title--recruit__bgimage {
        position: relative;
        height: auto
    }
}

.page-title--recruit__image {
    position: absolute;
    bottom: 0;
    left: 24px;
    z-index: 2;
    max-width: 238px
}

@media(min-width: 480px) {
    .page-title--recruit__image {
        max-width: 300px
    }
}

@media(min-width: 768px) {
    .page-title--recruit__image {
        left: 80px;
        max-width: 360px
    }
}

@media(min-width: 1280px) {
    .page-title--recruit__image {
        max-width: 36%
    }
}

.heading-mincho--pagetitle {
    font-family: "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-size: 2.8rem;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
    margin-top: 48px;
    margin-bottom: 8px
}

@media(min-width: 480px) {
    .heading-mincho--pagetitle {
        font-size: 3.2rem;
        margin-bottom: 0
    }
}

@media(min-width: 768px) {
    .heading-mincho--pagetitle {
        font-size: 4rem
    }
}

@media(min-width: 1024px) {
    .heading-mincho--pagetitle {
        font-size: 4.4rem
    }
}

@media(min-width: 1280px) {
    .heading-mincho--pagetitle {
        font-size: 4.8rem
    }
}

.recruit-point {
    display: flex;
    flex-wrap: wrap;
    margin: 14px -5px 64px
}

.recruit-point li {
    flex-basis: calc(100% - 10px);
    margin: 10px 5px 0;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 600;
    background-color: #f5f2ed;
    padding: 16px 8px;
    border-radius: 10px
}

.recruit-point li strong {
    color: #811e1e
}

@media(min-width: 600px) {
    .recruit-point {
        margin: 38px -5px 80px
    }

    .recruit-point li {
        flex-basis: calc(50% - 10px);
        font-size: 1.8rem;
        padding: 18px 8px
    }
}

.recruit-vision-text {
    font-size: 1.4rem;
    line-height: 1.8;
    margin-bottom: 1.8em
}

@media(min-width: 768px) {
    .recruit-vision-text {
        font-size: 1.5rem;
        text-align: center
    }
}

.recruit-data {
    border-bottom: 10px solid #e4d796
}

.recruit-data__box,
.recruit-data__item+.recruit-data__item {
    border-top: 10px solid #e4d796
}

.recruit-data__item {
    padding: 32px 24px
}

.recruit-data__image {
    text-align: center;
    margin: 0 auto
}

.recruit-data__image p:last-child {
    margin-bottom: 0 !important
}

.recruit-data__heading {
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1.4;
    margin-bottom: 16px;
    text-align: center
}

.recruit-data__text {
    font-size: 1.6rem;
    line-height: 1.5;
    margin-bottom: 20px;
    display: flex;
    justify-content: center
}

.recruit-data__textdata {
    display: flex;
    justify-content: center;
    align-items: baseline;
    font-weight: 600;
    line-height: 1
}

.recruit-data__textdata.-fontsizeS {
    font-size: 4rem
}

.recruit-data__textdata.-fontsizeS .-small {
    font-size: 2.4rem
}

@media(min-width: 600px) {
    .recruit-data__textdata.-fontsizeS {
        font-size: 4.5rem
    }

    .recruit-data__textdata.-fontsizeS .-small {
        font-size: 3rem
    }
}

.recruit-data__textdata.-fontsizeL {
    font-size: 6rem
}

.recruit-data__textdata.-fontsizeL .-small {
    font-size: 3.2rem
}

@media(min-width: 1024px) {
    .recruit-data__textdata.-fontsizeL {
        font-size: 8.2rem
    }

    .recruit-data__textdata.-fontsizeL .-small {
        font-size: 5.6rem
    }
}

.recruit-data__textdata.-color {
    color: #c35200
}

.recruit-data__gender-container {
    display: flex;
    justify-content: center
}

.recruit-data__gender {
    flex-basis: calc(50% - 20px);
    max-width: 100px
}

.recruit-data__gender+.recruit-data__gender {
    margin-left: 40px
}

.recruit-data__gender-label {
    display: block;
    font-size: 1.5rem;
    font-weight: 600;
    text-align: center;
    margin-top: 12px
}

.recruit-data__gender-label.-woman {
    color: #c35200
}

.recruit-data__balloon {
    display: inline-block;
    background-color: #271f16;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1;
    text-align: center;
    padding: 9px 32px;
    margin-bottom: 12px;
    position: relative
}

.recruit-data__balloon::before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 12px 7px 0 7px;
    border-color: #271f16 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
    position: absolute;
    bottom: -7px;
    right: 0;
    left: 0;
    margin: 0 auto
}

@media(min-width: 1024px) {
    .recruit-data__balloon {
        display: block
    }
}

.recruit-data__note {
    display: inline-block;
    font-size: 1.4rem;
    border: 1px solid #271f16;
    padding: 4px 12px;
    margin-top: 8px
}

@media(min-width: 1024px) {
    .recruit-data__note {
        display: block;
        padding: 9px 12px
    }
}

.recruit-data__item.-box01 .recruit-data__image {
    max-width: 300px
}

.recruit-data__item.-box03 .recruit-data__image {
    max-width: 324px
}

.recruit-data__item.-box04 .recruit-data__image {
    max-width: 400px
}

.recruit-data__item.-box06 .recruit-data__image {
    max-width: 462px
}

.recruit-data__item.-box08 .recruit-data__image {
    max-width: 314px
}

@media(min-width: 480px) {
    .recruit-data__note {
        padding: 4px 20px
    }
}

@media(min-width: 768px) {
    .recruit-data__box {
        display: flex
    }

    .recruit-data__item+.recruit-data__item {
        border-top: 0;
        border-left: 10px solid #e4d796
    }

    .recruit-data__item {
        flex: 1 1 auto;
        display: flex;
        flex-direction: column
    }

    .recruit-data__item.-box01,
    .recruit-data__item.-box03,
    .recruit-data__item.-box05,
    .recruit-data__item.-box07 {
        flex-grow: 0;
        flex-shrink: 0
    }

    .recruit-data__item.-box01 {
        flex-basis: 50%
    }

    .recruit-data__item.-box03 {
        flex-basis: 44.444%
    }

    .recruit-data__item.-box05 {
        flex-basis: 38%
    }

    .recruit-data__item.-box07 {
        flex-basis: 50%
    }

    .recruit-data__item .recruit-data__image {
        margin: auto
    }
}

@media(min-width: 1024px) {
    .recruit-data__item {
        padding: 42px 48px
    }

    .recruit-data__heading {
        margin-bottom: 25px
    }
}

[class*=acms-col] {
    margin-bottom: 24px
}

@media not all and (min-width: 600px) {

    .acms-col-1,
    .acms-col-2,
    .acms-col-3,
    .acms-col-4,
    .acms-col-5,
    .acms-col-6,
    .acms-col-7,
    .acms-col-8,
    .acms-col-9,
    .acms-col-10,
    .acms-col-11,
    .acms-col-12 {
        width: 100%;
        padding-right: 0;
        padding-left: 0
    }

    [class*=acms-col] {
        margin-bottom: 14px
    }
}

.acms-admin-panel-body {
    word-wrap: break-word
}

@font-face {
    font-family: swiper-icons;
    src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
    font-weight: 400;
    font-style: normal
}

:root {
    --swiper-theme-color: #007aff
}

.swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1
}

.swiper-vertical>.swiper-wrapper {
    flex-direction: column
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    box-sizing: content-box
}

.swiper-android .swiper-slide,
.swiper-wrapper {
    transform: translate3d(0px, 0, 0)
}

.swiper-pointer-events {
    touch-action: pan-y
}

.swiper-pointer-events.swiper-vertical {
    touch-action: pan-x
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform
}

.swiper-slide-invisible-blank {
    visibility: hidden
}

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
    height: auto
}

.swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform, height
}

.swiper-backface-hidden .swiper-slide {
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-3d,
.swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px
}

.swiper-3d .swiper-cube-shadow,
.swiper-3d .swiper-slide,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-wrapper {
    transform-style: preserve-3d
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10
}

.swiper-3d .swiper-slide-shadow {
    background: rgba(0, 0, 0, .15)
}

.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-css-mode>.swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none
}

.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
    display: none
}

.swiper-css-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: start start
}

.swiper-horizontal.swiper-css-mode>.swiper-wrapper {
    scroll-snap-type: x mandatory
}

.swiper-vertical.swiper-css-mode>.swiper-wrapper {
    scroll-snap-type: y mandatory
}

.swiper-centered>.swiper-wrapper::before {
    content: "";
    flex-shrink: 0;
    order: 9999
}

.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
    margin-inline-start: var(--swiper-centered-offset-before)
}

.swiper-centered.swiper-horizontal>.swiper-wrapper::before {
    height: 100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after)
}

.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
    margin-block-start: var(--swiper-centered-offset-before)
}

.swiper-centered.swiper-vertical>.swiper-wrapper::before {
    width: 100%;
    min-width: 1px;
    height: var(--swiper-centered-offset-after)
}

.swiper-centered>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: center center
}

.swiper-virtual .swiper-slide {
    -webkit-backface-visibility: hidden;
    transform: translateZ(0)
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
    height: 1px;
    width: var(--swiper-virtual-size)
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
    width: 1px;
    height: var(--swiper-virtual-size)
}

:root {
    --swiper-navigation-size: 44px
}

.swiper-button-next,
.swiper-button-prev {
    position: absolute;
    top: 50%;
    width: calc(var(--swiper-navigation-size)/44*27);
    height: var(--swiper-navigation-size);
    margin-top: calc(0px - var(--swiper-navigation-size)/2);
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--swiper-navigation-color, var(--swiper-theme-color))
}

.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
    opacity: .35;
    cursor: auto;
    pointer-events: none
}

.swiper-button-next.swiper-button-hidden,
.swiper-button-prev.swiper-button-hidden {
    opacity: 0;
    cursor: auto;
    pointer-events: none
}

.swiper-navigation-disabled .swiper-button-next,
.swiper-navigation-disabled .swiper-button-prev {
    display: none !important
}

.swiper-button-next:after,
.swiper-button-prev:after {
    font-family: swiper-icons;
    font-size: var(--swiper-navigation-size);
    text-transform: none !important;
    letter-spacing: 0;
    font-variant: initial;
    line-height: 1
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
    left: 10px;
    right: auto
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
    content: "prev"
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
    right: 10px;
    left: auto
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
    content: "next"
}

.swiper-button-lock {
    display: none
}

.swiper-pagination {
    position: absolute;
    text-align: center;
    transition: .3s opacity;
    transform: translate3d(0, 0, 0);
    z-index: 10
}

.swiper-pagination.swiper-pagination-hidden {
    opacity: 0
}

.swiper-pagination-disabled>.swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
    display: none !important
}

.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
    bottom: 10px;
    left: 0;
    width: 100%
}

.swiper-pagination-bullets-dynamic {
    overflow: hidden;
    font-size: 0
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transform: scale(0.33);
    position: relative
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
    transform: scale(0.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
    transform: scale(0.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
    transform: scale(0.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
    transform: scale(0.33)
}

.swiper-pagination-bullet {
    width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
    height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
    display: inline-block;
    border-radius: 50%;
    background: var(--swiper-pagination-bullet-inactive-color, #000);
    opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2)
}

button.swiper-pagination-bullet {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none
}

.swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer
}

.swiper-pagination-bullet:only-child {
    display: none !important
}

.swiper-pagination-bullet-active {
    opacity: var(--swiper-pagination-bullet-opacity, 1);
    background: var(--swiper-pagination-color, var(--swiper-theme-color))
}

.swiper-pagination-vertical.swiper-pagination-bullets,
.swiper-vertical>.swiper-pagination-bullets {
    right: 10px;
    top: 50%;
    transform: translate3d(0px, -50%, 0)
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
    display: block
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    top: 50%;
    transform: translateY(-50%);
    width: 8px
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    display: inline-block;
    transition: .2s transform, .2s top
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px)
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: .2s transform, .2s left
}

.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: .2s transform, .2s right
}

.swiper-pagination-progressbar {
    background: rgba(0, 0, 0, .25);
    position: absolute
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    transform-origin: right top
}

.swiper-horizontal>.swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,
.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: 4px;
    left: 0;
    top: 0
}

.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-vertical>.swiper-pagination-progressbar {
    width: 4px;
    height: 100%;
    left: 0;
    top: 0
}

.swiper-pagination-lock {
    display: none
}

.swiper-scrollbar {
    border-radius: 10px;
    position: relative;
    -ms-touch-action: none;
    background: rgba(0, 0, 0, .1)
}

.swiper-scrollbar-disabled>.swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
    display: none !important
}

.swiper-horizontal>.swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
    position: absolute;
    left: 1%;
    bottom: 3px;
    z-index: 50;
    height: 5px;
    width: 98%
}

.swiper-scrollbar.swiper-scrollbar-vertical,
.swiper-vertical>.swiper-scrollbar {
    position: absolute;
    right: 3px;
    top: 1%;
    z-index: 50;
    width: 5px;
    height: 98%
}

.swiper-scrollbar-drag {
    height: 100%;
    width: 100%;
    position: relative;
    background: rgba(0, 0, 0, .5);
    border-radius: 10px;
    left: 0;
    top: 0
}

.swiper-scrollbar-cursor-drag {
    cursor: move
}

.swiper-scrollbar-lock {
    display: none
}

.swiper-zoom-container {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center
}

.swiper-zoom-container>canvas,
.swiper-zoom-container>img,
.swiper-zoom-container>svg {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain
}

.swiper-slide-zoomed {
    cursor: move
}

.swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    transform-origin: 50%;
    box-sizing: border-box;
    border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
    border-radius: 50%;
    border-top-color: rgba(0, 0, 0, 0)
}

.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,
.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear
}

.swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff
}

.swiper-lazy-preloader-black {
    --swiper-preloader-color: #000
}

@keyframes swiper-preloader-spin {
    0% {
        transform: rotate(0deg)
    }

    100% {
        transform: rotate(360deg)
    }
}

.swiper .swiper-notification {
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    opacity: 0;
    z-index: -1000
}

.swiper-free-mode>.swiper-wrapper {
    transition-timing-function: ease-out;
    margin: 0 auto
}

.swiper-grid>.swiper-wrapper {
    flex-wrap: wrap
}

.swiper-grid-column>.swiper-wrapper {
    flex-wrap: wrap;
    flex-direction: column
}

.swiper-fade.swiper-free-mode .swiper-slide {
    transition-timing-function: ease-out
}

.swiper-fade .swiper-slide {
    pointer-events: none;
    transition-property: opacity
}

.swiper-fade .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-fade .swiper-slide-active,
.swiper-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-cube {
    overflow: visible
}

.swiper-cube .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1;
    visibility: hidden;
    transform-origin: 0 0;
    width: 100%;
    height: 100%
}

.swiper-cube .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-cube.swiper-rtl .swiper-slide {
    transform-origin: 100% 0
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-next,
.swiper-cube .swiper-slide-next+.swiper-slide,
.swiper-cube .swiper-slide-prev {
    pointer-events: auto;
    visibility: visible
}

.swiper-cube .swiper-slide-shadow-bottom,
.swiper-cube .swiper-slide-shadow-left,
.swiper-cube .swiper-slide-shadow-right,
.swiper-cube .swiper-slide-shadow-top {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-cube .swiper-cube-shadow {
    position: absolute;
    left: 0;
    bottom: 0px;
    width: 100%;
    height: 100%;
    opacity: .6;
    z-index: 0
}

.swiper-cube .swiper-cube-shadow:before {
    content: "";
    background: #000;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    filter: blur(50px)
}

.swiper-flip {
    overflow: visible
}

.swiper-flip .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1
}

.swiper-flip .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-flip .swiper-slide-active,
.swiper-flip .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-flip .swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-right,
.swiper-flip .swiper-slide-shadow-top {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-creative .swiper-slide {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden;
    transition-property: transform, opacity, height
}

.swiper-cards {
    overflow: visible
}

.swiper-cards .swiper-slide {
    transform-origin: center bottom;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden
}

.swiper-container,
.main-visual__bgimage {
    overflow: hidden
}

@media(min-width: 480px) {

    .work .swiper-slide,
    .blog .swiper-slide {
        width: 280px
    }
}

@media(min-width: 1024px) {
    .work .swiper-slide {
        width: 380px
    }

    .blog .swiper-slide {
        width: 240px
    }
}

.work .swiper-button-prev,
.work .swiper-pagination,
.work .swiper-button-next,
.blog .swiper-button-prev,
.blog .swiper-pagination,
.blog .swiper-button-next {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto
}

.swiper-button__container {
    display: flex;
    justify-content: center;
    margin-bottom: 20px;
    align-items: center
}

.swiper-button__container .swiper-button-prev {
    order: 1
}

.swiper-button__container .swiper-pagination {
    order: 2;
    margin: 0 16px 4px;
    font-size: 1.8rem;
    line-height: 1;
    width: auto
}

.swiper-button__container .swiper-button-next {
    order: 3
}

.swiper-button-prev,
.swiper-button-next {
    width: 17px;
    height: 17px;
    background-color: #271f16;
    border: 0;
    border-radius: 50%;
    margin: 0 5px;
    display: flex;
    justify-content: center;
    align-items: center
}

.swiper-button-prev::after,
.swiper-button-next::after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff
}

.swiper-button-prev::after {
    transform: rotate(225deg);
    margin-left: 2px
}

.swiper-button-next::after {
    transform: rotate(45deg);
    margin-right: 2px
}

.work .swiper-button-prev,
.work .swiper-button-next {
    background-color: #fff
}

.work .swiper-button-prev::after,
.work .swiper-button-next::after {
    border-color: #d8cbb5
}

.work .swiper-pagination {
    order: 2;
    color: #fff
}

@media(min-width: 480px) {
    .swiper-pagination {
        display: none
    }
}

@media(min-width: 1024px) {
    .swiper-button__container {
        justify-content: flex-end;
        padding-right: 80px
    }

    .swiper-button-prev,
    .swiper-button-next {
        width: 60px;
        height: 60px;
        background-color: rgba(0, 0, 0, 0) !important
    }

    .swiper-button-prev::after,
    .swiper-button-next::after {
        border-color: #271f16;
        width: 30px;
        height: 30px
    }

    .work .swiper-button-prev::after,
    .work .swiper-button-next::after {
        border-color: #fff
    }
}

.swiper-button-disabled {
    opacity: .3
}

.archive-box__container {
    display: flex;
    flex-wrap: wrap;
    margin: -40px -12px 0
}

.archive-box {
    flex-basis: calc(100% - 24px);
    margin: 40px 12px 0
}

.archive-box__link {
    height: 100%;
    display: flex;
    flex-direction: column
}

.archive-box__heading {
    flex-grow: 1;
    background-color: #f5f2ed;
    padding: 15px 48px 15px 24px;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.4;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative
}

.archive-box__heading::before {
    content: "";
    display: inline-block;
    width: 22px;
    height: 22px;
    background-color: #271f16;
    border-radius: 50%;
    position: absolute;
    top: 0;
    right: 12px;
    bottom: 0;
    margin: auto 0
}

.archive-box__heading::after {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    margin: auto 0
}

@media(min-width: 600px) {
    .archive-box {
        flex-basis: calc(50% - 24px)
    }
}

@media(min-width: 1024px) {
    .archive-box__container {
        margin: -32px -12px 0
    }

    .archive-box {
        flex-basis: calc(33.333% - 24px);
        margin: 32px 12px 0
    }
}

@media(hover: hover) {
    .archive-box__image {
        overflow: hidden
    }

    .archive-box__image img {
        transition: .2s transform
    }

    .archive-box__heading {
        transition: .2s color
    }

    .archive-box__heading::before {
        transition: .2s background
    }

    .archive-box__link:hover .archive-box__image img {
        transform: scale(1.1)
    }

    .archive-box__link:hover .archive-box__heading {
        color: #811e1e
    }

    .archive-box__link:hover .archive-box__heading::before {
        background-color: #811e1e
    }
}

.pager {
    display: flex;
    justify-content: center;
    margin: 32px -2px 0
}

.pager li {
    margin: 8px 2px 0
}

.pager li span a {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    border: 1px solid #271f16;
    border-radius: 5px;
    transition: .2s color, .2s background, .2s border
}

.pager li.cur span {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    border: 1px solid #d8cbb5;
    border-radius: 5px;
    background-color: #d8cbb5;
    color: #fff
}

.pager .pager__prev,
.pager .pager__next {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px
}

.pager .pager__prev::before,
.pager .pager__next::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-top: 2px solid #271f16;
    border-right: 2px solid #271f16
}

.pager .pager__prev::before {
    transform: rotate(225deg)
}

.pager .pager__next::before {
    transform: rotate(45deg)
}

@media(hover: hover) {
    .pager li span a:hover {
        background-color: #d8cbb5;
        color: #fff;
        border-color: #d8cbb5
    }

    .pager .pager__prev:hover::before,
    .pager .pager__next:hover::before {
        border-color: #811e1e
    }
}

.workbox__container {
    display: flex;
    flex-wrap: wrap;
    margin: -32px -12px 0
}

.workbox {
    background-color: #fff;
    padding: 15px;
    filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.16));
    margin: 32px 12px 0;
    flex-basis: calc(100% - 24px)
}

.workbox__image {
    overflow: hidden
}

.workbox__heading {
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.5;
    color: #fff;
    background-color: #271f16;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 12px;
    margin-top: -2px
}

.workbox__info {
    display: flex;
    flex-wrap: wrap;
    margin: 6px -3px 0;
    font-size: 1.2rem;
    line-height: 1.5
}

.workbox__info li {
    display: inline-block;
    margin: 6px 3px 0;
    padding: 2px 10px;
    border: 1px solid #271f16
}

@media(min-width: 600px) {
    .workbox {
        flex-basis: calc(50% - 24px)
    }
}

@media(min-width: 768px) {
    .workbox {
        flex-basis: calc(33.333% - 24px)
    }
}

@media(min-width: 1024px) {
    .work {
        padding: 40px 0 60px
    }
}

@media(hover: hover) {
    .workbox__image img {
        transition: .2s transform
    }

    .workbox__inner:hover .workbox__image img {
        transform: scale(1.1)
    }
}

.blogbox__image {
    overflow: hidden;
    border-radius: 10px
}

.blogbox__content {
    padding: 10px 0
}

.blogbox__date {
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1
}

.blogbox__heading {
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.5;
    margin-top: 12px
}

.blogbox__info {
    display: flex;
    flex-wrap: wrap;
    margin-top: 12px;
    font-size: 1.2rem;
    line-height: 1.5
}

.blogbox__info li {
    display: inline-block;
    margin: 6px 6px 0 0;
    padding: 2px 10px;
    border: 1px solid #271f16
}

@media(hover: hover) {
    .blogbox__image img {
        transition: .2s transform
    }

    .blogbox__inner:hover .blogbox__image img {
        transform: scale(1.1)
    }
}

.itembox__container {
    display: flex;
    flex-wrap: wrap;
    margin: -32px -12px 0
}

.itembox__amount {
    font-size: 1.4rem;
    text-align: right;
    color: #707070;
    border-bottom: 1px solid #707070;
    padding-bottom: 8px;
    margin-bottom: 16px
}

.itembox {
    flex-basis: calc(100% - 24px);
    margin: 32px 12px 0
}

.itembox__link {
    display: block;
    height: 100%;
    background-color: #f5f2ed;
    padding: 16px;
    border-radius: 10px
}

.itembox__inner {
    display: flex;
    flex-wrap: wrap
}

.itembox__heading {
    flex-basis: 100%;
    background-color: #271f16;
    color: #fff;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.4;
    padding: 8px 12px;
    margin-bottom: 12px
}

.itembox__image {
    flex-basis: 120px;
    height: 120px;
    position: relative
}

.itembox__image img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    top: 0;
    left: 0
}

.itembox__image .itembox__label {
    display: inline-flex;
    align-items: center;
    color: #fff;
    font-size: 1rem;
    line-height: 1;
    padding: 6px 4px;
    position: absolute;
    top: 0;
    left: 0
}

.itembox__image .itembox__label.-label02 {
    background-color: #271f16
}

.itembox__image .itembox__label.-label03 {
    background-color: #811e1e
}

.itembox__image .itembox__label::before {
    content: "";
    display: inline-block;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 12px;
    height: 12px;
    background-image: url("/themes/images/icon_check_white.png");
    margin-right: 4px
}

.itembox__content {
    flex-basis: calc(100% - 120px);
    padding-left: 16px
}

.itembox__table {
    font-size: 1.2rem;
    line-height: 1.4
}

.itembox__table tr+tr {
    border-top: 3px solid #f5f2ed
}

.itembox__table th,
.itembox__table td {
    font-weight: 600;
    padding: 4px 8px
}

.itembox__table th {
    background-color: #fff;
    vertical-align: middle;
    white-space: nowrap
}

@media(min-width: 768px) {
    .itembox {
        flex-basis: calc(50% - 24px)
    }

    .itembox__image .itembox__label {
        font-size: 1.2rem;
        padding: 4px 12px
    }

    .itembox__image .itembox__label::before {
        width: 16px;
        height: 16px
    }

    .itembox__table {
        font-size: 1.4rem
    }
}

@media(min-width: 1280px) {
    .itembox__image {
        flex-basis: 180px;
        height: 180px
    }

    .itembox__image .itembox__label {
        font-size: 1.4rem;
        padding: 8px 12px
    }

    .itembox__image .itembox__label::before {
        width: 16px;
        height: 16px
    }

    .itembox__content {
        flex-basis: calc(100% - 180px)
    }

    .itembox__heading {
        font-size: 1.6rem
    }
}

@media(hover: hover) {
    .itembox__image {
        overflow: hidden
    }

    .itembox__image img {
        transition: .2s transform
    }

    .itembox__link:hover .itembox__image img {
        transform: scale(1.1)
    }
}

.bannerbox__container {
    display: flex;
    flex-wrap: wrap;
    margin: -32px -12px 0
}

.bannerbox {
    margin: 32px 12px 0;
    flex-basis: calc(100% - 24px)
}

@media(min-width: 600px) {
    .bannerbox.bannerbox--col2 {
        flex-basis: calc(50% - 24px)
    }
}

@media(min-width: 600px) {
    .bannerbox.bannerbox--col3 {
        flex-basis: calc(50% - 24px)
    }
}

@media(min-width: 768px) {
    .bannerbox.bannerbox--col3 {
        flex-basis: calc(33.333% - 24px)
    }
}

.bannerbox.bannerbox--col4 {
    flex-basis: calc(50% - 24px)
}

@media(min-width: 768px) {
    .bannerbox.bannerbox--col4 {
        flex-basis: calc(33.333% - 24px)
    }
}

@media(min-width: 1024px) {
    .bannerbox.bannerbox--col4 {
        flex-basis: calc(25% - 24px)
    }
}

.bannerbox__link {
    display: flex;
    flex-direction: column;
    height: 100%
}

.bannerbox__image {
    order: 1
}

.bannerbox__heading {
    order: 2;
    flex-grow: 1;
    background-color: #271f16;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.4;
    padding: 8px 44px 8px 32px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative
}

.bannerbox__heading::before {
    content: "";
    display: inline-block;
    width: 22px;
    height: 22px;
    background-color: #fff;
    border-radius: 50%;
    position: absolute;
    top: 0;
    right: 12px;
    bottom: 0;
    margin: auto 0
}

.bannerbox__heading::after {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    border-top: 2px solid #271f16;
    border-right: 2px solid #271f16;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    margin: auto 0
}

.bannerbox__heading.-blogid-3 {
    background-color: #524328
}

.bannerbox__heading.-blogid-3::after {
    border-color: #524328
}

.bannerbox__heading.-blogid-4 {
    background-color: #183613
}

.bannerbox__heading.-blogid-4::after {
    border-color: #183613
}

.bannerbox__heading--text {
    order: 2;
    display: flex;
    justify-content: center;
    margin-top: 4px;
    font-size: 1.3rem;
    line-height: 1.4
}

@media(min-width: 768px) {
    .bannerbox__heading--text {
        font-size: 1.4rem
    }
}

@media(hover: hover) {
    .bannerbox__link .bannerbox__image {
        overflow: hidden
    }

    .bannerbox__link img {
        transition: .2s transform
    }

    .bannerbox__link .bannerbox__heading.bannerbox__heading--text {
        transition: .2s background
    }

    .bannerbox__link .bannerbox__heading.bannerbox__heading--text::after {
        transition: .2s border
    }

    .bannerbox__link .bannerbox__heading--text {
        transition: .2s color
    }

    .bannerbox__link:hover img {
        transform: scale(1.1)
    }

    .bannerbox__link:hover .bannerbox__heading {
        background-color: #811e1e
    }

    .bannerbox__link:hover .bannerbox__heading::after {
        border-color: #811e1e
    }

    .bannerbox__link:hover .bannerbox__heading--text {
        color: #811e1e
    }
}

.entry-all__container+.entry-all__container {
    margin-top: 60px
}

@media(min-width: 768px) {
    .entry-all__container+.entry-all__container {
        margin-top: 80px
    }
}

.taxonomy-nav {
    border-bottom: 2px dashed #271f16;
    padding-bottom: 32px;
    margin-top: 40px
}

.taxonomy-nav__item+.taxonomy-nav__item {
    margin-top: 32px
}

.taxonomy-nav__label {
    display: inline-block;
    background-color: #271f16;
    color: #fff;
    font-size: 1.5rem;
    line-height: 1.4;
    padding: 8px 24px;
    border-radius: 5px;
    margin-bottom: 16px;
    position: relative
}

.taxonomy-nav__label::before {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 8px 4.5px 0 4.5px;
    border-color: #271f16 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
    position: absolute;
    bottom: -8px;
    right: 0;
    left: 0;
    margin: 0 auto
}

.taxonomy-nav__label.-blogid-3 {
    background-color: #524328
}

.taxonomy-nav__label.-blogid-3::before {
    border-color: #524328 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0)
}

.taxonomy-nav__label.-blogid-4 {
    background-color: #183613
}

.taxonomy-nav__label.-blogid-4::before {
    border-color: #183613 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0)
}

.taxonomy-nav__list {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -4px
}

.taxonomy-nav__list li {
    margin: 8px 4px 0
}

.taxonomy-nav__link {
    display: block;
    font-size: 1.4rem;
    line-height: 1.4;
    border: 1px solid #707070;
    padding: 5px 12px;
    border-radius: 5px
}

.taxonomy-nav__form {
    display: flex;
    align-items: center
}

.taxonomy-nav__form-submit {
    padding-left: 8px
}

.taxonomy-nav__form-submit input[type=submit] {
    border: 0;
    display: inline-block;
    background-color: #271f16;
    color: #fff;
    font-size: 1.4rem;
    padding: 7px 16px;
    border-radius: 4px
}

@media(min-width: 1024px) {
    .taxonomy-nav__item {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start
    }

    .taxonomy-nav__label {
        flex-basis: 220px;
        text-align: center;
        margin-bottom: 0
    }

    .taxonomy-nav__label::before {
        transform: rotate(-90deg);
        top: 0;
        right: -8px;
        bottom: 0;
        left: auto;
        margin: auto 0
    }

    .taxonomy-nav__content {
        flex-basis: calc(100% - 220px);
        padding-left: 24px
    }

    .taxonomy-nav__list {
        margin-top: -4px
    }

    .taxonomy-nav__link {
        padding: 5px 24px
    }
}

@media(hover: hover) {
    .taxonomy-nav__link {
        transition: .2s color, .2s background, .2s border
    }

    .taxonomy-nav__link:hover,
    .taxonomy-nav__link:focus {
        background-color: #811e1e;
        color: #fff;
        border-color: #811e1e
    }
}

.mailmagabox__container {
    display: flex;
    flex-wrap: wrap;
    margin: -40px -8px 0
}

.mailmagabox {
    flex-basis: calc(100% - 16px);
    margin: 40px 8px 0
}

.mailmagabox__content {
    padding-top: 16px
}

.mailmagabox__date {
    font-size: 1rem;
    line-height: 1.4
}

.mailmagabox__heading {
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.4;
    margin-top: 4px
}

.mailmagabox__info {
    display: flex;
    flex-wrap: wrap;
    font-size: 1rem;
    margin: 12px -2px 0
}

.mailmagabox__info li {
    display: inline-block;
    border: 1px solid #271f16;
    padding: 2px 8px;
    margin: 4px 2px 0
}

.mailmagabox__image {
    padding-top: 61.333%;
    position: relative;
    height: 0;
    width: 100%;
    overflow: hidden;
    position: relative
}

.mailmagabox__image img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    object-fit: cover
}

.mailmagabox__new {
    display: inline-block;
    background-color: #811e1e;
    color: #f5f2ed;
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;
    padding: 7px 18px;
    position: absolute;
    top: 0;
    left: 0
}

@media(min-width: 600px) {
    .mailmagabox {
        flex-basis: calc(50% - 16px)
    }
}

@media(min-width: 768px) {
    .mailmagabox {
        flex-basis: calc(33.333% - 16px)
    }

    .mailmagabox__new {
        font-size: 1.6rem
    }
}

@media(hover: hover) {
    .mailmagabox__image img {
        transition: .2s transform
    }

    .mailmagabox__inner:hover .mailmagabox__image img {
        transform: translate(-50%, -50%) scale(1.1)
    }
}

.solution-intro {
    display: flex;
    flex-wrap: wrap;
    margin-top: 40px;
    margin-bottom: 40px
}

.solution-intro__item {
    flex-basis: 50%;
    padding: 16px
}

.solution-intro__item img {
    max-width: 130px;
    margin: 0 auto
}

.solution-intro__text {
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
    margin-top: 8px
}

.solution-intro__text strong {
    color: #40884e
}

@media not all and (min-width: 768px) {
    .solution-intro__item:nth-child(2n) {
        border-left: 1px dashed #271f16
    }

    .solution-intro__item:nth-child(n+3) {
        border-top: 1px dashed #271f16
    }
}

@media(min-width: 768px) {
    .solution-intro__item {
        flex-basis: 25%;
        padding: 16px 8px
    }

    .solution-intro__item+.solution-intro__item {
        border-left: 1px dashed #271f16
    }

    .solution-intro__text {
        margin-top: 16px
    }
}

@media(min-width: 1024px) {
    .solution-intro {
        margin: 60px 0
    }
}

.solution-advisor {
    margin-top: 60px;
    margin-bottom: 60px
}

.solution-advisor__heading {
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.6;
    text-align: center;
    margin-bottom: 24px
}

.solution-advisor__heading strong {
    color: #811e1e
}

.solution-point {
    background-color: #d8cbb5;
    padding: 5px 15px 15px
}

.solution-point__item {
    background-color: #fff;
    padding: 15px;
    display: flex;
    align-items: stretch;
    margin-top: 10px
}

.solution-point__number {
    color: #811e1e;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    white-space: nowrap;
    font-size: 3rem;
    font-weight: 600;
    line-height: 1;
    padding: 8px 24px 8px 12px;
    border-right: 1px solid #707070
}

.solution-point__number span {
    font-size: 1rem;
    display: block
}

.solution-point__content {
    flex-grow: 1;
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1.5;
    display: flex;
    align-items: center;
    padding-left: 24px
}

@media(min-width: 768px) {
    .solution-advisor__heading {
        font-size: 2.4rem
    }

    .solution-point {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between
    }

    .solution-point__item {
        flex-basis: calc(50% - 7.5px)
    }
}

@media(min-width: 1024px) {
    .solution-advisor {
        margin: 80px 0 120px
    }

    .solution-advisor__heading {
        font-size: 2.8rem
    }

    .solution-point {
        padding: 15px 32px 25px
    }

    .solution-point__item {
        flex-basis: calc(25% - 11.25px);
        flex-direction: column;
        justify-content: center;
        padding: 27px 10px
    }

    .solution-point__number {
        font-size: 4rem;
        padding: 8px 24px 16px;
        border-right: 0;
        position: relative
    }

    .solution-point__number::before {
        content: "";
        display: inline-block;
        width: 30px;
        height: 1px;
        background-color: #707070;
        position: absolute;
        bottom: 0;
        right: 0;
        left: 0;
        margin: 0 auto
    }

    .solution-point__number span {
        font-size: 1.2rem
    }

    .solution-point__content {
        padding-left: 0;
        padding-top: 16px;
        display: block;
        text-align: center
    }
}

.solution-example {
    margin-top: 60px;
    margin-bottom: 60px
}

.solution-example__title {
    font-size: 1.7rem;
    font-weight: 600;
    padding: 10px 0 16px 100px;
    text-align: center;
    position: relative
}

.solution-example__title strong {
    color: #811e1e;
    background-image: radial-gradient(#811E1E, #811E1E 2px, rgba(255, 255, 255, 0) 2.2px, rgba(255, 255, 255, 0));
    background-image: radial-gradient(#811E1E, #811E1E 2px, rgba(255, 255, 255, 0) 2.2px, rgba(255, 255, 255, 0));
    background-size: 1em 1em;
    background-position: top center;
    padding-top: .5em;
    background-repeat: repeat-x
}

.solution-example__title .big-text {
    font-size: 2.3rem
}

.solution-example__title::before {
    content: "";
    display: inline-block;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 90px;
    height: 100%;
    background-image: url(/themes/images/advisor.png);
    background-position: center bottom;
    position: absolute;
    left: 10px;
    bottom: -2px
}

@media(min-width: 600px) {
    .solution-example__title {
        font-size: 2rem;
        text-align: justify;
        padding: 24px 0 12px 150px
    }

    .solution-example__title .big-text {
        font-size: 2.6rem
    }

    .solution-example__title::before {
        width: 110px;
        height: 130px;
        left: 20px
    }
}

@media(min-width: 768px) {
    .solution-example {
        margin-top: 80px
    }

    .solution-example__title {
        font-size: 2.2rem;
        padding-left: 160px
    }

    .solution-example__title .big-text {
        font-size: 3rem
    }
}

@media(min-width: 1024px) {
    .solution-example {
        margin-top: 120px;
        margin-bottom: 80px
    }

    .solution-example__title {
        padding: 24px 0 24px 250px
    }

    .solution-example__title::before {
        width: 130px;
        height: 140px;
        left: 60px
    }
}

.solution-example__box {
    border-top: 25px solid #271f16;
    background-color: #f5f2ed;
    padding: 32px 20px
}

.solution-example__box+.solution-example__box {
    margin-top: 40px
}

.solution-example__heading {
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
    padding-bottom: 16px;
    border-bottom: 1px dashed #271f16;
    margin-bottom: 32px
}

.solution-example__heading strong {
    background: linear-gradient(transparent 60%, #FFFB96 60%)
}

@media(min-width: 600px) {
    .solution-example__heading {
        font-size: 2rem
    }
}

@media(min-width: 768px) {
    .solution-example__box {
        padding: 32px 40px
    }

    .solution-example__box+.solution-example__box {
        margin-top: 60px
    }
}

@media(min-width: 1024px) {
    .solution-example__box {
        padding: 40px 48px
    }

    .solution-example__box+.solution-example__box {
        margin-top: 80px
    }

    .solution-example__heading {
        font-size: 2.2rem;
        padding-bottom: 32px
    }
}

.solution-example__advisor {
    margin-top: 32px;
    display: flex;
    flex-direction: column
}

.solution-example__advisor-content {
    order: 1;
    background-color: #d8cbb5;
    border-radius: 14px;
    padding: 24px;
    margin-bottom: 40px;
    position: relative
}

.solution-example__advisor-content::before {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 18px 12px 0 12px;
    border-color: #d8cbb5 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
    position: absolute;
    right: 0;
    bottom: -18px;
    left: 0;
    margin: 0 auto
}

.solution-example__advisor-content p:last-child {
    margin-bottom: 0
}

.solution-example__advisor-image {
    order: 2
}

.solution-example__advisor-image img {
    max-width: 110px;
    margin: 0 auto
}

.solution-example__advisor-name {
    display: block;
    font-size: 1rem;
    font-weight: 600;
    margin-top: 8px;
    text-align: center
}

.solution-example__advisor-heading {
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: 10px
}

.solution-example__advisor-heading strong {
    color: #811e1e
}

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

    .solution-example__advisor-image {
        order: 1;
        flex-basis: 180px;
        padding: 0 48px 0 16px
    }

    .solution-example__advisor-content {
        order: 2;
        flex-basis: calc(100% - 158px);
        margin-bottom: 0
    }

    .solution-example__advisor-content::before {
        transform: rotate(90deg);
        top: 0;
        right: auto;
        bottom: 0;
        left: -21px;
        margin: auto 0
    }

    .solution-example__advisor-heading {
        font-size: 1.6rem
    }
}

@media(min-width: 1024px) {
    .solution-example__advisor-heading {
        font-size: 1.8rem
    }

    .solution-example__advisor-content {
        padding: 24px 40px
    }

    .solution-example__advisor-content p {
        font-size: 1.5rem
    }
}

.solution-example__review {
    background-color: #fff;
    padding: 24px;
    border-radius: 14px;
    margin-top: 24px
}

.solution-example__review-heading {
    font-size: 1.8rem;
    font-weight: 600;
    margin-top: 12px;
    margin-bottom: 4px;
    padding-left: 32px;
    position: relative
}

.solution-example__review-heading span {
    font-size: 2.2rem;
    color: #811e1e
}

.solution-example__review-heading::before {
    content: "";
    display: inline-block;
    width: 20px;
    height: 1px;
    background-color: #271f16;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto 0
}

.solution-example__review-text {
    font-size: 1.4rem
}

.solution-example__review-text:not(:last-child) {
    margin-bottom: 4px
}

.solution-example__review-customer {
    font-family: "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-size: 1.3rem;
    font-weight: 700;
    margin-top: 16px
}

@media(min-width: 768px) {
    .solution-example__review {
        display: flex
    }

    .solution-example__review-image {
        flex-basis: 46%
    }

    .solution-example__review-content {
        flex-basis: 54%;
        padding-left: 32px;
        display: flex;
        flex-direction: column
    }

    .solution-example__review-heading {
        margin-top: 0
    }

    .solution-example__review-text {
        font-size: 1.5rem
    }

    .solution-example__review-customer {
        font-size: 1.5rem;
        margin-top: auto;
        padding-top: 16px
    }
}

@media(min-width: 1024px) {
    .solution-example__review {
        padding: 32px
    }
}

.jushu-search-form__heading {
    display: flex;
    align-items: center;
    width: 100%;
    text-align: justify;
    border: 0;
    background-color: #d8cbb5;
    font-size: 1.8rem;
    padding: 16px 40px 16px 16px;
    position: relative
}

.jushu-search-form__heading::before {
    content: "";
    display: inline-block;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 22px;
    height: 22px;
    background-image: url(/themes/images/icon_search_white.png);
    margin-right: 8px
}

.jushu-search-form__heading::after {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-top: 2px solid #271f16;
    border-right: 2px solid #271f16;
    transform: rotate(135deg);
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    margin: auto 0;
    transition: .2s transform
}

.jushu-search-form__heading .close-text {
    display: none
}

.jushu-search-form__heading.open .open-text {
    display: none
}

.jushu-search-form__heading.open .close-text {
    display: inline
}

.jushu-search-form__heading.open::after {
    transform: rotate(315deg)
}

.jushu-search-form__content {
    background-color: #f5f2ed;
    padding: 10px
}

.jushu-search-form__form {
    border: 2px solid #fff;
    padding: 16px
}

.jushu-search-form__box+.jushu-search-form__box {
    border-top: 1px dashed #271f16;
    padding-top: 16px;
    margin-top: 16px
}

.jushu-search-form__label {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.4;
    margin-bottom: 8px
}

@media not all and (min-width: 768px) {
    .jushu-search-form {
        margin-bottom: 24px
    }
}

@media(min-width: 600px) {
    .jushu-search-form__form {
        padding: 24px 32px
    }

    .jushu-search-form__box_inner.-uselabel .input-label {
        min-width: 60px
    }
}

@media(min-width: 768px) {
    .jushu-search-form__box {
        display: flex;
        flex-wrap: wrap;
        align-items: center
    }

    .jushu-search-form__label {
        flex-basis: 140px;
        padding-right: 24px;
        text-align: center
    }

    .jushu-search-form__box_inner {
        flex-basis: calc(100% - 140px);
        padding-left: 24px;
        border-left: 1px dashed #271f16
    }

    .jushu-search-form__label {
        margin-bottom: 0
    }
}

@media(min-width: 1024px) {
    .jushu-search-form__heading {
        font-size: 2rem;
        padding: 25px 40px;
        justify-content: center
    }

    .jushu-search-form__heading::before {
        margin-right: 24px
    }

    .jushu-search-form__heading::after {
        width: 20px;
        height: 20px;
        right: 40px
    }

    .jushu-search-form__heading.open::after {
        top: 12px
    }

    .jushu-search-form__form {
        padding: 32px 48px
    }
}

@media(hover: hover) {
    .jushu-search-form__heading {
        transition: .2s background
    }

    .jushu-search-form__heading:hover,
    .jushu-search-form__heading.open {
        background-color: #c5b69d
    }
}

.search-box {
    padding: 16px
}

.search-box:not(:first-child) {
    border-top: 1px dashed #271f16
}

.search-box_heading {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.5;
    margin-bottom: 8px
}

.search-form-input {
    width: 100%;
    font-size: 1.4rem;
    padding: 8px 12px
}

.search-box--side {
    display: flex;
    align-items: center
}

.search-box--side .search-box_heading {
    white-space: nowrap;
    margin-bottom: 0
}

.search-box--side .search-box_content {
    flex-grow: 1;
    flex-shrink: 1;
    padding-left: 8px
}

.search-box--side .search-box_content.-uselabel .input-label.-large {
    flex-basis: auto
}

@media(min-width: 480px) {
    .item-search--page .search-box_content.-uselabel .input-label {
        flex-basis: calc(25% - 4px)
    }
}

@media(min-width: 600px) {
    .item-search--page .search-box {
        display: flex;
        align-items: center;
        flex-wrap: wrap
    }

    .item-search--page .search-box_heading {
        flex-basis: 150px;
        margin-bottom: 0
    }

    .item-search--page .search-box_content {
        flex-basis: calc(100% - 150px);
        padding-left: 12px
    }

    .item-search--page .search-form-input,
    .item-search--page .search-box select {
        max-width: 400px
    }

    .item-search--page .search-button__container,
    .item-search--page .clear-button__container {
        flex-basis: 100%
    }
}

@media(min-width: 768px) {
    .item-search--page .search-box {
        padding: 16px 40px
    }
}

@media(min-width: 1024px) {
    .item-search--page .search-box_content.-uselabel .input-label {
        flex-basis: calc(16.6666666667% - 4px)
    }
}

.search-box_content.-uselabel,
.jushu-search-form__box_inner.-uselabel {
    display: flex;
    flex-wrap: wrap;
    margin: -4px -2px 0
}

.search-box_content.-uselabel .input-checkbox,
.jushu-search-form__box_inner.-uselabel .input-checkbox {
    display: none
}

.search-box_content.-uselabel .input-label,
.jushu-search-form__box_inner.-uselabel .input-label {
    margin: 4px 2px 0;
    font-size: 1.4rem;
    line-height: 1.4;
    background-color: #fff;
    border: 1px solid #271f16;
    border-radius: 4px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 4px 8px
}

.search-box_content.-uselabel .input-checkbox:checked+.input-label,
.jushu-search-form__box_inner.-uselabel .input-checkbox:checked+.input-label {
    background-color: #811e1e;
    color: #fff;
    border-color: #811e1e
}

.search-box_content.-uselabel .input-label {
    flex-basis: calc(33.333% - 4px)
}

.search-box_content.-uselabel .input-label.-large {
    flex-basis: calc(50% - 4px)
}

.jushu-search-form__box_inner.-uselabel {
    align-items: flex-start
}

.search-button__container {
    margin-top: 16px
}

.search-button {
    width: 100%;
    max-width: 200px;
    background-color: #811e1e;
    color: #fff;
    font-size: 1.6rem;
    border: none;
    padding: 8px 12px;
    display: inline-flex;
    justify-content: center;
    align-items: center
}

.search-button::before {
    content: "";
    display: inline-block;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 20px;
    height: 20px;
    background-image: url(/themes/images/icon_search_white.png);
    margin-right: 8px
}

.clear-button__container {
    text-align: center;
    margin-top: 16px
}

.clear-button {
    max-width: 170px;
    background-color: rgba(255, 255, 255, 0);
    color: #271f16;
    font-size: 1.2rem;
    border: none;
    text-decoration: underline;
    transition: .2s color
}

@media(hover: hover) {
    .clear-button:hover {
        color: #811e1e
    }
}

.search-button__container,
.clear-button__container {
    text-align: center;
    flex-basis: 100%
}

.form-step {
    background-color: #e8e8e8;
    padding: 12px 20px;
    margin-top: 20px;
    margin-bottom: 20px
}

.form-step li {
    opacity: .7
}

.form-step li.current {
    font-weight: 500;
    opacity: 1
}

@media(min-width: 768px) {
    .form-step {
        font-size: 1.8rem;
        display: flex;
        flex-wrap: wrap;
        padding: 12px 20px 14px
    }

    .form-step li {
        margin-right: 20px
    }
}

.form-table input[type=text],
.form-table input[type=email],
.form-table input[type=tel],
.form-table input[type=number],
.form-table input[type=password],
.form-table input[type=search],
.form-table select,
.form-table textarea,
.search-box input[type=text],
.search-box input[type=email],
.search-box input[type=tel],
.search-box input[type=number],
.search-box input[type=password],
.search-box input[type=search],
.search-box select,
.search-box textarea,
.jushu-item-form__form input[type=text],
.jushu-item-form__form input[type=email],
.jushu-item-form__form input[type=tel],
.jushu-item-form__form input[type=number],
.jushu-item-form__form input[type=password],
.jushu-item-form__form input[type=search],
.jushu-item-form__form select,
.jushu-item-form__form textarea {
    font-size: 1.6rem;
    padding: 8px 12px;
    border-radius: 4px;
    border: 1px solid #d1cfcb;
    font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif
}

.form-table select,
.search-box select,
.jushu-item-form__form select {
    padding-right: 32px
}

input[type=text].default {
    font-size: 1.6rem;
    padding: 8px 12px;
    border-radius: 4px;
    border: 1px solid #d1cfcb
}

.required {
    font-size: 1rem;
    line-height: 1;
    background-color: #c40f32;
    color: #fff;
    display: inline-block;
    padding: 2px 8px;
    margin: 0 10px;
    border-radius: 3px
}

.form-block:not(:first-child) {
    margin-top: 12px
}

.form-block__label {
    font-size: 1.4rem;
    line-height: 1.4
}

.form-block__label+.form-block__content {
    margin-top: 4px
}

.form-nowrap {
    display: inline-flex;
    align-items: center
}

.form-nowrap span+input,
.form-nowrap input+span {
    margin-left: 8px
}

.form-zip-button {
    margin-top: 4px
}

@media(min-width: 480px) {
    .form-zip-button {
        margin-top: 0;
        display: inline-block
    }
}

.form-explanation {
    font-size: 1.4rem;
    display: block
}

.form-explanation+input,
.form-explanation+textarea {
    margin-top: 8px
}

input+.form-explanation {
    margin-top: 8px
}

.text-error,
.message {
    color: #c40f32;
    margin-top: 8px
}

.input-sizeL,
.select-sizeL {
    width: 100%
}

.form-button input[type=submit],
.button__submit a,
button.button__submit,
.back-button input[type=submit],
.button__back a,
.copy-url__button {
    display: block;
    width: 100%;
    max-width: 300px;
    font-size: 1.5rem;
    line-height: 1;
    background-color: #271f16;
    color: #fff;
    display: block;
    padding: 15px 24px;
    text-align: center;
    border: none;
    border-radius: 50px;
    text-decoration: none;
    cursor: pointer;
    transition: background-color .2s;
    margin: 24px auto
}

@media(hover: hover) {

    .form-button input[type=submit]:hover,
    .button__submit a:hover,
    button.button__submit:hover,
    .copy-url__button:hover {
        background-color: #811e1e
    }
}

.back-button input[type=submit],
.button__back a {
    background-color: #f8f8f8;
    color: #271f16;
    border: 1px solid #e8e8e8;
    padding: 14px 24px
}

@media(hover: hover) {

    .back-button input[type=submit]:hover,
    .button__back a:hover {
        background-color: #e8e8e8
    }
}

.favorite_button {
    display: block;
    text-align: center;
    position: relative
}

button.favorite_button_in {
    display: block;
    width: 100%;
    font-size: 1.2rem;
    background-color: rgba(0, 0, 0, 0);
    border: 1px solid #271f16;
    border-radius: 5px;
    cursor: pointer;
    padding: 12px 28px 12px 20px;
    transition: .2s ease-in-out
}

@media(hover: hover) {
    button.favorite_button_in {
        transition: .2s
    }

    button.favorite_button_in:hover {
        border-color: #811e1e;
        color: #811e1e
    }
}

.is-choosen .favorite_button_in {
    background-color: #811e1e;
    border-color: #811e1e;
    color: #fff !important
}

.is-choosen .favorite_button_in p {
    font-size: 0
}

.is-choosen .favorite_button_in p::before {
    font-size: 1.2rem;
    content: "お気に入り登録済"
}

.acms-admin-box {
    margin-top: 40px;
    word-break: break-all
}

#adminBox img {
    width: 20px;
    display: inline-block
}

.acms-admin-revison-admin {
    margin-top: 40px
}

.acms-admin-btn-action-group.acms-admin-btn-action-group {
    margin: 20px 0 0;
    padding: 10px
}

.acms-admin-btn-action-group table:not([class]) tr {
    border: 0 !important
}

.acms-admin-btn-action-group table:not([class]) th {
    background-image: none
}

.acms-admin-btn-action-group table:not([class]) th,
.acms-admin-btn-action-group table:not([class]) td {
    vertical-align: middle !important
}

.acms-admin-btn-action-group .acms-admin-inline-btn {
    margin: 5px 2px
}

.acms-admin-edit-info.acms-admin-edit-info {
    margin-bottom: 120px
}

.acms-admin-title {
    display: block;
    padding: 7px 0;
    font-weight: 400;
    text-align: center;
    background-color: #e4e5ea;
    font-size: 14px
}

.acms-admin-table-entry__heading {
    display: block;
    font-weight: 600
}

.acms-admin-table-entry__heading:not(:first-child) {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #fff
}

.js-acms_layout_edit_box {
    margin-bottom: 40px
}

.for-traders {
    display: inline-block;
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1.4;
    background-color: #811e1e;
    color: #fff;
    padding: 8px 24px;
    margin-bottom: 16px
}

.login-caution {
    display: block;
    margin: 24px 0;
    border: 1px solid #811e1e;
    background-color: #fff8f9;
    padding: 16px;
    color: #811e1e;
    font-size: 1.4rem
}

.page-login .acms-admin-loginBox {
    max-width: none
}

.page-login .acms-admin-form {
    max-width: 400px;
    margin: 0 auto
}

.login-form {
    border: 1px solid #e8e8e8;
    padding: 16px;
    margin: 40px 0
}

.acms-admin-alert-danger {
    border-color: #c40f32
}

.acms-admin-alert-danger .acms-admin-alert-icon-before,
.acms-admin-alert-danger .js-acms-alert-close {
    color: #c40f32
}

.acms-admin-alert,
.acms-alert {
    font-weight: 600
}

.page-mypage .acms-admin-system-topicpath-wrap,
.page-mypage .acms-admin-admin-title,
.page-mypage .js-acms_admin_tabs {
    display: none
}

.editLink {
    font-size: 1.3rem;
    font-weight: 400;
    display: inline-block;
    padding-left: .5em
}

.page-container {
    padding-top: 20px;
    margin-bottom: 48px
}

.sidebar__heading {
    background-color: #271f16;
    color: #fff;
    font-size: 1.8rem;
    display: flex;
    justify-content: center;
    padding: 4px 8px
}

.sidebar__content {
    border: 1px solid #271f16
}

.sidebar {
    margin-top: 60px
}

@media(min-width: 1024px) {
    .page-container {
        padding-top: 48px;
        margin-bottom: 120px
    }

    .has-sidebar {
        display: flex;
        align-items: flex-start;
        gap: 30px
    }

    .sidebar {
        order: 1;
        flex-basis: 230px;
        flex-shrink: 0;
        margin-top: 0
    }

    .has-sidebar__main {
        order: 2;
        flex-grow: 1
    }
}

.sidebar-list__container {
    border: 1px solid #271f16
}

.sidebar__title {
    background-color: #271f16;
    color: #fff;
    padding: 8px 16px;
    display: flex;
    justify-content: center
}

.sidebar-list {
    padding: 8px 16px
}

.sidebar-list__item+.sidebar-list__item {
    border-top: 1px solid #e8e8e8
}

.sidebar-list__link {
    display: block;
    font-size: 1.4rem;
    line-height: 1.4;
    padding: 8px 0 8px 20px;
    position: relative
}

.sidebar-list__link::before {
    content: "";
    display: inline-block;
    width: 5px;
    height: 5px;
    border-top: 1px solid #271f16;
    border-right: 1px solid #271f16;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    left: 5px;
    bottom: 0;
    margin: auto 0
}

@media(hover: hover) {
    .sidebar-list__link {
        transition: .2s color
    }

    .sidebar-list__link::before {
        transition: .2s border
    }

    .sidebar-list__link:hover,
    .sidebar-list__link:focus {
        color: #811e1e
    }

    .sidebar-list__link:hover::before,
    .sidebar-list__link:focus::before {
        border-color: #811e1e
    }
}

.sidebar--itemform #modal-side__open.is-active {
    bottom: 96px
}

@media(min-width: 600px) {
    .sidebar--itemform #modal-side__open.is-active {
        bottom: 0
    }
}

@media not all and (min-width: 1024px) {
    .sidebar--itemform #modal-side__open {
        width: 60px;
        height: 60px;
        position: fixed;
        left: 0;
        background-color: #c48a49;
        color: #fff;
        border: 0;
        transition: .2s;
        bottom: -160px;
        font-size: 1.2rem;
        line-height: 1;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        z-index: 90
    }

    .sidebar--itemform #modal-side__open::before {
        content: "";
        display: inline-block;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        width: 22px;
        height: 22px;
        background-image: url(/themes/images/icon_search_white.png);
        margin-bottom: 6px
    }

    .sidebar--itemform #modal-side__close {
        width: 60px;
        height: 60px;
        position: absolute;
        top: 0;
        right: 0;
        background-color: #271f16;
        border: 0
    }

    .sidebar--itemform #modal-side__close::before,
    .sidebar--itemform #modal-side__close::after {
        content: "";
        display: inline-block;
        height: 2px;
        width: 24px;
        background-color: #fff;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        margin: auto
    }

    .sidebar--itemform #modal-side__close::before {
        transform: rotate(45deg)
    }

    .sidebar--itemform #modal-side__close::after {
        transform: rotate(-45deg)
    }

    .sidebar--itemform .is-open .modal-side__overlay {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, .6);
        display: flex;
        justify-content: center;
        align-items: center
    }

    .sidebar--itemform .micromodal-slide {
        display: none;
        z-index: 999;
        position: relative
    }

    .sidebar--itemform .micromodal-slide.is-open {
        display: block
    }

    .sidebar--itemform .micromodal-slide[aria-hidden=false] .modal-side__overlay {
        animation: mmfadeIn .3s cubic-bezier(0, 0, 0.2, 1)
    }

    .sidebar--itemform .micromodal-slide[aria-hidden=false] .modal-side__container {
        animation: mmslideIn .3s cubic-bezier(0, 0, 0.2, 1)
    }

    .sidebar--itemform .micromodal-slide[aria-hidden=true] .modal-side__overlay {
        animation: mmfadeOut .3s cubic-bezier(0, 0, 0.2, 1)
    }

    .sidebar--itemform .micromodal-slide[aria-hidden=true] .modal-side__container {
        animation: mmslideOut .3s cubic-bezier(0, 0, 0.2, 1)
    }

    .sidebar--itemform .micromodal-slide .modal-side__container,
    .sidebar--itemform .micromodal-slide .modal-side__overlay {
        will-change: transform
    }

    .sidebar--itemform .modal-side__container {
        width: 100%;
        height: 100%;
        position: fixed;
        z-index: 999;
        top: 0;
        left: 0;
        margin: 0 auto;
        overflow: scroll;
        background-color: #fff
    }

    .sidebar--itemform .modal-side__container {
        padding: 80px 24px 40px
    }

    .sidebar--itemform .modal-side__content {
        max-width: 500px;
        margin: 0 auto
    }
}

@media(min-width: 480px) {
    .sidebar--itemform .search-box_content.-uselabel .input-label {
        flex-basis: 70px
    }
}

@media(min-width: 1024px) {
    .sidebar--itemform .micromodal-slide {
        display: block;
        z-index: 1
    }

    .sidebar--itemform #modal-side__close,
    .sidebar--itemform #modal-side__open {
        display: none
    }

    .sidebar--itemform .search-box_content.-uselabel .input-label {
        flex-basis: calc(33.333% - 4px)
    }
}

.topicpath {
    padding: 12px 0
}

.topicpath-list {
    font-size: 1.1rem;
    line-height: 1.5;
    display: flex;
    flex-wrap: wrap;
    color: #707070
}

.topicpath-item:not(:last-child) {
    padding-right: 30px;
    position: relative
}

.topicpath-item:not(:last-child)::after {
    content: "";
    width: 4px;
    height: 4px;
    border-top: 1px solid #707070;
    border-right: 1px solid #707070;
    transform: rotate(45deg);
    position: absolute;
    top: 7px;
    right: 13px
}

.page-wrapper {
    overflow: hidden
}

.page-content::before,
.page-content::after {
    content: "";
    display: block;
    clear: both
}

.page-footer {
    margin-top: 48px;
    margin-bottom: 48px
}

.page-title {
    color: #fff;
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
    padding: 30px 0;
    background-position: center;
    background-size: cover
}

.page-title.-entry {
    background-image: url(/themes/images/title-bg_entry.jpg)
}

.page-title.-category {
    background-image: url(/themes/images/title-bg_category.jpg)
}

.page-title h1 {
    font-weight: 600
}

.page-title__category,
.page-title__blog {
    display: block
}

@media(min-width: 600px) {

    .page-title__category,
    .page-title__blog {
        display: inline-block
    }
}

.page-title__sub,
.page-title__main {
    display: block
}

.page-title__sub {
    font-size: .6em
}

@media(min-width: 600px) {
    .page-title {
        font-size: 2.4rem
    }
}

@media(min-width: 768px) {
    .page-title {
        font-size: 2.8rem;
        padding: 50px 0
    }
}

@media(min-width: 1024px) {
    .page-title {
        font-size: 3.4rem;
        padding: 64px 0
    }
}

.page-title--bg {
    font-family: "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.4;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 200px;
    padding: 40px 0;
    background-size: cover;
    background-position: center;
    position: relative
}

.page-title--bg .page-title--bg__inner {
    position: relative
}

.page-title--bg::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .5);
    position: absolute;
    top: 0;
    left: 0
}

.page-title--bg__text {
    font-weight: 400 !important
}

@media(min-width: 600px) {
    .page-title--bg {
        font-size: 3.2rem;
        min-height: 300px
    }
}

@media(min-width: 768px) {
    .page-title--bg {
        font-size: 4rem;
        min-height: 360px;
        padding: 60px 0
    }
}

@media(min-width: 1024px) {
    .page-title--bg {
        font-size: 4.8rem;
        min-height: 430px
    }
}

.page-content p:not([class]) {
    margin-bottom: 1.5em
}

.page-content p,
.page-content ul,
.page-content ol,
.page-content table,
.page-content .item-table {
    word-break: break-all
}

.page-content p a:not([class]),
.page-content ul a:not([class]),
.page-content ol a:not([class]),
.page-content table a:not([class]),
.page-content .item-table a:not([class]) {
    color: #811e1e;
    text-decoration: underline
}

@media(hover: hover) {

    .page-content p a:not([class]):hover,
    .page-content ul a:not([class]):hover,
    .page-content ol a:not([class]):hover,
    .page-content table a:not([class]):hover,
    .page-content .item-table a:not([class]):hover {
        text-decoration: none
    }
}

.page-content p em,
.page-content ul em,
.page-content ol em,
.page-content table em,
.page-content .item-table em {
    color: #811e1e;
    font-style: normal
}

.page-content p strong,
.page-content ul strong,
.page-content ol strong,
.page-content table strong,
.page-content .item-table strong {
    font-weight: 600
}

.page-content p a[href$=".pdf"] {
    display: flex;
    align-items: center
}

.page-content p a[href$=".pdf"]::before {
    content: "";
    display: inline-block;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 1.4em;
    height: 1.4em;
    background-image: url(/themes/images/icon_download.png);
    margin-right: .5em
}

@media not all and (min-width: 768px) {
    .accordion-object-sponly {
        display: none
    }
}