@charset "UTF-8";
body {
    margin: 0;
    font-family: "Yu Mincho", YuMincho, HiraMinProN-W3, "Roboto Slab", "EB Garamond", "Times New Roman", "MS PMincho", serif;
    font-weight: nomal;
    font-size: 16px;
    color: #666666;
    background: #fff;
    height: 100%;
    line-height: 1.5em;
    overflow-x: hidden;
}

* {
    margin: 0px;
    padding: 0px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

a {
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
    text-decoration: none;
}

.wrapper {
    overflow: hidden;
    background-image: #EEE;
}

a:hover,
a:active,
a:focus {
    outline: none;
    text-decoration: none;
    opacity: 0.8;
}

h1,
h2,
h3,
h4 {
    color: #000;
    font-family: "Yu Mincho", YuMincho, HiraMinProN-W3, "Roboto Slab", "EB Garamond", "Times New Roman", "MS PMincho", serif;
    font-weight: 400;
    line-height: 1.4em;
}

img {
    max-width: 100%;
    vertical-align: bottom;
}

p {
    font-family: serif;
    line-height: 1.5em;
}

.tsume {
    letter-spacing: -0.1em;
}

li {
    list-style: none;
}

.eng {
    font-size: 200%;
    font-family: serif;
    color: #A29181;
    padding-bottom: 10px;
}

.kin {
    color: #765e4a;
    font-family: sans-serif;
    font-size: 110%;
}

.text01 {
    padding: 10px 0 15px;
    font-family: serif;
    font-size: 150%;
    line-height: 1.6em;
    color: #FFF;
}

.photo {
    padding: 15px 0;
}

.photo2 {
    overflow: hidden;
    max-width: 750px;
    height: auto;
    position: relative;
}

.photo2_bor {
    overflow: hidden;
    max-width: 750px;
    height: auto;
    border: 1px solid #CCC;
}

.photo2 img, 
.photo2_bor img{
    transition: 0.3s;
}

.photo2 img:hover,
.photo2_bor img:hover{
    -webkit-transform: scale(1.05);
    -moz-transform: scale(1.05);
    -ms-transform: scale(1.05);
    -o-transform: scale(1.05);
    transform: scale(1.05);
}

.photo3 {
    overflow: hidden;
    padding: 0;
    margin: 10px;
    background: #FFF;
    border: 1px solid #CCC;
}

.photo4 {
    padding: 10px;
}

.photo_party {
    margin: 0;
}

.tatenaka {
    padding-top: 60px;
}

.white {
    color: #FFF;
    text-align: center;
}

.t_p90 {
    line-height: 1.5em;
    font-size: 90%;
}

.mannaka {
    text-align: center;
}
.top_dotline{
    width: 100%;
    border-top:1px dashed #ccc; 
}


/*-------------ロゴについて------------*/
.n_logo{
    width: 200px;
    margin: 0 auto;
    margin-bottom: 15px;
}

@media(max-width:767px){
    .n_logo{
    width: 120px;
}
}

/*
.sp15 {
    margin: 15px;
}
*/

/* ----------webCMとバナー--------- */

@media (min-width: 1280px) {
    .waku .cm_list {
    position: absolute;
    width: 360px;
    text-align: center;
    font-size: .9em;
    background: #063A56;
    color: #fff;
    padding-bottom: 0%;
    left: 1%;
    top: 60px;
    padding-bottom: 8px;
}

    .waku .best {
    width: 220px;
    position: absolute;
    color: #fff;
    padding-bottom: 0%;
    right: 5%;
    top: 600px;
    padding-bottom: 8px;
}   
}
@media (max-width: 1279px) {
    .waku .best {
    width: 130px;
    position: absolute;
    color: #fff;
    padding-bottom: 0%;
    right: 3%;
    top: 340px;
    padding-bottom: 8px;
}
}
@media (max-width: 320px) {
    .waku .best {
    width: 120px;
    top: 270px;
}
}

/* ----------共通タイトル---------- */

.title_main {
    font-size: 180%;
    font-family: "Yu Mincho", YuMincho, HiraMinProN-W3, "Roboto Slab", "EB Garamond", "Times New Roman", "MS PMincho", serif;
    letter-spacing: 0.25em;
}

.title_top {
    font-size: 250%;
    font-family: serif;
    font-weight: 500;
    line-height: 1.4;
    color: #063a56;
}

.title_top2 {
    font-size: 180%;
    font-family: serif;
    font-weight: 500;
    line-height: 1.4;
    padding: 0px;
    color: #063a56;
}

.title_top3 {
    font-size: 140%;
    font-family: serif;
    font-weight: 500;
    line-height: 1.2;
    padding: 10px 0;
    color: #063a56;
}


.title_mini {
    font-size: 85%;
    line-height: 1.2;
    color: #FFF;
    text-shadow: 0px 0px 10px #666;
    font-weight: bold;
}

/* ----------767以下---------- */

@media (max-width: 767px) {
    .title_mini {
        color: #FFF;
        text-shadow: none;
    }
    .photo_party {
        width: 100%;
    }
    
    .title_top {
    font-size: 150%;
    font-family: serif;
    font-weight: 500;
    line-height: 1.2;
    padding-bottom: 10px;
}
    
    .title_top2 {
    font-size: 130%;
    font-family: serif;
    font-weight: 500;
    line-height: 1.4;
    padding: 0px;
    color: #063a56;
}
}


/* ----------1024以下---------- */

@media (max-width: 1024px) {
    .text01 {
        padding: 10px 0 10px;
        font-family: serif;
        font-size: 110%;
        line-height: 1.5em;
        letter-spacing: -0.1em;
    }
    .tatenaka {
        padding-top: 20px;
    }
}


/* -----------------筆記体----------------- */

@font-face {
    font-family: "Darleston";
    src: url("../fonts/darleston-webfont.woff") format('woff');
}
@font-face {
    font-family: "Allura";
    src: url("../fonts/Allura-Regular.otf") format('otf');
}
@font-face {
    font-family: "GreatVibes";
    src: url("../fonts/GreatVibes-Regular.ttf") format('otf');
}


.hikkitai {
    padding-top: 15px;
    padding-bottom: 5px;
    font-family: Darleston;
    font-size: 500%;
    color: #FFF;
    letter-spacing: 0em;
    line-height: 1;
    text-align: center;
    -ms-font-feature-settings: "normal";
}

.hikkitai_a {
font-family: 'Allura', cursive;
    font-size:80px;
    font-weight: normal;
    line-height: 0.8em;
}
.hikkitai_g {
font-family: 'GreatVibes';
    font-size:70px;
    font-weight: normal;
    line-height: 0.8em;
}



.hikkitai2 {
    color: #887c54;
}

.hikkitai3 {
    font-size: 200%;
    color: #887c54;
    font-family: serif;
    letter-spacing: -0.1;
}

.hikkitai4 {
    font-size: 500%;
    margin-top: 50px;
    color: #887c54;
}

/* ----------1024以下---------- */

@media (max-width: 1024px) {
    .hikkitai {
        padding: 5px 0;
    }
    .hikkitai2,
    .hikkitai4 {
        font-size: 350%;
    }
    .hikkitai3{
        font-size: 150%;
    }
    
    .hikkitai_a {
    font-family: 'Allura', cursive;
    font-size:40px;
    font-weight: normal;
    line-height: 0.8em;
    text-align: center;
    padding-top: 20px;
}
    
}

/* -----------------メイン画像スマホ1279以下----------------- */

@media (max-width: 1279px) {
    .sp_ban_1279 {
        display: none;
    }
}

@media (min-width: 1280px) {
body > div > div.back_all > div > section > ul > div > div > div:nth-child(3){
        display: none;  
}
}


/* -----------------メイン画像スマホ1280以上----------------- */

@media (min-width: 1280px) {
    .sp_ban_1280 {
        display: none;
    }
}

/* -----------------メイン画像スマホ1024以下----------------- */

@media (max-width: 1024px) {
    .sp_ban {
        display: none;
    }
}

/* ----------1024以上---------- */

@media (min-width: 1025px) {
    .pc_ban {
        display: none;
    }
}

/* -----------------メイン画像スマホ767以下----------------- */

@media (max-width: 767px) {
    .sp_ban2 {
        display: none;
    }
}

@media (min-width: 768px) {
    .pc_ban2 {
        display: none;
    }
}


/* -----------------ヘッダー----------------- */

.waku {
    width: 100%;
	margin: 0 auto;
    position: relative;
    background-size: cover;
}

.disney {
    position: absolute;
    left: 3%;
    bottom: 50px;
    margin-bottom: 20px;
    z-index: 9;
}

.moji01 {
    position: absolute;
    top: 250px;
    left: 50%;
    font-size: 250%;
    line-height: 1.5em;
    text-align: center;
    color: #FFF;
    text-shadow: 0px 0px 20px #FFF;
    transform: translateX(-50%);
    z-index: 10;
    color: #FFF;

}

.moji02 {
    position: absolute;
    top: 360px;
    left: 50%;
    font-size: 150%;
    line-height: 1.5em;
    text-align: center;
    color: #FFF;
    text-shadow: 0px 0px 10px #666;
    transform: translateX(-50%);
    z-index: 10;
}

.moji_bri{
    text-align: center;
    line-height: 1.2;
    background: rgba(255, 255, 255, 0.6);
    margin-top: 160px;
    padding: 20px;
}

.moji_bri .moji{
    font-size: 200%;
    font-weight: 500;
    color: #333;
}


/* ----------767以下---------- */

@media (max-width: 767px) {
    .moji01 {
        position: absolute;
        top: 100px;
        left: 50%;
        font-size: 120%;
        line-height: 1.5em;
        text-align: center;
        color: #FFF;
        text-shadow: 0px 0px 6px #666;
        transform: translateX(-50%);
    }
    .moji02 {
        position: absolute;
        top: 250px;
        left: 50%;
        font-size: 120%;
        line-height: 1.5em;
        text-align: center;
        color: #FFF;
        text-shadow: 0px 0px 6px #b4a9a9;
        transform: translateX(-50%);
        background: rgba(6, 58, 86, 0.3);
        padding: 10px;
        width: 280px;
    }
    
.moji_bri{
    text-align: center;
    line-height: 1.2;
    background: rgba(255, 255, 255, 0.6);
    margin-top: 80px;
    padding: 10px;
}

.moji_bri .moji{
    font-size: 110%;
    line-height: 1.2;
    font-weight: 500;
    color: #333;
}
}


/* -----------------高さ----------------- */

.takasa30 {
    margin-bottom: 30px;
}

.takasa50 {
    margin-bottom: 50px;
}

.takasa80 {
    margin-bottom: 80px;
}


/* ----------767以下---------- */

@media (max-width: 767px) {
    .takasa30 {
        margin-bottom: 10px;
    }
    .takasa50 {
        margin-bottom: 15px;
    }
    .takasa80 {
        margin-bottom: 18px;
    }
}


/* -----------------囲み----------------- */

.kakomi {
    max-width: 100%;
    padding: 10px;
    background: #FFF;
    font-size: 85%;

}

.kakomi_waku {
    max-width: 100%;
    padding: 10px 40px;
    background: #FFFFFF;
    font-size: 85%;
}


.kakomi_waku p {
    font-weight: bold;
}

.kakomi_waku a {
    color: #333;
}

.kakomi p {
    font-size: 90%;
    line-height: 1.5em;
    color: #333;
    font-family: sans-serif;
}

.kakomi h2 {
    font-size: 140%;
    color: #bfb867;
}

.hikkimaru {
    margin: 10px auto 10px;
    font-size: 100%;
    font-weight: 400;
    background: #d3e6f7;
    color: #FFF;
    line-height: 3;
}

.hikkimaru a{
    display: block;
}

.hikkimaru a:hover{
    background: #b6bfc6;
}

.button {
    width: 80%;
    background: #8ecdfa;
    color: #FFF;
    border-radius: 3px;
    margin: 10px auto;
    font-family: sans-serif;
}

.button a {
    border-radius: 3px;
    color: #FFF;
}
@media(max-width:1023px) {
.kakomi_waku {
    padding: 10px 10px;
}
}

/* ------------info----------- */

.information {
    padding: 0px 0px;
    margin-top: 20px;
}

.information h2 {
    padding: 3px;
    background: #374876;
    text-align: center;
    font-size: 110%;
    line-height: 40px;
    color: #FFF;
}

.information ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.information li {
    padding: 15px 0 15px;
    border-bottom: 1px dashed #999;
}

.information li span {
    display: inline-block;
    width: 8em;
    text-indent: 0;
    font-weight: bold;
}

.information li a {
    text-decoration: none;
    color: #000;
}

.information li a:hover {
    text-decoration: underline;
    color: #AB0404;
}

.information p {
    padding: 10px 0;
    text-align: center;
}

@media(max-width:1023px) {
    .information {
        padding: 0px;
        text-align: left;
    }
}


/* -----------------FLEX----------------- */


/* ----------1025以上---------- */

@media (min-width: 1025px) {
    .top_narabu {
        display: -webkit-flex;
        display: flex;
        flex-wrap: wrap;

    }
    .top_a {
        flex: 0 0 50%;
        padding: 10px;
        position: relative;
    }
}
    .top_entry {
        position: absolute;
        bottom: 120px;
        left: 150px;
        text-align: center;
        margin: 0px auto;
        padding: 10px;
        width: 240px;
        background: #FFF;
        font-size: 150%;
        line-height: 1.2;
        font-weight: 500;
        background: rgba(255, 255, 255, 0.8);
    }

    .top_entry2 {
        bottom: 20px;
        left: 150px;
        background: rgba(255, 255, 255, 0.8);
    }
    
    .top_entry span {
    font-size: 65%;
    }
    
    .top_entry a,
    .top_entry a:hover,
    .top_entry a:active
    {
        color: #333;
    } 

/* ----------1024以下---------- */

@media (max-width: 1024px) {
    .top_waku {
        position: static;
        margin: 0px auto 10px;
        padding-top: 15px;
        top: 0;
        right: 0;
        bottom: 0px;
        left: 0;
        width: 90%;
        height: 210px;
        font-size: 85%;
        letter-spacing: -0.05;
        height: 25%;
    }
    .top_b,
    .top_b2 {
        padding-bottom: 5px;
        margin-bottom: 15px;
        background: #EEE;
    }
    
        .top_entry {
        position: absolute;
        bottom: 0px;
        left: 0px;
        text-align: center;
        margin: 0px auto;
        padding: 5px;
        width: 100%;
        background: #FFF;
        font-size: 150%;
        line-height: 1.2;
        font-weight: 500;
    }

    .top_entry2 {
        bottom: 0px;
        left: 0px;
        width: 100%;
    }
}


/* ----------768以上---------- */

@media (min-width: 768px) {
    .narabu ul {
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: space-around;
        justify-content: space-around;
        list-style: none;
    }
    .narabu ul li {
        width: 49.5%;
        margin: 0.25%;
    }
    .narabu0 ul {
        display: -webkit-flex;
        display: flex;
        flex-direction: row-reverse;
        -webkit-justify-content: space-around;
        justify-content: space-around;
        list-style: none;
    }
    .narabu0 ul li {
        width: 50%;
        margin: 0px;
    }
    .narabu2 ul li {
        margin: 0px;
    }
}


/* ----------767以下---------- */

@media (max-width: 767px) {
    .narabu ul,
    .narabu0 ul {
        text-align: center;
        margin-left: 0px;
        margin-right: 0px;
        padding-top: 5px;
        list-style: none;
    }
    .narabu3 ul {
        text-align: center;
        list-style: none;
    }
    .narabu ul li {
        margin-bottom: 12px;
    }
    .narabu4 ul li {
        width: 100%;
    }
    .narabu0 ul li {
        margin-bottom: 0px;
    }
    
}

/* ----------1024以下---------- */

@media (max-width: 1024px) {
    .narabu_gp{
        display: flex;
        flex-wrap: wrap;
    }
    .gp01{
        flex: 50%;
    }
}


/* ------------topとchapel banq(flexとテキスト)----------- */

@media (min-width: 768px) {
    .narabu2 {
        display: flex;
        flex-wrap: wrap;
        margin-left: auto;
        margin-right: auto;
        text-align: left;
    }
    .re {
        flex-direction: row-reverse;
    }
    .narabu_A {
        flex: 0 0 45%;
    }
    .narabu_A2 {
        flex: 0 0 55%;
    }
    .narabu_A3 {
        flex: 0 0 58.15%;
    }
    .narabu_A4 {
        flex: 0 0 41.85%;
    }
    .P_text {
        line-height: 2em;
        font-size: 150%;
        vertical-align: middle;
        height: 300px;
    }
    .P_text00 {
        line-height: 1.6em;
        font-size: 140%;
    }
    .P_text0 {
        line-height: 2em;
        font-size: 150%;
        text-align: center;
    }
    
    .P_text1 {
        line-height: 2em;
        font-size: 100%;
        padding-bottom: 10px;
        text-align: left;
    }
    .P_text2 {
        line-height: 1.5em;
        padding-bottom: 10px;
        text-align: left;
    }
    .P_text3 {
        line-height: 2em;
        font-size: 130%;
        padding-left: 30px;
        padding-top: 170px;
    }
    
    .P_text4 {
        width: 90%;
        line-height: 2em;
        font-size: 100%;
        padding-left: 40px;
        padding-top: 170px;
    }
    .P_text5 {
        line-height: 2em;
        font-size: 120%;
        text-align: left;
    }

    .P_disney{
        font-size: 300%;
        text-align: center;
        color: #ad9465;
        letter-spacing: -0.1em;
    }

    .P_text_c {
        line-height: 1.5em;
        font-size: 150%;
        text-align: left;
        padding-bottom: 15px;
        font-weight: 400;
    }
    .P_text_c2 {
        width: 500px;
        line-height: 1.4em;
        font-size: 100%;
        text-align: left;
        padding-bottom: 15px;
        font-weight: 400;
    }
    /*banquet*/
    .indent1 {
        padding-left: 1em;
        text-indent: -1em;
    }
    /*sitemap*/
    .indent2 {
        padding-left: 2em;
        text-indent: -2em;
    }
    /*sitemap*/
    .indent3 {
        padding-left: 3em;
        text-indent: -2.5em;
    }
}

@media(max-width:1024px) {
    .P_text {
        line-height: 1.6em;
        font-size: 120%;
    }
    .P_text4 {
        line-height: 1.5em;
        font-size: 80%;
        padding-bottom: 10px;
        text-align: left;
        margin-left: 15px;
        margin-right: 15px;
        margin-top: 15px;
    }
    .P_text_c {
        font-size: 120%;
    }
    .P_text_c2 {
        font-size: 85%;
    }
    .P_text1 {
        font-size: 80%;
        margin-left: 15px;
        margin-right: 15px;
        text-align: left;
    }
    .P_text0 {
        line-height: 2em;
        font-size: 100%;
    }
    .P_text3 {
        margin: 20px 10px;
    }
}

@media(max-width:767px) {
    .P_text3_2 {
        line-height: 1.5em;
        font-size: 90%;
        margin-top: 15px;
        margin-bottom: 15px;
        text-align: left!important;      
    }

    .P_disney {
        font-size: 150%;
        padding: 20px 0;
        text-align: center;
        color: #ad9465;
    }

}

/* ---banq上下線のカッコ文字--- */

.P_main1 {
    margin: 20px auto 40px;
    width: 300px;
    font-size: 130%;
    padding: 20px 0;
    border-top: 1px dotted #3e3a6c;
    border-bottom: 1px dotted #3e3a6c;
    text-align: center;
}

@media(max-width:767px) {
    .P_main1 {
        margin: 20px auto 10px;
    }
}


/* ------------dress(flexとテキスト)----------- */

.narabu3 ul {
    max-width: 960px;
    margin: 0 auto;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-around;
    justify-content: space-around;
    list-style: none;
}

.narabu3 ul li {
    margin: 0px;
}

.dress_p {
    text-align: center;
    font-size: 80%;
    letter-spacing: 0.5em;
    padding: 15px 0;
    border-top: 1px solid #999;
}


/* ------------access(テキスト)----------- */

.access_sen {
    width: 100%;
    text-align: center;
    font-size: 80%;
    letter-spacing: 0.5em;
    padding: 15px 0;
    border-top: 1px solid #999;
}

.access_p {
    text-align: left;
    line-height: 2em;
    padding-bottom: 15px;
    font-size: 90%;
}

.access_p1 {
    text-align: left;
    line-height: 2em;
    padding-bottom: 15px;
}


/* ------------FAQ(テキスト)----------- */

.faq01 .question {
    color: 666;
    cursor: pointer;
    font-size: 100%;
    text-decoration: none;
    margin: 15px 0;
    padding-top: 20px;
    padding-bottom: 0px;
    height: 30px;
}

.faq01 .question:hover {}

.faq01 .answer {
    display: none;
    margin: 15px 0;
    padding-top: 20px;
    padding-bottom: 20px;
    border-bottom: 1px dashed #8dc2de;
}

.mojiq {
    font-size: 180%;
    float: left;
    color: #d363b0;
    margin-top: -7px;
    margin-right: 10px;
    margin-left: 10px;
    font-family: serif;
    vertical-align: middle;
    line-height: 30px;
}

.mojia {
    font-size: 180%;
    float: left;
    color: #8dc2de;
    margin-top: -0px;
    margin-right: 10px;
    margin-left: 10px;
    font-family: serif;
    vertical-align: middle;
}

.textq {
    margin-left: 47px;
    line-height: 1.5em;
    text-align: left;
}

.texta {
    margin-left: 47px;
    line-height: 1.5em;
    text-align: left;
}

.faq01 {
    max-width: 980px;
    margin: 0 auto;
}

.P_faq {
    line-height: 2em;
    font-size: 150%;
    text-align: center;
    margin-top: 50px;
}


/*------727以下------*/

@media (max-width:727px) {
    .faq01 .question {
        font-size: 90%;
        margin: 10px 0;
    }
    .faq01 .answer {
        font-size: 90%;
        margin: 10px 0;
    }
}


/* ------------Movies(テキスト)----------- */

.video_container {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    margin: 100px 0;
}

.video_container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

@media(max-width:1024px) {
    .video_container {
        margin: 10px 0;
    }
}


/* ------------concept(テキスト)----------- */

.conce01 {
    margin-top: 80px;
}

.anchor {
    margin: 1em auto 0;
    padding: .5em 0;
    color: #000;
    letter-spacing: .2em;
    text-align: right;
    position: relative;
    cursor: pointer;
    display: inline-block
}

.anchor:before {
    content: "";
    margin: auto;
    width: 100%;
    height: 1em;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    -webkit-transform: rotate(-3deg);
    transform: rotate(-3deg);
    background-color: rgba(165, 212, 226, .2)
}


/* ------------sitemap(flexとテキスト)----------- */

@media (min-width: 768px) {
    .narabu4 {
        display: flex;
        max-width: 960px;
        max-width: var(--large-width);
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 30px;
    }
    .sitep {
        flex: 1;
        padding: 10px;
    }
}

.sitemap_sen {
    text-align: center;
    font-size: 80%;
    letter-spacing: 0.5em;
    padding-top: 0px;
    border-top: 1px solid #1f316c;
}

.sitemapp {
    line-height: 1.4em;
    font-size: 100%;
    text-align: left;
    padding-bottom: 15px;
    margin-bottom: 15px;
    margin-top: 15px;
    border-bottom: 1px dotted #999;
}

.back_960 a,
.back_960_2 a {
    color: #333;
}


/* ------------thanks----------- */

.linesen {
    width: 100%;
    border-top: 1px solid #CCC;
    margin: 70px 0;
}

@media (max-width: 787px) {
    .linesen {
        margin: 20px 0;
    }
}


/* -----------------ページトップへ----------------- */

.pagetop {
    display: none;
    position: fixed;
    bottom: 60px;
    right: 10px;
    z-index: 999;
}

.pagetop a {
    display: block;
    width: 75px;
    height: 60px;
    text-align: center;
    color: #fff;
    font-size: 25px;
    border-radius: 5%;
    background: #9eb5c9;
    padding-top: 5px;
}

@media (max-width: 767px) {
    .pagetop a {
        width: 50px;
        height: 40px;
    }
}


/* -----------------背景サイズ----------------- */

.back_all {
    max-width: 100%;
    color: #FFF;
    background-size: cover;
}

.back_topmain {
    width: 100%;
    color: #FFF;
}


.back_sea {
    max-width: 100%;
    margin: 0 auto;
    text-align: center;
    padding: 240px 20px 130px;
    background-image: url(../images/back_sea.jpg);
    background-repeat: no-repeat;
    background-size: cover;
}

.back_couple {
    background-image: url(../images/back_couple.jpg);
    padding: 50px 0px;
}

/*-----767以下-----*/

@media (max-width: 767px) {
    .back_sea {
        height: 650px;
        padding: 40px 10px 40px;
        background-position: center;
        background-size: cover;
    }
}

/*-----600以下-----*/

@media (max-width: 600px) {
    .back_sea {
        height: 480px;
        padding: 20px 10px 20px;        
    }
}

/*-----414以下-----*/

@media (max-width: 414px) {
    .back_sea {
        height: 420px;
        padding: 10px;
        background-position: top;
    }
}


.back_gray {
    max-width: 100%;
    background: #f4f4f1;
    padding: 20px 0;
}

.back_blue {
    max-width: 100%;
    background: #d3e6f7;
    padding: 0;
}

.back_kinari {
    max-width: 100%;
    background: #f4f4f1;
    padding: 0;
    position: relative;
}

.back_ye {
    max-width: 100%;
    background: #e3e0d2;
    padding: 0;
}

.back_white {
    max-width: 100%;
    background: #FFF;
    /*    border-top: 1px solid #999;*/
}

.back_white2 {
    text-align: center;
    max-width: 100%;
    background: #FFF;
    padding: 0;
}

.back_1500 {
    margin: 0 auto;
    padding: 0px 0;
    max-width: 1500px;
}

.back_1320top {
    margin: 0 auto;
    padding: 0px 0 10px;
    max-width: 1320px;
    text-align: center;
}

.back_1310 {
    margin: 0 auto;
    padding: 20px 0;
    max-width: 1300px;
    text-align: center;
}

.back_1300 {
    margin: 0 auto;
    padding: 20px;
    max-width: 1300px;
    text-align: center;
}

.back_1120_top {
    margin: 20px auto;
    padding: 0px;
    max-width: 1120px;
    height: 500px;
    text-align: center;
    background-image: url(../images/back_couple.jpg);
    background-position: center;
    background-size: cover;
}

.back_1100 {
    margin: 0 auto;
    padding: 20px 0;
    max-width: 1100px;
    text-align: center;
}


.back_1400top {
    margin: 0 auto 30px;
    padding: 0px;
    max-width: 1400px;
    text-align: center;
}

.back_1140 {
    margin: 0 auto;
    padding: 20px 0 30px;
    max-width: 1140px;
    text-align: center;
    margin-top: 0px;
}

.back_all img {
    padding: 0px;
}

.back_800 {
    margin: 20px auto 10px;
    padding: 10px 0 10px;
    max-width: 800px;
    text-align: center;
    font-size: 90%;
    border-top:1px solid #ccc; 
    border-bottom:1px solid #ccc; 
}

.back_960 {
    margin: 0 auto;
    padding: 80px 0 20px;
    max-width: 960px;
    text-align: center;
}

.back_960_2 {
    margin: 0 auto;
    padding: 20px 0 20px;
    max-width: 960px;
    text-align: center;
}

.back_500 {
    margin: 0 auto;
    padding: 20px 0 0px;
    max-width: 500px;
    text-align: center;
}

.sen01 {
    border-top: 1px solid #CCC;
}

.fair {
    max-width: 650px;
    margin: 10px auto 10px;
}

.fair2 {
    max-width: 700px;
    margin: 10px auto 10px;
}

.fair a:hover,
.fair a:active,
{
    opacity: 0.7;
}


/* ----------1024以下---------- */

@media (max-width: 1024px) {
    .back_white {
        padding: 0px;
    }
    .back_gray {
        padding: 0;
    }
    .back_800,   
    .back_1140,
    .back_1000,
    .back_1500,
    .back_white2,
    .back_1320top,
    .back_1310,
    .back_1100{
        margin-top: 0;
        padding: 10px 0;
        margin-left: 10px;
        margin-right: 10px;
        font-size: 90%;
    }
    .back_1300top2 {
        margin: 0 auto 20px;
        padding: 0px 15px;
        max-width: 1300px;
        height: 400px;
        text-align: center;
        background-position: center;
        background-size: cover;
    }
    .back_1300 {
    padding: 0px;
}
    .back_960,
    .back_960_2,
    .back_1100{
        padding: 10px 0;
        margin-left: 15px;
        margin-right: 15px;
        font-size: 90%;
    }
    .back_500 {
        margin: 0 auto;
        padding: 20px 0 0px;
        text-align: center;
    }
    .back_1300_top {
    height: 300px;
    background-image: url(../images/date_sp.png);
    background-size: cover;
    background-position: center;
    margin: 0;
}
    
}
@media(max-width:767px){
    .back_1120_top {
    margin: 20px auto;
    padding: 0px;
    max-width: 767px;
    height: 250px;
    text-align: center;
    background-image: url(../images/back_couple.jpg);
    background-size: cover;
    background-position: left;
}

}

/* -----------------ボタン（共通）----------------- */

.entry01 {
    margin: 0 auto;
    width: 250px;
    background: #bfa270;
    border-radius: 5px;
    color: #DDD;
}

.entry02 {
    font-size: 120%;
    margin: 15px auto;
    max-width: 240px;
    background: #063a56;
    text-align: center;
}

.entry03 {
    margin: 15px auto;
    width: 250px;
    background: #385690;
    text-align: center;
    border-radius: 5px;
}

.entry_sp {
    margin: 3px 3px;
    background: #af9e6a;
    text-align: center;
    color: #FFF;
    line-height: 2;
    font-size: 90%;
    letter-spacing: -0.1em;
}

.entry01 a,
.entry02 a,
.entry03 a, {
    margin: 15px auto;
    width: 250px;
    background: #385690;
    text-align: center;
    border-radius: 5px;
}
 {
    display: block;
    padding: 10px;
    color: #FFF;
}

.entry_sp a {
    display: block;
    padding: 5px;
    color: #FFF;
}

.entry01 a:hover,
.entry02 a:hover,
.entry03 a:hover{
    color: #FFF;
    background: #57524b;
}

.back_white li {
    display: inline-block;
    list-style-type: none;
    margin: 10px;
}

.maru_ent {
    display: block;
    margin: 4em auto;
    border-radius: 40px;
    width: 18em;
    line-height: 3.5em;
    text-align: center;
    letter-spacing: .1em;
    color: #fff;
    background-color: #173854;
}

.maru_ent a {
    color: #fff;
}

.ban_sen {
    margin: 6em auto;
    border-top: 1px solid #999;
    width: 25em;
}

@media (max-width: 1024px) {
    .ban_sen {
        margin: 1em auto;
    }
    .maru_ent {
        margin: 1em auto;
        width: 20em;
        line-height: 2em;
        font-size: 80%;
    }
    .entry02 {
        margin: 10px auto;
        text-align: center;
    }
    .entry01 {
        margin: 0 auto;
        width: 210px;
        background: #bfa270;
        border-radius: 5px;
        color: #DDD;
        border: 1px solid #806d49;
    }
    .back_conta {
        padding: 0 10px;
        max-width: 100vw;
    }
}


/* ------------スライダー----------- */


/*左右の矢印の色を変える*/

.slick-prev:before,
.slick-next:before {
    color: #EEE;
}


/*左右の矢印の位置を変える*/

.slick-next {
    right: 3px;
    z-index: 9;
}

.slick-prev {
    left: 10px;
    z-index: 9;
}


/*スライド数のドットの色を変える*/

.slick-dots li.slick-active button:before,
.slick-dots li button:before {
    color: #999;
}


/* ------------ふわっとする----------- */

.fuwatAnime {
    -webkit-animation-fill-mode: both;
    -ms-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-duration: 1.5s;
    -ms-animation-duration: 1.5s;
    animation-duration: 1.5s;
    -webkit-animation-name: fuwatAnime;
    -ms-animation-name: fuwatAnime;
    animation-name: fuwatAnime;
    visibility: visible !important;
}

@-webkit-keyframes fuwatAnime {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-20px);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
    }
}

