@charset "UTF-8";
@import url("https://cdn.jsdelivr.net/npm/yakuhanjp@3.4.1/dist/css/yakuhanjp.min.css");
@import url("https://fonts.googleapis.com/css2?family=BIZ+UDPMincho:wght@400;700&family=Jost:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Noto+Serif+JP:wght@200..900&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap");
*,
::before,
::after {
  box-sizing: border-box;
  border-width: 0;
  border-style: solid;
}

:where(html) {
  line-height: 1.15;
  -webkit-tap-highlight-color: transparent;
  -webkit-text-size-adjust: 100%;
}

:where(body) {
  margin: 0;
}

:where(main) {
  display: block;
}

:where(p, table, blockquote, address, pre, iframe, form, figure, dl) {
  margin: 0;
}

:where(h1, h2, h3, h4, h5, h6) {
  margin: 0;
  font-weight: inherit;
  font-size: inherit;
}

:where(ul, ol) {
  margin: 0;
  padding: 0;
  list-style: none;
}

:where(dt) {
  font-weight: bold;
}

:where(dd) {
  margin-left: 0;
}

:where(hr) {
  clear: both;
  overflow: visible;
  box-sizing: content-box;
  margin: 0;
  height: 0;
  border-top-width: 1px;
  color: inherit;
}

:where(pre) {
  font-size: inherit;
  font-family: monospace, monospace;
}

:where(address) {
  font-style: inherit;
}

:where(a) {
  background-color: transparent;
  color: inherit;
  text-decoration: none;
}

