@charset "UTF-8";
html {
  font-size: 62.5%; }

body {
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif !important;
  letter-spacing: 2px;
  font-size: 1.6rem;
  color: #313337; }

.sp_in {
  display: none; }

.sp {
  display: none; }

rt {
  font-size: 1.3rem; }

.txtC {
  text-align: center !important; }

.txtR {
  text-align: right !important; }

.txtL {
  text-align: left !important; }

.mt30 {
  margin-top: 30px !important; }

.mb10 {
  margin-bottom: 10px !important; }

.mb20 {
  margin-bottom: 20px !important; }

.mb30 {
  margin-bottom: 30px !important; }

.mt0 {
  margin-top: 0 !important; }

.mb0 {
  margin-bottom: 0 !important; }

.pb0 {
  padding-bottom: 0 !important; }

.pt10 {
  padding-top: 10px !important; }

.pt30 {
  padding-top: 30px !important; }

.red {
  color: #ff0004 !important; }

.blue {
  color: #0054ff !important; }

.yellow {
  color: #FFF000 !important; }

small, .small {
  font-size: 0.8em !important; }

.material-symbols-outlined {
  font-size: 1em;
  transform: translateY(3px);
  padding-left: 5px; }

strong {
  font-weight: bold; }

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

ul.list-disc {
  display: inline-block;
  list-style: disc;
  margin-left: 1.5em; }
  ul.list-disc li {
    text-align: left;
    padding-bottom: 10px; }

.txt_link::after {
  font-family: "Material Symbols Outlined";
  content: "\e89e"; }

.txt_anc::after {
  font-family: "Material Symbols Outlined";
  content: "\e69b"; }

/* scrollアニメ */
.fadein {
  opacity: 0;
  transform: translate(0, 0);
  transition: all 1.5s; }
  .fadein.fadein-left {
    transform: translate(-30px, 0); }
  .fadein.fadein-right {
    transform: translate(30px, 0); }
  .fadein.fadein-up {
    transform: translate(0, -30px); }
  .fadein.fadein-bottom {
    transform: translate(0, 30px); }
  .fadein.scrollin {
    opacity: 1 !important;
    transform: translate(0, 0) !important; }

/*ふわふわ*/
.fw {
  animation: floating-y 1.8s ease-in-out infinite alternate-reverse; }

@keyframes floating-y {
  0% {
    transform: translateY(-10%); }
  100% {
    transform: translateY(10%); } }
/* Loading画面 */
.loader-bg {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  background-color: #191818;
  display: flex;
  justify-content: center;
  align-items: center; }
  .loader-bg .loader,
  .loader-bg .loader:before,
  .loader-bg .loader:after {
    border-radius: 50%;
    width: 2.5em;
    height: 2.5em;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation: load7 1.8s infinite ease-in-out;
    animation: load7 1.8s infinite ease-in-out; }
  .loader-bg .loader {
    color: #ffffff;
    font-size: 1.0rem;
    margin: 80px auto;
    position: relative;
    text-indent: -9999em;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-animation-delay: -0.16s;
    animation-delay: -0.16s; }
  .loader-bg .loader:before,
  .loader-bg .loader:after {
    content: '';
    position: absolute;
    top: 0; }
  .loader-bg .loader:before {
    left: -3.5em;
    -webkit-animation-delay: -0.32s;
    animation-delay: -0.32s; }
  .loader-bg .loader:after {
    left: 3.5em; }

@-webkit-keyframes load7 {
  0%,
80%,
100% {
    box-shadow: 0 2.5em 0 -1.3em; }
  40% {
    box-shadow: 0 2.5em 0 0; } }
@keyframes load7 {
  0%,
80%,
100% {
    box-shadow: 0 2.5em 0 -1.3em; }
  40% {
    box-shadow: 0 2.5em 0 0; } }
.floating_btn {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  background: rgba(0, 0, 0, 0.7);
  box-sizing: border-box;
  padding: 15px;
  z-index: 900;
  text-align: center;
  line-height: 100%;
  display: flex;
  justify-content: center; }
  .floating_btn .btn {
    padding: 10px !important;
    font-size: 14px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important; }

.remodal_in {
  text-align: left; }
  .remodal_in h4 {
    padding: 0 5px 5px;
    border-bottom: 1px solid #5B5A5A;
    margin-bottom: 10px; }
  .remodal_in p {
    padding-bottom: 10px; }
  .remodal_in img {
    width: 100%;
    height: auto; }

header#header {
  position: relative;
  /* overlay */ }
  header#header #slider {
    z-index: 890;
    width: calc( 100% - 300px );
    height: 100vh;
    /*スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/ }
  header#header #title {
    z-index: 891;
    position: absolute;
    right: 0;
    width: 300px;
    height: 100vh;
    background: #191818; }
    header#header #title h1 {
      color: #fff; }
      header#header #title h1 img {
        position: absolute;
        top: 30px;
        left: -20px;
        width: auto;
        height: 57vh;
        min-height: 500px; }
  @media screen and (max-width: 950px) {
    header#header #slider {
      width: calc( 100% - 240px ); }
    header#header #title {
      width: 240px; } }
  header#header #catch {
    z-index: 891;
    position: absolute;
    left: 30px;
    top: 30px;
    color: #fff;
    text-shadow: 0px -1px 13px black;
    font-size: 1.5em;
    letter-spacing: 5px; }
    header#header #catch span {
      font-size: 0.62em; }
  header#header #sns {
    z-index: 894;
    position: absolute;
    bottom: 80px;
    left: 30px;
    color: #fff; }
    header#header #sns a {
      font-size: 12px;
      display: inline-block;
      letter-spacing: 1px;
      transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1); }
      header#header #sns a img {
        width: 35px;
        vertical-align: text-bottom; }
      header#header #sns a:hover {
        transform: translateY(-5px);
        opacity: 0.7; }
  header#header #ushima_higaeri {
    z-index: 891;
    position: absolute;
    bottom: 130px;
    left: 30px; }
    header#header #ushima_higaeri a {
      display: inline-block;
      transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
      animation: ushima-y 1.0s ease-in-out infinite alternate-reverse; }
      header#header #ushima_higaeri a img {
        width: 100%;
        max-width: 300px;
        height: auto; }
      header#header #ushima_higaeri a:hover {
        transform: translateY(-5px);
        opacity: 0.7; }
@keyframes ushima-y {
  0% {
    transform: translateY(-3%); }
  100% {
    transform: translateY(3%); } }
  header#header #murozumi_movie {
    z-index: 894;
    position: absolute;
    bottom: 10px;
    right: 70px; }
    header#header #murozumi_movie a {
      display: inline-block;
      transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1); }
      header#header #murozumi_movie a img {
        width: 100%;
        max-width: 280px;
        height: auto; }
      header#header #murozumi_movie a:hover {
        transform: translateY(-5px);
        opacity: 0.7; }
  header#header #murofes {
    z-index: 894;
    position: absolute;
    bottom: 10px;
    right: 100px; }
    header#header #murofes a {
      display: inline-block;
      transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1); }
      header#header #murofes a img {
        width: 100%;
        max-width: 150px;
        height: auto; }
      header#header #murofes a:hover {
        transform: translateY(-5px);
        opacity: 0.7; }
  header#header #btn {
    z-index: 892;
    position: absolute;
    bottom: 30px;
    left: 30px; }
    header#header #btn a {
      font-size: 12px;
      display: inline-block;
      background-color: #fff;
      padding: 10px 20px;
      text-align: center;
      transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1); }
      header#header #btn a img {
        padding-top: 10px;
        max-width: 130px; }
      header#header #btn a:hover {
        transform: translateY(-5px);
        opacity: 0.7; }
  header#header #scroll {
    background: #fff;
    padding: 10px;
    z-index: 893;
    position: absolute;
    padding-bottom: 30px;
    bottom: -20px;
    right: 30px; }
    header#header #scroll img {
      width: 14px; }
  header#header .video-box {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 100vh; }
  header#header .video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }
  header#header .overlay::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    background: rgba(0, 0, 0, 0.4); }

header#header_sub h1 {
  letter-spacing: 5px;
  padding: 20px;
  font-size: 2.8rem; }
  header#header_sub h1 span {
    display: block;
    font-size: 1.4rem; }

#index {
  background: #EEECEC; }

#index footer {
  margin-bottom: 70px; }

footer {
  background-color: #EEECEC;
  padding-bottom: 122px;
  background-image: url("../images/footer_bg.png");
  background-repeat: repeat-x;
  background-position: right 70px bottom 10px;
  background-size: auto 110px; }
  footer .sns {
    text-align: center;
    padding-bottom: 50px; }
    footer .sns a {
      font-size: 12px;
      display: inline-block;
      letter-spacing: 1px;
      transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1); }
      footer .sns a img {
        width: 35px;
        vertical-align: text-bottom; }
      footer .sns a:hover {
        transform: translateY(-5px);
        opacity: 0.7; }
  footer #footer_txt {
    max-width: 1050px;
    margin: 40px auto 30px;
    display: flex;
    justify-content: space-around; }
    footer #footer_txt h2 {
      font-size: 1.5em;
      padding-bottom: 20px; }
    footer #footer_txt p {
      font-size: 14px;
      padding-bottom: 10px;
      line-height: 200%; }
    footer #footer_txt .en p {
      font-size: 16px; }
  footer section#link {
    color: #313337;
    border-bottom: 1px solid #c7c7c7; }
    footer section#link ul {
      padding: 0px 0 30px;
      display: flex;
      flex-wrap: wrap;
      justify-content: center; }
      footer section#link ul li {
        display: flex;
        justify-content: center;
        align-items: center;
        line-height: 0;
        margin: 10px;
        width: 200px;
        background: #fff;
        border: 1px solid #191818;
        padding: 10px;
        transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1); }
        footer section#link ul li a {
          display: block; }
        footer section#link ul li:hover {
          transform: translateY(-5px);
          opacity: 0.7; }
  footer .pagetop {
    display: none;
    position: fixed;
    bottom: 10px;
    right: 10px; }
  footer .pagetop a {
    display: block;
    background-color: #ccc;
    text-align: center;
    color: #222;
    font-size: 12px;
    text-decoration: none;
    padding: 5px 10px;
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7; }
  footer .pagetop a:hover {
    display: block;
    text-align: center;
    color: #fff;
    font-size: 12px;
    text-decoration: none;
    padding: 5px 10px;
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7; }

nav {
  /*アクティブクラスがついたら位置を0に*/
  /*ナビゲーションの縦スクロール*/
  /*ナビゲーション*/
  /*リストのレイアウト設定*/ }
  nav .nav_btn_all {
    position: fixed;
    z-index: 991;
    /*ボタンを最前面に*/
    top: 20px;
    right: 20px; }
  nav .nav_btn {
    position: relative;
    /*ボタン内側の基点となるためrelativeを指定*/
    background: #666;
    cursor: pointer;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    /*ボタン内側*/
    /*activeクラスが付与されると線が回転して×になり、Menu表記をしている2つ目の要素が透過して消える*/ }
    nav .nav_btn span {
      display: inline-block;
      transition: all .4s;
      /*アニメーションの設定*/
      position: absolute; }
    nav .nav_btn span:nth-of-type(1),
    nav .nav_btn span:nth-of-type(3) {
      height: 2px;
      background: #fff;
      width: 62%;
      left: 19px; }
    nav .nav_btn span:nth-of-type(1) {
      top: 30px; }
    nav .nav_btn span:nth-of-type(2) {
      line-height: 100px;
      top: 0;
      left: 0;
      width: 100%;
      text-align: center;
      font-size: 14px;
      text-transform: uppercase;
      color: #fff; }
    nav .nav_btn span:nth-of-type(3) {
      bottom: 30px; }
    nav .nav_btn.active span:nth-of-type(1), nav .nav_btn.active span:nth-of-type(3) {
      width: 50px; }
    nav .nav_btn.active span:nth-of-type(1) {
      top: 42px;
      left: 25px;
      transform: translateY(6px) rotate(-45deg); }
    nav .nav_btn.active span:nth-of-type(2) {
      opacity: 0; }
    nav .nav_btn.active span:nth-of-type(3) {
      top: 54px;
      left: 26px;
      transform: translateY(-6px) rotate(45deg); }
  nav #g-nav {
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position: fixed;
    z-index: 990;
    /*ナビのスタート位置と形状*/
    top: 0;
    right: -120%;
    width: 100%;
    height: 100vh;
    /*ナビの高さ*/
    background: #999;
    /*動き*/
    transition: all 0.6s; }
  nav #g-nav.panelactive {
    right: 0; }
  nav #g-nav.panelactive #g-nav-list {
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 990;
    width: 100%;
    height: 100vh;
    /*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch; }
  nav #g-nav ul {
    /*ナビゲーション天地中央揃え*/
    position: absolute;
    z-index: 990;
    width: 100%;
    top: 50px; }
  nav #g-nav li {
    list-style: none;
    text-align: center;
    border-bottom: 1px solid #878787;
    width: calc( 100% - 40px );
    max-width: 500px;
    margin: 0 auto; }
    nav #g-nav li a {
      color: #fff;
      text-decoration: none;
      padding: 20px;
      display: inline-block;
      text-transform: uppercase;
      letter-spacing: 0.1em; }
    nav #g-nav li span {
      display: inline-block;
      padding: 20px; }
    nav #g-nav li:nth-last-child(2) {
      border: none; }
      nav #g-nav li:nth-last-child(2) a {
        display: block;
        background: #5B5A5A;
        padding: 10px; }
    nav #g-nav li:last-of-type {
      padding-top: 10px;
      border-bottom: none; }
      nav #g-nav li:last-of-type a, nav #g-nav li:last-of-type span {
        padding: 0;
        font-size: 35px;
        color: #313337;
        font-weight: bold; }
      nav #g-nav li:last-of-type a {
        padding: 5px; }
      nav #g-nav li:last-of-type img {
        width: 30px;
        height: auto; }

