@charset "UTF-8";
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-style: solid;
    border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
    line-height: 1.15;
    /* 1 */
    -webkit-text-size-adjust: 100%;
    /* 2 */
    -webkit-tap-highlight-color: transparent;
    /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
    margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
    display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
    margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: inherit;
    font-weight: inherit;
    margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
    font-weight: bold;
}

dd {
    margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    /* 1 */
    height: 0;
    /* 1 */
    overflow: visible;
    /* 2 */
    border-top-width: 1px;
    margin: 0;
    clear: both;
    color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
    font-family: monospace, monospace;
    /* 1 */
    font-size: inherit;
    /* 2 */
}

address {
    font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
    background-color: transparent;
    text-decoration: none;
    color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
    -webkit-text-decoration: underline dotted;
            text-decoration: underline dotted;
    /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
    font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
    font-family: monospace, monospace;
    /* 1 */
    font-size: inherit;
    /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
    font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
    vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
    -webkit-appearance: none;
    /* 1 */
    -moz-appearance: none;
         appearance: none;
    vertical-align: middle;
    color: inherit;
    font: inherit;
    background: transparent;
    padding: 0;
    margin: 0;
    border-radius: 0;
    text-align: inherit;
    text-transform: inherit;
    /* 2 */
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type=checkbox] {
    -webkit-appearance: checkbox;
    -moz-appearance: checkbox;
         appearance: checkbox;
}

[type=radio] {
    -webkit-appearance: radio;
    -moz-appearance: radio;
         appearance: radio;
}

/**
 * Correct cursors for clickable elements.
 */
button,
[type=button],
[type=reset],
[type=submit] {
    cursor: pointer;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
    cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
    outline: auto;
}

select:disabled {
    opacity: inherit;
}

/**
 * Remove padding
 */
option {
    padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
    margin: 0;
    padding: 0;
    min-width: 0;
}

legend {
    padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
    vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
    overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */
[type=search] {
    outline-offset: -2px;
    /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
    -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
    -webkit-appearance: button;
    /* 1 */
    font: inherit;
    /* 2 */
}

/**
 * Clickable labels
 */
label[for] {
    cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
    display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
    display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
    outline: auto;
}

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
    border-color: inherit;
    /* 1 */
    border-collapse: collapse;
}

caption {
    text-align: left;
}

td,
th {
    vertical-align: top;
    padding: 0;
}

th {
    text-align: left;
    font-weight: bold;
}

html {
    font-size: 62.5%;
    /*background: #F7F7F7;*/
}

@media screen and (max-width: 900px) {
    html {
        font-size: 2.72vw;
    }
}
body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
    min-height: 100vh;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    font-size: 1.5rem;
    line-height: 1.7;
    font-weight: 400;
    color: #555;
}

@media screen and (max-width: 900px) {
    body {
        line-height: 1.6;
        min-width: 1%;
        overflow-x: hidden;
        position: relative;
    }
}
.js-preload * {
    -webkit-transition: none !important;
    transition: none !important;
}

img {
    image-rendering: -webkit-optimize-contrast;
}

/* mouseover
--------------------------------------------------*/
@media screen and (min-width: 901px) {
    .over:hover {
        opacity: 0.6;
        -webkit-transition: opacity 0.3s;
        transition: opacity 0.3s;
    }
}
label {
    cursor: pointer;
}

/* link
--------------------------------------------------*/
a {
    color: #0000FF;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    will-change: transform;
    text-decoration: underline;
    /*&:link,
    &:active,
    &:visited {
    	text-decoration: none;
    }
    */
}
a:hover {
    text-decoration: none;
}
a:focus {
    text-decoration: none;
}
@media screen and (max-width: 900px) {
    a:hover, a:focus {
        opacity: 1;
    }
}

a[href*="tel:"] {
    pointer-events: none;
    color: #555;
}
@media screen and (max-width: 900px) {
    a[href*="tel:"] {
        pointer-events: all;
    }
}

/* input
--------------------------------------------------*/
button {
    color: #555;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    will-change: transform;
}
button:hover {
    opacity: 0.7;
}
button:focus {
    text-decoration: none;
}
@media screen and (max-width: 900px) {
    button:hover, button:focus {
        opacity: 1;
    }
}
button:hover {
    opacity: 0.7;
}
button:focus {
    text-decoration: none;
}
@media screen and (max-width: 900px) {
    button:hover, button:focus {
        opacity: 1;
    }
}

.l-header {
    width: 100%;
    background: #fff;
    /*border-bottom: 4px solid #e60012;*/
    border-bottom: 4px solid #00a26a;
    margin-bottom: 4.667em;
    z-index: 100;
}
@media screen and (max-width: 900px) {
    .l-header {
        /*border-bottom: 1vw solid #e60012;*/
        border-bottom: 1vw solid #00a26a;
        margin-bottom: 10vw;
    }
}

.p-header {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
            justify-content: space-between;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    max-width: 900px;
    margin: 0 auto;
}
.p-header__logo img {
       width: auto;
       max-height: 72px;
}

@media screen and (max-width: 900px) {
    .p-header {
        height: 19.2vw;
        padding: 0 4vw 0 0;
    }
}
@media screen and (max-width: 900px) {
    .p-header__logo img {
       width: auto;
       max-height: 60px;
    }
}
.p-header-before-tel {
    display: none;
}
@media screen and (max-width: 900px) {
    .p-header-before-tel {
        display: block;
    }
}
.p-header-before-tel__link {
    display: block;
    text-align: center;
    text-decoration: none;
}
.p-header-before-tel__link img {
    width: 8.5vw;
    height: auto;
}
.p-header-before-tel__txt {
    display: block;
    font-size: 1rem;
    font-weight: 700;
    margin: 0.2em 0 0;
}
@media screen and (max-width: 900px) {
    .p-header-before-content {
        display: none;
    }
}
.p-header-before-content__txt {
    font-size: 1.2rem;
    line-height: 1;
}
.p-header-before-content__txt + .p-header-before-content__txt {
    margin-top: 1em;
}
.p-header-after {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
            justify-content: space-between;
    -ms-flex-align: start;
    -webkit-box-align: start;
            align-items: flex-start;
}
.p-header-after__mail {
    width: 2.133em;
    height: 2.133em;
    margin-right: 1.3em;
}
.p-header-after__mail img {
    width: 100%;
    height: auto;
}
.p-header-after__toggle {
    width: 2.133em;
    height: 2.133em;
}
.p-header-after__toggle img {
    width: 100%;
    height: auto;
}
.p-header-after__toggle.is-open {
    background: url(../img/common/ico_toggle_on.svg) 0 0/100% auto no-repeat;
}
.p-header-after__toggle.is-open img {
    opacity: 0;
}

.is-fixed {
    position: fixed;
    width: 100%;
}

#overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: transparent;
}

.p-nav {
    pointer-events: none;
    position: absolute;
    top: 76px;
    right: calc((100% - 900px) / 2);
    width: 375px;
    max-height: calc(var(--vh, 1vh) * 100 - 76px);
    background: #fff;
    z-index: 100;
    -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
            box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
    opacity: 0;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    overflow-y: scroll;
}
@media screen and (max-width: 900px) {
    .p-nav {
        top: 20.2vw;
        right: auto;
        left: 0;
        width: 100%;
        max-height: calc(var(--vh, 1vh) * 100 - 20.2vw);
    }
}
.is-fixed .p-nav {
    pointer-events: all;
    opacity: 1;
}
.p-nav-status {
    max-width: 900px;
    background: #F7F7F7;
    margin: 0 auto;
    padding: 1em 1.3em;
}
.p-nav-status__txt {
    font-size: 1.2rem;
}
.p-nav-menu {
    max-width: 900px;
    margin: 0 auto;
    /*padding: 2em 0;*/
}
@media screen and (max-width: 900px) {
    .p-nav-menu {
        border-top: 1px dashed #DBDBDB;
        padding: 0;
    }
}
.p-nav-menu__ttl {
    position: relative;
    line-height: 1;
    padding: 1.25em 1.5em;
}
@media screen and (max-width: 900px) {
    .p-nav-menu__ttl {
        padding: 6.4vw 8vw;
    }
}
.p-nav-menu__ttl::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 1.5em;
    width: 10px;
    height: 10px;
    background: url(../img/common/ico_darrow_bk.svg) 0 0/100% auto no-repeat;
    -webkit-transform: translateY(-50%) rotate(90deg);
            transform: translateY(-50%) rotate(90deg);
}
@media screen and (max-width: 900px) {
    .p-nav-menu__ttl::after {
        right: 8vw;
        width: 2.4vw;
        height: 2.4vw;
    }
}
.p-nav-menu__ttl.is-open::after {
    -webkit-transform: translateY(-50%) rotate(-90deg);
            transform: translateY(-50%) rotate(-90deg);
}
.p-nav-menu__lists {
    /*@include flex(start,start);*/
}
@media screen and (max-width: 900px) {
    .p-nav-menu__lists {
        display: block;
    }
}
.p-nav-menu__list {
    /*width: 20%;
    flex-shrink: 0;
    font-size: 1.6rem;*/
    font-size: 2rem;
    font-weight: 700;
    border-bottom: 1px dashed #DBDBDB;
}
.p-nav-menu__list:last-child {
    border-bottom: 0;
}
.p-nav-menu-children {
    border-top: 1px dashed #DBDBDB;
    background: #F7F7F7;
    margin: 0;
}
.p-nav-menu-children__list {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1;
    border-bottom: 1px dashed #DBDBDB;
}
.p-nav-menu-children__list:last-child {
    border-bottom: 0;
}
.p-nav-menu-children__link {
    position: relative;
    display: block;
    line-height: 1;
    text-decoration: none;
    color: #555;
    padding: 1.25em 1.875em;
}
@media screen and (max-width: 900px) {
    .p-nav-menu-children__link {
        display: block;
        padding: 5.3vw 8vw;
    }
}
.p-nav-menu-children__link::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 1.875em;
    width: 10px;
    height: 10px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background: url(../img/common/ico_darrow_bk.svg) 0 0 no-repeat;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
}
@media screen and (max-width: 900px) {
    .p-nav-menu-children__link::before {
        right: 8vw;
        width: 2.4vw;
        height: 2.4vw;
    }
}
.p-nav-menu__contact {
    display: none;
    font-size: 1.2rem;
    line-height: 1.7;
    font-weight: 400;
    background: #F7F7F7;
    border-top: 1px dashed #DBDBDB;
    padding: 1.7em 2.5em;
}
@media screen and (max-width: 900px) {
    .p-nav-menu__contact {
        padding: 4.8vw 8vw;
    }
    .p-nav-menu__contact a {
        text-decoration: none;
    }
}
.p-nav-menu__arrow {
    display: block;
    line-height: 1;
    background: url(../img/common/ico_darrow_bk.svg) calc(100% - 1.5em) center/10px auto no-repeat;
    text-decoration: none;
    color: #555;
    padding: 1.25em 1.5em;
}
@media screen and (max-width: 900px) {
    .p-nav-menu__arrow {
        padding: 6.4vw 8vw;
        background-size: 2.4vw auto;
        background-position: calc(100% - 8vw) center;
    }
}
@media screen and (min-width: 901px) {
    .p-nav-menu__arrow:hover {
        opacity: 0.7;
    }
}
.p-nav-menu__logout {
    display: block;
    line-height: 1;
    background: url(../img/common/ico_logout.svg) calc(100% - 1.5em) center/0.625em auto no-repeat;
    text-decoration: none;
    color: #555;
    padding: 1.25em 1.5em;
}
@media screen and (max-width: 900px) {
    .p-nav-menu__logout {
        padding: 6.4vw 8vw;
        background-size: 2.7vw auto;
        background-position: calc(100% - 8vw) center;
    }
}
@media screen and (min-width: 901px) {
    .p-nav-menu__logout:hover {
        opacity: 0.7;
    }
}

