@charset "UTF-8";
/*--------------------------------------------------------------- */
/* 全体で使用する common style を記述
/*--------------------------------------------------------------- */
/*
#overview
フォント設定
*/
/*
#styleguide
日本語
メイン使用フォント「游ゴシック Bold」
また日本語には
font-feature-settings : "palt";
をcss記述するか、以下のクラス付与
<h1 class="ffs">日本語設定</h1>

英語
メイン使用フォント「Brandon Grotesque B」
カスタムサブセット
Bold指定は、font-weight: 300;
をcss記述するか、以下のクラス付与
<h1 class="fw-m">ウェイトはMedium</h1>
<h1 class="fw-b">ウェイトはBold</h1>
```
*/
/*
日本語文字詰め指定全日本語に適用
*/
.ffs {
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

/*-------------------------------------------> Font : Brandon_bld */
/*-------------------------------------------> Font : 游ゴシック体 */
.font-yugo-m {
  font-family: YuGothic, "游ゴシック体", "ヒラギノ角ゴ ProN W3", "メイリオ", sans-serif;
  font-weight: normal;
}

.font-bb, .main-subttl *,
.ttl-wrap *, .cmn-ttl, section.sec-whoweare .ttl-wrap, section.sec-service .headline, section.sec-service .link-wrap .link-more, section.sec-company h1.headline, section.sec-company .link-wrap .link-more {
  font-family: brandon-grotesque, sans-serif;
  font-style: normal;
  font-weight: 700;
}

.font-bb-r {
  font-family: brandon-grotesque, sans-serif;
  font-style: normal;
  font-weight: 300;
}

.font-sh-m {
  font-family: source-han-serif-japanese, serif;
  font-style: normal;
  font-weight: 500;
}

.fw-m {
  font-weight: 300;
}

.fw-b {
  font-weight: bold;
}

body::after,
main#main::before,
main#main::after {
  display: none;
}

header#header {
  background: none;
}

header#header::before {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  background: #fff;
  z-index: 1;
  opacity: 0;
  -webkit-transition: opacity .3s ease;
  transition: opacity .3s ease;
}

header#header.is-bg::before {
  opacity: 1;
}

header#header .in {
  position: relative;
  z-index: 2;
}

footer#footer {
  z-index: 2;
  position: relative;
}

/*-------------------------------------------> common */
main#main {
  overflow: hidden;
}

.sec-inner {
  width: 75%;
  max-width: 1200px;
  margin: auto;
}

@media screen and (max-width: 768px) {
  .sec-inner {
    width: 86.66667%;
  }
}

.cmn-inside-image {
  overflow: hidden;
  position: relative;
}

.cmn-inside-image img {
  width: 100%;
  height: auto;
  position: absolute;
  top: 0px;
  left: 0px;
}

@media screen and (max-width: 768px) {
  .cmn-inside-image img {
    position: static;
  }
}

