@charset "utf-8";


/*----------------------------------------------------
 Loder
----------------------------------------------------*/

#loder {
  background: #fff;
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 555;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

#loder:after {
  content: '';
  width: 100%;
  height: 100%;
  background: url('../img/home/loderBg.jpg') center top no-repeat;
  background-size: cover;
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  transition: all 2.5s linear;
}

#loder.active:after {
  opacity: 1;
}

#loder .animeLogo {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 291px;
  opacity: 0;
}

#loder.active .animeLogo {
  opacity: 1;
  transition: all 1.5s 1.5s linear;
}

#loder .loderInner {
  position: relative;
  width: calc(100% - 60px);
  height: calc(100% - 60px);
  overflow: hidden;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

#loder .loderInner span {
  position: absolute;
}

#loder .loderInner span:nth-child(1), #loder .loderInner span:nth-child(4) {
  top: 0;
  background-color: #000000;
  transition: all 1s 0.5s linear;
}

#loder .loderInner span:nth-child(3),#loder .loderInner span:nth-child(2) {
  left: 0;
  background-color: #000000;
  transition: all 1s 0.5s linear;
}

#loder .loderInner span:nth-child(1) {
  left: 0;
  width: 0;
  height: 2px;
  transform-origin: left center;
}

#loder .loderInner span:nth-child(2) {
  top: 0;
  width: 2px;
  height: 100%;
  transform-origin: center top;
  transform: scaleY(0);
}

#loder .loderInner span:nth-child(3) {
  bottom: 0;
  width: 0;
  height: 2px;
  transform-origin: left center;
  transition-delay: 1.5s;
}

#loder .loderInner span:nth-child(4) {
  right: 0;
  width: 2px;
  height: 100%;
  transform: scaleY(0);
  transform-origin: center top;
  transition-delay: 1.5s;
}

#loder.active .loderInner span:nth-child(3),
#loder.active .loderInner span:nth-child(1) {
  width: 100%;
}

#loder.active .loderInner span:nth-child(4),
#loder.active .loderInner span:nth-child(2) {
  transform: scaleY(1);
}

/*----------------------------------------------------
 Vslider
----------------------------------------------------*/

#visual {
  position: relative;
}

#visual .inner {
  width: 100%;
  max-width: initial;
  padding: 0;
  height: calc(100vh - 95px);
  position: relative;
}

#visual .bg {
  width: 100%;
  height: 100%;
}

#visual .bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
}

#visual .logo {
  width: 100%;
  /* max-width: 300px; */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-40%, -50%);
  -webkit-transform: translate(-40%, -50%);
  -ms-transform: translate(-40%, -50%);
  color: #fff;
  font-size: 6vw;
}


#visual .movieBg {
  width: 100%;
  height: calc(100vh - 95px);
  /* background: url('../img/home/visual-bg.jpg') no-repeat center/cover; */
  background: url('../img/home/visual-bg.png') no-repeat center/cover;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  #visual .movieBg {
    background: url('../img/home/visual-bg-sp.png') no-repeat center/cover;
    /* min-height: 320px; */
  }
  #visual .movieBg .video.pt_none {
    /* padding-top: 85.185%; */
  }
}

/* #visual .movieBg::after {
  content: '';
  width: 100%;
  height: 100%;
  background-color: #000000;
  opacity: .6;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
} */

#visual .movieBg video {
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}

/*----------------------------------------------------
 frontConcept
----------------------------------------------------*/

#frontConcept {
  background: #F7F6F4;
  padding: 131px 0 0 0;
  position: relative;
}

#frontConcept .head {
	position: relative;
	margin: 0 0 87px;
	text-align: center;
}

#frontConcept .head h2 {
	position: relative;
}

#frontConcept .head h2 b {
	font-size: 30px;
	font-weight: 500;
	color: #000;
	letter-spacing: 0.2em;
	display: block;
	font-family: 'Poppins', sans-serif;
  margin: 0 0 -1px;
}

#frontConcept .head h2 small {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.17em;
  color: #B2B185;
}

#frontConcept .conceptImages {
  display: flex;
  justify-content: space-between;
  position: relative;
  margin: 0 0 104px;
}

#frontConcept .conceptImages .leftImage {
  width: 76%;
}

#frontConcept .conceptImages .rightImage {
  width: 43.5%;
  position: absolute;
  right: -2px;
  bottom: -145px;
}

#frontConcept .conceptImagesBottom {
  margin-bottom: 124px;
}

#frontConcept .conceptImagesBottom .inner {
  max-width: 1086px;
}

#frontConcept .conceptImagesBottom .boxHead {
  margin: 0 0 22px;
}

#frontConcept .conceptImagesBottom .boxHead h3 {
  display: flex;
  flex-direction: column;
}

#frontConcept .conceptImagesBottom .boxHead h3 b {
  font-size: 25px;
  font-weight: 700;
  letter-spacing: 0.18em;
  margin: 0 0 2px;
}

#frontConcept .conceptImagesBottom .boxHead h3 small {
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0.18em;
  color: #B2B185;
  font-family: 'Bebas Neue', cursive;
}

#frontConcept .conceptImagesBottom .boxContents {
  padding: 0 0 0 2px;
}

#frontConcept .conceptImagesBottom .boxContents p {
  font-size: 15px;
  font-weight: 500;
  line-height: 2.2;
  letter-spacing: 0.12em;
  margin: 0 0 2px;
}

#frontConcept .conceptContents .inner {
  max-width: 1139px;
}

#frontConcept .conceptContents .imageFlex {
  display: flex;
}

#frontConcept .conceptContents .imageFlex .box {
  position: relative;
  width: 33.3333%;
}

#frontConcept .conceptContents .imageFlex .box .text {
  position: absolute;
  left: 22px;
  bottom: 20px;
}

#frontConcept .conceptContents .imageFlex .box .text p {
  font-size: 26px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.12em;
}

#frontConcept .conceptContents .imageFlex .box .addText {
  position: absolute;
  right: 16px;
  bottom: 20px;
}

#frontConcept .conceptContents .imageFlex .box .addText p {
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.12em;
}

#frontConcept .conceptContents .imageFlex .box.left p {
  color: #fff;
  text-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}

#frontConcept .conceptContents .imageFlex .box.center p {
  color: #fff;
  text-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}

#frontConcept .conceptContents .imageFlex .box.right p {
  color: #062A53;
  text-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}

#frontConcept .conceptTextArea {
  padding: 91px 0 127px;
}

