@charset "utf-8";
* {
  box-sizing: border-box;
}
body {
  color: #222;
}
a.ar_link {
  background-image: url(/images/ar-icon.png);
  background-repeat: no-repeat;
  background-position: center left;
  color: #e7198c;
  padding-left: 15px;
}
a.ar_link.anchor {
  background-image: url(/images/ar-icon_dw.png);
}
a.ar_link.tab-icon {
  background-image: url(/images/tab-icon.png);
}
.bg-beige {
  background-color: #fbf4e6;
}
.bg-white {
  background-color: #fff;
}
.mt-0 {margin-top: 0!important;}
.mt-5 {margin-top: 5px!important;}
.mt-10 {margin-top: 10px!important;}
.mt-15 {margin-top: 15px!important;}
.mt-20 {margin-top: 20px!important;}
.mt-30 {margin-top: 30px!important;}
.mb-0 {margin-bottom: 0!important;}
.mb-5 {margin-bottom: 5px!important;}
.mb-10 {margin-bottom: 10px!important;}
.mb-15 {margin-bottom: 15px!important;}
.mb-20 {margin-bottom: 20px!important;}
.mb-30 {margin-bottom: 30px!important;}
.ml-5 {margin-left: 5px!important;}
.ml-10 {margin-left: 10px!important;}
.ml-15 {margin-left: 15px!important;}
.ml-20 {margin-left: 20px!important;}
.ml-30 {margin-left: 30px!important;}
.mr-5 {margin-right: 5px!important;}
.mr-10 {margin-right: 10px!important;}
.mr-15 {margin-right: 15px!important;}
.mr-20 {margin-right: 20px!important;}
.mr-30 {margin-right: 30px!important;}
.pt-10 {padding-top: 10px!important;}

.ta-c {text-align: center;}
small {font-size: 0.8em;}
.inline-block {display: inline-block;}

h1.jts-mainVisual__title {
  display: none;
}
.jts-mainVisual {
  font-size: 0;/* 何故か高さが出る為 */
}

.title3 {
  position: relative;
  margin: 0 auto 20px;
  padding-left: 15px;
  text-align: left;
  color: #303030;
  font-size: 20px;
  font-weight: normal;
  line-height: 1.1;
}
span.-indent {
  display: inline-block;
  text-indent: -1em!important;
  padding-left: 1em!important;
}

/* nav-menu */
.nav-menu {
  background-color: #f7f5f1;
  border-bottom: 2px solid #dcdddd;
}
.nav-menu.jtspr-fixed {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  box-shadow: 0 0 5px #555;
  z-index: 1000;
}
.nav-area {
  height: 50px;
  display: flex;
  align-items: center;
}
.nav-area a {
  display: block;
  height: 100%;
  padding: 5px 0;
  border-right: 2px solid #dcdddd;
}
.nav-area a li {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  font-size: 14px;
  font-weight: bold;
  color: #333;
}
.nav-area a.active {
  color: #222!important;
  background-color: #e1b756!important;
  text-decoration: none;
}
.fixed-cover {
  width: 100%;
  height: 0;
  transition: none;
}
.fixed-cover.jtspr-fixed {
  height: 50px;
}

