@charset "utf-8";

/* --------------------

  ahamo 料金LP

-------------------- */



/* --------------------

  constants

-------------------- */

:root {

  --font_color: #313131;
  /* ベースの文字色  */

  --pink: #ff6880;

  --dark_pink: #f34783;

  --blue: #0093d7;

  --sky_blue: #a9e6fb;

  /* ゴシック体 */

  --font_family: 'Noto Sans JP',

    "Helvetica Neue",

    "Helvetica",

    "Hiragino Sans",

    "Hiragino Kaku Gothic ProN",

    "Arial",

    "Yu Gothic",

    "Meiryo",

    sans-serif;
  ;

}



/* --------------------

  base

-------------------- */

:root {

  font-size: 62.5%;

}



* {

  margin-top: 0;

}



html {

  scroll-behavior: smooth;

}



body {

  color: var(--font_color);

  font-family: var(--font_family);

  font-size: 1.6rem;

  line-height: 1.8em;

  background-color: #fff;

  background-image: url(/special/lp/assets/002/images/roykin_body_bg.jpg);

  background-size: cover;

  background-attachment: fixed;

}



h1,
h2,
h3,
h4,
h5,
h6 {

  line-height: 1.3em;

  margin-top: 0;

}



h1 {

  font-size: 4.5rem;

}



h2 {

  font-size: 3.2rem;

}



h3 {

  font-size: 2.4rem;

}



h4 {

  font-size: 2rem;

}



h5 {

  font-size: 1.6rem;

}



h6 {

  font-size: 1.6rem;

}



ul,
ol {

  -webkit-padding-start: 0;

  padding-inline-start: 0;
  /* list-styleを設定する場合は要調整 */

  list-style: none;

}



dd {

  -webkit-margin-start: 0;

  margin-inline-start: 0;

}



img {

  max-width: 100%;

}



section {

  max-width: 750px;

  margin: 0 auto;

}



.x_shadow {

  box-shadow: 0 0 20px #9a9a9a63;

  max-width: 750px;

  margin: 0 auto;

}





/* --------------------

  common

-------------------- */

/* SEO対策でHTMLに記述するが表示させないテキスト */

.alternative_text {

  font-size: 0;

}



.text_pink {

  color: var(--pink);

}



.text_blue {

  color: var(--blue);

}



.caption_text_right,

.caption_text_left {

  font-size: 12px;

  line-height: 1.4em;

  -webkit-font-feature-settings: "palt";

  font-feature-settings: "palt";

}



.d_sp_none {

  display: none;

}



.d_sp_inline {

  display: inline;

}



.anchor {

  margin-top: -40px;

  padding-top: 40px;

}



#process {

  margin-top: -80px;

  padding-top: 80px;

}



@media all and (min-width: 500px) {

  .d_sp_none {

    display: initial;

  }



  .d_sp_inline {

    display: none;

  }



  .anchor {

    margin-top: -70px;

    padding-top: 70px;

  }



  #process {

    margin-top: -150px;

    padding-top: 150px;

  }

}



/* --------------------

  kv

----------------------- */

.kv {

  background-image: url(/special/lp/assets/002/images/cont_bg_type03.png);

  background-position: top left;

  background-repeat: no-repeat;

  background-size: cover;

  padding: 66% 0 55px 0;

  position: relative;

  z-index: 0;

}



.kv::after {

  display: block;

  content: "";

  background-image: url(/special/lp/assets/002/images/ryokin_kv_bg.png);

  background-position: top left;

  background-repeat: no-repeat;

  background-size: 100% auto;

  width: 100%;

  height: calc(1330 / 750 * 100vw / 2);

  max-height: 1000px;

  position: absolute;

  top: 0;

  left: 0;

  z-index: -1;

}



.kv_content {

  top: 36%;

  width: 94%;

  min-height: 58%;

  margin: 0 auto;

  padding: 5% 3%;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: vertical;

  -webkit-box-direction: normal;

  -ms-flex-flow: column;

  flex-flow: column;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

  background-color: #fff;

  border: 2px solid #ffe5fc;

  border-radius: 14px;



}



.kv_content_detail {

  width: 85.05%;

  margin: 0 auto;

}



.kv_plan_img {

  background-image: url(/special/lp/assets/002/images/mv_price_002_withOmoriPrice.png);

  background-position: center;

  background-repeat: no-repeat;

  background-size: contain;

  height: min(calc(184 / 750 * 100svw), 184px);

  -ms-flex-negative: 0;

  flex-shrink: 0;

  margin-bottom: calc(5 / 750 * 100svw);

}

.kv .kv_plan_img {
  width: min(100%, 656px);

  height: auto;

  aspect-ratio: 656 / 300;
}

.cta_note .note.note2 small {


  padding: 0;
  line-height: 1.6;
  font-weight: 400;
  display: block;
  padding-left: 2.1em;
  text-indent: -2.1em;
  text-align: left;
}



.kv .caption_text_right,

.kv .caption_text_left {

  font-size: min(15px, 2.5vw);

}



.kv .caption_text_left {

  margin: 15px 0 0;


}

.kv .caption_text_left li {
  padding-left: 1.7em;
  text-indent: -1.7em;
}



.caption_text_right {

  text-align: right;

}



.kv_btn_lead {
  position: relative;
  text-align: center;

  font-size: min(5vw, 36px);

  font-weight: 700;

  width: fit-content;

  margin: 1em auto .25em;

}

.kv_btn_lead::before,
.kv_btn_lead::after {
  position: absolute;
  top: 0.8rem;
  height: 1.8rem;
  content: '';
}

.kv_btn_lead::before {
  border-left: dotted 3px;
  left: -0.5em;
  transform: rotate(-30deg);
}

.kv_btn_lead::after {
  border-right: dotted 3px;
  right: -0.5em;
  transform: rotate(30deg);
}



.kv_btn_lead_em {

  color: var(--dark_pink);

  display: inline-block;

  font-style: normal;

  -webkit-transform: rotate(3deg);

  -ms-transform: rotate(3deg);

  transform: rotate(3deg);

  position: relative;

}



.kv_btn_lead_em::after {

  display: inline-block;

  content: "　";

  background-image: url(/special/lp/assets/002/images/icon_type03.svg);

  background-size: contain;

  background-repeat: no-repeat;

  position: absolute;

  width: 0.7em;

  top: -.5em;

  right: .2em;

}



.pink_cv_btn {

  background-color: var(--dark_pink);

  color: #fff;

  font-size: min(5vw, 32px);

  font-weight: 700;

  display: block;

  padding: .7em 0;

  text-align: center;

  text-decoration: none;

  margin-bottom: 10px;

  border-radius: 2em;

  position: relative;

  -webkit-box-shadow: 1px 4px #802445;

  box-shadow: 1px 4px #802445;

  -webkit-transition: all .2s;

  transition: all .2s;

}



.pink_cv_btn::before {

  display: inline-block;

  content: "";

  width: .5em;

  height: .5em;

  border-top: 3px solid #fff;

  border-right: 3px solid #fff;

  -webkit-transform: rotate(45deg) translate(-50%, 0);

  -ms-transform: rotate(45deg) translate(-50%, 0);

  transform: rotate(45deg) translate(-50%, 0);

  position: absolute;

  top: 47%;

  right: 1em;

}



.pink_cv_btn:hover {

  -webkit-transform: translate(0, 4px);
  ;

  -ms-transform: translate(0, 4px);
  ;

  transform: translate(0, 4px);

  -webkit-box-shadow: 0 0 #802445;

  box-shadow: 0 0 #802445;

}



.nav {

  width: 100%;

}



.nav_list {

  display: -ms-grid;

  display: grid;

  -ms-grid-columns: 1fr 1fr 1fr 1fr;

  grid-template-columns: 1fr 1fr 1fr 1fr;

  border: 2px solid var(--blue);

  border-left: 2px solid var(--blue);

  border-right: 2px solid var(--blue);

  border-radius: 1em;

  -webkit-box-shadow: 0px 5px var(--blue);

  box-shadow: 0px 5px var(--blue);

  padding: 0.8em 0;

  background-color: #fff;

  margin-top: 15px;

  position: relative;

  z-index: 1;

}



