@charset "utf-8";



/* =============
  claude部分
================ */
  :root{
    --cream:#ece0d0;
    --cream-deep:#e4d5c0;
    --paper:#f8f2e8;
    --ink:#2a231d;
    --ink-soft:#5b4f43;
    --wine:#7c1f24;
    --wine-deep:#5c1418;
    --umber:#4f4438;
    --umber-soft:#7a6a56;
    --line:#c7b499;
    --gold:#a9895f;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    color: #000;
    font-family: fot-tsukumin-pr6n, sans-serif;
    font-weight: 300;
    font-style: normal;
    line-height:1.9;
    letter-spacing:.04em;
    overflow: visible !important;
  }
  .serif{font-family: fot-tsukumin-pr6n, sans-serif;
font-weight: 300;
font-style: normal;}
 
  /* ---------- texture ---------- */
/*
  body::before{
    content:'';
    position:fixed; inset:0;
    pointer-events:none;
    z-index:2000;
    opacity:.05;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    mix-blend-mode:multiply;
  }
*/
 
 /* =========================
   ROOT
========================= */

:root {
  --color-text: #182039;
  --color-blue: #173f9f;
  --color-pale-blue: #eef3fb;
  --color-line: #9eb1d6;
  --color-paper: #fbfaf7;
  --color-white: #ffffff;
  --color-gray: #7c8391;
}



/* =========================
   HEADER
========================= */

.site-header {
  /* display: flex; */
  align-items: center;
  width: min(1160px, calc(95% - 46px));
  margin: 0 auto;
  height: 40px;
  margin-inline: auto;
  border-bottom: 1px solid var(--color-line);
}

header img{
	width: 19%;
}
h1 {
  margin: 0;
  font-size: clamp(26px, 18px, 54px);
  font-weight: 400;
  line-height: 1.65;
  letter-spacing: 0.04em;
  text-align: left;
  font-family: "fot-tsukumin-pr6n", sans-serif;
}

h1 em {
  color: var(--color-blue);
  font-style: normal;
  font-family: "fot-tsukumin-pr6n", sans-serif;
}
/* =========================
   HERO
========================= */

.hero2 {
  display: grid;
  grid-template-columns:
    minmax(0, 1.08fr)
    minmax(330px, 0.92fr);
  align-items: center;
  gap: clamp(0px, 0vw, 120px);
  width: min(1160px, calc(90% - 48px));
  min-height: 720px;
  margin-inline: auto;
  padding-block: 0px 0px;
}


/* HERO IMAGE */

.hero2__visual {
  position: relative;
  z-index: 0;

  padding: 0 34px 34px 0;
}

.hero2__visual::after {
  content: "";

  position: absolute;
  z-index: -1;
  inset: 34px 0 0 38px;

  background-color: var(--color-pale-blue);
}

.hero2__visual img {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1.026;
  object-fit: cover;
}

.hero2__label,
.hero2__caption,
.eyebrow,
.feature__en,
.scroll-cue,
.footer small {
  font-family: "Cormorant Garamond", serif;
  letter-spacing: 0.16em;
}

.hero2__label {
  position: absolute;
  top: 24px;
  left: -26px;
  padding: 8px 12px;
  color: var(--color-white);
  background-color: var(--color-blue);
  font-size: 11px;
  writing-mode: vertical-rl;
  z-index: 9999;
}

.hero2__caption {
  display: block;

  margin-top: 15px;

  color: #6d7890;
  font-size: 11px;
}

/* =========================
   HERO IMAGE LINK
========================= */

.hero2__image-link {
  position: relative;
  display: block;
  overflow: hidden;
  color: #ffffff;
  text-decoration: none;
  z-index: 99;
}


/* 画像をズームさせるための枠 */

.hero2__image {
  display: block;
  overflow: hidden;
  z-index: 999;
}

.hero2__image img {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1.026;
  object-fit: cover;

  transition:
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.9s cubic-bezier(0.22, 1, 0.36, 1);

  will-change: transform;
}


/* ホバー時の薄いオーバーレイ */

.hero2__image-link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 999999;
  background:
    linear-gradient(
      135deg,
      rgba(23, 63, 159, 0.04),
      rgba(24, 32, 57, 0.3)
    );
  opacity: 0;
  transition:
    opacity 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
}


/* VIEW ITEM */

.hero2__view {
  position: absolute;
  right: 24px;
  bottom: 24px;
  z-index: 999999;
  display: flex;
  align-items: center;
  gap: 14px;
  opacity: 0;
  transform: translateY(12px);
  transition:
    opacity 0.5s ease,
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
}

.hero2__view-text {
  font-family: "Cormorant Garamond", serif;
  font-size: 11px;
  letter-spacing: 0.2em;
}


/* 丸い矢印 */

.hero2__view-arrow {
  display: grid;
  place-items: center;

  width: 42px;
  height: 42px;

  color: var(--color-text);
  background-color: rgba(255, 255, 255, 0.94);
  border-radius: 50%;

  font-family: sans-serif;
  font-size: 15px;

  transform: rotate(-8deg);

  transition:
    color 0.4s ease,
    background-color 0.4s ease,
    transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}


/* =========================
   HOVER
========================= */

@media (hover: hover) {

  .hero2__image-link:hover img {
    transform: scale(1.045);
    filter: brightness(0.94);
  }

  .hero2__image-link:hover::after {
    opacity: 1;
  }

  .hero2__image-link:hover .hero__view {
    opacity: 1;
    transform: translateY(0);
  }

  .hero2__image-link:hover .hero__view-arrow {
    color: #ffffff;
    background-color: var(--color-blue);
    transform: rotate(0deg);
  }

}


/* キーボード操作時 */

.hero2__image-link:focus-visible {
  outline: 2px solid var(--color-blue);
  outline-offset: 5px;
}

.hero2__image-link:focus-visible::after {
  opacity: 1;
}

.hero2__image-link:focus-visible .hero__view {
  opacity: 1;
  transform: translateY(0);
}

/* PCではVIEW ITEMを表示 */

@media screen and (min-width: 761px) {

  .hero2__view {
    display: flex;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

}
/* =========================
   SMARTPHONE
========================= */

@media (max-width: 760px) {
.site-header {
  /* display: flex; */
  align-items: center;
  width: min(1160px, calc(95% - 46px));
  margin: 0 auto;
  height: 40px;
  margin-inline: auto;
  border-bottom: 1px solid var(--color-line);
}

header img{
	width: 30%;
}
  .hero2__view {
    right: 14px;
    bottom: 14px;

    gap: 9px;

    opacity: 1;
    transform: none;
  }

  .hero2__view-text {
    display: none;
  }

  .hero2__view-arrow {
    width: 36px;
    height: 36px;

    font-size: 13px;
  }
	h1 {
  margin: 0;
 font-size: clamp(26px, 3.7vw, 37px);
  font-weight: 400;
 line-height: 1.4;
  letter-spacing: 0.04em;
  text-align: center;
}

h1 em {
  color: var(--color-blue);
  font-style: normal;
}
 
}
/* HERO TEXT */

.eyebrow {
  margin: 0 0 22px;
  color: var(--color-blue);
  font-size: 13px;
  text-align: left;
}



.lead {
  margin: 30px 0 0;

  font-size: clamp(14px, 1.25vw, 17px);
  line-height: 2.15;
  letter-spacing: 0.08em;
}


/* =========================
   FEATURES
========================= */
@media screen and (min-width: 768px) {
.features {
  padding: 0;
  background-color: var(--color-white);
  margin: 0 auto;
}

.feature {
  /* max-width: 820px; */
}

.feature + .feature {
  margin-top: 65px;
}

.feature--offset {
  margin-left: auto;
}


/* FEATURE HEADING */

.feature__heading {
  display: flex;
  justify-content: center;
  grid-template-columns: 110px 1fr;
  align-items: start;
  gap: 38px;
  margin-bottom: 34px;
}

.feature__number {
  position: relative;
  color: var(--color-blue);
  font-family: "Cormorant Garamond", serif;
  font-size: 42px;
  font-weight: 400;
  line-height: 0.85;
}

.feature__number::after {
  content: "";
  position: absolute;
  right: -51px;
  top: 23px;
  width: 81px;
  height: 1px;
  background-color: var(--color-text);
  transform: rotate(-29deg);
  transform-origin: right;
}

.feature__en {
  margin: 0 0 10px;

  color: #8690a4;
  font-size: 11px;
}

h2 {
  margin: 0;
  font-size: clamp(22px, 16px, 34px);
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.05em;
  font-family: "fot-tsukumin-pr6n", sans-serif;
}


/* FEATURE TEXT */

.feature__text {
  max-width: 670px;
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.055em;
  text-align: justify;
  margin: 0 auto;
  font-family: "fot-tsukumin-pr6n", sans-serif;
}
}
@media screen and (max-width:768px){
	
	/* =========================
   FEATURES
========================= */

.features {
  padding: 124px
    max(24px, calc((100vw - 1040px) / 2))
    140px;
  background-color: var(--color-white);
}

.feature {
  /* max-width: 820px; */
}

.feature + .feature {
  margin-top: 120px;
}

.feature--offset {
  margin-left: auto;
}


/* FEATURE HEADING */

.feature__heading {
  display: flex;
  justify-content: space-evenly;
  grid-template-columns: 110px 1fr;
  align-items: start;
  gap: 34px;
  margin-bottom: 34px;
}

.feature__number {
  position: relative;

  color: var(--color-blue);

  font-family: "Cormorant Garamond", serif;
  font-size: 62px;
  font-weight: 400;
  line-height: 0.85;
}

.feature__number::after {
  content: "";
  position: absolute;
  right: -42px;
  bottom: -18px;
  width: 70px;
  height: 1px;
  background-color: var(--color-text);
  transform: rotate(-29deg);
  transform-origin: right;
}

.feature__en {
  margin: 0 0 10px;

  color: #8690a4;
  font-size: 11px;
}

h2 {
  margin: 0;
  font-size: clamp(14px, 2.4vw, 34px);
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.05em;
}


/* FEATURE TEXT */

.feature__text {
  max-width: 670px;
  margin: 0 0 0 144px;

  font-size: 15px;
  line-height: 2.45;
  letter-spacing: 0.055em;
  text-align: justify;
}
	
	
}

/* =========================
   FOOTER
========================= */

.footer {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 14px;

  min-height: 210px;

  color: var(--color-gray);
}

.footer__logo {
  font-family: "Cormorant Garamond", serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.42em;
}

.footer small {
  font-size: 9px;
}

.sp-only {
  display: none;
}


/* =========================
   ANIMATION
========================= */

@media (prefers-reduced-motion: no-preference) {

  .hero2__visual {
    animation:
      fade-up 0.9s
      cubic-bezier(0.22, 1, 0.36, 1)
      both;
  }

  .hero2__content {
    animation:
      fade-up 0.9s 0.15s
      cubic-bezier(0.22, 1, 0.36, 1)
      both;
  
  }

  @keyframes fade-up {

    from {
      opacity: 0;
      transform: translateY(18px);
    }

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

  }

}

  .hero2__content {
    padding: 0px 0 0 35px;
  }
/* =========================
   SMARTPHONE
========================= */

@media (max-width: 760px) {

  /* HEADER */

  .site-header {
    justify-content: center;
    width: calc(95% - 40px);
    height: 40px;
    margin-top: 50px;
  }

  .logo {
    font-size: 12px;
  }


  /* HERO */

  .hero2 {
    display: flex;
    flex-direction: column;
    gap: 25px;
    width: 100%;
    min-height: auto;
    padding: 32px 20px 0px;
  }

  .hero2__visual {
    width: calc(100% - 32px);
    max-width: 460px;
    margin-left: 32px;
    padding: 0 16px 18px 0;
  }

  .hero2__visual::after {
    inset: 24px 0 0 22px;
  }

  .hero2__label {
    top: 16px;
    left: -23px;

    font-size: 9px;
  }

  .hero2__caption {
    font-size: 9px;
  }

  .hero2__content {
    width: 100%;
    padding: 0;
  }

  .eyebrow {
    margin-bottom: 5px;
    font-size: 10px;
    text-align: center;
  }



  .lead {
    margin-top: 20px;

    font-size: 13px;
    line-height: 2;
  }

 


  /* FEATURES */

  .features {
    padding: 50px 30px 10px;
  }

  .feature + .feature {
    margin-top: 51px;
  }

  .feature__heading {
    grid-template-columns: 52px 1fr;
    gap: 0px;
    margin-bottom: 25px;
  }

  .feature__number {
    font-size: 29px;
  }

  .feature__number::after {
    right: -36px;
    top: 7px;
    width: 66px;
  }

  .feature__en {
    margin-bottom: 6px;

    font-size: 9px;
  }



  .feature__text {
    margin: 0;
    font-size: 12px;
    line-height: 2;
    letter-spacing: 0.035em;
  }

  .sp-only {
    display: initial;
  }


  /* FOOTER */

  .footer {
    min-height: 160px;
  }

}

@media screen and (min-width: 768px) {
/* =========================
   PRODUCT
========================= */

.product {
  padding: 70px 24px 0px;
}

.product__inner {
  width: min(100%, 485px);
  margin-inline: auto;
}


/* COLOR NAME */

.product__color {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 0 17px;
  color: var(--color-blue);
  font-family: "Cormorant Garamond", serif;
  font-size: 15px;
  letter-spacing: 0.08em;
  font-family: "fot-tsukumin-pr6n", sans-serif;
}

.product__color::before {
  content: "(";
  margin-right: 8px;
}

.product__color::after {
  content: ")";
  margin-left: 8px;
}

	.product__color span{
		font-family: "fot-tsukumin-pr6n", sans-serif;
	}
/* IMAGE */

.product__image-link {
  position: relative;
  display: block;
  overflow: hidden;
  color: #ffffff;
  text-decoration: none;
  width: 75%;
  margin: 0 auto;
}

.product__image {
  display: block;
  overflow: hidden;
  /* background-color: #edf1f3; */
  width: 100%;
  margin: 0 auto;
}

.product__image img {
  display: block;
  width: 100%;
  margin: 0 auto;
  height: auto;
  aspect-ratio: 2 / 3;
  object-fit: cover;
  transition:
    transform 1s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.8s ease;
  will-change: transform;
}


/* IMAGE OVERLAY */

.product__image-link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(
      180deg,
      rgba(23, 63, 159, 0) 50%,
      rgba(15, 31, 68, 0.28) 100%
    );
  opacity: 0;
  transition:
    opacity 0.6s ease;
  pointer-events: none;
}


/* VIEW ITEM */

.product__hover {
  position: absolute;
  right: 26px;
  bottom: 24px;
  z-index: 2;

  display: flex;
  align-items: center;
  gap: 14px;

  opacity: 0;
  transform: translateY(14px);

  transition:
    opacity 0.5s ease,
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);

  pointer-events: none;
}

