/* 共通要素 */
/* * {
	border: 1px lightgray solid;
} */


html {
	font-size: 62.5%;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	overflow-scrolling: touch;
}

body {
	margin: 0;
	max-width: 100%;
	font-size: 1.6rem;
	letter-spacing: .1rem;
	/*	font-family:'Ryumin Light KL';*/
	font-family: "Zen Old Mincho", serif;
	font-weight: 400;
}

h1,
h2,
.catch-phrase {
	/*	font-family:'Shuei Mincho M';*/
	font-family: "Zen Old Mincho", serif;
	font-weight: 400;
	color: #3e4c6a;
}

img.block {
	display: block;
	width: 100%;
}

.text-block {
	margin: 0 auto;
	width: 580px;
	line-height: 3.2rem;
}

.is-pc {
	display: block !important;
}

.is-sp {
	display: none !important;
}

.gothic {
	font-family: "A1ゴシック L", "ヒラギノ角ゴ W3 JIS2004", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
}

.gothic-bold {
	font-family: "A1ゴシック R", "ヒラギノ角ゴ W3 JIS2004", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
}


.goup {
	position: fixed;
	right: 1rem;
	bottom: 1rem;
}

.goup a i {
	color: #4fcee9;
	font-size: 4rem;
}

.goup a i:hover {
	opacity: 1;
	transition: opacity 0.3s ease-out;
}

@media screen and (max-width: 768px) {
	body {
		margin: 0;
		font-size: 1.5rem;
	}

	.text-block {
		padding: 0 30px;
		width: 100%;
		box-sizing: border-box;
		line-height: 2.8rem;
	}

	.is-pc {
		display: none !important;
	}

	.is-sp {
		display: block !important;
	}
}

@media screen and (max-width: 380px) {
	.text-block {
		padding: 0 20px;
	}
}

/* キービ */
h1 {
	margin: 0;
	padding: 10px 0;
	position: relative;
	z-index: 12;
}

#site-logo {
	margin: 0 auto;
	padding: 10px 0;
	width: 142px;
}

#key-visual {
	position: relative;
	width: 100%;
	height: 100vh;
	min-height: 900px;
}

#key-title {
	width: 440px;
	height: 444px;
	background-image: url(../img/title.png);
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	z-index: 11;
}

#key-visual p {
	text-indent: -9999px;
}

#key-visual .to-store-list {
	width: 400px;
	position: absolute;
	bottom: -110px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
}

#video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	-o-object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

#key-visual button {
	width: 30px;
	height: 30px;
	padding: 5px 15px 15px;
	background-color: #4fcee9;
}

.drawer-hamburger {
	z-index: 13;
}

.drawer-hamburger-icon,
.drawer-hamburger-icon:after,
.drawer-hamburger-icon:before {
	height: 3px;
	background-color: white;
}

.drawer-menu-item {
	font-size: 1.6rem;
}

.drawer-nav {
	padding: 20px;
	width: 200px;
	z-index: 20000;
}

.drawer--right .drawer-nav {
	right: -240px;
}

.drawer--right.drawer-open .drawer-hamburger {
	right: 240px;
}

@media screen and (max-width: 1100px) {}

@media screen and (max-width: 768px) {
	#site-logo {
		width: 120px;
		padding: 0 0;
	}

	#key-visual {
		min-height: auto;
	}

	#key-title {
		width: 360px;
		height: 360px;
	}
}

@media screen and (max-width: 480px) {
	#key-title {
		max-width: 90%;
		margin: 0 auto;
		padding-top: 90%;
		height: 0;
	}
}

/* Story */
#story {
	width: 100%;
	height: auto;
	padding-bottom: 100px;
	background-image: url(../img/back.jpg);
	background-size: cover;
}

#story>* {
	margin: 0;
	color: white;
	text-align: center;
	font-family: A1明朝;
}

#story .lead-text {
	margin: 0;
	padding: 140px 0 60px;
	font-size: 2.8rem;
	line-height: 4.2rem;
}

#story .concept {
	font-size: 1.8rem;
	line-height: 3.2rem;
}

#story h2 {
	padding: 80px 0 30px;
	font-size: 9rem;
	font-family: eb-garamond, serif;
	font-weight: 400;
	font-style: normal;
}

#story .message {
	font-size: 2.4rem;
	line-height: 3.8rem;
}

#story .main-text {
	width: 700px;
	margin: 0 auto;
	font-size: 1.6rem;
	line-height: 3rem;
	text-align: justify;
}

#char-list {
	margin-top: 60px;
	height: 460px;
	position: relative;
	overflow-x: hidden;
}

#char-list>div {
	position: absolute;
}

#char-list .char1 {
	width: 542px;
	height: 290px;
	top: 26px;
	left: 50%;
	margin-left: -35px;
	transform: translateX(200px);
	-webkit-transform: translateX(200px);
	z-index: 2;
}

