@charset "UTF-8";
/* 初期背景色 remの設定 */
html {
  font-size: 62.5%;
  background: #dae7f0;
  background: linear-gradient(320deg, #dae7f0 0%, #f5f8fa 55%); }

/* 全体の設定 */
body {
  background-repeat: no-repeat;
  position: relative;
  max-width: 100%;
  margin: 0 auto; }

.none {
  display: none; }

.bg-all-base {
  background-position: bottom -300px left 0;
  transition: 0.5s;
  opacity: 0; }

.bg-all {
  background-image: url(../img/common/background.png);
  background-repeat: no-repeat;
  background-position: bottom 0 left 0;
  background-size: auto 100%;
  position: fixed;
  width: 100vw;
  height: 100vh;
  z-index: -1;
  transition: 0.4s;
  opacity: 1; }
  @media screen and (max-width: 768px) {
    .bg-all {
      background-image: url("../img/common/background_sp.png");
      background-size: auto 87%; } }
  @media screen and (max-width: 560px) {
    .bg-all {
      background-image: url("../img/common/background_sp.png");
      background-size: 125vw 86.5vh;
      background-position: bottom left; } }

.img-box {
  position: relative; }
  .img-box img {
    transform: translate(-50%, -50%); }
  @media screen and (max-width: 960px) {
    .img-box {
      right: 14vw;
      transform: scale(0.85); } }
  @media screen and (max-width: 768px) {
    .img-box {
      z-index: -10; } }
  @media screen and (max-width: 560px) {
    .img-box {
      z-index: -10;
      transform: scale(1); } }
  @media screen and (max-width: 560px) and (min-height: 550px) {
    .img-box {
      top: -7vh; } }
  @media screen and (max-width: 560px) and (min-height: 650px) {
    .img-box {
      top: -11vh; } }

  @media screen and (min-width: 1600px) {
    .img-box {
      right: 10vw; } }
  @media screen and (min-width: 1900px) {
    .img-box {
      right: 14vw; } }

.anchor {
  margin-top: -10rem;
  padding-top: 10rem; }
  @media screen and (max-width: 768px) {
    .anchor {
      margin-top: -6rem;
      padding-top: 6rem; } }

/* メディアクエリ max*/
/* ↓↓↓呼び出し↓↓↓ */
/* メディアクエリ min*/
/* PCとSPの表示切り替え */
.pc-only {
  display: block; }
  @media screen and (max-width: 768px) {
    .pc-only {
      display: none; } }

.sp-only {
  display: none; }
  @media screen and (max-width: 768px) {
    .sp-only {
      display: block; } }

/* 配置 */
/* flex */
/* カラー */
/* 背景色 */
.bg {
  background-color: "$white"; }

/* フォントサイズ */
/* フォンファミリー */
* {
  font-size: "Noto Sans JP", sans-serif;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1;
  color: #1e1c1c; }

img {
  max-width: 100%;
  height: auto;
  image-rendering: -webkit-optimize-contrast; }

.fp-slidesNav ul {
  display: flex;
  justify-content: space-between;
  width: 339px !important;
  max-width: 339px !important;
  margin-top: auto !important;
  position: absolute !important;
  bottom: 40px !important;
  left: 80px; }
  @media screen and (max-width: 768px) {
    .fp-slidesNav ul {
      max-width: 295px !important; } }
  @media screen and (max-width: 560px) {
    .fp-slidesNav ul {
      left: 50%;
      transform: translateX(-50%); } }
  @media screen and (max-width: 374px) {
    .fp-slidesNav ul {
      width: 240px !important; } }
  .fp-slidesNav ul .btn {
    width: auto;
    height: auto;
    margin-bottom: 0; }
    .fp-slidesNav ul .btn a {
      background-color: #fdfdfd !important;
      padding: 7px 0 8px !important;
      text-align: center !important;
      display: inline-block !important;
      width: 88px !important;
      border-radius: 13px !important;
      color: #a7c0cc !important;
      font-family: "Oswald", sans-serif !important;
      font-size: 1.1rem !important;
      border-radius: 13px !important; }
      @media screen and (min-width: 769px) {
        .fp-slidesNav ul .btn a:hover {
          color: #fff !important;
          background-color: #a7c0cc !important; } }
      @media screen and (max-width: 768px) {
        .fp-slidesNav ul .btn a {
          width: 88px !important; } }
      @media screen and (max-width: 374px) {
        .fp-slidesNav ul .btn a {
          width: 70px !important; } }
    .fp-slidesNav ul .btn .active {
      background-color: #768495 !important;
      color: #fff !important; }
  .fp-slidesNav ul .btn:not(.active) a {
    box-shadow: 0px 3px 14px -8px #8ea3ad !important; }

.title {
  font-family: "Oswald", sans-serif;
  color: #768495;
  font-size: 12.4rem;
  letter-spacing: 0.04em;
  font-weight: 300;
  margin-bottom: 46px; }
  @media screen and (max-width: 768px) {
    .title {
      font-size: 4.2rem;
      margin-bottom: 45px; } }

.sub-title__wrapper {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 28px; }
  @media screen and (max-width: 768px) {
    .sub-title__wrapper {
      margin-bottom: 20px; } }

.sub-title {
  font-family: "Oswald", sans-serif;
  font-size: 3.2rem;
  color: #768495;
  letter-spacing: 0.06em;
  margin-right: 22px; }
  @media screen and (max-width: 768px) {
    .sub-title {
      margin-right: 12px;
      font-size: 2rem; } }

.sub-title__add {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.1rem;
  color: #768495;
  padding-top: 6px; }
  @media screen and (max-width: 768px) {
    .sub-title__add {
      padding-top: 1px;
      font-size: 1rem; } }

.content-title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
  color: #768495;
  margin-bottom: 42px;
  font-weight: 500; }
  @media screen and (max-width: 768px) {
    .content-title {
      font-size: 1.4em;
      margin-bottom: 20px; } }

.content-title__small {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  color: #707070; }
  @media screen and (max-width: 768px) {
    .content-title__small {
      font-size: 1.2rem;
      font-weight: bold; } }

.text__title {
  font-size: 1.6rem;
  color: #768495; }
  @media screen and (max-width: 768px) {
    .text__title {
      font-size: 1.2rem;
      font-weight: bold; } }

.text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  color: #1e1c1c;
  line-height: 1.7;
  letter-spacing: 0.06em;
  font-weight: 500; }
  @media screen and (max-width: 768px) {
    .text {
      font-size: 1.2rem; } }

.read-text {
  font-size: 1.6rem;
  color: #768495;
  line-height: 1.75;
  font-weight: 500; }
  @media screen and (max-width: 768px) {
    .read-text {
      font-size: 1.4rem;
      font-weight: bold; } }

.indent {
  padding-left: 1em;
  text-indent: -1em; }

.utsuwa .text:not(:last-child),
.marketing .text:not(:last-child),
.solution .text:not(:last-child),
.creative .text:not(:last-child),
.logo .text:not(:last-child),
.value .text:not(:last-child),
.mission .text:not(:last-child) {
  margin-bottom: 13px; }

a {
  transition: 0.3s;
  display: inline-block; }
  @media screen and (min-width: 769px) {
    a:hover {
      color: #768495;
      transition: 0.3s; } }

.text-box__inner {
  position: relative;
  padding: 20vh 80px 0;
  min-height: 500px;
  max-width: 100vw; }
  @media screen and (max-width: 768px) {
    .text-box__inner {
      padding: 16.2vh 40px 10px;
      height: 100vh;
      max-height: 600px; } }
  @media screen and (max-width: 768px) and (max-height: 450px) {
    .text-box__inner {
      padding-top: 80px; } }

.fp-scrollable {
  width: 100%; }

@media screen and (orientation: landscape) and (max-height: 760px) {
  .title {
    font-size: 10rem; } }
@media screen and (orientation: landscape) and (max-height: 700px) {
  .title {
    font-size: 7rem; } }
@media screen and (orientation: landscape) and (max-height: 660px) {
  .text-box__inner {
    padding: 90px 80px 0; }

  .h__title {
    margin-top: 23px !important; }

  .h__title-logo {
    width: 113px;
    margin-bottom: 6px !important; }

  .h__title-text {
    font-size: 1rem !important; }

  .title {
    font-size: 4.2rem;
    margin-bottom: 32px; }

  .company .title {
    margin-bottom: 32px !important; }

  .sub-title {
    font-size: 2rem; }

  .sub-title__add {
    font-size: 1rem; }

  .text {
    font-size: 1.2rem; }

  .company__list-contents {
    font-size: 1.1rem !important; }

  .read-text {
    font-size: 1.4rem;
    margin-bottom: 26px !important;
    font-weight: bold; }

  .text__title {
    font-size: 1.2rem;
    font-weight: bold; }

  .content-title {
    font-size: 1.4rem;
    margin-bottom: 20px !important; }

  .content-title__small {
    font-size: 1.2rem; } }
@media screen and (orientation: landscape) and (max-height: 550px) {
  .sub-title__wrapper {
    margin-bottom: 18px; }

  .read-text {
    margin-bottom: 18px !important; }

  .text__wrapper {
    margin-bottom: 18px !important; }

  .value .text__block:not(:last-child) {
    margin-bottom: 14px !important; }

  .logo .logo__img {
    margin-bottom: 18px !important;
    width: 240px; }
  .logo .sub-title__wrapper {
    margin-bottom: 26px !important; } }
#loading-bg {
  width: 0;
  height: 0;
  top: 50%;
  left: 50%;
  z-index: 1000;
  position: absolute;
  transform: translate(-50%, -50%);
  background: linear-gradient(54deg, #dbedf3 56%, #e3f1f5 70%, white 100%); }

.fullpage-wrapper .fp-section .fp-slidesContainer .fp-slide {
  width: 100% !important;
  position: absolute;
  left: 0;
  top: 0;
  visibility: hidden;
  opacity: 0;
  z-index: 0;
  transition: all 0.6s ease-in-out; }
  .fullpage-wrapper .fp-section .fp-slidesContainer .fp-slide.active {
    visibility: visible;
    opacity: 1;
    z-index: 1; }

.box {
  align-items: center;
  color: white;
  display: flex;
  font-weight: bold;
  justify-content: center;
  height: 100px;
  width: 100px; }

svg {
  overflow: visible !important; }

.read-more {
  position: relative; }
  .read-more:hover a {
    color: #a7c0cc; }
  .read-more a {
    font-weight: normal;
    margin-bottom: 4px;
    padding-right: 30px;
    color: #768495;
    font-size: 1.1rem;
    position: relative; }
    @media screen and (max-width: 768px) {
      .read-more a {
        font-size: 1rem;
        padding-right: 22px; } }
    .read-more a img {
      position: absolute;
      transform: translate(0, 50%);
      right: 8.2%; }
    .read-more a:after {
      content: "";
      position: absolute;
      top: 50%;
      transform: translate(10px, -50%);
      width: 21px;
      height: 21px;
      border-radius: 50%;
      background-color: #eff2f4;
      z-index: -1; }
      @media screen and (max-width: 768px) {
        .read-more a:after {
          transform: translate(5px, -45%);
          width: 17px;
          height: 17px; } }

.nav-active {
  overflow-x: hidden; }

.nav-active::-webkit-scrollbar {
  width: 8px; }

.nav-active::-webkit-scrollbar-thumb {
  border-radius: 0.25rem; }

.nav-active::-webkit-scrollbar-thumb {
  --bg-opacity: 1;
  background-color: #243040; }

.not-found {
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 0 40px;
  text-align: center; }
  .not-found__title {
    font-size: 2.4rem;
    margin-bottom: 32px;
    color: #768495; }
  .not-found__middle-text {
    font-size: 1.8rem;
    margin-bottom: 24px;
    line-height: 1.4; }
  .not-found__text {
    font-size: 1.4rem;
    line-height: 1.4; }
  .not-found__link {
    margin-top: 40px; }
    .not-found__link a {
      box-shadow: 0px 3px 14px -8px #8ea3ad;
      padding: 10px 38px 12px;
      text-align: center;
      display: inline-block;
      border-radius: 25px;
      color: #a7c0cc;
      font-size: 1.8rem; }

.header {
  display: flex;
  justify-content: space-between;
  position: fixed;
  width: 100%;
  z-index: 10; }

.h__title {
  margin-top: 48px;
  margin-left: 80px; }
  @media screen and (max-width: 768px) {
    .h__title {
      margin-top: 23px;
      margin-left: 25px; } }

.h__title-logo {
  margin-bottom: 11px; }
  @media screen and (max-width: 768px) {
    .h__title-logo {
      width: 113px;
      margin-bottom: 6px; } }

.h__title-text {
  font-family: #1e1c1c;
  color: #768495;
  font-size: 1.4rem; }
  @media screen and (max-width: 768px) {
    .h__title-text {
      font-size: 1rem; } }

.h__nav {
  display: flex;
  margin-right: 42px;
  margin-top: 46px;
  font-size: 1.3rem; }
  .h__nav a {
    color: #768495;
    padding: 0 8px; }

.nav__menu:not(:last-child) {
  margin-right: 10px; }

nav {
  overflow: scroll;
  -webkit-overflow-scrolling: touch;
  scrollbar-color: #6969dd #e0e0e0;
  position: fixed;
  top: 0;
  left: 100%;
  background-color: #768495;
  opacity: 0.9;
  height: 100vh;
  z-index: 9;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  margin: 0 auto;
  transition: left 0.5s; }
  @media screen and (max-width: 768px) {
    nav {
      max-width: 100%;
      height: 100vh; } }

.nav__list {
  margin: 150px 72px; }
  @media screen and (max-width: 768px) {
    .nav__list {
      margin: 60px 40px 40px; } }

.nav__list-wrapper {
  margin-bottom: 36px; }

.nav__list-item {
  font-size: 3.4rem;
  font-family: "Oswald", sans-serif;
  letter-spacing: 0.04em;
  font-weight: lighter;
  color: #fff;
  display: inline-block; }

@media screen and (min-width: 769px) {
  .nav__list a:hover {
    transition: 0.2s;
    color: #a7c0cc; } }
.nav__sub-list .nav__list-item:first-of-type {
  margin-bottom: 18px; }

.nav__sub-list-item {
  font-size: 1.6rem;
  position: relative;
  color: #fff;
  display: inline-block;
  font-family: "Oswald", sans-serif;
  padding-left: 18px;
  letter-spacing: 0.04em; }
  .nav__sub-list-item::before {
    content: "";
    position: absolute;
    background-color: #fff;
    width: 6px;
    height: 1px;
    left: 0;
    top: 50%;
    transform: translateY(-50%); }

.nav__sub-list :not(:last-of-type, :first-of-type) {
  margin-bottom: 20px; }

.nav-active {
  left: 0;
  transition: 0.5s; }

.openbtn {
  z-index: 10;
  display: block;
  position: relative;
  top: 40px;
  right: 42px;
  cursor: pointer;
  width: 32px;
  height: 22px;
  border-radius: 5px; }
  .openbtn span {
    display: inline-block;
    transition: all 0.2s;
    position: absolute;
    right: 0;
    height: 1px;
    border-radius: 2px;
    background-color: #768495;
    width: 100%; }
    .openbtn span:nth-of-type(1) {
      top: 0; }
    .openbtn span:nth-of-type(2) {
      top: 10px; }
    .openbtn span:nth-of-type(3) {
      top: 20px;
      width: 75%; }
  @media screen and (max-width: 768px) {
    .openbtn {
      top: 23px;
      right: 23px; } }

.btn-active span {
  transition: all 0.4s;
  background-color: #fff; }
  .btn-active span:nth-of-type(1) {
    transform: translateY(11px) rotate(-45deg); }
  .btn-active span:nth-of-type(2) {
    opacity: 0; }
  .btn-active span:nth-of-type(3) {
    transform: translateY(-9px) rotate(45deg);
    width: 100%; }

.footer .f__copyright {
  position: fixed;
  right: 41px;
  bottom: 27px;
  color: #768495;
  font-family: "Oswald", sans-serif;
  letter-spacing: 0.04em; }
  @media screen and (max-width: 768px) {
    .footer .f__copyright {
      width: 100%;
      text-align: center;
      font-size: 1rem;
      transform: translate(-50%) scale(0.8);
      left: 50%;
      bottom: 7px; } }

.media-group .footer .f__copyright {
  padding-top: 14rem;
  position: static;
  text-align: right;
  padding-right: 42px;
  padding-bottom: 25px;
  color: #8ea3ad; }
  @media screen and (max-width: 768px) {
    .media-group .footer .f__copyright {
      width: auto;
      text-align: center;
      transform: translate(0) scale(0.8);
      margin-top: 0;
      left: 0;
      bottom: 0;
      padding: 8rem 0 24px; } }

#box0 {
  background-image: none; }

.mv__logo {
  text-align: center;
  position: absolute;
  top: 48%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  max-width: 868px;
  padding: 0 32px; }
  .mv__logo img {
    padding: 0 0 57px; }
    @media screen and (max-width: 768px) {
      .mv__logo img {
        padding-bottom: 28px; } }

.mv__copy,
.color {
  font-family: "Oswald", sans-serif;
  font-size: 2.4rem;
  letter-spacing: 1.37px;
  font-weight: 500; }
  @media screen and (max-width: 768px) {
    .mv__copy,
    .color {
      font-size: 1.3rem; } }

.mv__copy {
  color: #a7c0cc; }

.color {
  color: #768495; }

.mv_img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 0 8px; }

.scrolldown1 {
  position: absolute;
  left: 42px;
  bottom: 80px;
  height: 160px; }
  @media screen and (max-width: 768px) {
    .scrolldown1 {
      bottom: 40px;
      left: 24px; } }

.scrolldown1 span {
  /*描画位置*/
  position: absolute;
  left: 50%;
  top: -48px;
  transform: translateX(-50%);
  color: #768495;
  font-size: 1rem;
  letter-spacing: 0.05em;
  font-family: "Oswald", sans-serif;
  letter-spacing: 0.2em;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl; }

.scrolldown1::after {
  content: "";
  position: absolute;
  top: 0;
  width: 1px;
  height: 80px;
  background: #768495;
  -webkit-animation: pathmove 1.4s ease-in-out infinite;
  animation: pathmove 1.4s ease-in-out infinite;
  opacity: 0; }

@-webkit-keyframes pathmove {
  0% {
    height: 0;
    top: 0;
    opacity: 0; }
  30% {
    height: 100px;
    opacity: 1; }
  100% {
    height: 0;
    top: 160px;
    opacity: 0; } }
@keyframes pathmove {
  0% {
    height: 0;
    top: 0;
    opacity: 0; }
  30% {
    height: 100px;
    opacity: 1; }
  100% {
    height: 0;
    top: 160px;
    opacity: 0; } }
div[data-anchor="HOME"] {
  width: 100vw;
  height: 100vh; }
  @media screen and (max-width: 768px) {
    div[data-anchor="HOME"] {
      height: -webkit-fill-available; } }

.mv-anime-img1,
.mv-anime-img2 {
  width: 60vw;
  height: 60vw;
  max-width: 520px;
  max-height: 520px; }

.mv-anime-img1 {
  background: #ffffff;
  opacity: 0.6;
  /*背景色*/
  -webkit-animation: fluidrotate 18s ease 0s infinite;
  animation: fluidrotate 18s ease 0s infinite; }

.mv-anime-img2 {
  background: #fcffe8;
  opacity: 0.6;
  /*背景色*/
  -webkit-animation: fluidrotate 30s ease 0s infinite;
  animation: fluidrotate 30s ease 0s infinite; }

.mv-anime-img3 {
  width: 60vw;
  height: 60vw;
  max-width: 520px;
  max-height: 520px;
  opacity: 0.6;
  background: linear-gradient(54deg, #dbedf3 56%, #e3f1f5 70%, white 100%);
  /*背景色*/
  -webkit-animation: fluidrotate 10s ease 0s infinite;
  animation: fluidrotate 10s ease 0s infinite; }

@-webkit-keyframes fluidrotate {
  0%,
    100% {
    border-radius: 48% 52% 60% 40% / 45% 45% 55% 55%; }
  28% {
    border-radius: 54% 46% 45% 52%/49% 60% 40% 51%; }
  56% {
    border-radius: 48% 52% 60% 40% / 45% 45% 55% 55%; }
  84% {
    border-radius: 46% 54% 50% 50%/35% 61% 39% 65%; } }
@keyframes fluidrotate {
  0%,
    100% {
    border-radius: 48% 52% 60% 40% / 45% 45% 55% 55%; }
  28% {
    border-radius: 54% 46% 45% 52%/49% 60% 40% 51%; }
  56% {
    border-radius: 48% 52% 60% 40% / 45% 45% 55% 55%; }
  84% {
    border-radius: 46% 54% 50% 50%/35% 61% 39% 65%; } }
.about-mission__img,
#value__img-group,
.about-logo__img {
  position: absolute;
  transform: translateY(-50%);
  width: auto; }

.fp-viewing-about-MISSION .about-mission__img,
.fp-viewing-about-VALUE #value__img-group,
.fp-viewing-about-LOGO .about-logo__img {
  display: block; }

#about-anime-img1 {
  top: calc(50vh - 252px);
  left: calc(50vw + 421px);
  height: 312px; }

#about-anime-img2 {
  top: calc(50vh + 68px);
  left: calc(50vw + 229px);
  height: 300px; }

#about-anime-img3 {
  top: calc(50vh + 326px);
  left: calc(50vw + 57px);
  height: 210px; }

#value__img-group {
  top: calc(50vh - 22px);
  left: calc(50vw + 35px);
  height: 566px; }

#about-logo-img1 {
  top: calc(50vh - 18.9vh);
  left: calc(50vw + 6.7vw);
  height: 365px; }

#about-logo-img2 {
  height: 279px;
  top: calc(50vh + 155px);
  left: calc(50vw + 340px); }

#about-logo-img3 {
  height: 99px;
  top: calc(50vh - 352px);
  left: calc(50vw + 378px); }

#about-logo-img4 {
  height: 58px;
  left: calc(50vw + 93px);
  top: calc(50vh + 309px); }

#about-logo-img5 {
  height: 101px;
  top: calc(50vh + 360px);
  left: calc(50vw + 485px); }

#about-logo-img6 {
  height: 60px;
  top: calc(50vh + -313px);
  left: calc(50vw + -80px); }

#about-logo-img7 {
  height: 54px;
  top: calc(50vh - 66px);
  left: calc(50vw + 477px); }

@media screen and (max-width: 560px) {
  #about-anime-img1 {
    top: calc(50vh - 148px);
    left: calc(50vw + 149px);
    height: 186px; }

  #about-anime-img2 {
    top: calc(50vh + 39px);
    left: calc(50vw + 39px);
    height: 180px; }

  #about-anime-img3 {
    top: calc(50vh + 187px);
    left: calc(50vw - 62px);
    height: 120px; }

  #value__img-group {
    top: calc(50vh - 5px);
    left: calc(50vw - 120px);
    height: 354px; }

  #lines {
    transform: rotate(-13deg) translateX(-40px); }

  #about-logo-img1 {
    top: calc(50vh - 94px);
    left: calc(50vw - 20px);
    height: 250px; }

  #about-logo-img2 {
    top: calc(50vh + 106px);
    left: calc(50vw + 149px);
    height: 186px; }

  #about-logo-img3 {
    height: 66px;
    top: calc(50vh - 235px);
    left: calc(50vw + 174px); }

  #about-logo-img4 {
    height: 37px;
    left: calc(50vw - 73px);
    top: calc(50vh + 161px); }

  #about-logo-img5 {
    height: 70px;
    top: calc(50vh + 234px);
    left: calc(50vw + 189px); }

  #about-logo-img6 {
    height: 42px;
    top: calc(50vh - 207px);
    left: calc(50vw - 134px); }

  #about-logo-img7 {
    height: 38px;
    top: calc(50vh - 52px);
    left: calc(50vw + 201px); } }
