/* stamp-rally page
----------------------------------------------------- */

*, *::after, *::before {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}

.common_news_info  {
	z-index: 500;
}
.stamp-rally .bg-green {
	background-color: #F0F4EF;
}

.stamp-rally {
	position: relative;
}
 p {
	margin-bottom: 0;
}
@media screen and (max-width: 768px) {
	br.pc {
		display: none;
	}
}
@media screen and (min-width: 768px) {
	br.sp {
		display: none;
	}
}

button {
	outoline: none;
}
button:focus,button:hover {
	outoline: none!important;
}

/* モーダル表示 スクロールストップ */
body.no-scroll {
	overflow: hidden;
}


/* layout
----------------------------------------------------- */
.sr-section {
	position: relative;
}
.sr-section-inner {
	position: relative;
	max-width: 1080px;
	width: 77.142857143vw;
	margin: 0 auto;
}
@media screen and (max-width: 768px) {
	.sr-section-inner {
		width: 100%;
		padding: 0 7.466666667vw;
	}
}


/* fixed-item
----------------------------------------------------- */
.sr-fixed-item {
	z-index: 200;
	position: fixed;
	right: 0;
	top: 200px;
	background-color: #F2EA2B;
	border-radius: 6px 0 0 6px;
	width: 198px;
	padding: 17px 18px 15px;
	box-shadow: 0px 0px 11px 0px  rgba(0,0,0,0.2);
	transition: width .3s;
}
.sr-fixed-item.is-small {
	width: 138px;
}
.sr-fixed-heading {
	font-size: 14px;
	letter-spacing: .04em;
	font-weight: bold;
	margin-bottom: 16px;
	text-align: center;
}
.sr-fixed-btnContainer {
	display: flex;
	flex-direction: column;
}
.sr-fixed-btn {
	pointer-events: none;
	text-align: center;
	background-color: #fff;
	border-radius: 6px;
	color: #939393;
	font-weight: bold;
	font-size: 14px;
	padding: 12px .7em 14px;
	box-shadow: 0px 0px 9px 0px  rgba(0,0,0,0.2);
	align-items: center;
  justify-content: center;
  display: flex;
}
.sr-fixed-btn + .sr-fixed-btn {
	margin-top: 8px;
}
.sr-fixed-btn.active {
	color: #43C45C;
	pointer-events: all;
	cursor: pointer;
}

@media screen and (max-width: 768px) {
	.sr-fixed-item {
		right: auto;
		left: 0;
		top: auto;
		bottom: 0;
		border-radius: 0;
		width: 100%;
		padding: 14px 7.466666667vw 13px;
	}
	.sr-fixed-heading {
		margin-bottom: 6px;
	}

	.sr-fixed-btnContainer {
		flex-direction: row;
		justify-content: space-between;
	}
	.sr-fixed-btn {
		width: calc((100% - 1vw)/2);
	}

	.sr-fixed-btn + .sr-fixed-btn {
		margin-top: 0;
	}
}


/* hero
----------------------------------------------------- */
.sr-hero {
	height: calc(100vh - 183px);
	max-height: 600px;
}
@media screen and (max-width: 768px) {
	.sr-hero {
		height: auto;
		min-height: calc(100vh - 96px);
		max-height: none;
	}
}

