/* ----------------------------------
トップヘッダー
------------------------------------*/
/* トップヘッダー（ナビ） */
.nav_select a.end,
.nav_select a.end:hover {
  color: #9e9e9e;
  background-color: transparent;
  pointer-events: none;
  cursor: no-drop;
}
@media screen and (max-width: 640px) {
  .nav_select td:nth-child(1):hover {
    background-color: transparent;
  }
}
@media screen and (max-width: 640px) {
  .app-btn-area {
    padding: 1rem;
  }
}
/* トップヘッダー（画像） */
.imh_lp_main_inner .imh_lp_main_kome1 {
  position: absolute;
  color: #333;
}
@media screen and (max-width: 640px) {
  .imh_lp_main_inner .imh_lp_main_kome1 {
    bottom: 60%;
    right: 7%;
  }
}
@media screen and (min-width: 641px) {
  .imh_lp_main, .imh_lp_main_inner, .lp_detail_btn_area {
    background: url(/campaign/imh/img/hikari_lp_top_202605.png) no-repeat center top;
  }
  .imh_lp_main, .imh_lp_main_inner {
    height: 425px;
  }
  .imh_lp_main_inner .imh_lp_main_kome1 {
    top: 110px;
    right: 144px;
  }
}

/* ----------------------------------
トップ画像下
------------------------------------*/
/* @media screen and (min-width: 641px) {
  .imh_container_cp {
    width: 640px;
  }
} */
/* トップ画像下（注釈） */
.top_anno {
  font-size: 0.8rem;
  line-height: 1.3;
}
.top_anno li{
  text-indent: -2.8em;
  padding-left: 2.8em;
}
@media screen and (max-width: 640px) {
  .top_anno {
    margin: 1rem 0;
  }
}
@media screen and (min-width: 641px) {
  .top_anno li:first-child {
    white-space: nowrap;
  }
}

