img {
  max-width: 100%;
}

body.on {
  overflow: hidden;
}

html {
  scroll-padding-top: var(--header-h);
}

body.common #main img, body.common #main2 img {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

#header_static {
  z-index: 9999;
}
#header_static .header_top {
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 20px;
}
#header_static .header_top:after {
  content: none;
}
#header_static.is-fixed {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#header_static .logo {
  width: 100%;
  max-width: 200px;
}
@media screen and (max-width: 750px) {
  #header_static .logo {
    max-width: 26.6666666667vw;
  }
}
#header_static #menu-btn {
  display: none;
}
@media screen and (max-width: 750px) {
  #header_static #menu-btn {
    display: inline-block;
    width: 5.7333333333vw;
  }
}
#header_static:before, #header_static:after {
  content: none;
}
#header_static nav {
  width: 96%;
  max-width: 1060px;
  margin: 0 auto;
}
#header_static nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#header_static nav ul li {
  width: 18%;
}
#header_static .inner {
  width: 100%;
  padding-top: 80px;
  padding-bottom: 60px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #eceae3;
}
@media screen and (max-width: 750px) {
  #header_static.on {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: #eceae3;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  #header_static .inner {
    display: none;
    height: 100%;
    padding: 0;
  }
  #header_static .inner nav {
    width: 100%;
    height: 100%;
    background-color: #eceae3;
    z-index: 2;
    margin-bottom: 0;
  }
  #header_static .inner nav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: space-evenly;
        -ms-flex-pack: space-evenly;
            justify-content: space-evenly;
    width: 80%;
    padding: 10vw 0;
    gap: 20px;
    margin: 0 auto;
  }
  #header_static .inner nav ul li {
    width: 100%;
  }
}

body.common #contents {
  margin: 0;
  font-size: 0.875em;
  max-width: 100%;
}

body.common #main {
  float: none;
  width: 100%;
  max-width: 100%;
}
body.common #main img {
  max-width: 100%;
}

