@charset "UTF-8";
/* CSS Document */

/*------------------------------ Common elements ------------------------------*/

* {
margin:0;
padding:0;
}

.clearfix:after {
content:"";
clear:both;
display:block;
}

body {
background:#fff;
margin:0;
padding:0;
font-family:"游ゴシック体 Pr6N D", 游ゴシック体, "Yu Gothic Pr6N D", YuGothic, "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
font-size:13px;
letter-spacing:0.05em;
line-height:2em;
}

a {outline:none;}

a:link {color:#000; text-decoration:none; transition:all 0.5s ease;}
a:visited {color:#000; text-decoration:none;}
a:hover {color:#535353; text-decoration:none; transition:all 0.5s ease;}

img {
border:0;
vertical-align:bottom;
}

nav {
font-family: 'Spartan', sans-serif;
font-weight:300;
}

#slide_frame {position:relative;}

.swiper-pagination {
font-size:0;
margin:10px 0 0;
text-align:center;
width:100%;
position:absolute;
bottom:0px;
}

.swiper-pagination-bullet {
background:#000 !important;
margin:0 15px 0 0;
width: 5px !important;
height: 5px !important;
display: inline-block;
border-radius: 100%;
opacity:.3 !important;
}

.swiper-pagination-bullet:last-child {margin:0;}

.swiper-pagination-bullet-active {
background:#fff !important;
opacity:1 !important;
}

/*========================================================================================================================
  for Smartphone
========================================================================================================================*/

@media (max-width: 640px) {

/*------------------------------ Common elements ------------------------------*/

.line-sp {display:block;}

section {
margin:6em auto 0;
width:90%;
}

header {
background:#fff;
position:fixed;
left:0;
top:0;
z-index:10;
width:100%;
}

.header {
position:fixed;
top:0;
width:100%;
background:#fff;
transition:all 0.5s ease;
}

.hidden {
background:#fff;
transition:all 0.5s ease;
}

header h1 {
margin:0;
padding:15px 0;
text-align:center;
}

header h1 img {width:30%;}

#nav_pc {display:none;}

.sns_icon img {height:15px;}

#sns_pc {display:none;}

.hidden #header_logo {
transition:all 0.5s ease;
}

/*------------------------------ Slide ------------------------------*/

#titleimage {
margin:0;
padding:0;
position:relative;
width:100%;
}

#titleimage .logo {
margin:0 auto;
padding:50px 0;
width:50%;
}

#titleimage .logo img {
width:100%;
}

#slide_logo {
margin:0;
position:absolute;
bottom:60px;
width:100%;
z-index:5;
}

#slide_logo img {
position:absolute;
width:75%;
margin:0 0 0 5%;
}

#slide {
margin:0;
width:100%;
}

#slide_frame {
margin:0;
width:100%;
}

.swiper-container {
margin:0;
width:100%;
}

.swiper-wrapper {
margin:0;
width:100%;
}

.swiper-slide img {
height:300px;
object-fit:cover;
width:100%;
}

/*------------------------------ Intro ------------------------------*/

#intro {
font-weight:400;
letter-spacing:0.4em;
margin:100px auto 0;
width:85%;
}

#intro h2 {
font-size:13px;
margin:40px 0 0;
text-align:center;
}

#intro h2 span {letter-spacing:0;}

#intro .titleimage img {
object-fit:cover;
height:300px;
width:100%;
}

/*------------------------------ Display & Styling ------------------------------*/

#about {
margin:0 auto;
width:85%;
}

#about h2 {
font-family: 'Spartan', sans-serif;
font-size:12px;
font-weight:500;
letter-spacing:0.4em;
padding:40px 0;
text-align:center;
position:relative;
}

#about h2:before {
border-top:2px #000 solid;
content:"";
display:block;
margin:auto;
position:absolute;
top:0;
left:0;
right:0;
width:100px;
}

#about h2 span {letter-spacing:0;}

#about h3 {
font-size:15px;
font-weight:400;
letter-spacing:7px;
text-align:center;
}

#about h2 span {letter-spacing:0;}

#about .titleimage img {
object-fit:cover;
height:300px;
width:100%;
}

.about_detail {
margin:2em 0 0;
text-align:justify;
}

.about_detail p {
letter-spacing:0.1em;
margin:1em 0 0;
}

#about .gallery {
margin:2em 0 0;
}

#about .gallery ul {
margin:1em 0 0;
}

#about .gallery li {
list-style:none;
margin:0 0 5%;
width:100%;
}

#about .gallery img {
aspect-ratio: 16 / 11;
border-radius:5px;
height:100%;
width:100%;
object-fit: cover;
}

.gallery_caption {
display:block;
padding:0.5em 0 0;
text-align:justify;
}