.logo .about__text-box,
.value .about__text-box,
.mission .about__text-box {
  max-width: 1366px;
  margin: 0 auto;
  position: relative; }
.logo .read-text,
.value .read-text,
.mission .read-text {
  margin-bottom: 38px; }
  @media screen and (max-width: 768px) {
    .logo .read-text,
    .value .read-text,
    .mission .read-text {
      margin-bottom: 28px; } }
.logo .text__wrapper,
.value .text__wrapper,
.mission .text__wrapper {
  margin-bottom: 32px; }
.logo .about__link,
.value .about__link,
.mission .about__link {
  display: inline-block;
  padding-right: 24px;
  font-size: 1.1rem;
  color: #768495;
  position: relative; }
  .logo .about__link:after,
  .value .about__link:after,
  .mission .about__link:after {
    content: "";
    position: absolute;
    background-image: url(../img/about/btn.png);
    background-size: 100%;
    background-repeat: no-repeat;
    width: 21px;
    height: 21px;
    top: 50%;
    transform: translateY(-50%);
    right: -7px; }
  @media screen and (max-width: 768px) {
    .logo .about__link,
    .value .about__link,
    .mission .about__link {
      font-size: 1rem;
      font-weight: bold; } }

.value .text__block:not(:last-child) {
  margin-bottom: 26px; }
  @media screen and (max-width: 768px) {
    .value .text__block:not(:last-child) {
      margin-bottom: 13px; } }
