@charset "utf-8";




header{
	position: relative;
	background: #fff;
	height: 200px;
	overflow: hidden;
}


.IG_btn{
	position: absolute;
	top: 40px;
	right: 30px;
	width: 30px;
	height: 30px;
}

.header_logo{
	position: absolute;
	top: 20px;
	left: 20px;
	width: 25%;
	max-width: 280px;
	height: auto;
	text-align: center;
}
.header_logo img{
	width: 100%;
}


@media (max-width: 768px) {
	.header_logo{
		right: 25%;
		width: 50%;
	}
	.IG_btn{
		display: none;
	}
}

@media (max-width: 480px) {
	.header_logo{
		display: none;
	}
}



.header_ttl{
	position: absolute;
	top: 42%;
	width: 100%;
	text-align: center;
	color: #fff;
}

.header_ttl span{
	display: block;
}
.header_ttl span:nth-child(1){
	font-size: clamp(36px, 4.5vw, 48.6px);
}
.header_ttl span:nth-child(2){
	font-size: clamp(14.5px, 1.9vw, 22.6px);
	letter-spacing: .05em;
}

.header_bgmv{
	position: absolute;
	top: 50%;
	left: 50%;
	min-width: 100vw;
	min-height: 100%;
	
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	
	overflow: hidden;
}

.mv_bg::after,
.top_content::after{
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
	background: repeat;
  background-color: rgba(0, 0, 0, 0.1);
  background-image: url("../images/dot.png");
  background-size: 2px;
	opacity: 0.5;
}

.top_content::after{
  background-color: rgba(0, 0, 0, 0.5);
}


/*========= ナビゲーションドロップダウン ===============*/

/*==ナビゲーション全体の設定*/
.header_inner_contact nav{
	color:#fff;
	text-align: center;
	margin: 0 0 0 auto;
}
/*ナビゲーションを横並びに*/

.header_inner_contact nav ul{
	display: flex;
	justify-content: right;
	width: 75%;
	margin: 0 0 0 auto;
}
/*2階層目以降は横並びにしない*/

.header_inner_contact nav ul ul{
	display: block;
}

/*下の階層のulや矢印の基点にするためliにrelativeを指定*/

.header_inner_contact nav ul li{
	position: relative;
}

/*ナビゲーションのリンク設定*/

.header_inner_contact nav ul li a{
	display: block;
	text-decoration: none;
	color: #000;
	padding: 30px 28px;
	transition:all .3s;
}


.header_inner_contact nav ul li li a{
	padding:10px 30px;
}


.header_inner_contact nav ul li a:hover{
	opacity: 0.5;
}

/*==矢印の設定*/

/*2階層目を持つliの矢印の設定*/

.header_inner_contact nav ul li.has-child::before{
	content:'';
	position: absolute;
	left:15px;
	top:35px;
	width:6px;
	height:6px;
	border-top: 2px solid #000;
    border-right:2px solid #000;
    transform: rotate(135deg);
}

/*== 2・3階層目の共通設定 */

/*下の階層を持っているulの指定*/

.header_inner_contact nav li.has-child ul{
    /*絶対配置で位置を指定*/
	position: absolute;
	left:0;
	top:62px;
	z-index: 4;
    /*形状を指定*/
	width:180px;
    /*はじめは非表示*/
	visibility: hidden;
	opacity: 0;
    /*アニメーション設定*/
	transition: all .3s;
}

/*hoverしたら表示*/

.header_inner_contact nav li.has-child:hover > ul,
.header_inner_contact li.has-child ul li:hover > ul,
.header_inner_contact li.has-child:active > ul,
.header_inner_contact li.has-child ul li:active > ul{
  visibility: visible;
  opacity: 1;
}

/*ナビゲーションaタグの形状*/
.header_inner_contact nav li.has-child ul li a{
	
}

.header_inner_contact nav li.has-child ul li:last-child > a{
 border-bottom:none;
 }

.header_inner_contact nav li.has-child ul li a:hover,
.header_inner_contact nav li.has-child ul li a:active{
	opacity: 0.5;
}





/*==768px以下の形状*/

@media screen and (max-width:1024px){
	.header_inner_contact nav{
		display: none;
	}
}











.contact-intro {
	max-width: 900px;
	margin: 0 auto 60px;
	padding: 0 16px;
	color: #333;
	line-height: 1.8;
}

.contact-intro__header {
	margin-bottom: 24px;
}

.contact-intro__title {
	font-size: 1.8rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	border-left: 4px solid #999;
	padding-left: 12px;
}

.contact-intro__lead {
	margin-bottom: 28px;
	font-size: 1rem;
}

.contact-intro__lead p {
	margin: 0;
}

.contact-intro__body p {
	margin-bottom: 20px;
}

.contact-intro__box {
	background: #f7f8f5;
	padding: 20px 24px 10px 24px;
	border-radius: 6px;
	margin: 28px 0 10px 0;
}

.contact-intro__box-title {
	font-weight: 600;
	margin-bottom: 12px;
}

.contact-intro__list {
	padding-left: 1.2em;
	margin: 0;
}

.contact-intro__list li {
	margin-bottom: 6px;
}

.contact-intro__info {
	font-size: 0.85rem;
	color: #555;
	border-top: 1px solid #ddd;
	padding-top: 20px;
	line-height: 1.2;
}

.contact-intro__info p {
	margin-bottom: 8px;
}
















.contact-about {
	background: #fafafa;
	padding: 60px 16px;
	border-top: 1px solid #ddd;
}

.contact-about__inner {
	max-width: 900px;
	margin: 0 auto;
	color: #333;
	line-height: 1.8;
}

.contact-about__heading {
	font-size: 1.3rem;
	font-weight: 600;
	margin-bottom: 16px;
	border-bottom: 1px solid #ccc;
	padding-bottom: 6px;
}

.contact-about__organizer {
	margin-bottom: 48px;
}

.contact-about__org-name {
	font-weight: 600;
	margin-bottom: 8px;
}

.external-link {
	color: inherit;
	text-decoration: none;
	position: relative;
	padding-right: 1.2em;
}

.external-link::after {
	content: "↗";
	font-size: 0.8em;
	color: #525252;
	position: absolute;
	right: 0;
	top: -0.2em;
}

.external-link:hover {
	text-decoration: underline;
}

.contact-about__address {
	font-style: normal;
	margin-bottom: 5px;
}

.contact-about__license,
.contact-about__manager,
.contact-about__hours {
	font-size: 0.95rem;
	margin-bottom: 5px;
	color: #555;
}

.contact-about__lead {
	margin-bottom: 16px;
	font-weight: 500;
}

.contact-about__image {
	margin: 24px 0;
}

.contact-about__image img {
	width: 100%;
	height: auto;
	border-radius: 6px;
	display: block;
}

















.thanks_secsion {
	
}

.thanks_secsion a{
	margin: 50px 0 200px 0;
}


@media (max-width: 1024px) {
	.thanks_secsion a{
		margin: 50px auto 200px auto;
	}
}

.footer_thanks{
	position: absolute;
	bottom: 0px;
	width: 100%;
}

@media (max-width: 1024px) {
	.footer_thanks{
		position: static
	}
}



/*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓  ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/





/*↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑  ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑*/






@media (max-width: 1024px) {}

@media (max-width: 768px) {}

@media (max-width: 480px) {}




@media screen and (max-width:990px){
.P{display: none!important;}}
@media screen and (min-width:991px){
.S{display: none!important;}}


