* {
    padding: 0;
    margin: 0;
    line-height: inherit
}

*,
::after,
::before {
    box-sizing: border-box
}

:root {
    word-break: break-all;
    word-wrap: break-word;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
    font: 1rem/1.2 -apple-system-subset, Helvetica, Hiragino Sans, sans-serif, Emoji;
    color: #333;
    background-color: #ebebeb
}

body {
    overflow-x: hidden
}

main {
    display: block
}

button,
h1,
h2,
h3,
h4,
h5,
h6,
input,
option,
select,
small,
textarea {
    font-family: inherit;
    font-size: inherit
}

b,
em,
strong {
    font-style: inherit;
    font-weight: 700
}

canvas,
iframe,
img,
picture,
source,
svg,
video {
    vertical-align: top;
    border: 0
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
    border-color: currentcolor;
    border-style: solid;
    border-width: 1px 0 0
}

fieldset {
    border: 0
}

label {
    display: inline-block;
    vertical-align: top
}

input::-ms-clear,
input::-ms-reveal {
    display: none
}

input[type=button],
input[type=reset],
input[type=submit] {
    cursor: pointer
}

input[type=number] {
    -webkit-appearance: textfield;
    appearance: textfield
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    appearance: none;
    margin: 0
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
    display: none;
    -webkit-appearance: none;
    appearance: none
}

button {
    overflow: hidden
}

button,
input,
select,
textarea {
    -webkit-appearance: none;
    appearance: none;
    vertical-align: top;
    background-color: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none
}

button:disabled,
input:disabled,
select:disabled,
textarea:disabled {
    color: currentcolor;
    opacity: 1
}

ol,
ul {
    list-style: none
}

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

@font-face {
    font-family: "Hiragino Sans";
    font-weight: 400;
    src: local(HiraginoSans-W3)
}

@font-face {
    font-family: "Hiragino Sans";
    font-weight: 700;
    src: local(HiraginoSans-W6)
}

@font-face {
    font-family: "Emoji";
    src: local("Segoe UI Emoji"), local("Segoe UI Symbol"), local("Apple Color Emoji"), local("Noto Color Emoji"), local("Noto Emoji")
}

@font-face {
    font-family: "Emoji";
    font-weight: 700;
    src: local("Segoe UI Emoji"), local("Segoe UI Symbol"), local("Apple Color Emoji"), local("Noto Color Emoji"), local("Noto Emoji")
}

a {
    color: #0064c8;
    text-decoration: none
}

button:enabled {
    cursor: pointer
}

img {
    font-size: 10px;
    color: #757575;
    text-align: left
}

@media (hover:hover)and (pointer:fine) {
    a:hover {
        color: #017fff
    }

    a:visited {
        color: #6524a6
    }

    a:visited:hover {
        color: #8a2be8
    }
}

:root .MEM,
:root .Masthead {
    max-width: 674px;
    margin: 0 auto
}

:root .Masthead::before {
    width: 0
}

:root .MEM::before {
    width: 100%
}

.Main {
    max-width: 674px;
    margin: 0 auto
}

.Header {
    line-height: 1.4
}

.Header__text {
    display: flex;
    flex-direction: column;
    align-items: center
}

.Masthead {
    position: relative;
    display: flex;
    background-color: #fff
}

.Masthead::before {
    position: absolute;
    top: 0;
    left: calc(50% - 50vw);
    z-index: -1;
    width: 100vw;
    height: 100%;
    content: "";
    background-color: inherit
}

@media screen and (max-width:990px) {
    .Masthead--pc::before {
        left: -8px;
        width: 1006px
    }
}

.Masthead__inner {
    display: flex;
    align-items: center;
    justify-content: space-between
}

.Masthead__link {
    display: inline-flex
}

.Masthead__link--pc {
    margin: 12px 10px 12px 5px
}

.Masthead__link--sp {
    margin: 11px 12px 11px 13px
}

.Masthead--responsive .Masthead__link--pc {
    display: none
}

.Masthead--responsive .Masthead__link--sp {
    display: block
}

@media screen and (min-width:768px) {
    .Masthead--responsive .Masthead__link--pc {
        display: block
    }

    .Masthead--responsive .Masthead__link--sp {
        display: none
    }
}

:root {
    --MEM-background-color: #fff
}

.MEM {
    position: relative;
    z-index: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 1px 0;
    margin: -1px 0
}