/*
.mfp-bg{
	z-index: 13000;
}
.mfp-wrap{
	z-index: 14000;
}
*/
@media screen and (max-width: 900px) {
    .mfp-container {
        padding: 0;
    }
}

img.mfp-img {
    padding: 50px 2em 1em;
}
@media screen and (max-width: 900px) {
    img.mfp-img {
        padding: 50px 1em 1em;
    }
}

.mfp-figure:after {
    content: none;
}

.mfp-close {
    width: 2em !important;
    height: 2em !important;
    top: 0.5em;
    right: 2em !important;
    font-size: 1.5rem !important;
    background: url(../img/common/ico_modal_close.svg) 0 0 no-repeat !important;
    padding: 0 !important;
    color: transparent !important;
}
@media screen and (max-width: 900px) {
    .mfp-close {
        right: 1em !important;
    }
}

@media screen and (max-width: 900px) {
    .mfp-content {
        padding-top: 15vw;
    }
}

.l-footer{
	/*padding: 1.0em;*/
	text-align: center;
}

.p-footer {
    /*background: #e60012;*/
    /*margin: 6.25em 0 0;*/
	background: #00A051;
    padding: 1.3em 0;
}
@media screen and (max-width: 900px) {
    .p-footer {
        padding: 4vw;
    }
}
.p-footer-lists {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
}
@media screen and (max-width: 900px) {
    .p-footer-lists {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
}
.p-footer-lists__list {
    font-size: 1.2rem;
    color: #fff;
    line-height: 1;
    border-right: 1px solid #fff;
    margin-right: 1em;
    padding-right: 1em;
}
@media screen and (max-width: 900px) {
    .p-footer-lists__list {
        font-size: 1rem;
        line-height: 1.7;
    }
}
.p-footer-lists__list:last-child {
    border-right: 0;
    padding-right: 0;
    margin-right: 0;
}
.p-footer__copy {
    font-size: 1.2rem;
    text-align: center;
    color: #fff;
    line-height: 1;
    margin: 1em 0 0;
}
@media screen and (max-width: 900px) {
    .p-footer__copy {
        font-size: 1rem;
    }
}

.l-main {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding-bottom: 6.667em;
}
@media screen and (max-width: 900px) {
    .l-main {
        padding: 0 4vw 16vw;
    }
}

.c-aspectRatio {
    position: relative;
    width: 100%;
}
.c-aspectRatio__inside {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.c-inputCheckbox__input,
.c-inputRadio__input {
    display: none;
}
.c-inputCheckbox__mark,
.c-inputRadio__mark {
    position: relative;
    padding: 0 0 0 30px;
}
.c-inputCheckbox__mark::before,
.c-inputRadio__mark::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    border: 1px solid #ccc;
    width: 20px;
    height: 20px;
}
.c-inputCheckbox__mark::after,
.c-inputRadio__mark::after {
    position: absolute;
    top: 5px;
    left: 5px;
    background: #0000ff;
    width: 10px;
    height: 10px;
}

.c-inputRadio__mark::before, .c-inputRadio__mark::after {
    border-radius: 50%;
}

:checked + .c-inputCheckbox__mark::after,
:checked + .c-inputRadio__mark::after {
    content: "";
}

.c-block, .c-block--confirm {
    max-width: 900px;
    -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
            box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
    background: #fff;
    border-radius: 0.625em;
    margin: 0 auto;
    padding: 3.3em 3.3em;
}
@media screen and (max-width: 900px) {
    .c-block, .c-block--confirm {
        padding: 8vw 4vw;
    }
}
.c-block + .c-block, .c-block--confirm + .c-block, .c-block + .c-block--confirm, .c-block--confirm + .c-block--confirm {
    margin-top: 4em;
}
@media screen and (max-width: 900px) {
    .c-block + .c-block, .c-block--confirm + .c-block, .c-block + .c-block--confirm, .c-block--confirm + .c-block--confirm {
        margin-top: 10.7vw;
    }
}
.c-block + .c-ttl__top, .c-block--confirm + .c-ttl__top {
    margin-top: 2em;
}
.c-block--confirm {
    padding-bottom: 3.3em;
}

.c-step, .c-step--flow {
    position: relative;
    max-width: 770px;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
            justify-content: space-between;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    margin: 0 auto 4em;
}
@media screen and (max-width: 900px) {
    .c-step, .c-step--flow {
        width: 95%;
        margin: 0 auto 10vw;
    }
}
.c-step::before, .c-step--flow::before {
    content: "";
    position: absolute;
    top: calc(50% - 1em);
    left: 0;
    width: 100%;
    height: 1px;
    background: #DBDBDB;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
}
.c-step-list, .c-step-list--end, .c-step-list--current {
    position: relative;
    padding: 0 0 2em;
}
@media screen and (max-width: 900px) {
    .c-step-list, .c-step-list--end, .c-step-list--current {
        padding: 0 0 2.2em;
    }
}
.c-step-list__num {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    width: 1.8em;
    height: 1.8em;
    font-size: 2.5rem;
    font-weight: 700;
    border-radius: 100%;
    background: #fff;
    border: 1px solid #555;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}
@media screen and (max-width: 900px) {
    .c-step-list__num {
        font-size: 1.3rem;
    }
}
.c-step-list__ico {
    display: block;
    width: 3em;
}
@media screen and (max-width: 900px) {
    .c-step-list__ico {
        width: 6.4vw;
    }
}
.c-step-list__ico img {
    width: 100%;
    height: auto;
}
.c-step-list__txt {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 7em;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
}
@media screen and (max-width: 900px) {
    .c-step-list__txt {
        width: 5em;
        min-height: 2.8em;
        font-size: 1rem;
        line-height: 1.4;
    }
}
.c-step-list--current .c-step-list__num {
    background: #54B5D3;
    color: #fff;
    border: 1px solid #54B5D3;
}
.c-step-list--current .c-step-list__txt {
    color: #54B5D3;
}
.c-step-list--end .c-step-list__num {
    background: #DBDBDB;
    color: #fff;
    border: 1px solid #DBDBDB;
}
.c-step-list--end .c-step-list__txt {
    color: #DBDBDB;
}
.c-step--flow::before {
    content: none;
}
.c-step--flow .c-step-list, .c-step--flow .c-step-list--current, .c-step--flow .c-step-list--end {
    position: relative;
}
.c-step--flow .c-step-list::before, .c-step--flow .c-step-list--current::before, .c-step--flow .c-step-list--end::before {
    content: "";
    position: absolute;
    top: 1.2em;
    right: -3.8em;
    width: 1em;
    height: 1em;
    background: url(../img/common/ico_flow_arrow.svg) center center/auto 100% no-repeat;
}
@media screen and (max-width: 900px) {
    .c-step--flow .c-step-list::before, .c-step--flow .c-step-list--current::before, .c-step--flow .c-step-list--end::before {
        width: 2.4vw;
        height: 2.4vw;
        top: 2.55vw;
        right: -6vw;
    }
}
.c-step--flow .c-step-list--end::before {
    background: url(../img/common/ico_flow_arrow_end.svg) center center/auto 1em no-repeat;
}
.c-step--flow .c-step-list:last-child::before, .c-step--flow .c-step-list--current:last-child::before, .c-step--flow .c-step-list--end:last-child::before {
    content: none;
}
.c-step-txt {
    text-align: center;
    margin: -2em 0 3em;
}
@media screen and (max-width: 900px) {
    .c-step-txt {
        width: 95%;
        text-align: left;
        font-size: 1.2rem;
        margin: 0 auto 10vw;
    }
}

.c-ttl__top {
    max-width: 900px;
    font-size: 3rem;
    font-weight: 700;
    line-height: 1;
    margin: 0 auto 0.7em;
}
@media screen and (max-width: 900px) {
    .c-ttl__top {
        /*font-size: 2.0rem;*/
        font-size: 1.8rem;
    }
}
.c-ttl__border, .c-ttl__border--modal {
    line-height: 1.5;
    font-size: 2.6rem;
    font-weight: 700;
    border-bottom: 2px solid #eb900b;
    padding-bottom: 0.5em;
    margin-bottom: 1.538em;
}
@media screen and (max-width: 900px) {
    .c-ttl__border, .c-ttl__border--modal {
        /*font-size: 2.0rem;*/
        font-size: 1.8rem;
    }
}
.c-ttl__border--modal {
    border-bottom: 2px solid #AECCD6;
    margin-bottom: 0;
}
.c-ttl__side {
    position: relative;
    font-size: 2rem;
    line-height: 1.5;
    font-weight: 700;
    padding-left: 0.75em;
}
@media screen and (max-width: 900px) {
    .c-ttl__side {
        /*font-size: 1.8rem;*/
        font-size: 1.6rem;
    }
}
.c-ttl__side span {
    display: inline-block;
    color: #963409;
    font-size: 1.2rem;
    margin: 0 0 0.3em 0.5em;
}
@media screen and (max-width: 900px) {
    .c-ttl__side span {
        margin: 0 0 0 0.5em;
    }
}
.c-ttl__side::before {
    content: "";
    position: absolute;
    top: 0.25em;
    left: 0;
    width: 5px;
    height: calc(100% - 0.5em);
    background: #54B5D3;
}

.c-define, .c-define--confirm, .c-define--none, .c-define--last, .c-define--first, .c-define--blast, .c-define--btop, .c-define--bnone {
    border-bottom: 1px solid #DBDBDB;
    margin-top: 2em;
}
@media screen and (max-width: 900px) {
    .c-define, .c-define--confirm, .c-define--none, .c-define--last, .c-define--first, .c-define--blast, .c-define--btop, .c-define--bnone {
        /*margin-top: 10.7vw;*/
        margin-top: 8vw;
    }
}
.c-define--bnone {
    border-bottom: 0;
}
.c-define--bnone .c-define__content {
    padding-bottom: 0;
}
.c-define--btop {
    border-top: 1px solid #DBDBDB;
    padding-top: 2em;
}
.c-define--blast {
    border-top: 1px solid #DBDBDB;
    border-bottom: 0;
    padding-top: 2em;
}
.c-define--blast .c-define__content {
    padding-bottom: 0;
}
.c-define__ttl, .c-define__ttl--small {
    position: relative;
    clear: left;
    float: left;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-align: end;
    -webkit-box-align: end;
            align-items: flex-end;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: 17em;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.5;
    padding-left: 0.75em;
    z-index: 2;
}
.c-define__ttl::before, .c-define__ttl--small::before {
    content: "";
    position: absolute;
    top: 0.25em;
    left: 0;
    width: 5px;
    height: calc(100% - 0.5em);
    background: #54B5D3;
}
@media screen and (max-width: 900px) {
    .c-define__ttl, .c-define__ttl--small {
        clear: none;
        float: none;
        width: auto;
        line-height: 1.1;
        /*font-size: 1.8rem;*/
        font-size: 1.6rem;
    }
    .c-define__ttl::before, .c-define__ttl--small::before {
        top: 0;
        height: 100%;
    }
}
.c-define__ttl--small {
    width: 18em;
    font-size: 1.8rem;
}
@media screen and (max-width: 900px) {
    .c-define__ttl--small {
        width: auto;
        font-size: 1.6rem;
    }
}
.c-define__required {
    color: #963409;
    font-size: 1.2rem;
    margin: 0 0 0.3em 0.5em;
}
@media screen and (max-width: 900px) {
    .c-define__required {
        margin: 0 0 0 0.5em;
    }
}
.c-define__content {
    font-size: 1.8rem;
    line-height: 1.667;
    padding: 0 0 2em 19em;
}
@media screen and (max-width: 900px) {
    .c-define__content {
        /*padding: 5.3vw 0 10.7vw;*/
        padding: 3vw 0 8vw;
    }
}
.c-define__content .c-tooltip__ttl {
    font-size: 1.8rem;
    line-height: 1.667;
}
@media screen and (max-width: 900px) {
    .c-define__content .c-tooltip__ttl {
        font-size: 1.4rem;
        margin: 0.25em 0 0.3em;
    }
}
.c-define__blank {
    width: 100%;
    font-size: 1.5rem;
    font-weight: 400;
    margin: 0.1em 0 0.2em;
}
@media screen and (max-width: 900px) {
    .c-define__blank {
        position: absolute;
        bottom: 0;
        right: 0;
        font-size: 1.2rem;
        width: auto;
        margin: 0;
    }
}
.c-define__blank a {
    display: inline-block;
    position: relative;
    text-decoration: none;
    line-height: 1;
    background: url(../img/common/ico_blank_bl.svg) right 0.1em/0.7em auto no-repeat;
    padding: 0 1em 0 0;
}
@media screen and (max-width: 900px) {
    .c-define__blank a {
        padding: 0 1em 0 0;
    }
}
.c-define__blank a::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: #0000FF;
}
@media screen and (min-width: 901px) {
    .c-define__blank a:hover::after {
        content: none;
    }
}
.c-define--first {
    margin-top: 0;
}
.c-define--last {
    border-bottom: 0;
}
.c-define--last .c-define__content {
    padding-bottom: 0;
}
.c-define--none {
    margin-top: 0;
    border-bottom: 0;
}
.c-define--none .c-define__content {
    padding-bottom: 0;
}
.c-define--confirm {
    margin-bottom: 2.7em;
}

.c-select {
    position: relative;
    width: 100%;
    font-size: 1.8rem;
}
@media screen and (max-width: 900px) {
    .c-select {
        width: 68vw;
    }
}
.c-select + .c-select {
    margin-top: 0.8em;
}
.c-select::before {
    content: "";
    pointer-events: none;
    position: absolute;
    top: 50%;
    right: 0.9em;
    width: 0.9em;
    height: 0.9em;
    background: url(../img/common/ico_select.svg) center center/100% auto no-repeat;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
}
.c-select__input {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    outline: none;
    width: 100%;
    height: 2.778em;
    font-weight: 700;
    border: 1px solid #DBDBDB;
    background: #fff;
    border-radius: 0.3em;
    padding: 0 0.8em;
}
@media screen and (max-width: 900px) {
    .c-select__input {
        height: 3.125em;
        font-size: 1.6rem;
    }
}
.c-select__input:required {
    background: #FFE0E0;
    -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
            box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
    color: #999;
}
.c-select__input:valid {
    -webkit-box-shadow: none;
            box-shadow: none;
    background: #fff;
    color: #555;
}

.c-date-result {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    font-size: 1.8rem;
    font-weight: 700;
    text-align: center;
    background: #F7F7F7;
    margin-top: 1.67em;
    padding: 0.8em 0;
}
.c-date-result__age {
    width: 2em;
}
.c-date-select {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
}
.c-date-select__num {
    width: 16em;
}
@media screen and (max-width: 900px) {
    .c-date-select__num {
        width: 50vw;
    }
}
.c-date-select + .c-date-select {
    margin-top: 1em;
}
.c-date-select__unit {
    font-size: 1.8rem;
    font-weight: 700;
    margin-left: 0.8em;
}
@media screen and (max-width: 900px) {
    .c-date-select__unit {
        font-size: 1.6rem;
        margin-left: 0.5em;
    }
}

.c-tooltip {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    margin: 0.25em 0 0.25em;
    /*
    	& + .c-input-unit{
    		margin-top: 0.6em;
    	}
    */
}
@media screen and (max-width: 900px) {
    .c-tooltip {
        margin: 0;
    }
}
.c-tooltip__block {
    position: relative;
}
.c-tooltip__ttl {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
    margin-right: 0.5em;
}
@media screen and (max-width: 900px) {
    .c-tooltip__ttl {
        font-size: 1.6rem;
    }
}
.c-tooltip-content {
    pointer-events: none;
    position: absolute;
    bottom: calc(100% + 1.2em);
    left: 50%;
    width: 12em;
    font-size: 1.2rem;
    border-radius: 1em;
    background: #DDF6FF;
    padding: 1em;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    -webkit-filter: drop-shadow(1px 4px 3px rgba(0, 0, 0, 0.16));
            filter: drop-shadow(1px 4px 3px rgba(0, 0, 0, 0.16));
    opacity: 0;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}
@media screen and (max-width: 900px) {
    .c-tooltip-content.is-pop {
        opacity: 1;
    }
}
.c-tooltip-content::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    border: 0.5em solid transparent;
    border-top: 0.8em solid #DDF6FF;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
}
.c-tooltip-content__txt {
    line-height: 1.6;
}
.c-tooltip__btn {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    width: 1.625em;
    height: 1.625em;
    background: #54B5D3;
    font-weight: 700;
    font-size: 1.6rem;
    border-radius: 100%;
    color: #fff;
    margin: -0.267em 0;
}
@media screen and (max-width: 900px) {
    .c-tooltip__btn {
        margin-left: 0.25em;
    }
}
@media screen and (min-width: 901px) {
    .c-tooltip__btn:hover + .c-tooltip-content {
        opacity: 1;
    }
}

