@charset "utf-8";
/*

Theme Name: フォッグ株式会社: Fogg, inc.
Description: フォッグ株式会社: Fogg, inc. WPテンプレート 2020
Theme URI: https://fogg.jp/
Author: Hirotaka Tamura
Author URI: http://clustar.jp/
Version: 1.0.0
License: Clustar Inc.
License URI: http://clustar.jp/

*/

/* **************************************************

  HOME:SERVICE
  
************************************************** */
/* --------------------
  スマホ表示時のロゴサイズ：スマホデザインの横幅÷750×100の数値
-------------------- */
@media screen and (max-width:599px) {
body.home #service #cheerz .logo img  { width: 40.8vw; }
body.home #service #cheerzplace .logo img  { width: 43.46666666666667vw; }
body.home #service #goods .logo img  { width: 41.73333333333333vw; }
body.home #service #exam .logo img  { width: 49.86666666666667vw; }
body.home #service #scramble .logo img  { width: 71.33333333333333vw; }
}

/* --------------------
  PC表示時のロゴサイズ：PCデザインの横幅÷1000×100の数値
-------------------- */
@media screen and (min-width:960px) and (max-width:1200px) {
body.home #service #cheerz .logo img  { width: 32.1vw; }
body.home #service #cheerzplace .logo img  { width: 32.6vw; }
body.home #service #goods .logo img  { width: 40.7vw; }
body.home #service #exam .logo img  { width: 37.4vw; }
body.home #service #scramble .logo img  { width: 41.5vw; }
}

/* --------------------
  微調整
-------------------- */
@media screen and (min-width:960px) {
body.home #service #cheerz .text .logo { margin-right: -31.25%; }
body.home #service #cheerzplace .text .logo { left: -1%; }
body.home #service #cheerzplace .text .btn1 { justify-content: flex-start; }
body.home #service #goods .text .logo { margin-left: -18.88888888888889%; }
body.home #service #exam .text .btn1 { justify-content: flex-end; }
body.home #service #exam .text .btn1 li:nth-child(2),
body.home #service #exam .text .btn1 li:nth-child(3) { display: none; }
body.home #service #scramble .text .logo { margin-right: -17.5%; }
body.home #service #scramble .text .btn1 { justify-content: flex-end; }
}


/* **************************************************

  ENTRY
  
************************************************** */
.entry-body {
  font-size: 3.733333333333333vw;
  line-height: 1.875;
}
.entry-body > *:nth-child(n+2) { margin-top: 1.5em; }
.entry-body a { text-decoration: underline; }
.entry-body h1,
.entry-body h2,
.entry-body h3,
.entry-body h4,
.entry-body h5,
.entry-body h6 { font-weight: 700; }
.entry-body h1 { font-size: 1.875em; }
.entry-body h2 { font-size: 1.25em; }
.entry-body h1 + *:nth-child(n+2) { margin-top: 3em; }
.entry-body h2 + *:nth-child(n+2),
.entry-body h3 + *:nth-child(n+2),
.entry-body h4 + *:nth-child(n+2),
.entry-body h5 + *:nth-child(n+2),
.entry-body h6 + *:nth-child(n+2) { margin-top: 0.5em; }
.entry-body strong { font-weight: 700; }
.entry-body em { font-style: italic; }
.entry-body li { position: relative; }
.entry-body li:before {
  position: absolute;
  top: 0;
  left: 0;
}
.entry-body ul,
.entry-body ol { padding-left: 1em; }
.entry-body ul li { padding-left: 1em; }
.entry-body ul li:before { content: "・"; }
.entry-body ol { counter-reset: number-counter; }
.entry-body ol li { padding-left: 2.5em; }
.entry-body ol li:before {
  content: "（"counter(number-counter)"）";
  counter-increment: number-counter;
}
.entry-body ol ol li {
  padding-left: 0;
  list-style-type: lower-alpha;
}
.entry-body ol ol li:before { display: none; }
.entry-body ul.row {
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
}
.entry-body ul.row li {
  margin: 0 10px 10px 0;
  padding-left: 0;
}
.entry-body ul.row li:last-child { margin-right: 0; }
.entry-body ul.row li:before { display: none; }
.entry-body .lead { font-size: 1.25em; }
.entry-body .caption { font-size: 0.75em; }
.entry-body .notes {
  font-size: 0.75em;
  color: #b7b6af;
}
.entry-body .mt1 { margin-top: 1em !important; }
.entry-body .mt2 { margin-top: 2em !important; }
.entry-body .mt3 { margin-top: 3em !important; }
.entry-body .mt4 { margin-top: 4em !important; }
.entry-body .mt5 { margin-top: 5em !important; }
.entry-body .mt6 { margin-top: 6em !important; }
.entry-body .mt7 { margin-top: 7em !important; }
.entry-body .mt8 { margin-top: 8em !important; }
.entry-body .mt9 { margin-top: 9em !important; }
.entry-body .mt10 { margin-top: 10em !important; }
.entry-body .image-wrap {
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}
.entry-body .image-wrap > *:nth-child(n+2) { margin-top: 1.5em; }
.entry-body .image-wrap img { width: 100%; }
.entry-body .video-wrap {
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}
.entry-body .video-wrap .video-inner {
  padding-top: 56.25%;
  position: relative;
}
.entry-body .video-wrap .video-inner iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (min-width:600px) {
.entry-body { font-size: 16px; }
}

