@charset "UTF-8";
/*
■上に行くボタン用
<span class="icon-ico_totop"></span>
.icon-ico_totop:before {
  content: "\e900";
}

■リンクボタンの矢印
<span class="icon-ico_linkbtnarrow"></span>
.icon-ico_linkbtnarrow:before {
  content: "\e901";
}
-----------------------------------*/
@font-face {
  font-family: 'icomoon';
  src: url("/wp-content/themes/eccube/img/lp/payment/fonts/icomoon.eot?23jv85");
  src: url("/wp-content/themes/eccube/img/lp/payment/fonts/icomoon.eot?23jv85#iefix") format("embedded-opentype"), url("/wp-content/themes/eccube/img/lp/payment/fonts/icomoon.ttf?23jv85") format("truetype"), url("/wp-content/themes/eccube/img/lp/payment/fonts/icomoon.woff?23jv85") format("woff"), url("/wp-content/themes/eccube/img/lp/payment/fonts/icomoon.svg?23jv85#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block; }
[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon-ico_totop:before {
  content: "\e900"; }

.icon-ico_linkbtnarrow:before {
  content: "\e901"; }

/*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
  min-width: 0; }

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -webkit-tap-highlight-color: transparent;
  /* 3*/ }

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0; }

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block; }

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0; }

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0; }

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none; }

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold; }

dd {
  margin-left: 0; }

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit; }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */ }

address {
  font-style: inherit; }

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit; }

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  text-decoration: underline dotted;
  /* 2 */ }

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder; }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */ }

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
  vertical-align: bottom; }

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  /* 1 */
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit;
  /* 2 */ }

/**


 * Correct cursors for clickable elements.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  cursor: pointer; }

button:disabled,
[type="button"]:disabled,
[type="reset"]:disabled,
[type="submit"]:disabled {
  cursor: default; }

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
  outline: auto; }

select:disabled {
  opacity: inherit; }

/**
 * Remove padding
 */
option {
  padding: 0; }

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0; }

legend {
  padding: 0; }

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline; }

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto; }

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * Correct the outline style in Safari.
 */
[type="search"] {
  outline-offset: -2px;
  /* 1 */ }

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/**
 * Fix appearance for Firefox
 */
[type="number"] {
  -moz-appearance: textfield; }

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer; }

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block; }

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }

/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
  outline: auto; }

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
  border-color: inherit;
  /* 1 */
  border-collapse: collapse; }

caption {
  text-align: left; }

td,
th {
  vertical-align: top;
  padding: 0; }

th {
  text-align: left;
  font-weight: bold; }

/* base
============================================================ */
* {
  margin: 0;
  padding: 0; }

/*common*/
.mgt5 {
  margin-top: 5px !important; }

.mgr5 {
  margin-right: 5px !important; }

.mgl5 {
  margin-left: 5px !important; }

.mgb5 {
  margin-bottom: 5px !important; }

.pdt5 {
  padding-top: 5px !important; }

.pdr5 {
  padding-right: 5px !important; }

.pdl5 {
  padding-left: 5px !important; }

.pdb5 {
  padding-bottom: 5px !important; }

.mgt10 {
  margin-top: 10px !important; }

.mgr10 {
  margin-right: 10px !important; }

.mgl10 {
  margin-left: 10px !important; }

.mgb10 {
  margin-bottom: 10px !important; }

.pdt10 {
  padding-top: 10px !important; }

.pdr10 {
  padding-right: 10px !important; }

.pdl10 {
  padding-left: 10px !important; }

.pdb10 {
  padding-bottom: 10px !important; }

.mgt15 {
  margin-top: 15px !important; }

.mgr15 {
  margin-right: 15px !important; }

.mgl15 {
  margin-left: 15px !important; }

.mgb15 {
  margin-bottom: 15px !important; }

.pdt15 {
  padding-top: 15px !important; }

.pdr15 {
  padding-right: 15px !important; }

.pdl15 {
  padding-left: 15px !important; }

.pdb15 {
  padding-bottom: 15px !important; }

.mgt20 {
  margin-top: 20px !important; }

.mgr20 {
  margin-right: 20px !important; }

.mgl20 {
  margin-left: 20px !important; }

.mgb20 {
  margin-bottom: 20px !important; }

.pdt20 {
  padding-top: 20px !important; }

.pdr20 {
  padding-right: 20px !important; }

.pdl20 {
  padding-left: 20px !important; }

.pdb20 {
  padding-bottom: 20px !important; }

.mgt25 {
  margin-top: 25px !important; }

.mgr25 {
  margin-right: 25px !important; }

.mgl25 {
  margin-left: 25px !important; }

.mgb25 {
  margin-bottom: 25px !important; }

.pdt25 {
  padding-top: 25px !important; }

.pdr25 {
  padding-right: 25px !important; }

.pdl25 {
  padding-left: 25px !important; }

.pdb25 {
  padding-bottom: 25px !important; }

.mgt30 {
  margin-top: 30px !important; }

.mgr30 {
  margin-right: 30px !important; }

.mgl30 {
  margin-left: 30px !important; }

.mgb30 {
  margin-bottom: 30px !important; }

.pdt30 {
  padding-top: 30px !important; }

.pdr30 {
  padding-right: 30px !important; }

.pdl30 {
  padding-left: 30px !important; }

.pdb30 {
  padding-bottom: 30px !important; }

.mgt35 {
  margin-top: 35px !important; }

.mgr35 {
  margin-right: 35px !important; }

.mgl35 {
  margin-left: 35px !important; }

.mgb35 {
  margin-bottom: 35px !important; }

.pdt35 {
  padding-top: 35px !important; }

.pdr35 {
  padding-right: 35px !important; }

.pdl35 {
  padding-left: 35px !important; }

.pdb35 {
  padding-bottom: 35px !important; }

.mgt40 {
  margin-top: 40px !important; }

.mgr40 {
  margin-right: 40px !important; }

.mgl40 {
  margin-left: 40px !important; }

.mgb40 {
  margin-bottom: 40px !important; }

.pdt40 {
  padding-top: 40px !important; }

.pdr40 {
  padding-right: 40px !important; }

.pdl40 {
  padding-left: 40px !important; }

.pdb40 {
  padding-bottom: 40px !important; }

.mgt45 {
  margin-top: 45px !important; }

.mgr45 {
  margin-right: 45px !important; }

.mgl45 {
  margin-left: 45px !important; }

.mgb45 {
  margin-bottom: 45px !important; }

.pdt45 {
  padding-top: 45px !important; }

.pdr45 {
  padding-right: 45px !important; }

.pdl45 {
  padding-left: 45px !important; }

.pdb45 {
  padding-bottom: 45px !important; }

.mgt50 {
  margin-top: 50px !important; }

.mgr50 {
  margin-right: 50px !important; }

.mgl50 {
  margin-left: 50px !important; }

.mgb50 {
  margin-bottom: 50px !important; }

.pdt50 {
  padding-top: 50px !important; }

.pdr50 {
  padding-right: 50px !important; }

.pdl50 {
  padding-left: 50px !important; }

.pdb50 {
  padding-bottom: 50px !important; }

.mgt55 {
  margin-top: 55px !important; }

.mgr55 {
  margin-right: 55px !important; }

.mgl55 {
  margin-left: 55px !important; }

.mgb55 {
  margin-bottom: 55px !important; }

.pdt55 {
  padding-top: 55px !important; }

.pdr55 {
  padding-right: 55px !important; }

.pdl55 {
  padding-left: 55px !important; }

.pdb55 {
  padding-bottom: 55px !important; }

.mgt60 {
  margin-top: 60px !important; }

.mgr60 {
  margin-right: 60px !important; }

.mgl60 {
  margin-left: 60px !important; }

.mgb60 {
  margin-bottom: 60px !important; }

.pdt60 {
  padding-top: 60px !important; }

.pdr60 {
  padding-right: 60px !important; }

.pdl60 {
  padding-left: 60px !important; }

.pdb60 {
  padding-bottom: 60px !important; }

.mgt65 {
  margin-top: 65px !important; }

.mgr65 {
  margin-right: 65px !important; }

.mgl65 {
  margin-left: 65px !important; }

.mgb65 {
  margin-bottom: 65px !important; }

.pdt65 {
  padding-top: 65px !important; }

.pdr65 {
  padding-right: 65px !important; }

.pdl65 {
  padding-left: 65px !important; }

.pdb65 {
  padding-bottom: 65px !important; }

.mgt70 {
  margin-top: 70px !important; }

.mgr70 {
  margin-right: 70px !important; }

.mgl70 {
  margin-left: 70px !important; }

.mgb70 {
  margin-bottom: 70px !important; }

.pdt70 {
  padding-top: 70px !important; }

.pdr70 {
  padding-right: 70px !important; }

.pdl70 {
  padding-left: 70px !important; }

.pdb70 {
  padding-bottom: 70px !important; }

.mgt75 {
  margin-top: 75px !important; }

.mgr75 {
  margin-right: 75px !important; }

.mgl75 {
  margin-left: 75px !important; }

.mgb75 {
  margin-bottom: 75px !important; }

.pdt75 {
  padding-top: 75px !important; }

.pdr75 {
  padding-right: 75px !important; }

.pdl75 {
  padding-left: 75px !important; }

.pdb75 {
  padding-bottom: 75px !important; }

.mgt80 {
  margin-top: 80px !important; }

.mgr80 {
  margin-right: 80px !important; }

.mgl80 {
  margin-left: 80px !important; }

.mgb80 {
  margin-bottom: 80px !important; }

.pdt80 {
  padding-top: 80px !important; }

.pdr80 {
  padding-right: 80px !important; }

.pdl80 {
  padding-left: 80px !important; }

.pdb80 {
  padding-bottom: 80px !important; }

.mgt85 {
  margin-top: 85px !important; }

.mgr85 {
  margin-right: 85px !important; }

.mgl85 {
  margin-left: 85px !important; }

.mgb85 {
  margin-bottom: 85px !important; }

.pdt85 {
  padding-top: 85px !important; }

.pdr85 {
  padding-right: 85px !important; }

.pdl85 {
  padding-left: 85px !important; }

.pdb85 {
  padding-bottom: 85px !important; }

.mgt90 {
  margin-top: 90px !important; }

.mgr90 {
  margin-right: 90px !important; }

.mgl90 {
  margin-left: 90px !important; }

.mgb90 {
  margin-bottom: 90px !important; }

.pdt90 {
  padding-top: 90px !important; }