.c-input-password {
    position: relative;
}
.c-input-password__icon {
    position: absolute;
    top: 50%;
    right: 1em;
    width: 2em;
    height: 1.3em;
    background: url(../img/common/ico_password_close.svg) center center/auto 100% no-repeat;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
}
@media screen and (max-width: 900px) {
    .c-input-password__icon {
        width: 8vw;
        height: 5.3vw;
    }
}
.c-input-password__icon.is-open {
    background: url(../img/common/ico_password_open.svg) center center/auto 100% no-repeat;
}
.c-input-password ::-ms-reveal {
    display: none;
}
.c-input__send, .c-input__send--confirm {
    display: none;
    text-align: center;
    color: #963409;
    font-weight: 700;
    font-size: 1.4rem;
    line-height: 1;
    margin-top: 0.8em;
}
@media screen and (max-width: 900px) {
    .c-input__send, .c-input__send--confirm {
        font-size: 1.2rem;
    }
}
.c-input__send--confirm {
    display: block;
    line-height: 1.6;
}
@media screen and (max-width: 900px) {
    .c-input__send--confirm {
        text-align: left;
    }
}
.c-input__error {
    color: #963409;
    font-size: 1.2rem;
    font-weight: 700;
    margin: 0.7em 0 0;
}
.c-input__notes, .c-input__notes--caution, .c-input__notes--top {
    font-size: 1.2rem;
    font-weight: 700;
    margin: 0.7em 0 0;
}
.c-input__notes--top {
    margin: 0 0 1em;
}
.c-input__notes--caution {
    color: #963409;
    margin: 1.5em 0 0;
}
.c-input__txt {
    outline: none;
    width: 100%;
    height: 2.778em;
    font-size: 1.8rem;
    font-weight: 700;
    border: 1px solid #DBDBDB;
    border-radius: 0.3em;
    padding: 0 0.8em;
}
@media screen and (max-width: 900px) {
    .c-input__txt {
        height: 3.125em;
        font-size: 1.6rem;
    }
}
.c-input__txt::-webkit-input-placeholder {
    color: #999;
}
.c-input__txt::-moz-placeholder {
    color: #999;
}
.c-input__txt:-ms-input-placeholder {
    color: #999;
}
.c-input__txt::-ms-input-placeholder {
    color: #999;
}
.c-input__txt::placeholder {
    color: #999;
}
.c-input__txt:required {
    background: #FFE0E0;
    -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
            box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
.c-input__txt:valid {
    -webkit-box-shadow: none;
            box-shadow: none;
    background: #fff;
}
.c-input-label__ttl, .c-input-label__ttl--confirm {
    display: block;
    font-size: 1.8rem;
    font-weight: 700;
    /*line-height: 1.0;
    margin: 0 0 0.5em;*/
    margin: 0 0 0.3em;
}
@media screen and (max-width: 900px) {
    .c-input-label__ttl, .c-input-label__ttl--confirm {
        /*font-size: 1.6rem;*/
        font-size: 1.4rem;
    }
}
.c-input-label__ttl--confirm {
    margin-top: 1em;
}
.c-input-label + .c-input-label {
    /*margin-top: 1.25em;*/
    margin-top: 1em;
}
@media screen and (max-width: 900px) {
    .c-input-label + .c-input-label {
        /*margin-top: 5.3vw;*/
        margin-top: 3vw;
    }
}
.c-input-label + .c-input-radio {
    margin-top: 1.1em;
}
.c-input-label__exp {
    font-size: 1.4rem;
    margin: 0 0 1em;
}
@media screen and (max-width: 900px) {
    .c-input-label__exp {
        font-size: 1.2rem;
    }
}
.c-input-label__notes {
    position: relative;
    font-size: 1.4rem;
    margin: 1em 0 0;
    padding-left: 1em;
}
@media screen and (max-width: 900px) {
    .c-input-label__notes {
        font-size: 1.2rem;
    }
}
.c-input-label__notes::before {
    content: "※";
    position: absolute;
    top: 0;
    left: 0;
}
.c-input-label__notes + .c-input-label__notes {
    margin-top: 0;
}
.c-input-label__notes + .c-input-lb--send {
    margin-top: 0.8em;
}
.c-input-radio {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-align: start;
    -webkit-box-align: start;
            align-items: flex-start;
}
.c-input-radio + .c-input-label {
    margin-top: 1.1em;
}
.c-input-radio__block {
    display: block;
    position: relative;
    width: 7.7em;
}
@media screen and (max-width: 900px) {
    .c-input-radio__block {
        width: 36.8vw;
    }
}
.c-input-radio__block + .c-input-radio__block {
    margin-left: 1.1em;
}
.c-input-radio--column .c-input-radio__block + .c-input-radio__block {
    margin: 0.8em 0 0 0;
}
@media screen and (max-width: 900px) {
    .c-input-radio--col3 .c-input-radio__block + .c-input-radio__block {
        margin: 0.8em 0 0 0;
    }
}
.c-input-radio__input {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
}
.c-input-radio__input:checked + .c-input-radio__txt::before {
    background: url(../img/common/ico_radio_on.svg) 0 0/100% auto no-repeat;
}
.c-input-radio__input:required + .c-input-radio__txt {
    background: #FFE0E0;
    -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
            box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
.c-input-radio__input:valid + .c-input-radio__txt {
    -webkit-box-shadow: none;
            box-shadow: none;
    background: #fff;
}
.c-input-radio__txt {
    position: relative;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    outline: none;
    width: 100%;
    /*height: 2.778em;*/
    min-height: 2.778em;
    font-size: 1.8rem;
    font-weight: 700;
    border: 1px solid #DBDBDB;
    border-radius: 0.3em;
    /*padding-left: 2.3em;*/
    padding: 0.5em 0 0.5em 2.3em;
}
@media screen and (max-width: 900px) {
    .c-input-radio__txt {
        /*height: 3.125em;*/
        min-height: 3.125em;
        font-size: 1.6rem;
    }
}
.c-input-radio__txt::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0.6em;
    width: 1.2em;
    height: 1.2em;
    border-radius: 100%;
    background: url(../img/common/ico_radio_off.svg) 0 0/100% auto no-repeat;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
}
.c-input-radio--column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
}
.c-input-radio--column .c-input-radio__block {
    width: 100%;
}
.c-input-radio--col3 {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-align: start;
    -webkit-box-align: start;
            align-items: flex-start;
}
@media screen and (max-width: 900px) {
    .c-input-radio--col3 {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-flow: column;
                flex-flow: column;
    }
    .c-input-radio--col3 .c-input-radio__block {
        width: 100%;
    }
}
.c-input-tel {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
}
.c-input-tel__inner, .c-input-tel__inner--middle {
    width: 4.2em;
}
.c-input-tel__inner--middle {
    position: relative;
    width: 7.2em;
    padding: 0 1.5em;
}
.c-input-tel__inner--middle::before, .c-input-tel__inner--middle::after {
    content: "";
    position: absolute;
    top: 50%;
    display: block;
    width: 0.8em;
    height: 2px;
    background: #555;
    margin-top: -1px;
}
.c-input-tel__inner--middle::before {
    left: 0.2em;
}
.c-input-tel__inner--middle::after {
    right: 0.2em;
}
.c-input-tel__inner:first-child, .c-input-tel__inner--middle:first-child {
    width: 3.6em;
}
.c-input-unit {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
}
.c-input-unit__txt {
    width: 10em;
}
@media screen and (max-width: 900px) {
    .c-input-unit__txt {
        width: 50.7vw;
    }
}
.c-input-unit__note {
    font-size: 1.8rem;
    font-weight: 700;
    margin-left: 0.8em;
}
@media screen and (max-width: 900px) {
    .c-input-unit__note {
        font-size: 1.6rem;
    }
}
.c-input-balloon {
    position: relative;
    border-top: 2px solid #DBDBDB;
    margin: 2em 0 0;
    padding: 2.7em 0 0;
}
@media screen and (max-width: 900px) {
    .c-input-balloon {
        margin: 8vw 0 0;
        padding: 8vw 0 0;
    }
}
.c-input-balloon::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0.7em 0.7em 0 0.7em;
    border-color: #DBDBDB transparent transparent transparent;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
}
.c-input-lb, .c-input-lb--arrowL, .c-input-lb--send {
    position: relative;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    font-size: 1.8rem;
    width: 25.5em;
    height: 2.8em;
    font-weight: 700;
    text-align: center;
    background: #DDF6FF;
    color: #2B9DB9;
    -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
            box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
    border-radius: 3em;
    margin: 0 auto;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}