/* トップ画像下（引越しの予定がある方） */
.msg-box--moving {
  border: 1px solid #cc0000;
  border-radius: 2px;
  margin: 0 auto;
}
.msg-box__inner {
  text-align: center;
  padding: 20px;
}
.message-box__title {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.message-box__title p {
  font-weight: bold;
  letter-spacing: 2px;
}
.msg-box__icon {
  width: 15px;
}
.msg-box__text {
  text-align: left;
  font-size: 12px;
  line-height: 1.3;
}
.msg-box__list {
  margin: 0 auto;
  /* padding-left: 1.5em; */
}
@media screen and (max-width: 640px) {
  .msg-box--moving {
    width: 95%;
    margin: 0 auto 1rem;
  }
  .msg-box__inner {
    padding: 0.5em 1em;
  }
  .message-box__title {
    font-size: 3.7vw;
    margin-bottom: 3px;
  }
  .msg-box__text {
    font-size: clamp(10px, 2.5vw, 14px);
    text-indent: -1.5em;
    padding-left: 1.5em;
  }
  .msg-box__text * {
    text-indent: 0;
  }
}
@media screen and (min-width: 641px) {
  .msg-box--moving {
    max-width: 700px;
    margin-bottom: 2rem;
  }
  .msg-box__inner {
    padding: 5px 30px;
  }
  .message-box__title {
  margin-bottom: 5px;
}

  .msg-box__icon {
    width: 20px;
  }
  .message-box__title {
    font-size: 17px;
  }
}

/* ----------------------------------
IIJmioひかり10ギガ プラン変更工事費無料キャンペーン
------------------------------------*/
.tokuten-title {
  padding: 10px 0;
}
@media screen and (max-width: 640px) {
  .tokuten-title {
    padding: 3% 0;
  }
  .tokuten-title .tokuten-wrap {
    padding: 0;
  }
}
h2.main-text.long-text {
  margin-bottom: 0;
}

/* ----------------------------------
10ギガプランへの変更なら工事費無料でおトク！
------------------------------------*/
.contents_2_text.asterisk_number li.same-number::before {
  counter-increment: number 0;
  content: "※5 ";
}

.feature2_box .box_top .title_tx {
  margin-top: 10px;
  color: #fff;
}
.feature2_box .box_bottom.pink {
  padding: 1.5rem 0 2.5rem;
  color: unset !important;
}
.feature2_box .box_bottom {
  padding: 1.5rem 0 !important;
}
.plan-card {
  border-radius: 16px;
  padding: 24px 20px 28px;
  max-width: 480px;
  margin: 0 auto;
}
.plan-header {
  border-radius: 10px;
  text-align: center;
  padding: 10px 16px 8px;
  margin-bottom: 8px;
}
.price-rows {
  display: flex;
  justify-content: space-between;
  align-items: end;
  width: 85%;
  margin: 0 auto;
}
.price-row {
  padding: 0 0 16px 0;
}
.blue-price-inner .price-row {
  padding: 3px 0;
}
.price-row:nth-of-type(2) {
  border-left: 1px solid #d0d0d0;
}
.row-left {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.row-icon {
  width: 25px;
  height: 25px;
  object-fit: contain;
  flex-shrink: 0;
}
.row-label {
  font-size: 15px;
  font-weight: 700;
  white-space: nowrap;
}
.price-block {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
  padding: 1em 0 0;
}
.price-prefix {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
}
.price-amount {
  display: flex;
  align-items: baseline;
  gap: 1px;
}
.price-number {
  font-size: 38px;
  font-weight: 900;
  line-height: 1;
}
.price-number--large {
  font-size: 48px;
  font-weight: bold;
}
.price-unit {
  font-size: 16px;
  font-weight: 700;
}
.blue-price-inner {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
}
.blue-row-top {
  display: flex;
  align-items: center;
  gap: 8px;
}
.blue-row-bottom {
  display: flex;
  align-items: center;
}
.icon-group {
  display: flex;
  gap: 4px;
  align-items: self-end;
}
.blue_box {
  position: relative;
}
.plan_change_arrow {
  position: relative;
  text-align: center;
  background: #2756aa;
  color: #fff;
  padding: 0.5em 0 0.5em 0.5em;
  margin-right: 0.8em;
}
.plan_change_arrow:after {
  content: "";
  position: absolute;
  top: -0.5em;
  left: 99%;
  display: block;
  width: 4em;
  height: 4em;
  background: #2756aa;
  clip-path: polygon(0 0, 0% 100%, 30% 50%);
}
@media (min-width: 641px) {
  #kojiryo_free .feature-box .feature-box-title {
    margin-top: 4rem;
  }
  #kojiryo_free .features_titletext_l {
    padding-bottom: 8px;
  }
  .hikari_features_area2 {
    padding: 0;
  }
  .plan-card {
    max-width: 720px;
  }
  .plan-card--pink .price-rows {
    flex-direction: column;
    gap: 0;
  }
  .plan-card--pink .price-row {
    flex: 1;
    align-items: flex-start;
    gap: 14px;
    padding: 16px 32px 16px 0;
    border-bottom: none;
    display: flex;
    flex-direction: row;
  }
  .plan-card--pink .price-row:last-child {
    border-right: none;
    padding-left: 32px;
    padding-right: 0;
  }
  .plan-card--blue .price-row {
    padding: 20px 0;
  }
  .blue-row-top {
    gap: 15px;
  }
  .price-row:nth-of-type(2) {
    padding-left: 25px;
  }
  .row-label {
    font-size: 18px;
  }
  .price-row:nth-of-type(2) .row-left {
    margin-bottom: 7px;
  }
  .price-prefix {
    font-size: 16px;
  }
  .price-unit {
    font-size: 22px;
  }
  .row-icon {
    width: 35px;
    height: 35px;
  }
  .row-icon--apartment {
    height: 50px;
  }
}