.nav_list a {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: vertical;

  -webkit-box-direction: normal;

  -ms-flex-flow: column;

  flex-flow: column;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  text-align: center;

  text-decoration: none;

  color: var(--font_color);

  font-size: min(22px, 2.9vw);

  font-weight: 600;

  line-height: 1.25em;

  height: 100%;

  border-right: 2px solid var(--blue);

  padding: 0 .5em;

  -webkit-transition: all .3s;

  transition: all .3s;

}



.nav_list a:hover {

  color: #777;

}



.nav_list li:last-child a {

  border: none;

}



.nav_list a::after {

  display: block;

  content: "";

  background-color: var(--blue);

  background-image: url(/special/lp/assets/002/images/btn_arrow_bottom.svg);

  background-size: contain;

  background-repeat: no-repeat;

  background-position: center;

  border-radius: 50%;

  width: 1.6em;

  height: 1.6em;

  margin-top: .7em;

}



.nav_list a:hover::after {

  -webkit-transform: translate(0, 3px);

  -ms-transform: translate(0, 3px);

  transform: translate(0, 3px);

  -webkit-transition: -webkit-transform .2s;

  transition: -webkit-transform .2s;

  -o-transition: transform .2s;

}



@media all and (min-width: 500px) {

  .kv {

    padding: 66% 0 80px 0;

  }



  .kv .caption_text_right {

    margin-top: -1em;

  }



  .kv_btn_lead {

    margin: 1.4em 0 .5em;

  }



  .kv_btn_lead_em::after {

    top: -.65em;

  }



  .pink_cv_btn {

    padding: 1.15em 0;

  }



  .pink_cv_btn {

    -webkit-box-shadow: 1px 7px #802445;

    box-shadow: 1px 7px #802445;

  }



  .pink_cv_btn:hover {

    -webkit-transform: translate(0, 6px);
    ;

    -ms-transform: translate(0, 6px);
    ;

    transform: translate(0, 6px);

    transform: translate(0, 6px);

  }



  .kv_content {

    border: 4px solid #ffe5fc;

    border-radius: 20px;

  }

  .cta_note .note small {
    font-size: 18px;
  }

}



@media all and (min-width: 750px) {

  .kv {

    padding: 66% 0 80px 0;

  }



  /*.kv_plan_img {

    height: 586px;

  }*/



  .kv .caption_text_right {

    margin-top: 0;

  }



  .nav_list {

    margin-top: 15px;

    padding: 1.3em 0;

    border: 4px solid var(--blue);

    border-left: 4px solid var(--blue);

    border-right: 4px solid var(--blue);

    -webkit-box-shadow: 0px 8px var(--blue);

    box-shadow: 0px 8px var(--blue);

  }

}



/* --------------------

  Campaign PR

----------------------- */

.camp_pr_wave {

  display: block;

  width: 100%;

  height: 72px;

  margin: 1.5em 0 -3px;

  position: relative;

  z-index: 0;

  pointer-events: none;

}



/* --------------------

  about plan

----------------------- */

.about_plan {

  background-color: var(--sky_blue);

  padding: 20px 3%;

  margin-top: -2px;

}



.about_plan_ttl {

  text-align: center;

  margin-bottom: 24px;

}



.about_plan_ttl img {

  width: 100%;

  -o-object-fit: contain;

  object-fit: contain;

}



.about_plan_content_border {

  border: 2px solid #78e6f6;

  border-radius: 15px;

}



.about_plan_content {

  background-color: #fff;

  padding: 7% 3%;

  border: 2px solid var(--blue);

  border-radius: 13px;

}



.about_plan_price {

  margin: 0 5.5%;

}



.about_plan_price_img {

  background-image: url(/special/lp/assets/002/images/simplePlan_price.png);

  background-repeat: no-repeat;

  background-size: contain;

  background-position: center;

  height: calc(200 / 750 * 100vw);

  max-height: 207px;

}



.about_plan_price_img+.caption_text_right {

  margin-bottom: 5.5%;

  /*  font-size: min(15px, 2.5vw);*/

}



.about_plan_list {

  border-top: 1px solid #ddd;

  padding: 7% 0;

}



.about_plan_list_img_left {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-orient: horizontal;

  -webkit-box-direction: normal;

  -ms-flex-flow: row;

  flex-flow: row;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  padding: 0 2%;

}



.about_plan_list_img_left+.bule_rounded {

  margin-top: 10px;

}



.about_plan_list_desc {

  text-align: left;

  line-height: 2em;

  width: 100%;

  max-width: 12.9em;

  font-weight: 600;

  -webkit-font-feature-settings: "palt";

  font-feature-settings: "palt";

}





.normal_word {

  font-size: min(5vw, 28px);

  -webkit-font-feature-settings: "palt";

  font-feature-settings: "palt";

}



.about_plan_content .about_plan_list:last-of-type {

  border-bottom: 1px solid #ddd;

  margin-bottom: 15px;

}



.about_plan_list_icon {

  width: 15%;

  min-width: 50px;

  -o-object-fit: contain;

  object-fit: contain;

  -webkit-transform: scale(2);

  -ms-transform: scale(2);

  transform: scale(2);

  margin-right: 10px;

}



.about_plan_list_icon.dezaring {

  -webkit-transform: scale(2.3);

  -ms-transform: scale(2.3);

  transform: scale(2.3);

}



.normal_word {

  font-size: min(5vw, 28px);

  -webkit-font-feature-settings: "palt";

  font-feature-settings: "palt";

}



.about_plan_list_desc .strong_word {

  font-size: min(7vw, 42px);

}



sup {

  font-size: 12px;

  vertical-align: top;

  position: relative;

  top: -0.8em;

}



.bule_rounded {

  text-align: center;

  border: 1px solid var(--sky_blue);

  padding: 6px 1em;

  border-radius: 3em;

  line-height: 1.2em;

  -webkit-font-feature-settings: "palt";

  font-feature-settings: "palt";

  font-size: 14px;

  font-weight: 600;

}



.bule_rounded+.bule_rounded {

  margin-top: 5px;

}



.caption_text_top {

  font-size: 10px;

  position: relative;

  top: -1.4em;

}



.about_plan_five {

  display: inline-block;

  width: auto;

  height: 1.1em;

  -webkit-transform: translate(0, 5px);

  -ms-transform: translate(0, 5px);

  transform: translate(0, 5px);

}



.about_plan_20gb {

  display: inline-block;

  height: 2.5rem;

  padding: 0 3px;

  position: relative;

}



.under_line {

  position: relative;

}



.under_line::before {

  display: inline-block;

  content: "";

  width: 75px;

  height: 5px;

  background-color: var(--sky_blue);

  position: absolute;

  bottom: 0;

  left: -100%;

}



.about_plan_list_desc_add strong {

  font-size: 3rem;

}



.caption_text_top.oversea {

  top: -1.75rem;

}



@media all and (min-width: 390px) {

  .about_plan_list_desc {

    max-width: 13.3em;

  }

}



@media all and (min-width: 400px) {

  .about_plan_list_desc {

    max-width: 16em;

  }

}



@media all and (min-width: 500px) {

  .about_plan {

    padding: 30px 3%;

  }



  .about_plan_list_desc {

    max-width: 19em;

  }



  .about_plan_content_border {

    border: 3px solid #78e6f6;

    border-radius: 24px;

  }



  .about_plan_content {

    border: 3px solid var(--blue);

    border-radius: 20px;

  }



  .about_plan_list_icon {

    margin-right: 20px;

  }



  .bule_rounded {

    font-size: 16px;

    max-width: 460px;

    margin: 0 auto;

  }



  .about_plan_list_desc {

    line-height: 2.75em;

  }

}



@media all and (min-width: 750px) {

  .about_plan_ttl {

    margin-bottom: 48px;

  }

}



/* --------------------

  LINE

----------------------- */

.line {

  background-color: var(--sky_blue);

}



.line_content {

  background-color: #fff;

  padding: 30px 3%;

}









.line_content h2 {

  text-align: center;

  margin-bottom: 15px;

}



.line_content h2 img {

  object-fit: contain;

  width: 78%;

  max-width: 500px;

  margin: 0 auto;

}



.line_btn {

  width: 90%;

  max-width: 560px;

  margin: 0 auto;

  background-color: #00c302;

  color: #fff;

  font-size: min(5vw, 32px);

  font-weight: 600;

  display: block;

  padding: .85em 0;

  text-align: center;

  text-decoration: none;

  margin-bottom: 10px;

  border-radius: 2em;

  position: relative;

  -webkit-box-shadow: 1px 4px #018e04;

  box-shadow: 1px 4px #018e04;

  -webkit-transition: all .2s;

  transition: all .2s;

}