@media screen and (min-width:768px) {
.entry-body a:hover { color: #b7b6af; }
}



/* **************************************************

  content
  
************************************************** */
/* ========================================
  content-header
======================================== */
.content-header {
  color: #fcfcfc;
  background: #080807;
  padding: calc(60px + 16vw) 9.333333333333333vw 20vw;
}
.content-header > .inner { letter-spacing: -0.4em; }
.content-header > .inner > * { letter-spacing: 0; }
.content-header a { color: #fcfcfc; }
.content-header .title {
  font-size: 10.66666666666667vw;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: -0.03em;
}
.content-header .title .num {
  font-size: 1.6vw;
  font-weight: 500;
  display: block;
  letter-spacing: 0.1em;
  width: 1.2em;
  margin: 0 0 0.5em 0.4em;
}
.content-header .title .num:after {
  font-weight: 300;
  color: #919191;
  content: "/";
  margin-left: 0.2em;
}
.content-header .link { display: none; }
.content-header .link a { color: #3a3a38; }
.content-header .archive-nav {
  font-size: 3.2vw;
  margin-top: 18.66666666666667vw;
}
.content-header .archive-nav + .archive-nav { margin-top: 12vw; }
.content-header .archive-nav ul { letter-spacing: -0.4em; }
.content-header .archive-nav li {
  display: inline-block;
  vertical-align: top;
  letter-spacing: 0.05em;
}
.content-header .archive-nav li a { display: block; }
.content-header .archive-nav li.current-cat a { cursor: default; }

@media screen and (min-width:600px) {
.content-header { padding: 185px 40px 145px; }
.content-header > .inner {
  box-sizing: border-box;
  max-width: 1000px;
  margin: 0 auto;
}
.content-header .title { font-size: 50px; }
.content-header .title .num { font-size: 10px; }
.content-header .archive-nav {
  font-size: 14px;
  margin-top: 50px;
}
.content-header .archive-nav + .archive-nav { margin-top: 20px; }
}

@media screen and (min-width:768px) {
.content-header .title { position: relative; }
.content-header .title .num {
  margin-bottom: 0;
  position: absolute;
  left: 0;
  top: 0.5em;
}
}

@media screen and (min-width:768px) and (max-width:959px) {
.content-header .title .num + .o { padding-left: 45px; }
}

@media screen and (max-width:959px) {
.content-header .archive-nav { overflow: hidden; }
.content-header .archive-nav ul { margin-top: -1em; }
.content-header .archive-nav li { margin-top: 1em; }
.content-header .archive-nav li a {
  min-width: 2.4em;
  padding-left: 1.5em;
  position: relative;
}
.content-header .archive-nav li a:before {
  font-size: 0.6666666666666667em;
  line-height: 1.5;
  background: #fcfcfc;
  text-align: center;
  width: 1.5em;
  height: 1.5em;
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-60%);
  transform: translateY(-60%);
}
.content-header .archive-nav li:not(:last-child) { margin-right: 1em; }
.content-header .archive-nav li.current-cat a:before {
  font-family: 'icon';
  color: #080807;
  background: #777776;
  content: "\e904";
}
}

@media screen and (min-width:960px) {
.content-header { padding: 185px 100px 145px; }
.content-header .inner:not(.no-num) { padding-left: 45px; }
.content-header .title,
.content-header .link {
  display: inline-block;
  vertical-align: bottom;
}
.content-header .title .num { left: -45px; }
.content-header .link {
  font-size: 30px;
  font-weight: 700;
  line-height: 1.2;
  color: #3a3a38;
  letter-spacing: -0.03em;
  margin-left: 1em;
}
.content-header .link i {
  font-size: 10px;
  font-weight: 400;
  color: #62625f;
  display: inline-block;
  letter-spacing: 0;
  vertical-align: middle;
  margin-left: 1.5em;
  -webkit-transform: translateY(-0.2em);
  transform: translateY(-0.2em);
}
.content-header .link a:hover { color: #fcfcfc; }
.content-header .archive-nav {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: -0.4em;
  margin-top: 50px;
}
.content-header .archive-nav + .archive-nav { margin-top: 20px; }
.content-header .archive-nav ul { border-left: solid 1px #3a3a38; }
.content-header .archive-nav ul:after {
  display: block;
  content: "";
  clear: both;
}
.content-header .archive-nav li {
  display: block;
  float: left;
  box-sizing: border-box;
  text-align: center;
  border-top: solid 1px #3a3a38;
  border-right: solid 1px #3a3a38;
  border-bottom: solid 1px #3a3a38;
  margin-top: -1px;
}
.content-header .archive-nav li a {
  padding: 0.6em 1.5em;
  -webkit-transition: color 0.2s ease, background 0.2s ease;
  transition: color 0.2s ease, background 0.2s ease;
}
.content-header .archive-nav li a:hover,
.content-header .archive-nav li.current-cat a {
  color: #080807;
  background: #fcfcfc;
}
}

@media screen and (min-width:1200px) {
.content-header .title { font-size: 60px; }
.content-header .link { font-size: 40px; }
.content-header .link .c { padding-right: 0.1em; }
}


/* ========================================
  content-footer
======================================== */
.content-footer { padding: 13.33333333333333vw 9.333333333333333vw 26.66666666666667vw; }

@media screen and (min-width:600px) {
.content-footer { padding: 100px 40px 150px; }
}

@media screen and (min-width:960px) {
.content-footer { padding: 100px 100px 150px; }
}



/* **************************************************

  service-item
  
************************************************** */
.service-item .item:nth-child(n+2) { margin-top: 20vw; }
.service-item .item { position: relative; }
.service-item .item .image {
  max-width: 470px;
  width: 62.66666666666667vw;
}
.service-item .item .image .content__item-img {
  display: block;
  overflow: hidden;
  position: relative;
  opacity: 0;
  -webkit-transform: translateX(50%) skewX(-10deg);
  transform: translateX(50%) skewX(-10deg);
  -webkit-transition: -webkit-transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.service-item .item:nth-child(even) .image .content__item-img {
  -webkit-transform: translateX(-50%) skewX(10deg);
  transform: translateX(-50%) skewX(10deg);
}
.service-item .item .image img { display: block; }
.service-item .item .text { margin-top: 6.666666666666667vw; }
.service-item .item .text .logo { overflow: hidden; }
.service-item .item .text .logo img,
.service-item .item .text .text-fx {
  opacity: 0;
  -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.service-item .item .text .logo img {
  font-size: 0;
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
  -webkit-transform: translateY(100%);
  transform: translateY(100%);
}
.service-item .item .text .text-fx {
  -webkit-transition-delay: 0.4s;
  transition-delay: 0.4s;
  -webkit-transform: translateY(50px);
  transform: translateY(50px);
}
.service-item .item .text .txt1 {
  font-size: 4vw;
  font-weight: 700;
  line-height: 1.666666666666667;
}
.service-item .item .text .txt2 {
  font-size: 3.2vw;
  line-height: 1.666666666666667;
  margin-top: 1em;
}
.service-item .item .text .btn1 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 88.52459016393443%;
  margin: 6.666666666666667vw auto 0;
}
.service-item .item .text .btn1.center { justify-content: center; }
.service-item .item .text .btn1 li img.appstore { width: 15.73333333333333vw; }
.service-item .item .text .btn1 li img.googleplay { width: 18.4vw; }

/* --------------------
  is-on
-------------------- */
.is-complete .service-item .item.is-on .image .content__item-img {
  opacity: 1;
  -webkit-transform: translateX(0) skewX(0) !important;
  transform: translateX(0) skewX(0) !important;
}
.is-complete .service-item .item.is-on .text .logo img,
.is-complete .service-item .item.is-on .text .text-fx {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

@media screen and (max-width:599px) {
.service-item .item .text .txt1 br.sp,
.service-item .item .text .txt2 br.sp { display: inline !important; }
}

@media screen and (max-width:959px) {
/* item 5n+1 */
.service-item .item:nth-child(5n+1) .image {
  width: 72vw;
  max-width: 500px;
  margin-left: -9.333333333333333vw;
}
.service-item .item:nth-child(5n+1) .text .txt1 { margin-top: 1.5em; }
.service-item .item:nth-child(5n+1) .text .btn1 { margin-left: 0; }

/* item 5n+2 */
.service-item .item:nth-child(5n+2) { margin-top: 26.66666666666667vw; }
.service-item .item:nth-child(5n+2) .image { margin: 0 auto; }
.service-item .item:nth-child(5n+2) .text { text-align: center; }
.service-item .item:nth-child(5n+2) .text .logo {
  z-index: 1;
  position: absolute;
  top: -10vw;
  right: -2.666666666666667vw;
}

/* item 5n+3 */
.service-item .item:nth-child(5n+3) .text .logo {
  position: absolute;
  top: 31.33333333333333vw;
  right: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

/* item 5n+4 */
.service-item .item:nth-child(5n+4) .image { margin: 0 -9.333333333333333vw 0 auto; }
.service-item .item:nth-child(5n+4) .text { text-align: right; }
.service-item .item:nth-child(5n+4) .text .logo {
  position: absolute;
  top: 31.33333333333333vw;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.service-item .item:nth-child(5n+4) .text .btn1 li:nth-child(1) { order: 3; }
.service-item .item:nth-child(5n+4) .text .btn1 li:nth-child(2) { order: 1; }
.service-item .item:nth-child(5n+4) .text .btn1 li:nth-child(3) { order: 2; }

/* item 5n+5 */
.service-item .item:nth-child(5n+5) { margin-top: 28vw; }
.service-item .item:nth-child(5n+5) .image { margin: 0 auto; }
.service-item .item:nth-child(5n+5) .text { text-align: center; }
.service-item .item:nth-child(5n+5) .text .logo {
  text-align: center;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: translateY(-96%);
  transform: translateY(-96%);
}
}

@media screen and (min-width:600px) {
.service-item .item:nth-child(n+2) { margin-top: 150px; }
.service-item .item .text { margin-top: 50px; }
.service-item .item .text .txt1 { font-size: 15px; }
.service-item .item .text .txt2 { font-size: 12px; }
.service-item .item .text .btn1 {
  max-width: 300px;
  width: auto;
  margin-top: 35px;
}
.service-item .item .text .btn1 li img.appstore { width: 70px; }
.service-item .item .text .btn1 li img.googleplay { width: 81px; }
}

@media screen and (min-width:600px) and (max-width:959px) {
.service-item .item .text .txt1 br.tab,
.service-item .item .text .txt2 br.tab { display: inline !important; }

/* item 5n+1 */
.service-item .item:nth-child(5n+1) .image { margin-left: -40px; }
/* item 5n+4 */
.service-item .item:nth-child(5n+4) .image { margin-right: -40px; }
}

@media screen and (min-width:768px) and (max-width:959px) {
/* item 5n+1 */
.service-item .item:nth-child(5n+1) .image { margin-left: 0; }
/* item 5n+4 */
.service-item .item:nth-child(5n+4) .image { margin-right: 0; }
}

@media screen and (max-width:959px) {
.service-item .item .content__item-title {
  -webkit-transform: none !important;
  transform: none !important;
}
}

@media screen and (min-width:960px) {
.service-item .item .image {
  max-width: 500px !important;
  width: 50% !important;
}
.service-item .item .text { margin-top: 0; }

/* item 5n+1 */
.service-item .item:nth-child(4n+1) .image { margin: 0 5% 0 auto; }
.service-item .item:nth-child(4n+1) .text {
  text-align: right;
  max-width: 400px;
  width: 40%;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.service-item .item:nth-child(4n+1) .text .txt1 { margin-top: 3em; }
.service-item .item:nth-child(4n+1) .text .btn1 { margin: 35px 0 0 auto; }
.service-item .item:nth-child(4n+1) .text .btn1 li:nth-child(1) { order: 3; }
.service-item .item:nth-child(4n+1) .text .btn1 li:nth-child(2) { order: 1; }
.service-item .item:nth-child(4n+1) .text .btn1 li:nth-child(3) { order: 2; }

/* item 5n+2 */
.service-item .item:nth-child(4n+2) .image { margin: 0 auto; }
.service-item .item:nth-child(4n+2) .text {
  width: 100%;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.service-item .item:nth-child(4n+2) .text .logo {
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.service-item .item:nth-child(4n+2) .text .text-inner {
  max-width: 200px;
  width: 20%;
  margin-left: auto;
}
.service-item .item:nth-child(4n+2) .text .btn1 { margin: 35px auto 0 0; }

/* item 5n+3 */
.service-item .item:nth-child(4n+3) .text {
  width: 45%;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.service-item .item:nth-child(4n+3) .text .txt1 { margin-top: 3em; }
.service-item .item:nth-child(4n+3) .text .btn1 { margin: 35px auto 0 0; }

/* item 5n+4 */
.service-item .item:nth-child(4n+4) .image { /*margin: 0 auto;*/ margin: 0 0 0 40%; }
.service-item .item:nth-child(4n+4) .text {
  text-align: right;
  width: 100%;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.service-item .item:nth-child(4n+4) .text .logo {
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.service-item .item:nth-child(4n+4) .text .text-inner {
  max-width: 340px;
  width: 38%;
}
.service-item .item:nth-child(4n+4) .text .btn1 { margin: 35px 0 0 auto; }
}

@media screen and (max-width:1199px) {
.service-item .item .text .txt1 br:not(.fix),
.service-item .item .text .txt2 br:not(.fix) { display: none; }
}

@media screen and (min-width:1200px) {
.service-item .item .text .txt1 br.sp,
.service-item .item .text .txt2 br.sp,
.service-item .item .text .txt1 br.tab,
.service-item .item .text .txt2 br.tab { display: none; }
.service-item .item .text .txt1 br.pc,
.service-item .item .text .txt2 br.pc { display: inline; }
}



/* **************************************************

  section
  
************************************************** */
.section { position: relative; }
.section > .inner {
  margin: 0 auto;
  position: relative;
}


/* ========================================
  max
======================================== */
.section.max-800 > .inner { max-width: 800px; }
.section.max-1000 > .inner { max-width: 1000px; }


/* ========================================
  inner
======================================== */
.section .inner.max-800,
.section .inner.max-1000 { margin: 0 auto; }
.section .inner.max-800 { max-width: 800px; }
.section .inner.max-1000 { max-width: 1000px; }


/* ========================================
  bg
======================================== */
.section.black {
  color: #fcfcfc !important;
  background: #080807 !important;
}
.section.black a { color: #fcfcfc; }


/* ========================================
  section-footer
======================================== */
.section-footer { margin-top: 90px; }
.section-footer .pagination { justify-content: flex-end; }

@media screen and (min-width:600px) {
.section-footer { margin-top: 90px; }
}



/* **************************************************

  press-item
  
************************************************** */
.press-item {
  font-size: 3.733333333333333vw;
  line-height: 1.571428571428571;
  word-break: break-all;
}
.press-item li {
  border-bottom: solid 1px #efeee9;
  position: relative;
}
.press-item li a {
  display: block;
  padding: 1em 0;
}
.press-item li a > span { display: block; }
.press-item li a > span.date {
  font-size: 2.4vw;
  font-weight: 300;
  color: #191919;
  letter-spacing: 0.1em;
}
.press-item li a > span.txt {
  margin-top: 0.25em;
  overflow: hidden;
  padding-right: 3em
}
.press-item li i {
  font-size: 1.615384615384615em;
  color: #b3b0a4;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media screen and (max-width:599px) {
.press-item li:nth-child(1) a { padding-top: 0; }
.press-item li a > span.txt {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}
}

@media screen and (min-width:600px) {
.press-item { font-size: 13px; }
.press-item li:nth-child(1) { border-top: solid 1px #efeee9; }
.press-item li a > span.date { font-size: 10px; }
.press-item li a > span.txt {
  text-overflow: ellipsis;
  white-space: nowrap;
  padding-right: 2em;
}
}

@media screen and (min-width:768px) {
.press-item li a {
  display: table;
  table-layout: fixed;
  width: 100%;
}
.press-item li a > span {
  display: table-cell;
  vertical-align: middle;
}
.press-item li a > span.date { width: 8em; }
}



/* **************************************************

  box-item
  
************************************************** */
/*
.info-item-x2 .item,
.info-item-x5 .item { cursor: pointer; }
*/
.info-item-x2 .item > .image img,
.info-item-x5 .item > .image img {
  display: block;
  position: relative;
  z-index: 1;
}
.info-item-x2 .item > .text .meta,
.info-item-x5 .item > .text .meta { letter-spacing: -0.4em; }
.info-item-x2 .item > .text .meta li,
.info-item-x5 .item > .text .meta li {
  display: inline-block;
  letter-spacing: 0.1em;
  vertical-align: top;
}
.info-item-x2 .item > .text .meta li.category,
.info-item-x5 .item > .text .meta li.category {
  font-size: 3.2vw;
  line-height: 4.067605633802817vw;
  color: #96968e;
  letter-spacing: 0.1em;
}
.info-item-x2 .item > .text .meta li.category img,
.info-item-x5 .item > .text .meta li.category img {
  width: auto;
  height: 4.067605633802817vw;
}
.info-item-x2 .item > .text .meta li.date,
.info-item-x5 .item > .text .meta li.date {
  font-size: 2.4vw;
  font-weight: 300;
  line-height: 4.067605633802817vw;
  margin-left: 1.7em;
}
.info-item-x2 .item > .text .entry-title,
.info-item-x5 .item > .text .entry-title {
  line-height: 1.5625;
  word-break: break-all;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  margin-top: 0.5em;
}

@media screen and (min-width:600px) {
.info-item-x2 .item,
.info-item-x5 .item { background: #fcfcfc; }
.info-item-x2 .item > .text .meta li.category,
.info-item-x5 .item > .text .meta li.category {
  font-size: 12px;
  line-height: 18px;
}
.info-item-x2 .item > .text .meta li.category img,
.info-item-x5 .item > .text .meta li.category img { height: 18px; }
.info-item-x2 .item > .text .meta li.date,
.info-item-x5 .item > .text .meta li.date {
  font-size: 10px;
  line-height: 18px;
  color: #b7b6af;
}
}

@media screen and (min-width:768px) {
.info-item-x2 .item > .image,
.info-item-x5 .item > .image { overflow: hidden; }
.info-item-x2 .item > .image img,
.info-item-x5 .item > .image img {
  -webkit-transition: -webkit-transform 0.4s ease-in-out;
  transition: transform 0.4s ease-in-out;
}
.info-item-x2 .item:hover > .image img,
.info-item-x5 .item:hover > .image img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
}


/* ========================================
  info-item-x2, info-item-x5 .min
======================================== */
.info-item-x2 .item,
.info-item-x5 .item.min {
  display: table;
  table-layout: fixed;
  box-sizing: border-box;
  width: 100%;
}
.info-item-x2 .item > *,
.info-item-x5 .item.min > * {
  display: table-cell;
  vertical-align: top;
}
.info-item-x2 .item > .image,
.info-item-x5 .item.min > .image { width: 22.66666666666667vw; }
.info-item-x2 .item > .text,
.info-item-x5 .item.min > .text { padding-left: 5.333333333333333vw; }
.info-item-x2 .item > .text .entry-title,
.info-item-x5 .item.min > .text .entry-title { font-size: 3.733333333333333vw; }

@media screen and (max-width:599px) {
.info-item-x2 .item,
.info-item-x5 .item.min {
  padding: 4vw 0;
  border-bottom: solid 1px #efeee9;
}
.info-item-x2 .item:nth-child(1),
.info-item-x5 .item.min:nth-child(1) { padding-top: 0; }
.info-item-x5 .item:not(.min) + .item.min  {
  margin-top: 12vw;
  padding-top: 0;
}
}

@media screen and (min-width:600px) {
.info-item-x2 .item > .image,
.info-item-x5 .item.min > .image { width: 100px; }
.info-item-x2 .item > .text,
.info-item-x5 .item.min > .text { padding: 15px 20px; }
.info-item-x2 .item > .text,
.info-item-x5 .item.min > .text {
  border-right: solid 1px #efeee9;
  border-bottom: solid 1px #efeee9;
}
.info-item-x2 .item:nth-child(1) > .text,
.info-item-x5 .item.min:nth-child(1) > .text { border-top: solid 1px #efeee9; }
.info-item-x2 .item > .text .entry-title,
.info-item-x5 .item.min > .text .entry-title {
  font-size: 14px;
  -webkit-line-clamp: 2;
}
}

@media screen and (min-width:600px) and (max-width:767px) {
.info-item-x5 .item:not(.min) + .item.min  { margin-top: 90px; }
.info-item-x5 .item:not(.min) + .item.min > .text { border-top: solid 1px #efeee9; }
}

@media screen and (min-width:960px) {
.info-item-x2,
.info-item-x5 {
  display: flex;
  flex-wrap: wrap;
}
.info-item-x2 .item,
.info-item-x5 .item.min { width: 50%; }
.info-item-x2 .item:nth-child(2) > .text,
.info-item-x5 .item.min:nth-child(2) > .text { border-top: solid 1px #efeee9; }
/*
.info-item-x2 .item:nth-child(odd) > .text,
.info-item-x5 .item.min:nth-child(odd) > .text { border-right: none; }
*/
}


/* ========================================
  info-item-x5
======================================== */
.info-item-x5 .item > .text .entry-title { font-size: 4.266666666666667vw; }

@media screen and (max-width:599px) {
.info-item-x5 .item:not(.min) {
  width: 72vw;
  margin: 0 auto;
}
.info-item-x5 .item:not(.min):nth-child(n+2) { margin-top: 12vw; }
.info-item-x5 .item:not(.min) > .text { margin-top: 5.333333333333333vw; }
}

@media screen and (min-width:600px) {
.info-item-x5 {
  display: flex;
  flex-wrap: wrap;
}
.info-item-x5 .item:not(.min) {
  width: 50%;
  margin: 0;
  border-bottom: solid 1px #efeee9;
  position: relative;
}
.info-item-x5 .item:not(.min):before,
.info-item-x5 .item:not(.min):after {
  display: block;
  content: "";
  height: 100%;
  position: absolute;
  top: 0;
}
.info-item-x5 .item:not(.min):before { left: 0; }
.info-item-x5 .item:not(.min):after {
  border-right: solid 1px #efeee9;
  right: 0;
}
.info-item-x5 .item:not(.min) > .text { padding: 20px; }
.info-item-x5 .item:not(.min) > .text .meta { position: relative; }
.info-item-x5 .item:not(.min) > .text .meta li.date {
  position: absolute;
  top: 0;
  right: 0;
}
.info-item-x5 .item:not(.min) > .text .entry-title {
  font-size: 15px;
  overflow: hidden;
  display: -webkit-box;
  margin-top: 1em;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}
}

@media screen and (min-width:600px) and (max-width:767px) {
.info-item-x5 .item:not(.min):nth-child(2n+1):before { border-left: solid 1px #efeee9; }
}

@media screen and (min-width:768px) {
.info-item-x5 .item:not(.min) { width: 33.33333333333333%; }
}

@media screen and (min-width:768px) and (max-width:959px) {
.info-item-x5 .item:not(.min):nth-child(3n+1):before { border-left: solid 1px #efeee9; }
}

@media screen and (min-width:960px) {
.info-item-x5 .item:not(.min) { width: 25%; }
}

@media screen and (min-width:960px) and (max-width:1199px) {
.info-item-x5 .item:not(.min):nth-child(4n+1):before { border-left: solid 1px #efeee9; }
}

@media screen and (min-width:1200px) {
.info-item-x5 .item:not(.min) { width: 20%; }
.info-item-x5 .item:not(.min):nth-child(5n+1):before { border-left: solid 1px #efeee9; }
}



/* **************************************************

  home
  
************************************************** */
body.home #content { min-height: 100vh; }


/* ========================================
  main
======================================== */
body.home #main {
  color: #fcfcfc;
  background: #080807;
}
body.home #main a { color: #fcfcfc; }
body.home #main .swiper-slide { overflow: hidden; }
body.home #main .swiper-slide .image {
  -webkit-transition: -webkit-transform 1s cubic-bezier(0.165, 0.840, 0.440, 1.000) 1s, opacity 2s ease-out 1s;
  transition: transform 1s cubic-bezier(0.165, 0.840, 0.440, 1.000) 1s, opacity 2s ease-out 1s;
}
/*
body.home #main .swiper-slide .message .fogg { filter: drop-shadow(0 0 10px rgba(0,0,0,0.2)); }
*/
body.home #main .swiper-slide .message .fogg svg image {
  -webkit-transition: -webkit-transform 1s cubic-bezier(0.190, 1.000, 0.220, 1.000) 1s;
  transition: transform 1s cubic-bezier(0.190, 1.000, 0.220, 1.000) 1s;
}
body.home #main .swiper-slide .image {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  width: 100%;
  height: 100vh;
  opacity: 0;
  position: relative;
  -webkit-transform: scale(1.4);
  transform: scale(1.4);
}
body.home #main .swiper-slide .message {
  position: absolute;
  top: 34.8575712143928%;
  left: 50%;
}
body.home #main .swiper-slide .message .copy {
  font-size: 5.333333333333333vw;
  letter-spacing: -0.4em;
}
body.home #main .swiper-slide .message .copy > * {
  display: inline-block;
  letter-spacing: 0;
  vertical-align: top;
  position: relative;
  overflow: hidden;
}
body.home #main .swiper-slide .message .copy > *:nth-child(n+2) { margin-left: 0.25em; }
body.home #main .swiper-slide .message .copy > strong { font-weight: 500; }
body.home #main .swiper-slide .message .copy > span { font-weight: 300; }
body.home #main .swiper-slide .message .copy > * > span {
  display: block;
  -webkit-transform: translateX(-102%);
  transform: translateX(-102%);
  -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: transform 0.4s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
body.home #main .swiper-slide .message .copy > * > span:before {
  background: #fcfcfc;
  display: block;
  content: "";
  width: 100%;
  height:100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
}
body.home #main .swiper-slide .message .fogg {
  width: 81.46666666666667vw;
  margin-top: 5.333333333333333vw;
  overflow: hidden;
  z-index: 9999;
  opacity: 0;
  -webkit-transition: opacity 2s ease-out 0.5s;
  transition: opacity 2s ease-out 0.5s;
}
body.home #main .swiper-slide .message .fogg svg {
  max-width: 100%;
  width: 100%;
  height: auto;
}
body.home #main .swiper-slide .message .fogg svg g { width: 100%; }
body.home #main .swiper-slide .message .fogg svg image {
  -webkit-transform-origin: center center;
  transform-origin: center center;
  -webkit-transform: scale(1.227495908346972);
  transform: scale(1.227495908346972);
}
body.home #main .swiper-slide .text {
  letter-spacing: 0.1em;
  position: absolute;
  right: 9.333333333333333vw;
  bottom: 21.33333333333333vw;
}
body.home #main .swiper-slide .text .title,
body.home #main .swiper-slide .text .txt1 { z-index: 1; }
body.home #main .swiper-slide .text .title {
  font-size: 3.733333333333333vw;
  font-weight: 700;
  position: relative;
}
body.home #main .swiper-slide .text .title .icon-arrow-right {
  font-weight: 400;
  margin-left: 0.5em;
}
body.home #main .swiper-slide .text .txt1 {
  font-size: 2.666666666666667vw;
  line-height: 1.818181818181818;
  white-space: nowrap;
  position: absolute;
  bottom: -1em;
  -webkit-transform: translateY(100%);
  transform: translateY(100%);
}
body.home #main .swiper-slide .text .loader {
  position: absolute;
  top: 0;
}
body.home #main .swiper-slide .text .loader .circle-loader .txt {
  -webkit-transform: translate(-20%,-45%);
  transform: translate(-20%,-45%);
}
body.home #main .swiper-slide .text .loader .circle-loader .txt strong {
  font-size: 2.909090909090909em;
  font-weight: 500;
  margin-right: 0.2em;
}
body.home #main .swiper-slide .text .loader .circle-loader .circle {
  width: 20vw;
  height: 20vw;
  -webkit-transition: 0s 1s;
  transition: 0s 1s;
}
body.home #main .swiper-slide .text .loader .circle-loader .circle svg,
body.home #main .swiper-slide .text .loader .circle-loader .circle svg:nth-child(2) path {
  -webkit-transition-timing-function: linear;
  transition-timing-function: linear;
  -webkit-transition-duration: 6s;
  transition-duration: 6s;
  -webkit-transition-delay: 1s;
  transition-delay: 1s;
}
body.home #main .swiper-slide .text .loader .circle-loader .circle svg path,
body.home #main .swiper-slide .text .loader .circle-loader .circle svg:nth-child(2) path { stroke: #fcfcfc; }

@media screen and (max-width:599px) {
body.home #main .swiper-slide .text { text-align: right; }
body.home #main .swiper-slide .text .title .icon-arrow-right { display: none; }
body.home #main .swiper-slide .text .loader {
  right: 0;
  -webkit-transform: translateY(-80%);
  transform: translateY(-80%);
}
body.home #main .swiper-slide .text .txt1 {
  width: 81.33333333333333vw;
  right: 0;
}
}

@media screen and (min-width:600px) {
body.home #main .swiper-slide .message .copy { font-size: 32px; }
body.home #main .swiper-slide .text {
  min-width: 230px;
  right: 50px;
  bottom: 95px;
}
body.home #main .swiper-slide .text .title { font-size: 16px; }
body.home #main .swiper-slide .text .txt1 { font-size: 11px; }
body.home #main .swiper-slide .text .loader {
  left: 0;
  -webkit-transform: translate(-50%,-75%);
  transform: translate(-50%,-75%);
}
body.home #main .swiper-slide .text .loader .circle-loader .circle {
  width: 100px;
  height: 100px; 
}
body.home #main .swiper-slide .text .txt1 {
  width:100%;
  left: 0;
}
}

