@charset 'shift_jis';
/* ============ STYLE ============ */
html {
    font-family: "Noto Sans JP", sans-serif;
    color: #000;
    font-size: 10px;
    font-weight: 400;
    line-height: 1.5em;
    letter-spacing: 0;
}
body {
    text-align: justify;
        -webkit-text-size-adjust: 100%;
}
body.ready {
    opacity: 1;
}
a {
    color: #000;
    margin: 0 !important;
    padding: 0 !important;
    text-decoration: none;
}
a:hover {
    cursor: pointer;
}
*:focus {
    outline: none;
}
a.underline {
    text-decoration: underline;
}

img {
    max-width: 100%;
	vertical-align: bottom;
}
body.scroll-disable {
    overflow: hidden;
}

/* -----------------------
COMMON
-------------------------- */
/* LAYOUT */
.page {width: 100%; max-width: 375px; margin: 0 auto;}
.page__inner {margin: 0 auto;}
.page__inner--wide95 {width: 95%;}
.page__inner--wide93 {width: 93%;}
.page__inner--wide90 {width: 90%;}
.page__inner--wide85 {width: 85%;}
.page__inner--wide80 {width: 80%;}
.page__inner--wide75 {width: 75%;}
.page__inner--wide70 {width: 70%;}
.page__inner--wide65 {width: 65%;}
.page__inner--wide60 {width: 60%;}
.page__inner--wide55 {width: 55%;}
.page__inner--wide50 {width: 50%;}
.page__inner--wide45 {width: 45%;}
.page__inner--wide40 {width: 40%;}
.page__inner--wide35 {width: 35%;}
.page__inner--wide30 {width: 30%;}
@media only screen and (max-width: 640px) {
    .page {width: 100%; max-width: 100%; margin: 0 auto;}
}

