@charset 'UTF-8';
html
{
    font-size: 100%;
}

body
{
    font-size: 14px;
    font-weight: 400;
    line-height: 24px;

    width: 100%;

    transition: all .4s ease-out;

    color: #322341;
    background-color: #fff;
}
body.-fixed
{
    position: fixed !important;
}
@media only screen and (min-width: 960px)
{
    body.-fixed
    {
        position: relative !important;
    }
}

a
{
    cursor: pointer;
    transition: all .4s ease-out;
    text-decoration: none;

    color: #7500ee;
}
@media only screen and (min-width: 960px)
{
    a:hover
    {
        text-decoration: underline;

        color: #7500ee;
    }
    a:hover img
    {
        transition: all .4s ease-out;

        opacity: .8;
    }
}

hr
{
    line-height: 16px;

    position: relative;

    width: 120px;
    height: 16px;
    margin: 24px auto;

    text-align: center;

    border: 0;
    outline: 0;
}
hr:before
{
    position: absolute;
    top: 50%;
    left: calc(50% - 60px);

    width: 120px;
    height: 1px;

    content: '';

    background: #d0cad6;
}
hr:after
{
    font-size: 16px;
    line-height: 16px;

    position: relative;

    display: inline-block;

    padding: 0 .5em;

    content: attr(data-content);

    color: #d0cad6;
    background-color: #fff;
}
hr.-no-border::before
{
    display: none;
}

.btn__wrap .btn
{
    margin: 8px 0;
}

.btn__wrap-clm
{
    padding-bottom: 16px;
}
.btn__wrap-clm .btn
{
    margin-bottom: 24px;
}

.btn__wrap-row
{
    display: flex;

    padding: 48px auto;
}
.btn__wrap-row > *
{
    margin: 0 4px;
}
.btn__wrap-row > *:first-child
{
    margin-left: 0;
}
.btn__wrap-row > *:last-child
{
    margin-right: 0;
}

input.btn,
.btn
{
    font-size: 16px;
    line-height: 26px;
    line-height: 40px;

    display: block;

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

    transition: all .4s ease-out;
    text-align: center;
    text-decoration: none;

    border: none;
    border-radius: 20px;
}
input.btn sup,
.btn sup
{
    font-size: 40%;
    line-height: 16px;
}
input.btn:hover,
.btn:hover
{
    text-decoration: none;
}
@media only screen and (min-width: 960px)
{
    input.btn:hover,
    .btn:hover
    {
        cursor: pointer;
    }
}
input.btn.-primary,
.btn.-primary
{
    color: #fff;
    background-color: #7500ee;
}
@media only screen and (min-width: 960px)
{
    input.btn.-primary:hover,
    .btn.-primary:hover
    {
        color: #7500ee;
        background-color: #cbafe9;
    }
}
input.btn.-secondary,
.btn.-secondary
{
    color: #7500ee;
    border: 1px solid #7500ee;
    background-color: #fff;
}
@media only screen and (min-width: 960px)
{
    input.btn.-secondary:hover,
    .btn.-secondary:hover
    {
        color: #fff;
        border-color: #7500ee;
        background-color: #7500ee;
    }
}
input.btn:disabled,
.btn:disabled
{
    cursor: default;

    color: #c8ced4;
    border: 1px solid #e9ecef;
    background-color: #e9ecef;
}
@media only screen and (min-width: 960px)
{
    input.btn:disabled:hover,
    .btn:disabled:hover
    {
        color: #c8ced4;
        border: 1px solid #e9ecef;
        background-color: #e9ecef;
    }
}
input.btn.-delete,
.btn.-delete
{
    color: #fff;
    background-color: #9d97a3;
}
@media only screen and (min-width: 960px)
{
    input.btn.-delete:hover,
    .btn.-delete:hover
    {
        background-color: #d0cad6;
    }
}
input.btn.-small,
.btn.-small
{
    line-height: 24px;

    width: 122px;
    height: auto;
    margin: 0 auto;

    border-width: 2px;
}

.btn__add
{
    font-size: 14px;
    line-height: 24px;

    width: 100%;
    padding: 24px 0;

    color: #cbafe9;
    border: dashed 1px #cbafe9;
    border-radius: 6px;
    background-color: transparent;

    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}
.btn__add.-list
{
    margin-top: 16px;
    margin-bottom: 48px;
}
.btn__add__wrap
{
    display: flex;

    align-items: center;
    justify-content: center;
}
.btn__add__wrap p
{
    position: relative;
}
.btn__add__wrap p::before
{
    position: absolute;
    left: -2em;

    display: block;

    width: 24px;
    height: 24px;

    content: '';

    background: url(../../images/renewal/regist/icons/plus.svg) no-repeat center center;
    background-color: transparent;
}
.btn__add__wrap p.-inline
{
    display: flex;

    align-items: center;
}
.btn__add__wrap p.-inline::before
{
    position: relative;
    left: auto;
}

.info
{
    font-size: 12px;
    line-height: 22px;

    color: #9d97a3;
}
@media only screen and (min-width: 960px)
{
    .info
    {
        font-size: 14px;
        line-height: 24px;
    }
}
.info a
{
    text-decoration: underline;

    color: #9d97a3;
}

.audio__player
{
    position: fixed;
    z-index: 2;
    bottom: 0;

    width: 100%;

    transition: all .4s ease-out;
}
.audio__player.-hidden
{
    -webkit-transform: translateY(54px);
            transform: translateY(54px);

    opacity: 0;
}

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

.link-outer
{
    padding-right: 12px;

    background: url(../../images/renewal/regist/icons/outer.svg) no-repeat center right;
    background-size: 10px;
}

::-moz-selection
{
    background-color: #cbafe9;
}

::selection
{
    background-color: #cbafe9;
}

::-moz-selection
{
    background-color: #cbafe9;
}

.-pc
{
    display: none !important;
}
@media only screen and (min-width: 960px)
{
    .-pc
    {
        display: block !important;
    }
}

@media only screen and (min-width: 960px)
{
    .-sp
    {
        display: none !important;
    }
}

.-error1
{
    font-weight: 700;

    padding: 8px 0;

    color: #db3644;
}
.-error1.-center
{
    text-align: center;
}
.-error1.-pd1
{
    padding-top: 16px;
}

/* Common Parts
========================================================================== */
/* header */
.header
{
    position: fixed;
    z-index: 3;

    display: flex;

    width: 100%;
    height: 64px;

    transition: all .4s ease-out;

    background-color: #fff;
    box-shadow: 0 5px 8px rgba(0, 0, 0, .1);

    align-items: center;
    justify-content: center;
}
.header.-small
{
    position: relative;

    height: auto;
    padding: 48px 0 8px;

    box-shadow: none;
}
@media only screen and (min-width: 960px)
{
    .header
    {
        height: 70px;

        justify-content: flex-start;
    }
    .header.-small
    {
        height: auto;

        justify-content: center;
    }
}
.header__logo
{
    display: block;

    height: 24px;
    padding: 0 16px;
}
@media only screen and (min-width: 960px)
{
    .header__logo
    {
        padding: 0 32px;
    }
}
.header__back
{
    position: absolute;
    left: 16px;

    display: block;

    width: 24px;
    height: 24px;

    background: url(../../images/renewal/regist/icons/arrow-left.svg) center center no-repeat;
    background-size: 100%;
}
@media only screen and (min-width: 960px)
{
    .header__back
    {
        display: none;
    }
}
.header__nav
{
    position: absolute;
    right: 64px;

    display: flex;

    align-items: center;
}
@media only screen and (min-width: 960px)
{
    .header__nav
    {
        right: 72px;
    }
}
@media only screen and (min-width: 1281px)
{
    .header__nav
    {
        right: 24px;
    }
}
.header__account
{
    font-size: 10px;
    line-height: 20px;
    line-height: 16px;

    display: none;

    padding-right: 16px;

    color: #9d97a3;
}
@media only screen and (min-width: 1281px)
{
    .header__account
    {
        display: block;
    }
}
.header__notice
{
    font-size: 20px;
    line-height: 30px;

    position: relative;
}
.header__notice:after
{
    font-size: 10px;
    line-height: 20px;
    line-height: 19.875px;

    position: absolute;
    top: -4px;
    right: -12px;

    width: 20px;
    height: 20px;

    content: '';
    text-align: center;

    color: #fff;
    border: 1px solid #fff;
    border-radius: 100%;
    background-color: #7500ee;
}
.header__notice__wrap
{
    position: relative;
}
.header__notice__wrap.-active .header__notice__detail
{
    visibility: visible;

    opacity: 1;
}
.header__notice__detail
{
    font-size: 10px;
    line-height: 20px;

    position: absolute;
    top: 100%;
    right: -24px;

    visibility: hidden;

    margin-top: 8.65px;
    padding: 8px;

    transition: all .4s ease-out;
    white-space: nowrap;

    opacity: 0;
    color: #fff;
    border-radius: 4px;
    background-color: #322341;
}
.header__notice__detail::before
{
    position: absolute;
    top: 1px;
    right: 28px;

    display: block;

    content: '';
    -webkit-transform: translate(0, -100%);
            transform: translate(0, -100%);

    border-right: 5px solid transparent;
    border-bottom: 8.65px solid #322341;
    border-left: 5px solid transparent;
}
.header__notice__detail a
{
    display: block;

    text-decoration: underline;

    color: #fff;
}
.header__login
{
    font-size: 12px;
    line-height: 22px;

    display: block;

    padding: 4px 16px;

    color: #fff;
    border-radius: 4px;
    background-color: #7500ee;
}
@media only screen and (min-width: 960px)
{
    .header__login:hover
    {
        color: #7500ee;
        border-color: #cbafe9;
        background-color: #cbafe9;
    }
}
.header__logout
{
    font-size: 12px;
    line-height: 22px;

    display: block;
    display: none;

    margin-left: 24px;
    padding: 4px 16px;

    color: #fff;
    border-radius: 4px;
    background-color: #7500ee;
}
@media only screen and (min-width: 960px)
{
    .header__logout:hover
    {
        color: #7500ee;
        border-color: #cbafe9;
        background-color: #cbafe9;
    }
}
@media only screen and (min-width: 1281px)
{
    .header__logout
    {
        display: block;
    }
}

.nav-trigger
{
    position: absolute;
    right: 16px;

    width: 24px;
    height: 14px;

    cursor: pointer;
}
@media only screen and (min-width: 960px)
{
    .nav-trigger
    {
        right: 24px;
    }
}
@media only screen and (min-width: 1281px)
{
    .nav-trigger
    {
        display: none;
    }
}
.nav-trigger span
{
    position: absolute;

    display: inline-block;

    width: 24px;
    height: 2px;

    transition: all .4s ease-out;

    background-color: #322341;
}
.nav-trigger span:nth-of-type(1)
{
    top: 0;
}
.nav-trigger span:nth-of-type(2)
{
    top: 6px;
}
.nav-trigger span:nth-of-type(3)
{
    top: 12px;
}
.nav-trigger.-active span:nth-of-type(1)
{
    -webkit-transform: translateY(6px) rotate(45deg);
            transform: translateY(6px) rotate(45deg);
}
.nav-trigger.-active span:nth-of-type(2)
{
    width: 0;

    opacity: 0;
}
.nav-trigger.-active span:nth-of-type(3)
{
    -webkit-transform: translateY(-6px) rotate(-45deg);
            transform: translateY(-6px) rotate(-45deg);
}

