@charset "utf-8";

/* CSS Document */
/*recet.css-pc/sp-*/
* {
	margin: 0;
	padding: 0;
}

body {
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
}

/*フォント後でやる*/
img {
	display: block;
}

a {
	text-decoration: none;
	color: #000000;
}

li {
	list-style-type: none;
}

/*

初期設定

*/
.claer {
	clear: both;
	line-height: 0;
}

/* 


ナビ ハンバーガーメニュー


*/
header div.global-nav {
	position: fixed;
	opacity: 0;
	visibility: hidden;
	/* これで隠れる */
	width: 100vw;
	/* スマホに収まるくらい */
	height: 100vh;
	padding-top: 40px;
	background-color: #cdd723;
	transition: all .3s;
	z-index: 200;
	overflow-y: auto;
	/* メニューが多くなったらスクロールできるように */
	padding: 0px;
}

header .hamburger {
	position: fixed;
	right: 0;
	top: 0;
	width: 84px;
	/* クリックしやすいようにちゃんと幅を指定する */
	height: 84px;
	/* クリックしやすいようにちゃんと高さを指定する */
	cursor: pointer;
	z-index: 300;
	background: #000;
}

header div.global-nav nav {
	width: min(900px, 85vw);
	margin: 0 auto;
	padding-top: calc(4vw + 2em);
}

header ul.global-nav__list {
	margin: 0 0 0.5em;
	padding: 0;
	list-style: none;
	width: 100%;
}

header ul.global-nav__list li {
	margin: 0 auto 30px;
	display: inline-block;
	width: max(48%, 300px);
	border-left: 10px solid #000;
	font-size: 15px;
}

header ul.global-nav__list li>a {
	width: 100%;
	font-size: 18px;
	font-weight: bold;
	margin: 0 0 0 10px;
}

header ul.global-nav__list li span {
	display: block;
	font-size: 14px;
	font-weight: normal;
	margin: 0 0 0 10px;
}

header ul.global-nav__list li span>a {
	padding: 0 .5em;
}

header ul.global-nav__list li span>a:first-child {
	padding: 0 .5em 0 0;
}

header ul.global-nav__list li a:hover {
	color: #005804;
}

/*
header .global-nav__item { text-align: center; padding: 0 14px;}
header .global-nav__item a { display: block; padding: 8px 0; border-bottom: 1px solid #eee; text-decoration: none; color: #111; }
header .global-nav__item a:hover { background-color: #eee; }
*/

header .hamburger__line {
	position: absolute;
	left: 24px;
	width: 36px;
	height: 5px;
	background-color: #cdd723;
	transition: all .6s;
}

header .hamburger__line--1 {
	top: 15px;
}

header .hamburger__line--2 {
	top: 27px;
}

header .hamburger__line--3 {
	top: 39px;
}

header .hamburger__title {
	position: absolute;
	left: 0px;
	width: 84px;
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	top: 50px;
	color: #cdd723;
}

header .black-bg {
	position: fixed;
	left: 0;
	top: 0;
	width: 100vw;
	height: 100vh;
	z-index: 100;
	background-color: #fff;
	opacity: 0;
	visibility: hidden;
	transition: all .3s;
	cursor: pointer;
}

/* 表示された時用のCSS */
.nav-open .global-nav {
	opacity: .8;
	visibility: visible;
}

.nav-open .black-bg {
	opacity: .3;
	visibility: visible;
}

.nav-open .hamburger__line--1 {
	transform: rotate(45deg);
	top: 24px;
}

.nav-open .hamburger__line--2 {
	width: 0;
	left: 50%;
	background-color: #000;
}

.nav-open .hamburger__line--3 {
	transform: rotate(-45deg);
	top: 24px;
}

/**/
header .global-nav .nav-banner {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0 1em;
  margin: 50px auto 30px;
  font-size: 16px;
  text-align: center;
}

header .global-nav .nav-banner a {
  text-decoration: none;
  color: #000;
  padding: 0.4em 0.6em;
  white-space: nowrap;
  position: relative;
}

header .global-nav .nav-banner a:not(:last-child)::after {
  content: "|";
  position: absolute;
  right: -0.8em;
  color: #333;
}

