@charset "UTF-8";

body {
	color: #333333;
	font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif
}

a {
	color: inherit;
	text-decoration: none
}

img {
	height: auto;
	max-width: 100%
}

li {
	list-style: none
}

span {
	font-weight: inherit
}

@media (max-width: 768px) {
	.sp-none {
		display: none
	}
}

.js-fadein {
	opacity: 0;
	transform: translateY(40px);
	transition-duration: 1s;
	transition-property: opacity, transform;
	visibility: hidden
}

.js-fadein.is-show {
	opacity: 1;
	transform: translateY(0);
	visibility: visible
}

.js-fadein.-second {
	transition-delay: .3s
}

.js-fadein.-third {
	transition-delay: .5s
}

.js-fadein.-fourth {
	transition-delay: .7s
}

.js-fadein-tamachan {
	transition-duration: 1s
}

@media (max-width: 768px) {

	.top-shop-content__list .js-fadein:nth-child(even),
	.shop-list-content .js-fadein:nth-child(even) {
		transition-delay: .3s
	}

	.top-shop-content__list .js-fadein.-second,
	.shop-list-content .js-fadein.-second {
		transition-delay: 0s
	}

	.top-shop-content__list .js-fadein.-second:nth-child(even),
	.shop-list-content .js-fadein.-second:nth-child(even) {
		transition-delay: .3s
	}

	.top-shop-content__list .js-fadein.-third,
	.shop-list-content .js-fadein.-third {
		transition-delay: 0s
	}

	.top-shop-content__list .js-fadein.-third:nth-child(even),
	.shop-list-content .js-fadein.-third:nth-child(even) {
		transition-delay: .3s
	}
}

@media (max-width: 350px) {
	.guide-nav__list .js-fadein.-second {
		transition-delay: 0s
	}

	.guide-nav__list .js-fadein.-third {
		transition-delay: 0s
	}

	.guide-nav__list .js-fadein.-fourth {
		transition-delay: 0s
	}
}

.-sp {
	display: none
}

@media (max-width: 768px) {
	.-pc {
		display: none
	}

	.-sp {
		display: inherit
	}
}

.c-movie {
	position: relative;
	width: 100%;
	padding-top: 56.25%
}

.c-movie iframe,
.c-movie img {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important
}

.c-movie:hover {
	cursor: pointer
}

.js-triggerModal:hover {
	opacity: .85;
	cursor: pointer
}

.menu-btn {
	position: fixed;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	z-index: 999
}

.menu-btn__inner {
	background: #000;
	cursor: pointer;
	height: 80px;
	position: absolute;
	top: 0;
	right: 0;
	width: 80px
}

.menu-btn__bar {
	background: #fff;
	height: 4px;
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -2px 0 0 -17px;
	transition: .3s;
	width: 34px
}

.menu-btn__bar::before,
.menu-btn__bar::after {
	background: #fff;
	content: "";
	display: inline-block;
	height: 4px;
	margin-left: -17px;
	position: absolute;
	top: 50%;
	left: 50%;
	transition: .3s;
	width: 34px
}

.menu-btn__bar::before {
	margin-top: -14px
}

.menu-btn__bar::after {
	margin-top: 10px
}

.close .menu-btn__bar {
	background: #000
}

.close .menu-btn__bar::before,
.close .menu-btn__bar::after {
	margin-top: -2px
}

.close .menu-btn__bar::before {
	transform: rotate(45deg)
}

.close .menu-btn__bar::after {
	transform: rotate(-45deg)
}

@media (max-width: 768px) {
	.menu-btn__inner {
		height: 60px;
		width: 60px
	}

	.menu-btn__bar {
		height: 3px;
		margin: -1.5px 0 0 -15px;
		width: 30px
	}

	.menu-btn__bar::before,
	.menu-btn__bar::after {
		height: 3px;
		margin-left: -15px;
		width: 30px
	}

	.menu-btn__bar::before {
		margin-top: -13.5px
	}

	.menu-btn__bar::after {
		margin-top: 9.5px
	}

	.close .menu-btn__bar::before,
	.close .menu-btn__bar::after {
		margin-top: -1.5px
	}
}

.gnav {
	background-image: url("../img/gnav_bg.jpg");
	background-size: cover;
	height: 100%;
	overflow-y: scroll;
	position: fixed;
	top: -100%;
	left: 0;
	transition-duration: .5s;
	width: 100%;
	z-index: 998;
	-ms-overflow-style: none
}

.gnav::-webkit-scrollbar {
	display: none
}

.gnav.on {
	top: 0
}

.gnav__inner {
	margin: 0 auto;
	max-width: 800px;
	padding: 70px 0;
	text-align: center
}

.gnav__list {
	margin-top: 40px
}

.gnav__item {
	margin-top: 25px
}

.gnav__item a {
	border: 1px solid #fff;
	border-radius: 10px;
	box-sizing: border-box;
	color: #fff;
	display: block;
	font-size: 34px;
	font-weight: bold;
	padding: 20px 0;
	width: 100%
}

.gnav__item a:hover {
	background: rgba(255, 255, 255, 0.2)
}

.gnav__item a span {
	font-size: 23px;
	font-weight: bold
}

@media (max-width: 768px) {
	.gnav__inner {
		padding-top: 60px
	}

	.gnav__list {
		margin-top: 0
	}
}

@media (max-width: 800px) {
	.gnav__inner {
		padding-right: 2%;
		padding-left: 2%
	}

	.gnav__item a {
		font-size: 20px;
		font-size: 4vw
	}

	.gnav__item a span {
		font-size: 90%
	}
}

@media (max-width: 480px) {
	.gnav__img img {
		width: 80%
	}

	.gnav__item {
		margin-top: 20px
	}

	.gnav__item:first-child {
		margin-top: 10px
	}

	.gnav__item a {
		font-size: 16px;
		font-size: 4vw
	}
}

.inner {
	box-sizing: border-box;
	margin-right: auto;
	margin-left: auto;
	max-width: 1040px
}

@media (max-width: 1040px) {
	.inner {
		padding-right: 2%;
		padding-left: 2%
	}
}

