@charset 'UTF-8';
/*@font-face {
    font-family: 'NotoSans';
    src: url(../font/NotoSans_regular.woff) format('woff');
	font-weight: normal;
}

@font-face {
    font-family: 'NotoSans';
    src: url(../font/NotoSans_bold.woff) format('woff');
	font-weight: bold;
}*/
/*初期設定
----------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;500;700&display=swap');
@import url('//fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');
@page
{
    margin: 0;
}
/* リセット設定 */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video
{
    font: inherit;
    font-size: 100%;

    margin: 0;
    padding: 0;

    vertical-align: baseline;

    border: 0;
}

ul
{
    list-style: none;
}

img
{
    vertical-align: bottom;
}
@media screen and (max-width: 768px)
{
    img
    {
        max-width: 100%;
    }
}

/* color設定 */
/* fontcolor設定 */
/* 基本設定 */
body
{
    font-family: 'Roboto', 'NotoSansCJKjp', '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Meiryo UI', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    font-size: 14px;
    font-size: .875rem;
    line-height: 1.6;

    box-sizing: border-box;
    width: 100%;
    min-width: 1280px;

    letter-spacing: .06em;

    color: #333;
    background-color: #fff;

       -moz-text-size-adjust: none;
    -webkit-text-size-adjust: 100%;
            text-size-adjust: 100%;
}
body.fixed
{
    position: fixed;

    overflow: hidden;

    width: 100%;
}
@media screen and (max-width: 768px)
{
    body
    {
        font-size: 3.2710280374vw;

        min-width: 320px;
    }
}

