@charset "utf-8";

header{
	background: rgba(147, 14, 24, .7);
}
body#top{
	background: url(../images/top/top_bg.jpg) repeat top left;
}
body#top .content.site-content{
	background: none;
	padding-bottom: 0;
}
div.vertical-text:has(h1){
	display: block;
	margin: -63px auto 150px;
	z-index: 2;
	padding: .9em;
}
#sec_ttl{
	position: relative;
	display: flex;
}
#sec_ttl .icon:nth-of-type(1){
	position: absolute;
	width: 16.8vw;
	max-width: 324px;
	bottom: 0;
	left: calc(50% - 15vw);
}
#sec_ttl .icon:nth-of-type(2){
	position: absolute;
	width: 7.8vw;
	max-width: 151px;
	bottom: 0;
	right: 100px;
}
#sec_ttl .icon:nth-of-type(3){
	position: absolute;
	width: 15.8vw;
	max-width: 305px;
	bottom: -88%;
	left: 0;
	z-index: 1;
}
h1{
	position: relative;
	border: solid 2px var(--blue);
	padding: 1.875em 1.25em;
	font-size: 2rem;
	line-height: 1.6;
	letter-spacing: .05em;
}
h1::after{
	position: absolute;
	display: block;
	content: "";
	width: 0;
	height: 0;
	border-left: 30px solid transparent;
	border-right: 30px solid transparent;
	border-top: 30px solid var(--blue);
	bottom: -70px;
	left: 50%;
	transform: translateX(-50%);
}

h2 + span{
	display: block;
	width: fit-content;
	margin: 1em auto 0;
}

@media screen and (max-width: 1000px) {
	#sec_ttl{
		overflow: hidden;
		margin: 100px auto 0;
		padding-bottom: 5em;
	}

	div.vertical-text:has(h1){
		margin: 0 auto 50px;
	}

	h1{
		font-size: 232.5%;
	}

	#sec_ttl .icon:nth-of-type(1){
		width: 31.3vw;
		max-width: 235px;
		bottom: calc(50% - 12em);
		left: calc(50% - 17em);
	}

	#sec_ttl .icon:nth-of-type(2){
		width: 20vw;
		max-width: 150px;
		bottom: calc(50% - 17em);
		right: -6%;
	}

	#sec_ttl .icon:nth-of-type(3){
		display: none;
	}
}

@media screen and (max-width: 480px) {
	h1{
		font-size: 160.2%;
	}
	
	#sec_ttl .icon:nth-of-type(1){
		bottom: calc(50% - 6em);
		left: calc(50% - 11em);
	}

	#sec_ttl .icon:nth-of-type(2){
		bottom: calc(50% - 13em);
	}
}

/*==================================================
スライダーのためのcss
===================================*/

