@charset "UTF-8";
@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);
body {
  position: relative;
  -webkit-text-size-adjust: 100%;
  font-size: 16px;
  font-size: 1.6rem;
  font-family: "Noto Sans Japanese", sans-serif;
  /* font-family: Hiragino Kaku Gothic ProN, Hiragino Sans, sans-serif; */
  font-weight: normal;
  font-style: normal;
  color: #333;
  letter-spacing: -0.02em;
  overflow: hidden;
  background: url(../../img/bg.jpg) repeat top / contain;
}

#wrapper {
  position: relative;
  margin: 0 auto;
}

figure,
figcaption {
  margin-bottom: 0;
  padding: 0;
}

a,
a:hover,
a:active,
a:visited {
  text-decoration: none;
}

a {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

a:hover {
  opacity: 0.8;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

img {
  max-width: 100%;
  height: auto;
  image-rendering: -webkit-optimize-contrast;
}

/*==============================================================
	#header
===============================================================*/
header {
  position: fixed;
  top: 0;
  width: 100%;

  z-index: 98;
}

header .fl_box {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

header .head_logo img {
  max-width: 240px;
  width: 100%;
}

/*　ハンバーガーボタン　*/
.hamburger {
  display: block;
  position: relative;
  z-index: 99;
  width: 50px;
  height: 50px;
  cursor: pointer;
  text-align: center;
  background-color: #006b31;
  border: 2px solid #fff;
  /* ナビ開いてる時のボタン */
}

.hamburger span {
  display: block;
  position: absolute;
  width: 22px;
  height: 2px;
  left: 11px;
  background: #fff;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.hamburger span:nth-child(1) {
  top: 14px;
}

.hamburger span:nth-child(2) {
  top: 22px;
}

.hamburger span:nth-child(3) {
  top: 30px;
}

.hamburger.active {
  background-color: #fff;
}

.hamburger.active span:nth-child(1) {
  top: 22px;
  left: 10px;
  background: #006b31;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 22px;
  background: #006b31;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

#globalMenuSp {
  display: none;
  height: 100vh;
  padding-top: 65px;
  position: fixed;
  z-index: -1;
  top: 0;
  left: 0;
  color: #fff;
  background: rgba(16, 89, 48, 0.9);
  width: 100%;
  opacity: 0;
  -webkit-transition: opacity 0.6s ease, visibility 0.6s ease;
  transition: opacity 0.6s ease, visibility 0.6s ease;
  padding: 120px;
}

#globalMenuSp nav {
  width: 65%;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
}

#globalMenuSp nav .nav {
  width: 32%;
}
#globalMenuSp nav .first {
  width: 100%;
}

#globalMenuSp nav .nav a {
  color: #fff;
}
#globalMenuSp .nav_list {
  position: relative;
  padding-left: 20px;
  font-size: clamp(16px, 5vw, 18px);
  font-weight: bold;
  margin-bottom: 20px;
}
#globalMenuSp .nav_list::before {
  content: "⚫︎";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  color: #fff;
}
#globalMenuSp .sub_nav_list {
  font-size: clamp(14px, 5vw, 14px);
  font-weight: normal;
}
#globalMenuSp .sub_nav_list li {
  margin-top: 5px;
}

#globalMenuSp .sns_list li a:hover::before {
  content: none;
}

#globalMenuSp.active {
  opacity: 100;
  z-index: 98;
  display: block;
}

/*==============================================================
	#footer
===============================================================*/
footer {
  background: url(../../img/bg_footer.jpg) no-repeat top / cover;
  color: #fff;
  padding: 50px 0 10px;
}
footer .ft_wrap {
  display: flex;
  justify-content: space-between;
}
footer .sns {
  display: flex;
  justify-content: center;
  padding-bottom: 30px;
  margin-bottom: 30px;
  border-bottom: 1px solid #fff;
}
footer .sns li {
  margin: 0 15px;
}
footer .sns li img {
  width: 40px;
}
footer nav {
  width: 70%;
  display: flex;
  flex-wrap: wrap;
}

footer nav .nav {
  width: 32%;
}
footer nav .first {
  width: 100%;
}