.product__hover-text {
  font-family: "Cormorant Garamond", serif;
  font-size: 12px;
  letter-spacing: 0.2em;
}

.product__hover-arrow {
  display: grid;
  place-items: center;

  width: 42px;
  height: 42px;

  color: var(--color-blue);
  background-color: rgba(255, 255, 255, 0.95);
  border-radius: 50%;

  font-family: sans-serif;
  font-size: 15px;

  transform: rotate(-8deg);

  transition:
    color 0.4s ease,
    background-color 0.4s ease,
    transform 0.5s ease;
}


/* INFORMATION */

.product__information {
  display: grid;
  grid-template-columns: auto minmax(30px, 1fr) auto;
  align-items: center;
  gap: 18px;
  margin-top: 30px;
  width: 75%;
  margin: 30px auto 0;
}

.product__price {
  margin: 0;
  color: var(--color-text);
  font-family: "Cormorant Garamond", "Noto Serif JP", serif;
  font-size: 15px;
  letter-spacing: 0.03em;
  white-space: nowrap;
}


/* DOTTED LINE */

.product__line {
  display: block;

  width: 100%;
  height: 1px;

  background-image:
    radial-gradient(
      circle,
      var(--color-text) 1px,
      transparent 1.5px
    );

  background-repeat: repeat-x;
  background-position: center;
  background-size: 8px 2px;

  opacity: 0.65;
}


/* BUY BUTTON */

.product__button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  min-width: 56px;
  min-height: 31px;
  padding: 4px 8px;
  overflow: hidden;
  color: #ffffff;
  background-color: var(--color-blue);
  font-family: "Cormorant Garamond", serif;
  font-size: 15px;
  letter-spacing: 0.06em;
  line-height: 1;
  text-decoration: none;
  transition:
    color 0.4s ease,
    box-shadow 0.4s ease,
    transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.product__button::before {
  content: "";

  position: absolute;
  inset: 0;

  background-color: var(--color-text);

  transform: translateX(-101%);

  transition:
    transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.product__button span {
  position: relative;
  z-index: 1;
  font-family: "fot-tsukumin-pr6n", sans-serif;
}

.product__button-arrow {
  width: 0;

  opacity: 0;
  transform: translateX(-8px);

  font-family: sans-serif;
  font-size: 12px;

  transition:
    width 0.4s ease,
    margin-left 0.4s ease,
    opacity 0.4s ease,
    transform 0.4s ease;
}

}
/* =========================
   PRODUCT HOVER
========================= */

@media (hover: hover) {

  .product__image-link:hover img {
    transform: scale(1.035);
    filter: brightness(0.95);
  }

  .product__image-link:hover::after {
    opacity: 1;
  }

  .product__image-link:hover .product__hover {
    opacity: 1;
    transform: translateY(0);
  }

  .product__image-link:hover .product__hover-arrow {
    color: #ffffff;
    background-color: var(--color-blue);
    transform: rotate(0deg);
  }

  .product__button:hover {
    box-shadow:
      0 10px 24px rgba(23, 63, 159, 0.2);

    transform: translateY(-2px);
  }

  .product__button:hover::before {
    transform: translateX(0);
  }

  .product__button:hover .product__button-arrow {
    width: 12px;
    margin-left: 8px;

    opacity: 1;
    transform: translateX(0);
  }

}


/* FOCUS */

.product__image-link:focus-visible,
.product__button:focus-visible {
  outline: 2px solid var(--color-blue);
  outline-offset: 5px;
}


/* =========================
   PRODUCT SMARTPHONE
========================= */

@media screen and (max-width:768px){

  .product {
    padding: 36px 24px 0px;
  }



 
/* =========================
   PRODUCT
========================= */



.product__inner {
   width: min(100%, 420px);
  margin-inline: auto;
}


/* COLOR NAME */

.product__color {
  display: flex;
  justify-content: center;
  align-items: center;

  margin: 0 0 10px;

  color: var(--color-blue);

  font-family: "Cormorant Garamond", serif;
  
  letter-spacing: 0.08em;

    font-size: 14px;
}

.product__color::before {
  content: "(";
  margin-right: 8px;
}

.product__color::after {
  content: ")";
  margin-left: 8px;
}


/* IMAGE */

.product__image-link {
  position: relative;
  display: block;
  overflow: hidden;
  color: #ffffff;
  text-decoration: none;
  width: 75%;
  margin: 0 auto;
}

.product__image {
  display: block;
  overflow: hidden;
  /* background-color: #edf1f3; */
  width: 100%;
  margin: 0 auto;
}

.product__image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 2 / 3;
  object-fit: cover;
  transition:
    transform 1s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.8s ease;
  will-change: transform;
}


/* IMAGE OVERLAY */

.product__image-link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(
      180deg,
      rgba(23, 63, 159, 0) 50%,
      rgba(15, 31, 68, 0.28) 100%
    );
  opacity: 0;
  transition:
    opacity 0.6s ease;
  pointer-events: none;
}


/* VIEW ITEM */

.product__hover {
  position: absolute;
 
  z-index: 2;

  display: flex;
  align-items: center;
  gap: 14px;

  opacity: 0;
  transform: translateY(14px);

  transition:
    opacity 0.5s ease,
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);

  pointer-events: none;
	   right: 16px;
    bottom: 14px;
    opacity: 1;
    transform: none;
}

.product__hover-text {
  font-family: "Cormorant Garamond", serif;
  font-size: 12px;
  letter-spacing: 0.2em;
  display: none;
}

.product__hover-arrow {
  display: grid;
  place-items: center;

 

  color: var(--color-blue);
  background-color: rgba(255, 255, 255, 0.95);
  border-radius: 50%;

  font-family: sans-serif;


  transform: rotate(-8deg);

  transition:
    color 0.4s ease,
    background-color 0.4s ease,
    transform 0.5s ease;
	
	 width: 36px;
    height: 36px;

    font-size: 13px;
}


/* INFORMATION */

.product__information {
  display: grid;
  grid-template-columns: auto minmax(30px, 1fr) auto;
  align-items: center;

	
	gap: 12px;
    width: 75%;
    margin: 24px auto 0;
}

.product__price {
  margin: 0;

  color: var(--color-text);

  font-family: "Cormorant Garamond", "Noto Serif JP", serif;
  font-size: 12px;
  letter-spacing: 0.03em;
  white-space: nowrap;
}


/* DOTTED LINE */

.product__line {
  display: block;

  width: 100%;
  height: 1px;

  background-image:
    radial-gradient(
      circle,
      var(--color-text) 1px,
      transparent 1.5px
    );

  background-repeat: repeat-x;
  background-position: center;
  background-size: 8px 2px;

  opacity: 0.65;
}


/* BUY BUTTON */

.product__button {
  position: relative;

  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;

  overflow: hidden;

  color: #ffffff;
  background-color: var(--color-blue);

  font-family: "Cormorant Garamond", serif;
 
  letter-spacing: 0.06em;
  line-height: 1;
  text-decoration: none;

  transition:
    color 0.4s ease,
    box-shadow 0.4s ease,
    transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
	
	 min-width: 38px;
    min-height: 22px;
    padding: 1px 0px;
    font-size: 12px;
}

.product__button::before {
  content: "";

  position: absolute;
  inset: 0;

  background-color: var(--color-text);

  transform: translateX(-101%);

  transition:
    transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.product__button span {
  position: relative;
  z-index: 1;
}

.product__button-arrow {
  width: 0;

  opacity: 0;
  transform: translateX(-8px);

  font-family: sans-serif;
  font-size: 12px;

  transition:
    width 0.4s ease,
    margin-left 0.4s ease,
    opacity 0.4s ease,
    transform 0.4s ease;
}

}


/* =========================
   STYLING
========================= */

.styling {
  overflow: hidden;
  padding: 120px 105px 150px;
  background-color: var(--color-white);
}

.styling__inner {
  width: min(100%, 760px);
  margin-inline: auto;
}


/* SECTION HEADING */

.styling__heading {
  margin-bottom: 60px;
  margin-top: 100px;
}

