/*-------------------------------------------

共通

-------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');

html {
	font-size: 62.5%;
}
:root {
	--bg-light-yellow: rgba(255,245,98,0.2);
	--bg-light-blue: rgba(0,160,219,0.1);
	--blue: #004098;
	--yellow: #ffea00;
	--headline-bg:  #f2f8fa;
	--dark-blue: #17712C;
	--light-yellow: #FFE7AF;
	--form-bg: #F4FAFC;
	--form-border: #BABABA;
	--annotation: #E6001A;
	--error-bg: #FFE2E5;
	--text-black: #311800;
	--sce-black: #000000;
	--text-gray: #757575;
	--orange: #F47A00;
	--shop-text: #371F25;
    --primary: #2374DD;
    --red-button: #DC0D17;
    --red-button-shadow: #8A030A;
}
.dark-blue{
	color: var(--dark-blue);
}
.gray-g{
	background-color: #d9d9d9;
	font-size: 1rem;
}
.text-black{
	color: var(--text-black);
}
.bg_green{
	background: #e3fcd7;
}
.bg-form{
	background: var(--form-bg);
}
.light-blue{
	color: var(--blue);
}

@font-face {
	font-family: 'HelveticaNeue-CondensedBold';
	src: url('../font/HelveticaNeueLTStd-BdCn.otf');
}
@font-face {
	font-family: 'HelveticaNeue-Bold-Italic';
	src: url('../font/HelveticaNeueLTStd-BdExO.otf');
}

@font-face {
	font-family: 'google-sans';
	src: url('../font/GoogleSans-Regular.ttf');
}

.google-sans{
	font-family: google-sans;
}
.noto-sans{
	font-family: "Noto Sans JP";
}


body{
	font-family: "Noto Sans JP","Roboto","Hiragino Sans","Hiragino Kaku Gothic ProN",sans-serif;
	letter-spacing: 0.02em;
	line-height: 1.7;
}

/*headerの高さ分下げる*/
main{
	padding-top: 9rem;
}

.helvetica{
	font-family: 'HelveticaNeue-CondensedBold';
}

