@charset "utf-8";

.social.index,
section.today .titlearea {
    display:-webkit-box;
  	display:-ms-flexbox;
    display: flex;
}

.social.index {
    -webkit-box-pack: center;
	-ms-flex-pack: center;
    justify-content: center; 
}

section.today .titlearea {
    -webkit-box-align: end;
	-ms-flex-align: end;
    align-items: flex-end;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.today .rowlist {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}


/* ==================================================================
　　ヘッダー - .site-header
================================================================== */

.index .site-title.homelogo a { margin-top: 0.75em; }

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

.index .swiper-container {
    height: 100vh;
    top:0;
    z-index: 19;
}
.swiper-slide {
    height: 100%;
    background-position: center;
    background-size: cover;
}

.swiper-slide a {
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
    display: block;
}
/*
.swiper-slide a:hover { -webkit-transform: scale(1.03);transform: scale(1.03); }
*/
.swiper-slide.none {
    text-indent: 100%;
    white-space: nowrap;
    overflow:hidden;
}

.swiper-pagination-bullet { background-color: #000;transition: .2s linear;box-shadow: 0 0 10px rgba(0,0,0,0.3); }


/* -------------------------------------------
　　右下SNS
------------------------------------------- */

.index.social {
    width: auto;
    background-color: rgba(0,0,0,0.8);
    padding: 0.9em 1.2em 0.9em 0.9em;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 20;
    text-align: center;
    font-size: 1.25em;
}
.index.social p { display: inline-block; }
.index.social .sns a { padding-bottom: 0;font-size: 1.25em; }
.index.social .sns { padding-bottom: 0; }

.index.social .lang { margin-left: 0.6em; }
.index.social .lang a,
.index.social .lang span{ width: auto; }


/* ==================================================================
　　コンテンツ - .site-main
================================================================== */

.content-area,
article > section.today { margin-top: 5em; }
article > section { margin-top: 3em; }

/* ----- スライダー下部 ピックアップ ----- */
.pickup li{
    max-width: 1100px;
    margin: 1.5em auto;
    display: block;
    clear: both;
    box-shadow: 1px 1px 10px rgba(0,0,0,0.3);
}
.pickup img,
.pickup a{display: block;margin: 0 auto;}
.pickup a:hover img { opacity: 1; }

.pickup li.guidance {
    margin-top: 2em;
    padding: 1.5em 1em;
    background: rgba(255,255,255,0.6);
    color: #000;
    border: 8px double rgba(0,0,0,0.5);
}
.pickup li.guidance p { margin-bottom: 1.4em; }
.pickup li.guidance a { display: inline-block;font-weight: bold; }
.pickup .sub-title span { border-bottom-color: #000; }

/* ----- Todays下部 動画 ----- */
.index .rowlist.none { margin-bottom: 2em; }
.index .movie {
    padding-bottom: 56.25%;
    position: relative;
    height: 0;
    text-align: center;
}
.index .movie iframe {
    margin: 0 auto;
    position: absolute;
    width: 100% !important;
    height: 100% !important;
    top: 0;
    left: 0;
}

/* -------------------------------------------
　　本日の営業案内
------------------------------------------- */

.index .section-title span { display: block;line-height: 1; }
.index .section-title span.en { width: 100%;height: 1.25em; }
.index .today .section-title span.jp {
    font-size:1.25rem;
    letter-spacing: 0.2em;
    position: absolute;
	top:0.1em;
}

.today .update { font-size: 1em; }
.today .update span {
    padding-left: 1.3em;
    background-repeat: no-repeat;
    background-position: 0% 50%;
    font-size: 2em;
    border-bottom: none;
    line-height: 1;
}

.today .rowlist { margin-top: 1.05em }

.today .rowlist .row2{
    margin: 0;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
    position: relative;
}
.today .rowlist .row2.photo {
    margin: 25px -6% 25px 0;
    z-index: 10;
}
.today .rowlist .row2.right {
    width: 56%;
    padding: 3% 4% 3% 8%;
    background-color: rgba(255,255,255,0.8);
    z-index: 5;
}

.today .rowlist .row1 { margin-bottom: 2.5em; }
table.normal.season { 
    margin:2% 0 0 0;
    border-top: none;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
	border-collapse: separate;
}
table.normal.season tr:last-child td { border-bottom: none; }


/* -------------------------------------------
　　NEWS
------------------------------------------- */

article > section.news { margin: 1.5em;padding: 0; }
article > section.news > .inner { max-width: 100%; word-break: break-all; }
article section.event > .inner { padding-top:4.5em; }

.news .link_more {
    margin:4em 0.5em 0 auto;
    padding:0.8em 3em;
    float: right;
}
.news .link_more:hover { margin:4.2em 0.5em -0.2em auto;padding:0.8em 3.5em; }

.news .rowlist { width: 100%; }
.news .rowlist:not(.none) li { width: 16.6%;margin: 0 0 1em 0;padding: 1%; }
.news .photo {
    padding-top: 70%;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
    display: block;
}
.news li > a:hover span { -webkit-transform: rotate(3deg);transform: rotate(3deg);transition: .2s linear; }

.news .meta .title {
    margin: 0.8em 0 0.5em 0;
    padding-bottom: 0.5em;
    border-bottom: 1px dotted rgba(0,0,0,0.5);
}
.news .meta { font-size: 0.875em; }
.news .meta .icon { margin: 0; font-size: 0.938em; }
.news .meta .categoryicon { font-weight: bold; }


/* -------------------------------------------
　　Point
------------------------------------------- */

.point li { width: 50%;margin-right: 0; float: right; }
.point li a { display: block; }
.point li:not(:first-child) { padding-top: 5em;text-align: center; }
.point li:first-child { padding-top: 1.6em; }
.point li:nth-child(2) { padding-top: 3em; }
.point li:nth-child(2n+1) {float: left;}

.point li:not(:first-child) .inner { 
    width: 85%;
    margin: -10% auto 0 auto;
    padding: 4% 8% 5% 8%;
    background-color: rgba(255,255,255,0.8);
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
    position: relative;
    z-index: 10;
}
.point .inner p { margin:1.5em 0 0.5em 0; }

.point .normal_title {
    padding: 5.5% 11% 0 5.5%;
    font-size: 1.25em;
    font-weight: bold;
    line-height: 2;
    letter-spacing: 0.15em;
}

.point .number {
    width: 2em;
    margin: 0 !important;
    padding: 0;
    font-size: 4.5em;
    font-weight: bold;
    line-height: 1;
    display: inline-block;
    position: relative;
    z-index: 10;
}
.point .number span {
    display: inline-block;
    letter-spacing: 0;
    line-height: 1;
}
.point .number span::after {
    width: 85%;
    height: 0.1em;
    margin:0 auto;
    content: '';
    display: block;
}
.point .number::before {
    width: 2em;
    height: 2em;
    margin-top: -0.389em;
    margin-left: -0.39em;
    content: '';
    position: absolute;
    z-index: -1;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 100% auto;
	/*
    -webkit-animation: circleAnime 5s linear infinite;
    animation: circleAnime 5s linear infinite;
	*/
}

@media all and (-ms-high-contrast: none) {
    .point .number::before { margin-left: 0 !important; }
}

@keyframes circleAnime {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); }
}

.point .photo { 
    margin-top: -2.2em;
    position: relative;
    z-index: 5;
    display: block;
}
.point .photo:hover img { -webkit-transform: scale(1.05);transform: scale(1.05);opacity: 1;transition: .2s linear; }
.point .photo img { 
    width: 100%;
    height: auto;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
}

.point .sub-title { line-height: 2.3; }
.point .sub-title span { border-bottom-width: 0.2em;padding-bottom: 0.3em; }
.point h5 {
    font-size: 1em;
    text-align: left;
    font-weight: normal;
    line-height: 1.8;
}

/* -------------------------------------------
　　その他
------------------------------------------- */

article > section.accessad { padding: 0 2% 0 0; }
article > section.accessad > .inner {
    max-width: 100%;
    width: 100%;
    padding-bottom: 0;
}

/* ----- アクセス ----- */
.access { width: 70%;display: inline-block; }
.index .site-main iframe { margin: 0; }
.access .otherbg .inner { 
    width: 680px;
    padding:3em 0 2.5em 0;
    text-align: center;
}

.logoimg { float: left;margin-right: 2em; }
.access .description { 
    font-size: 1.125em;
    margin-bottom: 1em;
    letter-spacing: 0.1em;
}
.access .inner .clearfix {
    width: auto;
    margin-bottom: 1.5em;
    display: inline-block;
    text-align: left;
}
.access .otherfont { 
    font-size: 2.4em;
    line-height: 1.3;
    letter-spacing: 0;
}
address { font-style: normal;display: inline-block; }
.access .link_more { padding-left: 3em;padding-right: 3em; }
.access .link_more:hover { padding-left: 3.5em;padding-right: 3.5em; }

/* ----- 広告 ----- */
ul.ad { width: 28%;display: inline-block;float: right;padding-left: 2em; }
ul.ad li {  margin: 0;padding-bottom: 1.2em; }
ul.ad li img { width: 240px;height: auto;display: block;background-color: #fff; }




/* ==========================　Media Queries CSS ============================ */

/* ======================== 1024px以下 ========================== */
@media screen and (max-width: 1024px) {
    .point .normal_title { font-size: 1.125em;line-height: 1.8; }
    .access,
    ul.ad { width: 100%;display: block;text-align: center; }
    ul.ad { padding-top: 3em; }
    ul.ad li { display: inline-block;padding-bottom: 0.8em; }
}

/* ======================== 960px以上 1279px以下 ========================== */
@media screen and (min-width:960px) and (max-width: 1279px) {
    .today .update span { background-size: auto 99%; }
    .today .update span b { display: block; margin-left: 1.3em; }
}

/* ======================== 959px以下 ========================== */
@media screen and (max-width: 959px) {
    .index .container { height: calc( 100vh - 5.5em );}
    .content-area,
    article > section.today { margin-top: 12%; }
    article > section { margin-top: 6%; }
    .pickup li { margin-top: 2%; }
    .index.social { font-size: 1.125em; }
    .index .swiper-pagination { text-align: left;margin-left:2em; }
    
    section.today .titlearea { display: block;text-align: center; }
    .today .update { padding-top: 3%; }
    .today .update span { background-size: auto 80%; }
    .today .rowlist { margin-top: 0; }
    .today .rowlist .row1 { margin-top: 2em; }
    .today .rowlist .row2 { width: 100%; }
    .today .rowlist .row2.right { width: 90%;margin: 0 auto;padding: 0 6% 6% 6%; }
    .today .rowlist .row2.photo { margin-bottom: -2.5em;z-index: 4; }
    
    .news .rowlist:not(.none) li { width: 33.3%;padding: 1.5%; }
    article > section.news { margin: 1.5em 0; }
    
    .point li,
    .point li:nth-child(2n+1) { width: 100%; float: none;}
    .point li:first-child { text-align: center; }
    .point .normal_title { padding: 3% 0 1% 0; }
    
    .index .access .otherbg .inner { width: 96%; }
    .access .inner .clearfix { text-align: center; }
    .access .link_more,
    .access .link_more.none { width:90%;display: block;margin: 1em auto;padding:1em 0; }
    .access .link_mor:hover::before { margin-right: 0.5em;}
    .access .link_more:hover { padding:1.2em 0;margin: 0.8em auto; }
    .logoimg { float: none; margin: 0 auto 1em auto;display: block; }
    
}

/* ======================== 559px以下 ========================== */
@media screen and (max-width: 559px) {
    .index .container { height: calc( 100vh - 5em );}
    .index .swiper-pagination { margin-left:1.2em; }
    .index.social { padding: 0.6em; }
    .index.social .lang { display: none; }
    
    .today .update span { font-size: 5.5vw; }
    .index .site-main .section-title { margin-bottom: 1rem; }
    .index .today .section-title span.jp { font-size: 3.5vw; }
    
    article > section.news > .inner { text-align: center; }
    .index.page .news .link_more { margin-top: 1.2em;float: none; }
    .index.page .news .link_more:hover { margin-top: 1.4em; }
    .news .rowlist { text-align: left; }
    .point .normal_title { font-size: 1.066em; }
    .access .description { font-size: 1em; }
}

/* ======================== 479px以下 ========================== */
@media screen and (max-width: 479px) {
    .index .container { height: calc( 100vh - 4.5em );}
    .index .swiper-container-horizontal > .swiper-pagination-bullets {bottom:0.8em;}
    .index .swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet { margin: 0 3px;}
    
    .today .rowlist .row2.photo { margin-bottom: 0; }
    .today .rowlist .row2.right { width: 100%; }
    .news .rowlist:not(.none) li { width: 50%; }
    .point .normal_title { font-size:1em; }
    .point .sub-title br { display: none; }
}