.nav
{
    position: fixed;
    z-index: 2;
    right: -100vw;

    overflow-y: scroll;

    width: 100%;
    height: 100vh;
    margin-top: 64px;
    padding-bottom: 64px;

    transition: all .4s ease-out;

    background-color: #fff;

    -webkit-overflow-scrolling: touch;
}
@media only screen and (min-width: 960px)
{
    .nav
    {
        width: 50%;
        margin-top: 70px;

        box-shadow: 0 2px 4px rgba(0, 0, 0, .1);
    }
}
@media only screen and (min-width: 1281px)
{
    .nav
    {
        left: 0;

        display: block;

        width: 220px;
        padding: 16px 0;
    }
}
.nav.-active
{
    right: 0;

    transition: all .4s ease-out;
}
.nav__account
{
    display: flex;

    padding: 16px;

    background-color: #fafafa;

    align-items: center;
    justify-content: space-between;
}
@media only screen and (min-width: 960px)
{
    .nav__account
    {
        padding: 16px 24px;
    }
}
.nav__account span
{
    font-size: 10px;
    line-height: 20px;
    line-height: 16px;

    padding-right: 16px;

    word-break: break-all;

    color: #9d97a3;
}
.nav__account .logout
{
    font-size: 12px;
    line-height: 22px;

    display: block;
    display: inline-block;

    padding: 4px 16px;

    color: #fff;
    border-radius: 4px;
    background-color: #7500ee;

    flex-shrink: 0;
}
@media only screen and (min-width: 960px)
{
    .nav__account .logout:hover
    {
        color: #7500ee;
        border-color: #cbafe9;
        background-color: #cbafe9;
    }
}
@media only screen and (min-width: 1281px)
{
    .nav__account
    {
        display: none;
    }
}
.nav dl
{
    border-bottom: 1px solid #e0e0e0;
}
.nav dl.v1-header-lng {
  border-bottom: none;
}
.nav dl.-active dt:after
{
    -webkit-transform: rotate(-180deg);
            transform: rotate(-180deg);
}
@media only screen and (min-width: 1281px)
{
    .nav dl
    {
        border-bottom: none;
    }
}
.nav dt
{
    font-size: 14px;
    font-weight: 700;
    line-height: 24px;

    position: relative;

    padding: 16px;

    cursor: pointer;
}
@media only screen and (min-width: 1281px)
{
    .nav dt
    {
        cursor: default;
    }
}

.nav dt::after
{
    font-family: 'Font Awesome 5 Pro';
    font-weight: 300;
    font-style: normal;
    font-variant: normal;

    position: absolute;
    right: 16px;

    display: inline-block;

    content: '\f107';
    transition: all .4s ease-out;

    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
}
@media only screen and (min-width: 1281px)
{
    .nav dt::after
    {
        content: '';
    }
}
.nav dl.v1-header-lng dt::after {
  content: '';
}

.nav dd
{
    display: none;

    padding: 0 16px 16px 24px;
}
@media only screen and (min-width: 1281px)
{
    .nav dd
    {
        display: block !important;
    }
}
.nav dd a
{
    font-size: 14px;
    line-height: 24px;
    line-height: 40px;

    position: relative;

    display: block;

    color: #9d97a3;
}
.nav dd a::after
{
    font-family: 'Font Awesome 5 Pro';
    font-weight: 300;
    font-style: normal;
    font-variant: normal;

    position: absolute;
    right: 0;

    display: inline-block;

    content: '\f105';

    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
}
@media only screen and (min-width: 960px)
{
    .nav dd a
    {
        line-height: 32px;
    }
    .nav dd a:hover
    {
        color: #7500ee;
    }
}
.nav__config
{
    padding: 32px 16px 0;

    background-color: #fff;
}
.nav__config a
{
    font-size: 14px;
    line-height: 24px;
    line-height: 31.875px;

    display: block;

    max-width: 200px;
    height: 32px;
    margin: 0 auto;
    padding: 0 24px;

    transition: all .4s ease-out;
    text-align: center;
    text-decoration: none;

    color: #7500ee;
    border: 1px solid #7500ee;
    border-radius: 20px;
    background-color: #fff;
}
.nav__config a:hover
{
    text-decoration: none;
}
@media only screen and (min-width: 960px)
{
    .nav__config a:hover
    {
        cursor: pointer;
    }
}
@media only screen and (min-width: 600px)
{
    .nav__config a
    {
        font-size: 16px;
        line-height: 26px;
        line-height: 39.875px;

        height: 40px;
    }
}
@media only screen and (min-width: 960px)
{
    .nav__config a
    {
        padding: 0 32px;
    }
}
@media only screen and (min-width: 960px)
{
    .nav__config a:hover
    {
        color: #fff;
        border-color: #7500ee;
        background-color: #7500ee;
    }
}
@media only screen and (min-width: 1281px)
{
    .nav__config a
    {
        font-size: 14px;
        line-height: 24px;
        line-height: 31.875px;

        height: 32px;
    }
}
.nav__lang
{
    display: flex;

    padding-top: 32px;

    justify-content: center;
}
.nav__lang a
{
    font-size: 12px;
    line-height: 22px;

    display: inline-block;

    height: 32px;
    padding: 4px 16px;

    border: 1px solid #d0cad6;
    border-radius: 4px;
}
.nav__lang a::after
{
    font-family: 'Font Awesome 5 Pro';
    font-weight: 400;
    font-style: normal;
    font-variant: normal;

    display: inline-block;

    padding-left: 8px;

    content: '\f107';

    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
}
.nav__service
{
    padding: 32px 16px 64px;
}
@media only screen and (min-width: 960px)
{
    .nav__service
    {
        padding-bottom: 70px;
    }
}
.nav__service figure
{
    padding-bottom: 16px;

    text-align: center;
}
.nav__service figcaption
{
    font-size: 10px;
    line-height: 20px;
    line-height: 16px;

    color: #9d97a3;
}
@media only screen and (min-width: 1281px)
{
    .nav__service span
    {
        display: block;
    }
}
.nav__service img
{
    height: 56px;
}

/* footer */
.footer
{
    position: relative;

    display: flex;
    flex-direction: column;

    background-color: #fff;
}
.footer__copyright
{
    font-size: 12px;
    line-height: 22px;

    padding: 16px;

    text-align: center;

    color: #9d97a3;
}

/* contents */
.contents
{
    width: 100%;
    margin: 0 auto;
    padding: 64px 0 56px;

    transition: all .4s ease-out;
}
.contents.-static
{
    padding-top: 0;
}
.contents.-welcome
{
    padding-top: 48px;
}
.contents.-np
{
    padding-bottom: 0;
}
.contents__header
{
    padding: 24px 8px 16px;
}
.contents__header__btn
{
    font-size: 14px;
    line-height: 24px;
    line-height: 31.875px;

    display: block;

    max-width: 200px;
    height: 32px;
    margin: 0 auto;
    margin: 0;
    padding: 0 24px;

    transition: all .4s ease-out;
    text-align: center;
    text-decoration: none;

    color: #fff;
    border: 1px solid #7500ee;
    border-radius: 20px;
    background-color: #7500ee;
}
.contents__header__btn:hover
{
    text-decoration: none;
}
@media only screen and (min-width: 960px)
{
    .contents__header__btn:hover
    {
        cursor: pointer;
    }
}
@media only screen and (min-width: 600px)
{
    .contents__header__btn
    {
        font-size: 16px;
        line-height: 26px;
        line-height: 39.875px;

        height: 40px;
    }
}
@media only screen and (min-width: 960px)
{
    .contents__header__btn
    {
        padding: 0 32px;
    }
}
@media only screen and (min-width: 960px)
{
    .contents__header__btn:hover
    {
        color: #fff;
        background-color: #8f22ff;
        border-color: #7500ee;
    }
}
@media only screen and (min-width: 960px)
{
    .contents__header
    {
        padding: 48px 8px 32px;
    }
}
.contents__header h1
{
    font-size: 26px;
    line-height: 36px;

    text-align: center;
}
@media only screen and (min-width: 960px)
{
    .contents__header h1
    {
        font-size: 36px;
        line-height: 46px;
    }
}
.contents__header__subtitle
{
    font-size: 16px;
    line-height: 26px;

    padding-top: 16px;

    text-align: center;
}
.contents__header__text
{
    padding: 16px 0 0;

    text-align: center;

    color: #9d97a3;
}
.contents__header__text.-error
{
    font-weight: 700;

    color: #db3644;
}
.contents__header__text.-small
{
    font-size: 12px;
    line-height: 22px;
}
.contents__header__text.-smallp
{
    padding-top: 16px;
}
@media only screen and (min-width: 960px)
{
    .contents__wrap
    {
        display: flex;

        justify-content: space-between;
    }
}

/* form */
input,
button,
select,
textarea
{
    font-family: 'Roboto', YakuHanJPs, 'Noto Sans JP', sans-serif;
}

button
{
    cursor: pointer;
}

input[type=text],
input[type=email],
input[type=password],
select,
textarea,
.input__text
{
    font-size: 16px;
    line-height: 26px;
    line-height: 40px;

    width: 100%;
    height: 40px;
    padding: 0 0 0 8px;

    color: #322341;
    border: 1px solid #d0cad6;
    border-radius: 6px;
    background-color: #fff;
    box-shadow: none;

    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}
input[type=text].-error,
input[type=email].-error,
input[type=password].-error,
select.-error,
textarea.-error,
.input__text.-error
{
    border-color: #db3644;
    background-color: #faeaeb;
}
input[type=text]::-webkit-input-placeholder,
input[type=email]::-webkit-input-placeholder,
input[type=password]::-webkit-input-placeholder,
select::-webkit-input-placeholder,
textarea::-webkit-input-placeholder,
.input__text::-webkit-input-placeholder
{
    font-size: 14px;
    line-height: 24px;
    line-height: 40px;
}
input[type=text]::-moz-placeholder,
input[type=email]::-moz-placeholder,
input[type=password]::-moz-placeholder,
select::-moz-placeholder,
textarea::-moz-placeholder,
.input__text::-moz-placeholder
{
    font-size: 14px;
    line-height: 24px;
    line-height: 40px;
}
input[type=text]:-ms-input-placeholder,
input[type=email]:-ms-input-placeholder,
input[type=password]:-ms-input-placeholder,
select:-ms-input-placeholder,
textarea:-ms-input-placeholder,
.input__text:-ms-input-placeholder
{
    font-size: 14px;
    line-height: 24px;
    line-height: 40px;
}
input[type=text]::-ms-input-placeholder,
input[type=email]::-ms-input-placeholder,
input[type=password]::-ms-input-placeholder,
select::-ms-input-placeholder,
textarea::-ms-input-placeholder,
.input__text::-ms-input-placeholder
{
    font-size: 14px;
    line-height: 24px;
    line-height: 40px;
}
input[type=text]::placeholder,
input[type=email]::placeholder,
input[type=password]::placeholder,
select::placeholder,
textarea::placeholder,
.input__text::placeholder
{
    font-size: 14px;
    line-height: 24px;
    line-height: 40px;
}
input[type=text]:focus,
input[type=email]:focus,
input[type=password]:focus,
select:focus,
textarea:focus,
.input__text:focus
{
    border-color: #80bdff;
    box-shadow: 0 0 0 2px rgba(128, 189, 255, .3);
}

.input__text
{
    text-align: left;
}

input[type=text]:disabled,
input[type=email]:disabled,
input[type=password]:disabled,
select:disabled,
textarea:disabled,
.input__text:disabled
{
    cursor: default;
    color: #777;
    background-color: #e9ecef;
}

/* 入力欄にフォーカスした時、プレースホルダーを非表示にする。 */
input:focus::placeholder,
textarea:focus::placeholder {
    color: transparent;
    transition: .1s;
}
/* Chrome・Safari用 */
input:focus::-webkit-input-placeholder,
textarea:focus::-webkit-input-placeholder {
    color: transparent;
    transition: .1s;
}
/* Firefox18以前用 */
input:focus:-moz-placeholder,
textarea:focus:-moz-placeholder {
    color: transparent;
    transition: .1s;
}
/* Firefox19以上用 */
input:focus::-moz-placeholder,
textarea:focus::-moz-placeholder {
    color: transparent;
    transition: .1s;
}

