/* 共通要素 */
body{
    overflow-x: hidden;
    width:100vw;
}
@media screen and (max-width: 768px) {
    body{
        overflow-x: hidden;
        width:100vw;
        background-color: #C9C9C9;
        margin: 0;
    }
}
h2{
    font-size: 3em;
    text-align: center;
}
@media screen and (max-width: 768px) {
    h2{
        font-size: 1.5em;
    }
}
hr{
    border: none;
    border-top: 1px solid #ccc;
    background-color: #FFFFFF;
}
br.cl{
    clear: both;
}
span.underspace{
    padding-bottom:3em;
}
/* 画面上部固定部分 */
#fix-top{
    position:fixed;
    width: 100vw;
    top: 0;
    left: 0;
    z-index: 2;
}
/* ヘッダー部分 */
header{
    display:flex;
    background-color: #FFFFFF;
}
@media screen and (max-width: 768px) {
    header{
        display: block;
        background-color: #FFFFFF;
    }
}
/* ロゴマーク */
#shopsign{
    display: block;
    float: left;
}
@media screen and (max-width: 768px) {
    #shopsign{
        float: left;
        width: 100vw;
    }
}
#shopsign img{
    width: 20vmin;
    height: 20vmin;
    pointer-events: none;
    float: left;
}
/* 店名 */
h1.logo{
    display: block;
    float: left;
    font-size: 2.5em;
    padding-top:0.5em;
    font-family: Zen Antique, serif;
}
@media screen and (max-width: 768px) {
    h1.logo{
        display: block;
        float: left;
        font-size: 1.5em;
        padding-top:0.5em;
        font-family: Zen Antique, serif;
    }
}
/* 電話案内 */
#phonesign{
   display: block;
   float: right;
   position: fixed;
   top: 0;
   right: 0;
}
@media screen and (max-width: 768px) {
   #phonesign{
       display: block;
       width: 100vw;
       float: none;
       position: static;
   }
}

