@charset "UTF-8";

/* --------------------
  constants
-------------------- */
:root {
  --font_color: #000;
  /* ベースの文字色  */
  --base_color: #000;
  --pink: #ffe9ed;
  --blue: #5285ec;
  --green: #52d0d5;
  /* ゴシック体 */
  --font_family: 'Noto Sans JP',
    'Noto Sans',
    'Noto Sans CJK JP',
    'ヒラギノ角ゴ',
    'ヒラギノ角ゴ Pro W3',
    'Hiragino Kaku Gothic Pro',
    'Hiragino Kaku Gothic',
    sans-serif;
}

/* --------------------
  base
-------------------- */
:root {
  font-size: 62.5%;
}

* {
  margin-top: 0;
}

html {
  scroll-behavior: smooth;
}

body {
  position: relative;
  color: var(--font_color);
  font-size: 1.6rem;
  line-height: 1.5;
  font-family: var(--font_family);
}

body::before {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -2;
  width: 100vw;
  height: 100vh;
  background: url("/special/lp/max_cp2_2604/assets/images/bg_body01.png") no-repeat top center/cover #fff;
  content: "";
}

a {
  text-decoration: none;
}

h1,
h2,
h3 {
  margin-top: 0;
  line-height: 1.3em;
}

h2 {
  font-size: 3.2rem;
}

h3 {
  font-size: 2.6rem;
}

ul,
ol {
  list-style: none;
  -webkit-padding-start: 0;
  padding-inline-start: 0;
  /* list-styleを設定する場合は要調整 */
}

dd {
  -webkit-margin-start: 0;
  margin-inline-start: 0;
}

img {
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
}

section {
  max-width: 750px;
  margin: 0 auto;
}

.x_shadow {
  max-width: 750px;
  margin: 0 auto;
  -webkit-box-shadow: 0 0 20px rgba(96, 69, 46, 0.6);
  box-shadow: 0 0 20px rgba(96, 69, 46, 0.6);
}

.mt1 {
  margin-top: 1rem;
}

.mt2 {
  margin-top: 2rem;
}

.mt3 {
  margin-top: 3rem;
}

.mt4 {
  margin-top: 4rem;
}

.mt5 {
  margin-top: 4rem;
}

.mb1 {
  margin-bottom: 1rem;
}

.mb3 {
  margin-bottom: 3rem;
}

.tx_center {
  text-align: center;
}

.tx_left {
  padding-right: 19px;
  padding-bottom: 1.7rem;
  padding-left: 2rem;
  font-size: 2rem;
  line-height: 1.3;
  text-align: justify;
  text-indent: -2rem;
}

.br-sp {
  display: none;
}

.btn img.big {
  transition-duration: .4s;
}

.btn img.big:hover {
  transform: scale(1.05);
}

header {
  display: flex;
  align-items: center;
  height: calc(49 / 16 * 1em);
  padding: 0 calc(25 / 720 * 100%);
}

header img {
  margin-left: 0;
  width: calc(96 / 16 * 1em);
}

.main {
  background-color: #fff;
}

@media screen and (max-width: 500px) {
  .main h2 {
    font-size: 5vw;
  }

  .main h3 {
    font-size: 4.8vw;
  }

  .mt1 {
    margin-top: 2vw;
  }

  .mt2 {
    margin-top: 4vw;
  }

  .mt3 {
    margin-top: 6vw;
  }

  .mt4 {
    margin-top: 8vw;
  }

  .mt5 {
    margin-top: 10vw;
  }

  .mb1 {
    margin-bottom: 2vw;
  }

  .mb3 {
    margin-bottom: 6vw;
  }

  .max80 {
    max-width: 80%;
    margin-left: auto;
    margin-right: auto;
  }

  .br-sp {
    display: block;
  }
}

@media screen and (max-width: 400px) {
  .mt2 {
    margin-top: 2vw;
  }
}

.text_red {
  color: #f00;
}

/* --------------------
  kv
----------------------- */
.kv {
  z-index: -1;
  background-color: #fff;
}

.kv_bg {
  z-index: -1;
  background: url("/special/lp/max_cp2_2604/assets/images/kv_bg.png") top center/100% auto no-repeat;
}

h1 {
  font-size: 1rem;
}

h1 img {
  margin: 0 auto;
  padding: 1em 2em 0;
}

.button_area {
  margin: 0 2em;
}

@media screen and (max-width: 500px) {
  h1 img {
    padding: 0 2em;
  }

  .button_area {
    margin: 0 1.25em;
  }
}


