@charset "UTF-8";
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 100;
  src: local("Noto Sans JP Thin"), url("fonts/NotoSansJP-Thin.woff2") format("woff2"), url("fonts/NotoSansJP-Thin.woff") format("woff"), url("fonts/NotoSansJP-Thin.ttf") format("ttf"), url("fonts/NotoSansJP-Thin.eot") format("embedded-opentype");
  font-display: swap;
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 300;
  src: local("Noto Sans JP Light"), url("fonts/NotoSansJP-Light.woff2") format("woff2"), url("fonts/NotoSansJP-Light.woff") format("woff"), url("fonts/NotoSansJP-Light.ttf") format("ttf"), url("fonts/NotoSansJP-Light.eot") format("embedded-opentype");
  font-display: swap;
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  src: local("Noto Sans JP Regular"), url("fonts/NotoSansJP-Regular.woff2") format("woff2"), url("fonts/NotoSansJP-Regular.woff") format("woff"), url("fonts/NotoSansJP-Regular.ttf") format("ttf"), url("fonts/NotoSansJP-Regular.eot") format("embedded-opentype");
  font-display: swap;
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 500;
  src: local("Noto Sans JP Medium"), url("fonts/NotoSansJP-Medium.woff2") format("woff2"), url("fonts/NotoSansJP-Medium.woff") format("woff"), url("fonts/NotoSansJP-Medium.ttf") format("ttf"), url("fonts/NotoSansJP-Medium.eot") format("embedded-opentype");
  font-display: swap;
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700;
  src: local("Noto Sans JP Bold"), url("fonts/NotoSansJP-Bold.woff2") format("woff2"), url("fonts/NotoSansJP-Bold.woff") format("woff"), url("fonts/NotoSansJP-Bold.ttf") format("ttf"), url("fonts/NotoSansJP-Bold.eot") format("embedded-opentype");
  font-display: swap;
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 900;
  src: local("Noto Sans JP Black"), url("fonts/NotoSansJP-Black.woff2") format("woff2"), url("fonts/NotoSansJP-Black.woff") format("woff"), url("fonts/NotoSansJP-Black.ttf") format("ttf"), url("fonts/NotoSansJP-Black.eot") format("embedded-opentype");
  font-display: swap;
}
/*
reset
------------------------------------------------------------------------------------------*/
address,
caption,
cite,
code,
dfn,
em,
th,
var {
  font-style: normal;
  font-weight: normal;
}

img {
  max-width: 100%;
  border-style: none;
  vertical-align: bottom;
  height: auto;
}

p,
dl,
dt,
dd,
ul,
ul > li,
h1,
h2,
h3,
h4,
h5,
h6,
iframe,
figure {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
}

ul {
  list-style: none;
}

ul > li {
  list-style-type: none;
}

caption,
th {
  text-align: left;
}

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

abbr,
acronym {
  border: 0;
}

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

a {
  text-decoration: none;
}

/*
layout
------------------------------------------------------------------------------------------*/
* {
  box-sizing: border-box;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
  color: #7f4e1b;
  margin: 0;
  padding: 0;
  min-width: 320px;
  position: relative;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  line-break: strict;
  word-wrap: break-word;
  overflow-wrap: break-word;
  background-color: #FFFBF0;
  background-repeat: repeat;
}
@media screen and (max-width: 819px) {
  body {
    font-size: 16px;
  }
}

img {
  max-width: 100%;
  max-height: 100%;
  pointer-events: none;
}

h1 {
  font-size: 28px;
  margin: 0;
  position: relative;
}

.article-header {
  position: relative;
  margin-block: 100px 120px;
  text-align: center;
  line-height: 1;
}
@media screen and (max-width: 819px) {
  .article-header {
    margin-block: 50px 100px;
  }
}
.article-header::after {
  content: "";
  position: absolute;
  bottom: -20px;
  left: calc(50% - 30px);
  background-color: #af2823;
  width: 60px;
  height: 4px;
}
.article-header h1.article-title {
  display: block;
  font-size: 42px;
  margin-top: -30px;
  margin-bottom: 1em;
}
@media screen and (max-width: 819px) {
  .article-header h1.article-title {
    font-size: 32px;
    margin-top: -20px;
  }
}
.article-header h1.article-title .article-sub-title {
  font-size: 20px;
  margin-top: 1em;
}
@media screen and (max-width: 819px) {
  .article-header h1.article-title .article-sub-title {
    font-size: 20px;
  }
}
.article-header span {
  color: #eae2da;
  font-family: "Prompt", sans-serif;
  font-size: 100px;
  font-weight: bold;
}
@media screen and (max-width: 819px) {
  .article-header span {
    font-size: 60px;
  }
}

h2.section-title {
  position: relative;
  margin-bottom: 120px;
  font-size: 42px;
  text-align: center;
}
@media screen and (max-width: 819px) {
  h2.section-title {
    font-size: 32px;
    margin-bottom: 100px;
  }
}
h2.section-title::after {
  content: "";
  position: absolute;
  bottom: -20px;
  left: calc(50% - 30px);
  background-color: #af2823;
  width: 60px;
  height: 4px;
}

/*
    セクションの背景色
*/
.section-bg-color {
  background-color: #f0eae5;
}

@media screen and (max-width: 819px) {
  .main {
    margin-top: 70px;
  }
}

.page-wrapper {
  max-width: 100%;
  width: 1080px;
  margin-inline: auto;
}
@media screen and (max-width: 819px) {
  .page-wrapper {
    padding: 0 2em;
  }
}
@media screen and (max-width: 819px) {
  .page-wrapper {
    padding: 0 1em;
  }
}

@media screen and (min-width: 1080px) {
  .pc-block {
    display: block;
  }
}
@media screen and (max-width: 819px) {
  .pc-block {
    display: none;
  }
}

@media screen and (min-width: 1080px) {
  .pc-inline-block {
    display: inline-block;
  }
}
@media screen and (max-width: 819px) {
  .pc-inline-block {
    display: none;
  }
}

@media screen and (min-width: 1080px) {
  .sp-block {
    display: none;
  }
}
@media screen and (max-width: 819px) {
  .sp-block {
    display: none;
  }
}
@media screen and (max-width: 819px) {
  .sp-block {
    display: block;
  }
}

a {
  color: #fff;
}
a:hover {
  color: #fec501;
  text-decoration: underline;
}

a.text-link {
  color: #FF6699;
  text-decoration: underline;
}
a.text-link:hover {
  color: #fec501;
  text-decoration: underline;
}

a.external-link {
  color: #FF6699;
  text-decoration: underline;
}
a.external-link:hover {
  color: #fec501;
}
a.external-link::before {
  font-family: "Font Awesome 5 Free";
  content: "\f35a";
  font-weight: 900;
  display: inline-block;
  margin: 0 0.3em;
  text-decoration: none;
}

.comingsoon {
  text-align: center;
}

.burette-list .item {
  text-indent: -1em;
  padding-left: 1em;
}

.flex-container {
  display: flex;
}
@media screen and (max-width: 819px) {
  .flex-container {
    display: block;
  }
}
.flex-container .flex-item {
  width: 50%;
}
@media screen and (max-width: 819px) {
  .flex-container .flex-item {
    width: 100%;
  }
}
@media screen and (max-width: 819px) {
  .flex-container .flex-item + .flex-item {
    margin-top: 60px;
  }
}

.btn-block {
  text-align: center;
}
.btn-block a {
  display: inline-block;
  width: auto;
  margin: 0.5em 0 0 0;
  padding: 1em 3em;
  text-align: left;
  border-radius: 10px;
  font-size: 14px;
  background: #333;
  color: #fff;
}

.attention {
  color: #e16162;
}

.keiko {
  display: inline;
  background: linear-gradient(transparent 90%, #fec501 90%);
}

.list-note {
  background-color: #efefef;
  padding: 0.5em;
  margin-top: 0.5rem;
}

p.list {
  padding-left: 1em;
  text-indent: -1em;
}

.f-xs {
  font-size: 12px;
}

.f-s {
  font-size: 14px;
}

table.basic {
  border: solid 1px #ccc;
  border-collapse: collapse;
}
table.basic th, table.basic td {
  border: solid 1px #ccc;
  padding: 0.5em 1em;
}
table.basic th {
  background-color: #efefef;
}

#header {
  border-top: solid 6px #f0eae5;
  /* ハンバーガーメニュー */
}
@media screen and (max-width: 819px) {
  #header {
    z-index: 9999;
    position: fixed;
    top: 0;
    width: 100%;
    background-color: #fff;
    border-bottom: solid 1px #efefef;
    box-shadow: 0px 5px 5px -2px rgba(0, 0, 0, 0.2);
  }
}
#header .header-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 80px;
}
@media screen and (max-width: 819px) {
  #header .header-container {
    height: 60px;
    display: inline-flex;
    align-items: center;
    width: calc(100% - 50px);
  }
}
#header .header-logo {
  width: 300px;
}
@media screen and (max-width: 819px) {
  #header .header-logo {
    width: 80%;
    padding: 0 0 0 10px;
  }
}
#header .header-info {
  display: flex;
  align-items: center;
  text-align: right;
}
@media screen and (max-width: 819px) {
  #header .header-info {
    width: 20px;
    padding: 0;
  }
}
#header .icon-social {
  margin: 0;
  padding: 0;
  line-height: 1em;
  font-size: 32px;
  color: #2C5364;
}
#header .icon-social:hover {
  color: #ECB02D;
}
#header .btn-block {
  padding: 0;
  margin: 0 0 0 1em;
}
#header .btn-block a {
  display: block;
  width: 160px;
  background-color: #ECB02D;
  color: #fff;
  padding: 0.4em;
  margin: 0;
  text-align: center;
  border-radius: 10px;
  text-decoration: none;
  font-weight: normal;
}
#header .btn-block a:hover {
  background-color: #e73278;
}
@media screen and (max-width: 819px) {
  #header #menu-toggle {
    width: 46px;
    height: 34px;
    position: absolute;
    right: 10px;
    top: 12px;
    padding-top: 0px;
    margin: 0;
    background: #ECB02D;
    border-radius: 3px;
  }
  #header #menu-toggle .menu-trigger span {
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    height: 2px;
    background-color: #fff;
    transition: all 0.25s;
    width: 24px;
  }
  #header #menu-toggle .menu-trigger span:nth-of-type(1) {
    top: 16px;
  }
  #header #menu-toggle .menu-trigger span:nth-of-type(2) {
    top: 24px;
  }
  #header #menu-toggle .menu-trigger span:nth-of-type(3) {
    top: 8px;
  }
  #header #menu-toggle .menu-trigger.open span:nth-of-type(1) {
    top: 12px;
    -webkit-transform: translateY(5px) rotate(-45deg);
    transform: translateY(5px) rotate(-45deg);
  }
  #header #menu-toggle .menu-trigger.open span:nth-of-type(2) {
    top: 22px;
    -webkit-transform: translateY(-6px) rotate(45deg);
    transform: translateY(-5px) rotate(45deg);
  }
  #header #menu-toggle .menu-trigger.open span:nth-of-type(3) {
    display: none;
  }
}

/*-------------------------------------------*
	grand menu
 *-------------------------------------------*/