.value .text__title {
  margin-bottom: 8px; }

.logo .sub-title__wrapper {
  margin-bottom: 51px; }
  @media screen and (max-width: 768px) {
    .logo .sub-title__wrapper {
      margin-bottom: 32px; } }
.logo .logo__img {
  margin-bottom: 40px; }
  @media screen and (max-width: 768px) {
    .logo .logo__img {
      width: 226px; } }
.logo .text__block:not(:last-child) {
  margin-bottom: 34px; }
.logo .text__title {
  margin-bottom: 19px; }

.fp-viewing-information #info__img-group {
  display: block;
  position: absolute; }

#info__img-group {
  position: absolute;
  transform: translateY(-50%);
  top: calc(50vh - 126px);
  left: calc(50vw + 62px);
  height: 1163px;
  width: auto; }
  @media screen and (max-width: 560px) {
    #info__img-group {
      top: calc(50vh - 102px);
      left: calc(50vw - 125px);
      height: 692px;
      width: auto; } }

.info__title-block {
  margin-bottom: 11px; }
  @media screen and (max-width: 768px) {
    .info__title-block {
      margin-bottom: 10px; } }
  .info__title-block .read-text {
    font-weight: 500;
    margin-right: 40px;
    display: flex;
    align-items: center; }
    @media screen and (max-width: 768px) {
      .info__title-block .read-text {
        font-size: 1.2rem; } }
  .info__title-block .read-more {
    margin-left: 31px; }

.pickup-media {
  margin-bottom: 24px; }
  @media screen and (max-width: 768px) {
    .pickup-media {
      margin-bottom: 20px; } }
  .pickup-media__item {
    display: flex !important;
    align-items: center;
    max-width: 100%; }
  .pickup-media__title {
    font-size: 1.3rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; }
    @media screen and (max-width: 768px) {
      .pickup-media__title {
        font-size: 1.2rem; } }

.btn-cat a {
  min-width: 101px;
  margin-right: 16px;
  padding: 6px 20px 8px;
  text-align: center;
  font-size: 1.1rem;
  background-color: #8ea3ad;
  border-radius: 13px;
  color: #fff;
  font-family: "Oswald", sans-serif;
  letter-spacing: 0.04em;
  white-space: nowrap; }
  .btn-cat a:hover {
    background-color: #a7c0cc; }
  @media screen and (max-width: 768px) {
    .btn-cat a {
      padding: 5px 14px 6px;
      min-width: 70px;
      font-size: 1rem;
      margin-right: 10px; } }

@media screen and (max-width: 768px) {
  .content-title {
    margin-bottom: 31px; } }

.pickup-tags {
  display: flex;
  margin-bottom: 26px;
  flex-wrap: wrap;
  gap: 5px 8px; }
  @media screen and (max-width: 768px) {
    .pickup-tags {
      margin-bottom: 18px; } }

.pickup-tags {
  max-width: 460px; }
  .pickup-tags li a {
    min-width: 60px;
    padding: 7px 20px 8px;
    text-align: center;
    font-size: 1.1rem;
    background-color: #fff;
    border: 1px solid #8ea3ad;
    border-radius: 13px;
    color: #8ea3ad;
    font-family: "Oswald", sans-serif;
    letter-spacing: 0.04em; }
    .pickup-tags li a:hover {
      background-color: #a7c0cc;
      color: #fff;
      border: 1px solid #a7c0cc; }
    @media screen and (max-width: 768px) {
      .pickup-tags li a {
        font-size: 1rem;
        padding: 5px 14px 6px;
        min-width: 50px; } }

.pickup-works {
  max-width: 767px; }
  .pickup-works .slick-list {
    -webkit-mask-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, black 15%, black 50%, black 85%, rgba(255, 255, 255, 0) 100%);
    mask-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, black 15%, black 50%, black 85%, rgba(255, 255, 255, 0) 100%); }
    @media screen and (max-width: 768px) {
      .pickup-works .slick-list {
        -webkit-mask-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 10%, black 30%, black 70%, rgba(255, 255, 255, 0) 90%, rgba(255, 255, 255, 0) 100%);
        mask-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 10%, black 30%, black 70%, rgba(255, 255, 255, 0) 90%, rgba(255, 255, 255, 0) 100%); } }
  .pickup-works__slide--works {
    background-image: url(../img/media/slide_works.png);
    background-size: 102px 125px;
    background-position: top -8px right -3px; }
    .pickup-works__slide--works:hover {
      background-position: top -13px right -8px; }
    @media screen and (max-width: 768px) {
      .pickup-works__slide--works {
        background-size: calc(102px * 0.7) calc(125px * 0.7); } }
  .pickup-works__slide--creative {
    background-image: url(../img/media/slide_creative.png);
    background-size: 129px 134px;
    background-position: top -10px right -5px; }
    .pickup-works__slide--creative:hover {
      background-position: top -15px right -10px; }
    @media screen and (max-width: 768px) {
      .pickup-works__slide--creative {
        background-size: calc(129px * 0.7) calc(134px * 0.7); } }
  .pickup-works__slide--feature {
    background-image: url(../img/media/slide_feature.png);
    background-size: 114px 155px;
    background-position: top -3px right -3px; }
    .pickup-works__slide--feature:hover {
      background-position: top -8px right -8px; }
    @media screen and (max-width: 768px) {
      .pickup-works__slide--feature {
        background-size: calc(114px * 0.7) calc(155px * 0.7); } }
  .pickup-works__slide--marketing {
    background-image: url(../img/media/slide_marketing.png);
    background-size: 121px 110px;
    background-position: top -5px right -3px; }
    .pickup-works__slide--marketing:hover {
      background-position: top -10px right -8px; }
    @media screen and (max-width: 768px) {
      .pickup-works__slide--marketing {
        background-size: calc(121px * 0.7) calc(110px * 0.7); } }
  .pickup-works__slide--solution {
    background-image: url(../img/media/slide_solution.png);
    background-size: 112px 119px;
    background-position: top -13px right -15px; }
    .pickup-works__slide--solution:hover {
      background-position: top -18px right -20px; }
    @media screen and (max-width: 768px) {
      .pickup-works__slide--solution {
        background-size: calc(112px * 0.7) calc(119px * 0.7); } }
  .pickup-works__slide {
    background-repeat: no-repeat;
    position: relative;
    margin-right: 19px;
    width: 177px;
    height: 133px; }
    .pickup-works__slide:hover:after {
      transition: 0.3s;
      opacity: 0.6; }
    @media screen and (max-width: 768px) {
      .pickup-works__slide {
        width: 123px;
        height: 93px; } }
  .pickup-works__slide::after {
    content: "";
    transition: 0.2s;
    border-radius: 12px;
    z-index: -1;
    position: absolute;
    width: 100%;
    height: 100%;
    background: linear-gradient(#e1e9ed 0%, #a7c0cc 0%, #a1bfce 0%, #e0e3e5 100%, #a7c0cc 100%); }
    @media screen and (max-width: 768px) {
      .pickup-works__slide::after {
        border-radius: 4px; } }
  .pickup-works .slick-dots {
    text-align: left;
    bottom: -20px; }
    @media screen and (max-width: 768px) {
      .pickup-works .slick-dots {
        bottom: -19px;
        text-align: center; } }
    .pickup-works .slick-dots li {
      margin: 0 22px 0 0; }
      @media screen and (max-width: 768px) {
        .pickup-works .slick-dots li {
          margin: 0 8px 0 0; } }
    .pickup-works .slick-dots li button:before {
      content: "";
      left: 5px;
      width: 22px;
      background: #768495;
      height: 5px;
      border-radius: 10px; }
      @media screen and (max-width: 768px) {
        .pickup-works .slick-dots li button:before {
          width: 10px;
          height: 3px; } }
  .pickup-works .slick-dots li button,
  .pickup-works .slick-dots li {
    padding: 0;
    width: 10px;
    height: 3px; }
  .pickup-works__en {
    color: #f0ff72;
    letter-spacing: 0.25em;
    transform-origin: top left;
    transform: rotate(90deg) translate(0%, -100%);
    position: absolute;
    left: 13px;
    top: 8px;
    font-size: 1rem;
    font-family: "Oswald", sans-serif;
    text-transform: uppercase; }
    @media screen and (max-width: 768px) {
      .pickup-works__en {
        left: 10px;
        font-size: 1rem;
        transform: rotate(0deg) translate(0%, 0);
        transform-origin: top left; } }
  .pickup-works__titleblock {
    margin-left: 10px;
    position: absolute;
    bottom: 7px;
    display: inline-flex;
    flex-direction: column; }
    @media screen and (max-width: 768px) {
      .pickup-works__titleblock {
        margin-left: 8px; } }
  .pickup-works__subtitle {
    font-size: 1rem;
    color: #768495;
    font-weight: 500;
    display: inline-block;
    padding: 2px 0;
    margin: 0 auto 2px 0; }
    @media screen and (max-width: 768px) {
      .pickup-works__subtitle {
        font-size: 1rem;
        transform: scale(0.8);
        transform-origin: left; } }
  .pickup-works__maintitle {
    display: inline-block;
    font-size: 2rem;
    color: #768495;
    letter-spacing: 0.06em;
    font-weight: bold;
    margin: 0 auto 0 0;
    padding: 2px 0; }
    @media screen and (max-width: 768px) {
      .pickup-works__maintitle {
        font-size: 1.35rem; } }
  .pickup-works .pickup-works__slide--marketing .pickup-works__maintitle,
  .pickup-works .pickup-works__slide--solution .pickup-works__maintitle {
    font-size: 1.7rem; }
    @media screen and (max-width: 768px) {
      .pickup-works .pickup-works__slide--marketing .pickup-works__maintitle,
      .pickup-works .pickup-works__slide--solution .pickup-works__maintitle {
        font-size: 1.2rem; } }
  .pickup-works .pickup-works__slide--marketing .pickup-works__en,
  .pickup-works .pickup-works__slide--solution .pickup-works__en {
    letter-spacing: 0.15em; }
  .pickup-works .slick-prev,
  .pickup-works .slick-next {
    width: 49px;
    height: 49px;
    background-color: #eff2f4;
    border-radius: 50%;
    z-index: 1;
    box-shadow: 0px 3px 14px -8px #fff;
    transition: 0.2s; }
    .pickup-works .slick-prev:hover,
    .pickup-works .slick-next:hover {
      transition: 0.3s; }
    @media screen and (max-width: 768px) {
      .pickup-works .slick-prev,
      .pickup-works .slick-next {
        width: 34px;
        height: 34px; } }
  .pickup-works .slick-prev {
    left: 0; }
    .pickup-works .slick-prev:hover {
      left: -5px; }
  .pickup-works .slick-next {
    right: 0; }
    .pickup-works .slick-next:hover {
      right: -5px; }
  .pickup-works .slick-prev:before,
  .pickup-works .slick-next:before {
    position: absolute;
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%; }
    @media screen and (max-width: 768px) {
      .pickup-works .slick-prev:before,
      .pickup-works .slick-next:before {
        transform: translate(-50%, -50%) scale(0.7); } }
  .pickup-works .slick-prev:before {
    content: url(../img/media/arrow-left.svg); }
  .pickup-works .slick-next:before {
    content: url(../img/media/arrow-right.svg); }
  .pickup-works__arrow {
    position: absolute;
    bottom: 9px;
    right: 8px;
    width: 21px;
    height: 21px;
    background-color: #f0ff72;
    border-radius: 50%; }
    @media screen and (max-width: 768px) {
      .pickup-works__arrow {
        bottom: 8px;
        width: 15px;
        height: 15px; } }
    .pickup-works__arrow:before {
      position: absolute;
      transform: translate(-45%, -60%);
      top: 50%;
      left: 50%;
      content: url(../img/media/arrow-slidein.svg); }

#section2 .fp-slidesNav ul {
  display: flex;
  justify-content: space-between;
  width: 458px !important;
  max-width: 458px !important;
  margin-top: auto !important;
  position: absolute !important;
  bottom: 40px !important;
  left: 80px; }
  @media screen and (max-width: 768px) {
    #section2 .fp-slidesNav ul {
      max-width: calc(100% - 50px) !important; } }
  @media screen and (max-width: 560px) {
    #section2 .fp-slidesNav ul {
      width: 295px !important;
      max-width: 295px !important;
      left: 50%;
      transform: translateX(-50%); } }
