@charset 'UTF-8';
/* ==========================================================================
   Foundation
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=KoHo:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;1,200;1,300;1,400;1,500;1,600;1,700&display=swap');
/* Reset
   ----------------------------------------------------------------- */
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video
{
    font-size: 100%;

    margin: 0;
    padding: 0;

    vertical-align: baseline;

    border: 0;
    outline: 0;
    background: transparent;
}

body
{
    line-height: 1;
}

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

ul,
ol
{
    list-style: none;
}

blockquote,
q
{
    quotes: none;
}

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

a
{
    font-size: 100%;

    margin: 0;
    padding: 0;

    vertical-align: baseline;

    background: transparent;
}

/*! change colours to suit your needs */
ins
{
    text-decoration: none; 

    color: #000;
    background-color: #ff9;
}

/*! change colours to suit your needs */
mark
{
    font-weight: bold; 
    font-style: italic;

    color: #000;
    background-color: #ff9;
}

del
{
    text-decoration: line-through;
}

abbr[title],
dfn[title]
{
    cursor: help; 

    border-bottom: 1px dotted;
}

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

/*! change border colour to suit your needs */
hr
{
    display: block;

    height: 1px;
    margin: 1em 0;
    padding: 0; 

    border: 0;
    border-top: 1px solid #ccc;
}

input,
select
{
    vertical-align: middle;
}

main
{
    display: block;
}

/* Base
   ----------------------------------------------------------------- */
html
{
    font-size: 62.5%;

    -webkit-box-sizing: border-box;

            box-sizing: border-box;
}

*,
*:before,
*:after
{
    -webkit-box-sizing: inherit;
            box-sizing: inherit;
}

body
{
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 17px; 
    font-weight: 300;
    line-height: 1.5;

    word-wrap: break-word;
    word-break: normal;

    background: #fff;

    -webkit-font-feature-settings: 'palt';

            font-feature-settings: 'palt';
    -webkit-text-size-adjust: 100%;
}

body.is-fixed
{
    position: fixed;

    width: 100%;
    height: 100%;
}

a
{
    color: #0059a6;
}

a:hover,
a:active,
a:focus
{
    text-decoration: none; 

    opacity: .8;
}

p
{
    line-height: 1.8;
}

/* フルードイメージにします。 */
img
{
    max-width: 100%;
    height: auto;

    vertical-align: middle;
}

/* svgのIEバグ回避 */
img[src$='.svg']
{
    width: 100%;
    height: auto;
}

code,
pre
{
    font-family: Consolas, Menlo, Courier, monospace;
}

/* Container
   ----------------------------------------------------------------- */
.l-container
{
    overflow: hidden;
}

/* Component
   ----------------------------------------------------------------- */
