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

共通

-------------------------------------------*/
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: #3C3C3C;
}
.dark-blue{
	color: var(--dark-blue);
}
.gray-g{
	background-color: #d9d9d9;
	font-size: 1rem;
}
.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;
}

body{
	font-family:"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%;
}
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: 1166px;
	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_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-weight4{
	font-weight: 400;
}

.f_small{
	font-size: 1.4rem;
}
.clearfix::after {
	content: "";
	display: block;
	clear: both;
}
.red-box{
	background: #fceded;
	color: #F04457;
	padding: 20px;
	margin: auto;
	width: 80%;
	border-radius: 4px;
}
.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-image: url(../img/bg_rate.jpg);
	background-repeat: repeat-y;
	background-size: 100%;
}
.product_rate .w85p{
	margin: 0 auto 1rem;
}
@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) {
	.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;
	}
	.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;
}
.fs_13{
	font-size: 1.3rem;
}
.fs_14{
	font-size: 1.4rem;
}
.fs_16{
	font-size: 1.6rem;
}
.fs_20{
	font-size: 2rem;
}
/*----------------------------------ボタン*/
.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(--blue);
	color: #ffffff;
	border-radius: 5rem;
	font-weight: 600;
	max-width: 500px;
	width: fit-content;
	box-shadow: 0px 5px #003072;
	margin: auto;
	cursor: pointer;
}
.base-btn.yellow-btn{
	background: var(--yellow);
	box-shadow: 0px 5px #fc9430;
}
.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-family: 'HelveticaNeue-Bold-Italic';
	font-size: 5rem;
	color: var(--headline-bg);
	margin: auto;
	position: relative;
	letter-spacing: 0.05em;
}
.sub-title h1{
	font-size: 3rem;
	text-align: center;
	color: var(--blue);
}
.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;
}
.sub-title p {
	margin: 0;
}


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

検索部分使用

-------------------------------------------*/
.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: 600;
	color: var(--form-border);
}
.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: 32%;
}
.itiran-top-bt a {
	color: var(--blue);
	font-size: 2rem;
	border: 2px solid var(--blue);
	height: 50px;
	text-align: center;
	line-height: 50px;
	display: block;
	font-weight: 600;
	border-radius: 25px;
	color: var(--blue);
	letter-spacing: 0.03em;
	background: #fff;
}
.itiran-top-bt.spcolor a {
	color: #ffffff;
	background: var(--blue);
}
.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(--blue);
	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;
	}
	.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: var(--blue);
	padding: 0;
}
.mv{
	max-width: 1300px;
}
.period-box{
	text-align: center;
	margin: 30px auto 10px;
	border: 2px solid var(--blue);
	border-radius: 1.5rem 1.5rem 0 0;
	background: #fff;
}
.period-box h2{
	margin: 0;
	background: var(--blue);
	color: #ffffff;
	font-weight: 600;
	font-size: 3rem;
	border-radius: 1rem 1rem 0 0;
	letter-spacing: 0.25rem;
}
.period-box p{
	font-size: 2.5rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	color: var(--blue);
	background:linear-gradient(transparent 50%, var(--yellow) 50%);
	width: fit-content;
	margin: 1.6rem auto;
}
.period-box .helvetica{
	font-size: 5rem;
	line-height: 1;
}
.end-notice{
	font-size: 1.6rem;
	color: var(--blue);
	text-align: center;
}
.newscover table{
	border-collapse:collapse;
	width: 100%;
}
.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;
}
.newscover table tr th{
	padding-right: 2rem;
}
.newscover table tr th,.newscover table tr td{
	color: var(--blue);
	text-align: left;
	padding-bottom: 1.5rem;
	padding-top: 1.5rem;
	font-size: 1.6rem;
}
.newscover table tr td a{
	color: var(--blue);
}
.newscover .simple-btn{
	width: fit-content;
	margin-left: auto;
}
.newscover .simple-btn a{
	text-align: right;
	font-size: 1.6rem;
	color: var(--blue);
}