#frontConcept .conceptTextArea .areaHead {
  margin: 0 0 46px;
}

#frontConcept .conceptTextArea .areaHead h3 {
  font-size: 26px;
  font-weight: 500;
  line-height: 1.9230;
  letter-spacing: 0.12em;
  text-align: center;
}

#frontConcept .conceptTextArea .areaHead h3 span {
  font-weight: 700;
  color: #AB936F;
}

#frontConcept .conceptTextArea .areaList {
  display: flex;
  justify-content: center;
  margin: 0 0 69px;
}

#frontConcept .conceptTextArea .areaList ul li {
  font-size: 15px;
  font-weight: 700;
  line-height: 2.2;
  letter-spacing: 0.12em;
  position: relative;
  padding: 0 0 0 18px;
}

#frontConcept .conceptTextArea .areaList ul li:before {
  content: '';
  width: 6px;
  height: 6px;
  background: #B2B185;
  border-radius: 50%;
  position: absolute;
  left: 3px;
  top: 13px;
}

#frontConcept .imageText {
  width: 100%;
  max-width: 548px;
  margin: 0 auto 0;
}

/*----------------------------------------------------
 frontInosupicule
----------------------------------------------------*/

#frontInosupicule {
  background: #fff;
  padding: 134px 0 0 0;
  position: relative;
}

#frontInosupicule .inner {
  max-width: 1141px;
}

#frontInosupicule .head {
	position: relative;
	margin: 0 0 0;
	text-align: center;
  z-index: 1;
}

#frontInosupicule .head h2 {
	position: relative;
}

#frontInosupicule .head h2 b {
	font-size: 30px;
	font-weight: 500;
	color: #000;
	letter-spacing: 0.2em;
	display: block;
	font-family: 'Poppins', sans-serif;
  margin: 0 0 -1px;
}

#frontInosupicule .head h2 small {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.17em;
  color: #A1A1A1;
}

#frontInosupicule .inosupiFlex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 0 -30px;
}

#frontInosupicule .inosupiFlex .image {
  width: 50.5%;
  padding: 0 0 0 0;
  -webkit-transform: translateY(-34px);
  transform: translateY(-34px);
}

#frontInosupicule .inosupiFlex .conts {
  width: 44.2%;
  -webkit-transform: translateY(-7px);
  transform: translateY(-7px);
}

#frontInosupicule .inosupiFlex .conts .contsHead {
  margin: 0 0 28px;
  padding: 0 0 28px;
  border-bottom: 2px solid #000;
}

#frontInosupicule .inosupiFlex .conts .contsHead h3 {
  display: flex;
  flex-direction: column;
}

#frontInosupicule .inosupiFlex .conts .contsHead h3 b {
  font-size: 25px;
	font-weight: 700;
	color: #000;
	letter-spacing: 0.18em;
}

#frontInosupicule .inosupiFlex .conts .contsHead h3 small {
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0.18em;
  color: #B2B185;
  font-family: 'Bebas Neue', cursive;
}

#frontInosupicule .inosupiFlex .conts .contsText p {
  font-size: 15px;
  font-weight: 500;
  line-height: 2.2;
  letter-spacing: 0.12em;
}

/*----------------------------------------------------
 frontProducts
----------------------------------------------------*/

#frontProducts {
  padding: 369px 0 0 0;
  position: relative;
}

#frontProducts .inner {
  max-width: 1241px;
  padding: 0 0 374px;
  position: relative;
  background: #FCFBFA;
  z-index: 1;
}

#frontProducts .inner:before {
  content: '';
  width: 100vw;
  height: 100%;
  background: #FCFBFA;
  position: absolute;
  margin: 0 calc(50% - 50vw);
  left: 0;
  top: 0;
}

#frontProducts:before {
  content: '';
  width: 160%;
  height: 390px;
  background: #FCFBFA;
  position: absolute;
  left: -30%;
  top: 158px;
  -webkit-transform: rotate(12deg);
  transform: rotate(12deg);
}

#frontProducts:after {
  content: '';
  width: 160%;
  height: 390px;
  background: #F7F6F4;
  position: absolute;
  left: -30%;
  bottom: -158px;
  -webkit-transform: rotate(-12deg);
  transform: rotate(-12deg);
  z-index: 1;
}

#frontProducts .head {
	position: relative;
	margin: 0 0 82px;
	text-align: center;
}

#frontProducts .head h2 {
	position: relative;
}

#frontProducts .head h2 b {
	font-size: 30px;
	font-weight: 500;
	color: #000;
	letter-spacing: 0.2em;
	display: block;
	font-family: 'Poppins', sans-serif;
  margin: 0 0 -2px;
}

#frontProducts .head h2 small {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: #B2B185;
}

#frontProducts .v3Box {
  height: 525px;
  margin: 0 0 38px;
}

#frontProducts .v3Box a {
  overflow: hidden;
  width: 100%;
  height: 100%;
  position: relative;
  background: url('../img/home/v3-boxBg.jpg') right bottom no-repeat;
  background-size: cover;
  display: flex;
  flex-direction: column;
}

#frontProducts .v3Box a .textLogo {
  position: absolute;
  top: 50%;
  left: 18%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

#frontProducts .v3Box a .textLogo h3 {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #fff;
  font-family: 'Josefin Sans', sans-serif;
  letter-spacing: 0.08em;
}

#frontProducts .v3Box a .textLogo h3 b {
  font-size: 90px;
  font-weight: 500;
  line-height: 1;
}

#frontProducts .v3Box a .textLogo h3 b span {
  font-size: 100px;
}

#frontProducts .v3Box a .textLogo h3 small {
  font-size: 36px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

#frontProducts .v3Box a .bg {
  width: 50.5%;
  position: absolute;
  right: 0;
  top: 0;
}

#frontProducts .v3Box a .logo {
  width: 100%;
  max-width: 206px;
  margin: 104px 0 10px 283px;
  position: relative;
  z-index: 1;
}

#frontProducts .v3Box a .item {
  width: 100%;
  max-width: 449px;
  margin: 0 0 0 172px;
  position: relative;
  z-index: 1;
}

#frontProducts .vosBox {
  height: 525px;
  margin: 0 0 38px;
}

#frontProducts .vosBox a {
  overflow: hidden;
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  background: url('../img/home/vos-boxBg.jpg') right bottom no-repeat;
  background-size: cover;
}

#frontProducts .vosBox a .textLogo {
  position: absolute;
  top: 50%;
  left: 15%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