@media screen and (max-width: 560px) {
  #section2 .btn a {
    width: 66px !important; } }

.fp-viewing-service-CREATIVE #create__img-group,
.fp-viewing-service-MARKETING #marketing__img-group,
.fp-viewing-service-SOLUTION #solution__img-group,
.fp-viewing-service-UTSUWA #utsuwa__img-group {
  display: block;
  position: absolute; }

#create__img-group {
  position: absolute;
  transform: translateY(-50%);
  top: calc(50vh + 8px);
  left: calc(50vw + 31px);
  height: 617px;
  width: auto; }
  @media screen and (max-width: 560px) {
    #create__img-group {
      top: calc(50vh + 23px);
      left: calc(50vw - 105px);
      height: 414px;
      width: auto; } }

#marketing__img-group {
  position: absolute;
  transform: translateY(-50%);
  top: calc(50vh - 124px);
  left: calc(50vw - 26px);
  height: 631px;
  width: auto; }
  @media screen and (max-width: 560px) {
    #marketing__img-group {
      top: calc(50vh - 56px);
      left: calc(50vw - 205px);
      height: 378px;
      width: auto; } }

#solution__img-group {
  position: absolute;
  transform: translateY(-50%);
  top: calc(50vh - 2px);
  left: calc(50vw - 30px);
  height: 672px;
  width: auto; }
  @media screen and (max-width: 560px) {
    #solution__img-group {
      top: calc(50vh - 29px);
      left: calc(50vw - 76px);
      height: 401px;
      width: auto; } }

#utsuwa__img-group {
  position: absolute;
  transform: translateY(-50%);
  top: calc(50vh + 150px);
  left: calc(50vw - 135px);
  height: 236px;
  width: auto; }
  @media screen and (max-width: 560px) {
    #utsuwa__img-group {
      top: calc(50vh - 93px);
      left: calc(50vw - 178px);
      height: 163px;
      width: auto; } }

.fp-viewing-company .company__img,
.fp-viewing-company #company__img-group {
  display: block; }

#company__img-group {
  position: absolute;
  transform: translateY(-50%);
  top: calc(50vh - 2px);
  left: calc(50vw + 50px);
  height: 700px;
  width: auto; }
  @media screen and (max-width: 560px) {
    #company__img-group {
      top: calc(50vh + 29px);
      left: calc(50vw - 110px);
      height: 490px;
      width: auto; } }
  @media screen and (max-width: 560px) and (min-height: 600px) {
    #company__img-group {
      max-height: 483px; } }

.company {
  position: relative; }
  .company .company__text-box {
    position: relative;
    max-width: 1366px;
    margin: 0 auto; }
  .company .title {
    margin-bottom: 65px; }
    @media screen and (max-width: 768px) {
      .company .title {
        margin-bottom: 34px; } }
  .company .content-title__small {
    width: 84px;
    font-weight: 500; }
    @media screen and (max-width: 768px) {
      .company .content-title__small {
        width: 74px; } }
  .company .company__list {
    padding-left: 10px; }
    .company .company__list li {
      display: flex;
      justify-content: sflex-start;
      align-items: center; }
    .company .company__list li,
    .company .company__list p {
      line-height: 1.7; }
    .company .company__list li:not(:last-child) {
      margin-bottom: 10px; }
    @media screen and (max-width: 768px) {
      .company .company__list {
        padding-left: 0; } }
  .company .company__list-contents {
    font-weight: 500;
    width: 100%;
    font-size: 1.3rem; }
    @media screen and (max-width: 768px) {
      .company .company__list-contents li {
        font-size: 1.1rem;
        padding-bottom: 10px; } }
  .company .company__list li:last-of-type li {
    position: relative;
    padding-left: 1em; }
    .company .company__list li:last-of-type li::after {
      position: absolute;
      content: "";
      width: 3px;
      height: 3px;
      border-radius: 50%;
      background-color: #000;
      left: 4px;
      top: 10px; }
      @media screen and (max-width: 768px) {
        .company .company__list li:last-of-type li::after {
          top: 8px; } }
  .company .company__list li:last-of-type li:not(:last-of-type) {
    margin-bottom: 4px; }
    @media screen and (max-width: 768px) {
      .company .company__list li:last-of-type li:not(:last-of-type) {
        margin-bottom: -2px; } }
  .company .map__link {
    color: #8ea3ad;
    border-bottom: 1px solid #8ea3ad;
    transition: 0.1s; }
    @media screen and (max-width: 768px) {
      .company .map__link {
        margin-bottom: 10px;
        display: inline-block; } }
  .company .map__link:hover {
    opacity: 0.7;
    transition: 0.2s; }

.fp-viewing-contact .contact__img,
.fp-viewing-contact #contact__img-group {
  display: block; }

.contact-bg + .img-box {
  position: fixed !important;
  right: auto !important; }

#contact__img-group {
  position: absolute;
  transform: translateY(-50%);
  top: calc(50vh - 2px);
  left: calc(50vw + 70px); }
  @media screen and (max-width: 560px) {
    #contact__img-group {
      top: calc(50vh - 24px);
      left: calc(50vw - 71px);
      height: 324px;
      width: auto;
      transform: translateY(-50%) rotate(-22deg); } }

.contact {
  position: relative; }
  .contact .contact__text-box {
    position: relative;
    max-width: 1366px;
    margin: 0 auto; }
  .contact .text:first-of-type {
    margin-bottom: 12px; }
    @media screen and (max-width: 768px) {
      .contact .text:first-of-type {
        margin-bottom: 10px; } }
  .contact .text:last-of-type {
    margin-bottom: 30px; }
    @media screen and (max-width: 768px) {
      .contact .text:last-of-type {
        margin-bottom: 36px; } }

.recaptcha {
  margin-top: 20px;
  display: block; }

