@charset "utf-8";
.al-center {
  width: 92%;
  text-align: center;
  margin: 0 auto 10%;
}
.main-wrap {
  position: relative;
}
.main-catch {
  position: absolute;
  top: 10px;
  left: 5%;
}
.top-btn {
  position: absolute;
  bottom: 5%;
  right: 2.5%;
  width: 25%;
}
.photobox {
  display: flex;
  justify-content: space-around;
  align-items: flex-start;
}
.left-photo, .right-photo {
  width: 48.5%;
}
figure {
  margin: 0;
}
.point {
  background: #F8F5E8;
  padding: 5% 10%;
  text-align: center;
}
.point strong {
  color: #CEA82E;
}
#hinohikari .item-detail ul {
  list-style: none;
}
.last-image img, .kome-photo img {
  object-fit: cover;
  object-position: center bottom;
  height: 50vh;
  width: 100%;
}
.gennou {
  position: relative;
  height: 60vh;
}
.gennou .bg-white {
  width: 85%;
  background: rgb(255, 255, 255, .75);
  position: absolute;
  top: 5%;
  padding: 2.5% 8%;
  text-align: center;
  z-index: 10;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  box-sizing: border-box;
}
.gennou .bg-image {
  position: absolute;
  top: 0;
  z-index: 0;
  width: 100%;
}
/*
----------------------------------------------------------- */
@media(min-width: 961px) {
  .only-sp {
    display: none;
  }
  img {
    max-width: 100%;
  }
  .main-catch {
    top: 12%
  }
  .top-image img {
    object-fit: cover;
    object-position: center 25%;
    height: 70vh;
    width: 100%;
    overflow: hidden;
  }
  .small-box, .photobox.cart-box {
    max-width: 1260px;
    margin: 0 auto 8vh;
    width: 75%;
  }
  .top-btn {
    width: 20%;
    right: 5%;
  }
  .top-btn img {
    width: 80%
  }
  .scene01 {
    width: 60%;
  }
  .photobox {
    justify-content: space-between;
    align-items: baseline;
  }
  .small-box {
    position: relative;
  }
  .right-photo.cart-btn.only-pc {
    width: 20%;
    position: absolute;
    right: -15%;
    bottom: 0;
  }
  .scene-photo {
    display: flex;
    align-items: stretch;
    gap: 0;
    height: 60vh;
  }
  .scene-photo > * {
    min-width: 0;
  }
  /* 左の写真（高さ100%で固定） */
  .center-photo {
    flex: 0 0 58%; /* 左右比率：調整OK */
    height: 100%;
  }
  .center-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
  }
  /* 右側の2枚：上下で左の高さを半分ずつ分ける */
  .scene-photo .stack {
    flex: 0 0 42%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    gap: 0;
	margin-bottom:5%;
  }
  .scene-photo .stack figure {
    flex: 1 1 50%; /* ← 左写真の高さの半分ずつ確保 */
    overflow: hidden;
	margin-bottom: 0;
  }
  .scene-photo .stack img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* トリミングしてちょうど収める */
    object-position: center;
    display: block;
  }
  .stack figure:first-child img {
    object-position: center 15%;
  }
  .stack figure:last-child img {
    object-position: center 70%;
  }
	#hinohikari .box03 .small-box{margin-top: 5%;}	
	
  .producer.small-box {
    margin-top: -15%;
    z-index: -5;
  }
  .producer .center-photo {
    margin-bottom: 2%;
  }
  .producer .al-center {
    width: 100%;
  }
  .souko-box {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
  }
  .souko-box .cont-box {
    position: relative;
    margin-bottom: 5%;
    width: 40%;
  }
  .souko-box .cont-box .left-photo {
    width: 100%;
    height: 75vh;
    overflow: hidden;
  }
  .souko-box .cont-box h2 {
    position: absolute;
    top: 3%;
    right: -25%;
    background: rgb(255, 255, 255, 0.8);
  }
  .souko-box .bg-white {
    background: rgb(255, 255, 255, .75);
    position: absolute;
    bottom: 0;
    width: 100%;
    padding: 2.5%;
    text-align: center;
    box-sizing: border-box;
  }
  .yamaai {
    width: 55%;
  }
.gift-box {
  display: flex;
  justify-content: space-between;
}
.gift-box .left-gift {
  width: 52%;
}
.gift-box .right-gift {
  width: 43%;
}
#hinohikari .item-detail {
  display: flex;
  align-items: center;
  justify-content: space-between;
	border: none;
}
#hinohikari .item-detail ul {
  border-top: double 5px #B9B7B7;
  border-bottom: double 5px #B9B7B7;
  padding: 5%;
  margin-bottom: 5%;
  width: 65%;
}
#hinohikari .item-detail .al-center.cart-btn {
  width: 35%;
}
.gift-box .al-center {
  margin-bottom: 1.5%;
}
	.point{padding: 2.5% 6.5%;}
