@charset "utf-8";

/* ============================
   SIMのみ契約特典が選べます！
============================ */
.benefitTitle {
    width: 100%;
    background: var(--color-main);
    color: #FFF;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    padding: 8px;
}

.benefitList {
    width: 100%;
    display: flex;
    gap: 20px;
    margin-top: 16px;
}

.benefitList_image {
    border-radius: 8px;
    box-shadow: var(--box-shadow-general);
}

.benefitList_link:hover {
    opacity: 0.8;
    cursor: pointer;
}

.priceTable_price {
    display: flex;
    align-items: baseline;
    font-weight: bold;
}

.priceTable_number {
    display: inline-block;
    font-size: 2em;
    font-weight: bold;
    margin-right: 4px;
}

/* ============================
   この端末を購入した場合
============================ */
dl.priceTable {
    border: 1px solid #888;
    display: flex;
    height: 80px;
}

.priceTable dt {
    width: 50%;
    background: #F2F2F2;
    border-right: 1px solid #888;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-weight: bold;
}

.priceTable dd {
    width: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-weight: bold;
}

/* ============================
   特長
============================ */
.feature {
    display: flex;
    justify-content: space-between;
}

.feature_image,
.feature_text {
    width: 590px;
}

.feature_subTitle {
    font-size: 32px;
    font-weight: bold;
    margin-bottom: 24px;
}

/* ============================
   SIMのみ契約者限定
============================ */
#benefits {
    padding-bottom: 0;
}

.tab_body {
    background: var(--color-bg-light);
    padding: 40px 0 64px;
    border-top: 2px solid var(--color-main);
}

.item {
    width: 1200px;
    margin: 0 auto;
    background: #FFF;
    padding: 40px;
}

.item + .item {
    margin-top: 24px;
}

.item_row {
    display: flex;
    justify-content: space-between;
}

.item_head {
    width: 307px;
}

.item_image {
    display: block;
    width: 153px;
    height: auto;
    margin: 0 auto;
}

.item_link {
    display: block;
    text-decoration: underline;
    width: fit-content;
    margin: 8px auto 0;
    line-height: 1;
    padding: 0;
    border: none;
    background-color: transparent;
    font-size: 16px;
    text-decoration: underline;
    cursor: pointer;
}

.item_detail {
    width: 793px;
}

.item_name {
    font-size: 32px;
    font-weight: bold;
}

.item_title {
    font-size: 24px;
    font-weight: bold;
    margin-top: 32px;
    margin-bottom: 20px;
}

.item_noStock {
    margin-top: 40px;
    padding: 40px;
    border-top: 1px solid #AAA;
    border-bottom: 1px solid #AAA;
}

.item_noStock_title {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
}

.item_noStock_text {
    text-align: center;
    margin-top: 20px;
}

/* タブ */
.tab_nav {
    display: flex;
    justify-content: center;
    gap: 16px;
}

.tab_nav > li {
    width: 592px;
    font-size: 24px;
    line-height: 1;
    padding: 20px;
    font-weight: bold;
    border-radius: 4px 4px 0 0;
    text-align: center;
    background: #F2F2F2;
    color: #666;
    cursor: pointer;
}

.tab_nav > li.is-active {
    background: var(--color-main);
    color: #FFF;
    cursor: auto;
}

.tab_panel {
    display: none;
}

.tab_panel.is-active {
    display: block;
}

/* orderTable
-----------------------------------------------------------*/
.orderTable {
    width: 100%;
}

.orderTable th,
.orderTable td {
    padding: 20px;
    border: 1px solid #888888;
    vertical-align: top;
}

.orderTable th {
    width: 264px;
    background-color: #f2f2f2;
    text-align: left;
}

.orderTable th p {
    font-weight: bold;
}

.orderTable td {
    width: calc(100% - 264px);
}

/* Apple Watch 選択
-----------------------------------------------------------*/
.awModal_inner .common-title {
    line-height: 1.2;
    padding-bottom: 30px;
    font-size: 40px;
}

.awModal_inner .common-teriarytitle {
    margin-top: 20px;
    padding-bottom: 0;
    font-size: 24px;
    font-weight: bold;
}

.awItem {
    display: flex;
    align-items: center;
}

.awItem_image {
    width: 360px;
    height: 240px;
}

.awItem_image img {
    display: block;
    margin: 0 auto;
    object-fit: contain;
}

.awItem_text {
    width: calc(100% - 360px);
    padding: 0;
}

