@charset "utf-8";

/* =============================================================

  "Nano Create Company" Topics Article Styles

============================================================= */
body {
  background-image: url(../images/topics_bg_gra.webp);
  background-repeat: no-repeat;
  background-position: 50% 0;
  background-size: cover;
}
.sp { display: none !important; }

@media screen and (max-width:780px) {
  body { background-image: url(../images/topics_bg_gra_sp.webp); }
  .pc { display: none !important; }
  .sp { display: inherit !important; }
}

/*
  Page Header
============================================================= */
.page-header { padding: 200px 0 0; }
.page-header > i.round2 {
  position: absolute;
  top: calc(95 / 1920 * 100vw);
  left: calc(13 / 1920 * 100vw * -1);
}

@media screen and (min-width:1921px) {
  .page-header { padding: calc(200 / 1920 * 100vw) 0 0; }
}

@media screen and (max-width:780px) {
  .page-header { padding: calc(175 / 780 * 100vw) 0 0; }
  .page-header > i.round2 {
    top: calc(60 / 780 * 100vw);
    left: calc(313 / 780 * 100vw * -1);
  }
}

/*
  Topics Article
============================================================= */
.article-container { padding: 215px 0 110px; }
.article-container .inner { padding: 0 60px; }
.article-container article {
  width: 780px;
  margin: auto;
}
.article-container article span {
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: .15em;
}
.article-container article h3 {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: calc(48 / 24);
  letter-spacing: .15em;
  margin: 0 0 .25em;
}
.article-container article p {
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: .05em;
  line-height: calc(36 / 16);
  margin: 2em 0;
}
.article-container .article-details > figure:not(:first-of-type) { margin: 60px 0 0; }
.article-container article figure img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.article_images {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
  margin: 60px 0 0;
}

@media screen and (max-width:780px) {
  .article-container { padding: calc(200 / 780 * 100vw) 0 calc(155 / 780 * 100vw); }
  .article-container .inner { padding: 0; }
  .article-container article { width: 100%; }
  /*
  .article-container .article-details > figure {
    width: 100vw;
    transform: translateX(calc(60 / 780 * 100vw * -1));
  }
  */
  .article-container .article-details > figure:not(:first-of-type) { margin: calc(60 / 780 * 100vw) 0 0; }
  .article-container article span { font-size: calc(22 / 780 * 100vw); }
  .article-container article h3 { font-size: calc(28 / 780 * 100vw); }
  .article-container article p {
    font-size: calc(26 / 780 * 100vw);
    line-height: calc(54 / 26);
  }
  .article_images {
    /*
    width: 100vw;
    transform: translateX(calc(60 / 780 * 100vw * -1));
    */
    gap: calc(30 / 780 * 100vw);
    margin: calc(60 / 780 * 100vw) 0 0;
  }
  /*
  .article_images figure { width: 50vw; }
  */
}

/*
  Pager
============================================================= */
.pager {
  width: fit-content;
  margin: auto;
  color: var(--green);
  display: flex;
  align-items: center;
  gap: 0 40px;
  margin: 120px auto 0;
}
.pager a {
  display: grid;
  place-items: center;
  background-color: var(--white);
  border: solid 2px #badfdb;
  transition: all .3s;
}
.pager a.to-list {
  height: 60px;
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: .05em;
  border-radius: 30px;
  padding: 0 3em;
}
.pager a.prev, .pager a.next {
  position: relative;
  width: 46px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  border: solid 2px #badfdb;
}
.pager a.prev::after, .pager a.next::after {
  content: "";
  font-size: 18px;
  font-size: 1.8rem;
  display: grid;
  place-items: center;
  transform: scaleX(.6);
}
.pager a.prev::after { content: "＜"; }
.pager a.next::after { content: "＞"; }
.pager a:hover {
  opacity: 1;
  background-color: #badfdb;
}

@media screen and (max-width:780px) {
  .pager {
    margin: calc(100 / 780 * 100vw) auto 0;
    gap: 0 calc(40 / 780 * 100vw);
  }
  .pager a.to-list {
    height: calc(90 / 780 * 100vw);
    font-size: calc(26 / 780 * 100vw);
    border-radius: calc(45 / 780 * 100vw);
    padding: 0 1.75em;
  }
  .pager a.prev, .pager a.next { width: calc(70 / 780 * 100vw); }
  .pager a.prev::after, .pager a.next::after { font-size: calc(26 / 780 * 100vw); }
}