#phonesign img{
   width: 20vmin;
   height: 20vmin;
   float: left;
}
#phonesign p{
   display:block;
   width: 23vw;
   font-weight:bold;
   font-size:1.5em;
   float: left;
}
@media screen and (max-width: 1699px) {
    #phonesign p{
        display: block;
        width: 30vw;
        font-weight: bold;
        font-size:1.5em;
        float: left;
    }
}
@media screen and (max-width: 768px) {
   #phonesign p{
       display:block;
       width: 100vw;
       font-weight: bold;
       font-size: 0.8em;
       float: none;
   }
}
#phonesign a{
   font-family: Special Gothic Expanded One, sans-serif;
   font-size: 1.7em;
   font-weight: 400;
   font-style: normal;
}
/* ナビゲーション */
.menu-icon{
    display: none;
}
@media screen and (max-width: 768px) {
    .menu-icon{
       display: block;
       width: 10vmin;
       height: 10vmin;
       border: solid #000000 1px;
       background-color: #ffffff;
   }
}
label.menu-icon{
    font-size: 1.5em;
    text-align: center;
}
nav{
   display:flex;
   justify-content:center;
   padding-top: 0.5em;
   background-color: #FFFFFF;
   font-family:'源暎こぶり明朝 v6 Regular',serif;
   font-size: 1.6em;
   font-weight: bold;
}
@media screen and (max-width: 768px) {
    nav{
       display: none;
       font-size: 1em;
       width: 100vw;
       padding-top: 0;
       visibility: visible;
   }
}
#menu-toggle:checked + .menu-icon + nav{
   display: block;
}
nav ul{
    list-style-type: none;
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 0;
    margin-bottom: 0.5em;
}
@media screen and (max-width: 768px) {
    nav ul{
        padding: 0;
        margin: 0;
    }
}
nav li{
   float: left;
   padding-left: 1.5em;
   padding-right: 1.5em;
   border-right: solid 1px #000000;
}
@media screen and (max-width: 768px) {
    nav li{
       float: none;
       padding: 0.5em 0 0 0;
       border-left: solid 1px #000000;
       border-top: solid 1px #000000;
       border-right: solid 1px #000000;
   }
}
nav ul>li:nth-child(5){
   border-right: solid 1px #ffffff;
}
@media screen and (max-width: 768px) {
    nav ul>li:nth-child(5){
       border-right: solid 1px #000000;
       border-bottom: solid 1px #000000;
   }
}
nav li a{
   text-decoration: none;
   color: #000000;
}
/* ヘッダーとナビ以外のメイン */
main{
      padding: 0;
      margin: 26vh 0 0 0;
}
@media screen and (max-width: 768px) {
    main{
        margin-top: 21vh;
    }
}
/* 背景 */
#pagetop{
   background-image: url('../_img/base/bg_img_main.png');
   background-size: cover;
   background-position: center;
   background-attachment: fixed;
}
/* アイキャッチ */
#eyecatch{
   scroll-margin-top: 30vh;
}
#eyecatch_wrap{
   display: flex;
   width: 100vw;
   height: 70vh;
   margin: 0;
   position: relative;
   z-index: 0;
   background-image: url('../_img/base/bg_img_eyecatch.png');
   pointer-events: none;
   background-size: cover;
   background-position: right center;
   background-repeat: no-repeat;
   background-color: #2f2c48;
   padding-left; 30vw;
}
@media screen and (max-width: 768px) {
    #eyecatch_wrap{
       display: block;
       height: 30vh;
       padding: 0;
       margin: 0;
    }
}
#eyecatch_wrap p{
   position: absolute;
   z-index: 1;
   color: #FFFFFF;
   padding-left: 10vw;
   padding-top: 20vh;
   font-size: 3em;
   font-family:Zen Antique,serif;
}
@media screen and (max-width: 768px) {
   #eyecatch_wrap p{
      padding-top: 8vh;
      font-size: 1.5em;
   }
}
/* メッセージ */
#message_wrap{
   display: flex;
   justify-content:center;
   height: 60vh;
   background-color:rgba(255,255,255,0.5);
   padding-top: 0.8em;
   padding-bottom: 4em;
}
@media screen and (max-width: 768px) {
   #message_wrap{
       width: 80vw;
       height: 60vh;
       padding-left: 5vw;
   }
}
#message_wrap p{
   font-size: 1.8em;
   margin: auto 0;
   padding-top: 0.8em;
   font-family:'源暎こぶり明朝 v6 Regular',serif;
}
@media screen and (max-width: 768px) {
   #message_wrap p{
   font-size: 1em;
   }
}
#message_wrap img{
    display: block;
    position: absolute;
    padding-top: 40vh;
    padding-left: 50vw;
    width: 20vw;
    height: 25vh;
}
@media screen and (max-width: 768px) {
    #message_wrap img{
        width: 30vw;
        height: 10vh;
        padding-top: 58vh;
        padding-left: 50vw;
    }
}
/* 会場 */
#halls{
    scroll-margin-top: 200px;
}
@media screen and (max-width: 768px) {
    #halls{
        scroll-margin-top: 25vh;
    }
}
#hall_navi{
    display: flex;
    font-size: 1.8em;
    font-weight:bold;
    justify-content:center;
    font-family:'源暎こぶり明朝 v6 Regular',serif;
}
@media screen and (max-width: 768px) {
    #hall_navi{
        display: block;
        font-size: 1em;
    }
}
#hall_navi ul{
    list-style-type:none;
    display:flex;
}
@media screen and (max-width: 768px) {
    #hall_navi ul{
        display: block;
    }
}
#hall_navi li{
    width: 350px;
    padding-right: 5%;
}
@media screen and (max-width: 768px) {
    #hall_navi li{
        display: block;
        width: 15em;
        height: 2em;
        padding-top: 0.2em;
        padding-bottom: 0.2em;
        border-left: solid 1px #000000;
        border-top: solid 1px #000000;
        border-right: solid 1px #000000;
        
    }
}
@media screen and (max-width: 768px) {
    #hall_navi li:nth-child(3){
       border-bottom: solid 1px #000000;
   }
}
#hall_navi a{
    color: #000000;
    text-decoration: none;
    padding: 3%;
    border-bottom: solid 1px #000000;
    border-left: solid 5px #000000;
}
@media screen and (max-width: 768px) {
    #hall_navi a{
        display: block;
        width: 15em;
        height: 2em;
        border-bottom: none;
        border-left: none;
    }
}
#wrap-halls{
    display: block;
    width:100%;
    height:auto;
    padding-left:10%;
    font-family:'源暎こぶり明朝 v6 Regular',serif;
}
@media screen and (max-width: 768px) {
    #wrap-halls{
       padding-left:0;
       padding-top: 0;
    }
}
div.hall-info{
    display: flex;
    width: 100%;
    padding-bottom:3em;
    padding-top:5em;
}
@media screen and (max-width: 768px) {
    div.hall-info{
       display: block;
       padding-top: 0;
       padding-bottom: 1em;
    }
}
#memoricia{
    scroll-margin-top: 100px;
    scroll-margin-left: 500px;
}
#momericia-info{
    display: block;
    width:400px;
    padding-left:5%;
}
#halls h3{
    display: block;
    width: 300px;
    font-size: 36px;
}
@media screen and (max-width: 768px) {
    #halls h3{
        font-size: 1.5em;
    }
}
span.underline{
    border-bottom:solid 1px #000000;
}
#memoricia-slide{
    float: left;
    padding-bottom: 1em;
}
@media screen and (max-width: 768px) {
    #memoricia-slide{
        float: none;
        padding-left: 8vw;
    }
}
ul.slider{
    width: 1000px;
    justify-content: center;
}
@media screen and (max-width: 768px) {
     ul.slider{
         width: 70vw;
     }
}
#halls img{
    width:900px;
    padding-left:2%;
}
@media screen and (max-width: 768px) {
    #halls img{
        width: 55vw;
    }
}
p.hallinfo-txt{
    display: block;
    width: 300px;
    font-size: 30px;
    padding-left: 10%;
}
@media screen and (max-width: 768px) {
    p.hallinfo-txt{
        font-size: 1em;
    }
}
#familia{
    scroll-margin-top: 100px;
    scroll-margin-left: 500px;
    padding-bottom: 10%;
}
@media screen and (max-width: 768px) {
    #familia{
        padding-bottom: 1em;
    }
}

