@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Sofia+Sans+Semi+Condensed:ital,wght@0,1;0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;0,1000;1,1;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900;1,1000&display=swap");
html {
  scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

body {
  -webkit-animation: fadeIn 0.8s forwards;
          animation: fadeIn 0.8s forwards;
  width: 100%;
  overflow-x: hidden;
  position: relative;
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
html {
  font-family: "noto-sans-cjk-jp", sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: 16px;
}

@media screen and (min-width: 375px) {
  .sp {
    display: none;
  }
}

@media screen and (min-width: 744px) {
  .tab {
    display: none;
  }
}

@media screen and (min-width: 960px) {
  .pc {
    display: none;
  }
}

@media screen and (min-width: 1920px) {
  .pcL {
    display: none;
  }
}

.sp_block {
  display: none;
}
@media screen and (min-width: 375px) {
  .sp_block {
    display: block;
  }
}

.tab_block {
  display: none;
}
@media screen and (min-width: 744px) {
  .tab_block {
    display: block;
  }
}

.pc_block {
  display: none;
}
@media screen and (min-width: 960px) {
  .pc_block {
    display: block;
  }
}

.pcL_block {
  display: none;
}
@media screen and (min-width: 1920px) {
  .pcL_block {
    display: block;
  }
}

main {
  position: relative;
}

.toTop {
  display: none;
  border: none;
  position: fixed;
  bottom: 12rem;
  right: 2rem;
}
@media screen and (min-width: 744px) {
  .toTop {
    display: block;
  }
}
@media screen and (min-width: 960px) {
  .toTop {
    bottom: 7.5rem;
    right: 1rem;
  }
}
.toTop a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
  text-decoration: none;
  color: #000000;
}
.toTop a img {
  height: 1.5rem;
  margin-bottom: 5px;
}
.toTop a p {
  font-size: 0.75rem;
}

.recruit {
  width: 4rem;
  height: 4rem;
  border: 1px solid #000000;
  border-radius: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1rem;
  position: fixed;
  bottom: 7.5rem;
  right: 1rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 100;
}
@media screen and (min-width: 960px) {
  .recruit {
    width: 5rem;
    height: 5rem;
    border-radius: 2.5rem;
    bottom: 14rem;
  }
}
.recruit a {
  width: auto;
  height: auto;
  color: #000000;
  font-size: 0.75rem;
  text-decoration: none;
}
@media screen and (min-width: 960px) {
  .recruit a {
    font-size: 0.8rem;
  }
}
.recruit img {
  height: 1.25rem;
  rotate: -135deg;
}
@media screen and (min-width: 960px) {
  .recruit img {
    height: 1.75rem;
  }
}

footer {
  margin-left: 4%;
  margin-right: 4%;
  margin-top: 12rem;
  margin-bottom: 1.5rem;
  display: grid;
  grid-template: "ycoment     ycoment" auto "...         ..." 3.8rem "works       company" auto "production  ..." auto "design      contact" auto "...         ..." 3.8rem "logo        logo" auto "...         ..." 1rem "copyR       copyR" auto/auto auto;
  row-gap: 0.25rem;
  font-family: "Sofia Sans Semi Condensed", sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: 0.95rem;
}
@media screen and (min-width: 337px) {
  footer {
    margin-left: 7%;
    margin-right: 7%;
  }
}
@media screen and (min-width: 960px) {
  footer {
    position: relative;
  }
}
@media screen and (min-width: 960px) {
  footer {
    grid-template: "ycoment  ...   works       company  contact" auto "...      ...   production  ...      ...    " auto "...      ...   design      ...      ...    " auto "...      ...   ...         ...      ...    " 3.5rem "copyR    copyR logo        logo     logo   " 4rem/auto 1fr auto auto 3rem;
    -webkit-column-gap: 2.5rem;
       -moz-column-gap: 2.5rem;
            column-gap: 2.5rem;
    row-gap: 0.25rem;
  }
}
footer a {
  text-decoration: none;
  color: #000000;
}
footer .ycoment {
  grid-area: ycoment;
}
@media screen and (min-width: 375px) {
  footer .ycoment a {
    font-size: 1.1rem;
    letter-spacing: 0.04em;
  }
}
@media screen and (min-width: 744px) {
  footer .ycoment a {
    font-size: 1.55rem;
    letter-spacing: 0.05rem;
  }
}
@media screen and (min-width: 960px) {
  footer .ycoment a {
    font-size: 1.1rem;
    letter-spacing: 0.04em;
  }
}
footer .ycoment a span {
  font-family: "Sofia Sans Semi Condensed", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 0.8rem;
  letter-spacing: normal;
}
@media screen and (min-width: 744px) {
  footer .ycoment a span {
    font-size: 1rem;
  }
}
@media screen and (min-width: 960px) {
  footer .ycoment a span {
    font-size: 0.8rem;
    letter-spacing: normal;
  }
}
footer .works {
  grid-area: works;
}
footer .company {
  grid-area: company;
}
footer .production {
  grid-area: production;
}
footer .design {
  grid-area: design;
}
footer .contact {
  grid-area: contact;
}
footer .logo {
  grid-area: logo;
  width: 80%;
  justify-self: right;
}
@media screen and (min-width: 744px) {
  footer .logo {
    width: 50%;
  }
}
@media screen and (min-width: 960px) {
  footer .logo {
    width: 70%;
  }
}
footer .logo img {
  width: 100%;
  height: auto;
}
footer .copyR {
  grid-area: copyR;
  font-family: "Sofia Sans Semi Condensed", sans-serif;
  font-weight: 200;
  font-style: normal;
  align-self: end;
}

/*アクティブになったエリア*/
#g-nav.panelactive {
  /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
  position: fixed;
  z-index: 999;
  top: 0;
  width: 100%;
  height: 100vh;
}