:where(abbr[title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

:where(b, strong) {
  font-weight: bolder;
}

:where(code, kbd, samp) {
  font-size: inherit;
  font-family: monospace, monospace;
}

:where(small) {
  font-size: 80%;
}

:where(sub, sup) {
  position: relative;
  vertical-align: baseline;
  font-size: 75%;
  line-height: 0;
}

:where(sub) {
  bottom: -0.25em;
}

:where(sup) {
  top: -0.5em;
}

:where(svg, img, embed, object, iframe) {
  vertical-align: bottom;
}

:where(button, input, optgroup, select, textarea) {
  -moz-appearance: none;
       appearance: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  vertical-align: middle;
  text-align: inherit;
  text-transform: inherit;
  font: inherit;
  -webkit-appearance: none;
}

:where(button, [type=button], [type=reset], [type=submit]) {
  cursor: pointer;
}

:where(button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled) {
  cursor: default;
}

:-moz-focusring {
  outline: auto;
}

:where(select:disabled) {
  opacity: inherit;
}

:where(option) {
  padding: 0;
}

:where(fieldset) {
  margin: 0;
  padding: 0;
  min-width: 0;
}

:where(legend) {
  padding: 0;
}

:where(progress) {
  vertical-align: baseline;
}

:where(textarea) {
  overflow: auto;
}

:where([type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button) {
  height: auto;
}

:where([type=search]) {
  outline-offset: -2px;
}

:where([type=search]::-webkit-search-decoration) {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

:where([type=number]) {
  -moz-appearance: textfield;
}

:where(label[for]) {
  cursor: pointer;
}

:where(details) {
  display: block;
}

:where(summary) {
  display: list-item;
}

:where([contenteditable]:focus) {
  outline: auto;
}

:where(table) {
  border-collapse: collapse;
  border-color: inherit;
}

:where(caption) {
  text-align: left;
}

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

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

/*
$pink: #FFE8ED;
$pink2: #F3B2C2;
*/
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translateX(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeInDown {
  opacity: 0;
}
.fadeInDown.animated {
  animation: fadeInDown;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
}

.fadeIn {
  opacity: 0;
}
.fadeIn.animated {
  animation: fadeIn;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
}

.fadeInUp {
  opacity: 0;
}
.fadeInUp.animated {
  animation: fadeInUp;
  animation-duration: 2s;
  animation-fill-mode: forwards;
}

.fadeInRight {
  opacity: 0;
}
.fadeInRight.animated {
  animation: fadeInRight;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
}

.delay-1 {
  animation-delay: 0.1s !important;
}
.delay-2 {
  animation-delay: 0.2s !important;
}
.delay-3 {
  animation-delay: 0.3s !important;
}
.delay-4 {
  animation-delay: 0.4s !important;
}
.delay-5 {
  animation-delay: 0.5s !important;
}
.delay-6 {
  animation-delay: 0.6s !important;
}
.delay-7 {
  animation-delay: 0.7s !important;
}
.delay-8 {
  animation-delay: 0.8s !important;
}
.delay-9 {
  animation-delay: 0.9s !important;
}
.delay-10 {
  animation-delay: 1s !important;
}

html {
  font-size: 62.5%;
  scroll-behavior: auto !important;
}

body {
  color: #003366;
  overflow-wrap: break-word;
  word-wrap: break-word;
  font-size: 1.6rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  line-height: 2;
  line-break: strict;
  background-color: #F9F7F2;
}

h1, h2, h3, h4, h5, h6 {
  line-height: 1.4;
}

:where(a) {
  color: #003366;
}

img {
  max-width: 100%;
}

.wrap {
  margin: 0 auto;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .wrap {
    padding: 0 20px;
    max-width: 1000px;
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .wrap {
    padding: 0 20px;
  }
}

.conteiner {
  margin: 0 auto;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .conteiner {
    max-width: 700px;
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .conteiner {
    padding: 0 10px;
  }
}

@media screen and (min-width: 769px) {
  .sp {
    display: none !important;
  }
}
@media screen and (min-width: 1001px) {
  .tab {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .pc {
    display: none !important;
  }
}
a {
  display: block;
  width: 100%;
  height: 100%;
  transition: opacity 0.3s ease-in-out;
}
a:hover {
  opacity: 0.7;
}

.tj {
  text-align: justify !important;
  text-justify: inter-ideograph !important;
  -moz-text-align-last: left !important;
       text-align-last: left !important;
}

img {
  border-radius: 6px;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: auto;
}

section {
  padding: 75px 0;
}
@media screen and (max-width: 768px) {
  section {
    padding: 30px 0;
  }
}

article {
  padding: 150px 0 0;
}
@media screen and (max-width: 768px) {
  article {
    padding: 60px 0 0;
  }
}

.sec-title {
  font-size: 36px;
  font-weight: 700;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.1em;
  padding-bottom: 50px;
}
.sec-title span {
  font-size: 30px;
  letter-spacing: -0.05em;
}
@media screen and (max-width: 768px) {
  .sec-title span {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .sec-title {
    font-size: 2rem;
    padding-bottom: 32px;
  }
}

.sec-title-02 {
  font-size: 3rem;
  font-weight: 700;
  padding-bottom: 80px;
}
@media screen and (max-width: 768px) {
  .sec-title-02 {
    font-size: 1.8rem;
    padding-bottom: 30px;
  }
}

.sec-title-en {
  font-size: 2rem;
  font-family: "Lato", sans-serif;
  font-weight: 900;
  letter-spacing: 0.1em;
  padding-bottom: 30px;
  color: #FFCEE1;
  -webkit-text-stroke: 0.5px #003366; /* 1pxのネイビーのフチ取り */
}
@media screen and (max-width: 768px) {
  .sec-title-en {
    font-size: 1.4rem;
    padding-bottom: 20px;
  }
}

.blue {
  color: #6ED9FE;
}

.yellow {
  color: #FDF585;
}

.red {
  color: #F55D45;
}

.sec-answer-box {
  margin: 0 auto;
  background-color: #D6F1F1;
  text-align: center;
  width: 100%;
  padding: 40px 89px;
  border-radius: 6px;
}
@media screen and (max-width: 1000px) {
  .sec-answer-box {
    width: calc(100% - 20px);
    padding: 20px;
  }
}
@media screen and (max-width: 768px) {
  .sec-answer-box {
    width: calc(100% - 20px);
    padding: 20px;
  }
}

.sec-answer-icon {
  width: 66px;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .sec-answer-icon {
    width: 40px;
    margin-bottom: 10px;
  }
}

.sec-answer-text {
  font-size: 1.8rem;
  line-height: 1.4;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .sec-answer-text {
    font-size: 1.4rem;
    text-align: left;
  }
}

.art-title {
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: -0.05em;
  position: relative;
  margin-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .art-title {
    font-size: 1.6rem;
    margin-bottom: 50px;
  }
}
.art-title:after {
  content: "";
  display: inline-block;
  background-image: url(../img/article_line.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 241px;
  height: 17px;
  position: absolute;
  bottom: -30px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .art-title:after {
    width: 150px;
  }
}

.art-title02 {
  font-size: 2.2rem;
  font-weight: 500;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .art-title02 {
    font-size: 1.6rem;
  }
}

.art-title03 {
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: -0.05em;
  position: relative;
  margin-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .art-title03 {
    font-size: 1.6rem;
    margin-bottom: 50px;
  }
}
.art-title03:after {
  content: "";
  display: inline-block;
  background-image: url(../img/price_arttitle_line.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 87px;
  height: 3px;
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
}

.art-text {
  font-size: 1.6rem;
  text-align: left;
  line-height: 1.6;
  margin-bottom: 50px;
  font-weight: 400;
}
.art-text span {
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .art-text {
    font-size: 1.4rem;
    margin-bottom: 30px;
  }
  .art-text span {
    font-size: 1.2rem;
  }
}

.art-img {
  width: 100%;
}

.sec05-article-qa-li {
  text-align: left;
}

/* リンクボタン */
.btn-link {
  background-color: #FFCEE1;
  border-radius: 50px;
  border: 1px dotted #003366;
  display: inline-block;
  padding: 20px 50px 20px 50px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .btn-link {
    padding: 10px 40px 10px 30px !important;
  }
}
.btn-link a {
  font-size: 1.4rem;
  line-height: 1.2;
  text-decoration: none !important;
}
.btn-link:after {
  content: "";
  display: inline-block;
  background-image: url(../img/btn_arrow.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 12px;
  height: 7px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 26px;
}
@media screen and (max-width: 768px) {
  .btn-link:after {
    right: 21px;
  }
}
.btn-link span {
  font-size: 1.2rem;
}

.btn-link02-flex {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.btn-link02 {
  line-height: 1;
  background-color: #f6efe7;
  display: inline-block !important;
  border-radius: 3px;
  padding: 10px 40px 10px 30px;
  position: relative;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .btn-link02 {
    padding: 10px 30px 10px 10px;
  }
}
.btn-link02 a {
  font-size: 1.4rem;
}
.btn-link02:after {
  content: "";
  display: inline-block;
  background-image: url(../img/btn_arrow.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 12px;
  height: 7px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 18px;
}
@media screen and (max-width: 768px) {
  .btn-link02:after {
    right: 14px;
  }
}

.page-title {
  font-size: 32px;
  font-weight: 900;
}

.page-title02 {
  font-size: 32px;
  font-weight: 700;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 768px) {
  .page-title02 {
    font-size: 1.8rem;
    line-height: 28px;
  }
}

/* よくあるご質問　*/
.sec05-article-qa {
  margin-bottom: 50px;
}

.sec05-article-qa-li {
  background-color: #fff;
  cursor: pointer;
  padding: 10px 10px 10px;
  border-radius: 6px;
  margin-bottom: 20px;
}
.sec05-article-qa-li span {
  color: #6ED9FE;
  font-weight: 900;
  font-family: "Lato", sans-serif;
  -webkit-text-stroke: 0.5px #003366; /* 1pxのネイビーのフチ取り */
  padding-right: 10px;
}
.sec05-article-qa-li .q-item {
  line-height: 1.4;
  padding-bottom: 5px;
  padding-left: 1em; /* 全体を1文字分（またはアイコン分）右に寄せる */
  text-indent: -1em; /* 1行目だけを左に1文字分戻す */
  position: relative;
}
@media screen and (max-width: 768px) {
  .sec05-article-qa-li .q-item {
    font-size: 1.4rem;
  }
}
.sec05-article-qa-li .a-item {
  /* アニメーションの設定 */
  max-height: 0; /* 最初は高さゼロ */
  overflow: hidden; /* はみ出た分を隠す */
  opacity: 0; /* 透明にする */
  transition: all 0.3s ease; /* 0.3秒で変化させる */
  padding: 0 20px; /* 閉じている時は上下の余白を0にする */
  background-color: #F9F7F2;
  border-radius: 6px;
  background-color: #F9F7F2;
  border-radius: 6px;
  padding-left: 2em; /* 全体を1文字分（またはアイコン分）右に寄せる */
  text-indent: -1em; /* 1行目だけを左に1文字分戻す */
  line-height: 1.4;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sec05-article-qa-li .a-item {
    font-size: 1.4rem;
  }
}
.sec05-article-qa-li .a-item span {
  color: #FFCEE1;
  font-weight: 900;
  font-family: "Lato", sans-serif;
  -webkit-text-stroke: 0.5px #003366; /* 1pxのネイビーのフチ取り */
  padding-right: 10px;
}
.sec05-article-qa-li .a-item a {
  display: inline;
  text-decoration: underline;
}
.sec05-article-qa-li.is-open .a-item {
  max-height: 500px; /* 十分な高さを指定（中身に合わせて適宜） */
  opacity: 1; /* 見えるようにする */
  padding: 20px; /* 余白を戻す */
  margin-top: 10px; /* 少し隙間を作る */
}
.sec05-article-qa-li.is-open .q-item::after {
  content: "×";
  position: absolute;
  right: 0;
}
@media screen and (max-width: 768px) {
  .sec05-article-qa-li.is-open .q-item::after {
    display: none;
  }
}

::-moz-placeholder {
  color: #999;
}

::placeholder {
  color: #999;
}

.input-error-txt {
  display: flex;
  gap: 6px;
  margin-top: 8px;
  margin-bottom: 8px;
  color: #F55D45;
  font-size: 1.4rem;
}
.input-error-txt::before {
  content: "";
  display: block;
  margin-top: 0.5em;
  width: 16px;
  height: 16px;
  background-image: url(../img/common/icon-important.svg);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
.input-txt {
  position: relative;
}
.input-txt.error input {
  border-color: #F55D45;
  background-color: rgba(214, 8, 46, 0.05);
}
.input-txt input {
  padding: 0 12px;
  width: 100%;
  height: 48px;
  border: 1px solid #b0b0b0;
  border-radius: 6px;
  background-color: #fff;
  font-size: 1.6rem;
}
.input-txt input:disabled {
  background-color: #aaa;
  pointer-events: none !important;
}
.input-txt input:disabled + .flatpickr-input {
  background-color: #aaa;
  pointer-events: none !important;
}
.input-txt input[size] {
  max-width: 100%;
  width: auto;
}
.input-radio {
  position: relative;
}
.input-radio + .input-radio {
  margin-top: 12px;
}
.input-radio input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 12px;
  margin: auto;
  width: 16px;
  height: 16px;
  border: 1px solid #b0b0b0;
  border-radius: 50%;
  background: #fff;
  transition: 0.2s;
  pointer-events: none;
}
.input-radio input:checked {
  border-color: #4EAED7;
  background-color: #fff;
  box-shadow: inset 0 0 0 4px #4EAED7;
}
.input-radio input:disabled {
  background-color: #aaa;
}
.input-radio label {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 12px 0 36px;
  min-height: 48px;
  width: -moz-fit-content;
  width: fit-content;
  border: 1px solid #b0b0b0;
  border-radius: 6px;
  background-color: #fff;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.5;
  cursor: pointer;
}
:checked + .input-radio label {
  border-color: #4EAED7;
}
:disabled + .input-radio label {
  background-color: #aaa;
  color: #fff;
}
.input-checkbox {
  position: relative;
}
.input-checkbox + .input-checkbox {
  margin-top: 12px;
}
.input-checkbox.error input {
  border-color: #F55D45;
  background-color: #F55D45;
}
.input-checkbox input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 12px;
  margin: auto;
  width: 16px;
  height: 16px;
  border: 1px solid #b0b0b0;
  border-radius: 2px;
  background: #fff;
  background-image: url(../img/common/icon-checked.svg);
  background-position: center top 4px;
  background-size: 10px auto;
  background-repeat: no-repeat;
  cursor: pointer;
  transition: 0.2s;
}
.input-checkbox input:checked {
  border-color: #4EAED7;
  background-color: #4EAED7;
}
.input-checkbox input:disabled {
  background-color: #aaa;
}
.input-checkbox label {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 12px 0 36px;
  min-height: 48px;
  border: 1px solid #b0b0b0;
  border-radius: 6px;
  background-color: #fff;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.5;
  cursor: pointer;
}
:checked + .input-checkbox label {
  border-color: #4EAED7;
}
:disabled + .input-checkbox label {
  background-color: #aaa;
  color: #fff;
}
.error > .input-checkbox label {
  color: #F55D45;
}
.input-select.error select {
  border-color: #F55D45;
  background-color: rgba(214, 8, 46, 0.05);
}
.input-select select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: relative;
  padding: 0 32px 0 12px;
  width: 100%;
  width: 100%;
  height: 48px;
  border: 1px solid #b0b0b0;
  border-radius: 6px;
  background-color: #fff;
  background-image: url(../img/common/arrow-select.svg);
  background-position: right 12px center;
  background-size: 10px auto;
  background-repeat: no-repeat;
  font-size: 1.6rem;
}
.input-select select:disabled {
  background-color: #aaa;
}
.input-textarea.error textarea {
  border-color: #F55D45;
  background-color: rgba(214, 8, 46, 0.05);
}
.input-textarea textarea {
  display: block;
  padding: 16px 12px;
  width: 100%;
  border: 1px solid #b0b0b0;
  border-radius: 6px;
  background-color: #fff;
  font-size: 1.6rem;
  line-height: 1.5;
  resize: vertical;
}
.input-textarea textarea:disabled {
  background-color: #aaa;
}
.input-toggle {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
}
.input-toggle input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: relative;
  display: flex;
  margin: 0;
  width: 52px;
  height: 24px;
  border: 1px solid #1a1a1a;
  border-radius: 100px;
  background-color: #fff;
  opacity: 0.2;
  cursor: pointer;
  transition: 0.2s;
}
.input-toggle input::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 2px;
  display: block;
  margin: auto;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #1a1a1a;
  transition: 0.2s;
}
.input-toggle input:checked {
  border-color: #4EAED7;
  background-color: #4EAED7;
  opacity: 1;
}
.input-toggle input:checked::after {
  left: 28px;
  background-color: #fff;
}
.input-toggle label {
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1;
}

.more-btn, .btn-border-red-tiny, .btn-border-red-small, .btn-border-red-normal, .btn-border-secondary-small, .btn-border-secondary-normal, .btn-border-primary-small, .btn-border-primary-normal, .btn-border-dark-tiny, .btn-border-dark-small, .btn-border-dark-normal, .btn-white-small, .btn-white-normal, .btn-dark-tiny, .btn-dark-small, .btn-dark-normal, .btn-secondary-normal, .btn-primary-normal {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  border-radius: 100px;
  background-repeat: no-repeat;
  text-decoration: none;
  font-weight: 700;
  line-height: 1.5;
  cursor: pointer;
  transition: 0.2s;
}
.more-btn:hover, .btn-border-red-tiny:hover, .btn-border-red-small:hover, .btn-border-red-normal:hover, .btn-border-secondary-small:hover, .btn-border-secondary-normal:hover, .btn-border-primary-small:hover, .btn-border-primary-normal:hover, .btn-border-dark-tiny:hover, .btn-border-dark-small:hover, .btn-border-dark-normal:hover, .btn-white-small:hover, .btn-white-normal:hover, .btn-dark-tiny:hover, .btn-dark-small:hover, .btn-dark-normal:hover, .btn-secondary-normal:hover, .btn-primary-normal:hover {
  opacity: 0.7;
}

.more-btn, .btn-border-red-normal, .btn-border-secondary-normal, .btn-border-primary-normal, .btn-border-dark-normal, .btn-white-normal, .btn-dark-normal, .btn-secondary-normal, .btn-primary-normal {
  height: 64px;
}
@media screen and (min-width: 768px) {
  .more-btn, .btn-border-red-normal, .btn-border-secondary-normal, .btn-border-primary-normal, .btn-border-dark-normal, .btn-white-normal, .btn-dark-normal, .btn-secondary-normal, .btn-primary-normal {
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .more-btn, .btn-border-red-normal, .btn-border-secondary-normal, .btn-border-primary-normal, .btn-border-dark-normal, .btn-white-normal, .btn-dark-normal, .btn-secondary-normal, .btn-primary-normal {
    font-size: 1.6rem;
  }
}
.more-btn small, .btn-border-red-normal small, .btn-border-secondary-normal small, .btn-border-primary-normal small, .btn-border-dark-normal small, .btn-white-normal small, .btn-dark-normal small, .btn-secondary-normal small, .btn-primary-normal small {
  font-size: 1.2rem;
}

.btn-border-red-small, .btn-border-secondary-small, .btn-border-primary-small, .btn-border-dark-small, .btn-white-small, .btn-dark-small {
  height: 46px;
}
@media screen and (min-width: 768px) {
  .btn-border-red-small, .btn-border-secondary-small, .btn-border-primary-small, .btn-border-dark-small, .btn-white-small, .btn-dark-small {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .btn-border-red-small, .btn-border-secondary-small, .btn-border-primary-small, .btn-border-dark-small, .btn-white-small, .btn-dark-small {
    font-size: 1.4rem;
  }
}

.btn-border-red-tiny, .btn-border-dark-tiny, .btn-dark-tiny {
  height: 38px;
}
@media screen and (min-width: 768px) {
  .btn-border-red-tiny, .btn-border-dark-tiny, .btn-dark-tiny {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .btn-border-red-tiny, .btn-border-dark-tiny, .btn-dark-tiny {
    font-size: 1.6rem;
  }
}

.btn-primary-normal {
  background-color: #4EAED7;
  color: #fff;
}
.btn-primary-normal.arrow {
  background-image: url(../img/common/arrow-right-white.svg);
  background-position: right 16px center;
  background-size: 14px auto;
}
.btn-primary-normal.back-arrow {
  background-image: url(../img/common/arrow-left-white.svg);
  background-position: left 16px center;
  background-size: 14px auto;
}
.btn-primary-normal:hover {
  text-decoration: none;
}
.btn-secondary-normal {
  background-color: #E5F9FF;
  color: #fff;
}
.btn-secondary-normal.arrow {
  background-image: url(../img/common/arrow-right-white.svg);
  background-position: right 16px center;
  background-size: 14px auto;
}
.btn-secondary-normal.back-arrow {
  background-image: url(../img/common/arrow-left-white.svg);
  background-position: left 16px center;
  background-size: 14px auto;
}
.btn-secondary-normal:hover {
  text-decoration: none;
}
.btn-dark-normal {
  background-color: #1a1a1a;
  color: #fff;
}
.btn-dark-normal.f16 {
  font-size: 1.6rem;
}
@media screen and (min-width: 768px) {
  .btn-dark-normal.wide {
    max-width: 380px;
  }
}
.btn-dark-normal.arrow {
  background-image: url(../img/common/arrow-right-white.svg);
  background-position: right 16px center;
  background-size: 14px auto;
}
.btn-dark-normal.back-arrow {
  background-image: url(../img/common/arrow-left-white.svg);
  background-position: left 16px center;
  background-size: 14px auto;
}
.btn-dark-normal[target=_blank] {
  background-image: url(../img/common/icon-blank-w.svg);
  background-position: right 20px center;
  background-size: 12px auto;
}
.btn-dark-normal:hover {
  text-decoration: none;
}
.btn-dark-small {
  background-color: #1a1a1a;
  color: #fff;
}
.btn-dark-small:disabled {
  background-color: #999;
  pointer-events: none;
}
.btn-dark-small:hover {
  text-decoration: none;
}
.btn-dark-tiny {
  background-color: #1a1a1a;
  color: #fff;
}
.btn-dark-tiny:disabled {
  background-color: #999;
  pointer-events: none;
}
.btn-dark-tiny:hover {
  text-decoration: none;
}
.btn-white-normal {
  background-color: #fff;
  color: #1a1a1a;
}
.btn-white-normal.arrow {
  background-image: url(../img/common/arrow-right-dark.svg);
  background-position: right 16px center;
  background-size: 14px auto;
}
.btn-white-normal.back-arrow {
  background-image: url(../img/common/arrow-left-dark.svg);
  background-position: left 16px center;
  background-size: 14px auto;
}
.btn-white-normal:hover {
  text-decoration: none;
}
.btn-white-small {
  background-color: #fff;
  color: #1a1a1a;
}
.btn-white-small:hover {
  text-decoration: none;
}
.btn-border-dark-normal {
  border: 1px solid #1a1a1a;
  background-color: #fff;
  color: #1a1a1a;
}
.btn-border-dark-normal.arrow {
  background-image: url(../img/common/arrow-right-dark.svg);
  background-position: right 16px center;
  background-size: 14px auto;
}
.btn-border-dark-normal.back-arrow {
  background-image: url(../img/common/arrow-left-dark.svg);
  background-position: left 16px center;
  background-size: 14px auto;
}
.btn-border-dark-normal:hover {
  text-decoration: none;
}
.btn-border-dark-small {
  border: 1px solid #1a1a1a;
  background-color: #fff;
  color: #1a1a1a;
}
.btn-border-dark-small.add {
  background-image: url(../img/common/icon-plus-dark.svg);
  background-position: right 16px center;
  background-size: 11px auto;
}
.btn-border-dark-small:hover {
  text-decoration: none;
}
.btn-border-dark-tiny {
  border: 1px solid #1a1a1a;
  background-color: #fff;
  color: #1a1a1a;
}
.btn-border-dark-tiny:hover {
  text-decoration: none;
}
.btn-border-primary-normal {
  border: 1px solid #4EAED7;
  background-color: #fff;
  color: #4EAED7;
}
.btn-border-primary-normal.arrow {
  background-image: url(../img/common/arrow-right-primary.svg);
  background-position: right 16px center;
  background-size: 14px auto;
}
.btn-border-primary-normal.back-arrow {
  background-image: url(../img/common/arrow-left-primary.svg);
  background-position: left 16px center;
  background-size: 14px auto;
}
.btn-border-primary-normal:hover {
  text-decoration: none;
}
.btn-border-primary-small {
  border: 1px solid #4EAED7;
  background-color: #fff;
  color: #4EAED7;
}
.btn-border-primary-small.add {
  background-image: url(../img/common/icon-plus-primary.svg);
  background-position: right 16px center;
  background-size: 11px auto;
}
.btn-border-primary-small.arrow {
  background-image: url(../img/common/arrow-right-primary.svg);
  background-position: right 16px center;
  background-size: 14px auto;
}
.btn-border-primary-small.back-arrow {
  background-image: url(../img/common/arrow-left-primary.svg);
  background-position: left 16px center;
  background-size: 14px auto;
}
.btn-border-primary-small:hover {
  text-decoration: none;
}
.btn-border-secondary-normal {
  border: 1px solid #E5F9FF;
  background-color: #fff;
  color: #E5F9FF;
}
.btn-border-secondary-normal.arrow {
  background-image: url(../img/common/arrow-right-secondary.svg);
  background-position: right 16px center;
  background-size: 14px auto;
}
.btn-border-secondary-normal.back-arrow {
  background-image: url(../img/common/arrow-left-secondary.svg);
  background-position: left 16px center;
  background-size: 14px auto;
}
.btn-border-secondary-normal:hover {
  text-decoration: none;
}
.btn-border-secondary-small {
  border: 1px solid #E5F9FF;
  background-color: #fff;
  color: #E5F9FF;
}
.btn-border-secondary-small.add {
  background-image: url(../img/common/icon-plus-secondary.svg);
  background-position: right 16px center;
  background-size: 11px auto;
}
.btn-border-secondary-small.arrow {
  background-image: url(../img/common/arrow-right-secondary.svg);
  background-position: right 16px center;
  background-size: 14px auto;
}
.btn-border-secondary-small.back-arrow {
  background-image: url(../img/common/arrow-left-secondary.svg);
  background-position: left 16px center;
  background-size: 14px auto;
}
.btn-border-secondary-small:hover {
  text-decoration: none;
}
.btn-border-red-normal {
  border: 1px solid #F55D45;
  background-color: #fff;
  color: #4EAED7;
}
.btn-border-red-normal.arrow {
  background-image: url(../img/common/arrow-right-red.svg);
  background-position: right 16px center;
  background-size: 14px auto;
}
.btn-border-red-normal:hover {
  text-decoration: none;
}
.btn-border-red-small {
  border: 1px solid #4EAED7;
  background-color: #fff;
  color: #4EAED7;
}
.btn-border-red-small.arrow {
  background-image: url(../img/common/arrow-right-red.svg);
  background-position: right 16px center;
  background-size: 14px auto;
}
.btn-border-red-small:hover {
  text-decoration: none;
}
.btn-border-red-tiny {
  border: 1px solid #F55D45;
  background-color: #fff;
  color: #F55D45;
}
.btn-border-red-tiny.arrow2 {
  background-image: url(../img/common/arrow2-right-red.svg);
  background-position: right 10px center;
  background-size: 6px auto;
}
.btn-border-red-tiny.moveOut {
  position: relative;
}
.btn-border-red-tiny.moveOut::before {
  content: "";
  position: absolute;
  top: -4px;
  bottom: 0;
  left: 8px;
  display: block;
  margin: auto;
  height: 20px;
  aspect-ratio: 1;
  background-image: url(../img/common/icon-move-out.svg);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
.btn-border-red-tiny:disabled {
  background-color: #999;
  pointer-events: none;
}
.btn-border-red-tiny:hover {
  text-decoration: none;
}

.more-btn {
  background-color: #1a1a1a;
  color: #fff;
  width: 272px;
  font-size: 1.6rem;
  margin: 72px auto 0;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  height: 40px;
  border-radius: 0 90px 90px 90px;
}
@media screen and (max-width: 768px) {
  .more-btn {
    margin: 32px auto 0;
  }
}
.more-btn a {
  color: #fff;
  line-height: 40px;
}
.more-btn:hover {
  text-decoration: none;
}

.Header {
  padding: 30px 0;
  position: fixed;
  top: 0; /* 1. 位置を固定（必須） */
  left: 0; /* 1. 位置を固定（必須） */
  width: 250px;
  height: 100vh;
  z-index: 100;
  background-color: #F9F7F2;
  transition: top 0.3s ease;
  will-change: position, bottom, left;
  margin-left: 0;
  box-sizing: border-box;
  transition: top 0.3s ease;
  /* --- サイドバー内だけをスクロールさせる設定 --- */
  overflow-y: auto; /* 2. 中身がはみ出たらスクロール */
  overscroll-behavior: contain; /* 3. 背景（body）の連動スクロールを防止 */
  /* --- スクロールバーのカスタマイズ --- */
}
.Header::-webkit-scrollbar {
  width: 7px; /* バーの太さ */
  display: block; /* 常に表示領域を確保 */
}
.Header::-webkit-scrollbar-track {
  background-color: transparent; /* 背景に馴染ませるなら透明、または $bage */
}
.Header::-webkit-scrollbar-thumb {
  background-color: #7F9BB7; /* バーの色 */
  border-radius: 10px; /* 角を丸くする */
  border: 2px solid #F9F7F2;
}
.Header::-webkit-scrollbar-thumb:hover {
  background-color: rgb(94.36, 129.5, 164.64);
}
@media screen and (max-width: 768px) {
  .Header {
    width: 100%;
    height: 75px;
    padding: 9px 16px;
    position: fixed;
    top: 0;
    padding: 0;
    overflow-y: visible; /* スマホ時はヘッダー自体はスクロールさせない */
  }
}
.Header-common {
  padding: 10px 20px;
  min-height: 60px;
}
@media screen and (min-width: 769px) {
  .Header-common {
    margin-bottom: 30px;
  }
  .Header-common a {
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  .Header-common {
    z-index: 999;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 999;
  }
}
.Header-common-logo {
  text-align: center;
}
.Header-common-logo-text {
  display: block;
  text-align: center;
  font-size: 1.2rem;
  line-height: 1.4;
  letter-spacing: -0.1em;
  margin-bottom: 5px;
  font-family: "YakuHanJP", "Zen Kaku Gothic New", sans-serif;
}
@media screen and (max-width: 768px) {
  .Header-common-logo-text {
    white-space: nowrap;
    font-size: 1rem;
  }
}
.Header-common img {
  display: block;
  width: 145px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .Header-common img {
    width: 100px;
  }
}

#nav-btn {
  background: rgba(239, 225, 209, 0.5);
  border-radius: 50%;
  width: 38px;
  height: 38px;
  z-index: 101;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
}
#nav-btn span {
  background: #003366;
  width: 20px;
  height: 1.5px;
  border-radius: 10px;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  transition: 0.4s cubic-bezier(0.68, -0.6, 0.27, 1.55);
}
#nav-btn span:nth-child(1) {
  top: calc(50% - 7px);
}
#nav-btn span:nth-child(2) {
  top: 50%;
  transform: translateY(-50%);
}
#nav-btn span:nth-child(3) {
  bottom: calc(50% - 7px);
}
#nav-btn.is-active span:nth-child(2) {
  opacity: 0;
  width: 0;
}
#nav-btn.is-active span:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
  background: #FFCEE1;
}
#nav-btn.is-active span:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}

#nav-btn.is-active .Header-nav {
  display: block !important;
}

.Header-nav-btn-open.is-active .Header-nav {
  display: block !important;
}

@media screen and (max-width: 768px) {
  body.is-fixed {
    overflow: hidden;
    position: fixed;
    width: 100%;
    height: 100%;
  }
}
.Header-nav {
  display: block;
  background: #D6F1F1;
  width: 100%;
  border-radius: 0 30px 0px 0;
}
@media screen and (min-width: 769px) {
  .Header-nav {
    padding-top: 36px;
    padding-bottom: 36px;
    position: relative;
  }
}
@media screen and (max-width: 768px) {
  .Header-nav {
    border-radius: 0 0px 0px 0;
    background: #D6F1F1;
    height: 100vh;
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    padding-top: 80px;
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .Header-nav.is-active {
    display: block !important;
  }
}
.Header-nav-list {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .Header-nav-list {
    gap: 30px;
  }
}
.Header-nav-list-item-text {
  font-size: 1.4rem;
  font-weight: 500;
  color: #003366;
  letter-spacing: -0.05em;
  line-height: 1.4;
  text-align: center;
  padding-top: 10px;
}
.Header-nav-list-item-logo {
  position: relative;
  padding-left: 40px;
}
.Header-nav-list-item-logo::before {
  content: "";
  display: block;
  width: 46px;
  height: 12px;
  background-image: url(../img/nav_kanatoell.png);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 14px;
  left: -6px;
}
.Header-nav-list-line {
  width: 180px;
}
@media screen and (max-width: 768px) {
  .Header-nav-list-line {
    display: none;
  }
}
.Header-nav-list-campaign {
  position: relative;
}
.Header-nav-list-campaign::after {
  content: "";
  display: block;
  width: 87px;
  height: 3px;
  background-image: url(../img/nav_line02.png);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  bottom: -4px;
  left: 50%;
  transform: translateX(-50%);
}
.Header-nav-list-item-chat {
  font-size: 1.4rem;
  line-height: 1.4;
  text-align: center;
  position: relative;
  display: inline-block !important;
}
.Header-nav-list-item-chat::after {
  content: "";
  display: block;
  background-image: url(../img/fukidashi.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 46px;
  height: 22px;
  position: absolute;
  top: 23px;
  left: -17px;
  transform: rotate(15deg);
}
@media screen and (max-width: 768px) {
  .Header-nav-list-insta {
    display: block;
  }
}
.Header-nav-list .category-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 5px;
}
@media screen and (max-width: 768px) {
  .Header-nav-list .category-list {
    display: none;
  }
}
.Header-nav-list .category-list a {
  color: #003366;
  padding: 0px 5px;
  font-size: 1.2rem;
  background: #fff;
  border-radius: 3px;
  line-height: 21px;
  text-align: center;
}
.Header-nav-list-list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}
.Header-nav-list-list-text {
  font-size: 1.6rem;
}

.nav-cta-btn {
  text-align: center;
  background-image: url(../img/nav_cta.png);
  border-radius: 100px;
  background-size: contain;
  background-repeat: no-repeat;
  width: 189px;
  height: 58px;
  line-height: 1.2;
  font-size: 1.8rem;
  padding-top: 6px;
  font-weight: 500;
  display: inline-block;
  transition: all 0.3s ease;
  box-shadow: 0 5px 0 #88c6bb;
}
.nav-cta-btn:hover {
  transform: translateY(3px);
  box-shadow: 0 3px 0 #88c6bb;
}
.nav-cta-btn:active {
  transform: translateY(6px);
  box-shadow: none;
}
.nav-cta-btn span {
  font-size: 1.4rem;
  letter-spacing: -0.1em;
}

.nav-followme {
  width: 90px;
  display: block;
  text-align: center;
  margin: 0 auto 10px;
}

.nav-insta {
  width: 44px;
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .nav-insta {
    width: 32px;
  }
}

/* スクロールバー　
header::-webkit-scrollbar {
  height: 1px;
}
header::-webkit-scrollbar-track {
  background: #4eaed7;
}
header::-webkit-scrollbar-thumb {
  background: #4eaed7;
}
header::-webkit-scrollbar-button {
  display: none;
}
header::-webkit-scrollbar-track-piece:start,
header::-webkit-scrollbar-track-piece:end,
header::-webkit-scrollbar-track-piece:start,
header::-webkit-scrollbar-track-piece:end {
  background-color: transparent;
}
*/
/* チャットbot */
#ricoh-smartchat-launcher-msg {
  display: none;
}

#ricoh-smartchat-launcher {
  display: none !important;
}

#ricoh-smartchat-launcher-close-button {
  display: none !important;
}

.page-top {
  width: 80px;
  position: fixed;
  bottom: 50px;
  right: 20px;
  display: none;
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 100 !important;
}
@media screen and (max-width: 768px) {
  .page-top {
    width: 60px;
    bottom: 10px;
    right: 10px;
  }
}
.page-top a {
  cursor: pointer;
  transition: opacity 0.3s;
}
.page-top a:hover {
  opacity: 0.8;
}
.page-top.is-visible {
  opacity: 1;
}

.footer {
  background: #fff;
  color: #003366;
  padding: 50px 0 0px;
  width: calc(100% - 250px);
  margin-left: 250px;
}
@media screen and (max-width: 768px) {
  .footer {
    padding: 32px 0 0;
    width: 100%;
    margin-left: 0px;
  }
}
@media screen and (max-width: 768px) {
  .footer .wrap {
    padding: 0 50px;
  }
}
.footer-contents {
  display: flex;
  justify-content: center;
  margin-bottom: 50px;
  align-items: stretch;
  height: 180px;
}
@media screen and (max-width: 768px) {
  .footer-contents {
    flex-direction: column;
    margin-bottom: 30px;
  }
  .footer-contents .footer-contents-article-list:nth-of-type(1) {
    order: 1;
  }
  .footer-contents .footer-contents-article-list:nth-of-type(2) {
    order: 2;
  }
  .footer-contents .footer-nav-list {
    order: 3;
  }
  .footer-contents {
    height: -moz-min-content;
    height: min-content;
  }
}
.footer-contents a {
  color: #003366;
}
.footer-contents-logo {
  width: 33.3333333333%;
  margin: 0 auto 50px;
}
@media screen and (max-width: 768px) {
  .footer-contents-logo {
    width: 100%;
    margin: 0 auto 30px;
  }
}
.footer-contents-logo img {
  width: 144px;
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .footer-contents-logo img {
    width: 100px;
  }
}
.footer-contents-logo-text {
  display: block;
  text-align: center;
  font-size: 1.2rem;
  line-height: 1.4;
  letter-spacing: -0.1em;
  margin-bottom: 5px;
  font-family: "YakuHanJP", "Zen Kaku Gothic New", sans-serif;
}
@media screen and (max-width: 768px) {
  .footer-contents-logo-text {
    font-size: 1rem;
  }
}
.footer-contents-article-list {
  text-align: left;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  width: 33.3333333333%;
}
@media screen and (max-width: 768px) {
  .footer-contents-article-list {
    order: 1;
    width: 100%;
    gap: 6px;
    margin: 8px 0 6px;
    padding-left: 0;
  }
}
.footer-contents-article-list-item {
  width: 100%;
  display: block;
  font-size: 1.4rem;
  letter-spacing: -0.05em;
}
.footer-contents-article-list-item a {
  font-size: 1.4rem;
  letter-spacing: -0.05em;
}
.footer-contents-article-list-tagtitle {
  width: 100%;
  display: block;
  font-size: 1.4rem;
  letter-spacing: -0.05em;
}
.footer-contents-article-list-tag {
  width: 100%;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: -0.05em;
  margin-top: -10px;
  margin-left: 20px;
}
@media screen and (max-width: 768px) {
  .footer-contents-article-list-tag {
    width: auto;
    display: inline-block;
  }
}
.footer-contents-article-list-tag a {
  font-size: 1.4rem;
  letter-spacing: -0.05em;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .footer-contents-article-list-tag a {
    margin-bottom: 0px;
  }
}
.footer-nav-list {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .footer-nav-list {
    width: 100%;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0px 30px;
  }
}
.footer-nav-list-item-text {
  font-size: 1.4rem;
}
.footer-copy p {
  background-color: #003366;
  font-size: 1rem;
  font-family: "Lato", sans-serif;
  text-align: center;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .footer-copy p {
    padding: 5px;
  }
}
@media screen and (max-width: 768px) {
  .footer-copy p {
    text-align: center;
    font-size: 1rem;
  }
}

.Top {
  background-color: #F9F7F2;
}

.contents-wrapper {
  display: flex;
}

.main {
  display: flex;
  width: calc(100% - 250px);
  margin-left: 250px;
  background-color: #F9F7F2;
}
@media screen and (max-width: 768px) {
  .main {
    width: 100%;
    padding-top: 50px;
    margin-left: 0px;
  }
}

.main-contents-flex {
  width: 100%;
}

/* スライダー ドット*/
.slick-dots {
  bottom: -15px;
  text-align: right !important;
  width: 100%;
}
.slick-dots li {
  margin: 0 -2px !important;
  width: 10px;
  height: 10px;
  /* 通常時（ピンク） */
}
.slick-dots li button:before {
  content: "•" !important;
  font-size: 10px;
  color: #6ED9FE !important;
  opacity: 1 !important;
}
.slick-dots li {
  /* アクティブ時（ネイビー） */
}
.slick-dots li.slick-active button:before {
  color: #003366 !important;
}
.slick-dots li.slick-active {
  /*
  button {
    border: 1px solid $navy;
    border-radius: 50%;
    width: 10px;
    height: 10px;
  }*/
}

/* 共通の設定 */
.slick-prev,
.slick-next {
  width: 41px !important;
  height: 41px !important;
  z-index: 10;
  /* --- 元の設定を徹底的に殺す --- */
  background: transparent !important; /* 背景色を透明に */
  font-size: 0 !important; /* 元の白い矢印（文字）を消す */
  line-height: 0;
  color: transparent !important;
  /* --- 位置の調整（スライドの内側か外側か） --- */
  top: 50%;
  transform: translateY(-50%);
}
.slick-prev::before,
.slick-next::before {
  display: none !important; /* 絶対にデフォルト矢印を出さない */
}

/* 左矢印 */
.slick-prev {
  /* 左矢印：真ん中(50%)から、スライド幅の半分(400px)だけ左へ */
  left: calc(50% - 250px) !important;
  transform: translateY(-50%) translateX(-100%); /* 矢印自身の幅分さらに左へ出す */
  background: url(../img/slider_arrow.png) no-repeat center center/contain !important;
}
@media screen and (max-width: 768px) {
  .slick-prev {
    left: 0px !important; /* スマホでは端に寄せる */
    transform: translateY(-50%);
  }
}

/* 右矢印 */
.slick-next {
  /* 右矢印：真ん中(50%)から、スライド幅の半分(400px)だけ右へ */
  right: calc(50% - 250px) !important;
  transform: translateY(-50%) translateX(100%); /* 矢印自身の幅分さらに右へ出す */
  background: url(../img/slider_arrow_right.png) no-repeat center center/contain !important;
}
@media screen and (max-width: 768px) {
  .slick-next {
    right: 0px !important;
    transform: translateY(-50%);
  }
}

.Top-contents {
  width: 100%;
  display: block;
  /* スライダー */
}
.Top-contents-slide {
  width: 100%;
  margin: 0 auto;
}
.Top-contents-slider {
  margin-inline: auto;
  max-width: 1000px;
  background-color: #F9F7F2;
  padding: 30px 0 10px;
  border-radius: 50px;
  position: relative;
}
.Top-contents-slider:after {
  content: "";
  display: inline-block;
  background-image: url(../img/slider_illust.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 83px;
  height: 163px;
  position: absolute;
  bottom: 0;
  right: calc(50% - 300px) !important;
}
@media screen and (max-width: 768px) {
  .Top-contents-slider:after {
    width: 50px;
    bottom: -50px;
    right: -14px !important;
  }
}
.Top-contents-slider-item {
  width: 500px !important;
  flex-shrink: 0;
  margin: 0 10px 5px;
  background-color: #fff;
  border-radius: 0 30px 0 0;
  padding: 30px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .Top-contents-slider-item {
    width: 280px !important;
    padding: 10px;
  }
}
.Top-contents-slider-item:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #FDF585;
  border-radius: 0 30px 0 0;
  position: absolute;
  top: 5px;
  left: 5px;
  z-index: -1;
}
.Top-contents-slider-item img {
  display: block;
  border-radius: 0 30px 0 0 !important;
  -o-object-fit: cover;
     object-fit: cover;
  height: 290px;
  width: 100%;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .Top-contents-slider-item img {
    height: 150px;
  }
}
.Top-contents-slider-item-title {
  font-size: 1.6rem;
  line-height: 1.2;
  text-align: left;
  height: 50px;
}
@media screen and (max-width: 768px) {
  .Top-contents-slider-item-title {
    font-size: 1.4rem;
  }
}
.Top-contents {
  /* 赤ちゃんに安全安心な水って */
}
.Top-contents #sec01 .wrap {
  position: relative;
}
.Top-contents #sec01 .wrap:before {
  content: "";
  display: inline-block;
  background-image: url(../img/sec01_illust01.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: clamp(80px, 15vw, 224px);
  aspect-ratio: 224/186;
  height: auto;
  position: absolute;
  top: -30px;
  left: -29px;
}
@media screen and (max-width: 768px) {
  .Top-contents #sec01 .wrap:before {
    width: 80px;
    top: -40px;
    left: 20px;
  }
}
.Top-contents #sec01 .wrap:after {
  content: "";
  display: inline-block;
  background-image: url(../img/sec01_illust02.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: clamp(80px, 15vw, 152px);
  aspect-ratio: 152/81;
  height: auto;
  position: absolute;
  top: 470px;
  right: 20px;
}
@media screen and (max-width: 768px) {
  .Top-contents #sec01 .wrap:after {
    top: 270px;
    right: 20px;
  }
}
.Top-contents .sec01-art-flex {
  display: flex;
  justify-content: center;
}
.Top-contents .sec01-art-img {
  width: 46%;
}
@media screen and (max-width: 768px) {
  .Top-contents .sec01-art-img {
    width: 50%;
  }
}
.Top-contents .sec01-art-flex02 {
  display: flex;
  justify-content: center;
  gap: 50px;
  align-items: flex-end;
  position: relative;
  z-index: 1;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .Top-contents .sec01-art-flex02 {
    flex-direction: column;
    align-items: center;
    gap: 20px;
  }
}
.Top-contents .sec01-art-flex02-textbox {
  max-width: 420px;
  padding: 20px 30px 30px;
  background-color: #fff;
  border: 1px dotted #003366;
  position: relative;
}
.Top-contents .sec01-art-flex02-textbox .art-title02 {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .Top-contents .sec01-art-flex02-textbox .art-title02 {
    margin-bottom: 10px !important;
  }
}
.Top-contents .sec01-art-flex02-textbox .art-text {
  line-height: 1.8;
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .Top-contents .sec01-art-flex02-textbox {
    width: calc(100% - 5px);
    padding: 10px 10px 10px;
  }
}
.Top-contents .sec01-art-flex02-textbox:after {
  content: "";
  display: inline-block;
  background-image: url(../img/sec01_fukidashi.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: right center;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 10px;
  left: 36px;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .Top-contents .sec01-art-flex02-textbox:after {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .Top-contents .sec01-art-flex02-doctor {
    text-align: center;
  }
}
.Top-contents .sec01-art-flex02-imgbox {
  width: 191px;
  height: 237px;
}
@media screen and (max-width: 768px) {
  .Top-contents .sec01-art-flex02-imgbox {
    width: 130px;
    height: auto;
  }
}
.Top-contents .sec01-art-flex02-text {
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .Top-contents .sec01-art-flex02-text {
    font-size: 1.4rem;
  }
}
.Top-contents .sec01-art-flex02-text span {
  font-size: 1.2rem;
}
.Top-contents #sec02 .wrap {
  position: relative;
  z-index: 1;
}
.Top-contents #sec02 .wrap::after {
  content: "";
  display: block;
  background-image: url(../img/PureWater.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: clamp(80px, 80vw, 768px);
  aspect-ratio: 768/183;
  height: auto;
  position: absolute;
  top: -70px;
  left: 0;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .Top-contents #sec02 .wrap::after {
    top: -50px;
  }
}
.Top-contents .sec02-art-flex {
  display: flex;
  justify-content: space-between;
}
.Top-contents .sec02-art-flex > div {
  width: 46%;
}
@media screen and (max-width: 768px) {
  .Top-contents .sec02-art-flex {
    flex-direction: column;
    gap: 30px;
  }
  .Top-contents .sec02-art-flex > div {
    width: 100%;
  }
}
.Top-contents .sec02-art-img {
  width: 330px;
  margin: 0 auto 40px;
  display: block;
}
@media screen and (max-width: 768px) {
  .Top-contents .sec02-art-img {
    width: 200px;
    margin-bottom: 20px;
  }
}
.Top-contents .sec02-art-title {
  display: inline-block;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6;
  background-color: #fff;
  padding: 8px 30px;
  border-radius: 50px;
  margin-bottom: 40px;
}
.Top-contents .sec02-art-title span {
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .Top-contents .sec02-art-title {
    font-size: 1.6rem;
    line-height: 1.2;
    margin-bottom: 20px;
  }
  .Top-contents .sec02-art-title span {
    font-size: 1.4rem;
  }
}
.Top-contents .sec02-art-flex02box {
  background-color: #fff;
  border-radius: 0 30px 0 0;
  padding: 30px 50px;
  box-shadow: 0px 0px 15px rgba(174, 174, 174, 0.15);
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .Top-contents .sec02-art-flex02box {
    padding: 20px;
  }
}
.Top-contents .sec02-art-flex02box-title {
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 500;
  margin-bottom: 30px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .Top-contents .sec02-art-flex02box-title {
    line-height: 1.4;
  }
}
.Top-contents .sec02-art-flex02box-title:after {
  content: "";
  display: inline-block;
  background-image: url(../img/point.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 53px;
  height: 41px;
  position: absolute;
  top: 0;
  left: -54px;
}
.Top-contents .sec02-art-flex02 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
}
@media screen and (max-width: 768px) {
  .Top-contents .sec02-art-flex02 {
    flex-direction: column;
  }
  .Top-contents .sec02-art-flex02:nth-of-type(2) {
    flex-direction: column-reverse;
  }
}
.Top-contents .sec02-art-flex02:first-of-type {
  margin-bottom: 40px;
}
.Top-contents .sec02-art-flex02-text {
  font-size: 1.6rem;
  line-height: 1.6;
  text-align: left;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .Top-contents .sec02-art-flex02-text {
    font-size: 1.4rem;
  }
}
.Top-contents .sec02-art-flex02-img {
  width: 48%;
}
@media screen and (max-width: 768px) {
  .Top-contents .sec02-art-flex02-img {
    width: 70%;
  }
}
.Top-contents #sec03 .wrap {
  background-color: #fff;
  padding: 50px 20px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .Top-contents #sec03 .wrap {
    padding: 20px;
  }
}
.Top-contents #sec03 .wrap::before {
  content: "";
  display: block;
  background-image: url(../img/sec03_illust01.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 176px;
  height: 160px;
  position: absolute;
  top: -110px;
  left: 0;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .Top-contents #sec03 .wrap::before {
    width: 100px;
    top: -50px;
  }
}
.Top-contents #sec03 .wrap::after {
  content: "";
  display: block;
  background-image: url(../img/Baby.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: clamp(80px, 50vw, 375px);
  aspect-ratio: 375/150;
  height: auto;
  position: absolute;
  top: -95px;
  left: 205px;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .Top-contents #sec03 .wrap::after {
    top: -55px;
    left: initial;
    right: 0;
  }
}
.Top-contents .sec03-article-illust {
  width: 161px;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .Top-contents .sec03-article-illust {
    width: 100px;
    margin-bottom: 20px;
  }
}
.Top-contents .sec03-article-title {
  font-size: 2.8rem;
  font-weight: 700;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .Top-contents .sec03-article-title {
    font-size: 1.8rem;
    margin-bottom: 20px;
  }
}
.Top-contents .sec03-article-atte {
  font-size: 1.2rem;
  margin-bottom: 40px;
  text-align: left;
  background-color: #FFF7F6;
  padding: 10px 20px 10px 50px;
  position: relative;
  font-weight: 400;
  line-height: 1.4;
  border-radius: 3px;
}
.Top-contents .sec03-article-atte::before {
  content: "";
  display: inline-block;
  background-image: url(../img/sec03_i.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 25px;
  height: 25px;
  position: absolute;
  top: 16px;
  left: 14px;
}
.Top-contents .sec03-article-box {
  width: 500px;
  margin: 0 auto 50px;
  background-color: #FFF7F6;
  padding: 40px;
  border-radius: 6px;
  box-shadow: 0px 0px 15px rgba(174, 174, 174, 0.15);
}
@media screen and (max-width: 768px) {
  .Top-contents .sec03-article-box {
    width: 100%;
    padding: 20px;
  }
}
.Top-contents .sec03-article-box-title {
  font-size: 2.4rem;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .Top-contents .sec03-article-box-title {
    font-size: 1.8rem;
  }
}
.Top-contents .sec03-article-box-text {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.6;
  margin-bottom: 40px;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .Top-contents .sec03-article-box-text {
    font-size: 1.4rem;
  }
}
.Top-contents .sec03-article-box-img {
  width: 352px;
}
@media screen and (max-width: 768px) {
  .Top-contents .sec03-article-box-img {
    width: 230px;
  }
}
.Top-contents #sec04 .wrap {
  position: relative;
  z-index: 1;
}
.Top-contents #sec04 .wrap::after {
  content: "";
  display: block;
  background-image: url(../img/Voice.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: clamp(80px, 80vw, 768px);
  aspect-ratio: 768/183;
  height: auto;
  position: absolute;
  top: -110px;
  left: 0;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .Top-contents #sec04 .wrap::after {
    top: -50px;
  }
}
.Top-contents #sec04 .sec04-article {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  flex-wrap: wrap;
  max-width: 1000px;
  margin: 0 auto;
  width: 100%;
  padding: 50px 0px;
}
@media screen and (max-width: 768px) {
  .Top-contents #sec04 .sec04-article {
    padding: 0 20px;
  }
}
.Top-contents #sec04 .sec04-article div {
  background-color: #fff;
  padding: 50px 30px;
  border-radius: 0 30px 0 0;
  box-shadow: 0px 0px 15px rgba(174, 174, 174, 0.15);
  flex: 1;
  min-width: 280px;
}
@media screen and (max-width: 768px) {
  .Top-contents #sec04 .sec04-article div {
    padding: 30px 20px;
    min-width: 250px;
  }
}
.Top-contents #sec04 .sec04-article-title {
  font-weight: 700;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .Top-contents #sec04 .sec04-article-title {
    margin-bottom: 10px;
  }
}
.Top-contents #sec04 .sec04-article-img {
  width: 150px;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .Top-contents #sec04 .sec04-article-img {
    width: 100px;
  }
}
.Top-contents #sec04 .sec04-article-family {
  font-size: 1.4rem;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .Top-contents #sec04 .sec04-article-family {
    margin-bottom: 10px;
  }
}
.Top-contents #sec04 .sec04-article-text {
  font-size: 1.6rem;
  font-weight: 400;
  text-align: left;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .Top-contents #sec04 .sec04-article-text {
    font-size: 1.4rem;
  }
}
.Top-contents #sec05 {
  text-align: center;
}
.Top-contents #sec05 .wrap {
  position: relative;
  z-index: 1;
}
.Top-contents #sec05 .wrap::after {
  content: "";
  display: block;
  background-image: url(../img/Price.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: clamp(80px, 80vw, 768px);
  aspect-ratio: 768/183;
  height: auto;
  position: absolute;
  top: -110px;
  left: 0;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .Top-contents #sec05 .wrap::after {
    top: -50px;
  }
}
.Top-contents #sec05 .sec-answer-box {
  position: relative;
}
.Top-contents #sec05 .sec-answer-box::before {
  content: "";
  display: block;
  background-image: url(../img/sec05_illust02.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: clamp(90px, 15vw, 145px);
  aspect-ratio: 145/160;
  height: auto;
  position: absolute;
  top: 110px;
  left: -7px;
}
@media screen and (max-width: 768px) {
  .Top-contents #sec05 .sec-answer-box::before {
    top: 80px;
    left: -28px;
  }
}
.Top-contents #sec05 .sec05-article-flex {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 50px;
  gap: 60px;
}
@media screen and (max-width: 768px) {
  .Top-contents #sec05 .sec05-article-flex {
    gap: 20px;
  }
}
.Top-contents #sec05 .sec05-article-flex-img {
  width: 332px;
  height: auto;
}
@media screen and (max-width: 768px) {
  .Top-contents #sec05 .sec05-article-flex-img {
    width: clamp(180px, 15vw, 200px);
  }
}
.Top-contents #sec05 .sec05-article-flex-price {
  color: #F55D45;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 20px;
  text-align: left;
  position: relative;
}
@media screen and (max-width: 768px) {
  .Top-contents #sec05 .sec05-article-flex-price {
    font-size: 1.6rem;
  }
}
.Top-contents #sec05 .sec05-article-flex-price span {
  font-size: 40px;
  font-family: "Jost", sans-serif;
}
@media screen and (max-width: 768px) {
  .Top-contents #sec05 .sec05-article-flex-price span {
    font-size: 2.4rem;
  }
}
.Top-contents #sec05 .sec05-article-flex-price ::after {
  content: "";
  display: block;
  background-image: url(../img/sec05_img02.png);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: -170px;
  right: -28px;
  width: clamp(120px, 15vw, 158px);
  aspect-ratio: 158/203;
  height: auto;
}
@media screen and (max-width: 768px) {
  .Top-contents #sec05 .sec05-article-flex-price ::after {
    top: -88px;
    right: -15px;
    width: clamp(80px, 10vw, 120px);
  }
}
.Top-contents #sec05 .sec05-article-flex-info {
  font-size: 1.6rem;
  text-align: left;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .Top-contents #sec05 .sec05-article-flex-info {
    font-size: 1.4rem;
    margin-bottom: 10px;
    white-space: nowrap;
  }
}
.Top-contents .sec05-flex02-title {
  position: relative;
  display: inline-block;
}
.Top-contents .sec05-flex02-title::after {
  content: "";
  display: block;
  background-image: url(../img/fukidashi.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 53px;
  height: 22px;
  position: absolute;
  bottom: -12px;
  left: -14px;
}
.Top-contents .sec05-article-flex02 {
  display: flex;
  justify-content: center;
  gap: 50px;
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  .Top-contents .sec05-article-flex02 {
    align-items: center;
    gap: 20px;
  }
}
.Top-contents .sec05-article-flex02 > div {
  width: clamp(220px, 15vw, 280px);
  background-color: #fff;
  padding: 30px 0px;
  border-radius: 6px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .Top-contents .sec05-article-flex02 > div {
    padding: 20px 0;
    height: 220px;
  }
}
.Top-contents .sec05-article-flex02-text01 {
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .Top-contents .sec05-article-flex02-text01 {
    font-size: 2rem;
  }
}
.Top-contents .sec05-article-flex02-text02 {
  display: inline-block;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.2;
  padding: 2px 15px;
  border: 1px solid #003366;
  border-radius: 50px;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .Top-contents .sec05-article-flex02-text02 {
    font-size: 15px;
    padding: 2px 10px;
  }
}
.Top-contents .sec05-article-flex02-price {
  color: #F55D45;
  margin-bottom: 10px;
  font-size: 2.4rem;
  font-family: "Jost", sans-serif;
}
@media screen and (max-width: 768px) {
  .Top-contents .sec05-article-flex02-price {
    font-size: 2rem;
  }
}
.Top-contents .sec05-article-flex02-price span {
  font-size: 1.6rem;
}
.Top-contents .sec05-article-flex02-text03 {
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .Top-contents .sec05-article-flex02-text03 {
    font-size: 1.4rem;
  }
}
.Top-contents .sec05-article-flex03 {
  display: flex;
  justify-content: center;
  gap: 50px;
  align-items: flex-end;
  position: relative;
  z-index: 1;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .Top-contents .sec05-article-flex03 {
    flex-direction: column;
    align-items: center;
    gap: 20px;
  }
}
.Top-contents .sec05-article-flex03-textbox {
  width: 376px;
  padding: 20px 20px 0;
  background-color: #fff;
  border: 1px dotted #003366;
  position: relative;
}
@media screen and (max-width: 768px) {
  .Top-contents .sec05-article-flex03-textbox {
    width: calc(100% - 40px);
  }
}
.Top-contents .sec05-article-flex03-textbox:after {
  content: "";
  display: inline-block;
  background-image: url(../img/sec01_fukidashi.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: right center;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 10px;
  left: 26px;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .Top-contents .sec05-article-flex03-textbox:after {
    display: none;
  }
}
.Top-contents .sec05-article-flex03-imgbox {
  width: 172px;
}
@media screen and (max-width: 768px) {
  .Top-contents .sec05-article-flex03-imgbox {
    width: 140px;
  }
}
.Top-contents #sec06 .wrap {
  background-color: #fff;
  padding: 50px 20px;
}
@media screen and (max-width: 768px) {
  .Top-contents #sec06 .wrap {
    padding: 20px;
  }
}
.Top-contents #sec06 .wrap {
  position: relative;
  z-index: 1;
}
.Top-contents #sec06 .wrap::after {
  content: "";
  display: block;
  background-image: url(../img/Toell.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: clamp(80px, 80vw, 428px);
  aspect-ratio: 428/111;
  height: auto;
  position: absolute;
  top: -110px;
  left: 0;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .Top-contents #sec06 .wrap::after {
    width: clamp(80px, 60vw, 200px);
    top: -50px;
  }
}
.Top-contents .sec06-flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 50px 30px;
}
@media screen and (max-width: 768px) {
  .Top-contents .sec06-flex {
    gap: 30px 0;
  }
}
.Top-contents .sec06-flex > div {
  width: 330px;
}
.Top-contents .sec06-flex-txtimg {
  width: 300px;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .Top-contents .sec06-flex-txtimg {
    width: 220px;
    margin-bottom: 10px;
  }
}
.Top-contents .sec06-flex-flex {
  display: flex;
  gap: 10px;
  align-items: center;
}
.Top-contents .sec06-flex-img {
  width: 150px;
}
@media screen and (max-width: 768px) {
  .Top-contents .sec06-flex-img {
    width: 100px;
  }
}
.Top-contents .sec06-flex-text {
  font-size: 1.4rem;
  font-weight: 400;
  text-align: left;
  line-height: 1.4;
}
.Top-contents .sec06-flex-box2 {
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  .Top-contents .sec06-flex-box2 {
    margin-top: 0px;
  }
}
.Top-contents .sec06-flex-txtimg05 {
  width: 60px;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .Top-contents .sec06-flex-txtimg05 {
    width: 40px;
    margin-bottom: 10px;
  }
}
.Top-contents .sec06-flex-boxhaha {
  background-image: url(../img/sec06_boxhaha_bg.png);
  background-size: cover;
  width: 500px;
  margin: 50px auto;
  padding: 50px;
}
@media screen and (max-width: 768px) {
  .Top-contents .sec06-flex-boxhaha {
    width: 95%;
    padding: 20px 0px;
  }
}
.Top-contents .sec06-flex-boxhaha img {
  margin-bottom: 30px;
}
.Top-contents .sec06-flex-boxhaha p {
  text-align: center;
  margin-bottom: 30px;
}
.Top-contents-nav {
  width: 100%;
  border-top: 1px solid #c5c5c5;
  border-bottom: 1px solid #c5c5c5;
}
@media screen and (max-width: 768px) {
  .Top-contents-nav {
    overflow-x: scroll;
  }
}
.Top-contents-nav-list {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
  padding: 30px 20px;
  max-width: 1020px;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .Top-contents-nav-list {
    justify-content: space-evenly;
  }
}
@media screen and (max-width: 768px) {
  .Top-contents-nav-list {
    gap: 16px;
    padding: 24px 16px;
    min-width: -moz-max-content;
    min-width: max-content;
  }
}
.Top-contents-nav-list-item a {
  font-size: 2rem;
  font-weight: 700;
  color: #605c5c;
}
@media screen and (max-width: 768px) {
  .Top-contents-nav-list-item a {
    font-size: 1.2rem;
  }
}
.Top-contents-tag-flex-list {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
}
@media screen and (max-width: 768px) {
  .Top-contents-tag-flex-list {
    gap: 8px;
  }
}
.Top-contents-tag-flex-list-item {
  height: 24px;
  line-height: 24px;
  padding: 0 11px;
  border-radius: 6px;
}
@media screen and (max-width: 768px) {
  .Top-contents-tag-flex-list-item {
    padding: 4px 13px;
  }
}
.Top-contents-tag-flex-list-item a {
  color: #fff;
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .Top-contents-tag-flex-list-item a {
    line-height: 14px;
  }
}
.Top-contents .Top-contents-tag-date {
  font-size: 2rem;
  font-weight: 400;
}
.Top-contents {
  /*
    &-reccomend {
      &-flex {
        &-list {
          display: grid;
          grid-template-columns: repeat(3, 260px);
          gap: 20px;

          @include mq(small, min) {
            grid-template-columns: repeat(3, minmax(0, 260px));
            justify-content: space-between;
          }

          @include mq(small, max) {
            grid-template-columns: 1fr; // 1列にする
            gap: 16px;
          }

          &-item {
            a {
              @include mq(small, max) {
                display: flex;
                gap: 10px;
              }
            }
            &-img {
              width: 100%; // 親の260pxいっぱいに広がる
              aspect-ratio: 1 / 1; // 自動的に高さが決まる（195pxになる）
              overflow: hidden; // はみ出し防止
              margin-bottom: 20px;
              border: 1px solid $navy;
              border-radius: 10px;
              flex-shrink: 0;
              @include mq(small, max) {
                width: 80px; // ★スマホでの画像サイズを固定
                height: 80px; // 正方形を維持
                margin-bottom: 0;
              }
              img {
                width: 100%;
                height: 100%;
                object-fit: cover; // ★重要：枠いっぱいに隙間なく、かつ歪まずに表示
                object-position: center; // 中央でトリミング
              }
            }
            /*
            .Article-contents-topics-flex-column-text-date {
              @include mq(small, max) {
                font-size: $f14;
              }
            }

            .Article-contents-topics-flex-column-text-title {
              text-align: left;
              font-weight: $medium;
              line-height: $lhTtl;
              @include mq(small, max) {
                font-size: $f14;
              }
            }
          }
        }
      }
    }

    &-campaign {
      @include mq(small, max) {
        padding-bottom: 64px;
      }

      &-flex {
        &-list {
          display: flex;
          justify-content: flex-start;
          flex-wrap: wrap;
          @include mq(small, min, true) {
            gap: 20px;
          }
          @include mq(small, max) {
            gap: 16px;
          }

          &-item {
            width: calc(100% / 3 - 14px);

            @include mq(small, max) {
              width: 100%;
            }

            @include mq(small, min, true) {
              padding-bottom: 34px;
            }

            &-img {
              // aspect-ratio: 16/9;
              img {
                border-radius: 0;
                height: 100%;
              }
            }

            // &-title {
            //   font-size: $f18;
            //   font-weight: 700;
            //   line-height: 1.2;
            //   margin: 8px 0;

            //   @include mq(small, max) {
            //     font-size: $f16;
            //     margin: 8px 0 0;
            //   }
            // }

            // &-text {
            //   font-size: $f16;
            //   line-height: 1.6;

            //   @include mq(small, max) {
            //     font-size: $f14;
            //   }
            // }
          }
        }
      }
    }

    // お申し込み、問い合わせボタン
    &-application {
      background: $pink;
      margin: 100px 0;
      @include mq(small, max) {
        margin: 0;
      }
      &-flex {
        display: flex;
        justify-content: center;
        align-items: center;
        // 例：最小16px、画面幅の5%分、最大60px の間で自動調整
        gap: clamp(16px, 5vw, 60px);
        padding: 0 20px;
        @include mq(small, max) {
          flex-direction: column; // スマホでは縦並びにする場合
          gap: 20px; // スマホでの固定の隙間
        }
      }
      &-btn {
        text-align: center;
        background-image: url(../img/nav_cta.png);
        border-radius: 100px;
        background-size: contain;
        background-repeat: no-repeat;
        width: 250px;
        height: 77px;
        line-height: $lh12;
        font-size: $f20;
        padding-top: 12px;
        font-weight: $medium;
        display: inline-block;
        transition: all 0.3s ease;
        box-shadow: 0 5px 0 #f5a3c3;
        &:hover {
          transform: translateY(3px);
          box-shadow: 0 3px 0 #f5a3c3;
        }

        &:active {
          transform: translateY(6px);
          box-shadow: none;
        }
        span {
          font-size: $f16;
          letter-spacing: $lsm10;
        }
      }
      &-btngreen {
        text-align: center;
        background-image: url(../img/nav_cta_green.png);
        border-radius: 100px;
        background-size: contain;
        background-repeat: no-repeat;
        width: 250px;
        height: 77px;
        line-height: $lh12;
        font-size: $f20;
        padding-top: 12px;
        font-weight: $medium;
        display: inline-block;
        transition: all 0.3s ease;
        box-shadow: 0 5px 0 #f5a3c3;
        &:hover {
          transform: translateY(3px);
          box-shadow: 0 3px 0 #f5a3c3;
        }
        &:active {
          transform: translateY(6px);
          box-shadow: none;
        }
        span {
          font-size: $f16;
          letter-spacing: $lsm10;
        }
      }
    }

    &-policy {
      padding-top: 0 !important;
      background: #fff;

      &-head {
        background: url(../img/policy-head-img.jpg) no-repeat center center /
          cover;
        position: relative;
        width: 100%;
        height: 281px;
        @include mq(small, max) {
          height: 250px;
        }

        .sec-sub-title {
          position: absolute;
          top: 31%;
          font-size: 40px;
          text-shadow: 2px 3px 2px rgba(0, 0, 0, 0.4);
          @media (max-width: 1080px) {
            font-size: 32px;
          }
          @include mq(small, max) {
            font-size: $f20;
            text-align: left;
            top: 50%;
            transform: translate(0, -50%);
            left: 0;
            padding-left: 32px;
          }
        }
      }

      &-flex {
        display: flex;
        justify-content: space-between;
        padding: 120px 0;
        gap: 20px;

        @include mq(small, max) {
          display: block;
          flex-direction: column;
          padding: 64px 0 32px;
        }

        &-txt {
          display: flex;
          flex-direction: column;
          justify-content: space-between;
          align-items: center;
          @include mq(small, min, true) {
            max-width: 383px;
          }
          @include mq(small, max) {
            width: 100%;
            margin: 0 auto;
          }

          &-lead {
            font-size: $f24;
            font-weight: 700;
            line-height: 1.6;

            @include mq(small, max) {
              font-size: $f20;
              text-align: left;
            }
          }
        }

        &-img {
          aspect-ratio: 16/9;
          @include mq(small, min, true) {
            max-width: 528px;
          }
          @include mq(small, max) {
            width: 100%;
            margin: 32px auto 0;
          }
        }
      }
    }

    &-baby {
      padding-top: 0 !important;
      background: $pink;

      @include mq(small, max) {
        padding-bottom: 64px;
      }

      &-sec-title {
        font-size: 48px;
        @include mq(small, min, true) {
          max-width: 450px;
        }
      }

      .bg-primary {
        .sec-title {
          @include mq(small, min, true) {
            font-size: 48px !important;
          }

          @media screen and (max-width: 1080px) {
            font-size: 32px !important;
          }

          @include mq(small, max) {
            padding: 32px;
          }
        }
      }

      &-head-img {
        .wrap {
          @include mq(small, min, true) {
            display: flex;
            justify-content: space-between;
            align-items: center;
            height: 250px;
            padding-right: 0;
          }
          @include mq(small, max) {
            padding: 0;
          }
        }

        &-img {
          max-width: 450px;
          height: 100%;
          @include mq(small, max) {
            min-width: 100%;
          }
          img {
            border-radius: 0;
            height: 100%;
          }
        }
      }

      &-flex {
        &-item {
          display: flex;
          justify-content: space-between;
          padding: 120px 0;
          gap: 20px;

          @include mq(small, max) {
            flex-direction: column-reverse;
            padding: 64px 0 0;
            row-gap: 32px;
          }

          &-img {
            @include mq(small, min, true) {
              max-width: 528px;
              aspect-ratio: 16/9;
            }
            @include mq(small, max) {
              max-width: 100%;
            }
          }
        }

        &-txt {
          display: flex;
          flex-direction: column;
          justify-content: space-between;
          max-width: 368px;

          @include mq(small, max) {
            width: 100%;
          }

          &-lead {
            font-size: $f24;
            font-weight: 700;
            line-height: 1.6;

            @include mq(small, max) {
              font-size: $f20;
              line-height: normal;
              margin-bottom: 16px;
            }
          }

          &-text {
            font-size: $f16;
            font-weight: 500;
            line-height: 1.6;

            @include mq(small, max) {
              font-size: $f14;
            }
          }
        }
      }
    }

    &-lineup {
      background: #fff;
      padding: 120px 0 280px;

      @include mq(small, max) {
        padding: 64px 0;
      }

      .sec-title {
        text-align: center;
        @include mq(small, min, true) {
          font-size: $f48;
        }
      }

      &-list {
        display: flex;
        flex-direction: column;
        @include mq(small, min, true) {
          gap: 50px;
        }
        @include mq(small, max) {
          gap: 16px;
        }
        &-item {
          @include mq(small, min, true) {
            max-width: 700px;
            margin: 0 auto;
          }
        }
        img {
          @include mq(small, min, true) {
            max-height: 241px;
          }
        }
      }
    }
  }

  .Article-contents {
    &-topics {
      &-flex {
        @include mq(small, min, true) {
          display: grid;
          grid-template-columns: 0.8fr 1fr;
          justify-content: space-between;
          align-items: start;
          gap: 28px;
        }

        @include mq(small, max) {
          display: flex;
          flex-direction: column;
          gap: 32px;
        }

        &-column {
          &-img {
            height: 400px;
            img {
              height: 100%;
            }
            @include mq(small, max) {
              width: 100%;
              display: block;
              padding-bottom: 8px;
              height: 174px;

              img {
                object-fit: cover;
                object-position: center;
                height: 100%;
                width: 100%;
              }
            }
          }

          &-text {
            &-date {
              font-size: $f16;
              font-weight: 400;
              margin-top: 8px;
              line-height: 1;

              @include mq(small, max) {
                margin-top: 8px;
                font-size: $f14;
              }
            }

            &-title {
              font-size: $f16;
              font-weight: 700;
              line-height: 1.2;
              margin: 8px 0;
            }
          }
        }

        &-column-box {
          display: flex;
          flex-wrap: wrap;
          gap: 28px;

          &-list {
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            gap: 16px 27px;

            @include mq(small, max) {
              width: 100%;
              gap: 16px;
            }

            &-item {
              width: calc(100% / 2 - 14px);

              a {
                display: flex;
                gap: 8px;
                flex-direction: column;
              }

              &-img {
                aspect-ratio: 16 / 9;
                // max-width: 256px;
                height: 144px;
                img {
                  height: 100%;
                }
                @include mq(small, max) {
                  width: 155px;
                  height: 87px;
                  img {
                    height: 100%;
                  }
                }
              }

              @include mq(small, max) {
                .Article-contents-topics-flex-column-text-date {
                  margin-top: 0;
                }

                .Article-contents-topics-flex-column-text-title {
                  font-size: $f14;
                }
              }
            }
          }
        }
      }

      &-tag-flex-list {
        display: flex;
        flex-wrap: wrap;
        gap: 8px 10px;

        @include mq(small, max) {
          // flex-direction: column;
          flex-wrap: wrap;
          align-items: flex-start;
          gap: 6px;
          width: 100%;
          max-width: 100%;
        }

        &-item {
          width: fit-content;
          line-height: 21px;
          padding: 0 11px;
          border-radius: 3px;
          background-color: #fff;
          color: $navy;
          @include mq(small, max) {
            padding: 4px 6px;
            line-height: 14px;
            // max-width: 100%;
            box-sizing: border-box;
          }

          a {
            color: $navy;
            font-size: $f14;
            letter-spacing: $lsm5;
            font-weight: $regular;
            width: 100%;
            word-break: break-word;
            overflow-wrap: break-word;
            display: block;
          }
        }
      }
    }
  }

  @include mq(small, max) {
    #topics {
      .Article-contents-topics-flex-column-box-list-item {
        img {
          border-radius: 0px 26px 26px 26px;
        }
      }
    }
  }
  */
}