#familia-info{
    display: block;
    width: 400px;
    padding-left: 5%;
}
#familia-slide{
    float: left;
}
@media screen and (max-width: 768px) {
    #familia-slide{
        float: none;
        padding-left: 8vw;
    }
}
#gawasawa{
    scroll-margin-top: 100px;
    scroll-margin-left: 500px;
}
#gawasawa-info{
    display:block;
    width:400px;
    padding-left:5%;
}
#gawasawa-slide{
    float: left;
}
@media screen and (max-width: 768px) {
    #gawasawa-slide{
        float: none;
        padding-left: 8vw;
    }
}
/* 各種オプション */
#options{
    display: block;
    width: 100vw;
    justify-content: center;
    padding-top: 2em;
    scroll-margin-top: 200px;
}
@media screen and (max-width: 768px) {
    #options{
        float: none;
        scroll-margin-top: 25vh;
    }
}
#options h3{
    font-size:2.5em;
}
@media screen and (max-width: 768px) {
    #options h3{
        font-size: 1.5em;
    }
}
#cars{
    display: block;
    width: 100vw;
    justify-content: center;
    padding-left: 25%;
    padding-bottom: 2em;
    font-family: '源暎こぶり明朝 v6 Regular',serif;
}
@media screen and (max-width: 768px) {
    #cars{
        width: 80vw;
        padding-left: 5vw;
        padding-bottom: 2em;
    }
}

