/*! destyle.css v3.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.css */
.is_business_error {
    text-align: center;
    font-size: 16px;
    font-weight: bold;
    color: red;
    margin-top: 15px;
}

*,
::after,
::before {
    box-sizing: border-box;
    border-width: 0;
    border-style: solid
}

html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent
}

details,
main {
    display: block
}

address,
blockquote,
dl,
figure,
form,
iframe,
p,
pre,
table {
    margin: 0
}

p {
    margin-bottom: 0 !important
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0 !important;
    font-weight: inherit;
    font-size: inherit
}

h1 {
    line-height: 1.15 !important
}

ol,
ul {
    margin: 0 !important;
    padding: 0;
    list-style: none
}

dt {
    font-weight: 700
}

dd {
    margin-left: 0
}

hr {
    clear: both;
    box-sizing: content-box;
    height: 0;
    margin: 0;
    overflow: visible;
    color: inherit;
    border-top-width: 1px
}

code,
kbd,
pre,
samp {
    font-size: inherit;
    font-family: monospace, monospace
}

address {
    font-style: inherit
}

a {
    color: inherit;
    text-decoration: none;
    background-color: transparent
}

abbr[title] {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: bolder
}

small {
    font-size: 80%
}

sub,
sup {
    position: relative;
    font-size: 75%;
    line-height: 0;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

embed,
iframe,
img,
object,
svg {
    vertical-align: bottom
}

button,
input,
optgroup,
select,
textarea {
    margin: 0;
    padding: 0;
    font: inherit;
    vertical-align: middle;
    text-align: inherit;
    color: inherit;
    text-transform: inherit;
    background: 0 0;
    border-radius: 0;
    -webkit-appearance: none;
    appearance: none
}

[type=checkbox] {
    -webkit-appearance: checkbox;
    appearance: checkbox
}

[type=radio] {
    -webkit-appearance: radio;
    appearance: radio
}

[type=button],
[type=reset],
[type=submit],
button,
label[for] {
    cursor: pointer
}

[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled,
button:disabled {
    cursor: default
}

:-moz-focusring {
    outline: auto
}

select:disabled {
    opacity: inherit
}

legend,
option {
    padding: 0
}

fieldset {
    min-width: 0;
    margin: 0;
    padding: 0
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    font: inherit;
    -webkit-appearance: button
}

summary {
    display: list-item
}

[contenteditable]:focus {
    outline: auto
}

table {
    border-color: inherit
}

caption {
    text-align: left
}

td,
th {
    padding: 0;
    vertical-align: top
}

th {
    font-weight: 700;
    text-align: left
}

html {
    font-size: 62.5%
}

body {
    margin: 0;
    line-height: inherit !important;
    font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", Meiryo, "メイリオ", Arial, sans-serif !important;
    color: #333 !important
}

body.is-fixed {
    overflow: hidden
}

.nttidpf-main {
    padding-top: 14px
}

@media screen and (max-width:768px) {
    .nttidpf-main {
        padding-top: 20px
    }
}

.nttidpf-content {
    padding: 40px 0 0
}

@media screen and (max-width:768px) {
    .nttidpf-content {
        padding: 0 16px
    }
}

.nttidpf-content--primary {
    padding: 0
}

@media screen and (max-width:768px) {
    .nttidpf-content--primary {
        padding: 0 16px
    }
}

.nttidpf-prev,
.nttidpf-prev--2,
.nttidpf-prev--3,
.nttidpf-prev--4 {
    display: flex;
    justify-content: center;
    width: 400px;
    margin: 0 auto;
    padding-top: 40px;
    text-align: center
}

.nttidpf-prev--2 {
    display: block;
    margin-top: 60px;
    border-top: 1px solid #ccc
}

@media screen and (max-width:768px) {

    .nttidpf-prev,
    .nttidpf-prev--2,
    .nttidpf-prev--3,
    .nttidpf-prev--4 {
        width: 100%;
        padding-top: 31px
    }

    .nttidpf-prev--2 {
        width: calc(100% - 76px)
    }

    .banner {
        padding-right: 16px;
        padding-left: 16px
    }
}

.nttidpf-prev--3 {
    display: block;
    margin-top: 112px;
    border-top: 1px solid #ccc
}

.nttidpf-prev--4 {
    padding-top: 30px
}

.l-checkbox-list+.text-error {
    padding-top: 0
}

.l-checkbox-list__item+.l-checkbox-list__item {
    margin-top: 5px
}

.banner {
    padding-top: 60px
}

.banner__inner {
    display: flex;
    justify-content: center;
    align-items: center
}

.banner__anchor {
    display: block
}

.banner__anchor img {
    width: 100%;
    height: auto
}

.button,
.button--nonactive,
.button--search,
.button--search2,
.button--secondary,
.button--tertiary {
    width: 100%;
    height: 50px;
    margin: auto
}

.button .button__body,
.button--nonactive .button__body,
.button--search .button__body,
.button--search2 .button__body,
.button--secondary .button__body,
.button--tertiary .button__body {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    font-weight: 700;
    font-size: 1.6rem;
    border-radius: 4px;
    transition: .3s;
    text-align: center;
}

.button .button__body {
    width: 100%;
    color: #fff;
    background-color: #0074bf;
}

.button .button__body:hover {
    background-color: #0099e4
}

.button--secondary {
    width: 300px
}

.button--secondary .button__body {
    width: 100%;
    color: #0074bf;
    background-color: #fff;
    border: 1px solid #0074bf
}

.button--secondary .button__body:hover {
    color: #0099e4;
    border-color: #0099e4
}

@media screen and (max-width:768px) {
    .button .button__body:hover {
        background-color: #0074bf
    }

    .button .button__body:active {
        background-color: #0099e4
    }

    .button--secondary {
        width: calc(100% - 20px)
    }

    .button--secondary .button__body:hover {
        color: #0074bf;
        border-color: #0074bf
    }

    .button--secondary .button__body:active {
        color: #0099e4;
        border-color: #0099e4
    }
}

.button--tertiary {
    width: 300px
}

.button--tertiary .button__body {
    width: 100%;
    color: #666;
    background-color: #fff;
    border: 1px solid #666
}

.button--tertiary .button__body:hover {
    color: #333;
    border-color: #333
}

.button--nonactive {
    width: 400px
}

.button--nonactive .button__body {
    width: 100%;
    color: #fff;
    background-color: #909090;
    cursor: default !important
}

.button--search,
.button--search2 {
    position: relative;
    padding-left: 10px;
    font-size: 16px;
    text-align: center;
    color: #fff;
    background-color: #0074bf;
    border-radius: 4px;
    transition: .3s
}

.button--search2::before,
.button--search::before {
    content: "";
    position: absolute;
    top: 27px;
    left: calc(50% - 29px);
    display: block;
    width: 10px;
    height: 2px;
    background: #fff;
    transform: rotate(45deg);
    transform-origin: 0 50%
}

.button--search2::after,
.button--search::after {
    content: "";
    position: absolute;
    top: 15px;
    left: calc(50% - 42px);
    width: 16px;
    height: 16px;
    background: #0074bf;
    border: 2px solid #fff;
    border-radius: 50%
}

.button--search2:hover::after,
.button--search:hover::after {
    background-color: #0099e4
}

.button--search .button__body,
.button--search2 .button__body {
    font-size: 1.8rem;
    color: #fff;
    background-color: #0074bf
}

@media screen and (max-width:768px) {
    .button--tertiary .button__body:hover {
        color: #0074bf;
        border-color: #0074bf
    }

    .button--tertiary .button__body:active {
        color: #333;
        border-color: #333
    }

    .button--nonactive {
        width: 100%
    }

    .button--search2:hover::after,
    .button--search:hover::after {
        background-color: #0074bf
    }

    .button--search2:active::after,
    .button--search:active::after {
        background-color: #0099e4
    }

    .button--search .button__body,
    .button--search2 .button__body {
        font-size: 1.6rem
    }
}

.button--search .button__body:hover,
.button--search2 .button__body:hover {
    background-color: #0099e4
}

.button--search2 {
    flex-shrink: 0;
    width: 150px;
    height: 40px;
    padding: 0
}

.button--search2::before {
    top: 22px
}

.button--search2::after {
    top: 10px
}

.button--search2 .button__body {
    font-size: 1.6rem
}

.button__area {
    width: 260px;
    margin: 40px 0 0;
    text-align: center;
    background-color: #f0f0f0;
    border-radius: 6px
}

.button__area:nth-of-type(n+2) {
    margin-left: 10px
}

.button__area .button {
    width: 220px;
    height: 80px;
    padding-bottom: 20px
}

.button__area .button .button__body {
    padding: 0 5px;
    line-height: 1.3
}

.button__title {
    padding: 20px;
    font-weight: 700;
    font-size: 1.8rem;
    line-height: 1.5
}

@media screen and (max-width:768px) {

    .button--search .button__body:hover,
    .button--search2 .button__body:hover {
        background-color: #0074bf
    }

    .button--search .button__body:active,
    .button--search2 .button__body:active {
        background-color: #0099e4
    }

    .button__area {
        width: 100%;
        margin-top: 14px
    }

    .button__area:nth-of-type(n+2) {
        margin-left: 0
    }

    .button__area .button {
        width: 100%;
        padding: 0 20px 20px
    }

    .button__title {
        padding: 20px 20px 10px;
        font-size: 1.6rem;
        line-height: 1.4
    }
}

.footer {
    padding-top: 40px
}

.footer .toppage__register {
    padding-bottom: 0
}

.footer__register {
    margin-bottom: -30px;
    background-image: url(../../img/top/bgTree.png);
    background-repeat: no-repeat;
    background-position: center 54px
}

@media screen and (max-width:768px) {
    .footer {
        padding-top: 0
    }

    .footer .toppage__register {
        padding-bottom: 21vw;
        background-position: center bottom
    }

    .footer__register {
        margin-bottom: 0;
        background: 0 0
    }

    .footer__register::after {
        content: "";
        display: block;
        width: calc(100% - 5.3vw);
        height: 21.6vw;
        margin: 5px auto 0;
        background-image: url(../../img/top/bgRegisterFooter@2x.png);
        background-repeat: no-repeat;
        background-size: 100% 100%
    }
}

.footer__getapp {
    padding-top: 75px;
    background-image: url(../../img/top/bgGrass.png);
    background-repeat: no-repeat;
    background-position: center 0
}

@media screen and (max-width:768px) {
    .footer__getapp {
        margin-top: 30px;
        padding-top: 0
    }

    .footer__getapp.view-app {
        margin-top: 0
    }
}

.footer__getapp-body {
    position: relative;
    display: flex;
    width: 710px;
    margin: 0 auto
}

@media screen and (max-width:768px) {
    .footer__getapp-body {
        flex-direction: column;
        width: auto
    }

    .footer__getapp-image {
        order: 2;
        margin-top: 20px;
        padding-left: 25px;
        text-align: center
    }
}

.footer__getapp-content {
    position: absolute;
    top: 90px;
    right: 0;
    width: 472px
}

.footer__getapp-button-list {
    display: flex;
    justify-content: center
}

@media screen and (max-width:768px) {
    .footer__getapp-content {
        position: static;
        order: 1;
        width: auto
    }

    .footer__getapp-text {
        text-align: center
    }

    .footer__getapp-button-list {
        flex-direction: column;
        align-items: center;
        margin-top: 17px
    }
}

.footer__getapp-button-item {
    margin-top: 30px
}

.footer__getapp-button-item:nth-child(n+2) {
    margin-left: 10px
}

@media screen and (max-width:768px) {
    .footer__getapp-button-item {
        margin-top: 0
    }

    .footer__getapp-button-item:nth-child(n+2) {
        margin-top: 12px;
        margin-left: 0
    }

    .footer__getapp-notes {
        padding: 0 15px
    }
}

.footer__getapp-notes {
    margin-top: 20px
}

.footer__getapp-notes-item {
    font-size: 1rem;
    line-height: 1.6;
    text-align: center;
    color: #555
}

.footer__getapp-notes-item::before {
    content: "※"
}

.contents,
.contents--2 {
    width: 500px;
    margin: 0 auto;
    padding: 32px 50px;
    border: 1px solid #ccc;
    border-radius: 6px
}

@media screen and (max-width:768px) {

    .contents,
    .contents--2 {
        width: 100%;
        padding: 32px 20px
    }
}

.contents--2 {
    padding-top: 40px;
    padding-bottom: 0;
    border: 0
}

@media screen and (max-width:768px) {
    .contents--2 {
        padding-top: 33px
    }
}

.contents--free {
    width: 1000px;
    margin: 0 auto;
    padding-top: 40px
}

@media screen and (max-width:768px) {
    .contents--free {
        width: calc(100% + 32px);
        margin-left: -16px
    }
}

.contents--free2 {
    width: 1000px;
    margin: 0 auto;
    padding-top: 40px
}

.contents__lead {
    font-size: 1.8rem;
    line-height: 1.56;
    text-align: center
}

@media screen and (max-width:768px) {
    .contents--free2 {
        width: 100%
    }

    .contents--free2 .contents__button,
    .contents--free2 .contents__button--fix,
    .contents--free2 .contents__button--negative,
    .contents--free2 .contents__button--signup,
    .contents--free2 .text {
        padding-right: 20px;
        padding-left: 20px
    }

    .contents--free2 .contents__button .button,
    .contents--free2 .contents__button--fix .button,
    .contents--free2 .contents__button--negative .button,
    .contents--free2 .contents__button--signup .button {
        height: 60px
    }

    .contents--free2 .contents__button--negative {
        max-width: 240px
    }

    .contents__lead {
        padding-top: 35px;
        font-size: 1.6rem
    }

    .contents__lead br {
        display: none
    }
}

.contents__title {
    padding-bottom: 12px;
    font-weight: 700;
    font-size: 1.8rem;
    text-align: center
}

.contents__form-unit:nth-child(n+2) {
    padding-top: 12px
}

.contents__form-unit:nth-child(n+2):last-child {
    padding-bottom: 0px
}

.contents__main-button {
    display: flex;
    justify-content: center;
    padding-top: 12px
}

.contents__button,
.contents__button--fix,
.contents__button--negative,
.contents__button--signup {
    display: flex;
    width: 400px;
    margin: 0 auto;
    padding-top: 12px
}

@media screen and (max-width:768px) {
    .contents__title {
        font-size: 1.5rem
    }

    .contents__form-unit:nth-child(n+2) {
        padding-top: 12px
    }

    .contents__button,
    .contents__button--fix,
    .contents__button--negative,
    .contents__button--signup {
        width: 100%
    }
}

.contents__button--fix,
.contents__button--negative {
    padding-top: 32px
}

.contents__button--short {
    width: 300px;
    margin: 0 auto
}

.contents__button-flex {
    display: flex;
    justify-content: center;
    width: 800px;
    margin: 0 auto
}

.contents__button-unit:nth-child(n+2) {
    padding-top: 16px
}

.contents__button-unit.is-textsmall .button__body {
    font-size: 1.6rem
}

.contents__forgot-password {
    padding-top: 30px;
    text-align: center
}

@media screen and (max-width:768px) {
    .contents__button-flex {
        display: block;
        width: 100%
    }

    .contents__forgot-password {
        padding-top: 28px
    }
}

.contents__signup {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #ccc
}

@media screen and (max-width:768px) {
    .contents__signup {
        padding-top: 12px
    }

    .contents__table .contents__button,
    .contents__table .contents__button--fix,
    .contents__table .contents__button--negative,
    .contents__table .contents__button--signup {
        width: calc(100% - 76px);
        max-width: 300px;
        padding-top: 12px
    }

    .contents__table .contents__button .button,
    .contents__table .contents__button--fix .button,
    .contents__table .contents__button--negative .button,
    .contents__table .contents__button--signup .button {
        height: 60px
    }

    .contents__table .contents__button--negative {
        max-width: 240px;
        padding-top: 30px
    }

    .contents__table .contents__button--negative .button {
        height: 50px
    }
}

.contents__table-button,
.contents__table-button--fix {
    display: flex;
    justify-content: center;
    padding-top: 40px
}

.contents__table-button--fix {
    padding-top: 32px
}

.faq__anchor--list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    width: 940px;
    margin: 0 auto;
    padding-bottom: 30px
}

.faq__anchor--item {
    margin-left: 20px
}

.faq__anchor--item:nth-of-type(n+4) {
    margin-top: 32px
}

.faq__anchor--item:nth-of-type(3n+1) {
    margin-left: 0
}

.faq__anchor--item a {
    position: relative;
    display: block;
    width: 300px;
    padding: 0 0 13px 29px;
    font-weight: 700;
    font-size: 1.6rem;
    border-bottom: 1px solid #0074bf
}

.faq__anchor--item a::before {
    content: "";
    position: absolute;
    bottom: 20px;
    left: 3px;
    width: 8px;
    height: 8px;
    border-top: 1px solid #0074bf;
    border-right: 1px solid #0074bf;
    transform: rotate(135deg)
}

@media screen and (max-width:768px) {
    .faq__anchor--list {
        display: block;
        width: 100%;
        padding-top: 38px
    }

    .faq__anchor--item {
        margin-left: 0
    }

    .faq__anchor--item:nth-of-type(n+4) {
        margin-top: 12px
    }

    .faq__anchor--item a {
        width: 100%;
        margin-top: 12px;
        padding-bottom: 11px;
        font-size: 1.4rem
    }

    .faq__anchor--item a::before {
        bottom: 17px
    }
}

.faq__wrap {
    width: 940px;
    margin: 0 auto
}

.faq__question {
    padding-top: 24px
}

.faq__question--text {
    position: relative;
    padding: 20px 20px 20px 60px;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 1.3;
    background-color: #f0f0f0
}

.faq__question--text::before {
    content: "Q.";
    position: absolute;
    top: 20px;
    left: 20px;
    font-weight: 700;
    font-size: 1.6rem;
    color: #0074bf
}

@media screen and (max-width:768px) {
    .faq__wrap {
        width: 100%
    }

    .faq__question--text {
        padding: 20px 16px 20px 40px
    }

    .faq__question--text::before {
        left: 12px
    }
}

.faq__answer--text,
.faq__answer--text-secondary {
    position: relative;
    padding: 18px 20px 8px 60px;
    font-size: 1.4rem;
    line-height: 1.5
}

.faq__answer--text-secondary::before,
.faq__answer--text::before {
    content: "A.";
    position: absolute;
    top: 17px;
    left: 20px;
    font-weight: 700;
    font-size: 1.6rem;
    color: #cb0101
}

@media screen and (max-width:768px) {

    .faq__answer--text,
    .faq__answer--text-secondary {
        padding: 16px 16px 20px 40px
    }

    .faq__answer--text-secondary::before,
    .faq__answer--text::before {
        top: 15px;
        left: 12px
    }
}

.faq__answer--text-secondary {
    padding: 0 20px 0 60px
}

@media screen and (max-width:768px) {
    .faq__answer--text-secondary {
        padding: 0 16px 0 40px
    }
}

.faq__answer--text-secondary::before {
    content: none
}

.faq__answer--A {
    display: inline-block;
    font-weight: 700;
    font-size: 1.6rem;
    color: #cb0101
}

.faq__list {
    margin-top: -8px;
    padding: 0 20px 0 80px;
    list-style: disc;
    font-size: 1.4rem;
    line-height: 1.5
}

.faq__link {
    display: inline;
    color: #0074bf;
    text-decoration: underline
}

.faq__link:hover {
    color: #f49000
}

@media screen and (max-width:768px) {
    .faq__list {
        margin-top: -20px;
        padding: 0 16px 0 60px
    }

    .faq__link:hover {
        color: #333
    }

    .faq__link:active {
        color: #f49000
    }
}

.faq__img {
    width: 100%;
    height: auto
}

.global-footer {
    padding: 103px 0 20px;
    background-color: #fff
}

.global-footer__links {
    display: flex;
    justify-content: center;
    color: #333
}

@media screen and (max-width:768px) {
    .global-footer__links {
        flex-wrap: wrap;
        padding: 0 40px
    }
}

.global-footer__links-item {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 20px;
    padding: 0 30px
}

.global-footer__links-item:nth-child(n+2) {
    border-left: 1px solid #ccc
}

.global-footer__links-item a {
    font-size: 1.4rem;
    text-decoration: underline
}

.global-footer__links-item a:hover {
    color: #f49000
}

@media screen and (max-width:768px) {
    .global-footer__links-item {
        justify-content: flex-start;
        align-items: flex-start;
        width: 50%;
        padding: 0
    }

    .global-footer__links-item:nth-child(n+2) {
        border: 0
    }

    .global-footer__links-item:nth-child(n+3) {
        padding-top: 20px
    }

    .global-footer__links-item a:hover {
        color: #333
    }

    .global-footer__links-item a:active {
        color: #f49000
    }
}

.global-footer__copyright {
    padding-top: 40px;
    font-size: 1.2rem;
    text-align: center
}

.global-footer__copyright small {
    font-size: 1.2rem
}

.form,
.form--checkbox,
.form--checkboxes,
.form--radio,
.form--select,
.form--text,
.form--textarea {
    position: relative
}

.form__label,
.form__label--yellow {
    position: relative;
    display: inline-flex;
    align-items: center;
    font-size: 1.6rem;
    color: #000
}

.form__label--yellow::after,
.form__label--yellow::before,
.form__label::after,
.form__label::before {
    content: "";
    display: inline-block
}

.form__label--yellow::before,
.form__label::before {
    width: 22px;
    height: 22px;
    margin-right: 10px;
    background-color: #fcfcfc;
    border: 1px solid #ccc
}

.form__label--yellow::after,
.form__label::after {
    position: absolute;
    display: none
}

.form--checkbox .form__label--yellow::after,
.form--checkbox .form__label::after,
.form--checkboxes .form__label--yellow::after,
.form--checkboxes .form__label::after {
    top: 4px;
    bottom: 0;
    left: 9px;
    width: 16px;
    height: 9px;
    margin: auto;
    border-bottom: 2px solid #fff;
    border-left: 2px solid #fff;
    transform: rotate(-50deg);
    transform-origin: left bottom
}

.form__input-check {
    position: absolute;
    opacity: 0
}

.form__input-check:focus~.form__label--yellow::before,
.form__input-check:focus~.form__label::before {
    border-color: #006cff
}

.form__input-check:checked~.form__label--yellow::before,
.form__input-check:checked~.form__label::before {
    background-color: #006cff;
    border-color: #006cff
}

.form__input-check:checked~.form__label--yellow::after,
.form__input-check:checked~.form__label::after {
    display: block
}

.form__input-check.is_error+.form__label--yellow::before,
.form__input-check.is_error+.form__label::before {
    background-color: #ffe8e8;
    border: 1px solid #cb0101
}

.form__input-check.is_error:checked+.form__label--yellow::before,
.form__input-check.is_error:checked+.form__label::before {
    background-color: #006cff;
    border-color: #006cff
}

.form__input-text {
    width: 100%;
    min-width: 200px;
    height: 40px;
    padding: 0 12px;
    font-size: 1.6rem;
    background-color: #fcfcfc;
    border: 1px solid #ccc
}

.form__input-text:-ms-input-placeholder {
    font-size: 1.6rem;
    color: #aaa
}

.form__input-text::placeholder {
    font-size: 1.6rem;
    color: #aaa
}

.form__input-text:focus {
    outline: 0
}

@media screen and (max-width:768px) {
    .form__input-text {
        min-width: 100px
    }
}

.form__input-text.is-required {
    background-color: #fffee8
}

.form__input-text.is_error {
    background-color: #ffe8e8;
    border: 1px solid #cb0101
}

.form__select {
    width: 100%;
    min-width: 200px;
    height: 40px;
    padding: 0 12px;
    font-size: 1.6rem;
    background-color: #fcfcfc;
    border: 1px solid #ccc;
    -webkit-appearance: none;
    appearance: none
}

.form__select::-ms-expand {
    display: none
}

.form__select:focus {
    outline: 0
}

@media screen and (max-width:768px) {
    .form__select {
        min-width: 100px
    }
}

.form__select.is-required {
    background-color: #fffee8
}

.form__select.is_error {
    background-color: #ffe8e8;
    border: 1px solid #cb0101
}

.form__textarea {
    width: 100%;
    min-width: 200px;
    height: 100px;
    padding: 12px;
    font-size: 1.6rem;
    background-color: #fcfcfc;
    border: 1px solid #ccc
}

.form__label--yellow::before,
.form__textarea.is-required {
    background-color: #fffee8
}

.form--checkbox input.is-error .form__label--yellow::before,
.form--checkbox input.is-error .form__label::before,
.form--checkbox input.is_error .form__label--yellow::before,
.form--checkbox input.is_error .form__label::before,
.form--checkboxes input.is-error .form__label--yellow::before,
.form--checkboxes input.is-error .form__label::before,
.form--checkboxes input.is_error .form__label--yellow::before,
.form--checkboxes input.is_error .form__label::before,
.form--radio input.is-error .form__label--yellow::before,
.form--radio input.is-error .form__label::before,
.form--radio input.is_error .form__label--yellow::before,
.form--radio input.is_error .form__label::before {
    background-color: #ffe8e8;
    border: 1px solid #cb0101
}

.form--checkbox input.is-error .form__input-check:checked~.form__label--yellow::before,
.form--checkbox input.is-error .form__input-check:checked~.form__label::before,
.form--checkbox input.is_error .form__input-check:checked~.form__label--yellow::before,
.form--checkbox input.is_error .form__input-check:checked~.form__label::before,
.form--checkboxes input.is-error .form__input-check:checked~.form__label--yellow::before,
.form--checkboxes input.is-error .form__input-check:checked~.form__label::before,
.form--checkboxes input.is_error .form__input-check:checked~.form__label--yellow::before,
.form--checkboxes input.is_error .form__input-check:checked~.form__label::before,
.form--radio input.is-error .form__input-check:checked~.form__label--yellow::before,
.form--radio input.is-error .form__input-check:checked~.form__label::before,
.form--radio input.is_error .form__input-check:checked~.form__label--yellow::before,
.form--radio input.is_error .form__input-check:checked~.form__label::before {
    background-color: #cb0101
}

.is-error.form--search input,
.is-error.form--search select,
.is-error.form--search textarea,
.is-error.form--select input,
.is-error.form--select select,
.is-error.form--select textarea,
.is-error.form--text input,
.is-error.form--text select,
.is-error.form--text textarea,
.is-error.form--textarea input,
.is-error.form--textarea select,
.is-error.form--textarea textarea,
.is_error.form--search input,
.is_error.form--search select,
.is_error.form--search textarea,
.is_error.form--select input,
.is_error.form--select select,
.is_error.form--select textarea,
.is_error.form--text input,
.is_error.form--text select,
.is_error.form--text textarea,
.is_error.form--textarea input,
.is_error.form--textarea select,
.is_error.form--textarea textarea {
    background-color: #ffe8e8;
    border: 1px solid #cb0101
}

.form--checkboxes {
    display: flex;
    flex-wrap: wrap
}

.form--checkboxes .form__check-wrap {
    padding-top: 4px;
    padding-left: 20px
}

.form--checkboxes .form__check-wrap:nth-of-type(n+4) {
    padding-top: 16px
}

.form--checkboxes .form__check-wrap:nth-of-type(3n+1) {
    padding-left: 0
}

@media screen and (max-width:768px) {
    .form__textarea {
        min-width: 100px
    }

    .form--checkboxes {
        display: block
    }

    .form--checkboxes .form__check-wrap {
        padding: 0
    }

    .form--checkboxes .form__check-wrap:nth-of-type(n+2) {
        padding-top: 8px
    }
}

.form--radio .form__label--yellow::before,
.form--radio .form__label::before {
    border-radius: 50%
}

.form--radio .form__label--yellow::after,
.form--radio .form__label::after {
    top: 4px;
    left: 4px;
    width: 14px;
    height: 14px;
    background-color: #006cff;
    border-radius: 50%
}

.form--radio:focus~.form__label--yellow::before,
.form--radio:focus~.form__label::before {
    border-color: #006cff
}

.form--radio .form__input-check:checked~.form__label--yellow::before,
.form--radio .form__input-check:checked~.form__label::before {
    background-color: #fff;
    border-color: #006cff
}

.form--select::after {
    content: "";
    position: absolute;
    top: 16px;
    right: 12px;
    display: block;
    width: 0;
    height: 0;
    border-width: 9px 6px 0;
    border-style: solid;
    border-color: #000 transparent transparent
}

.form--search {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center
}

.form--search input[type=text] {
    width: calc(100% - 170px)
}

.global-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 80px;
    padding: 0 40px;
    color: #333
}