.contact__send,
.contact__link {
  max-width: 435px;
  width: 100%;
  text-align: right;
  margin: 20px 0 40px; }
  .contact__send:hover p, .contact__send:hover a,
  .contact__link:hover p,
  .contact__link:hover a {
    background-color: #a7c0cc;
    transition: 0.3s; }
  .contact__send p, .contact__send a,
  .contact__link p,
  .contact__link a {
    transition: 0.2s;
    cursor: pointer;
    position: relative;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 500;
    width: 176px;
    height: 44px;
    border-radius: 50px;
    background-color: #8ea3ad;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: auto; }
    .contact__send p input, .contact__send a input,
    .contact__link p input,
    .contact__link a input {
      text-align: center;
      width: 100%;
      height: 100%; }
    .contact__send p input[type="submit"]:focus, .contact__send a input[type="submit"]:focus,
    .contact__link p input[type="submit"]:focus,
    .contact__link a input[type="submit"]:focus {
      border: none; }
    .contact__send p .wpcf7-spinner, .contact__send a .wpcf7-spinner,
    .contact__link p .wpcf7-spinner,
    .contact__link a .wpcf7-spinner {
      display: none; }
    .contact__send p:after, .contact__send a:after,
    .contact__link p:after,
    .contact__link a:after {
      position: absolute;
      content: "";
      width: 9px;
      height: 9px;
      right: 8px;
      border-right: 1px solid #fff;
      border-bottom: 1px solid #fff;
      transform: rotate(-45deg) translateX(-50%);
      margin-bottom: 5px; }

.contact-main .text-box__inner {
  max-height: none;
  min-height: auto;
  height: auto; }
.contact-main .read-text {
  margin-bottom: 48px; }
  @media screen and (max-width: 768px) {
    .contact-main .read-text {
      margin-bottom: 28px; } }
.contact-main .form input[type="text"],
.contact-main .form input[type="email"],
.contact-main .form input[type="tel"],
.contact-main .form textarea {
  font-size: 1.4rem;
  height: 34px;
  width: 100%;
  display: block;
  border: 1px solid #eaeaea;
  background-color: #fff;
  padding: 7px 4px;
  line-height: 1.4; }
.contact-main .form .textarea-wrapper {
  margin-bottom: 32px; }
.contact-main .form textarea {
  height: 104px; }
.contact-main .form--short {
  max-width: 180px !important; }
.contact-main .form__checkboxes, .contact-main .form__radiobuttons {
  display: flex;
  flex-wrap: wrap; }
.contact-main .form .wpcf7-list-item {
  margin-bottom: 16px;
  display: inline-block; }
  @media screen and (max-width: 768px) {
    .contact-main .form .wpcf7-list-item {
      margin-bottom: 24px; } }
  .contact-main .form .wpcf7-list-item span {
    font-size: 1.4rem;
    color: #768495; }
.contact-main .form .form__radiobuttons,
.contact-main .form .form__text,
.contact-main .form .form__checkboxes {
  margin-bottom: 20px; }
.contact-main .form .form__checkboxes--last {
  margin-bottom: 24px; }
.contact-main .form input[type="checkbox"],
.contact-main .form input[type="radio"] {
  display: none; }
.contact-main .form .wpcf7-list-item-label {
  white-space: nowrap;
  font-size: 1.4rem;
  padding-left: 28px;
  padding-bottom: 4px;
  position: relative; }
  @media screen and (max-width: 768px) {
    .contact-main .form .wpcf7-list-item-label {
      font-size: 1.3rem; } }
.contact-main .form .wpcf7-list-item-label::before {
  background-color: white;
  border: 1px solid #eaeaea;
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  height: 22px;
  width: 22px;
  border-radius: 50%; }
.contact-main .form input[type="checkbox"]:checked + .wpcf7-list-item-label::after,
.contact-main .form input[type="radio"]:checked + .wpcf7-list-item-label::after {
  background-color: #a7c0cc;
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 5px;
  height: 12px;
  width: 12px;
  border-radius: 50%; }
.contact-main .form ::-webkit-input-placeholder {
  color: rgba(118, 132, 149, 0.3);
  font-size: 1.6rem; }
.contact-main .form ::-moz-placeholder {
  color: rgba(118, 132, 149, 0.3);
  font-size: 1.6rem; }
.contact-main .form :-ms-input-placeholder {
  color: rgba(118, 132, 149, 0.3);
  font-size: 1.6rem; }
.contact-main .form ::-ms-input-placeholder {
  color: rgba(118, 132, 149, 0.3);
  font-size: 1.6rem; }
.contact-main .form ::placeholder {
  color: rgba(118, 132, 149, 0.3);
  font-size: 1.6rem; }
.contact-main .form input:focus {
  border: 1px solid #a7c0cc; }
.contact-main .form .wpcf7-not-valid-tip {
  font-size: 1.4rem;
  color: #ff5c5c; }
.contact-main .form .screen-reader-response p {
  font-size: 1.4rem;
  color: #ff5c5c;
  margin-top: -30px;
  margin-bottom: 24px; }
.contact-main .form .wpcf7-response-output {
  margin: 32px 0;
  padding: 6px 10px;
  font-size: 1.4rem;
  line-height: 1.4;
  border: none;
  color: white; }
.contact-main .form .wpcf7 form.sent .wpcf7-response-output {
  background-color: #A7C0CC; }
.contact-main .form .wpcf7 form.invalid .wpcf7-response-output,
.contact-main .form .wpcf7 form.unaccepted .wpcf7-response-output {
  background-color: #ff5c5c; }
.contact-main .form__wrapper {
  margin-bottom: 20px;
  max-width: 420px; }
.contact-main .form__title {
  font-size: 1.4rem;
  color: #768495;
  margin-bottom: 14px; }
  @media screen and (max-width: 768px) {
    .contact-main .form__title {
      font-size: 1.3rem; } }
  .contact-main .form__title span {
    margin-right: 8px;
    margin-left: 0;
    font-size: 1.2rem;
    color: #768495; }
.contact-main .form__sub-title {
  font-size: 1.2rem;
  color: #768495;
  margin-bottom: 16px;
  position: relative;
  padding-left: 12px; }
  .contact-main .form__sub-title:before {
    content: "";
    position: absolute;
    width: 8px;
    height: 1px;
    background-color: #768495;
    top: 50%;
    left: 0; }
.contact-main body {
  overflow-x: hidden !important; }

.media-group {
  background: #fff; }
  .media-group .h__title {
    visibility: hidden; }
  .media-group .blog__header {
    width: 100%;
    height: 498px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    margin-bottom: 80px;
    display: flex;
    align-items: center;
    justify-content: center; }
    @media screen and (max-width: 768px) {
      .media-group .blog__header {
        height: 48vw;
        margin-bottom: 20px; } }
    @media screen and (max-width: 412px) {
      .media-group .blog__header {
        margin-bottom: 0; } }
  @media screen and (max-width: 768px) {
    .media-group .blog__logo {
      margin-top: 2rem;
      width: 36.8vw; } }
  .media-group .blog__logo__add {
    text-align: center;
    font-size: 1.6rem;
    color: #768495;
    margin-top: 1.3rem;
    letter-spacing: 0.06em; }
    @media screen and (max-width: 768px) {
      .media-group .blog__logo__add {
        margin-top: 10px;
        font-size: 1rem; } }
  .media-group .tag__list a:hover {
    opacity: 1;
    color: #fff !important;
    background-color: #a7c0cc;
    border: solid 1px #a7c0cc !important; }
  .media-group a:hover {
    opacity: 0.7; }
  .media-group .slick-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 6rem;
    height: 6rem;
    border: 1px solid #8ea3ad;
    display: block;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.8); }
    @media screen and (max-width: 768px) {
      .media-group .slick-arrow {
        width: 3.6rem;
        height: 3.6rem; } }
    .media-group .slick-arrow:before {
      content: "";
      background-repeat: no-repeat;
      background-position: center center;
      width: 1.5rem;
      height: 0.8rem;
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      opacity: 1;
      transition: 0.2s; }
  .media-group .slick-prev {
    left: -3rem; }
    @media screen and (max-width: 768px) {
      .media-group .slick-prev {
        left: -1.8rem; } }
    .media-group .slick-prev:before {
      background-image: url(../img/common/arrow-gray.svg);
      transform: translate(-50%, -50%) scale(-1, 1); }
    @media (hover: hover) and (pointer: fine) {
      .media-group .slick-prev:hover:before {
        left: 40%; } }
  .media-group .slick-next {
    right: -3rem; }
    @media screen and (max-width: 768px) {
      .media-group .slick-next {
        right: -1.8rem; } }
    .media-group .slick-next:before {
      background-image: url(../img/common/arrow-gray.svg);
      transform: translate(-50%, -50%); }
    @media (hover: hover) and (pointer: fine) {
      .media-group .slick-next:hover:before {
        left: 60%; } }
  .media-group a.external {
    position: relative;
    padding-right: 2.2em; }
    @media screen and (max-width: 768px) {
      .media-group a.external {
        padding-right: 1.5em; } }
    .media-group a.external:after {
      content: "";
      width: 1.8rem;
      height: 1.6rem;
      display: block;
      background-image: url(../img/common/icon-external.svg);
      position: absolute;
      top: -0.2em;
      right: 0; }
      @media screen and (max-width: 768px) {
        .media-group a.external:after {
          width: 1.6rem;
          height: 1.4rem;
          background-size: contain; } }

.read__more {
  margin: 80px auto 0;
  width: 62%;
  display: flex;
  justify-content: center; }
  @media screen and (max-width: 768px) {
    .read__more {
      width: 100%;
      margin: 60px auto 0; } }
  @media screen and (max-width: 412px) {
    .read__more {
      margin: 0 auto; } }
  .read__more-link {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-bottom: 0.6rem; }
    @media screen and (max-width: 412px) {
      .read__more-link {
        margin-top: 3rem; } }
    .read__more-link .text {
      font-family: "Oswald", sans-serif;
      font-weight: normal;
      font-size: 1.4rem;
      letter-spacing: 0.2em;
      color: #768495;
      padding-left: 0.2em;
      margin-bottom: 1rem; }
      @media screen and (max-width: 768px) {
        .read__more-link .text {
          font-size: 1.2rem; } }
    .read__more-link img {
      transition: 0.2s; }
    .read__more-link .arrow {
      width: 4rem;
      height: 4rem;
      border-radius: 50%;
      border: 1px solid #8ea3ad;
      display: flex;
      justify-content: center;
      align-items: center;
      transition: 0.2s; }
      .read__more-link .arrow img {
        transform: rotate(90deg); }
    .read__more-link:hover .arrow {
      transform: translateY(0.6rem); }
  .read__more.is--white .text {
    color: #fff; }
  .read__more.is--white .arrow {
    border-radius: 50%;
    border: 1px solid #fff;
    display: flex;
    justify-content: center;
    align-items: center; }
    .read__more.is--white .arrow img {
      transform: rotate(90deg); }

.page-link {
  width: 100%;
  display: flex;
  justify-content: center; }
  @media screen and (max-width: 768px) {
    .page-link {
      display: block; } }
  .page-link__wrapper {
    width: 876px;
    margin: 10rem auto 0; }
    @media screen and (max-width: 768px) {
      .page-link__wrapper {
        width: 100%;
        margin-top: 1rem; } }
  .page-link__item {
    width: 48%;
    margin: 0 16px; }
    @media screen and (max-width: 768px) {
      .page-link__item {
        width: 100%;
        margin: 0; }
        .page-link__item:not(:first-of-type) {
          margin-top: 2rem; } }

.single .blog__header,
.search .blog__header {
  height: 210px; }
  @media screen and (max-width: 768px) {
    .single .blog__header,
    .search .blog__header {
      height: 48vw;
      margin-bottom: 40px !important; } }
.single .blog__logo,
.search .blog__logo {
  width: 21.4rem; }
  @media screen and (max-width: 768px) {
    .single .blog__logo,
    .search .blog__logo {
      margin-top: 2rem;
      width: 36.8vw; } }

#media .article:hover {
  opacity: 1;
  background-color: #a7c0cc; }
  #media .article:hover .article__title,
  #media .article:hover .article__details,
  #media .article:hover .article__details p,
  #media .article:hover .article__reccomend p {
    color: #fff !important; }

#works .article__title {
  transition: 0.2s; }
#works .article__img {
  transition: 0.2s; }
#works .article:hover {
  opacity: 1; }
  #works .article:hover .article__img {
    opacity: 0.7;
    transition: 0.3s; }
  #works .article:hover .article__title {
    color: #a7c0cc;
    opacity: 1;
    transition: 0.3s; }

#media .blog__header {
  background-image: url(../img/blog/header_pc.jpg);
  margin-bottom: 96px; }
  @media screen and (max-width: 768px) {
    #media .blog__header {
      margin-bottom: 0; } }
  @media screen and (max-width: 412px) {
    #media .blog__header {
      margin-bottom: 0; } }
