@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

*,
::before,
::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    font-size: 62.5%;
    color: #000;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    line-height: 1.5;
    background: url(../images/pc_bg.png) top center/cover no-repeat;
    scroll-behavior: smooth;
    scroll-padding-top: 18.7rem;
    background-attachment: fixed;
    background-size: cover;
    background-position: center;

}

@media only screen and (max-width: 840px) {
    html {
        font-size: 1.1905vw;
    }
}

_::-webkit-full-page-media,
_:future,
:root html {
    scroll-padding-top: 4rem;
}

body {
    position: relative;
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
    font-size: 1.4rem;
    overflow-x: hidden;
}

@media only screen and (max-width: 840px) {
    body {
        max-width: 100%; /* 画面幅いっぱい */
    }
}

a {
    text-decoration: none;
    color: inherit;
    display: block;
    cursor: pointer;
}

a,button,.button,.linkButton,.backToTop{
    &:hover{
        cursor: pointer;
        > *{
            cursor: pointer;
        }
    }
}

ul,
ol {
    list-style: none;
}

img {
    width: 100%;
    vertical-align: baseline;
}

button {
    appearance: none;
    background-color: transparent;
    border: none;
}

.heading {
    font-size: 0;
}


/* header */


.header {
    max-width: 480px;
    position: fixed;
    display: flex;
    justify-content: space-between;
    align-items: center;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    background: #fff;
    text-align: center;
    padding: 0.286rem 2rem; 
    width: 101%;
    height: 10.679rem;
}

@media only screen and (max-width: 840px) {
    .header {
        max-width: 100%;
        padding: .5rem 3.5rem;
        height: 18.7rem;
    }
}
.header__link {
    display: block;
    width: 32.1rem;
}

@media only screen and (max-width: 840px) {
    .header__link {
        width: 56.2rem;
    }
}

.header__link img {
    width: 100%;
}

.logo--link {
    width: 20%;
}

.hamburger {
    cursor: pointer;
    padding: 0.857rem 1.051rem 0.943rem;
    height: 6.629rem;
    width: 6.743rem;
    border-radius: 0.629rem;
    background: #dc2525;
}

.hamburger__barwrap {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.857rem;
    margin-bottom: 1.029rem;
}

@media only screen and (max-width: 840px) {
    .hamburger {
        padding: 1.5rem 1.84rem 1.65rem;
        height: 11.6rem;
        width: 11.8rem;
        border-radius: 1.1rem;
    }
    .hamburger__barwrap {
        gap: 1.5rem;
        margin-bottom: 1.8rem;
    }
}

.hamburger__bar {
    display: inline-block;
    width: 4.286rem;
    height: 0.343rem;
    transition: all .2s;
    border-radius: 0.171rem;
    background: #fff;
}

.hamburger__text {
    color: #fff;
    font-size: 1.429rem;
    font-family: "Roboto", sans-serif;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 0;
}

.hamburger.active .hamburger__bar.bar2 {
    opacity: 0;
}

.hamburger.active .hamburger__bar.bar1 {
    transform: rotate(27deg) translate(0.3rem, 0rem);
    transform-origin: left;
    width: 102%;
}

.hamburger.active .hamburger__bar.bar3 {
    transform: rotate(-27deg) translate(0.3rem, 0rem);
    transform-origin: left;
    width: 102%;
}

@media only screen and (max-width: 840px) {
    .hamburger__bar {
        width: 7.5rem;
        height: .6rem;
        border-radius: .3rem;
    }
    .hamburger__text {
        font-size: 2.5rem;
    }
}
.nav {
    position: fixed;
    width: 100%;
    max-width: 480px;
    height: calc(100vh - 10.679rem);
    top: 10.679rem;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
    transform: translateX(50%);
    transition: .4s;
    background: url(../images/header/menu\_bg.png) top center/cover no-repeat;
    z-index: 10;
    opacity: 0;
    pointer-events: none;
}

@media only screen and (max-width: 840px) {
    .nav {
        top: 18.7rem;
        height: calc(100vh - 18.7rem);
        max-width: 100%;
    }
}

.nav.active {
    opacity: 1;
    transform: translateX(-50%);
    pointer-events: all;
}
.nav__lists {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
    width: 25.1rem;
}

@media only screen and (max-width: 840px) {
    .nav__lists {
        width: 44rem;
    }
}

.nav__list{
    width: 100%;
    position: relative;
}

.nav__list a{
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    height: 10.3rem;
    width: 100%;
    font-size: 3.43rem;
    letter-spacing: 0.05em;
    font-weight: bold;
}

@media only screen and (max-width: 840px) {
    .nav__list a{
        height: 18rem;
        font-size: 6rem;
    }
}

.nav__list:not(:last-of-type)::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    background: url(../images/header/menu_line.png) center/contain;
    width: 25.1rem;
    height: .171rem;
}

@media only screen and (max-width: 840px) {
    .nav__list:not(:last-of-type)::after {
        width: 44rem;
        height: .3rem;
    }
}

.nav__img {
    object-fit: contain;
}

.nav__img.nav__img--01{
    height: 5.65rem;
}

.nav__img.nav__img--02{
    height: 5.6rem;
}

.nav__img.nav__img--03{
    height: 6.22rem;
}

@media only screen and (max-width: 840px) {
    .nav__img.nav__img--01{
        height: 9.9rem;
    }
    .nav__img.nav__img--02{
        height: 9.8rem;
    }
    .nav__img.nav__img--03{
        height: 10.9rem;
    }
}
.main {
    padding-top: 10.7rem;
    overflow-x: hidden;
}

