@charset "utf-8";
.wrap {
 background: none;
}
.wrap::before {
 content: "";
 display: block;
 position: fixed;
 bottom: 0;
 left: 0;
 width: 100%;
 height: 90vh;
 background: url(../img/footerbg.jpg) #444 center bottom/cover no-repeat;
 z-index: -10;
 /*animation: fade-in 1s;*/
}
/*@keyframes fade-in {
 0% {
  opacity: 0;
 }
 50% {
  opacity: 0;
 }
 100% {
  opacity: 1;
 }
}*/
main {
 background: #fff;
}
/*=============================================
mv
=============================================*/
.sl1 {
 width: 100%;
 height: 100vh;
 transition: opacity 0.5s;
}
/*全画像読込後フェードイン*/
.sl1.load {
 opacity: 0;
 visibility: hidden;
}
.sl1 .swiper-slide {
 background: #fff;
}
.sl1 .swiper-slide a:hover {
 opacity: 1;
}
.sl1 .swiper-slide img {
 width: 100%;
 height: 100%;
 object-fit: cover;
 /*object-position: left center;*/
 /*object-fit-images IE CDN+js*/
 font-family: "object-fit:cover";
}
.mv h1 {
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%);
 z-index: 1;
}
.mv h1 img {
 animation: fade-y 1.5s 0.7s;
 animation-fill-mode: both;
}
/* @media ------------------------------*/
@media screen and (max-width:767px) {
 .mv h1 img {
  width: 52vw;
 }
}
@keyframes fade-y {
 from {
  opacity: 0;
  transform: translateY(10%);
 }
 to {
  opacity: 1;
  transform: translateY(0);
 }
}
/* @media ------------------------------*/
@media screen and (min-width:1024px) {
 .sl1 {
  min-height: 700px;
 }
}
/*=============================================
main
=============================================*/
.txt-cnt {
 display: flex;
 padding: 40px 30px 50px 25px;
}
.txt-box {
 padding-top: 20px;
}
h2.en {
 padding-right: 0.8em;
 writing-mode: vertical-rl;
 -ms-writing-mode: tb-rl;
 font-size: 2rem;
}
h3 {
 margin-bottom: 0.6em;
 font-size: 1.6rem;
}
#cnt1 h3.sub::before,
#cnt2 h3.sub::before {
 content: url(../img/txt01.png);
 display: block;
 line-height: 1;
}
.img-cnt {
 width: 100%;
 overflow: hidden;
 padding-bottom: 30px;
}
.img-cnt img {
 height: 320px;
 width: auto;
}
#cnt3 .img-cnt img {
 height: 240px;
}
.txt-r .img-cnt {
 display: flex;
 flex-direction: row-reverse;
 padding-right: 40px;
}
#cnt1 {
 background: #f8f2ed;
}
#cnt3 {
 background: #efe7e7;
 line-height: 1.5;
}
#cnt3 dl {
 padding-left: 2em;
}
#cnt3 dt {
 margin-bottom: 0.5em;
}
#cnt3 dd {
 margin-bottom: 1.5em;
}
#cnt3 dd:last-of-type {
 margin-bottom: 0;
}
/* @media ------------------------------*/
@media screen and (min-width:768px) {
 .txt-box {
  padding-top: 60px;
 }
 h2.en {
  padding-right: 1em;
  font-size: 3.4rem;
 }
 h3 {
  margin-bottom: 1.2em;
  font-size: 2.4rem;
 }
 .img-cnt img {
  height: auto;
 }
 #cnt3 .img-cnt img {
  height: auto;
 }
 .lr-cnt .inner {
  position: relative;
  overflow: hidden;
  max-width: 1920px;
  height: 700px;
  margin: 0 auto;
 }
 .lr-cnt .txt-cnt {
  position: absolute;
  top: 140px;
  width: 470px;
  padding: 0;
  /*padding: 100px 60px 240px;*/
  z-index: 1;
 }
 .txt-l .txt-cnt {
  right: 52%;
 }
 .txt-r .txt-cnt {
  left: 51%;
 }
 .lr-cnt .img-cnt {
  position: absolute;
  top: 0;
 }
 .txt-l .img-cnt {
  left: 57%;
 }
 .txt-r .img-cnt {
  right: 56%;
 }
 #cnt3 .img-cnt {
  left: 68%;
 }
 #cnt3 .txt-cnt::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 40px;
  left: -60%;
  width: 200%;
  /* height: 500px; */
  height: 360px;
  background: #fff;
 }
 #cnt3 dl {
  display: flex;
  flex-wrap: wrap;
  width: 550px;
  margin-top: 60px;
  padding-left: 80px;
 }
 #cnt3 dt {
  width: 30%;
  margin-bottom: 2em;
 }
 #cnt3 dd {
  width: 70%;
  margin-bottom: 2em;
 }
}
/*=============================================
footer
=============================================*/
footer {
 position: relative;
}
footer #page-top {
 position: fixed;
 right: 0;
 bottom: 0;
 z-index: 10;
 opacity: 0;
 transition: 1s;
}
footer #page-top a {
 display: flex;
 justify-content: center;
 align-items: center;
 width: 26px;
 height: 26px;
 background: #111;
}
footer #page-top a::before {
 content: "";
 width: 5px;
 height: 5px;
 border: 0;
 border-top: solid 1px #fff;
 border-right: solid 1px #fff;
 transform: rotate(-45deg);
}
footer #page-top.is-active {
 opacity: 1;
}
footer .inner {
 color: #efe7e7;
}
footer .contact {
 margin: 60px 0 40px;
 text-align: center;
}
footer .contact .en {
 margin-bottom: 1.5em;
 line-height: 1;
 font-size: 2rem;
}
footer .contact .form-btn a {
 display: block;
 width: 60%;
 margin: 0 auto;
 padding: 1.5em 0;
 line-height: 1;
 color: #efe7e7;
 border: solid 2px #efe7e7;
}
footer .privacy {
 height: 15em;
 overflow-y: scroll;
 margin: 0 5% 40px;
 padding-right: 1em;
 letter-spacing: 0;
 color: #888;
 line-height: 1.5;
 font-size: 0.9rem;
 /*scrollbar Firefox*/
 scrollbar-color: #666 rgba(0, 0, 0, 0.3);
 scrollbar-width: thin;
}
/*scrollbar Chrome-Safari*/
::-webkit-scrollbar {
 width: 6px;
}
::-webkit-scrollbar-track {
 border-radius: 3px;
 background: rgba(0, 0, 0, 0.3);
}
::-webkit-scrollbar-thumb {
 border-radius: 3px;
 background: #666;
}
footer .copy {
 margin-bottom: 15px;
 line-height: 1;
 text-align: center;
 font-size: 1rem;
}
/* @media ------------------------------*/
@media screen and (min-width:768px) {
 footer #page-top {
  right: 0;
  bottom: 0;
 }
 footer #page-top a {
  width: 30px;
  height: 30px;
 }
 footer .contact {
  margin: 100px 0 80px;
 }
 footer .contact .en {
  margin-bottom: 1em;
  font-size: 3.4rem;
 }
 footer .contact .form-btn a {
  width: 400px;
  padding: 2em 0;
 }
 footer .privacy {
  height: 15em;
  margin-bottom: 40px;
  font-size: 1.2rem;
 }
 footer .copy {
  margin-bottom: 30px;
  font-size: 1.2rem;
 }
}
/*★*****************************************/
/* @media ------------------------------*/
@media screen and (max-width:767px) {}
/* @media ------------------------------*/
@media screen and (min-width:768px) and (max-width:834px) {}
/* @media ------------------------------*/
@media screen and (min-width:1024px) {}