@charset "utf-8";

*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
  -webkit-box-shadow: none;
  box-shadow: none;
  outline: none;
}

html {
  height: 100%;
  font-size: 10px;
  line-height: 1.65;
}

body {
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
  width: 100%;
  height: 100%;
  background-size: 100% auto;
  color: #171717;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: min(3.4vw, 16px);
  font-weight: 500;
  letter-spacing: 0.11rem;
}

a {
  display: block;
  text-decoration: none;
  width: 100%;
  height: 100%;
  color: #171717;
  transition: filter 0.5s;
}

a:active,
a:hover,
.btn:active,
.btn:hover {
  filter: brightness(1.1);
}

a:visited {
  color: #171717;
}

img {
  width: 100%;
  height: auto;
  vertical-align: middle;
}

li {
  list-style: none;
}

dt {
  padding-top: min(3vw, 30px);
  padding-bottom: min(1.5vw, 15px);
  font-weight: 700;
  border-top: solid 1px #c3c3c3;
}

dt:first-of-type {
  border-top: none;
}

dd {
  padding-left: 2.4em;
  padding-bottom: min(3vw, 30px);
}

dd:last-of-type {
  padding-bottom: 0;
}

dd li {
  position: relative;
  padding-left: 1.4em;
}

dd li::before {
  position: absolute;
  content: "・";
  left: 0;
}

input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #fff;
  border: solid 1px #949494;
  border-radius: 0;
  font: inherit;
  margin: 1em 0 0;
  padding: 1.2rem 1.8rem;
  outline: none;
}

table,
input,
textarea {
  width: 100%;
}

input[type="text"],
input[type="email"],
input[type="tel"] {
  width: min(100%, 530px);
}

input[type="submit"] {
  cursor: pointer;
}

textarea {
  resize: none;
  width: min(100%, 800px);
}

address {
  font-style: normal;
}

.annotation {
  color: #e40000;
}

.br-pc {
  display: none;
}

.img-pc {
  display: none;
}

.btn,
input[type="submit"] {
  width: fit-content;
  min-width: 220px;
  margin: 3em auto 0;
  padding: 1.1em 1.8em;
  background: #171717;
  border: none;
  color: #fff;
  text-align: center;
  transition: 0.5s;
}

.btn:hover,
input[type="submit"]:hover {
  background-color: #323232;
}

input[type="file"] {
  border: none;
}

.btn:visited {
  color: #fff;
}

h2 {
  font-size: min(5vw, 40px);
  font-weight: 700;
  letter-spacing: 0.2em;
  text-align: center;
}

h3 {
  padding-bottom: min(6vw, 50px);
  font-size: min(4vw, 30px);
  font-weight: 700;
  letter-spacing: 0.1em;
}

h4 {
  padding-bottom: min(3vw, 20px);
  font-size: min(4vw, 20px);
  font-weight: 700;
}

h5,
h5.txt-gray {
  padding: 0 0 1em 0; 
}

section {
  width: min(100%, 1200px);
  margin: 0 auto;
  padding-bottom: min(10vw, 100px);
  padding-top:  100px;
}

.br-pc {
  display: block;
}

.br-sp {
  display: none;
}

.icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  stroke-width: 0;
  stroke: currentColor;
  fill: currentColor;
}

#content-wrap {
  flex: 1;
  position: relative;
  width: 100%;
}

#page {
  width: 100%;
}

#page h2 {
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
  background-color: #9cb3b3;
  width: 100%;
  height: auto;
  min-height: min(25vw, 340px);
  padding: 1em 0;
}

#page h2 span {
  position: relative;
  width: min(100%, 1200px);
  height: fit-content;
  margin: 0 auto;
  color: #fff;
  font-size: min(5.2vw, 40px);
  font-weight: 700;
  text-align: left;
}

#page h2 span.txt-h2-tlt {
  position: relative;
  display: inline-block;
}

#page h2 span.txt-h2-inner {
  position: relative;
  padding-top: min(3vw, 30px);
  display: inline-block;
  font-size: min(3.4vw, 18px);
  letter-spacing: 0.2em;
}

#page h2 img {
  display: block;
  position: absolute;
  width: 115vmax;
  height: 25vmax;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.txt-gray {
  padding: 0.8em 0 0.2em;
  color: #929292;
  font-size: min(4vw, 20px);
}

