/* Nohgaku common */

html {
  font-size: 16px;
  background: #fff;
  overflow-x: hidden;
}
body {
  overflow-x: hidden !important;
}
.main-title {
  background: #2b2b2b;
}
.main-title h1 {
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: #fff;
}
.main-content h2 {
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: #2b2b2b;
}
.main-content h2 span {
  color: #007b43;
}
.main-content h3 {
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: #2b2b2b;
  border-bottom: 1px solid #007b43;
}
.main-content h4 {
  font-weight: 700;
  font-size: 18px;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: #007b43;
}
.main-content h5 {
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: #2b2b2b;
  border-left: 2px solid #007b43;
}
.main-content h6 {
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: #2b2b2b;
}
.main-content p {
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #2b2b2b;
}
.main-content p.lead {
  font-size: 16px;
  margin: 0 0 6px;
}
.main-content p {
  font-size: 14px;
  margin: 0 0 5px;
}
.main-title h1 {
  padding: 13px 20px 10px;
  font-size: 24px;
}
.breadcrumb-list {
  padding: 0 20px;
}
.main-content {
  padding: 0 20px 31px;
}
.main-content h2 {
  margin: 40px 0 15px;
  font-size: 24px;
}
.main-content h2 span,.main-content h3 span {
  font-size: 16px;
  display: inline-block;
  vertical-align: middle;
}
.main-content h3 {
  margin: 25px 0 12px;
  padding: 0 0 2px;
  font-size: 20px;
}
.main-content h4 {
  margin: 18px 0 4px;
  font-size: 18px;
}
.main-content h5 {
  margin: 19px 0 6px;
  padding: 0 0 0 4px;
  font-size: 16px;
}
.main-content h6 {
  margin: 10px 0 5px;
  font-size: 14px;
}
.main-content p.lead {
  margin: 0 0 2px;
}
@media screen and (min-width: 1000px), print {
  .main-content,
  .main-title h1 {
    width: 1000px !important;
    margin: 0 auto !important;
  }
  .main-title h1 {
    padding: 20px 0 16px;
    font-size: 32px;
  }
  .main-content {
    float: none !important;
    padding: 0 0 40px;
  }
  .main-content h2 {
    margin: 25px 0 15px;
    font-size: 28px;
  }
  .main-content h2 span,.main-content h3 span {
    font-size: 16px;
    display: inline;
  }
  .main-content h3 {
    margin: 25px 0 14px;
    padding: 0;
    font-size: 24px;
  }
  .main-content h4 {
    margin: 16px 0 9px;
    font-size: 18px;
  }
  .main-content h5 {
    margin: 19px 0 6px;
    padding: 0 0 0 4px;
    font-size: 16px;
  }
  .main-content h6 {
    margin: 18px 0 6px;
    font-size: 14px;
  }
}
.breadcrumb {
  display: block;
}
@media screen and (max-width: 999px) {
  .breadcrumb-overflow-scroll {
    overflow-y: visible !important;
  }
  .breadcrumb {
    margin-right: 0 !important;
    width: 100% !important;
  }
}
.main-content ol.breadcrumb,
.main-content ol.breadcrumb li {
  margin: 0;
  padding: 0;
}
.row-fluid [class*="span"].breadcrumb-list,
.row-fluid [class*="span"].lesson-taiken {
  max-width: calc(100% - 40px);
  margin: 9px 20px 39px;
  padding: 0;
  display: block;
  float: none;
}
.breadcrumb-item,
.hs-breadcrumb-menu-item {
  float: none;
  padding: 0;
  display: inline;
  font-size: 13px;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #333;
}
.breadcrumb-item a,
.hs-breadcrumb-menu-item a {
  color: #007b43;
}
.breadcrumb-item:not(:first-child):before {
  content: "";
  margin-right: 0;
}
.breadcrumb-item:not(.active):after,
.hs-breadcrumb-menu-divider:before {
  content: "\3000\FF1E\3000";
  padding-left: 0;
}
@media screen and (min-width: 1000px), print {
  .row-fluid [class*="span"].breadcrumb-list,
  .row-fluid [class*="span"].lesson-taiken {
    width: 1000px;
    max-width: 1000px;
    margin: 5px auto 25px;
  }
}
.main-content ul {
  list-style: none;
}
.main-content ol li {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #2b2b2b;
}
.main-content ul li {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #2b2b2b;
  background-image: url(/hubfs/common/SVG/main-content_list.svg);
  background-size: 5px 6px;
  background-repeat: no-repeat;
}
.main-content ul li ul li {
  background: 0 0;
  position: relative;
}
.main-content ul li ul > li:before {
  content: "";
  width: 8px;
  border-top: 1px solid #2b2b2b;
  display: block;
  position: absolute;
}
.main-content ul li ul ul > li:before {
  content: "・";
  border-top: none;
}
.main-content ol,
.main-content ul {
  margin-top: 8px;
}
.main-content ol {
  padding-left: 24px;
}
.main-content ol li {
  margin-bottom: 4px;
}
.main-content ul li {
  margin-bottom: 4px;
  padding-left: 24px;
  background-position: 8px 8px;
}
.main-content ol li ol,
.main-content ul li ol {
  padding-left: 17px;
}
.main-content ol li ul > li,
.main-content ul li ul > li {
  padding-left: 17px;
}
.main-content ol li ol,
.main-content ol li ul,
.main-content ul li ol,
.main-content ul li ul {
  margin-top: 4px;
}
.main-content ol li ul > li:before,
.main-content ul li ul > li:before {
  left: 1px;
  top: 10px;
}
.main-content ol li ol ul,
.main-content ol li ul ul,
.main-content ul li ol ol,
.main-content ul li ol ul,
.main-content ul li ul ol,
.main-content ul li ul ul {
  margin-bottom: 8px;
}
.main-content ol li ol ul > li,
.main-content ol li ul ul > li,
.main-content ul li ol ol > li,
.main-content ul li ol ul > li,
.main-content ul li ul ol > li,
.main-content ul li ul ul > li {
  margin-bottom: 0;
  padding-left: 10px;
}
.main-content ol li ol ul > li:before,
.main-content ol li ul ul > li:before,
.main-content ul li ol ul > li:before,
.main-content ul li ul ul > li:before {
  left: -6px;
  top: 1px;
}
@media screen and (min-width: 1000px), print {
  .main-content ol,
  .main-content ol li ol,
  .main-content ol li ol ol,
  .main-content ol li ol ul,
  .main-content ol li ul,
  .main-content ol li ul ul,
  .main-content ul,
  .main-content ul li ol,
  .main-content ul li ol ul,
  .main-content ul li ul,
  .main-content ul li ul ol,
  .main-content ul li ul ul {
    margin-top: 7px;
  }
  .main-content ol,
  .main-content ol li ol,
  .main-content ol li ol ol,
  .main-content ul li ol,
  .main-content ul li ul ol {
    padding-left: 25px;
  }
  .main-content ol li,
  .main-content ol li ol ol > li,
  .main-content ol li ol > li,
  .main-content ul li ol > li,
  .main-content ul li ul ol > li {
    margin-bottom: 4px;
  }
  .main-content ol li ol ul > li,
  .main-content ol li ul ul > li,
  .main-content ol li ul > li,
  .main-content ul li,
  .main-content ul li ol ul > li,
  .main-content ul li ul ul > li,
  .main-content ul li ul > li {
    margin-bottom: 4px;
    padding-left: 25px;
    background-position: 6px 8px;
  }
  .main-content ol li ul > li:before,
  .main-content ul li ul > li:before {
    left: 0;
    top: 8px;
  }
  .main-content ol li ol ul > li:before,
  .main-content ol li ul ul > li:before,
  .main-content ul li ol ul > li:before,
  .main-content ul li ul ul > li:before {
    left: 0;
    top: 0;
  }
  .main-content ol li ol,
  .main-content ol li ul,
  .main-content ul li ol,
  .main-content ul li ul {
    margin-top: 4px;
  }
}
.main-content .attention li {
  padding-left: 0;
  text-indent: -0.6em;
  margin-left: 1em;
  background: 0 0;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #666;
  position: relative;
}
.main-content .attention li {
  margin-bottom: 9px;
}
.main-content .attention li:before {
  content: "※";
  display: inline-block;
}
@media screen and (min-width: 1000px), print {
  .main-content .attention {
    margin-top: 6px;
  }
  .main-content .attention li {
    margin-bottom: 5px;
  }
}
.main-content a {
  text-decoration: underline;
}
.main-content a,
.main-content a:active,
.main-content a:focus,
.main-content a:hover,
.main-content a:link,
.main-content a:visited {
  color: #007b43;
}
.main-content a[target="_blank"]:after {
  content: "";
  width: 14px;
  height: 14px;
  padding-left: 4px;
  display: inline-block;
  background-image: url(/hubfs/common/SVG/main-content_blank.svg);
  background-size: 14px 14px;
  background-repeat: no-repeat;
  background-position: right center;
}
.main-content a.pdf:after,
.main-content a[target="_blank"].pdf:after {
  content: "";
  width: 22px;
  height: 12px;
  padding-left: 3px;
  display: inline-block;
  background-image: url(/hubfs/common/SVG/main-content_blank-pdf.svg);
  background-size: 22px 12px;
  background-repeat: no-repeat;
  background-position: right center;
}
.main-content a.cta_button[target="_blank"]:after {
  display: none;
}
.main-content .link {
  margin-top: 0;
  display: flex;
  flex-wrap: wrap;
}
.main-content .active-branch_titile {
  margin-top: 31px;
}
.main-content h2 + .link {
  margin-top: 8px;
}
.main-content h3 + .link {
  margin-top: 9px;
}
.main-content .link li {
  min-width: 50%;
  margin: 0 0 16px;
  padding-left: 0;
  flex: 1;
  display: flex;
  background: 0 0;
}
.main-content .link.imglink li {
  min-width: 100%;
}
.main-content .link li:nth-child(2n) {
  padding: 0 0 0 8px;
}
.main-content .link li:nth-child(2n + 1) {
  padding: 0 8px 0 0;
}
.main-content .link.imglink li:nth-child(2n),
.main-content .link.imglink li:nth-child(2n + 1) {
  padding: 0;
}
.main-content .link li a {
  width: 100%;
  padding: 14px 31px 12px 11px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #aaa;
  text-decoration: none;
  justify-content: space-between;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #2b2b2b;
  align-items: center;
  position: relative;
  background-color: #fff;
}
.main-content .link li a:after,
.main-content .link li a:before {
  content: "";
  width: 10.4px;
  height: 0.43px;
  display: block;
  position: absolute;
  top: 50%;
  right: 10px;
  background: #007b43;
}
.main-content .link li a:before {
  transform: matrix(-0.71, 0.64, -0.78, -0.71, 0, 0);
  margin-top: 5px;
}
.main-content .link li a:after {
  transform: matrix(0.71, 0.64, -0.78, 0.71, 0, 0);
  margin-top: -2px;
}
.main-content .link li a.link_anchor:before {
  transform: matrix(-0.71, -0.78, 0.64, -0.71, 0, 0);
  right: 14px;
  margin-top: 1px;
}
.main-content .link li a.link_anchor:after {
  transform: matrix(-0.71, 0.78, -0.64, -0.71, 0, 0);
  right: 7px;
  margin-top: 1px;
}
.main-content .link li a span {
  font-size: 12px;
  display: contents;
}
.main-content .link li a img {
  max-width: 130px;
  margin: -2px 0 -2px 16px;
  line-height: 0;
  vertical-align: middle;
}
.main-content .link.one li a {
  flex-wrap: wrap;
}
.main-content .link.one li a img {
  width: 100%;
  max-width: 100%;
  margin: 0;
}
@media screen and (min-width: 1000px), print {
  .main-content .active-branch_titile {
    margin-top: 40px;
  }
  .main-content .link li {
    min-width: calc(25% - 12px);
    margin: 0 16px 16px 0;
  }
  .main-content .link li:nth-child(n + 4),
  .main-content .link.imglink li:nth-child(n + 4) {
    max-width: calc(25% - 12px);
  }
  .main-content .link.imglink li {
    min-width: calc((100% / 3) - 11px);
    margin: 0 16px 16px 0;
  }
  .main-content .link.imglink li:nth-child(n + 3) {
    max-width: calc(25% - 12px);
  }
  .main-content .link li:nth-child(2n),
  .main-content .link li:nth-child(2n + 1) {
    padding: 0;
  }
  .main-content .link li:last-child,
  .main-content .link li:nth-child(4n),
  .main-content .link.imglink li:nth-child(3n) {
    margin: 0 0 16px;
  }
  .main-content .link li:last-child(4n),
  .main-content .link.imglink li:last-child(3n) {
    margin: 0 0 16px;
  }
  .main-content .link li a {
    padding: 18px 44px 18px 16px;
    font-size: 14px;
  }
  .main-content .link li a:after,
  .main-content .link li a:before {
    width: 15.33px;
    height: 0.64px;
    right: 14px;
  }
  .main-content .link li a:before {
    margin-top: 5px;
  }
  .main-content .link li a:after {
    margin-top: -5px;
  }
  .main-content .link li a:hover {
    border-color: #007b43;
    color: #007b43;
		background-color: #e0e0e0;
  }
  .main-content .link li a.link_anchor:before {
    right: 20.5px;
    margin-top: 3px;
  }
  .main-content .link li a.link_anchor:after {
    right: 10px;
    margin-top: 3px;
  }
  .main-content .link.one li a {
    flex-wrap: single;
  }
  .main-content .link.one li a img {
    width: 448px;
    max-width: 448px;
    margin: -2px 0 -2px 16px;
  }
}
.main-content figure {
  max-width: 100%;
  margin: 0 auto;
  display: table;
}
.main-content figure img {
  max-width: 100%;
}
.main-content figure figcaption {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #2b2b2b;
  -webkit-text-size-adjust: 100%;
}
.main-content figure {
  margin-bottom: 9px;
}
.hs_cos_wrapper.hs_cos_wrapper_widget.hs_cos_wrapper_type_linked_image img,
.main-content p img {
  display: block;
  margin: 0 auto 9px !important;
  float: none !important;
}
.hs_cos_wrapper.hs_cos_wrapper_widget.hs_cos_wrapper_type_linked_image img,
.main-content figure img,
.main-content p img {
  padding: 4px 0 0;
}
.main-content figure figcaption {
  margin: 9px 0 0;
}
@media screen and (min-width: 1000px), print {
  .main-content figure {
    margin-bottom: 10px;
  }
  .hs_cos_wrapper.hs_cos_wrapper_widget.hs_cos_wrapper_type_linked_image img,
  .main-content figure img,
  .main-content p img {
    padding: 2px 0 0;
  }
  .hs_cos_wrapper.hs_cos_wrapper_widget.hs_cos_wrapper_type_linked_image img,
  .main-content p img {
    display: block;
    margin: 0 auto 10px !important;
  }
  .main-content figure figcaption {
    margin: 5px 0 0;
  }
}
.main-content .columnsBlock {
  display: flex;
  flex-wrap: wrap;
}
.main-content .columnsBlock .column,
.main-content .columnsBlock > figure {
  margin-bottom: 0;
}
.main-content .columnsBlock.columnsBlock_one {
  max-width: 800px;
  margin: 0 auto;
}
.main-content .columnsBlock.columnsBlock_twoRows .column,
.main-content .columnsBlock.columnsBlock_twoRows > figure {
  max-width: calc((100% / 2) - 8px);
}
.main-content .columnsBlock.columnsBlock_threeRows .column,
.main-content .columnsBlock.columnsBlock_threeRows > figure {
  max-width: calc((100% / 3) - 11px);
}
.main-content .columnsBlock.columnsBlock_threeRows .column:nth-child(3n),
.main-content .columnsBlock.columnsBlock_threeRows .column:nth-child(3n + 2),
.main-content .columnsBlock.columnsBlock_threeRows > figure:nth-child(3n),
.main-content .columnsBlock.columnsBlock_threeRows > figure:nth-child(3n + 2),
.main-content .columnsBlock.columnsBlock_twoRows .column:nth-child(2n),
.main-content .columnsBlock.columnsBlock_twoRows > figure:nth-child(2n) {
  margin-left: 16px;
}
.main-content .columnsBlock .column,
.main-content .columnsBlock > figure {
  margin-bottom: 9px;
}
.main-content .columnsBlock.columnsBlock_fourRows .column,
.main-content .columnsBlock.columnsBlock_fourRows > figure {
  max-width: calc((100% / 2) - 8px);
}
.main-content .columnsBlock.columnsBlock_fourRows .column:nth-child(2n),
.main-content .columnsBlock.columnsBlock_fourRows > figure:nth-child(2n) {
  margin-left: 16px;
}
@media screen and (min-width: 1000px), print {
  .main-content .columnsBlock .column,
  .main-content .columnsBlock > figure {
    margin-bottom: 10px;
  }
  .main-content .columnsBlock.columnsBlock_fourRows .column,
  .main-content .columnsBlock.columnsBlock_fourRows > figure {
    max-width: calc((100% / 4) - 12px);
  }
  .main-content .columnsBlock.columnsBlock_fourRows .column(4n),
  .main-content .columnsBlock.columnsBlock_fourRows .column(4n+2),
  .main-content .columnsBlock.columnsBlock_fourRows .column(4n+3),
  .main-content .columnsBlock.columnsBlock_fourRows > figure:nth-child(4n),
  .main-content .columnsBlock.columnsBlock_fourRows > figure:nth-child(4n + 2),
  .main-content .columnsBlock.columnsBlock_fourRows > figure:nth-child(4n + 3) {
    margin-left: 16px;
  }
  .main-content .columnsBlock.columnsBlock_fourRows .column:nth-child(4n + 1),
  .main-content .columnsBlock.columnsBlock_fourRows > figure:nth-child(4n + 1) {
    margin-left: 0;
  }
}
.main-content .nav {
  margin: 0 auto;
}
.main-content .nav ul {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.main-content .nav li {
  width: 280px;
  list-style: none;
  padding: 0;
  margin: 0;
  background: 0 0;
}
.main-content .nav a {
  display: block;
  font-style: normal;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.04em;
  border: 1px solid;
  box-sizing: border-box;
  font-size: 14px;
  border-radius: 2px;
}
.main-content .nav li a {
  font-style: normal;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.04em;
  text-decoration: none;
  position: relative;
}
.main-content .nav li a:after {
  content: "";
  position: absolute;
  top: 50%;
}
.main-content .nav li a {
  border: 1px solid;
  box-sizing: border-box;
  border-radius: 2px;
}
.main-content .nav li.black a {
  color: #2b2b2b;
  border-color: #2b2b2b;
}
.main-content .nav li.green a {
  color: #007b43;
  border-color: #007b43;
}
.main-content .nav li.greenCV a {
  color: #fff;
  background-color: #007b43;
  border-color: #007b43;
}
.main-content .nav li a:after {
  width: 14px;
  height: 14px;
  margin-top: -7px;
  right: 17px;
}
.main-content .nav li.black a[target="_blank"]:after {
  background: url(/hubfs/Nohgaku_festival/externalLinks_black.svg) no-repeat;
  background-size: 14px;
}
.main-content .nav li.green a[target="_blank"]:after {
  background: url(/hubfs/Nohgaku_festival/externalLinks.svg) no-repeat;
  background-size: 14px;
}
.main-content .nav li.greenCV a[target="_blank"]:after {
  background-image: url(/hubfs/Nohgaku_festival/externalLinks_mouseover.svg) no-repeat;
  background-size: 14px;
}
.main-content .nav ul {
  margin-top: 0;
}
.main-content .nav li {
  margin: 16px 0 0;
}
.main-content .nav li a {
  padding: 15px 0;
}
@media screen and (min-width: 1000px), print {
  .main-content .nav ul {
    margin-top: 2px;
    margin-bottom: -2px;
  }
  .main-content .nav li {
    width: 284px;
    margin: 0 16px 16px 0;
  }
  .main-content .nav li:last-child {
    margin: 0 0 16px;
  }
  .main-content .nav li a {
    padding: 16px 0 15px;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: 0.04em;
    color: #2b2b2b;
  }
  .main-content .nav li a:after {
    right: 16px;
  }
  .main-content .nav li a:hover {
    color: #fff;
  }
  .main-content .nav li.black a:hover {
    background: #2b2b2b;
  }
  .main-content .nav li.green a:hover {
    background: #007b43;
  }
  .main-content .nav li.greenCV a:hover {
    color: #007b43;
    background-color: #fff;
  }
  .main-content .nav li a[target="_blank"]:hover:after {
    background-image: url(/hubfs/Nohgaku_festival/externalLinks_mouseover.svg);
  }
  .main-content .nav li.greenCV a[target="_blank"]:hover:after {
    background-image: url(/hubfs/Nohgaku_festival/externalLinks.svg);
  }
}
.main-content dl.Flex {
  width: 100%;
  font-size: 16px;
  line-height: 1.6;
  display: flex;
  flex-wrap: wrap;
}
.main-content dl.Flex dd,
.main-content dl.Flex dt {
  background: #f2f2f2;
  margin: 0 0 3px;
}
.main-content .washi dl.Flex dd,
.main-content .washi dl.Flex dt {
  background: #fff;
}
.main-content dl.Flex dt {
  text-align: center;
  font-weight: 700;
}
.main-content dl.Flex dd ul {
  padding: 0;
  margin: 0;
  list-style: none;
}
.main-content dl.Flex dd ul li {
  padding: 0 0 0 1rem;
  text-indent: -1rem;
}
.main-content dl.Flex dd ul li:before {
  content: "※";
}
.main-content dl.Flex {
  margin: 0;
}
.main-content dl.Flex dt {
  font-weight: 700;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0.06em;
  color: #2b2b2b;
}
.main-content dl.Flex dd {
  font-size: 13px;
  line-height: 1.6;
  letter-spacing: 0.06em;
  color: #2b2b2b;
}
.main-content dd ul {
  font-size: 12px;
}
.main-content dl.Flex {
  padding: 4px 0 0;
  margin: 0 0 10px;
}
.main-content dl.Flex dt {
  width: 60px;
  padding: 15px 16px 14px 14px;
}
.main-content dl.Flex dd {
  width: calc(100% - 60px);
  padding: 12px 16px 11px 0;
}
@media screen and (min-width: 1000px), print {
  .main-content dl.Flex {
    padding: 0;
    margin: 0 auto 13px;
  }
  .main-content dl.Flex dt {
    width: 66px;
    padding: 16px;
  }
  .main-content dl.Flex dd {
    padding: 16px 16px 16px 0;
  }
  .main-content dl.Flex dd {
    width: calc(100% - 66px);
  }
  .main-content dl.Flex dd,
  .main-content dl.Flex dt {
    font-size: 14px;
    line-height: 1.2;
    letter-spacing: 0.04em;
  }
  .main-content dl.Flex dt {
    width: 150px;
    padding: 15px 0 15px 3px;
  }
  .main-content dl.Flex dd {
    width: calc(100% - 150px);
    padding: 12px 0;
    padding-right: 31px;
    line-height: 1.6;
  }
}
.main-content table {
  width: 100%;
}
.main-content table tr {
  padding-bottom: 3px;
}
.main-content table td,
.main-content table th {
  line-height: 1.2;
  letter-spacing: 0.04em;
  color: #2b2b2b;
}
.main-content table th {
  border-radius: 2px 0 0 2px;
  border: 3px solid #fff;
  border-left: 0;
  border-right: 0;
  font-weight: 700;
  text-align: center;
}
.main-content table td {
  border-radius: 0 2px 2px 0;
  border: 3px solid #fff;
  border-left: 0;
  border-right: 0;
  text-align: center;
}
.main-content table thead td,
.main-content table thead th {
  background: rgba(248, 181, 0, 0.1);
}
.main-content table tbody td,
.main-content table tbody th {
  background: #f2f2f2;
}
.main-content table {
  padding: 4px 0 0;
  margin: 0 0 10px;
}
.main-content .scroll-table {
  padding: 4px 0 0;
  margin: 0 0 10px;
}
.main-content .scroll-table table {
  padding: 0;
  margin: 0;
  display: block;
  overflow-x: scroll;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}
.main-content table td,
.main-content table th {
  padding: 15px 16px 15px;
  font-size: 13px;
}
@media screen and (min-width: 1000px), print {
  .main-content table {
    padding: 0;
    margin: 0 auto 13px;
  }
  .main-content .scroll-table,
  .main-content .scroll-table table {
    padding: 0;
    margin: 0;
  }
  .main-content .scroll-table table {
    display: table;
    overflow-x: visible;
  }
  .main-content table td,
  .main-content table th {
    padding: 15px 0 16px;
    font-size: 16px;
  }
}
.main-content dl.upDown {
  padding: 16px;
  margin-bottom: 3px;
  background: #f2f2f2;
}
.main-content dl.upDown dt {
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.06em;
  color: #2b2b2b;
}
.main-content dl.upDown dd {
  background: #fff;
  font-size: 13px;
  line-height: 1.6;
  letter-spacing: 0.06em;
  color: #2b2b2b;
}
.main-content dl.upDown {
  padding: 11px 8px 8px;
}
.main-content dl.upDown.first-child {
  margin-top: 4px;
}
.main-content .scroll-table + dl.upDown.first-child,
.main-content dl.Flex + dl.upDown.first-child,
.main-content table + dl.upDown.first-child {
  margin-top: 14px;
}
.main-content dl.upDown.last-child {
  margin-bottom: 10px;
}
.main-content dl.upDown dt {
  margin-bottom: 11px;
  font-size: 13px;
}
.main-content dl.upDown dd {
  padding: 9px 12px 8px;
}
.main-content dl.upDown dd .gmap {
  margin: 7px 0 8px;
}
@media screen and (min-width: 1000px), print {
  .main-content dl.upDown {
    padding: 16px;
  }
  .main-content dl.upDown.first-child {
    margin-top: 0;
  }
  .main-content dl.upDown.last-child {
    margin-bottom: 16px;
  }
  .main-content dl.upDown dt {
    margin-bottom: 15px;
    font-size: 14px;
  }
  .main-content dl.upDown dd {
    padding: 12px 16px 11px;
  }
  .main-content dl.upDown dd .gmap {
    margin: 8px 0 9px;
  }
}
.festival .post__body .enclosing_character,
.main-content .enclosing_character {
  margin-bottom: 16px;
  padding: 13px 16px 11px;
  background: #f2f2f2;
  font-size: 14px;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #2b2b2b;
}
.festival .post__body .enclosing_character dt,
.main-content .enclosing_character dt {
  margin: 1px 0 5px;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: #2b2b2b;
}
.festival .post__body .enclosing_character p:last-child,
.main-content .enclosing_character p:last-child {
  margin-bottom: 0;
}
@media screen and (min-width: 1000px), print {
  .festival .post__body .enclosing_character,
  .main-content .enclosing_character {
    padding: 19px 24px 20px;
  }
  .festival .post__body .enclosing_character dt,
  .main-content .enclosing_character dt {
    margin: 4px 0 8px;
  }
}
.main-content form {
  margin: 4px -20px 16px;
  padding: 31px 20px 32px;
  background: #f2f2f2;
}
.main-content .hs_cos_wrapper form fieldset h4:first-child,
.main-content form h4 {
  margin: 0 0 17px;
}
.main-content ul.inputs-list li {
  margin-bottom: 0;
  padding-left: 0;
  background: 0 0;
}
.main-content label {
  margin: 0 0 5px;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: #2b2b2b;
  display: block;
}
.main-content label > span:only-child {
  padding: 0 32px 0 0;
  display: inline-block;
  position: relative;
}
.main-content form legend {
  display: block;
  color: #444;
  margin: 5px 0;
  font-size: 90%;
}
.main-content .hs-form-required {
  width: 39px;
  color: transparent;
  display: inline-block;
  position: relative;
}
.main-content .hs-form-required:after {
  content: "";
  width: 32px;
  height: 16px;
  background: #e83929 url(/hubfs/common/SVG/required.svg) no-repeat;
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -8px;
}
.main-content input[type="date"],
.main-content input[type="datetime-local"],
.main-content input[type="datetime"],
.main-content input[type="email"],
.main-content input[type="month"],
.main-content input[type="number"],
.main-content input[type="password"],
.main-content input[type="search"],
.main-content input[type="tel"],
.main-content input[type="text"],
.main-content input[type="time"],
.main-content input[type="url"],
.main-content input[type="week"],
.main-content select,
.main-content textarea {
  padding: 10px 13px 8px;
  margin-bottom: 21px;
  background: #fff;
  border: 1px solid #bdbdbd;
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
.main-content input[type="date"].error,
.main-content input[type="datetime-local"].error,
.main-content input[type="datetime"].error,
.main-content input[type="email"].error,
.main-content input[type="month"].error,
.main-content input[type="number"].error,
.main-content input[type="password"].error,
.main-content input[type="search"].error,
.main-content input[type="tel"].error,
.main-content input[type="text"].error,
.main-content input[type="time"].error,
.main-content input[type="url"].error,
.main-content input[type="week"].error,
.main-content select.error,
.main-content textarea.error {
  border-color: #e83929;
}
.main-content input[type="datetime":focus],
.main-content input[type="date"].error:focus,
.main-content input[type="date"]:focus,
.main-content input[type="datetime-local"],
.main-content input[type="datetime-local"]:focus,
.main-content input[type="datetime"].error:focus,
.main-content input[type="email"].error:focus,
.main-content input[type="email"]:focus,
.main-content input[type="month"].error:focus,
.main-content input[type="month"]:focus,
.main-content input[type="number"],
.main-content input[type="number"]:focus,
.main-content input[type="password"].error:focus,
.main-content input[type="password"]:focus,
.main-content input[type="search"].error:focus,
.main-content input[type="search"]:focus,
.main-content input[type="tel"].error:focus,
.main-content input[type="tel"]:focus,
.main-content input[type="text"].error:focus,
.main-content input[type="text"]:focus,
.main-content input[type="time"].error:focus,
.main-content input[type="time"]:focus,
.main-content input[type="url"].error:focus,
.main-content input[type="url"]:focus,
.main-content input[type="week"].error:focus,
.main-content input[type="week"]:focus,
.main-content select.error:focus,
.main-content select:focus,
.main-content textarea.error:focus,
.main-content textarea:focus {
  outline: 0;
  border-color: #007b43;
}
.main-content input[type="file"] {
  padding: 3px 0 0;
}
.main-content .actions {
  width: 100%;
  display: flex;
  justify-content: center;
}
.main-content input[type="button"],
.main-content input[type="reset"],
.main-content input[type="submit"] {
  min-width: 280px;
  padding: 15px 0 15px;
  margin: 0 auto;
  border: 1px solid;
  box-sizing: border-box;
  border-radius: 2px;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.6;
  text-align: center;
  letter-spacing: 0.04em;
  color: #fff;
}
.main-content input[type="submit"] {
  color: #fff;
  background-color: #007b43;
  border-color: #007b43;
}
.main-content input[type="reset"] {
  color: #007b43;
  border-color: #007b43;
}
.main-content input[type="button"] {
  color: #2b2b2b;
  border-color: #2b2b2b;
}
.main-content textarea {
    width: 95%;
}
fieldset.form-columns-2 .hs-form-field {
  width: 50% !important;
  float: left !important;
}
fieldset.form-columns-1 .input {
  margin-right: 0 !important;
}
fieldset.form-columns-2 .hs-form-field:nth-child(1) {
  padding-right: 8px;
}
fieldset.form-columns-2 .hs-form-field:nth-child(2) {
  padding-left: 8px;
}
.main-content form hr {
  border-top: 3px solid #fff;
  margin: 11px -20px 31px;
}
.main-content .actions {
  margin: 17px auto 0;
}
.main-content .hs-fieldtype-file {
  margin: 8px 0 30px;
}
@media screen and (min-width: 1000px), print {
  .main-content form {
    margin: 2px 0 16px;
    padding: 15px 32px 32px;
  }
  .main-content .hs_cos_wrapper form fieldset h4:first-child,
  .main-content form h4 {
    margin: 16px 0 17px;
  }
  .main-content form hr {
    margin: 11px -32px 15px;
  }
  .main-content input[type="button"],
  .main-content input[type="reset"],
  .main-content input[type="submit"] {
    min-width: 284px;
    padding: 16px 0 15px;
    font-size: 16px;
  }
  .main-content input[type="button"]:hover,
  .main-content input[type="reset"]:hover,
  .main-content input[type="submit"]:hover {
    color: #fff;
  }
  .main-content input[type="submit"]:hover {
    color: #007b43;
    background-color: #fff;
  }
  .main-content input[type="reset"]:hover {
    background: #007b43;
  }
  .main-content input[type="button"]:hover {
    background: #2b2b2b;
  }
  .main-content .actions {
    margin: 14px auto 0;
  }
  .main-content .hs-fieldtype-file {
    margin: 17px 0 26px;
  }
  .main-content .hs-error-msg {
    margin: -21px 0 21px;
    font-weight: 700;
    font-size: 14px;
    line-height: 1.2;
    letter-spacing: 0.04em;
    color: #e83929;
  }
  .main-content .hs-fieldtype-checkbox .hs-error-msg {
    margin: 0 0 21px;
  }
  .main-content .hs-form-required:after {
    left: 8px;
  }
}
.main-content input[type="text"][name="zip"] {
  max-width: 160px;
}
.main-content input[type="number"][name^="book"] {
  max-width: 160px;
}
@media screen and (min-width: 1000px), print {
  .main-content input[type="email"][name="email"] {
    max-width: 553px;
  }
  .main-content input[type="tel"][name="phone"] {
    max-width: 366px;
  }
  .main-content input[type="text"][name="zip"] {
    max-width: 179px;
  }
  .main-content input[type="number"][name^="book"] {
    max-width: 179px;
  }
  .main-content select[name="state"] {
    max-width: 365px;
  }
}
.main-content select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #fff url(/hubfs/common/SVG/arr.svg) no-repeat;
  background-size: 19px 10.86px;
  background-position: calc(100% - 11px) center;
}
::-ms-expand {
  display: none;
}
input[type="checkbox"],
input[type="radio"] {
  display: inline-block;
  margin-right: 6px;
}
input[type="checkbox"] + span,
input[type="radio"] + span {
  position: relative;
  display: inline-block;
  margin-right: 12px;
  font-size: 14px;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: #2b2b2b;
  cursor: pointer;
  vertical-align: middle;
}
ul[role="checkbox"] {
  margin-top: 10px;
  margin-bottom: 14px;
}
@media screen and (min-width: 1000px), print {
  ul[role="checkbox"] {
    margin-top: 7px;
    margin-bottom: 21px;
  }
}
@media (min-width: 1px) {
  input[type="checkbox"],
  input[type="radio"] {
    display: none;
    margin: 0;
  }
  input[type="radio"] + span {
    padding: 0 0 0 27px;
    line-height: 18px;
    background: 0 0;
  }
  input[type="checkbox"] + span {
    padding: 0 0 0 27px;
    line-height: 20px;
  }
  input[type="radio"] + span::before {
    content: "";
    width: 18px;
    height: 18px;
    position: absolute;
    top: 50%;
    margin-top: -9px;
    left: 0;
    box-sizing: border-box;
    display: block;
    background: #fff;
    border: 1px solid #999;
    border-radius: 18px;
  }
  input[type="checkbox"] + span::before {
    content: "";
    width: 16px;
    height: 16px;
    position: absolute;
    top: 50%;
    margin-top: -8px;
    left: 0;
    display: block;
    background: #fff;
    border: 1px solid #999;
  }
  input[type="radio"]:checked + span::before {
    border-color: #007b43;
  }
  input[type="checkbox"]:checked + span::before {
    background: #007b43;
    border: 1px solid #007b43;
  }
  input[type="radio"] + span::after {
    content: "";
    width: 8px;
    height: 8px;
    position: absolute;
    top: 50%;
    margin-top: -4px;
    left: 5px;
    border-radius: 8px;
    display: block;
    background: #c7c7c7;
  }
  input[type="checkbox"] + span::after {
    content: "";
    width: 8px;
    height: 4px;
    border-left: 2px solid #c7c7c7;
    border-bottom: 2px solid #c7c7c7;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    position: absolute;
    top: 50%;
    margin-top: -3px;
    left: 4px;
    display: block;
  }
  input[type="radio"]:checked + span::after {
    background: #007b43;
  }
  input[type="checkbox"]:checked + span::after {
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
  }
  input[type="radio"][disabled] {
    cursor: default;
  }
  input[type="radio"][disabled] + span {
    color: #999;
    cursor: default;
  }
  input[type="radio"][disabled] + span::before {
    border-color: #999;
  }
  input[type="radio"][disabled]:checked + span::before {
    border-color: #999;
    background-color: #fff;
  }
  input[type="radio"][disabled]:checked + span::after {
    background: #999;
  }
}
.main-content .washi {
  padding-top: 1px;
  background: url(/hubfs/Nohgaku_festival/washi.jpg);
  background-size: cover;
  box-sizing: border-box;
}
.main-content .washi table tbody td,
.main-content .washi table tbody th,
.main-content .washi table th {
  border-color: #f9f8ed;
}
.main-content .washi .enclosing_character,
.main-content .washi table tbody td,
.main-content .washi table tbody th {
  background-color: #fff;
}
.main-content .washi {
  margin-top: 31px;
  margin-left: -20px;
  margin-right: -20px;
}
@media screen and (min-width: 1000px), print {
  .main-content .washi {
    margin-top: 40px;
    margin-left: calc((((100vw - 100%) / 2) - 40px) * -1);
    margin-right: calc((((100vw - 100%) / 2) - 40px) * -1);
  }
}
@media screen and (min-width: 1000px) and (max-width: 1080px), print {
  .main-content .washi {
    margin-left: 0;
    margin-right: 0;
  }
}
.main-content > .hs_cos_wrapper > .hs_cos_wrapper:first-child .washi:first-child {
  margin-top: 0;
}
.main-content .width821 {
  margin: 31px auto 0;
}
@media screen and (min-width: 1000px), print {
  .main-content .width821 {
    max-width: 821px;
    margin: 40px auto 0;
  }
}
.main-content > .hs_cos_wrapper > .hs_cos_wrapper:first-child .width821:first-child,
.main-content > .hs_cos_wrapper > .hs_cos_wrapper:first-child .width821:first-child h2:first-child,
.main-content > .hs_cos_wrapper > .hs_cos_wrapper:first-child .width821:first-child h3:first-child,
.main-content > .hs_cos_wrapper > .hs_cos_wrapper:first-child .width821:first-child h4:first-child,
.main-content > .hs_cos_wrapper > .hs_cos_wrapper:first-child .width821:first-child h5:first-child,
.main-content > .hs_cos_wrapper > .hs_cos_wrapper:first-child .width821:first-child h6:first-child {
  margin-top: 0;
}
.gmap {
  height: 0;
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
}
.gmap .hs-responsive-embed-inner-wrapper,
.gmap .hs-responsive-embed-wrapper,
.gmap iframe {
  position: absolute !important;
  left: 0;
  top: 0;
  height: 100% !important;
  width: 100% !important;
}
.gmap .hs-responsive-embed-inner-wrapper,
.gmap .hs-responsive-embed-wrapper {
  max-width: 100% !important;
  max-height: 100% !important;
  min-width: 100% !important;
}
@media screen and (min-width: 1000px), print {
  .gmap {
    margin: 11px 0 2px;
  }
}
.main-content .information_cta {
  text-align: center;
  margin-top: 20px;
}
.main-content .information_cta img {
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 1000px), print {
  .main-content .information_cta img {
    width: 80%;
    height: 80%;
  }
}
.spInline {
  display: inline;
}
.spBlock {
  display: block;
}
.pcBlock,
.pcInline {
  display: none;
}
@media screen and (min-width: 1000px), print {
  .spBlock,
  .spInline {
    display: none;
  }
  .pcInline {
    display: inline;
  }
  .pcBlock {
    display: block;
  }
}
.hs-cta-img {
  max-width: 100%;
  height: auto;
}
input::-webkit-input-placeholder {
    color: #bdbdbd;
}
input:-moz-placeholder {
    color: #bdbdbd;
}
input::-moz-placeholder {
    color: #bdbdbd;
}
input:-ms-input-placeholder {
    color: #bdbdbd;
}
::placeholder {
    color: #bdbdbd;
}
.hs-image__grid__container .hs-image__grid__list .hs-image__grid__list__item {
    padding-left: 0;
    background: none;
}