@charset "utf-8";
/* ---------------------
- kvArea pc
- camArea pc
- floatArea pc

- kvArea sp
- camArea sp
- floatArea sp
--------------------- */


.main-container section {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic, "游ゴシック Medium", "YuGothic M", "メイリオ", "Meiryo", sans-serif !important;
}
.main-container section {
  font-feature-settings: "palt"
}
body{
  overflow: hidden;
}
img {
  max-width: 100%;
}
.sptv_p_wrap {
  display: none !important;
}
.footer_gnav .sptv_sports {
  display: none !important;
}
h2.headline{
  text-align: center;
  font-size: 42px;
  line-height: normal;
  font-weight: bold;
  margin: 100px auto 40px;
}
@media (max-width:640px) {
  h2.headline{
    font-size: 7.6vw;
    margin: 24.66vw auto 8.66vw;
    height: auto;
    padding: 0 5.33vw;
  }
}
/* =====================
  pc
===================== */
@media (min-width:641px) {
  .sp {
    display: none;
  }

  /* =====================f
    kvArea pc
  ===================== */
  .main-container .kvArea {
    background: #f5f5f5;
    text-align: center;
    margin-bottom: 59px;
  }
  .main-container .kvArea h1 {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
  }

  
  /* =====================f
    underKv_tit pc
  ===================== */
  .main-container .underKV_tit {
    text-align: center;
    margin-bottom: 59px;
  }
  .main-container .underKV_tit img {
    max-width: 100%;
  }
  .main-container .underKV_tit h1 {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
  }

  /* =====================f
    camArea pc
  ===================== */

  .main-container .camArea .camArea_wrapper {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    border: 1px solid #999999;
    box-sizing: border-box;
    padding-bottom: 61px;
  }
  .main-container .camArea .camArea_wrapper h2 {
    background: #029aff;
    width: 100%;
    text-align: center;
    padding: 25px 0 27px 0;
    margin-bottom: 59px;
  }
  .main-container .camArea .camArea_wrapper .inner {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
  }
  .main-container .camArea .flexWrapper {
    /* display: flex; */
    justify-content: space-between;
    margin-bottom: 18px;
  }
  .main-container .camArea .flexWrapper .boxWrapper {
    max-width: 1000px;
    width: 100%;
    margin: auto;
    display: flex;
    justify-content: space-between;
    gap: 40px;
  }
  @media (min-width: 641px) {
    .main-container .camArea .flexWrapper .boxWrapper .boxWrapper_column {
      width: 480px;
    }
    .main-container .camArea .flexWrapper .boxWrapper .boxWrapper_column.solo_col {
      width: 1000px;
    }
  }
  .main-container .camArea .flexWrapper .box_tit {
    display: flex;
    justify-content: space-around;
  }
  .main-container .camArea .flexWrapper .box_strength {
    display: block;
  }
  .main-container .camArea .flexWrapper .box {
    margin-bottom: 20px;
  }
  .main-container .camArea .flexWrapper .img {
    text-align: center;
  }
  .main-container .camArea .flexWrapper .may {
    padding-bottom: 20px;
  }
  .main-container .camArea .flexWrapper .month {
    padding: 20px;
  }
  .main-container .camArea .flexWrapper .inner_tit {
    padding: 60px 0 20px 0;
  }
  .main-container .camArea .flexWrapper .box .tit {
    color: #ffffff;
    padding: 17px 0;
    text-align: center;
  }
  .main-container .camArea .flexWrapper .box .price {
    text-align: center;
    margin-bottom: 20px;
  }
  .main-container .camArea .flexWrapper .box .btn a {
    color: #fc2960;
    border: 3px solid #fc2960;
    box-shadow: 0 10px 0 #cd0034;
    box-sizing: border-box;
    display: block;
    max-width: 361px;
    width: 100%;
    margin: 0 auto;
    margin-bottom: 40px;
    text-align: center;
    text-decoration: none;
    padding: 19px 0 17px 0;
    border-radius: 4px;
  }
  .main-container .camArea .flexWrapper .box .btn a span {
    font-size: 18px;
  }
  .main-container .camArea .flexWrapper .box .btn a:hover {
    transform: translate3d(0, 10px, 0);
    box-shadow: 0 0px 0 #fff !important;
  }

  
  /* *********************************************************related program========================================================================================================= */
  .related {
        padding: 0 0 100px 0;
        max-width: 1000px;
        width: 100%;
        margin: auto;
  }
  .related .program {
    padding-top: 20px;
  }
  .related .program ul{
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 30px 20px;
  }
  .related .program ul:not(:last-child) {
    margin-bottom: 70px;
  }
  
  .related .program ul li{
    width: 490px;
    /* margin-bottom: 60px; */
    /* height: 310px;
    margin-bottom: 60px; */
    /* margin-top: 10vw; */
    background-color: #f0f0f0;
    /* padding-bottom: 60px; */
    /* margin-bottom: 30px; */
  }
  
  .related .program ul li a {
    pointer-events: none;
  }
  .related .program ul li a{
    max-width: 450px;
    height: 100%;
    display: block;
    padding: 10px 20px 10px 20px;
    text-decoration: none;
  }
  .related .program ul li.heightAuto a {
    height: auto;
  }
  
  .related .program ul li figure{
    width: 450px;
    height: 250px;
    /* margin-bottom: 15px; */
    position: relative;
  }
  
  .related .program ul li figure img{
    margin: auto auto;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: auto;
    height: 230px;
    margin-bottom: 15px;
    margin-top: 18px;
  }
  @media (max-width: 640px)  {
    .related .program ul li figure img {
      max-width: 100%;
    }
  }
  .related .program ul li figure .protectImgOuter {
    overflow: visible !important;
  }
  
  .related .program ul li h4{
    font-size: 16px;
    line-height: 1.5;
    font-weight: bold;
    margin-bottom: 5px;
  }
  
  .related .program ul li span.live,
  .related .program ul li span.icnFree,
  .related .program ul li span.icn_streaming{
    margin-bottom: 10px;
    color: #000;
    font-weight: bold;
  }
  
  .related .program ul li p{
    font-size: 12px;
    color: #000;
    /* line-height: 1.5; */
    min-height: 18px;
    /* margin: 20px 0;
      font-size: 18px;
      font-weight: bold;
      color: #666; */
    /* font-weight: bold; */
    padding-bottom: 10px;
  }
  .related .program ul li .channeltest p {
    /* line-height: 1; */
    font-size: 14px;
    font-weight: bold;
  }
  .related .program ul li p.recommend_time {
    /* font-size: 12px;
    color: #666;
    line-height: 1.5; */
    margin: 20px 0;
    font-size: 14px;
    font-weight: bold;
    color: #000;
  }


  .main-container .camArea .annotationList {
    color: #222222;
    font-size: 15px;
    line-height: 1.5;
    margin: 0 0 25px 0;
  }

  .main-container .camArea .priceTxt,
  .main-container .flowArea .priceTxt {
    display: flex;
    justify-content: center;
    font-size: 16px;
    line-height: 1.3;
    font-weight: 600;
    margin: 0 auto;
    text-align: left;
    margin-bottom: 40px;
  }
  .main-container .camArea .priceTxt li,
  .main-container .flowArea .priceTxt li {
    text-indent: -1em;
    padding-left: 1em;
  }
  .main-container .camArea .priceTxt li ul,
  .main-container .flowArea .priceTxt li ul {
    text-align: left;
  }
  .main-container .camArea .flexWrapper .boxInner {
    padding-top: 32px;
  }
  .main-container .camArea .flexWrapper .box_blueInner {
    border: 6px solid #0071bd;
  }
  .main-container .camArea .flexWrapper .box_blue .tit {
    background: #0071bd;
  }
  .main-container .camArea .flexWrapper .box_redInner {
    border: 6px solid #cd0034;
  }
  .main-container .camArea .flexWrapper .box_red .tit {
    background: #cd0034;
  }
  .main-container .camArea .camArea_flexWrapper .annotationTxt {
    text-align: center;
    font-size: 17px;
    font-family: "游ゴシック Medium";
    line-height: 1;
    margin-bottom: 40px;
  }
  .main-container .camArea .camArea_flexWrapper .annotationTxt .txt {
    margin-bottom: 12px;
  }
  .main-container .camArea .camArea_flexWrapper .annotationTxt .txtBold {
    font-family: "游ゴシック";
    font-weight: bold;
  }
  .main-container .camArea .applyBtn a {
    display: block;
    max-width: 360px;
    width: 100%;
    padding: 20px 0;
    margin: 0 auto;
    background: #fc2960;
    box-shadow: 0 8px 0 #cd1634;
    text-align: center;
    margin-bottom: 67px;
    border-radius: 5px;
  }
  .main-container .camArea .applyBtn a:hover {
    transform: translate3d(0, 8px, 0);
    box-shadow: 0 0px 0 #fff !important;
  }
  .main-container .camArea .camArea_overview {
    max-width: 1000px;
    margin: auto;
  }
  .main-container .camArea .camArea_overview h3 {
    text-align: center;
    margin-bottom: 43px;
    position: relative;
  }
  .main-container .camArea .camArea_overview h3::after {
    content: "";
    position: absolute;
    height: 1px;
    max-width: 403px;
    width: 100%;
    background: #000000;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
  }
  .main-container .camArea .camArea_overview h3::before {
    content: "";
    position: absolute;
    height: 1px;
    max-width: 403px;
    width: 100%;
    background: #000000;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
  }

  .main-container .camArea .camArea_overview dl {
    font-size: 16px;
    line-height: 1.3;
    font-family: "游ゴシック Regular";
    display: flex;
    justify-content: space-between;
  }
  .main-container .camArea .camArea_overview dl:not(:last-child) {
    margin-bottom: 22px;
  }
  .main-container .camArea .camArea_overview dl dt {
  }
  .main-container .camArea .camArea_overview dl dd {
    max-width: 842px;
    width: 100%;
  }
  .main-container .camArea .camArea_overview dl dd .annotationList li {
    text-indent: -1em;
    padding-left: 1em;
  }
  ul.note {
    font-weight: normal;
    font-size: 14px;
    margin-top: 5px;
  }



  /* fee_area_cam */
  .fee_area_cam {
    max-width: 1200px;
    margin: 89px auto 0 auto;
  }
  .fee_area_cam h5 {
    color: #fff000;
    font-size: 32px;
    line-height: 1.2;
    /* font-weight: bold; */
    font-weight: 600;
    background: #4095e4;
    text-align: center;
    padding: 10px 0;
    font-family: "Hiragino Sans", "Hiragino Kaku Gothic Std";
  }
  .fee_area_cam_wrapper {
    border: 2px solid #4095e4;
    background: #fff;
  }
  /* U30流用 */
  /* =====================
    共通
  ===================== */
  .u30Section_inner .h3Tit {
    font-family: "Hiragino Sans", "Hiragino Kaku Gothic Std";
    font-weight: 700;
    color: #4095e4;
    text-align: center;
    font-size: 44px;
    line-height: 1.2;
  }
  .u30Section_inner .button {
    max-width: 325px;
    margin: 0 auto;
  }
  .u30Section_inner .button a {
    display: block;
    width: 100%;
    margin: 0 auto;
    padding: 26px 0 22px 0;
    background: #fc2960;
    color: #fff;
    font-size: 24px;
    line-height: 1;
    font-weight: bold;
    border-radius: 4px;
    text-align: center;
    box-shadow: 0 6px 0 #cd1634;
    text-decoration: none;
  }
  .u30Section_inner .button a:hover {
    transform: translate3d(0, 6px, 0);
    box-shadow: 0 0 0 #cd1634;
  }
  .u30Section_inner .annotationList {
    font-size: 16px;
    line-height: 1.8;
  }
  /* =====================
    #camOverview
  ===================== */
  .u30Section_inner {
    /* max-width: 1100px; */
    stroke-width: 100%;
    margin: 0 auto;
  }
  #camOverview {
    padding: 60px 50px 0 50px;
  }
  #camOverview .h2Tit {
    font-size: 28px;
    padding: 20px 0;
    font-weight: 700;
    text-align: center;
    color: #fff;
    background: #4095e4;
    margin: 0 0 25px 0;
    font-family: "Hiragino Sans", "Hiragino Kaku Gothic Std";
  }
  #camOverview .h2Tit span {
    font-size: 32px;
    color: #fff000;
  }
  #camOverview .sectionInner {
    /* border: 2px solid #4095e4;
    padding: 25px 50px 34px 50px;
    border-radius: 0 0 5px 5px; */
  }
  #camOverview .text {
    font-size: 20px;
    line-height: 1.5;
    color: #000;
    margin: 0 0 25px;
  }
  #camOverview .text span.emphasis {
    color: #4095e4;
    font-weight: bold;
  }
  #camOverview .button {
    margin-bottom: 80px;
  }
  /* =====================
    #camDetails
  ===================== */
  #camDetails {
    background: #edf8ff;
    padding: 45px 50px 60px 50px;
  }
  #camDetails .h3Tit {
    margin: 0 0 45px 0;
  }
  #camDetails .text {
    font-size: 20px;
    line-height: 1.5;
    margin: 0 0 8px 0;
  }
  #camDetails .annotationList {
    margin: 0 0 33px 0;
  }
  #camDetails div.img {
    margin: 0 0 6px 0;
  }
  /* =====================
    #camConditions
  ===================== */
  #camConditions {
    padding: 75px 50px 0 50px;
  }
  #camConditions .h3Tit {
    margin: 0 0 45px 0;
  }
  #camConditions .h4Tit {
    font-size: 32px;
    line-height: 1;
    font-weight: 600;
    color: #fff;
    background: #4095e4;
    text-align: center;
    padding: 13px 0;
    margin: 0 0 30px 0;
  }
  #camConditions .inner {
    /* border: 2px solid #4095e4;
    border-radius: 0 0 5px 5px; */
  }
  /* 対象 */
  #camConditions .camConditions_target {
    margin: 0 0 50px 0;
  }
  #camConditions .camConditions_target .inner {
    /* padding: 35px 50px 55px 50px; */
  }
  #camConditions .camConditions_target .text {
    font-size: 20px;
    line-height: 1.5;
    margin: 0 0 25px 0;
  }
  #camConditions .camConditions_target .text .emphasis {
    color: #4095e4;
    font-weight: bold;
  }
  #camConditions .camConditions_target .img:not(:last-child) {
    margin: 0 0 30px 0;
  }
  #camConditions .camConditions_target ul {
    font-size: 20px;
    line-height: 1.5;
    margin: 0 0 35px 0;
  }
  #camConditions .camConditions_target ul .fontBold {
    font-weight: bold;
  }
  #camConditions .camConditions_target ul .fontBold ul {
    font-weight: normal;
  }
  .slideItems {
    display: none;
  }
  /* キャンペーン受付期間 */
  #camConditions .camConditions_term {
    margin: 0 0 30px 0;
  }
  #camConditions .camConditions_term .inner {
    padding: 0;
  }
  #camConditions .camConditions_term .text {
    font-size: 24px;
    line-height: 1.5;
    font-weight: bold;
    text-align: center;
  }
  #camConditions .button {
    margin: 0 auto 80px auto;
  }
  /* 注意事項 */
  #camConditions .notes .h5Tit {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    line-height: 1;
    font-weight: 600;
    margin: 0 0 25px 0;
    font-family: "ヒラギノ角ゴ Pro";
  }
  #camConditions .notes .h5Tit:before,
  #camConditions .notes .h5Tit:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background: #000;
  }
  #camConditions .notes .h5Tit:before {
    margin-right: 54px;
  }
  #camConditions .notes .h5Tit:after {
    margin-left: 54px;
  }
  #camConditions .notes ul {
    font-size: 15px;
    line-height: 1.6;
    margin: 0;
  }
  .fee_area_cam .toggleButton a {
    display: block;
    max-width: 325px;
    width: 100%;
    margin: 0 auto;
    border: 2px solid#4095e4;
    border-radius: 4px;
    color: #4095e4;
    text-align: center;
    font-size: 24px;
    font-weight: bold;
    padding: 23px 0;
    text-decoration: none;
    position: relative;
    margin-top: 35px;
    margin-bottom: 50px;
  }
  .fee_area_cam .toggleButton a::after,
  .fee_area_cam .toggleButton a::before {
    position: absolute;
    content:'';
    width: 18px;
    height: 4px;
    background-color: #4095e4;
  }
  .fee_area_cam .toggleButton a.active::before {
    top:48%;
    right: 21px;
    transform: rotate(0deg);
  }
  .fee_area_cam .toggleButton a.active::after {
    top:48%;
    right: 21px;
    transform: rotate(90deg);
  }
  .fee_area_cam .toggleButton a.close::before{
    top:48%;
    right: 21px;
  }
  .fee_area_cam .toggleButton a.close::after{
    content: none;
  }
  .fee_area_cam .toggleButton a:hover {
    opacity: 0.7;
  }




  /* =====================f
    flowArea pc
  ===================== */
  .main-container .flowArea {
    text-align: center;
    padding-top: 117px;
  }
  .main-container .flowArea h3 {
    margin-bottom: 81px;
    position: relative;
  }
  .main-container .flowArea h3::after {
    content: "";
    position: absolute;
    height: 1px;
    max-width: 400px;
    width: 100%;
    background: #000000;
    top: -16px;
    right: 0;
    left: 0;
    margin: 0 auto;
  }
  .main-container .flowArea h3::before {
    content: "";
    position: absolute;
    height: 1px;
    max-width: 400px;
    width: 100%;
    background: #000000;
    bottom: -16px;
    right: 0;
    left: 0;
    margin: 0 auto;
  }
  .main-container .flowArea .step {
    padding-top: 60px;
    margin-bottom: 60px;
  }
  .main-container .flowArea .step.step1 {
    padding-top: 0;
  }
  .main-container .flowArea .step1 {
    position: relative;
    z-index: 4;
  }
  .main-container .flowArea .step1:before {
    content: '';
    display: block;
    position: absolute;
    width: 62px;
    height: 62px;
    transform: translateY(-50%) rotate(-45deg) skew(12deg,12deg);
    bottom: -62px;
    left: calc(50% - 31px);
    z-index: 3;
  }
  .main-container .flowArea .step1 .stepLink {
    max-width: ;
    width: 100%;
  }
  .main-container .flowArea .step2 {
    position: relative;
    z-index: 2;
  }
  .main-container .flowArea .step2:before {
    content: '';
    display: block;
    position: absolute;
    width: 62px;
    height: 62px;
    transform: translateY(-50%) rotate(-45deg) skew(12deg,12deg);
    bottom: -62px;
    left: calc(50% - 31px);
    z-index: 1;
  }
  
  .main-container .flowArea .step2 .tit {
    padding: 20px;
  }
  .main-container .flowArea .step2 .may {
    padding-bottom: 20px;
  }
  .main-container .flowArea .step3 {
    position: relative;
    z-index: 1;
  }
  .main-container .flowArea .step3:before {
    content: '';
    display: block;
    position: absolute;
    width: 62px;
    height: 62px;
    transform: translateY(-50%) rotate(-45deg) skew(12deg,12deg);
    bottom: -62px;
    left: calc(50% - 31px);
    z-index: -1;
  }
  .main-container .flowArea .step1:after,
  .main-container .flowArea .step2:after,
  .main-container .flowArea .step3:after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
  }
  .main-container .flowArea .step1:before,
  .main-container .flowArea .step3:before {
    background: #ffffff;
  }
  .main-container .flowArea .step1:after,
  .main-container .flowArea .step3:after {
    background: #ffffff;
  }
  .main-container .flowArea .step2:before {
    background: #f5f5f5;
  }
  .main-container .flowArea .step2:after {
    background: #f5f5f5;
  }
  .main-container .flowArea .step2 {
    background: #f5f5f5;
    padding-bottom: 60px;
  }
  .main-container .flowArea .step4 {
    background: #f5f5f5;
    padding-bottom: 12px;
  }
  .main-container .flowArea .step2 .stepTxt {
    margin-bottom: 29px;
  }
  .main-container .flowArea .btnWrapper {
    display: flex;
    justify-content: center;
    margin-bottom: 28px;
    width: 1095px;
    margin: auto;
  }
  .main-container .flowArea .btnWrapper .btn a {
    color: #fc2960;
    border: 3px solid #fc2960;
    box-shadow: 0 10px 0 #cd0034;
    box-sizing: border-box;
    display: block;
    max-width: 361px;
    margin: 0 auto;
    text-align: center;
    text-decoration: none;
    padding: 19px 0 17px 0;
    background: #ffffff;
    border-radius: 4px;
  }
  .main-container .flowArea .priceTxt {
    font-size: 16px;
    line-height: 1.3;
    font-weight: 600;
    max-width: 881px;
    width: 100%;
    margin: 0 auto;
    text-align: center;
    margin-bottom: 32px;
  }
  .main-container .flowArea .btnWrapper .inner .btn {
    margin-bottom: 40px;
  }
  .main-container .flowArea .btnWrapper .inner:not(:last-child) {
    margin-right: 159px;
  }
  .main-container .flowArea .btnWrapper .btn a:hover {
    transform: translate3d(0, 10px, 0);
    box-shadow: 0 0px 0 #fff !important;
  }
  .main-container .flowArea .btnWrapper .inner {
    width: 480px;
  }
  @media (max-width: 640px) {
    .main-container .flowArea .btnWrapper .inner {
      width: auto;
    }
  }
  .main-container .flowArea .btnWrapper .inner:first-child {
    margin-right: 40px;
  }
  
  .main-container .flowArea .QABtn a {
    display: block;
    max-width: 520px;
    width: 100%;
    padding: 20px 0;
    margin: 0 auto;
    background: #0099ff;
    box-shadow: 0 8px 0 #0070bb;
    text-align: center;
    margin-bottom: 67px;
    border-radius: 5px;
  }
  .main-container .flowArea .QABtn a:hover {
    transform: translate3d(0, 8px, 0);
    box-shadow: 0 0px 0 #fff !important;
  }

  /********************************************* overview_area****************************************/
  .overview_area {
    /* padding: 60px 0 50px 0; */
    /* background: #f4f4f4; */
    text-align: center;
  }
  .overview_area h4 {
    margin: 0 0 50px 0;
  }
  .overview_area_img {
    margin: 0 0 60px 0;
    border: 4px solid #0071bd;
    display: flex;
  }
  .overview_area_img li {
    max-width: 299px;
    width: 100%;
    padding: 30px 0 26px 0;
  }
  .overview_area_img li:nth-child(odd) {
    background: #f4f4f4;
  }
  .overview_area_img li:nth-child(even) {
    background: #fff;
  }
  .overview_area_img li img {
    margin: 0 auto 26px auto;
  }
  .overview_area_img li .tit {
    font-size: 20px;
    color: #0071bd;
    line-height: 1.5;
    font-weight: bold;
    margin: 0 0 22px 0;
    padding: 0 6px;
    letter-spacing: -0.1em;
  }
  .overview_area_img li .text {
    font-size: 17px;
    line-height: 1.5;
    padding: 0 33px;
    text-align: left;
    /* font-weight: bold; */
  }

}


