@charset "UTF-8";
/* Scss Document */
@import url("https://fonts.googleapis.com/css2?family=Jost:wght@500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Marcellus+SC&display=swap");
.number01 {
  font-family: 'Jost', sans-serif; }

.font-marcellus-sc {
  font-family: 'Marcellus SC', serif; }

.cfix:after {
  content: '';
  display: table;
  clear: both; }

.rep {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden; }

h2 {
  font-size: 110%; }

@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: 0.001dpcm) {
  body {
    image-rendering: -webkit-optimize-contrast; } }
/* コンテンツ横サイズ */
.inner {
  height: 100%;
  width: 85%;
  margin: 0 auto;
  position: relative; }
  @media screen and (max-width: 480px) {
    .inner {
      width: 92%; } }

a img:hover {
  opacity: 0.5;
  transition: all .5s ease;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden; }

.fr40 {
  width: calc(40% - 0.2rem);
  display: inline-block;
  vertical-align: top; }

.fr60 {
  width: calc(60% - 0.2rem);
  display: inline-block;
  vertical-align: top; }

ul.col {
  text-align: left;
  font-size: 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
  ul.col li {
    width: 100%;
    margin: 1rem 0;
    text-align: center;
    font-size: 1rem; }
    ul.col li dd {
      overflow: hidden; }
    ul.col li img {
      width: 100%;
      height: auto;
      object-fit: cover; }

ul.col.sameHeightImg li img {
  height: 100% !important; }

ul.col.free {
  display: flex; }
  ul.col.free li {
    display: flex;
    justify-content: center;
    align-items: center; }

ul.col.asp li img {
  height: 25vw; }
  @media screen and (max-width: 480px) {
    ul.col.asp li img {
      height: 40vw; } }

ul.col.circle li {
  text-align: center;
  display: inline-block; }
  ul.col.circle li img {
    border-radius: 100%;
    border: 1px solid #989898;
    aspect-ratio: 1 / 1; }

.col1-30 li img {
  width: 30% !important; }

.col1-40 li img {
  width: 40% !important; }

.col1-50 li img {
  width: 50% !important; }

.col1-60 li img {
  width: 60% !important; }

.col1-70 li img {
  width: 70% !important; }

.col1-80 li img {
  width: 80% !important; }

.col2 li {
  width: calc(50% - 2.1%) !important;
  display: inline-block; }

.col3 li {
  width: calc(33% - 1%) !important;
  display: inline-block; }

.col4 li {
  width: calc(25% - 1%) !important;
  display: inline-block; }

@media screen and (max-width: 480px) {
  .col1-sp li {
    width: 100% !important;
    display: inline-block; }

  .col2-sp li {
    width: calc(50% - 2.1%) !important;
    display: inline-block; }

  .col3-sp li {
    width: calc(33% - 2%) !important;
    display: inline-block; }

  .col4-sp li {
    width: calc(25% - 2%) !important;
    display: inline-block; }

  .col1-30 li img {
    width: 100% !important; }

  .col1-40 li img {
    width: 100% !important; }

  .col1-50 li img {
    width: 100% !important; }

  .col1-60 li img {
    width: 100% !important; }

  .col1-70 li img {
    width: 100% !important; }

  .col1-80 li img {
    width: 100% !important; } }
ul.row-rev dl {
  display: flex;
  flex-direction: column; }
  ul.row-rev dl dt {
    order: 2;
    margin-top: 0.5rem; }
  ul.row-rev dl dd {
    order: 1; }

div#content :not(#pankuzu) .inner {
  width: 85%; }
  @media screen and (max-width: 480px) {
    div#content :not(#pankuzu) .inner {
      width: 92%; } }

.navi-all nav.gmenu {
  position: absolute;
  right: 0;
  bottom: 1rem;
  line-height: 1.3rem;
  font-size: 1.3rem; }
  @media screen and (max-width: 480px) {
    .navi-all nav.gmenu {
      position: initial;
      margin-top: 1rem; } }
  .navi-all nav.gmenu li {
    display: inline-block;
    margin-left: 1rem; }
    @media screen and (max-width: 480px) {
      .navi-all nav.gmenu li {
        margin-left: inherit; } }

body.profile #m-prof a {
  color: #cf0c0c; }

body.gallery #m-gallery a {
  color: #cf0c0c; }

body.news #m-news a {
  color: #cf0c0c; }

body.exhibition #m-ex a {
  color: #cf0c0c; }

body.contact #m-contact a {
  color: #cf0c0c; }