.global-header__logo a {
    display: block
}

.global-header__logo img {
    width: 183px;
    height: auto
}

.page-header__step+.page-header__title {
    padding-top: 60px
}

.page-header__step+.page-header__title .title-sub {
    padding-top: 0
}

@media screen and (max-width:768px) {
    .global-header {
        height: 70px;
        padding: 0 16px
    }

    .global-header__logo {
        width: 138px;
        height: 32px
    }

    .global-header__logo img {
        width: auto;
        height: 30px
    }

    .page-header {
        margin-top: 30px
    }

    .page-header__step+.page-header__title {
        padding-top: 50px
    }

    .page-header__step+.page-header__lead {
        padding-top: 10px
    }
}

.page-header__note {
    padding-top: 20px;
    font-size: 12px;
    line-height: 1.5;
    text-align: center
}

@media screen and (max-width:768px) {
    .page-header__note {
        text-align: left
    }

    .page-header__note br {
        display: none
    }
}

.label,
.label--require {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    height: 22px;
    padding: 0 8px;
    font-size: 1.2rem;
    color: #fff;
    border-radius: 3px
}

.label--require {
    color: #eb5b5b;
    background-color: #fff;
    border: 1px solid #eb5b5b
}

.l-label {
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    display: block;
    height: 22px;
    margin: auto
}