/* DISPLAY FLEX */
.display__flex-between {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

/* TEXT */
p,li {
  font-size: 1.6rem;
  line-height: 1.5em;
  text-align: justify;
}

/* BUTTON */
.button {
    display: block !important;
    gap: 0.5em !important;
    width: 22.3rem !important;
    margin: 0 auto !important;
    padding: 1.4rem 0 !important;
    font-family: "Zen Kaku Gothic New", sans-serif !important;
    font-size: 1.6rem !important;
    font-weight: 500 !important;
    text-align: center !important;
    line-height: 1em !important;
    border-radius: 9rem !important;
    position: relative !important;
}
.button.full {
    width: 93% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.button::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 1em;
    transform: translateY(-50%) rotate(45deg);
    width: 0.6em;
    height: 0.6em;
}

/* LIST */
.list--bullet {
    display: block;
    text-align: justify;
}
.list__item,
.list__item--dot {
    position: relative;
}
.list__item::before {
	content: '\203B';
    position: absolute;
	top: 0;
	left: 0;
}
.list__item--dot::before {
	content: '\30FB';
    position: absolute;
	top: 0;
	left: 0;
}

.list__item--fs14 {
    padding-left: 1.5rem;
    font-size: 1.4rem;
}
.list__item--fs13 {
    padding-left: 1.4rem;
    font-size: 1.3rem;
}

.list__item--small {
    padding-left: 1.3rem;
    font-size: 1.2rem;
}

/* list numbered */
.numbered-list {
    list-style: decimal !important;
    list-style-position: outside !important;
    padding-left: 1.8em !important;
    margin: 0 !important;
}
.numbered-list li {
    margin-bottom: 1em;
    text-align: left !important;
    display: list-item !important;
}
.numbered-list li:last-child {
    margin-bottom: 0;
}


/* COMMON */
.common-mv img {
    width: 100%;
}
.common-title--terms {
    padding: 2.4rem 1.6rem;
    text-align: center;
    background-color: #FFF8E6;
    border: solid 1px #36B62A;
    border-radius: 1.5rem;
}
.common-terms {
    border: solid 1px #ccc;
    border-radius: .6rem;
}
.common-terms--title {
    padding: 1.4rem;
    font-size: 1.4rem;
    background-color: #ddd;
}
.common-terms--text {
    height: 20rem;
    padding: 1.4rem;
    font-size: 1.2rem;
    word-break: break-word;
    overflow-wrap: break-word;
    border-top: solid 1px #ccc;
    overflow-y: scroll;
}

.button__common--submit {
    padding: 1.8rem 0 !important;
    color: #fff;
    background-color: #FF7E22;
    border-radius: .6rem !important;
}
.button__common--submit.is-disabled {
    pointer-events: none;
    opacity: 0.5;
    background-color: #ccc;
    color: #fff;
    cursor: not-allowed;
}

/* -----------------------
  form
-------------------------- */
.form__label {
    font-weight: 500;
}
.form__label span {
    color: #E1502E;
}

input[type="text"],
input[type="name"],
input[type="number"],
input[type="email"],
input[type="tel"],
input[type="postal-code"],
input[type="password"] {
    padding: 1rem;
    font-size: 1.6rem;
    line-height: 1em;
	background: #f5f2f2;
	border: solid 1px #d9d1ce;
    border-radius: 6px;
	z-index: 0 !important;
}
input[type="text"]:focus,
input[type="name"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="postal-code"]:focus,
input[type="password"]:focus {
	background: #f5f2f2;
	border: solid 1px #d9d1ce;
	z-index: 0 !important;
	outline: 0;
}
::placeholder {
	color: #B0B0B0;
	font-size: 1.6rem;
}

textarea {
    padding: 1rem;
    font-size: 1.6rem;
    line-height: 1.3em;
	background: #f5f2f2;
	border: solid 1px #d9d1ce;
    border-radius: 6px;
	z-index: 0 !important;
}
textarea:focus {
	background: #f5f2f2;
	border: solid 1px #d9d1ce;
	z-index: 0 !important;
	outline: 0;
}

/* image */
input[type="image"] {
    width: 100%;
}

/* radio */
.form__group {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    margin: 0 auto;
}  
.form__radio {
    display: flex;
    align-items: center;
    position: relative;
    padding: 1.6rem;
    /*background-color: #f5f2f2;*/
    background-color: #f5f2f2;
    border: solid 1px #4F74D0;
    border-radius: 6px;
    transition: background-color 0.3s;
    cursor: pointer;
}  
.form__radio input[type="radio"] {
    display: none;
} 
.form__radio:has(input[type="radio"]:checked) {
    background-color: #4F74D0;
}
.form__radio:has(input[type="radio"]:checked) .form__radio-label {
    color: #fff;
}
.form__radio:has(input[type="radio"]:checked)::after {
    content: '\25c9';
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.4rem;
    color: #fff; /* or お好みの色 */
}
.form__radio-label {
    display: block;
    width: 100%;
    text-align: left;
    font-size: 1.6rem;
    border-radius: 6px;
}

/* CHECKBOX */
input[type="checkbox"]{
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
    position: relative;
    padding-left: 26px;
    vertical-align: middle;
}
input[type="checkbox"]::before{
    content: "";
    width: 20px;
    height: 20px;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-65%);
    background-size: 100%;
    background-image:  url(../img/check-before.png);
    background-repeat: no-repeat;
}
input[type="checkbox"]:checked::before {
    border-color:  #d9d9d9;
}
input[type="checkbox"]:checked::after {
    content: "";
    width: 20px;
    height: 20px;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-65%);
    background-size: 100%;
    background-image:  url(../img/check-after.png);
    background-repeat: no-repeat;
}

#form__common-terms {
    text-align: center;
}
#form__common-terms label {
    display: inline-block;
}
.checkbox__text {
    font-size: 1.5rem;
    line-height: 2em;
}