#char-list .char2 {
	width: 130px;
	height: 98px;
	top: 120px;
	left: 50%;
	margin-left: -160px;
	z-index: 2;
}

#char-list .char3 {
	width: 403px;
	height: 387px;
	top: 0;
	left: 50%;
	margin-left: -220px;
	z-index: 1;
}

@media screen and (max-width: 1019px) {
	#story {
		padding-bottom: 80px;
	}

	#story .lead-text {
		padding: 100px 0 50px;
		font-size: 2.4rem;
		line-height: 3.8rem;
	}

	#story .concept {
		font-size: 1.8rem;
		line-height: 3.2rem;
	}

	#story h2 {
		padding: 60px 0 30px;
		font-size: 7rem;
	}

	#story .message {
		font-size: 2rem;
		line-height: 3.2rem;
	}

	#story .main-text {
		max-width: 700px;
		width: 100%;
	}

	#char-list {
		margin-top: 30px;
		height: 380px;
	}

	#char-list>div {
		position: absolute;
	}

	#char-list .char1 {
		width: 420px;
		margin-left: -35px;
	}

	#char-list .char2 {
		width: 90px;
		top: 100px;
		margin-left: -120px;
	}

	#char-list .char3 {
		width: 320px;
		height: 310px;
		margin-left: -180px;
	}
}

@media screen and (max-width: 768px) {
	#story {
		padding-bottom: 60px;
	}

	#story .lead-text {
		padding: 80px 0 40px;
		font-size: 2.4rem;
		line-height: 3.8rem;
	}

	#story .concept {
		font-size: 1.8rem;
		line-height: 3.2rem;
	}

	#story h2 {
		padding: 50px 0 30px;
		font-size: 6rem;
	}

	#story .message {
		font-size: 2rem;
		line-height: 3.2rem;
	}

	#story .main-text {
		max-width: 700px;
		width: 100%;
		padding: 0 20px;
		box-sizing: border-box;
	}

	#char-list {
		margin-top: 30px;
		height: 320px;
		overflow: hidden;
	}

	#char-list>div {
		position: absolute;
	}

	#char-list .char1 {
		width: 320px;
		margin-left: -35px;
	}

	#char-list .char2 {
		width: 70px;
		top: 82px;
		margin-left: -104px;
	}

	#char-list .char3 {
		width: 280px;
		height: 270px;
		margin-left: -160px;
	}
}

@media screen and (max-width: 480px) {
	#story {}

	#story .lead-text {
		padding: 60px 0 30px;
		font-size: 2.2rem;
		line-height: 3.6rem;
	}

	#story .concept {
		font-size: 1.6rem;
		line-height: 3rem;
	}

	#story h2 {
		padding: 40px 0 20px;
		font-size: 6rem;
	}

	#story .message {
		font-size: 2rem;
		line-height: 3.2rem;
	}

	#char-list {
		margin-top: 30px;
		height: 260px;
		overflow: hidden;
	}

	#char-list>div {
		position: absolute;
	}

	#char-list .char1 {
		width: 240px;
		margin-left: -40px;
	}

	#char-list .char2 {
		width: 50px;
		top: 70px;
		margin-left: -90px;
	}

	#char-list .char3 {
		width: 240px;
		height: 230px;
		margin-left: -140px;
	}
}

@media screen and (max-width: 360px) {}


#magcup {
	width: 100%;
	height: 790px;
	overflow-x: hidden;
	position: relative;
}

#magcup .bg {
	width: 3000px;
	height: 790px;
	background-image: url(../img/pc-present-back.jpg);
	background-size: cover;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-1680px);
	-webkit-transform: translateX(-1680px);
}

#magcup .baloon {
	width: 174px;
	height: 100px;
	background-image: url(../img/fukidashi.png);
	background-size: cover;
	position: absolute;
	top: 100px;
	left: 50%;
	text-indent: -9999px;
	transform: translate(-80px, -10px);
}

#magcup>div {
	width: 460px;
	position: absolute;
	top: 150px;
	left: 50%;
	transform: translateX(60px);
	-webkit-transform: translateX(60px);
	text-align: center;
}

#magcup h2 {
	margin: 0;
	font-family: eb-garamond, serif;
	font-weight: 400;
	font-style: normal;
	font-size: 4rem;
	line-height: 4rem;
	color: black;
}

#magcup em {
	display: inline-block;
	vertical-align: middle;
	margin: 2rem 0;
	font-size: 4rem;
	font-style: normal;
	font-family: eb-garamond, serif;
	font-weight: 400;
	font-style: normal;
}

#magcup em small {
	display: inline-block;
	vertical-align: middle;
	font-size: 2.4rem;
}

#magcup .lead-text {
	font-size: 2.4rem;
	line-height: 4rem;
	text-align: center;
}

#magcup p {
	text-align: left;
	line-height: 3rem;
	text-align: justify;
}

