@charset "utf-8";
.sp {
    display: none !important;
}

a[href^="tel:"] {
    pointer-events: none;
}
a {
    text-decoration: none;
}

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    vertical-align: baseline;
    background: transparent;
    list-style-type: none;
    font-size: 16px;
    color: #333;
    font-family: "Noto Sans JP", "源ノ角ゴシック", "ヒラギノ角ゴシック Pro",
        "Hiragino Kaku Gothic Pro", 游ゴシック体, "Yu Gothic", YuGothic,
        "Open Sans", "Helvetica Neue", "sans-serif", メイリオ, Meiryo, Osaka,
        "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    line-height: 1.6;
    outline: none;
    letter-spacing: 0.1em;
    word-break: break-word;
}

* {
    transition: 0.5s;
}

html {
    scroll-behavior: smooth;
}

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

body {
    width: 100%;
    overflow-x: hidden;
    background: #000;
}

main {
    background: #e50012;
}

article {
    margin: 0 auto;
}

.font {
    font-family: "Dela Gothic One", sans-serif;
    font-weight: 400;
    font-style: normal;
    transform: scale(0.8, 1);
}

.to_top {
    position: fixed;
    right: 5px;
    bottom: 5px;
    width: 100px;
    height: 100px;
    background: #000;
    border-radius: 50%;
}

.to_top a {
    display: flex;
    height: 100%;
    width: 100%;
    color: #fff;
    align-items: center;
    font-size: 80%;
    text-align: center;
    justify-content: center;
}

.scrolled {
    opacity: 1 !important;
    display: block !important;
}

.page_content .page_header {
    display: block;
    opacity: 1;
}

.page_header {
    background: rgba(0, 0, 0, 0.75);
    opacity: 0;
    display: none;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 9999;
}

.page_header .head_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.page_header h1 span {
    color: #fff;
    font-size: 250%;
    display: block;
}

.page_header .site_menu {
    float: right;
    display: flex;
    width: calc(100% - 450px);
    align-items: center;
    height: 100%;
}

.page_header .site_menu li {
    width: 100%;
}

.page_header .site_menu li a {
    color: #fff;
    display: block;
    font-weight: bold;
    font-size: 85%;
    width: 100%;
    padding: 15px 0;
    text-align: center;
}

.page_header .site_menu li a:hover {
    color: #fdf648;
}

.side_menu {
    position: fixed;
    z-index: 999;
    bottom: 10%;
    background: rgba(0, 0, 0, 0.76);
    padding: 25px 15px;
    border-radius: 0 30px 30px 0;
}

.side_menu li {
    margin: 0 10px 20px;
}

.side_menu li:last-child {
    margin: 0 10px;
}

.side_menu li a {
    color: #fff;
    font-weight: bold;
    text-align: center;
    line-height: 22px;
    display: block;
}

.side_menu li a:hover {
    color: yellow;
    transition: 0.5s;
}

#firstview {
    position: relative;
    z-index: 1;
    padding: 250px 0 0;
    background: URL("../img/backdot_top.png");
    background-size: contain;
    background-position: top;
}

#firstview * {
    z-index: 2;
}

#firstview img {
    position: relative;
}

#firstview h2 {
    position: absolute;
    top: -250px;
    width: 600px;
    z-index: 3;
}

#firstview .map_navi .let_click .letsclick {
    top: -8vw;
    width: 100%;
    left: -110px;
}

#firstview .map_navi .let_click .captain {
    position: absolute;
    top: -170px;
    width: 55%;
    right: -5vw;
}

#firstview:before {
    display: block;
    content: "";
    width: 150vw;
    height: 25vw;
    background: #052852;
    position: absolute;
    border-bottom: 160px solid #12427b;
    top: -20vw;
    transform: rotate(18deg);
    left: -25vw;
    z-index: 0;
}

#firstview:after {
    display: block;
    content: "";
    width: 150vw;
    height: 25vw;
    background: #fef633;
    position: absolute;
    bottom: -12vw;
    transform: rotate(18deg);
    left: -25vw;
    z-index: 0;
}

#firstview .area_map .maplist li.active dl {
    display: block;
}
.area_map .maplist li.show dl {
    display: block;
    z-index: 4;
}

#firstview .area_map .maplist li:hover {
    z-index: 999;
}

#firstview .area_map .maplist li:hover dl {
    display: block;
}

#firstview .area_map .maplist li dl {
    display: none;
    margin: auto;
    position: absolute;
    height: 460px;
    background: #fff;
    border-radius: 20px;
    box-sizing: border-box;
}

.area_map .maplist li.maplist_01 dl {
    border: 15px #eb6d95 solid;
    box-shadow: 12px 12px 0px 0px rgba(75 75 75 / 80%);
}
.area_map .maplist li.maplist_02 dl {
    border: 15px #014099 solid;
    box-shadow: 12px 12px 0px 0px rgba(75 75 75 / 80%);
}
.area_map .maplist li.maplist_03 dl {
    border: 15px #956f29 solid;
    box-shadow: 12px 12px 0px 0px rgba(75 75 75 / 80%);
}
.area_map .maplist li.maplist_04 dl {
    border: 15px #00afcc solid;
    box-shadow: 12px 12px 0px 0px rgba(75 75 75 / 80%);
}
.area_map .maplist li.maplist_05 dl {
    border: 15px #009b74 solid;
    box-shadow: 12px 12px 0px 0px rgba(75 75 75 / 80%);
}
.area_map .maplist li.maplist_06 dl {
    border: 15px #9bca54 solid;
    box-shadow: 12px 12px 0px 0px rgba(75 75 75 / 80%);
}
.area_map .maplist li.maplist_07 dl {
    border: 15px #ed6d00 solid;
    box-shadow: 12px 12px 0px 0px rgba(75 75 75 / 80%);
}
.area_map .maplist li.maplist_08 dl {
    border: 15px #0068b7 solid;
    box-shadow: 12px 12px 0px 0px rgba(75 75 75 / 80%);
}
.area_map .maplist li.maplist_09 dl {
    border: 15px #994e83 solid;
    box-shadow: 12px 12px 0px 0px rgba(75 75 75 / 80%);
}
.area_map .maplist li.maplist_10 dl {
    border: 15px #f39800 solid;
    box-shadow: 12px 12px 0px 0px rgba(75 75 75 / 80%);
}
.area_map .maplist li.maplist_11 dl {
    border: 15px #27b484 solid;
    box-shadow: 12px 12px 0px 0px rgba(75 75 75 / 80%);
}
.area_map .maplist li.maplist_12 dl {
    border: 15px #ba84b8 solid;
    box-shadow: 12px 12px 0px 0px rgba(75 75 75 / 80%);
}
.area_map .maplist li.maplist_13 dl {
    border: 15px #aaa661 solid;
    box-shadow: 12px 12px 0px 0px rgba(75 75 75 / 80%);
}
.area_map .maplist li.maplist_14 dl {
    border: 15px #00a0e9 solid;
    box-shadow: 12px 12px 0px 0px rgba(75 75 75 / 80%);
}
.area_map .maplist li.maplist_15 dl {
    border: 15px #b83d79 solid;
    box-shadow: 12px 12px 0px 0px rgba(75 75 75 / 80%);
}
.area_map .maplist li.maplist_16 dl {
    border: 15px #c1bc4b solid;
    box-shadow: 12px 12px 0px 0px rgba(75 75 75 / 80%);
}
.area_map .maplist li.maplist_17 dl {
    border: 15px #ea535e solid;
    box-shadow: 12px 12px 0px 0px rgba(75 75 75 / 80%);
}
.area_map .maplist li.maplist_18 dl {
    border: 15px #f6ad3a solid;
    box-shadow: 12px 12px 0px 0px rgba(75 75 75 / 80%);
}

#firstview .area_map .maplist li.show a {
    position: relative;
    z-index: 99;
}

#firstview .area_map .maplist li a.more {
    background: #fff600;
    display: block;
    height: auto;
    width: 50%;
    position: absolute;
    bottom: 15px;
    z-index: 99;
    color: #2f2523;
    padding: 7px 0;
    left: 0;
    right: 0;
    margin: auto;
    box-sizing: border-box;
    border-radius: 50px;
    box-shadow: 3px 3px 0px 0px rgba(0, 0, 0, 0.8);
    text-align: center;
    font-weight: bold;
}

