
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap');

html{
  font-family: "Zen Maru Gothic", serif;
  font-weight: 400;
  font-style: normal;
}

.logo{
  display: flex;
  align-items: cover;
  justify-content: center;
}

.logo img{
  width: 130px;
}



.mv{
  height: 45vw;
  margin: auto;
  max-height: 950px;
}

.mv img{
    height: 100%;
    width: 100%;
    object-fit: cover; 
}

.head div{
  color: #911010;
}

/*FontAwesomeを使用しています。*/
.header-4 {
  box-sizing: border-box;
  width: 100%;
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1024px;
  height: 60px;
  padding: 0 0.8em;
  margin: 0 auto;
  font-size: 1.2em;
}

.header-nav {
  display: flex;
  align-items: center;
}

.header-nav-item {
  display: flex;
  align-items: center;
  margin-left: 16px;
}

.header-avatar {
    width: 30px;
    height: 25px;
    cursor: pointer;
    border-radius: 50%;
    object-fit: contain;
}

.form2 {
  position: relative;
}

.form2-input {
  box-sizing: border-box;
  width: 200px;
  height: 28px;
  padding: 0 8px 0 30px;
  margin: 5px 0;
  font-size: 12px;
  color: #333;
  border: solid 1px #ccc;
  border-radius: 5px;
  outline: 0;
  transition: 0.3s;
  -webkit-appearance: none;
}

.form2-input:focus {
  border: 1px solid #00b5ad;
}

.form2-button {
  position: absolute;
  top: 0;
  left: 2px;
  box-sizing: content-box;
  width: 30px;
  height: 38px;
  padding: 0;
  font-size: 16px;
  vertical-align: vertical-align;
  pointer-events: none;
  background: inherit;
  border: 0;
  opacity: 0.54;
}

/* よくある質問 */

/* 必須 */
.accordion-content {
  display: none;
}


.accordion-header {
  background-color: #FFF;
  padding: 12px 45px 10px 20px;
  margin: 0px 0 0;
  transition: background .3s ease;
  cursor: pointer;
  position: relative;
}

.accordion-header::before,
.accordion-header::after{
  position:absolute;
  content:'';
  top:1px;
  right:20px;
  bottom:0;
  width:12px;
  height:2px;
  margin:auto;
  background:#151E2F;
}
.accordion-header::after{
  transform:rotate(-90deg);
  transition:transform 0.3s;
}
.accordion-header.active::after{transform:rotate(0deg);}

.accordion-content {
  background-color: #FFF;
  padding: 12px 20px 10px;
}

.accordion-header span{
  position: relative;
  padding-left: 20px;
}

.accordion-header span::before{
  position: absolute;
  content:"Q";
  top: -2px;
  left: 0;
  color: #151E2F;
  font-size: 17px;
}


/* hover */
.accordion-header:hover {
  background-color: #F2F2F2;
}

/* 検索窓 */

.search-form-3 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    overflow: hidden;
    border: 1px solid #777777;
    border-radius: 3px;
}

.search-form-3 input {
    width: 250px;
    height: 45px;
    padding: 5px 15px;
    border: none;
    box-sizing: border-box;
    font-size: 1em;
    outline: none;
}

.search-form-3 input::placeholder{
    color: #777777;
}

.search-form-3 button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 45px;
    border: none;
    background-color: transparent;
    cursor: pointer;
}

.search-form-3 button::after {
    width: 24px;
    height: 24px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.031 16.6168L22.3137 20.8995L20.8995 22.3137L16.6168 18.031C15.0769 19.263 13.124 20 11 20C6.032 20 2 15.968 2 11C2 6.032 6.032 2 11 2C15.968 2 20 6.032 20 11C20 13.124 19.263 15.0769 18.031 16.6168ZM16.0247 15.8748C17.2475 14.6146 18 12.8956 18 11C18 7.1325 14.8675 4 11 4C7.1325 4 4 7.1325 4 11C4 14.8675 7.1325 18 11 18C12.8956 18 14.6146 17.2475 15.8748 16.0247L16.0247 15.8748Z' fill='%23777777'%3E%3C/path%3E%3C/svg%3E");
    background-repeat: no-repeat;
    content: '';
}

/* CTA */
.btn--orange, a.btn--orange {
    color: #fff;
    background-color: #5d2e0d;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 15px;
    padding: 10px;
}

.fa-position-left {
  position: absolute;
  top: calc(50% - .5em);
  left: 1rem;
}

.btn--radius,
a.btn--radius,
button.btn--radius
{
    border-radius: 100vh;
}

/* 検索窓 */

.serch-box{
  margin-right: 30px;
}

.jc-end{
  justify-content: flex-end;
}

section{
  margin-top: 100px;
}

/* メインコンテンツ */

h3{
  font-size: clamp(2.25rem, 2.068rem + 0.91vw, 2.75rem);
  margin-bottom: 10px;
  font-weight: bold;
}

.allploduct-area .ploduct-img{
  border-radius: 10px;
  overflow: hidden;
  /* aspect-ratio: 4 / 3; */
  aspect-ratio: 4 / 6;
}

