@charset "UTF-8";
:root {
  --font-family--jp-sans: "WindowsYuGothicM", "游ゴシック体", YuGothic,
    "Yu Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ",
    Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  --font-family--jp-serif: "游明朝体", YuMincho, "Yu Mincho", "ヒラギノ明朝 Pro",
    "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}
* {
  box-sizing: border-box;
}
*,
:after,
:before {
  margin: 0;
  padding: 0;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}
iframe,
img,
svg,
video {
  height: auto;
  max-width: 100%;
  width: auto;
}
input,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
@font-face {
  font-family: WindowsYuGothicM;
  font-weight: 400;
  src: local("YuGothic-Medium"), local("Yu Gothic Medium"),
    local("YuGothic-Regular");
}
@font-face {
  font-family: WindowsYuGothicM;
  font-weight: 700;
  src: local("YuGothic-Bold"), local("Yu Gothic");
}
iframe,
img,
svg,
video {
  vertical-align: middle;
}
img {
  image-rendering: -webkit-optimize-contrast;
}
button {
  -webkit-appearance: none;
  appearance: none;
  background-color: #0000;
  border: 0;
  display: inline-block;
  padding: 0;
}
summary {
  cursor: pointer;
  display: block;
}
summary::-webkit-details-marker {
  display: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
th {
  text-align: left;
}
ol,
ul {
  list-style: none inside;
}
a {
  color: inherit;
  -webkit-text-decoration: underline;
  text-decoration: underline;
}
b,
strong {
  font-weight: var(--theme-font-weight--b, 700);
}
strong {
  color: var(--theme-color--strong);
}
mark {
  background: linear-gradient(0deg, #ffeb45 50%, #ffeb4500 0);
}
.c-frame {
  padding-top: calc(var(--frame-v, 9) / var(--frame-h, 16) * 100%);
  position: relative;
}
.c-frame > iframe,
.c-frame > img,
.c-frame > video {
  bottom: 0;
  height: 100%;
  left: 0;
  object-fit: cover;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
}
.c-frame.--1\:1 {
  --frame-h: 1;
  --frame-v: 1;
}
.c-frame.--16\:9 {
  --frame-h: 16;
  --frame-v: 9;
}
.c-frame.--3\:2 {
  --frame-h: 3;
  --frame-v: 2;
}
.c-frame.--4\:3 {
  --frame-h: 4;
  --frame-v: 3;
}
.c-frame.--2\:1 {
  --frame-h: 2;
  --frame-v: 1;
}
.c-container {
  max-width: var(--container-max-width, none);
  padding: var(--container-padding, 0);
}
.c-container.--side--0 {
  --container-padding: 0 calc(var(--theme-side-padding, 1rem) * 0);
}
.c-container.--side--1 {
  --container-padding: 0 calc(var(--theme-side-padding, 1rem) * 1);
}
.c-container.--side--2 {
  --container-padding: 0 calc(var(--theme-side-padding, 1rem) * 2);
}
.c-container.--side--3 {
  --container-padding: 0 calc(var(--theme-side-padding, 1rem) * 3);
}
.c-container.--side--4 {
  --container-padding: 0 calc(var(--theme-side-padding, 1rem) * 4);
}
.c-container.--side--5 {
  --container-padding: 0 calc(var(--theme-side-padding, 1rem) * 5);
}
.c-container.--side--6 {
  --container-padding: 0 calc(var(--theme-side-padding, 1rem) * 6);
}
.c-container.--side--7 {
  --container-padding: 0 calc(var(--theme-side-padding, 1rem) * 7);
}
.c-container.--side--8 {
  --container-padding: 0 calc(var(--theme-side-padding, 1rem) * 8);
}
.c-container.--side--9 {
  --container-padding: 0 calc(var(--theme-side-padding, 1rem) * 9);
}
.c-container.--side--10 {
  --container-padding: 0 calc(var(--theme-side-padding, 1rem) * 10);
}
.c-container.--side--11 {
  --container-padding: 0 calc(var(--theme-side-padding, 1rem) * 11);
}
.c-container.--side--12 {
  --container-padding: 0 calc(var(--theme-side-padding, 1rem) * 12);
}
.c-container.--side--13 {
  --container-padding: 0 calc(var(--theme-side-padding, 1rem) * 13);
}
.c-container.--side--14 {
  --container-padding: 0 calc(var(--theme-side-padding, 1rem) * 14);
}
.c-container.--side--15 {
  --container-padding: 0 calc(var(--theme-side-padding, 1rem) * 15);
}
.c-container.--side--16 {
  --container-padding: 0 calc(var(--theme-side-padding, 1rem) * 16);
}
.c-container.--centered {
  margin-left: auto;
  margin-right: auto;
}
.c-spacer {
  display: block;
  height: var(--spacer-size);
}
.c-spacer--0 {
  --spacer-size: 0rem;
}
.c-spacer--1 {
  --spacer-size: 0.25rem;
}
.c-spacer--2 {
  --spacer-size: 0.5rem;
}
.c-spacer--3 {
  --spacer-size: 0.75rem;
}
.c-spacer--4 {
  --spacer-size: 1rem;
}
.c-spacer--5 {
  --spacer-size: 1.25rem;
}
.c-spacer--6 {
  --spacer-size: 1.5rem;
}
.c-spacer--7 {
  --spacer-size: 1.75rem;
}
.c-spacer--8 {
  --spacer-size: 2rem;
}
.c-spacer--9 {
  --spacer-size: 2.25rem;
}
.c-spacer--10 {
  --spacer-size: 2.5rem;
}
.c-spacer--11 {
  --spacer-size: 2.75rem;
}
.c-spacer--12 {
  --spacer-size: 3rem;
}
.c-spacer--13 {
  --spacer-size: 3.25rem;
}
.c-spacer--14 {
  --spacer-size: 3.5rem;
}
.c-spacer--15 {
  --spacer-size: 3.75rem;
}
.c-spacer--16 {
  --spacer-size: 4rem;
}
.c-spacer--17 {
  --spacer-size: 4.25rem;
}
.c-spacer--18 {
  --spacer-size: 4.5rem;
}
.c-spacer--19 {
  --spacer-size: 4.75rem;
}
.c-spacer--20 {
  --spacer-size: 5rem;
}
.c-spacer--21 {
  --spacer-size: 5.25rem;
}
.c-spacer--22 {
  --spacer-size: 5.5rem;
}
.c-spacer--23 {
  --spacer-size: 5.75rem;
}
.c-spacer--24 {
  --spacer-size: 6rem;
}
.c-spacer--25 {
  --spacer-size: 6.25rem;
}
.c-spacer--26 {
  --spacer-size: 6.5rem;
}
.c-spacer--27 {
  --spacer-size: 6.75rem;
}
.c-spacer--28 {
  --spacer-size: 7rem;
}
.c-spacer--29 {
  --spacer-size: 7.25rem;
}
.c-spacer--30 {
  --spacer-size: 7.5rem;
}
.c-spacer--31 {
  --spacer-size: 7.75rem;
}
.c-spacer--32 {
  --spacer-size: 8rem;
}
.c-annotation-list {
  font-size: var(--theme-font-size--xs, 0.5rem);
  line-height: 1.5;
  list-style: none;
}
.c-annotation-list > li {
  padding-left: var(--annotation-list-marker-width, 1.5em);
  position: relative;
}
.c-annotation-list > li:before {
  bottom: auto;
  content: var(--annotation-list-marker, "※");
  left: 0;
  position: absolute;
  right: auto;
  top: auto;
}
.c-notice {
  border: var(--theme-px) solid;
  border-radius: var(--theme-font-size--sm);
  font-size: var(--theme-font-size--sm);
  padding: var(--notice-padding, 1rem 2rem);
}
.c-notice__heading {
  font-feature-settings: "palt";
  border-bottom: var(--theme-px) solid;
  font-size: 1rem;
  font-weight: inherit;
  line-height: 1.5;
  margin: 0 0 0.625rem;
  padding: 0 0 0.625rem;
  text-align: center;
}
.c-table {
  line-height: 1.375;
  width: var(--table-width, 100%);
}
.c-table td,
.c-table th {
  border: var(--theme-px) solid var(--theme-color--border);
  padding: var(--table-cell-padding, 0.5rem 0.75em);
}
.c-table th {
  font-feature-settings: "palt";
  background-color: var(--theme-color--shade);
  width: var(--table-th-width, auto);
}
.c-decimal-list {
  --decimal-list-marker: "（" counter(decimal-list) "）";
  --decimal-list-marker-padding: 2em;
  --decimal-list-gap: 0;
  counter-reset: decimal-list;
  display: grid;
  gap: var(--decimal-list-gap);
  list-style: none;
}
.c-decimal-list > li {
  counter-increment: decimal-list;
  padding: 0 0 0 var(--decimal-list-marker-padding);
  position: relative;
}
.c-decimal-list > li:before {
  font-feature-settings: "palt";
  bottom: auto;
  content: var(--decimal-list-marker);
  left: 0;
  position: absolute;
  right: auto;
  top: auto;
}
.c-faq-item[open] {
  --faq-item-angle: 0;
}
.c-faq-item__question {
  font-feature-settings: "palt";
  align-items: center;
  background-color: var(--fqa-item-bg-color, var(--theme-color--soft-main));
  color: var(--theme-color--main);
  display: flex;
  font-weight: var(--theme-font-weight--b);
  justify-content: flex-start;
  line-height: 1.5;
  padding: 0.75rem 1rem;
}
.c-faq-item__question__marker {
  flex: 0 0 1.3rem;
}
.c-faq-item__question__text {
  flex: 1 1 auto;
  margin: 0 1rem;
}
.c-faq-item__question__icon {
  flex: 0 0 1.1rem;
  transform: rotate(var(--faq-item-angle, 180deg));
}
.c-faq-item__answer {
  font-size: 0.9rem;
  margin: 1rem 0 1rem 3.3rem;
}
.c-faq-item__answer > * + * {
  margin-top: 1rem;
}
:root {
  --theme-color--white: #fefefe;
  --theme-color--black: #111;
  --theme-color--light-gray-0: #f2f2f2;
  --theme-color--light-gray-1: #e7e7e7;
  --theme-color--light-gray-3: #c4c4c4;
  --theme-color--blue-1: #eff4ff;
  --theme-color--blue-7: #082cb6;
  --theme-color--red-5: #c03;
  --theme-color--border: var(--theme-color--light-gray-3);
  --theme-color--footer-bg: var(--theme-color--light-gray-3);
  --theme-color--shade: var(--theme-color--light-gray-1);
  --theme-color--soft-main: var(--theme-color--blue-1);
  --theme-color--main: var(--theme-color--blue-7);
  --theme-color--strong: var(--theme-color--red-5);
  --theme-color--base: var(--theme-color--white);
  --theme-color--text: var(--theme-color--black);
  --theme-color--outside: var(--theme-color--light-gray-1);
  --theme-color--dark-bg: var(--theme-color--black);
  --theme-color--dark-fg: var(--theme-color--white);
  --theme-design-width-value: 750;
  --theme-design-width-px: calc(var(--theme-design-width-value) * 1px);
  --theme-px: 0.0625rem;
  --theme-side-padding: calc(40 / var(--theme-design-width-value) * 100%);
  --theme-font-family--main: var(--font-family--jp-sans);
  --theme-base-font-size: 28;
  --theme-font-size--xs: calc(17 / var(--theme-base-font-size) * 1rem);
  --theme-font-size--sm: calc(20 / var(--theme-base-font-size) * 1rem);
  --theme-font-size--rg: calc(var(--theme-base-font-size) * 1rem);
  --theme-font-size--md: calc(34 / var(--theme-base-font-size) * 1rem);
  --theme-font-size--lg: calc(40 / var(--theme-base-font-size) * 1rem);
  --theme-font-weight--m: 400;
  --theme-font-weight--b: 700;
}
html {
  background-color: #002952;
  font-size: clamp(
    8px,
    var(--theme-base-font-size) / var(--theme-design-width-value) * 100vw,
    28px
  );
  font-weight: var(--theme-font-weight--m, 400);
}
body {
  font-family: var(--theme-font-family--main);
  line-height: 1.75;
}
.wrapper {
  background-color: var(--theme-color--base);
  color: var(--theme-color--text);
  margin: 0 auto;
  max-width: var(--theme-design-width-px);
  box-shadow: 0px 0px 30px #888;
}
.wrapper img,
.wrapper svg,
.wrapper video {
  display: block;
}
.page-header {
  padding: 0.5rem 1rem;
}
.page-header__logo {
  width: calc(362 / var(--theme-design-width-value) * 100%);
}
.floating-offer {
  bottom: 0;
  left: 0;
  opacity: 1;
  overflow: hidden;
  position: fixed;
  right: 0;
  top: auto;
  transition: opacity 0.3s ease-out;
  z-index: 100;
}
@media screen and (min-width: 800px) {
  .floating-offer {
    --floating-offer-default-opacity: 1;
    --floating-offer-default-transform: translate(0);
    bottom: auto;
    left: auto;
    right: 0;
    top: 40px;
  }
}
.floating-offer[hidden] {
  --floating-offer-default-transform: translate(100%);
  display: block;
  opacity: var(--floating-offer-default-opacity, 0);
  pointer-events: none;
}
.floating-offer__body {
  background-color: var(--theme-color--soft-main);
  margin: 0 auto;
  max-width: var(--theme-design-width-px);
}
@media screen and (min-width: 800px) {
  .floating-offer__body {
    display: none;
  }
}
.floating-offer__content {
  display: block;
  padding: calc(15 / var(--theme-design-width-value) * 100%);
}
.floating-offer__content img {
  height: auto;
  width: 100%;
}
.floating-offer__vertical {
  display: none;
  transform: var(--floating-offer-default-transform);
  transition: transform 0.3s ease-out;
}
@media screen and (min-width: 800px) {
  .floating-offer__vertical {
    display: block;
  }
}
.cta__item {
  position: relative;
}
.cta__item__main {  
  max-width: 690px;
  width: 90%;
  margin: 25px auto 0;
}
@media screen and (min-width: 800px) {
  .cta__item__main {
    width: 100%;
  }
}
.cta__item__button {
  display: flex;
  justify-content: center;
  max-width: 590px;
  width: 90%;
  margin: 10px auto 0;
}
@media screen and (min-width: 800px) {
  .cta__item__button {
    width: 100%;
    margin: 30px auto 0;
  }
}
.point {
  background-color: #E0E1E3;
}
.point__item__text {
  padding: 1.5rem calc(var(--theme-side-padding) * 1.75);
}
.point__item__text > * + * {
  margin-top: 1rem;
}
.usage__video {
  margin: 0 var(--theme-side-padding);
}
.usage__video__holder {
  background-color: var(--theme-color--dark-bg);
}
.usage__video__caption {
  margin: 1rem 0;
}
.premium-club__text {
  background-color: var(--theme-color--soft-main);
  padding: 0 var(--theme-side-padding) 1.5rem;
}
.premium-club__text > * + * {
  margin-top: 1rem;
}
.premium-club__content__heading {
  position: relative;
}
.premium-club__content__heading img {
  display: block;
  margin: 0 auto;
  position: relative;
  width: calc(670 / var(--theme-design-width-value) * 100%);
  z-index: 1;
}
.premium-club__content__heading:before {
  background: var(--theme-color--soft-main);
  bottom: 50%;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 0;
}
.premium-club__content__list {
  display: grid;
  gap: calc(var(--theme-px) * 5) calc(var(--theme-px) * 25);
  grid-template-columns: repeat(2, 1fr);
  margin: 1rem 0 0;
  padding: 0 var(--theme-side-padding);
}
.premium-club__register {
  display: block;
  margin: 1rem auto 0;
  width: calc(412 / var(--theme-design-width-value) * 100%);
}
.brand {
  padding: 0 0 1rem;
}
.brand__text {
  font-feature-settings: "palt";
  font-family: var(--font-family--jp-serif);
  font-size: 1.2rem;
  font-weight: var(--theme-font-weight--b);
  line-height: 1.67;
  text-align: center;
}
@media screen and (min-width: 800px) {
  .brand__text {
    font-size: 0.92rem;
  }
}
.brand__text * + p {
  margin-top: 1.25em;
}
.brand__evidence__content {
  padding: 1rem var(--theme-side-padding);
}
.brand__evidence__content > * + * {
  margin-top: 1rem;
}
.advice {
  background-color: var(--advice-bg-color, var(--theme-color--light-gray-0));
  padding: 1rem var(--theme-side-padding) 1.5rem;
}
.advice__item {
  color: var(--theme-color--main);
}
.advice__item--strong {
  color: var(--theme-color--strong);
}
.advice__item + .advice__item {
  margin-top: 0.5rem;
}
.advice__item__heading {
  font-feature-settings: "palt";
  align-items: center;
  display: grid;
  font-size: var(--theme-font-size--md);
  font-weight: var(--theme-font-weight--b);
  gap: 0.5em;
  grid-template-columns: 1fr auto 1fr;
  line-height: 1.5;
  text-align: center;
  transform: translateY(50%);
}
.advice__item__heading:after,
.advice__item__heading:before {
  background-color: currentColor;
  content: "";
  display: block;
  flex: 1 1 auto;
  height: var(--theme-px);
  width: auto;
}
.advice__item__text {
  border-color: currentColor;
  border-style: solid;
  border-width: 0 var(--theme-px) var(--theme-px);
  padding: 2rem var(--theme-side-padding) 1.5rem;
}
.faq {
  padding: 4rem 0 0;
}
.faq__heading {
  margin: 0 auto 2rem;
  width: calc(271 / var(--theme-design-width-value) * 100%);
}
.faq__content {
  display: grid;
  gap: 1rem;
  padding: 0 var(--theme-side-padding);
}
.spec {
  padding: 3rem var(--theme-side-padding);
}
.spec__table th {
  font-size: 0.78125rem;
}
.spec__table td {
  font-size: 0.625rem;
}
.spec__table td th {
  font-size: inherit;
  font-weight: inherit;
}
.spec__table td > * + * {
  margin-top: 0.75em;
}
.footer {
  background: var(--footer-bg-color, var(--theme-color--footer-bg));
  color: var(--footer-fg-color, var(--theme-color--footer-fg, inherit));
  font-size: 0.75rem;
  margin: 0 auto;
  padding: 2rem 1rem 10rem;
}
@media screen and (min-width: 800px) {
  .footer {
    padding-bottom: 2rem;
  }
}
.footer a {
  color: inherit;
}
.footer__inner {
  display: grid;
  gap: 1.5rem;
  place-items: center;
}
.footer__navigation__line {
  font-feature-settings: "palt";
  align-items: flex-start;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  line-height: 1;
}
.footer__navigation__line > * {
  margin: 0.5em 0;
  padding: 0.125em 0.75em;
}
.footer__navigation__line > :not(:last-child) {
  border-right: var(--theme-px) solid;
}
.footer__copyright {
  font-feature-settings: "palt";
  font-size: 0.75rem;
  line-height: 1;
  text-align: center;
}


/* 20240523追加 */
.key{
    position: relative;
}

.key h1{
    width: 100%;
    text-align: center;
    font-size: min(9.6vw, 72px);
    font-weight: bold;
    position: absolute;
    top: min(4.533vw, 34px);
    left: 0;
    line-height: 1.1389;
    color: #082cb6;
    font-feature-settings: "palt";
}

.key h1 .dots{
    background-image: radial-gradient(circle at center, #082cb6 14%, transparent 16%); /* 点の色とサイズ調整 */
    background-position: top right; /* 点の位置 */
    background-repeat: repeat-x; /* 横方向に繰り返し */
    background-size: 1em 0.3em; /* 点の間隔とサイズ調整 */
    padding-top: .2em; /* 縦方向の位置調整 */
}

.key h1 small{
    font-size: 75%;
}

.key a img{
    width: min(81.33vw, 610px);
    position: absolute;
    bottom: min(10.8vw, 81px);
    left: 50%;
    transform: translateX(-50%);
}

p.txt01 {
  font-size: var(--theme-font-size--xs, 0.5rem);
  line-height: 1.5;
  list-style: none;
  margin: 1em 0;
}