@media only screen and (max-width: 840px) {
    .main {
        padding-top: 18.7rem;
    }
}

/* keyVisual */
.keyVisual{
    position: relative;
}

/* course */
.course{
    position: relative;
    background: #a02300;
}

.course .heading{
    width: 22.8rem;
    margin: 0 auto;
    padding: 2.86rem 0 1.71rem;
}

@media only screen and (max-width: 840px) {
    .course .heading{
        width: 39.9rem;
        padding: 5rem 0 3rem;
    }
}

.course .course__wrapper{
    width: 45.7rem;
    margin: 0 auto;
    transform: translateX(0.57rem);
}

@media only screen and (max-width: 840px) {
    .course .course__wrapper{
        width: 80rem;
        transform: translateX(1rem);
    }
}

/* mypage */.lineMypage{
    position: relative;
    background: #06c755;
    padding: 1.43rem 1.12rem 1.2rem;
}

@media only screen and (max-width: 840px) {
    .lineMypage{
        padding: 2.5rem 1.96rem 2.1rem;
    }
}

.lineMypage .heading{
    color: #fff;
    font-size: 3.43rem;
    letter-spacing: 0;
    font-weight: 900;
    text-align: center;
    margin-bottom: 2.11rem;
}

@media only screen and (max-width: 840px) {
    .lineMypage .heading{
        font-size: 6rem;
        margin-bottom: 3.7rem;
    }
}

.lineMypage .lineMypage__inner{
    position: relative;
    background: #fff;
    color: #040000;
    padding: 5.14rem 4.34rem 4.51rem;
}

@media only screen and (max-width: 840px) {
    .lineMypage .lineMypage__inner{
        padding: 9rem 7.6rem 7.9rem;
    }
}

.lineMypage .lineMypage__link{
    margin-top: 4.29rem;
    margin-bottom: 2.63rem;
}

@media only screen and (max-width: 840px) {
    .lineMypage .lineMypage__link{
        margin-top: 7.5rem;
        margin-bottom: 4.6rem;
    }
}

.lineMypage .lineMypage__inner p{
    color: #040000;
    font-size: 2.01rem;
    font-weight: 700;
    line-height: calc(60/38);
}

@media only screen and (max-width: 840px) {
    .lineMypage .lineMypage__inner p{
        font-size: 3.51rem;
    }
}
.termCheck {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2.17rem;
    letter-spacing: .029rem;
    color: #040000;
}

@media only screen and (max-width: 840px) {
    .termCheck {
        font-size: 3.8rem;
        letter-spacing: .05rem;
    }
}

.link--term {
    position: static;
    text-decoration: underline;
    color: #040000;
}

input[type="checkbox"] {
    position: relative;
    cursor: pointer;
    width: 2.63rem;
    height: 2.63rem;
    margin: .171rem 2.28rem 0 0;
    background-color: #fff;
    border: .171rem solid #000;
    border-radius: 0;
    padding: 0;
    appearance: none;
    color: #000;
}

@media only screen and (max-width: 840px) {
    input[type="checkbox"] {
        width: 4.5rem;
        height: 4.5rem;
        margin: .3rem 4rem 0 0;
        border: .3rem solid #000;
        top: .2rem;
        left: .7rem;
    }
}

input[type="checkbox"]:checked:before {
    position: absolute;
    top: 0.11rem;
    left: .6rem;
    transform: rotate(50deg);
    width: 1.2rem;
    height: 1.6rem;
    border-right: .3rem solid #000;
    border-bottom: .3rem solid #000;
    content: '';
}
@media only screen and (max-width: 840px) {
    input[type="checkbox"]:checked:before {
    position: absolute;
    top: .07rem;
    left: 1.05rem;
    transform: rotate(50deg);
    width: 2.1rem;
    height: 2.8rem;
    border-right: .5rem solid #000;
    border-bottom: .5rem solid #000;
    content: '';
}
}

/* apply */.apply-wrapper{
    position: relative;
    background-color: #fff0be;
    padding: 2.284rem 2.855rem 5.71rem;
}

@media only screen and (max-width: 840px) {
    .apply-wrapper{
        padding: 4rem 5rem 10rem;
    }
}

.apply__attention{
    width: 36.544rem;
    margin: 0 auto 5.71rem;
}

@media only screen and (max-width: 840px) {
    .apply__attention{
        width: 64rem;
        margin: 0 auto 10rem;
    }
}

.apply__attention >p{
    display: flex;
    font-size: 1.371rem;
    font-weight: 500;
    line-height: calc(35/24);
}

@media only screen and (max-width: 840px) {
    .apply__attention >p{
        font-size: 2.4rem;
    }
}

.apply__attention >p::before{
    content: "※";
}

.apply-wrapper >section:not(:first-of-type){
    margin-top: 2.855rem;
}

@media only screen and (max-width: 840px) {
    .apply-wrapper >section:not(:first-of-type){
        margin-top: 5rem;
    }
}

.apply-wrapper .accordionTitle {
    position: relative;
    background-color: #c80000;
    font-weight: bold;
    font-size: 3.426rem;
    line-height: 1;
    padding: 2.398rem 3.997rem 2.678rem;
    cursor: pointer;
    color: #fff;
    letter-spacing: .08em;
}

@media only screen and (max-width: 840px) {
    .apply-wrapper .accordionTitle {
        font-size: 6rem;
        padding: 4.2rem 7rem 4.7rem;
    }
}

.apply-wrapper .accordionTitle::before {
    position: absolute;
    top: 50%;
    right: 2.855rem;
    transform: translateY(-50%);
    content: "";
    background: #fff;
    color: #fff;
    width: 2.855rem;
    height: .286rem;
}

