@charset "UTF-8";

@font-face {

  font-family: "Noto Sans JP";

  font-style: normal;

  font-weight: 400;

  src: url("../fonts/NotoSansJP-Regular.woff") format("woff");

  font-display: swap;

}



@font-face {

  font-family: "Noto Sans JP";

  font-style: normal;

  font-weight: 700;

  src: url("../fonts/NotoSansJP-Bold.woff") format("woff");

  font-display: swap;

}



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

Reset

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

*,

*::before,

*::after {

  box-sizing: border-box;

  touch-action: manipulation;

}



html {

  font-size: 62.5%;

  overflow: auto;

}



body {

  overflow-x: hidden;

  font-size: 1.6rem;

  /*16px*/

  line-height: 1.8;

  font-family: "Noto Sans JP";

  text-align: justify;

  text-justify: inter-ideograph;

  font-feature-settings: "palt" 1;

}



input,

select,

textarea {

  font-family: "Noto Sans JP";

}



body,

h1,

h2,

h3,

h4,

h5,

p,

ul,

ol,

li,

dl,

dd,

dt {

  margin: 0;

  padding: 0px;

}



h1,

h2,

h3,

h4,

h5 {

  font-size: 100%;

}



li {

  list-style: none;

  margin: 0;

  padding: 0;

}



a {

  text-decoration: none;

  color: #000;

}



a:hover {

  text-decoration: none;

}



/*a img:hover { opacity: 0.9; -moz-opacity: 0.9;}*/

a img {

  border-style: none;

}



img {

  vertical-align: bottom;

  /* 一番上の画像だけ注意。隙間が空く可能性あり */

  line-height: 0 !important;

  /* display:block; */

}



button {

  background-color: transparent;

  border: none;

  backface-visibility: hidden;

}



button:focus {

  outline: none;

}



button:hover {

  cursor: pointer;

}



input:focus,

select:focus {

  outline: none;

}



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

定数（基本的に、全サイト共通に使えるもの）

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

.c {

  text-align: center !important;

}



.cm {

  margin-left: auto;

  margin-right: auto;

}



.r {

  text-align: right !important;

}



.l {

  text-align: left !important;

}



.inline-block {

  display: inline-block;

}



.block {

  display: block;

}



.vertical-top {

  vertical-align: top;

}



.vertical-middle {

  vertical-align: middle;

}



.pointer {

  cursor: pointer;

}



.br::before {

  content: "\A";

  white-space: pre;

}



.margin100 {

  margin-bottom: 100px;

}



.margin90 {

  margin-bottom: 90px;

}



.margin80 {

  margin-bottom: 80px;

}



.margin70 {

  margin-bottom: 70px;

}



.margin60 {

  margin-bottom: 60px;

}



.margin50 {

  margin-bottom: 50px;

}



.margin40 {

  margin-bottom: 40px;

}



.margin30 {

  margin-bottom: 30px;

}



.margin20 {

  margin-bottom: 20px;

}



.margin10 {

  margin-bottom: 10px;

}



.padding_t100 {

  padding-top: 100px;

}



.padding_t90 {

  padding-top: 90px;

}



.padding_t80 {

  padding-top: 80px;

}



.padding_t70 {

  padding-top: 70px;

}



.padding_t60 {

  padding-top: 60px;

}



.padding_t50 {

  padding-top: 50px;

}



.padding_t40 {

  padding-top: 40px;

}



.padding_t30 {

  padding-top: 30px;

}



.padding_t20 {

  padding-top: 20px;

}



.padding_t10 {

  padding-top: 10px;

}



.padding_b100 {

  padding-bottom: 100px;

}



.padding_b90 {

  padding-bottom: 90px;

}



.padding_b80 {

  padding-bottom: 80px;

}



.padding_b70 {

  padding-bottom: 70px;

}



.padding_b60 {

  padding-bottom: 60px;

}



.padding_b50 {

  padding-bottom: 50px;

}



.padding_b40 {

  padding-bottom: 40px;

}



.padding_b30 {

  padding-bottom: 30px;

}



.padding_b20 {

  padding-bottom: 20px;

}



.padding_b10 {

  padding-bottom: 10px;

}



.padding500p {

  padding-top: 50%;

}



.padding450p {

  padding-top: 45%;

}



.padding400p {

  padding-top: 40%;

}



.padding350p {

  padding-top: 35%;

}



.padding300p {

  padding-top: 30%;

}



.padding250p {

  padding-top: 25%;

}



.padding200p {

  padding-top: 20%;

}



.padding150p {

  padding-top: 15%;

}



.padding100p {

  padding-top: 10%;

}