/* モバイルでは縦並びにして区切り線を消す */
@media screen and (max-width: 520px) {
  header .global-nav .nav-banner {
    flex-direction: column;
	margin-top: 0px;
	  font-size: 14px;
    gap: 0.5em;
  }

  header .global-nav .nav-banner a::after {
    content: none !important;
  }
}

@media screen and (max-width : 520px) {
	header .hamburger {
		width: 54px;
		height: 54px;
	}

	header .hamburger__line {
		left: 11px;
		width: 32px;
		height: 3px;
	}

	header .hamburger__line--1 {
		top: 12px;
	}

	header .hamburger__line--2 {
		top: 20px;
	}

	header .hamburger__line--3 {
		top: 28px;
	}

	header .hamburger__title {
		width: 54px;
		font-size: 8px;
		top: 34px;
	}

	/* 表示された時用のCSS */
	.nav-open .hamburger__line--1 {
		top: 20px;
	}

	.nav-open .hamburger__line--3 {
		top: 20px;
	}
}

/*
//ナビ ハンバーガーメニュー
*/

/*--------------------
FV
----------------------*/
#topphoto {
	background-image: url("img/top_photo.jpg");
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;
	height: 90vh;
	width: 100vw;
}

#topphoto h1#logo img {
	display: block;
	/* width: 30%; */
	width: clamp(521px, 40%, 1042px);
	margin: 0 auto;
	/* padding-top: 18vw; */
	padding-top: clamp(30px, 10vw, 40px);
}

@media screen and (max-width:520px) {
	#topphoto {
		height: 80vh;
		width: 100vw;
	}

	#topphoto h1#logo img {
		width: 80%;
		margin: 0 auto;
		/* padding-top: 30vh; */
		padding-top: 30vw;
	}
}

/*--------------------
共通部
--------------------*/
section {
	clear: both;
	margin: 0px auto;
	width: 100vw;
	height: 100%;
	padding: 100px 0px;
}

@media screen and (max-width:520px) {
	section {
		padding: 3vh 0px;
	}
}

section h2 {
	color: #4d4d4d;
	font-size: max(3vw, 30px);
	font-weight: bold;
	text-align: center;
	letter-spacing: 0.2em;
}

section h2 span {
	display: block;
	font-size: max(1vw, 15px);
	letter-spacing: 0em;
	margin-top: 10px;
}

section p.lead {
	font-size: 18px;
	line-height: 2;
	text-align: center;
	padding: 40px;
	/*本当は60px*/
}

section p.lead a {
	border-bottom: 1px solid #000;
}

section p.lead span {
	display: inline-block;
}

section p.lead span.copy {
	padding-top: 3em;
}

@media screen and (max-width:520px) {
	section p.lead {
		font-size: 17px;
		padding: 8vw 0 5vw;
	}
}

section div.ttl_up img {
	width: min(30vw, 200px);
	margin: 0 auto;
}

section h3 {
	width: min(84vw, 900px);
	height: 63px;
	background-color: #4d4d4d;
	margin: 20px auto 0;
	color: #fff;
	font-size: 18px;
	border-bottom: 5px solid #cdd723;
	text-align: center;
	line-height: 63px;
	clear: both;
}

section a.btn2 {
	display: block;
	width: min(450px, 60vw);
	/*362px*/
	height: 1em;
	padding: 1.5em 0;
	background-color: #808080;
	border: 6px solid #808080;
	margin: 0 auto 20px;
	text-align: center;
	line-height: 1em;
	color: #fff;
	font-size: calc(12px + 0.8vw);
	font-weight: bold;
	letter-spacing: 0.2em;
}

section a.btn2:hover {
	background-color: #4d4d4d;
	border: 6px solid #cdd723;
	color: #cdd723;
}

@media screen and (min-width:520px) {
	.nonPC {
		display: none;
	}
}

/*TOPへ戻るボタン*/
div#top_btn {
	display: block;
	position: fixed;
	bottom: 10px;
	right: 10px;
	width: 70px;
	height: 53px;
	padding-top: 17px;
	border-radius: 50%;
	background-color: #4d4d4d;
	border: 4px solid #cdd723;
	text-align: center;
	margin: 0 auto;
	z-index: 9;
}