.awItem_text p {
    font-size: 20px;
    line-height: 1.3;
}

.awModal_inner .orderTable {
    margin-top: 20px;
}

.awModal_inner .orderTable th {
    width: 240px;
    font-weight: bold;
    vertical-align: middle;
}

.awModal_inner .orderTable td {
    width: calc(100% - 240px);
}

.awItem_note {
    margin-top: 20px;
}

.awModal_inner .orderTable sup {
    font-size: 0.5em;
    vertical-align: top;
}

#aw_status label {
    height: max-content;
}

/* ============================
   detail.css
============================ */
main > section {
    border-top: 2px solid var(--color-main);
    padding: 64px 0;
}

main > section:first-of-type {
    border-top: none;
    padding-top: 20px;
}

main section:last-child {
    padding-bottom: 0;
}

.detail_wrapper{
    padding: 40px 0;
}

/* 紹介部分 */
.detail-topSection{
    margin: 0 auto;
    width: 1200px;
    overflow: hidden;
    display: flex;
    justify-content: space-between;
    position: relative;
}

.detail-topSection_left{
    width: 700px;
}

.detail-maker {
    font-size: 14px;
    margin-bottom: 16px;
}

.detail-description{
    font-size: 16px;
    line-height: 24px;
    margin-top: 24px;
}

.detail-description span{
    color: #e4007f;
    font-weight: bold;
}

.detail-description span.campaign_catch{
    display: block;
}

.detail-description a {
    color: #333;
}

.detail-description small {
    display: block;
    font-size: 16px;
    padding-left: 1em;
    text-indent: -1em;
}

.description_under-caution{
    margin: 20px 0;
}

.description_under-caution li{
    color: #707070;
    font-size: 14px;
    line-height: 1.5em;
    padding-left: 1em;
    text-indent: -1em;
}

.detail-subTitle{
    font-size: 40px;
    line-height: 48px;
    margin: 40px 0 24px;
    font-weight: bold;
}

.detail-subTitle sup{
    font-size: 12px;
    font-weight: normal;
    padding: 0 0.1em;
    position: relative;
    top: -0.7em;
    vertical-align: top;
}

.detail-subTitle.-small {
    font-size: 24px;
    margin-bottom: 20px;
}