footer nav .nav a {
  color: #fff;
}
footer .nav_list {
  position: relative;
  padding-left: 20px;
  font-size: clamp(16px, 5vw, 18px);
  font-weight: bold;
  margin-bottom: 20px;
}
footer .nav_list::before {
  content: "⚫︎";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  color: #fff;
}
.sub_nav_list {
  font-size: clamp(14px, 5vw, 14px);
  font-weight: normal;
}
.sub_nav_list li {
  margin-top: 5px;
}
footer .info_box {
}
.contact_txt {
  margin-top: 40px;
}
.address {
  margin-top: 40px;
  font-size: clamp(14px, 5vw, 14px);
}
.copy {
  text-align: center;
  margin: 20px 0 0;
  font-size: clamp(12px, 5vw, 12px);
}
/*==============================================================
	#共通
===============================================================*/
.bg_object {
  position: relative;
}

#toTop {
  width: 45px;
  position: fixed;
  right: 20px;
  bottom: 20px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  z-index: 98;
}

#toTop:hover {
  bottom: 25px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

#headline {
  padding: 150px 0 135px;
  text-align: center;
  height: 351px;
}

#mogiten #headline {
  background: url(../img/bg_headline_mogiten.jpg) no-repeat center/cover;
}

#mogiten #headline img {
  max-width: 500px;
  height: auto;
}

#information #headline {
  background: url(../img/bg_headline_information.png) no-repeat center/cover;
}

#information #headline img {
  max-width: 450px;
  height: auto;
}

#shukakusai #headline {
  background: url(../img/bg_headline_shukakusai.png) no-repeat center/cover;
}

#shukakusai #headline img {
  max-width: 380px;
  height: auto;
}

#bunten #headline {
  background: url(../img/bg_headline_bunten.png) no-repeat center/cover;
}

#bunten #headline img {
  max-width: 450px;
  height: auto;
}

#stage #headline {
  background: url(../img/bg_headline_stage.png) no-repeat center/cover;
}

#stage #headline img {
  max-width: 450px;
  height: auto;
}

#gallery #headline {
  background: url(../img/bg_headline_mogiten.jpg) no-repeat center/cover;
}

#gallery #headline img {
  max-width: 550px;
  height: auto;
}
#comingsoon #headline {
  /* margin-bottom: 50px; */
  /* background: url(../img/bg_headline_mogiten.jpg) no-repeat center/cover; */
}
/*==============================================================
	#home
===============================================================*/
#home .mv_area {
  background: url(../../img/mv.jpg) no-repeat center/cover;
  padding: 100px 0;
}

#home .mv_area .mv_tl {
  text-align: center;
  max-width: 500px;
  margin: auto;
}
#home .m_lead_txt {
  text-align: center;
  padding-top: 80px;
  font-size: 24px;
}
#home .decoration_area {
  padding: 0 0 100px;
  text-align: center;
}
#home .decoration_area .contents {
  margin-bottom: 50px;
}
#home .decoration_area .contents :last-child {
  margin-bottom: 0;
}
#home .decoration_area .tl {
  font-size: 24px;
  color: #006b31;
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 2px solid;
}
#home .decoration_area .list {
  display: flex;
  justify-content: space-between;
}
#home .decoration_area .list img {
  width: 100%;
}
#home .decoration_area .list li {
  width: 48%;
}
#home .about_area {
  padding: 0 0 100px;
  text-align: center;
}

#home .about_area .txt {
  margin-bottom: 20px;
}

#home .about_area .bnr {
  width: 100%;
  max-width: 820px;
  display: block;
  margin: auto;
}

#home .about_area .bnr img {
  max-width: 100%;
  height: auto;
}

#home .project_area {
  padding: 80px 0;
  text-align: center;
}

#home .project_area .txt {
  margin-bottom: 20px;
}

#home .project_area .project_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

#home .project_area .project_list li {
  width: 50%;
  margin-bottom: 20px;
}
#home .project_area .project_list li:nth-child(1),
#home .project_area .project_list li:nth-child(2),
#home .project_area .project_list li:nth-child(3) {
  width: 100%;
}
#home .project_area .project_list li a {
  display: block;
}

