@charset "UTF-8";


/* base
---------------------------------------- */

body {
    font-family: 'Barlow', 'Damion', 'Noto Sans JP', sans-serif;
    font-size: 62.5%;
    background: #fff;
    text-align: center;
    overflow-x: hidden;
    color: #291615;
}

p,
dt,
dd {
    font-size: 1.6rem;
    text-align: justify;
}

dt {
    font-weight: bold;
}

@media screen and (max-width: 979px) {
    body {
        font-size: 1.4vw;
    }

    p,
    dt,
    dd {
        font-size: 1.4vw;
    }
}

@media screen and (max-width: 767px) {
    body {
        font-size: 3.2vw;
    }

    p,
    dt,
    dd {
        font-size: 3.2vw;
    }
}

.pcHide {
    display: none;
}

.spHide {
    display: block;
}


@media screen and (max-width: 767px) {
    .pcHide {
        display: block;
    }

    .spHide {
        display: none;
    }

    .contents {
        max-width: 100vw;
        filter: none;
    }
}

@media screen and (max-width: 979px) {
    .conMain {
        max-width: 100vw;
    }

    .conMain .mainInner {
        width: 100vw;
    }
}

/*　header
-------------------------------------------------------*/

header {
    background: url(../img/bg_lattice.png);
}

header .headerInner {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    max-width: 98rem;
    width: 100%;
    height: 10rem;
    margin: 0 auto;
}

header .headerInner .nav {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    width: 64rem;
}

header .headerInner .nav li a {
    font-size: 1.5rem;
    font-weight: bold;
}

header .headerInner img {
    margin-right: auto;
}

header .headerInner .nav .navBtn {
    width: 14rem;
    height: 4rem;
    background: #ffd144;
    border-radius: 5rem;
}

header .headerInner .nav .navBtn a {
    display: block;
    width: 100%;
    height: 100%;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 4rem;
}

@media screen and (max-width: 1400px) {

    header .headerInner {
        width: 70vw;
        height: 8vw;
        margin: 0 auto;
    }

    header .headerInner .nav {
        width: 50vw;
    }

    header .headerInner .nav li a {
        font-size: 1.2vw;
    }

    header .headerInner img {
        width: 12vw;
    }

    header .headerInner .nav .navBtn {
        width: 14vw;
        height: 3.6vw;
        border-radius: 6vw;
    }

    header .headerInner .nav .navBtn a {
        font-size: 1.4vw;
        line-height: 3.8vw;
    }
}

@media screen and (max-width: 979px) {

    header .headerInner {
        width: 72vw;
        height: 8vw;
        margin: 0 auto;
    }

    header .headerInner .nav {
        width: 50vw;
    }

    header .headerInner .nav li a {
        font-size: 1.2vw;
    }

    header .headerInner img {
        width: 14vw;
    }

    header .headerInner .nav .navBtn {
        width: 12vw;
        height: 3.6vw;
        border-radius: 6vw;
    }

    header .headerInner .nav .navBtn a {
        font-size: 1.4vw;
        line-height: 3.8vw;
    }
}

@media screen and (max-width: 767px) {
    header .headerInner {
        max-width: 100vw;
        width: 94vw;
        height: 20vw;
        margin: 0 auto;
    }

    header .headerInner a img {
        width: 32vw;
    }

    header .headerInner .navBtn {
        width: 34vw;
        height: 12vw;
        background: #ffd144;
        border-radius: 6vw;
    }

    header .headerInner .navBtn a {
        font-size: 3vw;
        font-weight: bold;
        line-height: 12vw;
    }
}



/*　main_visual
-------------------------------------------------------*/

.mainVisual {
    background: url(../img/bg_lattice.png);
}

.mainVisual .mainInner {
    max-width: 1440px;
    width: 100%;
    margin: 0 auto;
}

@media screen and (max-width: 979px) {
    .mainVisual {
        width: 100vw;
    }

    .mainVisual .mainInner {
        max-width: 100vw;
        width: 100vw;
    }
}


/*　contents
-------------------------------------------------------*/

