@charset "utf-8";

body {
	font-family: "Yuji Syuku",
		"メイリオ", Meiryo,
		"ヒラギノ角ゴ Pro W3",
		sans-serif;
	font-size: 1.1em;
	color: #333;
	line-height: 1.6;

	background-image: url("../images/back-1.jpg");
	background-repeat: repeat;
	background-attachment: fixed;
	background-color: #b22222;
}

header {
	text-align: center;
	margin: 10px auto;

}

#wrap {
	background-color: #fff;
	width: 900px;
	margin: 20px auto;
	padding: 20px;
	border-radius: 20px;
	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.15);
}


.slider {
	width: 500px;
	margin: 0 auto;
	overflow: hidden;
	border-radius: 50px;
}

.slides {
	display: flex;
	width: calc(500px * 6);
	animation: slideLoop 20s linear infinite;
}

.slides img {
	width: 500px;
	display: block;
}

@keyframes slideLoop {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(-50%);
	}
}

/* keyimg関連 */
.keyimg {
	margin-bottom: 50px;
	padding: 50px 0px;
	height: 320px;
	background: url(../images/key-1.jpg) no-repeat center / cover;
	background-size: 900px 130px;
	background-position: center bottom;
	text-align: center;
}

nav ul {
	display: flex;
	justify-content: center;
	background-color: #f00;
	border-radius: 10px;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
	font-weight: bold;
	font-size: 1.2em;
	display: flex;
	justify-content: center;
}

nav ul li a {
	display: block;
	padding: 10px 30px;
}

nav ul li a {
	display: block;
	padding: 10px 30px;

	transition: all 0.25s ease;
	border-radius: 0;
}

nav ul li a:hover {
	background-color: #c96;
	color: #fff;

	border-radius: 50px;
	/* ←丸くなる */
	transform: scale(1.05);
	/* ←ぷくっ */
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
	/* 浮く */
}

main {
	margin-top: 30px;
}

h2 {
	background-image: url(../images/icon-3.png);
	height: 50px;
	background-repeat: no-repeat;
	background-position: 9px;
	border-bottom: 5px double #c96;
	padding-left: 40px;
	margin: 15px 0 25px;
	font-size: 1.8em;
	font-weight: bold;
}


h3 {
	background-image: url(../images/icon-3.png);
	height: 40px;
	background-repeat: no-repeat;
	background-position: 9px;
	border-bottom: 1px solid #c96;
	padding-left: 40px;
	margin: 15px 0 25px;
	font-size: 1.3em;
	font-weight: bold;
}

p {
	margin-bottom: 16px;
}

p.ookime {
	font-size: 1.15em;
	padding-left: 50px;
}

dl {
	margin-left: 50px;
}

dt {
	margin: 10px 0;
	font-size: 1.2em;
	font-weight: bold;
	background-image: url(../images/ribon-1.png);
	background-repeat: no-repeat;
	background-position: left center;
	padding-left: 33px;
}

dt a {
	position: relative;
	display: inline-block;
}


/* 画像の基本形（ここでサイズ統一） */
dt a::after {
	content: "";
	position: absolute;

	top: 50%;
	left: 150%;

	width: 150px;
	height: 150px;

	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	border-radius: 50%;

	opacity: 0;
	transform: translate(10px, -50%) scale(0.8);
	pointer-events: none;
	transition: opacity 0.3s ease;
}

/* ホバー時：出現＋アニメ開始 */
dt a:hover::after {
	opacity: 1;
	animation: slideFloat 0.6s ease forwards, floatY 2s ease-in-out infinite 0.6s;
}

/* 最初に右へスッと出る */
@keyframes slideFloat {
	0% {
		opacity: 0;
		transform: translate(10px, -50%) scale(0.8);
	}

	100% {
		opacity: 1;
		transform: translate(40px, -50%) scale(1);
	}
}

/* ふわふわ浮く */
@keyframes floatY {
	0% {
		transform: translate(40px, -50%) translateY(0);
	}

	50% {
		transform: translate(40px, -50%) translateY(-6px);
	}

	100% {
		transform: translate(40px, -50%) translateY(0);
	}
}

/* 季節の小物 */
.item1::after {
	background-image: url("../images/m-kisetu2.jpg");
}

/* アクセサリー */
.item2::after {
	background-image: url("../images/akuse.jpg");
}

/* ワークショップ */
.item3::after {
	background-image: url("../images/wa-ku-1.jpg");
}


dd {
	margin-left: 40px;
}



p.tegami {
	padding-left: 180px;
}

#wrap {
	background-color: #fff;
	/* border: solid 1px #c96; */
	padding: 30px;
	width: 900px;
	margin: 30px auto;
}

ul {
	display: flex;
	justify-content: center;
}

ul li a {
	display: block;
	padding: 10px 30px;
}

ul li a:hover {
	background-color: #c96;
	color: #fff;
}

section {
	margin-bottom: 35px;
}

.center {
	text-align: center;
}

#tonari {
	display: flex;
	justify-content: space-evenly;

}

#tonari ul {
	background-color: #fff;
	margin-top: 30px;
}

#tonari ul li a {
	border-radius: 0;
	/* 初期は四角 */
	transition: all 0.3s ease;
	/* なめらかに変化させる */
}

#tonari ul li a:hover {
	background-color: #f00;
	color: #fff;
	border-radius: 50px;
	/* ← ここで丸くなる */
}

#tonari ul .center-img {
	display: block;
	margin: 80px 0;
}


#contact a {
	display: inline-block;
	border-radius: 10px;
	transition: all 0.25s ease;
}

#contact a:hover {
	transform: scale(1.1);
	/* ぷくっ */
	border-radius: 30px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

#contact a:hover {
	transform: scale(1.05);
}

#kanren a {
	display: inline-block;
	transition: all 0.25s ease;
}

#kanren a:hover {
	transform: scale(1.05);
	/* ぷくっ */
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
	border-radius: 30px;
}

#kanren img {
	border-radius: 10px;
	transition: all 0.25s ease;
}

#kanren a:hover img {
	border-radius: 50%;
}


.side-list li {
	margin-bottom: 30px;
	padding: 30px;
}

.side-list p {
	margin-bottom: 15px;
}

footer {
	font-size: 0.8em;
}

#stamp {
	position: absolute;
	top: 100px;
	left: 22%;
	transform: translateX(-50%);

	animation: roll 8s infinite alternate;
}

@keyframes roll {
	0% {
		transform: translateX(-50%) rotate(0deg);
	}

	100% {
		transform: translateX(800px) rotate(720deg);
	}
}