textarea
{
    line-height: 24px;

    height: 80px;
}

select
{
    padding-right: 8px;

    background-image: url(../../images/renewal/regist/icons/arrow-down.svg);
    background-repeat: no-repeat;
    background-position: right center;
    background-origin: content-box;
    background-size: 24px auto;
}
select:disabled
{
    opacity: .1;
}

input[type=radio]
{
    width: 15px;
    height: 15px;

    border-radius: 50%;
    background: url(../../images/renewal/regist/icons/radio-unselected.svg) no-repeat center center;

    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}
input[type=radio]:checked
{
    background-image: url(../../images/renewal/regist/icons/radio-selected.svg);
}
input[type=radio]:disabled
{
    background-image: url(../../images/renewal/regist/icons/radio-disabled.svg);
}

input[type=checkbox]
{
    width: 15px;
    height: 15px;
    margin: 0;

    border-radius: 2px;
    background: url(../../images/renewal/regist/icons/checkbox-unselected.svg) no-repeat center;

    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}
input[type=checkbox]:checked
{
    background-image: url(../../images/renewal/regist/icons/checkbox-selected.svg);
}

.form
{
    max-width: 768px;
    margin: 0 auto;
}
.form__content
{
    padding: 0 16px 16px;
}
.form__content.-seq
{
    padding-bottom: 40px;
}
.form__content h2
{
    font-size: 16px;
    line-height: 26px;

    padding-bottom: 16px;
}
@media only screen and (min-width: 960px)
{
    .form__content h2
    {
        font-size: 24px;
        line-height: 34px;
    }
}
.form__caution
{
    font-size: 10px;
    line-height: 20px;

    padding-bottom: 32px;

    color: #9d97a3;
}
.form__caution li
{
    margin-left: 1.5em;

    list-style-type: disc;
}
.form__content__wrap
{
    display: flex;
}
.form__content__wrap.-half
{
    justify-content: space-between;
}
.form__content__wrap.-half .form__content__item
{
    width: 49%;
}
.form__content__wrap.-birthday
{
    justify-content: space-between;
}
.form__content__wrap.-birthday select
{
    width: 32%;
}
.form__content__wrap.-wrap
{
    flex-wrap: wrap;
}
.form__content__wrap-horizontal label
{
    margin-bottom: 24px;
}
.form__content__wrap.-center
{
    justify-content: center;
}
.form__content__title
{
    margin: 0 0 32px;
}
.form__content__title h3
{
    font-size: 16px;
    font-weight: 700;
    line-height: 26px;

    display: flex;

    align-items: center;
}
@media only screen and (min-width: 960px)
{
    .form__content__title h3
    {
        font-size: 24px;
        line-height: 34px;
    }
}
.form__content__title-hint,
.form__content__hint
{
    font-size: 12px;
    line-height: 22px;

    padding-top: 16px;

    color: #9d97a3;
}
.form__content__title-hint .error,
.form__content__hint .error

{
    font-weight: 700;

    color: #db3644;
}
.form__content__item
{
    padding-bottom: 24px;
}
.form__content__item dt
{
    display: flex;

    padding-bottom: 4px;

    align-items: center;
}
.form__content__label {
  cursor: pointer;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-right: 1rem;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
}

.form__content__label.-radio,
.form__content__label.-check
{
    display: flex;

    margin-right: 16px;

    align-items: center;
}
.form__content__label.-radio.-error,
.form__content__label.-check.-error
{
  border-color: #db3644;
}
.form__content__label.-radio input,
.form__content__label.-check input
{
    margin-right: 8px;
}
.form__mark
{
    font-size: 10px;
    line-height: 20px;
    line-height: 16px;

    margin-left: 8px;
    padding: 0 8px;

    flex-shrink: 0;
}
.form__mark.-mandatory
{
    color: #fff;
    background-color: #c51d86;
}
.form__mark.-optional
{
    color: #9d97a3;
    background-color: #f3f2f7;
}
.form__content-alert
{
    font-size: 12px;
    line-height: 22px;

    display: block;

    color: #9d97a3;
}
@media only screen and (min-width: 960px)
{
    .form__content-alert
    {
        font-size: 14px;
        line-height: 24px;
    }
}
.form__content-alert.-hint
{
    color: #9d97a3;
}
.form__content-alert.-error
{
    font-weight: 700;

    padding: 8px 0;

    color: #db3644;
}
.form__content-alert.-warning
{
    font-weight: 700;
    padding: 8px 0;
    color: #f7a155;
}
.promotion .form__content-alert.-error, .promotion .form__content-alert.-warning
{
    padding: 0;
}
.form__text-complete
{
    padding: 16px 0;
}
.form__footer
{
    padding: 0 16px 0;

    text-align: center;
}
.form__footer .info
{
    padding-bottom: 40px;
}
.form__footer__link a
{
    display: block;

    margin: 0 0 40px;
}
.form__picture__wrap
{
    display: flex;
    flex-direction: column;

    margin: 16px 0 32px;
    padding: 0 16px;

    align-items: center;
    justify-content: center;
}
.form__picture__wrap.-album
{
    margin: 8px 0 40px;
}
.form__picture__wrap.-album.-confirm
{
    margin: 0;
    padding: 0 0 24px;
}
.form__picture__wrap.-album.-confirm .form__picture.-album
{
    width: 240px;
    height: 240px;
}
.form__picture__wrap.-album.-confirm.-small
{
    padding: 0;
}
.form__picture__wrap.-small
{
    flex-direction: row;

    margin: 0;
    padding: 16px;

    border: solid 1px #d0cad6;
    border-radius: 6px;

    justify-content: flex-start;
}
.form__picture__wrap.-small p
{
    margin-left: 16px;
}
.form__picture__wrap.-confirm
{
    padding: 0;

    border: none;
}
.form__picture__wrap-help
{
    font-size: 12px;
    line-height: 22px;

    display: block;

    margin-top: 16px;

    align-self: flex-end;
}
.form__picture__wrap.-selectable
{
    cursor: pointer;
}
.form__picture__wrap.-disabled
{
  cursor: default;
  color: #c8ced4;
  border: 1px solid #e9ecef;
  background-color: #e9ecef;
}
.form__picture__wrap .-error
{
  color: #db3644;
}
.form__picture__wrap.-item
{
    margin-bottom: 16px;
}
.form__picture
{
    display: flex;

    width: 192px;
    height: 192px;

    border-radius: 50%;
    background-color: #f3f2f7;
    background-image: none;
    background-position: center center;
    background-size: cover;

    align-items: center;
    flex-shrink: 0;
}
.form__picture .artist_img {
  border-radius: 50%;
}
.form__picture.-small
{
    width: 50px;
    height: 50px;
}
.form__picture.-small .form__picture__text
{
    font-size: 8px;
    line-height: 18px;
    line-height: 12.8px;
}
.form__picture__text
{
    font-size: 12px;
    line-height: 22px;

    width: 100%;

    text-align: center;
}
.form__picture.-album
{
    width: 100%;
    height: 100%;

    border-radius: 0;
}
.form__hide
{
    overflow: hidden;

    height: 0;

    transition: all .4s ease-out;

    opacity: 0;
}
.form__hide.-active
{
    height: auto;

    opacity: 1;
}
.form__hide.-active.-group
{
    overflow: visible;
}
.form__block
{
    padding-bottom: 8px;
}
.form__block.-group
{
    width: calc(100% + 16px);
    margin-bottom: 16px;
    padding: 4px 8px 8px;

    -webkit-transform: translateX(-8px);
            transform: translateX(-8px);

    border: 2px solid #eee;
    border-radius: 8px;
}
@media only screen and (min-width: 960px)
{
    .form__block.-group
    {
        width: calc(100% + 32px);
        padding: 4px 16px 8px;

        -webkit-transform: translateX(-16px);
                transform: translateX(-16px);
    }
}
.form__block.-group .form__content__item:last-of-type
{
    padding-bottom: 4px;
}
.form__block__btn
{
    padding: 16px 0 24px;
}
.form__block__btn.-featuring
{
    padding: 8px 0;
}

.file__uploader
{
    position: relative;

    display: flex;
    flex-direction: column;

    margin-bottom: 48px;

    text-align: center;

    justify-content: center;
}
.file__uploader.-first
{
    margin-bottom: 0;
}
.file__uploader.-album::after,
.file__uploader.-artist::after
{
    position: absolute;

    display: block;

    width: 31px;
    height: 31px;

    content: '';

    border: none;
    border-radius: 50%;
    background: url(../../images/renewal/regist/icons/camera.svg) no-repeat 3px 3px #fff;
}
.file__uploader.-album
{
    width: 240px;
    height: 240px;
    margin-bottom: 16px;
}
.file__uploader.-album::after
{
    right: 10px;
    bottom: 10px;

    content: '';
}
.file__uploader.-artist::after
{
    right: 5px;
    bottom: 5px;

    content: '';
}
.file__uploader.-multi
{
    flex-direction: row;

    justify-content: space-between;
}
.file__uploader__col > .btn__add
{
  color: #7402EE;
  border: dashed 1px #7402EE;
}
.file__uploader__col:first-of-type
{
    margin-bottom: 8px;
}
.file__uploader .file-uploader-input
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    cursor: pointer;

    opacity: 0;
}
.file__uploader.-mandatory::before
{
    font-size: 10px;
    font-weight: normal;
    line-height: 20px;
    line-height: 16px;

    position: absolute;
    top: 1em;
    right: 0;

    padding: 0 8px;

    content: '必須';
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
    white-space: nowrap;

    color: #fff;
    background-color: #c51d86;
}
.file__uploader.-mandatory.-artist::before
{
    right: 1.6em;
}

.radio-box-container
{
    position: relative;

    display: flex;

    margin-bottom: 8px;

    align-items: center;
}
.radio-box-container .radio
{
    position: absolute;
    top: 50%;
    left: 0;

    margin: 0 16px;

    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
}
.radio-box-container .radio:checked + label
{
    border: 1px solid #7500ee;
    background-color: #fbf7ff;
}
.radio-box-container .radio:disabled + label
{
    border: 1px solid #c8ced4;
    background-color: #e9ecef;
}
.radio-box-container .radio.-error
{
    border-color: #db3644;
}
.radio-box-container .radio-box-content
{
    width: 100%;
    padding: 16px;

    border: solid 1px #d0cad6;
    border-radius: 6px;
    background-color: #fafafa;
}

@media only screen and (min-width: 960px)
{
    .form__content.-container
    {
        display: flex;
    }
    .form__content.-container .form__content__title,
    .form__content.-container .form__content__hint
    {
        width: 280px;

        flex-shrink: 0;
    }
    .form__content.-container .form__content__detail
    {
        overflow: hidden;

        width: 100%;
        padding: 0 0 0 60px;

        flex-grow: 1;
    }
    .form__content.-container .form__content__detail.-group
    {
        overflow: visible;
    }
    .form__content.-container.-calendar .form__content__detail
    {
        overflow: visible;
    }
}