@media only screen and (max-width: 840px) {
    .apply-wrapper .accordionTitle::before {
        right: 7rem;
        width: 5rem;
        height: .5rem;
    }
}

.apply-wrapper .accordionTitle::after {
    position: absolute;
    top: 50%;
    right: 2.855rem;
    transform: translateY(-50%) rotate(-90deg);
    content: "";
    background: #fff;
    color: #fff;
    width: 2.855rem;
    height: .286rem;
}

@media only screen and (max-width: 840px) {
    .apply-wrapper .accordionTitle::after {
        right: 7rem;
        width: 5rem;
        height: .5rem;
    }
}

.apply-wrapper .accordionTitle.active::after {
    transform: translateY(-50%);
}

.apply-wrapper .accordionBox {
    background-color: #fff;
}

/* howToApply */.howToApply {
    position: relative;
}

.howToApply__inner {
    padding: 2.855rem 2.855rem 5.71rem;
}

@media only screen and (max-width: 840px) {
    .howToApply__inner {
        padding: 5rem 5rem 10rem;
    }
}

.howToApply__flow{
    display: flex;
    flex-direction: column;
    gap: 5.71rem;
}

.howToApply__step h3{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 5.71rem;
    margin-bottom: 2.855rem;
    background-color: rgba(210, 135, 0, .3);
    text-align: center;
    color: #d28700;
    font-size: 2.741rem;
    letter-spacing: 0;
    font-weight: 700;
}

@media only screen and (max-width: 840px) {
    .howToApply__step h3{
        font-size: 4.8rem;
        height: 10rem;
        margin-bottom: 5rem;
    }
}

.howToApply__step p{
    font-size: 2.171rem;
    font-weight: 700;
    line-height: calc(55/38);
    margin-bottom: 2.855rem;
}

@media only screen and (max-width: 840px) {
    .howToApply__step p{
        font-size: 3.8rem;
        margin-bottom: 5rem;
    }
}

.howToApply__step p small{
    display: flex;
    font-size: 1.371rem;
    line-height: calc(34/24);
    font-weight: 500;
    margin-top: .457rem;
}

@media only screen and (max-width: 840px) {
    .howToApply__step p small{
        font-size: 2.4rem;
        margin-top: .8rem;
    }
}

.howToApply__step p small::before{
    content: "※";
}

.howToApply__img{
    display: block;
    width: 100%;
    max-width: 100%;
    margin: auto;
}

.howToApply__step:nth-of-type(2) .howToApply__img{
    width: 30.834rem;
}

.howToApply__step:nth-of-type(3) .howToApply__img{
    width: 25.695rem;
}

.howToApply__step:nth-of-type(5) .howToApply__img{
    width: 25.695rem;
}

.howToApply__step:nth-of-type(6) .howToApply__img{
    width: 11.236rem;
}

@media only screen and (max-width: 840px) {
    .howToApply__step:nth-of-type(2) .howToApply__img{
        width: 54rem;
    }
    .howToApply__step:nth-of-type(3) .howToApply__img{
        width: 45rem;
    }
    .howToApply__step:nth-of-type(5) .howToApply__img{
        width: 45rem;
    }
    .howToApply__step:nth-of-type(6) .howToApply__img{
        width: 19.66rem;
    }
}


/* products */.products {
    position: relative;
    z-index: 1;
}

.products__inner {
    padding: 2.855rem;
    padding-bottom: 1.599rem;
}

.products__inner h3{
    text-align: center;
    font-size: 2.168rem;
    font-weight: 700;
    line-height: calc(55/38);
    margin-bottom: 4.225rem;
}

.products__inner p{
    display: flex;
    font-size: 1.371rem;
    line-height: calc(34/24);
    font-weight: 500;
    margin-top: 5.321rem;
}

.products__inner p::before{
    content: "※";
}

.products__link{
    padding-bottom: 0.571rem;
}

.products__link img{
    display: block;
    width: 39.97rem;
    transform: translateX(1.714rem);
}

@media only screen and (max-width: 840px) {
    .products__inner {
        padding: 5rem;
        padding-bottom: 2.8rem;
    }

    .products__inner h3{
        font-size: 3.8rem;
        margin-bottom: 7.4rem;
    }

    .products__inner p{
        font-size: 2.4rem;
        margin-top: 9rem;
    }

    .products__link{
        padding-bottom: 1rem;
    }
    .products__link img{
        width: 70rem;
        transform: translateX(3rem);
    }
}


/*terms*/
.terms__wrapper{
    padding: 2.855rem;
}
@media only screen and (max-width: 840px) {
    .terms__wrapper{
        padding: 5rem;
    }
}
.terms__title {
     font-size:1.371rem;
    font-weight: bold;
    margin-bottom: 2.4rem;
}
@media only screen and (max-width: 840px) {
    .terms__title{
        font-size:2.4rem;
    }
}
.terms__content{
    font-size: 1.371rem;
    line-height: calc(34/24);
}
@media only screen and (max-width: 840px) {
    .terms__content{
        font-size: 2.4rem;
    }
}

.terms__content .mt-1{
    margin-top: 1.371rem!important;
}
@media only screen and (max-width: 840px) {
    .terms__content .mt-1{
        margin-top: 2.4rem!important;
    }
}
.terms__content dl{
    margin-top: 1.371rem;
}
@media only screen and (max-width: 840px) {
    .terms__content dl{
        margin-top: 2.4rem;
    }
}

