@charset "UTF-8";

html,body{
	scroll-padding-top: 80px;
	font-family: 'Noto Sans JP', sans-serif;
	font-size:16px;
    font-weight: 500;
	line-height: 1.8;
	color:#1C2A54;
}
ul, li, h1, h2, h3, p, div, section,a{margin: 0;padding: 0; box-sizing: border-box;}

.wrapper{overflow: hidden;}
.con-inner{
	width:95%;
	max-width:1000px;
	margin: 0 auto;
	padding: 0;
	position: relative
}
@media (max-width: 768px) {
	html,body{
		font-size:3.6vw
	}
	.con-inner{
		width:90%;
		max-width:initial;
	}
    footer{
        padding-bottom: 0;
    }
}
#kitakata{
    width: 100%;
	background: #fff;
}
#kitakata img{
	width:100%;
	vertical-align: bottom;
}

/* ------- common ------- */
section{
	padding:100px 0 ;
}
.sec-ttl{
    font-size: 45px;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom:40px;
}
.sec-ttl span{
    position: relative;
    margin-left:60px;
}
.sec-ttl span::before{
    content:'';
    position: absolute;
    background: url(../image/icon_maru.svg) no-repeat;
    width: 44px;
    height:44px;
    top:0;
    bottom:0;
    margin:auto;
    left:-60px;
}
.txt-large{
    font-size: 26px;
    font-weight: 700;
}
.txt-note{
    font-size: 14px;
}
.mark{
    background: linear-gradient(transparent 85%, #f5d900 85%);
}
.col-red{
	color: #df0011;
}
.tac{
	text-align: center;
}

/* btn */
.btn-group{
	display: flex;
	justify-content: center;
	gap:40px;
}
.btn{
	position: relative;
	display: block;
    color:#fff;
    font-weight: 700;
    font-size: 18px;
    border-radius: 10px;
    width:100%;
    max-width:320px;
	text-align: center;
	padding:10px 0;
	transition: 0.3s ease-in-out;
}
.btn::after,
.btn::before{
	content: "";
    width: 10px;
    height: 2px;
    display: inline-block;
    background: #fff;
    position: absolute;
    right: 15px;
    transition: 0.3s ease-in-out;
}
.btn::after {
    bottom: calc(50% - 4px);
    transform: rotate(-45deg);
}
.btn::before {
    top: calc(50% - 4px);
    transform: rotate(45deg);
}
.btn.btn-red{
	background: #df0011;
	box-shadow: 0 10px 0 rgb(158,0,19);
}
.btn.btn-orange{
	background: #e95504;
	box-shadow: 0 10px 0 rgb(147,45,0);
}
.btn span{
	position: relative;
	display: block;
	width:100%;
}
.btn span::before{
	content: '';
	position: absolute;
	background-size: contain;
	width:33px;
	height:33px;
	top:0;
	bottom:0;
	margin:auto;
	left:15px
}
.btn.btn-red span::before{
	background: url(../image/icon_prize.svg) no-repeat;
}
.btn.btn-orange span::before{
	background: url(../image/icon_shop.svg) no-repeat;
}
@media (max-width: 768px){
	section{
		padding:12vw 0;
	}
	.sec-ttl{
		font-size: 6.2vw;
		margin-bottom:7vw;
	}
	.sec-ttl span{
		margin-left:10vw;
	}
	.sec-ttl span::before{
		width: 7.467vw;
		height:7.467vw;
		left:-10vw;
	}
	.txt-large{
		font-size: 4.6vw;
	}
	.txt-note{
		font-size: 3.2vw;
	}
	/* btn */
	.btn-group{
		flex-wrap: wrap;
		bottom:-6.6vw;
		gap:5vw;
	}
	.btn{
		font-size: 4vw;
		border-radius: 2.5vw;
		max-width:initial;
		width:80vw;
		padding:3vw 0;
	}
	.btn::after,
	.btn::before{
		width: 2.667vw;
		height: 0.533vw;
		right:3vw;
	}
	.btn::after {
		bottom: calc(50% - 1.067vw);
	}
	.btn::before {
		top: calc(50% - 1.067vw);
	}
	.btn.btn-red{
		box-shadow: 0 2.5vw 0 rgb(158,0,19);
	}
	.btn.btn-orange{
		box-shadow: 0 2.5vw 0 rgb(147,45,0);
	}
	.btn span::before{
		width:6.8vw;
		height:6.8vw;
		left:4vw
	}
}
/* ------- mv ------- */
.mv{
	position: relative;
	background: #e95504;
	overflow: hidden;
}
.mv::before{
	content:'';
	position: absolute;
	background: url(../image/bg_mv_pc.png) no-repeat;
	width:100%;
	height:100%;
	background-size: 68%;
	background-position: 50% 0;
}
.mv::after{
	content:'';
	position: absolute;
	background: url(../image/img_deco1.png) no-repeat;
	width:5.643vw;
	height:7.571vw;
	background-size: 100%;
	top:0;
	left:17vw;
}
.mv-in{
	position: relative;
	padding:1.5% 0 0;
}
.mv-in::before{
	content:'';
	position: absolute;
	background:  no-repeat;
	width:12.929vw;
	height:11vw;
	background: url(../image/img_deco2.svg) no-repeat;
	background-size:100%;
	top:30%;
	left:4%;
}
.mv-in::after{
	content:'';
	position: absolute;
	background:  no-repeat;
	width:14.143vw;
	height:13.5vw;
	background: url(../image/img_deco3.svg) no-repeat;
	background-size:100%;
	top:15%;
	right:3%;
}
.mv-copy{
	width:68%;
	margin:0 auto;
	padding-left:3%;
	position: relative;
	z-index:1;
}
.mv-txt{
	width:55.5%;
	margin:-18.5% auto 0;
	position: relative;
	z-index: 2;
}
.mv-image{
	width: 100%;
	position: absolute;
	bottom:0;
	display: flex;
	justify-content: space-between;
}
.mv-image picture{
	width:27%;
}
.mv-date{
	background: #1C2A54;
	display: flex;
	align-items: center;
	justify-content: center;
	padding:10px 0;
}
.date-ttl{
	font-size: 30px;
    font-weight: 700;
	color: #1C2A54;
	background:#fff;
	border-radius: 1em;
	padding:0 30px;
	margin-right:20px;
}
.date-txt{
	font-size: 36px;
	font-weight: 900;
	display: flex;
	color: #fff;
	line-height: 1;
}
.date-txt p{
	display: flex;
	align-items: baseline;
}
.txt-num-s{
	font-family: "Barlow", sans-serif;
	font-weight: 700;
	font-size: 40px;
}
.txt-num-b{
	font-family: "Barlow", sans-serif;
	font-weight: 700;
	font-size: 54px;
}
.txt-week{
	font-size: 25px;
	width:40px;
	height:40px;
	background: #fff;
	color:#1C2A54;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
	transform: translateY(-0.18em);
}
.txt-week > span {
	display: inline-block;
	transform: translateY(-0.08em);
}

.link-area{
	display: flex;
	justify-content: center;
	align-items: center;
	padding:30px 0;
	background: #fffeee;
}
.link-area-txt{
    font-size: 22px;
    font-weight: 700;
    margin-right: 50px;
	margin-bottom:10px;
}
.link-area-txt span{
	position: relative;
	display: inline-block;
	padding: 0 1em 0 1.3em;
}
.link-area-txt span::before,
.link-area-txt span::after {
	content: "";
	position: absolute;
	top: 50%;
	width: 1.3em;
	height: 3px;
	background: #1C2A54;
}
.link-area-txt span::before {
	left: 0;
	transform: translateY(-50%) rotate(60deg);
}
.link-area-txt span::after {
	right: 0;
	transform: translateY(-50%) rotate(-60deg);
}

.link-bub{
	position: relative;
	background: #f5d900;
	border-radius: 10px;
	padding:20px;
	text-align: center;
	padding-left:130px;
	margin-right:50px;
}
.link-bub::after{
	position: absolute;
	content:'';
	display: inline-block;
	width: 30px;
	height: 30px;
	background: #f5d900;
	clip-path: polygon(0 50%, 13.4% 50%, 13.4% 0, 100% 50%, 13.4% 100%, 13.4% 50%, 0 50%);
	right:-25px;
	top:0;
	bottom:0;
	margin:auto;
}
.link-bub p{
	font-size: 30px;
	font-weight: 700;
	line-height: 1.4;
	display: inline;
	position: relative;
}
.link-bub p::before{
	content:'';
	position: absolute;
	display: inline-block;
	background:url(../image/icon_aizu.svg) no-repeat ;
	width:96px;
	height:80px;
	background-size: 100%;
	left:-110px;
}
.link-qr{
	padding:10px;
	border:2px solid #1C2A54;
	border-radius: 10px;
	width:170px;
	background: #fff;
}

/* 20%還元終了 */
.txt-left{
	position: absolute;
	z-index:3;
	width:14.5vw;
	transform: rotate(-10deg);
	left:4%;
	bottom:7%;
}
.end-box{
	position: absolute;
	bottom:22%;
	z-index:3;
	width: 49vw;
	left:50%;
	transform: translate(-50%);
	display: flex;
	justify-content: space-between;
	gap:2vw;
	align-items: center;
	background: #fff;
	border-radius: 1.5vw;
	border: 4px solid #659f6d;
	padding:.5em 1em;
	font-size: 2.6vw;
	line-height: 1.6;
	font-weight: 700;
	color: #1C2A54;
}
.box-bub{
	position: relative;
	background: #f5d900;
	width:20%;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.box-bub:after{
	position: absolute;
	content: '';
	display: inline-block;
	width: 2.2vw;
	height: 2.2vw;
	background: #f5d900;
	clip-path: polygon(0 50%, 13.4% 50%, 13.4% 0, 100% 50%, 13.4% 100%, 13.4% 50%, 0 50%);
	right: -1.5vw;
	top: 1vw;
	bottom: 0;
	margin: auto;
}
.box-txt .mark{
	background: linear-gradient(transparent 90%, #e95504 90%);
}
.box-txt .col-or{
	color: #e95504;
}
.txt-right{
	position: absolute;
	z-index:3;
	width:10.5vw;
	transform: rotate(10deg);
	bottom:5%;
	right:7%;
}

.btn-wrap{
	padding:20px 0;
}
.btn-wrap p{
	text-align: center;
	color: #df0011;
	font-weight: 700;
	margin-top:20px;
}

@media (max-width: 960px) {
	.mv-date{
		padding:1.042vw 0;
	}
	.date-ttl{
		font-size: 3.125vw;
		padding:0 3.125vw;
		margin-right:2.083vw;
	}
	.date-txt{
		font-size: 3.75vw;
	}
	.txt-num-s{
		font-size: 4.167vw;
	}
	.txt-num-b{
		font-size: 5.625vw;
	}
	.txt-week{
		font-size: 2.604vw;
		width:4.167vw;
		height:4.167vw;
	}
	.link-area{
		padding:2.083vw 0;
	}
	.link-bub{
		border-radius: 1.042vw;
		padding:2.083vw;
		padding-left:13.542vw;
		margin-right:5.208vw;
	}
	.link-bub::after{
		width: 3.125vw;
		height: 3.125vw;
		right:-2.604vw;
	}
	.link-bub p{
		font-size: 3.125vw;
	}
	.link-bub p::before{
		width:10vw;
		height:8.333vw;
		left:-11.458vw;
	}
	.link-qr{
		padding:1.042vw;
		border-radius: 1.042vw;
		width:17.708vw;
	}
	.link-area .btn{
		margin-top:5vw;
	}
}
@media (max-width: 768px) {
	.mv::before{
		content:'';
		position: absolute;
		background: url(../image/bg_mv_sp.png) no-repeat;
		width:100%;
		height:100%;
		background-size: 100%;
		background-position: 50% 0;
	}
	.mv::after{
		width: 10.643vw;
        height: 14.571vw;
        background-size: 100%;
        top: 0;
        left: 4vw;
	}
	.mv-in{
		padding:5vw 0 0;
	}
	.mv-in::before{
		content:none;
	}
	.mv-in::after{
		content:none;
	}
	.mv-copy{
		width:92%;
		padding-left:0;
	}
	.mv-txt{
		width:80%;
		margin:-23vw auto 0;
	}
	.mv-image{
		position: static;
		margin:-8vw 0 0;
	}
	.mv-image picture{
		width:50%;
	}
	.mv-date{
		flex-wrap: wrap;
		padding:3vw 0;
	}
	.date-ttl{
		font-size: 4.7vw;
		padding:0 5vw;
		margin-right:0;
		margin-bottom:2vw;
	}
	.date-txt{
		font-size: 4.7vw;
	}
	.txt-num-s{
		font-size: 5.7vw;
	}
	.txt-num-b{
		font-size: 7.7vw;
	}
	.txt-week{
		font-size: 3.6vw;
		width:6.667vw;
		height:6.667vw;
	}
	.link-area{
		flex-wrap: wrap;
		padding:5vw 0 10vw;
	}
	.link-area-txt{
		font-size: 4.2vw;
		margin-right:0;
		text-align: center;
		line-height: 1.4;
		margin-bottom:2vw;
	}
	.link-area-txt span{
		padding: 0 2.3em 0 2.3em;
	}
	.link-area-txt span::before,
	.link-area-txt span::after {
		width: 2.8em;
	}
	.link-bub{
		width:100%;
		border-radius: 3vw;
		padding:3vw;
		padding-left:21vw;
		margin:0 auto;
	}
	.link-bub::after{
		width: 6vw;
		height: 6vw;
		clip-path: polygon(0 13.4%, 50% 13.4%, 50% 0, 50% 0, 50% 13.4%, 100% 13.4%, 50% 100%);
		right:0;
		left:0;
		top:auto;
		bottom:-4vw;
	}
	.link-bub p{
		font-size: 4.2vw;
	}
	.link-bub p::before{
		width:14.933vw;
		height:12.8vw;
		left:-18.667vw;
	}
	.link-qr{
		display: none;
	}

	/* 20%還元終了 */
	.txt-left{
		width:22.8vw;
		left:4.5%;
		bottom:2%;
	}
	.end-box{
		bottom: 48%;
		width:75vw;
		border-radius: 3vw;
		border: 2px solid #659f6d;
		font-size: 4.2vw;
		padding: .5em .7em;
	}
	.txt-right{
		width:17vw;
		bottom:2%;
		right:8%;
	}

	.btn-wrap{
		padding:3vw 0;
	}
	.btn-wrap p{
		margin-top:5vw;
	}
}

/* ------- キャンペーン概要 ------- */
.overview-read{
    text-align: center;
    font-size: 18px;
}
.overview .txt-large{
	color: #e95504;
}
.overview-read+.overview-read{
    margin-top:20px;
}
.overview-read .txt-note{
	display: inline-block;
	line-height: 1.8;
}
.note-box{
	color: #df0011;
	text-align: center;
	border:2px solid #df0011;
	max-width: 710px;
	margin:20px auto 30px;
	padding:20px 0;
	border-radius: 20px;
}
.overview-flex{
	display: flex;
	align-items: center;
	justify-content: center;
}
.txt-bub{
	background: #f5d900;
	font-weight: 700;
	border-radius: 50%;
	position: relative;
	margin-right:1.5em;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1.4;
	width: 100px;
    aspect-ratio: 1 / 1;
	flex-shrink: 1;
	font-size: 18px;
}
.txt-bub::after {
    position: absolute;
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background: #f5d900;
    clip-path: polygon(0 50%, 13.4% 50%, 13.4% 0, 100% 50%, 13.4% 100%, 13.4% 50%, 0 50%);
    right: -10px;
    top: 0;
    bottom: 0;
    margin: auto;
}
/* ルール */
.overview-rule{
	position: relative;
	border:2px solid #1C2A54;
	border-radius: 20px;
	font-size:18px;
	padding:20px 0;
	margin-top:30px;
	background: #fff;
	max-width:710px;
	margin: 30px auto 30px;
}
.overview-rule::before{
	content:'';
	position: absolute;
	background: url(../image/icon_triangle.svg) no-repeat;
	width:20px;
	height:19px;
	background-size: contain;
	left:0;
	right:0;
	margin:auto;
	top:-17.8px;
}
.rule-ttl{
	display: inline-block;
	background: #1C2A54;
	color: #fff;
	padding: 0 40px;
	border-top-right-radius: 1em;
	border-bottom-right-radius: 1em;
}
.rule-txt{
	position: relative;
	padding:10px 20px 0 50px;
	text-indent: -30px;
}
.rule-txt::before{
	content:'';
	display: inline-block;
	background:url(../image/icon-check.svg) no-repeat ;
	width:20px;
	height:19px;
	top:0;
	bottom:0;
	margin:auto;
	vertical-align: -0.1em;
	margin-right:10px;
}
/* box */
.box-wrap{
    position: relative;
    border-radius: 20px;
    background: #fffeee;
	margin-top:100px;
	padding:70px 30px 70px;
	margin-bottom:20px;
}
.box-wrap.prize{
    border: 2px solid #e95504;
}
.box-wrap.shop,
.box-wrap.guide{
	border: 2px solid #659f6d;
}
.box-ttl{
    text-align: center;
    color:#fff;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.6;
	position: absolute;
	left:0;
	right:0;
	margin:auto;
	top:-37px;
}
.box-ttl span{
    vertical-align: 0.5em;
}
.box-wrap.prize .box-ttl{
    background: url(../image/img_ribbon_or.png) no-repeat;
    width:423px;
    height:70px;
    background-size: contain;
}
.box-wrap.shop .box-ttl,
.box-wrap.guide .box-ttl{
	background: url(../image/img_ribbon_gr.png) no-repeat;
    width:423px;
    height:70px;
    background-size: contain;
}
/* 賞品 */
.prize-linup{
    display: flex;
    justify-content: space-between;
}
.prize-item{
    width:calc((100% - 30px*3)/4);
    display: flex;
    flex-direction: column;
}
.prize-image{
    position: relative;
    width:90%;
    margin:0 auto 15px;
}
.prize-num{
    position: absolute;
    top:-10px;
    left:-10px;
    background: #659f6d;
    color:#ffe100;
    width:67px;
    height:67px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 20px;
    padding-top:0.2em;
}
.prize-num span{
    font-family: "Barlow", sans-serif;
    font-weight: 700;
    font-size: 35px;
    padding-bottom:0.2em;
}
.prize-name{
    background: #1C2A54;
    color:#fff;
    font-size: 20px;
    font-weight: 700;
    padding:15px 15px;
    border-radius: 15px;
    position: relative;
    line-height: 1.4;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-grow: 1;
}
.prize-name::after{
	position: absolute;
	content:'';
	display: inline-block;
	width: 17px;
	height: 13px;
	background: #1C2A54;
	clip-path: polygon(50% 0%,0% 100%,100% 100%);
	right:0;
    left:0;
	top:-12px;
	margin:auto;
}
.prize-coming-soon{
	font-size: 22px;
	font-weight: 700;
	text-align: center;
	position: relative;
	top:30px;
}
.prize-coming-soon span{
	position: relative;
	display: inline-block;
	padding: 0 1.3em 0 1.3em;
}
.prize-coming-soon span::before,
.prize-coming-soon span::after {
	content: "";
	position: absolute;
	top: 50%;
	width: 1.3em;
	height: 3px;
	background: #1C2A54;
}
.prize-coming-soon span::before {
	left: 0;
	transform: translateY(-50%) rotate(60deg);
}
.prize-coming-soon span::after {
	right: 0;
	transform: translateY(-50%) rotate(-60deg);
}

/* 還元対象店 */
.shop-flex{
	display: flex;
	justify-content:space-between;
	align-items: center;
	gap:30px;
	margin-top:10px;
}
.shop-logo{
	width:30%;
}
.shop-logo p{
	width:95%;
	margin:0 0 0 auto;
}
.shop-txtarea{
	text-align: center;
	width:40%;
}
.shop-ttl{
	font-size: 24px;
	font-weight: 700;
	margin-bottom:20px;
	line-height: 1.4;
}
.shop-ttl span{
	display: inline-block;
}
.shop-ttl span.mark{
	font-size: 35px;
}
.shop-txt{
	font-size: 18px;
	font-weight: 700;
}
.shop-txt span{
	display: inline-block;
}
.shop-qr{
	width:30%;
}
.shop-qr p{
	width:75%;
	margin:0 auto 0 0;
}
.overview .btn-group,
.usage-flow .btn-group{
	margin-top:-50px;
}
.box-note{
	margin-top:30px;
}

@media (max-width: 768px){
	.overview-read{
		font-size: 3.8vw;
	}
	.overview-read+.overview-read{
		margin-top:5vw;
	}
	.note-box{
		max-width: initial;
		margin:3vw auto 5vw;
		padding:2vw 0;
		border-radius: 5vw;
	}
	.txt-bub{
		margin-right:1em;
		width: 23vw;
		font-size: 3.8vw;
	}
	.txt-bub::after {
		width: 5.3vw;
		height: 5.3vw;
		right: -2.6vw;
	}
	/* ルール */
	.overview-rule{
		border-radius: 5vw;
		font-size:3.8vw;
		padding:3vw 0;
		max-width:100%;
		margin: 5vw auto 5vw;
	}
	.overview-rule::before{
		width: 4.8vw;
        height: 4.533vw;
        top: -4.267vw;
	}
	.rule-ttl{
		padding: 0 5vw;
	}
	.rule-txt{
		padding:2vw 5vw 0 12vw;
		text-indent: -6.5vw;
	}
	.rule-txt::before{
		width:4.5vw;
		height:4.2vw;
		vertical-align: -0.15em;
		margin-right:2vw;
	}
	/* box */
	.box-wrap{
		border-radius: 5vw;
		margin-top:17vw;
		padding:8vw 5vw 15vw;
		margin-bottom:0;
	}
	.box-ttl{
		font-size: 5.6vw;
		top:-8vw;
	}
	.box-wrap.prize .box-ttl{
		width:95%;
		height:15vw;
	}
	.box-wrap.shop .box-ttl,
	.box-wrap.guide .box-ttl{
		width:95%;
		height:15vw;
	}
	/* 賞品 */
	.prize-linup{
		flex-wrap: wrap;
	}
	.prize-item{
		width:calc((100% - 3vw)/2);
		margin-top:5vw
	}
	.prize-item:nth-of-type(n+3){
		margin-top:8vw
	}
	.prize-image{
		margin:0 auto 4vw;
	}
	.prize-num{
		position: absolute;
		top:-3vw;
		left:-3vw;
		width:14vw;
		height:14vw;
		font-size: 4.2vw;
		padding-top:0.2em;
	}
	.prize-num span{
		font-size: 8vw;
	}
	.prize-name{
		font-size: 4vw;
		padding:2vw 2vw;
		border-radius: 3vw;
	}
	.prize-name::after{
		width: 4.533vw;
		height: 3.467vw;
		top:-3.2vw;
	}
	.prize-coming-soon{
		font-size: 4.3vw;
		top:5vw;
		line-height: 1.6;
	}
	.prize-coming-soon span{
		padding: 0 1em 0 1em;
	}
	.prize-coming-soon span::before,
	.prize-coming-soon span::after {
		width: 3em;
	}
	.prize-coming-soon span::before {
		left: -1.7em;
		transform: translateY(-50%) rotate(70deg);
	}
	.prize-coming-soon span::after {
		right: -1.7em;
		transform: translateY(-50%) rotate(-70deg);
	}

	/* 還元対象店 */
	.shop-flex{
		flex-direction: column;
		gap:0 5vw;
		margin-top:3vw;
	}
	.shop-flex>div{
		width:100%;
	}
	.shop-logo{
		margin:0 auto;
	}
	.shop-logo p{
		width:75%;
		margin:0 auto 5vw;
		padding-right:6vw;
	}
	.shop-ttl{
		font-size: 4.6vw;
		margin-bottom:5vw;
		line-height: 1.6;
	}
	.shop-ttl span.mark{
		font-size: 5.8vw;
	}
	.shop-txt{
		font-size: 3.6vw;
	}
	.shop-qr p{
		width:60%;
		margin:3vw auto 0;
	}
	.overview .btn-group,
	.usage-flow .btn-group{
		margin-top:-8vw;
	}
	.box-note{
		margin-top:5vw;
	}
}

/* ------- ご利用の流れ ------- */
.usage-flow{
	background: #fffeee;
}
.box-wrap.guide{
	background: #fff;
}
.flow-wrap{
	display: flex;
	justify-content: space-between;
	gap:30px;
}
.flow-item{
	display: flex;
	flex-direction: column;
	position: relative;
}
.flow-item::after{
	content:'';
	position: absolute;
	width: 28px;
	height: 32px;
	background-color: #659f6d;
	clip-path: polygon(28px 50%, 0% 0%, 0% 32px);
	right:-30px;
	top:62%;
	transform:translateY(-50%);
}
.flow-item:last-child:after{
	content: none;
}
.flow-bub{
	text-align: center;
	min-height: 30px;
}
.flow-bub span{
	font-weight: 700;
	position: relative;
	display: inline-block;
	padding: 0 1.3em 0 1.3em;
	white-space: nowrap;
}
.flow-bub span::before,
.flow-bub span::after {
	content: "";
	position: absolute;
	top: 50%;
	width: 1.3em;
	height: 3px;
	background: #1C2A54;
}
.flow-bub span::before {
	left: 0;
	transform: translateY(-50%) rotate(60deg);
}
.flow-bub span::after {
	right: 0;
	transform: translateY(-50%) rotate(-60deg);
}
.flow-ttl{
	background: #ed7526;
	font-size: 18px;
	font-weight: 700;
	color:#fff;
	text-align: center;
	padding:5px;
	border-radius: 10px;
	line-height: 1.4;
	letter-spacing: -0.06em;
}
.flow-image{
	margin:0 auto;
}
.flow-image img{
	width:auto!important;
	max-height:128px;
}
/* guide */
.box-wrap.guide{
	text-align: center;
}
.box-read{
	font-size: 18px;
	margin-bottom:30px;
}
.guide-mov{
	width: 100%;
	max-width:700px;
	aspect-ratio: 16 / 9;
	margin:0 auto;
}
.guide-mov iframe {
	width: 100%;
	height: 100%;
}
.btn.btn-green{
	background: #659f6d;
	box-shadow: 0 10px 0 rgb(72,122,77);
}
.btn.btn-green span::before{
	background: url(../image/icon_faq.svg) no-repeat;
}
.btn.btn-yellow{
	background: #f5d900;
	box-shadow: 0 10px 0 rgb(229,172,69);
	color:#1C2A54;
}
.btn.btn-yellow::after,
.btn.btn-yellow::before{
    background: #1C2A54;
}
.btn.btn-yellow span::before{
	background: url(../image/icon_pdf.png) no-repeat;
	background-size:  contain;
}
@media (hover: hover) and (pointer: fine) {
	.btn:hover{
		box-shadow:none;
		transform: translateY(10px);
		opacity: 1;
	}
}
@media (max-width: 1100px){
	.flow-wrap{
		flex-wrap: wrap;
		justify-content: center;
	}
	.flow-item{
		width:calc((90% - 30px*2)/3);
	}
}
@media (max-width: 768px){
	.usage-flow{
		padding: 12vw 0 15vw;
	}
	.flow-wrap{
		gap:0;
	}
	.flow-item{
		width:100%;
		margin:0 auto;
	}
	.flow-item+.flow-item{
		margin-top:10vw;
	}
	.flow-item::after{
		width: 6.4vw;
		height: 7.467vw;
		clip-path: polygon(6.4vw 50%, 0% 0%, 0%7.467vw);
		right:0;
		left:0;
		margin:auto;
		top:auto;
		bottom:-14%;
		transform:translateY(0) rotate(90deg);
	}
	.flow-item:last-child:after{
		content: none;
	}
	.flow-bub{
		min-height: auto;
	}
	.flow-ttl{
		font-size: 4.2vw;
		padding:2vw;
		border-radius: 3vw;
		line-height: 1.4;
		letter-spacing: 0;
	}
	.flow-image img{
		max-height:40vw;
	}
	.flow-image{
		margin:0 auto 3vw;
	}
	.flow-item .btn{
		margin:5vw auto 7vw;
	}

	/* guide */
	.box-read{
		font-size: 3.8vw;
		margin-bottom:5vw;
	}
	.guide-mov{
		max-width:initial;
	}
	.usage-flow .btn-group{
		flex-wrap: wrap;
		gap:7vw;
	}
	.btn.btn-green{
		box-shadow: 0 2.5vw 0 rgb(72,122,77);
	}
	.btn.btn-yellow{
		box-shadow: 0 2.5vw 0 rgb(229,172,69);
	}
}

/* ------- 会津コインって何？ ------- */
.about{
	position: relative;
	background: linear-gradient(
		to top,
		#e95504 0,
		#e95504 35vw,
		transparent 35vw,
		transparent 100%
	);
}
.about::before{
	content:'';
	position: absolute;
	background: url(../image/img_deco.png) no-repeat;
	background-size: 100%;
	width:100%;
	height:17vw;
	bottom: 20vw;
}
.about-flex{
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top:50px;
	position: relative;
}
.about-copy{
	margin-right:-60px;
	position: relative;
	z-index: 1;
}
.about-copy span{
	display: inline-block;
	background: #f5d900;
	font-size: 33px;
	font-weight: 700;
	color:#1C2A54;
	line-height: 1.6;
	padding:0 10px 0 15px;
}
.about-copy span{
	margin-bottom:15px;
}
.about-copy span:last-child{
	margin-bottom:0;
}
.about-image{
	width:37%;
}
@media (max-width: 768px){
	.about{
		position: relative;
		background: linear-gradient(
			to top,
			#e95504 0,
			#e95504 60vw,
			transparent 60vw,
			transparent 100%
		);
	}
	.about::before{
		bottom: 21%;
	}
	.about-flex{
		justify-content: space-between;
		margin-top:7vw;
	}
	.about-copy{
		margin-right:-16vw;
	}
	.about-copy span{
		font-size: 5vw;
		padding:0 1.5vw 0 2vw;
	}
	.about-copy span{
		margin-bottom:2vw;
	}
	.about-image{
		width:50%;
	}
}

/* ------- faq ------- */
.faq{
	background: #fffeee;
}
.faq-wrap+.faq-wrap{
	margin-top:40px;
}
.faq-ttl{
	font-size: 26px;
	font-weight: 700;
	border-bottom:2px solid #1C2A54;
	padding-bottom:5px;
	margin-bottom:10px;
}
.faq-box{
	border:2px solid #1C2A54;
	border-radius: 10px;
	margin-top:20px;
}
.faq-q{
	position: relative;
	background: #fff;
	border-radius: 10px;
	padding:1em 4.5em;
	cursor: pointer;
}
.faq-q.open{
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}
.faq-a{
	position: relative;
	background: #ffed97;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
	padding:1em 1em 1em 4.5em;
}
.faq-a .line{
	text-decoration: line-through;
	text-decoration-color: red;
}
.faq-q::before{
	content:'';
	display: block;
	position: absolute;
	background: url(../image/txt_q.svg) no-repeat;
	background-size: 100%;
	width:34px;
	height:37px;
	left: 20px;
	top:12px;
}
.faq-a::before{
	content:'';
	display: block;
	position: absolute;
	background: url(../image/txt_a.svg) no-repeat;
	background-size: 100%;
	width:35px;
	height:35px;
	left: 20px;
	top:12px;
}
.faq-q.open::after {
    transform: rotate(180deg);
}
.faq-q::after{
	content:'';
	display: block;
	position: absolute;
	background: url(../image/icon_arrow.svg) no-repeat;
	background-size: 100%;
	width:37px;
	height:37px;
	right: 20px;
	top: 11px;
    transition: transform 0.3s ease;
}
.faq-a a{
	text-decoration: underline;
	word-break: break-all;
}
@media (max-width: 768px){
	.faq-wrap+.faq-wrap{
		margin-top:5vw;
	}
	.faq-ttl{
		font-size: 4.6vw;
		padding-bottom:1vw;
		margin-bottom:2vw;
	}
	.faq-box{
		border-radius: 3vw;
		margin-top:3vw;
	}
	.faq-q{
		border-radius: 3vw;
		padding:1em 4.5em;
	}
	.faq-a{
		border-bottom-left-radius: 3vw;
		border-bottom-right-radius: 3vw;
		padding:1em 1em 1em 4.5em;
	}
	.faq-q::before{
		width: 6.667vw;
        height: 7.21vw;
        left: 2.667vw;
        top: 2.933vw;
	}
	.faq-a::before{
		width: 6.667vw;
        height: 7.2vw;
        left: 2.667vw;
        top: 2.933vw;
	}
	.faq-q::after{
		width: 7.2vw;
        height: 7.2vw;
        right: 2.667vw;
        top: 2.667vw;
	}
}
/* ------- ご注意 ------- */
.guideline{
	padding:50px 0;
}
.guideline-head{
	font-size: 22px;
	font-weight: 700;
	border-bottom:1px solid #1C2A54;
	margin-bottom:10px;
}
.guideline-ttl{
	font-weight: 600;
	margin-top:15px;
}
.guideline-ttl span{
	color:#e95504;
}
.guideline-txt{
	font-size: 14px;
	font-weight: 400;
}
@media (max-width: 768px){
	.guideline{
		padding:10vw 0;
	}
	.guideline-head{
		font-size: 4.2vw;
		margin-bottom:2vw;
	}
	.guideline-ttl{
		margin-top:3vw;
	}
	.guideline-txt{
		font-size: 3.2vw;
	}
}

/* ------- footer ------- */
footer{
	background: #1C2A54;
	padding:10px 0 15px;
}
.footer-wrap{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	padding-bottom:30px;
	border-bottom:1px solid #fff;
	font-size: 13px;
}
.footer-contact{
	position: relative;
	display: flex;
	align-items: flex-end;
	padding:0 30px 10px 20px;
	margin-right:20px;
}
.footer-contact::before{
	position: absolute;
	content:'';
	width:100%;
	height:85%;
	background: #fff;
	border-top-right-radius: 999px;
	border-bottom-right-radius: 999px;
	bottom:0;
	left:0;
}
.footer-con{
	display: flex;
	flex-direction: column;
	position: relative;
	z-index: 1;
}
.footer-con:first-child{
	border-right:1px solid #c0c4cf;
	padding-right:20px;
}
.footer-con+.footer-con{
	margin-left:15px;
}
.footer-logo{
	width:170px;
	margin:0 auto 10px;
}
.footer-tag{
	background: #e95504;
	color: #fff;
	width:170px;
	text-align: center;
	border-radius: 1em;
	margin:10px auto 0;
}
.contact-tag{
	background: #1C2A54;
	width:180px;
}
.footer-qr{
	margin:0 auto;
	width:80px;
	border:1px solid #1C2A54;
	border-radius: 5px;
}
.footer-qr img {
	border-radius: 5px;
}
.footer-mail{
	text-align: center;
}
.footer-mail span{
	display: block;
	margin:0 auto;
	width:30px;
}
.footer-right {
	margin-top:2%;
}
.footer-right p{
	color:#fff;
	text-indent: -3em;
	padding-left:3em;
}
.footer-right p span{
	display: inline-block;
}
.footer-txt{
	color:#fff;
	font-size:11px;
	text-align: center;
	padding-top:15px;
}
.footer-right-logo{
	width:235px;
	margin-bottom:10px;
}

@media (max-width: 960px){
	.footer-wrap{
		flex-wrap: wrap;
	}
	.footer-right{
		margin-top:20px
	}
}
@media (max-width: 768px) {
	footer{
		padding:5vw 0 3vw;
	}
	.footer-wrap{
		padding-bottom:5vw;
		font-size: 3.4vw;
	}
	.footer-contact{
		padding:5vw;
		margin-right:0;
		flex-wrap: wrap;
	}
	.footer-contact::before{
		height:100%;
		border-top-right-radius: 0;
		border-bottom-right-radius: 0;
		border-radius: 3vw;
	}
	.footer-con{
		width:100%;
	}
	.footer-con+.footer-con{
		margin-top:5vw;
		margin-left:0;
		padding-top:5vw;
		border-top:1px solid #c0c4cf;
	}
	.footer-con:first-child{
		border-right:none;
		padding-right:0;
	}
	.footer-logo{
		width:45vw;
		margin:0 auto 2vw;
	}
	.footer-tag{
		width:45vw;
		margin:2vw auto 0;
	}
	.contact-tag{
		background: #1C2A54;
		width:100%;
		font-size: 3.6vw;
	}
	.footer-qr{
		display: none;
	}
	.footer-mail span{
		width:8vw;
	}
	.footer-right {
		margin-top:5vw;
	}
	.footer-right p{
		font-size: 3.2vw;
	}
	.footer-txt{
		font-size: 2.8vw;
		padding-top:3vw;
		text-align: left;
	}
	footer .btn{
		width:100%;
		margin: 0 auto 3vw;
	}
	.footer-right-logo{
		width:58vw;
		margin:3vw auto;
	}
}

