@charset "UTF-8";
/*
* 使用変数
===================================================================*/
/*
* mixin、placehoderなど
===================================================================*/
/*
html5doctor.comResetStylesheet
v1.6.1
LastUpdated:2010-09-17
Author:RichardClark-http://richclarkdesign.com
Twitter:@rich_clark
*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abb, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, vr, 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;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  border-collapse: separate;
  border-spacing: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

navul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/*changecolourstosuityourneeds*/
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/*changecolourstosuityourneeds*/
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1pxdotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/*changebordercolourtosuityourneeds*/
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1pxsolid #cccccc;
  margin: 1em0;
  padding: 0;
}

li {
  list-style: none;
}

input,
select {
  vertical-align: middle;
}

input[type=submit],
input[type=button] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
}
input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}
input[type=submit]::focus,
input[type=button]::focus {
  outline-offset: -2px;
}

input[type=text],
input[type=password],
input[type=submit],
textarea,
select {
  outline: none;
  border: none;
  font-family: "ヒラギノ角ゴProW3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, Arial, Helvetica, Verdana, sans-serif, "ＭＳＰゴシック", "MSPGothic";
  font-size: 14px;
  color: #333333;
}

body {
  font-family: "ヒラギノ角ゴProW3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, Arial, Helvetica, Verdana, sans-serif, "ＭＳＰゴシック", "MSPGothic";
  letter-spacing: 0.05em;
  font-size: 14px;
  line-height: 1.74;
  margin: 0;
  padding: 0;
  width: 100%;
  color: #333333;
}

img{
	vertical-align:top;
}

/* ===================================================

BODY
body、header、contents、footer　など

=================================================== */
/* body
----------------------------------------------------- */
html {
  font-size: 62.5%;
	scroll-behavior: smooth;
}

body {
  position: relative;
  /*font-family: '游明朝 Medium', serif;*/
  word-break: break-all;
  line-break: strict;
  word-wrap: break-word;
  overflow-wrap: break-word;
  -webkit-font-smoothing: antialiased;
  letter-spacing:2px;
}

@media screen and (max-width: 767px) {
  body {
    font-size: 1.4rem;
    line-height: 1.4;
  }
}
@media screen and (min-width: 768px) and (max-width: 1919px) {
  body {
    font-size: 1.6rem;
    line-height: 1.6;
  }
}

* {
  box-sizing: border-box;
}

a {
  text-decoration: none;
  transition: all 0.2s;
}
a:visited, a:active {
	
	/*color:#B81C22;*/
}
a:hover {
  opacity: 0.8;
}

@media screen and (min-width: 768px) and (max-width: 1919px) {
  .pc {
    display: block !important;
  }

  .pc_inline {
    display: inline-block !important;
  }

  .sp,
.sp_inline {
    display: none !important;
  }
}
@media screen and (min-width: 1920px) {
  .pc {
    display: block !important;
  }

  .pc_inline {
    display: inline-block !important;
  }

  .sp,
.sp_inline {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .pc,
  .pc_inline {
    display: none !important;
  }

  .sp {
    display: block !important;
  }

  .sp_inline {
    display: inline-block !important;
  }
}



/*共通*/

body{
	color: #FFF;
	box-sizing: border-box;
}

.section_mg {
	margin-bottom: 150px;
}

@media screen and (max-width: 715px) {
	.section_mg {
		margin-bottom: 100px;
	}
}

.schedule_font {
	text-align: center;
	font-size: 3.5rem;
	line-height: 1.0;
	font-weight: bold;
	width: 100%;
}

.formula {
	position: absolute;
	top:17px;
	left: 65px;
	font-size: 1.1rem;
	font-family: '游明朝 Medium', serif;
}

.hum_menu li a:link ,
.hum_menu li a:visited ,
.header_nav ul li  a:link ,
.header_nav ul li  a:visited ,
.access a:link ,
.access a:visited {
	color: #FFF;
}

.hum_menu_insta a:link ,
.hum_menu_insta a:visited {
	color: #070C22;
}

.access a:link ,
.access a:visited {
	border-bottom: 1px solid #FFF;
}

/*ハンバーガーメニュー*/

/**/
.hum_menu {
	position: fixed;
	top:0px;
	left: 0;
	width: 100%;
	height: 100%;
	max-height: 100%;
	background: #070C22;
	z-index: 20;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}

.hum_menu ul {
	text-align: center;
	margin: 150px 0 30px 0;
	font-size: 1.7rem;
}

.hum_menu li {
	margin: 0 0 20px 0;
}

.hum_menu_insta {
	width: 80%;
	background: #FFF;
	color: #070C22;
	text-align: center;
	border-radius: 10px;
	margin: 0 auto;
	padding: 15px 0;
	font-size: 1.7rem;
}

.hum_menu_insta::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url(../img/sns_icon.svg) no-repeat;
  background-size: contain;
  margin-right: 7px;
	margin-top: -3px;
  vertical-align: middle;
}