@keyframes grow {
    0%,
    40%,
    100% {
        transform: scale(1);
    }
    20% {
        transform: scale(1.5);
    }
}
.area_map .map_point li.show:after {
    display: block;
}

#firstview .area_map .map_point li.active:after {
    display: block;
}

.area_map .map_point li:after {
    display: none;
    content: "";
    width: 40px;
    height: 40px;
    border-radius: 50%;
    animation: grow 3s ease-in-out infinite;
    position: absolute;
    background: #ffff00;
    box-shadow: 0 0 50px #ffff00;
    z-index: 0;
    top: 0;
    margin: auto;
    left: 0;
    right: 0;
}

#firstview .area_map .maplist li dl dt {
    height: 170px;
    margin: 0 auto 15px;
    border-radius: 5px 5px 0 0;
}

#firstview .area_map .maplist li dl dd {
    padding: 0 10px;
}

#firstview .area_map .maplist li dl dd h3 {
    color: #000;
    font-size: 150%;
    line-height: 1.2;
    margin: 0 auto 15px;
    word-break: auto-phrase;
}

#firstview .area_map .maplist li dl dd h3 span {
    margin: 5px auto;
    display: block;
}

#firstview .area_map .maplist li dl dd p {
    font-size: 80%;
}

.letsclick {
    width: 29%;
    position: absolute;
    top: 3vw;
    left: 47%;
    animation: yureru 2s linear infinite;
}

@keyframes yureru {
    0% {
        transform: rotate(0deg);
    }
    50% {
        transform: rotate(-10deg);
    }
    100% {
        transform: rotate(0deg);
    }
}

.tanoshi_machi {
    width: 60%;
    position: absolute;
    bottom: -1vw;
    left: 0%;
    right: 0;
    margin: auto;
    animation: popup 1s linear;
}

@keyframes popup {
    0% {
        width: 0;
    }
    100% {
        width: 60%;
    }
}
/* top event */
.event {
    padding: 80px 0;
    background: URL("../img/backdot_bottom.png") no-repeat;
    background-size: contain;
    background-position: bottom;
    z-index: 1;
    position: relative;
}

.event h2 {
    width: 700px;
    margin: 0 auto 40px;
}

.event .inner {
    width: 1200px;
    margin: 0 auto;
}

.event .more {
    width: 400px;
    margin: 0 auto 40px;
}

.event .more a {
    background: #fff;
    display: block;
    color: #2f2523;
    padding: 15px 0;
    box-sizing: border-box;
    border-radius: 50px;
    box-shadow: 3px 3px 0px 0px rgba(12, 106, 66, 0.8);
    text-align: center;
    font-weight: bold;
    position: relative;
}

.event .more a:after {
    content: "";
    position: absolute;
    top: 50%; /* 縦軸をセンタリングする */
    right: 20px;
    transform: translateY(-50%); /* 縦軸をセンタリングする */
    border: 5px solid transparent;
    border-left: 8px solid #2f2523; /* 好みで色を変えてください */
}

.event .more a:hover {
    background: #fff600;
    box-shadow: none;
}

/* RSS関連 */
section.rss .inner ul {
    overflow: hidden;
    width: 90%;
    margin: 0 auto 40px;
    display: flex;
    flex-wrap: wrap;
}

section.rss .inner ul li {
    width: 32%;
    margin: 0 2% 20px 0;
    border-radius: 20px;
}

section.rss .inner ul li.event_list h3:before {
    content: "イベント";
    display: block;
    position: absolute;
    font-size: 60%;
    background: #01b567;
    left: 5px;
    color: #fff;
    padding: 0 10px;
}

section.rss .inner ul li.news_list h3:before {
    content: "お知らせ";
    display: block;
    position: absolute;
    font-size: 60%;
    background: #0070d3;
    left: 5px;
    padding: 0 10px;
}

section.rss .inner ul li:nth-child(3n) {
    margin: 0 0 20px 0;
}

section.rss .inner ul li a {
    display: block;
}

section.rss .inner ul li a * {
    color: #fff;
}

section.rss .inner ul li a .rss_img {
    position: relative;
    width: calc(100% - 12px);
    box-sizing: border-box;
    border-radius: 20px;
    border: 15px #01b567 solid;
    overflow: hidden;
    margin: 0 0 20px;
    aspect-ratio: 2 / 1.5;
    box-shadow: 12px 12px 0px 0px rgba(12, 106, 66, 0.8);
}

section.rss .inner ul li.news_list a .rss_img {
    border: 15px #0082e5 solid;
    box-shadow: 12px 12px 0px 0px rgba(18, 77, 127, 0.8);
}
section.rss .inner ul li.event_list a .rss_img {
    border: 15px #01b567 solid;
}

section.rss .inner ul li a img {
    transform: scale(1.4);
    height: auto;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
}

section.rss .inner ul li:hover {
    background: #00000047;
}

section.rss .inner ul li a:hover .rss_img img {
    transform: scale(1.6);
}

section.rss .inner ul li a h3 {
    font-size: 140%;
    text-align: center;
    margin: 0 auto 20px;
    position: relative;
}

section.rss .inner ul li a h3 span {
    display: block;
    margin: 0 auto 10px;
    font-size: 50%;
    text-align: right;
    padding-right: 12px;
}
section.rss .inner ul li a h3 span.new_event:before {
    content: "NEW";
    color: yellow;
    margin-right: 10px;
}

section.rss .inner ul li a h3 span em {
    font-style: normal;
    font-size: 100%;
}

section.rss .inner ul li a p {
    width: 90%;
    margin: 0 auto 30px;
}

/* singleページ */
.single .shop_list li {
    display: none;
}

/* page */
.page .content > .inner {
    width: 1100px;
    margin: 0 auto;
}

.page_content .side_menu {
    display: none;
}

.page_content main {
    --margin-top: 73px;
    background: URL("../img/backdot_bottom.png") no-repeat #e50012;
    background-size: contain;
    background-position: bottom;
    height: 50%;
}

.page h2 {
    background: #84847f;
    color: #fff;
    margin: 0 auto 80px;
    padding: 40px 0;
    text-align: center;
    font-size: 150%;
}
#firstview h2 {
    background: none;
}
.page_about h2 {
    background: URL("../img/head_bk_sample.png") #84847f no-repeat;
    background-attachment: fixed;
    background-size: auto;
    background-position: top;
}
.page_news h2 {
    background: URL("../img/head_bk_sample.png") #84847f no-repeat;
    background-attachment: fixed;
    background-size: auto;
    background-position: top;
}
.page_shop h2 {
    background: URL("../img/head_bk_sample.png") #84847f no-repeat;
    background-attachment: fixed;
    background-size: auto;
    background-position: top;
}
.page_association h2 {
    background: URL("../img/head_bk_sample.png") #84847f no-repeat;
    background-attachment: fixed;
    background-size: auto;
    background-position: top;
}
.page_contact h2 {
    background: URL("../img/head_bk_sample.png") #84847f no-repeat;
    background-attachment: fixed;
    background-size: auto;
    background-position: top;
}
.page_thanks h2 {
    background: URL("../img/head_bk_sample.png") #84847f no-repeat;
    background-attachment: fixed;
    background-size: auto;
    background-position: top;
}
.page_privacy h2 {
    background: URL("../img/head_bk_sample.png") #84847f no-repeat;
    background-attachment: fixed;
    background-size: auto;
    background-position: top;
}
.movie_contest h2 {
    background: URL("../img/head_bk_sample.png") #84847f no-repeat;
    background-attachment: fixed;
    background-size: auto;
    background-position: top;
}

.page article {
    background: URL("../img/backdot_top.png") no-repeat;
    background-size: contain;
    background-position: top;
    min-height: 100vh;
}

.page_content main.page_thanks {
    background: #e50012;
}

.page_thanks article {
    background: URL("../img/backdot_top.png") no-repeat;
    background-size: cover;
}

/* page news */
.page .rss {
    background: URL("../img/backdot_bottom.png") no-repeat;
    background-size: contain;
    background-position: bottom;
    margin: 0 auto;
    overflow: hidden;
}

.page .rss .inner {
    width: 1200px;
    margin: 0 auto 120px;
    padding: 60px 0;
    background: #e50012;
}

.page section.rss .inner ul {
    margin: 0 auto;
}