.line_btn::before {

  display: inline-block;

  content: "";

  width: .5em;

  height: .5em;

  border-top: 3px solid #fff;

  border-right: 3px solid #fff;

  -webkit-transform: rotate(45deg) translate(-50%, 0);

  -ms-transform: rotate(45deg) translate(-50%, 0);

  transform: rotate(45deg) translate(-50%, 0);

  position: absolute;

  top: 47%;

  right: 1em;

}



.line_btn::after {

  display: block;

  content: "";

  background-image: url(/special/lp/assets/002/images/hukidashi_line.png);

  background-size: contain;

  background-repeat: no-repeat;

  width: 16vw;

  max-width: 90px;

  height: 16vw;

  max-height: 90px;

  position: absolute;

  top: -6px;

  left: -10px;

}



.line_btn:hover {

  -webkit-transform: translate(0, 4px);
  ;

  -ms-transform: translate(0, 4px);
  ;

  transform: translate(0, 4px);

  -webkit-box-shadow: 0 0 #047660;

  box-shadow: 0 0 #047660;

}



@media all and (min-width: 500px) {

  .line_btn {

    padding: 1em 0;

  }

}





/* --------------------

  process

----------------------- */

.process {

  background-color: var(--sky_blue);

  padding: 20px 3% 70px;

  font-weight: 600;

}



.process_content {

  background-color: #fff;

  border: 2px solid #ff6880;

  border-radius: 15px;

  padding: 5%;

}



.process_ttl {

  text-align: center;

  line-height: 1.75em;

  font-size: min(3.8rem, 6.5vw);

  font-weight: 600;

}



.process_ttl_lead::before,

.process_ttl_lead::after {

  display: inline-block;

  content: "";

  background-repeat: no-repeat;

  background-size: contain;

  background-position: center;

  width: 1em;

  height: 1em;

  -webkit-transform: translate(0, 5px);

  -ms-transform: translate(0, 5px);

  transform: translate(0, 5px);

}



.process_ttl_lead::before {

  background-image: url(/special/lp/assets/002/images/icon_type01.svg);

}



.process_ttl_lead::after {

  background-image: url(/special/lp/assets/002/images/icon_type02.svg);

}



.process_ttl_strong {

  font-size: min(4.8rem, 9vw);

}



.process_point_wrap {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  gap: .5rem;

  border-top: 2px solid #ffa3b5;

  border-bottom: 2px solid #ffa3b5;

  margin: 16px 0 24px;

  padding: 12px 0;

}



.process_point_wrap img {

  -o-object-fit: contain;

  object-fit: contain;

  width: 20%;

  -webkit-transform: scale(.6);

  -ms-transform: scale(.6);

  transform: scale(.6);

}



.process_points {

  font-size: 15px;

  line-height: 1.6em;

}



.process_points li::before {

  display: inline-block;

  content: "";

  background-image: url(/special/lp/assets/002/images/icon_check.svg);

  background-repeat: no-repeat;

  background-size: contain;

  width: 1em;

  height: 1em;

  -webkit-transform: translate(-.2em, .2em);

  -ms-transform: translate(-.2em, .2em);

  transform: translate(-.2em, .2em);

}






.step {

  text-align: center;

  background-color: #dbf6ff;

  border: 2px solid var(--sky_blue);

  border-bottom: none;

  border-radius: 15px 15px 0 0;

  padding: .5em 0;

}



.step img {

  display: block;

  margin: 0 auto;

  width: auto;

  height: 16px;

}



.step_desc {

  border: 2px solid var(--sky_blue);

  border-top: none;

  border-radius: 0 0 15px 15px;

  padding: 8% 3%;

  font-size: min(3.2rem, 5vw);

  line-height: 1.3em;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

}



.step_desc em {

  font-style: normal;

}



.step_desc .caption_text_left {

  color: #6f6f6f;

}



.down_triangle {

  width: 0;

  height: 0;

  margin: 15px auto;

  border-style: solid;

  border-width: 18px 35px 0 35px;

  border-color: #0190d7 transparent transparent transparent;

}



.process_caption {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  font-size: min(2.8rem, 5vw);

  line-height: 1.25em;

  border-top: 2px solid #ddd;

  padding: 34px 0 22px;

  margin-top: 40px;

}



.process_caption img {

  -o-object-fit: contain;

  object-fit: contain;

  -ms-flex-negative: 0;

  flex-shrink: 0;

  width: 2em;

  margin-right: 10px;

}



@media all and (min-width: 500px) {

  .process {

    padding: 40px 3% 120px;

  }



  .process_content {

    border: 3px solid var(--dark_pink);

    border-radius: 20px;

  }



  .process_point_wrap {

    margin: 28px 0;

    padding: 0;

  }



  .process_points {

    font-size: 20px;

  }



  .step {

    border: 3px solid var(--sky_blue);

    border-bottom: none;

    border-radius: 20px 20px 0 0;

  }



  .step img {

    width: auto;

    height: 20px;

  }



  .step_desc {

    padding: 3%;

    border: 3px solid var(--sky_blue);

    border-top: none;

    border-radius: 0 0 20px 20px;

  }



  .step_desc img {

    margin-right: 20px;

  }



  .process_caption img {

    margin-right: 20px;

  }



  .process_caption {

    padding: 40px 0 18px;

  }

}



@media all and (min-width: 750px) {

  .process_points {

    font-size: 24px;

  }

}





/* --------------------

  identity_doc

----------------------- */

.identity_doc {

  background-color: #f6f6f6;

  padding: 40px 3%;

  font-weight: 600;

}



.identity_doc_wave {

  display: block;

  max-width: 750px;

  width: 100%;

  margin: -64px auto 0;

  -o-object-fit: cover;

  object-fit: cover;

  -webkit-transform: translate(0, 2px);

  -ms-transform: translate(0, 2px);

  transform: translate(0, 2px);

}



.identity_doc_content {

  background-color: #fff;

  border: 3px solid var(--sky_blue);

  border-radius: 15px;

  padding: 8% 7%;

}



.identity_doc_ttl {

  text-align: center;

  font-size: min(2.8rem, 5.5vw);

  margin-bottom: 1.8em;

  font-weight: 600;

}



.identity_doc_ttl img {

  width: 1.5em;

  height: 1.5em;

  margin: 0 auto 8px;

}



.identity_doc_sub_ttl {

  font-size: min(4.2rem, 8vw);

  color: var(--blue);

  text-align: center;

  font-weight: 600;

}



.identity_doc_sub_ttl+p {

  text-align: center;

  margin: .5em 0 1.5em;

  font-size: 16px;

}



.identity_doc_example {

  width: 100%;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -ms-flex-wrap: wrap;

  flex-wrap: wrap;

  gap: 0 20px;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

}



.identity_doc_example li {

  width: calc(50% - 10px);

  text-align: center;

}



.identity_doc_example li:last-child figure {

  margin: 0 auto;

}



.identity_doc_example figure {

  margin-bottom: 2rem;

}



.identity_doc_example figcaption {

  font-size: 15px;

}



.identity_doc_example img {

  -o-object-fit: contain;

  object-fit: contain;

  width: 100%;

}



.identity_doc_wave.reverse {

  -webkit-transform: rotate(180deg) translate(0, 5px);

  -ms-transform: rotate(180deg) translate(0, 5px);

  transform: rotate(180deg) translate(0, 5px);

  position: relative;

  z-index: 2;

  margin: 0 auto 0;

}

.identity_doc .cta_bg {
  margin-top: 0;
}



@media all and (min-width: 400) {

  .identity_doc_wave {

    margin-top: -67px;

  }

}



@media all and (min-width: 500px) {

  .identity_doc {

    padding: 60px 3%;

    position: relative;

    z-index: 2;

  }



  .identity_doc_content {

    padding: 5% 7%;

    border-radius: 20px;

  }



  .identity_doc_wave {

    margin-top: -92px;

  }



  .identity_doc_ttl img {

    margin: 0 auto 14px;

  }



  .identity_doc_example {

    gap: 0 80px;

  }



  .identity_doc_example li {

    width: calc(50% - 40px);

  }



  .identity_doc_example figcaption {

    font-size: 16px;

  }



  .identity_doc_sub_ttl+p {

    font-size: 20px;

  }

}