.cmn-ttl {
  font-size: 60px;
  font-size: 6rem;
  line-height: 1.2em;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 768px) {
  .cmn-ttl {
    font-size: 30px;
    font-size: 3rem;
    line-height: 1.2em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

@media screen and (min-width: 768px) and (max-width: 950px) {
  .cmn-ttl {
    font-size: 50px;
    font-size: 5rem;
    line-height: 1.44em;
  }
}

@media screen and (min-width: 768px) and (max-width: 950px) and (max-width: 768px) {
  .cmn-ttl {
    font-size: 25px;
    font-size: 2.5rem;
    line-height: 1.44em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

@media screen and (max-width: 768px) {
  .cmn-ttl {
    font-size: 68px;
    font-size: 6.8rem;
    line-height: 1.20588em;
  }
}

@media screen and (max-width: 768px) and (max-width: 768px) {
  .cmn-ttl {
    font-size: 34px;
    font-size: 3.4rem;
    line-height: 1.20588em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

.cmn-read {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 2em;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 768px) {
  .cmn-read {
    font-size: 8px;
    font-size: 0.8rem;
    line-height: 2em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

@media screen and (max-width: 768px) {
  .cmn-read {
    font-size: 30px;
    font-size: 3rem;
    line-height: 1.7em;
    text-align: justify;
  }
}

@media screen and (max-width: 768px) and (max-width: 768px) {
  .cmn-read {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.7em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

@media screen and (max-width: 768px) {
  .cmn-read br {
    display: none;
  }
}


/*----------------------------------------->	toggle	*/
#nav-trigger a .ico span {
	box-shadow: 0px 1px 0px #fff;
}



/*-------------------------------------------> section : detail-block */
article#main-contents {
  margin-top: 100vh;
  background: #fff;
  position: relative;
  z-index: 2;
  /*	@media screen and ($sp) {
		margin-top: 340px;
	}*/
}

section.sec-mainvisual {
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0px;
  left: 0px;
  z-index: 1;
  background: #fff;
}

section.sec-mainvisual .sec-inner {
  width: 100vw;
  height: 100vh;
  position: relative;
  top: 0;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

section.sec-mainvisual .scrolldown {
  position: absolute;
  bottom: -45px;
  left: 0;
  right: 0;
  width: 190px;
  margin: auto;
  z-index: 1;
  font-weight: 400;
  text-align: center;
  line-height: 1rem;
  font-size: 14px;
}

section.sec-mainvisual .hero__scroll {
  width: 100%;
  position: absolute;
  bottom: 60px;
  left: 0px;
  text-align: center;
  text-transform: uppercase;
  cursor: pointer;
}

section.sec-mainvisual .hero__scroll .chevron {
  margin-top: 20px;
  display: block;
  -webkit-animation: pulse 2s infinite;
  animation: pulse 2s infinite;
  color: #000;
  text-align: center;
}

section.sec-mainvisual .chevron::before {
  border-style: solid;
  border-width: 0.15em 0.15em 0 0;
  content: "";
  display: inline-block;
  height: 10px;
  position: relative;
  vertical-align: top;
  width: 10px;
}

section.sec-mainvisual .chevron.bottom::before {
  top: 0;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}

@media screen and (max-width: 768px) {
  section.sec-mainvisual {
    /*		height: 400px;*/
    overflow: hidden;
  }
  section.sec-mainvisual #sec-mainvisual-visual {
    height: 500px;
    min-height: 500px;
    top: -50px;
    bottom: inherit;
  }
  section.sec-mainvisual .sec-inner {
    width: 86.66667%;
    max-width: 400px;
    /*			height: 400px;*/
    margin: auto;
  }
  section.sec-mainvisual .text-wrap {
    width: 88.92308%;
    margin-left: -5.69231%;
    padding-top: 0px;
  }
  section.sec-mainvisual .logo-wrap {
    width: 58.46154%;
    margin-left: 22.76923%;
    padding-top: 0px;
  }
  section.sec-mainvisual .text-svg, section.sec-mainvisual .logo-svg {
    position: static;
  }
  section.sec-mainvisual .scroll-down {
    bottom: 0px;
  }
  section.sec-mainvisual .scroll-down::after {
    height: 35px;
  }
  section.sec-mainvisual .scroll-down p {
    padding-bottom: 45px;
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.18182em;
  }
}

@media screen and (max-width: 768px) and (max-width: 768px) {
  section.sec-mainvisual .scroll-down p {
    font-size: 11px;
    font-size: 1.1rem;
    line-height: 1.18182em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

#first_view:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

#first_view .img01 {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 400px;
  height: 100px;
  margin: auto;
  z-index: 2;
}

@media screen and (max-width: 640px) {
  #first_view .img01 {
    width: 220px;
  }
}

#first_view .img02 {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 30px;
  right: 0;
  width: 190px;
  height: 190px;
  margin: auto;
  z-index: 1;
}

@media (max-width: 640px) {
  #first_view .img02 {
    width: 110px;
    height: 140px;
  }
}

/*アニメーション制御*/
.css-fade-left {
  -webkit-animation-name: fade-left;
          animation-name: fade-left;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-timing-function: ease-out;
          animation-timing-function: ease-out;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-direction: normal;
          animation-direction: normal;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

.fade1 {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
  opacity: 0;
}

.fade2 {
  -webkit-animation-delay: 1.25s;
          animation-delay: 1.25s;
  opacity: 0;
}

.fade3 {
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
  opacity: 0;
}

.fade4 {
  -webkit-animation-delay: 1.75s;
          animation-delay: 1.75s;
  opacity: 0;
}

.fade5 {
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
  opacity: 0;
}

.fade6 {
  -webkit-animation-delay: 2.25s;
          animation-delay: 2.25s;
  opacity: 0;
}

.fade7 {
  -webkit-animation-delay: 2.5s;
          animation-delay: 2.5s;
  opacity: 0;
}

/*アニメーション*/
@-webkit-keyframes fade-left {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(30px, 0, 0);
            transform: translate3d(30px, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@keyframes fade-left {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(30px, 0, 0);
            transform: translate3d(30px, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}

.css-fade-in {
  -webkit-animation-name: fade-in;
          animation-name: fade-in;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  -webkit-animation-timing-function: ease-out;
          animation-timing-function: ease-out;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-direction: normal;
          animation-direction: normal;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

.fade8 {
  -webkit-animation-delay: 3.5s;
          animation-delay: 3.5s;
  opacity: 0;
}

.fade9 {
  -webkit-animation-delay: 5s;
          animation-delay: 5s;
  opacity: 0;
}

.fade10 {
  -webkit-animation-delay: 9s;
          animation-delay: 9s;
  opacity: 0;
}

/*アニメーション*/
@-webkit-keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-webkit-keyframes pulse {
  0% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  50% {
    -webkit-transform: translate(0, 10px);
    transform: translate(0, 10px);
  }
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}

@keyframes pulse {
  0% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  50% {
    -webkit-transform: translate(0, 10px);
    transform: translate(0, 10px);
  }
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}

section.sec-whoweare {
  padding-top: 90px;
  position: relative;
  z-index: 2;
}

section.sec-whoweare .ttl-wrap {
  letter-spacing: 0.1em;
  text-align: center;
}

section.sec-whoweare .ttl-wrap h1 {
  font-size: 45px;
  font-size: 4.5rem;
  line-height: 1.2em;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 768px) {
  section.sec-whoweare .ttl-wrap h1 {
    font-size: 22.5px;
    font-size: 2.25rem;
    line-height: 1.2em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

section.sec-whoweare .txt-wrap {
  padding-top: 40px;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 2em;
  letter-spacing: 0.1em;
  text-align: center;
  color: #333;
}

@media screen and (max-width: 768px) {
  section.sec-whoweare .txt-wrap {
    font-size: 8px;
    font-size: 0.8rem;
    line-height: 2em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

@media screen and (max-width: 768px) {
  section.sec-whoweare {
    padding-top: 44px;
  }
  section.sec-whoweare .ttl-wrap h1 {
    font-size: 52px;
    font-size: 5.2rem;
    line-height: 1.19231em;
  }
}

@media screen and (max-width: 768px) and (max-width: 768px) {
  section.sec-whoweare .ttl-wrap h1 {
    font-size: 26px;
    font-size: 2.6rem;
    line-height: 1.19231em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

@media screen and (max-width: 768px) {
  section.sec-whoweare .txt-wrap {
    padding-top: 28px;
    text-align: justify;
    font-size: 30px;
    font-size: 3rem;
    line-height: 1.7em;
    line-height: 1.8em !important;
  }
}

@media screen and (max-width: 768px) and (max-width: 768px) {
  section.sec-whoweare .txt-wrap {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.7em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

@media screen and (max-width: 768px) {
  section.sec-whoweare .txt-wrap br {
    display: none;
  }
}

.parallax-mirror {
  z-index: 5 !important;
  background: transparent;
}

section.sec-service {
  padding-top: 90px;
  position: relative;
}

section.sec-service::before {
  content: '';
  width: 82.625%;
  height: 0;
  padding-top: 47.875%;
  position: absolute;
  top: 100px;
  left: 0px;
  background: #ff0211;
}

@media screen and (min-width: 768px) and (max-width: 1400px) {
  section.sec-service::before {
    padding-top: 46.42857%;
  }
}

@media screen and (min-width: 768px) and (max-width: 1000px) {
  section.sec-service::before {
    padding-top: 50%;
  }
}

section.sec-service .sec-inner {
  width: 65.625%;
  margin: auto;
  position: relative;
}

section.sec-service .image-wrap {
  width: 100%;
  padding-top: 57.14286%;
  margin-left: -12.38095%;
  position: relative;
  overflow: hidden;
  z-index: 1;
}

section.sec-service .image-wrap a {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  overflow: hidden;
  background: #ff0211;
}

html[data-sp="false"] section.sec-service .image-wrap a img, html[data-sp="false"] section.sec-service .image-wrap a video {
  -webkit-transition: opacity .4s ease;
  transition: opacity .4s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

html[data-sp="false"] section.sec-service .image-wrap a:hover img,
html[data-sp="false"] section.sec-service .image-wrap a:hover video {
  opacity: 0.8;
}

section.sec-service .image-wrap img {
  width: 100%;
  margin: auto;
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0px;
}

section.sec-service .headline {
  margin: -8.57143% 0px 7.61905% -12.85714%;
  font-size: 60px;
  font-size: 6rem;
  line-height: 1.2em;
  letter-spacing: 0.1em;
  color: #fff;
  text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  position: relative;
  z-index: 4;
}

@media screen and (max-width: 768px) {
  section.sec-service .headline {
    font-size: 30px;
    font-size: 3rem;
    line-height: 1.2em;
  }
}

section.sec-service .caption {
  width: 61.90476%;
  margin: -4.28571% 0px 4.28571% 0px;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 2em;
  letter-spacing: 0.1em;
  color: #fff;
  position: relative;
  display: inline-block;
  z-index: 3;
}

@media screen and (max-width: 768px) {
  section.sec-service .caption {
    font-size: 8px;
    font-size: 0.8rem;
    line-height: 2em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

section.sec-service .caption p {
  position: relative;
  z-index: 2;
  padding-bottom: 48px;
}

@media screen and (min-width: 768px) and (max-width: 1400px) {
  section.sec-service .caption {
    width: 76.19048%;
    margin: -7.14286% 0px 0px -12.85714%;
  }
}

@media screen and (min-width: 768px) and (max-width: 1200px) {
  section.sec-service .caption {
    width: 80.95238%;
  }
}

section.sec-service .link-wrap {
  display: inline-block;
  position: relative;
  /*right: 0px;*/
  top: 30px;
  bottom: 0px;
}

section.sec-service .link-wrap .link-more {
  display: inline-block;
  position: relative;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.21429em;
  letter-spacing: 0.1em;
  color: #fff;
  z-index: 2;
}

@media screen and (max-width: 768px) {
  section.sec-service .link-wrap .link-more {
    font-size: 7px;
    font-size: 0.7rem;
    line-height: 1.21429em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

section.sec-service .link-wrap .link-more::after {
  background: #fff;
}

@media screen and (min-width: 768px) and (max-width: 1400px) {
  section.sec-service .link-wrap {
    /*top: 30px;*/
    /*position: relative;*/
    /*right: inherit;*/
  }
}

@media screen and (min-width: 768px) and (max-width: 970px) {
  section.sec-service .link-wrap {
    position: static;
    right: inherit;
  }
}

section.sec-service .zabuton {
  width: 43.42857%;
  padding-top: 36%;
  background-color: #ff0211;
  -webkit-box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.15);
          box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.15);
  position: absolute;
  left: -17.61905%;
  top: 66.66667%;
  z-index: 1;
}

section.sec-service .image-wrap-sub {
  width: 33.90476%;
  position: absolute;
  right: -12.38095%;
  top: 76.19048%;
  z-index: 3;
  overflow: hidden;
}

section.sec-service .image-wrap-sub .zabuton-inner {
  width: 100%;
  height: 0;
  padding-top: 100%;
  position: relative;
  overflow: hidden;
}

section.sec-service .image-wrap-sub img {
  width: 100%;
  height: auto;
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0px;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  section.sec-service {
    width: 100%;
    margin-top: 6%;
    padding-bottom: 6.66667%;
  }
  section.sec-service::before {
    width: 100%;
    height: 100px;
    padding: 0px;
    top: 0px;
    background: #fff;
    z-index: 1;
  }
  section.sec-service .sec-inner {
    width: 96.66667%;
    margin-right: 3.33333%;
    padding: 0px 3.33333% 6.66667% 6.66667%;
    background: #ff0211;
  }
  section.sec-service .image-wrap {
    margin: 0px 0px 0px 0px;
    padding-top: 53.84615%;
  }
  section.sec-service .headline {
    margin: -6.15385% 0px 4.61538% 0px;
    font-size: 68px;
    font-size: 6.8rem;
    line-height: 1.20588em;
  }
}

@media screen and (max-width: 768px) and (max-width: 768px) {
  section.sec-service .headline {
    font-size: 34px;
    font-size: 3.4rem;
    line-height: 1.20588em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

@media screen and (max-width: 768px) {
  section.sec-service .caption {
    width: 100%;
    margin: 0px 0px 0px 0px;
    font-size: 30px;
    font-size: 3rem;
    line-height: 1.7em;
    line-height: 1.8em !important;
    text-align: justify;
  }
}

@media screen and (max-width: 768px) and (max-width: 768px) {
  section.sec-service .caption {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.7em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

@media screen and (max-width: 768px) {
  section.sec-service .caption br {
    display: none;
  }
  section.sec-service .link-wrap {
    width: 100%;
    margin: 10px 0px 0px 0px;
    position: static;
    right: inherit;
    bottom: inherit;
    text-align: right;
  }
  section.sec-service .link-wrap .link-more {
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 1.14286em;
  }
}

@media screen and (max-width: 768px) and (max-width: 768px) {
  section.sec-service .link-wrap .link-more {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.14286em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

@media screen and (max-width: 768px) {
  section.sec-service .zabuton {
    width: 46.66667%;
    padding-top: 38.46154%;
    left: 3.84615%;
    top: inherit;
    bottom: -9.23077%;
  }
  section.sec-service .image-wrap-sub {
    display: none;
  }
}

section.sec-company {
  margin-top: 19.375%;
  position: relative;
}

section.sec-company::before {
  content: '';
  width: 87.5%;
  height: 0;
  padding-top: 34.375%;
  position: absolute;
  top: 0px;
  right: 0px;
  background: #ff0211;
}

@media screen and (min-width: 768px) and (max-width: 1400px) {
  section.sec-company::before {
    padding-top: 43.75%;
  }
}

section.sec-company .sec-inner {
  width: 75%;
  margin: auto;
  position: relative;
}

section.sec-company .image-wrap {
  width: 87.16667%;
  margin-top: 4.16667%;
  margin-left: 6.33333%;
  padding-top: 50%;
  position: relative;
  overflow: hidden;
  z-index: 1;
}

section.sec-company .image-wrap a {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  overflow: hidden;
  background: #ff0211;
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}

html[data-sp="false"] section.sec-company .image-wrap a img {
  -webkit-transition: opacity .4s ease;
  transition: opacity .4s ease;
}

html[data-sp="false"] section.sec-company .image-wrap a:hover img {
  opacity: 0.8;
}

section.sec-company .image-wrap img {
  width: 100%;
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

@media screen and (min-width: 768px) and (max-width: 1400px) {
  section.sec-company .image-wrap {
    margin-top: 10%;
  }
}

@media screen and (min-width: 768px) and (max-width: 1000px) {
  section.sec-company .image-wrap {
    margin-top: 12.85714%;
  }
}

section.sec-company h1.headline {
  padding-top: 4.41667%;
  font-size: 60px;
  font-size: 6rem;
  line-height: 1em;
  letter-spacing: 0.1em;
color: #fff;
text-shadow: 0 2px 2px rgba(0, 0, 0, .6);
  margin-left: 6.33333%;
}

@media screen and (max-width: 768px) {
  section.sec-company h1.headline {
    font-size: 30px;
    font-size: 3rem;
    line-height: 1em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

section.sec-company .caption {
  width: 47.5%;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 2em;
  letter-spacing: 0.1em;
  margin-top: -8px;
  color: #fff;
  display: inline-block;
  position: absolute;
  top: 7.5%;
  left: 39.66667%;
  z-index: 2;
}

@media screen and (max-width: 768px) {
  section.sec-company .caption {
    font-size: 8px;
    font-size: 0.8rem;
    line-height: 2em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

@media screen and (min-width: 768px) and (max-width: 1400px) {
  section.sec-company .caption {
    top: 18.09524%;
    width: 100%;
    left: 6.33333%;
  }
}

@media screen and (min-width: 768px) and (max-width: 1000px) {
  section.sec-company .caption {
    top: 20.95238%;
  }
}

section.sec-company .link-wrap {
  display: inline-block;
  position: absolute;
  top: 7.61905%;
  right: 0px;
  z-index: 1;
}

@media screen and (min-width: 768px) and (max-width: 1400px) {
  section.sec-company .link-wrap {
    bottom: 69.52381%;
  }
}

section.sec-company .link-wrap .link-more {
  display: inline-block;
  position: relative;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.21429em;
  letter-spacing: 0.1em;
  color: #fff;
}

@media screen and (max-width: 768px) {
  section.sec-company .link-wrap .link-more {
    font-size: 7px;
    font-size: 0.7rem;
    line-height: 1.21429em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

section.sec-company .link-wrap .link-more::after {
  background: #fff;
}

section.sec-company .zabuton {
  width: 38%;
  padding-top: 31.5%;
  background-color: #ff0211;
  -webkit-box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.15);
          box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.15);
  position: absolute;
  right: -8.33333%;
  top: -8.33333%;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  section.sec-company {
    width: 100%;
    margin-top: 7.46667%;
    padding-top: 13.33333%;
  }
  section.sec-company::before {
    display: none;
  }
  section.sec-company .sec-inner {
    width: 96.66667%;
    margin-left: 3.33333%;
    padding: 0px 6.66667% 6.66667% 3.33333%;
    background: #ff0211;
  }
  section.sec-company .image-wrap {
    width: 100%;
    margin: 0px 0px 0px 0px;
    padding-top: 53.84615%;
  }
  section.sec-company h1.headline {
    margin: 18px 0px 4.61538% 13px;
    position: relative;
    z-index: 2;
    font-size: 68px;
    font-size: 6.8rem;
    line-height: 1.20588em;
  }
}

@media screen and (max-width: 768px) and (max-width: 768px) {
  section.sec-company h1.headline {
    font-size: 34px;
    font-size: 3.4rem;
    line-height: 1.20588em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

@media screen and (max-width: 768px) {
  section.sec-company .caption {
    width: 100%;
    margin-top: 17px;
    position: static;
    top: inherit;
    left: inherit;
    font-size: 30px;
    font-size: 3rem;
    line-height: 1.7em;
    line-height: 1.8em !important;
    text-align: justify;
  }
}

@media screen and (max-width: 768px) and (max-width: 768px) {
  section.sec-company .caption {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.7em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

@media screen and (max-width: 768px) {
  section.sec-company .caption p br {
    display: none;
  }
  section.sec-company .link-wrap {
    width: 100%;
    margin: 14px 0px 0px 0px;
    position: static;
    right: inherit;
    bottom: inherit;
    text-align: right;
  }
  section.sec-company .link-wrap .link-more {
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 1.14286em;
  }
}

@media screen and (max-width: 768px) and (max-width: 768px) {
  section.sec-company .link-wrap .link-more {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.14286em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

@media screen and (max-width: 768px) {
  section.sec-company .zabuton {
    width: 46.66667%;
    padding-top: 38.46154%;
    right: 3.84615%;
    top: -9.23077%;
    z-index: 1;
  }
}

section.sec-career {
  padding: 5% 0px 10% 0px;
}

section.sec-career .sec-inner {
  width: 65.375%;
  position: relative;
}

section.sec-career .sec-inner .detail-wrap {
  width: 100%;
  margin: auto;
  text-align: center;
  position: relative;
}

section.sec-career .sec-inner .detail-wrap .ttl-wrap h1 {
  font-size: 60px;
  font-size: 6rem;
  line-height: 1.2em;
}

@media screen and (max-width: 768px) {
  section.sec-career .sec-inner .detail-wrap .ttl-wrap h1 {
    font-size: 30px;
    font-size: 3rem;
    line-height: 1.2em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

section.sec-career .sec-inner .detail-wrap .txt-wrap {
  margin-top: 40px;
  color: #333;
}

section.sec-career .sec-inner .detail-wrap .link-wrap {
  position: absolute;
  bottom: 0px;
  right: 0px;
}

@media screen and (min-width: 768px) and (max-width: 960px) {
  section.sec-career .sec-inner .detail-wrap .link-wrap {
    bottom: -30px;
  }
}

section.sec-career .sec-inner .visual-wrap {
  width: 100%;
  margin: auto;
  position: relative;
  margin-top: 50px;
}

section.sec-career .sec-inner .visual-wrap a {
  display: block;
  overflow: hidden;
  background: #ff0211;
}

html[data-sp="false"] section.sec-career .sec-inner .visual-wrap a > img {
  -webkit-transition: opacity 1.5s ease;
  transition: opacity 1.5s ease;
}

html[data-sp="false"] section.sec-career .sec-inner .visual-wrap a h2 {
  -webkit-transition: -webkit-transform 1.5s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: -webkit-transform 1.5s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: transform 1.5s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: transform 1.5s cubic-bezier(0.39, 0.575, 0.565, 1), -webkit-transform 1.5s cubic-bezier(0.39, 0.575, 0.565, 1);
}

html[data-sp="false"] section.sec-career .sec-inner .visual-wrap a:hover > img {
  opacity: 0.5;
}

html[data-sp="false"] section.sec-career .sec-inner .visual-wrap a:hover h2 {
  -webkit-transform: translate3d(-50%, -50%, 0px) scale(1.04);
          transform: translate3d(-50%, -50%, 0px) scale(1.04);
}

section.sec-career .sec-inner .visual-wrap > img {
  width: 100%;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

section.sec-career .sec-inner .visual-wrap .image-wrap {
  z-index: 3;
}

section.sec-career .sec-inner .visual-wrap .image-wrap img {
  width: 100%;
  opacity: 0;
}

section.sec-career .sec-inner .visual-wrap h2 {
  width: 54.49331%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate3d(-50%, -50%, 0px);
          transform: translate3d(-50%, -50%, 0px);
  z-index: 10;
}

section.sec-career .sec-inner .visual-wrap h2 .svg-text {
  width: 100%;
  fill: #fff;
}

section.sec-career .sec-inner .link-wrap2 {
  width: 21.98853%;
  padding-top: 21.98853%;
  background: #ff0211;
  position: absolute;
  right: -12.23709%;
  bottom: -7.64818%;
  z-index: 1;
  -webkit-box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.15);
          box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.15);
}

html[data-sp="false"] section.sec-career .sec-inner .link-wrap2 {
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.4s ease, -webkit-box-shadow 0.6s ease;
  transition: -webkit-transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.4s ease, -webkit-box-shadow 0.6s ease;
  transition: transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1), transform 0.4s ease, box-shadow 0.6s ease;
  transition: transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1), transform 0.4s ease, box-shadow 0.6s ease, -webkit-transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.4s ease, -webkit-box-shadow 0.6s ease;
}

html[data-sp="false"] section.sec-career .sec-inner .link-wrap2:hover {
  -webkit-transform: translate3d(0px, -2px, 0px);
          transform: translate3d(0px, -2px, 0px);
  -webkit-box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.45);
          box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.45);
}

section.sec-career .sec-inner .link-wrap2 a {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0px;
  right: 0px;
  margin: auto;
  top: 50%;
  -webkit-transform: translate3d(0px, -50%, 0px);
          transform: translate3d(0px, -50%, 0px);
  display: block;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: center;
}

section.sec-career .sec-inner .link-wrap2 a p.linkwrap2-ttl {
  width: 100%;
  font-size: 19px;
  font-size: 1.9rem;
  line-height: 1em;
  letter-spacing: 0.1em;
  display: inline;
  position: relative;
}

@media screen and (max-width: 768px) {
  section.sec-career .sec-inner .link-wrap2 a p.linkwrap2-ttl {
    font-size: 9.5px;
    font-size: 0.95rem;
    line-height: 1em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

section.sec-career .sec-inner .link-wrap2 a p.linkwrap2-ttl span {
  display: inline-block;
}

section.sec-career .sec-inner .link-wrap2 a p.linkwrap2-ttl .target-icon {
  width: 8px;
  height: 7px;
  margin-top: -4px;
  position: absolute;
  top: 50%;
  right: -15px;
  display: block;
  background: url(assets/img/common/blank_white.svg) no-repeat;
}

section.sec-career .sec-inner .link-wrap2 a p.linkwrap2-ttl br {
  display: none;
}

section.sec-career .sec-inner .link-wrap2 a p.linkwrap2-ttl .cls-1 {
  fill: #fff;
  position: relative;
}

section.sec-career .sec-inner .link-wrap2 a p.linkwrap2-logo {
  width: 100%;
  padding-top: 60.86957%;
  margin: 15px 0px 0px 4px;
  position: relative;
}

section.sec-career .sec-inner .link-wrap2 a p.linkwrap2-logo .ico-svg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  display: block;
  fill: #fff;
}

@media screen and (min-width: 768px) and (max-width: 1250px) {
  section.sec-career .sec-inner .link-wrap2 a p.linkwrap2-ttl .target-icon {
    height: 100%;
    top: 0px;
    margin-top: 0px;
  }
  section.sec-career .sec-inner .link-wrap2 a p.linkwrap2-ttl br {
    display: block;
  }
}

@media screen and (max-width: 768px) {
  section.sec-career {
    padding: 15.38462% 0px 23.07692% 0px;
  }
  section.sec-career .sec-inner {
    width: 86.66667%;
  }
  section.sec-career .sec-inner .detail-wrap {
    width: 100%;
  }
  section.sec-career .sec-inner .detail-wrap .ttl-wrap h1 {
    font-size: 68px;
    font-size: 6.8rem;
    line-height: 1.20588em;
  }
}

@media screen and (max-width: 768px) and (max-width: 768px) {
  section.sec-career .sec-inner .detail-wrap .ttl-wrap h1 {
    font-size: 34px;
    font-size: 3.4rem;
    line-height: 1.20588em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

@media screen and (max-width: 768px) {
  section.sec-career .sec-inner .detail-wrap .txt-wrap {
    margin-top: 12px;
    line-height: 1.8em;
  }
  section.sec-career .sec-inner .detail-wrap .link-wrap {
    margin: 4.61538% 0px 0px 0px;
    position: relative;
  }
  section.sec-career .sec-inner .detail-wrap .link-wrap a {
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 1.14286em;
  }
}

@media screen and (max-width: 768px) and (max-width: 768px) {
  section.sec-career .sec-inner .detail-wrap .link-wrap a {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.14286em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

@media screen and (max-width: 768px) {
  section.sec-career .sec-inner .visual-wrap {
    width: 100%;
    margin-top: 60px;
  }
  section.sec-career .sec-inner .visual-wrap h2 {
    width: 65.69231%;
  }
  section.sec-career .sec-inner .visual-wrap .svg-text {
    width: 65.69231%;
  }
  section.sec-career .sec-inner .link-wrap2 {
    width: 100%;
    display: block;
    padding-top: 0px;
    background: none;
    -webkit-box-shadow: none;
            box-shadow: none;
    bottom: 25px;
  }
  section.sec-career .sec-inner .link-wrap2 a {
    width: initial;
    right: 6.66667%;
    left: inherit;
    display: block;
  }
  section.sec-career .sec-inner .link-wrap2 a .link-wrap2-wrap {
    padding: 0px 30px 0px 10px;
    display: block;
    height: 50px;
    background: #ff0211;
    -webkit-box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.15);
            box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.15);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  section.sec-career .sec-inner .link-wrap2 a p.linkwrap2-ttl {
    width: inherit;
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 1em;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}

@media screen and (max-width: 768px) and (max-width: 768px) {
  section.sec-career .sec-inner .link-wrap2 a p.linkwrap2-ttl {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

@media screen and (max-width: 768px) {
  section.sec-career .sec-inner .link-wrap2 a p.linkwrap2-logo {
    width: inherit;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    padding: 0px 10px 0px 0px;
    margin: 0px;
  }
  section.sec-career .sec-inner .link-wrap2 a p.linkwrap2-logo .ico-svg {
    width: 22.5px;
    height: 25px;
    position: relative;
  }
}

/*-------------------------------------------> common :color */
.event {
  color: #bc7243;
}

.media {
  color: #8dbc43;
}

.news {
  color: #5f43bc;
}

.release {
  color: #bc438d;
}

.recruit {
  color: #438dbc;
}

.others {
  color: #555555;
}

section.sec-news {
  margin: 0px auto;
  padding-top: 100px;
  position: relative;
}

section.sec-news .sec-inner {
  position: relative;
}

section.sec-news .detail-wrap {
  position: relative;
}

section.sec-news .detail-wrap-inner {
  margin-top: unset;
  margin-top: 60px;
  position: relative;
}

section.sec-news .ttl-wrap {
  text-align: center;
  color: #000000;
}

section.sec-news .ttl-wrap h1 {
  font-size: 60px;
  font-size: 6rem;
  line-height: 0.9em;
  @inherit ls(100);
}

@media screen and (max-width: 768px) {
  section.sec-news .ttl-wrap h1 {
    font-size: 30px;
    font-size: 3rem;
    line-height: 0.9em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

section.sec-news .link-wrap {
  position: absolute;
  top: 0px;
  right: 0px;
  z-index: 1;
}

section.sec-news #news-slider {
  margin-top: 60px;
}

section.sec-news .swiper-slide {
  background: #fff;
}

section.sec-news .swiper-slide ul {
  -webkit-transition: opacity 1s ease-in, -webkit-transform .5s ease-in;
  transition: opacity 1s ease-in, -webkit-transform .5s ease-in;
  transition: opacity 1s ease-in, transform .5s ease-in;
  transition: opacity 1s ease-in, transform .5s ease-in, -webkit-transform .5s ease-in;
  -webkit-transform: translate3d(0px, 30px, 0px);
          transform: translate3d(0px, 30px, 0px);
  opacity: 0;
}

section.sec-news .swiper-slide.swiper-slide-active ul {
  -webkit-transition: opacity 1.3s ease-out, -webkit-transform 1.3s ease-out;
  transition: opacity 1.3s ease-out, -webkit-transform 1.3s ease-out;
  transition: opacity 1.3s ease-out, transform 1.3s ease-out;
  transition: opacity 1.3s ease-out, transform 1.3s ease-out, -webkit-transform 1.3s ease-out;
  -webkit-transform: translate3d(0px, 0px, 0px);
          transform: translate3d(0px, 0px, 0px);
  opacity: 1;
}

section.sec-news .newslist-wrap {
  margin-top: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  background: #fff;
}

section.sec-news .newslist-wrap:first-child {
  margin-top: 0px;
}

section.sec-news .newslist-wrap li {
  -ms-flex-preferred-size: 31.66667%;
      flex-basis: 31.66667%;
  margin: 0px 0px 2.5% 0px;
  border: solid 1px #e4e3e1;
  position: relative;
}

section.sec-news .newslist-wrap li:nth-child(3n) {
  margin-right: 0px;
}

section.sec-news .newslist-wrap li a {
  padding: 34px 30px;
  display: block;
}

html[data-sp="false"] section.sec-news .newslist-wrap li {
  -webkit-transition: opacity 0.4s ease, -webkit-transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-box-shadow 0.6s ease;
  transition: opacity 0.4s ease, -webkit-transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-box-shadow 0.6s ease;
  transition: transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.4s ease, box-shadow 0.6s ease;
  transition: transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.4s ease, box-shadow 0.6s ease, -webkit-transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-box-shadow 0.6s ease;
}

html[data-sp="false"] section.sec-news .newslist-wrap li:hover {
  -webkit-transform: translate3d(0px, -2px, 0px);
          transform: translate3d(0px, -2px, 0px);
  -webkit-box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.15);
          box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.15);
}

section.sec-news .newslist-wrap .category {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.2em;
  letter-spacing: 0.1em;
  text-align: left;
}

@media screen and (max-width: 768px) {
  section.sec-news .newslist-wrap .category {
    font-size: 7.5px;
    font-size: 0.75rem;
    line-height: 1.2em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

section.sec-news .newslist-wrap .category span::before {
  content: '/';
  margin: 0px 10px 0px 5px;
  color: #999999;
}

section.sec-news .newslist-wrap .category span:first-child::before {
  display: none;
}

section.sec-news .newslist-wrap .date {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.21429em;
  letter-spacing: 0.1em;
  text-align: left;
  color: #999999;
  margin: 10px 0 0;
}

@media screen and (max-width: 768px) {
  section.sec-news .newslist-wrap .date {
    font-size: 7px;
    font-size: 0.7rem;
    line-height: 1.21429em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

section.sec-news .newslist-wrap .headline {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.6875em;
  letter-spacing: 0.1em;
  text-align: left;
  color: #000000;
  margin: 20px 0 0;
  white-space: normal;
  word-break: break-all;
}

@media screen and (max-width: 768px) {
  section.sec-news .newslist-wrap .headline {
    font-size: 8px;
    font-size: 0.8rem;
    line-height: 1.6875em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

section.sec-news #news-slider-pagenation {
  display: none;
}

@media screen and (max-width: 768px) {
  section.sec-news {
    padding: 16% 0 0px;
  }
  section.sec-news .ttl-wrap h1 {
    text-align: left;
    font-size: 68px;
    font-size: 6.8rem;
    line-height: 0.91176em;
  }
}

@media screen and (max-width: 768px) and (max-width: 768px) {
  section.sec-news .ttl-wrap h1 {
    font-size: 34px;
    font-size: 3.4rem;
    line-height: 0.91176em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

@media screen and (max-width: 768px) {
  section.sec-news .link-wrap {
    top: -1em;
    text-align: right;
    margin-top: 0px;
    margin-right: 0;
  }
  section.sec-news .link-wrap a {
    padding: 0 45px 0 0;
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 1.21429em;
  }
}

@media screen and (max-width: 768px) and (max-width: 768px) {
  section.sec-news .link-wrap a {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.21429em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

@media screen and (max-width: 768px) {
  section.sec-news .link-wrap a:after {
    width: 35px;
    height: 2px;
  }
  section.sec-news .detail-wrap-inner {
    margin-top: unset;
    padding-top: 0;
    position: static;
  }
  section.sec-news #news-slider {
    margin-top: 9.23077%;
  }
  section.sec-news .swiper-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  section.sec-news .newslist-wrap {
    margin-top: 0px;
    display: block;
    overflow: hidden;
  }
  section.sec-news .newslist-wrap li {
    width: 100%;
    -ms-flex-preferred-size: inherit;
        flex-basis: inherit;
    margin: 14px 0 0;
    border: solid 1px #e4e3e1;
  }
  section.sec-news .newslist-wrap li:nth-child(4), section.sec-news .newslist-wrap li:nth-child(5), section.sec-news .newslist-wrap li:nth-child(6) {
    display: none;
  }
  section.sec-news .newslist-wrap li:first-child {
    margin-top: 0px;
  }
  section.sec-news .newslist-wrap li:nth-child(3n) {
    margin: 14px 0 0;
  }
  section.sec-news .newslist-wrap li a {
    padding: 21px 24px;
  }
  section.sec-news .newslist-wrap li:nth-child(1), section.sec-news .newslist-wrap li:nth-child(2) {
    display: block;
  }
  section.sec-news .newslist-wrap li.is-current {
    position: relative;
    left: 0;
  }
  section.sec-news .newslist-wrap li:nth-child(3n) {
    margin: 15px 0 0 0;
  }
  section.sec-news .newslist-wrap .category {
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 1.21429em;
  }
}

@media screen and (max-width: 768px) and (max-width: 768px) {
  section.sec-news .newslist-wrap .category {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.21429em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

@media screen and (max-width: 768px) {
  section.sec-news .newslist-wrap .date {
    font-size: 26px;
    font-size: 2.6rem;
    line-height: 1.23077em;
  }
}

@media screen and (max-width: 768px) and (max-width: 768px) {
  section.sec-news .newslist-wrap .date {
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.23077em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

@media screen and (max-width: 768px) {
  section.sec-news .newslist-wrap .headline {
    overflow: hidden;
    font-size: 30px;
    font-size: 3rem;
    line-height: 1.8em;
    letter-spacing: 0.1em;
    margin: 5px 0 0;
    position: relative;
  }
}

@media screen and (max-width: 768px) and (max-width: 768px) {
  section.sec-news .newslist-wrap .headline {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.8em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

@media screen and (max-width: 768px) {
  section.sec-news #news-slider-pagenation {
    width: 100%;
    margin-top: 13px;
    display: block;
    text-align: center;
    position: relative;
  }
  section.sec-news #news-slider-pagenation .swiper-pagination-bullet {
    width: 7px;
    height: 7px;
    margin: 0px 3px;
    display: inline-block;
    background: #eee;
    opacity: 1;
  }
  section.sec-news #news-slider-pagenation .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: #000;
  }
}

section.sec-news .filters-block .bth-filters {
  display: none;
}

@media screen and (min-width: 769px) {
  section.sec-news .filters-block .filters-group {
    display: block !important;
  }
}

section.sec-news .filters-block ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

section.sec-news .filters-block ul li {
  margin-left: 10px;
}

section.sec-news .filters-block ul li:first-child {
  margin-left: 0px;
}

section.sec-news .filters-block ul li a {
  display: block;
  padding: 10px 20px;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.30769em;
  letter-spacing: 0.1em;
  color: #cccccc;
  text-align: center;
  border: 1px solid #cccccc;
  border-radius: 30px;
  -webkit-transition: background .3s ease, border .3s ease;
  transition: background .3s ease, border .3s ease;
}

@media screen and (max-width: 768px) {
  section.sec-news .filters-block ul li a {
    font-size: 6.5px;
    font-size: 0.65rem;
    line-height: 1.30769em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

html[data-sp="false"] section.sec-news .filters-block ul li a {
  -webkit-transition: background 0.5s ease, border 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: background 0.5s ease, border 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
}

html[data-sp="false"] section.sec-news .filters-block ul li a:hover {
  color: #ffffff;
  background: #000;
}

html[data-sp="false"] section.sec-news .filters-block ul li a:hover[data-sort-key="all"] {
  background: #000;
  border: 1px solid #000;
}

html[data-sp="false"] section.sec-news .filters-block ul li a:hover[data-sort-key="メディア"] {
  background: #8dbc43;
  border: 1px solid #8dbc43;
}

html[data-sp="false"] section.sec-news .filters-block ul li a:hover[data-sort-key="ニュース"] {
  background: #5f43bc;
  border: 1px solid #5f43bc;
}

html[data-sp="false"] section.sec-news .filters-block ul li a:hover[data-sort-key="リリース"] {
  background: #bc438d;
  border: 1px solid #bc438d;
}

section.sec-news .filters-block ul li.is-current a {
  color: #ffffff;
  background: #000;
}

section.sec-news .filters-block ul li.is-current a[data-sort-key="all"] {
  background: #000;
  border: 1px solid #000;
}

section.sec-news .filters-block ul li.is-current a[data-sub-sort-key="all"] {
  background: #000;
  border: 1px solid #000;
}

section.sec-news .filters-block ul li.is-current a[data-sort-key="メディア"] {
  background: #8dbc43;
  border: 1px solid #8dbc43;
}

section.sec-news .filters-block ul li.is-current a[data-sort-key="ニュース"] {
  background: #5f43bc;
  border: 1px solid #5f43bc;
}

section.sec-news .filters-block ul li.is-current a[data-sort-key="リリース"] {
  background: #bc438d;
  border: 1px solid #bc438d;
}

@media screen and (max-width: 768px) {
  section.sec-news .filters-block .bth-filters {
    display: block;
    background: #eeeeee;
  }
  section.sec-news .filters-block .bth-filters a {
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 0.57143em;
    letter-spacing: 0.1em;
    display: block;
    color: #000000;
    text-align: center;
    padding: 20px 0;
  }
}

@media screen and (max-width: 768px) and (max-width: 768px) {
  section.sec-news .filters-block .bth-filters a {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 0.57143em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

@media screen and (max-width: 768px) {
  section.sec-news .filters-block .bth-filters a:after {
    width: 10px;
    height: 7px;
    content: '';
    background: url(/assets/img/ir/news/arrow.png) no-repeat 0 0;
    background-size: 100%;
    display: inline-block;
    margin: 0 0 0 10px;
    vertical-align: baseline;
    text-align: left;
  }
  section.sec-news .filters-block .bth-filters.is-open a:after {
    background: url(/assets/img/ir/news/arrow2.png) no-repeat 0 0;
    background-size: 100%;
  }
  section.sec-news .filters-block .filters-group {
    position: relative;
    /*display: none;*/
  }
  section.sec-news .filters-block .filters-group .filters-group-inner {
    width: 100%;
    background: #ffffff;
  }
  section.sec-news .filters-block ul {
    text-align: center;
    letter-spacing: normal;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
  }
  section.sec-news .filters-block ul li {
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
    display: block;
    margin: 0px;
    border: 1px solid #eeeeee;
  }
  section.sec-news .filters-block ul li:first-child, section.sec-news .filters-block ul li:nth-child(2) {
    border-bottom: none;
  }
  section.sec-news .filters-block ul li:nth-child(2n) {
    border-left: none;
  }
  section.sec-news .filters-block ul li a {
    width: 100%;
    display: block;
    padding: 15px 0;
    font-size: 26px;
    font-size: 2.6rem;
    line-height: 0.61538em;
    color: #999999;
    text-align: center;
    border-radius: inherit;
    border: none;
  }
}

@media screen and (max-width: 768px) and (max-width: 768px) {
  section.sec-news .filters-block ul li a {
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 0.61538em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

@media screen and (max-width: 768px) {
  section.sec-news .filters-block ul li.is-current a {
    border-radius: 0;
    border: none;
  }
  section.sec-news .filters-block ul li.is-current a[data-sort-key="all"] {
    background: #000;
    border: 1px solid #000;
  }
  section.sec-news .filters-block ul li.is-current a[data-sort-key="media"] {
    background: #8dbc43;
    border: 1px solid #8dbc43;
  }
  section.sec-news .filters-block ul li.is-current a[data-sort-key="news"] {
    background: #5f43bc;
    border: 1px solid #5f43bc;
  }
  section.sec-news .filters-block ul li.is-current a[data-sort-key="release"] {
    background: #bc438d;
    border: 1px solid #bc438d;
  }
}

.link-wrap {
  text-align: right;
}

.link-wrap.white a {
  color: #ffffff;
}

.link-wrap.white a:after {
  background: #ffffff;
}

.link-wrap a {
  display: inline-block;
  padding: 0 53px 0 0;
  position: relative;
  color: #000000;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.21429em;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 768px) {
  .link-wrap a {
    font-size: 7px;
    font-size: 0.7rem;
    line-height: 1.21429em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

.link-wrap a:after {
  width: 40px;
  height: 2px;
  background: #000000;
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}

@media screen and (max-width: 768px) {
  .link-wrap .link-wrap {
    text-align: right;
    margin-top: -10px;
    margin-right: 0;
  }
  .link-wrap .link-wrap a {
    padding: 0 45px 0 0;
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 1.21429em;
  }
}

@media screen and (max-width: 768px) and (max-width: 768px) {
  .link-wrap .link-wrap a {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.21429em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

@media screen and (max-width: 768px) {
  .link-wrap .link-wrap a:after {
    width: 35px;
    height: 2px;
  }
}

.sec-message {
  margin-top: 50px;
  text-align: center;
}

.sec-message a {
  display: inline-block;
}

html[data-sp="false"] .sec-message a {
  -webkit-transition: opacity .4s ease;
  transition: opacity .4s ease;
}

html[data-sp="false"] .sec-message a:hover {
  opacity: 0.7;
}

.sub_nav_hidden {
  display: none;
  -webkit-transition: opacity 0.4s ease, -webkit-transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: opacity 0.4s ease, -webkit-transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.4s ease;
  transition: transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.4s ease, -webkit-transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.btn-link {
  width: 384px;
  margin: 40px auto 0;
  border: solid 2px #000000;
  position: relative;
}

.btn-link a {
  position: relative;
  display: block;
  padding: 30px 0;
  text-align: center;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1em;
  letter-spacing: 0.1em;
  color: #000000;
  -webkit-transition: color 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: color 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
}

@media screen and (max-width: 768px) {
  .btn-link a {
    font-size: 8px;
    font-size: 0.8rem;
    line-height: 1em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

.btn-link a span {
  position: relative;
  z-index: 1;
}

.btn-link a::after {
  content: '';
  width: 100%;
  height: 100%;
  display: block;
  background: #000;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
  -webkit-transform-origin: right top;
          transform-origin: right top;
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: -webkit-transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
}

html[data-sp="false"] .btn-link a:hover span {
  color: #fff;
}

html[data-sp="false"] .btn-link a:hover .ico-blank-black::after {
  background: url(/assets/img/common/blank_white.svg) no-repeat center center;
  background-size: 100%;
}

html[data-sp="false"] .btn-link a:hover::after {
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}

@media screen and (max-width: 768px) {
  .btn-link {
    width: 100%;
    margin: 25px auto 50px;
    border: solid 2px #000000;
  }
  .btn-link a {
    padding: 16px 0;
    font-size: 30px;
    font-size: 3rem;
    line-height: 1.8em;
  }
}

@media screen and (max-width: 768px) and (max-width: 768px) {
  .btn-link a {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.8em;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
  }
}

.subcat-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 10px;
}

.subcat-list li {
  margin-right: 5px;
}

.subcat-list li a {
  display: block;
  padding: 2px 13px;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.30769em;
  letter-spacing: .1em;
  color: #ccc;
  text-align: center;
  border: 1px solid #ccc;
  border-radius: 15px;
  -webkit-transition: background .3s ease,border .3s ease;
  transition: background .3s ease,border .3s ease;
}

.subcat-icon {
  display: inline-block;
  padding: 2px 13px;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.30769em;
  letter-spacing: .1em;
  color: #ccc;
  text-align: center;
  border: 1px solid #ccc;
  border-radius: 15px;
  -webkit-transition: background .3s ease,border .3s ease;
  transition: background .3s ease,border .3s ease;
}

.main-cat {
  display: block;
  margin: 10px 0 15px 0;
  font-size: 1.4rem;
}

.subcategory {
  margin-top: 10px;
}

@media screen and (max-width: 768px) {
  .subcategory {
    margin-top: 0;
  }
}

.category-title {
  display: none;
}

@media screen and (max-width: 768px) {
  .category-title {
    display: block;
    font-size: 1.4rem;
    font-weight: bold;
    margin: 20px;
    text-align: center;
  }
}

.subcategory-filters {
  -webkit-transition: opacity .25s ease-in, -webkit-transform .25s ease-in;
  transition: opacity .25s ease-in, -webkit-transform .25s ease-in;
  transition: opacity .25s ease-in, transform .25s ease-in;
  transition: opacity .25s ease-in, transform .25s ease-in, -webkit-transform .25s ease-in;
  -webkit-transform: translate3d(0px, 30px, 0px);
          transform: translate3d(0px, 30px, 0px);
  height: 0;
  opacity: 0;
  visibility: hidden;
}

.subcategory-filters.subcategory-filters-active {
  -webkit-transition: opacity .25s ease-out, -webkit-transform .25s ease-out;
  transition: opacity .25s ease-out, -webkit-transform .25s ease-out;
  transition: opacity .25s ease-out, transform .25s ease-out;
  transition: opacity .25s ease-out, transform .25s ease-out, -webkit-transform .25s ease-out;
  -webkit-transform: translate3d(0px, 0px, 0px);
          transform: translate3d(0px, 0px, 0px);
  opacity: 1;
  height: auto;
  visibility: visible;
}

.newslist-wrap {
  opacity: 0;
}

#loading-wrap {
  display: none !important;
}

#yearbook_banner {
  width: 75%;
  max-width: 1200px;
  margin: auto;
  padding-top: 60px;
  display: none;
}

#yearbook_banner a {
  position: relative;
  z-index: 1;
  margin-bottom: -30px;
  display: block;
}

html[data-sp="false"] #yearbook_banner a {
  -webkit-transition: opacity .4s ease;
  transition: opacity .4s ease;
}

html[data-sp="false"] #yearbook_banner a:hover {
  opacity: 0.7;
}

@media (max-width: 768px) {
  #yearbook_banner {
    width: 86.66667%;
    padding-top: 10%;
  }
  #yearbook_banner a {
    margin-bottom: 0%;
  }
}

@media (max-width: 768px) {
  #yearbook_banner img.show_pc {
    display: none;
  }
}

@media (min-width: 768px) {
  #yearbook_banner img.show_sp {
    display: none;
  }
}

/*	2020.08.24 追加section 新着情報
=======================================================*/
.index_sec {
  padding: 100px 0;
  position: relative;
  line-height: 1.6;
  background: #fff;
}

.index_sec p {
  margin: 10px auto;
}

#index_news h2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 4rem;
  color: #ff0211;
  font-weight: 900;
}

#index_news h2::before, #index_news h2::after {
  border-top: 1px solid;
  content: "";
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin: 1rem;
}

#index_news .news_container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
	flex-wrap: wrap;
  width: 60%;
  margin: 30px auto;
}

@media screen and (max-width: 768px) {
  #index_news .news_container {
    width: 98%;
	justify-content: space-between;
  }
}

#index_news .news_container .news_box {
  width: 100%;
  margin: 0 1% 16px;
  padding: 10px;
  border: 1px solid #ccc;
}
@media screen and (max-width: 768px) {
	#index_news .news_container .news_box {
		width: calc(100% / 2 - 2%);
	}
}

#index_news .news_container .news_box .day {
  text-align: center;
  font-weight: 900;
}

#index_news .news_container .news_box .blog-title {
  text-align: center;
  font-weight: 900;
  color: #ff0211;
}

#index_news .news_container .news_box .readmore {
  text-align: center;
  font-weight: 900;
  font-size: clamp(10px, 2vw, 14px);
  letter-spacing: 1px;
}

#index_news .news_container .news_box .readmore a {
  text-decoration: underline;
  display: inline-block;
  color: #666;
}

#index_news .link-news {
  text-align: center;
}

#index_news .link-news a {
  position: relative;
  display: block;
  width: 200px;
  height: 54px;
  background-color: #ff0211;
  border: 1px solid #ff0211;
  color: #fff;
  text-align: center;
  text-decoration: none;
  line-height: 54px;
  margin: 0 auto;
}

#index_news .link-news a:hover {
  color: #ff0211;
}

#index_news .link-news a:hover::before {
  width: 100%;
  left: 0;
}

#index_news .link-news a::before {
  width: 0;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  background: #fff;
  z-index: 1;
  display: block;
  content: "";
  -webkit-transition: width .4s ease;
  transition: width .4s ease;
}

#index_news .link-news a .news_list {
  position: relative;
  z-index: 2;
  font-weight: 900;
}

header#header .in h1 .logo-svg,
footer#footer .footer-middle h1 .logo-svg {
	width: 155px;
}
footer#footer .footer-bottom .footer-box ul li a {
  color: rgba(255, 255, 255, .7);
}
.mod-ttl-block .mod-ttl-block-bottom .breadcrumb li:last-child {
  color: rgba(255, 255, 255, .7);
}
@media screen and (max-width: 768px) {
	header#header .in h1 .logo-svg,
	footer#footer .footer-middle h1 .logo-svg {
		width: 119px;
	}
	footer#footer .footer-bottom .footer-box h2.samechildh1 {
		margin-top: 30px;
	}
}

/*# sourceMappingURL=top.css.map */