@charset "utf-8";
/* CSS Document */
body{
	width: 100% ;
	margin: 0 ;
	padding: 0 ;
	font-family: "A1 Mincho";
	}
ul{
	list-style: none ;
	margin-block-start: 0;
    margin-block-end: 0;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    padding-inline-start: 0px;
}
img , dl , dt , dd{
	margin: 0 ;
	padding: 0 ;
	border: none ;
}
a{
	text-decoration: none ;
}
h2{
	color: #000 ;
	font-size: 2.4em ;
	text-align: center ;
	background-color: #fff ;
	padding-bottom: 1.5em ;
	padding-top: 1.5em ;
}
/*ズームインスライダー*/
	@-webkit-keyframes zoomUp {
  0% {
      -webkit-transform: scale(1);
      transform: scale(1);
  }
  100% {
      -webkit-transform: scale(1.15);
      transform: scale(1.15);
  }
}

@keyframes zoomUp { /* 1.15倍させる指定 */
  0% {
      -webkit-transform: scale(1);
      transform: scale(1);
  }
  100% {
      -webkit-transform: scale(1.15);
      transform: scale(1.15);
  }
}
.swiper-container1{
		width: 100% ;
		margin: 0 ;
		padding: 0 ;
	}
.swiper-slide {
	width: 100% ;
	position: relative ;
  overflow: hidden;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-slide-active .slide-img,
.swiper-slide-duplicate-active .slide-img,
.swiper-slide-prev .slide-img { /* 12秒かけて拡大させる */
    -webkit-animation: zoomUp 12s linear 0s;
    animation: zoomUp 12s linear 0s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

.slide-img {
    background-size: cover; 
    background-position: center center; /* 背景画像は中央を軸に表示させる */
    height: 100vh; /* 600pxの高さで表示させる */
}
.slide-text {
      position: absolute;
      z-index: 10;
      font-size: 2rem;
      color: #fff;
      width: 100%;
      top: 24%;
	  right: 10% ;
	  -webkit-writing-mode: vertical-rl;
  	  -ms-writing-mode: tb-rl;
      -o-writing-mode: vertical-rl;
      writing-mode: vertical-rl;
	  line-height: 2 ;
	  text-shadow: 2px 2px 3px #999999;
}
.swiper-container2{
	display: none ;
}
@media screen and (max-width: 1080px){
.swiper-container1{
	display:none ;
	}
.swiper-container2{
	display: block ;
	position: relative ;
	top: -4em ;
	}

.swiper-container2 .slide-img {
    background-size: 100% ; 
    /*background-position: center center; *//* 背景画像は中央を軸に表示させる */
    height: 90vh; /* 600pxの高さで表示させる */
}
.swiper-container2 .slide-text {
      position: absolute;
      z-index: 10;
      font-size: 1.4rem;
      color: #fff;
      width: 100%;
      top: 14%;
	  right: 2% ;
	  -ms-writing-mode: vertical-rl;
	  writing-mode: vertical-rl;
	  line-height: 2 ;
	  text-shadow: 2px 2px 3px #333;
}
}


/*フィックスナビ*/
.fixnav{
	width: 100% ;
	background-color: #000 ;
	position: relative ;
	z-index: 99 ;
}
.fixnav_inner{
	width: 70% ;
	margin: 0 auto ;
	display: flex ;
	justify-content: flex-start ;
}
.nav_lg{
	width: 70px ;
	padding-top: 1em ;
	padding-bottom: 0.5em ;
	padding-left: 1em ;
	padding-right: 1em ;
	background-color: #fff ;
}
.nav_lg img{
	width: 100% ;
}
.fixnav ul{
	display: flex ;
	justify-content: space-between ;
	width: calc( 100% -70px );
	margin: 0 auto ;
}
.fixnav ul li{
	display: block ;
	padding-top: 2em ;
	padding-bottom: 2em ;
	text-align: center ;
	font-size: 1.1em ;
	color: #fff ;
}
.fixnav ul li:first-child::before{
	content: "|　" ;
}
.fixnav ul li::after{
	content: "　|　" ;
}
.fixnav ul li a{
	color: #fff ;
	text-decoration: none ;
}
.fixed {
	position: fixed;
	top: 0;
}
@media screen and (max-width: 1400px) {
    .fixnav_inner{
	width: 92% ;
} 
	.fixnav ul li{
	font-size: 1em ;
}
    }
@media screen and (max-width: 1200px) {
    .fixnav_inner{
	width: 98% ;
}    
    }
@media screen and (max-width: 1080px){
	.fixnav{
		display: none ;
	}
}



/*フッター*/
footer{
	background-color: #000 ;
	width: 100% ;
}
footer p{
	color: #fff ;
	text-align: center ;
	margin: 0 !important ;
}
.f_logo{
	display: block ;
	width: 16% ;
	margin: 0 auto ;
	padding-bottom: 4em ;
	padding-top: 6em ;
}
.f_logo img{
	display: block ;
	width: 100% ;
}
footer ul{
	display: flex ;
	justify-content: center ;
}
footer li{
	padding: 1em ;
}
footer p{
	font-size: 0.8em ;
	text-align: center ;
	padding-bottom: 2em ;
}
@media screen and (max-width: 1080px) {
	.f_logo{
	width: 20% ;
	padding-bottom: 2em ;
	padding-top: 3em ;
}
}
	
	
	
	
	
/*SP用ハンバーガーメニュー*/
header.sp_hd{
	display: none ;
}
.pc_hidden{
	display: none ;
}
@media screen and (max-width: 1080px){
header.sp_hd {
    display: block ;
    margin: 3.5em 0 0;
	background-color: transparent ;
    position: relative;
}

header.sp_hd #fixedheader {
    width: 100%;
	background-color: transparent ;
    top: 0;
    position: fixed;
    -webkit-transition: .5s;
    -o-transition: .5s;
    transition: .5s;
    z-index: 100;
}

header.sp_hd #fixedheader.show {
    position: fixed;
    top: 0;
}

header.sp_hd #fixedheader.hide {
    -webkit-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    transform: translateY(-100%);
}
.pc_hidden{
	display: block ;
}
.scroll-prevent {
  position: fixed;
  z-index: -1;
  width: 100%;
  height: 100%;
}
#nav-tgl {
  display: none;
}
.nav-tgl-btn {
  cursor: pointer;
  position: fixed;
  top: 0;
  left: 0;
  margin: 0;
  
}
.open {
  z-index: 200;
  width: 55px;
  height: 55px;
  transition: background .6s, transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.open::before,
.open::after {
  content: "";
}
.open span,
.open::before,
.open::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 30%;
  width: 40%;
  border-bottom: 2px solid #000;
  transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.open::before {
  transform: translateY(-8px);
}
.open::after {
  transform: translateY(8px);
}
.close {
  z-index: 200;
  width: 100%;
  height: 100%;
  pointer-events: none;
  transition: background .6s;
}
#nav-tgl:checked + .open {
  background: rgba(0,0,0,.3);
  transform: translateX(0px);
}
#nav-tgl:checked + .open span {
  transform: scaleX(0);
}
#nav-tgl:checked + .open::before {
  transform: rotate(45deg);
}
#nav-tgl:checked + .open::after {
  transform: rotate(-45deg);
}
#nav-tgl:checked ~ .close {
  pointer-events: auto;
  background: rgba(0,0,0,.3);
}