*
{
    box-sizing: border-box;

    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.form-ta::-moz-placeholder, input::-moz-placeholder
{
    color: #eae6be;
}

.form-ta:-ms-input-placeholder, input:-ms-input-placeholder
{
    color: #eae6be;
}

.form-ta::placeholder,
input::placeholder
{
    color: #eae6be;
}

textarea::-ms-input-placeholder,
input:-ms-input-placeholder
{
    color: #eae6be;
}

html
{
    height: 100%;
}

input,
textarea
{
    -webkit-appearance: none;
}

input:focus,
button:focus,
textarea:focus
{
    outline: 0;
}

a
{
    position: relative;

    text-decoration: none;

    color: #333;
}
a:link
{
    color: #333;
}

a::after
{
    position: absolute;
    bottom: -8px;
    left: 0;

    width: 100%;
    height: 1px;

    content: '';
    transition: transform .3s;
    transform: scale(0, 1);
    transform-origin: right top;

    background: #333;
}

a:hover::after
{
    transform: scale(1, 1);
    transform-origin: left top;
}

.bread__wrap .bread li a::after,
.page-news-detail--content a::after,
.drawer-menu-wrapper .drawer-menu--item a:hover::after,
.u-btn__defo::after,
.u-link__more::after,
a.ul::after,
a.op::after
{
    position: inherit;
    bottom: inherit;
    left: inherit;

    width: inherit;
    height: inherit;

    content: none;
    transition: none;
    transform: none;
    transform-origin: none;

    background: #333;
}

a.op
{
    text-decoration: none;

    color: #333;
}
a.op:link
{
    color: #333;
}
a.op:hover
{
    transition-duration: .2s;

    opacity: .7;
}
a.op:hover::after
{
    content: none;
}

a.ul
{
    padding-bottom: 4px;

    text-decoration: none;

    color: #333;
    border-bottom: 1px solid #333;
}
a.ul:link
{
    color: #333;
}
a.ul:hover
{
    transition-duration: .2s;

    opacity: .7;
}
a.ul:hover::after
{
    content: none;
}

.u-date
{
    font-size: 14px;

    color: #999;
}
@media screen and (max-width: 768px)
{
    .u-date
    {
        font-size: 2.8037383178vw;
    }
}

.u-obj-sm
{
    padding-top: 16px;
}

.u-dl-set
{
    display: flex;

    padding-bottom: 8px;

    align-items: center;
}
.u-dl-set dt
{
    font-weight: bold;

    padding-right: 24px;
}

.u-dl-set__horizontal > div
{
    padding: 16px 0;

    border-bottom: solid 1px #ddd;
}
.u-dl-set__horizontal dt
{
    font-size: 12px;
    font-weight: bold;
}
.u-dl-set__horizontal dd
{
    font-size: 16px;

    padding-top: 8px;
}

@media screen and (max-width: 768px)
{
    .u-table-wrapper
    {
        overflow: auto;

        white-space: nowrap;
    }
}
.u-table-wrapper table
{
    width: 100%;

    border-spacing: 0;
    border-collapse: collapse;
}
.u-table-wrapper table th,
.u-table-wrapper table td
{
    padding: 16px;

    text-align: center;
    vertical-align: middle;

    border-bottom: solid 1px #ddd;
}
.u-table-wrapper table th
{
    font-weight: bolder;

    text-align: center;
    vertical-align: middle;
}

.u-sup-txt
{
    font-weight: normal;

    display: block;

    color: #999;
}

.u-fee__lg
{
    font-size: 20px;
    font-weight: bold;
}
@media screen and (max-width: 768px)
{
    .u-fee__lg
    {
        font-size: 4.2056074766vw;
    }
}
.u-fee__md
{
    font-size: 16px;
    font-weight: bold;
}
@media screen and (max-width: 768px)
{
    .u-fee__md
    {
        font-size: 3.2710280374vw;
    }
}

.u-pt__xs
{
    padding-top: 8px;
}
.u-pt__sm
{
    padding-top: 16px;
}
.u-pt__base
{
    padding-top: 24px;
}
.u-pt__lg
{
    padding-top: 48px;
}
.u-pt__xl
{
    padding-top: 64px;
}

.u-box__defo
{
    padding-top: 24px;
}
@media screen and (max-width: 768px)
{
    .u-box__defo
    {
        padding-top: 5.6074766355vw;
    }
}
.u-box__bdb
{
    padding-bottom: 24px;

    border-bottom: 1px solid #ddd;
}
@media screen and (max-width: 768px)
{
    .u-box__bdb
    {
        padding-bottom: 5.6074766355vw;
    }
}

.u-link__more
{
    position: relative;

    padding-right: 24px;
}
.u-link__more:hover::after
{
    right: -5px;
}
@media screen and (max-width: 768px)
{
    .u-link__more:hover::after
    {
        top: -.9345794393vw;
        right: -7.476635514vw;
    }
}
.u-link__more::after
{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;

    width: 18px;
    height: 12px;
    margin: auto;

    content: '';
    transition: .2s ease;

    background: url(../img/common/icn_arrow.svg) no-repeat;
}
@media screen and (max-width: 768px)
{
    .u-link__more::after
    {
        top: -.9345794393vw;
        right: -7.476635514vw;

        transition: inherit;
        transform: inherit;
    }
}

.u-content__inner
{
    position: relative;

    width: 1200px;
    margin: 0 auto;
    padding: 128px 0;
}
@media screen and (max-width: 768px)
{
    .u-content__inner
    {
        width: 100%;
        padding: 22.4299065421vw 5.6074766355vw;
    }
}

.u-content__inner-sub
{
    position: relative;

    width: 1200px;
    margin: 0 auto;
    padding: 48px 0;
}
@media screen and (max-width: 768px)
{
    .u-content__inner-sub
    {
        width: 100%;
        padding: 5.6074766355vw 5.6074766355vw 14.953271028vw 5.6074766355vw;
    }
}

.u-content__inner-full
{
    position: relative;
}

.u-title__modal
{
    padding-bottom: 48px;
}
@media screen and (max-width: 768px)
{
    .u-title__modal img
    {
        width: auto;
        height: 5.1401869159vw;
    }
}
.u-title__modal span
{
    font-size: 16px;
    font-weight: bold;

    padding-left: 24px;
}
@media screen and (max-width: 768px)
{
    .u-title__modal span
    {
        font-size: 3.2710280374vw;

        display: block;

        padding-top: 3.738317757vw;
        padding-left: inherit;
    }
}

.u-title__set-under
{
    padding-bottom: 64px;
}
@media screen and (max-width: 768px)
{
    .u-title__set-under
    {
        padding-bottom: 5.6074766355vw;
    }
    .u-title__set-under img
    {
        width: auto;
        height: 5.1401869159vw;
    }
}
.u-title__set-under span
{
    font-size: 16px;
    font-weight: bold;

    padding-left: 24px;
}
@media screen and (max-width: 768px)
{
    .u-title__set-under span
    {
        font-size: 3.2710280374vw;

        display: block;

        padding-top: 3.738317757vw;
        padding-left: inherit;
    }
}

.u-title__set
{
    position: absolute;
    top: -16px;
    left: 100px;
}
@media screen and (max-width: 768px)
{
    .u-title__set
    {
        top: -2.8037383178vw;
        left: 5.6074766355vw;
    }
    .u-title__set img
    {
        width: auto;
        height: 5.1401869159vw;
    }
}
.u-title__set span
{
    font-size: 16px;
    font-weight: bold;

    padding-left: 24px;
}
@media screen and (max-width: 768px)
{
    .u-title__set span
    {
        font-size: 3.2710280374vw;

        display: block;

        padding-top: 3.738317757vw;
        padding-left: inherit;
    }
}

.u-title__set-full
{
    position: absolute;
    top: -48px;
    left: 50%;

    margin-left: -496px;
}
@media screen and (max-width: 768px)
{
    .u-title__set-full
    {
        top: -8.4112149533vw;
        left: 5.6074766355vw;

        margin-left: inherit;
    }
    .u-title__set-full img
    {
        height: 5.1401869159vw;
    }
}
.u-title__set-full span
{
    font-size: 16px;
    font-weight: bold;

    padding-left: 24px;
}
@media screen and (max-width: 768px)
{
    .u-title__set-full span
    {
        font-size: 3.2710280374vw;

        padding-left: 3.738317757vw;
    }
}

.u-title__set-sm > img
{
    vertical-align: middle;
}
@media screen and (max-width: 768px)
{
    .u-title__set-sm > img
    {
        height: 4.6728971963vw;
    }
}
.u-title__set-sm span
{
    font-size: 14px;
    font-weight: bold;

    padding-left: 24px;

    vertical-align: middle;
}
@media screen and (max-width: 768px)
{
    .u-title__set-sm span
    {
        font-size: 3.2710280374vw;

        display: block;

        padding-top: 3.738317757vw;
        padding-left: inherit;
    }
}

.u-title__set-vertical
{
    padding-bottom: 32px;
}
@media screen and (max-width: 768px)
{
    .u-title__set-vertical img
    {
        height: 5.1401869159vw;
    }
}
.u-title__set-vertical span
{
    font-size: 16px;
    font-weight: bold;

    display: block;

    padding-top: 24px;
}
@media screen and (max-width: 768px)
{
    .u-title__set-vertical span
    {
        font-size: 3.2710280374vw;
    }
}

.u-title__lg
{
    font-size: 20px;
    font-weight: bold;

    padding-bottom: 24px;
}
@media screen and (max-width: 768px)
{
    .u-title__lg
    {
        font-size: 4.6728971963vw;

        padding-bottom: 3.738317757vw;
    }
}
.u-title__md
{
    font-size: 18px;
    font-weight: bold;

    padding-bottom: 24px;
}
@media screen and (max-width: 768px)
{
    .u-title__md
    {
        font-size: 4.2056074766vw;
    }
}
.u-title__base
{
    font-size: 16px;
    font-weight: bold;

    padding-bottom: 16px;
}
@media screen and (max-width: 768px)
{
    .u-title__base
    {
        font-size: 4.2056074766vw;
    }
}
.u-title__sub2
{
    font-size: 13px;
    font-weight: bold;
    line-height: 1;

    padding: 8px 16px;

    color: #fff;
    border-radius: 20px;
    background: #333;
}
@media screen and (max-width: 768px)
{
    .u-title__sub2
    {
        font-size: 3.2710280374vw;

        width: 100%;

        text-align: center;
    }
}

.u-btn-wrap
{
    padding-top: 24px;
}
.u-btn__defo
{
    line-height: 48px;

    display: inline-block;

    min-width: 280px;

    transition: .3s ease;
    text-align: center;

    border: solid 1px #333;
    border-radius: 24px;
}
@media screen and (max-width: 768px)
{
    .u-btn__defo
    {
        line-height: 11.214953271vw;

        width: 100%;

        border-radius: 5.6074766355vw;
    }
}
.u-btn__defo:hover
{
    background: #f8f8f8;
}

.u-txt
{
    line-height: 2;

    color: rgba(0, 0, 0, .57);
}
@media screen and (max-width: 768px)
{
    .u-txt
    {
        font-size: 3.738317757vw;
    }
}
.u-txt__lg
{
    font-size: 16px;
    line-height: 2;

    color: rgba(0, 0, 0, .57);
}
.u-txt__lg p
{
    padding-top: 24px;
}
.u-txt__lg p:first-child
{
    padding-top: 0;
}
@media screen and (max-width: 768px)
{
    .u-txt__lg__lg
    {
        font-size: 3.738317757vw;
    }
    .u-txt__lg__lg p
    {
        padding-top: 5.6074766355vw;
    }
}
.u-txt p
{
    padding-top: 24px;
}
.u-txt p:first-child
{
    padding-top: 0;
}
@media screen and (max-width: 768px)
{
    .u-txt p
    {
        padding-top: 5.6074766355vw;
    }
}

.u__ispc
{
    display: block !important;
}
@media screen and (max-width: 768px)
{
    .u__ispc
    {
        display: none !important;
    }
}

.u__issp
{
    display: none !important;
}
@media screen and (max-width: 768px)
{
    .u__issp
    {
        display: block !important;
    }
}

main
{
    margin-top: 172px;
}
@media screen and (max-width: 768px)
{
    main
    {
        margin-top: 18.691588785vw;
    }
}

header
{
    position: fixed;
    z-index: 4;
    top: 0;
    right: 0;
    left: 0;

    background: #fff;
    background: #fff;
}

.header-wrapper
{
    position: relative;

    display: block;

    min-width: 1200px;
    height: 172px;

    transition: .3s ease;
}
@media screen and (max-width: 768px)
{
    .header-wrapper
    {
        min-width: inherit;
        height: 18.691588785vw;
        padding: 4.6728971963vw 5.6074766355vw;
    }
}
.header-wrapper .header-logo-wrapper
{
    position: absolute;
    top: 24px;
    left: 40px;

    width: 200px;
    height: 104px;

    transition: .3s ease;
}
@media screen and (max-width: 768px)
{
    .header-wrapper .header-logo-wrapper
    {
        position: relative;
        top: inherit;
        left: inherit;

        min-width: none;
        height: auto;
    }
}
.header-wrapper .header-logo
{
    display: block;
}
@media screen and (max-width: 768px)
{
    .header-wrapper .header-logo
    {
        display: none;
    }
}
.header-wrapper .header-logo-sp
{
    display: none;
}
@media screen and (max-width: 768px)
{
    .header-wrapper .header-logo-sp
    {
        display: block;

        width: 170px;
        height: auto;
    }
}
.header-wrapper .gnav-wrapper
{
    position: absolute;
    top: 80px;
    right: 40px;

    transition: .3s ease;
}
@media screen and (max-width: 768px)
{
    .header-wrapper .gnav-wrapper
    {
        display: none;
    }
}
.header-wrapper .gnav
{
    position: relative;

    display: flex;

    align-items: center;
}
.header-wrapper .gnav > li
{
    position: relative;

    padding-left: 24px;
}
.header-wrapper .gnav .icn-contact
{
    display: none;
}
@media screen and (max-width: 768px)
{
    .header-wrapper .gnav
    {
        display: none;
    }
}
.header-wrapper .subnav-wrapper
{
    position: absolute;
    top: 0;
    right: 0;

    display: flex;

    height: 40px;
    padding-right: 40px;
    padding-left: 24px;

    transition: .3s ease;

    border-radius: 0 0 0 16px;
    background: #fff000;

    justify-content: space-between;
    align-items: center;
}
@media screen and (max-width: 768px)
{
    .header-wrapper .subnav-wrapper
    {
        display: none;
    }
}
.header-wrapper .subnav
{
    display: flex;

    transition: .3s ease;

    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}
.header-wrapper .subnav--item
{
    padding-left: 24px;

    transition: .3s ease;
}
.header-wrapper .subnav--item:first-child
{
    padding-right: 24px;
    padding-left: 0;

    border-right: solid 1px #454545;
}
.header-wrapper.active
{
    height: 80px;
}
.header-wrapper.active .header-logo-wrapper
{
    top: 22px;

    width: 220px;
    height: 35px;
}
.header-wrapper.active .gnav-wrapper
{
    top: 18px;
    right: 40px;
}
.header-wrapper.active .icn-contact
{
    display: block;
}
.header-wrapper.active .subnav-wrapper
{
    -webkit-animation: fadeOut .3s ease 0s forwards;
            animation: fadeOut .3s ease 0s forwards;

    opacity: 0;
}
@media screen and (max-width: 768px)
{
    .header-wrapper.active
    {
        height: 18.691588785vw;
    }
    .header-wrapper.active .header-logo-wrapper
    {
        top: inherit;

        width: inherit;
        height: inherit;
    }
}

@-webkit-keyframes fadeOut
{
    0%
    {
        display: flex;

        opacity: 1;
    }
    99%
    {
        display: flex;

        opacity: 0;
    }
    100%
    {
        display: none;

        opacity: 0;
    }
}

@keyframes fadeOut
{
    0%
    {
        display: flex;

        opacity: 1;
    }
    99%
    {
        display: flex;

        opacity: 0;
    }
    100%
    {
        display: none;

        opacity: 0;
    }
}
.message
{
    padding: 224px 0;

    text-align: center;

    background: url('/assets/img/common/bg_slash.svg');
    background-color: #5eb93c;
}
@media screen and (max-width: 768px)
{
    .message
    {
        padding: 52.3364485981vw 0;
    }
}
.message--logo
{
    padding-bottom: 48px;
}
@media screen and (max-width: 768px)
{
    .message--logo
    {
        padding-bottom: 11.214953271vw;
    }
    .message--logo > img
    {
        height: 21.0280373832vw;
    }
}
@media screen and (max-width: 768px)
{
    .message--txt > img
    {
        height: 10.5140186916vw;
    }
}

.ancor-set
{
    margin-top: -120px;
    padding-top: 120px;
}
@media screen and (max-width: 768px)
{
    .ancor-set
    {
        margin-top: -28.0373831776vw;
        padding-top: 28.0373831776vw;
    }
}

.ancor-set2
{
    margin-top: -160px;
    padding-top: 160px;
}
@media screen and (max-width: 768px)
{
    .ancor-set2
    {
        margin-top: -32.7102803738vw;
        padding-top: 32.7102803738vw;
    }
}

/* menu */
.menu__trigger
{
    display: none;
}
@media screen and (max-width: 768px)
{
    .menu__trigger
    {
        display: block;
    }
}

.menu__trigger,
.menu__trigger span
{
    box-sizing: border-box;

    transition: all .4s;
}

.menu__trigger
{
    position: absolute;
    top: 5.6074766355vw;
    right: 5.6074766355vw;

    width: 30px;
    height: 30px;

    cursor: pointer;

    border: none;
    background: none;

    -webkit-appearance: none;

       -moz-appearance: none;

            appearance: none;
}

.menu__trigger span
{
    position: absolute;
    left: 4px;

    width: 22px;
    height: 2px;

    border-radius: 2px;
    background-color: #999;
}

.menu__trigger span:nth-of-type(1)
{
    top: 10px;
}

.menu__trigger span:nth-of-type(2)
{
    top: 20px;
}

.menu__trigger.active span:nth-of-type(1)
{
    transform: translateY(5px) rotate(-45deg);
}

.menu__trigger.active span:nth-of-type(2)
{
    transform: translateY(-5px) rotate(45deg);
}

.drawer-menu-wrapper
{
    position: fixed;
    z-index: 999;
    top: 14.953271028vw;
    left: 0;

    display: none;

    width: 100%;
    height: 100%;

    background: #fff;
}
.drawer-menu-wrapper .drawer-menu
{
    overflow-y: auto;

    margin: 0 auto;
    padding-top: 22.4299065421vw;

    -webkit-overflow-scrolling: touch;
}
.drawer-menu-wrapper .drawer-menu--item
{
    font-size: 3.738317757vw;

    padding-top: 0;
    padding-bottom: 5.6074766355vw;

    text-align: center;
}
.drawer-menu-wrapper .drawer-menu--item a:link
{
    color: #333;
}
.drawer-menu-wrapper .drawer-menu--item-under
{
    display: none;

    padding: 16px;

    background: #f8f8f8;
}
.drawer-menu-wrapper .drawer-menu--item-under > li
{
    padding: 10px 0 10px 15px;

    border-bottom: 1px solid #ddd;
}
.drawer-menu-wrapper .drawer-menu--item-under > li:first-child
{
    padding-top: 0;
}
.drawer-menu-wrapper .drawer-menu--item-under > li:last-child
{
    padding-bottom: 0;

    border-bottom: none;
}
.drawer-menu-wrapper .drawer-menu--item > li
{
    border-bottom: solid 1px #ddd;
    background: #fff;
}
.drawer-menu-wrapper .drawer-menu--item > li > a
{
    position: relative;

    display: block;

    padding: 20px;
}
.drawer-menu-wrapper .drawer-menu--item > li > a.accordion:before
{
    position: absolute;
    top: 0;
    right: 25px;
    bottom: 0;

    display: block;

    width: 20px;
    height: 2px;
    margin: auto;

    content: '';
    transition: .2s;
    transform: rotate(90deg);

    background-color: #999;
}
.drawer-menu-wrapper .drawer-menu--item > li > a.accordion:after
{
    position: absolute;
    top: 0;
    right: 25px;
    bottom: 0;
    left: inherit;

    display: block;

    width: 20px;
    height: 2px;
    margin: auto;

    content: '';
    transition: none;
    transition: .3s;
    transform: none;
    transform-origin: none;

    background: none;
    background-color: #999;
}
.drawer-menu-wrapper .drawer-menu--item > li > a.accordion.on:before
{
    transform: rotate(0deg);
}
.drawer-menu-wrapper .drawer-menu--item > li > a.accordion.on:after
{
    background: transparent;
}

.subnav-dm-wrapper
{
    padding-top: 5.6074766355vw;
}
.subnav-dm-wrapper .subnav-dm
{
    width: 70.0934579439vw;
    margin: 0 auto;
}
.subnav-dm-wrapper .subnav-dm--item a
{
    font-size: 3.2710280374vw;
    line-height: 9.3457943925vw;

    display: block;

    height: 9.3457943925vw;
    margin-bottom: 5.6074766355vw;
    padding: 0 5.6074766355vw;

    text-align: center;

    border-radius: 100px;
    background: #fff000;
}
.subnav-dm-wrapper .subnav-dm--item a.tel
{
    font-size: 3.2710280374vw;
    line-height: 9.3457943925vw;

    display: block;

    height: 9.3457943925vw;
    padding: 0 5.6074766355vw;

    text-align: center;

    border: solid 1px #333;
    border-radius: 100px;
    background: #fff;
}

.sns-dm-wrapper .sns-dm
{
    display: flex;

    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}
.sns-dm-wrapper .sns-dm--item a
{
    padding: 0 2.8037383178vw;
}
.sns-dm-wrapper .sns-dm--item a > img
{
    width: 5.6074766355vw;
}

.mv-wrapper
{
    position: relative;

    overflow: hidden;

    height: calc(100vh - 74px);
    min-height: 758px;
}
@media screen and (max-width: 768px)
{
    .mv-wrapper
    {
        height: calc(100vh - 10vw);
        min-height: inherit;
    }
}
.mv--img
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    padding-left: 142px;
}
@media screen and (max-width: 768px)
{
    .mv--img
    {
        padding-left: 0;
    }
}
.mv--img .mv--img
{
    border-radius: 32px 0 0 32px;
}
@media screen and (max-width: 768px)
{
    .mv--img .mv--img
    {
        border-radius: 0;
    }
}
.mv--img .mv--img-item > img
{
    position: relative;

    width: 100%;
    height: calc(100vh - 220px);
    min-height: 660px;

    -o-object-fit: cover;

       object-fit: cover;
    filter: brightness(.7);
}
@media screen and (max-width: 768px)
{
    .mv--img .mv--img-item > img
    {
        height: calc(100vh - 63vw);
        min-height: inherit;

        border-radius: 0;
    }
}
.mv--bg
{
    height: calc(100vh - 172px);
    min-height: 660px;
    margin-top: 96px;

    background: url(../img/common/bg_slash.svg);
    background-color: #5eb93c;
}
@media screen and (max-width: 768px)
{
    .mv--bg
    {
        display: none;
    }
}
.mv--catch
{
    position: absolute;
    z-index: 3;
    top: 192px;
    left: 92px;

    width: 404px;
    height: 189px;
}
@media screen and (max-width: 768px)
{
    .mv--catch
    {
        top: 46.7289719626vw;
        left: 10.2803738318vw;

        width: 74.7663551402vw;
        height: auto;
    }
}
.mv--scroll-guide
{
    position: absolute;
    bottom: 152px;
    left: 42px;

    width: 14px;
    height: 164px;
}
@media screen and (max-width: 768px)
{
    .mv--scroll-guide
    {
        display: none;
    }
}
.mv--scroll-title
{
    font-size: 12px;

    display: block;

    transform: rotate(90deg);
    transform-origin: left;

    color: #fff;
}
.mv--scroll-wrap
{
    width: 1px;
    height: 105px;
    margin-top: 40px;

    background: #fff;
}
.mv--scroll-wrap > span
{
    position: absolute;
    top: 50px;

    display: block;

    width: 1px;
    height: 10px;

    -webkit-animation: scroll-guide 2s ease infinite;

            animation: scroll-guide 2s ease infinite;

    background: #5eb93c;
}
.mv--news
{
    position: absolute;
    z-index: 3;
    right: 40px;
    bottom: 188px;

    display: flex;

    width: 792px;
    padding: 16px 24px;

    border-radius: 24px;
    background: #fff;

    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}