html {
  height: 100%;
  font-size: 90%;
  font-family: YuGothic, "游ゴシック", "Hiragino Kaku Gothic ProN", Meiryo, "メイリオ", 'ＭＳ Ｐゴシック',sans-serif; }
  html body.top footer {
    color: #FFF; }
  html body.top {
    padding-bottom: 0;
    overflow: hidden; }
    html body.top header {
      background-color: #FFF; }
    html body.top div#content {
      z-index: 0;
      padding-top: 0; }
      html body.top div#content section#mainImage li img {
        width: 100%;
        height: 100vh;
        object-fit: cover; }
    html body.top #page-top {
      display: none; }
  html body {
    min-height: 100vh;
    position: relative;
    padding-bottom: 4rem;
    box-sizing: border-box;
    font-size: 1.1rem;
    letter-spacing: 0.05rem;
    line-height: 1.8;
    color: #070707;
    font-feature-settings: "palt" 1;
    font-weight: 500; }
    html body header {
      z-index: 1;
      background-color: #fff;
      height: 6rem;
      position: absolute;
      top: 0;
      width: 100%;
      display: flex;
      position: fixed;
      justify-content: space-between;
      background: rgba(255, 255, 255, 0.7); }
      @media screen and (max-width: 1000px) {
        html body header {
          height: 7rem; } }
      @media screen and (max-width: 480px) {
        html body header {
          height: 5rem; } }
      html body header h1.site-title {
        position: absolute;
        left: 0%;
        bottom: 1rem;
        font-family: 'Jost', sans-serif;
        height: 3rem; }
        @media screen and (max-width: 1000px) {
          html body header h1.site-title {
            bottom: 3rem; } }
        @media screen and (max-width: 480px) {
          html body header h1.site-title {
            top: 0;
            bottom: 0;
            left: 0;
            margin: auto;
            width: 86%;
            height: 3.2rem; } }
        html body header h1.site-title a {
          font-size: 3rem;
          line-height: 3.3rem;
          font-weight: 900; }
          @media screen and (max-width: 480px) {
            html body header h1.site-title a {
              font-size: 150%; } }
        html body header h1.site-title span {
          font-size: 1.8rem;
          line-height: 1.8rem;
          font-weight: 700;
          margin-left: 1.5rem; }
          @media screen and (max-width: 480px) {
            html body header h1.site-title span {
              margin-left: 0.5rem;
              font-weight: normal;
              font-size: 100%; } }
      @media screen and (max-width: 480px) {
        html body header {
          /*　ハンバーガーメニューボタン　*/
          /* スマホメニューを開いてる時のボタン */
          /* メニュー背景　*/
          /* クリックでjQueryで追加・削除 */ }
          html body header .burger {
            display: block;
            position: fixed;
            z-index: 3;
            right: 18px;
            top: 20px;
            width: 42px;
            height: 42px;
            cursor: pointer;
            text-align: center; }
            html body header .burger span {
              display: block;
              position: absolute;
              width: 30px;
              height: 2px;
              left: 6px;
              background: #BBBBBB;
              -webkit-transition: 0.3s ease-in-out;
              -moz-transition: 0.3s ease-in-out;
              transition: 0.3s ease-in-out; }
            html body header .burger span:nth-child(1) {
              top: 10px; }
            html body header .burger span:nth-child(2) {
              top: 20px; }
            html body header .burger span:nth-child(3) {
              top: 30px; }
          html body header .burger.active span:nth-child(1) {
            top: 16px;
            left: 6px;
            background: #989898;
            -webkit-transform: rotate(-45deg);
            -moz-transform: rotate(-45deg);
            transform: rotate(-45deg); }
          html body header .burger.active span:nth-child(2),
          html body header .burger.active span:nth-child(3) {
            top: 16px;
            background: #989898;
            -webkit-transform: rotate(45deg);
            -moz-transform: rotate(45deg);
            transform: rotate(45deg); }
          html body header .navi-all {
            position: fixed;
            z-index: 2;
            top: 0;
            left: 0;
            color: #070707;
            text-align: center;
            width: 100%;
            transform: translateY(-100%);
            transition: all 0.6s;
            background: rgba(255, 255, 255, 0.7);
            padding: 3rem 0; }
            html body header .navi-all ul {
              margin: 0 auto;
              padding: 0;
              width: 100%; }
              html body header .navi-all ul li {
                list-style-type: none;
                padding: 0;
                width: 100%;
                transition: .4s all; }
                html body header .navi-all ul li a {
                  display: block;
                  color: #070707;
                  padding: 1em 0;
                  text-decoration: none; }
              html body header .navi-all ul li:last-child {
                padding-bottom: 0; }
              html body header .navi-all ul li:hover {
                background: #ddd; }
          html body header .navi-all.active {
            opacity: 100;
            display: block;
            transform: translateY(0%); } }
      html body header nav.sns-icon {
        position: absolute;
        right: 0;
        top: 1rem; }
        @media screen and (max-width: 480px) {
          html body header nav.sns-icon {
            position: initial;
            right: inherit;
            top: inherit;
            margin-top: 3rem; } }
        html body header nav.sns-icon ul.hbtn li {
          display: inline-block; }
          @media screen and (max-width: 480px) {
            html body header nav.sns-icon ul.hbtn li {
              width: auto; } }
        html body header nav.sns-icon ul.hbtn li.instaBtn a {
          background-color: #eb0d89;
          background-size: 74% 74%;
          background-repeat: no-repeat;
          background-position: center center;
          width: 2em;
          height: 2em;
          display: block;
          background-image: url(../img/common/icon-insta.svg);
          border-radius: 0.3rem; }
          @media screen and (max-width: 480px) {
            html body header nav.sns-icon ul.hbtn li.instaBtn a {
              width: 60px;
              height: 60px; } }
        html body header nav.sns-icon ul.hbtn li.twitterBtn a {
          background-color: #1dbbf5;
          background-size: 74% 74%;
          background-repeat: no-repeat;
          background-position: center center;
          width: 2em;
          height: 2em;
          display: block;
          background-image: url(../img/common/icon-twitter.svg);
          border-radius: 0.3rem; }
          @media screen and (max-width: 480px) {
            html body header nav.sns-icon ul.hbtn li.twitterBtn a {
              width: 60px;
              height: 60px; } }
    html body div#content {
      z-index: 0;
      padding-top: 8rem;
      margin-bottom: 8rem; }
      html body div#content section#pankuzu {
        margin-bottom: 1rem; }
        html body div#content section#pankuzu ul.pankuzu-list li {
          display: inline-block;
          margin-right: 0.5rem; }
        html body div#content section#pankuzu ul.pankuzu-list li:before {
          content: ">"; }
    html body #page-top {
      display: none; }
    html body footer {
      z-index: 1;
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 4rem;
      text-align: center; }