/* =====================
  sp
===================== */
@media (max-width:640px) {
  .pc {
    display: none;
  }
  .main-container section {
    color: #000000;
  }
  .main-container section p {
    margin: 0;
  }
  .main-container section h2 {
    height: auto;
  }

  /* =====================f
    kvArea sp
  ===================== */
  .main-container .kvArea {
    background: #f5f5f5;
    text-align: center;
    margin-bottom: 10.66vw;
  }
  .main-container .kvArea h1 {
    width: 100%;
    margin: 0 auto;
  }

  /* =====================f
    underKV_tit sp
  ===================== */
  .main-container .underKV_tit {
    text-align: center;
    margin-bottom: 10.66vw;
  }
  .main-container .underKV_tit img {
    max-width: 88%;
  }
  .main-container .underKV_tit h1 {
    width: 100%;
    margin: 0 auto;
  }

  /* =====================f
    camArea sp
  ===================== */
  .main-container .camArea {
    padding: 0 5.33vw;
  }
  .main-container .camArea .camArea_wrapper {
    width: 100%;
    margin: 0 auto;
    border: 0.26vw solid #999999;
    box-sizing: border-box;
    padding-bottom: 6.4vw;
  }
  .main-container .camArea .camArea_wrapper h2 {
    background: #029aff;
    text-align: center;
    padding: 4vw 10.86vw 3.86vw 10.86vw;
    margin: 0 auto 6.66vw auto;
  }
  .main-container .camArea .camArea_wrapper .inner {
    margin: 0 auto;
    padding: 0 4.66vw;
  }
  .main-container .camArea .flexWrapper {
    margin-bottom: 3.33vw;
  }
  .main-container .camArea .flexWrapper .box {
    width: 100%;
    margin: 0 auto;
  }
  .main-container .camArea .flexWrapper .box:not(:last-child) {
    margin-bottom: 4.66vw;
  }
  .main-container .camArea .flexWrapper .box .tit {
    color: #ffffff;
    padding: 3.8vw 3.86vw 3.8vw 3.86vw;
    text-align: center;
  }
  
  .main-container .camArea .flexWrapper .month {
    text-align: center;
    padding: 0 15vw 0 15vw;
  }
  .main-container .camArea .flexWrapper .month_blue {
    text-align: center;
    padding: 0 5vw 0 5vw;
  }
  .main-container .camArea .flexWrapper .may {
    /* padding-bottom: 20px; */
  }
  .main-container .camArea .boxWrapper .tit_strength {
    text-align: center;
    padding: 10.06vw 5vw 0 5vw !important;
  }
  .main-container .camArea .flexWrapper .boxWrapper .img {
    margin: 4.06vw 0 3.06vw 0;
  }
  .main-container .camArea .flexWrapper .boxWrapper .month {
    margin: 7.06vw 0 3.06vw 0;
  }
  .main-container .camArea .flexWrapper .boxWrapper:first-child .img {
    /* margin: 0 0 2.66vw 0; */
  }
  .main-container .camArea .flexWrapper .box .price {
    text-align: center;
    margin-bottom: 4.66vw;
  }
  .main-container .camArea .flexWrapper .box .price img {
    width: 54vw;
    height: auto;
    margin: 0 auto;
  }
  .main-container .camArea .flexWrapper .box .btn a {
    color: #fc2960;
    border: 0.53vw solid #fc2960;
    box-shadow: 0 0.66vw 0 #cd0034;
    box-sizing: border-box;
    display: block;
    width: 70.66vw;;
    margin: 0 auto;
    margin-bottom: 5.66vw;
    text-align: center;
    text-decoration: none;
    padding: 3.46vw 0 3.06vw 0;
    border-radius: 0.53vw;
  }
  .main-container .camArea .flexWrapper .box .btn a:hover {
    transform: translate3d(0, 0.66vw, 0);
    box-shadow: 0 0px 0 #fff !important;
  }
  .main-container .camArea .priceTxt,
  .main-container .flowArea .priceTxt {
    display: flex;
    justify-content: center;
    font-size: 3.39vw;
    font-family: "游ゴシック Medium";
    font-weight: bold;
    line-height: 1.3;
    margin: 0 auto;
    text-align: left;
    margin-bottom: 6.46vw;
  }
  .main-container .camArea .priceTxt li,
  .main-container .flowArea .priceTxt li {
    text-indent: -1em;
    padding-left: 1em;
  }
  .main-container .camArea .flexWrapper .boxInner {
    padding-top: 4.66vw;
  }
  .main-container .camArea .flexWrapper .box_blueInner {
    border: 0.8vw solid #0071bd;
    border-top: none;
  }
  .main-container .camArea .flexWrapper .box_blue .tit {
    background: #0071bd;
  }
  .main-container .camArea .flexWrapper .box_blueInner .btn a img {
    width: 38.13vw;
    height: auto;
    margin: 0 auto;
  }
  .main-container .camArea .flexWrapper .box_redInner {
    border: 0.8vw solid #cd0034;
    border-top: none;
  }
  .main-container .camArea .flexWrapper .box_red .tit {
    background: #cd0034;
  }
  .main-container .camArea .flexWrapper .box_redInner .btn a img {
    width: 31.46vw;
    height: auto;
    margin: 0 auto;
  }
  .main-container .camArea .camArea_flexWrapper .annotationTxt {
    text-align: center;
    font-size: 3.73vw;
    font-family: "游ゴシック Medium";
    line-height: 1.3;
    margin-bottom: 8vw;
  }
  .main-container .camArea .camArea_flexWrapper .annotationTxt .txt {
    margin-bottom: 3.86vw;
  }
  .main-container .camArea .camArea_flexWrapper .annotationTxt .txtBold {
    font-family: "游ゴシック";
    font-weight: bold;
  }
  .main-container .camArea .applyBtn a {
    display: block;
    width: 80vw;
    padding: 3.6vw 0 3.467vw 0;
    margin: 0 auto;
    background: #fc2960;
    box-shadow: 0 1.2vw 0 #cd1634;
    text-align: center;
    margin-bottom: 10.8vw;
    border-radius: 0.66vw;
  }
  .main-container .camArea .applyBtn a img {
    width: 34.53vw;
    height: auto;
    margin: 0 auto;
  }
  .main-container .camArea .applyBtn a:hover {
    transform: translate3d(0, 1.2vw, 0);
    box-shadow: 0 0px 0 #fff !important;
  }
  .main-container .camArea .camArea_overview h3 {
    text-align: center;
    margin-bottom: 6.8vw;
    position: relative;
  }
  .main-container .camArea .camArea_overview h3 img {
    width: 31.6vw;
    margin: 0 auto;
  }
  .main-container .camArea .camArea_overview h3::after {
    content: "";
    position: absolute;
    height: 0.26vw;
    width: 22.66vw;
    background: #000;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
  }
  .main-container .camArea .camArea_overview h3::before {
    content: "";
    position: absolute;
    height: 0.26vw;
    width: 22.66vw;
    background: #000000;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
  }
  .main-container .camArea .camArea_overview dl {
    font-size: 3.46vw;
    line-height: 1.3;
    font-family: "游ゴシック Regular";
  }
  .main-container .camArea .camArea_overview dl:not(:last-child) {
    margin-bottom: 5.06vw;
  }
  .main-container .camArea .camArea_overview dl dt {
    font-weight: bold;
  }
  .main-container .camArea .camArea_overview dl dd .annotationList {
    line-height: 1.5;
  }
  .main-container .camArea .camArea_overview dl dd .annotationList li {
    position: relative;
    text-indent: -1em;
    padding-left: 1em;
  }
  ul.note {
    font-weight: normal;
    font-size: 3.46vw;
    margin-top: 1.66vw;
  }

  .setU30 {
    background: #ededed;
    text-align: center;
    padding: 5.33vw 0 0 0;
    max-width: 1100px;
    margin: 0 auto;
    margin-bottom: 8vw;
    border: 2px solid #ededed;
    /* overflow: scroll; */
    position: relative;
  }
  .setU30::after {
    content: '';
    position: absolute;
    left: calc(50% - 2.13vw);
    top: -14px;
    display: block;
    width: 0;
    height: 0;
    border-right: 15px solid transparent;
    border-bottom: 15px solid #ededed;
    border-left: 15px solid transparent;
  }
  .setU30.bkWhite {
    background: #fff;
    text-align: center;
    padding: 5.33vw 0 0 0;
    margin: 2.53vw 0 0 0;
    border: 2px solid #0099ff;
  }
  .setU30.bkWhite::after {
    content: '';
    position: absolute;
    left: calc(50% - 2.13vw);
    top: -14px;
    display: block;
    width: 0;
    height: 0;
    border-right: 15px solid transparent;
    border-bottom: 15px solid #fff;
    border-left: 15px solid transparent;
  }
  .setU30.bkWhite::before {
    content: '';
    position: absolute;
    left: calc(50% - 2.13vw);
    top: -16px;
    display: block;
    width: 0;
    height: 0;
    border-right: 15px solid transparent;
    border-bottom: 15px solid #0099ff;
    border-left: 15px solid transparent;
    z-index: 0;
  }
  .setU30 .tit {
    margin: 0 auto 3.33vw auto;
    width: 64.26vw;
  }
  .setU30 .annotationList {
    color: #222222;
    font-size: 3.46vw;
    line-height: 1;
    margin: 0 0 4.8vw 0;
  }
  .setU30 .img {
    width: 173.33vw;
    padding: 0 0 2.8vw 0;
  }
  .setU30 .imgContainer {
    overflow-x: scroll;
    margin-bottom: 5.33vw;
  }

  /* =====================================================================related program SP================================================================================= */
  
  .related .program {
  	margin-bottom: 14.06vw;
  	/* padding: 5.15vw 3.43vw; */
  }
  .related .program a {
    padding: 3.43vw;
  }
  .related .program ul li {
    margin-bottom: 9.37vw;
    background-color: #f0f0f0;
    padding-bottom: 3.43vw;
  }
  .related .program ul li a {
    pointer-events: none;
  }
  .related .program ul li a {
    display: block;
  }
  .related .program ul li figure {
    margin-bottom: 1.25vw;
  }
  .related .program ul li p:nth-of-type(1) {
    font-size: 2.81vw;
  }
  .related .program ul li h4 {
    font-weight: bold;
    color: #000;
    margin: 2vw 0;
    font-size: 4.8vw;
  }
  .related .program ul li span.live {
    height: 4.68vw;
    font-size: 2.81vw;
    color: #000;
  }
  .related .program ul li p {
    font-size: 3.37vw;
    color: #000;
    margin-bottom: 3.12vw;
    line-height: 1.5;
  }
  .related .program ul li p.recommend_time {
    margin-top: 3vw;
    font-weight: bold;
  }
  

  /* fee_area_cam */
  .fee_area_cam {
    margin: 10.66vw 0 0 0;
    padding: 0 5.33vw;
  }
  .fee_area_cam h5 {
    color: #fff000;
    font-size: 4.8vw;
    line-height: 1;
    font-weight: 600;
    background: #4095e4;
    text-align: center;
    padding: 2.26vw 0;
    font-family: "Hiragino Sans", "Hiragino Kaku Gothic Std";
    margin: 0;
  }
  .fee_area_cam_wrapper {
    border: 0.53vw solid #4095e4;
    background: #fff;
  }
  /* U30流用 */
  /* =====================
    共通
  ===================== */
  .u30Section_inner .h3Tit {
    font-family: "Hiragino Sans", "Hiragino Kaku Gothic Std";
    font-weight: 700;
    color: #4095e4;
    text-align: center;
    font-size: 6.4vw;
    line-height: 1.2;
  }
  .u30Section_inner .button {
    margin: 0 auto;
  }
  .u30Section_inner .button a {
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 71.6vw;
    height: 12vw;
    margin: 0 auto;
    background: #fe295f;
    box-shadow: 0 1.06vw 0 #cd0034;
    position: relative;
    line-height: 1;
    font-weight: bold;
  }
  .u30Section_inner .button a:hover {
    transform: translate3d(0, 1.06vw, 0);
    box-shadow: 0 0 0 #cd1634;
  }
  .u30Section_inner .annotationList {
    font-size: 3.2vw;
    line-height: 1.5;
  }
  /* =====================
    #camOverview
  ===================== */
  .u30Section_inner {
    margin: 0 auto;
  }
  #camOverview {
    padding: 6.66vw 4vw 0 4vw;
  }
  #camOverview .h2Tit {
    font-size: 5.06vw;
    padding: 4.39vw 0;
    font-weight: 700;
    text-align: center;
    color: #fff;
    background: #4095e4;
    margin: 0 0 5.6vw 0;
    line-height: 1.2;
    font-family: "Hiragino Sans", "Hiragino Kaku Gothic Std";
  }
  #camOverview .h2Tit span {
    font-size: 5.73vw;
    color: #fff000;
  }
  #camOverview .sectionInner {
    /* border: 2px solid #4095e4;
    padding: 25px 50px 34px 50px;
    border-radius: 0 0 5px 5px; */
  }
  #camOverview .text {
    font-size: 4vw;
    line-height: 1.5;
    color: #000;
    margin: 0 0 5.6vw;
  }
  #camOverview .text span.emphasis {
    color: #4095e4;
    font-weight: bold;
  }
  #camOverview .button {
    margin-bottom: 10.66vw;
  }
  /* =====================
    #camDetails
  ===================== */
  #camDetails {
    background: #edf8ff;
    padding: 10.66vw 4vw 10.66vw 4vw;
  }
  #camDetails .h3Tit {
    margin: 0 0 6.93vw 0;
  }
  #camDetails .text {
    font-size: 4vw;
    line-height: 1.5;
    margin: 0 0 8px 0;
  }
  #camDetails .annotationList {
    margin: 0 0 5.73vw 0;
  }
  #camDetails div.img {
    margin: 0 0 6px 0;
  }
  /* =====================
    #camConditions
  ===================== */
  #camConditions {
    padding: 10.66vw 4vw 0 4vw;
  }
  #camConditions .h3Tit {
    margin: 0 0 8.13vw 0;
  }
  #camConditions .h4Tit {
    font-size: 5.33vw;
    line-height: 1;
    font-weight: 600;
    color: #fff;
    background: #4095e4;
    text-align: center;
    padding: 1.73vw 0;
    margin: 0 0 5.73vw 0;
  }
  #camConditions .inner {
    /* border: 2px solid #4095e4;
    border-radius: 0 0 5px 5px; */
  }
  /* 対象 */
  #camConditions .camConditions_target {
    margin: 0 0 9.73vw 0;
  }
  #camConditions .camConditions_target .inner {
    /* padding: 35px 50px 55px 50px; */
  }
  #camConditions .camConditions_target .text {
    font-size: 4vw;
    line-height: 1.5;
    margin: 0 0 4.39vw 0;
  }
  #camConditions .camConditions_target .text .emphasis {
    color: #4095e4;
    font-weight: bold;
  }
  #camConditions .camConditions_target .img:not(:last-child) {
    margin: 0 0 4vw 0;
  }
  #camConditions .camConditions_target ul {
    font-size: 4vw;
    line-height: 1.5;
  }
  #camConditions .camConditions_target ul .fontBold {
    font-weight: bold;
  }
  #camConditions .camConditions_target ul .fontBold ul {
    font-weight: normal;
  }
  .slideItems {
    display: none;
  }
  /* キャンペーン受付期間 */
  #camConditions .camConditions_term {
    margin: 0 0 6.66vw 0;
  }
  #camConditions .camConditions_term .text {
    font-size: 4.26vw;
    line-height: 1.5;
    font-weight: bold;
    text-align: center;
  }
  #camConditions .button {
    margin: 0 auto 10.66vw auto;
  }
  /* 注意事項 */
  #camConditions .notes .h5Tit {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 5.33vw;
    line-height: 1;
    font-weight: 600;
    margin: 0 0 5.73vw 0;
    font-family: "ヒラギノ角ゴ Pro";
  }
  #camConditions .notes .h5Tit:before,
  #camConditions .notes .h5Tit:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background: #000;
  }
  #camConditions .notes .h5Tit:before {
    margin-right: 6.8vw;
  }
  #camConditions .notes .h5Tit:after {
    margin-left: 6.8vw;
  }
  #camConditions .notes ul {
    font-size: 3.2vw;
    line-height: 1.5;
    margin: 0;
  }
  .fee_area_cam .toggleButton a {
    display: block;
    width: 80.13vw;
    margin: 0 auto;
    border: 0.53vw solid #4095e4;
    color: #4095e4;
    text-align: center;
    font-size: 4.66vw;
    font-weight: bold;
    padding: 6.26vw 0;
    text-decoration: none;
    position: relative;
    margin-top: 6vw;
    margin-bottom: 6.93vw;
  }
  .fee_area_cam .toggleButton a::after,
  .fee_area_cam .toggleButton a::before {
    position: absolute;
    content:'';
    width: 18px;
    height: 4px;
    background-color: #4095e4;
  }
  .fee_area_cam .toggleButton a.active::before {
    top:48%;
    right: 21px;
    transform: rotate(0deg);
  }
  .fee_area_cam .toggleButton a.active::after {
    top:48%;
    right: 21px;
    transform: rotate(90deg);
  }
  .fee_area_cam .toggleButton a.close::before{
    top:48%;
    right: 21px;
  }
  .fee_area_cam .toggleButton a.close::after{
    content: none;
  }
  .fee_area_cam .toggleButton a:hover {
    opacity: 0.7;
  }


  /* =====================f
    flowArea sp
  ===================== */
  .main-container .flowArea {
    text-align: center;
    padding-top: 20vw;
  }
  .main-container .flowArea h3 {
    position: relative;
  }
  .main-container .flowArea h3 img {
    width: 45.33vw;
    height: auto;
    margin: 0 auto;
  }
  .main-container .flowArea h3::after {
    content: "";
    position: absolute;
    height: 0.26vw;
    width: 80vw;
    background: #000;
    top: -3.73vw;
    right: 0;
    left: 0;
    margin: 0 auto;
  }
  .main-container .flowArea h3::before {
    content: "";
    position: absolute;
    height: 0.26vw;
    width: 80vw;
    background: #000;
    bottom: -3.73vw;
    right: 0;
    left: 0;
    margin: 0 auto;
  }
  .main-container .flowArea .step {
    padding: 0 5.33vw;
    padding-top: 12.8vw;
  }
  .main-container .flowArea .step1,
  .main-container .flowArea .step2,
  .main-container .flowArea .step3 {
    position: relative;
    z-index: 1;
  }
  .main-container .flowArea .step1 {
    position: relative;
    z-index: 4;
  }
  .main-container .flowArea .step1:before {
    content: '';
    display: block;
    position: absolute;
    width: 12.26vw;
    height: 12.26vw;
    transform: translateY(-50%) rotate(-45deg) skew(12deg,12deg);
    bottom: -12.26vw;
    left: calc(50% - 6.13vw);
    z-index: 3;
  }
  .main-container .flowArea .step2 {
    position: relative;
    z-index: 2;
  }
  .main-container .flowArea .step2:before {
    content: '';
    display: block;
    position: absolute;
    width: 12.26vw;
    height: 12.26vw;
    transform: translateY(-50%) rotate(-45deg) skew(12deg,12deg);
    bottom: -12.26vw;
    left: calc(50% - 6.13vw);
    z-index: 1;
  }
  
  .main-container .flowArea .step2 .tit {
    text-align: center;
    padding: 4vw 20vw 4vw 20vw;
  }
  .main-container .flowArea .step2 .may {
    padding-bottom: 20px;
  }
  .main-container .flowArea .step3 {
    position: relative;
    z-index: 1;
    margin-bottom: 60px;
  }
  .main-container .flowArea .step3:before {
    content: '';
    display: block;
    position: absolute;
    width: 12.26vw;
    height: 12.26vw;
    transform: translateY(-50%) rotate(-45deg) skew(12deg,12deg);
    bottom: -12.26vw;
    left: calc(50% - 6.13vw);
    z-index: -1;
  }
  .main-container .flowArea .step1:after,
  .main-container .flowArea .step2:after,
  .main-container .flowArea .step3:after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
  }
  .main-container .flowArea .step1:before,
  .main-container .flowArea .step3:before {
    background: #ffffff;
  }
  .main-container .flowArea .step1:after,
  .main-container .flowArea .step3:after {
    background: #ffffff;
  }
  .main-container .flowArea .step2:before {
    background: #f5f5f5;
  }
  .main-container .flowArea .step2:after {
    background: #f5f5f5;
  }
  .main-container .flowArea .step2 {
    padding-bottom: 10.8vw;
    background: #f5f5f5;
  }
  .main-container .flowArea .step4 {
    background: #f5f5f5;
    padding-bottom: 10.8vw;
  }
  .main-container .flowArea .step1 .stepTxt {
    margin-bottom: 6.66vw;
    padding: 0px 19vw;
  }
  .main-container .flowArea .step1 .stepLink {
    padding: 3.2vw 0 10.66vw 0;
  }
  .main-container .flowArea .step1 .stepImg img {
    width: 82.93vw;
    height: auto;
    margin: 0 auto;
  }
  .main-container .flowArea .step1 .stepLink a {
    font-size: 4.26vw;
    font-family: "游ゴシック Regular";
    text-decoration: underline;
    color: #000000;
  }
  .main-container .flowArea .step2 .stepTxt {
    margin-bottom: 5.06vw;
  }
  .main-container .flowArea .btnWrapper {
    margin-bottom: 4.26vw;
  }
  .main-container .flowArea .btnWrapper .btn a {
    color: #fc2960;
    border: 0.53vw solid #fc2960;
    box-shadow: 0 0.66vw 0 #cd0034;
    box-sizing: border-box;
    display: block;
    width: 100%;
    margin: 0 auto;
    text-align: center;
    text-decoration: none;
    padding: 3.467vw 0 3.067vw 0;
    background: #ffffff;
    border-radius: 0.53vw;
  }
  .main-container .flowArea .btnWrapper .btn:first-child a img {
    width: 38.13vw;
    height: auto;
    margin: 0 auto;
  }
  .main-container .flowArea .btnWrapper .btn:last-child a img {
    width: 31.46vw;
    height: auto;
    margin: 0 auto;
  }
  .main-container .flowArea .btnWrapper .inner:not(:last-child) {
    margin-bottom: 8vw;
  }
  .main-container .flowArea .btnWrapper .inner .btn {
    margin-bottom: 6vw;
  }
  .main-container .flowArea .btnWrapper .btn a:hover {
    transform: translate3d(0, 0.66vw, 0);
    box-shadow: 0 0px 0 #fff !important;
  }
  .main-container .flowArea .step3 .stepTxt {
    margin-bottom: 6.53vw;
  }
  .main-container .flowArea .step3 .stepImg img {
    width: 83.46vw;
    height: auto;
    margin: 0 auto;
  }
  .main-container .flowArea .step4 .stepTxt {
    margin-bottom: 3.33vw;
  }
  .main-container .flowArea .QABtn a {
    display: block;
    width: 86vw;
    padding: 3.6vw 0 3.467vw 0;
    margin: 0 auto;
    background: #0099ff;
    box-shadow: 0 1.2vw 0 #0070bb;
    text-align: center;
    margin-bottom: 10.8vw;
    border-radius: 0.66vw;
  }
  .main-container .flowArea .QABtn a:hover {
    transform: translate3d(0, 1.2vw, 0);
    box-shadow: 0 0px 0 #fff !important;
  }
  .main-container .flowArea .QABtn a img {
    width: 34.53vw;
    height: auto;
    margin: 0 auto;
  }

  /******************************************************* overview_area *********************************************************************/
  .overview_area {
    padding: 20px 0 30px 0;
    text-align: center;
  }
  .overview_area h4 {
    width: 79.73vw;
    margin: 0 auto 8vw auto;
  }
  .overview_area_img {
    margin: 0 0 4.66vw 0;
  }
  .overview_area_img {
    margin: 0 0 60px 0;
    border: 4px solid #0071bd;
    /* display: flex; */
    flex-direction: column;
  }
  .overview_area_img li {
    padding: 4.66vw 4.66vw 3.73vw 4.66vw;
  }
  .overview_area_img li .flex {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    position: relative;
  }
  .overview_area_img li:nth-child(odd) {
    background: #f4f4f4;
  }
  .overview_area_img li:nth-child(even) {
    background: #fff;
  }
  .overview_area_img li img {
    width: auto;
    height: 14vw;
    margin: 0 3.33vw 0 0;
  }
  .overview_area_img li .tit {
    font-size: 4.8vw;
    line-height: 1.5;
    font-weight: bold;
    letter-spacing: -0.1em;
    text-align: left;
    margin-right: 6vw;
    color: #0071bd;
  }
  .overview_area_img li .text {
    font-size: 3.46vw;
    line-height: 1.5;
    text-align: left;
    margin: 3.06vw 0 0 0;
  }
  
  .footer_floating_area .footer_floating_btn.guide {
    display: none !important;
  }
  .footer_floating_area .footer_floating_btn.app {
    display: none !important;
  }


}
.txtBold {
  font-family: "游ゴシック";
  font-weight: bold;
}

