@charset "utf-8";
/* --------------------
  constants
-------------------- */
:root {
  --font_color: #3A4043; /* ベースの文字色  */
  --orange_bg:#ffea9d;
  --orange01: #ed5000;
  --green: #548d00;
  --pink: #ff3b82;
  --blue: #00b1c3;
  --purple: #860d83;
  /* ゴシック体 */
  --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/ahamo_okaeri/assets/images/bg_body01.webp") 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;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
}
.mt1 {
  margin-top: 1rem;
}
.mt2 {
  margin-top: 2rem;
}
.mt3 {
  margin-top: 3rem;
}
.mt4 {
  margin-top: 4rem;
}
.mb1{
  margin-bottom: 1rem;
}
.mb3 {
  margin-bottom: 1rem;
}
.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;
}
@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;
  }
  .mb1{
  margin-bottom: 2vw;
  }
  .mb3 {
    margin-bottom: 6vw;
  }
  .max80 {
    max-width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
  .br-sp {
    display: block;
  }
}

/* --------------------
  common
-------------------- */
.caption_text_left {
  padding-left: 35px;
  font-size: 14px;
  line-height: 1.9;
  text-indent: -23px;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
@media all and (max-width: 700px) {
  .caption_text_left {
    padding-left: 4vw;
    text-indent: -4vw;
  }
}
@media all and (max-width: 500px) {
  .caption_text_left {
    padding-left: 2rem;
    text-indent: -1.8rem;
  }
}

#sim_esim,
.about_plan_wrap {
  position: relative;
  padding: 14% 2.5rem 4%;
}
.about_plan::before,
#sim_esim::before,
method_cp,
method_cpmethod_cpmethod_cpmethod_cpmethod_cp#use_amazon::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 90px;
  margin: auto;
  content: "";
}
@media screen and (max-width: 750px) {
  #method_cp::before,
  .about_plan::before,
  #sim_esim::before,
  #use_amazon::before {
    height: 12vw;
  }
}
/* --------------------
  kv
----------------------- */
.kv {
  z-index: -1;
  background-color: #fff;
}
.kv_bg {
  z-index: -1;
  background: url("/special/ahamo_okaeri/assets/images/cont_bg_type03.webp") top center / 100% auto no-repeat;
}
#campaign {
  margin-bottom: 0;
}
@media screen and (max-width: 700px) {
  #campaign {
    margin-bottom: 0;
  }
}
h1 {
  font-size: 1rem;
}
h1 img{
  margin: 0 auto;
}
/* --------------------
 accordion
----------------------- */
.ic_link_terms::after {
  position: absolute;
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  background: url("/special/ahamo_okaeri/assets/images/ic_link.svg") no-repeat center / contain;
  margin: .5rem 0 0 .25rem;
}
.kv .accordion_content {
  padding: 0 3.5% 25px;
}
.kv details summary {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: .4em 2em .4em .7em;
  font-weight: 600;
  font-size: 24px;
  text-align: center;
}
.information {
  margin: 2rem 2.5rem 0;
  border: solid 2px var(--orange01);
  border-radius: 12px;
  background-color: #fff;
}
.information details summary {
  color: var(--orange01);
}
.information p {
  font-size: 2.3rem;
}
.information p span {
  padding: .5rem 1rem .5rem .5rem;
  background-color: var(--orange01);
  border-radius: 5px;
  color: #fff;
}
.information ul .tx_gray {
  color: #848484;
}
.information ul .tx_orange {
  color: var(--orange01);
}
.information .orange {
  color: var(--orange01);
  font-size: 2.3rem;
  margin-top: calc(3rem - .4em);
}
.information .point {
  margin-top: 4rem;
}
.information .point ul {
  padding-top: 1.5rem;
  font-size: 1.4rem;
  text-indent: -2rem;
}
.information .point ul li {
  padding-left: 2rem;
  font-size: 2rem;
  line-height: 3.5rem;
  }
.information .detail {
  font-size: 2rem;
  line-height: 3.5rem;
}
 .information .detail,
 .information .lead {
   margin-top: 3rem;
 }
.information .text_red {
  padding-left: 2rem;
  font-size: 2rem;
  text-indent: -2rem;
}
@media screen and (max-width: 500px) {
  .information {
    margin: 2rem 1.5rem 0;
  }
  .information .orange {
    margin-top: 1.0rem;
    font-size: 1.8rem;
  }
  .information, .camp_pr_content {
    font-size: 3.59vw;
    line-height: 1.6;
  }
  .information p {
    font-size: 1.6rem;
  }
  .information p span {
    padding: .2rem .7rem .2rem .2rem;
  }
  .information .point {
    margin-top: 2rem;
  }
  .information .point ul {
    padding-top: 1rem;
    text-indent: -1.5rem;
  }
  .information .point ul li {
    padding-left: 1.6rem;
    font-size: 1.5rem;
    line-height: 2.5rem;
  }
  .information .detail {
    font-size: 1.6rem;
    line-height: 2.6rem;
  }
  .information .detail,
  .information .lead {
    margin-top: 1.5rem;
   }
  .information .text_red {
    padding-left: 1.6rem;
    font-size: 1.6rem;
    text-indent: -1.6rem;
  }
}

