@charset "UTF-8";

html {
	font-size: 100%;
}

.main {
	max-width: 2000px;
	margin: 0 auto;
}

body {
	font-family: "Noto Sans JP",遊ゴシック,"Yu Gothic",メイリオ,Meiryo,"ヒラギノ角ゴ ProN W3",HiraKakuProN-W3,sans-serif;
}

img {
	max-width: 100%;
}

.wrapper {
	background: url(../img/back03.png);
	padding-top: 30px;
	border-top: 10px solid #ffa8a8;
	border-bottom: 10px solid #ffa8a8;
}

.button {
	width: 92%;
	margin: 0 auto 30px;
}

.top-btn {
	width: 4rem;
	padding: 0.2rem;
	font-size: 1.5rem;
	color: red;
	font-weight: bold;
	text-align: center;
	border-bottom: 2px solid #888;
}

.top-btn:hover {
	color: LimeGreen;
}

.title {
	font-size: 1.5rem;
	color: #9400D3;
	font-weight: bold;
	text-align: center;	
	margin-bottom: 30px;
}

.type {
	margin: 0 auto 15px;
	width: 90%;
	padding: 15px 0;
	font-size: 1rem;
	border-bottom: 2px solid lime;
}

.star01,
.star02 {
	font-size: 2em;
}

.star01 {
	color: red;
}

.star02 {
	color: blue;
}

.group {
	font-size: 1.5em;
}

.pieces {
	font-size: 1em;
}

.cookie {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
	padding: 30px;
}

.snowball,
.sable {
	margin: 0 auto;
	padding: 0 10px;
	text-align: center;
	border: 2px violet solid;
	border-radius: 30px;
}

.snowball img,
.sable img {
	width: 250px;
	border-radius: 50%;
}

.s-type {
	font-size: 1.3rem;
	padding: 1rem 0;
	text-align: center;
}

.taste {
	padding: 1.5rem 0;
	font-size: 0.8rem;
	line-height: 1.5;
	text-align: justify;
}

.note {
	padding-top: 50px;
	line-height: 1.5;
	text-align: justify;
	font-size: 1.1rem;
	padding-left: 1em;
	text-indent: -1em;
}


@keyframes coin_rotation_01 {
	0% {
		transform: rotateY(0deg);
	}

	100% {
		transform: rotateY(360deg);
	}
}

.coin01,
.coin02 {
	position: relative;
	width: 100px;
	height: 100px;
	transform-style: preserve-3d;
}

.coin01,
.coin02 {
	animation: coin_rotation_01 8s linear infinite;
}

.coin01,
.coin02 {
	margin: 150px auto;
}

.parts {
	position: absolute;
	top: 0;
	left: 0;
}

.front,
.back {
	width: 100px;
	height: 100px;
	border-radius: 100%;
	background: #ffd400;
}

.inner {
	margin: 7px 0 0 7px;
	width: 86px;
	height: 86px;
	border-radius: 100%;
	font-family: 遊ゴシック,"Yu Gothic", sans-serif;
	font-weight: bold;
	font-size: 25px;
	line-height: 86px;
}

.inner {
	background: #e5c10b !important;
	box-shadow: inset 0 0 0 2px #cca83d;
	color: #ffd400;
	text-align: center;
	text-shadow: 2px 2px 0 #cca83d;
}

.front {
 	transform: translateZ(3px);
}

.front.inner {
 	transform: translateZ(4px);
}

.back {
	transform: translateZ(-3px);
}

.back.inner {
	transform: translateZ(-4px);
}

.side {
	left: 47px;
	width: 6px;
	height: 100px;
	background: #ffd400;
	transform: rotateY(90deg);
}

.coin01,
.coin02 {
	display: none;
}

.price {
	grid-row: 4 / 5;
	grid-column: 1 / 3;
	margin: 0 auto;
	padding-top: 10px;
	display: grid;
	place-content: center;
	place-items: center;
}

.speech-bubble {
	width: 230px;
	margin: 0 auto;
}

.balloon {
	display: inline-block;
	width: 230px;
	height: 230px;
	padding-top: 15px;
	font-size: 57px;
	font-weight: bold;
	text-align: center;
	line-height: 1.5;
	color: #333;
	background: #fff;
	border: solid 3px #333;
	border-radius: 50%;
	position: relative;
}

.balloon::before {
	content: "";
	position: absolute;
	width: 3px;
	height: 24px;
	background: #333;
	bottom: -18px;
	left: 0;
	right: 0;
	margin: auto;
	z-index: 2;
}

.balloon::after {
	content: "";
	position: absolute;
	width: 15px;
	height: 7px;
	background: #fff;
	bottom: -3px;
	margin: auto;
}

.balloon .behind {
	background: #5bd4c4;
	border-radius: 50%;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 7px;
	left: 7px;
	mix-blend-mode: multiply;
	z-index: 2;
}

