﻿@font-face {
	font-family: 'Bellarina';
	src: url(../font/Bellarina.otf);
}
@font-face {
	font-family: 'Gallient';
	src: url(../font/Gallient.ttf);
}
/* ---------------------------------------------- */
/* å…±é€š */
/* ---------------------------------------------- */
/* base */
.mainArea img{
    width: 100%;
    height: auto;
}
.mainArea span{
    display: block;
}
/* font */
.mvleadTxt{
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic", "メイリオ", sans-serif;
    line-height: 2.154;
    letter-spacing: 0.05em;
}
.titleTxt{
    display: flex;
    align-items: flex-end;
    justify-content: center;
    font-family: Gallient, sans-serif;
    line-height: 1.214;
    letter-spacing: 0.13em;
    color: #ce8791;
    text-shadow: 0 0 0.5px #ce8791;
}
.productTxt,
.productTxt .en,
.productTxt .credit{
    font-family: pragmatica, sans-serif;
    font-style: normal;
    font-weight: 400;
    letter-spacing: 0.05em;
}
.productTxt .jp{
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic", "メイリオ", sans-serif;
    font-feature-settings: "palt";
    letter-spacing: 0.05em;
}
.leadTxt{
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic", "メイリオ", sans-serif;
}
.leadTxt span{

}

/* mainVisual */
.mainVisual{
    text-align: center;
}