div#top_btn p {
	font-size: 12px;
	font-weight: bold;
	margin: 0 auto;
}

div#top_btn p a {
	color: #fff;
	/*scroll-behavior:smooth;*/
}

/*--------------------
開催概要
--------------------*/
section#gaiyo {
	position: relative;
}

section#gaiyo .gaiyo_div {}

section#gaiyo .gaiyo_div .gaiyo_table {
	width: min(84vw, 900px);
	/*本当は45vw*/
	height: 100%;
	margin: 30px auto 0;
}

section#gaiyo .gaiyo_div .gaiyo_table table {
	width: 100%;
	border-collapse: collapse;
}

section#gaiyo .gaiyo_div .gaiyo_table tr {
	width: 100%;
	font-size: 1rem;
	border-top: 1px solid #4d4d4d;
}

section#gaiyo .gaiyo_div .gaiyo_table tr:last-child {
	border-bottom: 1px solid #4d4d4d;
}

section#gaiyo .gaiyo_div .gaiyo_table tr th {
	width: 20%;
	padding: 4% 0 4% 4%;
	background-color: rgba(205, 215, 35, 0.6);
}

section#gaiyo .gaiyo_div .gaiyo_table tr td {
	width: 72%;
	padding: 4% 0 4% 4%;
}

/*--------------------
お知らせ
--------------------*/
section#news {
	background-color: #f5f5f5;
}

section#news #news_div ul {
	width: min(84vw, 900px);
	/*本当は45vw*/
	height: 100%;
	margin: 30px auto 0;
}

section#news #news_div ul li {
	font-size: 16px;
	border-top: 1px solid #4d4d4d;
	padding: 20px 0px;
}

section#news #news_div ul li:last-child {
	border-bottom: 1px solid #4d4d4d;
}

section#news #news_div ul li span {
	display: inline-block;
	font-weight: normal;
	margin: 0 1vw;
	width: 85%;
	vertical-align: top;
}

section#news #news_div ul li span:first-child {
	display: inline-block;
	font-weight: bold;
	margin: 0 0 0 1vw;
	width: 10%;
}

section#news #news_div div.message_div p.lead {
	padding:10vw 0.5vw 0;
}
section#news #news_div div.message_div p.lead span.title {
	font-size: 21px
}

section#news #news_div div.message_div ul {
display: flex;	
justify-content: space-between;
flex-wrap: wrap;
margin: 20px auto 
}

section#news #news_div div.message_div ul li{
width: 48.5%;
border-top:none; 
padding: 8px 0;
}
section#news #news_div div.message_div ul li:last-child {
border-bottom: none;
}
section#news #news_div div.message_div ul li img{
width: 100%;	
}
@media screen and (max-width:520px) {
	section#news #news_div ul li span {
		display: block;
		margin: 0 auto;
		width: 94%;
		vertical-align: top;
	}

	section#news #news_div ul li span:first-child {
		display: block;
		font-weight: bold;
		margin: 0 auto .5em;
		width: 94%;
	}

}

/*--------------------
ぐんま山フェスタについて
--------------------*/
section#about {
	position: relative;

}

section#about div#yama1 img {
	width: 835px;
	margin: 0 auto 200px;
}

@media screen and (max-width:900px) {
	section#about div#yama1 img {
		width: 84vw;
		margin: 0 auto 50px;
	}
}

section#about div#tree1 img {
	width: 50px;
	position: absolute;
	top: 960px;
	right: 20%;
}

section#about div#tree2 img {
	width: 74px;
	position: relative;
	margin: -40px 0 0 20vw;
}

section#about div#tree1_2 img {
	display: none;
}

@media screen and (max-width:1200px) {
	section#about div#tree1 img {
		display: none;
	}

	section#about div#tree2 img {
		display: none;
	}

	section#about div#tree1_2 img {
		position: relative;
		display: block;
		/*none削除*/
		width: 165px;
		margin: 0 auto;
	}
}
/*--------------------
ステージイベント
--------------------*/
section#event {
  position: relative;
}