/* content */
.content-title {
  margin-bottom: 2rem;
  padding: 0.4rem 1rem 0.2rem;
  text-align: center;
  font-size: 30px;
  font-weight: bold;
}
.content-title.line {
  text-align: left;
  background-image: linear-gradient(#ee5eae 50%, #f38cc5 50%);
  background-repeat: no-repeat;
  background-size: 6px 100%;
}
.title3 {
  position: relative;
  font-size: 18px;
  padding-left: 0.8em;
}
.title3:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  width: 4px;
  height: 90%;
  transform: translateY(-55%);
  background: linear-gradient(#EE5DAE 0%, #EE5DAE 49%, #F38CC4 50%, #F38CC4 100%);
}
.catch {
  font-size: 20px;
  font-weight: bold;
  margin-top: 15px;
}
.flex-box {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.flex-box.justify-center {
  justify-content: center;
}
.flex-box.justify-start {
  justify-content: flex-start;
}
.flex-box.align-start {
  align-items: flex-start;
}
.flex-box.align-center {
  align-items: center;
}
.feature-box {
  padding: 10px 10px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.feature-box h3 {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  height: 70px;
  line-height: 1.3em;
  word-break: normal;
}
.feature-box img {
  max-width: 220px;
  max-height: 160px;
}
.feature-box:nth-child(4) img {
  margin-top: 10px;
}

.img-sub {
  padding: 5px 3px;
  text-align: center;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 2px;
  color: #634000;
  border: 2px solid #d7a23f;
}
.img-sub span {
  font-weight: bold;
}
.low {
  text-align: center;
}
.feature-kome {
  text-align: left;
  line-height: 1.3em;
}
.-indent {
  text-indent: -1em;
  padding-left: 1em;
}
.en .-indent {
  text-indent: -0.5em;
  padding-left: 0.5em;
}
.specification-table {
  width: 100%;
}
.specification-table th {
  position: relative;
  padding: 35px 0;
  font-size: 16px;
  font-weight: bold;
  background-color: #e1b756;
  vertical-align: middle;
  width: 30%;
}
.specification-table td {
  position: relative;
  padding: 35px 0;
  font-size: 16px;
  font-weight: bold;
  vertical-align: middle;
  width: 70%;
}
.specification-table th:before {
  position: absolute;
  content: "";
  width: 90%;
  height: 1px;
  bottom: 0;
  left: 5%;
  background-color: #222;
  z-index: 2;
}
.specification-table tr:last-child th:before {
  content: none;
}
.specification-table tr:last-child th:after {
  content: none;
}
.specification-table td:before {
  position: absolute;
  content: "";
  width: 97%;
  height: 1px;
  bottom: 0;
  right: 0;
  background-color: #222;
}
.specification-table tr:first-child td:after {
  position: absolute;
  content: "";
  width: 97%;
  height: 1px;
  top: 0;
  right: 0;
  background-color: #222;
}
.specification-table small {
  display: block;
  margin-top: 15px;
  font-size: 0.8em;
  line-height: normal;
}
.specification-kome {
  margin-top: 10px;
}
.specification-kome li {
  font-size: 13px;
  margin-top: 5px;
  text-indent: -2em;
  padding-left: 2em;
  line-height: 1.3;
}
.radius-7 {
  border-radius: 7px;
}
.flow-box {
  display: flex;
  flex-direction: column;
  width: 320px;
  padding: 40px 20px;
}
.flow-box h2 {
  text-align: center;
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 20px;
}
.flow-box img {
  display: block;
  max-width: 50%;
  margin: 0 auto;
  flex-grow: 1;
}

/* 設定手順 */
.flow-setting {
  max-width: 960px;
  padding: 40px;
}
.flow-setting + .flow-setting {
  margin-top: 50px;
}
.flow-flex {
  display: flex;
  justify-content: space-between;
}
.flow-setting__title {
  margin-bottom: 15px;
  line-height: 1.5;
  font-size: 20px;
  font-weight: bold;
}
ul.no-list-style li {
  list-style-type: none;
  margin-top: 7px;
  font-size: 16px;
}
ul.no-list-style li.big {
  font-size: 18px;
  font-weight: bold;
}
ul.no-list-style.dotted-indent li {
  text-indent: -1em;
  padding-left: 1em;
}
ul.disc-list {
  margin-left: 1.5em;
}
ul.disc-list li {
  list-style-type: disc;
}
ul.kome li {
  list-style-type: none;
  font-size: 13px;
  text-indent: -1em;
  padding-left: 1em;
  font-weight: normal;
}
ul.kome li:before {
  content: "※";
}
.en ul.kome li:before {
  content: "* ";
}
.manual-slider {
  margin-top: 10px;
}
.flow-setting__anno {
  margin-bottom: 20px;
  line-height: 1.3;
  font-size: 14px;
  text-align: center;
}

.faq-area {
  padding: 30px 0;
  border-top: 2px solid #222;
  border-bottom: 2px solid #222;
}
.faq-area .flex-box {
  flex-wrap: nowrap;
}
.faq-box {
  padding: 20px 0;
  border-bottom: 1px solid #222;
}
.faq-box:first-child {
  padding-top: 0;
}
.faq-box:last-child {
  padding-bottom: 0;
  border-bottom: none;
}
.faq-q,
.faq-a {
  width: 5%;
  font-size: 20px;
  font-weight: bold;
}
.faq-q {
  color: #d7a23f;
}
.faq-a {
  color: #ef2e84;
}
.faq-box h3 {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5em;
}
.faq-box p {
  width: 95%;
  margin-top: 3px;
  line-height: 1.5em;
}
.faq-box p .kome {
  display: inline-block;
  font-size: 0.8em;
  margin-left: 0;
  line-height: normal;
}
.inc_gaiyo .kome {
  display: inline-block;
  font-size: 0.8em;
  margin-left: 0;
  line-height: normal;
  text-indent: -1em;
  padding-left: 1em;
}
table.setting {
  width: 88%;
  margin-left: 5%;
  margin-top: 10px;
}
table.setting th,
table.setting td {
  padding: 0 0 5px;
}
table.setting th {
  width: 68px;
}
.ar_link.close {
  pointer-events: none;
  opacity: .5;
  filter: grayscale(100%);
}
.tobidashi {
  display: inline-block;
  position: relative;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 15px;
}
.tobidashi:before {
  position: absolute;
  content: "";
  width: 1px;
  height: 24px;
  bottom: 0;
  left: -10px;
  background-color: #222;
  transform: rotateZ(-25deg);
}
.tobidashi:after {
  position: absolute;
  content: "";
  width: 1px;
  height: 24px;
  bottom: 0;
  right: -10px;
  background-color: #222;
  transform: rotateZ(25deg);
}
#shop p,
#shop-en p,
#shop-chs p {
  margin-top: 30px;
  font-size: 16px;
  text-align: center;
  line-height: 1.3em;
}
#shop > .flex-box {
  border-bottom: 2px solid #e1b756;
}
.package-img {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 400px;
  margin: 0 auto;
}
.package-img > img {
  width: 300px;
}
.package-img .shop-img {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 5px;
}
.package-img .shop-img img {
  width: 32%;
}
.shop-box {
  width: calc(100% / 3);
}
.shop-box:first-of-type {
  width: 100%;
  margin-bottom: 3em;
}
.shop-box h3 {
  padding: 7px 0;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  background-color: #e1b756;
}
.shop-box-body {
  padding: 30px 20px 20px;
}
.shop-box:first-of-type .shop-box-body {
  width: calc(100% / 3);
  border-left: 1px dotted #ccc;
  padding-top: 10px;
}
.shop-box:first-of-type .shop-box-body:last-of-type {
  border-right: 1px dotted #ccc;
}
.sale-anno {
  margin-bottom: 50px;
  padding: 10px;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  background-color: #fbf4e6;
}
.shop-box-body img {
  display: block;
  margin: 0 auto;
}
.shop-box-body img.lawson {
  width: 67%;
}
.shop-box-body img:not(.lawson) {
  padding: 5px;
  margin: 0;
}
@media screen and (max-width: 640px) {
  .shop_img[alt="券面"],
  .shop_img[alt="SIM card"],
  .shop_img[alt="SIM卡"] {
    margin-top: 0 !important;
  }

  .package-img {
    width: 80%;
  }
}
.shop-box-body img[alt="ビックカメラ"],
.shop-box-body img[alt="ソフマップ"],
.shop-box-body img[alt="biccamera"],
.shop-box-body img[alt="sofmap"] {
  padding: 0;
}
.shop-box-body .kome {
  margin-top: 50px;
  text-align: center;
}
.shop_img {
  width: 100%;
}

.page_top {
  position: fixed;
  width: 60px;
  height: 60px;
  right: 30px;
  bottom: 113px;
  padding: 0;
  background-color: #e1b756;
  font-size: 20px;
  opacity: 0;
  transform: rotateY(90deg);
  transition: .3s;
  z-index: 1;
}
.page_top.jtspr-fixed {
  opacity: 1;
  transform: rotateY(0deg);
  transition: .3s;
}
.page_top a {
  position: relative;
  height: 100%;
  padding-bottom: 10px;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}
.page_top a:before {
  position: absolute;
  content: "";
  top: 7px;
  background: #000;
  height: calc(tan(60deg) * 17px / 2);
  width: 17px;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
}
.page_top a:hover {
  color: #000;
  text-decoration: none;
  opacity: .7;
}

#ot-sdk-btn.mio-cookie-style {
  background: #e1b756!important;
  border: none!important;
}
#ot-sdk-btn.ot-sdk-show-settings, #ot-sdk-btn.optanon-show-settings {
  padding: 0.8em 1.5em!important;
  font-size: 1em!important;
}
/*////////*/
/* footer */
/*////////*/
.jts-footer {
  background-color: #0D0D0D;
  text-align: center;
}
.jts-footer__List {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 22px;
  line-height: 1.4em;
}
.jts-footer__ListItem:not(:first-child) {
  margin-left: 1em;
}
.jts-footer__txtLink {
  display: inline-block;
  padding-left: 1em;
  color: #82785d!important;
  position: relative;
  transition: .2s;
}
.jts-footer__txtLink:hover,
.jts-footer__txtLink:hover a,
.jts-footer__txtLink:hover a span {
  color: #fff!important;
  text-decoration: none;
  transition: .2s;
}
.jts-footer__inner .mb-1,
.jts-footer__copyright {
  color: #ecc05b;
}
.chs .cpEndTxt2 {
  font-family : 'SimSun','sans-serif';
}