/*丸の拡大*/
.circle-bg {
  position: fixed;
  z-index: 998;
  /*丸の形*/
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: #cba745;
  /*丸のスタート位置と形状*/
  -webkit-transform: scale(0);
          transform: scale(0); /*scaleをはじめは0に*/
  right: -50px;
  top: -50px;
  -webkit-transition: all 0.6s;
  transition: all 0.6s; /*0.6秒かけてアニメーション*/
}

.circle-bg.circleactive {
  -webkit-transform: scale(50);
          transform: scale(50); /*クラスが付与されたらscaleを拡大*/
}

.nav_close {
  position: fixed;
  border: 0.8px solid #000000;
  border-radius: 1.3rem;
  padding: 0.5rem 1rem;
  top: clamp(0.625rem, 0.437rem + 0.94vw, 1rem);
  right: clamp(1.06rem, -0.01rem + 5.35vw, 3.196rem);
  font-size: 1rem;
  line-height: 0.8rem;
  font-family: "Sofia Sans Semi Condensed", sans-serif;
  font-weight: 300;
  font-style: normal;
}
@media screen and (min-width: 744px) {
  .nav_close {
    border-radius: 1.55rem;
    padding: 0.9rem 1.25rem;
    font-size: 1.55rem;
    line-height: 1.1rem;
  }
}
@media screen and (min-width: 960px) {
  .nav_close {
    display: none;
  }
}

/*ナビゲーションの縦スクロール*/
#g-nav-list {
  display: none; /*はじめは表示なし*/
  /*ナビの数が増えた場合縦スクロール*/
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100vh;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

#g-nav.panelactive #g-nav-list {
  display: block; /*クラスが付与されたら出現*/
}

/*ナビゲーション*/
#g-nav ul {
  opacity: 0; /*はじめは透過0*/
  /*ナビゲーション天地中央揃え※レイアウトによって調整してください。不必要なら削除*/
  position: absolute;
  z-index: 999;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 70%;
}
@media screen and (min-width: 375px) {
  #g-nav ul {
    width: auto;
  }
}

/*背景が出現後にナビゲーションを表示*/
#g-nav.panelactive ul {
  opacity: 1;
}