@media screen and (max-width: 768px)
{
    .mv--news
    {
        right: 0;
        bottom: 28.5046728972vw;

        display: block;

        width: 100%;
        padding: 1.8691588785vw 3.738317757vw;

        border-radius: 0;
        background: #f8f8f8;
    }
}
.mv--news-title
{
    font-size: 14px;
    font-weight: bold;

    padding-right: 24px;
}
@media screen and (max-width: 768px)
{
    .mv--news-title
    {
        padding-right: 3.738317757vw;
    }
}
.mv--news-list
{
    display: flex;

    width: 600px;

    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}
@media screen and (max-width: 768px)
{
    .mv--news-list
    {
        width: inherit;

        justify-content: flex-start;
    }
}
.mv--news-list-item
{
    display: flex;

    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
}
@media screen and (max-width: 768px)
{
    .mv--news-list-item
    {
        font-size: 2.8037383178vw;

        width: inherit;

        justify-content: flex-start;
    }
    .mv--news-list-item > a
    {
        font-size: 3.2710280374vw;

        width: 100%;

        text-overflow: ellipsis;
    }
}
@media screen and (max-width: 768px)
{
    .mv-news-more
    {
        display: flex;

        justify-content: flex-end;
    }
}

.news-cate__cate01
{
    font-size: 12px;

    margin: 0 16px 0 8px;

    background: linear-gradient(rgba(255, 240, 0, 0) 0%, rgba(255, 240, 0, 0) 40%, #fff000 40%, #fff000 80%, rgba(255, 240, 0, 0) 80%, rgba(255, 240, 0, 0) 100%);
}

.news-cate__cate02
{
    font-size: 11px;
    line-height: 1;

    display: inline-flex;

    padding: 4px 8px;

    border-radius: 20px;
    background: #eee;

    align-items: center;
}

@-webkit-keyframes scroll-guide
{
    0%
    {
        top: 50px;
    }
    100%
    {
        top: 100%;
    }
}

@keyframes scroll-guide
{
    0%
    {
        top: 50px;
    }
    100%
    {
        top: 100%;
    }
}
.about-wrapper
{
    background: url(../img/top/bg_about.svg);
}
@media screen and (max-width: 768px)
{
    .about-wrapper
    {
        background-size: 240%;
    }
}
.about-content-wrapper
{
    display: flex;

    width: 1200px;
    margin: 0 auto;

    justify-content: space-between;
    flex-wrap: wrap;
}
@media screen and (max-width: 768px)
{
    .about-content-wrapper
    {
        display: block;

        width: 100%;
    }
}
.about--img
{
    width: 588px;

    text-align: center;
}
.about--img img
{
    width: 486px;
    height: auto;
}
@media screen and (max-width: 768px)
{
    .about--img
    {
        width: 100%;

        text-align: center;
    }
    .about--img img
    {
        width: 88.785046729vw;
    }
}
.about--detail
{
    width: 588px;
    padding: 0 102px;
}
@media screen and (max-width: 768px)
{
    .about--detail
    {
        width: 100%;
        padding: 0;
    }
}
.about--catch
{
    font-size: 24px;
    font-weight: bold;

    padding-bottom: 24px;

    letter-spacing: .1em;
}
@media screen and (max-width: 768px)
{
    .about--catch
    {
        font-size: 5.1401869159vw;

        padding-bottom: 5.6074766355vw;
    }
}
.about--illust01
{
    padding-top: 32px;

    text-align: right;
}
.about--illust01 > img
{
    width: 280px;
}
@media screen and (max-width: 768px)
{
    .about--illust01 > img
    {
        width: 56.0747663551vw;
    }
}

.features-wrapper
{
    padding-bottom: 128px;

    transition: 1s ease;

    background-color: #f8f8f8;
    background-image: url(../img/common/bg_circle.svg), url(../img/common/bg_slash.svg);
    background-repeat: no-repeat, repeat;
    background-position: -500px 60px, left;
    background-size: 40%, auto;
}
.features-wrapper.active
{
    background-position: -250px 60px, left;
}
@media screen and (max-width: 768px)
{
    .features-wrapper
    {
        background-position: -93.4579439252vw 46.7289719626vw, left;
        background-size: 80%, auto;
    }
    .features-wrapper.active
    {
        background-position: -37.3831775701vw 46.7289719626vw, left;
    }
}
.features__inner
{
    display: flex;

    width: 1200px;
    margin: 0 auto;
    padding: 128px 0;

    justify-content: space-between;
    flex-wrap: wrap;
}
@media screen and (max-width: 768px)
{
    .features__inner
    {
        flex-direction: column-reverse;

        width: 100%;
        padding: 5.6074766355vw 0 29.9065420561vw;
    }
}
.features-detail-wrapper
{
    padding-left: 102px;
}
@media screen and (max-width: 768px)
{
    .features-detail-wrapper
    {
        padding-left: 5.6074766355vw;
    }
}
@media screen and (max-width: 768px)
{
    .features-img__right
    {
        padding: 11.214953271vw 5.6074766355vw;
    }
}
.features-img__right img
{
    width: 690px;
    height: auto;

    border-radius: 32px;
}
@media screen and (max-width: 768px)
{
    .features-img__right img
    {
        width: 100%;

        border-radius: 5.6074766355vw;
    }
}
.features-section-wrapper
{
    position: relative;

    display: flex;

    width: 1200px;
    margin: 0 auto;
    margin-bottom: 128px;

    border-radius: 32px;
    background: #fff;

    flex-wrap: wrap;
}
@media screen and (max-width: 768px)
{
    .features-section-wrapper
    {
        flex-direction: column-reverse;

        width: inherit;
        margin: 0 5.6074766355vw 29.9065420561vw 5.6074766355vw;
    }
}
.features-section-wrapper:last-child
{
    margin-bottom: 0;
}
.features-section-wrapper-r
{
    position: relative;

    display: flex;
    flex-direction: row-reverse;

    width: 1200px;
    margin: 0 auto;
    margin-bottom: 128px;

    border-radius: 32px;
    background: #fff;

    flex-wrap: wrap;
}
@media screen and (max-width: 768px)
{
    .features-section-wrapper-r
    {
        flex-direction: column-reverse;

        width: inherit;
        margin: 0 5.6074766355vw 29.9065420561vw 5.6074766355vw;
    }
}
.features-section-wrapper-r:last-child
{
    margin-bottom: 0;
}
.features-section--detail
{
    width: 50%;
    padding: 88px 102px;
}
@media screen and (max-width: 768px)
{
    .features-section--detail
    {
        width: 100%;
        padding: 5.6074766355vw 5.6074766355vw;
    }
}
.features-section--img
{
    width: 50%;
}
@media screen and (max-width: 768px)
{
    .features-section--img
    {
        width: 100%;
    }
}
.features-section--img img
{
    width: 100%;
    height: auto;

    border-radius: 0 32px 32px 0;
}
@media screen and (max-width: 768px)
{
    .features-section--img img
    {
        border-radius: 5.6074766355vw 5.6074766355vw 0 0;
    }
}
.features-section--img img.rev
{
    width: 100%;
    height: auto;

    border-radius: 32px 0 0 32px;
}
@media screen and (max-width: 768px)
{
    .features-section--img img.rev
    {
        border-radius: 5.6074766355vw 5.6074766355vw 0 0;
    }
}
.features-section--catch
{
    font-size: 32px;
    font-weight: bold;

    padding-bottom: 24px;
}
@media screen and (max-width: 768px)
{
    .features-section--catch
    {
        font-size: 5.1401869159vw;
    }
}
.features-section--subcatch
{
    font-size: 20px;
    font-weight: bold;

    padding-bottom: 24px;
}
@media screen and (max-width: 768px)
{
    .features-section--subcatch
    {
        font-size: 4.2056074766vw;
        line-height: 2;
    }
}
.features-section--num01,
.features-section--num03
{
    position: absolute;
    top: -40px;
    left: 102px;
}
@media screen and (max-width: 768px)
{
    .features-section--num01,
    .features-section--num03
    {
        top: -14.0186915888vw;
        right: 0;
        left: 0;

        width: 14.0186915888vw;
        margin: auto;
    }
}
.features-section--num02
{
    position: absolute;
    top: -40px;
    left: 704px;
}
@media screen and (max-width: 768px)
{
    .features-section--num02
    {
        top: -14.0186915888vw;
        right: 0;
        left: 0;

        width: 14.0186915888vw;
        margin: auto;
    }
}

.guidance-content-wrapper
{
    display: flex;

    padding: 0 102px;

    flex-wrap: wrap;
    justify-content: space-between;
}
@media screen and (max-width: 768px)
{
    .guidance-content-wrapper
    {
        display: block;

        padding: 5.6074766355vw;
    }
}
.guidance--detail
{
    width: 282px;

    transition: 1s ease;
    text-align: center;

    background: url(../img/top/bg_circle_line.svg) no-repeat center 128px;
}
.guidance--detail.active
{
    background: url(../img/top/bg_circle_line.svg) no-repeat center 64px;
}
@media screen and (max-width: 768px)
{
    .guidance--detail
    {
        width: 74.7663551402vw;
        margin: 0 auto 14.953271028vw auto;
    }
}
.guidance--img
{
    padding-bottom: 32px;
}
@media screen and (max-width: 768px)
{
    .guidance--img
    {
        padding-bottom: 32px;
    }
}
.guidance--catch
{
    font-size: 16px;
    font-weight: bold;

    padding-bottom: 32px;
}
@media screen and (max-width: 768px)
{
    .guidance--catch
    {
        font-size: 3.738317757vw;

        padding-bottom: 32px;
    }
}
.guidance--txt
{
    font-size: 14px;
    line-height: 1.6;

    text-align: left;
}
@media screen and (max-width: 768px)
{
    .guidance--txt
    {
        font-size: 3.2710280374vw;
    }
}

.faq-wrapper
{
    background: #f8f8f8;
}
.faq-content-wrapper
{
    padding: 0 102px;
}
@media screen and (max-width: 768px)
{
    .faq-content-wrapper
    {
        padding: 0;
    }
}
.faq-list--item
{
    margin-bottom: 24px;
}
.faq-list--q
{
    font-size: 16px;

    padding: 16px 32px 16px 24px;

    cursor: pointer;
    transition: .3s ease;

    background: #fff;
}
@media screen and (max-width: 768px)
{
    .faq-list--q
    {
        font-size: 3.738317757vw;

        padding: 16px 32px 16px 16px;
    }
}
.faq-list--q :hover
{
    opacity: .7;
}
.faq-list--q > span
{
    position: relative;

    display: block;
}
.faq-list--q > span::before,
.faq-list--q > span::after
{
    position: absolute;
    top: 50%;
    right: -16px;

    display: block;

    width: 14px;
    height: 2px;

    content: '';
    transform: translateY(-50%);

    background: #999;
}
.faq-list--q > span::after
{
    transition: .3s;
    transform: translateY(-50%) rotate(90deg);
}
.faq-list--q > span.on::after
{
    transition: .3s;
    transform: rotate(0);

    opacity: 0;
}
.faq-list--q p
{
    padding-top: 24px;
}
.faq-list--q p:first-child
{
    padding-top: 0;
}
.faq-list--a
{
    font-size: 14px;

    display: none;

    margin-top: 1px;
    padding: 16px 24px;

    background: rgba(255, 255, 255, .5);
}
.faq-list--a > a.ul
{
    display: inline-block;

    padding-top: 24px;
}
.faq-list--a p
{
    padding-top: 24px;
}
.faq-list--a p:first-child
{
    padding-top: 0;
}
@media screen and (max-width: 768px)
{
    .faq-list--a
    {
        font-size: 3.2710280374vw;

        padding: 16px;
    }
    .faq-list--a p
    {
        padding-top: 5.6074766355vw;
    }
    .faq-list--a p:first-child
    {
        padding-top: 0;
    }
    .faq-list--a > a.ul
    {
        display: inline-block;

        padding-top: 5.6074766355vw;
    }
}

.access-wrapper
{
    background: #fff;
}
.access-img01
{
    position: absolute;
    top: 80px;
    right: 0;

    width: 260px;
    height: auto;
}
@media screen and (max-width: 768px)
{
    .access-img01
    {
        top: 14.953271028vw;
        right: 5.6074766355vw;

        width: 32.7102803738vw;
    }
}
.access-title
{
    font-size: 20px;
    font-weight: bold;
    line-height: 1;

    display: flex;

    padding-bottom: 24px;

    align-items: center;
    gap: 16px;
}
@media screen and (max-width: 768px)
{
    .access-title
    {
        display: block;
    }
}
.access-title > span
{
    font-size: 14px;
    font-weight: normal;
}
@media screen and (max-width: 768px)
{
    .access-title > span
    {
        display: block;

        padding-top: 1.8691588785vw;
    }
}
.access-unit
{
    display: flex;

    flex-wrap: wrap;
    justify-content: space-between;
}
@media screen and (max-width: 768px)
{
    .access-unit
    {
        gap: 14.953271028vw;
    }
}
.access-unit__item
{
    flex-basis: 580px;
}

.map-wrapper
{
    width: 100%;
    height: 600px;
}
.map-wrapper > iframe
{
    border-radius: 32px;
}
@media screen and (max-width: 768px)
{
    .map-wrapper > iframe
    {
        height: 93.4579439252vw;

        border-radius: 1.8691588785vw;
    }
}
@media screen and (max-width: 768px)
{
    .map-wrapper
    {
        height: 93.4579439252vw;
    }
}

.contact-wrapper
{
    display: flex;

    padding: 48px 0;

    flex-wrap: wrap;
    justify-content: space-between;
}
@media screen and (max-width: 768px)
{
    .contact-wrapper
    {
        padding: 11.214953271vw 0 0 0;
    }
}
.contact-column
{
    width: 564px;
}
@media screen and (max-width: 768px)
{
    .contact-column
    {
        width: 100%;
        padding-bottom: 14.953271028vw;
    }
}
.contact-tel
{
    padding-top: 28px;
}
.contact-tel span
{
    vertical-align: middle;
}
.contact-tel-no
{
    font-size: 28px;
    font-weight: bold;

    vertical-align: middle;
}

.copy
{
    font-size: 12px;

    padding-top: 48px;

    text-align: center;

    color: #fff;
}
@media screen and (max-width: 768px)
{
    .copy
    {
        font-size: 2.3364485981vw;

        padding-top: 5.6074766355vw;
    }
}

.link__more
{
    padding-bottom: 24px;
}
@media screen and (max-width: 768px)
{
    .link__more
    {
        font-size: 12px;

        padding-bottom: 16px;
    }
}

#price
{
    display: none;
}

.price-content
{
    margin-top: 48px;
    padding-top: 48px;

    border-top: 1px solid #ddd;
}

.campaign-info-wrapper
{
    display: flex;

    padding: 16px 24px;

    border-radius: 16px;
    background: #f8f8f8;

    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}
@media screen and (max-width: 768px)
{
    .campaign-info-wrapper
    {
        padding: 3.738317757vw 5.6074766355vw;
    }
}
.campaign-info--price
{
    display: flex;

    width: 550px;

    flex-wrap: wrap;
    justify-content: space-between;
}

.price-admission-wrapper
{
    display: flex;

    width: 59%;

    align-items: center;
    gap: 24px;
}
@media screen and (max-width: 768px)
{
    .price-admission-wrapper
    {
        width: 100%;
        padding-top: 3.738317757vw;
    }
}
.price-admission-wrapper img
{
    vertical-align: middle;
}
.price-admission--item
{
    font-weight: bold;
}
@media screen and (max-width: 768px)
{
    .price-admission--item
    {
        width: 19.3925233645vw;
    }
}
.price-admission--normal
{
    font-size: 24px;
    font-weight: bold;

    vertical-align: middle;
    text-decoration: line-through;

    color: #ff5800;
}
@media screen and (max-width: 768px)
{
    .price-admission--normal
    {
        font-size: 4.6728971963vw;
    }
}
.price-admission--normal > span.del
{
    color: #333;
}
.price-admission--normal > span.yen
{
    font-size: 14px;
    font-weight: normal;

    color: #333;
}
.price-admission--campaign
{
    font-size: 32px;
    font-weight: bold;

    position: relative;

    padding-left: 32px;

    color: #ff5800;
}
@media screen and (max-width: 768px)
{
    .price-admission--campaign
    {
        font-size: 5.6074766355vw;

        padding: 0 0 0 7.476635514vw;
    }
}
.price-admission--campaign > span
{
    font-size: 14px;
    font-weight: normal;

    color: #333;
}
.price-admission--campaign > .arrival
{
    font-size: 10px;
    line-height: 1.2;

    position: absolute;
    top: 6px;
    left: -9px;

    text-align: center;

    color: #333;
}
.price-admission--campaign > .arrival > span
{
    font-size: 18px;
    font-weight: bold;
}

.price-annual-wrapper
{
    display: flex;

    width: 40%;

    justify-content: flex-start;
    align-items: center;
}
@media screen and (max-width: 768px)
{
    .price-annual-wrapper
    {
        width: 100%;
    }
}
.price-annual--item
{
    font-weight: bold;

    width: 120px;
    padding-right: 24px;
}
@media screen and (max-width: 768px)
{
    .price-annual--item
    {
        width: 26.4018691589vw;
    }
}
.price-annual--item-price
{
    font-size: 24px;
    font-weight: bold;
}
@media screen and (max-width: 768px)
{
    .price-annual--item-price
    {
        font-size: 4.6728971963vw;
    }
}
.price-annual--item-price > span
{
    font-size: 14px;
    font-weight: normal;
}

#equipment
{
    display: none;
}

#privacy
{
    display: none;
}

.privacy__content p
{
    padding-top: 24px;
}
.privacy__content dl
{
    padding-top: 24px;
}
.privacy__content dt
{
    font-weight: bold;
}
.privacy__content h3
{
    font-size: 16px;
    font-weight: bold;
}
.privacy__content ol
{
    padding-top: 8px;
    padding-left: 24px;
}
.privacy__content ol li
{
    padding-top: 16px;
}
@media screen and (max-width: 768px)
{
    .privacy__content p
    {
        padding-top: 3.738317757vw;
    }
    .privacy__content dl
    {
        padding-top: 3.738317757vw;
    }
    .privacy__content dt
    {
        font-weight: bold;
    }
    .privacy__content h3
    {
        font-size: 3.738317757vw;
        font-weight: bold;
    }
    .privacy__content ol
    {
        padding-top: 1.8691588785vw;
        padding-left: 3.738317757vw;
    }
    .privacy__content ol li
    {
        padding-top: 3.738317757vw;
    }
}

.privacy__block
{
    padding-top: 24px;
    padding-bottom: 24px;

    border-bottom: solid #ddd 1px;
}
@media screen and (max-width: 768px)
{
    .privacy__block
    {
        padding-top: 5.6074766355vw;
        padding-bottom: 5.6074766355vw;
    }
}

.under-wrapper
{
    min-height: 800px;
}
.under-content
{
    width: 792px;
    margin: 0 auto;
    padding-bottom: 128px;
}
@media screen and (max-width: 768px)
{
    .under-content
    {
        width: 100%;
        padding: 11.214953271vw 5.6074766355vw 29.9065420561vw 5.6074766355vw;
    }
}

.page-news-list
{
    display: block;
}
.page-news-list-item
{
    display: flex;

    padding: 16px 0;

    border-bottom: solid 1px #ddd;

    flex-wrap: wrap;
}
.page-news-list-item:first-child
{
    padding-top: 0;
}
.page-news-list-item > a
{
    display: block;

    width: 100%;
    padding-top: 8px;
}
.page-news-list-item.detail
{
    border-bottom: none;
}
.page-news-detail--title
{
    font-size: 28px;
    font-weight: bold;

    padding-bottom: 24px;
}
.page-news-detail--content
{
    font-size: 16px;
    line-height: 2;

    color: #333;
}
.page-news-detail--content p
{
    padding-top: 24px;
}
.page-news-detail--content .news--img_1col
{
    display: block;

    padding-top: 48px;
}
.page-news-detail--content .news--img_1col > img
{
    display: block;

    max-width: 100%;

    border-radius: 32px;
}
.page-news-detail--content .news--img_1col > span
{
    font-size: 14px;

    display: block;

    padding: 8px 0;

    color: #666;
}
.page-news-detail--content .news--img_2col
{
    display: flex;

    padding-top: 48px;

    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}
@media screen and (max-width: 768px)
{
    .page-news-detail--content .news--img_2col
    {
        padding-top: 11.214953271vw;
    }
}
.page-news-detail--content .news--img_2col > div
{
    width: 384px;
}
@media screen and (max-width: 768px)
{
    .page-news-detail--content .news--img_2col > div
    {
        width: 100%;
    }
    .page-news-detail--content .news--img_2col > div:first-child
    {
        padding-bottom: 5.6074766355vw;
    }
}
.page-news-detail--content .news--img_2col > div > img
{
    display: block;

    width: 100%;

    border-radius: 16px;
}
.page-news-detail--content .news--img_2col > div > span
{
    font-size: 12px;

    display: block;

    padding: 8px 0;

    color: #666;
}
.page-news-detail--content a
{
    padding-bottom: 4px;

    text-decoration: none;

    color: #333;
    border-bottom: 1px solid #333;
}
.page-news-detail--content a:link
{
    color: #333;
}
.page-news-detail--content a:hover
{
    transition-duration: .2s;

    opacity: .7;
}
.page-news-detail--content a:hover::after
{
    content: none;
}
.page-news-detail--content figcaption
{
    font-size: 14px;

    display: block;

    padding: 8px 0;

    color: #666;
}
.page-news-detail--content .wp-block-embed__wrapper
{
    position: relative;

    overflow: hidden;

    width: 100%;
    height: 0;
    margin-top: 24px;
    padding-bottom: 56.25%;

    border-radius: 32px;
}
.page-news-detail--content .wp-block-embed__wrapper iframe
{
    position: absolute;

    width: 100%;
    height: 100%;
}
.page-news-detail--content h3
{
    font-size: 18px;
    font-weight: bold;

    padding-top: 24px;
}
.page-news-detail--content h4
{
    font-size: 16px;
    font-weight: bold;

    padding-top: 24px;
}
.page-news-detail--content ul
{
    padding-top: 24px;
}
.page-news-detail--content ul li
{
    list-style: disc;
    list-style-position: inside;
}

.moda-wrapper
{
    width: 100%;
    height: 100%;
}

.modal-inner
{
    width: 792px;
    margin: 64px auto;
    padding: relative;
}
@media screen and (max-width: 768px)
{
    .modal-inner
    {
        width: 100%;
        margin: 11.214953271vw auto;
    }
}

.modaal-fullscreen .modaal-close
{
    top: 40px !important;
    right: 60px !important;

    width: 32px;
    height: 32px;

    background: #707070 !important;
}
@media screen and (max-width: 768px)
{
    .modaal-fullscreen .modaal-close
    {
        right: 24px !important;
    }
}

.modaal-close:after,
.modaal-close:before
{
    position: absolute;
    top: 8px !important;
    left: 15px !important;

    display: block;

    width: 2px !important;
    height: 16px !important;

    content: ' ';
    transition: background .2s ease-in-out;

    border-radius: 4px !important;
    background: #fff;
}

.modaal-close:focus,
.modaal-close:hover
{
    opacity: .7;
}

.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before
{
    background: #fff !important;
}

.footer
{
    padding: 128px 0;

    color: #fff;
    background-color: #333;
}
.footer-nav-wrapper
{
    text-align: center;
}

.footer-nav
{
    display: flex;

    color: #fff;

    flex-wrap: wrap;
    justify-content: center;
}
.footer-nav a
{
    margin: 0 16px;

    color: #fff;
}
.footer-nav a::after
{
    background: #fff;
}

.slide-wrap
{
    overflow: hidden;

    border-radius: 32px 0 0 32px;
    background: #fff !important;
}
@media screen and (max-width: 768px)
{
    .slide-wrap
    {
        border-radius: 0;
    }
}

.slick-dots
{
    bottom: 32px !important;
    left: 32px;

    text-align: left !important;

    color: #fff !important;
}
@media screen and (max-width: 768px)
{
    .slick-dots
    {
        left: inherit;

        display: flex !important;

        justify-content: center;
    }
}

.slick-dots li button:before
{
    font-family: 'slick';
    font-size: 4px !important;
    line-height: 20px;

    position: absolute;
    top: 0;
    left: 0;

    width: 20px;
    height: 20px;

    content: '●';
    text-align: center;

    opacity: .25;
    color: white !important;
}
@media screen and (max-width: 768px)
{
    .slick-dots li button:before
    {
        font-size: 10px !important;
    }
}

.fade
{
    -webkit-animation: fade;
            animation: fade;
    /* 任意のアニメーション名の記述 */
    -webkit-animation-duration: 2s;
            animation-duration: 2s;

    opacity: 0;
    /* アニメーション間隔を必ず併記してください */
}

.fadeInUp
{
    -webkit-animation: fade-in-up;
            animation: fade-in-up;
    /* 任意のアニメーション名の記述 */
    -webkit-animation-duration: 1000ms;
            animation-duration: 1000ms;

    opacity: 0;
    /* アニメーション間隔を必ず併記してください */
}

.delay-time
{
    -webkit-animation-delay: 1s;
            animation-delay: 1s;
    /*この数字を指定したい遅延時間に変更*/
}

.delay-time__s
{
    -webkit-animation-delay: 500ms;
            animation-delay: 500ms;
    /*この数字を指定したい遅延時間に変更*/
}

@-webkit-keyframes fadeInUpSmall
{
    from
    {
        transform: translate3d(0, 30%, 0);

        opacity: 0;
    }
    to
    {
        transform: translate3d(0, 0, 0);

        opacity: 1;
    }
}

@keyframes fadeInUpSmall
{
    from
    {
        transform: translate3d(0, 30%, 0);

        opacity: 0;
    }
    to
    {
        transform: translate3d(0, 0, 0);

        opacity: 1;
    }
}
.animate__fadeInUpSmall
{
    -webkit-animation-name: fadeInUpSmall;
            animation-name: fadeInUpSmall;
}

#loading
{
    position: fixed;
    z-index: 9999;
    top: 0;

    width: 100%;
    height: 100vh;

    transition: all 1s;

    background-color: #5eb93c;
}

.spinner
{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    width: 40px;
    height: 40px;
    margin: auto;
}

.loaded
{
    visibility: hidden;

    opacity: 0;
}

.double-bounce1,
.double-bounce2
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    -webkit-animation: sk-bounce 2s infinite ease-in-out;
            animation: sk-bounce 2s infinite ease-in-out;

    opacity: .6;
    border-radius: 50%;
    background-color: #fff;
}