main article {
  text-align: center;
  margin: 0;
  color: #fff;
  width: 100%; }
  main article p, main article dl, main article ul, main article ol {
    font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif; }
main section {
  max-width: 1050px;
  margin: 0 auto;
  padding: 100px 0; }
main .index h1 {
  font-size: 2.5rem;
  letter-spacing: 8px;
  padding-bottom: 30px; }
  main .index h1 span {
    display: inline-block;
    background: #313337;
    color: #fff;
    font-size: 1.3rem;
    letter-spacing: 2px;
    padding: 2px 5px 2px 5px;
    margin-bottom: 20px; }
main .index p.preparation {
  display: inline-block;
  background: #fff;
  color: #c60003;
  letter-spacing: 0px;
  padding: 2px 5px 2px 5px;
  margin-bottom: 30px; }
main .index .btn_box {
  letter-spacing: 2px; }
main .index .btn {
  width: 80%;
  max-width: 500px;
  margin: 10px auto;
  color: #fff;
  font-size: 1.8rem;
  background: transparent;
  padding: 20px 0;
  text-align: center;
  border: 1px solid #fff;
  position: relative;
  z-index: 1;
  display: inline-block;
  overflow: hidden;
  transition: .3s; }
  main .index .btn::before {
    content: "";
    width: 150%;
    position: absolute;
    top: 0;
    right: -0px;
    z-index: -1;
    border-right: 60px solid transparent;
    border-bottom: 5em solid #fff;
    transform: translateX(-100%);
    transition: transform ease .8s; }
  main .index .btn:hover {
    color: #191818; }
  main .index .btn:hover::before {
    width: 150%;
    transform: translateX(30%); }
  main .index .btn.typ2 {
    color: #313337;
    border: 1px solid #313337; }
    main .index .btn.typ2::before {
      border-bottom: 5em solid #313337; }
    main .index .btn.typ2:hover {
      color: #fff; }
main .index .btn2 {
  display: inline-block;
  border: 1px solid #313337;
  padding: 5px 20px;
  border-radius: 50px;
  font-size: 1.4rem;
  transition: .3s; }
  main .index .btn2:hover {
    background: #b0b0b0; }
main .parallax {
  display: flex;
  height: 400px;
  justify-content: center;
  align-items: center;
  background-attachment: fixed;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-image: url("../images/top_slide/04.jpg"); }
main _:lang(x) + _:-webkit-full-screen-document, main .parallax {
  background-attachment: scroll !important;
  height: 600px; }
main #movie {
  padding: 0 20px; }
  main #movie a {
    display: block;
    max-width: 800px;
    margin: 80px auto 0;
    font-size: 0; }
    main #movie a strong {
      display: block;
      text-align: center;
      background: rgba(0, 0, 0, 0.81);
      font-weight: normal;
      padding: 5px;
      font-size: 1.5rem; }
main #news {
  background: #EEECEC;
  color: #313337; }
  main #news section {
    max-width: none; }
  main #news .lead {
    text-align: center; }
  main #news .slide_news {
    margin: 30px 0; }
  main #news .slick-track {
    display: flex; }
  main #news .slick-slide {
    height: auto !important; }
  main #news .slick-prev:before, main #news .slick-next:before {
    color: #313337; }
  main #news .slide_news_items {
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    letter-spacing: 1px;
    text-align: left; }
    main #news .slide_news_items_in {
      background: #fff;
      width: 40%;
      margin: 0 10px 20px;
      position: relative; }
      main #news .slide_news_items_in .img {
        overflow: hidden;
        height: 200px; }
        main #news .slide_news_items_in .img img {
          transition: 1s all;
          width: 100%;
          height: 200px;
          object-fit: cover; }
      main #news .slide_news_items_in .detail {
        padding: 10px; }
      main #news .slide_news_items_in a:hover h3 {
        text-decoration: underline; }
      main #news .slide_news_items_in a:hover .img img {
        transform: scale(1.1, 1.1);
        transition: 1s all; }
      main #news .slide_news_items_in h3 {
        padding: 0 0;
        font-size: 14px; }
      main #news .slide_news_items_in span {
        display: inline-block;
        font-size: 13px; }
        main #news .slide_news_items_in span.type {
          top: 0;
          right: 0;
          position: absolute;
          color: #fff;
          padding: 0 5px;
          background: #326596; }
          main #news .slide_news_items_in span.type.event {
            background: #830002; }
        main #news .slide_news_items_in span.area {
          border: #363636 1px solid;
          background: #363636;
          color: #fff;
          padding: 0 5px;
          margin-bottom: 5px; }
        main #news .slide_news_items_in span.e_data {
          border: #830002 1px solid;
          color: #830002;
          padding: 0 5px;
          margin-bottom: 5px; }
    main #news .slide_news_items.col2 {
      max-width: 1200px; }
      main #news .slide_news_items.col2 .slide_news_items_in {
        width: 31% !important; }
  main #news .furusato_link {
    padding-top: 0px; }
    main #news .furusato_link a {
      margin: 30px auto 0;
      display: block;
      max-width: 700px;
      text-align: left;
      padding: 20px;
      background: url("../spot/img/kaisyo/main.jpg") no-repeat right 0 top -110px;
      background-size: 60% auto;
      background-color: #211717; }
      main #news .furusato_link a span {
        color: #fff;
        background: linear-gradient(90deg, rgba(33, 23, 23, 0) 0%, rgba(33, 23, 23, 0) 52%, #211717 100%); }
      main #news .furusato_link a:hover {
        opacity: 0.8; }
main .parallax.about {
  background-image: url("../images/parallax/002.jpg"); }
main _:lang(x) + _:-webkit-full-screen-document, main #about {
  background-attachment: scroll !important; }
main #about {
  background-color: #EEECEC;
  background-image: url(../images/about/bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top 0 left 70%;
  background-attachment: fixed;
  color: #313337;
  position: relative; }
  main #about h1::before {
    content: "";
    background-image: url(../images/title_icon.svg);
    background-repeat: no-repeat;
    background-size: auto 100%;
    background-position: center;
    display: block;
    height: 2em;
    width: auto;
    vertical-align: middle;
    margin-bottom: 1em; }
  main #about img {
    display: block;
    margin: 0 auto;
    width: 80%;
    height: auto;
    max-width: 590px; }
  main #about .box1 {
    margin-bottom: 20px; }
    main #about .box1 p {
      margin-bottom: 1em;
      line-height: 300%;
      font-size: 1.8rem; }
  main #about .img_list {
    display: flex; }
    main #about .img_list li {
      width: calc(100% / 3);
      height: 200px;
      background-image: url("../images/about/03.jpg");
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center; }
      main #about .img_list li:nth-of-type(2) {
        background-image: url("../images/about/01.jpg"); }
      main #about .img_list li:nth-of-type(3) {
        background-image: url("../images/about/04.jpg"); }
      main #about .img_list li:nth-of-type(4) {
        background-image: url("../images/about/05.jpg"); }
  main #about .detail {
    background: #fff;
    padding: 15px 25px 20px;
    margin-top: 40px; }
    main #about .detail h2 {
      line-height: 100%;
      position: relative;
      display: inline-block;
      padding: 0 55px;
      margin-bottom: 20px;
      font-size: 1.2em; }
      main #about .detail h2:before, main #about .detail h2:after {
        content: '';
        position: absolute;
        top: 50%;
        display: inline-block;
        width: 45px;
        height: 1px;
        background-color: black; }
      main #about .detail h2:before {
        left: 0; }
      main #about .detail h2:after {
        right: 0; }
    main #about .detail p {
      text-align: left;
      font-size: 1.4rem;
      padding-bottom: 5px; }