#gmenu {
  background: linear-gradient(to bottom, #006675 0%, #004854 100%);
  /* 親メニューリスト */
}
#gmenu ul.parent {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 819px) {
  #gmenu ul.parent {
    display: none;
    position: fixed;
    left: 0;
    height: 70vh;
    overflow-y: scroll;
  }
  #gmenu ul.parent.open {
    display: block;
    z-index: 9999;
    width: 100%;
    background: linear-gradient(to bottom, #006675 0%, #004854 100%);
    padding: 1.5em 0.5em;
    margin: 0 auto;
  }
}
#gmenu ul.parent > li {
  width: 100%;
  padding: 3px;
  position: relative;
}
@media screen and (min-width: 1080px) {
  #gmenu ul.parent li {
    overflow: hidden;
  }
  #gmenu ul.parent li:hover {
    overflow: visible;
  }
}
@media screen and (max-width: 819px) {
  #gmenu ul.parent li {
    width: 100%;
    border-bottom: dotted 1px #ccc;
  }
}
#gmenu ul.parent li a {
  display: block;
  padding: 16px 0 0 0;
  color: #fff;
  background-color: none;
  height: 80px;
  text-decoration: none;
}
@media screen and (max-width: 819px) {
  #gmenu ul.parent li a {
    width: 100%;
    display: block;
    padding: 0.5em 1em;
    color: #fff;
    background-color: none;
    height: auto;
  }
}
#gmenu ul.parent li a:hover {
  color: #efefef;
  background-color: #004854;
}
@media screen and (max-width: 819px) {
  #gmenu ul.parent li a:hover {
    background-color: #efefef;
    color: #004854;
  }
}
#gmenu ul.parent li i {
  font-size: 22px;
  font-weight: bold;
}
@media screen and (max-width: 819px) {
  #gmenu ul.parent li i {
    font-size: 18px;
  }
}
#gmenu ul.parent li span {
  display: block;
  text-align: center;
  font-size: 14px;
  font-weight: bolder;
}
@media screen and (max-width: 819px) {
  #gmenu ul.parent li span {
    display: inline-block;
    text-align: left;
    margin-left: 1em;
  }
}
@media screen and (min-width: 1080px) {
  #gmenu {
    /* 子メニューリスト */
  }
  #gmenu ul.dropdown_list {
    z-index: 9999;
    position: absolute;
    left: -65px;
    border-top: solid 3px #aa3f1e;
    background: linear-gradient(to bottom, #e0633b 0%, #aa3f1e 100%);
    padding: 0.5em;
  }
  #gmenu ul.dropdown_list li {
    width: 240px;
    padding: 0;
    height: auto;
  }
}
@media screen and (min-width: 1080px) and (max-width: 819px) {
  #gmenu ul.dropdown_list li {
    border: none;
  }
}
@media screen and (min-width: 1080px) {
  #gmenu ul.dropdown_list li span {
    display: inline-block;
    text-align: left;
    font-size: 14px;
    font-weight: bolder;
    margin-left: 1em;
  }
  #gmenu ul.dropdown_list li a {
    display: block;
    width: 100%;
    padding: 0.5em 1em;
    color: #fff;
    background: none;
    height: auto;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
  }
  #gmenu ul.dropdown_list li a:hover {
    background-color: #efefef;
    color: #004854;
  }
}
@media screen and (max-width: 819px) {
  #gmenu {
    /* 子メニューリスト */
  }
  #gmenu ul.dropdown_list {
    margin-left: 2em;
  }
  #gmenu ul.dropdown_list li:last-child {
    border: none;
  }
}

/*
footer
------------------------------------------------------------------------------------------*/
#footer {
  position: relative;
  width: 100%;
  background: linear-gradient(to bottom, #006675 0%, #004854 100%);
}
#footer .footer-logo {
  display: block;
  margin-bottom: 30px;
}
#footer .footer-container {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 819px) {
  #footer .footer-container {
    display: block;
  }
}
#footer .footer-container .footer-item {
  width: 46%;
  padding: 60px 0;
  color: #fff;
}
@media screen and (max-width: 819px) {
  #footer .footer-container .footer-item {
    width: 100%;
    padding: 60px 0;
  }
}
@media screen and (max-width: 819px) {
  #footer .footer-container .footer-item + .footer-item {
    padding-top: 0;
  }
}
#footer .associate-info {
  padding: 0.5em 0;
}
@media screen and (max-width: 819px) {
  #footer .associate-info {
    text-align: center;
  }
}
#footer .btn-block {
  border-top: solid 1px #ECB02D;
  margin-top: 30px;
  padding: 20px 10px 10px 10px;
}
#footer .btn-block a {
  display: block;
  width: 200px;
  margin: 0 auto;
  background-color: #ECB02D;
  color: #fff;
  padding: 1em;
  text-align: center;
  border-radius: 10px;
  text-decoration: none;
  font-weight: normal;
}
#footer .btn-block a:hover {
  background-color: #e0803a;
}
#footer .footer-menu {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#footer .footer-menu li {
  width: 32%;
  margin: 0 0 5px 0;
}
@media screen and (max-width: 819px) {
  #footer .footer-menu li {
    width: 48%;
  }
}
#footer .footer-menu li a {
  display: block;
  color: #fff;
  border: solid 1px #ddd;
  padding: 0.5em 0.5em 0.5em 1em;
  text-decoration: none;
  background-color: #004854;
}
#footer .footer-menu li a:hover {
  background-color: #aa3f1e;
}
#footer .footer-menu li a span {
  display: inline-block;
  margin-left: 0.5em;
  text-align: center;
  font-size: 13px;
  font-weight: bolder;
}
#footer .footer-entry-menu .title-entry-menu {
  font-size: 14px;
  margin-block: 1em;
}
#footer .footer-entry-menu li {
  width: 48%;
}
@media screen and (max-width: 819px) {
  #footer .footer-entry-menu li {
    width: 100%;
  }
}
#footer .books {
  padding-top: 15px;
}
#footer .books .books-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  background-color: none;
  padding: 0 0 60px 0;
}
@media screen and (max-width: 819px) {
  #footer .books .books-container {
    flex-wrap: wrap;
  }
}
#footer .books .books-container .books-item {
  width: 16%;
  padding: 5px;
}
@media screen and (max-width: 819px) {
  #footer .books .books-container .books-item {
    width: 33%;
  }
}
#footer .books .books-container .books-item .title {
  font-size: 12px;
  font-weight: normal;
  padding: 0.3em;
  line-height: 1.4em;
}
#footer .books .books-container .books-item img {
  border: 1px solid #ccc;
}
#footer .books .books-container .books-item a {
  display: block;
  text-decoration: none;
  color: #fff;
}

/*-------------------------------------------*
	copyright
 *-------------------------------------------*/
#copyright {
  background-color: #aa3f1e;
  font-weight: normal;
  text-align: center;
  color: #fff;
  font-size: 12px;
  padding: 1em;
}

/*-------------------------------------------*
	PAGE TOP
 *-------------------------------------------*/
#page-top {
  width: 50px;
  height: 50px;
  position: fixed;
  right: 10px;
  bottom: 40px;
  background-color: #ECB02D;
  border-radius: 50%;
  z-index: 9999;
}
#page-top a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  text-decoration: none;
}
#page-top a:hover {
  opacity: 1;
}
#page-top a::before {
  font-family: "Font Awesome 5 Free";
  content: "\f0d8";
  font-size: 25px;
  font-weight: 900;
  color: #fff;
}

/*
TOP
------------------------------------------------------------------------------------------*/
/*
    セクション内のヘッダー
*/
.top-section-header {
  margin-bottom: 60px;
}
@media screen and (max-width: 819px) {
  .top-section-header {
    margin-bottom: 30px;
  }
}
.top-section-header h2 {
  position: relative;
  margin: 0 0 60px 0;
  text-align: center;
  font-size: 32px;
}
@media screen and (max-width: 819px) {
  .top-section-header h2 {
    font-size: 26px;
  }
}
.top-section-header h2::after {
  content: "";
  position: absolute;
  bottom: -20px;
  left: calc(50% - 30px);
  background-color: #af2823;
  width: 60px;
  height: 4px;
}
.top-section-header p {
  text-align: center;
  font-size: 20px;
}
@media screen and (max-width: 819px) {
  .top-section-header p {
    font-size: 18px;
  }
}

/*
    メインビジュアル
*/
.main-visual {
  position: relative;
  background: url(../images/top/bg-mainv.png?v03);
  background-position: top center;
  background-size: contain;
  background-repeat: repeat-x;
}
@media screen and (max-width: 819px) {
  .main-visual .page-wrapper {
    padding: 0;
  }
}

/*
    お知らせ
*/
#news {
  margin: 0;
  padding: 15px 0;
}
@media screen and (max-width: 819px) {
  #news {
    padding: 15px 0;
  }
}
#news .page-wrapper {
  background-color: #fff;
}
@media screen and (max-width: 819px) {
  #news .page-wrapper {
    background: none;
  }
}
#news .news-container {
  display: flex;
}
@media screen and (max-width: 819px) {
  #news .news-container {
    display: block;
  }
}
#news .news-container h2,
#news .news-container .news-wrapper {
  height: 140px;
  padding: 0.5em 0;
}
@media screen and (max-width: 819px) {
  #news .news-container h2,
  #news .news-container .news-wrapper {
    height: auto;
  }
}
@media screen and (max-width: 819px) {
  #news .news-container .news-wrapper {
    height: 8em;
    background-color: #fff;
  }
}
#news .news-container h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 35%;
  margin: 0;
  padding: 0;
  font-size: 16px;
  background: linear-gradient(to bottom, #006675 0%, #004854 100%);
  color: #fff;
}
@media screen and (max-width: 819px) {
  #news .news-container h2 {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0.2em 1em;
    font-size: 12px;
  }
}
#news .news-container dl {
  display: flex;
  flex-wrap: wrap;
  overflow-y: scroll;
  height: 100%;
  font-size: 14px;
  line-height: 1.4em;
  margin: 0 0 0 30px;
}
@media screen and (max-width: 819px) {
  #news .news-container dl {
    display: block;
    width: 100%;
    margin: 0;
  }
}
#news .news-container dt,
#news .news-container dd {
  padding: 0.3em 0;
}
@media screen and (max-width: 819px) {
  #news .news-container dt,
  #news .news-container dd {
    padding: 0.3em 1em;
  }
}
#news .news-container dt {
  width: 7em;
}
@media screen and (max-width: 819px) {
  #news .news-container dt {
    width: 100%;
    font-weight: bold;
  }
}
#news .news-container dd {
  width: calc(100% - 8em);
}
@media screen and (max-width: 819px) {
  #news .news-container dd {
    width: 100%;
    margin-bottom: 1em;
  }
}
#news .news-container dd a {
  color: #FF6699;
  text-decoration: underline;
}
#news .news-container dl::-webkit-scrollbar {
  width: 14px;
}
#news .news-container dl::-webkit-scrollbar-track {
  border-radius: 2px;
  background-color: #ccc;
}
#news .news-container dl::-webkit-scrollbar-thumb {
  border-radius: 2px;
  background: #333;
}