/*-------------------店舗募集----------------*/
.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: #F0FCFF;
	color: #00465F;
	padding-bottom: 10rem;
}
.about .sub-title h1{
	color: var(--blue);
	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);
}
.about h2{
	position: relative;
	width: fit-content;
	margin: 80px auto;
}
.about h2:before{
	content: "";
	background-image: url("../img/about_ashirai_01.png");
	padding: 4rem;
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	top: -30px;
	left: -9rem;
}
.about h2:after{
	content: "";
	background-image: url("../img/about_ashirai_02.png");
	padding: 2rem;
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	top: 0;
	right: -5rem;
}
.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;
}


/*----------------ポイント申請--------------*/
.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;
	}
}

@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;
	}
	.about h2{
		font-size: 1.3rem;
		margin: 80px auto 30px;
	}
	.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;
	}
	.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;
	}
}
/*----------------利用方法--------------*/
.flex.howto_container{
	justify-content: space-between;
	margin: 70px auto;
	width: 90%;
}
.sub-title{
	text-align: center;
	font-family: 'HelveticaNeue-Bold-Italic';
	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);
}

@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 .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;
	}
	.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%;
	}
	.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;
	}
}
/*------------------お知らせ----------------*/
.oshirase_button{
	text-align: right;
}

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

/*------------------資料DL-----------------*/
.dl-section .border-btn{
	width: 23%;
}
.dl-section{
	margin-bottom: 60px;
}
.dl-section .flex{
	width: 100%;
	margin: auto;
}
.dl-section .border-btn.blue {
	margin: 40px 10px;
}

@media (max-width: 600px) {
	.dl-section .border-btn.blue{
		width: 100%;
		margin: 20px auto;
	}
}

/*-----------------------------------------------
店舗一覧
-----------------------------------------------*/
.shop-box{
	width: 100%;
	background: #ebf9fc;
	margin: 10px;
	border-radius: 2px;
	padding: 30px;
	margin: 20px 0;
	box-sizing: border-box;
	position: relative;
}
.shop-name{
	font-weight: 600;
	padding-left: 10px;
	line-height: 1.5;
	color: var(--blue);
	margin-bottom: 20px;
	margin-top: 0;
	font-size: 2rem;
}
.shop-box table{
	table-layout: fixed;
	word-break: break-word;
	width: 100%;
}
.shop-box table th{
	min-width: 90px;
	width: 10%;
	font-size: 1.4rem;
	font-weight: 600;
	padding: 0.5rem 0.75rem;
	color: var(--blue);
	text-align: left;
}
.shop-box table td{
	text-align: left;
	max-width: 300px;
	width: 88%;
	word-wrap: break-word;
	color: var(--text-dark);
	font-size: 1.4rem;
}
.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: #e8940e;
}
.normal{
	background: var(--blue);
}
/*------------------------------------------*/
.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(--blue);
	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(--form-border);
}

.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;
	}
}
/*------------------------------------------注意事項*/
.annotation .gray-g.acc {
	padding: 4px 20px;
}
.answer_txt.active{
	background: #ffffff;
}
.annotation .base-bt.yellow-g{
	margin-top: 60px;
}
/*------------------------------------------FAQ*/
.faq_title{
	color: var(--blue);
	font-weight: 500;
}
.faq .qablock{
	font-weight: 500;
	font-size: 1.1rem;
	margin-bottom: 20px;
}
.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;
}
/*------------------------------------------アコーディオン(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;
}
/*------------------------------------------アコーディオン(注意書き)*/
.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,
#privacypolicy2 {
	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: 2px;
}
/* コメントアウト外すと非活性 */
/*
.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%;
	}
	.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%;
	}
}

.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;
}
}

.u-list-indent {
	padding-left: 1em!important;
	text-indent: -1em!important;
}