main .parallax.event {
  background-image: url("../event/img/sajiki/main.jpg"); }
main #event {
  background: #5B5A5A; }
  main #event section {
    max-width: none;
    padding-left: 0;
    padding-right: 0; }
  main #event .eventlist {
    margin: 0 auto 50px;
    padding: 0 0px; }
    main #event .eventlist .slick-dots {
      bottom: -35px; }
    main #event .eventlist_items li {
      margin: 0 10px;
      position: relative;
      font-size: 0;
      line-height: 0;
      text-align: right; }
      main #event .eventlist_items li a:hover {
        opacity: 0.8; }
      main #event .eventlist_items li img {
        font-size: 0;
        line-height: 0;
        width: 100%;
        height: 300px;
        object-fit: cover; }
      main #event .eventlist_items li .box {
        text-shadow: 0px 0px 4px #000000,0px 0px 4px #000000, 0px 0px 14px #000000;
        padding: 15px 20px 20px;
        position: absolute;
        background: linear-gradient(90deg, rgba(33, 23, 23, 0) 0%, rgba(33, 23, 23, 0) 52%, #211717 100%);
        width: 100%;
        top: 0;
        height: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
        align-content: space-between; }
        main #event .eventlist_items li .box div {
          width: 100%; }
        main #event .eventlist_items li .box h2 {
          line-height: 100%;
          font-size: 2.2rem;
          letter-spacing: 5px;
          padding-bottom: 10px; }
          main #event .eventlist_items li .box h2 span {
            display: block;
            font-size: 1.5rem;
            letter-spacing: 3px;
            padding-bottom: 5px; }
        main #event .eventlist_items li .box p {
          text-align: right;
          margin: 0;
          padding: 0; }
          main #event .eventlist_items li .box p.data {
            line-height: 100%;
            font-size: 1.3rem;
            text-align: right; }
          main #event .eventlist_items li .box p.txt {
            line-height: 150%;
            font-size: 1.4rem; }
main .parallax.spot {
  background-image: url("../images/parallax/001.jpg"); }
main #spot {
  background: #EEECEC;
  color: #313337; }
  main #spot .spotlist_items {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    position: relative; }
    main #spot .spotlist_items.preparation {
      overflow-y: hidden;
      height: 700px; }
    main #spot .spotlist_items li {
      width: 50%;
      position: relative;
      text-align: left;
      padding: 10px; }
      main #spot .spotlist_items li.preparation {
        width: 100%;
        top: 80px;
        height: 100%;
        text-align: center;
        position: absolute;
        z-index: 99;
        background: linear-gradient(180deg, rgba(238, 236, 236, 0) 52%, #eeecec 76%); }
      main #spot .spotlist_items li .img {
        overflow: hidden;
        height: 300px; }
        main #spot .spotlist_items li .img img {
          transition: 1s all;
          width: 100%;
          height: 300px;
          object-fit: cover; }
      main #spot .spotlist_items li a:hover h2 {
        text-decoration: underline; }
      main #spot .spotlist_items li a:hover .img img {
        transform: scale(1.1, 1.1);
        transition: 1s all; }
      main #spot .spotlist_items li h2 {
        line-height: 100%;
        font-size: 1.6rem;
        letter-spacing: 5px;
        padding: 10px 10px 0 0; }
        main #spot .spotlist_items li h2 span {
          display: block;
          font-size: 1.5rem;
          letter-spacing: 3px;
          padding-bottom: 5px; }
      main #spot .spotlist_items li span.typ {
        letter-spacing: 1px;
        position: absolute;
        top: 20px;
        right: 20px;
        padding: 3px 3px 3px 5px;
        display: inline-block;
        font-size: 1.3rem;
        color: #fff;
        border: 1px solid #fff;
        background: #313337; }
      main #spot .spotlist_items li span.txt {
        font-size: 1.2rem;
        letter-spacing: 1px; }
main .parallax.access {
  background-image: url("../spot/img/gabisan_zoubigasaki/main.jpg"); }
main #access {
  background: #EEECEC;
  color: #313337; }
  main #access h2 {
    display: inline-block;
    color: #191818;
    padding: 3px 5px;
    background: #fff;
    border: #191818 solid 2px;
    margin-top: 20px;
    margin-bottom: 10px; }
    main #access h2:nth-of-type(1) {
      margin-top: 0; }
  main #access iframe {
    width: 100%;
    height: 500px;
    margin: 20px auto; }
main .parallax.shop {
  background-image: url("../images/parallax/003.jpg"); }
main #shop {
  background: #EEECEC;
  color: #313337; }
  main #shop section {
    max-width: 1500px; }
  main #shop .stayinglist_items {
    text-align: center; }
    main #shop .stayinglist_items li {
      padding: 0 5px; }
    main #shop .stayinglist_items h2 {
      padding-bottom: 5px; }
      main #shop .stayinglist_items h2 span {
        display: inline-block;
        padding-bottom: 5px;
        font-size: 1.2rem;
        border: 1px solid #313337;
        padding: 0px 5px; }
    main #shop .stayinglist_items a:hover {
      opacity: 0.8; }
    main #shop .stayinglist_items .box {
      overflow: hidden;
      width: 100%; }
      main #shop .stayinglist_items .box img {
        width: 100%;
        height: 200px;
        object-fit: cover; }
  main #shop .kaisyo_map {
    max-width: 500px;
    padding: 0 20px; }
main .parallax.iju {
  background-image: url("../images/parallax/004.jpg"); }
main #iju {
  background: #EEECEC;
  color: #313337; }
  main #iju h2 {
    padding: 5px;
    max-width: 600px;
    margin: 0 auto;
    background: #a2a2a2;
    color: #fff; }
  main #iju .iju_logo {
    text-align: center;
    padding: 30px 0; }
    main #iju .iju_logo img {
      max-width: 400px; }
  main #iju .btn_box .btn {
    max-width: 350px; }
  main #iju .banner {
    margin: 20px 0;
    display: inline-block;
    background: #fff;
    padding: 10px;
    font-size: 0;
    line-height: 0; }
    main #iju .banner img {
      width: 50%;
      max-width: 300px; }
main .parallax.activity {
  background-image: url("../images/parallax/005.jpg"); }
main #activity {
  background: #EEECEC;
  color: #313337; }
  main #activity section {
    max-width: 1500px; }
  main #activity .activitylist_items {
    text-align: center; }
    main #activity .activitylist_items li {
      padding: 0 5px; }
    main #activity .activitylist_items h2 {
      padding: 5px;
      font-size: 1.8rem; }
    main #activity .activitylist_items a:hover img {
      opacity: 0.8; }
    main #activity .activitylist_items .box {
      overflow: hidden;
      width: 100%; }
      main #activity .activitylist_items .box img {
        width: 100%;
        height: 200px;
        object-fit: cover; }
main #subpage {
  background: #EEECEC;
  padding: 50px; }
  main #subpage a {
    color: #1b408a; }
    main #subpage a:hover {
      color: #3758c3;
      text-decoration: underline; }
  main #subpage article {
    max-width: 1100px;
    margin: 0 auto;
    color: #313337;
    text-align: left; }
  main #subpage h1.subtitle {
    text-align: center;
    font-size: 2.5rem;
    letter-spacing: 8px;
    padding-bottom: 30px; }
    main #subpage h1.subtitle span {
      display: inline-block;
      background: #313337;
      color: #fff;
      font-size: 1.3rem;
      letter-spacing: 2px;
      padding: 2px 5px 2px 5px;
      margin-bottom: 10px; }
  main #subpage h2.subtitle_h2 {
    background: #fff;
    display: inline-block;
    border-radius: 50px;
    padding: 5px 20px;
    font-weight: bold;
    margin-bottom: 10px; }
  main #subpage ul.att {
    display: inline-block;
    font-size: 13px;
    margin: 10px 0; }
    main #subpage ul.att li {
      text-align: left;
      padding-left: 1em;
      text-indent: -1em; }
      main #subpage ul.att li::before {
        content: "※"; }
  main #subpage ul.disc {
    margin: 10px 0 10px 1.5em; }
    main #subpage ul.disc li {
      margin-bottom: 10px;
      text-align: left;
      list-style-type: disc; }
  main #subpage.list article {
    padding-bottom: 50px; }
  main #subpage.page article {
    background: #fff; }
    main #subpage.page article .detail p {
      padding-bottom: 1em; }
    main #subpage.page article .detail .btn {
      margin: 20px 0 10px;
      border: 2px solid #F0A522;
      text-align: center;
      color: #fff;
      display: inline-block;
      background: #F0A522;
      padding: 15px 30px;
      border-radius: 50px;
      min-width: 400px;
      letter-spacing: 1px;
      font-size: 1.8rem;
      transition: 1s all; }
      main #subpage.page article .detail .btn:hover {
        background: #FFF;
        color: #F0A522;
        transition: 1s all; }
      main #subpage.page article .detail .btn.typ2 {
        border: 2px solid #5B5A5A;
        color: #5B5A5A;
        background: #fff; }
        main #subpage.page article .detail .btn.typ2:hover {
          background: #FFF;
          color: #5B5A5A; }
    main #subpage.page article .detail .youtube {
      width: 100%;
      aspect-ratio: 16 / 9; }
    main #subpage.page article .detail .youtube iframe {
      width: 100%;
      height: 100%; }
    main #subpage.page article .detail iframe {
      width: 100%;
      height: 200px;
      margin: 20px auto; }
    main #subpage.page article .detail2 {
      padding: 0px 40px 60px; }
      main #subpage.page article .detail2 h2.subtitle:first-of-type {
        padding-top: 0; }
  main #subpage .eventlist {
    margin: 0 auto 50px;
    padding: 0 50px; }
    main #subpage .eventlist .slick-dots {
      bottom: -35px; }
    main #subpage .eventlist_items li {
      position: relative;
      font-size: 0;
      line-height: 0;
      text-align: right;
      margin: 0 0 1px; }
      main #subpage .eventlist_items li a:hover {
        opacity: 0.8; }
      main #subpage .eventlist_items li img {
        font-size: 0;
        line-height: 0;
        width: 100%;
        height: 300px;
        object-fit: cover; }
      main #subpage .eventlist_items li .box {
        text-shadow: 0px 0px 4px #000000,0px 0px 4px #000000, 0px 0px 14px #000000;
        padding: 15px 20px 20px;
        position: absolute;
        background: linear-gradient(90deg, rgba(33, 23, 23, 0) 0%, rgba(33, 23, 23, 0) 52%, #211717 100%);
        width: 100%;
        top: 0;
        height: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
        align-content: space-between; }
        main #subpage .eventlist_items li .box div {
          width: 100%; }
        main #subpage .eventlist_items li .box h2 {
          line-height: 100%;
          font-size: 2.2rem;
          letter-spacing: 5px;
          padding-bottom: 10px; }
          main #subpage .eventlist_items li .box h2 span {
            display: block;
            font-size: 1.5rem;
            letter-spacing: 3px;
            padding-bottom: 5px; }
        main #subpage .eventlist_items li .box p {
          text-align: right;
          margin: 0;
          padding: 0; }
          main #subpage .eventlist_items li .box p.data {
            line-height: 100%;
            font-size: 1.3rem;
            text-align: right; }
          main #subpage .eventlist_items li .box p.txt {
            line-height: 150%;
            font-size: 1.4rem; }
  main #subpage .subpage_returnbtn {
    margin: 0 auto;
    display: flex;
    width: 100%;
    max-width: 1100px;
    letter-spacing: 2px; }
    main #subpage .subpage_returnbtn li {
      width: 100%;
      display: block;
      background: #5B5A5A;
      text-align: center; }
      main #subpage .subpage_returnbtn li:nth-of-type(2) {
        border-left: #fff solid 1px; }
    main #subpage .subpage_returnbtn a {
      display: inline-block;
      padding: 10px;
      color: #fff; }
