@charset "UTF-8";

/*common*/


/* 見出しここから */

h1.top-h {
    /* 大きな見出し */
    font-size: 180%;
    font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', Meirzyo, "メイリオ", sans-serif !important;
    font-weight: 800;
    color: #333333;
    line-height: 2rem;
    letter-spacing: 2px;
}

h1.top-h-ul {
    /* 大きな見出しアンダーラインあり */
    width: 90%;
    margin: 0 auto;
    font-size: 180%;
    font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', Meirzyo, "メイリオ", sans-serif !important;
    font-weight: 800;
    color: #333333;
    background: linear-gradient(transparent 60%, rgba(255, 96, 67, .2) 40%);
    line-height: 20px;
    margin-top: 5px;
}

h1.shadow {
    font-size: 180%;
    font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', Meirzyo, "メイリオ", sans-serif !important;
    font-weight: 800;
    color: #333333;
    line-height: 1.2;
    margin: 40px auto 10px auto;
    -webkit-box-reflect: below -10px -webkit-linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0) 10%, rgba(0, 0, 0, 0.3)) !important;
}

h2.top-h {
    /* ２番目に大きな見出し */
    font-size: 130%;
    font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', Meirzyo, "メイリオ", sans-serif !important;
    font-weight: 800;
    color: #333333;
    line-height: 27px;
}

h3.top-h {
    /* 小さな見出し（アンダーラインあり） */
    font-size: 110%;
    font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', Meirzyo, "メイリオ", sans-serif !important;
    font-weight: 800;
    color: #333333;
    line-height: 50px;
    text-decoration: underline 2px #000000;
    text-underline-offset: 15px;
}

h4.top-h {
    /* 小さな見出し（黒いアンダーラインあり） */
    font-size: 95%;
    font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', Meirzyo, "メイリオ", sans-serif !important;
    font-weight: 400;
    color: #333333;
    line-height: 25px;
    text-decoration: underline 1px #000000;
    text-underline-offset: 5px;
}


/* 見出しここまで */


/* 注釈ここから */

.annotation li {
    text-align: justify;
    text-align-last: left;
    text-justify: inter-ideograph;
    color: #333333;
}
/* FV注釈内のスクロール */
.box_srcollbar {
    overflow:auto;
    height:300px;
}
.box_title{
    width: 90%;
    margin: 0 auto;
}

/* 注釈ここまで */


/* 重要なお知らせの下線ここから */

.infoList {
    text-align: justify;
    text-align-last: left;
    text-justify: inter-ideograph;
}

.infoList_item:last-of-type {
    border-bottom: 0px solid #d6d6d6;
    font-size: 14px;
}


/* 重要なお知らせの下線ここまで */


/* 下線付き文字ここから */

.ul-text {
    padding: 0 5%;
}


/* 下線付き文字ここまで */


/* 2/24からのキャンペーン情報ここから */
.inner {
    max-width: 85%;
    width: 100%;
    margin: auto;
    background: #ffffff;
    padding: 0px 0 1px 0;
}
#kind .content_bg{
    background: url(../img/spcial_info/kind_bg01.png) center/ contain no-repeat;}
  #kind {
    padding: 100px 0 0;
    text-align: center;
  }
  .inner h1 {
      text-align: center !important;
      margin-top: 10px;
      padding:10px 0 0 0;
      font-size: 16px;
  }
  .inner h2 {
      font-size: 13px;
      line-height: 20px;
      text-align: center;
  }
  /* .inner h1::after{
    content: "";
    position: absolute;
    top: 170px;
    right: auto;
    left: 25%;
    width: 82px;
    height: 3px;
    background: #333;
    transform: rotate(60deg);
}
.inner h1::before{
  content: "";
  position: absolute;
  top: 170px;
  left: auto;
  right: 25%;
  width: 82px;
  height: 3px;
  background: #333;
  transform: rotate(-60deg);
} */
  .kind_term{
    margin: 100px auto 20px;
  }
  .kind_campain{
    margin: 15px auto 10px;
    width: 90%;
    height: auto;
  }
  #kind h2.blue{
    margin: 30px auto;
    color: #36B5E5;
  }
  .kind_content_wrap{
    padding: 20px 0;
    background: url(../img/spcial_info/kind_bg02.png) top/ contain no-repeat;
  }
  .kind_content{
    width: 100%;
    margin: auto;
    background: #fff;
    padding: 12px;
  }
  .kind_content:not(:last-of-type){
    margin-bottom: 30px;
  }
  .kind_content_txtbox{
    width: 80%;
  }
  .kind_content_txtbox p{
    text-align: left;
  }
  .kind_price{
    margin: 30px auto 0;
    max-width: 100%;
    width: 100%;
  }
  .kind_content_txtbox h4{
    font-size: 2.4rem;
    margin-bottom: 10px;
  }
  .kind_content_txtbox h4 span{
    color: #FF6043;
  }
  .kind_content_txtbox h4 span.cmt{
    color: #333;
  }
  .kind_campain_wrap {
    position: relative;
    padding: 20px 0;
    background: linear-gradient(45deg, rgba(255, 123, 156, 0.4) 18%, rgba(255, 255, 0, 0.4) 100%);
    margin: auto;
    text-align: center;
  }
  .kind_campain_wrap .familyButton{
      margin-bottom: 30px;
  }
  .cmt_campain{
    margin: 20px auto  0;
    padding: 10px 20px;
    background: #fff;
    border: 2px solid #333;
    font-weight: bold;
  }
  .kind_content_wrap02 .kind_price{
    margin: -30px auto 30px;
  }
  .kind_content_wrap02 .inner{
    max-width: 100%;
  }
  .cmt_list {
    text-indent: -21px;
    margin-left: 30px;
    text-align: justify;
    text-align-last: left;
    text-justify: inter-ideograph;
    font-size: 10px;
    line-height: 1.8;
    padding: 0 20px 0 5px;
}
.cmt_list span {
    padding-right: 12px;
}
/* 2/24からのキャンペーン情報ここまで */

/* 会員のお客様ここから */
.member-customers {
    width: 85%;
    margin: 50px auto 0 auto;
    text-align: center;
    border: 3px solid var(--primary);
    padding: 10px;
}
.member-title {
    position: relative;
    top: -21px;
    width: 180px;
    font-size: 16px;
    background: #ffffff;
    margin: 0 auto;
}
.member-text {
    font-size: 13px;
    margin: 10px 0 0 0;
    line-height: 160%;
}
.member-customers img {
    width: 70px;
}
.member-customers .btn2{
        position: relative;
        display: block;
        background-color: var(--primary);
        box-shadow: 0 4px #0f8cb2;
        border-radius: 8px;
        text-decoration: none;
        color: #fff;
        font-size: 16px;
        font-weight: bold;
        line-height: 1.4;
        transition: .2s;
        width: 90%;
        text-align: center;
        margin: 15px auto;
}

