/* 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 (min-width: 769px) {
	footer{
		padding: 15px 0 161px !important;
	}
}
@media screen and (max-width: 768px) {
	.sr-section-inner {
		width: 100%;
		padding: 0 7.466666667vw;
	}
	footer{
		padding: 15px 0 110px !important;
	}
}


/* fixed-item
----------------------------------------------------- */
.sr-fixed-item {
	z-index: 200;
	position: fixed;
	right: 0;
	bottom: 0;
	background-color: #43C45C;
	width: 100%;
	height: 55px;
	padding: 8px 0 7px;
	transition: width .3s;
	transition: .4s ease-in-out;
}
.sr-fixed-item.is-small {
	/* width: 138px; */
}
.sr-fixed-heading {
	font-size: 14px;
	letter-spacing: .04em;
	font-weight: bold;
	margin-bottom: 0;
	color: #F2EA2B;
	display: inline-block;
}
.sr-fixed-btnContainer {
	display: flex;
	flex-direction: column;
}
.sr-fixed-btn {
	display: inline-block;
	pointer-events: none;
	text-align: center;
	background-color: #fff;
	border-radius: 6px;
	color: #bbb;
	font-weight: bold;
	font-size: 14px;
	padding: 8px .7em 9px;
	min-width: 147px;
	max-width: 230px;
	margin-left: 30px;
}
.sr-fixed-btn + .sr-fixed-btn {
	margin-top: 8px;
}
.sr-fixed-btn.active {
	color: #43C45C;
	pointer-events: all;
	cursor: pointer;
}
.sr-fixed-itemWrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.sr-fixed-itemLeft{
	padding-left: 100px;
}
.sr-fixed-itemRight{
	/* width: 100%;
	max-width: 430px; */
	padding-right: 13px;
}
.sr-fixed-itemWord{
	padding-top: 4px;
}
.sr-fixed-itemWord .sr-achievement-rateNum{
	font-size: 20px;
	color: #fff;
}

@media screen and (max-width: 768px) {
	.sr-fixed-item {
		right: auto;
		left: 0;
		top: auto;
		bottom: -84px;
		border-radius: 0;
		width: 100%;
		height: 84px;
		padding: 9px 7.466666667vw 11px;
		text-align: center;
	}
	.sr-fixed-item.is-show{
		bottom: 0;
	}
	.sr-fixed-heading {
		display: none;1
	}

	.sr-fixed-btnContainer {
		flex-direction: row;
		justify-content: space-between;
	}
	.sr-fixed-btn {
		margin-left: 0;
		margin-top: 5px;
	}

	.sr-fixed-btn + .sr-fixed-btn {
		margin-top: 0;
	}
	.sr-fixed-itemWrap{
		display: block;
	}
	.sr-fixed-itemLeft{
		padding-left: 0;
	}
	.sr-fixed-itemRight{
		width: 100%;
		max-width: none;
		padding-right: 0;
		display: block;
	}
	.sr-fixed-itemWord{
		padding-top: 0;
		line-height: 1;
	}
}

/* fixed-bar
----------------------------------------------------- */
.sr-fixed-bar {
	z-index: 200;
	position: fixed;
	left: 0;
	bottom: 55px;
	width: 100%;
	height: 6px;
	background: #CECECE;
	overflow: hidden;
	transition: .4s ease-in-out;
}
.sr-fixed-barStatus{
	z-index: 10;
	position: absolute;
	left: 0;
	top: 0;
	width: 0;
	height: 6px;
	background: #F2EA2B;
	transition: .3s ease-in-out;
}
@media screen and (max-width: 768px) {
	.sr-fixed-bar {
		bottom: -4px;
		height: 4px;
	}
	.sr-fixed-barStatus{
		height: 4px;
	}
	.sr-fixed-bar.is-show {
		bottom: 84px;
		height: 4px;
	}
}

/* hero
----------------------------------------------------- */
.sr-hero {
	/* height: calc(100vh - 244px); */
	height: calc(100vh - 183px);
	min-height: 550px;
	position: relative;
}
@media screen and (max-width: 768px) {
	.sr-hero {
		height: auto;
		min-height: calc(100vh - 96px);
		max-height: none;
		padding-bottom: 30vw;
	}
}
.sr-hero .sr-section-inner {
	height: 100%;
	position: relative;
}

