@charset "utf-8";

html{
  font-size: 62.5%;
  scroll-behavior: smooth;
}
:root {
  --txt-color: #4C4343;
  --txt-subcolor: #FAF7EE; 
  --bg-color: #FFF7DF;
 
/* sub使わないかも */
/* ここからfont size 修正予定 */
 
--otherfont-size-name:clamp(2rem,calc(4.44vw + 0.064px),6.4rem); 
--font-size-name:clamp(1.6rem, calc(2.77vw + 0.112px), 4rem);
 --font-other-name:clamp(2.4rem, calc(3.33vw + 0.048px), 4.8rem); 

--font-size-category:clamp(1.5rem, calc(1.665vw + 0.024px), 2.4rem);
 --base-font-size:clamp(1.4rem, calc(1.1vw + 0.16px), 1.6rem);
 --main--topicfont:clamp(1.9rem, calc(2.22vw + 0.032px), 3.2rem);
 --skill-font-size:clamp(2.2rem, calc(5.55vw + 0.08px), 8rem);
 --section-font-size:clamp(2.4rem, calc(6.11vw + 0.016px), 8.8rem);
 --section-about__font-size: clamp(5.6rem, calc(6.665vw + 0.024px), 9.6rem);
 --section-about__subfont-size:1.3rem;
 /* 余白 */
 /* 72px */
 --section-margin:clamp(24px,calc(5.4% - 0.25px),72px);
 /* 32px */
 --third-margin:2.528%;
/* 40px */
--secound-margin:clamp(16px, calc(2.98% + 0.1406px), 40px);

}

 

body{ 
  font-family: "Minion Pro", "Lusitana", serif;
color: var(--txt-color);
background-color: var(--bg-sub-color);
font-style: normal;
line-height: 1.5;
font-weight: 400;
}
img{
max-width: 100%;
height: auto;  
}



.container{
padding: 3.47223%; 
background-image :url(../portfolio__comps/noise.png) ;
  background-size: cover 100px 100px;
  background-position: center;

}

@media screen and (max-width:768px) {
.container{
/* padding: 2.67%; */
padding: 15px;
}
}
@media screen and (max-width:320px) {
.container{
padding: 5px;
}
}

/* section-title 共通の動き*/
.section-title {
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.6s ease-out;
}

.section-title.show {
  opacity: 1;
  transform: translateY(0);
}


/* ABOUT 名前　サイズ下層共通だよ */
.about__name{
  color: var(--txt-color);
font-family: "Kozuka Mincho Pro","Zen Old Mincho";
font-size: var(--font-size-category);
font-weight: 400;
}

.about__name__en{
  color: var(--txt-color);
font-family: "Minion Pro","Lusitana";
font-size:var(--base-font-size);
font-weight: 400;
margin-left: 16px;
}

@media screen and (max-width:768px) {
.about__name__en{
  margin-left: 8px;
}
}





/* ここからheader */




.header{
   position: sticky;
  top: 0;
  z-index: 1000;

  background-image: url(../portfolio__comps/noise.png);
  background-size: cover 100px 100px;
  background-position: center;
/* 追随用の指定 */
}

.toogle__flex{
  width: 60%;
  display: flex;
  align-items: center;
}


.header__box{
  display: flex;
  align-items: stretch;
  border: 1px solid var(--txt-color);
  /* justify-content:space-between ; */

}

.header__title{
  display: flex;
  align-items: center;
font-family: "Minion Pro","Lusitana";
font-weight: 700;
letter-spacing: 2.8px;
font-size: var(--font-size-name);

margin-left:clamp(24px,9.652%,72px);
} 



.nav__header{
  display: flex;
  align-items: center;
  width: 44.241vw;
}

.nav__topic{
height: 100%;
display: flex;
align-items: center;
}

.header__nav__box{
  display: flex;
  align-items: center;
  height: 100%;
}

.header__nav__item:first-of-type{
  border-left: 1px solid var(--txt-color);
}

.header__nav__item{
 height: 100%;
 width: 10.3vw;
 align-items: center;
 display: flex; 
font-family: "Minion Pro","Lusitana";
font-weight: 700;
  font-size: var(--font-size-category);
  border-right: 1px solid var(--txt-color);
  aspect-ratio: 2 / 1 ;
  padding-left:2.82%;
  box-sizing: border-box;
}
.header__nav__item:last-of-type{
 
border-right: none;
}