a{
	text-decoration: none;
}
a:hover,.base-btn:hover,.border-btn:hover{
	opacity: 0.7;
}
button{
	background: none;
	border: none;
	cursor: pointer;
	font-weight: 600;
}
ul{
	list-style: none;
	margin: 0;
	padding:0;
}
.wrap{
	width: 100%;
	overflow-x: hidden;
}
img{
	width: 100%;
	vertical-align: top;
}
section{
	padding: 60px 0;
}
input:focus,select:focus{
	outline: 2px solid var(--blue);
	border: 1px solid #fff!important;
}
.padding-fix section{
	padding: 30px 0;
}
.contents,.header__inner,.footer__inner{
	max-width: 1300px;
	width: calc(100% - 8rem);
	margin: 0 auto;
}
.flex{
	display: flex;
	justify-content: center;
}
.flex.col-2 .flex_box{
	width: 48%;
}
.align-base{
	align-items: baseline;
}
.flex.flex-between{
	justify-content: space-between;
}
.flex.flex-evenly{
	justify-content: space-evenly;
}
.flex_wrap{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.relative{
	position:relative;
}
.center {
	text-align: center;
}
.right{
	text-align: right;
}
.f-weight6{
	font-weight: 600;
}
.f-weight5{
	font-weight: 500;
}

.f-weight4{
	font-weight: 400;
}

.f_small{
	font-size: 1.4rem;
}
.clearfix::after {
	content: "";
	display: block;
	clear: both;
}
.red-box{
	background: #FFDBDB;
	color: #FF1919;
	padding: 1.5rem 2rem;
	margin: auto;
	width: fit-content;
	border-radius: 4px;
}
.red-box-product{
	background: #FFDBDB;
	color: #FF1919;
	padding: 1rem 6rem;
	margin: auto;
	border-radius: 4px;
	text-align: left;
}

.red-box p{
	margin: 0;
}
.red-box .mb_20{
	margin-bottom: 2rem;
}
.annotation{
	font-size: 13px;
}
.list{
	list-style: disc;
	list-style-position: inside;
}
.sp{
	display: none;
}
.pc{
	display: block;
}
.section_bar{
	height: 10px;
	background-color: var(--blue);
	border: none;
	margin: 0;
}
.product_rate{
    background-color: #F5F0DF;
}
.product_rate_bg{
    background-image: url(../img/top_bg_1.png);
    background-repeat: repeat-y;
    background-size: 100%;
}
.product_rate .w85p{
	margin: 0 auto 1rem;
}
.product_rate .introduction p{
    text-align: center;
    font-size: 20px;
    font-weight: bold;
}
@media (max-width: 900px) {
	.contents,.header__inner,.footer__inner{
		max-width: 90%;
		width: 90%;
		margin: 0 auto;
	}
	html {
		font-size: 52.5%;
	}
}
@media (max-width: 600px) {
	section{
		padding: 2rem 0;
	}
	.contents,.header__inner,.footer__inner{
		max-width: 100%;
		width: 90%;
		margin: 0 auto;
	}
	.flex{
		display: block;
	}
	.flex.btn-2col{
		display: flex;
		width: 100%;
	}
	.product_rate .flex.btn-2col{
		display: block;
		width: 100%;
	}
	.flex.col-2 .flex_box{
		width: 100%;
		margin-bottom: 20px;
	}
	.product_rate .flex.col-2 .flex_box{
		margin-bottom: 60px;
	}
	.product_rate .base-btn:last-of-type{
		margin-top: 20px;
	}
    .product_rate .introduction p{
        font-size: 13px;
    }
	.flex.sp_flex{
		display: flex;
	}

}
/*-----------------------------margin*/
.w85p{
	width: 85%;
	margin: auto;
}
.w100p{
	width: 100%;
	margin: auto;
}
.w50p{
	width: 50%;
	margin: auto;
}
.mt_20{
	margin-top: 20px;
}
.mt_40{
	margin-top: 40px;
}
.mt_80{
	margin-top: 8rem;
}
.mb_40{
	margin-bottom: 40px;
}
.mb_100{
	margin-bottom: 100px;
}
.mr_20{
	margin-right: 20px;
}
.ml_20{
	margin-left: 20px;
}
.mb_20{
	margin-bottom: 20px;
}
.mb_0{
	margin-bottom: 0;
}
.fs_13{
	font-size: 1.3rem;
}
.fs_14{
	font-size: 1.4rem;
}
.fs_16{
	font-size: 1.6rem;
}
.fs_20{
	font-size: 2rem;
}
.fs_30{
	font-size: 3rem;
}
.fs_40{
	font-size: 4rem;
}
/*----------------------------------ボタン*/
.border-btn{
	border: 2px solid var(--blue);
	line-height: 1;
}
.border-btn *{
	color: var(--blue);
	display: inline;
	vertical-align: middle;
}
.border-btn a {
	line-height: 1;
}
.fa-chevron-right {
	font-family: "Font Awesome 5 Free";
	margin: 0 0 0 7px;
	line-height: 0;
	vertical-align: baseline;
	font-size: 1.4rem;
}

.base-btn{
	background: var(--primary);
	color: #ffffff;
	border-radius: 5rem;
	font-weight: 600;
	max-width: 500px;
	width: fit-content;
	box-shadow: 0 5px #0A4DA8;
	margin: auto;
	cursor: pointer;
}
.base-btn.yellow-btn{
	background: var(--yellow);
	box-shadow: 0 5px #fc9430;
}
.base-btn.red-btn{
    background: var(--red-button);
    box-shadow: 0 5px var(--red-button-shadow);
}
.base-btn a{
	text-align: center;
	padding: 10px 20px;
}
.base-btn a,.border-btn a,.base-btn button{
	width: 100%;
	display: block;
	box-sizing: border-box;
	letter-spacing: 0.05em;
}
.border-btn a {
	padding: 1rem 2.5rem;
	font-size: 1.6rem;
}
.base-btn a,.base-btn .fa-chevron-right,.base-btn button{
	color: #ffffff;
	font-size: 2.4rem;
}
.base-btn .fa-chevron-right {
	font-size: 1.7rem;
	vertical-align: middle;
}
.base-btn.disable{
	background: gray;
	cursor: none;
	pointer-events: none;
	box-shadow: 0px 5px #4d4d4d;
}
.btn_shop{
	border-top: 1px solid gray;
	border-bottom: 1px solid gray;
	width: 20%;
	margin: 91px auto 0;
}
.flex.btn-2col{
	justify-content: space-between;
	width: 50%;
	margin: 40px auto;
}
.flex.btn-2col btn:first-of-type{
	margin-right: 20px;
}

/*--------------------------------タイトル*/
.sub-title{
	text-align: center;
	font-size: 5rem;
	color: var(--headline-bg);
	margin: auto;
	position: relative;
	letter-spacing: 0.05em;
}
.sub-title h1{
	font-size: 3rem;
	font-weight: bold;
	text-align: center;
	color: var(--primary);
}

.sub-title h1::before{
	content: '';
	width: 60px;
	height: 2px;
	display: inline-block;
	background-color: var(--primary);
	position: absolute;
	bottom: -10px;
	left: calc(50% - 30px)
}

.sub-title h1.title_green,.green_t{
	color: #006737;
}
.sub-title h1.left{
	text-align: left;
}
.howto .sub-title h1:after {
	top: 0;
	right: 0;
	border-width: 25px 15px 25px 0px;
	border-color: transparent #FFFDDF transparent transparent;
	border-style: solid;
}


/*-------------------------------------------

検索部分使用

-------------------------------------------*/
.search-box{
	max-width: 860px;
	width: calc(100% - 2rem);
	margin: 30px auto;
	background: #f7f7f7;
	padding: 10px 30px 30px;
	box-shadow: 5px 5px 5px #ededed;
}
.search-box_procuct,.search-box_shop{
	width: 100%;
	margin: 30px auto;
	background: #FAFAFA;
	padding: 10px 0px 30px;
}
.search-box_shop{
	box-shadow: none;
	width: 40%;
	margin: auto;
	padding: 30px;
}
.search-box_shop button{
	font-size: 1.1rem;
	padding: 5px;
	max-width: none;
}
.search-result .flex{
	justify-content: space-between;
	margin-bottom: 10px;
	font-size: 0.9rem;
}
.area-box{
	width: 40%;
}
.free-box{
	width: 60%;
}
.search_cover{
	margin-bottom: 20px;
}
.search-select,.search-in{
	padding: 0 10px;
}
.search-select select ,.free-cover input{
	width: 100%;
	border-radius: 5px;
	padding: 6px;
	border: 1px solid #cecece;
	min-height: 1.2rem;
	box-sizing: border-box;
}
.serch-wrapper .annotation{
	margin-top: 5px;
}
.free-cover{
	padding: 0 10px;
}
.serch-bt{
	text-align: center;
}

.serch-bt button p{
	margin: 3px auto;
	font-size: 1.0rem;
	color: white;
	line-height: 1;
	position: relative;
}
.serch-bt button p:before{
	width: 30px;
	height: 30px;
	scale: 0.7;
	position: absolute;
	left: 50px;
	top: -5px;
}
.serch-bt-oshirase{
	text-align: center;
}
.serch-bt-oshirase button{
	width: 300px;
	border-radius: 20px;
	color: white;
	padding: 12px 30px 10px;
	box-shadow: 3px 3px 3px #a5a4a4;
	text-align: center;
	border: none;
}
.serch-bt-oshirase button p{
	margin: 0px auto;
	font-size: 1.4rem;
	color: white;
	line-height: 1;
	position: relative;
}
.serch-bt-oshirase button p:before{
	content: url(../img/icon/back.png);
	width: 35px;
	height: 35px;
	scale: 0.7;
	position: absolute;
	left: 0px;
	bottom: -5px;
}

.search-sub-title,.lastupdate{
	font-weight: 500;
	color: var(--text-black);
}
.lastupdate{
	font-weight: 400;
}
.itiran-top-bt-cover {
	border-radius: 5px;
	display: flex;
	width: 100%;
	padding: 6rem 6rem 0;
	justify-content: space-between;
	background: #f5f5f5;
	box-sizing: border-box;
}
.itiran-top-bt {
	margin: 10px 4px;
	width: 45%;
}
.itiran-top-bt a {
	color: var(--orange);
	font-size: 2rem;
	border: 2px solid var(--orange);
	height: 50px;
	text-align: center;
	line-height: 50px;
	display: block;
	font-weight: 600;
	border-radius: 25px;
	letter-spacing: 0.03em;
	background: #fff;
}
.itiran-top-bt.spcolor a {
	color: #ffffff;
	background: var(--orange);
}
.itiran-top-bt-spcolor {
	margin: 10px;
	width: 32%;
}
.serch-over-wrapper{
	background: #f5f5f5;
	width: 100%;
	box-sizing: border-box;
	padding: 6rem;
}
.serch-wrapper {
	display: flex;
	flex-flow: row wrap;
	margin: 0 auto;
}
.product_search {
	width: 50%;
}
.search-text {
	width: 100%;
	margin: 0 0 0 10px;
	font-weight: 600;
	color: var(--text-black);
	font-size: 1.6rem;
	line-height: 1.7;
}
.search-select select {
	width: 100%;
	border-radius: 5px;
	padding: 7px;
	border: 1px solid #cecece;
	min-height: 1.2rem;
}

.search-in{
	width: 100%;
	margin: auto;
	box-sizing: border-box;
}

.search-in input {
	width: 100%;
	border-radius: 5px;
	padding: 6px 0;
	border: 1px solid #cecece;
	min-height: 1.2rem;
}

.serch-over-wrapper .base-btn{
	width: 100%;
	max-width: unset;
	margin-top: 3rem;
}

.tyui926{
	font-size: 1.6rem;
	color: var(--annotation);
	font-weight: 500;
	text-align: center;
	margin: 3rem auto;
}

.flex.dl-btn{
	width: 100%;
}

@media (max-width: 1000px) {
	.search-box_procuct .search-box_shop{
		padding: 10px 00px 30px;
	}
	.anker-link-box .anker-link{
		font-size: 1.2rem;
	}
}
@media (max-width: 800px) {
	.search-box{
		padding: 10px 0px 30px;
	}
	.search-select select{
		font-size: 2rem;
	}
	.search-in input{
		font-size: 2rem;
	}
	.flex.logos {
		display: flex;
		justify-content: center;
	}

	.flex.logos .big-logo {
		height: 40px;
		margin: 15px
	}

	.flex.logos .small-logo {
		height: 22px;
		margin: 15px;
	}

	.flex.logos .middle-logo {
		height: 25px;
		margin: 10px;
	}
	.itiran-top-bt a {
		font-size: 1rem;
	}
	.anker-link-box .inner-4{
		width: 100%;
	}
	.itiran-top-bt-cover{
		padding: 2rem;
		flex-wrap: wrap;
	}
	.itiran-top-bt{
		width: 46%;
	}
	.itiran-top-bt a{
		font-size: 2rem;
	}
	.serch-over-wrapper {
		padding: 2rem;
	}
}


/*-------------------------------------------

TOP

-------------------------------------------*/
.top{
	background: #F5F0DF;
	padding: 0;
}
.mv{
	max-width: 1300px;
}
.period-box{
	text-align: center;
	margin: 30px auto 10px;
	border-radius: 1.5rem 1.5rem;
	background: #fff;
	width: 73%;
}
.period-box h2{
	margin: 0;
	background: var(--primary);
	color: #ffffff;
	font-weight: bold;
	font-size: 3rem;
	border-radius: 1rem 1rem 0 0;
	letter-spacing: 0.25rem;
}
.period-box p{
	font-size: 2.5rem;
	font-weight: bold;
	letter-spacing: 0.05em;
	width: fit-content;
	margin: 0 auto;
	padding: 1.6rem 0;
	color: var(--text-black);
}
.period-box .roboto{
	font-size: 4rem;
	line-height: 1;
}
.caution{
	text-align: center;
	margin: 0;
	padding: 0.2rem;
	font-size:0.7rem;
}

.end-notice{
	font-size: 1.6rem;
	color: var(--blue);
	text-align: center;
}
.news-bg{
	width: 80%;
	margin: auto;
	background: #ffffff;
	padding-bottom: 4rem;
	border-radius: 10px;
}

.newscover table{
	border-collapse:collapse;
	width: 80%;
	margin: auto;
}
.newscover table th{
	width: 20%;
	font-weight: 600;
}
.newscover table tr{
	/*background-image: linear-gradient(to right, var(--blue), var(--blue) 2px, transparent 2px, transparent 20px);
	background-repeat: repeat-x;
	background-position: left bottom;
	background-size: 15px 2px;*/
	border-bottom: solid 2px #cccccc;
}
.newscover table tr th h2:before {
	content: '';
	position: absolute;
	left: 50%;
	bottom: -10px; /*下線の上下位置調整*/
	display: inline-block;
	width: 50px; /*下線の幅*/
	height: 2px; /*下線の太さ*/
	-moz-transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translate(-50%); /*位置調整*/
	background-color: #666666; /*下線の色*/
	padding-right: 2rem;
}
.newscover table tr th,.newscover table tr td{
	color: var(--text-gray);
	text-align: left;
	padding: 1.5rem 2rem 1.5rem 0;
	font-size: 1.6rem;
	font-weight: 500;
	position: relative;
}
.newscover table tr td a{
	color: var(--text-black);
}
.newscover table tr td i{
	position: absolute;
	color: var(--primary);
	right: 0;
	top: 50%;
}
.newscover .simple-btn{
	width: fit-content;
	margin-left: auto;
}
.newscover .simple-btn a{
	text-align: right;
	font-size: 1.6rem;
	color: var(--blue);
}
.p_span_adjustment{
	font-size: 2rem;
}
.chart_box{
	padding: 0 2rem 2rem 2rem;
}
.user-manual-btn{
	width: 50%;
	margin: 40px auto;
	display: flex;
	justify-content: center;
}
.user-manual-box{
	background: #fff;
	cursor: pointer;
	max-width: 500px;
	border-radius: 5rem;
	border: solid 2px var(--orange);
	width: fit-content;
}
.user-manual-box a{
	color: var(--orange);
	font-weight: 500;
	padding: 1rem 2rem;
	font-size: 2.2rem;
}


@media (max-width: 600px) {
	.user-manual-btn{
		width: 90%;
	}
	.p_span_adjustment{
		font-size: 1.4rem;
	}

}

/*h4:before {*/
/*	content: '';*/
/*	position: absolute;*/
/*	left: 50%;*/
/*	bottom: -10px; !*下線の上下位置調整*!*/
/*	display: inline-block;*/
/*	width: 50px; !*下線の幅*!*/
/*	height: 2px; !*下線の太さ*!*/
/*	-moz-transform: translateX(-50%);*/
/*	-webkit-transform: translateX(-50%);*/
/*	-ms-transform: translateX(-50%);*/
/*	transform: translate(-50%); !*位置調整*!*/
/*	background-color: #666666; !*下線の色*!*/
/*}*/

/*-------------------店舗募集----------------*/
.recruit{
	text-align: center;
	background-image: url("../img/bg_recruit.png");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	position: relative;
}
.recruit .contents .recruit_title{
	font-size: 4rem;
	letter-spacing: 0.05em;
	color: #fff;
	position: absolute;
	width: 80%;
	max-width: 1000px;
	padding: 0 0 3vw;
	background-image: url("../img/ribbon.png");
	background-size: 100%;
	background-position: top;
	background-repeat: no-repeat;
	top: 0rem;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	line-height: 2;
}
.recruit p {
	font-weight: 600;
	margin: 0;
	color: #fff;
	letter-spacing: 0.05em;
}
.recruit p:first-of-type{
	font-size: 2.6rem;
	margin: 6rem auto 2rem;
	border-bottom: 2px solid var(--blue);
	width: fit-content;
	color: var(--blue);
}
.recruit p:last-of-type{
	font-size: 3rem;
	line-height: 1.3;
	color: var(--blue);
}
.recruit .helvetica{
	font-size: 4rem;
}
.recruit .base-btn{
	margin: 4rem auto 0;
}

/*----------------CPについて+対象店舗募集中--------------*/
.about{
	background: #FFFAD2;
	padding-bottom: 2rem;
}
.about .sub-title h1{
	color: var(--orange);
	text-align: center;
}
.about_container{
	position: relative;
}
.about_container .point_deco{
	position: absolute;
	width: 15%;
	top: unset;
	bottom: -2vw;
	right: 0;
}
.about .main-text{
	font-size: 2rem;
	width: fit-content;
	margin: auto;
	border-radius: 5px;
	padding: 6rem;
	line-height: 2;
}
.about .main-text span{
	font-size: 3rem;
	font-weight: 600;
	color: var(--blue);
}
.icon-box{
	padding: 2rem 3rem;
}

.about-icon{
	display: flex;
	justify-content: space-evenly;
	align-items: center;
}
.about-icon div{
	width: 23%;
	margin: 1rem 0;
}
.about-icon img{
	width: 80%;
	height: auto;
}
.about h2{
	position: relative;
	margin: 0;
}
.about-text{
	text-align: center;
	font-weight: 500;
	font-size: 1.8rem;
	margin: 5rem auto;
}
.about-text-pick{
	font-weight: 700;
	font-size: 2.4rem;
	color: #f47a00;
}
.coin-box{
	position: relative;
	z-index: 1;
	overflow: hidden;
}
.coin-mark{
	position: absolute;
	right: 0;
	bottom:-90px;
	width: 200px;
	z-index: -1;
	overflow: hidden;
}
.supplement{
	width: 80%;
	margin: 0 auto;
}
.shisa-text{
	font-size: 3.5rem;
	color: var(--primary);
	font-weight: bold;
}
.about h3.blue_head{
	background: var(--blue);
	color: #fff;
	font-size: 2.4rem;
	margin: 0;
	border-radius: 8px 8px 0 0;
	line-height: 2;
}
.about .logo-box{
	background: #ffffff;
	border: 2px solid var(--blue);
	padding: 2rem;
	width: 100%;
	box-sizing: border-box;
}
.flex.logos{
	align-items: center;
	flex-wrap: wrap;
}
.flex.logos img{
	width: auto;
	height: 100%;
}
.flex.logos .square {
	height: 9rem;
	max-height: 120px;
	margin: 2rem 4rem
}

.flex.logos  .landscape{
	max-height: 60px;
	height: 5rem;
	margin: 2rem 4rem;
}

.flex.logos .other {
	max-height: 80px;
	height: 8rem;
	margin: 4rem;
}

@media (max-width: 600px) {
	.about-icon img{
		width: 100%;
	}
	.about-text{
		font-size: 1.6rem;
	}
	.about-text-pick{
		font-size: 2rem;
	}
	.coin-mark{
		width: 100px;
		bottom: -30px;
	}

}


/*----------------ポイント申請--------------*/
.one-box{
	margin: 4rem auto;
	max-width: 600px;
	padding: 3rem;
	color: #232323;
	background: var(--bg-light-blue);
	border-left: solid 18px var(--blue);
	border-radius: 4px;
	font-size: 2rem;
}

.one-box ul{
	list-style: outside;
	padding-left: 3rem;
}

.one-box ul li{
	margin-bottom: 1em;
	font-weight: 600;
	line-height: 1.2;
}

.one-box ul li:last-of-type{
	margin-bottom: 0;
}

.one-box ul li span{
	font-size: 1.4rem;
}

.bg_blue .sub-title{
	color: rgba(255,255,255,0.2);
}
.bg_blue .sub-title h1 {
	color: #ffffff;
}
h4.bg_navy{
	background-color: #193c73;
	color: #fff;
}
.energy_saving .flex {
	width: 60%;
	margin: auto;
	justify-content: space-between;
	align-items: center;
}
.energy_saving .white_round{
	background: #ffffff;
	border-radius: 5px;
	padding: 4rem 2rem;
}
.energy_saving .white_round p {
	color: #006737;
	width: 60%;
	margin: 20px auto 0;
}
.flex .period-box .helvetica{
	font-size: 4rem;
}
.flex .period-box{
	margin: 0;
	width: 49%;
}

@media (max-width: 1050px) {
	.about h2:before {
		padding: 3rem;
		left: -6rem;
	}
	.about h2:after{
		right: -4rem;
		padding: 1.5rem;
	}
}
@media (max-width: 884px) {
	.period-box {
		width: 100%;
	}
	.flex .period-box{
		margin: 0;
		width: 100%;
	}
	.flex .period-box:last-of-type{
		margin-top: 1rem;
	}
	.about .base-btn a{
		font-size: 3vw;
	}

}

@media (max-width: 600px) {
	.about .main-text {
		padding: 0;
		font-size: 1.8rem;
		line-height: 1.7;
		margin-bottom: 12rem;
	}
	.about .main-text span{
		font-size: 2.5rem;
	}
	.about_container .point_deco {
		position: absolute;
		width: 30%;
		top: 32vw;
	}
	.flex.btn-2col{
		justify-content: space-between;
		width: 100%;
		margin: 40px auto;
	}
	.about h2{
		font-size: 1.3rem;
		margin: 0;
	}
	.about h2:before {
		padding: 2rem;
		top: -30px;
		left: -4rem;
	}
	.about h2:after{
		top: 42px;
		right: -3.5rem;
		padding: 1.3rem;
	}
	.about h3.blue_head{
		line-height: 1.4;
	}

	.about .base-btn a{
		font-size: 5vw;
	}

	.flex.logos .square {
		max-height: 70px;
	}
	.flex.logos .other {
		max-height: 60px;
		margin: 2rem;
	}
	.flex.logos .landscape {
		max-height: 35px;
		margin: 2rem;
	}
	.point_requirement_list h3{
		font-size: 1.2rem;
	}
	.point_requirement_list{
		background-image: url("../img/bg_point03.png");
		background-position: center;
		padding: 54% 0;
	}
	.sub-title p.long{
		font-size: 2.5rem;
		line-height: 1.9;
		margin-bottom: 40px;
	}
	.energy_saving .flex{
		display: flex;
		flex-wrap: wrap;
		width: 100%;
	}
	.energy_saving .flex .flex_box {
		width: 48%;
	}
	.energy_saving .white_round p{
		width: 100%;
	}
	.btn_shop {
		width: 80%;
	}
	.recruit .contents .recruit_title{
		width: 90%;
		font-size: 2.2rem;
		line-height: 1.7;
		letter-spacing: 0.01em;
	}
	.recruit p:first-of-type{
		margin: 0rem auto 2rem;
	}
	.recruit p:last-of-type{
		font-size: 2.4rem;
	}
	.howto .sub-title h1{
		line-height: 1.2;
	}

}

/*----------------必要なもの（申請要件）--------------*/
.need-box{
	background: #dafff6;
}

.need-box h1{
	color: #00af85;
}
.need-box h1::before{
	content: '';
	width: 60px;
	height: 2px;
	display: inline-block;
	background-color: #00af85;
	position: absolute;
	bottom: -10px;
	left: calc(50% - 30px)
}
.need-box .contents ul{
	width: 65%;
	margin: 4rem auto;
	padding: 2rem 4rem 2rem 5rem;
	background: #fff;
	border-radius: 10px;
	border-left: solid 20px #00af85;
}
/*
.need-box ul::before{
	content: "";
	position: absolute;
	background: #00af85;
	width: 2%;
	height: 100%;
}
*/

.need-box .contents ul li{
	list-style: inside;
	padding: 0.5rem 3rem;
	margin: 0 auto;
	font-weight: bold;
	font-size: 2.6rem;
	text-indent: -1.2em;
}
.need-box .contents ul li span{
	font-size: 2rem;
}
.onepoint-contents{
	max-width: 1166px;
	width: calc(100% - 8rem);
	margin: 8rem auto 5rem;
}
.need-box-supplement{
	width: 80%;
	margin: 0 auto;
	border: 2px solid #00af85;
	background: #fff;
	padding: 2rem;
}
.need-box-supplement h3{
	color: #00af85;
	font-size: 2rem;
}
.need-box-supplement ul li{
	font-size: 2rem;
	text-align: left;
	text-indent: -1em;
	margin: 1rem 2rem;
	font-weight: 600;
}

@media (max-width: 600px) {
	.need-box .contents ul li{
		font-size: 1.8rem;
	}

	.need-box .contents ul li span{
		font-size: 1.4rem;
	}
	.need-box .contents ul{
		width: 80%;
		padding: 1rem;
	}
}
/*----------------必要なもの（ポイント申請）--------------*/
.need-point-box{
	background: #dafff6;
}

.need-point-box h1{
	color: #00af85;
}
.need-point-box h1::before{
	content: '';
	width: 60px;
	height: 2px;
	display: inline-block;
	background-color: #00af85;
	position: absolute;
	bottom: -10px;
	left: calc(50% - 30px)
}
.need-point-box ul{
	width: 60%;
	margin: 4rem auto;
	padding: 2rem 4rem 2rem 5rem;
	background: #fff;
	border-radius: 10px;
	border-left: solid 20px #00af85;
}

.need-point-box ul li{
	padding: 0.5rem 3rem;
	margin: 0 auto;
	font-weight: bold;
	font-size: 2.6rem;
	text-indent: -1.2em;
}
.need-point-box ul li span{
	font-size: 2rem;
}
.need-point-box ul li .nam-green{
	color: #00af85;
	font-size: 2.6rem;
	font-weight: bold;
}
.need-point-box .plz{
	font-size: 2rem;
}


@media (max-width: 600px) {
	.need-point-box ul li{
		font-size: 1.8rem;
	}
	.need-point-box ul li .nam-green{
		font-size: 1.8rem;
	}
	.need-point-box ul li span{
		font-size: 1.4rem;
	}
	.need-point-box ul{
		width: 80%;
		padding: 1rem;
	}
	.need-point-box .plz{
		font-size: 1.6rem;
	}
}


/*----------------利用方法--------------*/
.flex.howto_container{
	justify-content: space-between;
	margin: 70px auto;
	width: 90%;
}
.sub-title{
	text-align: center;
	font-size: 5rem;
	color: var(--headline-bg);
	margin: auto;
	position: relative;
	letter-spacing: 0.05em;
}
.howto .sub-title h1{
	margin: 0;
	font-size: 3rem;
	line-height: 1.3;
	width: 90%;
	text-align: center;
	display: inline-block;
	position: relative;
	height: 50px;
	line-height: 57px;
	text-align: center;
	padding: 0 30px;
	font-size: 2rem;
	background: var(--blue);
	color: #FFF;
	box-sizing: border-box;
}
.howto .sub-title h1:before, .sub-title h1:after {
	position: absolute;
	content: '';
	width: 0px;
	height: 0px;
	z-index: 1;
}
.howto .sub-title h1:before {
	top: 0;
	left: 0;
	border-width: 25px 0px 25px 15px;
	border-color: transparent transparent transparent #FFFDDF;
	border-style: solid;
}
.howto .sub-title h1:after {
	top: 0;
	right: 0;
	border-width: 25px 15px 25px 0px;
	border-color: transparent #FFFDDF transparent transparent;
	border-style: solid;
}
.howto_item{
	max-width: 24%;
	border: 2px solid var(--blue);
	background: #fff;
	position: relative;
	padding: 2.5rem;
	box-sizing: border-box;
}
.howto_item .bg_light-blue{
	height: 70%;
}
.howto_item .icon img{
	object-fit: contain;
	height: 8rem;
	max-width: 140px;
	margin: auto;
}
.howto_item .icon{
	width: fit-content;
	margin: auto;
	position: absolute;
	top:-6px;
	left: -5px;
}
.howto_content{
	text-align: center;
}
.howto_content img{
	object-fit: contain;
	height: 170px;
	max-width: 140px;
	margin: auto;
}
.howto_item p{
	color: var(--blue);
	margin-bottom: 0;
	text-align: center;
	line-height: 1.4;
	font-size: 1.6rem;
}
.howto_item .helvetica{
	font-size: 3rem;
	line-height: 0;
	color: var(--yellow);
	letter-spacing: 0.1em;
	text-shadow:2px 2px 0 var(--blue), -2px -2px 0 var(--blue),
	-2px 2px 0 var(--blue), 2px -2px 0 var(--blue),
	0px 2px 0 var(--blue),  0 -2px 0 var(--blue),
	-2px 0 0 var(--blue), 2px 0 0 var(--blue);
}
.howto {
	background: rgba(255,245,98,0.2);
}

.use-flow{
	width: 80%;
	margin: 0 auto;
}

.use-flow li{
	display: flex;
	align-items: center;
	text-align: center;
	background: #f1f1f1;
	margin: 3rem auto;
	padding: 0 2rem;
	justify-content: space-between;
}
.use-flow-num {
	width: 5%;
	margin: 0 auto;
	font-weight: bold;
	font-size: 4rem;
	color: #00af85;
}

.use-flow-art{
	width: 20%;
	margin: 0 auto;
}
.use-flow-art img{
	width: 70%;
	height: auto;
}

.use-flow-explanation{
	width: 70%;
	text-align: left;
}
.notes{
	color: #00af85;
	font-size: 2.2rem;
	font-weight: 500;
}



@media (max-width: 1000px) {
	.flex.howto_container{
		width: 100%;
		flex-wrap: wrap;
	}
}

@media (max-width: 600px) {
	.pc {
		display: none;
	}
	.period-box h2 {
		font-size: 2rem;
	}
	.period-box-sp{
		padding: 1rem;
	}
	.period-box .helvetica, .flex .period-box .helvetica{
		font-size: 3rem;
		line-height: 1.7;
	}
	.period-box p {
		font-size: 1.7rem;
		line-height: 1.7;
		letter-spacing: -0.05em;
	}
	.period-box .roboto{
		font-size: 3rem;
		line-height: 1;
	}
	.top .light-blue {
		font-size: 1rem;
		line-height: 1.3;
		letter-spacing: 0;
	}
	.light-blue .helvetica {
		font-size: 1.2rem;
	}
	.newscover .border-btn {
		width: 100%;
	}
	.news-bg{
		width: 100%;
	}
	.recruit .contents h2 {
		font-size: 1.4rem;
		letter-spacing: 0.01em;
	}
	.howto_item {
		max-width: 90%;
		margin: 40px auto;
	}
	.base-btn {
		width: 90%;
	}
	.flex.howto_container{
		margin: 0;
	}
	.howto .sub-title h1{
		line-height: 1.2;
		letter-spacing: 0.01em;
		padding-top: 1rem;
	}
	.howto_item p{
		font-size: 1.9rem;
	}
	.use-flow li{
		display: block;
		background: #f1f1f1;
		margin: 3rem auto;
		padding: 2rem;
	}
	.use-flow li > div{
		width: 100%;
	}
	.use-flow-num {
		font-size: 4rem;
		color: #00af85;
		text-align: left;
	}
	.use-flow-num > p {
		margin: 0;
	}

	.use-flow-art{
		margin: 0 auto;
	}
	.use-flow-art img{
		width: 60%;
	}
	.notes{
		font-size: 1.8rem;
	}
}
/*------------------お知らせ----------------*/
.oshirase_title{
	width: 100%;
	background: #DDF1FC;
	padding: 30px 0;
}
.oshirase_title h1{
	text-align: center;
	font-size: 3rem;
	font-weight: bold;
}

.oshirase_button{
	text-align: right;
}

.oshirase_button .fa-solid.fa-chevron-right{
	color: var(--blue);
}

/*お知らせ一覧*/
.oshirase_i_date{
	vertical-align: top;
	width: 20%;
}

/*お知らせ詳細*/
.oshirase_syousai{
	width: 80%;
	margin: auto;
}

.oshirase_s_date{
	color: var(--text-gray);
	width: 100%;
	margin: 1rem 0;
}
.oshirase_s_title{
	border-bottom: solid 1px #cccccc;
	padding-bottom: 1rem;
}

.oshirase_s_info{
	margin: 5rem 0;
}

.pdf-box{
	display: flex;
	background: #F5F5F5;
	padding: 1rem 0;
}
.pdf-icon-text{
	width: 20%;
	text-align: center;
	padding-right: 2rem;
}
.pdf-box a{
	width: 80%;
	margin: auto;
	color: #36c5e5;
}

/*------------------提出書類についての注意事項-----------------*/
.notes-section{
	background: #fffad2;
	padding-bottom: 2rem;
}
.notes-section h1{
	color: #00af85;
}
.notes-section .sub-title h1::before{
	content: '';
	width: 60px;
	height: 2px;
	display: inline-block;
	background-color: #00af85;
	position: absolute;
	bottom: -10px;
	left: calc(50% - 30px)
}

.g-period-box{
	text-align: center;
	margin: 30px auto 10px;
	border-radius: 1.5rem 1.5rem;
	background: #fff;
	width: 80%;
}

.g-period-box .green-box{
	width: 85%;
	margin: 0 auto;
	padding-bottom: 2rem;
}

.g-period-box h2{
	margin: 0;
	background: #00af85;
	color: #ffffff;
	font-weight: bold;
	font-size: 3rem;
	border-radius: 1rem 1rem 0 0;
	letter-spacing: 0.25rem;
}
.g-period-box p{
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: 0.05em;
	width: fit-content;
	margin: 0 auto;
	padding: 1.6rem 0;
	color: var(--text-black);
	text-align: left;
}
.g-period-box ul{
	padding: 1.6rem 0;
	margin: 0 auto;
	width: fit-content;
}
.g-period-box ul li{
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: 0.05em;
	width: fit-content;
	margin: 0;
	color: var(--text-black);
	text-align: left;
	padding-left: 1.2em;
	list-style: inside;
	text-indent: -1.2em;
}
.g-period-box .roboto{
	font-size: 4rem;
	line-height: 1;
}
.flex .g-period-box{
	margin: 4rem 0;
	width: 45%;
}

@media (max-width: 884px) {
	.g-period-box {
		width: 100%;
	}

	.flex .g-period-box {
		margin: 4rem 0;
		width: 45%;
	}

	.flex .period-box:last-of-type {
		margin-top: 1rem;
	}
}

@media (max-width: 600px) {
	.flex .g-period-box {
		width: 100%;
	}
	.g-period-box h2 {
		font-size: 2rem;
	}

	.g-period-box-sp {
		padding: 1rem;
	}

	.g-period-box p {
		font-size: 1.6rem;
		line-height: 1.7;
		letter-spacing: -0.05em;
	}
	.g-period-box ul li {
		font-size: 1.6rem;
		line-height: 1.7;
		letter-spacing: -0.05em;
	}
}
/*------------------資料DL-----------------*/
.dl-section .border-btn{
	width: 23%;
}
.dl-section{
	margin-bottom: 60px;
}
.dl-section .flex{
	width: 100%;
	margin: auto;
}
.dl-contents{
	width: 80%;
	margin: 0 auto;
	text-align: center;
}
.dl-flex{
	display: flex;
	width: 100%;
	justify-content: flex-start;
	flex-wrap: wrap;
	gap: 2rem 3%;
	margin-top: 6rem;
}
.dl-flex a{
	display: block;
	width: 30%;
	margin: 0;
	padding: 0.5rem 0;
	border-radius: 5rem;
	font-weight: 600;
	border: 2px solid var(--primary);
	color: var(--primary);
}
/*
.dl-flex::before{
	content: "";
	display: block;
	width: 30%;
	margin: 0 auto;
	height: 0;
	order: 99;
}
.dl-flex::after{
	content: "";
	display: block;
	width: 30%;
	margin: 0 auto;
	height: 0;
}
*/
.dl-section .border-btn.blue {
	margin: 40px 10px;
}

@media (max-width: 600px) {
	.dl-section .border-btn.blue{
		width: 100%;
		margin: 20px auto;
	}
	.dl-flex{
        justify-content: center;
        gap: 0;
	}
	.dl-flex a{
		width: 90%;
		font-size: 1.6rem;
        margin-top: 20px;
	}
	.dl-flex::after{
		content: "";
		display: block;
		width: 47%;
		margin: 0 auto;
		height: 0;
	}
}

/*-----------------------------------------------
製品・店舗一覧
-----------------------------------------------*/
.product_shop-heading{
	background: #fff3e6;
	font-weight: bold;
	font-size: 3.2rem;
	padding: 5rem;
}
.shop-box{
	width: 100%;
	background: #fffad2;
	margin: 10px;
	border-radius: 2px;
	padding: 30px;
	margin: 20px 0;
	box-sizing: border-box;
	position: relative;
}
.shop-name{
	font-weight: 700;
	padding-left: 10px;
	line-height: 1.5;
	color: var(--shop-text);
	margin-bottom: 20px;
	margin-top: 0;
	font-size: 1.8rem;
}
.shop-box table{
	table-layout: fixed;
	word-break: break-word;
	width: 100%;
}
.shop-box table th{
	min-width: 90px;
	width: 10%;
	font-size: 1.6rem;
	font-weight: 700;
	padding: 0.5rem 0.75rem;
	color: var(--orange);
	text-align: left;
}
.shop-box table td{
	text-align: left;
	max-width: 300px;
	width: 88%;
	word-wrap: break-word;
	color: var(--shop-text);
	font-size: 1.6rem;
	font-weight: 500;
}
.info-inner-title {
	border: 1px solid var(--blue);
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--blue);
	letter-spacing: 0.2em;
	padding: 0 2rem;
}
.cooperation , .normal{
	color: #fff;
	padding: 0 2rem;
	font-size: 2rem;
	font-weight: 600;
	position: absolute;
	top: 0;
	right: 0;
}
.cooperation{
	background: var(--orange);
}
.normal{
	background: #08699E;
}
/*------------------------------------------*/
.scroll {
	overflow: auto;
	white-space: nowrap;
}

