﻿@charset "UTF-8";
.forcms_block header{
	top: 0;
}
.wrapper_ .container_{
	margin-top: 83px;
}
header{
	top: 0;
}
/*詳しくはこちら*/
.only-pc{
	display: block;
}
.only-sp{
	display: none;
}
.block-top-program-link{
	background: #F7F7F7;
	width: 100%;
	max-width: 1400px;;
	margin: 0 auto 80px;
	padding: 100px 190px 80px;
	box-sizing: border-box;
}
p.block-top-program-link-title{
	width: max-content;
	margin: 0 auto;
	font-size: 1.6rem;
	position: relative;
	line-height: 1;
}
p.block-top-program-link-title::before{
	display: inline-block;
	content: '';
	background: url(../img/top/program_title_left.png) center center no-repeat;
	position: absolute;
	bottom: 0;
	left: -32px;
	width: 13px;
	height: 13px;
}
p.block-top-program-link-title::after{
	display: inline-block;
	content: '';
	background: url(../img/top/program_title_right.png) center center no-repeat;
	position: absolute;
	bottom: 0;
	right: -32px;
	width: 13px;
	height: 13px;
}
.block-top-program-link-main{
	display: flex;
	gap: 20px;
	margin: 32px 0 40px;
}
.block-top-program-link-item{
	background: #FFF;
	width: calc(100% / 2);
}
.block-top-program-link-item > *{
	display: flex;
	align-items: center;
	padding: 20px 0;
}
.block-top-program-link-item a:hover{
	opacity: 0.8;
}
.block-top-program-link-item p{
	text-align: center;
	display: flex;
	flex-direction: column;
	gap: 12px;
	line-height: 1;
	color: #222;
}
.block-top-program-link-item a{
	text-decoration: none;
}
.block-top-program-link-item picture img{
	vertical-align: bottom;
}
.block-top-program-link-item.pointprogram picture{
	padding: 0 33px 0 80px;
}
.block-top-program-link-item.memberprogram picture{
	padding: 0 52px 0 78px;
}
.block-top-program-link-item p span:nth-child(1){
	font-size: 1.4rem;
}
.block-top-program-link-item p span:nth-child(2){
	font-size: 2rem;
}
a.block-top-program-btn:link,
.block-top-program-btn{
	color: #222222;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 300px;
	height: 40px;
	margin: 0 auto;
	border: 1px solid #222222;
	border-radius: 100px;
	text-decoration: none;
	background: url(../img/top/program_detail_btn.png) right 20px center no-repeat;
	font-size: 1.4rem;
	box-sizing: border-box;
}
.block-top-program-btn:hover{
	opacity: 0.8;
}
/*詳しくはこちら*/

/*ブランド一覧*/
.block-top-brand-list{
	width: 100%;
	max-width: 1400px;
	margin: 0 auto 100px;
}
.block-top-brand-list h2{
	width: max-content;
	margin: 0 auto;
	text-align: center;
	font-size: 2.8rem;
	line-height: 1;
}
.block-top-brand-list h2 span{
	display: block;
	margin-top: 12px;
	font-size: 1.2rem;
	letter-spacing: 3px;
	line-height: 1;
	font-family: "Barlow", sans-serif;
	font-weight: 500;
	font-style: normal;	
}
.block-top-brand-list-main{
	gap: 80px;
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: center;
	margin: 48px 0 0 0;
}
.block-top-brand-list-item{
	width: calc((100% / 3) - 54px);
}
.block-top-brand-list-item a:hover{
	opacity: 0.8;	
}
.block-top-brand-list-item picture{
	margin-bottom: 16px;
	display: flex;
	flex-direction: column;
	position: relative;
}
.block-top-brand-list-item picture::before{
	display: inline-block;
	content: '';
	width: 44px;
	height: 44px;
	background: url(../img/top/brand_anchor.png) right bottom no-repeat;
	position: absolute;
	bottom: 0;
	right: 0;
}
.block-top-brand-list-item img{
	max-width: 100%;
	vertical-align: bottom;
}
.block-top-brand-list-item a{
	text-decoration: none;
}
.block-top-brand-list-item h3{
	color: #222222;
	font-size: 2.0rem;
	padding: 0 0 12px;
	margin: 0 0 17px;
	border-bottom: 1px solid #DEDEDE;
}
.block-top-brand-list-detail p{
	font-size: 1.6rem;
	color: #222222;
}
/*ブランド一覧*/

