@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif&family=Shippori+Mincho+B1&display=swap");
@import url("https://fonts.cdnfonts.com/css/neue-haas-grotesk-display-pro");

/* 日本語 charset "utf-8 */
/*--------------------------------------------------------------------------
reset
---------------------------------------------------------------------------*/
body,
h1,
h2,
h3,
h4,
h5,
h6,
div,
p,
ul,
ol,
li,
dl,
dt,
dd,
pre,
form,
blockquote,
fieldset,
input,
address,
th,
td {
  margin: 0;
  padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
caption,
address,
em {
  font-style: normal;
  font-weight: normal;
}

ul,
ol,
li,
dl,
dt,
dd {
  list-style-type: none;
  list-style-position: outside;
}

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

fieldset {
  border: none;
}

img {
  border: 0;
  vertical-align: bottom;
}

br {
  letter-spacing: 0;
}

button,
fieldset,
form,
input,
label,
legend,
select,
textarea {
  font-family: inherit;
  font-style: inherit;
  font-weight: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

optgroup {
  font-family: inherit;
  font-style: inherit;
  font-weight: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

a {
  text-decoration: none;
  color: inherit;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default padding */
ul,
ol {
  padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Set core root defaults */
html {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
  list-style: none;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
  text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img {
  max-width: 100%;
  display: block;
  width: 100%;
}

/* Natural flow and rhythm in articles by default */
article>*+* {
  margin-top: 1em;
}

/* Blur images when they have no alt attribute */
img:not([alt]) {
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="10" /></filter></svg>#filter');
  -webkit-filter: blur(10px);
  filter: blur(10px);
}

/* フォームリセット */
input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

main {
  font-family: "Helvetica Neue", Helvetica, "Neue Haas Grotesk Display Pro", Arial, "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "游ゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka Meiryo, "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

main .helv {
  font-family: "Helvetica Neue", Helvetica, "Neue Haas Grotesk Display Pro", Arial, Verdana, Roboto, "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

main .yugo {
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "游ゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Noto Sans JP", Osaka Meiryo, "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

main .section_style {
  background: linear-gradient(to bottom, #c6e3fa 0%, rgba(255, 255, 255, 0.2) 100%);
}

.pcnone {
  display: none;
}

.spnone {
  display: inline;
}

@media print,
screen and (max-width: 767px) {
  .pcnone {
    display: inline;
  }

  .spnone {
    display: none;
  }
}

.slideText {
  -webkit-animation-name: slideText;
  animation-name: slideText;
  -webkit-animation-duration: 1.2s;
  animation-duration: 1.2s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes slideText {
  from {
    transform: translateY(100%);
    opacity: 0;
  }

  to {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes slideText {
  from {
    transform: translateY(100%);
    opacity: 0;
  }

  to {
    transform: translateY(0);
    opacity: 1;
  }
}

.fadeImg {
  opacity: 0;
  -webkit-animation-name: fadeImg;
  animation-name: fadeImg;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
}

@-webkit-keyframes fadeImg {
  from {
    transform: scale(1.2);
    opacity: 0;
  }

  to {
    transform: scale(1);
    opacity: 1;
  }
}

@keyframes fadeImg {
  from {
    transform: scale(1.2);
    opacity: 0;
  }

  to {
    transform: scale(1);
    opacity: 1;
  }
}

.fadeText {
  opacity: 0;
  -webkit-animation-name: fadeUp;
  animation-name: fadeUp;
  -webkit-animation-duration: 1.8s;
  animation-duration: 1.8s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

@-webkit-keyframes fadeUp {
  from {
    transform: translateY(40px);
    opacity: 0;
  }

  to {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes fadeUp {
  from {
    transform: translateY(40px);
    opacity: 0;
  }

  to {
    transform: translateY(0);
    opacity: 1;
  }
}

.delighter .titleTop {
  transition-property: opacity, transform, -webkit-filter;
  transition-property: opacity, transform, filter;
  transition-property: opacity, transform, filter, -webkit-filter;
  transition-duration: 1s;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.5, 0.2, 0.5, 1);
  transform: translateY(120%);
}

.delighter.started .titleTop {
  transform: translateY(0);
}

.delighter.slowTop {
  transition-property: opacity, transform, -webkit-filter;
  transition-property: opacity, transform, filter;
  transition-property: opacity, transform, filter, -webkit-filter;
  transition-duration: 1.2s;
  transition-delay: 0.4s;
  transition-timing-function: ease-in-out;
  opacity: 0;
  transform: translateY(10%);
}

.delighter.started.slowTop {
  transform: translateY(0);
  opacity: 1;
}

.delighter .zoomOut {
  transition-duration: 1.2s;
  transition-delay: 0.4s;
  transition-timing-function: ease-out;
  transform: scale(1.2, 1.2);
  opacity: 0;
}

.delighter.started .zoomOut {
  transform: scale(1, 1);
  opacity: 1;
}

.delighter .borderRight:after {
  transition-duration: 1.2s;
  transition-timing-function: cubic-bezier(0.5, 0.2, 0.5, 1);
  transform: scale(0, 1);
  transform-origin: left top;
}

.delighter.started .borderRight:after {
  transform: scale(1, 1);
}

.delighter.slideRight {
  transform: translate(-100%, 0);
}

.delighter .slideLeft {
  transform: translate(100%, 0);
}

.delighter.slideRight,
.delighter.slideLeft {
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-duration: 1.4s;
  transition-delay: 0.4s;
}

.delighter.started.slideRight,
.delighter.started.slideLeft {
  transform: translate(0, 0);
}

.delighter.fadeUp {
  transition-duration: 0.5s;
  transition-delay: 0s;
  transition-timing-function: linear;
  transform: translateY(5%);
  opacity: 0;
}

.delighter.started.fadeUp {
  transform: translateY(0);
  opacity: 1;
}

.delighter.imageUp {
  transform: translateY(40px);
  transition-property: transform, opacity;
  transition-duration: 0.8s;
  transition-timing-function: cubic-bezier(0.5, 0.2, 0.5, 1);
  opacity: 0;
}

.delighter.started.imageUp {
  transform: translate(0);
  opacity: 1;
}

.delighter .textUp {
  transform: translateY(100%);
  transition-property: transform;
  transition-duration: 1s;
  transition-timing-function: cubic-bezier(0.5, 0.2, 0.5, 1);
}

.delighter.started .textUp {
  transform: translateY(0);
}

/*PCサイズ*/
main .banner {
  position: fixed;
  z-index: 10;
  width: 417px;
  right: 20px;
  bottom: 6.6rem;
  box-shadow: 0 0 16px rgba(0, 0, 0, 0.08);
  display: none;
}

main .hero .hero__main {
  padding-top: 64px;
  position: relative;
  overflow: hidden;
  display: flex;
  justify-content: space-between;
  flex-wrap: nowrap;
}

main .hero .hero__main .hero__image {
  width: 100%;
}

main .hero .hero__main .hero__image img {
  -o-object-fit: cover;
  object-fit: cover;
}

main .hero .hero__main .textarea {
  width: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  text-align: center;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.2) 0%, rgba(141, 144, 133, 0.2) 100%);
}

main .hero .hero__main .hero__title {
  font-weight: bold;
  text-align: center;
}

main .hero .hero__main .hero__title span {
  display: block;
  font-size: 2.0555555556vw;
  font-weight: bold;
  width: auto;
  line-height: 1.5;
}

main .hero .hero__main .hero__title span.icon {
  padding-left: 5.8888888889vw;
  position: relative;
  font-size: 2.6666666667vw;
}

main .hero .hero__main .hero__title span.icon:before {
  content: "";
  display: block;
  position: absolute;
  width: 3.4444444444vw;
  height: 3.4444444444vw;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  background-image: url("../images/icon_suits.svg");
  background-size: contain;
}

main .section_style .inner {
  max-width: 1280px;
  width: 100%;
  margin: auto;
  padding: 90px 40px;
}

main .section_style .inner .styling .styling_block {
  display: flex;
}

main .section_style .inner .styling .styling_block .styling__imagearea {
  position: relative;
  width: 45%;
}

main .section_style .inner .styling .styling_block .styling__imagearea .swiper-button {
  z-index: 2;
  top: calc(50% - 14px);
  position: absolute;
  display: block;
  width: 27px;
  height: 27px;
  border-top: 1px solid #000000;
  border-right: 1px solid #000000;
  cursor: pointer;
}

main .section_style .inner .styling .styling_block .styling__imagearea .swiper-button-prev {
  left: -6px;
  transform: rotate(-135deg);
}

main .section_style .inner .styling .styling_block .styling__imagearea .swiper-button-next {
  right: -6px;
  transform: rotate(45deg);
}

main .section_style .inner .styling .styling_block .styling__textarea {
  width: 55%;
  padding-bottom: 35px;
}

main .section_style .inner .styling .styling_block .styling__textarea .styling__textarea_inner {
  padding: 80px 0 0;
}

main .section_style .inner .styling .styling_block .styling__textarea .styling__textarea_inner .styling__title {
  font-size: 30px;
  font-weight: bold;
  margin-bottom: 32px;
  margin-bottom: 2.6666666667%;
}

main .section_style .inner .styling .styling_block .styling__textarea .styling__textarea_inner p {
  font-size: 16px;
  font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);
  line-height: 2.1875;
}

main .section_style .inner .styling .styling_block .styling__textarea .styling__textarea_inner b {
  font-size: 20px;
}

main .section_style .inner .styling .styling_block .styling__textarea .styling__textarea_inner p.model_size {
  margin-top: 60px;
  margin-top: 5%;
}

main .section_style .inner .styling .item_block {
  display: flex;
  max-width: 1200px;
  margin: auto;
}

main .section_style .inner .styling .item_block .item__imagearea {
  padding: 0;
}

main .section_style .inner .styling .item_block .item__textarea .item__textarea_inner .item .item__name {
  font-size: 20px;
  font-weight: bold;
}

main .section_style .inner .styling .item_block .item__textarea .item__textarea_inner .item .item__name span {
  font-weight: 400;
  font-size: 15px;
  margin-left: 0;
  display: block;
}

main .section_style .inner .styling .item_block .item__textarea .item__textarea_inner .item .item__detail {
  font-size: 16px;
  margin-top: 10px;
  line-height: 2.1875;
}

main .section_style .inner .styling .item_block .item__textarea .item__textarea_inner .item .item__detail .note {
  font-size: 14px;
}

main .section_style .inner .styling .item_block .item__textarea .item__textarea_inner .item:not(:first-of-type) {
  margin-top: 30px;
}

main .section_style .inner .styling .item_block .item__textarea .item_text {
  margin-top: 25px;
  font-size: 14px;
  line-height: 1.7857142857;
}

main .section_style .intro {
  margin-bottom: 70px;
  text-align: center;
}

main .section_style .intro h2 {
  display: inline-block;
  font-size: 36px;
  font-weight: bold;
  letter-spacing: 1px;
  line-height: 1;
  position: relative;
}

main .section_style .intro h2:before,
main .section_style .intro h2:after {
  position: absolute;
  content: "";
  display: block;
  width: 70px;
  height: 1px;
  background: #000000;
  bottom: 0;
  top: 0;
  margin: auto;
}

main .section_style .intro h2:before {
  left: -90px;
}

main .section_style .intro h2:after {
  right: -90px;
}

main .section_style .intro p {
  text-align: center;
  font-size: 16px;
  /*margin-top: 40px;*/
  line-height: 2.1875;
}

main .section_style .intro p:first-of-type {
  /*margin-top: 32px;*/
}

main .section_style .styling .styling_block .styling__textarea {
  padding-left: 4.1666666667%;
}

main .section_style .styling .styling_block .styling__textarea .styling__textarea_inner {
  padding-top: 12.1212121212%;
}

main .section_style .styling .item_block.block01 {
  flex-direction: row-reverse;
  margin-top: 60px;
}

main .section_style .styling .item_block.block01 .item__imagearea {
  width: 45.25%;
}

main .section_style .styling .item_block.block01 .item__textarea {
  width: 54.75%;
  display: flex;
  align-items: center;
  //*padding-top: 75px;**/
}

main .section_style .styling .item_block.block01 .item__textarea_inner {
  padding-left: 15.9817351598%;
  padding-right: 7.9147640791%;
}

main .section_style .styling .item_block table {
  width: 130%;
}

main .section_style .styling .item_block table th {
  font-weight: 400;
  font-size: 16px;
  text-align: left;
}

main .section_style .styling .item_block table td {
  font-size: 16px;
  text-align: left;
  //** width: 50%; **//
}

main .section_style .styling .item_block div.item_table {
  display: -ms-grid;
  display: grid;
  gap: 38px;
  -ms-grid-columns: 28px 38px 1fr 38px 1fr;
  grid-template-columns: 28px 1fr 1fr;
}

main .section_style .styling .item_block div.item_table+.item_table {
  margin-top: 38px;
}

main .section_style .styling .item_block div.item_table div.no {
  font-size: 24px;
  font-weight: bold;
}

main .section_style .styling .item_block div.item_table div.item {
  margin-top: 0 !important;
}

main .section_style .styling .item_block div.note {
  margin-top: 30px;
  font-size: 15px;
}

main .section_style.section_style03 .inner .styling .item_block.block01 {
  margin-top: 78px;
}

main .section_style.section_style03 .inner .styling .item_block.block01 .item__imagearea {
  width: 55%;
}

main .section_style.section_style03 .inner .styling .item_block.block01 .item__textarea {
  width: 45%;
  padding-top: 0;
}

main .section_style.section_style03 .inner .styling .item_block.block01 .item__textarea_inner {
  padding-left: 0;
  width: 100%;
}

main .section_shop {
  padding-bottom: 70px;
  background-color: transparent;
  background-image: url();
}

main .section_shop .inner {
  max-width: 1280px;
  width: 100%;
  margin: auto;
  padding: 90px 40px 0;
}

main .section_shop .inner .intro {
  margin-bottom: 90px;
}

main .section_shop .inner ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 50px;
}

main .section_shop .inner ul li {
  width: 275px;
  height: 60px;
  margin: 0 5px;
}

main .section_shop .inner ul li .btn {
  width: 100%;
  height: 100%;
  line-height: 1;
  background-color: #fff;
}

main .section_shop .inner ul li .btn a {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  text-align: center;
  font-size: 20px;
}

main .section_shop .shop_slide {
  position: relative;
  width: 100%;
}

main .section_shop .shop_slide p {
  font-size: 18px;
  margin-top: 20px;
  text-align: center;
}

main .section_shop .shop_slide .swiper-button {
  z-index: 2;
  top: calc(50% - 30px);
  position: absolute;
  display: block;
  width: 27px;
  height: 27px;
  border-top: 1px solid #000000;
  border-right: 1px solid #000000;
  cursor: pointer;
}

main .section_shop .shop_slide .swiper-button-prev_shop {
  left: 24vw;
  transform: rotate(-135deg);
}

main .section_shop .shop_slide .swiper-button-next_shop {
  right: 24vw;
  transform: rotate(45deg);
}

main .section_campaign {
  background: #c6e3fa;
  padding: 100px 0;
}

main .section_campaign .inner {
  max-width: 1280px;
  width: 100%;
  margin: auto;
  padding: 0 40px;
}

main .section_campaign .inner .heading {
  text-align: center;
}

main .section_campaign .inner .heading h2 {
  display: inline-block;
  font-size: 36px;
  font-weight: bold;
  letter-spacing: 1px;
  line-height: 1;
  position: relative;
  margin-bottom: 50px;
}

main .section_campaign .inner .heading h2:before,
main .section_campaign .inner .heading h2:after {
  position: absolute;
  content: "";
  display: block;
  width: 70px;
  height: 1px;
  background: #000000;
  top: 0;
  bottom: 0;
  margin: auto;
}

main .section_campaign .inner .heading h2:before {
  left: -90px;
}

main .section_campaign .inner .heading h2:after {
  right: -90px;
}

main .section_campaign .inner .heading .campaign_bnr {
  max-width: 600px;
  margin: auto;
}

main .section_campaign .inner .heading .campaign_bnr img {
  width: 100%;
}

main .section_campaign .inner .heading h3 {
  margin: 35px auto 24px;
  font-size: 32px;
  line-height: 1.5625;
  text-align: center;
  font-weight: bold;
}

main .section_campaign .inner .heading>p {
  font-size: 20px;
  line-height: 1.75;
}

main .section_campaign .inner .btn_area {
  text-align: center;
  margin-top: 40px;
}

main .section_campaign .inner .btn_area .btn {
  width: 460px;
  height: 80px;
  line-height: 1;
  background-color: #fff;
}

main .section_campaign .inner .btn_area .btn a {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  text-align: center;
  font-size: 20px;
}

main .section_campaign .inner .btn_area .btn:nth-of-type(n+2) {
  margin-top: 30px;
}

main .section_campaign .inner .btn_area p {
  margin-top: 10px;
  font-size: 18px;
}

main .section_campaign .inner .guidance {
  margin-top: 72px;
}

main .section_campaign .inner .guidance h4 {
  font-size: 16px;
}

main .section_campaign .inner .guidance>p {
  font-size: 16px;
  line-height: 2.1875;
}

main p.attention {
  font-size: 16px;
  text-align: left;
  max-width: 1280px;
  margin: 30px auto 60px;
  padding: 0 40px;
}

/*SPサイズ*/
@media print,
screen and (max-width: 767px) {
  main .banner {
    z-index: 10;
    width: 100%;
    right: 0;
    bottom: 1.6rem;
  }

  main .hero .hero__main {
    display: block;
  }

  main .hero .hero__main .hero__image {
    width: 100%;
  }

  main .hero .hero__main .textarea {
    width: 100%;
    height: 44.8717948718vw;
  }

  main .hero .hero__main .hero__title {
    font-weight: bold;
    text-align: center;
    position: relative;
    padding-left: 12.3076923077vw;
  }

  main .hero .hero__main .hero__title:before {
    content: "";
    display: block;
    position: absolute;
    width: 9.2307692308vw;
    height: 9.2307692308vw;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    background-image: url("../images/icon_suits.svg");
    background-size: contain;
  }

  main .hero .hero__main .hero__title span {
    font-size: 5.1282051282vw;
    text-align: left;
  }

  main .hero .hero__main .hero__title span.icon {
    padding-left: 0vw;
    font-size: 6.1538461538vw;
  }

  main .hero .hero__main .hero__title span.icon:before {
    content: none;
  }

  main .section_style .inner {
    max-width: initial;
    padding: 14.1025641026vw 0 10.2564102564vw;
  }

  main .section_style .inner .styling .styling_block {
    display: block;
  }

  main .section_style .inner .styling .styling_block .styling__imagearea {
    position: relative;
    width: 89.7435897436vw;
    margin: auto;
  }

  main .section_style .inner .styling .styling_block .styling__imagearea .swiper-button {
    top: calc(50% - 7.6923076923vw);
    width: 5.1282051282vw;
    height: 5.1282051282vw;
  }

  main .section_style .inner .styling .styling_block .styling__imagearea .swiper-button-prev {
    left: -1.5384615385vw;
    transform: rotate(-135deg);
  }

  main .section_style .inner .styling .styling_block .styling__imagearea .swiper-button-next {
    right: -1.5384615385vw;
    transform: rotate(45deg);
  }

  main .section_style .inner .styling .styling_block .styling__textarea {
    width: 89.7435897436vw;
    margin: auto;
    padding-bottom: 0;
  }

  main .section_style .inner .styling .styling_block .styling__textarea .styling__textarea_inner {
    padding: 8.9743589744vw 0 0;
  }

  main .section_style .inner .styling .styling_block .styling__textarea .styling__textarea_inner .styling__title {
    font-size: 5.1282051282vw;
    margin-bottom: 6.4102564103vw;
    text-align: center;
  }

  main .section_style .inner .styling .styling_block .styling__textarea .styling__textarea_inner p {
    font-size: 3.5897435897vw;
    line-height: 2.1875;
  }

  main .section_style .inner .styling .styling_block .styling__textarea .styling__textarea_inner p b {
    font-size: 4.6153846154vw;
  }

  main .section_style .inner .styling .item_block {
    display: flex;
    max-width: 307.6923076923vw;
    margin: auto;
  }

  main .section_style .inner .styling .item_block .item__imagearea {
    padding: 0;
  }

  main .section_style .inner .styling .item_block .item__textarea .item__textarea_inner .item .item__name {
    font-size: 4.6153846154vw;
    position: relative;
    line-height: 1;
  }

  main .section_style .inner .styling .item_block .item__textarea .item__textarea_inner .item .item__name span {
    font-weight: 400;
    font-size: 3.3333333333vw;
    margin-top: 5.1282051282vw;
    text-align: center;
  }

  main .section_style .inner .styling .item_block .item__textarea .item__textarea_inner .item .item__detail {
    font-size: 3.5897435897vw;
    margin-top: 2.5641025641vw;
    text-align: left;
  }

  main .section_style .inner .styling .item_block .item__textarea .item__textarea_inner .item .item__detail .note {
    font-size: 3.5897435897vw;
  }

  main .section_style .inner .styling .item_block .item__textarea .item__textarea_inner .item:not(:first-of-type) {
    margin-top: 7.6923076923vw;
  }

  main .section_style .inner .styling .item_block .item__textarea .item_text {
    margin-top: 6.4102564103vw;
    font-size: 3.5897435897vw;
    line-height: 1.7857142857;
  }

  main .section_style .intro {
    margin-bottom: 12.8205128205vw;
  }

  main .section_style .intro h2 {
    font-size: 5.1282051282vw;
  }

  main .section_style .intro h2:before,
  main .section_style .intro h2:after {
    width: 7.6923076923vw;
  }

  main .section_style .intro h2:before {
    left: -14.1025641026vw;
  }

  main .section_style .intro h2:after {
    right: -14.1025641026vw;
  }

  main .section_style .intro p {
    font-size: 3.5897435897vw;
    /*margin-top: 7.6923076923vw;*/
  }

  main .section_style .intro p:first-of-type {
    /*margin-top: 8.2051282051vw;*/
  }

  main .section_style .styling .styling_block .styling__textarea {
    padding: 0;
  }

  main .section_style .styling .styling_block .styling__textarea .styling__textarea_inner {
    padding-top: 12.1212121212%;
  }

  main .section_style .styling .item_block.block01 {
    display: block;
    margin-top: 12.8205128205vw;
  }

  main .section_style .styling .item_block.block01 .item__imagearea {
    width: 100%;
  }

  main .section_style .styling .item_block.block01 .item__textarea {
    width: 89.7435897436vw;
    margin: auto;
    padding-top: 8.9743589744vw;
    text-align: center;
  }

  main .section_style .styling .item_block.block01 .item__textarea_inner {
    padding: 0;
    width: 100%;
  }

  main .section_style .styling .item_block table {
    width: 80%;
    margin: auto;
  }

  main .section_style .styling .item_block table th {
    font-size: 3.5897435897vw;
    text-align: center;
  }

  main .section_style .styling .item_block table td {
    font-size: 3.5897435897vw;
    text-align: center;
    width: 50%;
  }

  main .section_style .styling .item_block div.item_table {
    display: -ms-grid;
    display: grid;
    gap: 4.8717948718vw;
    -ms-grid-columns: 5.3846153846vw 4.8717948718vw 1fr 4.8717948718vw 1fr;
    grid-template-columns: 5.3846153846vw 1fr 1fr;
    text-align: left;
  }

  main .section_style .styling .item_block div.item_table+.item_table {
    margin-top: 6.4102564103vw;
  }

  main .section_style .styling .item_block div.item_table div.no {
    font-size: 4.6153846154vw;
  }

  main .section_style .styling .item_block div.item_table div.item {
    white-space: nowrap;
  }

  main .section_style .styling .item_block div.note {
    margin-top: 6.4102564103vw;
    font-size: 3.3333333333vw;
  }

  main .section_style.section_style03 .inner .styling .item_block.block01 {
    margin-top: 12.8205128205vw;
  }

  main .section_style.section_style03 .inner .styling .item_block.block01 .item__imagearea {
    width: 100%;
  }

  main .section_style.section_style03 .inner .styling .item_block.block01 .item__textarea {
    width: 89.7435897436vw;
    padding-top: 0;
    margin-top: 8.9743589744vw;
  }

  main .section_style.section_style03 .inner .styling .item_block.block01 .item__textarea_inner {
    padding-left: 0;
    width: 100%;
  }

  main .section_shop {
    padding-bottom: 15.3846153846vw;
  }

  main .section_shop .inner {
    max-width: initial;
    padding: 10.2564102564vw 5.1282051282vw 0;
  }

  main .section_shop .inner .intro {
    margin-bottom: 12.8205128205vw;
  }

  main .section_shop .inner .intro h2:before,
  main .section_shop .inner .intro h2:after {
    content: none;
  }

  main .section_shop .inner .intro p {
    text-align: justify;
    -moz-text-align-last: left;
    text-align-last: center;
    word-break: break-all;
  }

  main .section_shop .inner ul {
    margin-top: 12.8205128205vw;
  }

  main .section_shop .inner ul li {
    /* width: 33.3333333333vw; */
    width: revert-rule;
    height: 8.9743589744vw;
    margin: 2.0512820513vw;
  }

  main .section_shop .inner ul li .btn a {
    font-size: 4.1025641026vw;
  }

  main .section_shop .shop_slide {
    position: relative;
    width: 100%;
    padding: 0 5.1282051282vw;
  }

  main .section_shop .shop_slide p {
    font-size: 3.5897435897vw;
    margin-top: 5.1282051282vw;
  }

  main .section_shop .shop_slide .swiper-button {
    top: calc(50% - 7.6923076923vw);
    width: 3.5897435897vw;
    height: 3.5897435897vw;
  }

  main .section_shop .shop_slide .swiper-button-prev_shop {
    left: 1.2820512821vw;
  }

  main .section_shop .shop_slide .swiper-button-next_shop {
    right: 1.2820512821vw;
  }

  main .section_campaign {
    margin-top: 10.2564102564vw;
    padding: 10.2564102564vw 0;
  }

  main .section_campaign .inner {
    max-width: initial;
    padding: 0 5.1282051282vw;
  }

  main .section_campaign .inner .heading h2 {
    font-size: 5.1282051282vw;
    margin-bottom: 7.6923076923vw;
  }

  main .section_campaign .inner .heading h2:before,
  main .section_campaign .inner .heading h2:after {
    width: 7.6923076923vw;
  }

  main .section_campaign .inner .heading h2:before {
    left: -14.1025641026vw;
  }

  main .section_campaign .inner .heading h2:after {
    right: -14.1025641026vw;
  }

  main .section_campaign .inner .heading .campaign_bnr {
    max-width: 76.9230769231vw;
  }

  main .section_campaign .inner .heading h3 {
    margin: 7.6923076923vw auto 5.1282051282vw;
    font-size: 5.1282051282vw;
  }

  main .section_campaign .inner .heading>p {
    font-size: 3.5897435897vw;
    line-height: 1.75;
    text-align: justify;
    -moz-text-align-last: left;
    text-align-last: left;
    word-break: break-all;
  }

  main .section_campaign .inner .btn_area {
    margin-top: 7.6923076923vw;
  }

  main .section_campaign .inner .btn_area .btn {
    width: 70.5128205128vw;
    height: 15.3846153846vw;
  }

  main .section_campaign .inner .btn_area .btn a {
    font-size: 5.1282051282vw;
  }

  main .section_campaign .inner .btn_area .btn:nth-of-type(n+2) {
    margin-top: 7.6923076923vw;
  }

  main .section_campaign .inner .btn_area p {
    margin-top: 2.5641025641vw;
    font-size: 3.3333333333vw;
  }

  main .section_campaign .inner .guidance {
    margin-top: 9.7435897436vw;
  }

  main .section_campaign .inner .guidance h4 {
    font-size: 3.0769230769vw;
  }

  main .section_campaign .inner .guidance>p {
    font-size: 3.0769230769vw;
    line-height: 2.1875;
  }

  main p.attention {
    font-size: 3.0769230769vw;
    margin: 17.9487179487vw auto 23.0769230769vw;
    padding: 0 5.1282051282vw;
    text-align:left;
  }
}

@media print,
screen and (max-width: 767px) {
  main .hero .hero__main {
    padding-top: 40px;
  }
}

/* ベーススタイル */
.responsive-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 40px 20px; /* 縦・横の余白 */
  max-width: 800px;
  margin: 0 auto;
  padding: 20px;
}

.grid-item {
  width: 100%; /* 基本はSP用の1カラム（縦並び） */
}

.grid-item h3 {
  font-size: 24px;
  margin: 0 0 8px 0;
  letter-spacing: 0.05em;
  font-family: sans-serif;
}

.grid-item .highlight {
  color: #4fc3f7; /* 画像に近い水色 */
}

.grid-item p {
  font-size: 14px;
  margin: 0;
  color: #333;
}

/* PC版（768px以上）の調整 */
@media (min-width: 768px) {
  .grid-item {
    width: calc(50% - 10px); /* 2カラムにする（gap分を引く） */
  }
}

@media (min-width: 768px) {
  .logo_pc {
    width: 70%;
    margin: 0 auto;
  }
  .logo_sp {
    display: none;
  }
  .copy {
    text-align: center;
    font-size:18px;
  }
}

@media (max-width: 768px) {
  .logo_pc {
    display: none;
  }
  .logo_sp {
    width: auto;
    margin: 0 auto;
  }
  .copy {
    text-align: left;
    font-size:18px;
  }
}