/* 背景が出現後にナビゲーション li を表示※レイアウトによって調整してください。不必要なら削除*/
#g-nav.panelactive ul li {
  -webkit-animation-name: gnaviAnime;
          animation-name: gnaviAnime;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s; /*0.2 秒遅らせて出現*/
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}
#g-nav.panelactive ul li:first-child {
  margin-bottom: 2rem;
}

@-webkit-keyframes gnaviAnime {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes gnaviAnime {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*リストのレイアウト設定*/
#g-nav li a {
  color: #333;
  text-decoration: none;
  padding: 10px;
  display: block;
  letter-spacing: 0.1em;
  font-family: "noto-sans-cjk-jp", sans-serif;
  font-weight: 400;
  font-style: normal;
}
#g-nav li a span {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  padding-left: 1.5rem;
}
#g-nav li a span::before {
  content: "- ";
}

/*========= ボタンのためのCSS ===============*/
.menuT {
  z-index: 9999; /*ボタンを最前面に*/
  cursor: pointer;
}

/*×に変化*/
#header {
  position: fixed;
  z-index: 100;
  top: 0;
  padding: clamp(0.625rem, 0.437rem + 0.94vw, 1rem) 0;
  font-family: "Sofia Sans Semi Condensed", sans-serif;
  font-weight: 300;
  font-style: normal;
  width: 100%;
  display: grid;
  grid-template: "space1T ycomentT space2T menuT space4T"/clamp(1.06rem, -0.01rem + 5.35vw, 3.196rem) auto 1fr auto clamp(1.06rem, -0.01rem + 5.35vw, 3.196rem);
  /* 上に上がる動き */
  /* 下に下がる動き */
  position: fixed;
  z-index: 100;
}
#header.UpMove {
  -webkit-animation: UpAnime 0.5s forwards;
          animation: UpAnime 0.5s forwards;
}
@-webkit-keyframes UpAnime {
  from {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
}
@keyframes UpAnime {
  from {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
}
#header.DownMove {
  -webkit-animation: DownAnime 0.5s forwards;
          animation: DownAnime 0.5s forwards;
}
@-webkit-keyframes DownAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes DownAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@media screen and (min-width: 960px) {
  #header {
    top: 26%;
    width: 100%;
    position: absolute;
    font-size: 1.55rem;
    line-height: 1.55rem;
    display: grid;
    grid-template: "space1T ycomentT space2T worksT      space3T     companyT     contactT    space4T" 1.8rem "...     ...      ...     productionT productionT productionT  productionT ...    " 1.8rem "...     ...      ...     designT     designT     designT      designT     ...    " 1.8rem/2rem auto 2.3fr 4rem 0.7fr auto auto 2rem;
    -webkit-column-gap: 4.5vw;
       -moz-column-gap: 4.5vw;
            column-gap: 4.5vw;
  }
}
#header a {
  text-decoration: none;
  color: #000000;
}
#header .space1 {
  grid-area: space1T;
}
#header .ycomentT {
  grid-area: ycomentT;
}
@media screen and (min-width: 375px) {
  #header .ycomentT {
    font-size: 1.1rem;
    letter-spacing: 0.04em;
  }
}
@media screen and (min-width: 744px) {
  #header .ycomentT {
    font-size: 1.55rem;
    letter-spacing: 0.05rem;
  }
}
@media screen and (min-width: pc) {
  #header .ycomentT {
    font-family: "Sofia Sans Semi Condensed", sans-serif;
    font-weight: 300;
    font-style: normal;
  }
}
#header .ycomentT span {
  font-family: "Sofia Sans Semi Condensed", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 0.8rem;
  letter-spacing: normal;
}
@media screen and (min-width: 744px) {
  #header .ycomentT span {
    font-size: 1rem;
  }
}
#header .space2 {
  grid-area: space2T;
}
#header .menuT {
  grid-area: menuT;
  border: 0.8px solid #000000;
  border-radius: 1.3rem;
  padding: 0.5rem 1rem;
}
@media screen and (min-width: 744px) {
  #header .menuT {
    border-radius: 1.55rem;
    padding: 0.9rem 1.25rem;
  }
}
@media screen and (min-width: 960px) {
  #header .menuT {
    display: none;
  }
}
#header .menuT p {
  font-size: 1rem;
  line-height: 0.8rem;
}
@media screen and (min-width: 744px) {
  #header .menuT p {
    font-size: 1.55rem;
    line-height: 1.1rem;
  }
}
#header .worksT {
  grid-area: worksT;
  font-weight: 300;
}
#header .productionT {
  grid-area: productionT;
}
#header .designT {
  grid-area: designT;
}
#header .space3 {
  height: 1px;
  width: 190%;
  position: relative;
  top: 50%;
  left: -45%;
  background-color: #000000;
  grid-area: space3T;
}
@media screen and (min-width: 1920px) {
  #header .space3 {
    width: 170%;
    left: -35%;
  }
}
#header .companyT {
  grid-area: companyT;
}
#header .contactT {
  grid-area: contactT;
}
#header .space4 {
  grid-area: space4T;
}
@media screen and (min-width: 960px) {
  #header {
    position: relative;
    top: 2px;
    padding-top: 2rem;
    backdrop-filter: blur(20px);
  }
}

