@charset "UTF-8";
/* CSS Document */
body{
	margin: 0px !important;
	overscroll-behavior: none;
}
h1,h2,h3,h4,h5,h6{margin: 0;}
ul {
    display: block;
    list-stslideyle-type: disc;
    margin-block-start: 0;
    margin-block-end: 0;
    margin-inline-start: 0;
    margin-inline-end: 0;
    padding-inline-start: 0;
}
*{
    min-height: 0;
    min-width : 0;
	margin: 0px;
	padding: 0px;
	box-sizing: border-box;
	scroll-behavior: smooth;
}
#bl{
    padding: 0;
	margin: 0 auto;
    font-family: yu-gothic-pr6n, sans-serif;
	font-weight: 400;
	font-style: normal;
    line-height: 2.0;
    font-size: 11px;
    letter-spacing: 1px;
	width: 100%;
    box-sizing: border-box;
    color: #111;
	background: #fff;
    -webkit-text-size-adjust: 100%;
}
#bl a {
	text-decoration: none;
	color: #2b2b2b;
}
#bl p {
    margin: 0;
}
#bl　a:hover {
	opacity: 1;
}
#bl .clear{
	clear: both;
}
#bl img{
    width: 100%;
    line-height: 0;
}
#bl ul,#bl li {
	list-style: none;
	padding: 0;
	margin: 0;
}
#bl .main_visual{
	position: relative;
	width: 100%;
  	background-color: #e2dec9;
  	overflow: hidden;
	padding: 0 0 10px;
	border-bottom: 1px solid #000;
}
#bl .main_visual .item {
position: absolute;
  width: 41%;
  opacity: 0;
  transform: translateY(10px);
  animation: ultraSmoothIn 2.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  animation-delay: var(--delay, 0s);

  /* 🌟 スマホのガタつき・カクつきを強制的に滑らかにする魔法の1行 */
  will-change: transform, opacity;
}
#bl .main_visual .item-0 {
margin: 37% auto 0 0;
width: 54%;
}
#bl .main_visual .item-00 {
margin: 0 0 10% auto;
width: 43%;
}
/* --- ここで位置と「時間差」をランダムっぽくバラす！ --- */
#bl .main_visual .item-1 {
  top: 30%;
  left: 25%;
  animation-delay: 0.6s;
}

#bl .main_visual .item-2 {
 	top: 17%;
    right: -7%;
    animation-delay: 1.2s;
}

#bl .main_visual .item-3 {
  bottom: 5%; left: 5%;
  animation-delay: 1.8s;
}

#bl .main_visual .item-4 {
  top: 3%; right: 5%;
  animation-delay: 1.6s; 
}
#bl .main_visual .item-5 {
  top: 25%; left: 31%;
  animation-delay: 2.0s; 
}

#bl .main_visual .item-6 {
  left: 50%;
  top: 10%;
  width: 70%;
  transform: translate(-50%, -50%);
}
#bl .main_visual .line{
	border-top: 5px solid #000;
}
@media only screen and (min-width: 768px) {
	#bl{
    font-size: 12px;
	}
	#bl .main_visual .item {
    width: 20%;
	}
	#bl .main_visual .item-6 {
	width: 28%;
    left: 50%;
    /* margin-left: -13%; */
    transform: translate(-50%, -50%);
    top: 15%;
	}
	#bl .main_visual .item-0 {
    margin: 5% auto 0 2%;
    width: 28%;
	}
	#bl .main_visual .item-00 {
    position: absolute;
    bottom: 8%;
    right: 15%;
    width: 25%;
    margin: 0;
	}
	#bl .main_visual .item-1 {
    top: 23%;
    left: 37%;
	}
	#bl .main_visual .main_pc{
	width: 1200px;
	margin: 0 auto;
	}
	#bl .main_visual .item-3 {
    left: 10%;
	}
	#bl .main_visual .item-2 {
    right: 3%;
    top: 1%;
	}
	#bl .main_visual {
    padding: 0 0 25px;
	}
}
/* アニメーションの軌道 */
@keyframes ultraSmoothIn {
  0% {
    opacity: 0; /* スタートは30%の半透明 */
    transform: translate(-50%, -50%)　translateY(10px);
  }
  100% {
    opacity: 1; /* 最終的に100%くっきり */
    transform: translate(-50%, -50%)　translateY(0);
  }
}
#bl .read_area{
	margin: 12% auto 10%;
	width: 90%;
}
#bl .read_area .read_pic{
	width: 70%;
	margin: 0 auto 5%;
}