.slider {
  position:relative;
	z-index: 1;
	/*↑z-indexの値をh1のz-indexの値よりも小さくして背景に回す*/
	height: auto;/*スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
}
.slider::after{
	position: absolute;
	display: block;
	content: "";
	background: url(../images/top/bg_mv_pc.png) no-repeat center center / 100%;
	width: 100%;
	height: auto;
	bottom: 0;
	left: 0;
	aspect-ratio: 60 / 13;
	object-fit: contain;
	z-index: 2;
	transform: translateY(40%);
}
/*　背景画像設定　*/

.slider-item01 {
  background:url(../images/top/slide_01.png);
}

.slider-item02 {
  background:url(../images/top/slide_02.png);
}

.slider-item03 {
  background:url(../images/top/slide_03.png);
}
.slider-item {
	position: relative;
    width: 100%;/*各スライダー全体の横幅を画面の高さいっぱい（100%）にする*/
    height:100dvh;/*各スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
    background-repeat: no-repeat;/*背景画像をリピートしない*/
    background-position: center top;/*背景画像の位置を中央に*/
    background-size: cover;
    aspect-ratio: 96 / 53;
    object-fit: cover;
}
.slide_text{
	position: absolute;
	display: inline-block;
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	color: #fff;
	font-size: min(6vh, 3.2em);
	font-weight: 700;
	letter-spacing: .02em;
	top: 50%;
	left: 50%;	
	text-shadow: 0px 0px 28px #000, 0px 0px 19px #000, 0px 0px 17px #000, 0px 0px 10px #000, 0px 0px 11px #000, 0px 0px 2px #000;
	transform: translate(-50%, -50%);
}
.slide_text.blue{
	color: var(--blue);
	text-shadow: 0px 0px 28px #fff, 0px 0px 19px #fff, 0px 0px 17px #fff, 0px 0px 10px #fff, 0px 0px 11px #fff, 0px 0px 2px #fff;
}

.slide_text.bk{
	color: #000;
	text-shadow: 0px 0px 28px #fff, 0px 0px 19px #fff, 0px 0px 17px #fff, 0px 0px 10px #fff, 0px 0px 11px #fff, 0px 0px 2px #fff;
}

/*矢印の設定*/
.slick-prev, 
.slick-next{
  display: none !important;
  opacity: 0;
}

/*ドットナビゲーションの設定*/
.slick-dots {
	position: absolute;
	display: flex;
	gap: 30px;
	z-index: 4;
	text-align:center;
	bottom: 15%;
	left: 50%;
	transform: translateX(-50%);
}
.slick-dots li {
	display:inline-block;
}
.slick-dots button {
    color: transparent;
    outline: none;
    width: 10px;/*ドットボタンのサイズ*/
    height: 10px;/*ドットボタンのサイズ*/
    display:block;
    background:#fff;/*ドットボタンの色*/
	border-radius: 50%;
	border: none;
}
.slick-dots .slick-active button{
    background: var(--red);/*ドットボタンの現在地表示の色*/
}
header.ontop .navbar .link-group{
	top: 37px;
}
.navbar .link-group{
	top: 53px;
}
.tel_link{
	position: absolute;
	top: 150px;
	right: 10%;
	z-index: 3;
}
.tel_link > p{
	/* font-weight: 700;
	font-size: 1rem; */
	text-shadow: 0px 0px 28px #fff, 0px 0px 19px #fff, 0px 0px 17px #fff, 0px 0px 10px #fff, 0px 0px 11px #fff, 0px 0px 2px #fff;
}
.tel-link > p.blue > a:link{
	font-size: 2.25rem;
	color: var(--blue);
}
.mv_btns{
	position: absolute;
	display: flex;
	flex-direction: column;
	width: fit-content;
	bottom: 0;
	right: 18%;
	gap: 50px;
	z-index: 4;
}
.mv_btns img{
	filter: drop-shadow(0 0 17px #fff);
}

@media screen and (max-height: 680px) {
	h1{
		font-size: max(30%, 16px);
	}
	.slide_text{
		font-size: min(6vh, 2.5em);
	}
	.mv_btns{
		width: min(80%, 240px);
		gap: 10px;
	}
}

@media screen and (max-width: 1000px) {
	.mv{
		position: relative;
	}
	.mv,
	.slider{
		max-height: 90vh;
	}
	.slider::after{
		background: url(../images/top/bg_mv_sp.png) no-repeat center center / 100%;
		background-size: contain;
		aspect-ratio: 125 / 56;
	}
	.slider-item {
		width: 100%;/*各スライダー全体の横幅を画面の高さいっぱい（100%）にする*/
		height: auto;/*各スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
		max-height: 90vh;
		background-repeat: no-repeat;/*背景画像をリピートしない*/
		background-position: center center;/*背景画像の位置を中央に*/
		background-size: 100% auto;/*背景画像が.slider-item全体を覆い表示*/
		aspect-ratio: 15 / 22;
		object-fit: cover;
	}	
	.slider-item01 {
		background:url(../images/top/slide_01_sp.jpg);
		background-repeat: no-repeat;
		background-size: 100% auto;
		background-position: center center;
		/* background-size: 110% auto;
		background-position: center -93%; */
	}	
	.slider-item02 {
		background:url(../images/top/slide_02_sp.jpg);
		background-repeat: no-repeat;
		background-position: 33% center;
		background-size: cover;
	}		
	.slider-item03 {
		background-repeat: no-repeat;
		background-size: cover;
	}	
	.slide_text{
		font-size: 2.5rem;
		transform: translate(-50%, -65%);
	}
	.slick-dots {
		bottom: 0;
		transform: translate(-50%, 100%);
	}
	.mv_btns{
		flex-direction: column;
		justify-content: center;
		width: min(80%, 450px);
		bottom: 6%;
		right: 50%;
		gap: 10px;
		transform: translateX(50%);
	}
	.mv_btns a{
		width: 100%;
		text-align: center;
	}
}

@media screen and (max-height: 680px) and (min-width: 1001px) {
	.mv_btns{
		flex-direction: row;
		justify-content: end;
		gap: 20px;
		right: 10%;
	}
	.mv_btns a{
		width: 30%;
	}
}


/*//源平荘の4つの魅力
-----------------------------------------*/
#sec_attractions{
	position: relative;
}
.attractions{
	position: relative;
	padding-block: 8vw 10vw;
}
#attractions01 > .attractions{
	background: rgba(181, 90, 109, .6) url(../images/top/sec1_bg.png) no-repeat center right / 75%;
	background-size: auto 90%;
	background-blend-mode: darken;
	clip-path: polygon(0 calc(0% + 10vw), 100% 0, 100% 100%, 0 calc(100% - 8vw));
}
#attractions02 > .attractions{
	background: rgba(51, 141, 138, .6) url(../images/top/sec2_bg.png) no-repeat center left / 75%;
	background-size: auto 90%;
	background-blend-mode: darken;
	clip-path: polygon(0 0, 100% calc(0% + 8vw), 100% calc(100% - 15vw), 0 100%);
}
#attractions03 > .attractions{
	background: rgba(172, 130, 0, .6) url(../images/top/sec3_bg.png) no-repeat center right / 75%;
	background-size: auto 90%;
	background-blend-mode: darken;
	clip-path: polygon(0 calc(0% + 15vw), 100% 0, 100% 100%, 0 calc(100% - 8vw));
}
#attractions04 > .attractions{
	background: rgba(57, 128, 48, .6) url(../images/top/sec4_bg.png) no-repeat center left / 75%;
	background-size: auto 90%;
	background-blend-mode: darken;
	clip-path: polygon(0 0, 100% calc(0% + 8vw), 100% calc(100% - 15vw), 0 100%);
}
#attractions01,
#attractions02,
#attractions03,
#attractions04{
	position: relative;
}
#attractions02,
#attractions04{
	margin-top: -8vw;
}
#attractions03{
	margin-top: -15vw;
}
.attractions > .inner{
	max-width: 1200px;
	margin: 0 auto;
}
.attractions > .inner p,
.attractions > .inner .cap{
	font-family: "Sawarabi Gothic", "Times New Roman", "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	text-shadow: 2px 2px 5px rgba(20, 0, 0, 0.5);
}

