/* test */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');
@font-face {
  font-family: 'icomoon';
  src:  url('../fonts/icomoon.eot?sxyh2g');
  src:  url('../fonts/icomoon.eot?sxyh2g#iefix') format('embedded-opentype'),
    url('../fonts/icomoon.ttf?sxyh2g') format('truetype'),
    url('../fonts/icomoon.woff?sxyh2g') format('woff'),
    url('../fonts/icomoon.svg?sxyh2g#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  font-size: auto;
  display: block;
  width: 1em;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

[class^="icon-"]::before{
  display: block;
  width: 1em;
  border-radius: 50%;
}
.icon-plus_icon:before {
  content: "\e900";
}
.icon-plus_icon_hover:before {
  content: "\e901";
}
.icon-down-icon:before {
  content: "\e902";
}
.icon-next-off:before {
  content: "\e903";
}
.icon-back-off:before {
  content: "\e904";
}
.icon-back-to-top-off:before {
  content: "\e905";
}
.icon-next-to-last-off:before {
  content: "\e906";
}

.icon-icon_arrow:before {
  content: "\e907";
  color: #00a5ff;
}
.icon-plus_icon_arrow:before {
  content: "\e908";
  color: #00a5ff;
}
.icon-plus_icon:before {
  content: "\e900";
}
.icon-plus_icon_hover:before {
  content: "\e901";
}

.icon-number-01:before {
  content: "\e90b";
}
.icon-number-02:before {
  content: "\e90c";
}

@font-face {
  font-family: 'Helvetica Neue';
  src: local('Helvetica Neue Thin'), local('HelveticaNeue-Thin');
  font-weight: 100; /* Thin */
  font-style: normal;
  size-adjust: 106%;
}

@font-face {
  font-family: 'Helvetica Neue';
  src: local('Helvetica Neue Light'), local('HelveticaNeue-Light');
  font-weight: 300; /* Light */
  font-style: normal;
  size-adjust: 106%;
}

@font-face {
  font-family: 'Helvetica Neue';
  src: local('Helvetica Neue'), local('HelveticaNeue');
  font-weight: 400; /* Normal */
  font-style: normal;
  size-adjust: 106%;
}

@font-face {
  font-family: 'Helvetica Neue';
  src: local('Helvetica Neue Medium'), local('HelveticaNeue-Medium');
  font-weight: 500; /* Medium */
  font-style: normal;
  size-adjust: 106%;
}

@font-face {
  font-family: 'Helvetica Neue';
  src: local('Helvetica Neue Bold'), local('HelveticaNeue-Bold');
  font-weight: 700; /* Bold */
  font-style: normal;
  size-adjust: 106%;
}

@font-face {
  font-family: 'Helvetica Neue';
  src: local('Helvetica Neue Black'), local('HelveticaNeue-Black');
  font-weight: 900; /* Black */
  font-style: normal;
  size-adjust: 106%;
}

* {
  padding: 0;
  margin: 0;
  font-family: "Helvetica Neue", "Open Sans", "Noto Sans JP", sans-serif;
  letter-spacing: .1em;
  font-feature-settings: "palt";
  -ms-overflow-style: none;
  scrollbar-width: none;
  letter-spacing: .12em;
}

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

@media screen and (max-width: 700px) {
  .pc-none{
    display: block;
  }
  .phone-none{
    display: none;
  }
  span.works_name, span.works_client, span.works_date {
    display: contents;
    white-space: wrap;
    margin-bottom: 0.2em;
  }
}

html{
  scroll-padding-top: min(30%, 150px);
}


body {
  background-color: #1F1F21;
  -webkit-text-size-adjust: 100%;
}
.body_fixed {
  overflow: hidden;
}
*::-webkit-scrollbar{
  display:none;
}
img {
  width: 100%;
}

.works img{
  width: 100%;
  height: 100%;
}
select option {
  color: #000 !important;
  background-color: #fff !important;
  -webkit-appearance: none;
  appearance: none;
}
select:focus option:focus {
  color: #000 !important;
  background-color: #fff !important;
}
.display_none {
  display: none !important;
}
.cursor_pointer{
  cursor: pointer;
}
.max_width_1000px{
  width: calc(100% - 80px) !important;
  max-width: 1000px;
}


#scroll_control {
  overflow: hidden;
  position: relative;
}
#scroll_control header,#scroll_control main,#scroll_control footer {
  -ms-filter: blur(0px);
  filter: blur(0px);
  transition: filter .5s;
  will-change: filter;
}
#scroll_control.blur header,#scroll_control.blur main,#scroll_control.blur footer {
  -ms-filter: blur(10px);
  filter: blur(10px);
}

header {
  width: 100%;
  position: relative;
}
.index-header {
  width: 100%;
  max-width: 1351px;
  margin: 0 auto;
  position: relative;
}
#logo {
  position: fixed;
  width: 140px;
  height: 140px;
  top: 0;
  left: 0;
  z-index: -5;
  mix-blend-mode: exclusion;
  transition: all 1s;
  opacity: 1;
}
#menu {
  position: fixed;
  width: 140px;
  height: 140px;
  top: 0;
  right: 0;
  z-index: -5;
  mix-blend-mode: exclusion;
  transition: all 1s;
  opacity: 1;
}
#logo.escape {
  /* top: -140px; */
  /* left: -140px; */
  opacity: 0;
  pointer-events: none;
}
#logo.escape2 {
  /* top: -140px; */
  /* left: -140px; */
  opacity: 0;
  pointer-events: none;
}
#menu.escape {
  /* top: -140px; */
  /* right: -140px; */
  opacity: 0;
  pointer-events: none;
}
#logo.index_logo {
  z-index: 100;
}

#logo a,#menu a {
  display: block;
  position: absolute;
  width: 60%;
  height: 60%;
  top: 20%;
  left: 20%;
}

.header_play_btn{
  position: absolute;
  width: 20px;
  height: 20px;
  transition: all .3s;
}

.header_play_btn.stop_play{
  opacity: 0.7;
}

.header_play_btn.stop_play:hover{
  opacity: 1;
  cursor: pointer !important;
  user-select: auto;
  pointer-events: auto;
}

.header_play_btn.prev_play{
  opacity: 0;
  user-select: none;
  pointer-events: none;
}

@media screen and (max-width:750px) {
  #logo,#menu {
    width: 100px;
    height: 100px;
  }
}

#pc_header_window {
  transition: all .4s;
}
@media screen and (min-width:1351px) {
  #sp_header_window {
    display: none;
  }
  #pc_header_window {
    width: 1280px;
    height: 720px;
    position: relative;
    overflow: hidden;
    border-radius: 20px;
    margin: 0 auto;
    margin-top: 40px;
  }
  #pc_header_window video {
    margin: 0 auto;
    display: inline-block;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    height: 720px;
  }
  .header_play_btn {
    position: absolute;
    right: 60.5px;
    bottom: 25px;
    width: 30px;
    height: 30px;
    padding: 10px;
  }
}
@media screen and (min-width:760px) and (max-width:1350.9999px) {
  #sp_header_window {
    display: none;
  }
  #pc_header_window {
    height: 760px;
    position: relative;
    overflow: hidden;

    background-image: url(../video/LB.jpg);
    background-position: center;
    background-size: cover;
  }
  #pc_header_window video {
    margin: 0 auto;
    display: inline-block;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }
  .header_play_btn {
    position: absolute;
    right: 25px;
    bottom: 25px;
    width: 30px;
    height: 30px;
    padding: 10px;
  }
}
@media screen and (max-width:759.9999px) {
  #pc_header_window {
    display: none;
  }
  #sp_header_window {
    /* height: calc(100vw / 9 * 16); */
    height: 113vw;
    width: 100%;

    display: flex;
    justify-content: center;
    background-image: url(../video/LB.jpg);
    background-position: center;
    background-size: cover;
  }
  #sp_header_window video {
    display: block;
    
    height: 100%;
    width: auto;
  }
  .header_play_btn {
    position: absolute;
    right: 14px;
    bottom: 14px;
    width: 30px;
    height: 30px;
    padding: 10px;
  }
}

main {
  z-index: 50;
  position: relative;
}

#planet_area {
  display: flex;
  flex-wrap: wrap;
  width: calc(100% - ((100% - 600px) / 2));
  justify-content: space-between;
  max-width: 1000px;
  margin: 135px auto 105px auto;
  position: relative;
  transition: all .13s;
}
.planet {
  --planet_size: 200px;
  --rotate_time: 11.283s;
  border-radius: 50%;
  width: var(--planet_size);
  height: var(--planet_size);
  position: relative;
  /* transition: all .13s; */
  /* transform: translate(-50% , -50%); */
  transform-style: preserve-3d;
}

main > #planet_area .planet {
  scale: 0;
  animation: none;
}
@keyframes bounce1 {
  0% {
    scale: 0;
  }
  50% {
    scale: 1.15;
  }
  75% {
    scale: 0.95;
  }
  100% {
    scale: 1;
  }
}
@keyframes bounce2 {
  0% {
    scale: 0;
  }
  20% {
    scale: 1.2;
  }
  40% {
    scale: 0.9;
  }
  60% {
    scale: 1.05;
  }
  80% {
    scale: 0.975;
  }
  100% {
    scale: 1;
  }
}
@keyframes bounce3 {
  0% {
    scale: 0;
  }
  20% {
    scale: 1.2;
  }
  40% {
    scale: 0.9;
  }
  60% {
    scale: 1;
  }
  100% {
    scale: 1;
  }
}
main > #planet_area .end-by {
  animation: bounce3 0.6s ease-in-out;
  animation-fill-mode: forwards;
}

.planet:nth-of-type(2),.planet:nth-of-type(5) {
  margin: 0 10px;
}
.planet:nth-of-type(n+4){
  margin-top: calc((100% - 600px) / 2);
}
@media screen and (min-width:1001px) {
  .planet {
    --planet_size: min(250px , calc((100vw - ((100vw - 600px) / 2))/4));
  }
  .planet:nth-of-type(n+4){
    margin-top: min(125px , calc((100vw - ((100vw - 600px) / 2))/8));
  }
}
@media screen and (min-width:951px) {
  .planet:nth-of-type(2),.planet:nth-of-type(5) {
    margin-left: 60px;
    margin-right: 60px;
  }
}
@media screen and (min-width:601px) and (max-width:830px) {
  #planet_area {
    width: calc(100% - calc(100vw * (115/830)));
    margin: 135px auto 105px auto;
  }
  .planet {
    --planet_size: calc(100vw * (200/830));
  }
  .planet:nth-of-type(2),.planet:nth-of-type(5) {
    margin: 0;
  }
  .planet:nth-of-type(n+4){
    margin-top: 6.25vw;
  }
}
@media screen and (max-width:600px) {
  #planet_area {
    width: calc((100vw * (2/3)) + ((100vw - (100vw * (2/3))) / 3));
    margin: 135px auto 105px auto;
  }
  .planet:nth-of-type(2),.planet:nth-of-type(5) {
    margin: 0;
  }
  .planet:nth-of-type(n+3){
    margin-top: calc((100vw - (100vw * (2/3))) / 3);
  }
  .planet {
    --planet_size: calc(100vw / 3);
  }
}
/* 3列→２列(直交) */
/* 輪っかがぶつからないように調整 */

.planet .ring_perspective {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  perspective: calc(var(--planet_size) * 2.5);
  /* perspective-origin: 50% calc(50% - calc(var(--planet_size) * 0.925)); */
  transform-style: preserve-3d;
  transform: rotate(-20deg);
  position: relative;
}
.planet .ring {
  position: absolute;
  top: 50%;
  left: 50%;
  display: flex;
  pointer-events: none;
  transform-style: preserve-3d;
  /* animation: rotate 8s infinite linear; */
  z-index: 24;
}
/* @keyframes rotate {
  0% {z-index: 24;}
  4.167% {z-index: 1;}
  8.333% {z-index: 2;}
  12.5% {z-index: 3;}
  16.667% {z-index: 4;}
  20.833% {z-index: 5;}
  25% {z-index: 6;}
  29.167% {z-index: 7;}
  33.333% {z-index: 8;}
  37.5% {z-index: 9;}
  41.667% {z-index: 10;}
  45.833% {z-index: 11;}
  50% {z-index: 12;}
  54.167% {z-index: 13;}
  58.333% {z-index: 14;}
  62.5% {z-index: 15;}
  66.667% {z-index: 16;}
  70.833% {z-index: 17;}
  75% {z-index: 18;}
  79.167% {z-index: 19;}
  83.333% {z-index: 20;}
  87.5% {z-index: 21;}
  91.667% {z-index: 22;}
  95.833% {z-index: 23;}
  100% {
    z-index: 24;
    transform: rotateY(-360deg);
  }
} */

.planet .ring .panel:nth-of-type(1) {
  --angle: 190deg;
  --left:  0px;
}
.planet .ring .panel:nth-of-type(2) {
  --angle: 205deg;
  --left: calc(var(--planet_size) * 0.18);
}
.planet .ring .panel:nth-of-type(3) {
  --angle: 220deg;
  --left: calc(var(--planet_size) * 0.36);
}
.planet .ring .panel:nth-of-type(4) {
  --angle: 235deg;
  --left: calc(var(--planet_size) * 0.54);
}
.planet .ring .panel:nth-of-type(5) {
  --angle: 250deg;
  --left: calc(var(--planet_size) * 0.72);
}
.planet .ring .panel:nth-of-type(6) {
  --angle: 265deg;
  --left: calc(var(--planet_size) * 0.9);
}
.planet .ring .panel:nth-of-type(7) {
  --angle: 280deg;
  --left: calc(var(--planet_size) * 1.08);
}
.planet .ring .panel:nth-of-type(8) {
  --angle: 295deg;
  --left: calc(var(--planet_size) * 1.26);
}
.planet .ring .panel:nth-of-type(9) {
  --angle: 310deg;
  --left: calc(var(--planet_size) * 1.44);
}
.planet .ring .panel:nth-of-type(10) {
  --angle: 325deg;
  --left: calc(var(--planet_size) * 1.62);
}
.planet .ring .panel:nth-of-type(11) {
  --angle: 340deg;
  --left: calc(var(--planet_size) * 1.8);
}
.planet .ring .panel:nth-of-type(12) {
  --angle: 355deg;
  --left: calc(var(--planet_size) * 1.98);
}
.planet .ring .panel:nth-of-type(13) {
  --angle: 10deg;
  --left: calc(var(--planet_size) * 2.16);
}
.planet .ring .panel:nth-of-type(14) {
  --angle: 25deg;
  --left: calc(var(--planet_size) * 2.34);
}
.planet .ring .panel:nth-of-type(15) {
  --angle: 40deg;
  --left: calc(var(--planet_size) * 2.52);
}
.planet .ring .panel:nth-of-type(16) {
  --angle: 55deg;
  --left: calc(var(--planet_size) * 2.7);
}
.planet .ring .panel:nth-of-type(17) {
  --angle: 70deg;
  --left: calc(var(--planet_size) * 2.88);
}
.planet .ring .panel:nth-of-type(18) {
  --angle: 85deg;
  --left: calc(var(--planet_size) * 3.06);
}
.planet .ring .panel:nth-of-type(19) {
  --angle: 100deg;
  --left: calc(var(--planet_size) * 3.24);
}
.planet .ring .panel:nth-of-type(20) {
  --angle: 115deg;
  --left: calc(var(--planet_size) * 3.42);
}
.planet .ring .panel:nth-of-type(21) {
  --angle: 130deg;
  --left: calc(var(--planet_size) * 3.6);
}
.planet .ring .panel:nth-of-type(22) {
  --angle: 145deg;
  --left: calc(var(--planet_size) * 3.78);
}
.planet .ring .panel:nth-of-type(23) {
  --angle: 160deg;
  --left: calc(var(--planet_size) * 3.96);
}
.planet .ring .panel:nth-of-type(24) {
  --angle: 175deg;
  --left: calc(var(--planet_size) * 4.14);
}

.planet .ring .panel {
  position: absolute;
  transform: translate(-50%, -50%) rotateY(var(--angle)) translateZ(calc(var(--planet_size) * 0.68)) scaleY(1.25);
  width: calc(var(--planet_size) * 0.18);
  height: var(--planet_size);
  overflow: hidden;
  pointer-events: none;
  opacity: 1;
  z-index: 1;
  display: flex;
  justify-content: left;
  align-items: center;
}
.planet .ring .panel::before,.planet .ring .panel::after {
  line-height: 1em;
  font-size: calc(var(--planet_size) / 13.95);
  font-weight: 800;
  letter-spacing: 0.19em;
  font-feature-settings: "palt";
  color: white;
  display: block;
  position: relative;
  opacity: 0;
  white-space: nowrap;
  content: '';
  font-size: calc(var(--planet_size)/16);
  animation: text-slider 10s linear infinite;
  left: calc(var(--left) * -1);
}
@keyframes text-slider {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-100%)
  }
}