section#event .stage_contents {
  width: min(84vw, 912px);
  margin: 40px auto;
  padding: 0 2px;
}

section#event .wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  margin-bottom: 20px;
}

section#event .stage_img {
  width: 40%;
}

section#event .stage_img img {
  width: 100%;
  height: auto;
  display: block;
}

section#event .stage_text {
  width: 54%;
}

section#event .stage_text p.lead {
  text-align: left;
  padding: 0;
  line-height: 1.8;
  font-size: 18px;
}


section#event .stage_text p.lead.aboutevent{
	text-align: center;
	margin-top:20px;
	margin-bottom: 2.5em;
	
}
section#event .stage_text p.lead span.stage_ttl{
	font-weight:600;
	font-size:20px;
	
}

/*section#event .stage_text p.lead.detail{
	padding:0 20px;
	
}*/
section#event .stage_text p.lead br.pcnone{
		display: none;
	}
section#event .stage_text p.lead br.spnone{
		display: block;
	}
section#event .stage_text p.lead span.pcnone{
		display:none;
	}

section#event .attention {
  box-sizing: border-box;
  text-align: left;
  padding: 20px;
  border: 2px dashed #4d4d4d;
  background-color: #f9f9f9;
  font-size: 16px;
  line-height: 1.8;
  margin-top: 30px;
}
/* PDFリンク */
section#event .stage_img figcaption {
  text-align: center;
  margin-top: 10px;
}

.pdf-link {
  font-size: 14px;
  color: #005804;
  text-decoration: underline;
}

.pdf-link:hover {
  color: #003c03;
  text-decoration: none;
}


/* スマホ対応 */
@media screen and (max-width: 768px) {
  section#event .wrap {
    flex-direction: column;
  }

  section#event .stage_img,
  section#event .stage_text {
    width: 100%;
  }

  section#event .stage_text p.lead {
    font-size: 15px;
	margin-top:0;
  }
	section#event .stage_text p.lead span.stage_ttl{
	font-size:17px;
	
}

section#event .stage_text p.lead br.pcnone{
		display: block;
	}
section#event .stage_text p.lead br.spnone{
		display: none;
	}
section#event .stage_text p.lead span.pcnone{
		display:inline-block;
	}

/*section#event .stage_text p.lead.detail{
	padding:0 ;
	
}*/
  section#event .attention {
    font-size: 13px;
    padding: 15px;
  }
}

/*--------------------
エリア情報・協賛一覧
--------------------*/
section#area {
	position: relative;
}

section#area .area {
	width: min(84vw, 900px);
	margin: 0 auto;
}

section#area .area ul.area1 {
	display: flex;
	flex-wrap: wrap;
	gap: 30px 3%; /* 縦30px、横3%の余白 */
	margin: 30px auto 0;
	padding: 0;
	list-style: none;
}

section#area .area ul.area1 > li {
  width: calc(33.333% - 2%);
  box-sizing: border-box;
  padding: 0 1em 3em;
  min-height: 460px;
  display: flex;
  flex-direction: column;
}

section#area .area ul.area1 > li.short {
  min-height: auto;
}

section#area .area ul.area1 > li > .title {
  flex-shrink: 0;
  margin-bottom: 1em;
}

section#area .area ul.area1 > li > ul {
  flex-grow: 1;
}

@media screen and (max-width: 520px) {
	section#area .area ul.area1 {
		flex-direction: column;
	}
	section#area .area ul.area1 > li {
		width: 100%;
		min-height: auto;
	}
}


section#area div.area p.title {
	width: 100%;
	height: 40px;
	background-color: #b3b3b3;
	text-align: center;
	line-height: 40px;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
}

/* 箇条書き部分 */
section#area div.area ul.area1 ul {
/*	margin-top: 20px;*/
}

section#area div.area ul.area1 ul li {
/*  line-height: 2em;*/
  position: relative;
  padding: 0 3% 20px 1.2em;         /* 全体の左余白 */
}

section#area div.area ul.area1 ul li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
  line-height: 2em;
}

section#area div.area ul.area1 ul li a:hover {
	text-decoration: underline;
}

/* 川の画像 */
section#area div#river img {
	width: 233px;
	position: absolute;
	top: 900px;
	right: 20%;
}

