@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500&display=swap");
section.space,
.container.space,
.container-fluid.space,
.section-inner.space,
.content-inner.space,
.block-content.space {
  padding-top: 100px;
  padding-bottom: 100px;
}
section.min-space,
.container.min-space,
.container-fluid.min-space,
.section-inner.min-space,
.content-inner.min-space,
.block-content.min-space {
  padding-top: 40px;
  padding-bottom: 40px;
}
section.top-space,
.container.top-space,
.container-fluid.top-space,
.section-inner.top-space,
.content-inner.top-space,
.block-content.top-space {
  padding-top: 100px;
}
section.bottom-space,
.container.bottom-space,
.container-fluid.bottom-space,
.section-inner.bottom-space,
.content-inner.bottom-space,
.block-content.bottom-space {
  padding-bottom: 100px;
}
section.min-top-space,
.container.min-top-space,
.container-fluid.min-top-space,
.section-inner.min-top-space,
.content-inner.min-top-space,
.block-content.min-top-space {
  padding-top: 40px;
}
section.min-bottom-space,
.container.min-bottom-space,
.container-fluid.min-bottom-space,
.section-inner.min-bottom-space,
.content-inner.min-bottom-space,
.block-content.min-bottom-space {
  padding-bottom: 40px;
}
section.large-top-space,
.container.large-top-space,
.container-fluid.large-top-space,
.section-inner.large-top-space,
.content-inner.large-top-space,
.block-content.large-top-space {
  padding-top: 160px;
}
section.large-bottom-space,
.container.large-bottom-space,
.container-fluid.large-bottom-space,
.section-inner.large-bottom-space,
.content-inner.large-bottom-space,
.block-content.large-bottom-space {
  padding-bottom: 160px;
}
section.bg-white,
.container.bg-white,
.container-fluid.bg-white,
.section-inner.bg-white,
.content-inner.bg-white,
.block-content.bg-white {
  background-color: white;
}
section.bg-black,
.container.bg-black,
.container-fluid.bg-black,
.section-inner.bg-black,
.content-inner.bg-black,
.block-content.bg-black {
  background-color: black;
}
@media (max-width: 767px) {
  section.space,
  .container.space,
  .container-fluid.space,
  .section-inner.space,
  .content-inner.space,
  .block-content.space {
    padding-top: 48px;
    padding-bottom: 48px;
  }
  section.min-space,
  .container.min-space,
  .container-fluid.min-space,
  .section-inner.min-space,
  .content-inner.min-space,
  .block-content.min-space {
    padding-top: 24px;
    padding-bottom: 24px;
  }
  section.top-space,
  .container.top-space,
  .container-fluid.top-space,
  .section-inner.top-space,
  .content-inner.top-space,
  .block-content.top-space {
    padding-top: 48px;
  }
  section.bottom-space,
  .container.bottom-space,
  .container-fluid.bottom-space,
  .section-inner.bottom-space,
  .content-inner.bottom-space,
  .block-content.bottom-space {
    padding-bottom: 48px;
  }
  section.min-top-space,
  .container.min-top-space,
  .container-fluid.min-top-space,
  .section-inner.min-top-space,
  .content-inner.min-top-space,
  .block-content.min-top-space {
    padding-top: 24px;
  }
  section.min-bottom-space,
  .container.min-bottom-space,
  .container-fluid.min-bottom-space,
  .section-inner.min-bottom-space,
  .content-inner.min-bottom-space,
  .block-content.min-bottom-space {
    padding-bottom: 24px;
  }
  section.large-top-space,
  .container.large-top-space,
  .container-fluid.large-top-space,
  .section-inner.large-top-space,
  .content-inner.large-top-space,
  .block-content.large-top-space {
    padding-top: 64px;
  }
  section.large-bottom-space,
  .container.large-bottom-space,
  .container-fluid.large-bottom-space,
  .section-inner.large-bottom-space,
  .content-inner.large-bottom-space,
  .block-content.large-bottom-space {
    padding-bottom: 64px;
  }
}

.container {
  max-width: 1440px;
  padding-left: 40px;
  padding-right: 40px;
  margin-left: auto;
  margin-right: auto;
}
.container.no-padding {
  padding-left: 0;
  padding-right: 0;
}
@media (max-width: 767px) {
  .container {
    padding-left: 16px;
    padding-right: 16px;
  }
  .container.no-padding, .container.no-padding-sp {
    padding-left: 0;
    padding-right: 0;
  }
}