#information{
	background-color: #fff;
}
#information{
	background-color: #fff;
	padding: 6rem 2.5rem 2.5rem;
}
#information .content_main{
	padding: 3rem 2.5rem;
}
.content_main .indent{
	padding-left: 1.5rem;
  text-indent: -1.5rem;
  font-size: 2rem;
  line-height: 3rem;
}
.content_main .indent a {
  color: #006bc9;
  text-decoration: underline;
}
#information .wrap{
	background: #fceeff;
	margin: 2rem 0;
	padding: 1rem 1.5rem 3rem;
	border-radius: 1.5rem;
}
#information .wrap:first-of-type img{
  margin: -2rem auto 2rem;
	width: 58%;
}
#information .wrap:last-of-type img{
  margin: 2rem auto 2rem;
  width: 70%;
}
#information .wrap p{
  margin: 0 3rem;
	font-size: 2.2rem;
}
.content_main a {
    color: #006bc9;
    text-decoration: underline;
}
.information_content{
	border: 3px solid var(--purple);
	border-radius: 1.5rem;
}
.information_content h2{
  background: var(--purple);
   font-weight: 500;
	color: #fff;
	font-size: 3rem;
	text-align: center;
	padding:  .6rem 1.6rem;
	border-radius: 1rem 1rem 0 0;
}
.information_content .pink{
	color: var(--pink);
	font-size: 2.3rem;
	font-weight: bold;
	text-align: center;
}
@media screen and (max-width: 580px) {
#information{
	padding: 0rem 1.5rem 2.5rem;
}
  .information_content h2 {
    font-size: 2.5rem;
  }
  #information .content_main{
    padding: 2.5rem 2rem;
  }
  .information_content .pink{
    font-size: 2rem;
  }
  #information .wrap p {
    font-size: 1.75rem;
  }
  .content_main .indent{
    font-size: 1.75rem;
  }
}
@media screen and (max-width: 500px) {
  #information p,
	 #information .wrap p{
    font-size: 3vw;
		margin: 1rem 0 0;
		 line-height: inherit;
	 }
	.information_content h2 {
    font-size: 4.5vw;
  }
	 #information .content_main {
	padding: 1rem 1.5rem 2rem;
}
 #information .wrap:first-of-type img{
  margin: 0 auto 2rem;
	width: 70%;
}
#information .wrap:last-of-type img{
  margin: 1rem auto;
  width: 85%;
}
}
.condition_number{
	margin-top: 1rem;
}
.condition_number p{
	background:  #ac73c6;
	display: inline;
	color: #fff;
	font-weight: bold;
	padding:1.0rem 2.0rem;
	border-radius: 5rem;
	margin: 0 0 0 -.5rem!important;
	font-size: 1.9rem!important;
}
.condition_number p span{
	font-size: 2.9rem;
}
 @media screen and (max-width: 700px) {
	.condition_number p{
	  padding:1.6vw 2.6vw;
	  margin: 0!important;
	 font-size: 3.1vw!important;
	 }
  .condition_number p span{
	font-size: 4vw;
 }
	 .condition_number{
		 margin: 1rem 0;
	 }
} 
@media screen and (max-width:400px) {
	 .condition_number{
		 margin:0 0 1rem;
	 }
}
.camp_pr_content {
  margin: -5rem 0 0;
  text-align: center;
}
.camp_pr_content .accordion_content a {
  color: #006bc9;
  text-decoration: underline;
}
.camp_pr_content .accordion_content a.ic_link_terms {
padding-right: 1.75rem;
}
.camp_pr_content details {
  margin: 0 2.5rem;
  overflow: hidden;
  border: 2px solid var(--pink);
  border-radius: 12px;
  background-color: #fff;
  text-align: left;
}
.camp_pr_content details summary {
  background-color: #fff;
  color: var(--pink);
}
.camp_pr_content details summary::-webkit-details-marker {
  display:none;
}
.camp_pr_content .accordion_content {
  text-align: justify;
}
.camp_pr_content .accordion_content h2 {
  padding: .5em 17.5px;
  border-radius: 8px;
  background-color: var(--pink);
  color: #fff;
  font-weight: 700;
  font-size: 19px;
}
.camp_pr_content .accordion_content p:last-child {
  margin-bottom: 0;
}
.camp_pr_content .annotation {
  padding-left: 1rem;
  text-indent: -1.5rem;
}
.toggle_sign::before,
.toggle_sign::after {
  display: inline-block;
  position: absolute;
  top: 50%;
  right: .7em;
  width: 20px;
  height: 3px;
  border-radius: 2px;
  content: "";
}.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;
}
.information .toggle_sign::before,
.information .toggle_sign::after {
  background-color: var(--orange01);
}
.camp_pr_content .toggle_sign::before,
.camp_pr_content .toggle_sign::after {
  background-color: var(--pink);
}
@media all and (max-width: 750px) {
  .kv details summary {
    font-size: 2.0rem;
  }
}
@media all and (max-width: 600px) {
  .camp_pr_content details {
    margin: 1.5rem 1.5rem 0;
  }
}
@media all and (max-width: 500px) {
  .camp_pr_content details {
    margin: 2.5rem 1.5rem 0;
  }
  .camp_pr_content .accordion_content h2 {
    font-size: 3.8vw;
  }
  .camp_pr_content .accordion_content {
    padding: 2vw 3% 0;
  }
  .text_kiyaku_box {
    padding: 2vw;
  }
}
/* ---------- */
.entry_wrap {
  font-size: 1.6rem;
  text-align: center;
}
.kv .entry_wrap {
  padding: 0 2.5rem 2%;
  background: linear-gradient(0deg, rgba(255,255,255,1) 75%, rgba(255,255,255,0) 100%);
}
.entry_wrap input[type="checkbox"] {
  display: none;
}
.entry_wrap input[type="checkbox"] + label::before, .entry_wrap input[type="checkbox"]:checked + label::after {
  display: block;
  position: absolute;
  top: .3rem;
  left: 0;
  width: 2rem;
  height: 2rem;
  margin-right: .5em;
  border-radius: .4rem;
  box-sizing: border-box;
  background-color: #fff;
  content: "";
}
.entry_wrap input[type="checkbox"] + label::before, .entry_wrap input[type="checkbox"]:checked {
  border: .2rem solid #B1B1B1;
}
.entry_wrap input[type="checkbox"]:checked + label::after {
  display: block;
  position: absolute;
  top: .7rem;
  left: 7px;
  transform: rotate(45deg);
  width: 6px;
  height: 11px;
  border-right: 3px solid #00b592;
  border-bottom: 3px solid #00b592;
  border-radius: unset;  
  content: '';
}
.entry_wrap .entryBtn {
  position: relative;
  height: 10.0rem;
  margin: 2.6rem auto 2.6rem;
}
.entry_wrap .entryBtn a,
.profile_box .btn {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 9.9rem;
  box-shadow: 1px 4px #b50052;
  background-color: var(--pink);
  color: #fff;
  font-weight: 600;
  font-size: min(5vw, 28px);
  letter-spacing: .07em;
  text-decoration: none;
  font-feature-settings: "palt";
  transition: .3s;
}
.entry_wrap .js_cv_area_trigger {
  margin-top: 5.2rem;
}
@media (max-width: 500px) {
  .entry_wrap .entryBtn a {
    font-size: min(4.5vw, 28px);
  }
}
.profile_clm .profile_box .btn {
  font-size: min(4.25vw, 28px);
}
.entry_wrap .entryBtn a:hover,.profile_box .btn:hover {
  -webkit-transform: translate(0, 4px);
      -ms-transform: translate(0, 4px);
          transform: translate(0, 4px);
  -webkit-box-shadow: 0 0 #b50052;
          box-shadow: 0 0 #b50052;
}
.entry_wrap .entryBtn a::after,
.profile_clm .profile_box .btn::before, .profile_clm .profile_box .btn::after {
  display: inline-block;
  position: absolute;
  top: 47%;
  right: 1em;
  -webkit-transform: rotate(45deg) translate(-50%, 0);
      -ms-transform: rotate(45deg) translate(-50%, 0);
          transform: rotate(45deg) translate(-50%, 0);
  width: .6em;
  height: .6em;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  content: "";
}
.entry_wrap .entryBtn .up_arrow::after {
  top: 40%;
  transform: rotate(-45deg) translate(-50%, 0);
}
.entry_wrap input:checked ~ .entryBtn a::before, .entry_wrap input:checked ~ .entryBtn a::after {
  animation: triAnimationFrame .75s 0s infinite;
}
.entry_wrap input:checked ~ .entryBtn.disable::after {
  display: none;
}
.entry_wrap > p {
  color: var(--orange01);
  font-weight: 600;
  font-size: 2.3rem;
  line-height: 1.3;
}
@media (max-width: 750px) {
  .entry_wrap > p {
    font-size: 3.5vw;
    white-space: nowrap;
  }
}
@media (max-width: 580px) {
  .kv details summary {
    font-size: 1.75rem;
  }
  .entry_wrap input[type="checkbox"] + label, .entry_wrap input[type="checkbox"]:checked + label {
    font-size: 1.4rem;
  }
  .entry_wrap input[type="checkbox"] + label::before, .entry_wrap input[type="checkbox"]:checked + label::after {
    top: .1rem;
    left: 0;
    width: 2rem;
    height: 2rem;
  }
  .entry_wrap input[type="checkbox"]:checked + label::after {
    top: .5rem;
    left: 7px;
    width: 6px;
    height: 11px;
  }
  .entry_wrap .entryBtn, .profile_box .btn {
    height: 7.0rem;
    margin: 1.5rem auto 2rem;
  }
  #entry a::before, .entry_wrap .entryBtn a::after,
  .profile_clm .profile_box .btn::before, .profile_clm .profile_box .btn::after {
    margin-top: 1px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
  }
  .entry_wrap input:checked ~ .entryBtn a::before, .entry_wrap input:checked ~ .entryBtn a::after {
    border-top: 3px solid #00b592;
    border-right: 3px solid #00b592;
  }
  .caption_text_left {
    font-size: 1.0rem;
  }
  .camp_pr_content .pink_btn::before {
    top: -35%;
    left: -1rem;
    width: 9.3vw;
  }
  .camp_pr_content .pink_btn::after {
    top: 16%;
    right: -1rem;
  }
  .entry_wrap .js_cv_area_trigger {
    margin-top: 0;
  }
}
/*十字アニメーション*/
.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);
}
@media all and (max-width: 580px) {
  .agreement_check_label {
    font-size: 1.4rem;
  }
}
@media (max-width: 374px) {
  .camp_pr_content details {
      margin-top: 3rem;
  }
}
/* --------------------
  method_cp
----------------------- */
#method_cp {
  padding: 10% 2.5rem 6%;
  background: url("/special/ahamo_okaeri/assets/images/bg_cover_02.webp") no-repeat center top/cover #fff;
}
@media screen and (max-width: 500px) {
  .camp_pr_content .pink_btn::before {
    width: 11.3vw;
  }
  #method_cp,
  .about_plan_wrap,
  #sim_esim,
  .kv .entry_wrap,
  #use_amazon .use_amazon_inner {
    padding-left: 1.5rem!important;
    padding-right: 1.5rem!important;
  }
  #method_cp::after{
    margin-top: -7vw;
  }
}
#method_cp h2{
  font-size: 3rem;
}
#method_cp h2 span:first-of-type{
  display: inline-block;
  margin-right: 1%;
  padding: .7%;
  border-radius: 5px;
  background-color: var(--orange01);
  color: #fff;
  line-height: 1.1;
  font-feature-settings: "palt";
}
#method_cp h2 span{
  color: var(--orange01);
  font-size: 3rem;
}
.method_cp_content {
  margin-bottom: 4%;
  border: .3rem var(--pink) solid;
  border-radius: 1.5rem;
  background-color: #fff;
  font-weight: bold;
  font-size: 2.8rem;
  line-height: 1.3;
  text-align: center;
}
.method_cp_content:first-of-type {
  margin-top: 3%;
}
.method_cp_content:last-of-type {
  margin-bottom: 0;
}
.method_cp_content h2 {
  display: block;
  padding: .4% 4% .8%;
  border-radius: 1rem 1rem 0 0;
  background-color: var(--pink);
  color: #fff;
  font-weight: normal;
	font-size: 3.0rem;
}
.method_cp_content > div {
  margin: 3% 3% 6% 3%;
}
.method_cp_content .blue span {
  color: var(--blue);
}
#method_cp .method_cp_content .s_tx {
  margin-top: 1.5%;
  padding-left: 2.0rem;
  font-size: 2rem;
  text-align: center;
  text-indent: -2.0rem;
}
#method_cp .step1 .s_tx {
  text-align: left;
}
#method_cp .method_cp_content .s_tx + .s_tx {
  margin-top: 0;
}
#method_cp .entry_wrap .entryBtn {
  position: relative;
  z-index: 1;
  margin: 2.8rem 4rem 3rem;
  height: 8rem;
}
#method_cp .method_cp_tx01 {
  margin: 3.5rem auto 2.8rem;
  padding: 3rem 0 2.3rem;
  border-radius: 1rem;
  background-color: #fff5b8;
}
#method_cp .method_cp_tx03 {
  font-size: 2.5rem;
}
@media screen and (max-width: 700px) {
  #method_cp .method_cp_tx01 {
    margin: 2rem auto 2rem;
    padding: 2rem 1.5rem 2rem;
  }
  #method_cp .method_cp_tx03 {
    font-size: 4vw;
  }
}
#method_cp .method_cp_tx02 {
  margin-bottom: 2rem;
}
@media screen and (max-width: 750px) {
  #method_cp .entry_wrap .entryBtn {
    margin: 1.5rem auto 3rem;
  }
}
@media screen and (max-width: 500px) {
  #method_cp .pink_btn::before {
    top: -55%;
    width: 11%;
  }
  #method_cp .pink_btn::after {
    top: -70%;
    right: -2%;
  }
  #method_cp h2 {
    font-size: 6.5vw;
  }
  #method_cp h2 span:first-of-type {
    margin-right: 1%;
    padding: .7%;
    border-radius: 5px;
    line-height: 1.1;
  }
  #method_cp h2 span{
    font-size: 5vw;
  }
  #method_cp .method_cp_content .s_tx {
    padding-left: 4.6vw;
    font-size: 3.5vw;
    text-indent: -3.40vw;
  }
  #method_cp .entry_wrap .entryBtn {
    height: 5rem;
    margin: 2rem 0;
  }
  .method_cp_content h3 {
    border-radius: .5rem .5rem 0 0;
  }
  .method_cp_content {
    border: .2rem var(--pink) solid;
    border-radius: 1.5rem;
    font-size: 4.2vw;
  }
  .method_cp_content > div {
    margin: 5% 3%;
  }
}
.dot_line {
  padding: 3rem 0 1.5rem;
  font-size: 3.4rem;
}
@media all and (max-width: 375px) {
  #method_cp .pink_btn::before {
    top: -64%;
    width: 13%;
  }
  #method_cp .pink_btn::after {
    right: -3%;
    width: 13%;
  }
}
@media all and (max-width: 700px) {
  .dot_line {
    padding: 3rem 0 1.5rem;
    font-size: 5.2vw;
  }
}
.dot_line span {
  padding-right: 1rem;
  color: var(--purple);
}
/* --------------------
  process_model_お乗り換え（MNP）手順
----------------------- */
#process_model .recomend_diff_border,.method_cp_recomend .recomend_diff_border {
  display: block;
  position: absolute;
  right: 0;

  left: 0;
  width: 85%;
  height: 2px;
  margin: auto;
  background-image: radial-gradient(circle,#313131 1px , transparent 1px);
  background-size: 12px 2px;
}
.method_cp_recomend .recomend_diff_border {
  width: 15em;
  font-size: 3.4rem;
}
@media all and (max-width: 700px) {
  .method_cp_recomend .recomend_diff_border {
    font-size: 5.2vw;
  }
}
#process_model .method_cp_content .item{
  font-weight: bold;
  margin: 4.5%;
}
.lit_pk{
  margin-top: 2rem;
  padding: 2rem 3% 3%;
  background-color: #fff3cc;
}
#process_model .entry_wrap .entryBtn::before {
  display: none;
}
#process_model .entry_wrap .entryBtn::after {
  display: none;
}
.left_right_bottom_round{
  border-radius: 0 0 13px 13px;
}
#process_model .method_cp_content > div {
  margin:3% 0 0 0;
}
#process_model .method_cp_content.item > div {
  margin: 3%;
}
#process_model .method_cp_content .l_tx {
  margin-top: .1%;
  font-size: 3.3rem;
}
.step_requier_item {
  margin: 0 auto;
}
.step_cont{text-align: left;}
.step_requier_item > li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 0;
}
.step_requier_item > li:last-of-type{
  padding: 15px 0 5%;
}
.step_requier_item > li:first-of-type {
  padding-top: 0;
}
.step_cont .step_cont_box:first-child {
  width: 40%;
  margin: 0 10% 0 15%;
}
.step_cont .step_cont_box:last-child {
  width: 60%;
}
.step_cont_box img {
  flex-shrink: 1;
}
.step_cont_box dl dt {
  display: flex;
  justify-content: start;
  margin-bottom: 1em;
}
.step_cont_box dl dt span {
  display: block;
  color: var(--green);
  text-align: center;
}
.step_cont_box dl dt small {
  font-size: min(1.6rem, 4vw);
}
.step_cont_box dl ul li {
  font-weight: 500;
  font-size: min(1.8rem, 3.5vw);
  line-height: 1.9;
}
.step_cont_box dl ul li::before {
  display: inline-block;
  width: .5em;
  height: .5em;
  margin-right: .4em;
  border-radius: 50%;
  background-color: var(--green);
  content: "";
}
.step_cont_box .line_link {
  color: var(--green);
  text-decoration: underline;
}
.line_link:hover {
  opacity: 0.7;
  transition: .5s;
}
.step_cont_p {
  margin-bottom: 1em;
  font-size: min(2rem, 3.8vw);
  line-height: 1.5;
}
.step_cont_p .line_link {
  font-size: .8em;
}
#process_model .entry_wrap .entryBtn {
  position: relative;
  z-index: 1;
  height: 8rem;
  margin: 1.5rem 4rem;
}
@media screen and (max-width: 750px) {
  #process_model .entry_wrap .entryBtn {
    margin: 1.5rem auto;
  }
}
@media screen and (max-width: 500px) {
  #process_model{
    padding-bottom: 2rem;
  }
  #process_model h2{
    font-size: 7vw;
  }
  #process_model .process_model_ttl span:first-of-type{
    margin-right: 1%;
    padding: .7%;
    border-radius: 5px;
    line-height: 1.1;
  }
  #process_model .process_model_ttl span{
    font-size: 5vw;
  }
  .step_cont .step_cont_box:first-child {
    margin: 0 10%;
  }
  .left_right_bottom_round{
    border-radius: 0 0 8px 8px;
  }
  #process_model .entry_wrap .entryBtn{
    height: 5rem;
    margin: 1rem 0;
  }
  .lit_pk {
    margin-top: 2%;
    padding: 2% 3% 3%;
  }
  #process_model .method_cp_content .l_tx {
    font-size: 5.3vw;
  }
}
/* --------------------
footer
----------------------- */
footer {
  max-width: 750px;
  margin: 0 auto;
  padding: 2.7rem 3% 3rem;
  background-color: #fff;
  text-align: center;
}
footer .cv_btn {
  margin: 0 auto 3rem;
}
.btn_lead {
  margin: 20px 0 10px;
  font-weight: 700;
  font-size: 3.2rem;
  line-height: 1.1;
  text-align: center;
}
.btn_lead_em {
  display: inline-block;
  position: relative;
  -webkit-transform: rotate(3deg);
      -ms-transform: rotate(3deg);
          transform: rotate(3deg);
  color: var(--blue);
  font-style: normal;
}
.btn_lead_em::after {
  display: inline-block;
  position: absolute;
  top: -.5em;
  right: .2em;
  width: .7em;
  background: url(/special/ahamo_okaeri/assets/images/icon_type03.svg) 0 0 / contain no-repeat;
  content: "　";
}
.cv_area {
  display: none;
  position: fixed;
  bottom: 0;
  left: 50%;
  z-index: 100;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
  padding:0;
  max-width: 750px;
  text-align: center;
}
.cv_btn {
  display: block;
  position: relative;
  width: 79%;
  max-width: 700px;
  margin: 0 auto 2rem;
  padding: .85em 0;
  border-radius: 12em;
  -webkit-box-shadow: 1px 4px transparent;
          box-shadow: 1px 5px transparent;
  color: #fff;
  font-weight: 600;
  font-size: min(5vw, 32px);
  line-height: 1.8em;
  text-decoration: none;
  text-align: center;
  -webkit-transition: all .3s;
       -o-transition: all .3s;
}
.pink_btn .cv_btn{
	 width: 92%;
}
.btn_pink {
  box-shadow: 0px 4px #b50052;
  background-color: var(--pink);
  font-size: min(5vw, 32px);
  transition: .3s;
}
.bg_right_area .btn_pink {
  box-shadow: 0px 4px #b50052;
}
.btn_blue {
  box-shadow: 0px 4px #005456;
  background-color: var(--blue);
}
.cv_btn::before {
  display: inline-block;
  position: absolute;
  top: 47%;
  right: 1em;
  -webkit-transform: rotate(45deg) translate(-50%, 0);
      -ms-transform: rotate(45deg) translate(-50%, 0);
          transform: rotate(45deg) translate(-50%, 0);
  width: .6em;
  height: .6em;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  content: "";
}
.pink_btn .up_arrow::before {
  top: 41%;
  transform: rotate(-45deg) translate(-50%, 0);
}
.pink_btn .down_arow::before  {
  top: 45%;
  right: 1.2em;
  transform: rotate(135deg) translate(-50%, 0);
}
.cv_area.cv_area_fade {
  display: block;
  background-color: rgba(255, 255, 255, 0.7);
}
.cv_area.cv_area_fade .cv_btn,
.cv_area.cv_area_fade .btn_lead {
  opacity: 1;
}
.cv_btn.btn_blue:hover {
  -webkit-transform: translate(0, 4px);
      -ms-transform: translate(0, 4px);
          transform: translate(0, 4px);
  -webkit-box-shadow: 0 0 #005456;
          box-shadow: 0 0 #005456;
}
.cv_btn.btn_pink:hover {
  -webkit-transform: translate(0, 4px);
      -ms-transform: translate(0, 4px);
          transform: translate(0, 4px);
  -webkit-box-shadow: 0 0px #b50052;
          box-shadow: 0 0px #b50052;
}
footer .cv_btn.btn_black:hover {
  -webkit-transform: translate(0, 4px);
      -ms-transform: translate(0, 4px);
          transform: translate(0, 4px);
  -webkit-box-shadow: 0 0 #282828;
          box-shadow: 0 0 #282828;
}
footer .cv_btn.btn_black {
  background-color: #666666;
	box-shadow: 0 4px #282828;
}
footer .cv_btn.btn_black::before {
  display: inline-block;
  position: absolute;
  top: 40%;
  right: 42px;
  transform: none;
  width: 3.5rem;
  height: 2.5rem;
  margin: auto;
  border: none;
  background: url(/special/ahamo_okaeri/assets/images/btn_arrow_ic_02.svg) no-repeat;
  content: "";
}
footer p.copy {
  margin: 4rem 0 2rem;
  line-height: 1.6;
}
footer p.code {
  font-size: 2.1rem;
}
@media (max-width: 750px) {
  footer {
    padding: 3rem 0 4.0rem;
  }
  .btn_lead, 
  footer .btn_lead, .cv_area .btn_lead {
    margin: 2.67vw 0 1.5vw;
    font-size: 4.8vw;
  }
  footer .cv_btn {
    margin: 0 auto 4.5vw;
  }
  footer p.code {
    font-size: 1.6rem;
  }
  footer p.small_tx {
    font-size: 1.4rem;
  }
  .cv_area {
    max-width: 100vw;
    padding: 0;
  }
  .cv_btn:hover {
    -webkit-transform: translate(0, 0.13vw);
        -ms-transform: translate(0, 0.13vw);
            transform: translate(0, 0.13vw);
    -webkit-box-shadow: 0 0.13vw #802445;
            box-shadow: 0 0.13vw #802445;
  }
  .btn_lead_em::after {
    top: -2.8vw;
    right: 6px;
  }
}
@media (max-width: 500px) {
  footer p.copy {
    margin-bottom: 2vw
  }
  .cv_btn::before {
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
  }
  footer .cv_btn.btn_black::before {
    right: 28px;
    width: 3rem;
  }
}
@media (max-width: 400px) {
  footer .cv_btn.btn_black::before {

    right: 22px;
    width: 2.5rem;
  }
}
@media (min-width: 500px) {
  .cv_btn {
    padding: 2.5rem 0;
  }
}
@media (min-width: 500px) {
  .pink_btn .cv_btn {
    padding: 1.2rem 0;
  }
}
/* --------------------
  fade Animation
----------------------- */
.fade-in {
  opacity: 0;
  transition-property: opacity, transform;
  transition-duration: 500ms;
}
.fade-in-up {
  transform: translate(0, 100px);
}
.scroll-in {
  opacity: 1;
  transform: translate(0, 0);
}
/* 規約インデント
------------------------------------------------*/
.text_kiyaku_box, #conditions .text_kiyaku_box {
  padding: .5em .5em 1em;
}
.camp_pr .accordion li {
  padding-left: 1.5rem;
  text-indent: -1.2rem;
}
.camp_pr .text_red li,
.camp_pr .text_kiyaku_date li {
  padding-left: 0;
  text-indent: 0;
}
.tx_annotation01{
	text-indent: -5.8rem;
	display: block;
	margin-left: 4.6rem;
}
.tx_annotation02{
	text-indent: -4rem;
	display: block;
	margin-left: 0rem;
}
.tx_annotation03{
	display: block;
	padding-left: 4.5rem!important;
	text-indent: -4.7rem!important;
}
@media all and (max-width: 600px) {
  .tx_annotation01{
	text-indent: -5rem;
	margin-left: 3.7rem;
}
.tx_annotation02{
	text-indent: -3.8rem;
}
  .tx_annotation03 {
    text-indent:-4rem!important;
  }
}