.scroll table {
	width: 100%;
	border-collapse: collapse;
}
.scroll table tr th, .scroll table tr td {
	font-size: 0.85rem;
	padding: 1rem 0.3rem;
	color: black;
	font-weight: 600;
	text-align: center;
	letter-spacing: 0;
}

.scroll table td:nth-child(1),.scroll table td:nth-child(2),.scroll table td:nth-child(3),
.scroll table th:nth-child(1),.scroll table th:nth-child(2),.scroll table th:nth-child(3){
	text-align: left;
}

.scroll table tr th{
	background: var(--orange);
	color: #fff;
	padding: 1rem;
}


.scroll.product table tr{
	background: var(--bg-light-yellow);
	border-bottom: 1px solid var(--dark-blue);
	padding: 0 1rem;
}
.scroll.product table tr:first-of-type{
	background: var(--dark-blue);
}
.scroll.product table td{
	color: var(--dark-blue);
	text-align: left;
	white-space: break-spaces;
	padding: 7px;
	line-height: 2;
}
.scroll.product table tr th{
	color: white;
	padding: 7px;
	width: 12.5%;
	text-align: left;
	font-weight: 600;
}
.scroll.product table tr th.long{
	width: 28%;
}

.scroll .tbl_result td{
	font-size: 1.3rem;
	color: var(--text-black);
	font-weight: 500;
	padding: 1rem;
}