#header2 {
  position: fixed;
  z-index: 100;
  top: 0;
  padding: clamp(0.625rem, 0.437rem + 0.94vw, 1rem) 0;
  font-family: "Sofia Sans Semi Condensed", sans-serif;
  font-weight: 300;
  font-style: normal;
  width: 100%;
  display: grid;
  grid-template: "space1T ycomentT space2T menuT space4T"/clamp(1.06rem, -0.01rem + 5.35vw, 3.196rem) auto 1fr auto clamp(1.06rem, -0.01rem + 5.35vw, 3.196rem);
  /* 上に上がる動き */
  /* 下に下がる動き */
  display: none;
}
#header2.UpMove {
  -webkit-animation: UpAnime 0.5s forwards;
          animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime {
  from {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
}
#header2.DownMove {
  -webkit-animation: DownAnime 0.5s forwards;
          animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@media screen and (min-width: 960px) {
  #header2 {
    top: 26%;
    width: 100%;
    position: absolute;
    font-size: 1.55rem;
    line-height: 1.55rem;
    display: grid;
    grid-template: "space1T ycomentT space2T worksT      space3T     companyT     contactT    space4T" 1.8rem "...     ...      ...     productionT productionT productionT  productionT ...    " 1.8rem "...     ...      ...     designT     designT     designT      designT     ...    " 1.8rem/2rem auto 2.3fr 4rem 0.7fr auto auto 2rem;
    -webkit-column-gap: 4.5vw;
       -moz-column-gap: 4.5vw;
            column-gap: 4.5vw;
  }
}
#header2 a {
  text-decoration: none;
  color: #000000;
}
#header2 .space1 {
  grid-area: space1T;
}
#header2 .ycomentT {
  grid-area: ycomentT;
}
@media screen and (min-width: 375px) {
  #header2 .ycomentT {
    font-size: 1.1rem;
    letter-spacing: 0.04em;
  }
}
@media screen and (min-width: 744px) {
  #header2 .ycomentT {
    font-size: 1.55rem;
    letter-spacing: 0.05rem;
  }
}
@media screen and (min-width: pc) {
  #header2 .ycomentT {
    font-family: "Sofia Sans Semi Condensed", sans-serif;
    font-weight: 300;
    font-style: normal;
  }
}
#header2 .ycomentT span {
  font-family: "Sofia Sans Semi Condensed", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 0.8rem;
  letter-spacing: normal;
}
@media screen and (min-width: 744px) {
  #header2 .ycomentT span {
    font-size: 1rem;
  }
}
#header2 .space2 {
  grid-area: space2T;
}
#header2 .menuT {
  grid-area: menuT;
  border: 0.8px solid #000000;
  border-radius: 1.3rem;
  padding: 0.5rem 1rem;
}
@media screen and (min-width: 744px) {
  #header2 .menuT {
    border-radius: 1.55rem;
    padding: 0.9rem 1.25rem;
  }
}
@media screen and (min-width: 960px) {
  #header2 .menuT {
    display: none;
  }
}
#header2 .menuT p {
  font-size: 1rem;
  line-height: 0.8rem;
}
@media screen and (min-width: 744px) {
  #header2 .menuT p {
    font-size: 1.55rem;
    line-height: 1.1rem;
  }
}
#header2 .worksT {
  grid-area: worksT;
  font-weight: 300;
}
#header2 .productionT {
  grid-area: productionT;
}
#header2 .designT {
  grid-area: designT;
}
#header2 .space3 {
  height: 1px;
  width: 190%;
  position: relative;
  top: 50%;
  left: -45%;
  background-color: #000000;
  grid-area: space3T;
}
@media screen and (min-width: 1920px) {
  #header2 .space3 {
    width: 170%;
    left: -35%;
  }
}
#header2 .companyT {
  grid-area: companyT;
}
#header2 .contactT {
  grid-area: contactT;
}
#header2 .space4 {
  grid-area: space4T;
}
@media screen and (min-width: 960px) {
  #header2 {
    display: grid;
    position: fixed;
    top: 0;
    background-color: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(2px);
    /* 上に上がる動き */
    /* 下に下がる動き */
  }
  #header2.UpMove {
    -webkit-animation: UpAnime 0.5s forwards;
            animation: UpAnime 0.5s forwards;
  }
  @-webkit-keyframes UpAnime {
    from {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
    to {
      opacity: 0;
      -webkit-transform: translateY(-100px);
              transform: translateY(-100px);
    }
  }
  @keyframes UpAnime {
    from {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
    to {
      opacity: 0;
      -webkit-transform: translateY(-100px);
              transform: translateY(-100px);
    }
  }
  #header2.DownMove {
    -webkit-animation: DownAnime 0.5s forwards;
            animation: DownAnime 0.5s forwards;
  }
  @-webkit-keyframes DownAnime {
    from {
      opacity: 0;
      -webkit-transform: translateY(-100px);
              transform: translateY(-100px);
    }
    to {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
  }
  @keyframes DownAnime {
    from {
      opacity: 0;
      -webkit-transform: translateY(-100px);
              transform: translateY(-100px);
    }
    to {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
  }
}

#top {
  overflow-x: hidden;
  position: relative;
  margin-top: 5rem;
}
#top #loop_wrap {
  width: 480vw;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 960px) {
  #top #loop_wrap {
    width: 333vw;
  }
}
#top #loop_wrap img {
  width: 33.3333%;
  height: 100%;
}

