@import url("https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Quicksand:wght@300;400;500;600;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;500;600;700;800&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Allura&display=swap");
@import url("https://use.fontawesome.com/releases/v5.14.0/css/all.css");

:root {
    --bs-primary: #9b0000;
    --bs-secondary: #764c29;
    --bs-tertiary: #464900
}

.text-primary {
    color: #9b0000 !important
}

.text-secondary {
    color: #764c29 !important
}

.text-tertiary {
    color: #464900 !important
}

.text-success {
    color: #198754 !important
}

.text-info {
    color: #0dcaf0 !important
}

.text-warning {
    color: #ffc107 !important
}

.text-danger {
    color: #dc3545 !important
}

.text-light {
    color: #f8f9fa !important
}

.text-dark {
    color: #212529 !important
}

.text-beige {
    color: #faf5ea !important
}

.text-fa {
    color: #fafafa !important
}

.bg-primary {
    background-color: #9b0000 !important
}

.bg-secondary {
    background-color: #764c29 !important
}

.bg-tertiary {
    background-color: #464900 !important
}

.bg-success {
    background-color: #198754 !important
}

.bg-info {
    background-color: #0dcaf0 !important
}

.bg-warning {
    background-color: #ffc107 !important
}

.bg-danger {
    background-color: #dc3545 !important
}

.bg-light {
    background-color: #f8f9fa !important
}

.bg-dark {
    background-color: #212529 !important
}

.bg-beige {
    background-color: #faf5ea !important
}

.bg-fa {
    background-color: #fafafa !important
}

.bg-gray {
    background-color: #eee !important
}

.bg-white-00 {
    background-color: rgba(255, 255, 255, 0)
}

.bg-white-01 {
    background-color: rgba(255, 255, 255, 0.1)
}

.bg-white-02 {
    background-color: rgba(255, 255, 255, 0.2)
}

.bg-white-03 {
    background-color: rgba(255, 255, 255, 0.3)
}

.bg-white-04 {
    background-color: rgba(255, 255, 255, 0.4)
}

.bg-white-05 {
    background-color: rgba(255, 255, 255, 0.5)
}

.bg-white-06 {
    background-color: rgba(255, 255, 255, 0.6)
}

.bg-white-07 {
    background-color: rgba(255, 255, 255, 0.7)
}

.bg-white-08 {
    background-color: rgba(255, 255, 255, 0.8)
}

.bg-white-09 {
    background-color: rgba(255, 255, 255, 0.9)
}

.bg-white-10 {
    background-color: #fff
}

@media (max-width: 992px) {
    .tbg-white-00 {
        background-color: rgba(255, 255, 255, 0)
    }

    .tbg-white-01 {
        background-color: rgba(255, 255, 255, 0.1)
    }

    .tbg-white-02 {
        background-color: rgba(255, 255, 255, 0.2)
    }

    .tbg-white-03 {
        background-color: rgba(255, 255, 255, 0.3)
    }

    .tbg-white-04 {
        background-color: rgba(255, 255, 255, 0.4)
    }

    .tbg-white-05 {
        background-color: rgba(255, 255, 255, 0.5)
    }

    .tbg-white-06 {
        background-color: rgba(255, 255, 255, 0.6)
    }

    .tbg-white-07 {
        background-color: rgba(255, 255, 255, 0.7)
    }

    .tbg-white-08 {
        background-color: rgba(255, 255, 255, 0.8)
    }

    .tbg-white-09 {
        background-color: rgba(255, 255, 255, 0.9)
    }

    .tbg-white-10 {
        background-color: #fff
    }
}

@media (max-width: 576px) {
    .mbg-white-00 {
        background-color: rgba(255, 255, 255, 0)
    }

    .mbg-white-01 {
        background-color: rgba(255, 255, 255, 0.1)
    }

    .mbg-white-02 {
        background-color: rgba(255, 255, 255, 0.2)
    }

    .mbg-white-03 {
        background-color: rgba(255, 255, 255, 0.3)
    }

    .mbg-white-04 {
        background-color: rgba(255, 255, 255, 0.4)
    }

    .mbg-white-05 {
        background-color: rgba(255, 255, 255, 0.5)
    }

    .mbg-white-06 {
        background-color: rgba(255, 255, 255, 0.6)
    }

    .mbg-white-07 {
        background-color: rgba(255, 255, 255, 0.7)
    }

    .mbg-white-08 {
        background-color: rgba(255, 255, 255, 0.8)
    }

    .mbg-white-09 {
        background-color: rgba(255, 255, 255, 0.9)
    }

    .mbg-white-10 {
        background-color: #fff
    }
}

.bg-gray-00 {
    background-color: rgba(250, 250, 250, 0)
}

.bg-gray-01 {
    background-color: rgba(250, 250, 250, 0.1)
}

.bg-gray-02 {
    background-color: rgba(250, 250, 250, 0.2)
}

.bg-gray-03 {
    background-color: rgba(250, 250, 250, 0.3)
}

.bg-gray-04 {
    background-color: rgba(250, 250, 250, 0.4)
}

.bg-gray-05 {
    background-color: rgba(250, 250, 250, 0.5)
}

.bg-gray-06 {
    background-color: rgba(250, 250, 250, 0.6)
}

.bg-gray-07 {
    background-color: rgba(250, 250, 250, 0.7)
}

.bg-gray-08 {
    background-color: rgba(250, 250, 250, 0.8)
}

.bg-gray-09 {
    background-color: rgba(250, 250, 250, 0.9)
}

.bg-gray-10 {
    background-color: #fafafa
}

@media (max-width: 992px) {
    .tbg-gray-00 {
        background-color: rgba(250, 250, 250, 0)
    }

    .tbg-gray-01 {
        background-color: rgba(250, 250, 250, 0.1)
    }

    .tbg-gray-02 {
        background-color: rgba(250, 250, 250, 0.2)
    }

    .tbg-gray-03 {
        background-color: rgba(250, 250, 250, 0.3)
    }

    .tbg-gray-04 {
        background-color: rgba(250, 250, 250, 0.4)
    }

    .tbg-gray-05 {
        background-color: rgba(250, 250, 250, 0.5)
    }

    .tbg-gray-06 {
        background-color: rgba(250, 250, 250, 0.6)
    }

    .tbg-gray-07 {
        background-color: rgba(250, 250, 250, 0.7)
    }

    .tbg-gray-08 {
        background-color: rgba(250, 250, 250, 0.8)
    }

    .tbg-gray-09 {
        background-color: rgba(250, 250, 250, 0.9)
    }

    .tbg-gray-10 {
        background-color: #fafafa
    }
}

@media (max-width: 576px) {
    .mbg-gray-00 {
        background-color: rgba(250, 250, 250, 0)
    }

    .mbg-gray-01 {
        background-color: rgba(250, 250, 250, 0.1)
    }

    .mbg-gray-02 {
        background-color: rgba(250, 250, 250, 0.2)
    }

    .mbg-gray-03 {
        background-color: rgba(250, 250, 250, 0.3)
    }

    .mbg-gray-04 {
        background-color: rgba(250, 250, 250, 0.4)
    }

    .mbg-gray-05 {
        background-color: rgba(250, 250, 250, 0.5)
    }

    .mbg-gray-06 {
        background-color: rgba(250, 250, 250, 0.6)
    }

    .mbg-gray-07 {
        background-color: rgba(250, 250, 250, 0.7)
    }

    .mbg-gray-08 {
        background-color: rgba(250, 250, 250, 0.8)
    }

    .mbg-gray-09 {
        background-color: rgba(250, 250, 250, 0.9)
    }

    .mbg-gray-10 {
        background-color: #fafafa
    }
}

.text-gold {
    color: transparent;
    background-image: repeating-linear-gradient(315deg, #b67b03 2em, #daaf08 4em, #fee9a0 6em, #daaf08 8em, #b67b03 10em);
    -webkit-background-clip: text
}

.text-silver {
    color: transparent;
    background-image: repeating-linear-gradient(30deg, #757575 2em, #9e9e9e 4em, #ccc 6em, #9e9e9e 8em, #757575 10em);
    -webkit-background-clip: text
}

.en {
    font-family: "Josefin Sans", sans-serif
}

.en-serif {
    font-family: "EB Garamond", serif;
    line-height: 1.2
}

.en-hw {
    font-family: "Allura", cursive;
    letter-spacing: 0
}

.ja {
    font-family: "Zen Maru Gothic", "Noto Sans JP", 游ゴシック体, yugothic, "游ゴシック Medium", "Yu Gothic Medium", 游ゴシック, "Yu Gothic", "Helvetica Neue", helvetica, "Hiragino Sans", "Hiragino Kaku Gothic ProN", arial, meiryo, sans-serif
}

.ja-serif {
    font-family: "Times New Roman", yumincho, "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif
}

.form-control:focus {
    border-color: #9b0000 !important;
    -webkit-box-shadow: 0 0 0 0.25rem rgba(155, 0, 0, 0.3) !important;
    box-shadow: 0 0 0 0.25rem rgba(155, 0, 0, 0.3) !important
}

.form-control[readonly] {
    background-color: white !important
}

.form-check-input:checked {
    background-color: #9b0000 !important;
    border-color: #9b0000 !important
}

.form-check-input:focus {
    border-color: #9b0000 !important;
    -webkit-box-shadow: 0 0 0 0.25rem rgba(155, 0, 0, 0.3) !important;
    box-shadow: 0 0 0 0.25rem rgba(155, 0, 0, 0.3) !important
}

.accordion-button:not(.collapsed) {
    background-color: rgba(155, 0, 0, 0.1) !important;
    -webkit-box-shadow: inset 0 -1px 0 rgba(155, 0, 0, 0.5) !important;
    box-shadow: inset 0 -1px 0 rgba(155, 0, 0, 0.5) !important
}

.accordion-button:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%239b0000'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e") !important
}

.accordion-button:focus {
    border-color: rgba(155, 0, 0, 0.1) !important;
    -webkit-box-shadow: 0 0 0 0.25rem rgba(155, 0, 0, 0.5) !important;
    box-shadow: 0 0 0 0.25rem rgba(155, 0, 0, 0.5) !important
}

body {
    width: 100%;
    overflow-x: hidden;
    font-family: "Zen Maru Gothic", "Noto Sans JP", 游ゴシック体, yugothic, "游ゴシック Medium", "Yu Gothic Medium", 游ゴシック, "Yu Gothic", "Helvetica Neue", helvetica, "Hiragino Sans", "Hiragino Kaku Gothic ProN", arial, meiryo, sans-serif;
    font-size: 1.1rem;
    font-weight: 500;
    line-height: 1.7;
    letter-spacing: 0.1rem;
    color: #212529;
    background-attachment: scroll;
    background-repeat: repeat-y;
    background-position: center;
    background-size: 100%;
    background-image: url("../img/bgi_2.svg")
}

body.transition::before,
body.transition::after {
    position: fixed;
    z-index: 1000;
    width: 100%;
    height: 100%;
    pointer-events: none;
    content: "";
    -webkit-transition: opacity 0.6s cubic-bezier(0.895, 0.03, 0.685, 0.22);
    transition: opacity 0.6s cubic-bezier(0.895, 0.03, 0.685, 0.22)
}

body.transition::before {
    top: 0;
    right: 0;
    opacity: 1
}

body.transition::after {
    top: 0;
    left: 50%;
    display: none;
    opacity: 1
}

body.transition #loader {
    background-color: #f8f9fa;
    opacity: 1;
    -webkit-transition: opacity 0.6s cubic-bezier(0.895, 0.03, 0.685, 0.22);
    transition: opacity 0.6s cubic-bezier(0.895, 0.03, 0.685, 0.22)
}

body.transition.is-loadin::before {
    top: 0;
    right: 110%;
    opacity: 1
}

body.transition.is-loadin::after {
    bottom: 0;
    left: 110%;
    opacity: 1
}

body.transition.is-loadin #loader {
    opacity: 0
}

body.transition.is-loadout::after {
    bottom: 0;
    left: 0;
    opacity: 1
}

@media (max-width: 992px) {
    body {
        font-size: 0.8rem;
        margin-bottom: 50px
    }
}

#loader {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background-image: url("../img/illust_2.svg"), url("../img/illust_3.svg");
    background-position: left top, right bottom;
    background-size: 30%, 30%;
    background-attachment: fixed;
    background-repeat: no-repeat
}

#loader #is-loader {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 150px;
    margin: auto
}

@media (max-width: 576px) {
    #loader {
        background-size: 70%, 70%
    }

    #loader #is-loader {
        width: 150px
    }
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Zen Maru Gothic", "Noto Sans JP", 游ゴシック体, yugothic, "游ゴシック Medium", "Yu Gothic Medium", 游ゴシック, "Yu Gothic", "Helvetica Neue", helvetica, "Hiragino Sans", "Hiragino Kaku Gothic ProN", arial, meiryo, sans-serif;
    font-weight: 400
}

a {
    color: #555;
    text-decoration: none
}

a:hover {
    color: inherit;
    opacity: 0.6
}

a.noblur:hover {
    color: inherit;
    opacity: 1
}

b {
    font-weight: 700
}

em {
    display: inline-block;
    font-style: normal
}

img {
    max-width: 100%;
    padding: 0;
    margin: 0;
    vertical-align: bottom
}

ul {
    list-style-type: none
}

ol,
ul {
    padding-left: 0
}

ol,
ul,
dl {
    margin-top: 0;
    margin-bottom: 0
}

ol ol,
ul ul,
ol ul,
ul ol {
    margin-bottom: 0
}

dt {
    font-weight: 700
}

dd {
    margin-bottom: 0;
    margin-left: 0
}

iframe {
    background-color: #eee;
    border: 0
}

.iframe-wrap {
    position: relative;
    width: 100%
}

.iframe-wrap::before {
    display: block;
    padding-top: 75%;
    content: ""
}

.iframe-wrap._h50p::before {
    padding-top: 50%
}

.iframe-wrap._h60p::before {
    padding-top: 60%
}

.iframe-wrap._h75p::before {
    padding-top: 75%
}

.iframe-wrap._h100p::before {
    padding-top: 100%
}

.iframe-wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0
}

hr {
    height: 1px;
    background-color: #ddd;
    border: 0;
    opacity: 1
}

video {
    max-width: 100%;
    height: 430px;
    margin: auto;
    background-color: black;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    border: none
}

@media (max-width: 1100px) {
    video {
        height: auto
    }
}

table th,
table td {
    vertical-align: middle
}

[data-src] {
    cursor: pointer
}

main {
    background-image: url("../img/bgi_1.svg");
    background-repeat: no-repeat;
    background-position: center top 200px;
    background-size: 100%
}

main>.bg {
    background-image: url("../img/illust_2.svg"), url("../img/illust_3.svg");
    background-position: left top 112px, right bottom;
    background-size: 30%, 30%;
    background-attachment: fixed;
    background-repeat: no-repeat
}

main>.bg.tint {
    background-size: 20%, 20%
}

@media (max-width: 562px) {
    main>.bg {
        background-position: left top 80px, right bottom 65px;
        background-size: 50%, 50%
    }
}

.contentsWrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.contentsWrapper main {
    background-attachment: fixed, fixed;
    background-repeat: no-repeat, no-repeat;
    background-position: left top, right bottom;
    background-size: 40%, 40%;
    background-image: url("../img/illust_2.svg"), url("../img/illust_3.svg")
}

.contentsWrapper aside {
    width: 60px;
    background-color: #464900
}

.contentsWrapper aside>.inner {
    position: -webkit-sticky;
    position: sticky;
    top: 80px;
    padding: 4rem 0;
    margin: auto;
    font-family: "Josefin Sans", sans-serif;
    font-size: 1.8rem;
    color: #f8f9fa;
    letter-spacing: 0.1rem;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
}

@media (max-width: 576px) {
    .contentsWrapper main {
        width: calc(100% - 30px)
    }

    .contentsWrapper aside {
        width: 30px
    }

    .contentsWrapper aside>.inner {
        top: 50px;
        font-size: 1.1rem
    }
}

header {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    right: 0;
    z-index: 997;
    width: 100%;
    max-width: 100%;
    -webkit-transition: all 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: all 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
    background-image: url("../img/bg-header1.png");
    height: 115px
}

header::after {
    content: "";
    display: block;
    position: absolute;
    bottom: -50px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 300px;
    height: 300px;
    border-radius: 50%;
    background-image: url("../img/bg-header1.png");
    z-index: 0
}

header .inner {
    position: relative;
    z-index: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    line-height: 1.2;
    -webkit-transition: all 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: all 0.8s cubic-bezier(0.165, 0.84, 0.44, 1)
}

header .inner .header-logo {
    display: block;
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 330px;
    background-image: url("../img/logo_base.png");
    background-repeat: no-repeat;
    background-position: left top;
    background-size: 100%;
    -webkit-transition: all 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: all 0.8s cubic-bezier(0.165, 0.84, 0.44, 1)
}

header .inner .header-logo::after {
    display: block;
    padding-top: 21%;
    content: ""
}

header .inner .header-container {
    width: 100%;
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 1;
    flex-shrink: 1
}

@media (max-width: 992px) {
    header {
        position: -webkit-sticky;
        position: sticky;
        width: 100%;
        padding: 0.5rem 0;
        height: auto
    }

    header::after {
        content: none
    }

    header::before {
        content: none
    }

    header .inner {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        height: auto;
        padding: 0.3rem
    }

    header .inner .header-logo {
        width: 300px
    }

    header .inner .header-container {
        -ms-flex-preferred-size: auto;
        flex-basis: auto;
        -webkit-box-flex: 0;
        -ms-flex-positive: 0;
        flex-grow: 0;
        -ms-flex-negative: 1;
        flex-shrink: 1;
        padding: 0;
        background-color: initial
    }
}

@media (max-width: 576px) {
    header .inner .header-logo {
        width: 230px
    }
}

footer {
    background-image: url("../img/bgi_3.svg");
    background-color: #fff;
    background-size: 100% auto;
    background-position: center bottom;
    background-repeat: no-repeat;
    padding-bottom: 10rem
}

footer .inner .footer-logo {
    display: inline-block;
    width: 300px;
    max-width: 100%
}

footer .inner .copyright {
    padding: 0 0 3px;
    font-size: 0.8rem
}

@media (max-width: 500px) {
    footer {
        padding-bottom: 3rem
    }

    footer .inner .footer-logo {
        width: 200px
    }

    footer .inner .copyright {
        font-size: 10px
    }
}

.u-nav {
    text-align: right;
    padding: 0.5rem 0
}

.u-nav>nav {
    position: static;
    top: -100px;
    left: 0;
    z-index: 996;
    display: block;
    max-width: 100%;
    height: 100%;
    margin: auto;
    text-align: left;
    -webkit-transition: top 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: top 0.8s cubic-bezier(0.215, 0.61, 0.355, 1)
}

.u-nav>nav>ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    width: auto;
    height: 100%;
    margin: 0 auto
}

.u-nav>nav>ul>li {
    z-index: 996;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-flex: 1;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: auto;
    line-height: 1;
    -webkit-transition: all 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: all 0.8s cubic-bezier(0.215, 0.61, 0.355, 1)
}

.u-nav>nav>ul>li>a {
    padding: 1rem 0;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    line-height: 1;
    letter-spacing: 0;
    -webkit-transition: all 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: all 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
    padding: 0 0.5rem
}

.u-nav>nav>ul>li>a>img {
    -webkit-transition: all 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: all 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
    width: 370px
}

.u-nav>nav>ul>li>a>* {
    overflow: hidden;
    display: inline-block;
    margin: auto;
    text-align: center;
    pointer-events: none
}

.u-nav>nav>ul>li>a>* .nav-ja {
    display: block;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0;
    margin-bottom: 0.3rem;
    -webkit-transition: all 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: all 0.8s cubic-bezier(0.215, 0.61, 0.355, 1)
}

.u-nav>nav>ul>li>a>* .nav-en {
    display: block;
    font-family: "Josefin Sans", sans-serif;
    font-size: 1rem;
    font-weight: 600;
    text-transform: initial
}

.u-nav>nav>ul>li>a>*>img {
    margin-bottom: 3px;
    -webkit-transition: all 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: all 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
    width: 60px;
    height: 60px
}

.u-nav>nav>ul>li>a>* svg {
    width: 60px;
    height: 44px;
    margin-bottom: 3px;
    fill: currentColor
}

.u-nav>nav>ul>li>a::after {
    position: absolute;
    right: 50%;
    bottom: -0.5rem;
    display: inline-block;
    width: 3rem;
    height: 1px;
    content: "";
    background-image: -webkit-gradient(linear, left top, right top, color-stop(100%, #9b0000), to(transparent));
    background-image: linear-gradient(90deg, #9b0000 100%, transparent 100%);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 50px 3px;
    opacity: 0;
    -webkit-transform: translateX(50%);
    -ms-transform: translateX(50%);
    transform: translateX(50%)
}

.u-nav.is-attached>nav>ul>li>a>img {
    width: 350px
}

.u-nav.is-attached>nav>ul>li>a>*>img {
    height: 0
}

.u-nav.is-attached>nav>ul>li>a>* .nav-ja {
    font-size: 1rem
}

@media (max-width: 1200px) {
    .u-nav>nav>ul>li>a>* .nav-ja {
        font-size: 0.7rem
    }

    .u-nav>nav>ul>li>a>* .nav-en {
        font-size: 1rem
    }
}

@media (max-width: 992px) {
    .u-nav {
        display: none
    }
}

.u-nav-foot {
    font-size: 10px;
    line-height: 2
}

.u-nav-foot>li {
    margin-left: 1em
}

.u-nav-foot>li>a {
    position: relative;
    display: inline-block;
    padding-left: 2em;
    border-left: solid thin #bbb
}

.u-nav-foot>li>a::before {
    position: absolute;
    top: 50%;
    left: 0;
    display: inline-block;
    width: 1em;
    height: 1px;
    content: "";
    background-color: #bbb;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

.u-dropbtn._type1 {
    position: relative;
    cursor: pointer
}

.u-dropbtn._type1 .dropmenu {
    position: absolute;
    top: 90%;
    left: 0;
    display: inline-block;
    width: 18em;
    min-width: 100%;
    height: 0;
    overflow: hidden;
    cursor: pointer;
    background-color: rgba(155, 0, 0, 0.9);
    opacity: 0;
    -webkit-transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1)
}

.u-dropbtn._type1 .dropmenu>li {
    padding-left: 1em
}

.u-dropbtn._type1 .dropmenu>li a {
    display: inline-block;
    width: 100%;
    padding: 10px;
    font-size: 0.8em;
    color: white;
    text-indent: -1.1em;
    white-space: nowrap
}

.u-dropbtn._type1 .dropmenu>li a::before {
    padding-right: 5px;
    font-family: "Font Awesome 5 Free", sans-serif;
    font-weight: 900;
    content: "\f105"
}

.u-dropbtn._type1 .dropmenu>li:hover {
    background-color: #764c29
}

.u-dropbtn._type1 .dropmenu>li:hover>a {
    opacity: 1
}

.u-dropbtn._type1:hover .dropmenu {
    top: 100%;
    height: auto;
    opacity: 1;
    -webkit-transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1)
}

.u-dropbtn._type2>a {
    -webkit-transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1)
}

.u-dropbtn._type2 .dropmenu {
    position: absolute;
    top: 100%;
    left: 50%;
    display: inline-block;
    width: 0;
    height: 0;
    overflow: hidden;
    color: white;
    background-color: rgba(155, 0, 0, 0.95);
    border-top: solid 6px #9b0000;
    -webkit-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.5);
    box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.5);
    opacity: 0;
    -webkit-transition: opacity 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: opacity 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%)
}

.u-dropbtn._type2 .dropmenu ul>li a {
    display: block;
    padding: 5px;
    color: white;
    border-bottom: solid thin #ccc
}

.u-dropbtn._type2:hover>a::before {
    opacity: 1;
    -webkit-transition: opacity 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: opacity 0.5s cubic-bezier(0.215, 0.61, 0.355, 1)
}

.u-dropbtn._type2:hover .dropmenu {
    width: 100vw;
    height: auto;
    opacity: 1;
    -webkit-transition: opacity 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: opacity 0.5s cubic-bezier(0.215, 0.61, 0.355, 1)
}

.dropmenu_sp {
    padding-bottom: 20px;
    padding-left: 10px;
    margin-top: -5px
}

.dropmenu_sp>li>a {
    color: white
}

.dropmenu_sp>li>a::before {
    content: "― "
}

.u-phonemenu {
    position: relative;
    z-index: 997;
    top: 0;
    right: 0;
    width: 60px
}

.u-phonemenu>.inner {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative;
    z-index: 3
}

.u-phonemenu>.inner #u-humbergerOpen figure {
    display: block;
    width: 45px;
    padding: 0;
    margin: 0 auto;
    cursor: pointer
}

.u-phonemenu>.inner #u-humbergerOpen figure>span {
    display: block;
    height: 2px;
    margin: 0 6px 8px;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    -webkit-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    transform-origin: 0 0;
    background-color: black
}

.u-phonemenu>.inner #u-humbergerOpen::after {
    display: block;
    margin: 0 auto;
    font-family: "Josefin Sans", sans-serif;
    font-size: 0.7rem;
    line-height: 1;
    text-align: center;
    letter-spacing: 0;
    content: "MENU";
    -webkit-transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1)
}

.u-phonemenu>.inner #u-humbergerOpen.is-attached figure>span {
    background-color: black
}

.u-phonemenu>.inner #u-humbergerOpen.is-attached::after {
    color: black
}

.u-phonemenu>.inner #u-humbergerOpen.is-opened figure>span {
    background-color: black
}

.u-phonemenu>.inner #u-humbergerOpen.is-opened figure>span:nth-child(1) {
    margin: 0 8px 8px;
    -webkit-transform: translatex(18%) rotate(45deg);
    -ms-transform: translatex(18%) rotate(45deg);
    transform: translatex(18%) rotate(45deg)
}

.u-phonemenu>.inner #u-humbergerOpen.is-opened figure>span:nth-child(2) {
    opacity: 0
}

.u-phonemenu>.inner #u-humbergerOpen.is-opened figure>span:nth-child(3) {
    margin: 0 8px 8px;
    -webkit-transform: translatex(18%) rotate(-45deg);
    -ms-transform: translatex(18%) rotate(-45deg);
    transform: translatex(18%) rotate(-45deg)
}

.u-phonemenu>.inner #u-humbergerOpen.is-opened::after {
    color: black;
    content: "CLOSE"
}

.u-phonemenu #u-drawernav {
    position: fixed;
    top: 0;
    z-index: 2;
    height: 100%;
    letter-spacing: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    overflow-y: auto;
    -webkit-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    transform: translateY(-20px);
    padding: 0 1rem
}

.u-phonemenu #u-drawernav.slide {
    left: 100%;
    width: 500px;
    padding: 5rem 1rem;
    -webkit-transition: -webkit-transform .5s ease;
    transition: -webkit-transform .5s ease;
    transition: transform .5s ease;
    transition: transform .5s ease, -webkit-transform .5s ease;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0)
}

.u-phonemenu #u-drawernav.slide.is-opened {
    -webkit-transition: -webkit-transform .5s ease;
    transition: -webkit-transform .5s ease;
    transition: transform .5s ease;
    transition: transform .5s ease, -webkit-transform .5s ease;
    -webkit-transform: translateX(-100%);
    -ms-transform: translateX(-100%);
    transform: translateX(-100%)
}