.hum_menu_schedule {
	width: 80%;
	border: 1px solid #FFF;
	margin: 30px auto 50px;
	border-radius: 10px;
	padding: 20px 0;
	position: relative;
}

.hum_menu_schedule_innner {
	display: inline-block;
	position: relative;
}

.hum_menu_schedule .formula {
	position: absolute;
	top:3px;
	left: 10px;
}

@media screen and (max-width: 715px) {
	.hum_menu_schedule .formula {
		top:3px;
		left: 31px;
	}
}

/**/
.hum{
	position: relative;
	top:3px;
	cursor: pointer;
	width: 50px;
	height:50px;
}

@media screen and (min-width: 1099px) {
	.hum {
		display:none;
	}
}

.hum span{
	display: inline-block;
	transition: all .4s;/*アニメーションの設定*/
	position: absolute;
	left: 14px;
	height: 1px;
	background: #FFF;
	width: 45%;
}

.hum span:nth-of-type(1) {
	top:15px; 
}

.hum span:nth-of-type(2) {
	top:23px;
}

.hum span:nth-of-type(3) {
	top:31px;
}

.hum.active span:nth-of-type(1) {
    top: 18px;
    left: 15px;
    transform: translateY(6px) rotate(-45deg);
    width: 45%;
}

.hum.active span:nth-of-type(2) {
	opacity: 0;
}

.hum.active span:nth-of-type(3){
    top: 30px;
    left: 15px;
    transform: translateY(-6px) rotate(45deg);
    width: 45%;
}
/*見出し　左右ライン*/
.head-border {
    display: flex;
    align-items: center;
	margin-top: 20px;
}
 
.head-border:before,
.head-border:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #FFF;
}
 
.head-border:before {
    margin-right: 1rem;
}
 
.head-border:after {
    margin-left: 1rem;
}

/*開閉　アコーディオン*/
.accordion_inner dl {
	display: flex;
	flex-wrap:wrap;
	margin: 30px 0 ;
}

.accordion_inner dt ,
.accordion_inner dd {
	padding: 10px 0 0 0;
	margin: 0 0 10px 0;
	border-top: 1px solid #FFF;
}

.accordion_inner dt:nth-child(1) ,
.accordion_inner dd:nth-child(2) {
	border-top:none;
}

.accordion_inner dt {
	width: 45%;
}

.accordion_inner dd {
	width: 55%;
}

.accordion_btn {
	font-size: 2.0rem;
}

/**/
.header_nav ,
.header_schedule {
	width: 100%;
	background: #070C22;
	z-index: 21;
	position: fixed;
	transition: .8s;
	padding: 10px 3%;
}

.header_nav {
	margin: -2vh 0 0 0;
	display: flex;
	justify-content:space-between;
	align-items: center;
}

.nav_active {
	margin: 10vh 0 0 0;
}

.h1_sp {
	display: none;
}

.sns_sp {
	display: none;
}

@media screen and (max-width: 700px) {
	.h1_pc {
		display: none;
	}
	
	.h1_sp {
		display:block;
	}
	
	.sns_pc {
		display: none;
	}
	
	.sns_sp {
		display:block;
	}
	
	.header_nav div:nth-of-type(2) {
		margin-left: auto;
	}
}

.header_nav ul {
	display: flex;
	width: 50%;
	justify-content: space-around;
}

.header_nav ul li {
	white-space: nowrap;
}

@media screen and (max-width: 1098px) {
	.header_nav {
		justify-content:flex-start;;
	}
	
	.header_nav div:nth-of-type(1) {
		margin-left: auto;
	}
	
	.header_nav ul {
		display:none;
	}
}