.page-inner {
  width: min(100%, 1200px);
  margin: 60px auto 0;
}

.bnr {
  text-align: center;
}

.bnr a {
  display: inline;
}

.bnr img {
  width: auto;
  max-width: 100%;
}

#about dl {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

#about dt,
#about dd {
  margin-top: min(1.8vw, 18px);
  margin-bottom: 0;
  padding-bottom: min(1.8vw, 18px);
  border-bottom: solid 1px #c3c3c3;
}

#about dt {
  width: 20%;
  padding-top: 0;
  border-top: none;
}

#about dt span {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  padding-left: min(1.8vw, 18px);
  font-weight: 700;
  border-right: solid 3px #c3c3c3;
}

#about dd {
  width: 80%;
  padding-left: min(3vw, 30px);
  padding-right: min(3vw, 30px);
}

#about dd li {
  padding-left: 0;
}

#about dd li::before {
  content: none;
}

/*////////// ヘッダー //////////*/

header {
  position: fixed;
  width: 100%;
  height: 100px;
  background-color: rgba(255,255,255,0.65);
  backdrop-filter: blur(12px);
  box-shadow: 0 0 10px rgb(0, 0, 0, 0.3);
  font-size: 1.8rem;
  top: 0;
  left: 0;
  z-index: 3;
  transition: top 1s;
}

header nav {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
}

h1 {
  display: flex;
  width: min(25vw, 237px);
  margin-left: min(1vw, 50px);
}

.g-nav-l {
  display: flex;
  justify-content: space-around;
  align-items: center;
  flex-grow: 2;
  height: 100%;
}

.g-nav-r {
  display: flex;
  justify-content: space-around;
  align-items: center;
  flex-grow: 1;
  height: 80%;
  font-size: 1.6rem;
}

.g-nav-l li, 
.g-nav-r li {
  width: 100%;
  height: 100%;
}

.g-nav-l a,
.g-nav-r a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.g-nav-l li {
  padding: 0 1em;
}

.g-nav-r a {
  flex-direction: column;
  justify-content: flex-end;
  width: 100%;
  height: 100%;
  padding-bottom: 0.2em;
  border-left: solid 1px #171717;
}

.g-nav-l a::after,
.g-nav-r a::after {
  position: absolute;
  display: block;
  content: '';
  width: 0;
  height: 3px;
  margin: auto;
  background-color: #171717;
  left: 0;
  right: 0;
  bottom: 0;
  transition: .5s all;
}

.g-nav-r a::after {
  bottom: -0.6em;
}

.g-nav-l a:hover::after,
.g-nav-r a:hover::after {
  width: 50%;
}

.icon_star {
  width: 2em;
  height: 2em;
}

.icon_recruit {
  width: 2.3em;
  height: 2.3em;
}

.icon_mail {
  width: 2em;
  height: 2em;
}

/*////////// NEWS //////////*/

.news-list {
  display: flex;
  flex-wrap: wrap;
  gap: 2.65%;
  width: 100%;
  margin: 0 auto;
  margin-top: min(5vw, 50px);
}

.news-list li {
  position: relative;
  width: 23%;
  padding-bottom: 1.4em;
}

.news-img {
  width: 100%;
  height: min(12.3vw, 157px);
  overflow:hidden;
 }

.news-list li a:hover img {
  transform: scale(1.1);
  transition: 1s all;
}

.time-stamp {
  display: block;
  padding: 1em 0.6em 0.6em 0;
  color: #888888;
  font-size: 13px;
}

.news-tag {
  position: absolute;
  width: fit-content;
  padding: 0.1em 1em;
  color: #fff;
  font-size: clamp(11px, 1.6vw, 16px);
  z-index: 1;
}

.news-tag.cat_recruit {
  background-color: #2c91ae;
}

.news-tag.cat_release_android,
.news-tag.cat_release_ios,
.news-tag.cat_release_win {
  background-color: #c9474a;
}

.news-tag.cat_stamp {
  background-color: #37ac42;
}

.news-tag.cat_news {
  background-color: #368d8a;
}

.news-tag.cat_others {
  background-color: #5a5a5a;
}

#page.column-page {
  padding-bottom: 0;
}

#column-wrap {
  display: flex;
  justify-content: space-between;
}

#column-main {
  width: 65%;
  padding-bottom: min(10vw, 100px);
}