.contents {
    width: 100%;
}

.contents .conInner {
    max-width: 1000px;
    margin: 0 auto;
    padding: 6rem 0;
}

.contents h3 img {
    width: auto;
    margin-bottom: 3.5rem;
}

@media screen and (max-width: 979px) {
    .contents {
        width: 100vw;
    }

    .contents .conInner {
        max-width: 90vw;
        margin: 0 auto;
        padding: 4vw 0;
    }

    .contents h3 img {
        width: 30vw;
        margin-bottom: 2vw;
    }
}

@media screen and (max-width: 767px) {
    .contents .conInner {
        max-width: 90vw;
        margin: 0 auto;
        padding: 10vw 0;
    }

    .contents h3 img {
        width: 55vw;
        margin-bottom: 3.6vw;
    }
}

#sec01 {
    background: url(../img/bg_lattice.png);
}

#sec01 .conInner {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

#sec01 .conInner .article {
    width: 64rem;
    padding: 3rem 0;
    border-top: 1px solid #bfbfbf;
    border-bottom: 1px solid #bfbfbf;
    text-align: left;
}

#sec01 .conInner .article .date {
    font-family: 'Damion';
    font-size: 2rem;
    font-weight: bold;
    color: #db6128;
}

#sec01 .conInner .article .title {
    padding-bottom: 2rem;
    font-size: 2rem;
    font-weight: bold;
}

#sec01 .conInner .article .text {
    font-size: 1.4rem;
}

#sec01 .conInner .article a {
    font-weight: bold;
    color: #db6128;
    font-size: 1.5rem;
}

@media screen and (max-width: 979px) {
    #sec01 .conInner .article {
        width: 55vw;
        padding: 3vw 0;
        border-top: 1px solid #bfbfbf;
        border-bottom: 1px solid #bfbfbf;
    }

    #sec01 .conInner .article .date {
        font-size: 2.4vw;
    }

    #sec01 .conInner .article .title {
        padding-bottom: 2vw;
        font-size: 2.2vw;
    }

    #sec01 .conInner .article .text {
        font-size: 1.4vw;
    }
    #sec01 .conInner .article a {
        font-size: 1.5vw;
    }
}

@media screen and (max-width: 767px) {
    #sec01 .conInner {
        -webkit-flex-direction: column;
        flex-direction: column;
    }

    #sec01 .conInner .article {
        width: 86vw;
        margin: 0 auto;
        padding: 2vw 0;
        border-top: 2px solid #bfbfbf;
        border-bottom: 2px solid #bfbfbf;
    }

    #sec01 .conInner .article .date {
        font-size: 4.8vw;
    }

    #sec01 .conInner .article .title {
        padding-bottom: 4vw;
        font-size: 4.6vw;
    }

    #sec01 .conInner .article .text {
        font-size: 3vw;
    }
    #sec01 .conInner .article a {
        font-size: 3.2vw;
    }
}

#sec02 .videoArea {
    position: relative;
    padding-top: 47%;
    background: url(../img/bg_animation.png) no-repeat;
}

#sec02 .videoArea .videoItem {
    position: absolute;
    left: 0;
    bottom: 0;
    max-width: 84rem;
    width: 100%;
    height: 95%;
    background: #000;
}

#sec02 .videoArea .videoItem a::after {
    position: absolute;
    left: 42%;
    top: 50%;
    transform: translate(0, -42%);
    content: '';
    width: 15rem;
    height: 15rem;
    background: url(../img/icn_play.png) no-repeat;
    background-size: contain;
}

#sec02 .conTitle h2 {
    margin: 7rem 0 4rem;
    text-align: left;
}

#sec02 .details {
    background: linear-gradient(180deg, #ffd144 75%, #fff 75%);
}

.details .conTop {
    position: relative;
    max-width: 1000px;
}

#sec02 .details .conTop::before {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    content: '';
    width: 24rem;
    height: 33rem;
    background: url(../img/img_leftside_a.png) no-repeat;
    background-size: contain;
}