@media all and (min-width: 600px) {

  .identity_doc_wave {

    margin-top: -97px;

  }

}



/* --------------------

  oomori

----------------------- */

.oomori {

  background-color: var(--sky_blue);

  padding: 30px 3% 40px;

  margin-top: -3px;

}



.oomori_content {

  background-color: #fff;

  border-radius: 16px;

  border: 3px solid #fedefa;

  padding: 12% 3% 10%;

  position: relative;

  z-index: 2;

}



.oomori_content::after {

  content: "";

  position: absolute;

  top: 0;

  bottom: 0;

  left: 0;

  right: 0;

  border: 3px solid #fd5d60;

  z-index: -1;

  border-radius: 13px;

}



.oomori_ttl {

  position: absolute;

  top: -1em;

  left: 50%;

  -webkit-transform: translate(-50%, 0);

  -ms-transform: translate(-50%, 0);

  transform: translate(-50%, 0);

  background-color: #fff;

  border: 3px solid #fd5d60;

  border-radius: 1.5em;

  color: #fd5d60;

  text-align: center;

  font-size: min(2.8rem, 4.5vw);
  ;

  padding: .3em 1.25em;

  word-break: keep-all;
  ;

  width: -webkit-fit-content;
  ;

  width: -moz-fit-content;
  ;

  width: fit-content;

  font-weight: 600;

}



.oomori_content_ttl {

  font-size: 2.6rem;

  -webkit-transform: translate(0, -5px);

  -ms-transform: translate(0, -5px);

  transform: translate(0, -5px);

  font-weight: 900;

}



.oomori_option_img {

  background-image: url(/special/lp/assets/002/images/oomiriPrice002.png);

  background-size: contain;

  background-repeat: no-repeat;

  background-position: top center;

  height: calc(335 / 617 * 80vw);

  margin: 10px 0;

}



.oomori_ttl_wrap {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;

  font-size: min(2.8rem, 5vw);

  line-height: 1.25em;

  border-top: 2px solid #ddd;

  padding: 40px 0 15px;

  margin-top: 45px;

  font-weight: 600;

}



.oomori_ttl_wrap img {

  -o-object-fit: contain;

  object-fit: contain;

  -ms-flex-negative: 0;

  flex-shrink: 0;

  width: 2em;

  margin-right: 12px;

}



.oomori_subTtl {

  font-size: 1.8rem;

  text-align: center;

  color: #fd5d60;

  margin: 14px 0 12px;

}



.oomori_option_img2 img {

  max-width: 100%;

  width: 96%;

  margin: 0 auto 50px;

}



.oomori_text_img img {

  margin: 0 auto;

  width: 83%;

  max-width: 453px;

}



.oomori_option_img_text {

  text-align: center;

  margin: 10px auto 25px;

  display: block;

}



.oomori_points {

  padding: 0 20px;

  font-weight: 600;

  font-size: 15px;

  line-height: 1.3;

  width: fit-content;

  margin: 0 auto;

}



.oomori_points li {

  padding: 3px 0;

}





.oomori_points li::before {

  display: inline-block;

  content: "";

  background-image: url(/special/lp/assets/002/images/icon_check_blue.svg);

  background-repeat: no-repeat;

  background-size: contain;

  width: 1em;

  height: 1em;

  -webkit-transform: translate(-.2em, .2em);

  -ms-transform: translate(-.2em, .2em);

  transform: translate(-.2em, .2em);

}

.oomori_content .cta_txt {
  padding-top: 3em;
  margin-bottom: calc(10 / 750 * 100svw);
  border-top: 3px solid #ccc;
}


.cta_content {
  width: 100%;

  min-height: 58%;

  margin: 2em auto 0;

  padding: 5% 3%;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-orient: vertical;

  -webkit-box-direction: normal;

  -ms-flex-flow: column;

  flex-flow: column;

  -webkit-box-pack: justify;

  -ms-flex-pack: justify;

  justify-content: space-between;

  background-color: #fff;

  border: 2px solid #ffe5fc;

  border-radius: 14px;
}

.cta_content .kv_btn_wrap_another {
  width: 100%;
}

.ctaarea {
  margin-top: 2em;
}

.ctaarea .kv_btn_lead {
  width: fit-content;
  margin: 1em auto 0.25em;
}

.ctaarea .caption_text_left,
.cta_content .caption_text_left {
  width: fit-content;
  margin: 15px auto 0;
}

.ctaarea .caption_text_left li,
.cta_content .caption_text_left li {
  padding-left: 1.7em;
  text-indent: -1.7em;
}



.cv_area .kv_btn_lead {
  width: fit-content;
  margin: 1em auto 0.25em;

}







@media all and (min-width: 500px) {

  .oomori {

    padding: 50px 3% 70px;

  }



  .oomori_option_img {

    margin-top: 0;

    height: 363px;

  }



  .oomori_content_ttl {

    font-size: 5rem;

    font-weight: 800;

  }



  .oomori_points {

    font-size: 20px;

  }



  .oomori_ttl_wrap {

    padding-bottom: 30px;

  }



  .oomori_ttl_wrap img {

    margin-right: 20px;

  }

}



@media all and (min-width: 680px) {

  .oomori_points {

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    gap: .5em 1em;

    -ms-flex-pack: distribute;

    justify-content: space-around;

    -ms-flex-wrap: wrap;

    flex-wrap: wrap;

    padding: 0 20px 40px 30px;

    line-height: 1.3;

    width: 100%;

  }



  .oomori_content {

    padding-bottom: 5%;

  }



  .oomori_subTtl {

    font-size: 3.4rem;

    margin: 14px 0 20px;

  }

}



@media all and (min-width: 750px) {

  .oomori_option_img {

    height: 210px;

    width: auto;

    margin: auto;

  }



  .oomori_option_img {

    height: 363px;

  }



  .oomori_option_img_text {

    margin: 10px auto 50px;

  }

}


.cta_bg {
  margin: 3em 0 0;
  padding: 2em;
  background-color: #fff;
  border-radius: 1em;
  box-shadow: 0px 0px 16px 3px #d5d3cc;
}

.cta_bg .cta_txt {
  padding: 0 0 .5em;
  display: block;
}

.cta_note {
  padding-top: 1.3em;
}

/* --------------------

  faq

----------------------- */

.faq {

  background-color: var(--sky_blue);

  padding: 15% 3% 40px;

  margin-top: -15%;

  position: relative;

  z-index: 0;

  overflow: hidden;

}



.faq::before {

  display: block;

  content: "";

  background-image: url(/special/lp/assets/002/images/cont_bg_type02.png);

  background-size: 100% auto;

  background-position: 0 -70px;

  width: 100%;

  height: 100%;

  position: absolute;

  top: 0;

  left: 0;

  opacity: 0.5;

  z-index: 1;

}



.faq_wrap {

  position: relative;

  z-index: 2;

}



.faq_ttl {

  text-align: center;

  margin-bottom: .5em;

}



.faq_ttl img {

  display: inline;

  min-width: 230px;

  width: 50%;

  position: relative;

  z-index: 5;

}



.faq_content {

  background-color: #fff;

  border-radius: 14px;

  padding: 5% 3%;

  position: relative;

}



.faq_content details {

  border: 1px solid var(--blue);

  border-radius: 12px;

  margin-bottom: 10px;

  overflow: hidden;

}



.faq_content details:last-child {

  margin-bottom: 0;

}



.faq_content details summary {

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  background-color: #e0f7ff;

  padding: 1em 2em 1em .7em;

  position: relative;

  font-weight: 600;

  font-size: 16px;

  line-height: 1.3;

}



.faq_content details summary::-webkit-details-marker {

  display: none;

}



.faq_content details summary img {

  margin-right: .7em;

  width: 2em;

  height: 2em;

}



.toggle_sign::before,

.toggle_sign::after {

  display: inline-block;

  content: "";

  width: 16px;

  height: 2px;

  background-color: var(--blue);

  border-radius: 1px;

  position: absolute;

  top: 50%;

  right: .7em;

}



.accordion .toggle_sign::after {

  -webkit-transform: rotate(90deg);

  -ms-transform: rotate(90deg);

  transform: rotate(90deg);

  -webkit-transition: all .2s;

  transition: all .2s;

  -o-transition: all .2s;

}