/* information */
#information{
  width: 100%;
  padding-top: 3rem;
}
.info-box {
  box-sizing: border-box;
  width: 960px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: stretch;
  background-color: #fff;
  border-top: solid 1px #dfd4c1;
  border-bottom: solid 1px #dfd4c1
}
.info-box .info-box-title {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
}
.info-box .info-box-title span {
  font-size: 1.5rem;
  white-space: nowrap;
}
.info-box .info-box-title .news-icon{
  margin-right: 1rem;
}
.info-box .info-box-details{
  position: relative;
  padding: 1.5rem;
}
.info-box .info-box-details::before{
  content:"";
  position: absolute;
  top: 16%;
  left: 0;
  height: 70%;
  border-left: solid 1px #dfd4c1;
}
.info-box .info-box-detail {
  position: relative;
  display: flex;
}
.info-box .info-box-detail+.info-box-detail {
  margin-top: 0.5rem;
}
.info-box .info-box-detail > div+div {
  padding-left: 1.5rem;
}

@media screen and (min-width: 641px) {
  .jts-mainVisual {
    background: url(/unlimited/img/main.png) center top no-repeat;
    height: 425px;
    position: relative;
  }
  .content-box {
    width: 960px;
    margin: 0 auto;
    padding: 50px 0 70px;
  }
  .inc_gaiyo .content-box {
    max-width: 920px;
  }
  /* nav-menu */
  .nav-area {
    width: 960px;
    margin: 0 auto;
  }
  .nav-area a {
    width: 20%;
  }
  .nav-area a:hover {
    color: #222;
    background-color: #e1b756;
    text-decoration: none;
  }
  .nav-area a:first-child {
    border-left: 2px solid #dcdddd;
  }
  .space-in {
    letter-spacing: 0.5em;
  }

  /* content */
  .content-title {
    margin-bottom: 40px;
  }
  .feature-box {
    width: 48%;
  }
  .feature-box:nth-child(n + 3) {
    margin-top: 30px;
  }
  .specification-table th,
  .specification-table td {
    text-align: center;
  }
  .specification-table td {
    padding: 35px 20px 35px 35px;
  }
  .flex-box.pc-evenly {
    justify-content: space-evenly;
  }
  .flow-text-box {
    width: 68%;
  }
  .flow-img {
    width: 27%;
  }
  .flow-img img {
    width: 100%;
  }
  .sale-anno {
    margin-top: 10px;
  }

  .ja .campaign-top {
    background: url(/image/campaign_main.png) center top no-repeat;
    height: 594px;
    position: relative;
  }
  .en .campaign-top {
    background: url(/image/campaign_main_en.png) center top no-repeat;
    height: 594px;
    position: relative;
  }
  .chs .campaign-top {
    background: url(/image/campaign_main_chs.png) center top no-repeat;
    height: 594px;
    position: relative;
  }

  /*////////*/
  /* footer */
  /*////////*/
  .jts-footer {
    padding: 24px;
    min-width: 960px;
  }
  .footer__inner {
    max-width: 960px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .jts-footer__txtLink {
    font-size: 11px;
    position: relative;
  }
  .jts-footer__txtLink:before {
    content: "";
    width: 4px;
    height: 4px;
    border-top: 1px solid #82785d;
    border-right: 1px solid #82785d;
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -2px;
    transform: rotate(45deg);
  }
}

@media screen and (max-width: 640px) {
  #mainVisual {
    margin: 0;
  }
  a.logo_link {
    width: 30%;
  }
  .content-box {
    width: 100%;
    margin: 0 auto;
    padding: 30px 5% 50px;
  }
  .bnr-area {
    margin: 5px 0;
  }

  /* nav-menu */
  .nav-menu {
    border-top: 1px solid #dcdddd;
    border-bottom: 1px solid #dcdddd;
  }
  .nav-area {
    width: 100%;
    height: 50px;
  }
  .nav-area a {
    padding: 5px 0;
    border-right: 1px solid #dcdddd;
  }
  .nav-area a:hover {
    color: unset;
    background-color: unset;
    text-decoration: none;
  }
  .nav-area a:nth-child(1),
  .nav-area a:nth-child(2),
  .nav-area a:nth-child(4) {
    width: 18%;
  }
  .nav-area a:nth-child(3),
  .nav-area a:nth-child(5) {
    width: 23%;
  }
  .en .nav-area a:nth-child(1) {
    width: 20%;
  }
  .en .nav-area a:nth-child(2) {
    width: 24%;
  }
  .en .nav-area a:nth-child(3) {
    width: 22%;
  }
  .en .nav-area a:nth-child(4) {
    width: 13%;
  }
  .en .nav-area a:nth-child(5) {
    width: 21%;
  }
  .nav-area a li {
    text-align: center;
    line-height: 1.3em;
    font-size: 3.5vw;
  }

  /* content */
  .content-title {
    font-size: 6.5vw;
  }
  .content-title.long {
    font-size: 5.8vw;
    word-break: normal;
  }
  .content-title.long.en {
    font-size: 5.5vw;
    word-break: normal;
  }
  .content-title.line {
    font-size: 3.5vw;
  }
  .flex_box {
    flex-direction: column;
  }
  .feature-box {
    width: 100%;
    margin-top: 10px;
    padding: 30px 3%;
  }
  .feature-box:first-child {
    margin-top: 0;
  }
  .feature-box h3 {
    font-size: 5vw;
    height: auto;
    margin-bottom: 20px;
  }
  .img-sub {
    font-size: 4.5vw;
  }
  .low {
    font-size: 3.5vw;
  }
  .en .specification-table th {
    width: 37%;
  }
  .specification-table th {
    padding: 15px 3%;
    font-size: 3.5vw;
    line-height: 1.5em;
  }
  .specification-table td {
    padding: 15px 2% 15px 4%;
    font-size: 3.5vw;
    line-height: 1.5em;
  }
  .specification-table small {
    margin-top: 10px;
  }
  .specification-kome li {
    font-size: clamp(10px, 3vw, 12px);
  }
  .catch {
    font-size: 4vw;
  }
  .flow-flex {
    flex-direction: column;
  }
  .flow-box {
    width: 45%;
    padding: 25px 5px;
  }
  .flow-box h2 {
    font-size: 5vw;
  }
  .flow-box img {
    max-width: 90%;
  }

  /* 設定手順 */
  .flow-setting__title {
    font-size: 5vw;
  }
  .flow-setting__anno {
    font-size: 3.5vw;
    width: 85%;
    margin: 0 auto 20px;
  }
  .flow-setting {
    padding: 20px 3%;
  }
  .flow-setting.jp,
  .flow-setting.en,
  .flow-setting.chs {
    margin-top: 20px;
  }
  #flow ul.no-list-style,
  #flow ul.no-list-style li {
    font-size: 4vw;
  }
  ul.kome li {
    font-size: clamp(10px, 3vw, 12px)!important;
  }
  .flow-img {
    margin: 10px auto;
    width: 70%;
  }

  .faq-q,
  .faq-a {
    width: 12%;
    font-size: 5vw;
  }
  .faq-box h3,
  .faq-box p {
    width: 88%;
  }
  .faq-box h3 {
    font-size: 4.5vw;
  }
  .faq-box p {
    margin-top: 0;
    font-size: 3.5vw;
  }
  table.setting {
    margin-left: 12%;
  }
  table.setting th {
    width: 18%;
  }
  .resize-link {
    font-size: 3.5vw;
  }
  .tobidashi {
    font-size: 5vw;
  }
  #shop p, #shop-en p, #shop-chs p {
    font-size: 4vw;
  }
  .shop-box,
  .shop-box:first-of-type,
  .shop-box:first-of-type .shop-box-body {
    width: 100%;
  }
  .shop-box:first-child {
    border-bottom: none;
  }
  .shop-box-body {
    padding: 30px 3%;
  }
  .sale-anno {
    margin-bottom: 20px;
    font-size: 4.5vw;
  }
  .shop-box h3 {
    font-size: 5vw;
  }
  .shop-box-body img.lawson {
    width: 75%;
  }
  .shop-box-body .kome {
    margin-top: 20px;
  }
  .shop-box:first-of-type .shop-box-body {
    border-left: 0;
    border-bottom: 1px dotted #ccc;
    padding-top: 30px;
  }
  .shop-box:first-of-type .shop-box-body:first-of-type {
    padding-top: 10px;
  }
  .shop-box:first-of-type .shop-box-body:last-of-type {
    border-bottom: 0;
    border-right: 0;
  }
  .page_top {
    width: 50px;
    height: 50px;
    right: 0;
    bottom: 113px;
    font-size: 18px;
  }
  .page_top a:before {
    top: 5px;
    height: calc(tan(60deg) * 12px / 2);
    width: 12px;
  }

  /* information */
  #information {
    width: 95%;
    margin: 0 auto;
  }
  .info-box {
    width: 100%;
    padding: 0 1rem;
    padding-top: 0;
    display: block;
    text-align: left;
  }
  .info-box .info-box-title {
    justify-content: flex-start;
    padding: 0.5rem;
    border-bottom: solid 1px #dfd4c1
  }
  .info-box .info-box-detail {
    display: block;
    line-height: 1.6;
  }
  .info-box .info-box-details {
    padding: 0.5rem
  }
  .info-box .info-box-detail > div+div {
    padding-left: 0;
    /* padding-top: 0.3rem; */
  }
  .info-box .info-box-details::before{
    display: none;
  }

  /*////////*/
  /* footer */
  /*////////*/
  .jts-footer__inner {
    padding: 24px 8px 22px;
    margin-left: auto;
    margin-right: auto;
  }
  .jts-footer__txtLink {
    font-size: 11px;
    position: relative;
  }
  .jts-footer__txtLink:before {
    content: "";
    width: 4px;
    height: 4px;
    border-top: 1px solid #82785d;
    border-right: 1px solid #82785d;
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -2px;
    transform: rotate(45deg);
  }
}