.news_navi {
    display: flex;
    width: 1200px;
    margin: 0 auto;
    justify-content: center;
}

.news_navi li {
    pointer-events: all;
    cursor: pointer;
    font-size: 130%;
    color: #fff;
    width: 20%;
    padding: 20px 0;
    text-align: center;
    font-weight: bold;
}

.news_navi li:first-child {
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
    background: #e50012;
}

.news_navi li.news_li {
    background: #0082e5;
}
.news_navi li.event_li {
    background: #01b567;
}
.news_navi li span {
    display: block;
    color: #fff;
}

.page .rss .news_li li.event_list {
    display: none;
}

.page .rss .event_li li.news_list {
    display: none;
}

.page section.rss .inner ul li {
    margin: 0 auto 20px;
}

.page section.rss .inner ul li:nth-child(3n) {
    margin: 0 auto 20px;
}

/* page_shop */
.page_shop .content {
    overflow: hidden;
}

.page_shop .content > .inner {
    width: 1200px;
    margin: 0 auto 80px;
}

.page_shop .content .inner ul {
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
}

.page_shop .content .inner ul > li {
    width: 24%;
    margin: 0 auto 12px;
    background: #fff;
    position: relative;
    box-sizing: border-box;
}

.page_shop .content .inner ul > li.a01 {
    border: 12px solid #eb6d95;
}
.page_shop .content .inner ul > li.a02 {
    border: 12px solid #014099;
}
.page_shop .content .inner ul > li.a03 {
    border: 12px solid #956f29;
}
.page_shop .content .inner ul > li.a04 {
    border: 12px solid #00afcc;
}
.page_shop .content .inner ul > li.a05 {
    border: 12px solid #009b74;
}
.page_shop .content .inner ul > li.a06 {
    border: 12px solid #9bca54;
}
.page_shop .content .inner ul > li.a07 {
    border: 12px solid #ed6d00;
}
.page_shop .content .inner ul > li.a08 {
    border: 12px solid #0068b7;
}
.page_shop .content .inner ul > li.a09 {
    border: 12px solid #994e83;
}
.page_shop .content .inner ul > li.a10 {
    border: 12px solid #f39800;
}
.page_shop .content .inner ul > li.a11 {
    border: 12px solid #27b484;
}
.page_shop .content .inner ul > li.a12 {
    border: 12px solid #ba84b8;
}
.page_shop .content .inner ul > li.a13 {
    border: 12px solid #aaa661;
}
.page_shop .content .inner ul > li.a14 {
    border: 12px solid #00a0e9;
}
.page_shop .content .inner ul > li.a15 {
    border: 12px solid #b83d79;
}
.page_shop .content .inner ul > li.a16 {
    border: 12px solid #c1bc4b;
}
.page_shop .content .inner ul > li.a17 {
    border: 12px solid #ea535e;
}
.page_shop .content .inner ul > li.a18 {
    border: 12px solid #f6ad3a;
}

.page_shop .content .inner ul > li.displayno {
    display: none !important;
}

.page_shop .content .inner ul > li.area_title,
.page_shop .content .inner ul > li.a_title {
    width: 100%;
}

.page_shop .content .inner ul > li.area_title {
    margin: 50px auto 0;
}

.page_shop .content .inner ul > li.area_title h3 {
    color: #fff;
    font-size: 200%;
}

.page_shop .content .inner ul > li.musa > h3 {
    background: #01b567;
}

.page_shop .content .inner ul > li.higa > h3 {
    background: #9d1827;
}

.page_shop .content .inner ul > li.shin > h3 {
    background: #00a0e9;
}

.page_shop .content .inner ul > li.shop_title h3 {
    font-size: 150%;
    text-align: center;
    color: #fff;
    margin: 0 auto 60px;
}
.page_shop .content .inner ul > li.a_title {
    background: none;
    text-align: center;
    margin: 0 auto 40px;
    border: none;
    padding-top: 84px;
}

.page_shop .content .inner ul > li.a_title h4 {
    color: #fff;
    font-size: 300%;
    position: relative;
    line-height: 1;
    margin: 0 auto 10px;
    overflow: hidden;
    padding: 0 0 3px;
}

.page_shop .content .inner ul > li.a_title h4:before {
    content: attr(data-text); /* 元の文字列をコピー */
    position: absolute;
    top: 0;
    z-index: -1;
    color: black; /* 縁取りの色 */
    -webkit-text-stroke: 0.3em black; /* ブラウザが対応していればこちらを使用 */
}
.page_shop .content .inner ul > li.a_title h5 {
    color: #fef633;
    font-size: 150%;
    position: relative;
    line-height: 1;
    overflow: hidden;
    padding: 0px 0 3px;
}

.page_shop .content .inner ul > li.a_title h5:before {
    content: attr(data-text); /* 元の文字列をコピー */
    position: absolute;
    top: 0;
    z-index: -1;
    color: black; /* 縁取りの色 */
    -webkit-text-stroke: 0.4em black; /* ブラウザが対応していればこちらを使用 */
}

.page_shop .comment img {
    display: none;
}

.page_shop .shop_head .right {
    position: absolute;
    top: 0;
    width: 100%;
    height: 180px;
    overflow: hidden;
    background: #eee;
}

.page_shop .shop_head .right img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

.page_shop .shop_head .left {
    margin-top: 180px;
}
.page_shop .shop_head .left dt {
    position: absolute;
    bottom: -11px;
    padding: 7px 0;
    font-size: 90%;
    font-weight: bold;
    width: 100%;
    color: #fff;
}

.page_shop .a01 .shop_head .left dt {
    background: #eb6d95;
}
.page_shop .a02 .shop_head .left dt {
    background: #014099;
}
.page_shop .a03 .shop_head .left dt {
    background: #956f29;
}
.page_shop .a04 .shop_head .left dt {
    background: #00afcc;
}
.page_shop .a05 .shop_head .left dt {
    background: #009b74;
}
.page_shop .a06 .shop_head .left dt {
    background: #9bca54;
}
.page_shop .a07 .shop_head .left dt {
    background: #ed6d00;
}
.page_shop .a08 .shop_head .left dt {
    background: #0068b7;
}
.page_shop .a09 .shop_head .left dt {
    background: #994e83;
}
.page_shop .a10 .shop_head .left dt {
    background: #f39800;
}
.page_shop .a11 .shop_head .left dt {
    background: #27b484;
}
.page_shop .a12 .shop_head .left dt {
    background: #ba84b8;
}
.page_shop .a13 .shop_head .left dt {
    background: #aaa661;
}
.page_shop .a14 .shop_head .left dt {
    background: #00a0e9;
}
.page_shop .a15 .shop_head .left dt {
    background: #b83d79;
}
.page_shop .a16 .shop_head .left dt {
    background: #c1bc4b;
}
.page_shop .a17 .shop_head .left dt {
    background: #ea535e;
}
.page_shop .a18 .shop_head .left dt {
    background: #f6ad3a;
}

.page_shop .shop_head .left dd {
    font-size: 80%;
    padding: 3px 0;
    width: 100%;
    text-align: center;
}

.page_shop .shop_head .left dd.retail {
    background: #f2f2c0;
}
.page_shop .shop_head .left dd.food {
    background: #f6dbc6;
}
.page_shop .shop_head .left dd.public {
    background: #d7edf1;
}
.page_shop .shop_head .left dd.service {
    background: #edd9e9;
}
.page_shop .shop_head .left dd.industrials {
    background: #dcedd9;
}

.page_shop .shop_head .left p.comment {
    width: 95%;
    margin: 0 auto 10px;
    font-size: 80%;
}

.page_shop .shop_info h4 {
    display: none;
}

.page_shop .shop_info .left {
    width: 95%;
    margin: 0 auto 36px;
}

.page_shop .shop_info .left * {
    font-size: 11px;
}

.page_shop .shop_info .left tr:last-child {
    display: none;
}

.page_shop .shop_info .left th {
    width: 23%;
    padding-right: 5px;
}

.page_shop .shop_info .right {
    display: none;
}

.page_shop .shop_message {
    display: none;
}

.map_navi {
    width: 1100px;
    display: flex;
    margin: 0 auto 20px;
    position: relative;
}

.area_map {
    width: 100%;
    position: relative;
    margin-top: -100px;
}