.scroll .tbl_result tr{
	border-bottom: 1px solid var(--orange);
}

.jyouge{
	margin: 0px 10px 0 0;
	width: fit-content;
}
.jyouge{
	position: relative;
}
.jyouge_se a:before{
	content: "";
	height: 4px;
	width: 4px;
	position: absolute;
	border-top: 2px solid;
	border-right: 2px solid;
	transform: translateY(50px) translateX(50px) rotate(-45deg);
	color: #ffffff;
	top: -46px;
	right: 30px;
}
.jyouge_se a:after{
	content: "";
	height: 4px;
	width: 4px;
	position: absolute;
	border-top: 2px solid;
	border-right: 2px solid;
	transform: translateY(50px) translateX(50px) rotate(135deg);
	color: #ffffff;
	top: -38px;
	right: 30px;
}
.linkbox{
	padding: 20px;
	position: relative;
	border-top: 2px solid;
	border-bottom: 2px solid;
	margin: 30px auto;
	max-width: 400px;
	width: 90%;
}
.linkbox a{
	color: #333;
}
.inner-link{
	padding: 0 30px 0;
}
.img-link-box {
	position: absolute;
	top: 20%;
	right: 5%;
}
.del {
	text-decoration-line: line-through;
	text-decoration-color: red;
}