/* hero-txt */
.sr-hero-txt {
	position: relative;
	top: 50%;
	transform: translateY(-60%);
}
@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;
}
.sr-hero-note {
	font-size: 14px;
	letter-spacing: .05em;
	line-height: 1.8;
	font-weight: bold;
	margin-top: 20px;
}
.sr-hero-txtWrap {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: 36vw;
	max-width: 490px;
}
.sr-hero-txtLeft {
	width: 100%;
}
.sr-hero-txtRight {
	width: 19%;
}
@media screen and (max-width: 768px) {
	.sr-hero-txt {
		top: 0;
		padding-top:10.666666667vw;
		transform: translateY(0);
	}
	.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-hero-txtWrap {
		display: block;
		width: 100%;
		max-width: 100%;
	}
	.sr-hero-txtLeft {
		width: 100%;
		padding-right: 0;
	}
	.sr-hero-txtRight {
		width: 100%;
		display: none;
	}
}
/* sr-achievement */
.sr-achievement {
	z-index: 10;
	position: absolute;
	left: 58.142857143%;
	top: 50%;
	transform: translateY(-140%);
	background-image: url(../images/stamp-rally/stamp_pop.png);
	background-size: 100% auto;
	background-position: center;
	background-repeat: no-repeat;
	max-width: 426px;
	width: 30.428571429vw;
	max-height: 148px;
	height: 10.571428571vw;
	color: #DBC30D;
	display: flex;
	justify-content: center;
	padding-top: 2.357142857vw;
}
@media screen and (min-width: 1400px) {
	/* .sr-hero-txt {
		top: 37px;
	}
	.sr-achievement {
		padding-top: 30px;
		top: 50px;
	} */
}
.sr-achievement-desc {
	position: absolute;
	top: -7px;
	left: 50%;
	transform: translateX(-50%);
	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 {
	line-height: 1;
}
.sr-achievement-rateNum {
	font-family: dnp-shuei-mgothic-std, sans-serif;
	font-size: 2.2vw;
	font-weight: bold;
	letter-spacing: .02em;
	position: relative;
	color: #221815;
}
.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: 29px;
	}
	.sr-achievement-rateParcent {
		font-size: 90px;
	}

}
@media screen and (max-width: 768px) {
	.sr-achievement {
		z-index: 10;
		position: relative;
		top: 0;
		left: 0;
		transform: translateY(0);
		max-width: none;
		width: 85.333333333%;
		max-height: none;
		height: 26.933333333vw;
		margin: 0 auto;
		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-rate {
		padding-top: 2.933333333vw;
	}
	.sr-achievement-rateNum {
		font-size: 6vw;
	}
	.sr-achievement-rateParcent {
		right: -52%;
		font-size: 16vw;
	}
}
/* sr-mount */
.sr-mount {
	z-index: 40;
	position: absolute;
	right: 0;
	bottom: 61px;
	max-width: 818px;
	max-height: 360px;
	width: 58.428571429vw;
	height: 25.714285714vw;
	background-image: url(../images/stamp-rally/mount.png);
	background-size: cover;
	background-position: center;
	transform-origin: right bottom;
	transition: .4s ease-in-out;
}
.sr-mount.is-fixed {
	position: fixed;
	bottom: 61px;
}
.sr-mount.is-small {
	transform: scale(0.56);
}
.sr-mount.is-hide {
	opacity: 0;
	z-index: -1;
	height: 0;
}
@media screen and (max-width: 768px) {
	.sr-mount {
		z-index: 4;
		position: absolute;
		max-width: none;
		width: 86.666666667vw;
		max-height: none;
		height: 38.666666667vw;
		bottom: 0;
	}
	.sr-mount.is-fixed {
		bottom: 0;
	}
	.sr-mount.is-small {
		transform: scale(0.72);
		bottom: 88px;
	}
}
/* 花 */

.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: 51px;
	max-height: 51px;
	width: 3.662142857vw;
	height: 3.662142857vw;
}
.sr-flower.middle {
	max-width: 41px;
	max-height: 41px;
	width: 2.947142857vw;
	height: 2.947142857vw;
}
.sr-flower.small {
	max-width: 30px;
	max-height: 30px;
	width: 2.140714286vw;
	height: 2.140714286vw;
}
@media screen and (max-width: 768px) {
	.sr-flower.large {
		max-width: none;
		max-height: none;
		width: 5.4933333vw;
		height: 5.4933333vw;
	}
	.sr-flower.middle {
		max-width: none;
		max-height: none;
		width: 4.42667vw;
		height: 4.42667vw;
	}
	.sr-flower.small {
		max-width: none;
		max-height: none;
		width: 3.21067vw;
		height: 3.21067vw;
	}
}
/* 花の位置 */
.sr-flower.f-1{
	top: 19vw;
	left: 10.785714286vw;
}
@media screen and (min-width: 1400px) {
	.sr-flower.f-1{
		top: 266px;
		left: 151px;
	}
}
@media screen and (max-width: 768px) {
	.sr-flower.f-1{
		top: 28.533333333vw;
		left: 16vw;
	}
}

.sr-flower.f-2{
	top: 17.142857143vw;
	left: 16.928571429vw;
}
@media screen and (min-width: 1400px) {
	.sr-flower.f-2{
		top: 240px;
		left: 237px;
	}
}
@media screen and (max-width: 768px) {
	.sr-flower.f-2{
		top: 25.89333vw;
		left: 25.28vw;
	}
}