@media screen and (max-width: 900px) {
    .c-input-lb, .c-input-lb--arrowL, .c-input-lb--send {
        width: 100%;
    }
}
.c-input-lb--send::before {
    content: "";
    position: absolute;
    left: 1.3em;
    width: 1.3em;
    height: 1.3em;
    background: url(../img/common/ico_send_bk.svg) center center/100% auto no-repeat;
}
.c-input-lb--arrowL::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 1.2em;
    width: 0.65em;
    height: 0.65em;
    background: url(../img/common/ico_darrow_tb.svg) 0 0/100% auto no-repeat;
    -webkit-transform: rotate(-180deg) translateY(50%);
            transform: rotate(-180deg) translateY(50%);
}
.c-input-lb.is-inactive, .is-inactive.c-input-lb--send, .is-inactive.c-input-lb--arrowL {
    pointer-events: none;
    background: #DBDBDB;
    color: #555;
    -webkit-box-shadow: 0;
            box-shadow: 0;
}
.c-input-cb, .c-input-cb--arrowR {
    position: relative;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    font-size: 2.8rem;
    width: 17.857em;
    height: 2.786em;
    background: #54B5D3;
    color: #fff;
    font-weight: 700;
    text-align: center;
    -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
            box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
    border-radius: 3em;
    text-decoration: none;
    margin: 2.143em auto 0;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}
@media screen and (min-width: 901px) {
    .c-input-cb:hover, .c-input-cb--arrowR:hover {
        opacity: 0.7;
        text-decoration: none;
    }
}
@media screen and (max-width: 900px) {
    .c-input-cb, .c-input-cb--arrowR {
        width: 100%;
        height: 3em;
        font-size: 2rem;
        margin: 10vw 0 0;
    }
}
.c-input-cb.is-inactive, .is-inactive.c-input-cb--arrowR {
    pointer-events: none;
    background: #DBDBDB;
    -webkit-box-shadow: none;
            box-shadow: none;
}
.c-input-cb--arrowR {
    background: url(../img/common/ico_darrow_wh.svg) calc(100% - 1.1em) center/0.464em auto no-repeat #54B5D3;
}
.c-input-cb--arrowR.is-inactive {
    background: url(../img/common/ico_darrow_wh.svg) calc(100% - 1.1em) center/0.464em auto no-repeat #DBDBDB;
}
.c-input-wh, .c-input-wh--arrowL, .c-input-wh--arrowR, .c-input-wh--border {
    position: relative;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    font-size: 2rem;
    width: 23em;
    height: 3em;
    font-weight: 700;
    background: #fff;
    color: #54B5D3;
    text-align: center;
    -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
            box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
    border-radius: 3em;
    text-decoration: none;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    margin: 1.25em auto 0;
}
@media screen and (max-width: 900px) {
    .c-input-wh, .c-input-wh--arrowL, .c-input-wh--arrowR, .c-input-wh--border {
        width: 100%;
        height: 2.75em;
        font-size: 1.6rem;
        margin: 8vw 0 0;
    }
}
@media screen and (min-width: 901px) {
    .c-input-wh:hover, .c-input-wh--arrowL:hover, .c-input-wh--arrowR:hover, .c-input-wh--border:hover {
        opacity: 0.7;
        text-decoration: none;
    }
}
.c-input-wh::before, .c-input-wh--arrowL::before, .c-input-wh--arrowR::before, .c-input-wh--border::before {
    content: "";
    position: absolute;
    top: 50%;
    width: 0.65em;
    height: 0.65em;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
}
.c-input-wh--border {
    border: 1px solid #DBDBDB;
}
.c-input-wh--arrowR::before {
    right: 1.2em;
    background: url(../img/common/ico_darrow_cb.svg) 0 0/100% auto no-repeat;
}
.c-input-wh--arrowL::before {
    left: 1.2em;
    background: url(../img/common/ico_darrow_cb.svg) 0 0/100% auto no-repeat;
    -webkit-transform: rotate(-180deg) translateY(50%);
            transform: rotate(-180deg) translateY(50%);
}
.c-input-datepicker {
    position: relative;
}
@media screen and (max-width: 900px) {
    .c-input-datepicker {
        width: 68vw;
    }
}
.c-input-datepicker::before {
    pointer-events: none;
    content: "";
    position: absolute;
    top: 50%;
    right: 0.7em;
    width: 1.167em;
    height: 1.167em;
    background: url(../img/common/ico_datepicker.svg) center center/100% auto no-repeat;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
}

#ui-datepicker-div {
    z-index: 10 !important;
}

.c-btn-lb {
    font-size: 1.8rem;
    width: 25.5em;
    height: 2.8em;
    font-weight: 700;
    margin: 0 auto;
}
@media screen and (max-width: 900px) {
    .c-btn-lb {
        width: 100%;
        height: 2.75em;
        font-size: 1.6rem;
    }
}
.c-btn-lb__blank {
    background: url(../img/common/ico_blank_cb.svg) right center/auto 0.7em no-repeat;
    padding: 0 1em 0 0;
}
.c-btn-lb__link, .c-btn-lb__link--tel, .c-btn-lb__link--arrowR {
    position: relative;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    width: 100%;
    height: 100%;
    background: #DDF6FF;
    color: #2B9DB9;
    -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
            box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
    border-radius: 3em;
    text-decoration: none;
}
@media screen and (min-width: 901px) {
    .c-btn-lb__link:hover, .c-btn-lb__link--tel:hover, .c-btn-lb__link--arrowR:hover {
        opacity: 0.7;
        text-decoration: none;
    }
}
.c-btn-lb__link::before, .c-btn-lb__link--tel::before, .c-btn-lb__link--arrowR::before {
    content: "";
    position: absolute;
    top: 50%;
    width: 0.65em;
    height: 0.65em;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
}
.c-btn-lb__link--arrowR::before {
    right: 1.2em;
    background: url(../img/common/ico_darrow_cb.svg) 0 0/100% auto no-repeat;
}
.c-btn-lb__link--tel {
    color: #2B9DB9 !important;
}
.c-btn-lb__link--tel::before {
    left: 1.2em;
    width: 0.722em;
    height: 1em;
    background: url(../img/common/ico_tel_bk.svg) 0 0/100% auto no-repeat;
}
.c-btn-lb__link.is-inactive, .is-inactive.c-btn-lb__link--arrowR, .is-inactive.c-btn-lb__link--tel {
    pointer-events: none;
    background: #DBDBDB;
    color: #555;
    -webkit-box-shadow: none;
            box-shadow: none;
}
.c-btn-lb__link.is-check::before, .is-check.c-btn-lb__link--arrowR::before, .is-check.c-btn-lb__link--tel::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 1.4em;
    width: 1.2em;
    height: 1.2em;
    background: url(../img/common/ico_check_gr.svg) 0 0/100% auto no-repeat;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
}
.c-btn-cb {
    font-size: 2.8rem;
    width: 17.857em;
    height: 2.786em;
    font-weight: 700;
    margin: 2.143em auto 0;
}
@media screen and (max-width: 900px) {
    .c-btn-cb {
        width: 100%;
        height: 3em;
        font-size: 2rem;
        margin: 10vw 0 0;
    }
}
.c-btn-cb__link, .c-btn-cb__link--arrowR {
    position: relative;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    width: 100%;
    height: 100%;
    text-align: center;
    background: #54B5D3;
    color: #fff;
    -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
            box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
    border-radius: 3em;
    text-decoration: none;
}
@media screen and (min-width: 901px) {
    .c-btn-cb__link:hover, .c-btn-cb__link--arrowR:hover {
        opacity: 0.7;
        text-decoration: none;
    }
}
.c-btn-cb__link--arrowR::before {
    content: "";
    position: absolute;
    width: 0.464em;
    height: 0.464em;
    top: 50%;
    right: 1.2em;
    background: url(../img/common/ico_darrow_wh.svg) 0 0/100% auto no-repeat;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
}
.c-btn-cb__link.is-inactive, .is-inactive.c-btn-cb__link--arrowR {
    pointer-events: none;
    background: #DBDBDB;
    -webkit-box-shadow: none;
            box-shadow: none;
}
.c-btn-cb__link.is-check::before, .is-check.c-btn-cb__link--arrowR::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 1.4em;
    width: 1.2em;
    height: 1.2em;
    background: url(../img/common/ico_check_gr.svg) 0 0/100% auto no-repeat;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
}
.c-btn-wh {
    font-size: 2rem;
    width: 23em;
    height: 3em;
    font-weight: 700;
    margin: 1.25em auto 0;
}
@media screen and (max-width: 900px) {
    .c-btn-wh {
        width: 100%;
        height: 2.75em;
        font-size: 1.6rem;
        margin: 8vw 0 0;
    }
}
.c-btn-wh__link, .c-btn-wh__link--arrowR, .c-btn-wh__link--border {
    position: relative;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    width: 100%;
    height: 100%;
    background: #fff;
    color: #54B5D3;
    -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
            box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
    border-radius: 3em;
    text-decoration: none;
}
@media screen and (min-width: 901px) {
    .c-btn-wh__link:hover, .c-btn-wh__link--arrowR:hover, .c-btn-wh__link--border:hover {
        opacity: 0.7;
        text-decoration: none;
    }
}
.c-btn-wh__link::before, .c-btn-wh__link--arrowR::before, .c-btn-wh__link--border::before {
    content: "";
    position: absolute;
    top: 50%;
    width: 0.65em;
    height: 0.65em;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
}
.c-btn-wh__link--border {
    border: 1px solid #DBDBDB;
}
.c-btn-wh__link--arrowR::before {
    right: 1.2em;
    background: url(../img/common/ico_darrow_cb.svg) 0 0/100% auto no-repeat;
}