/*
    TOPページのアウトライン
*/
#top-outline {
  padding: 80px 0 120px 0;
}
@media screen and (max-width: 819px) {
  #top-outline {
    padding: 60px 0;
  }
}
#top-outline .top-outline-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 819px) {
  #top-outline .top-outline-container {
    display: block;
    margin-inline: 15px;
  }
}
#top-outline .top-outline-container .top-outline-item {
  width: 48%;
}
@media screen and (max-width: 819px) {
  #top-outline .top-outline-container .top-outline-item {
    width: 100%;
  }
}
@media screen and (max-width: 819px) {
  #top-outline .top-outline-container .top-outline-item.top-outline-body {
    margin-top: 1em;
  }
}
#top-outline .top-outline-menu-container {
  display: flex;
  flex-wrap: wrap;
  margin-top: 2em;
}
@media screen and (max-width: 819px) {
  #top-outline .top-outline-menu-container {
    display: block;
    margin-top: 2em;
  }
}
#top-outline .top-outline-menu-container .top-outline-menu-item {
  width: 100%;
  margin-block: 0.3em;
}
@media screen and (max-width: 819px) {
  #top-outline .top-outline-menu-container .top-outline-menu-item {
    margin-block: 0.6em;
  }
}
#top-outline .top-outline-menu-container .top-outline-menu-item a {
  display: block;
  padding: 0.5em 1em 0.5em 10%;
  font-size: 16px;
  color: #fff;
  background: linear-gradient(to bottom, #006675 0%, #004854 100%);
  border-radius: 100px;
  text-decoration: none;
}
#top-outline .top-outline-menu-container .top-outline-menu-item a:hover {
  background: linear-gradient(to bottom, #987148 0%, #7f4e1b 100%);
}
#top-outline .top-outline-menu-container .top-outline-menu-item .icon {
  display: inline-block;
  margin-right: 1em;
}

/*
    TOPページのエントリー案内
*/
#top-entry {
  padding: 80px 0 120px 0;
}
@media screen and (max-width: 819px) {
  #top-entry {
    padding: 60px 0;
  }
}
#top-entry .top-entry-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 819px) {
  #top-entry .top-entry-container {
    flex-direction: column-reverse;
    margin-inline: 15px;
    margin-top: 0;
  }
}
#top-entry .top-entry-container .top-entry-item {
  width: 48%;
}
@media screen and (max-width: 819px) {
  #top-entry .top-entry-container .top-entry-item {
    width: 100%;
  }
}
@media screen and (max-width: 819px) {
  #top-entry .top-entry-container .top-entry-item.top-entry-body {
    margin-top: 1em;
  }
}
#top-entry .top-entry-container .top-entry-item.top-entry-image {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 819px) {
  #top-entry .top-entry-container .top-entry-item.top-entry-image {
    display: block;
  }
}
#top-entry .top-entry-menu-container {
  display: flex;
  flex-wrap: wrap;
  margin-top: 1em;
}
#top-entry .top-entry-menu-container .top-entry-menu-item {
  width: 100%;
  margin-block: 0.3em;
}
@media screen and (max-width: 819px) {
  #top-entry .top-entry-menu-container .top-entry-menu-item {
    margin-block: 0.6em;
  }
}
#top-entry .top-entry-menu-container .top-entry-menu-item a {
  display: block;
  padding: 0.5em 1em 0.5em 10%;
  font-size: 16px;
  color: #fff;
  background: linear-gradient(to bottom, #006675 0%, #004854 100%);
  border-radius: 100px;
  text-decoration: none;
}
#top-entry .top-entry-menu-container .top-entry-menu-item a:hover {
  background: linear-gradient(to bottom, #987148 0%, #7f4e1b 100%);
}
#top-entry .top-entry-menu-container .top-entry-menu-item .icon {
  display: inline-block;
  margin-right: 1em;
}
#top-entry .top-entry-period-container {
  margin-top: 3em;
  padding: 0.8em 3em 0.5em 3em;
  border: solid 2px #987148;
  background-color: #fff;
}
@media screen and (max-width: 819px) {
  #top-entry .top-entry-period-container {
    padding: 0.8em 1em 0.5em 1em;
  }
}
#top-entry .top-entry-period-container .top-entry-period-title {
  background-color: #7f4e1b;
  color: #fff;
  font-size: 14px;
  width: 8em;
  text-align: center;
  max-width: 100%;
  margin-top: -24px;
  margin-bottom: 10px;
  padding: 0 1em;
}
#top-entry .top-entry-period-container .top-entry-period {
  color: #e16162;
}
#top-entry .top-entry-period-container .top-entry-period-note {
  font-size: 14px;
}

#top-contents {
  padding: 80px 0 120px 0;
}

#top-contents-list {
  padding: 30px 0 0 0;
}
#top-contents-list .top-contents-list-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 819px) {
  #top-contents-list .top-contents-list-container {
    flex-direction: column;
    gap: 0;
    padding-left: 1em;
    padding-right: 1em;
    margin-bottom: 0;
  }
}
#top-contents-list .top-contents-list-container::after {
  content: "";
  display: block;
  width: 32%;
}
#top-contents-list .top-contents-list-container .top-contents-list-item {
  width: 32%;
  margin-bottom: 60px;
}
@media screen and (max-width: 819px) {
  #top-contents-list .top-contents-list-container .top-contents-list-item {
    width: 100%;
    margin-bottom: 30px;
  }
}
#top-contents-list .top-contents-list-container .top-contents-list-item.col-50p {
  width: 48%;
}
@media screen and (max-width: 819px) {
  #top-contents-list .top-contents-list-container .top-contents-list-item.col-50p {
    width: 100%;
    margin-bottom: 30px;
  }
}
#top-contents-list .top-contents-list-container .top-contents-list-item:nth-child(even) {
  margin-top: 20px;
}
@media screen and (max-width: 819px) {
  #top-contents-list .top-contents-list-container .top-contents-list-item:nth-child(even) {
    margin-top: 0;
  }
}
#top-contents-list .top-contents-list-container .top-contents-list-item .top-contents-list-item-body {
  display: block;
  color: #7f4e1b;
  background-color: #fff;
  border: solid 1px #987148;
  box-shadow: 8px 8px 0px -1px #eae2da;
  padding: 0.5em;
}
#top-contents-list .top-contents-list-container .top-contents-list-item .top-contents-list-item-body:hover {
  opacity: 0.6;
  transition: 0.4s ease;
  text-decoration: none;
  border-color: #e16162;
  background-color: #ffffde;
}
#top-contents-list .top-contents-list-container .top-contents-list-item .top-contents-list-item-body:hover .top-contents-list-item-link-button {
  background-color: #7f4e1b;
  transition: 0.4s ease;
}
#top-contents-list .top-contents-list-container .top-contents-list-item .top-contents-list-item-body .top-contents-list-name {
  margin-bottom: 10px;
  padding: 0.5em 1em;
  background-color: #004854;
  color: #fff;
  font-size: 16px;
  text-align: center;
  background-image: url(../images/corner-triangle_reverse.svg);
  background-size: 10px 10px;
  background-position: top right;
  background-repeat: no-repeat;
}
@media screen and (max-width: 819px) {
  #top-contents-list .top-contents-list-container .top-contents-list-item .top-contents-list-item-body .top-contents-list-name {
    font-size: 16px;
    margin-top: 0;
    margin-bottom: 10px;
  }
}
#top-contents-list .top-contents-list-container .top-contents-list-item .top-contents-list-item-body .top-contents-list-image {
  opacity: 0.8;
}
#top-contents-list .top-contents-list-container .top-contents-list-item .top-contents-list-item-body .top-contents-list-explain {
  padding: 1em;
  font-size: 14px;
  font-weight: normal;
}
#top-contents-list .top-contents-list-container .top-contents-list-item .top-contents-list-item-body .top-contents-list-item-link {
  margin-top: 3px;
  margin-bottom: 10px;
  padding-top: 14px;
  text-align: center;
  border-top: solid 1px #eae2da;
}
#top-contents-list .top-contents-list-container .top-contents-list-item .top-contents-list-item-body .top-contents-list-item-link .top-contents-list-item-link-button {
  display: inline-block;
  min-width: 50%;
  padding: 0.2em 2em;
  font-size: 14px;
  font-weight: normal;
  color: #fff;
  background-color: #e16162;
  border-radius: 4px;
  text-decoration: none;
}

#top-special {
  margin-block: 120px 30px;
}
@media screen and (max-width: 819px) {
  #top-special {
    padding-left: 1em;
    padding-right: 1em;
    margin-block: 0;
  }
}
#top-special .top-special-list-item-body {
  display: block;
  color: #7f4e1b;
  background-color: #fff;
  border: solid 1px #987148;
  box-shadow: 8px 8px 0px -1px #eae2da;
  padding: 0.5em;
  text-decoration: none;
}
#top-special .top-special-list-item-body:hover {
  opacity: 0.6;
  transition: 0.4s ease;
  text-decoration: none;
  border-color: #e16162;
  background-color: #ffffde;
}
#top-special .top-special-list-item-body .top-special-list-name {
  margin-bottom: 10px;
  padding: 0.5em 1em;
  background-color: #eae2da;
  color: #e16162;
  font-size: 16px;
  text-align: center;
  background-image: url(../images/corner-triangle_reverse.svg);
  background-size: 10px 10px;
  background-position: top right;
  background-repeat: no-repeat;
}
@media screen and (max-width: 819px) {
  #top-special .top-special-list-item-body .top-special-list-name {
    font-size: 16px;
  }
}

/*
    TOPページのスライド（特別展示）
*/
.top-special-slide-container .top-special-slide-item {
  padding: 4px;
}
.top-special-slide-container .top-special-slide-item:nth-child(even) {
  margin-top: 6px;
  border-top: solid 6px #eae2da;
}
.top-special-slide-container .top-special-slide-item:nth-child(odd) {
  border-bottom: solid 6px #eae2da;
}

/*
    TOPページのスライド（フィルム風）
*/
.top-film-slide {
  margin-top: 60px;
}
@media screen and (max-width: 819px) {
  .top-film-slide {
    margin-top: 30px;
    margin-inline: 15px;
  }
}
.top-film-slide p.explain {
  margin-block: 1em;
  text-align: center;
}
@media screen and (max-width: 819px) {
  .top-film-slide p.explain {
    text-align: left;
  }
}
.top-film-slide .top-film-slide-container {
  display: flex;
  flex-wrap: wrap;
  padding: 1em 0;
  border-top: solid 8px #111;
  border-bottom: solid 8px #111;
  background-color: #111;
  background-image: url(../images/flim-hole__v07.svg), url(../images/flim-hole__v07.svg);
  background-size: 14px;
  background-repeat: repeat-x;
  background-position: top center, bottom center;
}
.top-film-slide .top-film-slide-container .top-film-slide-item {
  width: 10%;
  padding: 0 4px;
}

/*--------------------------------------------*
    ご協力のお願い
 *--------------------------------------------*/