@media screen and (max-width:767px) {
body.home #main .swiper-slide .image { min-height: 480px; }
body.home #main .swiper-slide .message {
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
body.home #main .swiper-slide .text { max-width: 81.33333333333333vw; }
body.home #main .swiper-slide .message .fogg svg image:nth-child(2) { display: none; }
}

@media screen and (min-width:768px) {
body.home #main .swiper-slide .image { min-height: 640px; }
body.home #main .swiper-slide .message {
  top: 50%;
  left: 100px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
body.home #main .swiper-slide .message .fogg {
  width: 57.41666666666667vw;
  margin-top: 30px;
}
body.home #main .swiper-slide .message .fogg svg image {
  -webkit-transform: scale(1.741654571843251);
  transform: scale(1.741654571843251);
}
body.home #main .swiper-slide .message .fogg svg image:nth-child(1) { display: none; }

/* for IE */
html.ie  body.home #main .swiper-slide .message .fogg { width: 510px; }
}

@media screen and (min-width:1200px) {
body.home #main .swiper-slide .message .fogg { width: 690px; }
}


/* ==============================
  is-complete
============================== */
.is-complete body.home #main .swiper-slide .image { opacity: 1; }
.is-complete body.home #main .swiper-slide .message .fogg { opacity: 1; }