@media screen and (-ms-high-contrast:active),
(-ms-high-contrast:none) {
    .l-label {
        position: relative;
        display: inline-block;
        float: right;
        width: 42px
    }
}

.lead,
.lead--primary {
    font-size: 1.8rem !important;
    line-height: 1.56;
    text-align: center
}

.lead {
    padding-top: 40px
}

.lead__wrapper {
    padding-bottom: 40px
}

@media screen and (max-width:768px) {

    .lead,
    .lead--primary {
        font-size: 1.6rem
    }

    .lead br,
    .lead--primary br {
        display: none
    }

    .lead {
        padding-top: 35px
    }

    .lead--primary {
        text-align: left
    }

    .lead__wrapper {
        padding-bottom: 35px
    }
}

.link,
.link--back,
.link--policy,
.link--q {
    display: inline-flex;
    align-items: center;
    color: #333
}

.link--back::before,
.link--policy::before,
.link--q::before,
.link::before {
    content: "";
    display: inline-block;
    margin-right: 10px;
    background-repeat: no-repeat;
    background-size: contain
}

.link {
    font-size: 1.4rem;
    text-decoration: underline
}

.link:hover {
    color: #f49000
}

@media screen and (max-width:768px) {
    .link:hover {
        color: #333
    }

    .link:active {
        color: #f49000
    }
}