/* btn
-------------------------------------------------------------------------- */
.c-btn
{
    position: relative;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    width: 100%;
    padding: 0;

    cursor: pointer;
    -webkit-transition: .3s ease;
    transition: .3s ease; 
    text-align: center;
    text-decoration: none;

    border: none;
    border-color: transparent;
    outline: none;
    background-color: transparent;

    -webkit-box-align: center;

        -ms-flex-align: center;

            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

.c-btn--primary
{
    color: #fff;
    background-color: #000;
}

@media screen and (max-width: 767px)
{
    .c-btn--primary
    {
        border: .53333vw solid #000;
    }
}

@media screen and (min-width: 768px)
{
    .c-btn--primary
    {
        -webkit-transition: .3s ease;
        transition: .3s ease;

        border: 2px solid #000;
    }
}

@media screen and (min-width: 768px)
{
    .c-btn--primary:hover
    {
        opacity: 1;
        color: #000;
        background: #fff;
    }
}

.c-btn--border
{
    color: #fff;
}

@media screen and (max-width: 767px)
{
    .c-btn--border
    {
        border: .53333vw solid #fff;
    }
}

@media screen and (min-width: 768px)
{
    .c-btn--border
    {
        -webkit-transition: .3s ease;
        transition: .3s ease; 

        border: 2px solid #fff;
    }
}

@media screen and (min-width: 768px)
{
    .c-btn--border:hover
    {
        opacity: 1;
        color: #000;
        background: #fff;
    }
}

.c-btn--arrow::after
{
    position: absolute;
    top: 50%;

    display: block;

    content: '';
    -webkit-transform: translateY(-50%) rotate(45deg);
            transform: translateY(-50%) rotate(45deg); 
    -webkit-transform-origin: center; 
            transform-origin: center;
}

@media screen and (max-width: 767px)
{
    .c-btn--arrow::after
    {
        right: 4vw;

        width: 3.2vw;
        height: 3.2vw;

        border-top: 1.06667vw solid #000;
        border-right: 1.06667vw solid #000;
    }
}

@media screen and (min-width: 768px)
{
    .c-btn--arrow::after
    {
        right: 30px;

        width: 14px;
        height: 14px;

        border-top: 4px solid #000;
        border-right: 4px solid #000;
    }
}

.c-btn--en
{
    font-family: 'KoHo', sans-serif;
    font-weight: 700;
}

.c-btn-b
{
    position: relative;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    width: 100%;
    padding: 0;

    cursor: pointer;
    -webkit-transition: .3s ease;
    transition: .3s ease; 
    text-align: center;
    text-decoration: none;

    border: none;
    border-color: transparent;
    outline: none;
    background-color: transparent;

    -webkit-box-align: center;

        -ms-flex-align: center;

            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

.c-btn-b--primary
{
    color: #000;
    background-color: #fff;
}

@media screen and (max-width: 767px)
{
    .c-btn-b--primary
    {
        border: .53333vw solid #fff;
    }
}

@media screen and (min-width: 768px)
{
    .c-btn-b--primary
    {
        -webkit-transition: .3s ease;
        transition: .3s ease;

        border: 2px solid #fff;
    }
}

@media screen and (min-width: 768px)
{
    .c-btn-b--primary:hover
    {
        opacity: 1;
        color: #fff;
        background: #000;
    }
}

.c-btn-b--border
{
    color: #000;
}

@media screen and (max-width: 767px)
{
    .c-btn-b--border
    {
        border: .53333vw solid #000;
    }
}

@media screen and (min-width: 768px)
{
    .c-btn-b--border
    {
        -webkit-transition: .3s ease;
        transition: .3s ease; 

        border: 2px solid #000;
    }
}

@media screen and (min-width: 768px)
{
    .c-btn-b--border:hover
    {
        opacity: 1;
        color: #fff;
        background: #000;
    }
}

.c-btn-b--arrow::after
{
    position: absolute;
    top: 50%;

    display: block;

    content: '';
    -webkit-transform: translateY(-50%) rotate(45deg);
            transform: translateY(-50%) rotate(45deg); 
    -webkit-transform-origin: center; 
            transform-origin: center;
}

@media screen and (max-width: 767px)
{
    .c-btn-b--arrow::after
    {
        right: 4vw;

        width: 3.2vw;
        height: 3.2vw;

        border-top: 1.06667vw solid #000;
        border-right: 1.06667vw solid #000;
    }
}

@media screen and (min-width: 768px)
{
    .c-btn-b--arrow::after
    {
        right: 30px;

        width: 14px;
        height: 14px;

        border-top: 4px solid #000;
        border-right: 4px solid #000;
    }
}

.c-btn-b--en
{
    font-family: 'KoHo', sans-serif;
    font-weight: 700;
}

/* link
-------------------------------------------------------------------------- */
.btnarea.head
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    padding-bottom: 20px; 

    -webkit-box-pack: end; 

        -ms-flex-pack: end; 

            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.btnarea.foot
{
    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;
}

.btnarea__wrap
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-pack: justify;

        -ms-flex-pack: justify;

            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.btnarea__item
{
    font-size: 22px;
    font-size: 2.2rem;
    line-height: .8;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    width: 338px;
    height: 42px;

    -webkit-transition: all .3s;

    transition: all .3s;
    text-decoration: none;

    color: #0096d1; 
    border: solid 1px #0096d1;

    -webkit-box-pack: center;

        -ms-flex-pack: center;

            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.btnarea__item:hover
{
    opacity: 1; 
    color: #fff;
    background: #0096d1;
}

.btnarea__item.color
{
    color: #fff;
}

.btnarea__item.color:hover
{
    opacity: 1; 
    background: #0096d1;
}

/*ソースコード用*/
.code
{
    font-size: 12px;

    position: relative;

    overflow: hidden;

    max-width: 100%;
    margin-left: 0;
    padding: 30px 20px 10px;

    list-style: none;

    white-space: pre-wrap; 

    color: #fff;
    border-left: solid 5px #c3ecfa;
    background: #2f3437;
}

.code.html:after
{
    content: 'HTML';

    color: #d6783a; 
    background: #f2c9b9;
}

.code.css:after
{
    content: 'CSS';

    color: #527ac6; 
    background: #b9cdf2;
}

.code.js:after
{
    content: 'JS';

    color: #d4c03d; 
    background: #f2ebb9;
}

.code.php:after
{
    content: 'PHP';

    color: #6950c7; 
    background: #c5b9f2;
}

.code.accesstoken:after
{
    content: '無期限ACCESSTOKEN';

    color: #fff; 
    background: #4267b2;
}

.code.css:after,
.code.html:after,
.code.js:after,
.code.php:after,
.code.accesstoken:after
{
    font-size: .9em; 
    line-height: 1;

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

    padding: 5px 10px;
}

/*コピー可に*/
pre code
{
    -webkit-user-select: all !important;
       -moz-user-select: all !important;
            -ms-user-select: all !important;
        user-select: all !important;

     -khtml-user-select: all !important;
}

.d_fs
{
    font-size: 16px;
    font-size: 1.6rem;
}

.s_hfs
{
    font-size: 26px;
    font-size: 2.6rem;
}

.m_hfs
{
    font-size: 32px;
    font-size: 3.2rem;
}

.l_hfs
{
    font-size: 45px;
    font-size: 4.5rem;
}

.red
{
    color: #f00;
}

/* ==========================================================================
   地図
   ========================================================================== */
.access__map
{
    height: 600px;
    margin-bottom: 30px;
}

@media screen and (max-width: 767px)
{
    .access__map
    {
        height: 117.33333vw;
    }
}

/* ==========================================================================
   地図のスタイル
   ========================================================================== */
.infocontent__item
{
    font-size: 14px;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    height: 35px;

    border-bottom: 1px solid #e3e3e3;

    dispalay: block;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.infocontent__item:last-child
{
    border-bottom: 0;
}

.infocontent__item .icon
{
    font-size: 24px;

    padding-right: 4px;
    padding-bottom: 3px;
}

.infocontent__item.new .icon
{
    color: #ec5959;
}

.infocontent__item.old .icon
{
    color: #2e97ff;
}

.infocontent__item.land .icon
{
    color: #00b285;
}

.infocontent__item.mansion .icon
{
    color: #ffa64d;
}

.gm-style .gm-style-iw-c
{
    overflow: initial !important; 

    border-radius: 0 !important;
}

.gm-style .gm-style-iw-c button
{
    top: -15px !important;
    right: -15px !important;

    border-radius: 50px !important; 
    background: #ddd !important;
}

.gm-style
{
    overflow: initial !important;
}

.gm-style-iw
{
    overflow: initial !important;
}

.document
{
    position: relative;
}

.document img
{
    cursor: pointer;
}

.document:hover
{
    opacity: 1;
}

.balloon
{
    position: absolute;
    z-index: 100; 
    top: 10px;
    right: 20px;

    display: none;

    min-width: 100px;
    max-width: 200px;
    padding: 10px;

    background: #fff;
    -webkit-box-shadow: 0 2px 7px 1px rgba(0, 0, 0, .3);
            box-shadow: 0 2px 7px 1px rgba(0, 0, 0, .3);
}

.balloon a
{
    display: block;

    width: 100%;

    text-align: left;
}

.close_btn
{
    position: absolute;
    position: absolute;
    z-index: 150; 
    top: -15px;
    right: -15px;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    width: 30px;
    height: 30px;
    margin: 0;
    padding: 0;

    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    text-transform: none;

    border: 0;
    border-radius: 50px;
    background: #ddd;

    -webkit-box-pack: center;

        -ms-flex-pack: center;

            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

/* c-hamburger
-------------------------------------------------------------------------- */
.c-hamburger
{
    position: relative;

    display: block;

    width: 100%;

    -webkit-transition: all .4s;

    transition: all .4s; 

    outline: none;
}

@media screen and (max-width: 767px)
{
    .c-hamburger
    {
        width: 7.2vw;
        height: 5.86667vw;
        margin-top: 1.07vw;
        margin-bottom: 1.07vw;
    }
}

@media screen and (min-width: 768px)
{
    .c-hamburger
    {
        width: 80px;
        height: 50px;
    }
}

.c-hamburger span
{
    position: absolute;
    left: 0;

    display: block;

    content: '';
    -webkit-transition: all .3s;
    transition: all .3s;
}

@media screen and (max-width: 767px)
{
    .c-hamburger span
    {
        width: 100%;
        height: 1.06667vw;

        background-color: #fff;
    }
}

@media screen and (min-width: 768px)
{
    .c-hamburger span
    {
        width: 100%;
        height: 10px;

        background: #000;
    }
}

.c-hamburger span:nth-of-type(1)
{
    top: 0;
}

@media screen and (max-width: 767px)
{
    .c-hamburger span:nth-of-type(1)
    {
        -webkit-animation: menu-bar01-sp .65s forwards;
                animation: menu-bar01-sp .65s forwards;
    }
}

@media screen and (min-width: 768px)
{
    .c-hamburger span:nth-of-type(1)
    {
        -webkit-animation: menu-bar01 .65s forwards;
                animation: menu-bar01 .65s forwards;
    }
}

.c-hamburger span:nth-of-type(2)
{
    -webkit-transition: all .25s .25s;
    transition: all .25s .25s;

    opacity: 1;
}

@media screen and (max-width: 767px)
{
    .c-hamburger span:nth-of-type(2)
    {
        top: 2.93vw;

        margin-top: -.53vw;
    }
}

@media screen and (min-width: 768px)
{
    .c-hamburger span:nth-of-type(2)
    {
        top: 50%;

        margin-top: -5px;
    }
}

.c-hamburger span:nth-of-type(3)
{
    bottom: 0;
}

@media screen and (max-width: 767px)
{
    .c-hamburger span:nth-of-type(3)
    {
        -webkit-animation: menu-bar02-sp .65s forwards;
                animation: menu-bar02-sp .65s forwards;
    }
}

@media screen and (min-width: 768px)
{
    .c-hamburger span:nth-of-type(3)
    {
        -webkit-animation: menu-bar02 .65s forwards;
                animation: menu-bar02 .65s forwards;
    }
}

.c-hamburger.is-open span
{
    background: #fff;
}

@media screen and (max-width: 767px)
{
    .c-hamburger.is-open span:nth-of-type(1)
    {
        -webkit-animation: active-menu-bar01-sp .65s forwards;
                animation: active-menu-bar01-sp .65s forwards;
    }
}

@media screen and (min-width: 768px)
{
    .c-hamburger.is-open span:nth-of-type(1)
    {
        -webkit-animation: active-menu-bar01 .65s forwards;
                animation: active-menu-bar01 .65s forwards;
    }
}

.c-hamburger.is-open span:nth-of-type(2)
{
    opacity: 0;
}

@media screen and (max-width: 767px)
{
    .c-hamburger.is-open span:nth-of-type(3)
    {
        -webkit-animation: active-menu-bar03-sp .65s forwards;
                animation: active-menu-bar03-sp .65s forwards;
    }
}

@media screen and (min-width: 768px)
{
    .c-hamburger.is-open span:nth-of-type(3)
    {
        -webkit-animation: active-menu-bar03 .65s forwards;
                animation: active-menu-bar03 .65s forwards;
    }
}

@-webkit-keyframes menu-bar01
{
    0%
    {
        -webkit-transform: translateY(20px) rotate(45deg);
                transform: translateY(20px) rotate(45deg);
    }
    50%
    {
        -webkit-transform: translateY(20px) rotate(0);
                transform: translateY(20px) rotate(0);
    }
    100%
    {
        -webkit-transform: translateY(0) rotate(0);
                transform: translateY(0) rotate(0);
    }
}

@keyframes menu-bar01
{
    0%
    {
        -webkit-transform: translateY(20px) rotate(45deg);
                transform: translateY(20px) rotate(45deg);
    }
    50%
    {
        -webkit-transform: translateY(20px) rotate(0);
                transform: translateY(20px) rotate(0);
    }
    100%
    {
        -webkit-transform: translateY(0) rotate(0);
                transform: translateY(0) rotate(0);
    }
}

@-webkit-keyframes menu-bar02
{
    0%
    {
        -webkit-transform: translateY(-20px) rotate(-45deg);
                transform: translateY(-20px) rotate(-45deg);
    }
    50%
    {
        -webkit-transform: translateY(-20px) rotate(0);
                transform: translateY(-20px) rotate(0);
    }
    100%
    {
        -webkit-transform: translateY(0) rotate(0);
                transform: translateY(0) rotate(0);
    }
}

@keyframes menu-bar02
{
    0%
    {
        -webkit-transform: translateY(-20px) rotate(-45deg);
                transform: translateY(-20px) rotate(-45deg);
    }
    50%
    {
        -webkit-transform: translateY(-20px) rotate(0);
                transform: translateY(-20px) rotate(0);
    }
    100%
    {
        -webkit-transform: translateY(0) rotate(0);
                transform: translateY(0) rotate(0);
    }
}

@-webkit-keyframes active-menu-bar01
{
    0%
    {
        -webkit-transform: translateY(0) rotate(0);
                transform: translateY(0) rotate(0);
    }
    50%
    {
        -webkit-transform: translateY(20px) rotate(0);
                transform: translateY(20px) rotate(0);
    }
    100%
    {
        -webkit-transform: translateY(20px) rotate(45deg);
                transform: translateY(20px) rotate(45deg);
    }
}

@keyframes active-menu-bar01
{
    0%
    {
        -webkit-transform: translateY(0) rotate(0);
                transform: translateY(0) rotate(0);
    }
    50%
    {
        -webkit-transform: translateY(20px) rotate(0);
                transform: translateY(20px) rotate(0);
    }
    100%
    {
        -webkit-transform: translateY(20px) rotate(45deg);
                transform: translateY(20px) rotate(45deg);
    }
}

@-webkit-keyframes active-menu-bar03
{
    0%
    {
        -webkit-transform: translateY(0) rotate(0);
                transform: translateY(0) rotate(0);
    }
    50%
    {
        -webkit-transform: translateY(-20px) rotate(0);
                transform: translateY(-20px) rotate(0);
    }
    100%
    {
        -webkit-transform: translateY(-20px) rotate(-45deg);
                transform: translateY(-20px) rotate(-45deg);
    }
}

@keyframes active-menu-bar03
{
    0%
    {
        -webkit-transform: translateY(0) rotate(0);
                transform: translateY(0) rotate(0);
    }
    50%
    {
        -webkit-transform: translateY(-20px) rotate(0);
                transform: translateY(-20px) rotate(0);
    }
    100%
    {
        -webkit-transform: translateY(-20px) rotate(-45deg);
                transform: translateY(-20px) rotate(-45deg);
    }
}

@-webkit-keyframes menu-bar01-sp
{
    0%
    {
        -webkit-transform: translateY(2.4vw) rotate(45deg);
                transform: translateY(2.4vw) rotate(45deg);
    }
    50%
    {
        -webkit-transform: translateY(2.4vw) rotate(0);
                transform: translateY(2.4vw) rotate(0);
    }
    100%
    {
        -webkit-transform: translateY(0) rotate(0);
                transform: translateY(0) rotate(0);
    }
}

@keyframes menu-bar01-sp
{
    0%
    {
        -webkit-transform: translateY(2.4vw) rotate(45deg);
                transform: translateY(2.4vw) rotate(45deg);
    }
    50%
    {
        -webkit-transform: translateY(2.4vw) rotate(0);
                transform: translateY(2.4vw) rotate(0);
    }
    100%
    {
        -webkit-transform: translateY(0) rotate(0);
                transform: translateY(0) rotate(0);
    }
}

@-webkit-keyframes menu-bar02-sp
{
    0%
    {
        -webkit-transform: translateY(-2.4vw) rotate(-45deg);
                transform: translateY(-2.4vw) rotate(-45deg);
    }
    50%
    {
        -webkit-transform: translateY(-2.4vw) rotate(0);
                transform: translateY(-2.4vw) rotate(0);
    }
    100%
    {
        -webkit-transform: translateY(0) rotate(0);
                transform: translateY(0) rotate(0);
    }
}

@keyframes menu-bar02-sp
{
    0%
    {
        -webkit-transform: translateY(-2.4vw) rotate(-45deg);
                transform: translateY(-2.4vw) rotate(-45deg);
    }
    50%
    {
        -webkit-transform: translateY(-2.4vw) rotate(0);
                transform: translateY(-2.4vw) rotate(0);
    }
    100%
    {
        -webkit-transform: translateY(0) rotate(0);
                transform: translateY(0) rotate(0);
    }
}

@-webkit-keyframes active-menu-bar01-sp
{
    0%
    {
        -webkit-transform: translateY(0) rotate(0);
                transform: translateY(0) rotate(0);
    }
    50%
    {
        -webkit-transform: translateY(2.4vw) rotate(0);
                transform: translateY(2.4vw) rotate(0);
    }
    100%
    {
        -webkit-transform: translateY(2.4vw) rotate(45deg);
                transform: translateY(2.4vw) rotate(45deg);
    }
}

@keyframes active-menu-bar01-sp
{
    0%
    {
        -webkit-transform: translateY(0) rotate(0);
                transform: translateY(0) rotate(0);
    }
    50%
    {
        -webkit-transform: translateY(2.4vw) rotate(0);
                transform: translateY(2.4vw) rotate(0);
    }
    100%
    {
        -webkit-transform: translateY(2.4vw) rotate(45deg);
                transform: translateY(2.4vw) rotate(45deg);
    }
}

@-webkit-keyframes active-menu-bar03-sp
{
    0%
    {
        -webkit-transform: translateY(0) rotate(0);
                transform: translateY(0) rotate(0);
    }
    50%
    {
        -webkit-transform: translateY(-2.4vw) rotate(0);
                transform: translateY(-2.4vw) rotate(0);
    }
    100%
    {
        -webkit-transform: translateY(-2.4vw) rotate(-45deg);
                transform: translateY(-2.4vw) rotate(-45deg);
    }
}

@keyframes active-menu-bar03-sp
{
    0%
    {
        -webkit-transform: translateY(0) rotate(0);
                transform: translateY(0) rotate(0);
    }
    50%
    {
        -webkit-transform: translateY(-2.4vw) rotate(0);
                transform: translateY(-2.4vw) rotate(0);
    }
    100%
    {
        -webkit-transform: translateY(-2.4vw) rotate(-45deg);
                transform: translateY(-2.4vw) rotate(-45deg);
    }
}

/* headline
-------------------------------------------------------------------------- */
.c-headline
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 100%;

    -webkit-box-pack: center;

        -ms-flex-pack: center;

            justify-content: center;
}

.c-headline__en,
.c-headline__jp
{
    display: block;

    text-align: center;
}

.c-headline__en
{
    font-family: 'KoHo', sans-serif;
    font-weight: 600;
    line-height: 1;
}

.c-headline__en--rev
{
    color: #fff;
}

.c-headline__big
{
    line-height: .8; 

    display: block;
}

@media screen and (max-width: 767px)
{
    .c-headline__big
    {
        font-size: 215px;
        font-size: 28.67vw;

        margin-top: 20px;
    }
}

@media screen and (min-width: 768px)
{
    .c-headline__big
    {
        font-size: 115px;
        font-size: 11.5rem;
    }
}

.c-headline__small
{
    display: block;

    margin-top: 5px;
}

@media screen and (max-width: 767px)
{
    .c-headline__small
    {
        font-size: 63px;
        font-size: 8.4vw;
    }
}

@media screen and (min-width: 768px)
{
    .c-headline__small
    {
        font-size: 34px;
        font-size: 3.4rem;
    }
}

@media screen and (max-width: 767px)
{
    .c-headline__jp
    {
        font-size: 43px;
        font-size: 5.73vw;

        margin-top: 1.87vw;

        letter-spacing: .13em;
    }
}

@media screen and (min-width: 768px)
{
    .c-headline__jp
    {
        font-size: 20px;
        font-size: 2rem;

        margin-top: 8px;

        letter-spacing: .25em;
    }
}

@media screen and (min-width: 1024px)
{
    .c-headline--information .c-headline__en
    {
        font-size: 40px;
        font-size: 4rem;
    }
}

@media screen and (min-width: 768px)
{
    .c-headline--information .c-headline__jp
    {
        margin-top: 13px;
    }
}

@media screen and (max-width: 767px)
{
    .c-headline__word
    {
        display: block;
    }
}

@media screen and (min-width: 768px)
{
    .c-headline__word
    {
        margin-left: .5em;
    }
}

/* inset
-------------------------------------------------------------------------- */
.inset
{
    font-family: 'object-fit: contain;'; 

    -o-object-fit: contain; 

       object-fit: contain;
}

/* instagram
-------------------------------------------------------------------------- */
.instagram__photoList
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-pack: justify;

        -ms-flex-pack: justify;

            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.instagram__photoList::before
{
    display: block;

    width: 25%;

    content: '';

    -webkit-box-ordinal-group: 2;

        -ms-flex-order: 1;

            order: 1;
}

.instagram__photoList::after
{
    display: block;

    width: 25%; 

    content: '';
}

.instagram__photoItem
{
    position: relative; 

    width: 25%;
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .instagram__photoItem
    {
        width: 33.33%;
    }
}

@media screen and (max-width: 767px)
{
    .instagram__photoItem
    {
        width: 50%;
    }
}

.instagram__photoItem img
{
    width: 100%;
}

.instagram__photoItem img.c-inset
{
    font-family: 'object-fit: cover'; 

    -o-object-fit: cover; 

       object-fit: cover;
}

@media screen and (max-width: 767px)
{
    .instagram__photoItem img
    {
        height: 43.07vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .instagram__photoItem img
    {
        height: 31.6vw;
    }
}

@media screen and (min-width: 1024px)
{
    .instagram__photoItem img
    {
        height: 300px;
    }
}

@media screen and (min-width: 1024px) and (max-width: 1279px)
{
    .instagram__photoItem img
    {
        height: 23.8vw;
    }
}

.instagram__photoItem video
{
    display: block; 

    width: 100%;
}

.instagram__photoItem video.c-inset
{
    font-family: 'object-fit: cover'; 

    -o-object-fit: cover; 

       object-fit: cover;
}

@media screen and (max-width: 767px)
{
    .instagram__photoItem video
    {
        height: 43.07vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .instagram__photoItem video
    {
        height: 31.6vw;
    }
}

@media screen and (min-width: 1024px)
{
    .instagram__photoItem video
    {
        height: 300px;
    }
}

@media screen and (min-width: 1024px) and (max-width: 1279px)
{
    .instagram__photoItem video
    {
        height: 23.8vw;
    }
}

.instagram__photoItem video:hover
{
    opacity: .8;
}

.instagram__photoItem .icon
{
    position: absolute;
    top: 8px;
    right: 8px;

    opacity: .9;
}

@media screen and (max-width: 767px)
{
    .instagram__photoItem .icon
    {
        top: 2px;
        right: 10px;
    }
}

.instagram__photoItem .icon img
{
    width: 28px;
    height: auto;
}

@media screen and (max-width: 767px)
{
    .instagram__photoItem .icon img
    {
        width: 25px;
    }
}

/* link
-------------------------------------------------------------------------- */
.linklist.head
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    padding-top: 20px; 

    -webkit-box-pack: end; 

        -ms-flex-pack: end; 

            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.linklist.foot
{
    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;
}

.linklist__wrap
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 850px; 

    -webkit-box-pack: justify; 

        -ms-flex-pack: justify; 

            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.linklist__item
{
    font-size: 22px;
    font-size: 2.2rem;
    line-height: .8;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    -webkit-transition: all .3s;

    transition: all .3s;
    text-decoration: none;

    color: #555; 

    -webkit-box-pack: center; 

        -ms-flex-pack: center; 

            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.linklist__item:hover
{
    opacity: 1; 
    color: #0096d1;
}

.linklist__item.color
{
    color: #fff;
}

.linklist__item.color:hover
{
    opacity: 1; 
    color: #00418f;
}

/* ==========================================================================
   ログイン・ログイン後共通
   ========================================================================== */
.login__inputbox
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    margin-bottom: 30px; 

    -webkit-box-align: center; 

        -ms-flex-align: center; 

            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .login__inputbox
    {
        margin-bottom: 1.56977vw;
    }
}

@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .login__inputbox
    {
        margin-bottom: 1.62162vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .login__inputbox
    {
        margin-bottom: 3.51563vw;
    }
}

@media screen and (max-width: 767px)
{
    .login__inputbox
    {
        margin-bottom: 7.8125vw;
    }
}

.login__inputbox a
{
    cursor: pointer; 
    text-decoration: underline;

    color: #0059a6;
}

.login__inputbox .width100
{
    width: 100%;
}

@media screen and (max-width: 1023px)
{
    .login__inputbox.bt
    {
        display: block;
    }
}

.login__btnbox
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-align: center;

        -ms-flex-align: center;

            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

.login__btnbox div
{
    width: 100%;
    margin: 0 10px 30px;
}

.login__btnbox a
{
    font-weight: 400; 

    color: #fff;
}

.login__title
{
    font-size: 30px;
    font-size: 3rem;
    font-weight: 300 !important; 

    width: 100px;
}

@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .login__title
    {
        font-size: 1.74419vw;
    }
}

@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .login__title
    {
        font-size: 2.02703vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .login__title
    {
        font-size: 3.51563vw;
    }
}

@media screen and (max-width: 767px)
{
    .login__title
    {
        font-size: 4.6875vw;
    }
}

@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .login__title
    {
        width: 5.81395vw;
    }
}

@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .login__title
    {
        width: 6.75676vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .login__title
    {
        width: 10.74219vw;
    }
}

@media screen and (max-width: 767px)
{
    .login__title
    {
        width: 13.02083vw;
    }
}

.login__readtitle
{
    font-size: 90px;
    font-size: 9rem;
    font-weight: 200 !important; 
    line-height: 1;

    margin-bottom: 60px;

    text-align: center;
}

@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .login__readtitle
    {
        font-size: 5.23256vw;
    }
}

@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .login__readtitle
    {
        font-size: 6.08108vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .login__readtitle
    {
        font-size: 10.54688vw;
    }
}

@media screen and (max-width: 767px)
{
    .login__readtitle
    {
        font-size: 14.0625vw;
    }
}

@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .login__readtitle
    {
        margin-bottom: 3.13953vw;
    }
}

@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .login__readtitle
    {
        margin-bottom: 3.24324vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .login__readtitle
    {
        margin-bottom: 7.03125vw;
    }
}

@media screen and (max-width: 767px)
{
    .login__readtitle
    {
        margin-bottom: 15.625vw;
    }
}

@media screen and (max-width: 767px)
{
    .login__readtitle
    {
        font-size: 80px;
        font-size: 8rem;
    }
}

@media screen and (max-width: 767px) and (max-width: 1479px) and (min-width: 1280px)
{
    .login__readtitle
    {
        font-size: 4.65116vw;
    }
}

@media screen and (max-width: 767px) and (max-width: 1279px) and (min-width: 1024px)
{
    .login__readtitle
    {
        font-size: 5.40541vw;
    }
}

@media screen and (max-width: 767px) and (max-width: 1023px) and (min-width: 768px)
{
    .login__readtitle
    {
        font-size: 9.375vw;
    }
}

@media screen and (max-width: 767px) and (max-width: 767px)
{
    .login__readtitle
    {
        font-size: 12.5vw;
    }
}

/* ==========================================================================
   画像認証の領域（後で消す）
   ========================================================================== */
.sampleBox
{
    display: block; 

    width: 450px;
    height: 100px;
    margin-right: 30px;

    background: #ddd;
}

@media screen and (max-width: 1023px)
{
    .sampleBox
    {
        width: 100%;
        height: auto;
        margin: 0 auto; 

        aspect-ratio: 45 / 10;
    }
}

.sampleBox img
{
    width: 100%;
}

/* logo
-------------------------------------------------------------------------- */
.c-logo a
{
    display: block;
}

@media screen and (min-width: 768px)
{
    .first-mg
    {
        margin-top: 250px;
    }
}

@media screen and (max-width: 767px)
{
    .first-mg
    {
        margin: 46.67vw 0vw 0vw 0vw;
    }
}

@media screen and (min-width: 1024px)
{
    .top-mg
    {
        margin: 4vw 0vw 0vw 0vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .top-mg
    {
        margin: 5.33vw 0vw 0vw 0vw;
    }
}

@media screen and (max-width: 767px)
{
    .top-mg
    {
        margin: 8vw 0vw 0vw 0vw;
    }
}

@media screen and (min-width: 1024px)
{
    .top-b-mg
    {
        margin: 4vw 0vw 0vw 0vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .top-b-mg
    {
        margin: 10.67vw 0vw 0vw 0vw;
    }
}

@media screen and (max-width: 767px)
{
    .top-b-mg
    {
        margin: 16vw 0vw 0vw 0vw;
    }
}

@media screen and (min-width: 1024px)
{
    .top-h-mg
    {
        margin: 2vw 0vw 0vw 0vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .top-h-mg
    {
        margin: 4vw 0vw 0vw 0vw;
    }
}

@media screen and (max-width: 767px)
{
    .top-h-mg
    {
        margin: 8vw 0vw 0vw 0vw;
    }
}

@media screen and (min-width: 1024px)
{
    .bottom-mg
    {
        margin: 0vw 0vw 4vw 0vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .bottom-mg
    {
        margin: 0vw 0vw 5.33vw 0vw;
    }
}

@media screen and (max-width: 767px)
{
    .bottom-mg
    {
        margin: 0vw 0vw 8vw 0vw;
    }
}

@media screen and (min-width: 1024px)
{
    .bottom-h-mg
    {
        margin: 0vw 0vw 2vw 0vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .bottom-h-mg
    {
        margin: 0vw 0vw 2.67vw 0vw;
    }
}

@media screen and (max-width: 767px)
{
    .bottom-h-mg
    {
        margin: 0vw 0vw 4vw 0vw;
    }
}

@media screen and (min-width: 1024px)
{
    .mid-mg
    {
        margin: 3.33vw 0vw 3.33vw 0vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .mid-mg
    {
        margin: 4vw 0vw 4vw 0vw;
    }
}

@media screen and (max-width: 767px)
{
    .mid-mg
    {
        margin: 8vw 0vw 8vw 0vw;
    }
}

@media screen and (min-width: 1024px)
{
    .mid-h-mg
    {
        margin: 2vw 0vw 2vw 0vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .mid-h-mg
    {
        margin: 2.67vw 0vw 2.67vw 0vw;
    }
}

@media screen and (max-width: 767px)
{
    .mid-h-mg
    {
        margin: 4vw 0vw 4vw 0vw;
    }
}

@media screen and (min-width: 1024px)
{
    .last-mg
    {
        margin: 0vw 0vw 8vw 0vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .last-mg
    {
        margin: 0vw 0vw 9.33vw 0vw;
    }
}

@media screen and (max-width: 767px)
{
    .last-mg
    {
        margin: 0vw 0vw 10.67vw 0vw;
    }
}

/* ==========================================================================
   管理TOPページのメニュー
   ========================================================================== */
.menu
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 100%;
    min-width: 1280px;
    padding: 0;
    padding-top: 15px;

    list-style-type: none;

    color: #fff;
    background: #0096d1; 

    -webkit-box-pack: start; 

        -ms-flex-pack: start; 

            justify-content: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.menu > li
{
    position: relative;

    width: 25%;
    height: 60px;
}

.menu > li:nth-child(-n+3)
{
    width: 33.33%;
}

.menu > li > a
{
    font-size: 20px;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    width: 100%;
    height: 100%;

    -webkit-transition: all .5s;

    transition: all .5s;
    text-align: center;
    text-decoration: none;

    color: #fff; 
    border: solid 1px #fff;
    border-bottom: 0;
    border-left: 0;
    background: #0096d1;

    -webkit-box-pack: center;

        -ms-flex-pack: center;

            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.menu > li > a.js-dropdown:after
{
    width: 10px;
    height: 10px;
    margin-bottom: 5px;
    margin-left: 20px;

    content: '';
    -webkit-transition: all .5s;
    transition: all .5s;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); 

    border: 2px solid;
    border-color: transparent transparent #fff #fff;
}

.menu > li > a:hover
{
    opacity: 1;
    color: #0096d1; 
    background: #fff;
}

.menu > li > a:hover.js-dropdown:after
{
    border-color: transparent transparent #0096d1 #0096d1;
}

.menu > li > a.is-active
{
    opacity: 1;
    color: #0096d1; 
    background: #fff;
}

.menu > li > a.is-active.js-dropdown:after
{
    margin-top: 5px;
    margin-bottom: 0;

    -webkit-transform: rotate(135deg);
            transform: rotate(135deg); 

    border-color: transparent transparent #0096d1 #0096d1;
}

/*プルダウン*/
.menuSub
{
    position: absolute;
    z-index: 100; 
    top: 60px;
    left: 0;

    display: none;

    width: 100%;
    padding: 0;
}

.menuSub ul li
{
    font-size: 18px; 

    position: relative;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    width: 100%;
    height: 60px;

    -webkit-transition: all .3s;

    transition: all .3s;
    text-align: left;

    border: solid 1px #fff;
    background: #0096d1;

    -webkit-box-pack: start;

        -ms-flex-pack: start;

            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.menuSub ul li:nth-child(-n+3)
{
    width: 100%;
}

.menuSub ul li > a
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 100%;
    height: 100%;
    padding-left: 10px;

    text-align: left;
    text-decoration: none;

    color: #fff; 

    -webkit-box-pack: start; 

        -ms-flex-pack: start; 

            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.menuSub ul li > a:hover
{
    color: #0096d1;
}

.menuSub ul li:hover
{
    color: #0096d1; 
    border: solid 1px #fff;
    background: #fff;
}

/* modal
-------------------------------------------------------------------------- */
.c-modal
{
    position: fixed;
    z-index: 100; 
    top: 0;
    left: 0;

    display: none;
    visibility: hidden;
    overflow-y: auto;

    width: 100%;
    height: 100%;

    -webkit-transition: .3s;

    transition: .3s;

    opacity: 0;
    background-color: rgba(255, 163, 0, .95);
}

@media screen and (max-width: 767px)
{
    .c-modal
    {
        padding: 16vw 5.33vw 0vw 5.33vw;
    }
}

@media screen and (min-width: 768px) and (max-width: 1279px)
{
    .c-modal
    {
        padding: 0 15%;
    }
}

.c-modal__contents
{
    width: 100%; 

    color: #000;
}

@media screen and (max-width: 767px)
{
    .c-modal__contents
    {
        padding: 0vw 0vw 10.67vw 0vw;
    }
}

@media screen and (min-width: 768px) and (max-width: 1279px)
{
    .c-modal__contents
    {
        padding-top: 50px;
        padding-bottom: 50px;
    }
}

@media screen and (min-width: 1280px)
{
    .c-modal__contents
    {
        max-width: 860px;
        margin: 0 auto; 
        padding-top: 80px;
        padding-bottom: 80px;
    }
}

.c-modal.is-open
{
    display: block;
    visibility: visible; 

    opacity: 1;
}

.first-mg
{
    margin-top: 180px;
}

@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .first-mg
    {
        margin-top: 9.4186vw;
    }
}

@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .first-mg
    {
        margin-top: 9.72973vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .first-mg
    {
        margin-top: 17.57813vw;
    }
}

@media screen and (max-width: 767px)
{
    .first-mg
    {
        margin-top: 23.4375vw;
    }
}

.top-l-mg
{
    margin-top: 160px;
}

@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .top-l-mg
    {
        margin-top: 8.37209vw;
    }
}

@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .top-l-mg
    {
        margin-top: 8.64865vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .top-l-mg
    {
        margin-top: 15.625vw;
    }
}

@media screen and (max-width: 767px)
{
    .top-l-mg
    {
        margin-top: 20.83333vw;
    }
}

.top-m-mg
{
    margin-top: 120px;
}

@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .top-m-mg
    {
        margin-top: 6.27907vw;
    }
}

@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .top-m-mg
    {
        margin-top: 6.48649vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .top-m-mg
    {
        margin-top: 11.71875vw;
    }
}

@media screen and (max-width: 767px)
{
    .top-m-mg
    {
        margin-top: 15.625vw;
    }
}

.top-s-mg
{
    margin-top: 60px;
}

@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .top-s-mg
    {
        margin-top: 3.13953vw;
    }
}

@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .top-s-mg
    {
        margin-top: 3.24324vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .top-s-mg
    {
        margin-top: 6.44531vw;
    }
}

@media screen and (max-width: 767px)
{
    .top-s-mg
    {
        margin-top: 8.59375vw;
    }
}

.btm-l-mg
{
    margin-bottom: 160px;
}

@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .btm-l-mg
    {
        margin-bottom: 8.37209vw;
    }
}

@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .btm-l-mg
    {
        margin-bottom: 8.64865vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .btm-l-mg
    {
        margin-bottom: 15.625vw;
    }
}

@media screen and (max-width: 767px)
{
    .btm-l-mg
    {
        margin-bottom: 20.83333vw;
    }
}

.btm-m-mg
{
    margin-bottom: 120px;
}

@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .btm-m-mg
    {
        margin-bottom: 6.27907vw;
    }
}

@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .btm-m-mg
    {
        margin-bottom: 6.48649vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .btm-m-mg
    {
        margin-bottom: 11.71875vw;
    }
}

@media screen and (max-width: 767px)
{
    .btm-m-mg
    {
        margin-bottom: 15.625vw;
    }
}

.btm-s-mg
{
    margin-bottom: 60px;
}

@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .btm-s-mg
    {
        margin-bottom: 3.13953vw;
    }
}

@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .btm-s-mg
    {
        margin-bottom: 3.24324vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .btm-s-mg
    {
        margin-bottom: 6.44531vw;
    }
}

@media screen and (max-width: 767px)
{
    .btm-s-mg
    {
        margin-bottom: 8.59375vw;
    }
}

.mid-l-mg
{
    margin-top: 160px;
    margin-bottom: 160px;
}

@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .mid-l-mg
    {
        margin-top: 8.37209vw;
    }
}

@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .mid-l-mg
    {
        margin-top: 8.64865vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .mid-l-mg
    {
        margin-top: 15.625vw;
    }
}

@media screen and (max-width: 767px)
{
    .mid-l-mg
    {
        margin-top: 20.83333vw;
    }
}

@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .mid-l-mg
    {
        margin-bottom: 8.37209vw;
    }
}

@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .mid-l-mg
    {
        margin-bottom: 8.64865vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .mid-l-mg
    {
        margin-bottom: 15.625vw;
    }
}

@media screen and (max-width: 767px)
{
    .mid-l-mg
    {
        margin-bottom: 20.83333vw;
    }
}

.mid-m-mg
{
    margin-top: 120px;
    margin-bottom: 120px;
}

@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .mid-m-mg
    {
        margin-top: 6.27907vw;
    }
}

@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .mid-m-mg
    {
        margin-top: 6.48649vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .mid-m-mg
    {
        margin-top: 11.71875vw;
    }
}

@media screen and (max-width: 767px)
{
    .mid-m-mg
    {
        margin-top: 15.625vw;
    }
}

@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .mid-m-mg
    {
        margin-bottom: 6.27907vw;
    }
}