/*
  Decorations
============================================================= */

/* Round
------------------------------------------------------------- */
.dr03 {
  top: calc(1700 / 1920 * 100vw);
  right: calc(290 / 1920 * 100vw);
}
.dr04, .dr05 { display: none; }

/* Square
------------------------------------------------------------- */
.ds01 {
  top: calc(670 / 1920 * 100vw);
  right: calc(65 / 1920 * 100vw);
}
.ds02 {
  top: calc(905 / 1920 * 100vw);
  left: calc(125 / 1920 * 100vw);
}
.ds04, .ds05, .ds06, .ds07 { display: none; }

/* Triangle
------------------------------------------------------------- */
.dt02 {
  top: calc(1390 / 1920 * 100vw);
  left: initial;
  right: calc(410 / 1920 * 100vw)
}
.dt05, .dt06, .dt07 { display: none; }

@media screen and (max-width:780px) {

  /* Round
  ------------------------------------------------------------- */
  .dr02 {
    top: calc(310 / 780 * 100vw);
    left: initial;
    right: calc(120 / 780 * 100vw);
  }
  .dr03 {
    top: calc(625 / 780 * 100vw);
    left: calc(65 / 780 * 100vw * -1);
    right: initial;
  }
  .dr01, .dr04, .dr05 { display: none; }

  /* Square
  ------------------------------------------------------------- */
  .ds08 {
    top: calc(735 / 780 * 100vw);
    right: calc(220 / 780 * 100vw);
  }
  .ds01, .ds02, .ds03, .ds04, .ds05, .ds06, .ds07 { display: none; }

  /* Triangle
  ------------------------------------------------------------- */
  .dt02 {
    top: calc(1210 / 780 * 100vw);
    left: calc(265 / 780 * 100vw);
  }
  .dt04 {
    top: calc(440 / 780 * 100vw);
    left: calc(200 / 780 * 100vw);
  }
  .dt01, .dt03, .dt05, .dt06, .dt07 { display: none; }

}

/* =============================================================

  WordPress Overwrite Styles

============================================================= */
.entry-header, .entry-footer, .entry-content { display: none; }

/*
  WordPress - 'navigation' Overwrite
======================================================== */
.page-navi {
  position: relative;
  width: 475px;
  margin: 0 auto 200px;
}
.to-list {
  position: absolute;
  top: -7px;
  left: 50%;
  transform: translate(-50%);
  font-size: 16px;
  font-size: 1.6rem;
  color: var(--green);
  width: 300px;
  height: 60px;
  border-radius: 30px;
  border: solid 2px #badfdb;
  background-color: var(--white);
  display: grid;
  place-content: center;
}
.to-list:hover {
  color: #ffffff;
  background-color: #badfdb;
  transition: all 0.3s;
}

.navigation h2 { display: none; }
.nav-links {
  position: relative;
  width: 100%;
  /*
  display: flex;
  align-items: center;
  justify-content: space-between;
  */
}
.nav-previous, .nav-next {
  position: absolute;
  top: 0;
}
.nav-previous { left: 0; }
.nav-next { right: 0; }
.nav-previous a, .nav-next a {
  width: 46px;
  height: 46px;
  font-size: 18px;
  font-size: 1.8rem;
  color: var(--green);
  border: solid 2px #badfdb;
  background-color: var(--white);
  display: grid;
  place-content: center;
  border-radius: 50%;
  transition: all 0.3s;
}
.nav-previous a:hover, .nav-next a:hover {
  color: #ffffff;
  background-color: #badfdb;
}
.nav-subtitle { transform: scaleX(.6); }

@media screen and (max-width: 780px) {

  .page-navi {
    width: calc(100% - (120 / 780 * 100%));
    margin: 0 auto calc(150 / 780 * 100vw);
  }
  .to-list {
    top: calc(10 / 780 * 100vw  -1);
    width: calc(450 / 780 * 100vw);
    height: calc(90 / 780 * 100vw);
    border-radius: calc(45 / 780 * 100vw);
    font-size: calc(26 / 780 * 100vw);
  }
  .nav-previous a, .nav-next a {
    width: calc(70 / 780 * 100vw);
    height: calc(70 / 780 * 100vw);
    font-size: calc(28 / 780 * 100vw);
  }

}