/* SELECT */
.form__select-wrapper {
    position: relative;
}  
.form__select-wrapper::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 1.6rem;
    transform: translateY(-50%) rotate(45deg);
    width: 0.7em;
    height: 0.7em;
    border-right: 2px solid #000;
    border-bottom: 2px solid #000;
    pointer-events: none;
}
.form__select {
    width: 100%;
    padding: 1.6rem;
    font-size: 1.6rem;
    line-height: 1em;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    border: solid 1px #d9d1ce;
    border-radius: 6px;
    background-color: #f5f2f2; /* ← 背景色グレー */
    cursor: pointer;
}


/* MY PAGE */
.common-bnr-cassette--2col {
    width: 48%;
}
.common-bnr-cassette--3col {
    width: 31%;
}

.common-title--mypage {
    padding: 1.6rem 1.6rem 1.6rem 5.4rem;
    color: #272727;
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1em;
    background-color: #FFF8E6;
    background-image: url(../img/line-common-title-icon.png);
    background-position: 1rem center;
    background-size: 3.4rem;
    background-repeat: no-repeat;
    border-bottom: solid 1px #36B62A;
}


/* -----------------------
FOOTER
-------------------------- */
footer {
    padding: 6rem 0 2em;
    text-align: center;
}
.footer__logo {
    width: 15.882rem;
    margin: 0 auto;
}
.footer__nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 2rem;
}
.footer__nav li {
    padding: 0 2rem;
    font-size: 1.2rem;
    line-height: 1em;
    border-right: solid 1px #000;
}
.footer__nav li:last-child {
    border: none;
}
footer small {
    display: block;
    margin-top: 2rem;
    font-size: 1.2rem;
    line-height: 1em;
}

/* -----------------------
SPIRAL
-------------------------- */
.spiral-seal__text {
    margin: 1rem auto 0;
    font-size: 1.2rem;
    line-height: 1.5em;
}
.spiral-seal__text a {
    text-decoration: underline !important;
}
.spiral-seal__img {
    display: block !important;
    width: 11.4rem;
    margin: 1rem auto 0;
}
.spiral-seal__img img {
    float: none !important;
}
.header_emesg {
    margin: 2rem 0 !important;
    color: #ff0000 !important;
    font-size: 1.4rem !important;
    text-align: center !important;
}
.msg {
    margin: .5rem 0 !important;;
    color: #ff0000;
    font-size: 1.4rem;
    line-height: 1em;
}

/* -----------------------
UTILITY
-------------------------- */
.u-mt05 {margin-top: .5rem !important;}
.u-mt10 {margin-top: 1.0rem !important;}
.u-mt15 {margin-top: 1.5rem !important;}
.u-mt20 {margin-top: 2.0rem !important;}
.u-mt25 {margin-top: 2.5rem !important;}
.u-mt30 {margin-top: 3.0rem !important;}
.u-mt35 {margin-top: 3.5rem !important;}
.u-mt40 {margin-top: 4.0rem !important;}
.u-mt45 {margin-top: 4.5rem !important;}
.u-mt50 {margin-top: 5.0rem !important;}
.u-mt55 {margin-top: 5.5rem !important;}
.u-mt60 {margin-top: 6.0rem !important;}
.u-mt65 {margin-top: 6.5rem !important;}
.u-mt70 {margin-top: 7.0rem !important;}
.u-mt75 {margin-top: 7.5rem !important;}
.u-mt80 {margin-top: 8.0rem !important;}
.u-mt85 {margin-top: 8.5rem !important;}
.u-mt90 {margin-top: 9.0rem !important;}
.u-mt95 {margin-top: 9.5rem !important;}
.u-mt100 {margin-top: 10.0rem !important;}
.u-mt105 {margin-top: 10.5rem !important;}
.u-mt110 {margin-top: 11.0rem !important;}
.u-mt115 {margin-top: 11.5rem !important;}
.u-mt120 {margin-top: 12.0rem !important;}
.u-mt125 {margin-top: 12.5rem !important;}
.u-mt130 {margin-top: 13.0rem !important;}
.u-mt135 {margin-top: 13.5rem !important;}
.u-mt140 {margin-top: 14.0rem !important;}
.u-mt145 {margin-top: 14.5rem !important;}
.u-mt150 {margin-top: 15.0rem !important;}