.c-blank {
    position: relative;
    display: inline-block;
    text-decoration: none;
    background: url(../img/common/ico_blank_bl.svg) right 0.1em/0.7em auto no-repeat;
    line-height: 1;
    padding: 0 1em 0 0;
}
.c-blank::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: #0000FF;
}
@media screen and (min-width: 901px) {
    .c-blank:hover::before {
        content: none;
    }
}

.c-ac {
    font-size: 1.5rem;
    border: 1px solid #DBDBDB;
    border-radius: 0.4em;
    overflow: hidden;
}
.c-ac__ttl {
    position: relative;
    font-weight: 700;
    line-height: 1;
    background: #DDF6FF;
    font-size: 1.8rem;
    padding: 1.3em;
    will-change: transform;
    overflow: hidden;
}
@media screen and (max-width: 900px) {
    .c-ac__ttl {
        font-size: 1.5rem;
    }
}
.c-ac__ttl::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 1.3em;
    width: 0.6em;
    height: 0.6em;
    background: url(../img/common/ico_darrow_bk.svg) 0 0/100% auto no-repeat;
    -webkit-transform: rotate(90deg) translateX(-50%);
            transform: rotate(90deg) translateX(-50%);
}
.c-ac__ttl.is-open::before {
    -webkit-transform: rotate(-90deg) translateX(50%);
            transform: rotate(-90deg) translateX(50%);
}
.c-ac__content {
    display: none;
    border-top: 1px solid #DBDBDB;
    padding: 1.3em;
}
.c-ac-icon {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    margin: 0.4em 0 0;
}
.c-ac-icon__block, .c-ac-icon__block--recommend {
    font-size: 1.3rem;
    color: #fff;
    background: #54B5D3;
    padding: 0.5em 1em;
    margin-right: 1em;
}
@media screen and (max-width: 900px) {
    .c-ac-icon__block, .c-ac-icon__block--recommend {
        font-size: 1rem;
    }
}
.c-ac-icon__block--recommend {
    background: #963409;
}
.c-ac-icon__txt {
    font-size: 1.3rem;
    font-weight: 300;
}
@media screen and (max-width: 900px) {
    .c-ac-icon__txt {
        font-size: 1rem;
    }
}

.c-progress {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: #fff;
    padding: 1.5em 0;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    z-index: 10;
}
@media screen and (max-width: 900px) {
    .c-progress {
        /*padding: 5.3vw 0;*/
        padding: 4vw 0;
    }
}
@media screen and (orientation: landscape) and (max-width: 900px) {
    .c-progress {
        padding: 2vw 0;
    }
}
@media screen and (max-width: 900px) {
    .c-progress.is-hidden {
        pointer-events: none;
        opacity: 0;
    }
}
.c-progress__end {
    font-size: 1.3rem;
    color: #DBDBDB;
    text-align: right;
    line-height: 1;
    margin: 0 0 0.5em;
}
@media screen and (max-width: 900px) {
    .c-progress__end {
        font-size: 1rem;
    }
}
@media screen and (orientation: landscape) and (max-width: 900px) {
    .c-progress__end {
        font-size: 0.8rem;
    }
}
.c-progress__block {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 3.3em;
}
@media screen and (max-width: 900px) {
    .c-progress__block {
        padding: 0 8vw;
    }
}
.c-progress-bar {
    background: #DBDBDB;
    border-radius: 1em;
}
.c-progress-bar__color {
    display: block;
    width: 30%;
    height: 7px;
    background: #54B5D3;
    border-radius: 1em;
}
@media screen and (max-width: 900px) {
    .c-progress-bar__color {
        height: 1.4vw;
    }
}
@media screen and (orientation: landscape) and (max-width: 900px) {
    .c-progress-bar__color {
        height: 1vw;
    }
}
.c-progress-content {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    margin: 1em 0 0;
}
@media screen and (max-width: 900px) {
    .c-progress-content {
        margin: 3vw 0 0;
    }
}
@media screen and (orientation: landscape) and (max-width: 900px) {
    .c-progress-content {
        margin: 2vw 0 0;
    }
}
.c-progress-content__ttl {
    font-size: 1.2rem;
    background: #963409;
    color: #fff;
    line-height: 1;
    font-weight: 700;
    padding: 0.5em;
}
@media screen and (max-width: 900px) {
    .c-progress-content__ttl {
        font-size: 1rem;
    }
}
@media screen and (orientation: landscape) and (max-width: 900px) {
    .c-progress-content__ttl {
        font-size: 0.8rem;
    }
}
.c-progress-content__count {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
    margin: 0 0.5em;
}
@media screen and (max-width: 900px) {
    .c-progress-content__count {
        font-size: 1.8rem;
    }
}
@media screen and (orientation: landscape) and (max-width: 900px) {
    .c-progress-content__count {
        font-size: 1.2rem;
    }
}
.c-progress-content__page {
    font-size: 1.4rem;
    line-height: 1;
    font-weight: 700;
}
@media screen and (max-width: 900px) {
    .c-progress-content__page {
        font-size: 1.4rem;
    }
}
@media screen and (orientation: landscape) and (max-width: 900px) {
    .c-progress-content__page {
        font-size: 1rem;
    }
}

.c-message__list {
    margin-top: 1.3em;
}
@media screen and (max-width: 900px) {
    .c-message__list {
        margin-top: 2.7vw;
    }
}
.c-message__list.js-read .c-message__link {
    background: #F7F7F7;
}
.c-message__list.js-read .c-message-content__ttl {
    font-weight: 400;
}
.c-message__link {
    position: relative;
    display: block;
    background: #fff;
    border: 1px solid #DBDBDB;
    border-radius: 0.4em;
    text-decoration: none;
    padding: 1em 3.5em 1em 1.3em;
}
@media screen and (max-width: 900px) {
    .c-message__link {
        padding: 3.2vw 8.5vw 2.8vw 3.7vw;
    }
}
.c-message__link::after {
    position: absolute;
    top: 50%;
    right: 1.2em;
    content: "";
    width: 0.9em;
    height: 0.9em;
    background: url(../img/common/ico_darrow_bk.svg) 0 0/100% auto no-repeat;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
}
@media screen and (max-width: 900px) {
    .c-message__link::after {
        right: 3vw;
        width: 2.4vw;
        height: 2.4vw;
    }
}
@media screen and (min-width: 901px) {
    .c-message__link:hover {
        opacity: 0.7;
    }
}
.c-message-application {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    font-size: 1.4rem;
    line-height: 1;
    color: #555;
}
@media screen and (max-width: 900px) {
    .c-message-application {
        font-size: 1rem;
    }
}
.c-message-application__status, .c-message-application__status--complete, .c-message-application__status--judging {
    font-size: 1.2rem;
    font-weight: 700;
    padding: 0.4em 0.7em;
    border-radius: 1em;
    margin-right: 1.2em;
}
@media screen and (max-width: 900px) {
    .c-message-application__status, .c-message-application__status--complete, .c-message-application__status--judging {
        font-size: 1rem;
        margin-right: 0.5em;
        -webkit-transform: scale(0.9);
                transform: scale(0.9);
        -webkit-transform-origin: left center;
                transform-origin: left center;
    }
}
.c-message-application__status--judging {
    background: #963409;
    color: #fff;
}
.c-message-application__status--complete {
    background: #DBDBDB;
    color: #555;
}
.c-message__ttl {
    font-weight: 700;
    font-size: 1.8rem;
    color: #555;
    margin: 0.4em 0 0;
}
@media screen and (max-width: 900px) {
    .c-message__ttl {
        font-size: 1.4rem;
        margin: 0.3em 0 0;
    }
}
.c-message-data {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
            justify-content: space-between;
    -ms-flex-align: start;
    -webkit-box-align: start;
            align-items: flex-start;
    line-height: 1.5;
    font-size: 1.4rem;
    color: #555;
}
@media screen and (max-width: 900px) {
    .c-message-data {
        font-size: 1rem;
    }
}
.c-message-content {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
            justify-content: space-between;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    margin: 0.5em 0 0;
}
.c-message-content__ttl {
    font-weight: 700;
    font-size: 1.8rem;
    color: #555;
    font-weight: 700;
}
@media screen and (max-width: 900px) {
    .c-message-content__ttl {
        font-size: 1.4rem;
    }
}
.c-message-content__status {
    font-size: 1rem;
    background: #963409;
    color: #fff;
    font-weight: 700;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-left: 1em;
    padding: 0.3em 0.8em;
    border-radius: 1em;
}

.c-document {
    border: 1px solid #DBDBDB;
    border-radius: 0.4em;
    padding: 1.3em;
}
.c-document__ttl {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 0.7em;
}
.c-document__file {
    margin-top: 1.3em;
}
.c-document__file + .c-document__file {
    margin-top: 2em;
}
.c-document__select {
    width: 100%;
}
.c-document .c-file__delete {
    right: 0em;
}

.c-notice {
    margin: 2em 0 2.7em 0;
}
@media screen and (max-width: 900px) {
    .c-notice {
        margin: 5vw 0 8vw;
    }
}
.c-notice__list {
    line-height: 1;
}
@media screen and (max-width: 900px) {
    .c-notice__list {
        font-size: 1.2rem;
    }
}

.c-add {
    counter-reset: section;
}
.c-add__block {
    position: relative;
    margin-top: 1.3em;
}
.c-add__block:first-child {
    margin-top: 0;
}
.c-add__block:first-child .c-add__close {
    display: none;
}
.c-add__close {
    position: absolute;
    top: 1em;
    right: 1.5em;
}
.c-add__counter::before {
    counter-increment: section;
    content: counter(section);
    width: 1em;
    height: 1em;
    border-radius: 100%;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    border: 1px solid #555;
}
.c-add-btn {
    text-align: center;
    margin: 1.5em 0 0;
    line-height: 1;
}
@media screen and (max-width: 900px) {
    .c-add-btn {
        margin: 8vw 0 0;
    }
}
.c-add-btn__plus {
    display: inline-block;
    background: url(../img/common/ico_plus.svg) 0 center/1em auto no-repeat;
    color: #54B5D3;
    padding-left: 1.25em;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
}
@media screen and (max-width: 900px) {
    .c-add-btn__plus {
        font-size: 1.5rem;
    }
}