/* sec */
.section .titleTxt.line{
    position: relative;
}
.section .titleTxt.line::before{
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%);
    max-width: 1200px;
    width: 100vw;
    height: 1px;
    background-color: #ce8791;
    z-index: -1;
}
.section .productTxt {
    text-align: center;
}
.section .productTxt .num{
    position: relative;
}
.section .productTxt .num::before{
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    height: 1px;
    background-color: #000;
}
.section.--1 .itemBox.--2 {
    flex-direction: column;
}
.itemBox.--5 .leadTxt,
.itemBox.--6 .leadTxt,
.itemBox.--7 .leadTxt,
.section.--5,
.itemGrid span,
.info{
    text-align: center;
}
/* sec02 */
.itemGrid {
    display: grid;
    justify-content: center;
    align-items: start;
    grid-template-columns: 1fr 1fr 1fr;
}
/* info */
/* ---------------------------------------------- */
/* sp */
/* ---------------------------------------------- */
@media screen and (max-width: 767px) {
    .spOnly{
        display: block;
    }
    .pcOnly{
        display: none;
    }
    .news-detail{
        padding: 0 0 !important;
    }

    /* img */
    .mainVisual .imgBox{
        width: 100%;
    }
    .img-0101{
        width: calc(710 * (100vw / 750));
    }
    .img-0102{
        width: calc(690 * (100vw / 750));
    }
    .img-0103,
    .img-0104,
    .img-0201,
    .img-0301,
    .img-0401{
        width: calc(650 * (100vw / 750));
    }
    .itemGrid .item{
        font-size: calc(25 * (100vw / 750));
    }
    .itemGrid .item span{
        width: calc(225 * (100vw / 750));
    }
    .img-0501{
        width: calc(450 * (100vw / 750));
    }
    
    /* mainVisual */
    .mainVisual {
        margin-bottom: calc(130 * (100vw / 750));
    }
    .mainVisual .imgBox{
        margin-bottom: calc(130 * (100vw / 750));
    }
    .mainVisual .mvleadTxt{
        margin-bottom: calc(34 * (100vw / 750));
        white-space: nowrap;
        font-size: calc(24 * (100vw / 750));
        line-height: 2.2;
        font-feature-settings: "palt";
    }
    .mainVisual .mvleadTxt.--2{
        margin-bottom: calc(81 * (100vw / 750));
    }
    .titleTxt{
        font-size: calc(54 * (100vw / 750));
        line-height: 1.056;
    }
    .titleTxt img{
        height: calc(51 * (100vw / 750));
    }
    .mainVisual .titleTxt{
        margin-bottom: calc(45 * (100vw / 750));
    }
    
    /* sec */
    .section{
        margin-bottom: calc(182 * (100vw / 750));
    }
    .section .titleTxt.line{
        position: relative;
        font-size: calc(49 * (100vw / 750));
    }
    .section .titleTxt.line{
        width: fit-content;
        margin: 0 auto calc(70 * (100vw / 750));
        padding: 0 calc(15 * (100vw / 750));
        background-color: #fff;
    }
    .smlTxt{
        font-size: calc(27 * (100vw / 750));
        transform: translateY(calc(-7 * (100vw / 750)));
        margin: 0 calc(4 * (100vw / 750)) 0 calc(4 * (100vw / 750));
    }
    .section .productTxt .num{
        font-size: calc(38 * (100vw / 750));
        margin-bottom: calc(35 * (100vw / 750));
        padding-bottom: calc(10 * (100vw / 750));
    }
    .section .productTxt .num::before{
        width: calc(40 * (100vw / 750));
    }
    .section .productTxt .en{
        font-size: calc(44 * (100vw / 750));
        margin-bottom: calc(30 * (100vw / 750));
    }
    .section .productTxt .jp{
        font-size: calc(30 * (100vw / 750));
        margin-bottom: calc(30 * (100vw / 750));
    }
    .section .productTxt .credit{
        font-size: calc(28 * (100vw / 750));
        margin-bottom: calc(74 * (100vw / 750));
    }
    .itemBox .leadTxt{
        font-size: calc(24 * (100vw / 750));
        line-height: 2.2;
        font-feature-settings: "palt";
        letter-spacing: 0.05em;
    }
    .itemBox.--1 .leadTxt{
        text-align: justify;
        width: calc(560 * (100vw / 750));
        margin: 0 calc(40 * (100vw / 750)) calc(118 * (100vw / 750)) auto;
    }
    .img-0101{
        margin: 0 0 calc(45 * (100vw / 750)) auto;
    }
    .itemBox.--2 .leadTxt{
        text-align: justify;
        width: calc(600 * (100vw / 750));
        margin: 0 auto calc(155 * (100vw / 750)) calc(40 * (100vw / 750));
    }
    .img-0102{
        margin: 0 0 calc(40 * (100vw / 750)) calc(40 * (100vw / 750));
    }
    .img-0103{
        margin: calc(-50 * (100vw / 750)) 0 calc(48 * (100vw / 750)) calc(75 * (100vw / 750));
    }
    .itemBox.--3 .leadTxt,
    .itemBox.--4 .leadTxt{
        text-align: center;
        margin-bottom: calc(159 * (100vw / 750));
    }
    .img-0104{
        margin: calc(-54 * (100vw / 750)) 0 calc(49 * (100vw / 750)) calc(25 * (100vw / 750));
    }
    .section.--1 .secWrap:last-of-type .productTxt .en{
        line-height: 1.286;
    }
    
    /* sec02 */
    .section.--2 .productTxt .en{
    margin-bottom: calc(19 * (100vw / 750));
    line-height: 1.3;
    }
    .img-0201{
        margin: 0 0 calc(60 * (100vw / 750)) calc(75 * (100vw / 750));
    }
    .itemGrid{
        width: calc(675 * (100vw / 750));
        margin: 0 auto calc(45 * (100vw / 750));
    }
    .itemGrid img{
        margin-bottom: calc(30 * (100vw / 750));
    }
    /* sec03 */
    .section.--3{
        margin-bottom: calc(189 * (100vw / 750));
    }
    .img-0301{
        margin: 0 0 calc(45 * (100vw / 750)) calc(25 * (100vw / 750));
    }
    /* sec04 */
    .section.--4 {
        margin-bottom: calc(192 * (100vw / 750));
    }
    .img-0401{
        margin: 0 0 calc(45 * (100vw / 750)) calc(75 * (100vw / 750));
    }
    /* sec05 */
    .itemBox.--7 .leadTxt{
        margin-bottom: calc(50 * (100vw / 750));
        line-height: 2.2;
        font-feature-settings: "palt";
        letter-spacing: 0.05em;
    }
    .img-0501{
        margin: 0 auto calc(120 * (100vw / 750));
    }
    .section.--5 .titleTxt.line{
        margin: 0 auto calc(55 * (100vw / 750));
    }
    .section.--5{
        margin: 0 auto calc(0 * (100vw / 750));
    }
    /* info */
    .info .txt.--1{
        font-size: calc(30 * (100vw / 750));
        margin-bottom: calc(35 * (100vw / 750));
        line-height: 1;
        font-feature-settings: "palt";
        letter-spacing: 0.05em;
    }
    .info .txt.--2{
        font-size: calc(24 * (100vw / 750));
        line-height: 2.2;
        font-feature-settings: "palt";
        letter-spacing: 0.05em;
        margin-bottom: calc(93 * (100vw / 750));
    }
    .info .txt.--3{
        font-size: calc(27 * (100vw / 750));
        line-height: 2.2;
        font-feature-settings: "palt";
        letter-spacing: 0.05em;
        margin-bottom: calc(120 * (100vw / 750));
    }
}


