#fuwaimg {
  position: fixed;
  width: 100vw;
  min-height: 100vh; /* Fallback */
  min-height: calc(var(--vh, 1vh) * 100);
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 999999;
  transition: .3s;
}
#fuwaimg.hidden {
  visibility: hidden;
  opacity: 0;
  z-index: -1;
}
#fuwaimg_mask {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: -1;
  background: rgba(0, 0, 0, 0.4);
  cursor: pointer;
}
#fuwaimg_inner {
  position: absolute;
  margin: auto;
  opacity: 0;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  width: fit-content;
  height: fit-content;
  max-height: 90%;
  width: 90vw;
  background: white;
  box-shadow: 0 0 20px #00000054;
}
div#fuwaimg_img {
    width: 90vw;
    background: black;
}
#fuwaimg_img img {
  display: block;
  max-height: calc(80vh - 100px);
  max-height: calc((var(--vh, 1vh) * 80) - 100px);
  width: 100%;
  object-fit: contain;
  margin: 0;
  padding: 0;
}
div#fuwaimg_caption {
    display: flex;
    align-items: center;
    flex-direction: row;
}
p#fuwaimg_caption_text {
    flex: 1;
    margin: 10px;
    font-size: 14px;
    line-height: 1.6em;
    width: calc(100% - 50px);
    overflow-x: auto;
    overflow-wrap: normal;
}
button#fuwaimg_close {
    display: block;
    width: 50px;
    height: 50px;
    line-height: 1;
    margin: auto 0 0 0;
    padding: 0;
    border: none;
    background: none;
    position: relative;
    cursor: pointer;
    transition: .3s;
}
button#fuwaimg_close:hover {
  opacity: .4;
}
button#fuwaimg_close:before,
button#fuwaimg_close:after {
    content: "";
    display: block;
    width: 18px;
    height: 2px;
    background: #000;
    transform: rotate(45deg);
    transform-origin: 0% 50%;
    position: absolute;
    top: -15px;
    right: -8px;
    left: 0;
    bottom: 0;
    margin: auto;
  }
button#fuwaimg_close:after{
    transform: rotate(-45deg);
    transform-origin:100% 50%;
    right: 3px;
}
a#fuwaimg_prev {
    visibility: hidden;
    width: 55px;
    height: 55px;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    left: -10px;
    right: auto;
    filter: drop-shadow(0px 0px 6px #00000054);
    cursor: pointer;
}
a#fuwaimg_prev:before {
    content: '';
    width: 10px;
    height: 10px;
    display: block;
    border-left: 3px solid white;
    border-bottom: 3px solid white;
    transform: rotate(45deg);
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    transition: .3s;
}
a#fuwaimg_prev:hover:before {
    left: -7px;
}
a#fuwaimg_next {
    visibility: hidden;
    width: 55px;
    height: 55px;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: -10px;
    left: auto;
    filter: drop-shadow(0px 0px 6px #00000054);
    cursor: pointer;
}
a#fuwaimg_next:before {
    content: '';
    width: 10px;
    height: 10px;
    display: block;
    border-right: 3px solid white;
    border-bottom: 3px solid white;
    transform: rotate(-45deg);
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    transition: .3s;
}
a#fuwaimg_next:hover:before {
    right: -7px;
}
@media only screen and (min-width: 750px) {
  a#fuwaimg_prev {
    left: -55px;
  }
  a#fuwaimg_prev:before {
    width: 15px;
    height: 15px;
  }
  a#fuwaimg_next {
    right: -55px;
  }
  a#fuwaimg_next:before {
    width: 15px;
    height: 15px;
  }

  #fuwaimg_inner {
    max-width: calc(90vw - 50px);
  }
  div#fuwaimg_img {
    max-width: calc(90vw - 50px);
    max-height: calc(80vh - 120px);
    max-height: calc((var(--vh, 1vh) * 80) - 120px);
  }
  #fuwaimg_img img {
    display: block;
    max-height: calc(80vh - 120px);
    max-height: calc((var(--vh, 1vh) * 80) - 120px);
    max-width: calc(90vw - 50px);
    width: auto;
    object-fit: contain;
    margin: 0;
    padding: 0;
  }
}

