@charset "utf-8";


/* --------------------------------------------

mainvisual

---------------------------------------------- */
.mainvisual {
  position: relative;
  overflow: hidden;
  height: 100vh;
}
@media screen and (max-width: 1024px) {
.mainvisual {
  height: 60vh;
}
}

.mainvisual #video {
  overflow: hidden;
  position: relative;
  height: 100vh;
}
@media screen and (max-width: 1024px) {
.mainvisual #video {
  display: none;
}
}

.mainvisual video {
  display: block;
  min-width: 100%;
  min-height: 100%;
}
.mainvisual .overlay {
  width: 100%;
  height: 100%;
  position: absolute; top: 0; left: 0; z-index: 2;
  background-color: rgba(0, 0, 0, 0.28);
}


/*-- contents --*/
.mainvisual-box {
  display: flex;
  align-content: center;
  align-items: center;
  position: absolute; top: 0; z-index: 5;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 1024px) {
.mainvisual-box {
  height: 100%;
}
}

.mainvisual-content {
	position: absolute; top: 8em; right: 0; bottom: 0; left: 0; z-index: 6;
	display: flex;
	justify-content: space-between;
	align-items: center;
	overflow: hidden;
	width: 90%; max-width: 1380px;
	height: 55vh; max-height: 405px;
	margin: auto;
	box-sizing: border-box;
}
@media screen and (max-width: 1024px) {
.mainvisual-content {
	position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 6;
	display: block;
	width: 100%;
	height: 100%; max-height: none;
}
}

.mainvisual-textbox {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  width: 50%;
}
@media screen and (max-width: 1024px) {
.mainvisual-textbox {
  display: block;
  position: absolute; top: auto; bottom: 0; left: 0; z-index: 8;
  width: 100%;
  padding: 10px 5%;
  background-color: rgba(0,0,0,0.5);
}
}

.mainvisual-textbox p {
	font-family:'Noto Sans JP', sans-serif;
	font-size: 29px; font-size: 2.9rem;
	letter-spacing: 4px;
	color: #fff;
}
@media screen and (max-width: 1024px) {
.mainvisual-textbox p {
	font-size: 25px; font-size: 2.5rem;
  line-height: 1.6;
}
}

/*-- slide --*/
.mainvisual-slide {
  width: 50%; max-width: 600px;
  height: 100%;
}
@media screen and (max-width: 1280px) {
.mainvisual-slide {
  width: 50%;
  height: 100%;
}
}
@media screen and (max-width: 1024px) {
.mainvisual-slide {
  width: 100%; max-width: none;
  height: 100%;
}
}


.swiper-container {
  height: 100%;
}

.swiper-slide {
   position: relative;
   height: 100%;
}

.swiper-slide01 {
  background: url("../img/index/back_20190727_2.jpg") top center no-repeat;
  background-size: auto 100%;
}
.swiper-slide02 {
  background: url("../img/index/back_20190727_3.jpg") top center no-repeat;
  background-size: auto 100%;
}
.swiper-slide03 {
  background: url("../img/index/back_20190727_4.jpg") top center no-repeat;
  background-size: auto 100%;
}
.swiper-slide04 {
  background: url("../img/index/back_20190727_5.jpg") top center no-repeat;
  background-size: auto 100%;
}
.swiper-slide05 {
  background: url("../img/index/back_20190727_6.jpg") top center no-repeat;
  background-size: auto 100%;
}
.swiper-slide06 {
  background: url("../img/index/back_20190727_7.jpg") top center no-repeat;
  background-size: auto 100%;
}
.swiper-slide07 {
  background: url("../img/index/back_20190727_8.jpg") top center no-repeat;
  background-size: auto 100%;
}
.swiper-slide08 {
  background: url("../img/index/back_20190727_9.jpg") top center no-repeat;
  background-size: auto 100%;
}


/* --------------------------------------------

news

---------------------------------------------- */
.news-section {
  /* background-color: #1A223C; */
  background-color: #116845;
}
.news-section-inner {
  display: flex;
  justify-content: flex-start;
  flex-direction: column;
  align-items: center;
  width: 95%;
  margin: auto;
  padding: 10px 0;
}
@media screen and (max-width: 1024px) {
.news-section-inner {
  display: block;
}
}