.container-fluid {
  padding-left: 40px;
  padding-right: 40px;
  margin-left: auto;
  margin-right: auto;
}
.container-fluid.no-padding {
  padding-left: 0;
  padding-right: 0;
}
@media (max-width: 767px) {
  .container-fluid {
    padding-left: 16px;
    padding-right: 16px;
  }
  .container-fluid.no-padding, .container-fluid.no-padding-sp {
    padding-left: 0;
    padding-right: 0;
  }
}

.section-inner,
.content-inner,
.block-content {
  padding-left: 40px;
  padding-right: 40px;
}
.section-inner.no-padding,
.content-inner.no-padding,
.block-content.no-padding {
  padding-left: 0;
  padding-right: 0;
}
.container .section-inner, .container-fluid .section-inner,
.container .content-inner,
.container-fluid .content-inner,
.container .block-content,
.container-fluid .block-content {
  padding-left: 0;
  padding-right: 0;
}
.container.no-padding .section-inner, .container-fluid.no-padding .section-inner,
.container.no-padding .content-inner,
.container-fluid.no-padding .content-inner,
.container.no-padding .block-content,
.container-fluid.no-padding .block-content {
  padding-left: 40px;
  padding-right: 40px;
}
@media (max-width: 767px) {
  .section-inner,
  .content-inner,
  .block-content {
    padding-left: 16px;
    padding-right: 16px;
  }
  .section-inner.no-padding, .section-inner.no-padding-sp,
  .content-inner.no-padding,
  .content-inner.no-padding-sp,
  .block-content.no-padding,
  .block-content.no-padding-sp {
    padding-left: 0px;
    padding-right: 0px;
  }
  .container .section-inner, .container-fluid .section-inner,
  .container .content-inner,
  .container-fluid .content-inner,
  .container .block-content,
  .container-fluid .block-content {
    padding-left: 0;
    padding-right: 0;
  }
  .container.no-padding .section-inner, .container-fluid.no-padding .section-inner,
  .container.no-padding .content-inner,
  .container-fluid.no-padding .content-inner,
  .container.no-padding .block-content,
  .container-fluid.no-padding .block-content {
    padding-left: 16px;
    padding-right: 16px;
  }
  .container.no-padding-sp .section-inner, .container-fluid.no-padding-sp .section-inner,
  .container.no-padding-sp .content-inner,
  .container-fluid.no-padding-sp .content-inner,
  .container.no-padding-sp .block-content,
  .container-fluid.no-padding-sp .block-content {
    padding-left: 0;
    padding-right: 0;
  }
}

.section-inner {
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
}

.content-inner {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
}
.content-inner.narrow-content {
  max-width: 820px;
}
.content-inner.wide-content {
  max-width: 1020px;
}

.block-content {
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}
.section-inner .block-content, .content-inner .block-content {
  padding-left: 0;
  padding-right: 0;
}

body {
  font-family: Helvetica, "Noto Sans JP", sans-serif;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-size: 1rem;
}
p, h1, h2, h3, h4, h5, h6 {
  display: block;
}
p.weight-normal, h1.weight-normal, h2.weight-normal, h3.weight-normal, h4.weight-normal, h5.weight-normal, h6.weight-normal {
  font-weight: 400 !important;
}
p.weight-medium, h1.weight-medium, h2.weight-medium, h3.weight-medium, h4.weight-medium, h5.weight-medium, h6.weight-medium {
  font-weight: 500 !important;
}
p.weight-bold, h1.weight-bold, h2.weight-bold, h3.weight-bold, h4.weight-bold, h5.weight-bold, h6.weight-bold {
  font-weight: 700 !important;
}

h1, h2, h3, h4, h5, h6 {
  -webkit-margin-before: 0;
  -webkit-margin-after: 0;
  margin: 0.25em 0px;
  font-weight: 700;
  line-height: 1.45em;
}
h1 > small, h2 > small, h3 > small, h4 > small, h5 > small, h6 > small {
  font-size: 60%;
  vertical-align: middle;
}

h1 {
  font-size: 2.25rem;
}
@media (max-width: 767px) {
  h1 {
    font-size: 2rem;
  }
}

h2 {
  font-size: 2.25rem;
  font-weight: 400;
}
@media (max-width: 980px) {
  h2 {
    font-size: 2.5rem;
  }
}
@media (max-width: 767px) {
  h2 {
    font-size: 2rem;
  }
}

h3 {
  font-size: 2rem;
  font-weight: 400;
}
@media (max-width: 980px) {
  h3 {
    font-size: 1.85rem;
  }
}
@media (max-width: 767px) {
  h3 {
    font-size: 1.5rem;
  }
}