.u-phonemenu #u-drawernav.fade {
    left: 0;
    width: 100%;
    -webkit-transform: translateY(-50px);
    -ms-transform: translateY(-50px);
    transform: translateY(-50px);
    visibility: hidden;
    opacity: 0;
    -webkit-transition: opacity .5s, visibility 0s ease .5s, -webkit-transform .5s;
    transition: opacity .5s, visibility 0s ease .5s, -webkit-transform .5s;
    transition: opacity .5s, visibility 0s ease .5s, transform .5s;
    transition: opacity .5s, visibility 0s ease .5s, transform .5s, -webkit-transform .5s
}

.u-phonemenu #u-drawernav.fade.is-opened {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
    visibility: visible;
    opacity: 1;
    -webkit-transition-delay: 0s;
    transition-delay: 0s
}

.u-phonemenu #u-drawernav .logo {
    width: 250px;
    max-width: 100%
}

.u-phonemenu #u-drawernav ._list {
    padding: 0 10px
}

.u-phonemenu #u-drawernav ._list>li {
    padding: 0.5rem;
    border-bottom: solid thin #aaa
}

.u-phonemenu #u-drawernav ._list>li>a {
    display: block;
    padding: 10px 0;
    line-height: 1
}

.u-phonemenu #u-drawernav ._list>li>a>em {
    font-size: 1rem
}

.u-phonemenu #u-drawernav ._list>li>a>em.en {
    font-size: 1.2rem
}

.u-phonemenu #u-drawernav ._list>li>a::before {
    margin-right: 0.5em;
    font-family: "Font Awesome 5 Free", sans-serif;
    font-weight: 900;
    content: "\f105"
}

.u-phonemenu #u-drawernav ._list>li>.underlayer {
    padding: 0 20px 10px;
    margin-top: -5px
}

.u-phonemenu #u-drawernav ._list>li>.underlayer>li>a {
    display: inline-block;
    padding: 0.5em 0
}

.u-phonemenu #u-navOverlay {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.7);
    visibility: hidden;
    opacity: 0;
    -webkit-transition: opacity .5s, visibility 0s ease .5s, -webkit-transform .5s;
    transition: opacity .5s, visibility 0s ease .5s, -webkit-transform .5s;
    transition: opacity .5s, visibility 0s ease .5s, transform .5s;
    transition: opacity .5s, visibility 0s ease .5s, transform .5s, -webkit-transform .5s
}

.u-phonemenu #u-navOverlay.is-opened {
    visibility: visible;
    opacity: 1;
    -webkit-transition-delay: 0s;
    transition-delay: 0s
}

.u-bottomNav {
    position: fixed;
    bottom: 1rem;
    left: 1rem;
    z-index: 996;
    max-width: 100%;
    -webkit-transition: all 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: all 0.8s cubic-bezier(0.165, 0.84, 0.44, 1)
}

.u-bottomNav a img {
    width: 2rem
}

.u-bottomNav.is-attached {
    opacity: 1
}

@media (max-width: 992px) {
    .u-bottomNav {
        bottom: 0;
        left: 0;
        display: block;
        width: 100%
    }
}

#categoryList .inner {
    display: block;
    width: 100%;
    padding: 0.3rem;
    font-weight: 700;
    text-align: center;
    background-color: white;
    border: none;
    border-radius: 5px;
    -webkit-transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1)
}

#categoryList .inner:hover {
    color: #f8f9fa;
    background-color: #555;
    -webkit-transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1)
}

#categoryList .inner[data-select="selected"] {
    color: #f8f9fa;
    background-color: #555;
    -webkit-transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1)
}

#menuList [data-menu] {
    display: block;
    -webkit-transition: 1.3s all cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: 1.3s all cubic-bezier(0.165, 0.84, 0.44, 1)
}

#menuList [data-menu="hidden"] {
    width: 0;
    height: 0;
    padding: 0;
    visibility: hidden;
    opacity: 0;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0)
}

#menuList .inner {
    display: block;
    min-height: 100px;
    padding: 1rem;
    background-color: white;
    border-radius: 5px
}

#menuList .inner .title {
    font-family: "Zen Maru Gothic", "Noto Sans JP", 游ゴシック体, yugothic, "游ゴシック Medium", "Yu Gothic Medium", 游ゴシック, "Yu Gothic", "Helvetica Neue", helvetica, "Hiragino Sans", "Hiragino Kaku Gothic ProN", arial, meiryo, sans-serif;
    font-size: 1rem;
    font-weight: 700
}

#menuList .inner .tag {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

#menuList .inner .tag>.tag1,
#menuList .inner .tag>.tag2,
#menuList .inner .tag>.tag3,
#menuList .inner .tag>.tag4,
#menuList .inner .tag>.tag5,
#menuList .inner .tag>.tag6,
#menuList .inner .tag>.tag7,
#menuList .inner .tag>.tag8,
#menuList .inner .tag>.tag9 {
    padding: 0 0.3rem;
    margin: 0 0.3rem 0.1rem 0;
    font-size: 0.6rem
}

#menuList .inner .tag>.tag1 {
    background-color: #ffe5cc
}

#menuList .inner .tag>.tag2 {
    background-color: #ffc
}

#menuList .inner .tag>.tag3 {
    background-color: #ccffe5
}

#menuList .inner .tag>.tag4 {
    background-color: #cce5ff
}

#menuList .inner .tag>.tag5 {
    background-color: #ffcce5
}

#menuList .inner .tag>.tag6 {
    background-color: #fcc
}

#menuList .inner .tag>.tag7 {
    background-color: #c1ffff
}

#menuList .inner .tag>.tag8 {
    background-color: #bcffdd
}

#menuList .inner .tag>.tag9 {
    background-color: #b2ffb2
}

.bg-figure {
    position: relative
}

.bg-figure>.upper {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    height: 26vw;
    width: 100%;
    background-color: #f7f7f7;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 13vw, 66.66667% 0, 0 26vw);
    clip-path: polygon(0 0, 100% 0, 100% 13vw, 66.66667% 0, 0 26vw)
}

#hero-area {
    position: relative;
    height: calc(100vh - 115px);
    overflow: hidden;
    padding: 2rem;
    background-image: url("../img/bg-header1.png");
    margin-top: -2rem
}

#hero-area .underlay1 {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden
}

#hero-area .underlay1 .swiper-container {
    width: 100%;
    height: 100%
}

#hero-area .underlay1 .swiper-container .swiper-slide {
    width: 100%;
    height: 100%;
    border-radius: 70px;
    overflow: hidden
}

#hero-area .underlay1 .swiper-container .swiper-slide>img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

#hero-area .underlay1 .swiper-prev,
#hero-area .underlay1 .swiper-next {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    display: inline-block;
    width: auto;
    height: auto;
    color: #444;
    z-index: 4;
    font-size: 3rem;
    line-height: 1;
    border-radius: 50%;
    background-color: #fff;
    text-align: center;
    padding: 0.2rem 0.2rem 0.4rem 0.4rem;
    cursor: pointer
}

#hero-area .underlay1 .swiper-prev {
    left: 12vw
}

#hero-area .underlay1 .swiper-next {
    right: 12vw
}

#hero-area .underlay1-pagination {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0.5rem
}

#hero-area .underlay1-pagination>span {
    margin: 0.3rem
}

#hero-area .catch1 {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 50;
    width: 600px;
    max-width: 100%;
    margin-bottom: 0;
    -webkit-filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.9));
    filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.9))
}

#hero-area .catch1 h1 {
    font-size: 3rem;
    color: white;
    font-weight: 500
}

#hero-area .catch1 .writing-mode {
    font-size: 3vw
}

@media (min-width: 1300px) {
    #hero-area .catch1 .writing-mode {
        font-size: 35px
    }
}

#hero-area>.swiper-pagination {
    position: absolute;
    bottom: 1rem;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%)
}

#hero-area #wave {
    position: absolute;
    bottom: -10px;
    left: 0;
    z-index: 2;
    width: 100%
}

@media (max-width: 992px) {
    #hero-area {
        height: 50vh
    }

    #hero-area>.upper {
        top: -2px
    }

    #hero-area>.lower {
        bottom: -2px
    }

    #hero-area .catch1 {
        width: 150px
    }
}

@media (max-width: 560px) {
    #hero-area {
        height: 500px
    }

    #hero-area .catch1 {
        width: 100%
    }

    #hero-area .underlay1 .swiper-prev {
        left: 0
    }

    #hero-area .underlay1 .swiper-next {
        right: 0
    }
}

#featured-area>._image {
    background: linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%, #eee 100%) 0 0, linear-gradient(45deg, #eee 25%, #fff 25%, #fff 75%, #eee 75%, #eee 100%) 20px 20px;
    background-size: 40px 40px;
    position: relative;
    width: 100%;
    height: 500px;
    overflow: hidden
}

#featured-area>._image .lower {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 2;
    -webkit-transform: scale(-1, 1);
    -ms-transform: scale(-1, 1);
    transform: scale(-1, 1)
}

#featured-area>._image>.bg {
    width: 100%;
    height: 100%
}

#featured-area>._image>.bg img {
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center center;
    object-position: center center;
    width: 100%;
    height: 100%
}

#featured-area>._image>.inner {
    position: absolute;
    bottom: 10px;
    left: 0;
    z-index: 3;
    width: 100%;
    color: #f8f9fa
}

#featured-area>._image>.inner>._title {
    position: relative;
    z-index: 3
}

#featured-area>._image>.inner>._title .main {
    color: #f8f9fa;
    font-size: 1.3rem;
    font-weight: 700;
    display: inline-block;
    background-color: rgba(155, 0, 0, 0.7);
    line-height: 1.5
}

#featured-area>._image>.inner>._title .sub {
    color: #f8f9fa;
    margin-bottom: 0;
    font-size: 5rem;
    text-transform: initial;
    font-weight: 700;
    display: inline-block;
    background-color: rgba(155, 0, 0, 0.7);
    font-family: "Josefin Sans", sans-serif;
    line-height: 1.2
}

#featured-area>._title {
    margin-top: -5rem;
    position: relative;
    z-index: 3
}

#featured-area>._title .main {
    color: #f8f9fa;
    font-size: 2rem;
    display: inline-block;
    background-color: #9b0000;
    line-height: 1.5
}

#featured-area>._title .sub {
    color: #f8f9fa;
    margin-bottom: 0;
    font-size: 5rem;
    font-weight: 700;
    text-transform: initial;
    display: inline-block;
    background-color: #9b0000;
    font-family: "Josefin Sans", sans-serif;
    line-height: 1.2
}

@media (max-width: 992px) {
    #featured-area {
        padding-top: 0
    }

    #featured-area ._image {
        height: 400px
    }

    #featured-area ._image>.inner {
        top: 50%
    }

    #featured-area ._image>.inner ._title .sub {
        font-size: 4rem
    }

    #featured-area ._title {
        padding: 2rem 0
    }

    #featured-area ._title .sub {
        font-size: 3rem
    }
}

@media (max-width: 576px) {
    #featured-area ._image {
        height: 350px
    }

    #featured-area ._image>.inner>._title .main {
        font-size: 1.2rem
    }

    #featured-area ._image>.inner>._title .sub {
        font-size: 2rem
    }

    #featured-area ._image>.inner>._title .v-bar {
        margin-bottom: 1rem
    }

    #featured-area ._image>.inner>._title .v-bar::before {
        height: 1.5rem
    }

    #featured-area>._title .main {
        font-size: 1rem
    }

    #featured-area>._title .sub {
        font-size: 2.5rem
    }
}

.sec-title {
    position: relative;
    z-index: 3
}

.sec-title .main {
    color: #f8f9fa;
    font-size: 1.5rem;
    font-weight: 700;
    display: inline-block;
    background-color: #9b0000;
    line-height: 1.5
}

.sec-title .sub {
    color: #f8f9fa;
    margin-bottom: 0;
    font-size: 4rem;
    font-weight: 700;
    text-transform: initial;
    display: inline-block;
    background-color: #9b0000;
    font-family: "Josefin Sans", sans-serif;
    line-height: 1.2
}

@media (max-width: 576px) {
    .sec-title .main {
        font-size: 1rem
    }

    .sec-title .sub {
        font-size: 2.5rem
    }
}

.breadcrumbs {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    font-size: 0.8rem;
    color: inherit
}

.breadcrumbs>li {
    display: inline-block;
    padding: 0 0.1em
}

.breadcrumbs>li a {
    color: inherit
}

.breadcrumbs>li::after {
    content: " >"
}

.breadcrumbs>li:last-child::after {
    content: none
}

@media (max-width: 576px) {
    .breadcrumbs {
        padding-top: 0.3rem;
        font-size: 0.6rem
    }
}

.pdfViewer {
    background-color: #eee;
    background-image: url('data:image/svg+xml;charset=utf8,%3csvg width="38" height="38" viewBox="0 0 38 38" xmlns="http://www.w3.org/2000/svg" stroke="%23aaa"%3e%3cg fill="none" fill-rule="evenodd"%3e%3cg transform="translate%281 1%29" stroke-width="0.5"%3e%3ccircle stroke-opacity=".5" cx="18" cy="18" r="4.9"/%3e%3cpath d="M22.9,18c0-2.7-2.2-4.9-4.9-4.9"%3e%3canimateTransform attributeName="transform" type="rotate" from="0 18 18" to="360 18 18" dur="1s" repeatCount="indefinite"/%3e%3c/path%3e%3c/g%3e%3c/g%3e%3c/svg%3e');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 70%
}

.pdfViewer canvas {
    display: block;
    width: 100%;
    border: 1px solid black;
    opacity: 0;
    -webkit-transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1)
}

.u-product {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 0 0.5rem;
    margin-bottom: 0.5rem;
    line-height: 1
}

.u-product>* {
    display: inline-block;
    font-weight: 200
}

.u-product>*:nth-child(1) {
    display: inline-block;
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 1;
    flex-shrink: 1;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    padding-right: 5px;
    font-size: 1.1em;
    font-weight: 700;
    line-height: 1
}

.u-product>*:nth-child(1) span {
    font-size: 13px;
    font-weight: 400
}

.u-product>*:nth-child(2) {
    display: inline-block;
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
    padding-left: 5px;
    font-family: "Josefin Sans", sans-serif;
    font-size: 1.3em;
    font-weight: 700;
    color: #555;
    text-align: right
}