#frontProducts .vosBox a .textLogo h3 {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #000000;
  font-family: 'Josefin Sans', sans-serif;
  letter-spacing: 0.08em;
}

#frontProducts .vosBox a .textLogo h3 b {
  font-size: 90px;
  font-weight: 500;
  line-height: 1;
}

#frontProducts .vosBox a .textLogo h3 b span {
  font-size: 100px;
}

#frontProducts .vosBox a .textLogo h3 small {
  font-size: 36px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

#frontProducts .vosBox a .bg {
  width: 56.6%;
  position: absolute;
  left: 0;
  top: 0;
}

#frontProducts .vosBox a .logo {
  width: 100%;
  max-width: 294px;
  margin: 113px 260px -1px auto;
  position: relative;
  z-index: 1;
}

#frontProducts .vosBox a .item {
  width: 100%;
  max-width: 584px;
  margin: 0 124px 0 auto;
  position: relative;
  z-index: 1;
}

#frontProducts .mesBox {
  height: 525px;
  margin: 0 0 77px;
}

#frontProducts .mesBox a {
  overflow: hidden;
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  background: url('../img/home/mes-boxBg.jpg') right bottom no-repeat;
  background-size: cover;
}

#frontProducts .mesBox a .textLogo {
  position: absolute;
  top: 50%;
  left: 15%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

#frontProducts .mesBox a .textLogo h3 {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #000000;
  font-family: 'Josefin Sans', sans-serif;
  letter-spacing: 0.08em;
}

#frontProducts .mesBox a .textLogo h3 b {
  font-size: 90px;
  font-weight: 500;
  line-height: 1;
}

#frontProducts .mesBox a .textLogo h3 b span {
  font-size: 100px;
}

#frontProducts .mesBox a .textLogo h3 small {
  font-size: 36px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

#frontProducts .mesBox a .bg {
  width: 56.6%;
  position: absolute;
  left: 0;
  top: 0;
}

#frontProducts .mesBox a .logo {
  width: 100%;
  max-width: 294px;
  margin: 113px 260px -1px auto;
  position: relative;
  z-index: 1;
}

#frontProducts .mesBox a .item {
  width: 100%;
  max-width: 584px;
  margin: 0 124px 0 auto;
  position: relative;
  z-index: 1;
}

/*----------------------------------------------------
 frontNews
----------------------------------------------------*/

#frontNews {
  overflow: hidden;
  position: relative;
  padding: 0 0;
  background: #f7f6f4;
}

#frontNews:after {
  content: '';
  width: 160%;
  height: 390px;
  background: #fff;
  position: absolute;
  left: -30%;
  bottom: -194px;
  -webkit-transform: rotate(-12deg);
  transform: rotate(-12deg);
  z-index: 1;
}

#frontNews .inner {
  max-width: 932px;
  position: relative;
  z-index: 1;
  padding: 0 0 393px;
}

#frontNews .head {
	position: relative;
	margin: 0 0 97px;
	text-align: center;
}

#frontNews .head h2 {
	position: relative;
}

#frontNews .head h2 b {
	font-size: 30px;
	font-weight: 500;
	color: #000;
	letter-spacing: 0.2em;
	display: block;
	font-family: 'Poppins', sans-serif;
  margin: 0 0 0;
}

#frontNews .head h2 small {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: #A1A1A1;
}

#frontNews .newsList {
  margin-bottom: 55px;
}

#frontNews .newsList .box {
  display: flex;
  background: #fff;
  border-radius: 12px 0 12px 0;
  box-shadow: 0 10px 20px rgba(0,0,0,0.05);
  margin: 0 0 20px;
  padding: 28px 42px 28px 42px;
}

#frontNews .newsList .box .cat {
  margin: 0 41px 0 0;
}

#frontNews .newsList .box .cat a {
  display: block;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 29px;
  width: 117px;
  color: #fff;
  text-align: center;
  background: rgb(4,13,39);
  background: -moz-linear-gradient(180deg, rgba(4,13,39,1) 0%, rgba(61,71,88,1) 100%);
  background: -webkit-linear-gradient(180deg, rgba(4,13,39,1) 0%, rgba(61,71,88,1) 100%);
  background: linear-gradient(180deg, rgba(4,13,39,1) 0%, rgba(61,71,88,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#040d27",endColorstr="#3d4758",GradientType=1);
}

#frontNews .newsList .box .title {
  width: calc(100% - 158px);
  padding: 5px 0 0 0;
}

#frontNews .newsList .box .title a {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5714;
  letter-spacing: 0.06em;
}

/*----------------------------------------------------
 frontMedia
----------------------------------------------------*/

#frontMedia {
  overflow: hidden;
  position: relative;
  padding: 0 0 164px;
  background: #fff;
}

#frontMedia .inner {
  max-width: 1140px;
  position: relative;
  z-index: 1;
  padding: 0 0 0;
}

#frontMedia .head {
	position: relative;
	margin: 0 0 58px;
	text-align: center;
}

#frontMedia .head h2 {
	position: relative;
}

#frontMedia .head h2 b {
	font-size: 30px;
	font-weight: 500;
	color: #000;
	letter-spacing: 0.2em;
	display: block;
	font-family: 'Poppins', sans-serif;
  margin: 0 0 0;
}

#frontMedia .head h2 small {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: #A1A1A1;
}

#frontMedia .mediaSlider {
  width: calc(100% + 30px);
  margin: 0 0 46px;
  position: relative;
}

#frontMedia .mediaSlider .slick-list {
  overflow: visible;
}

#frontMedia .mediaSlider .box {
  margin-right: 30px;
}

#frontMedia .mediaSlider .box a {
  color: #000;
}

#frontMedia .mediaSlider .box .thumb {
  margin-bottom: 11px;
  transition: all 0.3s ease;
  height: 346px;
}

#frontMedia .mediaSlider .box .thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#frontMedia .mediaSlider .box .date {
  margin: 0 0 2px;
  padding: 0 4px;
}

#frontMedia .mediaSlider .box .date p {
  font-size: 12px;
	font-weight: 500;
  font-style: italic;
	letter-spacing: 0.06em;
	font-family: 'Poppins', sans-serif;
  transition: all 0.3s ease;
}

#frontMedia .mediaSlider .box .text {
  padding: 0 4px;
}

#frontMedia .mediaSlider .box .text p {
  font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.571;
  transition: all 0.3s ease;
}