/* ---------------------------------------------- */
/* pc */
/* ---------------------------------------------- */
@media screen and (min-width: 768px) {
    .spOnly{
        display: none;
    }
    .pcOnly{
        display: block;
    }
    /* img */
    .mainVisual .imgBox{
        width: 100%;
    }
    .img-0101{
        width: 71.0rem;
    }
    .img-0102{
        width: 69.0rem;
    }
    .img-0103,
    .img-0104,
    .img-0201,
    .img-0301,
    .img-0401{
        width: 65.0rem;
    }
    .itemGrid .item{
        width: 22.5rem;
    }
    .img-0501{
        width: 45.0rem;
    }
    
    /* img */
    .mainVisual .imgBox{
        width: 98rem;
    }
    .img-0101,
    .img-0102{
        width: 49.0rem;
    }
    .img-0103,
    .img-0104,
    .img-0401{
        width: 50.0rem;
        margin: 0 auto 3.3rem;
    }
    .img-0201,
    .img-0301{
        width: 46.0rem;
    }
    .itemGrid .item{
        width: 18.0rem;
    }
    .img-0501{
        width: 26.0rem;
    }
    
    /* mainVisual */
    .mainVisual {
        margin-bottom: 8.6rem;
    }
    .mainVisual .imgBox{
        margin: 0 auto 8.3rem;
    }
    .mainVisual .mvleadTxt{
        margin-bottom: 1.7rem;
        white-space: nowrap;
        font-size: 1.3rem;
        line-height: 2.2;
        font-feature-settings: "palt";
    }
    .mainVisual .mvleadTxt.--2{
        margin-bottom: 5.5rem;
    }
    .titleTxt{
        font-size: 2.8rem;
        line-height: 1.063;
        margin: auto;
    }
    .mainVisual .titleTxt{
        width: 26rem;
        margin-bottom: 2.3rem;
    }
    
    /* sec */
    .section{
        margin-bottom: 13.8rem;
    }
    .section .titleTxt.line{
        width: fit-content;
        height: 2.5rem;
        margin: 0 auto 4rem;
        padding: 0 1.5rem;
        letter-spacing: 0.13em;
        background-color: #fff;
    }
    .section .titleTxt.line img{
    height: 3rem;
    width: auto;
    }
    .section .titleTxt.line span{
        font-size: 1.6rem;
        letter-spacing: 0.1em;
        padding: 0 1rem 0 0.4rem;
    }
    .section .productTxt .num{
        font-size: 2.2rem;
        margin-bottom: 2rem;
        padding-bottom: 0.5rem;
    }
    .section .productTxt .num::before{
        width: 2.0rem;
    }
    .section .productTxt .en{
        font-size: 2.6rem;
        margin-bottom: 1.5rem;
    }
    .section .productTxt .jp{
        font-size: 1.7rem;
        margin-bottom: 1.5rem;
        letter-spacing: 0.05em;
        font-feature-settings: "palt";
    }
    .section .productTxt .credit{
        font-size: 1.5rem;
        margin-bottom: 4rem;
    }
    .section.--1 .itemBox.--1 {
        display: flex;
        flex-wrap: nowrap;
        justify-content: flex-start;
    }
    .itemBox .leadTxt{
        font-feature-settings: "palt";
        font-size: 1.3rem;
        line-height: 2.2;
        letter-spacing: 0.05em;
    }
    .itemBox.--1 .leadTxt{
        text-align: justify;
        width: 30.0rem;
        margin: 9.5rem 0 12.0rem 6rem;
    }
    .img-0101{
        margin: 0 0 6.0rem 5rem;
    }
    .itemBox.--2 .leadTxt{
        text-align: justify;
        width: 40rem;
        margin: 0 14rem 9.5rem auto;
    }
    .img-0102{
        margin: -33rem 5rem 3.5rem auto;
    }
    .img-0103{
        transform: translateX(5rem);
        margin: 0 auto 3.5rem;
    }
    .itemBox.--3 .leadTxt{
        text-align: center;
        margin-bottom: 9.5rem;
    }
    .itemBox.--4 .leadTxt{
        text-align: center;
    }
    .img-0104{
        transform: translateX(-5rem);
    }
    
    /* sec02 */
    .img-0201{
        transform: translateX(3rem);
        margin: 0 auto 4.2rem;
    }
    .itemGrid{
        gap: 2rem;
        width: 58rem;
        margin: 0 auto 3.2rem;
    }
    .itemGrid img{
        margin-bottom: 1.5rem;
    }
    .itemGrid span{
    font-size: 1.4rem;
    }
    /* sec03 */
    .img-0301{
        transform: translateX(-3rem);
        margin: 0 auto 3.5rem;
    }
    /* sec04 */
    .img-0401{
        transform: translateX(5rem);
        margin: 0 auto 3.5rem;
    }
    /* sec05 */
    .section.--5{
        margin-bottom: 7rem;
    }
    .section.--5 .titleTxt.line{
        margin: 0 auto 3.5rem;
    }
    .itemBox.--7 .leadTxt{
        margin-bottom: 3.4rem;
    }
    .img-0501{
        margin: 0 auto 0;
    }
    /* info */
    .info .txt.--1{
        font-size: 1.7rem;
        margin-bottom: 1.8rem;
        font-feature-settings: "palt";
        letter-spacing: 0.05em;
    }
    .info .txt.--2{
        font-size: 1.3rem;
        line-height: 2.2;
        margin-bottom: 4.4rem;
        font-feature-settings: "palt";
        letter-spacing: 0.05em;
    }
    .info .txt.--3{
        font-size: 1.5rem;
        line-height: 2.2;
        font-feature-settings: "palt";
        letter-spacing: 0.05em;
    }
}