.About {
  background-color: #F9F7F2;
}

#about .wrap {
  background-color: #fff;
  padding-top: 50px;
}

#about .sec-title {
  font-size: 2.8rem;
}
@media screen and (max-width: 768px) {
  #about .sec-title {
    font-size: 2rem;
  }
}

.about-interview {
  padding-top: 50px;
}
@media screen and (max-width: 768px) {
  .about-interview {
    padding-top: 0px;
  }
}

.about-name {
  font-weight: 400;
  text-align: center;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .about-name {
    font-size: 1.4rem;
  }
}

.about-img01 {
  width: 500px;
  margin-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .about-img01 {
    width: 80%;
    margin-bottom: 30px;
  }
}

.about-textbox {
  margin-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .about-textbox {
    margin-bottom: 50px;
  }
}

.about-title {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 5px;
  padding-bottom: 0;
  line-height: 1.2 !important;
}
@media screen and (max-width: 768px) {
  .about-title {
    font-size: 1.6rem;
  }
}

.about-line {
  display: block;
  width: 380px;
  margin: 0 auto 50px;
}
@media screen and (max-width: 768px) {
  .about-line {
    width: 280px;
    margin: 0 auto 20px;
  }
}

.about-img02 {
  width: 200px;
  padding-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .about-img02 {
    width: 180px;
    padding-bottom: 50px;
  }
}