.page_shop .area_map {
    margin-top: -50px;
}

.area_map ul.map_point {
    background: URL("../img/map_bk.png") no-repeat;
    background-size: cover;
    width: 770px;
    height: 700px;
    margin: 0 0 20px;
    position: relative;
}

.area_map ul.maplist {
    width: 420px;
    position: absolute;
    top: 150px;
    right: 0;
}

.area_map .map_point li {
    width: 45px;
    height: 45px;
    position: absolute;
}

.area_map .map_point li a {
    display: block;
    height: 100%;
}

.page_shop .map_navi .let_click {
    width: 400px;
    position: absolute;
    top: 0;
    right: 0;
}

.page_shop .map_navi .let_click .letsclick {
    width: 100%;
    position: absolute;
    top: -3vw;
    left: -20%;
    animation: yureru 2s linear infinite;
}

.page_shop .map_navi .let_click img.captain {
    display: block;
    width: 60%;
    position: absolute;
    right: 180px;
    top: 410px;
}

.page_shop .area_map .maplist li dl {
    display: none;
    position: absolute;
    top: 10px;
    right: 0;
    margin: auto;
    width: 440px;
    height: 300px;
    background: #fff;
    border-radius: 20px;
    box-sizing: border-box;
    z-index: 3;
}

.page_shop .area_map .maplist li.show dl {
    display: block;
    z-index: 4;
}

.page_shop .area_map .maplist li dl dt {
    background: #eee;
    height: 100px;
    margin: 0 auto 5px;
    border-radius: 5px 5px 0 0;
}

.page_shop .area_map .maplist li dl dd {
    padding: 0 10px;
}

.page_shop .area_map .maplist li dl dd h3 {
    color: #000;
    font-size: 140%;
    line-height: 1.2;
    margin: 0 auto 5px;
    word-break: auto-phrase;
}

.page_shop .area_map .maplist li dl dd h3 span {
    margin: 5px auto;
    display: block;
}

.page_shop .area_map .maplist li dl dd p {
    font-size: 80%;
    display: -webkit-box;
    -webkit-line-clamp: 3; /* 行数を2行までに制限 */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis; /* 省略記号 */
    white-space: normal;
}

.page_shop .area_map .maplist li dl dd a.more {
    display: none;
}

#firstview .area_map .maplist li dl dd p {
    display: -webkit-box;
    -webkit-line-clamp: 4; /* 行数を行までに制限 */
    -webkit-box-orient: vertical;
}

#firstview .area_map .maplist li {
    top: 0;
    left: 0;
}
.page_shop .area_map .maplist li.active dl {
    display: block;
    z-index: 2;
}
#firstview .area_map .maplist li.show dl {
    display: block;
    z-index: 3;
}
.page_shop .area_map .maplist li.show dl {
    display: block;
    z-index: 3;
}
.page_shop .area_map .maplist li.maplist_01 dt {
    background: URL("../img/a01.jpg") no-repeat center;
    background-size: cover;
}
.page_shop .area_map .maplist li.maplist_02 dt {
    background: URL("../img/a02.jpg") no-repeat center;
    background-size: cover;
}
.page_shop .area_map .maplist li.maplist_03 dt {
    background: URL("../img/a03.jpg") no-repeat center;
    background-size: cover;
}
.page_shop .area_map .maplist li.maplist_04 dt {
    background: URL("../img/a04.jpg") no-repeat center;
    background-size: cover;
}
.page_shop .area_map .maplist li.maplist_05 dt {
    background: URL("../img/a05.jpg") no-repeat center;
    background-size: cover;
}
.page_shop .area_map .maplist li.maplist_06 dt {
    background: URL("../img/a06.jpg") no-repeat center;
    background-size: cover;
}
.page_shop .area_map .maplist li.maplist_07 dt {
    background: URL("../img/a07.jpg") no-repeat center;
    background-size: cover;
}
.page_shop .area_map .maplist li.maplist_08 dt {
    background: URL("../img/a08.jpg") no-repeat center;
    background-size: cover;
}
.page_shop .area_map .maplist li.maplist_09 dt {
    background: URL("../img/a09.jpg") no-repeat center;
    background-size: cover;
}
.page_shop .area_map .maplist li.maplist_10 dt {
    background: URL("../img/a10.jpg") no-repeat center;
    background-size: cover;
}
.page_shop .area_map .maplist li.maplist_11 dt {
    background: URL("../img/a11.jpg") no-repeat center;
    background-size: cover;
}
.page_shop .area_map .maplist li.maplist_12 dt {
    background: URL("../img/a12.jpg") no-repeat center;
    background-size: cover;
}
.page_shop .area_map .maplist li.maplist_13 dt {
    background: URL("../img/a13.jpg") no-repeat center;
    background-size: cover;
}
.page_shop .area_map .maplist li.maplist_14 dt {
    background: URL("../img/a14.jpg") no-repeat center;
    background-size: cover;
}
.page_shop .area_map .maplist li.maplist_15 dt {
    background: URL("../img/a15.jpg") no-repeat center;
    background-size: cover;
}
.page_shop .area_map .maplist li.maplist_16 dt {
    background: URL("../img/a16.jpg") no-repeat center;
    background-size: cover;
}
.page_shop .area_map .maplist li.maplist_17 dt {
    background: URL("../img/a17.jpg") no-repeat center;
    background-size: cover;
}
.page_shop .area_map .maplist li.maplist_18 dt {
    background: URL("../img/a18.jpg") no-repeat center;
    background-size: cover;
}

.page_shop .area_map .map_point li.map_01 {
    top: 18%;
    left: 41%;
}
.page_shop .area_map .map_point li.map_02 {
    top: 22%;
    left: 30%;
}
.page_shop .area_map .map_point li.map_03 {
    top: 17%;
    left: 19%;
}
.page_shop .area_map .map_point li.map_04 {
    top: 44%;
    left: 13%;
}
.page_shop .area_map .map_point li.map_05 {
    top: 21%;
    left: 13%;
}
.page_shop .area_map .map_point li.map_06 {
    top: 47%;
    left: 43%;
}
.page_shop .area_map .map_point li.map_07 {
    top: 17%;
    left: 56%;
}
.page_shop .area_map .map_point li.map_08 {
    top: 56%;
    left: 16%;
}
.page_shop .area_map .map_point li.map_09 {
    top: 62%;
    left: 19%;
}
.page_shop .area_map .map_point li.map_10 {
    top: 53%;
    left: 41%;
}
.page_shop .area_map .map_point li.map_11 {
    top: 65%;
    left: 38%;
}
.page_shop .area_map .map_point li.map_12 {
    top: 58%;
    left: 50%;
}
.page_shop .area_map .map_point li.map_13 {
    top: 77%;
    left: 23%;
}
.page_shop .area_map .map_point li.map_14 {
    top: 56%;
    left: 66%;
}
.page_shop .area_map .map_point li.map_15 {
    top: 66%;
    left: 65%;
}
.page_shop .area_map .map_point li.map_16 {
    top: 18%;
    left: 69%;
}
.page_shop .area_map .map_point li.map_17 {
    top: 31%;
    left: 67%;
}
.page_shop .area_map .map_point li.map_18 {
    top: 41%;
    left: 76%;
}