.to-store-list {
	display: block;
	margin-top: 3rem;
	padding: 1.2rem 0;
	font-weight: bold;
	font-size: 2rem;
	line-height: 2rem;
	background-color: #4fcee9;
	color: white;
	text-align: center;
	text-decoration: none;
	opacity: 1;
	transition: opacity .3s linear;
}

.to-store-list:hover {
	background-color: #4fcee9;
	color: white;
	text-align: center;
	text-decoration: none;
	opacity: .7;
}

@media screen and (max-width: 1100px) {
	#magcup {
		height: 632px;
	}

	#magcup .bg {
		width: 2400px;
		height: 632px;
		transform: translateX(-1320px);
		-webkit-transform: translateX(-1320px);
	}

	#magcup .baloon {
		width: 174px;
		height: 100px;
		transform: translate(-60px, -40px);
	}

	#magcup>div {
		width: 380px;
		position: absolute;
		top: 60px;
		transform: translateX(60px);
		-webkit-transform: translateX(60px);
		text-align: center;
	}

	#magcup h2 {
		font-size: 4rem;
		line-height: 4rem;
	}

	#magcup em {
		margin: 1.8rem 0 1rem;
		font-size: 4rem;
	}

	#magcup em small {
		font-size: 2.4rem;
	}

	#magcup .lead-text {
		font-size: 2.2rem;
		line-height: 3.8rem;
	}

	#magcup p {
		line-height: 2.8rem;
	}

	.to-store-list {
		margin-top: 2.5rem;
		padding: 1.2rem 0;
		font-size: 1.8rem;
		line-height: 1.8rem;
	}
}

@media screen and (max-width: 950px) {
	#magcup {
		padding-bottom: 520px;
		background-color: #e2eaf5;
	}

	#magcup .bg {
		width: 2400px;
		height: 632px;
		transform: translateX(-1130px);
		-webkit-transform: translateX(-1130px);
		top: auto;
		bottom: 0;
	}

	#magcup .baloon {
		width: 174px;
		height: 100px;
		transform: translate(140px, 0px);
		top: auto;
		bottom: 480px;
	}

	#magcup>div {
		width: 380px;
		position: absolute;
		top: 60px;
		text-align: center;
	}

	#magcup>div.body {
		position: relative;
		transform: none;
		-webkit-transform: none;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
	}

	#magcup h2 {
		font-size: 4rem;
		line-height: 4rem;
	}

	#magcup em {
		margin: 1.8rem 0 1rem;
		font-size: 4rem;
	}

	#magcup em small {
		font-size: 2.4rem;
	}

	#magcup .lead-text {
		font-size: 2.2rem;
		line-height: 3.8rem;
	}

	#magcup p {
		line-height: 2.8rem;
	}

	.to-store-list {
		margin-top: 2.5rem;
		padding: 1.2rem 0;
		font-size: 1.8rem;
		line-height: 1.8rem;
	}
}

@media screen and (max-width: 600px) {
	#magcup {
		padding-bottom: 430px;
		background-color: #e2eaf5;
	}

	#magcup .bg {
		width: 1800px;
		height: 474px;
		transform: translateX(-850px);
		-webkit-transform: translateX(-850px);
	}

	#magcup .baloon {
		width: 174px;
		height: 100px;
		transform: none;
		top: auto;
		bottom: 380px;
	}
}

@media screen and (max-width: 480px) {
	#magcup {
		padding-bottom: 420px;
		background-color: #e2eaf5;
	}

	#magcup>div.body {
		padding: 0 20px;
		width: 100%;
		box-sizing: border-box;
	}

	#magcup h2 {
		font-size: 3.6rem;
		line-height: 3.6rem;
	}

	#magcup em {
		margin: 1.5rem 0 0.8rem;
		font-size: 3.4rem;
	}

	#magcup em small {
		font-size: 2rem;
	}

	#magcup .lead-text {
		font-size: 2rem;
		line-height: 3.2rem;
	}

	#magcup p {
		line-height: 2.8rem;
	}

	.to-store-list {
		margin-top: 2.5rem;
		padding: 1.2rem 0;
		font-size: 1.6rem;
		line-height: 1.6rem;
		max-width: 400px;
		width: 100% !important;
	}
}

@media screen and (max-width: 360px) {
	#magcup {}

	#magcup .bg {
		width: 1200px;
		height: 395px;
		transform: translateX(-700px);
		-webkit-transform: translateX(-700px);
	}

	#magcup .baloon {
		bottom: 320px;
	}
}

#campaign-video {
	position: relative;
	overflow-x: hidden;
}

#campaign-video .youtube {
	position: relative;
	margin: 190px auto;
	width: 700px;
	height: 400px;
	z-index: 2;
}

#campaign-video .youtube iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

#campaign-video .youtube p {
	margin: .5rem 0;
	padding-top: 58%;
	text-align: center;
	color: white;
}