@media (max-width: 560px) {
	.jyouge_se a:before {
		height: 5px;
		width: 5px;
		top: -45px;
		right: 40px;
	}

	.jyouge_se a:after {
		height: 5px;
		width: 5px;
		top: -40px;
		right: 40px;
	}

	.scroll.product table td{
		white-space: nowrap;
		line-height: 2.5;
	}
	.scroll.product table tr th{
		word-break: keep-all;
		padding: 10px;
	}
	.shop-box table td{
		vertical-align: inherit;
	}
}
/*------------------------------------------注意事項*/
.o-annotation-box{
	width: 80%;
	margin: 2rem auto;
	background: #d9d9d9;
	padding: 2rem;
}
.o-annotation-box h4{
	text-align: center;
	font-size: 1.6rem;
	letter-spacing: 0.1em;
}
.o-annotation-box .annotation-list{
	width: 80%;
	margin: 1rem auto;
}
.o-annotation-box .annotation-list ul li{
	list-style: inside;
	font-size: 1.4rem;
	font-weight: 600;
}


.annotation .gray-g.acc {
	padding: 4px 20px;
}
.answer_txt.active{
	background: #ffffff;
}
.annotation .base-bt.yellow-g{
	margin-top: 60px;
}


/*------------------------------------------FAQ*/
/*---------------FAQ-anker-link*/
.anker-link-list{
	max-width: 1166px;
	width: calc(100% - 8rem);
	margin: 0 auto;
	padding: 0;
}
.anker-link-category{
	display: flex;
	justify-content: space-evenly;
	margin: 0 auto;
}
.anker-link-category div{
	width:30%;
}