/* ==============================
  swiper-slide-active
============================== */
.is-complete body.home #main .swiper-slide.swiper-slide-active .image,
.is-complete body.home #main .swiper-slide.swiper-slide-active .message .fogg svg image,
.is-complete body.home #main .swiper-slide.swiper-slide-duplicate-active .image,
.is-complete body.home #main .swiper-slide.swiper-slide-duplicate-active .message .fogg svg image {
  -webkit-transition-duration: 20s, 2s;
  transition-duration: 20s, 2s;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
.is-complete body.home #main .swiper-slide.swiper-slide-active .image,
.is-complete body.home #main .swiper-slide.swiper-slide-duplicate-active .image {
  -webkit-transform: scale(1);
  transform: scale(1);
}
.is-complete body.home #main .swiper-slide.swiper-slide-active .message .fogg svg image,
.is-complete body.home #main .swiper-slide.swiper-slide-duplicate-active .message .fogg svg image {
  -webkit-transform: scale(1.627495908346972);
  transform: scale(1.627495908346972);
}
.is-complete body.home #main .swiper-slide.swiper-slide-active .message .copy > * > span,
.is-complete body.home #main .swiper-slide.swiper-slide-duplicate-active .message .copy > * > span {
  -webkit-transform: translateX(0);
  transform: translateX(0);
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
}
.is-complete body.home #main .swiper-slide.swiper-slide-active .message .copy > * > span:before,
.is-complete body.home #main .swiper-slide.swiper-slide-duplicate-active .message .copy > * > span:before {
  -webkit-transform: translateX(102%);
  transform: translateX(102%);
  -webkit-transition-delay: 0.6s;
  transition-delay: 0.6s;
}
.is-complete body.home #main .swiper-slide.swiper-slide-active .message .copy > *:nth-child(2) > span,
.is-complete body.home #main .swiper-slide.swiper-slide-duplicate-active .message .copy > *:nth-child(2) > span {
  -webkit-transition-delay: 0.4s;
  transition-delay: 0.4s;
}
.is-complete body.home #main .swiper-slide.swiper-slide-active .message .copy > *:nth-child(2) > span:before,
.is-complete body.home #main .swiper-slide.swiper-slide-duplicate-active .message .copy > *:nth-child(2) > span:before {
  -webkit-transition-delay: 0.8s;
  transition-delay: 0.8s;
}
.is-complete body.home #main .swiper-slide.swiper-slide-active .text .loader .circle-loader .circle,
.is-complete body.home #main .swiper-slide.swiper-slide-duplicate-active .text .loader .circle-loader .circle {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transition: none;
  transition: none;
}
.is-complete body.home #main .swiper-slide.swiper-slide-active .text .loader .circle-loader .circle svg:nth-child(2) path,
.is-complete body.home #main .swiper-slide.swiper-slide-duplicate-active .text .loader .circle-loader .circle svg:nth-child(2) path { stroke-dashoffset: 0; }
.is-complete body.home #main .swiper-slide.swiper-slide-active .text .loader .circle-loader .circle svg,
.is-complete body.home #main .swiper-slide.swiper-slide-duplicate-active .text .loader .circle-loader .circle svg,
.is-complete body.home #main .swiper-slide.swiper-slide-active .text .loader .circle-loader .circle svg:nth-child(2) path,
.is-complete body.home #main .swiper-slide.swiper-slide-duplicate-active .text .loader .circle-loader .circle svg:nth-child(2) path {
  -webkit-transition-delay: 0s !important;
  transition-delay: 0s !important;
}

@media screen and (min-width:768px) {
.is-complete body.home #main .swiper-slide.swiper-slide-active .message .fogg svg image,
.is-complete body.home #main .swiper-slide.swiper-slide-duplicate-active .message .fogg svg image {
  -webkit-transform: scale(2.141654571843251);
  transform: scale(2.141654571843251);
}
}


/* ==============================
  swiper-button
============================== */
body.home #main .swiper-button-next-end {
  color: var(--swiper-navigation-color,var(--swiper-theme-color));
  display: none !important;
  justify-content: center;
  align-items: center;
  width: calc(var(--swiper-navigation-size)/ 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(-1 * var(--swiper-navigation-size)/ 2);
  cursor: pointer;
  /*position: absolute;*/
  top: 50%;
  z-index: 10;
}
body.home #main .swiper-button-next-end:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none!important;
  letter-spacing: 0;
  text-transform: none;
  font-variant: initial;
  content: 'next';
}
body.home #main .swiper-button-prev { visibility: hidden !important; }
body.home #main .swiper-button-prev,
body.home #main .swiper-button-next,
body.home #main .swiper-button-next-end {
  text-align: center;
  width: 12px;
  height: auto;
  position: absolute;
  top: 50%;
}
body.home #main .swiper-button-prev { left: 50px; }
body.home #main .swiper-button-next,
body.home #main .swiper-button-next-end { right: 50px; }
body.home #main .swiper-button-prev:after,
body.home #main .swiper-button-next:after,
body.home #main .swiper-button-next-end:after {
  font-size: 20px;
  color: #fcfcfc;
}
body.home #main .swiper-button-prev.swiper-button-disabled,
body.home #main .swiper-button-next.swiper-button-disabled { visibility: hidden; }
body.home #main .swiper-button-next.swiper-button-disabled + .swiper-button-next-end { display: flex; }

@media screen and (max-width:767px) {
body.home #main .swiper-button-prev,
body.home #main .swiper-button-next,
body.home #main .swiper-button-next-end { display: none; }
}


/* ==============================
  fogg-logo
============================== */
body.home #main .fogg-logo {
  visibility: hidden;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: translate(-100%,-100%);
  transform: translate(-100%,-100%);
}
body.home #main .fogg-logo .txt { font-size: 32px; }
body.home #main .fogg-logo .logo {
  width: 81.46666666666667vw;
  margin-top: 30px;
}

@media screen and (min-width:768px) {
body.home #main .fogg-logo .logo { width: 57.41666666666667vw; }
}

@media screen and (min-width:1200px) {
body.home #main .fogg-logo .logo { width: 689px; }
}


/* ========================================
  content
======================================== */
body.home #content {
  padding-top: 25.33333333333333vw;
  position: relative;
  z-index: 1;
}

@media screen and (min-width:600px) {
body.home #content { padding-top: 40px; }
}

@media screen and (min-width:960px) {
body.home #content { padding-top: 80px; }
}