/*
    ガイド
*/
.header-notice {
  background: linear-gradient(to bottom, #006675 0%, #004854 100%);
  margin: 0;
  padding: 0.5em 0;
}
.header-notice .header-notice-note {
  padding: 0.5em 0 0 0;
}
@media screen and (max-width: 819px) {
  .header-notice .header-notice-note {
    padding: 0;
  }
}
.header-notice .header-notice-note p {
  background-color: #fff;
  border: solid 4px #ccc;
  padding: 0.5em;
  margin: 0 0.5em 0.5em 0.5em;
  text-align: center;
}
@media screen and (max-width: 819px) {
  .header-notice .header-notice-note p {
    text-align: left;
    font-size: 14px;
  }
}
.header-notice .header-notice-menu {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 819px) {
  .header-notice .header-notice-menu {
    display: block;
    margin-inline: 0.5em;
  }
}
.header-notice .header-notice-menu .header-notice-item {
  width: 100%;
  padding: 0.5em;
}
@media screen and (max-width: 819px) {
  .header-notice .header-notice-menu .header-notice-item {
    width: 100%;
    padding: 0.2em;
  }
}
.header-notice .header-notice-menu .header-notice-item a {
  display: block;
  padding: 0.6em 1em;
  font-size: 12px;
  font-weight: bold;
  color: #7f4e1b;
  background-color: #fff;
  border-radius: 50px;
  text-decoration: none;
  text-align: center;
  line-height: 1;
}
@media screen and (max-width: 819px) {
  .header-notice .header-notice-menu .header-notice-item a {
    text-align: left;
  }
}
.header-notice .header-notice-menu .header-notice-item a:hover {
  color: #fff;
  background-color: #aa3f1e;
}
.header-notice .header-notice-menu .header-notice-item a::before {
  font-family: "Font Awesome 5 Free";
  content: "\f138";
  font-weight: 900;
  display: inline-block;
  margin-right: 0.5em;
}

/*
    本ブロック
*/
#main-notice {
  margin: 0;
  padding: 80px 0 120px 0;
}
@media screen and (max-width: 819px) {
  #main-notice {
    padding: 60px 0;
  }
}
#main-notice h3 {
  margin-top: -1em;
  padding: 2em 0 0.5em 0;
  border-bottom: solid 1px #aa3f1e;
  color: #aa3f1e;
}
#main-notice h3::before {
  content: "◆";
  color: #aa3f1e;
  margin-right: 0.3em;
}
#main-notice .main-notice-content {
  padding: 1em;
  font-size: 14px;
}
@media screen and (max-width: 819px) {
  #main-notice .main-notice-content {
    padding-right: 0;
  }
}

/*
OUTLINE
------------------------------------------------------------------------------------------*/
#outline {
  padding-bottom: 120px;
}
@media screen and (max-width: 819px) {
  #outline {
    padding-bottom: 60px;
  }
}

.event-outline .event-outline-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 819px) {
  .event-outline .event-outline-container {
    display: block;
    padding: 0 1em;
  }
}
.event-outline .event-outline-container .event-outline-item {
  width: 46%;
}
@media screen and (max-width: 819px) {
  .event-outline .event-outline-container .event-outline-item {
    width: 100%;
  }
  .event-outline .event-outline-container .event-outline-item.event-outline-image {
    display: none;
  }
}
.event-outline .event-outline-container .event-outline-table {
  width: 100%;
  border-collapse: collapse;
}
.event-outline .event-outline-container .event-outline-table th, .event-outline .event-outline-container .event-outline-table td {
  padding: 1em;
  margin: 0;
  vertical-align: top;
  border-bottom: solid 1px #987148;
}
.event-outline .event-outline-container .event-outline-table th {
  font-weight: bold;
  padding-left: 0;
  padding-right: 2em;
}
@media screen and (max-width: 819px) {
  .event-outline .event-outline-container .event-outline-table th {
    padding-right: 1em;
    white-space: nowrap;
  }
}
.event-outline .event-outline-container .event-outline-table .note {
  font-size: 14px;
}
@media screen and (max-width: 819px) {
  .event-outline .event-outline-container .event-outline-table .note {
    display: block;
  }
}
.event-outline .event-outline-container .event-outline-table a {
  font-size: 14px;
}
.event-outline .event-outline-container .event-outline-table .ticket-price span {
  font-size: 12px;
}

/*
ACCESS
------------------------------------------------------------------------------------------*/
#access {
  padding-bottom: 120px;
}
@media screen and (max-width: 819px) {
  #access {
    padding-bottom: 60px;
  }
}

.event-access .section-catch {
  margin-bottom: 60px;
}
@media screen and (max-width: 819px) {
  .event-access .section-catch {
    margin-bottom: 30px;
  }
}
.event-access .section-catch p {
  font-size: 18px;
  text-align: center;
}
@media screen and (max-width: 819px) {
  .event-access .section-catch p {
    font-size: 16px;
    text-align: left;
  }
}
.event-access .event-access-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 819px) {
  .event-access .event-access-container {
    display: block;
    padding: 0 0.5em;
  }
}
.event-access .event-access-container .event-access-item {
  width: 46%;
}
@media screen and (max-width: 819px) {
  .event-access .event-access-container .event-access-item {
    width: 100%;
  }
}
.event-access .event-access-container .event-access-item.event-access-image {
  width: 40%;
}
@media screen and (max-width: 819px) {
  .event-access .event-access-container .event-access-item.event-access-image {
    width: 100%;
  }
}
.event-access .event-access-container .event-access-item.event-access-image #gmap iframe {
  width: 100%;
  max-width: 100%;
  height: 340px;
}
@media screen and (max-width: 819px) {
  .event-access .event-access-container .event-access-item.event-access-image #gmap iframe {
    height: 300px;
  }
}
.event-access .event-access-container .event-access-item.event-access-explain {
  width: 54%;
}
@media screen and (max-width: 819px) {
  .event-access .event-access-container .event-access-item.event-access-explain {
    width: 100%;
  }
}
.event-access .event-access-container .event-access-table {
  width: 100%;
  border-collapse: collapse;
}
.event-access .event-access-container .event-access-table th, .event-access .event-access-container .event-access-table td {
  padding: 1em;
  margin: 0;
  vertical-align: top;
  border-bottom: solid 1px #987148;
}
.event-access .event-access-container .event-access-table th {
  font-weight: bold;
  padding-left: 0;
  padding-right: 1em;
  width: 4em;
}
@media screen and (max-width: 819px) {
  .event-access .event-access-container .event-access-table th {
    padding-right: 1em;
    white-space: nowrap;
  }
}
.event-access .event-access-container .event-access-table .note {
  font-size: 14px;
}
@media screen and (max-width: 819px) {
  .event-access .event-access-container .event-access-table .note {
    display: block;
  }
}
.event-access .event-access-container .event-access-table .access-list-title {
  font-weight: bold;
}
.event-access .event-access-container .event-access-table .access-list-container .access-list-item .access-line {
  display: inline-block;
  font-size: 14px;
  font-weight: normal;
}
.event-access .event-access-container .event-access-table .access-list-container .access-list-item .access-station {
  display: inline-block;
  font-weight: bold;
}
.event-access .event-access-container .event-access-table .access-list-container .access-list-item .access-note {
  display: inline-block;
  margin-left: 1em;
  font-size: 14px;
  font-weight: normal;
}
@media screen and (max-width: 819px) {
  .event-access .event-access-container .event-access-table.location {
    border: solid 1px #987148;
    background-color: #fff;
  }
}
@media screen and (min-width: 1080px) {
  .event-access .event-access-container .event-access-table.location tr:first-child th, .event-access .event-access-container .event-access-table.location tr:first-child td {
    padding-top: 0;
  }
}
@media screen and (max-width: 819px) {
  .event-access .event-access-container .event-access-table.location th {
    display: none;
  }
  .event-access .event-access-container .event-access-table.location td {
    text-align: center;
  }
}
@media screen and (max-width: 819px) {
  .event-access .event-access-container .event-access-table.access-method {
    margin-top: 1em;
  }
  .event-access .event-access-container .event-access-table.access-method th, .event-access .event-access-container .event-access-table.access-method td {
    display: block;
    width: 100%;
  }
  .event-access .event-access-container .event-access-table.access-method th {
    padding-bottom: 0;
  }
  .event-access .event-access-container .event-access-table.access-method th::before {
    font-family: "Font Awesome 5 Free";
    content: "\f0da";
    font-weight: 900;
    display: inline-block;
    margin-right: 0.5em;
    color: #ECB02D;
  }
  .event-access .event-access-container .event-access-table.access-method td {
    border: none;
    padding-top: 0.5em;
    padding-left: 0;
    padding-right: 0;
  }
  .event-access .event-access-container .event-access-table .access-list-title {
    font-size: 14px;
  }
  .event-access .event-access-container .event-access-table .access-list-container .access-list-item {
    border-bottom: dotted 1px #ccc;
    padding: 0.5em 0.5em 0.5em 0;
  }
  .event-access .event-access-container .event-access-table #access-train .access-line {
    display: block;
  }
  .event-access .event-access-container .event-access-table #access-train .access-note {
    display: inline-block;
    margin-left: 0.5em;
  }
}

/*
TICKET
------------------------------------------------------------------------------------------*/
/*--------------------------------------------*
    チケット概要
 *--------------------------------------------*/