@media only screen and (min-width: 768px) {
	#bl .main_visual .main_pc{
    height:650px;
	}
	#bl .read_area {
    margin: 5% auto 10%;
    width: 950px;
    display: flex;
    justify-content: space-around;
    align-items: center;
	}
	#bl .read_area .read_pic {
    width: 43%;
    margin: 0;
	}
	#bl .read_area .read{
	width: 43%;
	}
}
#bl h2{
	text-align: center; /* 🌟 中にある楕円を真ん中に寄せる */
    width: 100%;
	margin: 0 auto 7%;
}
#bl .oval-badge {
  display: inline-flex;        /* 内側の文字を真ん中に寄せるためflexにする */
  align-items: center;         /* 上下の中央揃え */
  justify-content: center;     /* 左右の中央揃え */
  
  /* 1. 楕円のサイズを指定（ここで楕円の縦横比が決まります） */
  width: 80vw; max-width: 280px;               /* 楕円の横幅 */
  height: 90px;                /* 楕円の高さ */
  
  /* 2. 綺麗な楕円にするための魔法の指定 */
  border: 1px solid #000;      /* 細い黒の線 */
  border-radius: 50% / 50%;    /* 🌟 これでカプセル型ではなく「完全な楕円」になります */
  
  /* 3. 全体の文字デザイン */
  color: #000;
  font-family: acumin-variable, sans-serif;    /* お好みのフォントに変えてね */
  font-size: 24px;             /* 文字の大きさ */
  font-weight: 500;
}

/* 「5」の数字だけ個別にデザイン */
#bl .oval-badge .num {
  font-size: 42px;             /* 数字だけグッと大きく */
  font-weight: bold;           /* 太字 */
  font-style: italic;          /* 斜体（画像のように少し右に傾ける） */
  margin-right: 12px;          /* 右側のテキストとの間のスキマ */
}
#bl .index{
	display: flex;
    width: 100%;
    margin: 0 auto 10%;
    flex-direction: row;
    flex-wrap: wrap;
	justify-content: center;
}
#bl .index .child{
	width: 33.3%;
	position: relative;
}
#bl .index .child span{
	font-family: acumin-variable, sans-serif;
    position: absolute;
    top: -10%;
    left: 5%;
    font-size: 21px;  
}
@media only screen and (min-width: 768px) {
	#bl .index{
	width: 1200px;
	}
	#bl .index .child {
    width: 20%;
	}
	#bl .index .child span{
	font-size: 32px;  
	}
}
#bl .cate{
	display: flex;
    width: 100%;
    margin: 0 auto 10%;
    justify-content: space-around;
    align-items: flex-start;
}

#bl .cate .cate_pic{
	width: 40%;
}
#bl .cate .cate_txt{
	width: 50%;
}
#bl .cate .cate_txt .cate_item{
	border-style: solid;
  	border-color: #333;
  	border-width: 1px 0; /* 上下は2px、左右は0 */
	/*padding-bottom: 10px;*/
}
#bl .cate .cate_txt .cate_item span{
	display: block;
}
#bl .cate .cate_txt .cate_item .no{
	font-size: 25px;
	font-family: acumin-variable, sans-serif;
}
#bl .cate .cate_txt .cate_item .name{
	font-size: 13px;
    font-weight: 600;
}
@media only screen and (min-width: 768px) {
	#bl .cate{
	width: 980px;
	}
	#bl .cate .cate_txt .cate_item .col_chip{
	display: flex;
    justify-content: flex-start;
    align-items: center;
	}
	#bl .cate .cate_txt .cate_item .name {
    font-size: 18px;
	}
	#bl .cate .cate_txt .cate_item .no {
    font-size: 34px;
    }
}
#bl .menu-item {
  display: flex;
  align-items: center; /* 上下の中心を揃える */
  justify-content: space-between;
  width: 100%; /* 横幅はデザインに合わせて調整してください */
  max-width: 600px; /* 例として最大幅を指定 */
  background-color: #e5e2d3; /* 画像に近い背景色 */
  padding: 20px;
  font-family: acumin-variable, sans-serif;
