@charset "utf-8";

/* =============================================================

　 Parts Setting

============================================================= */


/*  TOP : トップページ 設定
--------------------------------------------------------------*/

/*  Header Setting
--------------------------------------------- */

.home #header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 3;
  margin: 0;
  padding: 0;
}

.home #header:before {
  display: none;
}

/* ------ Site Logo ------ */

.home #header #logo {
  padding: 15px 0;
}

.home #header #logo h1 {
  margin: 0;
}

/*  Content Settings
--------------------------------------------- */

.home #content {
  animation: firstaction 2s ease .1s 1 forwards;
  padding-top: 0;
  padding-top: 45.5%\9;
  padding-bottom: 200px;
}

@keyframes firstaction {
  100% {
    padding-top: 45.5%;
  }
}

/* IE10用 */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .home #content {
    padding-top: 0;
  }
}


/*  Content Top
----------------------------------- */

/*  Main Visual
-------------------------- */

#mainvisual {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 2;
  display: block;
  overflow: hidden;
  width: 100%;
  height: 100%;
}

/* ---- Logo ---- */

#mainvisual .mainvisual-logo {
  position: absolute;
  top: 2%;
  right: 0;
  left: 0;
  z-index: 99999;
  text-align: center;
}

#mainvisual .mainvisual-logo h1,
#mainvisual .mainvisual-logo p {
  opacity: 0;
  opacity: 1\9;
  margin: 0 auto;
}

#mainvisual .mainvisual-logo h1 {
  animation: opa1 1.5s ease .6s 1 forwards;
  width: 36%;
}

#mainvisual .mainvisual-logo h1 img {
  z-index: 999;  
  display: block;
  width: 100%;
}

#mainvisual .mainvisual-logo p {
  animation: opa1 1.5s ease 1.2s 1 forwards;
  padding-top: 1.2%;
  color: #333;
  font-size: 1.1em;
  font-size: 1.3vw;
  font-weight: bold;
  letter-spacing: .2em;
  line-height: 2.4;
  text-shadow: 0 0 1.8em #fff,
               0 0 1.8em #fff,
               0 0 1.8em #fff,
               0 0 1.8em #fff,
               0 0 1.8em #fff,
               0 0 1.8em #fff,
               0 0 1.8em #fff,
               0 0 1.8em #fff,
               0 0 1.8em #fff,
               0 0 1.8em #fff,
               0 0 1.8em #fff,
               0 0 1.8em #fff;
}

/* IE9用 */
#mainvisual .mainvisual-logo h1:not(:target),
#mainvisual .mainvisual-logo p:not(:target) {
  opacity: 1\9;
}

/* IE10用 */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  #mainvisual .mainvisual-logo h1,
  #mainvisual .mainvisual-logo p {
    opacity: 0;
  }
}


/* ---- Slider ---- */

#mainvisual .slider {
  display: block;
  margin: 0;
}

#mainvisual .slider:before,
#mainvisual .slider:after {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 20px;
  content: "";
}

#mainvisual .slider > li {
  display: none;
}

#mainvisual .slider > li:first-child {
  display: block;
}

#mainvisual .slider img {
  width: 100%;
  max-width: inherit;
  height: 120vw;
}

#mainvisual .slider.slick-slider > li {
  display: block;
}

/* ---- Dots ---- */

.slick-dots {
  position: absolute;
  right: 0;
  left: 0;
  bottom: 0;
  z-index: 100;
  padding: 0 0 8%;
}

.slick-dots li {
  opacity: 0;
  width: auto;
  height: auto;
  margin: 0 12px;
}

.slick-dots li button {
  width: auto;
  height: auto;
  z-index: 99999;
}

.slick-dots li button:before {
  transition: opacity .4s ease-in-out,color .4s ease-in-out;
  opacity: .8;
  width: auto;
  height: auto;
  margin-left: -20px;
  font-size: 100px;
  color: #999;
}

.slick-dots li.slick-active button:before {
  color: #000;
}

.slick-dots li button:hover:before {
  opacity: .4;
}

.slick-dots li:nth-child(1) {
  animation: opa1 2s ease .5s 1 forwards;
}

.slick-dots li:nth-child(2) {
  animation: opa1 2s ease .8s 1 forwards;
}

.slick-dots li:nth-child(3) {
  animation: opa1 2s ease 1.2s 1 forwards;
}