.ticket-outline {
  padding: 0 0 120px 0;
}
@media screen and (max-width: 819px) {
  .ticket-outline {
    padding: 0 0 60px 0;
  }
}
.ticket-outline .page-wrapper {
  width: 900px;
}
.ticket-outline table.ticket-table {
  width: 100%;
  border: solid 2px #987148;
  border-collapse: collapse;
}
@media screen and (max-width: 819px) {
  .ticket-outline table.ticket-table {
    border: none;
  }
}
.ticket-outline table.ticket-table th, .ticket-outline table.ticket-table td {
  height: 4em;
  padding: 0 2em;
  border-top: solid 2px #987148;
  border-bottom: solid 2px #987148;
}
@media screen and (max-width: 819px) {
  .ticket-outline table.ticket-table th, .ticket-outline table.ticket-table td {
    display: block;
    height: auto;
    border: none;
  }
}
.ticket-outline table.ticket-table th.ticket-kind {
  font-size: 24px;
  background: linear-gradient(to bottom, #987148 0%, #7f4e1b 100%);
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 819px) {
  .ticket-outline table.ticket-table th.ticket-kind {
    font-size: 20px;
    padding: 0.3em 1em;
    text-align: left;
  }
}
.ticket-outline table.ticket-table td.ticket-price {
  background-color: #fff;
  font-size: 30px;
  text-align: center;
}
@media screen and (max-width: 819px) {
  .ticket-outline table.ticket-table td.ticket-price {
    text-align: left;
    padding: 0.5em 1em;
  }
}
.ticket-outline table.ticket-table td.ticket-price span {
  font-size: 16px;
}
.ticket-outline table.ticket-table td.ticket-price .note {
  font-size: 16px;
}
@media screen and (max-width: 819px) {
  .ticket-outline table.ticket-table td.ticket-price .note {
    display: inline-block;
  }
}
.ticket-outline table.ticket-table td.ticket-info {
  background-color: #fff;
  font-size: 16px;
}
@media screen and (max-width: 819px) {
  .ticket-outline table.ticket-table td.ticket-info {
    padding: 0 2em 2em 2em;
  }
}
.ticket-outline table.ticket-table td.ticket-info .ticket-sale-period {
  font-size: 14px;
}
.ticket-outline .ticket-note {
  margin: 30px 40px;
}
@media screen and (max-width: 819px) {
  .ticket-outline .ticket-note {
    margin: 30px 10px;
  }
}
.ticket-outline .ticket-coupon-note {
  margin-top: 50px;
  padding: 1em 2em;
  background-color: #fff;
  border: solid 1px #987148;
}
@media screen and (max-width: 819px) {
  .ticket-outline .ticket-coupon-note {
    padding: 1em 1em;
  }
}
.ticket-outline .ticket-coupon-note .ticket-coupon-title {
  background-color: #7f4e1b;
  color: #fff;
  font-size: 16px;
  width: 8em;
  max-width: 100%;
  margin-top: -30px;
  margin-bottom: 10px;
  padding: 0 1em;
}
.ticket-outline .ticket-coupon-note p {
  font-size: 14px;
}

/*--------------------------------------------*
    チケット販売店
 *--------------------------------------------*/
#ticket-store {
  padding: 80px 0 120px 0;
}
@media screen and (max-width: 819px) {
  #ticket-store {
    padding: 60px 0;
  }
}
#ticket-store .section-catch {
  margin-top: -30px;
  margin-bottom: 120px;
}
@media screen and (max-width: 819px) {
  #ticket-store .section-catch {
    margin-bottom: 80px;
  }
}
#ticket-store .section-catch p {
  font-size: 18px;
  text-align: center;
}
@media screen and (max-width: 819px) {
  #ticket-store .section-catch p {
    font-size: 16px;
    text-align: center;
  }
}
#ticket-store .ticket-store-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 819px) {
  #ticket-store .ticket-store-container {
    display: block;
    margin-inline: 1em;
  }
}
#ticket-store .ticket-store-container .ticket-store-item {
  width: 32%;
  margin-bottom: 60px;
  padding: 2em 1em;
  background-color: #fff;
  border: solid 1px #987148;
}
@media screen and (max-width: 819px) {
  #ticket-store .ticket-store-container .ticket-store-item {
    width: 100%;
  }
}
#ticket-store .ticket-store-container .ticket-store-item .ticket-store-name {
  margin-top: -55px;
  margin-bottom: 30px;
  text-align: center;
}
#ticket-store .ticket-store-container .ticket-store-item .ticket-store-code {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #efefef;
  padding: 1em;
  margin-block: 1em;
}
#ticket-store .ticket-store-container .ticket-store-item .ticket-store-code .ticket-store-code-name {
  font-size: 14px;
}
#ticket-store .ticket-store-container .ticket-store-item .ticket-store-code .ticket-store-code-name::after {
  display: inline-block;
  margin-right: 1em;
  content: "：";
}
#ticket-store .ticket-store-container .ticket-store-item .ticket-store-code .ticket-store-code-number {
  font-size: 20px;
}
#ticket-store .ticket-store-container .ticket-store-item .ticket-store-code .ticket-store-code-number.pending {
  font-size: 14px;
}
#ticket-store .ticket-store-container .ticket-store-item .ticket-store-info {
  font-size: 14px;
}
#ticket-store .ticket-store-container .ticket-store-item .ticket-store-link {
  margin-bottom: 1em;
  padding: 0 1em;
}
#ticket-store .ticket-store-container .ticket-store-item .ticket-store-link a {
  display: block;
  padding: 0.3em 1em;
  background-color: #e16162;
  border-radius: 0.5em;
  color: #fff;
  text-align: center;
  text-decoration: none;
}
#ticket-store .ticket-store-container .ticket-store-item .ticket-store-link a:hover {
  background-color: #7f4e1b;
}

