@charset "UTF-8";

body {
	color: #322f28;
	padding-top: 19.14vw;
}
@media (min-width: 768px) {
	body {
		padding-top: 5.99vw;
	}
}

img {
	max-width: 100%;
}

/*----------------------------------------------------
 Reset
----------------------------------------------------*/
*,
*::before,
*::after {
    box-sizing: border-box;
}

/*----------------------------------------------------
 component
----------------------------------------------------*/
/* innerlink */
.innerlink {
	display: block;
	height: 0;
	position: relative;
	top: -19.14vw;
}
#news-sec.innerlink {
	top: -50vw;
}

@media (min-width: 768px) {
	.innerlink {
		top: -5.99vw;
	}
	#news-sec.innerlink {
		top: -14vw;
	}
}


/*----------------------------------------------------
 header
----------------------------------------------------*/
.header {
	align-items: center;
	background: #fff;
	color: #132b1e;
	display: flex;
	height: 5.99vw;
	justify-content: space-between;
	padding: 1em;
}
/* nav */
.header-nav {
	width: 27.08vw;
}
.header-nav ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}
.header-nav ul li {
	font-size: 0.78vw;
	line-height: 1;
	width: 25%;
}
.header-nav ul li:nth-child(n+5) {
	margin-top: 1em;
}
.header-nav ul li a {
	color: inherit;
	font-size: inherit;
	text-decoration: none;
}
/* date */
.header-date {
	font-size: 2.66vw;
}
.header-date p {
	line-height: 1;
}


/*----------------------------------------------------
 info2
----------------------------------------------------*/
header div.info2 {
	color: #fff;
	top: 25vw;
}
header div.info2 p.year {
	font-size: 6.6vw;
}
header div.info2 p.vol {
	font-size: 2.03vw;
}
header div.info2 svg.icon-rudder {
	height: 6.1vw;
	width: 5.34vw;
}
@media (min-width: 768px) {
	header div.info2 p.year {
		font-size: 3.65vw;
	}
	header div.info2 p.vol {
		font-size: 1.04vw;
	}
	header div.info2 svg.icon-rudder {
		height: 3.23vw;
		width: 2.86vw;
	}
	header div.info2 {
		top: 8vw;
	}
}

