@charset "UTF-8";
/* CSS Document */

a {
	text-decoration: none;
	color: #000;
}

#ch {
		font-family: "yu-gothic-pr6n", sans-serif;
		font-weight: 400;
		font-style: normal;
		font-size: 12px;
		padding: 0 0 0;
        overflow: hidden;
		margin: 0;
	line-height: 2;
		
	}



#ch ul {
	padding: 0;
	margin: 0;
}

#ch ul li{
	list-style: none;
}

img {
		width: 100%;
}
 
#ch .main_visual{
	line-height: 0;
	position: relative;
}

#ch .main_visual .base{
	background-color: black;  /* カラーフィルタ効果の色を指定 */
}
/*#ch .main_visual .base .bw{
	opacity: 0.6;   
    display: block;
}*/

.main_visual .bw {
    opacity: 0.6;
    display: block;
}
#ch .main_visual .ttl_svg{
	position: absolute;
	width: 25%;
	top: 20%;
	left: 50%;
	transform: translate(-50%, -50%);
}
#ch .main_visual .ttl_txt{
	color: #fff;
	text-align: center;
	position: absolute;
	top: 25%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}
#ch .main_visual .ttl_txt a{
	color: #fff;
}
#ch .main_visual .ttl_vdc{
	position: absolute;
    top: 50%;
    left: 50%;
	transform: translate(-50%, -50%);
	width: 75%;
}
#ch .main_visual .ttl_svg_2{
	position: absolute;
	width: 25%;
	bottom: 27%;
	left: 50%;
	transform: translate(-50%, -50%);
}
#ch .main_visual .ttl_txt_2{
	color: #fff;
	text-align: center;
	position: absolute;
	bottom: 25%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}
#ch .main_visual .ttl_txt_2 a{
	color: #fff;
}
@media only screen and (min-width: 768px)  {
	#ch .main_visual_p{
	line-height: 0;
	/*position: relative;*/
	display: flex;
	width: 100%;
	margin: 0 auto;
	}
	#ch .main_visual_p .child{
	width: 50%;
	position: relative;
	}
	#ch .main_visual_p .base{
		background-color: black;  /* カラーフィルタ効果の色を指定 */
	}
	#ch .main_visual_p .base .bw{
		opacity: 0.6;    /* カラーフィルタ効果の度合いを指定 */
		display: block;
	}
	#ch .main_visual_p .ttl_svg{
	position: absolute;
    width: 18%;
    bottom: 20%;
    left: 50%;
    transform: translate(-50%, -50%);
	}
	#ch .main_visual_p .ttl_txt{
	color: #fff;
    text-align: center;
    position: absolute;
    bottom: 18%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    font-size: 16px;
	}
	#ch .main_visual_p .ttl_svg_2{
	position: absolute;
    width: 18%;
    bottom: 20%;
    left: 50%;
    transform: translate(-50%, -50%);
	}
	#ch .main_visual_p .ttl_txt_2{
	color: #fff;
	text-align: center;
	position: absolute;
	bottom: 18%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	font-size: 16px;
	}
	#ch .main_visual_p .ttl_vdc{
	position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 82%;
	}
}

#ch .caroule{
	width: 45%;
    margin: 15% auto 0;
}
@media only screen and (min-width: 768px)  {
	#ch .caroule {
    width: 27%;
    margin: 15% auto 3%;
	}
}
#ch h3{
	text-align: center;
	color: #7c7358;
	font-size: 15px;
	margin: 0 auto;
}
#ch .shop{
	width: 32%;
    margin: 7% auto;
}

#ch section:nth-of-type(2) .shop{
	width: 39%;
}
#ch .shop_detail{
	text-align: center;
    width: 90%;
    margin: 0 auto;
    letter-spacing: 1px;
}
#ch .item_detail{
	width: 90%;
	margin: 0 auto;
}
#ch .item_detail .menu{
	margin: 5% auto -10px;
}
#ch .item_detail .menu span{
	font-size: 15px;
    font-weight: 600;
    color: #7d7358;
}
#ch .item_detail .menu .item_name{
	font-size: 13px;
    
}

#ch .order_btn_1 {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 90%;
    margin: 7% auto;
    padding: .9em 2em;
    border: none;
    background-color: #7d7358;
    color: #fff;
    /*font-weight: 600;*/
    font-size: 1.2em;
}
#ch .order_btn_2 {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 90%;
    margin: 15% auto 7%;
    padding: .9em 2em;
    border: none;
    background-color: #7d7358;
    color: #fff;
    /*font-weight: 600;*/
    font-size: 1.2em;
}