#column-side {
  width: 27%;
  padding: 26px 0 100px 0;
  border-left: solid 1px #c3c3c3;
}

#column-side h4 {
  padding-left: min(2.6vw, 26px);
  border-bottom: solid 2px #c3c3c3;
}

#news-detail-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

#news-detail-header .news-tag {
  position: relative;
}

.sns-share-area {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
}

.article-main {
  padding-bottom: 3em;
}

.article-main a,
.article-main a:visited,
.download-txt-link,
.download-txt-link:visited,
.search-txt-wrap a,
.search-txt-wrap a:visited {
  display: inline;
  position: relative;
  color: #e80000;
  margin-right: 0.2em;
  padding: 0.1em;
  border-bottom: solid 1px #e80000;
}

.article-main a[target="_blank"],
.download-txt-link,
.search-txt-wrap a {
  margin-right: 2em;
}

.article-main a[target="_blank"]::after,
.download-txt-link::after {
  position: absolute;
  content: "";
  width: 1em;
  height: 0.8em;
  margin: auto;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 32"><path fill="%23e80000" d="M32.542 32h-32.542v-24.101h32.542v24.118zM3.495 28.505h25.551v-17.11h-25.551v17.127z"></path><path fill="%23e80000" d="M40.214 24.118h-5.662v-3.495h2.167v-17.127h-25.569v2.709h-3.495v-6.204h32.559v24.118z"></path></svg>');
  background-repeat: no-repeat;
  top: 0;
  bottom: 0;
  right: -1.2em;
}

.article-main img {
  margin: 2em 0;
}

.article-main img:first-of-type {
  margin-top: 0;
}

.newest-lineup li a {
  display: flex;
  padding: 24px 0 24px 24px;
  border-bottom: solid 1px #c3c3c3;
}

.newest-lineup li a > p {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  overflow: hidden;
  width: min(20vw, 90px);
  height: min(20vw, 90px);
}

.newest-lineup li img {
  width: auto;
  height: 100%;
}

.newest-lineup li a > div {
  flex-shrink: 1;
  width: 100%;
  padding-left: min(4vw, 20px);
  font-size: min(3.4vw, 14px);
}

.newest-lineup li a > div .time-stamp {
  padding: 0.2em 0 0 0;
}

/*////////// コンテンツ //////////*/

.contents-type {
  display: flex;
  color: #e80000;
  font-weight: 900;
}

.icon_pc,
.icon_sp,
.icon_stamp  {
  width: 1.8em;
  height: 1.8em;
  margin-right: 0.5em;
}

.tab-list {
  width: 100%;
  margin-bottom: 2.5em;
  border-bottom: solid 3px #c3c3c3;
}

.tab-list ul {
  display: flex;
  justify-content: center;
  width: 100%;
  font-size: min(3.4vw, 18px);
  font-weight: 700;
  text-align: center;
}

.tab-list li {
  position: relative;
  width: min(100%, 300px);
  padding: 1em 0;
  transition: color .4s;
  color: #595959;
  cursor: pointer;
}

.tab-list li.current {
  color: #171717;
}

.tab-list li.current::after {
  position: absolute;
  content: "";
  width: 100%;
  border-bottom: solid 3px #171717;
  font-weight: 900;
  bottom: -3px;
  left: 0;
  transition: color .4s;
}

.tab-list li:hover {
  color: #171717;
}

#refinement {
  padding: 0 1.5em 1.2em;
  border-bottom: solid 1px #c3c3c3;
}

#refinement-inner {
  display: none;
  padding: 1em 0 2em;
}

#refinement.open #refinement-inner {
  display: block;
}

#btn-refinement {
  position: relative;
  display: flex;
  width: fit-content;
  padding-right: 4em;
  cursor: pointer;
}

.icon_refinement {
  width: 1.8em;
  height: 1.8em;
  margin-right: 1em;
}

#btn-refinement::after {
  position: absolute;
  content: "";
  width: 0.75em;
  height: 1.2em;
  margin: auto;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19 32"><path fill="%23a8a8a8" d="M2.108 31.659l-1.768-1.768c-0.47-0.47-0.47-1.216 0-1.671l12.213-12.213-12.213-12.213c-0.454-0.47-0.454-1.216 0-1.687l1.768-1.768c0.47-0.454 1.216-0.454 1.687 0l14.808 14.824c0.47 0.47 0.47 1.216 0 1.671l-14.808 14.824c-0.47 0.47-1.216 0.47-1.671 0z"></path></svg>');
  background-repeat: no-repeat;
  transform: rotate(90deg);
  top: 0;
  bottom: 0;
  right: 1.5em;
}