.planet.company .ring .panel::before,.planet.company .ring .panel::after {
  content: '会社概要/企業理念-PURPOSE-VISION-MISSION-VALUE/BRAND STATEMENT/HISTORY/ACCESS/CONTACT/';
}
.planet.member .ring .panel::before,.planet.member .ring .panel::after {
  content: 'メンバー紹介/CxO/地域創生ディレクター/デザイナー/プロデューサー/エンジニア/人事・総務/KEY PARTNER/COLLABORATOR/';
}
.planet.works .ring .panel::before,.planet.works .ring .panel::after {
  content: 'ローカルブライトがこれまで手がけたアートディレクション・デザインの事例を紹介 日々クオリティにこだわり、様々なデザインに取り組んでいます ';
}
.planet.news .ring .panel::before,.planet.news .ring .panel::after {
  content: 'ローカルブライトからのお知らせ/リリース情報/メディア掲載情報/ローカルブライトからのお知らせ/リリース情報/メディア掲載情報/';
}
.planet.story .ring .panel::before,.planet.story .ring .panel::after {
  content: '日々の取り組みやメンバーのインタビューをブログ形式でお届け 日々の取り組みやメンバーのインタビューをブログ形式でお届け ';
}
.planet.recruit .ring .panel::before,.planet.recruit .ring .panel::after {
  content: 'エントリーはこちらから/新卒採用/中途採用/現在募集中の採用情報/VISUAL DATAで見るローカルブライトなど企業情報も掲載中/';
}

.planet .ring .panel-hover::before,.planet .ring .panel-hover::after {
  opacity: 1;
}
.planet .planet_bg {
  position: absolute;
  border-radius: 50%;
  background-color: white;
  width: var(--planet_size);
  height: var(--planet_size);
  top: 50%;
  left: 50%;
  transform: translate(-50% , -50%);
  z-index: 1;
}
.planet .planet_whitebg {
  position: absolute;
  border-radius: 50%;
  background-color: white;
  width: var(--planet_size);
  height: var(--planet_size);
  top: 50%;
  left: 50%;
  /* transform: translate(-50% , -50%) scale(1.04); */
  transform: translate(-50% , -50%);
  border: white calc(var(--planet_size) * 0.02) solid;
  /* transition: transform .13s ease; */
  transition: all .13s ease;
  z-index: 1;
}
.planet .planet_colorbg {
  position: absolute;
  border-radius: 50%;
  width: 0px;
  height: 0px;
  top: 50%;
  left: 50%;
  transform: translate(-50% , -50%);
  border: white 0px solid;
  transition: all .13s ease;
  z-index: 2;
}
.planet .planet_whitebg-hover,.planet.explosion .planet_whitebg {
  /* transform: translate(-50% , -50%) scale(1.08); */
  border-width: calc(var(--planet_size) * 0.04);
}
.planet .planet_colorbg-hover,.planet.explosion .planet_colorbg {
  /* transform: translate(-50% , -50%) scale(1.04); */
  border-width: calc(var(--planet_size) * 0.02);
  width: var(--planet_size);
  height: var(--planet_size);
}
.planet.company .planet_colorbg {
  background-color: #ffe457;
  border-color: #ffe457;
}
.planet.member .planet_colorbg {
  background-color: #04E3FF;
  border-color: #04E3FF;
}
.planet.works .planet_colorbg {
  background-color: #ff90c0;
  border-color: #ff90c0;
}
.planet.news .planet_colorbg {
  background-color: #96f196;
  border-color: #96f196;
}
.planet.story .planet_colorbg {
  background-color: #ff8080;
  border-color: #ff8080;
}
.planet.recruit .planet_colorbg {
  background-color: #45b7ff;
  border-color: #45b7ff;
}

.planet.explosion {
  z-index: 100;
}


.planet .planet_pattern {
  width: calc(var(--planet_size) * 0.975);
  height: calc(var(--planet_size) * 0.975);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50% , -50%);
  pointer-events: none;
  opacity: 1;
  transition: opacity .13s ease;
  z-index: 3;
}
.planet .planet_pattern2 {
  opacity: 0;
}
.planet .planet_pattern-hover {
  opacity: 0;
}
.planet .planet_pattern2-hover {
  opacity: 0.9;
}

.planet .planet_text {
  width: fit-content;
  height: calc(var(--planet_size) / 12);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50% , -50%);
  pointer-events: none;
  display: flex;
  justify-content: center;
  align-content: center;
  z-index: 3;
}
.planet .planet_text img {
  max-height: 100%;
  display: block;
}

.planet a {
  width: 100%;
  height: 100%;
  position: absolute;
  display: block;
  top: 50%;
  left: 50%;
  border-radius: 50%;
  transform: translate(-50% , -50%);
  z-index: 2;
  font-size: 0;
}

#pickup {
  width: calc(100% - 80px);/* 惑星エリアに合わせる */
  max-width: 1000px;
  margin: 0 auto;
  margin-bottom: 80px;
}

#pickup .title,#news .title,#pickup .bnr,#news .top_news_whiteblock {
  transition: all .8s cubic-bezier(0.455,0.030,0.515,0.955);
  transform: translateY(0px);
  transition-delay: .15s;

}
#pickup .stand-by,#news .stand-by {
  transform: translateY(30px);
  opacity: 0;
}

#pickup .title {
  margin: 0 auto;
  width: fit-content;
  height: 36px;
  max-width: 132px;
}

#news {
  width: calc(100% - 80px);/* 惑星エリアに合わせる */
  max-width: 1000px;
  margin: 0 auto;
  margin-bottom: 100px;
}

#news .title {
  margin: 0 auto;
  width: fit-content;
  height: 36px;
  max-width: 132px;
}

#pickup a img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.pickup_bnrbox {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
}
.pickup_bnrbox .bnr {
  height: 0;
  width: 100%;
  padding-top: 45%;
  position: relative;
  margin-top: 40px;
}
.pickup_bnrbox .bnr a {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 20px;
  justify-content: center;
  pointer-events:auto;
}

.pickup_bnrbox .bnr > span {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: calc(100% + 16px);
  height: calc(100% + 16px);
  box-sizing: border-box;
  border-radius: 28px;
  opacity: 0;
  z-index: -1;
  transition: all .3s;
}
.pickup_bnrbox .bnr.company_bnr > span{
  border: 4px solid #ffe457;
}
.pickup_bnrbox .bnr.member_bnr > span{
  border: 4px solid #04E3FF;
}
.pickup_bnrbox .bnr.works_bnr > span{
  border: 4px solid #ff90c0;
}
.pickup_bnrbox .bnr.news_bnr > span{
  border: 4px solid #96f196;
}
.pickup_bnrbox .bnr.story_bnr > span{
  border: 4px solid #ff8080;
}
.pickup_bnrbox .bnr.recruit_bnr > span{
  border: 4px solid #45b7ff;
}
.pickup_bnrbox .bnr a:hover + span {
  opacity: 1;
}

.bnr_shadow {
  height: 35%;
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  background: linear-gradient(#00000000 0%, #00000055 100%);
}

.pickup_box{
  position: absolute;
  bottom: 0 !important;
  left: 0 !important;
  width: 100%;
  background: linear-gradient(#00000000 0%, #00000055 100%);
  bottom: calc(32px - (24px * 0.3));
  left: 30px;
  padding-bottom: calc(32px - (24px * 0.3));
  padding-right: 30px;
  padding-left: 30px;
  padding-top: 40px;
  box-sizing: border-box;
  border-radius: 0 0 20px 20px;
}

.bnr_subtext {
  font-size: 12px;
  font-weight: 900;
  color: #fff;
  display: block;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: top left;
  line-height: 1em;
  margin-bottom: calc(12px - 0.6em);
  word-break: auto-phrase;
  text-wrap: balance;
}

@media screen and (max-width:700px) {
  .bnr_subtext {
    font-size: 10px;
  }
  .pickup_box {
    max-width: calc(100% - 0px);
  }
}

@media screen and (max-width:600px) {
  .pickup_bnrbox .bnr {
    padding-top: 100%;
  }
}





span.text_breaks_left_0 {
  width: calc(100% + 0px);
  position: relative;
  left: -1.5em;
  display: inline-block;
  padding-top: 7px;
}


.entry #back_window {
  opacity: 0.6;
}


.entry .page-header {
  margin-bottom: -7.8vw;
}

.entry main .main-content {
  width: calc(100% - 80px);
  padding: 0px 0;
}

.entry .main-content{
  width: calc(100% - 80px);
  max-width: 1000px;
  margin: 0 auto;
}

.entry_position{
  text-align: center;
  width: 100%;
  margin-bottom: 25px;
}

.entry_position span{
  color: #fff;
  display: inline-block;
  background-color: #000;
  font-size: 15px;
  font-weight: 500;
  border-radius: 4px;
  padding: 6px 13px;
  transform: scaleX(0.85);
  transform-origin: bottom left;
  line-height: 1em;
}

form > div.entry_position_title > p > span{
  color: #000;
}
form > div.entry_position_text > p,
form > div.entry_position_text{

  color: #000;
}

.entry_position_title,
.entry_position_text{
  color: #FFF;
  width: 100%;
  text-align: center;
}

.entry_position_title{
  margin-bottom: 40px;
  text-wrap: balance;
  word-break: auto-phrase;
}

.entry_position_text{
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: bottom left;
  text-wrap: balance;
  word-break: auto-phrase;
}

.entry_position_title span{
  font-size: 32px;
  font-weight: 900;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: bottom left;
  line-height: 1em;
  display: block;
  text-wrap: balance;
  word-break: auto-phrase;
}

.entry_position_text{
  margin-bottom: 55px;
}

.entry_position_text span {
  font-size: 17px;
  font-weight: 500;
  line-height: 2em;
}

.entry_contents_wrap{
  width: 100%;
  display: flex;
  justify-content: space-between;
}

.entry_contents_item{
  width: calc(50% - 20px)
}

.entry_name_wrap{
  color: #000;
  font-size: 18px;
  font-weight: 500;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: bottom left;
  display: block;
  line-height: 1.4em;
  margin-bottom: calc(10px - 0.2em);
  text-wrap: balance;
  word-break: auto-phrase;
}

.entry_check_not_commercial {
  display: flex;
}

.entry_check_not_commercial > div:first-of-type > p > span > span > span > input {
  width: calc(24px * 0.85);
  height: 24px;
  transform: scaleX(1);
  position: relative;
  display: block;
  border: 1px solid #000;
  opacity: 0;
  -webkit-appearance: none;
  appearance: none;
  accent-color: #000;
}
.entry_check_not_commercial > div:first-of-type > p > span {
  width: 20px;
  height: 20px;
  background-color: white;
  border-radius: 4px;
  display: block;
  position: relative;
  top: 1.5px;
  border: #000 2px solid;
  transform: translateY(2.5px);
}
.entry_check_not_commercial > div:first-of-type > p > span:has(input:checked)::after {
  width: 20px;
  height: 20px;
  display: flex;
  position: absolute;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  content: '✓';
  font-weight: bold;
  top: 0;
  left: 0;
  pointer-events: none;
}

.entry_check_not_commercial > div:first-of-type > p > span >span > span > span {
  display: none;
}

.entry_check_not_commercial .entry_name_wrap{
  position: relative;
  top: 3px;
  left: 0.65em;
}

select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required.check_contact_point {
  width: 100%;
  height: 60px;
  font-size: 18px;
  font-weight: 500;
  line-height: 2em;
  border-radius: 10px;
  margin-bottom: 30px;
  padding-left: 0.8em;
  color: #2b2b2b;
}

span.required{
  display: inline-block;
  color: #ff8082;
  padding-left: 5px;
  transform: scaleX(1.1);
}

.entry input {
  width: 100%;
  height: 60px;
  font-size: 18px;
  font-weight: 500;
  line-height: 2em;
  border-radius: 10px;
  margin-bottom: 30px;
  border: none;
  box-sizing: border-box;
  padding-left: 1em;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: bottom left;
  border: 2px solid #000;
}

.entry input.check_not_commercial {
  width: 24px;
  height: 24px;
  transform: scaleX(1);
}

.entry input::placeholder,
.entry textarea::placeholder {
  color: #cacaca;
}

.entry input:focus {
  outline: 0px #ffffff solid;
}
*:focus {
  outline: 0px #ffffff solid;
}
.recaptcha-text {
  transform: scaleX(0.85);
}
.file_input {
  width: 100%;
  height: 100px;
  border-radius: 10px;
  background: #FFF;
  display: flex;
  align-items: center;
  padding-left: 1em;
  box-sizing: border-box;
  margin-bottom: 30px;
  border: #000 2px solid;
}

.file_input p {
  width: 100%;
  height: 100%;
}

.file_input p span {
  width: 100%;
  display: flex;
  align-items: center;
  height: 100%;
}

.file_input input {
  cursor: pointer;
  color: #cacaca;
  border: none;
  font-size: 14.5px;
  font-weight: 400;
  outline: none;
  display: block;
  margin: auto;
  width: calc(100% / 0.85);
  height: auto;
  padding: 33px 55px;
  box-sizing: border-box;
  position: relative;
}

.file_input input::-webkit-file-upload-button {
  visibility: hidden; /* デフォルトのファイル選択ボタンを非表示にする（Chrome/Safari用） */
}

.file_input input::after,.file_input input::before {
  cursor: pointer;
  position: absolute;
  height: 34px;
  width: 114px;
  top: calc(50% - 17px);
  left: 10px;
}
.file_input input::after {
  content: 'ファイルを追加';
  color: white;
  line-height: 1em;
  display: flex;
  justify-content: center;
  align-items: center;
}
.file_input input::before {
  content: '';
  background-color: #000;
  border-radius: 17px;
  display: block;
  transform-origin: center center;
  transform: scaleX(calc(1 / 0.85));
}

.file_textarea textarea {
  width: 100%;
  height: 140px;
  font-size: 18px;
  border: 2px #000 solid;
  border-radius: 10px;
  margin-bottom: 30px;
  padding: 20px 1em 20px;
  box-sizing: border-box;
  resize: vertical;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: bottom left;
}

.entry_button {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.entry_button p {
  width: 146px;
  height: 40px;
  border-radius: 20px;
  background-color: black;
  position: relative;
}

.entry_button input {
  all: unset;
  color: #FFF;
  font-size: 18px;
  font-weight: 700;
  transform-origin: center center;
  display: block;
  position: absolute;
  width: calc(100% / 0.85);
  text-align: center;
  height: 100%;
  line-height: 1em;
  top: calc(50% - 20px);
  left: calc(50% - (73px / 0.85));
  transform: scaleX(0.85);

}

.entry_extra_text {
  margin-top: 18px;
  margin-bottom: 60px;
}

.extra_text {
  margin-bottom: 30px;
  color: #000;
  font-size: 16px;
  font-weight: 500;
  line-height: 2em;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: bottom left;
  text-wrap: balance;
  word-break: auto-phrase;
}

.screen-reader-response{
  display: none
}

.wpcf7-response-output{
  margin: 30px 0 30px;
  color: red !important;
  text-align: center;
  font-weight: 600;
  border: #000 0px solid !important;
}

span.line-breaks{
  display: inline-block;
  padding: 0;
  margin: 0;
}




footer {
  position: relative;
  width: 100%;
  margin: 0 auto;
  max-width: 3840px;
  overflow: hidden;
  height: auto;
}

#horizon-view-control {
  height: 400px;
  position: relative;
  margin-top: 30vh;
}
.horizon-back {
  position: absolute;
  z-index: -1;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: all .7s;
  background: linear-gradient(#8181ff00 10%, #36366eb3 70%, #394279 100%);
  /*冬用の無彩色グラデーション background: linear-gradient(#8181ff00 10%, #3c3c5996 70%, #303549 100%);*/
}
.horizon-stage {
  --fh_d: min(1200vw , 46080px);
  width: var(--fh_d);
  height: var(--fh_d);
  border-radius: 50%;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50% , calc(-100px + (100px - (100vw / 50) - (100vw / 1000))));
  z-index: 1;
}
.stage_prop {
  width: 0px;
  height: 0px;
  z-index: 3;
  transform-origin: calc(var(--fh_d) / 2);
  position: absolute;
  top: calc(var(--fh_d) / 2);
  left: 0px;
  transform: translateZ(0);
}
.prop-body {
  width: var(--prop_width);
  height: var(--prop_height);
  position: absolute;
  top: 0;
  left: 0;
  transform-origin: 0px 0px;
  transform: translateX(var(--prop_offset)) rotateZ(90deg);
  transition: all .5s cubic-bezier(0.555, -0.355, 0.520, 1.425); 
}
.prop-body_offset {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: -50%;
}

.prop-body_offset img {
  transform: rotate(180deg);
  will-change: filter;
}
.prop-body_offset img:nth-last-of-type(1) {
  display: none;
}
.prop-body_offset img:nth-of-type(1) {
  display: block;
}
.doll04:nth-of-type(odd) .prop-body_offset img:nth-of-type(1) {
  display: none;
}
.doll04:nth-of-type(odd) .prop-body_offset img:nth-last-of-type(1) {
  display: block;
}

.train img {
  width: auto;
  height: 100%;
  text-align: center;
}

.doll01 {
  --prop_width: 480px;
  --prop_height: 140px;
  --prop_offset: 22px;
  z-index: 1;
}
.doll02 {
  --prop_width: 245px;
  --prop_height: 95px;
  --prop_offset: 17px;
  z-index: 2;
}

.train01 {
  --prop_width: 501px;
  --prop_height: 140px;
  --prop_offset: 56px;
  z-index: 4;
}
.train02 {
  --prop_width: 501px;
  --prop_height: 140px;
  --prop_offset: 56px;
  z-index: 3;
}

.doll03 {
  --prop_width: 60px;
  --prop_height: 140px;
  --prop_offset: 3px;
  z-index: 5;
}
.doll04 {
  --prop_width: 42px;
  --prop_height: 75px;
  --prop_offset: 3px;
  z-index: 6;
}
/* リサイズ時はディレイかけないようにする */
.doll01 * {
  transition-delay: 0s;
}
.doll02 * {
  transition-delay: .05s;
}
.doll03 * {
  transition-delay: .1s;
}
.doll04 * {
  transition-delay: .15s;
}
.train * {
  transition-delay: .4s;
}

[class^="exit"] .doll01 * {
  transition-delay: .4s;
}
[class^="exit"] .doll02 * {
  transition-delay: .35s;
}
[class^="exit"] .doll03 * {
  transition-delay: .3s;
}
[class^="exit"] .doll04 * {
  transition-delay: .25s;
}
[class^="exit"] .train * {
  transition-delay: 0s;
}




.exit .stage_prop,.exit2 .stage_prop {
  --prop_offset: 200px;
}
.exit .horizon-back {
  height: 0;
}
@keyframes footer-rotate {
  0% {
    transform: rotateZ(0deg);
  }
  0.001% {
    transform: rotateZ(45deg);
  }
  99.999% {
    transform: rotateZ(135deg);
  }
  100% {
    transform: rotateZ(360deg);
  }
}
.stage_horizon {
  position: absolute;
  background-color: #1F1F21;
  border-radius: 50%;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  z-index: 7;
}

.clearance {
  background-color: #1F1F21;
  width: 100%;
  height: 280px;
  position: relative;
}

.footer-logo {
  z-index: 1;
  position: absolute;
  bottom: 117px;
  left: 4.38%;
  width: 180px;
}
.footer-logo a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}



