@charset "utf-8";

* {
  /* outline: 1px solid #cc00ff; */
}

/* =========================
common
========================= */
html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}

body {
  font-family:
    "ヒラギノ角ゴ ProN W3",
    "Noto Sans JP",
    sans-serif;
  font-style: normal;
  color: #000000;
  background-color: #ffff;
  line-height: 1.5;
}

img {
  max-width: 100%;
  height: auto;
}

/* =========================
header
========================= */
.header {
  position: relative;
  width: 100%;
  height: 48px;
  z-index: 100;
}

/* =========================
header nav
========================= */
.nav_hum {
  position: fixed; /* ハンバーガーメニューを追従させる */
  top: 0;
  right: 0; /* 画面の右上に配置 */
  padding: 6.5vw 6.5vw 0 0;
  z-index: 101; /* 他の要素の上に表示 */
}

.nav_hum img {
  width: 25px;
  height: 25px;
}

.nav_sidebarOpen_SPon {
  transform: scale(0);
  transform-origin: top right;
  transition: 1s;
}

.nav_sidebar {
  position: fixed; /* サイドバーも追従させる */
  top: 0; /* 画面上部に固定 */
  right: 0; /* 画面の右側に固定 */
  width: 89.6%;
  max-width: 370px;
  min-width: 330px;
  transition: 1s ease;
  z-index: 100; /* ハンバーガーメニューより下に表示 */
  visibility: hidden;
  /* transform: scale(0); */
}

.nav_sidebar.activeopacity {
  visibility: visible;
  /* transform: scale(1); */

}

.nav_sidebar.activeopacity .nav_sidebarOpen_SPon {
  transform: scale(1);
}

.nav_inner {
  position: absolute;
  top: 1.75vh;
  right: 7vw;
  width: 181px;
  height: 378px;
  margin-top: 10px;
  opacity: 0;
  visibility: hidden;
  transition: 0.5s;
  /* transition-delay: 0.5s; */
  /* transition-duration:1s ; */
}

.none {
  opacity: 0;
  visibility: hidden;
}

.nav_inner.activeopacity {
  opacity: 1;
  visibility: visible;
}
/* 
.activescale {
  transform: scale(1);
} */

.nav_arrow_sidebar img {
  width: 4.0%;
  margin-right: 1.35vw;
}

.navAbout_acdList img {
  width: 5.5px;
  text-align: center;
  padding-bottom: 3.5%;
  margin-right: 5px;
}

.nav_closeBtnBox {
  margin-left: auto;
  width: 12px;
  height: 15px;
}

.nav_list {
  margin-top: 30px;
}

.nav_listItem {
  margin-top: 11px;
  color: #FFF;
  font-size: 1.4rem;
  font-weight: 500;
}

.nav_list :nth-of-type(1) {
  margin-top: 0;
}

.navAbout_acdList {
  padding-top: 2.8%;
  color: #ffff;
  font-size: 1.1rem;
  font-weight: 600;
}

.navAbout_acdList li {
  height: 22px;
  padding-left: 12px;
  margin-top: 5px;
  line-height: 1.9;
  width: 92%;
}

.nav_listItem_eng {
  color: rgba(255, 255, 255, 0.60);
  font-family: Jost;
  font-size: 1.0rem;
  font-weight: 500;
}

/* メニュー項目のホバー時のアニメーション */
.nav_listItem,
.navAbout_acdList li {
  transition: transform 0.3s ease-out, opacity 0.1s ease-out;
}

.nav_listItem:hover,
.navAbout_acdList li:hover {
  transform: translateY(0px);
  opacity: 0.8;
}

@media screen and (min-width:1000px) {
  .nav_hum {
    padding: 40px 40px 0 0;
  }

  .nav_hum img {
    width: 40px;
    height: 35px;
  }

  .nav_sidebar {
    width: 48%;
    max-width: 580px;
  }

  .nav_listItem {
    margin-top: 24px;
    color: #FFF;
    font-size: 2.0rem;
    font-weight: 500;
  }

  .nav_listItem_eng {
    font-size: 1.3rem;
    font-weight: 500;
  }

  .nav_list {
    margin-top: 55px;
  }

  .nav_inner {
    top: 3vh;
    right: 4vw;
    width: 275px;
    height: 378px;
  }

  .nav_closeBtnBox {
    margin-left: auto;
    width: 12px;
    height: 15px;
  }

  .navAbout_acdList {
    padding-top: 2.8%;
    font-size: 1.4rem;
  }

  .navAbout_acdList li {
    height: 27px;
    padding-left: 12px;
    margin-top: 5px;
    width: 88.6%;
  }
}