font-variation-settings: "slnt" 0, "wdth" 67.5, "wght" 600;
}

/* 左側の番号ブロック（縦並び） */
#bl .number {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
}
#bl .number span {
  font-size: 14px;
}
#bl .number strong {
  font-size: 28px;
  font-weight: bold;
}

/* ★ここがポイント：真ん中の線 */
#bl .line2 {
  flex-grow: 1;          /* 空いているスペースいっぱいに伸びる */
  height: 1px;           /* 線の太さ */
  background-color: #000; /* 線の色 */
  margin: 0 20px;        /* 左右の文字との間に余白を作る */
}

/* 右側の文字 */
#bl .category {
  font-size: 32px;
  font-weight: bold;
}
#bl .oki_area{
	background-color: #e5e2d3; /* 画像に近い背景色 */
	padding-bottom: 35px;
}
#bl .oki_area .oki_pic{
	width: 90%;
	margin: 0 auto 5%;
}
#bl .oki_area .oki_pic p{
	margin: 5% auto 10%;
}
#bl .oki_area .credit_area{
	width: 75%;
	font-family: acumin-variable, sans-serif;
	font-variation-settings: "slnt" 0, "wdth" 100, "wght" 300;
}
/* --- 1. 1行全体の並び替え（Flexbox） --- */
#bl .oki_area .credit_area .product-item{
  display: flex;
  align-items: center;       /* 上下の中央をビシッと揃える */
  width: 100%;               /* 横幅いっぱいに広げる */
  max-width: 500px;          /* デザインに合わせた全体の最大幅 */
  /*padding: 15px 0; 			 行と行の上下のスキマ（好みで調整） */
  margin: 4% 0;
}

/* --- 2. 左側のテキスト --- */
#bl .oki_area .credit_area .product-item .product-info {
  font-size: 12px;
  color: #000000;
  white-space: nowrap;       /* 文字が途中で改行されるのを防ぐ */
}

/* --- 3. ★ここが最大のポイント：真ん中の見えないクッション --- */
#bl .oki_area .credit_area .product-item .spacer {
  flex-grow: 1;              /* 空いている真ん中のスペースをすべて埋める */
}

/* --- 4. 右側の楕円ボタン --- */
#bl .oki_area .credit_area .product-item .buy-link {
  display: inline-block;
  text-decoration: none;
}