.u-mb05 {margin-bottom: .5rem !important;}
.u-mb10 {margin-bottom: 1.0rem !important;}
.u-mb15 {margin-bottom: 1.5rem !important;}
.u-mb20 {margin-bottom: 2.0rem !important;}
.u-mb25 {margin-bottom: 2.5rem !important;}
.u-mb30 {margin-bottom: 3.0rem !important;}
.u-mb35 {margin-bottom: 3.5rem !important;}
.u-mb40 {margin-bottom: 4.0rem !important;}
.u-mb45 {margin-bottom: 4.5rem !important;}
.u-mb50 {margin-bottom: 5.0rem !important;}
.u-mb55 {margin-bottom: 5.5rem !important;}
.u-mb60 {margin-bottom: 6.0rem !important;}
.u-mb65 {margin-bottom: 6.5rem !important;}
.u-mb70 {margin-bottom: 7.0rem !important;}
.u-mb75 {margin-bottom: 7.5rem !important;}
.u-mb80 {margin-bottom: 8.0rem !important;}
.u-mb85 {margin-bottom: 8.5rem !important;}
.u-mb90 {margin-bottom: 9.0rem !important;}
.u-mb95 {margin-bottom: 9.5rem !important;}
.u-mb100 {margin-bottom: 10.0rem !important;}
.u-mb105 {margin-bottom: 10.5rem !important;}
.u-mb110 {margin-bottom: 11.0rem !important;}
.u-mb115 {margin-bottom: 11.5rem !important;}
.u-mb120 {margin-bottom: 12.0rem !important;}
.u-mb125 {margin-bottom: 12.5rem !important;}
.u-mb130 {margin-bottom: 13.0rem !important;}
.u-mb135 {margin-bottom: 13.5rem !important;}
.u-mb140 {margin-bottom: 14.0rem !important;}
.u-mb145 {margin-bottom: 14.5rem !important;}
.u-mb150 {margin-bottom: 15.0rem !important;}

.u-ml05 {margin-left: .5rem !important;}
.u-ml10 {margin-left: 1.0rem !important;}
.u-ml15 {margin-left: 1.5rem !important;}
.u-ml20 {margin-left: 2.0rem !important;}
.u-ml25 {margin-left: 2.5rem !important;}
.u-ml30 {margin-left: 3.0rem !important;}
.u-ml35 {margin-left: 3.5rem !important;}
.u-ml40 {margin-left: 4.0rem !important;}
.u-ml45 {margin-left: 4.5rem !important;}
.u-ml50 {margin-left: 5.0rem !important;}
.u-ml55 {margin-left: 5.5rem !important;}
.u-ml60 {margin-left: 6.0rem !important;}
.u-ml65 {margin-left: 6.5rem !important;}
.u-ml70 {margin-left: 7.0rem !important;}
.u-ml75 {margin-left: 7.5rem !important;}
.u-ml80 {margin-left: 8.0rem !important;}
.u-ml85 {margin-left: 8.5rem !important;}
.u-ml90 {margin-left: 9.0rem !important;}
.u-ml95 {margin-left: 9.5rem !important;}
.u-ml100 {margin-left: 10.0rem !important;}
.u-ml105 {margin-left: 10.5rem !important;}
.u-ml110 {margin-left: 11.0rem !important;}
.u-ml115 {margin-left: 11.5rem !important;}
.u-ml120 {margin-left: 12.0rem !important;}
.u-ml125 {margin-left: 12.5rem !important;}
.u-ml130 {margin-left: 13.0rem !important;}
.u-ml135 {margin-left: 13.5rem !important;}
.u-ml140 {margin-left: 14.0rem !important;}
.u-ml145 {margin-left: 14.5rem !important;}
.u-ml150 {margin-left: 15.0rem !important;}

