@charset "UTF-8";
html {
  font-family: yu-gothic-pr6n, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 10px;
}

html.wf-active, html.loading-delay {
  visibility: visible;
}

body, h1, h2, h3, p, ul, li, dl, dt, dd {
  margin: 0;
  padding: 0;
}

img {
  vertical-align: bottom;
}

ul {
  list-style: none;
}

a {
  text-decoration: none;
}

.global-header {
  position: relative;
  margin: 0 auto;
}

.global-header-logo {
  width: 30rem;
  position: absolute;
  left: 0;
}

.global-header-logo .global-header-logo__img a {
  display: block;
}

.global-header-logo .global-header-logo__img a img {
  width: 100%;
}

.global-header-logo .global-header-logo__title {
  color: #ECECEC;
  position: absolute;
  top: 1rem;
  left: 1rem;
  font-size: 1.8rem;
  font-family: ab-anzu-r, sans-serif;
  font-weight: 400;
  font-style: normal;
}

.toggle-menu {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 999;
  text-align: center;
  cursor: pointer;
}

.toggle-menu .toggle-menu__desc {
  font-family: ab-anzu-r, sans-serif;
  font-weight: 600;
  font-style: normal;
}

.hamburger-menu {
  width: 50px;
  height: 40px;
  position: relative;
}

.hamburger-menu span {
  -webkit-transition: all .5s;
  transition: all .5s;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  height: 1px;
  border-radius: 2px;
  background-color: #000000;
  width: 50%;
}

.hamburger-menu .hamburger-menu__btn-top {
  top: 15px;
}

.hamburger-menu .hamburger-menu__btn-mid {
  top: 23px;
}

.hamburger-menu .hamburger-menu__btn-bottom {
  top: 31px;
}

.toggle-menu.active {
  z-index: 1000;
}

.toggle-menu.active .toggle-menu__desc {
  opacity: 0;
}

.toggle-menu.active .hamburger-menu .hamburger-menu__btn-top {
  top: 14px;
  left: 8px;
  -webkit-transform: translateY(6px) rotate(-45deg);
          transform: translateY(6px) rotate(-45deg);
  width: 70%;
}

.toggle-menu.active .hamburger-menu .hamburger-menu__btn-mid {
  opacity: 0;
}

.toggle-menu.active .hamburger-menu .hamburger-menu__btn-bottom {
  top: 26px;
  left: 8px;
  -webkit-transform: translateY(-6px) rotate(45deg);
          transform: translateY(-6px) rotate(45deg);
  width: 70%;
}

.global-menu-container {
  display: none;
  position: fixed;
  top: 0;
  width: 100%;
  height: 100vh;
  background: #ECECEC;
  text-align: center;
}

.global-menu__heading {
  font-size: 3rem;
  margin-bottom: 5rem;
  font-family: ab-anzu-r, sans-serif;
  font-weight: 400;
  font-style: normal;
}

.global-menu__list {
  margin-top: 5rem;
  text-align: center;
  font-size: 1.6rem;
  font-family: ab-anzu-r, sans-serif;
  font-weight: 400;
  font-style: normal;
}

.global-menu__list li {
  margin-bottom: 2rem;
}

.global-menu__list li a {
  color: #000000;
}

.global-menu__list li:last-child {
  margin-bottom: 0;
}

.global-menu-container.panelactive {
  display: block;
  z-index: 999;
}

.global-menu {
  position: absolute;
  top: 20rem;
  right: 50%;
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
  z-index: 2000;
}

/*==================================================
global-menu__list　順番に表示ふわっ
===================================*/
/* アニメーションスタートの遅延時間を決めるCSS*/
.delay-time02 {
  -webkit-animation-delay: 0.1s;
          animation-delay: 0.1s;
}

.delay-time04 {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}

.delay-time06 {
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}

.page-header-logo {
  position: absolute;
  right: 50%;
  top: 100px;
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
  width: 20%;
  max-width: 150px;
}

.page-header-logo img {
  width: 100%;
}

.top-header-logo {
  position: absolute;
  right: 50%;
  top: 100px;
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
  width: 20%;
  max-width: 150px;
}

.top-header-logo img {
  width: 100%;
}

.page-header {
  text-align: center;
  margin-bottom: 2rem;
}

.page-header .page-header__heading {
  font-family: ab-anzu-r, sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 3rem;
  margin-bottom: 1rem;
}