.member-customers .btn2:hover {
    color: #fff;
    box-shadow: none;
    transform: translateY(4px);
    text-decoration: none;
}

.member-customers .btn2::after {
    position: absolute;
    font-family: "FontAwesome";
    content: "\f105";
    display: block;
    right: 16px;
    bottom: 0%;
    font-size: 30px;
}
.member-customers .btn2 a {
    color: #ffffff;
    text-decoration: none;
    padding: 10px 0 10px;
    display: block;
}
.member-customers .btn2:hover {
    box-shadow: 0;
}

/* 会員のお客様ここまで */


/* 充実の見守り機能〜やさしいスマホここから */
.flex {
    display: flex;
    justify-content: space-between;
}
#about .familyButton {
    margin-bottom: 20px !important;
}
#about .content_bg{
    background: url(../img/spcial_info/about_bg.png) top/ cover no-repeat;
  }
  .about_content{
    position: relative;
    padding: 0;
    border: 2px solid #D7EEF8;
    border-radius: 3px;
  }
  .about_content{
    margin: 20px auto 20px auto;
  }
  .about_content .icon_wrap:last-of-type{
    margin: 40px auto 10px;
  }
  .tonefamily{
    position: absolute;
    top: -20px;
    left: 0;
    right: 0;
    margin: auto;
    width: 200px;
  }
  .tonefamily .txt_box p {
      font-size: 16px !important;
  }
  .about_content h4.dot{
    position: relative;
    margin-bottom: 10px;
    padding-left: 20px;
    text-align: left;
    font-size: 18px;
  }
  .about_content h4.dot::after{
    content: "";
    position: absolute;
    top: 2px;
    left: 0;
    width: 15px;
    height: 15px;
    border-radius: 50px;
    background: var(--primary);
  }
  .about_content .txt_box{
    max-width: 85%;
    width: 100%;
    margin: 40px auto 0 auto;
    text-align: justify;
    text-align-last: left;
    text-justify: inter-ideograph;
    font-size: 12px;
  }
  .icon_wrap{
    width: 85%;
    margin: 0 auto 0px;
  }
  .icon_box img {
      width: 100px;
  }
  .icon_box p{
    text-align: center;
    font-size: 14px;
    font-weight: bold;
  }
  .about_tonefamily_bg{
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 90%;
  }
  .about_cmt_wrap{
    position: relative;
    margin-top: 20px;
  }
  .about_cmt{
    max-width: 100%;
    width: 100%;
    margin: 0px auto 30px;
    padding: 20px 30px;
    box-sizing: border-box;
    font-size: 13px;
    text-align: left;
  }
  .seisyounen{
    margin: 10px auto 0;
    width: 250px;
  }
  .about_content_wrap .cmt_list{
    margin: 20px 20px 20px 42px;
    padding: 0;
  }
  .about_content .icon_wrap:last-of-type .icon_box h4{
    margin: 20px 0 10px;
    padding: 10px;
    font-size: 13px;
    border: 2px solid #36B5E5;
    border-radius: 50px;
    text-align: center;
  }
  .about_content .icon_wrap:last-of-type .icon_box:last-of-type h4{
    margin: 17px 0 10px;
  }
  .about_content .icon_wrap:last-of-type{
    margin: 0 atuo;
  }
  .about_content .icon_wrap:last-of-type .icon_box{
    width: 85%;
    margin: 0 auto 20px auto;
  }
  .about_content .icon_wrap:last-of-type .icon_box img{
    width: 100px;
  }
  .about_content .icon_wrap:last-of-type .icon_box p{
    font-size: 13px;
    font-weight: normal;
    text-align: justify;
    text-align-last: left;
    text-justify: inter-ideograph;
  }
.jst_btw {
    justify-content: space-between;
}
/* 基本プランここから */
#basic_plan{
    width: 100%;
    margin: 40px auto 0;
}

.iphone-banner,
.android-banner {
    width:110px;
    margin: 6px 0;
}

.price-box {
    width: 90%;
    margin: 2em auto;
    background: #ffffff;
    border: 10px solid var(--primary);
    border-radius: 15px;
    box-shadow: 0px 3px 15px rgb(0 0 0 / 10%);
}
.price-box .box-title {
    font-size: 26px;
    background: var(--primary);
    padding: 4px 0 10px 0;
    text-align: center;
    color: #FFF;
    font-weight: 800;
    letter-spacing: 0.05em;
    border-radius: 0;
    margin: -1px;
}

.box-title2 {
    font-size: 30px;
    background: var(--primary);
    padding: 4px 0 10px 0;
    text-align: center;
    color: #FFF;
    font-weight: 800;
    letter-spacing: 0.05em;
    border-radius: 0;
    margin: -1px;
}

.price-box p {
    padding: 0px 20px 5px 20px;
    margin: 10px 0;
    font-weight: 800;
    letter-spacing: 1px;
}

.price-box-contents {
    padding: 20px;
}

.price-box-contents .midashi {
    font-size: 18px;
    padding: 0;
    margin: 0 auto;
    text-align: center;
}