/* ========================================
  pressrelease
======================================== */
body.home #pressrelease { padding: 0 9.333333333333333vw; }
body.home #pressrelease .section-header .title {
  font-size: 13.33333333333333vw;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
}
body.home #pressrelease .section-body .more { margin-top: 13.33333333333333vw; }

@media screen and (max-width:599px) {
body.home #pressrelease .section-header .title {
  position: absolute;
  top: 0;
  right: -0.1em;
  -webkit-transform-origin: right top;
  transform-origin: right top;
  -webkit-transform: rotate(90deg) translateX(100%);
  transform: rotate(90deg) translateX(100%);
}
body.home #pressrelease .section-body { padding-right: 18vw; }
}

@media screen and (min-width:600px) {
body.home #pressrelease { padding: 0 40px; }
body.home #pressrelease .section-header .title {
  font-size: 30px;
  text-align: right;
}
body.home #pressrelease .section-body { margin-top: 40px; }
body.home #pressrelease .section-body .more {
  text-align: right;
  margin-top: 30px;
}
}

@media screen and (min-width:960px) {
body.home #pressrelease { padding: 0 100px; }
body.home #pressrelease > .inner:before {
  font-size: 140px;
  font-weight: 700;
  line-height: 1;
  content: attr(data-title);
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform-origin: left top;
  transform-origin: left top;
  -webkit-transform: rotate(90deg) translate(-130px,-0.8em);
  transform: rotate(90deg) translate(-130px,-0.8em);
}
body.home #pressrelease .section-body { margin-left: 200px; }
}


/* ========================================
  info
======================================== */
body.home #info {
  margin-top: 26.66666666666667vw;
  padding: 0 9.333333333333333vw;
}
body.home #info .section-header .title {
  font-size: 13.33333333333333vw;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
}
body.home #info .section-body .info2 { display: none; }
body.home #info .section-body .more {
  text-align: center;
  margin-top: 13.33333333333333vw;
}

@media screen and (max-width:599px) {
body.home #info .section-header .title {
  position: absolute;
  top: 0;
  left: -0.2em;
  -webkit-transform-origin: left top;
  transform-origin: left top;
  -webkit-transform: rotate(90deg) translate(0,-1em);
  transform: rotate(90deg) translate(0,-1em);
}
body.home #info .section-body .info1 .info-item-x5 .item:not(.min) { margin-right: -9.333333333333333vw; }
body.home #info .section-body .info1 .info-item-x5 .item:not(.min) .text { padding-right: 9.333333333333333vw; }
body.home #info .section-body .info1 .info-item-x5 .item.min { display: none; }
}

@media screen and (min-width:600px) {
body.home #info {
  background: #f4f4f1;
  margin-top: 25px;
  padding: 0 40px 40px;
}
body.home #info:before {
  background: #fcfcfc;
  display: block;
  content: "";
  width: 100%;
  height: 190px;
  position: absolute;
  top: 0;
  left: 0;
}
body.home #info > .inner {
  z-index: 1;
  position: relative;
}
body.home #info .section-header .title { font-size: 30px; }
body.home #info .section-body .info1 { margin-top: 50px; }
body.home #info .section-body .more {
  text-align: right;
  margin-top: 50px;
}
}

@media screen and (min-width:768px) {
body.home #info .section-body .info2 {
  display: block;
  margin-top: 110px;
}
}

@media screen and (min-width:960px) {
body.home #info {
  margin-top: 50px;
  padding: 0 100px 80px;
}
}


/* ========================================
  service
======================================== */
body.home #service { padding: 0 9.333333333333333vw; }
body.home #service > .inner { padding-top: 33.33333333333333vw; }
body.home #service > .inner:before {
  font-size: 25.6vw;
  font-weight: 700;
  line-height: 1;
  content: attr(data-title);
  letter-spacing: -0.03em;
  margin-right: -9.333333333333333vw;
  z-index: 1;
  position: absolute;
  top: 0;
  right: 0;
  -webkit-transform-origin: right top;
  transform-origin: right top;
  -webkit-transform: rotate(90deg) translate(100%,-0.1em);
  transform: rotate(90deg) translate(100%,-0.1em);
}

@media screen and (min-width:600px) {
body.home #service {
  background: #f4f4f1;
  padding: 15px 40px 0;
  position: relative;
}
body.home #service > .inner { padding-top: 235px; }
body.home #service:before,
body.home #service:after {
  background: #fcfcfc;
  display: block;
  content: "";
  width: 100%;
  position: absolute;
  left: 0;
}
body.home #service:before {
  height: 100%;
  -webkit-transform: skewY(10deg);
  transform: skewY(10deg);
  top: 0;
}
body.home #service:after {
  height: 50%;
  bottom: 0;
}
body.home #service > .inner { z-index: 1; }
body.home #service > .inner:before {
  font-size: 140px;
  margin-right: -40px;
}
}

@media screen and (min-width:960px) {
body.home #service { padding: 30px 100px 0; }
body.home #service > .inner:before { margin-right: 0; }
}


/* ========================================
  alliance
======================================== */
body.home #alliance {
  margin-top: 20vw;
  margin-bottom: 20vw;
  padding: 0 9.333333333333333vw;
  position: relative;
  z-index: 1;
}
body.home #alliance .section-header .title {
  font-size: 13.33333333333333vw;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.03em;
}
body.home #alliance .section-header .txt1 {
  font-size: 4vw;
  font-weight: 700;
  line-height: 1.666666666666667;
  margin-top: 1em;
}
body.home #alliance .section-header .txt2 {
  font-size: 3.2vw;
  line-height: 1.666666666666667;
  margin-top: 1em;
}
body.home #alliance .section-body { padding: 6.666666666666667vw 0 26.66666666666667vw; }
body.home #alliance .section-body .alliance-item {
  display: flex;
  flex-wrap: wrap;
}
body.home #alliance .section-body .alliance-item .item { width: 50%; }
body.home #alliance .section-body .alliance-item .item.more {
  font-size: 4vw;
  font-weight: 700;
  align-self: center;
  text-align: right;
}

@media screen and (max-width:599px) {
body.home #alliance .section-body .alliance-item .item:nth-child(2n+1).more {
  align-self: start;
  width: 100%;
  margin-top: 2em;
}
}

@media screen and (min-width:600px) {
body.home #alliance {
  margin-top: 150px;
  margin-bottom: 150px;
  padding: 0 40px;
}
body.home #alliance .section-header { text-align: center; }
body.home #alliance .section-header .title { font-size: 82px; }
body.home #alliance .section-header .txt1 { font-size: 15px; }
body.home #alliance .section-header .txt2 { font-size: 12px; }
body.home #alliance .section-body { padding: 50px 0 150px; }
body.home #alliance .section-body .alliance-item .item { width: 33.33333333333333%; }
body.home #alliance .section-body .alliance-item .item.more {
  font-size: 22px;
  order: 6;
}
}

@media screen and (min-width:600px) and (max-width:959px) {
body.home #alliance .section-body .alliance-item .item:nth-child(3n+1).more {
  align-self: start;
  width: 100%;
  margin-top: 2em;
}
}

@media screen and (min-width:960px) {
body.home #alliance { padding: 0 100px; }
body.home #alliance .section-body .alliance-item .item { width: 20%; }
body.home #alliance .section-body .alliance-item .item.more { order: 9999; }
body.home #alliance .section-body .alliance-item .item:nth-child(5n+1).more {
  align-self: start;
  width: 100%;
  margin-top: 2em;
}
}



/* **************************************************

  archive
  
************************************************** */
/* ========================================
  info
======================================== */
#info-section .content-header { padding-bottom: 10vw; }
#info-section .content-body > .section {
  overflow: hidden;
  position: relative;
  z-index: 1;
}
#info-section .content-body > .section:last-child { padding-bottom: 13.33333333333333vw !important; }
#info-section .content-body > .section > .inner { padding: 0 9.333333333333333vw; }
#info-section .content-body > .info2:only-child {
  margin-top: 0 !important;
  padding-top: 13.33333333333333vw;
}
#info-section .content-footer { padding-top: 0 !important; }

@media screen and (max-width:599px) {
#info-section .content-body > .info1 { padding-top: 13.33333333333333vw; }
#info-section .content-body > .info2 { margin-top: 4vw; }
#info-section .content-body .info-item-x5 .item:not(.min) { width: 62.66666666666667vw; }
}

@media screen and (min-width:600px) {
#info-section .content-header { padding-bottom: 50px; }
#info-section .content-body > .section:last-child { padding-bottom: 50px !important; }
#info-section .content-body > .section > .inner { padding: 0 40px; }
#info-section .content-body > .info2:only-child { padding-top: 100px !important; }
#info-section .content-body:last-child > .section:last-child { padding-bottom: 150px !important; }
}

@media screen and (min-width:600px) and (max-width:767px) {
#info-section .content-body > .info1 { padding-top: 50px; }
#info-section .content-body > .info2 { margin-top: 50px; }
#info-section .content-body > .info2:not(:first-child) .info-item-x2 .item:nth-child(1) > .text { border-top: none; }
}

@media screen and (min-width:768px) {
#info-section .content-header { padding-bottom: 100px; }
#info-section .content-body > .section.info1 { padding-bottom: 100px !important; }
#info-section .content-body > .info1:not(:only-child) { background: #f4f4f1; }
#info-section .content-body > .info1:before {
  background: #080807;
  display: block;
  content: "";
  pointer-events: none;
  width: 100%;
  height: 100px;
  position: absolute;
  top: 0;
  left: 0;
}
#info-section .content-body > .info2 { margin-top: 0; }
#info-section .content-body > .info2:nth-child(n+2) { background: #f4f4f1; }
#info-section .content-body > .info2:before {
  background: #fcfcfc;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform-origin: left center;
  transform-origin: left center;
  -webkit-transform: skewY(10deg);
  transform: skewY(10deg);
}
#info-section .content-body > .info2:only-child:before { display: none; }
}

@media screen and (min-width:960px) {
#info-section .content-body > .section > .inner { padding: 0 100px; }
}

/* ========================================
  notfound
======================================== */
#info-section .content-body.notfound { padding: 13.33333333333333vw 9.333333333333333vw 0; }
#info-section .content-footer.notfound { padding-top: 13.33333333333333vw !important; }
#info-section .content-footer.notfound .pagination { justify-content: flex-end; }

@media screen and (min-width:960px) {
#info-section .content-body.notfound { padding-top: 50px 40px ; }
#info-section .content-footer.notfound { padding-top: 100px !important; }
}

@media screen and (min-width:960px) {
#info-section .content-body.notfound { padding-top: 50px 100px ; }
}


/* ========================================
  press
======================================== */
#press-section .content-body { padding: 6.666666666666667vw 9.333333333333333vw 13.33333333333333vw; }
#press-section .content-body:last-child { padding-bottom: 26.66666666666667vw; }
#press-section .content-footer { padding-top: 0; }

