@charset "utf-8";


/*
	伊達市観光WEBアプリ。index用CSS
	index.html

	create	20260128-
*/

/* ---------------------------------------------------------
	約560px未満の画面向けスタイル mobile first
--------------------------------------------------------- */

/* header
------------------------------ */
header {
	height: 64px;
	background: none;
	position: fixed;
}


/* main
---------------------------------------- */
main {
	padding: 0;
}

/* ----- ヒーローイメージ（動画） ----*/
main .heroimage {
	width: 100%;
	aspect-ratio: 16 / 9;
	margin: 0;
	padding: 0;
	background-color: #999;
	overflow: hidden;
/*
	text-align: center;
	height: calc(100vh - 80px);
	overflow: hidden;
	position: relative;
*/
}
main .heroimage iframe {
	width: 100%;
	height: 100%;
	opacity: 0.9;
/*
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 177.77777778vh;
	height: 56.25vw;
	min-height: 100%;
	min-width: 100%;
*/
}


/* ----- クーポン Block ----- */
main .couponBlock {
	padding: 50px 0;
	background-image: url(../img/bgCoupon.svg);
	background-position: center -80px;
	background-repeat: no-repeat;
	background-size: cover;
	background-color: rgba(255, 255, 255, 0.9);
	background-blend-mode: lighten;
}
main .couponBlock .titleSub {
	color: #A4923A;
	font-size: 1.2rem;
	font-weight: bold;
	text-align: center;
	margin: 0;
}
main .couponBlock .titleSub span {
	width: 80px;
	margin: 10px auto 0;
	display: block;
}
main .couponBlock .titleSub span img {
	width: 100%;
}
main .couponBlock h2 {
	width: 322px;
	margin: 0 auto 10px;
}
main .couponBlock h2 img {
	width: 100%;
}
main .couponBlock .couponSlider {
	margin: 0 0 20px;
}
main .couponBlock .couponSlider div a {
	color: #fff;
	text-decoration: none;
	width: calc(100% - 2px);
	min-height: 268px;
	margin: 0;
	padding: 18px 0 8px;
	background-color: var(--cat-taberu);
	border-radius: 8px;
	display: block;
}
main .couponBlock .couponSlider div.cat1 a {
	background-color: var(--cat-miru);
}
main .couponBlock .couponSlider div.cat2 a {
	background-color: var(--cat-taberu);
}
main .couponBlock .couponSlider div.cat3 a {
	background-color: var(--cat-asobu);
}
main .couponBlock .couponSlider div.cat4 a {
	background-color: var(--cat-kau);
}
main .couponBlock .couponSlider div.cat5 a {
	background-color: var(--cat-tomaru);
}
main .couponBlock .couponSlider div.cat6 a {
	background-color: var(--cat-kurasi);
}
main .couponBlock .couponSlider div a .shop {
	font-size: 1.4rem;
	font-weight: bold;
	margin: 0 18px 13px;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	overflow: hidden;
}
main .couponBlock .couponSlider div a .photo {
	margin: 18px 18px 8px;
	padding: 0 0 130px;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	background-color: #ccc;
	border-radius: 8px;
	display: block;
}
main .couponBlock .couponSlider div a .bar {
	font-size: 0;
	line-height: 1;
	margin: 0;
	padding: 0;
	background-color: #fff;
}
main .couponBlock .couponSlider div a .bar img {
	width: 100%;
}
main .couponBlock .couponSlider div a .setumei {
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1.5;
	text-align: left;
	margin: 8px 18px 18px;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}
main .couponBlock .btnMore {
	width: 222px;
	margin: 0 auto;
}
main .couponBlock .btnMore a {
	width: 100%;
	margin: 0;
	padding: 15px 20px;
	background-color: #fff;
	border: 3px solid #000;
	display: block;
	box-shadow: 0px 2px 3px rgba(0,0,0,0.3);
}
main .couponBlock .btnMore a img {
	width: 100%;
}