@media screen and (max-width: 1400px) {
	section#area div#river img {
		position: relative;
		top: 0;
		right: 0;
		margin: 40px auto;
	}
}

section#area ul#sponsor,
section#area ul#special_sponsor {
  width: min(84vw, 900px);
  margin: 30px auto 50px;
  display: flow-root; /* float要素の高さ崩れ防止 */
  height: auto;
}

/* --- PC用（横3列を等幅に） --- */
@media screen and (min-width: 521px) {
  section#area ul#sponsor li,
  section#area ul#special_sponsor li {
  padding: 0 3% 20px 1.2em; /* ← 左に少し余白を */
  position: relative;
  float: left;
  width: 31.33%;
  margin-right: 3%;
  box-sizing: border-box;
}

  /* 最後の列は margin-right をなくす */
  section#area ul#sponsor li:nth-of-type(3n),
  section#area ul#special_sponsor li:nth-of-type(3n) {
    margin-right: 0;
  }
}

/* --- スマホ用（1列表示） --- */
@media screen and (max-width: 520px) {
  section#area ul#sponsor li,
  section#area ul#special_sponsor li {
    width: 100%;
    float: none;
    padding: 0 0 20px 1.5em;;
    box-sizing: border-box;
	  position: relative;
  }
}

/* --- リストの見た目 --- */
section#area ul#sponsor li::before,
section#area ul#special_sponsor li::before {
  content: "・";
  position: absolute;
  left: 0.2em;
}

section#area ul#sponsor li a:hover,
section#area ul#special_sponsor li a:hover {
  text-decoration: underline;
}



.kome {
	clear: both;
	width: min(84vw, 900px);
	font-size: 15px;
	text-align: center;
	margin: 50px auto;
}

/*--------------------
セミナー
--------------------*/
/*section#seminar {
	display: none;
}*/

section#seminar {
	position: relative;
}

section#seminar div#seminar_div {}

section#seminar div#bird img {
	position: absolute;
	width: 72px;
	top: 200px;
	right: 20%;
}

section#seminar div#tree3 img {
	position: absolute;
	width: 54px;
	top: 450px;
	left: 20%;
}

@media screen and (max-width:1200px) {
	section#seminar div#bird img {
		position: relative;
		width: 72px;
		top: 0px;
		left: 0px;
		margin: 0 auto;
	}

	section#seminar div#tree3 img {
		display: none;
	}
}

section#seminar p.btn {
	display: block;
	width: min(84vw, 900px);
	height: 0;
	background-color: #808080;
	border: 6px solid #808080;
	margin: 50px auto 0px;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	line-height: 1.2em;
	padding: 2em 0 3em;

}

@media screen and (max-width:480px) {

	section#seminar p.btn:nth-of-type(3),
	section#seminar p.btn:nth-of-type(4) {
		height: 1.2em;
		padding: 1em 0 2em;
	}
}

section#seminar p.btn a {
	color: #fff;
}

section#seminar p.btn a span {
	display: inline-block;
}

section#seminar p.btn:hover {
	background-color: #4d4d4d;
	border: 6px solid #cdd723;
}

section#seminar p.btn a:hover {
	color: #cdd723;
}

/*--------------------
観光動画紹介
--------------------*/
section#movie {
	position: relative;
}

section#movie div#movie_div {}

section#movie div#stone img {
	position: absolute;
	width: 135px;
	top: 300px;
	right: 20%;
}

@media screen and (max-width:900px) {
	section#movie div#stone img {
		position: relative;
		width: 135px;
		top: 0px;
		right: 0px;
		margin: 0 auto;
	}
}

section#movie ul.movie_ul {
	width: min(84vw, 900px);
	margin: 2em auto 0;
}

section#movie ul.movie_ul li {
	width: 30%;
	float: left;
	margin: 0 5% 50px 0;
	/*50px不要かも*/
}

@media screen and (min-width:1131px) {
	section#movie ul.movie_ul li:nth-of-type(3n) {
		margin: 0 0 50px 0;
	}

}


section#movie ul.movie_ul li:last-child {
	margin-bottom: 80px;
}