#refinement.open #btn-refinement::after {
  transform: rotate(-90deg);
}

.lbl-checker {
  display: inline-block;
}

.lbl-checker input[type="checkbox"] {
  display: none;
}

.lbl-checker label {
  letter-spacing: normal;
  display: inline-block;
  min-width: min(25.5vw, 118px);
  box-sizing: border-box;
  padding: 0.45em 1em;
  background-color: #fff;
  border: solid 1px #171717;
  text-align: center;
  font-weight: bold;
  display: inline-flex;
  justify-content: center;
  cursor: pointer;
}

.lbl-checker input[type="checkbox"]:checked + label {
  background-color: #171717;
  color: #fff;
}

.check-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7em;
}

.btn-search-run {
  position: relative;
  width: fit-content;
  margin: 3.5em auto 0;
}

.btn-search-run::after {
  pointer-events: none;
  position: absolute;
  content: "";
  width: 1.3em;
  height: 1.3em;
  margin: auto;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="%23ffffff" d="M31.095 26.68l-7.645-7.645c2.871-4.837 2.231-11.187-1.919-15.352-4.915-4.915-12.919-4.915-17.849 0s-4.915 12.934 0 17.849c2.465 2.465 5.695 3.682 8.924 3.682 2.231 0 4.447-0.593 6.428-1.763l7.645 7.645c0.608 0.608 1.404 0.921 2.2 0.921s1.591-0.312 2.2-0.921c1.217-1.217 1.217-3.198 0-4.415zM5.898 19.331c-3.698-3.713-3.698-9.736 0-13.433 1.857-1.857 4.291-2.777 6.709-2.777s4.868 0.921 6.709 2.777c3.698 3.698 3.698 9.72 0 13.433-1.794 1.794-4.181 2.777-6.709 2.777s-4.915-0.983-6.709-2.777z"></path></svg>');
  top: 0;
  bottom: 0;
  left: 4em;
}

.btn-search-run input {
  margin-top: 0;
  padding-left: 3em;
  letter-spacing: 0.2em;
}

#content-list {
  display: flex;
  flex-wrap: wrap;
  gap: 2.3%;
  margin-top: 1.4em;
  padding-top: 2.7em;
}

#content-list li {
  width: 31.8%;
  padding-bottom: 2em;
}

.txt-no-hit {
  width: 100%;
  text-align: center;
}

#page.minigame .contents-title + div {
  display: block;
  -webkit-box-orient: unset;
  -webkit-line-clamp: unset;
  overflow: auto;
}

/*////////// スライダー //////////*/

.slide-item {
  overflow: hidden;
  width: min(80vw, 400px);
  height: min(103vw, 520px);
  margin: 0 1em 1em;
  background-color: #fff;
  border-radius: min(5vw, 10px);
  box-shadow: 3px 3px 10px 0 rgba(0, 0, 0, 0.3);
}

.prev,
.next {
  position: absolute;
  width: min(4.8vw, 48px);
  height: min(4.8vw, 48px);
  margin: auto;
  background-color: #fff;
  border-radius: 50%;
  box-shadow: 3px 3px 10px 0 rgba(0, 0, 0, 0.3);
  cursor: pointer;
  top: 43%;
  z-index: 1;
}

.slick-arrow .icon {
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.prev {
  left: 5%;
}

.next {
  right: 5%;
}

.prev::after,
.next::after {
  position: absolute;
  content: "";
  width: 0.8em;
  height: 1em;
  margin: auto;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19 32"><path fill="%23171717" d="M2.108 31.659l-1.768-1.768c-0.47-0.47-0.47-1.216 0-1.671l12.213-12.213-12.213-12.213c-0.454-0.47-0.454-1.216 0-1.687l1.768-1.768c0.47-0.454 1.216-0.454 1.687 0l14.808 14.824c0.47 0.47 0.47 1.216 0 1.671l-14.808 14.824c-0.47 0.47-1.216 0.47-1.671 0z"></path></svg>');
  background-repeat: no-repeat;
  top: 0;
  bottom: 0;
}

.prev::after {
  left: 1em;
  transform: rotate(180deg);
}

.next::after {
  right: 1em;
}

#slider-screenshot {
  margin-top: 4em;
}