.news-section-heading {
  box-sizing: border-box;
  width: 120px;
  margin-right: 20px;
  padding: 2px 0;
  font-size: 18px; font-size: 1.8rem;
  text-align: center;
  color: #fff;
  background-color: #C53D43;
}
@media screen and (max-width: 1024px) {
.news-section-heading {
  margin: 0 0 5px 0;
}
}

.news-list {
  display: flex;
  justify-content: flex-start;
  align-content: center;
  width: 85%;
}
@media screen and (max-width: 1024px) {
.news-list {
  display: block;
  width: 100%;
  margin-bottom: 1rem;
}
.news-list:last-child {
  margin-bottom: 0;
}
}

.news-list dt {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 210px;
  margin-right: 2%;
}
@media screen and (max-width: 1024px) {
.news-list dt {
  width: 100%;
  margin-right: 0;
}
}

.news-list dd {
  display: flex;
  align-items: center;
  width: 73%;
}
.news-list dd a {
  display: block;
  width: 100%;
  overflow: hidden;
  font-size: 18px; font-size: 1.8rem;
  text-decoration: underline;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #fff;
}
@media screen and (max-width: 1024px) {
.news-list dd {
  width: 100%;
}
.news-list dd a {
  font-size: 16px; font-size: 1.6rem;
}
}

.news-list-date {
  /* margin-right: 24px; */
  margin-right: 10px;
  font-size: 23px; font-size: 2.3rem;
  color: #fff;
  width: 90px;
}
@media screen and (max-width: 1024px) {
.news-list-date {
  margin-right: 5px;
}
}
@media screen and (max-width: 768px) {
  .news-list-date {
    width: 70px;
  }
}

/* --- カテゴリー設定 --- */


/* .news-list-category {
  display: inline-block;
  width: 110px;
  font-size: 14px; font-size: 1.4rem;
  text-align: center;
  background-color: #fff;
} */

.news-list dt span {
  display: inline-block;
  width: 115px;
  font-size: 14px; font-size: 1.4rem;
  text-align: center;
  background-color: #fff;
}

.news-list dt span.info {
  display: inline-block;
  width: 115px;
  font-size: 14px; font-size: 1.4rem;
  text-align: center;
  color: #fff;
  background-color: #c53c43;
}

.news-list dt span.product {
  display: inline-block;
  width: 115px;
  font-size: 13.5px; font-size: 1.35rem;
  text-align: center;
  color: #fff;
  background-color: #1d50a1;
}

.news-list dt span.show {
  display: inline-block;
  width: 115px;
  font-size: 14px; font-size: 1.4rem;
  text-align: center;
  color: #fff;
  /* background-color: #e4c201; */
    background-color: #e0bf00;
}

@media screen and (max-width: 768px) {
  .news-list dt span,
  .news-list dt span.info,
  .news-list dt span.product,
  .news-list dt span.show {
    width: 100px;
  }  
}




/* --------------------------------------------

advantage

---------------------------------------------- */
.advantage-section {
  padding: 120px 0;
}
@media screen and (max-width: 980px) {
.advantage-section {
  padding: 60px 0;
}
}

.advantage-section .heading-01 {
  margin-bottom: 80px;
}
.advantage-section .heading-01 .heading-en{
  font-size: 80px;font-size: 8rem;
}
.advantage-section .heading-01.-border::before {
  background-color: #C53D43;
}
.advantage-section .heading-01 .heading-en {
  font-size: 98px; font-size: 9.8rem;
}
.advantage-section .heading-01 .heading-jp {
  display: block;
  position: absolute; bottom: 0.8em; left: 0; z-index: 1;
}
@media screen and (max-width: 1024px) {
.advantage-section .heading-01 .heading-en {
  font-size: 75px; font-size: 7.5rem;
}
}
@media screen and (max-width: 899px) {
.advantage-section .heading-01 .heading-jp{
	font-size: 24px;font-size: 2.4rem;
}
}
@media screen and (max-width: 599px) {
.advantage-section .heading-01 {
  margin-bottom: 40px;
}
.advantage-section .heading-01 .heading-en {
  font-size: 70px; font-size: 7rem;
}
.advantage-section .heading-01 .heading-jp{
	font-size: 21px;font-size: 2.1rem;
}
}

/*-- item --*/
.advantage-item {
  position: relative;
  width: 85%;
  margin: 0 auto 120px;
}
@media screen and (max-width: 1024px) {
.advantage-item {
  position: relative;
  margin: 0 auto 60px;
}
}