.btn_sub_ttl {
  width: 60%;
  margin: 0 auto 0.625em;
}

.kv_note {
  color: #fff;
  margin: 1.25em 2em 0;
  padding-bottom: 3.25em;
}

@media screen and (max-width: 500px) {
  .kv_note {
    font-size: 0.875em;
    margin: 0.715em 2em 0;
    padding-bottom: 2.25em;
  }
}

.note p {
  padding-left: 1.2em;
  text-indent: -1.2em;
  line-height: 1.8em;
  font-size: 1.125rem;
}

.user_only_area,
.unlimited_bg {
  background-color: #fff;
}

.user_only_inner {
  width: 90%;
}

.user_only_inner,
.transfer_inner {
  margin: auto;
  padding: 1.25em 2em;
}

.user_only_under {
  padding-bottom: 1.25em;
}

.transfer {
  background-color: var(--pink);
}

@media screen and (max-width: 500px) {

  .user_only_inner,
  .transfer_inner {
    padding: 1.25em 1em;
  }

}

/* --------------------
footer
----------------------- */
footer {
  max-width: 750px;
  margin: 0 auto;
  padding: 4.5rem 3%;
  background-color: #fff;
  text-align: center;
}

/* bg_contents
------------------------------------------------*/
.bg_contents {
  position: fixed;
  top: calc((100% - 830px) / 2);
  left: 0;
  width: 100%;
  max-width: calc((100% - 750px) / 2);
}

.bg_contents .bg_menu {
  position: fixed;
  left: 0;
  width: 100%;
  max-width: calc((100% - 750px) / 2);
  padding: 0 3vw;
}

.bg_menu ul {
  display: block;
  width: 100%;
  padding: 1vw;
}

.bg_contents .bg_right_area {
  position: fixed;
  right: 0;
  width: 100%;
  max-width: calc((100% - 750px) / 2);
  padding: 0 3vw;
}

.bg_menu li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  width: 100%;
  height: 100%;
  line-height: 1.3;
  text-decoration: none;
  -webkit-transition: 0s;
  transition: 0s;
}

@media screen and (max-width: 1366px) {
  .bg_contents {
    display: none;
  }
}

@media screen and (max-width: 1450px) {
  .bg_menu li a {
    padding-left: 2vw;
  }
}

@media screen and (max-width: 1500px) {
  .bg_menu li a {
    border-radius: 1.5rem;
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 1450px) {
  .bg_menu li a::after {
    right: 8%;
    width: 1.5em;
    height: 1.5em;
  }
}

@media (hover: hover) {

  .bg_menu a {
    opacity: 1;
  }
}

.bg_right_area_img {
  width: 55%;
}

/* contents */
@media screen and (min-width: 751px) {
  body {
    padding: 0;
  }

  body::before {
    background: url("/special/lp/max_cp2_2604/assets/images/bg_body01.png") no-repeat top center/cover #fff;
  }

  .x_shadow {
    max-width: 550px;
    overflow: hidden;
    -webkit-box-shadow: 0 0 20px rgba(96, 69, 46, 0.3);
    box-shadow: 0 0 20px rgba(96, 69, 46, 0.3);
  }
}

.bg_contents .bg_menu,
.bg_contents .bg_right_area {
  max-width: calc((100% - 600px) / 2);
}

.bg_menu li {
  padding: 0;
}

.bg_menu li.last {
  border-bottom: 0;
}

.bg_menu li a {
  padding: 0.5em 0.3em;
  background-color: transparent;
  border-radius: 0 !important;
}

.bg_contents .bg_right_area .blue_btn::before {
  display: none;
}

.bg_contents .bg_right_area .btn_lead1 {
  width: 80%;
  margin: 0 auto 0.5em;
}

/* ==============================
タブ
============================== */

a {
  font-weight: bold;
  color: #0068b7;
  text-decoration: underline;
}

a:hover {
  text-decoration: none;
}

.tabs_container {
  width: 100%;
  margin: 1.25em auto 0;
}

.tabs {
  overflow: hidden;
  margin: 0 2em;
}

.tabs input[type="radio"] {
  display: none;
}

/*タブ画像切り替え部分*/
.tab_img {
  display: flex;
  justify-content: space-between;
}

.tab_img .tab_img_docomo,
.tab_img .tab_img_poikatsu {
  width: 48%;
  text-align: center;
}

.tab_img .tab_img_docomo img,
.tab_img .tab_img_poikatsu img {
  height: 40px;
}

@media screen and (max-width: 500px) {

  .tab_img .tab_img_docomo img,
  .tab_img .tab_img_poikatsu img {
    height: 30px;
  }
}

.tab_img .on {
  display: none;
}

.tab_img .off {
  display: block;
}

/* ドコモタブONの時 */
#tab1:checked~.tab_img .img_docomo.on {
  display: inline;
}