.attractions > .inner p{
	display: flex;
	justify-content: center;
	width: min(calc(100% - 30px), 980px);
	margin: 40px auto 60px;
}
.attractions > .inner .d_flex.j_center{
	width: min(calc(100% - 30px), 1200px);
	margin: 0 auto;
}
.attractions > .inner .d_flex.j_center > img{
	width: min(50%, calc(50vw - 30px));
}
#attractions01 .icon {
    position: absolute;
	width: min(11.9vw, 230px);
    bottom: -35px;
    right: 0;
    z-index: 1;
}
#attractions02 .icon {
    position: absolute;
	width: min(16.1vw, 310px);
    top: calc(100% - 17vw);
    right: 0;
    z-index: 1;
}
#attractions03 .icon {
    position: absolute;
	width: min(8.6vw, 167px);
    top: 36%;
    left: 0;
}
@media screen and (max-width: 1200px) {
	#attractions03 .icon{
		top: 47%;
	}
}
@media screen and (max-width: 768px) {
	.attractions{
		padding-block: 20%;
	}
	.attractions:not(:has(.util-link)){
		padding-block: 20% 40%;
	}
	#attractions01 > .attractions{
		background: rgba(181, 90, 109, .6) url(../images/top/sec1_bg_sp.png) no-repeat bottom center / 100%;
		clip-path: polygon(0 calc(0% + 15vw), 100% 0, 100% 100%, 0 calc(100% - 15vw));
	}
	#attractions02 > .attractions{
		background: rgba(51, 141, 138, .6) url(../images/top/sec2_bg_sp.png) no-repeat bottom center / 100%;
		clip-path: polygon(0 0, 100% calc(0% + 15vw), 100% calc(100% - 15vw), 0 100%);
	}
	#attractions03 > .attractions{
		background: rgba(172, 130, 0, .6) url(../images/top/sec3_bg_sp.png) no-repeat bottom center / 100%;
		clip-path: polygon(0 calc(0% + 15vw), 100% 0, 100% 100%, 0 calc(100% - 15vw));
	}
	#attractions04 > .attractions{
		background: rgba(57, 128, 48, .6) url(../images/top/sec4_bg_sp.png) no-repeat bottom center / 100%;
		clip-path: polygon(0 0, 100% calc(0% + 15vw), 100% calc(100% - 15vw), 0 100%);
	}
	#attractions02,
	#attractions04{
		margin-top: -15vw;
	}
	.attractions > .inner h3{
		width: 90%;
		margin: 0 auto;
	}
	.attractions > .inner .d_flex.j_center{
		flex-wrap: wrap;
	}
	.attractions > .inner .d_flex.j_center > img{
		width: 100%;
		max-width: none;
	}
	#attractions01 .icon,
	#attractions03 .icon{
		display: none;
	}
	#attractions02 .icon{
		width: min(42.4vw, 159px);
	}
}
@media screen and (max-width: 480px) {	
	.attractions > .inner h3 img{
		transform: scale(.7);
	}
	#attractions02 .attractions > .inner h3 img{
		transform: scale(.87);
	}
}