.screenshot-slide-item {
  overflow: hidden;
  width: auto;
  height: min(50vw, 500px);
  margin: 0 1em 1em;
  background-color: #c3c3c3;
}

.screenshot-slide-item img {
  display: block;
  height: 100%;
  width: auto;
}

.slider-thumbnail {
  margin: 0 auto;
}

.slider-thumbnail-img {
  overflow: hidden;
  width: min(15vw, 90px);
  height: min(15vw, 90px);
  background-color: #c3c3c3;
  margin: 0 0.3em;
}

.slider-thumbnail-img img {
  width: auto;
  height: 100%;
  margin: 0 auto;
}


#slider-thumbnail .slick-track {
  transform: unset!important;
  width: fit-content!important;
  margin: 2em auto 0!important;
}

#slider-thumbnail .slick-active {
  border: solid 3px #171717;
}

#content-detail-wrap {
  display: flex;
  justify-content: space-between;
  padding-bottom: 0;
}

#content-detail-wrap > div:first-of-type {
  width: 54%;
}

#content-detail-wrap > div:last-of-type {
  width: 38%;
}

.twitter-link a {
  display: flex;
  align-items: center;
  margin-top: 2.5em;
  font-weight: 700;
}

.download-area {
  display: flex;
  justify-content: flex-start;
  gap: 0.8em;
  margin: 3.5em 0 0;
}

.download-area a {
  width: fit-content;
}

.download-area a img {
  width: auto;
  height: min(6vw, 46px);
}

#content-detail-wrap .contents-type {
  padding-bottom: 1em;
  border-bottom: solid 2px #c3c3c3;
}

.game-spec dl {
  display: flex;
  flex-wrap: wrap;
}

.game-spec dt {
  color: #8d8d8d;
  width: 30%;
  padding: 1em;
  border-top: none;
  border-bottom: solid 1px #c3c3c3;
}

.game-spec dd {
  width: 70%;
  padding: 1em 1em 1em 0;
  border-bottom: solid 1px #c3c3c3;
}

.game-spec span.tag-name::after {
  content: " / ";
}

.game-spec span.tag-name:last-of-type::after {
  content: none;
}

/*////////// 採用情報 //////////*/

#page.recruit h2 img {
  left: auto;
}

.job-list {
  margin-top: 3em;
  padding: 2em 0 2.5em;
  border-top: solid 1px #c3c3c3;
  border-bottom: solid 1px #c3c3c3;
}

.job-list ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8em;
}

.job-list a {
  position: relative;
  display: inline-block;
  width: auto;
  min-width: 260px;
  padding: 1.2em 4em 1.2em 1.2em;
  background-color: #eeeeee;
  font-size: min(3.4vw, 18px);
  font-weight: 700;
}

.job-list a::after {
  position: absolute;
  content: "";
  width: 0.75em;
  height: 1.2em;
  margin: auto;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19 32"><path fill="%23a8a8a8" d="M2.108 31.659l-1.768-1.768c-0.47-0.47-0.47-1.216 0-1.671l12.213-12.213-12.213-12.213c-0.454-0.47-0.454-1.216 0-1.687l1.768-1.768c0.47-0.454 1.216-0.454 1.687 0l14.808 14.824c0.47 0.47 0.47 1.216 0 1.671l-14.808 14.824c-0.47 0.47-1.216 0.47-1.671 0z"></path></svg>');
  background-repeat: no-repeat;
  transform: rotate(90deg);
  top: 0;
  bottom: 0;
  right: 1.5em;
}

.job-list a:hover {
  filter: brightness(0.95);
}

h3.type2,
h4.type2 {
  position: relative;
  padding-left: 1em;
}

h3.type2::after,
h4.type2::after {
  position: absolute;
  content: "";
  width: min(0.6vw, 6px);
  height: 1.65em;
  background-color: #171717;
  top: 0;
  left: 0;
}

section.job-detail {
  padding-bottom: 0;
}

/*////////// お問合わせ //////////*/

#page.contact h2 {
  min-height: min(22vw, 170px);
}

#page.contact h2.h2-sub span {
  font-size: min(4vw, 26px);
  letter-spacing: 0.2em;
}

#page.contact form > p {
  padding-top: 1.5em;
}

.txt-important {
  padding: 3em;
  border: solid 2px #b1b1b1;
}