.header_schedule {
	bottom: -20%;
	z-index: 19;
}

.header_schedule_inner {
	display: inline-block;
	position: relative;
}

.header_schedule_inner .formula {
	top: 0;
	left: 10px;
}

.header_schedule_sp {
	display: none;
}

.schedule_active {
	bottom: 0%;
}

@media screen and (max-width: 531px) {
	.header_schedule_pc {
		display: none;
	}
	
	.header_schedule_sp {
		display:block;
		font-size: 2.0rem;
	}
	
	.header_schedule_sp .font_size {
		font-size: 1.3rem;
	}
	
	header .header_schedule_sp .formula {
		top: -3px;
		left: 0px;
		font-size: 0.5rem;
	}
}


.main_img {
	background: url("../img/top_main.svg") center / cover;
    position: relative;
    width: 100%;
    height: 120vh;
	z-index: 10;
	margin-top:-10vh;
}

@media screen and (max-width: 750px) {
	.main_img {
		background: url("../img/top_main_sp.svg") center / cover;
	}
}

.main_schedule {
	position: absolute;
	bottom: 85px;
	left: 50%;
	transform: translate(-50%, -50%);
	display: inline-block;
	background: #070C22;
	width: 600px;
	border-radius: 40px;
	padding: 15px 20px;
	text-align: center;
	font-size: 3.5rem;
	line-height: 1.0;
	font-weight: bold;
}

.schedule_br {
	display: none;
}

.font_size {
	font-size: 1.8rem;
}

@media screen and (max-width: 715px) {
	.main_schedule {
		width: 80%;
		font-size: 3.9rem;
		line-height: 1;
		bottom: 20px;
	}
	
	.schedule_br {
		display:block;
	}
	
	.font_size {
		font-size: 1.3rem;
	}
	
	.main_schedule .mg , 
	.schedule_font .mg {
		display: block;
		margin: 10px 0 0 0;
	}
	
	.sp_font {
		font-size: 2.8rem;
	}
	
	.main_schedule .header_schedule_inner .formula {
		top: 5px;
		left: 8px;
	}
	
	.header_schedule_inner .formula {
		top: 0;
		left: 5px;
	}
}