/*
.About-contents {
    width: 100%;
    display: block;
    padding: 120px 0;

    @include mq(small, max){
        padding: 32px 0 128px;
    }



    &-flex {
        display: grid;
        grid-template-columns: 1fr .8fr;
        gap: 28px;
        padding-bottom: 64px;

        @include mq(small, max){
            grid-template-columns: 1fr;
            gap: 32px;
            padding-bottom: 49px;
        }
        &-item-img{
            height: 440px;
            @include mq(small, max){
                height: 206px;
            }
            img{
                height: 100%;
            }
        }

        &-item-txt {
            &-lead {
                font-size: 24px;
                font-weight: 700;
                line-height: 1.5;
                padding: 85px 0 50px;
                font-family: "Noto Serif JP", serif;
                @include mq(small, max){
                    font-size: $f18;
                    padding: 32px 0 0;
                }
            }

            &-text {
                font-family: "Noto Serif JP", serif;
                font-weight: 700;
                font-size: $f20;
                @include mq(small, max){
                    font-size: $f14;
                    line-height: 1.5;
                }
            }
        }

        &-item-img{
            @include mq(small, max){
                margin-bottom: 16px;
            }
        }

        &-interview {
            @include mq(small, min, true) {
                display: flex;
                justify-content: space-between;
                gap: 40px;
            }

            &-float {
                max-width: 226px;
                position: sticky;
                top: 20px;
                height: 100%;

                @include mq(small, max){
                    width: 100%;
                    position: static;
                }
                img{
                    aspect-ratio: 1;
                }

                &-txt {
                    font-size: $f12;
                    display: flex;
                    flex-direction: column;
                    align-items: center;
                    line-height: 1.6;
                    padding-top: 19px;
                }
            }

            &-item {
                width: 640px;

                @include mq(small, max){
                    width: 100%;
                }

                &-txt {
                    &-q {
                        font-size: $f18;
                        font-weight: 700;
                        position: relative;
                        padding: 0 0 0 17px;
                        margin-top: 32px;
                        line-height: 1.5;
                        @include mq(small, max){
                            margin-top: 15px;
                            padding: 0;
                        }
                        @include mq(small, min, true) {
                        &::before {
                            content: "";
                            position: absolute;
                            top: 14px;
                            left: 0;
                            width: 15px;
                            height: 1px;
                            background-color: #000;
                            }
                        }
                    }

                    &-a {
                        font-size: $f18;
                        padding: 16px 0 32px;
                        line-height: 1.8;
                        @include mq(small, max){
                            font-size: $f14;
                            padding: 16px 0 23px;
                        }
                    }
                }

                &-img {
                    height: 380px;
                    @include mq(small, max){
                        height: 170px;
                    }
                    img{
                        height: 100%;
                        object-position: center 0%;
                    }

                    &-txt {
                        font-size: $f24;
                        font-weight: 700;
                        position: absolute;
                        top: 50%;
                        transform: translate(0px, -50%);
                        left: 32px;
                        font-family: "Noto Serif JP", serif;
                        @include mq(small, max){
                            font-size: 15px;
                            line-height: 20px;
                        }
                    }
                }
            }
        }
    }

    &-interview-bottom { 
        padding-top: 128px;
        @include mq(small, max){
            padding-top: 64px;
        }

        &-ttl {
            font-size: $f24;
            font-weight: 700;
            font-family: "Noto Serif JP", serif;
            line-height: 1.5;
        }

        &-txt {
            font-size: $f18;
            padding: 32px 0 0;
            line-height: 1.6;
            @include mq(small, max){
                font-size: $f14;
                padding: 32px 0 0;
            }
        }
        &-img{
            width: 140px;
            margin: 40px 0 0 auto;
            @include mq(small, max){
                width: 100px;
                margin: 32px 0 0 auto;
            }
            img{
                border-radius: 0;
            }
        }
    }

}*/
.Article {
  padding-bottom: 150px;
}
@media screen and (max-width: 768px) {
  .Article {
    padding-bottom: 50px;
  }
}
.Article-title {
  font-size: 64px;
  font-weight: 700;
  line-height: 1;
}
.Article-title-flex {
  margin-bottom: 145px;
}
@media screen and (max-width: 768px) {
  .Article-title-flex {
    margin-bottom: 32px;
  }
}
.Article-title-flex-item-txt {
  font-size: 36px;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .Article-title-flex-item-txt {
    text-align: center;
    font-size: 20px;
    line-height: 1.2;
  }
}
.Article-title-flex-item-img {
  width: 176px;
  height: 162px;
}
.Article-title-flex-item-img img {
  border-radius: 0;
}
.Article-title-flex-item-lead {
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  margin-top: 48px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .Article-title-flex-item-lead {
    font-size: 2rem;
    line-height: 30px;
    margin-top: 16px;
  }
}
.Article {
  /*
      &-nav {
          &-top {
              display: flex;
              justify-content: flex-start;
              gap: 18px;
              align-items: center;
              &-item{
                  a{  
                      color: #a9a9a9;
                      &.active{
                          color: #000;
                      }
                      @include mq(small, max) {
                          font-size: $f14;

                      }
                  }
              }
          }

          &-tag-button {
              @include mq(small, max) {
              margin: 0 calc(50% - 50vw);
              width: 100vw;
              overflow-x: scroll;
              }
              &-list {
                  display: flex;
                  justify-content: flex-start;
                  flex-wrap: wrap;
                  gap: 8px;
                  margin: 24px auto 64px;
                  @include mq(small, max) {
                      min-width: max-content;
                      margin: 8px auto 0;
                      padding: 0 32px;
                  }


              &-item {
                  padding: 0px 15px;
                  border-radius: 6px;
                  background-color: #fff;
                  border: 1px solid #4EAED7;
                  @include mq(small, max) {
                      padding: 0px 14px;
                  }
                  a {
                      font-size: $f14;
                      color: #4EAED7;
                  }
              }
          }
      }
  }
  */
}
.Article-list-set-flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 64px 50px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .Article-list-set-flex {
    margin-top: 32px;
    gap: 32px 30px;
    justify-content: space-between;
  }
}
.Article-list-set-flex-item {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: calc(33.3333333333% - 33.3333333333px);
}
@media (max-width: 1000px) {
  .Article-list-set-flex-item {
    width: calc(50% - 25px);
  }
}
@media screen and (max-width: 768px) {
  .Article-list-set-flex-item {
    width: calc(50% - 15px);
  }
}
.Article-list-set-flex-item-img {
  width: 100%;
  aspect-ratio: 1/1;
  border: 1px solid #003366;
  border-radius: 6px;
  overflow: hidden;
  margin-bottom: 20px;
}
.Article-list-set-flex-item-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.Article .Article-contents-topics-flex-column-text-title {
  font-weight: 500;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .Article .Article-contents-topics-flex-column-text-title {
    font-size: 1.4rem;
  }
}
.Article .Article-contents-topics-flex-column-text-date {
  font-size: 1.2rem;
  text-align: left;
}
.Article-pagenation {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-top: 137px;
}
@media screen and (max-width: 768px) {
  .Article-pagenation {
    margin-top: 64px;
  }
}
.Article-pagenation-list {
  display: flex;
  justify-content: center;
  gap: 16px;
}
.Article-pagenation-list-item a {
  font-size: 1.4rem;
  background: #F5F5F5;
  padding: 8px 16px;
}
.Article-pagenation-list-item.active a {
  color: #000;
  background: #D9D9D9;
}
@media screen and (max-width: 768px) {
  .Article#lifestyle .Article-title-flex-item-img {
    width: 126px;
    height: auto;
  }
}
@media screen and (max-width: 768px) {
  .Article#mind-body .Article-title-flex-item-img {
    width: 116px;
    height: auto;
  }
}
@media screen and (max-width: 768px) {
  .Article#best-water .Article-title-flex-item-img {
    width: 143px;
    height: auto;
  }
}