.link::before {
    width: 6px;
    height: 12px;
    background-image: url(../img/common/arw-link.png);
    background-image: image-set(url("../img/common/arw-link.png") 1x, url("../img/common/arw-link@2x.png") 2x);
    background-image: -webkit-image-set(url("../img/common/arw-link.png") 1x, url("../img/common/arw-link@2x.png") 2x)
}

.link--back {
    font-weight: 700;
    font-size: 1.6rem;
    color: #333;
    transition: .3s
}

.link--back:hover {
    color: #0099e4;
    text-decoration: none;
}

@media screen and (max-width:768px) {
    .link--back:hover {
        color: #333
    }

    .link--back:active {
        color: #0099e4
    }
}

.link--back::before {
    width: 20px;
    height: 20px;
    background-image: url(../img/common/arw-circle-back.png);
    background-image: image-set(url("../img/common/arw-circle-back.png") 1x, url("../img/common/arw-circle-back@2x.png") 2x);
    background-image: -webkit-image-set(url("../img/common/arw-circle-back.png") 1x, url("../img/common/arw-circle-back@2x.png") 2x)
}

.link--q {
    font-size: 1.4rem
}

.link--q:hover {
    color: #f49000;
    text-decoration: none;
}

@media screen and (max-width:768px) {
    .link--q:hover {
        color: #333
    }

    .link--q:active {
        color: #f49000
    }
}

.link--q::before {
    width: 16px;
    height: 16px;
    margin-right: 4px;
    background-image: url(../img/common/icon-faq.png);
    background-image: image-set(url("../img/common/icon-faq.png") 1x, url("../img/common/icon-faq@2x.png") 2x);
    background-image: -webkit-image-set(url("../img/common/icon-faq.png") 1x, url("../img/common/icon-faq@2x.png") 2x)
}

.link--policy {
    display: inline;
    color: #0074bf;
    text-decoration: underline
}

.link--policy:hover {
    color: #f49000
}

.modal {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1050;
    display: block;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    overflow-x: hidden;
    overflow-y: auto;
    outline: 0
}

.modal__inner {
    width: calc(100% - 280px);
    min-width: 600px;
    max-width: 1200px;
    height: calc((100% / 2) + 273px);
    min-height: 660px;
    margin: 50px auto;
    overflow: hidden;
    background-color: #fff
}

@media screen and (max-width:768px) {
    .link--policy:hover {
        color: #0074bf
    }

    .link--policy:active {
        color: #f49000
    }

    .modal__inner {
        width: calc(100% - 20px);
        min-width: 0;
        height: calc(100vh - 20px);
        min-height: 0;
        margin: 10px
    }
}

.modal__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 50px;
    color: #fff;
    background-color: #0074bf
}

.modal__neck {
    width: 100%;
    padding: 30px 40px 15px
}

@media screen and (max-width:768px) {
    .modal__header {
        height: 35px
    }

    .modal__neck {
        padding: 20px 10px 10px
    }
}

.modal__neck form {
    width: 100%
}

.modal__toggler {
    position: relative;
    width: 112px;
    height: 100%;
    text-align: center
}

@media screen and (max-width:768px) {
    .modal__toggler {
        width: 74px
    }
}

.modal__toggler-button {
    width: 100%;
    height: 100%;
    padding-left: 10px;
    font-size: 14px;
    background-color: #000
}

.modal__toggler-button::after,
.modal__toggler-button::before {
    content: "";
    position: absolute;
    top: 19px;
    left: 19px;
    display: block;
    width: 17px;
    height: 1px;
    background: #fff;
    transform: rotate(45deg);
    transform-origin: 0 50%
}

.modal__toggler-button::after {
    right: -5px;
    left: auto;
    transform: rotate(-45deg) translate(-61px, -61px);
    transform-origin: 100% 0
}

@media screen and (max-width:768px) {
    .modal__toggler-button {
        font-size: 12px
    }

    .modal__toggler-button::after,
    .modal__toggler-button::before {
        top: 12px;
        left: 9px;
        width: 14px
    }

    .modal__toggler-button::after {
        right: -31px;
        left: auto
    }
}

.modal__title {
    padding-left: 20px;
    font-size: 18px
}

@media screen and (max-width:768px) {
    .modal__title {
        font-size: 14px
    }
}

.modal__overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, .5);
    background-repeat: no-repeat;
    background-position: top center
}

.modal__note {
    padding-top: 10px;
    font-size: 12px;
    line-height: 1.6;
    color: #333
}

.dialog-table__wrapper {
    position: relative;
    margin-top: 20px
}