.qa-btn a{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: baseline;
	margin: 0 auto;
	max-width: 300px;
	padding: 10px;
	color: black;
	transition: 0.3s ease-in-out;
	font-weight: 600;
	font-size: 1.6rem;
	border-radius: 5px;
}

.qa-btn a:hover{
	transform: translate3d(0.05rem, 0.05rem, 0);
	box-shadow: none;
	opacity: 1;
	transition: all 0.1s;
}
.qa-btn i {
	color: var(--primary);
	font-size: 1.6rem;
	padding-top: 5px;
}
.qa-btn.qa-btn--okinawa a i{
	color: var(--primary);
}
.qa-btn.qa-btn--okinawa a{
	background: #DDF1FC;
	border: 3px solid var(--primary);
	box-shadow: 0px 4px 0px 1px var(--primary);
}
@media screen and (max-width: 768px) {
	.anker-link-category {
		display: block;
	}

	.anker-link-category div {
		width: 100%;
		margin: auto;
	}
}
/*---------------FAQ-contents*/
.faq-heading{
	background: #DDF1FC;
	font-weight: bold;
	font-size: 3.2rem;
	padding: 5rem;
	text-align: center;
}
.faq_title{
	color: var(--blue);
	font-weight: 500;
}
.faq_category{
	margin-top: 5rem;
}
.faq .qablock{
	font-weight: 500;
	font-size: 1.1rem;
	margin-bottom: 20px;
}
.question {
	font-size: 2.3rem;
	line-height: normal;
	font-weight: 600;
	font-style: normal;
	color: var(--text);
	margin: 0 20px 0 0;
	text-align: left;
}
.answer {
	font-size: 2rem;
	line-height: 1.7;
	font-style: normal;
	color: var(--text);
	margin: 0 20px 0 0;
	text-align: left;
}
.qa_box{
	width: 100%;
	margin: 0 auto;
	position: relative;
	z-index: 10;
	cursor: pointer;
}
.qa-heading{
	font-size: 2rem;
	font-weight: 600;
	color: var(--primary);
	margin-bottom: 2rem;
	border-bottom: solid 3px var(--primary);
}
.qa-sub-title{
	margin: 3.5rem 0 2rem;
	font-weight: 600;
}
.qa-sub-title p{
	color: var(--primary);
	font-size: 1.8rem;
}
.qa_box > dl > dt {
	display: flex;
	align-items: baseline;
	padding: 3px 20px 3px;
	position: relative;
}