.page_shop .area_map .map_point li a {
    position: relative;
    z-index: 2;
}
.page_shop .area_map .map_point li.map_01 a {
    background: URL("../img/map_01.svg") no-repeat center;
    background-size: contain;
}
.page_shop .area_map .map_point li.map_02 a {
    background: URL("../img/map_02.svg") no-repeat center;
    background-size: contain;
}
.page_shop .area_map .map_point li.map_03 a {
    background: URL("../img/map_03.svg") no-repeat center;
    background-size: contain;
}
.page_shop .area_map .map_point li.map_04 a {
    background: URL("../img/map_04.svg") no-repeat center;
    background-size: contain;
}
.page_shop .area_map .map_point li.map_05 a {
    background: URL("../img/map_05.svg") no-repeat center;
    background-size: contain;
}
.page_shop .area_map .map_point li.map_06 a {
    background: URL("../img/map_06.svg") no-repeat center;
    background-size: contain;
}
.page_shop .area_map .map_point li.map_07 a {
    background: URL("../img/map_07.svg") no-repeat center;
    background-size: contain;
}
.page_shop .area_map .map_point li.map_08 a {
    background: URL("../img/map_08.svg") no-repeat center;
    background-size: contain;
}
.page_shop .area_map .map_point li.map_09 a {
    background: URL("../img/map_09.svg") no-repeat center;
    background-size: contain;
}
.page_shop .area_map .map_point li.map_10 a {
    background: URL("../img/map_10.svg") no-repeat center;
    background-size: cover;
}
.page_shop .area_map .map_point li.map_11 a {
    background: URL("../img/map_11.svg") no-repeat center;
    background-size: cover;
}
.page_shop .area_map .map_point li.map_12 a {
    background: URL("../img/map_12.svg") no-repeat center;
    background-size: cover;
}
.page_shop .area_map .map_point li.map_13 a {
    background: URL("../img/map_13.svg") no-repeat center;
    background-size: cover;
}
.page_shop .area_map .map_point li.map_14 a {
    background: URL("../img/map_14.svg") no-repeat center;
    background-size: cover;
}
.page_shop .area_map .map_point li.map_15 a {
    background: URL("../img/map_15.svg") no-repeat center;
    background-size: cover;
}
.page_shop .area_map .map_point li.map_16 a {
    background: URL("../img/map_16.svg") no-repeat center;
    background-size: cover;
}
.page_shop .area_map .map_point li.map_17 a {
    background: URL("../img/map_17.svg") no-repeat center;
    background-size: cover;
}
.page_shop .area_map .map_point li.map_18 a {
    background: URL("../img/map_18.svg") no-repeat center;
    background-size: cover;
}

.page_about .content {
    overflow: hidden;
}

/* footer */
footer {
    background-color: #01b567;
    overflow: hidden;
    background: URL("../img/bk_green.png") #01b567 no-repeat;
    background-size: cover;
    background-position: bottom;
}

footer .inner {
    width: 1100px;
    margin: 40px auto;
    overflow: hidden;
    position: relative;
}

footer .inner .left {
    float: left;
    width: 70%;
}
footer .inner .right {
    float: right;
}

footer .inner .left h3 {
    color: #fff;
    font-size: 300%;
    position: relative;
    line-height: 1;
    margin: 0 auto 10px;
    overflow: hidden;
    padding: 0 15px 3px;
}

footer .inner .left h3:before {
    content: attr(data-text);
    position: absolute;
    top: 0;
    z-index: -1;
    color: black;
    -webkit-text-stroke: 0.3em black;
}

footer .inner .left ul {
    margin: 0 0 40px 10%;
    width: 40%;
    float: left;
}

footer .inner .left ul li {
    margin: 0 auto 10px;
}

footer .inner .left ul li.foot_menu {
    color: #fff;
    font-weight: bold;
    margin: 60px auto 20px;
}

footer .inner .left ul li a {
    color: #fff;
    padding-left: 20px;
}

footer .inner .right {
    width: 30%;
}

footer .inner .right ul {
    width: 100%;
    display: flex;
    justify-content: center;
}

footer .inner .right ul li {
    width: 50px;
    margin: 0 1%;
}

footer .inner .right .captain {
    width: 320px;
    position: absolute;
    bottom: 50px;
    right: 20px;
}