.advantage-photo {
  width: 55%;
}
.advantage-photo img {
  width: 100%;
}
.advantage-item:nth-child(even) .advantage-photo {
  margin: 0 0 0 auto;
}
@media screen and (max-width: 1024px) {
.advantage-photo,
.advantage-item:nth-child(even) .advantage-photo {
  width: 100%;
  margin: 0 auto;
}
}

.advantage-textbox {
  display: flex;
  align-items: center;
  position: absolute; top: 50%; right: 8%;
  width: 40%;
  min-height: 385px;
  padding: 30px 5%;
  transform: translateY(-50%);
  background-color: rgba(247,247,247,0.8);
}
.advantage-item:nth-child(even) .advantage-textbox {
  position: absolute; top: 50%; right: auto; left: 8%;
}
@media screen and (max-width: 1024px) {
.advantage-textbox,
.advantage-item:nth-child(even) .advantage-textbox {
  position: static;
  width: 100%;
  min-height: auto;
  transform: none;
}
}


.advantage-textbox-inner {}
.advantage-item:nth-child(odd) .advantage-textbox-inner {
  margin: 0 0 0 auto;
}
@media screen and (max-width: 1024px) {
.advantage-item:nth-child(odd) .advantage-textbox-inner {
  margin: 0;
}
}

.advantage-textbox .heading {
  text-align: left;
  margin-bottom: 20px;
}
@media screen and (max-width: 1024px) {
.advantage-textbox .heading-jp {
  font-size: 22px; font-size: 2.2rem;
}
}

.advantage-textbox-text {
  margin-bottom: 20px;
}


/* --------------------------------------------

works

---------------------------------------------- */
.works-section {
  overflow: hidden;
}
@media screen and (max-width: 980px) {
.works-section {
  margin-bottom: 60px;
}
}

.works-section .heading-02 {
  margin-bottom: 80px;
}
.works-section .heading-02.-border::before {
  background-color: #1E50A2;
}

/*-- slide --*/
.works-section .swiper-works {
  margin-bottom: 30px;
}
@media screen and (max-width: 980px) {
.works-section .swiper-works {
  width: 85%;
  margin: 0 auto 30px;
}
}

.works-section .swiper-pagination {
  margin-bottom: 30px;
  text-align: center;
}
.works-section .swiper-slide {
  height: 100% !important;
  background-color: #000;
}

.works-item-photo {}
.works-item-photo img {
  display: block;
  width: 100%;
}

.works-item-list {
  width: 90%;
  margin: 10px auto;
}
.works-item-list dt {
  font-size: 16px; font-size: 1.6rem;
  color: #fff;
}
.works-item-list dt::after {
  display: block;
  content: "";
  width: 10px; height: 2px;
  margin-top: 10px;
  background-color: #fff;
}
.works-item-list dd {
  padding: 10px 0;
  font-size: 14px;
  color: #fff;
}

.works-button {
  max-width: 225px;
  margin: 0 auto;
}


/* --------------------------------------------

guide

---------------------------------------------- */
.guide-wrapper {
  padding: 10% 0 5%;
}
@media screen and (max-width: 1024px) {
.guide-wrapper {
  padding: 10% 0 20px;
}
}

.guide-section {
  width: 85%; margin: 0 auto 120px;
}
@media screen and (max-width: 1024px) {
.guide-section {
  margin: 0 auto 60px;
}
}

.guide-section-inner {
  position: relative;
}

.guide-photo {
  width: 55%;
}
.guide-photo img {
  display: block;
  width: 100%;
}
.guide-section:nth-of-type(2) .guide-photo {
  margin: 0 0 0 auto;
}
@media screen and (max-width: 1024px) {
.guide-photo,
.guide-section:nth-child(even) .guide-photo {
  width: 100%;
  margin: 0 auto;
}
}

.guide-textbox {
  display: flex;
  align-items: center;
  position: absolute; top: 50%; right: 8%;
  width: 40%;
  min-height: 385px;
  padding: 30px 5%;
  transform: translateY(-50%);
  background-color: rgba(247,247,247,0.8);
}
.guide-section:nth-child(even) .guide-textbox {
  position: absolute; top: 50%; right: 0; left: 8%;
}
@media screen and (max-width: 1024px) {
.guide-textbox,
.guide-section:nth-child(even) .guide-textbox {
  position: static;
  width: 100%;
  min-height: auto;
  transform: none;
}
}