.padding90p {

  padding-top: 9%;

}



.padding80p {

  padding-top: 8%;

}



.padding70p {

  padding-top: 7%;

}



.padding60p {

  padding-top: 6%;

}



.padding50p {

  padding-top: 5%;

}



.padding40p {

  padding-top: 4%;

}



.padding30p {

  padding-top: 3%;

}



.padding20p {

  padding-top: 2%;

}



.padding10p {

  padding-top: 1%;

}



.visible1800, .visible1000, .visible900, .visible750, .visible600, .visible500, .visible400, .visible320 {

  display: none;

}



/* clearfix */

.clearfix:after {

  content: "";

  clear: both;

  display: block;

}



/*重なりの優先度*/

.relative {

  position: relative;

}



.absolute {

  position: absolute;

}



/*要素固定*/

.fixed {

  position: fixed;

}



.z0 {

  z-index: 0;

}



.z1 {

  z-index: 1;

}



.z2 {

  z-index: 2;

}



.z3 {

  z-index: 3;

}



.z4 {

  z-index: 4;

}



.z5 {

  z-index: 5;

}



.z6 {

  z-index: 6;

}



.z7 {

  z-index: 7;

}



.z8 {

  z-index: 8;

}



.z9 {

  z-index: 9;

}



.z10 {

  z-index: 10;

}



/*横幅*/

.w100 {

  width: 100%;

}



.w90 {

  width: 90%;

}



.w80 {

  width: 80%;

}



.w70 {

  width: 70%;

}



.w60 {

  width: 60%;

}



.w50 {

  width: 50%;

}



.w40 {

  width: 40%;

}



.w30 {

  width: 30%;

}



.w20 {

  width: 20%;

}



.w10 {

  width: 10%;

}



.disabled {

  pointer-events: none;

  /*リンクを無効にする*/

}



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

サイト毎に変化のある定数

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

.fullscreen {

  width: 100%;

  margin-left: auto;

  margin-right: auto;

}



.contents {

  width: 900px;

  max-width: 900px;

  margin-left: auto;

  margin-right: auto;

}



.contents1800 {

  width: 100%;

  max-width: 1800px;

  margin-left: auto;

  margin-right: auto;

}



.contents1000 {

  width: 100%;

  max-width: 1000px;

  margin-left: auto;

  margin-right: auto;

}



.img_center {

  margin-left: -450px;

}



.white {

  color: #fff;

}



.black {

  color: #333;

}



.red {

  color: #f00;

}



.orange {

  color: #ff8f00;

}



.bold {

  font-weight: bold;

}



/*--font系設定--*/

.big {

  font-size: 2em;

}



.biger {

  font-size: 4.5em;

}



.f34 {

  font-size: 3.4rem;

}



.lh_14 {

  line-height: 1.4;

}



/*--font系設定-end--*/

/*--レイアウト系設定--*/

/*--レイアウト系設定-end--*/

.bg_black {

  background-color: #333;

}



.bg_white {

  background-color: #fff;

}

.bg-gray {

  background-color: #e6e6e6;

}



.bg_white2 {

  background-color: #fff6ea;

}



.bg_pink {

  background-color: #FF6982;

}



.bg_pink2 {

  background-color: #FEF4F5;

}



.bg_red {

  background-color: #f00;

}



.bg_clear {

  background-color: transparent;

}



.bg_orange {

  background-color: #ff8f00;

}



.bg_gray {

  background-color: #e6e6e6;

}



.bg_yellow {

  background-color: #FFFF00;

}



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

ヘッダー

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

header {

  width: 100%;

  top: 0;

  margin: 0 auto;

  line-height: 0;

  /* 画像の上下に隙間が空いてしまう対策 *    

    position:fixed;

    z-index:100;

    /* top:-1px; */

}



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

フッター

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

footer {

  /*position:fixed;*/

  position: relative;

  z-index: 2;

  text-align: center;

  color: #000;

  bottom: 0;

  left: 0;

  right: 0;

  padding: 30px 20px 20px;

}



.footer {

  position: absolute;

  bottom: 0;

}



.copyright {

  justify-content: center;

  align-items: center;

}



.copyright,

.copyright a {

  color: #505050;

}



.copyright a:hover {

  text-decoration: underline;

}



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

↓↓↓ 各種レイアウト ↓↓↓

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

.taps_bg::before {

  content: "";

  display: block;

  position: fixed;

  top: 0;

  left: 0;

  right: 0;

  margin: 0 auto;

  z-index: -1;

  max-width: 1800px;

  width: 100%;

  height: 100vh;

  background: url("../img/taps_bg.png") center repeat-y;

}