.foot_info {
    overflow: hidden;
    width: 85%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.foot_info a {
    color: #fff;
    text-decoration: underline;
}

address {
    background: #000;
    color: #fff;
    text-align: center;
    font-size: 90%;
    padding: 20px 0;
}
/*コンタクト*/
.page_content .content-form {
    overflow: hidden;
}

.page_content .content-form .inner {
    background: #fff;
    width: 1100px;
    border-radius: 50px;
    box-sizing: border-box;
    padding: 50px 10%;
    margin: 0 auto 120px;
}

.page_content .content-form .inner p {
    margin: 0 auto 40px;
    text-align: center;
}

.form_tbl {
    width: 100%;
    margin: 0 auto 40px;
}

.form_tbl th {
    font-size: 120%;
    text-align: left;
    vertical-align: middle;
    display: flex;
    align-items: center;
    margin: 0 auto 80px;
    padding: 10px 0;
}

.form_tbl th span {
    background: red;
    color: #fff;
    font-size: 50%;
    padding: 2px 5px;
    border-radius: 5px;
    margin: 0 5px;
}

.form_tbl td {
    width: 65%;
    vertical-align: top;
    margin: 0 auto 30px;
}

.form_tbl td input {
    padding: 10px;
    width: 80%;
}

.form_tbl td textarea {
    padding: 10px;
    width: 80.3%;
}

.checkarea {
    text-align: center;
    margin: 0 auto 40px;
}

.sbmt_btn input {
    background: red;
    border: none;
    color: #fff;
    width: 30%;
    padding: 10px 0;
    display: block;
    margin: 0 auto 40px;
}

.movie_contest {
    overflow: hidden;
}

.movie_contest .inner {
    width: 1100px;
    overflow: hidden;
    margin: 40px auto;
}

.movie_contest .inner img {
    margin: 0 auto 20px;
}

.movie_contest .inner .terms {
    width: 90%;
    box-sizing: border-box;
    border-radius: 50px;
    border: 2px solid #fff;
    padding: 60px 100px;
    margin: 0 auto 40px;
}

.movie_contest .inner .terms * {
    color: #fff;
}
.movie_contest .inner .terms h3 {
    font-size: 150%;
    text-align: center;
    margin: 0 auto 40px;
}

.movie_contest .inner .terms h5 {
    margin: 30px auto 10px;
}
.movie_contest .inner .terms p {
    margin: 0 auto 10px;
}

.movie_contest .inner a.movieform {
    display: block;
    width: 50%;
    margin: 40px auto;
    padding: 20px;
    font-size: 150%;
    background: #000;
    color: #fff;
    text-align: center;
}

.page_about .content .inner {
    width: 1100px;
    margin: 0 auto;
}

.page_privacy {
    overflow: hidden;
}

.page_privacy .inner .policy_content {
    background: #fff;
    border-radius: 50px;
    padding: 50px 10%;
    box-sizing: border-box;
    margin: 0 auto 120px;
}

.page_privacy .inner .policy_content h4 {
    margin: 0 auto 10px;
    font-size: 110%;
}

.page_privacy .inner .policy_content p {
    margin: 0 auto 20px;
}

.page_privacy .inner .policy_content ul {
    margin: 0 auto 40px;
}

.page_privacy .inner .policy_content ul li {
    list-style: circle;
    width: 95%;
    margin: 0 auto;
}

/* about */
.page_about .inner .about_content {
    background: #fff;
    border-radius: 25px;
    padding: 30px 5% 60px;
    margin: 0 auto 60px;
}

.page_about .inner .about_content h3 {
    font-size: 180%;
    text-align: center;
    margin: 0 auto 40px;
}

.page_about .inner .about_content h3 span {
    display: block;
    color: #656565;
}

.page_about .inner .about_content h3 span::after {
    display: block;
    content: "・・・・・・・・・・・・";
    color: #656565;
    font-size: 150%;
}

.page_about .inner .about_we .we_date {
    overflow: hidden;
    width: 100%;
}

.page_about .inner .about_we p {
    float: left;
    width: 75%;
    margin-right: 5%;
}

.page_about .inner .about_we img {
    float: right;
    width: 20%;
}

.page_about .inner .message_date {
    overflow: hidden;
    width: 100%;
}

.page_about .inner .message_date img {
    float: left;
    width: 30%;
    height: 350px;
    background: #333;
}

.page_about .inner .message_date h4 {
    float: right;
    width: 65%;
    font-size: 140%;
    margin: 0 auto 40px;
}

.page_about .inner .message_date h4 span {
    display: block;
    font-size: 80%;
}

.page_about .inner .message_date p {
    float: right;
    width: 65%;
}

.page_about .inner .about_history ul {
    text-align: center;
}

.page_about .inner .about_history ul li {
    border-bottom: 1px solid #70707091;
    width: 70%;
    margin: 0 auto;
}

.page_about .inner .about_history ul li dl {
    overflow: hidden;
}

.page_about .inner .about_history ul li dl dt {
    width: 35%;
    float: left;
    text-align: right;
    margin: 10px auto;
}

.page_about .inner .about_history ul li dl dd {
    width: 60%;
    float: right;
    margin: 10px auto;
    text-align: left;
}

.page_about .inner .about_history ul li dl dd span {
    display: block;
}

.page_about .inner .about_history ul:after {
    display: inline-block;
    content: "～";
    transform: rotate(90deg);
    font-size: 200%;
    margin: 20px auto;
}

.page_about .inner .about_service .service_date ul {
    width: 60%;
    margin: 0 auto 40px;
}

.page_about .inner .about_service .service_date ul li {
    margin: 0 auto 20px;
}

.page_about .inner .about_service .service_date ul li dt span {
    font-size: 100%;
    font-weight: bold;
}

.page_about .inner .about_service .service_date ul li dt {
    font-size: 150%;
    font-weight: bold;
}

.page_about .inner .about_member .member_date {
    width: 90%;
    margin: 0 auto;
}

.page_about .inner .about_member .member_date h4 {
    font-size: 120%;
    border-bottom: 1px solid #000;
    margin: 0 auto 20px;
}

.page_about .inner .about_member .member_date ul {
    width: 95%;
    margin: 0 auto;
}

.page_about .inner .about_member .member_date li {
    border-bottom: 1px solid #00000082;
    margin: 0 auto 20px;
}

.page_about .inner .about_member .member_date li dl {
    display: flex;
    align-items: center;
}

.page_about .inner .about_member .member_date li dt {
    width: 16%;
    padding: 2%;
}
.page_about .inner .about_member .member_date li dt span {
    display: block;
    width: 60%;
    background: #5eb954;
    border-radius: 20px;
    text-align: center;
    color: #fff;
    padding: 0 1%;
    font-size: 80%;
}

.page_about .inner .about_member .member_date li dd {
    width: 80%;
}

.page_association .inner {
    overflow: hidden;
}
.page_association ol {
    width: 900px;
    display: flex;
    margin: 0 auto 40px;
}

.page_association ol li {
    width: 30%;
    margin: 0 1.5%;
}

.page_association ol li a {
    display: block;
    border: 10px solid #000;
    box-sizing: border-box;
    color: #fff;
    text-align: center;
    font-size: 150%;
    padding: 20px 0;
    border-radius: 20px;
    box-shadow: 8px 8px 0px 0px rgba(0, 0, 0, 1);
}

.page_association ol li:first-child a {
    background: #01b567;
}
.page_association ol li:nth-child(2) a {
    background: #00a0e9;
}
.page_association ol li:last-child a {
    background: #9d1827;
}

.page_association ul {
    margin: 0 auto 80px;
}

.page_association ul li {
    margin: 0 auto 20px;
    box-sizing: border-box;
    padding: 10px;
    background: #fff;
    position: relative;
}

.page_association ul li.musa {
    border: 15px solid #01b567;
}
.page_association ul li.shin {
    border: 15px solid #00a0e9;
}
.page_association ul li.higa {
    border: 15px solid #9d1827;
}
.page_association li.shin .aarea {
    background: #00a0e9;
}
.page_association li.higa .aarea {
    background: #9d1827;
}
.page_association li.shin dl dd h4:after {
    color: #00a0e9;
}
.page_association li.higa dl dd h4:after {
    color: #9d1827;
}

.page_association ul li dl {
    display: flex;
}

.page_association ul li dl dt {
    width: 43%;
    border-radius: 0 150px 150px 0;
    overflow: hidden;
    position: relative;
}

.page_association ul li dl dt img {
    position: absolute;
    height: 100%;
    width: auto;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.page_association ul li dl dd {
    width: 55%;
    margin-left: 2%;
    box-sizing: border-box;
    padding: 10px 0;
}

.page_association ul li dl dd h4 {
    font-size: 120%;
    margin: 0 auto;
}

.page_association ul li dl dd h4:after {
    content: "・・・・・・・・・・・・・・・・・・";
    display: block;
    color: #01b567;
}

.page_association ul li dl dd h2 {
    background: none;
    color: #333;
    text-align: left;
    font-size: 200%;
    margin: 0 auto 20px;
    padding: 0;
}

.page_association ul li dl dd p {
    font-size: 90%;
    margin: 0 auto 40px;
}

.page_association .aarea {
    position: absolute;
    bottom: 10px;
    right: 0;
    font-size: 90%;
    background: #01b567;
    color: #fff;
    padding: 5px 10px;
}

.page_association h3 {
    color: #fff;
    font-size: 400%;
    position: relative;
    line-height: 1;
    margin: 0 auto 30px;
    overflow: hidden;
    padding: 0 0 3px;
    text-align: center;
}

.page_association h3:before {
    content: attr(data-text);
    position: absolute;
    top: 0;
    z-index: -1;
    color: black;
    -webkit-text-stroke: 0.3em black;
}

.page_thanks .content-form .inner {
    padding: 120px 0 200px;
}

.to_index a {
    display: block;
    width: 40%;
    margin: 0 auto;
    text-align: center;
    background: #000;
    color: #fff;
    padding: 10px 0;
}

.sign_page h2 {
    width: 100%;
    color: #fff;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.5);
}

/* single */
.single .inner {
    width: 1000px;
    margin: 0 auto;
    padding: 80px 0;
    overflow: hidden;
}

.single .inner .left {
    float: left;
    width: 60%;
}

.single .inner .right {
    float: right;
    width: 38%;
}

.single .shop_head {
    background: #fff;
    box-sizing: border-box;
    border-radius: 30px;
    overflow: hidden;
    padding: 20px 30px;
    margin: 0 auto 20px;
}

.single .shop_info {
    background: #fff;
    box-sizing: border-box;
    border-radius: 30px;
    overflow: hidden;
    padding: 20px 30px;
    margin: 0 auto 20px;
}

.single .shop_message {
    background: #fff;
    box-sizing: border-box;
    border-radius: 30px;
    overflow: hidden;
    padding: 20px 30px;
    margin: 0 auto 20px;
}

.single .shop_head .left dl {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto 10px;
}

.single .shop_head .left {
    width: 60%;
}

.single .shop_head .right {
    width: 38%;
    height: 300px;
    background: #eee;
}

.single .shop_head .left dl dt {
    margin: 0 1% 0 0;
    background: green;
    padding: 3px 10px;
    border-radius: 15px;
    font-size: 100%;
    color: #fff;
    font-weight: bold;
    text-align: center;
}

.single .shop_head .left dl dd {
    background: #ee7800;
    color: #fff;
    border-radius: 15px;
    padding: 3px 10px;
    font-size: 100%;
    font-weight: bold;
    text-align: center;
}

.single .shop_head .left h3 {
    font-size: 170%;
    margin: 0 auto 20px;
}

.single .shop_head .left h3:after {
    content: "・・・・・・・・・・・・・・・・・・";
    display: block;
    font-size: 90%;
}

.single .shop_head .left .comment {
    padding: 15px;
    margin: 0 auto 20px;
    align-items: center;
    font-size: 15px;
    background: rgba(0, 0, 0, 0.05);
    overflow: hidden;
    display: flex;
    align-items: flex-start;
}

.single .shop_head .left .comment img {
    width: 100px;
    height: 100px;
    margin: 0 0 0 1%;
    display: inline-block;
    float: right;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.05);
}

.single .shop_info .left {
    width: 60%;
}

.single .shop_info .right {
    width: 38%;
    margin: 20px auto 0;
}

.single .shop_info h4 {
    font-size: 150%;
    border-bottom: 2px dotted #8f8f8f;
    padding-bottom: 10px;
    margin: 0 auto 20px;
}
.single .shop_info h4 span {
    color: #8f8f8f;
    margin: 0 2%;
}

.single .shop_info table {
    width: 100%;
}

.single .shop_info table tr {
    display: flex;
}

.single .shop_info table th {
    background: #333;
    width: 15%;
    display: block;
    color: #fff;
    font-size: 80%;
    font-weight: normal;
    margin: 0 2% 20px 0;
    padding: 5px 0;
    text-align: center;
}

.single .shop_info table td {
    padding: 5px 0;
    display: block;
}

.single .shop_message h5 {
    font-size: 150%;
    border-bottom: 2px dotted #8f8f8f;
    padding-bottom: 10px;
    margin: 0 auto 20px;
}
.single .shop_message h5 span {
    color: #8f8f8f;
    margin: 0 2%;
}

.single .shop_message ul {
    display: flex;
    margin: 40px auto 0;
}

.single .shop_message ul li {
    display: block;
    width: 40%;
    margin: 0 5%;
}

.single .shop_message ul li img {
    background: #eee;
    height: 100px;
}

.single .musa .shop_head .left h3:after {
    color: #01b567;
}
.single .shin .shop_head .left h3:after {
    color: #00a0e9;
}
.single .higa .shop_head .left h3:after {
    color: #9d1827;
}
.single .musa .inner .left dl dt {
    background: #01b567;
}
.single .shin .inner .left dl dt {
    background: #00a0e9;
}
.single .higa .inner .left dl dt {
    background: #9d1827;
}

.index_page #about {
    position: relative;
    background: URL("../img/backdot_top.png") no-repeat;
    background-size: cover;
    background-position: bottom;
    padding: 70px 0;
}