/* ----- スポット Block ----- */
main .spotBlock {
	padding: 50px 0;
	background-color: #ECECEC;
}
main .spotBlock .titleSub {
	color: #A4923A;
	font-size: 1.2rem;
	font-weight: bold;
	text-align: center;
	margin: 0 auto;
}
main .spotBlock .titleSub span {
	width: 120px;
	margin: 10px auto 0;
	display: block;
}
main .spotBlock .titleSub span img {
	width: 100%;
}
main .spotBlock h2 {
	width: 282px;
	margin: 0 auto 10px;
}
main .spotBlock h2 img {
	width: 100%;
}
main .spotBlock .btnMore {
	width: 222px;
	margin: 0 auto;
}
main .spotBlock .btnMore a {
	width: 100%;
	margin: 0;
	padding: 15px 20px;
	background-color: #fff;
	border: 3px solid #000;
	display: block;
	box-shadow: 0px 2px 3px rgba(0,0,0,0.3);
}
main .spotBlock .btnMore a img {
	width: 100%;
}
main .spotBlock .spotIndex {
	margin: 0 10px 20px;
}
main .spotBlock .spotIndex ul {
	list-style: none;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
}
main .spotBlock .spotIndex ul li {
	width: calc(50% - 5px);
	background-color: #333;
}
main .spotBlock .spotIndex ul li:nth-child(1),
main .spotBlock .spotIndex ul li:nth-child(6) {
	width: calc(45% - 5px);
}
main .spotBlock .spotIndex ul li:nth-child(2),
main .spotBlock .spotIndex ul li:nth-child(5) {
	width: calc(55% - 5px);
}
main .spotBlock .spotIndex ul li a {
	width: 100%;
	padding: 0 0 145px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	position: relative;
	border: 3px solid #000;
	display: block;
	opacity: 0.8;
}
main .spotBlock .spotIndex ul li a:hover {
	opacity: 1.0;
}
main .spotBlock .spotIndex ul li a span {
	width: 66px;
	display: inline-block;
	position: absolute;
	top: 10px;
	left: 10px;
}
main .spotBlock .spotIndex ul li a span img {
	width: 100%;
}
main .spotBlock .spotIndex ul li:nth-child(2) a span,
main .spotBlock .spotIndex ul li:nth-child(5) a span,
main .spotBlock .spotIndex ul li:nth-child(6) a span {
	width: 88px;
}