/* 🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀ダウンロードゾーン🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀 */
.txtDl {
  text-align: center;
  font-size: 24px;
}
.download-container {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* 4 items in one row for PC */
  gap: 40px; /* 40px gap for PC */
  margin-top: 20px;
  max-width: 1200px;
  margin: 40px auto 0;
}

.download-item {
  text-align: center;
}

.image-placeholder {
  width: 100%;
  height: auto;
  background-color: #ccc;
  margin-bottom: 10px;
}

/* Targeting the parent container (download-item) and the btn element */
.download-item .btn + .btn{
  margin-top: 20px;
}
.download-item .btn a {
  color: #fc2960;
  border: 3px solid #fc2960;
  box-shadow: 0 10px 0 #cd0034;
  box-sizing: border-box;
  display: block;
  max-width: 361px;
  width: 100%;
  margin: 0 auto;
  text-align: center;
  text-decoration: none;
  padding: 19px 0 17px 0;
  border-radius: 4px;
  font-weight: bold;
}

.download-item .btn a span {
  font-size: 18px;
}
@media screen and (max-width: 640px) {
  .download-item .btn a span {
    font-size: 4.26vw;
  }
}

.download-item .btn a:hover {
  transform: translate3d(0, 10px, 0);
  box-shadow: 0 0px 0 #fff !important;
}