#tab1:checked~.tab_img .img_docomo.off {
  display: none;
}

#tab1:checked~.tab_img .img_poikatsu.on {
  display: none;
}

#tab1:checked~.tab_img .img_poikatsu.off {
  display: inline;
}

/* ポイ活タブONの時 */
#tab2:checked~.tab_img .img_docomo.on {
  display: none;
}

#tab2:checked~.tab_img .img_docomo.off {
  display: inline;
}

#tab2:checked~.tab_img .img_poikatsu.on {
  display: inline;
}

#tab2:checked~.tab_img .img_poikatsu.off {
  display: none;
}

.tab_labels {
  display: flex;
  justify-content: space-between;
  border-radius: 12px 12px 0 0;
}

.tab_label {
  width: 48%;
  padding: 15px;
  text-align: center;
  font-size: clamp(14px, 2vw, 26px);
  font-weight: bold;
  background-color: #808080;
  cursor: pointer;
  transition: all 0.3s;
  border-radius: 12px 12px 0 0;
  padding: 30px 0 20px;
}

.tab_label:hover {
  opacity: 0.7;
  border-radius: 12px 12px 0 0;
}

.tab_contents {
  background-color: #ffffff;
}

.tab_contents2 {
  border: 4px solid #bc9500;
}

.tab_content {
  display: none;
  text-align: center;
}

#tab1:checked~.tab_contents #content1,
#tab2:checked~.tab_contents #content2 {
  display: block;
}

#tab1:checked~.tab_contents #content1 img,
#tab2:checked~.tab_contents #content2 img {
  margin: 0 auto;
}

#content2 p.content2_text {
  text-align: center;
  font-weight: bold;
  line-height: 1rem;
  margin: 1rem 0.5rem;
  font-size: clamp(14px, 2vw, 18px);
}

#content1 {
  border: 4px solid #cc0f31;
  padding: 30px;
}

#content2 {
  border: 4px solid #d0ae47;
  padding: 30px;
}

#tab1:checked~.tab_labels label[for="tab1"] {
  background-color: #cc0f31;
  border-radius: 12px 12px 0 0;
  padding: 30px 0 20px;
}

#tab2:checked~.tab_labels label[for="tab2"] {
  background-color: #bc9500;
  border-radius: 12px 12px 0 0;
  padding: 30px 0 20px;
}

.tab_labels img {
  height: 20px;
  /* 揃えたい高さ */
  object-fit: cover;
  /* 歪みを防ぎ、トリミングしてフィットさせる */
  margin: 0 auto;
}

.tab_contents_attention {
  text-align: left;
  margin: 50px 0 0;
}

ul.tab_contents_attention li {
  margin: 0.5rem 0;
  font-size: clamp(14px, 2vw, 16px);
}

ul.tab_contents_attention li p {
  text-indent: initial;
}

.tab_contents_attention_title {
  font-weight: bold;
  line-height: 1.8rem;
  margin: 0.5rem 0;
  font-size: clamp(14px, 2vw, 16px);
}

ul.tab_contents_attention li p:nth-of-type(1) {
  margin: 1rem 0 0.5rem;
}

@media screen and (max-width: 768px) {
  .tabs {
    margin: 0 20px;
  }
}

/*! CSS Used from: https://cache.cil.ahamo.com/special/lp/max_cp/assets/css/reset.css */
div,
p,
a,
img,
ul,
li,
label {
  margin: 0;
  padding: 0;
  border: 0;
  font-style: normal;
  font-size: 100%;
  vertical-align: baseline;
}

input {
  margin: 0;
  padding: 0;
}

ul {
  list-style: none;
}

a:focus {
  outline: none;
}

/* ==============================
アコーディオン
============================== */
/* アコーディオンリスト全体を囲うタグ */
.accordion_wrapper {
  margin-top: 50px;
  margin-bottom: 50px;
}

@media screen and (max-width: 500px) {
  .accordion_wrapper {
    margin-top: 40px;
    margin-bottom: 40px;
  }
}

/* 個々のアコーディオンリストを囲うタグ */
.accordion {
  font-size: 20px;
  width: 88%;
  margin: 0 auto;
}