#faq{
  width: 100%;
}
#faq .qa_title .qa_help_link{
  text-align: center;
  padding-bottom: 35px;
  width: 95%;
  margin: 0 auto;
  line-height: 1.5em;
}
.tab_wrap{
  max-width:960px;
  width: 100%;
  margin:0 auto;
}
input[type="radio"]{
  display:none;
}
.tab_area {
  display: flex;
  justify-content: space-between;
  margin-bottom: 5px;
}
.tab_area label{
  width:49%;
  padding:15px 0;
  color:#c7b597;
  background:#f8f5f0;
  text-align:center;
  font-size:18px;
  font-weight: bold;
  cursor:pointer;
  transition:ease 0.2s opacity;
}
.tab_area label:hover{
  opacity:0.8;
}
.panel_area{
  background:#fff;
  border: solid 10px #e2d6c3;
}
.tab_panel{
  width:100%;
  display:none;
}
#tab1:checked ~ .tab_area .tab1_label{
  background:#e2d6c3;
  color:#897451;
}
#tab1:checked ~ .panel_area #panel1{
  display:block;
}
#tab2:checked ~ .tab_area .tab2_label{
  background:#e2d6c3;
  color:#897451;
}
#tab2:checked ~ .panel_area #panel2{
  display:block;
}
#tab1:checked ~ .tab_area .tab1_label,
#tab2:checked ~ .tab_area .tab2_label {
  pointer-events: none;
}