main #subpage.news_list .list_news {
  margin-top: 30px; }
main #subpage.news_list .slide_news {
  margin: 30px 0; }
main #subpage.news_list .slick-track {
  display: flex; }
main #subpage.news_list .slick-slide {
  height: auto !important; }
main #subpage.news_list .slick-prev:before, main #subpage.news_list .slick-next:before {
  color: #313337; }
main #subpage.news_list .slide_news_items {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  letter-spacing: 1px;
  text-align: left; }
  main #subpage.news_list .slide_news_items_in {
    background: #fff;
    width: 30%;
    margin: 0 10px 20px;
    position: relative; }
    main #subpage.news_list .slide_news_items_in .img {
      overflow: hidden;
      height: 200px; }
      main #subpage.news_list .slide_news_items_in .img img {
        transition: 1s all;
        width: 100%;
        height: 200px;
        object-fit: cover; }
    main #subpage.news_list .slide_news_items_in .detail {
      padding: 10px; }
    main #subpage.news_list .slide_news_items_in a:hover {
      text-decoration: none; }
      main #subpage.news_list .slide_news_items_in a:hover h3 {
        text-decoration: underline; }
      main #subpage.news_list .slide_news_items_in a:hover .img img {
        transform: scale(1.1, 1.1);
        transition: 1s all; }
    main #subpage.news_list .slide_news_items_in h3 {
      padding: 0 0;
      font-size: 14px; }
    main #subpage.news_list .slide_news_items_in span {
      display: inline-block;
      font-size: 13px; }
      main #subpage.news_list .slide_news_items_in span.type {
        top: 0;
        right: 0;
        position: absolute;
        color: #fff;
        padding: 0 5px;
        background: #326596; }
        main #subpage.news_list .slide_news_items_in span.type.event {
          background: #830002; }
      main #subpage.news_list .slide_news_items_in span.area {
        border: #363636 1px solid;
        background: #363636;
        color: #fff;
        padding: 0 5px;
        margin-bottom: 5px; }
      main #subpage.news_list .slide_news_items_in span.e_data {
        border: #830002 1px solid;
        color: #830002;
        padding: 0 5px;
        margin-bottom: 5px; }
main #subpage.news_detail .visual {
  font-size: 0;
  overflow: hidden;
  height: 500px;
  margin-bottom: 10px; }
  main #subpage.news_detail .visual img {
    width: 100%;
    height: 500px;
    object-fit: cover; }
main #subpage.news_detail .detail {
  padding: 30px 40px; }
  main #subpage.news_detail .detail h1 {
    font-size: 3.0rem;
    padding: 5px 0 10px;
    line-height: 130%; }
  main #subpage.news_detail .detail h2 {
    padding: 10px;
    border-top: 2px solid #5B5A5A;
    border-bottom: 2px solid #5B5A5A;
    margin-top: 40px;
    margin-bottom: 20px;
    font-weight: bold;
    font-size: 2.0rem; }
    main #subpage.news_detail .detail h2:first-of-type {
      margin-top: 0; }
  main #subpage.news_detail .detail h3 {
    padding: 1rem 2rem;
    border-left: 5px solid #5B5A5A;
    background: #f4f4f4;
    margin: 10px 0; }
  main #subpage.news_detail .detail h4 {
    padding: 1rem;
    border-bottom: 2px dashed #5B5A5A;
    margin: 10px 0;
    font-weight: bold; }
  main #subpage.news_detail .detail_dl {
    display: flex;
    flex-flow: row wrap;
    width: 100%;
    font-size: 14px;
    border-top: 1px solid #ccc;
    margin: 20px 0; }
    main #subpage.news_detail .detail_dl dt {
      font-weight: bold;
      flex-basis: 15%;
      padding: 5px 10px;
      background-color: #f1f1f1;
      border-bottom: 1px solid #ccc; }
    main #subpage.news_detail .detail_dl dd {
      flex-basis: 85%;
      padding: 5px 10px;
      background-color: #fff;
      border-bottom: 1px solid #ccc; }
      main #subpage.news_detail .detail_dl dd ul li {
        list-style: disc;
        margin-left: 1.5em; }
  main #subpage.news_detail .detail .comment {
    background: #F5F3F3;
    padding: 10px;
    margin-bottom: 1em; }
  main #subpage.news_detail .detail .comment2 {
    border: 2px solid #F5F3F3;
    padding: 10px;
    margin-bottom: 1em; }
  main #subpage.news_detail .detail .title {
    margin-bottom: 20px; }
    main #subpage.news_detail .detail .title span {
      display: inline-block;
      font-size: 1.4rem; }
      main #subpage.news_detail .detail .title span.type {
        color: #fff;
        padding: 0 5px;
        background: #326596; }
        main #subpage.news_detail .detail .title span.type.event {
          background: #830002; }
      main #subpage.news_detail .detail .title span.area {
        background: #363636;
        color: #fff;
        padding: 0 5px;
        margin-bottom: 5px; }
    main #subpage.news_detail .detail .title time {
      font-size: 1.3rem; }
  main #subpage.news_detail .detail .photo {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 20px; }
    main #subpage.news_detail .detail .photo li {
      font-size: 1.4rem;
      text-align: center;
      width: 20%;
      cursor: pointer;
      padding: 5px; }
      main #subpage.news_detail .detail .photo li a {
        color: #313337; }
      main #subpage.news_detail .detail .photo li:hover {
        opacity: 0.8; }
      main #subpage.news_detail .detail .photo li div.img {
        overflow: hidden;
        width: 100%;
        height: 130px; }
        main #subpage.news_detail .detail .photo li div.img img {
          width: 100%;
          height: 130px;
          object-fit: cover; }
main #subpage.news_detail.news250120 .youtube_2col {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding-top: 30px; }
  main #subpage.news_detail.news250120 .youtube_2col div {
    width: 48%; }
  main #subpage.news_detail.news250120 .youtube_2col iframe {
    margin: 0px auto 20px !important;
    height: 280px !important; }
main #subpage .e241130_navi {
  display: flex;
  justify-content: center;
  margin-bottom: 30px; }
  main #subpage .e241130_navi li {
    width: 30%;
    margin: 1%; }
    main #subpage .e241130_navi li span {
      font-size: 1.2rem;
      font-weight: normal; }
    main #subpage .e241130_navi li a {
      display: block;
      background: #E86B8C;
      border-radius: 10px;
      text-align: center;
      padding: 10px;
      color: #fff;
      letter-spacing: 0;
      font-weight: bold; }
      main #subpage .e241130_navi li a:hover {
        opacity: 0.8;
        text-decoration: none; }
      main #subpage .e241130_navi li a::after {
        font-family: "Material Symbols Outlined";
        content: '\e7cd';
        color: #fff;
        padding-left: 3px; }
    main #subpage .e241130_navi li:nth-of-type(1) a {
      background: #819F30; }
    main #subpage .e241130_navi li:nth-of-type(2) a {
      background: #DF720E; }
main #subpage .e241130 a img {
  border-radius: 10px; }
main #subpage .e241130 a:hover img {
  opacity: 0.8; }
main #subpage .e241130 .workshop_att {
  background: #b70003;
  color: #f8ff00;
  padding: 15px 10px 10px;
  font-weight: bold; }
main #subpage .e241130 .workshop_att02 {
  background: #006FFF;
  color: #fff;
  padding: 15px 10px 10px;
  font-weight: bold; }
main #subpage .e241130_stamp {
  text-align: center;
  background: #DCF0FA;
  max-width: 950px;
  margin: 0 auto;
  padding: 10px 10px 10px 10px !important;
  border-radius: 10px;
  margin-bottom: 30px; }
main #subpage .e241130_inst ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; }
  main #subpage .e241130_inst ul li {
    padding: 5px;
    width: 25%;
    max-width: 250px; }
    main #subpage .e241130_inst ul li img {
      width: 100%; }
main #subpage .e241130_all .workshop_att {
  margin-top: 10px;
  background: #b70003;
  color: #f8ff00;
  padding: 10px 10px 10px;
  font-weight: bold; }
main #subpage .e241130_all .workshop_att02 {
  margin-top: 10px;
  background: #006FFF;
  color: #fff;
  padding: 10px 10px 10px;
  font-weight: bold; }
main #subpage .e241130_all a img {
  border-radius: 10px; }
main #subpage .e241130_all a:hover img {
  opacity: 0.8; }