@media screen and (max-width: 500px) {
  .accordion {
    font-size: 20px;
    width: 90%;

  }
}

/* アコーディオンのタイトル・内容共通 */
.accordion_header,
.accordion_content {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  font-weight: 400;
  font-size: 1.6em;
  padding-top: 20px;
  padding-bottom: 20px;
}

.accordion_content_p {
  padding: 20px 10px;
}

@media screen and (max-width: 500px) {

  .accordion_header,
  .accordion_content {
    font-size: 1em;
  }
}

/* アコーディオンのタイトル */
.accordion_header {
  cursor: pointer;
  position: relative;
  border-top: 2px solid #000;
  border-bottom: 2px solid #000;
  font-weight: bold;
}

/* アコーディオンの内容 */
.accordion_content {
  display: none;
}

.accordion_header:nth-child(n + 1) {
  margin-top: 20px;
}

/* タイトル横のプラスマーク縦線 */
.accordion_header::before {
  position: absolute;
  content: '';
  top: 50%;
  right: 25px;
  width: 20px;
  height: 4px;
  background-color: var(--base_color);
  ;
  transform: rotate(90deg);
  transition: all .3s ease-in-out;
}

/* タイトル横のプラスマーク横線 */
.accordion_header::after {
  position: absolute;
  content: '';
  top: 50%;
  right: 25px;
  width: 20px;
  height: 4px;
  background-color: var(--base_color);
  ;
  transition: all .3s ease-in-out;
}

/* アコーディオンが開いたとき縦線の変化 */
.accordion_header.open::before {
  transform: rotate(180deg);
}

/* アコーディオンが開いたとき横線の変化 */
.accordion_header.open::after {
  opacity: 0;
}

ul.tab_contents_attention {
  padding-left: 10px;
  text-indent: -0.5em;
  text-align: left;
  margin: 20px clamp(0px, 2vw, 15px) 10px;
}

@media screen and (max-width: 500px) {

  ul.tab_contents_attention {
    text-indent: -0.8em;
  }
}

.accordion_content p {
  font-size: clamp(14px, 2vw, 16px);
  margin: 0.5rem 0;
}

.plan_change {
  background-color: var(--blue);
  padding-bottom: 3.125em;
  padding-top: 3.125em;
}

.plan_change_box {
  width: auto;
  margin: 4rem 2em;
  padding: 40px 25px;
  background: #fffcd9;
  border-radius: 20px;
  position: relative;
}

@media screen and (max-width: 500px) {

  .plan_change {
    padding-bottom: 40px;
    padding-top: 40px;
  }

  .plan_change_box {
    margin: 3rem 1.25em;
    padding: 30px 25px;
  }
}



/* ==============================
キャンペーン概要
============================== */
.campaign_overview_contents dl dt {
  font-weight: bold;
  font-size: clamp(14px, 2vw, 24px);
}

.campaign_overview_contents dl dd {
  margin-inline: 0;
  margin: 0.5rem 0 1rem;
  font-size: clamp(14px, 2vw, 16px);
}

.campaign_overview_contents dl dd p.inline {
  padding-left: 12px;
  text-indent: -1.2em;
  margin: 0.5rem 0;
}

.accordion div p {
  margin: 0.5rem 0;
  font-size: clamp(14px, 2vw, 16px);
}

.indent {
  padding-left: 10px;
  text-indent: -1em;
}

@media screen and (max-width: 500px) {

  .indent {
    padding-left: 15px;
    text-indent: -1.2em;
  }
}


.accordion div p.indent {
  margin: 0;
  padding-left: 20px;
  text-indent: -1.2em;
}

@media screen and (max-width: 500px) {
  .accordion div {
    padding-left: 0;
    text-indent: 0;
  }

  .accordion div p.indent {
    padding-left: 15px;
  }

}

/* ==============================
よくあるご質問
============================== */

.qa h2 {
  color: #fff;
  text-align: center;
}

@media screen and (max-width: 500px) {
  .qa h2 {
    font-size: 8vw;
  }

}

.qa_bg {
  background-color: var(--green);
  padding-bottom: 3.125em;
  padding-top: 2.125em;
}

/* ==============================
アコーディオン QA
============================== */

/* アコーディオンのタイトル・内容共通 */
.accordion_header_qa,
.accordion_content_qa {
  display: flex;
  align-items: center;
  width: 100%;
  font-weight: 400;
  padding-top: 20px;
  padding-bottom: 20px;
}