.c-info {
    background: #F7F7F7;
    border-radius: 0.625em;
    text-align: center;
    font-size: 1.4rem;
    margin: 2.143em 0 0;
    padding: 1em 0;
}
@media screen and (max-width: 900px) {
    .c-info {
        font-size: 1.2rem;
        text-align: left;
        padding: 1em;
        margin-top: 8vw;
    }
}

.c-file, .c-file--border {
    position: relative;
}
.c-file:first-child .c-file__close, .c-file--border:first-child .c-file__close {
    display: none;
}
.c-file:first-child .c-file__delete, .c-file--border:first-child .c-file__delete {
    right: 0;
}
.c-file--border {
    border: 1px solid #DBDBDB;
    border-radius: 0.4em;
    padding: 1.3em 1.3em 2em;
}
.c-file--border + .c-file--border {
    margin-top: 1.3em;
}
.c-file--border .c-file__delete {
    top: 1.6em;
    right: 5.6em;
}
.c-file--border .c-file__close {
    top: 1.3em;
    right: 1.3em;
}
.c-file--border:first-child .c-file__delete {
    right: 1.6em;
}
.c-file-area {
    position: relative;
    width: 19em;
    margin: 1em auto 0;
}
@media screen and (max-width: 900px) {
    .c-file-area {
        width: auto;
    }
}
.c-file-area-thumb > img {
    width: 100%;
    height: auto;
}
.c-file-area-dummy {
    pointer-events: none;
    width: 19em;
    height: 14em;
    background: #FFE0E0;
    text-align: center;
    padding: 2.3em 0 0;
}
@media screen and (max-width: 900px) {
    .c-file-area-dummy {
        width: 100%;
        height: 53vw;
    }
}
.c-file-area-dummy::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: calc(100% - 0.6em);
    height: calc(100% - 0.6em);
    border: 1px dashed #DBDBDB;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
}
.c-file-area-dummy__img {
    width: 2.9em;
    height: auto;
}
.c-file-area-dummy__txt {
    font-weight: 700;
    color: #DBDBDB;
    line-height: 1;
    margin: 0.8em 0 0;
}
.c-file-area-modal {
    position: relative;
    max-width: 900px;
    margin: 0 auto;
}
@media screen and (max-width: 900px) {
    .c-file-area-modal {
        padding: 0 1em;
    }
}
.c-file-area-modal__img {
    text-align: center;
}
.c-file-area-modal__img img {
    max-width: 100%;
    max-height: 80vh;
}
.c-file-area-modal__txt {
    color: #fff;
    text-align: center;
    margin: 0 0 0.5em;
}
@media screen and (max-width: 900px) {
    .c-file-area-modal__txt {
        text-align: left;
    }
}
.c-file__delete {
    position: absolute;
    top: 0;
    right: 5em;
    display: inline-block;
    color: #963409;
    font-size: 1.2rem;
    border: 1px solid #963409;
    line-height: 1;
    padding: 0.65em 0.8em;
    border-radius: 0.3em;
    cursor: pointer;
}
.c-file__ttl {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    font-weight: 700;
    line-height: 2;
}
.c-file-btn {
    position: absolute;
    bottom: 2em;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
}
.c-file-btn__input {
    display: none;
}
.c-file-btn__txt {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    width: 16.5em;
    height: 3em;
    color: #54B5D3;
    background: #fff;
    -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
            box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
    border-radius: 3em;
    font-size: 1.5rem;
    font-weight: 700;
}
.c-file__close {
    position: absolute;
    top: 0;
    right: 0;
    width: 2em;
    height: 2em;
}

@media screen and (max-width: 900px) {
    .c-loading {
        padding: 0 4vw;
    }
}
.c-loading-modal {
    position: relative;
    max-width: 800px;
    background: #fff;
    border-radius: 0.625em;
    padding: 2.67em 3.33em;
    margin: 0 auto;
}
@media screen and (max-width: 900px) {
    .c-loading-modal {
        padding: 2.67em 1em;
    }
}
.c-loading-modal__ttl {
    font-size: 1.8rem;
    font-weight: 700;
    text-align: center;
    margin: 1.5em 0 1em;
}
@media screen and (max-width: 900px) {
    .c-loading-modal__ttl {
        font-size: 1.4rem;
    }
}
.c-loading-modal__txt {
    text-align: center;
}
@media screen and (max-width: 900px) {
    .c-loading-modal__txt {
        font-size: 1.2rem;
        text-align: left;
    }
}
.c-loading-modal .sk-circle {
    margin: 0 auto;
    width: 4em;
    height: 4em;
    position: relative;
}
.c-loading-modal .sk-circle .sk-child {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
}
.c-loading-modal .sk-circle .sk-child:before {
    content: "";
    display: block;
    margin: 0 auto;
    width: 15%;
    height: 15%;
    background-color: #54B5D3;
    border-radius: 100%;
    -webkit-animation: sk-circleBounceDelay 1.2s infinite ease-in-out both;
    animation: sk-circleBounceDelay 1.2s infinite ease-in-out both;
}
.c-loading-modal .sk-circle .sk-circle2 {
    -webkit-transform: rotate(30deg);
    transform: rotate(30deg);
}
.c-loading-modal .sk-circle .sk-circle3 {
    -webkit-transform: rotate(60deg);
    transform: rotate(60deg);
}
.c-loading-modal .sk-circle .sk-circle4 {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}
.c-loading-modal .sk-circle .sk-circle5 {
    -webkit-transform: rotate(120deg);
    transform: rotate(120deg);
}
.c-loading-modal .sk-circle .sk-circle6 {
    -webkit-transform: rotate(150deg);
    transform: rotate(150deg);
}
.c-loading-modal .sk-circle .sk-circle7 {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}
.c-loading-modal .sk-circle .sk-circle8 {
    -webkit-transform: rotate(210deg);
    transform: rotate(210deg);
}
.c-loading-modal .sk-circle .sk-circle9 {
    -webkit-transform: rotate(240deg);
    transform: rotate(240deg);
}
.c-loading-modal .sk-circle .sk-circle10 {
    -webkit-transform: rotate(270deg);
    transform: rotate(270deg);
}
.c-loading-modal .sk-circle .sk-circle11 {
    -webkit-transform: rotate(300deg);
    transform: rotate(300deg);
}
.c-loading-modal .sk-circle .sk-circle12 {
    -webkit-transform: rotate(330deg);
    transform: rotate(330deg);
}
.c-loading-modal .sk-circle .sk-circle2:before {
    -webkit-animation-delay: -1.1s;
    animation-delay: -1.1s;
}
.c-loading-modal .sk-circle .sk-circle3:before {
    -webkit-animation-delay: -1s;
    animation-delay: -1s;
}
.c-loading-modal .sk-circle .sk-circle4:before {
    -webkit-animation-delay: -0.9s;
    animation-delay: -0.9s;
}
.c-loading-modal .sk-circle .sk-circle5:before {
    -webkit-animation-delay: -0.8s;
    animation-delay: -0.8s;
}
.c-loading-modal .sk-circle .sk-circle6:before {
    -webkit-animation-delay: -0.7s;
    animation-delay: -0.7s;
}
.c-loading-modal .sk-circle .sk-circle7:before {
    -webkit-animation-delay: -0.6s;
    animation-delay: -0.6s;
}
.c-loading-modal .sk-circle .sk-circle8:before {
    -webkit-animation-delay: -0.5s;
    animation-delay: -0.5s;
}
.c-loading-modal .sk-circle .sk-circle9:before {
    -webkit-animation-delay: -0.4s;
    animation-delay: -0.4s;
}
.c-loading-modal .sk-circle .sk-circle10:before {
    -webkit-animation-delay: -0.3s;
    animation-delay: -0.3s;
}
.c-loading-modal .sk-circle .sk-circle11:before {
    -webkit-animation-delay: -0.2s;
    animation-delay: -0.2s;
}
.c-loading-modal .sk-circle .sk-circle12:before {
    -webkit-animation-delay: -0.1s;
    animation-delay: -0.1s;
}
@-webkit-keyframes sk-circleBounceDelay {
    0%, 80%, 100% {
        -webkit-transform: scale(0);
        transform: scale(0);
    }
    40% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}