.gallery_caption strong {
font-size:1.2em;
font-weight:400;
}

/*------------------------------ Event ------------------------------*/

#event {
margin:100px auto 0;
width:85%;
}

#event h2 {
font-family: 'Spartan', sans-serif;
font-size:12px;
font-weight:500;
letter-spacing:0.4em;
padding:40px 0;
text-align:center;
position:relative;
}

#event h2:before {
border-top:2px #000 solid;
content:"";
display:block;
margin:auto;
position:absolute;
top:0;
left:0;
right:0;
width:100px;
}

#event h2 span {letter-spacing:0;}

#event h3 {
font-size:15px;
font-weight:400;
letter-spacing:7px;
text-align:center;
}

#event h2 span {letter-spacing:0;}

#event .titleimage img {
object-fit:cover;
height:300px;
width:100%;
}

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

.event_detail p {
letter-spacing:0.1em;
margin:1em 0 0;
}

/*------------------------------ About ------------------------------*/

#shops {
margin:100px auto 0;
text-align:center;
width:85%;
}

.shop_item {
margin:3em 0 0;
width:100%;
}

.shop_item:first-child {margin:0;}

#shops .titleimage img {
border-radius:5px;
object-fit:cover;
height:200px;
width:100%;
}

.shop_detail {
margin:1em 0 0;
text-align:center;
}

.shop_detail p {
letter-spacing:2px;
margin:1em 0 0;
}

.shop_detail li {
letter-spacing:0.1em;
list-style:none;
text-align:left;
}

.shop_detail li.title {
font-size:1.2em;
padding:0 0 0.3em;
}

/*------------------------------ Footer ------------------------------*/
footer {
background:#fff;
margin:4em 0 0;
padding:2em 0;
text-align:center;
width:100%;
}

.footer_content {
margin:0 auto;
width:90%;
}

footer .info {padding:1em 0;}

footer .info .line {display:block;}

.footer_logo {padding:0 0 2em;}

.footer_logo img {width:40%;}

.footer_icon {
border-top:1px #000 solid;
padding:1em 0 0;
text-align:center;
}

.footer_icon ul{display:inline-block;}

.footer_icon li {
float:left;
display:block;
margin:0 20px;
list-style:none;
}

footer .copyright {
border-top:1px #000 solid;
font-family: 'Spartan', sans-serif;
padding:1em 0 0;
font-size:12px;
}

}

/*========================================================================================================================
  for PC
========================================================================================================================*/

@media (min-width: 641px) {

body {
font-size:14px;
line-height:26px;
}

header {
background:#fff;
position:fixed;
left:0;
top:0;
z-index:10;
height:47px;
width:100%;
}

#header_content {
margin:0 auto;
padding:5px 0;
width:960px;
transition:all 0.5s ease;
}

#header_logo {
float:left;
width:150px;
}

#header_logo img {
transition:all 0.5s ease;
width:60%;
}

nav {
float:right;
width:805px;
font-size:12px;
line-height:1em;
letter-spacing:0.2em;
}

nav li a span {letter-spacing:0;}

#nav_pc ul {
text-align:right;
height:37px;
}

#nav_pc li a {
position: relative;
display: inline-block;
text-decoration: none;
}

#nav_pc li a::after {
position: absolute;
border-radius:1px;
bottom: -1px;
left: 0;
content: '';
width: 100%;
height: 2px;
background: #535353;
opacity: 0;
visibility: hidden;
transition: .5s;
}

#nav_pc .sns_icon a::after {height:0;}

#nav_pc li a:hover::after {
bottom: 2px;
opacity: 1;
visibility: visible;
}

#header_content li {
list-style:none;
display:inline-block;
height:37px;
padding:0 0 0 2em;
}

#header_content li a {
height:37px;
display:table-cell;
vertical-align:middle;
}

#header_content li a:link {color:#000;}

#header_content li a:visited {color:#000;}

#header_content li a:hover {color:#535353;}

.hidden #header_content li a:link {color:#000;}

.hidden #header_content li a:visited {color:#000;}

.hidden #header_content li a:hover {color:#535353;}

#nav_sp {display:none;}

.header {
position:fixed;
top:0;
width:100%;
background:#fff;
transition:all 0.5s ease;
}

.hidden {
background:#fff;
transition:all 0.5s ease;
}

.hidden header {
height:97px;
transition:all 0.5s ease;
}

.hidden #header_content {
padding:30px 0;
transition:all 0.5s ease;
}

.hidden #header_logo img {
transition:all 0.5s ease;
width:100%;
}

.sns_icon img {height:17px;}

.line-pc {display:block;}

/*------------------------------ Slide ------------------------------*/

#titleimage {
margin:97px auto 0;
padding:0;
position:relative;
width:100%;
}