.accordion[open] .toggle_sign::after {

  -webkit-transform: rotate(0);

  -ms-transform: rotate(0);

  transform: rotate(0);

}



.faq_content details p {

  padding: 1em;

  -webkit-font-feature-settings: "palt";

  font-feature-settings: "palt";

}



.text_bold {

  font-weight: bold;

}



.faq .caption_text_left {

  font-size: 14px;

  color: #5c5c5c;

  line-height: 1.25em;

  display: inline-block;

}



.faq a {

  color: var(--blue);

}



.accordion_content p:last-child {

  padding-bottom: 30px;

}



/* --- アコーディオンアニメーション用 --- */

.accordion {

  list-style: none;

  overflow: hidden;

  height: var(--acc-height--closed, auto);

  -webkit-transition: height .25s;

  -o-transition: height .25s;

  transition: height .25s;

  -webkit-box-sizing: border-box;

  box-sizing: border-box;

}



.accordion.is-opened {

  height: var(--acc-height--opened, auto);

}



.accordion+.accordion {

  margin-top: -1px;

}



.accordion__title::after {

  content: "";

  display: block;

  width: 1em;

  height: 1em;

  margin: 0 .5em;

  background-color: currentColor;

  -webkit-clip-path: polygon(50% 80%, 0 20%, 100% 20%);

  clip-path: polygon(50% 80%, 0 20%, 100% 20%);

  -webkit-transition: -webkit-transform .25s;

  transition: -webkit-transform .25s;

  -o-transition: transform .25s;

}



.accordion.is-opened>.accordion__title::after {

  -webkit-transform: rotate(180deg);

  -ms-transform: rotate(180deg);

  transform: rotate(180deg);

}



.accordion__content {

  padding: 1em;

}

/* --- End アコーディオンアニメーション用 --- */





@media all and (min-width: 500px) {

  .faq {

    padding: 100px 3% 60px;

    margin-top: -100px;

  }



  .faq::after {

    top: 70px;

    -webkit-transform: scale(1);

    -ms-transform: scale(1);

    transform: scale(1);

  }



  .faq_ttl img {

    max-width: 235px;

  }



  .faq_content {

    border-radius: 20px;

  }



  .faq_content details {

    border-radius: 14px;

  }



  .faq_content details summary {

    font-size: 20px;

    line-height: 1.5;

  }




  .faq_content details summary img {

    margin-right: .5em;

    width: 3em;

    height: 3em;

  }



  .faq_content details summary {

    padding: 1em 3em 1em 1em;

  }



  .toggle_sign::before,

  .toggle_sign::after {

    display: inline-block;

    content: "";

    width: 20px;

    height: 3px;

    background-color: var(--blue);

    border-radius: 2px;

    position: absolute;

    top: 50%;

    right: .7em;

  }

}





@media all and (min-width: 600px) {

  .faq_ttl img {

    max-width: 280px;

  }

}





/* --------------------

  footer

----------------------- */

footer {

  max-width: 750px;

  margin: 0 auto;

  padding: 3em 3% 0;

  text-align: center;

  background-color: #fff;

}



footer .kv_btn_lead,

.cv_area .kv_btn_lead {

  -webkit-transform: scale(0.8);

  -ms-transform: scale(0.8);

  transform: scale(0.8);

  margin-bottom: 0;

}



footer small {

  display: inline-block;

  padding-top: 50px;

}



.ahamo_link_btn {

  margin: 0;

  padding: 0 !important;

  text-align: center;

  text-decoration: underline;

  color: #00a0e9;

  font-size: 3.6vw;

  font-weight: 600;

  display: block;

}

@media all and (min-width: 500px) {

  .ahamo_link_btn {

    font-size: 24px;

  }

}

.ahamo_link_btn:hover {

  text-decoration: none;

}



.ahamo_link_icon {

  margin-left: 15px;

}



.cv_area {

  max-width: 750px;

  position: fixed;

  bottom: 0;

  left: 50%;

  text-align: center;

  z-index: 99;

  display: none;

  width: 100%;

  padding: 15px 0;

  -webkit-transform: translateX(-50%);

  -ms-transform: translateX(-50%);

  transform: translateX(-50%);

}



.black_cv_btn {

  background-color: var(--dark_pink);

  color: #fff;

  font-size: min(5vw, 28px);

  font-weight: 700;

  display: block;

  padding: .5em;

  text-align: center;

  text-decoration: none;

  margin: 0 auto;

  border-radius: 2em;

  -webkit-box-shadow: 1px 4px #802445;

  box-shadow: 1px 4px #802445;

  width: 80vw;

  max-width: calc(750px * 0.8);

  -webkit-transition: all .3s;

  -o-transition: all .3s;

  transition: all .3s;

}



.cv_area.cv_area_fade {

  display: block;

  background-color: #fff;

}



.cv_area .black_cv_btn,

.cv_area .kv_btn_lead {

  opacity: 0;

  -webkit-transition: all .3s;

  -o-transition: all .3s;

  transition: all .3s;

  margin-top: 0;

}



.cv_area.cv_area_fade .black_cv_btn,

.cv_area.cv_area_fade .kv_btn_lead {

  opacity: 1;

}



.black_cv_btn:hover {

  -webkit-transform: translate(0, 2px);

  -ms-transform: translate(0, 2px);

  transform: translate(0, 2px);

  -webkit-box-shadow: 0 1px #6a6a6a;

  box-shadow: 0 1px #6a6a6a;

}





@media all and (min-width: 500px) {

  footer .kv_btn_lead,

  .cv_area .kv_btn_lead {

    margin-bottom: 5px;

  }



  .black_cv_btn {

    padding: .75em;

    width: 60vw;

  }



  footer small {

    padding-top: 70px;

  }

}



@media all and (min-width: 750px) {

  .cv_area {

    padding: 20px 0 30px;

  }

  .ahamo_link_icon {

    margin-left: 10px;

  }

}





/* --------------------

  fade Animation

----------------------- */

.fade-in {

  opacity: 0;

  transition-duration: 500ms;

  transition-property: opacity, transform;

}



.fade-in-up {

  transform: translate(0, 100px);

}



.scroll-in {

  opacity: 1;

  transform: translate(0, 0);

}





/* --------------------

add 260210

-------------------- */

/* reset */

.kv {

  padding: 2em 0;

}

.kv::after {

  display: none;

}





/* --------------------

  キャンペーン追加

-------------------- */

.bg_light_green {

  padding-bottom: 4em;

  background-color: #e1fff5;

  max-width: 750px;

  margin: 0 auto;

}






.camp_header {

  background-color: #fd5d60;

  display: block;

  padding: 10px;

}

.camp_header_cont {

  width: 100%;

  max-width: 1102px;

  margin: 0 auto;

}



.camp_header_cont img {

  object-fit: contain;

}



.norikae {

  margin: 0 auto 0;

}



.norikae2 {

  margin: -50px auto 0;

  padding-top: 50px;

}



.norikae,

.norikae2 {

  max-width: calc(100% - 3% * 2);

}



.norikae_info {

  padding: 30px 0 20px;

  position: relative;

}



.norikae_info .norikae_info_cont {

  position: relative;

  padding-bottom: 0;

}



.norikae_info_cont p {

  position: absolute;

  bottom: 0.8em;

  color: #fff;

  width: 100%;

  font-size: 9px;

  text-align: center;

  text-shadow: 1px 1px 0 #42050d, -1px -1px 0 #42050d,

    -1px 1px 0 #42050d, 1px -1px 0 #42050d,

    0px 1px 0 #42050d, 0-1px 0 #42050d,

    -1px 0 0 #42050d, 1px 0 0 #42050d;

}



.norikae_info_cont p a {

  color: #e6ba03;

}



.norikae_info2 {

  margin: 30px 0 0;

}



.norikae_btn {

  background-color: #019bff;

  border-radius: 999px;

  color: #fff;

  text-align: center;

  font-size: min(2em, 5.6vw);

  font-weight: 600;

  line-height: 1;

  display: block;

  position: relative;

  padding: 1.25em 1.5em;

  margin: 10px auto;

  text-decoration: none;

  transition: all .3s;

  box-shadow: 2px 5px 0px #09466A;

}