.footer_links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  box-sizing: border-box;
  z-index: 2;
  margin-bottom: 31px;
}

.footer_links_block {
  width: 26%;
  margin: 93px 2.5% 0px;
  padding-bottom: 30px;
  z-index: 3;
}

.footer_links_block .midashi {
  padding-bottom: 13px;
  margin-bottom: 6px;
  border-bottom: white 1px solid;
  font-size: 15px;/*701px以上*/
  font-weight: 500;
  line-height: 1em;
  color: white;
  width: calc(100% / 0.83);
  transform: scaleX(0.83);
  transform-origin: top left;
  letter-spacing: 0.15em;
  word-break: auto-phrase;
  text-wrap: balance;
}
.footer_links_block ol {
  list-style: none;
  display: flex;
  flex-direction: column;
}
.footer_links_block li {
  display: inline-block;
  width: fit-content;
}
.footer_links_block ol a {
  display: block;
  text-decoration: none;
  color: white;
  font-size: 15px;/*701px以上*/
  font-weight: 400;
  line-height: 1em;
  margin-top: 13px;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: bottom left;
  letter-spacing: 0.06em;
  width: fit-content;
  word-break: auto-phrase;
  text-wrap: balance;
}

.footer_links_block:nth-of-type(1) a:hover{
  color: #ffe457;
}
.footer_links_block:nth-of-type(2) a:hover{
  color: #04E3FF;
}
.footer_links_block:nth-of-type(3) a:hover{
  color: #ff90c0;
}
.footer_links_block:nth-of-type(4) a:hover{
  color: #96f196;
}
.footer_links_block:nth-of-type(5) a:hover{
  color: #ff8080;
}
.footer_links_block:nth-of-type(6) a:hover{
  color: #45b7ff;
}

/* たて100 ヨコ85 文字 */
@media screen and (max-width:850px) {
  .footer_links_block {
    width: calc(100% * (26 / 69));
    margin: calc(100% * ((5 / 69) / 2));
    z-index: 3;
  }
}

@media screen and (max-width:750px) {
  .footer-logo {
    width: 140px;
    left: 5.65%;
  }
}

@media screen and (max-width:700px) {
  .footer_links_block .midashi {
    font-size: 15px;
  }

  .footer_links_block ol a {
    font-size: 13px;
  }
}

@media screen and (max-width:580px) {
  .footer-logo {
    position: absolute;
    bottom: calc(100%*(5 / 69) + 17px);
    left: 4.38%;
    width: 140px;
  }
  .footer_links_block {
    width: calc(100% * (26 / 31));
    margin: 40px;
    z-index: 3;
  }
}
.instagram_w_icon{
  width: 34px;
  height: 34px;
  margin: 65px auto 8px;
  display: block;
  position: relative;
  z-index: 1;
}
.instagram_w_icon a{
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.local-bright-adress {
  position: relative;
  z-index: 1;
  line-height: 1em;
  margin-bottom: 6px;
  width: calc(100% - 30px);
  text-align: center;
  margin: 0px auto 8px;
}

.local-bright-adress div{
  color: #fff;
  font-size: 11px;
  font-weight: 400;
  text-align: center;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: top left;
  line-height: 24px;
  letter-spacing: 0.06em;
  word-break: auto-phrase;
  text-wrap: balance;
}

.copyright {
  position: relative;
  z-index: 1;
  width: calc(100% - 30px);
  text-align: center;
  margin: 0 auto 47.5px;
}

.copyright div{
  color: #fff;
  font-size: 12px;
  line-height: 1em;
  text-align: center;
  width: calc(100% / 0.85);
  transform: scaleX(0.84);
  transform-origin: top left;
  font-weight: 900;
  letter-spacing: 0.05em;
  word-break: auto-phrase;
  text-wrap: balance;
}























.page-header {
  width: 100%;
  height: min(50vw , 70vh);
  min-height: 30vw;
  max-height: 960px;
  position: relative;
  overflow: hidden;
  padding-bottom: max(0px , calc(7.8vw - 149.75px));
  box-sizing: border-box;
}
@media screen and (min-width:800px) {
  .page-header {
    height: min(40vw , 70vh);
  }
}
.page-header .satellite-text {
  position: absolute;
  top: calc(50% - 3.9vw);
  left: 50%;
  transform: translate(-50% , -50%);
  width: fit-content;
  height: min(12vw , 18vh);
  min-height: 7vw;
  max-height: 230.39px;
  /* transition: all 2s cubic-bezier(0.000, 1.000, 0.310, 0.950); */
  transition: all 1s cubic-bezier(0.000, 1.000, 0.50, 1);
}
@media screen and (max-width:500px) {
  .page-header .satellite-text {
    top: calc(50% - 0.88vw);
  }
}
.page-header .entry-satellite-text {
  top: 50%;
}
.page-header .satellite-text img {
  width: auto;
  height: 100%;
}
.page-header .page-planet-top {
  height: 7.8vw;
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
}
.page-header .page-planet-top .page-planet_body {
  top: 0;
  left: 50%;
  transform: translate(-50% , 0%) scale(1);
  border:  white 4px solid;
  position: absolute;
  width: 350vw;
  height: 350vw;
  border-radius: 50%;
  /* transition: all 2s cubic-bezier(0.000, 1.000, 0.310, 0.950); */
  transition: all 1s cubic-bezier(0.000, 1.000, 0.50, 1);
}
.page-header.start .satellite-text {
  top: calc(50% - 12vw);
}
.page-header.start .page-planet-top .page-planet_body {
  transform: translate(-50% , -10vw) scale(1.3);
}



main .main-content {
  width: 100%;
  /* padding: 90px 0; */
  padding: 90px 40px;
  margin-left: -40px;
}


main div.main-content > * {
  transition: all 1s ease;
  opacity: 1;
  top: 0px !important;
  position: relative;
}
main .main-content.pre-fadein > * {
  opacity: 0;
  top: 40px !important;
}

main .page-planet-bottom {
  height: 7.8vw;
  width: 100%;
  position: relative;
  overflow: hidden;
}
main .page-planet-bottom .page-planet_body {
  bottom: 0;
  left: 50%;
  transform: translate(-50% , 0%) scale(1);
  border:  white 4px solid;
  position: absolute;
  width: 350vw;
  height: 350vw;
  border-radius: 50%;
}


.member .page-header .page-planet-top .page-planet_body {
  background-color: #04E3FF;
}
.member main .main-content {
  background-color: #04E3FF;
}
.member main .page-planet-bottom .page-planet_body {
  background-color: #04e3ff;
}

.company .page-header .page-planet-top .page-planet_body {
  background-color: #ffe457;
}
.company main .main-content {
  background-color: #ffe457;
}
.company main .page-planet-bottom .page-planet_body {
  background-color: #ffe457;
}

.works .page-header .page-planet-top .page-planet_body {
  background-color: #ff90c0;
}
.works main .main-content {
  background-color: #ff90c0;
}
.works main .page-planet-bottom .page-planet_body {
  background-color: #ff90c0;
}

.story .page-header .page-planet-top .page-planet_body {
  background-color: #ff8082;
}
.story main .main-content {
  background-color: #ff8082;
}
.story main .page-planet-bottom .page-planet_body {
  background-color: #ff8082;
}

.news .page-header .page-planet-top .page-planet_body {
  background-color: #96f196;
}
.news main .main-content {
  background-color: #96f196;
}
.news main .page-planet-bottom .page-planet_body {
  background-color: #96f196;
}

.recruit .page-header .page-planet-top .page-planet_body {
  background-color: #45b9ff;
}
.recruit main .main-content {
  background-color: #45b9ff;
}
.recruit main .page-planet-bottom .page-planet_body {
  background-color: #45b9ff;
}

.content_whiteblock {
  max-width: 1000px;
  border: 20px;
  background-color: white;
  padding: 60px 40px;
  border-radius: 20px;
  box-sizing: border-box;
  width: calc(100% - 80px);
  margin: 0 auto;
}

#news .content_whiteblock{
  max-width: none;
  border: 20px;
  background-color: white;
  padding: 60px 40px;
  border-radius: 20px;
  box-sizing: border-box;
  width: 100%;
  margin: 0 auto;
  margin-top: 40px;
  padding-bottom: 20px;
}

.news_page_counter{
  display: flex;
  position: absolute;
  top: -35px;
  right: 2px;
}

.news_page_counter .page_counter_text{
  height: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.news_page_counter .page_counter_text > div {
  color: #1b1b1e;
  font-size: 11.5px;
  font-weight: 400;
  width: calc(100% / 0.825);
  transform: scaleX(0.825);
  transform-origin: bottom left;
  line-height: 20px;
  letter-spacing: 0.015em;
}

.news_page_counter .page_counter_bk{
  display: block;
  background-color: #000;
  padding: 0px 20px;
  border-radius: 30px;
  height: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
}

.news_page_counter .page_counter_bk > div{
  color: #FFFFFF;
  font-size: 11px;
  font-weight: 400;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: bottom left;
  display: inline-block;
  width: fit-content;
  margin-right: -0.73em;
  letter-spacing: 0.3em;
}

.post-block {
  width: 100%;
}
.post_name {
  height: 32px;
  box-sizing: border-box;
  border-bottom: 2px solid black;
  line-height: 1em;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 40px;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: bottom left;
  display: flex;
  flex-wrap: nowrap;
  word-break: auto-phrase;
}
.post_memberbox {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 100%;
}
.member_block {
  margin-bottom: 40px;
  max-width: 217px;
  width: calc((170 / 720) * 100%);
  cursor: pointer;
}
.member_block.not_point {
  cursor: auto;
  user-select: none;
  pointer-events: none;
}
.member_block-dmy {
  height: 0;
  max-width: 217px;
  width: calc((170 / 720) * 100%);
}
.member_photo {
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  border-radius: 4px;
  position: relative;
  margin-bottom: 10px;
  transition: all .3s cubic-bezier(0,0,.5,1);
}

.member_photo img {
  min-width: 100%;
  min-height: 100%;
  display: block;
}
.member_block:hover .member_photo {
	transform:scale(1.03);
}
.member_name {
  font-size: 15px;
  display: flex;
  align-items: flex-end;
  width: calc(100% / 0.85);
  padding-top: 5px;
  font-weight: bold;
  transform: scaleX(0.85);
  transform-origin: bottom left;
  word-break: auto-phrase;
  text-wrap: balance;
}
.member_post {
  font-size: 15px;
  width: calc(100% / 0.85);
  padding-top: 5px;
  transform: scaleX(0.85);
  transform-origin: bottom left;
  word-break: auto-phrase;
}

br.profile_space {
  display: block;
  content: "";
  height: 12px;
}
br.profile_block_space {
  display: block;
  content: '';
  margin-top: 16px;
  font-size: 13px;
  line-height: 26px;
}
br.profile_short_space {
  display: block;
  content: "";
  height: 0.65em;
}

@media screen and (max-width:750px) {
  .member_block {
    max-width: none;
    width: 31.677%;
  }
}
@media screen and (max-width:580px) {
  .member_block {
    width: 48.113%;
  }
}
@media screen and (max-width:400px) {
  .content_whiteblock {
    padding: 60px 30px;
  }
}

.top_news_whiteblock .post-content{
  border-bottom: 1px #252528 solid;
}

.top_news_whiteblock .post-content:first-of-type .post-date{
  margin-top: 0px;
}

.top_news_whiteblock .post-content a{
  text-decoration: none;
  color: #252528;
  cursor: pointer;
  padding-bottom: 30px;
  display: block;
  position: relative;
}

.top_news_more{
  width: 100%;
  text-align: center;
  margin: 20px auto 10px;
}

.top_news_more a {
  font-size: 14px;
  text-decoration: none;
  color: #252528;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: bottom left;
  cursor: pointer;
  display: block;
}


#back_member_popup {
  position: fixed;
  z-index: 500;
  top: 200vh;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: #00000000;
  transition: background-color .5s;
  will-change: filter;
  overflow: auto;
  /* -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px); */
}
#back_member_popup.back_member_popup-displayposition {
  top: 0;
}
#back_member_popup.back_member_popup-displayopacity {
  background-color: #000000aa;
}
.member_popup {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50% , -50%);
  width: calc(100% - 160px);
  max-width: 1000px;
  height: calc(100% - 160px);
  /* background-color: white; */
  border-radius: 20px;
  display: flex;
  overflow: hidden;
  opacity: 0;
  transition: opacity .5s;
}
.member_popup.member_popup-displayopacity {
  opacity: 1;
}
.btm_space {
  width: 100%;
  height: calc(40px - 0.3em);
}
.current_date {
  color: #fff;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.6em;
  width: calc((100% / 0.85) - (80px / 0.85));
  transform: scaleX(0.85) translateX(-50%);
  transform-origin: bottom left;
  position: absolute;
  left: 50%;
  bottom: calc(40px - 0.3em);
  text-align: center;
  word-break: auto-phrase;
  font-feature-settings: "palt";
}

.member .current_date {
  color: #282828;
}