@media screen and (min-width:600px) {
#press-section .content-body { padding: 100px 40px 50px; }
#press-section .content-body:last-child { padding-bottom: 150px; }
}

@media screen and (min-width:960px) {
#press-section .content-body { padding: 100px 100px 50px; }
}



/* **************************************************

  company
  
************************************************** */
#company { background: #080807; }
#company .section:last-child { padding-bottom: 26.66666666666667vw !important; }
#company #accsessmap .googlemap { height: 400px; }

@media screen and (max-width:599px) {
#company { padding-top: 60px; }
}

@media screen and (min-width:600px) {
#company .section:last-child { padding-bottom: 150px !important; }
}

.entranceInfomation{
	margin-top:120px;
}
@media screen and (max-width: 480px){
	margin-top:60px;
}

.entranceInfomation .titleArea{
	margin-bottom: 50px;
    padding-top: 0;
    text-align: left;
	border-top: solid 1px #e6e6e6;
	margin-top: 40px;
}
@media screen and (max-width: 480px){
	.entranceInfomation .titleArea{
		margin-bottom: 25px;
		margin-top: 30px;
		padding-right: 20px;
	}
}
.entranceInfomation .routeTitle{
	font-weight: 400;
    margin-top: -9px;
    padding-left: 0;
    letter-spacing: .22em;
    line-height: 1.33333;
}
@media screen and (max-width: 480px){
	.entranceInfomation .routeTitle{
		margin-top: -8px;
	}
}
.entranceInfomation .routeTitle span{
	display: inline-block;
	padding-right: 56px;
	color: #FFF;
	background-color: #000;
}
@media screen and (max-width: 480px){
	.entranceInfomation .routeTitle span{
		padding-right: 20px;
	}
}
.entranceInfomation .route{
	display: flex;
	justify-content: flex-start;
	flex-direction:row-reverse;
	color: #FFF;
	margin:30px 0;
}
@media screen and (max-width: 480px){ 
	.entranceInfomation .route{
		display: block;
	}
}
.entranceInfomation .routeImg{
	width:50%;
}
@media screen and (max-width: 480px){ 
	.entranceInfomation .routeImg{
		width:100%;
	}
}
.entranceInfomation .routeImgPointpc{
	width:100%;
}
@media screen and (max-width: 480px){ 
	.entranceInfomation .routeImgPointpc{
		display: none;
	}
}
.entranceInfomation .routeImgPointsp{
	display: none;
}
@media screen and (max-width: 480px){ 
	.entranceInfomation .routeImgPointsp{
		display: block;
		width: 100%;
		margin-bottom: 20px;
	}
}
.entranceInfomation img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
}
.entranceInfomation .routePara{
	width: 50%;
	padding-right:5%; 
    padding-inline-start: 0px;
}
@media screen and (max-width: 480px){ 
	.entranceInfomation .routePara{
		width: 100%;
		padding: 10px 0px;
	    box-sizing: border-box;
	}
}
.entranceInfomation .routePara li{
	position: relative;
	list-style-type:none;
	font-size: 14px;
	line-height: 1.73333;
	padding-left: 30px;
	margin-bottom:8px;
}
@media screen and (max-width: 480px){ 
	font-size: 12px;
}
.entranceInfomation .routePara li span{
	position: absolute;
	font-size: 12px;
	top: 3px;
	left: 0;
	display: block;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background-color: #FFF;
	color: #181112;
	text-align: center;
}


/*役員紹介*/
.officerIntroduction{
	margin-top:120px;
}
@media screen and (max-width: 480px){
	margin-top:60px;
}

.officerIntroduction .titleArea{
	margin-bottom: 50px;
    padding-top: 0;
    text-align: left;
	border-top: solid 1px #e6e6e6;
	margin-top: 40px;
}
@media screen and (max-width: 480px){
	.officerIntroduction .titleArea{
		margin-bottom: 25px;
		margin-top: 30px;
		padding-right: 20px;
	}
}
.officerIntroduction .officerTitle{
	font-weight: 400;
    margin-top: -9px;
    padding-left: 0;
    letter-spacing: .22em;
    line-height: 1.33333;
}
@media screen and (max-width: 480px){
	.officerIntroduction .officerTitle{
		margin-top: -8px;
	}
}
.officerIntroduction .officerTitle span{
	display: inline-block;
	padding-right: 56px;
	color: #FFF;
	background-color: #000;
}
@media screen and (max-width: 480px){
	.officerIntroduction .officerTitle span{
		padding-right: 20px;
	}
}
.officerIntroduction .officer .officerPara{
	display: flex;
	justify-content: space-between;
	flex-wrap:wrap;
	color: #FFF;
	margin:30px 0;
}
@media screen and (max-width: 480px){ 
	.officerIntroduction .officer .officerPara{
		display: block;
	}
}
.officerIntroduction .officer .officerPara li{
	width:24%;
}
@media screen and (max-width: 480px){ 
	.officerIntroduction .officer .officerPara li{
    width:100%;
    margin:40px 0 0;
  }
  .officerIntroduction .officer .officerPara li:first-child{
    margin:0;
  }
}
.officerIntroduction .officerImg{
	width:100%;
}
@media screen and (max-width: 480px){ 
	.officerIntroduction .officerImg{
		width:100%;
	}
}
.officerIntroduction .officer .officerPara li p{
	margin:5px 0 0;
}
.officerIntroduction .officer .officerPara li p.name{
	font-size: 14px;
  font-weight: bold;
}


.officerIntroduction .routePara li span{
	position: absolute;
	font-size: 12px;
	top: 3px;
	left: 0;
	display: block;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background-color: #FFF;
	color: #181112;
	text-align: center;
}


/* ========================================
  overview
======================================== */
#company #overview {
  color: #fcfcfc;
  background: #080807;
}
#company #overview .overview-item .text .title {
  font-size: 10.66666666666667vw;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.03em;
  text-transform: uppercase;
  white-space: nowrap;
}
#company #overview .overview-item .text .title .num {
  font-size: 1.6vw;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
  display: block;
  padding: 0 0 0.5em 0.4em;
}
#company #overview .overview-item .text .title .num:after {
  font-weight: 300;
  color: #919191;
  content: "/";
  margin-left: 0.2em;
}
#company #overview .overview-item .text .data {
  line-height: 1.846153846153846;
  letter-spacing: 0.06em;
}
#company #overview .overview-item .text .name .en { font-size: 0.8125em; }
#company #overview .overview-item .text .address { margin-top: 1em; }
#company #overview .overview-item .text .info { margin-top: 1em; }
#company #overview .overview-item .text .icon-phone {
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.2em;
  -webkit-transform: scale(0.9);
  transform: scale(0.9);
}

@media screen and (max-width:599px) {
#company #overview { padding: 16vw 9.333333333333333vw; }
#company #overview .overview-item {
  padding-top: 20vw;
  position: relative;
}
#company #overview .overview-item .image {
  width: 40%;
  position: absolute;
  top: 20vw;
  right: 0;
}
#company #overview .overview-item .image img { width: 100%; }
#company #overview .overview-item .text .title {
  position: absolute;
  top: 0;
  left: 0;
}
}

@media screen and (min-width:600px) {
#company #overview { padding: 200px 40px 150px; }
#company #overview .overview-item .text .title { font-size: 45px; }
#company #overview .overview-item .text .title .num { font-size: 10px; }
#company #overview .overview-item .text .name { font-size: 16px; }
}

@media screen and (min-width:600px) {
#company #overview .overview-item {
  display: flex;
  justify-content: space-between;
}
#company #overview .overview-item .image { width: 50%; }
#company #overview .overview-item .image img { margin-left: -20px; }
#company #overview .overview-item .text { width: 20em; }
#company #overview .overview-item .text .data { margin-top: 2em; }
}

@media screen and (min-width:768px) {
#company #overview .overview-item .image { width: 55%; }
#company #overview .overview-item .text { position: relative; }
#company #overview .overview-item .text .data {
  font-size: 13px;
  width: 100%;
  margin-top: 0;
  position: absolute;
  right: 0;
  bottom: 0;
}
}

@media screen and (min-width:960px) {
#company #overview { padding: 200px 100px 150px; }
#company #overview .overview-item .image {
  width: 62.5%;
  margin-left: -50px;
}
#company #overview .overview-item .image img { margin-left: 0; }
#company #overview .overview-item .text { width: 32%; }
}


/* ========================================
  philosophy
======================================== */
#company #philosophy {
  background: #fcfcfc;
  padding: 24vw 9.333333333333333vw 26.66666666666667vw;
}
#company #philosophy > .inner:before {
  font-size: 10.66666666666667vw;
  font-weight: 700;
  line-height: 1;
  display: block;
  content: attr(data-title);
  text-transform: uppercase;
  letter-spacing: -0.03em;
}
#company #philosophy .section-body { line-height: 1.875; }
#company #philosophy .section-body .title {
  font-size: 5.333333333333333vw;
  font-weight: 700;
  line-height: 1.5;
}
#company #philosophy .section-body .origin .txt1 { margin-top: 2em; }
#company #philosophy .section-body .logo {
  display: flex;
  justify-content: space-between;
  margin-top: 15vw;
}
#company #philosophy .section-body .logo .image { width: 40%; }
#company #philosophy .section-body .logo .text { width: 52%; }
#company #philosophy .section-body .logo .txt1 { margin-top: 1em; }
#company #philosophy .section-body .concept { margin-top: 15vw; }
#company #philosophy .section-body .concept .title {
  font-size: 4vw;
  letter-spacing: 0.06em;
  text-align: right;
}
#company #philosophy .section-body .concept .img1 { margin-top: 6vw; }

@media screen and (min-width:600px) {
#company #philosophy { padding: 70px 40px 0; }
#company #philosophy > .inner { position: relative; }
#company #philosophy > .inner:before { font-size: 50px; }
#company #philosophy .section-body { font-size: 16px; }
#company #philosophy .section-body .logo { margin-top: 70px; }
#company #philosophy .section-body .logo .title { font-size: 30px; }
#company #philosophy .section-body .concept { margin-top: 75px; }
#company #philosophy .section-body .concept .title { font-size: 20px; }
#company #philosophy .section-body .concept .img1 { margin-top: 45px; }
}

@media screen and (min-width:768px) {
#company #philosophy .section-body .logo {
  display: flex;
  justify-content: space-between;
}
#company #philosophy .section-body .logo .image {
  text-align: right;
  max-width: 260px;
  width: 42.85714285714286%;
  padding-left: 4.285714285714286%;
}
#company #philosophy .section-body .logo .image img { width: 88%; }
#company #philosophy .section-body .logo .text { width: 42.85714285714286%; }
}

