@charset "UTF-8";
* {
    margin: 0;
    padding: 0;
    font-family:Arial, Helvetica, sans-serif;
}
html {
    height: 100%;
}
body {
    color: #333333;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    height: 100vh; /* Avoid the IE 10-11 `min-height` bug. */
}

.wrapper{
    background-color: #1471dd;
    padding-top: 1px;
    flex: 1;
}

.wrappersms{
    background-color: #1471dd;
    padding-top: 1px;
    flex: 1;
}

@media screen and (max-width: 767px) {
    .wrappersms.low_contents{
       /*background: linear-gradient(180deg, #1471dd 0%, #1471dd 30%, #ffffff 30%, #ffffff 100%);*/
        background-color: #1471dd;
    	padding: 0px 0 20px 0;
    }
}

@media screen and (min-width: 768px) {
    .wrappersms {
        background-color: #1471dd;
        padding: 0px 0 20px 0;
    }
    .wrappersms:before {
        content: "";
        background-color: #1471dd;
        height: 172px;
        display: block;
    }
}

.wrapper.plan_select{
    padding: 70px 0 20px 0;
}
.wrapper.plan_status{
    padding: 1px 0 0px 0;
}

@media screen and (min-width: 768px) {
    .wrapper {
        background-color: #f0f1f2;
        padding: 0px 0 20px 0;
    }
    .wrapper.plan_select{
    padding-top: 0px
    }
    .wrapper.plan_status{
    padding-top: 1px
    }
    .wrapper:before {
        content: "";
        background-color: #1471dd;
        height: 172px;
        display: block;
    }
}

.head_title {
    color: #ffffff;
    text-align: center;
    margin: 25px 0;
    font-size: 20px;
}
.head_subtitle {
    color: #ffffff;
    font-size: 14px;
    margin: -5px auto 0;
    padding: 0 44px;
    text-align: center;
}
.head_title + .main_contnt {
    margin-top: 0px;
}
.main_contnt {
    background-color: #ffffff;
    padding: 32px 10px 0.1px;
    border-radius: 20px;
    margin: 0px 10px 20px;
    position: relative;
}
.main_contnt_entry {
    background-color: #ffffff;
    padding: 32px 15px 30px;
    border-radius: 20px 20px 0 0;
    margin: 30px 0 0;
    position: relative;
}

@media screen and (min-width: 768px) {
    .main_contnt_entry {
        border-radius: 20px;
        margin: 30px 0 20px;
    }
}

.main_contnt_entrysms {
    background-color: #ffffff;
    padding: 32px 15px 30px;
    border-radius: 20px 20px 20px 20px;
    margin: 30px 0 0;
    position: relative;
}

@media screen and (min-width: 768px) {
    .main_contnt_entrysms {
        border-radius: 20px 20px 20px 20px;
        margin: 30px 0 20px;
    }
}

/*
.main_contnt_entry.sms_switch {
    border-radius: 20px 20px 0px 0px;
    height: calc(100% - 147px);
    min-height: 256px;
}*/

.main_contnt_entry p {
    color: #333333;
    font-size: 14px;
}

.main_contnt_entrysms p {
    color: #333333;
    font-size: 14px;
}
	
.main_contnt_entry_text {
    margin-top: 20px;
}

@media screen and (min-width: 768px) {
    .head_title {
        margin-top: -140px;
    }
    .main_contnt {
        margin: -104px auto 20px;
        width: calc(100% - 340px);
        max-width: 400px;
        padding: 32px 160px 0.1px;
    }
    .main_contnt_entry {
        margin: 30px auto 0;
        width: calc(100% - 80px);
        max-width: 640px;
        padding: 32px 40px 30px;
    }
    
	.main_contnt_entrysms {
	        margin: 30px auto 0;
	        width: calc(100% - 80px);
	        max-width: 640px;
	        padding: 32px 40px 30px;
	    }
	    
    .main_contnt_entrysms.sms_switch {
        min-height: calc(100% - 400px);
        border-radius: 20px 20px 20px 20px;
    }
}
/* sub_title_text */
.main_contnt_entry .sub_title_text{
    font-size: 12px;
    line-height: 1.2;
    color: #7A776A;
    text-align: center;
    margin: 0;
}
.h2_title + .sub_title_text{
    margin: -30px 0 0;
}

/* sectioning */
.section_block{
    margin-bottom: 60px;
}

.section_block > .h2_title {
    margin-top: 10px;
}

/* text-align */
.text_right {
    text-align: right;
}
.text_center {
    text-align: center;
}
.text_left {
    text-align: left;
}

.use_status{
    padding: 10px 0;
    border-radius: 18px 18px 0 0;
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    line-height: 13px;
    color: #ffffff;
    margin: -30px -8px 0;
}

@media screen and (min-width: 768px) {
    .use_status{
        margin: -30px -158px 0;
    }

}

/*
.use_status {
    width: calc(100% - 4px);
    padding: 10px 0;
    border-radius: 18px 18px 0 0;
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    line-height: 13px;
    color: #ffffff;
    position: absolute;
    top: 2px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
*/