h4 {
  font-size: 1.25rem;
}
h5 {
  font-size: 1.125rem;
}
h6 {
  font-size: 1.125rem;
}
p {
  font-size: 1rem;
  line-height: 1.85em;
  margin-top: 1.85em;
  margin-bottom: 1.85em;
}
@media (max-width: 980px) {
  p {
    font-size: 0.875rem;
  }
}
@media (max-width: 767px) {
  p {
    line-height: 1.85em;
    margin-top: 1.75em;
    margin-bottom: 1.75em;
  }
}

span, strong, small {
  display: inline-block;
}

span.underline {
  text-decoration: underline;
}

strong {
  font-weight: 700;
}

small {
  display: inline-block;
  font-size: 80%;
  line-height: 1.75;
}
sup, sub {
  font-size: 70%;
  letter-spacing: 0;
}
sub {
  vertical-align: baseline;
}

li, dt, dd {
  font-size: 1rem;
  word-wrap: break-word;
  word-break: break-all;
}
ul.list {
  margin-top: 2.15em;
  margin-bottom: 2.15em;
}
ul.list li, ul.list dt, ul.list dd {
  line-height: 1.65;
}

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

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

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

.text-justify {
  text-align: justify !important;
}

@media (max-width: 767px) {
  .text-center.sp-left,
  .text-right.sp-left,
  .text-justify.sp-left {
    text-align: left !important;
  }
  .text-left.sp-center,
  .text-right.sp-center,
  .text-justify.sp-center {
    text-align: center !important;
  }
  .text-left.sp-right,
  .text-center.sp-right,
  .text-justify.sp-right {
    text-align: right !important;
  }
  .text-left.sp-justify,
  .text-center.sp-justify,
  .text-right.sp-justify {
    text-align: justify !important;
  }
}
.button {
  display: inline-block;
  min-width: 240px;
  padding: 4px 8px;
  border-radius: 6px;
  color: white;
  font-weight: 700;
  text-align: center;
}
.button.gradient {
  background: rgb(0, 174, 159);
  background: -webkit-gradient(linear, left top, right top, color-stop(10%, rgb(0, 174, 159)), color-stop(40%, rgb(72, 204, 200)), color-stop(50%, rgb(65, 202, 198)), color-stop(90%, rgb(7, 165, 173)));
  background: linear-gradient(90deg, rgb(0, 174, 159) 10%, rgb(72, 204, 200) 40%, rgb(65, 202, 198) 50%, rgb(7, 165, 173) 90%);
}
.button.medium-size {
  min-width: 380px;
  padding: 12px 8px;
}
@media (max-width: 767px) {
  .button {
    min-width: 160px;
    font-size: 0.875rem;
    letter-spacing: -0.045em;
  }
  .button.medium-size {
    min-width: 280px;
  }
}

.pc {
  display: block !important;
}

.pci {
  display: inline !important;
}

.sp {
  display: none !important;
}

.spi {
  display: none !important;
}

.lpc {
  display: block !important;
}

.lpci {
  display: inline !important;
}

.tb {
  display: none !important;
}

.tbi {
  display: none !important;
}

.ltb {
  display: block !important;
}

.ltbi {
  display: inline !important;
}

.smt {
  display: none !important;
}

.smti {
  display: none !important;
}

.xsp {
  display: none !important;
}

.xspi {
  display: none !important;
}

@media screen and (max-width: 768px) {
  .lpc {
    display: none !important;
  }
  .lpci {
    display: none !important;
  }
  .tb {
    display: block !important;
  }
  .tbi {
    display: inline !important;
  }
}
@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
  .pci {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
  .spi {
    display: inline !important;
  }
}
@media screen and (max-width: 480px) {
  .ltb {
    display: none !important;
  }
  .ltbi {
    display: none !important;
  }
  .smt {
    display: block !important;
  }
  .smti {
    display: inline !important;
  }
}
@media screen and (max-width: 320px) {
  .sp.ex-xp {
    display: none !important;
  }
  .spi.ex-xp {
    display: none !important;
  }
  .ex-xp {
    display: none !important;
  }
  .xsp {
    display: block !important;
  }
  .xspi {
    display: inline !important;
  }
}
html {
  height: 100%;
  margin: 0px;
  padding: 0px;
}

html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
}

*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

:focus {
  outline: 0;
}

body {
  height: 100%;
  margin: 0px;
  padding: 0px;
}
body.active-menu {
  overflow: hidden;
  height: 100vh;
}

a:hover, button:hover {
  opacity: 0.6;
}