.copy {
	background: linear-gradient(to bottom, #FFF 20%, #070C22);
	width: 100%;
	height: 120vh;
	margin-top: -40vh;
	position: relative;
}

.copy h2 ,
.copy p {
	position: absolute;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 11;
	letter-spacing: 5px;
	white-space: nowrap;
	text-align: center;
}

.copy h2 {
	top:80vh;
	font-size: 3.0rem;
}

.copy h2 .br {
	display: none;
}

.copy p {
	top:100vh;
	font-size: 1.7rem;
	line-height: 2.3;
}

.copy img {
	position: absolute;
	top:40vh;
}

@media screen and (max-width: 614px) {
	.copy h2 ,
	.copy p {
		width: 90%;
		white-space:normal;
	}
	
	.copy h2 {
		top:70vh;
		font-size: 2.0rem;
	}
	
	.copy h2 .br {
		display:block;
	}
	
	.copy p {
		top:90vh;
		font-size: 1.3rem;
		line-height:1.8;
	}
}

@media screen and (max-width: 403px) {
	.copy h2 {
		top:65vh;
	}
}

.wrapper {
	background: #070C22;
	overflow: hidden;
	position: relative;
}

.wrapper h2 {
	text-align: center;
	color: #FFF;
	font-size: 3.5rem;
	margin-bottom: 10px;
}

@media screen and (max-width: 750px) {
	.wrapper h2 {
		font-size: 2.5rem;
	}
}

.bg {
	position: absolute;
	z-index: 0;
}

.news ,
.about ,
.map ,
.event ,
.event_item {
	width: 60%;
	margin: 30px auto 0px;
	background: #070C22;
	border: 2px solid #FFF;
	position: relative;
	border-radius: 50px;
	padding: 37px 50px 57px;
}

@media screen and (max-width: 1000px) {
	.news ,
	.about ,
	.map ,
	.event ,
	.event_item {
		width: 90%;
		padding: 37px 30px 37px;
		border-radius: 30px;
	}
}

.news::before , 
.about::before ,
.map::before ,
.event::before ,
.event_item::before {
	position: absolute;
	top:-13px;
	left: 55px;
	color: #FFF;
	background: #070C22;
	padding: 0 10px;
	font-size: 1.5rem;
	font-family: '游明朝 Medium', serif;
}

@media screen and (max-width: 820px) {
	.news::before , 
	.about::before ,
	.map::before ,
	.event::before ,
	.event_item::before {
		top:-10px;
	}
}

.news::before {
	content: "NEWS";
}

.about::before {
	content: "ABOUT";
}

.map::before {
	content: "MAP";
}

.event::before {
	content: "EVENT";
}

.event_item::before {
	content: "点灯式";
}

.news dl {
	margin: 30px 0 0 0;
}

.news_item {
	display: flex;
	color: #FFF;
	padding: 0 0 40px 0;
	margin: 0 0 50px 0;
	border-bottom: 1px solid #FFF;
}

.news_item .img {
	width: 25%;
	margin-right: 5%;
}

.news_item .text {
	width: 70%;
}

.news_item .text dt {
	margin: 0 0 10px 0;
	line-height: 2.3;
}

@media screen and (max-width: 820px) {
	.news_item .text dt {
		font-size:1.0rem;
	}
}

.news_item .text dd h3 {
	margin: 0 0 10px 0;
	font-size: 2.0rem;
}

@media screen and (max-width: 1021px) {
	.news_item {
		display:block;
	}
	
	.news_item .img {
		width: 100%;
		margin-right: 0%;
	}
	
	.news_item .text {
		width: 100%;
		margin-top: 20px;
	}
}

.news_item .text dt span {
	background: #CA5398;
	padding: 5px 30px;
	text-align: center;
	border-radius: 15px;
	font-weight: bold;
	margin-right: 20px;
}

.about p.about_title {
	font-size: 4.5rem;
	text-align: center;
	margin-top: 50px;
	font-weight: bold;
}

@media screen and (max-width: 750px) {
	.about p.about_title {
		font-size: 3.0rem;
	}
}

.about_item {
	margin: 20px 0 0px;
	padding: 30px 0;
	border-top: 1px solid #FFF;
}



.about_schedule {
	text-align: center;
	font-size: 2.2rem;
	letter-spacing: 4px;
	margin: 0px 0 60px;
	white-space: nowrap;
	padding: 0 0 30px 0;
	border-bottom: 1px solid #FFF;
	font-weight: bold;
}

.about_schedule .font_size {
	font-size: 5.0rem;
}

@media screen and (min-width: 1251px) {
	.pc_line {
		display:inline-block;
	}
	
	.sp_line {
		display: none;
	}
}

@media screen and (max-width: 1250px) {
	.pc_line {
		display: none;
	}
	
	.sp_line {
		display:inline-block;
	}
}

@media screen and (max-width: 500px) {
	.about_schedule {
		font-size: 1.5rem;
	}
	.about_schedule .font_size {
		font-size: 2.5rem;
	}
}

.about ul li {
	padding: 15px 0;
	border-bottom: 1px solid #FFF;
}

.map_img {
	margin: 40px 0 60px;
	padding: 0 0 60px 0;
	border-bottom: 1px solid;
}

.img_wrapper {
	border-radius: 25px;
	overflow: hidden;
}

.item 
.img_wrapper 
img {
	border-radius: 0px;
}


.map p.map_text {
	text-align: center;
	margin: 20px 0 0px;
}

.map dl {
	display: flex;
	flex-wrap:wrap;
}

.map_item {
	width: 46%;
	padding: 20px 20px 10px;
	background: #FFF;
	border-radius: 15px;
	margin: 8% 0 0 0;
	text-align: center;
}

.map_item dt {
	text-align: center;
	color: #000000;
	font-size: 2.5rem;
	font-weight: bold;
	letter-spacing: normal
}

.map_item dt .map_item_img {
	border-radius: 20px;
	margin-top: 20px;
	width: 100%;
    height: 220px;
    object-fit: cover;
}

.map_item:nth-child(odd) {
	margin-right: 8%;
}

.map_item p {
	color: #070C22;
	margin: 10px 0;
	line-height: 2.0;
}

.map_item p span {
	font-size: 1.3rem;
}

.map_item p a {
	background: #070C22;
	color: #FFF;
	padding: 5px 10px;
	border-radius: 15px;
	font-size: 1.3rem;
	margin-top: 15px;
}

.map .br {
	display: none;
}

@media screen and (max-width: 1420px) {
	.map .br {
		display:block;
	}
}

@media screen and (max-width: 1051px) {
	.map dl {
		display:block;
	}
	
	.map_item {
		width: 100%;
	}
	
	.map_item p {
		font-size:2.0rem;
		line-height: 1.5;
	}

	.map_item p strong {
		margin:2px 0;
		display:inline-block;
	}
		
	.map_item p a {
		display: inline-block;
		width: 100%;
	}
	
	.map .br {
		display: block;
	}

}

.event_item {
	width: 100%;
	margin-bottom: 0px;
	padding: 60px 30px 30px;
	text-align: center;
}

.event_item img {
	width: 60%;
}

.event_item div {
	margin: 30px 0 0 0;
}

.event_item p {
	font-size: 2.5rem;
	line-height: 1.5;
	margin: 30px 0 0 0;
	font-weight: bold;
}

.event_item p span {
	font-size: 2.2rem;
}

@media screen and (max-width: 800px) {
	.event_item p {
		font-size: 2.0rem;
	}
	
	.event_item p span {
		font-size: 1.0rem;
	}
}

.access {
	width: 60%;
	margin: 30px auto 150px;
	background: #071140;
	position: relative;
	border-radius: 50px;
	padding: 37px 55px 57px;
	box-sizing: border-box;
}

.access h3 {
	font-size: 3.0rem;
	margin: 30px 0 10px;
}

.access p {
	font-size: 2.5rem;
	margin: 0px 0 5px;
}

.access ul {
	margin: 0 0 40px 0;
}

.access li {
	margin: 0px 0 5px;
}

@media screen and (max-width: 1000px) {
	.access  {
		width: 90%;
		padding: 37px 30px 37px;
	}
	
	.access h3 {
		font-size: 2.0rem;
	}
	
	.access p {
		font-size: 1.5rem;
		margin: 0px 0 10px;
	}
	
	.access li {
		margin: 0px 0 10px;
	}
}

.sponsorship {
	width: 60%;
	margin: 0 auto 150px;
}

.sponsorship p {
	text-align: center;
	margin: 30px 0;
}

.sponsorship a {
	width: 100%;
	background: #FFF;
	color: #070C22;
	display: inline-block;
	text-align: center;
	padding: 20px 0;
	font-size: 2.5rem;
	border-radius: 50px;
	position: relative;
}

@media screen and (max-width: 1000px) {
	.sponsorship {
		width: 80%;
	}
	
	.sponsorship a {
		font-size: 1.5rem;
	}
	
}

footer {
	background: #070C22;
	height: 360px;
	text-align: center;
}

footer h2 ,
footer h3 {
	font-size: 2.5rem;
	margin: 0 0 25px 0;
	line-height: 1.7;
}

footer h3 span {
	font-size: 2.0rem;
}

@media screen and (max-width: 803px) {
	footer {
		background: #070C22;
		height: 260px;
	}
	
	footer h2 ,
	footer h3 {
		font-size: 1.5rem;
		line-height: 1.3;
		margin: 0 0 30px 0;
	}
	
	footer h3 span {
		font-size: 1.7rem;
	}
}


/*sub*/

.sub .header_nav {
	padding: 10px 3%;
	margin: 0 0 0 0;
}

.sub .wrapper {
	padding: 150px 0;
}

.news_sub {
	width: 70%;
	margin: 0 auto 0;
}

@media screen and (max-width: 803px) {
	.news_sub {
		width: 90%;
	}
}

.news_sub .img {
	text-align: center;
}

.news_sub .img img {
	width: 60%;
}

@media screen and (max-width: 803px) {
	.news_sub .img img {
		width: 80%;
	}
}

.news_sub .text {
	margin: 50px 0 0 0;
}

.news_sub .text span {
	background: #CA5398;
	padding: 5px 30px;
	text-align: center;
	border-radius: 15px;
	font-weight: bold;
	margin-right: 20px;
}

.news_sub .text h3 {
	font-size: 3.0rem;
	margin: 20px 0;
}

.news_sub .text p {
	margin: 0 0 20px 0;
	line-height: 2.0;
}

.news_sub .text a:link ,
.news_sub .text a:visited {
	color:#ffffff;
	text-decoration:underline;
}