/*//メイン
-----------------------------------------*/
/*ニュースコンテンツ*/
div#news{
	width:520px;
	margin:0px 0px 40px 0px;
	padding:0px 0px 0px 0px;
}

div#news p{
	margin:0px 0px 10px 0px;
	padding:0px 0px 0px 0px;
}

#sec_info{
	position: relative;
}
#sec_info .icon:nth-of-type(1){
	position: absolute;
	display: block;
	width: min(16.8vw, 324px);
	height: auto;
	top: -15%;
	left: 2%;
	z-index: 1;
}
#sec_info .icon:nth-of-type(2){
	position: absolute;
	width: min(24.8vw, 477px);
	height: auto;
	bottom: -8%;
	right: 0;
}
#sec_info .icon:nth-of-type(3){
	display: none;
}
#newsFeed + a{
	position: relative;
	display: flex;
	justify-content: end;
	align-items: center;
	font-weight: 500;
}
#newsFeed + a::after{
    display: block;
    content: "";
    width: 0;
    height: 0;
    border-left: 12px solid var(--blue);
    border-top: 9px solid transparent;
    border-bottom: 9px solid transparent;
    margin-left: 1rem;
    transition: all 0.3s ease 0s;
}
@media screen and (max-width: 1000px) {
	#sec_info{
		clip-path: polygon(0 calc(0% + 15vw), 100% 0, 100% 100%, 0 100%);
		padding-block: 25vw 10vw;
		margin-top: -15vw;
	}
	#sec_info .icon:nth-of-type(1){
		width: min(27.7vw, 104px);
		top: calc(100% - 24vw);
		right: -5%;
	}
	#sec_info .icon:nth-of-type(2){
		display: none;
	}
	#sec_info .icon:nth-of-type(3){
		position: absolute;
		display: block;
		width: min(47.4vw, 178px);
		top: -10%;
		right: 0;
	}
}

/*フッター　バナー*/
#sec_bnr{
	background: url(../images/top/bottom_bg.png) no-repeat center top / 100%;
	background-size: cover;
	padding-block: 20% 10%;
}

@media screen and (max-width: 768px) {
	#sec_bnr{
		padding-block: 30% 10%;
	}

}