.qa-list dl {
  position: relative;
  margin: 0;
  padding: 20px 25px;
  cursor: pointer;
  border-bottom: solid 8px #e2d6c3;
}
.qa-list dl:last-child{
  border-bottom: none;
}
.qa-list dl dt {
  position: relative;
  margin: 0;
  font-weight: bold;
  font-size: 18px;
}
.qa-list dl dt::before {
  display: block;
  content: "";
  position: absolute;
  top:0;
  right:0;
  bottom:0;
  margin:auto;
  width: 20px;
  height: 2px;
  background-color: #40180A;
  transition: .2s;
  transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
}
.qa-list dl dt:after{
  display: block;
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 20px;
  height: 2px;
  background-color: #40180A;
  transition: .3s;
}
.qa-list dl.open dt:before{
  transform: rotate(0deg);
  -webkit-transform: rotate(0deg);
}
.qa-list dl.open dt:after{
  background-color: transparent;
}
.qa-list dl dd {
  position: relative;
  display: none;
  height: auto;
  margin-top: 20px;
  padding-top: 20px;
  border-top: solid 1px #b59e77;
  font-size: 14px;
  line-height: 22px;
  transition: none;
  word-break: normal;
}
.qa-list dl dd * {
  word-break: normal;
}
.qa-list dl dd p {
  margin: 30px 0 0;
}
.qa-list dl dd p:first-child{
  margin-top: 0;
}
.qa-list ul.no-list-style,
.qa-list ul.no-list-style li {
  font-size: 14px;
}
.qa-list span.band {
  display: inline-block;
  text-align: center;
  margin-right: 5px;
  width: 100px;
  background-color: #f2f2f2;
  font-weight: bold;
}
.in-answer-flex {
  display: flex;
  align-items: flex-start;
}
.in-answer-img {
  width: 300px;
  padding-top: 1em;
  padding-left: 1em;
}
.in-answer-flex .in-answer-img {
  width: 300px;
  padding-top: 0;
  padding-left: 3em;
}
.in-answer-img img {
  width: 100%;
}