@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .mid-m-mg
    {
        margin-bottom: 6.48649vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .mid-m-mg
    {
        margin-bottom: 11.71875vw;
    }
}

@media screen and (max-width: 767px)
{
    .mid-m-mg
    {
        margin-bottom: 15.625vw;
    }
}

.mid-s-mg
{
    margin-top: 60px;
    margin-bottom: 60px;
}

@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .mid-s-mg
    {
        margin-top: 3.13953vw;
    }
}

@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .mid-s-mg
    {
        margin-top: 3.24324vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .mid-s-mg
    {
        margin-top: 6.44531vw;
    }
}

@media screen and (max-width: 767px)
{
    .mid-s-mg
    {
        margin-top: 8.59375vw;
    }
}

@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .mid-s-mg
    {
        margin-bottom: 3.13953vw;
    }
}

@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .mid-s-mg
    {
        margin-bottom: 3.24324vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .mid-s-mg
    {
        margin-bottom: 6.44531vw;
    }
}

@media screen and (max-width: 767px)
{
    .mid-s-mg
    {
        margin-bottom: 8.59375vw;
    }
}

.last-mg
{
    margin-bottom: 180px;
}

@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .last-mg
    {
        margin-bottom: 9.4186vw;
    }
}

@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .last-mg
    {
        margin-bottom: 9.72973vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .last-mg
    {
        margin-bottom: 17.57813vw;
    }
}

@media screen and (max-width: 767px)
{
    .last-mg
    {
        margin-bottom: 23.4375vw;
    }
}

.first-pd
{
    padding-top: 180px;
}

@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .first-pd
    {
        padding-top: 9.4186vw;
    }
}

@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .first-pd
    {
        padding-top: 9.72973vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .first-pd
    {
        padding-top: 17.57813vw;
    }
}

@media screen and (max-width: 767px)
{
    .first-pd
    {
        padding-top: 23.4375vw;
    }
}

.top-l-pd
{
    padding-top: 160px;
}

@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .top-l-pd
    {
        padding-top: 8.37209vw;
    }
}

@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .top-l-pd
    {
        padding-top: 8.64865vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .top-l-pd
    {
        padding-top: 15.625vw;
    }
}

@media screen and (max-width: 767px)
{
    .top-l-pd
    {
        padding-top: 20.83333vw;
    }
}

.top-m-pd
{
    padding-top: 120px;
}

@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .top-m-pd
    {
        padding-top: 6.27907vw;
    }
}

@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .top-m-pd
    {
        padding-top: 6.48649vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .top-m-pd
    {
        padding-top: 11.71875vw;
    }
}

@media screen and (max-width: 767px)
{
    .top-m-pd
    {
        padding-top: 15.625vw;
    }
}

.top-s-pd
{
    padding-top: 60px;
}