main #subpage .e241130_all .box {
  margin: 0 auto;
  background: #FBDAE2;
  padding: 30px 10px 50px; }
  main #subpage .e241130_all .box_in {
    max-width: 800px;
    margin: 0 auto; }
  main #subpage .e241130_all .box h3 {
    text-align: center; }
  main #subpage .e241130_all .box#art {
    background: #F3F9DF; }
    main #subpage .e241130_all .box#art h4 {
      margin-top: 20px;
      text-align: center;
      font-weight: bold;
      padding: 10px;
      background: #C2D78B; }
    main #subpage .e241130_all .box#art h5 {
      background: #819F30;
      color: #fff;
      display: inline-block;
      padding: 3px 10px;
      margin: 10px 0 5px;
      font-size: 14px; }
    main #subpage .e241130_all .box#art ul li {
      font-size: 13px;
      padding-left: 1em;
      text-indent: -1em;
      padding-bottom: 10px; }
      main #subpage .e241130_all .box#art ul li span {
        display: inline-block;
        background: #ADADAD;
        border-radius: 20px;
        padding: 0 5px;
        padding-left: 1.4em;
        color: #fff; }
    main #subpage .e241130_all .box#art ul li::before {
      content: '●';
      color: #819F30; }
    main #subpage .e241130_all .box#art .noudappi {
      text-align: center;
      border: #819F30 3px solid;
      color: #819F30;
      background: #fff;
      font-weight: bold;
      padding: 10px;
      border-radius: 10px; }
  main #subpage .e241130_all .box#workshop {
    background: #FFF3E0; }
    main #subpage .e241130_all .box#workshop h5 {
      color: #E07329;
      border: 2px solid #E07329;
      padding: 5px 10px;
      font-weight: bold;
      text-align: center; }
    main #subpage .e241130_all .box#workshop h4 {
      margin-top: 20px;
      text-align: center;
      font-weight: bold;
      padding: 10px;
      background: #FAB17D; }
main #subpage .e241130_all_art_box {
  display: flex; }
  main #subpage .e241130_all_art_box_img {
    padding: 0 20px; }
    main #subpage .e241130_all_art_box_img img {
      width: 251px; }
main #subpage .e241130_all_workshop_box {
  border: 2px solid #E41040;
  border-radius: 10px;
  background: #fff;
  padding: 10px;
  margin-bottom: 50px; }
  main #subpage .e241130_all_workshop_box h6 {
    color: #E41040;
    text-align: center;
    font-weight: bold;
    padding-bottom: 5px; }
  main #subpage .e241130_all_workshop_box_att {
    background: #E41040;
    text-align: center;
    color: #fff;
    margin-bottom: 10px;
    padding: 5px !important; }
  main #subpage .e241130_all_workshop_box_nav {
    max-width: 600px;
    margin: 0 auto;
    padding: 30px 0; }
    main #subpage .e241130_all_workshop_box_nav li {
      line-height: 120%;
      padding: 5px; }
      main #subpage .e241130_all_workshop_box_nav li a {
        color: #fff;
        display: block;
        text-align: center;
        padding: 10px 5px;
        background: #535353;
        border-radius: 50px; }
        main #subpage .e241130_all_workshop_box_nav li a:hover {
          text-decoration: none;
          opacity: 0.8; }
main #subpage .e241130_all_btn {
  display: inline-block;
  padding: 10px 20px;
  background: #5B5A5A;
  color: #fff;
  letter-spacing: 0px;
  border-radius: 50px; }
  main #subpage .e241130_all_btn:hover {
    color: #fff;
    opacity: 0.8; }
  main #subpage .e241130_all_btn.typ2 {
    background: #2381af; }
main #subpage.spot_event_detail article .visual {
  display: flex;
  flex-wrap: wrap; }
  main #subpage.spot_event_detail article .visual li {
    font-size: 0;
    overflow: hidden;
    width: 100%;
    height: 500px; }
    main #subpage.spot_event_detail article .visual li img {
      width: 100%;
      height: 500px;
      object-fit: cover; }
    main #subpage.spot_event_detail article .visual li:nth-child(n+2) {
      width: 50%;
      height: 300px; }
  main #subpage.spot_event_detail article .visual.typ2 li {
    height: 800px; }
    main #subpage.spot_event_detail article .visual.typ2 li img {
      height: 800px; }
main #subpage.spot_event_detail article h1 {
  font-size: 3.0rem;
  padding: 30px 20px 20px;
  line-height: 130%; }
  main #subpage.spot_event_detail article h1 span {
    display: block;
    font-size: 1.8rem; }
main #subpage.spot_event_detail article h2.subtitle {
  font-size: 2.5rem;
  text-align: center;
  padding: 40px 10px 20px; }
  main #subpage.spot_event_detail article h2.subtitle strong {
    font-weight: normal !important;
    position: relative;
    display: inline-block;
    padding: 0 55px; }
    main #subpage.spot_event_detail article h2.subtitle strong:before, main #subpage.spot_event_detail article h2.subtitle strong:after {
      content: '';
      position: absolute;
      top: 50%;
      display: inline-block;
      width: 45px;
      height: 1px;
      background-color: #5B5A5A; }
    main #subpage.spot_event_detail article h2.subtitle strong:before {
      left: 0; }
    main #subpage.spot_event_detail article h2.subtitle strong:after {
      right: 0; }
main #subpage.spot_event_detail article .point {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; }
  main #subpage.spot_event_detail article .point li {
    font-size: 1.4rem;
    text-align: center;
    width: 20%;
    cursor: pointer;
    padding-bottom: 10px; }
    main #subpage.spot_event_detail article .point li a {
      color: #313337; }
    main #subpage.spot_event_detail article .point li:hover {
      opacity: 0.8; }
    main #subpage.spot_event_detail article .point li div.img {
      overflow: hidden;
      width: 100%;
      height: 130px; }
      main #subpage.spot_event_detail article .point li div.img img {
        width: 100%;
        height: 130px;
        object-fit: cover; }
main #subpage.spot_event_detail article .detail {
  padding: 20px 40px 20px; }
main #subpage.spot_event_detail article .eventlist {
  padding-top: 0;
  color: #fff; }
  main #subpage.spot_event_detail article .eventlist a {
    color: #fff; }
    main #subpage.spot_event_detail article .eventlist a:hover {
      opacity: 0.8; }
main #subpage.event article .eventlist {
  padding-top: 30px;
  color: #fff; }
  main #subpage.event article .eventlist a {
    color: #fff; }
    main #subpage.event article .eventlist a:hover {
      opacity: 0.8; }
  main #subpage.event article .eventlist_items li {
    margin-bottom: 1px solid #fff; }
main #subpage.event .btn {
  width: 80%;
  max-width: 500px;
  margin: 10px auto;
  color: #313337;
  font-size: 1.8rem;
  background: transparent;
  padding: 20px 0;
  text-align: center;
  border: 1px solid #313337;
  position: relative;
  z-index: 1;
  display: inline-block;
  overflow: hidden;
  transition: .3s; }
  main #subpage.event .btn::before {
    content: "";
    width: 150%;
    position: absolute;
    top: 0;
    right: -0px;
    z-index: -1;
    border-right: 60px solid transparent;
    border-bottom: 5em solid #313337;
    transform: translateX(-100%);
    transition: transform ease .8s; }
  main #subpage.event .btn:hover {
    color: #fff; }
  main #subpage.event .btn:hover::before {
    width: 150%;
    transform: translateX(30%); }
main #subpage.spot .spotlist {
  padding: 40px 17px; }
  main #subpage.spot .spotlist a {
    color: #313337;
    text-decoration: none; }
    main #subpage.spot .spotlist a:hover h2 {
      text-decoration: underline; }
main #subpage.spot .spotlist_items {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  position: relative; }
  main #subpage.spot .spotlist_items.preparation {
    overflow-y: hidden;
    height: 700px; }
  main #subpage.spot .spotlist_items li {
    width: 50%;
    position: relative;
    text-align: left;
    padding: 10px; }
    main #subpage.spot .spotlist_items li.preparation {
      width: 100%;
      top: 80px;
      height: 100%;
      text-align: center;
      position: absolute;
      z-index: 99;
      background: linear-gradient(180deg, rgba(238, 236, 236, 0) 52%, #eeecec 76%); }
    main #subpage.spot .spotlist_items li .img {
      overflow: hidden;
      height: 300px; }
      main #subpage.spot .spotlist_items li .img img {
        transition: 1s all;
        width: 100%;
        height: 300px;
        object-fit: cover; }
    main #subpage.spot .spotlist_items li a:hover h2 {
      text-decoration: underline; }
    main #subpage.spot .spotlist_items li a:hover .img img {
      transform: scale(1.1, 1.1);
      transition: 1s all; }
    main #subpage.spot .spotlist_items li h2 {
      line-height: 100%;
      font-size: 1.6rem;
      letter-spacing: 5px;
      padding: 10px 10px 0 0; }
      main #subpage.spot .spotlist_items li h2 span {
        display: block;
        font-size: 1.5rem;
        letter-spacing: 3px;
        padding-bottom: 5px; }
    main #subpage.spot .spotlist_items li span.typ {
      letter-spacing: 1px;
      position: absolute;
      top: 20px;
      right: 20px;
      padding: 3px 3px 3px 5px;
      display: inline-block;
      font-size: 1.3rem;
      color: #fff;
      border: 1px solid #fff;
      background: #313337; }
    main #subpage.spot .spotlist_items li span.txt {
      font-size: 1.2rem;
      letter-spacing: 1px; }
main #subpage.spot .btn {
  width: 80%;
  max-width: 500px;
  margin: 10px auto;
  color: #313337;
  font-size: 1.8rem;
  background: transparent;
  padding: 20px 0;
  text-align: center;
  border: 1px solid #313337;
  position: relative;
  z-index: 1;
  display: inline-block;
  overflow: hidden;
  transition: .3s; }
  main #subpage.spot .btn::before {
    content: "";
    width: 150%;
    position: absolute;
    top: 0;
    right: -0px;
    z-index: -1;
    border-right: 60px solid transparent;
    border-bottom: 5em solid #313337;
    transform: translateX(-100%);
    transition: transform ease .8s; }
  main #subpage.spot .btn:hover {
    color: #fff; }
  main #subpage.spot .btn:hover::before {
    width: 150%;
    transform: translateX(30%); }