span#fuwaimg_loading {
    z-index: -1;
    color: white;
    position: absolute;
    margin: auto;
    width: fit-content;
    height: fit-content;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    font-family: 'メイリオ', Meiryo,'Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
}
#fuwaimg_loadbar {
  overflow: hidden;
    position: absolute;
    width: 100px;
    height: 7px;
    background: #ffffff52;
    margin: auto;
    bottom: 0;
    right: 0;
    left: 0;
    top: 40px;
}
#fuwaimg_loadbar:before {
  content: '';
  display: block;
  position: absolute;
  width: 20px;
  height: 7px;
  background: #ffffff;
  margin: auto;
  right: 100%;
  left: -20%;
  animation: fuwaimg_loading 1.3s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}

.fuwaimg_fadein {
  animation : fuwaimg_fadein 0.3s;
  animation-fill-mode: both;
}

.fuwaimg_fadeout {
  animation : fuwaimg_fadeout 0.3s;
  animation-fill-mode: both;
}

@keyframes fuwaimg_loading {
  0% {
    right: 100%;
    left: -20%;
  }
  100% {
    right: 0%;
    left: 100%;
  }
}

@keyframes fuwaimg_fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fuwaimg_fadeout {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}@charset "UTF-8";
/* ==========================================
   Template: modern（https://do.gt-gt.org/）
   Copyright: 2020 do.
   利用規約を遵守の上お使いください。二次配布・販売を禁じます
   ========================================== */
/* ==========================================
  リセットCSS
  基本的には触らないでください
  ========================================== */
@import url("https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@300;500&family=Kosugi&display=swap");
input[type="submit"] {
  -webkit-appearance: none;
  border-radius: 0;
}

html {
  box-sizing: border-box;
  -ms-overflow-style: scrollbar;
}

*,
*::after,
*::before {
  box-sizing: border-box;
}

img {
  border: none;
  max-width: 100%;
  height: auto;
}

a {
  text-decoration: none;
}

ol,
ul {
  padding: 0;
}

h1,
h2,
h3,
h4,
h5,
img,
p {
  margin: 0;
  padding: 0;
}

hr {
  border: none;
  height: 1px;
  background: #f1eded;
  margin: 2em auto;
  width: 100%;
}

h1,
h2,
h3,
h4,
h5,
p {
  line-height: 1.6em;
}

.container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

.flex {
  display: -webkit-box;
  display: flex;
}

.wrap {
  flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
}

@media (min-width: 768px) {
  .wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
            flex-direction: row;
  }
}

@media (min-width: 768px) and (max-width: 1029px) {
  .container {
    max-width: 720px;
  }
}

@media (min-width: 1030px) {
  .container {
    max-width: 960px;
  }
}

body {
  background: #ffffff;
  overflow-x: hidden;
  color: #242424;
  margin: 0;
  padding: 0;
  font-size: 16px;
  font-family: YuGothic,'Yu Gothic','ヒラギノ角ゴシック','Hiragino Sans',sans-serif;
}

section {
  padding: 30px 0;
}

section.bgcolor2 {
  background: #f5f2f2;
}

section.bgcolor3 {
  background: #e8e8e8;
}

ul.list {
  list-style: none;
  margin: 1.5em 0;
}

ul.list li {
  position: relative;
  margin-left: 25px;
  margin-bottom: 5px;
}

ul.list li:before {
  content: '';
  display: block;
  width: 8px;
  height: 8px;
  background: #9ed200;
  position: absolute;
  margin: auto;
  top: 9px;
  left: -20px;
}

ol.list {
  list-style: none;
  list-style-type: none !important;
  counter-reset: number;
  margin: 1.5em 0;
}

ol.list li {
  position: relative;
  margin-left: 25px;
  margin-bottom: 5px;
}

ol.list li:before {
  position: absolute;
  counter-increment: number;
  content: counter(number);
  font-family: "Josefin Sans", "Kosugi", cursive;
  position: absolute;
  margin: auto;
  top: 6px;
  left: -25px;
  background: #9ed200;
  width: 18px;
  height: 18px;
  border-radius: 2px;
  text-align: center;
  line-height: 18px;
}

dl.list dt {
  position: relative;
  margin-left: 25px;
  font-weight: bold;
  font-size: 110%;
}

dl.list dt:before {
  content: '';
  display: block;
  width: 8px;
  height: 8px;
  background: #9ed200;
  position: absolute;
  margin: auto;
  top: 9px;
  left: -20px;
}

dl.list dd {
  margin: 10px 0 1em 1em;
}

dl.list dd > *:first-of-type {
  margin-top: 0;
}

small {
  font-size: 80%;
}