a {
  text-decoration: none;
  outline: none;
  color: inherit;
}
a:hover {
  opacity: 0.6;
}
a.line:hover {
  opacity: 1;
  text-decoration: underline;
}
a.text-link {
  display: inline-block;
  text-decoration: underline;
}
a.text-link:hover {
  opacity: 0.6;
}
a.arrow:before {
  content: "> ";
}
a.arrow-link {
  position: relative;
  display: inline-block;
  line-height: 1;
  vertical-align: top;
}
a.arrow-link:after {
  content: "»";
  margin-left: 0.25em;
  display: inherit;
  line-height: inherit;
  vertical-align: inherit;
}

button, input[type=submit], input[type=reset] {
  cursor: pointer;
}

figure, picture {
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
  -webkit-margin-start: 0;
          margin-inline-start: 0;
  -webkit-margin-end: 0;
          margin-inline-end: 0;
  margin: 0;
}
figure img, picture img {
  width: 100%;
  height: auto;
}
figure img.auto-image, picture img.auto-image {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}
img {
  vertical-align: top;
}
img.circle-image {
  border-radius: 50%;
}
img.fit-image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  font-family: "object-fit: cover;";
}
img.fit-image.contain {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: top;
     object-position: top;
  font-family: "object-fit: contain;";
}
img.round-image {
  border-radius: 8px;
}
img.auto-image {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}

svg {
  display: block;
  width: 100%;
  height: auto;
}