.pdr90 {
  padding-right: 90px !important; }

.pdl90 {
  padding-left: 90px !important; }

.pdb90 {
  padding-bottom: 90px !important; }

.mgt95 {
  margin-top: 95px !important; }

.mgr95 {
  margin-right: 95px !important; }

.mgl95 {
  margin-left: 95px !important; }

.mgb95 {
  margin-bottom: 95px !important; }

.pdt95 {
  padding-top: 95px !important; }

.pdr95 {
  padding-right: 95px !important; }

.pdl95 {
  padding-left: 95px !important; }

.pdb95 {
  padding-bottom: 95px !important; }

.mgt100 {
  margin-top: 100px !important; }

.mgr100 {
  margin-right: 100px !important; }

.mgl100 {
  margin-left: 100px !important; }

.mgb100 {
  margin-bottom: 100px !important; }

.pdt100 {
  padding-top: 100px !important; }

.pdr100 {
  padding-right: 100px !important; }

.pdl100 {
  padding-left: 100px !important; }

.pdb100 {
  padding-bottom: 100px !important; }

.container {
  position: absolute;
  width: 100%;
  height: 100%; }

.header {
  width: 100%;
  display: flex;
  justify-content: center;
  height: 60px;
  align-items: center;
  position: fixed;
  transition: top 0.5s ease; }
  .header::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: transparent;
    /* デフォルトは透明 */
    z-index: -1;
    /* ヘッダーコンテンツの後ろに配置 */
    transition: background-color 0.3s;
    /* スムーズな背景色変更 */ }
  .header.header-show {
    top: 0 !important; }
    .header.header-show::before {
      background: rgba(255, 255, 255, 0.4);
      backdrop-filter: blur(30px);
      -webkit-backdrop-filter: blur(30px); }
  .header-container {
    max-width: 1440px;
    width: 100%;
    position: fixed; }
    .header-container-wrap {
      display: flex;
      justify-content: space-between; }
      .header-container-wrap .logo img {
        position: relative;
        max-width: 150px;
        margin-left: 20px; }
      .header-container-wrap-btn {
        margin-right: 65px; }
        .header-container-wrap-btn a {
          margin-right: 10px; }
      @media (max-width: 768px) {
        .header-container-wrap .pc-btn {
          display: none !important; } }