strong.large {
  font-size: 150%;
}

strong.marker {
  background: #f1fc40;
}

.wrap {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
}

.wrap .inner {
  -webkit-box-flex: 1;
          flex: 1;
  margin-bottom: 30px;
}

.wrap-3col {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
}

.wrap-3col .inner {
  -webkit-box-flex: 1;
          flex: 1;
  margin-bottom: 30px;
}

h1 {
  font-family: "Josefin Sans", "Kosugi", cursive;
}

h2 {
  font-family: "Josefin Sans", "Kosugi", cursive;
  text-align: center;
}

h3 {
  font-family: "Josefin Sans", "Kosugi", cursive;
  border-left: 3px solid #9ed200;
  padding: 0px 15px;
  margin: 2em 0 1em;
}

h4 {
  font-family: "Josefin Sans", "Kosugi", cursive;
  margin: 2em 0 0em;
}

h5 {
  font-family: "Josefin Sans", "Kosugi", cursive;
  font-size: 18px;
  margin: 10px auto 5px;
}

p.center {
  text-align: center;
}

blockquote {
  background: #f5f4f4;
  margin: 2em 0;
  padding: 15px;
  border-left: 3px solid #ada5a5;
}

blockquote > *:first-of-type {
  margin-top: 0;
}

blockquote > *:last-of-type {
  margin-bottom: 0;
}

table, td, th {
  border: 1px solid #dcdcdc;
  border-collapse: collapse;
}

td, th {
  padding: 5px 10px;
}

th {
  background: #fdffda;
}

table.center {
  margin: 20px auto;
}

.box {
  background: #f1fc40;
  margin: 2em 0;
  padding: 15px;
}

.box > *:first-of-type {
  margin-top: 0;
}

.box > *:last-of-type {
  margin-bottom: 0;
}

a {
  color: #609e28;
  text-decoration: none;
  -webkit-transition: color .3s;
  transition: color .3s;
}

a:focus, a:visited, a:active {
  color: #609e28;
}

a:hover {
  color: #a5b39a;
}

ul ul {
  margin-left: 1em;
  margin-bottom: 10px;
}

a.btn {
  display: block;
  background: #824646;
  color: white;
  padding: 10px 30px;
  text-align: center;
  min-width: 250px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 20px auto;
  -webkit-transition: .3s;
  transition: .3s;
}

a.btn:hover {
  background: #bf6f6f;
}

p {
  margin: 1.5em 0;
}

dl.news {
  font-size: 14px;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  border-bottom: 1px dotted #b8b8b8;
}

dl.news dt {
  font-weight: bold;
  padding: 0;
  line-height: 1.2;
}

dl.news dd {
  padding: 5px 0 10px 0;
  margin: 0;
}

nav#globalnav {
  position: fixed;
  z-index: 999999;
  position: fixed;
  top: 0;
  width: 100%;
}

nav#globalnav .globalnav_bg {
  height: 70px;
  width: 100%;
  position: absolute;
  top: 0;
  z-index: -1;
  opacity: 1;
  background: -webkit-gradient(linear, left bottom, left top, color-stop(5%, rgba(230, 230, 230, 0)), color-stop(51%, rgba(255, 255, 255, 0.9)));
  background: linear-gradient(0deg, rgba(230, 230, 230, 0) 5%, rgba(255, 255, 255, 0.9) 51%);
}

nav#globalnav h1 a {
  color: #000000;
  display: block;
  padding: 18px 15px;
  font-size: 30px;
}

nav#globalnav h1 a:hover {
  color: #9ed200;
}

nav#globalnav p#menubtn {
  color: #000000;
  margin: 0;
  cursor: pointer;
}

nav#globalnav ul {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
}

nav#globalnav ul li a {
  display: block;
  text-decoration: none;
  color: #000000;
  padding: 8px 0;
}

nav#globalnav ul li a:hover {
  color: #9ed200;
}

nav#globalnav ul#navmenu {
  list-style: none;
  position: fixed;
  background: #ffffff;
  width: 60vw;
  max-width: 300px;
  height: 100vh;
  top: 0;
  right: -100%;
  margin: 0;
  padding: 60px 20px 20px;
  overflow-x: auto;
  overflow-y: scroll;
  box-shadow: 0 0 6px #00000040;
  -webkit-transition: right .5s;
  transition: right .5s;
}

nav#globalnav ul#navmenu.checked {
  right: 0;
}