section#movie ul.movie_ul li img {
	width: 100%;
	height: auto;
}

@media screen and (max-width:1130px) {
	section#movie ul.movie_ul li {
		width: 48%;
		margin: 0 4% 50px 0;
	}

	section#movie ul.movie_ul li:nth-of-type(2n) {
		margin: 0 0 50px 0;
	}
}

@media screen and (max-width:600px) {
	section#movie ul.movie_ul li {
		width: 100%;
		margin: 0 0 50px 0;
	}

}


section#movie ul.movie_ul li p {
	font-size: 14px;
	text-align: center;
	margin-top: 10px;
}

section#movie div#tree4 img {
	position: absolute;
	width: 80px;
	bottom: 300px;
	right: 30%;
}

section#movie div#tree5 img {
	position: absolute;
	width: 48px;
	bottom: -450px;
	left: 20%;
}

@media screen and (max-width:1130px) {
	section#movie div#tree4 img {
		position: relative;
		width: 80px;
		bottom: 0px;
		right: 0%;
		margin: 0 auto;
	}

	section#movie div#tree5 img {
		position: relative;
		width: 48px;
		bottom: 0px;
		left: 0%;
		margin: 0 auto;
	}
}

/*--------------------
オンラインショップ
--------------------*/
section#ec {
	position: relative;
}

section#ec div#ec_div {}

section#ec div#tree6 img {
	position: absolute;
	width: 55px;
	bottom: 80px;
	right: 20%;
}

@media screen and (max-width:1100px) {
	section#ec div#tree6 img {
		position: relative;
		width: 55px;
		bottom: 0px;
		right: 0%;
		margin: 50px auto;
	}
}

/*--------------------
たのしい山登りを！
--------------------*/
section#photo_collection {
	position: relative;
}

section#photo_collection div#photo_collection_div {}

section#photo_collection div#hnt img {
	width: min(84vw, 624px);
	margin: 0 auto;
}

section#photo_collection div#photo img {
	width: 50%;
	float: left;
	margin: 0 auto;
}

@media screen and (max-width:900px) {
	section#photo_collection div#photo img {
		width: 100%;
	}
}

section#photo_collection div#tznk {
	clear: both;
}

section#photo_collection div#tznk img {
	position: absolute;
	width: 75px;
	bottom: 180px;
	/*290*/
	right: 25%;
}

section#photo_collection div#camera img {
	position: relative;
	width: 97px;
	margin: 40px auto;
}

section#photo_collection div#tznk_camera img {
	display: none;
}

@media screen and (max-width:1000px) {
	section#photo_collection div#tznk img {
		display: none;
	}

	section#photo_collection div#camera img {
		display: none;
	}

	section#photo_collection div#tznk_camera img {
		width: 20vw;
		/*192px*/
		display: block;
		margin: 40px auto;
	}
}

/*--------------------
SNS
--------------------*/
section#sns {}

section#sns div#sns_div {}

section#sns div#sns_div div#sns_icon {
	width: 256px;
	/*本当は356px*/
	height: 52px;
	margin: 0 auto 70px;
}

section#sns div#sns_div div#sns_icon a img {
	float: left;
	width: 52px;
}

section#sns div#sns_div div#sns_icon a img#insta {
	padding: 0 50px;
	/*0 100px*/
}

section#sns div#umekomi {
	clear: both;
	width: min(84vw, 548px);
	height: 596px;
	margin: 0 auto 207px;
	text-align: center;
}

@media screen and (max-width:560px) {}

/*--------------------
フッター
--------------------*/
footer {
	position: relative;
	background-color: #DDDDDD;
	margin: 0 auto;
	padding-top: 50px;
	width: 100%;
	height: 100%;
}

footer div.shika_footer img {
	position: absolute;
	width: 62px;
	top: -80px;
	/*-30*/
	left: 0;
	right: 0;
	margin: auto;
}

footer div#shusai {
	width: min(84%, 900px);
	max-width: 900px;
	margin: 0px auto;
	/*0px auto 78px*/
	padding: 54px 0;
}

footer div#shusai p#ttl_footer {
	font-size: 22px;
	font-weight: bold;
	color: #4d4d4d;
	text-align: center;
}