.u-pt05 {padding-top: .5rem !important;}
.u-pt10 {padding-top: 1.0rem !important;}
.u-pt15 {padding-top: 1.5rem !important;}
.u-pt20 {padding-top: 2.0rem !important;}
.u-pt25 {padding-top: 2.5rem !important;}
.u-pt30 {padding-top: 3.0rem !important;}
.u-pt35 {padding-top: 3.5rem !important;}
.u-pt40 {padding-top: 4.0rem !important;}
.u-pt45 {padding-top: 4.5rem !important;}
.u-pt50 {padding-top: 5.0rem !important;}
.u-pt55 {padding-top: 5.5rem !important;}
.u-pt60 {padding-top: 6.0rem !important;}
.u-pt65 {padding-top: 6.5rem !important;}
.u-pt70 {padding-top: 7.0rem !important;}
.u-pt75 {padding-top: 7.5rem !important;}
.u-pt80 {padding-top: 8.0rem !important;}
.u-pt85 {padding-top: 8.5rem !important;}
.u-pt90 {padding-top: 9.0rem !important;}
.u-pt95 {padding-top: 9.5rem !important;}
.u-pt100 {padding-top: 1.00rem !important;}
.u-pt105 {padding-top: 1.05rem !important;}
.u-pt110 {padding-top: 1.10rem !important;}
.u-pt115 {padding-top: 1.15rem !important;}
.u-pt120 {padding-top: 1.20rem !important;}
.u-pt125 {padding-top: 1.25rem !important;}
.u-pt130 {padding-top: 1.30rem !important;}
.u-pt135 {padding-top: 1.35rem !important;}
.u-pt140 {padding-top: 1.40rem !important;}
.u-pt145 {padding-top: 1.45rem !important;}
.u-pt150 {padding-top: 1.50rem !important;}

.u-pb05 {padding-bottom: .5rem !important;}
.u-pb10 {padding-bottom: 1.0rem !important;}
.u-pb15 {padding-bottom: 1.5rem !important;}
.u-pb20 {padding-bottom: 2.0rem !important;}
.u-pb25 {padding-bottom: 2.5rem !important;}
.u-pb30 {padding-bottom: 3.0rem !important;}
.u-pb35 {padding-bottom: 3.5rem !important;}
.u-pb40 {padding-bottom: 4.0rem !important;}
.u-pb45 {padding-bottom: 4.5rem !important;}
.u-pb50 {padding-bottom: 5.0rem !important;}
.u-pb55 {padding-bottom: 5.5rem !important;}
.u-pb60 {padding-bottom: 6.0rem !important;}
.u-pb65 {padding-bottom: 6.5rem !important;}
.u-pb70 {padding-bottom: 7.0rem !important;}
.u-pb75 {padding-bottom: 7.5rem !important;}
.u-pb80 {padding-bottom: 8.0rem !important;}
.u-pb85 {padding-bottom: 8.5rem !important;}
.u-pb90 {padding-bottom: 9.0rem !important;}
.u-pb95 {padding-bottom: 9.5rem !important;}
.u-pb100 {padding-bottom: 10.0rem !important;}
.u-pb105 {padding-bottom: 10.5rem !important;}
.u-pb110 {padding-bottom: 11.0rem !important;}
.u-pb115 {padding-bottom: 11.5rem !important;}
.u-pb120 {padding-bottom: 12.0rem !important;}
.u-pb125 {padding-bottom: 12.5rem !important;}
.u-pb130 {padding-bottom: 13.0rem !important;}
.u-pb135 {padding-bottom: 13.5rem !important;}
.u-pb140 {padding-bottom: 14.0rem !important;}
.u-pb145 {padding-bottom: 14.5rem !important;}
.u-pb150 {padding-bottom: 15.0rem !important;}

.u-tal {text-align: left !important;}
.u-tac {text-align: center !important;}
.u-tar {text-align: right !important;}