#baby-water-top .wrap {
  position: relative;
}
#baby-water-top .wrap:before {
  content: "";
  display: inline-block;
  background-image: url(../img/sec01_illust01.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: clamp(80px, 15vw, 224px);
  aspect-ratio: 224/186;
  height: auto;
  position: absolute;
  top: 130px;
  left: 0px;
}
@media screen and (max-width: 768px) {
  #baby-water-top .wrap:before {
    width: 80px;
    top: 100px;
    left: 20px;
  }
}
#baby-water-top .wrap:after {
  content: "";
  display: inline-block;
  background-image: url(../img/sec01_illust02.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: clamp(80px, 15vw, 152px);
  aspect-ratio: 152/81;
  height: auto;
  position: absolute;
  top: 470px;
  right: 20px;
}
@media screen and (max-width: 768px) {
  #baby-water-top .wrap:after {
    top: 270px;
    right: 20px;
  }
}

.Baby-water-product-img-sankyu {
  width: 180px;
  height: 190px;
  display: block;
  margin: 0 auto 20px;
}

.Baby-water-product-img {
  width: 330px;
  margin: 0 auto 40px;
  display: block;
}
@media screen and (max-width: 768px) {
  .Baby-water-product-img {
    width: 250px;
    margin-bottom: 20px;
  }
}
.Baby-water-product {
  display: inline-block;
  font-size: 36px;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 80px;
}
.Baby-water-product span {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .Baby-water-product {
    font-size: 2rem;
    line-height: 1.4;
    margin-bottom: 40px;
  }
  .Baby-water-product span {
    font-size: 1.4rem;
  }
}
.Baby-water-textbox {
  margin-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .Baby-water-textbox {
    margin-bottom: 50px;
  }
}
.Baby-water-art-title {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 50px;
  padding-bottom: 0;
  line-height: 1.2 !important;
}
@media screen and (max-width: 768px) {
  .Baby-water-art-title {
    font-size: 1.6rem;
    margin-bottom: 30px;
  }
}
.Baby-water-img {
  width: 500px;
}
@media screen and (max-width: 768px) {
  .Baby-water-img {
    width: 100%;
  }
}

.eiyo {
  width: 441px;
  margin: 0 auto 100px;
  background-color: #fff;
  padding: 40px;
  border-radius: 0 30px 0 0;
  box-shadow: 0px 0px 15px rgba(174, 174, 174, 0.15);
}
@media screen and (max-width: 768px) {
  .eiyo {
    width: 100%;
    max-width: 441px;
    padding: 20px 10px;
    margin: 0 auto 50px;
  }
}
.eiyo-title {
  font-size: 2rem;
  margin-bottom: 20px;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .eiyo-title {
    font-size: 1.6rem;
  }
}
.eiyo-line {
  width: 100px;
  margin-bottom: 20px;
}
.eiyo-text {
  font-size: 1.4rem;
  line-height: 1;
  font-weight: 400;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .eiyo-text {
    margin-bottom: 5px;
  }
}
.eiyo dl {
  display: flex;
  justify-content: center;
  width: 341px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .eiyo dl {
    width: 100%;
    max-width: 341px;
  }
}
.eiyo dl dt {
  width: 65%;
  font-size: 1.4rem;
  font-weight: 400;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .eiyo dl dt {
    font-size: 1.2rem;
  }
}
.eiyo dl dd {
  width: 35%;
  font-size: 1.4rem;
  font-weight: 400;
  text-align: left;
  padding-left: 10px;
}
@media screen and (max-width: 768px) {
  .eiyo dl dd {
    font-size: 1.2rem;
  }
}