/* ---- Prev,Next ---- */

.slick-arrow {
  transition: opacity .4s ease-in-out;
  z-index: 10;
  transform: none;
  width: 50px;
  height: 70px;
  margin-top: -30px;
}

.slick-prev {
  left: 3%;
}

.slick-next {
  right: 3%;
}

.slick-arrow:before {
  transform: rotate(45deg);
  opacity: 1 !important;
  transition: border-color .4s ease-in-out;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -25px;
  margin-left: -35px;
  width: 45px;
  height: 45px;
  border-width: 0 0 1px 1px;
  border-style: solid;
  border-color: #fff;
  background: none !important;
  content: "";
}

.slick-prev:before {
  margin-left: -10px;
}

.slick-next:before {
  border-width: 1px 1px 0 0;
}

.slick-arrow:hover {
  opacity: .8;
}

.slick-next:hover:before {
}

/* ---- Wave ---- */

.wave-line {
  display: none\9;
  position: relative;
}

/* IE9用 */
.wave-line:not(:target) {
  display: block \9;
}
/* IE10用 */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .wave-line { 
    display: block;
  }
}

.wave-line.wave-top {
  padding-top: 30px;
  margin-bottom: 30px;
}

.wave-line.wave-bottom {
  margin-bottom: -22px;
}

.wave-line.mainvisual-wave {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  background: #fbf9f1;
  content: "";
}

.wave {
  background: url(/share/imgs/wave-top-1.png) repeat-x;
  background-size: 200px 30px;
  position: absolute;
  top: -30px;
  z-index: 10;
  width: 200%;
  height: 180px;
  transform: translate3d(0, 0, 0);
}

.wave-1 {
  animation: 
    wave 10s cubic-bezier( .36, .45, .63, .53) infinite,
    swell2 8s ease infinite;
  animation-delay: 0,0;
  opacity: .4;
}

.wave-2 {
  background-image: url(/share/imgs/wave-top-2.png);
  animation: 
    wave 10s cubic-bezier( .36, .45, .63, .53) infinite,
    swell 8s ease infinite;
  animation-delay: -5.4s,-2.2s;
  opacity: 1;
}

.wave-bottom .wave-1 {
  top: -103px;
  background-image: url(/share/imgs/wave-bottom-1.png);
}

.wave-bottom .wave-2 {
  background-image: url(/share/imgs/wave-bottom-2.png);
}

@keyframes wave {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -200px 0;
  }
}

@keyframes swell {
  0%, 100% {
    transform: translate3d(0,4px,0);
  }
  50% {
    transform: translate3d(0,0,0);
  }
}

@keyframes swell2 {
  0%, 100% {
    transform: translate3d(0,-4px,0);
  }
  50% {
    transform: translate3d(0,0,0);
  }
}

/*  Content Main
----------------------------------- */

.home #content-main {
  position: relative;
  z-index: 5;
  width: 100%;
  padding-top: 50px;
  padding-bottom: 50px;
  background: #fbf9f1;
}

.home .section {
  background-color: #fbf9f1;
}

.home .section-head {
}

.home .section-head .section-pic {
}

.home .section-head .section-pic,
.home .section-head .section-pic + .ttl {
  display: inline-block;
  *display: inline;
  *zoom: 1;
}

.home .section-head .section-pic.pic-1 {
  padding-right: 60px;
}

.home .section-head .section-pic.pic-2 {
  padding-left: 60px;
}


/*  Site Navi
-------------------------- */

.home .sitenav-section {
  padding-bottom: 100px;
}

.home .sitenav-section .inner {
}

.home .sitenav-section.effect .inner {
}

@media screen and (max-width: 800px) {
  .home .sitenav-section .ttl-section {
    width: 52%;
  }
}

.home .sitenav-section .section-pic {
  padding: 0;
}

.home .sitenav-section .section-pic.pic-1 {
  transition: transform 2s ease-in-out;
  transform: translate(-20px,0);
  padding-top: 10px;
}

.home .sitenav-section.effect .section-pic.pic-1 {
  transform: translate(0,0);
}

.home .sitenav-section .section-pic.pic-2 {
  transition: transform 2s ease-in-out;
  transform: translate(20px,0);
  padding-top: 50px;
  padding-right: 40px;
}

