@charset "UTF-8";
/*======================================================= 
    common用スタイル
=======================================================*/
h2{
    position: relative;
    text-align: center;
    padding-bottom: 0.5em;
    margin-bottom: 1.5em;
}
h2::after{
    position: absolute;
    content: "";
    width: 2.5em;
    height: 2px;
    background-color: #BB171E;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

/* ボタン */
.link-btn-white,
.link-btn-black{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:20px; 
    max-width: 350px;
    width: 100%;
    color: #fff;
    font-weight: bold;
    text-align: center;
    padding: 10px;
    margin-top: 20px;
}
.link-btn-white{
    border: 1px solid #fff;
}
.link-btn-black{
    background-color: #222;
}
.arrow{
  position:relative;
  display: inline-block;
  width:40px;
  height:2px;
  border-radius: 3px;
  background:#BB171E;
}
.arrow::after{
  content:"";
  position:absolute;
  right:0;
  top:-5px;
  width:14px;
  height:14px;
  border-radius: 3px;
  border-top:2px solid #BB171E;
  transform:rotate(45deg);
}

/* fv */
.fv img{
    width: 100%;
}
/* quality */
.quality{
    position: relative;
    background-color: #222;
}
.quality-block {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 30px;
    align-items: center;
}
.quality-block img {
    width: 120%;
    max-width: none;
    transform: translateX(-20%);
}
.quality .link-btn-white{
    margin-left: auto;
}

/* maker */
.maker{
    background-color: #f5f5f5;
    overflow: hidden;
}
.maker-block{
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 20px;
}
.r-maker{
  width: 50vw;
  margin-right: -50vw;
}
.r-maker img{
    width: 100%;
}
.white-box{
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    align-items: center;
    gap: 15px;
    background-color: #fff;
    padding: 15px;
    margin-top: 15px;
}
.white-box img{
    margin: 0 auto;
}
.logo-block{
  position:relative;
  margin: 30px 0;
}
.logo-block::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:calc(50% - 50vw);
  width:calc(50% + 50vw);
  background:#fff;
}
.logo-block img{
    position: relative;
    padding: 30px 0;
}
.maker .link-btn-black{
    margin-left: auto;
}
/* information */
.info{
    background-color: #fff;
}
.info-block{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.info-item{
    background-color: #000;
}
.info-item img{
    width: 100%;
}
.info-content{
    padding: 15px;
}
.info-day{
    font-size: 12px;
}
.info-tit{
    font-size: 14px;
}

/*750px以下*/
@media screen and (max-width: 750px){
    /* quality */
    .quality-block{
        display: block;
    }
    .quality-content p{
        position: relative;
    }
    .quality-block img{
        position: absolute;
        width: 70%;
        transform: translateX(-50%);
        opacity: 0.2;
        bottom: 15px;
    }
    /* maker */
    .maker-block{
        grid-template-columns: 1fr;
    }
    .maker-block .l-maker{
        order: 2;
    }
    .maker-block .r-maker{
        order: 1;
        width: 100vw;
    }
    .logo-block{
        position:relative;
        margin: 20px 0;
    }
    /* info */
    .info-block{
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
    .info-item:first-child{
        grid-column: span 2;
    }
    .info-content{
        padding: 10px;
    }
}

/*480px以下*/
@media screen and (max-width: 480px){
    .quality-block img{
        width: 80%;
    }
}