/* モーダルから遷移
------------------------------------------------*/
.profile_clm {
  display: flex;
  flex-wrap: wrap;
}
.profile_box {
  width: 100%;
}
.profile_box .btn {
  position: relative;
  width: 100%;
  padding: 0;
  border: none;
  transition: all ease-in-out .3s;
}
.profile_box .btn::before {
  display: block;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 10rem;
  background: #fff;
  content: "";
}
.profile_box .btn {
   margin: 2.6rem auto 2.6rem;
   width: 93%;
}
.profile_box .btn a{
   color: #fff;
}
.profile_clm .pink_btn::before {
  top: 16%;
  left: -2.4%;
}
.profile_clm .pink_btn::after {
   top: 8%;
   right: 0.2rem;
}
@media screen and (max-width: 580px) {
  .profile_clm .pink_btn::before {
    top: -10%;
    left: 2%;
  }
  .profile_clm .pink_btn::after {
    top: 26%;
    right: 0rem;
  }
  .profile_box .btn {
    margin: 1.5rem auto 2rem;
  }
}
@media screen and (max-width: 500px) {
  .profile_clm .pink_btn::before {
    top: -12%;
    left: 1.5%;
  }
  .profile_clm .pink_btn::after {
    top: -11%;
    right: 0.5rem;
    width: 11%;
  }
}
/* --------------------
  hover
----------------------- */
.camp_pr_content .accordion_content a:hover,
.content_main a:hover {
 opacity: 0.7;
  }