footer div#shusai div#logo_footer img {
	display: block;
	width: min(74%, 276px);
	margin: 0 auto;
}

footer div#shusai p#lead_footer {
	font-size: 18px;
	color: #4d4d4d;
	text-align: center;
	padding-top: 20px;
}

footer div#shusai p.contact_footer {
	font-size: 18px;
	color: #4d4d4d;
	text-align: center;
	padding-top: 30px;
}

footer div#menu_footer {
	width: min(84vw, 1200px);
	/*width: min(84vw, 900px);*/
	margin: 0 auto 54px;
	text-align: center;
}

footer div#menu_footer a {
	/*width: 240px;*/
	/*width: 200px;*/
	padding: 0 1em;
	border-right: 1px solid #4d4d4d;
	display: inline-block;
}

footer div#menu_footer a:last-child {
	border: none;
}

@media screen and (max-width:520px) {
	footer div#menu_footer a {
		/*width: 240px;*/
		/*width: 200px;*/
		border-right: none;
		display: block;
		padding: 0;
		margin: 0 auto;
	}

	footer div#menu_footer a::after {
		content: "・";
		display: block;
		padding: 0;
	}

	footer div#menu_footer a:last-child::after {
		content: none;
	}
}

@media screen and (max-width:800px) {

	footer div#menu_footer a#menu_footer1,
	footer div#menu_footer a#menu_footer2,
	footer div#menu_footer a#menu_footer3 {
		display: block;
		margin: 0 auto 30px;
		padding: 0;
		border: none;
	}
}

footer p#copylight {
	width: min(84vw, 900px);
	margin: 0 auto;
	text-align: center;
	padding: 0 0 18px 0;
}

/*
-----------------------

		2階層目＿エリア情報		

-----------------------
*/
section.y2_area {
	padding-top: 0px;
	width: 100vw;
}

section.y2_area:nth-of-type(2n) {
	background-color: #f5f5f5;
}
section.y2_area:last-of-type {
  background-color: #fff !important;
}

/*section.y2_area:last-of-type {
	padding-bottom: 20vw;
}*/

section.y2_area_s {
	background-color: #fff;
}

section.y2_area div.y2_area {
	width: min(84vw, 900px);
	margin: 0 auto;
}

section.y2_area div.y2_area div {
	width: 100%;
	height: auto;
	padding: 50px 0 0;
}

@media screen and (max-width:520px) {
	section.y2_area div.y2_area div {
		padding: 3vh 0 0;
	}
}

section.y2_area div.y2_ttl,
section.y2 div.y2_ttl {
	float: left;
	width: 100vw;
	background-color: #4d4d4d;
	border-bottom: 5px solid #cdd723;
	padding: 1.5em 0;
}

section.y2_area div.y2_ttl h1,
section.y2 div.y2_ttl h1 {
	width: 80vw;
	height: auto;
	margin: 0 auto;
	text-align: center;
	font-size: 30px;
	font-weight: bold;
	color: #fff;
}

section.y2_area div.y2_ttl h1 span {
	display: block;
	font-size: 20px;
	font-weight: normal;
}

section.y2_area div.y2_area h2.y2 {
	clear: both;
	width: 100%;
	margin: 0 auto;
	padding: 50px 0 30px;
	font-size: min(7vw, 30px);
	border-bottom: 1px solid #4d4d4d;
}

section.y2_area div.y2_area h2.y2 span:last-child {
	font-size: 15px;
	margin-top: 5px;
}

section.y2_area div.y2_area h2.y2 img {
	width: max(30%, 200px);
	margin: 0 auto;
	padding: 30px 0;
}

section.y2_area div.y2_area .w20 h2.y2 img {
	width: max(20%, 130px);
}

section.y2_area div.y2_area .w40 h2.y2 img {
	width: max(40%, 240px);
}

section.y2_area div.y2_area div#earth_gear {
	width: 70%;
	display: block;
	margin: 0 auto;
}

section.y2_area div.y2_area div#earth_gear img {
	width: 100%;
}

@media screen and (max-width:800px) {}

section.y2_area div.y2_area p.y2 {
	display: block;
	width: 80%;
	/**/
	margin: 0 auto;
	font-size: 18px;
	padding: 30px 0;
}