/* progress */
.progress
{
    padding: 40px 0 24px;

    border-bottom: 2px solid #f3f2f7;
}
.progress-wrap
{
    position: relative;

    display: flex;

    width: 288px;
    margin: 0 auto;

    text-align: center;

    align-items: flex-start;
    justify-content: space-between;
}
.progress-wrap::before
{
    position: absolute;
    left: 50%;

    display: block;

    width: 70%;
    margin-top: 11.9375px;

    content: '';
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);

    border-top: 1px dashed #d0cad6;
}
.progress dl
{
    position: relative;

    width: 128px;

    flex-shrink: 0;
}
.progress dt
{
    font-size: 12px;
    font-weight: 700;
    line-height: 22px;
    line-height: 24px;

    width: 72px;
    margin: 0 auto;

    color: #fff;
    border-radius: 4px;
    background-color: #d0cad6;
}
.progress dd
{
    padding-top: 4px;

    color: #d0cad6;
}
.progress.state0 dl:first-child dt
{
    background-color: #7500ee;
}
.progress.state0 dl:first-child dd
{
    color: #7500ee;
}
.progress.state1 .progress-wrap::before
{
    border: 1px solid #7500ee;
}
.progress.state1 dl dt
{
    background-color: #7500ee;
}
.progress.state1 dl dd
{
    color: #7500ee;
}

/* song */
.song__item
{
    display: flex;
    overflow: hidden;

    width: 100%;
    padding: 1em 1em;

    border: solid 1px #9d97a3;
    border-radius: 6px;
    background-color: #f3f2f7;

    align-items: center;
    flex-grow: 1;
}
.song__item__icon
{
    margin: 0 8px;
}
.song__item-check__container
{
    display: flex;

    align-items: center;
}
.song__item-check__container input[type=checkbox]
{
    display: none;
}
.song__item-check__container input[type=checkbox]:checked + .song__item-check
{
    background: url(../../images/renewal/regist/icons/check.svg) no-repeat center center;
    background-color: #7500ee;
}
.song__item-check
{
    width: 30px;
    height: 30px;

    border: solid 1px #7500ee;
    background-color: #fff;
}
.song__item-check.-selectable
{
    pointer-events: none;
}
.song__item-icon__image
{
    width: 30px;
    height: 30px;
}
.song__item-titlebar
{
    display: flex;
}
.song__item-title
{
    font-size: 14px;
    line-height: 24px;

    overflow: hidden;

    white-space: nowrap;
    text-overflow: ellipsis;

    flex-grow: 1;
}
.song__item-playbar
{
    display: flex;
    overflow: hidden;
}
.song__item-status
{
    font-size: 14px;
    line-height: 20px;

    display: flex;
    overflow: hidden;

    white-space: nowrap;
    text-overflow: ellipsis;

    color: #322341;

    align-items: center;
}
.song__item-status.song__item-status--edited::before
{
    display: none;
}
.song__item-artist
{
    font-size: 12px;
    line-height: 14px;

    display: flex;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;

    color: #9d97a3;

    align-items: center;
}
.song__item-action
{
    width: 24px;
    height: 24px;
    margin-right: .5em;

    cursor: pointer;

    background-repeat: no-repeat;
    background-position: center center;
    background-size: 24px 24px;
}
.song__item-action.song__item-action__play
{
    width: 30px;
    height: 30px;
    margin-left: 0;

    border-radius: 50%;
    background: url(../../images/renewal/regist/icons/play-white.svg) no-repeat center center #7500ee;

    flex-shrink: 0;
}
.song__item-content
{
    display: flex;
    flex-direction: column;

    min-width: 0;
    margin-left: .5em;

    flex-grow: 1;
}
.song__item-content.-horizontal
{
    margin-left: 0;
}
.song__item-content.-horizontal .song__item-titlebar
{
    overflow: hidden;

    margin-bottom: 0;

    align-items: center;
    flex-grow: 1;
}
.song__item-secondary
{
    display: flex;
    overflow: hidden;

    height: 20px;

    align-items: center;
}
.song__item-secondary .song__item-progressbar
{
    width: 100%;
    height: 2px;

    background-color: #d0cad6;
}
.song__item-secondary .song__item-progressbar .song__item-progressbar__progress
{
    width: 30%;
    height: 100%;

    background-color: #7500ee;
}
.song__item-tertiary
{
    display: flex;
    overflow: hidden;

    height: 14px;

    align-items: center;
}
.song__item.-selectable.-selected
{
    border-color: #7500ee;
    background-color: #fbf7ff;
}
.song__item.-editable
{
    padding-right: 4em;

    cursor: pointer;

    background-color: #fafafa;
}
.song__item.-editable::after
{
    position: absolute;
    top: 50%;
    right: 1em;

    display: block;

    width: 32px;
    height: 32px;

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

    border: 1px solid #db3644;
    border-radius: 50%;
    background: url(../../images/renewal/regist/icons/exclamation.svg) center center no-repeat;
    background-color: #db3644;
}
.song__item.-editable .song__item-title
{
    color: #db3644;
    font-size: 16px;
    font-weight: bold;
}
.song__item.-editable.-edited
{
    border-color: #7500ee;
    background-color: #fbf7ff;
}
.song__item.-editable.-edited::after
{
    border-color: #7500ee;
    background-color: #7500ee;
    background-image: url(../../images/renewal/regist/icons/check.svg);
}
.song__item.-editable.-edited .song__item-title
{
    color: #000;
    font-size: 14px;
}

.song__sortable-list
{
    margin: 0 0 1em;
    padding: 0;

    counter-reset: song-items-counter;
}
.song__sortable-list li
{
    position: relative;

    display: flex;

    margin: .5em 0;

    counter-increment: song-items-counter;

    align-items: center;
}
.song__sortable-list li::before
{
    font-weight: bold;

    margin-right: 1em;

    content: counter(song-items-counter);
}
.song__sortable-list li.sortable-ghost
{
    padding-left: 1em;

    opacity: .5;
}
.song__sortable-list li.sortable-drag::before
{
    content: '';
}

.song__info-isrc,
.song__info-publisher,
.album_creation-direct-upload
{
    margin-bottom: 32px;
    padding: 16px;

    border: 1px solid #d0cad6;
    border-width: 1px 0;
}
.song__info-isrc .form__content,
.song__info-publisher .form__content,
.album_creation-direct-upload .form__content
{
    padding: 0;
}
.song__info-isrc .form__content__title,
.song__info-publisher .form__content__title,
.album_creation-direct-upload .form__content__title
{
    position: relative;

    margin: 0;

    cursor: pointer;
    transition: all .4s ease-out;
}
.song__info-isrc .form__content__title::after,
.song__info-publisher .form__content__title::after,
.album_creation-direct-upload .form__content__title::after
{
    position: absolute;
    top: 50%;
    right: 0;

    display: block;

    width: 24px;
    height: 24px;
    margin-top: -12px;

    content: '';
    transition: all .4s ease-out;

    background: url(../../images/renewal/regist/icons/arrow-down.svg) no-repeat;
    background-size: contain;
}
.song__info-isrc .form__content__title-hint,
.song__info-publisher .form__content__title-hint,
.album_creation-direct-upload .form__content__title-hint
{
    padding-right: 32px;
}
.song__info-isrc.-active .form__content__title,
.song__info-publisher.-active .form__content__title,
.album_creation-direct-upload.-active .form__content__title
{
    margin-bottom: 32px;
}
.song__info-isrc.-active .form__content__title::after,
.song__info-publisher.-active .form__content__title::after,
.album_creation-direct-upload.-active .form__content__title::after
{
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
}

.song__info-publisher
{
    margin-bottom: 64px;
}

.song__btn__wrap
{
    display: flex;
    overflow: hidden;

    margin: 24px 0;
    padding: 16px;

    cursor: pointer;

    border: 1px solid #d0cad6;
    border-radius: 2px;

    align-items: center;
}
.song__btn__wrap p
{
    overflow: hidden;

    white-space: nowrap;
    text-overflow: ellipsis;

    flex-grow: 1;
}
.song__btn__wrap.-small
{
    flex-direction: row;

    padding: 32px 8px;

    border: none;
}
.song__btn__wrap.-small .song__btn
{
    width: 24px;
    height: 24px;

    background-size: 20px 20px;
}
.song__btn__wrap.-confirm
{
    border-radius: 8px;
    background-color: #f3f2f7;
}
.song__btn__wrap.-confirm .song__btn
{
    width: 24px;
    height: 24px;

    background-size: 20px 20px;
}

.song__btn
{
    width: 50px;
    height: 50px;
    margin: 0 16px 0 0;

    border: none;
    border-radius: 50%;
    background: url(../../images/renewal/regist/icons/play-white.svg) no-repeat center center #7500ee;
    background-size: 40px 40px;

    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    flex-shrink: 0;
}

.song__visualizer__wrap
{
    width: 100%;
}

.song__visualizer__time
{
    font-weight: 700;

    text-align: center;

    color: #7500ee;
}
.song__visualizer__time::-moz-selection
{
    background-color: transparent;
}
.song__visualizer__time::selection
{
    background-color: transparent;
}

.bu-tooltip-container
{
    display: flex;
    flex-direction: column;

    max-width: 400px;
    padding: 1em;

    align-items: center;
}
.bu-tooltip-container[x-placement='bottom']
{
    padding-top: 0;
}
.bu-tooltip-container .bu-tooltip-inner
{
    font-size: .75rem;

    padding: 1em;

    color: white;
    border-radius: 6px;
    background-color: black;
}
.bu-tooltip-container .bu-tooltip-arrow
{
    width: 16px;
    height: 16px;

    -webkit-transform: rotate(45deg) translateY(12px);
            transform: rotate(45deg) translateY(12px);

    background-color: black;
}

.bu-tooltip-link
{
    font-size: 12px;

    margin: 1em 0;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    color: #7500ee;
}
.bu-tooltip-link:hover
{
    cursor: pointer;
}

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

    display: flex;
    visibility: hidden;

    width: 100%;
    height: 100%;

    background-color: rgba(11, 11, 11, .8);

    align-items: center;
    justify-content: center;
}
.modal.-active
{
    visibility: visible;

    -webkit-transform: scale(1);
            transform: scale(1);

    opacity: 1;
}
.modal.-active .modal__wrap
{
    -webkit-transform: scale(1);
            transform: scale(1);

    opacity: 1;
}
.modal__wrap
{
    position: relative;

    overflow-y: auto;

    width: 90%;
    max-width: 600px;
    max-height: 100%;
    padding: 0 16px;

    transition: all .4s ease-out;
    -webkit-transform: scale(.5);
            transform: scale(.5);

    opacity: 0;
    border: 1px solid #d0cad6;
    border-radius: 10px;
    background-color: #fff;
}
.modal__title
{
    font-size: 20px;
    line-height: 30px;

    padding: 32px 0;
}
@media only screen and (min-width: 960px)
{
    .modal__title
    {
        font-size: 26px;
        line-height: 38px;
    }
}
.modal__title.-center
{
    text-align: center;
}
.modal__footer
{
    padding: 16px 0;
}
@media only screen and (min-width: 960px)
{
    .modal__footer
    {
        display: flex;

        padding: 32px 0;

        justify-content: center;
    }
}
.modal__footer div
{
    padding: 8px 0;
}
@media only screen and (min-width: 960px)
{
    .modal__footer div
    {
        width: 40%;
        padding: 0 16px;
    }
}
.modal .btn
{
    font-size: 14px;
    line-height: 24px;
    line-height: 32px;

    height: 32px;
}
@media only screen and (min-width: 960px)
{
    .modal .btn
    {
        font-size: 16px;
        line-height: 26px;
        line-height: 40px;

        width: 100%;
        height: 40px;
    }
}
.modal__artists
{
    padding-bottom: 16px;
}
.modal__wrap__upload
{
    padding: 0 0 48px;
}
.modal__form select
{
    margin-bottom: 16px;
}
.modal__form select:last-child
{
    margin-bottom: 0;
}
.modal__close
{
    font-family: Arial,Baskerville,monospace;
    font-size: 28px;
    font-style: normal;
    line-height: 44px;

    position: absolute;
    top: 0;
    right: 0;

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

    text-align: center;
    text-decoration: none;

    opacity: .65;
    color: #333;
    border: 0;
    outline: none;
    background: none;

    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}