.detail-topSection_spec{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.detail-topSection_spec li{
    border: 1px solid #888888;
    display: table;
}

.detail-topSection_spec li span{
    color: #888888;
    display: table-cell;
    padding: 6.5px 8px;
    vertical-align: middle;
    line-height: 1.2;
}

.detail-topSection_right{
    width: 500px;
    position: relative;
}

.detail-topSection_icons{
    display: flex;
    flex-direction: row-reverse;
    font-size: 0;
    line-height: 0;
    text-align: right;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 10;
}

.detail-topSection_icons span{
    color: #fff;
    display: block;
    font-size: 16px;
    font-weight: bold;
    height: 24px;
    line-height: 24px;
    text-align: center;
    width: 48px;
}

.detail-topSection_icons span.icon-new {
    background: #E40000;
}

.detail-topSection_icons span.icon-old {
    background: #333;
}

.detail-topSection_icons span + span {
    margin-right: 5px;
}

.detail-topSection_image{
    width: 300px;
    height: 300px;
    overflow: hidden;
    position: relative;
    margin: 0 auto;
}

.detail-topSection_image img{
    display: block;
    height: 300px;
    margin: 0 auto;
    width: auto;
}

.detail-topSection_image div{
    position: relative;
    z-index: 1;
}

.slick-prev,
.slick-next{
    border: 0;
    cursor: pointer;
    display: block;
    height: 16px;
    padding: 0;
    position: absolute;
    text-indent: -9999px;
    top: 140px;
    transform: rotate(-135deg);
    width: 16px;
    z-index: 2;
}

.slick-prev{
    left: 76px;
}

.slick-prev,
.slick-next {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #000;
    position: absolute;
}

.slick-prev::after,
.slick-next::after {
    content: "";
    border-bottom: 1px solid #fff;
    border-left: 1px solid #fff;
    transform: translate(calc(50% + -9px), calc(50% + -7px)) rotate(180deg);
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 8px;
    height: 8px;
}

.slick-next{
    left: auto;
    right: 76px;
}

.slick-next::after {
    transform: translate(calc(50% + -7px), calc(50% + -9px)) rotate(0deg);
}

/* 商品サムネイル横スクロール対応 */
.detail-topSection_imageThumb {
    display: flex;
    justify-content: center;
    margin: 20px auto 0;
    gap: 10px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
}

.detail-topSection_imageThumb {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.detail-topSection_imageThumb::-webkit-scrollbar {
    display: none;
}

.detail-topSection_imageThumb a,
.detail-topSection_imageThumb img {
  -webkit-user-drag: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  pointer-events: auto;
}

.detail-topSection_imageThumb a{
    flex: 0 0 auto;
    display: block;
    border: 1px solid #ccc;
    box-sizing: border-box;
    display: block;
    width: 75px;
    height: 75px;
    padding: 5px 0;
}

.detail-topSection_imageThumb a.active{
    border: 2px solid #e4007f;
}

.detail-topSection_imageThumb img{
    display: block;
    height: 65px;
    margin: 0 auto;
    width: auto;
}

.detail-colorChip{
    font-size: 0;
    line-height: 0;
    margin-top: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.detail-colorChip li{
    margin: 0 4px;
}

.detail-colorChip_link {
    display: block;
    border: 2px solid transparent;
}

.detail-colorChip_link.color-selected {
    border: 2px solid #e4007f;
}

.detail-colorChip_circle {
    display: inline-block;
    height: 32px;
    width: 32px;
    text-indent: -9999px;
    transition: 0.2s;
    border: 1px solid #ccc;
}

.detail-colorChip_link.color-selected .detail-colorChip_circle {
    border: none;
}

.detail-colorChip_link:not(.color-selected) .detail-colorChip_circle:hover {
    border: 2px solid #888888;
}

.detail-colorName{
    font-size: 16px;
    line-height: 1;
    text-align: center;
    margin-top: 20px;
}

/* 価格枠 */
.procedure{
    display: flex;
    justify-content: space-around;
    margin: 40px 0;
}

.procedure a{
    border: 1px solid #ccc;
    box-sizing: border-box;
    color: #333;
    display: block;
    font-size: 16px;
    font-weight: bold;
    height: 60px;
    line-height: 60px;
    text-align: center;
    text-decoration: none;
    width: 320px;
}

.procedure a.select{
    border: 1px solid #e4007f;
    color: #e4007f;
}

.procedure.sim{
    justify-content: flex-start;
}

.procedure.sim a{
    margin-right: 15px;
}

.section_inner {
    width: 1200px;
    margin: 0 auto;
}

.price_title {
    margin-bottom: 34px;
}

.normal_price{
	font-size: 20px;
	line-height: 1;
	margin-bottom: 16px;
	text-align: right;
}

.price_table{
    box-sizing: border-box;
    margin: 0 auto;
    width: 793px;
    border: 5px solid #e4007f;
    border-top: none;
    margin-top: 32px;
}

.price_table caption{
    background: #e4007f;
    color: #fff;
    font-size: 24px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    padding: 20px 0;
}

.price_table th{
    background: #F2F2F2;
    border: 1px solid #888;
    border-width: 0 0 1px 1px;
    box-sizing: border-box;
    font-size: 16px;
    font-weight: bold;
    line-height: 1;
    padding: 20px 10px;
    text-align: center;
    vertical-align: middle;
    width: 25%;
}

.price_table th:first-child{
    background: #FEF1F8;
    border: 1px solid var(--color-main);
    border-top: none;
}

.price_table th span{
    display: block;
    font-size: 16px;
    font-weight: normal;
}

.price_table td{
    border: 1px solid #888;
    box-sizing: border-box;
    padding: 20px 10px;
    text-align: center;
    vertical-align: middle;
}

.price_table td.mnp-m {
    border: 1px solid var(--color-main);
}

.price_table td span.longname{
    font-size: 14px;
}

.price_table td div{
    display: block;
    font-size: 32px;
    font-weight: bold;
    line-height: 1;
}

.price_table td div .-yen {
    display: inline-block;
    font-size: 0.5em;
    margin-left: 2px;
    font-weight: bold;
}

.price_table td.mnp-m {
    color: #E40000;
}

.price_table_bottom{
    color: #707070;
}

.paidyWrap {
    display: none;
}

.paidyWrap.show {
    display: block;
    padding: 40px;
    margin-top: 40px;
    background: #FEF1F8;
}

.paidyWrap .textWrap h3 {
    font-size: 20px;
    line-height: 1;
    font-weight: bold;
    margin-bottom: 12px;
}

.paidyWrap .textWrap p {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 12px;
}

.paidyWrap .textWrap p span {
    display: inline-block;
    font-weight: normal;
    margin-right: 3px;
}

.paidyWrap ._paidy-promotional-messaging {
    padding: 24px !important;
    margin: 0 !important;
    background: #FFFFFF;
}

.paidyWrap div {
    width: 100% !important;
}

.paidyWrap.anotherDesign.show {
    position: relative;
    display: flex;
    align-items: center;
    padding: 0;
    margin-top: 79px;
    background: none;
    border: 1px solid #CCCCCC;
}

.paidyWrap.anotherDesign.show .textWrap {
    width: calc(50% - 16px) !important;
}

.paidyWrap.anotherDesign.show .textWrap h3 {
    position: absolute;
    top: calc(-1em - 26px);
}

.paidyWrap.anotherDesign.show .textWrap p {
    padding: 10px 0 0 20px;
    margin-bottom: 0;
}

.paidyWrap.anotherDesign.show .textWrap p span {
    display: inline-block;
}

.paidyWrap.anotherDesign.show ._paidy-promotional-messaging {
    width: calc(50% + 16px) !important;
    padding: 12px 0 !important;
}

.caution_sale{
    color: #707070;
    margin-top: 20px;
}

.caution_sale.aw{
    width: 1000px;
    margin: 40px auto 0;
}

.caution_sale.aw dt,
.caution_sale.aw .caution_title{
    display: inline-block;
    font-weight: bold;
    margin-bottom: 10px;
    text-indent: 0;
}

.caution_sale dt,
.caution_sale dd,
.caution_sale div{
    color: #707070;
}

.caution_sale li.red{
    color: #f00;
}

.caution_sale .noIndent li{
    text-indent: 0;
    padding-left: 0;
}

.caution_sale b{
    color: #f00;
    font-weight: bold;
}

.caution_sale .red{
    color: #f00;
    list-style: none;
}

.caution_sale a{
    color: #333;
    font-weight: bold;
}

.caution_sale ol{
    list-style: decimal;
}

.caution_sale ol li{
    list-style: decimal;
    margin-left: 2.5em;
    padding: 0;
    position: relative;
    text-indent: 0;
    vertical-align: top;
}

.caution_sale ol li::before{
    content: '※';
    left: -2.4em;
    position: absolute;
    top: 0;
}

.campaign_text a {
    text-decoration: underline;
    color: inherit;
}

.cp_message .-red {
    color: #e40000 !important;
}

.cp_message .-bold {
    font-weight: bold !important;
}

.cp_message .-indent {
    display: block;
    padding-left: 1em !important;
}

.caution_iphone7{
    color: #e4007f;
    margin: 40px 0;
}

.caution_iphone7 dt,
.caution_iphone7 dd,
.caution_iphone7 div{
    color: #e4007f;
}

.caution_iphone7 li{
    color: #e4007f;
    padding-left: 1em;
    text-indent: -1em;
}

.caution_iphone7 a{
    color: #333;
    font-weight: bold;
}

/* アクセサリ枠 */
.title_small {
    font-size: 32px;
    margin-top: 32px;
    margin-bottom: 20px;
    font-weight: bold;
}

.accessory_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px 20px;
    position: relative;
    margin-top: 40px;
}

.accessory_item{
    background: #F2F2F2;
    padding: 40px;
    display: flex;
    justify-content: space-between;
}

.accessory_slide{
    width: 136px;
    overflow: hidden;
}

.accessory_text{
    width: 354px;
}

.accessory_name {
    font-weight: bold;
    line-height: 1.2;
}

.accessory_price {
    margin-top: 8px;
    line-height: 1;
    text-align: right;
}

.accessory_comment{
    color: #707070;
    font-size: 16px;
    line-height: 1.5em;
    margin-top: 20px;
}

.accessory_comment li{
    padding-left: 1em;
    text-indent: -1em;
}

.accessory_more-btn{
    margin-top: 40px;
}

/* 特長枠 */
.bottom-detail_section{
    margin: 0 auto 40px;
    width: 1000px;
}

.bottom-detail_2column,
.bottom-detail_3column,
.bottom-detail_4column{
    display: flex;
    justify-content: space-between;
}

.bottom-detail_1column + .bottom-detail_1column,
.bottom-detail_1column + .bottom-detail_2column,
.bottom-detail_1column + .bottom-detail_3column,
.bottom-detail_1column + .bottom-detail_4column,
.bottom-detail_2column + .bottom-detail_1column,
.bottom-detail_2column + .bottom-detail_2column,
.bottom-detail_2column + .bottom-detail_3column,
.bottom-detail_2column + .bottom-detail_4column,
.bottom-detail_3column + .bottom-detail_1column,
.bottom-detail_3column + .bottom-detail_2column,
.bottom-detail_3column + .bottom-detail_3column,
.bottom-detail_3column + .bottom-detail_4column,
.bottom-detail_4column + .bottom-detail_1column,
.bottom-detail_4column + .bottom-detail_2column,
.bottom-detail_4column + .bottom-detail_3column,
.bottom-detail_4column + .bottom-detail_4column{
    margin-top: 40px;
}

.column-box{
    color: #707070;
    font-size: 16px;
    line-height: 1.5em;
}

.column-box img{
    max-width: 100%;
	height: auto;
}

.column-box b{
	font-weight: bold;
}

.column-image{
    margin: 20px 0;
    text-align: center;
}

.column-box sup{
    font-size: 14px;
    padding-left: 0.1em;
    position: relative;
    top: -0.2em;
    vertical-align: top;
}

.column-box .note li{
    text-indent: -1em;
    padding-left: 1em;
}

.column-box .note.-number li{
    text-indent: -1.8em;
    padding-left: 1.8em;
}

.bottom-detail_2column .column-box{
    flex-basis: 490px;
}

.bottom-detail_3column .column-box{
    flex-basis: 320px;
}

.bottom-detail_3column img{
	height: auto;
	width: 100%;
}

.bottom-detail_4column .column-box{
    flex-basis: 240px;
    text-align: center;
}

.reference_mark,
.reference_mark_note{
    list-style: decimal;
}

.reference_mark li,
.reference_mark_note li,
.reference_mark_nan li{
    list-style: decimal;
    margin-left: 2.5em;
    position: relative;
    vertical-align: top;
}

.reference_mark_nan li {
    list-style: none;
    margin-left: 1.5em;
}

.reference_mark li::before{
    content: '※';
    left: -2.4em;
    position: absolute;
    top: 0;
}

.reference_mark_note li::before{
    content: '注';
    left: -2.4em;
    position: absolute;
    top: 0;
}

.reference_mark_nan li::before {
    content: '※';
    left: -1.5em;
    position: absolute;
    top: 0;
}

.r-indent{
    padding-left: 1em;
    text-indent: -1em;
}

.column-box .r-indent{
    font-size: 14px;
    line-height: 1.5em;
    color: #707070;
}

.spec_under-caution .reference_mark,
.spec_under-caution .reference_mark_note,
.spec_under-caution .reference_mark_nan,
.spec_under-caution .r-indent,
.column-box .reference_mark,
.column-box .reference_mark_note,
.column-box .reference_mark_nan,
.spec-list_wrapper .reference_mark,
.spec-list_wrapper .reference_mark_note,
.spec-list_wrapper .reference_mark_nan,
.spec-list_wrapper .r-indent,
.spec-list_btm{
    margin-top: 10px;
    font-size: 14px;
    line-height: 1.5em;
    color: #707070;
}

.price_section .reference_mark{
    margin-top: 20px;
    font-size: 16px;
    line-height: 1.5em;
    color: #707070;
}

.price_section .reference_mark a{
    color: #333;
    font-weight: bold;
}

/* 機能・仕様一覧 */
section .spec-list_wrapper:not(:first-child) { /* 特長がある場合 */
    margin-top: 64px;
}

section style + .spec-list_wrapper:not(:first-child) {
    margin-top: 0;
}

.plan_wrapper{
    border-width: 1px 0;
    padding: 40px 0;
}

.plan{
    margin: 0 auto;
    width: 1000px;
}

.plan-paymentType{
    display: flex;
    justify-content: space-between;
}

.plan-paymentType24{
    background: #fceef5;
    box-sizing: border-box;
    flex-basis: 490px; 
    padding-bottom: 20px;
}

.plan-paymentType1{
    background: #eaf7ff;
    box-sizing: border-box;
    flex-basis: 490px;
    padding-bottom: 20px;
}

.plan-paymentType_title{
    font-size: 24px;
    font-weight: bold;
    line-height: 1.5em;
    padding: 20px;
}

.plan-paymentType24 .plan-paymentType_title{
    background: #fcdeec;
    color: #e4007f;
}

.plan-paymentType1 .plan-paymentType_title{
    background: #d6efff;
    color: #0092d8;
}

.plan-paymentType_text{
    color: #707070;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.5em;
    padding: 20px 20px 0;
}

.plan-paymentType_monthly{
    background: #fff;
    display: table;
    margin: 20px 20px 0;
    padding: 7px 0;
}

.plan-paymentType_monthly dt{
    display: table-cell;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.5em;
    text-align: center;
    vertical-align: middle;
    width: 160px;
}

.plan-paymentType_monthly dd{
    color: #e4007f;
    display: table-cell;
    font-size: 24px;
    font-weight: bold;
    line-height: 1.5em;
    padding-right: 10px;
    text-align: right;
    vertical-align: middle;
    width: 290px;
}

.plan-paymentType_caution{
    color: #707070;
    font-size: 16px;
    line-height: 1.5em;
    padding: 10px 20px 20px;
}

.plan-paymentType_caution a{
    color: #333;
    font-weight: bold;
    text-decoration: none;
}

.plan-paymentType_caution a:hover{
    text-decoration: underline;
}

.plan-paymentType_caution li{
    padding-left: 1em;
    text-indent: -1em;
}

.plan-caution{
    color: #707070;
    font-size: 14px;
    line-height: 1.5em;
    margin: 20px auto 40px;
    padding-left: 1em;
    text-align: left;
    text-indent: -1em;
    width: 1000px;
}

.simulation-btn,
.operable-btn{
    margin: 40px auto 0;
}

/* 機能・仕様 */
.spec-list_wrapper{
    margin: 0 auto;
    width: 1200px;
}

.spec-list_table{
    border: 1px solid #888;
    border-collapse: collapse;
    box-sizing: border-box;
    margin: 40px auto 0;
    width: 1200px;
}

.spec-list_table th{
    background: #F2F2F2;
    border: 1px solid #888;
    box-sizing: border-box;
    font-size: 16px;
    line-height: 1.5em;
    padding: 20px;
    text-align: left;
    vertical-align: top;
    min-width: 320px;
    max-width: 320px;
    width: 300px;
    font-weight: bold;
}

.spec-list_table td{
    border: 1px solid #888;
    font-size: 16px;
    line-height: 1.5em;
    padding: 20px;
    vertical-align: top;
}

.spec-list_table sup{
    font-size: 12px;
    padding-left: 0.1em;
    position: relative;
    top: -0.2em;
    vertical-align: top;
}

.spec-list_table tr td:nth-child(2) {
    box-sizing: border-box;
    min-width: 245px;
    max-width: 245px;
    width: 245px;
}

.spec-list_table tr td:nth-child(3) {
    box-sizing: border-box;
    min-width: 435px;
    max-width: 435px;
    width: 435px;
}

.back-btn{
    margin: 40px auto;
}

/* used_caution */
.used_cautionList > li + li {
    margin-top: 12px;
}

.battery_caution {
    margin-bottom: 64px;
}

.battery_caution strong{
    display: block;
    font-size: 24px;
    font-weight: bold;
    margin-top: 40px;
}

.battery_caution dl{
    margin: 20px 0 0;
}

.battery_caution dt,
.battery_caution dd{
    display: inline;
}

.battery_caution dd::after{
    content: '\A';
    display: block;
}

.battery_caution div{
    padding: 0 0 1em 1em;
    text-indent: -1em;
}

.battery_caution a {
    text-decoration: underline;
}

/* ステータス */
.statusList_wrap {
    background: #F2F2F2;
    padding: 40px;
}

.statusList_item + .statusList_item {
    margin-top: 64px;
}

.statusList_title {
    display: inline-flex;
    align-items: center;
    line-height: 1;
    background: #333;
    color: #FFF;
    padding: 7px 20px;
    font-weight: bold;
}

.statusList_title > span {
    display: inline-block;
    font-weight: bold;
    font-size: 24px;
    margin-left: 0.2em;
}

.statusList {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px 20px;
    margin-top: 24px;
    max-height: 240px;
    overflow: hidden;
    position: relative;
}

/* 下部に白フェード */
.statusList::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 30%;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, #fff 100%);
    pointer-events: none;
    transition: opacity .3s;
}

.statusList.open {
    max-height: none;
}

.statusList.open::after {
    opacity: 0;
}

.statusList_moreBtn {
    color: #666;
    line-height: 1;
    font-weight: bold;
    cursor: pointer;
    width: fit-content;
    margin: 48px auto 0;
}

.statusList img {
    width: 100%;
    height: auto;
}

/* 売り切れ表示 */
.sold_title{
    text-align: center;
    font-weight: bold;
    margin-bottom: 20px;
}

.sold_text{
    text-align: center;
}

/* ★付きカウンター */
.star_num{
    color: #707070;
    counter-reset: count 0;
    font-size: 14px;
    line-height: 1.5em;
    margin-top: 10px;
}

.star_num li{
    margin-left: 2em;
    position: relative;
    vertical-align: top;
}

.star_num li::before{
    content: '★' counter(count);
    counter-increment: count 1;
    left: -2em;
    position: absolute;
    top: 0;
}


/* SIM在庫なし */
.soldout_caution {
    color: #f00;
    font-size: 24px;
    font-weight: bold;
    margin: 40px auto 0;
    text-align: center;
}

.soldout_caution a {
    color: #f00;
    text-decoration: underline;
}

/* モーダル */
.spec_sheet-wrapper{
    position: absolute;
    width: 100%;
    z-index: 101;
}

.spec_list-scroller{
    padding: 40px 40px 0;
    overflow: auto;
    box-sizing: border-box;
}

.order_form-caution {
    color: #707070;
    font-size: 14px;
    line-height: 1.5em;
    margin-top: 10px;
}

.order_form-caution li {
    color: #707070;
    padding-left: 1em;
    text-indent: -1em;
}

.order_form-caution .red {
    color: #f00;
}

.order_form-caution strong {
    display: inline-block;
    font-size: 16px;
    margin-bottom: 10px;
}

.spec_sheet-close{
    display: block;
    position: absolute;
    width: 45px;
    height: 45px;
    background: #333333;
    text-indent: -9999px;
    top: -10px;
    right: -10px;
}

.spec_sheet-close::before{
    background: #fff;
    content: "";
    display: block;
    height: 2px;
    left: 8px;
    position: absolute;
    top: 22px;
    transform: rotate(45deg);
    width: 30px;
}

.spec_sheet-close::after{
    background: #fff;
    content: "";
    display: block;
    height: 2px;
    left: 8px;
    position: absolute;
    top: 22px;
    transform: rotate(-45deg);
    width: 30px;
}

.aw .spec-list_wrapper{
    width: 740px;
    padding: 0 0 1px;
    background: #fff;
    position: relative;
}

.aw .spec-list_wrapper .item_box {
    display: flex;
    justify-content: space-between;
    margin-bottom: 40px;
}

.aw .spec-list_wrapper .item_text {
    color: #707070;
    font-size: 24px;
    display: flex;
    align-items: center;
    width: 430px;
}

.aw .spec-list_wrapper .common-btn {
    margin: 40px auto;
}

.aw .spec-list_table{
    width: 100%;
    margin: 0 0 40px;
}

.aw .spec-list_table th{
    min-width: 200px;
    max-width: 200px;
    width: 200px;
    white-space: normal;
}

/* ----------------------------------------
   # 状態の選択（common.cssから移行）
   ---------------------------------------- */
.radiobtn,
.radiobtn_hasBG,
.radiobtn_hasComment,
.radiobtn_hasImage,
.radiobtn_hasColor{
    display: none;
}

.color_wrap {
    display: flex;
    align-items: center;
}

.color_list {
    display: flex;
    align-items: center;
    gap: 8px;
}

.color_text {
    font-size: 20px;
    font-weight: bold;
    margin-left: 20px;
}

.chooseColor-text {
    display: none;
}

.chooseColor-color {
    display: block;
    border: 1px solid #ccc;
    height: 32px;
    width: 32px;
    transition: 0.2s;
}

.color_list .label_radiobtn {
    border: 2px solid transparent;
    cursor: pointer;
}

.radiobtn_hasColor:checked + label.label_radiobtn {
    border: 2px solid var(--color-main);
}

.radiobtn_hasColor:checked + label .chooseColor-color {
    border: none;
}

.radiobtn_hasColor:not(:checked):hover + label .chooseColor-color {
    border: 2px solid #888888;
}

.mobile-btn_wrap {
    width: fit-content;
    margin: 40px auto 0;
}

h2.common-title {
    margin-bottom: 34px;
}

/* 商品画像スライダー */
.detail_arrow-prev,
.detail_arrow-next{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    bottom: 0;
    display: block;
    width: 24px;
    height: 24px;
    border: none;
    border-radius: 100%;
    background-color: var(--color-general);
    opacity: 0;
    transition: width 0.3s ease-out, color 0.3s ease-out;
    z-index: 10;
}

.detail_arrow-prev {
    left: 0;
}

.detail_arrow-next {
    right: 0;
}

.detail_arrow-prev::after,
.detail_arrow-next::after{
    border: 2px solid var(--color-general);
}

.detail_arrow-prev .switch_text,
.detail_arrow-next .switch_text{
    display: block;
    width: 100%;
    height: 100%;
}

.detail_arrow-prev .switch_text::after,
.detail_arrow-next .switch_text::after{
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 5px;
    height: 5px;
}

.detail_arrow-prev .switch_text::after{
    border-bottom: 1px solid #fff;
    border-left: 1px solid #fff;
    transform: translate(-30%, -50%) rotate(45deg);
}

.detail_arrow-next .switch_text::after{
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: translate(-70%, -50%) rotate(45deg);
}

.detail_arrow-prev:hover .switch_text::after{
    border-bottom: 1px solid var(--color-general);
    border-left: 1px solid var(--color-general);
}

.detail_arrow-next:hover .switch_text::after{
    border-top: 1px solid var(--color-general);
    border-right: 1px solid var(--color-general);
}

/* 携帯アクセサリ */
.accessory_slide .slick-prev, .accessory_slide .slick-next {
    display: none !important;
}

.accessory_slide .slick-dots {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    gap: 8px;
    width: fit-content;
    margin: 0 auto;
}

.accessory_slide .slick-dots > li {
    vertical-align: top;
    height: 2px;
}

.accessory_slide .slick-dots button{
    width: 24px;
    height: 2px;
    border: none;
    background-color: #DBDBDB;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    cursor: pointer;
    padding: 0;
    vertical-align: top;
}

.accessory_slide .slick-active button{
    width: 48px;
    background-color: var(--color-general);
}

/* おすすめ端末一覧 */
.deveiceItem_list {
	padding-bottom: 40px;
}

.deveiceItem_list .slick-slide{
	padding: 0 10.5px;
}

.deveiceItem_list .slick-track {
    display: flex;
}

.deveiceItem_list .slick-slide {
    height: auto !important;
}

.deveiceItem_list .slick-slide > div {
    height: 100%;
}

.deveiceItem_list .slick-slide > div > li {
    height: 100%;
}

.deveiceItem_list .slick-dots{
    position: absolute;
    left: 0;
    right: 0;
    bottom: 3px;
    display: flex;
    gap: 8px;
    width: fit-content;
    margin: 0 auto;
}

.deveiceItem_list .slick-dots button{
    width: 24px;
    height: 2px;
    border: none;
    background-color: #DBDBDB;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    cursor: pointer;
}

.deveiceItem_list .slick-active button{
    width: 48px;
    background-color: var(--color-general);
}

.deveiceItem_list .deveiceItem_arrow-prev,
.deveiceItem_list .deveiceItem_arrow-next{
    position: absolute;
    left: 50%;
    bottom: 0;
    display: block;
    width: 24px !important;
    height: 24px !important;
    border: none;
    border-radius: 100%;
    background-color: var(--color-general);
    opacity: 0;
    transition: width 0.3s ease-out, color 0.3s ease-out;
    padding: 0 !important;
}

.deveiceItem_arrow-prev::after,
.deveiceItem_arrow-next::after{
    border: 2px solid var(--color-general);
}

.deveiceItem_arrow-prev{
    margin-left: calc(180px / -2 - 44px); /* jsで位置調整 */
}

.deveiceItem_arrow-next{
    margin-left: calc(180px / 2 + 20px); /* jsで位置調整 */
}

.deveiceItem_arrow-prev .switch_text,
.deveiceItem_arrow-next .switch_text{
    display: block;
    width: 100%;
    height: 100%;
}

.deveiceItem_arrow-prev .switch_text::after,
.deveiceItem_arrow-next .switch_text::after{
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 5px;
    height: 5px;
}

.deveiceItem_arrow-prev .switch_text::after{
    border-bottom: 1px solid #fff;
    border-left: 1px solid #fff;
    transform: translate(-30%, -50%) rotate(45deg);
}

.deveiceItem_arrow-next .switch_text::after{
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: translate(-70%, -50%) rotate(45deg);
}

.deveiceItem_arrow-prev:hover .switch_text::after{
    border-bottom: 1px solid var(--color-general);
    border-left: 1px solid var(--color-general);
}

.deveiceItem_arrow-next:hover .switch_text::after{
    border-top: 1px solid var(--color-general);
    border-right: 1px solid var(--color-general);
}