/* 見出し start */

h1{
    text-align: center;
    font-weight: bold;
    margin-bottom: 40px;
}

/* 見出し end */

/* header start */


/* header end */


/* container start */

.container > .row > h2, .container > section > .row > h2{
    margin-top: 12px;
    margin-bottom: 12px;
    padding-bottom: 22px;
    border-bottom: 1px solid #e8e8ed;
    color: #1d1d1f;
}

.introduction{
    font-weight: bold;
    text-align: center;
}

.row > div > div{
    text-align: center;
    margin: 20px 0;
}

form{
    margin: 20px 0;
    border-bottom: 1px solid #e8e8ed;
    border-radius: 0;            
}

form::before{

}

.selectWrapper {
    position: relative;
}

.selectWrapper::after {
    content: "";
    position: absolute;
    top: 18px;
    right: 16px;
    width: 12px;
    height: 12px;
    border-right: 2px solid #333;
    border-bottom: 2px solid #333;
    transform: rotate(45deg);
}

.selectWrapperAllow::after {
    top: 5px;
}

select{
    padding: 17px 0;
    border: none;
    background: none;
    color: #000;
    -webkit-appearance: none;
    appearance: none;
}

select::-ms-expand {
  display: none;
}

.row > div > div > div{
    font-size: 24px;
    font-weight: bold;
    color: #1d1d1f;
}

@media (min-width: 576px) {

    .introduction{
        font-size: 14px;
    }

}
@media (min-width: 768px) {

    .introduction{
        font-size: 18px;
    }

}
@media (min-width: 992px) {

}
@media (min-width: 1200px) {

}
@media (min-width: 1400px) {

    .introduction{
        font-size: 21px;
    }

}

/* #firstView start */

#firstView {
    margin: 30px 0 0 0;
}

/* #firstView end */


/* スクロールした際に携帯キャリアとプランが上部に残る際 start */

body.preload .stickyNavShrink {
  transition: none !important; /* 初回読み込み時の transition を無効化 */
}

#toggleButton{
    width: 25px;
    height: 25px;
    padding: 1px;
    color: #fff;
    background-color: #008CBA; /* Blue */
    border: none;
}

#stickyNav{
    position: sticky;
    top: -1px;
    z-index: 10;
    background: #fff;
    transition: all 0.5s ease;
}

.stickyNavHeightDefault{
    height: 530px;
}

.stickyNavHeightMenuSize{
    height: 240px;
}

/*縮小時サイズ*/
.stickyNavHeightMenuSize.stickyNavHeightMenuSizeOff,.stickyNavHeightDefault.stickyNavHeightMenuSizeOff{
    height: 20px;
}

.stickyNavHeightMenuSize.stickyNavHeightMenuSizeOff #toggleButton {
}

.stickyNavHeightMenuSizeOff .row {
  display: none;
}

.stickyNavShrink{
    font-size: 0.8rem;
    padding-bottom: 10px;
}

.stickyNavCompanyImagesNone{
    display: none;
}

.stickyNavFormSpace{
    margin: 5px 0;
}

.stickyNavSelectSpace{
    padding: 5px 40px 5px 0;
}

.toggleButtonDisplayOff{
/*    display: none;*/
}

.toggleButtonDisplayOn{
    display: block;
}



/* スクロールした際に携帯キャリアとプランが上部に残る際 end */


/* container end */


/* 乗り換えキャンペーン start */

.row.memberBenefits > div > div > div{
    font-size: 16px;
}

.memberBenefitsButton{
    color: #000;
    background: none;
    border: none;
    text-decoration: underline;
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: none;
    --bs-btn-hover-border-color: none;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: none;
    --bs-btn-active-border-color: none;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #000;
    --bs-btn-disabled-bg: none;
    --bs-btn-disabled-border-color: none;
}

.memberBenefitsButton:hover {
    font-weight: bold;
    text-decoration: underline;
}

.modal-body > h2 {
    font-size: 1rem !important;
    text-align: left;
}

.modal-body > p {
    font-size: 0.8rem !important;
    text-align: left;
}

.modal-body > p > span.note {
    font-size: 0.7rem !important;
    text-align: left;
}

/* 乗り換えキャンペーン end */


/* 注意事項 start */

section#nortice{
    margin: 3rem auto;
}

#nortice, #nortice > ul{
    margin-right: auto;
    margin-left: auto;
}

#nortice > h2{
    margin-bottom: 20px;
    text-align: center;
}

#nortice > p{
    text-align: center;
}

#nortice > ul{
    max-width: 960px;
}

#nortice > p, #nortice > ul > li{
    font-size: 10px;
}

@media (min-width: 576px) {
    #nortice{
        max-width: 540px;
    }
}
@media (min-width: 768px) {
    #nortice{
        max-width: 720px;
    }
}
@media (min-width: 992px) {
    #nortice{
        max-width: 960px;
    }

    #nortice > p, #nortice > ul > li{
        font-size: 14px;
    }
}
@media (min-width: 1200px) {
    #nortice{
        max-width: 1140px;
    }
}
@media (min-width: 1400px) {
    #nortice{
        max-width: 1320px;
    }
}

/* 注意事項 end */



footer{
    margin: 20px 0;
}


/*商標・登録商標について start */

#trademarkRegistration, #trademarkRegistration > ul{
    margin-right: auto;
    margin-left: auto;
}

#trademarkRegistration > h2{
    margin-bottom: 20px;
    text-align: center;
}

#trademarkRegistration > p{
    text-align: center;
}

#trademarkRegistration > ul{
    max-width: 960px;
}

#trademarkRegistration > p, #trademarkRegistration > ul > li{
    font-size: 10px;
}

@media (min-width: 576px) {
    #trademarkRegistration{
        max-width: 540px;
    }
}
@media (min-width: 768px) {
    #trademarkRegistration{
        max-width: 720px;
    }
}
@media (min-width: 992px) {
    #trademarkRegistration{
        max-width: 960px;
    }

    #trademarkRegistration > p, #trademarkRegistration > ul > li{
        font-size: 14px;
    }
}
@media (min-width: 1200px) {
    #trademarkRegistration{
        max-width: 1140px;
    }
}
@media (min-width: 1400px) {
    #trademarkRegistration{
        max-width: 1320px;
    }
}


/*商標・登録商標について end */

/*コピーライト start */

#copyright{
    text-align: center;
}

/*コピーライト end */