.liner {

  border-bottom: 5px solid #ff8f00;

}



/*--header--*/

/*--header-end--*/

/*--contents--*/

.meter_wrap {

  top: 31%;

  left: 0;

  right: 0;

  margin: 0 auto;

  padding: 5rem 0 7rem;

  width: 720px;

  border-radius: 20px;

  font-size: 2rem;

}



.meter_reward {

  padding: 2rem 0;

  line-height: 1;

  font-family: "Hiragino Kaku Gothic ProN", "Copperplate";

}



.meter_btn_wrap {

  margin-top: 2rem;

  cursor: pointer;

  user-select: none;

}



.meter_btn,

.back_btn {

  display: inline-block;

  padding: 2rem 7rem;

  font-size: 5rem;

  border-radius: 2rem;

}



.meter_btn_shadow,

.back_btn_shadow {

  box-shadow: 0px 15px 0px 0px #BA9602;

}



.meter_btn_shadow.active,

.back_btn_shadow.active {

  transform: translateY(15px);

  box-shadow: 0px 0px 0px 0px #BA9602;

}



.meter_btn_shadow__pink, .back_btn_shadow__pink {

  box-shadow: 0px 15px 0px 0px #CC5468;

}



.taps_01_1 {

  padding: 2rem 0;

}



.taps_01_2 {

  top: 75%;

  left: 0;

  right: 0;

  margin: 0 auto;

}



.taps_01_3, .taps_01_3b {

  right: -10%;

  top: -17%;

}



.taps_03_1 {

  top: 78%;

  left: 0;

  right: 0;

  margin: 0 auto;

}



.taps_04_1 {

  top: 0%;

}



.taps_04_2 {

  top: 62%;

}



.taps_04_2_op {

  top: 59.7%;

  left: 1.9%;

}



.taps_05_1 {

  top: 30.8%;

}



.taps_06_1 {

  top: 62.1%;

}



.taps_07_1 {

  top: 67%;

  left: 0;

  right: 0;

  margin: 0 auto;

}



.taps_12 {

  width: 100%;

  padding-bottom: 2rem;

}



.taps_12 img {

  width: 80%;

}



/*--contents-end--*/

/*--footer--*/

/*--footer-end--*/

/* --背景設定-- */

/* --背景設定-end-- */

/* --画像位置設定-- */

/* --画像位置設定-end-- */

/* --プラポリ-- */

#wrapper {

  width: 100%;

  min-height: 100vh;

  position: relative;

}



.taps_13 img {

  width: 100%;

}



.privacy_title {

  font-size: 5rem;

}



.privacy_head {

  width: 85%;

  border-radius: 20px;

  padding: 10px 20px;

  font-size: 3rem;

  text-align: center;

}



.privacy_head__border {

  border: 5px solid #000;

}



.privacy_contents_wrap {

  width: 85%;

  border-radius: 20px;

  padding: 10px 20px;

  font-size: 1.6rem;

}



.privacy_contents_wrap__border {

  border: 5px solid #000;

}



.privacy_contents_wrap p {

  padding-bottom: 5rem;

}



.privacy_subtitle {

  font-size: 1.25em;

}



.icon {

  position: relative;

  line-height: 1.5em;

  padding-left: 1.5em;

}



.icon::before {

  content: "■";

  position: absolute;

  left: 0;

  /* background: url("../img/od_p_03.png") no-repeat; */

  background-size: contain;

  display: inline-block;

  width: 1.5em;

  height: 1.5em;

  color: #FF6982;

}



.bg_privacy {

  /*background-color: #515151;*/

  background: url("../img/asw_pp_back.png");

  background-repeat: repeat-y;

  max-width: 1800px;

  margin: 0 auto;

}

.f40 {

  font-size: 40px;

  font-weight: 600;

}

/*.back-btn{

  position: relative;

  padding: 1rem 10rem;

  box-sizing: border-box;

  font-size: 3rem;

  .fas{

    position:  absolute;

    top: 50%;

    left: 5%;

    transform: translateY(-50%);

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

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

  } 

}*/

/* --プラポリ-end-- */

/*--toggleMenu--*/

/*--toggleMenu-end--*/

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

↑↑↑ 各種レイアウト ↑↑↑

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

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

↓↓↓ フォーム部分 ↓↓↓

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

form {

  color: #333;

  font-size: 1.5rem;

}



.err_msg {

  color: #f00;

}



.form {

  width: 90%;

}



.form_item {

  margin-top: 1.5rem;

  margin-bottom: 0.3rem;

  line-height: 1.8;

}



input[type="text"],

input[type="email"],

input[type="password"],

select,