/*
ENTRY
------------------------------------------------------------------------------------------*/
#entry {
  /*
      冒頭の索引
  */
  /*
      エントリーの種類
  */
  /*
      ブース（区画）の仕様
  */
  /*
      展示エリア
  */
  /*
      規定
  */
  /*
      イベント当日のスケジュール
  */
  /*
      お申し込み～当日までの流れ
  */
  /*
      エントリー
  */
}
#entry .article-header {
  margin-bottom: 80px;
}
@media screen and (max-width: 819px) {
  #entry .article-header span {
    font-size: 50px;
  }
}
#entry h2.section-title {
  font-size: 28px;
  margin-bottom: 60px;
}
#entry .entry-index {
  padding: 0 0 60px 0;
  text-align: center;
}
@media screen and (max-width: 819px) {
  #entry .entry-index {
    padding: 0 0 60px 0;
  }
}
#entry .entry-index .entry-index-table {
  width: 640px;
  max-width: 100%;
  margin-top: 1em;
  margin-inline: auto;
  padding: 1em 1em;
  background-color: #efefef;
  text-align: center;
}
#entry .entry-index .entry-index-table .entry-index-table-container {
  display: inline-block;
  text-align: left;
  line-height: 2em;
}
@media screen and (max-width: 819px) {
  #entry .entry-index .entry-index-table .entry-index-table-container {
    padding: 1em 1em;
  }
}
#entry .entry-index .entry-index-table .entry-index-table-container a {
  color: #7f4e1b;
  text-decoration: underline;
  text-underline-offset: 0.3em;
  text-decoration-color: #c7b19c;
}
#entry .entry-index .entry-index-table .entry-index-table-container a:hover {
  color: #fec501;
}
@media screen and (max-width: 819px) {
  #entry .entry-index p {
    text-align: left;
  }
}
#entry #entry-kind {
  padding: 60px 0;
}
@media screen and (max-width: 819px) {
  #entry #entry-kind {
    padding: 60px 0;
  }
}
#entry #entry-kind p.catch {
  text-align: center;
}
#entry #entry-kind .entry-kind-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 60px;
  /*
      ナンバープレートの種類
  */
}
@media screen and (max-width: 819px) {
  #entry #entry-kind .entry-kind-container {
    display: block;
    margin-top: 30px;
  }
}
#entry #entry-kind .entry-kind-container > .entry-kind-item {
  width: 48%;
  background-color: #fff;
  border: solid 3px #7f4e1b;
  position: relative;
}
@media screen and (max-width: 819px) {
  #entry #entry-kind .entry-kind-container > .entry-kind-item {
    width: 100%;
    margin-top: 30px;
  }
}
#entry #entry-kind .entry-kind-container > .entry-kind-item .entry-kind-type {
  padding: 0.5em 1em;
  font-size: 16px;
  background: linear-gradient(to bottom, #987148 0%, #7f4e1b 100%);
  color: #fff;
  text-align: center;
}
#entry #entry-kind .entry-kind-container > .entry-kind-item .entry-kind-detail {
  padding: 0 2em 2em 2em;
}
@media screen and (max-width: 819px) {
  #entry #entry-kind .entry-kind-container > .entry-kind-item .entry-kind-detail {
    font-size: 14px;
    padding: 0 2em 2em 2em;
  }
}
#entry #entry-kind .entry-kind-container > .entry-kind-item .entry-kind-detail .entry-price {
  margin-bottom: 0.5em;
  padding: 1em;
  font-size: 26px;
  text-align: center;
  border-bottom: dashed 1px #987148;
}
@media screen and (max-width: 819px) {
  #entry #entry-kind .entry-kind-container > .entry-kind-item .entry-kind-detail .entry-price {
    padding: 0.5em;
  }
}
#entry #entry-kind .entry-kind-container > .entry-kind-item .entry-kind-detail .entry-price span {
  font-size: 14px;
}
#entry #entry-kind .entry-kind-container > .entry-kind-item .recommend {
  display: inline-block;
  position: absolute;
  top: -8px;
  left: 10px;
  margin: 0;
  padding: 12px 0 20px 0;
  z-index: 2;
  width: 40px;
  text-align: center;
  color: white;
  font-size: 17px;
  background: linear-gradient(#ff785b 0%, #e95738 100%);
  border-radius: 2px 0 0 0;
}
#entry #entry-kind .entry-kind-container > .entry-kind-item .recommend::before {
  position: absolute;
  content: "";
  top: 0;
  right: -6px;
  border: none;
  border-bottom: solid 6px #cf4a2d;
  border-right: solid 6px transparent;
}
#entry #entry-kind .entry-kind-container > .entry-kind-item .recommend::after {
  content: "";
  position: absolute;
  left: 0;
  top: 100%;
  height: 0;
  width: 0;
  border-left: 20px solid #e95738;
  border-right: 20px solid #e95738;
  border-bottom: 10px solid transparent;
}
#entry #entry-kind .entry-kind-container .plate-info {
  margin-top: 1em;
}
#entry #entry-kind .entry-kind-container .plate-info .plate-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 0.5em;
}
#entry #entry-kind .entry-kind-container .plate-info .plate-container .plate-item {
  width: 48%;
}
#entry #entry-kind .entry-kind-container .plate-info .plate-container .plate-item a {
  display: block;
}
#entry #entry-kind .entry-kind-container .plate-info .plate-type {
  font-size: 14px;
  text-align: center;
}
#entry #entry-kind .entry-kind-container .plate-info .plate-type::before, #entry #entry-kind .entry-kind-container .plate-info .plate-type::after {
  content: " ― ";
}
#entry #entry-kind .entry-kind-container .plate-info .plate-type span {
  font-size: 18px;
  color: #ff0000;
}
#entry #entry-kind .entry-kind-container .plate-info .note {
  font-size: 14px;
  text-indent: -1em;
  padding-left: 1em;
}
#entry #booth {
  padding: 60px 0;
}
@media screen and (max-width: 819px) {
  #entry #booth {
    padding: 60px 0;
  }
}
#entry #booth .booth-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 60px 100px 0 100px;
}
@media screen and (max-width: 819px) {
  #entry #booth .booth-container {
    display: block;
    margin: 60px 0 0 0;
  }
}
#entry #booth .booth-container .booth-item {
  width: 48%;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 819px) {
  #entry #booth .booth-container .booth-item {
    width: 100%;
  }
}
#entry #booth .booth-container .booth-item .booth-image {
  margin-block: 1em 2em;
}
@media screen and (max-width: 819px) {
  #entry #booth .booth-container .booth-item .booth-image {
    width: 240px;
    display: block;
    margin-inline: auto;
  }
}
#entry #booth .booth-container .booth-item .booth-explain {
  font-size: 18px;
}
@media screen and (max-width: 819px) {
  #entry #booth .booth-container .booth-item .booth-explain {
    text-align: center;
  }
}
#entry #booth .booth-container .booth-item .booth-explain span {
  font-size: 14px;
}
@media screen and (max-width: 819px) {
  #entry #booth .booth-container .booth-item .booth-explain span {
    display: block;
    text-align: center;
  }
}
#entry #booth .booth-container .booth-item .booth-explain .booth-note {
  margin-top: 1em;
  font-size: 16px;
}
@media screen and (max-width: 819px) {
  #entry #booth .booth-container .booth-item .booth-explain .booth-note {
    display: inline-block;
  }
  #entry #booth .booth-container .booth-item .booth-explain .booth-note p {
    text-align: left;
  }
}
#entry #area {
  padding: 60px 0;
}
@media screen and (max-width: 819px) {
  #entry #area {
    padding: 60px 0;
  }
}
#entry #area .area-table-container {
  margin: 60px 100px 0 100px;
}
@media screen and (max-width: 819px) {
  #entry #area .area-table-container {
    margin: 60px 0px 0 0px;
  }
}
#entry #area .area-table-container p {
  text-align: center;
  margin-block: 1em 2em;
}
#entry #area .area-table-container table.area-table {
  width: 100%;
  border: solid 2px #987148;
  border-collapse: collapse;
}
@media screen and (max-width: 819px) {
  #entry #area .area-table-container table.area-table {
    border: none;
  }
}
#entry #area .area-table-container table.area-table th, #entry #area .area-table-container table.area-table td {
  height: 4em;
  padding: 0 2em;
  border-top: solid 2px #987148;
  border-bottom: solid 2px #987148;
}
@media screen and (max-width: 819px) {
  #entry #area .area-table-container table.area-table th, #entry #area .area-table-container table.area-table td {
    display: block;
    height: auto;
    border: none;
  }
}
#entry #area .area-table-container table.area-table th {
  background: linear-gradient(to bottom, #987148 0%, #7f4e1b 100%);
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 819px) {
  #entry #area .area-table-container table.area-table th {
    text-align: center;
    font-size: 16px;
    padding: 0.3em 1em;
  }
}
#entry #area .area-table-container table.area-table td {
  background-color: #fff;
}
@media screen and (max-width: 819px) {
  #entry #area .area-table-container table.area-table td {
    padding: 1em 1em 1em 1em;
    text-align: center;
  }
}
#entry .regulation-container {
  margin: 100px 100px 0 100px;
  padding: 1em 3em;
  border: solid 2px #987148;
  border-radius: 10px;
  background: #fff;
}
@media screen and (max-width: 819px) {
  #entry .regulation-container {
    margin: 60px 10px 0 10px;
    padding: 1em 1em;
  }
}
#entry .regulation-container h3.regulation-header {
  text-align: center;
  margin: -40px 0 1em 0;
  font-size: 16px;
}
#entry .regulation-container h3.regulation-header span {
  display: inline-block;
  padding: 0.5em 2em;
  background: linear-gradient(to bottom, #987148 0%, #7f4e1b 100%);
  color: #fff;
  font-weight: normal;
  text-align: center;
}
#entry .regulation-container .regulation-list {
  font-size: 14px;
}
#entry .regulation-container .regulation-list .item {
  margin-block: 0.5em;
}
#entry #schedule {
  padding: 60px 0;
}
@media screen and (max-width: 819px) {
  #entry #schedule {
    padding: 60px 0;
  }
}
@media screen and (max-width: 819px) {
  #entry #schedule h2.section-title {
    font-size: 24px;
  }
}
#entry #schedule .schedule-container {
  margin: 60px 0px 0 0px;
}
#entry #schedule .schedule-container .schedule-table-container {
  background-color: #fff;
  padding: 2em 1em;
  border: solid 2px #987148;
  border-radius: 10px;
}
@media screen and (max-width: 819px) {
  #entry #schedule .schedule-container .schedule-table-container {
    padding: 1em;
  }
}
#entry #schedule .schedule-container .schedule-table-container .schedule-table {
  text-align: center;
}
#entry #schedule .schedule-container .schedule-table-container .schedule-table table {
  display: inline;
}
#entry #schedule .schedule-container .schedule-table-container .schedule-table table th, #entry #schedule .schedule-container .schedule-table-container .schedule-table table td {
  padding: 0.1em 1em;
  font-size: 14px;
}
#entry #schedule .schedule-container .schedule-table-container .schedule-table table th {
  text-align: right;
}
#entry #schedule .schedule-container .schedule-table-container .schedule-table table td {
  text-align: left;
}
#entry #schedule .schedule-container .schedule-note {
  margin: 30px 60px 0 60px;
  text-align: center;
}
@media screen and (max-width: 819px) {
  #entry #schedule .schedule-container .schedule-note {
    margin: 30px 0px 0 0px;
  }
}
#entry #schedule .schedule-container .schedule-note .schedule-list {
  display: inline-block;
  text-align: left;
}
@media screen and (max-width: 819px) {
  #entry #schedule .schedule-container .schedule-note .schedule-list {
    font-size: 14px;
  }
}
#entry #entry-flow {
  padding: 60px 0;
}
@media screen and (max-width: 819px) {
  #entry #entry-flow {
    padding: 60px 0;
  }
}
@media screen and (max-width: 819px) {
  #entry #entry-flow h2.section-title {
    font-size: 24px;
  }
}
#entry #entry-flow .entry-flow-container {
  margin: 60px 100px 0 100px;
}
@media screen and (max-width: 819px) {
  #entry #entry-flow .entry-flow-container {
    margin: 60px 10px 0 10px;
  }
}
#entry #entry-flow .entry-flow-list {
  position: relative;
}
#entry #entry-flow .entry-flow-list .entry-flow-item {
  position: relative;
}
@media screen and (max-width: 819px) {
  #entry #entry-flow .entry-flow-list .entry-flow-item {
    font-size: 14px;
  }
}
#entry #entry-flow .entry-flow-list .entry-flow-item:not(:last-child)::before {
  position: absolute;
  top: 48px;
  left: 26px;
  content: "";
  display: block;
  height: calc(100% - 54px);
  border-left: dashed 3px #987148;
}
@media screen and (max-width: 819px) {
  #entry #entry-flow .entry-flow-list .entry-flow-item:not(:last-child)::before {
    left: 16px;
  }
}
#entry #entry-flow .entry-flow-list .entry-flow-item:not(:last-child)::after {
  position: absolute;
  bottom: 2px;
  left: 21px;
  content: "";
  display: block;
  border-style: solid;
  border-width: 15px 6px 0 6px;
  border-color: #987148 transparent transparent transparent;
}
@media screen and (max-width: 819px) {
  #entry #entry-flow .entry-flow-list .entry-flow-item:not(:last-child)::after {
    left: 11px;
  }
}
#entry #entry-flow .entry-flow-list .entry-flow-item .entry-flow-title {
  position: relative;
  color: #fff;
  background: linear-gradient(to bottom, #987148 0%, #7f4e1b 100%);
  padding: 0.5em 1.2em;
  border-radius: 5px;
}
#entry #entry-flow .entry-flow-list .entry-flow-item .entry-flow-info {
  margin: 10px 10px 20px 60px;
  background-color: #fff;
  padding: 1em;
}
@media screen and (max-width: 819px) {
  #entry #entry-flow .entry-flow-list .entry-flow-item .entry-flow-info {
    margin: 10px 10px 10px 40px;
  }
}
#entry #entry-flow .entry-flow-list .entry-flow-item .entry-flow-info .entry-flow-note {
  background-color: #efefef;
}
#entry #entry-flow .entry-flow-list .entry-flow-item .entry-flow-info .entry-flow-explain p {
  margin: 1em 0;
}
#entry #entry-flow .entry-flow-list .entry-flow-item:last-child .entry-flow-info {
  margin: 10px 10px 20px 10px;
}
#entry #entry-info {
  padding: 60px 0 120px 0;
}
@media screen and (max-width: 819px) {
  #entry #entry-info {
    padding: 60px 0;
  }
}
#entry #entry-request {
  margin-top: 120px;
  border: solid 2px #987148;
  border-radius: 10px;
  background-color: #fff;
  padding: 1em;
}
#entry #entry-request h3.sub-section-title {
  text-align: center;
  margin: -60px 0 1em 0;
  font-size: 24px;
}
@media screen and (max-width: 819px) {
  #entry #entry-request h3.sub-section-title {
    margin: -40px 0 1em 0;
    font-size: 18px;
  }
}
#entry #entry-request h3.sub-section-title span {
  display: inline-block;
  padding: 1em 6em;
  background: linear-gradient(to bottom, #987148 0%, #7f4e1b 100%);
  color: #fff;
  font-weight: normal;
  text-align: center;
}
@media screen and (max-width: 819px) {
  #entry #entry-request h3.sub-section-title span {
    padding: 0.5em 1em;
    width: 80%;
    max-width: 95%;
  }
}
#entry #entry-request #entry-request-regulation {
  position: relative;
  text-align: left;
}
#entry #entry-request #entry-request-regulation .catch,
#entry #entry-request #entry-request-regulation .note {
  text-align: center;
}
@media screen and (max-width: 819px) {
  #entry #entry-request #entry-request-regulation .catch,
  #entry #entry-request #entry-request-regulation .note {
    text-align: left;
  }
}
#entry #entry-request #entry-request-regulation dl {
  margin: 20px 60px 20px 60px;
}
@media screen and (max-width: 819px) {
  #entry #entry-request #entry-request-regulation dl {
    margin: 20px 10px 20px 10px;
  }
}
#entry #entry-request #entry-request-regulation dl dt::after {
  position: relative;
  display: block;
  bottom: 0;
  width: 7px;
  height: 7px;
  margin: auto;
  content: "";
  transform: rotate(135deg);
  border-top: 3px solid #7f4e1b;
  border-right: 3px solid #7f4e1b;
}
#entry #entry-request #entry-request-regulation dl.open dt::after {
  transform: rotate(-45deg);
  bottom: -5px;
  border-color: #fff;
}
#entry #entry-request #entry-request-regulation dt {
  position: relative;
  width: 50%;
  margin: 0 auto;
  border: solid 1px #ccc;
  border-radius: 10px;
  padding: 0.5em 1em 0.5em 1em;
  text-align: center;
  background: #efefef;
  cursor: pointer;
  z-index: 888;
}
@media screen and (max-width: 819px) {
  #entry #entry-request #entry-request-regulation dt {
    width: 100%;
  }
}
#entry #entry-request #entry-request-regulation dt:hover {
  background: #888;
  color: #fff;
}
#entry #entry-request #entry-request-regulation dt:hover::after {
  border-color: #fff;
}
#entry #entry-request #entry-request-regulation dd {
  position: relative;
  background: #efefef;
  padding: 60px 80px;
  border-radius: 10px;
  margin-top: -30px;
  z-index: 0;
  font-size: 14px;
}
@media screen and (max-width: 819px) {
  #entry #entry-request #entry-request-regulation dd {
    padding: 30px 10px;
  }
}
#entry #entry-request #entry-request-regulation dd h4 {
  margin-block: 1em;
  font-size: 16px;
}
#entry #entry-request #entry-request-regulation dd .burette-list .item {
  line-height: 1.4em;
  margin-block: 1em;
}
#entry #entry-request .entry-request-submit {
  margin: 30px 60px;
}
@media screen and (max-width: 819px) {
  #entry #entry-request .entry-request-submit {
    margin: 30px 10px;
  }
}
#entry #entry-request .entry-request-submit .entry-request-submit-container {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 819px) {
  #entry #entry-request .entry-request-submit .entry-request-submit-container {
    display: block;
  }
}
#entry #entry-request .entry-request-submit .entry-request-submit-container.request-car {
  justify-content: space-between;
}
#entry #entry-request .entry-request-submit .entry-request-submit-container.request-fleamarket {
  justify-content: center;
}
#entry #entry-request .entry-request-submit .entry-request-submit-container .entry-request-submit-item {
  width: 48%;
}
@media screen and (max-width: 819px) {
  #entry #entry-request .entry-request-submit .entry-request-submit-container .entry-request-submit-item {
    width: 100%;
    margin-top: 10px;
  }
}
#entry #entry-request .entry-request-submit a.btn-submit {
  display: block;
  width: 100%;
  padding: 2em 1em;
  border-radius: 10px;
  text-decoration: none;
  background-color: #cf4a2d;
  color: #fff;
  text-align: center;
  font-size: 22px;
  line-height: 1;
}
@media screen and (max-width: 819px) {
  #entry #entry-request .entry-request-submit a.btn-submit {
    font-size: 16px;
  }
}
#entry #entry-request .entry-request-submit a.btn-submit:hover {
  background: linear-gradient(to bottom, #006675 0%, #004854 100%);
}
#entry #entry-request .entry-request-submit a.btn-submit .btn-submit-body {
  display: inline-block;
}
#entry #entry-request .entry-request-submit a.btn-submit .sub {
  font-size: 16px;
  margin-top: 1em;
}
@media screen and (max-width: 819px) {
  #entry #entry-request .entry-request-submit a.btn-submit .sub {
    font-size: 14px;
    margin-top: 0.5em;
  }
}
#entry #entry-request .entry-request-submit a.btn-submit span {
  display: inline-block;
  margin-left: 1em;
  font-size: 14px;
}
#entry #entry-request .entry-request-submit a.btn-submit::before {
  font-family: "Font Awesome 5 Free";
  content: "\f138";
  font-weight: 900;
  display: inline-block;
  margin-right: 0.5em;
}
#entry #profile-request {
  margin-top: 120px;
  border: solid 2px #987148;
  border-radius: 10px;
  background-color: #fff;
  padding: 1em;
}
#entry #profile-request h3.sub-section-title {
  text-align: center;
  margin: -60px 0 1em 0;
  font-size: 24px;
}
@media screen and (max-width: 819px) {
  #entry #profile-request h3.sub-section-title {
    margin: -40px 0 1em 0;
    font-size: 18px;
  }
}
#entry #profile-request h3.sub-section-title span {
  display: inline-block;
  padding: 1em 6em;
  background: linear-gradient(to bottom, #987148 0%, #7f4e1b 100%);
  color: #fff;
  font-weight: normal;
  text-align: center;
}
@media screen and (max-width: 819px) {
  #entry #profile-request h3.sub-section-title span {
    padding: 0.5em 1em;
    width: 80%;
    max-width: 95%;
  }
}
#entry #profile-request .catch,
#entry #profile-request .note {
  text-align: center;
}
@media screen and (max-width: 819px) {
  #entry #profile-request .catch,
  #entry #profile-request .note {
    text-align: left;
  }
}
#entry #profile-request .profile-request-submit {
  margin: 30px 60px;
}
@media screen and (max-width: 819px) {
  #entry #profile-request .profile-request-submit {
    margin: 30px 10px;
  }
}
#entry #profile-request .profile-request-submit .profile-request-submit-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
@media screen and (max-width: 819px) {
  #entry #profile-request .profile-request-submit .profile-request-submit-container {
    display: block;
  }
}
#entry #profile-request .profile-request-submit .profile-request-submit-container .profile-request-submit-item {
  width: 48%;
}
@media screen and (max-width: 819px) {
  #entry #profile-request .profile-request-submit .profile-request-submit-container .profile-request-submit-item {
    width: 100%;
  }
}
#entry #profile-request .profile-request-submit a.btn-submit {
  display: block;
  width: 100%;
  padding: 2em 1em;
  border-radius: 10px;
  text-decoration: none;
  background-color: #cf4a2d;
  color: #fff;
  text-align: center;
  font-size: 22px;
  line-height: 1;
}
@media screen and (max-width: 819px) {
  #entry #profile-request .profile-request-submit a.btn-submit {
    font-size: 16px;
  }
}
#entry #profile-request .profile-request-submit a.btn-submit:hover {
  background: linear-gradient(to bottom, #006675 0%, #004854 100%);
}
#entry #profile-request .profile-request-submit a.btn-submit .btn-submit-body {
  display: inline-block;
}
#entry #profile-request .profile-request-submit a.btn-submit .sub {
  font-size: 16px;
  margin-top: 1em;
}
@media screen and (max-width: 819px) {
  #entry #profile-request .profile-request-submit a.btn-submit .sub {
    font-size: 14px;
    margin-top: 0.5em;
  }
}
#entry #profile-request .profile-request-submit a.btn-submit::before {
  font-family: "Font Awesome 5 Free";
  content: "\f138";
  font-weight: 900;
  display: inline-block;
  margin-right: 0.5em;
}