#main {
  background: #eceae3;
  padding-bottom: 60px;
}
#main .mb10 {
  margin-bottom: 10px;
}
#main .mb20 {
  margin-bottom: 20px;
}
#main .mb30 {
  margin-bottom: 30px;
}
#main .mb40 {
  margin-bottom: 40px;
}
#main .mb50 {
  margin-bottom: 50px;
}
#main .mb60 {
  margin-bottom: 60px;
}
#main .mb90 {
  margin-bottom: 90px;
}
#main .mb100 {
  margin-bottom: 100px;
}
#main .inner {
  width: 96%;
  max-width: 1060px;
  margin: 0 auto;
  padding: 0;
  padding-top: 50px;
}
#main .kv {
  margin: 0 auto;
  margin-bottom: 11.320754717vw;
  width: 76.2264150943vw;
  max-width: 808px;
}
@media screen and (min-width: 1060px) {
  #main .kv {
    margin-bottom: 120px;
  }
}
#main .about {
  margin-bottom: 16.9811320755vw;
}
@media screen and (min-width: 1060px) {
  #main .about {
    margin-bottom: 170px;
  }
}
#main .lead {
  width: 83.0357142857vw;
  max-width: 930px;
  margin: 0 auto;
  margin-bottom: 8.0357142857vw;
}
@media screen and (min-width: 1060px) {
  #main .lead {
    margin-bottom: 90px;
  }
}
#main .obj {
  width: 11.4285714286vw;
  max-width: 120px;
  margin: 0 auto 70px;
}
#main .gallery {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[3];
  grid-template-columns: repeat(3, 1fr);
  -ms-grid-rows: (auto)[5];
  grid-template-rows: repeat(5, auto);
  margin: 90px auto;
}
#main .gallery > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
#main .gallery > *:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
}
#main .gallery > *:nth-child(3) {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}
#main .gallery > *:nth-child(4) {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
}
#main .gallery > *:nth-child(5) {
  -ms-grid-row: 2;
  -ms-grid-column: 2;
}
#main .gallery > *:nth-child(6) {
  -ms-grid-row: 2;
  -ms-grid-column: 3;
}
#main .gallery > *:nth-child(7) {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
}
#main .gallery > *:nth-child(8) {
  -ms-grid-row: 3;
  -ms-grid-column: 2;
}
#main .gallery > *:nth-child(9) {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
}
#main .gallery > *:nth-child(10) {
  -ms-grid-row: 4;
  -ms-grid-column: 1;
}
#main .gallery > *:nth-child(11) {
  -ms-grid-row: 4;
  -ms-grid-column: 2;
}
#main .gallery > *:nth-child(12) {
  -ms-grid-row: 4;
  -ms-grid-column: 3;
}
#main .gallery > *:nth-child(13) {
  -ms-grid-row: 5;
  -ms-grid-column: 1;
}
#main .gallery > *:nth-child(14) {
  -ms-grid-row: 5;
  -ms-grid-column: 2;
}
#main .gallery > *:nth-child(15) {
  -ms-grid-row: 5;
  -ms-grid-column: 3;
}
#main .gallery img {
  vertical-align: bottom;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#main .gallery .g-item {
  display: block;
}
#main .gallery a.g-item:hover {
  opacity: 0.8;
}
#main .gallery .g1 {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 1;
  -ms-grid-row-span: 2;
  grid-row: 1/3;
}
#main .gallery .g2 {
  -ms-grid-column: 2;
  -ms-grid-column-span: 2;
  grid-column: 2/4;
  -ms-grid-row: 1;
  grid-row: 1;
}
#main .gallery .g3 {
  -ms-grid-column: 3;
  grid-column: 3;
  -ms-grid-row: 2;
  grid-row: 2;
}
#main .gallery .g4 {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 3;
  grid-row: 3;
}
#main .gallery .g5 {
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 2;
  -ms-grid-row-span: 2;
  grid-row: 2/4;
}
#main .gallery .g6 {
  -ms-grid-column: 3;
  grid-column: 3;
  -ms-grid-row: 3;
  -ms-grid-row-span: 2;
  grid-row: 3/5;
}
#main .gallery .g7 {
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column: 1/3;
  -ms-grid-row: 4;
  grid-row: 4;
}
#main .gallery .g8 {
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column: 1/3;
  -ms-grid-row: 5;
  grid-row: 5;
}
#main .gallery .g9 {
  -ms-grid-column: 3;
  grid-column: 3;
  -ms-grid-row: 5;
  grid-row: 5;
}
#main .continuation {
  width: 13.4905660377vw;
  max-width: 147px;
  margin: 0 auto 80px;
}
#main .width-full {
  width: 100%;
}
#main .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#main .flex:after, #main .flex:after {
  content: none;
}
#main .flex .half {
  width: calc(50% - 0.6666666667vw);
}
#main .flex .clm3 {
  width: calc(33% - 0.6666666667vw);
}
#main .flex a {
  display: block;
  margin-top: 1.3333333333vw;
}
#main .dot {
  width: 1.3333333333vw;
  max-width: 20px;
  margin: 120px auto;
}
#main .dot.mb60 {
  margin-bottom: 120px;
}
#main .name {
  margin-bottom: 6.25vw;
}
@media screen and (min-width: 1060px) {
  #main .name {
    margin-bottom: 70px;
  }
}
#main #sec02 h2 {
  margin-bottom: 10.7142857143vw;
}
@media screen and (min-width: 1060px) {
  #main #sec02 h2 {
    margin-bottom: 120px;
  }
}
#main #sec02 .story {
  width: 67.9245283019vw;
  margin-bottom: 4.4642857143vw;
}
@media screen and (min-width: 1060px) {
  #main #sec02 .story {
    width: 802px;
    margin-bottom: 50px;
  }
}
#main .item1 .dot {
  margin: 2.6785714286vw auto 10.7142857143vw;
}
@media screen and (min-width: 1060px) {
  #main .item1 .dot {
    margin: 30px auto 120px;
  }
}
#main .item1 .text {
  width: 80%;
}
@media screen and (min-width: 1060px) {
  #main .item1 .text {
    width: 984px;
  }
}
#main .item1 .text2 {
  width: 67.9245283019vw;
  margin-bottom: 4.4642857143vw;
}
@media screen and (min-width: 1060px) {
  #main .item1 .text2 {
    width: 802px;
    margin-bottom: 50px;
  }
}
#main .item2 .text1 {
  width: 98%;
  margin-bottom: 4.7169811321vw;
}
@media screen and (min-width: 1200px) {
  #main .item2 .text1 {
    margin-bottom: 50px;
  }
}
#main .item2 .text2 {
  margin-bottom: 50px;
}
#main .item2 .text3 {
  width: 41.9642857143vw;
  max-width: 470px;
  margin-bottom: 50px;
}
#main .item3 .text1 {
  width: 80%;
  margin-bottom: 2.6785714286vw;
}
@media screen and (min-width: 1060px) {
  #main .item3 .text1 {
    margin-bottom: 30px;
  }
}
#main .item3 .text2 {
  width: 71.6071428571vw;
  margin-bottom: 4.4642857143vw;
}
@media screen and (min-width: 1060px) {
  #main .item3 .text2 {
    width: 802px;
    margin-bottom: 50px;
  }
}
#main #sec03 {
  padding-bottom: 120px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10%;
}
#main #sec03 h2 {
  width: 100%;
}
#main #sec03 .item {
  width: 32%;
}
#main #sec03 .img {
  text-align: center;
}
#main #sec03 .img img {
  width: 90%;
}
#main #sec03 .text {
  margin-bottom: 3.5714285714vw;
}
#main #sec04 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 70px 3%;
  width: 100%;
  margin: 0 auto 70px;
}
#main #sec04 ul:last-child {
  margin: 0 auto 120px;
}
#main #sec04 ul li {
  width: 30%;
}
#main #sec04 ul li h3 {
  margin-bottom: 20px;
}
#main #sec04 ul li div {
  position: relative;
}
#main #sec04 ul li div.iframe {
  padding-bottom: 180%;
}
#main #sec04 ul li div iframe {
  position: absolute;
  width: 100%;
  height: 100%;
}
#main #sec05 .logobox {
  margin-bottom: 60px;
  border-top: 2px solid #604c3f;
  border-bottom: 2px solid #604c3f;
  padding: 60px 0;
}
#main #sec05 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-size: 20px;
  gap: 30px 5%;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}