#media .blog__contents {
  display: flex;
  width: 100%; }
  @media screen and (max-width: 768px) {
    #media .blog__contents {
      flex-direction: column-reverse; } }
#media .side-menu {
  width: 38%;
  padding-right: 34px;
  padding-left: 5.84%; }
  @media screen and (max-width: 768px) {
    #media .side-menu {
      width: 100%;
      padding-right: 40px;
      padding-left: 40px;
      padding-top: 52px;
      display: flex;
      flex-wrap: wrap;
      border-top: 1px solid #e6e6e6; } }
  #media .side-menu__title {
    font-family: "Oswald", sans-serif;
    font-size: 4rem;
    letter-spacing: 0.2em;
    color: #404e5f;
    margin-top: 12px;
    margin-bottom: 33px; }
    @media screen and (max-width: 768px) {
      #media .side-menu__title {
        font-size: 2.2rem;
        margin-bottom: 24px; } }
#media main:not(.single) .side-menu .page-link {
  display: block; }
  #media main:not(.single) .side-menu .page-link__wrapper {
    width: 100%; }
  #media main:not(.single) .side-menu .page-link__item {
    width: 100%;
    margin: 0; }
    #media main:not(.single) .side-menu .page-link__item:not(:first-of-type) {
      margin-top: 2.4rem; }
@media screen and (max-width: 768px) {
  #media .category {
    width: 50%;
    padding-right: 19px; } }
#media .category__list {
  margin-bottom: 70px; }
  @media screen and (max-width: 768px) {
    #media .category__list {
      margin-bottom: 6px; } }
  #media .category__list a {
    font-family: "Oswald", sans-serif;
    font-size: 1.6rem;
    letter-spacing: 0.2em;
    color: #768495;
    margin-bottom: 26px; }
    @media screen and (max-width: 768px) {
      #media .category__list a {
        font-size: 1.2rem; } }
@media screen and (max-width: 768px) {
  #media .tag {
    width: 50%;
    padding-left: 19px; } }
#media .tag__list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 70px; }
  @media screen and (max-width: 768px) {
    #media .tag__list {
      margin-bottom: 6px; } }
  #media .tag__list a {
    font-family: "Oswald", sans-serif;
    font-size: 1.1rem;
    letter-spacing: 0.04em;
    color: #768495;
    border: 1px solid #768495;
    min-width: 60px;
    max-width: 101px;
    border-radius: 13px;
    padding: 5px 14px 7px;
    text-align: center; }
    @media screen and (max-width: 768px) {
      #media .tag__list a {
        padding: 4px 14px 6px;
        font-size: 1rem; } }
#media .search {
  margin-bottom: 73px;
  width: 100%; }
  @media screen and (max-width: 768px) {
    #media .search {
      margin-bottom: 41px; } }
  #media .search.pc-only {
    margin-bottom: 0; }
  #media .search form {
    display: flex; }
  #media .search input {
    width: 100%;
    max-width: 300px;
    padding: 7px 10px;
    height: 40px;
    border-top-left-radius: 2px;
    border-bottom-left-radius: 2px;
    background: transparent;
    font-size: 1.6rem;
    border: 1px solid #768495; }
    #media .search input::placeholder {
      color: #e6e6e6; }
    @media screen and (max-width: 560px) {
      #media .search input {
        max-width: 100%; } }
  #media .search button {
    width: 40px;
    height: 40px;
    border-top-right-radius: 2px;
    border-bottom-right-radius: 2px;
    background-color: #768495;
    position: relative; }
    #media .search button img {
      padding-right: 2px;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
#media .main-area {
  width: 62%;
  overflow-x: hidden;
  padding-top: 1px; }
  @media screen and (max-width: 768px) {
    #media .main-area {
      width: 100%;
      right: 0; } }
#media .main-area__article {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  right: -3px; }
  @media screen and (max-width: 768px) {
    #media .main-area__article {
      right: 0; } }

.article {
  position: relative;
  border: 1px solid #e6e6e6;
  width: 50%;
  margin-top: -1px;
  margin-left: -1px;
  padding: 4.8%; }
  @media screen and (max-width: 768px) {
    .article {
      border-right: none;
      margin-left: 0; }
      .article:last-of-type {
        border-bottom: none; } }
  @media screen and (max-width: 412px) {
    .article {
      margin-left: 0;
      border-right: none;
      border-left: none;
      border-top: none;
      border-left: none;
      width: 100%;
      padding: 40px 40px 60px; } }
  .article__img {
    flex-shrink: 0;
    margin-bottom: 24px; }
    .article__img img {
      width: 100%;
      max-width: 100%;
      min-height: 150px;
      object-fit: cover;
      aspect-ratio: 1.91/1; }
      @media screen and (max-width: 412px) {
        .article__img img {
          height: auto;
          min-height: auto; } }
    @media screen and (max-width: 412px) {
      .article__img {
        margin-bottom: 20px; } }
  .article__title {
    font-size: 2rem;
    color: #243040;
    line-height: 1.35;
    margin-bottom: 15px; }
    @media screen and (max-width: 768px) {
      .article__title {
        font-size: 1.6rem; } }
  .article__details {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    font-family: "Oswald", sans-serif;
    font-size: 1.2rem;
    letter-spacing: 0.2em;
    color: #adb5bf;
    line-height: 1.35;
    margin-bottom: 18px; }
  .article__details-tags {
    display: flex;
    margin-right: 0.8rem;
    padding-right: 1.5rem;
    position: relative; }
    .article__details-tags:after {
      content: "/";
      color: #adb5bf;
      position: absolute;
      top: 50%;
      right: 0;
      transform: translateY(-50%); }
    .article__details-tags li,
    .article__details-tags a {
      font-family: "Oswald", sans-serif;
      color: #adb5bf; }
      .article__details-tags li:not(:last-of-type):after,
      .article__details-tags a:not(:last-of-type):after {
        content: "\30FB";
        display: inline-block; }
  .article__details-time {
    font-family: "Oswald", sans-serif;
    color: #adb5bf; }
  .article__views {
    display: none; }
  .article__cat span {
    color: #adb5bf; }
  .article__cat:nth-last-of-type(2) span {
    display: none; }
  .article__reccomend {
    margin-top: 32px;
    display: flex;
    align-items: center; }
    .article__reccomend p {
      display: flex;
      font-family: "Oswald", sans-serif;
      font-size: 1rem;
      letter-spacing: 0.2em;
      color: #adb5bf;
      line-height: 1;
      margin-right: 12px; }
    .article__reccomend img {
      margin-right: 8px; }

.article--pickup {
  width: 100%;
  display: flex;
  padding-bottom: 2.8%; }
  @media screen and (max-width: 412px) {
    .article--pickup {
      background-color: #a7c0cc;
      flex-direction: column;
      padding-bottom: 40px; } }
  .article--pickup .article__img {
    position: relative;
    padding-right: 40px;
    width: 55.4%; }
    @media screen and (max-width: 412px) {
      .article--pickup .article__img {
        width: 100%;
        padding-right: 0; } }
    .article--pickup .article__img img {
      width: 100%; }
  .article--pickup .article__title {
    font-weight: bold; }
    @media screen and (max-width: 412px) {
      .article--pickup .article__title {
        color: #fff; } }
  @media screen and (max-width: 412px) {
    .article--pickup .article__details {
      color: #fff; }
      .article--pickup .article__details p {
        color: #fff; } }
  @media screen and (max-width: 412px) {
    .article--pickup .article__reccomend p {
      color: #fff; } }

.pickup-mark {
  position: absolute;
  top: 0;
  left: 0;
  width: 82px;
  height: 82px;
  background: #f0ff72;
  border-radius: 50%;
  text-align: center;
  transform: translate(-28%, -24%); }
  @media screen and (max-width: 960px) {
    .pickup-mark {
      width: 60px;
      height: 60px; } }
  .pickup-mark span {
    position: absolute;
    top: 52%;
    left: 52%;
    transform: translate(-50%, -50%);
    font-family: "Oswald", sans-serif;
    font-weight: bold;
    font-size: 1.9rem;
    letter-spacing: 0.2em;
    color: #768495;
    line-height: 1.25; }
    @media screen and (max-width: 960px) {
      .pickup-mark span {
        font-size: 1.4rem; } }

.single .blog__contents {
  flex-direction: column !important; }
.single .blog .main-area {
  width: 100% !important;
  right: 0;
  display: block;
  padding: 0 80px;
  max-width: 1006px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .single .blog .main-area {
      padding: 0 40px; } }
.single .blog .article__title {
  font-size: 3rem;
  font-weight: bold;
  line-height: 1.76;
  margin-bottom: 36px; }
  @media screen and (max-width: 768px) {
    .single .blog .article__title {
      margin-bottom: 21px;
      font-size: 2.2rem; } }
.single .blog .article__details {
  justify-content: flex-end;
  margin-bottom: 24px; }
  @media screen and (max-width: 768px) {
    .single .blog .article__details {
      margin-bottom: 32px; } }
.single .blog .eye-catch {
  margin-bottom: 66px; }
  .single .blog .eye-catch img {
    width: 100%; }
  @media screen and (max-width: 768px) {
    .single .blog .eye-catch {
      margin-bottom: 37px; } }
.single .blog .tag-group {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 60px; }
  .single .blog .tag-group a {
    font-family: "Oswald", sans-serif;
    font-size: 1.1rem;
    letter-spacing: 0.04em;
    color: #768495;
    border: 1px solid #768495;
    min-width: 60px;
    max-width: 101px;
    border-radius: 13px;
    padding: 5px 14px 7px;
    text-align: center; }
    @media screen and (max-width: 768px) {
      .single .blog .tag-group a {
        font-size: 1rem; } }
.single .blog .side-menu {
  width: 100% !important;
  padding: 80px 80px 0;
  max-width: 1206px;
  margin: 0 auto;
  border-top: 1px solid #e6e6e6;
  justify-content: space-between; }
  @media screen and (max-width: 768px) {
    .single .blog .side-menu {
      padding: 52px 40px 0; } }
  .single .blog .side-menu__inner {
    display: flex;
    max-width: 846px;
    width: 100%;
    justify-content: space-between;
    margin: 0 auto; }
.single .blog .editor {
  margin-bottom: 40px; }
  @media screen and (max-width: 768px) {
    .single .blog .editor {
      margin-bottom: 0px; } }
  .single .blog .editor h1 {
    font-size: 28px;
    font-weight: bold;
    margin-bottom: 0.6em;
    color: #243040; }
    @media screen and (max-width: 768px) {
      .single .blog .editor h1 {
        font-size: 18px; } }
  .single .blog .editor h2 {
    font-size: 24px;
    font-weight: bold;
    margin-top: 2em;
    margin-bottom: 0.8em;
    color: #243040; }
    @media screen and (max-width: 768px) {
      .single .blog .editor h2 {
        font-size: 16px; } }
  .single .blog .editor h3,
  .single .blog .editor h4,
  .single .blog .editor h5,
  .single .blog .editor h6 {
    font-size: 20px;
    font-weight: bold;
    margin-top: 2em;
    margin-bottom: 0.8em;
    color: #243040; }
    @media screen and (max-width: 768px) {
      .single .blog .editor h3,
      .single .blog .editor h4,
      .single .blog .editor h5,
      .single .blog .editor h6 {
        font-size: 14px; } }
  .single .blog .editor p {
    line-height: 2;
    letter-spacing: 0.06em;
    margin-bottom: 1em;
    font-size: 16px; }
    @media screen and (max-width: 768px) {
      .single .blog .editor p {
        font-size: 14px;
        margin-bottom: 25px; } }
    .single .blog .editor p a {
      margin: 0; }
    .single .blog .editor p img {
      margin-top: 0;
      margin-bottom: 0; }
  .single .blog .editor ul {
    margin-bottom: 20px; }
  .single .blog .editor li {
    font-size: 16px;
    list-style: none;
    padding-left: 1em;
    text-indent: -1em;
    line-height: 2; }
    .single .blog .editor li::before {
      content: "\30FB"; }
    @media screen and (max-width: 768px) {
      .single .blog .editor li {
        font-size: 14px; } }
  .single .blog .editor ol {
    padding-left: 2em; }
    .single .blog .editor ol li {
      list-style-type: decimal; }
      .single .blog .editor ol li::before {
        display: none; }
  .single .blog .editor a {
    font-size: 16px; }
    @media screen and (max-width: 768px) {
      .single .blog .editor a {
        font-size: 14px; } }
  .single .blog .editor img {
    margin: 3em auto;
    display: block;
    max-width: 592px;
    width: 100%; }
  .single .blog .editor blockquote {
    font-size: 16px;
    line-height: 1.6;
    background-color: #efefef;
    padding: 2px 3px;
    margin-bottom: 1em; }
    .single .blog .editor blockquote :last-child {
      margin-bottom: 0; }
  .single .blog .editor a {
    margin: 1em 0;
    text-decoration: underline; }
    .single .blog .editor a:hover {
      text-decoration: none; }
  .single .blog .editor pre {
    font-size: 15px;
    margin-bottom: 1.5em; }
    @media screen and (max-width: 768px) {
      .single .blog .editor pre {
        font-size: 13px; } }
  .single .blog .editor .wp-block-table table th,
  .single .blog .editor .wp-block-table table td {
    font-size: 16px;
    padding-top: 1em;
    padding-bottom: 1em; }
    @media screen and (max-width: 768px) {
      .single .blog .editor .wp-block-table table th,
      .single .blog .editor .wp-block-table table td {
        font-size: 14px; } }
  .single .blog .editor .wp-block-buttons > .wp-block-button.has-custom-width .wp-block-button__link {
    text-decoration: none;
    padding-top: 1em;
    padding-bottom: 1em;
    font-size: 16px; }
.single .blog .category {
  width: 61.5%; }
  @media screen and (max-width: 768px) {
    .single .blog .category {
      width: 48%;
      padding-right: 0; } }
.single .blog .tag-search {
  width: 38.5%; }
  @media screen and (max-width: 768px) {
    .single .blog .tag-search {
      width: 48%; } }
  @media screen and (max-width: 768px) {
    .single .blog .tag-search .tag {
      padding-left: 0; } }
  .single .blog .tag-search .tag__list {
    margin-bottom: 53px; }
  .single .blog .tag-search input {
    max-width: 100%; }
@media screen and (max-width: 768px) {
  .single .blog .search__wrapper {
    width: 100%;
    margin: 0 auto; } }
.single .blog .link-works {
  margin: 0 auto 142px;
  max-width: 406px; }
  @media screen and (max-width: 768px) {
    .single .blog .link-works {
      margin: 0 auto; } }
.single .blog .article__cat:nth-last-of-type(2) span {
  display: inline-block; }
.single .blog .article__cat:last-of-type span {
  display: none; }

@media screen and (max-width: 768px) {
  body {
    --wp--preset--font-size--small: 10px;
    --wp--preset--font-size--medium: 12px;
    --wp--preset--font-size--large: 18px;
    --wp--preset--font-size--x-large: 21px; } }
#media .main-area .current,
#media .main-area .page,
#media .main-area .previouspostslink {
  display: none; }
#media .post-navi {
  margin-bottom: 10rem; }

#media .search-result-area {
  width: 62%; }
  @media screen and (max-width: 768px) {
    #media .search-result-area {
      width: 100%; } }
  #media .search-result-area__result {
    font-weight: bold;
    font-size: 2rem;
    color: #243040;
    line-height: 1.35;
    margin: 12px 0 32px; }
    @media screen and (max-width: 768px) {
      #media .search-result-area__result {
        font-size: 1.6rem;
        margin: 24px 4.8% 32px; } }
    @media screen and (max-width: 412px) {
      #media .search-result-area__result {
        margin: 32px 4.8% 16px; } }
  #media .search-result-area ul {
    margin-right: 4.8%; }
    @media screen and (max-width: 768px) {
      #media .search-result-area ul {
        margin-left: 4.8%; } }
  #media .search-result-area li {
    border-bottom: 1px dotted #768495;
    padding: 22px 6px; }
    #media .search-result-area li:last-of-type {
      border-bottom: none; }
    @media screen and (max-width: 768px) {
      #media .search-result-area li {
        padding: 16px 6px 18px; } }
  #media .search-result-area a {
    font-size: 1.6rem;
    color: #243040;
    line-height: 1.35; }
    @media screen and (max-width: 768px) {
      #media .search-result-area a {
        font-size: 1.4rem; } }
  #media .search-result-area .wp-pagenavi {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 20px; }
    #media .search-result-area .wp-pagenavi .current,
    #media .search-result-area .wp-pagenavi .page,
    #media .search-result-area .wp-pagenavi .nextpostslink,
    #media .search-result-area .wp-pagenavi .previouspostslink {
      font-family: "Oswald", sans-serif;
      font-size: 1.6rem;
      letter-spacing: 0.2em;
      color: #768495;
      padding: 4px;
      font-weight: normal !important; }
    #media .search-result-area .wp-pagenavi .nextpostslink,
    #media .search-result-area .wp-pagenavi .previouspostslink {
      margin-bottom: 2px; }
    #media .search-result-area .wp-pagenavi .current {
      color: #1e1c1c;
      font-weight: bold; }