.sr-flower.f-3{
	top: 14.285714286vw;
	left: 25.857142857vw;
}
@media screen and (min-width: 1400px) {
	.sr-flower.f-3{
		top: 200px;
		left: 362px;
	}
}
@media screen and (max-width: 768px) {
	.sr-flower.f-3{
		top: 21.54667vw;
		left: 38.61333vw;
	}
}

.sr-flower.f-4{
	top: 20.0714285714286vw;
	left: 29.1428571428571vw;
}
@media screen and (min-width: 1400px) {
	.sr-flower.f-4{
		top: 281px;
		left: 408px;
	}
}
@media screen and (max-width: 768px) {
	.sr-flower.f-4{
		top: 30.26667vw;
		left: 43.62667vw;
	}
}

.sr-flower.f-5{
	top: 13.5vw;
	left: 37.0714285714286vw;
}
@media screen and (min-width: 1400px) {
	.sr-flower.f-5{
		top: 189px;
		left: 519px;
	}
}
@media screen and (max-width: 768px) {
	.sr-flower.f-5{
		top: 20.37333vw;
		left: 55.49333vw;
	}
}

.sr-flower.f-6{
	top: 10.9285714285714vw;
	left: 22vw;
}
@media screen and (min-width: 1400px) {
	.sr-flower.f-6{
		top: 153px;
		left: 308px;
	}
}
@media screen and (max-width: 768px) {
	.sr-flower.f-6{
		top: 16.58667vw;
		left: 32.88vw;
	}
}

.sr-flower.f-7{
	top: 16.1428571428571vw;
	left: 43.3571428571429vw;
}
@media screen and (min-width: 1400px) {
	.sr-flower.f-7{
		top: 226px;
		left: 607px;
	}
}
@media screen and (max-width: 768px) {
	.sr-flower.f-7{
		top: 24.32vw;
		left: 64.85333vw;
	}
}

.sr-flower.f-8{
	top: 13.142857143vw;
	left: 47vw;
}
@media screen and (min-width: 1400px) {
	.sr-flower.f-8{
		top: 184px;
		left: 658px;
	}
}
@media screen and (max-width: 768px) {
	.sr-flower.f-8{
		top: 19.84vw;
		left: 70.4vw;
	}
}

.sr-flower.f-9{
	top: 21.6428571428571vw;
	left: 15.8571428571429vw;
}
@media screen and (min-width: 1400px) {
	.sr-flower.f-9{
		top: 303px;
		left: 222px;
	}
}
@media screen and (max-width: 768px) {
	.sr-flower.f-9{
		top: 32.58667vw;
		left: 30.77333vw;
	}
}

.sr-flower.f-10{
	top: 21.6428571428571vw;
	left: 20.6428571428571vw;
}
@media screen and (min-width: 1400px) {
	.sr-flower.f-10{
		top: 303px;
		left: 289px;
	}
}
@media screen and (max-width: 768px) {
	.sr-flower.f-10{
		top: 32.58667vw;
		left: 23.65333vw;
	}
}

.sr-flower.f-11{
	top: 18.5714285714286vw;
	left: 32.8571428571429vw;
}
@media screen and (min-width: 1400px) {
	.sr-flower.f-11{
		top: 266px;
		left: 460px;
	}
}
@media screen and (max-width: 768px) {
	.sr-flower.f-11{
		top: 28.64vw;
		left: 49.12vw;
	}
}

.sr-flower.f-12{
	top: 8.78571428571429vw;
	left: 42.2142857142857vw;
}
@media screen and (min-width: 1400px) {
	.sr-flower.f-12{
		top: 123px;
		left: 591px;
	}
}
@media screen and (max-width: 768px) {
	.sr-flower.f-12{
		top: 32.58667vw;
		left: 62.56vw;
	}
}

.sr-flower.f-13{
	top: 21.6428571428571vw;
	left: 41.7857142857143vw;
}
@media screen and (min-width: 1400px) {
	.sr-flower.f-13{
		top: 303px;
		left: 585px;
	}
}
@media screen and (max-width: 768px) {
	.sr-flower.f-13{
		top: 13.33333vw;
		left: 63.22667vw;
	}
}

.sr-flower.f-14{
	top: 19.0714285714286vw;
	left: 48.5714285714286vw;
}
@media screen and (min-width: 1400px) {
	.sr-flower.f-14{
		top: 267px;
		left: 680px;
	}
}
@media screen and (max-width: 768px) {
	.sr-flower.f-14{
		top: 28.77333vw;
		left: 72.69333vw;
	}
}

.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;
	position: relative;
}
.sr-stamp-leader{
	display: inline-block;
	font-style: normal;
	line-height: 1;
	vertical-align: bottom;
}
@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%; */
	max-width: 212px;
	margin: 0 auto 24px;
	font-size: 14px;
	letter-spacing: .09em;
	border: 1px solid #999;
}

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

.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-img {
		max-width: 130px;
	}
}