.norikae_btn:hover {

  transform: translate(0, 3px);

  box-shadow: 2px 2px 0px #09466A;

}



.norikae_btn::before {

  display: block;

  content: "";

  width: 10px;

  height: 10px;

  border-top: 2px solid #fff;

  border-right: 2px solid #fff;

  transform: rotate(45deg) translate(0, -50%);

  position: absolute;

  top: 50%;

  right: 8%;

}



.notice {

  font-style: normal;

  color: #777;

  font-size: min(16px, 2.5vw);

  text-align: center;

}



.sns_area .style_flex img {

  object-fit: contain;

}



.camp_ttl {

  margin: 0 auto;

}



@media all and (min-width: 750px) {

  .norikae,

  .norikae2 {

    max-width: calc(100% - 38px* 2);

  }



  .norikae_info {

    padding: 50px 0 50px;

  }



  .norikae_info_cont p {

    font-size: 1.6rem;

  }

}







/* contents */

.kv .pageTtlArea {

  position: relative;

  height: 490px;

}

@media all and (max-width: 750px) {

  .kv .pageTtlArea {

    height: 242px;

  }

}

.kv .pageTtlArea .pageTtl {

  margin: 0 auto;

  position: absolute;

  z-index: -1;

}



.docomoPlans {

  margin: 0 auto;

  padding: 3.2em 0 0;

  background-color: #fff;

}

.docomoPlans .ttlArea {

  color: #000;

  padding: 0 0 3em;

  background: url(/special/lp/assets/002/images/docomoPlans_bg1.png) no-repeat center bottom -1px / 100% auto;

}

.docomoPlans .ttlArea .ttl {

  text-align: center;

  line-height: 1.2;

  font-size: 5.8666vw;

  font-weight: 900;

}

@media screen and (min-width:751px) {

  .docomoPlans .ttlArea .ttl {

    font-size: 45px;

  }

}

.docomoPlans .bg1 {

  padding: 2em 0;

  background-color: #000;

}

.docomoPlans .mainCopy {

  margin-bottom: 2em;

  text-align: center;

  color: #fff;

}

.docomoPlans .mainCopy p {

  line-height: 1.3;

  font-size: 4.2666vw;

  font-weight: 700;

}

@media screen and (min-width:751px) {

  .docomoPlans .mainCopy p {

    font-size: 35px;

  }

}

.docomoPlans .mainCopy .txt {

  margin-bottom: 0;

}

.docomoPlans .plans {

  margin-bottom: 2.5em;

  display: flex;

  flex-wrap: wrap;

  justify-content: center;

  gap: .65em 2.6%;

}

.docomoPlans .plans .plan {

  width: 44.334%;

}

.docomoPlans .plans .plan a {

  text-decoration: none;

}

.docomoPlans .noteArea1 {

  width: 90%;

  margin: 0 auto;

  text-align: left;

  color: #fff;

}

.docomoPlans .noteArea1 small {

  display: block;

}





/* --------------------

add 260309

-------------------- */

.kv .pageTtlArea {

  height: 65.3333vw;

}

@media screen and (min-width:751px) {

  .kv .pageTtlArea {

    height: 490px;

  }

}



/* --------------------

add 260326

-------------------- */

.kv {

  padding: 0;

}

.kv .pageTtlArea {

  height: auto !important;

  position: relative;

  z-index: 1;

}

.kv .pageTtlArea .pageTtl {

  position: relative;

  z-index: 1;

}

.kv .bg1 {

  padding: 0 0 3em;

  background: url(/special/lp/assets/002/images/fv_bg1.jpg) no-repeat center top / 100% 100%;

}

.kv .txtArea1 {

  margin-bottom: 2em;

  background-color: #fff;
  padding: 1em 0;
  border-radius: 0 0 min(calc(60 / 750 * 100svw), 60px) 0;

}

.kv .txtArea1 .txt1 {

  width: 100%;

  margin: 0 auto 1em;

  display: block;

}

.kv .txtArea1 .noteArea {
  width: 80%;
  margin: 0 auto;
  font-size: min(15px, 2.5vw);
  line-height: 1.4;
}



.docomoPlans {

  margin: 0 auto;

  padding: 3.2em 0 0;

  background-color: #FFF4EF;

}

.docomoPlans .ttlArea {

  margin-bottom: 0;

  padding-bottom: 0;

  text-align: center;

  background: none;

}

.docomoPlans .ttlArea .ttl {

  font-family: 'Noto Sans JP', sans-serif;

  text-align: left;

  font-weight: 900;

  line-height: 1.7;

  display: inline-block;

  font-size: 1.9rem;

}

.docomoPlans .ttlArea .ttl .heading-wrap {

  display: inline-flex;

}



.chars-row {

  display: inline-flex;

  align-items: flex-end;

}



.char-cell {

  position: relative;

  display: inline-flex;

  align-items: center;

}



.dot {

  position: absolute;

  top: -7px;

  left: 50%;

  transform: translateX(-50%);

  width: 1.1vw;

  aspect-ratio: 1 /1;

  border-radius: 50%;

  background: #cc0000;

}

@media screen and (min-width:751px) {

  .dot {

    width: 7px;

  }

}

.char {

  font-weight: 900;

  font-size: 1.9rem;

  color: #cc0000;

  line-height: 1;

}

.docomoPlans .bg1 {

  padding: 1em 0 2em;

  background-color: #FFF4EF;

}

.docomoPlans .plans {

  margin-bottom: .8em;

  display: flex;

  flex-wrap: wrap;

  justify-content: center;

  gap: .65em 2.6%;

}

.docomoPlans .plans .plan {

  width: 44.334%;

}

.docomoPlans .plans .plan a {

  text-decoration: none;

}



.docomoPlans .plansCol01 {

  width: 91%;

  margin: 0 auto 1em;

}



.docomoPlans .noteArea1 {

  width: 90%;

  margin: 0 auto;

  text-align: left;

  color: #000;

  font-size: 1.2rem;

  line-height: 1.7;

  padding-left: 1em;

  text-indent: -1em;

}

@media screen and (min-width:751px) {

  .docomoPlans .ttlArea .ttl,
  .char {

    font-size: 4.6rem;

  }

  .docomoPlans .bg1 {

    padding: 2.5em 0;

  }

  .docomoPlans .noteArea1 {

    font-size: 1.8rem;

  }

}

.docomoPlans .noteArea1 small {

  display: block;

}





/* --------------------

add 260407

-------------------- */



/* rest */

.addcamp .norikae2 {

  margin-top: 0;

}

.norikae_info,

.norikae_info2 {

  padding: 0 !important;

  margin: 0 !important;

}

.norikaeCp .norikae_info,

.norikaeCp .norikae_info2 {

  padding: 0 !important;

}

.norikaeCp .norikae_info .note {

  color: #3b4043;

  text-shadow: none;

  position: static;

}

.norikaeCp .norikae_info .note a {

  color: #3b4043;

}

/* add */

.addcamp {

  padding: 3em 0 0;

  overflow: visible;

}

.addcamp .ttlArea {

  margin: 0 0 1em;

}

.addcamp .ttlArea .ttl {

  width: 84%;

  margin: 0 auto;

}

.addcamp #norikae_camp {

  padding: 0;

  margin: 0 auto 2em;

}

.addcamp #norikae_camp .norikae_info_cont {

  border-radius: 2.8vw;

  overflow: hidden;

}

@media (min-width: 769px) {

  .addcamp #norikae_camp .norikae_info_cont {

    border-radius: 25px;

  }

}

.addcamp #norikae_camp .note {

  padding-top: .5em;

  position: relative;

}



.addcamp #norikae_camp2 {

  padding: 0 !important;

  margin: 0 auto;

}

/* --------------------

add 260416

-------------------- */
.starlink-bnr-sec {
  background-color: #fff;
}

.starlink-cont {
  padding: 3.2em 0;
}

.starlink-ttl {
  width: 94%;
  margin: 0 auto;
  text-align: center;
  font-size: min(5.5vw, 40px);
}

.starlink-img {
  margin-top: 20px;
}

@media screen and (min-width: 751px) {
  .starlink-img {
    margin-top: 30px;
  }
}

.starlink-text-left {
  width: 94%;
  margin: 0 auto;
  margin-top: 4vw;
  font-size: 1.2rem;
  line-height: 1.4em;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  padding-left: 1em;
  text-indent: -1em;
  font-weight: 400;
}