.works .works-top {
  overflow-x: hidden; }
.works main + .footer {
  background-color: #f5f8fa; }
.works .single + .footer {
  background-color: #fff; }
.works .blog__header {
  background-image: url(../img/blog/header-works_pc.jpg);
  margin-bottom: 110px; }
  @media screen and (max-width: 768px) {
    .works .blog__header {
      margin-bottom: 65px; } }
@media screen and (max-width: 768px) {
  .works .blog__logo {
    margin-top: 2rem;
    width: 78vw; } }
.works .blog__logo__add {
  margin-top: 2.6rem; }
  @media screen and (max-width: 768px) {
    .works .blog__logo__add {
      margin-top: 1.2rem; } }
.works .blog {
  max-width: 1366px;
  margin: 0 auto;
  padding: 0 80px; }
  @media screen and (max-width: 768px) {
    .works .blog {
      padding: 0 40px; } }
  .works .blog.post__contents {
    margin-bottom: 10rem; }
    @media screen and (max-width: 768px) {
      .works .blog.post__contents {
        margin-bottom: 5rem; } }
.works .blog__contents:after {
  content: "";
  display: block;
  width: 31%;
  height: 0; }
  @media screen and (max-width: 960px) {
    .works .blog__contents:after {
      content: none; } }
.works .blog__contents__wrapper {
  margin-bottom: 110px; }
  @media screen and (max-width: 768px) {
    .works .blog__contents__wrapper {
      margin-bottom: 9rem; } }
.works .blog__contents__cat-title {
  display: flex;
  align-items: center;
  font-size: 4.4rem;
  letter-spacing: 0.2em;
  color: #404e5f;
  font-family: "Oswald", sans-serif;
  margin-bottom: 50px; }
  @media screen and (max-width: 960px) {
    .works .blog__contents__cat-title {
      flex-direction: column;
      align-items: flex-start; } }
  @media screen and (max-width: 768px) {
    .works .blog__contents__cat-title {
      font-size: 2.2rem;
      margin-bottom: 27px; } }
  .works .blog__contents__cat-title.is--works {
    margin-bottom: 3rem; }
.works .blog__contents__cat-title-add {
  margin-left: 23px;
  font-size: 1.6rem;
  letter-spacing: 0;
  color: #768495; }
  @media screen and (max-width: 960px) {
    .works .blog__contents__cat-title-add {
      margin-top: 10px;
      margin-left: 0; } }
  @media screen and (max-width: 768px) {
    .works .blog__contents__cat-title-add {
      font-size: 1rem; } }
.works .blog__contents.has--slider .slick-list {
  overflow: visible; }
.works .blog__contents.has--slider .slider-arrow {
  display: none; }
.works .blog__contents.has--slider .slick-prev {
  top: 35%;
  left: -1rem; }
  @media screen and (max-width: 768px) {
    .works .blog__contents.has--slider .slick-prev {
      left: 0.5rem; } }
.works .blog__contents.has--slider .slick-next {
  top: 35%;
  right: -1rem; }
  @media screen and (max-width: 768px) {
    .works .blog__contents.has--slider .slick-next {
      right: 0.5rem; } }
.works .blog__contents.has--slider .slick-slider + .slider-arrow {
  display: block; }

#post .bg-color {
  padding-top: 10rem; }
  @media screen and (max-width: 768px) {
    #post .bg-color {
      padding-top: 5rem; } }
#post .bg-color--gray {
  background-color: #f5f8fa; }
#post .bg-color--navy {
  background-color: #768495; }
#post .works-post {
  margin: 0 -22px; }
  #post .works-post__list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: -4rem; }
  #post .works-post__inner {
    position: relative; }
  #post .works-post__item {
    width: calc(100% / 3);
    padding: 0 22px;
    margin-bottom: 4rem; }
    @media screen and (max-width: 768px) {
      #post .works-post__item {
        width: 100%;
        padding: 0 3.5vw; }
        #post .works-post__item.slick-slide {
          margin-bottom: 0; } }
  #post .works-post__slider {
    position: relative;
    display: flex; }
    @media screen and (max-width: 768px) {
      #post .works-post__slider {
        flex-wrap: wrap; } }
    #post .works-post__slider.slick-slider {
      display: block;
      margin-right: 0; }