#campaign-video .bg {
	width: 800px;
	height: 580px;
	background-color: #4fcee9;
	position: absolute;
	left: 50%;
	top: 100px;
	transform: translate(-260px, 100px);
	-webkit-transform: translate(-260px, 100px);
	z-index: 1;
}

#main {}

#main .ring1 {
	margin: 40px auto 0;
	width: 420px;
	height: 332px;
}

@media screen and (max-width: 768px) {

	#campaign-video .youtube {
		margin: 60px auto;
		box-sizing: border-box;
		width: 90%;
		height: 0;
		padding-top: 56.25%;
	}

	#campaign-video .youtube p {
		padding-top: 0;
	}

	#campaign-video .bg {
		width: 1000px;
		height: 100%;
		background-color: #4fcee9;
		position: absolute;
		left: 30%;
		top: 0;
		transform: translate(-260px, 0);
		-webkit-transform: translate(-260px, 0);
		z-index: 1;
	}
}

@media screen and (max-width: 380px) {}

#campaign {}

#campaign h2 {
	padding-bottom: 20px;
	font-size: 2.5rem;
	text-align: center;
	line-height: 4.8rem;
}

#campaign .title {
	margin: 0 auto 40px;
	width: 240px;
	height: 196px;
}

#campaign .magcup {
	margin: 80px auto;
	width: 1020px;
	height: 610px;
}

@media screen and (max-width: 1080px) {
	#campaign .magcup {
		width: 100%;
		height: auto;
		box-sizing: border-box;
		padding: 0 30px;
	}
}

@media screen and (max-width: 768px) {
	#campaign h2 {
		font-size: 1.9rem;
		line-height: 3.6rem;
	}

	#campaign .title {
		width: 240px;
		height: auto;
	}

	#campaign .magcup {
		margin: 40px auto;
		max-width: 400px;
		width: 100%;
		padding: 0 25px;
		height: auto;
	}
}

@media screen and (max-width: 380px) {
	#campaign h2 {
		font-size: 1.8rem;
	}

	#campaign .magcup {
		padding: 0 20px;
	}
}

#products {}

#products h1 {
	margin: 190px auto 0;
	width: 418px;
	height: 72px;
}

#products h2 {
	margin: 70px auto 100px;
	width: 779px;
	height: 87px;
}

#products .catch-phrase {
	padding-bottom: 50px;
	text-align: center;
	font-size: 25px;
}

#products .product-img {
	margin: 110px auto 130px;
	width: 780px;
	height: 560px;
}

#products .feature h2 {
	height: auto;
	margin: 70px auto 60px;
	font-size: 2rem;
	line-height: 4rem;
	text-align: center;
}

@media screen and (max-width: 1080px) {
	#products h2 {
		width: 680px;
		height: auto;
	}

	#products .product-img {
		width: 680px;
		height: auto;
	}
}

@media screen and (max-width: 768px) {
	#products h1 {
		margin: 80px auto 0;
		width: 260px;
	}

	#products h2 {
		margin: 30px auto 40px;
		max-width: 470px;
		width: 100%;
		height: auto;
		padding: 0 25px;
		box-sizing: border-box;
	}

	#products .catch-phrase {
		font-size: 1.8rem;
		line-height: 3.6rem;
		padding: 0 25px 15px;
		box-sizing: border-box;
	}

	#products .product-img {
		margin: 30px auto 50px;
		max-width: 400px;
		width: 100%;
		height: auto;
		padding: 0 25px;
		box-sizing: border-box;
	}

	#products .feature h2 {
		height: auto;
		margin: 40px auto 30px;
		font-size: 1.8rem;
		line-height: 3.6rem;
	}
}

@media screen and (max-width: 380px) {
	#products .catch-phrase {
		font-size: 1.7rem;
		line-height: 3.4rem;
		padding: 0 20px;
		box-sizing: border-box;
	}

	#products .feature h2 {
		font-size: 1.7rem;
		line-height: 3.4rem;
		padding: 0 20px;
		box-sizing: border-box;
	}

	#products .product-img {
		padding: 0 20px;
	}
}

#ring-list {
	background-color: white;
	padding-bottom: 8rem;
}

#ring-list ul {
	margin: 80px auto;
	width: 1080px;
	list-style-type: none;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	position: relative;
}

#ring-list ul li {
	margin-bottom: 30px;
}

#ring-list .ring {
	width: 280px;
	height: 240px;
	overflow: hidden;
}

#ring-list table {
	margin: 0 auto;
	width: 100%;
	font-size: 1.2rem;
	line-height: 2rem;
}

#ring-list table th {
	margin: 0 auto;
	padding: 0;
	width: 40%;
	text-align: right;
	vertical-align: top;
}

#ring-list table th::after {
	content: ":";
}

#ring-list table td {
	padding: 0;
	width: 60%;
	text-align: left;
	vertical-align: top;
	margin-left: 0;
}

#ring-list table.no-wr th,
#ring-list table.no-wr td {
	width: 50%;
}