@keyframes sk-circleBounceDelay {
    0%, 80%, 100% {
        -webkit-transform: scale(0);
        transform: scale(0);
    }
    40% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

.c-pagetop {
    position: sticky;
    bottom: 2.375em;
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 1em;
    z-index: 101;
}
.c-pagetop__link {
    position: absolute;
    bottom: -1.1875em;
    right: 1em;
    width: 2.375em;
    height: 2.375em;
}
.c-pagetop__link img {
    width: 100%;
    height: auto;
}

.c-pagedown {
    position: fixed;
    bottom: 2em;
    right: 2em;
    width: 5em;
    height: 5em;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}
@media screen and (max-width: 900px) {
    .c-pagedown {
        right: 1.7vw;
        bottom: 1.7vw;
        width: 18vw;
        height: 18vw;
    }
}
.c-pagedown.is-hidden {
    pointer-events: none;
    opacity: 0;
}
.c-pagedown__img {
    width: 100%;
    height: 100%;
}

/* input */
.c-check {
    text-align: center;
    line-height: 1;
}
.c-check label {
    position: relative;
}
.c-check label span {
    display: inline-block;
    line-height: 1;
    font-size: 2rem;
    line-height: 1.3;
    font-weight: 700;
    background: url(../img/common/ico_check_off.svg) 0 0/auto 100% no-repeat;
    padding: 0 0 0 2em;
}
@media screen and (max-width: 900px) {
    .c-check label span {
        font-size: 1.6rem;
        padding-left: 2em;
    }
}
.c-check label input {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
}
.c-check label input:checked + span {
    background: url(../img/common/ico_check_on.svg) 0 0/auto 100% no-repeat;
}

/* --------------------------------------------------
  display
-------------------------------------------------- */
@media screen and (max-width: 900px) {
    .u-pc {
        display: none;
    }
}
@media screen and (min-width: 901px) {
    .u-sp {
        display: none;
    }
}
/* --------------------------------------------------
  cleafix
-------------------------------------------------- */
.u-clearfix:after {
    display: block;
    clear: both;
    content: "";
}

/* --------------------------------------------------
  align
-------------------------------------------------- */
.u-alignL {
    text-align: left;
}

.u-alignC {
    text-align: center;
}

.u-alignR {
    text-align: right;
}

/* --------------------------------------------------
  margin
-------------------------------------------------- */
.u-margin.-short {
    margin-bottom: 16px;
}
.u-margin.-middle {
    margin-bottom: 32px;
}
.u-margin.-large {
    margin-bottom: 64px;
}

/* --------------------------------------------------
  padding
-------------------------------------------------- */
.-ratio16-9 {
    padding-top: 56.25%;
}

.-ratio4-3 {
    padding-top: 75%;
}

/* --------------------------------------------------
color
-------------------------------------------------- */
.u-important {
    background: #ED5163 !important;
}

.u-news {
    background: #673510 !important;
}

.u-press {
    background: #808080 !important;
}

.u-media {
    background: #284986 !important;
}

.u-stay {
    background: #1A819B !important;
}

.u-event {
    background: #A77F16 !important;
}

.u-workshop {
    background: #5D8137 !important;
}

.u-project {
    background: #4B165A !important;
}

.u-genre {
    background: #62B20D !important;
}

/* --------------------------------------------------
font
-------------------------------------------------- */
.u-en {
    font-weight: 500;
    font-family: "Barlow", sans-serif;
}
.u-en--l {
    font-weight: 300;
    font-family: "Barlow", sans-serif;
}

/* --------------------------------------------------
modal
-------------------------------------------------- */
.mfp-container {
    padding: 0;
}

.p-consent__txt, .p-consent__txt--peps {
    text-align: center;
    margin-bottom: 1em;
}
@media screen and (max-width: 900px) {
    .p-consent__txt, .p-consent__txt--peps {
        text-align: left;
        font-size: 1.2rem;
    }
}
.p-consent__txt--peps {
    margin-top: 2em;
}
.p-consent__info {
    margin: 2.857em 0 0;
}
@media screen and (max-width: 900px) {
    .p-consent__info {
        margin-top: 8vw;
    }
}
.p-consent-modal {
    max-width: 900px;
    margin: 0 auto;
    padding-top: 3em;
}
@media screen and (max-width: 900px) {
    .p-consent-modal {
        padding: 0;
    }
}
.p-consent-modal__wrap {
    position: relative;
    width: 100%;
    background: #fff;
    border-radius: 0.625em;
    padding: 2.67em 3.33em;
}
@media screen and (max-width: 900px) {
    .p-consent-modal__wrap {
        padding: 2.67em 1em;
    }
}
.p-consent-modal__block {
    border-bottom: 2px solid #AECCD6;
    margin-bottom: 1.5em;
    padding: 1em 0;
}
.p-consent-modal__inner + .p-consent-modal__inner {
    border-top: 1px dashed #DBDBDB;
    margin: 1em 0 0;
    padding: 1em 0 0;
}
.p-consent-modal__sub {
    font-size: 1.8rem;
    font-weight: 700;
}
@media screen and (max-width: 900px) {
    .p-consent-modal__sub {
        font-size: 1.4rem;
    }
}
@media screen and (max-width: 900px) {
    .p-consent-modal__txt {
        font-size: 1.2rem;
    }
}
.p-consent-modal-lists {
    margin: 1em 0 0;
}
.p-consent-modal-lists__list {
    position: relative;
    padding: 0 0 0 1em;
}
@media screen and (max-width: 900px) {
    .p-consent-modal-lists__list {
        font-size: 1.2rem;
    }
}
.p-consent-modal-lists__list::before {
    content: "・";
    position: absolute;
    top: 0;
    left: 0;
}
.p-consent-modal__close {
    position: absolute;
    top: -3em;
    right: 1em;
    width: 2em;
    height: auto;
}
@media screen and (max-width: 900px) {
    .p-consent-modal__close {
        top: -2.5em;
    }
}
.p-consent-modal .c-input-cb {
    margin-top: 1.1em;
}

.p-ekyc-ac {
    margin-top: 3.467em;
}
.p-ekyc-ac__txt + .p-ekyc-ac__txt {
    margin-top: 1.5em;
}
@media screen and (max-width: 900px) {
    .p-ekyc-ac__txt {
        font-size: 1.2rem;
    }
}
.p-ekyc-ac__lists li {
    position: relative;
    font-weight: 700;
    color: #963409;
    padding: 0 0 0 1em;
}
@media screen and (max-width: 900px) {
    .p-ekyc-ac__lists li {
        font-size: 1.2rem;
    }
}
.p-ekyc-ac__lists li::before {
    content: "・";
    position: absolute;
    top: 0;
    left: 0;
}
.p-ekyc__txt, .p-ekyc__txt--center {
    text-align: center;
    margin-bottom: 1em;
}
@media screen and (max-width: 900px) {
    .p-ekyc__txt, .p-ekyc__txt--center {
        text-align: left;
        font-size: 1.2rem;
    }
}
.p-ekyc__txt--center {
    text-align: center;
    margin: 0.8em 0 2em;
}

.p-zip {
    position: relative;
}
@media screen and (max-width: 900px) {
    .p-zip-modal {
        padding: 15vw 2vw 0;
    }
}
.p-zip-modal__txt {
    text-align: center;
}
@media screen and (max-width: 900px) {
    .p-zip-modal__txt {
        text-align: left;
        font-size: 1.2rem;
    }
}
.p-zip-modal__wrap {
    position: relative;
    max-width: 900px;
    background: #fff;
    border-radius: 0.625em;
    padding: 2.67em 3.33em;
    margin: 0 auto;
}
@media screen and (max-width: 900px) {
    .p-zip-modal__wrap {
        padding: 2.67em 1em;
    }
}
.p-zip-modal__list {
    margin: 2.7em 0 0;
}
@media screen and (max-width: 900px) {
    .p-zip-modal__list {
        margin: 1.5em 0 0;
    }
}
.p-zip-modal__btn {
    margin-top: 1em;
}
.p-zip-modal__close {
    position: absolute;
    top: -3em;
    right: 1em;
    width: 2em;
    height: auto;
}
@media screen and (max-width: 900px) {
    .p-zip-modal__close {
        top: -2.5em;
    }
}
.p-zip__count {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    opacity: 0;
}

.p-customer__btn {
    margin-top: 1em;
}
.p-customer-number {
    background: #F7F7F7;
    padding: 1.4em 2em;
    margin-bottom: 1em;
}
@media screen and (max-width: 900px) {
    .p-customer-number {
        padding: 4vw 5.3vw;
    }
}
.p-customer-number__ttl {
    line-height: 1;
    text-align: center;
    margin-bottom: 0.5em;
}
@media screen and (max-width: 900px) {
    .p-customer-number__ttl {
        font-size: 1.2rem;
        text-align: left;
    }
}
.p-customer-number__num {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1;
    text-align: center;
}
@media screen and (max-width: 900px) {
    .p-customer-number__num {
        font-size: 1.6rem;
        text-align: left;
    }
}
.p-customer__notes {
    text-align: center;
    font-weight: 700;
    color: #963409;
    margin-bottom: 1em;
}
@media screen and (max-width: 900px) {
    .p-customer__notes {
        position: relative;
        text-align: left;
        font-size: 1.2rem;
        padding: 0 0 0 1em;
    }
}
.p-customer__notes::before {
    content: "※";
}
@media screen and (max-width: 900px) {
    .p-customer__notes::before {
        position: absolute;
        top: 0;
        left: 0;
    }
}
.p-customer-message {
    margin: 1.5em 0;
}
.p-customer-message__txt {
    text-align: center;
    font-weight: 700;
}
@media screen and (max-width: 900px) {
    .p-customer-message__txt {
        position: relative;
        text-align: left;
        font-size: 1.2rem;
    }
}
.p-customer-message__txt + .p-customer-message__txt {
    margin-top: 0.5em;
}
.p-customer__txt {
    font-size: 1.5rem;
    text-align: center;
    margin-bottom: 1em;
}
@media screen and (max-width: 900px) {
    .p-customer__txt {
        text-align: left;
        font-size: 1.2rem;
    }
}
.p-customer-free {
    border-top: 1px solid #DBDBDB;
    margin: 3.467em 0 0;
    padding: 3.467em 0 0;
}
@media screen and (max-width: 900px) {
    .p-customer-free {
        margin: 10.7vw 0 0;
        padding: 10.7vw 0 0;
    }
}
.p-customer-free__txt {
    font-size: 1.5rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 1em;
}
@media screen and (max-width: 900px) {
    .p-customer-free__txt {
        text-align: left;
        font-size: 1.2rem;
    }
}
.p-customer-free__ttl {
    margin: 0 0 1em;
}
.p-customer-free__time {
    text-align: center;
    margin: 0.5em 0 0;
}
@media screen and (max-width: 900px) {
    .p-customer-free__time {
        font-size: 1.2rem;
        margin: 1em 0 0;
    }
}

.p-identification + .p-identification {
    margin-top: 4em;
}
@media screen and (max-width: 900px) {
    .p-identification + .p-identification {
        margin-top: 10.7vw;
    }
}
.p-identification__btn {
    margin-top: 1em;
}
.p-identification__block {
    margin: 2em 0 0;
}
.p-identification__txt, .p-identification__txt--none, .p-identification__txt--end {
    text-align: center;
    margin: 1em 0 2em;
}
.p-identification__txt--end {
    margin: 1em 0 0;
}
.p-identification__txt--none {
    margin: 0;
}
@media screen and (max-width: 900px) {
    .p-identification__txt, .p-identification__txt--none, .p-identification__txt--end {
        font-size: 1.2rem;
        text-align: left;
    }
}
.p-identification-ac__ttl {
    font-size: 1.8rem;
    font-weight: 700;
    margin: 0 0 0.5em;
}
@media screen and (max-width: 900px) {
    .p-identification-ac__ttl {
        font-size: 1.4rem;
    }
}
@media screen and (max-width: 900px) {
    .p-identification-ac__txt {
        font-size: 1.2rem;
    }
}
.p-identification-document {
    border-top: 1px dashed #DBDBDB;
    border-bottom: 1px dashed #DBDBDB;
    margin: 1.5em 0;
    padding: 1.5em 0;
}
@media screen and (max-width: 900px) {
    .p-identification-document {
        margin: 4.8vw 0;
        padding: 4.8vw 0;
    }
}
.p-identification-document__lists {
    margin: 0.5em 0 0;
}
.p-identification-document__list {
    position: relative;
    padding: 0 0 0 1em;
}
.p-identification-document__list::before {
    content: "・";
    position: absolute;
    top: 0;
    left: 0;
}
.p-identification-document__list + .p-identification-document__list {
    margin-top: 0.5em;
}
.p-identification-document__ttl {
    font-weight: 700;
}
@media screen and (max-width: 900px) {
    .p-identification-document__ttl {
        font-size: 1.2rem;
    }
}
.p-identification-document__notes {
    position: relative;
    padding: 0 0 0 1em;
}
@media screen and (max-width: 900px) {
    .p-identification-document__notes {
        font-size: 1.2rem;
    }
}
.p-identification-document__notes::before {
    content: "※";
    position: absolute;
    top: 0;
    left: 0;
}
.p-identification-document__sub {
    font-weight: 700;
    margin: 2em 0 0.5em;
}
@media screen and (max-width: 900px) {
    .p-identification-document__sub {
        font-size: 1.2rem;
        margin: 2em 0 0.8em;
    }
}
.p-identification-document__other {
    margin: 0.5em 0 0;
}
@media screen and (max-width: 900px) {
    .p-identification-document__other {
        margin: 0.8em 0 0;
    }
}
.p-identification-document__other li {
    position: relative;
    font-weight: 700;
    padding: 0 0 0 1em;
}
@media screen and (max-width: 900px) {
    .p-identification-document__other li {
        font-size: 1.2rem;
    }
}
.p-identification-document__other li::before {
    content: "・";
    position: absolute;
    top: 0;
    left: 0;
}
.p-identification-other__list {
    position: relative;
    padding: 0 0 0 1em;
}
@media screen and (max-width: 900px) {
    .p-identification-other__list {
        font-size: 1.2rem;
    }
}
.p-identification-other__list::before {
    content: "・";
    position: absolute;
    top: 0;
    left: 0;
}
.p-identification-other__list + .p-identification-other__list {
    margin-top: 1em;
}
.p-identification-other__txt {
    margin-top: 0.3em;
}
@media screen and (max-width: 900px) {
    .p-identification-other__txt {
        font-size: 1.2rem;
    }
}
.p-identification-other__notes {
    position: relative;
    margin-top: 0.3em;
    padding-left: 1em;
}
@media screen and (max-width: 900px) {
    .p-identification-other__notes {
        font-size: 1.2rem;
    }
}
.p-identification-other__notes::before {
    content: "※";
    position: absolute;
    top: 0;
    left: 0;
}
.p-identification-end__ttl {
    margin-top: 2em;
}
.p-identification-end__txt {
    text-align: center;
    margin-top: 1.5em;
}
@media screen and (max-width: 900px) {
    .p-identification-end__txt {
        font-size: 1.2rem;
        text-align: left;
    }
}
.p-identification-end__btn {
    margin-top: 1em;
}

.js-card-item,
.js-card-item2 {
    margin-top: 1.25em;
}

.p-agree__btn {
    margin: 1em auto;
}
.p-agree__txt, .p-agree__txt--center {
    text-align: center;
}
@media screen and (max-width: 900px) {
    .p-agree__txt, .p-agree__txt--center {
        font-size: 1.2rem;
        text-align: left;
    }
}
.p-agree__txt--center {
    text-align: center;
}
.p-agree__notes {
    text-align: center;
}
@media screen and (max-width: 900px) {
    .p-agree__notes {
        position: relative;
        font-size: 1.2rem;
        text-align: left;
        padding: 0 0 0 1em;
    }
    .p-agree__notes::before {
        content: "※";
        position: absolute;
        top: 0;
        left: 0;
    }
}
.p-agree__check {
    margin-top: 3.467em;
}
@media screen and (max-width: 900px) {
    .p-agree__check {
        margin-top: 10.7vw;
    }
}
.p-agree__download {
    display: none;
}
.p-agree__block + .p-agree__block {
    margin-top: 3.3em;
    padding-top: 3em;
    border-top: 1px solid #DBDBDB;
}
@media screen and (max-width: 900px) {
    .p-agree__block + .p-agree__block {
        margin-top: 10.7vw;
        padding-top: 10vw;
    }
}
.p-agree__side {
    margin-bottom: 1em;
}
.p-agree-call {
    background: #F7F7F7;
    padding: 1.4em 2em;
    margin-top: 1.6em;
    border-radius: 0.6em;
}
@media screen and (max-width: 900px) {
    .p-agree-call {
        padding: 4vw 5.3vw;
    }
}
.p-agree-call__txt {
    text-align: center;
}
@media screen and (max-width: 900px) {
    .p-agree-call__txt {
        font-size: 1.2rem;
        text-align: left;
    }
}
.p-agree-call__num {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    margin: 0.5em 0;
}
.p-agree-call__num a {
    color: #0000FF !important;
}
@media screen and (max-width: 900px) {
    .p-agree-call__num {
        font-size: 1.6rem;
        text-align: left;
    }
}

.p-filter {
    margin-top: -1.3em;
}
.p-filter-menu {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: end;
    -webkit-box-pack: end;
            justify-content: flex-end;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
}
.p-filter-menu__list {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    font-size: 1.5rem;
    margin-left: 1.3em;
}
@media screen and (max-width: 900px) {
    .p-filter-menu__list {
        font-size: 1.2rem;
    }
}
.p-filter-menu__link {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    color: #555;
    text-decoration: none;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}
.p-filter-menu__link:hover {
    opacity: 0.7;
}
.p-filter-menu__link span {
    -ms-flex-negative: 0;
        flex-shrink: 0;
}
.p-filter-menu__link img {
    width: auto;
    height: 1em;
    margin-right: 0.5em;
}
@media screen and (max-width: 900px) {
    .p-filter-modal {
        padding: 0 2vw 0;
    }
}
.p-filter-modal__wrap {
    position: relative;
    max-width: 900px;
    background: #fff;
    border-radius: 0.625em;
    padding: 2.67em 3.33em;
    margin: 0 auto;
}
@media screen and (max-width: 900px) {
    .p-filter-modal__wrap {
        padding: 2.67em 1em;
    }
}
.p-filter-modal__list {
    margin: 2.7em 0;
}
.p-filter-modal__close {
    position: absolute;
    top: -3em;
    right: 1em;
    width: 2em;
    height: auto;
}
@media screen and (max-width: 900px) {
    .p-filter-modal__close {
        top: -2.5em;
    }
}

.p-login__txt {
    text-align: center;
    margin-bottom: 3em;
}
@media screen and (max-width: 900px) {
    .p-login__txt {
        font-size: 1.2rem;
        text-align: left;
        margin-bottom: 10.7vw;
    }
}

.p-id__border {
    border: 0;
    width: 100%;
    height: 1px;
    background: #DBDBDB;
    margin: 40px 0;
}
@media screen and (max-width: 900px) {
    .p-id__border {
        margin: 10vw 0;
    }
}
.p-id__ac + .p-id__ac {
    margin-top: 30px;
}
@media screen and (max-width: 900px) {
    .p-id__ac + .p-id__ac {
        margin-top: 5vw;
    }
}
.p-id__wrap {
    padding-bottom: 2em;
}
.p-id__ttl {
    font-size: 1.8rem;
    font-weight: 700;
    margin: 0 0 0.5em;
}
@media screen and (max-width: 900px) {
    .p-id__ttl {
        font-size: 1.4rem;
    }
}
.p-id__block + .p-id__block {
    border-top: 1px solid #DBDBDB;
    margin-top: 2em;
    padding-top: 2em;
}
.p-id-dots__list {
    position: relative;
    padding: 0 0 0 1em;
    font-size: 1.6rem;
}
@media screen and (max-width: 900px) {
    .p-id-dots__list {
        font-size: 1.4rem;
    }
}
.p-id-dots__list::before {
    content: "・";
    position: absolute;
    top: 0;
    left: 0;
}
.p-id-num {
    counter-reset: item;
}
.p-id-num__list {
    position: relative;
    padding: 0 0 0 1.2em;
    font-size: 1.6rem;
}
.p-id-num__list + .p-id-num__list {
    margin-top: 0.8em;
}
@media screen and (max-width: 900px) {
    .p-id-num__list {
        font-size: 1.4rem;
    }
}
.p-id-num__list::before {
    position: absolute;
    top: 0;
    left: 0;
    counter-increment: item;
    content: counter(item) ".";
}
.p-id__btn {
    line-height: 1.2;
    margin-top: 1.5em;
}
.p-id__zip {
    margin: 0.5em 0 0;
}
.p-id__zip a {
    display: inline-block;
    position: relative;
    text-decoration: none;
    line-height: 1;
    background: url(../img/common/ico_blank_bl.svg) right 0.1em/0.7em auto no-repeat;
    padding: 0 1em 0 0;
}
@media screen and (max-width: 900px) {
    .p-id__zip a {
        padding: 0 1em 0 0;
    }
}
.p-id__zip a::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: #0000FF;
}
@media screen and (min-width: 901px) {
    .p-id__zip a:hover::after {
        content: none;
    }
}