nav#globalnav ul#navmenu ul {
  list-style: none;
}

nav#globalnav.colorchange {
  background: transparent;
}

nav#globalnav.colorchange .globalnav_bg {
  opacity: 0;
}

nav#globalnav.colorchange h1 a {
  color: #ffffff;
  -webkit-filter: drop-shadow(0px 0px 3px #00000066);
          filter: drop-shadow(0px 0px 3px #00000066);
}

nav#globalnav.colorchange h1 a:hover {
  color: #9ed200;
}

nav#globalnav.colorchange p#menubtn {
  color: #ffffff;
}

header {
  background-color: #000000;
  height: 100vh;
}

header img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

header img.top-pc {
  display: none;
}

main.subpage {
  margin-top: 50px;
}

input[type=checkbox]#menubtncheck {
  display: none;
}

input[type=checkbox]#menubtncheck:checked + nav#globalnav {
  opacity: 1;
  z-index: 9999;
}

p#menubtn {
  display: block;
  width: 50px;
  height: 50px;
  text-align: center;
  font-size: 30px;
  position: fixed;
  color: #000000;
  top: 10px;
  right: 20px;
  -webkit-transition: color 0.4s;
  transition: color 0.4s;
  z-index: 99999;
}

p#menubtn:hover {
  cursor: pointer;
}

p#menubtn#inmenu {
  color: #ffffff;
}

p#menubtn#inmenu-back {
  opacity: 0;
  width: 100vw;
  height: 100vh;
  top: 0;
  right: 0;
  z-index: -1;
}

ul.illust {
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  margin: 30px auto;
  list-style: none;
}

ul.illust li {
  position: relative;
  height: 120px;
  width: calc(100% / 3 - 5px);
  margin-bottom: 5px;
  padding: 0;
}

ul.illust li:before {
  display: none;
}

ul.illust li:not(:nth-of-type(3n)) {
  margin-right: 5px;
}

ul.illust li a {
  display: block;
  width: 100%;
  height: 100%;
  -webkit-transition: .3s;
  transition: .3s;
}

ul.illust li a:hover {
  opacity: .7;
}

ul.illust li a img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.card-wrapper {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
}

.card-wrapper .card {
  text-align: center;
}

.card-wrapper .card p {
  font-size: 15px;
  max-width: 300px;
  margin: auto;
  text-align: left;
}

.card-wrapper img.prof {
  width: 200px;
  height: 200px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
  margin: 20px auto 10px;
}

ul.sns {
  list-style: none;
  display: -webkit-box;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 20px auto;
}

ul.sns li a {
  display: block;
  font-size: 20px;
  padding: 5px;
  margin: 0 3px;
}

footer {
  background: #000000;
  color: #ffffff;
  padding: 30px 0 10px;
}

footer p.memo {
  margin: 0 auto 10px;
  font-size: 12px;
}

footer ul.menu {
  list-style: none;
}

footer ul.menu li a {
  font-size: 14px;
  display: block;
  padding: 5px 0;
}

footer ul.menu li a:hover {
  color: #f1fc40;
}

footer ul.menu ul {
  list-style: none;
}

footer p#copyright {
  margin: 0;
  font-size: 12px;
  opacity: .8;
}

footer p#copyright a:hover {
  color: #f1fc40;
}

form.mailform {
  text-align: center;
  max-width: 800px;
  margin: 30px auto;
}

form.mailform textarea {
  margin: 0 0 15px;
  font-size: 14px;
  line-height: 1.6em;
  border: none;
  padding: 10px;
  width: 100%;
  height: 200px;
  border-radius: 5px;
  vertical-align: bottom;
  border: 1px solid #e5e4e4;
  background: #fcfcfc;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  font-family: "Josefin Sans", "Kosugi", cursive;
}

form.mailform textarea:focus {
  outline: none;
  background: #ffffff;
}

form.mailform input {
  margin: 0 0 15px;
  font-size: 16px;
  border: none;
  padding: 10px;
  width: 100%;
  border-radius: 5px;
  border: 1px solid #e5e4e4;
  background: #fcfcfc;
  -webkit-transition: background 0.3s;
  transition: background 0.3s;
  font-family: "Josefin Sans", "Kosugi", cursive;
}

form.mailform input:focus {
  outline: none;
  background: #ffffff;
}

form.mailform input[type="submit"] {
  width: 100%;
  max-width: 200px;
  margin: 20px auto 20px;
  padding: 15px 20px;
  background: #9ed200;
  border: none;
}