.double-bounce2
{
    -webkit-animation-delay: -1s;
            animation-delay: -1s;
}

@-webkit-keyframes sk-bounce
{
    0%,
    100%
    {
        -webkit-transform: scale(0);
    }
    50%
    {
        -webkit-transform: scale(1);
    }
}
@keyframes sk-bounce
{
    0%,
    100%
    {
        transform: scale(0);
    }
    50%
    {
        transform: scale(1);
    }
}
.wp-pagenavi
{
    font-size: 12px;

    display: flex;
    /* 全体 */

    margin: 48px 0;

    justify-content: center;
    align-items: center;
}

.wp-pagenavi a
{
    /* フォント色 */
    color: rgba(0, 0, 0, .57);
}

.pages
{
    /* 左の表記 */
    margin-right: 24px;
}

.wp-pagenavi .current,
.wp-pagenavi a.page
{
    font-size: 16px;
    line-height: 24px;

    display: inline-block;

    width: 24px;
    height: 24px;
    /* ボタン */
    margin: 0 16px 16px 0;

    text-align: center;
}

.wp-pagenavi .current
{
    font-weight: bold;

    color: #5eb93c;
    /* カレント数字 */
    border: none;
}

.wp-pagenavi a.page:hover
{
    /* マウスオーバー */
}