.btn-select-area {
  display: flex;
  flex-direction: column;
  gap: 1.5em;
  width: fit-content;
  margin: 4em auto 0;
}

.btn-select-area .btn {
  position: relative;
  width: 100%;
  margin: 0;
  padding-right: 4.2em;
}

.btn-select-area .btn::after {
  position: absolute;
  content: "";
  width: 0.75em;
  height: 1.2em;
  margin: auto;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19 32"><path fill="%23ffffff" d="M2.108 31.659l-1.768-1.768c-0.47-0.47-0.47-1.216 0-1.671l12.213-12.213-12.213-12.213c-0.454-0.47-0.454-1.216 0-1.687l1.768-1.768c0.47-0.454 1.216-0.454 1.687 0l14.808 14.824c0.47 0.47 0.47 1.216 0 1.671l-14.808 14.824c-0.47 0.47-1.216 0.47-1.671 0z"></path></svg>');
  background-repeat: no-repeat;
  top: 0;
  bottom: 0;
  right: 1.5em;
}

.txt-supplement {
  padding: 2em 0;
}

form.sent p {
  display: none;
}

.txt-file-type {
  padding-bottom: 3em;
  font-size: min(2vw, 14px);
  color: #8f8f8f;
}

/*////////// フッター //////////*/

footer {
  background-color: #efefef;
}

#footer-inner {
  width: min(90%, 1200px);
  margin: 0 auto;
  padding-top: 4.5em;
}

#footer-sns-area {
  display: flex;
  align-items: center;
  width: 100%;
  padding-bottom: 2.4em;
  border-bottom: solid 2px #c3c3c3;
  color: #7c7c7c;
  font-weight: 700;
}

#footer-sns-list {
  display: flex;
  margin-left: 5em;
  gap: 4em;
  flex-grow: 1;
}

#footer-sns-list li a {
  display: flex;
  align-items: center;
  font-weight: 700;
}

.icon_twitter,
.icon_youtube {
  width: 2.4em;
  height: 2.4em;
  margin-right: 0.8em;
}

footer nav {
  display: flex;
  justify-content: space-between;
  padding: 3em 0;
}

footer nav ul {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-content: flex-start;
  gap: 0 4em;
  height: 220px;
}

footer nav ul li {
  width: min(28vw, 280px);
  border-bottom: dotted 1px #a4a4a4;
}

footer nav ul li a {
  position: relative;
  width: 100%;
  padding: 0.8em 1em;
}

footer nav ul li a::after {
  position: absolute;
  content: "";
  width: 0.5em;
  height: 0.86em;
  margin: auto;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19 32"><path fill="%23a8a8a8" d="M2.108 31.659l-1.768-1.768c-0.47-0.47-0.47-1.216 0-1.671l12.213-12.213-12.213-12.213c-0.454-0.47-0.454-1.216 0-1.687l1.768-1.768c0.47-0.454 1.216-0.454 1.687 0l14.808 14.824c0.47 0.47 0.47 1.216 0 1.671l-14.808 14.824c-0.47 0.47-1.216 0.47-1.671 0z"></path></svg>');
  background-repeat: no-repeat;
  top: 0;
  bottom: 0;
  right: 0.5em;
}

footer nav ul li:first-child a,
footer nav ul li:nth-child(5n) a {
  border-top: dotted 1px #a4a4a4;
}

.search-box {
  position: relative;
  align-self: flex-start;
  width: min(28vw, 280px);
  height: min(5vw, 45px);
  border: solid 1px #dedede;
}

.search-box::after {
  position: absolute;
  content: "";
  width: 1.3em;
  height: 1.3em;
  margin: auto;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="%23a8a8a8" d="M31.095 26.68l-7.645-7.645c2.871-4.837 2.231-11.187-1.919-15.352-4.915-4.915-12.919-4.915-17.849 0s-4.915 12.934 0 17.849c2.465 2.465 5.695 3.682 8.924 3.682 2.231 0 4.447-0.593 6.428-1.763l7.645 7.645c0.608 0.608 1.404 0.921 2.2 0.921s1.591-0.312 2.2-0.921c1.217-1.217 1.217-3.198 0-4.415zM5.898 19.331c-3.698-3.713-3.698-9.736 0-13.433 1.857-1.857 4.291-2.777 6.709-2.777s4.868 0.921 6.709 2.777c3.698 3.698 3.698 9.72 0 13.433-1.794 1.794-4.181 2.777-6.709 2.777s-4.915-0.983-6.709-2.777z"></path></svg>');
  top: 0;
  bottom: 0;
  left: 1em;
}