/*==============================================================
	#mogiten
===============================================================*/
#mogiten .map_area {
  padding: 80px 0 0;
}
#mogiten .map_area .fig {
  margin-bottom: 30px;
}
#mogiten .map_area .faq_box {
  border: none;
  border-radius: 0;
}
#mogiten .mogiten_area {
  padding: 80px 0 180px;
}
#mogiten .map_area .btn {
  background-color: #a27b4b;
  text-align: center;
  color: #fff;
  width: 100%;
  max-width: 350px;
  display: block;
  padding: 10px;
  border-radius: 100px;
  margin: 0 auto 50px;
}

#mogiten .map_area .m_tl {
  background-color: #006b31;
  color: #fff;
  text-align: center;
  padding: 10px;
  font-size: clamp(24px, 2vw, 28px);
  margin-bottom: 20px;
  position: relative;
}
#mogiten .map_area .switchIcon::before,
#mogiten .map_area .switchIcon::after {
  background: #fff;
}
#mogiten .map_area .list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#mogiten .map_area .list li {
  width: 49%;
  background-color: #fff;
  border: 2px solid #006b31;
  margin-bottom: 15px;
  padding: 20px 10px;
  text-align: center;
}
#mogiten .map_area .tl {
  color: #006b31;
  margin-bottom: 10px;
  font-size: clamp(18px, 2vw, 18px);
}
#mogiten .box {
  background-color: #fff;
  padding: 30px;
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.3);
  margin-bottom: 40px;
}
#mogiten .box .tl {
  font-size: clamp(24px, 2vw, 28px);
  color: #a27b4b;
  border-bottom: 2px solid #a27b4b;
  padding-bottom: 10px;
  font-weight: bold;
  margin-bottom: 20px;
}
#mogiten .box .fl_box {
  display: flex;
  justify-content: space-between;
}
#mogiten .box .btn {
  background-color: #a27b4b;
  text-align: center;
  color: #fff;
  width: 100%;
  max-width: 350px;
  display: block;
  padding: 10px;
  border-radius: 100px;
  margin: 0 auto 10px;
}
#mogiten .box .btn span {
  position: relative;
}
#mogiten .box .btn span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 110%;
  transform: translateY(-50%);
  border: 8px solid transparent;
  border-left: 10px solid #fff;
}
#mogiten .box .txt {
  font-size: clamp(18px, 2vw, 18px);
  margin-bottom: 10px;
}
#mogiten .box table tr {
  display: flex;
  margin-bottom: 10px;
}
#mogiten .box table th {
  background-color: #a27b4b;
  text-align: center;
  color: #fff;
  width: 100px;
  padding: 5px 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#mogiten .box table td {
  padding: 5px 10px;
  width: calc(100% - 100px);
}

#mogiten .box .photo img {
  max-width: 190px;
}

/*==============================================================
	#infomation
===============================================================*/
#information .base_tl {
  margin-bottom: 30px;
}
#information .raijyo_area {
  padding: 80px 0 0;
}
#information .bg_object .info_box {
  background-color: #fff;
  border: 1px solid #006b31;
  padding: 30px;
}
#information .bg_object .info_box .txt {
  line-height: 1.8;
}
#information .bg_object .info_box .txt a {
  color: #006b31;
  font-weight: bold;
  text-decoration: underline;
}
#information .kansen_area {
  padding: 80px 0 0;
}
#information .pamphlet_area {
  padding: 80px 0 0;
}
#information .pamphlet_area .txt {
  text-align: center;
  margin-bottom: 20px;
}
#information .pamphlet_area .btn {
  background-color: #006b31;
  text-align: center;
  color: #fff;
  width: 100%;
  max-width: 350px;
  display: block;
  padding: 10px;
  border-radius: 100px;
  margin: 30px auto 0px;
}
#information .gakunai_area {
  padding: 80px 0 0;
}
#information .kyosan_area {
  padding: 80px 0 0;
}
#information .kyosan_area .list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#information .kyosan_area .list li {
  width: 32%;
  text-align: center;
  margin-bottom: 30px;
}
#information .kyosan_area .list li a {
  color: #000;
}
#information .kyosan_area .list li img {
  margin-bottom: 10px;
}
#information .kyosan_area .name {
  font-size: 18px;
}
#information .faq_area {
  padding: 80px 0 0;
}
#information .faq_area .faq_box {
  border: 1px solid #006b31;
  border-radius: 0;
  background-color: #fff;
  padding: 20px;
  margin-bottom: 10px;
}
#information .que_box h3 {
  padding: 0;
  color: #006b31;
  font-weight: bold;
}
#information .faq_area .answer_box {
  border-top: 1px solid #006b31;
  padding: 0;
  margin-top: 10px;
}
#information .answer_box .txt_box p,
#information .answer_box .txt_box .custom {
  width: 100%;
  font-size: 16px;
}
#information .faq_area .answer_box .txt_box {
  padding: 10px 0 0;
}
#information .switchIcon::before,
#information .switchIcon::after {
  height: 2px;
}
#information .contact_area {
  padding: 80px 0;
}
#information .contact_area .txt {
  text-align: center;
}