section.y2_area div.y2_area div.y2_photo {}

section.y2_area div.y2_area div.y2_photo ul {
	width: 80%;
	margin: 0 auto;
	padding-bottom: 10px;
}

@media screen and (max-width:600px) {
	section.y2_area div.y2_area p.y2 {
		width: 100%;
	}

	section.y2_area div.y2_area div.y2_photo ul {
		width: 100%;
		margin: 0 auto;
		padding-bottom: 10px;
	}
}

section.y2_area div.y2_area div.y2_photo ul li {
	display: block;
	width: 100%;
	padding-bottom: 20px;
}

div.y2_photo>ul li.fifty {
	float: left;
	width: 48% !important;
	margin-right: 4%;
}

div.y2_photo>ul li.fifty2 {
	float: left;
	width: 48% !important;
	margin-right: 0%;
}

div.y2_photo ul li p.btn3_fifty {
	width: 100%;
	display: block;
	background-color: #808080;
	margin: 1em auto;
	text-align: center;
}

div.y2_photo ul li p.btn3_fifty a {
	display: block;
	width: 100%;
	color: #fff;
	font-size: calc(8px + 0.4vw);
	font-weight: bold;
	letter-spacing: 0;
	padding: 0.8em 0;
}

#tetsu div.y2_photo ul li.fifty {
	float: left;
}

#tetsu div.y2_photo ul li.fifty:nth-of-type(2),
#tetsu div.y2_photo ul li.fifty:nth-of-type(3),
#tetsu div.y2_photo ul li.fifty:nth-of-type(5) {
	margin-right: 0;
}

section.y2_area p.link {
	display: block;
	width: auto;
	margin: 0 auto;
	padding: .7em 1em 0;
	text-decoration: underline;
	font-size: min(3.5vw, 13px);
	text-align: center;
}

/**/

section.y2_area div.y2_area div.y2_photo ul p.cap {
	display: inline-block;
	width: 100%;
	font-size: min(3.6vw, 15px);
	line-height: 1.2em;
	margin-top: 5px;
}

section.y2_area div.y2_area div.y2_photo ul p.cap_eighty {
	display: inline-block;
	width: 80%;
	font-size: 15px;
	margin-top: 5px;
}

section.y2_area div.y2_area div.y2_photo ul p.credit {
	display: inline-block;
	width: 20%;
	height: auto;
	font-size: 15px;
	margin: 5px auto 0;
	text-align: right;
}

section.y2_area div.y2_area div.y2_photo ul li img {
	width: 100%;
}

section.y2_area div.y2_area p.btn3 {
	display: block;
	clear: both;
	width: min(362px, 78vw);
	padding: 0 1em 0;
	background-color: #808080;
	margin: 30px auto 1em;
	text-align: center;
	color: #fff;
	font-size: calc(12px + 0.8vw);
	font-weight: bold;
	letter-spacing: 0;
}

section.y2_area div.y2_area p.btn3 a {
	color: #fff;
	padding: 1em 0;
	line-height: 1.3em;
	display: block;

}

section.y2_area div.y2_area p.btn3:hover {
	background-color: #808080;
}

section.y2_area div.y2_area p.btn_back,
section.y2_area_s div.y2_area p.btn_back {
	width: max(50%, 200px);
	margin: 50px auto 50px;

}

section.y2_area div.y2_area p.btn_back a,
section.y2_area_s div.y2_area p.btn_back a {
	display: block;
	background-color: #808080;
	width: 100%;
	color: #fff;
	font-size: min(3vw, 18px);
	font-weight: bold;
	text-align: center;
	line-height: 1em;
	padding: 2em 0 2em;
}

section.y2_area div.y2_area div.banner {
	display: block;
	clear: both;
	width: 60%;
	padding: 30px 20%;
}

section.y2_area div.y2_area div.banner img {
	width: 100%;
	height: auto;
}



section.y2_area div.y2_area p.sponsor_insta {
	display: block;
	margin: 1em auto;
	width: 48px;
	height: 48px;

}

section.y2_area div.y2_area p.sponsor_insta a img {
	width: 100%;
}