.terms__content dl+dl{
    margin-top: 2.742rem;
}
@media only screen and (max-width: 840px) {
    .terms__content dl+dl{
        margin-top: 4.8rem;
    }
}

.terms__list li{
    padding-left: 1em;
    position: relative;
}
.terms__list li+li{
    margin-top: 0.25em;
}

.terms__list--star >li::before {
    position: absolute;
    top: 0;
    left: 0;
    content: "※";
}

.terms__list--bigDot >li::before {
    content: "●";
    position: absolute;
    top: 0;
    left: 0;
}
.terms__list--smallDot >li::before {
    content: "・";
    position: absolute;
    top: 0;
    left: 0;
}
.terms__link {
    display: inline;
    text-decoration: underline;
    word-break: break-all;
}

.terms__attention{
    padding-left: 1em;
    position: relative;
}

.terms__attention::before {
    content: "※";
    position: absolute;
    top: 0;
    left: 0;
}

.terms__link {
    display: inline;
    color: #008CFF;
    text-decoration: underline;
    word-break: break-all;
}
.terms__content .mt-1{
    margin-top: 1rem;
}
.terms__content a:not([href^="tel:"]){
    text-decoration: underline;
}
.terms__content a[href^="tel:"] {
    pointer-events:auto;
}
@media only screen and (min-width: 768px) {
    .terms__content a[href^="tel:"] {
        pointer-events:none;
    }
}

/* about */
.about {
    background: #fff;
    color: #000;
    text-align: center;
    font-size: 1.029rem;
    padding: 5.714rem 2.857rem 2.451rem;
    line-height: 1.5;
}

.about__sns {
    display: flex;
    gap: 2.857rem;
    justify-content: center;
    margin-bottom: 4.571rem;
}

.about__sns img {
    width: 7.143rem;
    height: 7.143rem;
}

.about .box__inner:first-child {
    padding-bottom: 5.543rem;
    border-bottom: .1rem solid #040000;
}

.about__header {
    font-size: 1.943rem;
    font-weight: 500;
    padding-bottom: .914rem;
}

.about__tel {
    position: relative;
    font-size: 3.371rem;
    line-height: 1;
    padding:0 0 2.514rem;
    font-weight: 700;
}

.about__time {
    font-size: 1.829rem;
    line-height: calc(48/32);
    letter-spacing: -.02em;
    padding:0 0 1.943rem;
    font-weight: 700;
}

.about__time small {
    font-size: 1.371rem;
}

.about__attention {
    font-size: 1.371rem;
    line-height: calc(34/24);
    text-align: left;
    word-break: break-all;
}

@media only screen and (max-width: 840px) {
    .about {
        font-size: 1.8rem;
        padding: 10rem 5rem 4.3rem;
    }
    .about__sns {
        gap: 5rem;
        margin-bottom: 8rem;
    }
    .about__sns img {
        width: 12.5rem;
        height: 12.5rem;
    }
    .about .box__inner:first-child {
        padding-bottom: 9.7rem;
    }
    .about__header {
        font-size: 3.4rem;
        padding-bottom: 1.6rem;
    }
    .about__tel {
        font-size: 5.9rem;
        padding-bottom: 4.4rem;
    }
    .about__time {
        font-size: 3.2rem;
        padding-bottom: 3.4rem;
    }
    .about__time small {
        font-size: 2.4rem;
    }
    .about__attention {
        font-size: 2.4rem;
    }
}


/* footer 
.footer {
    text-align: center;
    background: #fff;
    margin-bottom: -.2rem;
    padding: 0rem 2.857rem 1.429rem;
}

.footer__lists {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 1.257rem;
    gap: 1.943rem;
}

.footer .copyright {
    display: block;
    margin: .571rem 0 2.857rem;
    text-align: left;
    font-size: 1.029rem;
    margin-top: 1.029rem;
}

.footer__logo {
    display: block;
    margin: 2.857rem 0 .571rem auto;
    width: 12.571rem;
}

.footer__list {
    position: relative;
}

.footer__list a:before {
    border-color: transparent transparent transparent #c80000;
    border-style: solid;
    border-width: .238rem 0 .238rem .333rem;
    content: "";
    height: 0;
    left: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
}

@media only screen and (max-width: 840px) {
    .footer {
        padding: 0rem 5rem 2.5rem;
    }
    .footer__lists {
        font-size: 2.2rem;
        gap: 3.4rem;
    }
    .footer .copyright {
        margin: 1rem 0 5rem;
        font-size: 1.8rem;
        margin-top: 1.8rem;
    }
    .footer__logo {
        margin: 5rem 0 1rem auto;
        width: 22rem;
    }
    .footer__list a:before {
        border-width: .417em 0 .417em .583em;
    }
}
*/

/*company_area */

.company_area{ width: 100%; background: #fff; padding: 20px; font-size: 11px;}
.company_logo{ width: 130px;}
.company_copy{ margin: 0 0 20px;}
.arrow-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;         
  gap: 1em;             
}

.arrow-links li a {
  text-decoration: none;
  color: #040000;           
  display: inline-block;
}

.arrow-links li a::before {
  content: "\25B6";
  margin-right: 0.4em;
  color: #c80000;     
}

/* backToTop */ 
.backToTop:hover {
    cursor: pointer;
}

.backToTop__img {
    width: 12.6725rem;
    height: 12.6725rem;
    cursor: pointer;
}

.backToTop {
    position: fixed;
    bottom: 12.964rem;
    left: 50%;
    transform: translateX(calc(240px - 10.286rem));
    z-index: 100;
}

.backToTop__img {
    width: 7.244rem;
    height: 7.244rem;
    cursor: pointer;
}