@media screen and (max-width:768px) {
    .modal__note {
        font-size: 10px
    }

    .dialog-table__wrapper {
        margin-top: 10px
    }
}

.dialog-table {
    position: relative;
    display: block;
    width: 100%;
    height: calc(100vh / 2);
    overflow-y: auto;
    border-collapse: collapse;
    border-spacing: 0;
    font-size: 14px;
    border: 1px solid #999;
    border-top: 0
}

@media screen and (max-width:768px) {
    .dialog-table {
        height: calc(100vh - 283px)
    }
}

@media screen and (max-width:479.98px) {
    .dialog-table {
        height: calc(100vh - 310px)
    }
}

.dialog-table__row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #ccc
}

@media screen and (max-width:768px) {
    .dialog-table__row {
        display: -ms-grid;
        display: grid;
        grid-template-areas: "c-name c-name c-button" "c-address c-address c-button" "c-business-type c-business-type c-button";
        gap: 0 0
    }

    .dialog-table__head {
        height: 1px;
        overflow: hidden
    }
}

.dialog-table__head {
    display: block
}

.dialog-table__head .dialog-table__row {
    border-top: 1px solid #999;
    border-bottom: 1px solid #999
}

.dialog-table__body {
    position: relative;
    display: block;
    height: calc(100% - 40px);
    min-height: 380px;
    overflow: auto;
    background-color: #f0f0f0
}

@media screen and (-ms-high-contrast:active),
(-ms-high-contrast:none) {
    .dialog-table__body {
        height: inherit
    }
}

@media screen and (max-width:768px) {
    .dialog-table__body {
        height: calc(100% - 1px)
    }
}

.dialog-table__body .dialog-table__row:nth-child(odd) {
    background-color: #f8f8f8
}

.dialog-table__body .dialog-table__row:nth-child(even) {
    background-color: #fff
}

.dialog-table__title {
    position: sticky;
    top: 0;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 31%;
    max-width: 340px;
    height: 38px;
    padding: 10px;
    font-weight: 700
}

.dialog-table__title:last-child {
    width: 91px
}

@media screen and (max-width:768px) {
    .dialog-table__title {
        display: block;
        width: calc(100% - 70px)
    }
}

.dialog-table__cell {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 31%;
    max-width: 340px;
    padding: 10px;
    line-height: 1.43
}

.dialog-table__cell:nth-child(3) {
    font-size: 12px
}

.dialog-table__cell:last-child {
    width: 91px
}

@media screen and (max-width:768px) {
    .dialog-table__cell {
        display: inline-block;
        width: 100%;
        padding: 10px;
        line-height: 1.5
    }

    .dialog-table__cell:first-child {
        grid-area: c-name;
        padding: 10px 0 0 10px;
        font-weight: 700;
        font-size: 12px;
        -ms-grid-column: 1;
        -ms-grid-row: 1;
        -ms-grid-column-span: 3
    }

    .dialog-table__cell:nth-child(2) {
        grid-area: c-address;
        padding: 6px 0 6px 10px;
        font-size: 10px;
        -ms-grid-column: 1;
        -ms-grid-row: 3;
        -ms-grid-column-span: 3
    }

    .dialog-table__cell:nth-child(3) {
        grid-area: c-business-type;
        padding: 0 0 10px 10px;
        font-size: 10px;
        -ms-grid-column: 1;
        -ms-grid-row: 5;
        -ms-grid-column-span: 3
    }

    .dialog-table__cell:last-child {
        grid-area: c-button;
        width: 70px;
        padding: 0;
        -ms-grid-column: 5;
        -ms-grid-row: 1;
        -ms-grid-row-span: 5
    }
}

.dialog-table__button {
    width: 80px;
    height: 30px;
    font-size: 14px;
    text-align: center;
    color: #fff;
    background-color: #0074bf;
    border-radius: 4px
}

.dialog-table__zero {
    position: absolute;
    top: 100px;
    right: 0;
    left: 0;
    z-index: 1;
    padding: 0 20px;
    font-size: 1.6em;
    line-height: 1.7;
    text-align: center;
    color: #666
}

.dialog {
    padding: 0 40px
}

.dialog__result {
    display: flex;
    justify-content: flex-start;
    align-items: center
}

.dialog__result-group {
    display: flex;
    justify-content: flex-start
}

.dialog__result-title {
    font-size: 18px
}

@media screen and (max-width:768px) {
    .dialog-table__button {
        width: 60px
    }

    .dialog {
        padding: 0 10px
    }

    .dialog__result-title {
        font-size: 14px
    }
}

.dialog__result-value {
    font-size: 18px
}

.dialog__note {
    margin-left: 30px;
    font-size: 14px
}

@media screen and (max-width:768px) {
    .dialog__result-value {
        font-size: 14px
    }

    .dialog__note {
        margin-left: 10px;
        font-size: 10px
    }

    .dialog__checkbox+.form__label,
    .dialog__checkbox+.form__label--yellow {
        font-size: 10px
    }
}

.dialog__option {
    margin-left: auto;
    font-size: 16px
}

.search {
    display: flex;
    flex-shrink: 0;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin: auto
}

.search__box {
    position: relative;
    display: flex;
    flex-shrink: 0;
    justify-content: space-between;
    align-items: center;
    width: 100%
}

.search__label {
    position: absolute;
    bottom: 56px;
    display: block;
    font-size: 12px;
    color: #5d5d5d;
    opacity: 0;
    transition: .1s
}

.search__input-field {
    width: calc(100% - 170px);
    height: 40px;
    padding: 12px;
    font-size: 16px;
    border: 1px solid #ccc
}

@media screen and (max-width:768px) {
    .search__box {
        flex-wrap: wrap;
        justify-content: center
    }

    .search__input-field {
        width: 100%
    }
}

.search__input-field+.search__label {
    z-index: -1;
    visibility: hidden
}

.search__input-field:not(:-ms-input-placeholder)+.search__label,
.search__input-field:not(:placeholder-shown)+.search__label {
    z-index: 1;
    transform: translateY(-16px);
    visibility: visible;
    opacity: 1
}

.search__button {
    position: relative;
    width: 150px;
    height: 40px;
    padding-left: 10px;
    font-size: 16px;
    text-align: center;
    color: #fff;
    background-color: #0074bf;
    border-radius: 4px
}

.search__button::before {
    content: "";
    position: absolute;
    top: 22px;
    left: 52px;
    display: block;
    width: 10px;
    height: 2px;
    background: #fff;
    transform: rotate(45deg);
    transform-origin: 0 50%
}

.search__button::after {
    content: "";
    position: absolute;
    top: 10px;
    left: 40px;
    width: 16px;
    height: 16px;
    background: #0074bf;
    border: 2px solid #fff;
    border-radius: 50%
}

.search__button:hover {
    background-color: #0099e4
}

@media screen and (max-width:768px) {
    .search__button {
        width: 200px;
        margin-top: 10px
    }

    .search__button::before {
        left: 72px
    }

    .search__button::after {
        left: 60px
    }

    .search__button:hover {
        background-color: #0074bf
    }

    .search__button:active {
        background-color: #0099e4
    }
}

.news {
    display: flex;
    justify-content: center;
    width: 940px;
    margin: auto;
    font-size: 1.4rem
}

.news+.login {
    margin-top: 60px
}

.news+.login .contents,
.news+.login .contents--2 {
    padding: 40px
}

@media screen and (max-width:768px) {

    .news+.login .contents,
    .news+.login .contents--2 {
        padding: 40px 20px
    }

    .news {
        flex-direction: column;
        width: 100%
    }
}

.news__title {
    display: flex;
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    width: 120px;
    background-color: #f0f0f0;
    border: 1px solid #e0e0e0;
    border-radius: 6px
}

.news__title h1,
.news__title h2,
.news__title h3,
.news__title h4,
.news__title h5,
.news__title h6 {
    font-weight: 700;
    font-size: 16px
}

@media screen and (max-width:768px) {
    .news__title {
        width: 100%;
        padding: 6px 20px;
        text-align: center
    }
}

.news__list {
    flex-shrink: 0;
    width: calc(100% - 140px);
    margin-left: 20px
}

.news__anchor {
    display: block;
    text-decoration: underline
}

.news__anchor:hover {
    color: #f49000
}

@media screen and (max-width:768px) {
    .news__list {
        width: 100%;
        margin-left: 0;
        padding-left: 0
    }

    .news__anchor:hover {
        color: #333
    }

    .news__anchor:active {
        color: #f49000
    }
}

.news__item {
    width: 100%;
    padding: 16px;
    border-top: 1px solid #e0e0e0
}

.news__item:last-child {
    border-bottom: 1px solid #e0e0e0
}

.news__inner {
    display: flex
}

@media screen and (max-width:768px) {
    .news__item {
        padding: 0;
        font-size: 12px
    }

    .news__item:first-child {
        border-top: 0
    }

    .news__inner {
        flex-direction: column;
        padding-top: 12px;
        padding-bottom: 12px
    }
}

.news__date {
    font-weight: 700;
    color: #0074bf
}

.news__content {
    padding-left: 32px
}