.l-user .qa_box > dl > dt {
	background: #DDF1FC;
}

.qa_box > dl > dt .crossBar {
	width: 15px;
	height: 15px;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
}

.qa_box > dl > dt .crossBar::before {
	content: "";
	display: inline-block;
	width: 3px;
	height: 100%;
	position: absolute;
	top: 0;
	left: 50%;
	transform-origin: center center;
	transform: translateX(-50%) rotate(0deg);
	transition: transform 0.8s cubic-bezier(0.19, 1, 0.22, 1);
}

.qa_box > dl > dt .crossBar::after {
	content: "";
	display: inline-block;
	width: 100%;
	height: 3px;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

.qa_box > dl > dt > span {
	font-size: 2.5rem;
	line-height: normal;
	font-weight: 500;
	font-style: normal;
	margin-right: 20px;
}

.qa_box > dl > dd {
	margin: 0;
	display: flex;
	align-items: baseline;
	margin-bottom: 16px;
	padding: 0 30px;
	max-height: 0;
	overflow: hidden;
	transition: all 0.8s cubic-bezier(0.19, 1, 0.22, 1);
}

.l-user .qa_box > dl > dd {
	border: #DDF1FC solid 2px;
}

.qa_box > dl > dd > span {
	font-size: 2.5rem;
	line-height: 1.7;
	font-weight: 500;
	font-style: normal;
	margin-right: 20px;
}

/* 色 利用者 */
.l-user .qa_box > dl > dt .crossBar::before,
.l-user .qa_box > dl > dt .crossBar::after {
	background-color: var(--primary);
}

.l-user .qa_box > dl > dt > span,
.l-user .qa_box > dl > dd > span {
	color: var(--primary);
}

.l-user .qa_block h2 {
	color: var(--main-user);
	border-bottom: var(--main-user) 2px solid;
	margin-bottom: 2rem;
}

/* アコーディオン開閉 */
.qa_box > dl > dd.is-open {
	max-height: fit-content;
	padding: 5px 20px 5px;
}
.qa_box > dl > dt.is-open .crossBar::before {
	transform: translateX(-50%) rotate(90deg);
}
/*------------------------------------------アコーディオン(FAQ)*/
.faq .answer_txt p,
.faq .question_box {
	position: relative;
	padding-left: 2rem;
}
.faq .answer_txt {
	color: var(--dark-blue);
	margin: 0;
	padding-top: 20px;
}
.faq .answer_txt p {
	margin: 0 1.6rem auto;
}
.faq .qablock {
	color: var(--dark-blue);
	padding-bottom: 20px;
	background-image: linear-gradient(
			to right,
			rgb(0, 89, 113),
			rgb(0, 89, 113) 2px,
			transparent 2px,
			transparent 4px
	);
	background-size: 7px 2px;
	background-position: left bottom;
	background-repeat: repeat-x;
}
.faq .question_txt:before,
.faq .question_txt:after {
	background: var(--blue);
}
.faq .question_box:before,
.faq .answer_txt p:before {
	content: "Q";
	font-size: 1.8rem;
	font-family: "Jost", sans-serif;
	position: absolute;
	left: 13px;
	top: 0px;
	font-weight: 400;
	background-color: var(--blue);
	border-radius: 50%;
	line-height: 1.2;
	padding: 0.4rem 0.8rem;
	color: #ffffff;
}
.faq .answer_txt p:before {
	content: "A";
	color: var(--blue);
	border: 1px solid var(--blue);
	background: #ffffff;
	line-height: 1.1;
	top: -0.4rem;
	left: -1.6rem;
}
.question_box,
.answer_txt {
	position: relative;
	cursor: pointer;
	padding: 10px 14px;
	margin: 0;
}
.question_txt {
	width: 100%;
	margin: 0 2.5rem auto;
	padding-right: 9%;
	box-sizing: border-box;
	font-size: 1.1rem;
}
.contents.faq {
	margin-bottom: 80px;
}
.faq_title,
.anker-link {
	font-size: 1.3rem;
}
.anker-link,.anker-link a{
	color: var(--blue);
	vertical-align: middle;
}
.anker-link{
	line-height: 2.2;
	cursor: pointer;
	margin: 0 30px;
}
.anker-link > i{
	font-size: 16px;
	margin-left: 4px;
	line-height: 1;
}
.anker-link-box{
	border: 2px solid var(--blue);
	margin: 40px auto;
	width: 100%;
	justify-content: space-between;
}
/*------------------------------------------アコーディオン(注意書き)*/
.question_txt:before,
.question_txt:after {
	position: absolute;
	content: "";
	display: block;
	transition: all 0.4s;
	background: #333333;
	left: 97%;
	top: 50%;
	width: 2%;
	height: 3px;
	transform: translate(-50%, -50%);
}
.question_txt:before{
	transform: translate(-50%, -50%) rotate(-90deg);
}
.question_txt.open:before{
	transform: translate(-50%, -50%);
}
.annotation .gray-g:first-of-type{
	margin-bottom: 20px;
	padding: 20px 0 40px;
}

.annotation .question_txt{
	margin: 0 auto;
	font-size: 1.4rem;
}

.annotation .list {
	list-style-position: outside;
	width: 70%;
	margin: auto;
}
.annotation{
	font-size: 0.8rem;
}
.product-box select {
	height: 50px;
	width: 100%;
	white-space: normal;
}
.product-box select {
	height: 50px;
	width: 100%;
	white-space: normal;
}
#enquete select {
	margin-bottom: 0.3em;
	height: 45px;
}
@media (max-width: 560px) {
	.faq .question_box:before, .faq .answer_txt p:before{
		left: 0;
		top: 5px;
		font-size: 1.5rem;
		line-height: 1.1;
		padding: 0.4rem 0.6rem;
	}
	.question_txt {
		margin: 0 1rem auto;
		font-size: 1rem;
		padding-right: 10.5%;
	}
	.faq .qablock{
		padding-bottom: 10px;
		margin-bottom: 10px;
	}
	.faq .answer_txt {
		padding: 0;
	}
	.faq .answer_txt p {
		font-size: 1rem;
		margin: 0 1rem auto;
	}
	.faq .answer_txt p:before{
		left: -1rem;
		padding: 0.4rem 0.65rem;
	}
}
/*---------------------------------------------申請フォーム*/
.num-cover.flex{
	align-items: center;
	justify-content: space-between;
}
.num-cover .num-a,.num-cover .num-b{
	width: 40%;
}
.warn{
	color: red;
}
.product_shinsei_table tbody .product_form_box td select{
	height: 45px;
	width: 100%;
	white-space: normal;
}
.kiyaku-cover .kiyaku_annotation,.red-box p{
	text-align: left;
}
#privacypolicy{
	background: #eeeeee;
	padding: 6%;
	height: 200px;
	overflow-y: scroll;
}
#yu .form_title{
	color: #633600;
	font-size: 23px;
	line-height: 1.4em;
	margin: 40px auto;
	background: linear-gradient(transparent 50%, rgba(240,139,0,0.4) 50%);
	width: fit-content;
	display: block;
	letter-spacing: -0.05em;
}
#yu .form_title.m-tb100{
	margin: 100px 50px;
}
.flex.form_flex{
	align-items: baseline;
	justify-content: flex-start;
}