.underline_yellow {
    background: linear-gradient(transparent 60%, #FFe700 65%);
    font-size: 20px;
    font-weight: 800;
}

.price-text {
    margin: 20 auto;
    text-align: center;
}

.font-tahoma {
    font-size: 50px;
    font-family: Tahoma,sans-serif;
    font-weight: bold;
    letter-spacing: -1.5px;
    line-height: 1.2;
    color:#dd016d;
}
.font-tahoma02 {
    font-size: 24px;
    font-weight: normal;
    font-family: Tahoma,sans-serif;
    letter-spacing: -1.0px;
    line-height: 0.8;
    color:#333333;
}

.kome {
    font-size: 10px;
}

.check-box {
    text-align: left !important;
    letter-spacing: 1px;
    padding: 0;
    margin: 10px 0 0 0;
    font-size: 11px;
}

.check-box ul li {
    font-weight: 800 !important;
    text-align: justify;
    text-align-last: left;
    text-justify: inter-ideograph;
    padding-left: 25px;
    text-indent: -32px;
    }

.check-box-icon {
    width: 20px;
    margin-right: 10px;
}

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

.price_and_shop {
    width: 90%;
    height:171px;
    margin: 30px auto 0 auto;
    background: #ffffff;
    border: 10px solid var(--primary);
    border-radius: 15px;
    box-shadow: 0px 3px 15px rgb(0 0 0 / 10%);
}

.price_and_shop .banner {
    position: relative;
    top: -48px;
    right: -60px;
    display: flex;
    justify-content: space-between;
    width: 78%;
}

.iphone-banner-wh,
.android-banner-wh {
    position: relative;
    top: 20px;
    background: #ffffff;
    width: 103px;
    padding: 4px 0;
    font-size: 15px;
    font-weight: 800;
    text-align: center;
    border: 2px solid var(--primary);
    border-radius: 15px;
}

.every_month {
    background-color: #FFe700;
    padding: 5px;
    font-size: 13px;
    font-weight: 800;
    text-align: center;
    margin: 0 10px 10px 10px;
}

.price_and_shop table {
    width: 100%;
    margin: -33px auto 30px auto;
    font-weight: 800;
}

.price_and_shop table td:nth-of-type(1){
    background: var(--primary);
    color: #ffffff;
    font-size: 13px;
    font-weight: 800;
    margin: 10px;
    text-align: center;
}
.price_and_shop table tr.a td:nth-of-type(1){
    border-bottom: 1px solid #ffffff;
}


.price_and_shop table td:nth-of-type(2),
.price_and_shop table td:nth-of-type(3) {
    width: 40%;
    padding: 10px 2px 10px 6px;
    text-align: center;
    font-size: 10px;
}
.price_and_shop table tr.a td:nth-of-type(2),
.price_and_shop table tr.a td:nth-of-type(3) {
    border-bottom: 2px dashed var(--primary);
}
.price_and_shop table td:nth-of-type(2) {
    border-right: 2px solid var(--primary);
}
.price_and_shop table tr.b td:nth-of-type(3) {
    text-align: left;
    line-height: 15px;
    font-size: 10px;
}
.mvno-icon01 {
    width: 60%;
    margin-top: 2px;
}
.mvno-icon02 {
    width: 80%;
    margin-top: 2px;
}
.contents04 .service_note{
    margin-bottom: 30px;
}
.tone-contents.mt15 {
    margin-top: 15px;
}
/* 基本プランここまで */



#relief .content_bg{
    background: url(../img/spcial_info/relief_bg.png) top/ cover no-repeat;
  }
  #relief h1.top-h-ul {
    width: 200px;
  }
  #relief h3{
    text-align: center;
    font-size: 16px;
    margin: 30px auto 0 auto;
  }
  #relief .inner{
    max-width: 100%;
    margin: -10px auto 0;
  }
  .h2_ttl_sub{
    font-size: 2.2rem;
  }
  .relief_content{
    position: relative;
    padding: 20px 50px;
    border-bottom: 2px solid #CDCDCD;
  }
  .relief_content p{
    margin: 10px 0 0 0;
    font-size: 12px;
    font-weight: bold;
    line-height: 1.5;
    text-align: left;
  }
  .relief_content p .blue {
    color: #36B5E5;
  }
  .relief_device{
    width: 100px;
}
  .relief_mock{
      width: 135px;

  }
  .relief_content:last-of-type{
    border-bottom: none;
    padding:  20px 30px;
  }
  .relief_content .flex img{
  }
  .relief_content .txt_box p{
    width: 60%;
    margin: 20px auto 0 auto;
    padding: 20px 40px;
    font-size: 11px;
    background: #ECECEC;
    text-align: justify;
    text-align-last: left;
    text-justify: inter-ideograph;
  }
  .relief_content p.tpoint_txt{
    font-size:12px;
    text-align: center;
  }
  .relief_content.child_3{
    width: 100%;
    margin: 0 auto;
    padding: 0;
  }
  .relief_content .relief_txtbox{
    margin: 10px auto;
    width: 70%;
  }
  .relief_content .txt_box_wrap .flex{
    margin-top: 20px;
  }
  .relief_support{
    margin: 20px auto 0;
  }
  #relief .cmt_list {
    width: 100%;
    padding: 20px 0 0 0;
    margin: 0px auto 20px;
  }

  #relief .relief_box .cmt_list {
    width: 80%;
    padding: 0 0 0 0;
    margin: 0px auto 20px;
  }

  .toneLogo_txt{
    margin-bottom: 20px;
    font-size: 22px;
    text-align: center;
    font-weight: bold;
  }
  .point-box {
      width: 85%;
      margin: 0 auto;
      padding: 20px;
  }
  .point-box img {
      width: 50px;
      height: auto;
      margin: 0 10px;
  }
  .okudake {
      margin-top: 20px;
      font-size: 14px;
      line-height: 160%;
      text-align: left;
  }

/* 充実の見守り機能〜やさしいスマホここまで */




/* ステージ表ここから */

.stage {
    margin-top: 15px;
    background: rgb(255, 255, 255);
    background: linear-gradient( 0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 213, 0, 0.3) 100%);
}

.stage_image {
    width: 90%;
    margin: 0 auto;
    position: relative;
    top: -8px;
}


/* ステージ表ここまで */


/* TONEAIが自動で見守りの装飾ここから */

.tone-ai-flame {
    width: 90%;
    margin: 0 auto;
    justify-content: center;
    padding-top: 30px;
    font-size: 110%;
    line-height: 140%;
    text-align: center;
    color: #333333;
}

.tone-ai-flame h4 {
    font-size: 110%;
    background: #e3e3e3;
    padding: 10px 0;
    border-radius: 25px;
    text-align: center;
}

.tone-ai-flame img {
    width: 70px !important;
    height: auto;
    margin: 0 auto;
}

.tone-ai-flame .note {
    font-size: 95%;
}


/* TONEAIが自動で見守りの装飾ここまで */


/* CMここから */

section.cm-contents {
    width: 100%;
    margin: 10px auto 15px;
    text-align: center;
}

.flex-box {
    display: block;
    text-align: center;
}

.cm-left,
.cm-right {
    width: 90%;
    margin: 2px auto;
}

.cm-title {
    position: relative;
    font-size: 15px;
    margin: 0;
    padding: 10px;
    color: #333333;
}

.youtube iframe {
    width: 100%;
    height: 190px;
}


/* CMここまで */


/* 新着メディア掲載ここから */

section.publications {
    margin: 0 auto 80px;
}

.column-container {
    width: 100%;
    margin: 0 auto;
    column-count: 3;
    column-rule: 1px solid #666;
}

.items {
    width: 100%;
    margin: 0 auto;
    display: block;
    justify-content: space-between;
    color: #333333;
}

.items .item {
    width: 90%;
    margin: 0 30px 20px;
    background: #fff;
    box-shadow: 0px 3px 15px rgba(0, 0, 0, 0.1);
    border: none;
    transition: .3s
}
/* 新着メディア スライダー */


/* メディア内リンクボタンの「＞」装飾は使用しないのでコメアウト
.items .item:hover {
    transform: translate3d(0, 2px, 0);
    box-shadow: none;
} */