.mv {
	background-image: url("../img/mv_bg.jpg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	box-sizing: border-box;
	height: 630px;
	padding: 45px 0 0;
	position: relative
}

.mv__inner {
	max-width: 1040px;
	overflow: hidden;
	position: absolute;
	bottom: 15px;
	left: 50%;
	transform: translateX(-50%)
}

.mv__ttl.-sp {
	display: none
}

.mv__joy {
	text-align: right
}

@media (max-width: 1040px) {
	.mv {
		background-position: center center
	}

	.mv__joy {
		padding-right: 2%
	}
}

@media (max-width: 768px) {
	.mv {
		background-image: url("../img/mv_bg_sp.jpg");
		height: auto;
		padding-bottom: 94%
	}

	.mv__inner {
		bottom: 10%;
		width: 100%
	}

	.mv__ttl {
		display: none
	}

	.mv__ttl.-sp {
		display: block;
		width: 100%;
		height: 380px
	}

	.mv__img {
		position: absolute;
		bottom: 0
	}

	.mv__img img {
		width: 100%
	}

	.mv__joy {
		margin: 3% 0 0 auto;
		width: 40%
	}
}

.banner {
	background-color: #000;
	background-position: center center;
	background-repeat: no-repeat;
	overflow: hidden;
	padding: 65px 0 30px;
	position: relative
}

.banner__inner {
	padding-right: 4%;
	padding-left: 4%
}

.banner__slide {
	padding-bottom: 50px;
	text-align: center
}

.banner__slide .swiper-pagination-bullet {
	background: -ms-linear-gradient(top, #75c6d5, #fff, #75c6d5);
	background-image: linear-gradient(#75c6d5 0% 20%, #fff 30% 70%, #75c6d5 80% 100%);
	border-radius: 0;
	box-shadow: 0 -4px 10px 3px rgba(117, 198, 213, 0.5), 0 4px 10px 3px rgba(117, 198, 213, 0.5);
	height: 6px;
	opacity: 1;
	width: 38px
}

.banner__slide .swiper-pagination-bullet:hover {
	background: -ms-linear-gradient(top, #fffb99, #fff600, #fffb99);
	background-image: linear-gradient(#fffb99 0% 20%, #fff600 40% 60%, #fffb99 80% 100%);
	box-shadow: 0 -4px 10px 3px rgba(255, 246, 0, 0.5), 0 4px 10px 3px rgba(255, 246, 0, 0.5)
}

.banner__slide .swiper-pagination-bullet-active {
	background: -ms-linear-gradient(top, #fffb99, #fff600, #fffb99);
	background-image: linear-gradient(#fffb99 0% 20%, #fff600 40% 60%, #fffb99 80% 100%);
	box-shadow: 0 -4px 10px 3px rgba(255, 246, 0, 0.5), 0 4px 10px 3px rgba(255, 246, 0, 0.5)
}

.banner__slide .swiper-slide a {
	display: inline-block;
	position: relative
}

.banner__slide .swiper-slide a img {
	vertical-align: bottom
}

.banner__slide .swiper-slide a img:nth-child(2) {
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0
}

.banner__slide .swiper-slide a:hover img:first-child {
	opacity: 0
}

.banner__slide .swiper-slide a:hover img:last-child {
	opacity: 1
}

.banner__slide .swiper-pagination {
	bottom: -25px
}

@media (max-width: 768px) {
	.banner {
		padding: 5% 0 2%
	}

	.banner__inner {
		padding-right: 10%;
		padding-left: 10%
	}

	.banner__slide {
		padding-bottom: 8%
	}

	.swiper-pagination {
		bottom: -10px
	}
}

@media (max-width: 480px) {
	.banner__slide {
		padding-bottom: 10%
	}
}

.banner-star {
	display: flex;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1
}

.banner-star__col {
	height: 100%;
	position: relative;
	width: 50%;
	z-index: -1
}

.banner-star__col:first-child .banner-star__img-big {
	animation: 2s linear infinite alternate scale1
}

.banner-star__col:first-child .banner-star__img-big.-first {
	top: 15%;
	right: 44%
}

.banner-star__col:first-child .banner-star__img-big.-second {
	top: 35%;
	right: 72%
}

.banner-star__col:first-child .banner-star__img-big.-third {
	right: 53%;
	bottom: 15%
}

.banner-star__col:first-child .banner-star__img-small {
	animation: 2s linear infinite alternate scale2
}

.banner-star__col:first-child .banner-star__img-small.-first {
	top: 22%;
	right: 63%
}

.banner-star__col:first-child .banner-star__img-small.-second {
	top: 35%;
	right: 52%
}

.banner-star__col:first-child .banner-star__img-small.-third {
	right: 43%;
	bottom: 29%
}

.banner-star__col:last-child .banner-star__img-big {
	animation: 2s linear infinite alternate scale2
}

.banner-star__col:last-child .banner-star__img-big.-first {
	left: 44%;
	bottom: 45%
}

.banner-star__col:last-child .banner-star__img-big.-second {
	top: 15%;
	left: 72%
}

.banner-star__col:last-child .banner-star__img-big.-third {
	left: 57%;
	bottom: 15%
}

.banner-star__col:last-child .banner-star__img-small {
	animation: 2s linear infinite alternate scale1
}

.banner-star__col:last-child .banner-star__img-small.-first {
	top: 22%;
	left: 53%
}

.banner-star__col:last-child .banner-star__img-small.-second {
	top: 35%;
	left: 65%
}

.banner-star__col:last-child .banner-star__img-small.-third {
	left: 73%;
	bottom: 29%
}

[class*="banner-star__img"] {
	position: absolute
}

@keyframes scale1 {
	from {
		transform: scale(0.5) rotate(0)
	}

	to {
		transform: scale(1) rotate(15deg)
	}
}

@keyframes scale2 {
	from {
		transform: scale(1) rotate(15deg)
	}

	to {
		transform: scale(0.5) rotate(0)
	}
}

@media (max-width: 1040px) {
	.banner-star__col:first-child .banner-star__img-big {
		animation: 2s linear infinite alternate scale1
	}

	.banner-star__col:first-child .banner-star__img-big.-first {
		top: 5%;
		right: auto;
		left: 0
	}

	.banner-star__col:first-child .banner-star__img-big.-second {
		display: none
	}

	.banner-star__col:first-child .banner-star__img-big.-third {
		display: none
	}

	.banner-star__col:first-child .banner-star__img-small {
		animation: 2s linear infinite alternate scale2
	}

	.banner-star__col:first-child .banner-star__img-small.-first {
		display: none
	}

	.banner-star__col:first-child .banner-star__img-small.-second {
		display: none
	}

	.banner-star__col:first-child .banner-star__img-small.-third {
		right: auto;
		bottom: 5%;
		left: 15%
	}

	.banner-star__col:last-child .banner-star__img-big {
		animation: 2s linear infinite alternate scale2
	}

	.banner-star__col:last-child .banner-star__img-big.-first {
		display: none
	}

	.banner-star__col:last-child .banner-star__img-big.-second {
		display: none
	}

	.banner-star__col:last-child .banner-star__img-big.-third {
		right: 10%;
		bottom: 5%;
		left: auto
	}

	.banner-star__col:last-child .banner-star__img-small {
		animation: 2s linear infinite alternate scale1
	}

	.banner-star__col:last-child .banner-star__img-small.-first {
		top: 22%;
		right: 0;
		left: auto
	}

	.banner-star__col:last-child .banner-star__img-small.-second {
		display: none
	}

	.banner-star__col:last-child .banner-star__img-small.-third {
		display: none
	}
}

.about-project {
	background: #f0e9d8;
	padding: 100px 0
}

.about-project__inner {
	background: rgba(255, 255, 255, 0.3);
	padding: 40px
}

.about-project__content {
	background: #fff;
	padding: 50px
}

.about-project__ttl {
	color: #9696d7;
	text-align: center
}

.about-project__txt {
	font-size: 18px;
	letter-spacing: 0.08em;
	line-height: 2;
	margin-top: 50px
}

.about-project__txt span {
	color: #9696d7;
	font-weight: bold
}

@media (max-width: 1040px) {
	.about-project {
		padding: 100px 4%
	}

	.about-project__inner {
		padding: 20px
	}

	.about-project__content {
		padding: 30px
	}

	.about-project__txt {
		margin-top: 40px
	}
}

@media (max-width: 768px) {
	.about-project {
		padding: 50px 4% 100px
	}

	.about-project__inner {
		padding: 3%
	}

	.about-project__content {
		padding: 10% 4%
	}

	.about-project__txt {
		font-size: 3.7vw;
		line-height: 1.7
	}
}

@media (max-width: 480px) {
	.about-project {
		padding: 10% 4% 20%
	}

	.about-project__txt {
		margin-top: 8%
	}
}

.leader__container {
	display: flex;
	margin: 30px auto -90px;
	max-width: 700px
}

.leader__img {
	background-image: url("../img/tamachan_thumbs-up.png");
	background-repeat: no-repeat;
	background-size: contain;
	height: 230px;
	margin-right: 30px;
	min-width: 180px;
	width: 180px
}

.leader__greeting {
	margin-top: 15px
}

.leader__header {
	display: flex
}

.leader__bar {
	background: #e37aaa;
	border-radius: 10px;
	color: #fff;
	display: flex;
	align-items: center;
	font-size: 20px;
	margin-right: 15px;
	padding: 6px 17px
}

.leader__bar img {
	height: 20px;
	margin-right: 8px;
	width: 24px
}

.leader__bar span {
	line-height: 20px
}

.leader__name {
	font-size: 30px;
	font-weight: bold;
	letter-spacing: 0.1em
}

.leader__txt {
	font-size: 12px;
	letter-spacing: 0.1em;
	line-height: 1.6;
	margin-top: 15px
}

@media (max-width: 1040px) {
	.leader__container {
		max-width: none;
		margin: 30px auto -50px
	}
}

@media (max-width: 768px) {
	.leader__container {
		display: block;
		margin: 30px auto 0
	}

	.leader__img {
		background-position: center center;
		width: 100%
	}

	.leader__txt {
		font-size: 3.2vw;
		line-height: 1.5
	}
}

@media (max-width: 480px) {
	.leader__container {
		margin: 6% auto 0
	}

	.leader__header {
		align-items: center
	}

	.leader__name {
		font-size: 24px;
		font-size: 5vw
	}

	.leader__bar {
		font-size: 16px;
		font-size: 4vw;
		margin-right: 3%;
		padding: 6px 8px
	}

	.leader__bar img {
		height: auto;
		width: 16px
	}
}

.top-guide {
	background: #d4d8fa
}

.top-guide-header {
	background-color: #9795d6;
	background-image: url("../img/guide_bg.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 1300px 250px;
	border-bottom: 18px solid #8279b7;
	overflow: hidden;
	padding: 150px 0 20px
}

.top-guide-header__inner {
	padding-left: 50px;
	position: relative;
	z-index: 1
}

.top-guide-header__tamachan {
	opacity: 1 !important;
	position: absolute;
	right: 0;
	bottom: -40px;
	z-index: -1
}

.top-guide-header__tamachan.js-fadein-tamachan {
	opacity: 1;
	visibility: visible;
	transform: translateY(100%)
}

.top-guide-header__tamachan.js-fadein-tamachan.is-show {
	transform: translateY(0)
}

@media (max-width: 1040px) {
	.top-guide-header {
		background-size: contain;
		padding: 10% 0 20px
	}

	.top-guide-header__inner {
		padding-left: 5%
	}

	.top-guide-header__ttl {
		width: 85%
	}

	.top-guide-header__tamachan {
		width: 35%
	}
}

.top-guide-body {
	padding: 50px 0 100px
}

.top-guide-body__txt {
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.08em;
	line-height: 1.8;
	text-align: center
}

.top-guide-body__copy {
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.08em;
	line-height: 1.8;
	text-align: center
}

.top-guide-body__note {
	font-size: 14px;
	letter-spacing: 0.08em;
	line-height: 1.8;
	margin: 40px auto 0;
	max-width: 800px
}

@media (max-width: 1040px) {
	.top-guide-body {
		padding: 40px 4% 100px
	}
}

@media (max-width: 768px) {
	.top-guide-body__txt {
		font-size: 3.7vw;
		font-weight: normal;
		line-height: 1.5;
		text-align: left
	}

	.top-guide-body__copy {
		font-size: 3.7vw
	}

	.top-guide-body__note {
		font-size: 2.93vw;
		line-height: 1.45
	}
}

@media (max-width: 480px) {
	.top-guide-body {
		padding: 8% 4% 20%
	}

	.top-guide-body__note {
		margin-top: 8%
	}
}

.top-links {
	padding: 100px 0
}

.top-links__list {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: center;
	align-items: stretch
}

.top-links__list li {
	width: 40%
}

.top-links__list li:first-child {
	margin-right: 60px
}

.top-links__list li a {
	background: -ms-linear-gradient(top, #636cbb 50%, #5163b3 50%);
	background-image: linear-gradient(to bottom, #636cbb 0% 50%, #5163b3 50% 100%);
	border: 2px solid #fff;
	border-radius: 10px;
	box-shadow: 7px 7px 0 #222;
	box-sizing: border-box;
	padding: 30px 0;
	display: block;
	position: relative;
	color: #fff;
	text-align: center;
	font-size: 24px;
	font-weight: bold;
	letter-spacing: 0.08em;
	line-height: 1.3
}

.top-links__list li a:hover {
	box-shadow: none;
	border: 2px solid #e9e9e9;
	top: 7px;
	left: 7px
}

@media (max-width: 768px) {
	.top-links {
		padding: 50px 4%
	}

	.top-links__list li {
		width: 46%
	}

	.top-links__list li:first-child {
		margin-right: 4%
	}

	.top-links__list li a {
		padding: 8% 0;
		font-size: 2.9vw
	}
}

@media (max-width: 480px) {
	.top-links {
		padding: 10% 4%
	}

	.top-links__list {
		flex-direction: column;
		justify-content: flex-start;
		align-items: flex-start
	}

	.top-links__list li {
		width: 100%
	}

	.top-links__list li:first-child {
		margin-right: 0;
		margin-bottom: 30px
	}

	.top-links__list li a {
		font-size: 4vw
	}
}

.guide-main {
	display: block;
	margin-top: 50px;
	position: relative
}

.guide-main:hover {
	opacity: 0.9
}

.guide-main:hover::before {
	border: 15px solid #8279b7;
	height: calc(100% - 30px);
	position: absolute;
	top: 0;
	left: 0;
	width: calc(100% - 30px);
	z-index: 2
}

.guide-main::before {
	content: ""
}

.guide-main__ttl {
	background: #8279b7;
	box-sizing: border-box;
	color: #fff;
	font-size: 28px;
	font-weight: bold;
	height: 100px;
	letter-spacing: 0.08em;
	line-height: 1.3;
	padding-top: 30px;
	position: absolute;
	top: -18px;
	left: 30px;
	text-align: center;
	width: 130px;
	z-index: 3
}

.guide-main__ttl::before {
	border-color: transparent transparent #172375 transparent;
	border-style: solid;
	border-width: 0 10px 18px 0;
	content: "";
	position: absolute;
	top: 0;
	right: -10px
}

.guide-main__ttl::after {
	content: "";
	position: absolute;
	bottom: -45px;
	left: 0;
	border-color: #8279b7 transparent transparent transparent;
	border-width: 45px 65px 0 65px;
	border-style: solid;
	height: 0;
	width: 0
}

.guide-main__img img {
	width: 100%
}

@media (max-width: 768px) {
	.guide-main__ttl {
		left: 10px;
		font-size: 16px;
		font-size: 2.93vw;
		height: 70px;
		padding-top: 20px;
		width: 80px
	}

	.guide-main__ttl::after {
		bottom: -20px;
		border-color: #8279b7 transparent transparent transparent;
		border-width: 20px 40px 0 40px;
		border-style: solid;
		height: 0;
		width: 0
	}
}

@media (max-width: 480px) {
	.guide-main {
		margin-top: 10%
	}

	.guide-main__ttl {
		font-size: 14px;
		height: 60px;
		width: 70px
	}

	.guide-main__ttl::after {
		bottom: -20px;
		border-color: #8279b7 transparent transparent transparent;
		border-width: 20px 35px 0 35px;
		border-style: solid;
		height: 0;
		width: 0
	}
}

.guide-banner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 10px
}

.guide-banner__box {
	margin-top: 40px;
	width: 48%
}

.guide-banner__link {
	background: #555;
	border: 2px solid transparent;
	border-radius: 10px;
	box-shadow: 7px 7px 0 #222;
	box-sizing: border-box;
	display: flex;
	padding: 10px;
	position: relative
}

.guide-banner__link:hover {
	box-shadow: none;
	border: 2px solid #e9e9e9;
	top: 7px;
	left: 7px
}

.guide-banner__tag {
	background: #8279b7;
	border-radius: 0 0 5px 5px;
	box-shadow: 0 0 3px #000;
	box-sizing: border-box;
	color: #fff;
	font-size: 28px;
	font-weight: bold;
	height: 80px;
	letter-spacing: 0.08em;
	line-height: 1.3;
	padding-top: 30px;
	position: absolute;
	top: -18px;
	left: 30px;
	text-align: center;
	width: 60px
}

.guide-banner__tag::before {
	border-color: transparent transparent #172375 transparent;
	border-style: solid;
	border-width: 0 5px 18px 0;
	content: "";
	position: absolute;
	top: 0;
	right: -5px
}

.guide-banner__link:hover .guide-banner__tag {
	outline: 2px solid #d4d8fa;
	outline-offset: -2px
}

.guide-banner__img {
	margin-right: 30px
}

.guide-banner__img img {
	border-radius: 7px
}

.guide-banner__content {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 15px 0 5px 0
}

.guide-banner__txt {
	color: #fff;
	font-size: 24px;
	font-weight: bold;
	letter-spacing: 0.08em;
	line-height: 1.3
}

.guide-banner__txt.-sp {
	display: none
}

.guide-banner__btn {
	background: #d489aa;
	border-radius: 15px;
	color: #fff;
	font-size: 14px;
	font-weight: bold;
	letter-spacing: 0.08em;
	padding: 5px 0;
	text-align: center
}

@media (max-width: 1040px) {
	.guide-banner__link {
		padding: 2%
	}

	.guide-banner__tag {
		left: 3%;
		font-size: 18px;
		height: 60px;
		padding-top: 20px;
		width: 40px
	}

	.guide-banner__img {
		margin-right: 3%;
		width: 57%
	}

	.guide-banner__content {
		padding: 3% 0;
		width: 40%
	}

	.guide-banner__txt {
		font-size: 18px;
		font-size: 2.4vw
	}

	.guide-banner__btn {
		font-size: 12px;
		font-size: 2vw
	}
}

@media (max-width: 768px) {
	.guide-banner {
		padding: 0 2%
	}

	.guide-banner__box {
		margin-top: 20px
	}

	.guide-banner__box:nth-child(n+3) {
		margin-top: 35px
	}

	.guide-banner__txt {
		font-size: 2.9vw
	}
}

@media (max-width: 480px) {
	.guide-banner__link {
		flex-direction: column;
		justify-content: space-between;
		height: 100%
	}

	.guide-banner__img {
		margin-right: 0;
		width: 100%
	}

	.guide-banner__content {
		width: 100%
	}

	.guide-banner__txt {
		font-size: 24px;
		font-size: 4vw
	}

	.guide-banner__txt.-pc {
		display: none
	}

	.guide-banner__txt.-sp {
		display: block;
		text-align: center
	}

	.guide-banner__btn {
		font-size: 14px;
		font-size: 3vw;
		margin-top: 3%
	}
}

.top-shop {
	background: #cae3e8
}

.top-shop-header {
	background-color: #85beca;
	background-image: url("../img/top-shop_bg.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	border-bottom: 18px solid #51a3b3;
	box-sizing: border-box;
	height: 450px;
	overflow: hidden
}

.top-shop-header__inner {
	height: 100%;
	position: relative;
	z-index: 1
}

.top-shop-header__ttl {
	position: absolute;
	top: 90px;
	left: 370px
}

.top-shop-header__ttl img {
	width: 640px
}

.top-shop-header__tamachan {
	height: 356px;
	opacity: 1 !important;
	position: absolute;
	left: 0;
	bottom: -18px;
	width: 500px;
	z-index: -1
}

.top-shop-header__tamachan.js-fadein-tamachan {
	opacity: 1;
	visibility: visible;
	transform: translateY(100%)
}

.top-shop-header__tamachan.js-fadein-tamachan.is-show {
	transform: translateY(0)
}

@media (max-width: 1040px) {
	.top-shop-header {
		height: auto
	}

	.top-shop-header__inner {
		padding: 0 2% 43% 0
	}

	.top-shop-header__ttl {
		top: 20%;
		right: 10px;
		left: auto;
		width: 60%
	}

	.top-shop-header__tamachan {
		height: auto;
		width: 55%
	}
}

@media (max-width: 768px) {
	.top-shop-header {
		background-image: url("../img/top-shop_bg_sp1.png"), url("../img/top-shop_bg_sp2.png");
		background-position: top left, bottom right;
		background-repeat: no-repeat;
		background-size: 25% auto, 15% auto
	}
}

.top-shop-body {
	padding: 50px 0 100px
}

.top-shop-body__txt {
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.08em;
	line-height: 1.8;
	text-align: center
}

@media (max-width: 980px) {
	.top-shop-body {
		padding: 50px 4% 100px
	}

	.top-shop-body__txt {
		text-align: left
	}
}

@media (max-width: 768px) {
	.top-shop-body__txt {
		font-size: 3.7vw;
		font-weight: normal;
		line-height: 1.5
	}
}

@media (max-width: 480px) {
	.top-shop-body {
		padding: 10% 4% 20%
	}
}

.top-shop-content {
	background: #fff;
	margin-top: 50px;
	padding: 70px
}

.top-shop-content__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between
}

.top-shop-content__item {
	width: 30%
}

.top-shop-content__item:nth-child(n+4) {
	margin-top: 35px
}

.top-shop-content__link {
	display: block;
	text-align: center
}

.top-shop-content__ttl {
	color: #51a3b3;
	font-size: 21px;
	font-weight: bold;
	line-height: 1.25em
}

.top-shop-content__link:hover .top-shop-content__ttl {
	color: #07c95a
}

.top-shop-content__img {
	margin-top: 15px;
	position: relative
}

.top-shop-content__img img {
	width: 100%
}

.top-shop-content__link:hover .top-shop-content__img {
	opacity: 0.9
}

.top-shop-content__link:hover .top-shop-content__img::after {
	border: 6px solid #07c95a;
	content: "";
	height: calc(100% - 12px);
	position: absolute;
	top: 0;
	left: 0;
	width: calc(100% - 12px)
}

.top-shop-content__txt {
	font-size: 20px;
	line-height: 1.21;
	margin-top: 10px
}

.top-shop-content__area {
	font-size: 16px;
	margin-top: 5px
}

.top-shop-content__btn {
	border: 2px solid #cfe6ea;
	border-radius: 10px;
	box-shadow: 7px 7px 0 #222;
	display: block;
	font-size: 26px;
	margin: 50px auto 0;
	max-width: 400px;
	padding: 10px 0;
	position: relative;
	text-align: center;
	width: 95%;
	background: -ms-linear-gradient(top, #63acbb 50%, #51a3b3 50%);
	background-image: linear-gradient(to bottom, #63acbb 0% 50%, #51a3b3 50% 100%);
	color: #fff
}

.top-shop-content__btn:hover {
	box-shadow: none;
	top: 7px;
	left: 7px
}

.top-shop-content__btn span {
	display: inline-block;
	font-size: 80%;
	margin-left: 30px;
	vertical-align: middle
}

@media (max-width: 1040px) {
	.top-shop-content {
		padding: 50px
	}

	.top-shop-content__txt {
		font-size: 18px
	}

	.top-shop-content__btn {
		padding: 15px 0
	}
}

@media (max-width: 768px) {
	.top-shop-content {
		padding: 6%
	}

	.top-shop-content__item {
		width: 48.5%
	}

	.top-shop-content__item:nth-child(n+3) {
		margin-top: 35px
	}

	.top-shop-content__item:nth-child(n+9) {
		display: none
	}

	.top-shop-content__ttl {
		font-size: 20px;
		font-size: 3.2vw;
		line-height: 1.25
	}

	.top-shop-content__txt,
	.top-shop-content__area {
		font-size: 2.66vw;
		line-height: 1.3
	}

	.top-shop-content__txt {
		font-size: 3.2vw
	}

	.top-shop-content__area {
		margin-top: 0
	}

	.top-shop-content__btn {
		font-size: 4.26vw;
		margin-top: 30px
	}
}

@media (max-width: 480px) {
	.top-shop-content {
		margin-top: 10%
	}

	.top-shop-content__btn {
		font-size: 18px
	}

	.top-shop-content__btn span {
		margin-left: 18px
	}
}

.yorutube {
	background: #eee0e0
}

.yorutube__inner {
	padding: 50px 0 100px
}

.yorutube__txt {
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.08em;
	line-height: 1.8;
	text-align: center
}

@media (max-width: 1040px) {
	.yorutube__inner {
		padding: 50px 4% 100px
	}
}

@media (max-width: 768px) {
	.yorutube__txt {
		font-size: 3.7vw;
		font-weight: normal;
		line-height: 1.5;
		text-align: left
	}
}

@media (max-width: 480px) {
	.yorutube__inner {
		padding: 10% 4% 20%
	}
}

.yorutube-header {
	background-color: #eb9696;
	background-image: url("../img/top-tube_film.png"), url("../img/top-tube_film_bottom.png");
	background-position: top left, bottom left;
	background-repeat: repeat-x;
	background-size: auto 45px;
	overflow: hidden;
	padding: 55px 0
}

.yorutube-header__inner {
	padding-left: 120px;
	position: relative;
	z-index: 1
}

.yorutube-header__icon {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 120px
}

.yorutube-header__tamachan {
	height: 360px;
	position: absolute;
	right: 0;
	bottom: -55px;
	width: 400px;
	z-index: -1
}

.yorutube-header__tamachan.js-fadein-tamachan {
	opacity: 1;
	visibility: visible;
	transform: translateY(100%)
}

.yorutube-header__tamachan.js-fadein-tamachan.is-show {
	transform: translateY(0)
}

@media (max-width: 1040px) {
	.yorutube-header__inner {
		padding-right: 40%;
		padding-left: 10%
	}

	.yorutube-header__icon {
		width: 10%
	}

	.yorutube-header__tamachan {
		right: 10px;
		height: auto;
		width: 45%
	}
}

.yorutube-content {
	margin-top: 90px
}

.yorutube-content__box {
	display: flex;
	margin-top: 20px
}

.yorutube-content__pick {
	margin-right: 15px;
	min-width: 70px;
	width: 70px
}

.yorutube-content__txt {
	letter-spacing: 0.08em;
	line-height: 1.9;
	padding-top: 10px
}

.yorutube-content__color {
	color: #ec525a;
	font-weight: bold
}

@media (max-width: 768px) {
	.yorutube-content {
		margin-top: 40px
	}

	.yorutube-content:nth-of-type(n+2) {
		margin-top: 20%
	}

	.yorutube-content__box {
		margin-top: 10px
	}

	.yorutube-content__pick {
		margin-right: 3%;
		min-width: 50px;
		width: 50px
	}

	.yorutube-content__txt {
		font-size: 2.93vw;
		line-height: 1.18
	}
}

@media (max-width: 480px) {
	.yorutube-content {
		margin-top: 10%
	}

	.yorutube-content__txt {
		font-size: 3.2vw;
		line-height: 1.4
	}

	.yorutube-content__pick {
		min-width: 30px;
		width: 30px
	}
}

.yorutube-link {
	margin-top: 35px
}

.yorutube-link__top {
	background: #eb9696;
	padding-bottom: 43%;
	position: relative
}

.yorutube-link__top iframe {
	height: 100%;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 80%
}

.yorutube-link__row {
	display: flex;
	justify-content: space-between;
	margin-top: 30px
}

.yorutube-link__col {
	text-align: center;
	padding-bottom: 28%;
	position: relative;
	width: 49%
}

.yorutube-link__col iframe {
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%
}

.yorutube-link__container {
	text-align: center
}

.yorutube-link__container img {
	width: 100%
}

.yorutube-link__txt {
	font-size: 22px;
	font-weight: bold;
	line-height: 1.4;
	margin: 50px 0 25px;
	text-align: center
}

@media (max-width: 768px) {
	.yorutube-link {
		margin-top: 10%
	}

	.yorutube-link__top {
		padding-bottom: 56.25%
	}

	.yorutube-link__top iframe {
		width: 100%
	}

	.yorutube-link__row {
		display: block
	}

	.yorutube-link__col {
		padding-bottom: 56.25%;
		width: 100%
	}

	.yorutube-link__col:nth-child(2) {
		margin-top: 5%
	}

	.yorutube-link__txt {
		font-size: 3vw;
		margin: 10% 0 5%
	}
}

@media (max-width: 480px) {
	.yorutube-link {
		margin-top: 7%
	}
}

.yorutube-swiper {
	margin: 40px calc(50% - 50vw) 0;
	width: 100vw
}

.js-modal-video:hover {
	cursor: pointer;
	opacity: .7
}

.yorutube-btn {
	border: 2px solid #fff;
	border-radius: 10px;
	box-shadow: 7px 7px 0 #222;
	display: block;
	font-size: 26px;
	font-weight: bold;
	margin: 0 auto;
	max-width: 400px;
	padding: 10px 0;
	position: relative;
	text-align: center;
	width: 95%;
	background: -ms-linear-gradient(top, #ff7373 50%, #ff5a5a 50%);
	background-image: linear-gradient(to bottom, #ff7373 0% 50%, #ff5a5a 50% 100%);
	color: #fff
}

.yorutube-btn strong {
	color: yellow
}

.yorutube-btn span {
	display: inline-block;
	font-size: 80%;
	margin-left: 20px;
	vertical-align: middle
}

.yorutube-btn:hover {
	box-shadow: none;
	top: 7px;
	left: 7px
}

@media (max-width: 1040px) {
	.yorutube-btn {
		padding: 15px 0
	}
}

@media (max-width: 768px) {
	.yorutube-btn {
		box-shadow: 3px 3px 0 #222;
		font-size: 4.26vw;
		max-width: 800px;
		width: 100%
	}

	.yorutube-btn:hover {
		top: 3px;
		left: 3px
	}
}

@media (max-width: 480px) {
	.yorutube-btn {
		font-size: 18px
	}
}

.header {
	background-image: url("../img/header_bg.jpg");
	background-position: center center;
	background-size: cover;
	padding: 25px 0 15px;
	text-align: center
}

.header__ttl {
	margin: 0 auto;
	width: 80%
}

.header__ttl img {
	vertical-align: bottom
}

.breadcrumb {
	background: #333;
	padding: 15px 0
}

.breadcrumb__list {
	display: flex;
	box-sizing: border-box;
	margin-right: auto;
	margin-left: auto;
	max-width: 1040px
}

.breadcrumb__item {
	color: #fff;
	font-size: 14px;
	letter-spacing: 0.08em
}

.breadcrumb__link::after {
	content: "＞";
	display: inline-block;
	font-size: 80%;
	margin: 0 10px;
	vertical-align: middle
}

@media (max-width: 1040px) {
	.breadcrumb__list {
		padding: 0 2%
	}
}

@media (max-width: 480px) {
	.breadcrumb__item {
		font-size: 12px
	}
}

.guide {
	background-color: #d4d8fa;
	background-image: url("../img/guide_bg_bottom.png");
	background-position: bottom center;
	background-repeat: no-repeat;
	padding: 50px 0 260px
}

.guide__inner {
	background: #fff;
	padding: 60px 0
}

.guide__header {
	background-image: url("../img/guide_bg-purple.png");
	background-position: top center;
	background-repeat: no-repeat
}

.guide__ttl {
	margin: 0 auto;
	text-align: center;
	width: 95%
}

.guide__ttl img {
	width: 460px
}

.guide__ttl img.policy {
	width: 270px
}

.guide__body {
	padding: 60px 30px 0
}

.guide__note {
	border-color: #000;
	border-style: solid;
	border-width: 1px 0;
	margin-top: 60px;
	padding: 20px
}

.guide__note-item {
	font-size: 14px;
	letter-spacing: 0.12em;
	line-height: 1.4
}

@media (max-width: 1040px) {
	.guide {
		padding: 50px 2% 260px
	}
}

@media (max-width: 768px) {
	.guide__ttl {
		margin: 0 auto;
		width: 95%
	}

	.guide__body {
		padding: 6% 2% 0
	}
}

@media (max-width: 480px) {
	.guide {
		padding: 10% 2% 41.5%
	}

	.guide__inner {
		padding: 10% 0
	}
}

.guide-nav {
	background: #f7f8fe;
	margin-top: 30px;
	padding: 25px 60px
}

.guide-nav__list {
	display: flex;
	justify-content: space-between
}

.guide-nav__item {
	width: 23%
}

.guide-nav__link {
	display: flex;
	text-align: center
}

.guide-nav__link:hover {
	opacity: 0.9
}

.guide-nav__txt {
	background: #7e7cc3;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1;
	font-size: 14px;
	letter-spacing: 0.08em;
	padding: 10px 0
}

.guide-nav__icon {
	background: #9795d6;
	min-width: 40px;
	padding: 10px 0
}

@media (min-width: 1041px) {
	.guide-nav__link:hover {
		transform: scale(1.1, 1.1)
	}
}

@media (max-width: 980px) {
	.guide-nav {
		padding: 10px
	}

	.guide-nav__item {
		width: 24%
	}

	.guide-nav__icon {
		min-width: 20px;
		padding: 10px 5px
	}
}

@media (max-width: 768px) {
	.guide-nav {
		padding: 3% 5%
	}

	.guide-nav__list {
		flex-wrap: wrap
	}

	.guide-nav__item {
		width: 49%
	}

	.guide-nav__item:nth-child(n+3) {
		margin-top: 2%
	}

	.guide-nav__txt {
		font-size: 2.4vw
	}
}

@media (max-width: 480px) {
	.guide-nav {
		padding: 2%
	}

	.guide-nav__txt {
		font-size: 12px;
		font-size: 3.5vw
	}
}

@media (max-width: 350px) {
	.guide-nav__list {
		flex-direction: column;
		justify-content: center
	}

	.guide-nav__item {
		width: 100%
	}

	.guide-nav__item:nth-child(n+2) {
		margin-top: 2%
	}

	.guide-nav__txt {
		font-size: 14px;
		font-size: 5vw
	}

	.guide-nav__icon {
		min-width: 40px;
		padding: 10px 0
	}
}

.guide-box {
	margin-top: 50px
}

.guide-box:first-child {
	margin-top: 0
}

.guide-box__ttl {
	font-size: 30px;
	padding: 10px 0;
	background: -ms-linear-gradient(top, #7e7cc3 50%, #9795d6 50%);
	background-image: linear-gradient(to bottom, #7e7cc3 0% 50%, #9795d6 50% 100%);
	color: #fff
}

.guide-box__num {
	display: inline-block;
	font-size: 50px;
	line-height: 60px;
	margin: 0 20px;
	vertical-align: middle
}

.guide-box__row {
	border-bottom: 1px solid #000;
	display: flex;
	margin: 15px 0 30px;
	padding: 0 30px 30px
}

.guide-box__row:last-child {
	border-bottom: none
}

.guide-box__col:first-child {
	margin-right: 15px;
	min-width: 300px
}

.guide-box__col:last-child {
	flex: 1
}

.guide-box__txt {
	font-size: 18px;
	letter-spacing: 0.12em;
	line-height: 1.6
}

@media (max-width: 768px) {
	.guide-box__ttl {
		font-size: 24px;
		font-size: 4.8vw;
		padding: 5px 0
	}

	.guide-box__num {
		font-size: 36px
	}

	.guide-box__row {
		display: block;
		padding-right: 4%;
		padding-left: 4%;
		margin: 15px 0 10%;
		padding: 0 4% 10%
	}

	.guide-box__col:first-child {
		margin-right: 0;
		min-width: auto;
		text-align: center
	}

	.guide-box__col:last-child {
		margin-top: 3%
	}

	.guide-box__txt {
		font-size: 3.7vw
	}
}

@media (max-width: 480px) {
	.guide-box__ttl {
		font-size: 24px;
		font-size: 5vw
	}

	.guide-box__num {
		font-size: 36px;
		font-size: 7vw;
		line-height: 2;
		margin: 0 15px
	}

	.guide-box__row {
		margin-top: 6%
	}
}

.tamachan-check__box {
	background: #f7f4f4;
	margin-top: 50px;
	padding: 20px 150px 20px 20px;
	position: relative
}

.tamachan-check__box::after {
	content: "";
	background-image: url("../img/tamachan_check.png");
	background-repeat: no-repeat;
	background-size: contain;
	height: 120px;
	position: absolute;
	right: 15px;
	top: -10px;
	width: 150px
}

.tamachan-check__txt {
	color: #c5799b;
	font-size: 15px;
	font-weight: bold;
	letter-spacing: 0.12em;
	line-height: 1.6
}

@media (max-width: 1040px) {
	.tamachan-check__box {
		padding: 20px 70px 20px 20px
	}

	.tamachan-check__box::after {
		top: auto;
		right: -70px;
		bottom: 0
	}
}

@media (max-width: 768px) {
	.tamachan-check__box {
		background: #f7f4f4;
		padding: 20px 20px 50px 20px;
		position: relative
	}

	.tamachan-check__box::after {
		height: 80px;
		position: absolute;
		top: auto;
		right: -5%;
		bottom: -30px;
		width: 100px
	}

	.tamachan-check__txt {
		font-size: 2.8vw
	}
}

@media (max-width: 480px) {
	.tamachan-check__box {
		margin-top: 10%
	}
}

.guide-case {
	margin-top: 30px;
	padding: 0 30px
}

.guide-case__ttl {
	color: #7e7cc3;
	font-size: 24px;
	letter-spacing: 0.12em;
	line-height: 1.7
}

.guide-case__item {
	font-size: 18px;
	letter-spacing: 0.12em;
	line-height: 1.6;
	margin-left: 1em;
	text-indent: -1em
}

@media (max-width: 768px) {
	.guide-case {
		padding: 0 4%
	}

	.guide-case__ttl {
		font-size: 3.7vw
	}

	.guide-case__item {
		font-size: 3.4vw
	}
}

.shop {
	padding: 50px 0 100px
}

.shop__inner {
	background: #f0f8fa;
	padding: 60px
}

.shop__area {
	background: #51a3b3;
	color: #fff;
	display: inline-block;
	line-height: 1.3;
	padding: 5px 0;
	text-align: center;
	width: 88px
}

.shop__ttl {
	font-size: 30px;
	font-weight: bold;
	margin-top: 20px
}

.shop__catch {
	color: #51a3b3;
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0.12em;
	line-height: 1.1;
	margin-top: 30px
}

.shop__unique {
	font-size: 14px;
	letter-spacing: 0.12em;
	line-height: 1.6;
	margin-top: 20px
}

.shop__link {
	display: flex;
	justify-content: center;
	margin-top: 40px
}

.shop__link a {
	color: #51a3b3
}

.shop__link a span {
	display: inline-block;
	margin: 0 15px;
	text-decoration: underline
}

.shop__link a:hover span {
	text-decoration: none
}

.shop__prev {
	margin-right: 45px
}

.shop__btn {
	border: 2px solid #cfe6ea;
	border-radius: 10px;
	box-shadow: 7px 7px 0 #222;
	display: block;
	font-size: 26px;
	margin: 40px auto 0;
	max-width: 400px;
	padding: 10px 0;
	position: relative;
	text-align: center;
	width: 95%;
	background: -ms-linear-gradient(top, #63acbb 50%, #51a3b3 50%);
	background-image: linear-gradient(to bottom, #63acbb 0% 50%, #51a3b3 50% 100%);
	color: #fff
}

.shop__btn:hover {
	box-shadow: none;
	top: 7px;
	left: 7px
}

@media (max-width: 1040px) {
	.shop {
		padding: 50px 2% 100px
	}
}

@media (max-width: 768px) {
	.shop__inner {
		padding: 10% 6%
	}
}

@media (max-width: 480px) {
	.shop {
		padding: 10% 2% 20%
	}

	.shop__link {
		display: block;
		text-align: center;
		margin-top: 8%
	}

	.shop__link a {
		color: #51a3b3;
		display: block
	}

	.shop__link a span {
		display: inline-block;
		margin: 0 5px;
		text-decoration: underline
	}

	.shop__prev {
		margin-right: 0
	}

	.shop__next {
		margin-top: 15px
	}
}

@media (max-width: 350px) {
	.shop__link a {
		font-size: 14px
	}
}

.shop-info {
	display: flex;
	justify-content: center;
	margin-top: 20px
}

.shop-info__img {
	margin-right: 30px;
	width: 43%
}

.shop-info__ttl {
	background: #51a3b3;
	color: #fff;
	line-height: 1.9;
	position: relative;
	text-align: center
}

.shop-info__ttl::after {
	content: "";
	position: absolute;
	bottom: -8px;
	left: 50%;
	transform: translateX(-50%);
	border-color: #51a3b3 transparent transparent transparent;
	border-width: 8px 7.5px 0 7.5px;
	border-style: solid;
	height: 0;
	width: 0
}

.shop-info__slide {
	padding-bottom: 30px
}

.shop-info__slide .swiper-pagination-bullet:hover {
	background: #51a3b3;
	opacity: 1
}

.shop-info__slide .swiper-pagination-bullet {
	background: #000;
	opacity: 0.2
}

.shop-info__slide .swiper-pagination-bullet-active {
	opacity: 1;
	background: #51a3b3
}

.shop-info__slide .swiper-button-prev,
.shop-info__slide .swiper-button-next {
	background-image: none
}

.shop-info__slide .swiper-button-prev:hover,
.shop-info__slide .swiper-button-next:hover {
	border-color: #408491
}

.shop-info__slide .swiper-button-prev.swiper-button-disabled,
.shop-info__slide .swiper-button-next.swiper-button-disabled {
	border-color: #d2d2d2;
	opacity: 1
}

.shop-info__slide .swiper-button-prev::after,
.shop-info__slide .swiper-button-next::after {
	display: none
}

.shop-info__slide .swiper-button-prev {
	border-color: #51a3b3;
	border-style: solid;
	border-width: 3px 3px 0 0;
	content: "";
	display: inline-block;
	height: 24px;
	width: 24px;
	transform: rotate(-135deg)
}

.shop-info__slide .swiper-button-next {
	border-color: #51a3b3;
	border-style: solid;
	border-width: 3px 3px 0 0;
	content: "";
	display: inline-block;
	height: 24px;
	width: 24px;
	transform: rotate(45deg)
}

.shop-info__table {
	margin-top: 20px
}

.shop-info__table th,
.shop-info__table td {
	box-sizing: border-box;
	font-size: 14px;
	letter-spacing: 0.12em;
	line-height: 1.6;
	padding: 10px
}

.shop-info__table th {
	text-align: left;
	white-space: nowrap;
	width: 120px
}

.shop-info__table tr:nth-child(even) {
	background: #fff
}

.shop-info__table a {
	color: #51a3b3;
	text-decoration: underline;
	word-break: break-all
}

.shop-info__table a:hover {
	text-decoration: none
}

@media (max-width: 768px) {
	.shop-info {
		display: block;
		margin-top: 4%
	}

	.shop-info__img {
		margin-right: 0;
		text-align: center;
		width: 100%
	}

	.shop-info__img img {
		width: 100%
	}

	.shop-info__content {
		margin-top: 6%
	}

	.shop-info__table {
		width: 100%
	}

	.shop-info__table th {
		padding-right: 10px;
		width: auto
	}
}

.shop-point {
	background: #fff;
	box-sizing: border-box;
	display: flex;
	margin-top: 40px;
	padding: 30px 35px 20px 10px
}

.shop-point__tamachan {
	margin-right: 40px;
	min-width: 170px
}

.shop-point__content {
	flex: 1
}

@media (max-width: 768px) {
	.shop-point {
		padding: 6% 7% 5% 2%
	}

	.shop-point__tamachan {
		margin-right: 8%;
		min-width: 130px
	}
}

@media (max-width: 600px) {
	.shop-point {
		display: block;
		padding: 10% 6%
	}

	.shop-point__tamachan {
		margin-right: 0;
		min-width: auto;
		text-align: center
	}

	.shop-point__content {
		margin-top: 6%
	}
}

.point-details {
	display: flex
}

.point-details:nth-child(n+2) {
	border-top: 1px solid #000;
	margin-top: 30px;
	padding-top: 30px
}

.point-details__content {
	margin-right: 15px
}

.point-details__num {
	background: #a56ba9;
	color: #fff;
	font-size: 10px;
	font-weight: bold;
	padding: 5px 0;
	text-align: center;
	width: 70px
}

.point-details__txt {
	font-size: 14px;
	letter-spacing: 0.12em;
	line-height: 1.6;
	margin-top: 10px
}

.point-details__img {
	max-width: 230px;
	min-width: 220px
}

.point-details__img p:last-child {
	margin-top: 15px
}

@media (max-width: 980px) {
	.point-details {
		display: block
	}

	.point-details__content {
		margin-right: 0
	}

	.point-details__img {
		margin-top: 3%;
		max-width: none;
		min-width: auto
	}

	.point-details__img p:last-child {
		margin-top: 3%
	}

	.point-details__img img {
		width: 100%
	}
}

.shop-message {
	display: flex;
	margin-top: 40px
}

.shop-message__img {
	margin-right: 25px;
	min-width: 100px
}

.shop-message__content {
	padding-top: 10px
}

.shop-message__ttl {
	color: #51a3b3;
	font-size: 22px;
	letter-spacing: 0.12em
}

.shop-message__txt {
	font-weight: bold;
	font-size: 16px;
	letter-spacing: 0.12em;
	line-height: 1.6;
	margin-top: 20px
}

@media (max-width: 480px) {
	.shop-message {
		display: block;
		margin-top: 8%
	}

	.shop-message__img {
		margin-right: 0;
		min-width: auto;
		text-align: center
	}

	.shop-message__ttl {
		margin-top: 3%
	}
}

.shop-list {
	background: #cae3e8;
	padding: 50px 0 100px
}

.shop-list__inner {
	background: #fff;
	padding: 10px 60px 60px
}

.shop-list__header {
	background-image: url("../img/shop_ttl_bg.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	padding-top: 50px;
	text-align: center
}

.shop-list__txt {
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 0.08em;
	line-height: 1.8;
	text-align: center
}

.shop-list__body {
	margin-top: 50px
}

@media (max-width: 1040px) {
	.shop-list {
		background: #cae3e8;
		padding: 50px 2% 100px
	}
}

@media (max-width: 980px) {
	.shop-list__txt {
		text-align: left
	}
}

@media (max-width: 768px) {
	.shop-list__txt {
		font-size: 3.7vw;
		font-weight: normal
	}
}

@media (max-width: 480px) {
	.shop-list__inner {
		padding: 10px 6% 10% 6%
	}

	.shop-list {
		padding: 10% 2% 20%
	}
}

.shop-list-content {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 50px
}

.shop-list-content__item {
	width: 30%
}

.shop-list-content__item:nth-child(n+4) {
	margin-top: 35px
}

.shop-list-content__link {
	display: block;
	text-align: center
}

.shop-list-content__ttl {
	color: #51a3b3;
	font-size: 21px;
	font-weight: bold;
	line-height: 1.25em
}

.shop-list-content__link:hover .shop-list-content__ttl {
	color: #07c95a
}

.shop-list-content__img {
	margin-top: 15px;
	position: relative
}

.shop-list-content__img img {
	width: 100%
}

.shop-list-content__link:hover .shop-list-content__img {
	opacity: 0.9
}

.shop-list-content__link:hover .shop-list-content__img::after {
	border: 6px solid #07c95a;
	content: "";
	height: calc(100% - 12px);
	position: absolute;
	top: 0;
	left: 0;
	width: calc(100% - 12px)
}

.shop-list-content__txt {
	font-size: 20px;
	line-height: 1.21;
	margin-top: 10px
}

.shop-list-content__area {
	font-size: 16px;
	margin-top: 5px
}

.shop-list-content__btn {
	border: 2px solid #cfe6ea;
	border-radius: 10px;
	box-shadow: 7px 7px 0 #222;
	display: block;
	font-size: 26px;
	margin: 50px auto 0;
	max-width: 400px;
	padding: 10px 0;
	position: relative;
	text-align: center;
	width: 95%;
	background: -ms-linear-gradient(top, #63acbb 50%, #51a3b3 50%);
	background-image: linear-gradient(to bottom, #63acbb 0% 50%, #51a3b3 50% 100%);
	color: #fff
}

.shop-list-content__btn:hover {
	box-shadow: none;
	top: 7px;
	left: 7px
}

.shop-list-content__btn span {
	display: inline-block;
	font-size: 80%;
	margin-left: 30px;
	vertical-align: middle
}

@media (max-width: 1040px) {
	.shop-list-content__txt {
		font-size: 18px
	}

	.shop-list-content__btn {
		padding: 15px 0
	}
}

@media (max-width: 768px) {
	.shop-list-content__item {
		width: 48.5%
	}

	.shop-list-content__item:nth-child(n+3) {
		margin-top: 35px
	}

	.shop-list-content__ttl {
		font-size: 20px;
		font-size: 3.2vw
	}

	.shop-list-content__txt,
	.shop-list-content__area {
		font-size: 2.66vw;
		line-height: 1.3
	}

	.shop-list-content__txt {
		font-size: 3.2vw
	}

	.shop-list-content__area {
		margin-top: 0
	}
}

@media (max-width: 480px) {
	.shop-list-content {
		margin-top: 10%
	}

	.shop-list-content__btn {
		font-size: 18px
	}

	.shop-list-content__btn span {
		margin-left: 18px
	}
}

.pagination {
	margin-top: 50px
}

.pagination__list {
	display: flex;
	justify-content: center
}

.pagination__item {
	font-size: 24px;
	margin-right: 15px;
	text-align: center
}

.pagination__item:last-child {
	margin-right: 0
}

.pagination__item a:hover {
	background: #333333;
	color: #fff
}

.pagination__link,
.pagination__prev,
.pagination__next {
	border: 1px solid #333;
	border-radius: 5px;
	display: block;
	font-weight: bold
}

.pagination__link {
	padding: 15px 20px
}

.pagination__link.-now {
	background: #333333;
	color: #fff
}

.pagination__prev,
.pagination__next {
	padding: 15px
}

.pagination__prev.-disabled,
.pagination__next.-disabled {
	background: #eee;
	border-color: #eee;
	color: #999
}

@media (max-width: 768px) {
	.pagination__item {
		font-size: 20px
	}
}

@media (max-width: 480px) {
	.pagination {
		margin-top: 10%
	}

	.pagination__item {
		font-size: 14px;
		margin-right: 3%
	}

	.pagination__link {
		padding: 10px 15px
	}

	.pagination__prev,
	.pagination__next {
		padding: 10px
	}
}

.footer__top {
	background: #3d3d3d
}

.footer__inner {
	padding-top: 25px;
	padding-bottom: 25px;
	position: relative
}

.footer__bottom {
	background: #000;
	color: #fff;
	padding: 50px 0;
	text-align: center
}

.fotter__copy {
	font-size: 12px;
	letter-spacing: 0.08em
}

@media (max-width: 1500px) {
	.footer__bottom {
		box-sizing: border-box;
		height: 100px
	}
}

@media (max-width: 768px) {
	.footer__inner {
		padding: 5%
	}

	.fotter__copy {
		font-size: 2.66vw
	}
}

@media (max-width: 480px) {
	.footer__bottom {
		box-sizing: border-box;
		height: 100px
	}
}

.footer-bnr {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between
}

.footer-bnr__item {
	text-align: center;
	width: 32%
}

.footer-bnr__item:nth-child(n+4) {
	margin-top: 15px
}

.footer-bnr__item a:hover {
	opacity: 0.8
}

.footer-bnr__item img {
	vertical-align: bottom;
	width: 100%
}

@media (max-width: 1500px) {
	.footer-bnr__item {
		width: 49%
	}

	.footer-bnr__item:nth-child(n+3) {
		margin-top: 15px
	}
}

@media (max-width: 480px) {
	.footer-bnr__item {
		width: 100%
	}

	.footer-bnr__item:nth-child(n+2) {
		margin-top: 3%
	}
}

.page-top {
	position: fixed;
	bottom: 50px;
	right: 20px;
	z-index: 5
}

@media (max-width: 768px) {
	.page-top img {
		width: 40px
	}
}

#supportItem {
	background-color: #221F1F;
	color: #FFE000
}

.supportItem-body {
	padding: 15px 0 25px
}

@media (max-width: 480px) {
	.top-shop-body {
		padding: 1% 4% 3%
	}
}

.supportItem-link__top {
	position: relative
}

.supportItem-link__top a {
	display: block
}

.supportItem-link__top img {
	width: 100%
}

.supportItem-link__top:hover {
	opacity: 0.95
}

.supportItem-link__top:hover a::after {
	border: 10px solid #FFFFFF;
	content: "";
	height: calc(100% - 20px);
	position: absolute;
	top: 0;
	left: 0;
	width: calc(100% - 20px)
}

.supportItem__txt {
	font-size: 22px;
	font-weight: bold;
	line-height: 1.4;
	margin: 0 0 10px;
	text-align: center
}

@media (max-width: 768px) {
	.supportItem-link__top {
		padding-bottom: 0%
	}

	.supportItem__txt {
		font-size: 4vw;
		margin: 2% 0 2%
	}
}

.support-inner {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin-right: auto;
	margin-left: auto;
	max-width: 640px
}

@media (max-width: 640px) {
	.support-inner {
		padding-right: 5%;
		padding-left: 5%
	}
}

.participants {
	background: #f0e9d8;
	padding: 100px 0
}

.participants__inner {
	background: rgba(255, 255, 255, 0.3);
	padding: 40px
}

.participants__content {
	background: #fff;
	padding: 50px
}

.participants__ttl {
	color: #9696d7;
	text-align: center;
	font-weight: bold;
	font-size: 36px
}

.participants__txt {
	font-size: 18px;
	letter-spacing: 0.08em;
	line-height: 2;
	text-align: center;
	margin-top: 50px
}

.participants__txt span {
	color: #9696d7;
	font-weight: bold
}

.participaints__list {
	max-width: 630px;
	margin: 0 auto 30px
}

.participaints__list li {
	margin-top: 50px
}

.participaints__list a {
	display: block
}

.participaints__list a:hover {
	opacity: .7
}

.participaints__list .bnr img {
	width: 100%
}

.participaints__list .txt {
	padding: 10px 0 0;
	font-size: 18px;
	line-height: 1.5
}

@media (max-width: 1040px) {
	.participants {
		padding: 100px 4%
	}

	.participants__inner {
		padding: 20px
	}

	.participants__content {
		padding: 30px
	}

	.participants__txt {
		margin-top: 40px
	}
}

@media (max-width: 768px) {
	.participants {
		padding: 50px 4% 100px
	}

	.participants__inner {
		padding: 3%
	}

	.participants__content {
		padding: 10% 4%
	}

	.participants__ttl {
		font-size: 5.7vw
	}

	.participants__txt {
		font-size: 3.7vw;
		line-height: 1.7;
		text-align: left
	}

	.participaints__list {
		margin: 0 auto 4%
	}

	.participaints__list li {
		margin-top: 12%;
	}

	.participaints__list .txt {
		font-size: 3.7vw;
	}
}

@media (max-width: 480px) {
	.participants {
		padding: 10% 4% 20%;
	}

	.participants__txt {
		margin-top: 8%;
	}
}

/* エラーページ用追記 */

.error__list {
	margin-top: 40px;
}

.error__item {
	margin-top: 25px;
	text-align: center;
}

.error__item a {
	border: 1px solid #9696d7;
	border-radius: 10px;
	box-sizing: border-box;
	color: #9696d7;
	display: block;
	font-size: 20px;
	/* font-weight: bold; */
	padding: 20px 0;
	width: 100%;
}

.error__item a:hover {
	background: rgba(255, 255, 255, 0.2);
}

.error__item a span {
	font-size: 23px;
	/* font-weight: bold; */
}

@media (max-width: 768px) {
	.error__inner {
		padding-top: 60px
	}

	.error__list {
		margin-top: 0
	}
}

@media (max-width: 800px) {
	.error__inner {
		padding-right: 2%;
		padding-left: 2%
	}

	.error__item a {
		font-size: 20px;
		font-size: 4vw
	}

	.error__item a span {
		font-size: 90%
	}
}

@media (max-width: 480px) {
	.error__img img {
		width: 80%
	}

	.error__item {
		margin-top: 20px
	}

	.error__item:first-child {
		margin-top: 10px
	}

	.error__item a {
		font-size: 16px;
		font-size: 4vw
	}
}