@media only screen and (min-width: 960px)
{
    .modal__close
    {
        cursor: pointer;
    }
}

.calendar input
{
    cursor: pointer;
}
.error .calendar input
{
  border-color: #db3644;
  background-color: #faeaeb;
}
.calendar .vdp-datepicker__calendar
{
    font-size: 12px;

    width: 278px;
    margin-top: 8px;
    padding: 8px;

    border-color: #ddd;
    border-radius: 4px;
    position:relative;
    text-align:left;
    z-index: 2;
}
@media (min-width: 564px)
{
    .calendar .vdp-datepicker__calendar
    {
        width: 244px;
    }
}
.calendar .vdp-datepicker__calendar header
{
    font-weight: 700;
    line-height: 24px;

    padding: 1px;
}
.calendar .vdp-datepicker__calendar header .prev,
.calendar .vdp-datepicker__calendar header .next
{
    border-radius: 4px;
}
.calendar .vdp-datepicker__calendar header .prev::after,
.calendar .vdp-datepicker__calendar header .next::after
{
    font-family: 'Font Awesome 5 Pro';
    font-weight: 900;
    font-style: normal;
    font-variant: normal;

    display: inline-block;

    margin: 0;

    text-indent: 0;

    border: none;

    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
}
.calendar .vdp-datepicker__calendar header .prev::after
{
    content: '\f060';
}
.calendar .vdp-datepicker__calendar header .prev.disabled:after
{
    border: none;
}
.calendar .vdp-datepicker__calendar header .next::after
{
    content: '\f061';
}
.calendar .vdp-datepicker__calendar header .next.disabled:after
{
    border: none;
}
.calendar .vdp-datepicker__calendar .cell
{
    line-height: 24px;

    height: auto;

    border-color: transparent !important;
    border-radius: 4px;
}
.calendar .vdp-datepicker__calendar .cell.day-header
{
    font-size: 100%;
}
.calendar .vdp-datepicker__calendar .cell:hover
{
    background-color: #eee;
}
.calendar .vdp-datepicker__calendar .cell.selected
{
    color: #fff;
    background-color: #7500ee !important;
}

@-webkit-keyframes plyr-progress
{
    to
    {
        background-position: 25px 0;
    }
}

@keyframes plyr-progress
{
    to
    {
        background-position: 25px 0;
    }
}

.plyr
{
    font-family: Avenir,'Avenir Next','Helvetica Neue','Segoe UI',Helvetica,Arial,sans-serif;

    position: relative;

    min-width: 200px;
    max-width: 100%;

    direction: ltr;
}

.plyr,
.plyr *,
.plyr ::after,
.plyr ::before
{
    box-sizing: border-box;
}

.plyr a,
.plyr button,
.plyr input,
.plyr label
{
    touch-action: manipulation;
}

.plyr:focus
{
    outline: 0;
}

.plyr audio,
.plyr video
{
    width: 100%;
    height: auto;

    vertical-align: middle;

    border-radius: inherit;
}

.plyr input[type=range]
{
    display: block;

    width: 100%;
    height: 20px;
    margin: 0;
    padding: 0;

    cursor: pointer;

    border: none;
    background: 0 0;

    -webkit-appearance: none;
       -moz-appearance: none;
}

.plyr input[type=range]::-webkit-slider-runnable-track
{
    height: 8px;

    -webkit-user-select: none;
            user-select: none;

    border: 0;
    border-radius: 4px;
    background: 0 0;
}

.plyr input[type=range]::-webkit-slider-thumb
{
    position: relative;

    box-sizing: border-box;
    width: 16px;
    height: 16px;
    margin-top: -4px;

    transition: background .2s ease,border .2s ease,-webkit-transform .2s ease;
    transition: background .2s ease,border .2s ease,transform .2s ease;
    transition: background .2s ease,border .2s ease,transform .2s ease,-webkit-transform .2s ease;

    border: 2px solid transparent;
    border-radius: 100%;
    background: #fff;
    box-shadow: 0 1px 1px rgba(0, 0, 0, .15), 0 0 0 1px rgba(0, 0, 0, .15);

    -webkit-appearance: none;
}

.plyr input[type=range]::-moz-range-track
{
    height: 8px;

    -moz-user-select: none;
         user-select: none;

    border: 0;
    border-radius: 4px;
    background: 0 0;
}

.plyr input[type=range]::-moz-range-thumb
{
    position: relative;

    box-sizing: border-box;
    width: 16px;
    height: 16px;

    transition: background .2s ease,border .2s ease,-webkit-transform .2s ease;
    transition: background .2s ease,border .2s ease,transform .2s ease;
    transition: background .2s ease,border .2s ease,transform .2s ease,-webkit-transform .2s ease;

    border: 2px solid transparent;
    border-radius: 100%;
    background: #fff;
    box-shadow: 0 1px 1px rgba(0, 0, 0, .15), 0 0 0 1px rgba(0, 0, 0, .15);
}

.plyr input[type=range]::-ms-track
{
    height: 8px;

    color: transparent;
    border: 0;
    background: 0 0;
}

.plyr input[type=range]::-ms-fill-upper
{
    height: 8px;

    -ms-user-select: none;
        user-select: none;

    border: 0;
    border-radius: 4px;
    background: 0 0;
}

.plyr input[type=range]::-ms-fill-lower
{
    height: 8px;

    -ms-user-select: none;
        user-select: none;

    border: 0;
    border-radius: 4px;
    background: 0 0;
    background: #3498db;
}

.plyr input[type=range]::-ms-thumb
{
    position: relative;

    box-sizing: border-box;
    width: 16px;
    height: 16px;
    margin-top: 0;

    transition: background .2s ease,border .2s ease,-webkit-transform .2s ease;
    transition: background .2s ease,border .2s ease,transform .2s ease;
    transition: background .2s ease,border .2s ease,transform .2s ease,-webkit-transform .2s ease;

    border: 2px solid transparent;
    border-radius: 100%;
    background: #fff;
    box-shadow: 0 1px 1px rgba(0, 0, 0, .15), 0 0 0 1px rgba(0, 0, 0, .15);
}

.plyr input[type=range]::-ms-tooltip
{
    display: none;
}

.plyr input[type=range]:focus
{
    outline: 0;
}

.plyr input[type=range]::-moz-focus-outer
{
    border: 0;
}

.plyr input[type=range].tab-focus:focus
{
    outline-offset: 3px;
}

.plyr input[type=range]:active::-webkit-slider-thumb
{
    -webkit-transform: scale(1.25);
            transform: scale(1.25);

    border-color: #fff;
    background: #3498db;
}

.plyr input[type=range]:active::-moz-range-thumb
{
    transform: scale(1.25);

    border-color: #fff;
    background: #3498db;
}

.plyr input[type=range]:active::-ms-thumb
{
    transform: scale(1.25);

    border-color: #fff;
    background: #3498db;
}

.plyr--video input[type=range].tab-focus:focus
{
    outline: 1px dotted rgba(255, 255, 255, .5);
}

.plyr--audio input[type=range].tab-focus:focus
{
    outline: 1px dotted rgba(86, 93, 100, .5);
}

.plyr__sr-only
{
    position: absolute !important;

    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);

    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;

    border: 0 !important;
}

.plyr__video-wrapper
{
    position: relative;

    border-radius: inherit;
    background: #000;
}

.plyr__video-embed
{
    z-index: 0;

    overflow: hidden;

    height: 0;
    padding-bottom: 56.25%;

    border-radius: inherit;
}

.plyr__video-embed iframe
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    border: 0;
}

.plyr__video-embed > div
{
    position: relative;

    padding-bottom: 200%;

    -webkit-transform: translateY(-35.95%);
            transform: translateY(-35.95%);
}

.plyr .plyr__video-embed iframe
{
    pointer-events: none;
}

.plyr video::-webkit-media-text-track-container
{
    display: none;
}

.plyr__captions
{
    font-size: 16px;
    font-weight: 400;

    position: absolute;
    bottom: 0;
    left: 0;

    display: none;

    width: 100%;
    padding: 20px;

    transition: -webkit-transform .3s ease;
    transition:         transform .3s ease;
    transition:         transform .3s ease, -webkit-transform .3s ease;
    transition:         transform .3s ease,-webkit-transform .3s ease;
    -webkit-transform: translateY(-40px);
            transform: translateY(-40px);
    text-align: center;

    color: #fff;
}

.plyr__captions span
{
    line-height: 150%;

    padding: 3px 10px;

    border-radius: 2px;
    background: rgba(0, 0, 0, .7);
            box-decoration-break: clone;

    -webkit-box-decoration-break: clone;
}

.plyr__captions span:empty
{
    display: none;
}

@media (min-width: 768px)
{
    .plyr__captions
    {
        font-size: 24px;
    }
}

.plyr--captions-active .plyr__captions
{
    display: block;
}

.plyr--hide-controls .plyr__captions
{
    -webkit-transform: translateY(-15px);
            transform: translateY(-15px);
}

@media (min-width: 1024px)
{
    .plyr--fullscreen-active .plyr__captions
    {
        font-size: 32px;
    }
}

.plyr ::-webkit-media-controls
{
    display: none;
}

.plyr__controls
{
    line-height: 1;

    display: flex;

    text-align: center;
    pointer-events: none;

    align-items: center;
}

.plyr__controls > *
{
    pointer-events: all;
}

.plyr__controls .plyr__progress,
.plyr__controls .plyr__time,
.plyr__controls > button
{
    margin-left: 5px;
}

.plyr__controls .plyr__progress:first-child,
.plyr__controls .plyr__time:first-child,
.plyr__controls > button:first-child
{
    margin-left: 0;
}

.plyr__controls .plyr__volume
{
    margin-left: 5px;
}

.plyr__controls [data-plyr=pause]
{
    margin-left: 0;
}

.plyr__controls button
{
    position: relative;

    display: inline-block;
    overflow: visible;

    padding: 7px;

    cursor: pointer;
    transition: background .3s ease,color .3s ease,opacity .3s ease;
    vertical-align: middle;

    color: inherit;
    border: 0;
    border-radius: 3px;
    background: 0 0;

    flex-shrink: 0;
}

.plyr__controls button svg
{
    display: block;

    width: 18px;
    height: 18px;

    fill: currentColor;
}

.plyr__controls button:focus
{
    outline: 0;
}

.plyr__controls .icon--captions-on,
.plyr__controls .icon--exit-fullscreen,
.plyr__controls .icon--muted
{
    display: none;
}

@media (min-width: 480px)
{
    .plyr__controls .plyr__progress,
    .plyr__controls .plyr__time,
    .plyr__controls > button
    {
        margin-left: 10px;
    }
}

.plyr--hide-controls .plyr__controls
{
    pointer-events: none;

    opacity: 0;
}

.plyr--video .plyr__controls
{
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: 0;
    left: 0;

    padding: 50px 10px 10px;

    transition: opacity .3s ease;

    color: #fff;
    border-bottom-right-radius: inherit;
    border-bottom-left-radius: inherit;
    background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, .5));
}

.plyr--video .plyr__controls button.tab-focus:focus,
.plyr--video .plyr__controls button:hover
{
    color: #fff;
    background: #3498db;
}

.plyr--audio .plyr__controls
{
    padding: 10px;

    color: #565d64;
    border: 1px solid #dbe3e8;
    border-radius: inherit;
    background: #fff;
}

.plyr--audio .plyr__controls button.tab-focus:focus,
.plyr--audio .plyr__controls button:hover
{
    color: #fff;
    background: #3498db;
}