.js-doc01-item,
.js-doc02-item,
.js-doc02-item2 {
    margin-top: 4em;
}
@media screen and (max-width: 900px) {
    .js-doc01-item,
.js-doc02-item,
.js-doc02-item2 {
        margin-top: 10.7vw;
    }
}

.p-letter__btn {
    margin: 0 auto;
}
.p-letter__back {
    margin-top: 2em;
}
.p-letter__block {
    margin: 2.5em 0 0;
}
@media screen and (max-width: 900px) {
    .p-letter__block {
        margin: 2em 0 0;
    }
}
.p-letter__scroll {
    height: 500px;
    background: #F7F7F7;
    border: 1px solid #DBDBDB;
}
@media screen and (max-width: 900px) {
    .p-letter__scroll {
        height: 100vw;
    }
}
.p-letter-log {
    padding: 1.3em;
}
@media screen and (max-width: 900px) {
    .p-letter-log {
        padding: 1em;
    }
}
.p-letter-log-content, .p-letter-log-content--receive, .p-letter-log-content--send {
    margin: 2em 0 0;
}
.p-letter-log-content:first-child, .p-letter-log-content--receive:first-child, .p-letter-log-content--send:first-child {
    margin-top: 0;
}
.p-letter-log-content__name {
    font-size: 1.3rem;
    margin: 0 0 0.2em;
}
@media screen and (max-width: 900px) {
    .p-letter-log-content__name {
        font-size: 1rem;
    }
}
.p-letter-log-content__inner {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-align: end;
    -webkit-box-align: end;
            align-items: flex-end;
}
.p-letter-log-content__message {
    max-width: 60%;
    font-size: 1.5rem;
    background: #fff;
    border: 1px solid #DBDBDB;
    border-radius: 0.4em;
    padding: 0.8em 1em;
}
@media screen and (max-width: 900px) {
    .p-letter-log-content__message {
        max-width: 80%;
        font-size: 1.2rem;
    }
}
.p-letter-log-content__date {
    font-size: 1rem;
    margin-left: 1em;
}
.p-letter-log-content--send .p-letter-log-content__inner {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-align: end;
    -webkit-box-align: end;
            align-items: flex-end;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-flow: row-reverse;
            flex-flow: row-reverse;
}
.p-letter-log-content--send .p-letter-log-content__message {
    background: #DDF6FF;
}
.p-letter-log-content--send .p-letter-log-content__date {
    margin: 0 1em 0 0;
}
.p-letter-input {
    border: 1px solid #DBDBDB;
    border-top: 0;
    padding: 1em;
}
.p-letter-input__block {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
            justify-content: space-between;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
}
.p-letter-input__txt {
    width: calc(100% - 2.6em);
}
.p-letter-input__input {
    outline: none;
    width: 100%;
    height: 2.875em;
    font-size: 1.6rem;
    border: 1px solid #DBDBDB;
    font-weight: 700;
    border-radius: 0.4em;
    padding: 0 0.8em;
}
.p-letter-input__input::-webkit-input-placeholder {
    color: #DBDBDB;
}
.p-letter-input__input::-moz-placeholder {
    color: #DBDBDB;
}
.p-letter-input__input:-ms-input-placeholder {
    color: #DBDBDB;
}
.p-letter-input__input::-ms-input-placeholder {
    color: #DBDBDB;
}
.p-letter-input__input::placeholder {
    color: #DBDBDB;
}
.p-letter-input__btn {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
}
.p-letter-input__btn img {
    width: 1.6em;
    height: auto;
}
.p-letter-default {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
    height: 500px;
    background: #F7F7F7;
    border: 1px solid #DBDBDB;
}
@media screen and (max-width: 900px) {
    .p-letter-default {
        height: 100vw;
    }
}
.p-letter-default__balloon {
    width: 7.667em;
    height: auto;
}
.p-letter-default__arrow {
    width: 0.9em;
    height: auto;
}
.p-letter-default__txt {
    font-weight: 700;
    text-align: center;
    color: #DBDBDB;
    font-size: 2rem;
    line-height: 1;
    margin: 0.65em 0 2em;
}
@media screen and (max-width: 900px) {
    .p-letter-default__txt {
        font-size: 1.6rem;
    }
}

.mCSB_inside > .mCSB_container {
    margin-right: 16px;
}
@media screen and (max-width: 900px) {
    .mCSB_inside > .mCSB_container {
        margin-right: 10px;
    }
}

@media screen and (max-width: 900px) {
    .mCSB_scrollTools {
        width: 10px;
    }
}
.mCSB_scrollTools .mCSB_draggerContainer {
    top: 0.5em;
    height: calc(100% - 1em);
}
.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
    background: #DBDBDB !important;
    opacity: 1 !important;
}
.mCSB_scrollTools .mCSB_dragger .mCSB_draggerRail {
    background: transparent;
}
.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
    background: #DBDBDB;
}
.mCSB_scrollTools .mCSB_dragger_onDrag .mCSB_dragger_bar {
    background: #DBDBDB;
}