#frontMedia .mediaSlider .slick-arrow {
  z-index: 2;
  width: 22px;
  height: 9px;
  top: -33px;
}

#frontMedia .mediaSlider .slick-prev {
  background: url('../img/common/prev-arrow.svg') no-repeat;
  background-size: 100% auto;
  left: 91.5%;
  transition: all 0.3s ease;
}

#frontMedia .mediaSlider .slick-prev:before {
  content: '';
}

#frontMedia .mediaSlider .slick-next {
  background: url('../img/common/next-arrow.svg') no-repeat;
  background-size: 100% auto;
  left: 95%;
  transition: all 0.3s ease;
}

#frontMedia .mediaSlider .slick-next:before {
  content: '';
}

#frontMedia .mediaSlider .slick-next.slick-disabled {
  opacity: 0.4;
  cursor: initial;
}

#frontMedia .mediaSlider .slick-prev.slick-disabled {
  opacity: 0.4;
  cursor: initial;
}

/*----------------------------------------------------
 movie
----------------------------------------------------*/

#movie {
  overflow: hidden;
  margin-top: 2px;
  padding: 131px 0 134px;
}

#movie .inner {
  position: relative;
}

#movie .head {
	position: relative;
	margin: 0 0 47px;
	text-align: center;
}

#movie .head h2 {
	position: relative;
}

#movie .head h2 b {
	font-size: 30px;
	font-weight: 500;
	color: #000;
	letter-spacing: 0.2em;
	display: block;
	font-family: 'Poppins', sans-serif;
  margin: 0 0 -1px;
}

#movie .head h2 small {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #A1A1A1;
}

#movie .movieBox {
  position: relative;
}

#movie .movieArea {
  width: 100%;
  max-width: 680px;
  height: 349px;
  position: relative;
  z-index: 10;
  overflow: hidden;
  margin: 0 auto 40px;
  z-index: 10;
}

#movie .movieArea .topVis_youtube_container {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #ccc;
}

#movie .leftObj {
  width: 100%;
  max-width: 451px;
  position: absolute;
  left: -84px;
  top: -59px;
  z-index: -1;
}

#movie .rightObj {
  width: 100%;
  max-width: 468px;
  position: absolute;
  right: -120px;
  top: -76px;
  z-index: -1;
}


/*----------------------------------------------------
 PC
----------------------------------------------------*/
@media screen and  (max-width: 1190px) {

}

@media screen and (min-width: 769px){

  #frontProducts .v3Box a:hover {
    opacity: 0.7;
  }

  #frontProducts .vosBox a:hover {
    opacity: 0.7;
  }

  #frontProducts .messBox a:hover {
    opacity: 0.7;
  }

  #frontNews .newsList .box .cat a:hover {
    opacity: 0.7;
  }

  #frontNews .newsList .box .title a:hover {
    color: #C0A79C;
  }

  #frontMedia .mediaSlider .box a:hover .thumb {
    opacity: 0.7;
  }

  #frontMedia .mediaSlider .box a:hover .text p,
  #frontMedia .mediaSlider .box a:hover .date p {
    color: #C0A79C;
  }
}

/*----------------------------------------------------
 PC VW
----------------------------------------------------*/