.item-img {
    display: none;
    width: 100%;
    height: 100px;
    width: auto;
}


/* スマホではコラム画像なし
.item-img:hover {
    opacity: 0.6;
    transition-duration: 0.3s;
}

.item-img img {
    width: 100%;
    height: 100px;
    object-fit: cover;
    transition: .3s
} */

.item-body {
    height: 150px;
    padding: 10px;
}

.line_wrap {
    padding: 0 5px;
    text-align: justify;
    text-align-last: left;
    text-justify: inter-ideograph;
    /* 2行以上の時は二行目の最後に三点リーダーをつける */
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    /*IE対策*/
    line-height: 1.5em;
    max-height: 4.5em;
}

.heading-date {
    margin: 10px auto 0px auto;
    height: 80px;
    padding: 10px 15px;
    font-size: 15px;
    line-height: 1.5rem;
    text-align: justify;
    text-align-last: left;
    text-justify: inter-ideograph;
}

.heading-date span {
    display: flex;
    align-items: center;
    color: #498ee0;
    font-size: 15px;
    line-height: 2rem;
    text-transform: uppercase;
}

.heading-date span::before {
    content: '';
    display: inline-block;
    margin-right: 10px;
    width: 40px;
    height: 1px;
    background-color: #498ee0;
}

.media-name {
    font-size: 15px;
    padding: 5px 5px 0 0;
    text-align: right;
    color: #498ee0;
}

hr {
    width: 90%;
    margin: 0 auto;
}


/* 新着メディア掲載ここまで */


/* 重要なお知らせここから */

.topnews {
    width: 100%;
    background-color: #E6F1F6;
    text-align: center;
    padding: 20px 0 20px 0;
}

.infoInner {
    width: 100%;
    margin: 0 auto;
}

.infoArea {
    position: relative;
}

.infoTitle {
    display: inline-block;
    background-color: #ff6043;
    padding: 8px 80px 6px;
    color: #fff;
    border-radius: 8px 8px 0 0;
    font-weight: bold;
    font-size: 20px;
}

.infoList {
    margin: 0 3%;
    padding: 10px 30px 5px 30px;
    background-color: #ffffff;
    text-align: justify;
    text-align-last: left;
    text-justify: inter-ideograph;
    border-radius: 0 0 5px 5px;
}

.infoList_item {
    border-bottom: 2px solid #d6d6d6;
    font-size: 14px;
}

.infoList_item a {
    display: block;
    padding: 14px 0;
    transition: .3s
}

.infoList_item a:link {
    text-decoration: none;
    color: #333;
}

.infoList_item a:hover {
    opacity: 0.6;
    transition: .3s
}

.infoList_item .date {
    margin: 0 10px 0 0;
    font-weight: 800;
}

.infoList_item:last-of-type {
    border-bottom: 0px solid #d6d6d6;
}


/* 重要なお知らせここまで */


/* お問い合わせボタンここから */

.btn-contact {
    display: block;
    position: relative;
    width: 100%;
    padding: 20px 0;
    margin: 20px auto 0 auto;
    background: var(--primary);
    color: #fff;
    font-weight: bold;
    font-size: 16px;
    box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
    border: 2px solid var(--primary);
    transition: 0.3s ease-in-out;
    -webkit-transition: 0.3s ease-in-out;
    text-align: center;
}

.btn-contact:hover {
    background: #fff;
    color: var(--primary);
}

.btn-contact::before {
    content: '';
    width: 12px;
    height: 12px;
    border-top: solid 3px #fff;
    border-right: solid 3px #fff;
    position: absolute;
    top: 50%;
    left: 10%;
    transform: translateY(-50%) translateX(-50%) rotate(45deg);
    -webkit-transform: translateY(-50%) translateX(-50%) rotate(45deg);
    transition: 0.3s ease-in-out;
    -webkit-transition: 0.3s ease-in-out;
}

.btn-contact:hover:before {
    border-color: var(--primary);
}


/* お問い合わせボタンここまで */


/* 共通パーツ(ボタン)
--------------------------------------------------------------------------------------------*/

.familyButton {
    /* ボタン下部のスペーサー */
    margin-bottom: 50px;
    margin-top: 20px;
}

.btn {
    display: block;
    position: relative;
    width: 90%;
    padding: 5px;
    margin: auto;
    background: var(--primary);
    color: #fff;
    font-weight: bold;
    font-size: 100%;
    box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
    border: 2px solid var(--primary);
    transition: 0.3s ease-in-out;
    -webkit-transition: 0.3s ease-in-out;
    text-align: center;
    text-decoration: none !important;
}

.btn:hover {
    background: #fff;
    color: var(--primary);
}

.btn .note::before {
    content: '';
    width: 12px;
    height: 12px;
    border-top: solid 3px #fff;
    border-right: solid 3px #fff;
    position: absolute;
    top: 50%;
    left: 5%;
    transform: translateY(-50%) translateX(-50%) rotate(45deg);
    -webkit-transform: translateY(-50%) translateX(-50%) rotate(45deg);
    transition: 0.3s ease-in-out;
    -webkit-transition: 0.3s ease-in-out;
}

.btn .note:hover:before {
    border-color: var(--primary);
}

.btn-red {
    display: block;
    position: relative;
    top: -30px;
    width: 90%;
    padding: 10px 0;
    margin: auto;
    background: #FF6043;
    color: #fff;
    font-weight: bold;
    font-size: 13px;
    box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
    border: 2px solid #FF6043;
    transition: 0.3s ease-in-out;
    -webkit-transition: 0.3s ease-in-out;
    text-align: center;
    text-decoration: none;
}

.btn-red:hover {
    background: #fff;
    color: #FF6043;
}

.btn-red::before {
    content: '';
    width: 12px;
    height: 12px;
    border-top: solid 3px #fff;
    border-right: solid 3px #fff;
    position: absolute;
    top: 50%;
    left: 4%;
    transform: translateY(-50%) translateX(-50%) rotate(45deg);
    -webkit-transform: translateY(-50%) translateX(-50%) rotate(45deg);
    transition: 0.3s ease-in-out;
    -webkit-transition: 0.3s ease-in-out;
}

.btn-red:hover:before {
    border-color: #FF6043;
}

.columnButton {
    /* コラム内ボタンのスペーサー */
    margin-bottom: 10px;
}

.items-btn {
    /* コラム内ボタン */
    display: block;
    position: relative;
    bottom: 10px;
    width: 95%;
    padding: 10px 0;
    margin: 25px auto 0 auto;
    background: var(--primary);
    color: #fff;
    font-weight: bold;
    font-size: 16px;
    box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
    border: 2px solid var(--primary);
    transition: 0.3s ease-in-out;
    -webkit-transition: 0.3s ease-in-out;
    text-align: center;
}

