@charset "utf-8"; /* ==========================================================================
    Typograpgy
  ========================================================================== */
@media only screen and (min-width: 768px) and (max-width: 1600px) {
    html {
        font-size: calc(10 * (100vw / 1600)) !important;
    }
}

@media (max-width: 767px) {
    /* ====== SP ===== */ .bredlist.lp {
        line-height: 5.33333vw;
        font-size: 2.66667vw;
        margin: 3.33333vw auto;
        width: 92.592%;
        text-align: left;
        padding: 0;
    }

    .lp * {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }
}

html {
    font-size: 62.5%;
}

* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

img, video, svg {
    width: 100%;
    height: auto;
}

#Contents {
    max-width: 1600px;
    width: 100%;
    height: auto;
    margin: 0 auto;
    ; margin-bottom: 4.5rem;
}

/* -----------------------------------
basic
----------------------------------- */
/* ====== ALL ===== */
.lp_area {
    width: 100%;
    margin: 0 auto;
    font-family: toppan-bunkyu-mincho-pr6n, toppan-bunkyu-mincho-pr6n, "Noto Serif JP", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif", sans-serif;
    font-weight: 400;
    font-feature-settings: "palt";
    -ms-font-feature-settings: "normal";
    font-style: normal;
    color: #343434;
}

.section .credit a{
    color: #343434;
}

/* ====== SP ===== */
@media only screen and (max-width: 750px) {
    .lp{
        padding-bottom: calc(40 * (100vw / 750));
    }
    .sp_only {
        display: block!important;
    }

    .pc_only {
        display: none;
    }
}

/* ====== PC ===== */
@media only screen and (min-width: 751px) {
    .pc_only {
        display: block!important;
    }

    .sp_only {
        display: none;
    }
}

/*basic*/
.lp_area {
}

.mainVisual {
    text-align: center;
}

.mvTtl {
    font-family: toppan-bunkyu-mincho-pr6n, toppan-bunkyu-mincho-pr6n, "Noto Serif JP", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif", sans-serif;
    font-weight: 400;
    font-feature-settings: "palt";
    line-height: 2;
    letter-spacing: 0.1em;
}

.mvTxt {
    line-height: 2;
    letter-spacing: 0.1em;
}

.mvTxt span {
    display: block
}

@media only screen and (max-width: 750px) {
    .mvTtl {
        margin-top: calc(90 * (100vw / 750));
        font-size: calc(40 * (100vw / 750));
    }

    .mvTxt {
        margin-top: calc(60 * (100vw / 750));
        font-size: calc(22 * (100vw / 750));
    }

    .mvTxt .txt--2 {
        margin-top: calc(41 * (100vw / 750));
    }
}

@media only screen and (min-width: 751px) {
    .mainVisual {
        width: 90.0rem;
        margin: auto;
    }

    .mainVisual .mvTtl {
        margin-top: 6.5rem;
        font-size: 2.8rem;
        line-height: 2;
        letter-spacing: 0.1em;
    }

    .mainVisual .mvTxt {
        margin-top: 4.4rem;
        font-size: 1.4rem;
        line-height: 2;
        letter-spacing: 0.12em;
    }

    .mvTxt span {
        margin-top: 2rem;
    }

    .mainVisual .mvTxt.txt--2 {
        margin-top: 3.0rem;
    }
}

/* section */
.section {
    border-bottom: 1px #cccccc solid;
}

.section .itemArea {
    margin: auto;
}

.section .secTtl {
    position: relative;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.16em;
}

.section .secTtl::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    background: url(../img/SVG/01-txt.svg) center/100% no-repeat;
}

.section .secTxt {
    font-variant: proportional-width;
    word-break: break-all;
    line-height: 2;
    letter-spacing: 0.12em;
}

.section .secTxt span{
    white-space: nowrap;
}

.section .credit {
    line-height: 1;
    letter-spacing: 0.1em;
}

@media only screen and (max-width: 750px) {
    .section {
        margin: calc(111 * (100vw / 750)) auto 0;
        padding-bottom: calc(80 * (100vw / 750));
    }

    .section .itemArea {
        width: calc(648 * (100vw / 750));
    }

    .section .secTtl {
        padding-left: calc(46 * (100vw / 375));
        margin-top: calc(72 * (100vw / 750));
        font-size: calc(32 * (100vw / 750));
    }

    .section .secTtl::before {
        width: calc(50 * (100vw / 750));
        height: calc(40 * (100vw / 750));
    }

    .section .secTxt {
        margin-top: calc(60 * (100vw / 750));
        font-size: calc(22 * (100vw / 750));
    }

    .section .credit {
        margin-top: calc(49 * (100vw / 750));
        font-size: calc(22 * (100vw / 750));
    }

    .section > .imgBox {
        margin: calc(85 * (100vw / 750)) 0 0;
    }
}