/*==============================================================
	#shukakusai
===============================================================*/
#shukakusai .shukakusai_area {
  padding: 80px 0 180px;
}

#shukakusai .shukakusai_area .head_txt {
  font-size: clamp(21px, 2vw, 21px);
  text-align: center;
  line-height: 2;
  margin-bottom: 80px;
}
#shukakusai .shukakusai_area .fl_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  align-items: center;
  justify-content: space-between;
}
#shukakusai .shukakusai_area .con_box {
  background-color: #fff;
  padding: 30px;
  margin-bottom: 60px;
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.3);
}
#shukakusai .shukakusai_area .con_box:last-child {
  margin-bottom: 0;
}
#shukakusai .shukakusai_area .con_box .photo {
  width: 42%;
}

#shukakusai .shukakusai_area .con_box .photo img {
  width: 100%;
}

#shukakusai .shukakusai_area .con_box .txt_box {
  width: 58%;
  padding-left: 30px;
}

#shukakusai .shukakusai_area .con_box .tl {
  font-size: clamp(28px, 2vw, 32px);
  color: #a27b4b;
  border-bottom: 2px solid #a27b4b;
  padding-bottom: 10px;
  font-weight: bold;
  margin-bottom: 20px;
}

#shukakusai .shukakusai_area .con_box .txt {
  font-size: clamp(17px, 2vw, 18px);
  line-height: 1.8;
}