.index_page #about:after {
    content: "";
    display: block;
    background: URL("../img/backdot_b_top.png") #172f4e top no-repeat;
    background-size: contain;
    position: absolute;
    border-radius: 0 50px 50px 0;
    height: 100%;
    width: 80vw;
    top: 70px;
    left: 0;
    z-index: 2;
}

.index_page #about:before {
    display: block;
    content: "";
    width: 150vw;
    height: 25vw;
    background: #fef633;
    position: absolute;
    bottom: 20%;
    transform: rotate(18deg);
    left: -25vw;
    z-index: 2;
}

.index_page #about .inner {
    width: 1200px;
    margin: 0 auto;
    box-sizing: border-box;
    padding: 70px 3% 200px;
    position: relative;
    z-index: 5;
}

.index_page #about .inner:after {
    content: "";
    display: block;
    width: 55%;
    height: 50%;
    background: URL("../img/top_about_bk.png") no-repeat;
    background-size: contain;
    position: absolute;
    top: 20%;
    right: -7%;
    z-index: 5;
}

.index_page #about .inner * {
    color: #fff;
}

.index_page #about .inner h2 {
    font-size: 280%;
    margin: 0 auto 20px;
}

.index_page #about .inner h2 span {
    font-size: 100%;
    color: #fdf648;
}

.index_page #about .inner h3 {
    font-size: 170%;
    margin: 0 auto 20px;
}

.index_page #about .inner p {
    font-size: 120%;
    width: 50%;
    margin: 0 0 40px;
}

.index_page #about .inner a {
    box-sizing: border-box;
    border: 2px solid #fff;
    padding: 10px 5%;
    border-radius: 30px;
    display: inline-block;
}

.index_page #list {
    position: relative;
    background: URL("../img/backdot_top.png") no-repeat;
    background-size: cover;
    background-position: bottom;
    padding: 70px 0;
    margin-top: -250px;
}

.index_page #list:after {
    content: "";
    display: block;
    background: URL("../img/backdot_b_bottom.png") #1751a3 bottom no-repeat;
    background-size: contain;
    position: absolute;
    border-radius: 50px 0 0 50px;
    height: calc(100% - 140px);
    width: 75vw;
    top: 70px;
    right: 0;
    z-index: 2;
}

.index_page #list .inner {
    width: 1200px;
    margin: 0 auto;
    box-sizing: border-box;
    padding: 70px 0;
    position: relative;
    z-index: 5;
}

.index_page #list .inner h2 {
    color: #fff;
    font-size: 400%;
    position: relative;
    line-height: 1;
    margin: 0 auto 60px;
    overflow: hidden;
    padding: 0 0 3px;
    text-align: center;
}

.index_page #list .inner h2:before {
    content: attr(data-text);
    position: absolute;
    top: 0;
    z-index: -1;
    color: black;
    -webkit-text-stroke: 0.3em black;
}

.index_page #list .inner a.more {
    margin: 40px auto;
    box-sizing: border-box;
    padding: 10px 0;
    border-radius: 30px;
    display: block;
    background: #fff;
    text-align: center;
    width: 30%;
    color: #333;
    box-shadow: 3px 3px 0px 0px rgba(0, 0, 0, 0.8);
}

#list .slider {
    width: 1000px;
    margin: 0 auto;
}

#list .slider li dl {
    margin: 0 2% 0 0;
    height: 460px;
    background: #fff;
    box-sizing: border-box;
    border: 10px #000 solid;
    position: relative;
}

#list .slider li dl dt {
    height: 170px;
    margin: 0 auto 15px;
    border-radius: 5px 5px 0 0;
}

#list .slider li dl dd {
    padding: 0 10px;
}

#list .slider li dl dd p {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
}

#list .slider li dl dd h3 {
    color: #000;
    font-size: 150%;
    line-height: 1.2;
    margin: 0 auto 15px;
    word-break: auto-phrase;
}

#list .slider li dl dd h3 span {
    margin: 5px auto;
    display: block;
}

#list .slider li dl dd p {
    font-size: 80%;
}

#list .slider li.maplist_01 dt {
    background: URL("../img/a01.jpg") no-repeat center;
    background-size: cover;
}
#list .slider li.maplist_02 dt {
    background: URL("../img/a02.jpg") no-repeat center;
    background-size: cover;
}
#list .slider li.maplist_03 dt {
    background: URL("../img/a03.jpg") no-repeat center;
    background-size: cover;
}
#list .slider li.maplist_04 dt {
    background: URL("../img/a04.jpg") no-repeat center;
    background-size: cover;
}
#list .slider li.maplist_05 dt {
    background: URL("../img/a05.jpg") no-repeat center;
    background-size: cover;
}
#list .slider li.maplist_06 dt {
    background: URL("../img/a06.jpg") no-repeat center;
    background-size: cover;
}
#list .slider li.maplist_07 dt {
    background: URL("../img/a07.jpg") no-repeat center;
    background-size: cover;
}
#list .slider li.maplist_08 dt {
    background: URL("../img/a08.jpg") no-repeat center;
    background-size: cover;
}
#list .slider li.maplist_09 dt {
    background: URL("../img/a09.jpg") no-repeat center;
    background-size: cover;
}
#list .slider li.maplist_10 dt {
    background: URL("../img/a10.jpg") no-repeat center;
    background-size: cover;
}
#list .slider li.maplist_11 dt {
    background: URL("../img/a11.jpg") no-repeat center;
    background-size: cover;
}
#list .slider li.maplist_12 dt {
    background: URL("../img/a12.jpg") no-repeat center;
    background-size: cover;
}
#list .slider li.maplist_13 dt {
    background: URL("../img/a13.jpg") no-repeat center;
    background-size: cover;
}
#list .slider li.maplist_14 dt {
    background: URL("../img/a14.jpg") no-repeat center;
    background-size: cover;
}
#list .slider li.maplist_15 dt {
    background: URL("../img/a15.jpg") no-repeat center;
    background-size: cover;
}
#list .slider li.maplist_16 dt {
    background: URL("../img/a16.jpg") no-repeat center;
    background-size: cover;
}
#list .slider li.maplist_17 dt {
    background: URL("../img/a17.jpg") no-repeat center;
    background-size: cover;
}
#list .slider li.maplist_18 dt {
    background: URL("../img/a18.jpg") no-repeat center;
    background-size: cover;
}

.index_page #list .inner .slider a.more {
    background: #fff600;
    display: block;
    height: auto;
    width: 50%;
    position: absolute;
    bottom: 15px;
    z-index: 99;
    color: #2f2523;
    padding: 7px 0;
    left: 0;
    right: 0;
    margin: auto;
    box-sizing: border-box;
    border-radius: 50px;
    box-shadow: 3px 3px 0px 0px rgba(0, 0, 0, 0.8);
    text-align: center;
    font-weight: bold;
}

#list .slider .slick-prev {
    position: absolute;
    content: "";
    top: 50%;
    left: -100px;
    display: block;
    width: 60px;
    height: 110px;
    cursor: pointer;
    background: URL("../img/arrow_l.png");
}
#list .slider .slick-next {
    position: absolute;
    content: "";
    top: 50%;
    right: -100px;
    display: block;
    width: 60px;
    height: 110px;
    cursor: pointer;
    background: URL("../img/arrow_r.png");
}

#list .slider .slick-prev:before,
#list .slider .slick-next:before {
    display: none;
}

#list .slider .slick-list {
    margin: 40px auto 100px;
}

#list .slider .slick-dots {
    bottom: -50px;
}