/*======= Js =======*/
.load-fade {
  opacity: 0;
  visibility: hidden;
  transition: all 3s;
}

.load-fade.is-show {
  opacity: 1;
  visibility: visible;
}


/* フワッとフェードイン */

.fade-in {
  opacity: 0;
  transform: translateY(0px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.fade-in.show {
  opacity: 1;
  transform: translateY(0);
}

/* topic_listBOX のフェードインを他より早める */
.topic_listBOX {
  transition: opacity 0.6s ease-out, transform 0.6s ease-out; /* 0.2秒短縮 */
}

/* .section_Profiletop 内の .fade-in 要素にフェードイン効果を適用 */
.section_Profiletop .fade-in {
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}

/* .show クラスが付与された時に opacity を 1 に */
.section_Profiletop .fade-in.show {
  opacity: 1;
}

/* imposing_SPon p と design_SPnone p の特別なフェードイン */
.imposing_SPon p,
.imposing_SPnone p,
.design_SPon p,
.design_SPnone p,
.colorg_SPon p,
.color_SPnone p {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

/* フェードイン時の状態（特定の要素） */
.imposing_SPon p.show,
.imposing_SPnone p.show,
.design_SPon p.show,
.design_SPnone p.show,
.color_SPon p.show,
.color_SPnone p.show {
  opacity: 1;
  transform: translateY(0);
}

/* =========================
main Profiletop
========================= */
.main {
  position: relative;
}

.section_Profiletop {
  background-image: url(../KV_BG3.png);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  margin-top: -60px;
}

.tiele_about {
  max-width: 600px;
  margin: 0 auto;
}

.tiele_about img {
  margin: -3% auto ;
  text-align: center;
}

.topbox {
  max-width: 900px;
  margin: 3vh auto 0;
}

.topIMG {
  margin: 0 auto;
  width: min(85%, 900px);
  mix-blend-mode: multiply ;
  text-align: center;
}

.txtTitle_SPnone,
.topic_topTitle_SPnone {
  display: none;
}

.txtTitle_SPon {
  max-width: 700px;
  margin: 5.8% auto 0;
  text-align: center;
}

.topTXT {
  max-width: 900px;
}

.topTXT p {
  font-size: min(3.4vw, 1.5rem);
  font-weight: 300;
  text-align: justify;
  line-height: 1.9;
  padding: 4%;
}

.topic_top {
  margin: 2.5vh auto 0;
  max-width: 900px;
}

.topic_topImgBOX {
  margin: 0 auto;
  text-align: center;
}

.topic_topTitle_SPon img {
  margin-right: auto;
  margin-top: -7%;
  padding-left: 4.5%;
  width: 96%;
}

.topic_top_txt {
  padding: 2% 4% 0 4%;
}

.topic_top_txt h2 {
  font-size: min(3.9vw, 2.1rem);
  font-weight: 300;
}

.topic_top_txt p {
  font-size: min(3.4vw, 1.5rem);
  font-weight: 300;
  line-height: 1.9;
  padding-top: 2%;
  text-align: justify;
}

@media screen and (min-width:1000px) {
  .section_Profiletop {
    background-image: url(../KV_BG4.png);
    background-repeat: no-repeat;
    background-position: top center;
    background-size: cover;
    /* height: 84vh; */
    margin-top: -60px;
    padding-bottom: 90px;
  }

  .txtTitle_SPon {
    display: none;
  }

  .txtTitle_SPnone {
    display: block;
    width: 325px;
  }

  .topbox {
    margin-top: 3vh;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    max-width: 1000px;
    text-align: center;
  }

  .topIMG {
    width: 61vw;
    max-width: 1000px;
    mix-blend-mode: darken ;
    width: min(85%, 1200px);
  }

  .topIMG img {
    width: min(75%, 1200px);
  }

  .topTXT {
    margin:0 auto ;
    width: 80%;
  }

  .topTXT p {
    font-size: min(3.2vw, 1.4rem);
    font-weight: 300;
    text-align: left;
    line-height: 2.1;
    padding: 5% 10px 0 0;
  }

  .topTXT {
    margin-right: auto;
  }

  .topic_top {
    max-width: 1000px;
    display: flex;
    position: relative;
  }

  .topic_topTitle_SPon {
    display: none;
  }

  .topic_topTitle_SPnone {
    display: block;
    padding-left: 3%;

  }

  .topic_topTitle_SPnone img {
    width: 538px;
  }

  .topic_topTitle_SPnone img {
  width: 370px;
  }

  .topic_topSPnone {
    display: flex;
    justify-content: space-between;
    right: -5%;
    padding: 36% 0% 0% 0%;
    margin:  0 auto;
    width: 1000px;
  }

  .topic_top_txt {
      padding: 2% 0% 0 0%;
      width: 538px;
    }
  
  .topic_top_txt p {
    font-size: min(3.4vw, 1.4rem);
  }

  .topic_topImgBOX {
    position: absolute;
    left: 0;
    margin: -40px auto;
    position: absolute;
    left: 100px;
    right: 50px;
    }

  .topic_topImgBOX img {
    text-align: center;
    width: 79vw;
    mix-blend-mode: multiply ;
  }
  
}
/* =========================
main topic_listBOX
========================= */
.topic_listBOX {
  margin: 7vh auto 0;
}

.topic_list1 {
  margin: 5.5vh auto 0px 0px;
  max-width: 900px;
}

.topic_list2  {
  margin-top: 20%;
  max-width: 900px;
}

.topic_list3 {
  margin-top: 20.8%;
}

.imposing_SPnone,
.design_SPnone,
.color_SPnone {
  display: none;
}

.imposing_SPon img,
.design_SPon img,
.fcolor_SPon img {
  min-width: 300px;
}

.imposing_SPon p,
.design_SPon p,
.color_SPon p {
  font-size: min(3.15vw, 1.5rem);
  font-weight: 300;
  line-height: 1.95;
}

.imposing_SPon p {
  padding-left: 5%;
  margin-right: 20%;
  width: 58vw;
  margin-top: -14.4%;
  text-align: justify;
}

.design_SPon p {
  margin-left: auto;
  padding-right: 4.5%;
  width: 62vw;
  margin-top: 1.5%;
  text-align: justify;
}

.color_SPon p {
  padding-left: 5%;
  margin: -21% 0 0 40%;
  width: 43vw;
  text-align: justify;
}

@media screen and (min-width:1000px) {
  .topic_list1 {
  margin: -6.5% auto 0px 0px;
  max-width: 1200px;
}

  .topic_listBOX {
    max-width: 1400px;
  }

  .imposing_SPon,
  .imposing_SPon img,
  .design_SPon img,
  .design_SPon,
  .color_SPon img,
  .fcolor_SPon {
    display: none;
  }

  .imposing_SPnone,
  .design_SPnone,
  .color_SPnone {
    display: block;
    max-width: 1400px;
    position: relative;
  }
  
  .topic_listBOX {
    /* margin-top: min(67%,688px); */
    margin-top: 190px;
  }

  .imposing_SPon p,
  .design_SPon p,
  .color_SPon p {
    display: none;
  }
  
  .imposing_SPnone p,
  .design_SPnone p,
  .color_SPnone p {
  display: block;
  font-size: min(3.15vw, 1.4rem);
  font-weight: 300;
  line-height: 1.9;
  }

  .imposing_SPnone,
  .design_SPnone,
  .color_SPnone {
    display: flex;
    align-items: flex-end;
  }

  .imposing_SPnone p {
    background-color: rgba(255, 255, 255, 0.5);
    color: #000;
    width: 36%;
    height: auto;
    padding: 3.15% 3.6%;
    position: absolute;
    right: 23.5%;
  }

  .imposing_SPnone img {
    width: 75%;
  }

  .topic_list2 {
    margin: 12.5vh auto 0px 0px;
    max-width: 1200px;
  }

  .design_SPnone p {
    background-color: rgba(255, 255, 255, 0.5);
    color: #000;
    width: 31.5%;
    height: auto;
    padding: 3% 3.6%;
    position: absolute;
    top: 67%;
    left: 21%;
  }

  .design_SPnone img{
    width: 85%;
    margin-left: auto;
  }

  .topic_list3 {
    margin: 21vh auto 0px 0px;
    max-width: 1200px;
  }

  .color_SPnone p {
    background-color: rgba(255, 255, 255, 0.5);
    color: #000;
    width: 30%;
    height: auto;
    padding: 2.9% 3.6%;
    position: absolute;
    right: 32%;
    bottom: -5%;

  }

  .color_SPnone img{
    width: 85%;
  }
}

/* =========================
main slider
========================= */
.slider {
max-width: 1600px;
margin: 5vh auto 0%;
}


/* スライダー全体のスタイル */
.swiper {
  width: 80%;
  height: auto;
  margin: 0 auto;
  position: relative;
  touch-action: pan-y; /* 縦スクロールを邪魔しない */

}

/* スライド内の画像 */
.swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
}

/* ナビゲーションボタンのカスタマイズ */
.swiper-button-prev, .swiper-button-next {
  color: white;
  background: rgba(145, 227, 254, 0.5);
  padding: 10px;
  border-radius: 50%;
  width: 6.4vw;
  height: 6.4vw;
  /* width: 33px;
  height: 33px; */
  display: flex;
  align-items: center;
  justify-content: center;
}

.swiper-button-next {
  margin-right: -10px;
}

.swiper-button-prev {
  margin-left: -10px;
}

/* ページネーションのデザイン */
.swiper-pagination-bullet {
  background: rgb(208, 206, 206);
  opacity: 0.8;
}

.swiper-pagination-bullet-active {
  background: #58b0dd;
}

.swiper-pagination {
  position: absolute;
  left: 50%;
  bottom: 20px; /* デフォルトの位置 */
  display: none;
  /* transform: translateX(-50%); */
}


.swiper-pagination-bullet {
  width: 6.5px;
  height: 6.5px;
}

@media screen and (min-width:1000px) {
  .slider {
    max-width: 1600px;
    margin: 16vh auto 0%;
    }    

  .swiper-button-prev, .swiper-button-next {
    width: 36.5px;
    height: 36.5px;
  }
  
/* スライドの画像 */
.swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
  cursor: grab; /* 掴むアイコン */
}

/* スワイプ中のスタイル */
.swiper-slide:active {
  cursor: grabbing;
}
}


/* =========================
link
========================= */
.link {
  margin-top: 10%;
  padding-top: 35px;
  text-align: center;
  margin: 0 auto;
}

.linkBOX img {
  /* max-width: 1000px; */
  margin-top: 10%;
  width: 89vw;
}

/* ホバー効果 */
a {
  transition: transform 0.3s ease-out, opacity 0.1s ease-out;
}

a:hover {
  transform: translateY(0px);
  opacity: 0.8;
}

.linkBOX img a:hover {
  transform: translateY(0px);
  opacity: 0.8;
}


@media screen and (min-width:1000px) {
  .link {
    padding-top: 20px;

  }

  .linkBOX {
    max-width: 1200px;
    display: flex;
    gap: 4vw;
    justify-content: center;
    margin: 40px auto;
  }

  .linkBOX img {
    margin-top: 100px;
    width: 45vw;
  }
}

/* =========================
footer
========================= */
.footer {
  height: 21.1%;
  background-image: url(../footer_BG_sp2.png);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
}

.footer_inner {
  padding: 15.1% 10.1% 10.1% 10.1%;
}

.logo_SPnone {
  display: none;
}

.footer_navList {
  margin-top: 20px;
  color: #FFF;
  font-size: min(3.6vw, 2rem);
  font-weight: 500;
}

.nav_arrow {
  display: flex;
  align-items: center;
}

.nav_arrow img {
  width: 2.0%;
  margin-right: 1.9vw;
}

.footerNav_listItem {
  margin-bottom: 3%;
}

.nav_list :nth-of-type(1) {
  margin-top: 0;
}

.footerNavAbout_acdList {
  margin-top: 5px;
  color: #ffff;
  font-size: 1.1rem;
  font-weight: 600;
}

.footerNavAbout_acdList li {
  margin-bottom: 0.6vh;
  height: 22px;
  padding-left: 12px;
  line-height: 1.9;
  width: 150px;
}

.footerNavAbout_acdList img {
  width: 5.5px;
  text-align: center;
  padding-bottom: 5%;
  margin-right: 5px;
}

.footerNav_listItem_eng {
  color: rgba(255, 255, 255, 0.60);
  font-family: Jost;
  font-size: 1.0rem;
  font-weight: 500;
}

.footer_underList1 {
  padding-top: 4.3vh;
}

.logo {
  margin-top: 11%;
  text-align: center;
}

.footer_underList1 img {
  width: 32.7vw;
}

.nakanumaM_logo {
  margin-top: 3vh;
}

.snsLogo {
  width: 16%;
  display: flex;
  justify-content: space-between;
}

.snsLogo img {
  margin-left: 19%;
}

.footer_underList2 {
  align-items: center;
  padding: 6vw 18.5vw 4vw 18.5vw;
}

.footer_rule {
  color: #FFF;
  font-family: Inter;
  font-size: min(2.5vw, 2.2rem);
  ;
  font-weight: 400;
}

.ruleBox {
  display: flex;
  justify-content: space-between;
  margin-top: 18%;
}

.footer_rule li {
  text-align: left;
  text-decoration: underline;
  text-decoration-color: #ffff;
}

.footer_underList1_pc {
  display: none;
}

/* メニュー項目のホバー時のアニメーション */
/* アンカータグのホバー効果 */
a {
  transition: transform 0.3s ease-out, opacity 0.1s ease-out;
}

a:hover {
  transform: translateY(0px);
  opacity: 0.8;
}

.footerNav_listItem a:hover {
  transform: translateY(0px);
  opacity: 0.8;
}

/* 画像（ロゴ、アイコン）のホバー効果 */
footer img {
  transition: transform 0.3s ease-out, opacity 0.1s ease-out;
}

footer img:hover {
  transform: translateY(0px);
  opacity: 0.8;
}

/* フッターメニュー項目（利用規約、サイトポリシー）のホバー効果 */
.footer_rule li:hover {
  transform: translateY(0px);
  opacity: 0.8;
}

@media screen and (min-width:1000px) {
  .footer {
    height: 21.1%;
    background-image: url(../footer_BG_pc_ver2.png);
    background-repeat: no-repeat;
    background-position: top center;
    background-size: cover;
  }

  .footer_inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 15.1% 10.5% 10.1% 10.5%;
  }

  .logo_SPnone {
    display: block;
    margin: 0 auto;
    width: 29%;
    margin-top: 5%;
  }

  .footer_underList1 .logo {
    display: none;
  }

  .footer_navList {
    display: flex;
    justify-content: space-between;
    margin: 13% 0 8.5% 0;
  }

  .footerNav_listItem {
    font-size: 1.7rem;
  }

  .footerNav_listItem_eng {
    font-size: 1.4rem;
    font-weight: 400;
    letter-spacing: 1px;
  }

  .nav_arrow img {
    width: 2.0%;
  }

  .footerNavAbout_acdList li {
    width: 84%;
    font-size: 1.3rem;
    align-items: center;
    height: 2.9%;
    text-align: c;
  }

  .nav_arrow img {
    margin-right: 3%;
    width: 3.3%;
  }

  .nav_arrow {
    align-items: center;
  }

  .footerNavAbout_acdList {
    width: 100%;
    align-items: center;
  }

  .footer_underList1_pc {
    display: block;
  }

  .log_pc {
    display: none;
  }

  .footer_underList2_pc {
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    align-items: center;
    width: 600px;
  }

  .footer_underList1 {
    display: none;
  }

  .nakanumaM_logo_pc {
    width: 220px;
  }

  .ruleBox_pc {
    align-items: center;
    display: flex;
    justify-content: space-between;
    gap: 100px;
  }


  .snsLogo_pc {
    display: flex;
    justify-content: space-between;
    height: 59px;
  }

  .footer_rule_pc {
    color: #FFF;
    font-size: 1.3rem;
    font-weight: 400;
  }

  .footer_rule_pc li {
    width: 93px;
  }

  .footer_rule_pc li {
    text-align: left;
    text-decoration: underline;
    text-decoration-color: #ffff;
  }

  .snsLogo_pc img {
    margin-left: 14%;
  }

}