@keyframes fuwatAnime {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-20px);
        -ms-transform: translateY(-20px);
        transform: translateY(-20px);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0);
    }
}


/* -----------------メイン　スライド----------------- */

/*
.viewer2 {
    margin: 0px auto 0;
    width: 100%;
    text-align: left;
    overflow: hidden;
}

.viewer2 ul {
    width: 100%;
    height: 700px;
    text-align: left;
    overflow: hidden;
    position: relative;
}

.viewer2 ul li {
    top: 0;
    left: 0;
    width: 100%;
    height: 760px;
    display: none;
    position: absolute;
}

@media (max-width:1024px) {
    .viewer2 ul {
        height: 460px;
    }
}
*/


/* -----------------浮き出る文字----------------- */

.fair0 {
    overflow: hidden;
    margin: 0;
    position: relative;
    top: -1px;
}

.fair0 .caption {
    font-size: 130%;
    color: #fff;
    padding-top: 80px;
    padding-left: 0px;
    font-family: serif;
}

.fair0 .mask {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    /* マスクを表示しない */
    background-color: rgba(0, 0, 0, 0.4);
    -webkit-transition: all 0.6s ease;
    transition: all 0.6s ease;
}

.fair0:hover .mask {
    opacity: 1;
    /* マスクを表示する */
    padding-left: 30px;
    /* 右にずらす */
}