.info-car{
    display:flex;
}
@media screen and (max-width: 768px) {
    .info-car{
        display: block;
    }
}
h4{
    font-size: 1.8em;
    font-weight: bold;
}
@media screen and (max-width: 768px) {
    h4{
       font-size: 1.5em;
    }
}
p.strongtxt{
    font-size: 1.8em;
    font-weight: bold;
    padding-left:1.5em;
}
@media screen and (max-width: 768px) {
    p.strongtxt{
       font-size: 1em;
       padding-left: 1em;
    }
}
#cars img{
    width: 400px;
    height: 300px;
}
@media screen and (max-width: 768px) {
    #cars img{
        width: 50vw;
        height: 15vh;
    }
}
p.infotxt{
    font-size: 1.8em;
}
@media screen and (max-width: 768px) {
    p.infotxt{
        font-size: 1em;
        width: 80vw;
    }
}
#nokan{
    display: block;
    width: 100vw;
    justify-content:center;
    padding-left: 25vw;
    padding-top: 5em;
    padding-bottom: 2em;
    font-family:'源暎こぶり明朝 v6 Regular',serif;
}
@media screen and (max-width: 768px) {
    #nokan{
       width: 80vw;
       padding-left: 5vw;
       padding-top: 1em;
       padding-bottom: 1em;
    }
}
#nokan img{
    width: 600px;
    height: 385px;
    padding-top: 1em;
}
@media screen and (max-width: 768px) {
    #nokan img{
        width: 50vw;
        height: 15vh;
    }
}
#souvenir{
    display: block;
    width: 100vw;
    height: 500px;
    justify-content:center;
    padding-left: 25vw;
    padding-top:3em;
    padding-bottom:2em;
    font-family:'源暎こぶり明朝 v6 Regular',serif;
}
@media screen and (max-width: 768px) {
    #souvenir{
       width: 80vw;
       height: 30vh;
       padding-left: 5vw;
    }
}
#souvenir img{
    width: 400px;
    height: 350px;
    padding-top: 1em;
}
@media screen and (max-width: 768px) {
    #souvenir img{
        width: 50vw;
        height: 20vh;
    }
}
#dinners{
    display: block;
    width: 100vw;
    justify-content: center;
    padding-left: 25vw;
    padding-top: 5em;
    padding-bottom: 2em;
    font-family: '源暎こぶり明朝 v6 Regular',serif;
}
@media screen and (max-width: 768px) {
    #dinners{
        width: 80vw;
        padding-left: 5vw;
        padding-bottom: 1em;
    }
}
#dinners img{
    width: 500px;
    padding-top: 1em;
}
@media screen and (max-width: 768px) {
    #dinners img{
        width: 50vw;
        height: 20vh;
        padding-top: 1em;
    }
}

/* 供花・供物 */
#flowers{
    display:block;
    width: 80vw;
    margin: 0 auto;
    padding-top:5em;
    scroll-margin-top: 100px;
}
@media screen and (max-width: 768px) {
    #flowers{
        scroll-margin-top: 15vh;
    }
}
.item-wrap{
    display:block;
    width: 100%;
    height: 2000px;
    padding-left:8%;
}
@media screen and (max-width: 768px) {
    .item-wrap{
        height: 325vh;
        padding-left: 0;
    }
}
.item-info{
    display:block;
    width: 25%;
    height: 35%;
    text-align: center;
    float:left;
    margin-right:2.5%;
    padding-right:2em;
    padding-bottom:0.5em;
    background-color: #FFFFFF;
    border: 1px solid #ccc;
    border-radius: 5px;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 768px) {
    .item-info{
        width: 80vw;
        height: 35vh;
        float: none;
        text-align: left;
    }
}