#sec02 .details .conTop::after {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    content: '';
    width: 26rem;
    height: 33rem;
    background: url(../img/img_rightside_a.png) no-repeat;
    background-size: contain;
}

#sec02 .details .conBottom {
    display: -webkit-flex;
    display: flex;
    margin-top: 6rem;
    background: #fff;
    border-radius: 1rem;
    box-shadow: 0 0 1rem 1rem rgba(0, 0, 0, 0.05);
}

#sec02 .details .conBottom .itemA,
#sec02 .details .conBottom .itemB {
    width: 50rem;
    padding: 4rem;
}

#sec02 .details .conBottom .itemA {
    border-right: 1px solid #bbb;
    line-height: 3rem;
}

#sec02 .details .conBottom .itemB span {
    color: #db6128;
}

#sec02 .details .conBottom .itemB p {
    text-align: center;
}

#sec02 .details .conBottom .itemB .price {
    margin: 0 0 0.8rem 0;
}

#sec02 .details .conBottom .itemB .price span {
    font-size: 2.8rem;
    font-weight: bold;
}

#sec02 .details .conBottom .itemB .caption {
    font-size: 1.2rem;
    text-align: left;
}

@media screen and (max-width: 979px) {
    #sec02 .videoArea {
        padding-top: 45vw;
        width: 95vw;
        background-size: contain;
    }

    #sec02 .videoArea .videoItem {
        position: absolute;
        left: 0;
        bottom: 0;
        max-width: 80vw;
    }

    #sec02 .videoArea .videoItem a::after {
        position: absolute;
        left: 40%;
        top: 50%;
        transform: translate(0, -40%);
        content: '';
        width: 12vw;
        height: 12vw;
        background: url(../img/icn_play.png) no-repeat;
        background-size: contain;
    }

    #sec02 .conTitle h2 {
        width: 90vw;
        margin: 5vw 0 2vw;
    }

    .details .conTop {
        max-width: 90vw;
    }

    #sec02 .details .conTop::before {
        top: 60%;
        transform: translateY(-50%);
        width: 25vw;
        height: 43.175vw;
    }

    #sec02 .details .conTop::after {
        top: 70%;
        transform: translateY(-50%);
        width: 25vw;
        height: 44.7vw;
    }

    #sec02 .details .conBottom {
        display: -webkit-flex;
        display: flex;
        margin-top: 4vw;
    }

    #sec02 .details .conBottom .itemA,
    #sec02 .details .conBottom .itemB {
        width: 50vw;
        padding: 3vw 4.5vw;
    }

    #sec02 .details .conBottom .itemA {
        border-right: 1px solid #bbb;
        line-height: 2.6vw;
    }

    #sec02 .details .conBottom .itemB .price {
        margin: 1.2vw 0;
    }

    #sec02 .details .conBottom .itemB .price span {
        font-size: 3vw;
    }

    #sec02 .details .conBottom .itemB .caption {
        font-size: 1.4vw;
    }

}

@media screen and (max-width: 767px) {
    #sec02 .videoArea {
        padding-top: 51%;
    }

    #sec02 .videoArea .videoItem {
        max-width: 80vw;
        height: 42.6vw;
    }

    #sec02 .videoArea .videoItem a::after {
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 15vw;
        height: 15vw;
    }

    #sec02 .conTitle h2 {
        margin: 6vw 0 1.6vw;
    }

    #sec02 .conTitle h2 img {
        width: 100%;
    }

    #sec02 .details {
        margin-bottom: -10vw;
    }

    #sec02 .details .conTop h3 img {
        width: 70vw;
    }

    #sec02 .details .conTop::before {
        display: none;
    }

    #sec02 .details .conTop::after {
        display: none;
    }

    #sec02 .details .conBottom {
        -webkit-flex-direction: column;
        flex-direction: column;
        margin-top: 6vw;
    }

    #sec02 .details .conBottom .itemA,
    #sec02 .details .conBottom .itemB {
        width: 90vw;
        padding: 6vw;
    }

    #sec02 .details .conBottom .itemA {
        border-right: none;
        border-bottom: 2px solid #bbb;
        line-height: 6vw;
    }

    #sec02 .details .conBottom .itemB span {
        color: #db6128;
    }

    #sec02 .details .conBottom .itemB .price {
        margin: 2vw 0;
    }

    #sec02 .details .conBottom .itemB .price span {
        font-size: 6vw;
    }

    #sec02 .details .conBottom .itemB .caption {
        font-size: 2.4vw;
    }
}