@media screen and (min-width:960px) {
#company #philosophy { padding: 140px 100px 0; }
#company #philosophy > .inner:before {
  font-size: 140px;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform-origin: left top;
  transform-origin: left top;
  -webkit-transform: rotate(90deg) translate(-190px,-0.1em);
  transform: rotate(90deg) translate(-190px,-0.1em);
}
#company #philosophy .section-body { padding-left: 100px; }
#company #philosophy .section-body .origin .txt1 { margin-top: 0; }
#company #philosophy .section-body .logo { margin-top: 140px; }
#company #philosophy .section-body .concept { margin-top: 140px; }
}



/* **************************************************

  wanted
  
************************************************** */
#wanted { background: #080807; }
#wanted .section:last-child { padding-bottom: 26.66666666666667vw !important; }

@media screen and (max-width:599px) {
#wanted { padding-top: 60px; }
}

@media screen and (min-width:600px) {
#wanted .section:last-child { padding-bottom: 150px !important; }
}

.wanted h3{
  font-size: 40px;
}
.wanted h3 br{
  display: none;
}
@media screen and (max-width:599px) {
  .wanted h3{ font-size: 20px; letter-spacing: 0.1em; }
}
@media screen and (max-width:599px) {
  .wanted h3 br{display: block;}
}
.wanted p.lead{
  margin:40px 0 0;
  font-size: 14px;
}
.wanted .content-box{
  margin:80px 0 0;
}
@media screen and (max-width:599px) {
  .wanted .content-box{
    margin:40px 0 0;
  }
}
.wanted .content-box h4{
  font-size: 20px;
}
.wanted .content-box h4 span{
  margin:0 0 0 40px;
  font-size: 12px;
  font-weight: normal;
}
.wanted .content-box .position{
  margin:80px 0 0;
  display: flex;
  flex-wrap:wrap;
  justify-content: space-between;
}
@media screen and (max-width:599px) {
  .wanted .content-box .position{
    margin:40px 0 0;
    display: block;
  }
}
.wanted .content-box .position .positionBlock{
  width:40%;
  margin:40px 0 0;
}
.wanted .content-box .position .positionBlock li span{
  display: inline-block;
  width:100px;
  margin:0 20px 0 0;
}
@media screen and (max-width:599px) {
  .wanted .content-box .position .positionBlock{
    width:100%;
  }
}
.wanted .content-box .btnBox{
  text-align: center;
}
.wanted .content-box .btnBox a{
  margin:80px auto 0;
  min-width: 220px;
  padding: 1.321428571428571em 1em;
}
@media screen and (max-width:599px) {
  .wanted .content-box .btnBox a{
    margin:40px auto 0;
  }
}


/* **************************************************

  page
  
************************************************** */
#page {
  background: #080807;
  padding-top: 60px;
}
#page .section {
  background: #fcfcfc;
  padding: 16vw 9.333333333333333vw 0;
}
#page .content-header {
  color: inherit;
  background: none;
  padding: 0;
}
#page .content-header > .inner { position: relative; }
#page .content-header .title {
  font-size: 10.66666666666667vw;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: -0.03em;
}
#page .content-header .title .num {
  font-size: 1.6vw;
  font-weight: 500;
  line-height: 1;
  display: block;
  letter-spacing: 0.1em;
  width: 1.2em;
  height: 1em;
  margin:  0 0 0.5em 0.4em;
}
#page .content-header .title .num:after {
  font-weight: 300;
  color: #919191;
  content: "/";
  margin: 0.2em;
}
#page .content-body { padding: 13.33333333333333vw 0 26.66666666666667vw; }

@media screen and (min-width:600px) {
#page { padding-top: 150px; }
#page .section { padding: 50px 40px 0; }
#page .content-header .title { font-size: 50px; }
#page .content-header .title .num { font-size: 10px; }
#page .content-body { padding: 50px 0 150px; }
}

@media screen and (min-width:960px) {
#page .section { padding: 50px 100px 0; }
#page .content-header .title {
  font-size: 80px;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform-origin: left top;
  transform-origin: left top;
  -webkit-transform: rotate(90deg) translate(0,-0.9em);
  transform: rotate(90deg) translate(0,-0.9em);
}
#page .content-header .title .num {
  margin-bottom: 0;
  position: absolute;
  top: auto;
  bottom: 2em;
  left: -0.5em;
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}
#page .content-header .title .num:after {
  font-weight: 300;
  color: #919191;
  content: "/";
  margin-left: 0.2em;
}
#page .content-header .title .num + .o { margin-left: 0.25em; }
#page .content-body { padding-top: 0; }
#page .content-header > .inner,
#page .content-body > .inner {
  box-sizing: border-box;
  padding-left: 20%;
}
#page .content-header > .inner.max-800,
#page .content-body > .inner.max-800 { max-width: 1000px; }
#page .content-header > .inner.max-800 > .entry-body,
#page .content-body > .inner.max-800 > .entry-body { max-width: 800px; }
}

@media screen and (min-width:1200px) {
#page .content-header > .inner,
#page .content-body > .inner { padding-left: 200px; }
}



/* **************************************************

  page2
  
************************************************** */
#page2 .content-body { padding: 13.33333333333333vw 9.333333333333333vw 0; }
#page2 .content-body:last-child { padding-bottom: 26.66666666666667vw; }
#page2 .content-footer .pagination { justify-content: flex-end; }

@media screen and (min-width:600px) {
#page2 .content-body { padding: 100px 40px 0; }
#page2 .content-body:last-child { padding-bottom: 150px; }
}

@media screen and (min-width:960px) {
#page2 .content-body { padding: 100px 100px 0; }
}



/* **************************************************

  wpcf7
  
************************************************** */
.wpcf7 .wpcf7-response-output {
  font-size: 4.8vw;
  font-weight: 500;
  letter-spacing: 0.06em;
  margin: 0 0 0.5em 0;
  padding: 0;
  border: none !important;
}
.wpcf7 .required-text {
  font-size: 3.2vw;
  text-align: right;
}
.wpcf7　.content-body .form-table {
  font-size: 4vw;
  letter-spacing: 0.06em;
}
.wpcf7 .form-table > * { box-sizing: border-box; }
.wpcf7 .form-table .td a { text-decoration: underline; }
.wpcf7 .form-table .td .acceptance {
  font-size: 3.2vw;
  background: #f4f4f1;
  padding: 0.9166666666666667em 1.166666666666667em;
}
.wpcf7 .form-table .td .acceptance > * {
  display: inline-block;
  letter-spacing: 0;
  vertical-align: middle;
}
.wpcf7 .form-table .td .acceptance .wpcf7-list-item { margin: 0; }
.wpcf7 .form-table .min { font-size: 0.6875em; }
.wpcf7 .form-table .required { font-size: 0.9375em; }
.wpcf7 .form-table .wpcf7-not-valid-tip {
  font-size: 3.2vw;
  color: #fcfcfc;
  margin-top: 1em;
}

/* ==============================
  dark
============================== */
.section.black .wpcf7 .form-table .td .acceptance { background: #1e1e1d; }

@media screen and (min-width:600px) {
.wpcf7 .wpcf7-response-output { font-size: 20px; }
.wpcf7 .required-text { font-size: 12px; }
.wpcf7 .form-table { font-size: 16px; }
.wpcf7 .form-table .td .acceptance { font-size: 12px; }
.wpcf7 .form-table .wpcf7-not-valid-tip { font-size: 12px; }
}

@media screen and (max-width:1199px) {
.wpcf7 .form-table .th:not(:first-child) { margin-top: 1em; }
.wpcf7 .form-table .td { margin-top: 0.5em; }
}

@media screen and (min-width:1200px) {
.wpcf7 .wpcf7-response-output { text-align: right; }
.wpcf7 .required-text { margin-bottom: 1em; }
.wpcf7 .form-table {
  display: flex;
  flex-wrap: wrap;
}
.wpcf7 .form-table > *:nth-child(n+3) { margin-top: 20px; }
.wpcf7 .form-table .th {
  width: 22.5%;
  padding: 0.3em 0;
}
.wpcf7 .form-table .td { width: 77.5%; }
.wpcf7 .btn1 {
  text-align: left !important;
  padding-left: 22.5%;
}
}



/* **************************************************

  single-info
  
************************************************** */
/* ========================================
  content-header-image
======================================== */
#single .content-header-image {
  background: #080807;
  min-height: 60px;
  position: relative;
}
#single .content-header-image .image { overflow: hidden; }
#single .content-header-image .image:after {
  background: rgba(0,0,0,0.4);
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
#single .content-header-image .image .image-src {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  display: block;
  height: calc(60px + 16vw);
  margin: -20px;
  -ms-filter: blur(10px);
  filter: blur(10px);
}

@media screen and (min-width:600px) {
#single .content-header-image { min-height: 150px; }
#single .content-header-image .image .image-src { height: 210px; }
}


@media screen and (min-width:960px) {
#single .content-header-image .image .image-src { height: 340px; }
}

@media screen and (max-width:1199px) {
#single .content-header-image .text .title { display: none; }
}

@media screen and (min-width:1200px) {
#single .content-header-image .text {
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}
#single .content-header-image .text > .inner { position: relative; }
#single .content-header-image .text .title {
  font-size: 80px;
  font-weight: 700;
  line-height: 1;
  display: block;
  text-transform: uppercase;
  letter-spacing: -0.03em;
  -webkit-transform-origin: left bottom;
  transform-origin: left bottom;
  -webkit-transform: rotate(90deg) translateY(0.8em);
  transform: rotate(90deg) translateY(0.8em);
  z-index: 1;
  position: absolute;
  bottom: 100px;
  left: -100px;
}
#single .content-header-image.no-image .text .title { bottom: -50px; }
}


/* ========================================
  content-body
======================================== */
#single .content-body { padding: 9.333333333333333vw 9.333333333333333vw 0; }
#single .content-body .section-header .image img { display: block; }
#single .content-body .section-header .image + .text { margin-top: 9.333333333333333vw; }
#single .content-body .section-header .meta { letter-spacing: -0.4em; }
#single .content-body .section-header .meta li {
  line-height: 4.067605633802817vw;
  display: inline-block;
  letter-spacing: 0;
  vertical-align: top;
}
#single .content-body .section-header .meta li:nth-child(n+2) { margin-left: 1.7em; }
#single .content-body .section-header .meta li.category { color: #96968e; }
#single .content-body .section-header .meta li.category img {
  width: auto;
  height: 4.067605633802817vw;
}
#single .content-body .section-header .meta li.date {
  font-size: 2.933333333333333vw;
  color: #b7b6af;
  letter-spacing: 0.1em;
}
#single .content-body .section-header .title {
  font-size: 6.666666666666667vw;
  font-weight: 700;
  line-height: 1.666666666666667;
  margin-top: 0.25em;
}
#single .content-body .section-body { margin-top: 9.333333333333333vw; }