@media screen and (max-width:768px) {
    .news__content {
        padding-top: 6px;
        padding-left: 0
    }
}

.notes {
    width: 700px;
    margin: 0 auto;
    padding: 40px 0;
    text-align: center;
    background-color: #f0f0f0;
    border-radius: 6px
}

@media screen and (max-width:768px) {
    .notes {
        width: calc(100vw - 32px);
        padding: 22px
    }
}

.notes__list {
    display: inline-block;
    line-height: 1.56
}

.notes__item {
    margin-left: 1em;
    list-style-position: outside;
    list-style-type: disc;
    font-weight: 700;
    font-size: 1.8rem;
    line-height: 1.56;
    text-align: left
}

.step,
.step--1,
.step--10,
.step--2,
.step--3,
.step--4,
.step--5,
.step--6,
.step--7,
.step--8,
.step--9 {
    display: flex;
    box-sizing: content-box;
    width: 600px;
    height: 50px;
    margin: 0 auto;
    background-color: #fff;
    border: 1px solid #999
}

.step--1 .step__item {
    width: 600px
}

@media screen and (max-width:768px) {

    .step,
    .step--1,
    .step--1 .step__item,
    .step--10,
    .step--2,
    .step--3,
    .step--4,
    .step--5,
    .step--6,
    .step--7,
    .step--8,
    .step--9 {
        width: 100%
    }
}

.step--2 .step__item {
    width: 300px
}

@media screen and (max-width:768px) {
    .step--2 .step__item {
        width: 50%
    }
}

.step--3 .step__item {
    width: 200px
}

@media screen and (max-width:768px) {
    .step--3 .step__item {
        width: 33.33333%
    }
}

.step--4 .step__item {
    width: 150px
}

@media screen and (max-width:768px) {
    .step--4 .step__item {
        width: 25%
    }
}

.step--5 .step__item {
    width: 120px
}

@media screen and (max-width:768px) {
    .step--5 .step__item {
        width: 20%
    }
}

.step--6 .step__item {
    width: 100px
}

@media screen and (max-width:768px) {
    .step--6 .step__item {
        width: 16.66667%
    }
}

.step--7 .step__item {
    width: 85.71429px
}

@media screen and (max-width:768px) {
    .step--7 .step__item {
        width: 14.28571%
    }
}

.step--8 .step__item {
    width: 75px
}

@media screen and (max-width:768px) {
    .step--8 .step__item {
        width: 12.5%
    }
}

.step--9 .step__item {
    width: 66.66667px
}

@media screen and (max-width:768px) {
    .step--9 .step__item {
        width: 11.11111%
    }
}

.step--10 .step__item {
    width: 60px
}

.step__item {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    font-size: 1.2rem;
    color: #666
}

@media screen and (max-width:768px) {
    .step--10 .step__item {
        width: 10%
    }

    .step__item {
        font-size: 10px
    }

    .step__item:first-of-type .step__text {
        transform: scale(.8)
    }
}

.step__item::after,
.step__item::before {
    content: "";
    position: absolute;
    top: 0;
    display: block;
    width: 0;
    height: 0;
    border-width: 25px 0 25px 14px;
    border-style: solid;
    transform: scaleY(105%)
}

.step__item::before {
    left: 1px;
    border-color: transparent transparent transparent #999
}

.step__item::after {
    right: -14px;
    z-index: 2;
    border-color: transparent transparent transparent #fff
}

.step__item:first-of-type::before {
    display: none
}

.step__item:last-of-type::after {
    display: none
}

.step__item:nth-child(n+2) {
    padding-left: 14px
}

.step__item.is-current {
    color: #fff;
    background-color: #0074bf
}

.step__item.is-current::after {
    border-color: transparent transparent transparent #0074bf
}

.step__item.is-current::before {
    display: none
}

.step__item .step2__text,
.step__item .step__text {
    margin-top: -5px
}

@media screen and (max-width:768px) {
    .step__item:nth-child(n+2) .step__text {
        width: 40px
    }

    .step__item .step2__text,
    .step__item .step__text {
        text-align: center
    }
}

.step__item .step__number {
    width: 100%;
    padding-top: 7px;
    font-weight: 700;
    font-size: 1.6rem;
    text-align: center
}

.table-form {
    width: 100%;
    border-spacing: 0;
    border-bottom: 1px solid #ccc
}

.table-form td,
.table-form th {
    padding-top: 22px;
    padding-bottom: 21px;
    line-height: 1.5;
    vertical-align: middle;
    border-top: 1px solid #ccc
}

@media screen and (max-width:768px) {
    .step__item .step__number {
        font-size: 1.4rem
    }

    .table-form {
        border-bottom: 0
    }

    .table-form td,
    .table-form th {
        display: block;
        width: 100%
    }
}

.table-form th {
    position: relative;
    width: 350px;
    padding-right: 20px;
    padding-left: 20px;
    font-weight: 700;
    font-size: 1.8rem;
    background-color: #f8f8f8
}

@media screen and (max-width:768px) {
    .table-form th {
        width: 100%;
        padding: 12px 16px;
        font-size: 1.4rem
    }
}

.table-form td {
    padding-right: 30px;
    padding-left: 40px;
    font-size: 1.6rem;
    background-color: #fff
}

.table-form__note {
    padding-top: 10px;
    font-size: 1.4rem;
    line-height: 1.56;
    color: #333
}

.table-form__note::before {
    content: "※"
}

.table-form__note--primary {
    padding-bottom: 10px;
    font-size: 1.6rem;
    line-height: 1.56;
    color: #333
}

.table-form__note--primary small {
    font-size: 1.4rem
}

.table-form__policy {
    padding: 20px;
    background-color: #fff;
    border: 1px solid #ccc
}

.table-form__policy-item {
    font-size: 1.6rem;
    line-height: 1.7
}

.table-form__policy-item::before {
    content: "※"
}

.table-form__policy-item:nth-child(n+2) {
    padding-top: 20px
}

.table-form__policy-item a {
    color: #006cff;
    text-decoration: underline
}

.table-form__policy-item a:hover {
    color: #f49000
}

.table-form--short {
    width: 200px
}

@media screen and (max-width:768px) {
    .table-form td {
        padding: 19px 16px;
        font-size: 1.4rem;
        border-top: 0
    }

    .table-form.is-confirm td {
        padding: 19px 16px 19px 38px
    }

    .table-form__policy-item a:hover {
        color: #333
    }

    .table-form__policy-item a:active {
        color: #f49000
    }

    .table-form--short {
        width: 100%
    }
}

.table-form--mid {
    width: 320px
}

.table-form__multiple {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start
}

@media screen and (max-width:768px) {
    .table-form--mid {
        width: 100%
    }

    .table-form__multiple {
        flex-wrap: wrap;
        justify-content: space-between
    }
}

.table-form__multiple-child,
.table-form__multiple-child--primary {
    display: flex;
    align-items: center
}

.table-form__multiple-child--primary:nth-child(n+2),
.table-form__multiple-child:nth-child(n+2) {
    padding-left: 20px
}

.table-form__name {
    padding-right: 10px;
    font-size: 1.6rem
}

.table-form__checkbox {
    padding-top: 20px
}

@media screen and (max-width:768px) {

    .table-form__multiple-child--primary:nth-child(n+2),
    .table-form__multiple-child:nth-child(n+2) {
        padding-left: 0
    }

    .table-form__multiple-child,
    .table-form__multiple-child--primary {
        width: calc(50% - 10px)
    }

    .table-form__name {
        font-size: 14px
    }

    .table-form__multiple-child--primary {
        flex-wrap: wrap;
        width: 100%
    }

    .table-form__multiple-child--primary .table-form__name {
        padding-top: 12px;
        padding-bottom: 12px
    }

    .table-form__checkbox {
        text-align: center
    }
}

.terms__lead {
    padding: 20px 0 39px;
    font-size: 1.8rem;
    line-height: 1.6;
    text-align: center
}

.terms__wrap {
    height: 440px;
    border: 1px solid #999
}

@media screen and (max-width:768px) {
    .terms__lead {
        padding: 12px 16px 20px;
        font-size: 1.6rem
    }

    .terms__wrap {
        height: 400px;
        margin: 0 13px
    }
}

.terms__container {
    height: 380px;
    margin: 30px 0;
    padding: 0 30px;
    overflow-y: scroll
}

.terms__title {
    font-weight: 700;
    font-size: 2rem;
    text-align: center
}

@media screen and (max-width:768px) {
    .terms__container {
        height: 340px;
        margin: 20px 0 24px;
        padding: 0 16px
    }

    .terms__title {
        font-size: 1.6rem
    }
}

.terms__text {
    padding-top: 35px;
    font-size: 1.4rem;
    line-height: 1.5
}

@media screen and (max-width:768px) {
    .terms__text {
        padding-top: 26px;
        font-size: 1.2rem;
        line-height: 1.8
    }
}

.terms__section {
    padding-top: 40px
}

.terms__section--title {
    padding-bottom: 12px;
    font-weight: 700;
    font-size: 2rem;
    border-bottom: 2px solid #0074bf
}