.precautions_wrap .cost-area {
  max-width: 960px;
  width: 100%;
  margin: 0 auto;
  padding-bottom: 5em;
}
.precautions_wrap ul.precautions {
  background: #fff;
  border: solid 10px #e2d6c3;
  padding: 2rem;
}
.qa-list table th {
  background-color: #f5f5f5;
}
.qa-list table th,
.qa-list table td {
  padding: 5px 10px;
  border: 1px solid #ccc;
  border-collapse: collapse;
}
@media screen and (max-width: 640px) {
  .tab_area label{
    font-size: 4.5vw;
  }
  .panel_area{
    border: solid 7px #e2d6c3;
  }
  .qa-list dl{
    padding: 15px;
    border-bottom: solid 5px #e2d6c3;
  }
  .qa-list dl dt{
    font-size: 4.5vw;
    line-height: 1.4em;
    padding-right: 10px;
  }
  .qa-list dl dt::before{
    right: -2%;
    width: 15px;
  }
  .qa-list dl dt:after{
    right: -2%;
    width: 15px;
  }
  .qa-list table th {
    width: 40%;
  }
  .qa-list table td {
    width: 60%;
    word-break: break-all;
  }
  .qa-list span.band {
    display: block;
    text-align: left;
    margin-right: 0;
    margin-bottom: 5px;
    padding-left: 5px;
    width: 100%;
  }
  .in-answer-flex {
    display: flex;
    align-items: center;
    flex-direction: column;
  }
  .in-answer-img {
    width: 90%;
    margin: 0 auto;
    padding-left: 3em;
  }
  .in-answer-flex .in-answer-img {
    width: 90%;
    padding-top: 1em;
    padding-left: 3em;
  }
}