#yu .form-komoku {
	margin-top: 0;
}
.haihun{
	margin: 5px;
}
/* コメントアウト外すと非活性 */
/*
.shop_application_btn{
	pointer-events: none;
	background: #adadad;
}
.blue-btn.shop_application_btn{
	box-shadow: 0px 5px #828282;
}
*/

.youtube_wrapper{
	max-width: 800px;
	width: 100%;
	height: 450px;
	margin: 40px auto;
}
.youtube_wrapper iframe{
	width: 100%;
	height: 100%;
}
/*------------------------------------------
------------------------------------タブレット表示*/
@media (max-width: 900px) {
	.shop-box table th {
		width: 30%;
	}
	.helvetica{
		font-family: 'Helvetica';
	}
}
/*------------------------------------------
------------------------------------携帯表示*/
@media (max-width: 560px) {
	.sp{
		display: block;
	}
	.tyuibox {
		width: 90%;
	}
	.scroll table tr th, .scroll table tr td {
		font-size: 0.8rem;
	}
	.search-text {
		padding: 0 0 0 5px;
	}
	.search-box {
		width: calc(95% - 2rem);
	}
	.shop-box table th {
		line-height: 2;
	}

	.shop-box table th ,
	.shop-box table td
	{
		font-size: 1.5rem;
	}

	.cooperation, .normal{
		top: unset;
		bottom: 0;
	}

	.info-inner-title {
		font-size: 0.8rem;
		padding: 0;
		letter-spacing: 0;
	}
	.shop-box {
		padding: 2rem 2rem 4rem;
		box-sizing: border-box;
	}
	.shop-box table td {
		padding-left: 10px;
		max-width: unset;
	}

	.itiran-top-bt a.smart-min {
		font-size: 1.6rem;
	}
	.product_search {
		width: 100%;
	}

	.top-how-cover_se {
		margin: 100px 0;
		padding: 50px 5px 50px;
	}

	#f.flex {
		display: block;
		justify-content: center;
	}
	.inner-4 {
		width: 90%;
		margin: 20px;
	}
	.one-bt-box p {
		font-size: 1.2rem;
	}
	.campaign-box {
		border: 2px solid #009743;
		text-align: center;
		width: 95%;
		margin: 50px auto 0;
		padding: 0 0 30px 0;
	}
	.one-bt-box {
		width: 100%;
		text-align: center;
		color: white;
		line-height: 1.3;
		font-size: 1.15rem;
		letter-spacing: 0.5px;
	}
	.campaign-box .info-box {
		font-size: 1.2rem;
		font-weight: bold;
		letter-spacing: 1px;
		margin: 30px 0;
	}
	.base-bt-block p::before {
		content: url(../img/icon/shop.png);
		width: 10px;
		height: 10px;
		vertical-align: text-top;
		scale: 0.7;
		display: inline-block;
		margin: 0 20px;
	}
	.check_text_cover {
		margin: 10px;
		line-height: 1.8;
		font-size: 0.9rem;
		padding: 0 0 20px 0;
	}
	.inner-4 img{
		width: 70%;
	}
	.one-bt-box p {
		line-height: 1.2;
	}
	.one-bt-box.f-weight6.light-g {
		border-radius: 100px;
		width: 100%;
		margin: auto;
	}
	.place {
		margin: 40px 0 0;
	}
	.inner-4, .flex > .inner-4 {
		width: 100%;
		margin: 40px auto;
	}
	.rounde-box .inner-4 p{
		margin: 5px auto;
	}
	.w85p {
		width: 100%;
	}
	.w50p {
		width: 100%;
	}
	.flex > .flex_box {
		width: 100%;
	}
	.flex_box:first-of-type{
		margin-bottom: 60px;
	}

	.flex.flex-btn > .inner-4{
		width: 90%;
		margin: 20px;
	}
	.question_txt:before, .question_txt:after {
		left: 95%;
	}
	.question_txt:before, .question_txt:after {
		width: 5.5%;
	}
	.num-cover.flex{
		display: flex;
	}
	.shop-info-box table td{
		max-width: 200px;
	}
	.youtube_wrapper{
		width: 100%;
		height: 200px;
		margin: 40px auto;
	}
	.youtube_wrapper iframe{
		width: 100%;
		height: 100%;
	}
	/*スマホで電話番号の色変わらないように*/
	.tel a {
		color: unset;
	}
}

.annotation_box{
	border: 2px solid var(--blue);
	font-size: 1.4rem;
	width: 80%;
	margin: 0 auto 4rem;
	padding: 20px;
	border-radius: 4px;
	background: rgba(255,255,255,0.6);
}

.annotation_list{
	font-size: 1.4rem;
	width: 80%;
	margin: auto;
	padding: 20px;
}

.annotation_list ul li{
	font-size: 1.4rem;
	list-style-type: disc;
}

@media (max-width: 600px) {
	.red-box,.annotation_box,.annotation_list{
		width: 100%;
		box-sizing: border-box;
	}
}

/* カレンダーSP時の見た目 */
@media (max-width: 600px) {
	.ui-datepicker{
		width: 70%;
	}
	.ui-datepicker .ui-datepicker-calendar tr{
		display: flex;
	}
}

.note-box {
	background: #D9D9D9;
	padding: 6rem;
}

.note-box p {
	text-align: center;
}

.note-box ul li,
.note-box p
{
	font-size: 1.6rem;
}

.note-box ul {
	list-style: disc;
}

@media (max-width: 600px) {
	.note-box {
		padding: 4rem 4rem 4rem 5rem;
	}
}

.base-btn--inactive {
	background: #ACACAC!important;
	box-shadow: 0 6px #898989!important;
	pointer-events: none;
}

/** 対象製品・ポイント **/
.product-point {
    padding-top: 0;
}
.product-point-head-bg {
    height: 70px;
    background: #F5F0DF url(../img/product_point_head_bg.png) repeat-x top;
    background-size: cover;
}

.product-point-attention {
    max-width: 900px;
}

/** 加盟店募集 **/
.shop_application {
    padding-top: 0;
    background-color: #DDF1FC;
}
.shop_application_head_bg {
    height: 70px;
    background: #FFF url(../img/shop_application_head_bg.png) repeat-x top;
    background-size: cover;
}

.shop_application_bg {
    background-image: url(../img/shop_application_bg.png);
    background-repeat: repeat-y;
    background-size: 100%;
}

.shop_application_img {
    text-align: center;
}

.shop_application_img img {
    width: 90%;
}