/*人気のキーワード*/
.block-top-keyword{
	background: #F7F7F7;
	width: 100%;
	max-width: 1400px;
	margin: 0 auto 80px;
	padding: 80px 0 100px;
}
.block-top-keyword h2{
	font-size: 2.8rem;
	width: max-content;
	text-align: center;
	margin: 0 auto 48px;
}
.block-top-keyword h2 span{
	display: block;
	margin-top: 12px;
	font-size: 1.2rem;
	letter-spacing: 3px;
	line-height: 1;
	font-family: "Barlow", sans-serif;
	font-weight: 500;
	font-style: normal;	
}
.block-top-keyword-main{
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
}
.block-top-keyword-list{
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	gap: 13px;
	width: 508px;
	margin: 0 auto 24px;
	justify-content: center;
	align-items: center;
}
.block-top-keyword-main a{
	font-size: 1.4rem;
	border: 1px solid #222222;
	border-radius: 16px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: max-content;
	padding: 5px 15px;
	color: #222222;
	font-size: 1.4rem;
	text-decoration: none;
	box-sizing: border-box;
}
.block-global-search--keyword{
	width: 100%;
	border: 1px solid #BFBFBF;
	border-radius: 26px;
	height: 52px;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	padding: 0 64px 0 32px;
	outline: none;
	color: #222;
}
.block-global-search{
	position: relative;
}
.block-global-search--keyword input::placeholder{
	color: #888888;
}
.block-global-search--submit{
	border: none;
	outline: none;
	width: 22px;
	height: 22px;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 20px;
	margin: auto 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: url(../img/top/loope.png) center center no-repeat;
}
/*人気のキーワード*/

