@charset "UTF-8";
@font-face {
  font-family: "Chillax-Semibold";
  src: url(fonts/Chillax-Semibold.woff2) format("woff2"), url(fonts/Chillax-Semibold.woff) format("woff"), url(fonts/Chillax-Semibold.eot) format("eot");
  font-weight: 600;
  font-style: normal;
}
/* ******************************
   変数設定など
   ****************************** */ :root {
  /* カラー(ボタン背景色など) */
  --main-color: #01A2E8;
  --topmsg-color: #0b6dc4;
  --sub-color: #eef7ea;
  --txt-color: #090909;
  /* フォント関連 */
  --font-ja: "Noto Sans JP", sans-serif;
  /*--font-en: "Outfit",'Noto Sans JP', sans-serif;*/
  --font-en: "Chillax-Semibold", 'Noto Sans JP', sans-serif;
  --font-gothic: 'Noto Sans JP', sans-serif;
  --font-mincho: "Zen Old Mincho", 'Noto Sans JP', serif;
}
/* ******************************
   全体設定
   ****************************** */
body {
  /*font-family:  'Noto Sans JP', "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*/
  font-family: var(--font-gothic), "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 16px;
  line-height: 1.5;
  /*letter-spacing: 0.075em;*/
  color: var(--txt-color);
  background: #f0f7fa;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
#root {
  overflow: hidden;
}
*, *:before, *:after {
  transition: 0.2s all;
}
/* ******************************
   コンテナ設定＋画面端までの距離
   ****************************** */ :root {
  /* 画面端までの距離（通常） */
  --margin-for-device-side: -15px;
  /* 画面端までの距離（ワイド） */
  --margin-for-device-side-w: -15px;
  /* リサイズレート */
  --resize-rate: 0.3;
  --slim-rate: 0.8;
}
.container {
  max-width: 100%;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width:768px) {
  /* コンテナサイズ:px */
  .container {
    max-width: 720px;
    padding-left: 15px;
    padding-right: 15px;
  }
  :root {
    --margin-for-device-side: calc(345px - 50vw);
    --margin-for-device-side-w: calc(345px - 50vw);
    --resize-rate: 0.6;
  }
}
@media (min-width:992px) {
  /* コンテナサイズ:px */
  .container {
    max-width: 960px;
    padding-left: 15px;
    padding-right: 15px;
  }
  .container.medium {
    max-width: 930px;
  }
  :root {
    --margin-for-device-side: calc(465px - 50vw);
    --margin-for-device-side-w: calc(465px - 50vw);
  }
}
@media (min-width:1230px) {
  /* コンテナサイズ:px */
  .container {
    max-width: 1230px;
    padding-left: 15px;
    padding-right: 15px;
  }
  .container.medium {
    max-width: 1030px;
  }
  :root {
    /*--margin-for-device-side: calc(555px - 50vw);*/
    /*--margin-for-device-side-w: calc(555px - 50vw);*/
    --margin-for-device-side: calc(600px - 50vw);
    --margin-for-device-side-w: calc(600px - 50vw);
    --resize-rate: 0.7;
  }
}
@media (min-width:1366px) {
  /* コンテナサイズ:1286px */
  /*.container.wide{
    max-width: calc(1286px + 80px);
    padding-left: 40px;
    padding-right: 40px;
  }

  :root {
    --margin-for-device-side-w: calc(643px - 50vw);
  }*/
}
@media (min-width:1470px) {
  /* コンテナサイズ:1370px */
  .container.wide {
    max-width: calc(1400px + 35px);
    padding-left: 35px;
    padding-right: 35px;
  }
  :root {
    --margin-for-device-side-w: calc(685px - 50vw);
    --resize-rate: 0.7;
  }
}
@media (min-width:1720px) {
  /* コンテナサイズ:1520px */
  /*.container.wide{
    max-width: calc(1520px + 200px);
    padding-left: 100px;
    padding-right: 100px;
  }
  :root {
    --margin-for-device-side-w: calc(760px - 50vw);
    --resize-rate: 1.0;
  }*/
}
img {
  max-width: 100%;
}
.img_fit {
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.img_fit:before {
  content: "";
  display: block;
  padding-top: 100%;
}
.img_fit img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover';
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
}
a.img_fit {
  display: block;
}
a .img.img_fit img {
  transition: 0.2s all;
}
a:hover .img.img_fit img {
  transform: scale(1.05);
}
a:hover .img_fit img {
  transform: scale(1.05);
}
/* 動画埋め込みのレスポンシブ対応 */
iframe {
  max-width: 100%;
}
.responsive_video {
  position: relative;
}
.responsive_video:before {
  content: "";
  display: block;
  padding-top: 56.25%;
}
.responsive_video video, .responsive_video iframe, .responsive_video object, .responsive_video embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/* ===================================

  =================================== */
/* 見出し */
.tt2 {
  margin-bottom: 35px;
}
.tt2_en {
  font-size: 40px;
  font-weight: 600;
  font-family: var(--font-en);
  line-height: 1;
  color: var(--main-color)
}
.tt2_ja {
  font-size: 14px;
  font-weight: 700;
  margin-top: 10px;
}
.tt2.wh {}
.tt2.wh .tt2_en {
  color: #FFF;
}
.tt2.wh .tt2_ja {
  color: #FFF;
}
.tt2.center {
  text-align: center;
}
/* ボタン */
.read_more {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-left: -15px;
  margin-right: -15px;
}
* + .read_more {
  margin-top: 20px;
}
.read_more.left {
  justify-content: flex-start;
}
.read_more.right {
  justify-content: flex-end;
}
.read_more_btn {
  padding: 6px 15px;
}
.read_more_btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 200px;
  min-height: 52px;
  padding: 10px 10px;
  border-radius: 5px;
  font-size: 14px;
  font-weight: 800;
  text-align: center;
  text-decoration: none;
  background: #FFF;
  color: var(--main-color);
  position: relative;
  z-index: 1;
}
.read_more_btn a:after {
  content: "";
  width: 20px;
  aspect-ratio: 1 / 1;
  background-image: url('../img/read_more_arr_blue.svg');
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  z-index: 1;
  top: 50%;
  right: 15px;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
}
.read_more_btn a:hover {
  /*background-color: #c5edff;*/
  transform: scale(1.05);
}
.read_more_btn a:hover:after {
  margin-right: -5px;
}
.read_more_btn.blue a {
  background: var(--main-color);
  color: #FFF;
}
.read_more_btn.blue a:after {
  background-image: url('../img/read_more_arr_white.svg');
}
.animated.bounceInUp {
  opacity: 1;
}
.animated.zoomIn {
  opacity: 1;
}
.swiper-pagination {
  position: static;
  margin-top: 5px;
}
.swiper-pagination-bullet {
  background-color: var(--main-color);
  background-color: #D2D2D2;
  opacity: 1;
}
.swiper-pagination-bullet-active {
  background-color: var(--main-color);
}
@media (max-width:767px) {
  .tt2.sp_center {
    text-align: center;
  }
  .read_more.sp_center {
    justify-content: center;
  }
}
@media (min-width:768px) {}
@media (min-width:1024px) {
  /* 見出し */
  .tt2 {
    margin-bottom: 50px;
  }
  .tt2_en {
    font-size: 65px;
  }
  .tt2_ja {
    font-size: 16px;
    margin-top: 20px;
  }
  /* ボタン */
  .read_more {
    margin-left: -15px;
    margin-right: -15px;
  }
  * + .read_more {
    margin-top: 55px;
  }
  .read_more_btn {
    padding: 0 15px;
  }
  .read_more_btn a {
    min-width: 230px;
    min-height: 60px;
    padding: 10px 10px;
    font-size: 16px;
  }
  .read_more_btn a:after {
    width: 23px;
    right: 18px;
  }
}
@media (min-width:1200px) {}
/* ===================================
  メインビジュアル
  =================================== */ :root {
  --zoom1: 2;
  --zoom2: 2.5;
} /* ズーム前半/後半の倍率 */
html, body {
  margin: 0
}
.hero__logo {
  width: 305px;
  position: fixed;
  z-index: 2;
  top: 30px;
  left: 30px;
}
.hero {
  position: relative;
  height: 100dvh;
  min-height: 100vh;
  /*overflow:hidden;*/
  background: #f0f7fa;
  isolation: isolate;
}
.hero__stage {
  position: absolute;
  inset: 0;
  transform: scale(1);
  transform-origin: 40% 35%; /* 左上寄りのビルに焦点 */
  will-change: transform, opacity;
}
.hero__stage_bg {}
.hero__stage_bg img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-fit: cover;
  object-position: center;
  position: absolute;
  z-index: 0;
  inset: 0;
}
.hero__stage_illust {
  position: absolute;
  z-index: 2;
}
.hero__stage_illust.pos1 {
  width: 543px;
  top: 0;
  right: 0;
}
.hero__stage_illust.pos2 {
  width: 505px;
  bottom: 30px;
  left: 0;
}
.hero__map {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  user-select: none;
  pointer-events: none;
}
.char {
  position: absolute;
  width: clamp(40px, 5vw, 72px);
  width: 120px;
  width: 6.25vw;
  ;
  aspect-ratio: 1/1;
  transform: translate(-50%, -50%); /* left/topを原点に */
  will-change: transform;
  /*pointer-events:none;  クリックはマップへ通す */
  image-rendering: -webkit-optimize-contrast;
}
.char.pos1 {
  top: 18.5%;
  left: 34%;
}
.char.pos2 {
  top: 56.5%;
  left: 29%;
}
.char.pos3 {
  top: 34.5%;
  left: 65%;
}
.char.pos4 {
  top: 66.5%;
  left: 40.5%;
}
.hero__overlay {
  position: absolute;
  inset: 0;
  background: #f0f7fa;
  opacity: 0;
  pointer-events: none;
  will-change: opacity;
}
.content {
  /*padding:16px;*/
  color: #111;
  line-height: 1.6;
  overflow: hidden;
}
@media (prefers-reduced-motion: reduce) {
  .hero__overlay {
    opacity: 1
  }
  .hero__stage {
    transform: none
  }
}
@media (max-width:1023px) {
  .hero__stage {
    overflow: hidden;
  }
  .hero__logo {
    position: absolute;
    z-index: 1;
    width: 120px;
    top: 30px;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
  }
  .hero__stage_illust {
    position: absolute;
    z-index: 2;
  }
  .hero__stage_illust img {
    width: 100%;
  }
  .hero__stage_illust.pos1 {
    width: 60%;
    top: -17%;
    right: -45px;
  }
  .hero__stage_illust.pos2 {
    width: 60%;
    top: auto;
    bottom: -6%;
    bottom: 0;
    left: -65px;
  }
  .char {
    width: 11.25vw;
  }
  .char.pos1 {
    top: 18.5%;
    left: 34%;
  }
  .char.pos2 {
    top: 38.5%;
    left: 27%;
  }
  .char.pos3 {
    top: 23.5%;
    left: 92%;
  }
  .char.pos4 {
    top: 42.5%;
    left: 52.5%;
  }
}
@media (max-width:767px) {
  .hero__stage_illust.pos1 {
    width: 75%;
    top: -17%;
    right: -45px;
  }
  .hero__stage_illust.pos2 {
    width: 80%;
    top: auto;
    bottom: -6%;
    bottom: 0;
    left: -65px;
  }
}
@media (min-width:768px) {}
@media (min-width:1024px) {}
@media (min-width:1200px) {}
/* ===================================
  メインビジュアル2
  =================================== */