/* 商品ランキング */

.flex-1{
  flex: 1;
}

.flex-2{
  flex: 2;
}

.ranking-area .info-content{
  background-color: #f8f5f3;
}

.ranking-area .ploduct-img{
  width: 100%;
  height: 100%;
}

.ranking-area .ploduct-img img{
    height: 100%;
    object-fit: cover;
}

.ploduct-name{
  font-weight: bold;
  font-size: 20px;
  margin-bottom: 10px;
}

.allploduct-area .ploduct-name{
  font-weight: bold;
  font-size: 20px;
  margin-bottom: 10px;
  height: 50px;
}

.ranking {
  counter-reset: rank;
  display: flex;
}
 
.ranking li {
  position: relative;
  margin: 0 auto;
  width: 31%;
}
 
/* .ranking li:not(:last-child) {
  margin-bottom: 10px;
} */

.ranking li:nth-child(-n + 3)::before { /* 王冠のスタイル */
  font-family: "Font Awesome 5 Free";
  content: "\f521";
  font-weight: 900;
  position: absolute;
  top: -45px; /* 王冠の位置（縦軸） */
  left: -20px; /* 王冠の位置（横軸） */
  font-size: 40px; /* 王冠の大きさ */
}
 
.ranking li:nth-child(1)::before { /* 1位（王冠）のスタイル */
  color: #e6c300;
}
 
.ranking li:nth-child(2)::before { /* 2位（王冠）のスタイル */
  color: #a9a9a9;
}
 
.ranking li:nth-child(3)::before { /* 3位（王冠）のスタイル */
  color: #815a2b;
}
 
.ranking li:nth-child(n + 4)::before { /* 3位以下のスタイル */
  content: "";
  position: absolute;
  border-bottom: 100px solid transparent;
  border-left: 100px solid rgba(0,0,0,0.8);
}
 
/* .ranking li::after { 順位（文字）のスタイル
  counter-increment: rank;
  content: counter(rank) " 位";
  position: absolute;
  top: 10px;
  left: 10px;
  font-size: 1.2em;
  color: #fff;
}
  */
.ranking img { /* 画像のスタイル */
  width: 350px;
  height: 200px;
  object-fit: cover;
}

.border-1{
  border: 1px solid;
} 

.allploduct-area{
    background-image: url('/upload/tenant_1/AdobeStock_1025827562 (1).jpeg');
    background-color: rgba(255, 255, 255, 0.9);
    background-blend-mode: lighten;
    padding-top: 50px;
    background-size: cover;
    background-repeat: no-repeat;
}

/* footer */

footer{
  background: #f8f5f3;
}

footer ul li{
  color: #333;
}

.c-333{
  color: #333;
}

.flex-3{
  flex: 3;
}

.flex-1{
  flex: 1;
}

@media screen and (min-width:600px) and (max-width:1024px) {
  .ranking-area .ranking li{
    width: 95%;
    margin: auto;
  }
}

.pink-bg{
  background: #fffbf8;
    padding-top: 50px;
    padding-bottom: 50px;
    margin-top: 0px;
}

.buy-btn{
  background: #bb1414;
    color: #fff;
    width: 30%;
    display: block;
    border-radius: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    margin-top: 10px;
    font-weight: bold;
}

.ploduct-detail{
  color: #a7a7a7;
}
 

@media screen and (max-width:599px) {
  
.ranking{
  row-gap: 50px;
  display: flex;
  flex-direction: column;
}


.ranking li {
  width: 90%;
  flex-direction: column;
  margin-right: auto;
  margin-left: auto;
}
 
 .ranking li img{
   width: 100%;
 }
 
 footer .up-d-flex{
   flex-direction: column;
 }
 
 .buy-btn {
    width: 60%;
    height: 30px;
}

.ranking-area .buy-btn {
  margin: auto;
}

.buy-btn a{
  font-size: 12px;
}
 
}

.qa-area{
  margin-top: 50px;
}

.wave {
  position: absolute;
  height: 70px;
  width: 100%;
  background: #2c3e50;
  bottom: 0;
}

.wave::before, .wave::after {
  content: "";
  display: block;
  position: absolute;
  border-radius: 100% 50%;
}

.wave::before {
  width: 55%;
  height: 109%;
  background-color: #fff;
  right: -1.5%;
  top: 60%;
}
.wave::after {
  width: 55%;
  height: 100%;
  background-color: #2c3e50;
  left: -1.5%;
  top: 40%;
}

.curve{
    position: relative;
    background: #fffbf8;
    height: 10vh;
    border-bottom-left-radius: 20% 150%;
    border-bottom-right-radius: 20% 150%;
}

@media screen and (max-width:599px) {
 .allploduct-area{
   margin-top: 0px;
 }
 
 .ploduct-name {
    font-size: 16px;
}

.allploduct-area .ploduct-name{
  height: 50px;
  font-size: 18px;
}

.logo img{
  width: 90px;
}

.header-avatar {
    width: 25px;
    height: 40px;
    cursor: pointer;
    border-radius: 50%;
    object-fit: contain;
}

}