/* ----- イベント Block ----- */
main .eventBlock {
	padding: 50px 0;
	background-image: url(../img/bgEventSp.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	background-color: rgba(255, 255, 255, 0.9);
	background-blend-mode: lighten;
}
main .eventBlock .titleSub {
	color: #A4923A;
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
	width: 140px;
	margin: 0 auto;
}
main .eventBlock .titleSub span {
	margin: 10px 0 0 0;
	display: block;
}
main .eventBlock .titleSub span img {
	width: 100%;
}
main .eventBlock h2 {
	width: 368px;
	margin: 0 auto 10px;
}
main .eventBlock h2 img {
	width: 100%;
}
main .eventBlock .eventIndex {
	margin: 0 10px 30px;
}
main .eventBlock .eventIndex ul {
	list-style: none;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
}
main .eventBlock .eventIndex ul li {
	width: calc(50% - 5px);
	background-color: #333;
	position: relative;
}
main .eventBlock .eventIndex ul li a {
	width: 100%;
	padding: 0 0 195px;
	border: 3px solid #000;
	display: block;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	opacity: 0.8;
}
main .eventBlock .eventIndex ul li a:hover {
	opacity: 1;
}
main .eventBlock .eventIndex ul li span {
	position: absolute;
}
main .eventBlock .eventIndex ul li.spring span {
	width: 100px;
	top: -10px;
	left: -10px;
}
main .eventBlock .eventIndex ul li.summer span {
	width: 115px;
	bottom: -11px;
	left: -5px;
}
main .eventBlock .eventIndex ul li.autumn span {
	width: 118px;
	top: -10px;
	right: 5px;
}
main .eventBlock .eventIndex ul li.winter span {
	width: 100px;
	bottom: -13px;
	right: -8px;
}
main .eventBlock .eventIndex ul li span img {
	width: 100%;
}
main .eventBlock .btnMore {
	width: 222px;
	margin: 0 auto;
}
main .eventBlock .btnMore a {
	width: 100%;
	margin: 0;
	padding: 12px 44px;
	background-color: #fff;
	border: 3px solid #000;
	display: block;
	box-shadow: 0px 2px 3px rgba(0,0,0,0.3);
}
main .eventBlock .btnMore a img {
	width: 100%;
}


/* ----- インフォ Block ----- */
main .infoBlock {
	padding: 50px 0;
	background-image: url(../img/bgInfo.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	background-color: rgba(255, 255, 255, 0.9);
	background-blend-mode: lighten;
}
main .infoBlock .titleSub {
	color: #A4923A;
	font-size: 1.2rem;
	font-weight: bold;
	text-align: center;
	margin: 0 auto;
}
main .infoBlock .titleSub span {
	width: 80px;
	margin: 10px auto 0;
	display: block;
}
main .infoBlock .titleSub span img {
	width: 100%;
}
main .infoBlock h2 {
	width: 368px;
	margin: 0 auto 10px;
}
main .infoBlock h2 img {
	width: 100%;
}
main .infoBlock .infoList {
	margin: 0 10px 30px;
}
main .infoBlock .infoList ul {
	list-style: none;
	display: flex;
	justify-content: left;
	flex-wrap: wrap;
	gap: 10px;
}
main .infoBlock .infoList ul li {
	width: calc(50% - 5px);
	border: 3px solid #000;
}
main .infoBlock .infoList ul li a {
	color: #000;
	font-size: 1.4rem;
	line-height: 1.5;
	text-decoration: none;
	width: 100%;
	background-color: #fff;
	display: block;
}
main .infoBlock .infoList ul li a .photo {
	width: 100%;
	padding: 0 0 222px;
	background-color: #ccc;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	border-bottom: 2px solid #000;
	display: block;
	opacity: 0.8;
}
main .infoBlock .infoList ul li a:hover .photo {
	opacity: 1;
}
main .infoBlock .infoList ul li a .infoText {
	text-align: left;
	padding: 30px 10px 10px;
	position: relative;
	display: block;
}
main .infoBlock .infoList ul li a .infoText date {
	color: #fff;
	font-size: 1.4rem;
	font-weight: bold;
	padding: 1px 5px;
	background-color: #000;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}
main .infoBlock .infoList ul li a .infoText .event {
	display: flex;
	justify-content: left;
	position: absolute;
	top: -20px;
	left: 0;
}
main .infoBlock .infoList ul li a .infoText .event .dayS {
	color: #fff;
	font-size: 1rem;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
	width: 50px;
	margin: 0;
	padding: 5px 0;
	background-color: #000;
	border-radius: 26px;
}
main .infoBlock .infoList ul li a .infoText .event .dayS span {
	font-size: 1.2rem;
	font-weight: bold;
	margin: 1px 0;
	display: block;
}
main .infoBlock .infoList ul li a .infoText .event .dayE {
	color: #fff;
	font-size: 1rem;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
	width: 50px;
	margin: 0 0 0 -3px;
	padding: 5px 0;
	background-color: #666666;
	border-radius: 26px;
}
main .infoBlock .infoList ul li a .infoText .event .dayE span {
	font-size: 1.2rem;
	font-weight: bold;
	margin: 1px 0;
	display: block;
}
main .infoBlock .infoList ul li a .infoText h4 {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}
main .infoBlock .infoList ul li a .infoText .markRight {
	color: #fff;
	font-size: 1.4rem;
	font-weight: bold;
	padding: 1px 5px;
	background-color: #f00;
	position: absolute;
	top: 0;
	right: 0;
}
main .infoBlock .btnMore {
	width: 222px;
	margin: 0 auto;
}
main .infoBlock .btnMore a {
	width: 100%;
	margin: 0;
	padding: 15px 20px;
	background-color: #fff;
	border: 3px solid #000;
	display: block;
	box-shadow: 0px 2px 3px rgba(0,0,0,0.3);
}
main .infoBlock .btnMore a img {
	width: 100%;
}

/* ----- インスタグラム Block ----- */
main .instaBlock {
	padding: 50px 0;
	background-color: #ECFFFE;
}
main .instaBlock .titleSub {
	color: #A4923A;
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
	margin: 0 auto;
}
main .instaBlock .titleSub span {
	width: 138px;
	margin: 10px auto 0;
	display: block;
}
main .instaBlock .titleSub span img {
	width: 100%;
}
main .instaBlock h2 {
	width: 368px;
	margin: 0 auto 10px;
}
main .instaBlock h2 img {
	width: 100%;
}
main .instaBlock .instaBox {
	padding: 0 10px;
}
main section:last-of-type {
	padding-bottom: 100px;
}



/* footer
---------------------------------------- */



@media screen and (min-width: 414px){
	/*	約414px以上の画面向けスタイル second tablet */

	main .heroimage iframe {
/*		height: 233px; */
	}
}



@media screen and (min-width: 560px){
	/*	約560px以上の画面向けスタイル second tablet */

	/* header
	---------------------------------------- */



	/* main
	---------------------------------------- */



	/* footer
	---------------------------------------- */

}



@media screen and (min-width: 740px){
	/*	約740px以上の画面向けスタイル second tablet */

	/* header
	---------------------------------------- */


	/* main
	---------------------------------------- */
	main .heroimage iframe {
/*		height: 432px; */
	}

	/* ----- クーポン Block ----- */
	main .couponBlock {
		padding: 80px 0;
		overflow: hidden;
	}
	main .couponBlock .titleSub {
		font-size: 1.4rem;
	}
	main .couponBlock .titleSub span {
		width: 90px;
	}
	main .couponBlock h2 {
		width: 372px;
		margin: 0 auto 15px;
	}

	/* ----- スポット Block ----- */
	main .spotBlock {
		padding: 80px 0;
	}
	main .spotBlock .titleSub {
		font-size: 1.4rem;
	}
	main .spotBlock .titleSub span {
		width: 130px;
		margin: 10px auto 0;
	}
	main .spotBlock h2 {
		width: 312px;
		margin: 0 auto 15px;
	}
	main .spotBlock .spotIndex ul li:nth-child(2),
	main .spotBlock .spotIndex ul li:nth-child(5) {
		width: calc(33% - 5px);
	}
	main .spotBlock .spotIndex ul li:nth-child(1),
	main .spotBlock .spotIndex ul li:nth-child(6) {
		width: calc(28% - 5px);
	}
	main .spotBlock .spotIndex ul li:nth-child(3),
	main .spotBlock .spotIndex ul li:nth-child(4) {
		width: calc(38% - 5px);
	}
	/* ----- イベント Block ----- */
	main .eventBlock {
		padding: 80px 0;
		background-image: url(../img/bgEvent.svg);
	}
	main .eventBlock .titleSub {
		font-size: 1.4rem;
	}
	main .eventBlock .titleSub span {
		width: 155px;
		margin: 10px auto 0;
	}
	main .eventBlock h2 {
		width: 422px;
		margin: 0 auto 15px;
	}
	main .eventBlock .eventIndex ul li {
		width: calc(25% - 8px);
	}
	main .eventBlock .eventIndex ul li a {
		padding: 0 0 222px;
	}
	main .eventBlock .eventIndex ul li.spring span {
		width: 90px;
	}
	main .eventBlock .eventIndex ul li.summer span {
		width: 100px;
	}
	main .eventBlock .eventIndex ul li.autumn span {
		width: 100px;
	}
	main .eventBlock .eventIndex ul li.winter span {
		width: 90px;
	}

	/* ----- インフォ Block ----- */
	main .infoBlock {
		padding: 80px 0;
	}
	main .infoBlock .titleSub {
		font-size: 1.4rem;
	}
	main .infoBlock .titleSub span {
		width: 88px;
		margin: 10px auto 0;
	}
	main .infoBlock h2 {
		width: 424px;
		margin: 0 auto 15px;
	}
	main .infoBlock .infoList ul li {
		width: calc(25% - 8px);
	}

	/* ----- インスタグラム Block ----- */
	main .instaBlock {
		padding: 80px 0;
	}
	main .instaBlock .titleSub {
		font-size: 1.4rem;
	}
	main .instaBlock .titleSub span {
		width: 152px;
		margin: 10px auto 0;
	}
	main .instaBlock h2 {
		width: 428px;
	}
	main .instaBlock .instaBox {
		display: flex;
		justify-content: space-between;
		gap: 10px;
	}
	main .instaBlock .instaBox p {
		width: calc(50% - 10px);
	}


	/* footer
	---------------------------------------- */

}



@media screen and (min-width: 980px){
	/*	約980px以上の画面向けスタイル pc style */

	/* header
	------------------------------ */
	header {
		height: 68px;
		padding: 0;
		position: absolute;
		top: 20px;
		right: 0;
	}
	header .naviBlock {
		padding: 15px 22px 15px 38px;
	}


	/* main
	---------------------------------------- */
	/* ----- ヒーローイメージ（動画） ----*/
	main .heroimage iframe {
/*		height: 576px; */
	}

	/* ----- スポット Block ----- */
	main .spotBlock .spotIndex ul li a {
		padding: 0 0 200px;
	}
	main .spotBlock .spotIndex ul li a span {
		width: 84px;
	}
	main .spotBlock .spotIndex ul li:nth-child(2) a span,
	main .spotBlock .spotIndex ul li:nth-child(5) a span,
	main .spotBlock .spotIndex ul li:nth-child(6) a span {
		width: 118px;
	}

	/* ----- イベント Block ----- */
	main .eventBlock .eventIndex ul li a {
		padding: 0 0 300px;
	}
	main .eventBlock .eventIndex ul li.spring span {
		width: 110px;
	}
	main .eventBlock .eventIndex ul li.summer span {
		width: 120px;
	}
	main .eventBlock .eventIndex ul li.autumn span {
		width: 120px;
	}
	main .eventBlock .eventIndex ul li.winter span {
		width: 110px;
	}



	/* footer
	---------------------------------------- */

}



@media screen and (min-width: 1200px){
	/*	約1200px以上の画面向けスタイル pc style */

	/* main
	---------------------------------------- */
	/* ----- ヒーローイメージ（動画） ----*/
	main .heroimage iframe {
/*		height: 763px; */
	}

	/* ----- クーポン Block ----- */
	main .couponBlock {
		padding: 100px 0;
	}
	main .couponBlock .titleSub {
		font-size: 1.6rem;
	}
	main .couponBlock .titleSub span {
		width: 96px;
	}
	main .couponBlock h2 {
		width: 422px;
		margin: 0 auto 20px;
	}

	/* ----- スポット Block ----- */
	main .spotBlock {
		padding: 100px calc(50% - 600px);
	}
	main .spotBlock .titleSub {
		font-size: 1.6rem;
	}
	main .spotBlock .titleSub span {
		width: 144px;
		margin: 10px auto 0;
	}
	main .spotBlock h2 {
		width: 368px;
		margin: 0 auto 20px;
	}
	main .spotBlock .spotIndex ul li a {
		padding: 0 0 245px;
	}
	main .spotBlock .spotIndex ul li a span {
		width: 96px;
	}
	main .spotBlock .spotIndex ul li:nth-child(2) a span,
	main .spotBlock .spotIndex ul li:nth-child(5) a span,
	main .spotBlock .spotIndex ul li:nth-child(6) a span {
		width: 128px;
	}

	/* ----- イベント Block ----- */
	main .eventBlock {
		padding: 100px calc(50% - 600px);
	}
	main .eventBlock .titleSub {
		font-size: 1.6rem;
	}
	main .eventBlock .titleSub span {
		width: 168px;
		margin: 10px auto 0;
	}
	main .eventBlock h2 {
		width: 484px;
		margin: 0 auto 20px;
	}
	main .eventBlock .eventIndex ul li a {
		padding: 0 0 325px;
	}
	main .eventBlock .eventIndex ul li.spring span {
		width: 120px;
	}
	main .eventBlock .eventIndex ul li.summer span {
		width: 135px;
	}
	main .eventBlock .eventIndex ul li.autumn span {
		width: 138px;
	}
	main .eventBlock .eventIndex ul li.winter span {
		width: 130px;
	}

	/* ----- インフォ Block ----- */
	main .infoBlock {
		padding: 100px calc(50% - 600px);
	}
	main .infoBlock .titleSub {
		font-size: 1.6rem;
	}
	main .infoBlock .titleSub span {
		width: 96px;
		margin: 10px auto 0;
	}
	main .infoBlock h2 {
		width: 480px;
		margin: 0 auto 20px;
	}
	main .infoBlock .infoList ul li a .infoText {
		padding: 40px 15px 15px;
	}
	main .infoBlock .infoList ul li a .infoText h4 {
		font-size: 1.6rem;
	}
	main .infoBlock .infoList ul li a .photo {
		padding: 0 0 333px;
	}
	main .infoBlock .infoList ul li a .infoText .event {
		top: -30px;
	}
	main .infoBlock .infoList ul li a .infoText .event .dayS {
		font-size: 1rem;
		width: 60px;
		padding: 8px 0;
		border-radius: 30px;
	}
	main .infoBlock .infoList ul li a .infoText .event .dayS span {
		font-size: 1.6rem;
	}
	main .infoBlock .infoList ul li a .infoText .event .dayE {
		font-size: 1rem;
		width: 60px;
		padding: 8px 0;
		border-radius: 30px;
	}
	main .infoBlock .infoList ul li a .infoText .event .dayE span {
		font-size: 1.6rem;
	}

	/* ----- インスタグラム Block ----- */
	main .instaBlock {
		padding: 100px calc(50% - 600px);
	}
	main .instaBlock .titleSub {
		font-size: 1.4rem;
	}
	main .instaBlock .titleSub span {
		width: 164px;
		margin: 10px auto 0;
	}
	main .instaBlock h2 {
		width: 460px;
		margin: 0 auto 20px;
	}

	/* footer
	---------------------------------------- */

}
