/* =========================
   Minimal Reset + Base Style
========================= */
*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
}

body {
  line-height: 1.5;
  -webkit-text-size-adjust: 100%; /* iOSズーム暴走防止 */
  text-rendering: optimizeLegibility;
  background-color: #fff;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 16px;
}

@media print {
  body {
    display: none !important;
  }
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

ul,
ol {
  list-style: none;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
  height: auto;
}

img {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
  pointer-events: none;
}

input,
button,
textarea,
select {
  font: inherit;
  color: inherit;
  background-color: transparent;
  border: none;
  outline: none;
}

button {
  background: none;
  padding: 0;
  cursor: pointer;
}

a {
  color: inherit;
  text-decoration: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

iframe {
  display: block;
  max-width: 100%;
}

html {
  scroll-behavior: smooth;
}

blockquote,
q {
  quotes: none;
}
blockquote::before,
blockquote::after,
q::before,
q::after {
  content: "";
  content: none;
}

[hidden] {
  display: none !important;
}
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

/* =========================
   変数設定
========================= */
:root {
  /* ====== カラーパレット ====== */
  --color-blue: #0549A0;
  --color-yellow: #93931F;
  --color-purple: #693D92;
  
  /* ====== グレースケール ====== */
  --color-black: #000;
  --color-dark-gray: #1e1e1e;
  --color-light-gray: #A0A0A0;
  --color-gray: #525671;
  --color-white: #fff;

  /* ====== 背景・テキスト ====== */
  --bg-body: var(--color-white);
  --text-main: var(--color-gray);

  /* ====== ボーダー・シャドウ ====== */
  --border-color: var(--color-gray-300);
  --shadow-base: 0 2px 8px rgba(0, 0, 0, 0.08);

  /* ====== フォント系 ====== */
  --font-sans: 'Noto Sans JP', sans-serif;
  --font-mont: "Montserrat", sans-serif;
  --font-serif: YuMincho,"Hiragino Mincho ProN",serif;

  /* ====== コンテンツサイズ ====== */
  --wrap-size: 1440px;
  --content-size: 1200px;
}

/* =========================
   各種設定
========================= */

body {
  line-height: 1.5;
  color: var(--text-main);
  font-family: var(--font-sans);
  font-size: 16px;
}

.sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}

/* ====== メインビジュアル ====== */

.main-visual {
  width: 100%;
  margin-top: 71px;
}

.main-visual-inner {
  max-width: var(--wrap-size);
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  margin: 0 auto;
  height: 720px;
}

.main-visual-title {
  position: absolute;
  width: 154px;
  top:32px;
  right: 54px;
}

.main-visual-sub-title {
  position: absolute;
  width: 369px;
  top:568px;
  left: 47px;
}

.main-visual-caption {
  position: absolute;
  top:698px;
  left: 47px;
  color: var(--color-white);
  font-size: 8px;
}

@media screen and (max-width: 768px) {

}

/* ====== コンバージョンエリア ====== */

.conversion-area {
  padding: 32px 0;
}

.conversion-area.second {
  padding: 80px 0;
}

.conversion-area-inner {
  max-width: var(--content-size);
  margin-right: auto;
  margin-left: auto;
  background-image: url();
  background-size: cover;
  display: flex;
  flex-direction: column;
  gap:30px;
}

.conversion-area-title {
  text-align: center;
  font-size: 48px;
  margin-bottom: 30px;
  color: var(--color-dark-gray);
  font-family: var(--font-serif);
}

.conversion-area-title span {
  font-family: var(--font-mont);
  display: inline-block;
  padding: 0 5px;
}

@media screen and (max-width: 768px) {
  .conversion-area {
    padding: 16px 16px;
  }

  .conversion-area.second {
    padding: 80px 16px;
  }

  .conversion-area.second .trial-area-btn {
    width: 100%;
  }

  .conversion-area-inner {
    gap:24px;
  }

  .conversion-area-title {
    font-size: 24px;
    margin-bottom: 0;
  }
  
}

/* ====== トライアル ====== */

.trial-area {
  background: linear-gradient( #DCEDF0, #F4F6E5);
}

.trial-area-inner {
  max-width: var(--wrap-size);
  margin-right: auto;
  margin-left: auto;
  background-image: url(../img/trial_area_bg.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  padding: 0 0 64px;
}

.trial-area-wrap {
  max-width: var(--content-size);
  margin-right: auto;
  margin-left: auto;
}

.trial-area-title {
  font-family: var(--font-mont);
  display: flex;
  flex-direction: column;
  text-align: center;
  justify-content: center;
  align-items: center;
  background-image: url(../img/shikari_logo_white.svg);
  background-size: 518px 168px;
  background-position: top center;
  background-repeat: no-repeat;
  padding-top: 40px;
}

.trial-area-hukidashi-title {
  width: 377px;
  height: 64px;
  margin-bottom: 15px;
}

.trial-area-main-title {
  font-size: 80px;
  font-weight: 700;
  line-height: 1;
}

.trial-area-sub-title {
  font-size: 48px;
  font-weight: 700;
  line-height: 1;
}

.trial-area-jp-title {
  font-size: 24px;
  padding: 10px 0
}

.trial-area-jp-sub-title {
  font-size: 16px;
  background-color: var(--color-white);
  display: flex;
  border-radius: 15px;
  width: 157px;
  height: 33px;
  align-items: center;
  justify-content: center;
  font-weight: 500;
}

.trial-area-info {
  width: 100%;
  margin-bottom: 56px;
}

.trial-area-btn {
  max-width: 480px;
  width: 100%;
  height: 80px;
  color: var(--color-white);
  font-weight: 700;
  font-size: 18px;;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(to right, #20B1D9, #B2E2E4);
  border:2px solid var(--color-white);
  box-shadow: 0 0 8px rgba(124, 188, 240, 1);
  position: relative;
  border-radius: 40px;
  margin: 30px auto 0;
  gap:10px;
}

.trial-area-btn::before {
  content: '';
  display: inline-block;
  position: absolute;
  top:-30px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  width: 264px;
  height: 49px;
  background-size: 100% auto;
  background-image: url(../img/trial_hukidashi_btn.svg);
  background-repeat: no-repeat;
}

.trial-area-btn-icon {
  width: 32px;
}

.trial-area-kiyaku {
  max-width: 770px;
  margin: 56px auto;
  text-align: left;
  color: var(--color-gray);
  font-size: 11px;
  box-sizing: border-box;
  padding: 0 16px;
}

.trial-area-kiyaku-title {
  font-size: 16px;
  font-weight: 600;
  text-align: center;
  margin-bottom: 20px;
}

.trial-area-kiyaku-btn {
  background-color: var(--color-white);
  width: 235px;
  height: 30px;
  border-radius: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 30px auto 0;
  font-weight: 600;
  text-decoration: underline;
}

@media screen and (max-width: 768px) {
  
  .trial-area-inner {
    background-image: url(../img/trial_area_bg_sp.png);
    padding: 0 0 64px;
  }

  .trial-area-title {
    background-size: 100% auto;
    background-position: top 20px center;
  }

  .trial-area-main-title {
    font-size: 48px;
  }

  .trial-area-sub-title {
    font-size: 32px;
  }

  .trial-area-jp-title {
    font-size: 13px;
  }

  .trial-area-jp-sub-title {
    font-size: 10px;
    width: 107px;
    height: 25px;
  }

  .trial-area-hukidashi-title {
    width: 252px;
    height: 46px;
  }

  .trial-area-info {
    margin-top: -20%;
  }

  .trial-area-btn {
    height: 72px;
    width:calc(100% - 32px);
    margin: 40px auto 0;
  }

  .trial-area-btn::before {
    width: 264px;
    height: 49px;
  }

}

/* ====== CM公開 ====== */

.cm-area {
  background-image: url(../img/cm_area_bg.png);
  background-size: cover;
  padding: 80px 0;
}

.cm-area-inner {
  max-width: var(--content-size);
  margin-right: auto;
  margin-left: auto;
}

.cm-area-title {
  text-align: center;
  font-size: 48px;
  font-weight: 500;
  margin-bottom: 30px;
  font-family: var(--font-serif);
  color: var(--color-dark-gray);
}

.cm-area-movie {
  max-width: 100%;
}

@media screen and (max-width: 768px) {
  .cm-area-inner {
    padding: 0 16px;
  }

  .cm-area-title {
    font-size: 24px;
  }
}

/* ====== ブランドアンバサダー ====== */

.brand-area {
  background-color: #ACCCD5;
  padding: 64px 0;
  position: relative;
}

.brand-area-wrap {
  max-width: var(--wrap-size);
  margin-right: auto;
  margin-left: auto;
  position: relative;
}

.brand-area-wrap:after {
  content: '';
  display: inline-block;
  position: absolute;
  bottom:-154px;
  right: 0;
  width: 493px;
  height: 396px;
  background-size: 100% auto;
  background-image: url(../img/brand_area_bg.png);
  z-index: 1;
}

.brand-area-inner {
  max-width: var(--content-size);
  margin-right: auto;
  margin-left: auto;
  position: relative;
}

.brand-area-title {
  text-align: center;
  font-size: 56px;
  font-weight: 700;
  margin-bottom: 30px;
  position: relative;
  line-height: 1.2;
  color: var(--color-dark-gray);
  z-index: 1;
}

.brand-area-title .jp {
  font-family: var(--font-serif);
  font-weight: 500;
}

.brand-area-title::before {
  content: '';
  display: inline-block;
  position: absolute;
  top:-20px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  width: 345px;
  height: 104px;
  background-size: 100% auto;
  background-image: url(../img/shikari_logo_white.svg);
  background-repeat: no-repeat;
  z-index: -1;
}

.brand-area-content {
  display: flex;
  gap:40px;
  align-items: center;
}

.brand-area-img {
  width: calc((100% - 40px) / 2);
  font-family: var(--font-serif);
  position: relative;
  font-size: 32px;
  text-align: center;
}

.brand-area-img img {
  margin-bottom: 20px;
  width: 100%;
}

.brand-area-img .product-img {
  position: absolute;
  width: 73%;
  bottom: -24%;
  left: -24%;
}

.brand-area-txt {
  display: flex;
  flex-direction: column;
  width: calc((100% - 40px) / 2);
  font-size: 16px;
  color: var(--color-dark-gray);
  line-height: 1.8;
  gap:30px;
}

.brand-area-txt-caption {
  font-size: 8px;
  color: #7D7D7D;
}

@media screen and (max-width: 1400px) {
  .brand-area-wrap:after {
    bottom: -216px;
    width: 400px;
  }

  .brand-area-img .product-img {
    width: 60%;
    bottom: -25%;
    left: -7%;
  }
}

@media screen and (max-width: 768px) {

  .brand-area-wrap:after {
    content: none;
  }

  .brand-area-title {
    font-size: 32px;
  }

  .brand-area-title::before {
    width: 345px;
    height: 104px;
  }

  .brand-area-content {
    flex-direction: column;
  }

  .brand-area-img {
    font-size: 24px;
    width: 100%;
  }

  .brand-area-txt {
    width: calc(100% - 32px);
    margin: 0 auto;
  }
  
}

/* ====== ヒミツ ====== */

.secret-area {
  background-color: #fff;
  position: relative;
}

.secret-area-inner {
  max-width: var(--content-size);
  margin-right: auto;
  margin-left: auto;
  background-image: url(../img/secret_area_bg.png);
  background-size: 100% auto;
  padding: 40px 0 80px;
  background-position: top 88px center;
  background-repeat: no-repeat;
}

.secret-area-title {
  font-family: var(--font-mont);
  font-size: 56px;
  font-weight: 700;
  position: relative;
  color: var(--color-dark-gray);
  text-align: center;
  margin-bottom: 24px;
  z-index: 1;
}

.secret-area-title::before {
  content: '';
  display: inline-block;
  position: absolute;
  top:-2px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  width: 518px;
  height: 186px;
  background-size: 100% auto;
  background-image: url(../img/shikari_logo_gray.svg);
  background-repeat: no-repeat;
  z-index: -1;
}

.secret-area-title .jp {
  font-size: 48px;
  font-weight: 500;
  font-family: var(--font-serif);
}

.secret-area-content {
  display: flex;
  align-items: center;
  gap:32px;
}

.secret-area-content.content02 {
  flex-direction: row-reverse;
  margin-top: 80px;
}

.secret-area-content-mv {
  width: calc((100% - 32px) / 2) !important;
}

.secret-area-content-txt {
  width: calc((100% - 32px) / 2);
  font-size: 18px;
  color: var(--color-dark-gray);
  line-height: 1.8;
}

.secret-area-content-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}

.secret-area-content-title-sub {
  font-size: 24px;
  color: var(--color-dark-gray);
  font-family: var(--font-serif);
  display: inline-block;
  margin-right: 5px;
}

.secret-area-content-title-sub-number {
  color: #B78FCF;
  font-weight: 700;
  font-family: var(--font-mont);
  font-size: 32px;
}

.secret-area-content-title-product {
  font-size: 44px;
  font-weight: 700;
  display: inline-block;
  background-image: linear-gradient(to right, rgba(183,143,207,0.6), rgba(231,205,250,0.6));
  background-repeat: no-repeat;
  background-position: bottom;
  background-size: 100% 40%;
  line-height: 1.2;
}

.secret-area-content-title-product .notes {
  font-size: 16px;
  vertical-align: top;
}

.secret-area-content-title-img {
  width: 160px;
}

.secret-area-content-caption {
  font-size: 10px;
  color: #A0A0A0;
  margin-top: 16px;
}

@media screen and (max-width: 768px) {
  .secret-area-inner {
    padding: 60px 16px;
    background-image: url(../img/secret_area_bg_sp.png);
    background-position: top;
  }

  .secret-area-title {
    font-size: 32px;
  }

  .secret-area-title::before {
    width: 345px;
    height: 104px;
    top: -28px;
  }

  .secret-area-title .jp {
    font-size: 24px;
  }

  .secret-area-content {
    flex-direction: column;
    gap: 0;
  }

  .secret-area-content.content02 {
    flex-direction: column;
    margin-top: 56px;
  }
  
  .secret-area-content-mv {
    width: 100% !important;
  }

  .secret-area-content-txt {
    font-size: 16px;
    width: 100%;
  }

  .secret-area-content-title {
    margin-bottom: 20px;
    position: relative;
  }

  .secret-area-content-title > div:last-child {
    position: absolute;
    right: 0;
    top: -42%;
  }

  .secret-area-content-title-sub {
    font-size: 16px;
  }
  
  .secret-area-content-title-sub-number {
    font-size: 22px;
  }

  .secret-area-content-title-img {
    margin-top: -10%;
    width: 130px;
  }

  .secret-area-content-title-product {
    font-size: 32px;
  }

}

/* ====== tiktok ====== */

.tiktok-area {
  background: linear-gradient(to right, #FFF9F9, #FEFFF5, #FAFFFF);
  position: relative;
}

.tiktok-area-inner {
  max-width: var(--content-size);
  margin-right: auto;
  margin-left: auto;
  padding: 80px 0;
  background-image: url(../img/tiktok_area_bg.png);
  background-size: 400px 324px;
  background-repeat: no-repeat;
  background-position: center;
  text-align: center;
  font-family: var(--font-serif);
  font-size: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap:24px;
  color: var(--color-dark-gray);
  line-height: 1.4;
}

.tiktok-area-inner span.shikari {
  font-family: var(--font-mont);
  font-weight: 700;
  font-size: 30px;
}

.tiktok-area-btn {
  width: 240px;
  height: 70px;
  border: 2px solid #C3E2E7;
  box-shadow: 0 0 6px rgba(195, 226, 231, 1);
  display: flex;
  align-items: center;
  justify-content: center;
  gap:5px;
  font-size: 24px;
  font-weight: 700;
  font-family: var(--font-mont);
  background-color: var(--color-white);
  border-radius: 35px;
  line-height: 0.7;
}

.tiktok-area-btn-icon {
  width: 32px;
}

.tiktok-area-btn-sub {
  font-size: 12px;
  font-weight: 400;
  font-family: var(--font-sans);
}

@media screen and (max-width: 768px) {
  .tiktok-area-inner {
    padding: 64px 16px;
  }
}

/* ====== lineup ====== */

.lineup-area {
  background: linear-gradient( #AAD6DD, #F0FFDF, #DAD9B8, #DCD4E1 , #E1C8E9);
  padding: 64px 0 80px;
  position: relative;
}

.lineup-area-inner {
  max-width: var(--content-size);
  margin-right: auto;
  margin-left: auto;
}

.lineup-area-title {
  font-family: var(--font-mont);
  font-size: 56px;
  font-weight: 700;
  position: relative;
  color: var(--color-dark-gray);
  text-align: center;
  margin-bottom: 40px;
  z-index: 1;
}

.lineup-area-title::before {
  content: '';
  display: inline-block;
  position: absolute;
  top:-20px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  width: 518px;
  height: 186px;
  background-size: 100% auto;
  background-image: url(../img/shikari_logo_white.svg);
  background-repeat: no-repeat;
  z-index: -1;
}

.lineup-area-content {
  display: flex;
  flex-direction: column;
  gap:120px;
  margin-bottom: 40px;
}

.lineup-area-list {
  width: 100%;
  display: flex;
  gap:50px 20px;
  flex-wrap: wrap;
}

.lineup-area-list-img {
  width: calc(45% - 10px);
}

.lineup-area-list-txt {
  width: calc(55% - 10px);
  display: flex;
  flex-direction: column;
  gap:20px;
  color: var(--color-dark-gray);
}

.lineup-area-list-txt-title {
  display: flex;
  flex-direction: column;
  gap:10px;
}

.lineup-area-list-txt-item {
  font-size: 40px;
  font-weight: 700;
  font-family: var(--font-mont);
  line-height: 1;
}

.lineup-area-list-txt-item-sub {
  font-size: 12px;
}

.lineup-area-list-txt-copy {
  font-size: 24px;
  font-weight: 700;
}

sup {
  font-size: 60%;
}

.lineup-area-list-txt-copy sup {
  font-size: 34%;
  padding-right: 5px;
  position: relative;
  top: -3px;
}

.lineup-area-list-txt-copy.blue {
  color:var(--color-blue);
}

.lineup-area-list-txt-copy.yellow {
  color:var(--color-yellow);
}

.lineup-area-list-txt-copy.purple {
  color:var(--color-purple);
}

.lineup-area-list-txt-tags {
  display: flex;
  gap:5px;
}

.lineup-area-list-txt-tags > span {
  border: 1px solid;
  border-radius: 13px;
  height: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  padding: 0 8px;
}

.lineup-area-list-txt-tags > span .asta {
  font-size: 8px;
}

.lineup-area-list-txt-tags.blue > span {
  border-color: var(--color-blue);
  color: var(--color-blue);
}

.lineup-area-list-txt-tags.yellow > span {
  border-color: var(--color-yellow);
  color: var(--color-yellow);
}

.lineup-area-list-txt-tags.purple > span {
  border-color: var(--color-purple);
  color: var(--color-purple);
}

.lineup-area-list-txt-explan {
  display: flex;
  gap:20px;
}

.lineup-area-list-txt-explan > div {
  width: calc((100% - 20px) / 2);
}

.lineup-area-btn-inner {
  width: 100%;
  text-align: center;
  display: flex;
  justify-content: center;
}

.lineup-area-btn {
  width: 480px;
  height: 80px;
  border: 2px solid var(--color-white);
  border-radius: 40px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  color: var(--color-white);
  font-size: 14px;
  font-weight: 700;
  position: relative;
  padding: 20px 24px;
}

.lineup-area-btn::after {
  content: '';
  display: inline-block;
  position: absolute;
  top:50%;
  right: 24px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  width: 32px;
  height: 32px;
  background-size: 100% auto;
  background-image: url(../img/arrow_white.svg);
}

.lineup-area-btn.blue {
  background: linear-gradient( to right, #3F77C0, #89C0DF);
  box-shadow: 0 0 5px #3F77C0;
}

.lineup-area-btn.yellow {
  background: linear-gradient( to right, #D1CB75, #E3E39E);
  box-shadow: 0 0 5px #D1CB75;
}

.lineup-area-btn.purple {
  background: linear-gradient( to right ,#957BAD, #CAAAE7);
  box-shadow: 0 0 5px #957BAD;
}

.lineup-area-caption {
  color: var(--color-light-gray);
  font-size: 10px;
  line-height: 1.8;
}

@media screen and (max-width: 768px) {
  .lineup-area-title {
  }

  .lineup-area-title::before {
    width: 345px;
    height: 104px;
  }

  .lineup-area-list {
    flex-wrap: wrap;
  }

  .lineup-area-list-img {
    width: 100%;
  }
  
  .lineup-area-list-txt {
    width: 100%;
    box-sizing: border-box;
    padding: 0 16px;
  }

  .lineup-area-list-txt-item {
    font-size: 31px;
  }

  .lineup-area-list-txt-explan {
    flex-direction: column;
  }

  .lineup-area-list-txt-explan > div {
    width: 100%;
  }

  .lineup-area-btn-inner {
    padding: 0 16px;
  }

  .lineup-area-btn {
    width: 100%;
    text-align: left;
  }

  .lineup-area-caption {
    padding: 0 16px;
  }
  
}

/* ====== about ====== */

.about-area {
  background: linear-gradient( #E5F1FB, #FFFFFF);
  padding: 60px 0;
  position: relative;
}

.about-area-wrp {
  max-width: var(--wrap-size);
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  background-image: url(../img/about_area_bg.png);
  background-size: 100% auto;
}

.about-area-inner {
  max-width: var(--content-size);
  margin-right: auto;
  margin-left: auto;
}

.about-area-title {
  margin-bottom: 32px;
  text-align: center;
  font-size: 40px;
  color: var(--color-dark-gray);
  font-family: var(--font-serif);
  z-index: 1;
  position: relative;
}

.about-area-title sup {
  font-size: 34%;
  padding-right: 5px;
  position: relative;
  top: -3px;
}

.about-area-title::before {
  content: '';
  display: inline-block;
  position: absolute;
  top:0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  width: 518px;
  height: 186px;
  background-size: 100% auto;
  background-image: url(../img/shikari_logo_white.svg);
  background-repeat: no-repeat;
  z-index: -1;
}

.about-area-title-en {
  font-size: 56px;
  font-family: var(--font-mont);
  font-weight: 700;
}

.about-area-point {
  display: flex;
  gap:60px;
  margin-bottom: 32px;
}

.about-area-point-list {
  width: calc((100% - 120px) / 3);
  color: var(--color-dark-gray);
}

.about-area-point-list-img {
  margin-bottom: 20px;
}

.about-area-point-list-img img {
  width: 100%;
}

.about-area-caption {
  color: var(--color-light-gray);
  font-size: 10px;
  line-height: 1.8;
}

@media screen and (max-width: 768px) {

  .about-area {
    padding: 40px 0 0;
  }

  .about-area-wrp {
    background-image: url(../img/about_area_bg_sp.png);
    background-repeat: no-repeat;
    background-size: cover;
  }

  .about-area-inner {
    padding: 0 16px;
  }

  .about-area-title {
    font-size: 20px;
  }

  .about-area-title::before {
    width: 345px;
    height: 104px;
  }

  .about-area-title-en {
    font-size: 32px;
  }

  .about-area-point {
    flex-direction: column;
  }

  .about-area-point-list {
    width: 100%;
  }

}

/* ====== メイキング動画 ====== */

.making-area {
  padding: 80px 0;
}

.making-area-inner {
  max-width: var(--content-size);
  margin-right: auto;
  margin-left: auto;
}

.making-area-title {
  text-align: center;
  font-size: 48px;
  font-weight: 500;
  margin-bottom: 24px;
  font-family: var(--font-serif);
  color: var(--color-dark-gray);
}

.making-area-movie {
  max-width: 100%;
}

@media screen and (max-width: 768px) {

  .making-area {
    padding: 60px 0 0;
  }

  .making-area-inner {
    padding: 0 16px;
  }

  .making-area-title {
    font-size: 24px;
  }
}

/* ====== バナー ====== */

.bnr-area {
  padding: 80px 0;
}

.bnr-area-inner {
  max-width: var(--content-size);
  margin-right: auto;
  margin-left: auto;
}

@media screen and (max-width: 768px) {
  .bnr-area {
    padding: 0 16px 40px;
  }

  .making-area-inner {
    padding: 0 16px;
  }

}

/* ====== 商品 ====== */

.p-new_product {
	max-width: 1080px;
	width: 100%;
	margin: 0 auto;
	padding: 0 40px;
}

.p-new_product .c-product_item__inner__content {
	margin-top: 35px;
}

.p-new_product .c-product_item__inner__title {
	font-size: 16px !important;
}

@media screen and (max-width:767px) {

	.p-new_product {
		padding: 0 20px;
	}

	.p-new_product__title {
		margin-bottom: 25px;
	}

	.p-new_product .c-product_item__inner__content {
		margin-top: 15px;
	}

	.p-new_product .c-product_item__inner__title {
		font-size: 14px !important;
	}

	.p-new_product .c-product_item__inner__price {
		font-size: 10px !important;
	}

}

/* ====== フッター ====== */

.footer_bg {
  background: #000000;
}

.footer_head {
  color: #ffffff;
}

.footer_link {
  color: #ffffff;
}

.footer_body {
  color: #ffffff;
}

/* ====== アニメーション ====== */

/* フェードインさせる要素 */
.inview {
  opacity: 0;
  transform: translate(0, 40px);
  transition: 1.6s;
}
/* フェードイン用のクラス */
.fadeIn {
  transform: translate(0, 0);
  opacity: 1;
}

.huwa {
	animation: loading 1.6s;
}
@keyframes loading {
	0% {opacity: 0;}
	100% {opacity: 1;}
}

/* ====== モーダル ====== */

/* 背景ロック用 */
body.modal-open-fixed {
  position: fixed;
  width: 100%;
  left: 0;
  /* top は JS で動的に指定（例: -1234px） */
}

/* もし site 全体に smooth を設定しているなら、モーダル中だけ off */
html.modal-no-smooth {
  scroll-behavior: auto !important;
}

.modal-overlay {
  position: fixed; inset: 0;
  background: rgba(19, 19, 19, 0.4);
  z-index: 1000;
}

/* モーダル本体 */
.modal-bg {
  width: 100%;
}

.modal {
  position: fixed !important;
  inset: 0 !important;
  display: grid !important;
  place-items: center !important;
  z-index: 1001 !important;
  margin: 0 !important;
  background: none !important;
  box-shadow: none !important;
  border: none !important;
}
.modal[hidden], .modal-overlay[hidden] {
  display: none !important;
}

.modal__dialog {
  box-sizing: border-box;
  max-width: 600px;
  width: 90%;
  background: #fff;
  border-radius: 12px;
  padding: 30px 20px 30px;
  display: flex;
  flex-direction: column;
  max-height:calc(100vh - 10vh);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

.modal__content {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding-right: 2px;
  overscroll-behavior: contain;
  min-height:0; 
  font-size: 12px;
  padding-bottom: 30px;
}

.modal__title {
  font-size: 16px;
  font-weight: 600;
  text-align: center;
  margin-bottom: 20px;
}

.modal__title span {
  position: relative;
}

.modal__title span:after {
  content: '';
  width: 100%;
  height: 3px;
  position: absolute;
  left: 0;
  bottom: -10px;
  background:var(--color-gray)
}

.modal__title-sub {
  font-size: 14px;
  text-align: center;
  margin-bottom: 10px;
  margin-top: 30px;
}

.modal__content ul {
  padding-left: 20px;
}

.modal__content ul li {
  list-style: decimal;
}

.modal__footer {
  margin-top: 12px; display: flex; justify-content: flex-end; gap: 8px;
}

.modal__close {
  border: 1px solid var(--color-gray) !important;
  color: var(--color-gray);
  width: 130px;
  height: 44px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap:8px;
  margin: 0 auto;
}

.modal__close:focus,.modal__close:hover {
  color: var(--color-gray) !important;
  outline: none !important;
}

.modal__close .icon {
  width: 15px;
}

body.modal-open {
  overflow: hidden;
  touch-action: none;
  position: fixed;
  width: 100%;
}

@media screen and (min-width: 767px) {
  .modal-bg {
    position: relative;
    height: 100%;
  }
  .modal {
    display: block !important;
    place-items: baseline !important;
    width: 100% !important;
  }
}

.youtube {
  width: 100%;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  aspect-ratio: 16 / 9;
}

.youtube iframe {
  width: 100%;
  height: 100%;
}

.youtube video {
  width: auto;
  height: 100%;
  margin: 0 auto;
}

/* modal-video 本体 */
.modal-video {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* videoタグを画面横幅いっぱいに */
.modal-video video {
  width: 100%;
  height: auto;
  max-width: 100%;
  object-fit: contain; /* ← これで縦長でもはみ出さず中央寄せ表示 */
  border-radius: 8px;  /* お好み */
}

.modal-video-movie-wrap {
  padding-top: 60% !important;
}


html.is-modal-open,
body.is-modal-open {
  overflow: hidden;
  overscroll-behavior: none;
  touch-action: none;
}

.c-movie-modal {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

.c-movie-modal.is-open {
  display: flex;
  width: 100vw;
  height: 100vh;
}

.c-movie-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
}

.c-movie-modal__body {
  position: relative;
  z-index: 1;
  max-width: 40vw;
  max-height: 80vh;
  background: #000;
  width: 40vw;
  height: 80vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 768px) {
  .c-movie-modal__body {
    max-width: 90vw;
    width: 90vw;
  }
}

.c-movie-modal__video {
  width: auto;
  height: 100%;
  position: static;
  object-fit: contain;
}

/* 閉じるボタン */
.c-movie-modal__close {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 2;
  background: transparent;
  border: none;
  color: #fff;
  font-size: 36px;
  cursor: pointer;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .c-movie-modal__close {
    line-height: 0.8;
  }
}


/* （おまけ）Chrome系のダウンロードボタンを CSS 側からも隠す保険 */
.c-movie-modal__video::-webkit-media-controls-download-button {
  display: none !important;
}
.c-movie-modal__video::-webkit-media-controls-enclosure {
  overflow: hidden !important;
}

.fl_bnr {
  position: fixed;
  width: 100%;
  height: 80px;
  left: 0;
  bottom: 0;
  z-index: 99;
  display: none;
}

.fl_bnr .trial-area-btn {
  margin: 0 auto;
}

.fl_bnr .trial-area-btn::before {
  content: none;
}

@media screen and (max-width: 768px) {
  .fl_bnr {
    display: none;
  }
}