.search-box input {
  height: 100%;
  margin-top: 0;
  padding-left: 2.6em;
}

hr {
  border-top: solid 3px #a4a4a4;
}

small {
  display: block;
  padding: 3em 0;
  font-size: 12px;
  text-align: center;
}

.widget_search input {
  flex-grow: 2;
  width: 60%;
  margin: 0;
  padding-left: 3em;
  border: solid 1px #c3c3c3;
}

.wp-block-search__inside-wrapper {
  position: relative;
  display: flex;
}

.wp-block-search__inside-wrapper::after {
  position: absolute;
  content: "";
  width: 1.3em;
  height: 1.3em;
  margin: auto;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="%23a8a8a8" d="M31.095 26.68l-7.645-7.645c2.871-4.837 2.231-11.187-1.919-15.352-4.915-4.915-12.919-4.915-17.849 0s-4.915 12.934 0 17.849c2.465 2.465 5.695 3.682 8.924 3.682 2.231 0 4.447-0.593 6.428-1.763l7.645 7.645c0.608 0.608 1.404 0.921 2.2 0.921s1.591-0.312 2.2-0.921c1.217-1.217 1.217-3.198 0-4.415zM5.898 19.331c-3.698-3.713-3.698-9.736 0-13.433 1.857-1.857 4.291-2.777 6.709-2.777s4.868 0.921 6.709 2.777c3.698 3.698 3.698 9.72 0 13.433-1.794 1.794-4.181 2.777-6.709 2.777s-4.915-0.983-6.709-2.777z"></path></svg>');
  top: 0;
  bottom: 0;
  left: 1em;
}

.wp-block-search__label {
  display: none;
}

.wp-block-search__button  {
  flex-grow: 1;
  width: min(8vw, 80px)!important;
  margin: 0!important;
  border: solid 1px #c3c3c3!important;
  border-left: none!important;
  background: #f8f8f8!important;
  color: #858585!important;
}


/*////////// 検索結果画面 //////////*/

.search-txt-wrap {
  margin-top: 1.5em;
  padding: 1.5em;
  border: solid 1px #c3c3c3;
  border-radius: 0.5em;
}

.search-explain {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

input::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

/*//////////////////////////////    1200px以下    //////////////////////////////*/

@media screen and (max-width: 1200px) {

  #page h2 img {
    width: auto;
    height: 100%;
  }

  #page h2 > span {
    padding: 0 5vw;
  }

  .page-inner {
    width: 90%;
    margin: 6vw auto 0;
  }

  /*////////// NEWS //////////*/
  
  .news-list {
    width: 95%;
  }

}

/*//////////////////////////////    1000px以下    //////////////////////////////*/

@media screen and (max-width: 1000px) {

  section {
    padding-top: 15vw;
  }

  /*////////// ヘッダー //////////*/

  header {
    height: 15vw;
  }

  header.open {
    background-color: rgba(255,255,255,0.98);
    box-shadow: none;
  }

  .g-nav-l {
    position: relative;
    flex-direction: column;
    width: 100%;
    height: auto;
    margin-top: 15vw;
  }

  .g-nav-l li,
  .g-nav-r li {
    height: fit-content;
    line-height: 1.4;
  }

  .g-nav-l li {
    padding: 4vw;
    border-top: dotted 1px #a4a4a4;
  }

  .g-nav-l li:last-child {
    border-bottom: dotted 1px #a4a4a4;
  }

  .g-nav-r {
    margin-left: 7vw;
  }

  .g-nav-r a {
    border-left: none;
    font-size: min(2.6vw, 1.8rem);
  }

  .g-nav-l a::after,
  .g-nav-r a::after {
    display: none;
  }

  .br-pc {
    display: none;
  }

  .br-sp {
    display: block;
  }

  /* SPメニュー */

  #sp-nav {
    position: fixed;
    flex-direction: column;
    width: 100%;
    height: 100%;
    background: rgba(255,255,255,0.98);
    top: 0;
    left: 0;
    z-index: 3;
    pointer-events: none;
    opacity: 0;
    transition: opacity .3s linear;
  }

  #sp-nav.open {
    opacity: 1;
    pointer-events: auto;
  }

  #btn-menu {
    position: relative;
    width: 15vw;
    height:15vw;
  }
  
  #btn-menu span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 4.5vw;
    height: 2px;
    background: #171717;
    width: 40%;
  }
  
  #btn-menu span:nth-of-type(1) {
    top: 5.5vw; 
  }
  
  #btn-menu span:nth-of-type(2) {
    top: 7.5vw;
  }
  
  #btn-menu span:nth-of-type(3) {
    top: 9.5vw;
  }
  
  #btn-menu.active span:nth-of-type(1) {
    top: 7.2vw;
    left: 4.5vw;
    transform-origin: center;
    transform: rotate(-45deg);
    width: 40%;
  }
  
  #btn-menu.active span:nth-of-type(2) {
    opacity: 0;
  }
  
  #btn-menu.active span:nth-of-type(3){
    top: 7.2vw;
    left: 4.5vw;
    transform-origin: center;
    transform: rotate(45deg);
    width: 40%;
  }

  /*////////// 検索結果 //////////*/

  .wp-block-search__inside-wrapper {
    margin-top: 2em;
 }

}