#after-service h2 {
	margin: 100px auto 60px;
	width: 640px;
	height: 72px;
}

#after-service .catch-phrase {
	padding-bottom: 30px;
}

#after-service .eyecatch {
	margin: 50px auto 0;
	width: 780px;
}

#after-service .eyecatch img {
	display: block;
	width: 100%;
}

.official-site {
	margin: 60px auto 0;
	width: 580px;
	height: 50px;
}

.official-site a {
	display: block;
	text-align: center;
	font-size: 2rem;
	line-height: 50px;
	color: white;
	background-color: #3e4c6a;
	text-decoration: none;
	transition: opacity 0.5s ease-out;
	-webkit-transition: opacity 0.5s ease-out;
	opacity: 1;
}

.official-site a:hover {
	opacity: 0.7;
}

@media screen and (max-width: 1080px) {
	#ring-list ul {
		width: 600px;
		padding: 0 30px;
		box-sizing: border-box;
	}

	#ring-list ul li {
		width: 48%;
	}

	#ring-list .ring {
		width: 100%;
		height: auto;
	}
}

@media screen and (max-width: 768px) {
	#ring-list ul {
		margin: 40px auto 20px;
		max-width: 600px;
		width: 100%;
		padding: 0 25px;
		box-sizing: border-box;
	}

	.official-site {
		margin: 20px 0 0;
		width: 100%;
		height: 50px;
		padding: 0 25px;
		box-sizing: border-box;
	}

	.official-site a {
		font-size: 1.6rem;
	}

	#ring-list table th {
		width: 35%;
	}

	#ring-list table td {
		width: 65%;
	}

	#ring-list table th,
	#ring-list table td {
		font-size: 1.1rem !important;
	}

	#after-service h2 {
		margin: 70px auto 40px;
		max-width: 470px;
		width: 100%;
		height: auto;
		padding: 0 25px;
		box-sizing: border-box;
	}

	#after-service .catch-phrase {
		padding-bottom: 20px;
	}

	#after-service .eyecatch {
		margin: 40px auto 0;
		padding: 0 25px;
		max-width: 400px;
		width: 100%;
		box-sizing: border-box;
	}
}

@media screen and (max-width: 380px) {
	#ring-list ul {
		padding: 0 20px;
	}

	.official-site {
		padding: 0 20px;
	}

	.official-site a {
		font-size: 1.3rem;
	}

	#ring-list table th,
	#ring-list table td {
		font-size: 1rem !important;
	}

	#after-service .eyecatch {
		padding: 0 20px;
	}
}

#store-list {
	padding-top: 150px;
	background-color: white;
}

#store-list h2 {
	margin: 0 auto 50px;
	height: auto;
	font-size: 3rem;
	text-align: center;
}

#store-list ul {
	margin: 0 auto;
	width: 580px;
	list-style-type: none;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#store-list ul li {
	margin-bottom: 20px;
	width: 180px;
	height: 50px;
	background-color: #d8dbe1;
	transition: opacity 0.5s ease-out;
	-webkit-transition: opacity 0.5s ease-out;
	opacity: 1;
}

#store-list ul li a {
	display: block;
	color: #3e4c6a;
	text-align: center;
	font-size: 18px;
	line-height: 50px;
	text-decoration: none;
	letter-spacing: .2rem;
}

#store-list ul li:hover {
	opacity: 0.7;
}

#store-list p {
	margin: 10px auto 0;
	width: 580px;
}

@media screen and (max-width: 768px) {
	#store-list {
		padding-top: 60px;
	}

	#store-list h2 {
		margin: 0 auto 30px;
		font-size: 2.4rem;
	}

	#store-list ul {
		width: 100%;
		padding: 0 25px;
		box-sizing: border-box;
	}

	#store-list ul li {
		width: 32%;
	}

	#store-list ul li a {
		font-size: 1.6rem;
		letter-spacing: 0;
	}

	#store-list p {
		margin: 10px auto 0;
		padding: 0 25px;
		width: 100%;
		box-sizing: border-box;
	}
}

@media screen and (max-width: 380px) {
	#store-list h2 {
		font-size: 2.2rem;
	}

	#store-list ul {
		padding: 0 20px;
	}

	#store-list ul li a {
		font-size: 1.2rem;
	}
}

footer {
	margin-top: 120px;
	padding-top: 82px;
	height: 170px;
	background-color: #3e4c6a;
}

footer .footer-logo {
	margin: 0 auto 84px;
	width: 140px;
	height: 44px;
}

footer p {
	text-align: center;
	color: white;
}

@media screen and (max-width: 768px) {
	footer {
		margin-top: 60px;
		padding-top: 60px;
		height: 150px;
	}

	footer .footer-logo {
		margin: 0 auto 54px;
	}

	footer p {
		font-size: 1.4rem;
	}
}


/* アニメーション指定 */
.animate {
	opacity: 0;
	transform: translate(0, 30px);
	-webkit-transform: translate(0, 30px);
	-ms-transform: translate(0, 30px);
}