textarea {

  width: 96%;

  padding: 1% 2% 1% 2%;

  display: block;

  background-color: #fff;

  border: 1px solid #333;

  /* border-radius: 10px; */

}



input::-webkit-input-placeholder {

  padding-top: 0.1rem;

}



/*iphone対応*/

input:disabled {

  opacity: 0.8;

}



select {

  width: 100%;

}



textarea {

  height: 10rem;

}



/********

チェックボックス

********/

.checkbox-input {

  display: none;

}



.checkbox-input:checked + .checkbox-parts {

  color: #f00;

}



.checkbox-input:checked + .checkbox-parts::after {

  content: "";

  display: block;

  position: absolute;

  top: -9px;

  left: 7px;

  width: 14px;

  height: 28px;

  transform: rotate(40deg);

  border-bottom: 5px solid #f00;

  border-right: 5px solid #f00;

}



.checkbox-parts {

  /* padding-top:30px; */

  padding-left: 40px;

  position: relative;

  /* margin-right: 20px; */

  font-size: 1.5rem;

  font-weight: bold;

  line-height: 2rem;

}



.checkbox-parts::before {

  content: "";

  display: block;

  position: absolute;

  top: 2px;

  left: 0;

  width: 25px;

  height: 25px;

  border: 2px solid #333;

  border-radius: 4px;

}

.picture {

  display: flex;

  justify-content: center;

}

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

↑↑↑ フォーム部分 ↑↑↑

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

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

サンキュー用レイアウト

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

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

特定商用レイアウト

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

@keyframes rotate {

  from {

    transform: rotate(0deg);

  }



  to {

    transform: rotate(360deg);

  }

}



.hidden {

  opacity: 0;

  transition: opacity 1s ease;

}



.accbox {

  width: 100%;

}



.accbox label {

  display: block;

  padding: 20px 15px;

  color: white;

  background-color: #505050;

  font-weight: bold;

  cursor: pointer;

  transition: all 0.5s;

  font-size: 25px;

  border-radius: 3px;

}



.accshow p {

  padding: 2%;

  text-align: justify;

  text-justify: inter-ideograph;

  font-feature-settings: "palt";

}



#label1_txt {

  display: none;

  background: white;

  border-top: 4px solid #cccccc;

  border-left: 4px solid #cccccc;



}



#label2_txt {

  display: none;

  background: white;

  border-top: 4px solid #cccccc;

  border-left: 4px solid #cccccc;

}





#label3_txt {

  display: none;

  background: white;

  border-top: 4px solid #cccccc;

  border-left: 4px solid #cccccc;

}



.tbl-service {

  width: 100%;

  padding: 5% 2.5%;

  margin: 0 auto;

  border-collapse: collapse;

}



.service-name {

  min-width: 160px;

  text-align: center;

}



.service-price {

  min-width: 150px;

  text-align: center;

}



.service-price_info {

  min-width: 150px;

  text-align: center;

}



.tbl-service th,

.tbl-service td {

  padding: 5px;

}



.tbl-service th:nth-child(1) {

  border-left: solid 1px #50C3E6;

}



.tbl-service th:nth-child(3) {

  border-right: solid 1px #50C3E6;

}



.tbl-service th {

  background-color: #50C3E6;

  color: #FFF;

}



.tbl-service th:nth-child(1),

.tbl-service th:nth-child(2),

.tbl-service th:nth-child(3) {

  border-right: dashed 1px #fff;

}



.tbl-service td {

  border: dashed 1px #50C3E6;

}



.table1 {

  width: 90%;

  margin: 0 auto;

  padding: 5% 0;

}



tr {

  background-color: white !important;

}

.footer-bg {

  background-color: #DCF5FA;

}

.copyright {

  text-align: center;

  font-size: 20px;

}

.copyright, .copyright a {

  color: #505050;

}

.margin_t50 {

  margin-top: 50px;

}

.margin_t10 {

  margin-top: 10px;

}

.f_txt1 {

  color: #505050;
  text-align: left;

}





@media screen and (max-width: 900px) {

  .accbox label {

      font-size: 22px;

  }

  .f40 {

    font-size: 35px;

  }

}

@media screen and (max-width: 600px) {

  .copyright, .copyright a {

      font-size: 16px;

  }

  .accbox label {

    font-size: 18px;

    padding: 15px 15px;

}

.f40 {

  font-size: 30px;

}

}

@media screen and (max-width: 450px) {

  .accbox label {

      font-size: 16px;

      padding: 12px 15px;

  }

  .f40 {

    font-size: 20px;

  }

}
.btn1 {
  margin-top: -2%;
}
.btn2 {
  padding-top: 2%;
}