.u-w05 {width: 5%;}
.u-w10 {width: 10%;}
.u-w15 {width: 15%;}
.u-w20 {width: 20%;}
.u-w25 {width: 25%;}
.u-w30 {width: 30%;}
.u-w35 {width: 35%;}
.u-w40 {width: 40%;}
.u-w45 {width: 45%;}
.u-w50 {width: 50%;}
.u-w55 {width: 55%;}
.u-w60 {width: 60%;}
.u-w65 {width: 65%;}
.u-w70 {width: 70%;}
.u-w75 {width: 75%;}
.u-w80 {width: 80%;}
.u-w85 {width: 85%;}
.u-w90 {width: 90%;}
.u-w95 {width: 95%;}
.u-w100 {width: 100%;}

.u-fs10 {font-size: 1.0rem; line-height: 1.5em; letter-spacing: 0;}
.u-fs11 {font-size: 1.1rem; line-height: 1.5em; letter-spacing: 0;}
.u-fs12 {font-size: 1.2rem; line-height: 1.5em; letter-spacing: 0;}
.u-fs13 {font-size: 1.3rem; line-height: 1.5em; letter-spacing: 0;}
.u-fs14 {font-size: 1.4rem; line-height: 1.5em; letter-spacing: 0;}
.u-fs15 {font-size: 1.5rem; line-height: 1.5em; letter-spacing: 0;}
.u-fs16 {font-size: 1.6rem; line-height: 1.5em; letter-spacing: 0;}
.u-fs18 {font-size: 1.8rem; line-height: 1.5em; letter-spacing: 0;}
.u-fs20 {font-size: 2.0rem; line-height: 1.5em; letter-spacing: 0;}
.u-fs22 {font-size: 2.2rem; line-height: 1.5em; letter-spacing: 0;}
.u-fs24 {font-size: 2.4rem; line-height: 1.5em; letter-spacing: 0;}
.u-fs26 {font-size: 2.6rem; line-height: 1.5em; letter-spacing: 0;}
.u-fs28 {font-size: 2.8rem; line-height: 1.5em; letter-spacing: 0;}
.u-fs30 {font-size: 3.0rem; line-height: 1.5em; letter-spacing: 0;}

.u-fw300 {font-weight: 300;}
.u-fw400 {font-weight: 400;}
.u-fw500 {font-weight: 500;}
.u-fw600 {font-weight: 600;}
.u-fw700 {font-weight: 700;}
.u-fw800 {font-weight: 800;}
.u-fw900 {font-weight: 900;}

.u-lh10 {line-height: 1.0em !important;}
.u-lh11 {line-height: 1.1em !important;}
.u-lh12 {line-height: 1.2em !important;}
.u-lh13 {line-height: 1.3em !important;}
.u-lh14 {line-height: 1.4em !important;}
.u-lh15 {line-height: 1.5em !important;}
.u-lh16 {line-height: 1.6em !important;}
.u-lh17 {line-height: 1.7em !important;}
.u-lh18 {line-height: 1.8em !important;}
.u-lh19 {line-height: 1.9em !important;}
.u-lh20 {line-height: 2.0em !important;}
.u-lh21 {line-height: 2.1em !important;}
.u-lh22 {line-height: 2.2em !important;}
.u-lh23 {line-height: 2.3em !important;}
.u-lh24 {line-height: 2.4em !important;}
.u-lh25 {line-height: 2.5em !important;}
.u-lh26 {line-height: 2.6em !important;}
.u-lh27 {line-height: 2.7em !important;}
.u-lh28 {line-height: 2.8em !important;}
.u-lh29 {line-height: 2.9em !important;}

.u-ls00 {letter-spacing: 0;}
.u-ls01 {letter-spacing: 0.1rem;}
.u-ls02 {letter-spacing: 0.2rem;}
.u-ls03 {letter-spacing: 0.3rem;}
.u-ls04 {letter-spacing: 0.4rem;}
.u-ls05 {letter-spacing: 0.5rem;}

.u-colorW {color: #fff;}
.u-colorR {color: #ff0000;}