.hero2 {}
.hero2_inner {
  height: 100svh;
  position: relative;
  z-index: 1;
}
.hero2_logo {
  width: 90vw;
  position: absolute;
  z-index: 4;
  top: 58%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  transition: 0.2s all;
}
.hero2_imgs {
  position: absolute;
  z-index: 3;
  inset: 0;
}
.hero2_imgs_item {
  width: 25vw;
  border-radius: 50%;
  overflow: hidden;
  position: absolute;
  z-index: 1;
  transition: 0.2s all;
}
.hero2_imgs_item.pos1 {
  width: 52%;
  top: 5%;
  left: -2%;
}
.hero2_imgs_item.pos2 {
  width: 35%;
  bottom: -5%;
  bottom: 0;
  left: 5%;
}
.hero2_imgs_item.pos3 {
  width: 32%;
  top: 22%;
  right: -2%;
}
.hero2_imgs_item.pos4 {
  width: 38.25%;
  bottom: 2%;
  right: -5.84%;
}
@media (max-width:767px) {}
@media (min-width:768px) {
  .hero2_logo {
    width: 55vw;
    top: 59%;
    left: 50%;
  }
}
@media (min-width:1024px) {
  .hero2_logo {
    width: 39.84vw;
    top: 50%;
    left: 50%;
  }
  .hero2_imgs_item.pos1 {
    width: 45.83%;
    top: -27.34%;
    left: -7.29%;
  }
  .hero2_imgs_item.pos2 {
    width: 20.83%;
    bottom: -7.29%;
    left: 16.71%;
  }
  .hero2_imgs_item.pos3 {
    width: 14.58%;
    top: 8.62%;
    right: 19.79%;
  }
  .hero2_imgs_item.pos4 {
    width: 31.25%;
    bottom: -14.48%;
    right: 4.16%;
  }
}
@media (min-width:1200px) {}
/* ===================================

  =================================== */
/**/
.pg_top section {
  position: relative;
  z-index: 1;
}
.pg_top section.sec1 {
  padding-top: 700px;
  padding-bottom: 500px;
  overflow: hidden;
}
.pg_top section.sec2 {
  /*background-color: var(--main-color);*/
  background-image: url('../img/top/sec2_bg_sp.png');
  background-repeat: no-repeat;
  background-position: center top;
  padding-top: 170px;
  padding-bottom: 0;
}
.pg_top section.sec2 .container {
  background: var(--topmsg-color);
  padding-bottom: 0;
}
.pg_top section.sec3 {}
.pg_top section.sec4 {
  padding-top: 180px;
  padding-bottom: 260px;
}
.pg_top section.sec5 {}
.pg_top section.sec5 .container {
  position: relative;
  z-index: 2;
}
.sec5_bg {
  background-image: url(../img/top/brand_bg.jpg);
  background-size: cover;
  background-position: center;
  position: absolute;
  z-index: 1;
  inset: 0;
}
.pg_top section.sec6 {
  padding-top: 75px;
  padding-bottom: 75px;
}
.pg_top section.sec7 {
  padding-top: 75px;
  padding-bottom: 60px;
}
.pg_top section.sec8 {}
@media (max-width:1023px) {
  .pg_top section.sec1 {
    padding-top: 0;
    padding-bottom: 0px;
    overflow: hidden;
  }
  .pg_top section.sec2 {
    background-size: 100% auto;
  }
  .pg_top section.sec2 .container {
    padding-bottom: 0;
    /*margin-left: var(--margin-for-device-side);*/
    /*margin-right: var(--margin-for-device-side);*/
  }
}
@media (min-width:768px) {
  .pg_top section.sec2 {
    background-image: url('../img/top/sec2_bg.png');
  }
}
@media (min-width:1024px) {
  .pg_top section.sec1 {
    padding-top: 200px;
    padding-bottom: 50px;
    overflow: hidden;
  }
  .pg_top section.sec2 {
    background-image: url('../img/top/sec2_bg.png');
    background-repeat: no-repeat;
    background-position: center top;
    padding-top: 170px;
  }
  .pg_top section.sec2 .container {
    /*padding-bottom: 315px;*/
    padding-bottom: 0;
  }
  .pg_top section.sec3 {}
  .pg_top section.sec4 {
    padding-top: 300px;
    padding-bottom: 300px;
  }
  .pg_top section.sec5 {}
  .pg_top section.sec5 .container {}
  .pg_top section.sec6 {
    padding-top: 150px;
    padding-bottom: 150px;
  }
  .pg_top section.sec7 {
    padding-top: 150px;
    padding-bottom: 150px;
  }
  .pg_top section.sec8 {}
}
@media (min-width:1024px) {}
@media (min-width:1200px) {}
/* コンセプト */
.top_concept {
  text-align: center;
  /* position: relative; */
  z-index: 1;
}
.top_concept_title {
  font-size: 35px;
  font-weight: 700;
  line-height: 1.583;
  color: #01A2E8;
  margin-bottom: 10px;
}

