@charset "UTF-8";
/* CSS Document */

/*--------------------------------------------------------
　基本設定
--------------------------------------------------------*/
body {
	padding-top: 0;
}

#slide_scroll section#news div.text_block dl dd a{
    color: #FFF;
}

header {
	background: none;
}

#slider_block { width:100%; height:100vh; position:relative; }
#slider_block #slider { width:100%; height:100%; position:relative; }

.swiper-slide { width:100%; height:100%; overflow:hidden; }

#slider .swiper-slide picture,
#slider .swiper-slide img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

/* 初期状態は等倍にしておく（animationでリセットしない） */
.swiper-img { 
  height:100%;
  transform: scale(1);
}

@keyframes zoomUp {
  0%   { transform: scale(1); }
  100% { transform: scale(1.1); }
}

/* フェード中も“前の”スライドが拡大を維持できるように prev にも付与 */
.swiper-slide-active .swiper-img,
.swiper-slide-prev .swiper-img,
.swiper-slide-duplicate-active .swiper-img {
  animation: zoomUp 10s linear both;
}

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

@media print, screen and (min-width: 749px){
	
	header h1 {
        display: none;
    }
	
	header div.h_inner nav.globalMenu ul.box_inner li:last-of-type a{
		border-color: #FFF;
	}
	
	header div.h_inner nav.globalMenu ul li a{
        color: #FFF!important;
    }
	header div.h_inner nav.globalMenu ul.box_inner li:last-of-type a::before{
		content: "";
		background: #FFF!important;
	}
	
	header div.h_inner nav.globalMenu ul.box_inner li:last-of-type a:hover{
		color: #000!important;
	}
	
    #slider .swiper-pagination {
      position: absolute;
      right: -46.5%;
      top: 50%;
      left: auto !important;
      bottom: auto !important;
      transform: translateY(-50%);
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 8px;      /* 弾の縦間隔 */
      z-index: 10;
    }

    #slider .swiper-pagination-bullet {
      width: 4px;
      height: 35px;
      margin: 0 !important;
      border-radius: 25px;
      background: rgba(255,255,255,.7);
    }
    #slider .swiper-pagination-bullet-active {
      background: rgba(255,255,255,1);
      opacity: 1;
    }
	
	#slider_block h1{ 
		width: 24.93vw;
		line-height: 0;
		position: absolute;
		top: calc(50% - 2.894vw);
		left: 11.2%;
		z-index: 10;
	}
	
	#slide_scroll {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	#slide_scroll section{
		width: 25%;
		color: #FFF;
		background: #43484d;
	}
	
	#slide_scroll section#news{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	#slide_scroll section{
		width: 25%;
		position: relative;
	}
	
	#slide_scroll section div.photo{
		line-height: 0;
	}
	
	div.page_title_box h2 {
		font-family: "Cormorant";
		font-size: 6.6rem;
		font-size: clamp(3.3rem, 4.4vw, 6.6rem);
		font-weight: 400;
		line-height: 1.1;
	}
	
	div.page_title_box h3{
		font-size: 1.7rem;
		font-size: clamp(0.85rem, 1.13vw, 1.7rem);
		font-weight: 400;
		line-height: 1.2;
		margin-bottom: 2.25em;
	}
	
	#slide_scroll section:not(#news) {
		overflow: hidden;
	}
	
	#slide_scroll section:not(#news) div.page_title_box {
		color: #FFF;
		position: absolute;
		top: 3.2vw;
		left: 3.3vw;
		z-index: 3;
	}
	
	#slide_scroll section:not(#news) div.page_title_box h2 {
		font-size: 5.5rem;
		font-size: clamp(2.75rem, 3.66vw, 5.5rem);
	}
	
	#slide_scroll section#news div.text_block{
		width: 45.8%;
		min-height: 28vw;
		padding: 3.2vw 3.3vw 5.1vw;
		position: relative;
	}
	
	#slide_scroll section:not(#news) div.photo{
		transition: all .5s ease;
	}
	
	#slide_scroll section:not(#news) a{
		display: block;
		height: 100%;
	}
	
	#slide_scroll section:not(#news) a:hover div.photo{
		transform:scale(1.08,1.08);
	}
	
	#slide_scroll section#news div.text_block dl {
		width: 100%;
		max-width: 582px;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	#slide_scroll section#news div.text_block dl dt{
		width: 17.2%;
		font-family: "Bodoni Moda";
		font-weight: 500;
		font-size: 1.8rem;
		font-size: clamp(0.9rem, 1.2vw, 1.8rem);
		color: #7c7c7c;
		margin-top: 1em;
		line-height: 1.53;
	}
	
	#slide_scroll section#news div.text_block dl dd{
		width: 82.8%;
		font-size: 1.7rem;
		font-size: clamp(0.85rem, 1.13vw, 1.7rem);
		margin-top: 1.05em;
	}
	
	#slide_scroll section#news div.text_block dl dt:first-of-type,
	#slide_scroll section#news div.text_block dl dd:first-of-type{
		margin-top: 0;
	}
	
	#slide_scroll section#news div.photo{
		width: 54.2%;
	}
	
	#slide_scroll section#news div.photo img{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	
	#slide_scroll section span.more_icon {
		position: absolute;
		bottom: 2vw;
		right: 3.3vw;
		z-index: 5;
		border-color: #FFF;
		transition: all .5s ease;
		overflow: hidden;
	}
	
	#slide_scroll section span.more_icon::before {
		content: "";
		width: 100%;
		height: 100%;
		background: #FFF;
		display: block;
		position: absolute;
		top: 0;
		left: -100%;
		z-index: -1;
		transition: all .5s ease;
	}
	
	#slide_scroll section a:hover span.more_icon::before {
		content: "";
		left: 0;
	}
	
	#slide_scroll section a:hover span.more_icon {
		right: 2.5vw;
	}

	#slide_scroll section span.more_icon span.arrow,
	#slide_scroll section span.more_icon span.arrow::before{
		transition-duration: 0.5s;
		transition-property: opacity, background;
		background-color: #FFF;
	}
	
	#slide_scroll section a:hover span.more_icon span.arrow,
	#slide_scroll section a:hover span.more_icon span.arrow::before{
		 background-color: #000;
	}
	
	#slide_scroll section#news div.text_block span.more{
		display: inline-block;
		position: absolute;
		bottom: 2.25vw;
		right: 3vw;
		z-index: 5;
		transition: all .5s ease;
	}
	
	#slide_scroll section#news div.text_block span.more:hover{
		right: 2.2vw;
	}
	
	#slide_scroll section#news div.text_block span.more a{
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: center;
		font-family: "Cormorant";
		font-size: 1.7rem;
		font-size: clamp(0.85rem, 1.13vw, 1.7rem);
		line-height: 1;
		color: #FFF;
	}
	
	#slide_scroll section#news div.text_block span.more a span.more_icon{
		display: inline-block;
		position: relative;
		bottom: initial;
		right: initial;
		margin-left: 15px;
	}

}
	

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