.sankaku{
    position: absolute;
    top: 5px;
    left: 5px;
    width: 75px;
    height: 75px;
    background: rgba(255, 255, 255, 0.9);
    line-height: 2;
    padding-top: 18px;
    color: #333;
    border-radius: 50%;
    font-weight: bold;
    border: 3px dotted #063a56;
    box-shadow: 2px 1px 6px #999;
}


/* -----------------VR360----------------- */

.section-panorama {
    width: 100%;
    width: 100vw;
    height: 100%;
    height: 100vh;
    height: calc(100vh - 120px)
}


/*
    @media (min-width:1025px) {
        .section-panorama {
            height: calc(100% - 85px);
            height: calc(100vh - 85px)
        }
    }
*/


/* -----------------インスタグラム----------------- */

.instagram {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    text-align: center;
    margin-bottom: 30px;
}

.insta_icon {
    margin: 0 auto;
    width: 200px;
}

.instagram ul {
    width: 1300px;
    display: flex;
    flex-wrap: wrap;
}

.instagram ul li {
    width: 158px;
    height: 158px;
    list-style-type: none;
    overflow: hidden;
    position: relative;
    margin: 2px;
}

.instagram ul li img {
    max-width: none;
    width: auto;
    height: 110%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

@media (max-width: 1299px) {
    .instagram ul {
        width: 90vw;
    }
    .instagram ul li {
        width: calc(90vw/4);
        height: calc(90vw/4);
        margin: 0px;
    }
    .insta_icon {
        margin-top: 20px;
    }
}

@media (max-width: 600px) {
    
.instagram {
    margin-bottom: 0px;
}
    
    .instagram ul {
        width: 85vw;
        margin: 0 auto;
    }
    .instagram ul li {
        width: calc(85vw/2);
        height: calc(85vw/2);
        margin: 0px;
    }
}


/* -----------------fairスライダー----------------- */

.swiper-slide {
    cursor: pointer;
}

.sample03 .swiper-button-prev,
.sample03 .swiper-button-next {
    display: block;
}

@media (min-width: 768px) {
    .sample03 .swiper-button-prev,
    .sample03 .swiper-button-next {
        display: none;
    }
}

/* -----------------MAP----------------- */
#map {
	width: 100%;
	height: 500px;
    border-top: 1px solid #ccc;
}