#sec03 .conTitle h2 {
    margin: 7rem 0 4rem;
    text-align: right;
}

#sec03 .details {
    background: #ffd144;
}

#sec03 .details .conTop::before {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    content: '';
    width: 23rem;
    height: 41rem;
    background: url(../img/img_leftside_b.png) no-repeat;
    background-size: contain;
}

#sec03 .details .conTop::after {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    content: '';
    width: 21rem;
    height: 41rem;
    background: url(../img/img_rightside_b.png) no-repeat;
    background-size: contain;
}

#sec03 .conTitle p {
    text-align: right;
}

.details .conTop p {
    text-align: center;
    line-height: 3rem;
}

@media screen and (max-width: 979px) {

    #sec03 .conTitle h2 {
        width: 80vw;
        margin: 5vw 0 2vw auto;
        text-align: right;
    }

    #sec03 .details .conTop::before {
        top: 50%;
        left: -3vw;
        transform: translateY(-50%);
        width: 25vw;
        height: 39vw;
    }

    #sec03 .details .conTop::after {
        top: 50%;
        right: -7vw;
        transform: translateY(-50%);
        width: 25vw;
        height: 37.8vw;
    }
}

@media screen and (max-width: 767px) {
    #sec03 .details .conTop::before {
        display: none;
    }

    #sec03 .details .conTop::after {
        display: none;
    }

    #sec03 .conTitle p {
        font-size: 3.2vw;
        text-align: justify;
    }

    .details .conTop p {
        line-height: 6vw;
    }

    #sec03 .conTitle h2 {
        width: 90vw;
        margin: 6vw 0 1.6vw;
    }
}

#sec04 .listWrap {
    position: relative;
    padding: 0 10rem;
}

#sec04 .listWrap::before {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    content: '';
    width: 4rem;
    height: 100rem;
    background: url(../img/bg_stripe.png);
}

#sec04 .listWrap::after {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    content: '';
    width: 4rem;
    height: 100rem;
    background: url(../img/bg_stripe.png);
}

#sec04 .listWrap .whoItem {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-justify-content: space-around;
    justify-content: space-around;
    margin-top: 6rem;
}

#sec04 .listWrap .whoItem:first-child {
    margin-top: 2rem;
}

#sec04 .listWrap .whoItem .textBox {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-ustify-content: space-around;
    justify-content: space-around;
    width: 50rem;
    padding: 0.6rem 0 4rem 1rem;
    border-bottom: 1px solid #aaa;
}

#sec04 .listWrap .whoItem .textBox .title {
    font-size: 2rem;
    font-weight: bold;
}

#sec04 .listWrap .whoItem .textBox .text {
    margin-top: 2rem;
    font-size: 1.5rem;
}

#sec04 .listWrap .whoItem .textBox a {
    width: 28rem;
    height: 4rem;
    margin-top: 2rem;
    background: #db6128;
    border-radius: 8rem;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 4rem;
    color: #fff;
}

#sec04 .listWrap .whoItem .textBox .sampleList {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    width: 45rem;
    margin-top: 2rem;
}

#sec04 .listWrap .whoItem .textBox .sampleList dl,
#sec04 .listWrap .whoItem .textBox .sampleList dd {
    margin-top: 0.26rem;
    margin-bottom: 0.26rem;
}

#sec04 .listWrap .whoItem .textBox .sampleList dt {
    color: #db6128
}

#sec04 .listWrap .whoItem .textBox .sampleList audio {
    width: 21.4rem;
    height: 3.8rem;
}