.page-header .page-header__lead {
  font-family: yu-gothic-pr6n, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.4rem;
  line-height: 2.8rem;
}

.main {
  width: 80%;
  margin: 0 auto;
}

.page-main {
  padding-top: 30rem;
  margin-bottom: 10rem;
  max-width: 50rem;
}

.top-header {
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
          writing-mode: vertical-rl;
  width: 100%;
  max-width: 1000px;
  height: 100%;
  margin: 0 auto;
  margin-bottom: 5rem;
}

.top-header-copy {
  width: 10rem;
  position: relative;
  padding-right: 5rem;
  margin-top: 10rem;
}

.top-header-copy .top-header-copy__desc {
  font-size: 1.4rem;
  height: 100%;
  width: 100%;
  padding-right: 8rem;
  position: absolute;
  top: 6rem;
  right: 1rem;
  color: #ECECEC;
  font-family: a-otf-ryumin-pr6n, serif;
  font-weight: 300;
  font-style: normal;
}

.top-header-copy .top-header-copy__img {
  width: 100%;
}

.blur-2 {
  -webkit-animation-name: blur-2Anime;
          animation-name: blur-2Anime;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

@-webkit-keyframes blur-2Anime {
  from {
    -webkit-filter: blur-2(1rem);
            filter: blur-2(1rem);
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    opacity: 0;
  }
  to {
    -webkit-filter: blur-2(0);
            filter: blur-2(0);
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}

@keyframes blur-2Anime {
  from {
    -webkit-filter: blur-2(1rem);
            filter: blur-2(1rem);
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    opacity: 0;
  }
  to {
    -webkit-filter: blur-2(0);
            filter: blur-2(0);
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}

.blurTrigger {
  opacity: 0;
}

/*========= 流れるテキスト ===============*/
/*全共通*/
.slide-in {
  overflow: hidden;
  display: inline-block;
}

.slide-in_inner {
  display: inline-block;
}

/* 上下のアニメーション*/
.upAnime {
  opacity: 0;
  /* 事前に透過0 にして消しておく*/
}

.slideAnimeDownUp {
  -webkit-animation-name: slideTextY100;
          animation-name: slideTextY100;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes slideTextY100 {
  from {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
    /* 要素を上の枠外に移動*/
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    /* 要素を元の位置に移動*/
    opacity: 1;
  }
}

@keyframes slideTextY100 {
  from {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
    /* 要素を上の枠外に移動*/
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    /* 要素を元の位置に移動*/
    opacity: 1;
  }
}

.slideAnimeUpDown {
  -webkit-animation-name: slideTextY-100;
          animation-name: slideTextY-100;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes slideTextY-100 {
  from {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
    /* 要素を下の枠外に移動*/
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    /* 要素を元の位置に移動*/
    opacity: 1;
  }
}

@keyframes slideTextY-100 {
  from {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
    /* 要素を下の枠外に移動*/
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    /* 要素を元の位置に移動*/
    opacity: 1;
  }
}

.top-header__concept {
  position: absolute;
  right: 50%;
  top: 30rem;
  height: 40rem;
  font-family: a-otf-ryumin-pr6n, serif;
  font-weight: 300;
  font-style: normal;
  line-height: 2em;
}

.blur {
  -webkit-animation-name: blurAnime;
          animation-name: blurAnime;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

@-webkit-keyframes blurAnime {
  from {
    -webkit-filter: blur(1rem);
            filter: blur(1rem);
    -webkit-transform: scale(1.5);
            transform: scale(1.5);
    opacity: 0;
  }
  to {
    -webkit-filter: blur(0);
            filter: blur(0);
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}

@keyframes blurAnime {
  from {
    -webkit-filter: blur(1rem);
            filter: blur(1rem);
    -webkit-transform: scale(1.5);
            transform: scale(1.5);
    opacity: 0;
  }
  to {
    -webkit-filter: blur(0);
            filter: blur(0);
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}

.blurTrigger {
  opacity: 0;
}

.service {
  margin-bottom: 8rem;
}

.service-unit {
  margin: 0 auto;
}

.service-unit .service-unit__web-img {
  width: 8rem;
  height: 6rem;
  margin: 0 auto;
  padding: 3rem;
}

.service-unit .service-unit__web-img img {
  width: 100%;
  height: 100%;
  vertical-align: bottom;
  -o-object-fit: contain;
     object-fit: contain;
}

.service-unit .service-unit__flier-img {
  width: 4rem;
  height: 6rem;
  margin: 0 auto;
  padding: 3rem;
}

.service-unit .service-unit__flier-img img {
  width: 100%;
  height: 100%;
  vertical-align: bottom;
  -o-object-fit: contain;
     object-fit: contain;
}

.service-unit .service-unit__heading {
  text-align: center;
  font-family: yu-gothic-pr6n, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.6rem;
  margin-bottom: .2rem;
}

.service-unit .service-unit__desc {
  text-align: left;
  margin: 0 auto;
  font-family: yu-gothic-pr6n, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.1rem;
  line-height: 1.8rem;
  max-width: 40rem;
}

.service-unit .service-unit__logo {
  padding: 3rem;
  width: 10rem;
  height: 6rem;
  margin: 0 auto;
  font-size: 1.4rem;
  font-family: ab-anzu-r, sans-serif;
  font-weight: 600;
  font-style: normal;
}

.service-unit .service-unit__logo p {
  border: #000000 1px solid;
  border-radius: .5rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 100%;
  line-height: 6rem;
  text-align: center;
}

.service-attention-unit {
  width: 20rem;
  margin: 0 auto;
  margin-top: 2rem;
  margin-bottom: 3rem;
  text-align: center;
  font-family: yu-gothic-pr6n, sans-serif;
  padding: 1rem;
  border: #707070 1px solid;
}

.service-attention-unit .service-attention-unit__heading {
  font-weight: 400;
  font-style: normal;
  font-size: 1.6rem;
  margin-bottom: .2rem;
}

.service-attention-unit .service-attention-unit__heading-sub {
  margin: 0 auto;
  font-weight: 400;
  font-style: normal;
  font-size: 1.2rem;
  line-height: 2.4rem;
  margin-bottom: .5rem;
}

.service-attention-unit .service-attention-unit__desc {
  font-weight: 300;
  font-style: normal;
  line-height: 1.8rem;
  font-size: 1rem;
}

.page-header {
  text-align: center;
  margin-bottom: 3rem;
}

.page-header .page-header__heading {
  font-family: ab-anzu-r, sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 3rem;
  margin-bottom: 1rem;
}

.page-header .page-header__lead {
  font-family: yu-gothic-pr6n, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.2rem;
  line-height: 2.4rem;
}

.fadeUp {
  -webkit-animation-name: fadeUpAnime;
          animation-name: fadeUpAnime;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes fadeUpAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(3rem);
            transform: translateY(3rem);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(3rem);
            transform: translateY(3rem);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

.fadeUpTrigger {
  opacity: 0;
}

.work {
  padding-bottom: 5rem;
  max-width: 400px;
  margin: 0 auto;
  vertical-align: top;
}

.work-list {
  vertical-align: top;
}

.work-inner {
  width: 30rem;
  margin: 0 auto;
  margin-bottom: 4rem;
  margin-top: 0;
}

.work-inner .work-unit__desc {
  font-size: 1.1rem;
  line-height: 1.4rem;
}

.work-unit {
  margin-bottom: 1rem;
  background-color: #FFFFFF;
  width: 30rem;
  height: 30rem;
}

.work-unit .work-unit__img {
  width: 30rem;
  height: 30rem;
}

.work-unit .work-unit__img img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 0%;
     object-position: 50% 0%;
  width: 100%;
  height: 100%;
}

/*==================================================
スーッ
===================================*/
/*枠線が伸びて出現*/
.line {
  position: relative;
  /* 枠線が書かれる基点*/
}

/*上下線*/
.line::before,
.line::after {
  position: absolute;
  content: "";
  width: 0;
  height: 1px;
  background: #333;
  /* 枠線の色*/
}

/*左右線*/
.line2::before,
.line2::after {
  position: absolute;
  content: "";
  width: 1px;
  height: 0;
  background: #333;
  /* 枠線の色*/
}

/*上線*/
.line::before {
  top: 0;
  left: 0;
  -webkit-animation: lineAnime .5s linear 0s forwards;
          animation: lineAnime .5s linear 0s forwards;
  /*表示されて0秒後に上線が0.5秒かけて表示*/
  z-index: 100;
}

/*右線*/
.line2::before {
  top: 0;
  right: 0;
  -webkit-animation: lineAnime2 .5s linear .5s forwards;
          animation: lineAnime2 .5s linear .5s forwards;
  /*表示されて0.5秒後に右線が0.5秒かけて表示*/
  z-index: 100;
}

/*下線*/
.line::after {
  bottom: 0;
  right: 0;
  -webkit-animation: lineAnime .5s linear 1s forwards;
          animation: lineAnime .5s linear 1s forwards;
  /*表示されて1秒後に下線が0.5秒かけて表示*/
  z-index: 100;
}

/*左線*/
.line2::after {
  bottom: 0;
  left: 0;
  -webkit-animation: lineAnime2 .5s linear 1.5s forwards;
          animation: lineAnime2 .5s linear 1.5s forwards;
  /*表示されて1.5秒後に左線が0.5秒かけて表示*/
  z-index: 100;
}

@-webkit-keyframes lineAnime {
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}

@keyframes lineAnime {
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}

@-webkit-keyframes lineAnime2 {
  0% {
    height: 0%;
  }
  100% {
    height: 100%;
  }
}

@keyframes lineAnime2 {
  0% {
    height: 0%;
  }
  100% {
    height: 100%;
  }
}

/*枠線内側の要素*/
.line .lineinappear {
  -webkit-animation: lineInnerAnime 1s linear 1s forwards;
          animation: lineInnerAnime 1s linear 1s forwards;
  /*1.5秒後に中央のエリアが0.5秒かけて表示*/
  opacity: 0;
  /*初期値を透過0にする*/
}

@-webkit-keyframes lineInnerAnime {
  from {
    -webkit-filter: lineInner(1rem);
            filter: lineInner(1rem);
    -webkit-transform: scale(0.95);
            transform: scale(0.95);
    opacity: 0;
  }
  to {
    -webkit-filter: lineInner(0);
            filter: lineInner(0);
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}

@keyframes lineInnerAnime {
  from {
    -webkit-filter: lineInner(1rem);
            filter: lineInner(1rem);
    -webkit-transform: scale(0.95);
            transform: scale(0.95);
    opacity: 0;
  }
  to {
    -webkit-filter: lineInner(0);
            filter: lineInner(0);
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}

.footer {
  position: relative;
  height: 30rem;
  background: #ECECEC;
}

.footer .footer__menu {
  text-align: center;
  font-size: 1.2rem;
  font-family: ab-anzu-r, sans-serif;
  font-weight: 400;
  font-style: normal;
  position: absolute;
  top: 50%;
  right: 50%;
  -webkit-transform: translateX(50%) translateY(-50%);
          transform: translateX(50%) translateY(-50%);
}

.footer .footer__menu li {
  margin-bottom: 2rem;
}

.footer .footer__menu li a {
  color: #000000;
}

.footer .footer__menu li:last-child {
  margin-bottom: 0;
}

.footer .footer-logo {
  width: 20rem;
  position: absolute;
  left: 0;
  bottom: 0;
}

.footer .footer-logo .footer-logo__img img {
  width: 100%;
}

.footer .footer-logo .footer-logo__title {
  font-size: large;
  color: #ECECEC;
  position: absolute;
  bottom: 1rem;
  left: 1rem;
  font-size: 1.2rem;
  font-family: ab-anzu-r, sans-serif;
  font-weight: 300;
  font-style: normal;
}

.prof .prof__history {
  margin: 0 auto;
  margin-bottom: 2rem;
  font-size: 1.2rem;
}

.prof-unit {
  text-align: center;
  margin-bottom: 2rem;
}

.prof-unit .prof-unit__avatar {
  width: 10rem;
  margin: 0 auto;
  margin-bottom: 2rem;
}

.prof-unit .prof-unit__avatar img {
  width: 100%;
}

.prof-unit .prof-unit__caption .prof-unit__caption_jp {
  font-size: 1.6rem;
  line-height: 1.6rem;
}

.prof-unit .prof-unit__caption .prof-unit__caption_en {
  font-size: 1rem;
}

.prof-list {
  margin-bottom: 4rem;
}

.prof-list dl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  width: 100%;
  font-size: 1.2rem;
}

.prof-list dl dt {
  width: 20%;
}

.prof-list dl dd {
  width: 80%;
}

.announce .announce__heading {
  text-align: center;
  margin-bottom: 1rem;
}

.announce .announce__list {
  list-style: inside;
  margin-bottom: 2rem;
  font-size: 1.2rem;
}

.announce .announce-btn {
  text-align: center;
}

.btnarrow {
  padding: 1rem;
  font-size: 1.2rem;
  font-weight: 600;
  position: relative;
  text-decoration: none;
  display: inline-block;
  background: #ffec04;
  color: #333;
  padding: .8rem;
  width: 24rem;
  border-radius: 2.5rem;
  text-align: center;
  outline: none;
}

.btnarrow::after {
  content: '';
  position: absolute;
  top: 1.2em;
  right: 3rem;
  width: 1rem;
  height: 1rem;
  border-top: 1px solid #333;
  border-right: 1px solid #333;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: ease .5s;
  transition: ease .5s;
}

.btnarrow:hover {
  cursor: pointer;
}

.btnarrow:hover::after {
  right: 25px;
}

/*========= ページトップのためのCSS ===============*/
/*スクロールリンクの形状*/
.scroll-top {
  /*表示位置*/
  position: fixed;
  right: 20px;
  bottom: 10px;
  /*はじめは非表示*/
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity .5s, visibility .5s;
  transition: opacity .5s, visibility .5s;
  /*それぞれに0.5秒の変化のアニメーション*/
  /*縦書き*/
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  /*改行禁止*/
  white-space: nowrap;
  /*矢印の動き*/
  -webkit-animation: arrowmove 1s ease-in-out infinite;
          animation: arrowmove 1s ease-in-out infinite;
}

@-webkit-keyframes arrowmove {
  0% {
    bottom: 20px;
  }
  50% {
    bottom: 25px;
  }
  100% {
    bottom: 20px;
  }
}

@keyframes arrowmove {
  0% {
    bottom: 20px;
  }
  50% {
    bottom: 25px;
  }
  100% {
    bottom: 20px;
  }
}

/*.scroll-viewクラスがついたら出現*/
.scroll-top.scroll-view {
  opacity: 1;
  visibility: visible;
}

/*リンク全体の aタグの形状*/
.scroll-top a {
  text-decoration: none;
  color: #666;
  text-transform: uppercase;
  font-size: 0.9rem;
  display: block;
}

/*スクロールリンクの形状*/
.js-scroll a::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 1px;
  height: 50px;
  background: #666;
}

.js-scroll a::before {
  content: "";
  position: absolute;
  top: 30px;
  right: -6px;
  width: 1px;
  height: 20px;
  background: #666;
  -webkit-transform: skewX(-31deg);
          transform: skewX(-31deg);
}

/*Edge IE11 hack*/
_:-ms-lang(x), .js-scroll a::before {
  right: -11px;
}

/*ページトップリンクの形状*/
.js-pagetop a::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 1px;
  height: 50px;
  background: #666;
}

.js-pagetop a::before {
  content: "";
  position: absolute;
  top: 0;
  right: -6px;
  width: 1px;
  height: 20px;
  background: #666;
  -webkit-transform: skewX(31deg);
          transform: skewX(31deg);
}

@media (min-width: 800px) {
  html {
    font-size: 12px;
  }
  .top-header-logo {
    display: block;
    position: absolute;
    right: 65%;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
    width: 30%;
    max-width: 300px;
  }
  .top-header-logo img {
    width: 100%;
  }
  .top-header__concept {
    -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
    position: absolute;
    right: 50%;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
    top: 450px;
  }
  main {
    max-width: 1000px;
  }
  .service-wrapper {
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: 50px;
  }
  .service-wrapper .service-inner {
    width: calc((100% - 50px) / 2);
  }
  .work {
    max-width: 1000px;
  }
  .work-list {
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 4rem;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .work-list .work-unit {
    height: 26rem;
    width: 26rem;
  }
  .work-list .work-unit img {
    height: 26rem;
    width: 26rem;
  }
}

@media (min-width: 1200px) {
  html {
    font-size: 14px;
  }
  .top-header-logo {
    display: block;
    position: absolute;
    right: 65%;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
    width: 30%;
    max-width: 300px;
  }
  .top-header-logo img {
    width: 100%;
  }
  .top-header__concept {
    -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
    position: absolute;
    right: 50%;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
    top: 450px;
  }
  main {
    max-width: 1300px;
  }
  .service-wrapper {
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    gap: 50px;
  }
  .service-inner {
    width: 33%;
  }
}
/*# sourceMappingURL=style.css.map */