@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&family=Zen+Old+Mincho:wght@400;700&display=swap");
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
  margin: 0 auto;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: 700;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

html {
  font-size: 62.5%;
}

body {
  color: #000000;
  font-family: "Zen Kaku Gothic New", sans-serif, メイリオ, Meiryo, verdana, ヒラギノ角ゴ Pro W3, Hiragino Kaku Gothic Pro, Osaka, ＭＳ\ Ｐゴシック, MS PGothic, Sans-Serif;
  line-height: 1.5;
  background: #F3F4F5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img {
  vertical-align: bottom;
}

ul li {
  list-style: none;
}

input[type=text],
input[type=tel],
input[type=checkbox],
input[type=submit],
button,
select,
textarea {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

input::-ms-clear {
  display: none;
}

input:focus::-moz-placeholder {
  color: transparent;
}

input:focus::placeholder {
  color: transparent;
}

textarea:focus::-moz-placeholder {
  color: transparent;
}

textarea:focus::placeholder {
  color: transparent;
}

a:link {
  color: #000;
  text-decoration: underline;
}
a:visited {
  color: #000;
  text-decoration: none;
}
a:hover {
  color: #000;
  text-decoration: none;
}
a:active {
  color: #000;
}

/* ======================================================
	PC用設定
====================================================== */
@media print, screen and (min-width: 768px) {
  /* 基本設定 ====================*/
  body {
    color: #03385E;
    line-height: 1.5;
  }
  img {
    max-width: 100%;
  }
  .sp {
    display: none !important;
  }
  .wrapper {
    overflow: hidden;
    position: relative;
    padding-bottom: 80px;
  }
  .iframe iframe {
    width: 100%;
    height: 100%;
    aspect-ratio: 16/9;
    vertical-align: bottom;
  }
  /* header ====================*/
  header.header {
    box-sizing: border-box;
    position: absolute;
    z-index: 100;
    top: 0;
    left: 0;
    width: 100%;
    height: 87px;
    padding: 0 20px;
  }
  header.header .inner {
    position: relative;
    max-width: 1120px;
    margin: 0 auto;
  }
  header.header .header__logo {
    position: absolute;
    top: 10px;
    left: 0;
    width: 237px;
    height: 60px;
    background: url("../img/header_logo.svg") center center no-repeat;
    background-size: contain;
  }
  header.header .header__logo a {
    display: block;
    width: 100%;
    height: 100%;
    opacity: 0;
  }
  header.header .btn__buy {
    position: absolute;
    top: 17px;
    right: 0;
    width: 180px;
    height: 50px;
  }
  header.header .btn__buy a {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    position: relative;
    height: 100%;
    height: 100%;
    padding-left: 18px;
    text-decoration: none;
    font-size: 16px;
    font-weight: 900;
    color: #fff;
    background-color: #A056C4;
    border-radius: 100vmax;
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }
  header.header .btn__buy a::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 15px);
    right: 10px;
    width: 30px;
    height: 30px;
    background: url("../img/ic_arrow_purple.svg") center center no-repeat;
    background-size: contain;
  }
  header.header .btn__buy a:hover {
    opacity: 0.8;
  }
  /* footer ====================*/
  footer.footer {
    box-sizing: border-box;
    width: 100%;
    padding: 40px 20px;
    background: #03385E;
  }
  footer.footer ul.footer__link {
    display: flex;
    justify-content: center;
  }
  footer.footer ul.footer__link li {
    text-align: center;
  }
  footer.footer ul.footer__link li a {
    text-decoration: none;
    font-size: 14px;
    font-weight: 700;
    color: #FFF;
  }
  footer.footer ul.footer__link li + li {
    margin-left: 40px;
  }
  footer.footer p.footer__copyright {
    margin-top: 40px;
    text-align: center;
    font-size: 12px;
    color: #fff;
    line-height: 1;
  }
  /* フッター固定の購入ボタン ====================*/
  .bnr__products {
    box-sizing: border-box;
    position: fixed;
    z-index: 2;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 80px;
    padding: 0 20px;
    background: #FFF;
    box-shadow: 0 -4px 4px 0 rgba(0, 0, 0, 0.05);
  }
  .bnr__products .inner {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 1090px;
    height: 100%;
    margin: 0 auto;
  }
  .bnr__products p.logo {
    width: 197px;
    height: 50px;
    background: url("../img/header_logo.svg") center center no-repeat;
    background-size: contain;
  }
  .bnr__products p.logo span {
    opacity: 0;
  }
  .bnr__products p.text {
    margin-left: 20px;
    font-size: 18px;
    font-weight: 900;
    line-height: 1.3;
    white-space: nowrap;
  }
  .bnr__products p.price {
    display: table;
    position: relative;
    margin-left: 20px;
    padding: 0 33px 0 70px;
    font-family: Montserrat;
    font-size: 62px;
    font-weight: 700;
    line-height: 0.94;
  }
  .bnr__products p.price::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 60px;
    height: 60px;
    background-image: url("../img/ic_free.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
  }
  .bnr__products p.price::after {
    content: "";
    display: block;
    position: absolute;
    top: 14px;
    right: 0;
    width: 26px;
    height: 37px;
    background-image: url("../img/ic_yen.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
  }
  .bnr__products p.price span {
    display: none;
  }
  .bnr__products .btn__buy {
    width: 266px;
    height: 60px;
    margin-left: 20px;
  }
  .bnr__products .btn__buy a {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    position: relative;
    height: 100%;
    height: 100%;
    padding-left: 40px;
    text-decoration: none;
    font-size: 18px;
    font-weight: 900;
    color: #fff;
    background-color: #A056C4;
    border-radius: 100vmax;
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }
  .bnr__products .btn__buy a::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 13px);
    right: 22px;
    width: 26px;
    height: 26px;
    background: url("../img/ic_arrow_purple.svg") center center no-repeat;
    background-size: contain;
  }
  .bnr__products .btn__buy a:hover {
    opacity: 0.8;
  }
  .order_made_buy {
    font-size: 1.6rem;
    font-weight: bold;
    color: #03385E;
    margin: 20px auto 0;
  }
  .order_made_buy p a,
  .order_made_buy p a:link,
  .order_made_buy p a:visited,
  .order_made_buy p a:hover,
  .order_made_buy p a:active {
    color: #03385E;
    text-decoration: underline;
  }
  /* 共通パーツ ====================*/
  h2.title {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 90px;
    text-align: center;
    font-size: 30px;
    font-weight: 900;
    line-height: 1.4;
  }
  h2.title::before, h2.title::after {
    content: "";
    box-sizing: border-box;
    display: block;
    width: 18px;
    height: 90px;
    border: 2px solid #03385E;
  }
  h2.title::before {
    margin-right: 20px;
    border-right: none;
  }
  h2.title::after {
    margin-left: 20px;
    border-left: none;
  }
  .tab__contents .tab__block {
    display: none;
  }
  .tab__contents .tab__block.active {
    display: block;
  }
  .product p.text__lead {
    margin: 40px auto 0; 
    font-size: 23px;
    font-weight: 900;
    color: #03385E;
    line-height: 1.4;
    display: block;
  }
  .product p.text__lead span {
    display: block;
    font-size: 20px;
  }
  .product ul.list__info {
    margin-top: 15px;
    padding: 15px;
    background: #F3F4F5;
    border-radius: 6px;
  }
  .product ul.list__info li {
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
  }
  .product ul.list__info li + li {
    margin-top: 0.5em;
  }
  .product p.text__kome {
    position: relative;
    margin-top: 7px;
    padding-left: 1em;
    font-size: 12px;
    white-space: nowrap;
  }
  .product p.text__kome::before {
    content: "※";
    position: absolute;
    top: 0;
    left: 0;
  }
  .product p.price {
    display: table;
    position: relative;
    margin-top: 10px;
    padding: 0 33px 0 78px;
    font-family: Montserrat;
    font-size: 62px;
    font-weight: 700;
    line-height: 1;
  }
  .product p.price::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 68px;
    height: 68px;
    background-image: url("../img/ic_included.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
  }
  .product p.price::after {
    content: "";
    display: block;
    position: absolute;
    top: 15px;
    right: 0;
    width: 26px;
    height: 37px;
    background-image: url("../img/ic_yen.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
  }
  .product p.price span.note {
    display: block;
    margin-top: 0.6em;
    font-size: 12px;
    font-weight: 400;
  }
  .product p.price.free::before {
    background-image: url("../img/ic_free.svg");
  }
  .product p.price.set::before {
    top: 2px;
  }
  .product p.price.set::after {
    top: 34px;
  }
  .product p.price.set span.original {
    display: block;
    position: relative;
    font-size: 18px;
    font-family: Montserrat;
    font-weight: 500;
    line-height: 0.9;
  }
  .product p.price.set span.original::before {
    content: "";
    display: block;
    position: absolute;
    z-index: 1;
    top: calc(50% - 1px);
    left: -2px;
    width: 66px;
    height: 1px;
    border-bottom: 1px solid #E11B1B;
  }
  .product p.price.set span.original::after {
    content: "円";
    font-size: 12px;
    font-weight: 500;
    font-family: "Zen Kaku Gothic New";
  }
  .product .btn__buy {
    width: 420px;
    height: 70px;
    margin: 30px auto 0;
  }
  .product .btn__buy a {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    height: 100%;
    height: 100%;
    text-decoration: none;
    font-size: 20px;
    font-weight: 900;
    color: #fff;
    background-color: #A056C4;
    border-radius: 100vmax;
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }
  .product .btn__buy a::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 13px);
    right: 22px;
    width: 26px;
    height: 26px;
    background: url("../img/ic_arrow_purple.svg") center center no-repeat;
    background-size: contain;
  }
  .product .btn__buy a:hover {
    opacity: 0.8;
  }
  .product .btn__border {
    width: 240px;
    height: 50px;
    margin: 20px auto 0;
  }
  .product .btn__border a {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    height: 100%;
    text-decoration: none;
    font-size: 14px;
    font-weight: 700;
    color: #03385E;
    border: 1px solid #03385E;
    border-radius: 100vmax;
  }
  .product .group__set {
    margin-top: 40px;
    padding-bottom: 38px;
    background: #F7F6DE;
  }
  .product .group__set h4.title {
    display: table;
    margin: 0 auto;
    padding: 0 30px 15px;
    text-align: center;
    font-size: 27px;
    font-weight: 900;
    background: #FFF;
    border-radius: 0 0 9px 9px;
  }
  .product .btn__buy + p.text__kome,
  .product .group__set + p.text__kome {
    display: table;
    margin: 25px auto 0;
  }
  .product .btn__line {
    width: 420px;
    height: 70px;
    margin: 12px auto 0;
  }
  .product .btn__line a {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    height: 100%;
    height: 100%;
    text-decoration: none;
    font-size: 20px;
    font-weight: 900;
    color: #fff;
    background-color: #06C755;
    border-radius: 100vmax;
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }
  .product .btn__line a::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 13px);
    right: 22px;
    width: 26px;
    height: 26px;
    background: url("../img/ic_arrow_green.svg") center center no-repeat;
    background-size: contain;
  }
  .product .btn__line a:hover {
    opacity: 0.8;
  }
  .block__bnr {
    display: flex;
    justify-content: center;
    width: 80%;
    margin: 40px auto 0;
  }
  .block__bnr img {
    max-width: 800px;
  }
  .block__bnr a:hover {
    opacity: 0.8;
  }
  .product.ordermade {
    padding: 28px 0 8px;
  }
  .product.ordermade p.text {
    text-align: center;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.7;
  }
  .product.ordermade .btn__line {
    width: 420px;
    height: 70px;
    margin: 25px auto 0;
  }
  .product.ordermade .btn__line a {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    height: 100%;
    height: 100%;
    text-decoration: none;
    font-size: 20px;
    font-weight: 900;
    color: #fff;
    background-color: #06C755;
    border-radius: 100vmax;
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }
  .product.ordermade .btn__line a::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 13px);
    right: 22px;
    width: 26px;
    height: 26px;
    background: url("../img/ic_arrow_green.svg") center center no-repeat;
    background-size: contain;
  }
  .product.ordermade .btn__line a:hover {
    opacity: 0.8;
  }
  .block__pickup ul.tab__category {
    display: flex;
  }
  .block__pickup ul.tab__category li {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc((100% - 4px) / 2);
    height: 60px;
    text-align: center;
    font-size: 22px;
    font-weight: 500;
    color: #03385E;
    line-height: 1;
    background-color: #D7D8D9;
    border-radius: 6px 6px 0 0;
    cursor: pointer;
  }
  .block__pickup ul.tab__category li.active {
    font-weight: 900;
    background-color: #EEE427;
  }
  .block__pickup ul.tab__category li + li {
    margin-left: 4px;
  }
  .block__pickup .tab__contents {
    padding: 10px;
    border-radius: 0px 0px 10px 10px;
    background: #EEE427;
  }
  .block__pickup .tab__contents .tab__block {
    padding-bottom: 25px;
    background: #FFF;
    border-radius: 6px;
  }
  .block__pickup .column {
    display: flex;
    padding: 0 40px 0 30px;
  }
  .block__pickup .column .cell:first-child {
    display: flex;
    align-items: center;
    width: calc(100% - 380px);
    padding-top: 14px;
  }
  .block__pickup .column .cell:last-child {
    width: 380px;
  }
  .block__line {
    box-sizing: border-box;
    max-width: 980px;
    margin: 0 auto;
    padding: 32px;
    background: #EBFBF2;
    border-radius: 10px;
    border: 2px solid #06C755;
  }
  .block__line p.text__img {
    width: 340px;
    margin: 0 auto;
  }
  .block__line p.text__lead {
    text-align: center;
    font-size: 20px;
    font-weight: 900;
  }
  .block__line .btn__line {
    width: 420px;
    height: 70px;
    margin: 12px auto 0;
  }
  .block__line .btn__line a {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    height: 100%;
    height: 100%;
    text-decoration: none;
    font-size: 20px;
    font-weight: 900;
    color: #fff;
    background-color: #06C755;
    border-radius: 100vmax;
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }
  .block__line .btn__line a::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 13px);
    right: 22px;
    width: 26px;
    height: 26px;
    background: url("../img/ic_arrow_green.svg") center center no-repeat;
    background-size: contain;
  }
  .block__line .btn__line a:hover {
    opacity: 0.8;
  }
  .block__accordion .accordion {
    position: relative;
    max-width: 980px;
    margin: 0 auto;
    background: #ECF4FA;
    border: 1px solid #03385E;
    border-radius: 10px;
  }
  .block__accordion .accordion .btn__ac {
    box-sizing: border-box;
    height: 100px;
    padding: 17px 97px 17px 321px;
    background-color: #fff;
    background-position: left center;
    background-repeat: no-repeat;
    background-size: contain;
    border-radius: 10px;
    cursor: pointer;
  }
  .block__accordion .accordion .btn__ac .inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100px;
  }
  .block__accordion .accordion .btn__ac p.title {
    opacity: 0;
  }
  .block__accordion .accordion .btn__ac .btn {
    position: absolute;
    top: calc(50% - 18px);
    right: 30px;
    width: 36px;
    height: 36px;
    background: #03385E;
    border-radius: 100vmax;
  }
  .block__accordion .accordion .btn__ac .btn::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 1px);
    left: calc(50% - 7px);
    width: 14px;
    height: 2px;
    background: #fff;
    border-radius: 100vmax;
  }
  .block__accordion .accordion .btn__ac .btn::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 1px);
    left: calc(50% - 7px);
    width: 14px;
    height: 2px;
    background: #fff;
    border-radius: 100vmax;
    transform: rotate(-90deg) translateY(0px);
    transition: all 0.2s;
  }
  .block__accordion .accordion .btn__ac .btn span {
    opacity: 0;
  }
  .block__accordion .accordion .btn__ac p.text {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    height: 66px;
    padding: 5px 30px;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.2;
    border-radius: 100vmax;
    background: #ECF4FA;
  }
  .block__accordion .accordion .btn__ac.active {
    border-radius: 10px 10px 0 0;
  }
  .block__accordion .accordion .btn__ac.active .btn::after {
    transform: rotate(0) translateY(0);
  }
  .block__accordion .accordion .btn__ac.active p.text {
    display: none;
  }
  .block__accordion .accordion .contents__ac {
    display: none;
    border-top: 1px solid #03385E;
    border-radius: 0 0 2.56vw 2.56vw;
  }
  .block__accordion .accordion .contents__ac > p.text__lead {
    padding: 24px;
    text-align: center;
    font-size: 24px;
    font-weight: 700;
  }
  .block__accordion .accordion + .accordion {
    margin-top: 16px;
  }
  .block__accordion .tab__area {
    display: flex;
    flex-wrap: wrap;
  }
  .block__accordion .tab__contents {
    order: 2;
    width: 100%;
    padding: 10px;
    background: #EEE427;
    border-radius: 10px;
  }
  .block__accordion .tab__contents .tab__block {
    padding-bottom: 22px;
    background: #fff;
    border-radius: 6px;
  }
  .block__accordion ul.tab__category {
    display: flex;
    order: 1;
    flex-wrap: wrap;
    max-width: 860px;
    margin: 0 auto;
    padding: 0 20px 20px;
    background: #ECF4FA;
    border-radius: 0 0 2.56vw 2.56vw;
  }
  .block__accordion ul.tab__category li {
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    justify-content: center;
    width: calc((100% - 24px) / 4);
    min-height: 50px;
    margin-right: 8px;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.14;
    background: #FFF;
    border: 1px solid #03385E;
    border-radius: 8px;
    cursor: pointer;
  }
  .block__accordion ul.tab__category li:nth-child(4n) {
    margin-right: 0;
  }
  .block__accordion ul.tab__category li:nth-child(n+5) {
    margin-top: 8px;
  }
  .block__accordion ul.tab__category li span {
    display: block;
    width: 100%;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.6;
  }
  .block__accordion ul.tab__category li.active {
    background: #EEE427;
    border: 2px solid #03385E;
  }
  .block__accordion .column {
    display: flex;
    padding: 0 40px 0 30px;
  }
  .block__accordion .column .cell:first-child {
    display: flex;
    align-items: center;
    width: calc(100% - 380px);
  }
  .block__accordion .column .cell:last-child {
    width: 380px;
  }
  .block__accordion .iframe {
    width: 600px;
    height: 340px;
    margin: 40px auto;
  }
  /* レイアウト ====================*/
  .mainvisual {
    background: #F3F4F5;
  }
  .mainvisual figure.img {
    margin: 0 auto;
  }
  .mainvisual figure.img img {
    position: relative;
    z-index: 1;
    display: block;
    margin: 0 auto;
  }
  .mainvisual figure.img01 {
    padding-top: 87px;
    max-width: 1120px;
  }
  .mainvisual figure.img02 {
    position: relative;
    background: #03385E;
  }
  .mainvisual figure.img02::before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 47px;
    background: #F3F4F5;
  }
  .mainvisual .iframe {
    max-width: 600px;
    margin: 50px auto 0;
  }
  .mainvisual .inner .contents__ac {
    display: none;
    padding-bottom: 30px;
  }
  .mainvisual .inner .contents__ac.active {
    display: block;
  }
  .mainvisual .iframe a.btn__ac {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    text-decoration: none;
    font-size: 14px;
    font-weight: 700;
    color: #03385E;
    border: 1px solid #03385E;
    border-radius: 100vmax;
    margin: 30px auto;
    padding: 10px 20px;
    cursor: pointer;
  }
  .mainvisual .iframe a.btn__ac .arrow-icon {
    margin-left: 1em;
  }
  .section01 {
    padding: 40px 20px 60px;
    background: #F3F4F5 url("../img/bg_section01.webp") center top no-repeat;
  }
  .section01 figure.img {
    display: table;
    margin: 0 auto;
  }
  .section02 {
    padding: 0 20px 80px;
    background: #F3F4F5;
  }
  .section02 .inner {
    max-width: 980px;
    margin: 0 auto;
  }
  .section02 .block__line,
  .section02 .block__accordion {
    margin-top: 40px;
  }
  .section03 {
    padding: 80px 0 0;
    background: #fff;
  }
  .section03 .inner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
  }
  .section03 .inner img {
    max-width: 980px;
    width: 100%;
  }
  .section03 .separete_sec1 {
    position: relative;
    padding: 0 0 30px;
  }
  .section03 .separete_sec1 .separete_wapper {
    padding: 30px 0;
    background-color: #EEE427;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .section03 .separete_sec1 img {
    max-width: 670px;
    display: block;
  }
  .section03 .separete_sec1 .separete_wapper::after {
    content: "";
    /* display: block; */
    background-color: #EEE427;
    width: 60px;
    height: 30px;
    clip-path: polygon(0 0, 100% 0%, 50% 100%);
    position: absolute;
    bottom: 11px;
  }
  .section04 {
    background-color: #fff;
  }
  .section04 .inner {
    position: relative;
    max-width: 1060px;
    margin: 0 auto 100px;
    padding: 68px 0 0;
    position: relative;
  }
  .section04 .inner h2 {
    text-align: center;
    margin-bottom: 20px;
  }
  .section04 .inner h2 img {
    max-width: 284px;
  }
  .section04 .inner .check {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 10px;
  }
  .section04 .inner .check .icon-checkpoint {
    font-size: 24px;
    font-weight: bold;
    position: relative;
    display: block;
    width: fit-content;
    margin-top: 10px;
  }
  .section04 .inner .check .icon-checkpoint::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 15px);
    left: -40px;
    width: 32px;
    height: 30px;
    background: url("../img/icon-check.webp") center center no-repeat;
    background-size: contain;
  }
  .section04 .inner .point1-benefit {
    margin: 20px auto;
    background-color: #F3F4F5;
    border: solid 1px #03385E;
    border-radius: 8px;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    padding: 20px;
  }
  .section04 .inner .benetit-img {
    max-width: 700px;
    margin: 30px auto 0;
  }
  .section04 .inner .clean-env {
    background-color: #F3F4F5;
    border-radius: 10px;
    padding: 20px 0;
    margin-bottom: 100px;
  }
  .section04 .inner .clean-env h4 {
    font-size: 24px;
    font-weight: bold;
    text-align: center;
  }
  .section04 .inner .clean-env p {
    max-width: 860px;
    margin: 20px auto;
  }
  .section04 .inner .point2-cnt {
    border: solid 1px #03385E;
    border-radius: 8px;
    padding: 20px 40px;
    margin: 20px auto 30px;
  }
  .section04 .inner .point2-cnt h3 {
    font-size: 26px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 20px;
  }
  .section04 .inner .point2-cnt ul {
    display: flex;
    column-gap: 20px;
    width: 100%;
  }
  .section04 .inner .point2-cnt ul li {
    display: flex;
    background-color: #EEE427;
    border-radius: 6px;
    font-size: 24px;
    padding: 20px 0;
    font-weight: bold;
    text-align: center;
    flex-basis: auto;
    flex-shrink: 1;
    flex-grow: 1;
    justify-content: center;
    align-items: center;
    position: relative;
    text-align: left;
    padding-left: 60px;
  }
  .section04 .inner .point2-cnt ul li.point2-noicon {
    padding-left: 0;
  }
  .section04 .inner .point2-cnt ul li.point2-icon1::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 30px);
    left: 30px;
    width: 62px;
    height: 60px;
    background: url("../img/icon_func1.webp") center center no-repeat;
    background-size: contain;
  }
  .section04 .inner .point2-cnt ul li.point2-icon2::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 30px);
    left: 30px;
    width: 62px;
    height: 60px;
    background: url("../img/icon_func2.webp") center center no-repeat;
    background-size: contain;
  }
  .section04 .inner .point2-cnt ul li.point2-icon3::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 30px);
    left: 30px;
    width: 62px;
    height: 60px;
    background: url("../img/icon_func3.webp") center center no-repeat;
    background-size: contain;
  }
  .section04 .point-more-box {
    background-color: #F3F4F5;
  }
  .section04 .point-more-box .inner {
    position: relative;
    max-width: 1060px;
    margin: 0 auto;
    padding: 80px 0 0;
    position: relative;
  }
  .section04 .point-more-box .inner .point-more-caution {
    font-size: 39px;
    font-weight: 900;
    color: #A056C4;
    text-align: center;
    background-color: #fff;
    display: block;
    margin: 0 auto;
    padding: 20px 50px 20px;
    width: fit-content;
    border-radius: 60px;
    position: absolute;
    top: -30px;
    left: 0;
    right: 0;
  }
  .section04 .point-more-box .inner .point-more-caution::after {
    content: "";
    display: block;
    background-color: #fff;
    height: 18px;
    width: 20px;
    clip-path: polygon(100% 0, 50% 100%, 0 0);
    position: absolute;
    bottom: -18px;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  .section04 .point-more-box .inner h2 {
    font-size: 36px;
    font-weight: bold;
    margin: 20px auto;
  }
  .section04 .point-more-box .inner p {
    font-size: 1.6rem;
    text-align: center;
  }
  .section04 .point-more-box .inner .bad-posture {
    display: flex;
    column-gap: 40px;
    padding: 40px;
  }
  .section04 .point-more-box .inner .bad-posture img {
    flex-grow: 1;
    width:calc((100% - 40px) / 2 ); 
  }
  .section04 .point-more-box .inner .good-posture {
    background-color: #fff;
    border-radius: 10px;
    padding: 40px 60px;
  }
  .section04 .point-more-box .inner .good-posture h3 {
    font-size: 2.8rem;
    font-weight: bold;
    text-align: center;
    position: relative;
  }
  .section04 .point-more-box .inner .good-posture h3 span {
    text-decoration: underline; /* 下線 */
    text-decoration-thickness: 0.5em; /* 線の太さ */
    text-decoration-color: rgba(283, 228, 39, 1.0); /* 線の色 */
    text-underline-offset: -0.2em; /* 線の位置。テキストに重なるようにやや上部にする */
    text-decoration-skip-ink: none; /* 下線と文字列が重なる部分でも下線が省略されない（線が途切れない） */
  }
  .section04 .point-more-box .inner .good-posture .good-posture-cnt {
    display: flex;
    flex-basis: 300px;
  }
  .section04 .point-more-box .inner .good-posture .good-posture-cnt::after {
    content: "";
    display: block;
    background-color: #03385E;
    height: calc(60px / 2);
    width: 80px;
    clip-path: polygon(100% 0, 50% 100%, 0 0);
    position: absolute;
    bottom: 72px;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  .section04 .point-more-box .inner .good-posture .good-posture-cnt p {
    display: block;
    padding: 60px;
    text-align: left;
  }
  .section04 .point-more-box .inner .good-posture .good-posture-cnt img {
   max-width: 560px;
  }
  .section04 .point-more-box .inner .lead-relax {
    font-size: 3.4rem;
    font-weight: bold;
    text-align: center;
    margin: 50px auto;
  }

  .section05 {
    background-color: #fff;
    padding: 0 0 60px;
  }
  .section05 img {
    width: 100%;
    background-color: #F3F4F5;
  }
  .section05 .inner {
    position: relative;
    max-width: 1060px;
    margin: 0 auto;
    text-align: center;
    padding: 40px 0 0;
  }
  .section05 .inner h2 {
    font-size: 4.0rem;
    font-weight: bold;
    text-align: center;
    margin: 0 auto 20px;
  }
  .section05 .inner .lead-sec05 {
    font-size: 2.6rem;
    margin: 0 auto 20px;
  }
  .section05 .inner img {
    width: 100%;
    max-width: 790px;
    margin: 0 auto 20px;
  }
  .sec05-caution {
    font-size: 1.4rem;
  }

  .section06 {
    background-color: #fff;
    margin: 0 auto;
    padding: 0 0 80px;
  }
  .section06 .inner {
    position: relative;
    max-width: 1060px;
    margin: 0 auto;
    padding: 0 0 0;
    text-align: center;
    background-color: #EEE427;
    border-radius: 10px;
  }
  .section06 .inner h2 {
    font-size: 3.4rem;
    font-weight: 900;
    padding: 10px 0;
  }
  .section06 .inner .sec06-lead {
    background-color: #F5F2BD;
    border-radius: 4px;
    font-size: 1.4rem;
    margin: 0 10px 6px;
    padding: 2px 0;
  }
  .section06 .inner .sec06-adjustment {
    display: flex;
    margin: 0 10px 20px;
    justify-content: right;
  }
  .section06 .inner .sec06-adjustment p {
    display: block;
    padding: 2px 0;
    background-color: #F5F2BD;
    border-radius: 4px;
    width: calc(((100% / 3) * 2));
    font-size: 1.4rem;
  }
  .section06 .inner .block__pickup {
    margin: 0 10px 6px;
    padding-bottom: 6px;
  }
  .section06 .inner .block__pickup .tab__contents {
    background-color: #fff;
    margin-bottom: 6px;
  }
  .section06 .inner .block__pickup ul.tab__category li {
    flex-direction: column;
    font-weight: 900;
    color: #fff;
    background-color: #03385E;
  }
  .section06 .inner .block__pickup ul.tab__category li span {
    font-size: 1.4rem;
    font-weight: normal;
    margin-top: 6px;
  }
  .section06 .inner .block__pickup ul.tab__category li.active {
    background-color: #fff;
    color: #03385E;
  }
  .section06 .inner .block__pickup .tab__contents .cell {
    text-align: left;
  }
  .section06 .inner .block__pickup .column {
    justify-content: center;
  }
  .section06 .inner .block__pickup .column .cell:last-child {
    width: auto;
  }
  .section06 .inner .block__pickup .column .cell:last-child img {
    display: block;
    max-width: 600px;
  }
  .section06 .inner .block__pickup .tab__area .tab__contents .tab__block .product .h16-size {
    width: 800px;
    margin: 0 auto;
  }
  .section06 .inner .block__pickup .tab__area .tab__contents .tab__block .product .h16-size .item-box,
  .section06 .inner .block__pickup .tab__area .tab__contents .tab__block .product .item-box {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #F3F4F5;
    border-radius: 8px;
    padding: 30px;
    column-gap: 30px;
    margin: 20px auto 10px;
  }
  .section06 .inner .block__pickup .tab__area .tab__contents .tab__block .product .h16-size .item-box .item-info,
  .section06 .inner .block__pickup .tab__area .tab__contents .tab__block .product .item-box .item-info{
    text-align: left;
    display: flex;
    flex-direction: column;
  }
  .section06 .inner .block__pickup .tab__area .tab__contents .tab__block .product .h16-size .item-box .item-info h3,
  .section06 .inner .block__pickup .tab__area .tab__contents .tab__block .product .item-box .item-info h3 {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2.4rem;
    column-gap: 30px;
    line-height: 1;
  }
  .section06 .inner .block__pickup .tab__area .tab__contents .tab__block .product .h16-size .item-box .item-info h3 span,
  .section06 .inner .block__pickup .tab__area .tab__contents .tab__block .product .item-box .item-info h3 span {
    font-size: 1.4rem;
    font-weight: normal;
    display: block;
  }
  .section06 .inner .block__pickup .tab__area .tab__contents .tab__block .product .h16-size .item-box .btn__buy,
  .section06 .inner .block__pickup .tab__area .tab__contents .tab__block .product .item-box .btn__buy {
    margin: 0;
  }
  .section06 .inner .block__pickup .tab__area .tab__contents .tab__block .product p.price.set::after {
    top: 16px
  }

  .section07 {
    position: relative;
    z-index: 0;
    margin-top: -2px;
    padding: 180px 20px 80px;
    background: #F3F4F5 url("../img/bg_section06_2.svg") center top no-repeat;
    background-size: 2000px 460px;
  }
  .section07 .inner .title {
    margin-bottom: 40px;
  }
  .section07 figure.img {
    position: relative;
    z-index: 1;
    display: table;
    margin: 65px auto 0;
  }
  .section07 {
    padding-top: 80px;
  }
  .section07 figure.img {
    display: table;
    margin: 0 auto;
    padding: 0 20px;
  }
  .section07 .block {
    margin-top: 80px;
    padding: 80px 0 90px;
    background: #F3F4F5;
  }
  .section07 p.text__lead {
    margin-top: 40px;
    padding: 0 20px;
    text-align: center;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.4;
  }
  .section07 p.text {
    max-width: 840px;
    margin: 30px auto 0;
    padding: 0 20px;
    font-size: 16px;
    font-weight: 400;
  }
  .section07 .scroll {
    margin-top: 30px;
    padding: 0 20px;
  }
  .section07 table.table {
    max-width: 840px;
    margin: 0 auto;
  }
  .section07 table.table tr:nth-child(1) th {
    padding: 18px 20px;
    font-size: 20px;
    font-weight: 400;
    border-right: 1px solid #F3F4F5;
    background: #D9D9D9;
    vertical-align: middle;
  }
  .section07 table.table tr:nth-child(1) th:nth-child(1) {
    opacity: 0;
  }
  .section07 table.table tr:nth-child(1) th:nth-child(2) {
    font-weight: 900;
    background: #EEE427;
  }
  .section07 table.table tr:nth-child(n+2) th {
    box-sizing: border-box;
    padding: 18px 20px;
    text-align: left;
    font-size: 16px;
    font-weight: 400;
    color: #fff;
    background: #03385E;
    border-bottom: 1px solid #F3F4F5;
    vertical-align: middle;
  }
  .section07 table.table tr:nth-child(n+2) td {
    box-sizing: border-box;
    padding: 5px;
    text-align: center;
    font-size: 16px;
    font-weight: 400;
    background: #fff;
    border-right: 1px solid #F3F4F5;
    border-bottom: 1px solid #F3F4F5;
    vertical-align: middle;
  }
  .section07 table.table tr:nth-child(n+2) td:nth-of-type(1) {
    font-weight: 900;
  }
  .section07 p.text__note {
    max-width: 840px;
    margin: 15px auto 0;
    padding: 0 20px;
    font-size: 14px;
  }
  .section07 .iframe {
    width: 600px;
    height: 340px;
    margin: 30px auto 0;
  }
  .section09 {
    padding: 80px 20px 0;
    background: #F3F4F5;
  }
  .section09 p.text__lead {
    margin-top: 50px;
    text-align: center;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
  }
  .section09 .accordion {
    max-width: 980px;
    margin: 37px auto 0;
    background: #fff;
    border: 1px solid #03385E;
    border-radius: 10px;
  }
  .section09 .accordion .btn__ac {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    height: 70px;
    border-radius: 10px;
    cursor: pointer;
  }
  .section09 .accordion .btn__ac p.title {
    text-align: center;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
  }
  .section09 .accordion .btn__ac .btn {
    position: absolute;
    top: calc(50% - 18px);
    right: 30px;
    width: 36px;
    height: 36px;
    background: #03385E;
    border-radius: 100vmax;
  }
  .section09 .accordion .btn__ac .btn::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 1px);
    left: calc(50% - 7px);
    width: 14px;
    height: 2px;
    background: #fff;
    border-radius: 100vmax;
  }
  .section09 .accordion .btn__ac .btn::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 1px);
    left: calc(50% - 7px);
    width: 14px;
    height: 2px;
    background: #fff;
    border-radius: 100vmax;
    transform: rotate(-90deg) translateY(0px);
    transition: all 0.2s;
  }
  .section09 .accordion .btn__ac .btn span {
    opacity: 0;
  }
  .section09 .accordion .btn__ac.active {
    border-radius: 10px 10px 0 0;
  }
  .section09 .accordion .btn__ac.active .btn::after {
    transform: rotate(0) translateY(0);
  }
  .section09 .accordion .contents__ac {
    border-top: 1px solid #03385E;
    border-radius: 0 0 10px 10px;
  }
  .section09 .accordion .contents__ac .inner {
    display: flex;
    flex-wrap: wrap;
    padding: 40px 50px 42px;
  }
  .section09 .accordion .contents__ac .inner .block {
    width: calc((100% - 38px) / 2);
  }
  .section09 .accordion .contents__ac .inner .block:nth-child(even) {
    margin-left: 38px;
  }
  .section09 .accordion .contents__ac .inner .block:nth-child(n+3) {
    margin-top: 38px;
  }
  .section09 .accordion h3.title {
    box-sizing: border-box;
    padding: 10px 0 10px 13px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    background: #F3F4F5;
    border-left: 3px solid #EEE427;
  }
  .section09 .accordion ul.list__info {
    margin-top: 12px;
  }
  .section09 .accordion ul.list__info li {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.3;
  }
  .section09 .accordion p.tel {
    margin-top: 0.75em;
    font-size: 12px;
    font-weight: 400;
    line-height: 1;
  }
  .section09 .accordion p.tel a {
    text-decoration: none;
    font-size: 18px;
    font-weight: 500;
    color: #03385E;
    line-height: 1;
    pointer-events: none;
  }
  .section10 {
    padding: 80px 20px;
    background: #F3F4F5;
  }
  .section10 dl.list__qa {
    max-width: 820px;
    margin: 60px auto 0;
  }
  .section10 dl.list__qa dt {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    position: relative;
    height: 40px;
    padding-left: 45px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
  }
  .section10 dl.list__qa dt::before {
    content: "Q";
    display: block;
    position: absolute;
    top: -0.3em;
    left: 0;
    font-size: 44px;
    font-family: "Zen Old Mincho", serif;
    font-weight: 700;
  }
  .section10 dl.list__qa dd {
    box-sizing: border-box;
    margin-top: 15px;
    padding: 25px 30px;
    border-radius: 6px;
    background: #FFF;
  }
  .section10 dl.list__qa dd p.text {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.3;
  }
  .section10 dl.list__qa + dl.list__qa {
    margin-top: 30px;
  }
  /* =================================================== */
}
@media (min-width: 768px) and (max-width: 1140px) {
  .mainvisual figure.img02::before {
    height: 4.1228070175vw;
  }
  .bnr__products p.logo {
    width: 17.2807017544vw;
    height: 4.3859649123vw;
  }
  .bnr__products p.text {
    margin-left: 1.7543859649vw;
    font-size: 1.5789473684vw;
  }
  .bnr__products p.price {
    margin-left: 1.7543859649vw;
    padding: 0 2.8947368421vw 0 6.1403508772vw;
    font-size: 5.4385964912vw;
  }
  .bnr__products p.price::before {
    width: 5.2631578947vw;
    height: 5.2631578947vw;
  }
  .bnr__products p.price::after {
    top: 1.2280701754vw;
    width: 2.2807017544vw;
    height: 3.2456140351vw;
  }
  .bnr__products .btn__buy {
    width: 29.3859649123vw;
    height: 5.2631578947vw;
    margin-left: 1.7543859649vw;
  }
  .bnr__products .btn__buy a {
    padding-left: 3.5087719298vw;
    font-size: 1.5789473684vw;
  }
  .bnr__products .btn__buy a::before {
    top: calc(50% - 1.1403508772vw);
    right: 1.9298245614vw;
    width: 2.2807017544vw;
    height: 2.2807017544vw;
  }
}
@media (min-width: 768px) and (max-width: 1140px) {
  .mainvisual figure.img02::before {
    height: 4.1228070175vw;
  }
}
@media (min-width: 768px) and (max-width: 899px) {
  .section02 .column,
  .section08 .column {
    display: block;
    padding: 30px 0 0;
  }
  .section02 .column .cell:first-child,
  .section08 .column .cell:first-child {
    display: flex;
    align-items: center;
    width: 600px;
    margin: 0 auto;
  }
  .section02 .column .cell:last-child,
  .section08 .column .cell:last-child {
    width: 480px;
    margin: 0 auto;
  }
}
/* ======================================================
	SP用設定
====================================================== */
@media screen and (max-width: 767px) {
  /* 基本設定 ====================*/
  body {
    color: #03385E;
    line-height: 1.5;
  }
  img {
    width: 100%;
  }
  .pc {
    display: none !important;
  }
  .wrapper {
    overflow: hidden;
    position: relative;
    padding-bottom: 18.46vw;
  }
  .iframe iframe {
    width: 100%;
    height: 100%;
    aspect-ratio: 16/9;
    vertical-align: bottom;
  }
  /* header ====================*/
  header.header {
    box-sizing: border-box;
    position: absolute;
    z-index: 100;
    top: 0;
    left: 0;
    width: 100%;
    height: 20vw;
  }
  header.header .header__logo {
    position: absolute;
    top: 2.1vw;
    left: 3.84vw;
    width: 51.53vw;
    height: 13.07vw;
    background: url("../img/header_logo.svg") center center no-repeat;
    background-size: contain;
  }
  header.header .header__logo a {
    display: block;
    width: 100%;
    height: 100%;
    opacity: 0;
  }
  header.header .btn__buy {
    position: absolute;
    top: 4.61vw;
    right: 3.84vw;
    width: 36.66vw;
    height: 11.02vw;
  }
  header.header .btn__buy a {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    position: relative;
    height: 100%;
    height: 100%;
    padding-left: 3.84vw;
    text-decoration: none;
    font-size: 3.2vw;
    font-weight: 900;
    color: #fff;
    background-color: #A056C4;
    border-radius: 100vmax;
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }
  header.header .btn__buy a::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 3.33vw);
    right: 2.4vw;
    width: 6.66vw;
    height: 6.66vw;
    background: url("../img/ic_arrow_purple.svg") center center no-repeat;
    background-size: contain;
  }
  /* footer ====================*/
  footer.footer {
    box-sizing: border-box;
    width: 100%;
    padding: 10.25vw 3.84vw;
    background: #03385E;
  }
  footer.footer ul.footer__link li {
    text-align: center;
  }
  footer.footer ul.footer__link li a {
    text-decoration: none;
    font-size: 3.58vw;
    font-weight: 700;
    color: #FFF;
  }
  footer.footer ul.footer__link li + li {
    margin-top: 1em;
  }
  footer.footer p.footer__copyright {
    margin-top: 10.25vw;
    text-align: center;
    font-size: 3.07vw;
    color: #fff;
    line-height: 1;
  }
  /* フッター固定の購入ボタン ====================*/
  .bnr__products {
    box-sizing: border-box;
    position: fixed;
    z-index: 2;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 18.46vw;
    padding: 0 20px;
    background: #FFF;
    box-shadow: 0 -1.02vw 1.02vw 0 rgba(0, 0, 0, 0.05);
  }
  .bnr__products p.logo,
  .bnr__products p.text {
    display: none;
  }
  .bnr__products p.price {
    position: absolute;
    top: 2.8vw;
    left: 3.84vw;
    font-family: Montserrat;
    font-size: 7.17vw;
    font-weight: 700;
    line-height: 0.94;
  }
  .bnr__products p.price::before {
    content: "送料無料";
    display: block;
    margin-bottom: 0.15em;
    font-size: 3.07vw;
    font-weight: 700;
  }
  .bnr__products p.price::after {
    content: "（税込）";
    text-align: right;
    display: block;
    margin-top: 0.3em;
    font-size: 2.56vw;
    font-weight: 500;
  }
  .bnr__products p.price span {
    font-size: 2.56vw;
    font-weight: 700;
    font-family: "Zen Kaku Gothic New";
  }
  .bnr__products .btn__buy {
    position: absolute;
    top: calc(50% - 5.64vw);
    right: 3.84vw;
    width: 50vw;
    height: 11.28vw;
  }
  .bnr__products .btn__buy a {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    position: relative;
    height: 100%;
    height: 100%;
    padding-left: 4.35vw;
    text-decoration: none;
    font-size: 3.58vw;
    font-weight: 900;
    color: #fff;
    background-color: #A056C4;
    border-radius: 100vmax;
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }
  .bnr__products .btn__buy a::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 3.33vw);
    right: 2.3vw;
    width: 6.66vw;
    height: 6.66vw;
    background: url("../img/ic_arrow_purple.svg") center center no-repeat;
    background-size: contain;
  }
  .bnr__products .btn__buy a:hover {
    opacity: 0.8;
  }
  .order_made_buy {
    font-size: 4.102564102564102vw;
    font-weight: bold;
    color: #03385E;
    margin: 5.128205128205128vw auto 0;
  }
  .order_made_buy p a,
  .order_made_buy p a:link,
  .order_made_buy p a:visited,
  .order_made_buy p a:hover,
  .order_made_buy p a:active {
    color: #03385E;
    text-decoration: underline;
  }
  /* 共通パーツ ====================*/
  h2.title {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 18vw;
    text-align: center;
    font-size: 6.15vw;
    font-weight: 900;
    line-height: 1.4;
  }
  h2.title::before, h2.title::after {
    content: "";
    box-sizing: border-box;
    display: block;
    width: 3.84vw;
    height: 18vw;
    border: 2px solid #03385E;
  }
  h2.title::before {
    margin-right: 3.84vw;
    border-right: none;
  }
  h2.title::after {
    margin-left: 3.84vw;
    border-left: none;
  }
  .tab__contents .tab__block {
    display: none;
  }
  .tab__contents .tab__block.active {
    display: block;
  }
  .product p.text__lead {
    text-align: center;
    font-size: 5.24vw;
    font-weight: 900;
    color: #03385E;
    line-height: 1.2;
  }
  .product p.text__lead span {
    display: block;
    font-size: 4.1vw;
  }
  .product ul.list__info {
    margin: 3.84vw 0 1vw;
    padding: 2.56vw;
    background: #F3F4F5;
    border-radius: 1.53vw;
  }
  .product ul.list__info li {
    font-size: 3.07vw;
    font-weight: 400;
    line-height: 1;
  }
  .product ul.list__info li + li {
    /* margin-top: 0.5em; */
  }
  .product p.text__kome {
    position: relative;
    margin: 1.02vw 0 0;
    padding-left: 1em;
    font-size: 2.56vw;
    white-space: nowrap;
  }
  .product p.text__kome::before {
    content: "※";
    position: absolute;
    top: 0;
    left: 0;
  }
  .product p.price {
    display: table;
    position: relative;
    margin: 2.56vw 3.84vw 2.56vw;
    padding: 0 6.41vw 0 14.87vw;
    font-family: Montserrat;
    font-size: 12.82vw;
    font-weight: 700;
    line-height: 1;
  }
  .product p.price::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 12.82vw;
    height: 12.82vw;
    background-image: url("../img/ic_included.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
  }
  .product p.price::after {
    content: "";
    display: block;
    position: absolute;
    top: 4vw;
    right: 0;
    width: 5.12vw;
    height: 7.43vw;
    background-image: url("../img/ic_yen.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
  }
  .product p.price span.note {
    display: block;
    margin-top: 0.6em;
    font-size: 2.56vw;
    font-weight: 400;
  }
  .product p.price.free::before {
    background-image: url("../img/ic_free.svg");
  }
  .product p.price.set::before {
    top: 1vw;
  }
  .product p.price.set::after {
    top: 7.5vw;
  }
  .product p.price.set span.original {
    display: block;
    position: relative;
    font-size: 4.1vw;
    font-family: Montserrat;
    font-weight: 500;
    line-height: 0.9;
  }
  .product p.price.set span.original::before {
    content: "";
    display: block;
    position: absolute;
    z-index: 1;
    top: calc(50% - 1px);
    left: -2px;
    width: 15vw;
    height: 1px;
    border-bottom: 1px solid #E11B1B;
  }
  .product p.price.set span.original::after {
    content: "円";
    font-size: 3vw;
    font-weight: 500;
    font-family: "Zen Kaku Gothic New";
  }
  .product .btn__buy {
    width: 79.48vw;
    height: 15.38vw;
    margin: 2.56vw auto 0;
  }
  .product .btn__buy a {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    height: 100%;
    height: 100%;
    text-decoration: none;
    font-size: 4.1vw;
    font-weight: 900;
    color: #fff;
    background-color: #A056C4;
    border-radius: 100vmax;
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }
  .product .btn__buy a::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 3.33vw);
    right: 4.35vw;
    width: 6.66vw;
    height: 6.66vw;
    background: url("../img/ic_arrow_purple.svg") center center no-repeat;
    background-size: contain;
  }
  .product .btn__buy a:hover {
    opacity: 0.8;
  }
  .product .btn__border {
    width: 56.41vw;
    height: 11.02vw;
    margin: 3.84vw auto 0;
  }
  .product .btn__border a {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    height: 100%;
    text-decoration: none;
    font-size: 3.2vw;
    font-weight: 700;
    color: #03385E;
    border: 1px solid #03385E;
    border-radius: 100vmax;
  }
  .product .group__set {
    margin-top: 7.69vw;
    padding-bottom: 5.12vw;
    background: #F7F6DE;
  }
  .product .group__set h4.title {
    display: table;
    margin: 0 auto;
    padding: 0 5.12vw 2.56vw;
    text-align: center;
    font-size: 4.61vw;
    font-weight: 900;
    background: #FFF;
    border-radius: 0 0 1.53vw 1.53vw;
  }
  .product .btn__buy + p.text__kome,
  .product .group__set + p.text__kome {
    margin-top: 2.56vw;
  }
  .product.ordermade {
    padding: 5.89vw 3.84vw 5.12vw;
  }
  .product.ordermade p.text {
    text-align: center;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.7;
  }
  .product.ordermade .btn__line {
    width: 79.48vw;
    height: 15.38vw;
    margin: 5.12vw auto 0;
  }
  .product.ordermade .btn__line a {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    height: 100%;
    height: 100%;
    text-decoration: none;
    font-size: 4.1vw;
    font-weight: 900;
    color: #fff;
    background-color: #06C755;
    border-radius: 100vmax;
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }
  .product.ordermade .btn__line a::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 3.33vw);
    right: 4.35vw;
    width: 6.66vw;
    height: 6.66vw;
    background: url("../img/ic_arrow_green.svg") center center no-repeat;
    background-size: contain;
  }
  .product.ordermade .btn__line a:hover {
    opacity: 0.8;
  }
  .block__bnr {
    margin-top: 8.72vw;
  }
  .block__pickup ul.tab__category {
    display: flex;
  }
  .block__pickup ul.tab__category li {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc((100% - 1.02vw) / 2);
    height: 12.82vw;
    text-align: center;
    font-size: 4.61vw;
    font-weight: 500;
    color: #03385E;
    line-height: 1;
    background-color: #D7D8D9;
    border-radius: 1.53vw 1.53vw 0 0;
    cursor: pointer;
  }
  .block__pickup ul.tab__category li.active {
    font-weight: 900;
    background-color: #EEE427;
  }
  .block__pickup ul.tab__category li + li {
    margin-left: 1.02vw;
  }
  .block__pickup .tab__contents {
    padding: 4.35vw 2.56vw 2.56vw;
    border-radius: 0px 0px 2.56vw 2.56vw;
    background: #EEE427;
  }
  .block__pickup .tab__contents .tab__block {
    padding-bottom: 3.07vw;
    background: #FFF;
    border-radius: 1.53vw;
  }
  .block__line {
    padding: 6.41vw;
    background: #EBFBF2;
    border: 1px solid #06C755;
    border-radius: 2.56vw;
  }
  .block__line p.text__img {
    width: 69.23vw;
    margin: 0 auto;
  }
  .block__line p.text__lead {
    text-align: center;
    font-size: 4.1vw;
    font-weight: 900;
  }
  .block__line .btn__line {
    width: 79.48vw;
    height: 15.38vw;
    margin: 2.56vw auto 0;
    max-width: 100%;
  }
  .block__line .btn__line a {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    height: 100%;
    height: 100%;
    text-decoration: none;
    font-size: 4.1vw;
    font-weight: 900;
    color: #fff;
    background-color: #06C755;
    border-radius: 100vmax;
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }
  .block__line .btn__line a::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 3.33vw);
    right: 4.35vw;
    width: 6.66vw;
    height: 6.66vw;
    background: url("../img/ic_arrow_green.svg") center center no-repeat;
    background-size: contain;
  }
  .block__line .btn__line a:hover {
    opacity: 0.8;
  }
  .block__accordion .accordion {
    position: relative;
    padding-bottom: 7.69vw;
    background: #ECF4FA;
    border: 1px solid #03385E;
    border-radius: 2.56vw;
  }
  .block__accordion .accordion .btn__ac {
    box-sizing: border-box;
    height: 20.51vw;
    background-position: left center;
    background-repeat: no-repeat;
    background-size: contain;
    border-radius: 2.56vw 2.56vw 0 0;
    cursor: pointer;
  }
  .block__accordion .accordion .btn__ac .inner {
    position: relative;
    width: 100%;
    height: 100%;
  }
  .block__accordion .accordion .btn__ac p.title {
    opacity: 0;
  }
  .block__accordion .accordion .btn__ac .btn {
    position: absolute;
    top: calc(50% - 3.33vw);
    right: 4.1vw;
    width: 6.66vw;
    height: 6.66vw;
    background: #03385E;
    border-radius: 100vmax;
  }
  .block__accordion .accordion .btn__ac .btn::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 0.3vw);
    left: calc(50% - 1.5vw);
    width: 3vw;
    height: 0.6vw;
    background: #fff;
    border-radius: 100vmax;
  }
  .block__accordion .accordion .btn__ac .btn::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 0.3vw);
    left: calc(50% - 1.5vw);
    width: 3vw;
    height: 0.6vw;
    background: #fff;
    border-radius: 100vmax;
    transform: rotate(-90deg) translateY(0px);
    transition: all 0.2s;
  }
  .block__accordion .accordion .btn__ac .btn span {
    opacity: 0;
  }
  .block__accordion .accordion .btn__ac p.text {
    position: absolute;
    bottom: 2.3vw;
    left: 3.84vw;
    font-size: 3.07vw;
    font-weight: 500;
    line-height: 1;
  }
  .block__accordion .accordion .btn__ac.active .btn::after {
    transform: rotate(0) translateY(0);
  }
  .block__accordion .accordion .btn__ac.active p.text {
    display: none;
  }
  .block__accordion .accordion .contents__ac {
    display: none;
    border-top: 1px solid #03385E;
    border-radius: 0 0 2.56vw 2.56vw;
  }
  .block__accordion .accordion .contents__ac > p.text__lead {
    padding: 5.12vw;
    text-align: center;
    font-size: 4.61vw;
    font-weight: 700;
  }
  .block__accordion .accordion.active {
    padding-bottom: 2.56vw;
  }
  .block__accordion .accordion + .accordion {
    margin-top: 3.84vw;
  }
  .block__accordion .tab__contents {
    padding: 2.82vw 2.3vw 2.3vw;
    background: #EEE427;
  }
  .block__accordion .tab__contents .tab__block {
    padding-bottom: 2.56vw;
    background: #fff;
    border-radius: 1.53vw;
  }
  .block__accordion ul.tab__category {
    display: flex;
    flex-wrap: wrap;
    margin-top: 2.56vw;
    padding: 0 2.56vw;
    background: #ECF4FA;
    border-radius: 0 0 2.56vw 2.56vw;
  }
  .block__accordion ul.tab__category li {
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    justify-content: center;
    width: calc((100% - 1.53vw) / 2);
    min-height: 10.25vw;
    text-align: center;
    font-size: 3.58vw;
    font-weight: 700;
    line-height: 1.14;
    background: #FFF;
    border: 1px solid #03385E;
    border-radius: 1.53vw;
    cursor: pointer;
  }
  .block__accordion ul.tab__category li:nth-child(even) {
    margin-left: 1.5vw;
  }
  .block__accordion ul.tab__category li:nth-child(n+3) {
    margin-top: 1.5vw;
  }
  .block__accordion ul.tab__category li span {
    display: block;
    width: 100%;
    font-size: 2.56vw;
    font-weight: 400;
    line-height: 1.6;
  }
  .block__accordion ul.tab__category li.active {
    background: #EEE427;
    border: 2px solid #03385E;
  }
  .block__accordion .iframe {
    margin-top: 5.12vw;
    padding: 0 2.56vw 2.56vw;
  }
  /* レイアウト ====================*/
  .mainvisual {
    padding-bottom: 3.84vw;
    background: #F3F4F5;
  }
  .mainvisual .iframe {
    margin: 7.69vw 6.41vw 0;
  }
  .mainvisual .inner .contents__ac {
    display: none;
    padding-bottom: 30px;
  }
  .mainvisual .inner .contents__ac.active {
    display: block;
  }
  .mainvisual .iframe a.btn__ac {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    text-decoration: none;
    font-size: 14px;
    font-weight: 700;
    color: #03385E;
    border: 1px solid #03385E;
    border-radius: 100vmax;
    margin: 30px auto;
    padding: 10px 20px;
    cursor: pointer;
  }
  .mainvisual .iframe a.btn__ac .arrow-icon {
    margin-left: 1em;
    width: 1em;
  }
  .section01 {
    background: #F3F4F5;
  }
  .section02 {
    padding: 0 3.84vw;
    background: #F3F4F5;
  }
  .section02 .block__line,
  .section02 .block__accordion {
    margin-top: 7.69vw;
  }
  .section03 .separete_sec1 {
    position: relative;
    padding: 0 0 11.538461538461538vw;
  }
  .section03 .separete_sec1 .separete_wapper {
    padding: 6vw 0;
    background-color: #EEE427;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
  }
  .section03 .separete_sec1 img {
    max-width: 80%;
    display: block;
    margin: 0 auto;
  }
  .section03 .separete_sec1 .separete_wapper::after {
    content: "";
    display: block;
    background-color: #EEE427;
    width: 60px;
    height: 30px;
    clip-path: polygon(0 0, 100% 0%, 50% 100%);
    position: absolute;
    bottom: -30px;
  }
  .section04 {
    background: #fff;
  }
  .section04 .inner {
    padding: 7.17vw 3.84vw 11vw;
    margin-bottom: 10.256410256410255vw;
  }
  .section04 .inner h2 {
    text-align: center;
    margin: 2.564102564102564vw auto;
  }
  .section04 .inner h2 img {
    width: 50%;
  }

  .section04 .inner .check {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-top: 2.564102564102564vw;
    padding: 0 0 0 4rem;
  }
  .section04 .inner .check .icon-checkpoint {
    font-size: 4vw;
    font-weight: bold;
    position: relative;
    display: block;
    width: fit-content;
    margin-top: 2.564102564102564vw;
  }
  .section04 .inner .check .icon-checkpoint::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 3.8461538461538463vw);
    left: -7.6vw;
    width: 6vw;
    height: 8.2vw;
    background: url("../img/icon-check.webp") center center no-repeat;
    background-size: contain;
  }
  .section04 .inner .point1-benefit {
    margin: 5.128205128205128vw auto;
    background-color: #F3F4F5;
    border: solid 1px #03385E;
    border-radius: 8px;
    font-size: 5vw;
    font-weight: bold;
    text-align: center;
    padding: 5.128205128205128vw;
  }
  .section04 .inner .benetit-img {
    max-width: 700px;
    margin: 7.6923076923076925vw auto 0;
  }
  .section04 .inner .clean-env {
    background-color: #F3F4F5;
    border-radius: 10px;
    padding: 5.128205128205128vw 0;
    margin-bottom: 10.256410256410255vw;
  }
  .section04 .inner .clean-env h4 {
    font-size: 6.153846153846154vw;
    font-weight: bold;
    text-align: center;
  }
  .section04 .inner .clean-env p {
    max-width: 90%;
    margin: 5.128205128205128vw auto;
  }
  .section04 .inner .point2-cnt {
    border: solid 1px #03385E;
    border-radius: 8px;
    padding: 2vw 2vw;
    margin: 20px auto 30px;
  }
  .section04 .inner .point2-cnt h3 {
    font-size: 4.615384615384616vw;
    font-weight: bold;
    text-align: center;
    margin-bottom: 5.128205128205128vw;
  }
  .section04 .inner .point2-cnt ul {
    display: flex;
    column-gap: 2vw;
    width: 100%;
  }
  .section04 .inner .point2-cnt ul li {
    display: flex;
    background-color: #EEE427;
    border-radius: 6px;
    font-size: 4.102564102564102vw;
    padding: 5.128205128205128vw 0;
    font-weight: bold;
    text-align: center;
    flex-basis: auto;
    flex-direction: column;
    flex-shrink: 1;
    flex-grow: 1;
    justify-content: center;
    align-items: center;
    position: relative;
    text-align: left;
    text-align: center;
  }
  .section04 .inner .point2-cnt ul li.point2-noicon {
    padding-left: 0;
    text-align: center;
  }
  .section04 .inner .point2-cnt ul li.point2-icon1::before {
    content: "";
    display: block;
    width: 15.897435897435896vw;
    height: 15.384615384615385vw;
    background: url("../img/icon_func1.webp") center center no-repeat;
    background-size: contain;
    margin-bottom: 1.5384615384615385vw;
  }
  .section04 .inner .point2-cnt ul li.point2-icon2::before {
    content: "";
    display: block;
    width: 15.897435897435896vw;
    height: 15.384615384615385vw;
    background: url("../img/icon_func2.webp") center center no-repeat;
    background-size: contain;
    margin-bottom: 1.5384615384615385vw;
  }
  .section04 .inner .point2-cnt ul li.point2-icon3::before {
    content: "";
    display: block;
    width: 15.897435897435896vw;
    height: 15.384615384615385vw;
    background: url("../img/icon_func3.webp") center center no-repeat;
    background-size: contain;
    margin-bottom: 1.5384615384615385vw;
  }
  .section04 .point-more-box {
    background-color: #F3F4F5;
  }
  .section04 .point-more-box .inner {
    position: relative;
    width: 94%;
    margin: 0 auto;
    padding: 80px 0 0;
    position: relative;
    text-align: center;
  }
  .section04 .point-more-box .inner .point-more-caution {
    font-size: 39px;
    font-weight: 900;
    color: #A056C4;
    text-align: center;
    background-color: #fff;
    display: block;
    margin: 0 auto;
    padding: 20px 50px 20px;
    width: fit-content;
    border-radius: 60px;
    position: absolute;
    top: -30px;
    left: 0;
    right: 0;
  }
  .section04 .point-more-box .inner .point-more-caution::after {
    content: "";
    display: block;
    background-color: #fff;
    height: 18px;
    width: 20px;
    clip-path: polygon(100% 0, 50% 100%, 0 0);
    position: absolute;
    bottom: -18px;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  .section04 .point-more-box .inner h2 {
    font-size: 2.4rem;
    font-weight: bold;
    margin: 20px auto;
  }
  .section04 .point-more-box .inner p {
    font-size: 1.6rem;
    text-align: center;
    width: 92%;
    margin: 0 auto;
    text-align: left;
  }
  .section04 .point-more-box .inner .bad-posture {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    row-gap: 4vw;
    padding: 7.6923076923076925vw 0;
  }
  .section04 .point-more-box .inner .bad-posture img {
    flex-grow: 1;
    width: 80%; 
  }
  .section04 .point-more-box .inner .good-posture {
    background-color: #fff;
    border-radius: 10px;
    padding: 5.128205128205128vw 0;
  }
  .section04 .point-more-box .inner .good-posture h3 {
    font-size: 5.128205128205128vw;
    font-weight: bold;
    text-align: center;
    position: relative;
  }
  .section04 .point-more-box .inner .good-posture h3 span {
    text-decoration: underline; /* 下線 */
    text-decoration-thickness: 0.5em; /* 線の太さ */
    text-decoration-color: rgba(283, 228, 39, 1.0); /* 線の色 */
    text-underline-offset: -0.2em; /* 線の位置。テキストに重なるようにやや上部にする */
    text-decoration-skip-ink: none; /* 下線と文字列が重なる部分でも下線が省略されない（線が途切れない） */
  }
  .section04 .point-more-box .inner .good-posture .good-posture-cnt {
    display: flex;
    flex-direction: column;
  }
  .section04 .point-more-box .inner .good-posture .good-posture-cnt::after {
    content: "";
    display: block;
    background-color: #03385E;
    height: calc(15.384615384615385vw / 2);
    width: 20.51282051282051vw;
    clip-path: polygon(100% 0, 50% 100%, 0 0);
    position: absolute;
    bottom: 26.3vw;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  .section04 .point-more-box .inner .good-posture .good-posture-cnt p {
    display: block;
    text-align: left;
    width: 86%;
    padding: 4vw 0;
  }
  .section04 .point-more-box .inner .good-posture .good-posture-cnt img {
   max-width: 560px;
   width: 100%;
   margin: 0 auto;
  }
  .section04 .point-more-box .inner .lead-relax {
    font-size: 7vw;
    font-weight: bold;
    text-align: center;
    margin: 12.82051282051282vw auto;
  }




  .section05 {
    background-color: #fff;
    padding: 0 0 15.384615384615385vw;
  }
  .section05 img {
    width: 100%;
    background-color: #F3F4F5;
  }
  .section05 .inner {
    position: relative;
    width: 94%;
    margin: 0 auto;
    text-align: center;
    padding: 10.256410256410255vw 0 0;
  }
  .section05 .inner h2 {
    font-size: 6.153846153846154vw;
    font-weight: bold;
    text-align: center;
    margin: 0 auto 5.128205128205128vw;
  }
  .section05 .inner .lead-sec05 {
    font-size: 4.102564102564102vw;
    margin: 0 auto 20px;
  }
  .section05 .inner img {
    width: 100%;
    max-width: 790px;
    margin: 0 auto 5.128205128205128vw;
  }
  .sec05-caution {
    font-size: 1.4rem;
  }

  .section06 {
    background-color: #fff;
    margin: 0 auto;
    padding: 0 0 80px;
  }
  .section06 .inner {
    position: relative;
    width: 94%;
    margin: 0 auto;
    padding: 0 0 0;
    text-align: center;
    background-color: #EEE427;
    border-radius: 10px;
  }
  .section06 .inner h2 {
    font-size: 6.153846153846154vw;
    font-weight: 900;
    padding: 10px 0;
  }
  .section06 .inner .sec06-lead {
    background-color: #F5F2BD;
    border-radius: 4px;
    font-size: 3.076923076923077vw;
    margin: 0 2.564102564102564vw 1.5384615384615385vw;
    padding: 0.5128205128205128vw 0;
  }
  .section06 .inner .sec06-adjustment {
    display: flex;
    margin: 0 10px 20px;
    justify-content: right;
  }
  .section06 .inner .sec06-adjustment p {
    display: block;
    padding: 2px 0;
    background-color: #F5F2BD;
    border-radius: 4px;
    width: calc(((100% / 3) * 2));
    font-size: 3.076923076923077vw;
  }
  .section06 .inner .block__pickup {
    margin: 0 10px 6px;
    padding-bottom: 6px;
  }
  .section06 .inner .block__pickup .tab__contents {
    background-color: #fff;
    margin-bottom: 6px;
  }
  .section06 .inner .block__pickup ul.tab__category li {
    flex-direction: column;
    font-weight: 900;
    color: #fff;
    background-color: #03385E;
    padding: 2vw;
  }
  .section06 .inner .block__pickup ul.tab__category li span {
    font-size: 3.076923076923077vw;
    font-weight: normal;
    line-height: 1.2;
    margin-top: 1.5384615384615385vw;
  }
  .section06 .inner .block__pickup ul.tab__category li.active {
    background-color: #fff;
    color: #03385E;
  }
  .section06 .inner .block__pickup .tab__contents .cell {
    text-align: left;
  }
  .section06 .inner .block__pickup .column {
    justify-content: center;
  }
  .section06 .inner .block__pickup .column .cell:last-child {
    width: auto;
  }
  .section06 .inner .block__pickup .column .cell:last-child img {
    display: block;
    max-width: 600px;
  }
  .section06 .inner .block__pickup .tab__area .tab__contents .tab__block .product .h16-size {
    width: 94%;
    margin: 0 auto;
  }
  .section06 .inner .block__pickup .tab__area .tab__contents .tab__block .product .h16-size .item-box,
  .section06 .inner .block__pickup .tab__area .tab__contents .tab__block .product .item-box {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    background-color: #F3F4F5;
    border-radius: 8px;
    padding: 3vw;
    margin: 20px auto 10px;
  }
  .section06 .inner .block__pickup .tab__area .tab__contents .tab__block .product .h16-size .item-box .item-info,
  .section06 .inner .block__pickup .tab__area .tab__contents .tab__block .product .item-box .item-info {
    text-align: left;
    display: flex;
    flex-direction: column;
  }
  .section06 .inner .block__pickup .tab__area .tab__contents .tab__block .product .h16-size .item-box .item-info h3 {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 4.102564102564102vw;
    column-gap: 1rem;
    line-height: 1;
  }
  .section06 .inner .block__pickup .tab__area .tab__contents .tab__block .product .h16-size .item-box .item-info h3 span {
    font-size: 3.076923076923077vw;
    font-weight: normal;
    display: block;
  }
  .section06 .inner .block__pickup .tab__area .tab__contents .tab__block .product .h16-size .item-box .btn__buy {
    margin: 0;
    width: 100%;
  }
  .section06 .inner .block__pickup .tab__area .tab__contents .tab__block .product p.price.set::after {
    top: 16px
  }
  .section06 #cat01 h3 {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 4.102564102564102vw;
    column-gap: 1rem;
    line-height: 1;
  }
  .section06 #cat01 h3 span {
    font-size: 3.076923076923077vw;
    font-weight: normal;
    display: block;
  }

  .section07 {
    position: relative;
    z-index: 0;
    margin-top: -2px;
    padding: 180px 20px 80px;
    background: #F3F4F5 url("../img/bg_section06_2.svg") center top no-repeat;
    background-size: 2000px 460px;
  }
  .section07 .inner .title {
    margin-bottom: 40px;
  }
  .section07 figure.img {
    position: relative;
    z-index: 1;
    display: table;
    margin: 65px auto 0;
  }
  .section07 {
    padding-top: 80px;
  }
  .section07 figure.img {
    display: table;
    margin: 0 auto;
    padding: 0 20px;
  }
  .section07 .block {
    margin-top: 80px;
    padding: 80px 0 90px;
    background: #F3F4F5;
  }
  .section07 p.text__lead {
    margin-top: 40px;
    padding: 0 20px;
    text-align: center;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.4;
  }
  .section07 p.text {
    max-width: 840px;
    margin: 30px auto 0;
    padding: 0 20px;
    font-size: 16px;
    font-weight: 400;
  }
  .section07 .scroll {
    margin-top: 30px;
    padding: 0 20px;
  }
  .section07 table.table {
    max-width: 840px;
    margin: 0 auto;
  }
  .section07 table.table tr:nth-child(1) th {
    padding: 18px 20px;
    font-size: 20px;
    font-weight: 400;
    border-right: 1px solid #F3F4F5;
    background: #D9D9D9;
    vertical-align: middle;
  }
  .section07 table.table tr:nth-child(1) th:nth-child(1) {
    opacity: 0;
  }
  .section07 table.table tr:nth-child(1) th:nth-child(2) {
    font-weight: 900;
    background: #EEE427;
  }
  .section07 table.table tr:nth-child(n+2) th {
    box-sizing: border-box;
    padding: 18px 20px;
    text-align: left;
    font-size: 16px;
    font-weight: 400;
    color: #fff;
    background: #03385E;
    border-bottom: 1px solid #F3F4F5;
    vertical-align: middle;
  }
  .section07 table.table tr:nth-child(n+2) td {
    box-sizing: border-box;
    padding: 5px;
    text-align: center;
    font-size: 16px;
    font-weight: 400;
    background: #fff;
    border-right: 1px solid #F3F4F5;
    border-bottom: 1px solid #F3F4F5;
    vertical-align: middle;
  }
  .section07 table.table tr:nth-child(n+2) td:nth-of-type(1) {
    font-weight: 900;
  }
  .section07 p.text__note {
    max-width: 840px;
    margin: 15px auto 0;
    padding: 0 20px;
    font-size: 14px;
  }
  .section07 .iframe {
    width: 600px;
    height: 340px;
    margin: 30px auto 0;
  }
  .section08 {
    overflow: hidden;
    padding: 7.69vw 3.84vw;
  }
  .section08 .inner {
    width: 94%;
    margin: 0 auto;
  }
  .section08 .block__line {
    margin-top: 7.69vw;
  }
  .section09 {
    padding: 7.69vw 3.84vw 0;
    background: #F3F4F5;
  }
  .section09 p.text__lead {
    margin-top: 7.69vw;
    text-align: center;
    font-size: 4.61vw;
    font-weight: 700;
    line-height: 1.4;
  }
  .section09 .accordion {
    margin-top: 6.66vw;
    background: #fff;
    border: 1px solid #03385E;
    border-radius: 2.56vw;
  }
  .section09 .accordion .btn__ac {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    height: 15.38vw;
    border-radius: 2.56vw 2.56vw 0 0;
    cursor: pointer;
  }
  .section09 .accordion .btn__ac p.title {
    text-align: center;
    font-size: 4.1vw;
    font-weight: 700;
    line-height: 1;
  }
  .section09 .accordion .btn__ac .btn {
    position: absolute;
    top: calc(50% - 3.33vw);
    right: 4.1vw;
    width: 6.66vw;
    height: 6.66vw;
    background: #03385E;
    border-radius: 100vmax;
  }
  .section09 .accordion .btn__ac .btn::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 0.3vw);
    left: calc(50% - 1.5vw);
    width: 3vw;
    height: 0.6vw;
    background: #fff;
    border-radius: 100vmax;
  }
  .section09 .accordion .btn__ac .btn::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 0.3vw);
    left: calc(50% - 1.5vw);
    width: 3vw;
    height: 0.6vw;
    background: #fff;
    border-radius: 100vmax;
    transform: rotate(-90deg) translateY(0px);
    transition: all 0.2s;
  }
  .section09 .accordion .btn__ac .btn span {
    opacity: 0;
  }
  .section09 .accordion .btn__ac.active .btn::after {
    transform: rotate(0) translateY(0);
  }
  .section09 .accordion .contents__ac {
    border-top: 1px solid #03385E;
    border-radius: 0 0 2.56vw 2.56vw;
  }
  .section09 .accordion .contents__ac .inner {
    padding: 5.12vw 2.56vw 7.69vw;
  }
  .section09 .accordion h3.title {
    box-sizing: border-box;
    padding: 3.07vw 0 3.07vw 2.2vw;
    font-size: 3.58vw;
    font-weight: 700;
    line-height: 1;
    background: #F3F4F5;
    border-left: 3px solid #EEE427;
  }
  .section09 .accordion ul.list__info {
    margin-top: 2.56vw;
  }
  .section09 .accordion ul.list__info li {
    font-size: 3.07vw;
    font-weight: 400;
    line-height: 1.3;
  }
  .section09 .accordion p.tel {
    margin-top: 0.75em;
    font-size: 3.07vw;
    font-weight: 400;
    line-height: 1;
  }
  .section09 .accordion p.tel a {
    font-size: 3.58vw;
    font-weight: 500;
    color: #03385E;
    line-height: 1;
  }
  .section09 .accordion .block + .block {
    margin-top: 4.87vw;
  }
  .section10 {
    padding: 10.25vw 3.84vw 11vw;
    background: #F3F4F5;
  }
  .section10 dl.list__qa {
    margin-top: 6.41vw;
  }
  .section10 dl.list__qa dt {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    position: relative;
    height: 9.2vw;
    padding-left: 9.23vw;
    font-size: 3.58vw;
    font-weight: 700;
    line-height: 1.4;
  }
  .section10 dl.list__qa dt::before {
    content: "Q";
    display: block;
    position: absolute;
    top: -0.3em;
    left: 0;
    font-size: 9.23vw;
    font-family: "Zen Old Mincho", serif;
    font-weight: 700;
  }
  .section10 dl.list__qa dd {
    box-sizing: border-box;
    margin-top: 2.56vw;
    padding: 3.84vw;
    border-radius: 1.53vw;
    background: #FFF;
  }
  .section10 dl.list__qa dd p.text {
    font-size: 3.07vw;
    font-weight: 400;
    line-height: 1.3;
  }
  .section10 dl.list__qa + dl.list__qa {
    margin-top: 5.12vw;
  }
  /* =================================================== */
}