.u-product::after {
    display: block;
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-negative: 1;
    flex-shrink: 1;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    min-width: 2em;
    height: 1em;
    content: "";
    background: radial-gradient(#777 20%, transparent 0) repeat-x center center/8px 8px
}

.u-product.noprice::after {
    content: none
}

.htitle00 {
    position: relative;
    padding: 1em;
    overflow: hidden;
    color: white;
    background-image: -webkit-gradient(linear, left top, right bottom, from(#764c29), to(#9b0000));
    background-image: linear-gradient(to right bottom, #764c29, #9b0000)
}

.htitle00 .mainText {
    display: block;
    font-size: 2em;
    font-weight: 900
}

.htitle00 .subText {
    display: block;
    font-size: 1em
}

@media (max-width: 1100px) {
    .htitle00 .mainText {
        font-size: 1.8em
    }

    .htitle00 .subText {
        font-size: 0.8em
    }
}

.htitle01 {
    position: relative;
    padding-bottom: 0.5rem;
    margin-bottom: 0.5rem;
    font-size: 1.4rem;
    font-weight: 700
}

.htitle01::before {
    position: absolute;
    bottom: -0.1em;
    left: 0;
    display: block;
    width: 5rem;
    height: 4px;
    content: "";
    background-color: #9b0000
}

.htitle02 {
    margin-bottom: 0.5rem
}

.htitle02>* {
    display: inline;
    font-size: 1.8rem;
    line-height: 1.4;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(70%, #ffedcc));
    background: linear-gradient(transparent 70%, #ffedcc 70%);
    font-weight: 500
}

@media screen and (max-width: 800px) {
    .htitle02>* {
        font-size: 1.3rem
    }
}

.htitle03 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    position: relative;
    padding-bottom: 1rem
}

.htitle03._left {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start
}

.htitle03._left::after {
    right: initial;
    left: 0
}

.htitle03._center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center
}

.htitle03._center::after {
    right: initial;
    left: 50%;
    -webkit-transform: translatex(-50%) skewX(-50deg);
    -ms-transform: translatex(-50%) skewX(-50deg);
    transform: translatex(-50%) skewX(-50deg)
}

.htitle03._right {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.htitle03._right::after {
    right: 0;
    left: initial
}

.htitle03._light>em {
    color: #f8f9fa
}

.htitle03._light>span {
    color: #f8f9fa
}

.htitle03._light::before {
    color: #f8f9fa
}

.htitle03._light::after {
    background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, white), color-stop(50%, #aaa));
    background-image: linear-gradient(to right, white 50%, #aaa 50%)
}

.htitle03>em {
    display: inline-block;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    font-family: "Josefin Sans", sans-serif;
    font-size: 3rem;
    font-style: normal;
    font-weight: 600;
    line-height: 1.2;
    color: #9b0000;
    text-transform: initial;
    letter-spacing: 0;
    padding: 0 0.3rem
}

.htitle03>span {
    display: inline-block;
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
    font-size: 1rem;
    font-weight: 400;
    padding: 0 0.3rem
}

.htitle03::after {
    position: absolute;
    bottom: 0;
    right: initial;
    left: 0;
    content: "";
    display: block;
    width: 100px;
    height: 2px;
    background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, #9b0000), color-stop(50%, #764c29));
    background-image: linear-gradient(to right, #9b0000 50%, #764c29 50%);
    -webkit-transform: skewX(-50deg);
    -ms-transform: skewX(-50deg);
    transform: skewX(-50deg)
}

@media (max-width: 576px) {
    .htitle03 {
        text-align: center
    }

    .htitle03>em {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        width: 100%;
        padding-bottom: 0.3rem;
        font-size: 2rem
    }

    .htitle03>span {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        width: 100%;
        padding-bottom: 0.3rem
    }

    .htitle03::before {
        content: none
    }
}

.htitle03-2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    text-align: center
}

.htitle03-2>em {
    display: inline-block;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    width: 100%;
    font-family: "Josefin Sans", sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    color: #9b0000;
    text-transform: initial
}

.htitle03-2>span {
    display: inline-block;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    width: 100%;
    margin-bottom: 0.3rem;
    font-size: 2.5rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.2
}

.htitle03-2::before {
    content: "";
    display: block;
    width: 100%;
    height: 75px;
    background-image: url("../img/illust_1.svg");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat
}

.htitle03-2._light {
    color: #f8f9fa
}

.htitle03-2._light>em {
    color: inherit
}

.htitle03-2._light>span {
    color: inherit
}

.htitle03-2._light::before {
    background-image: url("../img/logo_s2.png")
}

@media (max-width: 992px) {
    .htitle03-2>em {
        width: 100%;
        padding-bottom: 1rem;
        font-size: 1.2rem
    }

    .htitle03-2>span {
        width: 100%;
        font-size: 1.5rem
    }
}

.htitle04 {
    position: relative;
    padding: 1rem;
    margin-bottom: 20px;
    font-size: 1.5rem;
    color: white;
    background-color: #9b0000;
    border-radius: 100px
}

.htitle04::after {
    position: absolute;
    top: 100%;
    left: 100px;
    width: 0;
    height: 0;
    content: "";
    border: solid 15px transparent;
    border-top-color: #9b0000
}

@media (max-width: 1100px) {
    .htitle04::after {
        border-width: 10px
    }
}

@media (max-width: 576px) {
    .htitle04 {
        font-size: 1.2rem;
        letter-spacing: 0
    }
}

.htitle04-2 {
    position: relative;
    padding: 1rem 0.5rem;
    margin-bottom: 20px;
    font-size: 1.5rem;
    font-weight: 700;
    border-top: solid 3px #555;
    border-bottom: solid 3px #555
}

.htitle04-2::after {
    position: absolute;
    top: 100%;
    left: 110px;
    width: 0;
    height: 0;
    content: "";
    border: solid 15px transparent;
    border-top-color: #555
}

.htitle04-2._center {
    text-align: center
}

.htitle04-2._center::after {
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%)
}

@media (max-width: 992px) {
    .htitle04-2 {
        padding: 1rem 0;
        text-align: center
    }

    .htitle04-2::after {
        left: 50%;
        border-width: 10px;
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

.htitle05 {
    position: relative;
    padding-left: 20px;
    margin-bottom: 20px;
    font-size: 1.5em;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0.2em;
    border-bottom: solid 6px #764c29
}

.htitle05 span {
    font-size: 0.6em
}

.htitle05::after {
    position: absolute;
    bottom: -3px;
    display: block;
    width: 20%;
    content: " ";
    border-bottom: solid 3px #9b0000
}

.htitle06 {
    overflow: hidden;
    font-size: 1.4em;
    line-height: 1
}

.htitle06 .main {
    position: relative;
    font-size: 1.5em;
    color: #764c29;
    letter-spacing: 0.2em
}

.htitle06 .main::after {
    position: absolute;
    top: 50%;
    left: calc(100% + 0.5em);
    width: 200px;
    height: 1px;
    content: "";
    background-color: #764c29;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

.htitle06 .sub {
    font-family: "Caveat", cursive;
    font-weight: 400;
    letter-spacing: normal
}

@media (max-width: 1100px) {
    .htitle06 .main {
        font-size: 0.9em
    }

    .htitle06 .main::after {
        content: none
    }
}

.htitle07 {
    position: relative;
    font-size: 1.1rem;
    line-height: 1.2;
    border-bottom: double 4px #aaa;
    -webkit-transform: skewX(-10deg);
    -ms-transform: skewX(-10deg);
    transform: skewX(-10deg)
}

.htitle07>.sub {
    display: block;
    font-family: "Allura", cursive;
    font-size: 5rem;
    font-weight: 400;
    line-height: 0.7;
    color: #aaa;
    opacity: 0.2
}

.htitle07>.main {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    display: block;
    padding: 0.3rem 1rem;
    font-size: 1.4rem;
    font-weight: 700;
    color: #555;
    letter-spacing: 0
}

.htitle07._light>.sub {
    color: white;
    opacity: 0.2
}

.htitle07._light>.main {
    color: white
}

@media screen and (max-width: 500px) {
    .htitle07 {
        margin-top: 2em
    }

    .htitle07>.sub {
        font-size: 4em
    }

    .htitle07>.main {
        font-size: 1rem;
        letter-spacing: 0
    }
}

.htitle08 {
    margin-bottom: 10px;
    font-size: 1.2em;
    line-height: 1.2;
    border-bottom: solid 2px #9b0000
}

.htitle08 span {
    position: relative;
    display: inline-block;
    height: 100%;
    padding: 0 1.4em;
    color: white;
    background-color: #9b0000;
    border-radius: 5px 5px 0 0
}

.htitle08 span::before {
    position: absolute;
    top: 50%;
    left: 10px;
    width: 0;
    height: 0;
    content: "";
    border-top: 0.3em solid transparent;
    border-bottom: 0.3em solid transparent;
    border-left: 0.4em solid white;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

.htitle09 {
    position: relative;
    display: inline-block;
    padding: 0.3em 1.5em 0.3em 0.5em;
    margin: 0;
    margin-bottom: 15px;
    font-size: 1.5em;
    line-height: 1.2;
    color: white;
    background-color: #764c29;
    border-radius: 2px
}

.htitle09::before {
    position: absolute;
    top: 26%;
    left: 50%;
    z-index: -1;
    display: block;
    width: 46%;
    height: 60%;
    content: "";
    background-color: #b3b3b3;
    -webkit-box-shadow: 0 0 8px 8px #b3b3b3;
    box-shadow: 0 0 8px 8px #b3b3b3;
    -webkit-transform: rotate(3deg);
    -ms-transform: rotate(3deg);
    transform: rotate(3deg)
}

.htitle0a {
    margin-bottom: 20px;
    font-size: 1.5em;
    font-weight: 700;
    line-height: 1.2;
    border-bottom: solid thin #aaa
}

.htitle0a::first-letter {
    font-size: 1.2em;
    color: #9b0000
}

.htitle0a-2 {
    padding-bottom: 10px;
    margin-bottom: 20px;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.2;
    color: #555;
    border-bottom: dotted 3px #aaa
}

.htitle0a-2::first-letter {
    font-size: 1.2em;
    color: #9b0000
}

@media (max-width: 1100px) {
    .htitle0a-2 {
        font-size: 1.5rem
    }
}

.htitle0a-3 {
    font-weight: 700;
    font-size: 1.5rem
}

.htitle0a-3::after {
    display: block;
    content: "";
    width: 100%;
    height: 0.7rem;
    background: repeating-linear-gradient(-45deg, transparent 0, transparent 0.3rem, #ccc 0.3rem, #ccc 0.7rem)
}

.htitle0b {
    padding: 10px 20px;
    margin-bottom: 20px;
    font-size: 1.5em;
    font-weight: 700;
    line-height: 1.3;
    color: #9b0000;
    background-color: #eee;
    border-left: solid 5px #9b0000
}

@media (max-width: 1100px) {
    .htitle0b {
        font-size: 1.1em
    }
}

.htitle0c {
    position: relative;
    padding: 10px;
    margin-bottom: 20px;
    font-size: 1.6em;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.1em;
    border-top: solid 2px #212529;
    border-bottom: solid 2px #212529
}

.htitle0d {
    padding: 10px;
    margin-bottom: 20px;
    font-size: 1.4em;
    font-weight: 400;
    line-height: 1.2;
    color: white;
    letter-spacing: 0.1em;
    background-color: #9b0000
}

.htitle0d::before {
    padding-right: 0.1em;
    font-family: "Font Awesome 5 Free", sans-serif;
    font-weight: 900;
    content: "\f00b"
}

.htitle0e {
    position: relative;
    z-index: 0;
    height: 6em;
    line-height: 1.2
}

.htitle0e .catch {
    position: absolute;
    top: 55%;
    left: 1em;
    z-index: 2;
    display: inline-block;
    font-family: "Josefin Sans", sans-serif;
    font-size: 1.1em;
    font-weight: 500;
    line-height: 0.9;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

.htitle0e .main {
    position: absolute;
    top: 50%;
    left: 15%;
    z-index: 2;
    display: block;
    width: 85%;
    font-size: 1.5em;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.2em;
    border-bottom: solid thin #555;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

.htitle0e .main b {
    font-family: "Josefin Sans", sans-serif;
    font-size: 0.5em;
    font-weight: 400
}

.htitle0e::before {
    position: absolute;
    top: calc(-6em / 1.41421356);
    left: calc(-6em / 1.41421356);
    z-index: 1;
    display: inline-block;
    content: "";
    border-color: transparent transparent #764c29 transparent;
    border-style: solid;
    border-width: calc(6em / 1.414);
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

@media (max-width: 1100px) {
    .htitle0e {
        height: 3em
    }

    .htitle0e .catch {
        font-size: 0.8em
    }

    .htitle0e .main {
        left: 25%;
        width: 75%;
        font-size: 1.2em
    }

    .htitle0e::before {
        top: calc(-3em / 1.41421356);
        left: calc(-3em / 1.41421356);
        border-width: calc(3em / 1.414)
    }
}

.htitle0f {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    width: 100%;
    padding: 20px 5px;
    font-size: 1em;
    border-top: solid 5px #888;
    border-bottom: solid 5px #888
}

.htitle0f._jc-start {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start
}

.htitle0f._jc-center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.htitle0f._jc-end {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.htitle0f._jc-between {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.htitle0f._ai-start {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
}

.htitle0f._ai-center {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.htitle0f._ai-end {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end
}

.htitle0f ._main {
    display: inline-block;
    font-size: 1.7em;
    font-weight: 700
}

.htitle0f ._main::first-letter {
    font-size: 1.2em;
    color: #764c29
}

.htitle0f ._sub {
    display: inline-block;
    font-family: "Josefin Sans", sans-serif;
    font-size: 1.2em;
    font-weight: 400
}

@media (max-width: 1100px) {
    .htitle0f {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        font-size: 1em
    }

    .htitle0f ._main {
        width: 100%
    }

    .htitle0f ._sub {
        width: 100%
    }
}

.htitle10 {
    width: 100%;
    max-width: 100%;
    padding: 0.2em 0.5em 0.3em;
    margin: 0 auto 0.5em;
    font-size: 1.5em;
    font-weight: 400;
    line-height: 1.2;
    color: white;
    text-align: center;
    letter-spacing: 0.2em;
    background: #9b0000;
    border: dashed 1px white;
    -webkit-box-shadow: 0 0 0 5px #9b0000;
    box-shadow: 0 0 0 5px #9b0000
}

.htitle11 {
    position: relative;
    padding-bottom: 1.5rem;
    margin-bottom: 1rem;
    font-size: 2rem;
    font-weight: 700;
    text-align: center
}

.htitle11::before,
.htitle11::after {
    position: absolute;
    bottom: 0;
    display: block;
    width: 2rem;
    height: 2px;
    content: ""
}

.htitle11::before {
    left: 50%;
    background-color: #764c29
}

.htitle11::after {
    right: 50%;
    background-color: #9b0000
}

.htitle11._light {
    color: white
}

.htitle11._light::before {
    background-color: white
}

.htitle11._light::after {
    background-color: #aaa
}

@media (max-width: 1100px) {
    .htitle11 {
        font-size: 1.5em
    }
}

.htitle12 {
    font-size: 2rem;
    text-align: center
}

.htitle12>* {
    display: inline-block;
    max-width: 100%;
    padding: 10px 3rem;
    border-top: solid thin black;
    border-bottom: solid thin black
}

@media (max-width: 1100px) {
    .htitle12 {
        font-size: 1.5rem
    }

    .htitle12>* {
        padding: 10px 1rem
    }
}

.htitle13 {
    position: relative;
    width: 20rem;
    margin-right: auto;
    margin-left: auto
}

.htitle13::before {
    display: block;
    padding-top: 16%;
    content: ""
}

.htitle13>em {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 100%;
    height: 100%;
    padding-top: 0.1rem;
    font-family: "Allura", cursive;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

.htitle13._dark>em {
    color: #f8f9fa;
    background-image: url("data:image/svg+xml;charset=utf8,%3csvg id='layer1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 300 49'%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:none;}.cls-2{clip-path:url%28%23clip-path%29;}.cls-3{fill:%23113758;}%3c/style%3e%3cclipPath id='clip-path'%3e%3ccircle class='cls-1' cx='-375' cy='-175' r='141'/%3e%3c/clipPath%3e%3c/defs%3e%3cpath class='cls-3' d='M272.091,11.575v28.2a1.019,1.019,0,0,1-.618.937L260.548,45.4a1.021,1.021,0,0,0,.4,1.959h34.767a1.021,1.021,0,0,0,.832-1.611l-11.5-16.2a1.022,1.022,0,0,1,0-1.182l11.5-16.2a1.02,1.02,0,0,0-.832-1.611H273.111A1.02,1.02,0,0,0,272.091,11.575Z'/%3e%3crect class='cls-3' x='30.968' y='1.641' width='238.449' height='36.804' rx='0.931'/%3e%3cpath class='cls-3' d='M28.294,11.37V39.908a.816.816,0,0,0,.493.749L40.757,45.8a.815.815,0,0,1-.321,1.564H4.269a.815.815,0,0,1-.664-1.286L15.416,29.429a.816.816,0,0,0,0-.943L3.605,11.841a.815.815,0,0,1,.664-1.286h23.21A.815.815,0,0,1,28.294,11.37Z'/%3e%3c/svg%3e")
}

.htitle13._light>em {
    color: #212529;
    background-image: url("data:image/svg+xml;charset=utf8,%3csvg id='layer1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 300 49'%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:none;}.cls-2{clip-path:url%28%23clip-path%29;}.cls-3{fill:%23fff;}.cls-3,.cls-4{stroke:%23555;stroke-linecap:round;stroke-linejoin:round;stroke-width:3.017px;}.cls-4{fill:%23555;}%3c/style%3e%3cclipPath id='clip-path'%3e%3ccircle class='cls-1' cx='-55' cy='-175' r='141'/%3e%3c/clipPath%3e%3c/defs%3e%3cpolygon class='cls-3' points='271.898 9.555 271.898 39.445 255.793 46.359 297.5 46.359 284.442 27.957 297.5 9.555 271.898 9.555'/%3e%3cpolygon class='cls-4' points='44.207 9.555 28.102 2.641 28.102 39.445 44.207 46.359 44.207 9.555'/%3e%3cpolygon class='cls-4' points='255.793 9.555 271.898 2.641 271.898 39.445 255.793 46.359 255.793 9.555'/%3e%3crect class='cls-3' x='28.102' y='2.641' width='243.797' height='36.804'/%3e%3cpolygon class='cls-3' points='28.102 9.555 28.102 39.445 44.207 46.359 2.5 46.359 15.558 27.957 2.5 9.555 28.102 9.555'/%3e%3c/svg%3e")
}

@media (max-width: 576px) {
    .htitle13 {
        width: 16rem
    }

    .htitle13>em {
        font-size: 1.9rem
    }
}

.htitle14 {
    line-height: 1.2;
    color: #764c29 1;
    text-align: center;
    letter-spacing: 0.2em
}

.htitle14 .inner {
    position: relative;
    display: inline-block
}

.htitle14 .inner .main {
    display: inline-block;
    margin-bottom: 10px;
    font-size: 2em;
    font-weight: 500
}

.htitle14 .inner .sub {
    display: inline-block;
    padding: 5px 20px;
    margin-bottom: 10px;
    font-family: "Josefin Sans", sans-serif;
    font-weight: 900;
    color: white;
    background-color: #764c29 1;
    border-radius: 50px
}

.htitle14 .inner .sub2 {
    display: inline-block;
    margin-bottom: 10px;
    font-size: 1.2em;
    font-weight: 400
}

@media (max-width: 1100px) {
    .htitle14 .inner .main {
        font-size: 1em
    }

    .htitle14 .inner .sub {
        font-size: 0.8em
    }

    .htitle14 .inner::before {
        width: 1em;
        height: 1em
    }

    .htitle14 .inner::after {
        position: absolute;
        width: 1em;
        height: 1em
    }
}

.htitle15 {
    overflow: hidden;
    text-align: center
}

.htitle15 .main {
    position: relative;
    display: block;
    font-family: "Josefin Sans", sans-serif;
    font-size: 1.5em;
    font-weight: 400;
    line-height: 1.1;
    color: white;
    border-bottom: solid thin white
}

.htitle15 .sub {
    display: inline-block;
    padding: 0 30px;
    margin-top: 50px;
    font-size: 0.8em;
    font-weight: 400;
    line-height: 1.6;
    color: white;
    letter-spacing: 0.3em
}

.htitle15.light .main {
    color: white
}

.htitle15.light .main::before {
    background-color: white
}

.htitle15.light .main::after {
    background-color: white
}

@media (max-width: 1100px) {
    .htitle15 .main {
        font-size: 34px
    }

    .htitle15 .main::before {
        width: 30px;
        height: 1px
    }

    .htitle15 .main::after {
        width: 30px;
        height: 1px
    }

    .htitle15 .sub {
        font-size: 0.5em
    }
}

.u-clip._right {
    -webkit-clip-path: polygon(0 0, 100% 0, 95% 100%, 0 100%);
    clip-path: polygon(0 0, 100% 0, 95% 100%, 0 100%)
}

.u-clip._left {
    -webkit-clip-path: polygon(5% 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(5% 0, 100% 0, 100% 100%, 0 100%)
}

@media (max-width: 1100px) {

    .u-clip._right,
    .u-clip._left {
        -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%)
    }
}

#bubbly-bg-wrap {
    position: relative
}

#bubbly-bg-wrap #bubbly-bg {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1
}

.u-skew {
    position: relative;
    height: 400px;
    -webkit-clip-path: polygon(5% 0, 100% 0, 95% 100%, 0 100%);
    clip-path: polygon(5% 0, 100% 0, 95% 100%, 0 100%)
}

.u-skew>* {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

.u-skew img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

@media (max-width: 576px) {
    .u-skew {
        height: 250px;
        -webkit-clip-path: none;
        clip-path: none
    }
}

.u-btn1 {
    position: relative;
    display: inline-block;
    min-width: 200px;
    padding: 0.5rem 4rem;
    text-align: center;
    text-decoration: none;
    border-radius: 5px;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
    overflow: hidden;
    background-color: white;
    border-width: 1px;
    border-style: solid;
    border-color: #9b0000
}

.u-btn1>* {
    color: white;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    position: relative;
    z-index: 2
}

.u-btn1>*::before {
    margin-right: 5px;
    font-family: "Font Awesome 5 Free", sans-serif;
    font-weight: 900;
    content: "\f105"
}

.u-btn1::after {
    content: "";
    display: inline-block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-image: -webkit-gradient(linear, right bottom, left top, from(#9b0000));
    background-image: linear-gradient(to left top, #9b0000);
    -webkit-transition: all 0.8s ease;
    transition: all 0.8s ease;
    z-index: 1
}

.u-btn1:hover {
    opacity: 1
}

.u-btn1:hover>* {
    color: #9b0000;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease
}

.u-btn1:hover::after {
    -webkit-transform: translateX(100%);
    -ms-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    opacity: 0
}

.u-btn1._gradient::after {
    background-image: -webkit-gradient(linear, right bottom, left top, from(#9b0000), to(#764c29));
    background-image: linear-gradient(to left top, #9b0000, #764c29)
}

.u-btn1._tel>*::before {
    content: "\f095"
}

.u-btn1._mail>*::before {
    content: "\f0e0"
}

.u-btn1._cart>*::before {
    content: "\f07a"
}

.u-btn1._fax>*::before {
    content: "\f1ac"
}

.u-btn1._map>*::before {
    content: "\f3c5"
}

.u-btn1._user>*::before {
    content: "\f007"
}

.u-btn1._calender>*::before {
    content: "\f073"
}

.u-btn1._line {
    background-color: #00b900;
    background-size: contain;
    border: solid thin #00b900
}

.u-btn1._line>*::before {
    display: inline-block;
    width: 1.5em;
    height: 1.4em;
    margin-top: -0.2em;
    margin-bottom: -0.3em;
    content: "";
    background-image: url("data:image/svg+xml;charset=utf8,%3csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 300 287'%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:none;}.cls-2{clip-path:url%28%23clip-path%29;}.cls-3{fill:%23fff;fill-rule:evenodd;}%3c/style%3e%3cclipPath id='clip-path'%3e%3ccircle class='cls-1' cx='-55' cy='-175' r='141'/%3e%3c/clipPath%3e%3c/defs%3e%3cpath class='cls-3' d='M295.581,102.377q-.5-3.513-1-7.027c-2.015-4.684-4.6-10.631-6.524-15.057-13.389-30.783-42.922-54.5-74.784-66.753-8.284-3.186-18.2-5.553-25.6-7.529C181.51,4.366,174.31,4.448,168.6,3H131.459c-4.425,3.092-16,1.29-21.582,3.513-3.03,1.207-10.191,2.093-14.555,4.016C81.457,16.636,67.568,21.611,55.671,29.6,42.46,38.473,31.81,50.367,21.542,62.225c-1.088,1.256-1.091,3.1-2.008,4.517-1.524,2.352-3.826,5.239-5.521,7.528l-2.007,6.023c-.314.691-1.829,1.73-2.008,2.008q-.5,2.257-1,4.517c-.752,2-2.248,4.764-3.011,6.525C2.4,101.6,1.014,126.736,3.473,137.51c1.218,5.332.473,10.382,2.51,15.057,1.753,4.024,4.348,9.246,6.023,13.05l2.007,6.023c9.722,13.046,18.167,26.894,31.118,36.638,17.305,13.02,34.683,20.9,57.217,29.111l22.084,4.517c4.108.97,7.773-.008,10.54,2.008,6.674,4.605,4.489,18.681,2.51,27.1-.671,2.855-1.978,8.373,0,11.042q.251.753.5,1.506c12,2.311,19.468-5.109,26.6-9.536,11.2-6.951,22.361-12.693,33.126-20.076,5.119-3.511,10.263-7.36,15.559-11.042l2.51-3.012c21.875-15.2,41.246-32.614,59.224-51.7,1.285-1.363,1.38-3.473,2.51-5.019,1.555-2.128,3.884-4.452,5.521-6.524,3.1-3.922,3.676-10.436,6.524-14.556h1c1.727-2.708,1.328-6.44,2.51-9.536C297.807,140.163,299.516,117.465,295.581,102.377ZM98.835,153.571q-.25.753-.5,1.506H70.728c-3.976,0-9.418.535-12.547-.5-2.384-12.164-.5-32.112-.5-45.673,0-4.274-1.425-13.486.5-16.563l.5-1.506c3.945-.04,9.456-.544,12.547.5.974,5.06.5,12.184.5,18.069v32.121c5.036-.055,23.1-1.389,26.1.5h1C99.341,144.354,100.279,151.4,98.835,153.571Zm24.593-46.677v47.681l-.5.5c-3.945.04-9.456.544-12.547-.5V110.909c0-6.1-1.188-14.952.5-20.076,3.111-.066,9.442-.858,11.543.5C124.592,92.711,123.429,102.292,123.428,106.894Zm65.248,48.183H176.128l-27.1-38.647v-.5h-1v27.1c0,3.836.491,9.049-.5,12.046-3.946.04-9.457.544-12.548-.5-2.317-11.945-.5-31.359-.5-44.67,0-6.045-.919-14.682,1-19.072,3.326-.067,10.272-.967,12.548.5,3.507,1.678,5.323,7.405,7.528,10.54,5,7.114,10.095,14.2,15.057,21.582,1.45,2.157,3.656,3.709,4.517,6.525h1v-26.6c0-4.3-.433-9.756,1-12.548,4.256-.062,9.81-.436,12.548,1V136C189.68,141.845,190.781,150.965,188.676,155.077Zm53.2,0H213.771c-4.416,0-10.158.483-13.05-1V109.905c0-5.84-1.1-14.96,1-19.072h28.609c3.087,0,8.933-.817,11.042.5h1c.062,4.372.487,10.214-1,13.049h-27.1v11.544c5.113-.055,23.559-1.417,26.6.5l1.5.5c.04,3.946.545,9.457-.5,12.548-7.55-.04-21.412-1.561-27.6.5v11.543c5.19-.055,24.015-1.444,27.1.5h1C242.419,146.113,242.967,151.855,241.878,155.077Z'/%3e%3c/svg%3e")
}

.u-btn1._line:hover {
    color: #00b900;
    background-color: white
}

.u-btn1._line:hover>*::before {
    background-image: url("data:image/svg+xml;charset=utf8,%3csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 300 287'%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:none;}.cls-2{clip-path:url%28%23clip-path%29;}.cls-3{fill:%2300b900;fill-rule:evenodd;}%3c/style%3e%3cclipPath id='clip-path'%3e%3ccircle class='cls-1' cx='-55' cy='-175' r='141'/%3e%3c/clipPath%3e%3c/defs%3e%3cpath class='cls-3' d='M295.581,102.377q-.5-3.513-1-7.027c-2.015-4.684-4.6-10.631-6.524-15.057-13.389-30.783-42.922-54.5-74.784-66.753-8.284-3.186-18.2-5.553-25.6-7.529C181.51,4.366,174.31,4.448,168.6,3H131.459c-4.425,3.092-16,1.29-21.582,3.513-3.03,1.207-10.191,2.093-14.555,4.016C81.457,16.636,67.568,21.611,55.671,29.6,42.46,38.473,31.81,50.367,21.542,62.225c-1.088,1.256-1.091,3.1-2.008,4.517-1.524,2.352-3.826,5.239-5.521,7.528l-2.007,6.023c-.314.691-1.829,1.73-2.008,2.008q-.5,2.257-1,4.517c-.752,2-2.248,4.764-3.011,6.525C2.4,101.6,1.014,126.736,3.473,137.51c1.218,5.332.473,10.382,2.51,15.057,1.753,4.024,4.348,9.246,6.023,13.05l2.007,6.023c9.722,13.046,18.167,26.894,31.118,36.638,17.305,13.02,34.683,20.9,57.217,29.111l22.084,4.517c4.108.97,7.773-.008,10.54,2.008,6.674,4.605,4.489,18.681,2.51,27.1-.671,2.855-1.978,8.373,0,11.042q.251.753.5,1.506c12,2.311,19.468-5.109,26.6-9.536,11.2-6.951,22.361-12.693,33.126-20.076,5.119-3.511,10.263-7.36,15.559-11.042l2.51-3.012c21.875-15.2,41.246-32.614,59.224-51.7,1.285-1.363,1.38-3.473,2.51-5.019,1.555-2.128,3.884-4.452,5.521-6.524,3.1-3.922,3.676-10.436,6.524-14.556h1c1.727-2.708,1.328-6.44,2.51-9.536C297.807,140.163,299.516,117.465,295.581,102.377ZM98.835,153.571q-.25.753-.5,1.506H70.728c-3.976,0-9.418.535-12.547-.5-2.384-12.164-.5-32.112-.5-45.673,0-4.274-1.425-13.486.5-16.563l.5-1.506c3.945-.04,9.456-.544,12.547.5.974,5.06.5,12.184.5,18.069v32.121c5.036-.055,23.1-1.389,26.1.5h1C99.341,144.354,100.279,151.4,98.835,153.571Zm24.593-46.677v47.681l-.5.5c-3.945.04-9.456.544-12.547-.5V110.909c0-6.1-1.188-14.952.5-20.076,3.111-.066,9.442-.858,11.543.5C124.592,92.711,123.429,102.292,123.428,106.894Zm65.248,48.183H176.128l-27.1-38.647v-.5h-1v27.1c0,3.836.491,9.049-.5,12.046-3.946.04-9.457.544-12.548-.5-2.317-11.945-.5-31.359-.5-44.67,0-6.045-.919-14.682,1-19.072,3.326-.067,10.272-.967,12.548.5,3.507,1.678,5.323,7.405,7.528,10.54,5,7.114,10.095,14.2,15.057,21.582,1.45,2.157,3.656,3.709,4.517,6.525h1v-26.6c0-4.3-.433-9.756,1-12.548,4.256-.062,9.81-.436,12.548,1V136C189.68,141.845,190.781,150.965,188.676,155.077Zm53.2,0H213.771c-4.416,0-10.158.483-13.05-1V109.905c0-5.84-1.1-14.96,1-19.072h28.609c3.087,0,8.933-.817,11.042.5h1c.062,4.372.487,10.214-1,13.049h-27.1v11.544c5.113-.055,23.559-1.417,26.6.5l1.5.5c.04,3.946.545,9.457-.5,12.548-7.55-.04-21.412-1.561-27.6.5v11.543c5.19-.055,24.015-1.444,27.1.5h1C242.419,146.113,242.967,151.855,241.878,155.077Z'/%3e%3c/svg%3e")
}

.u-btn1._fit {
    width: 100%
}

.u-btn1._min {
    min-width: 0
}

@media (max-width: 600px) {
    .u-btn1 {
        padding: 0.6rem 2rem
    }
}

.u-btn2 {
    position: relative;
    display: inline-block;
    min-width: 150px;
    padding: 10px;
    overflow: hidden;
    font-size: 1.1rem;
    line-height: 1;
    color: white;
    text-align: center;
    text-decoration: none;
    letter-spacing: 0;
    background-color: #9b0000;
    border: solid thin #9b0000;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    -webkit-transform: skewX(-20deg);
    -ms-transform: skewX(-20deg);
    transform: skewX(-20deg)
}

.u-btn2>em {
    padding: 0 2rem;
    -webkit-transform: skewX(20deg);
    -ms-transform: skewX(20deg);
    transform: skewX(20deg)
}

.u-btn2>em::before {
    padding-right: 5px;
    font-family: "Font Awesome 5 Free", sans-serif;
    font-weight: 900;
    content: "\f105"
}

.u-btn2._tel>em::before {
    content: "\f095"
}

.u-btn2._mail>em::before {
    content: "\f0e0"
}

.u-btn2._cart>em::before {
    content: "\f07a"
}

.u-btn2._fax>em::before {
    content: "\f1ac"
}

.u-btn2._map>em::before {
    content: "\f3c5"
}

.u-btn2._user>em::before {
    content: "\f007"
}

.u-btn2._fit {
    width: 100%
}

.u-btn2::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    height: 100%;
    content: "";
    background-color: white
}

.u-btn2:hover {
    opacity: 1;
    color: white
}

.u-btn2:hover::after {
    -webkit-animation-name: rightslide;
    animation-name: rightslide;
    -webkit-animation-duration: 1000ms;
    animation-duration: 1000ms;
    -webkit-animation-play-state: running;
    animation-play-state: running;
    -webkit-animation-timing-function: cubic-bezier(0.83, 0, 0.17, 1);
    animation-timing-function: cubic-bezier(0.83, 0, 0.17, 1);
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-animation-direction: nomal;
    animation-direction: nomal;
    -webkit-animation-fill-mode: none;
    animation-fill-mode: none
}

@-webkit-keyframes rightslide {
    0% {
        width: 0
    }

    50% {
        width: 100%
    }

    100% {
        left: 100%
    }
}

@keyframes rightslide {
    0% {
        width: 0
    }

    50% {
        width: 100%
    }

    100% {
        left: 100%
    }
}

@media (max-width: 562px) {
    .u-btn2 {
        min-width: 0
    }
}

.u-btnEchars1 {
    display: inline-block;
    margin-top: -0.2em;
    font-family: "Josefin Sans", sans-serif;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    -webkit-transition: all 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: all 0.8s cubic-bezier(0.165, 0.84, 0.44, 1)
}

.u-btnEchars1::before {
    padding-right: 5px;
    font-family: "Font Awesome 5 Free", sans-serif;
    font-weight: 900
}

.u-btnEchars1._tel::before {
    content: "\f095"
}

.u-btnEchars1._mail::before {
    content: "\f0e0"
}

.u-btnEchars1._fax::before {
    content: "\f1ac"
}

.u-btnEchars1:hover {
    opacity: 0.5;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease
}

.u-btnAnchor {
    position: relative;
    display: block;
    width: 100%;
    height: 50px;
    color: white;
    background-color: #9b0000;
    border: solid thin #9b0000;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease
}

.u-btnAnchor>* {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    font-weight: bold;
    color: white;
    text-align: center;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

.u-btnAnchor:hover {
    opacity: 0.5;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease
}

.u-defList1>dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0.5rem;
    border-bottom: 1px solid #ccc
}

.u-defList1>dl>dt {
    width: 13rem;
    padding: 0 0.5rem;
    color: white;
    text-align: center;
    background-color: #9b0000;
    border-radius: 100px
}

.u-defList1>dl>dd {
    width: calc(100% - 13rem);
    padding: 0 0.5rem
}

.u-defList1._sm>dl {
    padding: 0.3rem
}

.u-defList1._sm>dl>dt {
    width: 8rem
}

.u-defList1._sm>dl>dd {
    width: calc(100% - 8rem)
}

.u-defList1._md>dl>dt {
    width: 12rem
}

.u-defList1._md>dl>dd {
    width: calc(100% - 12rem)
}

.u-defList1._lg>dl>dt {
    width: 15rem
}

.u-defList1._lg>dl>dd {
    width: calc(100% - 15rem)
}

.u-defList1._half>dl>dt {
    width: 50%
}

.u-defList1._half>dl>dd {
    width: 50%
}

@media (max-width: 576px) {
    .u-defList1>dl {
        display: block
    }

    .u-defList1>dl>dt {
        width: auto !important
    }

    .u-defList1>dl>dd {
        width: auto !important
    }
}

.u-defList2 {
    width: 100%;
    font-size: 0.9em
}

.u-defList2 * {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.u-defList2 dt {
    color: #777
}

.u-defList2 dt b {
    display: block;
    font-family: "Josefin Sans", sans-serif;
    letter-spacing: 0.1em
}

.u-defList2 dt b::before {
    display: inline;
    padding-left: 5px;
    font-family: "Font Awesome 5 Free", sans-serif;
    font-weight: 900;
    content: "\f101"
}

.u-defList2 dd {
    margin-bottom: 1em;
    line-height: 1.5;
    letter-spacing: 0.2em;
    border-bottom: solid thin #ccc
}

.u-defList2 dd>a {
    font-size: 13px
}

.u-defList3>dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 1rem 0.5rem;
    border-bottom: 1px solid #ccc
}

.u-defList3>dl>dt {
    width: 13rem;
    padding: 0 10px
}

.u-defList3>dl>dd {
    width: calc(100% - 13rem);
    padding: 0 10px
}

.u-defList3>dl:first-of-type {
    border-top: 1px solid #ccc
}

.u-defList3._sm>dl {
    padding: 0.5rem 0.3rem
}

.u-defList3._sm>dl>dt {
    width: 8rem;
    padding: 0 5px
}

.u-defList3._sm>dl>dd {
    width: calc(100% - 8rem);
    padding: 0 5px
}

.u-defList3._md>dl>dt {
    width: 12rem
}

.u-defList3._md>dl>dd {
    width: calc(100% - 12rem)
}

.u-defList3._lg>dl>dt {
    width: 15rem
}

.u-defList3._lg>dl>dd {
    width: calc(100% - 15rem)
}

.u-defList3._half>dl>dt {
    width: 50%
}

.u-defList3._half>dl>dd {
    width: 50%
}

.u-defList3._clock>dl>dt {
    font-family: "Josefin Sans", sans-serif;
    font-weight: 700
}

.u-defList3._clock>dl>dt::before {
    margin-right: 5px;
    font-family: "Font Awesome 5 Free", sans-serif;
    font-weight: 900;
    content: "\f017"
}

.u-defList3._angle>dl>dt::before {
    margin-right: 5px;
    font-family: "Font Awesome 5 Free", sans-serif;
    font-weight: 900;
    content: "\f105"
}

@media (max-width: 576px) {
    .u-defList3>dl {
        display: block
    }

    .u-defList3>dl>dt {
        width: auto !important
    }

    .u-defList3>dl>dd {
        width: auto !important
    }
}

.u-defList4 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: baseline;
    -ms-flex-pack: baseline;
    justify-content: baseline;
    width: 100%
}

.u-defList4 * {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.u-defList4 dt {
    width: 15em;
    padding: 10px 0;
    font-weight: 500;
    border-bottom: solid thin #ccc
}

.u-defList4 dt:first-child {
    border-top: solid thin #ccc
}

.u-defList4 dt:first-child+dd {
    border-top: solid thin #ccc
}

.u-defList4 dt b {
    display: block;
    text-align: center
}

.u-defList4 dd {
    width: calc(100% - 15em);
    padding: 10px 5px;
    font-weight: 500;
    border-bottom: solid thin #ccc
}

.u-defList4._sm>dt {
    width: 10rem
}

.u-defList4._sm>dd {
    width: calc(100% - 10rem)
}

.u-defList4._md>dt {
    width: 15rem
}

.u-defList4._md>dd {
    width: calc(100% - 15rem)
}

.u-defList4._lg>dt {
    width: 20rem
}

.u-defList4._lg>dd {
    width: calc(100% - 20rem)
}

.u-defList4._half>dt {
    width: 50%
}

.u-defList4._half>dd {
    width: 50%
}

@media (max-width: 992px) {
    .u-defList4 dt {
        width: 100% !important;
        padding-bottom: 5px;
        border-bottom: none
    }

    .u-defList4 dt:first-child+dd {
        border-top: none
    }

    .u-defList4 dd {
        width: 100% !important;
        padding-top: 5px
    }
}

.u-defList5 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%
}

.u-defList5 * {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.u-defList5 dt {
    width: 30%;
    padding: 15px 0;
    border-top: solid thin #555;
    border-right: solid thin #555
}

.u-defList5 dt:first-child {
    border-top: none
}

.u-defList5 dt:first-child+dd {
    border-top: none
}

.u-defList5 dt b {
    display: block;
    padding: 0 10px;
    text-align: center
}

.u-defList5 dd {
    width: 70%;
    padding: 15px 5px;
    text-align: center;
    border-top: solid thin #555
}

.u-defList6 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%
}

.u-defList6 * {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.u-defList6 dt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 65%;
    padding: 20px 0;
    border-right: solid thin #ddd;
    border-bottom: solid thin #ddd
}

.u-defList6 dt:first-child {
    border-top: solid thin #ddd
}

.u-defList6 dt:first-child+dd {
    border-top: solid thin #ddd
}

.u-defList6 dt b {
    display: block
}

.u-defList6 dd {
    width: 35%;
    padding: 20px 10px;
    border-bottom: solid thin #ccc
}

@media (max-width: 1100px) {
    .u-defList6 dt {
        width: 100%;
        padding-bottom: 2px;
        border-right: none;
        border-bottom: none
    }

    .u-defList6 dt:first-child+dd {
        border-top: none
    }

    .u-defList6 dd {
        width: 100%;
        padding-top: 2px
    }
}

.u-defList7>dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 1rem 0.5rem;
    border-top: 1px solid #ccc
}

.u-defList7>dl>dt {
    width: 13rem;
    padding: 0 10px
}

.u-defList7>dl>dd {
    width: calc(100% - 13rem);
    padding: 0 10px
}

.u-defList7>dl:last-child {
    border-bottom: 1px solid #ccc
}

.u-defList7._sm>dl>dt {
    width: 8rem;
    padding: 10px
}

.u-defList7._sm>dl>dd {
    width: calc(100% - 8rem);
    padding: 10px
}

.u-defList7._md>dl>dt {
    width: 12rem
}

.u-defList7._md>dl>dd {
    width: calc(100% - 12rem)
}

.u-defList7._lg>dl>dt {
    width: 15rem
}

.u-defList7._lg>dl>dd {
    width: calc(100% - 15rem)
}

.u-defList7._half>dl>dt {
    width: 50%
}

.u-defList7._half>dl>dd {
    width: 50%
}

@media (max-width: 576px) {
    .u-defList7>dl {
        display: block
    }

    .u-defList7>dl>dt {
        width: auto !important
    }

    .u-defList7>dl>dd {
        width: auto !important
    }
}

.u-note {
    font-size: 0.8em
}

.u-note>li {
    padding-left: 1em;
    line-height: 1.4;
    text-indent: -1em
}

.u-note>li::before {
    content: "※"
}

.u-listDesign1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    list-style-type: none
}

.u-listDesign1._col-1>li {
    width: 98%
}

.u-listDesign1._col-2>li {
    width: calc(48% - 1.6em)
}

.u-listDesign1._col-3>li {
    width: calc(31.3333333% - 1.6em)
}

.u-listDesign1._col-4>li {
    width: 23%
}

.u-listDesign1._col-5>li {
    width: calc(20% - 1.6em)
}

.u-listDesign1._col-6>li {
    width: calc(16.666666% - 1.6em)
}

.u-listDesign1>li {
    position: relative;
    padding: 0 0.3em 0.3em 1.3em;
    margin-right: 1.6em;
    margin-bottom: 1em;
    text-indent: -1.4em;
    border-bottom: dashed 1px #555
}

.u-listDesign1>li.w100 {
    width: 98%
}

.u-listDesign1>li::before {
    color: #9b0000;
    padding-right: 5px;
    font-family: "Font Awesome 5 Free", sans-serif;
    font-weight: 900;
    content: "\f00c"
}

.u-listDesign1._light li {
    border-bottom: dashed 1px #f8f9fa
}

.u-listDesign1._light li::before {
    color: #f8f9fa
}

@media (max-width: 992px) {
    .u-listDesign1._tcol-1>li {
        width: 98%
    }

    .u-listDesign1._tcol-2>li {
        width: 48%
    }

    .u-listDesign1._tcol-3>li {
        width: 31.3333333%
    }

    .u-listDesign1._tcol-4>li {
        width: 23%
    }

    .u-listDesign1._tcol-5>li {
        width: calc(20% - 1.6em)
    }

    .u-listDesign1._tcol-6>li {
        width: calc(16.666666% - 1.6em)
    }
}

@media (max-width: 576px) {

    .u-listDesign1._col-1>li,
    .u-listDesign1._col-2>li,
    .u-listDesign1._col-3>li,
    .u-listDesign1._col-4>li,
    .u-listDesign1._col-5>li,
    .u-listDesign1._col-6>li,
    .u-listDesign1._tcol-1>li,
    .u-listDesign1._tcol-2>li,
    .u-listDesign1._tcol-3>li,
    .u-listDesign1._tcol-4>li,
    .u-listDesign1._tcol-5>li,
    .u-listDesign1._tcol-6>li {
        width: 98%
    }

    .u-listDesign1._mcol-1>li {
        width: 98%
    }

    .u-listDesign1._mcol-2>li {
        width: 48%
    }

    .u-listDesign1._mcol-3>li {
        width: 31.3333333%
    }

    .u-listDesign1._mcol-4>li {
        width: 23%
    }
}

.u-listDesign2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: -0.5em;
    list-style-type: none
}

.u-listDesign2._light li {
    color: white
}

.u-listDesign2._light li::before {
    color: white
}

.u-listDesign2._col-1>li {
    width: calc(100% - 1.6em)
}

.u-listDesign2._col-2>li {
    width: calc(50% - 1.6em)
}

.u-listDesign2._col-3>li {
    width: calc(33.3333333% - 1.6em)
}

.u-listDesign2._col-4>li {
    width: calc(25% - 1.6em)
}

.u-listDesign2._col-5>li {
    width: calc(20% - 1.6em)
}

.u-listDesign2._col-6>li {
    width: calc(16.666666% - 1.6em)
}

.u-listDesign2 li {
    margin-bottom: 0.5em;
    margin-left: 1.6em;
    line-height: 1.4;
    text-indent: -1.4em
}

.u-listDesign2 li.w100 {
    width: calc(100% - 1.6em)
}

.u-listDesign2 li.w66 {
    width: calc(66.6666666% - 1.6em)
}

.u-listDesign2 li.w50 {
    width: calc(50% - 1.6em)
}

.u-listDesign2 li.w33 {
    width: calc(33.3333333% - 1.6em)
}

.u-listDesign2 li::before {
    padding-right: 5px;
    font-family: "Font Awesome 5 Free", sans-serif;
    font-weight: 900;
    color: #9b0000;
    content: "\f14a"
}

@media (max-width: 1100px) {
    .u-listDesign2._tcol-1>li {
        width: calc(100% - 1.6em)
    }

    .u-listDesign2._tcol-2>li {
        width: calc(50% - 1.6em)
    }

    .u-listDesign2._tcol-3>li {
        width: calc(33.3333333% - 1.6em)
    }

    .u-listDesign2._tcol-4>li {
        width: calc(25% - 1.6em)
    }

    .u-listDesign2._tcol-5>li {
        width: calc(20% - 1.6em)
    }

    .u-listDesign2._tcol-6>li {
        width: calc(16.666666% - 1.6em)
    }
}

@media (max-width: 576px) {

    .u-listDesign2._col-1>li,
    .u-listDesign2._col-2>li,
    .u-listDesign2._col-3>li,
    .u-listDesign2._col-4>li,
    .u-listDesign2._col-5>li,
    .u-listDesign2._col-6>li {
        width: calc(100% - 1.6em)
    }

    .u-listDesign2._tcol-1>li,
    .u-listDesign2._tcol-2>li,
    .u-listDesign2._tcol-3>li,
    .u-listDesign2._tcol-4>li,
    .u-listDesign2._tcol-5>li,
    .u-listDesign2._tcol-6>li {
        width: calc(100% - 1.6em)
    }

    .u-listDesign2._mcol-1>li {
        width: calc(100% - 1.6em)
    }

    .u-listDesign2._mcol-2>li {
        width: calc(50% - 1.6em)
    }

    .u-listDesign2._mcol-3>li {
        width: calc(33.3333333% - 1.6em)
    }
}

.u-listDesign3>li {
    display: inline-block
}

.u-listDesign3>li::after {
    padding-right: 0.2rem;
    padding-left: 0.5rem;
    font-family: "Font Awesome 5 Free", sans-serif;
    font-weight: 900;
    content: "\f0da"
}

.u-listDesign3>li:last-child::after {
    content: " "
}

.u-listDesign4 {
    list-style-type: decimal
}

.u-listDesign4>li {
    margin-bottom: 1em;
    margin-left: 2.5em
}

.u-listDesign4>li:last-child {
    margin-bottom: 0
}

.u-listDesign4>li>ul {
    padding-top: 1em;
    list-style-type: lower-roman
}

.u-listDesign4>li>ul>li {
    margin-bottom: 0.5em;
    margin-left: 2.5em
}

.u-listDesign4>li>ul>li:last-child {
    margin-bottom: 0
}

.u-listDesign5>* {
    display: inline-block;
    padding: 0 10px;
    margin: 5px;
    font-weight: 700;
    color: white;
    background-color: #198754;
    border-radius: 5px
}

.u-listDesign5>*::before {
    padding-right: 5px;
    font-family: "Font Awesome 5 Free", sans-serif;
    font-weight: 900;
    content: "\f0da"
}

.u-listDesign6 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 0 10px;
    font-size: 1.5em;
    line-height: 1.4
}

.u-listDesign6._col-1>li {
    width: calc(100% - 0.5em)
}

.u-listDesign6._col-2>li {
    width: calc(50% - 0.5em)
}

.u-listDesign6._col-3>li {
    width: calc(33.3333333% - 0.5em)
}

.u-listDesign6._col-4>li {
    width: calc(25% - 0.5em)
}

.u-listDesign6.jc-start {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start
}

.u-listDesign6.jc-center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.u-listDesign6.jc-end {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.u-listDesign6.jc-between {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.u-listDesign6.jc-around {
    -ms-flex-pack: distribute;
    justify-content: space-around
}

.u-listDesign6>li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0.5em;
    margin-right: 0.5em;
    margin-bottom: 0.5em;
    font-weight: 500;
    line-height: 1.3;
    color: #999;
    background: white;
    border-left: solid 6px #9b0000;
    -webkit-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.2) inset;
    box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.2) inset;
    -webkit-transform: skewX(-5deg);
    -ms-transform: skewX(-5deg);
    transform: skewX(-5deg)
}

.u-listDesign6>li>* {
    display: block;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    -webkit-transform: skewX(5deg);
    -ms-transform: skewX(5deg);
    transform: skewX(5deg)
}

.u-listDesign6>li>*>span {
    display: inline-block;
    font-size: 0.9rem;
    font-weight: normal;
    line-height: 1.2
}

@media (max-width: 1100px) {
    .u-listDesign6>li {
        font-size: 18px
    }
}

@media (max-width: 1200px) {
    .u-listDesign6._tcol-1>li {
        width: calc(100% - 0.5em)
    }

    .u-listDesign6._tcol-2>li {
        width: calc(50% - 0.5em)
    }

    .u-listDesign6._tcol-3>li {
        width: calc(33.3333333% - 0.5em)
    }

    .u-listDesign6._tcol-4>li {
        width: calc(25% - 0.5em)
    }
}

@media (max-width: 576px) {

    .u-listDesign6._col-1>li,
    .u-listDesign6._col-2>li,
    .u-listDesign6._col-3>li,
    .u-listDesign6._col-4>li,
    .u-listDesign6._tcol-1>li,
    .u-listDesign6._tcol-2>li,
    .u-listDesign6._tcol-3>li,
    .u-listDesign6._tcol-4>li {
        width: calc(100% - 0.5em)
    }

    .u-listDesign6._col-5>li,
    .u-listDesign6._col-6>li {
        width: calc(33.3333333% - 0.5em)
    }
}

.u-listDesign6-2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 0 10px;
    font-size: 1.5em;
    line-height: 1.4
}

.u-listDesign6-2._col-1>li {
    width: calc(100% - 0.5em)
}

.u-listDesign6-2._col-2>li {
    width: calc(50% - 0.5em)
}

.u-listDesign6-2._col-3>li {
    width: calc(33.3333333% - 0.5em)
}

.u-listDesign6-2._col-4>li {
    width: calc(25% - 0.5em)
}

.u-listDesign6-2.jc-start {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start
}

.u-listDesign6-2.jc-center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.u-listDesign6-2.jc-end {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.u-listDesign6-2.jc-between {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.u-listDesign6-2.jc-around {
    -ms-flex-pack: distribute;
    justify-content: space-around
}

.u-listDesign6-2>li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0.5em;
    margin-right: 0.5em;
    margin-bottom: 0.5em;
    font-weight: 500;
    line-height: 1.3;
    color: #999;
    background: white;
    border-left: solid 6px #464900;
    -webkit-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.2) inset;
    box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.2) inset;
    -webkit-transform: skewX(-5deg);
    -ms-transform: skewX(-5deg);
    transform: skewX(-5deg)
}

.u-listDesign6-2>li>* {
    display: block;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    -webkit-transform: skewX(5deg);
    -ms-transform: skewX(5deg);
    transform: skewX(5deg)
}

.u-listDesign6-2>li>*>span {
    display: inline-block;
    font-size: 0.9rem;
    font-weight: normal;
    line-height: 1.2
}

@media (max-width: 1100px) {
    .u-listDesign6-2>li {
        font-size: 18px
    }
}

@media (max-width: 1200px) {
    .u-listDesign6-2._tcol-1>li {
        width: calc(100% - 0.5em)
    }

    .u-listDesign6-2._tcol-2>li {
        width: calc(50% - 0.5em)
    }

    .u-listDesign6-2._tcol-3>li {
        width: calc(33.3333333% - 0.5em)
    }

    .u-listDesign6-2._tcol-4>li {
        width: calc(25% - 0.5em)
    }
}

@media (max-width: 576px) {

    .u-listDesign6-2._col-1>li,
    .u-listDesign6-2._col-2>li,
    .u-listDesign6-2._col-3>li,
    .u-listDesign6-2._col-4>li,
    .u-listDesign6-2._tcol-1>li,
    .u-listDesign6-2._tcol-2>li,
    .u-listDesign6-2._tcol-3>li,
    .u-listDesign6-2._tcol-4>li {
        width: calc(100% - 0.5em)
    }

    .u-listDesign6-2._col-5>li,
    .u-listDesign6-2._col-6>li {
        width: calc(33.3333333% - 0.5em)
    }
}

.u-listDesign7 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.u-listDesign7>li {
    display: inline-block;
    text-align: center
}

.u-orderedList0 {
    padding-left: 2em
}

.u-orderedList0 ol {
    padding-left: 2em
}

.u-orderedList0>li>ol {
    list-style-type: lower-latin
}

.u-orderedList0>li>ol>li>ol {
    list-style-type: upper-roman
}

.u-square {
    position: relative;
    overflow: hidden;
    border: solid 3px white
}

.u-square::before {
    display: block;
    padding-top: 100%;
    content: ""
}

.u-square>.inner {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    width: 100%;
    height: 100%;
    padding: 20px;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

.inline-text {
    display: block
}

.inline-text>span {
    margin-bottom: 0.5rem;
    line-height: 2
}

@media (max-width: 576px) {
    .inline-text>span {
        display: inline
    }
}

.tc01 {
    background-color: rgba(191, 127, 255, 0.5)
}

.tc02 {
    background-color: rgba(255, 191, 127, 0.5)
}

.tc03 {
    background-color: rgba(255, 127, 191, 0.5)
}

.tc04 {
    background-color: rgba(237, 214, 14, 0.5)
}

.u-orderedList1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    list-style-type: none !important;
    counter-reset: number
}

.u-orderedList1._col-1>li {
    width: 98%
}

.u-orderedList1._col-2>li {
    width: 48%
}

.u-orderedList1._col-3>li {
    width: 31.3333333%
}

.u-orderedList1._col-4>li {
    width: 23%
}

.u-orderedList1>li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-right: 2%;
    margin-bottom: 1em;
    font-size: calc(1.4 * 0.9em)
}

.u-orderedList1>li>b {
    width: calc(100% - calc(1.4 * 1em));
    min-width: 0;
    font-weight: 700;
    border-bottom: solid thin #ddd
}

.u-orderedList1>li::before {
    display: inline-block;
    width: calc(1.4 * 1em);
    height: calc(1.4 * 1em);
    padding: 0 0.3rem;
    margin-right: 0.2em;
    font-family: "Josefin Sans", sans-serif;
    font-size: calc(2.1 * 1em);
    font-weight: bold;
    line-height: calc(1.4 * 1em);
    color: white;
    text-align: center;
    letter-spacing: 0;
    content: counter(number);
    counter-increment: number;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22layer1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20300%20300%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%2378c323%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M292.5%2C149.5c0%2C39.35-22.717%2C77.446-57.826%2C80.543C227.446%2C266.185%2C189.35%2C292%2C150%2C292A142.5%2C142.5%2C0%2C0%2C1%2C7.5%2C149.5c0-26.5%2C12.391-40.272%2C37.174-53.7C40.543%2C37.978%2C97.8%2C7%2C150%2C7A142.5%2C142.5%2C0%2C0%2C1%2C292.5%2C149.5Z%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-size: contain
}

@media (max-width: 1100px) {

    .u-orderedList1._col-1>li,
    .u-orderedList1._col-2>li,
    .u-orderedList1._col-3>li,
    .u-orderedList1._col-4>li {
        width: 98%
    }

    .u-orderedList1._mcol-1>li {
        width: 98%
    }

    .u-orderedList1._mcol-2>li {
        width: 48%
    }

    .u-orderedList1._mcol-3>li {
        width: 31.3333333%
    }

    .u-orderedList1._mcol-4>li {
        width: 23%
    }

    .u-orderedList1>li {
        font-size: calc(1.4 * 1em)
    }

    .u-orderedList1>li>b {
        max-width: calc(100% - calc(1.4 * 0.7em))
    }

    .u-orderedList1>li::before {
        margin-right: 0.5%;
        font-size: calc(2.1 * 0.7em)
    }
}

.u-orderedList2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    list-style-type: none !important;
    counter-reset: number
}

.u-orderedList2._col-1>li {
    width: 98%
}

.u-orderedList2._col-2>li {
    width: 48%
}

.u-orderedList2._col-3>li {
    width: 31.3333333%
}

.u-orderedList2._col-4>li {
    width: 23%
}

.u-orderedList2>li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-bottom: 0.5em;
    margin-right: 2%;
    margin-bottom: 1em;
    font-size: calc(1 * 1em);
    border-bottom: 1px solid #ccc
}

.u-orderedList2>li>b {
    display: block;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    min-width: 0;
    font-weight: 700
}

.u-orderedList2>li::before {
    display: block;
    width: calc(1.8 * 1em);
    height: calc(1.8 * 1em);
    padding: 1px 0 0 3px;
    margin-right: 0.2em;
    font-family: "Josefin Sans", sans-serif;
    font-size: calc(1 * 1em);
    font-weight: bold;
    line-height: calc(1.8 * 1em);
    color: white;
    text-align: center;
    content: counter(number);
    counter-increment: number;
    background-color: #dc3545;
    border-radius: 50%
}

@media (max-width: 1100px) {
    .u-orderedList2._tcol-1>li {
        width: 98%
    }

    .u-orderedList2._tcol-2>li {
        width: 48%
    }

    .u-orderedList2._tcol-3>li {
        width: 31.3333333%
    }

    .u-orderedList2._tcol-4>li {
        width: 23%
    }
}

@media (max-width: 576px) {

    .u-orderedList2._col-1>li,
    .u-orderedList2._col-2>li,
    .u-orderedList2._col-3>li,
    .u-orderedList2._col-4>li,
    .u-orderedList2._tcol-1>li,
    .u-orderedList2._tcol-2>li,
    .u-orderedList2._tcol-3>li,
    .u-orderedList2._tcol-4>li {
        width: 98%
    }

    .u-orderedList2._mcol-1>li {
        width: 98%
    }

    .u-orderedList2._mcol-2>li {
        width: 48%
    }

    .u-orderedList2._mcol-3>li {
        width: 31.3333333%
    }

    .u-orderedList2._mcol-4>li {
        width: 23%
    }

    .u-orderedList2>li {
        font-size: calc(1 * 1em)
    }

    .u-orderedList2>li>b {
        max-width: calc(100% - calc(1 * 1em))
    }

    .u-orderedList2>li::before {
        margin-right: 0.5%;
        font-size: calc(1.5 * 1em)
    }
}

ol.u-orderedList3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    list-style-type: none !important;
    counter-reset: number
}

ol.u-orderedList3>li {
    width: calc(100% / 3);
    padding: 10px
}

ol.u-orderedList3>li>.inner {
    height: 100%;
    background-color: #eee
}

ol.u-orderedList3>li>.inner>.contents {
    padding: 10px
}

ol.u-orderedList3>li>.inner>.contents>.title {
    font-size: 1.2em;
    border-bottom: solid thin #bbb
}

ol.u-orderedList3>li>.inner>.contents>.title::before {
    display: block;
    font-family: "Josefin Sans", sans-serif;
    font-size: 0.8em;
    color: #764c29;
    content: "Step"counter(number) ">>";
    counter-increment: number
}

@media (max-width: 1100px) {
    ol.u-orderedList3>li {
        width: 100%
    }
}

.u-table1 {
    width: 100%;
    table-layout: fixed;
    border-spacing: 0;
    border-collapse: collapse
}

.u-table1 th {
    padding: 10px;
    font-weight: 900;
    color: white;
    text-align: center;
    background-color: #764c29;
    border: solid thin #ccc
}

.u-table1 td {
    padding: 10px;
    vertical-align: top;
    border: solid thin #ccc
}

.u-table1 tr:nth-child(odd) {
    background-color: #fbfbfb
}

.u-table1 tr:nth-child(even) {
    background-color: white
}

.u-table2 {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    border-top: solid 2px white
}

.u-table2 tr {
    border-bottom: solid 2px white
}

.u-table2 tr:last-child {
    border-top: solid 2px white
}

.u-table2 th {
    position: relative;
    padding: 10px 0;
    font-weight: 700;
    color: white;
    text-align: center;
    vertical-align: middle;
    background-color: #9b0000
}

.u-table2 th::after {
    position: absolute;
    top: calc(50% - 10px);
    right: -10px;
    display: block;
    width: 0;
    height: 0;
    content: "";
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 10px solid #9b0000
}

.u-table2 td {
    padding: 10px 20px;
    vertical-align: middle;
    background-color: #eee
}

.u-table3 {
    width: 100%;
    text-align: center;
    letter-spacing: 0;
    table-layout: fixed;
    border-spacing: 0;
    border-collapse: collapse
}

.u-table3 tr {
    border-top: solid thin #aaa;
    border-bottom: solid thin #aaa
}

.u-table3 th {
    padding: 0.5em 1em;
    font-weight: 400
}

.u-table3 td {
    padding: 0.5em 1em;
    vertical-align: middle
}

.u-table4 {
    width: 100%;
    text-align: center;
    letter-spacing: 0;
    table-layout: fixed;
    border-spacing: 0;
    border-collapse: collapse
}

.u-table4 tr {
    border-top: solid thin #aaa;
    border-bottom: solid thin #aaa
}

.u-table4 th {
    padding: 0.5em 1em;
    font-weight: 400
}

.u-table4 td {
    padding: 0.5em 1em;
    vertical-align: middle
}

@media (max-width: 1100px) {
    .u-table4 {
        font-size: 11px
    }
}

.calendar-cms {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%
}

.calendar-cms.jc-start {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start
}

.calendar-cms.jc-center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.calendar-cms.jc-end {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.calendar-cms>.calendar {
    padding: 10px
}

.calendar-cms>.calendar>.calendar_head::before {
    font-family: "Font Awesome 5 Free", sans-serif;
    font-weight: 900;
    content: "\f073"
}

.calendar-cms>.calendar>.calendar_body>table {
    width: 100%;
    text-align: center;
    letter-spacing: 0;
    table-layout: fixed;
    border-spacing: 0;
    border-collapse: collapse
}

.calendar-cms>.calendar>.calendar_body>table tr {
    border-top: solid thin #aaa;
    border-bottom: solid thin #aaa
}

.calendar-cms>.calendar>.calendar_body>table th {
    padding: 0.5em 1em;
    font-weight: 400;
    color: white;
    background-color: #555
}

.calendar-cms>.calendar>.calendar_body>table td {
    padding: 0.5em 1em;
    vertical-align: middle;
    background-color: white
}

.calendar-cms>.calendar>.calendar_body .off {
    background: #feecbd
}

.calendar-cms>.calendar>.calendar_body .yotei1 {
    background: #ffb6c1 !important
}

.calendar-cms>.calendar>.calendar_body .yotei2 {
    background: #94cad3 !important
}

.calendar-cms>.calendar>.calendar_body .yotei3 {
    background: #c38a4c !important
}

.calendar-cms._col-1>.calendar {
    width: 100%
}

.calendar-cms._col-2>.calendar {
    width: 50%
}

.calendar-cms._col-3>.calendar {
    width: 33.33333%
}

@media (max-width: 576px) {
    .calendar-cms._col-1>.calendar {
        width: 100%
    }

    .calendar-cms._col-2>.calendar {
        width: 100%
    }

    .calendar-cms._col-3>.calendar {
        width: 100%
    }
}

button#is-previous,
button#is-following {
    display: inline-block;
    cursor: pointer;
    background-color: transparent;
    border: none
}

.cal1 {
    color: #feecbd
}

.cal2 {
    color: #ffb6c1
}

.cal3 {
    color: #94cad3
}

.cal4 {
    color: #c38a4c
}

.u-tabledl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    border-top: solid thin #888
}

.u-tabledl>dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-right: solid thin #888;
    border-bottom: solid thin #888
}

.u-tabledl>dl>dt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 40%;
    padding: 10px;
    color: white;
    text-align: center;
    background: #764c29
}

.u-tabledl>dl>dt>b {
    display: inline-block
}

.u-tabledl>dl>dd {
    width: 60%;
    padding: 10px
}

.u-tabledl.col-1>dl {
    width: 100%
}

.u-tabledl.col-2>dl {
    width: 50%
}

.u-tabledl.col-3>dl {
    width: 33.33333%
}

.u-tabledl.col-4>dl {
    width: 25%
}

@media (max-width: 1100px) {
    .u-tabledl.col-1>dl {
        width: 100%
    }

    .u-tabledl.col-2>dl {
        width: 100%
    }

    .u-tabledl.col-3>dl {
        width: 100%
    }

    .u-tabledl.col-4>dl {
        width: 100%
    }
}

.u-contain {
    position: relative;
    display: block;
    width: 100%;
    margin: 0;
    overflow: hidden
}

.u-contain * {
    -webkit-transition: all 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: all 0.8s cubic-bezier(0.165, 0.84, 0.44, 1)
}

.u-contain::before {
    display: block;
    padding-top: 75%;
    content: ""
}

.u-contain._h50p::before {
    padding-top: 50%
}

.u-contain._h60p::before {
    padding-top: 60%
}

.u-contain._h75p::before {
    padding-top: 75%
}

.u-contain._h100p::before {
    padding-top: 100%
}

.u-contain._h133p::before {
    padding-top: 133.3333333%
}

.u-contain>.viewer {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    background-color: #eee;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain
}

.u-contain>.viewer>img {
    width: 100%;
    height: 100%;
    font-family: "object-fit: contain;";
    -o-object-fit: contain;
    object-fit: contain
}

.u-contain>a:hover {
    -webkit-transition: all 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: all 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1)
}

@media (max-width: 992px) {
    .u-contain._th50p::before {
        padding-top: 50%
    }

    .u-contain._th60p::before {
        padding-top: 60%
    }

    .u-contain._th75p::before {
        padding-top: 75%
    }

    .u-contain._th100p::before {
        padding-top: 100%
    }

    .u-contain._th115p::before {
        padding-top: 115%
    }

    .u-contain._th133p::before {
        padding-top: 133.3333333%
    }
}

@media (max-width: 576px) {
    .u-contain._mh50p::before {
        padding-top: 50%
    }

    .u-contain._mh60p::before {
        padding-top: 60%
    }

    .u-contain._mh75p::before {
        padding-top: 75%
    }

    .u-contain._mh100p::before {
        padding-top: 100%
    }

    .u-contain._mh115p::before {
        padding-top: 115%
    }

    .u-contain._mh133p::before {
        padding-top: 133.3333333%
    }
}

.u-cover {
    position: relative;
    display: block;
    width: 100%;
    margin: 0;
    overflow: hidden
}

.u-cover * {
    -webkit-transition: all 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: all 0.8s cubic-bezier(0.165, 0.84, 0.44, 1)
}

.u-cover::before {
    display: block;
    padding-top: 75%;
    content: ""
}

.u-cover._h50p::before {
    padding-top: 50%
}

.u-cover._h60p::before {
    padding-top: 60%
}

.u-cover._h75p::before {
    padding-top: 75%
}

.u-cover._h100p::before {
    padding-top: 100%
}

.u-cover._h115p::before {
    padding-top: 115%
}

.u-cover._h133p::before {
    padding-top: 133.3333333%
}

.u-cover>.viewer {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    background-image: url("data:image/svg+xml;charset=utf8,%3csvg width='38' height='38' viewBox='0 0 38 38' xmlns='http://www.w3.org/2000/svg' stroke='%23aaaaaa'%3e%3cg fill='none' fill-rule='evenodd'%3e%3cg transform='translate%281 1%29' stroke-width='0.5'%3e%3ccircle stroke-opacity='.5' cx='18' cy='18' r='4.9'/%3e%3cpath d='M22.9,18c0-2.7-2.2-4.9-4.9-4.9'%3e%3canimateTransform attributeName='transform' type='rotate' from='0 18 18' to='360 18 18' dur='1s' repeatCount='indefinite'/%3e%3c/path%3e%3c/g%3e%3c/g%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 15rem 15rem
}

.u-cover>.viewer>img {
    width: 100%;
    height: 100%;
    font-family: "object-fit: cover;";
    -o-object-fit: cover;
    object-fit: cover
}

.u-cover>a:hover {
    -webkit-transition: all 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: all 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1)
}

@media (max-width: 992px) {
    .u-cover._th50p::before {
        padding-top: 50%
    }

    .u-cover._th60p::before {
        padding-top: 60%
    }

    .u-cover._th75p::before {
        padding-top: 75%
    }

    .u-cover._th100p::before {
        padding-top: 100%
    }

    .u-cover._th115p::before {
        padding-top: 115%
    }

    .u-cover._th133p::before {
        padding-top: 133.3333333%
    }
}

@media (max-width: 576px) {
    .u-cover._mh50p::before {
        padding-top: 50%
    }

    .u-cover._mh60p::before {
        padding-top: 60%
    }

    .u-cover._mh75p::before {
        padding-top: 75%
    }

    .u-cover._mh100p::before {
        padding-top: 100%
    }

    .u-cover._mh115p::before {
        padding-top: 115%
    }

    .u-cover._mh133p::before {
        padding-top: 133.3333333%
    }
}

.u-timeline1 {
    list-style: none
}

.u-timeline1 * {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.u-timeline1>li {
    overflow: hidden
}

.u-timeline1>li>.u-tlineDate {
    float: left;
    width: 140px;
    padding-top: 25px;
    padding-right: 20px;
    font-size: 2rem;
    font-weight: bold;
    line-height: 2.4rem;
    color: #9b0000;
    text-align: right
}

.u-timeline1>li>.u-tlineContent {
    float: left;
    width: calc(100% - 140px);
    padding: 10px 30px;
    border-left: solid 3px #9b0000
}

.u-timeline1>li>.u-tlineContent>.u-tlineContent-inner {
    position: relative;
    padding: 20px;
    background-color: white;
    border-radius: 10px
}

.u-timeline1>li>.u-tlineContent>.u-tlineContent-inner>img {
    float: right;
    width: 30%;
    padding-left: 10px
}

.u-timeline1>li>.u-tlineContent>.u-tlineContent-inner>h3 {
    width: 70%;
    margin-bottom: 10px;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.8rem;
    border-bottom: solid thin black
}

.u-timeline1>li>.u-tlineContent>.u-tlineContent-inner>p {
    width: 70%
}

.u-timeline1>li>.u-tlineContent>.u-tlineContent-inner>.clearBoth {
    clear: both
}

.u-timeline1>li>.u-tlineContent>.u-tlineContent-inner::before {
    position: absolute;
    top: 26px;
    right: 100%;
    width: 0;
    height: 0;
    content: "";
    border: solid 10px transparent;
    border-right: solid 10px white
}

.u-timeline1>li>.u-tlineContent>.u-tlineContent-inner::after {
    position: absolute;
    top: 28px;
    right: calc(100% + 24px);
    width: 15px;
    height: 15px;
    content: "";
    background-color: #9b0000;
    border-radius: 100%
}

@media (max-width: 1100px) {
    .u-timeline1>li {
        overflow: hidden
    }

    .u-timeline1>li>.k-tlineDate {
        float: none;
        width: 95%;
        padding: 30px 0 0 33px;
        margin-left: 5%;
        text-align: left;
        border-left: solid 3px #9b0000
    }

    .u-timeline1>li>.k-tlineContent {
        float: none;
        width: 95%;
        margin-left: 5%
    }

    .u-timeline1>li>.k-tlineContent>.k-tlineContent-inner>img {
        float: none;
        width: 100%;
        padding: 0;
        margin-bottom: 20px
    }

    .u-timeline1>li>.k-tlineContent>.k-tlineContent-inner>h3 {
        width: 100%;
        font-size: 1.2em;
        line-height: 1.5rem
    }

    .u-timeline1>li>.k-tlineContent>.k-tlineContent-inner>p {
        width: 100%
    }
}

.u-timeline2 {
    list-style: none
}

.u-timeline2 * {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.u-timeline2>li {
    overflow: hidden
}

.u-timeline2>li>.u-tlineContent {
    float: left;
    width: 100%;
    padding: 0 30px
}

.u-timeline2>li>.u-tlineContent>.u-tlineContent-inner {
    position: relative;
    padding: 20px
}

.u-timeline2>li>.u-tlineContent>.u-tlineContent-inner>.u-tlineDate {
    font-weight: bold
}

.u-timeline2>li>.u-tlineContent>.u-tlineContent-inner>.u-tlineDate::before {
    margin-right: 0.3em;
    font-family: "Font Awesome 5 Free", sans-serif;
    font-weight: 400;
    content: "\f017"
}

.u-timeline2>li>.u-tlineContent>.u-tlineContent-inner>.u-tlineTitle {
    font-size: 1.2em;
    font-weight: 400;
    line-height: 1.2
}

.u-timeline2>li>.u-tlineContent>.u-tlineContent-inner::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 2px;
    height: 100%;
    content: "";
    background-color: #999
}

.u-timeline2>li>.u-tlineContent>.u-tlineContent-inner::after {
    position: absolute;
    top: 30px;
    left: -6px;
    width: 14px;
    height: 14px;
    content: "";
    background-color: #9b0000;
    border-radius: 100%
}

.u-timeline3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    line-height: 1.4
}

.u-timeline3 * {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.u-timeline3>dt {
    width: 8em;
    padding-top: 3.3em
}

.u-timeline3>dt>b {
    position: relative;
    display: block;
    padding-right: 0.5em;
    font-family: "Josefin Sans", sans-serif;
    font-size: 1.9em;
    font-weight: 700;
    color: #555;
    text-align: right
}

.u-timeline3>dd {
    width: calc(100% - 8em - 20px);
    padding: 2em 0 2em 20px;
    border-left: solid 2px #555
}

.u-timeline3>dd>.inner {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 10px;
    margin-left: 1em;
    background-color: white;
    border-left: solid 8px #9b0000;
    -webkit-box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.1);
    box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.1)
}

.u-timeline3>dd>.inner>.image {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    width: 25%
}

.u-timeline3>dd>.inner>.image img {
    width: 100%
}

.u-timeline3>dd>.inner>.container {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    width: 75%;
    padding: 10px
}

.u-timeline3>dd>.inner>.container>.title {
    margin-bottom: 0.5em;
    font-size: 1.5em;
    font-weight: 700;
    border-bottom: solid thin #555
}

.u-timeline3>dd>.inner::before {
    position: absolute;
    top: 1.7em;
    left: -30px;
    display: inline-block;
    content: "";
    border-color: transparent #9b0000 transparent transparent;
    border-style: solid;
    border-width: 15px
}

.u-timeline3>dd>.inner::after {
    position: absolute;
    top: 2.5em;
    left: -55px;
    display: inline-block;
    width: 15px;
    height: 15px;
    content: "";
    background-color: #9b0000;
    border-radius: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

@media (max-width: 992px) {
    .u-timeline3>dt {
        padding-top: 1em;
        padding-left: 2.5em;
        margin-left: 1em;
        border-left: solid 2px black
    }

    .u-timeline3>dd {
        width: calc(100% - 1em);
        padding-top: 0.5em;
        margin-left: 1em
    }

    .u-timeline3>dd>.inner>.image {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        width: 50%
    }

    .u-timeline3>dd>.inner>.container {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        width: 100%
    }

    .u-timeline3>dd>.inner::after {
        top: 2.6em;
        left: -54px
    }
}

@media (max-width: 576px) {
    .u-timeline3>dd>.inner>.image {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        width: 1000%
    }

    .u-timeline3>dd>.inner::after {
        top: 2.8em;
        left: -50px
    }
}

.u-timeline4 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    line-height: 1.4
}

.u-timeline4 * {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.u-timeline4>dt {
    width: 9em;
    padding-top: 1.5em;
    padding-right: 1.5em;
    text-align: right;
    letter-spacing: 0.1em
}

.u-timeline4>dt>b {
    position: relative;
    display: block;
    font-family: "Josefin Sans", sans-serif;
    font-size: 1.1em;
    font-weight: 900
}

.u-timeline4>dd {
    width: calc(100% - 9em);
    padding: 1.4em 0 0.5em 10px;
    border-left: solid 2px #9b0000
}

.u-timeline4>dd>.inner {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-left: 1em
}

.u-timeline4>dd>.inner>.container {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    width: 100%
}

.u-timeline4>dd>.inner>.container>.title {
    font-size: 1.1em;
    font-weight: 700;
    line-height: 1.6;
    border-bottom: solid thin #888
}

.u-timeline4>dd>.inner::after {
    position: absolute;
    top: 1em;
    left: -2.15em;
    display: inline-block;
    width: 15px;
    height: 15px;
    content: "";
    background-color: #9b0000;
    border-radius: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

@media (max-width: 1100px) {
    .u-timeline4>dt {
        width: 100%;
        padding-top: 1em;
        padding-left: 0.9em;
        margin-left: 1em;
        text-align: left;
        border-left: solid 2px #9b0000
    }

    .u-timeline4>dd {
        width: calc(100% - 1em);
        padding: 0;
        padding-bottom: 2em;
        margin-left: 1em
    }

    .u-timeline4>dd>.inner>.image {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        width: 100%
    }

    .u-timeline4>dd>.inner>.container {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        width: 100%
    }

    .u-timeline4>dd>.inner::after {
        top: -1.2em;
        left: -22px
    }
}

.u-timeline5>dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
}

.u-timeline5>dl>dt {
    text-align: center;
    width: 10rem;
    padding: 0.5rem;
    font-family: "Josefin Sans", sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1;
    color: white;
    letter-spacing: 0;
    background-image: url("data:image/svg+xml;charset=utf8,%3csvg id='arrow' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 25'%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:%239b0000;}%3c/style%3e%3c/defs%3e%3cpolygon class='cls-1' points='286.308 25 0 25 0 0 285.692 0 300 12.5 286.308 25'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: calc(100% - 0.5rem) 50%;
    background-size: auto 100%
}

.u-timeline5>dl>dt>b {
    display: inline-block;
    width: 100%
}

.u-timeline5>dl>dd {
    width: calc(100% - 10rem);
    padding: 0 1rem 3rem;
    border-left: solid 2px #555
}

@media (max-width: 1200px) {
    .u-timeline5>dl>dt {
        width: 10rem;
        font-size: 1.1rem
    }

    .u-timeline5>dl>dd {
        width: calc(100% - 10rem)
    }
}

@media (max-width: 576px) {
    .u-timeline5>dl {
        display: block;
        border-left: solid 2px #555
    }

    .u-timeline5>dl>dt {
        -webkit-transform: scale(-1, 1);
        -ms-transform: scale(-1, 1);
        transform: scale(-1, 1)
    }

    .u-timeline5>dl>dt>b {
        padding-left: 1.5rem;
        text-align: left;
        -webkit-transform: scale(-1, 1);
        -ms-transform: scale(-1, 1);
        transform: scale(-1, 1)
    }

    .u-timeline5>dl>dd {
        width: 100%;
        padding-top: 1rem;
        border-left: none
    }
}

.u-timeline6 {
    padding-left: 1rem
}

.u-timeline6>dl {
    display: block;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    min-height: 270px;
    padding-top: 2rem;
    border-left: solid 2px #555
}

.u-timeline6>dl>dt {
    width: 10rem;
    padding: 0.5rem 0.5rem 0.2rem;
    font-family: "Josefin Sans", sans-serif;
    font-size: 1.7rem;
    font-weight: 700;
    line-height: 1;
    color: white;
    background-image: url("data:image/svg+xml;charset=utf8,%3csvg id='arrow' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 25'%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:%239b0000;}%3c/style%3e%3c/defs%3e%3cpolygon class='cls-1' points='286.308 25 0 25 0 0 285.692 0 300 12.5 286.308 25'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: calc(100% - 0.5rem) 50%;
    background-size: auto 100%;
    -webkit-transform: scale(-1, 1);
    -ms-transform: scale(-1, 1);
    transform: scale(-1, 1)
}

.u-timeline6>dl>dt>b {
    display: inline-block;
    width: 100%;
    padding-left: 1.5rem;
    text-align: left;
    -webkit-transform: scale(-1, 1);
    -ms-transform: scale(-1, 1);
    transform: scale(-1, 1)
}

.u-timeline6>dl>dd {
    width: 100%;
    padding: 1rem;
    border-left: none
}

.u-timeline6._type1>dl>dt {
    background-image: url("data:image/svg+xml;charset=utf8,%3csvg id='arrow' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 25'%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:%23198754;}%3c/style%3e%3c/defs%3e%3cpolygon class='cls-1' points='286.308 25 0 25 0 0 285.692 0 300 12.5 286.308 25'/%3e%3c/svg%3e")
}

.u-timeline6._type2>dl>dt {
    background-image: url("data:image/svg+xml;charset=utf8,%3csvg id='arrow' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 25'%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:%23888888;}%3c/style%3e%3c/defs%3e%3cpolygon class='cls-1' points='286.308 25 0 25 0 0 285.692 0 300 12.5 286.308 25'/%3e%3c/svg%3e")
}

@media (max-width: 992px) {
    .u-timeline6>dl {
        min-height: 310px
    }
}

@media (max-width: 576px) {
    .u-timeline6>dl {
        min-height: 0
    }
}

.u-timelineCard1 {
    position: relative
}

.u-timelineCard1>.num {
    position: relative;
    z-index: 3;
    font-family: "Josefin Sans", sans-serif;
    font-size: 3em;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    opacity: 0.8;
    -webkit-transform: translateY(30%);
    -ms-transform: translateY(30%);
    transform: translateY(30%);
    color: #9b0000
}

.u-timelineCard1>.img {
    padding: 0 1rem 0.5rem;
    text-align: center
}

.u-timelineCard1>.title {
    padding: 0.5rem 1rem;
    font-size: 1.2em;
    font-weight: 700;
    line-height: 1.2;
    color: #9b0000
}

.u-timelineCard1>.text {
    padding: 0 1rem;
    font-size: 0.9em
}

.u-timelineCard1._light>.num {
    color: inherit;
    text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.5);
    opacity: 1
}

.u-timelineCard1._light>.title {
    color: inherit
}

.u-faq1>dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    padding: 15px 0;
    border-top: solid thin #aaa
}

.u-faq1>dl>dt,
.u-faq1>dl>dd {
    width: calc(100% - 90 * 1px);
    padding: 0 calc(10 * 1px);
    margin: calc(10 * 1px) 0;
    border-left: solid thin #aaa
}

.u-faq1>dl>dt {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    font-size: 1.5em;
    font-weight: 700;
    color: #999
}

.u-faq1>dl>dd {
    -webkit-box-ordinal-group: 5;
    -ms-flex-order: 4;
    order: 4
}

.u-faq1>dl:last-child {
    border-bottom: solid thin #aaa
}

.u-faq1>dl::before,
.u-faq1>dl::after {
    display: block;
    width: calc(90 * 1px);
    height: calc(32 * 1px);
    margin: 5px 0;
    content: "";
    background-repeat: no-repeat;
    background-position: left top;
    background-size: contain
}

.u-faq1>dl::before {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22icon%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20500%20200%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%230071bc%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M13.578%2C96.583a82.629%2C82.629%2C0%2C0%2C1%2C6.558-32.678A87.039%2C87.039%2C0%2C0%2C1%2C65.472%2C18.11%2C81.707%2C81.707%2C0%2C0%2C1%2C98.5%2C11.436a81.409%2C81.409%2C0%2C0%2C1%2C32.678%2C6.674%2C87.886%2C87.886%2C0%2C0%2C1%2C45.8%2C45.8%2C81.983%2C81.983%2C0%2C0%2C1%2C6.673%2C32.908%2C81.957%2C81.957%2C0%2C0%2C1-6.673%2C32.909%2C85.878%2C85.878%2C0%2C0%2C1-45.566%2C45.22A83.208%2C83.208%2C0%2C0%2C1%2C98.5%2C181.5%2C83.986%2C83.986%2C0%2C0%2C1%2C13.578%2C96.583Zm23.012.23a62.539%2C62.539%2C0%2C0%2C0%2C18.065%2C44.415%2C63.943%2C63.943%2C0%2C0%2C0%2C19.791%2C13.693%2C59.189%2C59.189%2C0%2C0%2C0%2C24.279%2C4.948A59.194%2C59.194%2C0%2C0%2C0%2C123%2C154.921%2C64.025%2C64.025%2C0%2C0%2C0%2C155.8%2C72.19a64.239%2C64.239%2C0%2C0%2C0-13.233-20.136%2C61.54%2C61.54%2C0%2C0%2C0-19.791-13.578A60.307%2C60.307%2C0%2C0%2C0%2C98.5%2C33.528a59.7%2C59.7%2C0%2C0%2C0-24.509%2C5.063A62.333%2C62.333%2C0%2C0%2C0%2C41.193%2C72.535%2C64.141%2C64.141%2C0%2C0%2C0%2C36.59%2C96.813Zm97.115%2C61.215h57.071V179.66H103.788Z%22%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M253.139%2C183.342q-13.349%2C0-21.747-7.94t-8.86-20.6V84.387h21.633v62.824a20.916%2C20.916%2C0%2C0%2C0%2C4.6%2C12.542q4.14%2C4.953%2C12.887%2C5.179a23.112%2C23.112%2C0%2C0%2C0%2C14.153-4.718%2C34.015%2C34.015%2C0%2C0%2C0%2C10.24-12.887%2C42.381%2C42.381%2C0%2C0%2C0%2C3.912-18.526V84.387h21.4V179.66H291.8l-1.842-23.473%2C1.381%2C4.372a37.547%2C37.547%2C0%2C0%2C1-8.514%2C11.622%2C40.563%2C40.563%2C0%2C0%2C1-13.232%2C8.169A45.156%2C45.156%2C0%2C0%2C1%2C253.139%2C183.342Z%22%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M392.6%2C181.961q-16.346%2C0-28.076-6.559a46.464%2C46.464%2C0%2C0%2C1-18.18-17.95%2C52.105%2C52.105%2C0%2C0%2C1-6.444-26.119%2C46.956%2C46.956%2C0%2C0%2C1%2C7.249-25.544%2C54.568%2C54.568%2C0%2C0%2C1%2C19.216-18.411%2C52.438%2C52.438%2C0%2C0%2C1%2C26.694-6.9q18.867%2C0%2C31.3%2C11.046T441.383%2C121.9l-78.7%2C27.616-5.063-12.657%2C64.2-23.7-4.371%2C3.222a31.1%2C31.1%2C0%2C0%2C0-9.2-13.118q-6.446-5.523-16.8-5.523a28.88%2C28.88%2C0%2C0%2C0-26.236%2C15.534%2C35.068%2C35.068%2C0%2C0%2C0-3.912%2C16.914%2C36.273%2C36.273%2C0%2C0%2C0%2C4.027%2C17.26A29.438%2C29.438%2C0%2C0%2C0%2C376.6%2C159.293a31.845%2C31.845%2C0%2C0%2C0%2C16.453%2C4.258%2C32.8%2C32.8%2C0%2C0%2C0%2C12.082-2.3%2C53.953%2C53.953%2C0%2C0%2C0%2C11.162-5.984l9.664%2C15.879a65.937%2C65.937%2C0%2C0%2C1-15.994%2C7.824A54.184%2C54.184%2C0%2C0%2C1%2C392.6%2C181.961Z%22%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M461.055%2C158.718a11.836%2C11.836%2C0%2C0%2C1%2C8.4-3.682q4.143%2C0%2C7.94%2C3.682a11.777%2C11.777%2C0%2C0%2C1%2C3.8%2C8.745%2C11.211%2C11.211%2C0%2C0%2C1-3.8%2C8.86%2C11.919%2C11.919%2C0%2C0%2C1-7.94%2C3.337%2C12.434%2C12.434%2C0%2C0%2C1-8.4-3.337%2C11.209%2C11.209%2C0%2C0%2C1-3.8-8.86A11.775%2C11.775%2C0%2C0%2C1%2C461.055%2C158.718Z%22%2F%3E%3C%2Fsvg%3E")
}

.u-faq1>dl::after {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22icon%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20500%20200%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3Ared%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M25.248%2C183.34%2C106.437%2C10.054h1.546L189.431%2C183.34h-28.61L99.994%2C45.033l17.784-10.356L49.991%2C183.34ZM72.93%2C120.285h69.333l8.248%2C19.331h-84.8Z%22%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M235.646%2C88.067l1.611%2C23.243-.69-3.682A35.333%2C35.333%2C0%2C0%2C1%2C251.3%2C90.713q10.356-6.326%2C24.164-6.328%2C13.344%2C0%2C21.977%2C7.94t8.86%2C20.6v70.42H284.664V120.285a19.511%2C19.511%2C0%2C0%2C0-4.487-12.542q-4.262-4.945-13.233-4.948a25.9%2C25.9%2C0%2C0%2C0-14.843%2C4.6%2C30.74%2C30.74%2C0%2C0%2C0-10.586%2C12.657%2C43.263%2C43.263%2C0%2C0%2C0-3.8%2C18.64V183.34H216.085V88.067Z%22%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M380.7%2C185.181a82.846%2C82.846%2C0%2C0%2C1-24.2-3.567%2C48.549%2C48.549%2C0%2C0%2C1-19.389-10.7l11.039-12.428a61.6%2C61.6%2C0%2C0%2C0%2C15.286%2C8.63%2C43.047%2C43.047%2C0%2C0%2C0%2C15.285%2C2.877%2C44.857%2C44.857%2C0%2C0%2C0%2C10.472-1.151%2C16.989%2C16.989%2C0%2C0%2C0%2C7.785-3.912%2C9.3%2C9.3%2C0%2C0%2C0%2C2.972-7.135%2C9.394%2C9.394%2C0%2C0%2C0-4.1-8.168%2C35.583%2C35.583%2C0%2C0%2C0-10.332-4.718q-6.231-1.841-13.587-3.452-14.436-3.911-22.078-10.816a21.8%2C21.8%2C0%2C0%2C1-7.643-16.8%2C23.924%2C23.924%2C0%2C0%2C1%2C4.67-14.152q4.671-6.559%2C14.012-10.816t22.644-4.258a89.71%2C89.71%2C0%2C0%2C1%2C21.8%2C2.417A56.791%2C56.791%2C0%2C0%2C1%2C423.439%2C95.2l-10.472%2C13.347a33.96%2C33.96%2C0%2C0%2C0-12.031-6.558A42.343%2C42.343%2C0%2C0%2C0%2C388.341%2C99.8a34.175%2C34.175%2C0%2C0%2C0-9.483%2C1.266%2C17.783%2C17.783%2C0%2C0%2C0-7.077%2C3.683%2C7.839%2C7.839%2C0%2C0%2C0-2.688%2C6.1%2C8.3%2C8.3%2C0%2C0%2C0%2C3.821%2C7.709%2C35.323%2C35.323%2C0%2C0%2C0%2C10.331%2C4.718q6.224%2C1.843%2C12.738%2C3.682a70.513%2C70.513%2C0%2C0%2C1%2C15.286%2C5.523%2C33.057%2C33.057%2C0%2C0%2C1%2C10.9%2C8.515%2C19.465%2C19.465%2C0%2C0%2C1%2C4.1%2C12.657%2C27.393%2C27.393%2C0%2C0%2C1-4.954%2C15.764q-4.954%2C7.25-15%2C11.5T380.7%2C185.181Z%22%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M451.761%2C162.4a11.833%2C11.833%2C0%2C0%2C1%2C8.4-3.682q4.142%2C0%2C7.94%2C3.682a11.777%2C11.777%2C0%2C0%2C1%2C3.8%2C8.745%2C11.21%2C11.21%2C0%2C0%2C1-3.8%2C8.86%2C11.918%2C11.918%2C0%2C0%2C1-7.94%2C3.337%2C12.426%2C12.426%2C0%2C0%2C1-8.4-3.337%2C11.207%2C11.207%2C0%2C0%2C1-3.8-8.86A11.775%2C11.775%2C0%2C0%2C1%2C451.761%2C162.4Z%22%2F%3E%3C%2Fsvg%3E%0A")
}

@media (max-width: 1100px) {
    .u-faq1>dl {
        padding: 20px 0
    }

    .u-faq1>dl>dt,
    .u-faq1>dl>dd {
        width: calc(100% - 25px);
        padding-top: 0;
        padding-right: 0;
        margin-top: 0;
        margin-left: auto
    }
}

.u-textOverflow {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.u-bgGrid {
    width: 100%;
    background-image: linear-gradient(#ddd 1px, transparent 0), linear-gradient(90deg, #ddd 1px, transparent 0);
    background-size: 20px 20px
}

.u-border {
    border: solid thin #ddd
}

.u-border2 {
    display: inline-block;
    padding: 0 1em;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.1;
    background-color: #eee;
    border: solid thin #9b0000
}

.u-vscroll {
    overflow-y: auto
}

.u-vscroll::-webkit-scrollbar {
    width: 3px;
    height: 3px
}

.u-vscroll::-webkit-scrollbar-track {
    background-color: #eee
}

.u-vscroll::-webkit-scrollbar-thumb {
    background-color: #9b0000
}

@media (min-width: 768px) {
    .u-vscroll._mh {
        min-height: 200px
    }
}

.u-vscroll._h50>* {
    max-height: calc(50 * 1px)
}

.u-vscroll._h100>* {
    max-height: calc(100 * 1px)
}

.u-vscroll._h150>* {
    max-height: calc(150 * 1px)
}

.u-vscroll._h200>* {
    max-height: calc(200 * 1px)
}

.u-vscroll._h250>* {
    max-height: calc(250 * 1px)
}

.u-vscroll._h300>* {
    max-height: calc(300 * 1px)
}

.u-vscroll._h350>* {
    max-height: calc(350 * 1px)
}

.u-vscroll._h400>* {
    max-height: calc(400 * 1px)
}

.u-vscroll._h450>* {
    max-height: calc(450 * 1px)
}

.u-vscroll._h500>* {
    max-height: calc(500 * 1px)
}

.u-vscroll._h550>* {
    max-height: calc(550 * 1px)
}

.u-vscroll._h600>* {
    max-height: calc(600 * 1px)
}

.u-vscroll._h650>* {
    max-height: calc(650 * 1px)
}

.u-vscroll._h700>* {
    max-height: calc(700 * 1px)
}

.u-vscroll._h750>* {
    max-height: calc(750 * 1px)
}

.u-vscroll._h800>* {
    max-height: calc(800 * 1px)
}

.u-vscroll._h850>* {
    max-height: calc(850 * 1px)
}

.u-vscroll._h900>* {
    max-height: calc(900 * 1px)
}

.u-vscroll._h950>* {
    max-height: calc(950 * 1px)
}

.u-vscroll._h1000>* {
    max-height: calc(1000 * 1px)
}

.u-vscroll._h1050>* {
    max-height: calc(1050 * 1px)
}

.u-vscroll._h1100>* {
    max-height: calc(1100 * 1px)
}

.u-vscroll._h1150>* {
    max-height: calc(1150 * 1px)
}

.u-vscroll._h1200>* {
    max-height: calc(1200 * 1px)
}

.u-vscroll._h1250>* {
    max-height: calc(1250 * 1px)
}

.u-vscroll._h1300>* {
    max-height: calc(1300 * 1px)
}

.u-vscroll._h1350>* {
    max-height: calc(1350 * 1px)
}

.u-vscroll._h1400>* {
    max-height: calc(1400 * 1px)
}

.u-vscroll._h1450>* {
    max-height: calc(1450 * 1px)
}

.u-vscroll._h1500>* {
    max-height: calc(1500 * 1px)
}

.u-vscroll._h1550>* {
    max-height: calc(1550 * 1px)
}

.u-vscroll._h1600>* {
    max-height: calc(1600 * 1px)
}

.u-vscroll._h1650>* {
    max-height: calc(1650 * 1px)
}

.u-vscroll._h1700>* {
    max-height: calc(1700 * 1px)
}

.u-vscroll._h1750>* {
    max-height: calc(1750 * 1px)
}

.u-vscroll._h1800>* {
    max-height: calc(1800 * 1px)
}

.u-vscroll._h1850>* {
    max-height: calc(1850 * 1px)
}

.u-vscroll._h1900>* {
    max-height: calc(1900 * 1px)
}

.u-vscroll._h1950>* {
    max-height: calc(1950 * 1px)
}

.u-hscroll {
    overflow-x: auto
}

.u-hscroll._w50>* {
    min-width: calc(50 * 1px)
}

.u-hscroll._w100>* {
    min-width: calc(100 * 1px)
}

.u-hscroll._w150>* {
    min-width: calc(150 * 1px)
}

.u-hscroll._w200>* {
    min-width: calc(200 * 1px)
}

.u-hscroll._w250>* {
    min-width: calc(250 * 1px)
}

.u-hscroll._w300>* {
    min-width: calc(300 * 1px)
}

.u-hscroll._w350>* {
    min-width: calc(350 * 1px)
}

.u-hscroll._w400>* {
    min-width: calc(400 * 1px)
}

.u-hscroll._w450>* {
    min-width: calc(450 * 1px)
}

.u-hscroll._w500>* {
    min-width: calc(500 * 1px)
}

.u-hscroll._w550>* {
    min-width: calc(550 * 1px)
}

.u-hscroll._w600>* {
    min-width: calc(600 * 1px)
}

.u-hscroll._w650>* {
    min-width: calc(650 * 1px)
}

.u-hscroll._w700>* {
    min-width: calc(700 * 1px)
}

.u-hscroll._w750>* {
    min-width: calc(750 * 1px)
}

.u-hscroll._w800>* {
    min-width: calc(800 * 1px)
}

.u-hscroll._w850>* {
    min-width: calc(850 * 1px)
}

.u-hscroll._w900>* {
    min-width: calc(900 * 1px)
}

.u-hscroll._w950>* {
    min-width: calc(950 * 1px)
}

.u-hscroll._w1000>* {
    min-width: calc(1000 * 1px)
}

.u-hscroll._w1050>* {
    min-width: calc(1050 * 1px)
}

.u-hscroll._w1100>* {
    min-width: calc(1100 * 1px)
}

.u-hscroll._w1150>* {
    min-width: calc(1150 * 1px)
}

.u-hscroll._w1200>* {
    min-width: calc(1200 * 1px)
}

.u-hscroll._w1250>* {
    min-width: calc(1250 * 1px)
}

.u-hscroll._w1300>* {
    min-width: calc(1300 * 1px)
}

.u-hscroll._w1350>* {
    min-width: calc(1350 * 1px)
}

.u-hscroll._w1400>* {
    min-width: calc(1400 * 1px)
}

.u-hscroll._w1450>* {
    min-width: calc(1450 * 1px)
}

.u-hscroll._w1500>* {
    min-width: calc(1500 * 1px)
}

.u-hscroll._w1550>* {
    min-width: calc(1550 * 1px)
}

.u-hscroll._w1600>* {
    min-width: calc(1600 * 1px)
}

.u-hscroll._w1650>* {
    min-width: calc(1650 * 1px)
}

.u-hscroll._w1700>* {
    min-width: calc(1700 * 1px)
}

.u-hscroll._w1750>* {
    min-width: calc(1750 * 1px)
}

.u-hscroll._w1800>* {
    min-width: calc(1800 * 1px)
}

.u-hscroll._w1850>* {
    min-width: calc(1850 * 1px)
}

.u-hscroll._w1900>* {
    min-width: calc(1900 * 1px)
}

.u-hscroll._w1950>* {
    min-width: calc(1950 * 1px)
}

.u-imgFrame {
    border: 3px solid white;
    -webkit-box-shadow: rgba(0, 0, 0, 0.3) 1px 1px 3px 2px;
    box-shadow: rgba(0, 0, 0, 0.3) 1px 1px 3px 2px
}

.u-textLink {
    display: inline-block;
    font-weight: 700;
    text-decoration: underline
}

.u-textLink::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    text-decoration: none;
    content: "\f138"
}

.u-textLink:hover {
    text-decoration: none
}

.u-marker {
    display: inline;
    font-weight: bold;
    line-height: 1.2;
    color: #555;
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(70%, #ffedcc));
    background-image: linear-gradient(transparent 70%, #ffedcc 70%)
}

.text-wrap {
    position: relative;
    margin-right: 2rem;
    margin-bottom: 2rem
}

.text-wrap .inner {
    position: relative;
    z-index: 2;
    padding: 20px;
    background-color: white;
    border: solid 3px #26b7e1
}

.text-wrap::after {
    position: absolute;
    right: -2rem;
    right: -15px;
    bottom: -2rem;
    bottom: -15px;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    background-image: radial-gradient(circle, #26b7e1 20%, rgba(0, 0, 0, 0) 10%), radial-gradient(circle, #26b7e1 20%, rgba(0, 0, 0, 0) 10%);
    background-position: 0 0, 4px 4px;
    background-size: 8px 8px
}

.u-center {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    height: 100%
}

.u-center>* {
    width: 100%
}

.u-center._h {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.u-center._v {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.u-center>.inner {
    width: 700px;
    max-width: 100%
}

.u-round {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 50%
}

.u-round>.inner {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    display: block;
    width: 100%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

.u-round>img {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    width: 100%;
    height: 100%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -o-object-fit: cover;
    object-fit: cover
}

.u-round>._hover {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    -webkit-transition: all 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: all 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

.u-round::after {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    background-image: radial-gradient(#764c29, #c8b7a9);
    background-position: left top;
    background-size: 200% 200%;
    -webkit-transition: all 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: all 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

.u-round::before {
    display: block;
    padding-top: 100%;
    content: ""
}

.u-round:hover>._hover {
    -webkit-transform: translate(-50%, -50%) scale(1.2);
    -ms-transform: translate(-50%, -50%) scale(1.2);
    transform: translate(-50%, -50%) scale(1.2)
}

.u-round:hover::after {
    -webkit-animation-name: animation;
    animation-name: animation;
    -webkit-animation-duration: 10s;
    animation-duration: 10s;
    -webkit-animation-play-state: running;
    animation-play-state: running;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-direction: normal;
    animation-direction: normal;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards
}

@-webkit-keyframes animation {
    0% {
        background-position: left top;
        -webkit-transform: translate(-50%, -50%) rotate(0);
        transform: translate(-50%, -50%) rotate(0)
    }

    25% {
        background-position: right top
    }

    50% {
        background-position: right bottom
    }

    75% {
        background-position: left bottom
    }

    100% {
        background-position: left top;
        -webkit-transform: translate(-50%, -50%) rotate(1turn);
        transform: translate(-50%, -50%) rotate(1turn)
    }
}

@keyframes animation {
    0% {
        background-position: left top;
        -webkit-transform: translate(-50%, -50%) rotate(0);
        transform: translate(-50%, -50%) rotate(0)
    }

    25% {
        background-position: right top
    }

    50% {
        background-position: right bottom
    }

    75% {
        background-position: left bottom
    }

    100% {
        background-position: left top;
        -webkit-transform: translate(-50%, -50%) rotate(1turn);
        transform: translate(-50%, -50%) rotate(1turn)
    }
}

.u-rectangle {
    position: relative;
    overflow: hidden
}

.u-rectangle::before {
    content: "";
    display: block;
    padding-top: 100%
}

.u-rectangle._right {
    -webkit-clip-path: polygon(0 0, 100% 20%, 100% 100%, 0 80%);
    clip-path: polygon(0 0, 100% 20%, 100% 100%, 0 80%)
}

.u-rectangle._right::before {
    padding-top: 150%
}

.u-rectangle._left {
    -webkit-clip-path: polygon(0 20%, 100% 0, 100% 80%, 0 100%);
    clip-path: polygon(0 20%, 100% 0, 100% 80%, 0 100%)
}

.u-rectangle._left::before {
    padding-top: 150%
}

.u-rectangle>img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.u-bgiCover {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover
}

.u-bgiCover._blend {
    background-color: rgba(255, 255, 255, 0.8);
    background-blend-mode: lighten
}

.u-bgiContain {
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain
}

.u-bgiLeft {
    background-repeat: no-repeat;
    background-position: left 50px bottom 50px;
    background-size: 350px auto
}

.u-bgiRight {
    background-repeat: no-repeat;
    background-position: right 50px bottom 50px;
    background-size: 350px auto
}

.u-bgiBoth {
    background-image: url("../img/illust_1.svg"), url("../img/illust_2.svg");
    background-repeat: no-repeat, no-repeat;
    background-position: left 50px top 50px, right 50px bottom 50px;
    background-size: 350px auto, 350px auto
}

.u-bgiRepeat {
    background-repeat: repeat;
    background-attachment: fixed;
    background-position: center;
    background-size: 200px auto
}

@media (max-width: 992px) {
    .u-bgiRepeat {
        background-attachment: scroll;
        background-size: 100px auto
    }
}

.u-bgifit {
    background-repeat: no-repeat;
    background-position: center top 300px;
    background-size: 100%;
    background-color: #fff
}

.u-bgiAttachment {
    background-attachment: fixed;
    background-size: cover
}

@media screen and (max-width: 1030px) {
    .u-bgiAttachment {
        background-attachment: scroll
    }
}

.u-ofc {
    position: relative;
    overflow: hidden
}

.u-ofc .bg {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    -o-object-fit: cover;
    object-fit: cover
}

.u-bdrad {
    overflow: hidden;
    border-radius: 20px
}

.u-bdrad._left {
    border-radius: 20px 0 0 20px
}

.u-bdrad._right {
    border-radius: 0 20px 20px 0
}

@media (max-width: 1100px) {
    .u-bdrad {
        border-radius: 10px !important
    }
}

.u-ofcover {
    width: 100%;
    height: 100%;
    font-family: "object-fit: cover;";
    -o-object-fit: cover;
    object-fit: cover
}

.u-ofcontain {
    width: 100%;
    height: 100%;
    font-family: "object-fit: contain;";
    -o-object-fit: contain;
    object-fit: contain
}

.u-height._h50 {
    height: 50px
}

.u-height._h100 {
    height: 100px
}

.u-height._h150 {
    height: 150px
}

.u-height._h200 {
    height: 200px
}

.u-height._h250 {
    height: 250px
}

.u-height._h300 {
    height: 300px
}

.u-height._h350 {
    height: 350px
}

.u-height._h400 {
    height: 400px
}

.u-height._h450 {
    height: 450px
}

.u-height._h500 {
    height: 500px
}

.u-height._h550 {
    height: 550px
}

.u-height._h600 {
    height: 600px
}

.u-height._h650 {
    height: 650px
}

.u-height._h700 {
    height: 700px
}

.u-height._h750 {
    height: 750px
}

.u-height._h800 {
    height: 800px
}

.u-height._h850 {
    height: 850px
}

.u-height._h900 {
    height: 900px
}

.u-height._h950 {
    height: 950px
}

.u-height._h1000 {
    height: 1000px
}

.u-height._h1050 {
    height: 1050px
}

.u-height._h1100 {
    height: 1100px
}

.u-height._h1150 {
    height: 1150px
}

.u-height._h1200 {
    height: 1200px
}

.u-height._h1250 {
    height: 1250px
}

.u-height._h1300 {
    height: 1300px
}

.u-height._h1350 {
    height: 1350px
}

.u-height._h1400 {
    height: 1400px
}

.u-height._h1450 {
    height: 1450px
}

.u-height._h1500 {
    height: 1500px
}

.u-height._h1550 {
    height: 1550px
}

.u-height._h1600 {
    height: 1600px
}

.u-height._h1650 {
    height: 1650px
}

.u-height._h1700 {
    height: 1700px
}

.u-height._h1750 {
    height: 1750px
}

.u-height._h1800 {
    height: 1800px
}

.u-height._h1850 {
    height: 1850px
}

.u-height._h1900 {
    height: 1900px
}

.u-height._h1950 {
    height: 1950px
}

.u-height._h2000 {
    height: 2000px
}

@media (max-width: 1100px) {
    .u-height._th50 {
        height: 50px
    }

    .u-height._th100 {
        height: 100px
    }

    .u-height._th150 {
        height: 150px
    }

    .u-height._th200 {
        height: 200px
    }

    .u-height._th250 {
        height: 250px
    }

    .u-height._th300 {
        height: 300px
    }

    .u-height._th350 {
        height: 350px
    }

    .u-height._th400 {
        height: 400px
    }

    .u-height._th450 {
        height: 450px
    }

    .u-height._th500 {
        height: 500px
    }

    .u-height._th550 {
        height: 550px
    }

    .u-height._th600 {
        height: 600px
    }

    .u-height._th650 {
        height: 650px
    }

    .u-height._th700 {
        height: 700px
    }

    .u-height._th750 {
        height: 750px
    }

    .u-height._th800 {
        height: 800px
    }

    .u-height._th850 {
        height: 850px
    }

    .u-height._th900 {
        height: 900px
    }

    .u-height._th950 {
        height: 950px
    }

    .u-height._th1000 {
        height: 1000px
    }

    .u-height._th1050 {
        height: 1050px
    }

    .u-height._th1100 {
        height: 1100px
    }

    .u-height._th1150 {
        height: 1150px
    }

    .u-height._th1200 {
        height: 1200px
    }

    .u-height._th1250 {
        height: 1250px
    }

    .u-height._th1300 {
        height: 1300px
    }

    .u-height._th1350 {
        height: 1350px
    }

    .u-height._th1400 {
        height: 1400px
    }

    .u-height._th1450 {
        height: 1450px
    }

    .u-height._th1500 {
        height: 1500px
    }

    .u-height._th1550 {
        height: 1550px
    }

    .u-height._th1600 {
        height: 1600px
    }

    .u-height._th1650 {
        height: 1650px
    }

    .u-height._th1700 {
        height: 1700px
    }

    .u-height._th1750 {
        height: 1750px
    }

    .u-height._th1800 {
        height: 1800px
    }

    .u-height._th1850 {
        height: 1850px
    }

    .u-height._th1900 {
        height: 1900px
    }

    .u-height._th1950 {
        height: 1950px
    }

    .u-height._th2000 {
        height: 2000px
    }
}

@media (max-width: 576px) {
    .u-height._h50 {
        height: auto
    }

    .u-height._th50 {
        height: auto
    }

    .u-height._h100 {
        height: auto
    }

    .u-height._th100 {
        height: auto
    }

    .u-height._h150 {
        height: auto
    }

    .u-height._th150 {
        height: auto
    }

    .u-height._h200 {
        height: auto
    }

    .u-height._th200 {
        height: auto
    }

    .u-height._h250 {
        height: auto
    }

    .u-height._th250 {
        height: auto
    }

    .u-height._h300 {
        height: auto
    }

    .u-height._th300 {
        height: auto
    }

    .u-height._h350 {
        height: auto
    }

    .u-height._th350 {
        height: auto
    }

    .u-height._h400 {
        height: auto
    }

    .u-height._th400 {
        height: auto
    }

    .u-height._h450 {
        height: auto
    }

    .u-height._th450 {
        height: auto
    }

    .u-height._h500 {
        height: auto
    }

    .u-height._th500 {
        height: auto
    }

    .u-height._h550 {
        height: auto
    }

    .u-height._th550 {
        height: auto
    }

    .u-height._h600 {
        height: auto
    }

    .u-height._th600 {
        height: auto
    }

    .u-height._h650 {
        height: auto
    }

    .u-height._th650 {
        height: auto
    }

    .u-height._h700 {
        height: auto
    }

    .u-height._th700 {
        height: auto
    }

    .u-height._h750 {
        height: auto
    }

    .u-height._th750 {
        height: auto
    }

    .u-height._h800 {
        height: auto
    }

    .u-height._th800 {
        height: auto
    }

    .u-height._h850 {
        height: auto
    }

    .u-height._th850 {
        height: auto
    }

    .u-height._h900 {
        height: auto
    }

    .u-height._th900 {
        height: auto
    }

    .u-height._h950 {
        height: auto
    }

    .u-height._th950 {
        height: auto
    }

    .u-height._h1000 {
        height: auto
    }

    .u-height._th1000 {
        height: auto
    }

    .u-height._h1050 {
        height: auto
    }

    .u-height._th1050 {
        height: auto
    }

    .u-height._h1100 {
        height: auto
    }

    .u-height._th1100 {
        height: auto
    }

    .u-height._h1150 {
        height: auto
    }

    .u-height._th1150 {
        height: auto
    }

    .u-height._h1200 {
        height: auto
    }

    .u-height._th1200 {
        height: auto
    }

    .u-height._h1250 {
        height: auto
    }

    .u-height._th1250 {
        height: auto
    }

    .u-height._h1300 {
        height: auto
    }

    .u-height._th1300 {
        height: auto
    }

    .u-height._h1350 {
        height: auto
    }

    .u-height._th1350 {
        height: auto
    }

    .u-height._h1400 {
        height: auto
    }

    .u-height._th1400 {
        height: auto
    }

    .u-height._h1450 {
        height: auto
    }

    .u-height._th1450 {
        height: auto
    }

    .u-height._h1500 {
        height: auto
    }

    .u-height._th1500 {
        height: auto
    }

    .u-height._h1550 {
        height: auto
    }

    .u-height._th1550 {
        height: auto
    }

    .u-height._h1600 {
        height: auto
    }

    .u-height._th1600 {
        height: auto
    }

    .u-height._h1650 {
        height: auto
    }

    .u-height._th1650 {
        height: auto
    }

    .u-height._h1700 {
        height: auto
    }

    .u-height._th1700 {
        height: auto
    }

    .u-height._h1750 {
        height: auto
    }

    .u-height._th1750 {
        height: auto
    }

    .u-height._h1800 {
        height: auto
    }

    .u-height._th1800 {
        height: auto
    }

    .u-height._h1850 {
        height: auto
    }

    .u-height._th1850 {
        height: auto
    }

    .u-height._h1900 {
        height: auto
    }

    .u-height._th1900 {
        height: auto
    }

    .u-height._h1950 {
        height: auto
    }

    .u-height._th1950 {
        height: auto
    }

    .u-height._h2000 {
        height: auto
    }

    .u-height._th2000 {
        height: auto
    }

    .u-height._mh50 {
        height: 50px
    }

    .u-height._mh100 {
        height: 100px
    }

    .u-height._mh150 {
        height: 150px
    }

    .u-height._mh200 {
        height: 200px
    }

    .u-height._mh250 {
        height: 250px
    }

    .u-height._mh300 {
        height: 300px
    }

    .u-height._mh350 {
        height: 350px
    }

    .u-height._mh400 {
        height: 400px
    }

    .u-height._mh450 {
        height: 450px
    }

    .u-height._mh500 {
        height: 500px
    }

    .u-height._mh550 {
        height: 550px
    }

    .u-height._mh600 {
        height: 600px
    }

    .u-height._mh650 {
        height: 650px
    }

    .u-height._mh700 {
        height: 700px
    }

    .u-height._mh750 {
        height: 750px
    }

    .u-height._mh800 {
        height: 800px
    }

    .u-height._mh850 {
        height: 850px
    }

    .u-height._mh900 {
        height: 900px
    }

    .u-height._mh950 {
        height: 950px
    }

    .u-height._mh1000 {
        height: 1000px
    }

    .u-height._mh1050 {
        height: 1050px
    }

    .u-height._mh1100 {
        height: 1100px
    }

    .u-height._mh1150 {
        height: 1150px
    }

    .u-height._mh1200 {
        height: 1200px
    }

    .u-height._mh1250 {
        height: 1250px
    }

    .u-height._mh1300 {
        height: 1300px
    }

    .u-height._mh1350 {
        height: 1350px
    }

    .u-height._mh1400 {
        height: 1400px
    }

    .u-height._mh1450 {
        height: 1450px
    }

    .u-height._mh1500 {
        height: 1500px
    }

    .u-height._mh1550 {
        height: 1550px
    }

    .u-height._mh1600 {
        height: 1600px
    }

    .u-height._mh1650 {
        height: 1650px
    }

    .u-height._mh1700 {
        height: 1700px
    }

    .u-height._mh1750 {
        height: 1750px
    }

    .u-height._mh1800 {
        height: 1800px
    }

    .u-height._mh1850 {
        height: 1850px
    }

    .u-height._mh1900 {
        height: 1900px
    }

    .u-height._mh1950 {
        height: 1950px
    }

    .u-height._mh2000 {
        height: 2000px
    }
}

.u-width {
    display: block;
    max-width: 100%
}

.u-width._center {
    margin-right: auto;
    margin-left: auto
}

.u-width._left {
    margin-right: auto
}

.u-width._right {
    margin-left: auto
}

.u-width._w50 {
    width: 50px
}

.u-width._w100 {
    width: 100px
}

.u-width._w150 {
    width: 150px
}

.u-width._w200 {
    width: 200px
}

.u-width._w250 {
    width: 250px
}

.u-width._w300 {
    width: 300px
}

.u-width._w350 {
    width: 350px
}

.u-width._w400 {
    width: 400px
}

.u-width._w450 {
    width: 450px
}

.u-width._w500 {
    width: 500px
}

.u-width._w550 {
    width: 550px
}

.u-width._w600 {
    width: 600px
}

.u-width._w650 {
    width: 650px
}

.u-width._w700 {
    width: 700px
}

.u-width._w750 {
    width: 750px
}

.u-width._w800 {
    width: 800px
}

.u-width._w850 {
    width: 850px
}

.u-width._w900 {
    width: 900px
}

.u-width._w950 {
    width: 950px
}

.u-width._w1000 {
    width: 1000px
}

.u-width._w1050 {
    width: 1050px
}

.u-width._w1100 {
    width: 1100px
}

.u-width._w1150 {
    width: 1150px
}

.u-width._w1200 {
    width: 1200px
}

.u-width._w1250 {
    width: 1250px
}

.u-width._w1300 {
    width: 1300px
}

.u-width._w1350 {
    width: 1350px
}

.u-width._w1400 {
    width: 1400px
}

.u-width._w1450 {
    width: 1450px
}

.u-width._w1500 {
    width: 1500px
}

.u-width._w1550 {
    width: 1550px
}

.u-width._w1600 {
    width: 1600px
}

.u-width._w1650 {
    width: 1650px
}

.u-width._w1700 {
    width: 1700px
}

.u-width._w1750 {
    width: 1750px
}

.u-width._w1800 {
    width: 1800px
}

.u-width._w1850 {
    width: 1850px
}

.u-width._w1900 {
    width: 1900px
}

.u-width._w1950 {
    width: 1950px
}

.u-width._w2000 {
    width: 2000px
}

@media (max-width: 1100px) {
    .u-width._w50 {
        width: auto
    }

    .u-width._w100 {
        width: auto
    }

    .u-width._w150 {
        width: auto
    }

    .u-width._w200 {
        width: auto
    }

    .u-width._w250 {
        width: auto
    }

    .u-width._w300 {
        width: auto
    }

    .u-width._w350 {
        width: auto
    }

    .u-width._w400 {
        width: auto
    }

    .u-width._w450 {
        width: auto
    }

    .u-width._w500 {
        width: auto
    }

    .u-width._w550 {
        width: auto
    }

    .u-width._w600 {
        width: auto
    }

    .u-width._w650 {
        width: auto
    }

    .u-width._w700 {
        width: auto
    }

    .u-width._w750 {
        width: auto
    }

    .u-width._w800 {
        width: auto
    }

    .u-width._w850 {
        width: auto
    }

    .u-width._w900 {
        width: auto
    }

    .u-width._w950 {
        width: auto
    }

    .u-width._w1000 {
        width: auto
    }

    .u-width._w1050 {
        width: auto
    }

    .u-width._w1100 {
        width: auto
    }

    .u-width._w1150 {
        width: auto
    }

    .u-width._w1200 {
        width: auto
    }

    .u-width._w1250 {
        width: auto
    }

    .u-width._w1300 {
        width: auto
    }

    .u-width._w1350 {
        width: auto
    }

    .u-width._w1400 {
        width: auto
    }

    .u-width._w1450 {
        width: auto
    }

    .u-width._w1500 {
        width: auto
    }

    .u-width._w1550 {
        width: auto
    }

    .u-width._w1600 {
        width: auto
    }

    .u-width._w1650 {
        width: auto
    }

    .u-width._w1700 {
        width: auto
    }

    .u-width._w1750 {
        width: auto
    }

    .u-width._w1800 {
        width: auto
    }

    .u-width._w1850 {
        width: auto
    }

    .u-width._w1900 {
        width: auto
    }

    .u-width._w1950 {
        width: auto
    }

    .u-width._w2000 {
        width: auto
    }

    .u-width._tw50 {
        width: 50px
    }

    .u-width._tw100 {
        width: 100px
    }

    .u-width._tw150 {
        width: 150px
    }

    .u-width._tw200 {
        width: 200px
    }

    .u-width._tw250 {
        width: 250px
    }

    .u-width._tw300 {
        width: 300px
    }

    .u-width._tw350 {
        width: 350px
    }

    .u-width._tw400 {
        width: 400px
    }

    .u-width._tw450 {
        width: 450px
    }

    .u-width._tw500 {
        width: 500px
    }

    .u-width._tw550 {
        width: 550px
    }

    .u-width._tw600 {
        width: 600px
    }

    .u-width._tw650 {
        width: 650px
    }

    .u-width._tw700 {
        width: 700px
    }

    .u-width._tw750 {
        width: 750px
    }

    .u-width._tw800 {
        width: 800px
    }

    .u-width._tw850 {
        width: 850px
    }

    .u-width._tw900 {
        width: 900px
    }

    .u-width._tw950 {
        width: 950px
    }

    .u-width._tw1000 {
        width: 1000px
    }

    .u-width._tw1050 {
        width: 1050px
    }

    .u-width._tw1100 {
        width: 1100px
    }

    .u-width._tw1150 {
        width: 1150px
    }

    .u-width._tw1200 {
        width: 1200px
    }

    .u-width._tw1250 {
        width: 1250px
    }

    .u-width._tw1300 {
        width: 1300px
    }

    .u-width._tw1350 {
        width: 1350px
    }

    .u-width._tw1400 {
        width: 1400px
    }

    .u-width._tw1450 {
        width: 1450px
    }

    .u-width._tw1500 {
        width: 1500px
    }

    .u-width._tw1550 {
        width: 1550px
    }

    .u-width._tw1600 {
        width: 1600px
    }

    .u-width._tw1650 {
        width: 1650px
    }

    .u-width._tw1700 {
        width: 1700px
    }

    .u-width._tw1750 {
        width: 1750px
    }

    .u-width._tw1800 {
        width: 1800px
    }

    .u-width._tw1850 {
        width: 1850px
    }

    .u-width._tw1900 {
        width: 1900px
    }

    .u-width._tw1950 {
        width: 1950px
    }

    .u-width._tw2000 {
        width: 2000px
    }
}

@media (max-width: 576px) {
    .u-width._tw50 {
        width: auto
    }

    .u-width._tw100 {
        width: auto
    }

    .u-width._tw150 {
        width: auto
    }

    .u-width._tw200 {
        width: auto
    }

    .u-width._tw250 {
        width: auto
    }

    .u-width._tw300 {
        width: auto
    }

    .u-width._tw350 {
        width: auto
    }

    .u-width._tw400 {
        width: auto
    }

    .u-width._tw450 {
        width: auto
    }

    .u-width._tw500 {
        width: auto
    }

    .u-width._tw550 {
        width: auto
    }

    .u-width._tw600 {
        width: auto
    }

    .u-width._tw650 {
        width: auto
    }

    .u-width._tw700 {
        width: auto
    }

    .u-width._tw750 {
        width: auto
    }

    .u-width._tw800 {
        width: auto
    }

    .u-width._tw850 {
        width: auto
    }

    .u-width._tw900 {
        width: auto
    }

    .u-width._tw950 {
        width: auto
    }

    .u-width._tw1000 {
        width: auto
    }

    .u-width._tw1050 {
        width: auto
    }

    .u-width._tw1100 {
        width: auto
    }

    .u-width._tw1150 {
        width: auto
    }

    .u-width._tw1200 {
        width: auto
    }

    .u-width._tw1250 {
        width: auto
    }

    .u-width._tw1300 {
        width: auto
    }

    .u-width._tw1350 {
        width: auto
    }

    .u-width._tw1400 {
        width: auto
    }

    .u-width._tw1450 {
        width: auto
    }

    .u-width._tw1500 {
        width: auto
    }

    .u-width._tw1550 {
        width: auto
    }

    .u-width._tw1600 {
        width: auto
    }

    .u-width._tw1650 {
        width: auto
    }

    .u-width._tw1700 {
        width: auto
    }

    .u-width._tw1750 {
        width: auto
    }

    .u-width._tw1800 {
        width: auto
    }

    .u-width._tw1850 {
        width: auto
    }

    .u-width._tw1900 {
        width: auto
    }

    .u-width._tw1950 {
        width: auto
    }

    .u-width._tw2000 {
        width: auto
    }

    .u-width._mw50 {
        width: 50px
    }

    .u-width._mw100 {
        width: 100px
    }

    .u-width._mw150 {
        width: 150px
    }

    .u-width._mw200 {
        width: 200px
    }

    .u-width._mw250 {
        width: 250px
    }

    .u-width._mw300 {
        width: 300px
    }

    .u-width._mw350 {
        width: 350px
    }

    .u-width._mw400 {
        width: 400px
    }

    .u-width._mw450 {
        width: 450px
    }

    .u-width._mw500 {
        width: 500px
    }

    .u-width._mw550 {
        width: 550px
    }

    .u-width._mw600 {
        width: 600px
    }

    .u-width._mw650 {
        width: 650px
    }

    .u-width._mw700 {
        width: 700px
    }

    .u-width._mw750 {
        width: 750px
    }

    .u-width._mw800 {
        width: 800px
    }

    .u-width._mw850 {
        width: 850px
    }

    .u-width._mw900 {
        width: 900px
    }

    .u-width._mw950 {
        width: 950px
    }

    .u-width._mw1000 {
        width: 1000px
    }

    .u-width._mw1050 {
        width: 1050px
    }

    .u-width._mw1100 {
        width: 1100px
    }

    .u-width._mw1150 {
        width: 1150px
    }

    .u-width._mw1200 {
        width: 1200px
    }

    .u-width._mw1250 {
        width: 1250px
    }

    .u-width._mw1300 {
        width: 1300px
    }

    .u-width._mw1350 {
        width: 1350px
    }

    .u-width._mw1400 {
        width: 1400px
    }

    .u-width._mw1450 {
        width: 1450px
    }

    .u-width._mw1500 {
        width: 1500px
    }

    .u-width._mw1550 {
        width: 1550px
    }

    .u-width._mw1600 {
        width: 1600px
    }

    .u-width._mw1650 {
        width: 1650px
    }

    .u-width._mw1700 {
        width: 1700px
    }

    .u-width._mw1750 {
        width: 1750px
    }

    .u-width._mw1800 {
        width: 1800px
    }

    .u-width._mw1850 {
        width: 1850px
    }

    .u-width._mw1900 {
        width: 1900px
    }

    .u-width._mw1950 {
        width: 1950px
    }

    .u-width._mw2000 {
        width: 2000px
    }
}

.u-shadow {
    -webkit-filter: drop-shadow(4px 4px 8px rgba(0, 0, 0, 0.5));
    filter: drop-shadow(4px 4px 8px rgba(0, 0, 0, 0.5))
}

.u-shadow._op1 {
    -webkit-filter: drop-shadow(2px 2px 6px rgba(0, 0, 0, calc(1 * 0.1)));
    filter: drop-shadow(2px 2px 6px rgba(0, 0, 0, calc(1 * 0.1)))
}

.u-shadow._op2 {
    -webkit-filter: drop-shadow(2px 2px 6px rgba(0, 0, 0, calc(2 * 0.1)));
    filter: drop-shadow(2px 2px 6px rgba(0, 0, 0, calc(2 * 0.1)))
}

.u-shadow._op3 {
    -webkit-filter: drop-shadow(2px 2px 6px rgba(0, 0, 0, calc(3 * 0.1)));
    filter: drop-shadow(2px 2px 6px rgba(0, 0, 0, calc(3 * 0.1)))
}

.u-shadow._op4 {
    -webkit-filter: drop-shadow(2px 2px 6px rgba(0, 0, 0, calc(4 * 0.1)));
    filter: drop-shadow(2px 2px 6px rgba(0, 0, 0, calc(4 * 0.1)))
}

.u-shadow._op5 {
    -webkit-filter: drop-shadow(2px 2px 6px rgba(0, 0, 0, calc(5 * 0.1)));
    filter: drop-shadow(2px 2px 6px rgba(0, 0, 0, calc(5 * 0.1)))
}

.u-shadow._op6 {
    -webkit-filter: drop-shadow(2px 2px 6px rgba(0, 0, 0, calc(6 * 0.1)));
    filter: drop-shadow(2px 2px 6px rgba(0, 0, 0, calc(6 * 0.1)))
}

.u-shadow._op7 {
    -webkit-filter: drop-shadow(2px 2px 6px rgba(0, 0, 0, calc(7 * 0.1)));
    filter: drop-shadow(2px 2px 6px rgba(0, 0, 0, calc(7 * 0.1)))
}

.u-shadow._op8 {
    -webkit-filter: drop-shadow(2px 2px 6px rgba(0, 0, 0, calc(8 * 0.1)));
    filter: drop-shadow(2px 2px 6px rgba(0, 0, 0, calc(8 * 0.1)))
}

.u-shadow._op9 {
    -webkit-filter: drop-shadow(2px 2px 6px rgba(0, 0, 0, calc(9 * 0.1)));
    filter: drop-shadow(2px 2px 6px rgba(0, 0, 0, calc(9 * 0.1)))
}

.u-shadow._op10 {
    -webkit-filter: drop-shadow(2px 2px 6px rgba(0, 0, 0, calc(10 * 0.1)));
    filter: drop-shadow(2px 2px 6px rgba(0, 0, 0, calc(10 * 0.1)))
}

.u-scale._s70 img {
    -webkit-transform: scale(0.7);
    -ms-transform: scale(0.7);
    transform: scale(0.7)
}

.pages {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    font-weight: wrap
}

.pages .page_next,
.pages .page_prev {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
    width: 40%;
    padding: 10px;
    text-align: center
}

.pages .page_next a,
.pages .page_prev a {
    display: block;
    padding: 5px 10px;
    overflow: hidden;
    font-weight: bold;
    line-height: 1.4;
    text-overflow: ellipsis;
    white-space: nowrap;
    border: solid thin #9b0000
}

.pages .page_next a:hover,
.pages .page_prev a:hover {
    color: white;
    background-color: #9b0000;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease
}

.u-container1 {
    padding: 20px 50px;
    line-height: 2;
    background-color: #fafafa
}

.u-container1::before {
    display: block;
    padding-bottom: 15px;
    font-family: "Font Awesome 5 Free", sans-serif;
    font-size: 1.5em;
    font-weight: 900;
    color: #ccc;
    content: "\f10d"
}

.u-container1::after {
    display: block;
    padding-top: 15px;
    font-family: "Font Awesome 5 Free", sans-serif;
    font-size: 1.5em;
    font-weight: 900;
    color: #ccc;
    text-align: right;
    content: "\f10e"
}

.u-container1._lignt {
    color: white
}

.u-container1._lignt::before {
    color: white
}

.u-container1._lignt::after {
    color: white
}

@media (max-width: 1100px) {
    .u-container1 {
        padding: 20px
    }
}

.u-container2 {
    position: relative;
    padding: 0 .8rem .8rem 0
}

.u-container2>.inner {
    position: relative;
    z-index: 1;
    padding: 3rem;
    background-color: white;
    border: solid 3px #9b0000
}

.u-container2::before {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 0;
    display: block;
    width: calc(100% - .8rem);
    height: calc(100% - .8rem);
    content: "";
    background-image: radial-gradient(#7bded9 40%, transparent 40%);
    background-size: 6px 6px
}

@media (max-width: 562px) {
    .u-container2>.inner {
        padding: 1rem
    }
}

.u-bnrlink1 {
    position: relative;
    display: block;
    overflow: hidden;
    -webkit-transition: all 1s ease;
    transition: all 1s ease;
    width: 100%;
    border-radius: 30px
}

.u-bnrlink1 * {
    -webkit-transition: all 1s ease;
    transition: all 1s ease
}

.u-bnrlink1 .bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
    background-color: #9b0000;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover
}

.u-bnrlink1 .inner {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 3;
    width: 100%;
    height: auto;
    padding: 20px;
    line-height: 1.4;
    letter-spacing: 0
}

.u-bnrlink1 .inner .main {
    font-size: 1.4rem;
    font-weight: 700;
    color: white
}

.u-bnrlink1 .inner .sub {
    font-family: "Josefin Sans", sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1;
    color: white;
    text-transform: initial
}

.u-bnrlink1 .inner .dummy-btn {
    position: absolute;
    left: 20px;
    bottom: -20px;
    display: inline-block;
    border: solid thin #fff;
    padding: 0.3rem 1rem 0;
    font-family: "Josefin Sans", sans-serif;
    color: white;
    opacity: 0;
    font-size: 0.8rem
}

.u-bnrlink1::before {
    position: relative;
    z-index: 1;
    display: block;
    padding-top: 100%;
    content: "";
    background-color: rgba(0, 0, 0, 0.2);
    -webkit-transition: all 1s ease;
    transition: all 1s ease
}

.u-bnrlink1::after {
    position: absolute;
    top: -10%;
    left: -10%;
    z-index: 2;
    display: block;
    width: 150%;
    height: 150%;
    content: "";
    background-image: -webkit-gradient(linear, left top, right top, from(white), color-stop(#9b0000), to(#9b0000));
    background-image: linear-gradient(to right, white, #9b0000, #9b0000);
    background-size: 400% 400%;
    opacity: 0;
    -webkit-transition: all 1s ease;
    transition: all 1s ease
}

.u-bnrlink1:hover {
    border-radius: 50%;
    opacity: 0.9;
    -webkit-transition: all 0.5s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: all 0.5s cubic-bezier(0.55, 0.055, 0.675, 0.19)
}

.u-bnrlink1:hover::after {
    opacity: 0.9;
    -webkit-transition: all 0.5s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: all 0.5s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    -webkit-transform: scale(1) rotateZ(0);
    -ms-transform: scale(1) rotate(0);
    transform: scale(1) rotateZ(0);
    -webkit-animation-name: bnrlink1;
    animation-name: bnrlink1;
    -webkit-animation-duration: 8s;
    animation-duration: 8s;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    -webkit-animation-delay: 0;
    animation-delay: 0;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-direction: normal;
    animation-direction: normal
}

@-webkit-keyframes bnrlink1 {
    0% {
        background-position: 0% 50%;
        -webkit-transform: scale(1.5) rotateZ(0);
        transform: scale(1.5) rotateZ(0)
    }

    50% {
        background-position: 70% 50%;
        -webkit-transform: scale(1.5) rotateZ(180deg);
        transform: scale(1.5) rotateZ(180deg)
    }

    100% {
        background-position: 0% 50%;
        -webkit-transform: scale(1.5) rotateZ(360deg);
        transform: scale(1.5) rotateZ(360deg)
    }
}

@keyframes bnrlink1 {
    0% {
        background-position: 0% 50%;
        -webkit-transform: scale(1.5) rotateZ(0);
        transform: scale(1.5) rotateZ(0)
    }

    50% {
        background-position: 70% 50%;
        -webkit-transform: scale(1.5) rotateZ(180deg);
        transform: scale(1.5) rotateZ(180deg)
    }

    100% {
        background-position: 0% 50%;
        -webkit-transform: scale(1.5) rotateZ(360deg);
        transform: scale(1.5) rotateZ(360deg)
    }
}

.u-bnrlink1:hover>.bg {
    opacity: 0;
    -webkit-transition: all 0.5s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: all 0.5s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    -webkit-transform: scale(1.2) rotate(-30deg);
    -ms-transform: scale(1.2) rotate(-30deg);
    transform: scale(1.2) rotate(-30deg)
}

.u-bnrlink1:hover>.inner {
    bottom: 50%;
    -webkit-transition: all 0.5s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition: all 0.5s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    -webkit-transform: translateY(50%);
    -ms-transform: translateY(50%);
    transform: translateY(50%)
}

.u-bnrlink1:hover>.inner .dummy-btn {
    opacity: 1
}

@media (max-width: 1100px) {
    .u-bnrlink1 .inner {
        padding: 5px
    }

    .u-bnrlink1 .inner .main {
        font-size: 1rem
    }

    .u-bnrlink1 .inner .sub {
        font-size: 0.8rem
    }
}

.u-bnrLink2 {
    position: relative;
    display: block;
    overflow: hidden
}

.u-bnrLink2 * {
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease
}

.u-bnrLink2::before {
    display: block;
    padding-top: 70%;
    content: ""
}

.u-bnrLink2._h50p::before {
    padding-top: 50%
}

.u-bnrLink2._h60p::before {
    padding-top: 60%
}

.u-bnrLink2._h75p::before {
    padding-top: 75%
}

.u-bnrLink2._h100p::before {
    padding-top: 100%
}

.u-bnrLink2._h115p::before {
    padding-top: 115%
}

.u-bnrLink2._h133p::before {
    padding-top: 133.3333333%
}

.u-bnrLink2>.bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    -webkit-transition: all 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: all 0.8s cubic-bezier(0.165, 0.84, 0.44, 1)
}

.u-bnrLink2>.bg>img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.u-bnrLink2>.overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    display: block;
    width: 100%;
    height: 100%;
    opacity: 0.7
}

.u-bnrLink2._red>.overlay {
    background-color: #7f0c0b
}

.u-bnrLink2._yellow>.overlay {
    background-color: #ffa533
}

.u-bnrLink2 .inner {
    position: absolute;
    bottom: 20px;
    left: 20px;
    z-index: 3;
    width: 90%
}

.u-bnrLink2 .inner .title {
    width: 100%;
    margin-bottom: 0;
    font-size: 1.7rem;
    font-weight: 700;
    color: white;
    letter-spacing: 0
}

.u-bnrLink2 .inner p {
    width: 100%;
    max-width: 90%;
    font-weight: 400;
    color: white
}

.u-bnrLink2 .inner .dummy-btn {
    border: solid thin #fff;
    color: #fff;
    display: inline-block;
    font-size: 0.9rem;
    padding: 0 1rem
}

.u-bnrLink2:hover {
    opacity: 1;
    -webkit-transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1)
}

.u-bnrLink2:hover>.bg {
    -webkit-transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    -webkit-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2)
}

.u-bnrLink2:hover>.overlay {
    opacity: 0.5;
    -webkit-transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    background-color: #000
}

.u-bnrLink2:hover .inner {
    bottom: 40px
}

@media (max-width: 992px) {
    .u-bnrLink2 .inner .title {
        font-size: 1rem
    }

    .u-bnrLink2 .inner p {
        font-size: 0.8rem
    }

    .u-bnrLink2._th50p::before {
        padding-top: 50%
    }

    .u-bnrLink2._th60p::before {
        padding-top: 60%
    }

    .u-bnrLink2._th75p::before {
        padding-top: 75%
    }

    .u-bnrLink2._th100p::before {
        padding-top: 100%
    }

    .u-bnrLink2._th115p::before {
        padding-top: 115%
    }

    .u-bnrLink2._th133p::before {
        padding-top: 133.3333333%
    }
}

@media (max-width: 576px) {
    .u-bnrLink2._mh50p::before {
        padding-top: 50%
    }

    .u-bnrLink2._mh60p::before {
        padding-top: 60%
    }

    .u-bnrLink2._mh75p::before {
        padding-top: 75%
    }

    .u-bnrLink2._mh100p::before {
        padding-top: 100%
    }

    .u-bnrLink2._mh115p::before {
        padding-top: 115%
    }

    .u-bnrLink2._mh133p::before {
        padding-top: 133.3333333%
    }
}

.u-bnrLink3 {
    display: block
}

.u-bnrLink3>.inner {
    position: relative;
    width: 100%;
    overflow: hidden
}

.u-bnrLink3>.inner * {
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease
}

.u-bnrLink3>.inner::before {
    display: block;
    padding-top: 300px;
    content: ""
}

.u-bnrLink3>.inner>.text {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 3;
    display: block;
    width: 300px;
    padding: 20px;
    color: white;
    text-align: center;
    letter-spacing: 0.2em;
    background-color: rgba(118, 76, 41, 0.9);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

.u-bnrLink3>.inner>.text span {
    font-family: "Josefin Sans", sans-serif;
    font-size: 2em
}

.u-bnrLink3>.inner .overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.3);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

.u-bnrLink3>.inner>.imgWindow {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    display: block;
    background-color: #eee;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover
}

.u-bnrLink3:hover>.inner>.imgWindow {
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    -webkit-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2)
}

.u-bnrLink3:hover>.inner>.overlay {
    background-color: rgba(155, 0, 0, 0.6);
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease
}

.u-bnrLink3:hover {
    opacity: 1
}

.u-bnrLink4 {
    position: relative;
    display: block;
    background-color: white;
    -webkit-transition: all 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: all 0.8s cubic-bezier(0.165, 0.84, 0.44, 1)
}

.u-bnrLink4::before {
    display: block;
    padding-top: 350px;
    content: ""
}

.u-bnrLink4>.inner {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    width: 100%;
    -webkit-transition: all 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: all 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
    -webkit-transform: translate(-50%, -50%) scale(0.8);
    -ms-transform: translate(-50%, -50%) scale(0.8);
    transform: translate(-50%, -50%) scale(0.8)
}

.u-bnrLink4>.inner>img {
    width: 60%;
    margin-bottom: 0.5rem
}

.u-bnrLink4>.bg {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 0;
    width: 100%;
    height: 100%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

.u-bnrLink4>.bg>img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.u-bnrLink4:hover {
    opacity: 1;
    -webkit-transition: all 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: all 0.8s cubic-bezier(0.165, 0.84, 0.44, 1)
}

.u-bnrLink4:hover>.inner {
    opacity: 0.8;
    -webkit-transition: all 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: all 0.8s cubic-bezier(0.165, 0.84, 0.44, 1)
}

@media (max-width: 576px) {
    .u-bnrLink4::before {
        padding-top: 230px
    }
}

.u-bnrlink5 {
    display: block;
    text-align: center;
    background-color: #faf5ea;
    padding: 1rem
}

.u-bnrlink5 .image {
    padding: 20px 0 0
}

.u-bnrlink5 .image>img {
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
    width: 40%
}

.u-bnrlink5 h4 {
    font-size: 1.4rem
}

.u-bnrlink5 .angle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    line-height: 1
}

.u-bnrlink5 .angle>em {
    font-size: 1.2rem
}

.u-bnrlink5 .angle>img {
    width: 2rem;
    margin-left: 0.8rem;
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease
}

.u-bnrlink5:hover {
    opacity: 1
}

.u-bnrlink5:hover .image>img {
    -webkit-transform: translateY(-15%);
    -ms-transform: translateY(-15%);
    transform: translateY(-15%);
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease
}

.u-bnrlink5:hover .angle>img {
    -webkit-transform: translatex(20%);
    -ms-transform: translatex(20%);
    transform: translatex(20%);
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease
}

.u-bnrLink6 {
    position: relative;
    border-radius: 200px 200px 0 0;
    background-image: url("../img/ptn1.png")
}

.u-bnrLink6::before {
    display: block;
    padding-top: 150%;
    content: ""
}

.u-bnrLink6>.inner {
    position: absolute;
    left: 50%;
    top: 60px;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    padding: 1rem;
    width: 100%
}

@media (max-width: 1200px) {
    .u-bnrLink6::before {
        padding-top: 190%
    }
}

@media (max-width: 992px) {
    .u-bnrLink6::before {
        padding-top: 100%
    }
}

@media (max-width: 562px) {
    .u-bnrLink6::before {
        padding-top: 200%
    }
}

.sns-link1 {
    position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    line-height: 1;
    color: #f8f9fa;
    letter-spacing: 0;
    background-color: #212529;
    border-radius: 100px
}

.sns-link1 i {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

.sns-link1::before {
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    content: ""
}

.sns-link1:hover {
    color: #f8f9fa
}

.sns-link1._fa {
    background-color: #315096
}

.sns-link1._in {
    background-image: linear-gradient(135deg, #427eff 0%, #f13f79 70%)
}

.sns-link1._tw {
    background-color: #1da1f2
}

.sns-link1._yo {
    background-color: #da1725
}

.sns-link1._pi {
    background-color: #bd081c
}

.sns-link2 {
    display: inline-block;
    padding: 0 0.5em;
    font-family: "Josefin Sans", sans-serif;
    font-weight: 400;
    color: white;
    text-align: center;
    letter-spacing: 0;
    border-radius: 5px
}

.sns-link2._fa {
    background-color: #315096
}

.sns-link2._in {
    background-image: linear-gradient(135deg, #427eff 0%, #f13f79 70%)
}

.sns-link2._yo {
    background-color: #da1725
}

.sns-link2._pi {
    background-color: #bd081c
}

.infinite-wrap {
    height: 700px;
    overflow: hidden
}

.infinite-wrap .infinite {
    display: none;
    height: 700px
}

.infinite-wrap .infinite>li {
    position: relative;
    width: 1100px;
    height: 700px;
    overflow: hidden
}

.infinite-wrap .infinite>li>img {
    position: absolute;
    right: 50%;
    bottom: 50%;
    width: 100%;
    height: 100%;
    font-family: "object-fit:cover;";
    -webkit-transform: translate(50%, 50%);
    -ms-transform: translate(50%, 50%);
    transform: translate(50%, 50%);
    -o-object-fit: cover;
    object-fit: cover
}

@media (max-width: 1100px) {
    .infinite-wrap {
        height: 250px
    }

    .infinite-wrap .infinite {
        height: 250px
    }

    .infinite-wrap .infinite>li {
        width: 300px;
        height: 250px
    }
}

.u-decoX {
    position: relative;
    display: inline-block;
    margin: 0 calc(1 * 1em + 0.5em)
}

.u-decoX::before {
    position: absolute;
    right: calc(100% + 0.4em);
    bottom: 50%;
    font-size: calc(1 * 1em);
    content: "―";
    -webkit-transform: translateY(50%);
    -ms-transform: translateY(50%);
    transform: translateY(50%)
}

.u-decoX::after {
    position: absolute;
    bottom: 50%;
    left: calc(100% + 0.4em);
    font-size: calc(1 * 1em);
    content: "―";
    -webkit-transform: translateY(50%);
    -ms-transform: translateY(50%);
    transform: translateY(50%)
}

.u-decoX._star::before,
.u-decoX._star::after {
    font-family: "Font Awesome 5 Free", sans-serif;
    font-weight: 900;
    content: "\f005"
}

.u-decoX._slash::before,
.u-decoX._slash::after {
    bottom: 50%;
    display: inline-block;
    width: 2em;
    height: 100%;
    content: "";
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat
}

.u-decoX._slash::before {
    background-image: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 200'><defs><style>.cls-1{fill:%239b0000;}</style></defs><polygon class='cls-1' points='115.5 8.5 51.5 26.5 145.5 192.5 115.5 8.5'/><polygon class='cls-1' points='5.5 125.5 41.5 85.5 131.5 195.5 5.5 125.5'/></svg>")
}

.u-decoX._slash::after {
    background-image: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 200'><defs><style>.cls-1{fill:%239b0000;}</style></defs><polygon class='cls-1' points='35.5 8.5 99.5 26.5 5.5 192.5 35.5 8.5'/><polygon class='cls-1' points='145.5 125.5 109.5 85.5 19.5 195.5 145.5 125.5'/></svg>")
}

.u-decoTop {
    position: relative
}

.u-decoTop::before {
    position: absolute;
    bottom: 100%;
    left: 0;
    content: "";
    display: inline-block;
    width: 100%;
    height: 1rem;
    background-image: radial-gradient(circle, #9b0000 0.25rem, transparent 0.25rem);
    background-position: center center;
    background-repeat: repeat-x;
    background-size: 1em 0.5rem
}

.u-vwright {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
}

.u-privacy>dd {
    margin-bottom: 50px
}

.u-sns1 {
    _display: inline-block;
    width: 100%
}

.u-sns1 * {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.u-sns1::after {
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
    content: "."
}

.u-sns1 .inner-left,
.u-sns1 .inner-right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 95%;
    padding: 20px
}

.u-sns1 .inner-left .u-snsimg,
.u-sns1 .inner-right .u-snsimg {
    width: 15%
}

.u-sns1 .inner-left .u-snsimg>img,
.u-sns1 .inner-right .u-snsimg>img {
    width: 100%;
    border: solid thin #999;
    border-radius: 100%
}

.u-sns1 .inner-left .u-snsimg>figcaption,
.u-sns1 .inner-right .u-snsimg>figcaption {
    font-size: 0.8em;
    text-align: center
}

.u-sns1 .inner-left .u-snsbody,
.u-sns1 .inner-right .u-snsbody {
    position: relative;
    width: 80%;
    padding: 20px;
    border-radius: 20px
}

.u-sns1 .inner-left .u-snsbody::before,
.u-sns1 .inner-left .u-snsbody::after,
.u-sns1 .inner-right .u-snsbody::before,
.u-sns1 .inner-right .u-snsbody::after {
    position: absolute;
    content: ""
}

.u-sns1 .inner-left {
    float: left
}

.u-sns1 .inner-left .u-snsbody {
    margin-left: 5%;
    background-color: whitedf3;
    -webkit-filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.1));
    filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.1))
}

.u-sns1 .inner-left .u-snsbody::before {
    top: 22px;
    left: -20px;
    border: 10px solid transparent;
    border-right: solid 10px whitedf3
}

.u-sns1 .inner-left .u-snsstamp {
    position: relative;
    width: 20%;
    margin-top: 15px;
    margin-left: 20%
}

.u-sns1 .inner-left .u-snsstamp .stamp-inner {
    overflow: hidden;
    border: solid thin #999;
    border-radius: 20px
}

.u-sns1 .inner-left .u-snsstamp .stamp-inner img {
    width: 100%
}

.u-sns1 .inner-left .u-snsstamp::after {
    position: absolute;
    bottom: 0;
    left: calc(100% + 0.8em);
    width: 4em;
    font-size: 0.8em;
    content: "原文画像"
}

.u-sns1 .inner-right {
    float: right
}

.u-sns1 .inner-right .u-snsimg {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2
}

.u-sns1 .inner-right .u-snsbody {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    margin-right: 5%;
    background: #9cd6e7
}

.u-sns1 .inner-right .u-snsbody::after {
    top: 22px;
    right: -20px;
    border: 10px solid transparent;
    border-left: solid 10px #9cd6e7
}

.u-beforeAfter1 {
    position: relative
}

.u-beforeAfter1 * {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.u-beforeAfter1 .before {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2;
    width: 40%
}

.u-beforeAfter1 .after {
    padding: 10px 10px 10px 30px
}

.u-beforeAfter1 .inner {
    position: relative
}

.u-beforeAfter1 .inner .img {
    width: 100%;
    border: solid 5px white;
    -webkit-box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
    box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8)
}

.u-beforeAfter1 .inner p {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 3;
    padding: 5px 10px;
    color: white;
    text-align: right;
    background-color: rgba(155, 0, 0, 0.8)
}

.u-beforeAfter1 .inner a {
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease
}

.u-beforeAfter1 .inner a:hover {
    opacity: 0.6
}

@media (max-width: 1100px) {
    .u-beforeAfter1 .before {
        width: 50%
    }
}

.u-beforeAfter2 {
    position: relative;
    text-align: right
}

.u-beforeAfter2>.before>.inner,
.u-beforeAfter2>.after>.inner {
    position: relative;
    padding-top: 75%;
    overflow: hidden
}

.u-beforeAfter2>.before>.inner>a,
.u-beforeAfter2>.after>.inner>a {
    position: absolute;
    top: 0;
    display: block;
    width: 100%;
    height: 100%
}

.u-beforeAfter2>.before>.inner>a>img,
.u-beforeAfter2>.after>.inner>a>img {
    width: 100%;
    height: 100%;
    font-family: "object-fit: cover;";
    -o-object-fit: cover;
    object-fit: cover
}

.u-beforeAfter2>.before>.inner>p,
.u-beforeAfter2>.after>.inner>p {
    position: absolute;
    right: 0;
    bottom: 0;
    padding: 0.5em 1em;
    color: white;
    background-color: rgba(118, 76, 41, 0.8)
}

.u-beforeAfter2>.before {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    width: 40%;
    overflow: hidden
}

.u-beforeAfter2>.after {
    padding-bottom: 2em;
    padding-left: 2em
}

@media (max-width: 1100px) {
    .u-beforeAfter2>.before {
        width: 50%
    }
}

.u-form1 {
    margin: auto;
    color: inherit
}

.u-form1 dt::before {
    display: inline-block;
    padding: 0 0.5em;
    margin-right: 0.3rem;
    font-size: 0.7rem;
    color: white;
    content: "任意";
    background-color: #198754
}

.u-form1 dt.required::before {
    content: "必須";
    background-color: #dc3545
}

.u-form1 button[type="submit"] {
    min-width: 200px;
    padding: 10px 30px;
    font-weight: 500;
    color: white;
    letter-spacing: 0.2em;
    background-color: #9b0000;
    border: solid thin #9b0000
}

.u-form1 button[type="submit"]:hover {
    color: #9b0000;
    background-color: white;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease
}

.u-form1 button[type="submit"].light {
    min-width: 150px;
    padding: 10px 30px;
    border: solid thin white
}

.u-form1 button[type="submit"].light:hover {
    color: #555;
    background-color: white;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease
}

.prv strong {
    display: block;
    margin: 8px 0;
    font-weight: 700;
    color: #888;
    text-decoration: none;
    border-bottom: 1px dotted #888
}

.prv strong::before {
    margin-right: 5px;
    font-family: "Font Awesome 5 Free", sans-serif;
    font-weight: 900;
    content: "\f0a9"
}

.writing-mode._h {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb
}

.writing-mode._v {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
}

@media (max-width: 1100px) {
    .writing-mode {
        -webkit-writing-mode: horizontal-tb !important;
        -ms-writing-mode: lr-tb !important;
        writing-mode: horizontal-tb !important
    }

    .writing-mode._mh {
        -webkit-writing-mode: horizontal-tb !important;
        -ms-writing-mode: lr-tb !important;
        writing-mode: horizontal-tb !important
    }

    .writing-mode._mv {
        -webkit-writing-mode: vertical-rl !important;
        -ms-writing-mode: tb-rl !important;
        writing-mode: vertical-rl !important
    }
}

.particles {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%
}

.division {
    position: relative;
    padding: 6rem 0
}

.division:nth-of-type(odd).bg-rgbawh {
    background-color: rgba(255, 255, 255, 0.8)
}

.division:nth-of-type(even) {
    background-color: rgba(250, 245, 234, 0.8)
}

.division._skew {
    padding: 8rem 0
}

.division._skew:nth-of-type(odd) {
    -webkit-clip-path: polygon(0 0, 100% 4rem, 100% 100%, 0 calc(100% - 4rem));
    clip-path: polygon(0 0, 100% 4rem, 100% 100%, 0 calc(100% - 4rem));
    background-color: white
}

.division._skew:nth-of-type(even) {
    -webkit-clip-path: polygon(0 0, 100% 4rem, 100% 100%, 0 calc(100% - 4rem));
    clip-path: polygon(0 0, 100% 4rem, 100% 100%, 0 calc(100% - 4rem));
    background-color: #eee
}

.division._skew:first-of-type {
    padding-top: 6rem;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 4rem));
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 4rem))
}

.division._skew:last-of-type {
    padding-bottom: 6rem;
    margin-bottom: 0;
    -webkit-clip-path: polygon(0 0, 100% 4rem, 100% 100%, 0 100%);
    clip-path: polygon(0 0, 100% 4rem, 100% 100%, 0 100%)
}

@media (max-width: 576px) {
    .division>._skew:nth-of-type(odd) {
        -webkit-clip-path: polygon(0 0, 100% 2rem, 100% 100%, 0 calc(100% - 2rem));
        clip-path: polygon(0 0, 100% 2rem, 100% 100%, 0 calc(100% - 2rem))
    }

    .division>._skew:nth-of-type(even) {
        -webkit-clip-path: polygon(0 0, 100% 2rem, 100% 100%, 0 calc(100% - 2rem));
        clip-path: polygon(0 0, 100% 2rem, 100% 100%, 0 calc(100% - 2rem))
    }

    .division>._skew:first-of-type {
        -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 2rem));
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 2rem))
    }

    .division>._skew:last-of-type {
        -webkit-clip-path: polygon(0 0, 100% 2rem, 100% 100%, 0 100%);
        clip-path: polygon(0 0, 100% 2rem, 100% 100%, 0 100%)
    }
}

.bg-rgba-light {
    background-color: rgba(248, 249, 250, 0.8)
}

.bg-rgba-dark {
    background-color: rgba(33, 37, 41, 0.8)
}

.bg-rgba-beige {
    background-color: rgba(250, 245, 234, 0.8)
}

.bg-image {
    background-image: url("../img/item_3.png"), url("../img/item_5.png"), url("../img/item_4.png"), url("../img/item_6.png"), url("../img/item_7.png"), url("../img/item_8.png");
    background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, no-repeat;
    background-position: right 10% top, right 10% bottom 30%, right 55% bottom 30%, left 10% bottom, left top, right 45% top 20%;
    background-size: 30%, 30%, 25%, 20%, 20%, 20%
}

@media (max-width: 992px) {
    .bg-image {
        background-position: right 10% top, right 10% bottom 30%, right 55% bottom 25%, left 10% bottom, left top, right 20% top 40%;
        background-size: 30%, 30%, 25%, 30%, 20%, 30%
    }
}

@media (max-width: 576px) {
    .bg-image {
        background-position: right 10% top, right 10% bottom 30%, right 55% bottom 25%, left 10% bottom, left top, right 20% bottom;
        background-size: 30%, 30%, 25%, 40%, 30%, 30%
    }
}

.bg-pink {
    background-color: rgba(218, 219, 204, 0.5) !important
}

.bg-grid {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[6];
    grid-template-columns: repeat(6, 1fr);
    opacity: 0.1
}

.bg-grid._grid1 {
    grid-template-areas: " a01 a02 a03 a04 a05 a06 "" a07 a08 a09 a10 a11 a12 "" a13 a14 a15 a16 a17 a18 "" a19 a20 a21 a22 a23 a24 "" a25 a26 a27 a28 a29 a30 ";
    -ms-grid-rows: (250px)[5];
    grid-template-rows: repeat(5, 250px)
}

.bg-grid._grid1>._a01 {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    grid-area: a01
}

.bg-grid._grid1>._a02 {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
    grid-area: a02
}

.bg-grid._grid1>._a03 {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
    grid-area: a03
}

.bg-grid._grid1>._a04 {
    -ms-grid-row: 1;
    -ms-grid-column: 4;
    grid-area: a04
}

.bg-grid._grid1>._a05 {
    -ms-grid-row: 1;
    -ms-grid-column: 5;
    grid-area: a05
}

.bg-grid._grid1>._a06 {
    -ms-grid-row: 1;
    -ms-grid-column: 6;
    grid-area: a06
}

.bg-grid._grid1>._a07 {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
    grid-area: a07
}

.bg-grid._grid1>._a08 {
    -ms-grid-row: 2;
    -ms-grid-column: 2;
    grid-area: a08
}

.bg-grid._grid1>._a09 {
    -ms-grid-row: 2;
    -ms-grid-column: 3;
    grid-area: a09
}

.bg-grid._grid1>._a10 {
    -ms-grid-row: 2;
    -ms-grid-column: 4;
    grid-area: a10
}

.bg-grid._grid1>._a11 {
    -ms-grid-row: 2;
    -ms-grid-column: 5;
    grid-area: a11
}

.bg-grid._grid1>._a12 {
    -ms-grid-row: 2;
    -ms-grid-column: 6;
    grid-area: a12
}

.bg-grid._grid1>._a13 {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    grid-area: a13
}

.bg-grid._grid1>._a14 {
    -ms-grid-row: 3;
    -ms-grid-column: 2;
    grid-area: a14
}

.bg-grid._grid1>._a15 {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
    grid-area: a15
}

.bg-grid._grid1>._a16 {
    -ms-grid-row: 3;
    -ms-grid-column: 4;
    grid-area: a16
}

.bg-grid._grid1>._a17 {
    -ms-grid-row: 3;
    -ms-grid-column: 5;
    grid-area: a17
}

.bg-grid._grid1>._a18 {
    -ms-grid-row: 3;
    -ms-grid-column: 6;
    grid-area: a18
}

.bg-grid._grid1>._a19 {
    -ms-grid-row: 4;
    -ms-grid-column: 1;
    grid-area: a19
}

.bg-grid._grid1>._a20 {
    -ms-grid-row: 4;
    -ms-grid-column: 2;
    grid-area: a20
}

.bg-grid._grid1>._a21 {
    -ms-grid-row: 4;
    -ms-grid-column: 3;
    grid-area: a21
}

.bg-grid._grid1>._a22 {
    -ms-grid-row: 4;
    -ms-grid-column: 4;
    grid-area: a22
}

.bg-grid._grid1>._a23 {
    -ms-grid-row: 4;
    -ms-grid-column: 5;
    grid-area: a23
}

.bg-grid._grid1>._a24 {
    -ms-grid-row: 4;
    -ms-grid-column: 6;
    grid-area: a24
}

.bg-grid._grid1>._a25 {
    -ms-grid-row: 5;
    -ms-grid-column: 1;
    grid-area: a25
}

.bg-grid._grid1>._a26 {
    -ms-grid-row: 5;
    -ms-grid-column: 2;
    grid-area: a26
}

.bg-grid._grid1>._a27 {
    -ms-grid-row: 5;
    -ms-grid-column: 3;
    grid-area: a27
}

.bg-grid._grid1>._a28 {
    -ms-grid-row: 5;
    -ms-grid-column: 4;
    grid-area: a28
}

.bg-grid._grid1>._a29 {
    -ms-grid-row: 5;
    -ms-grid-column: 5;
    grid-area: a29
}

.bg-grid._grid1>._a30 {
    -ms-grid-row: 5;
    -ms-grid-column: 6;
    grid-area: a30
}

.tail {
    padding: 8rem 0 5rem;
    background-color: #eee;
    -webkit-clip-path: polygon(0 0, 100% 4rem, 100% 100%, 0 100%);
    clip-path: polygon(0 0, 100% 4rem, 100% 100%, 0 100%)
}

.bg-even2:nth-of-type(odd) {
    margin: 50px;
    background-color: rgba(230, 241, 217, 0.8)
}

.bg-even2:nth-of-type(even) {
    margin: 50px;
    background-color: rgba(242, 248, 236, 0.8)
}

.bg-even2>.container {
    padding-right: 60px;
    padding-left: 60px
}

@media (max-width: 576px) {
    .bg-even2:nth-of-type(odd) {
        margin: 10px
    }

    .bg-even2:nth-of-type(even) {
        margin: 10px
    }

    .bg-even2>.container {
        padding-right: 20px;
        padding-left: 20px
    }
}

.bg-surround {
    padding: 0 120px;
    background-image: url("../img/top_1_before.png"), url("../img/top_1_after.png");
    background-repeat: no-repeat, no-repeat;
    background-position: left 1rem center, right 1rem center;
    background-size: 150px, 150px
}

@media (max-width: 992px) {
    .bg-surround {
        padding: 0 80px;
        background-size: 70px, 70px
    }
}

@media (max-width: 576px) {
    .bg-surround {
        padding: 0;
        background-position: left 0.5rem bottom, right 0.5rem bottom;
        background-size: 30px, 30px
    }
}

.bg-facebook {
    background-color: #315096
}

.bg-instagram {
    background-image: linear-gradient(135deg, #427eff 0%, #f13f79 70%)
}

.bg-line {
    background-color: #00ca41
}

.bg-twitter {
    background-color: #1da1f2
}

.bg-youtube {
    background-color: #da1725
}

.bg-pinterest {
    background-color: #bd081c
}

.bg-lg {
    background: linear-gradient(120deg, #764c29 0%, #9b0000 100%) !important
}

.bg-harf {
    background-image: linear-gradient(120deg, transparent 30%, #faf5ea 30%)
}

.bg-harfv {
    background-image: linear-gradient(173deg, transparent 30%, #eee 30%)
}

@media (max-width: 992px) {
    .bg-harfv {
        background-image: linear-gradient(173deg, transparent 20%, #eee 20%)
    }
}

.bg-harfr {
    background-image: -webkit-gradient(linear, left top, right top, color-stop(30%, transparent), color-stop(30%, #faf2f2));
    background-image: linear-gradient(to right, transparent 30%, #faf2f2 30%)
}

.bg-harfl {
    background-image: -webkit-gradient(linear, right top, left top, color-stop(30%, transparent), color-stop(30%, #faf2f2));
    background-image: linear-gradient(to left, transparent 30%, #faf2f2 30%)
}

.bg-harfll {
    background-image: -webkit-gradient(linear, right top, left top, color-stop(60%, transparent), color-stop(60%, #faf5ea));
    background-image: linear-gradient(to left, transparent 60%, #faf5ea 60%)
}

.bg-gradient1 {
    background-image: -webkit-gradient(linear, left top, right bottom, from(#cf8a05), to(#7a5201));
    background-image: linear-gradient(to right bottom, #cf8a05, #7a5201)
}

.bg-stripe {
    background: repeating-linear-gradient(45deg, white, white 10px, #f6f9fe 10px, #f6f9fe 20px)
}

.bg-ichimatsu {
    background: linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%, #eee 100%) 0 0, linear-gradient(45deg, #eee 25%, #fff 25%, #fff 75%, #eee 75%, #eee 100%) 20px 20px;
    background-size: 40px 40px
}

.aa {
    padding-top: 120px;
    margin-top: -120px
}

@media (max-width: 1100px) {
    .aa {
        padding-top: 60px;
        margin-top: -60px
    }
}

.sticky {
    position: -webkit-sticky;
    position: sticky;
    top: 0
}

.shape {
    z-index: -1;
    width: 100%;
    height: 100%;
    background-color: #ff4f4f
}

.googlemaps iframe,
.googlemaps object,
.googlemaps embed {
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%);
    -webkit-transition: all 0.7s ease;
    transition: all 0.7s ease
}

.googlemaps iframe:hover,
.googlemaps object:hover,
.googlemaps embed:hover {
    -webkit-filter: grayscale(0%);
    filter: grayscale(0%)
}

@media (max-width: 576px) {
    .foot-add {
        height: 300px
    }
}

.floating_banner {
    position: fixed;
    top: 150px;
    right: 0;
    z-index: 990;
    opacity: 1;
    -webkit-transition: all 1s cubic-bezier(0.86, 0, 0.07, 1);
    transition: all 1s cubic-bezier(0.86, 0, 0.07, 1)
}

.floating_banner>li {
    margin-bottom: 1rem;
    overflow: hidden;
    background-image: -webkit-gradient(linear, left top, right bottom, from(#b94d4d), to(#7c0000));
    background-image: linear-gradient(to right bottom, #b94d4d, #7c0000);
    border-radius: 100px 0 0 100px
}

.floating_banner>li>a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 120px;
    height: auto;
    padding: 1rem 0
}

.floating_banner>li>a>em {
    display: inline-block;
    font-size: 0.7rem;
    color: #f8f9fa;
    text-align: center;
    letter-spacing: 0
}

.floating_banner.is-attached {
    opacity: 1
}

@media (max-width: 992px) {
    .floating_banner {
        width: 90px
    }
}

@media (max-width: 576px) {
    .floating_banner {
        display: none
    }
}

.floating_banner2 {
    position: fixed;
    bottom: 50px;
    left: 10px;
    z-index: 990;
    width: 6rem
}

@media (max-width: 1200px) {
    .floating_banner2 {
        display: none
    }
}

.footer_banner {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 900;
    width: 100%;
    padding: 1.2rem 0;
    color: #f8f9fa;
    opacity: 0;
    -webkit-transition: all 1s cubic-bezier(0.86, 0, 0.07, 1);
    transition: all 1s cubic-bezier(0.86, 0, 0.07, 1)
}

.footer_banner.is-attached {
    opacity: 1
}

@media (max-width: 992px) {
    .footer_banner {
        padding-bottom: 3rem
    }
}

@media (max-width: 576px) {
    .footer_banner {
        display: none
    }
}

.is-observe {
    position: relative;
    overflow: hidden
}

.is-observe::before {
    position: absolute;
    top: 0;
    left: -100%;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    content: ""
}

.is-observe>img,
.is-observe iframe {
    opacity: 0;
    -webkit-transform: translateX(-100%);
    -ms-transform: translateX(-100%);
    transform: translateX(-100%)
}

.is-observe[data-inview="visible"]::before {
    background-color: #9b0000;
    -webkit-animation-name: slidebefore;
    animation-name: slidebefore;
    -webkit-animation-duration: 1.5s;
    animation-duration: 1.5s;
    -webkit-animation-play-state: running;
    animation-play-state: running;
    -webkit-animation-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
    animation-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-animation-direction: normal;
    animation-direction: normal;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards
}

@-webkit-keyframes slidebefore {
    0% {
        left: -100%
    }

    50% {
        left: 0
    }

    100% {
        left: 100%
    }
}

@keyframes slidebefore {
    0% {
        left: -100%
    }

    50% {
        left: 0
    }

    100% {
        left: 100%
    }
}

.is-observe[data-inview="visible"]>img,
.is-observe[data-inview="visible"] iframe {
    -webkit-animation-name: slideimg;
    animation-name: slideimg;
    -webkit-animation-duration: 1.5s;
    animation-duration: 1.5s;
    -webkit-animation-play-state: running;
    animation-play-state: running;
    -webkit-animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-animation-direction: normal;
    animation-direction: normal;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards
}

@-webkit-keyframes slideimg {
    0% {
        opacity: 0;
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%)
    }

    50% {
        opacity: 0;
        -webkit-transform: translateX(-30%);
        transform: translateX(-30%)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@keyframes slideimg {
    0% {
        opacity: 0;
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%)
    }

    50% {
        opacity: 0;
        -webkit-transform: translateX(-30%);
        transform: translateX(-30%)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

.is-observe._tertiary[data-inview="visible"]::before {
    background-color: #464900
}

.u-returnTop {
    position: fixed;
    right: 2em;
    bottom: 1em;
    z-index: 996;
    cursor: pointer;
    opacity: 0;
    -webkit-transition: all 1s cubic-bezier(0.86, 0, 0.07, 1);
    transition: all 1s cubic-bezier(0.86, 0, 0.07, 1)
}

.u-returnTop a {
    display: inline-block;
    color: black
}

.u-returnTop a>img {
    width: 130px
}

.u-returnTop a>svg {
    width: 80px;
    height: 80px
}

.u-returnTop.is-attached {
    right: 1em;
    opacity: 1
}

@media (max-width: 1100px) {
    .u-returnTop {
        right: 2em;
        bottom: 6em
    }

    .u-returnTop a>svg {
        width: 60px;
        height: 60px
    }

    .u-returnTop.is-attached {
        right: 0;
        opacity: 1
    }
}

[data-lazy="vertical"],
[data-lazy="horizontal"] {
    z-index: -1;
    overflow: hidden
}

.fuwafuwa {
    -webkit-animation-name: fuwafuwa;
    animation-name: fuwafuwa;
    -webkit-animation-duration: 2s;
    animation-duration: 2s;
    -webkit-animation-play-state: running;
    animation-play-state: running;
    -webkit-animation-timing-function: ease;
    animation-timing-function: ease;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-direction: normal;
    animation-direction: normal;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards
}

@media (max-width: 1100px) {
    .u-sns1 {
        font-size: 0.9rem
    }

    .u-sns1 .inner-left,
    .u-sns1 .inner-right {
        width: 100%;
        padding: 5px
    }

    .u-sns1 .inner-left .u-snsstamp,
    .u-sns1 .inner-right .u-snsstamp {
        width: 30%
    }

    .u-sns1 .inner-left .u-snsbody,
    .u-sns1 .inner-right .u-snsbody {
        padding: 15px
    }
}

@-webkit-keyframes fuwafuwa {
    0% {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0)
    }

    50% {
        -webkit-transform: translate(0, -10px);
        transform: translate(0, -10px)
    }

    100% {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0)
    }
}

@keyframes fuwafuwa {
    0% {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0)
    }

    50% {
        -webkit-transform: translate(0, -10px);
        transform: translate(0, -10px)
    }

    100% {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0)
    }
}

.u-blur {
    text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.7), -2px -2px 2px rgba(0, 0, 0, 0.7), -2px 2px 2px rgba(0, 0, 0, 0.7), 2px -2px 2px rgba(0, 0, 0, 0.7)
}

.toggle-height {
    cursor: pointer;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.9rem
}

.toggle-height._opened {
    font-size: 1rem;
    overflow: initial;
    text-overflow: initial;
    white-space: initial;
    background-color: #faf5ea
}

.swiper-dock .pagination .swiper-pagination-bullet:not(.swiper-pagination-bullet-active) {
    background-color: #eee
}

.page-view {
    overflow: hidden;
    height: 100%;
    width: 100%;
    position: relative
}

.page-view .project {
    position: absolute;
    width: 100%;
    height: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover
}

.page-view .project:nth-child(1) {
    z-index: 30
}

@-webkit-keyframes mask-play {
    from {
        -webkit-mask-position: 0% 0;
        mask-position: 0% 0
    }

    to {
        -webkit-mask-position: 100% 0;
        mask-position: 100% 0
    }
}

@keyframes mask-play {
    from {
        -webkit-mask-position: 0% 0;
        mask-position: 0% 0
    }

    to {
        -webkit-mask-position: 100% 0;
        mask-position: 100% 0
    }
}

.demo-3 {
    background: url(../CSSMaskTransition/img/urban-sprite.png) no-repeat -9999px -9999px
}

.demo-3 .page-view {
    background: url(../CSSMaskTransition/img/urban-sprite-2.png) no-repeat -9999px -9999px
}

.demo-3 .page-view h1 {
    font-size: 180px !important;
    letter-spacing: 4px;
    text-shadow: 14px 0px rgba(1, 0, 0, 0.5)
}

.demo-3 .page-view .project.hide {
    -webkit-mask: url(../CSSMaskTransition/img/urban-sprite.png);
    mask: url(../CSSMaskTransition/img/urban-sprite.png);
    -webkit-mask-size: 3000% 100%;
    mask-size: 3000% 100%;
    -webkit-animation: mask-play 1.4s steps(29) forwards;
    animation: mask-play 1.4s steps(29) forwards
}

.no-cssmask .page-view .project.hide {
    opacity: 0;
    -webkit-transition: opacity 1.4s ease;
    transition: opacity 1.4s ease;
    -webkit-mask: none !important;
    mask: none !important
}

.form-contents .submit-btn{
    background: #9b0000!important;
    border: solid 2px #9b0000!important;
  }
  .form-contents :not(.pattern-exclusion) button:hover {
    color: #9b0000!important;
    background: #fff!important;
    border: solid 2px #9b0000!important;
  }
  .form-contents .submit-btn:hover::before {
        background-color: #9b0000!important;
  }
  
  .form-contents dl dt:not(.pattern-exclusion) span.optional::before {
    padding:0 5px 0;
    margin-right: 5px;
    font-size: 11px;
    border-radius: 2px;
    position: relative;
    top: -2px;
  }
  .form-contents dl dt:not(.pattern-exclusion) span.optional::before {
    content: '任意';
    color: #fff!important;
    background: #198754!important;
  }
  
  .form-contents form dl {
    margin-bottom: 0!important;
}


/*# sourceMappingURL=style.css.map */