@media screen and (min-width:751px) {
  .current_date {
    width: calc((100% / 0.85) - (40px / 0.85));
  }
}
.current_visual_date {
  width: calc((100% / 0.85) - 8px);
  transform: scaleX(0.85) translateX(-50%);
  bottom: calc(-30px + 0.3em);
}
.photo-block {
  position: relative;
  width: 50%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.photo-block .photo_control {
  position: relative;
  height: 100%;
  max-height: min(800px , calc(((100vw - 160px)/2)/0.625));
  width: auto;
}
.photo-block .photo_control > span:nth-of-type(1),.photo-block .photo_control > span:nth-of-type(2) {
  position: absolute;
  height: max(calc((100vh - 960px)/2 + 2px) , calc((100vh - 160px) - (((100vw - 160px)/2)/0.625))/2 + 2px);
  width: 100%;
  bottom: calc(100% - 1px);
  left: 0;
  background-size: 100% 100%;
  content: '';
  display: block;
}
.photo-block .photo_control > span:nth-of-type(2) {
  /* rotate: 180deg; */
  bottom: auto;
  top: calc(100% - 1px);
}
.photo-block .photo_control > span:nth-of-type(3),.photo-block .photo_control > span:nth-of-type(4) {
  position: absolute;
  height: 100%;
  width: min(calc((500px - (100vh - 160px))/2 + 2px) , calc((((100vw - 160px)/2) - (100vh - 160px))/2) + 2px);
  top: 0;
  left: calc(100% - 1px);
  background-size: 100% 100%;
  content: '';
  display: block;
}
.photo-block .photo_control > span:nth-of-type(4) {
  /* rotate: 180deg; */
  left: auto;
  right: calc(100% - 1px);
}
.photo-block .photo_control img {
  width: auto;
  height: 100%;
  position: relative;
}
.profile-block {
  position: relative;
  width: 50%;
  height: 100%;
  background-color: white;
  padding: 40px 40px 0 40px;
  box-sizing: border-box;
  overflow: auto;
}
.profile-block::after {
  content: '';
  display: block;
  height: 40px;
}
/* .profile-block::before {
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 0;
  height: 40px;
  background: linear-gradient(to bottom, #ffffff00, #ffffffff);
  z-index: 5;
} */
.name {
  padding-top: 20px;
  display: flex;
  flex-wrap: wrap;
  align-content: space-between;
  transition: all .3s;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: bottom left;
  position: sticky;
  top: -91px;
  z-index: 5;
  margin-right: -10000px;
}
.name_japanese,.name_post {
  font-size: 18px;
  line-height: 1em;
  width: 100%;
  opacity: 1;
  transition: all .3s;
  line-height: 1.7em;
  word-break: auto-phrase;
  text-wrap: balance;
}
.name_japanese {
  display: flex;
  align-items: end;
  width: 100%;
}
.name_english {
  font-size: 25px;
  line-height: 1em;
  width: 100%;
  font-weight: bold;
  line-height: 1.7em;
  word-break: auto-phrase;
  text-wrap: balance;
  padding: 20px 0;
  background-color: #ffffff;
}
@media screen and (min-width:751px) {
  .scrl-on .name_japanese,.scrl-on .name_post {
    opacity: 0;
    transition: all .1s;
  }
}
.profile {
  border-top: 40px solid white;
  box-sizing: border-box;
  transition: all .3s;
  position: relative;
  z-index: 4;
}

.profile > div > span {
  display: block;
  margin-top: 40px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1em;
  padding-bottom: 10px;
  border-bottom: solid 2px black;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: bottom left;
  word-break: auto-phrase;
  text-wrap: balance;
}
.profile > div:nth-of-type(1) > span {
  margin-top: 0;
}
.profile_profile > div {
  font-size: 13px;
  line-height: 26px;
  margin-top: 15px;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: bottom left;
  word-break: auto-phrase;
  text-wrap: balance;
}
.profile_profile > div > .bold ,
.profile_profile > div .bold {
  font-weight: bold;
}

.story_top_img {
  width: calc(100% + 80px);
  margin: 0 -40px;
  height: auto;
}
.story_top_img img {
  width: 100%;
  display: block;
}

.individual_story {
  margin-top: 20px;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: bottom left;
  position: relative;
}
.individual_story a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.story_date,.story_category {
  width: fit-content;
  display: inline-block;
  line-height: 1em;
  font-size: 12px;
  margin: 0;
  margin-bottom: 14px;
}
.story_title {
  font-size: 12px;
  line-height: 1.3em;
  font-weight: bold;
  word-break: auto-phrase;
  text-wrap: balance;
  margin: -3.6px 0;
}

.story_pages_name{
  padding-left: 5px;
}
.story .name{
  padding-top: 0px;
  display: flex;
  height: 0px;
  flex-wrap: wrap;
  align-content: space-between;
  transition: all .3s;
}

.story .story-box-text .name {
  padding-top: 0px;
  display: flex;
  height: 0px;
  flex-wrap: wrap;
  align-content: space-between;
  transition: all .3s;
  display: inline;
}

.story .next-to{
  width: 100px;
    height: 30px;
    display: block;
}

.news .next-to{
  width: auto;
}

[class^="individual_"] {
  padding-bottom: 14px;
  border-bottom: 1px solid black;
}
.more {
  width: fit-content;
  transform: scaleX(0.85);
  margin: 0 auto;
  font-size: 12px;
  line-height: 1em;
  margin-top: 30px;
  position: relative;
}
.more a{
  display: block;
  width: 110%;
  height: 110%;
  position: absolute;
  transform: translateY(-100%) translateX(-5%);
}
.individual_works {
  display: flex;
  margin-top: 20px;
  justify-content: space-between;
}
.works_image {
  width: 80px;
  overflow: hidden;
}
.works_image img {
  display: block;
  width: 150%;
  margin-left: -25%;
}
.profile_works .works_list  a {
  display: block;
  width: 100%;
  height: 87px;
  position: absolute;
  margin-top: -10px;
}
.works_text {
  display: flex;
  line-height: 2em;
  font-size: 12px;
  align-content: center;
  flex-wrap: wrap;
  width: calc(100% - 80px);
  box-sizing: border-box;
  padding-left: 20px;
}
.works_text > div {
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: bottom left;
}
.works_title {
  font-weight: bold;
}
.popup_close {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 20px;
  height: 20px;
}
.popup_close > div {
  position: relative;
}
.popup_close > div > div {
  position: absolute;
  padding: 10px;
  width: 20px;
  height: 20px;
  top: -10px;
  left: -10px;
  cursor: pointer;
}
.popup_close img {
  width: 100%;
  display: block;
}
@media screen and (max-width:750px) {
  #back_member_popup::before {
    height: 26px;
    width: 0;
    position: relative;
    display: block;
    content: '';
  }
  #back_member_popup::after {
    height: 104px;
    width: 0;
    position: relative;
    display: block;
    content: '';
  }
  .member_popup {
    position: relative;
    top: 0;
    transform: none;
    left: 0;
    width: calc(100vw - 52px);
    margin-left: 26px;
    height: auto;
    flex-wrap: wrap;
    overflow: visible;
  }
  .photo-block {
    width: 100%;
    height: auto;
    max-height: calc(50vh - 26px);
    border-radius: 20px 20px 0 0;
    overflow: hidden;
  }

  .photo-block .photo_control {
    position: relative;
    height: 100%;
    max-height: calc((100vw - 52px)/0.625);
  }
  .photo-block .photo_control > span:nth-of-type(1),.photo-block .photo_control > span:nth-of-type(2) {
    display: none;
  }
  .photo-block .photo_control > span:nth-of-type(3),.photo-block .photo_control > span:nth-of-type(4) {
    width: calc(((100vw - 52px) - (50vh - 26px))/2 + 2px);
  }
  .profile-block {
    width: 100%;
    height: auto;
    border-radius: 0 0 20px 20px;
    overflow: hidden;
  }
  .profile {
    padding-bottom: 0;
  }
  .member_popup .popup_close {
    height: calc(100% - 20px);
  }
  .member_popup .popup_close > div {
    height: 20px;
    top: 20px;
    right: 0;
    position: sticky;
  }
}





































.company_font_b {
  display: block;
  font-weight: 700;
  line-height: 1.7em;
  padding-bottom: calc(20px - 0.35em);
  text-wrap: balance;
}

.company .content_whiteblock {
  max-width: 1000px;
  border: 20px;
  background-color: white;
  padding: 0px 40px 30px;
  border-radius: 20px;
  box-sizing: border-box;
  width: calc(100% - 80px);
  margin: 0px auto 20px;
  overflow: hidden;
}

.company .content_whiteblock.companies_history {
  max-width: 1000px;
  border: 20px;
  background-color: white;
  padding: 0.1px 40px 30px;
  border-radius: 20px;
  box-sizing: border-box;
  width: calc(100% - 80px);
  margin: 0 auto 20px;
}

.company_text {
  margin-bottom: 5px;
  font-size: 16px;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: bottom left;
  line-height: 1.6em;
  margin-top: calc(26px - 0.3em);
  margin-bottom: calc(35px - 0.3em);
  word-break: auto-phrase;
}

.company_text:empty,.company_font_b:empty{
  display: none;
}

.company_text_box{
  margin-bottom: 30px;
}

.company_name {
  margin-bottom: 10px;
}

.company_block_wrap{
  width: 100%;
  display: flex;
}

.company-block {
  width: 50%;
  margin: 0 2.7%;
}


.square-bullet{
  font-size: 16px;
  display: block;
  margin-top: calc(16.5px - 0.6em);
  line-height: 1.6em;
  text-wrap: balance;
  word-break: auto-phrase;
  padding-left: 1.5em;
}
.square-bullet::before{
  content: "■";
  display: inline-block;
  transform: scaleX(calc(0.8 / 0.85)) scaleY(0.8) translateY(50%);
  line-height: 1em;
  position: absolute;
  left: -0em;
}
.square-bullet:has(.non_bullet)::before {
  display: none;
}

.number-bullet{
  font-size: 16px;
  display: block;
  margin-top: calc(16.5px - 0.6em);
  line-height: 1.6em;
  text-wrap: balance;
  word-break: auto-phrase;
  padding-left: 1.5em;
  width: calc((100% / 0.85) - 27px);
  transform: scaleX(0.85) translateX(3px);
  transform-origin: bottom left;
}
.number-bullet::before{
  font-size: 18px;
  display: inline-block;
  line-height: 1em;
  position: absolute;
  left: -0em;
  transform: translateY(0.2em);
}
.number-bullet:nth-of-type(1):before{
  content: "1. ";
}
.number-bullet:nth-of-type(2):before{
  content: "2. ";
}
.number-bullet:nth-of-type(3):before{
  content: "3. ";
}
.number-bullet:nth-of-type(4):before{
  content: "4. ";
}
.number-bullet:nth-of-type(5):before{
  content: "5. ";
}
.number-bullet:nth-of-type(6):before{
  content: "6. ";
}
.number-bullet:nth-of-type(7):before{
  content: "7. ";
}
.number-bullet:nth-of-type(8):before{
  content: "8. ";
}
.number-bullet:nth-of-type(9):before{
  content: "9. ";
}
.number-bullet:nth-of-type(10):before{
  content: "10. ";
}

.note-bullet{
  font-size: 16px;
  display: block;
  margin-top: calc(16.5px - 0.6em);
  line-height: 1.6em;
  text-wrap: balance;
  word-break: auto-phrase;
  padding-left: 1.5em;
  width: calc((100% / 0.85) - 27px);
  transform: scaleX(0.85) translateX(3px);
  transform-origin: bottom left;
}
.note-bullet::before{
  content: "※ ";
  font-size: 18px;
  display: inline-block;
  line-height: 1em;
  position: absolute;
  left: -0em;
  transform: translateY(0.15em);
}

.company .content_min_wrap{
  max-width: 1000px;
  border: 20px;
  box-sizing: border-box;
  width: calc(100% - 80px);
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}

.company .content_min_whiteblock{
  width: calc(50% - 90px);
  height: 280px;
  background-color: white;
  margin: 20px 0 0;
  border-radius: 20px;
  padding: 40px;
  position: relative;
  cursor: pointer;
}

.company .content_min_whiteblock button{
  all: unset;
}

.company .content_min_whiteblock .icon-plus_icon{
  opacity: 1;
  transition: opacity .3s;
  display: block;
  font-size: 21px;
  position: absolute;
  right: 25px;
  bottom: 22px;
}

.company .content_min_whiteblock .icon-plus_icon_hover{
  opacity: 0;
  transition: opacity .3s;
  display: block;
  font-size: 21px;
  position: absolute;
  right: 25px;
  bottom: 22px;
}

.company .content_min_whiteblock:hover .icon-plus_icon_hover{
  opacity: 1;
}

.company .min_long_whiteblock{
  width: 100%;
  height: 140px;
  margin-top: 40px;
  margin-bottom: 40px;
}

/* ローカルペンギンズ */
.company .penguins_whiteblock{
  width: 100%;
  height: auto;
  margin-top: 0px;
  margin-bottom: 40px;
  padding: 40px 40px 84px 40px;
}

.company .penguins_whiteblock  .min_title {
  font-size: min(34px, calc((100vw - 260px) * 0.053));
  font-weight: 900;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scaleX(0.85);
  width: calc(100% / 0.85);
  padding: 40px calc(40px / 0.85);
  box-sizing: border-box;
  text-align: start;
}
.company .penguins_img_wrap {
  max-width: 500px;
  margin: 0 auto;
}
.company .penguins_whiteblock span.company_font_b {
  margin-bottom: 25px;
}

/* ローカルペンギンズ_モーダル */
.company_popup.penguins .company_popup_text {
  height: calc(100% - 20px);
  padding-top: 20px;
}
.company_popup.penguins .company_popup_text img{
  object-fit: contain;
}





.company .min_long_whiteblock .min_title {
  font-size: 36px;
  font-weight: 900;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scaleX(0.85);
  width: calc(100% / 0.85);
  padding: 40px;
  box-sizing: border-box;
  text-align: center;
}

.company .title_wrap{
  width: 100%;
}

.company_top_img {
  width: calc(100% + 80px);
  margin: 0 -40px;
  height: auto;
}
.company_top_img img {
  width: 100%;
  display: block;
}

.company_block_title{
  width: 100%;
  text-align: center;
  font-size: 42px;
  font-weight: 900;
  line-height: 1em;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: bottom left;
  margin-top: 60px;
  margin-bottom: 58px;
  letter-spacing: 0.05em;
  text-wrap: balance;
  word-break: auto-phrase;
}

.company .purpose_text{
  font-size: 16px;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: bottom left;
  line-height: 1em;
  text-wrap: balance;
  word-break: auto-phrase;
}

.company_post{
  display: block;
  font-weight: 700;
  margin-top: calc(26px - 0.3em);
  margin-bottom: calc(16px - 0.3em);
  line-height: 1.7em;
  text-wrap: balance;
  word-break: auto-phrase;
}

.company .purpose_text .company_font_b{
  display: inline-block;
}

.company .min_title{
  font-size: min(34px , calc((100vw - 260px) * 0.053));
  font-weight: 900;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scaleX(0.85);
  width: calc(100% / 0.85);
  padding: 40px calc(40px / 0.85);
  box-sizing: border-box;
  text-align: start;
}


.company .histry_block_wrap{
  border-top: 2px solid #26262b;
  padding: 20px;
}

.company .histry_block-outer ul,
.company .histry_block-outer li{
  list-style: none;
}

.company .histry_date{
  display: block;
  font-size: 16px;
  line-height: 1em;
  margin-bottom: calc(10px - 0.3em);
  font-weight: 700;
  padding-top: 52px;
}

.histry_block{
  font-size: 14px;
  line-height: 1em;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: bottom left;
}

.histry_block{
  display: flex;
}

.histry_block::before{
  display: block;
  width: 120px;
  color: #262c2b;
  font-size: 35px;
  line-height: 1em;
  font-weight: 900;
  padding-top: 42px;
}
.histry_block_2018:first-of-type::before{
  content: "2018";
}
.histry_block_2019:first-of-type::before{
  content: "2019";
}
.histry_block_2020:first-of-type::before{
  content: "2020";
}
.histry_block_2021:first-of-type::before{
  content: "2021";
}
.histry_block_2022:first-of-type::before{
  content: "2022";
}
.histry_block_2023:first-of-type::before{
  content: "2023";
}
.histry_block_2024:first-of-type::before{
  content: "2024";
}

.histry_block_2018:nth-of-type(2)::before,
.histry_block_2019:nth-of-type(2)::before,
.histry_block_2020:nth-of-type(2)::before,
.histry_block_2021:nth-of-type(2)::before,
.histry_block_2022:nth-of-type(2)::before,
.histry_block_2023:nth-of-type(2)::before,
.histry_block_2024:nth-of-type(2)::before{
  content: "";
}

.histry_block_2018:nth-of-type(3)::before,
.histry_block_2019:nth-of-type(3)::before,
.histry_block_2020:nth-of-type(3)::before,
.histry_block_2021:nth-of-type(3)::before,
.histry_block_2022:nth-of-type(3)::before,
.histry_block_2023:nth-of-type(3)::before,
.histry_block_2024:nth-of-type(3)::before{
  content: "";
}

.histry-content{
  display: block;
  flex: 1;
  border-left: 1px solid #26262b;
  padding-left: 40px;
  position: relative;
  margin-bottom: -0.1px;
}

.histry-content .histry_text{
  line-height: 1.6em;
  word-break: auto-phrase;
}

.histry-content br {
  display: block;
  padding-top: 10px;
  content: "";
}

.histry-content::before{
  content: "";
  display: block;
  width: 15.6px;
  height: 15.6px;
  background-image: url(../img/company/circle.svg);
  background-repeat: no-repeat;
  transform: scaleX(calc(0.98 / 0.833));
  position: absolute;
  top: calc(46px + 0.5em);
  left: -7.8px;
}

