@charset "utf-8";
/*
.font-serif(){
	//font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝";
	font-family: "Noto Serif JP", "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}
.font-serif-bold(){
	.font-serif();
	font-weight: bold;
}
*/
.abswh100 {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
.wh100 {
  width: 100%;
  height: 100%;
}
.center {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
}
.abscenter {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.hv_center {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
}
.h_center {
  position: absolute;
  right: 0;
  left: 0;
  margin: auto;
}
.v_center {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}
.hover_scale {
  transition: all 200ms 0s ease;
}
.hover_scale:hover {
  transform: scale(1.03);
}
/*==============================================================
  ■ (PC)
==============================================================*/
.kv {
  height: 710px;
  overflow: hidden;
}
.kv .inner {
  padding-top: 342px;
}
.kv__bg {
  width: 85.6vw;
  height: 113.2vw;
  background-image: url("../img/about/kv_bg.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  text-indent: -9999px;
  overflow: hidden;
  white-space: nowrap;
  position: absolute;
  right: -144px;
  top: -58px;
}
.kv__bg a {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.hl {
  position: relative;
  display: block;
  width: 630px;
  height: 418px;
  background-color: #4D4D4D;
  color: white;
  padding-left: 60px;
  padding-top: 60px;
}
.hl__E {
  font-family: 'Albert Sans', 'Noto Sans JP', "游ゴシック体", 'Yu Gothic', "YuGothic", "Noto Sans JP", 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', "メイリオ", "Meiryo", "Osaka", 'ＭＳ Ｐゴシック', 'MS PGothic', "sans-serif";
  font-size: 60px;
  font-weight: 700;
  line-height: 100%;
  /* 30px */
  letter-spacing: 1.2px;
}
.hl__J {
  font-size: 26px;
  font-weight: 700;
  line-height: 100%;
  /* 13px */
  letter-spacing: 1.3px;
  color: #AAA;
  margin-top: 16px;
}
.hl__link {
  white-space: nowrap;
}
.hl__link .arrow {
  position: relative;
  display: inline-block;
  width: 100px;
  height: 100px;
  background-color: white;
  border-radius: 200px;
  background: white;
  vertical-align: middle;
}
.hl__link .arrow:before {
  content: '';
  width: 4.267vw;
  height: 3.2vw;
  background-image: url("../img/btn_arrow.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  text-indent: -9999px;
  overflow: hidden;
  white-space: nowrap;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.hl__link .arrow:before a {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.hl__link .text {
  font-family: 'Albert Sans', 'Noto Sans JP', "游ゴシック体", 'Yu Gothic', "YuGothic", "Noto Sans JP", 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', "メイリオ", "Meiryo", "Osaka", 'ＭＳ Ｐゴシック', 'MS PGothic', "sans-serif";
  font-size: 28px;
  font-weight: 700;
  color: white;
  margin-left: 28px;
}
.hl__link.inv .arrow {
  background-color: #4B4B4B;
}
.hl__link.inv .arrow:before {
  width: 4.267vw;
  height: 3.2vw;
  background-image: url("../img/btn_arrow_w.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  text-indent: -9999px;
  overflow: hidden;
  white-space: nowrap;
}
.hl__link.inv .arrow:before a {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.hl__link.inv .text {
  color: #4B4B4B;
}
.hl__link.out .arrow {
  transform: rotate(-45deg);
}
.bmmsg {
  height: 1060px;
}
.bmmsg .bg {
  width: 100%;
  height: 640px;
  background: url(../img/about/img-scroll.jpg) 0 0 / cover repeat-x;
  animation: bgscroll 20s linear 0s infinite normal none running  ;
  position: absolute;
  left: 0;
  top: 0;
}
@keyframes bgscroll {
  0% {
    background-position-x: 0 ;
  }
  100% {
    background-position-x: -330vw;
  }
}
.bmmsg .hl {
  position: absolute;
  left: 0px;
  top: 482px;
}
.bmmsg .hl__link {
  position: absolute;
  right: 57px;
  bottom: 59px;
}
.rcmsg {
  height: 1056px;
}
.rcmsg .bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 640px;
  background: url(../img/about/sp_rcmsg_bg.jpg) center center / cover no-repeat;
}
.rcmsg .hl {
  position: absolute;
  left: 0px;
  top: 482px;
}
.rcmsg .hl__link {
  position: absolute;
  right: 57px;
  bottom: 59px;
}
.other {
  height: 1320px;
}
.other__list {
  padding-left: 60px;
}
.other__list__detail {
  position: relative;
  width: 690px;
  height: 560px;
  overflow: hidden;
}
.other__list__detail .bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.other__list__detail .hl {
  position: relative;
  background: none;
  padding: 0;
  width: 100%;
  height: 100%;
}
.other__list__detail .hl__E {
  font-size: 60px;
  font-weight: 700;
  line-height: 100%;
  /* 30px */
  letter-spacing: 1.2px;
}
.other__list__detail .hl__J {
  font-size: 26px;
  font-weight: 700;
  line-height: 100%;
  /* 13px */
  letter-spacing: 1.3px;
  color: white;
}
.other__list .detail1 .bg {
  background: url(../img/about/sp_vision_bg.jpg) center center / cover no-repeat;
}
.other__list .detail1 .hl__E {
  position: absolute;
  left: 60px;
  bottom: 116px;
}
.other__list .detail1 .hl__J {
  position: absolute;
  left: 60px;
  bottom: 77px;
}
.other__list .detail1 .hl__link {
  position: absolute;
  right: 60px;
  bottom: 80px;
}
.other__list .detail2 .bg {
  background: url(../img/about/sp_introduction_bg.jpg) center center / cover no-repeat;
}
.other__list .detail2 .hl__E {
  position: absolute;
  left: 60px;
  bottom: 116px;
}
.other__list .detail2 .hl__J {
  position: absolute;
  left: 60px;
  bottom: 77px;
}
.other__list .detail2 .hl__link {
  position: absolute;
  right: 60px;
  bottom: 80px;
}