.content-wrapper {
  transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
#nav-tgl:checked ~ .content-wrapper {
  transform: translateX(100%);
}
.drower-menu {
  z-index: 999;
  position: fixed;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
  top: 55px;
  left: 0px;
  width: 100%;
  height: 100% ;
  margin: 0;
  padding: 0 0 10px;
  box-sizing: border-box;
  background: #000 ;
  transform: translateX(-100%);
  transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
  overflow-y: hidden ; 
}

#nav-tgl:checked ~ .drower-menu {
  transform: none;
}
div.drower-menu-list {
    display: block ;
     width: 100% ;
    height: 100% ;
}
nav.sp_nav{
        margin: 1.5em ;
    }
nav.sp_nav ul{
     display: table;
    }    
nav.sp_nav li{
    width: 100% ;
    list-style: none ;
    margin: 1em auto ;
    }   
nav.sp_nav li a{
    display: block ;
    width: 100% ;
    text-decoration: none ;
    font-size: 1.1em ;
    color: #fff ;
    /*border: 0.5px solid #fff ;*/
    padding: 0.5em 1em ;
    
    }   
}



/*メニューページ*/
/*メニュー文言*/
.menu{
	display: block ;
	width: 100% ;
}
.menu p{
	text-align: center ;
	color: #000 ;
	font-size: 1.6em ;
	padding-bottom: 6em ;
	padding-top: 1em ;
	line-height: 2.1 ;
}
br.sponly{
	display: block;
}
/*メニュースライダー*/
.sl{
	display: block ;
	width: 100% ;
	margin: 0 ;
	padding: 0 ;
	padding-bottom: 10em ;
}
.single { 
	width: 100%; 
}
.single img{ 
	width: 1000px ;
	margin: 0 auto ;
}
.slick-dots {
    bottom: -2em ;
}
.slick-prev , .slick-next{
	width: 50px ;
	height: 50px ;
}
.slick-prev {
    left: 0px;
	z-index: 99 ;
}
.slick-prev::before {
    content: url(../img/previewarrow_bk.png);
}
.slick-next::before {
    content: url(../img/nextarrow_bk.png);
}
.slick-next {
    right: 0px;
	z-index: 99 ;
}
.slick-slide:not(.slick-current) {
  opacity: .5;
}
@media screen and (max-width: 1000px){
	.single img{ 
	width: 100% ;
}
}
@media screen and (max-width: 1080px){
	.menu h2{
	font-size: 1.8em ;	
	padding-bottom: 0.5em;
    padding-top: 0.5em;
	}
	.menu p{
	font-size: 1.0em ;
	padding-bottom: 6em ;
	padding-top: 1em ;
	line-height: 2.1 ;
}
	}