#production {
  margin-left: 4%;
  margin-right: 4%;
  margin-top: 8.8rem;
  margin-bottom: 1.6rem;
  margin-top: 2.5rem;
}
@media screen and (min-width: 337px) {
  #production {
    margin-left: 7%;
    margin-right: 7%;
  }
}
@media screen and (min-width: 960px) {
  #production {
    position: relative;
  }
}
@media screen and (min-width: 960px) {
  #production {
    margin-bottom: 3.5rem;
    margin-right: 5%;
    width: 48.4%;
  }
}
#production h1 {
  font-family: "din-condensed", sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: 3rem;
  margin-bottom: 1.6rem;
}
@media screen and (min-width: 369px) {
  #production h1 {
    font-size: 3.5rem;
  }
}
@media screen and (min-width: 960px) {
  #production h1 {
    margin-bottom: 3rem;
    font-size: 5rem;
  }
}
#production p {
  font-size: 0.75rem;
  line-height: 1.3;
}
@media screen and (min-width: 960px) {
  #production p {
    font-size: 1rem;
  }
}

.border {
  width: 100%;
  border-bottom: 1px solid #000000;
}

.production_dec {
  margin-top: 2.5rem;
  margin-bottom: 2.3rem;
  position: relative;
}
@media screen and (min-width: 960px) {
  .production_dec {
    margin-top: 0;
  }
}
.production_dec .plus {
  position: absolute;
  top: 0;
  right: 7vw;
  width: 1.5rem;
  height: 1.5rem;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
@media screen and (min-width: 960px) {
  .production_dec .plus {
    display: none;
  }
}
.production_dec .plus.open {
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
.production_dec .plus span {
  display: block;
  height: 1px;
  width: 1.5rem;
  background-color: #000000;
}
.production_dec .plus span:nth-child(2) {
  -webkit-transform: translateY(-1px) rotate(90deg);
          transform: translateY(-1px) rotate(90deg);
}
.production_dec .tags {
  margin-left: 4%;
  margin-right: 4%;
}
@media screen and (min-width: 337px) {
  .production_dec .tags {
    margin-left: 7%;
    margin-right: 7%;
  }
}
@media screen and (min-width: 960px) {
  .production_dec .tags {
    position: relative;
  }
}
@media screen and (min-width: 960px) {
  .production_dec .tags {
    width: 35%;
    position: absolute;
    bottom: calc(100% + 3.5rem);
    right: 7%;
    margin: 0;
  }
}
.production_dec .tags p {
  font-size: 1.3rem;
}
@media screen and (min-width: 960px) {
  .production_dec .tags p {
    font-size: 0.9rem;
    margin-bottom: 0.9rem;
  }
}
.production_dec .tags .border {
  margin: 0.5rem 0;
}
@media screen and (min-width: 960px) {
  .production_dec .tags .border {
    display: none;
  }
}
.production_dec .tags .tags_btn {
  display: none;
}
@media screen and (min-width: 960px) {
  .production_dec .tags .tags_btn {
    display: block;
  }
}
.production_dec .tags .filter_btn {
  border: 1px solid #000000;
  border-radius: 1rem;
  padding: 0.4rem;
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
  font-size: 0.7rem;
  display: inline-block;
  margin: 0.25rem;
  height: auto;
}
.production_dec .article {
  width: 100%;
  border-bottom: 1px solid #000000;
}
.production_dec .article .inner {
  padding-top: 4.5rem;
  display: grid;
  gap: 1rem;
  grid-template: "flyer" "title" "btn";
  margin-left: 4%;
  margin-right: 4%;
  grid-template: "date deBtn" "flyer flyer" "title title" "dec dec" "btn btn" "site site";
  padding-bottom: 4rem;
}
.production_dec .article .inner .flyer {
  justify-self: center;
  grid-area: flyer;
}
.production_dec .article .inner .wrap {
  grid-area: btn;
}
.production_dec .article .inner .wrap button {
  border: 1px solid #000000;
  border-radius: 1rem;
  padding: 0.4rem;
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
  font-size: 0.7rem;
}
.production_dec .article .inner .title {
  grid-area: title;
  font-family: "noto-sans-cjk-jp", sans-serif;
  font-weight: 500;
  font-style: normal;
}
@media screen and (min-width: 337px) {
  .production_dec .article .inner {
    margin-left: 7%;
    margin-right: 7%;
  }
}
@media screen and (min-width: 960px) {
  .production_dec .article .inner {
    position: relative;
  }
}
@media screen and (min-width: 960px) {
  .production_dec .article .inner {
    grid-template: "date  date   deBtn" 2.5rem "flyer title  dec" 6rem "flyer btn    site" 4rem/20% 40% 1fr;
    -webkit-column-gap: 2rem;
       -moz-column-gap: 2rem;
            column-gap: 2rem;
    row-gap: 0.25rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0.6rem 0 1.6rem 0;
  }
}
@media screen and (min-width: 1440px) {
  .production_dec .article .inner {
    grid-template: "date  date  ... deBtn" 2.5rem "flyer title ... dec" 4rem "flyer btn   ... site" 4rem/20% 40% 5% 1fr;
  }
}
.production_dec .article .inner .date {
  grid-area: date;
  padding-bottom: 2rem;
}
@media screen and (min-width: 960px) {
  .production_dec .article .inner .date {
    justify-self: flex-end;
    padding-bottom: 0;
  }
}
.production_dec .article .inner .designBtn {
  grid-area: deBtn;
  border: 1px solid #000000;
  border-radius: 1rem;
  background-color: #cba745;
  height: 2rem;
  padding: 0 0.5rem;
  width: 8rem;
  justify-self: end;
}
.production_dec .article .inner .designBtn a {
  font-family: "din-condensed", sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: 0.85rem;
  text-decoration: none;
  color: #000000;
  line-height: 2rem;
}
.production_dec .article .inner .designBtn a img {
  margin-right: 0.5rem;
  width: 1.5rem;
  padding-bottom: 0.95rem;
}
.production_dec .article .inner .flyer {
  height: 12rem;
  width: auto;
}
@media screen and (min-width: 744px) {
  .production_dec .article .inner .flyer {
    height: 17rem;
  }
}
@media screen and (min-width: 960px) {
  .production_dec .article .inner .flyer {
    height: 100%;
  }
}
.production_dec .article .inner .flyer.yoko, .production_dec .article .inner .flyer.noImage {
  width: 75%;
  height: auto;
}
@media screen and (min-width: 744px) {
  .production_dec .article .inner .flyer.yoko, .production_dec .article .inner .flyer.noImage {
    width: 50%;
  }
}
@media screen and (min-width: 960px) {
  .production_dec .article .inner .flyer.yoko, .production_dec .article .inner .flyer.noImage {
    height: 100%;
    width: auto;
    max-width: 75%;
    -o-object-fit: contain;
       object-fit: contain;
    background-color: #ffffff;
  }
}
@media screen and (min-width: 960px) {
  .production_dec .article .inner .tags_wrap {
    margin-top: 0;
  }
}
.production_dec .article .inner .tags_wrap .filter_btn {
  margin: 0.15rem;
}
.production_dec .article .inner .dec {
  grid-area: dec;
  font-size: 0.9rem;
}
.production_dec .article .inner .site {
  grid-area: site;
  border: 1px solid #cba745;
  width: 100%;
  height: 2.5rem;
  text-align: center;
  position: relative;
}
.production_dec .article .inner .site a {
  text-decoration: none;
  color: #000000;
  display: block;
}
.production_dec .article .inner .site a img {
  height: 1.5rem;
  position: absolute;
  right: 0.5rem;
  top: 0.5rem;
}
.production_dec .other {
  width: 100%;
  display: grid;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
}
@media screen and (min-width: 960px) {
  .production_dec .other {
    display: none;
  }
}
.production_dec .other a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 5.5rem;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  text-decoration: none;
}
.production_dec .other a p {
  font-family: "din-condensed", sans-serif;
  font-weight: 300;
  font-style: normal;
  color: #000000;
  font-size: 2.75rem;
  line-height: 2.75rem;
}
.production_dec .other a img {
  width: 1.5rem;
  margin-left: 1.5rem;
}
.production_dec .other_pc {
  width: 100%;
  display: grid;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  display: none;
}
@media screen and (min-width: 960px) {
  .production_dec .other_pc {
    display: none;
  }
}
.production_dec .other_pc a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 5.5rem;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  text-decoration: none;
}
.production_dec .other_pc a p {
  font-family: "din-condensed", sans-serif;
  font-weight: 300;
  font-style: normal;
  color: #000000;
  font-size: 2.75rem;
  line-height: 2.75rem;
}
.production_dec .other_pc a img {
  width: 1.5rem;
  margin-left: 1.5rem;
}
@media screen and (min-width: 960px) {
  .production_dec .other_pc {
    display: block;
    width: auto;
    position: absolute;
    bottom: 0;
    right: 0;
  }
  .production_dec .other_pc a {
    margin: 0;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  .production_dec .other_pc a p {
    font-family: "Sofia Sans Semi Condensed", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 1rem;
    line-height: 1rem;
  }
  .production_dec .other_pc a img {
    width: 1rem;
    margin-left: 0.8rem;
  }
}
@media screen and (min-width: 960px) {
  .production_dec .other_pc {
    bottom: -3rem;
  }
}
.production_dec .detail {
  width: 5rem;
  height: 5rem;
  border: 1px solid #000000;
  border-radius: 5rem;
  position: absolute;
  top: 50%;
  right: 20%;
}
.production_dec .detail a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
  text-decoration: none;
  color: #000000;
}
.production_dec .detail img {
  height: 1.5rem;
  margin-top: 5px;
}/*# sourceMappingURL=production.css.map */