@media (max-width: 840px) {
    .backToTop {
        left: auto;
        right: 5.3rem;
        transform: unset;
        bottom: 22.7rem;
        /* transform: translateX(calc(420px - 18rem)); */
    }

    .backToTop__img {
        width: 12.6725rem;
        height: 12.6725rem;
    }
}

.backToTop:hover {
    cursor: pointer;
}

/* teaser */

.teaser .lineMypage__link{
    position: relative;
    cursor: default;
}
.teaser .lineMypage__link::before {
    content: "Coming Soon";
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 7.543rem;
    background: rgba(0,0,0,0.7);
    border-radius: 1.294rem;
    color: #fff;
    font-weight: 700;
    font-size: 2.857rem;
    letter-spacing: 0.05em;
}

@media (max-width: 840px) {
    .teaser .lineMypage__link::before {
        height: 13.2rem;
        border-radius: 2.266rem;
        font-size: 5rem;
    }
}

/*result_html mypage*/

/*info*/
.mypage .info {
    position: relative;
    background: #00a0ff;
    padding: 1.429rem 1.121rem 1.2rem;
}

.mypage .info .heading {
    color: #fff;
    font-size: 3.429rem;
    letter-spacing: 0.1em;
    font-weight: 900;
    text-align: center;
    margin-bottom: 2.114rem;
}

.mypage .info__inner {
    position: relative;
    background: #fff;
    color: #040000;
    padding: 4.457rem 0 4.514rem;
}

.mypage .info__link {
    width: 40rem;
    margin: 3.714rem auto 0;
    transform: translateX(0.571rem);
}

.mypage .info__name {
    text-align: center;
    color: #040000;
    font-size: 3.429rem;
    font-weight: 700;
    letter-spacing: 0.1em;
}

.mypage .info__attention {
    display: flex;
    font-size: 1.371rem;
    line-height: calc(34/24);
    font-weight: 500;
    width: 37.143rem;
    margin: 0 auto;
}

.mypage .info__attention::before {
    content: "※";
}

@media (max-width: 840px) {
    .mypage .info {
        padding: 2.5rem 1.96rem 2.1rem;
    }
    .mypage .info .heading {
        font-size: 6rem;
        margin-bottom: 3.7rem;
    }
    .mypage .info__inner {
        padding: 7.8rem 0 7.9rem;
    }
    .mypage .info__link {
        width: 70rem;
        margin: 6.5rem auto 0;
        transform: translateX(1rem);
    }
    .mypage .info__name {
        font-size: 6rem;
    }
    .mypage .info__attention {
        font-size: 2.4rem;
        width: 65rem;
    }
}

/* course */
.mypage .course__box {
    position: relative;
}

.mypage .course__box .course__link {
    position: absolute;
    left: 50%;
    width: 34.357rem;
}

.mypage .course__box:first-of-type .course__link {
    top: 53.393rem;
    transform: translateX(-50%);
}

.mypage .course__box:nth-of-type(2) .course__link {
    top: 49.179rem;
    transform: translateX(-50%);
}

.mypage .course__attention {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 37.143rem;
    margin-left: -0.229rem;
}

.mypage .course__attention li {
    display: flex;
    font-size: 1.371rem;
    line-height: calc(34/24);
    font-weight: 500;
}

.mypage .course__attention li::before {
    content: "※";
}

.mypage .course__box:first-of-type .course__attention {
    top: 68.514rem;
}

.mypage .course__box:nth-of-type(2) {
    margin-top: -0.971rem;
}

.mypage .course__box:nth-of-type(2) .course__attention {
    top: 64.196rem;
}

@media (max-width: 840px) {
    .mypage .course__box .course__link {
        width: 60.1rem;
    }
    .mypage .course__box:first-of-type .course__link {
        top: 93.5rem;
    }
    .mypage .course__box:nth-of-type(2) .course__link {
        top: 86.2rem;
    }
    .mypage .course__attention {
        width: 65rem;
        margin-left: -0.4rem;
    }
    .mypage .course__attention li {
        font-size: 2.4rem;
    }
    .mypage .course__box:first-of-type .course__attention {
        top: 119.8rem;
    }
    .mypage .course__box:nth-of-type(2) {
        margin-top: -1.7rem;
    }
    .mypage .course__box:nth-of-type(2) .course__attention {
        top: 112.5rem;
    }
}


/*input*/
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
}

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

::placeholder {
    color: #CACACA;
}

/*result_html lottery */
.lottery .main{
    padding-top: 0;
    overflow: hidden;
    /*height: 100vh;
    aspect-ratio: 1680 / 3174;*/
}
    .lottery .main img{
        object-fit: cover;
        object-position: center;
        height: 100%;
    }

@media (max-width: 840px) {
    .lottery .main{
        height: 100vh;
        aspect-ratio: unset;
    }
    .lottery .main img{
        object-fit: cover;
        object-position: center;
        height: 100%;
    }
}
/*result_html result*/

.result .topHeading {
    text-align: center;
    margin-top: 1.714rem;
    margin-bottom: 3.428rem;
}
@media (max-width: 840px) {
    .result .topHeading {
        margin-top: 3rem;
        margin-bottom: 6rem; 
    }
}
.result .topHeading img{
    width: 42.17rem;
}
@media (max-width: 840px) {
    .result .topHeading img{
        width: 73.8rem;
    }
}
.result .content{
    color: #fff;
}
.result .content__heading {
    font-size: 2.857rem;
    font-weight: 500;
    text-align: center;
}
@media (max-width: 840px) {
    .result .content__heading {
        font-size: 5rem;
    }
}
.result .content__attention {
    display: flex;
    font-size: 1.371rem;
    line-height: calc(34/24);
    font-weight: 500;
    width: 36.29rem;
    margin: 0 auto;
}
@media (max-width: 840px) {
    .result .content__attention {
        font-size: 2.4rem;
        width: 63.5082rem;
    }
}