#contact .title3 {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 10px;
}
#contact .contact-detail {
  padding: 30px 40px;
}
#contact .contact-detail + .title3 {
  margin-top: 30px;
}
.contact-flex {
  justify-content: center;
  align-items: center;
  display: flex;
}
.contact-tel {
  box-sizing: border-box;
  margin-bottom: 1rem;
  padding: 4vw;
  text-align: center;
  border: 2px solid #ccc;
}
.contact-tel p {
  font-size: 4.4vw;
  font-weight: bold;
  text-align: center;
  line-height: 1.4em;
}
.contact-tel p.tel-number {
  font-size: 7vw;
}
.contact-other {
  text-align: left;
  font-size: clamp(10px, 3.2vw, 12px);
}

.maintenance-area {
  padding: 20px 30px;
  border: 1px solid #ccc;
}
.maintenance-area h2 {
  margin-bottom: 7px;
  padding-bottom: 7px;
  font-size: 14px;
  font-weight: bold;
  border-bottom: 1px solid #ccc;
}
.maintenance-area ul {
  display: flex;
  flex-wrap: wrap;
}
.maintenance-area ul li {
  font-size: 12px;
}
.maintenance-area ul li:nth-child(n + 2) {
  margin-left: 15px;
}

@media screen and (min-width: 641px) {
  .contact-tel {
    width: 500px;
    margin: 1rem auto;
    padding: 2rem;
    border: 3px solid #ccc;
  }
  .contact-tel p {
    font-size: 20px;
  }
  .contact-tel p.tel-number {
    font-size: 40px;
  }
  .contact-tel .icon-tel {
    width: 40px;
  }
  .contact-other {
    width: 500px;
    margin: 0 auto;
    font-size: 14px;
  }
}