/* bg_contents
------------------------------------------------*/
.bg_contents {
  position: fixed;
  top: calc((100% - 620px) / 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 3.5vw;
	margin-top:3.5vw;
}
.bg_menu ul {
  display: block;
  width: 100%;
  padding: 2vw 1vw;
  border-radius: 1.7vw;
  background-color: #fff;
	box-shadow: 0px 5px var(--purple);
}
.bg_menu li {
  padding-bottom: 1.6rem;
  text-align: left;
}
.bg_contents .bg_menu .access {
  position: relative;
  padding: 1.4em 6.5em 1em 0;
  border-radius: 15px;
  color: var(--purple);
  font-weight: 900;
  font-size: 1.4vw;
  text-align: center;
}
.bg_contents .bg_menu .access:after {
  display: inline-block;
  position: absolute;
  top:.5em;
  right: 1em;
  width: 5.5em;
  height: 5.5em;
  margin: auto;
  background: url(/special/ahamo_okaeri/assets/images/qr.webp) no-repeat center;
  background-size: cover;
  vertical-align: baseline;
  content: "";
}
.bg_contents .bg_right_area {
  position: fixed;
  right: 0;
  width: 100%;
  max-width: calc((100% - 750px) / 2);
  margin-top: 7vw;
  padding: 0 3.6vw;
}
.bg_right_area_bg {
  padding: 1.7vw 1.4vw 1vw 1.4vw;
  border-radius: 1.5vw;
  background-color: #fff;
	box-shadow: 0px 5px var(--purple);
}
.bg_contents .bg_right_area .pink_btn {
  margin-bottom: 2vw;
}
.pink_btn, .blue_btn {
  position: relative;
}
.bg_contents .bg_right_area .cv_btn {
  width: 100%;
}
.bg_contents .bg_right_area div a {
  padding: .7em 0;
}
.bg_contents .bg_right_area div a, .bg_right_area .btn_lead {
  font-size: 1.3vw;
}
.bg_contents .bg_right_area div a, .bg_right_area .btn_lead {
  font-size: 1.3vw;
}
.btn_lead {
  margin: 20px 0 10px;
  font-weight: 700;
  font-size: 3.2rem;
  line-height: 1.1;
  text-align: center;
}
.pink_btn, .blue_btn {
  position: relative;
}
.bg_contents .bg_right_area .blue_btn::before {
  top: -18%;
  left: -1.1vw;
  width: 3.5vw;
  height: 3.5vw;
}
.bg_contents .bg_right_area .blue_btn::after {
  top: 18%;
  right: -2.2%;
  width: 2.6vw;
  height: 3.5vw;
}
  .bg_menu li a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  width: 100%;
  height: 100%;
  padding: .5vw 1vw .5vw 2.5vw;
  border-radius: 6rem;
  background-color: #fff0fc;
  color: var(--pink);
  font-weight: bold;
  font-size: 1.3vw;
  line-height: 1.3;
  text-decoration: none;
  transition: 0s;
  box-shadow: 0px 3px #ffc5e6;
	text-align: center;
	padding-left: 2.2em;
}
.bg_menu li a::after {
  display: inline-block;
  position: absolute;
  right: 10%;
	top: 35%;
  width: 1.4vw;
  height: 1.4vw;
  margin-top: .2rem;
  background: url(/special/ahamo_okaeri/assets/images/ic_pink.svg) no-repeat;
  content: "";
  transition: 0s;
}
.bg_menu ul a.anchor__1 {
  line-height: 2.5;
}
.bg_menu li a.is-active {
    background: var(--pink);
    color: #fff;
  -o-transition: all .3s;
  -ms-transform: translate(0, 3px);
  transform: translate(0, 3px); 
  -webkit-box-shadow: 0 0 #b50052; 
  box-shadow: 0 0 #b50052; 
}
.bg_menu ul li a.is-active::after {
  background: url("/special/ahamo_okaeri/assets/images/ic_pink_active.svg") no-repeat;
}
@media screen and (max-width: 1810px) {
.bg_contents .bg_menu .access {
  font-size: 1.2vw;
}
}
@media screen and (max-width: 1720px) {
.bg_contents .bg_menu .access {
  font-size: 1.1vw;
}
}
@media screen and (max-width: 1650px) {
.bg_contents .bg_menu .access {
  font-size: 1.2vw;
}
}
@media screen and (max-width: 1500px) {
  .bg_contents .bg_menu .access {
    border-radius: .8rem;
  }
}
@media screen and (max-width: 1595px) {
  .bg_contents .bg_menu .access {
    font-size: 1vw;
  }
}
@media screen and (max-width: 1550px) {
  .bg_contents .bg_menu .access {
    font-size: 1vw;
  }
}
@media screen and (max-width: 1420px) {
  .bg_contents .bg_menu .access {
    font-size: .8vw;
  }
}
@media screen and (max-width: 1366px) {
  .bg_contents {
    display: none;
  }
}
@media screen and (max-width: 1720px) {
  .bg_contents .bg_right_area div a, .bg_right_area .btn_lead {
    font-size: 1.2vw;
  }
}
@media screen and (max-width: 1650px) {
  .bg_contents .bg_right_area div a, .bg_right_area .btn_lead {
    font-size: 1.1vw;
  }
}
@media screen and (max-width: 1650px) {
  .bg_contents .bg_right_area .cv_btn::before {
    right: 1.2em;
    width: 0.6em;
    height: 0.6em;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
  }
}
@media screen and (max-width: 1550px) {
  .bg_contents .bg_right_area .cv_btn::before {
    right: 1.4em;
    width: 0.6em;
    height: 0.6em;
    border-top: 2.5px solid #fff;
    border-right: 2.5px solid #fff;
  }
}
@media screen and (max-width: 1470px) {
  .bg_contents .bg_right_area .cv_btn::before {
    right: 0.9em;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
  }
}
@media screen and (max-width: 1550px) {
  .bg_contents .bg_right_area div a, .bg_right_area .btn_lead {
    font-size: 1vw;
  }
}
@media screen and (max-width: 1470px) {
  .bg_right_area_bg {
    padding: 1.3vw 0 .2vw;
  }
}
@media screen and (max-width: 1500px) {
  .bg_contents .bg_right_area .blue_btn::after {
    top: 10%;
    right: -3.5%;
  }
}
@media screen and (max-width: 1470px) {
  .bg_contents .bg_right_area .blue_btn::after {
    top: 20%;
    right: 2%;
  }
}
@media screen and (max-width: 1470px) {
  .bg_contents .bg_right_area .cv_btn {
    width: 90%;
  }
}
@media screen and (max-width: 1500px) {
  .bg_contents .bg_right_area div a, .bg_right_area .btn_lead {
    font-size: 1vw;
  }
}
@media screen and (max-width: 1470px) {
  .bg_contents .bg_right_area div a, .bg_right_area .btn_lead {
    font-size: 1vw;
  }
}
@media screen and (max-width: 1470px) {
  .cv_btn::before {
    right: .8em;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
  }
}
@media screen and (max-width: 1470px) {
  .bg_contents .bg_right_area .blue_btn::before {
    top: -19%;
    left: 2%;
    width: 2vw;
    height: 3vw;
  }
}
@media screen and (max-width: 1470px) {
  .bg_menu li a {
    padding-left: 2vw;
  }
}
@media screen and (max-width: 1500px) {
  .bg_menu li a {
    border-radius: 4rem;
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 1470px) {
  .bg_menu li a::after {
    right: 8%;
    width: 1.5em;
    height: 1.5em;
  }
}
@media (hover: hover) {
  .bg_menu li a:hover {
    background: var(--pink);
    color: #fff;
		 -webkit-transition: all .3s;
  -o-transition: all .3s;
  -ms-transform: translate(0, 3px);
  transform: translate(0, 3px); 
  -webkit-box-shadow: 0 0 #b50052; 
  box-shadow: 0 0 #b50052; 
  }
  .bg_menu a {
    opacity: 1;
  }
  .bg_menu li a:hover::after {
    background: url("/special/ahamo_okaeri/assets/images/ic_pink_active.svg") no-repeat;
  }
}