.animate-on {
	opacity: 1;
	transform: translate(0, 0);
	-webkit-transform: translate(0, 0);
	-ms-transform: translate(0, 0);
	transition: 2.4s cubic-bezier(.19, 1, .22, 1);
}

.animate-fade {
	opacity: 0;
}

.animate-fade-on {
	opacity: 1;
	transition: 2s linear;
}

.animate-fade-delay {
	opacity: 0;
}

.animate-scale>* {
	opacity: 0;
	transform: scale(0.6, 0.6);
	-webkit-transform: scale(0.6, 0.6);
	-ms-transform: scale(0.6, 0.6);
}

.animate-scale-on .char1 {
	-webkit-animation: animate-to-left 2.5s cubic-bezier(.19, 1, .22, 1) 0s 1 forwards;
	-ms-animation: animate-to-left 2.5s cubic-bezier(.19, 1, .22, 1) 0s 1 forwards;
	animation: animate-to-left 2.5s cubic-bezier(.19, 1, .22, 1) 0s 1 forwards;
}

.animate-scale-on .char2 {
	-webkit-animation: animate-to-right 2s cubic-bezier(.19, 1, .22, 1) 0.5s 1 forwards;
	-ms-animation: animate-to-right 2s cubic-bezier(.19, 1, .22, 1) 0.5s 1 forwards;
	animation: animate-to-right 2s cubic-bezier(.19, 1, .22, 1) 0.5s 1 forwards;
}

.animate-scale-on .char3 {
	-webkit-animation: animate-scale .6s cubic-bezier(.19, 1, .22, 1) 1s 1 forwards;
	-ms-animation: animate-scale .6s cubic-bezier(.19, 1, .22, 1) 1s 1 forwards;
	animation: animate-scale .6s cubic-bezier(.19, 1, .22, 1) 1s 1 forwards, animate-awa 20s linear 2.6s infinite;
}

.animate-slide {
	opacity: 0;
}

.animate-slide-on.youtube {
	transform: translateX(-200px);
	-webkit-transform: translateX(-200px);
	-webkit-animation: animate-slide-to-right 1.2s cubic-bezier(.19, 1, .22, 1) 0s 1 forwards;
	-ms-animation: animate-slide-to-right 1.2s cubic-bezier(.19, 1, .22, 1) 0s 1 forwards;
	animation: animate-slide-to-right 1.2s cubic-bezier(.19, 1, .22, 1) 0s 1 forwards;
}

.animate-slide-on.bg {
	transform: translateY(-100px);
	-webkit-transform: translateY(-100px);
	-webkit-animation: animate-slide-to-bottom 1s cubic-bezier(.19, 1, .22, 1) .6s 1 forwards;
	-ms-animation: animate-slide-to-bottom 1s cubic-bezier(.19, 1, .22, 1) .6s 1 forwards;
	animation: animate-slide-to-bottom 1s cubic-bezier(.19, 1, .22, 1) .6s 1 forwards;
}


@-webkit-keyframes animate-slide-to-right {
	0% {
		opacity: 0;
		transform: translateX(-200px);
		-webkit-transform: translateX(-200px);
	}

	100% {
		opacity: 1;
		transform: translateX(0);
		-webkit-transform: translateX(0);
	}
}

@keyframes animate-slide-to-right {
	0% {
		opacity: 0;
		transform: translateX(-200px);
		-webkit-transform: translateX(-200px);
	}

	100% {
		opacity: 1;
		transform: translateX(0);
		-webkit-transform: translateX(0);
	}
}

@-webkit-keyframes animate-slide-to-bottom {
	100% {
		opacity: 1;
		transform: translate(-260px, 0);
		-webkit-transform: translateY(-260px, 0);
	}
}

@keyframes animate-slide-to-bottom {
	100% {
		opacity: 1;
		transform: translate(-260px, 0);
		-webkit-transform: translateY(-260px, 0);
	}
}