.histry_block-outer:last-of-type .histry_block:last-of-type .histry-content::before{
  background-image: none;
}

@media screen and (max-width:700px) {
  .company_block_wrap {
    flex-wrap: wrap;
  }
  .company-block {
    width: 100%;
  }
  .company .content_min_whiteblock{
    width: 100%;
    height: 280px;
    padding: 40px;
  }
  .company .min_title{
    font-size: 34px;
  }
  .company .content_min_wrap{
    flex-wrap: wrap;
  }



  /* ローカルペンギンズ */
  .company .penguins_whiteblock {
    width: 100%;
    height: auto;
    margin-top: 0px;
    margin-bottom: 40px;
    padding: 40px 40px 84px 40px;
  }

  .company .penguins_whiteblock  .min_title {
    font-size: min(34px, calc((100vw - 260px) * 0.053));
    font-weight: 900;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scaleX(0.85);
    width: calc(100% / 0.85);
    padding: 40px calc(40px / 0.85);
    box-sizing: border-box;
    text-align: start;
  }
  .company .penguins_img_wrap {
    max-width: 500px;
    margin: 0 auto;
  }



  .histry_block::before{
    width: 88px;
    font-size: 25px;
    padding-top: 46px;
  }
  .histry-content {
    padding-left: 25px;
  }
  .pc-none{
    display: block;
  }
  .phone-none{
    display: none;
  }
  .post_name {
    flex-wrap: wrap;
  }
  span.works_name, span.works_client, span.works_date {
    display: contents;
    white-space: wrap;
    margin-bottom: 0.2em;
  }
  .story_pages_name{
    font-size: 11.5px;
    line-height: 21px;
  }
}

@media screen and (max-width:465px) {
  .company .histry_block_wrap {
    padding: 20px 10px;
  }
  .histry_block::before{
    width: 70px;
    font-size: 18px;
    padding-top: 50px;
  }
  .company .histry_date {
    font-size: 14px;
  }
  .histry-content {
    padding-left: 22px;
  }
  .company .min_title{
    font-size: calc((100vw - 160px) * 0.111);
  }
  .company .min_long_whiteblock .min_title {
    font-size: calc((100vw - 160px) * 0.111);
  }
  /* ローカルペンギンズ */
  .company .penguins_whiteblock {
    width: 100%;
    height: auto;
    margin-top: 0px;
    margin-bottom: 40px;
    padding: 40px 30px 104px 30px;
  }
}

@media screen and (max-width:380px) {
  .company .histry_block_wrap {
    padding: 20px 0px;
  }
  .histry-content .histry_text {
    line-height: 1.6em;
    word-break: break-all;
  }
}





/* google map */
.company_block_img{
  position: relative;
  height: 380px; /* 画面全体の高さ */
  overflow: hidden;
  width: calc(100% + 80px);
  margin: 0 -40px;
}

.company_block_img iframe {
  /* position: absolute; */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* width: calc(100% + 20px); */
  /* height: calc(100% + 340px); */
  border: 0;
  border-radius: 20px 20px 0 0;
  filter: grayscale(100%);
  transition: all 0.7s ease;
  /* position: absolute; */
  /* top: -10px; */
  /* left: -10px; */
  /* margin-top: -150px; */
}

.company_block_img iframe:hover {
  opacity: 0.8;
}

.company_block_img iframe:focus {
  border: none;
}

.company_text br{
  content: "";
  display: block;
}

a.blue_link_text{
  color: #00a5ff;
  text-decoration: none;
  text-wrap: balance;
  word-break: auto-phrase;
}

.company .companies_access {
  margin-top: 40px;
  margin-bottom: 0;
}




#back_company_popup {
  position: fixed;
  z-index: 500;
  top: 200vh;
  left: 0;
  width: 100vw;
  height: 100vh;
  height: 100%;
  background-color: #00000000;
  transition: background-color .5s;
  overflow: auto;
  /* -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px); */
  perspective: 1000;
}
#back_company_popup.back_company_popup-displayposition {
  top: 0;
  perspective: 1000;
}
#back_company_popup.back_company_popup-displayopacity {
  background-color: #000000aa;
  perspective: 1000;
}
#back_company_popup.back_company_popup-displayopacity:has( .local) {
  background-color: #000000da;
  perspective: 1000;
}
.company_popup {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50% , -50%);
  background-color: white;
  border-radius: 20px;
  display: flex;
  /* overflow: hidden; */
  opacity: 0;
  transition: opacity .5s;
  box-sizing: border-box;
  perspective: 1000;
}
.company_popup.company_popup-displayopacity {
  opacity: 1;
}

/* ローカルペンギンズのポップアップの文言*/
.company_popup.company_popup-displayopacity.penguins:after {
  content: "Official character";
  position: absolute;
  top: 40px;
  left: 40px;
  height: 1em;
  display: block;
  font-weight: 700;
  line-height: 1em;
  text-wrap: balance;
  width: fit-content;
  transform: scaleX(0.85);
  transform-origin: bottom left;
}





.company_popup_text img {
  max-width: 100%;
  max-height: 100%;
}
.company_popup_text img:nth-of-type(2) {
  display: none;
}
.company_popup_text img:nth-of-type(3) {
  display: none;
}
.company_popup {
  width: min(calc(100% - 160px) , calc((100vh - 160px)/0.75));
  max-width: 1000px;
}
.company_popup::before {
  content: '';
  display: block;
  position: relative;
  height: 0;
  width: 100%;
  padding-top: 75%;
}

/* ローカルペンギンズのポップアップ*/
.company_popup.penguins::before {
  content: '';
  display: block;
  position: relative;
  height: 0;
  width: 100%;
  padding-top: 80%;
}

.company_popup.local::before {
  display: none;
}
.company_popup .company_popup_text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50% , -50%);
  display: flex;
  justify-content: center;
  align-content: center;
}
.company_popup.purpose .company_popup_text {
  width: calc(100% * (509/800));
  height: calc(100% * (353/600));
}
.company_popup.vision .company_popup_text {
  width: calc(100% * (432/800));
  height: calc(100% * (296/600));
}
.company_popup.mission .company_popup_text {
  width: calc(100% * (609/800));
  height: calc(100% * (392/600));
}
.company_popup.value .company_popup_text {
  width: calc(100% * (583/800));
  height: calc(100% * (296/600));
}
.company_popup.local .company_popup_text {
  width: 100%;
  height: auto;
  position: static;
  display: block;
  transform: none;
}
.company_popup.local::before {
  display: none;
}

.company_popup .popup_close div div img:nth-of-type(2) {
  display: none;
}
.company_popup.local .popup_close div div img:nth-of-type(1) {
  display: none;
}
.company_popup.local .popup_close div div img:nth-of-type(2) {
  display: block;
}

.company_popup.local {
  position: relative;
  top: 0;
  left: 0;
  transform: none;
  padding: min(360px , max(calc((100vw - 584px)/2) , 80px)) 0;
  height: auto;
  flex-wrap: wrap;
  background: none;
  justify-content: center;
  width: 584px;
  max-width: calc(100vw - 160px);
  margin-left: max(80px , calc((100vw - 584px)/2));
}
.company_popup.local .popup_close {
  height: 20px;
  position: fixed;
  right: 20px;
  top: 20px;
}
.company_popup.local .popup_close > div {
  height: 20px;
  position: sticky;
  top: 80px;
  left: 0;
}



@media screen and (max-width:750px) {
  #back_company_popup::before,#back_company_popup::after {
    height: 26px;
    width: 0;
    position: relative;
    display: block;
    content: '';
  }
  .company_popup {
    width: min(calc(100% - 52px) , calc((100vh - 52px)/0.75));
    height: auto;
    padding: 80px 40px;
    position: relative;
    top: 0;
    left: 0;
    margin-left: max(calc((100vw - (100vw - 52px))/2) , calc((100vw - ((100vh - 52px)/0.75)))/2);
    transform: none;
  }
  .company_popup::before {
    display: none;
  }

  /* ローカルペンギンズのポップアップ*/
  .company_popup.penguins::before {
    display: none;
  }





  .company_popup .company_popup_text {
    position: static;
    transform: none;
    width: 100% !important;
    height: auto !important;
  }
  .company_popup.local {
    margin: -26px 0;
    margin-left: max(80px , calc((100vw - 584px)/2));
  }
  .company_popup:not(.local) .popup_close {
    width: 20px;
    height: 100%;
    position: absolute;
    right: 20px;
    top: 20px;
  }
  .company_popup:not(.local) .popup_close > div {
    height: 20px;
    position: sticky;
    top: 20px;
  }
  .company_popup_text img:nth-of-type(1) {
    display: none;
  }
  .company_popup_text img:nth-of-type(2) {
    display: none;
  }
  .company_popup_text img:nth-of-type(3) {
    display: block;
  }
}
@media screen and (max-width:570px) {
  .company_popup_text img:nth-of-type(1) {
    display: none;
  }
  .company_popup_text img:nth-of-type(2) {
    display: block;
  }
  .company_popup_text img:nth-of-type(3) {
    display: none;
  }
}
@media screen and (max-height:500px) {
  #back_company_popup::before {
    height: 26px;
    width: 0;
    position: relative;
    display: block;
    content: '';
  }
  #back_company_popup::after {
    height: 104px;
    width: 0;
    position: relative;
    display: block;
    content: '';
  }
  .company_popup {
    width: min(calc(100% - 52px) , calc((100vh - 52px)/0.75));;
  }
  .company_popup.local {
    margin: -26px 0;
    margin-left: max(80px , calc((100vw - 584px)/2));
  }
}































.page_top_text{
  width: calc(100% - 40px);
  max-width: calc(800px / 0.85);
  transform: scaleX(0.85) translateX(-50%);
  transform-origin: bottom left;
  text-align: center;
  margin-bottom: 65px;
  box-sizing: border-box;
  word-break: auto-phrase;
  text-wrap: balance;
  font-size: 17px;
  font-weight: 700;
  line-height: 2em;
  position: absolute;
  left: 50%;
}

.search-form {
  text-align: center;
  display: flex;
  gap: 5px;
  width: 85%;
  margin: 0 auto;
  justify-content: center;
}

.search-form div{
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 20px;
  border: 2px solid #1b1b1e;
  background-color: #FFFFFFB3;
  cursor: pointer;
  position: relative;
}

.search-form div:has(label){
  border: 0px solid #1b1b1e;
  background-color: #FFFFFF00;
  position: relative;
  top: 0.1em;
}

.search-form div:has(select)::after {
  content: "";
  display: block;
  background-image: url(../img/story/icon/down-icon.svg);
  background-repeat: no-repeat;
  width: 8.5px;
  height: 7.5px;
  position: absolute;
  transform: translateY(-50%);
  top: 52%;
  right: 10px;
}

option {
  display: block;
}

.search-form div *{
  line-height: 30px;
}