.plyr__play-large
{
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;

    display: none;

    padding: 10px;

    transition: all .3s ease;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);

    color: #fff;
    border: 4px solid currentColor;
    border-radius: 100%;
    background: #3498db;
    box-shadow: 0 1px 1px rgba(0, 0, 0, .15);
}

.plyr__play-large svg
{
    position: relative;
    left: 2px;

    display: block;

    width: 20px;
    height: 20px;

    fill: currentColor;
}

.plyr__play-large:focus
{
    outline: 1px dotted rgba(255, 255, 255, .5);
}

.plyr .plyr__play-large
{
    display: inline-block;
}

.plyr--audio .plyr__play-large
{
    display: none;
}

.plyr--playing .plyr__play-large
{
    visibility: hidden;

    opacity: 0;
}

.plyr--playing .plyr__controls [data-plyr=play],
.plyr__controls [data-plyr=pause]
{
    display: none;
}

.plyr--playing .plyr__controls [data-plyr=pause]
{
    display: inline-block;
}

.plyr--captions-active .plyr__controls .icon--captions-on,
.plyr--fullscreen-active .icon--exit-fullscreen,
.plyr--muted .plyr__controls .icon--muted
{
    display: block;
}

.plyr--captions-active .plyr__controls .icon--captions-on + svg,
.plyr--fullscreen-active .icon--exit-fullscreen + svg,
.plyr--muted .plyr__controls .icon--muted + svg
{
    display: none;
}

.plyr [data-plyr=captions],
.plyr [data-plyr=fullscreen]
{
    display: none;
}

.plyr--captions-enabled [data-plyr=captions],
.plyr--fullscreen-enabled [data-plyr=fullscreen]
{
    display: inline-block;
}

.plyr__tooltip
{
    font-size: 14px;
    line-height: 1.3;

    position: absolute;
    z-index: 2;
    bottom: 100%;

    margin-bottom: 10px;
    padding: 5px 7.5px;

    transition: opacity .2s .1s ease,-webkit-transform .2s .1s ease;
    transition: transform .2s .1s ease,opacity .2s .1s ease;
    transition: transform .2s .1s ease,opacity .2s .1s ease,-webkit-transform .2s .1s ease;
    -webkit-transform: translate(-50%, 10px) scale(.8);
            transform: translate(-50%, 10px) scale(.8);
    -webkit-transform-origin: 50% 100%;
            transform-origin: 50% 100%;
    pointer-events: none;

    opacity: 0;
    color: #fff;
    border-radius: 3px;
    background: rgba(0, 0, 0, .7);
}

.plyr__tooltip::before
{
    position: absolute;
    z-index: 2;
    bottom: -4px;
    left: 50%;

    width: 0;
    height: 0;

    content: '';
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);

    border-top: 4px solid rgba(0, 0, 0, .7);
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
}

.plyr button.tab-focus:focus .plyr__tooltip,
.plyr button:hover .plyr__tooltip,
.plyr__tooltip--visible
{
    -webkit-transform: translate(-50%, 0) scale(1);
            transform: translate(-50%, 0) scale(1);

    opacity: 1;
}

.plyr button:hover .plyr__tooltip
{
    z-index: 3;
}

.plyr__controls button:first-child .plyr__tooltip
{
    left: 0;

    -webkit-transform: translate(0, 10px) scale(.8);
            transform: translate(0, 10px) scale(.8);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
}

.plyr__controls button:first-child .plyr__tooltip::before
{
    left: 16px;
}

.plyr__controls button:last-child .plyr__tooltip
{
    right: 0;

    -webkit-transform: translate(0, 10px) scale(.8);
            transform: translate(0, 10px) scale(.8);
    -webkit-transform-origin: 100% 100%;
            transform-origin: 100% 100%;
}

.plyr__controls button:last-child .plyr__tooltip::before
{
    right: 16px;
    left: auto;

    -webkit-transform: translateX(50%);
            transform: translateX(50%);
}

.plyr__controls button:first-child .plyr__tooltip--visible,
.plyr__controls button:first-child.tab-focus:focus .plyr__tooltip,
.plyr__controls button:first-child:hover .plyr__tooltip,
.plyr__controls button:last-child .plyr__tooltip--visible,
.plyr__controls button:last-child.tab-focus:focus .plyr__tooltip,
.plyr__controls button:last-child:hover .plyr__tooltip
{
    -webkit-transform: translate(0, 0) scale(1);
            transform: translate(0, 0) scale(1);
}

.plyr__progress
{
    position: relative;

    display: none;

    flex: 1;
}

.plyr__progress input[type=range]
{
    position: relative;
    z-index: 2;
}

.plyr__progress input[type=range]::-webkit-slider-runnable-track
{
    background: 0 0;
}

.plyr__progress input[type=range]::-moz-range-track
{
    background: 0 0;
}

.plyr__progress input[type=range]::-ms-fill-upper
{
    background: 0 0;
}

.plyr__progress .plyr__tooltip
{
    left: 0;
}

.plyr .plyr__progress
{
    display: inline-block;
}

.plyr__progress--buffer,
.plyr__progress--played,
.plyr__volume--display
{
    position: absolute;
    top: 50%;
    left: 0;

    width: 100%;
    height: 8px;
    margin: -4px 0 0;
    padding: 0;

    vertical-align: top;

    border: none;
    border-radius: 100px;

    -webkit-appearance: none;
       -moz-appearance: none;
}

.plyr__progress--buffer::-webkit-progress-bar,
.plyr__progress--played::-webkit-progress-bar,
.plyr__volume--display::-webkit-progress-bar
{
    background: 0 0;
}

.plyr__progress--buffer::-webkit-progress-value,
.plyr__progress--played::-webkit-progress-value,
.plyr__volume--display::-webkit-progress-value
{
    min-width: 8px;

    border-radius: 100px;
    background: currentColor;
}

.plyr__progress--buffer::-moz-progress-bar,
.plyr__progress--played::-moz-progress-bar,
.plyr__volume--display::-moz-progress-bar
{
    min-width: 8px;

    border-radius: 100px;
    background: currentColor;
}

.plyr__progress--buffer::-ms-fill,
.plyr__progress--played::-ms-fill,
.plyr__volume--display::-ms-fill
{
    border-radius: 100px;
}

.plyr__progress--played,
.plyr__volume--display
{
    z-index: 1;

    transition: none;

    color: #3498db;
    background: 0 0;
}