.Brand-contents {
  width: 100%;
  display: block;
  padding: 120px 0;
}
@media screen and (max-width: 768px) {
  .Brand-contents {
    padding: 32px 0 128px;
  }
}
.Brand-contents-flex {
  height: 100%;
  width: 100%;
  gap: 64px;
}
@media screen and (max-width: 768px) {
  .Brand-contents-flex {
    flex-direction: column;
    align-items: center;
    gap: 32px;
    margin-bottom: 64px;
  }
}
@media screen and (max-width: 768px) {
  .Brand-contents-flex {
    flex-direction: column;
    gap: 32px;
    margin-bottom: 64px;
  }
}
.Brand-contents-about {
  height: 100%;
}
@media screen and (max-width: 768px) {
  .Brand-contents-about {
    width: 100%;
  }
}
.Brand-contents-about-logo {
  width: 311px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .Brand-contents-about-logo {
    width: 220px;
  }
}
.Brand-contents-about-logo img {
  border-radius: 0;
}
.Brand-contents-about-txt {
  margin: 64px 0 32px;
}
@media screen and (max-width: 768px) {
  .Brand-contents-about-txt {
    margin: 32px 0 12px;
  }
}
.Brand-contents-about-txt-ttl {
  text-align: center;
  font-weight: 700;
  margin-bottom: 30px;
}
@media screen and (min-width: 769px) {
  .Brand-contents-about-txt-ttl {
    font-size: 45px;
  }
}
@media screen and (max-width: 768px) {
  .Brand-contents-about-txt-ttl {
    font-size: 19px;
    margin-bottom: 16px;
    line-height: 1.4;
  }
}
.Brand-contents-about-txt-txt {
  font-size: 1.6rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .Brand-contents-about-txt-txt {
    font-size: 1.4rem;
    line-height: 1.6;
    text-align: left;
    margin-bottom: 16px;
  }
}
.Brand-contents-about-img {
  margin-bottom: 140px;
}
@media screen and (max-width: 768px) {
  .Brand-contents-about-img {
    margin-bottom: 64px;
  }
}
.Brand-contents-about-flex {
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  .Brand-contents-about-flex {
    display: flex;
    flex-direction: column-reverse;
    gap: 16px;
    margin-bottom: 40px;
  }
}
.Brand-contents-about-img-list {
  display: flex;
  justify-content: space-between;
  gap: 17px;
  padding-top: 64px;
}
@media screen and (max-width: 768px) {
  .Brand-contents-about-img-list {
    justify-content: center;
    padding-top: 0;
    gap: 32px;
  }
}
.Brand-contents-about-img-list-item {
  width: 125px;
  height: 148px;
}
.Brand-contents-about-img-list-item img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .Brand-contents-about-img-list-item {
    width: 82px;
    height: 148px;
  }
  .Brand-contents-about-img-list-item img {
    height: 100%;
  }
}
.Brand-contents-about-txtbox-ttl {
  font-size: 2.4rem;
  font-weight: 700;
  margin: 32px 0 16px;
}
@media screen and (max-width: 768px) {
  .Brand-contents-about-txtbox-ttl {
    font-size: 1.8rem;
    margin: 16px 0 8px;
  }
}
.Brand-contents-about-txtbox-txt {
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .Brand-contents-about-txtbox-txt {
    font-size: 1.4rem;
    margin-bottom: 10px;
  }
}
.Brand-contents-about-txtbox-txt-cap {
  font-size: 1.2rem;
  margin-top: 16px;
}
@media screen and (max-width: 768px) {
  .Brand-contents-about-txtbox-txt-cap {
    margin-top: 8px;
    line-height: 1.8;
  }
}
.Brand-contents-enter {
  margin-top: 200px;
}
@media screen and (max-width: 768px) {
  .Brand-contents-enter {
    margin-top: 120px;
  }
}
.Brand-contents-enter-ttl {
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 32px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .Brand-contents-enter-ttl {
    margin-bottom: 8px;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .Brand-contents-enter .Brand-contents-img-list-item {
    height: 60px;
  }
  .Brand-contents-enter .Brand-contents-img-list-item img {
    height: 100%;
  }
}
.Brand-contents-intro {
  margin-top: 128px;
}
@media screen and (max-width: 768px) {
  .Brand-contents-intro {
    margin-top: 64px;
  }
}
.Brand-contents-intro-list {
  display: grid;
  justify-content: space-between;
}
@media screen and (min-width: 769px) {
  .Brand-contents-intro-list {
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
  }
}
@media screen and (max-width: 768px) {
  .Brand-contents-intro-list {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}
@media screen and (min-width: 769px) {
  .Brand-contents-intro-list-item {
    max-width: 266px;
  }
}
@media screen and (max-width: 768px) {
  .Brand-contents-intro-list-item {
    width: 100%;
  }
}
.Brand-contents-intro-list-item-txt {
  margin-top: 32px;
}
@media screen and (max-width: 768px) {
  .Brand-contents-intro-list-item-txt {
    margin-top: 8px;
    font-size: 1.4rem;
    line-height: 1.8;
    font-weight: 500;
  }
}
.Brand-contents-voice {
  margin: 128px auto 70px;
}
@media screen and (max-width: 768px) {
  .Brand-contents-voice {
    margin: 64px auto;
  }
}
.Brand-contents-voice-ttl {
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 97px;
}
@media screen and (max-width: 768px) {
  .Brand-contents-voice-ttl {
    margin-bottom: 32px;
  }
}
.Brand-contents-voice-list {
  display: flex;
  flex-direction: column;
  gap: 50px;
}
@media screen and (max-width: 768px) {
  .Brand-contents-voice-list {
    gap: 32px;
  }
}
.Brand-contents-voice-list-item {
  display: flex;
  justify-content: space-between;
  flex-direction: row;
  align-items: center;
  gap: 30px;
}
.Brand-contents-voice-list-item-img {
  width: 205px;
  border-radius: 0;
}
@media screen and (max-width: 768px) {
  .Brand-contents-voice-list-item-img {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  .Brand-contents-voice-list-item-img-name {
    font-size: 15px;
    font-weight: 500;
    text-align: center;
    line-height: 1.2;
    margin-top: 17px;
  }
  .Brand-contents-voice-list-item-img-name span {
    font-size: 2rem;
    font-weight: 700;
    padding: 0 2px;
  }
}
.Brand-contents-voice-list-item-txt {
  width: 680px;
  background: #CEE7F3;
  border-radius: 18px;
  height: -moz-fit-content;
  height: fit-content;
  position: relative;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 30px;
  font-family: noto-sans-jp;
  font-family: "Noto Serif JP", serif;
}
@media screen and (min-width: 769px) {
  .Brand-contents-voice-list-item-txt {
    padding: 32px 32px 50px;
  }
}
@media screen and (max-width: 768px) {
  .Brand-contents-voice-list-item-txt {
    width: 100%;
    font-size: 1.6rem;
    line-height: 24px;
    padding: 16px;
  }
  .Brand-contents-voice-list-item-txt .Brand-contents-voice-list-item-img-name {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 1.4rem;
    margin-top: 50px;
    text-align: right;
  }
  .Brand-contents-voice-list-item-txt .Brand-contents-voice-list-item-img-name span {
    font-size: 1.8rem;
    font-weight: 700;
    padding: 0 2px;
  }
}
.Brand-contents-voice-list-item:nth-child(even) {
  flex-direction: row-reverse;
}
.Brand-contents-voice-list-item:nth-child(even) .Brand-contents-voice-list-item-txt:after {
  content: "";
  position: absolute;
  background: url(../img/voice-icon02.svg) no-repeat;
  background-size: contain;
  width: 39px;
  height: 51px;
  bottom: 34px;
  right: -30px;
}
.Brand-contents-voice-list-item:nth-child(2n+1) {
  flex-direction: row;
}
.Brand-contents-voice-list-item:nth-child(2n+1) .Brand-contents-voice-list-item-txt:before {
  content: "";
  position: absolute;
  background: url(../img/voice-icon01.svg) no-repeat;
  background-size: contain;
  width: 39px;
  height: 51px;
  bottom: 34px;
  left: -30px;
}

/*
.Single-header {
    &-title {
        font-size: $f32;
        font-weight: 500;

        @include mq(small, max) {
            font-size: $f18;
            text-align: center;
            margin: 0 auto;
        }

        &-flex {
            padding: 48px 0 26px;

            @include mq(small, max) {
                padding: 16px 0;
            }

            .wrap {
                display: flex;
                justify-content: flex-start;
                align-items: center;
                gap: 78px;

                @include mq(small, max) {
                    flex-direction: column;
                    align-items: flex-start;
                    gap: 16px;
                }
            }

            &-calender {
                font-size: $f14;
                line-height: 1.1;

                &-year {
                    font-size: $f14;
                    font-weight: 400;
                }

                &-date {
                    font-size: $f40;
                    font-weight: 700;
                }
            }
        }
    }
}
 */
.Single-contents-date {
  font-size: 1.4rem;
  font-weight: 400;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .Single-contents-date {
    font-size: 1.2rem;
  }
}
.Single-contents-title {
  font-size: 36px;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  margin-bottom: 20px;
  line-height: 60px;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .Single-contents-title {
    font-size: 2rem;
    line-height: 1.4;
  }
}
.Single-contents-img {
  margin: 50px auto 20px;
}
@media screen and (max-width: 768px) {
  .Single-contents-img {
    margin: 32px auto 12px;
  }
}
.Single-contents-inner-title {
  font-size: 3rem;
  font-weight: 700;
  margin: 32px 0 16px;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .Single-contents-inner-title {
    font-size: 2rem;
    margin: 12px 0 16px;
  }
}
.Single-contents-inner-text {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.6;
  margin-bottom: 64px;
}
@media screen and (max-width: 768px) {
  .Single-contents-inner-text {
    font-size: 1.4rem;
    line-height: 28px;
    margin-bottom: 32px;
  }
}
.Single-contents-inner-img {
  aspect-ratio: 16/9;
  max-width: 800px;
  margin: 40px auto 64px;
}
@media screen and (max-width: 768px) {
  .Single-contents-inner-img {
    margin: 0 auto 32px;
  }
}
.Single-contents-inner-flex {
  display: flex;
  align-items: center;
  width: calc(100% - 30px);
  gap: 30px;
  margin: 20px 0 64px;
}
@media screen and (max-width: 768px) {
  .Single-contents-inner-flex {
    flex-direction: column;
    margin: 0 auto 32px;
    width: 100%;
  }
}
.Single-contents-inner-flex-text {
  flex-basis: calc(50% - 10px);
  flex-grow: 0;
  flex-shrink: 0;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.6;
}
.Single-contents-inner p {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.6;
  text-align: left;
  padding-bottom: 2rem;
}
@media screen and (max-width: 768px) {
  .Single-contents-inner p {
    font-size: 1.4rem;
  }
}
.Single-contents-inner p a {
  display: inline;
  color: #003366;
  text-decoration: underline;
}
.Single-contents-inner-original-article-top {
  font-size: 1rem !important;
  font-weight: 400;
  color: #7F9BB7;
  margin: 0px auto 50px;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .Single-contents-inner-original-article-top {
    margin-top: 24px;
    font-size: 8px;
    line-height: 1.2;
    margin: 0px auto 20px;
  }
}
.Single-contents-inner-original-article-top a {
  color: #7F9BB7 !important;
  font-weight: 400;
  text-decoration: none !important;
}
.Single-contents-inner-original-article-bottom {
  font-size: 1.4rem;
  color: #7F9BB7;
  text-align: left;
  margin: 50px 0;
}
@media screen and (max-width: 768px) {
  .Single-contents-inner-original-article-bottom {
    margin: 40px 0;
    font-size: 1.2rem;
  }
}
.Single-contents-inner-original-article-bottom a {
  display: inline;
  color: #7F9BB7;
  text-decoration: underline;
  font-size: 1.4rem;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .Single-contents-inner-original-article-bottom a {
    font-size: 1.2rem;
  }
}
.Single-contents h2.wp-block-heading {
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: -0.05em;
  position: relative;
  margin: 100px 0 50px;
  background-color: #f6efe7;
  padding: 40px 20px;
  border-top: 0.5px solid #003366;
  border-bottom: 0.5px solid #003366;
}
@media screen and (max-width: 768px) {
  .Single-contents h2.wp-block-heading {
    text-align: left;
    font-size: 1.6rem;
    margin: 30px 0 20px;
    padding: 20px 10px;
  }
}
.Single-contents h2.wp-block-heading.blog-toptitle {
  font-size: 1.8rem;
  font-weight: 500;
  margin: 0 auto;
  color: #003366 !important;
  background-color: #D6F1F1;
  text-align: center;
  width: 100%;
  padding: 120px 100px 40px;
  border-radius: 6px;
  margin-bottom: 80px;
  position: relative;
  border-top: none;
  border-bottom: none;
}
@media screen and (max-width: 768px) {
  .Single-contents h2.wp-block-heading.blog-toptitle {
    padding: 60px 20px 20px;
    font-size: 1.4rem;
    margin-bottom: 40px;
    text-align: left;
  }
}
.Single-contents h2.wp-block-heading.blog-toptitle::before {
  content: "";
  display: block;
  background-image: url(../img/a.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 66px;
  height: 66px;
  position: absolute;
  top: 40px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .Single-contents h2.wp-block-heading.blog-toptitle::before {
    width: 40px;
    height: 40px;
    top: 10px;
  }
}
.Single-contents h3.wp-block-heading {
  background-color: #f6efe7;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: left;
  margin: 50px 0;
  padding: 6px 0 8px 30px;
  border-radius: 3px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .Single-contents h3.wp-block-heading {
    font-size: 1.6rem;
    font-weight: #999;
    margin: 20px 0;
    padding: 6px 0 6px 20px;
    line-height: 1.4;
  }
}
.Single-contents h3.wp-block-heading::before {
  content: "";
  display: block;
  background-image: url(../img/single_title_line.png);
  width: 1px;
  height: 24px;
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 17px;
}
@media screen and (max-width: 768px) {
  .Single-contents h3.wp-block-heading::before {
    left: 10px;
  }
}
.Single-contents h4.wp-block-heading {
  font-size: 1.6rem;
  font-weight: #999;
  line-height: 1.6;
  text-align: left;
  margin: 10px 0;
  border-radius: 3px;
  position: relative;
  padding-left: 18px;
}
.Single-contents h4.wp-block-heading::before {
  content: "";
  display: block;
  background-color: #EFE1D1;
  border-radius: 50%;
  width: 15px;
  height: 15px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}
@media screen and (max-width: 768px) {
  .Single-contents h4.wp-block-heading {
    line-height: 1.4;
  }
}
.Single-contents .wp-block-image {
  max-width: 800px;
  height: auto;
  margin: 40px auto;
}
@media screen and (max-width: 768px) {
  .Single-contents .wp-block-image {
    height: 100%;
    margin: 20px auto;
  }
}
.Single-contents .wp-block-image img {
  border-radius: 6px;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.Single-contents .wp-element-caption {
  margin: 20px 0 0;
  color: #4f5b6d;
  font-size: 1.4rem;
  line-height: 2.28;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .Single-contents .wp-element-caption {
    font-size: 1.2rem;
    line-height: 2;
    margin: 16px 0 0;
  }
}
.Single-contents .wp-block-list {
  margin-bottom: 20px;
  padding-left: 20px;
}
@media screen and (max-width: 768px) {
  .Single-contents .wp-block-list {
    padding-left: 10px;
  }
}
.Single-contents .wp-block-list li {
  list-style: disc;
  margin-left: 20px;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .Single-contents .wp-block-list li {
    padding-left: 6px;
    font-size: 1.4rem;
    line-height: 1.6;
  }
}
.Single-contents .wp-block-list li.link-references a {
  display: inline;
}
.Single-contents-pager {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin: 128px 0 64px;
  border-radius: 12px;
  border: 2px solid #e2e2e2;
  padding: 40px;
}
@media screen and (max-width: 768px) {
  .Single-contents-pager {
    margin: 64px 0 64px;
    padding: 20px;
    align-items: flex-start;
  }
}
.Single-contents-pager a {
  width: calc((100% - 52px) / 2);
}
@media screen and (max-width: 768px) {
  .Single-contents-pager a {
    width: calc((100% - 20px) / 2);
  }
}
.Single-contents-pager a:nth-child(2) .Single-contents-pager-text-arrow {
  text-align: right;
}
.Single-contents-pager-flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  margin-top: 32px;
}
@media screen and (max-width: 768px) {
  .Single-contents-pager-flex {
    flex-direction: column;
    align-items: center;
    margin-top: 16px;
    gap: 14px;
  }
}
.Single-contents-pager-flex-img {
  width: 140px;
}
@media screen and (max-width: 768px) {
  .Single-contents-pager-flex-img {
    width: 130px;
    height: 130px;
  }
}
.Single-contents-pager-flex-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.Single-contents-pager-flex-text {
  width: 270px;
}
@media screen and (max-width: 768px) {
  .Single-contents-pager-flex-text {
    width: 100%;
  }
}
.Single-contents-pager-flex-text-date {
  font-size: 1.4rem;
  margin-bottom: 4px;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .Single-contents-pager-flex-text-date {
    font-size: 1.2rem;
  }
}
.Single-contents-pager-flex-text-title {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .Single-contents-pager-flex-text-title {
    font-size: 1.4rem;
  }
}
.Single-contents-pager-arrow {
  font-size: 2rem;
  margin-bottom: 20px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .Single-contents-pager-arrow {
    font-size: 1.6rem;
  }
}
.Single-contents-pager-arrow.prev {
  padding-left: 20px;
  text-align: left;
}
.Single-contents-pager-arrow.prev::before {
  content: "";
  position: absolute;
  top: 15px;
  left: 2px;
  width: 10px;
  height: 10px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  transform: rotate(-135deg);
}
@media screen and (max-width: 768px) {
  .Single-contents-pager-arrow.prev::before {
    top: 14px;
    width: 8px;
    height: 8px;
  }
}
.Single-contents-pager-arrow.next {
  text-align: right;
  padding-right: 20px;
}
.Single-contents-pager-arrow.next::before {
  content: "";
  position: absolute;
  top: 15px;
  right: 2px;
  width: 10px;
  height: 10px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  transform: rotate(45deg);
}
@media screen and (max-width: 768px) {
  .Single-contents-pager-arrow.next::before {
    top: 14px;
    width: 8px;
    height: 8px;
  }
}
.Single-contents-related-article {
  margin: 50px 0;
}
@media screen and (max-width: 768px) {
  .Single-contents-related-article {
    margin: 30px 0 0;
  }
}
.Single-contents-related-article-title {
  font-size: 3.2rem;
  font-weight: 500;
  margin-bottom: 40px;
  padding-bottom: 5px;
  border-bottom: 3px dotted #4eaed7;
}
@media screen and (max-width: 768px) {
  .Single-contents-related-article-title {
    font-size: 2.4rem;
    margin-bottom: 20px;
  }
}
.Single-contents-related-article-list {
  display: flex;
  gap: 50px;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .Single-contents-related-article-list {
    gap: 30px;
  }
}
.Single-contents-related-article-list-item {
  display: flex;
  flex-direction: column;
  width: 260px;
}
@media screen and (max-width: 768px) {
  .Single-contents-related-article-list-item {
    width: 100%;
  }
}
.Single-contents-related-article-list-item-img {
  height: 258px;
  border: 1px solid #003366;
  border-radius: 6px;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .Single-contents-related-article-list-item-img {
    height: 160px;
    margin-bottom: 10px;
  }
}
.Single-contents-related-article-list-item-img img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.Single-contents-related-article-list-item a {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.Single-contents-related-article-list-item-date {
  font-size: 1.4rem;
  margin: 8px 0 4px;
}
@media screen and (max-width: 768px) {
  .Single-contents-related-article-list-item-date {
    font-size: 1.2rem;
  }
}
.Single-contents-related-article-list-item-title {
  text-align: left;
  font-weight: 500;
  line-height: 1.4;
  margin-bottom: 8px;
}
@media screen and (max-width: 768px) {
  .Single-contents-related-article-list-item-title {
    font-size: 1.4rem;
  }
}
.Single-contents-tag-list {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 6px;
  width: 100%;
  max-width: 100%;
}
.Single-contents-tag-list-item {
  width: -moz-fit-content;
  width: fit-content;
  padding: 4px 6px;
  line-height: 14px;
  box-sizing: border-box;
  border-radius: 6px;
  background-color: #fff;
  border: 1px solid #4eaed7;
}
.Single-contents-tag-list-item a {
  color: #4eaed7;
  font-size: 1.4rem;
  width: 100%;
  word-break: break-word;
  overflow-wrap: break-word;
  display: block;
}
.Single-contents .underline_green {
  border-bottom: solid 3px #D6F1F1;
}
.Single-contents .blogimg-sp img {
  border-radius: 0px 52px 52px 52px;
}
@media screen and (max-width: 768px) {
  .Single-contents .blogimg-sp img {
    width: 100%;
    height: 300px;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
  }
}
.Single-contents .wp-block-table td,
.Single-contents .wp-block-table th {
  border: 1px solid #EFE1D1;
}
.Single-contents .tablewidth800 {
  max-width: 700px;
  background-color: #fff;
}
.Single-contents .tablewidth800 td, .Single-contents .tablewidth800 th {
  border: 1px solid #EFE1D1;
}
.Single-contents .tablewidth800 tr th:first-child,
.Single-contents .tablewidth800 tr td:first-child {
  background-color: #f6efe7;
}

@media screen and (max-width: 768px) {
  .Campaign-single {
    padding: 0 0 64px;
  }
}
.Campaign-single img {
  border-radius: 6px;
}
.Campaign-single-contents {
  padding-top: 0;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 768px) {
  .Campaign-single-contents {
    padding: 25px 0 32px;
  }
}
.Campaign-single-ttl-top {
  font-size: 45px;
  text-align: center;
  font-weight: 700;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .Campaign-single-ttl-top {
    font-size: 2.6rem;
  }
}
.Campaign-single-ttl {
  font-size: 36px;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .Campaign-single-ttl {
    font-size: 2rem;
  }
}
.Campaign-single-thumb {
  margin: 0 0 32px;
}
@media screen and (max-width: 768px) {
  .Campaign-single-thumb {
    margin-bottom: 22px;
  }
}
.Campaign-single-body h2.wp-block-heading {
  color: #003366;
  font-size: 2rem;
  font-weight: 700;
  margin: 42px 0 20px;
  background: #f6efe7;
  padding: 14px 0;
  line-height: 30px;
  text-align: center;
  border-radius: 3px;
}
@media screen and (max-width: 768px) {
  .Campaign-single-body h2.wp-block-heading {
    font-size: 1.6rem;
    margin: 32px 0 12px;
    padding: 12px 0;
    line-height: 1.4;
  }
}
.Campaign-single-body h6.wp-block-heading {
  color: #333;
  font-size: 12px;
  margin-top: 20px;
  margin-bottom: 30px;
}
.Campaign-single-body p {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.6;
  padding-bottom: 22px;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .Campaign-single-body p {
    font-size: 1.4rem;
    padding-bottom: 16px;
  }
}
.Campaign-single-body .wp-block-list {
  margin-bottom: 20px;
  padding-left: 20px;
}
@media screen and (max-width: 768px) {
  .Campaign-single-body .wp-block-list {
    padding-left: 10px;
  }
}
.Campaign-single-body .wp-block-list li {
  list-style: disc;
  margin-left: 20px;
  text-align: left;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .Campaign-single-body .wp-block-list li {
    font-size: 1.4rem;
    padding-left: 6px;
    line-height: 1.6;
  }
}
@media screen and (max-width: 768px) {
  .Campaign-single-body .wp-block-table {
    overflow-x: scroll;
    margin: 0 calc(50% - 50vw);
    width: 100vw;
  }
  .Campaign-single-body .wp-block-table table {
    margin: 0 30px;
    table-layout: auto;
  }
}

.Campaign-request-list {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 20px;
}
@media screen and (max-width: 768px) {
  .Campaign-request-list {
    justify-content: center;
    align-items: center;
  }
}
.Campaign-request-list-item {
  width: calc((100% - 40px) / 2);
  height: 500px;
  padding: 10px 10px 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .Campaign-request-list-item {
    width: calc((100% - 20px) / 2);
    height: auto;
    padding: 0;
  }
}
.Campaign-request-list-item-img {
  width: 100%;
}
.Campaign-request-list-item-img img {
  width: 100%;
  height: auto;
}
.Campaign-request-list-item.brand-alpina .Campaign-request-list-item-img, .Campaign-request-list-item.brand-hawaiian .Campaign-request-list-item-img {
  width: 100%;
  max-width: 300px;
  margin: 0 auto;
}
.Campaign-request-list-item-ttl {
  font-size: 1.8rem !important;
  font-weight: 700 !important;
  text-align: center;
  padding-bottom: 10px !important;
}
@media screen and (max-width: 768px) {
  .Campaign-request-list-item-ttl {
    font-size: 1.6rem !important;
    padding-bottom: 8px !important;
  }
}

.Campaign-post {
  margin-top: 100px;
}
@media screen and (max-width: 768px) {
  .Campaign-post {
    margin-top: 30px;
  }
}
.Campaign-post-ttl {
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: -0.05em;
  position: relative;
  margin-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .Campaign-post-ttl {
    font-size: 1.6rem;
    margin-bottom: 50px;
  }
}
.Campaign-post-ttl:after {
  content: "";
  display: inline-block;
  background-image: url(../img/article_line.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 241px;
  height: 17px;
  position: absolute;
  bottom: -30px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .Campaign-post-ttl:after {
    width: 150px;
  }
}
.Campaign-post-list {
  display: flex;
  gap: 20px;
  justify-content: center;
  flex-wrap: wrap;
}
.Campaign-post-list-item {
  width: calc((100% - 40px) / 3);
}
@media screen and (max-width: 768px) {
  .Campaign-post-list-item {
    width: calc((100% - 20px) / 2);
  }
}
.Campaign-post-list-item a {
  display: block;
  transition: opacity 0.3s;
}
.Campaign-post-list-item a:hover {
  opacity: 0.7;
}
.Campaign-post-list-item-title {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: left;
  margin: 8px 0;
}
@media screen and (max-width: 768px) {
  .Campaign-post-list-item-title {
    font-size: 1.6rem;
    margin: 8px 0 0;
  }
}
.Campaign-post-list-item-text {
  font-size: 1.6rem;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .Campaign-post-list-item-text {
    font-size: 1.4rem;
  }
}
.Campaign-post-list-item-img img {
  width: 100%;
  height: 100%;
}
.Campaign-post-list-item-ttl {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

h3.single-campaign-title02 {
  text-align: left;
  margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
  .mytoell-link {
    width: 250px;
    line-height: 1.2;
    font-size: 1.4rem;
  }
}

.c-campaign-banner {
  margin: 40px auto;
  max-width: 100%;
  text-align: center;
}
.c-campaign-banner__link {
  display: inline-block;
  transition: all 0.3s ease;
  line-height: 0;
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}
.c-campaign-banner__link:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
  opacity: 0.9;
}
.c-campaign-banner__link img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

.Price-contents {
  width: 100%;
  display: block;
}
@media screen and (max-width: 768px) {
  .Price-contents {
    padding: 30px 0px;
  }
}
.Price-contents-table-span {
  font-size: 1.3rem;
  color: #003366;
}
.Price-contents-table-spanred {
  line-height: 1;
  font-size: 32px;
  font-family: "Jost", sans-serif;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .Price-contents-table-spanred {
    font-size: 22px;
  }
}
.Price-contents-text {
  font-size: 1.6rem;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .Price-contents-text {
    font-size: 1.4rem;
  }
}
.Price-contents-table01 {
  width: 100%;
  margin-bottom: 30px;
  border-collapse: separate;
  border-spacing: 0;
  border-right: 1px solid #f3eadf;
  border-bottom: 1px solid #f3eadf;
}
@media screen and (max-width: 768px) {
  .Price-contents-table01 {
    margin-bottom: 10px;
  }
}
.Price-contents-table01 tr:first-child th {
  visibility: hidden;
  background: none;
  border: none;
}
.Price-contents-table01 tr:first-child td {
  background-color: #fff;
}
.Price-contents-table01 th {
  line-height: 1.2;
  font-size: 1.4rem;
  font-weight: 500;
  text-align: center;
  vertical-align: middle;
  background-color: #fffcd5;
  color: #003366;
  border-top: 1px solid #f3eadf;
  border-left: 1px solid #f3eadf;
  width: 25%;
  padding: 20px 0;
}
@media screen and (max-width: 768px) {
  .Price-contents-table01 th {
    width: 20%;
    padding: 20px 10px;
  }
}
.Price-contents-table01 td {
  line-height: 1.2;
  background-color: #fffcd5;
  vertical-align: middle;
  text-align: center;
  border-left: 1px solid #f3eadf;
  border-top: 1px solid #f3eadf;
  width: 25%;
  padding: 10px 0;
}
@media screen and (max-width: 768px) {
  .Price-contents-table01 td {
    font-size: 1.4rem;
  }
}
.Price-contents-table01-img {
  width: 100%;
}
.Price-contents-table02 {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin-bottom: 50px;
  border-right: 1px solid #f3eadf;
  border-bottom: 1px solid #f3eadf;
  box-shadow: 0px 0px 15px rgba(174, 174, 174, 0.15);
}
.Price-contents-table02 th {
  line-height: 1.2;
  font-size: 1.4rem;
  font-weight: 500;
  text-align: center;
  vertical-align: middle;
  background-color: #f6f1ec;
  color: #003366;
  border-left: 1px solid #f3eadf;
  border-top: 1px solid #f3eadf;
  border-bottom: 1px solid #f3eadf;
  width: 25%;
  padding: 20px 0;
}
@media screen and (max-width: 768px) {
  .Price-contents-table02 th {
    padding: 20px 10px;
  }
}
.Price-contents-table02 td {
  line-height: 1.2;
  background-color: #fff;
  vertical-align: middle;
  text-align: center;
  border-left: 1px solid #f3eadf;
  border-top: 1px solid #f3eadf;
  width: 25%;
  padding: 10px 0;
}
.Price-contents-table-atte {
  text-align: left;
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 400;
  padding-left: 1em; /* 1文字分の余白を作る */
  text-indent: -1em; /* 1行目だけを1文字分左に戻す */
}
.Price-contents .art-text {
  text-align: center;
  position: relative;
  display: inline-block;
  font-weight: 500;
}
.Price-contents-meyasu {
  margin-top: 150px;
  background-color: #FFF7F6;
  padding: 50px;
  box-shadow: 0px 0px 15px rgba(174, 174, 174, 0.15);
}
@media screen and (max-width: 768px) {
  .Price-contents-meyasu {
    margin-top: 60px;
    padding: 30px 10px;
  }
}
.Price-contents-meyasu-fukidashi {
  display: inline-block;
  position: absolute;
  top: 13px;
  left: -21px;
  width: 53px;
  height: 22px;
  -o-object-fit: contain;
     object-fit: contain;
}
.Price-contents-meyasu-flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 50px;
  padding: 0 50px;
}
.Price-contents-meyasu-flex > div {
  width: calc(33.3333333333% - 60px);
}
@media screen and (max-width: 1000px) {
  .Price-contents-meyasu-flex > div {
    width: calc(33.3333333333% - 40px);
  }
}
@media screen and (max-width: 768px) {
  .Price-contents-meyasu-flex > div {
    width: calc(33.3333333333% - 20px);
    max-width: 150px;
  }
}
@media screen and (max-width: 1000px) {
  .Price-contents-meyasu-flex {
    padding: 0 30px;
  }
}
@media screen and (max-width: 768px) {
  .Price-contents-meyasu-flex {
    margin-bottom: 30px;
    padding: 0 10px;
  }
}
.Price-contents-meyasu-illust {
  width: 100%;
  margin-bottom: 10px;
}
.Price-contents-meyasu-text01 {
  line-height: 1.2;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: -0.05em;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .Price-contents-meyasu-text01 {
    font-size: 1.3rem;
    white-space: nowrap;
  }
}
.Price-contents-meyasu-text02 {
  font-size: 2.4rem;
  font-weight: 500;
  letter-spacing: -0.05em;
  font-family: "Jost", sans-serif;
}
@media screen and (max-width: 768px) {
  .Price-contents-meyasu-text02 {
    font-size: 2rem;
  }
}
.Price-contents-meyasu-illust {
  width: 100%;
}
.Price-contents-server-flex {
  justify-content: space-between;
  display: flex;
  padding: 0 50px;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .Price-contents-server-flex {
    padding: 0px;
  }
}
.Price-contents-server-flex > div {
  width: calc(33.3333333333% - 40px);
}
@media screen and (max-width: 768px) {
  .Price-contents-server-flex > div {
    width: calc(33.3333333333% - 20px);
  }
}
.Price-contents-server-img {
  max-width: 100px;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .Price-contents-server-img {
    max-width: 80px;
  }
}
.Price-contents-server-text01 {
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .Price-contents-server-text01 {
    font-size: 1.4rem;
    line-height: 1.2;
    height: 40px;
  }
}
.Price-contents-server-text02 {
  font-weight: 400;
  text-align: left;
  line-height: 1.4;
}
.Price-contents-server-text02 span {
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .Price-contents-server-text02 {
    font-size: 1.4rem;
  }
}

.Price-contents-server-spec-div {
  margin-bottom: 50px;
}

a.Price-contents-server-spec {
  display: inline !important;
  font-size: 1.4rem;
  font-weight: 400;
  background-color: #f6efe7; /* 一時的に固定値にする */
  padding: 5px 15px;
  border-radius: 3px;
  line-height: 1;
  margin-bottom: 50px;
}
a.Price-contents-server-spec span {
  text-decoration: underline;
}

.Price-table-wrapper {
  overflow-x: auto;
  width: 100%;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 20px;
}

/* 1. スクロールバー全体の横幅・高さを指定 */
.Price-table-wrapper::-webkit-scrollbar {
  height: 12px; /* 横スクロールバーの高さ */
  display: block; /* 常に表示させるための指定 */
  background: transparent; /* ここは透明にする */
}

/* 2. スクロールバーの背景（レール） */
.Price-table-wrapper::-webkit-scrollbar-track {
  background: #fff; /* 薄いグレーなど */
  border-radius: 10px;
}

/* 3. 動く部分（つまみ） */
.Price-table-wrapper::-webkit-scrollbar-thumb {
  background: #7F9BB7; /* 目立つ色にする */
  border-radius: 10px;
  border: 3px solid #fff;
}

/* 4. つまみをホバーした時やタップした時（任意） */
.Price-table-wrapper::-webkit-scrollbar-thumb:hover {
  background: #7083b1;
}

.Price-contents-table03 {
  width: 100%;
  margin-bottom: 50px;
  border-collapse: separate;
  border-spacing: 0;
  border-right: 1px solid #f3eadf;
  border-bottom: 1px solid #f3eadf;
  border-collapse: separate; /* 重要: border-collapse: collapseだとstickyが効かないブラウザがあります */
  border-spacing: 0; /* 枠線の隙間を埋める */
  min-width: 500px; /* 横スクロールさせるために最低幅を確保 */
  box-shadow: 0px 0px 15px rgba(174, 174, 174, 0.15);
}
@media screen and (max-width: 768px) {
  .Price-contents-table03 {
    margin-bottom: 20px;
  }
}
.Price-contents-table03 tr:first-child th {
  background: #f6efe7;
  border: none;
}
.Price-contents-table03 tr:first-child td {
  background-color: #fff;
}
.Price-contents-table03 th {
  line-height: 1.2;
  font-size: 1.4rem;
  font-weight: 500;
  text-align: center;
  vertical-align: middle;
  color: #003366;
  border-top: 1px solid #f3eadf;
  border-left: 1px solid #f3eadf;
  width: 25%;
  padding: 20px 0;
}
@media screen and (max-width: 768px) {
  .Price-contents-table03 th {
    width: 20%;
    padding: 20px 6px;
  }
}
.Price-contents-table03 {
  /* 2. 左端の列を固定する設定 */
}
.Price-contents-table03 th:first-child {
  position: sticky;
  left: 0; /* 左端に固定 */
  z-index: 10; /* 他のセルより上に表示 */
}
.Price-contents-table03 th.Price-contents-alpina-bg {
  background-color: #EBF7FF;
}
@media screen and (max-width: 768px) {
  .Price-contents-table03 th.Price-contents-alpina-bg {
    font-size: 1.2rem;
    font-weight: 400;
  }
}
.Price-contents-table03 th.Price-contents-alpina-bg span {
  font-family: "Noto Serif JP", serif;
  font-size: 1.8rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .Price-contents-table03 th.Price-contents-alpina-bg span {
    font-size: 1.6rem;
  }
}
.Price-contents-table03 th.Price-contents-hawaii-bg {
  background-color: #D6F1F1;
}
@media screen and (max-width: 768px) {
  .Price-contents-table03 th.Price-contents-hawaii-bg {
    font-size: 1.2rem;
    font-weight: 400;
  }
}
.Price-contents-table03 th.Price-contents-hawaii-bg span {
  font-family: "Noto Serif JP", serif;
  font-size: 1.8rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .Price-contents-table03 th.Price-contents-hawaii-bg span {
    font-size: 14px;
  }
}
.Price-contents-table03 td {
  line-height: 1.2;
  background-color: #fff;
  vertical-align: middle;
  text-align: center;
  border-left: 1px solid #f3eadf;
  border-top: 1px solid #f3eadf;
  width: 25%;
  padding: 20px 0;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .Price-contents-table03 td {
    font-size: 1.4rem;
    width: 20%;
  }
}
.Price-contents-table03-img {
  width: 100%;
}
.Price-contents-bottle-name {
  font-family: "Noto Serif JP", serif;
  font-size: 2rem;
  font-weight: 700;
  background-color: #EBF7FF;
  display: inline-block;
  padding: 5px 20px;
  border-radius: 3px;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .Price-contents-bottle-name {
    font-size: 1.6rem;
    margin-bottom: 30px;
  }
}
.Price-contents-bottle-namep {
  font-family: "Noto Serif JP", serif;
  font-size: 2rem;
  font-weight: 700;
  background-color: #D6F1F1;
  display: inline-block;
  padding: 5px 20px;
  border-radius: 3px;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .Price-contents-bottle-namep {
    font-size: 1.6rem;
    margin-bottom: 30px;
  }
}
.Price-contents-bottle-flex {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .Price-contents-bottle-flex {
    margin-bottom: 50px;
  }
}
.Price-contents-bottle-li {
  width: 225px;
  background-color: #fff;
  padding: 30px 0;
  border-radius: 6px;
  box-shadow: 0px 0px 15px rgba(174, 174, 174, 0.15);
}
@media screen and (max-width: 768px) {
  .Price-contents-bottle-li {
    width: 150px;
    padding: 15px 0;
  }
}
.Price-contents-bottle-size {
  font-size: 2rem;
  font-weight: 700;
}
.Price-contents-bottle-img {
  width: 95px;
  margin-bottom: 20px;
}
.Price-contents-bottle-text {
  font-size: 1.8rem;
  line-height: 1.2;
  margin-bottom: 20px;
}
.Price-contents-bottle-atteone {
  background-color: #6ED9FE;
  position: relative;
  display: inline-block;
  color: #fff;
  font-size: 1.2rem;
  border-radius: 50px;
  letter-spacing: -0.1em;
  padding: 0px 6px 0 19px;
}
.Price-contents-bottle-atteone::before {
  content: "";
  display: block;
  background-image: url(../img/price_one.png);
  width: 11px;
  height: 9px;
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 8px;
  left: 6px;
}
.Price-contents-bottle-attere {
  background-color: #0CCB7D;
  position: relative;
  display: inline-block;
  color: #fff;
  font-size: 1.2rem;
  border-radius: 50px;
  letter-spacing: -0.1em;
  padding: 0px 6px 0 19px;
}
.Price-contents-bottle-attere::before {
  content: "";
  display: block;
  background-image: url(../img/price_return.png);
  width: 10px;
  height: 14px;
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 5px;
  left: 7px;
}
.Price-contents-bottle-atteArea {
  background-color: #EBF7FF;
  position: relative;
  display: inline-block;
  color: #003366;
  font-size: 1.2rem;
  border-radius: 50px;
  letter-spacing: -0.05em;
  padding: 0px 10px;
}
.Price-contents-bottle-atte-li {
  display: flex;
  gap: 20px;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .Price-contents-bottle-atte-li {
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }
}

/* --- スクロールバー全体のカスタマイズ --- */
/* 1. コンテナ：スクロールを強制 */
.Price-Area-delivery-table-container {
  width: 100%;
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 20px;
  padding-bottom: 0px; /* バーが見えるスペースをしっかり確保 */
}

/* 2. スクロールバー本体：サイズを指定（背景色は塗らないのがコツ） */
.Price-Area-delivery-table-container::-webkit-scrollbar {
  height: 12px; /* 横スクロールバーの太さ */
  display: block; /* 常時表示を促す */
  background: transparent; /* ここは透明にする */
}

/* 3. トラック（バーの通り道）：ここで背景色と角丸を指定 */
.Price-Area-delivery-table-container::-webkit-scrollbar-track {
  background-color: #F9F7F2 !important;
  border-radius: 10px !important; /* 道自体を角丸にする */
  margin: 0 10px; /* 左右に少し隙間を作ると角丸が際立ちます */
}

/* 4. つまみ（動く部分）：ここが重要 */
.Price-Area-delivery-table-container::-webkit-scrollbar-thumb {
  background-color: #7F9BB7 !important; /* つまみの色 */
  border-radius: 10px !important; /* つまみを角丸にする */
  border: 3px solid #f1f1f1 !important;
}

/* 5. ホバー時 */
.Price-Area-delivery-table-container::-webkit-scrollbar-thumb:hover {
  background-color: #7F9BB7 !important;
}

/* スペック詳細 */
.productPrice-server_specButton {
  display: block;
  margin: 0 auto 50px;
  padding: 5px 20px;
  background-color: #f6efe7;
  border-radius: 3px;
  text-align: center;
  color: #003366;
  font-weight: 500;
  height: 36px;
  line-height: 1.6;
  text-decoration: underline;
  cursor: pointer;
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .productPrice-server_specButton {
    margin-bottom: 20px;
    max-width: 100%;
    font-size: 1.4rem;
    padding: 3px 10;
    height: 32px;
  }
}
.productPrice-server_specDetail {
  overflow: hidden;
  max-height: 0;
  padding: 0; /* 閉じている時は上下paddingを0に */
  margin: 0 auto 50px;
  width: 100%;
  max-width: 1000px;
  opacity: 0;
  transition: max-height 0.4s ease, opacity 0.3s ease, padding 0.3s ease, margin 0.3s ease;
}
.productPrice-server_specDetail.is-open {
  display: block;
  opacity: 1;
  padding: 40px 20px 30px;
  background: #fff;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .productPrice-server_specDetail.is-open {
    width: 100%;
    min-width: auto;
    margin-bottom: 50px;
    padding: 40px 5px 20px;
  }
}
.productPrice-server_specDetail-close {
  display: none;
}
.productPrice-server_specDetail.is-open .productPrice-server_specDetail-close {
  display: block;
  position: absolute;
  top: 10px;
  left: 10px;
  width: 30px;
  height: 30px;
  background: transparent;
  border: none;
  font-size: 24px;
  color: #003366;
  cursor: pointer;
  z-index: 20;
  line-height: 1;
  padding: 0;
}
.productPrice-server_specDetail.is-open .productPrice-server_specDetail-close:hover {
  opacity: 0.7;
}
@media screen and (max-width: 768px) {
  .productPrice-server_specDetail.is-open .productPrice-server_specDetail-close {
    top: 5px;
    left: 1px;
  }
}
.productPrice-server_specDetail {
  /* --- メディア（画像スクロール）部分 --- */
}
.productPrice-server_specDetail-media {
  margin-bottom: 20px;
  position: relative;
}
.productPrice-server_specDetail-mediaPc, .productPrice-server_specDetail-mediaSp {
  display: flex;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  /* 1. 全体サイズ */
}
.productPrice-server_specDetail-mediaPc::-webkit-scrollbar, .productPrice-server_specDetail-mediaSp::-webkit-scrollbar {
  height: 12px; /* 横スクロールバーの太さ */
  display: block;
  background: transparent; /* ここは透明にする */
}
.productPrice-server_specDetail-mediaPc, .productPrice-server_specDetail-mediaSp {
  /* 2. トラック（通り道）：ベージュ */
}
.productPrice-server_specDetail-mediaPc::-webkit-scrollbar-track, .productPrice-server_specDetail-mediaSp::-webkit-scrollbar-track {
  background-color: #F9F7F2; /* $bage相当の色 */
  border-radius: 10px !important;
  margin: 0 10px; /* 左右に少し隙間を作ると角丸が際立ちます */
}
.productPrice-server_specDetail-mediaPc, .productPrice-server_specDetail-mediaSp {
  /* 3. つまみ（動く部分）：ネイビー */
}
.productPrice-server_specDetail-mediaPc::-webkit-scrollbar-thumb, .productPrice-server_specDetail-mediaSp::-webkit-scrollbar-thumb {
  background-color: #7F9BB7; /* $navy2相当の色 */
  border-radius: 10px;
  border: 3px solid #F9F7F2; /* トラックと同じ色の枠線で隙間を作る */
}
.productPrice-server_specDetail-mediaPc, .productPrice-server_specDetail-mediaSp {
  /* Firefox用の設定 */
  scrollbar-width: thin;
  scrollbar-color: #7F9BB7 #f5f5f0;
}
.productPrice-server_specDetail-media picture {
  display: block;
  flex-shrink: 0;
}
.productPrice-server_specDetail-media picture img {
  width: 100%;
  height: auto;
  pointer-events: none;
}
.productPrice-server_specDetail-media picture {
  /* 1列目を固定 */
}
.productPrice-server_specDetail-media picture:first-child {
  position: sticky;
  left: 0;
  z-index: 10;
  background: #fff;
}
.productPrice-server_specDetail-media {
  /* PC表示のサイズ定義 */
}
.productPrice-server_specDetail-mediaPc picture:first-child {
  width: 151px;
  flex-shrink: 0;
}
.productPrice-server_specDetail-mediaPc picture:last-of-type {
  width: 888px;
  flex-shrink: 0;
}
.productPrice-server_specDetail-mediaPc picture img {
  width: 100% !important; /* 親のpictureの幅に合わせる */
  height: auto; /* アスペクト比を維持 */
  max-width: none; /* もし他でmax-width: 100%などがかかっていたら解除 */
  display: block;
  border-radius: 0px;
}
.productPrice-server_specDetail-media {
  /* スマホ表示のサイズ定義 */
}
.productPrice-server_specDetail-mediaSp picture:first-child {
  width: 125px;
  flex-shrink: 0;
}
.productPrice-server_specDetail-mediaSp picture:last-of-type {
  width: 564px;
  flex-shrink: 0;
}
.productPrice-server_specDetail-mediaSp picture img {
  width: 100% !important; /* 親のpictureの幅に合わせる */
  height: auto; /* アスペクト比を維持 */
  max-width: none; /* もし他でmax-width: 100%などがかかっていたら解除 */
  display: block;
  border-radius: 0px;
}

.Price-Area .conteiner {
  background-color: #fff;
  padding: 50px 30px;
  border-radius: 6px;
  box-shadow: 0px 0px 15px rgba(174, 174, 174, 0.15);
}
@media screen and (max-width: 768px) {
  .Price-Area .conteiner {
    padding: 30px 10px;
  }
}
.Price-Area-map {
  width: 250px;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .Price-Area-map {
    margin-bottom: 20px;
  }
}
.Price-Area-delivery-table-container {
  width: 100%;
  overflow-x: auto; /* 横スクロールを許可 */
  -webkit-overflow-scrolling: touch;
}
.Price-Area-delivery-table {
  width: 100%;
  border-collapse: collapse;
  text-align: center;
  border-right: 1px solid #EFE1D1;
  border-bottom: 1px solid #EFE1D1;
  min-width: 600px;
  border-collapse: separate; /* stickyのためにcollapseではなくseparate */
  border-spacing: 0;
  margin: 0 auto 10px;
  background-color: #fff;
}
.Price-Area-delivery-table th, .Price-Area-delivery-table td {
  font-size: 1.6rem;
  border-top: 1px solid #EFE1D1;
  border-left: 1px solid #EFE1D1;
  padding: 15px 10px;
  vertical-align: middle;
  text-align: center;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .Price-Area-delivery-table th, .Price-Area-delivery-table td {
    font-size: 1.4rem;
    padding: 10px 5px;
  }
}
.Price-Area-col-title {
  position: sticky;
  left: 0; /* 左端に固定 */
  z-index: 2; /* スクロールされる中身より上に配置 */
  background-color: #f6efe7;
  text-align: center;
  width: 20%;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: -0.05em;
}
.Price-Area-col-title span {
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  white-space: nowrap;
}
.Price-Area-area-kanto {
  background-color: #EBF7FF;
  font-weight: 500;
}
.Price-Area-area-honshu {
  background-color: #fffcd5;
  font-weight: 500;
}
.Price-Area-area-outer {
  background-color: #FFF7F6;
  font-weight: 500;
}
.Price-Area-delivery-method {
  background-color: #fff;
}
.Price-Area-price-free {
  color: #F55D45;
  font-size: 42px;
  font-weight: bold;
  font-family: "Jost", sans-serif;
}
.Price-Area-price-free span {
  font-size: 1.6rem;
  margin-left: 2px;
}
.Price-Area-bottle-label {
  display: inline-block;
  background-color: #7F9BB7;
  color: white;
  border-radius: 15px;
  padding: 2px 8px 3px;
  font-size: 1.4rem;
  margin-bottom: 5px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: -0.05em;
}
.Price-Area-item-group {
  margin-bottom: 12px;
}
.Price-Area-item-group:last-child {
  margin-bottom: 0;
}
.Price-Area-item-group span {
  font-size: 13px;
}

.Price-Pay h4.art-text {
  font-weight: 500;
}
.Price-Pay .art-text {
  text-align: center;
  margin-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .Price-Pay .art-text {
    margin-bottom: 30px;
  }
}
.Price-Pay-box {
  margin-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .Price-Pay-box {
    margin-bottom: 30px;
  }
}
.Price-Pay-box .art-text {
  text-align: left;
}
.Price-Pay-title {
  font-size: 1.8rem;
  font-family: "Noto Serif JP", serif;
  background-color: #f6efe7;
  font-weight: 700;
  display: inline-block;
  padding: 0 20px;
  border-radius: 3px;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .Price-Pay-title {
    font-size: 1.6rem;
  }
}
.Price-Pay-img {
  width: 304px;
}
.Price-Pay-atte {
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .Price-Pay-atte {
    font-size: 12px;
    letter-spacing: -0.05em;
    white-space: nowrap;
  }
}

.Campaign-contents-flex-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 100px;
  gap: 40px;
}
.Campaign-contents-flex-list-item {
  width: 280px;
}
.Campaign-contents-flex-list-item a {
  display: block;
}
.Campaign-contents-flex-list-item img.Campaign-contents-img {
  display: block;
  width: 100%;
  height: auto;
  box-shadow: 0px 0px 15px rgba(174, 174, 174, 0.15) !important;
}

.App-contents {
  width: 100%;
  display: block;
  padding: 100px 0;
}
@media screen and (max-width: 768px) {
  .App-contents {
    padding: 30px 0px;
  }
}
.App-contents article {
  padding-top: 50px;
}
@media screen and (max-width: 768px) {
  .App-contents article {
    padding-top: 0px;
  }
}
.App-contents-cp {
  display: inline-block;
  margin-bottom: 50px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .App-contents-cp {
    margin-bottom: 30px;
  }
}
.App-contents-cptxt {
  font-size: 2rem;
  color: #F55D45;
  margin-bottom: 30px;
  position: relative;
  display: inline-block;
  font-weight: 700;
}
.App-contents-cptxt span {
  display: inline-block;
  /* infinite を追加して無限ループ、1sで1周期 */
  animation: jump 1.8s ease-in-out infinite;
}
.App-contents-cptxt {
  /* 跳ねる動きの定義 */
}
@keyframes jump {
  0%, 100% {
    transform: translateY(0);
  }
  30% {
    transform: translateY(-8px); /* 30%の時点で一番高く上がる */
  }
  60% {
    transform: translateY(0); /* 早めに地面に戻ることで「間」を作る */
  }
}
@media screen and (max-width: 768px) {
  .App-contents-cptxt {
    margin-bottom: 10px;
    font-size: 1.6rem;
  }
}
.App-contents-cptxt::before {
  content: "";
  position: absolute;
  top: 21px;
  left: -25px;
  width: 28px;
  height: 1px;
  background-color: #F55D45;
  transform: rotate(70deg);
  display: block;
  z-index: 1;
}
.App-contents-cptxt::after {
  content: "";
  position: absolute;
  top: 21px;
  right: -25px;
  width: 28px;
  height: 1px;
  background-color: #F55D45;
  transform: rotate(-70deg);
  display: block;
  z-index: 1;
}
.App-contents-cptxt02 {
  font-size: 2rem;
  line-height: 1.2;
  margin-bottom: 10px;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .App-contents-cptxt02 {
    margin-bottom: 10px;
    font-size: 1.6rem;
  }
}
.App-contents-cptxt02 span {
  font-size: 1.4rem;
}
.App-contents-flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
}
.App-contents-flex > div {
  flex: 1;
  min-width: 0;
  max-width: 500px;
}
.App-contents-img {
  width: 400px;
  margin: 10px auto;
}
@media screen and (max-width: 768px) {
  .App-contents-img {
    width: 250px;
    margin-bottom: 0px;
  }
}
.App-contents-text {
  font-size: 28px;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .App-contents-text {
    font-size: 16px;
    letter-spacing: -0.05em;
    white-space: nowrap;
  }
}
.App-contents-btn {
  border-radius: 50px;
  max-width: 280px;
  height: auto;
  box-shadow: 0 6px 0 #efe1d1;
  margin-bottom: 100px;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .App-contents-btn {
    box-shadow: 0 4px 0 #efe1d1;
    margin-bottom: 50px;
  }
}
.App-contents-btn:hover {
  transform: translateY(3px);
  box-shadow: 0 3px 0 #efe1d1;
}
.App-contents-btn:active {
  transform: translateY(6px);
  box-shadow: none;
}
.App-contents-atte {
  text-align: left;
}
.App-contents-atte ul {
  margin-bottom: 30px;
}
.App-contents-atte-title {
  margin-bottom: 20px;
}
.App-contents-atte-li {
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 400;
  padding-left: 1em;
  text-indent: -1em;
}
@media screen and (max-width: 768px) {
  .App-contents-atte-li {
    letter-spacing: -0.05em;
  }
}

.btn-link02-section {
  padding: 0;
}

/* 合わせて読みたいおすすめ記事　*/
.mustsee-flex {
  display: flex;
  justify-content: center;
  gap: 100px;
}
.mustsee-flex-li {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .mustsee-flex {
    gap: 30px;
  }
}
.mustsee-flex-item {
  width: 100%;
  height: 300px;
  border: 1px solid #003366;
  margin-bottom: 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .mustsee-flex-item {
    height: 150px;
  }
}
.mustsee-flex-item-title {
  text-align: left;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .mustsee-flex-item-title {
    font-size: 1.4rem;
  }
}

/* 記事を探す　*/
.Top-contents {
  width: 100%;
  display: block;
}
.Top-contents-reccomend-category-list {
  display: flex;
  width: calc(100% - 100px);
  flex-wrap: wrap;
  gap: 10px;
  margin: 0px auto 50px;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .Top-contents-reccomend-category-list {
    gap: 5px;
    width: 100%;
    margin: 0px auto 20px;
  }
}
.Top-contents-reccomend-flex-list {
  display: grid;
  grid-template-columns: repeat(3, 260px);
  gap: 20px;
}
@media screen and (min-width: 768px) {
  .Top-contents-reccomend-flex-list {
    grid-template-columns: repeat(3, minmax(0, 260px));
    justify-content: space-between;
  }
}
@media screen and (max-width: 768px) {
  .Top-contents-reccomend-flex-list {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}
@media screen and (max-width: 768px) {
  .Top-contents-reccomend-flex-list-item a {
    display: flex;
    gap: 10px;
  }
}
.Top-contents-reccomend-flex-list-item-img {
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
  margin-bottom: 20px;
  border: 1px solid #003366;
  border-radius: 6px;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .Top-contents-reccomend-flex-list-item-img {
    width: 80px;
    height: 80px;
    margin-bottom: 0;
  }
}
.Top-contents-reccomend-flex-list-item-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.Top-contents-reccomend-flex-list-item .Article-contents-topics-flex-column-text-title {
  text-align: left;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .Top-contents-reccomend-flex-list-item .Article-contents-topics-flex-column-text-title {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .Top-contents-campaign {
    padding-bottom: 64px;
  }
}
.Top-contents-campaign-flex-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
@media screen and (min-width: 769px) {
  .Top-contents-campaign-flex-list {
    gap: 20px;
  }
}
@media screen and (max-width: 768px) {
  .Top-contents-campaign-flex-list {
    gap: 16px;
  }
}
.Top-contents-campaign-flex-list-item {
  width: calc(33.3333333333% - 30px);
  border-radius: 6px;
}
@media screen and (max-width: 1000px) {
  .Top-contents-campaign-flex-list-item {
    width: calc(50% - 10px);
  }
}
@media screen and (max-width: 768px) {
  .Top-contents-campaign-flex-list-item {
    width: calc(50% - 10px);
  }
}
@media screen and (min-width: 769px) {
  .Top-contents-campaign-flex-list-item {
    padding-bottom: 34px;
  }
}
.Top-contents-campaign-flex-list-item-img img {
  border-radius: 6px;
  height: 100%;
}
.Top-contents-application {
  background: #FFCEE1;
  margin: 100px 0;
}
@media screen and (max-width: 768px) {
  .Top-contents-application {
    margin: 0;
  }
}
.Top-contents-application-flex {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(16px, 5vw, 60px);
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .Top-contents-application-flex {
    flex-direction: column;
    gap: 30px;
  }
}
.Top-contents-application-btn {
  text-align: center;
  background-image: url(../img/nav_cta.png);
  border-radius: 100px;
  background-size: contain;
  background-repeat: no-repeat;
  width: 250px;
  height: 77px;
  line-height: 1.2;
  font-size: 2rem;
  padding-top: 12px;
  font-weight: 500;
  display: inline-block;
  transition: all 0.3s ease;
  box-shadow: 0 5px 0 #f5a3c3;
}
@media screen and (max-width: 768px) {
  .Top-contents-application-btn {
    width: 231px;
    height: 71px;
    background-size: cover;
    padding-top: 10px;
  }
}
.Top-contents-application-btn:hover {
  transform: translateY(3px);
  box-shadow: 0 3px 0 #f5a3c3;
}
.Top-contents-application-btn:active {
  transform: translateY(6px);
  box-shadow: none;
}
.Top-contents-application-btn span {
  font-size: 1.6rem;
  letter-spacing: -0.1em;
}
.Top-contents-application-btngreen {
  text-align: center;
  background-image: url(../img/nav_cta_green.png);
  border-radius: 100px;
  background-size: contain;
  background-repeat: no-repeat;
  width: 250px;
  height: 77px;
  line-height: 1.2;
  font-size: 2rem;
  padding-top: 12px;
  font-weight: 500;
  display: inline-block;
  transition: all 0.3s ease;
  box-shadow: 0 5px 0 #f5a3c3;
}
@media screen and (max-width: 768px) {
  .Top-contents-application-btngreen {
    width: 231px;
    height: 71px;
    background-size: cover;
    padding-top: 10px;
  }
}
.Top-contents-application-btngreen:hover {
  transform: translateY(3px);
  box-shadow: 0 3px 0 #f5a3c3;
}
.Top-contents-application-btngreen:active {
  transform: translateY(6px);
  box-shadow: none;
}
.Top-contents-application-btngreen span {
  font-size: 1.6rem;
  letter-spacing: -0.1em;
}
.Top-contents {
  /* 右下の標準アイコン一式を「透明」にする */
}
.Top-contents #ricoh-smartchat-root #ricoh-smartchat-app {
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity 0.3s;
}
.Top-contents #ricoh-smartchat-root #ricoh-smartchat-launcher {
  display: block !important;
  visibility: visible !important;
}
.Top-contents {
  /* チャット窓が開いたときは表示する */
}
.Top-contents #ricoh-smartchat.jsPanel-standard {
  opacity: 1 !important;
  pointer-events: auto !important;
  visibility: visible !important;
}
.Top-contents-insta {
  margin: 100px 0;
}
@media screen and (max-width: 768px) {
  .Top-contents-insta {
    margin: 30px 0;
  }
}
.Top-contents-insta-box {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  gap: 50px;
  margin-top: 50px;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .Top-contents-insta-box {
    margin-top: 20px;
  }
}
.Top-contents-insta-box-img {
  width: 280px;
}
@media screen and (max-width: 1000px) {
  .Top-contents-insta-box-img {
    width: 200px;
  }
}
@media screen and (max-width: 768px) {
  .Top-contents-insta-box-img {
    width: 200px;
  }
}

/* 元のCSS 該当箇所未確認 */
@media screen and (min-width: 769px) {
  .Article-contents-topics-flex {
    display: grid;
    grid-template-columns: 0.8fr 1fr;
    justify-content: space-between;
    align-items: start;
    gap: 28px;
  }
}
@media screen and (max-width: 768px) {
  .Article-contents-topics-flex {
    display: flex;
    flex-direction: column;
    gap: 32px;
  }
}
.Article-contents-topics-flex-column-img {
  height: 400px;
}
.Article-contents-topics-flex-column-img img {
  height: 100%;
}
@media screen and (max-width: 768px) {
  .Article-contents-topics-flex-column-img {
    width: 100%;
    display: block;
    padding-bottom: 8px;
    height: 174px;
  }
  .Article-contents-topics-flex-column-img img {
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    height: 100%;
    width: 100%;
  }
}
.Article-contents-topics-flex-column-text-date {
  font-size: 1.6rem;
  font-weight: 400;
  margin-top: 8px;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .Article-contents-topics-flex-column-text-date {
    margin-top: 8px;
    font-size: 1.4rem;
  }
}
.Article-contents-topics-flex-column-text-title {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.2;
  margin: 8px 0;
}
.Article-contents-topics-flex-column-box {
  display: flex;
  flex-wrap: wrap;
  gap: 28px;
}
.Article-contents-topics-flex-column-box-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 16px 27px;
}
@media screen and (max-width: 768px) {
  .Article-contents-topics-flex-column-box-list {
    width: 100%;
    gap: 16px;
  }
}
.Article-contents-topics-flex-column-box-list-item {
  width: calc(50% - 14px);
}
.Article-contents-topics-flex-column-box-list-item a {
  display: flex;
  gap: 8px;
  flex-direction: column;
}
.Article-contents-topics-flex-column-box-list-item-img {
  aspect-ratio: 16/9;
  height: 144px;
}
.Article-contents-topics-flex-column-box-list-item-img img {
  height: 100%;
}
@media screen and (max-width: 768px) {
  .Article-contents-topics-flex-column-box-list-item-img {
    width: 155px;
    height: 87px;
  }
  .Article-contents-topics-flex-column-box-list-item-img img {
    height: 100%;
  }
}
@media screen and (max-width: 768px) {
  .Article-contents-topics-flex-column-box-list-item .Article-contents-topics-flex-column-text-date {
    margin-top: 0;
  }
  .Article-contents-topics-flex-column-box-list-item .Article-contents-topics-flex-column-text-title {
    font-size: 1.4rem;
  }
}
.Article-contents-topics-tag-flex-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 10px;
}
@media screen and (max-width: 768px) {
  .Article-contents-topics-tag-flex-list {
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 6px;
    width: 100%;
    max-width: 100%;
  }
}
.Article-contents-topics-tag-flex-list-item {
  width: -moz-fit-content;
  width: fit-content;
  line-height: 21px;
  padding: 0 11px;
  border-radius: 3px;
  background-color: #fff;
  color: #003366;
}
@media screen and (max-width: 768px) {
  .Article-contents-topics-tag-flex-list-item {
    padding: 4px 6px;
    line-height: 14px;
    box-sizing: border-box;
  }
}
.Article-contents-topics-tag-flex-list-item a {
  color: #003366;
  font-size: 1.2rem;
  letter-spacing: -0.05em;
  font-weight: 400;
  width: 100%;
  word-break: break-word;
  overflow-wrap: break-word;
  display: block;
}/*# sourceMappingURL=style.css.map */