@media screen and (min-width:600px) {
#single .content-body { padding: 50px 40px 0; }
#single .content-body .section-header .meta li { line-height: 22px; }
#single .content-body .section-header .meta li.category img { height: 22px; }
#single .content-body .section-header .meta li.date { font-size: 11px; }
#single .content-body .section-header .title { font-size: 30px; }
#single .content-body .section-body { margin-top: 50px; }
}

@media screen and (min-width:768px) {
#single .content-body { padding: 50px 40px 0; }
#single .content-body .section-header {
  display: table;
  width: 100%;
  margin-top: 0;
  table-layout: fixed;
}
#single .content-body .section-header > * {
  display: table-cell;
  vertical-align: top;
}
#single .content-body .section-header .image { width: 37.5%; }
#single .content-body .section-header .text:nth-child(2) { padding-left: 6.25%; }
#single .content-header-image.no-image + .content-body { padding-top: 50px; }
}

@media screen and (min-width:960px) {
#single .content-body { padding: 30px 100px 0; }
#single .content-body .section-header .image img { margin-top: -130px; }
#single .content-body .section-body { margin-top: 100px; }
}



/* ========================================
  content-footer
======================================== */
#single .content-footer { padding-top: 13.33333333333333vw; }
#single .content-footer .pagination { justify-content: flex-end; }

@media screen and (min-width:600px) {
#single .content-footer { padding-top: 50px; }
}



/* **************************************************

  fx
  
************************************************** */
/* ========================================
  b-txt
======================================== */
.b-txt:before {
  opacity: 0;
  top: 150px !important;
  -webkit-transition: top 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 0.8s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: top 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 0.8s cubic-bezier(0.645, 0.045, 0.355, 1);
}

/* --------------------
  is-in
-------------------- */
.is-complete .b-txt.is-in:before {
  opacity: 1;
  top: 0 !important;
}



/* ========================================
  f
======================================== */
.f {
  opacity: 0;
  -webkit-transition: opacity 0.8s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: opacity 0.8s cubic-bezier(0.645, 0.045, 0.355, 1);
}

/* --------------------
  is-on
-------------------- */
.is-complete .is-on .f,
.is-complete .f.is-on { opacity: 1; }


/* ========================================
  o
======================================== */
.o {
  display: block;
  overflow: hidden;
}
.o .c {
  display: block;
  -webkit-transform: translateY(100%);
  transform: translateY(100%);
  -webkit-transition: -webkit-transform 0.8s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.8s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.o:nth-child(2) .c {
  -webkit-transition-delay: 0.1s;
  transition-delay: 0.1s;
}
.o:nth-child(3) .c {
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
}
.o:nth-child(4) .c {
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
}
.o:nth-child(5) .c {
  -webkit-transition-delay: 0.4s;
  transition-delay: 0.4s;
}

/* --------------------
  is-on
-------------------- */
.is-complete .is-on .o .c,
.is-complete .o.is-on .c {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}


/* ========================================
  z
======================================== */
.z {
  opacity: 0;
  -webkit-transform: scale(0.8);
  transform: scale(0.8);
  -webkit-transition: -webkit-transform 0.8s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.8s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.8s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.8s cubic-bezier(0.645, 0.045, 0.355, 1);
}

/* --------------------
  is-on
-------------------- */
.is-complete .is-on .z,
.is-complete .z.is-on {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
}
/* **************************************************

  service

************************************************** */
.service-content {
    color: #fcfcfc !important;
}

.service-contact-text {
    margin-top: 15px;
    font-size: 12px;
}

.service-heading {
    font-size: 18px;
    font-weight: bold;
}

.service-block {
    margin-top: 29px;
}

.service-title {
    margin-top: 15px;
    font-size: 24px;
    font-weight: bold;
}

.service-sub-title {
    margin-top: 15px;
    font-size: 18px;
    font-weight: 700;
}

.service-description {
    margin-top: 15px;
    font-size: 14px;
    line-height: 1.5;
}

.service-images-title {
    margin-top: 28px;
    font-size: 18px;
    font-weight: 700;
}

.service-images {
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.service-thumbnail-item {
    flex: 1;
    min-width: 120px;
}

.service-thumbnail-item img {
    width: 100%;
    max-height: 450px;
    object-fit: cover;
}

.service-oem-items {
    margin-top: 20px;
    padding-left: 0 !important;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 15px;
}

.service-oem-item {
    background-color: #fff;
    padding: 5px 20px !important;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    cursor: pointer;
    min-height: 130px;
    height: auto;

    &::before {
        content: none !important;
    }
}

.service-oem-item-title {
    font-size: 12px;
    color: #666;
}

.service-oem-item-image {
    margin-top: 20px;
    width: auto;
    height: 60px;
    object-fit: contain;
}

.service-links {
    margin-top: 18px;
}

.service-link-buttons {
    display: flex;
    gap: 10px;
    flex-direction: column;
    list-style: none;
    padding-left: 0 !important;

    li {
        flex: 1;
        font-size: 12px;
        padding: 6px 8px !important;
        border: 1px solid #fcfcfc;
        background-color: #000000;
        text-align: center;
        cursor: pointer;

        &::before {
            content: none !important;
        }

        &:hover {
            background-color: #ffffff;
            color: #000000;
        }

        a {
            text-decoration: none;
            color: inherit !important;
        }
    }
}

@media screen and (min-width:768px) {
    .service-contact-text {
        font-size: 14px;
    }

    .service-title {
        font-size: 40px;
    }

    .service-images {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .service-thumbnail-item {
        min-width: 200px;
    }

    .service-oem-items {
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
    }

    .service-oem-item-title {
        font-size: 12px;
    }

    .service-oem-item {
        min-height: 130px;
        background-color: #fff;
    }

    .service-oem-item-title {
        margin-top: 15px;
    }

    .service-oem-item-image {
        margin-top: 10px;
    }

    .service-link-buttons {
        flex-direction: row;

        li {
            cursor: pointer;
            flex: none;
            font-size: 16px;
            padding: 4px 25px !important;
        }

        li+li {
            margin-left: 11px;
        }
    }

    .ser .service-thumbnail-item img {
        max-height: 1000px;
    }
}

/* **************************************************

  wanted

************************************************** */

.wanted-content {
    color: #ffffff;
    background-color: #000000;
    font-weight: 700;

    /* ヒーローセクション */
    .wanted-hero {
        margin-top: 60px;
        text-align: left;

        .wanted-main-title {
            font-weight: 700;
            font-size: 25px;
            line-height: 1.4;
        }

        .wanted-description {
            margin-top: 20px !important;
            font-size: 14px;
        }
    }

    /* セクション共通 */
    .wanted-section {
        margin-top: 50px !important;

        .wanted-section-title {
            font-size: 14px;
            font-weight: 700;
        }
    }

    /* 組織文化リスト */
    .wanted-culture-list {
        list-style: none;
        margin-top: 15px !important;
        padding-left: 0 !important;

        li {
            position: relative;
            padding-left: 20px;
            font-size: 18px;

            &::before {
                content: '•';
                position: absolute;
                top: 50%;
                left: 0;
                transform: translateY(-50%);
                color: #ffffff;
                font-size: 24px;
            }
        }
    }

    /* 会社紹介 */
    .wanted-company-description {
        margin-top: 30px !important;
        font-size: 14px;
        letter-spacing: 1.45;
    }

    /* リンク */
    .wanted-links {
        display: grid;
        gap: 10px;
        margin-top: 20px !important;
        padding-left: 0 !important;
        place-content: center;
    }

    /* リンクボタン共通 */
    .wanted-link-button {
        position: relative;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        width: 200px;
        padding: 12px;
        border: 1px solid #ffffff;
        background-color: #000000;
        font-size: 14px;
        font-weight: 700;
        gap: 4px;
        cursor: pointer;

        &::before {
            content: none !important;
        }

        &::after {
            content: '';
            width: 8px;
            height: 8px;
            background-color: #ffffff;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8' fill='none'%3E%3Cpath d='M6.66667 6.66667H1.33333V1.35319L2.66667 1.33333V0H0V8H8V4.66667H6.66667V6.66667ZM4 0L5.33333 1.33333L3.33333 3.33333L4.66667 4.66667L6.66667 2.66667L8 4V0H4Z' fill='white'/%3E%3C/svg%3E") no-repeat center;
            mask-size: contain;
            flex-shrink: 0;
        }

        &:hover {
            background-color: #ffffff;
            color: #000000;

            &::after {
                background-color: #000000;
            }
        }

        a {
            text-decoration: none;
            color: inherit !important;
        }
    }

    /* 募集一覧スタイル */
    .wanted-jobs-grid {
        display: grid;
        margin-top: 20px !important;
        grid-template-rows: auto auto;
        gap: 40px;
    }

    .wanted-job-title {
        font-size: 14px;
        color: #ffffff;
    }

    .wanted-job-list li {
        color: #ffffff;
        font-weight: normal;
    }

    .wanted-wantedly-container {
        display: flex;
        justify-content: center;
        margin-top: 40px;
    }

    .wanted-wantedly-button {
        display: inline-block;
        padding: 14px 75px;
        color: #ffffff;
        border: 1px solid #ffffff;
        text-decoration: none;
        font-weight: normal;

        &:hover {
            background-color: #ffffff;
            color: #000000;

            &::after {
                background-color: #000000;
            }
        }
    }

    /* レスポンシブ対応 */
    @media screen and (min-width: 768px) {
        .wanted-hero {
            margin-top: 80px;

            .wanted-main-title {
                font-size: 62px;

                .br-sp {
                    display: none;
                }
            }

            .wanted-description {
                margin-top: 30px;
            }
        }

        .wanted-section {
            margin-top: 70px;
        }

        .wanted-culture-list {
            margin-top: 20px;

            li {
                font-size: 26px;

                &::before {
                    font-size: 28px;
                }
            }
        }

        .wanted-links {
            margin-top: 30px;
            grid-template-columns: repeat(4, 1fr);
        }

        .wanted-link-button {
            width: auto;
            font-size: 16px;
            padding: 18px 13px;

            &::after {
                width: 10px;
                height: 10px;
            }
        }

        .wanted-job-title {
            font-size: 16px;
        }

        .wanted-jobs-grid {
            grid-template-columns: 1fr 1fr;
        }

        .wanted-job:nth-child(1) {
            grid-column: 1;
            grid-row: 1;
        }

        .wanted-job:nth-child(2) {
            grid-column: 2;
            grid-row: 1;
        }

        .wanted-job:nth-child(3) {
            grid-column: 1;
            grid-row: 2;
        }

        .wanted-wantedly-button {
            padding: 14px 58px;
            font-size: 16px;
        }
    }
}
