@charset "UTF-8";

* { line-height:1.8;margin:0;padding:0;box-sizing:border-box; }
html,body,.topInfoSet { height:100%;font-size:16px; }

body {
    margin:0;
    padding:0;
    font-family: Montserrat, Verdana, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
}
h1 { margin:0;padding:0; }
h2 {
    margin:0;
    padding:10px 0;
    font-size: 1.34em;
    font-weight:600;
    color:#5f5d5a;
    font-family: 'Zen Old Mincho', Verdana, 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, serif;
}
h2.pg { font-size: 1.7em; }
h3.pg { margin-top:2.4em; }

a { text-decoration: none;color:#000;outline: none;transition: opacity .2s ease-in-out; }
a:hover { color:#000;text-decoration: none;opacity: .6; }
p { padding:1em 0; }
ol,ul { margin:0 0 0 55px;padding:1em 0; }
li { padding-bottom:0.5em; }
em { font-style:normal;font-weight:600; }


/************************************
** 改行 位置調整
************************************/

.dispSP { display:none; }

@media screen and (max-width:640px){
    .dispPC { display:none; }
	.dispSP { display:inline-block; }
}

/***********************************/

.topInfoSet {
    width:100%;
    height:100vh;
    min-height:1000px;
    text-align: center;
    background-image: url("/img/bodyBg.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    display: flex;
    justify-content:space-around;
    align-items: center;
}
    .topInfoSet h1 {
        padding-top:50px;
    }
    .msg {
        max-width:700px;
        text-align: left;
        margin:0 auto;
        padding:35px 15px 0 15px;
    }
    .goBtn {
        max-width:960px;
        margin:0 auto;
        padding:45px 0 0 0;
        text-align:center;
    }
    .bnr {
        max-width:720px;
        margin:0 auto;
        padding:60px 0 40px 0;
        text-align:center;
    }
        .bnr img {
            max-width:200px;
            margin:6px 10px;
            border:1px solid #e7e7e7;
        }

@media screen and (max-height:980px){
    .topInfoSet { height:auto; }
}
@media screen and (min-width:641px){
    .goBtn a { margin-right:25px; }
    .goBtn a:nth-child(2n) { margin:0 0 0 25px; }
}

@media screen and (max-width:959px){
    .goBtn a img { width:42%; }
}
@media screen and (max-width:768px){
    .msg { max-width:90%; }
}
@media screen and (max-width:640px){
    .topInfoSet { background-position:center; }
    h1 img { width:50%; }
    h2 { font-family: Montserrat, Verdana, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif; }
    .msg { padding:30px 0 0 0; }
    .goBtn { padding:25px 0 0 0; }
    .goBtn a img { display:block;width:50%;margin:25px auto; }
    .bnr { padding:30px 0 40px 0; }
}
@media screen and (max-width:540px){
    .topInfoSet { padding:0;min-height:auto; }
    h1 img { width:60%; }
    .msg h2 { font-size: 1.20em;line-height:1.6; }
    .goBtn { padding:30px 0 0 0; }
    .goBtn a img { display:block;width:60%;margin:25px auto; }
    .topInfoSet .bnr img { max-width:40%; }
}
@media screen and (max-width:480px){
    .msg { padding:15px 0 0 0;font-size:0.9em; }
    h1 img { width:60%; }
    .goBtn { padding:0; }
    .goBtn a img { display:block;width:60%;margin:20px auto; }
}
@media screen and (max-width:320px){
    .topInfoSet { padding:15px 0 0 0; }
    .msg { padding:0; }
}

/************************************
** movie
************************************/

video { display:block;width:100%; }

.movieSet {
    text-align:center;
    background-color:#F8F8F8;
}

.movie1 {
    max-width:860px;
    margin:0 auto;
    text-align:center;
}

/************************************
** instagram
************************************/

.instagramSet {
    width:100%;
    text-align: left;
    background-color:#F8F8F8;
}
    .instagramBox {
        width:100%;
        max-width:930px;
        margin:0 auto;
        padding:50px 0 55px 0;
    }
        .instagram {
            width:50%;
            padding:0 20px;
            float:left;
        }

@media screen and (max-width:768px){
    .instagramBox {
        padding:60px 0 0 0;
    }
    .instagram {
        width:100%;
        margin:0 auto !important;
        padding:0 40px 80px 40px;
    }
    .instagram h2 { font-size:34px; }
}
@media screen and (max-width:540px){
    .instagramBox { padding:40px 0 0 0; }
    .instagram { padding:0 20px 50px 20px; }
    .instagram h2 { font-size:28px; }
}
@media screen and (max-width:480px){
    .instagram { padding:0 15px 50px 15px; }
    .instagram h2 { font-size:26px; }
}


/************************************
** Q&A
************************************/

.accordion {
    margin-left: auto;
    margin-right: auto;
    margin-top: 30px;
    max-width: 100%;
    position: relative;
    width: 100%;
}
.accordion-title {
    cursor: pointer;
    font-size: 16px;
    padding: 10px 20px;
}
.accordion-content {
    display: none;
    padding-bottom:1em;
}

.accordion-item {
    margin-top:18px;
    border-top: 1px solid #d9d9d9;
    border-left: 1px solid #d9d9d9;
    border-right: 1px solid #d9d9d9;
    border-bottom: 1px solid #d9d9d9;
}
/* タイトルの背景色 */
.accordion-item .accordion-title {
    background-color: #fff;
}

/* コンテンツボックスの枠線 */
.accordion-item .accordion-content {
    background-color: #fff;
}

/* 矢印 */
.accordion-title {
    position: relative;
}
.accordion-title::after {
    border-right: solid 2px #cecece;
    border-top: solid 2px #cecece;
    content: "";
    display: block;
    height: 8px;
    position: absolute;
    right: 25px;
    top: 38%;
    transform: rotate(135deg);
    transition: transform .3s ease-in-out, top .3s ease-in-out;
    width: 8px;
}
.accordion-title.open::after {
    top: 45%;
    transform: rotate(-45deg);
}

/***********************************/

.qaSet {
    padding:120px 0;
    background-color:#E7E7E7;
}

    .qa {
        position:relative;
        max-width:900px;
        margin:0 auto;
        padding:30px 50px 60px 0;
        background-color:#F8F8F8;
    }

        .qa h2 {
            position: absolute;
            display: inline-block;
            top:20px;
            left:45px;
            font-size:56px;
            font-family: Montserrat, Verdana, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
            letter-spacing:-0.2em;
            font-weight:500;
        }
        .qa .accordion {
            max-width:600px;
            position: relative;
            top:0;
            left:110px;
        }

    .accordion-item h3 {
        padding-left:3.5em;
    }
        .accordion-item h3::before {
            content: "Q";
            position: absolute;
            top: 9px;
            left: 10px;
            padding: 3px 6px 4px 6px;
            color: #f8f7f7;
            background-color: #b5b5b5;
            border-radius: 3px;
            font-size: 20px;
            line-height: 1.1em;
            font-weight: 500;
            font-family: Montserrat, Verdana, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
        }
    .accordion-content p {
        position:relative;
        padding:0 1em;
        margin:0 0 0 3.8em;
        border-left: 2px dotted #c1c1c1;
    }
        .accordion-content p::before {
            content: "A";
            position: absolute;
            top: 9px;
            left: -2.5em;
            padding: 3px 6px 4px 6px;
            color: #a4a4a4;
            font-size: 20px;
            line-height: 1.1em;
            font-weight: 500;
            font-family: Montserrat, Verdana, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
        }

@media screen and (max-width:834px){
    .qaSet { padding:70px 0 80px 0; }
    .qa { width:86%;max-width:86%;padding:30px 40px 50px 40px; }
    .qa h2 {
        position:relative;
        display:block;
        top:0px;
        left:0px;
        font-size:46px;
        line-height:1.4;
        text-align:center;
    }
    .qa .accordion {
        max-width:100%;
        position: relative;
        left:0px;
    }
}
@media screen and (max-width:640px){
    .accordion-item .accordion-title { padding-right:3em; }
    .accordion-item .accordion-title br { display:none; }
}
@media screen and (max-width:540px){
    .accordion { margin-top:10px; }
    .qa h2 { font-size:34px; }
    .accordion-item { margin-top:10px; }
    .qaSet { padding:50px 15px 50px 15px; }
    .qa { width:100%;max-width:100%;padding:20px 10px 40px 10px; }
    .accordion-title { font-size:14px; }
    .accordion-content { font-size:14px; }
    .accordion-content p::before { top:-1px;left:-2.14em; }
}

/************************************
** footer
************************************/

footer.footSet {
    color:#b6aea1;
    background-color:#524e48;
}
    .foot {
        max-width:900px;
        margin:0 auto;
        padding:40px 0 0 0;
        display:flex;
        justify-content: center;
        align-items: center;
    }
    .foot p { width:50%;display:inline-block; }
    .footLogo { padding-top:34px; }
    .link { text-align:right; }
        .link a { display:inline-block;margin:0 10px; }
        .link a.bnr { display:inline-block;margin:25px 0 0 0; }
    .copy { text-align:center;font-size:0.9em;padding:30px; }

.footSet a { color:#b6aea1;text-decoration:none;outline:none;transition: opacity .2s ease-in-out; }
.footSet a:visited { text-decoration: none; }
.footSet a:hover { text-decoration: none;opacity: .6; }

@media screen and (max-width:960px){
    .foot { max-width:90%; }
    .footLogo { padding-top:1em; }
}
@media screen and (max-width:640px){
    .foot .link { padding:10px 0;line-height:2.6em; }
}
@media screen and (max-width:540px){
    .foot { padding:40px 0 0 0;display:block; }
    .foot p { width:100%;text-align:center; }
    .foot .footLogo { width:40%; }
}

/************************************
** プライバシーポリシー
************************************/

header { text-align:center;padding:30px 0; }
    header h1 img { max-width:200px; }

.content { max-width: 900px;margin:0 auto;padding: 0 20px 80px 30px; }

@media screen and (max-width:640px){
    h2.pg { font-size: 1.4em; }
    ol,ul { margin:0 0 0 30px;padding:1em 0; }
    li { padding-bottom:0.4em; }
}


/************************************
** clear
************************************/

.goBtn:after,
.instagramSet:after,
.instagramBox:after,
.qa:after,
.foot:after { height:0; visibility: hidden; content: ".";display: block;clear: both; }