/*
EXHIBITION
------------------------------------------------------------------------------------------*/
#exhibition {
  padding-bottom: 120px;
}
@media screen and (max-width: 819px) {
  #exhibition {
    padding-bottom: 60px;
  }
}

.exhibition-list .exhibition-list-container {
  display: flex;
  flex-wrap: wrap;
  gap: 2%;
  margin-left: 2%;
}
@media screen and (max-width: 819px) {
  .exhibition-list .exhibition-list-container {
    justify-content: space-between;
    gap: 0;
    margin-left: 0;
  }
}
.exhibition-list .exhibition-list-container .exhibition-item {
  width: 18%;
  background-color: #fff;
  margin-bottom: 25px;
}
@media screen and (max-width: 819px) {
  .exhibition-list .exhibition-list-container .exhibition-item {
    width: 48%;
  }
}
.exhibition-list .exhibition-list-container .exhibition-item:not(:has(a)) {
  padding: 1em;
  border: solid 1px #ccc;
}
.exhibition-list .exhibition-list-container .exhibition-item a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 1em;
  color: #7f4e1b;
  text-decoration: none;
  border: solid 1px #987148;
  background-image: url(../images/corner-triangle_reverse.svg);
  background-size: 10px 10px;
  background-position: top right;
  background-repeat: no-repeat;
}
.exhibition-list .exhibition-list-container .exhibition-item a:hover {
  opacity: 0.6;
  transition: 0.4s ease;
  text-decoration: none;
  background-color: #ffffde;
  border-color: #e95377;
}
.exhibition-list .exhibition-list-container .exhibition-item .exhibition-name {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 8em;
  color: #e95377;
  font-size: 12px;
  line-height: 1.4em;
  text-align: center;
}
@media screen and (max-width: 819px) {
  .exhibition-list .exhibition-list-container .exhibition-item .exhibition-name {
    min-height: 6em;
  }
}
.exhibition-list .exhibition-list-container .exhibition-item .exhibition-kind {
  font-size: 12px;
  line-height: 1.4em;
  text-align: center;
  border-top: dotted 1px #ccc;
  padding-top: 0.5em;
}

/*
FAQ
------------------------------------------------------------------------------------------*/
#faq {
  padding-bottom: 120px;
}
@media screen and (max-width: 819px) {
  #faq {
    padding-bottom: 60px;
  }
}

.faq-list .faq-list-container {
  margin-inline: 100px;
}
@media screen and (max-width: 819px) {
  .faq-list .faq-list-container {
    margin-inline: 0;
  }
}
.faq-list .faq-list-container h2.faq-list-kind {
  font-size: 24px;
  text-align: center;
  margin-block: 3em 1em;
}
.faq-list .faq-list-container dl.faq-list-item {
  position: relative;
  margin-bottom: 15px;
  padding: 15px 30px;
  text-align: left;
  background-color: #fff;
  border-radius: 5px;
  border: solid 1px #ccc;
  cursor: pointer;
}
@media screen and (max-width: 819px) {
  .faq-list .faq-list-container dl.faq-list-item {
    padding: 10px 15px;
  }
}
.faq-list .faq-list-container dl.faq-list-item::before {
  position: absolute;
  top: 20px;
  right: 30px;
  display: block;
  width: 7px;
  height: 7px;
  margin: auto;
  content: "";
  transform: rotate(135deg);
  border-top: 3px solid #987148;
  border-right: 3px solid #987148;
}
@media screen and (max-width: 819px) {
  .faq-list .faq-list-container dl.faq-list-item::before {
    right: 15px;
  }
}
.faq-list .faq-list-container dl.faq-list-item .open::before {
  transform: rotate(-45deg);
  top: 22px;
}
.faq-list .faq-list-container dl.faq-list-item dt {
  position: relative;
  padding: 0 30px 0 40px;
  font-weight: bold;
}
@media screen and (max-width: 819px) {
  .faq-list .faq-list-container dl.faq-list-item dt {
    padding: 0 20px 0 30px;
  }
}
.faq-list .faq-list-container dl.faq-list-item dt::before {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  content: "Ｑ．";
  color: #ECB02D;
  font-weight: bold;
}
@media screen and (max-width: 819px) {
  .faq-list .faq-list-container dl.faq-list-item dt::before {
    width: 40px;
  }
}
.faq-list .faq-list-container dl.faq-list-item dd {
  position: relative;
  display: none;
  padding: 0.5em 30px 0 40px;
  font-weight: normal;
}
@media screen and (max-width: 819px) {
  .faq-list .faq-list-container dl.faq-list-item dd {
    padding: 0.5em 0 0 30px;
  }
}
.faq-list .faq-list-container dl.faq-list-item dd::before {
  position: absolute;
  top: 0.5em;
  left: 0;
  content: "Ａ．";
  display: inline-block;
  width: 40px;
  color: #ff0000;
  font-weight: bold;
}
.faq-list .faq-list-container dl.faq-list-item dd.open {
  display: block;
}

/*
SPECIAL
------------------------------------------------------------------------------------------*/
#special {
  padding-bottom: 120px;
}
@media screen and (max-width: 819px) {
  #special {
    padding-bottom: 60px;
  }
}
#special .article-header {
  margin-bottom: 60px;
}