.guide-textbox-inner {}
.guide-section:nth-child(odd) .guide-textbox-inner {
  margin: 0 0 0 auto;
}
@media screen and (max-width: 1024px) {
.guide-section:nth-child(odd) .guide-textbox-inner {
  margin: 0;
}
}

.guide-textbox .heading {
  margin-bottom: 20px;
  text-align: left;
}
@media screen and (max-width: 1024px) {
.guide-textbox .heading-jp {
  font-size: 22px; font-size: 2.2rem;
}
}

.guide-textbox-text {
  margin-bottom: 20px;
}


/* --------------------------------------------

recruit

---------------------------------------------- */
.recruit-section {
  margin-bottom: 150px;
}
@media screen and (max-width: 1024px) {
.recruit-section {
  margin-bottom: 70px;
}
}

.recruit-section-inner {
  position: relative;
  width: 85%;
  margin: auto;
}

.recruit-photo {
  width: 60%;
}
.recruit-photo img {
  display: block;
  width: 100%;
}
@media screen and (max-width: 1024px) {
.recruit-photo {
  width: 100%;
  margin-bottom: 20px;
}
}

.recruit-textbox {
  position: absolute; top: 3%; right: 0;
  width: 35%;
	margin-top: 2em;
}
@media screen and (max-width: 1024px) {
.recruit-textbox {
  position: static;
  width: 100%;
}
}

.recruit-textbox .heading {
  margin-bottom: 30px;
  padding: 10px 0 10px 25px;
  text-align: left;
  border-left: 2px solid #C53D43;
}
@media screen and (max-width: 1024px) {
.recruit-textbox .heading {
  margin-bottom: 10px;
}
.recruit-textbox .heading-jp {
  font-size: 22px; font-size: 2.2rem;
}
}

.recruit-textbox-text {
  margin-bottom: 40px;
  padding-left: 25px;
  font-size: 19px; font-size: 1.9rem;
}
@media screen and (max-width: 1024px) {
.recruit-textbox-text {
  margin-bottom: 20px;
}
}

.recruit-button {
  max-width: 225px;
  margin: 0 0 0 25px;
}


/* --------------------------------------------

movie

---------------------------------------------- */
.movie-section {
  margin-bottom: 120px;
}
@media screen and (max-width: 980px) {
.movie-section {
  margin-bottom: 80px;
}
}

.movie-section .heading {
  margin-bottom: 80px;
}
.movie-section .heading.-border::before {
  background-color: #C53D43;
}
@media screen and (max-width: 980px) {
.movie-section .heading {
  margin-bottom: 50px;
}
}

.movie-section-inner {
  position: relative;
  width: 90%; max-width: 880px;
  margin: auto;
}
.movie-section-inner::before {
  display: block;
  content: "";
  padding-top: 56%;
}

.movie-section-inner iframe {
  display: block;
  position: absolute; top: 0; left: 0;
  width: 100%;
  height: 100%;
}

/* --------------------------------------------

contact

---------------------------------------------- */
.contact-section {
  padding: 100px 0;
  background: url("../img/index/contact_back.jpg") center no-repeat;
  background-size: cover;
}
@media screen and (max-width: 980px) {
.contact-section {
  padding: 60px 0;
}
}

.contact-section .heading {
  margin-bottom: 30px;
  color: #fff;
}

.contact-text {
  margin-bottom: 30px;
  font-size: 19px; font-size: 1.9rem;
  text-align: center;
  color: #fff;
}

.contact-list {
  display: flex;
  justify-content: center;
  width: 80%;
  margin: auto;
}
@media screen and (max-width: 980px) {
.contact-list {
  display: block;
  max-width: 500px;
}
}

.contact-list li {
  width: 30%; max-width: 280px;
  margin: 0 1%;
  text-align: center;
  font-size: 19px; font-size: 1.9rem;
  background-color: rgba(255,255,255,0.6);
}
@media screen and (max-width: 980px) {
.contact-list li {
  width: 100%;
  margin: 0 auto 10px;
  font-size: 18px; font-size: 1.8rem;
}
}

.contact-list a {
  display: block;
  width: 100%;
  padding: 10px 0;
}