#bl .oki_area .credit_area .product-item .buy-btn {
	background-color: transparent;
    border: 1px solid #000;
    font-size: 12px;
    letter-spacing: 0.05em;
    color: #000;
    border-radius: 50% !important;
    padding: 5px 18px !important;
    line-height: 1;
    display: inline-block;
}
#bl .cate .cate_txt .cate_item .col_chip{
	display: flex;
    justify-content: flex-start;
    align-items: center;
}
#bl .cate .cate_txt .cate_item .col_chip div{
	width: 15%;
}
#bl .cate .cate_txt .cate_item .col_chip .col{
	padding: 5px 0 0;
    width: 22%;
}
#bl .cate .cate_txt p{
	margin: 5% auto 0;
}
@media only screen and (min-width: 768px) {
	#bl .cate .cate_txt .cate_item .col_chip div {
    width: 10%;
	}
	#bl .cate .cate_txt .cate_item .col_chip .col {
    padding: 7px 0 0;
    width: 18%;
	}	
}
#bl .chic-section .menu-item{
    background-color: #e4e4e4;
}
#bl .chic-section .oki_area {
    background-color: #e4e4e4;
}
@media only screen and (min-width: 768px) {
	#bl .pc_flex{
		display: flex;
		width: 1200px;
		margin: 0 auto;
		position: relative;
	}
	#bl .pc_flex .oki_area{
		background-color: #fff;
	}
	#bl .pc_flex .oki_area .oki_pic {
    width: 65%;
	margin: 10% auto;
    }
	#bl .menu-item {
    width: 80%;
    margin: 0 auto;
	}
	#bl .casual-section{
	width: 50%;
	}
	#bl .chic-section{
	width: 50%;
	}
}
#bl section{
	margin-bottom: 20%;
}
#bl .break_area{
	margin-bottom: 20%;
}
#bl .break_area .break_pic{
	position: relative;
	width: 100%;
	margin-bottom: 18%;
}
#bl .break_area .break_pic .break_01{
	margin: 0 auto 0 0;
	width: 55%;
}
#bl .break_area .break_pic .break_02{
	position: absolute;
	right: 0;
	top: 30%;
	width: 55%;
}
#bl .break_area .break_txt,
#bl .break_area2 .break_txt {
  position: relative;
  padding: 40px 10%; 
  width: 90%;
  margin: 30px auto 10%;
}
#bl .break_area .break_txt::before,
#bl .break_area .break_txt::after,
#bl .break_area2 .break_txt::before,
#bl .break_area2 .break_txt::after {
  content: "";
  position: absolute;
  width: 50px;   
  height: 30px;  
  border: 1px solid #000; 
}
#bl .break_area .break_txt::before,
#bl .break_area2 .break_txt::before {
  top: 0;
  left: 0;
  border-bottom: none;
  border-right: none;
}
#bl .break_area .break_txt::after,
#bl .break_area2 .break_txt::after {
  bottom: 0;
  right: 0;
  border-top: none;
  border-left: none;
}
@media only screen and (min-width: 768px) {
	#bl section {
    margin-bottom: 5%;
	}
	#bl .break_area{
	width: 1200px;
	margin: 0 auto 30%;
	position: relative;
	}
	#bl .break_area .break_pic .break_01 {
    margin: 0 auto 0 14%;
    width: 38%;
	}
	#bl .break_area .break_pic .break_02 {
    right: 14%;
    width: 38%;
	}
	#bl .break_area .break_txt {
    position: absolute;
	top: 0;
	right: 0;
    padding: 40px 10%;
    width: 38%;
    margin: 0 auto 0;
	}
}
#bl .break_area2{
	width: 90%;
	margin: 10% auto 20%;
}
#bl .break_area2 .break2_pic{
	width: 70%;
	margin: 10% auto;
}
@media only screen and (min-width: 768px) {
	#bl .break_area2 {
	width: 1200px;
	margin: 0 auto;
	}
	#bl .break_area2 .break2_pic {
    width: 38%;
	}
	#bl .break_area .break_txt, #bl .break_area2 .break_txt {
    width: 45%;
	}
}
#bl .profile_area{
	width: 90%;
	margin: 0 auto 20%;
}
#bl .profile_area .profile{
	display: flex;
    width: 100%;
    flex-direction: row;
    justify-content: flex-start;
    margin: 0 auto 5%;
    flex-wrap: nowrap;
	align-items: flex-end;
}
#bl .profile_area .profile .rubi{
	font-size: 10px;
}
#bl .profile_area .profile .pro_name_area{
	display: flex;
    flex-direction: column;
    align-items: center;
}
#bl .profile_area .profile .pro_name_area .pro_name{
	font-size: 16px;
}
#bl .profile_area .english{
	margin-left: 3%;
}
#bl .profile_area .ig{
	width: 7%;
    margin: 5% auto 0 0;
}
#bl .line3{
	width: 100%;
	border-bottom: 1px solid #000;
}
#bl .logo{
	width: 55%;
	margin: 10% auto 3%;
}
#bl .copy{
	text-align: center;
	font-size: 8px;
	margin: 0 auto 10%;
}

@media only screen and (max-width: 768px) {
	#bl .cate {
   	display: block;
	}
	#bl .cate .cate_pic {
    width: 65%;
    margin: 0 auto 5%;
	}
	#bl .cate .cate_txt {
    width: 90%;
    margin: 0 auto;
	}
	#bl .read_area .read .letter_spc{
		letter-spacing: 0;
	}
	
}
@media only screen and (min-width: 768px) {
	#bl .profile_area{
		width: 550px;
		margin: 0 auto 10%;
	}
	#bl .profile_area .ig {
    width: 5%;
    }
	#bl .logo {
    width: 21%;
    margin: 8% auto 2%;
	}
	#bl .copy{
	font-size: 10px;
	}	
}