/* gallery */
/* news */
.news .article-list h2 {
  font-size: 140%;
  margin-bottom: 1rem; }
  .news .article-list h2 span.date {
    font-size: 85%;
    margin-left: 1rem; }
.news .article-list article {
  margin: 3rem auto;
  display: inline-block; }
.news #infscr-loading {
  text-align: center; }
.news .navigation {
  text-align: center; }

.page-load-status {
  display: none; }
  .page-load-status .infinite-scroll-request,
  .page-load-status .infinite-scroll-last,
  .page-load-status .infinite-scroll-error {
    display: block;
    width: 85%;
    background: #eeebeb;
    text-align: center;
    margin: 0 auto; }

/* contact */
.contact div#form-tbl a {
  text-decoration: underline; }
.contact div#form-tbl dl {
  margin: 1rem 0; }
  .contact div#form-tbl dl dt {
    display: none; }
.contact div#form-tbl input[type="text"],
.contact div#form-tbl textarea {
  background-color: #cdcdcd;
  padding: 0.2rem 1rem;
  width: 100%; }
.contact div#form-tbl .form_bt {
  text-align: center; }
  .contact div#form-tbl .form_bt .btn-w {
    width: 30%;
    color: #989898;
    border: 1px solid #070707;
    display: inline-block;
    text-align: center;
    background-size: 0.7rem;
    font-size: 100%;
    padding: 0.5rem 0;
    margin-top: 1rem;
    text-align: center; }
  .contact div#form-tbl .form_bt .btn-b {
    width: 30%;
    color: #FFF;
    border: 1px solid #070707;
    display: inline-block;
    text-align: center;
    background-size: 0.7rem;
    background-color: #070707;
    font-size: 100%;
    padding: 0.5rem 0;
    margin-top: 1rem;
    text-align: center; }

.contact.conf div#form-tbl dl,
.contact.errer div#form-tbl dl {
  background-color: #cdcdcd;
  padding: 0.2rem 1rem;
  width: 100%; }
  .contact.conf div#form-tbl dl dt, .contact.conf div#form-tbl dl dd,
  .contact.errer div#form-tbl dl dt,
  .contact.errer div#form-tbl dl dd {
    display: inline-block; }
  .contact.conf div#form-tbl dl dt,
  .contact.errer div#form-tbl dl dt {
    width: 25%; }

/* profile */
.profile #profImg p {
  display: block;
  margin-right: 2rem; }
  @media screen and (max-width: 480px) {
    .profile #profImg p {
      margin-right: 0; } }
  .profile #profImg p img {
    width: 100%; }
@media screen and (max-width: 480px) {
  .profile #profImg {
    width: 100% !important;
    margin-bottom: 2rem; } }
@media screen and (max-width: 480px) {
  .profile #profText {
    width: 100% !important; } }