#tracking-info {
  margin-top: 30px;
  text-align: center;
}

/* Media query for screens with width 640px or less */
@media screen and (max-width: 640px) {
  .txtDl {
    text-align: left;
    font-size: 4vw;
  }
  .download-container {
    grid-template-columns: repeat(2, 1fr); /* 2 items per row on SP */
    gap: 20px; /* Adjust gap on mobile */
  }

  .download-container {
        grid-template-columns: repeat(2, 1fr); /* 2 items per row on SP */
        gap: 20px; /* Adjust gap on mobile */
        /* padding: 10px; */
  }

  .download-item .btn a {
      color: #fc2960;
      border: 0.53vw solid #fc2960;
      box-shadow: 0 0.66vw 0 #cd0034;
      box-sizing: border-box;
      display: block;
      width: 37.66vw;
      margin: 0 auto;
      text-align: center;
      text-decoration: none;
      padding: 3.46vw 0 3.06vw 0;
      border-radius: 0.53vw;
  }
  .download-item .btn + .btn{
    margin-top: 2.66vw;
  }

  .image-placeholder {
      width: 100%; /* Full width for images on mobile */
      height: auto; /* Adjust height proportionally */
  }
}
/* 🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀ダウンロードゾーン🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀 */



/* 🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀アンカーリンク🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀 */
.anchor-button-container {
  text-align: center;
  margin: 40px;
}