@media (max-width: 640px) {
  .hikari_features_area2 {
    padding: 0;
  }
  #kojiryo_free .features_titletext_l {
    padding-top: 1rem;
  }
  .feature2_flex {
    justify-content: center;
  }
  .plan_change_arrow {
    font-size: 1.3em;
    padding: 0.5em 2em 0 2em;
    margin: 0 0 1em;
  }
  .plan_change_arrow:after {
    top: 99%;
    left: -1em;
    width: 11em;
    height: 10em;
    clip-path: polygon(0 0, 50% 13%, 100% 0%);
  }
  .price-rows {
    width: 100%;
    justify-content: center;
  }
  .price-row {
    width: 50%;
    padding: 0 1em 10px;
  }
  .price-row:nth-of-type(1) .row-left {
    margin-bottom: -6%;
  }
  .row-label {
    font-size: 3.5vw;
  }
  .price-number {
    font-size: 8vw;
  }
  .price-number--large {
    font-size: 11vw;
  }
  .row-icon--apartment {
    height: 40px;
  }
  .feature2_flex .feature2_box:first-child {
    margin-bottom: 1rem;
  }
  .feature2_flex .feature2_box:last-of-type {
    margin-top: 3rem;
  }
  .require-rooter {
    font-size: unset;
  }
  .require-rooter .white-box-flex {
    margin-bottom: 1em;
  }
}
/* ----------------------------------
IIJmioひかり10ギガ
------------------------------------*/
#hikari_10giga .content-title {
  padding-top: 4rem;
}
#hikari_10giga .content-title span {
  position: relative;
}
#hikari_10giga .content-title span::before {
  position: absolute;
  content: "";
  height: 9px;
  width: 100%;
  background-color: #ffff00;
  left: 0;
  bottom: 6px;
  z-index: -1;
}
@media screen and (max-width: 640px) {
  #hikari_10giga .content-title {
    padding-top: 2rem;
  }
}

/* ----------------------------------
料金
------------------------------------*/
#price-contents {
  padding: 0;
}
@media screen and (max-width: 640px) {
  .tab-area {
    align-items: stretch;
    margin-bottom: 1em;
  }

  .tab-area .tab-label {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 32%;
    line-height: 1.2;
    padding: 0.5em 0;
  }
}
.imh_thushaku_inner li {
  text-indent: -1em;
  padding-left: 1em;
}
.imh_thushaku_inner * {
  text-indent: 0;
}

/* ----------------------------------
料金（IIJmioひかりの回線工事費）
------------------------------------*/
.campaign_label {
  background: #e64d97;
  color: #fff;
  padding: 6px 18px;
  margin-bottom: 10px;
}
.price_row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 80px;
  position: relative;
  padding: 10px 0;
}
.price_row::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 62%;
  transform: translate(-50%, -50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 0 10px 10px;
  border-color: transparent transparent transparent #e64d97;
}
.beige_box_inner--koujihi span {
  font-weight: bold;
}
/* 旧価格 */
.price_old {
  color: #adadad;
}
.price_old span {
  position: relative;
  display: inline-block;
  font-weight: normal;
}
.price_old span::before {
  content: "";
  position: absolute;
  left: 0%;
  top: 50%;
  width: 100%;
  height: 2px;
  background: #adadad;
  transform: rotate(5deg);
}
/* 新価格 */
.price_new {
  color: #e64d97;
  font-weight: bold;
}
.price_new span {
  font-size: 40px;
  line-height: 1;
}
.price_new small {
  font-size: 1.2em;
  font-weight: bold;
}
@media screen and (max-width: 640px) {
  .beige_box_inner--koujihi {
    padding-top: 0;
    padding-bottom: 0.5rem;
  }
  .price_row {
    gap: 30px;
  }
  .campaign_label {
    font-size: 4vw;
  }
}
@media screen and (min-width: 641px) {
  .beige_box_inner--koujihi {
    padding: 1rem 0;
  }
  .price_campaign_box {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
  }
  .campaign_label {
    margin-bottom: 0;
  }
  .price_row::before {
    left: 71%;
  }
  .price_row {
    gap: 50px;
  }
}

/* ----------------------------------
ご利用の流れ
------------------------------------*/
#step {
  padding: 0;
}