#main #sec05 ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#main #sec05 ul.clm3 li {
  width: 23.3333333333%;
}
#main #sec05 ul.clm3 li:nth-child(1) img {
  width: 303px;
  max-width: 100%;
}
#main #sec05 ul.clm3 li:nth-child(2) img {
  width: 274px;
  max-width: 100%;
}
#main #sec05 ul.clm3 li:nth-child(3) img {
  width: 235px;
  max-width: 100%;
}
#main #sec05 ul.clm2 {
  padding: 0 15%;
}
#main #sec05 ul.clm2 li {
  width: 47%;
}
#main #sec05 ul.clm2 li:nth-child(1) img {
  width: 202px;
  max-width: 100%;
}
#main #sec05 ul.clm2 li:nth-child(2) img {
  width: 121px;
  max-width: 100%;
}
#main #sec05 ul.clm2 li:nth-child(3) img {
  width: 343px;
  max-width: 100%;
}
#main #sec05 ul.clm2 li:nth-child(4) img {
  width: 234px;
  max-width: 100%;
}
#main .logo {
  max-width: 261px;
  margin: 0 auto 9.4339622642vw;
}
@media screen and (min-width: 1060px) {
  #main .logo {
    margin-bottom: 100px;
  }
}
@media screen and (max-width: 750px) {
  #main {
    padding-bottom: 18.6666666667vw;
    position: relative;
  }
  #main .inner {
    max-width: 80vw;
    padding-top: 10vw;
  }
  #main .kv {
    width: 90%;
    margin-bottom: 10vw;
  }
  #main .about {
    margin-bottom: 11.3333333333vw;
  }
  #main .lead {
    width: 65.8666666667vw;
    margin: 0 auto;
    margin-bottom: 6vw;
  }
  #main .obj {
    width: 9.0666666667vw;
    margin: 0 auto 6vw;
  }
  #main .gallery {
    margin: 12vw auto;
  }
  #main .continuation {
    width: 15.3333333333vw;
    max-width: 100%;
    margin: 0 auto 5.3333333333vw;
  }
  #main .flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1.3333333333vw;
  }
  #main .flex a {
    display: block;
    margin-top: 1.3333333333vw;
  }
  #main .dot {
    width: 1.3333333333vw;
    margin: 0 auto;
  }
  #main .dot.mb60 {
    margin-bottom: 8vw;
  }
  #main #sec02 .story {
    width: 100%;
  }
  #main #sec02 .item1 .text {
    width: 95%;
  }
  #main #sec02 .item1 .story {
    width: 75%;
  }
  #main #sec02 .item2 .detail {
    width: 100%;
  }
  #main #sec02 .item2 .text1 {
    width: 93%;
    margin-bottom: 4vw;
  }
  #main #sec02 .item2 .text2 {
    width: 100%;
    margin-bottom: 4vw;
  }
  #main #sec02 .item2 .text3 {
    width: 64vw;
    margin-bottom: 8vw;
  }
  #main #sec02 .item2 .spfull {
    width: 100%;
  }
  #main #sec02 .item2 .sphalf {
    width: calc(50% - 3.3333333333vw);
  }
  #main #sec02 .item2 .story {
    width: 90%;
  }
  #main #sec02 .item3 .text2 {
    width: 73.3333333333vw;
    margin-bottom: 4vw;
  }
  #main #sec02 .item3 .story {
    width: 90%;
  }
  #main #sec03 {
    display: block;
    padding: 0;
  }
  #main #sec03 .item {
    width: 59.3333333333vw;
    margin: 0 auto 12vw;
  }
  #main #sec03 .text {
    margin-bottom: 5.3333333333vw;
  }
  #main #sec04 ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 6.6666666667vw 0;
    margin: 0 auto 6.6666666667vw;
  }
  #main #sec04 ul:last-child {
    margin: 0 auto 8vw;
  }
  #main #sec04 ul li {
    width: 48%;
  }
  #main #sec05 .logobox {
    margin-bottom: 8vw;
    border-top: 2px solid #604c3f;
    border-bottom: 2px solid #604c3f;
    padding: 8vw 0;
  }
  #main #sec05 ul.clm3 li:nth-child(1) img {
    width: 23.7333333333vw;
    max-width: 100%;
  }
  #main #sec05 ul.clm3 li:nth-child(2) img {
    width: 21.3333333333vw;
    max-width: 100%;
  }
  #main #sec05 ul.clm3 li:nth-child(3) img {
    width: 18.4vw;
    max-width: 100%;
  }
  #main #sec05 ul.clm2 li:nth-child(1) img {
    width: 15.7333333333vw;
    max-width: 100%;
  }
  #main #sec05 ul.clm2 li:nth-child(2) img {
    width: 9.4666666667vw;
    max-width: 100%;
  }
  #main #sec05 ul.clm2 li:nth-child(3) img {
    width: 26.8vw;
    max-width: 100%;
  }
  #main #sec05 ul.clm2 li:nth-child(4) img {
    width: 18.2666666667vw;
    max-width: 100%;
  }
  #main #sec05 ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  #main .logo {
    width: 18.6666666667vw;
    margin: 0 auto 5.3333333333vw;
  }
  #main .mb10 {
    margin-bottom: 1.3333333333vw;
  }
  #main .mb20 {
    margin-bottom: 2.6666666667vw !important;
  }
  #main .mb30 {
    margin-bottom: 2.6666666667vw !important;
  }
  #main .mb40 {
    margin-bottom: 5.3333333333vw;
  }
  #main .mb50 {
    margin-bottom: 6.6666666667vw;
  }
  #main .mb60 {
    margin-bottom: 8vw;
  }
  #main .mb90 {
    margin-bottom: 8vw;
  }
}