#map2 {
	width: 100%;
	height: 500px;
}

/* ------------モーダルウィンドウの表示----------- */

* html .layer_board_bg,
* html .layer_board {
    position: absolute;
}

.layer_board_bg {
    position: fixed;
    max-width: 60%;
    height: auto;
    top: 0;
    left: 0;
    display: none;
    cursor: pointer;
    /*	background: #000;*/
}

.layer_board {
    display: none;
    position: fixed;
    bottom: 20px;
    left: 1%;
    text-align: center;
    z-index: 9999;
    transition; 
    width:450px;
}
.layer_board img{
    max-height: 87vh;
    width: auto;
}
.btn_close {
    position: absolute;
    top: -50px;
    right: 0px;
}

.btn_close img{
    width: 50px;
}

@media (max-width:1024px) {
    .layer_board {
        width: 90%;
        margin: 0px;
        text-align: center;
        left: 50%;
        transform: translateX(-50%);
        bottom: 70px;
    }
}

@media (max-width:768px) {
    .btn_close {
    position: absolute;
    top: -50px;
    right: 0px;
}
}

@media (max-width:600px) {
    .btn_close {
    position: absolute;
    top: -50px;
    right: 0px;
}
}

@media (max-width:414px) {
    .btn_close {
    position: absolute;
    top: -50px;
    right: 0px;
}
}

/*line固定*/

.line01{
    position:fixed;
    bottom: 25px;
    left: 10px;
    z-index: 999;
}

.line01 img{
    width: 40%;
    
}

@media(max-width:767px){
    
.line01{
    bottom: 30px;
    left: 10px;
}

.line01 img{
    width: 30%;
}
}


/* ------------年末年始のおしらせ----------- */
.aka_back{
    background: #366c89;
    color: #FFF;
    margin-bottom: 10px;
    border-radius: 2px;
    
}

.aka_wall{
    max-width: 800px;
    border: 1px dashed #063a56;
    padding: 15px;
    margin: 0px auto;
    font-size:90%;
    line-height: 1.8;
    color: #333;
}