.items-btn:hover {
    /* コラム内ボタン */
    background: #fff;
    color: var(--primary);
    transition: 0.3s ease-in-out;
    -webkit-transition: 0.3s ease-in-out;
}


/* .items-btn::before {
    content: '';
    width: 12px;
    height: 12px;
    border-top: solid 3px #fff;
    border-right: solid 3px #fff;
    position: absolute;
    top: 50%;
    left: 10%;
    transform: translateY(-50%) translateX(-50%) rotate(45deg);
    -webkit-transform: translateY(-50%) translateX(-50%) rotate(45deg);
    transition: 0.3s ease-in-out;
    -webkit-transition: 0.3s ease-in-out;
} */

.items-btn::after {
    /* コラム内ボタン */
    content: '';
    width: 20px;
    height: 20px;
    position: absolute;
    top: 25%;
    left: 5%;
    background-image: url(/assets/img/top/icon__new_window.svg);
    background-size: 28px auto;
    background-repeat: no-repeat;
    background-position: center;
    transition: 0.3s ease-in-out;
    -webkit-transition: 0.3s ease-in-out;
}

.items-btn:hover:after {
    content: '';
    width: 20px;
    height: 20px;
    position: absolute;
    top: 25%;
    left: 5%;
    background-image: url(/assets/img/top/icon__new_window-blue.svg);
    background-size: 28px auto;
    background-repeat: no-repeat;
    background-position: center;
    transition: 0.3s ease-in-out;
    -webkit-transition: 0.3s ease-in-out;
}


/* 共通パーツ(ボタン)ここまで
--------------------------------------------------------------------------------------------*/

.mainVisual {
    margin-top: 0px;
}

.mainVisual .main-att {
    width: 100%;
    box-sizing: border-box;
    background-color: #daf1fa;
    /* border-top: var(--primary) 20px solid; */
    margin: 20px auto 40px ;
    position: relative;
    padding: 20px 20px 30px 18px;
}

.mainVisual .main-att li {
    text-indent: -28px;
    margin-left: 24px;
    text-align: justify;
    text-align-last: left;
    text-justify: inter-ideograph;
    font-size: 10px;
    line-height: 160%;
}

.mainVisual .main-att li span {
    padding-right: 10px;
}

.mainVisual .main-att li:last-child span {
    padding-right: 15px;
}
.main-area-device {
    position: relative;
    width: 50%;
    z-index: 1;
}
.main-mock-iPhone{
    position: relative;
    width: 38%;
    margin-right: 60%;
    z-index: 1;
}
.main-mock-android{
    position: relative;
    width: 56%;
    margin-right: -44%;
    z-index: 1;
}
.main-area-deviceText01{
    position: absolute;
    top: 0;
    right: -36%;
    z-index: 0;
    box-shadow: 0px 2px 3px rgb(0 0 0 / 30%);
}
.main-area-deviceText02{
    position: absolute;
    bottom: 0;
    left: -55%;
    z-index: 0;
    box-shadow: 0px 2px 3px rgb(0 0 0 / 30%);
}

/* 店舗一覧・オンラインストアリンクここまで */
/* 20220215 main visual 追加 */

.main-area-second {
    width: 1200px;
    margin: auto;
    display: flex;
    justify-content: space-between;
    background: #ECF1F4;
}

.main-area-info {
    text-align: center;
    max-width: 90%;
    width: 100%;
    margin: 30px auto 20px
}
.main-area-info .yasashii {
    height: auto;
}
.main-area-info .senior {
    margin-top: 20px;
}
.main-area-info .senior a,
.main-area-info .mv_tonelabo a {
    display: block;
    transition: .3s;
}
.main-area-info .senior a:hover,
.main-area-info .mv_tonelabo a:hover {
    opacity: 0.8;
}
.main-area-info .senior img {
    width: 100%;
    height: auto;
}
.main-area-info .fv-price {
    width: 100%;
    height: auto;
    margin: 30px 0 0 0;
}
.main-area-info .fv-mock {
    width: 100%;
    height: auto;
}
.main-area-info ul li {
    margin-top: 0px;
    text-align: left;
}
.main-area-info ul li span {
    display: block;
    font-size: 12px;
    line-height: 200%;
}
.main-area-info .mv_tonelabo {
    margin-top: 10px;
}
.main-area-info .mv_tonelabo img {
    width: 100%;
    height: auto;
}

.iphone_android {
    display: flex;
    justify-content: space-between;
    margin-top: 12px;
}
.iphone_android li{
    display: block;
    box-sizing: border-box;
    border: 1px solid #333;
    border-radius: 4px;
    background-color: #fff;
    width: 48%;
    text-align: center;
    padding: 10px ;
}
.iphone_android li a img{
    display: block;
    margin: auto;
}

.iphone_android li.btn_iphone a:hover {
    background-color: #F9EFFF;
}

.iphone_android li.btn_android a:hover {
    background-color: #EAF4F1;
}
.e21_price {
    padding: 12px;
    font-size: 14px;
    text-align: center;
    background: #9BE2CF;
    margin: 10px auto;
}
.e21_price span {
    display: block;
    margin: 0 auto 10px;
}
/* mainVisual slider */
.top_slider .slick-track{
    margin-top: 0 !important;
}

section.cm {
    margin: 40px auto 60px;
    width: 90%;
}

section.cm p {
    margin-bottom: 20px;
}

.cm ul li p.movie-title {
    font-size: 14px;
    text-align: center;
}

.cm ul li p.movie {
    margin: auto;
    aspect-ratio: 16 / 9;
}

.cm ul li p.movie iframe {
    width: 100%;
    height: 100%;
}

.cm ul li:first-child {
    margin-bottom: 30px;
}

.cm ul li p.movie-title {
    margin-bottom: 10px;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
}

.service_note {
    font-size: 10px;
    line-height: 1.8;
    text-indent: -2em;
    padding-left: 2em;
}

.cvBtn {
    margin: 45px auto 0;
    display: flex;
}

.cvBtn_docomo {
    width: 50%;
    position: relative;
    border: 1px solid #333;
    text-align: right;
    background-color: #fff;
    box-shadow: 3px 5px 8px rgba(0, 0, 0, 0.2);
    transition: .2s;
}

.cvBtn_docomo a,
.cvBtn_kitamura a {
    display: block;
    padding: 8px;
}

.cvBtn_kitamura a:before {
    position: absolute;
    top: -30px;
    left: 2%;
    white-space: pre;
    content: "＼ ドコモショップでも／\A取扱開始！";
    color: #333333;
    font-size: 70%;
    font-weight: 800;
    text-align: center;
    /* animation: poyopoyo 2s ease-out infinite; */
    opacity: 1;
}