/*----------------------------------------------------
 nav-cnt
----------------------------------------------------*/
header div.nav-cnt {
	top: 8vw;
}
header div.nav-cnt nav div.nav-wrap ul.gnav>li {
	line-height: 1.2;
}
header div.nav-cnt nav div.nav-wrap ul.gnav>li>a {
	color: #f5d95f;
	display: block;
	font-size: 0.94vw;
	font-weight: bold;
	height: auto;
	margin-top: 0.73vw;
	padding-right: 2.08vw;
	position: relative;
}
header div.nav-cnt nav div.nav-wrap ul.gnav>li>a::after {
	content: '>';
	position: absolute;
	top: 50%;
	right: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

/*----------------------------------------------------
 header sp
----------------------------------------------------*/
.header-sp {
	align-items: center;
	background: #fff;
	display: flex;
	flex-wrap: wrap;
	height: 19.14vw;
	justify-content: space-between;
	padding: 0 5.21vw;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
}
.header-sp-logo {
	width: 47.92vw;
}
.gmenu {
	width: 100%;
}

/*----------------------------------------------------
 gmenu toggle
----------------------------------------------------*/
.gmenu-toggle {
    cursor: pointer;
    display: inline-block;
    height: 40px;
    position: relative;
    width: 40px;
    z-index: 10;
}
.gmenu-toggle span {
    background: #000;
    display: block;
    height: 2px;
    margin-top: -1px;
    position: absolute;
    top: 50%;
    left: 8px;
    transition: .2s;
    width: 24px;
}
.gmenu-toggle span::before,
.gmenu-toggle span::after{
    background: #000;
    content: "";
    display: block;
    height: 2px;
    position: absolute;
    top: 50%;
    left: 0;
    transition: .3s;
    width: 24px;
}
.gmenu-toggle span::before{
    margin-top: -10px;
}
.gmenu-toggle span::after{
    margin-top: 8px;
}

/* open */
.gmenu-open .gmenu-toggle span {
    background: transparent;
}

.gmenu-open .gmenu-toggle span::before,
.gmenu-open .gmenu-toggle span::after{
    background: #000;
    margin-top: 0;
}

.gmenu-open .gmenu-toggle span::before{
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
}

.gmenu-open .gmenu-toggle span::after{
    transform: rotate(-135deg);
    -webkit-transform: rotate(-135deg);
}

/*----------------------------------------------------
 gmenu
----------------------------------------------------*/
.gmenu,
.gmenu * {
    -webkit-transition: all .5s;
    transition: all .5s;
}

.gmenu {
    background: #fff;
    height: 0;
    overflow-y: hidden;
    position: absolute;
    top: 19.14vw;
    left: 0;
    width: 100%;
    z-index: 9999;
}

.gmenu-open .gmenu {
		background: rgba(255,255,255,.8);
    height: 100vh;
    overflow-y: scroll;
}
.gmenu-in {
    height: 100%;
}

.gmenu li a {
    border-bottom: 1px solid #000;
    color: #000;
    display: block;
    font-size: 1.5rem;
    padding: 0;
    text-align: center;
    text-decoration: none;
}
.gmenu li:first-child a {
	border-top: 1px solid #000;
}

.gmenu-open .gmenu li a {
    padding: 1rem;
}


/*----------------------------------------------------
 main-visual
----------------------------------------------------*/
.main-visual {
	position: relative;
}
.main-visual img {
	width: 100%;
}
/* news */
.news {
	color: #fff;
	position: absolute;
	top: 88%;
	left: 5.25%;
	width: 89.5%;
}
.news li {
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
	padding: 1em .25em .25em .25em;
}
.news li time {
	display: block;
	font-size: 3.3vw;
	line-height: 1;
}
.news li span {
	display: block;
	font-size: 4.07vw;
}

@media (min-width: 768px) {
	/* news */
	.news {
		top: 83%;
		left: 51.5%;
		width: 27.6%;
	}
	.news li {
		align-items: center;
		display: flex;
		justify-content: flex-start;
		padding: 1.3vw 0.57vw;
	}
	.news li time {
		font-size: .83vw;
	}
	.news li span {
		font-size: .83vw;
		margin-left: 1.56vw;
	}
}

/*----------------------------------------------------
 about
----------------------------------------------------*/
/* map */
.about-map {
	background: #132b1e;
	padding-bottom: 13.02vw;
	text-align: center;
}
.about-map a {
	display: inline-block;
	width: 61.2vw;
}
/* slider */
.about-slider {
	background: #132b1e;
	padding-bottom: 13.02vw;
	padding-left: 4.56vw;
}
.about-slider .slick-slide {
	padding-right: 2.08vw;
	width: 57.29vw;;
}
/* slider dots */
.about-slider .slick-dots {
	align-items: flex-start;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	padding-top: 1em;
}
.about-slider .slick-dots li:nth-child(n+2) {
	margin-left: 3px;
}
.about-slider .slick-dots button {
	background: #fff;
	border: 0;
	height: 4px;
	text-indent: -9999px;
	width: 6.51vw;
}
.about-slider .slick-dots .slick-active button {
	background: #f5d95f;
	width: 10.68vw;
}

@media (min-width: 768px) {
	.about-img {
		position: relative;
	}
	.about-img > img {
		width: 100%;
	}
	/* map */
	.about-map {
		background: transparent;
		padding-bottom: 0;
		position: absolute;
		top: 59.5%;
		left: 21%;
		width: 13.54%;
	}
	.about-map a {
		display: block;
		width: 100%;
	}
	.about-map a img {
		width: 100%;
	}
	/* slider */
	.about-slider {
		background: transparent;
		padding-bottom: 0;
		padding-left: 0;
		position: absolute;
		top: 71%;
		left: 21%;
	}
	.about-slider .slick-slide {
		padding-right: 0.83vw;
		width: 21.88vw;
	}
	.about-slider .slick-slide img {
		width: 100%;
	}
	/* slider dots */
	.about-slider .slick-dots {
		padding-top: 1.2vw;
	}
	.about-slider .slick-dots li:nth-child(n+2) {
		margin-left: 0.26vw;
	}
	.about-slider .slick-dots button {
		height: 0.21vw;
		width: 2.76vw;
	}
	.about-slider .slick-dots .slick-active button {
		width: 4.32vw;
	}
}

/*----------------------------------------------------
 events
----------------------------------------------------*/
.events {
	background: #f5d95f;
	padding: 11.45vw 0;
}
.events-in {
	margin: 0 auto;
	width: 89.06vw;
}
.events-title {
	margin: 0 auto 8.14vw;
	width: 45.7vw;
}
/* nav */
.events-nav {
	margin-bottom: 8.14vw;
}
.events-nav li:nth-child(n+2) {
	padding-top: 3vw;
}
.events-nav span {
	border: 1px solid #322f28;
	border-radius: 14vw;
	cursor: pointer;
	display: block;
	font-size: 4.58vw;
	line-height: 1;
	padding: 4.58vw 0;
	text-align: center;
	width: 100%;
}
.events-nav span.events-active {
	background: #fff;
	color: #4d4d4d;
}
/* detail */
.events-detail {
	min-height: 147.66vw;
}
.events-detail-each {
	display: none;
}
.events-detail-active {
	display: block;
}
@media (min-width: 768px) {
	.events {
		padding: 4.01vw 40px 6.25vw;
	}
	.events-in {
		margin: 0 auto;
		width: 100%;
	}
	.events-title {
		margin: 0 auto 3.13vw;
		width: 14.58%;
	}
	/* nav */
	.events-nav {
		margin: 0 auto 4.01vw;
		width: 49.79%;
	}
	.events-nav ul {
		align-items: center;
		display: flex;
		justify-content: space-between;
	}
	.events-nav li {
		width: 22.5%;
	}
	.events-nav li:nth-child(n+2) {
		padding-top: 0;
	}
	.events-nav span {
		border-radius: 3vw;
		font-size: 0.83vw;
		padding: 1vw 0;
	}
	/* detail */
	.events-detail {
		min-height: 44.84vw;
		margin: 0 auto;
		width: 33.96%;
	}
	.events-detail img {
		width: 100%;
	}
}

/*----------------------------------------------------
 stamp
----------------------------------------------------*/
.stamp-main {
	position: relative;
}
.stamp-map {
	position: absolute;
	left: 70vw;
	top: 79.275%;
	width: 24vw;
}
.stamp-map a {
	display: block;
	height: 5vw;
	margin-bottom: 4vw;
	width: 100%;
}

@media (min-width: 768px) {
	.stamp img {
		width: 100%;
	}
	.stamp-map {
		position: absolute;
		left: 43.25vw;
		top: 71%;
		width: 5.25vw;
	}
	.stamp-map a {
		height: 1.25vw;
		margin-bottom: 1.05vw;
	}
}

/*----------------------------------------------------
 access
----------------------------------------------------*/
.access {
	padding: 15.52vw 5.5vw 0;
}
/* title */
.access-title {
	margin: 0 auto 10.18vw;
	width: 43.88vw;
}
/* map */
.access-map {
	width: 100%;
}
.access-map iframe {
  height: 100%;
	width: 100%;
  object-fit: cover;
/* 画像の比率 width / height */
  aspect-ratio: 35 / 43;
}
/* links */
.access-links {
}
.access-links-each {
	align-items: center;
	border-bottom: 1px solid #322f28;
	display: flex;
	justify-content: space-between;
	padding: 3vw 1vw;
	width: 100%;
}
.access-links-name {
	font-size: 4.58vw;
}
.access-links-map a {
	color: inherit;
	font-size: 3.31vw;
}

@media (min-width: 768px) {
	.access {
		margin: 0 auto;
		padding: 7.45vw 0 0;
		width: 57.29vw;
	}
	/* title */
	.access-title {
		margin: 0 auto 2.71vw;
		width: 14.01vw;
	}
	.access-title img {
		width: 100%;
	}
	/* map */
	.access-map {
		margin-bottom: 2.5vw;
	}	
	.access-map iframe {
		/* 画像の比率 width / height */
		aspect-ratio: 110 / 43;
		aspect-ratio: 4 / 3;
	}
	/* links */
	.access-links {
		align-items: flex-start;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.access-links-each {
		padding: 1.3vw .6vw;
		width: 47.45%;
	}
	.access-links-name {
		font-size: 1.04vw;
	}
	.access-links-map a {
		font-size: 0.73vw;
	}
}

/*----------------------------------------------------
 insta
----------------------------------------------------*/
.insta {
	padding: 29.26vw 0 16.54vw;
}
/* title */
.insta-title {
	margin: 0 auto 10.18vw;
	width: 70.18vw;
}
/* main */
.insta-main {
	margin-bottom: 10.18vw;
	overflow-x: scroll;
	margin-left: 5.5vw;
	width: 94.5vw;
}
/* link */
.insta-link {
	padding: 0 5.5vw;
}
@media (min-width: 768px) {
	.insta {
		padding: 6.77vw 0;
	}
	/* title */
	.insta-title {
		margin-bottom: 2.86vw;
		width: 22.4vw;
	}
	.insta-title img {
		width: 100%;
	}
	/* main */
	.insta-main {
		margin: 0 auto 3.39vw;
		overflow-x: auto;
		width: 94.79vw;
	}
	/* link */
	.insta-link {
		margin: 0 auto;
		padding: 0;
		width: 17.19vw;
	}
	.insta-link img {
		width: 100%;
	}
}

/*----------------------------------------------------
 footer-support
----------------------------------------------------*/
.footer-support {
	background: #f3f3f3;
	padding: 7.63vw 5.5vw;
}
.footer-support th,
.footer-support td {
	font-size: 3.82vw;
	padding: 5.09vw 0;
	text-align: left;
	vertical-align: top;
}
.footer-support th {
	font-weight: bold;
	padding-right: 6.36vw;
	white-space: nowrap;
}

@media (min-width: 768px) {
	.footer-support {
		margin-left: auto;
		margin-right: auto;
		padding: 2.6vw 23.96vw 4.01vw;
		width: 100%;
	}
	.footer-support th,
	.footer-support td {
		font-size: 0.78vw;
		line-height: 1.5vw;
		padding: 0.68vw 0;
	}
	.footer-support th {
		padding-right: 1.35vw;
	}
}

/*----------------------------------------------------
 copyright
----------------------------------------------------*/
.copyright {
	background: #132b1e;
	color: #fff;
	font-size: 3.82vw;
	padding: 3.82vw 5.5vw;
}
@media (min-width: 768px) {
	.copyright {
		font-size: 0.83vw;
		padding: 1.67vw 0;
		text-align: center;
	}
}

/*----------------------------------------------------
 #fancybox-wrap
----------------------------------------------------*/
#fancybox-wrap {
	display: none;
}