.top_concept_subtitle{
	font-size:20px;
	font-weight: 700;
	color: #01A2E8;
	margin-bottom: 25px;
}
.top_concept_txt {
  font-size: 15px;
  font-weight: 500;
  line-height: 3;
}
/* コンセプト:イラスト */
.top_concept_illust {
  display: flex;
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  -webkit-transform: translate(-50%, 0%);
  transform: translate(-50%, 0%);
}
.top_concept_illust_left {
  width: 50%;
  position: relative;
  z-index: 1;
}
.top_concept_illust_right {
  width: 50%;
  position: relative;
  z-index: 1;
}
.top_concept_illust_item {
  position: absolute;
  z-index: 1;
  --top_concept_illust_item_sizefix: 0.34;
  --top_concept_illust_item_posfix: 1.0;
}
/* 左側 */
.top_concept_illust_item.left.pos1 {
  width: calc(892px * var(--top_concept_illust_item_sizefix));
}
.top_concept_illust_item.left.pos2 {
  width: calc(737px * var(--top_concept_illust_item_sizefix));
}
.top_concept_illust_item.left.pos3 {
  width: calc(1001px * var(--top_concept_illust_item_sizefix));
}
.top_concept_illust_item.left.pos4 {
  width: calc(987px * var(--top_concept_illust_item_sizefix));
}
.top_concept_illust_item.left.pos5 {
  width: calc(848px * var(--top_concept_illust_item_sizefix));
}
/* 右側 */
.top_concept_illust_item.right.pos1 {
  width: calc(695px * var(--top_concept_illust_item_sizefix));
}
.top_concept_illust_item.right.pos2 {
  width: calc(370px * var(--top_concept_illust_item_sizefix));
}
.top_concept_illust_item.right.pos3 {
  width: calc(1050px * var(--top_concept_illust_item_sizefix));
}
.top_concept_illust_item.right.pos4 {
  width: calc(842px * var(--top_concept_illust_item_sizefix));
}
@media (max-width:1023px) {
  .top_concept {
    padding-top: 150px;
    padding-bottom: 50px;
  }
  .top_concept_illust_left {}
  /* 左側 */
  .top_concept_illust_item.left.pos1 {
    width: calc(892px * var(--top_concept_illust_item_sizefix));
    top: -85px;
    right: calc(50px * var(--top_concept_illust_item_posfix));
  }
  .top_concept_illust_item.left.pos2 {
    width: calc(737px * var(--top_concept_illust_item_sizefix));
    top: auto;
    bottom: 0;
    right: calc(-50px * var(--top_concept_illust_item_posfix));
  }
  .top_concept_illust_item.left.pos3 {
    width: calc(1001px * var(--top_concept_illust_item_sizefix));
    top: auto;
    bottom: 0;
    right: calc(-50px * var(--top_concept_illust_item_posfix));
  }
  .top_concept_illust_item.left.pos4 {
    display: none;
    width: calc(987px * var(--top_concept_illust_item_sizefix));
    top: 718px;
    right: calc(475px * var(--top_concept_illust_item_posfix));
  }
  .top_concept_illust_item.left.pos5 {
    display: none;
    width: calc(848px * var(--top_concept_illust_item_sizefix));
    top: 636px;
    right: calc(280px * var(--top_concept_illust_item_posfix));
  }
  /* 右側 */
  .top_concept_illust_item.right.pos1 {
    width: calc(695px * var(--top_concept_illust_item_sizefix));
    top: 0;
    left: calc(50px * var(--top_concept_illust_item_posfix));
  }
  .top_concept_illust_item.right.pos2 {
    width: calc(370px * var(--top_concept_illust_item_sizefix));
    top: 86px;
    left: calc(102px * var(--top_concept_illust_item_posfix));
  }
  .top_concept_illust_item.right.pos3 {
    width: calc(1050px * var(--top_concept_illust_item_sizefix));
    top: auto;
    bottom: 0;
    left: calc(15px * var(--top_concept_illust_item_posfix));
    z-index: 2;
  }
  .top_concept_illust_item.right.pos4 {
    display: none;
    width: calc(842px * var(--top_concept_illust_item_sizefix));
    top: 698px;
    left: calc(315px * var(--top_concept_illust_item_posfix));
  }
}
@media (min-width:1024px) {
  /* コンセプト */
  .top_concept {}
  .top_concept_title {
    font-size: 55px;
    line-height: 1.416;
    margin-bottom: 10px;
  }
  .top_concept_subtitle {
    font-size: 35px;
    margin-bottom: 75px;
  }
  .top_concept_txt {
    font-size: 22px;
    line-height: 2.0;
  }
  /* 左側 */
  .top_concept_illust_item.left.pos1 {
    width: calc(892px * var(--top_concept_illust_item_sizefix));
    top: 18px;
    right: calc(388px * var(--top_concept_illust_item_posfix));
  }
  .top_concept_illust_item.left.pos2 {
    width: calc(737px * var(--top_concept_illust_item_sizefix));
    top: 435px;
    right: calc(388px * var(--top_concept_illust_item_posfix));
  }
  .top_concept_illust_item.left.pos3 {
    width: calc(1001px * var(--top_concept_illust_item_sizefix));
    top: 368px;
    right: calc(356px * var(--top_concept_illust_item_posfix));
  }
  .top_concept_illust_item.left.pos4 {
    width: calc(987px * var(--top_concept_illust_item_sizefix));
    top: 718px;
    right: calc(475px * var(--top_concept_illust_item_posfix));
  }
  .top_concept_illust_item.left.pos5 {
    width: calc(848px * var(--top_concept_illust_item_sizefix));
    top: 636px;
    right: calc(280px * var(--top_concept_illust_item_posfix));
  }
  /* 右側 */
  .top_concept_illust_item.right.pos1 {
    width: calc(695px * var(--top_concept_illust_item_sizefix));
    top: 36px;
    left: calc(382px * var(--top_concept_illust_item_posfix));
  }
  .top_concept_illust_item.right.pos2 {
    width: calc(370px * var(--top_concept_illust_item_sizefix));
    top: 636px;
    left: calc(428px * var(--top_concept_illust_item_posfix));
  }
  .top_concept_illust_item.right.pos3 {
    width: calc(1050px * var(--top_concept_illust_item_sizefix));
    top: 560px;
    left: calc(210px * var(--top_concept_illust_item_posfix));
    z-index: 2;
  }
  .top_concept_illust_item.right.pos4 {
    width: calc(842px * var(--top_concept_illust_item_sizefix));
    top: 698px;
    left: calc(315px * var(--top_concept_illust_item_posfix));
  }
}
@media (min-width:1024px) {
  .top_concept_illust_item {
    --top_concept_illust_item_sizefix: 0.7;
    --top_concept_illust_item_posfix: 0.8;
  }
}
@media (min-width:1200px) {
  .top_concept_illust_item {
    --top_concept_illust_item_sizefix: 1.0;
    --top_concept_illust_item_posfix: 1.0;
  }
}
/* ペンギン整列 */
.top_penguin_line_wrap {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  right: 0;
}
.top_penguin_line {
  position: relative;
  z-index: 1;
}
.top_penguin_line_item {
  position: absolute;
  z-index: 1;
  width: 16.666%;
}
.top_penguin_line_item img {
  --top_penguin_line_img_scale: 1.5;
  transform: scale(var(--top_penguin_line_img_scale));
}
.top_penguin_line_item.pos1 {
  left: -3%;
  bottom: 0;
}
.top_penguin_line_item.pos2 {
  left: 16.666%;
  left: 15.666%;
  bottom: 0;
}
.top_penguin_line_item.pos3 {
  left: 33.333%;
  bottom: 0;
}
.top_penguin_line_item.pos4 {
  left: 49.999%;
  bottom: 0;
}
.top_penguin_line_item.pos5 {
  left: 66.666%;
  left: 67.666%;
  bottom: 0;
}
.top_penguin_line_item.pos6 {
  left: 83.333%;
  left: 86.333%;
  bottom: 0;
}
.top_penguin_line_item.pos1 img {
  transform: scale(var(--top_penguin_line_img_scale)) rotate(-25deg) translateY(32%);
}
.top_penguin_line_item.pos2 img {
  transform: scale(var(--top_penguin_line_img_scale)) rotate(-15deg) translateY(11%);
}
.top_penguin_line_item.pos3 img {
  transform: scale(var(--top_penguin_line_img_scale)) rotate(-5deg);
}
.top_penguin_line_item.pos4 img {
  transform: scale(var(--top_penguin_line_img_scale)) rotate(5deg);
}
.top_penguin_line_item.pos5 img {
  transform: scale(var(--top_penguin_line_img_scale)) rotate(15deg) translateY(11%);
}
.top_penguin_line_item.pos6 img {
  transform: scale(var(--top_penguin_line_img_scale)) rotate(25deg) translateY(32%);
}
@media (max-width:767px) {}
@media (min-width:768px) {}
@media (min-width:1024px) {}
@media (min-width:1200px) {}
/* トップメッセージ */
.top_msg_head {
  color: #FFF;
  margin-bottom: 50px;
  text-align: center;
}
.top_msg_head_en {
  font-size: 40px;
  font-weight: 600;
  font-family: var(--font-en);
  line-height: 1;
}
.top_msg_head_ja {
  font-size: 14px;
  font-weight: 700;
}
.top_msg {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  color: #FFF;
  position: relative;
  z-index: 1;
  padding-bottom: 50px;
}
.top_msg:after {
  content: "";
  background: var(--topmsg-color);
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: var(--margin-for-device-side);
  right: var(--margin-for-device-side);
}
.top_msg_box1 {
  width: 216px;
  position: relative;
  z-index: 1;
}
.top_msg_box2 {
  width: 580px;
  width: 100%;
  margin-top: 60px;
}
.top_msg_title {
  font-size: 18px;
  line-height: 1.666;
  margin-bottom: 15px;
}
.top_msg_txt {
  font-size: 14px;
  font-weight: 600;
  line-height: 2.125;
  text-align: justify;
}
.top_msg_img {
  margin-left: -18px;
}
.top_msg_char {
  width: 113px;
  position: absolute;
  z-index: 1;
  left: -42px;
  bottom: -20px;
}
.top_msg {}
@media (max-width:1023px) {
  .top_msg_box1 {
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width:768px) {
  .top_msg {
    padding-bottom: 100px;
  }
}
@media (min-width:1024px) {
  /* トップメッセージ */
  .top_msg_head {
    text-align: left;
    margin-bottom: 60px;
  }
  .top_msg_head_en {
    font-size: 80px;
  }
  .top_msg_head_ja {
    font-size: 16px;
  }
  .top_msg {}
  .top_msg_box1 {
    width: auto;
  }
  .top_msg_box2 {
    width: 490px;
    margin-top: 0;
  }
  .top_msg_title {
    font-size: 24px;
    line-height: 1.666;
    margin-bottom: 15px;
  }
  .top_msg_txt {
    font-size: 18px;
    line-height: 2.2;
  }
  .top_msg_char {
    width: 254px;
    left: -168px;
  }
}
@media (min-width:1200px) {
  .top_msg {
    padding-bottom: 150px;
  }
  .top_msg_box1 {
    width: auto;
  }
  .top_msg_box2 {
    width: 580px;
    margin-top: 0;
  }
}
@media (min-width:1200px) {}
/* ===================================
  スペシャルムービー
  =================================== */
/* スペシャルムービー */
.top_movie {
  width: 100%;
  height: 430px;
  position: relative;
  z-index: 1;
}
.top_movie:before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background: rgba(149, 149, 149, 0.5);
}
.top_movie_bg {
  position: absolute;
  z-index: 0;
  inset: 0;
  overflow: hidden;
}
.top_movie_bg iframe {
  width: auto;
  height: 100%;
  aspect-ratio: 16 / 9;
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
}
.top_moive_head {
  color: #FFF;
  text-align: center;
  position: absolute;
  z-index: 2;
  top: 60px;
  left: 0;
  right: 0;
}
.top_movie_play {
  width: 96px;
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  cursor: pointer;
}
.top_movie_play:hover {
  filter: brightness(2.0);
  -webkit-transform: translate(-50%, -50%) scale(1.05);
  transform: translate(-50%, -50%) scale(1.05);
}
.top_movie_popup {
  width: 75vw;
}
.top_movie_popup iframe {
  width: 100%;
}
.top_movie_illust {
  position: absolute;
  z-index: -1;
}
.top_movie_illust.pos1 {
  width: 300px;
  top: 0;
  left: 50%;
  transform: translateY(-60%);
}
.top_movie_illust.pos2 {
  width: 400px;
  bottom: 0;
  right: 40px;
  transform: translateY(80%);
}
.top_movie_illust_char {
  width: 30.22%;
  ;
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-68%, -86%);
  transform: translate(-68%, -86%);
}
@media (max-width:767px) {}
@media (min-width:1024px) {
  /* スペシャルムービー */
  .top_movie {
    width: 100%;
    height: 100vh;
  }
  .top_movie:before {
    content: "";
    position: absolute;
    z-index: 1;
    inset: 0;
    background: rgba(149, 149, 149, 0.5);
  }
  .top_movie_bg {
    position: absolute;
    z-index: 0;
    inset: 0;
    overflow: hidden;
  }
  .top_movie_bg iframe {
    width: auto;
    height: 100%;
    aspect-ratio: 16 / 9;
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
  }
  .top_moive_head {
    color: #FFF;
    text-align: center;
    position: absolute;
    z-index: 2;
    top: 25vh;
    left: 0;
    right: 0;
  }
  .top_movie_play {
    width: 192px;
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    cursor: pointer;
  }
  .top_movie_play:hover {
    filter: brightness(2.0);
    -webkit-transform: translate(-50%, -50%) scale(1.05);
    transform: translate(-50%, -50%) scale(1.05);
  }
  .top_movie_popup {
    width: 75vw;
  }
  .top_movie_popup iframe {
    width: 100%;
  }
  .top_movie_illust {
    position: absolute;
    z-index: -1;
  }
  .top_movie_illust.pos1 {
    width: 1282px;
    top: 0;
    left: calc(50% + 148px);
    transform: translateY(-40%);
  }
  .top_movie_illust.pos2 {
    width: 857px;
    bottom: 0;
    right: calc(50% + 216px);
    transform: translateY(40%);
  }
  .top_movie_illust_char {
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-68%, -86%);
    transform: translate(-68%, -86%);
  }
}
@media (min-width:1024px) {}
@media (min-width:1200px) {}
/* ===================================
  スペシャルコンテンツ
  =================================== */