@media only screen and (min-width: 751px) {
    .section {
        width: 94.0rem;
        margin: 7.6rem auto 0;
        padding-bottom: 7.7rem;
    }

    .section .itemArea {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: flex-end;
    }

    .section .itemArea .imgBox {
        width: 48.0rem;
    }

    .section .itemArea .aboutTxt {
        width: 40.0rem;
    }

    .section .itemArea .aboutTxt .secTtl {
        padding-left: 7.6rem;
        font-size: 2.8rem;
        line-height: 1.786;
        letter-spacing: 0.16em;
    }

    .section .secTtl::before {
        width: 4.4rem;
        height: 5.0rem;
    }

    .section .secTxt {
        margin-top: 2.4rem;
        font-size: 1.4rem;
    }

    .section .credit {
        margin: 2.3rem 0 4.4rem;
        font-size: 1.2rem;
    }

    .section > .imgBox {
        width: 56.0rem;
        margin: 8.0rem auto 0;
    }
}

/* section 01 */
.section.sec--1 .itemArea {
    flex-direction: row-reverse;
}

.section.sec--1 .secTtl::before {
    background: url(../img/SVG/01-txt.svg) center/100% no-repeat;
}

@media only screen and (max-width: 750px) {
    .section.sec--1 .secTtl::before {
        width: calc(50 * (100vw / 750));
        height: calc(40 * (100vw / 750));
    }
}

/* section 02 */
.section.sec--2 .secTtl::before {
    background: url(../img/SVG/02-txt.svg) center/100% no-repeat;
}

@media only screen and (max-width: 750px) {
    .section:not(.sec--1) {
        margin: calc(83 * (100vw / 750)) auto 0;
    }

    .section.sec--2 .aboutTxt .secTxt {
        letter-spacing: 0.1em;
    }

    .section.sec--2 .secTtl::before {
        width: calc(57 * (100vw / 750));
        height: calc(45 * (100vw / 750));
    }
}

@media only screen and (min-width: 751px) {
    .section:not(.sec--1) {
        margin: 8.2rem auto 0;
    }
    .section.sec--2 .secTtl::before {
        width: 5.2rem;
        height: 5.0rem;
    }
}

/* section 03 */
.section.sec--3 {
    padding-bottom: 8.0rem;
    border: none;
}

.section.sec--3 .itemArea {
    flex-direction: row-reverse;
}

.section.sec--3 .secTtl::before {
    background: url(../img/SVG/03-txt.svg) center/100% no-repeat;
}

@media only screen and (max-width: 750px) {
    .section.sec--3 > .imgBox {
        width: calc(650 * (100vw / 750));
        margin: calc(86 * (100vw / 750)) auto 0;
    }
    .section.sec--3 .secTtl::before {
        width: calc(56 * (100vw / 750));
        height: calc(45 * (100vw / 750));
    }
}

@media only screen and (min-width: 751px) {
    .section.sec--3 {
        padding-bottom: 5rem;
    }
    .section.sec--3 > .imgBox {
        width: 39rem;
        margin: 10.3rem auto 0;
    }
    .section.sec--3 .secTtl::before {
        width: 4.9rem;
        height: 5rem;
    }
}

/* -----------------------------------
viewAll
----------------------------------- */
/* ====== ALL ===== */
.viewAll {
    margin: auto;
}

/* ====== SP ===== */
@media only screen and (max-width: 750px) {
    .viewAll {
        width: calc(570 * (100vw / 750));
        margin: calc(40 * (100vw / 750)) auto 0;
    }
}

/* ====== PC ===== */
@media only screen and (min-width: 751px) {
    .viewAll {
        width: 46.0rem;
        margin: 4.7rem auto 0;
    }
}

/* viewAll */




/* fade */
.fade {
	transition-property: opacity, transform;
	transition-duration: 1.5s;
	opacity: 0;
	transform: translateY(1.5rem);
}

.fade.onView {
	opacity: 1;
	transform: translateY(0);
}