.MEM::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100vw;
    min-width: 100%;
    height: calc(100% - 2px);
    content: "";
    background-color: var(--MEM-background-color)
}

.MEM>* {
    width: 100%;
    max-width: 670px
}

.Footer {
    font-size: .875rem;
    padding: 12px 12px 16px;
    background-color: #ebebeb;
    border-top: 3px solid #d4d7db
}

.Footer,
.Footer__accountLinks {
    display: flex;
    flex-direction: column;
    align-items: center
}

.Footer__accountLink:not(:first-child) {
    margin-top: 8px
}

.Footer__backLinks {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 8px
}

.Footer__backLink:not(:first-child) {
    margin-left: 4px
}

.Footer__backLink:not(:first-child)::before {
    margin-right: 4px;
    content: "\7C"
}

.Footer__serviceLinks {
    flex-wrap: wrap;
    justify-content: center;
    max-width: 990px;
    margin: 0 0 0 -.5em
}

@media screen and (min-width:768px) {
    .Footer__serviceLinks {
        font-size: .75rem;
        margin-top: 8px
    }
}

.Footer__serviceLinks--largeDisplay {
    display: none
}

@media screen and (min-width:768px) {
    .Footer__serviceLinks--largeDisplay {
        display: flex
    }
}

.Footer__serviceLinks--smallDisplay {
    display: flex
}

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

.Footer__serviceLink {
    display: flex;
    flex-shrink: 0;
    margin: 16px 0 0 .5em
}

@media screen and (min-width:768px) {
    .Footer__serviceLink {
        margin-top: 8px
    }
}

.Footer__serviceLink:not(:first-child)::before {
    margin-right: .5em;
    content: "\2D"
}

.Footer__copyright {
    font-size: .75rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 8px
}

.Button {
    display: inline-flex;
    font-weight: 700;
    background-color: #fff;
    border-radius: 4px
}

@media screen and (max-width:767px) {
    .Button {
        width: 100%
    }
}

.Button__main {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 14px 16px;
    border: 1px solid;
    border-radius: 4px;
    width: 100%
}

@media screen and (min-width:768px) {
    .Button__main {
        padding: 8px 12px;
        width: 400px
    }
}

.Button--mp .Button__main {
    color: #333;
    background-color: #f7f7f7;
    border-color: #ccc
}

.Button--ff .Button__main {
    color: #fff;
    background-color: #cc4e00;
    border-color: #cc4e00
}

@media (hover:hover)and (pointer:fine) {
    .Button:hover .Button__main {
        opacity: .75
    }
}

.ButtonList {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}

.ButtonList:not(:first-child) {
    margin-top: 24px;
    gap: 16px;
}

@media screen and (max-width:767px) {
    .ButtonList__item {
        width: 100%;
        text-align: center;
        line-height: 1;
    }
}

.ContentsHeader {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 40px;
    padding: 8px 16px;
    margin-top: 8px;
    background-color: #fff
}

.ContentsHeader__text {
    font-weight: inherit
}

.ContentsHeader::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    content: "";
    background-color: #ccc;
    -webkit-transform: scaleY(.5);
    transform: scaleY(.5);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0
}

.DetailItem {
    padding: 16px 0;
    line-height: 1.4
}

.DetailItem__title {
    color: #000
}

.DetailItem__body {
    padding-top: 8px;
    margin-top: 4px;
    line-height: 1.6;
    border-top: 1px solid #ccc
}

.DetailItem__body dd:not(:first-child),
.DetailItem__body dl:not(:first-child),
.DetailItem__body li:not(:first-child),
.DetailItem__body ol:not(:first-child),
.DetailItem__body p:not(:first-child),
.DetailItem__body ul:not(:first-child) {
    margin-top: .5em
}

.DetailItem__body address {
    font-style: inherit
}

.DetailList__invisible {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px)
}

.DetailList__text {
    line-height: 1.4
}

.DetailList__items {
    margin-top: 12px
}

.Notice {
    line-height: 1.4
}

.Notice__item::before {
    width: 1em;
    font-weight: 400;
    text-align: center;
    content: "\30FB"
}

.Notice,
.Notice__text {
    margin-top: 28px
}

.Purchase__inner {
    padding: 12px 16px 16px;
    background-color: #fff
}

.Purchase__inner:not(:first-child) {
    margin-top: 8px
}

.Purchase__caution {
    font-size: .875rem;
    margin-top: 24px;
    color: #E60013
}

.Policy__inner {
    padding: 12px 16px 16px;
    background-color: #fff
}