/*==============================================================
	#bunten
===============================================================*/
#bunten .menu_area {
  padding: 80px 0;
}
#bunten .menu_list {
  display: flex;
  justify-content: center;
}
#bunten .menu_list li {
  width: 100%;
  max-width: 300px;
  margin: 0 10px;
}
#bunten .menu_list li a {
  background-color: #006b31;
  color: #fff;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 10px 25px 10px;
  position: relative;
}
#bunten .menu_list li a::before {
  content: "";
  position: absolute;
  top: 87%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  border: 10px solid transparent;
  border-top: 8px solid #fff;
}
#bunten .buntenmon_area {
  padding: 0 0 50px;
}
#bunten .buntenmon_area .lead_txt {
  text-align: center;
  margin-bottom: 30px;
}
#bunten .buntenmon_area .list {
  display: flex;
  justify-content: space-between;
  margin-bottom: 30px;
}
#bunten .buntenmon_area .list li {
  width: 30%;
}
#bunten .buntenmon_area .txt {
  text-align: center;
}
#bunten .bunka_area {
  padding: 50px 0;
}
#bunten .bunka_area .lead_txt {
  text-align: center;
  margin-bottom: 30px;
}
#bunten .bunka_area .tab_content {
  padding: 30px;
  border: 2px solid #006b31;
  background-color: #fff;
}
#bunten .bunka_area .m_tl {
  text-align: center;
  color: #006b31;
  font-size: clamp(24px, 5vw, 32px);
  margin-bottom: 30px;
}
#bunten .bunka_area .list {
  display: flex;
  flex-wrap: wrap;
}
#bunten .bunka_area .list li {
  width: 32%;
  margin: 0 0.666%;
  text-align: center;
  padding: 10px;
  margin-bottom: 10px;
  border: 2px solid #006b31;
}
#bunten .bunka_area .list li .num {
  margin-bottom: 10px;
}
#bunten .bunka_area .list li .tl {
  color: #006b31;
  font-size: clamp(20px, 5vw, 20px);
  line-height: 1.2;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Noto Serif JP", sans-serif;
  font-weight: bold;
  height: 50px;
  margin-bottom: 10px;
}
#bunten .bunka_area .list li .txt {
  font-size: 14px;
}
#bunten .gekijyo_area {
  padding: 50px 0;
}
#bunten .gekijyo_area .lead_txt {
  text-align: center;
}
#bunten .timeschedule_area {
  padding: 50px 0;
}
#bunten .dantai_area {
  padding: 50px 0 100px;
}
#bunten .dantai_area .list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#bunten .dantai_area .list li {
  width: 49%;
  text-align: center;
  padding: 20px;
  background-color: #fff;
  margin-bottom: 20px;
  border: 2px solid #006b31;
}
#bunten .dantai_area .list li .tl {
  color: #006b31;
  font-size: clamp(20px, 5vw, 20px);
  line-height: 1.2;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Noto Serif JP", sans-serif;
  font-weight: bold;
  height: 50px;
  margin-bottom: 10px;
}
#bunten .dantai_area .list li .txt {
  font-size: 14px;
}
/*==============================================================
	#stage
===============================================================*/
#stage .menu_area {
  padding: 80px 0;
}
#stage .menu_list {
  display: flex;
  justify-content: center;
}
#stage .menu_list li {
  width: 100%;
  max-width: 300px;
  margin: 0 10px;
}
#stage .menu_list li a {
  background-color: #006b31;
  color: #fff;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 10px 25px 10px;
  position: relative;
}
#stage .menu_list li a::before {
  content: "";
  position: absolute;
  top: 87%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  border: 10px solid transparent;
  border-top: 8px solid #fff;
}
.kikaku_area {
  padding: 50px 0;
}
.kikaku_area .fl_box {
  flex-wrap: wrap;
  justify-content: space-between;
}
.kikaku_area .box {
  width: 48%;
  background-color: #fff;
  padding: 20px;
  box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3);
  margin-bottom: 50px;
}
.kikaku_area .box .tl {
  color: #a27b4b;
  font-size: clamp(24px, 5vw, 32px);
  border-bottom: 2px solid;
  padding-bottom: 10px;
  margin-bottom: 20px;
  font-weight: bold;
}
#stage .kikaku_area .box .photo {
  margin-bottom: 20px;
}
#stage .kikaku_area .box .txt {
  line-height: 1.8;
}
#stage .leader_area {
  padding: 0px 0 50px;
}
#stage .leader_area .box {
  width: 100%;
  background-color: #fff;
  padding: 20px;
  box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3);
  margin-bottom: 50px;
}
#stage .leader_area .box .tl {
  color: #a27b4b;
  font-size: clamp(24px, 5vw, 32px);
  border-bottom: 2px solid;
  font-weight: bold;
  padding-bottom: 10px;
  margin-bottom: 20px;
}
#stage .leader_area .fl_box {
  justify-content: space-between;
  align-items: center;
}
#stage .leader_area .box .photo {
  width: 38%;
}
#stage .leader_area .box .txt {
  width: 60%;
  line-height: 1.8;
}
/*==============================================================
	#gallery
===============================================================*/
#gallery .gallery_area {
  padding: 180px 0 150px;
}

#gallery .con_box {
  margin-bottom: 50px;
}

#gallery .con_box .tl {
  color: #006b31;
  font-size: clamp(30px, 2vw, 36px);
  border-bottom: 2px solid #006b31;
  padding-bottom: 10px;
  margin-bottom: 40px;
  font-weight: bold;
  text-align: center;
}

#gallery .con_box .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

#gallery .con_box .list li {
  width: 23%;
  margin: 0 1% 2%;
}

/*IEのみ*/
/*END
---------------------------------------------------------------------------------------*/
