@charset "utf-8";
/* CSS Document */
/* 基本セット */
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, 
fieldset, input, textarea, p, blockquote, th, td {margin: 0; padding: 0; box-sizing: border-box;}
h2 {
  font-size: 25px;
  font-size: 2rem;
  position: relative;
  padding: 1.5rem;
  text-align: center;
}

h2 span {
  font-size: 18px;
  font-size: 1.8rem;
  display: block;
}

h2:before {
  position: absolute;
  bottom: -10px;
  left: calc(50% - 30px);
  width: 60px;
  height: 5px;
  content: '';
  border-radius: 3px;
  background:#9B0B0B;
}

h3{font-size: 1.5em;
	text-align: center;
line-height:1.6;
margin-bottom: 0.2em;}

h3 span {
  font-size: 0.8em;
  display: block;
  margin-bottom: 1em;
}


ol, ul {list-style: none;}
a {color: inherit; text-decoration: none;}
body { font-size: 18px; color: #000000; line-height: 1; background-color: #ffffff; }
:root {--v-space: clamp(90px, 7vw, 120px);}
img {max-width: 100%;}

p { line-height:1.6; letter-spacing:0.06em;}
/* テーブル */
table.a{
  border-collapse: collapse;
  border-spacing: 0;
  max-width: 600px;
}

table.a tr{
  border-bottom: solid 1px #000;
}

table.a th{
  width: 60%;
  padding: 10px ;
}

table.a td{
  width: 60%;
  padding: 20px;
　line-height: 2em;
 font-size:0.9em;
}


/* メニュー */
.header {background-color:#9B0B0B; position: sticky; top: 0; z-index: 10; font-size: 16px;}
.header-inner {max-width: 1150px; height: 70px; margin-left: auto; margin-right: auto; padding-left: 40px; padding-right: 40px; display: flex; justify-content: space-between; align-items: center; color: #ffffff; background-color:#9B0B0B;}
.toggle-menu-button {display: none;}
.header-logo {display: block; width: 210px;}
.site-menu ul {display: flex;}
.site-menu ul li {margin-left: 20px; margin-right: 20px;}

/* ヒーローイメージ */
.hero-pic { height: calc(768px - 80px); background-image: url("../img/main_pic.jpg") ; background-repeat: no-repeat; background-position: center; background-size: cover; display: grid; align-items: center; justify-content: center;}
.hero-container{display: grid;}


/* YOUTUBE */
.youtube { background : #000; padding: 5em 2em 5em 2em;}
.movie-wrap {
     position: relative;
     padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
     height: 0;
     overflow: hidden;
	 max-width: 854px;
	margin: 1.5em auto 0;
}
 
.movie-wrap iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}

/* 導入　*/
.top { background: url("../img/paper_001.jpg"); background-repeat:repeat; background-position: center;  background-size: auto; margin: 0.2em 0 0.2em 0; padding: 1em 1em 4em 1em; display: flex; flex-direction: column; }
.top_back{display: flex; flex-direction: column; }
.title { font-size:2.5em; text-align: center;　line-height: 1.5em; letter-spacing:0.07em; margin:0em 0 1em 0;}
.top-contener { display: flex; flex-direction: column; align-items: center; margin: 0 auto; }
.top-contener p { color:#000; max-width:600px;  line-height:1.6; margin: 0 0 1em 0;}
.photo{ text-align: center; padding: 0 1em ; margin: 1.5em 0.5em 0 0.5em; max-width: 500px;}
.text {text-align: center　;margin: 1.7em 0 0 0; }
.top .button04 { margin:0 auto; display: flex; justify-content: center;}
.top p2 { color:#000; line-height:1.7em; font-size:0.8em; max-width: 500px; margin-top: 1em; margin:3em auto 0; text-align: left;}
.top p3 { color:#000; line-height:1.7em; text-align: center; font-size:1em; max-width: 500px;  margin:0em auto 0; font-weight: bold;}
.top p { color:#000; line-height:1.7em; text-align: left; font-size:1em; margin:0 auto;}
.text2 p { color:#000; line-height:1.7em; text-align: left; font-size:0.8em;}
.days{font-weight: bold; line-height:1em;}
.minimini {margin-bottom: 50px;}
.minimini p {font-size: 0.5em; font-weight: bold;}
.top img{width:100%;}
.text p{ line-height: 2.5em;}
.top_box{ border-radius: 20px; display: flex; justify-content: center;}
.top_box2 h3 { text-align: center; margin-bottom: 10px; font-family: 'Noto Sans JP', sans-serif; font-size: 30px; font-weight: 700; color:#000; line-height: 1.8em; }
.top_box2{ padding:35px 27px; display: flex; flex-direction: column; margin:0 auto;}
.top_box2 p { font-size: 15px;}

.heading15 {
	position: relative;
	padding-bottom: 70px;
	font-size: 1.1em;
	text-align: center;
	line-height:1.7em;
	margin-bottom: 2em;
	flex-direction: column; 
	align-items: center; 
	margin: 0 auto; 
	justify-content:center;
}
.heading15 p{
	text-align: center;
    padding: 0 0 2px;}

*{
  margin:0;
  padding:0;
  line-height: 1.3em;
} 

ul.cation,ol.cation {
  background: #fcfcfc;/*背景色*/
  padding: 0.5em 0.5em 0.5em 2em;/*ボックス内の余白*/
  border: solid 1px #b99b00;/*線の種類 太さ 色*/
max-width:500px;
	list-style: square;/*ポチを■にする*/

}
ul.cation li,ol.cation li{
  line-height: 1.7; /*文の行高*/
  padding: 0.5em 0; /*前後の文との余白*/
	font-size:14px;
}


/* 会期　場所アイコン */
.icon01 {display: block; width: 200px; padding: 10px 3px; box-sizing:  border-box; border-radius: 4px; background-color:#9B0B0B; color:#fff; font-size: 15px; text-align: center; text-shadow: 0 0 6px #00000052; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.22); margin: 23px auto 20px; }
/*
.heading15::after {
  position: absolute;
  bottom: -10px;
  left: calc(50% - 30px);
  width: 60px;
  height: 5px;
  content: '';
  border-radius: 3px;
  background: #b99b00;
}
*/
/* 枠 */
.btn-gradient-radius {
  display: inline-block;
  padding: 7px 20px;
  border-radius: 25px;
  color: #FFF;
  background-image: linear-gradient(45deg, #FFC107 0%, #ff8b5f 100%);
　font-weight: 700;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.29); 
}
/* イベント情報エリア */
.event { background-color:#EBEBEB; background-size: cover; margin: 0.2em 0 0.2em 0; padding: 4em 1em 4em 1em; align-items: center;}
.event-contener{display: flex; flex-direction: row; align-items: flex-start; justify-content: center;}
.icon02 {display: block; width: 60px; padding: 2px 4px; box-sizing:  border-box; border-radius: 4px; background-color:#014B70; color:#fff; font-size: 12px; text-align: center; text-shadow: 0 0 6px #00000052;   }
.kai{ display: flex; }
/*タイトル付き（見出しボックス）*/
.event-box71{
margin: 2em 0.7em; /* ボックスの余白 */
background-color: #fff; /* ボックス背景色 */
padding: 1em 1em 2em; /* ボックス内側余白 */
position:relative; /*配置(ここを基準に)*/
box-shadow: 0px 1px 5px rgba(0,0,0,0.1);/*ボックス影*/
max-width: 600px;
text-align: left;	/* タイトル中央寄せ */
}
.event-box71 .box-title {
background-color: #014B70; /* タイトル背景色 */
font-size: 1.1em;/* タイトル文字の大きさ */
color: #fff; /* タイトル文字色 */
padding:20px;/*タイトル余白*/
text-align: center;	/* タイトル中央寄せ */
position:absolute;	/* 配置(ここを動かす) */
top:0;	/*上から(0px)に配置 */
left:0; /*左から(0px)に配置 */
width:100%;/*横幅最大幅 */
}
.box-title-mini {
text-align: center;	/* タイトル中央寄せ */
color: #1D4575; 
font-size: 0.8em;/* タイトル文字の大きさ */
margin:1em 0 0 0;
	}
.semi-title p {text-align: left;}
.flex-item1 {
flex-basis: 100%; /* flexアイテムの幅を自動で調整 */
}
p.k-title{font-size:1.2em; font-weight: 700; text-align:center;}
p.acter{font-size: 0.9em; text-align:left;}

a.btn_01 {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 120px;
	margin: auto;
	padding: 1rem 4rem;
	font-weight: bold;
	border: 2px solid #b99b00;
	color: #b99b00;
	transition: 0.5s;
}
a.btn_01:hover {
	color: #fff;
	background: #b99b00;
}

.end{font-size: 15px; font-weight: bold; color: #b99b00;}
.minicom{ font-size: 0.9em; padding: 0 2em;}
.minicom p{line-height:2;}

/* ギャラリートークエリア */
.nazo { background: url("../img/washi.jpg"); background-repeat:repeat; background-position: center;  background-size: auto; margin: 0.2em 0 0.2em 0; padding: 4em 1em 4em 1em; display: flex; flex-direction: column; align-items: center;}
.nazo_box2 { margin: 0.5em;}
.nazo_title2 {font-size: 20px; font-weight: bold;}

/* 見出し上アイコン */
.icon005 p {
    border-radius: 3px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    max-width: 230px;
    padding: 2px 5px 2px 5px;
	margin: 5px 2px 10px;
    color: #FFF;
    transition: 0.3s ease-in-out;
	font-size: 0.7em;
    font-weight: 600;
    background:#005AAA;
}



/* スタンプラリー */
.badge { margin: 0.2em 0 0.2em 0; padding: 2em 1em 2em 1em; display: flex; flex-direction: column; align-items: center;}
.badge_box { align-items: center; margin: 0.2em;}
.badge_box1 { min-width:200px ; max-width:700px;　padding:0 0 0 3px; margin: 0em 0 1em 0;}
.badge_box2 { display: flex; flex-direction: column; align-items: center; margin: 1em 0 0 0 ;}
.badge_box2 img { align-items: center; margin: 0.5em; max-width: 400px;}
.badge_box p { color:#000000; max-width:600px; margin: 0.5em 0 0 0; line-height:2; letter-spacing:0.07em;}
.badge_box_s p { color:crimson; max-width:600px; line-height:2; letter-spacing:0.02em; font-size:0.8em; margin: 1em 0 0 0; font-weight:bold;}
.badge_action {display: flex; justify-content:center; margin: 1.5em 0 0 0;}
.action_box { margin: 0 auto; }
.action_box img {margin: 1em 0 0 0;}
.cocoar_imgbox {display: flex; flex-direction: column;}
.cocoar_imgbox p {margin:2em 0 0 0; text-align: center;}
.cocoar_imgbox img {max-width: 600px;}
.cocoar_buton{ max-width: 300px; margin: 0 auto;}
.box11{
    padding: 1em 1em;
    margin: 2em 0;
    color: #5d627b;
    background: white;
    border-top: solid 5px #5d627b;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
}
.box11 p {
    margin: 0; 
    padding: 0;
	font-weight: bold;
}
a.btn_06 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 50px;
  box-sizing: border-box;
  background: repeating-linear-gradient(45deg, #ffffff, #ffffff 3px, #e7e7e7 3px, #e7e7e7 30px);
  color: #333;
  font-size: 14px;
  letter-spacing: 0.1em;
  text-decoration: none;
  position: relative;
}
a.btn_06 span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 50px;
  background: #fff;
  border: 1px solid #000;
  box-sizing: border-box;
  position: absolute;
  top: -6px;
  left: -6px;
  transition-duration: 0.2s;
}
a.btn_06:hover span {
  left: -1px;
  top: -1px;
}

/* チラシダウンロード */
.pdf { background-color: #CCC; margin: 0 0 0.2em 0; padding: 4em 0 4em; display: flex; flex-flow: column;}
.pdf-button-area { display: flex; flex-flow: row nowrap; align-items: center; margin: 0 auto;}
.pdf-button-area img{ width: 400px; padding: 5px;}
.pdf .button04 { margin:0 auto; display: flex;}
.pdf p {margin:2em 0 0 0; text-align: center;}

/* チラシダウンロード内ボタン */
.button04 a {
  text-align: center;
  margin: 2em;
  padding: 1em 0.5em;
  color: #000;
  font-size: 18px;
  font-weight: 700;
  border: 3px solid #000;
  border-radius: 10px;
  width: 300px;
}

.button04 a::after {
  width: 5px;
  height: 5px;
  color: #fff;
  border-top: 3px solid #000;
  border-right: 3px solid #000;
  transform: rotate(45deg);
}

.button04 a:hover {
  color: #000;
  text-decoration: none;
  background-color: #333333;
}

.button04 a:hover::after {
  border-top: 3px solid #333333;
  border-right: 3px solid #333333;
}

/* map */
.map {color: #000;  background: url("../img/paper_001.jpg"); background-repeat:repeat; background-position: center;  background-size: auto;  padding: 4em 0 4em; margin-top: 2px; display: flex; flex-direction: column; align-items: center;}
.map img {width:70%;}

/* footer */
.footer {color: #ffffff; background-color: #9B0B0B; padding-top: 30px; padding-bottom: 15px; margin-top: 2px; display: flex; flex-direction: column; align-items: center;}
.copyright {font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif"; font-size: 14px;}

/* メディアクエリ　*/

@media (max-width: 1000px) {
.tsuika-p2 { font-size:1.2em; font-weight: bold; display: inline-block; flex-direction: column; justify-content: center; align-items: center; line-height:1.7; letter-spacing:0.07em; margin:1.5em;}
.text p2 { font-size:1.2em; font-weight: bold; display: inline-block; flex-direction: column; justify-content: center; align-items: center; line-height:1.7; letter-spacing:0.07em; margin:1.5em;}
.text h2 { font-size:1em; margin: 0 0 0.8em 0; font-weight: bold; text-align: center; }
}

@media (min-width : 1500px ){
.hero-pic { height: calc(768px - 80px); background-image: url("../img/main_pic.jpg") ; height: 800px; background-repeat: no-repeat; background-position: center; background-size: cover; display: grid; align-items: center; justify-content: center;}
}

@media (max-width: 900px) {
.site-menu ul {display: block; text-align: center;}
.site-menu li {margin-top: 20px;}
.header {position: fixed; top: 0; left: 0; right: 0; background-color: #B59A56; height: 50px; z-index: 10;}
.header-inner {padding-left: 20px; padding-right: 20px; padding-top: 10px; height: 120%; position: relative;}
.header-site-menu {position: absolute; top: 100%; left: 0; right: 0; color: #ffffff; background-color: #014B70; padding-top: 30px; padding-bottom: 50px; display: none;}
.toggle-menu-button {display: block; width: 44px; height:42px; background-image: url("../img/icon-menu.png"); background-size: 100%; background-position: center; background-repeat: no-repeat; background-color: transparent; border:none; border-radius: 0; outline: none;}
.header-site-menu.is-show {display: block;}
.header-logo {display: block; width: 180px; }
.main {padding-top: 60px;}
.main-pic {height: calc(768px - 80px); background-position:top; }
.badge_box2 img { margin: 0.5em; width: 80%;}
.badge  img{ display: flex; flex-direction: column; margin: 1em 0 0 0;}
.badge_action {display: flex; justify-content:flex-start; flex-wrap: wrap; margin: 1.5em 0 0 0; width: 80%;}
.event-contener{display: flex; flex-direction:column; align-items: center;}
.semi-title p {text-align: center;}
}

@media (max-width:850px){
.pdf-button-area { display: flex; flex-flow: column; align-items: center; margin: 0 auto;}
.pdf-button-area img{ width: 380px; padding: 5px;}	
.layout_box{ display: flex; flex-direction: column; align-items: center;}
}

@media (max-width: 700px) {
.badge_box { align-items: center; }
.map img {width:80%;}
.title { font-size:2em; text-align: center;　line-height: 1.5em; letter-spacing:0.07em; margin:0em 0 1em 0;}
.text p{ line-height: 2em;}
.top_box2 h3 { text-align: center; margin-bottom: 10px; font-family: 'Noto Sans JP', sans-serif; font-size: 25px; font-weight: 700; color:#000; line-height: 1.8em; }
}

@media (max-width: 600px) {
.event .p2 {text-align: center; margin:0.5em 0.5em 0 0.5em; font-family: 'Noto Sans JP', sans-serif; font-size: 18px; font-weight: 700; color:#005AAA;}
.button_line007 a {
	font-size: 1.3em;
	padding: 30px 30px;}
.hero-pic { height: calc(700px - 80px); background-image: url("../img/main_pic.jpg") ; height: 500px; background-repeat: no-repeat; background-position: center; background-size: cover; display: grid; align-items: center; justify-content: center;}
}

@media (max-width: 550px) {
.title { font-size:1.5em; text-align: center;　line-height: 1.5em; letter-spacing:0.07em; margin:0em 0 1em 0;}
.event-box h3{margin-bottom: 38px; font-family: 'Noto Sans JP', sans-serif; font-size: 25px; font-weight: 700; color:#E20280; line-height:1.5; letter-spacing:0.05em;}
.photo{ text-align: center; padding: 0 1em ; margin: 1em 0.1em 0 0.1em;}
.nazo_title2 {font-size: 18px; font-weight: bold;}
.top_box2 h3 {font-size: 20px;}
.button04 a { width: 200px;}
table.a td{
  width: 60%;
  padding: 20px;
　line-height: 2em;
 font-size:0.8em ;
}

}

@media screen and (min-width: 470px){
.br-sp {display: none; }
}

@media (max-width: 450px) {
.top_box2 h3 { font-size: 16px;}
}

@media (max-width: 430px) {
.event .p2 {text-align: center; margin:0.5em 0.8em 0 0.8em; font-family: 'Noto Sans JP', sans-serif; font-size: 15px; font-weight: 700; color:#005AAA;}
.tsuika-p2 { font-size:1em; font-weight: bold; display: inline-block; flex-direction: column; justify-content: center; align-items: center; line-height:1.7; letter-spacing:0.07em; margin:1.5em; max-width: 800px;}
.text p2 { font-size:1em; font-weight: bold; display: inline-block; flex-direction: column; justify-content: center; align-items: center; line-height:1.7; letter-spacing:0.07em; margin:1.5em; max-width: 800px;}
.hero-pic { height: calc(700px - 80px); background-image: url("../img/main_pic.jpg") ; height: 450px; background-repeat: no-repeat; background-position: center; background-size: cover; display: grid; align-items: center; justify-content: center;}
h2.g {
  color: #000;
  border: solid 3px #000;
  padding: 0.7em 1.2em;/*文字周りの余白*/
  border-radius: 0.5em;/*角丸*/
}
.title { font-size:1.3em; text-align: center;　line-height: 1.5em; letter-spacing:0.07em; margin:0.1em 0 1.5em 0; font-weight: bold;}
.event-box71{
margin: 2em 0; /* ボックスの余白 */
background-color: #fff; /* ボックス背景色 */
padding: 2em 0.8em 2em; /* ボックス内側余白 */
position:relative; /*配置(ここを基準に)*/
box-shadow: 0px 1px 5px rgba(0,0,0,0.1);/*ボックス影*/
max-width: 500px;
text-align: left;	/* タイトル中央寄せ */
}
.nazo_title2 {font-size: 16px; font-weight: bold;}
/* time-schedule */
.time-schedule {
  min-width: 200px;
  max-width: 400px;
  list-style: none;
  margin: 0 auto 0 4em;
  padding-left: 20px;
  border-left: 6px solid #b99b00;
  box-sizing: border-box;
}
.time-schedule .sch_title {
  font-size: 15px;
  font-weight: 700;
}
.photo { text-align: center; padding: 0 1em ; margin: 1em 0em 0em 0em;}
.button04 a { width: 200px; font-size: 15px; margin: 2em 1em;}
}

@media (max-width: 385px) {
.hero-pic { height: calc(600px - 80px); background-image: url("../img/main_pic.jpg") ; height: 500px; background-repeat: no-repeat; background-position: center; background-size: cover; display: grid; align-items: center; justify-content: center;}
.top_box h3{ margin-bottom: 38px; font-family: 'Noto Sans JP', sans-serif; font-size: 20px; font-weight: 700; color:#000; line-height:1.5;}
.button04 a { width: 200px; font-size: 15px; margin: 1.5em 0.5em;}
}