#bl .item_buy{
	display: flex;
    align-items: center;
    width: 100%;
    max-width: 500px;
    margin: 0 0 4%;	
}
#bl .item_buy .product-info {
    font-size: 11px;
    color: #000000;
    white-space: nowrap;
}
#bl .item_buy .spacer {
    flex-grow: 1;
}
#bl .item_buy .buy-btn{
    background-color: transparent;
    border: 1px solid #000;
    font-size: 12px;
    letter-spacing: 0.05em;
    color: #000;
    border-radius: 50% !important;
    padding: 5px 18px !important;
    line-height: 1;
    display: inline-block;
}
@media only screen and (min-width: 768px) {
	#bl .item_buy .buy-btn{
    font-size: 11px;
	}
	
}
/*////////////Switch to Chic/////////////*/
.beige-section{
	background-color: #e5e2d3;
	position: relative; /* 👈これを入れることで z-index が動くようになります！ */
  	z-index: 9999 !important; /* 👈絶対に一番上に重ねる強制命令 */
}
/* 矢印全体のボックス（初期状態は透明にしておく） */
.scroll-arrow-box {
  text-align: center;
  font-size: 14px;
  letter-spacing: 0.05em;
  /*margin-top: 40px; リストとの間隔 */
  
  /* 最初は非表示（透明） */
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease, visibility 0.4s ease; /* フワッと切り替える */
}

/* to だけ斜体にする場合 */
.scroll-arrow-box p span {
  font-style: italic;
  font-family: serif; /* 好みのフォントに */
}

/* 矢印アイコン部分 */
.arrow-icon {
  margin-top: 10px;
  display: inline-block;
  width: 40px;
  height: 40px;
  line-height: 40px;
  border: 1px solid #000;
  border-radius: 50%;
  font-size: 20px;
  /* ★ふわふわ動くアニメーションを設定 */
  animation: floatArrow 1.5s infinite ease-in-out;
}

/* ★ふわふわ動くアニメーションの正体 */
@keyframes floatArrow {
  0%, 100% {
    transform: translateY(0); /* 元の位置 */
  }
  50% {
    transform: translateY(8px); /* 8px下に下がる */
  }
}
/*////////// PC switch to Chic///////////*/


/* ★真ん中のSWITCHボタンを絶対配置で浮かせる */
  .pc-switch-arrow {
    display: block; /* PC版で表示 */
    position: absolute;
    top: 40%;       /* 上から25%の位置（画像の真ん中に来るように微調整してください） */
    left: 50%;      /* 左から50%（画面の真ん中） */
    transform: translate(-50%, -50%); /* 自身のサイズ分戻して、完全に中央揃えにする */
    z-index: 10;    /* 左右のコンテンツより上に重ねる */
    text-align: center;
    background-color: transparent;
    pointer-events: none; /* 下にある画像などのクリックを邪魔しない設定 */
  }

  .pc-switch-arrow p {
    font-size: 14px;
    letter-spacing: 0.05em;
    white-space: nowrap; /* 文字が途中で改行されるのを防ぐ */
    margin-bottom: 5px;
  }
  
  .pc-switch-arrow p span {
    font-style: italic;
    font-family: serif;
  }

  /* 矢印アイコン（今度は横向きにふわふわ動かす） */
  .arrow-icon-horizontal {
    display: inline-block;
    width: 36px;
    height: 36px;
    line-height: 33px;
    border: 1px solid #000;
    border-radius: 50%;
    font-size: 16px;
    /* background-color: #e5e2d3; 必要に応じてベージュ系の背景色をつけると文字と被っても見やすくなります */
    
    /* ★横向きのふわふわアニメーションを設定 */
    animation: floatArrowHorizontal 1.5s infinite ease-in-out;
  }

  /* ★横向きアニメーションの正体 */
  @keyframes floatArrowHorizontal {
    0%, 100% {
      transform: translateX(0); /* 元の位置 */
    }
    50% {
      transform: translateX(8px); /* 8px右に動く */
    }
  }


/* ★JavaScriptでこのクラスがついたら表示する */
.scroll-arrow-box.is-show {
  opacity: 1;
  visibility: visible;
}
/*********************************************
                js
*********************************************/
#bl .anim {
	opacity: 0;
	transition: 1.5s all 0s;
}
#bl .anim.ac {
	opacity: 1;
	transform: translate(0);
}
/*********************************************
                view
*********************************************/
.spview {
	display: block;
}
.pcview {
	display: none;
}
@media only screen and (min-width: 768px)  {
    .spview {
		display: none;
	}	
	.pcview {
		display: block;
	}
}	