.home .sitenav-section.effect .section-pic.pic-2 {
  transform: translate(0,0);
}

.home .sitenav-section .sitenav-list {
  padding-top: 20px;
}

.home .sitenav-section .sitenav-list li {
  transition: transform 1s ease-in-out,opacity 1s ease-in-out;
  transform: translate(0,30px);
  padding: 0 22px;
  text-align: center;
}

.home .sitenav-section .sitenav-list.effect li {
  transform: translate(0,0);
}

.home .sitenav-section .sitenav-list.effect .sitenav-list-1 {
  transition-delay: 0s;
}

.home .sitenav-section .sitenav-list.effect .sitenav-list-2 {
  transition-delay: .1s;
}

.home .sitenav-section .sitenav-list.effect .sitenav-list-3 {
  transition-delay: .2s;
}

.home .sitenav-section .sitenav-list.effect .sitenav-list-4 {
  transition-delay: .3s;
}

.home .sitenav-section .sitenav-list.effect .sitenav-list-5 {
  transition-delay: .4s;
}

.home .sitenav-section .sitenav-txt {
}

.home .sitenav-section a:hover .sitenav-txt {
  animation: navtxt 1s ease 0s 1 forwards;
}

@keyframes navtxt {
  50% {
    transform: translate(0,-5px);
  }
  100% {
    transform: translate(0,0);
  }
}

.home .sitenav-section .sitenav-img {
  transition: transform .5s ease-in-out;
  transform: rotate(0deg);
  margin-top: -12px;
}

.home .sitenav-section .sitenav-img img {
  margin-right: -5px;
}

.home .sitenav-section a:hover .sitenav-img {
  animation: navimg 1s ease 0s 1 forwards;
}

@keyframes navimg {
  50% {
    transform: rotate(8deg);
  }
  100% {
    transform: rotate(0deg);
  }
}

.home .sitenav-section .sitenav-ttl span {
  transition: background .4s ease-in-out;
  display: block;
  position: relative;
  margin-top: -50px;
  padding: 8px;
  border-radius: 5px;
  background: #333;
  text-align: center;
}

.home .sitenav-section .sitenav-list-1 .sitenav-ttl span {
  background: #e55d5d;
}

.home .sitenav-section .sitenav-list-1 a:hover .sitenav-ttl span {
  background: #f98686;
}

.home .sitenav-section .sitenav-list-2 .sitenav-ttl span {
  background: #6dc1d5;
}

.home .sitenav-section .sitenav-list-2 a:hover .sitenav-ttl span {
  background: #8edaec;
}

.home .sitenav-section .sitenav-list-3 .sitenav-ttl span {
  background: #7bc78e;
}

.home .sitenav-section .sitenav-list-3 a:hover .sitenav-ttl span {
  background: #8edea2;
}

.home .sitenav-section .sitenav-list-4 .sitenav-ttl span {
  background: #dfbc35;
}

.home .sitenav-section .sitenav-list-4 a:hover .sitenav-ttl span {
  background: #efd46a;
}

.home .sitenav-section .sitenav-list-5 .sitenav-ttl span {
  background: #e067af;
}

.home .sitenav-section .sitenav-list-5 a:hover .sitenav-ttl span {
  background: #f490cb;
}

/*  About
-------------------------- */

.home .about-section {
  position: relative;
  padding-top: 80px;
  padding-bottom: 50px;
}

.home .about-section .inner {
}

.home .about-section.effect .inner {
}

.home .about-section .ttl-section {
  margin-bottom: 50px;
}

.home .about-section .section-pic {
  position: absolute;
}

.home .about-section .section-pic.pic-1 {
  top: 0;
  left: 50%;
  transition: transform 2s ease-in-out;
  transform: translate(60px,10px);
}

.home .about-section.effect .section-pic.pic-1 {
  transform: translate(0,0);
}

.home .about-section .section-pic.pic-2 {
  top: 50%;
  left: 36%;
  transition: transform 2s ease-in-out;
  transform: translate(0,20px);
}

.home .about-section.effect .section-pic.pic-2 {
  transform: translate(0,0);
}

.home .about-section .about-thumb {
  position: relative;
  z-index: 0;
  width: 50%;
}

.home .about-section .about-thumb img {
  transition: all 1s ease-in-out;
  transform: rotate(4deg);
}