@media screen and (max-width:768px) {
.header{
  height: auto;
  /* height: 50px; */
  /* height: 44px; */
    top: 0;
    z-index: 1000;
   
  
}

.toogle__flex{
  display: flex;
width: 100%;
/* height px　指定？ */
}

.header__title{
  margin:8px 0 8px 7%;
  letter-spacing: 0.48px;
width: 72%;
}
.header__sp__only{
  display: flex;
  flex: 1;
  width: 14%;
  border-right: 1px solid var(--txt-color);
  border-left: 1px solid var(--txt-color);
  height: 100%;
  align-items: stretch;
}
.header__sp__only:last-of-type{
  border: none;
}



/* toogle open */

.header__toogle__btn {
  position: relative;
  width: 20px;
  height: 16px;
  cursor: pointer;
}

.toogle-open {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 1px;
  background: var(--txt-color);
  transition: 0.3s;
  transform-origin: center;
}


.toogle-open:first-of-type { transform: translate(-50%, -6px); }
.toogle-open:nth-of-type(2) { transform: translate(-50%, 0); }
.toogle-open:last-of-type { transform: translate(-50%, 6px); }

/* active (toogle-close) */
.header__toogle__btn.active .toogle-open:nth-child(1) {
  transform: translate(-50%, 0) rotate(45deg);
}
.header__toogle__btn.active .toogle-open:nth-child(2) {
  opacity: 0;
}
.header__toogle__btn.active .toogle-open:nth-child(3) {
  transform: translate(-50%, 0) rotate(-45deg);
}








  .nav__header{
  /* width: calc(100% - 2.67% * 2); */
  width: calc(100% - 30px);
  /* height: calc(100vh - 52px); */
  height: calc(100vh - 50px);
  position: absolute;
  top: 40px;
left: 0;
z-index: 100;
transform: translate(-110%);
transition:transform 0.4s;
background-color: #FAFAFA;
background-image :url(../portfolio__comps/noise.png) ;
  background-position: center;
display: flex;
align-items: flex-start;
border-top: 1px solid var(--txt-color);
}
.nav__header.active{
 transform:translateX(0);
 width: 100%;
}
.nav__topic{
  height:240px;
  width: 100%;
}
.header__nav__box{
  flex-direction: column;
  height: auto;
  width: 100%;
  align-items: baseline;

}



.header__nav__item:first-of-type{
 border: 1px solid var(--txt-color);
  border-bottom: none;
  border-top: none;
}
.header__nav__item{
  height: 60px;
  width: 100%;
  border: 1px solid var(--txt-color);
  border-bottom: none;
  padding-left:calc(6.76% + 0.0156px);
}
.header__nav__item:last-of-type{
  margin-right: 0;
   border: 1px solid var(--txt-color);
  
}

}













/* header end */


/* footer start */


.footer{
border: solid 1px var(--txt-color) ;  
width: 100%;
}
.mail__txt{
  color: var(--txt-color);
font-feature-settings: 'palt' on;
font-family: "Kozuka Mincho Pro","Zen Old Mincho";
font-size: var(--base-font-size);
font-weight: 300;
letter-spacing: 3.84px;
text-align: center;
margin-top: 72px;
}



/* contact start */

.contact__box{
display: flex;
align-items: center;
border-top: 1px solid var(--txt-color);
border-bottom: 1px solid   var(--txt-color);
margin-top: 48px;
width: 100%;
height: 172px ;
/* height  clump  に変更予定*/
overflow: hidden;
  max-width: 100%; 
  box-sizing: border-box;
}

.contact{
  display: flex;
  color: #4C4343;
font-family: "Minion Pro","Lusitana";
font-size:clamp(2rem, calc(6.11vw + 0.016px), 8.8rem);
font-weight: 700;
margin-left: var(--section-margin);
padding-right: var(--section-margin);
border-right: 1px solid var(--txt-color);
 flex-shrink: 0; /* CONTACTテキストは縮小させない */
  white-space: nowrap; /* 改行防止 */
  height: 100%;
  align-items: center;
  /* width: 40%; */

}

.maill__link{
  /* width: 60%; */
}

.footer__autobox {
  display: flex;
  overflow: hidden;
  width: 100%;
  align-items: center;
  white-space: nowrap;
  position: relative;
}

.footer__loop {
  display: flex;
  flex-shrink: 0;
  animation: loopScroll 23s linear infinite;
}

.footer__loop__txt {
  display: inline-block;
  padding-right: 20px;
  font-family: "Minion Pro","Lusitana";
  font-size: clamp(2.4rem, calc(7.21vw + 0.176px), 10.4rem);
  font-weight: 400;
  letter-spacing: 8.32px;
  color: transparent;
  -webkit-text-stroke: 1px var(--txt-color);
}

@keyframes loopScroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-100%); }
}


/* scroll top  start */

.scroll__top {
  display: flex;
  justify-content: flex-end;   /* 中身を右端に寄せる */
  width: fit-content;
  margin-left: auto;
 margin-top: 40px ;
 margin-right: var(--section-margin);

}

.top__btn {
  border: 1px solid var(--txt-color);
  background: none;
  cursor: pointer;
  display: inline-flex;        /* ボタンサイズ＝中身だけ */
  padding: 0;                  /* 余白は画像側で調整 */
}

.footer__top__arrow {
  height: 24px;
  margin: 24px 32px;           /* 画像の見た目の余白 */
}
/* scroll top end */


/*copyright start */

.small__grid{
 display: flex;
 margin-top: 56px;
 border-top: 1px solid var(--txt-color);
 width: 100%;
}