form.mailform input[type="submit"]:focus, form.mailform input[type="submit"]:hover {
  background: #f1fc40;
  cursor: pointer;
}

a#totop {
  display: block;
  position: fixed;
  z-index: 10000;
  bottom: 0;
  right: 0;
  width: 60px;
  height: 60px;
  background: #9ed200;
}

a#totop:before {
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  border-top: 2px solid black;
  border-right: 2px solid black;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  margin: auto;
  position: absolute;
  right: 0;
  left: 0;
  top: 0;
  bottom: 0;
  -webkit-transition: .3s;
  transition: .3s;
}

a#totop:hover:before {
  -webkit-transform: translateY(-3px) rotate(-45deg);
          transform: translateY(-3px) rotate(-45deg);
}

@media only screen and (min-width: 768px) {
  .wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
            flex-direction: row;
    -webkit-box-pack: justify;
            justify-content: space-between;
  }
  .wrap .inner {
    width: 46%;
    -webkit-box-flex: 0;
            flex: none;
  }
  .wrap-3col {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
            flex-direction: row;
    -webkit-box-pack: justify;
            justify-content: space-between;
  }
  .wrap-3col .inner {
    width: 31%;
    -webkit-box-flex: 0;
            flex: none;
  }
  section {
    padding: 80px 0;
  }
  h2 {
    font-size: 40px;
  }
  h2:after {
    content: '';
    display: block;
    width: 62px;
    height: 4px;
    background: black;
    margin: 10px auto 40px;
  }
  h3 {
    font-size: 24px;
  }
  h4 {
    font-size: 20px;
  }
  dl.news {
    max-width: 700px;
    margin: auto;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
            flex-direction: row;
  }
  dl.news dd, dl.news dt {
    padding: 10px;
    line-height: 1.6;
  }
  p#menubtn {
    display: none;
  }
  header {
    max-height: 600px;
  }
  header img.top-pc {
    display: block;
  }
  header img.top-phone {
    display: none;
  }
  nav#globalnav {
    position: fixed;
    top: 0;
    z-index: 99999;
  }
  nav#globalnav h1 a {
    font-size: 35px;
  }
  nav#globalnav > .container {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
            justify-content: space-between;
  }
  nav#globalnav ul {
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column;
  }
  nav#globalnav ul li a {
    text-decoration: none;
  }
  nav#globalnav ul#navmenu {
    position: relative;
    background: transparent;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 80%;
    height: auto;
    right: auto;
    padding: 0;
    overflow-y: hidden;
    box-shadow: none;
    -webkit-transition: none;
    transition: none;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
            flex-direction: row;
  }
  nav#globalnav ul#navmenu ul {
    list-style: none;
    background: #000000;
    opacity: 0;
    -webkit-transform: translateY(-5px);
            transform: translateY(-5px);
    -webkit-transform-origin: top center;
            transform-origin: top center;
    -webkit-transition: all .3s;
    transition: all .3s;
    height: 0;
  }
  nav#globalnav ul#navmenu ul li a {
    padding: 10px 20px;
    text-align: left;
    color: #ffffff;
    height: 0;
    text-align: center;
    margin: 0;
    font-size: 16px;
  }
  nav#globalnav ul#navmenu li:hover ul {
    opacity: 1;
    z-index: 10;
    -webkit-transform: translateX(0);
            transform: translateX(0);
    -webkit-transition: all .3s;
    transition: all .3s;
    height: auto;
  }
  nav#globalnav ul#navmenu li:hover ul li a {
    height: auto;
  }
  nav#globalnav ul#navmenu li a {
    display: block;
    font-weight: bold;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 20px 15px;
    margin: auto;
    font-size: 20px;
  }
  nav#globalnav ul#navmenu li a:hover {
    color: #9ed200;
  }
  nav#globalnav.colorchange ul#navmenu li a {
    color: #ffffff;
    -webkit-filter: drop-shadow(0px 0px 3px #00000066);
            filter: drop-shadow(0px 0px 3px #00000066);
  }
  nav#globalnav.colorchange ul#navmenu li a:hover {
    color: #9ed200;
  }
  ul.illust li {
    position: relative;
    height: 200px;
    width: calc(100% / 4 - 4px);
    margin-bottom: 5px;
    padding: 0;
  }
  ul.illust li:not(:nth-of-type(3n)) {
    margin-right: 0;
  }
  ul.illust li:not(:nth-of-type(4n)) {
    margin-right: 5px;
  }
  .card-wrapper {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
            flex-direction: row;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
            justify-content: space-between;
  }
  .card-wrapper .card {
    width: 43%;
    margin-bottom: 30px;
  }
}

