@charset "UTF-8";
/* ------------------------------
 Color
------------------------------ */
/* ------------------------------
 Gradient
------------------------------ */
/* ------------------------------
 BorderBg
------------------------------ */
/* ------------------------------
 Easing
------------------------------ */
/* ------------------------------
 Font
------------------------------ */
body, button {
  font-family: "Noto Sans JP", "Hiragino Sans", "ヒラギノ角ゴシック", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", sans-serif;
}

/* ------------------------------
 Mixin
------------------------------ */
/* ------------------------------
 Reset CSS
------------------------------ */
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

main, article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary {
  display: block;
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4, h5, h6, h7, p, dl, dt, dd, ul, ol, li, form {
  margin: 0;
  padding: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

ul, ol {
  list-style-type: none;
}

img {
  vertical-align: bottom;
  border: 0;
  width: 100%;
  /* @media (-webkit-max-device-pixel-ratio: 1){
  	image-rendering: -webkit-optimize-contrast;
  } */
}

a {
  outline: 0;
  text-decoration: none;
  color: currentColor;
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  margin: 0;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  color: currentColor;
}
button::-moz-focus-inner {
  border: 0;
}

hr {
  height: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

/* ------------------------------
 Body
------------------------------ */
html {
  font-size: 10px;
  -webkit-text-size-adjust: 100%;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}
@media (max-width: 1020px) {
  html {
    font-size: 0.9803921569vw;
  }
}
@media (max-width: 750px) {
  html {
    font-size: 2.6666666667vw;
  }
}

/* ------------------------------
  import
------------------------------ */
/* ------------------------------
  bg-color
------------------------------ */
.bg-pale-grey {
  background-color: #f8f8f8 !important;
}

.bg-light-grey {
  background-color: #e6e6e6 !important;
}

.bg-light-orange {
  background-color: #fce5ad !important;
}

.bg-pale-orange {
  background-color: #fef6e0 !important;
}

.bg-pale-beige {
  background-color: #f9f6ea !important;
}

.bg-orange {
  background-color: #ff8d0f !important;
}

.bg-white {
  background-color: #FFF !important;
}

.bg-black {
  background-color: #000 !important;
}

/* ------------------------------
  text-color
------------------------------ */
.color-white {
  color: #FFF !important;
}

.color-black {
  color: #000 !important;
}

.color-grey {
  color: #555 !important;
}

.color-orange {
  color: #ff8d0f !important;
}

.color-red {
  color: #c41111 !important;
}

/* ------------------------------
  border-color
------------------------------ */
.border-orange {
  border-color: #ff8d0f !important;
}

.border-white {
  border-color: #FFF !important;
}

.border-black {
  border-color: #000 !important;
}

.border-none {
  border: none !important;
}

/* ------------------------------
  display util
------------------------------ */
.PC {
  display: block !important;
}

.PCI {
  display: inline !important;
}

.SP, .SPI {
  display: none !important;
}

@media (max-width: 750px) {
  .PC, .PCI {
    display: none !important;
  }

  .SP {
    display: block !important;
  }

  .SPI {
    display: inline !important;
  }
}
.d-bl {
  display: block;
}

.d-ib {
  display: inline-block;
}

.d-fl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 750px) {
  .sp-d-bl {
    display: block;
  }

  .sp-d-ib {
    display: inline-block;
  }

  .sp-d-fl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
/* ------------------------------
  margin
------------------------------ */
.mt--1em {
  margin-top: -1em !important;
}

.mt--05em {
  margin-top: -0.5em !important;
}

.mt-0em {
  margin-top: 0em !important;
}

.mt-05em {
  margin-top: 0.5em !important;
}

.mt-1em {
  margin-top: 1em !important;
}

.mt-15em {
  margin-top: 1.5em !important;
}

.mt-2em {
  margin-top: 2em !important;
}

.mt-3em {
  margin-top: 3em !important;
}

.mt-4em {
  margin-top: 4em !important;
}

.mt-5em {
  margin-top: 5em !important;
}

.mb-0em {
  margin-bottom: 0em !important;
}

.mb-05em {
  margin-bottom: 0.5em !important;
}

.mb-1em {
  margin-bottom: 1em !important;
}

.mb-15em {
  margin-bottom: 1.5em !important;
}

.mb-2em {
  margin-bottom: 2em !important;
}

.ml-05em {
  margin-left: 0.5em !important;
}

.ml-0 {
  margin-left: 0 !important;
}

.ml-1em {
  margin-left: 1em !important;
}

.ml-15em {
  margin-left: 1.5em !important;
}

.ml-2em {
  margin-left: 2em !important;
}

.mr-0 {
  margin-right: 0 !important;
}

.mr-05em {
  margin-right: 0.5em !important;
}

.mr-1em {
  margin-right: 1em !important;
}

.mr-15em {
  margin-right: 1.5em !important;
}

.mr-2em {
  margin-right: 2em !important;
}

.m-center {
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 750px) {
  .sp-mt--1em {
    margin-top: -1em !important;
  }

  .sp-mt--05em {
    margin-top: -0.5em !important;
  }

  .sp-mt-0em {
    margin-top: 0em !important;
  }

  .sp-mt-05em {
    margin-top: 0.5em !important;
  }

  .sp-mt-1em {
    margin-top: 1em !important;
  }

  .sp-mt-15em {
    margin-top: 1.5em !important;
  }

  .sp-mt-2em {
    margin-top: 2em !important;
  }

  .sp-mt-3em {
    margin-top: 3em !important;
  }

  .sp-mt-4em {
    margin-top: 4em !important;
  }

  .sp-mt-5em {
    margin-top: 5em !important;
  }

  .sp-mb-0em {
    margin-bottom: 0em !important;
  }

  .sp-mb-05em {
    margin-bottom: 0.5em !important;
  }

  .sp-mb-1em {
    margin-bottom: 1em !important;
  }

  .sp-mb-15em {
    margin-bottom: 1.5em !important;
  }

  .sp-mb-2em {
    margin-bottom: 2em !important;
  }

  .sp-ml-05em {
    margin-left: 0.5em !important;
  }

  .sp-ml-0 {
    margin-left: 0 !important;
  }

  .sp-ml-1em {
    margin-left: 1em !important;
  }

  .sp-ml-15em {
    margin-left: 1.5em !important;
  }

  .sp-ml-2em {
    margin-left: 2em !important;
  }

  .sp-mr-0 {
    margin-right: 0 !important;
  }

  .sp-mr-05em {
    margin-right: 0.5em !important;
  }

  .sp-mr-1em {
    margin-right: 1em !important;
  }

  .sp-mr-15em {
    margin-right: 1.5em !important;
  }

  .sp-mr-2em {
    margin-right: 2em !important;
  }

  .sp-m-center {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
/* ------------------------------
  padding
------------------------------ */
.pt-0 {
  padding-top: 0 !important;
}

/* ------------------------------
 text
------------------------------ */
h1, h2, h3, h4, h5, h6 {
  line-height: 1.4;
}

p, ul, dl {
  line-height: 1.8;
}

sup {
  font-size: 0.7em;
  vertical-align: 0.5em;
}

.ffs-normal {
  -webkit-font-feature-settings: normal !important;
          font-feature-settings: normal !important;
}

/* ------------------------------
 text-size
------------------------------ */
.tpl-txt-exl {
  font-size: 3.6rem !important;
}
@media (max-width: 750px) {
  .tpl-txt-exl {
    font-size: 2.2rem !important;
  }
}

.tpl-txt-xxl {
  font-size: 2.6rem !important;
}
@media (max-width: 750px) {
  .tpl-txt-xxl {
    font-size: 2rem !important;
  }
}

.tpl-txt-xl {
  font-size: 2.3rem !important;
}
@media (max-width: 750px) {
  .tpl-txt-xl {
    font-size: 1.8rem !important;
  }
}

.tpl-txt-lg {
  font-size: 2rem !important;
}
@media (max-width: 750px) {
  .tpl-txt-lg {
    font-size: 1.6rem !important;
  }
}

.tpl-txt-md, .tpl-feature-label .txt {
  font-size: 1.8rem !important;
}
@media (max-width: 750px) {
  .tpl-txt-md, .tpl-feature-label .txt {
    font-size: 1.45rem !important;
  }
}

.tpl-txt-rg {
  font-size: 1.6rem !important;
}
@media (max-width: 750px) {
  .tpl-txt-rg {
    font-size: 1.3rem !important;
  }
}

.tpl-txt-sm {
  font-size: 1.4rem !important;
}
@media (max-width: 750px) {
  .tpl-txt-sm {
    font-size: 1.15rem !important;
  }
}

.tpl-txt-xs {
  font-size: 1.2rem !important;
}
@media (max-width: 750px) {
  .tpl-txt-xs {
    font-size: 1em !important;
  }
}

.tpl-txt-xxs {
  font-size: 1rem !important;
}
@media (max-width: 750px) {
  .tpl-txt-xxs {
    font-size: 0.8rem !important;
  }
}

@media (max-width: 750px) {
  .sp-tpl-txt-xxl {
    font-size: 2rem !important;
  }

  .sp-tpl-txt-xl {
    font-size: 1.8rem !important;
  }

  .sp-tpl-txt-lg {
    font-size: 1.6rem !important;
  }

  .sp-tpl-txt-md {
    font-size: 1.45rem !important;
  }

  .sp-tpl-txt-rg {
    font-size: 1.3rem !important;
  }

  .sp-tpl-txt-sm {
    font-size: 1.15rem !important;
  }

  .sp-tpl-txt-xs {
    font-size: 1rem !important;
  }

  .sp-tpl-txt-xxs {
    font-size: 0.8rem !important;
  }
}
/* ------------------------------
  text-scale
------------------------------ */
.tpl-txt-50p {
  font-size: 0.5em !important;
}

.tpl-txt-75p {
  font-size: 0.75em !important;
}

.tpl-txt-125p {
  font-size: 1.25em !important;
}

.tpl-txt-150p {
  font-size: 1.5em !important;
}

.tpl-txt-175p {
  font-size: 1.75em !important;
}

.tpl-txt-200p {
  font-size: 2em !important;
}

@media (max-width: 750px) {
  .sp-tpl-txt-50p {
    font-size: 0.5em !important;
  }

  .sp-tpl-txt-75p {
    font-size: 0.75em !important;
  }

  .sp-tpl-txt-125p {
    font-size: 1.25em !important;
  }

  .sp-tpl-txt-150p {
    font-size: 1.5em !important;
  }

  .sp-tpl-txt-175p {
    font-size: 1.75em !important;
  }

  .sp-tpl-txt-200p {
    font-size: 2em !important;
  }
}
/* ------------------------------
  line-height
------------------------------ */
.lh-wd {
  line-height: 2.2;
}
@media (max-width: 750px) {
  .lh-wd {
    line-height: 2;
  }
}

.lh-rg {
  line-height: 1.8;
}

.lh-nr {
  line-height: 1.4;
}

.lh-xn {
  line-height: 1.2;
}

@media (max-width: 750px) {
  .sp-lh-wd {
    line-height: 2;
  }

  .sp-lh-rg {
    line-height: 1.8;
  }

  .sp-lh-nr {
    line-height: 1.4;
  }

  .sp-lh-xn {
    line-height: 1.2;
  }
}
/* ------------------------------
  font-weight
------------------------------ */
.fw-normal {
  font-weight: normal !important;
}

.fw-medium {
  font-weight: 500 !important;
}

.fw-bold {
  font-weight: bold !important;
}

/* ------------------------------
  text-decoration
------------------------------ */
.underline {
  text-decoration: underline;
}

/* ------------------------------
  letter-spacing
------------------------------ */
.ls--05 {
  letter-spacing: -0.5em !important;
}

.ls-0 {
  letter-spacing: 0 !important;
}

.ls-50 {
  letter-spacing: 0.05rem !important;
}

@media (max-width: 750px) {
  .sp-ls--05 {
    letter-spacing: -0.05em !important;
  }

  .sp-ls-0 {
    letter-spacing: 0 !important;
  }

  .sp-ls-50 {
    letter-spacing: 0.05rem !important;
  }
}
/* ------------------------------
  text-layout
------------------------------ */
.justify {
  text-align: justify;
  text-justify: inter-ideograph;
}

@media (max-width: 750px) {
  .sp-justify {
    text-align: justify;
    text-justify: inter-ideograph;
  }
}
.burasage {
  display: block;
  overflow: hidden;
  text-align: left;
}
.burasage > * {
  display: block;
  overflow: hidden;
}
.burasage > *:first-child {
  float: left;
  -webkit-font-feature-settings: normal;
          font-feature-settings: normal;
}

@media (max-width: 750px) {
  .sp-burasage {
    display: block;
    overflow: hidden;
    text-align: left;
  }
  .sp-burasage > * {
    display: block;
    overflow: hidden;
  }
  .sp-burasage > *:first-child {
    float: left;
    -webkit-font-feature-settings: normal;
            font-feature-settings: normal;
  }
}
.nowrap {
  white-space: nowrap !important;
}

@media (max-width: 750px) {
  .sp-wrap {
    white-space: normal !important;
  }
}
/* ------------------------------
  text-align
------------------------------ */
.align-left {
  text-align: left !important;
}

.align-center {
  text-align: center !important;
}

.align-right {
  text-align: right !important;
}

@media (max-width: 750px) {
  .sp-align-left {
    text-align: left !important;
  }

  .sp-align-center {
    text-align: center !important;
  }

  .sp-align-right {
    text-align: right !important;
  }

  .sp-ls-0 {
    letter-spacing: 0 !important;
  }
}
/* ------------------------------
  round-txt
------------------------------ */
.tpl-round-txt {
  border: 1px solid currentColor;
  line-height: 1.2;
  padding: 0.4em 1em;
  display: inline-block;
  border-radius: 2em;
}

/* ------------------------------
 material-icon
------------------------------ */
.material-icons, .material-icons-outlined {
  font-size: 1.2em;
  vertical-align: -0.2em;
}

*[data-icon]::before {
  content: attr(data-icon);
}

/* icon-size */
.icon-lg {
  font-size: 1.8em;
  vertical-align: -0.3em;
}

.icon-md {
  font-size: 1.5em;
  vertical-align: -0.25em;
}

.icon-rg {
  font-size: 1.2em;
  vertical-align: -0.2em;
}

.icon-sm {
  font-size: 1em;
  vertical-align: -0.15em;
}

/* ------------------------------
  tpl-icon-arrow
------------------------------ */
.tpl-icon-arrow {
  display: inline-block;
  position: relative;
  text-align: center;
  width: 1em;
  height: 1em;
  line-height: 1;
  border: 0.06em solid currentColor;
  background-color: #FFF;
  border-radius: 50%;
}
.tpl-icon-arrow::before {
  content: "\e409";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-size: 0.7em;
  height: 1em;
  padding-left: 0.05em;
}
.tpl-icon-arrow.prev::before {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}
.tpl-icon-arrow.down {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.not-touch .tpl-icon-arrow:hover, .not-touch a:hover .tpl-icon-arrow {
  background-color: currentColor;
}
.not-touch .tpl-icon-arrow:hover::before, .not-touch a:hover .tpl-icon-arrow::before {
  color: #FFF;
}

.tpl-icon-arrow-corner {
  position: absolute;
  top: auto;
  left: auto;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 2em;
  height: 2em;
  background: linear-gradient(135deg, transparent 50%, currentColor 50%);
  color: #ff8d0f;
  font-size: 2.5rem;
}
@media (max-width: 750px) {
  .tpl-icon-arrow-corner {
    font-size: 1.6rem;
  }
}
.tpl-icon-arrow-corner.sm {
  font-size: 1.5rem;
}
@media (max-width: 750px) {
  .tpl-icon-arrow-corner.sm {
    font-size: 1.2rem;
  }
}
.tpl-icon-arrow-corner::before {
  position: absolute;
  top: auto;
  left: auto;
  right: 0.1em;
  bottom: 0.1em;
  margin: auto;
  content: "\e409";
  color: #FFF;
}
.tpl-icon-arrow-corner.down::before {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

/* ------------------------------
  hover
------------------------------ */
.not-touch .op-hv:hover {
  opacity: 0.7;
}

/* ------------------------------
  text-link
------------------------------ */
.tpl-line-link {
  text-decoration: underline;
  color: #2879e8;
}
.tpl-line-link[target]::after {
  display: inline-block !important;
  /*content: "\e89e" !important;*/
  color: #ff8d0f !important;
  text-decoration: none !important;
}
.tpl-line-link.next::after {
  display: inline-block;
  content: "\e409";
  color: #ff8d0f;
  font-size: 1.5em;
  vertical-align: -0.3em;
  text-decoration: none !important;
}
.not-touch .tpl-line-link:hover {
  text-decoration: none;
}

/* ------------------------------
  tpl-btn-round
------------------------------ */
.tpl-btn-round {
  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;
  position: relative;
  font-size: 1.8rem;
  line-height: 1.2;
  font-weight: bold;
  background: #FFF;
  height: 3.4em;
  border-radius: 2em;
  border: 1px solid #e6e6e6;
  margin: 1em auto;
  -webkit-box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.2);
  max-width: 36rem;
  padding-right: 1em;
}
@media (max-width: 750px) {
  .tpl-btn-round {
    font-size: 1.5rem;
  }
}
.tpl-btn-round.short {
  max-width: 26rem;
}
.tpl-btn-round.icon {
  padding-right: 1em;
}
.tpl-btn-round .tpl-icon-arrow {
  position: absolute;
  top: 0;
  left: auto;
  right: 0.3em;
  bottom: 0;
  margin: auto;
  font-size: 1.8em;
  color: #ff8d0f;
}
.not-touch .tpl-btn-round:hover {
  color: #ff8d0f;
}

/* ------------------------------
  tpl-btn-orange
------------------------------ */
.tpl-btn-orange {
  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;
  font-size: 2rem;
  width: 15em;
  margin: 0;
  background: -webkit-gradient(linear, left top, right top, from(#ffd50f), to(#ffbe0f));
  background: linear-gradient(to right, #ffd50f 0%, #ffbe0f 100%);
  letter-spacing: 0.1em;
  line-height: 1;
  font-weight: bold;
  padding: 1em;
  border-radius: 0.4em;
  -webkit-box-shadow: inset 0 0 0 2px #ffbe0f, inset 0 0 0 4px #FFF;
          box-shadow: inset 0 0 0 2px #ffbe0f, inset 0 0 0 4px #FFF;
}
@media (max-width: 750px) {
  .tpl-btn-orange {
    font-size: 1.8rem;
    letter-spacing: 0;
  }
}
.tpl-btn-orange span {
  padding-bottom: 0.15em;
}
.tpl-btn-orange.round {
  border-radius: 2em;
}

/* ------------------------------
  tpl-btn-account
------------------------------ */
.tpl-btn-account-wrap {
  margin-top: 5rem;
}
@media (max-width: 750px) {
  .tpl-btn-account-wrap {
    margin-top: 8.8888888889vw;
  }
}

.tpl-btn-account {
  display: block;
  max-width: 66rem;
  margin: auto;
}

/* ------------------------------
  tpl-header
------------------------------ */
.tpl-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: auto;
  margin: auto;
  z-index: 1000;
  background: #FFF;
  border-bottom: 1px solid #e6e6e6;
}
.tpl-header-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 7rem;
  padding-right: 7rem;
}
@media (max-width: 750px) {
  .tpl-header-inner {
    height: 13.3333333333vw;
    padding-right: 5.5555555556vw;
  }
}
.tpl-header-col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.tpl-header .logo-asset {
  width: 16rem;
}
@media (max-width: 750px) {
  .tpl-header .logo-asset {
    width: 30vw;
  }
}
.tpl-header .tpl-txt-btn {
  font-size: 1.6rem;
  font-weight: bold;
  /* color: #ff8d0f; */
  margin: 0 1em;
}
@media (max-width: 750px) {
  .tpl-header .tpl-txt-btn {
    font-size: 1.2rem;
  }
}

/* ------------------------------
  tpl-footer
------------------------------ */
.tpl-footer {
  padding: 6em 0;
    text-align: center;
}
@media (max-width: 750px) {
  .tpl-footer {
    padding: 8.8888888889vw 0 20vw;
  }
}
.tpl-footer-logo {
  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;
}
.tpl-footer .logo-kddi {
  width: 90px;
}
@media (max-width: 750px) {
  .tpl-footer .logo-kddi {
    width: 17.7777777778vw;
  }
}
.tpl-footer .logo-au {
  width: 75px;
}
@media (max-width: 750px) {
  .tpl-footer .logo-au {
    width: 13.3333333333vw;
  }
}
.tpl-footer .logo-asset {
  width: 120px;
  margin-left: 1rem;
}
@media (max-width: 750px) {
  .tpl-footer .logo-asset {
    width: 23.3333333333vw;
  }
}
.tpl-footer .copyright {
  font-size: 0.9rem;
  margin-top: 1em;
  color: #555;
}

/* ------------------------------
  tpl-global-menu
------------------------------ */
.tpl-global-menu {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: auto;
  margin: auto;
  z-index: 1100;
  background: #FFF;
  -webkit-transition: 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  overflow: auto;
}
@media (min-width: 751px) {
  .tpl-global-menu {
    max-height: 100vh;
  }
}
@media (max-width: 750px) {
  .tpl-global-menu {
    left: auto;
    height: 100vh;
  }
  .tpl-global-menu::-webkit-scrollbar {
    display: none;
  }
}
html:not(.menu-open) .tpl-global-menu {
  pointer-events: none;
  opacity: 0;
  -webkit-transform: translateY(-10rem);
          transform: translateY(-10rem);
}
@media (max-width: 750px) {
  html:not(.menu-open) .tpl-global-menu {
    -webkit-transform: translateX(10rem);
            transform: translateX(10rem);
  }
}
.tpl-global-menu-bg {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  z-index: 1050;
  background: rgba(0, 0, 0, 0.5);
  -webkit-transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  min-height: 200vh;
}
html:not(.menu-open) .tpl-global-menu-bg {
  pointer-events: none;
  opacity: 0;
}
.tpl-global-menu-inner {
  margin: auto;
  text-align: left;
  padding: 1rem 0 8rem;
}
@media (max-width: 750px) {
  .tpl-global-menu-inner {
    padding: 3.3333333333vw 0 22.2222222222vw;
  }
}
/* .tpl-global-menu-main {
  border-top: 1px solid #e6e6e6;
} */
@media (min-width: 751px) {
  .tpl-global-menu-main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
        align-items: stretch;
    padding: 1rem 0;
  }
}
.tpl-global-menu-main.top {
  padding-top: 0.5rem;
  border-top: none;
}
.menu-top-bn-area{
  margin-top: 2em;
}
@media (max-width: 750px) {
  .menu-top-bn-area{
    max-width: 70vw;
    margin-top: 1em;
  }
}
.menu-top-bn-area img{
  height: auto;
}
.tpl-global-menu-main+.tpl-txt-md{
  padding: 0 0.5em;
  margin-top: 1.5em;
  display: flex;
  align-items: center;
  border-left: solid 2px #eb5505;
}
@media (max-width: 750px) {
  .tpl-global-menu-main.top {
    padding: 0 0 0.5rem;
  }
  .tpl-global-menu-main+.tpl-txt-md{
    margin-top: 1.5em;
  }
  .tpl-global-menu-main.top+.tpl-txt-md{
    margin-top: 1em;
  }
}
@media (min-width: 751px) {
  .tpl-global-menu-main > li {
    width: 33.333%;
    font-size: 1.8rem;
    margin: 0.5em 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
  }
}
@media (max-width: 750px) {
  .tpl-global-menu-main > li {
    font-size: 1.5rem;
    padding: 0.5em 0;
    min-width: 44.4444444444vw;
  }
  .tpl-global-menu-main > li:nth-of-type(n+2) {
    border-top: 1px solid #e6e6e6;
  }
}
.tpl-global-menu-main > li > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-weight: 500;
  line-height: 1.2;
}
.tpl-global-menu-main > li > a .icon {
  width: 1.8em;
  margin: 0 0.3em 0 0;
}
@media (max-width: 750px) {
  .tpl-global-menu-main > li > a .icon {
    width: 1.4em;
  }
}
@media (min-width: 751px) {
  .tpl-global-menu-main > li > ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 1.5rem;
  }
}
@media (max-width: 750px) {
  .tpl-global-menu-main > li > ul {
    font-size: 1.3rem;
    margin: 1.1111111111vw 0 0 4.4444444444vw;
  }
}
.tpl-global-menu-main > li > ul > li {
  margin-left: 1em;
}
.tpl-global-menu-main > li.menu_to_top{
  margin: 1.25em 0 0;
}
.tpl-global-menu-main > li.menu_to_top a{
  font-size: 2rem;

}
@media (min-width: 751px) {
  .tpl-global-menu-main > li.menu_to_top a{
    font-size: 3rem;
  }
}
.tpl-global-menu-sub {
  border: solid #e6e6e6;
  border-width: 1px 0;
}
@media (min-width: 751px) {
  .tpl-global-menu-sub {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    padding: 2rem 0;
  }
}
@media (max-width: 750px) {
  .tpl-global-menu-sub {
    padding: 3.3333333333vw 0;
  }
}
.tpl-global-menu-sub li {
  font-size: 1.5rem;
  margin-left: 0.5em;
  margin-right: 2em;
}
@media (max-width: 750px) {
  .tpl-global-menu-sub li {
    font-size: 1.3rem;
    margin-right: 0;
  }
}
@media (min-width: 751px) {
  .tpl-global-menu-account {
    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;
    padding-top: 4rem;
  }
}
@media (max-width: 750px) {
  .tpl-global-menu-account {
    padding-top: 3.3333333333vw;
  }
}
.tpl-global-menu-account > li {
  margin: 0 1rem;
}
@media (max-width: 750px) {
  .tpl-global-menu-account > li {
    margin: 2.2222222222vw 0;
  }
}
@media (max-width: 750px) {
  .tpl-global-menu-account > li .tpl-btn-orange {
    min-width: inherit;
    width: auto;
    font-size: 1.5rem;
  }
}

/* ------------------------------
  tpl-menu-btn
------------------------------ */
.tpl-menu-btn {
  position: fixed;
  z-index: 1200;
  color: #000;
  width: 7rem;
  height: 7rem;
  top: 0;
  right: calc(50% - 480px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 960px) {
  .tpl-menu-btn {
    right: 2.5rem;
  }
}
@media (max-width: 750px) {
  .tpl-menu-btn {
    width: 13.3333333333vw;
    height: 13.3333333333vw;
    right: 0;
  }
}
.tpl-menu-btn .ico {
  display: block;
  width: 50%;
  height: 33%;
  position: relative;
  overflow: hidden;
  color: #eb5505;
}
.tpl-menu-btn .ico > span, .tpl-menu-btn .ico::before, .tpl-menu-btn .ico::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  background: currentColor;
  height: 2px;
  margin: auto;
  -webkit-transition: 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.tpl-menu-btn .ico::before {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  top: 0;
  bottom: auto;
}
.tpl-menu-btn .ico::after {
  -webkit-transform: translateX(-40%);
          transform: translateX(-40%);
  bottom: 0;
  top: auto;
}
html:not(.menu-open).not-touch .tpl-menu-btn:hover .ico::before {
  -webkit-transform: translateX(-40%);
          transform: translateX(-40%);
}
html:not(.menu-open).not-touch .tpl-menu-btn:hover .ico::after {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}
.menu-open .tpl-menu-btn .ico {
  overflow: visible;
}
.menu-open .tpl-menu-btn .ico > span {
  -webkit-transform: scaleX(0) !important;
          transform: scaleX(0) !important;
}
.menu-open .tpl-menu-btn .ico::before {
  -webkit-transform: rotate(135deg) translateX(0) !important;
          transform: rotate(135deg) translateX(0) !important;
  top: 0 !important;
  bottom: 0 !important;
}
.menu-open .tpl-menu-btn .ico::after {
  -webkit-transform: rotate(-135deg) translateX(0) !important;
          transform: rotate(-135deg) translateX(0) !important;
  top: 0 !important;
  bottom: 0 !important;
}

/* ------------------------------
  tpl-main
------------------------------ */
.tpl-main {
 /* margin-top: 7rem;*/
}
@media (max-width: 750px) {
  /*.tpl-main {
    margin-top: 13.3333333333vw;
  }*/
}

/* ------------------------------
  tpl-fixed-bottom
------------------------------ */
.tpl-fixed-bottom {
  position: fixed;
  top: auto;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  pointer-events: none;
  overflow: hidden;
  opacity: 0;
  -webkit-transform: translateY(3rem);
          transform: translateY(3rem);
  -webkit-transition: 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  z-index: 100;
}
.tpl-fixed-bottom .tpl-btn-account {
  width: 30rem;
  margin: 0 2rem 0 auto;
}
@media (max-width: 750px) {
  .tpl-fixed-bottom .tpl-btn-account {
    width: 100%;
    margin: 0;
  }
}
.tpl-fixed-bottom.show {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.tpl-fixed-bottom.show > * {
  pointer-events: auto;
}

/* ------------------------------
  tpl-sec
------------------------------ */
.tpl-sec {
  padding: 10rem 0;
}
@media (max-width: 750px) {
  .tpl-sec {
    padding: 6rem 0;
  }
}

/* ------------------------------
  tpl-sec-ttl
------------------------------ */
.tpl-sec-ttl {
  font-size: 3.6rem;
  letter-spacing: 0.05em;
  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;
  position: relative;
}
@media (max-width: 750px) {
  .tpl-sec-ttl {
    font-size: 2.2rem;
    letter-spacing: 0em;
  }
  .tpl-sec-ttl.sp-align-center {
    -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
  }
}
.tpl-sec-ttl.align-left {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.tpl-sec-ttl.lv1 {
  font-size: 3.6rem;
}
@media (max-width: 750px) {
  .tpl-sec-ttl.lv1 {
    font-size: 2.2rem;
  }
}
.tpl-sec-ttl.lv2 {
  font-size: 2.6rem;
}
@media (max-width: 750px) {
  .tpl-sec-ttl.lv2 {
    font-size: 1.8rem;
  }
}
.tpl-sec-ttl.lv3 {
  font-size: 2.2rem;
}
@media (max-width: 750px) {
  .tpl-sec-ttl.lv3 {
    font-size: 1.8rem;
  }
}
.tpl-sec-ttl.voice::before, .tpl-sec-ttl.voice::after {
  content: "";
  width: 2px;
  height: 1.5em;
  background-color: currentColor;
  -ms-flex-item-align: end;
      align-self: flex-end;
}
.tpl-sec-ttl.voice::before {
  -webkit-transform: rotate(-30deg);
          transform: rotate(-30deg);
  margin-right: 1em;
}
.tpl-sec-ttl.voice::after {
  -webkit-transform: rotate(30deg);
          transform: rotate(30deg);
  margin-left: 1em;
}
.tpl-sec-ttl.illust-ttl {
  margin-top: -0.5em;
}
.tpl-sec-ttl.illust-ttl .illust {
  margin-right: 0.5em;
}
.tpl-sec-ttl.illust-ttl .illust img {
  height: 3em;
  width: auto;
}
.tpl-sec-ttl.icon-ttl .icon {
  margin-right: 0.4em;
  width: 1.4em;
  line-height: 1;
}

/* ------------------------------
  tpl-inner-wrap
------------------------------ */
.tpl-inner-wrap {
  margin: auto 3rem;
}
@media (max-width: 750px) {
  .tpl-inner-wrap {
    margin: 0 5.5555555556vw;
  }
}

.tpl-content-width {
  max-width: 96rem;
}
@media (min-width: 1020px) {
  .tpl-content-width {
    margin: auto;
  }
}
@media (min-width: 751px) {
  .tpl-content-width.mw-800 {
    max-width: 80rem;
    margin: auto;
  }
}

.tpl-inner-padding {
  padding: 4rem !important;
}
.pc-col-2 .tpl-inner-padding, .pc-col-3 .tpl-inner-padding {
  padding: 2rem;
}
.pc-col-4 .tpl-inner-padding {
  padding: 2rem 1.5rem;
}
@media (max-width: 750px) {
  .tpl-inner-padding {
    padding: 4.4444444444vw;
  }
  .sp-col-2 .tpl-inner-padding {
    padding: 4.4444444444vw 2.7777777778vw;
  }
}

/* ------------------------------
  tpl-fill-wrap
------------------------------ */
.tpl-fill-wrap {
  border: solid #FFF;
  border-width: 1px 0;
  /*-webkit-box-shadow: 0 0 0 1px #e6e6e6;
          box-shadow: 0 0 0 1px #e6e6e6;*/
  margin-bottom: 1px;
}

/* ------------------------------
  tpl-box-wrap
------------------------------ */
.tpl-box-wrap {
  position: relative;
  background: #FFF;
  border-radius: 1.4rem;
  -webkit-box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.2);
  border: 1px solid #e6e6e6;
  margin: 0 auto;
  display: block;
  overflow: hidden;
}
@media (max-width: 750px) {
  .tpl-box-wrap {
    border-radius: 2.2222222222vw;
  }
}
.tpl-box-wrap.overflow-visible {
  overflow: visible !important;
}
.tpl-box-wrap.overflow-visible .tpl-box-wrap-label {
  overflow: visible !important;
}
.tpl-box-wrap.border-bold {
  border: 2px solid #000;
}
.tpl-box-wrap.no-shadow {
  -webkit-box-shadow: none;
          box-shadow: none;
}
.tpl-box-wrap-label {
  display: block;
  position: relative;
  margin: 0.8rem;
  overflow: hidden;
}
@media (max-width: 750px) {
  .tpl-box-wrap-label {
    margin: 1.6666666667vw;
  }
}
.tpl-box-wrap-label.strech {
  height: calc(100% - 1.6rem);
}
@media (max-width: 750px) {
  .tpl-box-wrap-label.strech {
    height: calc(100% - 3.3333333333vw);
  }
}
.tpl-box-wrap-label:not(.tpl-box-wrap-label-ttl) + * {
  margin-top: -0.8rem;
}
@media (max-width: 750px) {
  .tpl-box-wrap-label:not(.tpl-box-wrap-label-ttl) + * {
    margin-top: -1.6666666667vw;
  }
}
.tpl-box-wrap-label-ttl {
  font-weight: bold;
  padding: 1em 1.5em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 750px) {
  .tpl-box-wrap-label-ttl {
    padding: 1em;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .tpl-box-wrap-label-ttl.sp-nowrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .tpl-box-wrap-label-ttl.sp-nowrap .icon {
    margin-bottom: 0 !important;
  }
}
.tpl-box-wrap-label-ttl.lv1 {
  font-size: 3.6rem;
}
@media (max-width: 750px) {
  .tpl-box-wrap-label-ttl.lv1 {
    font-size: 2.2rem;
  }
}
.tpl-box-wrap-label-ttl.lv2 {
  font-size: 2.6rem;
}
@media (max-width: 750px) {
  .tpl-box-wrap-label-ttl.lv2 {
    font-size: 1.8rem;
  }
}
.tpl-box-wrap-label-ttl .icon {
  width: 1.8em;
  height: 1.8em;
  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;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (max-width: 750px) {
  .tpl-box-wrap-label-ttl .icon {
    width: 11.1111111111vw;
    height: 11.1111111111vw;
    margin-bottom: 1.6666666667vw;
  }
}
.tpl-box-wrap-label-ttl .ttl {
  margin: 0 0.5em;
}

/* ------------------------------
  tpl-box-toggle
------------------------------ */
.tpl-box-toggle-btn {
  width: 100%;
  min-height: 4em;
  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;
  position: relative;
  font-size: 2rem;
  font-weight: bold;
  padding: 0.5em 3em;
}
@media (max-width: 750px) {
  .tpl-box-toggle-btn {
    font-size: 1.5rem;
    padding: 0.5em 3em 0.5em 1em;
  }
}
.tpl-box-toggle-btn > span {
  line-height: 1.4;
}
.tpl-box-toggle-btn::after {
  content: "\e145";
  color: #ff8d0f;
  font-size: 1em;
  padding: 0.2em;
  border: 2px solid currentColor;
  border-radius: 50%;
  position: absolute;
  top: auto;
  left: auto;
  right: 1em;
  bottom: auto;
  margin: auto;
}
.tpl-box-toggle-btn.open::after {
  content: "\e15b";
}

.tpl-box-toggle-wrap {
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.15) 1px, #FFF 1px, #FFF 2px, transparent 2px);
  overflow: hidden;
  -webkit-transition: padding 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: padding 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  padding: 2.5rem 4rem 4rem;
}
@media (max-width: 750px) {
  .tpl-box-toggle-wrap {
    padding: 3.3333333333vw 4.4444444444vw 4.4444444444vw;
  }
}
.tpl-box-toggle-wrap:not(.open) {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  height: 0 !important;
}

/* ------------------------------
  tpl-page-cover
------------------------------ */
.tpl-page-cover {
  padding: 5rem 0;
}
@media (max-width: 750px) {
  .tpl-page-cover {
    padding: 6.6666666667vw 0;
  }
}
.tpl-page-cover-ttl {
  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;
}
@media (max-width: 750px) {
  .tpl-page-cover-ttl {
    display: block;
  }
}
.tpl-page-cover-ttl .icon {
  width: 5.2rem;
  margin-right: 1rem;
}
@media (max-width: 750px) {
  .tpl-page-cover-ttl .icon {
    width: 11.1111111111vw;
    margin: 0 auto 2.2222222222vw;
  }
}
.tpl-page-cover-ttl .ttl {
  font-size: 4rem;
  line-height: 1.5;
}
@media (max-width: 750px) {
  .tpl-page-cover-ttl .ttl {
    font-size: 2.8rem;
  }
}

/* ------------------------------
  tpl-flex
------------------------------ */
.tpl-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.tpl-flex.justify-start {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
@media (min-width: 751px) {
  .tpl-flex {
    margin-left: -1rem;
    margin-right: -1rem;
  }
  .tpl-flex .tpl-flex-col {
    margin-left: 1rem;
    margin-right: 1rem;
  }
  .tpl-flex.pc-col-1 .tpl-flex-col {
    width: 100%;
  }
  .tpl-flex.pc-col-1 .tpl-flex-col:nth-of-type(n+2) {
    margin-top: 3rem;
  }
  .tpl-flex.pc-col-2 .tpl-flex-col {
    width: calc(50% - 2rem);
  }
  .tpl-flex.pc-col-2 .tpl-flex-col:nth-of-type(n+3) {
    margin-top: 3rem;
  }
  .tpl-flex.pc-col-3 .tpl-flex-col {
    width: calc(33.333% - 2rem);
  }
  .tpl-flex.pc-col-3 .tpl-flex-col:nth-of-type(n+4) {
    margin-top: 3rem;
  }
  .tpl-flex.pc-col-4 .tpl-flex-col {
    width: calc(25% - 2rem);
  }
  .tpl-flex.pc-col-4 .tpl-flex-col:nth-of-type(n+5) {
    margin-top: 3rem;
  }
}
@media (max-width: 750px) {
  .tpl-flex {
    margin-left: -1.1111111111vw;
    margin-right: -1.1111111111vw;
  }
  .tpl-flex .tpl-flex-col {
    margin-left: 1.1111111111vw;
    margin-right: 1.1111111111vw;
  }
  .tpl-flex.sp-col-1 .tpl-flex-col {
    width: 100%;
  }
  .tpl-flex.sp-col-1 .tpl-flex-col:nth-of-type(n+2) {
    margin-top: 5.5555555556vw;
  }
  .tpl-flex.sp-col-2 .tpl-flex-col {
    width: calc(50% - 2.2222222222vw);
  }
  .tpl-flex.sp-col-2 .tpl-flex-col:nth-of-type(n+3) {
    margin-top: 3.3333333333vw;
  }
}
@media (min-width: 751px) {
  .tpl-flex.border-col {
    margin-left: -2rem;
    margin-right: -2rem;
  }
}
.tpl-flex.border-col .tpl-flex-col {
  margin: 0;
  padding: 0 4rem;
}
@media (max-width: 750px) {
  .tpl-flex.border-col .tpl-flex-col {
    padding: 0 2rem;
  }
}
.tpl-flex.border-col .tpl-flex-col:nth-child(1) {
  padding-left: 0;
}
.tpl-flex.border-col .tpl-flex-col:nth-last-child(1) {
  padding-right: 0;
}
.tpl-flex.border-col .tpl-flex-col:nth-child(n+2) {
  background: linear-gradient(to right, rgba(0, 0, 0, 0.15) 1px, #FFF 1px, #FFF 2px, transparent 2px);
}
@media (min-width: 751px) {
  .tpl-flex.border-col.pc-col-1 .tpl-flex-col {
    padding: 0;
  }
  .tpl-flex.border-col.pc-col-1 .tpl-flex-col:nth-child(n+2) {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.15) 1px, #FFF 1px, #FFF 2px, transparent 2px);
    margin-top: 2rem !important;
    padding-top: 2rem;
  }
}
@media (max-width: 750px) {
  .tpl-flex.border-col.sp-col-1 .tpl-flex-col {
    padding: 0;
  }
  .tpl-flex.border-col.sp-col-1 .tpl-flex-col:nth-child(n+2) {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.15) 1px, #FFF 1px, #FFF 2px, transparent 2px);
    margin-top: 2rem !important;
    padding-top: 2rem;
  }
}

/* ------------------------------
  tpl-feature-label
------------------------------ */
.tpl-feature-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  padding: 2rem 0;
}
@media (max-width: 750px) {
  .tpl-feature-label {
    height: auto;
  }
}
.tpl-feature-label .tag {
  position: absolute;
  top: 0;
  left: 0;
  right: auto;
  bottom: auto;
  margin: auto;
  width: 9rem;
}
@media (max-width: 750px) {
  .tpl-feature-label .tag {
    width: 20vw;
  }
}
.tpl-feature-label .img {
  width: 16rem;
}
@media (max-width: 750px) {
  .tpl-feature-label .img {
    width: 35.5555555556vw;
  }
}
.tpl-feature-label .txt {
  font-weight: bold;
  margin-top: 1em;
  line-height: 1.5;
}
@media (min-width: 751px) {
  .tpl-feature-label .txt {
    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;
  }
  .tpl-feature-label .txt.pc-l3 {
    min-height: 4.5em;
    margin-top: 0.5em;
  }
  .tpl-feature-label .txt.pc-l2 {
    min-height: 3em;
  }
}
@media (min-width: 751px) {
  .tpl-feature-label.pc-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .tpl-feature-label.pc-row .img {
    margin-left: 15rem;
  }
  .tpl-feature-label.pc-row .txt {
    font-size: 2rem !important;
    text-align: left;
    margin: 0 0 0 1em;
  }
  .tpl-feature-label.pc-row + .tpl-inner-padding {
    padding-top: 2.5rem;
  }
}

/* ------------------------------
  tpl-num-list
------------------------------ */
.tpl-num-list {
  text-align: left;
  counter-reset: item;
}
.tpl-num-list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 0.5em 0;
}
.tpl-num-list li::before {
  counter-increment: item;
  content: counter(item);
  display: inline-block;
  text-align: center;
  width: 1em;
  height: 1em;
  padding: 0.15em 0.2em 0.25em 0.2em;
  margin-top: 0.1em;
  line-height: 1;
  background: #ff8d0f;
  border-radius: 1em;
  color: #FFF;
  margin-right: 0.5em;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.tpl-num-list li + li {
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.15) 1px, #FFF 1px, #FFF 2px, transparent 2px);
}

/* ------------------------------
  tpl-table
------------------------------ */
.tpl-table {
  background: #FFF;
  width: 100%;
  border: 1px solid #e6e6e6;
}
.tpl-table * {
  line-height: 1.4;
}
.tpl-table tr {
  border-top: 1px solid #e6e6e6;
}
.tpl-table th {
  padding: 0.5em;
  font-weight: bold;
  background: #e6e6e6;
  white-space: nowrap;
}
.tpl-table th + th {
  border-left: 1px solid #FFF;
}
.tpl-table td {
  padding: 0.5em;
}
.tpl-table td + td {
  border-left: 1px solid #e6e6e6;
}
.tpl-table thead th {
  text-align: center;
}
.tpl-table tbody th {
  border-bottom: 1px solid #FFF;
}
.tpl-table tbody tr:nth-last-of-type(1) th {
  border-bottom: none;
}
.tpl-table.orange {
  border-color: #ff8d0f;
}
.tpl-table.orange th {
  color: #FFF;
  background-color: #ff8d0f;
}
.tpl-table.orange tr, .tpl-table.orange td {
  border-color: #ff8d0f;
}
@media (min-width: 751px) {
  .tpl-table.pc-padding-wide th, .tpl-table.pc-padding-wide td {
    padding: 1em;
  }
}
@media (min-width: 751px) {
  .tpl-table .pc-w-50 {
    width: 50%;
  }
}

/* ------------------------------
  tpl-notes-sec
------------------------------ */
.tpl-notes-sec .tpl-notes-subsec {
  margin: 5rem 0 0;
}
@media (max-width: 750px) {
  .tpl-notes-sec .tpl-notes-subsec {
    margin: 8.8888888889vw 0 0;
  }
}
.tpl-notes-sec .tpl-inquiry-tel {
  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;
  font-size: 4rem;
  line-height: 1;
}
@media (max-width: 750px) {
  .tpl-notes-sec .tpl-inquiry-tel {
    font-size: 2.6rem;
  }
}
.tpl-notes-sec .tpl-inquiry-tel .icon {
  width: 1.2em;
  margin: 0.2em 0.2em 0 0;
}
.tpl-notes-sec .tpl-inquiry-tel .num {
  color: #ff8d0f;
  font-weight: bold;
  letter-spacing: 0.05em;
}
.tpl-notes-sec .tpl-inquiry-tel .caption {
  font-size: 0.4em;
  margin: 1em 0 0 0.2em;
  color: #555;
}

/* ------------------------------
  tpl-account-flow
------------------------------ */
.tpl-account-flow {
  margin: 3rem 0 5em;
}
@media (max-width: 750px) {
  .tpl-account-flow {
    margin: 5.5555555556vw 0 8.8888888889vw;
  }
}
.tpl-account-flow-item {
  border: 2px solid #000;
  -webkit-box-shadow: none;
          box-shadow: none;
  position: relative;
}
.tpl-account-flow-item-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.tpl-account-flow-item-label .tag {
  width: 9rem;
}
@media (max-width: 750px) {
  .tpl-account-flow-item-label .tag {
    width: 15.5555555556vw;
  }
}
.tpl-account-flow-item-label .icon {
  width: 6rem;
  margin: 0 1.5rem;
}
@media (max-width: 750px) {
  .tpl-account-flow-item-label .icon {
    width: 11.1111111111vw;
    margin: 0 4.4444444444vw;
  }
}
.tpl-account-flow-item:nth-of-type(n+2) {
  margin-top: 5rem;
}
@media (max-width: 750px) {
  .tpl-account-flow-item:nth-of-type(n+2) {
    margin-top: 6.6666666667vw;
  }
}
.tpl-account-flow-item:nth-of-type(n+2)::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  content: "\e5c5";
  font-size: 5rem;
  top: -5.2rem;
  bottom: auto;
}
@media (max-width: 750px) {
  .tpl-account-flow-item:nth-of-type(n+2)::before {
    font-size: 11.1111111111vw;
    top: -9.4444444444vw;
  }
}

/* ------------------------------
  tpl-ranking
------------------------------ */
.tpl-ranking {
  text-align: left;
}
.tpl-ranking-ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-size: 2.6rem;
  margin-bottom: 1em;
}
@media (max-width: 750px) {
  .tpl-ranking-ttl {
    font-size: 1.6rem;
  }
}
.tpl-ranking-ttl::before {
  content: "";
  width: 2em;
  height: 1em;
  background: url(../img/icon-ranking.svg) no-repeat 50% 50%;
  background-size: contain;
  margin-right: 0.3em;
}
.tpl-ranking-ttl .caption {
  font-weight: normal;
  font-size: 1.2rem;
  margin-left: auto;
  margin-top: 0.5em;
  text-align: right;
  color: #555;
}
@media (max-width: 750px) {
  .tpl-ranking-ttl .caption {
    font-size: 1rem;
  }
}
.tpl-ranking-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.8rem;
  line-height: 1.4;
  position: relative;
}
.tpl-ranking-item:not(:first-child) {
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.15) 1px, #FFF 1px, #FFF 2px, transparent 2px);
  padding: 0.8em 0 0;
  margin-top: 0.8em;
}
@media (max-width: 750px) {
  .tpl-ranking-item {
    font-size: 1.2rem;
  }
}
.tpl-ranking-item .rank {
  font-size: 1.8em;
  font-weight: bold;
  color: #ff8d0f;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  text-align: center;
  min-width: 1em;
}
@media (max-width: 750px) {
  .tpl-ranking-item .rank {
    font-size: 2em;
  }
}
.tpl-ranking-item .name {
  margin: 0 1em 0 0.5em;
}
.tpl-ranking-item .code {
  font-size: 0.75em;
  margin: 0 0.5em;
}
.tpl-ranking-item .btn-buy {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: block;
  font-size: 1.6rem;
  font-weight: bold;
  padding: 0.5em 1em;
  border-radius: 0.5rem;
  text-align: center;
  background: -webkit-gradient(linear, left top, right top, from(#ffd50f), to(#ffbe0f));
  background: linear-gradient(to right, #ffd50f 0%, #ffbe0f 100%);
  margin-left: auto;
  min-width: 10em;
}
@media (max-width: 750px) {
  .tpl-ranking-item .btn-buy {
    font-size: 1.1rem;
    min-width: 5em;
  }
}
.tpl-ranking-item .price {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-left: auto;
}

/* ------------------------------
  tpl-border
------------------------------ */
.tpl-border {
  display: block;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.15) 1px, #FFF 1px, #FFF 2px, transparent 2px);
  height: 2px;
  margin: 2rem 0;
}
@media (max-width: 750px) {
  .tpl-border {
    margin: 3.3333333333vw 0;
  }
}

/* ------------------------------
  tpl-video
------------------------------ */
.tpl-video {
  margin: auto;
  max-width: 80rem;
  overflow: hidden;
  -webkit-box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.2);
}
.tpl-video-inner {
  padding-top: 56.25%;
  position: relative;
}
.tpl-video-inner iframe {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 100%;
}

/***** 2025.5.15 add *****/
.head-adj01{
  padding-right:0;
}
.head-adj02{
  margin:0 !important;
}
.head-adj03{
  display: inline-block;
}

[class^="footer-requirements"]{
    display: flex;
    justify-content: center;
    height: 1em; /* default */
    line-height: 1;
}

.footer-requirements1{
    height: 1em;
}
.footer-requirements15{
    height: 1.5em;
}
.footer-requirements2{
    height: 2em;
}
.footer-requirements25{
    height: 2.5em;
}
.footer-requirements3{
    height: 3em;
}
.footer-requirements35{
    height: 3.5em;
}
.footer-requirements4{
    height: 4em;
}
.footer-requirements45{
    height: 4.5em;
}
.footer-requirements5{
    height: 5em;
}

[class^="footer-requirements"] a{
    color: inherit;
    font-size: 10px;
    text-decoration: underline;
}