@-webkit-keyframes animate-awa {
	0% {
		transform: scale(1, 1) rotate(0deg);
		-webkit-transform: scale(1, 1) rotate(0deg);
		-ms-transform: scale(1, 1) rotate(0deg);
	}

	10% {
		transform: scale(0.9, 0.9) rotate(36deg);
		-webkit-transform: scale(0.9, 0.9) rotate(36deg);
		-ms-transform: scale(0.9, 0.9) rotate(36deg);
	}

	20% {
		transform: scale(1, 1) rotate(72deg);
		-webkit-transform: scale(1, 1) rotate(72deg);
		-ms-transform: scale(1, 1) rotate(72deg);
	}

	30% {
		transform: scale(0.9, 0.9) rotate(108deg);
		-webkit-transform: scale(0.9, 0.9) rotate(108deg);
		-ms-transform: scale(0.9, 0.9) rotate(108deg);
	}

	40% {
		transform: scale(1, 1) rotate(144deg);
		-webkit-transform: scale(1, 1) rotate(144deg);
		-ms-transform: scale(1, 1) rotate(144deg);
	}

	50% {
		transform: scale(0.9, 0.9) rotate(180deg);
		-webkit-transform: scale(0.9, 0.9) rotate(180deg);
		-ms-transform: scale(0.9, 0.9) rotate(180deg);
	}

	60% {
		transform: scale(1, 1) rotate(216deg);
		-webkit-transform: scale(1, 1) rotate(216deg);
		-ms-transform: scale(1, 1) rotate(216deg);
	}

	70% {
		transform: scale(0.9, 0.9) rotate(252deg);
		-webkit-transform: scale(0.9, 0.9) rotate(252deg);
		-ms-transform: scale(0.9, 0.9) rotate(252deg);
	}

	80% {
		transform: scale(1, 1) rotate(288deg);
		-webkit-transform: scale(1, 1) rotate(288deg);
		-ms-transform: scale(1, 1) rotate(288deg);
	}

	90% {
		transform: scale(0.9, 0.9) rotate(324deg);
		-webkit-transform: scale(0.9, 0.9) rotate(324deg);
		-ms-transform: scale(0.9, 0.9) rotate(324deg);
	}

	100% {
		transform: scale(1, 1) rotate(360deg);
		-webkit-transform: scale(1, 1) rotate(360deg);
		-ms-transform: scale(1, 1) rotate(360deg);
	}
}

@keyframes animate-awa {
	0% {
		transform: scale(1, 1) rotate(0deg);
		-webkit-transform: scale(1, 1) rotate(0deg);
		-ms-transform: scale(1, 1) rotate(0deg);
	}

	10% {
		transform: scale(0.9, 0.9) rotate(36deg);
		-webkit-transform: scale(0.9, 0.9) rotate(36deg);
		-ms-transform: scale(0.9, 0.9) rotate(36deg);
	}

	20% {
		transform: scale(1, 1) rotate(72deg);
		-webkit-transform: scale(1, 1) rotate(72deg);
		-ms-transform: scale(1, 1) rotate(72deg);
	}

	30% {
		transform: scale(0.9, 0.9) rotate(108deg);
		-webkit-transform: scale(0.9, 0.9) rotate(108deg);
		-ms-transform: scale(0.9, 0.9) rotate(108deg);
	}

	40% {
		transform: scale(1, 1) rotate(144deg);
		-webkit-transform: scale(1, 1) rotate(144deg);
		-ms-transform: scale(1, 1) rotate(144deg);
	}

	50% {
		transform: scale(0.9, 0.9) rotate(180deg);
		-webkit-transform: scale(0.9, 0.9) rotate(180deg);
		-ms-transform: scale(0.9, 0.9) rotate(180deg);
	}

	60% {
		transform: scale(1, 1) rotate(216deg);
		-webkit-transform: scale(1, 1) rotate(216deg);
		-ms-transform: scale(1, 1) rotate(216deg);
	}

	70% {
		transform: scale(0.9, 0.9) rotate(252deg);
		-webkit-transform: scale(0.9, 0.9) rotate(252deg);
		-ms-transform: scale(0.9, 0.9) rotate(252deg);
	}

	80% {
		transform: scale(1, 1) rotate(288deg);
		-webkit-transform: scale(1, 1) rotate(288deg);
		-ms-transform: scale(1, 1) rotate(288deg);
	}

	90% {
		transform: scale(0.9, 0.9) rotate(324deg);
		-webkit-transform: scale(0.9, 0.9) rotate(324deg);
		-ms-transform: scale(0.9, 0.9) rotate(324deg);
	}

	100% {
		transform: scale(1, 1) rotate(360deg);
		-webkit-transform: scale(1, 1) rotate(360deg);
		-ms-transform: scale(1, 1) rotate(360deg);
	}
}