@keyframes poyopoyo {
    0%,
    40%,
    60%,
    80% {
        transform: scale(1.0);
    }
    50%,
    70% {
        transform: scale(0.95);
    }
}
.near-store a,
.online-store a {
    position: relative;
    display: block;
    width: 90%;
    margin: 0 auto 20px;
    background: var(--primary);
    padding: 20px;
    font-size: 16px;
    font-weight: bold;
    color: #FFFFFF;
    text-align: center;
    text-decoration: none;
    border: 2px solid var(--primary);
    transition: 0.3s ease-in-out;
    -webkit-transition: 0.3s ease-in-out;
    box-sizing: border-box;
}
.near-store a::before,
.online-store a::before {
    content: '';
    width: 12px;
    height: 12px;
    border-top: solid 3px #fff;
    border-right: solid 3px #fff;
    position: absolute;
    top: 50%;
    left: 10%;
    transform: translateY(-50%) translateX(-50%) rotate(45deg);
    -webkit-transform: translateY(-50%) translateX(-50%) rotate(45deg);
    transition: 0.5s ease-in-out;
    -webkit-transition: 0.5s ease-in-out;
}

.near-store a:hover::before,
.online-store a:hover::before {
    border-color: var(--primary);
}

.near-store a::after,
.online-store a::after {
    position: absolute;
}
.near-store a{
    margin: 0 auto 20px;
}
.link-teaser {
    width: 90%;
    margin: 20px auto 0;
    font-size: 80%;
    display: flex;
    text-align: center;
}

.link-teaser li a {
    background: url(/assets/img/top/circle-chevron-right-solid.svg) no-repeat left center / 18px auto;
    padding: 10px 0 10px 25px;
    text-align: left;
}

.link-teaser li {
    width: 100%;
    text-indent: -24px;
    margin-left: 22px;
    line-height: 140%;
}
.cvArea{
    margin: 20px auto;
}
.cvBtn_docomo .cvBtn_image {
    position: absolute;
    left: 5%;
    bottom: 16px;
}

.cvBtn_docomo:hover {
    box-shadow: none;
    transform: translateY(3px);
}

.cvBtn_kitamura {
    width: 50%;
    position: relative;
    background-color: #333;
    box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.2);
    transition: .2s;
}

.cvBtn_kitamura .cvBtn_image {
    position: absolute;
    right: 5%;
    bottom: 16px;
}

.cvBtn_kitamura:hover {
    box-shadow: none;
    transform: translateY(3px);
}

#movie {
    margin: 0 auto 100px;
    width: 90%;
}

#movie .slick-prev {
    width: 15px;
    height: 100px;
    left: -24px;
    z-index: 300;
    background: url(/assets/img/top/slider/movie_left.png) no-repeat left center / 15px auto;
}

#movie .slick-next {
    width: 15px;
    height: 100px;
    right: -24px;
    background: url(/assets/img/top/slider/movie_right.png) no-repeat left center / 15px auto;
}

#movie .slick-dots {
    bottom: -35px;
}

#movie .slick-dots li button:before {
    content: "";
    width: 8px;
    height: 8px;
    opacity: 1;
    background-color: #fff;
    border: 1px solid #333;
    border-radius: 10px;
}

#movie .slick-dots li.slick-active button:before {
    background-color: #c80f31;
    border-color: #c80f31;
}
.familyVisual {
    overflow: hidden;
}
.familyVisual img {
    max-width: 133%;
    margin-left: -17.7%;
}
.familyVisual_ttl {
    margin: auto;
    text-align: center;
}

.familyVisual_ttl img {
    width: 90%;
    height: auto;
}
.familyVisual_txt {
    font-size: 14px;
    text-align: center;
    margin-top: 10px;
    line-height: 160%;
    z-index: 2;
}

.stage-chart-sp ul {
    width: 90%;
    margin: auto;
}

.stage-chart-sp ul li {
    text-indent: -28px;
    margin-left: 24px;
    text-align: justify;
    text-align-last: left;
    text-justify: inter-ideograph;
    font-size: 10px;
}

.stage-chart-sp ul li span {
    padding-right: 10px;
}

.article_btn {
    position: absolute;
    bottom: -21px;
    left: 50%;
    margin-left: -96px;
}

.article_btn a {
    display: inline-block;
    padding: 12px 60px;
    border: 1px solid #ff6043;
    border-radius: 25px;
    font-size: 14px;
    background: #fff;
}

.article_btn a:link,
.article_btn a:visited {
    text-decoration: none;
    color: #333;
}

.article_btn a:hover {
    color: #999;
}

.bgGray {
    margin-top: 45px;
    padding: 29px 5% 29px;
    background-color: #dfe3e7;
}

.infoButton {
    display: block;
}

.infoButton li a {
    display: block;
    height: 55px;
    padding: 16px;
    margin-bottom: 15px;
    border: 1px solid #333;
    font-weight: bold;
    font-size: 16px;
    text-align: center;
    box-sizing: border-box;
    border-radius: 10px;
    background: url(/assets/img/top/icon-top-5.svg) #fff no-repeat center left 30px / 35px auto;
    text-decoration: none;
    color: #333;
}

.infoButton li a:hover {
    border: 1px solid glay;
    border: 1px solid #FFe700;
    background-color: #FFFFCC;
    /* opacity: 0.6; */
    transition: .3s
}

.infoButton li {
    width: 100%;
}

/* .infoButton .infoButton_campaign a {
    background: url(/assets/img/top/icon-top-6.svg) #fff no-repeat center left 30px / 35px auto;
} */

.infoButton .infoButton_trouble a {
    background: url(/assets/img/top/icon-top-8.svg) #fff no-repeat center left 30px / 35px auto;
}

.infoButton .infoButton_maintenance a {
    background: url(/assets/img/top/icon-top-7.svg) #fff no-repeat center left 30px / 35px auto;
}

.supportButton {
    margin-top: 5%;
}

.supportButton li {
    border: 1px solid #333;
    margin-bottom: 16px;
    padding: 16px;
    background: #fff;
    color: #333333;
}

.supportButton_title {
    margin-right: -29px;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
}

.supportButton_title span {
    position: relative;
}

.supportButton_title span::before {
    content: "";
    display: inline-block;
    position: absolute;
    left: -36px;
    top: -6px;
    width: 30px;
    height: 30px;
    background: url(/assets/img/top/icon-top-1.svg)no-repeat left center / 30px auto;
}

.supportButton_support span::before {
    background-image: url(/assets/img/top/icon-top-3.svg);
    background-size: 30px auto;
}

.supportButton_guide span::before {
    background-image: url(/assets/img/top/icon-top-2.svg);
    background-size: 30px auto;
}

.supportButton_info span::before {
    background-image: url(/assets/img/top/icon-top-4.svg);
}