@keyframes fade-in {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
main #subpage.project.fennel article {
  text-align: center;
  padding-bottom: 50px; }
  main #subpage.project.fennel article h1 {
    text-align: center;
    font-size: 2.5rem;
    letter-spacing: 8px;
    padding-bottom: 30px; }
  main #subpage.project.fennel article h2 {
    display: inline-block;
    background: #313337;
    color: #fff;
    font-size: 1.6rem;
    letter-spacing: 2px;
    padding: 2px 5px 2px 5px;
    margin: 30px 0 10px; }
  main #subpage.project.fennel article .merit {
    display: inline-block;
    text-align: left; }
    main #subpage.project.fennel article .merit li {
      list-style: disc;
      padding-bottom: 10px;
      margin-left: 1.5em; }
    main #subpage.project.fennel article .merit_all {
      border: 1px solid #313337;
      padding: 10px;
      margin: 30px auto;
      max-width: 700px; }
  main #subpage.project.fennel article .schedule {
    display: flex;
    justify-content: center; }
    main #subpage.project.fennel article .schedule li {
      width: 30%;
      margin: 0 1%;
      background: #fff;
      padding: 0; }
      main #subpage.project.fennel article .schedule li h3 {
        background: #313337;
        color: #fff;
        padding: 10px;
        line-height: 100%; }
      main #subpage.project.fennel article .schedule li p {
        text-align: left;
        padding: 10px; }
main #subpage.project.murozumi_movie {
  padding: 0 0 20px !important; }
  main #subpage.project.murozumi_movie article {
    margin-bottom: 50px;
    background: #262626;
    max-width: none !important; }
  main #subpage.project.murozumi_movie h1 {
    font-size: 0;
    text-align: center;
    background: url("../project/img/murozumi_movie/main_bg.jpg") no-repeat top;
    background-size: cover; }
    main #subpage.project.murozumi_movie h1 img {
      max-width: 1100px;
      animation: fade-in 3s;
      animation-fill-mode: forwards; }
  main #subpage.project.murozumi_movie .btn {
    width: 80%;
    max-width: 500px;
    margin: 10px auto;
    color: #fff;
    font-size: 1.8rem;
    background: transparent;
    padding: 10px 0;
    text-align: center;
    border: 1px solid #fff;
    position: relative;
    z-index: 1;
    display: inline-block;
    overflow: hidden;
    transition: .3s; }
    main #subpage.project.murozumi_movie .btn::before {
      content: "";
      width: 150%;
      position: absolute;
      top: 0;
      right: -0px;
      z-index: -1;
      border-right: 60px solid transparent;
      border-bottom: 5em solid #fff;
      transform: translateX(-100%);
      transition: transform ease .8s; }
    main #subpage.project.murozumi_movie .btn:hover {
      color: #191818; }
    main #subpage.project.murozumi_movie .btn:hover::before {
      width: 150%;
      transform: translateX(30%); }
  main #subpage.project.murozumi_movie .movie {
    text-align: center;
    color: #fff; }
    main #subpage.project.murozumi_movie .movie h2 {
      font-size: 2.2rem;
      margin-bottom: 20px;
      letter-spacing: 3px; }
    main #subpage.project.murozumi_movie .movie section {
      max-width: 800px; }
    main #subpage.project.murozumi_movie .movie .youtube {
      width: 100%;
      aspect-ratio: 16 / 9;
      text-align: center; }
      main #subpage.project.murozumi_movie .movie .youtube iframe {
        width: 100%;
        height: 100%;
        margin: 0 auto; }
    main #subpage.project.murozumi_movie .movie p {
      font-size: 1.4rem; }
    main #subpage.project.murozumi_movie .movie ul {
      padding-top: 10px; }
    main #subpage.project.murozumi_movie .movie a {
      color: #fff; }
  main #subpage.project.murozumi_movie .about {
    background: url("../project/img/murozumi_movie/about.png") no-repeat bottom;
    background-size: cover;
    color: #fff;
    text-shadow: 0px 0px 6px #1B6A77, 0px 0px 6px #1B6A77, 0px 0px 6px #1B6A77, 0px 0px 6px #1B6A77, 0px 0px 6px #1B6A77;
    text-align: center; }
    main #subpage.project.murozumi_movie .about h2 {
      font-size: 2.5rem;
      margin-bottom: 30px;
      letter-spacing: 3px; }
    main #subpage.project.murozumi_movie .about p {
      line-height: 200%;
      padding-bottom: 20px; }
  main #subpage.project.murozumi_movie .box {
    text-align: center;
    color: #fff; }
    main #subpage.project.murozumi_movie .box section {
      padding: 100px 20px 0; }
    main #subpage.project.murozumi_movie .box img {
      max-width: 540px; }
    main #subpage.project.murozumi_movie .box h2 {
      font-size: 1.9rem;
      margin: 10px 0; }
    main #subpage.project.murozumi_movie .box p {
      font-size: 1.3rem;
      padding-bottom: 10px; }
    main #subpage.project.murozumi_movie .box a {
      color: #EBEBEB; }
    main #subpage.project.murozumi_movie .box.model03 section {
      padding-bottom: 100px; }
    main #subpage.project.murozumi_movie .box.director section {
      padding-top: 20px;
      padding-bottom: 100px; }
    main #subpage.project.murozumi_movie .box.director .director_img {
      line-height: 100%;
      background: url("../project/img/murozumi_movie/director_bg.png") no-repeat;
      background-size: cover;
      font-size: 0; }
    main #subpage.project.murozumi_movie .box.director h2 {
      margin-bottom: 20px; }
      main #subpage.project.murozumi_movie .box.director h2 span {
        display: block;
        padding-bottom: 10px;
        font-size: 1.4rem;
        letter-spacing: 3px; }
    main #subpage.project.murozumi_movie .box.director img {
      max-width: 700px; }
    main #subpage.project.murozumi_movie .box.director .director_txt {
      text-align: left;
      background: #434343;
      padding: 30px;
      max-width: 700px;
      margin: 0 auto; }
      main #subpage.project.murozumi_movie .box.director .director_txt p {
        font-size: 1.4rem;
        line-height: 150%;
        padding-bottom: 20px; }
    main #subpage.project.murozumi_movie .box.director .director_txt_sub {
      border: 1px solid #7E7E7E;
      padding: 20px;
      margin-bottom: 10px; }
      main #subpage.project.murozumi_movie .box.director .director_txt_sub p {
        padding-bottom: 0; }
      main #subpage.project.murozumi_movie .box.director .director_txt_sub h3 {
        font-weight: bold; }
    main #subpage.project.murozumi_movie .box.thanks {
      background: url("../project/img/murozumi_movie/thanks.jpg") no-repeat bottom;
      background-size: cover; }
      main #subpage.project.murozumi_movie .box.thanks section {
        padding: 50px 0; }
        main #subpage.project.murozumi_movie .box.thanks section h3 {
          padding-top: 20px; }
main #subpage.ushima.higaeri .detail {
  background: #1B62AB;
  padding-bottom: 50px; }
  main #subpage.ushima.higaeri .detail_menu {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    padding: 0 0 20px; }
    main #subpage.ushima.higaeri .detail_menu li {
      padding: 5px; }
    main #subpage.ushima.higaeri .detail_menu a {
      display: block;
      background: #ff8600;
      width: 15em;
      color: #fff;
      padding: 10px;
      border-radius: 10px; }
  main #subpage.ushima.higaeri .detail_box {
    padding: 10px 16px;
    text-align: center;
    color: #fff; }
    main #subpage.ushima.higaeri .detail_box h2 {
      background: #fff;
      display: inline-block;
      border-radius: 50px;
      color: #1B62AB;
      padding: 5px 20px;
      font-weight: bold;
      margin-bottom: 10px; }
    main #subpage.ushima.higaeri .detail_box p {
      padding-bottom: 10px; }
    main #subpage.ushima.higaeri .detail_box h3 {
      border-top: 1px solid #fff;
      border-bottom: 1px solid #fff;
      padding: 10px;
      margin: 20px; }
    main #subpage.ushima.higaeri .detail_box .plan_img {
      max-width: 801px; }
    main #subpage.ushima.higaeri .detail_box .plan_disc {
      background: rgba(255, 255, 255, 0.16);
      padding: 5px;
      font-size: 13px; }
    main #subpage.ushima.higaeri .detail_box_bg {
      background-repeat: no-repeat;
      background-size: auto 100%;
      background-image: url("../../ushima/img/higaeri_bg01.png"); }
  main #subpage.ushima.higaeri .detail_txt {
    text-align: left;
    margin: 10px auto 40px;
    font-size: 13px;
    max-width: 800px; }
    main #subpage.ushima.higaeri .detail_txt td, main #subpage.ushima.higaeri .detail_txt th {
      border: 2px solid #1B62AB;
      padding: 10px; }
    main #subpage.ushima.higaeri .detail_txt th {
      vertical-align: top;
      width: 15em;
      background: #589de4; }
    main #subpage.ushima.higaeri .detail_txt td {
      background: #144478; }
    main #subpage.ushima.higaeri .detail_txt .red {
      color: #ff5255 !important; }
    main #subpage.ushima.higaeri .detail_txt .cancel_table td, main #subpage.ushima.higaeri .detail_txt .cancel_table th {
      padding: 5px 10px;
      border: 1px solid #1B62AB;
      background: none;
      width: auto;
      color: #313337;
      text-align: center; }
    main #subpage.ushima.higaeri .detail_txt .cancel_table th {
      color: #fff;
      font-weight: bold;
      background: #3A79AE; }
    main #subpage.ushima.higaeri .detail_txt .cancel_table tr {
      background: #fff; }
    main #subpage.ushima.higaeri .detail_txt .cancel_table tr:nth-child(2n+1) {
      background: #F0FFFF; }
  main #subpage.ushima.higaeri .detail .schedule_txt {
    text-align: left;
    margin: 10px auto 40px;
    font-size: 13px;
    max-width: 800px; }
    main #subpage.ushima.higaeri .detail .schedule_txt td, main #subpage.ushima.higaeri .detail .schedule_txt th {
      border: 1px solid #9BBDDB;
      padding: 10px; }
    main #subpage.ushima.higaeri .detail .schedule_txt th {
      text-align: center;
      background: #4887BD; }
    main #subpage.ushima.higaeri .detail .schedule_txt a {
      color: #fff;
      text-decoration: underline; }
    main #subpage.ushima.higaeri .detail .schedule_txt .top {
      border: none;
      background: none;
      padding: 0; }
  main #subpage.ushima.higaeri .detail .schedule_photo {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 900px;
    margin: 0 auto; }
    main #subpage.ushima.higaeri .detail .schedule_photo li {
      font-size: 1.4rem;
      text-align: center;
      width: 30%;
      cursor: pointer;
      padding: 5px; }
      main #subpage.ushima.higaeri .detail .schedule_photo li a {
        color: #313337; }
      main #subpage.ushima.higaeri .detail .schedule_photo li:hover {
        opacity: 0.8; }
      main #subpage.ushima.higaeri .detail .schedule_photo li div.img {
        overflow: hidden;
        width: 100%;
        height: 130px; }
        main #subpage.ushima.higaeri .detail .schedule_photo li div.img img {
          width: 100%;
          object-fit: cover; }