/* hero-txt */
.sr-hero-txt {
	position: relative;
	top: 6vw;
}
@media screen and (min-width: 1400px) {
	.sr-hero-txt {
		top: 84px;
	}
}
.sr-hero-logo {
	max-width: 465px;
	width: 33.214285714vw;
	margin-bottom: 24px;
}
.sr-hero-catch {
	font-size: 24px;
	letter-spacing: .09em;
	font-weight: bold;
	margin-bottom: 24px;
}
.sr-hero-desc {
	font-size: 14px;
	letter-spacing: .09em;
	line-height: 1.8;
}
@media screen and (max-width: 768px) {
	.sr-hero-txt {
		top: 0;
		padding-top:10.666666667vw;
	}
	.sr-hero-logo {
		max-width: none;
		width: 100%;
		margin-bottom: 15px;
	}
	.sr-hero-catch {
		letter-spacing: .04em;
		font-size: 23px;
		margin-bottom: 16px;
	}
	.sr-hero-desc {
		letter-spacing: .04em;
	}
}
/* sr-achievement */
.sr-achievement {
	z-index: 10;
	position: absolute;
	left: 50%;
	top: 2.642857143vw;
	background-image: url(../images/stamp-rally/balloon.png);
	background-size: cover;
	background-position: center;
	max-width: 370px;
	width: 26.428571429vw;
	max-height: 401.47px;
	height: 28.676428571vw;
	color: #DBC30D;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}
@media screen and (min-width: 1400px) {
	.sr-hero-txt {
		top: 37px;
	}
}
.sr-achievement-desc {
	position: relative;
	font-size: 24px;
	letter-spacing: .09em;
	font-weight: bold;
	white-space: nowrap;
	line-height: 1;
}
.sr-achievement-desc::before,
.sr-achievement-desc::after {
	content: "";
	display: block;
	background-color: #DBC30D;
	width: 1px;
	height: 24px;
	position: absolute;
	top: 0;
}
.sr-achievement-desc::before {
	left: -24%;
	transform: rotate(-40deg);
}
.sr-achievement-desc::after {
	transform: rotate(40deg);
	right: -24%;
}
.sr-achievement-rate {
	margin-bottom: 20px;
	line-height: 1;
}
.sr-achievement-rateNum {
	font-family: fatfrank, sans-serif;
	font-size: 12.785714286vw;
	letter-spacing: .02em;
	position: relative;
}
.sr-achievement-rateParcent {
	display: block;
	position: absolute;
	right: -14%;
	top: 45%;
	font-family: fatfrank, sans-serif;
	font-size: 6.428571429vw;
	font-weight: bold;
}

@media screen and (min-width: 1400px) {
	.sr-achievement-rateNum {
		font-size: 179px;
	}
	.sr-achievement-rateParcent {
		font-size: 90px;
	}

}
@media screen and (max-width: 768px) {
	.sr-achievement {
		z-index: 10;
		position: relative;
		top: 0;
		transform: translateX(-50%);
		max-width: none;
		width: 43.2vw;
		max-height: none;
		height: 46.810666667vw;
		margin-top: 32px;
	}
	.sr-achievement-desc::before,
	.sr-achievement-desc::after {
		top: -4px;
	}
	.sr-achievement-desc::before {
		left: -27%;
	}
	.sr-achievement-desc::after {
		right: -27%;
	}
	.sr-achievement-desc {
		font-size: 4.266666667vw;
		letter-spacing: .09em;
	}
	.sr-achievement-rateNum {
		font-size: 32.266666667vw;
	}
	.sr-achievement-rateParcent {
		right: -52%;
		font-size: 16vw;
	}
}
/* sr-mount */
.sr-mount {
	z-index: 40;
	position: absolute;
	right: 0;
	bottom: 0;
	max-width: 678px;
	max-height: 282px;
	width: 48.428571429vw;
	height: 20.142857143vw;
	background-image: url(../images/stamp-rally/mount.png);
	background-size: cover;
	background-position: center;
}
@media screen and (max-width: 768px) {
	.sr-mount {
		z-index: 4;
		position: relative;
		margin-top: -10vw;
		max-width: none;
		width: 100%;
		max-height: none;
		height: 50.4vw;
	}
}
/* 花 */

.sr-flower {
	display: block;
	background-image: url(../images/stamp-rally/flower.png);
	background-size: cover;
	background-position: center;
	position: absolute;
}
.sr-flower.large {
	max-width: 41px;
	max-height: 41px;
	width: 2.975vw;
	height: 2.975vw;
}
.sr-flower.middle {
	max-width: 33px;
	max-height: 33px;
	width: 2.394285714vw;
	height: 2.394285714vw;
}
.sr-flower.small {
	max-width: 24px;
	max-height: 24px;
	width: 1.739285714vw;
	height: 1.739285714vw;
}
@media screen and (max-width: 768px) {
	.sr-flower.large {
		max-width: none;
		max-height: none;
		width: 7.282666667vw;
		height: 7.282666667vw;
	}
	.sr-flower.middle {
		max-width: none;
		max-height: none;
		width: 5.861333333vw;
		height: 5.861333333vw;
	}
	.sr-flower.small {
		max-width: none;
		max-height: none;
		width: 4.256vw;
		height: 4.256vw;
	}
}
/* 花の位置 */
.sr-flower.f-1{
	top: 13.8vw;
	left: 8.871428571vw;
}
@media screen and (min-width: 1400px) {
	.sr-flower.f-1{
		top: 193px;
		left: 124px;
	}
}
@media screen and (max-width: 768px) {
	.sr-flower.f-1{
		top: 36.453333333vw;
		left: 9.68vw;
	}
}

.sr-flower.f-2{
	top: 12.3vw;
	left: 13.871428571vw;
}
@media screen and (min-width: 1400px) {
	.sr-flower.f-2{
		top: 172px;
		left: 194px;
	}
}
@media screen and (max-width: 768px) {
	.sr-flower.f-2{
		top: 32.773333333vw;
		left: 21.92vw;
	}
}

.sr-flower.f-3{
	top: 9.942857143vw;
	left: 21.085714286vw;
}
@media screen and (min-width: 1400px) {
	.sr-flower.f-3{
		top: 139px;
		left: 295px;
	}
}
@media screen and (max-width: 768px) {
	.sr-flower.f-3{
		top: 27.013333333vw;
		left: 39.6vw;
	}
}

.sr-flower.f-4{
	top: 14.657142857vw;
	left: 23.8vw;
}
@media screen and (min-width: 1400px) {
	.sr-flower.f-4{
		top: 205px;
		left: 333px;
	}
}
@media screen and (max-width: 768px) {
	.sr-flower.f-4{
		top: 38.56vw;
		left: 45.56vw;
	}
}

.sr-flower.f-5{
	top: 9.3vw;
	left: 30.857142857vw;
}
@media screen and (min-width: 1400px) {
	.sr-flower.f-5{
		top: 130px;
		left: 432px;
	}
}
@media screen and (max-width: 768px) {
	.sr-flower.f-5{
		top: 25.44vw;
		left: 61.973333333vw;
	}
}

.sr-flower.f-6{
	top: 7.25vw;
	left: 17.985714286vw;
}
@media screen and (min-width: 1400px) {
	.sr-flower.f-6{
		top: 101px;
		left: 251px;
	}
}
@media screen and (max-width: 768px) {
	.sr-flower.f-6{
		top: 20.426666667vw;
		left: 32vw;
	}
}

.sr-flower.f-7{
	top: 11.442857143vw;
	left: 35.3vw;
}
@media screen and (min-width: 1400px) {
	.sr-flower.f-7{
		top: 160px;
		left: 494px;
	}
}
@media screen and (max-width: 768px) {
	.sr-flower.f-7{
		top: 30.221429vw;
		left: 74.4vw;
	}
}

.sr-flower.f-8{
	top: 9.014285714vw;
	left: 38.3vw;
}
@media screen and (min-width: 1400px) {
	.sr-flower.f-8{
		top: 126px;
		left: 536px;
	}
}
@media screen and (max-width: 768px) {
	.sr-flower.f-8{
		top: 24.746666667vw;
		left: 81.733333333vw;
	}
}

.sr-flower.f-9{
	top: 15.914285714vw;
	left: 13.414285714vw;
}
@media screen and (min-width: 1400px) {
	.sr-flower.f-9{
		top: 222px;
		left: 187px;
	}
}
@media screen and (max-width: 768px) {
	.sr-flower.f-9{
		top: 41.653333333vw;
		left: 32.826666667vw;
	}
}

.sr-flower.f-10{
	top: 15.914285714vw;
	left: 16.842857143vw;
}
@media screen and (min-width: 1400px) {
	.sr-flower.f-10{
		top: 222px;
		left: 235px;
	}
}
@media screen and (max-width: 768px) {
	.sr-flower.f-10{
		top: 41.653333333vw;
		left: 20.2vw;
	}
}

.sr-flower.f-11{
	top: 13.771428571vw;
	left: 26.771428571vw;
}
@media screen and (min-width: 1400px) {
	.sr-flower.f-11{
		top: 192px;
		left: 374px;
	}
}
@media screen and (max-width: 768px) {
	.sr-flower.f-11{
		top: 36.4vw;
		left: 53.52vw;
	}
}

.sr-flower.f-12{
	top: 15.914285714vw;
	left: 34.057142857vw;
}
@media screen and (min-width: 1400px) {
	.sr-flower.f-12{
		top: 222px;
		left: 476px;
	}
}
@media screen and (max-width: 768px) {
	.sr-flower.f-12{
		top: 41.653333333vw;
		left: 71.333333333vw;
	}
}

.sr-flower.f-13{
	top: 5.485714286vw;
	left: 34.414285714vw;
}
@media screen and (min-width: 1400px) {
	.sr-flower.f-13{
		top: 76px;
		left: 481px;
	}
}
@media screen and (max-width: 768px) {
	.sr-flower.f-13{
		top: 16.106666667vw;
		left: 72.213333333vw;
	}
}

.sr-flower.f-14{
	top: 13.842857143vw;
	left: 39.55vw;
}
@media screen and (min-width: 1400px) {
	.sr-flower.f-14{
		top: 193px;
		left: 553px;
	}
}
@media screen and (max-width: 768px) {
	.sr-flower.f-14{
		top: 36.56vw;
		left: 84.773333333vw;
	}
}

.js-flower {
	display: none;
}
.js-flower.active {
	display: block;
}

/* sr-content
----------------------------------------------------- */
.sr-content {
	position: relative;
	padding: 110px 0 120px;
}
@media screen and (max-width: 768px) {
	.sr-content {
		position: relative;
		padding: 48px 0 55px;
	}
}

/* sr-stamp
----------------------------------------------------- */

.sr-stamp {
}

/* container list */
.sr-stamp-containerList {
}

.sr-stamp-container {
	/* border-bottom: 1px solid #221815; */
}
.sr-stamp-container + .sr-stamp-container {
	margin-top: 17px;
}
@media screen and (max-width: 768px) {

}

/* container toggle */
.sr-stamp-heading {
	font-size: 18px;
	letter-spacing: .09em;
	font-weight: bold;
	cursor: pointer;
	padding: 20px 60px 20px 0;
	margin-bottom: 20px;
	position: relative;
	border-bottom: 1px solid #221815;
}

.sr-stamp-headingToggle {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 44px;
	height: 44px;
	background-color: #221815;
	border-radius: 50%;
}

.sr-stamp-headingToggle::before,
.sr-stamp-headingToggle::after {
	content: "";
	display: block;
	background-color: #fff;
	width: 19px;
	height: 3px;
	position: absolute;
	left: 50%;
	top: 50%;
}
.sr-stamp-headingToggle::before {
	transform: translate(-50%,-50%);
}
.sr-stamp-headingToggle::after {
	transform: translate(-50%,-50%) rotate(90deg);
	transition: transform .4s ease;
}
.sr-stamp-heading.active .sr-stamp-headingToggle::after {
	transform: translate(-50%,-50%);
}
.sr-stamp-content {
	overflow: hidden;
	display: none;
}
@media screen and (max-width: 768px) {

}

/* stamp item */
.sr-stamp-itemList {
	display: flex;
	flex-wrap: wrap;
	padding: 0 0 40px;
}
.sr-stamp-item {
	max-width: 160px;
	width: 11.428571429vw;

}
@media all and (-ms-high-contrast: none) {
	.sr-stamp-item {
		max-width: 160px;
		width: 10.92vw;

	}
    }
@media screen and (min-width: 768px) {
	.sr-stamp-item:not(:nth-child(6n + 1)) {
		margin-left: 1.714285714vw;
	}
	@media screen and (min-width: 1400px) {
		.sr-stamp-item:not(:nth-child(6n + 1)) {
			margin-left: 24px;
		}
	}
	.sr-stamp-item:nth-child(n + 7) {
		margin-top: 18px;
	}
}

.sr-stamp-btn {
	cursor: pointer;
	background-color: #fff;
	border-right: 8px;

	max-height: 160px;
	height: 11.428571429vw;
	border-radius: 8px;
	margin-bottom: 10px;
	padding: 10px;
}

.js-stamp img {
	display: none;
}

.js-stamp.active img {
	display: block;
}
.sr-stamp-name {
	font-size: 14px;
	letter-spacing: .09em;
	line-height: 1.6;
}
@media screen and (max-width: 768px) {
	.sr-stamp-itemList {
		justify-content: space-between;
	}
	.sr-stamp-item {
		max-width: none;
		width: calc((100% -	4.266666667vw)/2);
	}
	.sr-stamp-item:nth-child(n + 3) {
		margin-top: 8.533333333vw;
	}
	.sr-stamp-btn {
		max-height: none;
		height: 40.533333333vw;
	}
}




/* sr-modal
----------------------------------------------------- */

.sr-modal {
	z-index: 5000;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	visibility: hidden;
	opacity: 0;
	transition: visibility .3s, opacity .3s;
}
.sr-modal.active {
	visibility: visible;
	opacity: 1;
}
.sr-modal-bg {
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
}
.sr-modal-item {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	max-width: 880px;
	width: 62.857142857vw;
	/* max-height: 715px; */
	/* max-height: 51.071428571vw; */
	background-color: #fff;
	border-radius: 5px;
	box-shadow: 0px 0px 11px 0px  rgba(0,0,0,0.2);
	padding: 74px 0;
	overflow: scroll;

}
@media screen and (min-width: 1400px) {
	.sr-modal-item {
		/* max-height: 715px; */
	}
}
.sr-modal-inner {
	width: 50%;
	margin: 0 auto;
}

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

	.sr-modal {
		height: 100vh;
		height: calc(var(--vh, 1vh) * 100);
	}
	.sr-modal-item {
		width: 91.466666667vw;
		padding: 40px 0;
		max-height: 88%;
		-webkit-overflow-scrolling: touch;
		overflow: scroll;
	}
	.sr-modal-inner {
		width: 81.632653061%;
	}
}