.home .about-section.effect .about-thumb img {
  transform: rotate(0deg);
}

.home .about-section .about-thumb:before {
  transition: all .7s ease-in-out;
  transform: rotate(3deg);
  display: none\9;
  position: absolute;
  top: -18px;
  right: -18px;
  left: -18px;
  bottom: -18px;
  z-index: -1;
  background: url(/share/imgs/index-about-thumb-bg.png) no-repeat center;
  background-size: 100%;
  content: "";
}

/* IE9用 */
.home .about-section .about-thumb:not(:target):before {
  display: block \9;
}

/* IE10用 */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .home .about-section .about-thumb:before { 
    display: block;
  }
}

.home .about-section.effect .about-thumb:before {
  transform: rotate(0deg);
}

.home .about-section .about-cont {
  margin-top: -10px;
}

.home .about-section.effect .about-cont {
}



/*  Movie
-------------------------- */

.home .movie-section {
  position: relative;
  margin-bottom: 0;
  padding-top: 80px;
  padding-bottom: 100px;
  background-image: url(/share/imgs/index-movie-bgall.jpg);
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-position: center top;
  background-size: cover;
  background-color: transparent;
}

.home .movie-section .inner {
  transition: opacity .4s ease-in-out;
  opacity: 0;
}

.home .movie-section.effect .inner {
  opacity: 1;
}

.home .movie-section .section-pic.pic-1 {
  transition: transform 2s ease-in-out;
  transform: translate(-20px,0);
}

.home .movie-section.effect .section-pic.pic-1 {
  transform: translate(0,0);
}

.home .movie-section .section-pic.pic-2 {
  transition: transform 2s ease-in-out;
  transform: translate(20px,0);
}

.home .movie-section.effect .section-pic.pic-2 {
  transform: translate(0,0);
}

.home .movie-section .ttl-section {
  padding-bottom: 20px;
}

.home .movie-section .section-inner {
  transition: transform .7s ease-in-out;
  transform: translate(0,30px);
  margin: 35px 0 0;
  padding: 40px 30px;
  background: #fff;
}

.home .movie-section .section-inner.effect {
  transform: translate(0,0);
}

.home .movie-section .movie-thumb a {
  display: block;
}

.home .movie-section .movie-thumb img {
  width: 100%;
}

.home .movie-section .ttl-sub {
  margin-bottom: 10px;
  font-size: 1.7em;
}

.home .movie-section .section-half.float-right {
  padding-left: 18px;
}

.home .movie-section .section-half.float-left {
  padding-right: 18px;
}

.home .movie-section .btn.btn-lg {
  margin-top: 20px;
  margin-bottom: 0;
}


/*  Info
-------------------------- */

.home .info-section {
}

.home .info-section .inner {
  transition: opacity .4s ease-in-out;
  opacity: 0;
}

.home .info-section.effect .inner {
  opacity: 1;
}

.home .info-section .ttl-section {
  padding-top: 20px;
  padding-bottom: 20px;
}

.home .info-section .info-list {
  overflow: visible !important;
}

.home .info-section .info-list li {
  opacity: 0;
  transform: translate(0,30px);
}

.home .info-section.effect .info-list li {
  transition: transform 1s ease-in-out,opacity .4s ease-in-out;
  transform: translate(0,0);
  opacity: 1;
}

.home .info-section.effect .info-list .info-list-1 {
  transition-delay: 0s;
}

.home .info-section.effect .info-list .info-list-2 {
  transition-delay: .1s;
}

.home .info-section.effect .info-list .info-list-3 {
  transition-delay: .2s;
}

.home .info-section .column-inner {
  padding-right: 30px;
  padding-left: 30px;
}

.home .info-section .column-inner > a {
  display: block;
  position: relative;
  height: 100%;
  padding-bottom: 65px;
  text-decoration: none;
}

.home .info-section .info-thumb {
  height: 120px;
  line-height: 120px;
}

.home .info-section .info-thumb img {
  vertical-align: middle;
}

.home .info-section .info-list-1 .info-thumb img {
  transition: .55s;
  transform: rotateY(0deg);
}

.home .info-section .info-list-1 a:hover .info-thumb img {
  transform: rotateY(360deg);
}

.home .info-section .info-list-2 .info-thumb img {
  transition: transform .4s ease-in-out;
  transform: rotate(0deg);
}