#post .article {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  border: none; }
  @media screen and (max-width: 960px) {
    #post .article {
      width: 47.5%; } }
  @media screen and (max-width: 560px) {
    #post .article {
      width: 100%; } }
  #post .article__img {
    flex-shrink: 0;
    margin-bottom: 16px;
    position: relative;
    padding-top: 66.66%; }
    #post .article__img img {
      width: 100%;
      height: 100%;
      min-height: unset;
      object-fit: cover;
      position: absolute;
      top: 0;
      left: 0; }
  #post .article__title {
    font-size: 2rem;
    color: #243040;
    line-height: 1.45;
    letter-spacing: 0.06em;
    margin-bottom: 15px; }
    @media screen and (max-width: 768px) {
      #post .article__title {
        font-size: 1.6rem; } }
  @media screen and (max-width: 768px) {
    #post .article__text {
      display: flex;
      flex-direction: column-reverse; } }
  #post .article__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    background-color: rgba(167, 192, 204, 0.7);
    transition: 0.2s;
    opacity: 0; }
    #post .article__overlay.is--show {
      opacity: 1; }
  #post .article__overlay-title, #post .article__overlay-category {
    color: #fff; }
  #post .article__overlay-title {
    font-size: 2.1rem;
    font-weight: bold;
    line-height: 1.4;
    padding: 0 1.5em;
    text-align: center; }
  #post .article__overlay-category {
    font-family: "Oswald", sans-serif;
    font-size: 1.5rem;
    letter-spacing: 0.15em;
    margin-top: 1em; }
#post .blog__contents.is--works {
  margin-bottom: 0; }
  #post .blog__contents.is--works .article a {
    display: block; }
  #post .blog__contents.is--works .article__img {
    margin-bottom: 0; }
    #post .blog__contents.is--works .article__img img {
      object-fit: cover;
      min-height: unset; }
#post .side-menu__inner {
  flex-wrap: wrap;
  justify-content: center; }
#post .works-post__header {
  text-align: center;
  padding-bottom: 6rem; }
  @media screen and (max-width: 768px) {
    #post .works-post__header {
      padding-top: 0;
      padding-bottom: 4rem; } }
  #post .works-post__header .article__title {
    font-weight: normal;
    font-size: 2.8rem;
    margin-bottom: 0; }
    @media screen and (max-width: 768px) {
      #post .works-post__header .article__title {
        font-size: 2rem; } }
  #post .works-post__header .article__details {
    display: inline-block;
    margin-top: 1.5rem;
    margin-bottom: 0; }
  #post .works-post__header .article__details-tags {
    margin-right: 0;
    padding-right: 0; }
    #post .works-post__header .article__details-tags:after {
      content: none; }
#post .single .blog .editor {
  padding-bottom: 12rem;
  margin-bottom: 0; }
  @media screen and (max-width: 768px) {
    #post .single .blog .editor {
      padding-bottom: 6rem; } }
#post .works-main__slider {
  margin-bottom: 8rem; }
  @media screen and (max-width: 768px) {
    #post .works-main__slider {
      margin-bottom: 4rem; } }
  #post .works-main__slider-wrapper {
    position: relative;
    overflow: visible; }
  #post .works-main__slider img {
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    object-fit: cover; }
#post.secret .blog__header {
  margin-bottom: 0; }

.works .single .blog__logo {
  width: 535px; }
  @media screen and (max-width: 768px) {
    .works .single .blog__logo {
      width: 78vw; } }
.works .single .blog {
  padding: 0; }
.works .page-link__wrapper {
  margin-top: 10rem; }
  @media screen and (max-width: 768px) {
    .works .page-link__wrapper {
      margin-top: 6rem; } }
.works .blog-cat {
  margin-bottom: 132px; }
  @media screen and (max-width: 768px) {
    .works .blog-cat {
      margin-bottom: 87px;
      position: relative;
      z-index: 2; } }
  .works .blog-cat .blog__contents__cat-title {
    margin-bottom: 30px; }
    @media screen and (max-width: 768px) {
      .works .blog-cat .blog__contents__cat-title {
        align-items: center;
        margin-bottom: 21px; } }
.works .blog .side-menu {
  padding-top: 0; }

.works-page-menu {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 4rem; }

.works-cat-menu {
  display: flex; }
  .works-cat-menu__item {
    position: relative; }
    @media screen and (min-width: 769px) {
      .works-cat-menu__item:not(:last-of-type) {
        padding-right: 1.5rem; }
        .works-cat-menu__item:not(:last-of-type):after {
          position: absolute;
          content: "/";
          color: #768495;
          right: 0; }
      .works-cat-menu__item:not(:first-of-type) {
        padding-left: 1rem; } }
  .works-cat-menu button,
  .works-cat-menu a {
    font-family: "Oswald", sans-serif;
    letter-spacing: 0.15em;
    font-size: 1.2rem;
    color: #768495; }

@media screen and (max-width: 768px) {
  .list-select {
    width: 22rem;
    margin: 0 auto;
    position: relative; }
    .list-select__display-name {
      border: 1px solid #768495;
      border-radius: 1.5rem;
      font-family: "Oswald", sans-serif;
      font-size: 1.2rem;
      letter-spacing: 0.2em;
      color: #768495;
      padding: 0.8rem;
      text-align: center;
      background-color: #fff; }
      .list-select__display-name:after {
        content: "";
        width: 1rem;
        height: 0.5rem;
        display: block;
        background-image: url(../img/common/icon-arrow-down.svg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
        position: absolute;
        top: 50%;
        right: 1rem;
        transform: translateY(-50%);
        transition: 0.2s; }
      .list-select__display-name.is--open:after {
        transform: translateY(-50%) rotate(-180deg); }
    .list-select ul {
      position: absolute;
      width: 100%;
      z-index: 2;
      border: 1px solid #768495;
      border-radius: 1.5rem;
      background-color: #fff;
      display: block;
      padding: 1rem 0;
      margin-top: 0.5rem; }
      .list-select ul li {
        padding: 0; }
        .list-select ul li:after {
          display: none; }
      .list-select ul a {
        margin: 0; }
        .list-select ul a:after {
          display: none; }
    .list-select__button {
      width: 100%;
      padding: 1rem 2rem; } }
.works__wrapper {
  position: relative; }

@media screen and (max-width: 768px) {
  .works-page-link {
    position: absolute;
    top: 0;
    right: 0; } }
.works-page-link a {
  display: flex;
  align-items: center; }
.works-page-link .icon--key-close,
.works-page-link .icon--key-open {
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center; }
.works-page-link .icon--key-close {
  background-image: url(../img/common/icon-key-close.svg);
  width: 2.4rem;
  height: 2.4rem; }
.works-page-link .icon--key-open {
  background-image: url(../img/common/icon-key-open.svg);
  width: 2.4rem;
  height: 2.4rem; }
  @media screen and (max-width: 768px) {
    .works-page-link .icon--key-open {
      width: 2rem;
      height: 2rem; } }
.works-page-link .text {
  font-family: "Oswald", sans-serif;
  letter-spacing: 0.15em;
  font-size: 1.2rem;
  color: #768495;
  margin: 0 0.5em; }
  @media screen and (max-width: 768px) {
    .works-page-link .text {
      font-size: 1rem; } }
.works-page-link .arrow {
  background-color: #eff2f4;
  display: block;
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center; }
  @media screen and (max-width: 768px) {
    .works-page-link .arrow {
      width: 1.5rem;
      height: 1.5rem; } }
.works-page-link.is--white .text {
  color: #fff; }
.works-page-link.is--white .arrow {
  background-color: transparent;
  border: 1px solid #fff; }

.works-detail {
  display: flex;
  padding-top: 8rem; }
  @media screen and (max-width: 768px) {
    .works-detail {
      flex-direction: column-reverse;
      padding-top: 6rem; } }
  .works-detail__title {
    font-size: 1.6rem;
    color: #404e5f;
    font-family: "Oswald", sans-serif;
    letter-spacing: 0.2em;
    font-weight: normal;
    margin-bottom: 1.6rem; }
    .works-detail__title span {
      font-family: "Oswald", sans-serif;
      color: #404e5f;
      font-weight: normal; }
  .works-detail__item {
    max-width: 30rem;
    margin: 0 7rem; }
    .works-detail__item:only-of-type {
      width: 100%;
      max-width: unset; }
    @media screen and (max-width: 768px) {
      .works-detail__item {
        margin: 0; }
        .works-detail__item:first-of-type {
          margin-top: 6rem; } }
    .works-detail__item .link-list {
      padding-top: 0.7em; }
      .works-detail__item .link-list__item {
        line-height: 1; }
        .works-detail__item .link-list__item:not(:last-of-type) {
          margin-bottom: 1.2rem; }
        .works-detail__item .link-list__item a {
          font-family: "Oswald", sans-serif;
          color: #768495;
          font-weight: normal;
          letter-spacing: 0.2em; }
          @media screen and (max-width: 768px) {
            .works-detail__item .link-list__item a {
              font-size: 1.2rem; } }
    .works-detail__item .tech {
      font-size: 1.2rem;
      color: #768495;
      font-family: "Oswald", sans-serif;
      letter-spacing: 0.2em;
      line-height: 2; }

.post-navi {
  margin-top: 10rem;
  width: 100%;
  display: flex;
  justify-content: center; }
  @media screen and (max-width: 768px) {
    .post-navi {
      margin-top: 6rem; } }
  .post-navi a {
    text-align: center; }
  .post-navi .text {
    font-family: "Oswald", sans-serif;
    font-size: 1.8rem;
    letter-spacing: 0.15em;
    color: #8ea3ad;
    margin-left: -0.07em;
    display: inline-block;
    margin-bottom: 0.5rem; }
    @media screen and (max-width: 768px) {
      .post-navi .text {
        font-size: 1.2rem;
        padding-left: 0.3em; } }
  .post-navi .circle {
    width: 4rem;
    height: 4rem;
    display: block;
    border: 1px solid #8ea3ad;
    border-radius: 4rem;
    display: flex;
    align-items: center;
    justify-content: center; }
  .post-navi__item {
    margin: 0 4rem; }
    @media screen and (max-width: 768px) {
      .post-navi__item {
        margin: 0 2rem; } }
    .post-navi__item.is--prev .circle, .post-navi__item.is--next .circle {
      background-color: #8ea3ad; }
    .post-navi__item.is--top .text {
      margin-left: 0.2em; }
      @media screen and (max-width: 768px) {
        .post-navi__item.is--top .text {
          margin-left: 0; } }
    .post-navi__item.is--top img {
      transform: rotate(-90deg); }
    .post-navi__item.is--page-back a {
      display: flex;
      align-items: center;
      flex-direction: row-reverse; }
      .post-navi__item.is--page-back a .text {
        padding-left: 1rem; }
    .post-navi__item.is--page-back img {
      transform: scale(-1, -1); }
    .post-navi__item.is--prev img {
      transform: scale(-1, 1); }
    .post-navi__item.is--off {
      width: 4.5rem; }
  .post-navi.is--pagetop {
    width: auto;
    position: fixed;
    bottom: 5rem;
    right: 4rem;
    z-index: 2; }
    @media screen and (max-width: 768px) {
      .post-navi.is--pagetop {
        bottom: 2rem;
        right: 2rem; } }
    .post-navi.is--pagetop .post-navi__item {
      margin: 0; }

.secret#post .blog__contents__cat-title,
.secret#post .blog__contents__cat-title-add {
  color: #fff; }
.secret#post .footer {
  background-color: #768495; }
.secret .works-cat-menu__item:not(:last-of-type):after,
.secret .works-cat-menu button {
  color: #fff; }
.secret .footer .f__copyright {
  color: #fff; }