@media screen and (max-width: 748px){
	
	header h1 {
      opacity: 0;
      transition: opacity .45s ease, transform .45s ease;
      will-change: opacity, transform;
    }
    header h1 a {
      pointer-events: none;
    }
    header h1.is-visible {
      opacity: 1;
      transform: none;
    }
    header h1.is-visible a {
      pointer-events: auto;
    }
	
	.hamburger span {
        background : #FFF;
    }
	
	.swiper-pagination {
		bottom: 11vw!important;
	}
	
	.swiper-pagination-bullet {
        margin: 0 1vw!important;
        width: 9vw;
        height: 1vw;
		border-radius: 25px;
        background: rgba(255,255,255,.5);
    }
    .swiper-pagination-bullet-active {
        background: rgba(255,255,255,1);
        opacity: 1;
    }
	
	#slider_block { 
		height: calc(var(--vh, 1vh) * 100);
	}
	
	#slider_block h1{ 
		width: 63.7vw;
		line-height: 0;
		position: absolute;
		top: calc(50% - 7.395vw);
		left: calc(50% - 31.85vw);
		z-index: 10;
	}
	
	#slide_scroll {
		display: block;
	}
	
	#slide_scroll section{
		color: #FFF;
		background: #43484d;
	}
	
	#slide_scroll section#news{
		width: 100%;
		padding: 22vw 8.5vw 18vw;
	}
	
	#slide_scroll section{
		height: 100vh;
		height: calc(var(--vh, 1vh) * 100);
		position: relative;
	}
	
	#slide_scroll section div.photo{
		height: 100%;
		line-height: 0;
	}
	
	#slide_scroll section div.photo img{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	
	div.page_title_box h2 {
		font-family: "Cormorant";
		font-size: 6.5rem;
		font-size: clamp(6.240rem, calc(6.240rem + 1.733vw), 12.965rem);
		font-weight: 400;
		line-height: 1.1;
	}
	
	div.page_title_box h3{
		font-size: 2.0rem;
		font-size: clamp(1.920rem, calc(1.920rem + 0.533vw), 3.989rem);
		font-weight: 400;
		line-height: 1.2;
		margin-bottom: 2.25em;
	}
	
	#slide_scroll{
		osition: relative;
		/* iOS系の描画安定化（任意） */
		-webkit-transform: translateZ(0);
		transform: translateZ(0);
	}
	
	#slide_scroll section {
		position: sticky;
		top: 0;
		/* スクロール時のブレ防止（任意） */
		backface-visibility: hidden;
		-webkit-backface-visibility: hidden;
		will-change: transform;
    }
	
	#slide_scroll section:nth-child(1) { z-index: 1; }
    #slide_scroll section:nth-child(2) { z-index: 2; }
    #slide_scroll section:nth-child(3) { z-index: 3; }
    #slide_scroll section:nth-child(4) { z-index: 4; }
    #slide_scroll section:nth-child(5) { z-index: 5; }
	
	#slide_scroll section:not(#news) {
		overflow: hidden;
	}
	
	#slide_scroll section:not(#news) div.page_title_box {
		color: #FFF;
		position: absolute;
		top: 22vw;
		left: 8.5vw;
		z-index: 3;
	}
	
	#slide_scroll section#news div.text_block{
		height: 100%;
		position: relative;
	}
	
	#slide_scroll section:not(#news) a{
		display: block;
		height: 100%;
	}
	
	#slide_scroll section#news div.text_block dl dt{
		font-family: "Bodoni Moda";
		font-weight: 500;
		font-size: 1.55rem;
		font-size: clamp(1.488rem, calc(1.488rem + 0.413vw), 3.092rem);
		color: #7c7c7c;
	}
	
	#slide_scroll section#news div.text_block dl dd + dt{
		margin-top: 1.25em;
	}
	
	#slide_scroll section#news div.text_block dl dd{
		font-size: 1.8rem;
		font-size: clamp(1.728rem, calc(1.728rem + 0.480vw), 3.590rem);
		margin-top: 0.25em;
	}
	
	#slide_scroll section#news div.photo{
		display: none;
	}

	#slide_scroll section span.more_icon {
		position: absolute;
		bottom: calc(50% - 7.9vw);
		right: 7vw!important;
		z-index: 5;
		border-color: #FFF;
	}
	
	#slide_scroll section a:hover span.more_icon {
		right: 2.5vw;
	}

	#slide_scroll section span.more_icon span.arrow,
	#slide_scroll section span.more_icon span.arrow::before{
		 background-color: #FFF;
	}
	
	#slide_scroll section#news div.text_block span.more{
		display: inline-block;
		position: absolute;
		bottom: 0;
		right: 0;
		z-index: 5;
	}
	
	#slide_scroll section#news div.text_block span.more a{
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: center;
		font-family: "Cormorant";
		font-size: 1.6rem;
		font-size: clamp(1.536rem, calc(1.536rem + 0.427vw), 3.191rem);
		line-height: 1;
		color: #FFF;
	}
	
	#slide_scroll section#news div.text_block span.more a span.more_icon{
		display: inline-block;
		position: relative;
		bottom: initial;
		right: initial!important;
		margin-left: 15px;
	}
	
}