/*//////////////////////////////    750px以下    //////////////////////////////*/

@media screen and (max-width: 750px) {

  dd {
    padding-left: 1em;
  }

  .btn,
  input[type="submit"] {
    display: block;
  }

  #about dt {
    width: 30%;
  }

  #about dd {
    width: 70%;
  }

  #column-wrap {
    flex-direction: column;
  }

  #column-main,
  #column-side {
    width: 100%;
  }

  /*////////// NEWS //////////*/

  .news-list {
    width: 90vw;
    margin: 5vw auto 0;
    gap: 5vw;
  }

  .news-list li {
    width: 42.5vw;
  }

  .time-stamp {
    font-size: 12px;
  }

  #news-detail-header {
    flex-direction: column;
  }

  .sns-share-area {
    align-self: flex-end;
  }

  #column-side{
    padding: 2.6vw 0 10vw 0;
    border-left: none;
  }

  .newest-lineup li a {
    padding: 4vw 0 4vw 2.4vw;
    border-bottom: solid 1px #c3c3c3;
  }

  .news-img {
    height: 24.3vw;
   }  

  /*////////// コンテンツ //////////*/

  .lbl-checker label {
    min-width: 25vw;
  }

  #content-list {
    gap: 4%;
  }

  #content-list li {
    width: 48%;
    padding-bottom: 1.4em;
  }

  #content-detail-wrap {
    flex-direction: column;
  }

  #content-detail-wrap > div:first-of-type,
  #content-detail-wrap > div:last-of-type {
    width: 100%;
  }

  .download-area {
    justify-content: center;
  }

  .download-area a img {
    height: 13vw;
  }

  .game-spec {
    margin-top: 2.6em;
  }

  /*////////// スライダー //////////*/

  .slick-track {
    margin-left: 2em!important;
  }

  #slider-thumbnail .slick-track {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1em;
    padding: 0 1em;
  }

  #slider-thumbnail .slick-track:before,
  #slider-thumbnail .slick-track:after {
    display: none!important;
  }

  .slider-thumbnail-img {
    margin: 0;
  }

  /*////////// 採用情報 //////////*/

  .job-list li,
  .job-list li a {
    width: 100%;
  }

  /*////////// お問合わせ //////////*/

  .txt-important {
    padding: 1.8em;
  }

  .btn-select-area {
    width: 100%;
    margin: 2em auto 0;
  }

  /*////////// フッター //////////*/

  #footer-sns-area {
    flex-direction: column;
  }

  #footer-sns-list {
    margin-top: 1.5em;
    margin-left: 0;
  }

  #footer-sns-list li a {
    flex-direction: column;
  }

  .icon_twitter, .icon_youtube {
    width: 3em;
    height: 3em;
    margin-right: 0.8em;
  }

  footer nav {
    flex-direction: column;
  }

  footer nav ul {
    height: auto;
  }

  footer nav ul li {
    width: 100%;
  }

  footer nav ul li:first-child a,
  footer nav ul li:nth-child(5n) a {
    border-top: none;
  }

  .search-box {
    width: 100%;
    height: 11vw;
    margin-top: 7vw;
  }

  small {
    font-size: 10px;
  }

}