@media only screen and (min-width: 768px)  {
	#ch .pc_flex{
		display: flex;
        max-width: 1600px;
        margin: 0 auto;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: space-around;
        align-items: flex-start;
        /*padding-bottom: 50px;*/
		
	}
	
	#ch section{
		width: 45%;
		margin: 2% auto;
	}
	#ch .pc_flex .child{
		width: 50%;
	}
	#ch .pc_flex .child .shop_2{
		width: 29%;
        margin: 10% auto 8%;
	}
	#ch .order_btn {
    width: 380px;
	margin: 15% auto 5%;
	}

	#ch .shop {
    width: 23%;
	}
	#ch .item_detail .menu .item_name {
    font-size: 15px;
	}
	#ch .line {
   padding-bottom: 25px;
	}
}
#ch .statement{
	margin: 0 auto;
    text-align: center;
    padding-bottom: 20%;
}
#ch .statement a{
	border-bottom: 1px solid #000;
	padding-bottom: 5px;
	font-size: 10px;
}
#ch .line{
	border-bottom: 1px solid #000;
	padding-bottom: 50px;
}
#ch .footer{
	background-color: #7e7358;
	color: #fff;
	padding-top: 10%;
    padding-bottom: 5%;
	margin: 15% auto 0;
}
#ch .footer .logo{
	width: 37%;
	margin: 0 auto;
	filter: brightness(0) invert(1);
}
#ch .footer .sns{
	display: flex;
    width: 37%;
    font-size: 10px;
    justify-content: space-around;
    flex-direction: row;
    align-items: center;
    flex-wrap: nowrap;
    margin: 2% auto 10%;
}
#ch .footer .copy{
	width: 90%;
	margin: 0 auto;
	font-size: 10px;
	text-align: center;
}
	#ch .item_detail .cookie{
	margin-bottom: 5%;
}
@media only screen and (min-width: 768px)  {
	#ch .footer .logo {
    width: 15%;
    }
	#ch .footer {
    margin: 0% auto 0;
	padding-top: 8%;
    padding-bottom: 2%;
	}
	#ch .footer .sns {
   	width: 22%;
    margin: 2% auto 7%;
	}
	#ch section:nth-of-type(even) .item_detail .menu p{
	line-height: 2.4;
	}
	#ch .item_detail .cookie{
	margin-bottom: 2%;
	}
	#ch .order_btn_1{
    width: 380px;
    margin: 5% auto;
	}
	#ch .order_btn_2{
    width: 380px;
    margin: 27% auto 5%;
	}
	#ch .item_detail .menu p{
	margin: 0 auto;
	}	
}
#ch .footer a{
	color: #FFFFFF;
}
/*//////////////スライダー//////////////*/
/* ==========================================
   共通設定
   ========================================== */
#ch .slider-container {
  max-width: 500px;
  margin: 10% auto 5% auto;
  padding-bottom: 35px;
  position: relative;
}

#ch .swiper-slide img {
  width: 85%; /* 85%に変更 */
  height: auto;
  display: block;
  object-fit: cover;
}


/* ==========================================
   1つ目：右寄せスライダー (.is-right)
   ========================================== */
/* 画像を右寄せ */
#ch .slider-container.is-right .swiper-slide img {
  margin-left: auto;
  margin-right: 0;
}

/* 矢印の位置（右寄せ画像に合わせる：左余白15%） */
#ch .slider-container.is-right .swiper-button-prev {
  left: calc(15% + 5px) !important;
}
#ch .slider-container.is-right .swiper-button-next {
  right: 5px !important;
}

/* ドットの位置（右寄せ画像に合わせる：幅85% / 左15%） */
#ch .slider-container.is-right .swiper-pagination {
  left: 15% !important;
  width: 85% !important;
  bottom: 0 !important;
}


/* ==========================================
   2つ目：左寄せスライダー (.is-left)
   ========================================== */
/* 画像を左寄せ */
#ch .slider-container.is-left .swiper-slide img {
  margin-left: 0;
  margin-right: auto;
}

/* 矢印の位置（左寄せ画像に合わせる：右余白15%） */
#ch .slider-container.is-left .swiper-button-prev {
  left: 5px !important;
}
#ch .slider-container.is-left .swiper-button-next {
  right: calc(15% + 5px) !important;
}