@media screen and (max-width: 979px) {
    #sec04 .listWrap {
        position: relative;
        padding: 0 6vw;
    }

    #sec04 .listWrap::before {
        width: 4vw;
        height: 100vh;
    }

    #sec04 .listWrap::after {
        width: 4vw;
        height: 100vh;
    }

    #sec04 .listWrap .whoItem {
        margin-top: 4vw;
    }

    #sec04 .listWrap .whoItem:first-child {
        margin-top: 1vw;
    }

    #sec04 .listWrap .whoItem .textBox {
        width: 40vw;
        padding: 1vw 0 4vw 1vw;
    }

    #sec04 .listWrap .whoItem .textBox .title {
        margin-top: 1.8vw;
        font-size: 2vw;
    }

    #sec04 .listWrap .whoItem .textBox .text {
        margin-top: 2vw;
        font-size: 1.5vw;
    }

    #sec04 .listWrap .whoItem .textBox a {
        width: 40vw;
        height: 5vw;
        margin-top: 3vw;
    }

    #sec04 .listWrap .whoItem .textBox .sampleList {
        -webkit-justify-content: center;
        justify-content: center;
        width: 40vw;
        margin-top: 3vw;
    }

    #sec04 .listWrap .whoItem .textBox .sampleList dl,
    #sec04 .listWrap .whoItem .textBox .sampleList dd {
        margin-top: 1.5vw;
        margin-bottom: 1.5vw;
    }

    #sec04 .listWrap .whoItem .textBox .sampleList audio {
        width: 18.5vw;
    }
}


@media screen and (max-width: 767px) {
    #sec04 {
        border-left: 5vw solid #f5f2ec;
        border-right: 5vw solid #f5f2ec;
    }

    #sec04 .listWrap {
        padding: 0;
    }

    #sec04 .listWrap::before {
        display: none;
    }

    #sec04 .listWrap::after {
        display: none;
    }

    #sec04 .listWrap .whoItem {
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    #sec04 .listWrap .whoItem .textBox {
        display: -webkit-flex;
        display: flex;
        -webkit-flex-direction: column;
        flex-direction: column;
        -webkit-align-items: center;
        align-items: center;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        width: 60vw;
        padding: 3.5vw 0;
        border-bottom: none;
    }

    #sec04 .listWrap .whoItem .textBox .title {
        font-size: 4.6vw;
    }

    #sec04 .listWrap .whoItem .textBox .text {
        margin-top: 2vw;
        font-size: 3.2vw;
    }

    #sec04 .listWrap .whoItem .textBox a {
        width: 64vw;
        height: 16vw;
        margin-top: 6vw;
        font-size: 3.4vw;
        line-height: 16vw;
    }

    #sec04 .listWrap .whoItem .textBox .sampleList audio {
        width: 64vw;
        height: 10vw;
    }
}

/* footer
----------------------------------------------------------*/

footer {
    max-width: 100%;
    width: 100%;
    margin-top: 8rem;
    padding: 12rem;
    background: #ffd144;
}

footer .footerInner {
    position: relative;
    max-width: 98rem;
    margin: 0 auto;
    text-align: center;
}

footer .footerInner .top {
    position: absolute;
    top: -15rem;
    right: 0
}

footer .footerInner img {
    width: 15rem;
}

footer .footerInner .copyrights {
    text-align: center;
    margin-top: 4rem;
}

@media screen and (max-width: 979px) {
    footer {
        margin-top: 6vw;
        padding: 6vw;
    }

    footer .footerInner {
        max-width: 90vw;
        margin: 3vw auto;
    }

    footer .footerInner .top {
        top: -15vw;
    }

    footer .footerInner .top img {
        width: 12vw;
    }

    footer .footerInner img {
        width: 20vw;
    }
}

@media screen and (max-width: 767px) {
    footer .footerInner {
        -webkit-flex-direction: column;
        flex-direction: column;
        max-width: 93vw;
        margin: 6vw auto;
    }

    footer .footerInner .top {
        position: absolute;
        top: -20vw;
        right: 0;
    }

    footer .footerInner .top img {
        width: 22vw;
    }

    footer .footerInner img {
        width: 50vw;
        margin-bottom: 5vw;
    }

}