.anchor-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #1E90FF;
  color: white;
  padding: 20px 30px 10px;
  font-size: 24px;
  font-weight: bold;
  text-decoration: none;
  border-radius: 2px;
  transition: background-color 0.3s ease;
  flex-direction: column;
}
.anchor-btn:hover {
  background-color: #104e8e;
}

.anchor-btn .arrow {
  margin-left: 10px;
  transition: transform 0.3s ease;
  margin-top: 20px;
}

.anchor-btn .arrow-img {
  width: 20px; /* Adjust arrow size */
  height: auto;
}

/* Hover effect for the arrow image */
.anchor-btn:hover .arrow-img {
  transform: translateY(5px); /* Moves the arrow image down */
}
/* SP Layout - Adjust button and arrow position */
@media screen and (max-width: 640px) {
  .main-container .anchorArea {
    padding: 0 5.33vw;
  }
  .anchor-button-container {
      margin: 20px 0;
  }

  .anchor-btn {
    padding: 15px 15vw 10px;
    font-size: 4vw;
    background-color: #0099ff;
    color: #ffffff;
    line-height: 1.3;
  }

  .anchor-btn .arrow {
      margin-left: 8px;
      margin-top: 10px;
  }

  .anchor-btn .arrow-img {
      width: 18px; /* Adjust arrow size for mobile */
  }
}

/* 🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀アンカーリンク🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀 */

@media screen and (max-width: 640px) {
  .footer_gnav a.btn_header_flow {
    display: none;
  }
  .footer_gnav p {
    display: none;
  }
  .footer_gnav tr.popup_top td {
    border-bottom: none;
  }
  .main-container .camArea .camArea_flexWrapper .boxWrapper_column .annotationTxt {
    text-align: left;
  }
}
.icon {
  margin-bottom: 10px;
}
.icon .iconTxt {
  color: #fff;
  background: #df0a17;
  width: auto;
  min-height: 20px;
  display: inline-block;
  font-weight: bold;
  text-align: center;
  font-size: 12px;
  padding: 4px 8px;
  box-sizing: border-box;
}
@media screen and (max-width: 640px) {
  .icon {
    margin-bottom: 2vw;
  }
  .icon .iconTxt {
    font-weight: bold;
    width: auto;
    height: auto;
    display: inline-flex;
    align-items: center;
    text-align: center;
    font-size: 2.6vw;
    line-height: initial;
    padding: 0.53vw 2.13vw;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
  }
}