.story .story-box {
  max-width: 1000px;
  padding: 0;
  border-radius: 20px;
  box-sizing: border-box;
  width: 100%;
  height: auto;
  margin: 40px auto 20px;
  position: relative;
  box-sizing: border-box;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.story .story-box a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.story .story-box01{
  background-image: url(../img/story/page-001-yuichiro/story_001_img01.jpg);
}
.story .story-box02{
  background-image: url(../img/story/page-002-igarashi/story_002_img01.jpg);
}
.story .story-box03{
  background-image: url(../img/story/page-003-nakamura/story_003_img01.jpg);
}
.story .story-box04{
  background-image: url(../img/story/page-004-shoji/story_004_img01.jpg);
}
.story .story-box05{
  background-image: url(../img/story/page-005-takuto/story_005_img01.jpg);
}
.story .story-box06{
  background-image: url(../img/story/page-006-kuroi/story_006_img01.jpg);
}
.story .story-box07{
  background-image: url(../img/story/page-007-ogura/story_007_img01_v2.jpg);
}

.story-box .span,
.story--min-box .span{
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: calc(100% + 16px);
    height: calc(100% + 16px);
    box-sizing: border-box;
    border: 4px solid #FFFFFF;
    border-radius: 28px;
    opacity: 0;
    z-index: -1;
    transition: all .3s;
    cursor: pointer;
}

.story-box:hover .span,
.story--min-box:hover .span{
    opacity: 1;
    z-index: 1;

}

.story .bnr_shadow {
  height: 35%;
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  background: linear-gradient(#00000000 0%, #00000055 100%);
  border-radius: 0 0 20px 20px;
}

.story .story-box::after{
  content: "";
  display: block;
  width: 100%;
  padding-bottom: 45%;
  user-select: none;
  pointer-events: none;
}




.story .story-box-text-wrap {
  position: absolute;
  bottom: 0 !important;
  left: 0 !important;
  width: 100%;
  background: linear-gradient(#00000000 0%, #00000055 100%);
  bottom: calc(32px - (24px * 0.3));
  left: 30px;
  padding-bottom: calc(32px - (24px * 0.3));
  padding-right: 30px;
  padding-left: 30px;
  padding-top: 40px;
  box-sizing: border-box;
  border-radius: 0 0 20px 20px;
}






/* .story-box-text-wrap{
  position: absolute;
  bottom: calc(32px - (24px * 0.3));
  left: 30px;
} */

.story-box-text{
  font-size: 12px;
  font-weight: 900;
  color: #fff;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: top left;
  line-height: 1em;
  margin-bottom: calc(12px - 0.6em);
}

.story-box-title{
  font-size: 24px;
  font-weight: 900;
  color: #fff;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: top left;
  line-height: 1.6em;
  word-break: auto-phrase;
  text-wrap: balance;
}










/* Story記事の一覧ページの表示を２カラムにする。 */
.story .story-column-base{
  max-width: 1000px !important;
}
.story .story-column{
  display: flex;
  max-width: 1000px;
  padding: 0;
  border-radius: 20px;
  box-sizing: border-box;
  width: calc(100% - 80px);
  height: auto;
  margin: 40px auto 20px;
  position: relative;
  box-sizing: border-box;
  gap: 40px;
}
.story .story-column .story-box{
  margin: 0 auto !important;
  height: 100%;
}
.story .story-column .story-box::after {
  content: "";
  display: block;
  width: 100%;
  padding-bottom: 100%;
  user-select: none;
  pointer-events: none;
}
.story .story-column .story-box-title {
  font-size: 18px;
  font-size: clamp(12px, 1.6vw, 18px);
  font-weight: 900;
  line-height: 1.6em
}
.story .search-form-story {
  text-align: center;
  display: flex;
  gap: 5px;
  width: 85%;
  margin: 0 auto;
  justify-content: center;
}
.story .search-form-story label:first-of-type {
  font-size: 15px;
  font-weight: 700;
  width: fit-content;
  transform: scaleX(0.85);
  transform-origin: top center;
}








.search-form div:first-of-type{
  display: flex;
  align-items: center;
  justify-content: center;
}

.search-form label{
  font-size: 15px;
  font-weight: 700;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: top center;
}

.search-form select {
  text-align: center;
  all: unset;
  padding: 0 15px 0 10px;
  font-size: clamp(13px, 3.2vw, 15px);
  line-height: 34px;
  font-weight: 700;
  min-width: 115px;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: top center;
  word-break: auto-phrase;
  text-wrap: balance;
}

.search-form select option{
  max-width: 40px;
}

.recruit_position_wrap{
  display: flex;
}

.recruit_position_item01{
  margin: -60px 0 -60px -40px;
  width: calc(50% + 40px);
  border-radius: 20px 0 0 20px;
  overflow: hidden;
}

.recruit_position_item01 img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.recruit_position_item02{
  padding-left: min(11%, 40px) ;
  width: 50%;
  box-sizing: border-box;
}

.recruit_position_item02_post_name{
  font-size: min(29px,7vw);
  font-weight: 900;
  line-height: 1.6em;
  margin-top: -0.3em;
  margin-bottom: calc(35px - 0.3em);
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: top left;
  text-wrap: balance;
}

.recruit_position_item02_details_title{
  font-size: 16px;
  font-weight: 700;
  padding-bottom: 10px;
  border-bottom: 2px solid #26262b;
  margin-bottom: 20px;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: top left;
  word-break: auto-phrase;
  text-wrap: balance;
}

.recruit_position_item02_working_status,
.recruit_position_item02_working_details{
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: top left;
}

.recruit_position_item02_working_details_text li{
  width: calc((100% / 0.85) - 1.5em);
  transform: scaleX(0.85);
  transform-origin: top left;
}

.recruit_position_item02_working_status,
.recruit_position_item02_working_details{
  font-weight: 700;
}

.recruit_position_item02_working_details_text ul,
.recruit_position_item02_working_details_text li{
  list-style: none;
}

.recruit_position_item02_working_details_text ul{
  margin: 5px 0;
}

.recruit_position_item02_working_details_text li::before{
  content: "・";
}

.recruit .content_whiteblock {
  position: relative;
}

.recruit .content_whiteblock button {
  all: unset;
}

.recruit .content_whiteblock .icon-plus_icon_hover {
  opacity: 0;
  transition: opacity .3s;
  display: block;
  font-size: 21px;
  position: absolute;
  right: 25px;
  bottom: 22px;
}

.recruit .content_whiteblock .icon-plus_icon {
  opacity: 1;
  transition: opacity .3s;
  display: block;
  font-size: 21px;
  position: absolute;
  right: 25px;
  bottom: 22px;
}

.recruit .content_whiteblock:hover .icon-plus_icon_hover{
  opacity: 1;
}

span.post_name_note {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 5px;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: top left;
  word-break: auto-phrase;
  text-wrap: balance;
  line-height: 1em;
  display: block;
}

@media screen and (max-width:1080px) {
    .story .story-box {
      max-width: 1000px;
      border-radius: 20px;
      box-sizing: border-box;
      width: calc(100% - 80px);
      height: auto;
      margin: 40px auto 20px;
      position: relative;
      box-sizing: border-box;
      background-repeat: no-repeat;
      background-size: cover;
  }
}

@media screen and (max-width:1000px) {
    .search-form {
      text-align: center;
      display: flex;
      gap: 5px;
      width: calc(100% - 80px);
      margin: 0 auto;
      justify-content: center;
  }

  .search-form select{
    text-align: center;
    all: unset;
    padding: 0 15px 0 10px;
    font-size: clamp(13px, 3.2vw, 15px);
    line-height: 34px;
    font-weight: 700;
    min-width: 85px;
    width: calc(100% / 0.85);
    transform: scaleX(0.85);
    transform-origin: top center;
  }
}

@media screen and (max-width: 750px) {
  .search-form {
    text-align: center;
    display: flex;
    gap: 5px;
    width: calc(100% - 100px);
    margin: 0 auto;
    justify-content: center;
}

  .story .story-box::after {
    content: "";
    display: block;
    width: 100%;
    padding-bottom: 100%;
  }

  .search-form div:first-of-type {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 1000vh;
  }

  .news .search-form div:first-of-type {
    position: relative;
    top: 0.1em;
  }

  .search-form select {
    min-width: 80px;
  }

  .company .min_long_whiteblock {
    margin-top: 40px;
    margin-bottom: 40px;
  }
}

.page-top-text-wrap{
  width: 100%;
  text-align: center;
}

.page-top-text{
  padding: 0.25em 1em;
  background-color: #000;
  border-radius: 4px;
  color: #fff;
  margin: 0 auto;
  margin-bottom: 30px;
  display: inline-flex;
  transform: scaleX(0.85);
  transform-origin: top center;
  line-height: 30px;
}

.page-top-text .date {
  margin-right: 0.2em;
}

.page-top-text .name {
  margin-left: 0.2em;
}

.page-top-title{
  width: calc(100% - 60px);
  text-align: center;
  margin: 0 auto;
  margin-bottom: 40px;
  word-break: auto-phrase;
  text-wrap: balance;
}

.page-top-title,
.page_top_text,.visual_date{
  color: #fff;
}

.page-top-title span{
  font-size: 34px;
  font-weight: 900;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: top left;
  display: inline-block;
  text-wrap: balance;
  word-break: auto-phrase;
}

.story .company_block_img{
  position: relative;
  height: auto;
  overflow: hidden;
}

.story .company_block_img01 {
  background-image: url(../img/story/page-001-yuichiro/story_001_img01.jpg);
  background-position: center;
  background-size: cover;
}

.story .content_whiteblock {
  max-width: 1000px;
  width: calc(100% - 80px);
  border: 20px;
  background-color: white;
  padding: 0px 40px 60px;
  border-radius: 20px;
  box-sizing: border-box;
  margin: 0 auto;
  overflow: hidden;
}

.heading-title,.story h1 {
  padding-bottom: 18px;
  color: #26262b;
  font-size: 22px;
  font-weight: 900;
  border-bottom: 2px solid #252528;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: top left;
  line-height: 1.6em;
  text-wrap: balance;
  word-break: auto-phrase;
}

.heading-min-title,.story h3 {
  margin-top: 38px;
  font-size: 18px;
  font-weight: 700;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: top left;
  line-height: 1.6em;
  text-wrap: balance;
  word-break: auto-phrase;
}

.heading-text,.story h5,.story p:not(:has(.alignnone)) {
  font-size: 14px;
  margin-top: 18px;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: top left;
  line-height: 2em;
  font-weight: 400;
  text-align: justify;
}

.pages-img-02,
.pages-img-03,
.pages-img-04,
.story p:has(.alignnone) {
  margin: calc(20px + 2em) 0;
  width: 100%;
}

.heading-space{
  margin-top: 140px;
}

.min-title-space{
  content: "";
  display: block;
  height: 15px;
}

.pages-pager {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-top: min(5.8%, 60px);
}

.pages-pager > div{
  display: flex;
  justify-content: center;
  width: calc(100% - 40px);
  max-width: min(60%, 750px);
}

.story_page .next-to,.story_page .other-to,.story_page .prev-to{
  width: max(10%, 105px);
    height: 30px;
    margin-right: 1%;
    margin-left: 1%;
}

.story_page .other-to{
  width: max(13.8%, 140px);
}

/* 一覧用ページャー */
.news-pager,
.story-pager{
  display: flex;
  gap: 1.2vw;
  justify-content: center;
  margin: 0 auto;
  margin-top: 80px;
  gap: 10px;
}

li.pager-pager-dotted{
  position: relative;
  top: 2px;
}

.news-pager *,
.story-pager *{
  all: unset;
}

.news-pager ul,.news-pager li,
.story-pager ul,.story-pager li{
  list-style: none;
  text-decoration: none;
}

.news-pager [class^="icon-"]::before,
.story-pager [class^="icon-"]::before{
  font-size: 28px;
}

.news-pager span,
.story-pager span{
  display: block;
  width: 28px;
  height: 28px;
  background: #ffffff00;
  padding: 0.1em;
  border-radius: 30px;
  border: #1b1b1e00 solid 2px;
  color: #1b1b1e;
  transition: all .3s;
  cursor: pointer;
  position: relative;
}

.news-pager span > span,
.story-pager span > span{
  display: block;
  width: 28px;
  height: 28px;
  background: none;
  padding: 0;
  border: none;
  color: #1b1b1e;
  position: absolute;
  top: 50%;
  left: calc(50% + 1px);
  transform: translate(-50% , -50%);
  line-height: 28px;
  text-align: center;
  pointer-events: none;
  font-weight: bold;
}

.news-pager span:hover,
.story-pager span:hover{
  border: #1b1b1e solid 2px;
  background: #ffffff;
}

.news-pager span > span:hover,
.story-pager span > span:hover{
  border: none;
  background: none;
}

.news-pager .pager-now span,
.story-pager .pager-now span{
  border: #1b1b1e solid 2px;
  background: #ffffff;
}

.news-pager .pager-now span > span,
.story-pager .pager-now span > span{
  border: none;
  background: none;
}





.story-min-wrap{
  display: flex;
  justify-content: center;
  max-width: 1000px;
  width: calc(100% - 80px);
  margin: 40px auto;
}

.story--min-box{
  width: 47.5%;
  margin-right: 5%;
  position: relative;
}

.story--min-box img{
  border-radius: 20px;
  display: block;
}

.story--min-box:nth-of-type(2){
  margin-right: 0px;
}

@media screen and (min-width: 701px) {
  .heading-title,.story h1 {
    padding-bottom: 20px;
    color: #26262b;
    font-size: 24px;
    font-weight: 900;
    border-bottom: 2px solid #252528;
    width: calc(100% / 0.85);
    transform: scaleX(0.85);
    transform-origin: top left;
    line-height: 1.6em;
    text-wrap: balance;
    word-break: auto-phrase;
  }
  
  .heading-min-title,.story h3 {
    margin-top: 40px;
    font-size: 18px;
    font-weight: 700;
    width: calc(100% / 0.85);
    transform: scaleX(0.85);
    transform-origin: top left;
    line-height: 1.6em;
    text-wrap: balance;
    word-break: auto-phrase;
  }
  
  .heading-text,.story h5,.story p:not(:has(.alignnone)) {
    font-size: 16px;
    margin-top: 20px;
    width: calc(100% / 0.85);
    transform: scaleX(0.85);
    transform-origin: top left;
    line-height: 2em;
    font-weight: 400;
    /* text-wrap: balance; */
    text-align: justify;
  }
}

.news .content_whiteblock{
  margin-top: 60px;
}

.post-date{
  display: flex;
  padding-top: 30px;
}

.post-date:farst-of-type{
  margin-top: 0px;
}

.post-date .cate{
  width: 134px;
  min-width: 100px;
  height: 17px;
  text-align: center;
  background-color: #000;
  margin-right: 9.5px;
  display: flex;
  align-items: center;
  border-radius: 20px;
}

.post-date .cate span {
  color: #b3ffb5;
  line-height: 1em;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: top center;
  font-size: 9.6px;
  font-weight: 700;
  letter-spacing: 0.1em;
  display: block;
}

.post-date .date{
  width: calc(100% / 0.85);
  transform: scaleX(0.8);
  transform-origin: top left;
  font-size: 11px;
  font-weight: 500;
  position: relative;
  top: 1.5px;
  letter-spacing: 0.08em;
}

.post-text {
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: top left;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.45em;
  margin-top: 14px;
  word-break: auto-phrase;
}

.news_modal .post-text{
  width: calc(calc(100% / 0.85) - 130px);
  padding-right: 20px;
}
.news_link .post-text{
  width: calc(calc(100% / 0.85) - 130px);
  padding-right: 20px;
}

.news_modal .post-text,
.news_link .post-text{
  position: relative;
}

.link_icon{
  position: absolute;
  top: 50%;
  right: 18px;
  transform: translateY(-50%);
  display: flex;
}

.news_link .link_icon_text,
.news_modal .link_icon_text {
  display: block;
  color: #00a5ff;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: top left;
  font-size: 17px;
  font-weight: 500;
  letter-spacing: 0.03em;
  transition: background-image .3s;
  line-height: 32px;
}

.news_link .link_icon_text{
  color: #00a5ff;
}

.news_modal .link_icon_text {
  color: #1b1b1e;
}

.news_link .link_icon_arrow,
.news_modal .link_icon_plus{
  display: block;
  font-weight: 500;
  letter-spacing: 0.03em;
  font-size: 23.6px;
  position: relative;
  top: 4.0px;
}

.news_link .link_icon_arrow_hover,
.news_modal .link_icon_plus_hover {
  position: absolute;
  top: 4.05px;
  right: 0px;
  display: block;
  font-weight: 500;
  letter-spacing: 0.03em;
  opacity: 0;
  transition: opacity .3s;
  font-size: 23.5px;
}

.news_link:hover .link_icon_arrow_hover,
.news_modal:hover .link_icon_plus_hover {
  opacity: 1;
}


@media screen and (max-width: 750px) {
  .news .post-content a {
    padding-bottom: 20px;
  }
  .news_link .post-text{
    width: calc((100% / 0.85) - 105px);
    padding-right: 0px;
  }
  .news_modal .post-text{
    width: calc((100% / 0.85) - 117.35px);
    padding-right: 0px;
  }

  .news .post-content {
    border-bottom: 1px #252528 solid;
  }
}

.news .post-content{
  border-bottom: 1px #252528 solid;
}

.news .post-content a{
  text-decoration: none;
  color: #252528;
  cursor: pointer;
  display: block;
  padding-bottom: 30px;
  position: relative;
}

.post-content a:not([href]):not(.news_modal) {
  cursor: default !important;
}

.news .post-content:first-of-type .post-date{
  margin-top: 0px;
  padding-top: 0px;
}









.works_text_wrap{
  display: flex;
  gap: 5.556%;
}

.works_text_box {
  margin-bottom: 30px;
  width: 47.222%;
}

.works .post_name {
  height: auto;
  min-height: calc(32px + 1.35em);
  flex-wrap: wrap;
  padding-bottom: 0.4em;
}

span.works_name,
span.works_client,
span.works_date{
  display: block;
  white-space: wrap;
  margin-bottom: 0.2em;
  line-height: 1.35em;
}

.works .post_name span.works_client {
  font-size: 17px;
  position: relative;
  top: 1px;
  margin-right: 7px;
}

.works .post_name .works_vertical_ine{
  font-size: 14.5px;
  position: relative;
  font-weight: 900 !important;
  top: 2.5px;
  margin-right: 4.5px;
}

.works .post_name span.works_date{
  font-weight: 600;
}

span.works_name{
  flex: 1 0 100%;
  max-width: 100%;
  word-wrap: break-word;
}

span.works_date{
  padding-left: 5px;
}

.works_text_box:nth-of-type(1) .phone-none {
  display: none;
}


.design_works_text span.works_client,
.design_works_text span.works_date{
  display: inline;
  white-space: nowrap;
  margin-bottom: 0.2em;
  line-height: 0em;
}

.design_works_text span.works_client {
  font-size: 12px;
  font-weight: 500;
  vertical-align: 0.1px;
}

.design_works_text span.works_date{
  font-size: 13.2px;
}

.works_contents_text{
  font-size: 12px;
  line-height: 25px;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: top left;
  text-align: justify;
  height: auto;
  overflow: hidden;
  position: relative;
}

.works .text-input{
  width: 100%;
  height: 0;
  overflow: hidden;
}
.works .text-input::after{
  content: "　";
  /* content: "Read More +";
  font-size: 14px;
  text-decoration: none;
  color: #252528;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: bottom left;
  cursor: pointer;
  display: inline-block;
  text-align: center;
  margin-top: 10px; */
}

.works .text-input-span{
  font-size: 14px;
  line-height: 25px;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: top left;
  text-align: justify;
}

.works_contents_text01, .works_contents_text02 {
  position: relative;
  overflow: hidden;
}
.contents_text_inner01, .contents_text_inner02 {
  position: absolute;
  width: 100%;
  font-size: 14px;
  line-height: 25px;
}

.works_image_item {
  padding-bottom: 2.7778%;
}

.words_creater_box{
  margin-top: 13.5px;
}

.words_creater_box .creater_name{
  font-size: 12px;
  font-weight: 400;
  line-height: 1em;
  margin-bottom: 10px;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: top left;
  text-wrap: balance;
  word-break: auto-phrase;
}

.works_award_name{
  font-size: 12px;
  font-weight: 400;
  line-height: 1em;
  margin-top: 2em;
  margin-bottom: 10px;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: top left;
  text-wrap: balance;
  word-break: auto-phrase;
}

.words_creater_box .creater_name:last-of-type{
  margin-bottom: -18px;
}

/* .words_creater_box .creater_name .creater_post::after{
  content: " : ";
} */

.works_list_link{
  max-width: 118px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 20px;
  border: 2px solid #1b1b1e;
  background-color: #FFFFFFB3;
  cursor: pointer;
  position: relative;
  margin: 74px auto 0;
}

.works_list_link a {
  margin-right: 5px;
  padding: 0em 10px;
  all: unset;
  font-size: 15px;
  font-weight: 700;
  min-width: 100px;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: top center;
  text-align: center;
}

.content_whiteblock:has(.works_list_content){
  padding: 20px 40px 35px;
}

.design_wrap .design_wrap_title{
  font-size: 35px;
  font-weight: 900;
  text-align: center;
  margin: 0 auto;
  padding: 40px 0;
  border-bottom: 2px #000 solid;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: top left;
  letter-spacing: 0.1em;
  word-break: auto-phrase;
  text-wrap: balance;
}

.disign_contents{
  display: flex;
  margin-top: 24px;
  padding-bottom: 10px;
  border-bottom: 2px #000 solid;
}

.disign_contents:last-of-type{
  border-bottom: 0px #000 solid;
}

.disign_contents .design_type {
  /* width: 34.2%; */
  width: calc(34.2% - 20px);
  margin-right: 20px;
}

.disign_contents .design_type .design_type_name{
  font-size: 24px;
  font-weight: 700;
  margin-top: -0.35em;
  line-height: 1.4em;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: top left;
  letter-spacing: 0.1em;
  word-break: auto-phrase;
  text-wrap: balance;
}

.disign_contents .design_type .design_type_min_name{
  font-size: 15px;
  font-weight: 400;
  line-height: 1em;
  margin-top: 8px;
  display: block;
  word-break: auto-phrase;
  text-wrap: balance;
}

.disign_contents .design_works{
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 0px 20px;
}

.design_works .design_works_item{
  width: calc(50% - 10px);
  margin-bottom: 28px;

}

.design_works_image{
  /* border-radius: 4px; */
  margin-bottom: 10px;
  /* overflow: hidden; */
  position: relative;
  transition: all .3s cubic-bezier(0,0,.5,1);
  z-index: 5;
  height: auto;
}
.design_works_image a {
  position: relative;
  display: block;
}
.design_works_image a::after {
  content: '';
  display: block;
  width: 100%;
  height: 44.2px;
  position: relative;
  margin-bottom: -44.2px;
  pointer-events: all;
}

.design_works_image img {
  min-width: 100%;
  min-height: 100%;
  display: block;
  border-radius: 4px;
}
.design_works_image:hover {
	transform:scale(1.03);
}

.design_works .design_works_name{
  font-size: 14px;
  font-weight: 700;
  line-height: 1em;
  margin-bottom: 7px;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: top left;
  word-break: auto-phrase;
  text-wrap: balance;
}

.design_works .design_works_text{
  font-size: 13.2px;
  font-weight: 400;
  line-height: 1em;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: top left;
  word-break: auto-phrase;
  text-wrap: balance;
}

.design_works .design_works_text .works_client::after{
  content: " | ";
  font-size: 10.5px;
  font-weight: 900;
  position: relative;
  top: -1.5px;
  margin-right: -2px;
}

button.sp_text_open {
  all: unset;
  font-size: 14px;
  text-decoration: none;
  color: #252528;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: bottom left;
  cursor: pointer;
  display: none;
  text-align: center;
  margin-bottom: 40px;
}

.recruit .content_whiteblock {
  max-width: 1000px;
  border: 20px;
  background-color: white;
  padding: 70px 40px 60px;
  border-radius: 20px;
  box-sizing: border-box;
  width: calc(100% - 80px);
  margin: 40px auto 20px;
}

.recruit .page_top_whiteblock {
  max-width: 1000px;
  border: 20px;
  background-color: white;
  padding: 0px 40px 30px;
  padding-top: 0 !important;
  border-radius: 20px;
  box-sizing: border-box;
  width: calc(100% - 80px);
  margin: 0px auto 20px;
  overflow: hidden;
}

.recruit .content_whiteblock:has(.recruit_position_wrap) {
  margin: 40px auto 0px;
  padding: 60px 40px;
  overflow: hidden;
}

.recruit .company_block_img {
  position: relative;
  height: auto;
  overflow: hidden;
  width: calc(100% + 80px);
  background-size: cover;
  margin-left: -40px;
  border-radius: 20px 20px 0 0;
}

.recruit .company_block_img01 {
  background-image: url(../img/recruit/office_photo.jpg);
}

.recruit .company_block_img::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 47.5%;
}

.recruit_block_title{
  width: 100%;
  text-align: center;
  font-size: 38px;
  font-weight: 900;
  line-height: 1em;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: bottom left;
  letter-spacing: 0.05em;
  word-break: auto-phrase;
  text-wrap: balance;
}

#back_recruit_popup {
  position: fixed;
  z-index: 500;
  top: 200vh;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: #00000000;
  transition: background-color .5s;
  will-change: filter;
  overflow: auto;
}
#back_recruit_popup.back_recruit_popup-displayposition {
  top: 0;
}
#back_recruit_popup.back_recruit_popup-displayopacity {
  background-color: #000000aa;
}
.recruit_popup {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50% , -50%);
  width: min(calc(100% - 160px), calc((100vh - 160px) / 0.64));
  max-width: 1000px;
  height: calc(100% - 160px);
  background-color: white;
  border-radius: 20px;
  display: block;
  overflow: hidden;
  opacity: 0;
  transition: opacity .5s;
  padding: 60px 40px;
  box-sizing: border-box;
}