@media screen and (min-width: 751px) {
  .starlink-text-left {
    margin-top: 20px;
    font-size: 1.8rem;
  }
}

.starlink-text-left small {
  display: block;
}


/* --------------------

add 260518

-------------------- */
.addcamp #norikae_camp2 {
  padding: 0 !important;
  margin: 0 auto 2em;
}

.dazn_bnr_cont {
  padding: 0 !important;
  margin: 0 auto;
  max-width: calc(100% - 3% * 2);
}

@media (min-width: 750px) {
  .dazn_bnr_cont {
    max-width: calc(100% - 38px * 2);
  }
}

.dazn_bnr_cont .dazn_bnr_img {
  border-radius: 3vw;
  overflow: hidden;
  display: block;
  line-height: 1;
}

@media (min-width: 750px) {
  .dazn_bnr_cont .dazn_bnr_img {
    border-radius: 20px;
  }
}

.survey {
  padding: 0 min(calc(24 / 750 * 100svw), 24px) min(calc(60 / 750 * 100svw), 60px);
  background-color: #a9e6fb;
}

.toggle {
  position: relative;
  z-index: 2;
  border: 0.4vw solid #000;
  border-radius: calc(14 / 375 * 100svw);
  background-color: #fff;
}

.toggleBtn {
  position: relative;
  padding: min(calc(18 / 375 * 100svw), 28px);
  cursor: pointer;
}

.toggleBtn::before,
.toggleBtn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: min(calc(9 / 375 * 100svw), 28px);
  z-index: 1;
  width: min(calc(35 / 350 * 100%), 56px);
  aspect-ratio: 1 / 1;
  background: url(data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22line-minus2.svg%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2035.86%205%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.cls-1%20%7B%20fill%3A%20none%3B%20stroke%3A%20%23000%3B%20stroke-linecap%3A%20round%3B%20stroke-width%3A%205px%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cpath%20id%3D%22_%E3%82%B7%E3%82%A7%E3%82%A4%E3%83%97_15%22%20data-name%3D%22%E3%82%B7%E3%82%A7%E3%82%A4%E3%83%97%2015%22%20class%3D%22cls-1%22%20d%3D%22M2.5%2C2.5h30.86%22%2F%3E%3C%2Fsvg%3E) no-repeat center / 53% auto;
  background-color: transparent;
  border-radius: 50%;
  transition: all .3s;
  border: .2666vw solid #000;
}

.toggleBtn::before {
  transform: translateY(-50%) rotate(-90deg);
}

.toggleBtn::after {
  transform: translateY(-50%);
}

.toggleBtn .ttl {
  font-size: min(3.73vw, 23px);
  text-align: center;
}

.toggleCont {
  display: block;
  height: 0;
  overflow: hidden;
  transition: height 0.3s ease-out;
}

.toggleContInner {
  padding: min(calc(18 / 375 * 100svw), 28px);
}

.toggleCont table {
  width: 100%;
  margin-bottom: 2em;
  border: 1px solid #d2d2d2;
  border-left: none;
  border-collapse: collapse;
}

.toggleCont th {
  padding: 0.3em 1em;
  background-color: #dcdcdc;
  border-bottom: 1px solid #fff;
  font-size: min(3.47vw, 19px);
  font-weight: 500;
  white-space: nowrap;
  vertical-align: top;
  line-height: 1.6;
}

.toggleCont td {
  padding: 0.3em 0.5em;
  border-bottom: 1px solid #d2d2d2;
  background-color: #fff;
  font-size: min(3.47vw, 19px);
  font-weight: 400;
}

.toggleCont .txtArea {
  margin-bottom: 1em;
  font-size: min(3.73vw, 22px);
  line-height: 1.6;
}

@media screen and (min-width: 751px) {
  .toggle {
    border-width: 1.5px;
    border-radius: 20px;
  }
}

@media screen and (min-width: 751px) {
  .toggleBtn::before {
    border-width: 1.5px;
  }
}

/* --------------------

  kv リニューアル 260819

-------------------- */

.kv {
  position: relative;
  z-index: 0;
  padding: min(calc(96 / 750 * 100vw), 96px) clamp(16px, calc(24 / 750 * 100vw), 24px) min(calc(40 / 750 * 100vw), 40px);
  color: #fff;
  font-family: "Noto Sans CJK JP", "Noto Sans JP", sans-serif;
  text-align: center;
  background: #0a2a6e url(/special/lp/assets/002/images/kv_bg.png) no-repeat center top / cover;
}

.kv::after {
  display: none;
}

.kv img {
  display: block;
  width: 100%;
  height: auto;
}

.kv_ttl {
  margin: 0 auto;
  line-height: 1;
}

.kv_ttl .kv_ttl_txt {
  width: 92%;
  max-width: 690px;
  margin: 0 auto;
}

.kv_ttl .kv_ttl_logo {
  width: min(calc(260 / 750 * 100vw), 260px);
  margin: 0 auto;
}

.kv_lead {
  margin: max(calc(-6 / 750 * 100vw), -6px) 0 0;
  font-size: min(32px, 5.5vw, calc((100vw - 48px) / 18));
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .04em;
  white-space: nowrap;
}

.kv_lead strong {
  display: block;
  margin-top: min(calc(2 / 750 * 100vw), 2px);
  font-size: min(58px, calc((100vw - 48px) / 10));
  font-weight: 900;
  letter-spacing: .02em;
  line-height: 1.25;
  white-space: nowrap;
}

.kv_features {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: clamp(8px, calc(16 / 750 * 100vw), 16px);
  margin: min(calc(28 / 750 * 100vw), 28px) auto 0;
  padding: 0;
  list-style: none;
}

.kv_feature img {
  max-width: 170px;
  margin: 0 auto;
}

.kv_feature_txt {
  display: block;
  font-size: clamp(10px, calc(17.6 / 750 * 100vw), 17.6px);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.1rem;
}

.kv_feature_txt sup {
  margin-left: .05em;
  font-size: .55em;
  font-weight: 700;
  vertical-align: baseline;
}

.kv_note {
  max-width: 640px;
  margin: min(calc(22 / 750 * 100vw), 22px) auto 0;
  padding-left: 1.6em;
  font-size: clamp(11px, 2.67vw, 17px);
  font-weight: 500;
  line-height: 1.5;
  text-align: left;
  text-indent: -1.6em;
  font-feature-settings: "palt";
  letter-spacing: 0.12em;
}

.kv_price_card {
  max-width: 640px;
  margin: min(calc(18 / 750 * 100vw), 18px) auto 0;
  padding: min(calc(18 / 750 * 100vw), 18px) min(calc(22 / 750 * 100vw), 22px) min(calc(16 / 750 * 100vw), 16px);
  color: var(--font_color);
  background-color: #fff;
  border-radius: min(calc(33 / 750 * 100vw), 33px);
  box-shadow: 0 8px 18px rgba(10, 30, 80, .12);
}

.kv_price_ttl {
  margin: 0;
  font-size: min(26px, 4.4vw);
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .04em;
}

