@charset "UTF-8";

/*SP、PC共通スタイルここに*/
/* base */
.ftool-wrapper > .article,
.ftool-wrapper .description,
.ss-article-main-image,
.ftool-wrapper p {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

.ftool-wrapper h3 {
  margin-bottom: 0;
}

.ftool-wrapper h2 {
  margin-bottom: 0;
}


.ftool-wrapper #sec01 {
  margin-bottom: 0;
}

/* setting */
html,
body {
  max-width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

ul,
li {
  list-style: none;
  margin: 0;
  padding: 0;
}

p {
  margin-block-start: 0em;
  margin-block-end: 0em;
}

:root {
  --primary: #272727;
  --secondary: #D16753;
  --background: #F8F8F8;
}

@media (hover: hover) {
  a:hover {
    opacity: 0.8;
    cursor: pointer;  
    text-decoration: none;
  }
}
/* setting */

/* credit */
.ref-item  {
  font-size: 11px;
  margin-bottom: 8px;
  .thumb {
      width: 50px;
  }
  .brand {
      display: none;
  }
  .name {
      margin-left: 60px;
  }
  .price {
      margin-left: 60px;
  }
}
.ftool-wrapper .ref-item {
  font-size: 11px;
  margin-bottom: 8px;
}
.ftool-wrapper .ref-item .thumb {
  width: 50px;
}
.ftool-wrapper .ref-item .brand {
  display: none;
}
.ftool-wrapper .ref-item .name {
  margin-left: 60px;
}
.ftool-wrapper .ref-item .price {
  margin-left: 60px;
  font-size: 10px;
}
.ftool-wrapper .line_up_two {
  width: 50%;
}

/* font */
.c-font {
  font-family: "adobe-garamond-pro", serif;
  font-weight: 400;
  font-style: normal;
}

.contentsBlock {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  font-size: 13px;
  color: var(--primary);
  line-height: 1.6rem;
  font-family: shippori-mincho-b1, sans-serif;
  font-weight: 500;
  font-style: normal;
}

.visual__look {
  position: relative;
  overflow: visible;
}

.visual__look img {
  width: calc(440 / 1280* var(--content-width));
}

.visual__look .look01 {
  position: absolute;
  margin-top: calc(35 / 1280* var(--content-width));
}

.visual__look .look02 {
  position: absolute;
  margin-top: calc(35 / 1280* var(--content-width));
}

.visual__look .look03 {
  position: absolute;
  margin-top: calc(35 / 1280* var(--content-width));
}

.visual__look .look04 {
  position: absolute;
  margin-top: calc(35 / 1280* var(--content-width));
}

.visual__look .look05 {
  position: absolute;
  margin-top: calc(35 / 1280* var(--content-width));
}

.visual__bg {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.secondWrap {
  position: relative;
}

.visual__title {
  position: absolute;
  width: calc(1224 / 1280 * var(--content-width));
  left: 50%;
  transform: translateX(-50%);
  margin-top: calc(310 / 1280* var(--content-width));
  z-index: 3;
}

.visual__subTitle {
  position: absolute;
  width: calc(425 / 1280* var(--content-width));
  right: calc(5 / 1280* var(--content-width));
  bottom: calc(45 / 1280* var(--content-width));
}

.visual__logo {
  position: absolute;
  width: calc(100 / 1280* var(--content-width));
  right: calc(40 / 1280* var(--content-width));
  bottom: calc(40 / 1280* var(--content-width));
}

.leadBlock__text {
  text-align: center;
}

.leadBlock {
  padding-bottom: calc(80 / 1280* var(--content-width));
  padding-top: calc(80 / 1280* var(--content-width));
}

.indexItem {
  width: calc(110 / 1280* var(--content-width));
}

.indexItem a {
  display: inline-flex;
  align-items: center;
  flex-direction: column;
}

.indexItem a::after {
  content: "";
  display: inline-block;
  width: 30px; 
  height: 30px;
  background-image: url('/src/feature/20250423_noble/images/arrow.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  flex-shrink: 0;
}

.listTop,
.listBottom {
  display: flex;
  gap: 12px;
}

.index__list {
  display: flex;
  gap: 12px;
  align-items: center;
}

.indexBlock {
  display: flex;
  justify-content: center;
  padding-bottom: calc(80 / 1280* var(--content-width));
}

.index__title {
  font-size: 24px;
  text-align: center;
  margin-bottom: 12px;
}

.contentsBlock__inner .headBlock {
  width: calc(800 / 1280* var(--content-width));
  margin-inline: auto;
  position: relative;
  align-items: center;
}

.headBlock__image .look {
  position: absolute;
  width: calc(480 / 1280* var(--content-width));
  z-index: 3;
}

.headBlock__image {
  height: calc(640 / 1280* var(--content-width));
  display: flex;
  justify-content: center;
  align-items: center;
  padding-bottom: calc(20 / 1280* var(--content-width));
}

.mainBlock {
  padding-top: calc(40 / 1280* var(--content-width));
}

.mainBlock__image {
  display: block;
}

.mainBlock__image .top,
.mainBlock__image .bottom {
  height: auto;
  display: block;
}

.mainBlock__text {
  text-align: center;
  margin-inline: auto;
  padding-bottom: calc(50 / 1280* var(--content-width));
  padding-top: calc(50 / 1280* var(--content-width));
}

.mainBlock__image {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.endrollBlock {
  width: calc(800 / 1280* var(--content-width));
  margin-inline: auto;
  padding-bottom: calc(120 / 1280* var(--content-width));
  padding-top: calc(60 / 1280* var(--content-width));
}

.endrollBlock .endrollBlock__image {
  position: relative;
}

.endrollBlock .endrollBlock__image .title {
  position: absolute;
  width: calc(764 / 1280* var(--content-width));
  left: calc(26 / 1280* var(--content-width));
  bottom: calc(20 / 1280* var(--content-width));
}

.infoBlock__inner .text,
.infoBlock__inner .head,
.endrollBlock__inner .text,
.endrollBlock__inner .head {
  text-align: center;
}

.infoBlock__inner .head,
.endrollBlock__inner .head {
  font-size: 35px;
  color: var(--secondary);
  margin-bottom: 20px;
}

.endrollBlock__inner .text {
  margin-bottom: 20px;
}

.infoBlock__inner {
  width: calc(500 / 1280* var(--content-width));
  margin-inline: auto;
  padding-top: calc(50 / 1280* var(--content-width));
  padding-bottom: calc(50 / 1280* var(--content-width));
}

.infoBlock {
  background-color: var(--background);
  margin-bottom: calc(60 / 1280* var(--content-width));
}

.infoBlock__inner .text {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 20px;
  font-size: 12px;
  line-height: 1.4rem;
}

.infoBlock__inner .text .main {
  font-size: 15px;
}

.profileBlock {
  width: calc(580 / 1280* var(--content-width));
  margin-inline: auto;
  padding-bottom: calc(120 / 1280* var(--content-width));
}

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

.profileBlock_info {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
}

.profileBlock_info .main {
  font-size: 22px;
}

.profileBlock_text {
  font-size: 12px;
  text-align: center;
  padding-top: 20px;
  line-height: 1.4rem;
}

.footerBlock {
  width: calc(500 / 1280* var(--content-width));
  margin-inline: auto;
}

.footerBlock__credit {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding-bottom: calc(120 / 1280* var(--content-width));
}

.footerBlock__credit .links {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 16px;
}

.footerBlock__credit li {
  font-size: 14px;
  text-decoration: underline;
}

.footerBlock__credit .head {
  font-size: 20px;
}

.footerBlock__brandInfo {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  padding-bottom: calc(80 / 1280* var(--content-width));
}

.footerBlock__brandInfo .logo {
  width: calc(180 / 1280* var(--content-width));
}

.footerBlock__brandInfo .links {
  display: flex;
  gap: 30px;
  text-decoration: underline;
  line-height: normal;
}

.footerBlock__contents {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.contentsBlock__inner {
  padding-bottom: calc(120 / 1280* var(--content-width));
}

.infoBlock__inner .notice {
  font-size: 11px;
}

@media screen and (max-width: 768px) {
/*SP用スタイル*/

.mainBlock__credit {
  padding-top: 5px;
}

.ftool-wrapper .line_up_two {
  width: 100%;
}

.contentsBlock__inner {
  padding-bottom: calc(60 / 375 * 100vw);
}

.footerBlock__contents {
  gap: 12px;
}

.footerBlock__brandInfo {
  padding-bottom: calc(60 / 375 * 100vw);
  gap: 0;
}

.footerBlock__brandInfo .links {
  margin-top: calc(30 / 375* 100vw);
  width: calc(260 / 375* 100vw);
  column-gap: calc(20 / 375* 100vw);
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}

.footerBlock__credit {
  padding-bottom: calc(100 / 375 * 100vw);
}

.footerBlock__brandInfo .logo {
  width:  calc(140 / 375 * 100vw);
}

.footerBlock__credit .head {
  font-size: 16px;
}

.footerBlock__credit .links {
  font-size: 14px;
}

.footerBlock__credit li {
  font-size: 13px;
}

.footerBlock {
  width:  calc(305 / 375 * 100vw);
  padding-top: calc(60 / 375 * 100vw);
}

.profileBlock_info {
  padding-top: 8px;
}

.profileBlock_text {
  width:  calc(320 / 375 * 100vw);
  padding-top: 10px;
  text-align: left;
}

.profileBlock {
  width:  calc(335 / 375 * 100vw);
  padding-bottom: calc(60 / 375 * 100vw);
}

.infoBlock__inner {
  width: calc(335 / 375 * 100vw);
  padding-top: calc(40 / 375 * 100vw);
  padding-bottom: calc(40 / 375 * 100vw);
}

.endrollBlock .endrollBlock__image .title {
  width: calc(320 / 375 * 100vw);
  bottom: calc(0 / 375 * 100vw);
}

.infoBlock__inner .head,
.endrollBlock__inner .head {
  font-size: 30px;
}

.endrollBlock {
  width:  calc(335 / 375 * 100vw);
  padding-bottom: calc(60 / 375 * 100vw);
  padding-top: calc(60 / 375 * 100vw);
}

.endrollBlock {
  width: calc(335 / 375 * 100vw);
}

.mainBlock__text {
  text-align: center;
  padding-bottom: calc(20 / 375 * 100vw);
  padding-top: calc(20 / 375 * 100vw);
}

.headBlock__credit,
.mainBlock__credit {
  padding-left: calc(20 / 375 * 100vw);
}

.contentsBlock__inner .headBlock {
  width: 100%;
  padding-bottom: calc(8 / 375 * 100vw);
}

.headBlock__image {
  padding-bottom: calc(8 / 375 * 100vw);
  height: calc(300 / 375 * 100vw);
}

.headBlock__image .look {
  width: calc(225 / 375 * 100vw);
}

.indexBlock {
  display: flex;
  justify-content: center;
  padding-bottom: calc(60 / 375 * 100vw);
}

.index__title {
  margin-bottom: 10px;
}

.index__list {
  flex-direction: column;
}

.listTop,
.listBottom {
  gap: 10px;
}

.indexItem {
  width: calc(100 / 375 * 100vw);
}

.leadBlock {
  padding-bottom: calc(60 / 375 * 100vw);
  padding-top: calc(60 / 375 * 100vw);
}

.leadBlock__text {
  text-align: center;
}

.visual__look .look01 {
  left: calc(77 / 375 * 100vw);
}

.visual__look .look02 {
  left: calc(151 / 375 * 100vw);
}

.visual__look .look03 {
  left: calc(222 / 375 * 100vw);
}

.visual__look .look04 {
  right: calc(131 / 375 * 100vw);
}

.visual__look .look05 {
  right: calc(208 / 375 * 100vw);
}

.visual__look img {
  width: calc(245 / 375 * 100vw);
}

.visualBlock {
  overflow: hidden;
}

.visual__bg {
  width: 100%;
}

.secondWrap {
  position: relative;
}

.visual__title {
  position: absolute;
  width: calc(380 / 375 * 100vw);
  top: calc(105 / 375 * 100vw);
  z-index: 3;
}

.visual__subTitle {
  width: calc(245 / 375 * 100vw);
  right: calc(-5 / 375 * 100vw);
  bottom: calc(22 / 375 * 100vw);
}

.visual__logo {
  width: calc(68 / 375 * 100vw);
  right: calc(16 / 375 * 100vw);
  bottom: calc(20 / 375 * 100vw);
}

.br-pc {
  display: none;
}

.pc {
  display: none;
}
}
 /*SP用スタイルここまで*/

@media screen and (min-width: 768px) {
/*PC用スタイル*/

.mainBlock__text {
  width: calc(800 / 1280* var(--content-width));
}

.infoBlock {
  width: calc(800 / 1280* var(--content-width));
  margin-inline: auto;
}

.mainBlocl__credit {
  width: calc(800 / 1280* var(--content-width));
  margin-inline: auto;
}

.visual__look .look01 {
  position: absolute;
  left: calc(416 / 1280* var(--content-width));
  margin-top: calc(35 / 1280* var(--content-width));
}

.visual__look .look02 {
  left: calc(612 / 1280* var(--content-width));
}

.visual__look .look03 {
  left: calc(805 / 1280* var(--content-width));
}

.visual__look .look04 {
  left: calc(239 / 1280* var(--content-width));
}

.visual__look .look05 {
  left: calc(31 / 1280* var(--content-width));
}

.visual__bg {
  width: calc(946 / 1280* var(--content-width));
}

.br-sp {
  display: none;
}

.sp {
  display: none;
}  
}
/*PC用スタイルここまで*/
  

/* フェードアップ */
.fadeUp {
  opacity: 0;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
  -webkit-transition: all 1.5s ease;
  transition: all 1.5s ease;
}

.fadeUp.scrollin {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

/* フェードイン */
.fadeIn {
  transition: 1.8s;
  opacity: 0;
}

.fadeIn.animated {
  opacity: 1;
}

/* 初期状態で透明に設定 */
.visual__bg,
.visual__look .look01,
.visual__look .look02,
.visual__look .look03,
.visual__look .look04,
.visual__look .look05,
.visual__title {
  opacity: 0;
  transition: opacity 1s ease-in-out; 
}

.secondWrap {
  opacity: 0;
  transition: opacity 3s; 
}

/* visual__bg の位置 */
.visual__bg {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.visual__title {
  opacity: 0;
  clip-path: inset(0 100% 0 0);
  transition: 
    opacity 0.5s ease-in-out,
    clip-path 0.5s ease-in-out;
}

/* タイトル表示のアニメーション */
.scroll-animate {
  opacity: 0;
  clip-path: inset(0 100% 0 0); /* 初期状態で左から右にスライドして隠す */
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.scroll-animate.scrollin {
  opacity: 1;
  transform: translateY(0);
  animation: clipFadeIn 0.8s ease-out forwards; /* clip-pathアニメーション */
}

@keyframes clipFadeIn {
  to {
    clip-path: inset(0 0 0 0); /* clip-pathが0になり、スライドして現れる */
    opacity: 1;
  }
}