.result .content__attention::before {
    content: "※";
}
.result .mypage__link {
    width: 45.714rem;
    transform: translateX(1.714rem);
    margin-top: 1.543rem;
}
@media (max-width: 840px) {
    .result .mypage__link {
        width: 80rem;
        transform: translateX(3rem);
        margin-top: 2.7rem;
    }
}

/*result_html lose*/
.lose .main{
    background: url(../images/result/lose_bg.png) top center/cover no-repeat;
}
.lose .content__heading{
    width: 42.285rem;
    margin: 0 auto 0.743rem;
}
@media (max-width: 840px) {
    .lose .content__heading{
        width: 74rem;
        margin-bottom: 1.3rem;
    }
}

/*result_html get*/
.get .main{
    background: url(../images/result/get_bg.png) top center/cover no-repeat;
}

.get .topHeading {
    margin-bottom: 2rem;
}
@media (max-width: 840px) {
    .get .topHeading {
        margin-bottom: 3.5rem; 
    }
}
.get .content__heading{
    width: 46rem;
    margin: 0 auto 4.114rem;
    transform: translateX(0.286rem);
}
@media (max-width: 840px) {
    .get .content__heading{
        width: 80.5rem;
        margin-bottom: 7.2rem;
        transform: translateX(0.5rem);
    }
}
.get .content__text {
    width: 30.857rem;
    margin: 0 auto ;
    line-height: calc(4/3);
    font-size: 1.714rem;
    font-weight: 500;
    margin-bottom: 5.143rem;
}
.get .content__text a{
    display: block;
    margin-top: 2.28rem;
    text-decoration: underline;
}
@media (max-width: 840px) {
    .get .content__text {
        font-size: 3rem;
        width: 54rem;
        margin-bottom: 9rem;
    }
    .get .content__text a{
        margin-top: 4rem;
    }
}
.get .content dl{
    font-size: 1.366rem;
    line-height: calc(34/24);
    font-weight: 500;
    width: 42.285rem;
    margin: 0 auto 4.286rem;
}
.get .content dl dd,.get .content dl dd p+p{
    margin-top: 2rem;
}
@media (max-width: 840px) {
    .get .content dl{
        width: 74rem;
        margin-bottom: 7.5rem;
        font-size: 2.39rem;
    }
    .get .content dl dd,.get .content dl dd p+p{
        margin-top: 3.5rem;
    }
}
.get .content dl dd .attention{
    display: flex;
}
.get .content dl dd .attention::before {
    content: "※";
}
.get .content dl dd .attention a{
    text-decoration: underline;
}
/*result_html inputAmazon*/
.input .main{
    background: url(../images/result/input_bg.png) top center/cover no-repeat;
}
.input.Amazon .content{
    width: 100%;
    aspect-ratio: 1601/3609;
    color: #040000;
    background: url(../images/result/inputAmazon.png) top center/contain no-repeat;
    padding-top: 49.714rem;
    background-position-x: 1.714rem;
    background-size: 45.714rem;
}
@media (max-width: 840px) {
    .input.Amazon .content{
        padding-top: 87rem;	
        background-position-x: 3rem;
        background-size: 80rem;
    }
}
.input .topHeading{
    margin-bottom: 1.257rem;
}
@media (max-width: 840px) {
    .input .topHeading{
        margin-bottom: 2.2rem;
    }
}
.input .content__inputtxt{
    font-size: 2.171rem;
    line-height: calc(55/38);
}
@media (max-width: 840px) {
    .input.Amazon .content{
        padding-top: 87rem;
        background-position-x: 3rem;
        background-size: 80rem;

    }
    .input .content__inputtxt{
        font-size: 3.8rem;
        line-height: calc(55/38);
    }
}

.input .content form{
    text-align: center;
    font-size: 3.8rem;
    font-weight: 500;
    letter-spacing: 0;
}
.input .input--code{
    width: 30.857rem;
    height: 8.571rem;
    margin-top: 1.366rem;
    border: 0.2857rem solid #040000;
    padding: 2.857rem 3.2rem;
    font-size: 2.857rem;
    font-weight: 400;
}
@media (max-width: 840px) {
    .input .input--code{
        width: 54rem;
        height: 15rem;
        margin-top: 2.4rem;
        border-width: 0.5rem;
        padding: 5rem 5.6rem;
        font-size: 4.8rem;
    }
}
.input .content .content__apply {
    width: 34.357rem;
    margin: 1.714rem auto 0;
    transform: translateX(0.571rem);
}
@media (max-width: 840px) {
    .input .content .content__apply {
        width: 60.1rem;
        margin-top: 3rem;
        transform: translateX(1rem);
    }
}
.input .content__text{
    width: 37.143rem;
    margin: 2.857rem auto 0;
    font-size: 1.714rem;
    font-weight: 500;
    line-height: calc(4/3);
}
.input .content__text.red{
    color: #c80000;
}
.input .content__text .attention{
    display: flex;
    font-size: 1.366rem;
    line-height: calc(34/24);
    color: #040000;
    margin-top: 1.943rem;
}
.input .content__text .attention::before {
    content: "※";
}
.input .content__text .attention +.attention{
    margin-top: 0;
}
.input .mypage__link{
    margin-top: -5.714rem;
}
@media (max-width: 840px) {
    .input .content__text{
        width: 65rem;
        font-size: 3rem;
        margin-top: 5rem;
    }
    
    .input .content__text .attention{
        font-size: 2.4rem;
        margin-top: 3.4rem;
    }
    .input .mypage__link{
        margin-top: -10rem;
    }
}
.error main{
    position: relative;
}
.error{
    position: relative;
}