ul, ol {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

p.space, figure.space, table.space, ul.space, ol.space, dl.space {
  margin-top: 2.5em;
  margin-bottom: 2.5em;
}
p.large-space, figure.large-space, table.large-space, ul.large-space, ol.large-space, dl.large-space {
  margin-top: 4em;
  margin-bottom: 4em;
}
p.min-space, figure.min-space, table.min-space, ul.min-space, ol.min-space, dl.min-space {
  margin-top: 1.25em;
  margin-bottom: 1.25em;
}
p.top-space, figure.top-space, table.top-space, ul.top-space, ol.top-space, dl.top-space {
  margin-top: 2.5em;
}
p.bottom-space, figure.bottom-space, table.bottom-space, ul.bottom-space, ol.bottom-space, dl.bottom-space {
  margin-bottom: 2.5em;
}
p.large-top-space, figure.large-top-space, table.large-top-space, ul.large-top-space, ol.large-top-space, dl.large-top-space {
  margin-top: 4em;
}
p.large-bottom-space, figure.large-bottom-space, table.large-bottom-space, ul.large-bottom-space, ol.large-bottom-space, dl.large-bottom-space {
  margin-bottom: 4em;
}
p.no-space, figure.no-space, table.no-space, ul.no-space, ol.no-space, dl.no-space {
  margin: 0;
}

.section-title {
  padding-bottom: 2.5rem;
}
.section-title h1, .section-title h2 {
  text-align: center;
  font-weight: 500;
}
@media (max-width: 767px) {
  .section-title {
    padding: 1.75rem 0px;
  }
}

.slide-in {
  -webkit-transition: -webkit-transform 3s cubic-bezier(0.19, 1, 0.22, 1) 0s, opacity 0.75s linear 0s;
  -webkit-transition: opacity 0.75s linear 0s, -webkit-transform 3s cubic-bezier(0.19, 1, 0.22, 1) 0s;
  transition: opacity 0.75s linear 0s, -webkit-transform 3s cubic-bezier(0.19, 1, 0.22, 1) 0s;
  transition: transform 3s cubic-bezier(0.19, 1, 0.22, 1) 0s, opacity 0.75s linear 0s;
  transition: transform 3s cubic-bezier(0.19, 1, 0.22, 1) 0s, opacity 0.75s linear 0s, -webkit-transform 3s cubic-bezier(0.19, 1, 0.22, 1) 0s;
  opacity: 0;
  -webkit-transform: translateY(24px);
  transform: translateY(24px);
}
.slide-in.show {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
}
.slide-in.delay1 {
  -webkit-transition: -webkit-transform 3s cubic-bezier(0.19, 1, 0.22, 1) 0.075s, opacity 0.75s linear 0.075s;
  -webkit-transition: opacity 0.75s linear 0.075s, -webkit-transform 3s cubic-bezier(0.19, 1, 0.22, 1) 0.075s;
  transition: opacity 0.75s linear 0.075s, -webkit-transform 3s cubic-bezier(0.19, 1, 0.22, 1) 0.075s;
  transition: transform 3s cubic-bezier(0.19, 1, 0.22, 1) 0.075s, opacity 0.75s linear 0.075s;
  transition: transform 3s cubic-bezier(0.19, 1, 0.22, 1) 0.075s, opacity 0.75s linear 0.075s, -webkit-transform 3s cubic-bezier(0.19, 1, 0.22, 1) 0.075s;
}
.slide-in.delay2 {
  -webkit-transition: -webkit-transform 3s cubic-bezier(0.19, 1, 0.22, 1) 0.125s, opacity 0.75s linear 0.125s;
  -webkit-transition: opacity 0.75s linear 0.125s, -webkit-transform 3s cubic-bezier(0.19, 1, 0.22, 1) 0.125s;
  transition: opacity 0.75s linear 0.125s, -webkit-transform 3s cubic-bezier(0.19, 1, 0.22, 1) 0.125s;
  transition: transform 3s cubic-bezier(0.19, 1, 0.22, 1) 0.125s, opacity 0.75s linear 0.125s;
  transition: transform 3s cubic-bezier(0.19, 1, 0.22, 1) 0.125s, opacity 0.75s linear 0.125s, -webkit-transform 3s cubic-bezier(0.19, 1, 0.22, 1) 0.125s;
}

.fade-in {
  -webkit-transition: -webkit-transform 1.75s cubic-bezier(0.19, 1, 0.22, 1) 0s, opacity 0.75s linear 0s;
  -webkit-transition: opacity 0.75s linear 0s, -webkit-transform 1.75s cubic-bezier(0.19, 1, 0.22, 1) 0s;
  transition: opacity 0.75s linear 0s, -webkit-transform 1.75s cubic-bezier(0.19, 1, 0.22, 1) 0s;
  transition: transform 1.75s cubic-bezier(0.19, 1, 0.22, 1) 0s, opacity 0.75s linear 0s;
  transition: transform 1.75s cubic-bezier(0.19, 1, 0.22, 1) 0s, opacity 0.75s linear 0s, -webkit-transform 1.75s cubic-bezier(0.19, 1, 0.22, 1) 0s;
  opacity: 0;
}
.fade-in.show {
  opacity: 1;
}
.fade-in.delay {
  -webkit-transition: -webkit-transform 1.75s cubic-bezier(0.19, 1, 0.22, 1) 1s, opacity 0.75s linear 1s;
  -webkit-transition: opacity 0.75s linear 1s, -webkit-transform 1.75s cubic-bezier(0.19, 1, 0.22, 1) 1s;
  transition: opacity 0.75s linear 1s, -webkit-transform 1.75s cubic-bezier(0.19, 1, 0.22, 1) 1s;
  transition: transform 1.75s cubic-bezier(0.19, 1, 0.22, 1) 1s, opacity 0.75s linear 1s;
  transition: transform 1.75s cubic-bezier(0.19, 1, 0.22, 1) 1s, opacity 0.75s linear 1s, -webkit-transform 1.75s cubic-bezier(0.19, 1, 0.22, 1) 1s;
}
.fade-in.delay1 {
  -webkit-transition: -webkit-transform 1.75s cubic-bezier(0.19, 1, 0.22, 1) 0.075s, opacity 0.75s linear 0.075s;
  -webkit-transition: opacity 0.75s linear 0.075s, -webkit-transform 1.75s cubic-bezier(0.19, 1, 0.22, 1) 0.075s;
  transition: opacity 0.75s linear 0.075s, -webkit-transform 1.75s cubic-bezier(0.19, 1, 0.22, 1) 0.075s;
  transition: transform 1.75s cubic-bezier(0.19, 1, 0.22, 1) 0.075s, opacity 0.75s linear 0.075s;
  transition: transform 1.75s cubic-bezier(0.19, 1, 0.22, 1) 0.075s, opacity 0.75s linear 0.075s, -webkit-transform 1.75s cubic-bezier(0.19, 1, 0.22, 1) 0.075s;
}
.fade-in.delay2 {
  -webkit-transition: -webkit-transform 1.75s cubic-bezier(0.19, 1, 0.22, 1) 0.125s, opacity 0.75s linear 0.125s;
  -webkit-transition: opacity 0.75s linear 0.125s, -webkit-transform 1.75s cubic-bezier(0.19, 1, 0.22, 1) 0.125s;
  transition: opacity 0.75s linear 0.125s, -webkit-transform 1.75s cubic-bezier(0.19, 1, 0.22, 1) 0.125s;
  transition: transform 1.75s cubic-bezier(0.19, 1, 0.22, 1) 0.125s, opacity 0.75s linear 0.125s;
  transition: transform 1.75s cubic-bezier(0.19, 1, 0.22, 1) 0.125s, opacity 0.75s linear 0.125s, -webkit-transform 1.75s cubic-bezier(0.19, 1, 0.22, 1) 0.125s;
}

.link {
  margin-top: 1rem;
  text-align: center;
}

dl.simple-table {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
dl.simple-table dt, dl.simple-table dd {
  margin: 0.45em 0px;
  line-height: 1.5;
}
dl.simple-table dt {
  width: 20%;
  font-weight: 700;
}
dl.simple-table dd {
  width: 80%;
}
dl.simple-table.table-line {
  border-top: 1px solid #b2b2b2;
}
dl.simple-table.table-line dt, dl.simple-table.table-line dd {
  padding: 0.25em 0 0.85em;
  border-bottom: 1px solid #b2b2b2;
}
@media (max-width: 767px) {
  dl.simple-table {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
  }
  dl.simple-table dt {
    width: 88px;
  }
  dl.simple-table dd {
    width: calc(100% - 88px);
  }
}

.social-links {
  width: 100%;
  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;
  margin-top: 3%;
}
.social-links > li {
  margin: 0px 1.5em;
}
.social-links > li:first-child {
  margin-left: 0;
}
.social-links > li:last-child {
  margin-right: 0;
}
.social-links > li > a {
  display: block;
  line-height: 1;
  width: 48px;
  height: 48px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 48px auto;
}
.social-links > li > a span {
  position: absolute;
  overflow: hidden;
  height: 1px;
  width: 1px;
  padding: 0;
  border: 0;
  font-size: 0;
}

@media (max-width: 767px) {
  .social-links {
    margin-top: 4%;
  }
  .social-links > li {
    margin: 0px 0.75em;
  }
  .social-links > li:first-child {
    margin-left: 0;
  }
  .social-links > li:last-child {
    margin-right: 0;
  }
  .social-links > li > a {
    width: 40px;
    height: 40px;
    background-size: 40px auto;
  }
}
header {
  width: 100%;
}
header .sh-container {
  width: 100%;
  padding-top: 44px;
  padding-left: 40px;
  padding-right: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
header .sh-logo {
  position: relative;
  z-index: 5;
}
header .sh-logo .logo {
  display: block;
  width: 50px;
  height: 55px;
}
header .sh-logo .name {
  font-size: 1.3125rem;
  font-weight: 700;
}
header .sh-nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
header .sh-nav ul li {
  margin: 0px 0.75rem;
  line-height: 20px;
}
header .sh-nav ul li a {
  font-weight: 700;
}
header .sh-nav ul li.nav-instagram {
  margin-left: 1.5rem;
}
header .sh-nav ul li.nav-instagram a {
  display: block;
  width: 20px;
  height: 20px;
  font-size: 0;
  color: transparent;
  background-image: url(../images/ic_social_instagram.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
header .sh-menu-button {
  display: none;
}
@media (max-width: 767px) {
  header .sh-container {
    padding-top: 16px;
    padding-left: 16px;
    padding-right: 16px;
  }
  header .sh-logo .name {
    font-size: 1.125rem;
  }
  header .sh-nav {
    display: none;
    opacity: 0;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: white;
    -webkit-transition: opacity 0.35s ease 0s;
    transition: opacity 0.35s ease 0s;
  }
  header .sh-nav ul {
    height: 100%;
    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;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 40px 1rem 0px;
  }
  header .sh-nav ul li {
    margin: 1rem 0px;
  }
  header .sh-nav ul li.nav-instagram {
    margin: 1rem 0px;
  }
  header .sh-nav.init {
    display: block;
  }
  header .sh-nav.show {
    opacity: 1;
  }
  header .sh-menu-button {
    display: block;
    width: 40px;
    height: 44px;
    border: 0;
    -webkit-user-select: none;
    background-color: transparent;
    position: absolute;
    right: 8px;
  }
  header .sh-menu-button.active {
    position: fixed;
    z-index: 11;
  }
  header .sh-menu-button .btn-hamburger, header .sh-menu-button .btn-hamburger:before, header .sh-menu-button .btn-hamburger:after {
    width: 24px;
    height: 2px;
    position: absolute;
    background-color: black;
    -webkit-transition: background-color 0.35s ease 0s;
    transition: background-color 0.35s ease 0s;
  }
  header .sh-menu-button .btn-hamburger {
    top: 50%;
    left: 50%;
    margin-top: -1px;
    margin-left: -12px;
  }
  header .sh-menu-button .btn-hamburger:before, header .sh-menu-button .btn-hamburger:after {
    content: "";
    left: 0;
    display: block;
    -webkit-transition: top 0.35s ease-out, transform 0.35s ease-out, background-color 0.35s ease-out;
    -webkit-transition: top 0.35s ease-out, background-color 0.35s ease-out, -webkit-transform 0.35s ease-out;
    transition: top 0.35s ease-out, background-color 0.35s ease-out, -webkit-transform 0.35s ease-out;
    transition: top 0.35s ease-out, transform 0.35s ease-out, background-color 0.35s ease-out;
    transition: top 0.35s ease-out, transform 0.35s ease-out, background-color 0.35s ease-out, -webkit-transform 0.35s ease-out;
  }
  header .sh-menu-button .btn-hamburger:before {
    top: -6px;
  }
  header .sh-menu-button .btn-hamburger:after {
    top: 6px;
  }
  header .sh-menu-button .btn-hamburger.active {
    background-color: transparent !important;
  }
  header .sh-menu-button .btn-hamburger.active:before, header .sh-menu-button .btn-hamburger.active:after {
    top: 0px;
    background-color: black;
  }
  header .sh-menu-button .btn-hamburger.active:before {
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
  }
  header .sh-menu-button .btn-hamburger.active:after {
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
  }
  header .sh-menu-button .btn-label {
    position: absolute;
    overflow: hidden;
    clip: rect(0 0 0 0);
    height: 1px;
    width: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
  }
}
.top-page header {
  position: absolute;
  z-index: 10;
}

footer {
  width: 100%;
  padding: 6.25rem 0px 1.5rem;
}
footer .footer-logo {
  width: 90px;
  height: 100px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2rem;
}
footer .footer-logo img {
  width: 100%;
  height: auto;
}
footer .footer-copyright {
  font-size: 0.875rem;
  text-align: center;
}
@media (max-width: 767px) {
  footer {
    height: 32px;
  }
  footer .footer-copyright {
    font-size: 0.75rem;
  }
}
.top-page footer {
  height: 40px;
  padding: 0;
  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;
}

.top-kv {
  width: 100vw;
  height: 100vh;
  position: relative;
}
@media (max-width: 767px) {
  .top-kv {
    height: calc(100vh - 32px);
    max-height: 100vh;
  }
}

.kv-image {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.kv-image picture, .kv-image figure {
  display: block;
  margin: 0;
  width: 100%;
  height: 100%;
}
.kv-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  font-family: "object-fit: cover;";
}
.kv-logo {
  position: absolute;
  width: 90px;
  height: 100px;
  left: calc(50% - 45px);
  top: calc(50% - 50px);
}
.kv-logo img {
  width: 100%;
  height: auto;
}
@media (max-width: 767px) {
  .kv-logo {
    width: 72px;
    height: 80px;
    left: calc(50% - 36px);
    top: calc(50% - 40px);
  }
}

.archive-tags {
  text-align: center;
}
.archive-tags.bottom-tags {
  padding-top: 2.5rem;
}
.archive-tags li {
  display: inline-block;
  margin: 0.25rem 0.5rem;
  color: #808080;
  font-size: 1.125rem;
}
@media (max-width: 767px) {
  .archive-tags li {
    margin: 0.25rem 0.35rem;
    font-size: 1rem;
  }
}

.works-list {
  margin: 3.75rem 0px;
}
.works-list .works-item {
  margin-bottom: 5.625rem;
}
.works-list .works-item .credit p {
  margin: 1.5rem 0px;
  line-height: 1.5;
  text-align: center;
}
@media (max-width: 767px) {
  .works-list {
    margin: 3.25rem 0px;
  }
  .works-list .works-item {
    margin-bottom: 4.5rem;
  }
  .works-list .works-item .credit p {
    margin: 1rem 0px;
  }
}

.contact-info p {
  margin: 0;
  font-size: 1.375rem;
  text-align: center;
}
.contact-info p a {
  text-decoration: underline;
}

.post-title {
  padding-bottom: 4rem;
}
.post-title h1 {
  font-weight: 500;
  text-align: center;
}
.post-meta {
  margin-bottom: 3.75rem;
}

.post-description p,
.post-credit p {
  font-size: 1rem;
  margin: 1.25rem 0px;
  color: #808080;
  text-align: center;
}
.post-description p img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: auto;
  max-width: 100%;
  height: auto;
}

.post-credit {
  margin-bottom: 2.5rem;
}

.page-content p {
  margin: 1.85rem 0px;
  color: #808080;
  font-size: 0.875rem;
}
.page-content p.caption {
  text-align: center;
  margin-top: -1.35rem;
}
.page-content img {
  display: block;
  margin: 1.85rem 0px;
}
.page-content h4, .page-content h5, .page-content h6 {
  margin-top: 3rem;
  margin-bottom: 1.85rem;
}
.page-content h4 {
  font-size: 1.5rem;
}
.page-content h5 {
  font-size: 1.25rem;
}
.page-content h6 {
  font-size: 1.125rem;
}
.page-content .column {
  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;
  margin: 1.85rem 0px;
}
.page-content .column > p, .page-content .column > img {
  width: calc(50% - 8px);
}
.page-content .column > p:nth-of-type(-n+2), .page-content .column > img:nth-of-type(-n+2) {
  margin-top: 0;
}
.page-content .column > p:nth-last-of-type(-n+2), .page-content .column > img:nth-last-of-type(-n+2) {
  margin: 0;
}
.page-content .sequence p, .page-content .sequence img {
  margin: 8px 0px;
}
.page-content .sequence .column {
  margin: 8px 0px;
}
.page-content .sequence .column > p, .page-content .sequence .column > img {
  width: calc(50% - 4px);
  margin: 0px 0px;
}
.page-content .sequence + p.caption {
  margin-top: 8px;
}
.page-content .link {
  margin: 1.85rem 0px;
  text-align: center;
}
.page-content h4.top-space, .page-content h5.top-space, .page-content h6.top-space, .page-content p.top-space, .page-content img.top-space,
.page-content .column.top-space, .page-content .sequence.top-space, .page-content .link.top-space {
  margin-top: 4rem;
}
.page-content h4.bottom-space, .page-content h5.bottom-space, .page-content h6.bottom-space, .page-content p.bottom-space, .page-content img.bottom-space,
.page-content .column.bottom-space, .page-content .sequence.bottom-space, .page-content .link.bottom-space {
  margin-bottom: 4rem;
}
@media (max-width: 767px) {
  .page-content p {
    margin: 1.625rem 0px;
  }
  .page-content img {
    margin: 1.625rem 0px;
  }
  .page-content h4, .page-content h5, .page-content h6 {
    margin-top: 2rem;
    margin-bottom: 1.625rem;
  }
  .page-content h4 {
    font-size: 1.375rem;
  }
  .page-content .column {
    margin: 1.625rem 0px;
  }
  .page-content .column > p, .page-content .column > img {
    width: calc(50% - 4px);
  }
  .page-content .sequence p, .page-content .sequence img {
    margin: 4px 0px;
  }
  .page-content .sequence .column {
    margin: 4px 0px;
  }
  .page-content .sequence .column > p, .page-content .sequence .column > img {
    margin: 4px 0px;
  }
  .page-content .link {
    margin: 1.625rem 0px;
    text-align: center;
  }
  .page-content h4.top-space, .page-content h5.top-space, .page-content h6.top-space, .page-content p.top-space, .page-content img.top-space,
  .page-content .column.top-space, .page-content .sequence.top-space, .page-content .link.top-space {
    margin-top: 3rem;
  }
  .page-content h4.bottom-space, .page-content h5.bottom-space, .page-content h6.bottom-space, .page-content p.bottom-space, .page-content img.bottom-space,
  .page-content .column.bottom-space, .page-content .sequence.bottom-space, .page-content .link.bottom-space {
    margin-bottom: 3rem;
  }
}

.published {
  margin-bottom: 3.75rem;
}
.published a[rel="noopener noreferrer"] {
  word-wrap: break-word;
  word-break: break-all;
}
.published img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: auto;
  max-width: 100%;
  height: auto;
}
.published img + small {
  display: inline-block;
  margin-top: 0.5rem;
}
.published strong {
  font-weight: 700;
}
.published ul, .published ol {
  -webkit-margin-before: 1.65em;
          margin-block-start: 1.65em;
  -webkit-margin-after: 1.65em;
          margin-block-end: 1.65em;
  -webkit-padding-start: 1.65em;
          padding-inline-start: 1.65em;
}
.published ul li, .published ol li {
  -webkit-margin-before: 0.25em;
          margin-block-start: 0.25em;
  -webkit-margin-after: 0.25em;
          margin-block-end: 0.25em;
  line-height: 1.575;
}
.published ul {
  list-style: disc;
}
.published ol {
  list-style: decimal;
}
.published ul.no-style, .published ol.no-style {
  list-style: none;
  -webkit-padding-start: 0em;
          padding-inline-start: 0em;
}
.published ul.no-style li, .published ol.no-style li {
  line-height: 1;
}
.published table {
  border-collapse: collapse;
  border-style: solid;
  border-width: 1px;
  margin-bottom: 1.85em;
}
.published table tr, .published table th, .published table td {
  border-color: inherit;
  border-collapse: collapse;
  border-style: solid;
  border-width: 1px;
}
.published table th, .published table td {
  padding: 0.25em 0.45em;
  line-height: 1.575;
}
.published .release-pdf-file a {
  color: inherit;
}
@media (max-width: 767px) {
  .published table tr, .published table th, .published table td {
    font-size: 0.875rem;
  }
}

.post-link {
  margin-top: 64px;
  text-align: center;
}
@media (max-width: 767px) {
  .post-link {
    margin-top: 48px;
  }
}