.kome-photo img {
  height: 40vh;
  object-position: center 65%;
}
.gennou {
  width: 58%;
  max-width: 1000px;
  margin: 0 auto 5%;
  height: 56.8vw;
}
.gennou .bg-white {
  width: 92%;
  padding: 2.5% 2.5% 5%;
  top: auto;
  bottom: 0;
}
  .laxt-box{
    display: grid;
    grid-template-columns: 45% 1fr; /* 画像:テキストの比率はお好みで */
    column-gap: 4%;
    align-items: start;             /* 上揃え */
	  margin-bottom: 10%;
  }

  /* 行を明示：右カラムは 上=テキスト、下=価格 */
  .last-text   { grid-column: 2; grid-row: 1; text-align: center;padding-top: 5%;}
  #hinohikari .item-detail { grid-column: 2; grid-row: 2; }

  /* 左の画像は2行ぶち抜き（高さに関わらず右の上下2段と揃う） */
  .last-image  { grid-column: 1; grid-row: 1 / span 2; }

  .last-image img{
    display:block;
    width:100%;
    height:auto;
  }
	#hinohikari .laxt-box .item-detail ul{width: 50%;}
	#hinohikari .laxt-box .item-detail .al-center.cart-btn{width:30%;margin: 0;}
}

#hinohikari .pac{width: 80%;}

/*
タブレットのみ
----------------------------------------------------------- */
@media(max-width:960px) and (min-width: 641px) {}
/*
スマホのみ
----------------------------------------------------------- */
@media(max-width:640px) and (min-width: 320px) {
  .only-sp {
    display: block;
  }
  .only-pc {
    display: none;
  }
  img {
    max-width: 100%;
  }
  .main-wrap {
    position: relative;
  }
  .main-catch {
    position: absolute;
    top: 10px;
    left: 5%;
  }
  .top-btn {
    position: absolute;
    bottom: 5%;
    right: 2.5%;
    width: 25%;
  }
  .photobox {
    display: flex;
    justify-content: space-around;
    align-items: flex-start;
  }
  .left-photo, .right-photo {
    width: 48.5%;
  }
  .box03 .photobox {
    z-index: 100;
    position: relative;
  }
  .box03 .left-photo, .box03 .right-photo {
    width: 50%;
  }
  .box03 .cart-box .left-photo {
    width: 58%;
  }
  .box03 .right-photo.cart-btn {
    width: 40%;
  }
  .box03 .right-photo.cart-btn img {
    width: 70%;
    margin-left: 20%;
  }
  .scene-photo.mg-top {
    margin-top: -7%;
  }
  .souko-box .cont-box {
    position: relative;
    margin-bottom: 30%;
  }
  .souko-box .cont-box .left-photo {
    width: 70%;
  }
  .souko-box .cont-box h2 {
    position: absolute;
    top: 3%;
    left: 45%;
    background: rgb(255, 255, 255, 0.8);
  }
  .souko-box .bg-white {
    background: rgb(255, 255, 255, .75);
    position: absolute;
    top: 70%;
    padding: 2.5% 10%;
    text-align: center;
  }
  .only-sp.cart-btn {
    width: 30%;
    margin: 0 5% 0 auto;
  }
  .gift-box .pac {
    width: 90%;
    margin: 0 auto 10%;
  }
  #hinohikari .item-detail {
    border-top: double 5px #B9B7B7;
    border-bottom: double 5px #B9B7B7;
    padding: 5%;
    margin-bottom: 10%;
	  width: 100%;
	  font-weight: bold;
	  font-size: 110%;
  }
  #hinohikari .item-detail .cart-btn {
    width: 40%;
    margin-bottom: 0
  }
  .laxt-box {
    width: 90%;
    margin: 0 auto;
  }.scene-photo .stack figure
  .scene-photo {
    display: block;
  }
  .scene-photo .center-photo {
    margin-bottom: 10px;
  }
  .scene-photo .stack {
    display: grid;
    grid-template-columns: 1fr 1fr; /* 下2枚を横並び */
    grid-template-rows: none;
    gap: 8px;
  }
  .scene-photo .stack figure {
    aspect-ratio: 4 / 3; /* 横長タイル */
  }
  .scene-photo .stack img {
    height: 100%;
    object-fit: cover;
  }
}