#titleimage .logo {
margin:0 auto;
padding:30px 0;
width:250px;
}

#titleimage .logo img {
width:100%;
}

#slide_logo {
margin:0;
position:absolute;
left:35px;
bottom:30px;
width:450px;
z-index:5;
}

#slide_logo img {width:100%;}

#slide {
margin:0;
width:100%;
}

#slide_frame {
margin:0;
width:100%;
}

.swiper-container {
margin:0;
width:100%;
}

.swiper-wrapper {
margin:0;
width:100%;
}

.swiper-slide img {
aspect-ratio: 16 / 9;
height:100%;
object-fit: cover;
width:100%;
object-position:bottom;
}

/*------------------------------ Intro  ------------------------------*/

#intro {
font-weight:400;
letter-spacing:0.5em;
margin:100px auto 0;
width:960px;
}

#intro h2 {
font-size:18px;
margin:40px 0 0;
text-align:center;
}

/*------------------------------ Display & Styling ------------------------------*/

#about {
margin:100px auto 0;
width:960px;
}

#about h2 {
font-family: 'Spartan', sans-serif;
font-size:15px;
font-weight:400;
letter-spacing:10px;
padding:40px 0;
text-align:center;
position:relative;
}

#about h2:before {
border-top:2px #000 solid;
content:"";
display:block;
margin:auto;
position:absolute;
top:-2px;
left:0;
right:0;
width:100px;
}

#about h2 span {letter-spacing:0;}

#about h3 {
font-size:15px;
font-weight:400;
letter-spacing:7px;
text-align:center;
}

#about h2 span {letter-spacing:0;}

#about .swiper-slide img {
height:550px;
object-fit: cover;
width:100%;
}

.about_detail {
margin:0 auto 100px;
text-align:justify;
width:600px;
}

.about_detail p {
letter-spacing:2px;
margin:1em 0 0;
}

#about .gallery ul {
display:flex;
flex-wrap: wrap;
width:100%;
}

#about .gallery li {
list-style:none;
margin:0 2% 2% 0;
width:49%;
}

#about .gallery li:nth-child(2n) {
margin:0 0 2% 0;
}

#about .gallery img {
aspect-ratio: 16 / 10;
border-radius:5px;
height:auto;
width:100%;
object-fit: cover;
}

.gallery_caption {
display:block;
padding:1em 0 0;
text-align:justify;
}

.gallery_caption strong {
font-size:1.5em;
font-weight:400;
}

/*------------------------------ Event ------------------------------*/

#event {
margin:100px auto 0;
width:960px;
}

#event h2 {
font-family: 'Spartan', sans-serif;
font-size:15px;
font-weight:400;
letter-spacing:10px;
padding:40px 0;
text-align:center;
}

#event h2:before {
border-top:2px #000 solid;
content:"";
display:block;
margin:auto;
position:absolute;
top:-2px;
left:0;
right:0;
width:100px;
}

#event h2 span {letter-spacing:0;}

#event h3 {
font-size:15px;
font-weight:400;
letter-spacing:7px;
text-align:center;
}

#event .swiper-slide img {
height:550px;
object-fit: cover;
width:100%;
}

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

.event_detail p {
letter-spacing:2px;
margin:1em 0 0;
}

/*------------------------------ About  ------------------------------*/

#shops {
margin:100px auto 0;
text-align:center;
width:960px;
}

.shop_item {margin:4em 0 0;}

.shop_item:first-child {margin:0;}

.shop_detail {
float:left;
padding:0 40px 0 0;
box-sizing: border-box;
width:300px;
}

.shop_detail li {
letter-spacing:2px;
list-style:none;
text-align:left;
}

.shop_detail li.title {
font-size:1.5em;
padding:0 0 20px;
}

#shops .titleimage {
float:right;
width:660px;
}

#shops .titleimage img {
border-radius:5px;
height:auto;
width:100%;
}

/*------------------------------ Footer ------------------------------*/

footer {
background:#fff;
margin:4em 0 0;
padding:2em 0;
text-align:center;
width:100%;
}

.footer_content {
margin:0 auto;
width:960px;
}

footer .info {padding:0;}

.footer_logo {
float:left;
padding:0;
}

.footer_logo img {width:140px;}

.footer_icon {
float:left;
width:820px;
text-align:right;
}

.footer_icon ul{display:inline-block;}

.footer_icon li {
float:left;
display:block;
margin:0 0 0 25px;
list-style:none;
}

.footer_icon li:first-child {margin:0;}

footer .copyright {
border-top:1px #000 solid;
font-family: 'Spartan', sans-serif;
font-size:10px;
letter-spacing:0.2em;
margin:20px 0 0;
padding:1em 0 0;
}

}