.wp-pagenavi .first,
.wp-pagenavi .extend
{
    /* ... */
    margin-right: 10px;
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink
{
    /* 記号の削除 */
    display: none;
}

.bread__wrap
{
    background: #f8f8f8;
}
@media screen and (max-width: 768px)
{
    .bread__wrap
    {
        margin-top: 40px;
    }
}
.bread__wrap .bread
{
    display: flex;

    width: 1128px;
    margin: 0 auto;
    padding: 8px 0;
}
@media screen and (max-width: 768px)
{
    .bread__wrap .bread
    {
        font-size: 10px;

        width: 100%;
        padding-left: 16px;
    }
}
.bread__wrap .bread li a
{
    position: relative;

    padding-right: 24px;
}
.bread__wrap .bread li a::after
{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;

    display: block;

    width: 20px;
    height: 14px;
    margin: auto 0;

    content: '';

    background: url(/assets/img/common/icn_arrow.svg) no-repeat;
}
@media screen and (max-width: 768px)
{
    .bread__wrap .bread li a::after
    {
        position: absolute;
        right: 8px;

        display: block;

        width: 10px;
        height: 10px;

        background: url(/assets/img/common/icn_arrow.svg) no-repeat;
        background-size: cover;
    }
}

.under__main-visual
{
    font-size: 24px;
    font-weight: bold;

    padding: 64px 0;

    text-align: center;

    background: url(/assets/img/common/under_bg.jpg) no-repeat;
    background-size: cover;
}
@media screen and (max-width: 768px)
{
    .under__main-visual
    {
        font-size: 18px;

        padding: 48px 0;
    }
}

.under__contents-wrap
{
    width: 936px;
    margin: 48px auto 64px;
}
@media screen and (max-width: 768px)
{
    .under__contents-wrap
    {
        width: 100%;
        margin: 32px auto 48px;
        padding: 16px;
    }
}

.under__submenu-wrap
{
    width: 936px;
    margin: 32px auto 48px auto;
    padding: 24px;

    background: #f8f8f8;
}
@media screen and (max-width: 768px)
{
    .under__submenu-wrap
    {
        width: 100%;
        margin: 24px auto 32px auto;
        padding: 8px;
    }
}
.under__submenu-wrap ul
{
    display: flex;

    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}
.under__submenu-wrap ul li
{
    display: block;

    padding: 4px 12px;
}
@media screen and (max-width: 768px)
{
    .under__submenu-wrap ul li
    {
        font-size: 12px;
    }
}

.under__contents-bloc li
{
    position: relative;

    padding-top: 16px;
    padding-left: 16px;
}
.under__contents-bloc li:before
{
    font-weight: bold;

    position: absolute;
    left: 0;

    display: block;

    width: 16px;
    height: 16px;

    content: '・';
    content: '・';

    color: #fff000;
}
.under__contents-bloc li:first-child
{
    padding-top: 0;
}

.under__contents-bloc-wrap
{
    padding-bottom: 48px;
}
@media screen and (max-width: 768px)
{
    .under__contents-bloc-wrap
    {
        padding-bottom: 32px;
    }
}

.under__contents-section
{
    margin-bottom: 48px;
    padding-bottom: 48px;

    border-bottom: solid 1px #ddd;
}
@media screen and (max-width: 768px)
{
    .under__contents-section
    {
        margin-bottom: 32px;
        padding-bottom: 32px;
    }
}

.under__contents-section:last-child
{
    margin-bottom: 0;
    padding-bottom: 0;

    border-bottom: none;
}
