@charset "UTF-8";
@import url("https://fonts.cdnfonts.com/css/nats");
/* LP 固有の横はみ出し対策: 大きすぎる横パディングや固定幅を縮める */
.content_primary {
  padding: 0 1.5rem; /* 以前は0 5em */
}
.content_info {
  padding: 0 1.5rem; /* 以前は0 24em */
}

.top_title img.top_title_img {
  width: 100%;
  max-width: 35rem; /* 見栄えを保ちつつはみ出し防止 */
  margin-bottom: 2rem;
}

.footer_copy {
  padding: 2rem 1rem; /* 大きい左右パディングを縮小 */
}

html,
body {
  height: auto;
  width: 100%;
  margin: 0;
  padding: 0;
  color: #fff;
  font-size: 0.8333333333vw;
  font-family: "IBM Plex Sans JP", sans-serif;
  -webkit-text-size-adjust: 100%;
  background-color: #000;
  scroll-behavior: smooth;
  overflow: hidden;
}
html .ibm-plex-sans-jp-regular,
body .ibm-plex-sans-jp-regular {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
}
html .ibm-plex-sans-jp-light,
body .ibm-plex-sans-jp-light {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 300;
  font-style: normal;
}

li {
  list-style: none;
}

a {
  text-decoration: none;
  color: #fff;
  cursor: pointer;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* ローディング画面 */
.loading {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
  transition: opacity 0.8s ease;
}
.loading.is-hidden {
  opacity: 0;
  pointer-events: none;
}
.loading video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.skip-btn {
  position: absolute;
  right: 20px;
  bottom: 20px;
  z-index: 10000;
  padding: 10px 16px;
  font-size: 14px;
  background: rgba(0, 0, 0, 0.3333333333);
  color: #fff;
  border: 1px solid #fff;
  cursor: pointer;
}

body.is-loading {
  overflow: hidden;
  overscroll-behavior: none;
}

header {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 98;
}
header .logo {
  width: 100%;
  padding-left: 2.791em;
}
header .logo_take {
  width: 4.65em;
  height: -moz-fit-content;
  height: fit-content;
  margin-top: 1.5em;
}

.headerColorScroll {
  filter: invert(1);
  transition: filter 0.3s ease;
  color: #fff;
}

.stick {
  position: fixed;
  top: 0;
  right: 0;
  display: inline-block;
  padding-right: 3.75em;
  z-index: 98;
  pointer-events: none;
}
.stick .logo_color {
  width: 0.931em;
  height: 100vh;
}

.fullPageScroll {
  width: 100%;
  height: 100dvh;
  scroll-snap-type: y mandatory;
  overflow-y: auto;
}

section {
  align-content: center;
  padding-right: 3.75em;
  width: 100%;
}

.scroll {
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

.back {
  background-image: linear-gradient(var(--start), var(--end));
  width: 100%;
  height: 200px;
  --start: #0B1028;
  --end: #1a356c;
}
.back:nth-of-type(2) {
  --start: #1a356c;
  --end: #106395;
}
.back:nth-of-type(3) {
  --start: #106395;
  --end: #36A793;
}
.back:nth-of-type(4) {
  --start: #36A793;
  --end: #F4F7DB;
}
.back:nth-of-type(5) {
  --start: #F4F7DB;
  --end: #490721;
}
.back:nth-of-type(6) {
  --start: #490721;
  --end: #0F0E0C;
}

.content_top {
  display: flex;
  flex-direction: row;
  align-items: center;
  width: 100%;
  justify-content: space-between;
  padding: 0 23.3em;
  margin-top: 2em;
}
.content_primary {
  text-align: center;
}
.content_caseImg {
  display: grid;
  grid-template-columns: repeat(11, 1fr);
  grid-template-rows: repeat(8, 1fr);
  grid-column-gap: 0.9312em;
  grid-row-gap: 0.9312em;
  height: 100dvh;
}
.content_caseImg div {
  position: relative;
  overflow: hidden;
}
.content_caseImg div img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
.content_caseImg div p {
  font-size: 1.58em;
  font-weight: 300;
  line-height: 196%;
  letter-spacing: 1.8px;
  display: inline-block;
  margin: 0.5em 0;
}
.content_caseImg.caseEN div p {
  font-size: 1.5em;
  line-height: 190%;
  margin: 0.5em 2em;
}
.content_secondary {
  margin: 0 auto;
  margin-top: 2em;
  margin-bottom: 2em;
}
.content_info {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 0 11.1em;
  margin-top: 2em;
  margin-bottom: 2em;
}
.content_info a {
  display: inline-block;
}
.content_info a img {
  width: 100%;
  display: block;
}
.content_history p {
  font-family: "NATS", sans-serif;
  font-weight: 400;
  line-height: 110%;
  letter-spacing: 0.1em;
}
.content_logoSet {
  padding-top: 3em;
  margin-bottom: 2em;
}

.top {
  background-color: #0B1028;
  min-height: 100dvh;
}
.top_logo {
  width: 41.5%;
}
.top_logo img {
  width: 100%;
  height: auto;
}
.top_title img.top_title_img {
  display: inline-block;
  width: 16.5em;
  height: auto;
  margin-bottom: 2em;
}
.top_title h1 {
  font-size: 1.5em;
  font-weight: 400;
  line-height: 200%;
  letter-spacing: 1.5px;
}

.primary {
  background-color: #1a356c;
  height: auto;
  min-height: 100dvh;
}
.primary_text {
  font-size: clamp(1.2rem, 6vw, 4em);
  font-weight: 300;
  line-height: 1.6;
  letter-spacing: 0.17em;
  text-align: center;
  white-space: nowrap;
  word-break: keep-all;
  color: transparent;
}
.primary_text span {
  display: inline-block;
  opacity: 0;
  transform: translateY(-100%);
  color: #1a356c;
}
.primary_text span:nth-of-type(15) {
  width: 0%;
}
.primary_text.is-visible span {
  animation: drop-in 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}
.primary_ENtext {
  font-size: clamp(1.2rem, 6vw, 3.5em);
  letter-spacing: 0.1em;
}
.primary_ENtext span:nth-of-type(15) {
  width: auto;
}

/* 落下アニメーション */
@keyframes drop-in {
  0% {
    transform: translateY(-100%);
    opacity: 0;
    color: #1a356c;
  }
  70% {
    transform: translateY(10px);
    opacity: 1;
  }
  to {
    transform: translateY(0);
    opacity: 1;
    color: #fff;
  }
}
.caseImg {
  background-color: #106395;
  height: auto;
  min-height: 100dvh;
}
.caseImg_img {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 4s ease;
}
.caseImg_img.is-active {
  opacity: 1;
  z-index: 2;
}
.caseImg_img.is-leave {
  opacity: 0;
  z-index: 1;
}

.div1 {
  grid-area: 1/2/2/3;
}

.div2 {
  grid-area: 1/3/2/4;
}

.div3 {
  grid-area: 1/4/2/5;
}

.div4 {
  grid-area: 1/5/2/6;
}

.div5 {
  grid-area: 1/6/2/8;
}

.div6 {
  grid-area: 1/8/2/9;
}

.div7 {
  grid-area: 1/9/2/11;
}

.div8 {
  grid-area: 1/11/2/12;
}

.div9 {
  grid-area: 2/1/3/2;
}

.div10 {
  grid-area: 3/1/5/2;
}

.div11 {
  grid-area: 2/2/5/6;
  display: flex;
  justify-content: center;
  align-items: center;
}

.div12 {
  grid-area: 2/6/5/7;
}

.div13 {
  grid-area: 2/7/3/8;
}

.div14 {
  grid-area: 2/8/3/9;
}

.div15 {
  grid-area: 3/7/4/8;
}

.div16 {
  grid-area: 3/8/4/9;
}

.div17 {
  grid-area: 4/7/5/9;
}

.div18 {
  grid-area: 2/9/5/12;
}

.div19 {
  grid-area: 5/1/7/3;
}

.div20 {
  grid-area: 5/3/6/4;
}

.div21 {
  grid-area: 5/4/6/5;
}

.div22 {
  grid-area: 5/5/6/6;
}

.div23 {
  grid-area: 5/6/6/7;
}

.div24 {
  grid-area: 6/3/7/6;
}

.div25 {
  grid-area: 6/6/7/7;
}

.div26 {
  grid-area: 7/1/8/2;
}

.div27 {
  grid-area: 8/1/9/2;
}

.div28 {
  grid-area: 7/2/9/3;
}

.div29 {
  grid-area: 7/3/8/4;
}

.div30 {
  grid-area: 8/3/9/4;
}

.div31 {
  grid-area: 7/4/9/7;
}

.div32 {
  grid-area: 5/7/8/11;
  display: flex;
  justify-content: center;
  align-items: center;
}

.div33 {
  grid-area: 5/11/8/12;
}

.div34 {
  grid-area: 8/7/9/8;
}

.div35 {
  grid-area: 8/8/9/9;
}

.div36 {
  grid-area: 8/9/9/10;
}

.div37 {
  grid-area: 8/10/9/12;
}

.js-case p {
  opacity: 0;
  transition: opacity 4s ease;
}
.js-case p.is-visible {
  opacity: 1;
}

.secondary {
  background-color: #36A793;
  min-height: 100dvh;
}
.secondary_text {
  font-size: 2.5em;
  font-weight: 400;
  line-height: 200%;
  letter-spacing: 0.17em;
  text-align: center;
  opacity: 0;
  transition: opacity 3.5s ease;
}
.secondary_text.is-visible {
  opacity: 1;
}
.secondary_img {
  text-align: center;
  margin-top: 5em;
  opacity: 0;
  transition: opacity 3s ease;
  transition-delay: 0.3s;
}
.secondary_img.is-visible {
  opacity: 1;
}
.secondary_img .img_takeLogo02 {
  width: 33.5em;
}
.secondary_img .img_monitan {
  width: 96%;
}

.secondEN .secondary_text {
  letter-spacing: 0.12em;
}

.info {
  background-color: #F4F7DB;
  min-height: 100dvh;
}
.info_left {
  padding-right: 1.56em;
  width: 50%;
}
.info_left a {
  pointer-events: none;
}
.info_left .info_content {
  position: relative;
  width: 100%;
  overflow: hidden;
  aspect-ratio: 242/249;
  filter: brightness(70%);
}
.info_left .info_bg {
  position: absolute;
  inset: 0;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 0;
}
.info_left .info_logo {
  position: absolute;
  z-index: 1;
  width: 25%;
  top: 4%;
  left: 5%;
}
.info_left .info_text {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-weight: 700;
  font-size: 2em;
  line-height: 200%;
  letter-spacing: 0.17em;
  width: 100%;
  text-align: center;
}
.info_right {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  padding-left: 1.56em;
  width: 50%;
}
.info_right a {
  pointer-events: none;
}
.info_right .info_content {
  position: relative;
  width: 100%;
  overflow: hidden;
  aspect-ratio: 1453/465;
  filter: brightness(70%);
}
.info_right .info_bg {
  position: absolute;
  inset: 0;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 0;
}
.info_right .info_logo {
  position: absolute;
  z-index: 1;
  width: 25%;
  top: 12%;
  left: 4%;
}
.info_right .info_text {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-weight: 700;
  font-size: 2em;
  line-height: 200%;
  letter-spacing: 0.17em;
  width: 100%;
  text-align: center;
}
.info_right .info_text.EN {
  font-size: 1.6em;
}
.info_right .modal_open {
  margin-bottom: 1.55em;
  pointer-events: all;
  cursor: pointer;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.info_right a:nth-child(2) {
  margin-bottom: 1.55em;
  pointer-events: all;
}
.info_right a:nth-child(2) img.info_bg {
  filter: brightness(90%);
}

.brightness {
  filter: brightness(100%) !important;
}

.btn {
  transition: all 0.4s;
}
.btn:hover {
  transform: translateY(-4px);
  box-shadow: 5px 16px 20px -8px rgba(0, 0, 0, 0.4);
}

.modal_container {
  overscroll-behavior: contain;
  position: fixed;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  z-index: 99;
}
.modal_container.active {
  opacity: 1;
  visibility: visible;
}
.modal_body {
  position: relative;
  display: flex;
  align-items: stretch;
  justify-content: center;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
}
.modal_close {
  position: absolute;
  top: 16px;
  right: 45px;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 45px;
  cursor: pointer;
  color: #000;
  z-index: 2;
}
.modal_content {
  color: #000;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  overflow: hidden;
}
.modal_img {
  width: 30.3%;
  flex: 0 0 30.3%;
  max-width: 30.3%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.modal_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.modal_img .SP {
  display: none;
}
.modal_text {
  width: 69.7%;
  flex: 1 1 69.7%;
  height: 100%;
  max-height: 100%;
  overflow: auto;
  padding: 3em 21.5em;
}
.modal_text .message {
  font-family: "NATS", sans-serif;
  font-weight: 400;
  font-size: 8em;
  line-height: 110%;
  letter-spacing: 10%;
  padding-bottom: 0.5em;
}
.modal_text p {
  font-weight: 400;
  font-size: 1em;
  line-height: 200%;
  letter-spacing: 11%;
  font-family: "IBM Plex Sans JP", sans-serif;
}

.history {
  background-image: linear-gradient(#D7BB54, #9c4e24 50%, #7F291F);
  height: auto;
  min-height: 100dvh;
}
.history_title {
  margin-top: 1em;
  text-align: center;
  font-size: 8em;
}

.timeline {
  position: relative;
  padding-top: 8em;
}
.timeline_container {
  max-width: 74rem;
  margin: 3em auto;
}
.timeline::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 40%;
  transform: translateX(-40%);
  width: 0.63em;
  background: #fff;
  z-index: 1;
}
.timeline_item {
  padding-bottom: 4em;
  display: flex;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  opacity: 0;
  transform: translateY(-30px);
  transition: all 0.6s ease;
}
.timeline_item.visible {
  opacity: 1;
  transform: translateY(0);
}
.timeline_date {
  text-align: center;
  width: 35%;
  margin-right: 5%;
}
.timeline_date p {
  font-size: 12.416em;
}
.timeline_date span {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-size: 1.74em;
  font-weight: 500;
  line-height: 100%;
  letter-spacing: 1.5px;
}
.timeline_content {
  border-radius: 8px;
  border: 1px solid #fff;
  padding: 2em;
  width: 54%;
  margin-left: 5%;
}
.timeline_content p {
  font-size: 1.5em;
  font-weight: 400;
  line-height: 200%;
  letter-spacing: 1.5px;
}

.logoSet {
  background-color: #490721;
  min-height: 100dvh;
}
.logoSet_suLogo {
  text-align: center;
}
.logoSet_suLogo a {
  display: inline-block;
  width: 18%;
}
.logoSet_suLogo img {
  width: 100%;
  display: block;
}
.logoSet_item ul {
  margin: 6em auto 0;
  text-align: center;
  padding: 0 14em;
}
.logoSet_item ul li {
  display: inline-block;
  vertical-align: middle;
  margin: 1.875em 2.156em;
}
.logoSet_item ul li a {
  text-decoration: none;
  color: #fff;
  cursor: pointer;
  display: inline-block;
}
.logoSet_item ul li a img {
  width: 100%;
  display: block;
}
.logoSet_item ul li:nth-child(1), .logoSet_item ul li:nth-child(2), .logoSet_item ul li:nth-child(3), .logoSet_item ul li:nth-child(4) {
  margin: 1.875em 2.656em;
}

footer {
  padding-right: 3.75em;
  background-color: #0F0E0C;
  display: flex;
  flex-wrap: wrap;
  min-height: 100dvh;
  width: 100%;
  scroll-snap-align: start;
}

.footer_content {
  flex-wrap: wrap;
  margin: 5em auto 8em;
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  width: 77%;
}
.footer_logo {
  padding-left: 10em;
  width: 57%;
}
.footer_logo img {
  width: 50%;
}
.footer_logo p {
  font-size: 1.25em;
  font-weight: 400;
  letter-spacing: 0.3em;
  margin-top: 45px;
}
.footer_link {
  width: 43%;
}
.footer_copy {
  font-size: 1.8012em;
  font-family: "NATS", sans-serif;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: 2px;
  padding: 2em 19.694em;
  margin: 0 auto;
  border-top: solid 1px #fff;
}

.pageTop {
  width: 7.335vw;
  height: 7.335vw;
  box-sizing: border-box;
  margin: 0 auto;
}

.gotop {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  border: 1px solid #fff;
  border-radius: 7px;
}
.gotop::before {
  content: "";
  display: block;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  width: 27%;
  height: 27%;
  top: 32%;
  left: 0;
  right: 0;
  margin: auto;
  position: absolute;
  transform: rotate(-45deg);
}
.gotop p {
  position: absolute;
  top: 64%;
  left: 0;
  right: 0;
  font-size: 1.8012em;
  font-family: "NATS", sans-serif;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: 1.5px;
  text-align: center;
  color: #fff;
}

.link {
  border: 1px solid #fff;
  border-radius: 7px;
  margin-top: 10em;
}
.link a {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  padding: 20px 40px;
}
.link a .tkLogo {
  width: 20%;
}
.link a p {
  font-size: 1.37em;
  font-weight: 400;
  line-height: 200%;
  letter-spacing: 0.3em;
}
.link a .icon {
  width: 6%;
}

@media (max-height: 600px) {
  .content_caseImg {
    height: auto;
  }
}
@media (max-width: 1200px) {
  .content_top {
    justify-content: space-around;
    padding: 0 13em;
  }
  .content_caseImg div p {
    font-size: 1.73em;
    line-height: 207%;
  }
  .content_info {
    padding: 0 7em;
  }
  .primary_text {
    font-size: clamp(1.2rem, 6vw, 5em);
  }
  .secondary_text {
    font-size: 3.5em;
  }
  .secondary_img {
    margin-top: 9em;
  }
  footer {
    align-content: flex-end !important;
  }
  .footer_content {
    padding-bottom: 10em;
  }
  .footer_logo {
    width: 55%;
  }
  .footer_link {
    width: 45%;
  }
  .footer_copy {
    padding: 4em 21.5em;
  }
}
@media (max-width: 1050px) and (min-width: 768px) {
  .content_caseImg.caseEN div p {
    font-size: 1.9em;
  }
}
@media (max-width: 1024px) {
  .content_top {
    margin: 0;
    align-items: center;
  }
  .content_secondary {
    margin: 0;
    align-items: center;
  }
  .content_info {
    margin: 0;
    align-items: center;
  }
  .content_logoSet {
    margin: 0;
    align-items: center;
  }
  .secondEN {
    margin: 0 !important;
  }
  .modal_content {
    flex-direction: column;
  }
  .modal_img {
    width: 70%;
    max-width: 80%;
    margin: 4em auto;
  }
  .modal_img .PC {
    display: none;
  }
  .modal_img .SP {
    display: block;
    width: 100%;
    height: auto;
  }
  .modal_text {
    width: 70%;
    max-width: 80%;
    height: 100%;
    max-height: 100%;
    padding: 9em 0em;
    margin: 0 auto;
  }
  .modal_text .message {
    font-size: 10em;
  }
  .modal_text p {
    font-size: 2.5em;
  }
  .modalEN_text {
    margin-top: 5em;
  }
  .modalEN_text p {
    font-size: 2.1em;
  }
  .footer_content {
    margin: 0;
    align-items: center;
  }
}
@media (max-width: 768px) {
  header .logo_take {
    width: 10em;
    margin-top: 3em;
  }
  .stick {
    padding-right: 5em;
  }
  .fullPageScroll {
    scroll-snap-type: none;
  }
  .content_top {
    flex-direction: column;
    padding: 0 3em;
  }
  .content_caseImg {
    grid-template-columns: repeat(7, 1fr);
    grid-template-rows: repeat(12, 1fr);
    width: 100%;
  }
  .content_caseImg div p {
    font-size: 2.5em;
  }
  .content_caseImg.caseEN div p {
    font-size: 2.28em;
  }
  .content_info {
    flex-direction: column;
    flex-wrap: nowrap;
    padding: 0em 24em;
  }
  .top_logo {
    width: 45%;
  }
  .top_title {
    margin-top: 17em;
    text-align: center;
  }
  .top_title img.top_title_img {
    width: 35em;
    margin-bottom: 5em;
  }
  .top_title h1 {
    font-size: 3.5em;
  }
  .primary_text {
    font-size: clamp(1.2rem, 6vw, 6.7em);
  }
  .primary_ENtext {
    font-size: clamp(1.2rem, 6vw, 6em);
  }
  .div4 {
    grid-area: 2/7/3/8;
  }
  .div5 {
    grid-area: 1/5/2/7;
  }
  .div6 {
    grid-area: 1/7/2/8;
  }
  .div7 {
    grid-area: 9/1/10/3;
  }
  .div8 {
    grid-area: 3/7/4/8;
  }
  .div13 {
    grid-area: 4/7/5/8;
  }
  .div14 {
    grid-area: 5/3/6/4;
  }
  .div15 {
    grid-area: 6/3/7/4;
  }
  .div16 {
    grid-area: 5/4/6/5;
  }
  .div17 {
    grid-area: 12/1/13/3;
  }
  .div18 {
    grid-area: 5/5/8/8;
  }
  .div20 {
    grid-area: 8/4/9/5;
  }
  .div21 {
    grid-area: 10/1/11/2;
  }
  .div22 {
    grid-area: 10/2/11/3;
  }
  .div23 {
    grid-area: 11/1/12/2;
  }
  .div24 {
    grid-area: 8/5/9/8;
  }
  .div25 {
    grid-area: 11/2/12/3;
  }
  .div26 {
    grid-area: 12/3/13/4;
  }
  .div27 {
    grid-area: 12/4/13/5;
  }
  .div28 {
    grid-area: 6/4/8/5;
  }
  .div29 {
    grid-area: 12/5/13/6;
  }
  .div30 {
    grid-area: 12/6/13/8;
  }
  .div31 {
    grid-area: 7/1/9/4;
  }
  .div32 {
    grid-area: 9/3/12/7;
  }
  .div33 {
    grid-area: 9/7/12/8;
  }
  .secondary .secondEN {
    margin: 3em;
  }
  .secondary_text {
    font-size: clamp(1.2rem, 6vw, 3.8em);
  }
  .secondary_img {
    margin-top: 18em;
  }
  .secondary_img .img_takeLogo02 {
    width: 40em;
  }
  .secondary_img .img_monitan {
    width: 90%;
  }
  .info_left {
    padding-right: 0;
    padding-bottom: 1.55em;
    width: 100%;
  }
  .info_right {
    padding-left: 0;
    width: 100%;
  }
  .info_right .info_content {
    overflow: visible;
  }
  .info_right .info_text {
    font-size: 3.5em;
  }
  .info_right .info_text.EN {
    font-size: 2.7em;
  }
  .modal_content {
    flex-direction: column;
  }
  .modal_img {
    width: 70%;
    max-width: 80%;
    margin: 4em auto;
  }
  .modal_img .PC {
    display: none;
  }
  .modal_img .SP {
    display: block;
    width: 100%;
    height: auto;
  }
  .modal_text {
    width: 70%;
    max-width: 80%;
    height: 100%;
    max-height: 100%;
    padding: 9em 0em;
    margin: 0 auto;
  }
  .modal_text .message {
    font-size: 10em;
  }
  .modal_text p {
    font-size: 2.5em;
  }
  .modalEN_text {
    margin-top: 5em;
  }
  .modalEN_text p {
    font-size: 2.1em;
  }
  .history_title {
    font-size: 10em;
  }
  .timeline_container {
    max-width: 87rem;
  }
  .logoSet_suLogo a {
    width: 20%;
  }
  .logoSet_item ul {
    margin: 15em auto 0;
    width: 95%;
    padding: 0;
  }
  .logoSet_item ul li {
    margin: 30px 4.7em;
  }
  .logoSet_item ul li:nth-child(1), .logoSet_item ul li:nth-child(2), .logoSet_item ul li:nth-child(3) {
    margin: 30px 4.7em;
  }
  .logoSet_item ul li:nth-child(4) {
    margin: 30px 4.7em;
  }
  .logoSet_item ul li:nth-child(4) a svg {
    width: 60%;
    height: 90%;
  }
  .footer_content {
    flex-wrap: wrap;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-content: center !important;
    width: auto;
    padding-bottom: 10em;
  }
  .footer_logo {
    text-align: center;
    padding: 0;
    width: auto;
    margin: 0 auto;
    padding-top: 10em;
  }
  .footer_logo img {
    width: 30%;
  }
  .footer_logo p {
    font-size: 2em;
  }
  .footer_link {
    width: 90%;
    margin: 0 auto;
    margin-top: 10em;
  }
  .footer_copy {
    font-size: 3em;
    padding: 2em 12.5em;
  }
  .pageTop {
    width: 12vw;
    height: 12vw;
  }
  .gotop p {
    font-size: 2.8em;
  }
  .link a {
    justify-content: space-around;
    padding: 3em 0;
  }
  .link a .tkLogo {
    width: 15%;
  }
  .link a p {
    font-size: 2.8em;
  }
}
@media (min-width: 428px) {
  .brSP {
    display: none;
  }
}
@media (max-width: 428px) {
  header .logo {
    padding-left: 4em;
  }
  header .logo_take {
    width: 14em;
    margin-top: 4em;
  }
  .fullPageScroll {
    scroll-snap-type: none;
  }
  .content_top {
    height: 100dvh;
    justify-content: center;
  }
  .content_primary {
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    justify-content: center;
    align-items: center;
    height: 100dvh;
  }
  .content_caseImg {
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: repeat(13, 1fr);
    grid-column-gap: 1em;
    grid-row-gap: 2em;
    height: 100dvh;
  }
  .content_caseImg div p {
    font-size: 3.7em;
    line-height: 180%;
    letter-spacing: 1.6px;
  }
  .content_caseImg.caseEN div p {
    font-size: 3.2em;
    margin: 0.5em 1em;
  }
  .content_info {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    padding: 0 16.5em;
    justify-content: center;
    align-items: center;
    height: 100dvh;
  }
  .content_info a {
    display: inline-block;
  }
  .content_info a img {
    width: 100%;
    display: block;
  }
  .top {
    overflow: auto;
  }
  .top_title h1 {
    font-size: 4em;
  }
  .caseImg {
    overflow: auto;
    padding-right: 0;
    padding-left: 2em;
  }
  .div1 {
    grid-area: 1/2/2/3;
  }
  .div2 {
    grid-area: 1/3/2/4;
  }
  .div3 {
    grid-area: 1/4/2/5;
  }
  .div4 {
    grid-area: 1/5/2/6;
  }
  .div5 {
    grid-area: 10/1/13/5;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2em;
  }
  .div6 {
    grid-area: 10/5/13/6;
  }
  .div7 {
    grid-area: 13/3/14/4;
  }
  .div8 {
    grid-area: 13/4/14/6;
  }
  .div9 {
    grid-area: 2/1/3/2;
  }
  .div10 {
    grid-area: 3/1/5/2;
  }
  .div11 {
    grid-area: 2/2/5/6;
  }
  .div12 {
    grid-area: 7/2/9/3;
  }
  .div13 {
    grid-area: 5/3/6/4;
  }
  .div14 {
    grid-area: 5/4/6/5;
  }
  .div15 {
    grid-area: 5/5/6/6;
  }
  .div16 {
    grid-area: 13/2/14/3;
  }
  .div17 {
    grid-area: 9/1/10/3;
  }
  .div18 {
    grid-area: 7/3/10/6;
  }
  .div19 {
    grid-area: 5/1/7/3;
  }
  .div20 {
    grid-area: 13/1/14/2;
  }
  .div21 {
    grid-area: 7/1/8/2;
  }
  .div22 {
    grid-area: 8/1/9/2;
  }
  .div23 {
    grid-area: 6/3/7/6;
  }
  .secondary {
    overflow: auto;
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    justify-content: center;
    align-items: center;
  }
  .secondary_text {
    font-size: clamp(1.2rem, 6vw, 5.5em);
  }
  .secondary_img {
    margin-top: 18em;
  }
  .secondary_img .img_takeLogo02 {
    width: 50em;
  }
  .info {
    overflow: auto;
  }
  .info_left {
    padding-right: 0;
    margin-bottom: 1.55em;
  }
  .info_right {
    padding-left: 0;
  }
  .info_right .info_text {
    font-size: 4em;
  }
  .info_right .info_text.EN {
    font-size: 3em;
  }
  .modal_close {
    top: 8px;
    right: 12px;
    font-size: 45px;
  }
  .modal_text {
    padding: 5em 0em;
  }
  .modal_text .message {
    font-size: 12em;
  }
  .modal_text p {
    font-size: 3.7em;
  }
  .history {
    overflow: auto;
  }
  .logoSet {
    overflow: auto;
    padding: 2em 6em;
    height: auto;
  }
  .logoSet_suLogo {
    margin-top: 8em;
  }
  .logoSet_suLogo a {
    width: 30%;
  }
  .logoSet_item ul {
    margin: 8em auto;
    max-width: 240px;
  }
  .logoSet_item ul li {
    margin: 5em 2em;
  }
  .logoSet_item ul li a {
    margin: 0 12em;
  }
  .logoSet_item ul li a svg {
    width: 100%;
  }
  .logoSet_item ul li a.tepros svg {
    width: 90%;
  }
  .logoSet_item ul li a.swag svg {
    width: 60%;
    height: 90%;
  }
  .logoSet_item ul li a.quepist svg {
    width: 80%;
  }
  .logoSet_item ul li a.presstone svg {
    width: 80%;
  }
  .logoSet_item ul li:nth-child(1), .logoSet_item ul li:nth-child(2), .logoSet_item ul li:nth-child(3), .logoSet_item ul li:nth-child(4) {
    margin: 5em 2em;
  }
  footer {
    padding-top: 20em;
    align-content: center;
  }
  .footer_content {
    padding-bottom: 35em;
    width: auto;
  }
  .footer_logo {
    padding-bottom: 10em;
  }
  .footer_logo p {
    font-size: 3em;
    margin-top: 20px;
  }
  .footer_copy {
    padding: 2em 11em;
  }
  .pageTop {
    width: 16vw;
    height: 16vw;
  }
  .gotop p {
    font-size: 3.5em;
  }
  .link a {
    justify-content: space-around;
    padding: 3em 5em;
  }
  .link a p {
    font-size: 2.8em;
  }
  .link a .icon {
    width: 6%;
  }
}