@media screen and (max-width:768px) {
    .terms__section--title {
        padding-bottom: 9px;
        font-size: 1.6rem
    }
}

.terms__section--list,
.terms__section--list2,
.terms__section--list3 {
    padding-top: 16px;
    font-size: 1.4rem;
    line-height: 1.5
}

.terms__section--list3 {
    padding: 0 0 0 1.7rem
}

.terms__section--list .terms__section--list3 {
    padding-left: 3.7rem
}

@media screen and (max-width:768px) {

    .terms__section--list,
    .terms__section--list2,
    .terms__section--list3 {
        font-size: 1.2rem;
        line-height: 1.8
    }

    .terms__section--list3 {
        padding-left: 1.5rem
    }

    .terms__section--list .terms__section--list3 {
        padding-left: 3.2rem
    }
}

.terms__section--list2 .terms__section--list {
    padding: 0 0 0 10px
}

.terms__section--item {
    padding-left: 3.7rem;
    text-indent: -3.7rem
}

@media screen and (max-width:768px) {
    .terms__section--item {
        padding-left: 3.2rem;
        text-indent: -3.2rem
    }
}

.terms__section--item2 {
    padding-left: 1.7rem;
    text-indent: -1.7rem
}

@media screen and (max-width:768px) {
    .terms__section--item2 {
        padding-left: 1.5rem;
        text-indent: -1.5rem
    }
}

.terms__section--item3 {
    padding-left: 1.7rem;
    text-indent: -1.7rem
}

.terms__section--text {
    padding-top: 16px;
    font-size: 1.4rem;
    line-height: 1.5
}

.terms__section--anchor {
    display: inline;
    color: #0074bf;
    text-decoration: underline
}

.terms__section--anchor:hover {
    color: #f49000
}

@media screen and (max-width:768px) {
    .terms__section--item3 {
        padding-left: 1.6rem;
        text-indent: -1.6rem
    }

    .terms__section--text {
        font-size: 1.2rem;
        line-height: 1.8
    }

    .terms__section--anchor:hover {
        color: #333
    }

    .terms__section--anchor:active {
        color: #f49000
    }
}

.terms__checkbox {
    padding-top: 27px;
    font-weight: 700;
    font-size: 1.8rem;
    text-align: center
}

.terms__button {
    width: 400px;
    margin: 0 auto;
    padding-top: 60px
}

@media screen and (max-width:768px) {
    .terms__checkbox {
        font-size: 1.6rem
    }

    .terms__button {
        width: 300px;
        padding-top: 43px
    }
}

.terms__agreement {
    width: 940px;
    margin: 0 auto
}

.terms__agreement .terms__text {
    padding-top: 0
}

.terms__date {
    padding-top: 40px;
    font-size: 1.4rem;
    text-align: right
}

@media screen and (max-width:768px) {
    .terms__agreement {
        width: 100%;
        padding-top: 40px
    }

    .terms__date {
        font-size: 1.2rem
    }
}

.text {
    padding-top: 40px;
    font-size: 1.8rem;
    line-height: 1.56;
    text-align: center
}

.text .br--sp {
    display: none
}

@media screen and (max-width:768px) {
    .text {
        font-size: 1.6rem
    }

    .text .br--pc {
        display: none
    }

    .text .br--sp {
        display: block
    }
}

.text-error {
    padding-top: 8px;
    font-size: 1.4rem;
    color: #cb0101
}

.text-error:empty {
    padding-top: 0
}

.text-error--box {
    margin-bottom: 24px;
    background-color: #ffe8e8;
    border: 1px solid #cb0101
}

.text-error--box .text-error {
    padding: 16px 15px;
    line-height: 1.6
}

@media screen and (max-width:768px) {
    .text-error {
        font-size: 1.3rem
    }

    .text-error--box .text-error {
        font-size: 1.4rem
    }
}

.toast--error {
    margin-bottom: 2rem;
    padding: 10px;
    line-height: 1.5;
    background-color: #ffe8e8;
    border: 1px solid #cb0101
}

.title,
.title--top {
    padding-bottom: 40px;
    font-weight: 700;
    font-size: 2.8rem;
    line-height: 1.36;
    text-align: center;
    color: #0074bf
}

@media screen and (max-width:768px) {

    .title,
    .title--top {
        padding: 0 0 32px
    }

    .title--top {
        font-size: 2.3rem
    }
}

@media screen and (max-width:375px) {

    .title,
    .title--top {
        padding: 0 16px 32px
    }
}

@media screen and (max-width:320px) {

    .title,
    .title--top {
        padding: 0 0 32px
    }
}

.title-label--required {
    display: inline-block;
    padding: 0 0 12px;
    font-weight: 700;
    font-size: 1.4rem
}

.title-label--required .label--require {
    margin-right: 5px
}

.title-label {
    padding-bottom: 8px;
    font-weight: 700;
    font-size: 1.4rem
}

.title-page {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center
}

.title-page::after {
    content: "";
    display: block;
    width: 50px;
    height: 2px;
    margin-top: 16px;
    background-color: #0074bf
}

@media screen and (max-width:768px) {
    .title-label {
        padding-bottom: 7px
    }

    .title-page::after {
        margin-top: 14px
    }
}

.title-page__logo,
.title-page__name {
    display: block;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%
}

.title-page__logo {
    padding-right: 18px
}

.title-page__small {
    padding-bottom: 16px;
    font-weight: 700;
    font-size: 1.6rem;
    color: #0074bf;
    text-align: center;
}

@media screen and (max-width:768px) {
    .title-page__small {
        padding-bottom: 14px
    }
}

.title-page__name {
    display: block;
    font-weight: 700;
    font-size: 3.2rem
}

.title-section {
    width: 940px;
    margin: 0 auto;
    padding: 60px 0 12px;
    font-weight: 700;
    font-size: 2rem;
    border-bottom: 2px solid #0074bf
}

.title-sub {
    font-weight: 700;
    font-size: 2.2rem;
    text-align: center
}

@media screen and (max-width:768px) {
    .title-section {
        width: 100%
    }

    .title-sub {
        padding-top: 18px
    }
}

.user {
    text-align: center
}

.user__companyname {
    padding-top: 16px;
    font-weight: 700;
    font-size: 1.4rem
}

.user__name {
    padding-top: 16px;
    font-weight: 700;
    font-size: 2.2rem
}

.inquiries {
    width: 530px;
    margin: 0 auto
}

.inquiries__text,
.inquiries__text--confirmation {
    margin-bottom: 28px;
    font-size: 16px;
    line-height: 1.6
}

.inquiries__text.is-border--bottom,
.is-border--bottom.inquiries__text--confirmation {
    padding-bottom: 24px;
    border-bottom: 1px solid #ccc
}

.inquiries__text.is-border--top,
.is-border--top.inquiries__text--confirmation {
    padding-top: 24px;
    border-top: 1px solid #ccc
}

.inquiries__text--confirmation {
    margin-bottom: 8px
}

.inquiries__section,
.inquiries__section--border,
.inquiries__section--flex {
    padding-bottom: 28px
}

.inquiries__section--flex {
    display: flex;
    justify-content: space-between
}

@media screen and (max-width:768px) {
    .inquiries {
        width: 100%;
        margin-top: 30px
    }

    .inquiries__section--flex {
        justify-content: flex-start
    }

    .inquiries__section--flex .inquiries__section--multi {
        width: calc(50% - 10px)
    }

    .inquiries__section--flex .inquiries__section--multi:nth-of-type(2) {
        margin-left: 10px
    }
}

.inquiries__section--border {
    margin-bottom: 24px;
    border-bottom: 1px solid #ccc
}

.inquiries__section--border .form__textarea {
    height: 180px
}

.inquiries__text--short {
    width: 260px
}

.inquiries__policy {
    border: 1px solid #ccc
}

.inquiries__policy-list {
    margin: 0 20px;
    padding: 16px 0 20px;
    border-bottom: 1px solid #ccc
}

.inquiries__policy-list .table-form__policy-item {
    padding-top: 0
}

.inquiries__policy-checkbox {
    padding: 23px 0;
    text-align: center
}

.inquiries__confirmation-section {
    padding-top: 36px
}

.inquiries__confirmation-label,
.inquiries__confirmation-label--flex {
    padding-bottom: 4px;
    border-bottom: 1px solid #ccc
}

.inquiries__confirmation-label--flex {
    display: flex
}

.inquiries__confirmation-label--flex .title-label:nth-of-type(n+2) {
    padding-left: 22px
}

.inquiries__confirmation-text {
    padding-top: 12px;
    font-size: 1.4rem;
    line-height: 1.6
}

.inquiries__contirmation-content {
    display: flex
}

.inquiries__contirmation-content .inquiries__confirmation-text:nth-of-type(n+2) {
    padding-left: 24px
}

.login--2 {
    padding-top: 20px
}

@media screen and (max-width:768px) {
    .inquiries__text--short {
        width: 100%
    }

    .login--2 {
        padding: 0 16px
    }
}

.login__title {
    padding-bottom: 16px;
    font-weight: 700;
    font-size: 2.2rem;
    line-height: 1.36;
    text-align: center;
    color: #0074bf
}