main #subpage.ushima.higaeri .reserve {
  padding: 50px 0;
  text-align: center; }
  main #subpage.ushima.higaeri .reserve h2 {
    display: inline-block;
    padding: 5px 20px;
    border: 2px solid #313337;
    margin-bottom: 30px; }
  main #subpage.ushima.higaeri .reserve .calendar {
    background: #fff;
    padding: 0 10px;
    margin-bottom: 30px; }
    main #subpage.ushima.higaeri .reserve .calendar iframe {
      width: 100%;
      padding: 20px 0; }
  main #subpage.ushima.higaeri .reserve .plan1 {
    background: #668CD9;
    color: #fff;
    padding: 3px 5px; }
  main #subpage.ushima.higaeri .reserve .plan2 {
    background: #41A587;
    color: #fff;
    padding: 3px 5px; }
  main #subpage.ushima.higaeri .reserve p {
    padding-bottom: 10px; }
  main #subpage.ushima.higaeri .reserve_form {
    text-align: left;
    display: flex;
    flex-wrap: wrap;
    max-width: 800px;
    margin: 0 auto 20px; }
    main #subpage.ushima.higaeri .reserve_form input, main #subpage.ushima.higaeri .reserve_form select, main #subpage.ushima.higaeri .reserve_form textarea {
      border: 1px solid #7f7f7f; }
    main #subpage.ushima.higaeri .reserve_form input[type=date] {
      width: 10em;
      height: 2em;
      padding: 5px; }
    main #subpage.ushima.higaeri .reserve_form input[type="radio"] {
      position: relative;
      width: 16px;
      height: 16px;
      border: 1px solid #000;
      border-radius: 50%;
      vertical-align: -2px;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none; }
    main #subpage.ushima.higaeri .reserve_form input[type="radio"]:checked:before {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 9px;
      height: 9px;
      border-radius: 50%;
      background: #000;
      content: ''; }
    main #subpage.ushima.higaeri .reserve_form dt {
      padding: 10px;
      width: 30%;
      background: #1B62AB;
      color: #fff;
      border-bottom: 5px solid #EEECEC; }
    main #subpage.ushima.higaeri .reserve_form dd {
      padding: 10px;
      background: #fff;
      width: 70%;
      border-bottom: 5px solid #EEECEC; }
      main #subpage.ushima.higaeri .reserve_form dd span {
        display: block; }
    main #subpage.ushima.higaeri .reserve_form .required {
      color: red;
      font-size: 12px; }
  main #subpage.ushima.higaeri .reserve .form_btn {
    width: 100%;
    max-width: 200px;
    height: 40px;
    background-color: #e83f22;
    border: none;
    color: #fff;
    text-align: center;
    cursor: pointer; }
main #subpage.ushima .floating_btn {
  line-height: 100%; }
  main #subpage.ushima .floating_btn .btn_tour {
    border-radius: 200px;
    display: inline-block;
    background: #F1621B;
    color: #fff;
    padding: 10px 20px; }
main #subpage.tour article {
  padding: 16px; }
main #subpage.tour .tour_menu {
  display: flex;
  flex-wrap: wrap;
  max-width: 800px;
  margin: 30px auto;
  justify-content: center; }
  main #subpage.tour .tour_menu li {
    width: 20%;
    max-width: 180px;
    margin: 0 5px; }
    main #subpage.tour .tour_menu li a, main #subpage.tour .tour_menu li span {
      background: #313337;
      border-radius: 10px;
      color: #fff;
      display: block;
      padding: 10px; }
    main #subpage.tour .tour_menu li span {
      background: #878B95; }
main #subpage.tour .guide {
  border: 1px solid #313337;
  padding: 20px;
  max-width: 800px;
  margin: 0 auto 30px;
  display: flex; }
  main #subpage.tour .guideimg {
    padding-right: 20px;
    max-width: 250px;
    overflow: hidden;
    width: 100%; }
    main #subpage.tour .guideimg img {
      width: 100%;
      object-fit: cover; }
  main #subpage.tour .guide_box h2 {
    font-weight: bold;
    border-bottom: solid 3px #838383;
    position: relative;
    margin-bottom: 10px; }
    main #subpage.tour .guide_box h2:after {
      position: absolute;
      content: " ";
      display: block;
      border-bottom: solid 3px #B2282A;
      bottom: -3px;
      width: 30%; }
  main #subpage.tour .guide_box .name {
    margin-bottom: 20px; }
    main #subpage.tour .guide_box .name strong {
      font-size: 1.5em; }
      main #subpage.tour .guide_box .name strong small {
        font-size: 0.2em;
        font-weight: normal; }
main #subpage.tour .tour_box {
  background: #fff;
  padding: 20px;
  max-width: 800px;
  margin: 10px auto 30px; }
  main #subpage.tour .tour_boxall {
    padding-top: 20px; }
  main #subpage.tour .tour_box h2 {
    position: relative;
    padding: 1.5rem;
    text-align: center;
    border: 2px solid #000;
    background: #fff;
    margin-bottom: 20px;
    font-size: 1.8rem;
    font-weight: bold; }
    main #subpage.tour .tour_box h2:before, main #subpage.tour .tour_box h2:after {
      position: absolute;
      content: ''; }
    main #subpage.tour .tour_box h2:before {
      top: -40px;
      left: calc(50% - 40px);
      width: 80px;
      height: 80px;
      border: 2px solid #000;
      border-radius: 50%;
      background: #fff; }
    main #subpage.tour .tour_box h2:after {
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: #fff; }
    main #subpage.tour .tour_box h2 i {
      font-size: 30px;
      font-size: 3rem;
      line-height: 60px;
      position: absolute;
      z-index: 1;
      top: -40px;
      left: calc(50% - 40px);
      width: 80px;
      height: 60px;
      text-align: center;
      font-family: "Material Symbols Outlined";
      letter-spacing: 0; }
      main #subpage.tour .tour_box h2 i span {
        padding-left: 0 !important;
        font-size: 4.0rem; }
    main #subpage.tour .tour_box h2 span {
      position: relative;
      z-index: 1; }
  main #subpage.tour .tour_box .photo {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 20px;
    max-width: 700px;
    margin: 20px auto 0; }
    main #subpage.tour .tour_box .photo li {
      font-size: 1.4rem;
      text-align: center;
      width: 25%;
      cursor: pointer;
      padding: 5px; }
      main #subpage.tour .tour_box .photo li a {
        color: #313337; }
      main #subpage.tour .tour_box .photo li:hover {
        opacity: 0.8; }
      main #subpage.tour .tour_box .photo li div.img {
        overflow: hidden;
        width: 100%; }
        main #subpage.tour .tour_box .photo li div.img img {
          height: 130px;
          width: 100%;
          object-fit: cover; }
      main #subpage.tour .tour_box .photo li:first-of-type {
        width: 100%; }
        main #subpage.tour .tour_box .photo li:first-of-type div.img {
          height: 250px; }
          main #subpage.tour .tour_box .photo li:first-of-type div.img img {
            height: 250px; }
  main #subpage.tour .tour_box .btn {
    margin: 20px 0 10px;
    border: 2px solid #F0A522;
    text-align: center;
    color: #fff;
    display: inline-block;
    background: #F0A522;
    padding: 15px 30px;
    border-radius: 50px;
    min-width: 400px;
    letter-spacing: 1px;
    font-size: 1.8rem;
    transition: 1s all; }
    main #subpage.tour .tour_box .btn:hover {
      background: #FFF;
      color: #F0A522;
      transition: 1s all; }
    main #subpage.tour .tour_box .btn.typ2 {
      border: 2px solid #5B5A5A;
      color: #5B5A5A;
      background: #fff; }
      main #subpage.tour .tour_box .btn.typ2:hover {
        background: #FFF;
        color: #5B5A5A; }
main #subpage.tour_detail .detail h1 {
  overflow: hidden;
  width: 100%;
  height: 250px;
  margin-bottom: 20px; }
  main #subpage.tour_detail .detail h1 img {
    width: 100%;
    object-fit: cover; }
main #subpage.tour_detail .detail_menu {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  padding: 0 0 20px; }
  main #subpage.tour_detail .detail_menu li {
    padding: 5px; }
  main #subpage.tour_detail .detail_menu a {
    display: block;
    background: #ff8600;
    width: 15em;
    color: #fff;
    padding: 10px;
    border-radius: 10px; }
  main #subpage.tour_detail .detail_menu_sub {
    display: inline-block;
    background: #7BA969;
    width: 80%;
    max-width: 500px;
    color: #fff;
    padding: 10px;
    border-radius: 10px; }
main #subpage.tour_detail .detail_box {
  padding: 10px 16px;
  text-align: center; }
  main #subpage.tour_detail .detail_box h2 {
    background: #fff;
    display: inline-block;
    border-radius: 50px;
    color: #1B62AB;
    padding: 5px 20px;
    font-weight: bold;
    margin-bottom: 10px; }
  main #subpage.tour_detail .detail_box p {
    padding-bottom: 10px; }
  main #subpage.tour_detail .detail_box h3 {
    background: #fff;
    font-weight: bold;
    border-top: 1px solid #313337;
    border-bottom: 1px solid #313337;
    padding: 10px;
    margin: 20px; }
main #subpage.tour_detail .detail_txt {
  text-align: left;
  margin: 10px auto 40px;
  font-size: 14px;
  max-width: 800px; }
  main #subpage.tour_detail .detail_txt td, main #subpage.tour_detail .detail_txt th {
    border: 1px solid #313337;
    padding: 10px; }
  main #subpage.tour_detail .detail_txt th {
    vertical-align: top;
    width: 15em;
    background: #979797;
    color: #fff; }
  main #subpage.tour_detail .detail_txt .cancel_table td, main #subpage.tour_detail .detail_txt .cancel_table th {
    padding: 5px 10px;
    border: 1px solid #1B62AB;
    background: none;
    width: auto;
    color: #313337;
    text-align: center; }
  main #subpage.tour_detail .detail_txt .cancel_table th {
    color: #fff;
    font-weight: bold;
    background: #3A79AE; }
  main #subpage.tour_detail .detail_txt .cancel_table tr {
    background: #fff; }
  main #subpage.tour_detail .detail_txt .cancel_table tr:nth-child(2n+1) {
    background: #F0FFFF; }