.in_use {
    background-color: #23b795;
}
.lost {
    background-color: #fdac4e;
}
.end {
    background-color: #fd4e4e;
}
.commnet_frame {
    background-color: #fd4e4e;
    display: grid;
    padding: 6px 0;
    min-width: 251px;
    color: #ffffff;
    border-radius: 4px;
    position: absolute;
    top: -40px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.commnet_frame p {
    margin: 0 29px;
    display: inline-block;
    font-size: 14px;
    text-align: center;
    font-weight: bold;
}
.commnet_frame::after {
    content: "";
    display: block;
    position: absolute;
    bottom: -6px;
    left: calc(50% - 7px);
    border-style: solid;
    border-width: 7px 7px 0px 7px;
    border-color: #fd4e4e transparent transparent transparent;
}

/* area */
.area_note {
    color: #34332d;
    font-size: 13px;
}
.area_inner {
    margin-top: 15px;
    text-align: center;
    font-weight: bold;
}

.plan_select .area_inner{
     margin-top: 0px;
}

.area_country {
    margin-top: 10px;
    font-size: 26px;
    line-height: 30px;
    padding-left: 23px;
    margin-bottom: 7px;
    position: relative;
    display: inline-block;
}
.area_country:before {
    content: "";
    background-image: url(./img/pin.svg);
    width: 19px;
    height: 25px;
    display: inline-block;
    position: absolute;
    top: 2px;
    left: 0px;
}
.area_text_genre {
    font-weight: bold;
}
@media screen and (max-width: 374px) {
    .area_text {
        font-size: 15px;
    }
}

/* plan */
.plan_inner {

    padding: 10px 5px;
    display: flex;
    width: calc(100% - 10px);
    margin-top: 14px;
    list-style: none;
    align-items: center;
    overflow-y: hidden;
    overflow-x: auto;
}
 
.plan_inner li {
    border: #e3e3e3 solid 2px;
    border-radius: 10px;
    margin-right: 2%;
    /*width: calc(33.3% - 6.7px);*/
    position: relative;
    font-size: 14px;
    box-shadow: 0px 1px 5px #19406733;
}

.plan_inner:has(> li:nth-child(4)) li {
    flex : 0 0 calc((100% - 24px) / 3.15);
    box-sizing : border-box;
}

.plan_inner:not(:has(> li:nth-child(4))) li {
    flex : 0 0 calc((100% - 20px) / 3);
    box-sizing : border-box;
}
 
.plan_inner li:last-of-type {
    margin-right: 0;
}
.plan_inner label {
    display: block;
    padding: 30px 10px 0;
    height: calc(100% - 30px);
}
.plan_inner input {
    position: absolute;
    top: 5px;
    right: 5px;
}
.plan_inner p {
    font-size: 11px;
    font-weight: bold;
    word-wrap: break-word;
    vertical-align: baseline;
}
.plan_inner input + p {
    padding-top: 33px;
}
.plan_inner hr {
    margin: 10px 0 15px;
}
.plan_inner hr + p {
    text-align: center;
    margin-bottom: 15px;
}
.plan_inner .plan_number {
    font-size: 16px;
    vertical-align: inherit;

}
.plan_inner .plan_number_sm {
    font-size: 13px;
}
.plan_inner .plan_number_data {
    font-size: 13px;
}
.plan_inner .plan_number_data_sm {
    font-size: 11px;
}
.plan_inner .plan_number_bite {
    font-size: 16px;
}
.plan_inner .plan_bite {
    word-wrap: break-word;
}
.link_text {
    font-size: 16px;
    font-weight: 600;
    display: block;
    text-align: center;
    color: #1471dd;
}
.link_text_small {
    font-size: 14px;
}
.plan_inner + .link_text {
    margin-top: 20px;
}
.entry_button + .link_text{
    margin-top: -15px;
}
.link_text + .attention_box_inner{
    margin-top: 40px;
}
@media screen and (max-width: 374px) {
    .plan_inner p {
        font-size: 11px;
    }
    .plan_inner .plan_number {
        font-size: 16px;
        vertical-align: top;
    }
    .plan_inner .plan_number_bite {
        font-size: 16px;
    }
    .plan_inner .plan_number_sm {
        font-size: 13px;
    }
    .plan_inner .plan_number_data {
        font-size: 13px;
    }
    .plan_inner .plan_number_data_sm {
        font-size: 11px;
    }
}

/*---------------------------------------------------------------
ボタン
---------------------------------------------------------------*/
.entry_button {
    display: block;
    max-width: 240px;
    margin: 30px auto;
    padding: 12px 20px;
    text-align: center;
    color: #ffffff;
    background-color: #1471dd;
    border-radius: 28px;
    text-decoration: none;
    font-weight: 600;
}

.modal_content .entry_button{
    max-width: 225px;
    margin-top: 20px;
}

.secondary_button {
    display: block;
    max-width: 240px;
    padding: 12px 20px;
    text-align: center;
    color: #333333;
    border-radius: 28px;
    text-decoration: none;
    font-weight: 600;
    border: #cccccc 1px solid;
    margin: 30px auto;
}

.modal_content .secondary_button{max-width: 225px;}

.entry_button + .secondary_button {
    margin-top: -20px;
}
.modal .secondary_button {
    margin-top: 20px;
}

/*---------------------------------------------------------------
残りデータ
---------------------------------------------------------------*/
.remaining_time_inner {
    position: relative;
}
.remaining_time_end {
    position: absolute;
    background-color: #fd4e4e;
    color: #ffffff;
    border-radius: 5px;
    font-size: 14px;
    font-weight: 600;
    padding: 5px 10px;
    top: -33px;
    right: 50%;
    transform: translateX(50%);
    -webkit-transform: translateX(50%);
    -ms-transform: translateX(50%);
}
.remaining_time_end:after {
    position: absolute;
    content: "";
    bottom: -4px;
    right: 50%;
    border-style: solid;
    border-width: 5px 4.5px 0 4.5px;
    border-color: #fd4e4e transparent transparent transparent;
    transform: translateX(50%);
    -webkit-transform: translateX(50%);
    -ms-transform: translateX(50%);
}
.remaining_time_text_inner {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 40px;
}
.modal .remaining_time_text_inner {
    margin: 135px 0 15px;
}
.remaining_time_text {
    color: #1471dd;
    font-size: 14px;
    line-height: 16px;
}
.remaining_time_count {
    color: #004184;
    font-size: 36px;
    font-weight: bold;
    padding-left: 18px;
}
.modal .remaining_time_count {
    font-size: 24px;
    padding-left: 12px;
}
.remaining_time_graph_inner {
    padding: 0 18px;
    margin-top: 14px;
}
.remaining_time_graph_under {
    position: relative;
    background-color: #f2f2f2;
    display: block;
    height: 6px;
    border-radius: 3px;
}
.remaining_time_graph_line {
    position: relative;
    background-color: #1471DD;
    height: 6px;
    border-radius: 3px;
}
.remaining_time_graph_text_inner {
    display: flex;
    justify-content: space-between;
    margin: -1px 0 19px;
}
.remaining_time_graph_text_inner span {
    font-size: 10px;
    color: #cccccc;
    width: 4%;
    white-space: nowrap ;
}
.remaining_time_graph_text_inner .active {
    color: #333333;
}
.remaining_time_graph_text_inner span:first-child {
    text-align: center;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
/*
.remaining_time_graph_text_inner span:last-child {
    transform: translateX(50%);
    -webkit-transform: translateX(50%);
    -ms-transform: translateX(50%);
}*/

.remaining_byte_inner {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: center;
    padding: 15px 0;
    border-top: #d8d8d8 dashed 1px;
    border-bottom: #d8d8d8 dashed 1px;
}
.remaining_byte_text {
    font-size: 14px;
    font-weight: 600;
}
.remaining_byte_end_label {
    background-color: #fd4e4e;
    padding: 5px 10px;
    color: #ffffff;
    margin-right: 10px;
    border-radius: 5px;
}
.remaining_byte_count {
    padding-left: 5px;
    color: #004184;
    font-size: 18px;
    font-weight: 600;
}

.remaining_byte_inner--device{
    display: block;
    justify-content: center;
    align-items: baseline;
    padding: 15px 0;
    text-align: center;
    border-bottom: #d8d8d8 dashed 1px;
}

.remaining_byte_text--device{
    font-size: 12px;
    margin-bottom: 6px;
}

.remaining_byte_text--small {
    font-size: 10px;
    font-weight: 600;
}

.remaining_byte_count--small{
    padding-left: 2px;
    color: #004184;
    font-size: 18px;
    font-weight: 600;
}
.remaining_byte_block{
    display: flex;
    justify-content: center;
    margin: 0 10px;
}

.remaining_byte_text_inner{
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 15px;
}

.remaining_byte_count.remaining_byte_end {
    color: #999999;
}
.modal .remaining_byte_count {
    font-size: 16px;
    padding-left: 17px;
}
.remaining_byte_number {
    font-size: 28px;
    font-weight: bold;
}
.modal .remaining_byte_number {
    font-size: 20px;
}
.remaining_byte_attention {
    font-size: 14px;
    font-weight: normal;
    color: #fd4e4e;
    width: 100%;
    text-align: center;
    padding-top: 5px;
}
.remaining_current_inner {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    padding: 15px 0;
    font-size: 12px;
}
.entry_button + .remaining_current_inner {
    margin-top: -25px;
}
.remaining_current_time {
    color: #999999;
    font-weight: 600;
}
.remaining_current_refresh {
    font-weight: 400;
    position: relative;
    padding-right: 20px;
    color: #333333;
    text-decoration: none;
}
.remaining_current_refresh:after {
    content: "";
    background-image: url(./img/refresh.svg);
    width: 19px;
    height: 19px;
    display: inline-block;
    position: absolute;
    top: 0;
    right: 0;
}

/*---------------------------------------------------------------
footer
---------------------------------------------------------------*/
.footer_inner {
    background-color: #0e509d;
    width: 100%;
}
.footer_text {
    color: #ffffff;
    text-align: center;
    padding-top: 22px;
}
.footer_button_inner {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 7px 20px 0px;
    padding-bottom: 28px;
    justify-content: center;
}
.footer_button_inner a {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: 2px solid #dce8f7;
    border-radius: 9px;
    width: calc(50% - 2.5px);
    position: relative;
    display: flex;
    align-items: center;
    text-decoration: none;
    line-height: 18px;
    min-height: 52px;
}
.footer_button_inner a + a {
    margin-left: 5px;
}
.footer_button_inner a:after {
    content: "";
    background-image: url(./img/icn_arrow.svg);
    position: absolute;
    width: 13px;
    height: 13px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    right: 10px;
}
.footer_button_inner img {
    padding: 0 7px;
}
.footer_button_text {
    font-size: 14px;
    color: #ffffff;
    padding-right: 25px;
}
@media screen and (min-width: 768px) {
    .footer_text {
        max-width: 660px;
        margin: 0 auto;
    }
    .footer_button_inner {
        max-width: 530px;
        margin: 11px auto 0;
    }
    .footer_button_inner a:first-child:nth-last-child(3),
    .footer_button_inner a:first-child:nth-last-child(3) ~ a{
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      border: 2px solid #dce8f7;
      border-radius: 9px;
      width: calc(33% - 2.5px);
      position: relative;
      display: flex;
      align-items: center;
      text-decoration: none;
      min-height: 44px;
    }
}

@media screen and (max-width: 767px) {
  .footer_button_inner a {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: 2px solid #dce8f7;
    border-radius: 9px;
    width: calc(50% - 2.5px);
    position: relative;
    display: flex;
    align-items: center;
    text-decoration: none;
  }
  .footer_button_inner a:nth-child(3) {
    min-height: 52px;
    margin-top:8px;
  }
  .footer_button_inner a + a{
    margin-left: 0;
  }
}
@media screen and (max-width: 374px) {
  .footer_button_text {
    font-size: 12px;
  }
}
/*---------------------------------------------------------------
モーダル
---------------------------------------------------------------*/
.modal{
    display: none;
    height: 100vh;
    position: fixed;
    top: 0;
    width: 100%;
}
.modal.active {
    display: block;
    z-index: 5;
}
.modal_bg{
    background: rgba(0,12,26,0.8);
    height: 100vh;
    position: absolute;
    width: 100%;
}
.modal_content{
    background: #fff;
    border-radius: 23px;
    left: 50%;
    padding: 0 20px;
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%);
    width: calc(100% - 88px);
    max-height: 90%;
    overflow-y: scroll;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.modal_content::-webkit-scrollbar {
    display:none;
}
.modal .modal_title {
    font-size: 20px;
    font-weight: bold;
    margin-top: 30px;
    text-align: center;
}
.modal_text {
    text-align: center;
    font-size: 14px;
    margin: 20px 0 20px;
}
.modal_wifitext {
    text-align: center;
    font-size: 14px;
}
.modal_note {
    font-size: 11px;
    color: #666666;
    margin-top: 14px;
}
.modal .link_text {
    text-decoration: none;
    margin-bottom: 20px;
}
.modal_list_note {
    font-size: 12px;
    color: #6a6a6a;
    padding-left: 20px;
    margin-top: 30px;
}

.input_form + .modal_list_note{
  margin-top: 10px;
}


.modal_head_grey {
    color: #333333;
    font-weight: bold;
    font-size: 20px;
    width: calc(100% - 4px);
    padding: 20px 0;
    background-color: #cccccc;
    border-radius: 22px 22px 0 0;
    text-align: center;
    position: absolute;
    top: 2px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    line-height: 26px;
}
.modal_head_category {
    line-height: 21px;
    font-size: 13px;
    margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
    .modal_content {
        max-width: 650px;
    }
}
/*-------------------------------------------------------------------------
プランボックス
-------------------------------------------------------------------------*/
.plan_box_title {
    background-color: #999999;
    border-radius: 6px 6px 0 0;
    font-size: 14px;
    text-align: center;
    font-weight: 600;
    color: #ffffff;
    padding: 8px 0;
}

.modal_title + .plan_box_title{
    margin-top: 5px;
}

.plan_box_title + .plan_box_inner {
    border-radius: 0 0 6px 6px;
}
.plan_box_title.plan_box_coupon {
    background-color: #23b795;
}
.plan_box_mark {
    display: block;
    height: 31px;
    position: relative;
}
.plan_box_mark:after {
    content: "";
    width: 0;
    height: 0;
    position: absolute;
    top: 8px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    border-style: solid;
    border-width: 15px 20px 0 20px;
    border-color: #e5e5e5 transparent transparent transparent;
}
.plan_box_inner {
    display: flex;
    list-style: none;
    border: #cccccc solid 1px;
    border-radius: 7px;
    text-align: center;
}
.plan_box_inner.plan_coupon_active_inner {
    border: #23b795 solid 2px;
}
.plan_coupon_active_inner .plan_coupon_active {
    color: #23b795;
}
.plan_box_inner li {
    width: 33.3%;
}
.plan_box_item {
    margin-top: 15px;
    font-size: 12px;
    color: #999999;
}
.plan_box_content {
    color: #221111;
    font-weight: bold;
    margin: 5px 0 15px;
}
.plan_box_content_sm {
    color: #221111;
    font-weight: bold;
    margin: -15px 0 15px;
}
.plan_box_number {
    font-size: 24px;
}
.plan_box_number_sm {
    font-size: 18px;
}
@media screen and (max-width: 374px) {
    .plan_box_item {
        font-size: 12px;
    }
    .plan_box_number {
        font-size: 20px;
    }
    .plan_box_content {
      font-size: 13px;
    }
    .plan_box_number_sm {
        font-size: 15px;
    }
    .plan_box_content_sm {
      font-size: 13px;
    }
}

/*-------------------------------------------------------------------------
入力フォーム
-------------------------------------------------------------------------*/
.input_form {
    margin-top: 22px;
}
.input_form input {
    background-color: #fffae5;
    border: #cccccc 1px solid;
    border-radius: 6px;
    width: calc(100% - 15px);
    padding: 14px 0 14px 15px;
    font-size: 18px;
}
.input_form.error input {
    background-color: #fff4f4;
    border: #fd4e4e 1px solid;
    font-size: 16px;
}
.input_form.error p {
    font-size: 14px;
    color: #fd4e4e;
    margin-top: 5px;
}

/* FR1-6_00  */
input[type="radio"]{
    display: none;
}

input[type="radio"] + .radio_icon{
    content: "";
    display: inline-block;
    color: #ccc;
    border-radius: 50%;
    width: 10px;
    height: 10px;
    background-color: #fff;
    border: #ccc solid 2px;
    position: absolute;
    right: 4%;
    top: 4%;
}

input[type="radio"] + .radio_icon:before {
    position: absolute;;
    content:"";
    display:inline-block;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    background-color: #fff;
    width:7px;
    height: 7px;
    border-radius: 50%;
}

input[type="radio"]:checked + .radio_icon{
    border: #1370DC solid 2px;
}

input[type="radio"]:checked + .radio_icon:before {
    background-color: #1370DC;
}

.plan_inner li.coupon_active input[type="radio"]:checked + .radio_icon{
    border: #23B795 solid 2px;
}

.plan_inner li.coupon_active input[type="radio"]:checked + .radio_icon:before {
    background-color: #23B795;
}

.plan_inner li.active{
   /* width: 35%;*/
   /* box-sizing: border-box;*/
    border: #1471DD solid 4px;
   /* transform: scale(1.05);*/
}
.plan_inner li.active.coupon_active{
    border: #23B795 solid 4px;
}
.plan_coupon_apply {
    background-color: #23b795;
    color: #ffffff;
    padding: 12px 0 11px;
    text-align: center;
    margin-top: 15px;
    font-size: 14px;
    font-weight: 600;
}

/* ボタン  */
.plan_coupon_link{
    color: #cccccc;
    text-decoration: none;
    pointer-events: none;
}
.plan_start_button{
    background-color: #cccccc;
    pointer-events: none;
    margin-top: 20px;
}
.plan_coupon_link.active{
    color: #1471dd;
    text-decoration: underline;
    pointer-events: auto;
}
.plan_start_button.active{
    background-color: #1471dd;
    pointer-events: auto;
}

/* エラーテキストモジュール */
.error_area{
    margin: 25px auto 10px;
}

.error_area strong{
    color: #FD4E4E;
    font-size: 26px;
    line-height: 1.308;
    display: block;
    text-align: center;
    font-weight: bold;
    margin-bottom: 20px;
}

.error_area .txt_bold{
    font-size: 14px;
    line-height: 1.857;
    font-weight: bold;
    text-align: center;
    margin-bottom: 40px;
}

.error_area p{
    font-size: 14px;
    line-height: 1.429;
    text-align: center;
    margin: 20px 0;
}

/* plan_confirmation_box */
.plan_confirmation_box {
    border-radius: 6px;
    text-align: center;
}
.plan_confirmation_box.plan_before {
    border: #cccccc solid 1px;
    margin-top: 20px;
}
.plan_confirmation_box.plan_after {
    border: #1471dd solid 2px;
}
.plan_confirmation_box .plan_confirmation_box_title {
    color: #ffffff;
    border-radius: 4px 4px 0 0;
    padding: 5px 0 6px;
}
.plan_before .plan_confirmation_box_title {
    background-color: #999999;
}
.plan_after .plan_confirmation_box_title {
    background-color: #1471dd;
}
.plan_confirmation_box_text {
    padding: 15px;
    font-size: 16px;
    color: #333333;
}

/* table */
table {
    border: 1px solid #e2e2e2;
    border-radius: 6px;
    border-spacing: 0;
    border-collapse: separate;
    table-layout: fixed;
    overflow: hidden;
    font-size: 14px;
    color: #333333;
    text-align: left;
    margin-top: 20px;
    width: 100%;
}
table th {
    background-color: #f0f1f2;
    border-bottom: 1px solid #e2e2e2;
    padding: 19px 9px;
    box-sizing: border-box;
    font-weight: 600;
}
table th + th {
    border-left: 1px solid #e2e2e2;
}
table td {
    border-bottom: 1px solid #e2e2e2;
    border-left: 1px solid #e2e2e2;
    font-size: 14px;
    line-height: 1.429;
    padding: 19px 9px;
    box-sizing: border-box;
}
table td p{
    font-size: 14px;
    line-height: 1.429;
    margin:15px 0;
}
table tr:last-child th,
table tr:last-child td {
    border-bottom: none;
}
.table_30p th {
    width: 30%;
}
.table_40p th {
    width: 40%;
}
.table_50p th {
    width: 50%;
}
.table_link {
    color: #1471dd;
}
br + .table_link {
    display: block;
    margin-top: 12px;
}

/* attention_box */
.attention_box_inner {
    background-color: #eeeeee;
    color: #333333;
    font-size: 14px;
    padding: 17px 15px 30px;
    border-radius: 6px;
}
.attention_box_inner .attention_box_title {
    font-size: 16px;
    text-align: center;
}
.attention_box_list {
    margin-top: 18px;
    padding-left: 17px;
}
.attention_box_inner .attention_box_list li + li {
    margin-top: 15px;
}
table + .attention_box_inner {
    margin-top: 30px;
}

/* accordion module */
.accordion_wrap{
    margin: 20px 0;
}
.accordion_head {
    font-size: 14px;
    text-align: center;
    line-height: 1.4;
    color: #333;
    padding: 20px 30px 20px 20px;
    border-radius: 6px;
    border: 1px solid #E2E2E2;
    position: relative;
    cursor: pointer;
}

.main_contnt_entry.entry_finish .accordion_head{
    text-align: left;
}

.accordion_head .accordion_icon{
    position: absolute;
    top: 49%;
    right: 25px;
}
.accordion_head.open{
    border-radius: 6px 6px 0 0;
    border-bottom: transparent;
}

.accordion_head .accordion_icon:before, .accordion_head .accordion_icon:after{
    background: #1471DD;
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transition: .3s all;
    transition: .3s all;
}
.accordion_head .accordion_icon:before{
    width: 14px;
    height: 2px;
}
.accordion_head .accordion_icon:after{
    width: 2px;
    height: 14px;
}

.accordion_head.open .accordion_icon:after{
    display: none;
}

.accordion_content{
    display: none;
    padding: 35px 15px 0;
    border: 1px solid #e2e2e2;
    border-radius: 0 0 6px 6px;
    border-top: transparent;
    position: relative;
}

.main_contnt_entry.entry_finish .accordion_content{
    padding: 20px 15px 0;
}

.accordion_wrap .accordion_content .accordion_title{
    font-size: 22px;
    margin: 0 0 23px;
    line-height: 0.909;
    text-align: center;
}

.accordion_wrap .accordion_content *:first-child{
    margin-top: 0;
}

.accordion_content:before{
    content: "";
    display: block;
    position: absolute;
    width: calc(100% - 30px);
    height: 1px;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background-color: #E2E2E2;
}

.close_accordion_btn_wrapper{
    margin: 17px auto;
    text-align: center;
    cursor: pointer;
}

.close_accordion_btn_wrapper span.close_accordion_btn{
    display: inline-block;
    line-height: 1.4;
    font-size: 14px;
    color: #333;
    position: relative;
}
/* accordion_list module */
.accordion_wrap .accordion_list .accordion_head,
.accordion_wrap .accordion_list .accordion_content{
    border-radius: 0;
    border-top: none;
}
.accordion_wrap .accordion_list:first-child .accordion_head{
    border-radius: 6px 6px 0 0;
    border-top:  1px solid #E2E2E2;
}
.accordion_wrap .accordion_list:last-child .accordion_head{
    border-radius: 0 0 6px 6px;
    border-bottom: 1px solid #E2E2E2;
}
.accordion_wrap .accordion_list:last-child .accordion_content{
    border-radius: 0 0 6px 6px;
}
.accordion_wrap .accordion_list .accordion_head.open{
    border-radius: 0;
    border-bottom: transparent;
}
.accordion_wrap .accordion_list:first-child .accordion_head.open{
    border-radius: 6px 6px 0 0;
}
/* note module */
.txt_note{
    color: #333;
    font-size: 14px;
    line-height: 1.4;
    list-style: none;
}

.txt_note li{
    position: relative;
    padding-left: 15px;
    line-height: 1.4;
}

.txt_note > li::before{
    content: "※";
    display: block;
    position: absolute;
    font-size: 12px;
    left: 0;
    top: 1px;
}

/* tab */
.tab_wrap {
    width: 100%;
    font-size: 14px;
    color: #333333;
    margin-top: 22px;
}
.tab_area {
    display: flex;
    border-bottom: #1471dd 1px solid;
}
.tab_area label {
    border: #e2e2e2 1px solid;
    border-bottom: none;
    width: 33.3%;
    display: inline-block;
    padding: 5px 0 7px;
    text-align: center;
    cursor:pointer;
}
.panel_area {
    background: #f2f2f2;
    padding: 20px 15px;
}
.tab_panel {
    width:100%;
    display:none;
}
.tab_area label.active {
    background: #1471dd;
    color: #ffffff;
    border: none;
}
.tab_panel.active {
    display: block;
}
.tab_panel table {
    margin-bottom: 7px;
}
.tab_panel table th {
    padding: 3px 10px;
    font-weight: normal;
    text-align: center;
}
.tab_panel table td {
    text-align: right;
}

/* image */
.image_content {
    width: 100%;
    height: auto;
}

/* list_circled_numbers */
.list_circled_number_inner {
    list-style: none;
    position: relative;
    margin: 0;
    padding: 0;
    margin-top: 20px;
    font-size: 14px;
    line-height: 1.4;
    color: #333333
}
.list_circled_number_inner li {
    padding-left: 1.25em;
}
.list_circled_number_inner li + li {
    margin-top: 15px;
}
.list_circled_number {
    position: absolute;
    left: 0;
    margin: 0;
}

/* consent_box_inner */
.consent_box_inner {
    border-radius: 6px;
    border: #cccccc 1px solid;
    text-align: center;
    font-size: 14px;
    margin-top: 20px;
}
.consent_box_text_inner {
    padding: 20px 15px;
}
.consent_box_inner .consent_box_title {
    font-weight: 600;
    font-size: 16px;
    margin-bottom: 18px;
}
.consent_box_inner .consent_box_check {
    border-top: #cccccc 1px solid;
    background-color: #f2f2f2;
    font-size: 16px;
    font-weight: 600;
    padding: 15px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 0;
}

.consent_box_inner input[type="checkbox"]{
	height: 24px;
    width: 24px;
    margin-right: 5px;
    border: #1471dd 1px solid;
    border-radius: 4px;
    background-color: #ffffff;	

}

/* entry_finish */
.entry_finish_inner {
    text-align: center;
    color: #333333;
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 20px;
}
.entry_finish_inner .entry_finish_title {
    font-size: 26px;
}
.entry_finish_inner .entry_finish_call_nunmber {
    margin-top: 20px;
}
.entry_finish_inner .entry_finish_call_text {
    font-weight: 400;
    margin-top: 40px;
}

/* list_text */
.list_text {
    margin-top: 18px;
    padding-left: 17px;
    font-size: 14px;
    line-height: 1.4;
    color: #333333;
}
.list_text li + li {
    margin-top: 15px;
}

/* h2_title */
.h2_title {
    margin: 30px auto;
    font-size: 22px;
    font-weight: 600;
    color: #333333;
    text-align: center;
}


.main_contnt_entry.entry_finish .h2_title{
    margin: 40px auto -5px;
    font-size: 18px;

}


/* sms_switch_inner */
.sms_switch_inner {
    border-top: #cccccc 1px solid;
    list-style: none;
    font-size: 14px;
}
.sms_switch_inner li {
    border-bottom: #cccccc 1px solid;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0;
}
.sms_switch_inner .sms_switch_note {
    color: #666666;
}
.sms_switch_button_inner {
    width: 51px;
    height: 31px;
    border-radius: 15.5px;
    position: relative;
}

.sms_switch_text {
    width: 82%;
    height: 1.2em;
}
.sms_switch_button_inner.on {
    background-color: #4d8bff;
}
.sms_switch_button_inner.off {
    background-color: #999999;
}
.sms_switch_button {
    position: absolute;
    height: 27px;
    width: 27px;
    border-radius: 13.5px;
    background-color: #ffffff;
    top: 2px;
}
.on .sms_switch_button {
    right: 2px;
}
.off .sms_switch_button {
    left: 2px;
}

/* text_strong */
.text_strong {
    color: #fd4e5b;
}

/* america_content_inner */
.america_content_inner {
    border: #e2e2e2 1px solid;
    border-radius: 10px;
    padding: 27px 30px 20px;
    margin: 20px 0 30px;
    text-align: center;
    font-size: 16px;
    color: #333333;
}
.america_content_title {
    color: #1471dd;
    font-size: 26px;
    font-weight: 600;
}
.america_content_inner hr {
    margin-top: 23px;
    margin-bottom: 20px;
}
.america_content_inner hr + p {
    font-size: 14px;
    line-height: 24px;
}

/* SB footer */
.sb-footer {
    margin: 0;
    padding: 0;
    font-family: Helvetica, Arial, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'モリサワ 新ゴ R', 'Droid Sans', メイリオ, 'sans-serif';
    font-size: 14px;
    line-height: 1.55;
    color: #333333;
    width: 100%;
}

.sb-footer_inner {
    padding: 40px 15px 40px;
    background: #E7E8EB;
    text-align: center;
}
.footer_logo {
    margin: 0;
    display: inline-block;
}

.footer_logo + .footer_logo{
     margin-left: 70px;
}

.footer_logo-link {
    display: block;
    width: 128px;
    margin: auto;
    text-indent: -9999px;
}

.footer_logo-link.corp_sb{background: url(./img/logo-sb.svg) no-repeat center center;
    -webkit-background-size: 100% 100%;
    background-size: 100%;
}
.footer_logo-link.corp_ym{background: url(./img/logo-ym.svg) no-repeat center center;
    -webkit-background-size: 90% 90%;
    background-size: 90%;
}
.footer_logo-link.corp_lm{background: url(./img/logo-lm.svg) no-repeat center center;
    -webkit-background-size: 90% 90%;
    background-size: 90%;
}

@media screen and (max-width: 359px) {
    .footer_logo + .footer_logo{
         margin-left: 50px;
    }

    .footer_logo-link {
        display: block;
        width: 118px;
        margin: auto;
        text-indent: -9999px;
    }

}

.sb-footer p.sb-footer_copyright {
    margin-top: 15px;
}
.sb-footer_copyright {
    margin: 30px 0 0;
    padding: 0;
    text-align: center;
    font-size: 10px;
    line-height: 1;
    color: #555;
}
.sb-footer_copyright-small {
    font-size: 100%;
}


/* Loading css */
.mask {position: fixed;top: 0;left: 0;right: 0;bottom: 0;background-color: rgba(0, 0, 0, 0.4);color: #fff;z-index: 9;}
.loading-spinner {display: inline-block;position: relative;width: 80px;height: 80px;/* -webkit-transform: scale(.6);-moz-transform: scale(.6);-ms-transform: scale(.6);transform: scale(.6); */}
.loading-spinner div {
    -webkit-transform-origin: 40px 40px;
    -moz-transform-origin: 40px 40px;
    transform-origin: 40px 40px;
    -webkit-animation: loading-spinner 1.2s linear infinite;
    -moz-animation: loading-spinner 1.2s linear infinite;
    animation: loading-spinner 1.2s linear infinite;
}
.loading-spinner div:after {content: " ";display: block;position: absolute;top: 3px;left: 37px;width: 6px;height: 18px;border-radius: 20%;background: #fff;}
.loading-spinner div:nth-child(1) {-webkit-transform: rotate(0deg);-moz-transform: rotate(0deg);-ms-transform: rotate(0deg);transform: rotate(0deg);-webkit-animation-delay: -1.1s;-moz-animation-delay: -1.1s;-ms-animation-delay: -1.1s;animation-delay: -1.1s;}
.loading-spinner div:nth-child(2) {-webkit-transform: rotate(30deg);-moz-transform: rotate(30deg);transform: rotate(30deg);-webkit-animation-delay: -1s;-moz-animation-delay: -1s;animation-delay: -1s;}
.loading-spinner div:nth-child(3) {-webkit-transform: rotate(60deg);-moz-transform: rotate(60deg);transform: rotate(60deg);-webkit-animation-delay: -0.9s;-moz-animation-delay: -0.9s;animation-delay: -0.9s;}
.loading-spinner div:nth-child(4) {-webkit-transform: rotate(90deg);-moz-transform: rotate(90deg);transform: rotate(90deg);-webkit-animation-delay: -0.8s;-moz-animation-delay: -0.8s;animation-delay: -0.8s;}
.loading-spinner div:nth-child(5) {-webkit-transform: rotate(120deg);-moz-transform: rotate(120deg);transform: rotate(120deg);-webkit-animation-delay: -0.7s;-moz-animation-delay: -0.7s;animation-delay: -0.7s;}
.loading-spinner div:nth-child(6) {-webkit-transform: rotate(150deg);-moz-transform: rotate(150deg);transform: rotate(150deg);-webkit-animation-delay: -0.6s;-moz-animation-delay: -0.6s;animation-delay: -0.6s;}
.loading-spinner div:nth-child(7) {-webkit-transform: rotate(180deg);-moz-transform: rotate(180deg);transform: rotate(180deg);-webkit-animation-delay: -0.5s;-moz-animation-delay: -0.5s;animation-delay: -0.5s;}
.loading-spinner div:nth-child(8) {-webkit-transform: rotate(210deg);-moz-transform: rotate(210deg);transform: rotate(210deg);-webkit-animation-delay: -0.4s;-moz-animation-delay: -0.4s;animation-delay: -0.4s;}
.loading-spinner div:nth-child(9) {-webkit-transform: rotate(240deg);-moz-transform: rotate(240deg);transform: rotate(240deg);-webkit-animation-delay: -0.3s;-moz-animation-delay: -0.3s;animation-delay: -0.3s;}
.loading-spinner div:nth-child(10) {-webkit-transform: rotate(270deg);-moz-transform: rotate(270deg);transform: rotate(270deg);-webkit-animation-delay: -0.2s;-moz-animation-delay: -0.2s;animation-delay: -0.2s;}
.loading-spinner div:nth-child(11) {-webkit-transform: rotate(300deg);-moz-transform: rotate(300deg);transform: rotate(300deg);-webkit-animation-delay: -0.1s;-moz-animation-delay: -0.1s;animation-delay: -0.1s;}
.loading-spinner div:nth-child(12) {-webkit-transform: rotate(330deg);-moz-transform: rotate(330deg);transform: rotate(330deg);-webkit-animation-delay: 0s;-moz-animation-delay: 0s;animation-delay: 0s;}
@-webkit-keyframes loading-spinner {0% {opacity: 1;} 100% {opacity: 0;}}
@-moz-keyframes loading-spinner {0% {opacity: 1;}100% {opacity: 0;}}
@keyframes loading-spinner {0% {opacity: 1;}100% {opacity: 0;}}
.disabled:not(.entry_button) {opacity: .4;pointer-events: none;}
.mask{display: flex;justify-content: center;align-items: center;}
.text-left{text-align: left !important;}
.cursor-pointer:not(.disabled):not([disabled]) {cursor: pointer}
.plan_inner li.active .radio_icon{
    border: #1370DC solid 2px;
}

.plan_inner li.active  .radio_icon:before {
    background-color: #1370DC;
}

.plan_inner li.coupon_active.active .radio_icon{
    border: #23B795 solid 2px;
}

.plan_inner li.coupon_active.active .radio_icon:before {
    background-color: #23B795;
}

/* Terms and conditions CSS*/

.main_content p {
    font-family:Meiryo UI;
	font-size:10pt;
	color:#000000;
}

/* table */
.tc_table {
    border: 1px solid #000000 ;
    border-radius: 0px;
    border-spacing: 0;
    border-collapse: separate;
    table-layout: fixed;
    overflow: hidden;
    font-size: 12px;
    color: #333333;
    text-align: center;
    margin-top: 20px;
    width: 100%;
    font-family:Meiryo UI;
}
.tc_table th {
	border-right: 1px solid #000000 ;
    background-color: #f0f1f2;
    border-bottom: 1px solid #000000 ;
    padding: 10px 10px;
    box-sizing: border-box;
    font-weight: 600;
}
.tc_table th:last-child {
    border-right: 0px;
}

.tc_table td {
    border-bottom: 1px solid #000000 ;
    border-right: 1px solid #000000 ;
    font-size: 12px;
    line-height: 1.429;
    padding: 10px 10px;
    box-sizing: border-box;
}
.tc_table td:last-child {
    border-right: 0px;
}
.no-bottom-border{
	border-bottom:0px!important;
}
.tc_table tr:last-child th,
.tc_table tr:last-child td {
    border-bottom: none;
}


/* note module */
.tctxt_note{
    color: #333;
    font-size: 14px;
    line-height: 2;
    list-style: none;
}

.tctxt_note li{
    position: relative;
    padding-left: 20px;
    line-height: 2;
    font-family:Meiryo UI;
}

.tctxt_note > li::before{
    content: "・";
    display: block;
    position: absolute;
    font-size: 12px;
    left: 0;
    top: 1px;
}

.bullet_note{
    color: #333;
    font-size: 14px;
    line-height: 2;
    list-style: none;
}

.bullet_note li{
    position: relative;
    padding-left: 20px;
    line-height: 2;
    font-family:Meiryo UI;
}

.bullet_note > li::before{
    content: "●";
    display: block;
    position: absolute;
    font-size: 12px;
    left: 0;
    top: 1px;
}

.pnt_note{
    color: #333;
    font-size: 14px;
    line-height: 2;
    list-style: none;
}

.pnt_note li{
    position: relative;
    padding-left: 20px;
    line-height: 2;
    font-family:Meiryo UI;
}

.pnt_note > li::before{
    
    content: attr(seqChar);
    display: block;	
    position: absolute;
    font-size: 12px;
    left: 0;
    top: 1px;
}

.url-wrap{
	color:#0000ff;
	overflow-wrap: break-word;
	word-wrap: break-word;
	word-break: break-word;
	hyphens: auto;	
}

.hanging-indent1{		/* use this class to manage hanging indentation for ※ */
text-indent: -36px; 
padding-left: 36px;
}

.hanging-indent2{		/* use this class to manage hanging indentation for () */
text-indent: -24px; 
padding-left: 28px;
}

.boxed {
  border: 1px solid red ;	/* use this class to show red rectangular box with message */
}

.sb-red-message-box{	
	float:right;
	text-align: right;
	border:1px red solid; 
	font-size:10pt; 
	margin-left:63%;
	color:red;
	margin-bottom:20px;
}

.red-message-box{	
	float:right;
	text-align: right;
	border:1px red solid;
	font-size:10pt; 
	margin-left:63%;
	color:red;
	margin-bottom:20px;
}

@media screen and (max-width: 767px){
	.sb-red-message-box{
		width:max-content;
		font-size:10pt;
	}
	
	.red-message-box{
		width:max-content;
		font-size:10pt;
	}
}

/* add 20220624 */
a.accordion_head {
  display: block;
  text-decoration: none;
}

a.close_accordion_btn {
  display: inline;
  text-decoration: none;
  color: #333333;
}
.tab_area a.tab_label  {
  border: #e2e2e2 1px solid;
  border-bottom: none;
  width: 33.3%;
  display: inline-block;
  padding: 5px 0 7px;
  text-align: center;
  cursor:pointer;
  color: #333333;
  text-decoration: none;
}
.tab_area a.tab_label.active {
  background: #1471dd;
  color: #ffffff;
  border: none;
}
.consent_box_check_input {
  opacity: 0;
  height: 0;
  width: 0;
  border: none;
}

a.cursor-pointer:focus, a.cursor-pointer:active  { 
    border:2px solid #000;
}
.mod_16 {
    font-size: 16px !important;
}
.innertitle {
	 color: red;
    font-size: 20px;
}
.notopmargin {
    margin-top : 0px !important;
}
.satelliteNdaView_content_title {
    color: black;
    font-size: 12px;
    font-weight: 600;
    text-align : center;
}
.goldView_content_title {
    color: black;
    font-size: 13px;
    font-weight: 600;
    text-align : center;
}
tbody.scrollable {
  display: block;
  max-height: 300px;
  overflow-y: auto;
  width: 100%;
}
tbody.scrollable tr {
  display: table;
  width: 100%;
  table-layout: fixed;
}
.plans-table {
  width: 100%; /* Or 100% if responsive, then set th/td widths in % */
  border-collapse: collapse;
  table-layout: fixed;
}

#panel1 table th, #panel1 table td,#panel3 table th, #panel3 table td,#panel2 table th, #panel2 table td {
  border: 1px solid #ccc;
  padding: 8px;
  text-align: left;
  box-sizing: border-box;
}

#panel1 table thead, #panel1 table tfoot, #panel2 table thead, #panel2 table tfoot, #panel3 table thead, #panel3 table tfoot {
  display: table;
  width: 100%;
  table-layout: fixed;
}

.scrollable-tbody {
  display: block;
  max-height: 300px;
  overflow-y: auto;
  width: 100%;
}

.scrollable-tbody tr {
  display: table;
  width: 100%;
  table-layout: fixed;
}
.scrollable {
  display: block;
  max-height: 200px;
  overflow-y: auto;
  width: 100%;
}