@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .top-s-pd
    {
        padding-top: 3.13953vw;
    }
}

@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .top-s-pd
    {
        padding-top: 3.24324vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .top-s-pd
    {
        padding-top: 6.44531vw;
    }
}

@media screen and (max-width: 767px)
{
    .top-s-pd
    {
        padding-top: 8.59375vw;
    }
}

.btm-l-pd
{
    padding-bottom: 160px;
}

@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .btm-l-pd
    {
        padding-bottom: 8.37209vw;
    }
}

@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .btm-l-pd
    {
        padding-bottom: 8.64865vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .btm-l-pd
    {
        padding-bottom: 15.625vw;
    }
}

@media screen and (max-width: 767px)
{
    .btm-l-pd
    {
        padding-bottom: 20.83333vw;
    }
}

.btm-m-pd
{
    padding-bottom: 120px;
}

@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .btm-m-pd
    {
        padding-bottom: 6.27907vw;
    }
}

@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .btm-m-pd
    {
        padding-bottom: 6.48649vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .btm-m-pd
    {
        padding-bottom: 11.71875vw;
    }
}

@media screen and (max-width: 767px)
{
    .btm-m-pd
    {
        padding-bottom: 15.625vw;
    }
}

.btm-s-pd
{
    padding-bottom: 60px;
}

@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .btm-s-pd
    {
        padding-bottom: 3.13953vw;
    }
}

@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .btm-s-pd
    {
        padding-bottom: 3.24324vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .btm-s-pd
    {
        padding-bottom: 6.44531vw;
    }
}

@media screen and (max-width: 767px)
{
    .btm-s-pd
    {
        padding-bottom: 8.59375vw;
    }
}

.mid-l-pd
{
    padding-top: 160px;
    padding-bottom: 160px;
}

@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .mid-l-pd
    {
        padding-top: 8.37209vw;
    }
}

@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .mid-l-pd
    {
        padding-top: 8.64865vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .mid-l-pd
    {
        padding-top: 15.625vw;
    }
}

@media screen and (max-width: 767px)
{
    .mid-l-pd
    {
        padding-top: 20.83333vw;
    }
}

@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .mid-l-pd
    {
        padding-bottom: 8.37209vw;
    }
}

@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .mid-l-pd
    {
        padding-bottom: 8.64865vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .mid-l-pd
    {
        padding-bottom: 15.625vw;
    }
}

@media screen and (max-width: 767px)
{
    .mid-l-pd
    {
        padding-bottom: 20.83333vw;
    }
}

.mid-m-pd
{
    padding-top: 120px;
    padding-bottom: 120px;
}

@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .mid-m-pd
    {
        padding-top: 6.27907vw;
    }
}

@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .mid-m-pd
    {
        padding-top: 6.48649vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .mid-m-pd
    {
        padding-top: 11.71875vw;
    }
}

@media screen and (max-width: 767px)
{
    .mid-m-pd
    {
        padding-top: 15.625vw;
    }
}

@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .mid-m-pd
    {
        padding-bottom: 6.27907vw;
    }
}

@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .mid-m-pd
    {
        padding-bottom: 6.48649vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .mid-m-pd
    {
        padding-bottom: 11.71875vw;
    }
}

@media screen and (max-width: 767px)
{
    .mid-m-pd
    {
        padding-bottom: 15.625vw;
    }
}

.mid-s-pd
{
    padding-top: 60px;
    padding-bottom: 60px;
}

@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .mid-s-pd
    {
        padding-top: 3.13953vw;
    }
}

@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .mid-s-pd
    {
        padding-top: 3.24324vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .mid-s-pd
    {
        padding-top: 6.44531vw;
    }
}

@media screen and (max-width: 767px)
{
    .mid-s-pd
    {
        padding-top: 8.59375vw;
    }
}

@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .mid-s-pd
    {
        padding-bottom: 3.13953vw;
    }
}

@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .mid-s-pd
    {
        padding-bottom: 3.24324vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .mid-s-pd
    {
        padding-bottom: 6.44531vw;
    }
}

@media screen and (max-width: 767px)
{
    .mid-s-pd
    {
        padding-bottom: 8.59375vw;
    }
}

.last-pd
{
    padding-bottom: 180px;
}

@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .last-pd
    {
        padding-bottom: 9.4186vw;
    }
}

@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .last-pd
    {
        padding-bottom: 9.72973vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .last-pd
    {
        padding-bottom: 17.57813vw;
    }
}

@media screen and (max-width: 767px)
{
    .last-pd
    {
        padding-bottom: 23.4375vw;
    }
}

/* outset
-------------------------------------------------------------------------- */
.outset
{
    font-family: 'object-fit: cover;'; 

    -o-object-fit: cover; 

       object-fit: cover;
}