.special-list .catch {
  text-align: center;
  margin-bottom: 50px;
}
@media screen and (max-width: 819px) {
  .special-list .catch {
    text-align: left;
  }
}
.special-list .special-list-container {
  display: flex;
  flex-wrap: wrap;
  gap: 2.3%;
  padding-left: 1.3%;
}
@media screen and (max-width: 819px) {
  .special-list .special-list-container {
    flex-direction: column;
    gap: 0;
    padding-left: 1em;
    padding-right: 1em;
  }
}
.special-list .special-list-container .special-list-item {
  width: 31%;
  margin-block: 1em;
  position: relative;
}
@media screen and (max-width: 819px) {
  .special-list .special-list-container .special-list-item {
    width: 100%;
  }
}
.special-list .special-list-container .special-list-item .special-list-item-badge {
  position: absolute;
  z-index: 9999;
  top: -14px;
  right: -12px;
  width: 65px;
  height: 65px;
  color: #fff;
  background-color: #e16162;
  border: solid 3px #fff;
  border-radius: 100%;
  font-size: 12px;
  line-height: 1.2em;
  transform: rotate(-15deg);
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.special-list .special-list-container .special-list-item a {
  color: #7f4e1b;
  display: block;
  padding: 1em;
  background-color: #fff;
  border: solid 1px #987148;
  background-image: url(../images/corner-triangle_reverse.svg);
  background-size: 10px 10px;
  background-position: top right;
  background-repeat: no-repeat;
  box-shadow: 8px 8px 0px -1px #eae2da;
}
.special-list .special-list-container .special-list-item a:hover {
  opacity: 0.6;
  transition: 0.4s ease;
  text-decoration: none;
  border-color: #e16162;
  background-color: #ffffde;
}
.special-list .special-list-container .special-list-item .special-list-title {
  text-align: center;
  padding: 1em 0.5em;
  min-height: 8em;
}
@media screen and (max-width: 819px) {
  .special-list .special-list-container .special-list-item .special-list-title {
    min-height: auto;
  }
}
.special-list .special-list-container .special-list-item .special-list-title .special-list-explain {
  font-size: 13px;
  font-weight: normal;
  line-height: 1.4em;
}
.special-list .special-list-container .special-list-item .special-list-title .special-list-explain .note {
  color: #e16162;
}
.special-list .special-list-container .special-list-item .special-list-title .special-list-name {
  color: #e16162;
  font-size: 18px;
  padding: 0 0 0.5em 0;
}
.special-list .special-list-container .special-list-item .special-list-owener {
  font-size: 14px;
  font-weight: normal;
  text-align: center;
  background-color: #eae2da;
  padding: 0.2em 1em;
}

#special-item {
  /*-------------------------------------------------------------------
      詳細ページ内のリスト
  ---------------------------------------------------------------------*/
}
#special-item .special-item-header {
  margin-block: 60px 20px;
  text-align: center;
}
@media screen and (max-width: 819px) {
  #special-item .special-item-header {
    margin-block: 30px 20px;
  }
}
#special-item .special-item-header span {
  display: inline-block;
  padding: 0 2em;
  background-color: #7f4e1b;
  color: #fff;
}
#special-item .special-item-detail .page-wrapper {
  width: 800px;
  max-width: 100%;
}
#special-item .special-item-detail .special-item-title {
  text-align: center;
  padding: 1em 0.5em;
  margin-bottom: 30px;
  border-bottom: solid 1px #987148;
}
@media screen and (max-width: 819px) {
  #special-item .special-item-detail .special-item-title {
    margin-bottom: 20px;
  }
}
#special-item .special-item-detail .special-item-title .special-item-explain {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.6em;
}
@media screen and (max-width: 819px) {
  #special-item .special-item-detail .special-item-title .special-item-explain {
    font-size: 14px;
  }
}
#special-item .special-item-detail .special-item-title .special-item-name {
  color: #e16162;
  font-size: 36px;
  padding: 0 0 0.5em 0;
}
@media screen and (max-width: 819px) {
  #special-item .special-item-detail .special-item-title .special-item-name {
    font-size: 24px;
  }
}
#special-item .special-item-detail .special-item-image {
  text-align: center;
  margin-bottom: 30px;
}
#special-item .special-item-detail .special-item-owener {
  font-size: 14px;
  font-weight: normal;
  text-align: center;
  margin-top: 30px;
  padding: 0.2em 1em;
  border-top: solid 1px #987148;
}
#special-item .special-other-list {
  margin-top: 80px;
  padding: 80px 0 120px 0;
}
@media screen and (max-width: 819px) {
  #special-item .special-other-list {
    padding: 30px 0;
  }
}
#special-item .special-other-list .page-wrapper {
  width: 800px;
  max-width: 100%;
}
#special-item .special-other-list h2 {
  text-align: center;
  margin-bottom: 1em;
}
@media screen and (max-width: 819px) {
  #special-item .special-other-list h2 {
    font-size: 20px;
    margin-bottom: 1em;
  }
}
#special-item .special-other-list .special-other-list-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: left;
  gap: 1%;
  padding-left: 1%;
}
#special-item .special-other-list .special-other-list-container .special-other-list-item {
  width: 24%;
  margin-bottom: 10px;
}

/*
CONTENTS
------------------------------------------------------------------------------------------*/
#contents {
  padding-bottom: 120px;
}
@media screen and (max-width: 819px) {
  #contents {
    padding-bottom: 60px;
  }
}

.stage-info {
  margin-bottom: 60px;
}
.stage-info .stage-info-container {
  text-align: center;
}
.stage-info .stage-info-container .stage-info-title {
  margin-bottom: 1em;
}
.stage-info .stage-info-container .stage-info-title span {
  background-color: #aa3f1e;
  color: #fff;
  padding: 0.2em 2em;
}
.stage-info .stage-info-container table {
  display: inline;
  text-align: left;
}
.stage-info .stage-info-container table th, .stage-info .stage-info-container table td {
  border-bottom: dashed 1px #ccc;
  padding: 0.5em 1em;
  font-size: 20px;
}
@media screen and (max-width: 819px) {
  .stage-info .stage-info-container table th, .stage-info .stage-info-container table td {
    font-size: 16px;
    padding: 0.5em;
  }
}
.stage-info .stage-info-container table th {
  font-weight: bold;
}
.stage-info .stage-info-container table th::before {
  font-family: "Font Awesome 5 Free";
  content: "\f0da";
  font-weight: 900;
  display: inline-block;
  width: 1em;
  text-align: left;
  text-decoration: none;
  color: #aa3f1e;
}

.contents-list .contents-list-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 60px;
}
@media screen and (max-width: 819px) {
  .contents-list .contents-list-container {
    flex-direction: column;
    gap: 0;
    padding-left: 1em;
    padding-right: 1em;
    margin-bottom: 0;
  }
}
.contents-list .contents-list-container .contents-list-item {
  margin-bottom: 30px;
  padding: 10px 10px 20px 10px;
  background-color: #fff;
  border: solid 1px #987148;
  box-shadow: 8px 8px 0px -1px #eae2da;
}
.contents-list .contents-list-container .contents-list-item .contents-list-item-body .contents-list-name {
  margin-bottom: 10px;
  padding: 0.5em 1em;
  background-color: #eae2da;
  font-size: 18px;
  text-align: center;
  background-image: url(../images/corner-triangle_reverse.svg);
  background-size: 10px 10px;
  background-position: top right;
  background-repeat: no-repeat;
}
@media screen and (max-width: 819px) {
  .contents-list .contents-list-container .contents-list-item .contents-list-item-body .contents-list-name {
    font-size: 16px;
  }
}
.contents-list .contents-list-container .contents-list-item .contents-list-item-body .contents-list-image {
  opacity: 0.8;
}
.contents-list .contents-list-container .contents-list-item .contents-list-item-body .contents-list-schedule {
  padding: 1em;
  font-size: 16px;
  color: #e16162;
}
.contents-list .contents-list-container .contents-list-item .contents-list-item-body .contents-list-schedule::before {
  font-family: "Font Awesome 5 Free";
  content: "\f138";
  font-weight: 900;
  display: inline-block;
  margin-right: 0.5em;
}
.contents-list .contents-list-container .contents-list-item .contents-list-item-body .contents-list-explain {
  padding: 1em;
  font-size: 14px;
  font-weight: normal;
}
.contents-list .contents-list-container .contents-list-item .contents-list-item-body .contents-list-schedule + .contents-list-explain {
  padding-top: 0;
}
.contents-list .contents-list-container .contents-list-item .contents-list-item-link {
  margin-top: 10px;
  padding-top: 16px;
  text-align: center;
  border-top: solid 1px #eae2da;
}
.contents-list .contents-list-container .contents-list-item .contents-list-item-link a {
  display: inline-block;
  min-width: 50%;
  padding: 0.2em 2em;
  font-size: 14px;
  font-weight: normal;
  color: #fff;
  background-color: #e16162;
  border-radius: 4px;
  text-decoration: none;
}
.contents-list .contents-list-container .contents-list-item .contents-list-item-link a:hover {
  background-color: #7f4e1b;
  transition: 0.4s ease;
}
.contents-list .contents-list-container.column-2 .contents-list-item {
  width: 48%;
}
@media screen and (max-width: 819px) {
  .contents-list .contents-list-container.column-2 .contents-list-item {
    width: 100%;
  }
}
.contents-list .contents-list-container.column-3 .contents-list-item {
  width: 31%;
}
@media screen and (max-width: 819px) {
  .contents-list .contents-list-container.column-3 .contents-list-item {
    width: 100%;
  }
}
.contents-list .contents-list-container.column-3 .contents-list-item .contents-list-name {
  padding: 0.5em 1em;
  font-size: 16px;
}
.contents-list .contents-list-container.column-3 .contents-list-item .contents-list-item-link a {
  min-width: 80%;
}

/*
AWARD VOTE
------------------------------------------------------------------------------------------*/
#award-vote {
  /*-------------------------------------------------------------------
      協賛品提供リスト
  ---------------------------------------------------------------------*/
}
#award-vote .award-vote-outline .award-vote-outline-body {
  width: 800px;
  max-width: 100%;
  margin-inline: auto;
  padding: 2em;
  background-color: #fff;
  border: solid 2px #987148;
  border-radius: 10px;
}
#award-vote .award-vote-outline .award-vote-outline-body p {
  margin-block: 1em;
  text-align: center;
}
@media screen and (max-width: 819px) {
  #award-vote .award-vote-outline .award-vote-outline-body p {
    text-align: left;
  }
}
#award-vote .award-vote-outline .award-vote-outline-body .section-header {
  margin-top: -50px;
  margin-bottom: 30px;
  text-align: center;
}
#award-vote .award-vote-outline .award-vote-outline-body .section-header h2 {
  display: inline-block;
  padding: 0.2em 2em;
  background: linear-gradient(to bottom, #987148 0%, #7f4e1b 100%);
  color: #fff;
  text-align: center;
  font-size: 20px;
  border-radius: 6px;
}
#award-vote .award-vote-present {
  margin-top: 80px;
  padding: 80px 0 120px 0;
}
@media screen and (max-width: 819px) {
  #award-vote .award-vote-present {
    padding: 30px 0;
  }
}
#award-vote .award-vote-present .section-header {
  margin-bottom: 30px;
  text-align: center;
}
#award-vote .award-vote-present .section-header h2 {
  text-align: center;
  font-size: 24px;
}
#award-vote .award-vote-present .section-header p {
  margin-top: 2em;
}
#award-vote .award-vote-present .award-vote-present-list-container {
  display: flex;
  flex-wrap: wrap;
  gap: 2%;
  padding-left: 2%;
}
@media screen and (max-width: 819px) {
  #award-vote .award-vote-present .award-vote-present-list-container {
    flex-direction: column;
    gap: 0;
    padding-left: 0;
    padding-left: 1em;
    padding-right: 1em;
  }
}
#award-vote .award-vote-present .award-vote-present-list-container .award-vote-present-list-item {
  width: 31%;
  margin-block: 1em;
  box-shadow: 8px 8px 0px -1px #FFFBF0;
  padding: 1em 1em 3em 1em;
  background-color: #fff;
  border: solid 1px #987148;
  background-image: url(../images/corner-triangle_reverse.svg);
  background-size: 10px 10px;
  background-position: top right;
  background-repeat: no-repeat;
}
@media screen and (max-width: 819px) {
  #award-vote .award-vote-present .award-vote-present-list-container .award-vote-present-list-item {
    width: 100%;
  }
}
@media screen and (max-width: 819px) {
  #award-vote .award-vote-present .award-vote-present-list-container .award-vote-present-list-item .award-vote-present-item-image {
    padding: 0 2em;
  }
}
#award-vote .award-vote-present .award-vote-present-list-container .award-vote-present-list-item .award-vote-present-item-name {
  color: #e16162;
  padding: 0 0 0.5em 0;
  min-height: 6em;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  text-align: center;
}
@media screen and (max-width: 819px) {
  #award-vote .award-vote-present .award-vote-present-list-container .award-vote-present-list-item .award-vote-present-item-name {
    min-height: auto;
    margin-block: 1em;
  }
}
#award-vote .award-vote-present .award-vote-present-list-container .award-vote-present-list-item .award-vote-present-item-sponsor {
  font-size: 12px;
  background-color: #eae2da;
  padding: 0.2em 1em;
}
#award-vote .award-vote-present .award-vote-present-list-container .award-vote-present-list-item .award-vote-present-item-sponsor .sponsor-link {
  font-size: 12px;
}
#award-vote .award-vote-present .award-vote-present-list-container .award-vote-present-list-item .award-vote-present-item-explain {
  font-size: 13px;
  font-weight: normal;
  line-height: 1.4em;
  margin-top: 1em;
}

/*
follow
------------------------------------------------------------------------------------------*//*# sourceMappingURL=style.css.map */