.styling__heading-line {
  display: block;

  width: 100%;
  height: 1px;
  margin-bottom: 18px;

  background-color: var(--color-line);

  transform: scaleX(0);
  transform-origin: left center;

  transition:
    transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.styling__heading.is-visible .styling__heading-line {
  transform: scaleX(1);
}

.styling__heading h2 {
  display: flex;
  justify-content: center;
  margin: 0;
  color: var(--color-blue);
  font-family: "Cormorant Garamond", serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.08em;
}

.styling__heading h2 span {
  display: flex;
  align-items: center;
  font-family: "fot-tsukumin-pr6n", sans-serif;
}

.styling__heading h2 span::before {
  content: "(";
  margin-right: 8px;
}

.styling__heading h2 span::after {
  content: ")";
  margin-left: 8px;
}


/* =========================
   STYLING VISUAL
========================= */

.styling-card__visual {
  position: relative;
  width: min(100%, 630px);
  min-height: 615px;
  margin-inline: auto;
}

.styling-card__image-wrap {
  position: relative;

  display: flex;
  justify-content: center;

  width: var(--image-width, 82%);
  max-width: none;
  margin-inline: auto;

  transform: scale(var(--image-scale, 1));
  transform-origin: center center;

  transition:
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}
.styling-card__circle {
  position: absolute;
  top: 10%;
  left: 50%;
  z-index: 0;

  width: 72%;
  aspect-ratio: 1;
  border-radius: 50%;

  background-color: var(--color-pale-blue);

  opacity: 0;
  transform: translateX(-50%) scale(0.7);

  transition:
    opacity 0.8s ease,
    transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.styling-card__visual.is-visible .styling-card__circle {
  opacity: 1;
  transform: translateX(-50%) scale(1);
}

.styling-card__image {
  position: relative;
  z-index: 1;

  display: block;

  width: 100%;
  max-width: none;
  height: auto;

  filter:
    drop-shadow(0 22px 25px rgba(21, 40, 86, 0.08));

  opacity: 0;
  transform: translateY(28px) rotate(-1deg);

  transition:
    opacity 0.9s 0.1s ease,
    transform 1.2s 0.1s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.7s ease;
}
.styling-card__visual.is-visible .styling-card__image {
  opacity: 1;
  transform: translateY(0) rotate(0);
}


/* NUMBER */

.styling-card__number {
  position: absolute;
  top: 0;
  right: 4%;
  z-index: 2;
  color: var(--color-blue);
  font-family: fot-tsukumin-pr6n, sans-serif;
  font-size: clamp(68px, 5vw, 98px);
  line-height: 1;
  letter-spacing: -2px;
  /* font-weight: lighter; */
  opacity: 0;
  transform: translateX(25px);
  transition:
    opacity 0.8s 0.35s ease,
    transform 1s 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.styling-card__visual.is-visible .styling-card__number {
  opacity: 1;
  transform: translateX(0);
}


/* KEYWORD */

.styling-card__keyword {
  position: absolute;
  left: 0;
  bottom: 100px;
  z-index: 2;
  margin: 0;
  color: var(--color-blue);
  font-family: "Cormorant Garamond", serif;
  font-size: 18px;
  letter-spacing: 0.03em;
  opacity: 0;
  transform: translateX(-20px);
  transition:
    opacity 0.7s 0.5s ease,
    transform 0.9s 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.styling-card__visual.is-visible .styling-card__keyword {
  opacity: 1;
  transform: translateX(0);
}


/* IMAGE HOVER */

@media (hover: hover) {

  .styling-card__image-wrap:hover {
    transform:
      scale(calc(var(--image-scale, 1) * 1.025));
  }

  .styling-card__image-wrap:hover .styling-card__image {
    filter:
      drop-shadow(0 30px 35px rgba(21, 40, 86, 0.15));

    transform:
      translateY(-10px)
      rotate(1deg);
  }


  .styling-card__image-wrap:hover .styling-card__circle {
    transform:
      translateX(-50%)
      scale(1.05);
  }

}
/* スタイリング同士の余白 */

.styling-card + .styling-card {
  margin-top: 150px;
}





/* ホバー時も個別の拡大率を維持 */

@media (hover: hover) {

  .styling-card__image-wrap:hover {
    transform:
      scale(calc(var(--image-scale, 1) * 1.025));
  }

}


@media (max-width: 760px) {
.styling-card__visual {
  position: relative;
  width: min(100%, 630px);
  margin-inline: auto;
}
  .styling-card + .styling-card {
    margin-top: 100px;
  }

}


/* =========================
   STYLING CONTENT
========================= */

.styling-card__content {
  width: min(100%, 680px);
  margin-inline: auto;
}

.styling-card__catch {
  margin: 0 0 22px;
  color: var(--color-blue);
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.08em;
  text-align: center;
  font-family: "fot-tsukumin-pr6n", sans-serif;
}

.styling-card__description {
  margin: 0;
  padding: 3px 0;
  color: var(--color-white);
  background-color: var(--color-blue);
  font-size: 13px;
  line-height: 2;
  letter-spacing: 0.07em;
  text-align: justify;
  font-family: "fot-tsukumin-pr6n", sans-serif;
}


/* TEXT REVEAL */

.styling-card__catch.js-reveal,
.styling-card__description.js-reveal {
  opacity: 0;
  transform: translateY(20px);

  transition:
    opacity 0.8s ease,
    transform 1s cubic-bezier(0.22, 1, 0.36, 1);
}

.styling-card__description.js-reveal {
  transition-delay: 0.15s;
}

.styling-card__catch.is-visible,
.styling-card__description.is-visible {
  opacity: 1;
  transform: translateY(0);
}


/* =========================
   ITEM LIST
========================= */

.styling-items {
  width: min(100%, 680px);
  margin: 54px auto 0;
  padding: 0;

  list-style: none;
}

.styling-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;

  padding-block: 10px;
}

.styling-item__information {
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.styling-item__name,
.styling-item__price {
  font-family: "Cormorant Garamond", "Noto Serif JP", serif;
  font-size: 14px;
}

.styling-item__name {
  letter-spacing: 0.02em;
}

.styling-item__price small {
  font-size: 14px;
}


/* ITEM BUTTON */

.styling-item__button {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 19px;
  min-height: 23px;
  padding: 0px 7px;
  overflow: hidden;
  color: var(--color-white);
  background-color: var(--color-blue);
  font-family: "Cormorant Garamond", serif;
  font-size: 15px;
  letter-spacing: 0.04em;
  line-height: 1;
  text-decoration: none;
  transition:
    transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.4s ease;
}

.styling-item__button::before {
  content: "";

  position: absolute;
  inset: 0;

  background-color: var(--color-text);

  transform: translateX(-101%);

  transition:
    transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.styling-item__button span {
  position: relative;
  z-index: 1;
  font-family: "fot-tsukumin-pr6n", sans-serif;
}

.styling-item__arrow {
  width: 0;

  opacity: 0;
  transform: translateX(-7px);

  font-family: sans-serif;
  font-size: 11px;

  transition:
    width 0.4s ease,
    margin-left 0.4s ease,
    opacity 0.4s ease,
    transform 0.4s ease;
}


/* ITEM REVEAL */

.styling-item.js-reveal {
  opacity: 0;
  transform: translateX(-18px);

  transition:
    opacity 0.7s ease,
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.styling-item.js-reveal:nth-child(2) {
  transition-delay: 0.08s;
}

.styling-item.js-reveal:nth-child(3) {
  transition-delay: 0.16s;
}

.styling-item.js-reveal:nth-child(4) {
  transition-delay: 0.24s;
}

.styling-item.js-reveal.is-visible {
  opacity: 1;
  transform: translateX(0);
}


/* BUTTON HOVER */

@media (hover: hover) {

  .styling-item__button:hover {
    transform: translateY(-2px);

    box-shadow:
      0 9px 22px rgba(23, 63, 159, 0.2);
  }

  .styling-item__button:hover::before {
    transform: translateX(0);
  }

  .styling-item__button:hover .styling-item__arrow {
    width: 11px;
    margin-left: 7px;

    opacity: 1;
    transform: translateX(0);
  }

}


/* FOCUS */

.styling-item__button:focus-visible {
  outline: 2px solid var(--color-blue);
  outline-offset: 4px;
}


/* =========================
   STYLING SMARTPHONE
========================= */

@media (max-width: 760px) {

  .styling {
    padding: 0px 20px 105px;
  }

  .styling__heading {
    margin-bottom: 38px;
    margin-top: 75px;
  }

  .styling__heading h2 {
    font-size: 12px;
  }

  .styling-card__visual {
    min-height: 476px;
  }



  .styling-card__number {
    top: 4px;
    right: 0;
    font-size: 57px;
  }

  .styling-card__keyword {
    left: 0;
    bottom: 60px;
    font-size: 14px;
  }

  .styling-card__catch {
    margin-bottom: 17px;
    font-size: 14px;
    line-height: 2;
  }

  .styling-card__description {
    padding: 3px 1px;
    font-size: 12px;
    line-height: 1.8;
    letter-spacing: 0.055em;
  }

  .styling-items {
    margin-top: 38px;
  }

  .styling-item {
    gap: 12px;
    padding-block: 7px;
  }

  .styling-item__information {
    flex-wrap: wrap;
    gap: 4px 7px;
  }

  .styling-item__name,
  .styling-item__price {
    font-size: 12px;
  }

  .styling-item__price small {
    font-size: 12px;
  }

  .styling-item__button {
    flex-shrink: 0;
    min-width: 43px;
    min-height: 23px;
    padding: 3px 5px;
    font-size: 12px;
  }

}


/* =========================
   REDUCED MOTION
========================= */

@media (prefers-reduced-motion: reduce) {

  .styling *,
  .styling *::before,
  .styling *::after {
    scroll-behavior: auto !important;
    animation: none !important;
    transition-duration: 0.01ms !important;
  }

}

/* =========================
   COLOR VARIATIONS
========================= */

.color-variation {
  --color-accent: #173f9f;
  --color-accent-light: #eef3fb;
  --color-accent-line: #9eb1d6;
}


/* BLUE */

.color-variation--blue {
  --color-blue: #173f9f;
  --color-pale-blue: #eef3fb;
  --color-line: #9eb1d6;
}


/* GRAY */

.color-variation--gray {
  --color-blue: #55595a;
  --color-pale-blue: #eef0f0;
  --color-line: #aeb2b2;
}


/* 色違いの境目 */

.color-variation + .color-variation {
  position: relative;

  margin-top: 40px;
}

.color-variation + .color-variation::before {
  content: "";

  position: absolute;
  top: 0;
  left: 50%;
  z-index: 2;

  width: min(760px, calc(100% - 48px));
  height: 1px;

  background-color: var(--color-line);

  transform: translateX(-50%);
}


/* GRAY VERSIONの背景調整 */

.color-variation--gray .product {
}

.color-variation--gray .styling {
  background-color: #ffffff;
}


/* GRAYの商品画像背景 */

.color-variation--gray .product__image {
  background-color: #f0f1f1;
}


/* GRAYの説明背景 */

.color-variation--gray .styling-card__description {
  background-color: #55595a;
}


/* GRAYのボタン */

.color-variation--gray .product__button,
.color-variation--gray .styling-item__button {
  background-color: #55595a;
}

.color-variation--gray .product__button::before,
.color-variation--gray .styling-item__button::before {
  background-color: #272b2c;
}


/* GRAYの画像ホバー */

.color-variation--gray .product__image-link::after {
  background:
    linear-gradient(
      180deg,
      rgba(85, 89, 90, 0) 45%,
      rgba(39, 43, 44, 0.3) 100%
    );
}


/* GRAYの番号とテキスト */

.color-variation--gray .product__color,
.color-variation--gray .styling__heading h2,
.color-variation--gray .styling-card__number,
.color-variation--gray .styling-card__keyword,
.color-variation--gray .styling-card__catch {
  color: #55595a;
}


/* SMARTPHONE */

@media (max-width: 760px) {

  .color-variation + .color-variation {
    margin-top: 20px;
  }

  .color-variation + .color-variation::before {
    width: calc(100% - 40px);
  }

}

@media (max-width: 760px) {

  .styling-card__image-wrap {
    width: var(--image-width-sp, var(--image-width, 82%));

    transform:
      scale(var(--image-scale-sp, var(--image-scale, 1)));
  }

}


/* =========================
   RECOMMEND BUTTON
========================= */

.recommend-button-wrap {
  display: flex;
  justify-content: center;
  padding: 80px 24px 120px;
  background-color: #ffffff;
}

.recommend-button {
  position: relative;
  isolation: isolate;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0;
  width: min(90%, 341px);
  min-height: 40px;
  padding: 12px 28px;
  overflow: hidden;
  color: var(--color-blue);
  background-color: #ffffff;
  border: 1px solid var(--color-blue);
  border-radius: 999px;
  font-family: "Noto Serif JP", serif;
  font-size: 14px;
  line-height: 1.6;
  letter-spacing: 0.14em;
  text-align: center;
  text-decoration: none;
  transition:
    color 0.5s ease,
    border-color 0.5s ease,
    box-shadow 0.5s ease,
    transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}


/* ホバー時に広がる背景 */

.recommend-button::before {
  content: "";

  position: absolute;
  inset: -1px;
  z-index: -1;

  background-color: var(--color-blue);
  border-radius: inherit;

  transform: scaleX(0);
  transform-origin: left center;

  transition:
    transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}


/* TEXT */

.recommend-button__text {
  position: relative;

  transition:
    letter-spacing 0.5s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}


/* ARROW */

.recommend-button__arrow {
  width: 0;
  margin-left: 0;

  overflow: hidden;
  opacity: 0;

  font-family: sans-serif;
  font-size: 17px;
  line-height: 1;

  transform: translateX(-12px);

  transition:
    width 0.45s ease,
    margin-left 0.45s ease,
    opacity 0.45s ease,
    transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}


/* =========================
   HOVER
========================= */

@media (hover: hover) {

  .recommend-button:hover {
    color: #ffffff;

    box-shadow:
      0 14px 32px rgba(23, 63, 159, 0.18);

    transform: translateY(-3px);
  }

  .recommend-button:hover::before {
    transform: scaleX(1);
  }

  .recommend-button:hover .recommend-button__text {
    letter-spacing: 0.17em;
    transform: translateX(-3px);
  }

  .recommend-button:hover .recommend-button__arrow {
    width: 18px;
    margin-left: 14px;

    opacity: 1;
    transform: translateX(0);
  }

}


/* キーボード操作 */

.recommend-button:focus-visible {
  color: #ffffff;

  outline: 2px solid var(--color-blue);
  outline-offset: 5px;
}

.recommend-button:focus-visible::before {
  transform: scaleX(1);
}


/* =========================
   SCROLL ANIMATION
========================= */

.recommend-button-wrap.js-reveal {
  opacity: 0;
  transform: translateY(20px);

  transition:
    opacity 0.8s ease,
    transform 1s cubic-bezier(0.22, 1, 0.36, 1);
}

.recommend-button-wrap.js-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}


/* =========================
   SMARTPHONE
========================= */

@media (max-width: 760px) {

  .recommend-button-wrap {
    padding: 60px 24px 90px;
  }

  .recommend-button {
    min-height: 44px;
    padding: 10px 2px;
    font-size: 13px;
    letter-spacing: 0.11em;
  }

}









/* =============
  theme original
================ */
.h_bar {
    display: none
}
#beltbnr {
    display: none
}
/* =======
  common
========== */

html {
  font-size: 62.5%;
  scroll-padding-top: 100px;
}
*,
*::before,
*::after {
  font-family: "fot-tsukumin-pr6n", sans-serif;
  padding: 0;
  margin: 0;
  -ms-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

 main {
    overflow: clip;
    margin: 0 auto;
    text-align: center;
  }
body{
}
ul,li {
  list-style: none;
}

/* 不要箇所 */
img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  object-fit: cover;
}
svg {
    overflow: visible;
    width: 100%
}
.en{
-ms-writing-mode: tb-rl;
writing-mode: vertical-rl;
text-orientation: upright;
}
.border{
	border-bottom: solid 1px #ceaa32;
	width: 35%;
	margin: 0 auto 50px;
}
/* ==========
  contents　共通
=========== */
.pc-img {
  display: block;
}
.sp-img {
  display: none;
}
/* 変更しない */

.column {
  display: flex;
  align-items: center;
  justify-content: space-between;
}


.l-content__header {
  width: 900px;
  margin-inline: auto;
}
.lead {
  margin-top: 75px;
  text-align: center;
}
.p-article-vis__img {
  /* padding-top: 10px; */
}



.area{
	width: 900px;
	margin: 0 auto;
	border: solid 1px #ceaa32;
	font-family: "Shippori Mincho", serif;
	padding: 50px 0 100px;
	border-radius: 10px;
	font-weight: 300;
	font-style: normal;
}

.slide-items{
	border-radius: 32.5px;
	margin: 5px 0;
}

.slidenone-items{
	border-radius: 0 32.5px 0 0;
	margin: 20px;
}
.slidenone-guide2{
	border-radius: 0  0 0 32.5px;
	background-color: #fff;
	border: solid 1px #000;
	margin: 20px 0 30px;
}
.slidenone-items2{
	border-radius: 0 32.5px 0 0;
	margin: 20px;
}

/* sliderをカスタマイズするCSS */
.slick-dots {
	bottom: -20px!important;
	width: initial;
	left: auto;
	right: 0;
}
.slick-dots li button:before{
	font-size: 8px!important;
}

.slick-dotted.slick-slider {
    margin-bottom: 20px!important;
}






/*--------------------SP-----------------------------*/
@media screen and (max-width: 767px) {
	html {
    scroll-padding-top: 0;
  }
  .pc-img {
    display: none;
  }
  .sp-img {
    display: block;
  }
  .column {
    display: block;
  }
   .l-content__header,
  .section-container {
    width: 100%;
  }
.p-article__vis{
  position: relative;
  width: 100%;
  display: inline-block;
 }
	
 /* ---------- hero ---------- */
  .hero{
    position:relative;
    /* padding: 50px 0 70px; */
    max-width:900px;
    margin: 4.6666666667vw auto 0;
    width: 83.3333333333vw;
  }
 
  .hero p{
    font-family: "fot-tsukumin-pr6n", sans-serif;
    font-weight:500;
    font-size: 12px;
    line-height: 2;
    color: #000;
    letter-spacing:.06em;
    text-align: justify;
    opacity:0;
    transform:translateY(16px);
    animation:rise 1s .3s cubic-bezier(.16,1,.3,1) forwards;
  }
  @keyframes rise{to{opacity:1; transform:translateY(0);}}
 
.font-ja {
  font-family: "Shippori Mincho", serif;
  color: #1b1b1b;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  font-feature-settings: "palt"; /* 句読点を詰める */
  line-height: 2;
   /* 両橋を揃える */
}
 

  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
	
  main {
    padding: 0 0px;
    overflow: clip;
    margin: 0 auto;
    text-align: center;
  }

 main h2, main h3, main h4 {
    margin: 0 auto;
    font-weight: 400;
    color: #000;
  }
  .lead {
    width: 90%;
    padding: 0px 0px 0;
    margin: 10px auto 30px;
    text-align: justify;
  }
  .lead br {
    display: none;;
  }
	

	
	
.area{
	border: none;
	margin: 0 auto;
	width: 100%;
	padding: 0 0 0px 0;
	font-family: "Shippori Mincho", serif;
	font-weight: 300;
	font-style: normal;
}
	

	.subtitle{
		border-top: solid 1px #000;
		align-items: anchor-center;
		margin-top: -3px;
	}	
	.subtitle p{
	font-family: "dnp-shuei-gothic-gin-std", sans-serif;
	font-weight: 500;
	font-style: normal;
	}
	.subtitle_p{
		font-size: 17px;
		margin: -3px auto;
	}

/* SVG を画像の上に重ねて中央配置 */

.fv_title2_1 {
  position: absolute;
  top: 50%;               /* ← 画像の真ん中あたりに配置（調整可能） */
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  width: 143%;
  pointer-events: none;   /* クリックをブロックしない */
}
.fv_title2 {
  position: absolute;
  top: 50%;               /* ← 画像の真ん中あたりに配置（調整可能） */
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  width: 143%;
  pointer-events: none;   /* クリックをブロックしない */
}


/* SVGフェードインアニメーション */
.fv_title2_1 span svg {
  width: 70%;             /* SVGの大きさ（調整OK） */
  opacity: 0;
  animation: fadein 0.8s ease-in-out forwards;
}
.fv_title2 span svg {
  width: 70%;             /* SVGの大きさ（調整OK） */
  opacity: 0;
  animation: fadeIn 1s ease-in-out forwards;
}


/* アニメーション定義 */
@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(20px);  /* 下からふわっと */
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadein {
  0% {
    opacity: 0;
    transform: translateY(0px);  /* 下からふわっと */
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
	

	

/* ---------------------枠コラム----------------------- */
	
	
	:root {
  --bg: #efe3d5;
  --red: #961217;
  --red-dark: #851015;
  --white: #fff9f2;
  --image-bg: #d8d4c0;
}

/* ========================================
   SECTION
======================================== */

.outerwear-section {
  /* min-height: 100vh; */
  padding: 44px 5vw;
}


/* ========================================
   PRODUCT CARD
======================================== */

.product-card {
  width: min(100%, 1040px);
  margin: 0 auto;

  padding:
    clamp(36px, 6vw, 70px)
    clamp(30px, 7vw, 88px)
    clamp(48px, 7vw, 80px);

  background:
    linear-gradient(
      145deg,
      #9d1418 0%,
      var(--red-dark) 100%
    );

  border-radius: 42px;

  position: relative;
  overflow: hidden;

  box-shadow:
    0 20px 60px rgba(76, 22, 16, 0.08);

  /* 初期状態 */
  opacity: 0;

  transform:
    translateY(60px)
    scale(0.985);

  transition:
    opacity 1.1s cubic-bezier(.16, 1, .3, 1),
    transform 1.1s cubic-bezier(.16, 1, .3, 1);
}


/* スクロールで表示 */

.product-card.is-show {
  opacity: 1;

  transform:
    translateY(0)
    scale(1);
}


/* 赤背景にごく薄い質感 */

.product-card::before {
  content: "";

  position: absolute;
  inset: 0;

  opacity: 0.06;

  pointer-events: none;

  background-image:
    radial-gradient(
      rgba(255, 255, 255, 0.7) 0.5px,
      transparent 0.5px
    );

  background-size: 7px 7px;
}


/* ========================================
   PRODUCT VISUAL
======================================== */

.product-visual {
  display: grid;

  grid-template-columns:
    minmax(0, 1fr)
    72px;

  gap: clamp(26px, 5vw, 54px);

  align-items: center;
}


/* ========================================
   IMAGE
======================================== */

.product-image-wrap {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 5.3;
}


/* 写真に流れる薄い光 */

.product-image-wrap::after {
  content: "";

  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      115deg,
      transparent 35%,
      rgba(255, 255, 255, 0.10) 50%,
      transparent 65%
    );

  transform: translateX(-120%);

  pointer-events: none;
}


.product-card.is-show
.product-image-wrap::after {
  animation:
    imageLight
    1.7s
    ease
    1s
    forwards;
}


@keyframes imageLight {

  from {
    transform: translateX(-120%);
  }

  to {
    transform: translateX(120%);
  }

}


/* 商品画像 */

.product-image {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transform: scale(1.08);
  filter: saturate(0.9);
  transition:
    transform 1.8s cubic-bezier(.16, 1, .3, 1),
    filter 0.7s ease;
}


/* 表示時にズームアウト */

.product-card.is-show
.product-image {
  transform: scale(1);
}





/* ========================================
   VERTICAL TITLE
   「ー」も正しく縦組み
======================================== */

.vertical-title {
  margin: 0;

  color: var(--white);

  font-size: clamp(24px, 3vw, 34px);

  font-weight: 400;

  line-height: 1.5;

  letter-spacing: 0.08em;

  /* 日本語縦書き */
  writing-mode: vertical-rl;

  /* 長音「ー」などを縦組みに合わせる */
  text-orientation: mixed;

  justify-self: center;

  /* アニメーション初期状態 */
  opacity: 0;

  transform: translateY(20px);

  transition:
    opacity 0.9s ease 0.4s,
    transform 1s cubic-bezier(.16, 1, .3, 1) 0.4s;
}


/* 表示 */

.product-card.is-show
.vertical-title {
  opacity: 1;
  transform: translateY(0);
  font-family: "fot-tsukumin-pr6n", sans-serif;
}


/* ========================================
   CONTENT
======================================== */

.product-content {
  margin-top: 15px;
}


/* 本文 */

.product-description {
  margin: 0;
  line-height: 2;
  text-align: justify;
  transition:
    opacity 0.9s ease 0.7s,
    transform 1s cubic-bezier(.16, 1, .3, 1) 0.7s;
}


/* 本文表示 */

.product-card.is-show
.product-description {
  opacity: 1;
  transform:
    translateY(0);
  color: #fff;
  letter-spacing: normal;
  font-family: "fot-tsukumin-pr6n", sans-serif;
}


/* ========================================
   FOOTER
======================================== */

.product-footer {
  display: flex;
  justify-content:
    space-between;
  gap: 24px;
  transition:
    opacity 0.8s ease 1s,
    transform 0.8s ease 1s;
}


/* footer表示 */

.product-card.is-show
.product-footer {
  opacity: 1;
  transform:
    translateY(0);
}


/* ========================================
   PRICE
======================================== */

.price {
  margin: 0;
  letter-spacing:
    0.045em;
}


/* ========================================
   BUY
======================================== */

.buy-link {
  position: relative;

  padding: 4px 0;

  color: var(--white);

  text-decoration: none;

  font-size:
    clamp(16px, 2vw, 20px);
}

	.buy-link span{
		font-family: "fot-tsukumin-pr6n", sans-serif;
	}
/* hover 下線 */

.buy-link::after {
  content: "";

  position: absolute;

  left: 0;
  bottom: 0;

  width: 100%;
  height: 1px;

  background:
    currentColor;

  transform:
    scaleX(0);

  transform-origin:
    right;

  transition:
    transform
    0.5s
    cubic-bezier(.16, 1, .3, 1);
}


.buy-link:hover::after {
  transform:
    scaleX(1);

  transform-origin:
    left;
}


/* ========================================
   SP
======================================== */

@media screen and (max-width: 600px) {

  .outerwear-section {
    padding:
      24px
      20px;
  }


  .product-card {
    border-radius: 15px;
    padding: 20px
      20px
      20px;
  }


  .product-visual {
    grid-template-columns:
      minmax(0, 1fr)
      38px;
    gap: 5px;
  }


  /* 縦タイトル */

  .vertical-title {
    font-size: 15px;
    line-height:
      1.4;
    letter-spacing:
      0.06em;
  }


  /* 本文 */

  .product-description {
    font-size: 12px;
  }


  /* footer */

  .product-footer {
    margin-top: 20px;
    align-items: center;
    color: #fff;
  }


  /* price */

  .price {
    font-size:
      14px;
  }


  /* buy */

  .buy-link {
    font-size:
      14px;
    flex-shrink:
      0;
    font-family: "fot-tsukumin-pr6n", sans-serif;
  }

}


/* ========================================
   REDUCED MOTION
======================================== */

@media
(prefers-reduced-motion: reduce) {

  .product-card,
  .product-image,
  .vertical-title,
  .product-description,
  .product-footer {

    transition:
      none;
  }


  .product-image-wrap::after {
    animation:
      none !important;
  }

}
	
/* ---------------------枠コラム end----------------------- */	
	
	.brand{
		margin-top: 50px;
	}
	
	.brand2{
		margin-top: 50px;
	}
	
	
	
	
	
/* ----------------- STYLE PICK------------------- */		
	

.style-pick {
  width: 100%;
  background: #fff;
  padding: 20px 20px 30px;
  box-sizing: border-box;
  overflow: hidden;
}

.style-pick__inner {
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
}


/* ========================================
   HEADER
======================================== */

.style-pick__header {
  text-align: center;
  margin-bottom: 30px;
}

.style-pick__title {
  position: relative;
  display: block;
  margin: 0;
  padding: 0 0 7px;
  font-family: "Bodoni Moda", serif;
  /* font-optical-sizing: auto; */
  color: #d5ae45;
  font-size: 23.5px;
  font-style: italic;
  font-weight: 200;
  line-height: 1;
  transform: scaleX(0.8);       /* 横幅を80%に縮小 */
  transform-origin: left top;   /* 変形の基準点を左上に指定 */
  width: 125%;
}

.style-pick__title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #eadba9;
}

.style-pick__sub {
  margin: 7px 0 0;
  color: #d5ae45;
  font-family: "Shippori Mincho", serif;
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0.18em;
}


/* ========================================
   VISUAL
======================================== */

.style-pick__visual {
  position: relative;
  width: 100%;
  /* padding-bottom: 20px; */
}


/* メイン画像 */

.style-pick__main-image {
  width: 312px;
  margin: 0 auto;
}

.style-pick__main-image img {
  display: block;
  width: 100%;
  height: auto;
}

.style-pick__main-image2 {
  width: 250px;
  margin: 0 auto 25px;
}

.style-pick__main-image2 img {
  display: block;
  width: 100%;
  height: auto;
}

/* 2枚目 */

.style-pick__sub-image {
  position: relative;
  width: 224px;
  margin: 23px 0 0 auto;
  /* margin-right: 20px; */
}

.style-pick__sub-image img {
  display: block;
  width: 100%;
  height: auto;
}

/* part #02 */
.style-pick3__main-image {
  /* width: 312px; */
  margin: 0 auto 20px;
}

.style-pick3__main-image img {
  display: block;
  width: 100%;
  height: auto;
}

/* ========================================
   TEXT
======================================== */

.style-pick__text {
  width: 90%;
  margin: 0 auto;
}

.style-pick__text p {
  margin: 0;
  color: #373737;
  font-size: 12px;
  font-weight: 400;
  line-height: 2.2;
  /* letter-spacing: 0.08em; */
  text-align: justify;
  padding-bottom: 30px;
  font-family: "Shippori Mincho", serif;
}


/* ========================================
   SP
======================================== */

@media screen and (max-width: 374px) {

  .style-pick {
    padding-left: 15px;
    padding-right: 15px;
  }

  .style-pick__main-image {
    width: 280px;
  }

  .style-pick__sub-image {
  }



  .style-pick__text {
    width: calc(100% - 20px);
  }

  .style-pick__text p {
  }
}


/* ========================================
   PC
======================================== */

@media screen and (min-width: 768px) {

  .style-pick {
    padding: 40px 20px 120px;
  }

  .style-pick__inner {
    max-width: 600px;
  }

  .style-pick__header {
    margin-bottom: 40px;
  }

  .style-pick__title {
    font-size: 28px;
  }

  .style-pick__sub {
    font-size: 16px;
  }

  .style-pick__main-image {
    width: 390px;
  }

  .style-pick__sub-image {
    width: 280px;
    margin-right: 30px;
  }


  .style-pick__text {
    width: 520px;
  }

  .style-pick__text p {
    font-size: 14px;
    line-height: 2.3;
  }
}	
	
/* ----------------- STYLE PICK end------------------- */		
	
	
	
	
	
	
	
	
	
	
.newExpression__scroll{
  position:relative;
  width:1px;
  height:100px;
  margin:80px auto 0;
  overflow:hidden;
  background:rgba(0,0,0,.2);
}

.newExpression__scroll span{
  position:absolute;
  top:-100%;
  left:0;
  width:100%;
  height:100%;
  background:#666;
  animation:scrollLine 2s ease-in-out infinite;
}
  .newExpression__scroll{
    height: 45px;
    margin: 15px auto;
  }

@keyframes scrollLine{

  0%{
    top:-100%;
  }

  100%{
    top:100%;
  }

}
	


	
/*ボックスアニメーション*/
:root {
--border-color: #fff; /* 枠線の色 */
--border-width: 1; /* 枠線の太さ(px) */
--anim-duration: 1200ms; /* アニメーション時間 */
--anim-ease: cubic-bezier(.22,.61,.36,1); /* イージング */
--corner-radius: 0; /* 角丸(px)。0で角ばった四角 */
--bg: #f7f7f7;
}

.box {position: relative;width: min(82%, 100%);margin: -17px 20px 0;padding: 5px 0;background: transparent;box-sizing: border-box;isolation: isolate;}


.box__text {position: relative;z-index: 2;font-size: 17.5px;letter-spacing: .02em;margin: 0;padding: 20px 0 10px;font-weight: 300;font-style: normal;color: #000;line-height: 1.5;font-family: fot-tsukumin-pr6n, sans-serif;}


.box__outline {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
display: block;
z-index: 1;
overflow: visible;
pointer-events: none;
}


.box__rect {
fill: transparent;
stroke: var(--border-color);
stroke-width: var(--border-width);
vector-effect: non-scaling-stroke;
shape-rendering: crispEdges;
stroke-linejoin: miter;
stroke-linecap: butt;
transition: stroke-dashoffset var(--anim-duration) var(--anim-ease);
/* stroke-dasharray / stroke-dashoffset は JS 側でセットします（より確実） */
}


.box.is-visible .box__rect { stroke-dashoffset: 0; }


.box:nth-of-type(2) .box__rect { transition-delay: 120ms; }
.box:nth-of-type(3) .box__rect { transition-delay: 180ms; }


@media (prefers-reduced-motion: reduce) {
.box__rect { transition: none; stroke-dashoffset: 0 !important; }
}

/*ボックスアニメーション2*/
:root {
--border-color: #fff; /* 枠線の色 */
--border-width: 1; /* 枠線の太さ(px) */
--anim-duration: 1200ms; /* アニメーション時間 */
--anim-ease: cubic-bezier(.22,.61,.36,1); /* イージング */
--corner-radius: 0; /* 角丸(px)。0で角ばった四角 */
--bg: #f7f7f7;
}

.box2 {position: relative;width: min(33%, 100%);margin: 35px 20px 0 auto;padding: 3px 0px 1px;background: transparent;box-sizing: border-box;isolation: isolate;}


.box__text2 {position: relative;z-index: 2;font-size: 18px;letter-spacing: .02em;margin: 0;font-weight: 400;font-family: "Bodoni Moda", serif;/* font-optical-sizing: auto; */color: #d5ae45;transform: scaleX(0.8);transform-origin: left top;width: 125%;}


.box__outline2 {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
display: block;
z-index: 1;
overflow: visible;
pointer-events: none;
}


.box__rect2 {
fill: transparent;
stroke: var(--border-color);
stroke-width: var(--border-width);
vector-effect: non-scaling-stroke;
shape-rendering: crispEdges;
stroke-linejoin: miter;
stroke-linecap: butt;
transition: stroke-dashoffset var(--anim-duration) var(--anim-ease);
/* stroke-dasharray / stroke-dashoffset は JS 側でセットします（より確実） */
}


.box2.is-visible .box__rect2 { stroke-dashoffset: 0; }


.box2:nth-of-type(2) .box__rect2 { transition-delay: 120ms; }
.box2:nth-of-type(3) .box__rect2 { transition-delay: 180ms; }


@media (prefers-reduced-motion: reduce) {
.box__rect2 { transition: none; stroke-dashoffset: 0 !important; }
}	

/*ボックスアニメーション3*/
:root {
--border-color: #fff; /* 枠線の色 */
--border-width: 1; /* 枠線の太さ(px) */
--anim-duration: 1200ms; /* アニメーション時間 */
--anim-ease: cubic-bezier(.22,.61,.36,1); /* イージング */
--corner-radius: 0; /* 角丸(px)。0で角ばった四角 */
--bg: #f7f7f7;
}

.box3 {position: relative;width: min(47%, 100%);margin: 50px auto 20px;padding: 5px 0px;background: transparent;box-sizing: border-box;isolation: isolate;}


.box__text3 {position: relative;z-index: 2;font-size: 24px;letter-spacing: .02em;margin: 0;font-family: serif;color: #3b3b3b;}


.box__outline3 {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
display: block;
z-index: 1;
overflow: visible;
pointer-events: none;
}


.box__rect3 {
fill: transparent;
stroke: var(--border-color);
stroke-width: var(--border-width);
vector-effect: non-scaling-stroke;
shape-rendering: crispEdges;
stroke-linejoin: miter;
stroke-linecap: butt;
transition: stroke-dashoffset var(--anim-duration) var(--anim-ease);
/* stroke-dasharray / stroke-dashoffset は JS 側でセットします（より確実） */
}


.box3.is-visible .box__rect3 { stroke-dashoffset: 0; }


.box3:nth-of-type(2) .box__rect3 { transition-delay: 120ms; }
.box3:nth-of-type(3) .box__rect3 { transition-delay: 180ms; }


@media (prefers-reduced-motion: reduce) {
.box__rect3 { transition: none; stroke-dashoffset: 0 !important; }
}	
	

/* 下部 */
.product-text__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  font-size: 15px;
  padding: 0 0px 80px;
  width: 80%;
  margin: 0 auto;
  color: #1b1b1b;
}

/* 価格 */
.product-text__footer .price {
  white-space: nowrap;
  font-family: serif;
  text-align: left;
  font-family: "Shippori Mincho", serif;
  font-weight: 300;
  font-style: normal;
}

/* 点線 */
.product-text__footer .line {
  flex: 1;
  border-bottom: 1px dashed #000;
  transform: translateY(-2px);
}

/* Buy */
.product-text__footer .buy {
  display: inline-block;
  padding: 0px 9px;
  background: #ceaa32;
  color: #fff;
  text-decoration: none;
  font-size: 13px;
  transition: background 0.3s ease, color 0.3s ease;
  font-family: serif;
}

.product-text__footer .buy:hover {
  background: #d1d1d1;
  color: #fff;
}
	

/* style tips 商品クレジット */
.product-text__footer2 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  font-size: 15px;
  padding: 0 0px 15px;
  width: 85%;
  margin: 0 auto;
  font-family: "fot-tsukumin-pr6n", sans-serif;
}

/* 価格 */
.product-text__footer2 .price {
  white-space: nowrap;
  text-align: left;
  font-weight: 300;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: -0.5px;
  font-family: "fot-tsukumin-pr6n", sans-serif;
}

/* 点線 */
.product-text__footer2 .line {
  flex: 1;
  border-bottom: 1px dashed #000;
  transform: translateY(-2px);
}

/* Buy */
.product-text__footer2 .buy {
  width: 40px;
  display: inline-block;
  padding: -1px 9px;
  background: #881316;
  color: #fff;
  text-decoration: none;
  font-size: 10px;
  transition: background 0.3s ease, color 0.3s ease;
  font-family: serif;
}

.product-text__footer2 .buy:hover {
  background: #d1d1d1;
  color: #fff;
}


.buy-btn {
  display: block;
  width: 100%;
  background: #fff;
  color: #000;
  text-align: center;
  padding: 12px 0;
  font-size: 16px;
  font-family: Georgia, serif;
  text-decoration: none;
  border: none;
  transition: background 0.3s ease;
}

.buy-btn:hover {
  background: #eee;
}
	

/*お客様の声*/
.reason{
  background: #DCEBE2;
  padding:80px 20px 120px;
  overflow:hidden;
}

.reason__inner{
  max-width:540px;
  margin:0 auto;
}

.reason__head{
  margin-bottom: 30px;
}

.reason__title{
  display: table-cell;
  background: #fff;
  font-weight:500;
  line-height:1;
  letter-spacing:.08em;
  color:#222;
  margin-bottom: 30px;
}

.reason__lead{
  font-size:24px;
  line-height:2;
  letter-spacing:.08em;
  color:#222;
}

.reason__list{
  display:flex;
  flex-direction:column;
  gap:36px;
}

.reason__box{
  position:relative;
  width:84%;
  padding:36px 32px;
  background-color:#f8f3ef;
  background-image: linear-gradient(#dfdee5 1px, transparent 1px),    linear-gradient(90deg, #dfdee5 1px, transparent 1px);
  background-size: 15px 15px;
  border-radius:10px;
}

.reason__box p{
  font-size:19px;
  line-height:2;
  letter-spacing:.08em;
  color: #01712f;
}

.reason__box--right{
  margin-left:auto;
}

.reason__box--left{
  margin-right:auto;
}

.reason__box--small{
  width:78%;
}

.reason__box--middle{
  width:76%;
}

@media screen and (max-width:768px){

  .reason{
    margin: 50px 0 0;
    padding: 60px 16px 30px;
    font-family: fot-tsukuaoldmin-pr6n, sans-serif;
    font-weight: 300;
    font-style: normal;
  }

  .reason__title{
    font-size: 19px;
    padding: 6px 17px;
    font-family: fot-tsukuaoldmin-pr6n, sans-serif;
    font-weight: 300;
    font-style: normal;
  }

  .reason__lead{
    font-size: 12px;
    line-height: 1.7;
    text-align: left;
    padding: 10px 0 0;
    font-family: fot-tsukuaoldmin-pr6n, sans-serif;
    font-weight: 300;
    font-style: normal;
  }

  .reason__list{
    gap:24px;
  }

  .reason__box,
  .reason__box--small,
  .reason__box--middle{
    width: 90%;
    padding: 15px 15px;
  }

  .reason__box p{
    font-size: 12px;
    line-height:2;
    text-align: left;
    font-family: fot-tsukuaoldmin-pr6n, sans-serif;
    font-weight: 400;
    font-style: normal;
  }

}
	

	
/*--文字が左から右　マスク-	*/
.reveal-text {
  /* display: inline-block; */
  position: relative;

  /* 初期状態：隠す */
  -webkit-mask-image: linear-gradient(
    to right,
    #000 0%,
    #000 50%,
    transparent 50%,
    transparent 100%
  );
  -webkit-mask-size: 200% 100%;
  -webkit-mask-position: 100% 0;
  mask-image: linear-gradient(
    to right,
    #000 0%,
    #000 50%,
    transparent 50%,
    transparent 100%
  );
  mask-size: 200% 100%;
  mask-position: 100% 0;
  animation: none;
}

.reveal-text.is-active {
animation: revealText 1.5s cubic-bezier(.4,0,.2,1) forwards;
}

@keyframes revealText {
  to {
    -webkit-mask-position: 0 0;
    mask-position: 0 0;
  }
}
	

	.img2{
		margin: 30px 0 0;
		width: 90%;
	}
	
	
	
/*styleTips*/	
.styleTips{
  padding:60px 20px 100px;
}

.styleTips__inner{
  max-width:640px;
  margin:0 auto;
}

.styleTips__head{
  margin-bottom:40px;
}

.styleTips__title{
  width: 75%;
  margin: 0 auto 0 0;
  position:relative;
  /* display:inline-block; */
  line-height:1;
  color:#7ca38f;
}

.styleTips__title::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:340px;
  height:1px;
  background:#a8c0b3;
}

.styleTips__image{
  text-align:center;
}

.styleTips__image img{
  width:100%;
  max-width:520px;
  height:auto;
  display:block;
  margin:0 auto;
}

.styleTips__content{
  max-width:460px;
  margin:40px auto 0;
}

.styleTips__lead{
  margin-bottom:28px;
  font-size:46px;
  font-weight:500;
  line-height:1.6;
  letter-spacing: 1px;
  color: #01712f;
}

.styleTips__text{
  font-size:27px;
  line-height:2.2;
  letter-spacing: 0;
  color: #1b1b1b;
}

@media screen and (max-width:768px){

  .styleTips{
    padding: 0px 20px 0px;
  }

  .styleTips__head{
    margin: 80px 0 28px;
  }

  .styleTips__title{
    font-size: 35px;
    padding-bottom: 7px;
    font-weight: 400;
    font-style: italic;
  }

  .styleTips__title::after{
    width:100%;
  }

  .styleTips__image img{
    max-width:100%;
  }

  .styleTips__content{
    margin-top: -35px;
    width: 70%;
    text-align: left;
    font-family: fot-tsukuaoldmin-pr6n, sans-serif;
    font-weight: 300;
    font-style: normal;
  }

  .styleTips__lead{
    margin-bottom: 7px;
    font-size: 15px;
    line-height:1.8;
    font-family: fot-tsukuaoldmin-pr6n, sans-serif;
    font-weight: 300;
    font-style: normal;
  }

  .styleTips__text{
    font-size: 12px;
    line-height:2.1;
    padding: 0 0 20px;
    font-family: fot-tsukuaoldmin-pr6n, sans-serif;
    font-weight: 300;
    font-style: normal;
  }

}
/*styleTips　end*/
	
	.content02{
		display: block;
	}


/*画像テキスト横並び*/
.t-flex {
  width: 100%;
  margin: 0px auto 0;
  align-items: center; /* ← 高さを揃える */
  padding: 0;
}
.ttl01 p{
  font-family: serif !important;
}
.t-flex2 {
  width: 100%;
  margin: 40px auto;
   /* ← 高さを揃える */
  padding: 0;
}

.t-flex img {
  height: auto;
  object-fit: cover; /* ← 必要なら画像トリミングして高さ揃える */
}
.t-flex2 img {
  height: auto;
  object-fit: cover; /* ← 必要なら画像トリミングして高さ揃える */
}
	.text{
		color: #9f4b71;
		font-size: 17.5px;
		font-family: serif;
		font-weight: 500;
	}


/* テキストを上下中央に配置 */
.caption{
  width: 85%;
  font-size: 12px;
  margin: 0 auto;
  padding: 0px 0px 40px;
  line-height: 2;
  text-align: justify;
  letter-spacing: 0px;
  font-family: fot-tsukumin-pr6n, sans-serif;
  font-weight: 300;
  font-style: normal;
}
	.caption1{
  width: 85%;
  font-size: 14px;
  margin: 0 auto;
  padding: 0px 0px 5px;
  line-height: 2;
  text-align: center;
  letter-spacing: 0px;
  font-family: fot-tsukumin-pr6n, sans-serif;
  font-weight: 300;
  font-style: normal;
  text-align: center;
  transform: scale(0.8, 1);
  transform-origin: top left;
  width: 125%;
}
.caption2{
  width: 85%;
  font-size: 12px;
  margin: 0 auto;
  padding: 0px 0px 30px;
  line-height: 2;
  text-align: justify;
  letter-spacing: 0px;
  font-family: fot-tsukumin-pr6n, sans-serif;
  font-weight: 300;
  font-style: normal;
}
	.t-flex img{
    width: 100%;
    font-size: 12px;
  }
	.item{
		padding: 25px 0 0;
	}

/* ------------------*/
/*画像テキスト横並び*/

	
	
.newExpression{
  padding:100px 20px 60px;
}

.newExpression__inner{
  max-width:540px;
  margin:0 auto;
}

.newExpression__title{
  font-weight:500;
  letter-spacing:.12em;
  color:#222;
}

.newExpression__text{
  font-size:28px;
  line-height:2.4;
  letter-spacing:.1em;
  color:#333;
}

.newExpression__scroll{
  position:relative;
  width: 1px;
  height:100px;
  margin:80px auto 0;
  overflow:hidden;
  background: rgba(255,255,255,.2);
}

.newExpression__scroll span{
  position:absolute;
  top:-100%;
  left:0;
  width:100%;
  height:100%;
  background:#666;
  animation:scrollLine 2s ease-in-out infinite;
}

@keyframes scrollLine{

  0%{
    top:-100%;
  }

  100%{
    top:100%;
  }

}

@media screen and (max-width:768px){

  .newExpression{
    padding: 0px 20px 0px;
    margin: 0 auto;
  }

  .newExpression__title{
    font-size: 20px;
    line-height: 1.5;
    margin: 0 auto 15px;
    text-align: left;
    display: inline-block;
    font-family: fot-tsukuaoldmin-pr6n, sans-serif;
    font-weight: 300;
    font-style: normal;
  }

  .newExpression__text{
    width: 85%;
    margin: 0 auto;
    font-size: 12px;
    line-height: 1.7;
    text-align: left;
    font-family: fot-tsukuaoldmin-pr6n, sans-serif;
    font-weight: 300;
    font-style: normal;
  }

  .newExpression__scroll{
    height: 55px;
    margin: 15px auto 0;
  }

}
	
	.content01{
	}
	
	
	
	.price{
		font-size: 12px;
		text-align: center;
		font-family: "fot-tsukumin-pr6n", sans-serif;
	}
.button_lg {
    width: 90%;
    height: 28px;
    line-height: 28px;
    background: #fff;
    text-align: center;
    transition: 0.5s;
    display: block;
    color: #3b3b3b;
    text-decoration: none;
    font-size: 13px;
    letter-spacing: 1px;
    margin: 0 auto;
    font-family: fot-tsukuaoldmin-pr6n, sans-serif;
    font-weight: 300;
    font-style: normal;
    border-radius: 50px;
 }
.button_lg2 {
    width: 85%;
    height: 28px;
    line-height: 28px;
    background: #ceaa32;
    text-align: center;
    transition: 0.5s;
    display: block;
    color: #fff;
    text-decoration: none;
    font-size: 13px;
    letter-spacing: 1px;
    margin: 0 auto;
    font-weight: 300;
    font-family: "Shippori Mincho", serif;
    font-style: normal;
 }
.button_lg3 {
    width: 85%;
    height: 28px;
    line-height: 28px;
    background: #ceaa32;
    text-align: center;
    transition: 0.5s;
    display: block;
    color: #fff;
    text-decoration: none;
    font-size: 13px;
    letter-spacing: 1px;
    margin: 0 auto;
    font-family: "Shippori Mincho", serif;
    font-weight: 300;
    font-style: normal;
 }
.btn {
  text-decoration: none;
  margin: 0 auto;
  padding: 10px 0px 40px;
}
.btn a:hover{
    background-color: #fff;
    opacity: 0.5;
  }
.btn1 {
  text-decoration: none;
  margin: 0 auto;
  padding: 20px 20px;
}
.btn1 a:hover{
    background-color: #fff;
    opacity: 0.5;
  }
.btn2 {
  text-decoration: none;
  margin: 0 auto;
  padding: 20px 20px;
}
.btn2 a:hover{
    background-color: #fff;
    opacity: 0.5;
  }
.btn3 {
  text-decoration: none;
  margin: 0 auto;
  padding: 20px 20px;
}
.btn3 a:hover{
    background-color: #fff;
    opacity: 0.5;
  }
  section {
    margin: 0px auto;
    padding-top: 0px;
  }

  /*--section01,03,05,07--*/
  .section01 h2, 
  .section03 h2,
  .section04 h2 {
    text-align: center;
  }
  .section02 h2,   
  .section05 h2{
    text-align: center;
  }
 
  .section01 .slide-area, 
  .section02 .slide-area,
  .section04 .slide-area{
    width: 100%;
    order: 0;
    position: relative;
    padding-bottom: 1px;
 }
  
  
  
 
	
  /*--section02,04,06--*/
  .section02, 
  .section03,
  .section04, 
  .section05{
  }
  
  .section03 .slide-area,
  .section05 .slide-area {
    width: 100%;
    border-bottom: solid 1px #fff;
    order: 1;
  }
  .section02 .caption-area, 
  .section04 .caption-area{
    width: 100%;
    margin: 50px auto 0;
    text-align: left;
  }
  
  

	.styling_inner .slide-box .text{
		font-size: 2.2rem;
		display: block;
		height: 20px;
		line-height: 20px;
	}
	.fs-en01{
		font-size: 14px;
	}
	
 

	

  /*--related link--*/
  .related-link {
    margin: 90px auto;
  }
  .related-link a {
    padding: 0.8% 10%;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 1px;
    background-color: #bc1414;
    color: #fff;
    text-decoration: none;
    transition: background 1s;
	font-family: serif !important;
  }
  .related-link a:hover {
    background-color: #000;
    color: #fff;
  }
}


/*---------------------------PC------------------------------------*/
@media screen and (min-width: 768px) {
	div.wrapper_ {
    
    overflow: clip !important;

}
	.wrap {/* width: 625px; */margin: 0 auto;/* padding: 0 109px; */}
  .sp {
    display: none;
  }
  .pc {
    display: block;
  }

  .bgcolor {
    background-color: #207baf;
  }

 /* ---------- hero ---------- */
  .hero{
    position:relative;
    padding: 52px 8vw 60px;
    max-width:900px;
    font-size: 15px;
    letter-spacing: .01em;
    line-height: 1.8;
    margin: 24px auto 0;
    text-align: justify;
  }
 
  .hero p{
    font-family: "fot-tsukumin-pr6n", sans-serif;
    font-weight:500;
    font-size: clamp(1.15rem,2.6vw,15px);
    line-height: 2;
    color: #000;
    letter-spacing:.06em;
    text-align: justify;
    opacity:0;
    transform:translateY(16px);
    animation:rise 1s .3s cubic-bezier(.16,1,.3,1) forwards;
  }
  @keyframes rise{to{opacity:1; transform:translateY(0);}}
  main {
    width: 900px;
    overflow: hidden;
    margin: 30px auto;
    text-align: center;
    font-weight: 500;
    font-style: normal;
    border-radius: 10px;
    border: solid 1px #eaeaea;
  }
.font-ja {
  font-family: "Shippori Mincho", serif;
  font-weight: 300;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  font-feature-settings: "palt"; /* 句読点を詰める */
  letter-spacing: 2px;
  line-height: 1.75;
  text-align: justify; /* 両橋を揃える */
}
	
  .lead {
    /*コレ*/
    
    /*コレ*/
    /* width: 640px; */
    margin: 45px auto;
    text-align: left;
    padding: 20px 0px 0 0px;
    color: #373737;
    font-family: "fot-tsukumin-pr6n", sans-serif;
  }
	h3 img {
      width: 17%;
      margin: 0 0 0 0;
      padding: 85px 0 0px 0;
}	
	.p-article__vis{
  position: relative;
  width: 100%;
  display: inline-block;
 }
	
	
/* SVG を画像の上に重ねて中央配置 */
.fv_title_1 {
  position: absolute;
  top: 50%;               /* ← 画像の真ん中あたりに配置（調整可能） */
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  width: 100%;
  pointer-events: none;   /* クリックをブロックしない */
}
.fv_title {
  position: absolute;
  top: 50%;               /* ← 画像の真ん中あたりに配置（調整可能） */
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  width: 100%;
  pointer-events: none;   /* クリックをブロックしない */
  overflow: hidden;
}

/* SVGフェードインアニメーション */
.fv_title_1 span svg {
  width: 100%;             /* SVGの大きさ（調整OK） */
  opacity: 0;
  animation: fadein 0.8s ease-in-out forwards;
}
.fv_title span svg {
  width: 100%;             /* SVGの大きさ（調整OK） */
  opacity: 0;
  animation: fadeIn 1s ease-in-out forwards;
}

/* アニメーション定義 */
@keyframes displayImg {
  100% {
    transform: translateX(100%);
  }
}
	
@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(20px);  /* 下からふわっと */
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadein {
  0% {
    opacity: 0;
    transform: translateY(0px);  /* 下からふわっと */
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

	
/* ---------------------枠コラム----------------------- */
	
	
	:root {
  --bg: #efe3d5;
  --red: #961217;
  --red-dark: #851015;
  --white: #fff9f2;
  --image-bg: #d8d4c0;
}

/* ========================================
   SECTION
======================================== */

.outerwear-section {
  /* min-height: 75vh; */
  padding: 0px 5vw;
  width: 600px;
  margin: 0 auto 88px;
}


/* ========================================
   PRODUCT CARD
======================================== */

.product-card {
  width: min(100%, 1040px);
  margin: 0 auto;
  color: #fff;
  padding: 30px 35px;
  background:
    linear-gradient(
      145deg,
      #9d1418 0%,
      var(--red-dark) 100%
    );
  border-radius: 20px;
  position: relative;
  overflow: hidden;
  box-shadow:
    0 20px 60px rgba(76, 22, 16, 0.08);

  /* 初期状態 */
  opacity: 0;
  transform:
    translateY(60px)
    scale(0.985);
  transition:
    opacity 1.1s cubic-bezier(.16, 1, .3, 1),
    transform 1.1s cubic-bezier(.16, 1, .3, 1);
}


/* スクロールで表示 */

.product-card.is-show {
  opacity: 1;

  transform:
    translateY(0)
    scale(1);
}


/* 赤背景にごく薄い質感 */

.product-card::before {
  content: "";

  position: absolute;
  inset: 0;

  opacity: 0.06;

  pointer-events: none;

  background-image:
    radial-gradient(
      rgba(255, 255, 255, 0.7) 0.5px,
      transparent 0.5px
    );

  background-size: 7px 7px;
}


/* ========================================
   PRODUCT VISUAL
======================================== */

.product-visual {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    72px;
  /* gap: 9px; */
  align-items: center;
}


/* ========================================
   IMAGE
======================================== */

.product-image-wrap {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 5.3;
}


/* 写真に流れる薄い光 */

.product-image-wrap::after {
  content: "";

  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      115deg,
      transparent 35%,
      rgba(255, 255, 255, 0.10) 50%,
      transparent 65%
    );

  transform: translateX(-120%);

  pointer-events: none;
}


.product-card.is-show
.product-image-wrap::after {
  animation:
    imageLight
    1.7s
    ease
    1s
    forwards;
}


@keyframes imageLight {

  from {
    transform: translateX(-120%);
  }

  to {
    transform: translateX(120%);
  }

}


/* 商品画像 */

.product-image {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transform: scale(1.08);
  filter: saturate(0.9);
  transition:
    transform 1.8s cubic-bezier(.16, 1, .3, 1),
    filter 0.7s ease;
}


/* 表示時にズームアウト */

.product-card.is-show
.product-image {
  transform: scale(1);
}





/* ========================================
   VERTICAL TITLE
   「ー」も正しく縦組み
======================================== */

.vertical-title {
  margin: 0;
  color: var(--white);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.08em;

  /* 日本語縦書き */
  writing-mode: vertical-rl;

  /* 長音「ー」などを縦組みに合わせる */
  text-orientation: mixed;
  justify-self: center;

  /* アニメーション初期状態 */
  font-family: "fot-tsukumin-pr6n", sans-serif;
  opacity: 0;
  transform: translateY(20px);
  transition:
    opacity 0.9s ease 0.4s,
    transform 1s cubic-bezier(.16, 1, .3, 1) 0.4s;
}


/* 表示 */

.product-card.is-show
.vertical-title {
  opacity: 1;

  transform: translateY(0);
}


/* ========================================
   CONTENT
======================================== */

.product-content {
  margin-top: 15px;
}


/* 本文 */

.product-description {
  margin: 0;
  font-family: "fot-tsukumin-pr6n", sans-serif;
  line-height: 2;
  text-align: justify;
  transition:
    opacity 0.9s ease 0.7s,
    transform 1s cubic-bezier(.16, 1, .3, 1) 0.7s;
  font-size: 14px;
}


/* 本文表示 */

.product-card.is-show
.product-description {
  opacity: 1;
  transform:
    translateY(0);
  color: #fff;
  letter-spacing: normal;
}


/* ========================================
   FOOTER
======================================== */

.product-footer {
  padding: 30px 0 0;
  display: flex;
  align-items: end;
  justify-content:
    space-between;
  gap: 24px;
  transition:
    opacity 0.8s ease 1s,
    transform 0.8s ease 1s;
}


/* footer表示 */

.product-card.is-show
.product-footer {
  opacity: 1;
  transform:
    translateY(0);
}


/* ========================================
   PRICE
======================================== */

.price {
  margin: 0;
  letter-spacing:
    0.045em;
}


/* ========================================
   BUY
======================================== */

.buy-link {
  position: relative;
  padding: 4px 0;
  color: var(--white);
  text-decoration: none;
  font-size: 14px;
}


/* hover 下線 */

.buy-link::after {
  content: "";

  position: absolute;

  left: 0;
  bottom: 0;

  width: 100%;
  height: 1px;

  background:
    currentColor;

  transform:
    scaleX(0);

  transform-origin:
    right;

  transition:
    transform
    0.5s
    cubic-bezier(.16, 1, .3, 1);
}


.buy-link:hover::after {
  transform:
    scaleX(1);

  transform-origin:
    left;
}


/* ========================================
   SP
======================================== */

@media screen and (max-width: 600px) {

  .outerwear-section {
    padding:
      24px
      20px;
  }


  .product-card {
    border-radius: 15px;
    padding: 20px
      20px
      20px;
  }


  .product-visual {
    grid-template-columns:
      minmax(0, 1fr)
      38px;
    gap: 5px;
  }


  /* 縦タイトル */

  .vertical-title {
    font-size: 15px;
    line-height:
      1.4;
    letter-spacing:
      0.06em;
  }


  /* 本文 */

  .product-description {
    font-size: 12px;
  }


  /* footer */

  .product-footer {
    margin-top: 20px;
    align-items: center;
    color: #fff;
  }


  /* price */

  .price {
    font-size:
      14px;
  }


  /* buy */

  .buy-link {
    font-size:
      14px;

    flex-shrink:
      0;
  }

}

	.brand2{
		width: 500px;
		margin: 80px auto;
	}
/* ========================================
   REDUCED MOTION
======================================== */

@media
(prefers-reduced-motion: reduce) {

  .product-card,
  .product-image,
  .vertical-title,
  .product-description,
  .product-footer {

    transition:
      none;
  }


  .product-image-wrap::after {
    animation:
      none !important;
  }

}
	
/* ---------------------枠コラム end----------------------- */	
	
/* -----------------縦書きリード文 end------------------- */		
		
/* ----------------- STYLE PICK------------------- */		
	

.style-pick {
  width: 100%;
  padding: 20px 20px 80px;
  box-sizing: border-box;
  overflow: hidden;
}

.style-pick__inner {
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
}


/* ========================================
   HEADER
======================================== */

.style-pick__header {
  text-align: center;
  margin-bottom: 30px;
}

.style-pick__title {
  position: relative;
  display: block;
  margin: 0;
  padding: 0 0 7px;
  font-family: "Bodoni Moda", serif;
  /* font-optical-sizing: auto; */
  color: #d5ae45;
  font-size: 23.5px;
  font-style: italic;
  font-weight: 200;
  line-height: 1;
  transform: scaleX(0.8);       /* 横幅を80%に縮小 */
  transform-origin: left top;   /* 変形の基準点を左上に指定 */
  width: 125%;
}

.style-pick__title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #eadba9;
}

.style-pick__sub {
  margin: 7px 0 0;
  color: #d5ae45;
  font-family: "Shippori Mincho", serif;
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0.18em;
}


/* ========================================
   VISUAL
======================================== */

.style-pick__visual {
  position: relative;
  width: 100%;
  padding-bottom: 15px;
  width: 500px;
  margin: 0 auto;
}


/* メイン画像 */

.style-pick__main-image {
  width: 312px;
  margin: 0 auto;
}

.style-pick__main-image img {
  display: block;
  width: 100%;
  height: auto;
}

.style-pick__main-image2 {
  width: 312px;
}

.style-pick__main-image2 img {
  display: block;
  width: 100%;
  height: auto;
}
/* 2枚目 */

.style-pick__sub-image {
  position: relative;
  width: 224px;
  margin: 23px 0 0 auto;
  /* margin-right: 20px; */
}

.style-pick__sub-image img {
  display: block;
  width: 100%;
  height: auto;
}
/* part 02 */
.style-pick3__main-image {
  /* width: 312px; */
  margin: 0 auto;
}

.style-pick3__main-image img {
  display: block;
  width: 100%;
  height: auto;
}


/* ========================================
   TEXT
======================================== */

.style-pick__text {
  width: calc(100% - 40px);
  margin: 0 auto;
}

.style-pick__text p {
  margin: 0;
  color: #373737;
  font-family: "Shippori Mincho", serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 2.15;
  /* letter-spacing: 0.08em; */
  text-align: justify;
  padding-bottom: 30px;
}


/* ========================================
   SP
======================================== */

@media screen and (max-width: 374px) {

  .style-pick {
    padding-left: 15px;
    padding-right: 15px;
  }

  .style-pick__main-image {
    width: 280px;
  }
.style-pick__main-image2 {
    width: 280px;
  }
  .style-pick__sub-image {
    width: 205px;
    margin-right: 10px;
  }

 

  .style-pick__text {
    width: calc(100% - 20px);
  }

  .style-pick__text p {
    font-size: 11px;
  }
}


/* ========================================
   PC
======================================== */

@media screen and (min-width: 768px) {

  .style-pick {
    padding: 40px 20px 50px;
  }

  .style-pick__inner {
    /* max-width: 600px; */
  }

  .style-pick__header {
    margin-bottom: 40px;
  }

  .style-pick__title {
    font-size: 28px;
  }

  .style-pick__sub {
    font-size: 16px;
  }

  .style-pick__main-image {
    width: 390px;
  }
  .style-pick__main-image2 {
    width: 50%;
  }
  .style-pick__sub-image {
    width: 280px;
    /* margin-right: 30px; */
  }

  

  .style-pick__text {
    /* width: 520px; */
  }

  .style-pick__text p {
  }
}	
	
/* ----------------- STYLE PICK end------------------- */		
	
	
	
	
	
	

.newExpression__scroll{
  position:relative;
  width:1px;
  height:100px;
  margin: 25px auto 0;
  overflow:hidden;
  background:rgba(0,0,0,.2);
}

.newExpression__scroll span{
  position:absolute;
  top:-100%;
  left:0;
  width:100%;
  height:100%;
  background:#666;
  animation:scrollLine 2s ease-in-out infinite;
}
 .newExpression__scroll{
    height:70px;
    margin-top:56px;
  }
@keyframes scrollLine{

  0%{
    top:-100%;
  }

  100%{
    top:100%;
  }

}
	
/*ボックスアニメーション*/
:root {
--border-color: #fff; /* 枠線の色 */
--border-width: 1; /* 枠線の太さ(px) */
--anim-duration: 1200ms; /* アニメーション時間 */
--anim-ease: cubic-bezier(.22,.61,.36,1); /* イージング */
--corner-radius: 0; /* 角丸(px)。0で角ばった四角 */
--bg: #f7f7f7;
}

.box {position: relative;width: min(90%, 100%);margin: -28px -50px 0;padding: 10px;background: transparent;box-sizing: border-box;isolation: isolate;}


.box__text {position: relative;z-index: 2;font-size: 18px;letter-spacing: .02em;margin: 0;color: #000;padding: 20px 0;font-weight: 300;font-style: normal;line-height: 1.5;font-family: "fot-tsukumin-pr6n", sans-serif;}


.box__outline {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
display: block;
z-index: 1;
overflow: visible;
pointer-events: none;
}


.box__rect {
fill: transparent;
stroke: var(--border-color);
stroke-width: var(--border-width);
vector-effect: non-scaling-stroke;
shape-rendering: crispEdges;
stroke-linejoin: miter;
stroke-linecap: butt;
transition: stroke-dashoffset var(--anim-duration) var(--anim-ease);
/* stroke-dasharray / stroke-dashoffset は JS 側でセットします（より確実） */
}


.box.is-visible .box__rect { stroke-dashoffset: 0; }


.box:nth-of-type(2) .box__rect { transition-delay: 120ms; }
.box:nth-of-type(3) .box__rect { transition-delay: 180ms; }


@media (prefers-reduced-motion: reduce) {
.box__rect { transition: none; stroke-dashoffset: 0 !important; }
}

/*ボックスアニメーション2*/
:root {
--border-color: #fff; /* 枠線の色 */
--border-width: 1; /* 枠線の太さ(px) */
--anim-duration: 1200ms; /* アニメーション時間 */
--anim-ease: cubic-bezier(.22,.61,.36,1); /* イージング */
--corner-radius: 0; /* 角丸(px)。0で角ばった四角 */
--bg: #f7f7f7;
}

.box2 {position: relative;width: min(20%, 100%);margin: 50px 0px 0 auto;padding: 5px 10px;background: transparent;box-sizing: border-box;isolation: isolate;}


.box__text2 {position: relative;z-index: 2;letter-spacing: .02em;margin: 0;font-family: "Bodoni Moda", serif;color: #d5ae45;font-size: 23.5px;font-weight: 200;line-height: 1;transform: scaleX(0.8);transform-origin: left top;width: 125%;}


.box__outline2 {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
display: block;
z-index: 1;
overflow: visible;
pointer-events: none;
}


.box__rect2 {
fill: transparent;
stroke: var(--border-color);
stroke-width: var(--border-width);
vector-effect: non-scaling-stroke;
shape-rendering: crispEdges;
stroke-linejoin: miter;
stroke-linecap: butt;
transition: stroke-dashoffset var(--anim-duration) var(--anim-ease);
/* stroke-dasharray / stroke-dashoffset は JS 側でセットします（より確実） */
}


.box2.is-visible .box__rect2 { stroke-dashoffset: 0; }


.box2:nth-of-type(2) .box__rect2 { transition-delay: 120ms; }
.box2:nth-of-type(3) .box__rect2 { transition-delay: 180ms; }


@media (prefers-reduced-motion: reduce) {
.box__rect2 { transition: none; stroke-dashoffset: 0 !important; }
}	

/*ボックスアニメーション3*/
:root {
--border-color: #fff; /* 枠線の色 */
--border-width: 1; /* 枠線の太さ(px) */
--anim-duration: 1200ms; /* アニメーション時間 */
--anim-ease: cubic-bezier(.22,.61,.36,1); /* イージング */
--corner-radius: 0; /* 角丸(px)。0で角ばった四角 */
--bg: #f7f7f7;
}

.box3 {position: relative;width: min(25%, 100%);margin: 50px auto;padding: 5px 10px;background: transparent;box-sizing: border-box;isolation: isolate;}


.box__text3 {position: relative;z-index: 2;font-size: 24px;letter-spacing: .02em;margin: 0;font-family: serif;color: #3b3b3b;}


.box__outline3 {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
display: block;
z-index: 1;
overflow: visible;
pointer-events: none;
}


.box__rect3 {
fill: transparent;
stroke: var(--border-color);
stroke-width: var(--border-width);
vector-effect: non-scaling-stroke;
shape-rendering: crispEdges;
stroke-linejoin: miter;
stroke-linecap: butt;
transition: stroke-dashoffset var(--anim-duration) var(--anim-ease);
/* stroke-dasharray / stroke-dashoffset は JS 側でセットします（より確実） */
}


.box3.is-visible .box__rect3 { stroke-dashoffset: 0; }


.box3:nth-of-type(2) .box__rect3 { transition-delay: 120ms; }
.box3:nth-of-type(3) .box__rect3 { transition-delay: 180ms; }


@media (prefers-reduced-motion: reduce) {
.box__rect3 { transition: none; stroke-dashoffset: 0 !important; }
}	
	
/* 下部 */
.product-text__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  font-size: 16px;
  color: #373737;
  margin: 0 auto;
  padding: 40px 50px 50px;
}

/* 価格 */
.product-text__footer .price {
  white-space: nowrap;
  font-family: serif;
  text-align: left;
}

/* 点線 */
.product-text__footer .line {
  flex: 1;
  border-bottom: 1px dashed #000;
  transform: translateY(-2px);
}

/* Buy */
.product-text__footer .buy {
  display: inline-block;
  padding: 0px 10px;
  background: #ceaa32;
  color: #fff;
  text-decoration: none;
  font-size: 14px;
  transition: background 0.3s ease, color 0.3s ease;
  font-family: serif;
}

.product-text__footer .buy:hover {
  background: #d1d1d1;
  color: #fff;
}
/* style tips 商品クレジット */
.product-text__footer2 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  font-size: 15px;
  padding: 0 0px 25px;
  /* margin: 0 auto; */
}

/* 価格 */
.product-text__footer2 .price {
  white-space: nowrap;
  text-align: left;
  font-weight: 300;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: -0.5px;
}

/* 点線 */
.product-text__footer2 .line {
  flex: 1;
  border-bottom: 1px dashed #000;
  transform: translateY(-2px);
}

/* Buy */
.product-text__footer2 .buy {
  width: 40px;
  display: inline-block;
  padding: -1px 9px;
  background: #881316;
  color: #fff;
  text-decoration: none;
  font-size: 10px;
  transition: background 0.3s ease, color 0.3s ease;
  font-family: serif;
}

.product-text__footer2 .buy:hover {
  background: #d1d1d1;
  color: #fff;
}

	
	
.buy-btn {
  display: block;
  width: 100%;
  background: #fff;
  color: #000;
  text-align: center;
  padding: 12px 0;
  font-size: 16px;
  font-family: Georgia, serif;
  text-decoration: none;
  border: none;
  transition: background 0.3s ease;
}

.buy-btn:hover {
  background: #eee;
}

	
	
/*--文字が左から右　マスク-	*/
.reveal-text {
  text-align: center;
  /* display: table-cell; */
  position: relative;

  /* 初期状態：隠す */
  -webkit-mask-image: linear-gradient(
    to right,
    #000 0%,
    #000 50%,
    transparent 50%,
    transparent 100%
  );
  -webkit-mask-size: 200% 100%;
  -webkit-mask-position: 100% 0;
  mask-image: linear-gradient(
    to right,
    #000 0%,
    #000 50%,
    transparent 50%,
    transparent 100%
  );
  mask-size: 200% 100%;
  mask-position: 100% 0;
  animation: none;
  font-family: fot-tsukuaoldmin-pr6n, sans-serif;
  font-weight: 300;
  font-style: normal;
}

.reveal-text.is-active {
animation: revealText 1.5s cubic-bezier(.4,0,.2,1) forwards;
}

@keyframes revealText {
  to {
    -webkit-mask-position: 0 0;
    mask-position: 0 0;
  }
}
	
	
	.img2{
		margin: 30px auto;
		width: 50%;
	}
	
	
	
	
/*styleTips*/	
.styleTips{
  padding: 60px 0px 100px;
}

.styleTips__inner{
  max-width:640px;
  margin:0 auto;
}

.styleTips__head{
  margin-bottom:40px;
}

.styleTips__title{
  position:relative;
  /* display:inline-block; */
  padding-bottom:18px;
  font-family: "Times New Roman", serif;
  font-size: 40px;
  font-style:italic;
  font-weight:400;
  line-height:1;
  letter-spacing:.02em;
  color:#7ca38f;
}

.styleTips__title::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width: 310px;
  height:1px;
  background:#a8c0b3;
}

.styleTips__image{
  text-align:center;
}

.styleTips__image img{
  width: 100%;
  max-width:520px;
  height:auto;
  display:block;
  margin:0 auto;
}

.styleTips__content{
  max-width:460px;
  margin:40px auto 0;
}

.styleTips__lead{
  margin-bottom: 15px;
  font-size: 18px;
  font-weight:500;
  line-height:1.6;
  letter-spacing:.12em;
  color: #01712f;
  font-family: fot-tsukuaoldmin-pr6n, sans-serif;
  font-weight: 300;
  font-style: normal;
}

.styleTips__text{
  font-size: 14px;
  line-height:2.2;
  letter-spacing:.08em;
  color:#333;
  padding-bottom: 15px;
  font-family: fot-tsukuaoldmin-pr6n, sans-serif;
  font-weight: 300;
  font-style: normal;
}

@media screen and (max-width:768px){

  .styleTips{
    padding:40px 20px 80px;
  }

  .styleTips__head{
    margin-bottom:28px;
  }

  .styleTips__title{
    font-size:56px;
    padding-bottom:14px;
  }

  .styleTips__title::after{
    width:100%;
  }

  .styleTips__image img{
    max-width:100%;
  }

  .styleTips__content{
    margin-top:32px;
  }

  .styleTips__lead{
    margin-bottom:18px;

    font-size:28px;
    line-height:1.8;
  }

  .styleTips__text{
    font-size:16px;
    line-height:2.1;
  }

}
/*styleTips　end*/
	
	.content02{
		display: flex;
		justify-content: space-around;
		/* gap: 10px; */
		align-items: center;
		padding: 0 35px;
	}


/*画像テキスト横並び*/
.t-flex {
  display: flex;
  width: 100%;
  margin: 50px auto 80px;
  align-items: center; /* ← 高さを揃える */
  padding: 0;
  justify-content: space-around;
}
.ttl01 p{
}
.t-flex2 {
  width: 50%;
  margin: 0 auto;
   /* ← 高さを揃える */
  padding: 0;
  text-align: left;
}

.t-flex img {
  height: auto;
  object-fit: cover; /* ← 必要なら画像トリミングして高さ揃える */
}
.t-flex2 img {
  height: auto;
  object-fit: cover; /* ← 必要なら画像トリミングして高さ揃える */
}
	.text{
		color: #9f4b71;
		font-size: 19px;
		font-family: serif;
	}
.t-flex-item{
		width: 47%;
	}

/* テキストを上下中央に配置 */
.caption{
  /* width: 80%; */
  font-size: 13px;
  margin: 0 auto;
  padding: 0px 0px 0px;
  line-height: 1.9;
  text-align: justify;
  letter-spacing: 1px;
  color: #000;
  font-weight: 300;
  font-style: normal;
  font-family: "fot-tsukumin-pr6n", sans-serif;
}
.caption1{
  width: 80%;
  font-size: 16px;
  margin: 0 auto;
  padding: 0px 0px 0px;
  line-height: 1.9;
  letter-spacing: 1px;
  color: #000;
  font-family: "fot-tsukumin-pr6n", sans-serif;
  font-weight: 300;
  font-style: normal;
  text-align: center;
  transform: scale(0.8, 1);
  transform-origin: top left;
  width: 125%;
}
	.caption2{
  /* width: 80%; */
  font-size: 13px;
  margin: 0 auto;
  padding: 30px 0px 30px;
  line-height: 1.9;
  text-align: justify;
  letter-spacing: 1px;
  color: #000;
  font-family: "fot-tsukumin-pr6n", sans-serif;
  font-weight: 300;
  font-style: normal;
}
	.t-flex img{
    width: 85%;
    font-size: 12px;
  }
	.item{
		padding: 40px 0 0;
	}

/* ------------------*/
/*画像テキスト横並び*/
	
	
	

.newExpression{
  padding: 50px 20px 25px;
}

.newExpression__inner{
  max-width:540px;
  margin:0 auto;
}

.newExpression__title{
  display: inline-block;
  margin-bottom: 10px;
  font-size: 25px;
  font-weight:500;
  line-height:1.8;
  letter-spacing:.12em;
  color:#222;
  text-align: left;
  font-family: fot-tsukuaoldmin-pr6n, sans-serif;
  font-weight: 300;
  font-style: normal;
}

.newExpression__text{
  font-size: 15px;
  line-height:2.4;
  letter-spacing:.1em;
  color:#333;
  text-align: left;
  font-family: fot-tsukuaoldmin-pr6n, sans-serif;
  font-weight: 300;
  font-style: normal;
}

.newExpression__scroll{
  position:relative;
  width:1px;
  height: 85px;
  margin: 5px auto 45px;
  overflow:hidden;
  background: rgba(255,255,255,.2);
}

.newExpression__scroll span{
  position:absolute;
  top:-100%;
  left:0;
  width:100%;
  height:100%;
  background:#666;
  animation:scrollLine 2s ease-in-out infinite;
}

@keyframes scrollLine{

  0%{
    top:-100%;
  }

  100%{
    top:100%;
  }

}

@media screen and (max-width:768px){

  .newExpression{
    padding:70px 20px 50px;
  }

  .newExpression__title{
    margin-bottom:28px;

    font-size:34px;
    line-height:1.9;
  }

  .newExpression__text{
    font-size:16px;
    line-height:2.3;
  }

  .newExpression__scroll{
    height:70px;
    margin-top:56px;
  }

}	
	.content01{
		
	}	
	
	.price{
		font-size: 14px;
		text-align: center;
		font-family: "fot-tsukumin-pr6n", sans-serif;
	}
.button_lg {
    width: 80%;
    height: 26px;
    line-height: 26px;
    border-radius: 50px;
    border: solid 1px #fff;
    background: #fff;
    text-align: center;
    transition: 0.5s;
    display: block;
    color: #3b3b3b;
    text-decoration: none;
    font-size: 16px;
    font-weight: normal;
    letter-spacing: 1px;
    margin: 0 auto;
    font-family: serif !important;
 }
.button_lg2 {
          width: 85%;
          height: 28px;
          line-height: 28px;
          background: #d5ae45;
          text-align: center;
          transition: 0.5s;
          display: block;
          color: #fff;
          text-decoration: none;
          font-size: 15px;
          letter-spacing: 1px;
          margin: 0 auto;
          font-weight: 300;
          font-style: normal;
          font-family: "Shippori Mincho", serif;
 }
.button_lg3 {
    width: 85%;
    height: 28px;
    line-height: 28px;
    background: #d5ae45;
    text-align: center;
    transition: 0.5s;
    display: block;
    color: #fff;
    text-decoration: none;
    font-size: 15px;
    letter-spacing: 1px;
    margin: 0 auto;
    font-weight: 300;
    font-style: normal;
    font-family: "Shippori Mincho", serif;
 }
.btn {
  text-decoration: none;
  margin: 0 auto;
  padding: 20px 0px 40px;
}
.btn a:hover{
    background-color: #fff;
    opacity: 0.5;
  }
.btn1 {
  width: 500px;
  text-decoration: none;
  margin: 0 auto;
  padding: 20px 0px 40px;
}
.btn1 a:hover{
    background-color: #fff;
    opacity: 0.5;
  }
.btn2 {
  width: 500px;
  text-decoration: none;
  margin: 0 auto;
  padding: 20px 0px 40px;
}
.btn2 a:hover{
    background-color: #fff;
    opacity: 0.5;
  }
.btn3 {
  width: 500px;
  text-decoration: none;
  margin: 0 auto 50px;
  padding: 20px 0px 0px;
}
.btn3 a:hover{
    background-color: #fff;
    opacity: 0.5;
  }
  section {
    width: 800px;
    margin: 0px auto;
  }

  /*--section01,03,05,07--*/
  .section01 h2, 
  .section03 h2,
  .section04 h2 {
    text-align: center;
  }
  .section02 h2,   
  .section05 h2{
    text-align: center;
  }
 
  .section01 .slide-area, 
  .section02 .slide-area,
  .section04 .slide-area{
    width: 50%;
    order: 0;
    position: relative;
 }
  
  
  
 
	
  /*--section02,04,06--*/
  .section02, .section03, .section05{
    width: 500px;
  }
  
  .section03 .slide-area,
  .section05 .slide-area {
    width: 50%;
    order: 1;
  }
  .section02 .caption-area, 
  .section04 .caption-area{
    width: 100%;
    margin: 50px auto 0;
    text-align: left;
  }
  
  

	.styling_inner .slide-box .text{
		font-size: 2.2rem;
		display: block;
		height: 20px;
		line-height: 20px;
	}
	.fs-en01{
		font-size: 14px;
	}
	
 

	

  /*--related link--*/
  .related-link {
    margin: 90px auto;
  }
  .related-link a {
    padding: 0.8% 10%;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 1px;
    background-color: #bc1414;
    color: #fff;
    text-decoration: none;
    transition: background 1s;
	font-family: serif !important;
  }
  .related-link a:hover {
    background-color: #000;
    color: #fff;
  }
	
	
	
	
/*----------

スッタフスタイリング表示調整

----------*/
/* hacobune 3列レイアウト */
.hacobune-gallery .hacobune-grid-row {
  display: flex !important;
  flex-wrap: wrap !important;
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* 1アイテム = 1/3 */
.hacobune-gallery .hacobune-grid-col {
  width: 33.333333% !important;
  max-width: 33.333333% !important;
  min-width: 0 !important;
  flex: 0 0 33.333333% !important;
  box-sizing: border-box !important;
  padding: 0 10px !important;
}

/* 投稿本体 */
.hacobune-gallery .hacobune-media-post-list-item {
  width: 100% !important;
  box-sizing: border-box !important;
}

/* 画像 */
.hacobune-gallery .hacobune-media-post-list-item-img-wrapper,
.hacobune-gallery .hacobune-media-post-list-item-img-container {
  width: 100% !important;
}

.hacobune-gallery .hacobune-media-post-list-item-img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}



.hacobune-gallery {
width: 90% !important;
margin: 0 auto;
 

}

}





/*--slick カスタマイズ--*/
.content01 .slick-dots li {
  margin: 0;
}
.content01 .slick-dots li button:before {
  opacity: 1;
  color: #333;
}
.content01 .slick-dots li.slick-active button:before {
  opacity: 1;
  color: #848484;
}
.content02 .slick-dots li {
  margin: 0;
}
.content02 .slick-dots li button:before {
  opacity: 1;
  color: #333;
}
.content02 .slick-dots li.slick-active button:before {
  opacity: 1;
  color: #cccccc;
}




/*--スクロール　アニメーション--*/
.fade-in {
  opacity: 0;
  transition: opacity 1.5s ease;
}

.fade-in.on {
  opacity: 1;
}
.fade-up {
  opacity: 0;
  transform: translate(0, 30px);
  transition: all 1.5s;
}
.fade-up.on {
  opacity: 1;
  transform: translateX(0);
}


.fade-left {
  opacity: 0;
  transform: translateX(-50px); 
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.fade-left.on {
  opacity: 1;
  transform: translateX(0);
}

.fade-right {
  opacity: 0;
  transform: translateX(50px); 
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.fade-right.on {
  opacity: 1;
  transform: translateX(0);
}