@-webkit-keyframes animate-rotate {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

@keyframes animate-rotate {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

@-webkit-keyframes animate-fade {
	100% {
		opacity: 1;
	}
}

@keyframes animate-fade {
	100% {
		opacity: 1;
	}
}

@-webkit-keyframes animate-scale {
	100% {
		opacity: 1;
		transform: scale(1, 1);
		-webkit-transform: scale(1, 1);
		-ms-transform: scale(1, 1);
	}
}

@keyframes animate-scale {
	100% {
		opacity: 1;
		transform: scale(1, 1);
		-ms-transform: scale(1, 1);
		-webkit-transform: scale(1, 1);
	}
}

@-webkit-keyframes animate-to-left {
	0% {
		transform: translateX(200px);
	}

	100% {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes animate-to-left {
	0% {
		transform: translateX(200px);
	}

	100% {
		opacity: 1;
		transform: translateX(0);
	}
}

@-webkit-keyframes animate-to-right {
	0% {
		transform: translateX(-150px);
	}

	100% {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes animate-to-right {
	0% {
		transform: translateX(-150px);
	}

	100% {
		opacity: 1;
		transform: translateX(0);
	}
}


/* 追加部分 */
.shoplist {
	width: 950px;
	max-width: 100%;
	padding: 0 30px;
	margin: 0 auto;
}

.shoplist li {
	list-style: none;
}

.headline02 {
	margin-bottom: 43px;
	padding-bottom: 5px;
	border-bottom: 1px solid #CCC;
	font-size: 21px;
	font-weight: normal;
}

ul.areaList {
	padding-bottom: 48px;
	padding-left: 0;
}

ul.areaList li {
	margin-bottom: 20px;
	padding-bottom: 5px;
	border-bottom: 1px solid #CCC;
	line-height: 2.8rem;
/*	font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;*/
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 400;
}

.shoplist li {
	list-style: none;
}

.clearfix {
	zoom: 1;
}

ul.areaList li .areaRight p.areaTit a {
	padding-right: 22px;
	/* background: url(../img/shoparea/bg_note.gif) no-repeat 100% 50%; */
	background: url(http://onlyyou-bridal.jp/wp-content/themes/onlyyoutheme/img/shoparea/bg_note.gif) no-repeat 100% 50%;
	color: #1fb9d1;
}

.pagetop {
	display: none;
	position: fixed;
	bottom: 30px;
	right: 15px;
}

.pagetop a {
	display: block;
	background-color: #ccc;
	text-align: center;
	color: #222;
	font-size: 12px;
	text-decoration: none;
	padding: 5px 10px;
	filter: alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
}

.pagetop a:hover {
	display: block;
	background-color: #b2d1fb;
	text-align: center;
	color: #fff;
	font-size: 12px;
	text-decoration: none;
	padding: 5px 10px;
	filter: alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
}

.goback {
	text-align: center;
	margin: 3rem auto;
}

.goback a {
	margin: 0 auto;
	display: block;
	width: 300px;
}

.goback img {
	display: block;
	width: 100%;
}

@media screen and (max-width: 768px) {
	.shoplist {
		margin: 0 auto;
		width: 100%;
		box-sizing: border-box;
		padding: 0 25px;
	}

	.goback a {
		margin: 0 auto;
		display: block;
		width: 100%;
		box-sizing: border-box;
		padding: 0 25px;
	}
}

@media screen and (max-width: 768px) {
	.shoplist {
		padding: 0 20px;
	}
}

/* 追加部分ここまで */
/*
.magcup, .ring1, .char1, .char2, .char3, .product-img, .ring {
	background-color:rgba(255,255,0,0.4);
	overflow:hidden;
}
*/

/* hikari no michi */
#hikari-no-michi {
	width: 100%;
	margin: 0 auto 50px;
	text-align: center;
	height: 852px;
	overflow-x: hidden;
	position: relative;
}

#hikari-no-michi .bg {
	width: 3000px;
	height: 852px;
	background-image: url(../img/new-pc.jpg);
	background-size: cover;
	background-position: center;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-1500px);
	-webkit-transform: translateX(-1500px);
}

@media screen and (max-width: 1120px) {
	#hikari-no-michi {
		height: 568px;
	}

	#hikari-no-michi .bg {
		width: 2000px;
		height: 568px;
		transform: translateX(-1000px);
		-webkit-transform: translateX(-1000px);
	}
}

@media screen and (max-width: 768px) {
	#hikari-no-michi {
		height: auto;
	}

	#hikari-no-michi .bg {
		width: 100%;
		height: 0;
		padding-top: 178%;
		background-image: url(../img/new_sp.jpg);
		transform: none;
		-webkit-transform: none;
		position: relative;
		left: 0;
	}
}

#hikari {
	text-align: center;
}

#hikari .text25 {
	font-size: 25px;
	margin-top: 80px;
}

.hikaritext {
	margin: 2rem auto 2rem;
}

p.hikari-new {
	color: #3e4c6a;
	margin: 0;
	position: absolute;
	top: -0.3em;
	left: 4em;
	font-weight: bold;
	text-align: center;
}

#hikari img.pc {
	display: block;
	width: 100%;
	heigt: auto;
	object-fit: cover;
	object-position: center;
}

#hikari img.sp {
	display: none;
}

.hikari7 {
	font-size: 20px;
}

@media screen and (max-width: 768px) {
	#hikari {
		margin: 160px auto 0;
	}

	#hikari .text25 {
		font-size: 18px;
		margin-top: 40px;
	}

	#hikari img.sp {
		display: block;
		width: 100%;
		heigt: auto;
		object-fit: cover;
		object-position: center;
		margin: 100px auto 0;
	}

	#hikari img.pc {
		display: none;
	}

	.hikaritext {
		font-size: 16px;
		text-align: left;
	}

	.hikari7 {
		font-size: 16px;
	}

	p.hikari-new {
		top: -0.7em;
		left: 1.3em;
		font-size: 87%;
	}
}