.kv_price_ttl span {
  background: linear-gradient(transparent 62%, #fff100 62%);
}

.kv_price_ttl .fontPpn {
  font-family: "ITC Avant Garde Gothic Pro", sans-serif;
  font-weight: 500;
  letter-spacing: 0.05em;
  background: none;
}

.kv_price {
  margin: min(calc(24 / 750 * 100vw), 24px) 0 0;
}

.kv_price img {
  max-width: 480px;
  margin: 0 auto;
}

.kv_price_note {
  max-width: 500px;
  margin: 0 auto;
  font-size: min(15px, 2.53vw);
  font-weight: 600;
  line-height: 1.4;
  text-align: right;
}

/* --------------------

  add 260930

-------------------- */

img.about_plan_five.strong_word_30 {
  font-size: min(9vw, 50px);
}

p.about_plan_price_img.alternative_text {
  height: calc(300 / 750 * 100vw);
  max-height: 289px;
}


/* --------------------

  add 261008

-------------------- */
/*
.kv{
	background-image: 100% auto;
	padding: min(12.8vw, 96px) clamp(16px, 3.2vw, 24px) min(5.33333vw, 40px);
}

.kv {
    padding: min(calc(270 / 750 * 100vw), 270px) clamp(16px, calc(24 / 750 * 100vw), 24px) min(calc(40 / 750 * 100vw), 40px);
    background: #0d92dc url(/special/lp/assets/002/images/kv_bg.png) no-repeat center top / 100% auto;
}
.cv_btn_catch {
    margin: .5em auto;
	width: 70vw;
	max-width: 500px;
}

#js_cv_area .cv_btn_catch {
    margin: 0 auto;
	width: 55vw;
}

.kv_note {
    text-indent: -1em;
}
.kv_price_ttl {
    font-size: min(41px, 7vw);
}

h1{
	font-size:  min(8.5vw, 63px);
	padding-bottom: min(calc(235 / 750 * 100vw), 235px);
}
h2{
	font-size: min(5vw, 36px);
}
  */

/* --------------------

  add 261008 matsuo

-------------------- */

.kv {
  padding: 0;
  background: none;
}

.kv .bg1 {
  padding: 0 0 3em;
  background: url(/special/lp/assets/002/images/fv_bg1.jpg) no-repeat center top / 100% 100%;
}

/* パターンB キー・ビジュアル（既存CSSを変更せず、このHTML内で上書き） */
.kv .bg1.kv-pattern-b {
  box-sizing: border-box;
  width: 100%;
  /* PCでは section.kv の幅に合わせる */
  max-width: none;
  min-height: 545px;
  margin: 0 auto;
  padding: 24px 15px 20px;
  color: #fff;

}

.kv-pattern-b *,
.kv-pattern-b *::before,
.kv-pattern-b *::after {
  box-sizing: border-box;
}

.kv-pattern-b .pattern-b-lead {
  margin: 0 0 13px;
  text-align: center;
  font-size: min(5vw, 36px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .02em;
}

.kv-pattern-b .pattern-b-lead strong {
  display: block;
  margin-top: 2px;
  font-size: min(8.5vw, 63px);
  letter-spacing: .01em;
}

.kv-pattern-b .pattern-b-benefits {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  /*margin: 0 18px 13px;*/
}

.kv-pattern-b .pattern-b-benefit {
  flex: 1 1 0;
  min-width: 0;
  text-align: center;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.05;
}

.kv-pattern-b .pattern-b-benefit span {
  font-size: 11px;
  font-weight: 500;
  line-height: 1.05;
}


.kv-pattern-b .pattern-b-benefit img {
  display: block;
  width: 80px;
  max-width: 100%;
  height: auto;
  margin: 6px auto 0;
}

.kv-pattern-b .pattern-b-card {
  padding: 16px 28px 15px;
  color: #222;
  background: #fff;
  border: 2px solid #1db5e8;
  border-radius: 9px;
}

.kv-pattern-b .about_plan_price {
  margin: 0;
}

/* 料金表示：既存の .about_plan_price マークアップに指定PNGを背景として使用 */
.kv-pattern-b .about_plan_price_img {
  height: calc(34.8214vw - 31.3393px);
  min-height: 90px;
  max-height: 195px;
  margin: 0;

}

/* 上記のPNGへ置き換えるため、テキスト疑似要素を無効化 */
.kv-pattern-b .about_plan_price_img::before {
  display: none;
  content: none;
}

.kv-pattern-b .about_plan_price_img::after {
  display: none;
  content: none;
}

.kv-pattern-b .caption_text_right {
  margin: 2px 0 12px;
  color: #333;
  /*font-size: 12px;*/
  font-style: normal;
  font-size: min(16px, 2.5vw);
  line-height: 1.2;
}

.kv-pattern-b .pattern-b-campaign,
.cta-campaign,
.cv_area .kv_btn_lead.cta-campaign {
  position: relative;
  width: fit-content;
  margin: 0 auto 8px;
  padding: 0 15px;
  color: #222;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .04em;
  text-align: center;
}

/* キャンペーン文言の左右に、参照画像と同じ斜め3ドットをCSSで描画 */
.kv-pattern-b .pattern-b-campaign::before,
.kv-pattern-b .pattern-b-campaign::after,
.cta-campaign::before,
.cta-campaign::after {
  position: absolute;
  top: calc(50% - 7px);
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: currentColor;
  content: "";
}

.kv-pattern-b .pattern-b-campaign::before,
.cta-campaign::before {
  left: 0;
  box-shadow: 3px 6px 0 currentColor, 6px 12px 0 currentColor;
}

.kv-pattern-b .pattern-b-campaign::after,
.cta-campaign::after {
  right: 0;
  box-shadow: -3px 6px 0 currentColor, -6px 12px 0 currentColor;
}

.kv-pattern-b .pink_cv_btn {
  margin: 0;
}

.kv-pattern-b .pattern-b-note {
  margin: 10px 0 0;
  padding-left: 1.6em;
  color: #fff;
  /*font-size: 12px;
      font-weight: 700;*/
  line-height: 1.25;
  text-indent: -1.6em;

  font-style: normal;
  font-size: min(16px, 2.5vw);
}

@media (max-width: 340px) {
  .kv .bg1.kv-pattern-b {
    min-height: 0;
    padding-right: 10px;
    padding-left: 10px;
  }

  .kv-pattern-b .pattern-b-lead strong {
    font-size: 28px;
  }

  .kv-pattern-b .pattern-b-card {
    padding-right: 20px;
    padding-left: 20px;
  }

  .kv-pattern-b .about_plan_price_img {
    height: calc(34.8214vw - 22px);
  }


}

/* PC表示：キー・ビジュアル内の各ブロックを、section.kv の幅に合わせて拡大 */
@media (min-width: 751px) {
  .kv-pattern-b .pattern-b-lead {
    font-size: clamp(22px, 2vw, 30px);
  }

  .kv-pattern-b .pattern-b-lead strong {
    font-size: clamp(38px, 4vw, 56px);
  }

  .kv-pattern-b .pattern-b-benefits {
    margin-right: 1%;
    margin-left: 1%;
  }

  .kv-pattern-b .pattern-b-benefit {
    font-size: clamp(18px, 2vw, 28px);
  }

  .kv-pattern-b .pattern-b-benefit span {
    font-size: clamp(14px, 1.5vw, 20px);
  }

  .kv-pattern-b .pattern-b-benefit img {
    width: clamp(100px, 10vw, 140px);
  }

  .kv-pattern-b .pattern-b-card {
    padding: 28px 10% 25px;
  }

  .kv-pattern-b .caption_text_right {
    /*font-size: clamp(14px, 1.4vw, 20px);*/
    font-style: normal;
    font-size: min(16px, 2.5vw);
  }

  .kv-pattern-b .pattern-b-campaign,
  .cta-campaign,
  .cv_area .kv_btn_lead.cta-campaign {
    padding-right: 24px;
    padding-left: 24px;
    font-size: clamp(20px, 2vw, 28px);
  }

  .kv-pattern-b .pattern-b-campaign::before,
  .kv-pattern-b .pattern-b-campaign::after,
  .cta-campaign::before,
  .cta-campaign::after {
    top: calc(50% - 10px);
    width: 5px;
    height: 5px;
  }

  .kv-pattern-b .pattern-b-campaign::before,
  .cta-campaign::before {
    box-shadow: 5px 10px 0 currentColor, 10px 20px 0 currentColor;
  }

  .kv-pattern-b .pattern-b-campaign::after,
  .cta-campaign::after {
    box-shadow: -5px 10px 0 currentColor, -10px 20px 0 currentColor;
  }

  .kv-pattern-b .pattern-b-note {
    /* font-size: clamp(14px, 1.4vw, 20px);*/
    font-style: normal;
    color: #fff;
    font-size: min(16px, 2.5vw);
    text-align: center;
  }

  .cv_btn_catch {
    margin: .5em auto;
    width: 70vw;
    max-width: 500px;
  }

  #js_cv_area .cv_btn_catch {
    margin: 0 auto;
    width: 55vw !important;
  }

}

.cv_area .kv_btn_lead.cta-campaign {
  transform: none;
  margin: 1em auto 8px;
}

.kv_btn_lead::before,
.kv_btn_lead::after {
  transform: none;
}

.kv_price_ttl {
  font-size: min(41px, 7vw);
}

 .cv_btn_catch {
    margin: .5em auto;
    width: 70vw !important;
  }

  #js_cv_area .cv_btn_catch {
    margin: 0 auto;
    width: 70vw;
  }
