@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Kaisei+Decol:wght@500;700&family=M+PLUS+1:wght@100..900&display=swap');
/*	font-family: Century, 'Kaisei Decol', '游明朝', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro', serif;	*/
/*///////////////////////////////////////////////////////////////
	var
/////////////////////////////////////////////////////////////////*/
:root {
	--sp-1: min(1vw, 10px);
	--sp-2: min(2vw, 20px);
	--sp-3: min(3vw, 30px);
	--sp-5: min(5vw, 50px);
	--sp-6: min(6vw, 60px);
	--sp-7: min(7vw, 70px);
	--color-red: #cc0000;
	--color-blue: #007cf0;
	--color-dgray: #333333;
	--color-pink: #DF729D;
	--color-mauvetaupe: #91586e;
	--color-cream: #EEE7A8;
	--color-ivory: #FFF7E3;
	--color-gred: #897575;
	--color-brown: #763F3F;
	--fontsize-medium: clamp(0.8rem, 0.415rem + 1.92vw, 2.7rem);
	--fontsize-large: clamp(1.2rem, 0.532rem + 3.34vw, 4.5rem);
	--fontsize-xlarge: clamp(2rem, 1.139rem + 4.3vw, 6.25rem);
}

/*///////////////////////////////////////////////////////////////*/
/* CSS Document */
article, aside, section, nav, header, footer { display: block; }
* { margin: 0; padding: 0; font-size: 100%;}
*, *:after, *::before { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
body {
	position: relative;
	z-index: 0;
	color: var(--color-dgray);
	font-family: Century, 'Noto Serif JP', '游明朝', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro', serif;
	font-weight: 500;
	line-height: 1.1;
	background-color: #e8dac8;
	background-image: url(images/bg_1.jpg);	
}

img:not(.nrs) {
	display: block;
	max-width: 100%;
	height: auto;
	border: 0;
}
a {
	color: #007cf0;
	text-decoration: none;
	transition: .2s;
	
	&:hover {
		color: #ff1d58;
	}
}
a.btn {
	display: inline-block;
	min-width: 4rem;
	padding: 0.1rem 0.8rem;
	color: #fff;
	background-color: var(--color-pink);
	text-align: center;
	line-height: 1;
	text-decoration: none;
	border-radius: 50px;
	transition: .2s;
}
a.btn:hover {
	background-color: var(--color-mauvetaupe);
}
a img {
	transition: .2s;
}
a:hover:not(.roll) img {
	opacity: .5;
	transition: .2s;
}

.nolink {
    color: #000;
    pointer-events: none;
    text-decoration: none;
}

/*///////////////////////////////////////////////////////////////
	common class
/////////////////////////////////////////////////////////////////*/
/* mobile display none */
.mdn { display: none; }
.mdnbr br { display: none; } 
br.nbr { display: none; }
/* mobile display visible */
.mdv { display: block; }
.mdvbr br { display: inline; }

/*.t_font_k {
	font-family: "Kaisei Decol", '游明朝', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro', serif;
}*/
.t_s {
	display: inline-block;
	font-size: 80%;
	font-weight: 700;
	line-height: 1.1;
}
.t_bold {
	font-weight: 700;
}
.t_strong {
	font-weight: 900;
}
.t_blc span {
	display: inline-block;
}
.t_pink {
	color: var(--color-pink);
}

dl {
	> dt {
		display: inline-block;
		min-width: 3rem;
		padding: 0.2rem 0.5rem;
		color: #fff;
		font-size: clamp(0.7rem, 0.538rem + 0.81vw, 1.5rem);
		background-color: var(--color-mauvetaupe);
	}
	> dd {
		padding: var(--sp-2) 0;
		font-size: clamp(0.8rem, 0.415rem + 1.92vw, 2.7rem);
		line-height: 1.3;
	}
}

/*///////////////////////////////////////////////////////////////
	Teaser
/////////////////////////////////////////////////////////////////*/
#tMainImgBox {
	z-index: 1;
	
	#tMainImg {
		width: min(100%, 1456px);
	}
	#logo_anim {
		position: absolute;
		top: 1%;
		left: 1.5%;
		display: block;
		width: clamp(4rem, 2.532rem + 7.34vw, 11.25rem);
	}
}
#tContent {
	position: relative;
	z-index: 2;
	padding: var(--sp-3) var(--sp-6);
}
#tCopy {
	width: min(80%, 748px);
	margin: 0 auto var(--sp-3);
}
#tStaff {
	position: relative;
	margin-bottom: var(--sp-5);
	padding: var(--sp-6) var(--sp-5) min(8vw, 80px);
	background-color: rgba(255,246,242,0.4);
	&::after {
		content: "";
		position: absolute;
		bottom: max(-5vw, -50px);
		right: max(-5vw, -50px);
		display: block;
		width: min(31%,160px);
		height: min(30%, 143px);
		background-image: url(images/teaser/t_flower_1.png);
		background-repeat: no-repeat;
		background-position: top right;
		background-size: contain;
	}
	
	> dl {
		color: var(--color-mauvetaupe);
		text-align: center;
	}
}
#tDate {
	text-align: center;
	color: var(--color-mauvetaupe);
	font-weight: 500;
	letter-spacing: 0.1rem;
	--shadow-color: #fff3d4;
	text-shadow:
	1px 0px 10px var(--shadow-color),
	0px 1px 10px var(--shadow-color),
	1px 1px 10px var(--shadow-color),
	-1px 0px 10px var(--shadow-color),
	0px -1px 10px var(--shadow-color),
	-1px -1px 10px var(--shadow-color),
	0px 0px 10px var(--shadow-color);
	
	> p:first-child {
		font-size: clamp(1.2rem, 0.633rem + 2.84vw, 4rem);
		span.t_pink {
			font-size: var(--fontsize-xlarge);
		}
	}
	> p:last-child {
		font-size: var(--fontsize-large);
		font-weight: 600;
	}
	
}