.recruit_popup .recruit_popup_content{
  width: 94.6%;
  height: 100%;
  overflow-y: scroll;
  position: relative;
  margin: 0 auto;
}

.recruit_popup.recruit_popup-displayopacity {
  opacity: 1;
}
.recruit_popup_name_box {
  display: flex;
  margin: 0 2.7%;
}
.recruit_popup_postname {
  margin-top: 0px;
  position: relative;
  left: -1px;
  margin-bottom: 40px;
}

.recruit_position_item02_working_details_text ul{
  margin: calc(15px - 0.3em) 0 15px;
}

.square-bullet:not(:empty)::before {
  content: "■";
  display: inline-block;
  transform: scaleX(calc(0.8 / 0.85)) scaleY(0.8) translateY(50%);
  line-height: 1em;
  position: absolute;
  left: -0em;
}

.recruit_popup li:empty {
  display: none;
}

.recruit_text{
  font-size: 16px;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: bottom left;
  line-height: 1.6em;
  margin-top: calc(26px - 0.3em);
  margin-bottom: calc(0px - 0.3em);
  word-break: auto-phrase;
}

.recruit_popup .shitasen {
  height: 32px;
  box-sizing: border-box;
  border-bottom: 2px solid black;
  line-height: 1em;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 30px;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: bottom left;
  display: flex;
  word-break: auto-phrase;
}
.recruit_popup .shikaku {
  font-size: 16px;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: bottom left;
  line-height: 1.6em;
  word-break: auto-phrase;
  font-weight: bold;
}
.recruit_popup .normal {
  font-size: 16px;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: bottom left;
  line-height: 1.6em;
  margin-bottom: calc(35px - 0.3em);
  word-break: auto-phrase;
}
.recruit_popup .nowarp {
  display: inline-block;
}
.recruit_campaign {
  overflow: hidden;
  max-width: 1000px;
  border-radius: 20px;
  box-sizing: border-box;
  width: calc(100% - 80px);
  margin: 0 auto;
  margin-top: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.recruit_campaign img {
  width: 100%;
  height: auto;
  display: block;
}
@media screen and (max-width: 750px) {
  .recruit_campaign {
    width: calc(100vw - 40px);
    height: calc(100vw - 40px);
  }
  .recruit_campaign img {
    width: auto;
    height: 100%;
  }
}



.news .content_whiteblock {
  max-width: 1000px;
  border: 20px;
  background-color: white;
  padding: 70px 40px 60px;
  border-radius: 20px;
  box-sizing: border-box;
  width: calc(100% - 80px);
  margin: 40px auto 20px;
}

.news .content_whiteblock:first-of-type {
  max-width: 1000px;
  border: 20px;
  background-color: white;
  padding: 0px 40px 30px;
  border-radius: 20px;
  box-sizing: border-box;
  width: calc(100% - 80px);
  margin: 0px auto 20px;
}

.news .content_whiteblock:has(.news_position_wrap) {
  margin: 40px auto 0px;
  padding: 60px 40px;
  overflow: hidden;
}

.news .company_block_img {
  position: relative;
  height: auto;
  overflow: hidden;
  width: calc(100% + 80px);
  background-size: cover;
  margin-left: -40px;
  border-radius: 20px 20px 0 0;
}

.news .company_block_img01 {
  background-image: url(../img/news/news_top_v2.jpg);
}

.news .company_block_img::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 47.5%;
}

.news_block_title{
  width: 100%;
  text-align: center;
  font-size: 38px;
  font-weight: 900;
  line-height: 1em;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: bottom left;
  letter-spacing: 0.05em;
}

#back_news_popup {
  position: fixed;
  z-index: 500;
  top: 200vh;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: #00000000;
  transition: background-color .5s;
}
#back_news_popup.back_news_popup-displayposition {
  top: 0;
}
#back_news_popup.back_news_popup-displayopacity {
  background-color: #000000aa;
}
.news_popup {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50% , -50%);
  width: min(calc(100% - 160px), calc((100vh - 160px) / 0.64));
  max-width: 1000px;
  height: auto;
  max-height: calc(100% - 160px);
  background-color: white;
  border-radius: 20px;
  display: block;
  overflow: scroll;
  opacity: 0;
  transition: opacity .5s;
  padding: 60px 40px;
  box-sizing: border-box;
}
.news_popup.news_popup-displayopacity {
  opacity: 1;
}
.news_popup_postname {
  font-size: min(33.2px , 7vw);
  font-weight: 800;
  line-height: 1em;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: top left;
  letter-spacing: 0.0025em;
  margin-top: 0px;
  position: relative;
  left: -1px;
}

.recruit_text_box{
  margin-bottom: 30px;
}

.news_popup_postdetail-title {
  color: #26262b;
  font-size: 16px;
  font-weight: 600;
  line-height: 1em;
  padding-bottom: 8px;
  margin-top: 30px;
  margin-bottom: 18px;
  border-bottom: 2px solid #26262b;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: top left;
  letter-spacing: 0.13em;
}
.news_popup_postdetail-title:nth-of-type(2) {
  color: #26262b;
  font-size: 16.2px;
  font-weight: 600;
  line-height: 1em;
  padding-bottom: 8px;
  margin-top: 37px;
  margin-bottom: calc(20px - 0.15em);
  border-bottom: 2px solid #26262b;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: top left;
}

.rppm-boldtext-title01,
.rppm-boldtext-title02{
  margin-top: 26px;
  font-weight: 600;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: bottom left;
}

.rppm-rink a {
  width: 125px;
  display: block;
  margin: 40px auto 80px;
}

.rppm-list{
    margin-bottom: 5px;
    font-size: 16px;
    width: calc(100% / 0.85);
    transform: scaleX(0.85);
    transform-origin: bottom left;
    line-height: 1em;
    margin-top: 15px;
    margin-bottom: 40px;
}

.news_popup_text{
  text-decoration: none;
  color: #252528;
  cursor: pointer;
  display: block;
  margin: 0 2.7%;
  padding-bottom: 30px;
  margin-bottom: 30px;
  position: relative;
  border-bottom: 1px #252528 solid;
}

.news_popup_post-date {
  display: flex;
  padding-top: 30px;
}

.news_popup_post-span-wrap{
  width: 134px;
  min-width: 100px;
  height: 17px;
  text-align: center;
  background-color: #000;
  margin-right: 9.5px;
  display: flex;
  align-items: center;
  border-radius: 20px;
}

span.news_popup_post-span {
  color: #b3ffb5;
  line-height: 1em;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: top center;
  font-size: 9.6px;
  font-weight: 700;
  letter-spacing: 0.1em;
  display: block;
  word-break: auto-phrase;
  text-wrap: balance;
}

span.news_popup_past-date {
  width: calc(100% / 0.85);
  transform: scaleX(0.8) translateY(-0.1em);
  transform-origin: top left;
  font-size: 11px;
  font-weight: 500;
  position: relative;
  top: 1px;
  letter-spacing: 0.08em;
  display: block;
  word-break: auto-phrase;
  text-wrap: balance;
}

.news_popup_text .cate{
  display: flex;
  padding-top: 0px;
}

.news_popup_post-text {
  position: relative;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: top left;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.45em;
  margin-top: 14px;
  word-break: auto-phrase;
  text-wrap: balance;
}


.news_popup_contant {
  margin: 0 2.7%;
}

.news_popup_contant > p:not(:has(img)) {
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: top left;
  word-break: auto-phrase;
  text-wrap: balance;
  margin-bottom: 20px;
}

.news_popup_contant > p > img {
  margin-top: 18px;
  display: block;
  height: auto;
}

.news_popup_contant > p:nth-last-of-type(1) {
  margin-bottom: 0;
}

.news_popup_contant a {
  word-wrap:break-word;
}


.recruit .team_content_whiteblock{
  background-color: #1d1d32;
}

.team_content_whiteblock .recruit_block_title{
  color: #fff;
}

.news_popup .popup_close.img-empty{
  height: 100%;
}

.news_popup .popup_close.img-empty > div{
  height: 100%;
}

.news_popup .popup_close.img-empty > div > div{
  position: sticky;
  top: -40px;
  transform: translateX(-10px) translateY(-10px);
}
@media screen and (max-width: 400px) {
  .news_popup .popup_close.img-empty > div > div{
    top: -30px;
  }
}




.visual_date{
  text-align: center;
  font-size: 36px;
  font-weight: 900;
  line-height: 1.7em;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: bottom left;
  margin: 0 auto;
  padding-top: calc(80px - 0.35em);
  margin-bottom: calc(40px - 0.35em);
  letter-spacing: 0.05em;
  word-break: auto-phrase;
  text-wrap: balance;
}

.position_visual_date{
  padding-top: calc(100px - 0.35em);
}

.visual_date_image{
  width: calc(100% - 80px);
  max-width: 1000px;
  margin: 0 auto;
  margin-bottom: 20px;
}

@media screen and (max-width: 1023px) {
  .company_block_title,
  .recruit_block_title,
  .visual_date{
    font-size: min(4.3vw , 38px);
  }

  .recruit .content_whiteblock {
    padding: 70px 40px 60px;
  }

  .recruit .team_content_whiteblock{
    padding: 70px 34px 60px;
  }
}

@media screen and (max-width: 750px) {
  .works .text-input {
    width: 100%;
    height: auto;
    overflow: hidden;
  }

  .works_text_box {
    margin-bottom: 0px;
    width: 100%;
  }

  .works_text_wrap {
    display: flex;
    flex-direction: column;
    gap: 0%;
  }

  .works_contents_text01, .works_contents_text02 {
    height: 0px !important;
    position: relative;
    overflow: hidden;
  }

  .contents_text_inner01, .contents_text_inner02 {
    position: absolute;
    width: 100%;
    font-size: 12px;
    line-height: 25px;
    display: none;
  }

  .works_text_box:nth-of-type(2) .company_name {
    margin-bottom: 10px;
    white-space: nowrap;
    display: none;
  }

  .disign_contents .design_works {
    flex: 1;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 0px 0px;
  }

  button.sp_text_open {
    display: block;
  }
  .text-input-span.text_open {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    transition: all 0.3s;
  }

  .content_whiteblock:has(.works_list_content) {
    padding: 20px 40px 35px;
  }

  .design_works .design_works_item {
    width: calc(100% - 0px);
    margin-bottom: 28px;
  }

  .recruit_position_wrap{
    display: flex;
    Flex-direction: column
  }



  .recruit_position_item01 {
    margin: -60px -40px 0px -40px;
    width: calc(100% + 80px);
    border-radius: 20px 20px 0 0;
    overflow: hidden;
  }

  .recruit_position_item02 {
    padding-left: 0;
    width: 100%;
  }
  .recruit_popup_name_box {
    width: 100%;
    position: relative;
    display: block !important;
  }
  .recruit_position_item02_post_name{
    font-size: min(32px , 7.2vw);
    margin-top:  min(11%, 40px);
    display: block;
  }

  .top_news_whiteblock .post-content a {
    padding-bottom: 15.5px;
  }

  .news .content_whiteblock {
    padding: 40px 30px 50px;
  }

  .news .content_whiteblock {
    margin: 60px auto 20px;
  }
  .news_popup_text {
    margin: 0 0% 30px;
  }
  .news_popup_postdetail-main{
    margin: 0 0%;
  }
  .news_popup_image{
    margin: 0 0%;
  }

  .company-block:nth-of-type(1) {
    margin: 0 2.7% 0 1%;
  }
  .company-block:nth-of-type(2) {
    margin: 0 1% 0 2.7%;
  }
  #back_recruit_popup::before{
    height: 26px;
    width: 0;
    position: relative;
    display: block;
    content: '';
  }

  #back_recruit_popup::after {
    height: 104px;
    width: 0;
    position: relative;
    display: block;
    content: '';
  }
  .recruit_popup.origin_popup {
    position: relative;
    top: 0;
    transform: none;
    left: 0;
    width: calc(100vw - 40px);
    margin-left: 20px;
    height: auto;
    flex-wrap: wrap;
    overflow: visible;
  }
  .recruit_popup_name_box {
    display: flex;
    margin: 0 0%;
  }
  .recruit_popup .recruit_popup_content {
    width: 100%;
  }

  .link_icon {
    position: relative;
    right: 9px;
    top: 0%;
    margin-top: 20px;
    margin: 10.5px 0px 0px 0px;
    transform: none;
    display: flex;
  }

  .news_link .link_icon_text, .news_modal .link_icon_text {
    width: calc(100% / 0.85);
    transform: scaleX(0.85);
    transform-origin: top right;
    text-align: right;
    padding-right: 0.5em;
  }

  .news_link .post-text{
    width: calc((100% / 0.85) - 0px);
    padding-right: 0px;
  }

  .news_modal .post-text {
    width: calc((100% / 0.85) - 0px);
    padding-right: 0px;
  }

  .post-content a:not([href]):not(.news_modal) {
    cursor: default !important;
    padding-bottom: 32px;
  }

  .news .content_whiteblock {
    width: calc(100% - 40px);
  }

  .recruit_popup {
    width: min(calc(100% - 52px), calc((100vh - 52px) / 0.64));
  }

  .news_popup {
    width: min(calc(100% - 52px), calc((100vh - 52px) / 0.64));
    height: auto;
  }

  .rppm-rink a {
    margin: 40px auto 60px;
  }
  .recruit_popup .popup_close {
    width: 20px;
    height: 100%;
    position: absolute;
    right: 20px;
    top: 20px;
  }
  .recruit_popup .popup_close > div {
    height: 20px;
    position: sticky;
    top: 20px;
  }


  /* Story一覧のカラム効果 */
  .story .story-column {
    display: flex;
    flex-direction: column;
    max-width: 1000px;
    padding: 0;
    border-radius: 20px;
    box-sizing: border-box;
    width: calc(100% - 0px);
    height: auto;
    margin: 40px auto 0px;
    position: relative;
    box-sizing: border-box;
    gap: 40px;
  }
  .story .story-column .story-box-title {
    font-size: 18px;
    font-size: 22px;
    font-weight: 900;
    line-height: 1.6em;
  }
  .story-box.empty{
    display: none;
  }
}