@media only screen and (min-width: 1030px) {
  footer p.copyright {
    text-align: right;
  }
  .card-wrapper .card {
    width: 31%;
  }
}
function changeColor() {
if (document.getElementById("eyecatch") != null) {
  let scrollY = window.pageYOffset;
  let body = document.body;

  let eyecatch = document.getElementById('eyecatch');
  let nav = document.getElementById('globalnav');

  let top = eyecatch.getBoundingClientRect().top; // ウィンドウ上からの要素の位置
  let bottom = eyecatch.getBoundingClientRect().bottom; // ウィンドウ上からの要素の位置

  let area = bottom - top;

  if( scrollY < area ) {
    nav.classList.add('colorchange');
  } else {
    nav.classList.remove('colorchange');
  }
 }
}

window.addEventListener('scroll', changeColor);

// ハンバーガーメニュー実装
const checkbox = document.getElementById('menubtn');
const navmenu = document.getElementById('navmenu');

function openMenu() {
  if (navmenu.className == '') {
    navmenu.classList.add('checked');
    checkbox.style.color = 'black';
  } else {
    navmenu.classList.remove('checked');
    checkbox.style.color = '';
  }
}
checkbox.addEventListener('click', openMenu);

jQuery(function() {
  jQuery(document).on('click', function(e) {
      if(!jQuery(e.target).is('#navmenu, #menubtn') && $(window).width() < 750 && navmenu.className == 'checked') {
          navmenu.classList.remove('checked');
          checkbox.style.color = '';
      }
    });
});

// ぬるっと上までスクロール
jQuery(function() {
  var windowWidth = $(window).width();
  var windowSm = 768;
  var headerHeight;
  if (windowSm >= windowWidth) {
    var headerHeight = 50;
  } else {
    var headerHeight = 80;
  }
  var documentUrl = location.origin + location.pathname + location.search;
  jQuery(document).on('click', 'a[href*="#"]', function(event) {
    var anchor = event.currentTarget;
    var anchorUrl = anchor.protocol + '//' + anchor.host + anchor.pathname + anchor.search;
    if (documentUrl !== anchorUrl) {
      return true;
    }

    var checkbox = document.getElementById( "menubtn" );
    checkbox.checked = false;

    var speed = 500;
    var position = $(anchor.hash).offset().top - headerHeight;
    jQuery('body,html').animate({
      scrollTop: position
    }, speed, 'swing');
    event.preventDefault();
    return false;
  });
});'use strict';

// -----------------------------------------------------
// プログラム名：fuwaimg
// バージョン：1.1
// 製作者：ガタガタ（https://do.gt-gt.org/）
// 公開日：2020.11.20
// 修正日：2020.11.22
//
// このプログラムは使用・改変・再配布・販売すべて自由です。
// 報告やリンクなども必要ありません。
// ただし、利用にあたりこの注意書きは削除しないでください。
// また、あたかもプログラムを自作したかのように誤解させる言動はお控えください。
// -----------------------------------------------------