@media screen and (max-width: 500px) {

  .accordion_header_qa,
  .accordion_content_qa {
    padding-top: 15px;
    padding-bottom: 15px;
  }

  .accordion_header_qa,
  .accordion_content_qa {
    font-size: 0.7em;
  }
}

/* アコーディオンのタイトル */
.accordion_header_qa {
  cursor: pointer;
  position: relative;
  font-weight: bold;
  color: #4d4d4d;
  padding-left: 80px;
}

@media screen and (max-width: 750px) {

  /* アコーディオンのタイトル */
  .accordion_header_qa {
    padding-left: 100px;
    padding-top: 35px;
    padding-bottom: 35px;
  }
}

@media screen and (max-width: 650px) {

  .accordion_header_qa {
    padding-left: 90px;
    padding-top: 28px;
    padding-bottom: 28px;
  }
}

@media screen and (max-width: 600px) {

  .accordion_header_qa {
    padding-left: 85px;
    padding-top: 25px;
    padding-bottom: 25px;
  }
}

@media screen and (max-width: 500px) {

  .accordion_header_qa {
    padding-left: 70px;
    padding-top: 25px;
    padding-bottom: 25px;
  }
}

@media screen and (max-width: 450px) {
  .accordion_header_qa {
    padding-left: 65px;
    padding-top: 20px;
    padding-bottom: 20px;
  }
}

@media screen and (max-width: 414px) {
  .accordion_header_qa {
    padding-left: 60px;
    padding-top: 18px;
    padding-bottom: 18px;
  }
}

@media screen and (max-width: 375px) {
  .accordion_header_qa {
    padding-left: 55px;
    padding-top: 15px;
    padding-bottom: 15px;
  }
}

/* アコーディオンの内容 */
.accordion_content_qa {
  display: none;
}

.accordion_header_qa:nth-child(n + 1) {
  margin-top: 20px;
}

@media screen and (max-width: 500px) {

  .accordion_header_qa:nth-child(n + 1) {
    margin-top: 15px;
  }

}

/* タイトル横のプラスマーク縦線 */
.accordion_header_qa::before {
  position: absolute;
  content: '';
  top: 50%;
  right: 25px;
  width: 20px;
  height: 4px;
  background-color: #4d4d4d;
  transform: rotate(90deg);
  transition: all .3s ease-in-out;
}

/* タイトル横のプラスマーク横線 */
.accordion_header_qa::after {
  position: absolute;
  content: '';
  top: 50%;
  right: 25px;
  width: 20px;
  height: 4px;
  background-color: #4d4d4d;
  transition: all .3s ease-in-out;
}

@media screen and (max-width: 500px) {

  /* タイトル横のプラスマーク縦線 */
  .accordion_header_qa::before {
    top: 45%;
    width: 16px;
    height: 4px;
  }

  /* タイトル横のプラスマーク横線 */
  .accordion_header_qa::after {
    top: 45%;
    width: 16px;
    height: 4px;

  }

}


/* アコーディオンが開いたとき縦線の変化 */
.accordion_header_qa.open::before {
  transform: rotate(180deg);
}

/* アコーディオンが開いたとき横線の変化 */
.accordion_header_qa.open::after {
  opacity: 0;
}

.accordion_content_qa {
  width: auto;
  margin: 1.5rem 0;
  padding: 20px 45px;
  background: rgba(255, 255, 255, 0.6);
  border-radius: 20px;
  position: relative;
}

@media screen and (max-width: 500px) {

  .accordion_content_qa {

    padding: 15px 30px;

  }
}

.accordion div p.answer {
  font-size: clamp(14px, 2vw, 18px);
  font-weight: bold;
}

.q1 {
  background: url(/special/lp/max_cp2_2604/assets/images/q1.png) no-repeat left center / 100% auto;
}

.q2 {
  background: url(/special/lp/max_cp2_2604/assets/images/q2.png) no-repeat left center / 100% auto;
}

.q3 {
  background: url(/special/lp/max_cp2_2604/assets/images/q3.png) no-repeat left center / 100% auto;
}

.q4 {
  background: url(/special/lp/max_cp2_2604/assets/images/q4.png) no-repeat left center / 100% auto;
}

.q5 {
  background: url(/special/lp/max_cp2_2604/assets/images/q5.png) no-repeat left center / 100% auto;
}

.q6 {
  background: url(/special/lp/max_cp2_2604/assets/images/q6.png) no-repeat left center / 100% auto;
}