.plyr__progress--played::-webkit-progress-value,
.plyr__volume--display::-webkit-progress-value
{
    min-width: 8px;
    max-width: 99%;

    transition: none;

    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.plyr__progress--played::-moz-progress-bar,
.plyr__volume--display::-moz-progress-bar
{
    min-width: 8px;
    max-width: 99%;

    transition: none;

    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.plyr__progress--played::-ms-fill,
.plyr__volume--display::-ms-fill
{
    display: none;
}

.plyr__progress--buffer::-webkit-progress-value
{
    transition: width .2s ease;
}

.plyr__progress--buffer::-moz-progress-bar
{
    transition: width .2s ease;
}

.plyr__progress--buffer::-ms-fill
{
    transition: width .2s ease;
}

.plyr--video .plyr__progress--buffer,
.plyr--video .plyr__volume--display
{
    background: rgba(255, 255, 255, .25);
}

.plyr--video .plyr__progress--buffer
{
    color: rgba(255, 255, 255, .25);
}

.plyr--audio .plyr__progress--buffer,
.plyr--audio .plyr__volume--display
{
    background: rgba(198, 214, 219, .66);
}

.plyr--audio .plyr__progress--buffer
{
    color: rgba(198, 214, 219, .66);
}

.plyr--loading .plyr__progress--buffer
{
    -webkit-animation: plyr-progress 1s linear infinite;
            animation: plyr-progress 1s linear infinite;

    color: transparent;
    background-image: linear-gradient(-45deg, rgba(0, 0, 0, .15) 25%, transparent 25%, transparent 50%, rgba(0, 0, 0, .15) 50%, rgba(0, 0, 0, .15) 75%, transparent 75%, transparent);
    background-repeat: repeat-x;
    background-size: 25px 25px;
}

.plyr--video.plyr--loading .plyr__progress--buffer
{
    background-color: rgba(255, 255, 255, .25);
}

.plyr--audio.plyr--loading .plyr__progress--buffer
{
    background-color: rgba(198, 214, 219, .66);
}

.plyr__time
{
    font-size: 14px;

    display: inline-block;

    vertical-align: middle;
}

.plyr__time + .plyr__time
{
    display: none;
}

@media (min-width: 768px)
{
    .plyr__time + .plyr__time
    {
        display: inline-block;
    }
}

.plyr__time + .plyr__time::before
{
    margin-right: 10px;

    content: '\2044';
}

.plyr__volume
{
    display: none;
}

.plyr .plyr__volume
{
    position: relative;

    flex: 1;
}

.plyr .plyr__volume input[type=range]
{
    position: relative;
    z-index: 2;
}

@media (min-width: 480px)
{
    .plyr .plyr__volume
    {
        display: block;

        max-width: 60px;
    }
}

@media (min-width: 768px)
{
    .plyr .plyr__volume
    {
        max-width: 100px;
    }
}

.plyr--is-ios .plyr__volume,
.plyr--is-ios [data-plyr=mute]
{
    display: none !important;
}

.plyr--fullscreen-active
{
    width: 100%;
    height: 100%;

    border-radius: 0 !important;
    background: #000;
}

.plyr--fullscreen-active video
{
    height: 100%;
}

.plyr--fullscreen-active .plyr__video-wrapper
{
    width: 100%;
    height: 100%;
}

.plyr--fullscreen-active .plyr__video-embed
{
    overflow: visible;
}

.plyr--fullscreen-active.plyr--vimeo .plyr__video-wrapper
{
    top: 50%;

    height: 0;

    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
}

.plyr--fullscreen-fallback.plyr--fullscreen-active
{
    position: fixed;
    z-index: 10000000;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

/* page
========================================================================== */
/* registration */
.social__title
{
    font-size: 16px;
    line-height: 26px;

    padding: 16px 0 8px;

    text-align: center;
}
@media only screen and (min-width: 960px)
{
    .social__title
    {
        font-size: 24px;
        line-height: 34px;
    }
}

.social__wrap
{
    display: flex;

    justify-content: center;
}
.social__wrap button
{
    width: 48px;
    height: 48px;
    margin: 0 8px;
    padding: 0;

    border: 0;
    border-radius: 100px;
    background: center center no-repeat;

    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}
.social__wrap button:focus
{
    outline: none;
}
.social__wrap button[data-type='twitter']
{
    background-color: #1fa1f3;
    background-image: url(../../images/renewal/regist/icons/social-twitter.svg);
    background-size: 26px 26px;
}
.social__wrap button[data-type='facebook']
{
    background-color: #1877f2;
    background-image: url(../../images/renewal/regist/icons/social-facebook.svg);
    background-size: 100%;
}
.social__wrap button[data-type='line']
{
    background-color: #00b902;
    background-image: url(../../images/renewal/regist/icons/social-line.svg);
    background-size: 36px 36px;
}

.welcome
{
    max-width: 768px;
    margin: 0 auto;
    padding: 0 16px;
}
.welcome__title
{
    font-size: 20px;
    line-height: 30px;

    padding: 0 0 32px;

    text-align: center;
}
@media only screen and (min-width: 960px)
{
    .welcome__title
    {
        font-size: 28px;
        line-height: 38px;
    }
}
.welcome__illustration
{
    max-width: 380px;
    margin: 0 auto;
    padding: 0 0 40px;

    text-align: center;
}
.welcome__description
{
    font-size: 22px;
    line-height: 32px;

    padding-bottom: 24px;

    text-align: center;

    color: #7500ee;
}
.welcome__text
{
    padding: 0 32px 48px;

    color: #9d97a3;
}

.ready
{
    max-width: 768px;
    margin: 0 auto;
    padding: 0 16px;
}
.ready__content
{
    margin: 32px 0 72px;
    padding: 0 16px 32px;

    border: 1px solid #d0cad6;
    border-radius: 8px;
}
.ready__content h3
{
    font-size: 20px;
    font-weight: 700;
    line-height: 30px;

    margin: 0 auto;

    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    text-align: center;

    background-color: #fff;
}
.ready__content__wrap
{
    width: 280px;
    margin: 0 auto;
    padding: 0 16px 16px;
}
@media only screen and (min-width: 600px)
{
    .ready__content__wrap
    {
        display: flex;

        width: auto;

        align-items: center;
    }
}
.ready__content__wrap figure
{
    margin: 0;

    text-align: center;

    flex-shrink: 0;
}
@media only screen and (min-width: 600px)
{
    .ready__content__wrap figure
    {
        width: 280px;
    }
}
.ready__content__wrap dl
{
    padding: 8px 16px 16px;
}
.ready__content__wrap dt
{
    font-size: 16px;
    font-weight: 700;
    line-height: 26px;
}
.ready__content__wrap dd
{
    font-size: 12px;
    line-height: 22px;
}
.ready__info
{
    padding: 24px 16px;

    text-align: left;

    border-radius: 6px;
    background-color: #fbf7ff;
}
.ready__info li
{
    padding-left: 32px;

    background: url(../../images/renewal/regist/ready/icon.png) left .25em no-repeat;
    background-size: 24px auto;
}
.ready__title
{
    font-size: 26px;
    line-height: 36px;

    margin: 48px 0;

    text-align: center;
}
@media only screen and (min-width: 960px)
{
    .ready__title
    {
        font-size: 36px;
        line-height: 46px;
    }
}
.ready__content2
{
    margin: 32px 0 80px;
}
.ready__content2:last-of-type
{
    margin-bottom: 48px;
}
.ready__content2 h3
{
    font-size: 20px;
    font-weight: 700;
    line-height: 30px;

    margin-bottom: 24px;

    text-align: center;
}
@media only screen and (min-width: 600px)
{
    .ready__content2__wrap
    {
        display: flex;

        align-items: flex-start;
    }
    .ready__content2__wrap .ready__content2__item
    {
        width: 50%;
    }
    .ready__content2__wrap .ready__content2__item dl
    {
        width: 60%;
        margin: 0 auto;
    }
}
.ready__content2__item
{
    text-align: center;
}
.ready__content2__item dl
{
    font-weight: 700;
}
.ready__content2__item figure
{
    width: 280px;
    margin: 0 auto;
}

.artist-registration__info
{
    margin-bottom: 48px;
    padding: 24px 16px;

    text-align: left;

    border-radius: 6px;
    background-color: #fbf7ff;
}
.artist-registration__info li
{
    margin-bottom: 16px;
    padding-left: 32px;

    background: url(../../images/renewal/regist/ready/icon.png) left .25em no-repeat;
    background-size: 24px auto;
}
.artist-registration__info p
{
    font-size: 12px;
    line-height: 22px;

    padding-left: 32px;
}

/* upload */
.music-upload
{
    padding: 0 16px;
}
.music-upload__wrap
{
    padding: 16px 0 0;
}
.music-upload__button
{
    position: relative;

    display: flex;
    flex-direction: column;

    width: 100%;
    padding: 24px 48px;

    cursor: pointer;

    border: 1px dashed #cbafe9;
    border-radius: 6px;
    background-color: transparent;
}
.music-upload__title
{
    font-size: 14px;
    font-weight: 700;
    line-height: 24px;

    margin: 16px 0 8px;

    color: #cbafe9;
}
.music-upload__title::before
{
    display: inline-block;

    width: 20px;
    height: 20px;
    margin-right: 8px;

    content: '';

    background: url(../../images/renewal/regist/icons/plus.svg) no-repeat center 4px;
    background-size: contain;
}
.music-upload__title span
{
    font-size: 12px;
    line-height: 22px;
}
.music-upload__description
{
    color: #9d97a3;
}
.music-upload__song
{
    padding: 16px 0 0;
}
.music-upload__song__title
{
    font-size: 16px;
    line-height: 26px;

    padding-bottom: 16px;
}
@media only screen and (min-width: 960px)
{
    .music-upload__song__title
    {
        font-size: 24px;
        line-height: 34px;
    }
}
.music-upload__song__list
{
    padding-bottom: 8px;
}
.music-upload__song__list li
{
    padding-bottom: 8px;
}

/* summary */
.summary
{
    padding-top: 16px;
}
.summary h2
{
    font-size: 20px;
    font-weight: 700;
    line-height: 30px;

    overflow: hidden;

    white-space: nowrap;
    text-overflow: ellipsis;
}
@media only screen and (min-width: 960px)
{
    .summary h2
    {
        font-size: 28px;
        line-height: 38px;
    }
}
.summary h3
{
    font-size: 16px;
    font-weight: 700;
    line-height: 26px;

    padding-bottom: 8px;
}
@media only screen and (min-width: 960px)
{
    .summary h3
    {
        font-size: 24px;
        line-height: 34px;
    }
}
.summary h4
{
    font-size: 14px;
    font-weight: 700;
    line-height: 24px;
}
.summary h5
{
    font-size: 14px;
    font-weight: 700;
    line-height: 24px;
}
.summary__final
{
    padding-top: 24px;

    border-top: 1px solid #d0cad6;
}
.summary__wrap
{
    padding: 0 16px 24px;
}
.summary__wrap__header
{
    display: flex;

    padding-bottom: 8px;

    justify-content: space-between;
}
.summary__wrap .form__content
{
    padding: 16px 0;
}
.auto__cap__notice {
  margin-bottom: 24px;
  padding: 16px;
  border: 1px solid #d0cad6;
  border-radius: 8px;
}
.auto__cap__notice
{
    font-size: 14px;
    font-weight: normal;
    line-height: 24px;

    display: flex;

    white-space: nowrap;

    align-items: center;
}
.auto__cap__notice::before
{
    color: #7500ee;
    text-align: center;
    width: 20px;
    height: 24px;
    font-size: 24px;
    margin-right: 4px;

    content: '\f12a';
    font-family: FontAwesome;
}
.summary__group
{
    padding: 16px;

    border: 1px solid #d0cad6;
    border-radius: 8px;
}
.summary__group .summary__section:last-child
{
    margin-bottom: 16px;
}
.summary__group .summary__section.-single:last-child
{
    margin-bottom: 0;
}
.summary__text
{
    padding: 0 16px 32px;
}
.summary__edit
{
    font-size: 14px;
    line-height: 24px;

    display: flex;

    white-space: nowrap;

    align-items: center;
    justify-content: flex-end;
}
.summary__edit::before
{
    width: 24px;
    height: 24px;
    margin-right: 8px;

    content: '';

    background: url(../../images/renewal/regist/icons/edit.svg) no-repeat center center;
    background-size: contain;
}
.summary__continue
{
    padding-bottom: 24px;
}

.summary__song
{
    margin-bottom: 8px;
}
.summary__song__header
{
    display: flex;

    cursor: pointer;

    align-items: center;
}
.summary__song__header::after
{
    display: block;

    width: 24px;
    height: 24px;
    margin-left: auto;

    content: '';
    transition: all .4s ease-out;

    background: url(../../images/renewal/regist/icons/arrow-down.svg) no-repeat center center;

    flex-shrink: 0;
}
.summary__song__header h3
{
  overflow: hidden;

  display: flex;
  padding-bottom: 0;

  white-space: nowrap;
  text-overflow: ellipsis;

  -webkit-align-items: center;
  align-items: center;
  -webkit-box-align: center;
  -webkit-box-flex: 1;
  -ms-flex-align: center;

  flex-grow: 1;
}
.summary__song__number
{
  padding-right: 1rem;
}
.summary__song__name__field
{
  display: flex;
  flex-flow: column;
}
.summary__song__artist__name
{
  color: #9d97a3;
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
}
@media only screen and (min-width: 960px)
{
  .summary__song__artist__name
  {
    font-size: 16px;
    line-height: 20px;
  }
}
.summary__song__wrap
{
    overflow: hidden;

    height: 0;

    transition: all .4s ease-out;

    opacity: 0;
}
.summary__song.-active .summary__song__header::after
{
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
}
.summary__song.-active .summary__song__wrap
{
    height: auto;
    padding-top: 16px;

    opacity: 1;
}

.summary__section
{
    margin-bottom: 24px;
    padding: 16px;

    border: 1px solid #d0cad6;
    border-radius: 8px;
}
.summary__section.-single
{
    margin-bottom: 0;
}
.summary__section p
{
    padding-bottom: 16px;
}
.summary__section p:last-child
{
    padding-bottom: 0;
}
.summary__section__block
{
    padding: 0 0 32px;
}
.summary__section__block:last-child
{
    padding-bottom: 0;
}
.summary__section .summary__stores__item:last-child
{
    margin-bottom: 0;
}

.summary__stores__item
{
    display: flex;

    margin: 0 0 12px;

    align-items: flex-start;
}
.summary__stores__item__logo
{
    width: 20px;
    margin-right: 8px;
}

.summary__info
{
    display: flex;

    margin-bottom: 32px;
    padding: 24px 16px 24px 24px;

    border: 1px solid #e0e0e0;
    border-radius: 6px;
    background-color: #fafafa;

    align-items: center;
}
.summary__info.-important
{
    display: block;

    margin-bottom: 32px;
    padding: 16px 24px 24px;

    color: #fff;
    border-color: #db3644;
    background-color: #db3644;
}
@media only screen and (min-width: 600px)
{
    .summary__info.-important p
    {
        text-align: center;
    }
}
.summary__info.-important span
{
    font-size: 16px;
    font-weight: 700;
    line-height: 26px;
}
@media only screen and (min-width: 960px)
{
    .summary__info.-important span
    {
        font-size: 24px;
        line-height: 34px;
    }
}
.summary__info__title
{
    font-size: 18px;
    font-weight: 700;
    line-height: 28px;

    padding-bottom: 16px;

    text-align: center;
}
.summary__info input[type=checkbox]
{
    margin-right: 16px;

    flex-shrink: 0;
}
.summary__info p
{
    flex-grow: 1;
}

.summary__info__check
{
    position: relative;

    display: flex;

    align-items: center;
    justify-content: center;
}
.summary__info__check .checkbox
{
    position: absolute;
    top: 0;
    left: 0;

    display: flex;

    height: 100%;
    margin: 0 16px;

    align-items: center;
}
.summary__info__check__content
{
    font-size: 14px;
    line-height: 24px;

    padding-left: 24px;
}
.summary__caution
{
    padding-top: 24px;
}
.summary__cancel
{
    font-size: 12px;
    line-height: 22px;
    line-height: 26px;

    padding-bottom: 16px;

    color: #9d97a3;
}
@media only screen and (min-width: 960px)
{
    .summary__cancel
    {
        font-size: 14px;
        line-height: 24px;
    }
}
@media only screen and (min-width: 960px)
{
    .summary__cancel
    {
        line-height: 34px;
    }
}
.summary__cancel__condition
{
    position: relative;

    padding-left: 1em;
}
.summary__cancel__condition::before
{
    position: absolute;
    left: 0;

    content: '・';
}
.summary__cancel__important
{
    color: #db3644;
}

/* stores */
.stores
{
    padding-top: 16px;
}
.stores__wrap
{
    padding-bottom: 24px;
}
.stores__wrap .form__content
{
    padding-bottom: 32px;
}
.stores__wrap .form__content:last-child
{
    padding-bottom: 8px;
}
.stores__wrap__title
{
    font-size: 16px;
    font-weight: 700;
    line-height: 26px;

    margin: 0 0 16px;
    padding: 0 16px;
}
@media only screen and (min-width: 960px)
{
    .stores__wrap__title
    {
        font-size: 24px;
        line-height: 34px;
    }
}

.stores__select
{
    margin-bottom: -1px;
}
.stores__select__wrap header
{
    font-size: 1rem;
    font-size: 16px;
    line-height: 26px;

    display: flex;

    padding: 16px;

    cursor: pointer;

    border: 1px solid #d0cad6;
    border-width: 1px 0;
    background-color: #fff;

    align-items: center;
}
@media only screen and (min-width: 960px)
{
    .stores__select__wrap header
    {
        font-size: 24px;
        line-height: 34px;
    }
}
.stores__select__wrap header::after
{
    display: block;

    width: 24px;
    height: 24px;
    margin-left: auto;

    content: '';

    background: url(../../images/renewal/regist/icons/arrow-down.svg) no-repeat center center;
}
.stores__select__wrap.-open header::after
{
    background-image: url(../../images/renewal/regist/icons/arrow-up.svg);
}
.stores__select__content
{
    padding: 24px 16px;

    border-bottom: 1px solid #d0cad6;
    background-color: #fafafa;
}

.stores__select__items.-indented
{
    margin-left: 1.5em;
}

.stores__select__item
{
    margin: 1em 0;
}
.stores__select__item:first-child
{
    margin-top: 0;
}
.stores__select__item:last-child
{
    margin-bottom: 0;
}
.stores__select__item__label
{
    display: flex;
}
.stores__select__item__label.-disabled
{
    color: #d0cad6;
}
.stores__select__item__label.-disabled input
{
    border: 1px solid #f3f2f7;
}
.stores__select__item__label.-disabled .stores__select__item__info
{
    color: #d0cad6;
}
.stores__select__item__content
{
    display: flex;
}
.stores__select__item__checkbox
{
    margin-top: 2px;
}
.stores__select__item__logo
{
    width: 20px;
    margin-left: 1em;

    align-self: flex-start;
}
.stores__select__item__title-info
{
    margin-top: -1px;
    margin-left: 1em;
}
.stores__select__item__title
{
    font-size: 14px;
    line-height: 24px;
}
.stores__select__item__info
{
    color: #9d97a3;

    align-self: flex-start;
}
.stores__select__item__info li
{
    position: relative;

    padding-left: 1em;
}
.stores__select__item__info li::before
{
    position: absolute;
    left: 0;

    content: '・';
}

/* release */
.release__radio
{
    padding: 8px 16px 24px;
}

.release__content
{
    display: flex;

    min-height: 80px;
    padding-left: 1.5em;

    align-items: center;
}
.release__content:last-child
{
    font-weight: 700;
}
.release__content:last-child span
{
    font-size: 12px;
    line-height: 22px;

    position: relative;

    display: block;

    padding-left: 1.2em;
}
.release__content:last-child span::before
{
    position: absolute;
    left: 0;

    content: '※';
}

.release__content__item
{
    flex-grow: 1;
}

.release__content__fields
{
    display: flex;

    width: 100%;
    margin: 8px 0;
}
.release__content__fields > *
{
    flex-grow: 2;
}
.release__content__fields select
{
    padding: 0 0 0 4px;

    background-size: 18px auto;
}
@media only screen and (min-width: 375px)
{
    .release__content__fields select
    {
        padding: 0 8px;

        background-size: 24px auto;
    }
}

.release__date__field
{
    display: flex;

    align-items: flex-end;
}
.release__date__field.-year
{
    flex-grow: 3;
}
.release__date__field label
{
    font-size: 14px;
    line-height: 24px;

    margin: .25em .5em;
}

.release__text
{
    font-size: 14px;
    line-height: 24px;

    padding-bottom: 40px;

    color: #9d97a3;
}

/* plan */
.plan__radio
{
    padding: 8px 16px 48px;
}
.plan__radio .radio-box-container
{
    margin-bottom: 16px;
}

.plan__content
{
    padding: 16px;

    text-align: center;
}
.plan__content h3
{
    font-size: 26px;
    font-weight: 700;
    line-height: 36px;
}
@media only screen and (min-width: 960px)
{
    .plan__content h3
    {
        font-size: 36px;
        line-height: 46px;
    }
}
.plan__content strong
{
    font-size: 16px;
    font-weight: 700;
    line-height: 26px;

    display: inline-block;

    margin: .5em 0;
}
.plan__content .text-accent
{
    font-size: 26px;
    line-height: 36px;
}
@media only screen and (min-width: 960px)
{
    .plan__content .text-accent
    {
        font-size: 36px;
        line-height: 46px;
    }
}
.plan__content.-basic .text-accent
{
    font-size: 20px;
    line-height: 30px;
}
@media only screen and (min-width: 960px)
{
    .plan__content.-basic .text-accent
    {
        font-size: 28px;
        line-height: 38px;
    }
}
.plan__content.-basic .text-mid
{
    font-size: 16px;
    line-height: 26px;
}
@media only screen and (min-width: 960px)
{
    .plan__content.-basic .text-mid
    {
        font-size: 20px;
        line-height: 30px;
    }
}

.plan__basic__fee
{
    display: flex;

    text-align: left;

    justify-content: center;
}

.plan__basic__price
{
    display: flex;
    flex-direction: column;

    margin-left: auto;
}

.plan__basic__item
{
    display: flex;

    margin-left: auto;

    align-items: flex-end;
}
.plan__basic__item.-small
{
    font-size: 14px;
    line-height: 24px;
}

.plan__basic__number
{
    font-size: 16px;
    font-weight: 700;
    line-height: 26px;

    display: flex;

    width: 100%;
    margin: .5em 0;

    align-items: center;
}
.plan__basic__number span
{
    display: block;
}
.plan__basic__number .text-accent
{
    margin-left: auto;
}

.plan__basic__number
{
    margin-right: .5em;
}

.plan__content_text
{
    font-size: 14px;
    line-height: 24px;

    color: #9d97a3;
}

.plan__text
{
    font-size: 12px;
    line-height: 22px;

    color: #9d97a3;
}
.plan__text::before
{
    content: '※';
}

.radio-box-container .radio:disabled + label .plan__content
{
    color: #c8ced4;
}
.radio-box-container .radio:disabled + label .plan__content .plan__content_text
{
    color: #c8ced4;
}

.notice__incentive {
  font-size: 16px;
  font-weight: 700;
  line-height: 60px;
  position: relative;
  height: 60px;
  margin: 0 50px 16px;
  text-align: center;
  color: #fff;
  background: #ff0000;
}

.notice__incentive:before,
.notice__incentive:after {
  position: absolute;
  top: 0;
  display: block;
  height: 48px;
  content: '';
  border: 30px solid #ff0000;
}

.notice__incentive:before {
  left: -40px;
  border-left-width: 15px;
  border-left-color: transparent;
}

.notice__incentive:after {
  right: -40px;
  border-right-width: 15px;
  border-right-color: transparent;
}

.notice__incentive p {
  line-height: 18px;
  height: 100%;
  padding: 0 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}


.payment
{
    padding-bottom: 40px;
}
.payment__content
{
    padding: 16px 16px 24px;
}
.payment__summary
{
    font-size: 16px;
    font-weight: 700;
    line-height: 26px;

    margin: 0 16px 16px;
    padding: 32px 16px;

    text-align: center;

    border: solid 1px #d0cad6;
    border-radius: 6px;
    background-color: #fafafa;
}
@media only screen and (min-width: 960px)
{
    .payment__summary
    {
        font-size: 24px;
        line-height: 34px;
    }
}
.payment__summary span
{
    font-size: 14px;
    line-height: 24px;
}

.payment-option
{
    padding-bottom: 8px;
}
.payment-option-content
{
    display: flex;

    padding: 0 24px;

    align-items: center;
}
.payment-option-content h4
{
    font-size: 14px;
    line-height: 24px;

    margin: 0;
}
.payment-option-content .payment-logo
{
    display: flex;

    width: 100px;
    margin-left: auto;

    justify-content: space-between;
    align-items: center;
}
.payment-option.payment-option-creditcard .payment-option-content
{
    flex-direction: column;

    align-items: normal;
}
.payment-option.payment-option-creditcard .payment-option-content .payment-logo
{
    width: 100%;
}
.payment-option.payment-option-creditcard .payment-option-content .payment-logo img
{
    display: block;

    height: 28px;
}

.complete
{
    max-width: 768px;
    margin: 0 auto;
    padding: 0 16px;
}
.complete__title
{
    font-size: 18px;
    font-weight: 700;
    line-height: 28px;

    padding: 16px 32px;

    text-align: center;
}
.complete__illustration
{
    margin: 0 auto;
    padding: 32px 0 48px;

    text-align: center;
}
.complete__description
{
    font-size: 16px;
    line-height: 26px;

    display: none;

    padding: 0 48px 16px;

    text-align: center;
}
.complete .btn
{
    margin-top: 32px;
}

/* plugin
========================================================================== */
.artist-select
{
    margin-bottom: 16px;
}
.artist-select .multiselect .multiselect__tags
{
    padding: 0;

    border: solid 1px #d0cad6;
    border-radius: 6px;
    background-color: #fff;
}
.artist-select .multiselect .multiselect__select
{
    z-index: 1;
    top: 50%;
    right: 16px;

    width: initial;
    height: initial;

    transition: none;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
}
.artist-select .multiselect .multiselect__select::before,
.artist-select .multiselect .multiselect__select::after
{
    display: block;

    width: 9px;
    height: 9px;

    content: '';
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);

    border: 4px solid #322341;
    border-width: 3px 3px 0 0;
    border-radius: 2px;
}
.artist-select .multiselect .multiselect__select::after
{
    position: relative;

    -webkit-transform: rotate(-225deg);
            transform: rotate(-225deg);
}
.artist-select .multiselect .option__container
{
    display: flex;

    width: 100%;
    padding: 16px;

    align-items: center;
}
.artist-select .multiselect .option__container .option__image
{
    width: 50px;
    height: 50px;
    margin-right: 16px;

    border-radius: 50%;
}
.artist-select .multiselect .option__container .option__title
{
    font-size: 16px;
    line-height: 26px;
}
.artist-select .multiselect .multiselect__single
{
    margin: 0;
    padding: 0;
}
.artist-select .multiselect .multiselect__content
{
    width: 100%;
}
.artist-select .multiselect .multiselect__content .multiselect__option
{
    width: 100%;
}
.artist-select .multiselect .multiselect__content .multiselect__option.multiselect__option--selected
{
    background-color: #f3f2f7;
}
.artist-select .multiselect .multiselect__content .multiselect__option.multiselect__option--selected .option__title
{
    font-weight: bold;
}
.artist-select .multiselect .multiselect__content .multiselect__option.multiselect__option--highlight
{
    color: initial;
    background-color: #f3f2f7;
}
.artist-select .multiselect.multiselect--active .multiselect__tags
{
    border-radius: 6px 6px 0 0;
}
.artist-select .multiselect.multiselect--active.multiselect--above .multiselect__tags
{
    border-radius: 0 0 6px 6px;
}
.artist-select .multiselect.multiselect--active.multiselect--above .multiselect__content-wrapper
{
    border-top: solid 1px #d0cad6;
    border-bottom: none;
    border-radius: 6px 6px 0 0;
}

/* Print
========================================================================== */
@media print
{
    *
    {
        color: black !important;
        border-color: black !important;
        background: transparent !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }
    header
    {
        display: none;
    }
    footer::after
    {
        content: '';
    }
    .noprint
    {
        display: none;
    }
}