/*お知らせ*/
.block-top-topic{
	width: 100%;
	max-width: 1200px;
	margin: 0 auto 120px;
	padding: 40px 0 0 0;
}
.block-top-topic h1{
	color: #222222;
	font-size: 3.2rem;
	font-weight: bold;
	text-align: center;
	margin: 0 0 90px;
}
.block-top-topic h2{
	font-size: 2.8rem;
	width: max-content;
	text-align: center;
	margin: 0 auto 48px;
}
.block-top-topic h2 span{
	display: block;
	margin-top: 12px;
	font-size: 1.2rem;
	letter-spacing: 3px;
	line-height: 1;
	font-family: "Barlow", sans-serif;
	font-weight: 500;
	font-style: normal;	
}
.block-topic--items li dl{
	display: flex;
	flex-direction: row;
	gap: 40px;
}
.block-topic--items li:first-child{
	border-top: 1px solid #DEDEDE;
}
.block-topic--items li{
	border-bottom: 1px solid #DEDEDE;
}
.block-topic--items li a{
	color: #222;
	text-decoration: none;
	background: url(../img/top/topic_shape.png) right 20px center no-repeat;
}
.block-topic--items li a:hover{
	opacity: 0.8;
}
.block-topic--items li > *{
	padding: 24px 0;
	display: block;
}
.block-topic--items li dl dt,
.block-topic--items li dl dd{
	font-size: 1.6rem;
	color: #222;
}
.block-topic--items li dl dt{
	width: max-content;
}
.block-topic--items li dl dd{
	width: max-content;
}
.block-top-topic--next-page{
	margin: 60px 0 0 0;
}
.block-top-topic--next-page a{
	color: #222222;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 300px;
	height: 40px;
	margin: 0 auto;
	border: 1px solid #222222;
	border-radius: 100px;
	text-decoration: none;
	background: #fff url(../img/top/program_detail_btn.png) right 20px center no-repeat;
	font-size: 1.4rem;
	box-sizing: border-box;
}
.block-top-topic--next-page a:hover{
	opacity: 0.8;
}
/*お知らせ*/
@media print, screen and (max-width: 767px) {
	.forcms_block .header-right .header-brand-list-wrap ul{
		right: 0;
	}
	.forcms_block .header-right > ul,
	.header-right > ul{
		top: 0;
	}
	.header-right.fixed{
		display: flex;
	}
	.block-top-wrap{
		display: flex;
		flex-direction: column;
	}
	.block-top-body-main{
		margin-bottom: 24px;	
	}
	.block-top-frame1{
		display: flex;
		flex-direction: column;
	}
	.block-top-frame1:nth-child(1){
		order: 2;
	}
	.block-top-frame1:nth-child(2){
		order: 1;
	}
	/*詳しくはこちら*/
	.only-pc{
		display: none;
	}
	.only-sp{
		display: block;
	}	
	.block-top-program-link{
		max-width: 100%;
		min-width: 100%;
		width: 100%;
		margin: 0 0 8px;
		padding: 52px 24px 60px;
		order: 2; 	
	}
	.block-top-program-link-main{
		flex-direction: column;
		margin-bottom: 24px;
	}
	.block-top-program-link-item{
		width: 100%;
		padding: 0 0 0 0;
	}
	.block-top-program-link-item > *{
		padding: 0 30px 0 0;
		box-sizing: border-box;
	}
	p.block-top-program-link-title{
		font-size: 1.4rem;
		text-align: center;
		line-height: 1.4;
	}
	p.block-top-program-link-title::before{
		background: url(../img/top/sp/program_title_left.png) center center no-repeat;
		background-size: 18px 18px;
	}
	p.block-top-program-link-title::after{
		background: url(../img/top/sp/program_title_right.png) center center no-repeat;
		background-size: 18px 18px;
	}
	.block-top-program-link-main{
		margin-top: 20px;
		gap: 8px;
	}
	.block-top-program-link-item.pointprogram picture{
		padding: 16px 24px 16px 20px;
	}
	.block-top-program-link-item.memberprogram picture{
		padding: 16px 30px 16px 25px;		
	}
	.block-top-program-link-item picture img{
		height: 90px;
	}
	.block-top-program-link-item p span:nth-child(1){
		font-size: 1.2rem;
	}
	.block-top-program-link-item p span:nth-child(2){
		font-size: 1.8rem;
	}
	.block-top-program-btn{
		font-size: 1.4rem;
		width: unset;
		margin: 0 21px;
		height: 40px;
		background: url(../img/top/sp/program_detail_btn.png) right 20px center no-repeat;
		background-size: 20px auto;
	}
	/*詳しくはこちら*/	
	.header-brand-list{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
	}
	/*ブランド一覧*/
	.block-top-brand-list h2{
		font-size: 2.4rem;
		margin: 0 auto 48px;
	}
	.block-top-brand-list h2 span{
		font-size: 1.2rem;
		margin-top: 10px;
	}
	.block-top-brand-list{
		margin-bottom: 0;
		max-width: 100%;
		min-width: 100%;
		width: 100%;
		padding-top: 32px;
	}
	.block-top-brand-list-main{
		order: 1;
		margin: 48px 24px 60px;
		gap: 48px;
		flex-direction: column;
	}
	.block-top-brand-list-item{
		width: 100%;
	}
	.block-top-brand-list-item > *{
		display: flex;
		flex-direction: row;
		gap: 16px;
	}
	.block-top-brand-list-item picture::before{
		width: 26px;
		height: 26px;
		background: #DEDEDE url(../img/top/sp/brand_anchor.png) center center no-repeat;
		background-size: 12.5px auto;

	}
	.block-top-brand-list-item picture{
		margin: 0;
	}
	.block-top-brand-list-item:nth-child(even) > * picture{
		order: 2;
	}
	.block-top-brand-list-item:nth-child(even) > * .block-top-brand-list-detail{
		order: 1;
	}	
	.block-top-brand-list-item picture{
		width: 111px;
	}
	.block-top-brand-list-detail{
		width: calc(100% - (111px + 16px));
	}
	.block-top-brand-list-item h3{
		font-size: 1.8rem;
		padding: 0 0 8px;
		margin: 0 0 12px;
	}
	.block-top-brand-list-detail p{
		font-size: 1.4rem;
	}
	/*ブランド一覧*/

	/*人気のキーワード*/
	.block-top-keyword{
		padding: 48px 0 60px;
	}
	.block-top-keyword-main{
		max-width: 100%;
	}
	.block-top-keyword{
		max-width: 100%;
		min-width: 100%;
		width: 100%;
	}
	.block-top-keyword h2{
		margin-bottom: 32px;
		font-size: 2.4rem;
	}
	.block-top-keyword h2 span{
		font-size: 1.2rem;
		margin-top: 10px;
	}
	.block-top-keyword-list{
		width: 100%;
		padding: 0 28px;
		gap: 9px;
		margin: 0 0 16px;
		box-sizing: border-box;
	}
	.block-top-keyword-main a{
		font-size: 1.2rem;
		padding: 6px 16px 7px;
	}
	.block-global-search{
		margin: 0 24px;
		height: 52px;
		font-size: 1.4rem;
	}
	.block-global-search--submit{
		background: url(../img/top/sp/loope.png) center center no-repeat;
		background-size: 18px 18px;
		width: 18px;
		height: 18px;
	}
	/*人気のキーワード*/


	/*お知らせ*/
	.block-top-topic h1{
		font-size: 24px;
		margin-bottom: 40px;
	}
	.block-top-topic h2{
		margin-bottom: 32px;
		font-size: 2.4rem;
	}
	.block-top-topic h2 span{
		margin-top: 10px;
		font-size: 1.2rem;
	}
	.block-top-topic ul{
		margin: 0 32px;
	}
	.block-top-topic{
		widows: 100%;
		max-width: 100%;
		min-width: 100%;
		padding:  32px 0 0;
		margin-bottom: 80px;
		box-sizing: border-box;
	}
	.block-topic--items li > *{
		padding: 20px 0;
	}
	.block-topic--items li a{
		background: none;
	}
	.block-topic--items li dl{
		flex-direction: column;
		gap: 12px;
	}
	.block-topic--items li dl dt,
	.block-topic--items li dl dd{
		width: 100%;
	}
	.block-topic--items li dl dt{
		font-size: 1.4rem;
	}
	.block-topic--items li dl dd{
		font-size: 1.4rem;
	}
	.block-top-topic--next-page{
		margin: 32px 0 0 0;
	}
	.block-top-topic--next-page a{
		width: unset;
		margin: 0 45px;
		background: #fff url(../img/top/sp/program_detail_btn.png) right 20px center no-repeat;
		background-size: 20px auto;		
	}
	/*お知らせ*/
	.wrapper_ .container_{
		margin-top: 48px;	
	}
	footer{
		padding-top: 0;
		display: flex;
		flex-direction: column;
	}
	.footer-logo{
		order: 1;
	}
	.footer-language {
		order: 2;
	}
	.footer-main{
		order: 3;
	}
}


/*フリーページ*/
.guide-content__heading{
    border-bottom: 3px solid #2E9B3B;
}
.guide-item__heading::before{
    background: #2E9B3B;
}
.guide-item a{
    color: #2E9B3B;
}
/*フリーページ*/


h3.guide-item__heading{
    background-color: #F7F7F7;
}