.supportButton_text {
    width: 85%;
    margin: 16px auto 0;
    font-size: 12px;
}

.supportButton li a {
    display: block;
    width: 85%;
    margin: 16px auto 0;
    padding: 8px 0;
    text-decoration: none;
    background-color: #36a4d4;
    border: 2px solid #36a4d4;
    color: #fff;
    text-align: center;
    font-weight: bold;
}

.supportButton li a:hover {
    color: var(--primary);
    border: 2px solid var(--primary);
    background: #fff;
    transition: 0.3s ease-in-out;
    -webkit-transition: 0.3s ease-in-out;
}

.snsLinks {
    padding: 0 5%;
}

.snsLink {
    margin-top: 4px;
    transition: 0.3s ease-in-out;
    -webkit-transition: 0.3s ease-in-out;
}

.snsLink:hover {
    opacity: 0.9;
    transition: 0.3s ease-in-out;
    -webkit-transition: 0.3s ease-in-out;
}

.snsLink a {
    display: block;
    background: url(/assets/img/top/icon-top-9.svg) #fce4d9 no-repeat left 10px center / 40px auto;
    padding: 16px 14px 16px 60px;
    text-decoration: none;
    font-size: 18px;
    border-radius: 14px;
    box-sizing: border-box;
    font-weight: bold;
}

.snsLink .snsLink_facebook {
    background: url(/assets/img/top/icon-top-10.svg) #d0e0f6 no-repeat 10px center / 40px auto;
}

.snsLink .snsLink_twitter {
    background: url(/assets/img/top/icon-top-11.svg) #d2e3f5 no-repeat 10px center / 40px auto;
}

.snsLink_text {
    font-size: 12px;
}

.family-att {
    width: 90%;
    margin: 5px auto 0;
    line-height: 150%;
    font-size: 10px;
    text-align: justify;
    text-align-last: left;
    text-justify: inter-ideograph;
    color: #333333;
}

.tone_family_banner {
    width: 90%;
    margin: 0 auto;
}

.special_e22_wrap{
    padding: 30px 20px 0;
    text-align: center;
}

.special_e21_wrap {
    font-size: 13px;
    margin-top: 20px;
}

.special_e21_wrap span {
    font-size: 12px;
}

.special_e21_wrap a {
    border-bottom: 1px solid #333;
    padding-bottom: 5px;
    color: #333;
    text-decoration: none;
    line-height: 200%;
}

.e22_reserve {
    width: 90%;
    margin: auto;
    margin-top: 40px;
}

.e22_reserve_model {
    display: flex;
    justify-content: center;
}

.e22_reserve_model ul {
    margin-left: 10px;
}

.e22_reserve_newmodel {
    font-size: 18px;
    margin-bottom: 10px;
}

.e22_reserve_days {
    font-size: 14px;
    margin-top: 15px;
}

.e22_reserve_reception {
    font-size: 16px;
    font-weight: bold;
    color: #cc0000;
    margin-top: 5px;
}

.e22_reserve_btn a {
	position: relative;
	display: block;
	background: #ffffff;
	max-width: 470px;
	width: 100%;
	margin: 10px auto 0;
	padding: 8px 0;
	font-size: 14px;
	font-weight: bold;
	color: var(--primary);
	border-radius: 5px;
	border: 2px solid var(--primary);
	transition: 0.3s ease-in-out;
	-webkit-transition: 0.3s ease-in-out;
	box-sizing: border-box;
    text-align: center;
    text-decoration: none;
}

.e22_reserve_btn a::before {
	content: '';
	width: 8px;
	height: 8px;
	border-top: solid 3px var(--primary);
	border-right: solid 3px var(--primary);
	position: absolute;
	top: 50%;
	left: 10%;
	transform: translateY(-50%) translateX(-50%) rotate(45deg);
	-webkit-transform: translateY(-50%) translateX(-50%) rotate(45deg);
	transition: 0.5s ease-in-out;
	-webkit-transition: 0.5s ease-in-out;
}


.main-img-list {
    width: 90%;
    background: #fff;
    border-top: none;
    margin: auto;
}

.main-img-list li {
    margin-top: 10px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    text-align-last: center;
}

.main-img-list li:first-child {
    margin-top: 40px;
    margin-bottom: 20px;
}

.main-img-list li:first-child img {
    width: 60%;
    height: auto;
}

.main-img-list li span {
    display: block;
    font-size: 10px;
    line-height: 140%;
    text-align-last: left;
    padding-top: 8px;
}

.main-img-list li:last-child {
    margin-bottom: 40px;
}

.price-info {
    padding: 10px;
    border: 1px solid #ccc;
    width: 80%;
    margin: 20px auto 60px;
 }

.price-info p {
    text-align: center;
    line-height: 180%;
    font-size: 12px;
    color: #333;
}

.price-info p:first-child {
    background: rgb(224, 224, 224);
    padding: 5px;
    margin-bottom: 10px;
}

.cm-link {
    margin-bottom: 40px;
}

.cm-link-btn {
    width: 85%;
    padding: 10px 0;
}

.cm-link-btn span img {
    width: 22px;
    height: 22px;
    padding-right: 10px;
}
@media screen and (min-width:321px) {
    .icon_wrap {
        max-width: 240px;
        width: 100%;
    }
    .about_content_wrap .cmt_list{
        margin: 0 0 20px 20px;
    }
    .cvBtn_docomo a, .cvBtn_kitamura a {
        display: block;
        padding: 8px 15%;
    }
    .cvBtn_kitamura .cvBtn_image {
        right: 8%;
    }
    .cvBtn_docomo .cvBtn_image {
        left: 8%;
    }
    .relief_content p {
        max-width: 240px;
        width: 100%;
        margin: 10px auto 0;
        font-size: 14px;
    }
    .price_and_shop{
        height:100%;
    }
    .price_and_shop table{
        margin: -33px auto 0px auto;
    }
    .about_content {
        margin: 60px auto 20px auto;
    }
}

@media screen and (min-width:361px) {
    .iphone-banner-wh{
        right: -7%;
    }
}
@media screen and (min-width:376px) {
    .iphone-banner-wh{
        right: -10%;
    }
}




/* e22の店舗ボタン */

.btn-store-online {
    margin-top: 30px;
}

.btn-stores,
.btn-online {
    margin: 0 auto 10px;
    width: 90%;
    height: auto;
}


/* e22新端末対応 */

.family-call {
    background: #D7EEF8;
    padding: 30px 0 0;
}

.family-call-new {
    border: 1px solid var(--primary);
    background: #fff;
    padding: 10px 0;
    width: 90%;
    margin: 20px auto;
    border-radius: 20px;
    color: var(--primary);
    font-size: 16px;
    font-weight: bold;
}