@media screen and (min-width: 1024px)
{
    .first-pd
    {
        padding: 8vw 0vw 0vw 0vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .first-pd
    {
        padding: 9.33vw 0vw 0vw 0vw;
    }
}

@media screen and (max-width: 767px)
{
    .first-pd
    {
        padding: 10.67vw 0vw 0vw 0vw;
    }
}

@media screen and (min-width: 1024px)
{
    .top-pd
    {
        padding: 4vw 0vw 0vw 0vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .top-pd
    {
        padding: 5.33vw 0vw 0vw 0vw;
    }
}

@media screen and (max-width: 767px)
{
    .top-pd
    {
        padding: 8vw 0vw 0vw 0vw;
    }
}

@media screen and (min-width: 1024px)
{
    .top-h-pd
    {
        padding: 2vw 0vw 0vw 0vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .top-h-pd
    {
        padding: 2.67vw 0vw 0vw 0vw;
    }
}

@media screen and (max-width: 767px)
{
    .top-h-pd
    {
        padding: 4vw 0vw 0vw 0vw;
    }
}

@media screen and (min-width: 1024px)
{
    .bottom-pd
    {
        padding: 0vw 0vw 8vw 0vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .bottom-pd
    {
        padding: 0vw 0vw 10.67vw 0vw;
    }
}

@media screen and (max-width: 767px)
{
    .bottom-pd
    {
        padding: 0vw 0vw 16vw 0vw;
    }
}

@media screen and (min-width: 1024px)
{
    .bottom-h-pd
    {
        padding: 0vw 0vw 2vw 0vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .bottom-h-pd
    {
        padding: 0vw 0vw 2.67vw 0vw;
    }
}

@media screen and (max-width: 767px)
{
    .bottom-h-pd
    {
        padding: 0vw 0vw 4vw 0vw;
    }
}

@media screen and (min-width: 1024px)
{
    .mid-pd
    {
        padding: 4vw 0vw 4vw 0vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .mid-pd
    {
        padding: 5.33vw 0vw 5.33vw 0vw;
    }
}

@media screen and (max-width: 767px)
{
    .mid-pd
    {
        padding: 8vw 0vw 8vw 0vw;
    }
}

@media screen and (min-width: 1024px)
{
    .mid-h-pd
    {
        padding: 2vw 0vw 2vw 0vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .mid-h-pd
    {
        padding: 2.67vw 0vw 2.67vw 0vw;
    }
}

@media screen and (max-width: 767px)
{
    .mid-h-pd
    {
        padding: 4vw 0vw 4vw 0vw;
    }
}

@media screen and (min-width: 1024px)
{
    .mid-hb-pd
    {
        padding: 2vw 0vw 2vw 0vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .mid-hb-pd
    {
        padding: 6.67vw 0vw 6.67vw 0vw;
    }
}

@media screen and (max-width: 767px)
{
    .mid-hb-pd
    {
        padding: 12vw 0vw 12vw 0vw;
    }
}

@media screen and (min-width: 1024px)
{
    .last-pd
    {
        padding: 0vw 0vw 8vw 0vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .last-pd
    {
        padding: 0vw 0vw 9.33vw 0vw;
    }
}

@media screen and (max-width: 767px)
{
    .last-pd
    {
        padding: 0vw 0vw 10.67vw 0vw;
    }
}

@page
{
    size: A4 landscape;
}

@media print
{
    header,
    .linklist,
    .btnarea,
    .access__map,
    .arrow_top,
    .arrow_bottom,
    footer,
    .c-table th:nth-last-child(-n+4),
    .c-table td:nth-last-child(-n+4)
    {
        display: none !important;
    }
}

/* c-rangeSlider
-------------------------------------------------------------------------- */
.c-rangeSlider
{
    width: 100%;
    margin: 0;
    margin: 0;
    padding: 0;

    -webkit-appearance: none;

       -moz-appearance: none;

            appearance: none;
    /* WebKit・Blink向け 溝のスタイル */
    /* WebKit・Blink向け つまみのスタイル */
    /* WebKit・Blink向け focus時のスタイル */
    /* Firefox向け 溝のスタイル */
    /* Firefox向け つまみのスタイル */
    /* Edge・IE向け 溝のスタイル */
    /* Edge・IE向け 溝の色（つまみより左側） */
    /* Edge・IE向け 溝の色（つまみより右側） */
    /* Edge・IE向け つまみのスタイル */
    /* Edge・IE向け focus時の色（つまみより左側） */
    /* Edge・IE向け focus時の色（つまみより右側） */
    /* Edge・IE向け ポップアップを非表示に */
}

.c-rangeSlider:focus
{
    outline: none;
}

.c-rangeSlider::-webkit-slider-runnable-track
{
    width: 100%;

    background-color: #000;

    -webkit-appearance: none;

            appearance: none;
}

@media screen and (max-width: 767px)
{
    .c-rangeSlider::-webkit-slider-runnable-track
    {
        height: 1.33333vw;

        border-radius: 1.6vw;
    }
}

@media screen and (min-width: 768px)
{
    .c-rangeSlider::-webkit-slider-runnable-track
    {
        height: 5px;

        border-radius: 6px;
    }
}

.c-rangeSlider::-webkit-slider-thumb
{
    position: relative;

    display: block;

    cursor: pointer;
    -webkit-transition: .4s;
    transition: .4s;

    border-radius: 50%;
    background-color: #fff;

    -webkit-appearance: none;

            appearance: none;
}

@media screen and (max-width: 767px)
{
    .c-rangeSlider::-webkit-slider-thumb
    {
        width: 5.33333vw;
        height: 5.33333vw;
        margin-top: -2.13333vw !important;

        border: .53333vw solid rgba(0, 0, 0, .5);
    }
}

@media screen and (min-width: 768px)
{
    .c-rangeSlider::-webkit-slider-thumb
    {
        width: 20px;
        height: 20px;
        margin-top: -8px !important;

        border: 2px solid rgba(0, 0, 0, .5);
    }
}

.c-rangeSlider:active::-webkit-slider-thumb
{
    -webkit-transition: .4s;
    transition: .4s;
}

@media screen and (max-width: 767px)
{
    .c-rangeSlider:active::-webkit-slider-thumb
    {
        width: 6.66667vw;
        height: 6.66667vw;
    }
}

@media screen and (min-width: 768px)
{
    .c-rangeSlider:active::-webkit-slider-thumb
    {
        width: 25px;
        height: 25px;
    }
}

.c-rangeSlider:focus::-webkit-slider-runnable-track
{
    background: #000;
}

.c-rangeSlider::-moz-range-track
{
    width: 100%;

    background-color: #000;

    -moz-appearance: none;

         appearance: none;
}

@media screen and (max-width: 767px)
{
    .c-rangeSlider::-moz-range-track
    {
        height: 1.33333vw;

        border-radius: 1.6vw;
    }
}

@media screen and (min-width: 768px)
{
    .c-rangeSlider::-moz-range-track
    {
        height: 5px;

        border-radius: 6px;
    }
}

.c-rangeSlider::-moz-range-thumb
{
    position: relative;

    display: block;

    cursor: pointer;
    -webkit-transition: .4s;
    transition: .4s;

    border-radius: 50%;
    background-color: #fff;

    -moz-appearance: none;

         appearance: none;
}

@media screen and (max-width: 767px)
{
    .c-rangeSlider::-moz-range-thumb
    {
        width: 5.33333vw;
        height: 5.33333vw;
        margin-top: -2.13333vw !important;

        border: .53333vw solid rgba(0, 0, 0, .5);
    }
}

@media screen and (min-width: 768px)
{
    .c-rangeSlider::-moz-range-thumb
    {
        width: 20px;
        height: 20px;
        margin-top: -8px !important;

        border: 2px solid rgba(0, 0, 0, .5);
    }
}

.c-rangeSlider:active::-moz-range-thumb
{
    -webkit-transition: .4s;
    transition: .4s;
}

@media screen and (max-width: 767px)
{
    .c-rangeSlider:active::-moz-range-thumb
    {
        width: 6.66667vw;
        height: 6.66667vw;
    }
}

@media screen and (min-width: 768px)
{
    .c-rangeSlider:active::-moz-range-thumb
    {
        width: 25px;
        height: 25px;
    }
}

.c-rangeSlider::-ms-track
{
    width: 100%;

    cursor: pointer;

    color: transparent;
    border-width: 16px 0;
    border-color: transparent;
    background: transparent;

    animate: .2s;
}

@media screen and (max-width: 767px)
{
    .c-rangeSlider::-ms-track
    {
        height: 1.33333vw;
    }
}

@media screen and (min-width: 768px)
{
    .c-rangeSlider::-ms-track
    {
        height: 5px;
    }
}

.c-rangeSlider::-ms-fill-lower
{
    background: #000;
}

.c-rangeSlider::-ms-fill-upper
{
    background: #1a1a1a;
}

.c-rangeSlider::-ms-thumb
{
    width: 20px;
    height: 20px;

    cursor: pointer;
    -webkit-transition: .4s;
    transition: .4s;

    border-radius: 50%;
    background-color: #fff;

    appearance: none;
}

@media screen and (max-width: 767px)
{
    .c-rangeSlider::-ms-thumb
    {
        width: 5.33333vw;
        height: 5.33333vw;

        border: .53333vw solid rgba(0, 0, 0, .5);
    }
}

@media screen and (min-width: 768px)
{
    .c-rangeSlider::-ms-thumb
    {
        width: 20px;
        height: 20px;

        border: 2px solid rgba(0, 0, 0, .5);
    }
}

.c-rangeSlider:active::-ms-thumb
{
    -webkit-transition: .4s;
    transition: .4s;
}

@media screen and (max-width: 767px)
{
    .c-rangeSlider:active::-ms-thumb
    {
        width: 6.66667vw;
        height: 6.66667vw;
    }
}

@media screen and (min-width: 768px)
{
    .c-rangeSlider:active::-ms-thumb
    {
        width: 25px;
        height: 25px;
    }
}

.c-rangeSlider:focus::-ms-fill-lower
{
    background: #000;
}

.c-rangeSlider:focus::-ms-fill-upper
{
    background: #0089ef;
}

.c-rangeSlider::-ms-tooltip
{
    display: none;
}

/* 何故か上の margin-top 指定が Edge に効いてしまうので、Edge向けに設定をリセット */
@supports (-ms-ime-align: auto)
{
    .c-rangeSlider::-webkit-slider-thumb
    {
        margin-top: 0 !important;
    }
}

/* ==========================================================================
   統計系のスタイル
   ========================================================================== */
.st_wrap
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 855px;
    margin: 170px auto 85px;

    -ms-flex-wrap: wrap;

        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.st_wrap::after,
.st_wrap::before
{
    display: block;

    width: 100%;
    max-width: 365px;
    height: 0; 

    content: '';
}

.st_wrap::before
{
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
}

.st_item
{
    font-size: 22px;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    width: 275px;
    height: 55px;
    margin: 0 5px;

    -webkit-transition: all .1s ease-out;

    transition: all .1s ease-out; 
    text-decoration: none;

    border: 1px solid #e3e3e3;

    -ms-flex-wrap: wrap;

        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.st_item.on
{
    color: #fff; 
    border: 1px solid #0096d1;
    background: #0096d1;
}

.st_item.on:hover
{
    opacity: 1;
}

.st_item:hover
{
    color: #fff; 
    border: 1px solid #0096d1;
    background: #0096d1;
}

.st_price
{
    font-size: 40px;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    width: 850px;
    margin: 0 auto 135px; 
    padding: 0 0 40px;

    border-bottom: 1px #e7e7e7 solid;

    -ms-flex-wrap: wrap;

        flex-wrap: wrap;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.st_price span
{
    font-size: 85px;
    font-weight: 400;

    margin: 0 20px; 

    color: #0096d1;
}

/* c-table
-------------------------------------------------------------------------- */
.c-table
{
    width: 100%;
}

.c-table th,
.c-table td
{
    line-height: 1.8;
    line-height: 1.2; 

    padding-right: 10px;
    padding-left: 10px;

    vertical-align: middle;

    border: 1px solid #e7e7e7;
}

.c-table th
{
    font-size: 14px;
    font-weight: 400;

    text-align: center;
}

.c-table td
{
    font-size: 12px;

    text-align: left;
}

.c-table.top
{
    width: 100%;
    min-width: 850px;
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;
}

.c-table.top th,
.c-table.top td
{
    font-size: 20px;

    padding: 13px 10px;
}

.c-table.top td
{
    text-align: right;
}

.c-table.top tr:nth-child(odd)
{
    background: #fcfdfe;
}

.c-table.top tr:nth-last-child(-n+5)
{
    background: #f8f8f8;
}

.c-table.top tr:last-child
{
    font-weight: bold; 

    color: #fff;
    background: #0096d1;
}

.c-table.top tr:last-child td,
.c-table.top tr:last-child th
{
    font-size: 25px;
}

.c-table.top tr:first-child th:nth-last-child(-n+8)
{
    background: #e6f5fc;
}

.c-table.new th:nth-child(1),
.c-table.new th:nth-child(2),
.c-table.new th:nth-child(21),
.c-table.new td:nth-child(1),
.c-table.new td:nth-child(2),
.c-table.new td:nth-child(21)
{
    width: 67px;
    padding: 10px 0;

    text-align: center;
}

.c-table.new th:nth-child(3),
.c-table.new td:nth-child(3)
{
    width: 28px;
    min-width: 20px;
    padding: 10px 0;

    text-align: center;
}

.c-table.new th:nth-child(4),
.c-table.new th:nth-child(5),
.c-table.new th:nth-child(6),
.c-table.new th:nth-child(9),
.c-table.new td:nth-child(4),
.c-table.new td:nth-child(5),
.c-table.new td:nth-child(6),
.c-table.new td:nth-child(9)
{
    width: 43px;
    min-width: 32px;
    padding: 10px 0;

    text-align: center;
}

.c-table.new th:nth-child(10),
.c-table.new th:nth-child(11),
.c-table.new th:nth-child(12),
.c-table.new th:nth-child(14),
.c-table.new th:nth-child(15),
.c-table.new th:nth-child(16),
.c-table.new th:nth-child(17),
.c-table.new th:nth-child(19),
.c-table.new th:nth-child(20),
.c-table.new td:nth-child(10),
.c-table.new td:nth-child(11),
.c-table.new td:nth-child(12),
.c-table.new td:nth-child(14),
.c-table.new td:nth-child(15),
.c-table.new td:nth-child(16),
.c-table.new td:nth-child(17),
.c-table.new td:nth-child(19),
.c-table.new td:nth-child(20)
{
    width: 50px;
    min-width: 32px;
    padding: 10px 0;

    text-align: center;
}

.c-table.new th:nth-child(18),
.c-table.new td:nth-child(18)
{
    width: 110px;
    min-width: 80px;
    padding: 0 5px;

    text-align: left;
}

.c-table.new th:nth-child(22),
.c-table.new th:nth-child(23),
.c-table.new td:nth-child(22),
.c-table.new td:nth-child(23)
{
    min-width: 90px;
    padding: 10px 0;

    text-align: center;
}

.c-table.new th:nth-child(24),
.c-table.new td:nth-child(24)
{
    width: 145px;
    min-width: 80px;
    padding: 0 5px;

    text-align: left;
}

.c-table.new th:nth-child(13),
.c-table.new td:nth-child(13)
{
    width: 65px;
    padding: 10px 0;

    text-align: center;
}

.c-table.new th:nth-child(7),
.c-table.new td:nth-child(7)
{
    width: 210px;
    min-width: 85px;
    padding: 0 5px;

    text-align: left;
}

.c-table.new th:nth-child(8),
.c-table.new td:nth-child(8)
{
    width: 130px;
    min-width: 60px;
    padding: 0 5px;

    text-align: left;
}

.c-table.new th:nth-child(25),
.c-table.new th:nth-child(26),
.c-table.new th:nth-child(27),
.c-table.new th:nth-child(28),
.c-table.new td:nth-child(25),
.c-table.new td:nth-child(26),
.c-table.new td:nth-child(27),
.c-table.new td:nth-child(28)
{
    width: 42px;
    min-width: 32px;
    padding: 10px 0;

    text-align: center;
}

.c-table.new th:nth-child(25) img,
.c-table.new th:nth-child(26) img,
.c-table.new th:nth-child(27) img,
.c-table.new th:nth-child(28) img,
.c-table.new td:nth-child(25) img,
.c-table.new td:nth-child(26) img,
.c-table.new td:nth-child(27) img,
.c-table.new td:nth-child(28) img
{
    width: 16px;
}

.c-table.new th:nth-child(25) img,
.c-table.new td:nth-child(25) img
{
    width: 18px;
}

.c-table.new th
{
    font-weight: 500;

    position: relative; 

    text-align: center !important;

    background: #f6f6f6;
}

.c-table.new th .arrow_top
{
    position: absolute;
    top: -3px;
    right: 3px;

    width: 9px;
}

.c-table.new th .arrow_bottom
{
    position: absolute;
    right: 3px;
    bottom: 0;

    width: 9px;
}

.c-table.new td
{
    font-weight: 400;
}

.c-table.new_user th:nth-child(1),
.c-table.new_user th:nth-child(2),
.c-table.new_user th:nth-child(19),
.c-table.new_user td:nth-child(1),
.c-table.new_user td:nth-child(2),
.c-table.new_user td:nth-child(19)
{
    width: 67px;
    padding: 10px 0;

    text-align: center;
}

.c-table.new_user th:nth-child(3),
.c-table.new_user th:nth-child(4),
.c-table.new_user th:nth-child(5),
.c-table.new_user th:nth-child(8),
.c-table.new_user td:nth-child(3),
.c-table.new_user td:nth-child(4),
.c-table.new_user td:nth-child(5),
.c-table.new_user td:nth-child(8)
{
    width: 43px;
    min-width: 32px;
    padding: 10px 0;

    text-align: center;
}

.c-table.new_user th:nth-child(6),
.c-table.new_user td:nth-child(6)
{
    width: 440px;
    min-width: 85px;
    padding: 0 5px;

    text-align: left;
}

.c-table.new_user th:nth-child(7),
.c-table.new_user td:nth-child(7)
{
    width: 380px;
    min-width: 60px;
    padding: 0 5px;

    text-align: left;
}

.c-table.new_user th:nth-child(9),
.c-table.new_user th:nth-child(10),
.c-table.new_user th:nth-child(11),
.c-table.new_user th:nth-child(12),
.c-table.new_user th:nth-child(14),
.c-table.new_user th:nth-child(15),
.c-table.new_user th:nth-child(16),
.c-table.new_user th:nth-child(17),
.c-table.new_user th:nth-child(18),
.c-table.new_user td:nth-child(9),
.c-table.new_user td:nth-child(10),
.c-table.new_user td:nth-child(11),
.c-table.new_user td:nth-child(12),
.c-table.new_user td:nth-child(14),
.c-table.new_user td:nth-child(15),
.c-table.new_user td:nth-child(16),
.c-table.new_user td:nth-child(17),
.c-table.new_user td:nth-child(18)
{
    width: 50px;
    min-width: 32px;
    padding: 10px 0;

    text-align: center;
}

.c-table.new_user th:nth-child(30),
.c-table.new_user td:nth-child(30)
{
    width: 110px;
    min-width: 80px;
    padding: 0 5px;

    text-align: left;
}

.c-table.new_user th:nth-child(13),
.c-table.new_user td:nth-child(13)
{
    width: 65px;
    padding: 10px 0;

    text-align: center;
}

.c-table.new_user th:nth-child(20),
.c-table.new_user th:nth-child(21),
.c-table.new_user th:nth-child(22),
.c-table.new_user th:nth-child(23),
.c-table.new_user td:nth-child(20),
.c-table.new_user td:nth-child(21),
.c-table.new_user td:nth-child(22),
.c-table.new_user td:nth-child(23)
{
    width: 42px;
    min-width: 32px;
    padding: 10px 0;

    text-align: center;
}

.c-table.new_user th:nth-child(20) img,
.c-table.new_user th:nth-child(21) img,
.c-table.new_user th:nth-child(22) img,
.c-table.new_user th:nth-child(23) img,
.c-table.new_user td:nth-child(20) img,
.c-table.new_user td:nth-child(21) img,
.c-table.new_user td:nth-child(22) img,
.c-table.new_user td:nth-child(23) img
{
    width: 16px;
}

.c-table.new_user th:nth-child(20) img,
.c-table.new_user td:nth-child(20) img
{
    width: 18px;
}

.c-table.new_user th
{
    font-weight: 500;

    position: relative; 

    text-align: center !important;

    background: #f6f6f6;
}

.c-table.new_user th .arrow_top
{
    position: absolute;
    top: -3px;
    right: 3px;

    width: 9px;
}

.c-table.new_user th .arrow_bottom
{
    position: absolute;
    right: 3px;
    bottom: 0;

    width: 9px;
}

.c-table.new_user td
{
    font-weight: 400;
}

.c-table.old th:nth-child(1),
.c-table.old th:nth-child(2),
.c-table.old th:nth-child(21),
.c-table.old td:nth-child(1),
.c-table.old td:nth-child(2),
.c-table.old td:nth-child(21)
{
    width: 67px;
    padding: 10px 0;

    text-align: center;
}

.c-table.old th:nth-child(3),
.c-table.old td:nth-child(3)
{
    width: 28px;
    min-width: 20px;
    padding: 10px 0;

    text-align: center;
}

.c-table.old th:nth-child(4),
.c-table.old th:nth-child(5),
.c-table.old th:nth-child(6),
.c-table.old th:nth-child(9),
.c-table.old td:nth-child(4),
.c-table.old td:nth-child(5),
.c-table.old td:nth-child(6),
.c-table.old td:nth-child(9)
{
    width: 43px;
    min-width: 32px;
    padding: 10px 0;

    text-align: center;
}

.c-table.old th:nth-child(10),
.c-table.old th:nth-child(11),
.c-table.old th:nth-child(12),
.c-table.old th:nth-child(14),
.c-table.old th:nth-child(15),
.c-table.old th:nth-child(16),
.c-table.old th:nth-child(17),
.c-table.old th:nth-child(19),
.c-table.old th:nth-child(20),
.c-table.old td:nth-child(10),
.c-table.old td:nth-child(11),
.c-table.old td:nth-child(12),
.c-table.old td:nth-child(14),
.c-table.old td:nth-child(15),
.c-table.old td:nth-child(16),
.c-table.old td:nth-child(17),
.c-table.old td:nth-child(19),
.c-table.old td:nth-child(20)
{
    width: 50px;
    min-width: 32px;
    padding: 10px 0;

    text-align: center;
}

.c-table.old th:nth-child(18),
.c-table.old td:nth-child(18)
{
    width: 110px;
    min-width: 80px;
    padding: 0 5px;

    text-align: left;
}

.c-table.old th:nth-child(22),
.c-table.old th:nth-child(23),
.c-table.old td:nth-child(22),
.c-table.old td:nth-child(23)
{
    min-width: 90px;
    padding: 10px 0;

    text-align: center;
}

.c-table.old th:nth-child(24),
.c-table.old td:nth-child(24)
{
    width: 145px;
    min-width: 80px;
    padding: 0 5px;

    text-align: left;
}

.c-table.old th:nth-child(13),
.c-table.old td:nth-child(13)
{
    width: 65px;
    padding: 10px 0;

    text-align: center;
}

.c-table.old th:nth-child(7),
.c-table.old td:nth-child(7)
{
    width: 210px;
    min-width: 85px;
    padding: 0 5px;

    text-align: left;
}

.c-table.old th:nth-child(8),
.c-table.old td:nth-child(8)
{
    width: 130px;
    min-width: 60px;
    padding: 0 5px;

    text-align: left;
}

.c-table.old th:nth-child(25),
.c-table.old th:nth-child(26),
.c-table.old th:nth-child(27),
.c-table.old th:nth-child(28),
.c-table.old td:nth-child(25),
.c-table.old td:nth-child(26),
.c-table.old td:nth-child(27),
.c-table.old td:nth-child(28)
{
    width: 42px;
    min-width: 32px;
    padding: 10px 0;

    text-align: center;
}

.c-table.old th:nth-child(25) img,
.c-table.old th:nth-child(26) img,
.c-table.old th:nth-child(27) img,
.c-table.old th:nth-child(28) img,
.c-table.old td:nth-child(25) img,
.c-table.old td:nth-child(26) img,
.c-table.old td:nth-child(27) img,
.c-table.old td:nth-child(28) img
{
    width: 16px;
}

.c-table.old th:nth-child(25) img,
.c-table.old td:nth-child(25) img
{
    width: 18px;
}

.c-table.old th
{
    font-weight: 500;

    position: relative; 

    text-align: center !important;

    background: #f6f6f6;
}

.c-table.old th .arrow_top
{
    position: absolute;
    top: -3px;
    right: 3px;

    width: 9px;
}

.c-table.old th .arrow_bottom
{
    position: absolute;
    right: 3px;
    bottom: 0;

    width: 9px;
}

.c-table.old td
{
    font-weight: 400;
}

.c-table.old_user th:nth-child(1),
.c-table.old_user th:nth-child(2),
.c-table.old_user th:nth-child(19),
.c-table.old_user td:nth-child(1),
.c-table.old_user td:nth-child(2),
.c-table.old_user td:nth-child(19)
{
    width: 67px;
    padding: 10px 0;

    text-align: center;
}

.c-table.old_user th:nth-child(3),
.c-table.old_user th:nth-child(4),
.c-table.old_user th:nth-child(5),
.c-table.old_user th:nth-child(8),
.c-table.old_user td:nth-child(3),
.c-table.old_user td:nth-child(4),
.c-table.old_user td:nth-child(5),
.c-table.old_user td:nth-child(8)
{
    width: 43px;
    min-width: 32px;
    padding: 10px 0;

    text-align: center;
}

.c-table.old_user th:nth-child(6),
.c-table.old_user td:nth-child(6)
{
    width: 440px;
    min-width: 85px;
    padding: 0 5px;

    text-align: left;
}

.c-table.old_user th:nth-child(7),
.c-table.old_user td:nth-child(7)
{
    width: 380px;
    min-width: 60px;
    padding: 0 5px;

    text-align: left;
}

.c-table.old_user th:nth-child(9),
.c-table.old_user th:nth-child(10),
.c-table.old_user th:nth-child(11),
.c-table.old_user th:nth-child(12),
.c-table.old_user th:nth-child(14),
.c-table.old_user th:nth-child(15),
.c-table.old_user th:nth-child(16),
.c-table.old_user th:nth-child(17),
.c-table.old_user th:nth-child(18),
.c-table.old_user td:nth-child(9),
.c-table.old_user td:nth-child(10),
.c-table.old_user td:nth-child(11),
.c-table.old_user td:nth-child(12),
.c-table.old_user td:nth-child(14),
.c-table.old_user td:nth-child(15),
.c-table.old_user td:nth-child(16),
.c-table.old_user td:nth-child(17),
.c-table.old_user td:nth-child(18)
{
    width: 50px;
    min-width: 32px;
    padding: 10px 0;

    text-align: center;
}

.c-table.old_user th:nth-child(30),
.c-table.old_user td:nth-child(30)
{
    width: 110px;
    min-width: 80px;
    padding: 0 5px;

    text-align: left;
}

.c-table.old_user th:nth-child(13),
.c-table.old_user td:nth-child(13)
{
    width: 65px;
    padding: 10px 0;

    text-align: center;
}

.c-table.old_user th:nth-child(20),
.c-table.old_user th:nth-child(21),
.c-table.old_user th:nth-child(22),
.c-table.old_user th:nth-child(23),
.c-table.old_user td:nth-child(20),
.c-table.old_user td:nth-child(21),
.c-table.old_user td:nth-child(22),
.c-table.old_user td:nth-child(23)
{
    width: 42px;
    min-width: 32px;
    padding: 10px 0;

    text-align: center;
}

.c-table.old_user th:nth-child(20) img,
.c-table.old_user th:nth-child(21) img,
.c-table.old_user th:nth-child(22) img,
.c-table.old_user th:nth-child(23) img,
.c-table.old_user td:nth-child(20) img,
.c-table.old_user td:nth-child(21) img,
.c-table.old_user td:nth-child(22) img,
.c-table.old_user td:nth-child(23) img
{
    width: 16px;
}

.c-table.old_user th:nth-child(20) img,
.c-table.old_user td:nth-child(20) img
{
    width: 18px;
}

.c-table.old_user th
{
    font-weight: 500;

    position: relative; 

    text-align: center !important;

    background: #f6f6f6;
}

.c-table.old_user th .arrow_top
{
    position: absolute;
    top: -3px;
    right: 3px;

    width: 9px;
}

.c-table.old_user th .arrow_bottom
{
    position: absolute;
    right: 3px;
    bottom: 0;

    width: 9px;
}

.c-table.old_user td
{
    font-weight: 400;
}

.c-table.land th:nth-child(1),
.c-table.land th:nth-child(2),
.c-table.land th:nth-child(21),
.c-table.land td:nth-child(1),
.c-table.land td:nth-child(2),
.c-table.land td:nth-child(21)
{
    width: 67px;
    padding: 10px 0;

    text-align: center;
}

.c-table.land th:nth-child(3),
.c-table.land td:nth-child(3)
{
    width: 28px;
    min-width: 20px;
    padding: 10px 0;

    text-align: center;
}

.c-table.land th:nth-child(4),
.c-table.land th:nth-child(5),
.c-table.land th:nth-child(6),
.c-table.land th:nth-child(9),
.c-table.land th:nth-child(13),
.c-table.land th:nth-child(14),
.c-table.land th:nth-child(15),
.c-table.land th:nth-child(16),
.c-table.land th:nth-child(17),
.c-table.land td:nth-child(4),
.c-table.land td:nth-child(5),
.c-table.land td:nth-child(6),
.c-table.land td:nth-child(9),
.c-table.land td:nth-child(13),
.c-table.land td:nth-child(14),
.c-table.land td:nth-child(15),
.c-table.land td:nth-child(16),
.c-table.land td:nth-child(17)
{
    width: 43px;
    min-width: 32px;
    padding: 10px 0;

    text-align: center;
}

.c-table.land th:nth-child(10),
.c-table.land th:nth-child(11),
.c-table.land th:nth-child(12),
.c-table.land th:nth-child(19),
.c-table.land th:nth-child(20),
.c-table.land td:nth-child(10),
.c-table.land td:nth-child(11),
.c-table.land td:nth-child(12),
.c-table.land td:nth-child(19),
.c-table.land td:nth-child(20)
{
    width: 50px;
    min-width: 32px;
    padding: 10px 0;

    text-align: center;
}

.c-table.land th:nth-child(18),
.c-table.land td:nth-child(18)
{
    width: 110px;
    min-width: 80px;
    padding: 0 5px;

    text-align: left;
}

.c-table.land th:nth-child(22),
.c-table.land th:nth-child(23),
.c-table.land td:nth-child(22),
.c-table.land td:nth-child(23)
{
    width: 90px;
    min-width: 90px;
    padding: 10px 0;

    text-align: center;
}

.c-table.land th:nth-child(24),
.c-table.land td:nth-child(24)
{
    width: 145px;
    min-width: 80px;
    padding: 0 5px;

    text-align: left;
}

.c-table.land th:nth-child(7),
.c-table.land td:nth-child(7)
{
    width: 210px;
    min-width: 85px;
    padding: 0 5px;

    text-align: left;
}

.c-table.land th:nth-child(8),
.c-table.land td:nth-child(8)
{
    width: 140px;
    min-width: 60px;
    padding: 0 5px;

    text-align: left;
}

.c-table.land th:nth-child(25),
.c-table.land th:nth-child(26),
.c-table.land th:nth-child(27),
.c-table.land th:nth-child(28),
.c-table.land td:nth-child(25),
.c-table.land td:nth-child(26),
.c-table.land td:nth-child(27),
.c-table.land td:nth-child(28)
{
    width: 42px;
    min-width: 32px;
    padding: 10px 0;

    text-align: center;
}

.c-table.land th:nth-child(25) img,
.c-table.land th:nth-child(26) img,
.c-table.land th:nth-child(27) img,
.c-table.land th:nth-child(28) img,
.c-table.land td:nth-child(25) img,
.c-table.land td:nth-child(26) img,
.c-table.land td:nth-child(27) img,
.c-table.land td:nth-child(28) img
{
    width: 16px;
}

.c-table.land th:nth-child(25) img,
.c-table.land td:nth-child(25) img
{
    width: 18px;
}

.c-table.land th
{
    font-weight: 500;

    position: relative; 

    text-align: center !important;

    background: #f6f6f6;
}

.c-table.land th .arrow_top
{
    position: absolute;
    top: -3px;
    right: 3px;

    width: 9px;
}

.c-table.land th .arrow_bottom
{
    position: absolute;
    right: 3px;
    bottom: 0;

    width: 9px;
}

.c-table.land td
{
    font-weight: 400;
}

.c-table.land_user th:nth-child(1),
.c-table.land_user th:nth-child(2),
.c-table.land_user th:nth-child(19),
.c-table.land_user td:nth-child(1),
.c-table.land_user td:nth-child(2),
.c-table.land_user td:nth-child(19)
{
    width: 67px;
    padding: 10px 0;

    text-align: center;
}

.c-table.land_user th:nth-child(3),
.c-table.land_user th:nth-child(4),
.c-table.land_user th:nth-child(5),
.c-table.land_user th:nth-child(11),
.c-table.land_user th:nth-child(12),
.c-table.land_user th:nth-child(13),
.c-table.land_user th:nth-child(14),
.c-table.land_user th:nth-child(15),
.c-table.land_user th:nth-child(16),
.c-table.land_user td:nth-child(3),
.c-table.land_user td:nth-child(4),
.c-table.land_user td:nth-child(5),
.c-table.land_user td:nth-child(11),
.c-table.land_user td:nth-child(12),
.c-table.land_user td:nth-child(13),
.c-table.land_user td:nth-child(14),
.c-table.land_user td:nth-child(15),
.c-table.land_user td:nth-child(16)
{
    width: 43px;
    min-width: 32px;
    padding: 10px 0;

    text-align: center;
}

.c-table.land_user th:nth-child(6),
.c-table.land_user td:nth-child(6)
{
    width: 440px;
    min-width: 85px;
    padding: 0 5px;

    text-align: left;
}

.c-table.land_user th:nth-child(7),
.c-table.land_user td:nth-child(7)
{
    width: 380px;
    min-width: 60px;
    padding: 0 5px;

    text-align: left;
}

.c-table.land_user th:nth-child(8),
.c-table.land_user th:nth-child(9),
.c-table.land_user th:nth-child(10),
.c-table.land_user th:nth-child(17),
.c-table.land_user th:nth-child(18),
.c-table.land_user td:nth-child(8),
.c-table.land_user td:nth-child(9),
.c-table.land_user td:nth-child(10),
.c-table.land_user td:nth-child(17),
.c-table.land_user td:nth-child(18)
{
    width: 50px;
    min-width: 32px;
    padding: 10px 0;

    text-align: center;
}

.c-table.land_user th:nth-child(20),
.c-table.land_user th:nth-child(21),
.c-table.land_user th:nth-child(22),
.c-table.land_user th:nth-child(23),
.c-table.land_user td:nth-child(20),
.c-table.land_user td:nth-child(21),
.c-table.land_user td:nth-child(22),
.c-table.land_user td:nth-child(23)
{
    width: 42px;
    min-width: 32px;
    padding: 10px 0;

    text-align: center;
}

.c-table.land_user th:nth-child(20) img,
.c-table.land_user th:nth-child(21) img,
.c-table.land_user th:nth-child(22) img,
.c-table.land_user th:nth-child(23) img,
.c-table.land_user td:nth-child(20) img,
.c-table.land_user td:nth-child(21) img,
.c-table.land_user td:nth-child(22) img,
.c-table.land_user td:nth-child(23) img
{
    width: 16px;
}

.c-table.land_user th:nth-child(20) img,
.c-table.land_user td:nth-child(20) img
{
    width: 18px;
}

.c-table.land_user th
{
    font-weight: 500;

    position: relative; 

    text-align: center !important;

    background: #f6f6f6;
}

.c-table.land_user th .arrow_top
{
    position: absolute;
    top: -3px;
    right: 3px;

    width: 9px;
}

.c-table.land_user th .arrow_bottom
{
    position: absolute;
    right: 3px;
    bottom: 0;

    width: 9px;
}

.c-table.land_user td
{
    font-weight: 400;
}

.c-table.mansion th:nth-child(1),
.c-table.mansion th:nth-child(2),
.c-table.mansion th:nth-child(19),
.c-table.mansion td:nth-child(1),
.c-table.mansion td:nth-child(2),
.c-table.mansion td:nth-child(19)
{
    width: 67px;
    padding: 10px 0;

    text-align: center;
}

.c-table.mansion th:nth-child(3),
.c-table.mansion td:nth-child(3)
{
    width: 28px;
    min-width: 20px;
    padding: 10px 0;

    text-align: center;
}

.c-table.mansion th:nth-child(4),
.c-table.mansion th:nth-child(5),
.c-table.mansion th:nth-child(6),
.c-table.mansion th:nth-child(12),
.c-table.mansion th:nth-child(13),
.c-table.mansion th:nth-child(15),
.c-table.mansion td:nth-child(4),
.c-table.mansion td:nth-child(5),
.c-table.mansion td:nth-child(6),
.c-table.mansion td:nth-child(12),
.c-table.mansion td:nth-child(13),
.c-table.mansion td:nth-child(15)
{
    width: 43px;
    min-width: 32px;
    padding: 10px 0;

    text-align: center;
}

.c-table.mansion th:nth-child(16),
.c-table.mansion td:nth-child(16)
{
    width: 110px;
    min-width: 80px;
    padding: 0 5px;

    text-align: left;
}

.c-table.mansion th:nth-child(10),
.c-table.mansion th:nth-child(11),
.c-table.mansion th:nth-child(17),
.c-table.mansion th:nth-child(18),
.c-table.mansion th:nth-child(20),
.c-table.mansion td:nth-child(10),
.c-table.mansion td:nth-child(11),
.c-table.mansion td:nth-child(17),
.c-table.mansion td:nth-child(18),
.c-table.mansion td:nth-child(20)
{
    width: 50px;
    min-width: 32px;
    padding: 10px 0;

    text-align: center;
}

.c-table.mansion th:nth-child(20),
.c-table.mansion th:nth-child(21),
.c-table.mansion td:nth-child(20),
.c-table.mansion td:nth-child(21)
{
    width: 90px;
    min-width: 90px;
    padding: 10px 0;

    text-align: center;
}

.c-table.mansion th:nth-child(22),
.c-table.mansion td:nth-child(22)
{
    width: 145px;
    min-width: 80px;
    padding: 0 5px;

    text-align: left;
}

.c-table.mansion th:nth-child(7),
.c-table.mansion th:nth-child(9),
.c-table.mansion td:nth-child(7),
.c-table.mansion td:nth-child(9)
{
    width: 200px;
    min-width: 85px;
    padding: 0 5px;

    text-align: left;
}

.c-table.mansion th:nth-child(8),
.c-table.mansion td:nth-child(8)
{
    width: 140px;
    min-width: 60px;
    padding: 0 5px;

    text-align: left;
}

.c-table.mansion th:nth-child(23),
.c-table.mansion th:nth-child(24),
.c-table.mansion th:nth-child(25),
.c-table.mansion th:nth-child(26),
.c-table.mansion td:nth-child(23),
.c-table.mansion td:nth-child(24),
.c-table.mansion td:nth-child(25),
.c-table.mansion td:nth-child(26)
{
    width: 42px;
    min-width: 32px;
    padding: 10px 0;

    text-align: center;
}

.c-table.mansion th:nth-child(23) img,
.c-table.mansion th:nth-child(24) img,
.c-table.mansion th:nth-child(25) img,
.c-table.mansion th:nth-child(26) img,
.c-table.mansion td:nth-child(23) img,
.c-table.mansion td:nth-child(24) img,
.c-table.mansion td:nth-child(25) img,
.c-table.mansion td:nth-child(26) img
{
    width: 16px;
}

.c-table.mansion th:nth-child(25) img,
.c-table.mansion td:nth-child(25) img
{
    width: 18px;
}

.c-table.mansion th
{
    font-weight: 500;

    position: relative; 

    text-align: center !important;

    background: #f6f6f6;
}

.c-table.mansion th .arrow_top
{
    position: absolute;
    top: -3px;
    right: 3px;

    width: 9px;
}

.c-table.mansion th .arrow_bottom
{
    position: absolute;
    right: 3px;
    bottom: 0;

    width: 9px;
}

.c-table.mansion td
{
    font-weight: 400;
}

.c-table.mansion_user th:nth-child(1),
.c-table.mansion_user th:nth-child(2),
.c-table.mansion_user th:nth-child(17),
.c-table.mansion_user td:nth-child(1),
.c-table.mansion_user td:nth-child(2),
.c-table.mansion_user td:nth-child(17)
{
    width: 67px;
    padding: 10px 0;

    text-align: center;
}

.c-table.mansion_user th:nth-child(3),
.c-table.mansion_user th:nth-child(4),
.c-table.mansion_user th:nth-child(5),
.c-table.mansion_user th:nth-child(12),
.c-table.mansion_user th:nth-child(13),
.c-table.mansion_user th:nth-child(14),
.c-table.mansion_user td:nth-child(3),
.c-table.mansion_user td:nth-child(4),
.c-table.mansion_user td:nth-child(5),
.c-table.mansion_user td:nth-child(12),
.c-table.mansion_user td:nth-child(13),
.c-table.mansion_user td:nth-child(14)
{
    width: 43px;
    min-width: 32px;
    padding: 10px 0;

    text-align: center;
}

.c-table.mansion_user th:nth-child(9),
.c-table.mansion_user th:nth-child(10),
.c-table.mansion_user th:nth-child(11),
.c-table.mansion_user th:nth-child(15),
.c-table.mansion_user th:nth-child(16),
.c-table.mansion_user td:nth-child(9),
.c-table.mansion_user td:nth-child(10),
.c-table.mansion_user td:nth-child(11),
.c-table.mansion_user td:nth-child(15),
.c-table.mansion_user td:nth-child(16)
{
    width: 50px;
    min-width: 32px;
    padding: 10px 0;

    text-align: center;
}

.c-table.mansion_user th:nth-child(6),
.c-table.mansion_user td:nth-child(6)
{
    width: 400px;
    min-width: 85px;
    padding: 0 5px;

    text-align: left;
}

.c-table.mansion_user th:nth-child(7),
.c-table.mansion_user th:nth-child(8),
.c-table.mansion_user td:nth-child(7),
.c-table.mansion_user td:nth-child(8)
{
    width: 300px;
    min-width: 60px;
    padding: 0 5px;

    text-align: left;
}

.c-table.mansion_user th:nth-child(18),
.c-table.mansion_user th:nth-child(19),
.c-table.mansion_user th:nth-child(20),
.c-table.mansion_user th:nth-child(21),
.c-table.mansion_user td:nth-child(18),
.c-table.mansion_user td:nth-child(19),
.c-table.mansion_user td:nth-child(20),
.c-table.mansion_user td:nth-child(21)
{
    width: 42px;
    min-width: 32px;
    padding: 10px 0;

    text-align: center;
}

.c-table.mansion_user th:nth-child(18) img,
.c-table.mansion_user th:nth-child(19) img,
.c-table.mansion_user th:nth-child(20) img,
.c-table.mansion_user th:nth-child(21) img,
.c-table.mansion_user td:nth-child(18) img,
.c-table.mansion_user td:nth-child(19) img,
.c-table.mansion_user td:nth-child(20) img,
.c-table.mansion_user td:nth-child(21) img
{
    width: 16px;
}

.c-table.mansion_user th:nth-child(18) img,
.c-table.mansion_user td:nth-child(18) img
{
    width: 18px;
}

.c-table.mansion_user th
{
    font-weight: 500;

    position: relative; 

    text-align: center !important;

    background: #f6f6f6;
}

.c-table.mansion_user th .arrow_top
{
    position: absolute;
    top: -3px;
    right: 3px;

    width: 9px;
}

.c-table.mansion_user th .arrow_bottom
{
    position: absolute;
    right: 3px;
    bottom: 0;

    width: 9px;
}

.c-table.mansion_user td
{
    font-weight: 400;
}

.c-table .bg_orange
{
    background: #fff8e6;
}

.c-table .bg_blue
{
    background: #e6f5fc;
}

.c-table .bg_red
{
    background: #ffe6e7;
}

.c-table .bg_green
{
    background: #e7ffe7;
}

.c-table .bg_yerrow
{
    background: #ffffe7;
}

.c-table .bold
{
    font-weight: 500;
}

.table_date
{
    font-size: 30px;
    font-weight: 100; 

    width: 100%;
    min-width: 850px;
    max-width: 1200px;
    margin: 0 auto 15px;

    text-align: left;
}

.table_date:before
{
    display: inline-block;

    width: 5px;
    height: 25px;
    margin-right: 10px;
    margin-bottom: -2px; 

    content: '';

    background: #0096d1;
}

.tbb_text
{
    width: 100%;
    min-width: 850px;
    max-width: 1200px;
    margin: 0 auto;
    margin-top: 10px; 

    text-align: right;
}

.tbb_text div
{
    display: inline-block;

    text-align: left;
}

/* tableTopics
-------------------------------------------------------------------------- */
.info-table__date
{
    width: 210px;
    padding: 17px;
    padding-right: 0 !important; 

    text-align: right !important;
    vertical-align: middle;
}

@media screen and (max-width: 767px)
{
    .info-table__date
    {
        margin-left: 10px; 

        text-align: left !important;
    }
}

.info-table__date span
{
    display: inline-block;

    width: 60px;
    margin-left: 10px;

    text-align: center;
}

.info-table__date span.new
{
    font-size: 14px;

    color: #fff; 
    background: red;
}

.info-table__text
{
    width: 800px;
}

@media screen and (max-width: 767px)
{
    .info-table__text
    {
        padding: 0 10px !important; 

        text-align: left !important;
    }
}

.info-table__btn a
{
    width: 160px;
    height: 40px;
}

@media screen and (max-width: 767px)
{
    .info-table__btn a
    {
        display: inline-block;

        height: 32px;
    }
}

.info-table__btn .c-btn--arrow::after
{
    right: 10px;
}

/* tel
-------------------------------------------------------------------------- */
.c-tel
{
    font-family: 'KoHo', sans-serif;
    font-weight: 700;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    text-decoration: none;
    letter-spacing: normal; 

    -webkit-box-align: center; 

        -ms-flex-align: center; 

            align-items: center;
}

@media screen and (max-width: 767px)
{
    .c-tel
    {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }
}

@media screen and (max-width: 767px)
{
    .c-tel__icon
    {
        width: 9.33333vw;
        margin: 0vw 1.33vw 0vw 0vw;
    }
}

@media screen and (min-width: 768px)
{
    .c-tel__icon
    {
        margin-right: 7px;
    }
}

.c-tel__number
{
    color: #5a2f00;
}

@media screen and (max-width: 767px)
{
    .c-tel__number
    {
        font-size: 68px;
        font-size: 9.07vw;
    }
}

@media screen and (min-width: 768px)
{
    .c-tel__number
    {
        font-size: 40px;
        font-size: 4rem;
    }
}

.c-tel__number--white
{
    color: #fff;
}

/* title
-------------------------------------------------------------------------- */
.c-title
{
    text-align: center;
}

.c-title__jp,
.c-title__en
{
    display: block;
}

.c-title__jp
{
    font-weight: normal;

    letter-spacing: .1em;
}

@media screen and (max-width: 767px)
{
    .c-title__jp
    {
        font-size: 40px;
        font-size: 5.33vw;
    }
}

@media screen and (min-width: 768px)
{
    .c-title__jp
    {
        font-size: 30px;
        font-size: 3rem; 

        margin-bottom: 6px;
    }
}

.c-title__en
{
    font-family: 'KoHo', sans-serif;
    font-weight: 900;

    letter-spacing: .1em; 

    color: #000;
}

@media screen and (max-width: 767px)
{
    .c-title__en
    {
        font-size: 80px;
        font-size: 10.67vw;
    }
}

@media screen and (min-width: 768px)
{
    .c-title__en
    {
        font-size: 60px;
        font-size: 6rem;
    }
}

/* utility
   ----------------------------------------------------------------- */
a[href^='tel:']
{
    text-decoration: none;
}

@media screen and (min-width: 768px)
{
    a[href^='tel:']
    {
        display: inline-block; 

        pointer-events: none;
    }
}

@media screen and (max-width: 1023px)
{
    .pc
    {
        display: none;
    }
}

@media screen and (max-width: 767px)
{
    .pc_td
    {
        display: none;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .pc_sp
    {
        display: none;
    }
}

@media screen and (min-width: 1024px)
{
    .tb
    {
        display: none;
    }
}

@media screen and (max-width: 767px)
{
    .tb
    {
        display: none;
    }
}

@media screen and (min-width: 1024px)
{
    .tb_sp
    {
        display: none;
    }
}

@media screen and (min-width: 768px)
{
    .sp
    {
        display: none;
    }
}

/* ==========================================================================
   page 下層ページ共通部分
   ========================================================================== */
/* p-page
-------------------------------------------------------------------------- */
.p-page
{
    overflow: hidden;
}

.p-page__title .en
{
    font-family: 'KoHo', sans-serif;
    font-size: 20px;
    font-size: 2rem;
    font-weight: 400;

    margin-bottom: 5px;

    text-align: center;
}

@media screen and (max-width: 767px)
{
    .p-page__title .en
    {
        font-size: 4vw;
    }
}

.p-page__title .jp
{
    font-size: 35px;
    font-size: 3.5rem;

    text-align: center;
}

.p-page__title .jp2
{
    font-size: 25px;
    font-size: 2.5rem;

    text-align: center;
}

@media screen and (max-width: 767px)
{
    .p-page__title .jp
    {
        font-size: 6.5vw;
    }
}

.p-page__label
{
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.2;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    padding-bottom: .1em;
    padding-left: 10px;

    -webkit-box-align: start;

        -ms-flex-align: start;

            align-items: flex-start;
}

.p-page__label.big
{
    font-size: 30px;
    font-size: 3rem;
}

@media screen and (max-width: 767px)
{
    .p-page__label.big
    {
        font-size: 20px;
        font-size: 2rem;
    }
}

.p-page__label:before
{
    display: block;

    width: 6px;
    height: 1em;
    margin-top: .15em;
    margin-right: 10px; 

    content: '';

    background: #0059a6;
}

.p-page__btn
{
    font-weight: 100;
    line-height: 1;

    position: relative;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    margin-right: auto;
    margin-left: auto; 
    padding: 15px 0 17px;

    cursor: pointer;
    -webkit-transition: .3s ease;
    transition: .3s ease;
    text-align: center;
    text-decoration: none;

    color: #fff;
    border: solid 1px #0059a6;
    outline: none;
    background: #0059a6;

    -webkit-box-align: center;

        -ms-flex-align: center;

            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

@media screen and (max-width: 767px)
{
    .p-page__btn
    {
        font-size: 40px;
        font-size: 5.33vw;
        line-height: 1.3;
    }
}

@media screen and (min-width: 768px)
{
    .p-page__btn
    {
        font-size: 25px;
        font-size: 2.5rem;
    }
}

.p-page__btn.en
{
    font-family: 'KoHo', sans-serif;
    font-weight: 400;
}

.p-page__btn.width100p
{
    width: 100%;
}

.p-page__btn.width300
{
    width: 400px;
    margin: 0vw auto 0vw auto;
}

@media screen and (max-width: 767px)
{
    .p-page__btn.width300
    {
        width: 300px;
    }
}

.p-page__btn.width300_btmg
{
    width: 400px;
}

@media screen and (max-width: 767px)
{
    .p-page__btn.width300_btmg
    {
        width: 300px;
    }
}

.p-page__btn:hover
{
    opacity: 1; 
    color: #0059a6;
    background: #fff;
}

.p-page__btn2
{
    font-weight: 100;
    line-height: 1;

    position: relative;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    margin-right: auto;
    margin-left: auto;
    padding: 15px 0 17px;

    cursor: pointer;
    cursor: pointer; 
    -webkit-transition: .3s ease; 
    transition: .3s ease;
    text-align: center;
    text-decoration: none;

    color: #fff;
    border: solid 1px #fff;
    outline: none;
    background: #999;

    -webkit-box-align: center;

        -ms-flex-align: center;

            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

@media screen and (max-width: 767px)
{
    .p-page__btn2
    {
        font-size: 40px;
        font-size: 5.33vw;
        line-height: 1.3;
    }
}

@media screen and (min-width: 768px)
{
    .p-page__btn2
    {
        font-size: 25px;
        font-size: 2.5rem;
    }
}

.p-page__btn2.en
{
    font-weight: 300;
}

.p-page__btn2.width300
{
    width: 400px;
}

@media screen and (max-width: 767px)
{
    .p-page__btn2.width300
    {
        width: 300px;
    }
}

@media screen and (min-width: 1024px)
{
    .p-page__btn2.width300
    {
        margin: 0vw auto 4vw auto;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .p-page__btn2.width300
    {
        margin: 0vw auto 5.33vw auto;
    }
}

@media screen and (max-width: 767px)
{
    .p-page__btn2.width300
    {
        margin: 0vw auto 8vw auto;
    }
}

.p-page__btn2.width300_btmg
{
    width: 400px;
}

@media screen and (max-width: 767px)
{
    .p-page__btn2.width300_btmg
    {
        width: 300px;
    }
}

.p-page__btn2:hover
{
    opacity: 1;
    color: #000;
    border: solid 1px #000; 
    background: #fff;
}

/* p-breadcrumbs
-------------------------------------------------------------------------- */
@media screen and (min-width: 768px)
{
    .p-breadcrumbs
    {
        padding: 13px 0;
    }
}

.p-breadcrumbs__inner
{
    position: relative;

    width: 100%;
}

@media screen and (max-width: 767px)
{
    .p-breadcrumbs__inner
    {
        padding-right: 5.33vw; 
        padding-left: 5.33vw;
    }
}

@media screen and (min-width: 768px)
{
    .p-breadcrumbs__inner
    {
        max-width: 1440px;
        margin-right: auto;
        margin-left: auto;
        padding-right: 20px; 
        padding-left: 20px;
    }
}

@media screen and (max-width: 767px)
{
    .p-breadcrumbs__nav
    {
        position: relative;

        overflow-x: scroll;

        -webkit-overflow-scrolling: touch;
    }
}

@media screen and (max-width: 767px)
{
    .p-breadcrumbs__list
    {
        font-size: 24px;
        font-size: 3.2vw; 

        display: table;

        padding: 2.67vw 2.67vw 2.67vw 2.67vw;
    }
}

@media screen and (min-width: 768px)
{
    .p-breadcrumbs__list
    {
        font-size: 16px;
        font-size: 1.6rem; 

        display: block;
    }
}

@media screen and (max-width: 767px)
{
    .p-breadcrumbs__item
    {
        display: table-cell;

        vertical-align: middle;
        white-space: nowrap;
    }
}

@media screen and (min-width: 768px)
{
    .p-breadcrumbs__item
    {
        display: inline;
    }
}

.p-breadcrumbs__link
{
    font-weight: 300;

    text-decoration: none;
}

.p-breadcrumbs__link:hover
{
    text-decoration: underline;
}

.modalBtn
{
    font-size: 32px;
    font-size: 3.2rem; 

    display: -webkit-box; 

    display: -ms-flexbox; 

    display: flex;

    width: 100%;
    height: 100%;

    cursor: pointer;
    -webkit-transition: all .3s ease 0s;
    transition: all .3s ease 0s;

    -webkit-box-pack: center;

        -ms-flex-pack: center;

            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

@media screen and (min-width: 1280px)
{
    .modalBtn
    {
        display: none;
    }
}

@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .modalBtn
    {
        font-size: 1.86047vw;
    }
}

@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .modalBtn
    {
        font-size: 2.16216vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .modalBtn
    {
        font-size: 3.28125vw;
    }
}

@media screen and (max-width: 767px)
{
    .modalBtn
    {
        font-size: 3.54167vw;
    }
}

.modalBtn .arrow-cross
{
    position: relative; 

    width: 1em;
}

.modalBtn .arrow-cross:before,
.modalBtn .arrow-cross:after
{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    width: 100%;
    height: 2px;

    content: '';
    -webkit-transition: all .3s ease 0s;
    transition: all .3s ease 0s;

    background-color: #fff;
}

.modalBtn .arrow-cross:before
{
    -webkit-transform: translateX(-35%) rotate(45deg);
            transform: translateX(-35%) rotate(45deg);
}

.modalBtn .arrow-cross:after
{
    -webkit-transform: translateX(35%) rotate(-45deg);
            transform: translateX(35%) rotate(-45deg);
}

.modalBtn.open .arrow-cross:before
{
    -webkit-transform: translateX(0%) rotate(-45deg);
            transform: translateX(0%) rotate(-45deg);
}

.modalBtn.open .arrow-cross:after
{
    -webkit-transform: translateX(0%) rotate(45deg);
            transform: translateX(0%) rotate(45deg);
}

.modalBtn .cross
{
    position: relative; 

    width: 1em;
}

.modalBtn .cross:before,
.modalBtn .cross:after
{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    width: 100%;
    height: 2px;

    content: '';
    -webkit-transition: all .3s ease 0s;
    transition: all .3s ease 0s;

    background-color: #0059a6;
}

.modalBtn .cross:before
{
    -webkit-transform: translateX(0%) rotate(-45deg);
            transform: translateX(0%) rotate(-45deg);
}

.modalBtn .cross:after
{
    -webkit-transform: translateX(0%) rotate(45deg);
            transform: translateX(0%) rotate(45deg);
}

.modalContent
{
    position: fixed;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; 

    width: 100%;
    height: 100%;

    -webkit-box-pack: center;

        -ms-flex-pack: center;

            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

@media screen and (min-width: 1280px)
{
    .modalContent
    {
        display: none;
    }
}

.modalContent__text
{
    font-weight: bold; 

    color: #fff;
}

.modalContent__menu
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;

    margin: 0 40px;
}

.modalContent__menuItem
{
    font-size: 50px;
    font-size: 5rem; 

    text-decoration: none;

    color: #fff;
}

@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .modalContent__menuItem
    {
        font-size: 2.90698vw;
    }
}

@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .modalContent__menuItem
    {
        font-size: 3.37838vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .modalContent__menuItem
    {
        font-size: 5.85938vw;
    }
}

@media screen and (max-width: 767px)
{
    .modalContent__menuItem
    {
        font-size: 7.8125vw;
    }
}

.modalContent__menu2
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;

    width: 100%; 
    padding: 0 40px;
}

.modalContent__menu2Item
{
    font-size: 50px;
    font-size: 5rem; 

    text-decoration: none;

    color: #fff;
}

@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .modalContent__menu2Item
    {
        font-size: 2.90698vw;
    }
}

@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .modalContent__menu2Item
    {
        font-size: 3.37838vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .modalContent__menu2Item
    {
        font-size: 5.85938vw;
    }
}

@media screen and (max-width: 767px)
{
    .modalContent__menu2Item
    {
        font-size: 7.8125vw;
    }
}

.modalContent__menu2Item:nth-child(4)
{
    position: relative;

    margin-top: 20px;
    padding: 5px 20px;

    text-align: center;

    border: 1px solid #fff;

    -webkit-box-pack: center;

        -ms-flex-pack: center;

            justify-content: center;
}

.modalContent__menu2Item:nth-child(4)::after
{
    position: absolute;
    top: 50%;
    right: .5em;

    display: block;

    width: .5em;
    height: .5em;

    content: '';
    -webkit-transform: translateY(-50%) rotate(45deg);
            transform: translateY(-50%) rotate(45deg);
    -webkit-transform-origin: center;
            transform-origin: center;

    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}

@media screen and (max-width: 767px)
{
    .modalContent__menu2Item:nth-child(4)
    {
        line-height: 1.3; 

        text-align: left;
    }
}

.modalContent .modalBtn
{
    font-size: 40px;
    font-size: 4rem;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    width: calc(80% - 40px);
    max-width: 450px;
    height: auto; 
    margin: 50px 40px 0;
    padding-top: 20px;
    padding-bottom: 20px;

    -webkit-transition: all .3s;

    transition: all .3s;
    text-decoration: none;

    color: #0059a6;
    border: solid 2px #0059a6;
    border-radius: 15px;
    background: #fff;

    -webkit-box-pack: center;

        -ms-flex-pack: center;

            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .modalContent .modalBtn
    {
        font-size: 2.32558vw;
    }
}

@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .modalContent .modalBtn
    {
        font-size: 2.7027vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .modalContent .modalBtn
    {
        font-size: 4.6875vw;
    }
}

@media screen and (max-width: 767px)
{
    .modalContent .modalBtn
    {
        font-size: 6.25vw;
    }
}

@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .modalContent .modalBtn
    {
        padding-top: 1.04651vw;
    }
}

@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .modalContent .modalBtn
    {
        padding-top: 1.08108vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .modalContent .modalBtn
    {
        padding-top: 2.14844vw;
    }
}

@media screen and (max-width: 767px)
{
    .modalContent .modalBtn
    {
        padding-top: 2.86458vw;
    }
}

@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .modalContent .modalBtn
    {
        padding-bottom: 1.04651vw;
    }
}

@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .modalContent .modalBtn
    {
        padding-bottom: 1.08108vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .modalContent .modalBtn
    {
        padding-bottom: 2.14844vw;
    }
}

@media screen and (max-width: 767px)
{
    .modalContent .modalBtn
    {
        padding-bottom: 2.86458vw;
    }
}

.modalContent.fade
{
    z-index: -20; 

    opacity: 0;
}

.modalContent.fade.open
{
    z-index: 10; 
    top: 0;
    left: 0;

    opacity: 1;
}

.modalContent.fade.bg-lb
{
    background: #64b6ff;
}

.modalContent.fade.bg-db
{
    background: #0059a6;
}

.modalContent.side-scroll
{
    left: 100%;
}

.modalContent.side-scroll.open
{
    z-index: 10; 
    top: 0;
    left: 0;

    background: rgba(0, 0, 0, .9);
}

.modalContent.grow
{
    bottom: 100%;
}

.modalContent.grow.open
{
    z-index: 10; 
    bottom: 0;

    background: rgba(0, 0, 0, .3);

    -webkit-backdrop-filter: blur(6px);

            backdrop-filter: blur(6px);
}

.modalContent.herf
{
    left: -50%;

    width: 50%;
}

.modalContent.herf.open
{
    z-index: 10; 
    left: 0;

    background: rgba(0, 0, 0, .8);
}

.modalContent__sampleWrap
{
    position: relative;

    overflow: hidden;
    overflow-y: scroll;

    -webkit-transform: translate(0);

            transform: translate(0); 

    border: 1px solid #000;

    aspect-ratio: 16 / 9;
}

.modalContent__sampleList
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-pack: justify;

        -ms-flex-pack: justify;

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

@media screen and (min-width: 1280px)
{
    .modalContent__sampleItem
    {
        width: calc((100% / 2) - 30px);
    }
    .modalContent__sampleItem:nth-child(n + 3)
    {
        margin-top: 60px;
    }
}

@media screen and (max-width: 1279px)
{
    .modalContent__sampleItem
    {
        width: 100%;
    }
    .modalContent__sampleItem:nth-child(n + 2)
    {
        margin-top: 60px;
    }
}

.modalContent__sampleContent
{
    overflow: hidden; 

    width: 100%;
    height: 100%;
}

.modalContent__sampleContent.is-fixed
{
    position: absolute;

    overflow: hidden; 

    width: 100%;
    height: 100%;
}

.modalContent__sampleContent.is-fixed img
{
    position: absolute;
}

.toggleBtn
{
    font-size: 20px;
    font-weight: bold;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    padding: 20px;

    cursor: pointer;
    -webkit-transition: all .3s ease 0s;
    transition: all .3s ease 0s; 

    color: #fff;
    background: #000;

    -webkit-box-pack: center;

        -ms-flex-pack: center;

            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

@media screen and (max-width: 767px)
{
    .toggleBtn
    {
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
    }
}

.toggleBtn:hover
{
    opacity: .7;
}

.toggleBtn.arrow:after
{
    line-height: 1;

    display: inline-block;

    -webkit-box-sizing: border-box;

            box-sizing: border-box;
    width: .75em;
    height: .75em;
    margin-left: .5em;
    margin-left: 20px;

    content: '';
    -webkit-transition: all .3s ease 0s;
    transition: all .3s ease 0s;
    -webkit-transform: translateY(-25%) rotate(135deg);
            transform: translateY(-25%) rotate(135deg); 
    vertical-align: middle;

    color: #fff;
    border: 2px solid currentColor;
    border-bottom: 0;
    border-left: 0;
}

.toggleBtn.arrow.open:after
{
    -webkit-transform: translateY(25%) rotate(-45deg);
            transform: translateY(25%) rotate(-45deg);
}

.toggleBtn .plus
{
    position: relative;

    width: 1em;
    margin-left: 20px;
}

.toggleBtn .plus:before,
.toggleBtn .plus:after
{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    width: 100%;
    height: 2px;

    content: '';
    -webkit-transition: all .3s ease 0s;
    transition: all .3s ease 0s;

    background-color: #fff;
}

.toggleBtn .plus:before
{
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
}

.toggleBtn .plus:after
{
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
}

.toggleBtn.open .plus:before
{
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);

    opacity: 0;
}

.toggleBtn.open .plus:after
{
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
}

.toggleBtn .plus-cross
{
    position: relative;

    width: 1em;
    margin-left: 20px;
}

.toggleBtn .plus-cross:before,
.toggleBtn .plus-cross:after
{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    width: 100%;
    height: 2px;

    content: '';
    -webkit-transition: all .3s ease 0s;
    transition: all .3s ease 0s;

    background-color: #fff;
}

.toggleBtn .plus-cross:before
{
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
}

.toggleBtn .plus-cross:after
{
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
}

.toggleBtn.open .plus-cross:before
{
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
}

.toggleBtn.open .plus-cross:after
{
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
}

.toggleBtn .arrow-minus
{
    position: relative;

    width: 1em;
    margin-left: 20px;
}

.toggleBtn .arrow-minus:before,
.toggleBtn .arrow-minus:after
{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    width: 100%;
    height: 2px;

    content: '';
    -webkit-transition: all .3s ease 0s;
    transition: all .3s ease 0s;

    background-color: #fff;
}

.toggleBtn .arrow-minus:before
{
    -webkit-transform: translateX(-35%) rotate(45deg);
            transform: translateX(-35%) rotate(45deg);
}

.toggleBtn .arrow-minus:after
{
    -webkit-transform: translateX(35%) rotate(-45deg);
            transform: translateX(35%) rotate(-45deg);
}

.toggleBtn.open .arrow-minus:before
{
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
}

.toggleBtn.open .arrow-minus:after
{
    -webkit-transform: rotate(-180deg);
            transform: rotate(-180deg);
}

.toggleBtn .arrow-cross
{
    position: relative;

    width: 1em;
    margin-left: 20px;
}

.toggleBtn .arrow-cross:before,
.toggleBtn .arrow-cross:after
{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    width: 100%;
    height: 2px;

    content: '';
    -webkit-transition: all .3s ease 0s;
    transition: all .3s ease 0s;

    background-color: #fff;
}

.toggleBtn .arrow-cross:before
{
    -webkit-transform: translateX(-35%) rotate(45deg);
            transform: translateX(-35%) rotate(45deg);
}

.toggleBtn .arrow-cross:after
{
    -webkit-transform: translateX(35%) rotate(-45deg);
            transform: translateX(35%) rotate(-45deg);
}

.toggleBtn.open .arrow-cross:before
{
    -webkit-transform: translateX(0%) rotate(-45deg);
            transform: translateX(0%) rotate(-45deg);
}

.toggleBtn.open .arrow-cross:after
{
    -webkit-transform: translateX(0%) rotate(45deg);
            transform: translateX(0%) rotate(45deg);
}

.toggleBtn .arrow-arrow
{
    position: relative;

    width: 1em;
    margin-left: 20px;
}

.toggleBtn .arrow-arrow:before,
.toggleBtn .arrow-arrow:after
{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    width: 100%;
    height: 2px;

    content: '';
    -webkit-transition: all .3s ease 0s;
    transition: all .3s ease 0s;

    background-color: #fff;
}

.toggleBtn .arrow-arrow:before
{
    -webkit-transform: translateX(-35%) rotate(45deg);
            transform: translateX(-35%) rotate(45deg);
}

.toggleBtn .arrow-arrow:after
{
    -webkit-transform: translateX(35%) rotate(-45deg);
            transform: translateX(35%) rotate(-45deg);
}

.toggleBtn.open .arrow-arrow:before
{
    -webkit-transform: translateX(35%) rotate(45deg);
            transform: translateX(35%) rotate(45deg);
}

.toggleBtn.open .arrow-arrow:after
{
    -webkit-transform: translateX(-35%) rotate(-45deg);
            transform: translateX(-35%) rotate(-45deg);
}

.toggleContent
{
    display: none;

    padding: 30px 20px;

    border: 1px solid #000;
}

.toggleContent h2
{
    font-size: 30px;
    font-weight: bold;
    line-height: 1.7em;

    margin-bottom: 25px; 

    text-align: left;
}

@media screen and (max-width: 767px)
{
    .toggleContent h2
    {
        font-size: 22px;
    }
}

.toggleContent__title
{
    font-size: 26px;
    font-weight: bold;
    line-height: 1.7em;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    margin-bottom: 25px;

    text-align: left;

    -webkit-box-align: center;

        -ms-flex-align: center;

            align-items: center;
}

@media screen and (max-width: 767px)
{
    .toggleContent__title
    {
        font-size: 22px;

        -webkit-box-align: start;

            -ms-flex-align: start;

                align-items: flex-start;
    }
}

.toggleContent__title span
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 1.3em;
    height: 1.3em;
    margin-right: 5px;

    color: #fff;
    background: #000;

    aspect-ratio: 1 / 1;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

@media screen and (max-width: 767px)
{
    .toggleContent__title span
    {
        margin-top: 5px;
        margin-right: 10px;
    }
}

.toggleContent__subtitle
{
    font-size: 22px;
    line-height: 1.7em;

    margin-bottom: 20px; 

    text-align: left;
}

@media screen and (max-width: 767px)
{
    .toggleContent__subtitle
    {
        font-size: 20px;
    }
}

.toggleContent__text
{
    margin-bottom: 60px;
}

.toggleContent__qt
{
    background-color: #f8f1ed;
}

.toggleContent__url
{
    font-style: normal;

    text-decoration: underline;

    color: #000;
}

.toggleContent__image
{
    display: block;

    margin: 20px 0;
}

@media screen and (max-width: 1023px)
{
    .toggleContent__image
    {
        max-width: 80%;
        margin: 20px auto;
    }
}

@media screen and (max-width: 767px)
{
    .toggleContent__image
    {
        max-width: 100%;
        margin: 20px auto;
    }
}

.toggleContent__link
{
    font-weight: bold;
    font-style: normal;
}

.toggleContent__link span
{
    color: #000;
}

.toggleContent__contactlink
{
    font-size: 26px;
    font-weight: bold;
    line-height: 1.7em;

    margin-bottom: 20px; 

    text-align: left;
}

@media screen and (max-width: 767px)
{
    .toggleContent__contactlink
    {
        font-size: 18px;
    }
}

.toggleContent__contactlink span
{
    color: #000;
}

.toggleContent__table
{
    width: 100%; 

    border-collapse: collapse;

    border: 1px solid #000;
}

.toggleContent__table tr th,
.toggleContent__table tr td
{
    padding: 5px 15px; 

    border-collapse: collapse;

    text-align: left;

    border: 1px solid #000;
}

.toggleContent__box
{
    padding: 10px 15px; 

    border: 1px solid #000;
}

/* ==========================================================================
   全体のCSSTOPメニュー分の隙間
   ========================================================================== */
.l-main:before
{
    display: block;

    width: 100%;
    height: 90px; 

    content: '';
}

@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .l-main:before
    {
        height: 5.23256vw;
    }
}

@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .l-main:before
    {
        height: 6.08108vw;
    }
}

@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .l-main:before
    {
        height: 9.66797vw;
    }
}

@media screen and (max-width: 767px)
{
    .l-main:before
    {
        height: 11.71875vw;
    }
}

/* ==========================================================================
   英語共通
   ========================================================================== */
.en
{
    font-family: 'KoHo', sans-serif;
    font-weight: 200;
}
