@charset "utf-8";
.marker {
    background-color: #fff799;
    color: #dc0000;
    font-weight: 700
}

.red {
    color: #d71f39;
    font-weight: 700
}

.txt01 {
    color: #3f260c;
    font-size: 17px;
    line-height: 1.4;
    width: 88%;
    margin-right: auto;
    margin-left: auto;
    font-feature-settings: "palt";
    letter-spacing: .05em
}

@media(min-width:768px) {
    .txt01 {
        font-size: 28px;
        line-height: 1.5
    }
}

.lh15 {
    line-height: 1.5
}

.w70 {
    width: 70%;
    margin-left: auto;
    margin-right: auto
}

.w75 {
    width: 75%;
    margin-right: auto;
    margin-left: auto
}

.w80 {
    width: 80%;
    margin-right: auto;
    margin-left: auto
}

.w88 {
    width: 88%;
    margin-right: auto;
    margin-left: auto
}

.w84 {
    width: 84%;
    margin-right: auto;
    margin-left: auto
}

.w90 {
    width: 90%;
    margin-right: auto;
    margin-left: auto
}

.video {
    text-align: center;
    width: 100%
}

.video iframe {
    width: 100%;
    height: 21rem
}

.video video {
    width: 100%;
    height: auto
}

.mdl_btn {
    margin: 0 auto;
    text-align: center;
    margin-top: 10px;
    margin-bottom: 30px;
    width: 96%
}

.mdl_btn.MT0 {
    margin-top: -10px
}

@media(min-width:768px) {
    .mdl_btn {
        margin-bottom: 60px
    }
}

.mdl_btn img {
    animation: key1 .3s ease infinite alternate;
    width: 98%;
    height: auto
}

@keyframes key1 {
    0% {
        transform: translateY(0px)
    }

    100% {
        transform: translateY(-10px)
    }
}

.mdl_btn:hover {
    animation: flash 1s ease
}

.arrow {
    width: 30%;
    margin-right: auto;
    margin-left: auto
}

.pride_tit {
    width: 78%;
    margin-left: auto;
    margin-right: auto
}

.bg_color {
    background-color: #fffaec
}

.safe_txt {
    width: 75%;
    margin-left: auto;
    margin-right: auto
}

.menu_tit {
    width: 88%;
    margin-left: auto;
    margin-right: auto
}

.close_area {
    position: relative
}

.close_area p {
    position: absolute;
    right: 18px;
    bottom: 24px;
    width: 90%
}

@media(min-width:768px) {
    .close_area p {
        position: absolute;
        right: 32px;
        margin-bottom: 22px
    }
}

.btn_effect {
    position: relative;
    cursor: pointer;
    opacity: 1;
    -moz-animation-name: slidein;
    -webkit-animation-name: slidein;
    -moz-animation-duration: 1s;
    -webkit-animation-duration: 1s;
    -moz-animation-iteration-count: infinite;
    -webkit-animation-iteration-count: infinite
}

.btn_effect:hover {
    animation: flash 1s ease
}

@keyframes flash {
    0% {
        opacity: .3
    }

    100% {
        opacity: 1
    }
}

@-moz-keyframes slidein {
    from {
        right: 0
    }

    25% {
        right: 8px
    }

    75% {
        right: 0
    }

    95% {
        right: 8px
    }

    to {
        right: 0
    }
}

@-webkit-keyframes slidein {
    from {
        right: 0
    }

    25% {
        right: 8px
    }

    75% {
        right: 0
    }

    95% {
        right: 8px
    }

    to {
        right: 0
    }
}

.faq-wrap {
    background-color: #f9f2ec;
    padding: 0 0 20px
}

.faq-wrap h2 {
    max-width: 462px;
    width: 46%;
    margin: 0 auto 5.5%
}

.faq-box {
    width: 96%;
    margin: 0 auto 10px;
    background-color: #fff;
    border: #311305 1px solid;
    border-radius: 8px
}

.faq-box dt {
    display: block;
    line-height: 1.6;
    cursor: pointer;
    padding: 20px 10px 20px 14px;
    box-sizing: border-box;
    font-size: 16px;
    color: #4b2420;
    background: #FFFFFF url(../image/qa_off.png) no-repeat right 14px center/8px auto;
    background-size: 16px;
    border-radius: 8px
}

@media(min-width:768px) {
    .faq-box dt {
        font-size: 22px;
        background-size: 20px
    }
}

.faq-box dt.open {
    background-image: url(../image/qa_on.png)
}

.faq-box dd {
    background: #fff;
    display: none;
    padding: 14px 30px 20px;
    border-top-width: 1px;
    border-top-style: dashed;
    font-family: hiragino sans, hiragino kaku gothic pron, Meiryo, sans-serif;
    line-height: 1.6;
    font-size: 15px;
    border-radius: 0 0 8px 8px
}

@media(min-width:768px) {
    .faq-box dd {
        font-size: 18px
    }
}

.faq-box dd strong {
    font-weight: 700;
    color: #d20000
}

.swiper-container {
    padding: 16px 0;
    background: #eff0ea
}

.swiper-container.bg_pink {
    padding: 16px 0;
    background: #fbf5f1
}

.swiper-wrapper {
    width: 30%;
    height: auto
}

span.swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: #321e0a
}

.swiper-wrapper {
    -webkit-transition-timing-function: linear !important;
    -o-transition-timing-function: linear !important;
    transition-timing-function: linear !important
}