/* スペシャルコンテンツ */
.top_spcontents {}
.top_spcontents_item {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 25px 20px;
  background: #FFF;
  border-radius: 34px;
  filter: drop-shadow(0px 0px 2px #CCC);
}
.top_spcontents_item_box1 {
  width: 100%;
}
.top_spcontents_item_box2 {
  width: 100%;
}
.top_spcontents_item_num {
  font-size: 36px;
  font-weight: 600;
  font-family: var(--font-en);
  color: var(--main-color);
}
.top_spcontents_item_head {
  color: #433D3D;
  margin-bottom: 10px;
}
.top_spcontents_item_head_en {
  font-size: 21px;
  font-weight: 600;
  font-family: var(--font-en);
}
.top_spcontents_item_head_ja {
  font-size: 14px;
  font-weight: 700;
}
.top_spcontents_item_txt {
  font-size: 16px;
  font-weight: 500;
  line-height: 2.125;
  text-align: justify;
  color: #433D3D;
}
.top_spcontents .swiper-slide {
  padding: 5px 5px;
  /* 傾きを逆方向に */
  /*transform: rotateZ(-5deg) !important;*/
}
.top_spcontents .swiper-slide-shadow {
  display: none;
}
.top_spcontents .swiper-cards .swiper-slide {
  overflow: visible;
}
.top_spcontents .swiper-pagination {
  display: none;
}
.top_spcontents_en_wrap {
  width: 100%;
  ;
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 100px;
  width: 100%;
  right: 0;
  overflow: hidden;
}
.top_spcontents_en_wrap .infiniteslide_wrap {
  /*width: 100%;*/
  /*height: 100% !important;*/
}
.top_spcontents_en {
  width: 100%;
  /*height: 100%;*/
  display: flex;
  /*flex-direction: column;*/
  /*flex-wrap: wrap!important;*/
  font-size: 53px;
  font-weight: 600;
  font-family: var(--font-en);
  white-space: nowrap;
  color: #B7DCF2;
  /**/ position: absolute;
  z-index: 1;
  width: 100%;
  left: 0;
  right: 0;
  bottom: 30px;
}
.top_spcontents_en p {
  margin: 0 0.5em;
}
@media (max-width:1023px) {
  .top_spcontents_item_box1 {
    width: 100%;
    order: 2;
    margin-top: 10px;
  }
  .top_spcontents_item_box2 {
    width: 100%;
    order: 1;
  }
}
@media (min-width:1024px) {
  /* スペシャルコンテンツ */
  .top_spcontents {}
  .top_spcontents_item {
    padding: 55px 65px;
    border-radius: 34px;
    filter: drop-shadow(0px 0px 2px #CCC);
  }
  .top_spcontents_item_box1 {
    width: 37.5%;
  }
  .top_spcontents_item_box2 {
    width: 60.08%;
  }
  .top_spcontents_item_num {
    font-size: 90px;
  }
  .top_spcontents_item_head {
    margin-bottom: 20px;
  }
  .top_spcontents_item_head_en {
    font-size: 28px;
  }
  .top_spcontents_item_head_ja {
    font-size: 16px;
  }
  .top_spcontents_item_txt {
    font-size: 16px;
    line-height: 2.125;
  }
  .top_spcontents .swiper-slide {
    padding: 5px 5px;
  }
  .top_spcontents .swiper-pagination {
    display: flex;
    flex-direction: column;
    width: auto;
    position: absolute;
    z-index: 1;
    left: 50px;
    top: 50%;
    bottom: auto;
    right: auto;
    margin-left: var(--margin-for-device-side);
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }
  .top_spcontents .swiper-pagination .swiper-pagination-bullet {
    padding: 50px 0;
  }
  .top_spcontents .swiper-pagination-bullet {
    font-size: 18px;
    font-weight: 500;
    font-family: var(--font-en);
  }
  .top_spcontents .swiper-pagination-bullet, .top_spcontents .swiper-pagination-bullet-active {
    width: auto;
    height: auto;
    background: none;
    opacity: 1;
    position: relative;
    z-index: 1;
  }
  .top_spcontents .swiper-pagination-bullet-active {
    color: var(--main-color);
    /*font-size: 1.333em;*/
  }
  .top_spcontents .swiper-pagination-bullet:nth-child(n+2):before {
    content: "";
    width: 1px;
    height: 90px;
    background: #433D3D;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 50%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }
  .top_spcontents_en_wrap {
    width: 125px;
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    right: 10px;
    overflow: hidden;
  }
  .top_spcontents_en_wrap .infiniteslide_wrap {
    /*width: 100%;*/
    /*height: 100% !important;*/
  }
  .top_spcontents_en {
    width: 100%;
    /*height: 100%;*/
    display: flex;
    flex-direction: column;
    flex-wrap: wrap !important;
    font-size: 78px;
    font-weight: 600;
    font-family: var(--font-en);
    white-space: nowrap;
    color: #B7DCF2;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    /**/ position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    width: 125px;
  }
  .top_spcontents_en p {
    margin: 0.5em 0;
  }
}
@media (min-width:1024px) {}
@media (min-width:1200px) {}
/* ===================================

  =================================== */
/*  */
@media (max-width:767px) {}
@media (min-width:768px) {}
@media (min-width:1024px) {}
@media (min-width:1200px) {}
:root {
  --stack-gap-pc: 48; /* px単位の隙間 */
  --stack-gap-sp: 28;
}
.pg_top section.sec4 {
  /*height: 100vh;*/
  padding-top: 0;
  padding-bottom: 20vh;
  transition: 0s all;
}
/* 親は高さを持つ。JSでheightを入れるが、FOUC防止の暫定高さも入れておく */
.top_spcontents {
  margin: 0;
  position: relative;
  left: 0;
  right: 0;
  min-height: 50vh; /* 初期の保険。JSが上書きします */
  /*isolation: isolate;*/
  /*border: 2px solid red;*/
}
/* 直下の各カードは絶対配置。初期は見せない（FOUC防止） */
.top_spcontents > div {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  opacity: 1; /* ← 初期で隠す */
  will-change: transform, opacity;
  transform: translate3d(0, 50vh, 0); /* ← 初期: 画面下にオフセット（JSで上書き） */
  transition: 0s all;
}
.top_spcontents > div:nth-child(n+2) {
  opacity: 0;
}
.top_spcontents {
  will-change: transform;
}
.top_spcontents > div:nth-child(odd) {}
.top_spcontents > div:nth-child(odd) .top_spcontents_item {
  transform: rotate(-4deg);
}
.top_spcontents > div:nth-child(even) .top_spcontents_item {
  transform: rotate(-2deg);
}
.top_spcontents .top_spcontents_item {
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .08);
  overflow: hidden;
}
/* ===================================
  ブランドストーリー
  =================================== */
/* ブランドストーリー */
.top_brand {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  padding: 50px 0;
}
.top_brand_box1 {
  margin-top: 35px;
  margin-bottom: 35px;
  width: 100%;
  color: #FFF;
}
.top_brand_box2 {
  /*width: 100%;*/
  /*height: 100%;*/
  position: relative;
  z-index: 1;
}
.top_brand_box2 .infiniteslide_wrap {
  /*height: 100vh !important;*/
  /*-webkit-transform: translate(32%, 0);*/
  /*transform: translate(32%, 0);*/
}
.top_brand_title {
  margin-bottom: 50px;
}
.top_brand_title_en {
  font-size: 65px;
  font-weight: 600;
  font-family: var(--font-en);
  line-height: 1;
}
.top_brand_title_ja {
  font-size: 16px;
  font-weight: 700;
  margin-top: 20px;
}
.top_brand_txt {
  font-size: 14px;
  font-weight: 600;
  line-height: 2.25;
  text-align: justify;
}
.top_brand_gallery {
  display: flex;
  /*flex-direction: column;*/
  /*height: 100vh;*/
}
.top_brand_gallery_img {
  width: 240px;
  margin: 0 4px;
}
.top_brand_gallery_img.img_fit:before {
  padding-top: 63.793%;
}
.top_brand_char1 {
  width: 120px;
  position: absolute;
  z-index: 0;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -75%);
  transform: translate(-50%, -75%);
}
.top_brand_char2 {
  width: 115px;
  position: absolute;
  z-index: 1;
  bottom: -70px;
  left: 0;
  -webkit-transform: translate(-2%, 0) rotate(-5deg);
  transform: translate(-2%, 0) rotate(-5deg);
}

/* ブランドストーリー 沿革部分 */
.timeline {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
}

.timeline-row {
  display: flex;
  align-items: flex-start;
  margin-bottom: 10px;
  border-bottom: 1px solid #eee;
  padding: 5px 0;
}

.timeline-year {
  min-width: 100px;
  color: #fff;
  font-weight: bold;
  font-size: 0.9em;
  text-align: right;
  padding-right: 20px;
}

.timeline-event {
  flex: 1;
  color: #fff;
  font-weight: bold;
  font-size: 0.9em;
}



@media (max-width:1023px) {
  .top_brand_box1 {
    display: contents;
  }
  .top_brand_box2 {
    margin-left: var(--margin-for-device-side);
    margin-right: var(--margin-for-device-side);
  }
  .top_brand .tt2 {
    width: 100%;
    order: 1;
  }
  .top_brand .top_brand_txt{
    order: 3;
  }
  .top_brand .timeline{
    order: 3;
  }
  .top_brand .read_more {
    order: 4;
    margin-left: auto;
    margin-right: auto;
  }
  .top_brand .top_brand_box2 {
    order: 2;
    margin-bottom: 80px;
  }
}
@media (min-width:1024px) {
  /* ブランドストーリー */
  .top_brand {
    padding: 0;
    /* height: 100vh; */
  }
  .top_brand_box1 {
    width: 550px;
  }
  .top_brand_box2 {
    width: 350px;
    height: 100%;
  }
  .top_brand_box2 .infiniteslide_wrap {
    height: 100vh !important;
    -webkit-transform: translate(10%, 0);
    transform: translate(5%, 0);
  }
  .top_brand_title {
    margin-bottom: 50px;
  }
  .top_brand_title_en {
    font-size: 65px;
  }
  .top_brand_title_ja {
    font-size: 16px;
    margin-top: 20px;
  }
  .top_brand_txt {
    font-size: 16px;
    line-height: 2.25;
  }
  .top_brand_gallery {
    display: flex;
    flex-direction: column;
  }
  .top_brand_gallery_img {
    width: 100%;
    margin: 0;
    margin-top: 35px;
    margin-bottom: 35px;
  }
  .top_brand_gallery_img.img_fit:before {
    padding-top: 63.793%;
  }
  .top_brand_char1 {
    width: 276px;
    position: absolute;
    z-index: 0;
    top: 0;
    left: 50%;
    -webkit-transform: translate(-50%, -75%);
    transform: translate(-50%, -75%);
  }
  .top_brand_char2 {
    width: 200px;
    position: absolute;
    z-index: 1;
    bottom: 30px;
    left: 0;
    -webkit-transform: translate(-45%, 0) rotate(-5deg);
    transform: translate(-45%, 0) rotate(-5deg);
  }
}
@media (min-width:1024px) {}
@media (min-width:1200px) {
  /* ブランドストーリー */
  .top_brand {
    padding: 0;
    /* height: 100vh; */
  }
  .top_brand_box1 {
    width: 540px;
  }
  .top_brand_box2 {
    width: 580px;
    height: 100%;
  }
  .top_brand_box2 .infiniteslide_wrap {
    height: 100vh !important;
    -webkit-transform: translate(32%, 0);
    transform: translate(32%, 0);
  }
  .top_brand_char2 {
    width: 260px;
    position: absolute;
    z-index: 1;
    bottom: 30px;
    left: 0;
    -webkit-transform: translate(-2%, 0) rotate(-5deg);
    transform: translate(-2%, 0) rotate(-5deg);
  }
}
/* ===================================
  インタビュー
  =================================== */
/*  */
.top_interview_wrap {
  background: #FFF;
  border-radius: 20px;
  padding: 50px 0;
  filter: drop-shadow(0px 0px 2px #CCC);
}
.top_interview_swiper {}
.top_interview_swiper .swiper-slide {
  padding: 20px 10px;
}
.top_interview_swiper .swiper-slide.swiper-slide-active {}
.top_interview_swiper .swiper-slide .top_interview_item_img {
  transform: scale(0.925);
}
.top_interview_swiper .swiper-slide.swiper-slide-active .top_interview_item_img {
  transform: scale(1);
}
.top_interview_swiper .swiper-slide.swiper-slide-active .top_interview_item:before {
  content: "";
  border: 2px solid var(--main-color);
  border-radius: 50%;
  width: calc(100% + 20px);
  aspect-ratio: 1 / 1;
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.top_interview_item {
  /*width: 100%;*/
  position: relative;
  z-index: 1;
}
.top_interview_item_img {
  /*width: 100%;*/
}
.top_interview_item_img img {
  /*width: 100%;*/
  display: block;
  width: 100%;
}
.top_interview_prof {
  display: flex;
  justify-content: center;
  margin-bottom: 40px;
  padding: 0 15px;
}
.top_interview_prof_item {
  display: none;
}
.top_interview_prof_item.on {
  display: block;
}
.top_interview_prof_item_title {
  font-size: 18px;
  font-weight: 600;
  color: var(--main-color);
}
.top_interview_prof_item_name {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.875;
  margin-top: 10px;
}
.top_interview_prof {}
.top_interview_illust {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  -webkit-transform: translate(24%, -36%);
  transform: translate(24%, -36%);
}
.top_interview_illust.pos1 {
  width: 290px;
}
.top_interview_illust_char {
  width: 31.43%;
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-90%, -16%) rotate(7deg);
}
.top_interview_swiper .swiper-slide:not(.swiper-slide-active) .top_interview_item {
  transform: translateY(15%);
}
.top_interview_swiper .swiper-pagination {
  margin-top: 20px;
}
.swiper-controlls {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
  margin-top: 20px;
}
.swiper-controlls .swiper-pagination {
  width: auto;
  margin: 0 50px;
}
.my-swiper-button-prev, .my-swiper-button-next {
  width: 50px;
  aspect-ratio: 1 / 1;
  background-image: url(../img/read_more_arr_blue.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
.my-swiper-button-prev {
  transform: rotate(180deg);
}
.my-swiper-button-next {}
* {
  box-sizing: border-box;
}
@media (max-width:1023px) {
  .swiper-controlls .swiper-pagination {
    margin: 0 20px;
  }
  .my-swiper-button-prev, .my-swiper-button-next {
    width: 25px;
  }
}
@media (min-width:768px) {
  .top_interview_illust {
    -webkit-transform: translate(24%, -20%);
    transform: translate(24%, -20%);
  }
  .top_interview_illust.pos1 {
    width: 370px;
  }
  .top_interview_illust_char {
    width: 31.43%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-90%, -16%) rotate(7deg);
  }
}
@media (min-width:1024px) {
  .top_interview_wrap {
    border-radius: 20px;
    padding: 75px 0;
    filter: drop-shadow(0px 0px 2px #CCC);
  }
  .top_interview_swiper {}
  .top_interview_swiper .swiper-slide {
    width: 440px;
    width: 460px;
    padding: 20px 30px;
  }
  .top_interview_swiper .swiper-slide.swiper-slide-active .top_interview_item:before {
    border: 3px solid var(--main-color);
    width: calc(100% + 40px);
  }
  .top_interview_item {}
  .top_interview_item_img {
    width: 100%;
  }
  .top_interview_item_img img {
    width: 100%;
  }
  .top_interview_prof {
    margin-bottom: 40px;
  }
  .top_interview_prof_item_title {
    font-size: 24px;
  }
  .top_interview_prof_item_name {
    font-size: 16px;
    line-height: 1.875;
    margin-top: 10px;
  }
  .top_interview_prof {}
  .top_interview_illust {
    -webkit-transform: translate(24%, -20%);
    transform: translate(24%, -20%);
  }
  .top_interview_illust.pos1 {
    width: 839px;
  }
  .top_interview_illust_char {
    width: 31.43%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-90%, -16%) rotate(7deg);
  }
}
@media (min-width:1024px) {}
@media (min-width:1200px) {
  .top_interview_illust.pos1 {
    width: 540px;
  }
}
@media (min-width:1470px) {
  .top_interview_illust.pos1 {
    width: 839px;
  }
  .top_interview_illust_char {
    width: 31.43%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-90%, -16%) rotate(7deg);
  }
}
/* ===================================
  イベント
  =================================== */
/* イベント */
.top_event_wrap {
  background: #FFF;
  border-radius: 20px;
  padding: 40px 18px 60px;
  filter: drop-shadow(0px 0px 2px #CCC);
}
.top_event_list {
  max-width: 1000px;
  margin: 0 auto;
}
.top_event_item {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.top_event_item + .top_event_item {
  margin-top: 50px;
}
.top_event_item_box1 {
  width: 100%;
}
.top_event_item_box2 {
  width: 100%;
  margin-top: 15px;
}
.top_event_item_img {}
.top_event_item_img.img_fit:before {
  padding-top: 58.400%;
}
.top_event_item_title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 10px;
}
.top_event_item_txt {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.875;
  text-align: justify;
}
.top_event_item .read_more {
  margin-top: 20px;
}
.top_event_illust {
  position: absolute;
  z-index: 1;
}
.top_event_illust.pos1 {
  top: 0;
  left: 0;
  -webkit-transform: translate(-25%, -43%);
  transform: translate(-25%, -43%);
}
.top_event_illust_char {
  width: 22.26%;
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(12%, -43%);
  transform: translate(12%, -43%);
}
.top_event_illust.pos2 {
  top: 50%;
  right: 0;
  -webkit-transform: translate(27%, -111%);
  transform: translate(27%, -111%);
  z-index: -1;
}
.top_event_illust.pos3 {
  bottom: 0;
  left: 0;
  -webkit-transform: translate(-24%, -72%);
  transform: translate(-24%, -72%);
  z-index: -1;
}
@media (max-width:1023px) {}
@media (min-width:768px) {
  .top_event_illust.pos1 {
    width: 665px;
  }
}
@media (min-width:1024px) {
  /* イベント */
  .top_event_wrap {
    border-radius: 20px;
    padding: 60px 50px 100px;
  }
  .top_event_list {
    max-width: 1000px;
    margin: 0 auto;
  }
  .top_event_item {}
  .top_event_item + .top_event_item {
    margin-top: 50px;
  }
  .top_event_item_box1 {
    width: 50%;
  }
  .top_event_item_box2 {
    width: 46%;
    margin-top: 0;
  }
  .top_event_item_title {
    font-size: 24px;
    margin-bottom: 10px;
  }
  .top_event_item_txt {
    font-size: 16px;
    line-height: 1.875;
  }
  .top_event_item .read_more {
    margin-top: 35px;
  }
}
@media (min-width:1024px) {}
@media (min-width:1200px) {
  .top_event_illust.pos1 {
    width: 768px;
  }
}
/* ===================================
  ギャラリー
  =================================== */
/*  */
.top_aniv_gallery_wrap {
  /*display: flex;*/
  position: relative;
  z-index: 1;
}
.top_aniv_gallery_wrap_inner {}
.top_aniv_gallery {
  display: flex;
  align-items: flex-start;
}
.top_aniv_gallery_item {
  width: 165px;
  margin: 0 10px;
  position: relative;
  z-index: 2;
}
.top_aniv_gallery_item_img.img_fit:before {
  padding-top: 65.782%;
}
.top_aniv_gallery_item:nth-child(odd) {
  margin-top: 60px;
}
.top_aniv_gallery_item:nth-child(even) {
  z-index: 0;
}
.top_aniv_gallery_catch {
  display: flex;
  font-size: 39px;
  font-weight: 600;
  font-family: var(--font-en);
  color: var(--main-color);
  white-space: nowrap;
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 0;
}
.top_aniv_gallery_catch p {
  margin: 0 0.5em;
}
@media (max-width:1023px) {}
@media (min-width:1024px) {
  /*  */
  .top_aniv_gallery_wrap {}
  .top_aniv_gallery_wrap_inner {}
  .top_aniv_gallery {}
  .top_aniv_gallery_item {
    width: 377px;
    margin: 0 65px;
  }
  .top_aniv_gallery_item:nth-child(odd) {
    margin-top: 90px;
  }
  .top_aniv_gallery_catch {
    font-size: 98px;
  }
  .top_aniv_gallery_catch p {
    margin: 0 0.5em;
  }
}
@media (min-width:1024px) {}
@media (min-width:1200px) {}
/* ===================================
  フッター
  =================================== */
/* フッター */
.top_footer {
  height: 400px;
  margin-top: 120px;
  padding-top: 45px;
  position: relative;
  z-index: 1;
}
/* ロゴ */
.top_footer_logo {
  text-align: center;
}
.top_footer_logo img {
  width: 140px;
  text-align: center;
}
/* 地球 */
.top_footer_earth {
  width: 100%;
  aspect-ratio: 1 / 1;
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
}
.top_footer_earth img {
  width: 200%;
  max-width: none;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0) rotate(0);
  --spin-dur: 60s; /* ここを変えると速度調整 */
  display: inline-block;
  animation: spin var(--spin-dur) linear infinite;
}
@keyframes spin {
  to {
    transform: translate(-50%, 0) rotate(360deg);
  }
}
/* ペンギン */
.top_footer_char {
  width: 224px;
  position: absolute;
  z-index: 1;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 10%);
}
/* 歩くペンギン */
.top_footer_walking {
  display: flex;
  justify-content: center;
  position: absolute;
  z-index: 2;
  top: -10%;
  left: 0;
  right: 0;
}
.top_footer_walking_char {
  width: 82px;
}
.top_footer_walking_char.pos1 {
  transform: rotate(5deg) translate(0%, 28%);
}
.top_footer_walking_char.pos2 {
  transform: rotate(11deg) translate(0%, 14%);
}
.top_footer_walking_char.pos3 {
  transform: rotate(11deg) translate(0%, 0%);
}
.top_footer_walking_char.pos4 {
  transform: rotate(13deg) translate(0%, 14%);
}
.top_footer_walking_char.pos5 {
  transform: rotate(15deg) translate(0%, 28%);
}
.top_footer_walking_char img {
  display: none;
}
.top_footer_walking_char img.on {
  display: block;
}
/* コピーライト */
.top_footer_copy {
  font-size: 10px;
  font-weight: 500;
  color: #FFF;
  background: #0296D6;
  padding: 8px 5px;
  text-align: center;
  position: absolute;
  z-index: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
@media (max-width:1023px) {
  .top_footer_inner {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .top_footer_inner .top_footer_logo {
    width: 140px;
  }
  .top_footer_inner .read_more {
    width: calc(100% - 140px);
    margin-top: 0;
  }
  .top_footer_copy {
    z-index: 2;
  }
  .top_footer_walking_char {
    width: 60px;
  }
  .top_footer_walking_char img {
    transform: scale(1.366);
  }
}
@media (min-width:1024px) {
  /* フッター */
  .top_footer {
    height: 500px;
    margin-top: 120px;
    padding-top: 45px;
  }
  /* ロゴ */
  .top_footer_logo {}
  .top_footer_logo img {
    width: 216px;
  }
  /* 地球 */
  .top_footer_earth {}
  .top_footer_earth img {
    width: 200%;
  }
  /* ペンギン */
  .top_footer_char {
    width: 400px;
    left: 0;
    -webkit-transform: translate(-10%, 18%);
    transform: translate(-10%, 18%);
  }
  /* 歩くペンギン */
  .top_footer_walking {
    top: -15%;
    left: 47%;
    right: 0;
  }
  .top_footer_walking_char {
    width: 152px;
  }
  .top_footer_walking_char.pos1 {
    transform: rotate(5deg) translate(0%, 0%);
  }
  .top_footer_walking_char.pos2 {
    transform: rotate(11deg) translate(-14%, 14%);
  }
  .top_footer_walking_char.pos3 {
    transform: rotate(11deg) translate(-28%, 33%);
  }
  .top_footer_walking_char.pos4 {
    transform: rotate(13deg) translate(-42%, 58%);
  }
  .top_footer_walking_char.pos5 {
    transform: rotate(15deg) translate(-56%, 86%);
  }
  /* コピーライト */
  .top_footer_copy {
    font-size: 12px;
    padding: 8px 5px;
  }
}
@media (min-width:1024px) {
  /* ペンギン */
  .top_footer_char {
    width: 300px;
  }
}
@media (min-width:1470px) {
  /* ペンギン */
  .top_footer_char {
    width: 628px;
    left: 0;
    -webkit-transform: translate(-10%, 18%);
    transform: translate(-10%, 18%);
  }
}
/* ===================================
  下層ヘッダー
  =================================== */
/*  */
.pg_header {
  position: relative;
  z-index: 1;
  height: 250px;
  background-image: url(../img/pg_header_bg.png);
  background-repeat: no-repeat;
  background-size: auto 100%;
  background-position: center bottom;
  -webkit-mask-image: url(../img/pg_header_bg.png);
  -webkit-mask-size: auto 100%;
  -webkit-mask-position: center bottom;
  overflow: hidden;
  /*margin-bottom: 160px;*/
}
.pg_header_logo {
  width: 100px;
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
}
.pg_header_ttl {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 0;
  right: 0;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  text-align: center;
}
.pg_header_ttl_txt {
  font-size: 24px;
  font-weight: 700;
  color: var(--main-color);
}
/**/
.pg_header_illust1, .pg_header_illust2 {
  position: absolute;
  z-index: 1;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
}
.pg_header_illust1 {
  width: 150px;
  top: 60%;
  left: 50%;
  margin-left: -240px;
}
/**/
.pg_header_illust2 {
  width: 160px;
  top: 60%;
  right: 50%;
  margin-right: -240px;
}
/**/
.pg_header_illust3 {
  position: absolute;
  z-index: 1;
  bottom: -20px;
  left: 0;
  right: 0;
}
.pg_header_illust3_line {
  width: 300px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.pg_header_illust3_line_item {
  position: absolute;
  z-index: 1;
  width: 16.666%;
}
.pg_header_illust3_line_item img {
  --top_penguin_line_img_scale: 1.5;
  transform: scale(var(--top_penguin_line_img_scale));
}
.pg_header_illust3_line_item.pos1 {
  left: -2%;
  bottom: 0;
}
.pg_header_illust3_line_item.pos2 {
  left: 16.666%;
  left: 15.666%;
  bottom: 0;
}
.pg_header_illust3_line_item.pos3 {
  left: 33.333%;
  bottom: 0;
}
.pg_header_illust3_line_item.pos4 {
  left: 49.999%;
  bottom: 0;
}
.pg_header_illust3_line_item.pos5 {
  left: 66.666%;
  left: 67.666%;
  bottom: 0;
}
.pg_header_illust3_line_item.pos6 {
  left: 83.333%;
  left: 85.333%;
  bottom: 0;
}
.pg_header_illust3_line_item.pos1 img {
  transform: scale(var(--top_penguin_line_img_scale)) rotate(15deg) translateY(-18%);
}
.pg_header_illust3_line_item.pos2 img {
  transform: scale(var(--top_penguin_line_img_scale)) rotate(8deg) translateY(-8%);
}
.pg_header_illust3_line_item.pos3 img {
  transform: scale(var(--top_penguin_line_img_scale)) rotate(0deg);
}
.pg_header_illust3_line_item.pos4 img {
  transform: scale(var(--top_penguin_line_img_scale)) rotate(0deg);
}
.pg_header_illust3_line_item.pos5 img {
  transform: scale(var(--top_penguin_line_img_scale)) rotate(-8deg) translateY(-8%);
}
.pg_header_illust3_line_item.pos6 img {
  transform: scale(var(--top_penguin_line_img_scale)) rotate(-15deg) translateY(-18%);
}
.pg_cmn {
  margin-top: 0;
  padding-top: 70px;
  background-image: url('../img/pg_main_bg.png');
  background-size: 1920px auto;
  background-position: center top;
  background-repeat: no-repeat;
}
.pg_cmn .top_footer {}
@media (max-width:767px) {}
@media (min-width:768px) {
  /*  */
  .pg_header {
    height: 300px;
  }
  .pg_header_logo {
    width: 120px;
    top: 10px;
    left: 10px;
  }
  .pg_header_ttl {
    top: 41%;
  }
  .pg_header_ttl_txt {
    font-size: 30px;
  }
  /**/
  .pg_header_illust1, .pg_header_illust2 {}
  .pg_header_illust1 {
    width: 250px;
    top: 48%;
    margin-left: -400px;
  }
  /**/
  .pg_header_illust2 {
    width: 250px;
    top: 42%;
    margin-right: -400px;
  }
  /**/
  .pg_header_illust3 {
    bottom: -35px;
  }
  .pg_header_illust3_line {
    width: 500px;
  }
  .pg_cmn {
    margin-top: 0;
    padding-top: 100px;
    background-size: 1024px auto;
  }
  .pg_cmn .top_footer {
    margin-top: 200px;
  }
}
@media (min-width:1024px) {
  .pg_cmn {
    margin-top: -20px;
    padding-top: 150px;
    background-size: 1200px auto;
  }
}
@media (min-width:1200px) {
  /*  */
  .pg_header {
    height: 400px;
  }
  .pg_header_logo {
    width: 210px;
    top: 35px;
    left: 40px;
  }
  .pg_header_ttl {
    top: 41%;
  }
  .pg_header_ttl_txt {
    font-size: 48px;
  }
  /**/
  .pg_header_illust1, .pg_header_illust2 {}
  .pg_header_illust1 {
    width: 353px;
    top: 48%;
    margin-left: -710px;
  }
  /**/
  .pg_header_illust2 {
    width: 456px;
    top: 42%;
    margin-right: -860px;
  }
  /**/
  .pg_header_illust3 {
    bottom: -35px;
  }
  .pg_header_illust3_line {
    width: 690px;
  }
  .pg_cmn {
    margin-top: -70px;
    padding-top: 230px;
    background-size: 1920px auto;
  }
}
/* ===================================

  =================================== */
/* イベント（一覧） */
.event_list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 0;
}
.event_list_item {
  width: 100%;
  padding: 20px;
  background: #FFF;
  border-radius: 14px;
}
.event_list_item_img {}
.event_list_item_img img {
  transition: 0.2s all;
}
.event_list_item_img.img_fit:before {
  padding-top: 58.261%;
}
.event_list_item_img:hover img {
  transform: scale(1.05);
}
.event_list_item_meta {
  margin-top: 15px;
  margin-bottom: 10px;
}
.event_list_item_meta_title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
}
.event_list_item_meta_date {
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  color: #CCCCCC;
  margin-top: 8px;
}
.event_list_item_txt {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.875;
}
.event_list_item_btn {}
.event_list_item_btn a {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding: 0 30px 0 10px;
  margin-top: 15px;
  font-size: 14px;
  font-weight: 800;
  text-align: center;
  text-decoration: none;
  background: #FFF;
  color: var(--main-color);
  position: relative;
  z-index: 1;
}
.event_list_item_btn a:after {
  content: "";
  width: 20px;
  aspect-ratio: 1 / 1;
  background-image: url('../img/read_more_arr_blue.svg');
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  z-index: 1;
  top: 50%;
  right: 0;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
}
.event_list_item_btn a:hover {
  /*background-color: #c5edff;*/
  /*transform: scale(1.05);*/
}
.event_list_item_btn a:hover:after {
  margin-right: -3px;
}
@media (max-width:767px) {}
@media (min-width:768px) {
  /* イベント（一覧） */
  .event_list {
    gap: 40px 15px;
  }
  .event_list_item {
    width: calc(50% - 15px);
    padding: 20px;
  }
  .event_list_item_meta {
    margin-top: 15px;
    margin-bottom: 10px;
  }
  .event_list_item_meta_title {
    font-size: 20px;
  }
  .event_list_item_meta_date {
    font-size: 16px;
    margin-top: 8px;
  }
  .event_list_item_txt {
    font-size: 16px;
    line-height: 1.875;
  }
  .event_list_item_btn {
    margin-top: 15px;
  }
  .event_list_item_btn a {
    padding: 0 30px 0 10px;
    font-size: 14px;
  }
  .event_list_item_btn a:after {
    width: 20px;
  }
}
@media (min-width:1024px) {
  /* イベント（一覧） */
  .event_list {
    gap: 40px 15px;
  }
  .event_list_item {
    width: calc(33.333% - 10px);
    padding: 20px;
  }
}
@media (min-width:1200px) {
  /* イベント（一覧） */
  .event_list {
    gap: 40px 15px;
  }
  .event_list_item {
    width: calc(33.333% - 10px);
    padding: 20px;
  }
}
/* ===================================

  =================================== */
/* イベント（詳細） */
.event_detail {
  background: #FFF;
  border-radius: 20px;
  padding: 20px 15px;
}
.event_detail_meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 20px;
}
.event_detail_meta .event_list_item_meta_title {
  /*font-size: 28px;*/
  color: #01A2E8;
}
.event_detail_meta .event_list_item_meta_title {}
.event_detail_txt {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.875;
  margin-top: 20px;
}
.event_detail_imgs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  margin-top: 20px;
}
.event_detail_imgs_item {
  width: 100%;
}
@media (max-width:767px) {}
@media (min-width:768px) {
  /* イベント（詳細） */
  .event_detail {
    padding: 50px 35px;
  }
  .event_detail_meta {
    margin-bottom: 30px;
  }
  .event_detail_meta .event_list_item_meta_title {
    font-size: 28px;
  }
  .event_detail_meta .event_list_item_meta_title {}
  .event_detail_txt {
    font-size: 16px;
    line-height: 2.125;
    margin-top: 30px;
  }
  .event_detail_imgs {
    gap: 10px 16px;
    margin-top: 30px;
  }
  .event_detail_imgs_item {
    width: calc(50% - 8px);
  }
}
@media (min-width:1024px) {}
@media (min-width:1200px) {
  /* イベント（詳細） */
  .event_detail {
    padding: 80px 95px;
  }
}
/* ===================================

  =================================== */
/*  */
@media (max-width:767px) {}
@media (min-width:768px) {}
@media (min-width:1024px) {}
@media (min-width:1200px) {}