#list .slider .slick-dots li button {
    background: #ffffff87;
    border-radius: 50%;
}
#list .slider .slick-dots li.slick-active button {
    background: #fff;
}

.slick-dots li button:before {
    display: none;
}

/* 仮オープン用非表示 */

.index_page #pickup {
    display: none;
}
.index_page #about .inner a {
    display: none;
}

.test_site_menu {
    display: none;
}

.side_menu {
    display: none;
}
footer .inner .right ul.sns_box {
    display: none;
}

.page_shop .shop_head .left p.comment img {
    display: none;
}

/*test2503*/

.page_association_item .breadcrumb {
    background-color: #656565;
}

.page_association_item .breadcrumb .breadcrumb-list {
    overflow: hidden;
    width: 1100px;
    padding: 20px 0 10px;
    margin: 0 auto;
}

.page_association_item .breadcrumb .breadcrumb-list li {
    float: left;
    margin: 0 0.5%;
    color: #fff;
}

.page_association_item .breadcrumb .breadcrumb-list li a {
    color: #fff;
}

.page_association_item .breadcrumb li::after {
    content: "/";
    color: #fff;
    margin-left: 5px;
}

.page_association_item .breadcrumb li:last-child::after {
    display: none;
}

.page_association_item article {
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
    position: relative;
}

.page_association_item article::after {
    display: block;
    content: "";
    width: 100%;
    height: 385px;
    position: absolute;
    top: 0;
    z-index: 0;
}
.association_01 article::after {
    background: URL("../img/a01.jpg") no-repeat;
    background-size: cover;
    background-position: bottom;
}
.association_02 article::after {
    background: URL("../img/a02.jpg") no-repeat;
    background-size: cover;
    background-position: bottom;
}
.association_03 article::after {
    background: URL("../img/a03.jpg") no-repeat;
    background-size: cover;
    background-position: bottom;
}
.association_04 article::after {
    background: URL("../img/a04.jpg") no-repeat;
    background-size: cover;
    background-position: bottom;
}
.association_05 article::after {
    background: URL("../img/a05.jpg") no-repeat;
    background-size: cover;
    background-position: bottom;
}
.association_06 article::after {
    background: URL("../img/a06.jpg") no-repeat;
    background-size: cover;
    background-position: bottom;
}
.association_07 article::after {
    background: URL("../img/a07.jpg") no-repeat;
    background-size: cover;
    background-position: bottom;
}
.association_08 article::after {
    background: URL("../img/a08.jpg") no-repeat;
    background-size: cover;
    background-position: bottom;
}
.association_09 article::after {
    background: URL("../img/a09.jpg") no-repeat;
    background-size: cover;
    background-position: bottom;
}
.association_10 article::after {
    background: URL("../img/a10.jpg") no-repeat;
    background-size: cover;
    background-position: bottom;
}
.association_11 article::after {
    background: URL("../img/a11.jpg") no-repeat;
    background-size: cover;
    background-position: bottom;
}
.association_12 article::after {
    background: URL("../img/a12.jpg") no-repeat;
    background-size: cover;
    background-position: bottom;
}
.association_13 article::after {
    background: URL("../img/a13.jpg") no-repeat;
    background-size: cover;
    background-position: bottom;
}
.association_14 article::after {
    background: URL("../img/a14.jpg") no-repeat;
    background-size: cover;
    background-position: bottom;
}
.association_15 article::after {
    background: URL("../img/a15.jpg") no-repeat;
    background-size: cover;
    background-position: bottom;
}
.association_16 article::after {
    background: URL("../img/a16.jpg") no-repeat;
    background-size: cover;
    background-position: bottom;
}
.association_17 article::after {
    background: URL("../img/a17.jpg") no-repeat;
    background-size: cover;
    background-position: bottom;
}
.association_18 article::after {
    background: URL("../img/a18.jpg") no-repeat;
    background-size: cover;
    background-position: bottom;
}

.page_association_item article .association_head {
    width: 40%;
    margin: 150px auto 100px;
    text-align: center;
    position: relative;
    z-index: 2;
}

.page_association_item article .association_head h1 {
    color: #fff;
    background-color: rgba(1, 181, 103, 0.91);
    font-size: 250%;
    box-sizing: border-box;
    padding: 50px;
}
.association_01 article .association_head h1 {
    background-color: rgba(235, 109, 149, 0.91);
}
.association_02 article .association_head h1 {
    background-color: rgba(1, 64, 153, 0.91);
}
.association_03 article .association_head h1 {
    background-color: rgba(149, 111, 41, 0.91);
}
.association_04 article .association_head h1 {
    background-color: rgba(0, 175, 204, 0.91);
}
.association_05 article .association_head h1 {
    background-color: rgba(0, 155, 116, 0.91);
}
.association_06 article .association_head h1 {
    background-color: rgba(155, 202, 84, 0.91);
}
.association_07 article .association_head h1 {
    background-color: rgba(237, 109, 0, 0.91);
}
.association_08 article .association_head h1 {
    background-color: rgba(0, 104, 183, 0.91);
}
.association_09 article .association_head h1 {
    background-color: rgba(153, 78, 131, 0.91);
}
.association_10 article .association_head h1 {
    background-color: rgba(243, 152, 0, 0.91);
}
.association_11 article .association_head h1 {
    background-color: rgba(39, 180, 132, 0.91);
}
.association_12 article .association_head h1 {
    background-color: rgba(186, 132, 184, 0.91);
}
.association_13 article .association_head h1 {
    background-color: rgba(170, 166, 97, 0.91);
}
.association_14 article .association_head h1 {
    background-color: rgba(0, 160, 233, 0.91);
}
.association_15 article .association_head h1 {
    background-color: rgba(184, 61, 121, 0.91);
}
.association_16 article .association_head h1 {
    background-color: rgba(193, 188, 75, 0.91);
}
.association_17 article .association_head h1 {
    background-color: rgba(234, 83, 94, 0.91);
}
.association_18 article .association_head h1 {
    background-color: rgba(246, 173, 58, 0.91);
}

.page_association_item article .association_head h1 span::before {
    content: "・・・・・・・・・・・・・・・・";
    display: block;
    margin: 20px auto;
}

.page_association_item article .association_head h1 span {
    display: block;
    color: #fff;
    font-size: 60%;
}

.page_association_item .association_body {
    width: 1100px;
    margin: 0 auto;
    text-align: center;
    background: #fff;
    padding: 50px;
    border-radius: 20px;
    box-sizing: border-box;
}

.page_association_item .association_body .about {
    margin-bottom: 50px;
}

.page_association_item .association_body h3 {
    font-size: 200%;
    /*color:#fff;*/
    color: #333;
    margin: 0;
}

.page_association_item .association_body h3 span {
    display: block;
    /*color:#fff;*/
    color: #333;
    margin-bottom: 10px;
}

.page_association_item .association_body .about p {
    color: #333;
    /*color:#fff;*/
}

.page_association_item .association_body .about h3 span::after {
    content: "・・・・・・";
    display: block;
}

.page_association_item .association_body .pick h3 span::after {
    content: "・・・・・・・・・・・・・・・・・・・・・";
    display: block;
}

.page_association_item .association_body .pick ul {
    width: 100%;
    margin: 0 auto 50px;
    overflow: hidden;
}

.page_association_item .association_body .pick ul li {
    width: 30%;
    float: left;
}

.page_association_item .association_body .pick ul li:nth-child(2) {
    margin: 0 5%;
}

.page_association_item .association_body .pick ul li img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    margin-bottom: 10px;
}

.page_association_item .association_body .pick ul li p {
    font-weight: bold;
    font-size: 90%;
    color: #333;
    /*color:#fff;*/
}

.page_association_item .association_body .pick iframe {
    width: 100%;
    height: 600px;
}

.page_movie h1 span {
    font-size: 20px;
}

.page_movie .content iframe {
    width: 100%;
    height: 50vw;
}

.page_content main.page_movie {
    background: #000;
}

.page_content main.page_movie article {
    background: none;
}

header.page_movie h1 span {
    font-size: 20px;
}

header.page_movie h1 {
    width: 100%;
    text-align: center;
}
.rotate-page {
    transform: rotate(-90deg);
    transform-origin: top left;
    width: 130vh;
    -x-height: 100vw;
    margin-top: 130vh;
    margin-left: 1vw;
}