.sr-modal-close {
	cursor: pointer;
	position: absolute;
	right: 30px;
	top: 30px;
	max-width: 40px;
	max-height: 40px;
	width: 2.857142857vw;
	height: 2.857142857vw;
}
.sr-modal-close span {
	display: block;
	height: 1px;
	width: 100%;
	background-color: #221815;
	position: absolute;
	left: 0;
	top: 50%;
}
.sr-modal-close span:nth-child(1) {
	transform: translateY(-50%) rotate(45deg);
}
.sr-modal-close span:nth-child(2) {
	transform: translateY(-50%) rotate(-45deg);
}

@media screen and (max-width: 768px) {
	.sr-modal-close {
		width: 8.8vw;
		height: 8.8vw;
	}
}
.sr-sns {
	display: flex;
	align-items: center;
	margin-bottom: 16px;
	justify-content: flex-end;
	line-height: 0;
}
.sr-sns-heading {
	font-family: fatfrank, sans-serif;
	margin-right: 16px;
	font-size: 14px;
	letter-spacing: .09em;
}
.sr-sns-list {
	display: flex;
}
.sr-sns-item {
	display: block;
	max-width: 34px;
	width: 2.428571429vw;
	max-height: 34px;
	height: 2.428571429vw;
}
.sr-sns-item + .sr-sns-item {
	margin-left: 8px;
}

@media screen and (max-width: 768px) {
	.sr-modal {
	}
	.sr-sns {
		justify-content: flex-start;
	}
	.sr-sns-item {
		min-width: none;
		min-height: none;
		width: 9.066666667vw;
		height: 9.066666667vw;
	}
}

.sr-modal-img {
	max-width: 100%;
	margin-bottom: 24px;
	font-size: 14px;
	letter-spacing: .09em;
	border: 1px solid #999;
}

.sr-modal-message {
	margin-bottom: 20px;
	text-align: center;
}

.sr-modal-btn {
	display: block;
	padding: 16px 1em;
	color: #fff;
	background-color: #43C45C;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: .09em;
	margin: 0 auto;
	border-radius: 2em;
	text-align: center;
	max-width: 324px;
}
.sr-modal-btn:hover {
	color: #fff;
}
.sr-modal-btn img {
	display: inline-block;
	width: 14px;
}
@media screen and (max-width: 768px) {
	.sr-modal-message {
		text-align: left;
	}
}