@media screen and (min-width: 769px) and (max-width: 1340px) {

  /*----------------------------------------------------
  Loder
  ----------------------------------------------------*/

  #loder .animeLogo {
    max-width: 21.303vw;
  }

  #loder .loderInner {
    width: calc(100% - 4.392vw);
    height: calc(100% - 4.392vw);
  }

  #loder .loderInner span:nth-child(1) {
    height: 0.146vw;
  }

  #loder .loderInner span:nth-child(2) {
    width: 0.146vw;
  }

  #loder .loderInner span:nth-child(3) {
    height: 0.146vw;
  }

  #loder .loderInner span:nth-child(4) {
    width: 0.146vw;
  }

  /*----------------------------------------------------
  Vslider
  ----------------------------------------------------*/

  #visual .inner {
    height: calc(100vh - 6.955vw);
  }

  #visual .logo {
    max-width: 21.962vw;
  }

  #visual .movieBg {
    height: calc(100vh - 6.955vw);
  }

  /*----------------------------------------------------
  frontConcept
  ----------------------------------------------------*/

  #frontConcept {
    padding: 9.59vw 0 0 0;
  }

  #frontConcept .head {
    margin: 0 0 6.369vw;
  }

  #frontConcept .head h2 b {
    font-size: 2.196vw;
    margin: 0 0 -0.073vw;
  }

  #frontConcept .head h2 small {
    font-size: 0.952vw;
  }

  #frontConcept .conceptImages {
    margin: 0 0 7.613vw;
  }

  #frontConcept .conceptImages .rightImage {
    right: -0.146vw;
    bottom: -10.615vw;
  }

  #frontConcept .conceptImagesBottom {
    margin-bottom: 9.078vw;
  }

  #frontConcept .conceptImagesBottom .inner {
    max-width: 79.502vw;
  }

  #frontConcept .conceptImagesBottom .boxHead {
    margin: 0 0 1.611vw;
  }

  #frontConcept .conceptImagesBottom .boxHead h3 b {
    font-size: 1.83vw;
    margin: 0 0 0.146vw;
  }

  #frontConcept .conceptImagesBottom .boxHead h3 small {
    font-size: 1.464vw;
  }

  #frontConcept .conceptImagesBottom .boxContents {
    padding: 0 0 0 0.146vw;
  }

  #frontConcept .conceptImagesBottom .boxContents p {
    font-size: 1.098vw;
    margin: 0 0 0.146vw;
  }

  #frontConcept .conceptContents .inner {
    max-width: 83.382vw;
  }

  #frontConcept .conceptContents .imageFlex .box .text {
    left: 1.611vw;
    bottom: 1.464vw;
  }

  #frontConcept .conceptContents .imageFlex .box .text p {
    font-size: 1.903vw;
  }

  #frontConcept .conceptContents .imageFlex .box .addText {
    right: 1.171vw;
    bottom: 1.464vw;
  }

  #frontConcept .conceptContents .imageFlex .box .addText p {
    font-size: 0.878vw;
  }

  #frontConcept .conceptContents .imageFlex .box.left p {
    text-shadow: 0 0.22vw 0.439vw rgba(0, 0, 0, 0.16);
  }

  #frontConcept .conceptContents .imageFlex .box.center p {
    text-shadow: 0 0.22vw 0.439vw rgba(0, 0, 0, 0.16);
  }

  #frontConcept .conceptContents .imageFlex .box.right p {
    text-shadow: 0 0.22vw 0.439vw rgba(0, 0, 0, 0.16);
  }

  #frontConcept .conceptTextArea {
    padding: 6.662vw 0 9.297vw;
  }

  #frontConcept .conceptTextArea .areaHead {
    margin: 0 0 3.367vw;
  }

  #frontConcept .conceptTextArea .areaHead h3 {
    font-size: 1.903vw;
  }

  #frontConcept .conceptTextArea .areaList {
    margin: 0 0 5.051vw;
  }

  #frontConcept .conceptTextArea .areaList ul li {
    font-size: 1.098vw;
    padding: 0 0 0 1.318vw;
  }

  #frontConcept .conceptTextArea .areaList ul li:before {
    width: 0.439vw;
    height: 0.439vw;
    left: 0.22vw;
    top: 0.952vw;
  }

  #frontConcept .imageText {
    max-width: 40.117vw;
  }

  /*----------------------------------------------------
  frontInosupicule
  ----------------------------------------------------*/

  #frontInosupicule {
    padding: 9.81vw 0 0 0;
  }

  #frontInosupicule .inner {
    max-width: 83.529vw;
  }

  #frontInosupicule .head h2 b {
    font-size: 2.196vw;
    margin: 0 0 -0.073vw;
  }

  #frontInosupicule .head h2 small {
    font-size: 0.952vw;
  }

  #frontInosupicule .inosupiFlex {
    margin: 0 0 -2.196vw;
  }

  #frontInosupicule .inosupiFlex .image {
    -webkit-transform: translateY(-2.489vw);
    transform: translateY(-2.489vw);
  }

  #frontInosupicule .inosupiFlex .conts {
    -webkit-transform: translateY(-0.512vw);
    transform: translateY(-0.512vw);
  }

  #frontInosupicule .inosupiFlex .conts .contsHead {
    margin: 0 0 2.05vw;
    padding: 0 0 2.05vw;
    border-bottom: 0.146vw solid #000;
  }

  #frontInosupicule .inosupiFlex .conts .contsHead h3 b {
    font-size: 1.83vw;
  }

  #frontInosupicule .inosupiFlex .conts .contsHead h3 small {
    font-size: 1.464vw;
  }

  #frontInosupicule .inosupiFlex .conts .contsText p {
    font-size: 1.098vw;
  }

  /*----------------------------------------------------
  frontProducts
  ----------------------------------------------------*/

  #frontProducts {
    padding: 27.013vw 0 0 0;
  }

  #frontProducts .inner {
    max-width: 90.849vw;
    padding: 0 0 27.379vw;
  }

  #frontProducts .inner:before {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
  }

  #frontProducts:before {
    height: 28.551vw;
    top: 11.567vw;
  }

  #frontProducts:after {
    height: 28.551vw;
    bottom: -11.567vw;
  }

  #frontProducts .head {
    margin: 0 0 6.003vw;
  }

  #frontProducts .head h2 b {
    font-size: 2.196vw;
    margin: 0 0 -0.146vw;
  }

  #frontProducts .head h2 small {
    font-size: 0.952vw;
  }

  #frontProducts .v3Box {
    height: 38.433vw;
    margin: 0 0 2.782vw;
  }

  #frontProducts .v3Box a .textLogo h3 b {
    font-size: 6.589vw;
  }

  #frontProducts .v3Box a .textLogo h3 b span {
    font-size: 7.321vw;
  }

  #frontProducts .v3Box a .textLogo h3 small {
    font-size: 2.635vw;
  }

  #frontProducts .v3Box a .logo {
    max-width: 15.081vw;
    margin: 7.613vw 0 0.732vw 20.717vw;
  }

  #frontProducts .v3Box a .item {
    max-width: 32.87vw;
    margin: 0 0 0 12.592vw;
  }

  #frontProducts .vosBox {
    height: 38.433vw;
    margin: 0 0 2.782vw;
  }

  #frontProducts .vosBox a .textLogo h3 b {
    font-size: 6.589vw;
  }

  #frontProducts .vosBox a .textLogo h3 b span {
    font-size: 7.321vw;
  }

  #frontProducts .vosBox a .textLogo h3 small {
    font-size: 2.635vw;
    font-weight: 700;
    letter-spacing: 0.08em;
  }

  #frontProducts .vosBox a .bg {
    width: 34.6%;
  }

  #frontProducts .vosBox a .logo {
    max-width: 20.791vw;
    margin: 8.272vw 19.034vw -1px auto;
  }

  #frontProducts .vosBox a .item {
    max-width: 42.753vw;
    margin: 0 9.078vw 0 auto;
  }

  #frontProducts .mesBox {
    height: 38.433vw;
    margin: 0 0 5.637vw;
  }

  #frontProducts .mesBox a .textLogo h3 b {
    font-size: 6.589vw;
  }

  #frontProducts .mesBox a .textLogo h3 b span {
    font-size: 7.321vw;
  }

  #frontProducts .mesBox a .textLogo h3 small {
    font-size: 2.635vw;
    font-weight: 700;
    letter-spacing: 0.08em;
  }

  #frontProducts .mesBox a .bg {
    width: 34.6%;
  }

  #frontProducts .mesBox a .logo {
    max-width: 20.791vw;
    margin: 8.272vw 19.034vw -1px auto;
  }

  #frontProducts .mesBox a .item {
    max-width: 42.753vw;
    margin: 0 9.078vw 0 auto;
  }

  /*----------------------------------------------------
  frontNews
  ----------------------------------------------------*/

  #frontNews:after {
    height: 28.551vw;
    bottom: -14.202vw;
  }

  #frontNews .inner {
    max-width: 68.228vw;
    padding: 0 0 28.77vw;
  }

  #frontNews .head {
    margin: 0 0 7.101vw;
  }

  #frontNews .head h2 b {
    font-size: 2.196vw;
  }

  #frontNews .head h2 small {
    font-size: 0.952vw;
  }

  #frontNews .newsList {
    margin-bottom: 4.026vw;
  }

  #frontNews .newsList .box {
    border-radius: 0.878vw 0 0.878vw 0;
    box-shadow: 0 0.732vw 1.464vw rgba(0,0,0,0.05);
    margin: 0 0 1.464vw;
    padding: 2.05vw 3.075vw 2.05vw 3.075vw;
  }

  #frontNews .newsList .box .cat {
    margin: 0 3.001vw 0 0;
  }

  #frontNews .newsList .box .cat a {
    font-size: 1.025vw;
    line-height: 2.123vw;
    width: 8.565vw;
  }

  #frontNews .newsList .box .title {
    width: calc(100% - 11.567vw);
    padding: 0.366vw 0 0 0;
  }

  #frontNews .newsList .box .title a {
    font-size: 1.025vw;
  }

  /*----------------------------------------------------
  frontMedia
  ----------------------------------------------------*/

  #frontMedia {
    padding: 0 0 12.006vw;
  }

  #frontMedia .inner {
    max-width: 83.455vw;
  }

  #frontMedia .head {
    margin: 0 0 4.246vw;
  }

  #frontMedia .head h2 b {
    font-size: 2.196vw;
  }

  #frontMedia .head h2 small {
    font-size: 0.952vw;
  }

  #frontMedia .mediaSlider {
    width: calc(100% + 2.196vw);
    margin: 0 0 3.367vw;
  }

  #frontMedia .mediaSlider .box {
    margin-right: 2.196vw;
  }

  #frontMedia .mediaSlider .box .thumb {
    margin-bottom: 0.805vw;
    height: 25.329vw;
  }

  #frontMedia .mediaSlider .box .date {
    margin: 0 0 0.146vw;
    padding: 0 0.293vw;
  }

  #frontMedia .mediaSlider .box .date p {
    font-size: 0.878vw;
  }

  #frontMedia .mediaSlider .box .text {
    padding: 0 0.293vw;
  }

  #frontMedia .mediaSlider .box .text p {
    font-size: 1.025vw;
  }

  #frontMedia .mediaSlider .slick-arrow {
    width: 1.611vw;
    height: 0.659vw;
    top: -2.416vw;
  }

  /*----------------------------------------------------
  movie
  ----------------------------------------------------*/

  #movie {
    margin-top: 0.146vw;
    padding: 9.59vw 0 9.59vw;
  }

  #movie .head {
    margin: 0 0 3.441vw;
  }

  #movie .head h2 b {
    font-size: 2.196vw;
    margin: 0 0 -0.073vw;
  }

  #movie .head h2 small {
    font-size: 0.952vw;
  }

  #movie .movieArea {
    max-width: 49.78vw;
    height: 25.549vw;
    margin: 0 auto 2.928vw;
  }

  #movie .leftObj {
    max-width: 33.016vw;
    left: -6.149vw;
    top: -4.319vw;
  }

  #movie .rightObj {
    max-width: 34.261vw;
    right: -8.785vw;
    top: -5.564vw;
    z-index: -1;
  }

}