.home .info-section .info-list-2 a:hover .info-thumb img {
  transform: rotate(-20deg);
}

.home .info-section .info-list-3 .info-thumb img {
  transition: transform .4s ease-in-out;
  transform: scale(1);
}

.home .info-section .info-list-3 a:hover .info-thumb img {
  transform: scale(1.13);
}


.home .info-section .info-ttl {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  position: relative;
  z-index: 0;
  padding-top: 40px;
}

.home .info-section .info-ttl:before {
  position: absolute;
  right: 0;
  left: 0;
  bottom: -4px;
  z-index: -1;
  height: 10px;
  background: #ccc;
  content: "";
}

.home .info-section .info-list-1 .info-ttl:before {
  background-color: #ffcfbf;
}

.home .info-section .info-list-2 .info-ttl:before {
  background-color: #dfffbf;
}

.home .info-section .info-list-3 .info-ttl:before {
  background-color: #ffe599;
}

.home .info-section .info-cont {
  padding-top: 30px;
  font-size: .95em;
  line-height: 1.9;
}

.home .info-section .info-btn {
  position: absolute;
  right: 0;
  left: 0;
  bottom: 0;
  padding-top: 20px;
}

.home .info-section .info-btn .btn {
  transition: background-image .3s ease-in-out,background-color .3s ease-in-out;
  margin: 0;
  min-width: 210px;
  min-height: 44px;
  background-image: url(/share/imgs/index-info-btn-link.png),url(/share/imgs/index-info-btn-link-hover.png);
  background-repeat: no-repeat,no-repeat;
  background-position: center,-900% -900%;
}

.home .info-section a:hover .info-btn .btn {
  background-image: url(/share/imgs/index-info-btn-link-hover.png);
}

.home .info-section .info-btn .btn span {
  display: none;
}


/*  Pick Up
-------------------------- */

.home .pickup-section {
}

.home .pickup-section .slider-wrap {
  overflow: hidden;
}

.home .pickup-section .slider-wrap.slider-2 {
  margin-top: -2px;
}

.home .pickup-section .slider {
  transition: opacity 1s ease-in-out;
  opacity: 0;
}

.home .pickup-section .slider.slick-slider {
  opacity: 1;
}

.home .pickup-section .slide {
  position: relative;
  float: left;
  width: 350px;
}

.home .pickup-section .slide img {
  width: 102%;
  height: 102%;
  max-width: 102%;
}

.home .pickup-section .slide .pickup-cont-wrap {
  overflow: hidden;
  display: none\9;
  transition: all .4s ease-in-out;
  opacity: 0;
  width: 100%;
  height: 100%;
}

.home .pickup-section .slide a {
  display: block;
  overflow: hidden;
}

.home .pickup-section .slide a:hover .pickup-cont-wrap {
  display: block\9;
  opacity: 1;
}

.home .pickup-section .slide .pickup-cont-wrap {
  overflow: hidden;
  display: none\9;
  transition: all .4s ease-in-out;
  opacity: 0;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,.7);
  color: #fff;
}

.home .pickup-section .slide .pickup-cont {
  display: table;
  width: 100%;
  height: 100%;
  vertical-align: middle;
}

.home .pickup-section .slide .pickup-cont-inner {
  position: relative;
  display: table-cell;
  padding: 20px 30px;
  text-align: center;
  vertical-align: middle;
  font-size: 1em;
  line-height: 1.8;
}

/*
@media screen and (max-width: 1171) {
  .home .pickup-section .slide .pickup-cont-inner {
    font-size: 1em;
  }
}

@media screen and (max-width: 992) {
  .home .pickup-section .slide .pickup-cont-inner {
    font-size: 1em;
  }
}
*/

.home .pickup-section .slide .pickup-cont-inner h3 {
  margin-bottom: 7%;
  font-size: 1.1em;
}

.home .pickup-section .slide .pickup-cont-inner p {
  font-size: .8em;
  text-align: left;
}


/*  Banner Section
-------------------------- */

.bnr-section {
}

.bnr-section .column > ul {
  margin-left: -10px;
}

.bnr-section .column > ul > li {
  padding-left: 10px;
}

.bnr-section a:hover {
  opacity: .7;
}



/*  LOWER PAGE : 下層ページ 設定
--------------------------------------------------------------*/