.small__list:first-of-type{
  border-left: none;
}
.small__list{
display: flex;
border-left: 1px solid var(--txt-color);  
width: 33.333%;

} 
.small{
  display: flex;
  flex-shrink: 0;
  max-width: 441px;
color: var(--txt-color);
font-family: "Minion Pro","Lusitana";
font-size: clamp(0.8rem, calc(0.9vw + 0.04px), 1.3rem);
font-weight: 400;
letter-spacing: 1.04px;
margin: 16px auto;
}
.small__mark{
  transform: scale(1.2); /* 小さく見える対策 */
  display: inline-block;
  margin: 0 4px;
}


/* footer SPここから */
@media screen and (max-width:768px){
.mail__txt{
letter-spacing: 0.48px;
margin-top:16px ;
}
.contact__box{
  margin-top: 16px;
  height: 100px;

}
.footer__loop__txt{
letter-spacing: 0.96px;
}

.contact{
  width:37.363%;
}

/* ここからスクロール */
.scroll__top{
  margin-right: 16px;
  margin-top: 24px;
}

.footer__top__arrow{
  height: 16px;
    margin: 8px 16px;
}

/* コピーライト */
.small__grid{
  display: block;
  margin-top: 36px;
}
.small__list{
  width: auto;
  border: none;
}
.small{
  letter-spacing: 0.64px;
  margin: 8px auto;
}
}



/* 375px */
@media screen and (max-width:376px){
.contact{
  font-size: 2rem;
} 
.contact__box{
  height: 64px;
}

.footer__loop__txt{
  font-size: 2.4rem;
  padding-right: 16px;
}

}




/* 遷移コントロール */
body {
  overflow-x: hidden;   
}

/* ページコンテンツの遷移 - メイン効果 */
.page__content {
  transform: translateX(0);
  opacity: 1;
  transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  will-change: transform, opacity;
}

.page__content.sliding {
  transform: translateX(25px); /* 右に軽くずらす */
  opacity: 0; /* ふわっと消える */
}

/* オプション：背景のフェード効果（軽微） */
.elegant__transition__overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(255, 255, 255, 0.3);
  z-index: 9998;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.4s ease-out;
  will-change: opacity;
}

.elegant__transition__overlay.active {
  opacity: 1;
}



/* -------------------------------------------------
work__color */

.color__palette{
    width: 90%;
    max-width: 376px;
    margin: 16px 0 0 24px;
    display: flex;
    border: 1px solid var(--txt-color);
}


.color__palette__item{
    width: 33.333%;
    height: 57px;
}
.color__palette__item:first-of-type{
 border-right: 1px solid var(--txt-color);
}
.color__palette__item:nth-of-type(2){
    border-right: 1px solid var(--txt-color);
}
@media screen and (max-width:768px){
  
.color__palette{
    width: 80%;
}

.color__palette__item{
 
    height: 40px;
}
}


 .device__img__desktop__1080{
  width: 60% !important;
} 




/* ダンス */
.color__palette__item__dance:first-of-type{
  background-color:#363131;
}
.color__palette__item__dance:nth-of-type(2){
background-color:#EEF3EC;
}

.color__palette__item__dance:last-of-type{
  background-color: #9D3030;
}


/* ネイル */
.color__palette__item__nail:first-of-type{
  background-color:#FEFCF5;
}
.color__palette__item__nail:nth-of-type(2){
  background-color: #F2FAED;
}
.color__palette__item__nail:last-of-type{
  background-color: #FFE4F8;
}

/* 採用 */
.color__palette__item__recruitment{
  background-color:#C9E2B3;
}
.color__palette__item__recruitment:nth-of-type(2){
  background-color: #FDFDFD;
}
.color__palette__item__recruitment:last-of-type{
  background-color: #F1D093;
}

/* 温泉 */
.color__palette__item__onsen:first-of-type{
  background-color: #FFF4E0;
}
.color__palette__item__onsen:nth-of-type(2){
background-color: #E3D5AE;
}
.color__palette__item__onsen:last-of-type{
  background-color: #1E1E1E;
}

/* ポートフォリオ */
.color__palette__item__portfolio{
  width: 50% !important;  
}
.color__palette__item__portfolio:first-of-type{
  background-color:#F8F8F8;
}
.color__palette__item__portfolio{
  background-color:#4C4343;
}

/*バナー
---------------------------------------------------  */

/* セミナー */
.color__palette__item__seminar:first-of-type{
background-color: #ffff;
}
.color__palette__item__seminar:nth-of-type(2){
 background-color: #8fbfd5; 
}
.color__palette__item__seminar{
  background-color: #19acc1;
}

/* アパレル */
.color__palette__item__apparel:first-of-type{
  background-color:#F7F5F5;
}
.color__palette__item__apparel:nth-of-type(2){
background-color: #DBB95A;
}
.color__palette__item__apparel:last-of-type{
background-color: #D7B9A6;
}

/* ドリンク */
.color__palette__item__drink:first-of-type{
  background-color: #fcfaff;
}
.color__palette__item__drink:nth-of-type(2){
  background-color: #8e91c6;
}
.color__palette__item__drink{
  background-color: #7469ae;
}