.button_container {
  position: absolute;
  width: 35px;
  height: 27px;
  top: 5px;
  right: 20px;
  cursor: pointer;
  z-index: 1000;
  transition: opacity .25s ease; }
  .button_container:hover {
    opacity: .7; }
  .button_container.active .top {
    transform: translateY(11px) translateX(0) rotate(45deg);
    background: #FFF; }
  .button_container.active .middle {
    opacity: 0;
    background: #FFF; }
  .button_container.active .bottom {
    transform: translateY(-11px) translateX(0) rotate(-45deg);
    background: #FFF; }
  .button_container span {
    background: #ffffff;
    border: none;
    height: 5px;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    transition: all .35s ease;
    cursor: pointer; }
    .button_container span:nth-of-type(2) {
      top: 11px; }
    .button_container span:nth-of-type(3) {
      top: 22px; }

.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 0%;
  opacity: 0;
  visibility: hidden;
  transition: opacity .35s, visibility .35s, height .35s;
  overflow: hidden;
  z-index: 99; }
  .overlay.open {
    opacity: 1;
    visibility: visible;
    height: 100%;
    transform: translateZ(0); }
    .overlay.open::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: rgba(0, 0, 0, 0.6);
      backdrop-filter: blur(30px);
      -webkit-backdrop-filter: blur(30px);
      height: 100vh; }
    .overlay.open li {
      animation: fadeInRight .5s ease forwards;
      animation-delay: .35s; }
      .overlay.open li:nth-of-type(2) {
        animation-delay: .4s; }
      .overlay.open li:nth-of-type(3) {
        animation-delay: .45s; }
      .overlay.open li:nth-of-type(4) {
        animation-delay: .50s; }
  .overlay nav {
    position: relative;
    height: 70%;
    top: 50%;
    transform: translateY(-50%);
    font-size: clamp(16px, 5vw, 20px);
    font-weight: 400;
    text-align: center; }
  .overlay ul {
    list-style: none;
    padding: 0;
    margin: 0 auto;
    display: inline-block;
    position: relative;
    height: 100%; }
    .overlay ul li {
      display: block;
      height: calc(100% / 5);
      min-height: 50px;
      max-height: 100px;
      position: relative;
      opacity: 0; }
      .overlay ul li a {
        display: block;
        position: relative;
        color: #ffffff;
        text-decoration: none;
        overflow: hidden; }
        .overlay ul li a:hover::after, .overlay ul li a:focus::after, .overlay ul li a:active::after {
          width: 100%; }
        .overlay ul li a::after {
          content: '';
          position: absolute;
          bottom: 0px;
          left: 50%;
          width: 0%;
          transform: translateX(-50%);
          height: 1px;
          background: #FCCF00;
          transition: .35s; }
        .overlay ul li a.btn {
          position: relative;
          display: flex;
          justify-content: center;
          align-items: center;
          box-shadow: 0px 5px 10px rgba(40, 40, 40, 0.16); }
          .overlay ul li a.btn:hover {
            transform: translateY(-5px);
            box-shadow: 0px 10px 10px rgba(40, 40, 40, 0.16); }
            .overlay ul li a.btn:hover::after {
              right: 12px; }
          .overlay ul li a.btn::after {
            bottom: auto;
            left: auto;
            width: auto;
            transform: none;
            height: 14px;
            background: none;
            font-family: 'icomoon';
            content: "\e901";
            position: absolute;
            right: 15px;
            display: block;
            font-size: 14px;
            transition: 0.3s ease; }

.header-show .button_container span {
  background: #282828; }

@keyframes fadeInRight {
  0% {
    opacity: 0;
    left: 20%; }
  100% {
    opacity: 1;
    left: 0; } }
/* base
============================================================ */
* {
  margin: 0;
  padding: 0; }

html {
  font-size: 62.5%; }

body {
  margin: 0;
  padding: 0;
  background: #ffffff;
  font-size: clamp(14px, 3vw, 16px);
  line-height: 1.3;
  font-family: "Noto Sans JP", 'NotoSans_Japanese', 'Helvetica Neue', 'Helvetica', 'Arial', 'Hiragino Sans', 'ヒラギノ角ゴシック', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic';
  color: #282828;
  letter-spacing: .1em;
  overflow-x: hidden; }

img {
  max-width: 100%;
  height: auto;
  border: 0; }

p {
  font-size: clamp(14px, 3vw, 16px);
  line-height: 1.3;
  font-family: "Noto Sans JP", 'NotoSans_Japanese', 'Helvetica Neue', 'Helvetica', 'Arial', 'Hiragino Sans', 'ヒラギノ角ゴシック', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic';
  color: #282828; }

a {
  color: #0D74CE;
  text-decoration: underline;
  opacity: 1;
  cursor: pointer;
  transition: 0.3s ease; }
  a:hover {
    opacity: .8; }

main {
  width: calc(100% - 30px);
  margin: 0px auto; }

.wrapper {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto; }

/*
　汎用デザイン
---------------*/
.sp {
  display: none !important; }
  @media (max-width: 768px) {
    .sp {
      display: block !important; } }

@media (max-width: 768px) {
  .pc {
    display: none !important; } }

.text-center {
  text-align: center !important; }

.text-right {
  text-align: right !important; }

.text-left {
  text-align: left !important; }

@media (max-width: 768px) {
  .text-center-sp {
    text-align: center !important; } }

@media (max-width: 768px) {
  .text-right-sp {
    text-align: right !important; } }

@media (max-width: 768px) {
  .text-left-sp {
    text-align: left !important; } }

.bg-yellow {
  background: #FCCF00 !important; }

.bg-white {
  background: #ffffff !important; }

.bg-gray {
  background: #E6E6E6; }

.bg-black {
  background: #282828; }

.vw100 {
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%); }

.font16 {
  font-size: clamp(14px, 3vw, 16px); }

.font14 {
  font-size: clamp(12px, 3vw, 14px); }

.font12 {
  font-size: clamp(10px, 3vw, 12px); }

.center {
  display: flex;
  justify-content: center;
  width: 100%; }

.left {
  display: flex;
  justify-content: flex-start;
  width: 100%; }

.right {
  display: flex;
  justify-content: flex-end;
  width: 100%; }

.left-pc {
  display: flex;
  justify-content: flex-start;
  width: 100%; }
  @media (max-width: 768px) {
    .left-pc {
      justify-content: center; } }

.right-pc {
  display: flex;
  justify-content: flex-end;
  width: 100%; }
  @media (max-width: 768px) {
    .right-pc {
      justify-content: center; } }

.center-outlinebox {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%; }

@media (max-width: 768px) {
  .center-outlinebox-sp {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%; } }
.contents-parents {
  display: inline-flex;
  gap: 20px;
  flex-wrap: wrap;
  width: 100%; }
  @media (max-width: 768px) {
    .contents-parents {
      display: block; } }
  .contents-parents .contents-child_2 {
    flex: 1 1 calc((100% - (1 * 20px)) / 2); }
    @media (max-width: 768px) {
      .contents-parents .contents-child_2 {
        margin-bottom: 20px; } }
  .contents-parents .contents-child_3 {
    flex: 1 1 calc((100% - (2 * 20px)) / 3); }
    @media (max-width: 768px) {
      .contents-parents .contents-child_3 {
        margin-bottom: 20px; } }
  .contents-parents .contents-child_4 {
    flex: 1 1 calc((100% - (3 * 20px)) / 4); }
    @media (max-width: 768px) {
      .contents-parents .contents-child_4 {
        margin-bottom: 20px; } }

/*
　文字を目立たせる
---------------*/
.bold {
  font-weight: 500 !important; }

.normal {
  font-weight: 400 !important; }

.point {
  color: #FCCF00; }

.marker {
  display: inline;
  background: linear-gradient(to bottom, transparent 80%, #FCCF00 80%);
  background-size: 100% 20px;
  background-repeat: no-repeat;
  background-position: bottom left; }

.call {
  display: inline-block;
  position: relative;
  padding: 0 1.2em;
  line-height: 1.3; }
  .call::before, .call::after {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 1em;
    height: 1em;
    background-size: contain;
    background-repeat: no-repeat; }
  .call::before {
    background-image: url("/wp-content/themes/eccube/img/lp/payment/icon_title_before.svg");
    left: 0; }
  .call::after {
    background-image: url("/wp-content/themes/eccube/img/lp/payment/icon_title_after.svg");
    right: 0; }

.circle {
  position: relative;
  color: #ffffff;
  background: #282828;
  border-radius: 50%;
  width: 1.5em;
  height: 1.5em;
  line-height: 1.5em;
  display: inline-block;
  margin: 0 2px;
  text-align: center; }

.circle-w {
  position: relative;
  color: #282828;
  background: #ffffff;
  border-radius: 50%;
  width: 1.5em;
  height: 1.5em;
  line-height: 1.5em;
  display: inline-block;
  margin: 0 2px;
  text-align: center; }

.font-black {
  color: #282828; }

.font-block {
  display: inline-block; }

.font-white {
  color: #ffffff; }

.font-beginner {
  color: #37C8E8; }

.font-standard {
  color: #0D74CE; }

.font-premium {
  color: #512B95; }

/*
　見出し指定
---------------*/
h1, h2, h3, h4, h5 {
  line-height: 1.3; }

h1 {
  font-size: clamp(24px, 2.5vw, 32px);
  font-weight: bold;
  padding-top: 20px; }

h2 {
  font-size: clamp(32px, 5vw, 38px);
  font-weight: bold;
  color: #ffffff;
  text-align: center;
  display: inline-block;
  position: relative;
  margin: 0;
  padding: 0.2em 0.5em 0.3em;
  z-index: 0; }
  @media (max-width: 768px) {
    h2 {
      text-align: left; } }
  h2.black::before {
    content: '';
    display: block;
    background: #282828;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: -1; }
  h2.white {
    background: #ffffff;
    color: #282828; }
    h2.white::before {
      content: '';
      display: block;
      background: #ffffff;
      box-shadow: 5px 5px 0px #FCCF00;
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      z-index: -1; }
  h2.solution {
    padding: 20px 0.2em 20px 15px;
    margin-top: 10px;
    position: relative; }
    h2.solution::before {
      content: '';
      display: block;
      background: #282828;
      box-shadow: 5px 5px 0px #FCCF00;
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      z-index: -1; }
    h2.solution::after {
      content: "";
      background: url("/wp-content/themes/eccube/img/lp/payment/solution.svg") no-repeat;
      position: absolute;
      top: -7px;
      left: -10px;
      width: 70px;
      height: 29px;
      display: block; }

h3 {
  font-size: clamp(18px, 5vw, 22px);
  font-weight: bold;
  text-align: center; }
  h3 span {
    display: inline-block; }

/*
　ToTop
---------------*/
#ToTopbtn {
  width: 45px;
  height: 45px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(30px);
  -webkit-backdrop-filter: blur(30px);
  border: 2px solid #FCCF00;
  color: #FCCF00;
  position: fixed;
  bottom: 15px;
  right: 15px;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s, visibility 0.5s, transform 0.3s ease; }
  #ToTopbtn.show {
    opacity: 1;
    visibility: visible; }
  #ToTopbtn::before {
    font-family: 'icomoon';
    content: "\e900";
    font-size: 25px;
    position: absolute;
    left: calc(50% - 12.5px);
    top: calc(50% - 12px);
    line-height: 1; }
  #ToTopbtn:hover {
    transform: scale(1.2);
    background: #FCCF00;
    backdrop-filter: blur(0px);
    -webkit-backdrop-filter: blur(0px); }
    #ToTopbtn:hover::before {
      color: #ffffff; }

/*
　ボタン（色はbgclassで別指定）
---------------*/
.btn {
  width: auto;
  padding: 1.5rem clamp(40px, 5vw, 60px);
  border-radius: 3rem;
  text-decoration: none;
  color: #282828 !important;
  font-weight: bold;
  letter-spacing: 0.01em;
  font-size: clamp(18px, 3vw, 22px);
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0px 5px 10px rgba(40, 40, 40, 0.16); }
  .btn:hover {
    transform: translateY(-5px);
    box-shadow: 0px 10px 10px rgba(40, 40, 40, 0.16); }
    .btn:hover::after {
      right: 12px; }
  .btn::after {
    font-family: 'icomoon';
    content: "\e901";
    position: absolute;
    right: 15px;
    display: block;
    font-size: 14px;
    transition: 0.3s ease; }
  .btn.btn-small {
    font-size: 16px;
    font-weight: normal;
    text-align: left;
    padding: calc(1.5rem / 2) 40px calc(1.5rem / 2) 20px; }
    .btn.btn-small.bg-yellow {
      font-weight: bold; }

/*
　下向き三角形装飾
---------------*/
.triangle_white {
  width: 70px;
  height: 45px;
  position: relative;
  margin: 0 auto;
  display: block; }
  .triangle_white::before {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    top: 30px;
    transform: translateY(-50%);
    border-style: solid;
    border-right: 35px solid transparent;
    border-left: 35px solid transparent;
    border-top: 30px solid #FCCF00;
    border-bottom: 0; }
  .triangle_white::after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    top: 15px;
    transform: translateY(-50%);
    border-style: solid;
    border-right: 35px solid transparent;
    border-left: 35px solid transparent;
    border-top: 30px solid #ffffff;
    border-bottom: 0; }

.triangle_yellow {
  width: 70px;
  height: 45px;
  position: relative;
  margin: 0 auto;
  display: block; }
  .triangle_yellow::before {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    top: 30px;
    transform: translateY(-50%);
    border-style: solid;
    border-right: 35px solid transparent;
    border-left: 35px solid transparent;
    border-top: 30px solid #ffffff;
    border-bottom: 0; }
  .triangle_yellow::after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    top: 15px;
    transform: translateY(-50%);
    border-style: solid;
    border-right: 35px solid transparent;
    border-left: 35px solid transparent;
    border-top: 30px solid #FCCF00;
    border-bottom: 0; }

.triangle_black {
  width: 70px;
  height: 45px;
  position: relative;
  margin: 0 auto;
  display: block; }
  .triangle_black::before {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    top: 30px;
    transform: translateY(-50%);
    border-style: solid;
    border-right: 35px solid transparent;
    border-left: 35px solid transparent;
    border-top: 30px solid #FCCF00;
    border-bottom: 0; }
  .triangle_black::after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    top: 15px;
    transform: translateY(-50%);
    border-style: solid;
    border-right: 35px solid transparent;
    border-left: 35px solid transparent;
    border-top: 30px solid #282828;
    border-bottom: 0; }

.triangle {
  width: 70px;
  height: 45px;
  position: relative;
  margin: 0 auto;
  display: block; }
  .triangle::before {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    top: 30px;
    transform: translateY(-50%);
    border-style: solid;
    border-right: 35px solid transparent;
    border-left: 35px solid transparent;
    border-top: 30px solid transparent;
    border-bottom: 0; }
  .triangle::after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    top: 15px;
    transform: translateY(-50%);
    border-style: solid;
    border-right: 35px solid transparent;
    border-left: 35px solid transparent;
    border-top: 30px solid #ffffff;
    border-bottom: 0; }

/*
　3つのプラン
---------------*/
.plan {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch; }
  @media (max-width: 768px) {
    .plan {
      display: block; } }
  .plan .plan-card {
    flex: 1;
    /* width: calc(100% / 3); ◆delete:20260518*/
    /* max-width: 320px; ◆delete:20260518*/
    width: calc(100% / 2);
    max-width: 480px;
    display: flex;
    flex-direction: column; }
    @media (max-width: 768px) {
      .plan .plan-card {
        width: 100%;
        max-width: 100%;
        display: block; }
        .plan .plan-card:not(:first-child) {
          margin-top: 20px; } }
    .plan .plan-card.plan-card--beginner .plan-card_title {
      border-radius: 20px 20px 0px 0px;
      display: inline-flex;
      justify-content: center;
      align-items: center;
      background-color: #37C8E8;
      border: 3px solid #37C8E8;
      color: #ffffff;
      font-weight: bold;
      padding: calc(1rem / 2) 10px;
      width: 100%;
      font-size: clamp(14px, 2vw, 18px); }
    .plan .plan-card.plan-card--beginner .plan-card_box {
      border: 3px solid #37C8E8;
      background: #F7F7F7;
      padding: 20px;
      flex-grow: 1; }
      .plan .plan-card.plan-card--beginner .plan-card_box dl.plan-fee dt {
        color: #37C8E8; }
      .plan .plan-card.plan-card--beginner .plan-card_box dl.plan-price {
        margin-top: 20px;
        letter-spacing: .05em;
        font-family: "Roboto", "Noto Sans JP", 'NotoSans_Japanese', sans-serif; }
        .plan .plan-card.plan-card--beginner .plan-card_box dl.plan-price dt {
          font-size: 14px;
          font-weight: bold; }
          .plan .plan-card.plan-card--beginner .plan-card_box dl.plan-price dt::before {
            content: '\f0c8';
            font-family: "Font Awesome 5 Free";
            font-weight: 900;
            margin-right: 5px;
            color: #37C8E8; }
        .plan .plan-card.plan-card--beginner .plan-card_box dl.plan-price dd {
          font-size: clamp(40px, 5vw, 45px);
          font-weight: 500;
          position: relative;
          line-height: 1.3em; }
          .plan .plan-card.plan-card--beginner .plan-card_box dl.plan-price dd::after {
            content: "円/月";
            position: absolute;
            margin-left: 5px;
            bottom: 12px;
            font-size: clamp(16px, 2vw, 18px);
            line-height: 1em; }
      .plan .plan-card.plan-card--beginner .plan-card_box dl.plan-payments {
        margin-top: 20px;
        letter-spacing: .05em;
        font-family: "Roboto", "Noto Sans JP", 'NotoSans_Japanese', sans-serif; }
        .plan .plan-card.plan-card--beginner .plan-card_box dl.plan-payments dt {
          font-size: 14px;
          font-weight: bold; }
          .plan .plan-card.plan-card--beginner .plan-card_box dl.plan-payments dt::before {
            content: '\f0c8';
            font-family: "Font Awesome 5 Free";
            font-weight: 900;
            margin-right: 5px;
            color: #37C8E8; }
        .plan .plan-card.plan-card--beginner .plan-card_box dl.plan-payments dd {
          font-size: clamp(40px, 5vw, 45px);
          font-weight: 500;
          position: relative;
          line-height: 1.3em; }
          .plan .plan-card.plan-card--beginner .plan-card_box dl.plan-payments dd::after {
            content: "種類";
            position: absolute;
            margin-left: 5px;
            bottom: 12px;
            font-size: clamp(16px, 2vw, 18px);
            line-height: 1em; }
    .plan .plan-card.plan-card--standard .plan-card_title {
      border-radius: 20px 20px 0px 0px;
      display: inline-flex;
      justify-content: center;
      align-items: center;
      background-color: #0D74CE;
      border: 3px solid #0D74CE;
      color: #ffffff;
      font-weight: bold;
      padding: calc(1rem / 2) 10px;
      width: 100%;
      font-size: clamp(14px, 2vw, 18px); }
    .plan .plan-card.plan-card--standard .plan-card_box {
      border: 3px solid #0D74CE;
      background: #F7F7F7;
      padding: 20px;
      flex-grow: 1; }
      .plan .plan-card.plan-card--standard .plan-card_box dl.plan-fee dt {
        color: #0D74CE; }
      .plan .plan-card.plan-card--standard .plan-card_box dl.plan-price {
        margin-top: 20px;
        letter-spacing: .05em;
        font-family: "Roboto", "Noto Sans JP", 'NotoSans_Japanese', sans-serif; }
        .plan .plan-card.plan-card--standard .plan-card_box dl.plan-price dt {
          font-size: 14px;
          font-weight: bold; }
          .plan .plan-card.plan-card--standard .plan-card_box dl.plan-price dt::before {
            content: '\f0c8';
            font-family: "Font Awesome 5 Free";
            font-weight: 900;
            margin-right: 5px;
            color: #0D74CE; }
        .plan .plan-card.plan-card--standard .plan-card_box dl.plan-price dd {
          font-size: clamp(40px, 5vw, 45px);
          font-weight: 500;
          position: relative;
          line-height: 1.3em; }
          .plan .plan-card.plan-card--standard .plan-card_box dl.plan-price dd::after {
            content: "円/月";
            position: absolute;
            margin-left: 5px;
            bottom: 12px;
            font-size: clamp(16px, 2vw, 18px);
            line-height: 1em; }
      .plan .plan-card.plan-card--standard .plan-card_box dl.plan-payments {
        margin-top: 20px;
        letter-spacing: .05em;
        font-family: "Roboto", "Noto Sans JP", 'NotoSans_Japanese', sans-serif; }
        .plan .plan-card.plan-card--standard .plan-card_box dl.plan-payments dt {
          font-size: 14px;
          font-weight: bold; }
          .plan .plan-card.plan-card--standard .plan-card_box dl.plan-payments dt::before {
            content: '\f0c8';
            font-family: "Font Awesome 5 Free";
            font-weight: 900;
            margin-right: 5px;
            color: #0D74CE; }
        .plan .plan-card.plan-card--standard .plan-card_box dl.plan-payments dd {
          font-size: clamp(40px, 5vw, 45px);
          font-weight: 500;
          position: relative;
          line-height: 1.3em; }
          .plan .plan-card.plan-card--standard .plan-card_box dl.plan-payments dd::after {
            content: "種類";
            position: absolute;
            margin-left: 5px;
            bottom: 12px;
            font-size: clamp(16px, 2vw, 18px);
            line-height: 1em; }
    .plan .plan-card.plan-card--premium .plan-card_title {
      border-radius: 20px 20px 0px 0px;
      display: inline-flex;
      justify-content: center;
      align-items: center;
      background-color: #512B95;
      border: 3px solid #512B95;
      color: #ffffff;
      font-weight: bold;
      padding: calc(1rem / 2) 10px;
      width: 100%;
      font-size: clamp(14px, 2vw, 18px); }
    .plan .plan-card.plan-card--premium .plan-card_box {
      border: 3px solid #512B95;
      background: #F7F7F7;
      padding: 20px;
      flex-grow: 1; }
      .plan .plan-card.plan-card--premium .plan-card_box dl.plan-fee dt {
        color: #512B95; }
      .plan .plan-card.plan-card--premium .plan-card_box dl.plan-price {
        margin-top: 20px;
        letter-spacing: .05em;
        font-family: "Roboto", "Noto Sans JP", 'NotoSans_Japanese', sans-serif; }
        .plan .plan-card.plan-card--premium .plan-card_box dl.plan-price dt {
          font-size: 14px;
          font-weight: bold; }
          .plan .plan-card.plan-card--premium .plan-card_box dl.plan-price dt::before {
            content: '\f0c8';
            font-family: "Font Awesome 5 Free";
            font-weight: 900;
            margin-right: 5px;
            color: #512B95; }
        .plan .plan-card.plan-card--premium .plan-card_box dl.plan-price dd {
          font-size: clamp(40px, 5vw, 45px);
          font-weight: 500;
          position: relative;
          line-height: 1.3em; }
          .plan .plan-card.plan-card--premium .plan-card_box dl.plan-price dd::after {
            content: "円/月";
            position: absolute;
            margin-left: 5px;
            bottom: 12px;
            font-size: clamp(16px, 2vw, 18px);
            line-height: 1em; }
      .plan .plan-card.plan-card--premium .plan-card_box dl.plan-payments {
        margin-top: 20px;
        letter-spacing: .05em;
        font-family: "Roboto", "Noto Sans JP", 'NotoSans_Japanese', sans-serif; }
        .plan .plan-card.plan-card--premium .plan-card_box dl.plan-payments dt {
          font-size: 14px;
          font-weight: bold; }
          .plan .plan-card.plan-card--premium .plan-card_box dl.plan-payments dt::before {
            content: '\f0c8';
            font-family: "Font Awesome 5 Free";
            font-weight: 900;
            margin-right: 5px;
            color: #512B95; }
        .plan .plan-card.plan-card--premium .plan-card_box dl.plan-payments dd {
          font-size: clamp(40px, 5vw, 45px);
          font-weight: 500;
          position: relative;
          line-height: 1.3em; }
          .plan .plan-card.plan-card--premium .plan-card_box dl.plan-payments dd::after {
            content: "種類";
            position: absolute;
            margin-left: 5px;
            bottom: 12px;
            font-size: clamp(16px, 2vw, 18px);
            line-height: 1em; }
    .plan .plan-card dl {
      letter-spacing: 0; }
      .plan .plan-card dl.plan-fee dt {
        font-size: clamp(14px, 2vw, 16px);
        font-weight: bold;
        line-height: 1.3em; }
      .plan .plan-card dl.plan-fee dd {
        font-size: clamp(45px, 5vw, 52px);
        font-weight: bold;
        position: relative;
        line-height: 1.3em; }
        .plan .plan-card dl.plan-fee ddspan {
          font-size: clamp(24px, 1vw, 36px); }
        .plan .plan-card dl.plan-fee dd::after {
          content: '%';
          position: absolute;
          bottom: 10px;
          font-size: clamp(16px, 2vw, 28px);
          line-height: 1em; }
    .plan .plan-card ul {
      display: inline-flex;
      justify-content: center;
      flex-wrap: wrap; }
      .plan .plan-card ul li {
        width: 100%;
        font-size: 12px;
        text-indent: -12px;
        margin-left: 12px;
        display: inline-flex;
        flex-wrap: wrap;
        align-items: center; }
        .plan .plan-card ul li::before {
          content: '・';
          font-size: 12px;
          display: contents; }
        .plan .plan-card ul li img {
          padding-left: 5px; }

.plan-batch {
  display: flex;
  justify-content: center; /* ◆add:20260518 */}
  .plan-batch li:not(:last-child) {
    margin-right: 10px; }
  .plan-batch .plan-batch-beginner {
    background-color: #37C8E8;
    font-size: 10px;
    font-weight: bold;
    color: #ffffff;
    width: 80px;
    height: 1.7em;
    text-align: center;
    border-radius: 1.5em;
    position: relative;
    letter-spacing: .05em; }
    .plan-batch .plan-batch-beginner::after {
      content: "ビギナー";
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      white-space: nowrap; }
  .plan-batch .plan-batch-standard {
    background-color: #0D74CE;
    font-size: 10px;
    font-weight: bold;
    color: #ffffff;
    width: 80px;
    height: 1.7em;
    text-align: center;
    border-radius: 1.5em;
    position: relative;
    letter-spacing: .05em; }
    .plan-batch .plan-batch-standard::after {
      content: "スタンダード";
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      white-space: nowrap; }
  .plan-batch .plan-batch-premium {
    background-color: #512B95;
    font-size: 10px;
    font-weight: bold;
    color: #ffffff;
    width: 80px;
    height: 1.7em;
    text-align: center;
    border-radius: 1.5em;
    position: relative;
    letter-spacing: .05em; }
    .plan-batch .plan-batch-premium::after {
      content: "プレミアム";
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      white-space: nowrap; }

/*
　決済手段
---------------*/
.payments {
  background: #F7F7F7;
  padding: 1em;
  position: relative;
  cursor: pointer;
  border: 3px solid #F7F7F7;
  transition: 0.3s ease; }
  .payments-title {
    font-size: clamp(18px, 5vw, 22px);
    font-weight: bold;
    width: 100%; }
  .payments-contents {
    padding: 15px 0 20px; }
    .payments-contents-logo {
      flex-wrap: wrap;
      align-items: center;
      gap: 10px;
      display: none; }
      @media (max-width: 768px) {
        .payments-contents-logo {
          gap: 0px; } }
      .payments-contents-logo::before {
        position: absolute;
        bottom: 10px;
        right: 10px;
        content: "more";
        font-size: 14px;
        padding-right: 15px;
        vertical-align: middle; }
      .payments-contents-logo::after {
        position: absolute;
        bottom: 8px;
        right: 10px;
        font-family: 'icomoon';
        content: "\e900";
        font-size: 12px;
        font-weight: 600;
        transform: rotate(90deg); }
      .payments-contents-logo img {
        max-width: 80px;
        height: auto; }
        .payments-contents-logo img.w-160 {
          max-width: 160px; }
        @media (max-width: 768px) {
          .payments-contents-logo img {
            max-width: 50px; }
            .payments-contents-logo img.w-160 {
              max-width: 120px; } }
      .payments-contents-logo.payments-show {
        display: inline-flex; }
    .payments-contents-text {
      font-size: clamp(14px, 3vw, 16px);
      display: none; }
      .payments-contents-text::before {
        position: absolute;
        bottom: 10px;
        right: 10px;
        content: "return";
        font-size: 14px;
        padding-right: 15px;
        vertical-align: middle; }
      .payments-contents-text::after {
        position: absolute;
        bottom: 8px;
        right: 10px;
        font-family: 'icomoon';
        content: "\e900";
        font-size: 12px;
        font-weight: 600;
        transform: rotate(90deg); }
      .payments-contents-text.payments-show {
        display: block; }
  .payments:hover {
    border: 3px solid #FCCF00; }

/*
　オプション
---------------*/
.option {
  background: #F7F7F7;
  padding: 1em; }
  .option-title {
    font-size: clamp(18px, 5vw, 22px);
    font-weight: bold;
    display: inline-flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: center; }
    .option-title img {
      max-width: 150px; }
    .option-title-text {
      margin-left: 20px; }
      @media (max-width: 768px) {
        .option-title-text {
          margin-left: 0;
          text-align: center; 
          width: 100%; /* ◆add:20260518 */} }
  .option-contents {
    font-size: clamp(14px, 3vw, 16px); }

/*
　CTA
---------------*/
.area-cta {
  gap: 30px;
  padding: 0 15px;
  justify-content: center;
  z-index: 0; }
  .area-cta-step01 {
    border-radius: 20px;
    box-shadow: 0px 3px 15px rgba(0, 0, 0, 0.16);
    text-align: center;
    padding: 1.5em;
    position: relative;
    transition: 0.3s ease; }
    .area-cta-step01::before {
      content: "01";
      font-family: "Roboto", sans-serif;
      position: absolute;
      top: 20px;
      left: 20px;
      font-size: clamp(26px, 3vw, 32px); }
    .area-cta-step01:hover {
      transform: translateY(-5px);
      box-shadow: 0px 10px 10px rgba(40, 40, 40, 0.16); }
      .area-cta-step01:hover::after {
        right: 12px; }
    .area-cta-step01::after {
      font-family: 'icomoon';
      content: "\e901";
      position: absolute;
      right: 15px;
      bottom: 15px;
      display: block;
      font-size: 16px;
      transition: 0.3s ease; }
    .area-cta-step01 .cta-maintext {
      font-size: clamp(16px, 3vw, 18px);
      font-weight: bold;
      padding-top: 10px; }
  .area-cta-step02 {
    border-radius: 20px;
    box-shadow: 0px 3px 15px rgba(0, 0, 0, 0.16);
    text-align: center;
    padding: 1.5em;
    position: relative;
    transition: 0.3s ease; }
    .area-cta-step02::before {
      content: "02";
      font-family: "Roboto", sans-serif;
      position: absolute;
      top: 20px;
      left: 20px;
      font-size: clamp(26px, 3vw, 32px); }
    .area-cta-step02:hover {
      transform: translateY(-5px);
      box-shadow: 0px 10px 10px rgba(40, 40, 40, 0.16); }
      .area-cta-step02:hover::after {
        right: 12px; }
    .area-cta-step02::after {
      font-family: 'icomoon';
      content: "\e901";
      position: absolute;
      right: 15px;
      bottom: 15px;
      display: block;
      font-size: 16px;
      transition: 0.3s ease; }
    .area-cta-step02 .cta-maintext {
      font-size: clamp(16px, 3vw, 18px);
      font-weight: bold;
      padding-top: 10px; }
  .area-cta-step01, .area-cta-step02 {
    flex: 1 1 calc(50% - 15px);
    max-width: 370px; }
    @media (max-width: 768px) {
      .area-cta-step01, .area-cta-step02 {
        margin: 0 auto 20px; } }
  .area-cta a {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    text-decoration: none;
    color: #282828; }
  .area-cta img {
    display: block;
    margin: 0px auto 15px; }
  .area-cta p {
    text-align: center;
    width: 100%; }

.animate-bk {
  background: #a4bed5;
  background: -moz-linear-gradient(0deg, #a4bed5 0%, #b6d1e5 100%);
  background: -webkit-linear-gradient(0deg, #a4bed5 0%, #b6d1e5 100%);
  background: linear-gradient(0deg, #a4bed5 0%, #b6d1e5 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#a4bed5",endColorstr="#b6d1e5",GradientType=1);
  position: relative; }
  .animate-bk::before {
    z-index: -1;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url("/wp-content/themes/eccube/img/lp/payment/ctabk_dot.svg"), url("/wp-content/themes/eccube/img/lp/payment/ctabk_soft1.svg"), url("/wp-content/themes/eccube/img/lp/payment/ctabk_soft2.svg"), url("/wp-content/themes/eccube/img/lp/payment/ctabk_dot.svg");
    background-repeat: no-repeat;
    background-size: 300px, 300px, 300px, 270px;
    -webkit-animation: bkanime 8s infinite;
    animation: bkanime 8s infinite; }
    @media (max-width: 1280px) {
      .animate-bk::before {
        background-size: 23%, 25%, 30%, 20%; } }
    @media (max-width: 768px) {
      .animate-bk::before {
        background-size: 35%, 40%, 60%, 25%; } }

@keyframes bkanime {
  0% {
    background-position: left -50px top -10px, right -50px top -10px, left 20px bottom -40px, right 10px bottom 50px; }
  50% {
    background-position: left -20px top 20px, right -50px top -30px, left 20px bottom -20px, right 0px bottom 30px; }
  100% {
    background-position: left -50px top -10px, right -50px top -10px, left 20px bottom -40px, right 10px bottom 50px; } }
/*
　AreaQuestion
---------------*/
.question {
  width: 100%;
  border-radius: 20px 20px 0px 20px;
  padding: 1.2em;
  background: #ffffff;
  box-shadow: 5px 5px 0px #FCCF00;
  display: inline-flex;
  justify-content: center;
  align-items: center; }

/*
　AreaMainvisual
---------------*/
.area-mainvisual {
  background: #c4efde;
  background: -moz-linear-gradient(125deg, #c4efde 0%, #9fcbf1 50%, #a397eb 100%);
  background: -webkit-linear-gradient(125deg, #c4efde 0%, #9fcbf1 50%, #a397eb 100%);
  background: linear-gradient(125deg, #c4efde 0%, #9fcbf1 50%, #a397eb 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#c4efde",endColorstr="#a397eb",GradientType=1);
  width: 100%;
  padding: 100px 15px 0px;
  position: relative;
  overflow: hidden;
  z-index: 0;
  margin-bottom: 40px; }
  @media (max-width: 768px) {
    .area-mainvisual {
      padding: 70px 0px; 
      margin-bottom: 0;}
      .area-mainvisual h3, .area-mainvisual h2 {
        margin: 0px 15px; } }
  .area-mainvisual .btn {
    margin-top: 50px; }
    @media (max-width: 768px) {
      .area-mainvisual .btn {
        margin-top: 40px; } }
  .area-mainvisual-box {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0px 0px 50px 15px; }
    .area-mainvisual-box-leftside img {
      width: 100%; }
    .area-mainvisual-box-rightside {
      margin-left: 50px; }
    @media (max-width: 768px) {
      .area-mainvisual-box {
        display: block;
        margin: 0px 0px 70px 0px; }
        .area-mainvisual-box-leftside, .area-mainvisual-box-rightside {
          width: 100%;
          margin: 0 auto; }
        .area-mainvisual-box-leftside {
          max-width: 600px;
          padding: 0 15px; }
        .area-mainvisual-box-rightside {
          margin-left: 0px; }
          .area-mainvisual-box-rightside img {
            display: block;
            margin: 30px auto 0px; } }
  .area-mainvisual::before {
    content: "";
    width: 0;
    height: 0;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1;
    border-style: solid;
    border-width: 550px 0 0 100vw;
    border-color: transparent transparent transparent #ffffff; }
    @media (max-width: 768px) {
      .area-mainvisual::before {
        border-width: 300px 0 0 100vw; } }

/*
　AreaQuestion
---------------*/
.area-question {
  padding-top: 120px;
  background: #E6E6E6;
  position: relative;
  z-index: 0; }
  .area-question .triangle_white {
    margin-top: 45px; }
    @media (max-width: 768px) {
      .area-question {
        padding-top: 80px; }
      .area-question .triangle_white {
        margin-top: 25px; } }
  .area-question::before {
    content: "";
    width: 0;
    height: 0;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: -1;
    border-style: solid;
    border-width: 450px 100vw 0 0;
    border-color: transparent #ffffff transparent transparent; }
    @media (max-width: 768px) {
      .area-question::before {
        border-width: 400px 100vw 0 0; } }
  .area-question .solution1 {
    padding: 0 15px;
    margin-top: 100px;
    display: flex;
    align-items: center;
    justify-content: space-between; }
    @media (max-width: 768px) {
      .area-question .solution1 {
        display: block; } }
    @media (max-width: 768px) {
      .area-question .solution1-h2 {
        display: flex;
        align-items: center;
        justify-content: center; } }
    .area-question .solution1 p {
      width: calc(100% - 390px); }
      @media (max-width: 768px) {
        .area-question .solution1 p {
          width: 100%;
          margin-top: 20px; } }

/*
　AreaPayments
---------------*/
.area-payments {
  padding: 0 15px;
  background: #E6E6E6;
  position: relative;
  z-index: 0; }
  @media (max-width: 768px) {
    .area-payments {
      padding: 0 15px; } }
  .area-payments::before {
    content: "";
    width: 0;
    height: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: -1;
    border-style: solid;
    border-width: 1000px 0 0 100vw;
    border-color: #ffffff transparent transparent transparent; }
    @media (max-width: 768px) {
      .area-payments::before {
        border-width: 900px 0 0 100vw; } }
  .area-payments-mgt {
    margin-top: 50px; }
    @media (max-width: 768px) {
      .area-payments-mgt {
        margin-top: 30px; } }
  .area-payments .option-mgt {
    margin-top: 40px; }
    @media (max-width: 768px) {
      .area-payments .option-mgt {
        margin-top: 0px; } }

/*
　AreaPlanNobtn
---------------*/
.area-plannobtn {
  padding: 0 15px 0;
  background: linear-gradient(to bottom, #E6E6E6 80%, transparent 80%);
  background-repeat: no-repeat;
  background-position: bottom left; }

/*
　AreaFee
---------------*/
.area-fee {
  background: #E6E6E6;
  padding: 0 15px 25px; }
  .area-fee .triangle {
    margin-top: -1px;
    margin-bottom: 40px; }
    @media (max-width: 768px) {
      .area-fee .triangle {
        margin-bottom: 30px; } }
  .area-fee-inputarea {
    width: 100%;
    max-width: 500px;
    margin: 40px auto 0px;
    position: relative;
    padding: 0 15px;
    /*数字入力の三角トグル削除*/ }
    .area-fee-inputarea::after {
      content: '万円';
      position: absolute;
      bottom: 0;
      right: 0;
      font-size: clamp(18px, 5vw, 22px);
      font-weight: bold; }
    .area-fee-inputarea-title {
      font-size: clamp(14px, 3vw, 16px);
      font-weight: bold;
      padding-bottom: 10px; }
    .area-fee-inputarea input[type="number"] {
      width: calc(100% - 40px);
      padding: 10px;
      font-size: 20px;
      background: #ffffff;
      border-bottom: 1px solid #000;
      text-align: right; }
    .area-fee-inputarea input[type="number"] {
      -moz-appearance: textfield; }
    .area-fee-inputarea input[type="number"]::-webkit-outer-spin-button,
    .area-fee-inputarea input[type="number"]::-webkit-inner-spin-button {
      -webkit-appearance: none;
      margin: 0; }
    .area-fee-inputarea input[type="number"]::-moz-inner-spin-button {
      -moz-appearance: none; }
  .area-fee-bararea {
    width: 100%;
    padding: 0 15px;
    align-items: center;
    display: block;
    margin: 0px auto 60px; }
    @media (max-width: 768px) {
      .area-fee-bararea {
        padding: 0;
        margin: 0px auto 40px; } }
    .area-fee-bararea-text {
      display: flex;
      justify-content: space-between;
      align-items: center; }
      .area-fee-bararea-text p {
        font-size: clamp(18px, 3vw, 20px);
        font-weight: bold; }
        @media (max-width: 768px) {
          .area-fee-bararea-text p {
            font-size: clamp(20px, 3vw, 22px); } }
    .area-fee-bararea-bar {
      width: 100%;
      margin-left: 0px;
      margin-top: 20px; }
      @media (max-width: 768px) {
        .area-fee-bararea-bar {
          margin-top: 65px; } }
      .area-fee-bararea-bar-container {
        width: 100%;
        background-color: #ffffff;
        border-radius: 5px;
        overflow: visible; }
      .area-fee-bararea-bar .bar {
        height: 10px;
        background-color: #37C8E8;
        width: 100%;
        transition: width 0.3s;
        position: relative;
        border-radius: 5px; }
        .area-fee-bararea-bar .bar.bar1 {
          background-color: #0D74CE; }
        .area-fee-bararea-bar .bar.bar2 {
          background-color: #512B95;
          width: 69%; }
        .area-fee-bararea-bar .bar::after {
          content: attr(data-feetext);
          position: absolute;
          right: 0;
          top: -63px;
          width: 120px;
          height: 60px;
          background: url("/wp-content/themes/eccube/img/lp/payment/textfeepop.svg") no-repeat top right;
          display: block;
          text-align: right;
          font-size: clamp(32px, 5vw, 34px);
          padding-right: 30px;
          font-weight: bold;
          letter-spacing: 0;
          padding-top: 3px; }
  .area-fee .button-container {
    display: flex;
    justify-content: center;
    margin: 50px 0 40px;
    gap: 20px; }
    @media (max-width: 768px) {
      .area-fee .button-container {
        gap: 10px; } }
    .area-fee .button-container button {
      height: 35px;
      border: 1px solid #282828;
      font-size: clamp(14px, 3vw, 16px);
      font-weight: bold;
      color: #282828;
      width: 170px;
      text-align: center;
      border-radius: 5px;
      background: #ffffff; }
      .area-fee .button-container button.selected {
        background: #FCCF00;
        border: 1px solid #FCCF00;
        color: #ffffff; }

/*
　AreaSecurity
---------------*/
.area-security {
  background: #E6E6E6;
  position: relative;
  z-index: 0; }
  .area-security .solution3 {
    padding: 40px 15px 55px;
    display: flex;
    align-items: center;
    justify-content: space-between; }
    @media (max-width: 768px) {
      .area-security .solution3 {
        padding: 40px 15px 30px;
        display: block; } }
    .area-security .solution3-h2 {
      order: 2; }
      @media (max-width: 768px) {
        .area-security .solution3-h2 {
          display: flex;
          align-items: center;
          justify-content: center; } }
    .area-security .solution3 p {
      order: 1;
      width: calc(100% - 390px); }
      @media (max-width: 768px) {
        .area-security .solution3 p {
          width: 100%;
          margin-top: 20px; } }
  .area-security::before {
    content: "";
    width: 0;
    height: 0;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: -1;
    border-style: solid;
    border-width: 650px 100vw 0 0;
    border-color: transparent #ffffff transparent transparent; }

/*
　AreaECCUBE
---------------*/
.area-eccube {
  display: flex;
  gap: 20px; }
  @media (max-width: 768px) {
    .area-eccube {
      flex-direction: column; } }
  .area-eccube-leftside {
    display: flex;
    flex-direction: column;
    max-width: 380px;
    width: 100%;
    gap: 20px; }
    @media (max-width: 768px) {
      .area-eccube-leftside {
        max-width: 100%;
        width: 100%; } }
  .area-eccube-rightside {
    flex-grow: 1;
    display: flex;
    align-items: stretch; }
    @media (max-width: 768px) {
      .area-eccube-rightside {
        max-width: 100%;
        width: 100%; } }
  .area-eccube-box {
    flex-grow: 1;
    padding: 20px;
    color: #ffffff;
    font-weight: bold;
    font-size: clamp(18px, 5vw, 22px);
    line-height: 1.3;
    z-index: 0; }
    .area-eccube-box.dashboard {
      background: #0d74ce;
      background: linear-gradient(25deg, #0d74ce 0%, #37c8e8 100%);
      position: relative;
      height: 234px; }
      @media (max-width: 768px) {
        .area-eccube-box.dashboard {
          height: 170px; } }
      .area-eccube-box.dashboard::before {
        content: '';
        position: absolute;
        top: 0px;
        right: 0px;
        width: 100%;
        height: 100%;
        background: url("/wp-content/themes/eccube/img/lp/payment/bk_eccube_dashboard.svg");
        background-repeat: no-repeat;
        background-size: cover;
        z-index: -1; }
    .area-eccube-box.support {
      position: relative;
      background: #8a6bdd;
      background: linear-gradient(125deg, #8a6bdd 0%, #0d74ce 100%);
      position: relative;
      height: 234px; }
      @media (max-width: 768px) {
        .area-eccube-box.support {
          height: 170px; } }
      .area-eccube-box.support::before {
        content: '';
        position: absolute;
        top: 0px;
        right: 0px;
        width: 100%;
        height: 100%;
        background: url("/wp-content/themes/eccube/img/lp/payment/bk_eccube_support.svg");
        background-repeat: no-repeat;
        background-size: cover;
        z-index: -1; }
    .area-eccube-box.paytype {
      background: #37c8e8;
      background: linear-gradient(135deg, #37c8e8 0%, #8a6bdd 50%, #2e407a 100%); }
      .area-eccube-box.paytype p {
        color: #ffffff;
        font-weight: normal;
        line-height: 1.5; }
    .area-eccube-box .paytype-inbox {
      background: #ffffff;
      color: #282828;
      padding: 15px;
      margin-top: 20px; }
      .area-eccube-box .paytype-inbox p {
        line-height: 1.3;
        color: #282828; }
        .area-eccube-box .paytype-inbox p.title {
          text-align: center;
          font-weight: bold;
          font-size: clamp(16px, 3vw, 18px); }
      .area-eccube-box .paytype-inbox img {
        display: block;
        margin: 10px auto 15px;
        width: 100%;
        max-width: 180px; }
      @media (max-width: 768px) {
        .area-eccube-box .paytype-inbox:nth-child(2) {
          margin-bottom: 0px; } }
    .area-eccube-box .area-eccube-btn {
      display: flex;
      flex-direction: column;
      gap: 10px;
      position: absolute;
      bottom: 20px; }
      @media (max-width: 768px) {
        .area-eccube-box .area-eccube-btn {
          display: block; }
          .area-eccube-box .area-eccube-btn a:nth-child(2) {
            margin-top: 10px; } }
      .area-eccube-box .area-eccube-btn .btn {
        max-width: 200px;
        text-align: left; }

/*
　AreaCTA3
---------------*/
@media (max-width: 768px) {
  .area-cta3 img {
    padding-top: 20px; } }

/*
　AreaCompany
---------------*/
.area-company-info {
  display: flex;
  width: 100%;
  align-items: center; }
  .area-company-info-leftside {
    width: 30%; }
    .area-company-info-leftside img {
      width: 100%;
      max-width: 200px; }
  .area-company-info-rightside {
    width: calc(70% - 20px);
    margin-left: 20px; }
    .area-company-info-rightside dl {
      display: flex;
      margin-bottom: 15px;
      border-bottom: 1px solid #E6E6E6;
      padding-bottom: 15px; }
      .area-company-info-rightside dl dt {
        width: 100px; }
      .area-company-info-rightside dl dd {
        width: calc(100% - 100px);
        margin-left: 10px; }
  @media (max-width: 768px) {
    .area-company-info {
      display: block; }
      .area-company-info-leftside {
        width: 100%; }
        .area-company-info-leftside img {
          padding: 20px 0px 40px;
          max-width: 250px; }
      .area-company-info-rightside {
        width: 100%;
        margin-left: 0px; }
      .area-company-info-rightside {
        width: 100%; }
        .area-company-info-rightside dl {
          display: block; }
          .area-company-info-rightside dl dt {
            width: 100%;
            padding-bottom: 5px; }
          .area-company-info-rightside dl dd {
            width: 100%;
            margin-left: 0px; } }

/*
　AreaFooterSecurity
---------------*/
.area-footersecurity {
  background: #F7F7F7;
  margin-top: 80px; }
  .area-footersecurity dl {
    display: flex;
    width: 100%;
    align-items: center; }
    .area-footersecurity dl dt {
      width: 70px; }
      .area-footersecurity dl dt img {
        max-width: 60px; }
    .area-footersecurity dl dd {
      width: calc(100% - 85px);
      margin-left: 15px; }
  .area-footersecurity .copytext {
    padding: 0px 15px 20px;
    font-size: 12px;
    color: #757575; }

/*
　Campaign Design
---------------*/
dl.campaign-price {
  margin-top: 20px;
  letter-spacing: .05em;
  font-family: "Roboto", "Noto Sans JP", 'NotoSans_Japanese', sans-serif;
  margin-top: 10px;
  color: #E4643C; }
  dl.campaign-price dt {
    font-size: 14px;
    font-weight: bold; }
    dl.campaign-price dt::before {
      content: '\f0c8';
      font-family: "Font Awesome 5 Free";
      font-weight: 900;
      margin-right: 5px;
      color: #E4643C; }
  dl.campaign-price dd {
    font-size: clamp(40px, 5vw, 45px);
    font-weight: 500;
    position: relative;
    line-height: 1.3em; }
    dl.campaign-price dd::after {
      content: "円/月";
      position: absolute;
      margin-left: 5px;
      bottom: 12px;
      font-size: clamp(16px, 2vw, 18px);
      line-height: 1em; }
  dl.campaign-price dt::before {
    content: '';
    margin-right: 0px; }
  dl.campaign-price dd {
    font-size: clamp(45px, 5vw, 52px);
    line-height: 1em;
    font-weight: bold; }

/* 
  Price
---------------*/
#planCommission {
  padding-block: 120px;
}

.font12 {
  font-size: clamp(10px, 2vw, 12px) !important; }

.font14 {
  font-size: clamp(12px, 2vw, 14px) !important; }

.fontSmall {
  font-size: clamp(10px, 2vw, 12px) !important; }

.normal {
  font-weight: normal; }

.colorRed {
  color: #E4643C !important; }

.colorGray {
  color: #999 !important; }

.colorLink {
  color: #0D74CE !important; }

.inlineBlock {
  display: inline-block; }

@media (max-width: 768px) {
  #planCommission {
    padding-block: 80px; }
  .scrollX {
    margin: 0 auto;
    padding: 0;
    width: 90%;
    /* コンテンツが見切れて見えるようにする */
    overflow-x: auto;
    /* 横スクロールの指定 */
    /*white-space: nowrap;   横スクロールの指定 */
    overflow-scrolling: touch;
    /* スクロールを滑らかにする */
    -webkit-overflow-scrolling: touch;
    /* スクロールを滑らかにする */ } }

.area-commision-table {
  display: grid;
  grid-template-columns: 100px 110px 1fr 1fr 1fr 1fr 1fr 1fr;
  font-size: 14px;
  font-size: 1.4rem;
  word-break: break-all; }
  @media (max-width: 768px) {
    .area-commision-table {
      min-width: 620px;
      grid-template-columns: 90px 90px 1fr 1fr 1fr 1fr 1fr 1fr; } }
  .area-commision-table > div {
    background: #fff;
    padding: 8px 4px;
    border-bottom: 1px solid #ddd;
    text-align: center;
    align-content: center; }

.range-btn {
  display: inline-block;
  width: 100%;
  height: 100%;
  background: #FCCF00;
  border-radius: 4px;
  border-bottom: 3px solid #D7B000;
  padding: 10px 5px;
  font-size: clamp(12px, 2vw, 14px) !important;
  position: relative;
  transition: all 0.4s; }

div.area-commision-table--tit {
  grid-column: 3 / span 6;
  background: #FCCF00;
  font-weight: bold;
  border: none;
  text-align: left;
  padding: 8px 10px; }

div.area-commision-table--none {
  background: transparent;
  border: none; }
  div.area-commision-table--none.row-2 {
    grid-row: 1 / span 2;
    grid-column: 1 / span 2; }

div.area-commision-table--range {
  font-size: 12px;
  font-size: 1.2rem;
  border-bottm: 1px solid #512B95; }
  div.area-commision-table--range:hover {
    cursor: pointer;
    background: #FCCF00; }
    div.area-commision-table--range:hover .range-btn {
      background: #fff;
      border-bottom: 3px solid #D7B000;
      font-weight: bold; }
      div.area-commision-table--range:hover .range-btn:after, div.area-commision-table--range:hover .range-btn:before {
        top: 100%;
        left: 50%;
        border: solid transparent;
        content: "";
        height: 0;
        width: 0;
        position: absolute;
        pointer-events: none; }
      div.area-commision-table--range:hover .range-btn:after {
        border-color: rgba(255, 255, 255, 0);
        border-top-color: #ffffff;
        border-width: 6px;
        margin-left: -6px; }
      div.area-commision-table--range:hover .range-btn::before {
        border-color: rgba(215, 176, 0, 0);
        border-top-color: #D7B000;
        border-width: 10px;
        margin-left: -10px; }
  div.area-commision-table--range:nth-child(even):hover {
    cursor: pointer;
    background: #FCCF00; }
  div.area-commision-table--range.is-hover {
    background: #FCCF00; }
    div.area-commision-table--range.is-hover .range-btn {
      background: #fff;
      border-bottom: 3px solid #D7B000;
      font-weight: bold; }
      div.area-commision-table--range.is-hover .range-btn:after, div.area-commision-table--range.is-hover .range-btn:before {
        top: 100%;
        left: 50%;
        border: solid transparent;
        content: "";
        height: 0;
        width: 0;
        position: absolute;
        pointer-events: none; }
      div.area-commision-table--range.is-hover .range-btn:after {
        border-color: rgba(255, 255, 255, 0);
        border-top-color: #ffffff;
        border-width: 6px;
        margin-left: -6px; }
      div.area-commision-table--range.is-hover .range-btn::before {
        border-color: rgba(215, 176, 0, 0);
        border-top-color: #D7B000;
        border-width: 10px;
        margin-left: -10px; }

div.area-commision-table--premium:hover {
  background: #f3f0fb;
  cursor: pointer; }
div.area-commision-table--premium.is-hover {
  background: #f3f0fb; }

div.hover-premium,
div.hover-premium:nth-child(even) {
  background: #f3f0fb;
  cursor: pointer; }
  div.hover-premium .range-btn,
  div.hover-premium:nth-child(even) .range-btn {
    background: #fff;
    border-bottom: 3px solid #D7B000;
    font-weight: bold; }
    div.hover-premium .range-btn:after, div.hover-premium .range-btn:before,
    div.hover-premium:nth-child(even) .range-btn:after,
    div.hover-premium:nth-child(even) .range-btn:before {
      top: 100%;
      left: 50%;
      border: solid transparent;
      content: "";
      height: 0;
      width: 0;
      position: absolute;
      pointer-events: none; }
    div.hover-premium .range-btn:after,
    div.hover-premium:nth-child(even) .range-btn:after {
      border-color: rgba(255, 255, 255, 0);
      border-top-color: #ffffff;
      border-width: 6px;
      margin-left: -6px; }
    div.hover-premium .range-btn::before,
    div.hover-premium:nth-child(even) .range-btn::before {
      border-color: rgba(215, 176, 0, 0);
      border-top-color: #D7B000;
      border-width: 10px;
      margin-left: -10px; }

div.premium-tit {
  background: #512B95;
  color: #fff;
  text-align: left;
  border-right: 1px solid #fff;
  padding: 8px;
  font-size: 12px;
  font-size: 1.2rem; }
  div.premium-tit:hover {
    background: #512B95;
    cursor: pointer; }
  div.premium-tit.premium-tit--brand {
    grid-row: 3 / span 2; }

.premium-range1,
.premium-range2,
.premium-range3 {
  border-top: 1px solid #512B95; }

.premium-range1 {
  grid-column: 3 / span 3;
  border-right: 1px solid #ddd; }

.premium-range2 {
  grid-column: 6 / span 2;
  border-right: 1px solid #ddd; }

.premium-range11 {
  grid-column: 3 / span 6;
  border-bottom: 1px solid #0D74CE !important; }

div.area-commision-table--standard:hover {
  background: #E2EEF8; }
div.area-commision-table--standard.is-hover {
  background: #E2EEF8; }

div.hover-standard,
div.hover-standard:nth-child(even) {
  background: #E2EEF8; }
  div.hover-standard .range-btn,
  div.hover-standard:nth-child(even) .range-btn {
    background: #fff;
    border-bottom: 3px solid #D7B000;
    font-weight: bold; }
    div.hover-standard .range-btn:after, div.hover-standard .range-btn:before,
    div.hover-standard:nth-child(even) .range-btn:after,
    div.hover-standard:nth-child(even) .range-btn:before {
      top: 100%;
      left: 50%;
      border: solid transparent;
      content: "";
      height: 0;
      width: 0;
      position: absolute;
      pointer-events: none; }
    div.hover-standard .range-btn:after,
    div.hover-standard:nth-child(even) .range-btn:after {
      border-color: rgba(255, 255, 255, 0);
      border-top-color: #ffffff;
      border-width: 6px;
      margin-left: -6px; }
    div.hover-standard .range-btn::before,
    div.hover-standard:nth-child(even) .range-btn::before {
      border-color: rgba(215, 176, 0, 0);
      border-top-color: #D7B000;
      border-width: 10px;
      margin-left: -10px; }

div.standard-tit {
  background: #0D74CE;
  color: #fff;
  text-align: left;
  border-right: 1px solid #fff;
  padding: 8px;
  font-size: 12px;
  font-size: 1.2rem; }
  div.standard-tit:hover {
    background: #0D74CE;
    cursor: pointer; }
  div.standard-tit.standard-tit--brand {
    grid-row: 5 / span 2; }

.standard-range1:hover,
.standard-range2:hover,
.standard-range3:hover,
.standard-range4:hover,
.standard-range5:hover,
.standard-range11:hover {
  cursor: pointer; }

.standard-range1,
.standard-range2,
.standard-range3,
.standard-range4 {
  border-right: 1px solid #ddd; }

.standard-range3 {
  grid-column: 5 / span 2; }

.standard-range11 {
  grid-column: 3 / span 6;
  border-bottom: 1px solid #37C8E8 !important; }

div.area-commision-table--beginner:hover {
  background: #E6F7FB;
  cursor: pointer; }
div.area-commision-table--beginner.is-hover {
  background: #E6F7FB; }

div.hover-beginner,
div.hover-beginner:nth-child(even) {
  background: #E6F7FB; }
  div.hover-beginner .range-btn,
  div.hover-beginner:nth-child(even) .range-btn {
    background: #fff;
    border-bottom: 3px solid #D7B000;
    font-weight: bold; }
    div.hover-beginner .range-btn::after,
    div.hover-beginner:nth-child(even) .range-btn::after {
      top: 100%;
      left: 50%;
      border: solid transparent;
      content: "";
      height: 0;
      width: 0;
      position: absolute;
      pointer-events: none;
      border-color: rgba(136, 183, 213, 0);
      border-top-color: #fff;
      border-width: 10px;
      margin-left: -10px; }

div.beginner-tit {
  background: #37C8E8;
  color: #fff;
  text-align: left;
  border-right: 1px solid #fff;
  padding: 8px;
  font-size: 12px;
  font-size: 1.2rem; }
  div.beginner-tit:hover {
    background: #37C8E8;
    cursor: pointer; }
  div.beginner-tit.beginner-tit--brand {
    grid-row: 7 / span 2; }

.beginner-range1,
.beginner-range11 {
  grid-column: 3 / span 6; }

#price {
  padding-block: 120px; }
@media (max-width: 768px) {
  #price {
  padding-block: 80px; } }

#priceOption {
  margin: 120px 0 0 0;
  padding-bottom: 120px; }
@media (max-width: 768px) {
  #priceOption {
  margin: 80px 0 0 0;
  padding-bottom: 80px; } }

.popup {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1000; }

.popup.visible {
  display: block; }

.popup-box {
  background-color: #fff;
  padding: 20px;
  border-radius: 20px;
  box-shadow: 0px 0px 15px -5px rgba(0, 0, 0, 0.2);
  position: relative; }

.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 999; }

.btn_close {
  position: absolute;
  top: -20px;
  right: -20px;
  width: 50px;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 30px;
  padding: 5px;
  border-radius: 50%;
  background: #ccc; }

.question-mark {
  cursor: pointer;
  position: relative;
  /* 吹き出しの位置基準 */
  display: inline-block; }

.tooltip {
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s, opacity 0.3s linear;
  position: absolute;
  top: 100%;
  /* 親要素の下に配置 */
  left: 50%;
  transform: translateX(-50%);
  padding: 10px;
  background-color: #fff;
  box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.2);
  z-index: 1000;
  min-width: 200px;
  transition: 0.4s;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: normal;
  text-align: left; }

.tooltip.visible {
  visibility: visible;
  opacity: 1;
  transform: translate(-50%, 10px); }

i.far {
  margin: 0 0 0 5px; }

.stickyTable {
  font-size: clamp(12px, 2vw, 14px);
  letter-spacing: 0; }
  @media (max-width: 768px) {
    .stickyTable {
      font-size: clamp(12px, 2vw, 14px); } }

.stickyTableTit {
  /* position: sticky; */
  width: 100%;
  background: #FCCF00;
  text-align: center;
  /* top: 0px; */
  font-weight: bold;
  /* z-index: 10; */
  font-size: clamp(14px, 3vw, 16px); }
  @media (max-width: 768px) {
    .stickyTableTit {
      font-size: 12px;
      font-size: 1.2rem; } }
  .stickyTableTit.lineArea, .stickyTableTit.lineAreaOp {
    border-bottom: none;
    background: #FCCF00; }
    .stickyTableTit.lineArea:nth-child(2n-1), .stickyTableTit.lineAreaOp:nth-child(2n-1) {
      background: #FCCF00; }
    .stickyTableTit.lineArea > div, .stickyTableTit.lineAreaOp > div {
      padding: 15px 10px;
      border-bottom: none;
      border-right: 1px solid #fff; }
      @media (max-width: 768px) {
        .stickyTableTit.lineArea > div, .stickyTableTit.lineAreaOp > div {
          padding: 10px; } }
      .stickyTableTit.lineArea > div:last-child, .stickyTableTit.lineAreaOp > div:last-child {
        border: none; }

.lineArea {
  display: grid;
  grid-template-columns: 180px 220px 160px 180px 260px;
  background: #fff; }
  @media (max-width: 1000px) {
    .lineArea {
      grid-template-columns: 20% 20% 20% 20% 20%; } }
  .lineArea:nth-child(2n-1) {
    background: #F7F7F7; }
  .lineArea > div {
    align-content: center;
    padding: 10px;
    border-bottom: 1px solid #ddd;
    white-space: pre-line; }
  .lineArea p {
    font-size: 14px;
    font-size: 1.4rem; }
    @media (max-width: 768px) {
      .lineArea p {
        font-size: clamp(12px, 2vw, 14px); } }

.lineAreaOp {
  display: grid;
  grid-template-columns: 300px 300px 180px 220px;
  background: #fff; }
  @media (max-width: 1000px) {
    .lineAreaOp {
      grid-template-columns: 25% 25% 25% 25%; } }
  .lineAreaOp:nth-child(2n-1) {
    background: #F7F7F7; }
  .lineAreaOp > div {
    align-content: center;
    padding: 10px;
    border-bottom: 1px solid #ddd;
    white-space: pre-line; }
  .lineAreaOp p {
    font-size: 14px;
    font-size: 1.4rem; }
    @media (max-width: 768px) {
      .lineAreaOp p {
        font-size: clamp(12px, 2vw, 14px); } }

.lineArea-1col2 {
  grid-column: 1 / span 2; }

.lineArea-1row2 {
  grid-row: 1 / span 2; }

.lineArea-1row3 {
  grid-row: 1 / span 3; }

.lineArea-1row4 {
  grid-row: 1 / span 4; }

.sttCont3,
.sttCont4,
.sttCont5,
.sttContOp3,
.sttContOp4 {
  text-align: center; }

.sttCont4,
.sttContOp3,
.sttContOp4 {
  display: flex;
  justify-content: center;
  align-items: center; }

.sttContOp3 {
  flex-direction: column; }

.sttContOp4 {
  flex-direction: column; }
  .sttContOp4 .priceflex {
    display: flex;
    flex-direction: column;
    align-items: center; }
    .sttContOp4 .priceflex > dd {
      text-align: center; }

.compOnly {
  display: inline-block;
  position: relative;
  padding-right: 90px; }
  @media (max-width: 768px) {
    .compOnly {
      padding: 0 0 22px 0; } }
  .compOnly:after {
    display: inline-block;
    content: '法人のみ利用可';
    font-size: 10px;
    font-size: 1rem;
    background: #fff;
    padding: 3px 5px;
    border: 1px solid #2E407A;
    line-height: 1;
    letter-spacing: 0;
    color: #2E407A;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    min-width: 85px; }
    @media (max-width: 768px) {
      .compOnly:after {
        right: auto;
        left: 0;
        top: auto;
        bottom: -5px; } }

.icon-compOnly {
  display: inline-block;
  content: '法人のみ利用可';
  font-size: 10px;
  font-size: 1rem;
  background: #fff;
  padding: 3px 5px;
  border: 1px solid #2E407A;
  line-height: 1;
  letter-spacing: 0;
  color: #2E407A; }

.priceflex {
  display: grid;
  grid-template-columns: 1fr 1fr; }
  @media (max-width: 768px) {
    .priceflex {
      grid-template-columns: 1fr; } }
  .priceflex > dt {
    font-weight: normal;
    text-align: left;
    margin-right: 10px; }
  .priceflex > dd {
    text-align: left; }

.sttOptionIcon > li > span {
  display: inline-block;
  font-size: 10px;
  font-size: 1rem;
  background: #fff;
  padding: 3px 5px;
  border: 1px solid #2E407A;
  line-height: 1;
  letter-spacing: 0;
  color: #2E407A; }

#flow {
  padding-bottom: 120px; }
@media (max-width: 768px) {
  #flow {
  padding-bottom: 80px; } }

.stepBox {
  position: relative; }
  .stepBox::before {
    content: "";
    width: 9px;
    height: 100%;
    background: #DBDBDB;
    margin-left: -9px;
    display: block;
    position: absolute;
    top: 0;
    left: 144px; }
    @media (max-width: 768px) {
      .stepBox::before {
        left: 104px; } }
  .stepBox > li {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start; }
  .stepBox > li:not(:last-child) {
    margin-bottom: 40px; }
  .stepBox h4 {
    position: relative;
    margin: 0 0 0 80px;
    padding: 8px 0 0 0;
    width: 250px;
    font-size: clamp(16px, 4vw, 22px);
    font-weight: bold;
    color: #2E407A; }
    @media (max-width: 768px) {
      .stepBox h4 {
        padding: 4px 0 0 0;
        width: calc(100% - 180px); } }
    .stepBox h4::before {
      content: "";
      display: block;
      position: absolute;
      top: 25px;
      width: 7px;
      height: 7px;
      margin-top: -3px;
      background: #2E407A;
      border-radius: 50%;
      left: -64px; }
      @media (max-width: 768px) {
        .stepBox h4::before {
          top: 20px; } }
    .stepBox h4::after {
      content: "";
      display: block;
      position: absolute;
      top: 25px;
      left: -52px;
      width: 40px;
      height: 1px;
      border-bottom: 2px dashed #C9C9C9; }
      @media (max-width: 768px) {
        .stepBox h4::after {
          top: 20px; } }
  .stepBox .leftAuto {
    width: calc(100% - 450px); }
    @media (max-width: 768px) {
      .stepBox .leftAuto {
        width: calc(100% - 160px);
        margin-left: 160px;
        font-size: 14px;
        font-size: 1.4rem; } }

.outer_step {
  background: #000;
  color: #fff;
  padding: 15px 10px;
  width: 120px;
  position: relative;
  text-align: center;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: bold;
  background: #75cee1;
  background: -webkit-linear-gradient(left, #75cee1 0%, #875fcf 100%);
  background: -o-linear-gradient(left, #75cee1 0%, #875fcf 100%);
  background: linear-gradient(to right, #75cee1 0%, #875fcf 100%); }
  @media (max-width: 768px) {
    .outer_step {
      font-size: 12px;
      font-size: 1.2rem;
      width: 80px;
      padding: 10px; } }
  .outer_step:after {
    border: solid transparent;
    content: '';
    height: 0;
    width: 0;
    pointer-events: none;
    position: absolute;
    border-color: rgba(0, 153, 255, 0);
    border-top-width: 6px;
    border-bottom-width: 6px;
    border-left-width: 6px;
    border-right-width: 6px;
    margin-top: -6px;
    border-left-color: #875fcf;
    left: 100%;
    top: 50%; }

/* 20260202_#delivery */
#delivery {
  padding-bottom: 120px;
}
#delivery .listCaution {
  list-style-type: disc;
  padding-left: 17px;
  margin-top: 10px;
}
#delivery .listCaution li {
  text-align: left;
  font-size: 14px;
  line-height: 1.8;
}
#delivery .parentCategory .noborder {
  grid-row: 1 / 3;
  grid-column: 5 / 6;
}
@media (max-width: 768px) {
  #delivery {
    padding-bottom: 80px;
  }
}