{

  // -----------------------------------------------------

  // 縦いっぱいの補正

  // -----------------------------------------------------

  const setFillHeight = () => {
    const vh = window.innerHeight * 0.01;
    document.documentElement.style.setProperty('--vh', `${vh}px`);
  }

  // 画面のサイズ変動があった時に高さを再計算する
  window.addEventListener('resize', setFillHeight);

  // 初期化
  setFillHeight();

  // -----------------------------------------------------

  // 要素の描写

  // -----------------------------------------------------

  const body = document.querySelector('body');

  var newElement = document.createElement('div');
  newElement.setAttribute('id','fuwaimg');
  newElement.setAttribute('class','hidden');
  body.insertBefore(newElement, body.firstChild);
  var parent = document.getElementById('fuwaimg');

  var newMask = document.createElement('div');
  newMask.setAttribute('id','fuwaimg_mask');
  var newInner = document.createElement('div');
  newInner.setAttribute('id','fuwaimg_inner');
  var newLoading = document.createElement('span');
  newLoading.setAttribute('id','fuwaimg_loading');
  var newLoadBar = document.createElement('div');
  newLoadBar.setAttribute('id','fuwaimg_loadbar');
  parent.insertBefore(newLoadBar, parent.firstChild);
  parent.insertBefore(newLoading, parent.firstChild);
  parent.insertBefore(newInner, parent.firstChild);
  parent.insertBefore(newMask, parent.firstChild);
  var loading = document.getElementById('fuwaimg_loading');
  var loadbar = document.getElementById('fuwaimg_loadbar');
  loading.textContent = 'Loading...';
  var parent2 = document.getElementById('fuwaimg_inner');

  var newFuwaimgimg = document.createElement('div');
  newFuwaimgimg.setAttribute('id','fuwaimg_img');
  var newFuwaimgcap = document.createElement('div');
  newFuwaimgcap.setAttribute('id','fuwaimg_caption');
  var newNext = document.createElement('a');
  newNext.setAttribute('id','fuwaimg_next');
  var newPrev = document.createElement('a');
  newPrev.setAttribute('id','fuwaimg_prev');

  parent2.insertBefore(newPrev, parent2.firstChild);
  parent2.insertBefore(newNext, parent2.firstChild);
  parent2.insertBefore(newFuwaimgcap, parent2.firstChild);
  parent2.insertBefore(newFuwaimgimg, parent2.firstChild);
  var parent3 = document.getElementById('fuwaimg_img');
  var parent4 = document.getElementById('fuwaimg_caption');
  var prevbtn = document.getElementById('fuwaimg_prev');
  var nextbtn = document.getElementById('fuwaimg_next');

  var newFuwaCloseBtn = document.createElement('button');
  newFuwaCloseBtn.setAttribute('id','fuwaimg_close');
  parent4.insertBefore(newFuwaCloseBtn, parent4.firstChild);

  var close = document.getElementById('fuwaimg_close');


  // -----------------------------------------------------

  // モーダルウインドウを表示するリンクを取得

  // -----------------------------------------------------

  const links = document.getElementsByClassName('fuwaimg');
  const linkarray = Array.from(links);
  var link = [];
  var fimgs = [];

  for (var i = 0; i < linkarray.length; i++) {
    link[i] = linkarray[i];
    fimgs[i] = linkarray[i].dataset.fimg;
  }

  var showimg;
  var ret = [];

  // -----------------------------------------------------

  // クリックイベントの設定

  // -----------------------------------------------------

  link.forEach(function(event, h) {
    event.addEventListener('click', function(e) {
      e.preventDefault();
      var targeta = e.target.closest('a');
      var fimg = targeta.dataset.fimg;
      var caption = targeta.dataset.fcaption;
      var imgurl = targeta.href
      var nexth = null;
      var prevh = null;
      parent2.style.width = '';
      parent3.style.width = '';
      parent2.style.maxWidth = '';
      parent3.style.maxWidth = '';
      parent2.style.transform = '';
      nextbtn.style.transform = '';
      prevbtn.style.transform = '';
      parent2.style.transition = '';
      nextbtn.style.transition = '';
      prevbtn.style.transition = '';
      nextbtn.style.opacity = '';
      prevbtn.style.opacity = '';

      loading.style.visibility = 'visible';
      loadbar.style.visibility = 'visible';

      // グループ内の次のメンバーを探す
      if (fimg != undefined) {
        for (var i = h+1; i < link.length; i++) {
          if(link[i].dataset.fimg == fimg ) {
            nexth = i;
            break;
          }
        }
        for (var j = h-1; j >= 0; j--) {
          if(link[j].dataset.fimg == fimg) {
            prevh = j;
            break;
          }
        }
      }

      if(nexth != null) {
        nextbtn.style.visibility = 'visible';
      } else {
        nextbtn.style.visibility = 'hidden';
      }

      if(prevh != null) {
        prevbtn.style.visibility = 'visible';
      } else {
        prevbtn.style.visibility = 'hidden';
      }

      if(parent2.querySelector('img')) {
        showimg.src = imgurl;
      } else {
        var newImg = document.createElement('img');
        newImg.setAttribute('src', imgurl);
        newImg.setAttribute('id','fuwaimg-showimg');
        parent3.insertBefore(newImg, parent3.firstChild);
      }

      if(parent4.querySelector('p')) {
        var text = document.getElementById('fuwaimg_caption_text');
        text.textContent = caption;
      } else {
        var newTxt = document.createElement('p');
        newTxt.textContent = caption;
        newTxt.setAttribute('id','fuwaimg_caption_text');
        parent4.insertBefore(newTxt, parent4.firstChild);
      }

      parent.classList.remove('hidden');
      showimg = document.getElementById('fuwaimg-showimg');
      showimg.style.width = '';
      showimg.style.maxWidth = '';


      function setWindowWidth() {
        var imgdata = window.getComputedStyle(showimg).width;
        if (window.matchMedia('(max-width: 749px)').matches) {
          //スマホ処理
          showimg.style.width = '';
          parent2.style.width = '';
          parent3.style.width = '';
          showimg.style.maxWidth = imgdata;
          parent2.style.maxWidth = imgdata;
          parent3.style.maxWidth = imgdata;
        } else {
          //PC処理
          showimg.style.maxWidth = '';
          parent2.style.maxWidth = '';
          parent3.style.maxWidth = '';
          showimg.style.width = imgdata;
          parent2.style.width = imgdata;
          parent3.style.width = imgdata;
        }
        parent2.classList.add('fuwaimg_fadein');
      }
      showimg.addEventListener('load', setWindowWidth);

      ret[0] = nexth;
      ret[1] = prevh;
      return ret;

    });
  });

  nextbtn.addEventListener('click', function() {
    parent2.classList.add('fuwaimg_fadeout');
    nextbtn.style.visibility = 'hidden';
    parent2.classList.remove('fuwaimg_fadein');
    setTimeout(function(){link[ret[0]].click();}, 300);
    setTimeout(function(){parent2.classList.remove('fuwaimg_fadeout');}, 1000);
  });

  prevbtn.addEventListener('click', function() {
    parent2.classList.add('fuwaimg_fadeout');
    prevbtn.style.visibility = 'hidden';
    parent2.classList.remove('fuwaimg_fadein');
    setTimeout(function(){link[ret[1]].click();}, 300);
    setTimeout(function(){parent2.classList.remove('fuwaimg_fadeout');}, 1000);
  });

  close.addEventListener('click', () => {
    loading.style.visibility = 'hidden';
    loadbar.style.visibility = 'hidden';
    parent.classList.add('hidden');
    parent2.classList.remove('fuwaimg_fadein');
    nextbtn.style.visibility = 'hidden';
    prevbtn.style.visibility = 'hidden';
  });

  var mask = document.getElementById('fuwaimg_mask');
  mask.addEventListener('click', () => {
    close.click();
  });

  // スワイプ

  function setSwipe() {
    var s_X;
    var e_X;
    var gapX;
    var dist = 60;
    parent3.addEventListener('touchstart', function(e) {
     e.preventDefault();
     s_X = e.touches[0].pageX;
    });
    parent3.addEventListener('touchmove', function(e) {
     e.preventDefault();
     loading.style.visibility = 'hidden';
     loadbar.style.visibility = 'hidden';
     e_X = e.changedTouches[0].pageX;
     gapX = s_X - e_X;
     parent2.style.transform = 'translate(calc(-50% - '+gapX+'px), -50%)';
     nextbtn.style.transform = 'translateX('+gapX+'px)';
     prevbtn.style.transform = 'translateX('+gapX+'px)';
    });
    parent3.addEventListener('touchend', function(e) {
    loading.style.visibility = 'visible';
    loadbar.style.visibility = 'visible';
      if (s_X > e_X + dist) {
        if(nextbtn.style.visibility == 'visible') {
          parent2.style.transform = 'translate(-200%, -50%)';
          parent2.style.transition = 'translate, .3s';
          nextbtn.style.opacity = '0';
          prevbtn.style.opacity = '0';
          nextbtn.click();
        } else {
          parent2.style.transform = '';
          nextbtn.style.transform = '';
          prevbtn.style.transform = '';
        }
      } else if (s_X + dist < e_X) {
      if(prevbtn.style.visibility == 'visible') {
        parent2.style.transform = 'translate(200%, -50%)';
        parent2.style.transition = 'translate, .3s';
        nextbtn.style.opacity = '0';
        prevbtn.style.opacity = '0';
        prevbtn.click();
      } else {
        parent2.style.transform = '';
        nextbtn.style.transform = '';
        prevbtn.style.transform = '';
      }
      } else {
        parent2.style.transform = '';
        nextbtn.style.transform = '';
        prevbtn.style.transform = '';
      }
     });
    }
    setSwipe('#fuwaimg_img');

}