/*///////////////////////////////////////////////////////////////
	Footer
/////////////////////////////////////////////////////////////////*/
#footer {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	gap: var(--sp-3);
	margin-top: var(--sp-7);
	text-shadow: none;

	.sns_link {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 1rem;
		font-size: clamp(0.8rem, 0.759rem + 0.2vw, 1rem);
	}
	
	> footer {
		text-align: center;
		font-size: clamp(0.8rem, 0.759rem + 0.2vw, 1rem);
		font-weight: 400;
	}
}

@media(667px <= width < 959px){
/*	Tablet -- 667px ~ 959px	*/

	/*/////////// ■TOP■ ///////////*/
	
}/*	Tablet -- end */

@media(960px <= width){
/*	PC -- 960px ~	*/
	body {}
	/*/////////// ■common class■ ///////////*/
	
	/* mobile display none */
	.mdn { display: block; }
	.mdnbr br { display: inline; } 
	br.nbr { display: inline; }
	.mdnsp { display: inline; }
	/* mobile display visible */
	.mdv { display: none; }
	.mdvbr br { display: none; }
	
	/*/////////// ■Teaser■ ///////////*/
	#wrapper {
		width: min(100%, 2000px);
	}
	#tMainImgBox {
		position: absolute;
		top: 0;
		left: 0;
		
		#tTitle {
			position: absolute;
			bottom: 2%;
			left: 2%;
			z-index: 3;
			width: min(45%, 790px);
		}
	}
	#tContent {
		margin-left: auto;
		width: min(55%, 1000px);
	}
	
	
	/*/////////// ■Footer■ ///////////*/
	#footer {
		flex-direction: row;
		justify-content: flex-end;
		gap: var(--sp-1) var(--sp-3);
		
		.sns_link {
		}
		footer {
		}
	}
}/*	PC -- end */


/*///////////////////////////////////////////////////////////////
	Animation
/////////////////////////////////////////////////////////////////*/
@-webkit-keyframes flash {
	from, 50%, to { opacity: 1; }
	 25%, 75% { opacity: 0.2; }
}
@keyframes flash {
	from, 50%, to { opacity: 1; }
	 25%, 75% { opacity: 0.2; }
}