@media screen and (max-width: 640px) {
  #contact .contact-detail {
    padding: 5vw;
  }
  .icon-tel {
    width: 10%;
  }
  .maintenance-area {
    padding: 10px 3%
  }
}

/*---------- リンク ----------*/
.text_link,
.anchor_link,
.ex_link {
  position: relative;
  display: inline-block;
  font-size: 1em !important;
  line-height: 1;
  color: #e7198c !important;
  padding: 0 0 0 15px !important;
}
.text_link:before,
.anchor_link:before,
.ex_link:before {
  content: "";
  position: absolute;
  left: 2px;
  top: 50%;
  width: 12px;
  height: 12px;
  transform: translateY(-50%);
}
.text_link:before,
.anchor_link:before {
  background: #e7198c;
  border-radius: 3px;
}
.text_link:after,
.anchor_link:after {
  border-width: 1px;
  width: 5px !important;
  height: 5px !important;
}
.text_link:after {
  top: 45%;
  left: 2px;
}
.anchor_link:after {
  top: 10%;
  left: 5px;
  transform: rotate(135deg) !important;
}
.ex_link:before {
  position: absolute;
  content: "";
  width: 5vw;
  height: 5vw;
  top: 50%;
  left: 5vw;
  transform: translateY(-50%);
  background-image: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22external_link%22%20width%3D%2211%22%20height%3D%2211%22%20viewBox%3D%220%200%2011%2011%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.cls-1%20%7B%20fill%3A%20%23fff%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cpath%20id%3D%22object%22%20class%3D%22cls-1%22%20d%3D%22M10%2C1V0H3v3H0v7h1v1h7v-3h3V1h-1ZM6%2C9H1v-5h2v3h3v2ZM6%2C6h-2v-2h2v2ZM9%2C6h-2v-3h-3V1h5v5Z%22%2F%3E%3C%2Fsvg%3E');
  background-repeat: no-repeat;
  background-size: 100% auto;
}

@media screen and (min-width: 641px) {
  .text_link:hover,
  .anchor_link:hover,
  .ex_link:hover {
    text-decoration: underline;
  }
  .ex_link:before {
    width: 16px;
    height: 16px;
    left: 20px;
  }
}



/*---------- ピンクボタン ----------*/
.pink_btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 360px;
  height: 54px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
  text-decoration: none !important;
  background: #fa4e9e;
  color: #fff !important;
  border: none;
  border-radius: 50em;
  box-shadow: 0 0.2em 0 rgb(170 170 170 / 50%);
  padding: 0 0 0 1.2em;
  margin: 0 auto;
  box-sizing: border-box;
  transition-duration: .3s;
  cursor: pointer;
}

.pink_btn:before {
  top: 50%;
  left: 0.8em;
  border-width: 2px;
}

@media screen and (max-width: 640px) {
  .pink_btn {
    width: 80%;
    max-width: 600px;
    height: 14vw;
    font-size: 4vw;
    padding: 0 0 0 1.5em;
  }

  .pink_btn:before {
    left: 1em;
  }
  /* ボタン2行 */
  .pink_btn.btn_row2 {
    font-size: 3.7vw;
  }
  /* /ボタン2行 */
}

@media screen and (min-width: 641px) {
  .pink_btn:hover {
    opacity: .7;
  }
}
/*---------- /ピンクボタン ----------*/