.error__modal-wrap,
.error__modal{
    display: none;
}
.error .error__modal-wrap {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0,0,0,0.7);
    z-index: 99;

}
.error .error__modal{
    position: fixed;
    top: 50vh;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 9999;
    display: block;
    width: 36.571rem;
    height: 31.399rem;

}

.error .error__modal-inner{
    position: relative;
    background-color: #fff;
    border-radius: 4rem;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.error .error__modal-text{
    text-align: center;
    color: #c80000;
    padding: 0 2em;
}
.error .error__modal-text dt {
    font-size: 3.429rem;
    line-height: calc(9/6);
    font-weight: 900;
}
.error .error__modal-text dd {
    font-size: 2.171rem;
    font-weight: 600;
    margin-top: 0.5em;
}

@media (max-width: 840px) {
    .error .error__modal-text dt{
        font-size: 6rem;
    }
    .error .error__modal-text dd{
        font-size: 3.8rem;
    }
}
.error .error__modal-btn{
    position:absolute;
    top: 2.857rem;
    right: 2.857rem;
    width: 3.429rem;
    height: 3.429rem;
    z-index: 9999;
    object-fit: contain;
    cursor: pointer;
}
.error .error__modal img{
    object-fit: contain;
}
@media (max-width: 840px) {
    .error .error__modal{
        width: 64rem;
        height: 54.948rem;
    }

    .error .error__modal-btn{
        top: 5rem;
        right: 5rem;
        width: 6rem;
        height: 6rem;
    }
}
/*
.error::before{
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0,0,0,0.7);
    z-index: 99;
}
    */
/*result_html inputUnext*/
.input .main{
    background: url(../images/result/input_bg.png) top center/cover no-repeat;
}
.input.Unext .content{
    width: 100%;
    aspect-ratio: 1601/4026;
    color: #040000;
    background: url(../images/result/inputUnext.png) top center/contain no-repeat;
    padding-top: 49.714rem;
    background-position-x: 1.714rem;
    background-size: 45.714rem;
}
@media (max-width: 840px) {
    .input.Unext .content{
        padding-top: 87rem;	
        background-position-x: 3rem;
        background-size: 80rem;
    }
}

.input .input__remaining{
    width: 30.857rem;
    height: 4rem;
    font-size: 2.171rem;
    font-weight: 500;
    color: #fff;
    background-color: #c80000;
    line-height: 4rem;
    margin: 0.857rem auto 5.143rem;
    text-align: center;
}
@media only screen and (max-width: 840px) {
    .input .input__remaining{
        width: 54rem;
        height: 7rem;
        margin-top: 1.5rem;
        margin-bottom: 9rem;
        font-size: 3.8rem;  
        line-height: 7rem;
    }
}

.input.Unext .content__text .attention{
    font-size: 1.257rem;
}
@media only screen and (max-width: 840px) {
    .input.Unext .content__text .attention{
        font-size: 2.2rem;
    }
}

.input.Unext .mypage__link{
    margin-top: -6.286rem;
}
@media only screen and (max-width: 840px) {
    .input.Unext .mypage__link{
        margin-top: -11rem;
    }
}


/*result_html gift*/
.gift .main{
    background: url(../images/result/input_bg.png) top center/cover no-repeat;
}
.gift .topHeading{
    margin-bottom: 1.257rem;
}
@media (max-width: 840px) {
    .gift .topHeading{
        margin-bottom: 2.2rem;
    }
}
.gift .content{
    width: 100%;
    aspect-ratio: 1601/4098;
    color: #040000;
    background: url(../images/result/gift.png) top center/contain no-repeat;
    padding-top: 39.02rem;
    background-position-x: 1.714rem;
    background-size: 45.714rem;
}

@media (max-width: 840px) {
    .gift .content{
        padding-top: 68.2rem;	
        background-position-x: 3rem;
        background-size: 80rem;
    }
}
.gift .gift__period{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 36.6rem;
    height: 9.14rem;
    margin: auto;
    font-size: 2.17rem;
    line-height: calc(53/38);
    border: .2rem solid #040000;
}
@media (max-width: 840px) {
    .gift .gift__period{
        font-size: 3.8rem;
        width: 64rem;
        height: 16rem;
    }
}

.gift .gift__text{
    width: 30.834rem;
    margin: 2.451rem auto 0;
    font-size: 1.714rem;
    font-weight: 500;
    line-height: calc(4/3);
}
.gift .gift__link{
    display: block;
    word-break: break-all;
    margin-top: 2.451rem;
    margin-bottom: 5.029rem;
    text-decoration: underline;
}
@media (max-width: 840px) {
    .gift .gift__text{
        width: 54rem;
        font-size: 3rem;
        margin-top: 4.3rem;
    }
    .gift .gift__link{
        margin-top: 4.3rem;
        margin-bottom: 8.8rem;
    }
}

.gift .gift__attention{
    display: flex;
    width: 36.544rem;
    line-height: calc(34/24);
    font-size: 1.366rem;
    margin: auto;
}
.gift .gift__attention::before {
    content: "※";
}

.gift .gift__attention a{
    text-decoration: underline;
    display: inline-block;
}

@media only screen and (max-width: 840px) {
    .gift .gift__attention{
        width: 64rem;
        font-size: 2.4rem;
    }
}

.gift .gift__list{
    display: block;
    width: 36.544rem;
    margin:2.63rem auto 2.28rem;
}
/*
.gift .gift__list li{
    position: relative;
    display: inline;
    line-height: calc(5/3);
    font-size: 1.714rem;
    color: #fff;
    background-color: #c80000;
}
.gift .gift__list li span{
    position: relative;
    left: 1.714rem;
}
.gift .gift__list li span::before{
    content: "・";
    position: absolute;
    top: 0;
    left: 0;
    line-height: 1.33;
}
*/

@media only screen and (max-width: 840px) {
    .gift .gift__list{
        width: 64rem;
        margin-top: 4.5rem;
        margin-bottom: 4rem;
    }
    .gift .gift__list li{
        font-size: 3rem;
    }
}

.gift .mypage__link{
    margin-top: -6.286rem;
}
@media only screen and (max-width: 840px) {
    .gift .mypage__link{
        margin-top: -11rem;
    }
}


/*result_html history*/

.history .history__heading{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 11.429rem;
    background-color: #00a0ff;
    text-align: center;
    color: #fff;
    font-size: 3.429rem;
    font-weight: 500;
}
@media only screen and (max-width: 840px) {
    .history .history__heading{
        font-size: 6rem;
        height: 20rem;
    }
}
.history .main{
    background-color: #fff;
    padding-top: 6rem;
    min-height: calc(100vh - 11.429rem);
}
.history .history__subheading{
    text-align: center;
    font-size: 2.857rem;
    margin-bottom: 2.857rem;
    line-height: calc(62/50);
}
@media only screen and (max-width: 840px) {
    .history .main{
        padding-top: 10.5rem;
        min-height: calc(100vh - 20rem);
    }
    .history .history__subheading{
        font-size: 5rem;
        margin-bottom: 5rem;
    }
}
.history .history__table{
    width: 34.29rem;
    margin: auto;
    text-align: center;
    border: 3px solid #00a0ff;
    border-spacing: 0;
}
.history .history__table th,
.history .history__table td{
    height: 4rem;
    border-top: 3px solid #00a0ff;
    font-size: 2.17rem;
    font-weight: 500;
}
.history .history__table th:first-of-type{
    border-right: 2px solid #fff;
}
.history .history__table td:first-of-type{
    border-right: 2px solid #00a0ff;
}
.history .history__table th{
    color: #fff;
    background-color:#00a0ff;
    width: 50%;
}


@media only screen and (max-width: 840px) {
    .history .history__table{
        width: 60rem;
    }
    .history .history__table th,.history .history__table td{
        height: 7rem;
        font-size: 3.8rem;
    }
}
.history .history__block.amazon {
    margin-top: 2.857rem;
}
@media only screen and (max-width: 840px) {
    .history .history__block.amazon{
        margin-top: 5rem;
    }
}
.history .mypage__link {
    margin-top: 5.543rem;
}
.history .mypage__link:nth-of-type(2) {
    margin-top: -0.857rem;
}
@media only screen and (max-width: 840px) {
    .history .mypage__link{
        margin-top: 9.7rem;
    }
    .history .mypage__link:nth-of-type(2){
        margin-top: -1.5rem;
    }
}

/*close*/

.secClose img {
    vertical-align: bottom;
}

.close .course__box .course__link{
    left: 49%;
    width: 30.857rem;
}
.close .course__box:first-of-type .course__link{
        top: 54.5rem;
}
.close .course__box:nth-of-type(2) .course__link{
    top: 50.5rem;
}
@media only screen and (max-width: 840px) {
    .close .course__box .course__link{
        width: 54rem;
    }
    .close .course__box:first-of-type .course__link{
        top: 95.45rem;
    }
    .close .course__box:nth-of-type(2) .course__link{
        top: 88.2rem;
    }
}
/*
.secClose {
    background: url(../images/close/close_bg.png) top center/cover no-repeat;
    padding: 1.714rem 1.6rem;
}
.secClose .secClose__box {
    background: #fff;
    text-align: center;
    padding: 2.857rem 0;
}
.secClose .secClose__heading {
    font-size: 2.171rem;
    font-weight: 500;
}
.secClose .secClose__text {
    color:#c80000;
    font-size: 1.6rem;
    line-height: calc(44/28);
    font-weight: 500;
    letter-spacing: 0.05em;
    margin: 0 2.057rem;
    border-top: 2px solid #c80000;
    border-bottom: 2px solid #c80000;
}
.secClose .secClose__text span{
    font-size: 2.171rem;
    line-height: calc(38/70);
    letter-spacing: 0;
}
.secClose .secClose__attention{
    font-size: 1.371rem;
    line-height: calc(34/24);
    font-weight: 500;
    letter-spacing: 0;
}
.secClose .secClose__period {
    width: 38.4rem;
    margin: 2.114rem auto 0;
}


@media only screen and (max-width: 840px) {
    .secClose{
        padding: 3rem 2.8rem;
    }
    .secClose .secClose__box{
        padding: 5rem 0;
    }
    
    .secClose .secClose__heading {
        font-size: 3.8rem;
    }
    .secClose .secClose__text {
        font-size: 2.8rem;
        margin: 0 3.6rem;
    }
    .secClose .secClose__text span{
        font-size: 3.8rem;
    }
    .secClose .secClose__attention{
        font-size: 2.4rem;
    }
    .secClose .secClose__period{
        width: 67.2rem;
        margin: 3.7rem auto 0;
    }
}
*/