.item-info img{
    width: 250px;
    height: 350px;
}
@media screen and (max-width: 768px) {
    .item-info img{
        width: 30vw;
        height: 20vh;
        float: left;
    }
}
.item-name{
    font-family:'源暎こぶり明朝 v6 Regular',serif;
    border: solid 1px #FFFFFF;
    /* border: solid 1px #FFFFFF; */
    /* background-color: #7ebeab; */
    background-color:#112040;
    color:#FFFFFF;
    /* background-color: #b5e51d; */
    border-radius: 0 5px 5px 0;
    /* border-radius: 5px; */
    font-size: 1.8em;
    font-weight: bold;
}
@media screen and (max-width: 768px) {
    .item-name{
        font-size: 1.2em;
        padding-left: 5vw;
    }
}
.item-name2{
    font-family:'源暎こぶり明朝 v6 Regular',serif;
    border: solid 1px #FFFFFF;
    /* border: solid 1px #FFFFFF; */
    /* background-color: #7ebeab; */
    /* background-color: #b5e51d; */
    background-color:#112040;
    color:#FFFFFF;
    border-radius: 0 5px 5px 0;
    /* border-radius: 5px; */
    font-size: 1.8em;
    font-weight: bold;
    margin-top: 5px;
    margin-bottom: 5px;
}
@media screen and (max-width: 768px) {
    .item-name2{
        font-size: 1.2em;
        padding-left: 5vw;
    }
}
.price_tag{
    display: block;
    width: 90%;
    float: none;
    font-size: 1.8em;
    padding-bottom: 1em;
    padding-left: 1em;
}
@media screen and (max-width: 768px) {
    .price_tag{
        width: 45vw;
        float: left;
        font-size: 1em
    }
}
span.item_comment{
     font-size: 20px;
}
@media screen and (max-width: 768px) {
    span.item_comment{
        font-size: 0.8em;
    }
}
#how-to-order{
    display: block;
    width: 100%;
    text-align: center;
    padding-bottom: 5%;
}
@media screen and (max-width: 768px) {
    #how-to-order{
       width: 80vw;
    }
}
#flowers h3{
    display: block;
    font-size: 40px;
    text-align: center;
    font-family:'源暎こぶり明朝 v6 Regular',serif;
}
@media screen and (max-width: 768px) {
    #flowers h3{
        font-size: 1.5em;
    }
}
/* アクセス */
#access{
    display: block;
    width: 100%;
    justify-content: center;
    padding-bottom: 3em;
    margin-bottom:-1.5em;
    scroll-margin-top: 350px;
}
@media screen and (max-width: 768px) {
   #access{
       width: 90vw;
       padding-left: 5vw;
       scroll-margin-top: 40vh;
   }
}
#place-wrap{
    display:flex;
    width:100%;
    justify-content: center;
    font-family:'源暎こぶり明朝 v6 Regular',serif;
}
@media screen and (max-width: 768px) {
    #place-wrap{
        display: block;
    }
}
.place{
    display: block;
    float: left;
    justify-content: center;
    padding-right: 5%;
}
@media screen and (max-width: 768px) {
    .place{
        float: none;
    }
}
#access h3{
    font-size: 2.5em;
    border-bottom:solid 1px #000000;
}
@media screen and (max-width: 768px) {
    #access h3{
        font-size: 1.5em;
    }
}
#access h4{
    font-size: 2.5em;
}
@media screen and (max-width: 768px) {
    #access h4{
        font-size: 1.5em;
    }
}
#place-wrap2{
    display: flex;
    justify-content: center;
    font-family:'源暎こぶり明朝 v6 Regular',serif;
    padding-bottom: 3%;
}
@media screen and (max-width: 768px) {
    #place-wrap2{
        display: block;
    }
}
img.img-map{
    width:700px;
    padding-left:12%;
}
@media screen and (max-width: 768px) {
    img.img-map{
        width: 50vw;
        padding-left: 0;
    }
}
#place-wrap3{
    display:flex;
    width:100%;
    justify-content: center;
    font-family:'源暎こぶり明朝 v6 Regular',serif;
}
@media screen and (max-width: 768px) {
    #place-wrap3{
        display: block;
    }
}
a.bt-backtop{
    display:flex;
    align-items:center;
    justify-content:center;
    width:150px;
    height:150px;
    position:fixed;
    bottom: 20px;
    left: 90%;
}
@media screen and (max-width: 768px) {
    a.bt-backtop{
        display: block;
        left: 75vw;
        bottom: 10px;
    }
}
img.img-backtop{
    width:150px;
    height:150px;
}
@media screen and (max-width: 768px) {
    img.img-backtop{
       width: 20vmin;
       height: 20vmin;
    }
}
footer{
    display: block;
    width: 100%;
    height: 20%;
    padding-top: 3em;
    margin: 0;
    background-color:#112040;
    color:#ffffff;
}
@media screen and (max-width: 768px) {
    footer{
        width: 100vw;
        font-size: 0.8em;
    }
}
p.corpinfo{
    display: block;
    float:left;
    padding-left: 10%;
}
@media screen and (max-width: 768px) {
    p.corpinfo{
        float: none;
    }
}
p.cpyrgt{
    display: block;
    float: left;
    padding-top: 2.8em;
    padding-left: 15%;
}
@media screen and (max-width: 768px) {
    p.cpyrgt{
        padding-top: 1em;
        float: none;
    }
}