/*----------------------------------------------------
 SP
----------------------------------------------------*/

@media screen and (max-width: 768px) {

  /*---------------------------------
	Loder
	---------------------------------*/

  #loder .loderInner {
    width: calc(100% - 20px);
    height: calc(100% - 20px);
  }

  #loder .animeLogo {
    max-width: 48vw;
  }

  /*---------------------------------
	visual
	---------------------------------*/

  #visual {
    overflow: hidden;
    position: relative;
  }

  #visual .inner {
    height: calc(80vh - 12.771vw);
  }

  #visual .logo {
    width: 100%;
    max-width: 40vw;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }

  #visual .movieBg {
    height: calc(80vh - 12.771vw);
  }

  #visual .movieBg video {
    height: 100%;
  }

  #visual .inner {
    height: inherit;
    position: inherit;
  }

  #visual .movieBg {
    height: inherit;
    position: inherit;
  }

  #visual .video.pt_none {
    display: block;
    height: auto;
    width: 100%;
    position: inherit;
    top: 0;
    left: 0;
    transform: inherit;
  }


  /*---------------------------------
	frontConcept
	---------------------------------*/

  #frontConcept {
    padding: 13.333vw 0 0 0;
  }

  #frontConcept .head {
    margin: 0 0 5.333vw;
  }

  #frontConcept .head h2 b {
    font-size: 4.8vw;
    margin: 0 0 -1.6vw;
  }

  #frontConcept .head h2 small {
    font-size: 2.667vw;
  }

  #frontConcept .conceptImages {
    margin: 0 0 22.667vw;
  }

  #frontConcept .conceptImages .leftImage {
    width: 89%;
  }

  #frontConcept .conceptImages .rightImage {
    width: 50.5%;
    right: -1.6vw;
    bottom: -21.867vw;
  }

  #frontConcept .conceptImagesBottom {
    margin-bottom: 9.067vw;
  }

  #frontConcept .conceptImagesBottom .boxHead {
    margin: 0 0 1.333vw;
  }

  #frontConcept .conceptImagesBottom .boxHead h3 b {
    font-size: 3.467vw;
    margin: 0 0 0.533vw;
  }

  #frontConcept .conceptImagesBottom .boxHead h3 small {
    font-size: 2.667vw;
  }

  #frontConcept .conceptImagesBottom .boxContents {
    padding: 0 0 0 0;
  }

  #frontConcept .conceptImagesBottom .boxContents p {
    font-size: 2.933vw;
    line-height: 2;
    margin: 0 0;
  }

  #frontConcept .conceptContents .imageFlex .box .text {
    left: 1.333vw;
    bottom: 1.867vw;
  }

  #frontConcept .conceptContents .imageFlex .box .text p {
    font-size: 2.933vw;
  }

  #frontConcept .conceptContents .imageFlex .box .addText {
    right: -1.6vw;
    bottom: 1.333vw;
  }

  #frontConcept .conceptContents .imageFlex .box .addText p {
    font-size: 2.667vw;
    -webkit-transform: scale(0.7);
    transform: scale(0.7);
  }

  #frontConcept .conceptTextArea {
    padding: 7.467vw 0 14.467vw;
  }

  #frontConcept .conceptTextArea .areaHead {
    margin: 0 0 5.067vw;
  }

  #frontConcept .conceptTextArea .areaHead h3 {
    font-size: 3.2vw;
    font-weight: 700;
    line-height: 1.9230;
  }

  #frontConcept .conceptTextArea .areaList {
    margin: 0 0 5.067vw;
  }

  #frontConcept .conceptTextArea .areaList ul li {
    font-size: 2.933vw;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.06em;
    padding: 0 0 0 4.533vw;
    margin: 0 0 2.933vw;
  }

  #frontConcept .conceptTextArea .areaList ul li:before {
    width: 1.067vw;
    height: 1.067vw;
    left: 1.333vw;
    top: 1.6vw;
  }

  #frontConcept .imageText {
    max-width: 55.733vw;
  }

   /*---------------------------------
	frontInosupicule
	---------------------------------*/

  #frontInosupicule {
    padding: 13.067vw 0 0 0;
  }

  #frontInosupicule .head {
    margin: 0 0 5.333vw;
    position: relative;
    z-index: 1;
  }

  #frontInosupicule .head h2 b {
    font-size: 4.8vw;
    margin: 0 0 -1.6vw;
  }

  #frontInosupicule .head h2 small {
    font-size: 2.667vw;
  }

  #frontInosupicule .inosupiFlex {
    display: block;
    margin: 0 0 5.067vw;
  }

  #frontInosupicule .inosupiFlex .image {
    width: 86%;
    margin: 0 auto -30.4vw;
    -webkit-transform: translateY(-18.667vw);
    transform: translateY(-18.667vw);
  }

  #frontInosupicule .inosupiFlex .conts {
    width: 86%;
    margin: 0 auto 0;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  #frontInosupicule .inosupiFlex .conts .contsHead {
    margin: 0 0 3.467vw;
    padding: 0 0 3.467vw;
    border-bottom: 1px solid #000;
  }

  #frontInosupicule .inosupiFlex .conts .contsHead h3 b {
    font-size: 3.467vw;
    padding: 0 0 0 0.8vw;
  }

  #frontInosupicule .inosupiFlex .conts .contsHead h3 small {
    font-size: 2.667vw;
    padding: 0 0 0 0.8vw;
  }

  #frontInosupicule .inosupiFlex .conts .contsText p {
    font-size: 2.933vw;
    line-height: 1.818;
    letter-spacing: 0.06em;
    padding: 0 0 0 0.8vw;
  }

  /*---------------------------------
	instagram
	---------------------------------*/

  #frontProducts {
    padding: 45.067vw 0 0 0;
  }

  #frontProducts:after {
    bottom: -89.067vw;
  }

  #frontProducts .inner {
    padding: 0 5.25% 44.533vw;
  }

  #frontProducts:before {
    left: -30%;
    top: 23.733vw;
  }

  #frontProducts .head {
    margin: 0 0 2.4vw 0;
  }

  #frontProducts .head h2 b {
    font-size: 5.333vw;
    letter-spacing: 0.08em;
    line-height: 1;
    margin: 0 0 -0.8vw;
  }

  #frontProducts .head h2 small {
    font-size: 2.667vw;
    line-height: 1;
  }

  #frontProducts .v3Box {
    height: 70vw;
    margin: 0 0 4.133vw;
  }

  #frontProducts .v3Box a {
    background: url('../img/home/v3-boxBg-sp.jpg') center center no-repeat;
    background-size: cover;
  }

  #frontProducts .v3Box a .textLogo {
    top: 45%;
    left: 11.5%;
  }

  #frontProducts .v3Box a .textLogo h3 b {
    font-size: 13.333vw;
    font-weight: 400;
  }

  #frontProducts .v3Box a .textLogo h3 b span {
    font-size: 14.667vw;
  }

  #frontProducts .v3Box a .textLogo h3 small {
    font-size: 5.333vw;
  }

  #frontProducts .v3Box a .logo {
    max-width: 27.467vw;
    margin: 7.2vw 0 1.333vw 5.867vw;
  }

  #frontProducts .v3Box a .item {
    max-width: 45.333vw;
    margin: 0 0 0 6.133vw;
  }

  #frontProducts .v3Box a .bg {
    width: 92.8%;
    right: -13.333vw;
  }

  #frontProducts .v3Box a .buttonArea {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 1.6vw 1.867vw;
  }

  #frontProducts .v3Box a .bnButton {
    position: relative;
    display: flex;
    justify-content: center;
    width: 100%;
    background: rgb(4,13,39);
    background: -moz-linear-gradient(180deg, rgba(4,13,39,1) 0%, rgba(61,71,88,1) 100%);
    background: -webkit-linear-gradient(180deg, rgba(4,13,39,1) 0%, rgba(61,71,88,1) 100%);
    background: linear-gradient(180deg, rgba(4,13,39,1) 0%, rgba(61,71,88,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#040d27",endColorstr="#3d4758",GradientType=1);
  }

  #frontProducts .v3Box a .bnButton .text {
    font-size: 2.667vw;
    font-weight: 700;
    letter-spacing: 0.06em;
    line-height: 7.2vw;
    color: #fff;
    text-align: center;
  }

   #frontProducts .v3Box a .bnButton .arrow {
    line-height: 1.333vw;
    position: absolute;
    top: 52%;
    right: 1.867vw;
    width: 3.2vw;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
   }

  #frontProducts .vosBox {
    height: 70vw;
    margin: 0 0 4.133vw;
  }

  #frontProducts .vosBox a {
    background: url('../img/home/vos-boxBg-sp.jpg') center center no-repeat;
    background-size: cover;
  }

  #frontProducts .vosBox a .textLogo {
    top: 45%;
    left: 5%;
  }

  #frontProducts .vosBox a .textLogo h3 b {
    font-size: 13.333vw;
    font-weight: 400;
  }

  #frontProducts .vosBox a .textLogo h3 b span {
    font-size: 14.667vw;
  }

  #frontProducts .vosBox a .textLogo h3 small {
    font-size: 5.333vw;
  }

  #frontProducts .vosBox a .logo {
    max-width: 37.867vw;
    margin: 8.8vw 0 8vw 47.2vw;
  }

  #frontProducts .vosBox a .item {
    max-width: 54vw;
    margin: 0 0 0 30.933vw;
  }

  #frontProducts .vosBox a .bg {
    width: 64%;
    left: 0;
  }

  #frontProducts .vosBox a .buttonArea {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 1.6vw 1.867vw;
  }

  #frontProducts .vosBox a .bnButton {
    position: relative;
    display: flex;
    justify-content: center;
    width: 100%;
    background: rgb(4,13,39);
    background: -moz-linear-gradient(180deg, rgba(4,13,39,1) 0%, rgba(61,71,88,1) 100%);
    background: -webkit-linear-gradient(180deg, rgba(4,13,39,1) 0%, rgba(61,71,88,1) 100%);
    background: linear-gradient(180deg, rgba(4,13,39,1) 0%, rgba(61,71,88,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#040d27",endColorstr="#3d4758",GradientType=1);
  }

  #frontProducts .vosBox a .bnButton .text {
    font-size: 2.667vw;
    font-weight: 700;
    letter-spacing: 0.06em;
    line-height: 7.2vw;
    color: #fff;
    text-align: center;
  }

   #frontProducts .vosBox a .bnButton .arrow {
    line-height: 1.333vw;
    position: absolute;
    top: 52%;
    right: 1.867vw;
    width: 3.2vw;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
   }

  #frontProducts .mesBox {
    height: 70vw;
    margin: 0 0 5.067vw;
  }

  #frontProducts .mesBox a {
    background: url('../img/home/mes-boxBg-sp.jpg') center center no-repeat;
    background-size: cover;
  }

  #frontProducts .mesBox a .textLogo {
    top: 45%;
    left: 5%;
  }

  #frontProducts .mesBox a .textLogo h3 b {
    font-size: 13.333vw;
    font-weight: 400;
  }

  #frontProducts .mesBox a .textLogo h3 b span {
    font-size: 14.667vw;
  }

  #frontProducts .mesBox a .textLogo h3 small {
    font-size: 5.333vw;
  }

  #frontProducts .mesBox a .logo {
    max-width: 37.867vw;
    margin: 8.8vw 0 8vw 47.2vw;
  }

  #frontProducts .mesBox a .item {
    max-width: 54vw;
    margin: 0 0 0 30.933vw;
  }

  #frontProducts .mesBox a .bg {
    width: 64%;
    left: 0;
  }

  #frontProducts .mesBox a .buttonArea {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 1.6vw 1.867vw;
  }

  #frontProducts .mesBox a .bnButton {
    position: relative;
    display: flex;
    justify-content: center;
    width: 100%;
    background: rgb(4,13,39);
    background: -moz-linear-gradient(180deg, rgba(4,13,39,1) 0%, rgba(61,71,88,1) 100%);
    background: -webkit-linear-gradient(180deg, rgba(4,13,39,1) 0%, rgba(61,71,88,1) 100%);
    background: linear-gradient(180deg, rgba(4,13,39,1) 0%, rgba(61,71,88,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#040d27",endColorstr="#3d4758",GradientType=1);
  }

  #frontProducts .mesBox a .bnButton .text {
    font-size: 2.667vw;
    font-weight: 700;
    letter-spacing: 0.06em;
    line-height: 7.2vw;
    color: #fff;
    text-align: center;
  }

  #frontProducts .mesBox a .bnButton .arrow {
    line-height: 1.333vw;
    position: absolute;
    top: 52%;
    right: 1.867vw;
    width: 3.2vw;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
   }

  /*---------------------------------
	frontNews
	---------------------------------*/

  #frontNews {
    padding: 0 0 0 0;
  }

  #frontNews:after {
    left: -30%;
    bottom: -80.533vw;
  }

  #frontNews .inner {
    padding: 0 5.25% 45.067vw;
  }

  #frontNews .head {
    margin: 0 0 5.067vw 0;
  }

  #frontNews .head h2 b {
    font-size: 5.333vw;
    letter-spacing: 0.08em;
    line-height: 1;
    margin: 0 0 -1.333vw;
  }

  #frontNews .head h2 small {
    font-size: 2.667vw;
    line-height: 1;
  }

  #frontNews .newsList {
    margin-bottom: 6.133vw;
  }

  #frontNews .newsList .box {
    display: block;
    margin: 0 0 2.4vw;
    padding: 2.933vw 2.667vw 2.4vw 2.667vw;
    border-radius: 1.6vw 0 1.6vw 0;
  }

  #frontNews .newsList .box .cat {
    margin: 0 0 0 0;
  }

  #frontNews .newsList .box .cat a {
    font-size: 2.667vw;
    /* width: 16.133vw; */
    width: 22vw;
    /* line-height: 4.667vw; */
    line-height: 5vw;
  }

  #frontNews .newsList .box .title {
    width: 100%;
  }

  #frontNews .newsList .box .title a {
    font-size: 2.933vw;
  }

  /*---------------------------------
	frontMedia
	---------------------------------*/

  #frontMedia {
    padding: 0 0 15vw 0;
  }

  #frontMedia .inner {
    padding: 0 5.25% 0;
  }

  #frontMedia .head {
    margin: 0 0 12.533vw 0;
  }

  #frontMedia .head h2 b {
    font-size: 5.333vw;
    letter-spacing: 0.08em;
    line-height: 1;
    margin: 0 0 -1.333vw;
  }

  #frontMedia .head h2 small {
    font-size: 2.667vw;
    line-height: 1;
  }

  #frontMedia .mediaSlider {
    margin: 0 0 8.533vw;
  }

  #frontMedia .mediaSlider .box {
    margin-right: 4.347vw;
  }

  #frontMedia .mediaSlider .slick-arrow {
    z-index: 2;
    width: 4vw;
    height: 1.867vw;
    top: -4.8vw;
  }

  #frontMedia .mediaSlider .slick-next {
    /* left: 79.5%; */
    left: 87%;
  }

  #frontMedia .mediaSlider .slick-prev {
    /* left: 87%; */
    left: 79.5%;
  }

  #frontMedia .mediaSlider .box .date p {
    font-size: 2.667vw;
  }

  #frontMedia .mediaSlider .box .text p {
    font-size: 2.933vw;
  }

  #frontMedia .mediaSlider .box .thumb {
    height: 56vw;
    margin-bottom: 1.6vw;
  }

   /*---------------------------------
	movie
	---------------------------------*/

  #movie {
    margin-bottom: -4vw;
    padding: 13.467vw 0 0;
  }

  #movie .inner {
    position: relative;
    padding: 0 9.25%;
  }

  #movie .head {
    margin: 0 0 5.333vw;
  }

  #movie .head h2 b {
    font-size: 5.333vw;
    letter-spacing: 0.08em;
    line-height: 1;
    margin: 0 0 -1.067vw;
  }

  #movie .head h2 small {
    font-size: 2.667vw;
    letter-spacing: 0.18em;
    line-height: 1;
  }

  #movie .movieArea {
    width: 100%;
    max-width: 261.333vw;
    height: 41.8vw;
    margin: 0 auto 21.333vw;
  }

  #movie .leftObj {
    max-width: 36.8vw;
    left: -21.6vw;
    top: initial;
    bottom: -10.933vw;
  }

  #movie .rightObj {
    max-width: 42.267vw;
    right: -20.267vw;
    top: initial;
    bottom: -13.867vw;
  }

}