@media screen and (max-width: 700px) {
  .content_whiteblock,
  .story .content_whiteblock,
  .recruit .content_whiteblock {
    width: calc(100% - 40px);
  }
  .recruit .page_top_whiteblock {
    width: calc(100% - 40px);
  }
  .company .content_whiteblock {
    width: calc(100% - 40px);
  }
  .company .content_min_wrap {
    width: calc(100% - 40px);
  }
  .company .content_whiteblock.companies_history {
    width: calc(100% - 40px);
  }
  .story .story-box {
    width: calc(100% - 40px);
  }

  .recruit .page_top_whiteblock {
    width: calc(100% - 40px);
  }
  .visual_date_image {
    width: calc(100% - 40px);
  }
  #pickup {
    width: calc(100% - 40px);
  }
  #news {
    width: calc(100% - 40px);
  }
  .max_width_1000px{
    width: calc(100% - 40px) !important;
    max-width: 1000px;
  }

  .story-box-text-wrap {
    position: absolute;
    bottom: 24px;
    left: 20px;
    max-width: calc(100% - 40px);
  }

  .story .story-box-text-wrap {
    max-width: 100%;
  }
  .story-box-text-wrap {
    position: absolute;
    bottom: 24px;
    left: 20px;
    max-width: calc(100% - 40px);
  }

  .story-box-text {
    font-size: 10px;
  }

  .story-box-title {
    font-size: 22px;
  }
  .page-top-text {
    padding: calc(0.25em * 0.7) 0.7em;
    line-height: 21px;
    font-size: 11.5px;
    margin-bottom: 21px;
  }
  .page-top-text .date {
    font-size: 11.5px;
    line-height: 21px;
  }

  .entry_contents_wrap {
    width: 100%;
    display: flex;
    justify-content: center;
    flex-flow: column;
  }

  .entry_contents_item {
    width: 100%;
  }

  .entry main .main-content {
    width: calc(100% - 40px);
    padding: 0px 0;
  }

  .pages-img-02, .pages-img-03, .pages-img-04, .story p:has(.alignnone) {
    width: calc(100vw - 40px);
    margin: calc(20px + 2em) calc(50% - 50vw + 20px);
  }

  .pc-br{
    display: none;
  }

  .company-block:nth-of-type(1),
  .company-block:nth-of-type(2) {
    margin: 0 1% 0 1%;
  }

  .company_block_title, .recruit_block_title, .visual_date {
    font-size: min(7vw , 38px);
  }

  .recruit .visual_image_block {
    padding: 100px 62px 60px;
  }

  .recruit .team_content_whiteblock{
    padding: 100px 34px 30px;
  }

  .recruit .content_whiteblock:last-of-type{
    padding: 60px 40px 60px;
  }

  .visual_date {
    padding-top: 80px;
  }

  .recruit_popup {
    padding: 45px 35px;
  }
  .pc-none{
    display: block;
  }
  .phone-none{
    display: none;
  }
  .page_top_text {
    width: calc(100% + 0px);
  }

  .google_map_link_margin{
    margin-top: -28px;
  }
}

@media screen and (max-width: 650px) {
  .disign_contents {
    display: flex;
    flex-direction: column;
    margin-top: 24px;
    padding-bottom: 30px;
    border-bottom: 2px #000 solid;
    gap: 20px;
  }

  .disign_contents .design_type {
    width: 100%;
  }

  .recruit .visual_image_block {
    padding: 120px 50px 60px;
  }

  .recruit .team_content_whiteblock {
    padding: 100px 34px 30px;
  }

  .recruit .content_whiteblock:last-of-type{
    padding: 60px 40px 60px;
  }
  .recruit_popup {
    padding: 40px 30px;
  }
  .page_top_text {
    width: calc(100% + 0px);
  }
}

@media screen and (max-width: 580px) {
  .recruit .content_whiteblock {
    padding: 75px 30px 40px;
  }

  .recruit .team_content_whiteblock {
    padding: 75px 15px 15px;
  }

  .recruit .content_whiteblock:last-of-type{
    padding: 60px 40px 60px;
  }
  .recruit_popup {
    padding: 35px 25px;
  }
  .news .content_whiteblock {
    padding: 60px 30px 50px;
  }
  .page_top_text {
    width: calc(100% + 0px);
  }
}

@media screen and (max-width:570px) {
  .recruit_popup {
    overflow-y: scroll;
  }
  .recruit_popup .recruit_popup_content {
    overflow-y: visible;
  }
}

@media screen and (max-width: 400px) {
  .content_whiteblock {
    padding: 60px 30px;
  }

  .recruit .content_whiteblock,
  .story .content_whiteblock{
    padding: 0px 30px 60px;
  }
  .recruit .page_top_whiteblock,
  .recruit .content_whiteblock {
    padding: 60px 30px;
  }

  .recruit .page_top_whiteblock {
    padding: 0px 30px 30px;
  }

  .rppm-rink a {
    margin: 40px auto 50px;
  }

  .recruit .team_content_whiteblock {
    padding: 60px 15px 15px;
  }

  .company .content_whiteblock {
    padding: 0px 30px 30px;
  }
  .company .content_min_whiteblock {
    height: 260px;
    padding: 30px;
  }





  /* ローカルペンギンズのポップアップ*/
  .content_min_whiteblock.penguins_whiteblock {
    height: auto;
    padding: 30px 30px 70px 30px;
}

  .company .content_whiteblock.companies_history {
    padding: 0.1px 30px 30px;
  }

  .recruit .company_block_img {
    position: relative;
    height: auto;
    overflow: hidden;
    width: calc(100% + 60px);
    background-size: cover;
    margin-left: -30px;
    border-radius: 20px 20px 0 0;
  }

  .recruit .page_top_whiteblock {
    padding: 0px 30px 30px;
  }

  .rppm-rink a {
    margin: 40px auto 40px;
  }

  .content_whiteblock:has(.works_list_content) {
    padding: 20px 30px 35px;
  }

  #news .content_whiteblock {
    padding: 40px 30px;
  }

  .news_popup {
    padding: 50px 30px;
  }
}


/* .video_popup */
.recruit_video_open{
  max-width: 1000px;
  max-height: 562.5px;
  width: calc(100vw - 80px);
  height: calc(((100vw - 80px) * 9) / 16);
  position: relative;
  margin: 0 auto 40px;
  border-radius: 20px;
}

@media screen and (max-width: 700px) {
  .recruit_video_open{
    width: calc(100vw - 40px);
    height: calc(((100vw - 40px) * 9) / 16);
  }
}
.recruit_video_open img {
  max-width: 100%;
  max-height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 21px;
  overflow: hidden;
}
#back_video_popup{
  position: fixed;
  z-index: 500;
  top: 200vh;
  left: 0;
  width: 100vw;
  height: 100vh;
  opacity: 0;
  background-color: #000000e6;
  transition: opacity .5s;
  overflow: auto;
  display: flex;
  box-sizing: border-box;
  justify-content: center;
  align-items: center;
}
#back_video_popup.video_open_top{
  top: 0;
}
#back_video_popup.video_open_bgc{
  opacity: 1;
}
#back_video_popup .video_popup_content{
  max-width: 1000px;
  max-height: 562.5px;
  width: calc(100vw - 40px);
  height: calc(((100vw - 40px) * 9) / 16);
  position: relative;
}
#back_video_popup .video_popup_content video{
  max-width: 100%;
  max-height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.video_close_opacity{
  position: absolute;
  top: 40px;
  right: 40px;
  width: 40px;
  height: 40px;
}

.recruit_video_open > span {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% + 16px);
  height: calc(100% + 16px);
  box-sizing: border-box;
  border-radius: 28px;
  opacity: 0;
  z-index: 0;
  transition: all .3s;
  border: 4px solid #fff;
}
.recruit_video_open:hover > span {
  opacity: 1;
}
@media screen and (max-width: 700px) {
  .video_close_opacity{
    top: 80px;
  }
}
.video_close_opacity img{
  width: 100%;
}

  /* リクルートの項目、背景を黒にする。 */
  span.blackboard {
    display: block;
    background-color: black;
    color: #fff;
    width: fit-content;
    padding: 0.03em 0.43em 0.05em 0.55em;
    border-radius: 1px;
    font-weight: 500;
    position: relative;
    line-height: 1.5em;
    margin-bottom: 5.2px;
    font-size: 0.85em;
}






#back_window {
  position: fixed;
  z-index: -50;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
}
#back00,#back01,#back02,#back03 {
  position: absolute;
  top: 0;
  transition: top .1s;
  left: -60px;
  width: calc(100% + 120px);
  height: 200%;
}
.back_left {
  position: absolute;
  width: 50%;
  height: auto;
  display: flex;
  top: 0;
  left: 0;
  justify-content: right;
  align-items: flex-start;
  flex-wrap: wrap;
}
.back_right {
  position: absolute;
  width: 50%;
  height: auto;
  display: flex;
  top: 0;
  right: 0;
  justify-content: left;
  align-items: flex-start;
  flex-wrap: wrap;
}
.star {
  position: relative;
  width: 60px;
  height: 60px;
  background-image: url('../img/SVG/star-test.svg');
  background-size: 5px 5px;
  background-repeat: no-repeat;
  background-position: center center;
}
.star-none {
  background: none;
}
.star-small {
  background-size: 2.5px 2.5px;
}
#back01 .star {
  opacity: 0.8;
  width: calc(60px * 0.9);
  height: calc(60px * 0.9);
  background-size: calc(5px * 0.9) calc(5px * 0.9);
}
#back01 .star-small {
  background-size: calc(2.5px * 0.9) calc(2.5px * 0.9);
}
#back02 .star {
  opacity: 0.6;
  width: calc(60px * 0.9 * 0.9);
  height: calc(60px * 0.9 * 0.9);
  background-size: calc(5px * 0.9 * 0.9) calc(5px * 0.9 * 0.9);
}
#back02 .star-small {
  background-size: calc(2.5px * 0.9 * 0.9) calc(2.5px * 0.9 * 0.9);
}
#back03 .star {
  opacity: 0.4;
  width: calc(60px * 0.9 * 0.9 * 0.9);
  height: calc(60px * 0.9 * 0.9 * 0.9);
  background-size: calc(5px * 0.9 * 0.9 * 0.9) calc(5px * 0.9 * 0.9 * 0.9);
}
#back03 .star-small {
  background-size: calc(2.5px * 0.9 * 0.9 * 0.9) calc(2.5px * 0.9 * 0.9 * 0.9);
}


.search-form [class^="icon-"]:hover::before,
.search-form [class^="icon-"]:hover::before{
  display: block;
  width: 1em;
  border-radius: 50%;
  border: 2px #252528 solid;
  background-color: #FFFFFFB0;
}























#menu-planet_back {
  position: fixed;
  z-index: 500;
  top: 200vh;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: #00000000;
  transition: background-color .5s;
  overflow: auto;
  display: flex;
  box-sizing: border-box;
  padding: 30px 0;
  justify-content: center;
  align-items: center;
}
#menu-planet_back.menu-planet_back-displayposition {
  top: 0;
}
#menu-planet_back #planet_area {
  margin: auto;
  height: fit-content;
  transform: scale(0.5);
  opacity: 0;
  transition: all 0.7s;
}
#menu-planet_back #planet_area.planet_area-zoom {
  transform: scale(1);
  opacity: 1;
}

#menu-planet_back .menu_close {
  position: fixed;
  width: 40px;
  height: 40px;
  top: 50px;
  right: 50px;
  opacity: 0;
  transition: opacity 1s;
  pointer-events: none;
  z-index: 0;
}
#menu-planet_back .menu_close.menu_close-opacity {
  opacity: 1;
  pointer-events: auto;
}
@media screen and (max-width: 750px) {
  #menu-planet_back .menu_close {
    top: 30px;
    right: 30px;
  }
}

.wpcf7 form div > p > span {
  position: relative;
}
.wpcf7-not-valid-tip {
  font-size: 11px !important;
  font-weight: 600 !important;
  position: absolute;
  top: -12px;
  left: 10px;
  line-height: 1em;
  color: #ff0000 !important;
}
.wpcf7-form-control-wrap{
  position: relative;
}
.file_textarea > p .wpcf7-not-valid-tip{
  position: absolute;
  top: -145px;
}
.entry_check_not_commercial .wpcf7-not-valid-tip {
  left: 0;
  top: 28px;
  width: 280px;
  line-height: 1em;
  margin-left: 0;
  display: inline-block;
}
.file_input span.wpcf7-not-valid-tip {
  position: absolute;
  top: 22px;
  left: 148px;
  width: fit-content;
  height: 1em;
}
.grecaptcha-badge { visibility: hidden; }
.recaptcha-text {
  width: 100%;
  text-align: center;
  color: white;
  font-size: 10px;
  margin-top: 20px;
}
.recaptcha-text a {
  color: #cccccc;
  text-decoration: none;
  font-size: 10px;
}
.wpcf7-list-item {
  margin: 0 !important;
}
.wpcf7-list-item-label {
  color: #000 !important;
  display: inline-block;
  transform: scaleX(0.85);
  transform-origin: bottom left;
  padding-left: 30px;
}
.wpcf7{
  background-color: #FFF;
  border-radius: 20px;
  padding: 60px 40px;
}
@media screen and (max-width: 700px) {
  .wpcf7{
    background-color: #FFF;
    border-radius: 20px;
    padding: 60px 20px;
  }
}
select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required {
  width: 100%;
  height: 60px;
  border-radius: 10px;
  padding-left: 1em;
  position: relative;
  border: 2px solid #000;
  margin-bottom: 30px;
  font-size: 18px;
  color: #000 !important;
  -webkit-appearance: none;
  appearance: none;
  width: calc(100% / 0.85);
  transform: scaleX(0.85);
  transform-origin: bottom left;
}
input[type=number]::-webkit-inner-spin-button {
  position: relative;
  right: 4px;
}
select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required:focus {
  background-color: #fff;
}
select.wpcf7-form-control-wrap.focused::after{
  content: "■";
  color: #000;
  position: relative;
}
span.wpcf7-form-control.wpcf7-radio {
  display: flex;
  flex-flow: column;
  gap: 0.3em;
}
#wpcf7-f217-o1 > form p > span > span > span.wpcf7-list-item > label > input[type=radio]{
  transform: scale(calc(1 / 0.85)) translateY(calc(9px* 0.55));
  width: calc(18px* 0.85);
  height: calc(18px* 0.85);
  margin-bottom: 0;
  margin-right: 3px;
  accent-color: #000;
  position: absolute;
}
#wpcf7-f217-o1 > form p > span > span > span.wpcf7-list-item > label > input[type=radio]:hover{
  cursor: pointer;
}
.entry_select_wrap{
  margin-bottom: 30px;
}
.last_select_wrap{
  margin-bottom: 40px;
}
#ring_rotate_calc {
  position: fixed;
  top: 400vh;
  left: 0;
}
#ring_rotate_calc .planet {
  border-radius: 50%;
  height: fit-content;
  width: fit-content;
  position: relative;
  transition: all 0s;
  transform-style: unset;
  margin: 0;
}
#ring_rotate_calc .planet .ring_perspective {
  height: fit-content;
  width: fit-content;
  perspective: none;
  transform-style: unset;
  transform: none;
  position: relative;
}
#ring_rotate_calc .planet .ring {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  pointer-events: none;
  transform-style: unset;
  height: fit-content;
  width: fit-content;
}
#ring_rotate_calc .planet .ring .panel {
  position: relative;
  transform: none;
  height: fit-content;
  width: fit-content;
  overflow: auto;
}
#ring_rotate_calc .planet .ring .panel::before {
  font-size: 20px;
  opacity: 1;
  left: 0;
  animation: none;
}
#ring_rotate_calc .planet .ring .panel::after {
  display: none;
}
.wpcf7-form-control-wrap.focused option{
  position: relative;
}
.wpcf7-form-control-wrap.focused option::after{
  content: "↑";
  position: absolute;
  right: 0;
}