main #subpage.tour_detail .detail .schedule_txt {
  text-align: left;
  margin: 10px auto 40px;
  font-size: 14px;
  width: 100%;
  max-width: 800px; }
  main #subpage.tour_detail .detail .schedule_txt td, main #subpage.tour_detail .detail .schedule_txt th {
    border: 1px solid #313337;
    padding: 10px; }
  main #subpage.tour_detail .detail .schedule_txt th {
    width: 10em;
    text-align: center;
    background: #E3C1C1; }
  main #subpage.tour_detail .detail .schedule_txt .top {
    border: none;
    background: none;
    padding: 0; }
main #subpage.tour_detail .detail .schedule_photo {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 900px;
  margin: 0 auto; }
  main #subpage.tour_detail .detail .schedule_photo li {
    font-size: 1.4rem;
    text-align: center;
    width: 30%;
    cursor: pointer;
    padding: 5px; }
    main #subpage.tour_detail .detail .schedule_photo li a {
      color: #313337; }
    main #subpage.tour_detail .detail .schedule_photo li:hover {
      opacity: 0.8; }
    main #subpage.tour_detail .detail .schedule_photo li div.img {
      overflow: hidden;
      width: 100%;
      height: 130px; }
      main #subpage.tour_detail .detail .schedule_photo li div.img img {
        width: 100%;
        object-fit: cover; }
main #subpage.tour_detail .reserve {
  padding: 50px 0;
  text-align: center; }
  main #subpage.tour_detail .reserve h2 {
    display: inline-block;
    padding: 5px 20px;
    border: 2px solid #313337;
    margin-bottom: 30px; }
  main #subpage.tour_detail .reserve .calendar {
    background: #fff;
    padding: 0 10px;
    margin-bottom: 30px; }
    main #subpage.tour_detail .reserve .calendar iframe {
      width: 100%;
      padding: 20px 0; }
  main #subpage.tour_detail .reserve .plan_yama01 {
    background: #E6804D;
    color: #fff;
    padding: 3px 5px; }
  main #subpage.tour_detail .reserve .plan_yama02 {
    background: #41A587;
    color: #fff;
    padding: 3px 5px; }
  main #subpage.tour_detail .reserve .plan_murozumi {
    background: #914D14;
    color: #fff;
    padding: 3px 5px; }
  main #subpage.tour_detail .reserve p {
    padding-bottom: 10px; }
  main #subpage.tour_detail .reserve_form {
    text-align: left;
    display: flex;
    flex-wrap: wrap;
    max-width: 800px;
    margin: 0 auto 20px; }
    main #subpage.tour_detail .reserve_form input, main #subpage.tour_detail .reserve_form select, main #subpage.tour_detail .reserve_form textarea {
      border: 1px solid #7f7f7f; }
    main #subpage.tour_detail .reserve_form input[type=date] {
      width: 10em;
      height: 2em;
      padding: 5px; }
    main #subpage.tour_detail .reserve_form input[type="radio"] {
      position: relative;
      width: 16px;
      height: 16px;
      border: 1px solid #000;
      border-radius: 50%;
      vertical-align: -2px;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none; }
    main #subpage.tour_detail .reserve_form input[type="radio"]:checked:before {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 9px;
      height: 9px;
      border-radius: 50%;
      background: #000;
      content: ''; }
    main #subpage.tour_detail .reserve_form dt {
      padding: 10px;
      width: 30%;
      background: #1B62AB;
      color: #fff;
      border-bottom: 5px solid #EEECEC; }
    main #subpage.tour_detail .reserve_form dd {
      padding: 10px;
      background: #fff;
      width: 70%;
      border-bottom: 5px solid #EEECEC; }
      main #subpage.tour_detail .reserve_form dd span {
        display: block; }
    main #subpage.tour_detail .reserve_form .required {
      color: red;
      font-size: 12px; }
  main #subpage.tour_detail .reserve .form_btn {
    width: 100%;
    max-width: 200px;
    height: 40px;
    background-color: #e83f22;
    border: none;
    color: #fff;
    text-align: center;
    cursor: pointer; }
main #subpage.tour_detail .floating_btn {
  line-height: 100%; }
  main #subpage.tour_detail .floating_btn .btn_tour {
    border-radius: 200px;
    display: inline-block;
    background: #F1621B;
    color: #fff;
    padding: 10px 20px; }
main #subpage.staying article {
  padding: 16px; }
main #subpage.staying .tour_menu {
  display: flex;
  flex-wrap: wrap;
  max-width: 800px;
  margin: 30px auto;
  justify-content: center; }
  main #subpage.staying .tour_menu li {
    width: 20%;
    max-width: 180px;
    margin: 0 5px; }
    main #subpage.staying .tour_menu li a, main #subpage.staying .tour_menu li span {
      background: #313337;
      border-radius: 10px;
      color: #fff;
      display: block;
      padding: 10px; }
    main #subpage.staying .tour_menu li span {
      background: #878B95; }
main #subpage.staying h2 {
  position: relative;
  display: inline-block;
  padding: 0 55px;
  font-size: 2.0rem;
  margin-bottom: 30px; }
  main #subpage.staying h2:before, main #subpage.staying h2:after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 45px;
    height: 1px;
    background-color: black; }
  main #subpage.staying h2:before {
    left: 0; }
  main #subpage.staying h2:after {
    right: 0; }
main #subpage.staying .staying_box {
  background: #fff;
  padding: 20px;
  max-width: 800px;
  margin: 10px auto 30px; }
  main #subpage.staying .staying_boxall {
    padding-top: 20px; }
  main #subpage.staying .staying_box h3 {
    position: relative;
    padding: 1.5rem;
    text-align: center;
    border: 2px solid #000;
    background: #fff;
    margin-bottom: 20px;
    font-size: 1.8rem;
    font-weight: bold; }
    main #subpage.staying .staying_box h3:before, main #subpage.staying .staying_box h3:after {
      position: absolute;
      content: ''; }
    main #subpage.staying .staying_box h3:before {
      top: -40px;
      left: calc(50% - 40px);
      width: 80px;
      height: 80px;
      border: 2px solid #000;
      border-radius: 50%;
      background: #fff; }
    main #subpage.staying .staying_box h3:after {
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: #fff; }
    main #subpage.staying .staying_box h3 i {
      font-size: 30px;
      font-size: 3rem;
      line-height: 60px;
      position: absolute;
      z-index: 1;
      top: -40px;
      left: calc(50% - 40px);
      width: 80px;
      height: 60px;
      text-align: center;
      letter-spacing: 0; }
      main #subpage.staying .staying_box h3 i:before {
        font-family: "Material Symbols Outlined";
        content: "\e589";
        font-size: 4.0rem;
        font-weight: normal; }
      main #subpage.staying .staying_box h3 i.hotel:before {
        content: "\ea40"; }
    main #subpage.staying .staying_box h3 span {
      position: relative;
      z-index: 1; }
  main #subpage.staying .staying_box .photo {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 20px;
    max-width: 700px;
    margin: 20px auto 0; }
    main #subpage.staying .staying_box .photo li {
      font-size: 1.4rem;
      text-align: center;
      width: 25%;
      cursor: pointer;
      padding: 5px; }
      main #subpage.staying .staying_box .photo li a {
        color: #313337; }
      main #subpage.staying .staying_box .photo li:hover {
        opacity: 0.8; }
      main #subpage.staying .staying_box .photo li div.img {
        overflow: hidden;
        width: 100%;
        height: 130px; }
        main #subpage.staying .staying_box .photo li div.img img {
          width: 100%;
          height: 130px;
          object-fit: cover; }
      main #subpage.staying .staying_box .photo li:first-of-type {
        width: 100%; }
        main #subpage.staying .staying_box .photo li:first-of-type div.img {
          height: 250px; }
          main #subpage.staying .staying_box .photo li:first-of-type div.img img {
            height: 250px; }
      main #subpage.staying .staying_box .photo li.col1 {
        width: 100%; }
        main #subpage.staying .staying_box .photo li.col1 div.img {
          height: 250px; }
          main #subpage.staying .staying_box .photo li.col1 div.img img {
            height: 250px; }
  main #subpage.staying .staying_box .btn {
    margin: 20px 0 10px;
    border: 2px solid #F0A522;
    text-align: center;
    color: #fff;
    display: inline-block;
    background: #F0A522;
    padding: 15px 30px;
    border-radius: 50px;
    min-width: 400px;
    letter-spacing: 1px;
    font-size: 1.8rem;
    transition: 1s all; }
    main #subpage.staying .staying_box .btn:hover {
      background: #FFF;
      color: #F0A522;
      transition: 1s all; }
    main #subpage.staying .staying_box .btn.typ2 {
      border: 2px solid #5B5A5A;
      color: #5B5A5A;
      background: #fff; }
      main #subpage.staying .staying_box .btn.typ2:hover {
        background: #FFF;
        color: #5B5A5A; }
main #subpage.about article {
  padding: 16px 16px 40px;
  max-width: 800px; }
  main #subpage.about article .top_txt {
    text-align: center;
    font-size: 2.2rem; }
    main #subpage.about article .top_txt_img {
      padding: 20px 0; }
      main #subpage.about article .top_txt_img img {
        width: 70%; }
  main #subpage.about article h2 {
    text-align: center;
    font-size: 2.0rem;
    padding: 10px;
    margin: 20px 0 20px;
    border-bottom: 1px solid #5B5A5A; }
  main #subpage.about article ul li strong {
    font-size: 1.6rem;
    display: inline-block;
    padding: 0 0 10px; }
  main #subpage.about article h3 {
    background: #d5d5d5;
    padding: 10px;
    margin-bottom: 20px;
    margin-top: 20px; }
  main #subpage.about article .img {
    padding: 20px 0 0 0; }
    main #subpage.about article .img img {
      width: 50%; }
  main #subpage.about article .btn {
    width: 80%;
    max-width: 500px;
    margin: 10px auto;
    color: #313337;
    font-size: 1.8rem;
    background: transparent;
    padding: 20px 0;
    text-align: center;
    border: 1px solid #313337;
    position: relative;
    z-index: 1;
    display: inline-block;
    overflow: hidden;
    transition: .3s; }
    main #subpage.about article .btn::before {
      content: "";
      width: 150%;
      position: absolute;
      top: 0;
      right: -0px;
      z-index: -1;
      border-right: 60px solid transparent;
      border-bottom: 5em solid #313337;
      transform: translateX(-100%);
      transition: transform ease .8s; }
    main #subpage.about article .btn:hover {
      color: #fff; }
    main #subpage.about article .btn:hover::before {
      width: 150%;
      transform: translateX(30%); }
