* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

img {
  max-width: 100%;
}

html {
  background: #eaeeef;
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-weight: 400;
}

body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 100dvh;
  margin: 0;
  padding: 0;
  font-size: 60%;
}
@media (min-width: 690px) {
  body {
    font-size: 90%;
  }
}

header {
  width: 100%;
  max-width: 940px;
  margin: 0 auto;
  padding: 0 20px;
}
header h1 {
  display: block;
  width: 100%;
  margin: 20px 0;
}
header h1 img {
  width: clamp(160px, 45%, 280px);
}

main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  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: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 940px;
  margin: 0 auto;
  padding: 0 20px;
}

.mv {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.mv__img {
  -webkit-box-flex: 1;
      -ms-flex: auto;
          flex: auto;
  margin-left: -20px;
}
@media (min-width: 960px) {
  .mv__img {
    margin-left: 0;
  }
}
.mv__ankr {
  padding: 0;
  margin: 0 0 0 8%;
  list-style: none;
  text-align: right;
  font-size: 1.5em;
}
.mv__ankr li {
  margin-bottom: 1em;
}
.mv__ankr a {
  display: inline-block;
  color: #222;
  text-decoration: none;
  white-space: nowrap;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.mv__ankr a:hover, .mv__ankr a:active {
  opacity: 0.6;
  -webkit-transform: translateX(2px);
          transform: translateX(2px);
}

section {
  width: 100%;
}

h2 {
  margin: 3.5em 0 1.5em;
  text-align: center;
  font-size: 2.5em;
  font-weight: 400;
  letter-spacing: 0.13em;
}

.sec01 {
  width: 80%;
  margin: 0 auto;
}
.sec01 .prof__img {
  margin: 1em 0;
  text-align: center;
}
.sec01 .prof__img img {
  width: clamp(80px, 30%, 140px);
}
.sec01 .prof__name {
  margin-bottom: 1em;
  text-align: center;
  font-size: 1.75em;
  line-height: 1.3;
  letter-spacing: 0.15em;
}
.sec01 .prof__name small {
  display: block;
  font-size: 1em;
  -webkit-transform: scale(0.5);
          transform: scale(0.5);
}
.sec01 p {
  line-height: 1.8;
  letter-spacing: 0.04em;
}

.gallery {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.gallery a {
  display: inline-block;
  width: 31.3333333333%;
  margin-bottom: 3%;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.gallery a:not(:nth-child(3n)) {
  margin-right: 3%;
}
.gallery a:hover, .gallery a:active {
  opacity: 0.8;
}

.lum-lightbox .lum-img {
  max-width: 100%;
  max-height: 96%;
}
.lum-lightbox-caption a {
  color: #00bfff;
}

.btn {
  text-align: center;
}
.btn a {
  display: inline-block;
  padding: 1em 2em;
  border-radius: 3px;
  background: #747980;
  font-size: 1.2em;
  color: #fff;
  text-decoration: none;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.btn a img {
  height: 1.1em;
  margin-right: 0.5em;
  -webkit-transform: translateY(0.1em);
          transform: translateY(0.1em);
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}
.btn a:hover, .btn a:active {
  opacity: 0.6;
  -webkit-transform: scale(0.99);
          transform: scale(0.99);
}

.back {
  margin-top: 6rem;
  text-align: center;
}
.back a {
  display: inline-block;
  padding: 0.25em 0.5em;
  color: #666;
  text-decoration: none;
  font-size: 1.2em;
  letter-spacing: 0.1em;
}

.mail {
  text-align: center;
}
.mail a {
  display: inline-block;
  letter-spacing: 0.05em;
  font-size: 14px;
  color: #222;
  text-decoration: none;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.mail a:hover, .mail a:active {
  opacity: 0.6;
  -webkit-transform: translateY(2px);
          transform: translateY(2px);
}
.mail a img {
  height: 1.2em;
  margin-right: 0.5em;
  -webkit-transform: translateY(0.2em);
          transform: translateY(0.2em);
}

footer {
  margin-top: 80px;
  padding: 8px;
  background: #dadee0;
  text-align: center;
  font-size: 12px;
}/*# sourceMappingURL=style.css.map */