@media screen and (max-width:768px) {
    .login__title {
        padding: 0 0 16px
    }
}

@media screen and (max-width:375px) {
    .login__title {
        padding: 0 16px 16px
    }
}

@media screen and (max-width:320px) {
    .login__title {
        padding: 0 0 16px
    }
}

.clearfix::after {
    content: "";
    display: table;
    clear: both
}

.u-text--normal {
    font-weight: 400 !important;
    font-style: normal !important
}

.u-text--bold {
    font-weight: 700 !important
}

.u-text--italic {
    font-style: italic !important
}

.u-text--left {
    text-align: left !important
}

.u-text--center {
    text-align: center !important
}

.u-text--right {
    text-align: right !important
}

.u-hidden {
    display: none !important
}

@media screen and (min-width:1025px) {
    .u-hidden--pc {
        display: none !important
    }
}

@media screen and (max-width:1024px) {
    .u-hidden--ipad-pro {
        display: none !important
    }
}

@media screen and (max-width:768px) {
    .mypage__user {
        padding-top: 40px
    }

    .u-hidden--ipad {
        display: none !important
    }
}

@media screen and (max-width:479.98px) {
    .signup--2 .lead {
        text-align: left
    }

    .u-hidden--sp {
        display: none !important
    }

    .u-show--sp {
        display: block !important
    }
}

.u-show {
    display: block !important
}

@media screen and (min-width:1025px) {
    .u-show--pc {
        display: block !important
    }
}

@media screen and (max-width:1024px) {
    .u-show--ipad-pro {
        display: block !important
    }
}

@media screen and (max-width:768px) {
    .u-show--ipad {
        display: block !important
    }
}

/* coreui style for modal-danger */
.modal-danger .modal-content {
    border-color: #f86c6b;
}

.modal-danger .modal-header {
    color: #fff;
    background-color: #f86c6b;
}

.btn-danger {
    color: #fff;
    background-color: #f86c6b;
    border-color: #f86c6b;
}

.btn-danger:hover {
    color: #fff;
    background-color: #f64846;
    border-color: #f63c3a;
}

.btn-danger:focus,
.btn-danger.focus {
    box-shadow: 0 0 0 0.2rem rgba(248, 108, 107, 0.5);
}

.btn-danger.disabled,
.btn-danger:disabled {
    color: #fff;
    background-color: #f86c6b;
    border-color: #f86c6b;
}

.btn-danger:not(:disabled):not(.disabled):active,
.btn-danger:not(:disabled):not(.disabled).active,
.show>.btn-danger.dropdown-toggle {
    color: #fff;
    background-color: #f63c3a;
    border-color: #f5302e;
}

.btn-danger:not(:disabled):not(.disabled):active:focus,
.btn-danger:not(:disabled):not(.disabled).active:focus,
.show>.btn-danger.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.2rem rgba(248, 108, 107, 0.5);
}

/* coreui style for modal-danger */

/* idpf frame start */
.idpf-container {
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    min-height: 100vh;
}

/* idpf header start */
.idpf-header {
    position: fixed;
    z-index: 1020;
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    height: 80px;
    padding: 0;
    margin: 0;
    color: #333;
    background-color: #fff;
    border-bottom: 1px solid #c8ced3;
}

.idpf-header-toggler {
    background-color: transparent;
    border: 1px solid transparent;
    cursor: pointer;
    min-width: 50px;
    border-radius: 0.25rem;
    padding: 0 0.5rem;
    text-align: center;
}

#idpf-header-toggler-sm {
    display: none;
}

#idpf-header-toggler {
    margin: 2rem 0 2rem 3rem;
}

.idpf-header-logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 200px;
    height: 80px;
    padding: 0;
    margin-right: 0;
    background-color: transparent;
}

.idpf-header-logo img {
    width: 183px;
    height: auto
}

.idpf-header-link {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none;
    flex-wrap: wrap;
    margin-left: auto;
}

.idpf-header-link a {
    position: relative;
    margin: 0;
    padding-right: 0.5rem;
    padding-left: 0.5rem;
    text-align: center;
}

.idpf-header-right {
    flex: 1;
    display: flex;
}

@media screen and (max-width:768px) {
    .idpf-header {
        height: 35px;
    }

    .idpf-header-sm-left {
        flex: 1;
        display: flex;
    }

    #idpf-header-toggler-sm {
        display: block;
        margin-right: auto;
    }

    #idpf-header-toggler {
        display: none;
    }

    .idpf-header-logo {
        width: 138px;
        height: 35px;
        flex: 1;
    }

    .idpf-header-logo img {
        width: auto;
        height: 30px
    }
}

@media screen and (max-width:400px) {
    .idpf-header-link span {
        display: none;
    }
}

/* idpf header end */

/* idpf body start */
.idpf-body {
    display: flex;
    flex-direction: row;
    flex-grow: 1;
    overflow-x: hidden;
    margin-top: 80px;
}

@media screen and (max-width:768px) {
    .idpf-body {
        margin-top: 35px;
    }
}

.idpf-container .idpf-main {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}

.idpf-container .idpf-content {
    flex: 1;
    padding: 1rem;
}

.idpf-container .idpf-sidebar {
    height: calc(100vh - 80px);
    position: fixed;
    z-index: 1019;
    width: 200px;

    display: flex;
    flex: 0 0 200px;
    flex-direction: column;
    order: -1;
    padding: 1rem;
    background: #f3f3f3;
    color: #333;
    font-size: 1.3rem;
    overflow: hidden;
}

@media screen and (max-width:768px) {
    .idpf-container .idpf-sidebar {
        height: calc(100vh - 35px);
    }
}

/* idpf sidebar start */
.idpf-sidebar .idpf-sidebar-header {
    flex: 0 0 auto;
    padding: 0.75rem 1rem;
    text-align: center;
    font-size: 1.5rem;
    font-weight: 700;
    text-transform: uppercase;
    user-select: none;
}

.idpf-sidebar hr {
    margin: 1rem 0;
    border-top: 1px solid rgba(0, 0, 0, .25);
}


.idpf-sidebar .idpf-nav {
    width: 100%;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.idpf-sidebar .idpf-nav-link {
    display: block;
    padding: 1rem 1.4rem;
    text-decoration: none;
    background: transparent;
    user-select: none;
    width: 100%;
    cursor: pointer;
}

.idpf-sidebar .idpf-nav-item {
    position: relative;
    margin: 0;
    transition: background .3s ease-in-out;
}

.idpf-sidebar .idpf-nav-link.active {
    color: #fff !important;
    background: #8a8a8a;
}

.idpf-sidebar .idpf-nav-link:hover {
    color: #fff !important;
    background: #bfbfbf;
}

.idpf-footer {
    padding: 20px 0;
    background-color: #fff;
}

/* sidebar normal hide start */

.idpf-sidebar {
    margin-left: -200px;
}

.idpf-main {
    margin-left: 0px;
}

/* sidebar normal hide end */

/* sidebar normal show start */

@media screen and (min-width:768.02px) {
    .idpf-sidebar-show .idpf-sidebar {
        margin-left: 0;
    }

    .idpf-sidebar-show .idpf-main {
        margin-left: 0;
    }
}

/* sidebar normal show end */

/* sidebar small hide start */

.idpf-sidebar {
    margin-left: -200px;
}

.idpf-main {
    margin-left: 0px;
}

/* sidebar small hide end */

/* sidebar small show start */

@media screen and (max-width:768px) {
    .idpf-sidebar-show-sm .idpf-sidebar {
        margin-left: 0;
    }

    .idpf-sidebar-show-sm .idpf-main {
        margin-left: 0px;
    }

    .idpf-sidebar-show-sm .idpf-main:before {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1018;
        width: 100%;
        height: 100%;
        content: "";
        background: rgba(0, 0, 0, 0.7);
        -webkit-animation: opacity 0.25s;
        animation: opacity 0.25s;
    }
}

/* sidebar small show end */
/* idpf sidebar end */

/* transition */
.idpf-sidebar,
.idpf-main {
    transition: margin-left 0.25s, margin-right 0.25s, width 0.25s, flex 0.25s;
    transition: margin-left 0.25s, margin-right 0.25s, width 0.25s, flex 0.25s, -ms-flex 0.25s;
}

/* idpf body start */

/* idpf frame end */

/* alert start */
.alert {
    font-size: 1.4rem !important;
    line-height: 2.1rem !important;
}

/* alert end */

/* idpf link button start */
.link-button {
    text-decoration: none !important;
}
/* idpf link button start */

.ntteid-prev, .ntteid-prev--2, .ntteid-prev--3, .ntteid-prev--4 {
    display: flex;
    justify-content: center;
    width: 400px;
    margin: 0 auto;
    padding-top: 12px;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .ntteid-prev, .ntteid-prev--2, .ntteid-prev--3, .ntteid-prev--4 {
        width: 100%;
        padding-top: 12px;
    }
}

.login {
    margin-top: 10px;
}

.global-footer__links-item a {
    color: #000;
}