/* ドットの位置（左寄せ画像に合わせる：幅85% / 左0%） */
#ch .slider-container.is-left .swiper-pagination {
  left: 0 !important;
  width: 85% !important;
  bottom: 0 !important;
}
/* --- 矢印の色・影・太さ・サイズの指定 --- */
#ch .swiper-button-next,
#ch .swiper-button-prev {
  color: #ffffff !important; /* 青から白色に変更 */
  filter: drop-shadow(0px 0px 4px rgba(0, 0, 0, 0.6)); /* 影をつけて白をくっきりさせる */
}

/* 矢印のサイズと線の太さ調整 */
#ch .swiper-button-next::after,
#ch .swiper-button-prev::after {
  font-size: 28px !important; /* サイズを縮小 */
  font-weight: 300 !important; /* 線を細く */
}

/* --- ドット（ページネーション）の色指定 --- */
/* 非活性のドット（黒の薄塗り） */
#ch .swiper-pagination-bullet {
  background: #000000 !important;
  opacity: 0.3 !important;
}

/* 選択中の活性化ドット（青から黒に変更） */
#ch .swiper-pagination-bullet-active {
  background: #000000 !important; /* 青色を黒色に変更 */
  opacity: 1 !important;
}
/* ==========================================
   PC版表示（画面幅768px以上）のレスポンシブ設定
   ========================================== */
@media (min-width: 768px) {

  /* 1. スライダー全体の最大幅をPC用に拡張 */
  #ch .slider-container {
    max-width: 650px; /* デザインに合わせて調整してください */
  }

  /* 2. PC版では画像の「左右寄せ」を解除し、枠いっぱいに広げる */
  #ch .slider-container.is-right .swiper-slide img,
  #ch .slider-container.is-left .swiper-slide img {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* 3. 画像を横長に自動トリミング（ここが一番重要） */
  #ch .swiper-slide img {
    aspect-ratio: 4 / 3; /* 横長の縦横比を指定（例: 16/9 や 4/3 などもお好みで） */
    object-fit: cover;    /* 縦長画像を歪ませず、中央で切り抜く */
  }

  /* 4. 画像が100%幅になったため、矢印の位置を画像端（内側）に調整 */
  #ch .slider-container.is-right .swiper-button-prev,
  #ch .slider-container.is-left .swiper-button-prev {
    left: 15px !important;
  }

  #ch .slider-container.is-right .swiper-button-next,
  #ch .slider-container.is-left .swiper-button-next {
    right: 15px !important;
  }

  /* 5. ドットの位置を全体の中央に配置 */
  #ch .slider-container.is-right .swiper-pagination,
  #ch .slider-container.is-left .swiper-pagination {
    left: 0 !important;
    width: 100% !important;
  }
}

#ch .apply {
    text-align: center;
    margin: 12% auto -2%;
    font-size: 10px;
    font-weight: 600;
}
#ch .apply .apply_order{
    font-size: 15px;
    font-weight: 800;
}
#ch .apply .underline{
    border-bottom: 1px solid #000;
    padding-bottom: 5px;
}
@media only screen and (min-width: 768px)  {
	#ch .apply{
		margin: 5% auto -2%;
	}
	#ch .apply .apply_order{
    font-size: 13px;
    }
}
#ch .ig_icon{
	width: 8%;
    margin: 3% auto 0;
}
@media only screen and (min-width: 768px)  {
	#ch .ig_icon {
    width: 2.5%;
    margin: 0 auto 5%;
}
}
/*////pcview////*/
   .spview {
        display: none;
    }    
    .pcview {
        display: block;
    }
@media only screen and (max-width: 768px)  {
   .spview {
        display: block;
    }    
   .pcview {
        display: none;
    }    
}

/*
#by .anim{
		opacity: 0;
		transition: 1.5s all 0s ease;
}

#by .anim.ac{
		opacity:1;
}
*
/
/* 例：CSS側の指定 */
/* --- アニメーション初期状態（非表示） --- */
.anim, .fade {
    opacity: 0;
    /* 1.6秒かけてじっくりと不透明度だけを変化させる */
    transition: opacity 2.6s cubic-bezier(0.25, 1, 0.5, 1);
    will-change: opacity;
}

/* JSで .ac が付与されたら表示 */
.anim.ac, .fade.ac {
    opacity: 1 !important;
}

/* 画像（.bw）の透明度（0.6）の維持 */
.base.anim.ac .bw, .base.fade.ac .bw {
    opacity: 0.6;
}

/* --- 時間差（ディレイ）でさらに上品に --- */
.ttl_svg.anim {
    transition-delay: 0.2s; /* ロゴは少し遅れてじわっと表示 */
}

.ttl_txt.anim {
    transition-delay: 0.4s; /* テキストはさらに遅れて表示 */
}