.famiry-call-copy {
    font-size: 16px;
    line-height: 160%;
    font-weight: bold;
    width: 90%;
    margin: auto;
}

.family-call-text {
    width: 90%;
    margin: 10px auto 20px;
    text-align: left;
}

.family-call-img {
    margin: auto;
    width: 60%;
}

.senior-support {
    background: #F5F5F5;
    padding: 40px 0;
    margin: auto;
}

.senior-suppot-box {
    width: 90%;
    margin: auto;
    position: relative;
    text-align: center;
}

.senior-suppot-box h2 {
    font-size: 20px;
}

.senior-suppot-sarani {
    position: absolute;
    top: -55px;
    left: 0px;
}

.senior-support-operator img {
    width: 180px;
    height: auto;
}

.senior-support-txt {
    margin-top: 20px;
    line-height: 160%;
    text-align: left;
}

.senior-support-att {
    font-size: 12px;
    text-align: left;
    margin-top: 10px;
}

.senior-cp01 {
    width: 90%;
    margin: auto;
}

.tone-e22-labo {
    width: 90%;
    margin: 30px auto;
}

.e22-date {
    text-align: right;
}

.tone-e22-logo {
    position: relative;
    width: 70%;
    margin: auto;
}

.tone-e22-logo::after{
    content: "※1";
    position: absolute;
    top: 67%;
    right: 0%;
    font-size: 10px;
}

.price_device {
    width: 70%;
    margin: 30px auto;
}

.labo-join {
    font-size: 18px;
    margin-bottom: 10px;
}

.labo-att {
    margin-top: 20px;
    line-height: 160%;
}

	/* labo */

    .toneLabo{
        position: relative;
        padding: 80px 0;
        background: #E6F7FE;
    }
    .toneLabo::after{
        content: "";
        position: absolute;
        top: 0;
        width: 100%;
        height: 10px;
        background: url(/labo/img/boder_img.svg) bottom/100% no-repeat;
    }
    .toneLabo::before{
        content: "";
        position: absolute;
        bottom: 0;
        width: 100%;
        height: 10px;
        background: url(/labo/img/boder_img.svg) bottom/100% no-repeat;
    }

    .tonelabo_ttl_sub{
        margin:30px auto 60px;
        font-size: 20px;
        text-align: center;
    }
    .labo_flex{
        max-width: 960px;
        width: 100%;
        margin: 30px auto ;
        justify-content: space-between;
        font-size: 16px;
    }
    .labo_flex .tcenter{
        margin: 0 auto 30px;
        font-weight: bold;
    }
    .labo_flex_box{
        max-width: 225px;
        width: 100%;
    }
    .labo_flex_box img:first-of-type{
        margin:16px auto 32px;
    }
    .labo_flex_box:nth-of-type(2) img:first-of-type{
        margin:10px auto 30px;
    }
    .labo_flex_box:nth-of-type(3) img:first-of-type{
        margin:0 auto 18px;
    }
    .labo_flex_img{
        margin:  0 auto 30px;
    }
    .toneLabo+.store-cv{
        padding: 70px 0;
    }

	.toneLabo {
		padding: 50px 20px;
	}
	.toneLabo_logo {
		max-width: 240px;
		width: 100%;
		margin: 0 auto;
	}
	.tonelabo_ttl_sub {
		font-size: 16px;
		margin: 10px auto 0px;
	}
	.labo_flex.flex {
		margin: 30px auto 20px;
		flex-wrap: wrap;
	}
	.labo_flex .tcenter {
		margin: 0 auto 20px;
	}
	.labo_flex_box{
		margin: auto;
        text-align: center;
	}
	.labo_flex_img {
		margin: 0 auto 20px;
	}
	.labo_flex_box:not(:first-of-type){
		margin: 40px auto 0;
	}
	.labo_flex_box img:first-of-type {
		margin: 0 auto 10px;
	}
	.labo_flex_box:nth-of-type(2) img:first-of-type {
		margin: 0 0 9px 0;
	}
	.toneLabo::after {
		top: 0;
		left: 0;
		height: 3px;
	}
	.toneLabo::before {
		bottom: 0;
		left: 0;
		height: 3px;
	}
	.toneLabo+.store-cv{
		padding: 40px 20px;
	}
	.toneLabo+.store-cv .near-store.blue a::before{
		border: none;
	}
    .tcenter {
        text-align: center;
    }

    .toneLabo p img {
        display: block;
    }

    .tone-labo-buy {
        display: block;
        justify-content: unset;
        align-items: unset;
        margin-top: 20px;
    }

    .tone-labo-buy li {
        width: 100%;
        box-sizing:border-box;
        margin-top: 20px;
        background: #fff;
        padding: 15px 20px 20px;
    }

    .tone-labo-shop-title {
        font-size: 16px;
        font-weight: bold;
        text-align: left;
        padding-top: 5px;
        padding-bottom: 15px;
        padding-left: 32px;
        border-bottom: 1px solid #ccc;
        line-height: 140%;
    }

    .tone-labo-shop-title.shop {
        background: url(/service/image/top/icon_labo-shop.svg) no-repeat left center;
        background-size: 27px auto;
        background-position-y: 5px;
    }

    .tone-labo-shop-title.web-shop {
        background: url(/service/image/top/icon_labo_online.svg) no-repeat left center;
        background-size: 24px auto;
        background-position-y: 5px;
    }

    .tone-labo-dk {
        background: none;
        background-size:unset;
        margin: 0 10px;
        padding: 20px 0;
        line-height: 160%;
        font-size: 14px;
        display: block;
        height: auto;
        align-items: unset;
    }

    .tone-labo-link a {
        display: block;
        color: #fff;
        font-size: 14px;
        font-weight: bold;
        padding: 10px 30px 10px 20px;
        background: url(/service/image/top/tone_labo_link_arrow.svg) no-repeat right 10px center var(--primary);
        transition: unset;
        text-align: center;
        text-decoration: none;
    }

.tone-labo-shop-web-text {
    font-size: 14px;
    line-height: 160%;
    height: auto;
    display: block;
    align-items: unset;
    padding: 10px 0;
}

.tone-labo-shop-web-text span {
    font-size: 12px;
    color: #FF0000;
    display: block;
}

.android-senior-cp p img {
    width: 608px;
    height: auto;
}

.android-senior-cp p a {
    display: block;
    text-align: center;
    font-size: 14px;
    font-weight: normal;
    background: url(/assets/img/top/tone_e22/gray_arrow.svg) no-repeat right 20px center #FFF37F;
    padding: 10px 0;
    color: #333;
    border-radius: 20px;
    text-decoration: none;
}

.w920 {
    margin-bottom: 40px;
}