.character {
	width: 320px;
	margin: 0 auto;
}

.photo {
	margin: 30px auto 60px;
	text-align: center;
}

.photo img {
	width: 300px;
	box-shadow: 5px 5px #4169E1, -5px -5px #ff00ff;
	border-radius: 5px;
}

.title02 {
	padding: 30px 0;
	font-size: 1.5rem;
	text-align: center;
}

.container {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.gift01,
.gift02 {
	width: 310px;
	margin: 30px;
	padding: 10px;
	border-radius: 10px;
	font-family: "Noto Sans JP",sans-serif;
	font-size: 1.3rem;
	font-weight: bolder;
	line-height: 2;
	text-align: center;
}

.gift01 span,
.gift02 span {
	font-size: 1rem;
}

.gift01 {
	border: 3px blue solid;
}

.gift02 {
	border: 3px red solid;
}

.gift-photo {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	text-align: center;
	align-items: center;
}

.gift-photo02 {
	order: 2;
}

.gift-photo img {
	width: 310px;
	margin: 30px;
	border: 1px solid tomato;
	border-radius: 10px;
}

.gift-photo02 img {
	border-radius: 50%;
}

.note02 {
	max-width: 44.5rem;
	margin: 0 auto 70px;
	padding: 0 25px;
	line-height: 1.7;
	text-align: justify;
	font-size: 1.15rem;
	padding-left: 2em;
	text-indent: -1em;
}

#page-top {
	position: fixed;
	bottom: 40px;
	right: 30px;
	font-size: 14px;
	line-height: 1.3;
	z-index: 99;
}

#page-top a {
	background: rgba(0,0,255,0.8);
	text-decoration: none;
	color: #fff;
	width: 80px;
	padding: 10px 5px;
	text-align: center;
	display: block;
	border-radius: 15px;
	opacity: 0.9;
	transition: all .3s ease;
}

#page-top a:hover {
	text-decoration: none;
	opacity: .5;
}

.page-footer {
	width:100%;
	text-align: center;
	color: blue;
	margin-bottom: 5px;
}


@media screen and (max-width: 375px){
	.title {
		font-size: 1.3rem;
	}

	.type {
		font-size: 0.8rem;
	}

	.cookie {
		margin: 0 auto;
		display: initial;
	}

	.snowball,
	.sable {
		margin: 30px 25px;
	}

	.s-type {
		font-size: 1.2rem;
	}

	.note {
		padding: 5px 20px 20px 30px;
	}

	.gift01,
	.gift02 {
		font-size: 1.1rem;
	}

	.gift01 span,
	.gift02 span {
		font-size: 0.75em;
	}	
	
	.gift-photo img {
		width: 280px;
	}
		
	.note02 {
		font-size: 1rem;
	}
}


@media screen and (min-width: 550px){
	.title {
		font-family: "Rampart One", sans-serif;
		font-size: 2rem;
		text-align: center;
	}

	.taste {
		padding: 1.5rem 0.5rem;
	}
}


@media screen and (min-width: 768px){
	.coin01,
	.coin02 {
		display: block;
	}

	.cookie {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		gap: 30px;
	}

	.price {
		grid-row: 3 / 4;
		grid-column: 1 / 4;
	}

	.character {
		width: 400px;
	}
		
	.title {
		font-size: 2.7rem;
	}

	.type {
		font-size: 1.25rem;
	}

	.pieces {
		font-size: 1.12em;
	}

	.s-type {
		font-size: 1.7rem;
	}

	.taste {
		font-size: 1rem;
		line-height: 1.7;
	}

	.note {
		font-size: 1.2rem;
		line-height: 1.7;
	}

	.photo img {
		width: 400px;
	}

	.title02 {
		font-size: 1.7rem;
	}
}


@media screen and (min-width: 800px){
	.snowball {
		max-width: 400px;
	}
}


@media screen and (min-width: 1000px){
	.coin01,
	.coin02 {
		display: none;
	}

	.type {
		width: 95%;
	}

	.cookie {
		max-width: initial;
		display: grid;
		grid-template-columns: 1fr 1fr 1fr 1fr;
		gap: 30px;
	}

	.note00 {
		position: relative;
	}

	.note {
		width: 300px;
		position: absolute;
		top: 0;
		left: 0;
	}

	.price {
		grid-row: 2 / 3;
		grid-column: 3 / 5;
	}

	.photo img {
		width: 500px;
	}

	.title02 {
		font-size: 2rem;
	}
}


@media screen and (min-width: 1110px){
	.note {
		width: 360px;
	}

	.gift-photo02 {
		order: 0;
	}

	.gift-photo02 img {
		width: 280px;
	}
}


@media screen and (min-width: 1300px){
	.note {
		width: 410px;
	}
}


@media screen and (min-width: 1400px){
	.taste {
		padding: 1.5rem 1rem;
	}
	
	.note {
		width: 470px;
	}
}