@charset "utf-8";
/* CSS Document */

/******************************************************************************************

	<css/feature.css>

*******************************************************************************************/

/*==========================================================================================

	// キャンペーン一覧

==========================================================================================*/
.feature {
	padding: 30px 0 40px;
	background-color: #f5f6f8;
}
@media (max-width: 980px) {
	.feature {
		padding: 20px 10px 30px;
	}
}

.campaign {
	max-width: 1012px;
	margin: auto;
}

.campaign_ttl {
	background-image: url(../images/icon_heart.png);
	background-repeat: no-repeat;
	background-position: 0 50%;
	background-size: 34px auto;
	padding: 2px 0 2px 42px;
	font-family: Koruri-bold;
	font-size: 22px;
	font-weight: bold;
	color: #2c5379;
}
@media (max-width: 980px) {
	.campaign_ttl {
		padding: 8px 0 8px 42px;
		font-size: 16px;
		line-height: 1.2;
	}
}

.campaign__list {
	display: flex;
	flex-wrap: wrap;
	width: 100%;

}
.campaign__list li {
	position: relative;
	margin-top: 30px;
	width: 31.8%;
	border: solid 1px #cacaca;
	margin-right: 1.53333333333333333%;
	background-color: #ffffff;
	padding-bottom: 80px;
}
.campaign__list li dt {
	padding: 14px 20px 0;
	font-size: 16px;
	font-weight: bold;
}
.campaign__list li dd {
	padding: 10px 20px;
}
.campaign__link {
	position: absolute;
	width: 100%;
	bottom: 25px;
	text-align: center;
}
.campaign__link a.btn {
	padding: 13px 6px;
	font-size: 16px;
}
@media (max-width: 980px) {

	.campaign__list li {
		display: block;
		max-width: 400px;
		margin: 20px auto 0;
		width: 100%;
		padding-bottom: 0;
	}
	.campaign__link {
		position: static;
		padding: 20px 0 30px;
	}
}




.toku {
	padding: 40px 0 120px;
	max-width: 1010px;
	margin: auto;
}
@media (max-width: 980px) {
	.toku {
		padding: 20px 0 30px;
	}
}


.toku__ttl {
	background-image: url(../images/icon_hoshi.png);
	background-repeat: no-repeat;
	background-position: 0 50%;
	background-size: 34px auto;
	padding: 2px 0 2px 42px;
	font-family: Koruri-bold;
	font-size: 22px;
	font-weight: bold;
	color: #2c5379;
}
@media (max-width: 980px) {
	.toku__ttl {
		margin: 0 10px;
		padding: 8px 0 8px 42px;
		font-size: 16px;
		line-height: 1.2;
	}
}

.toku__list {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
.toku__list li {
	margin-top: 30px;
	width: 23.6%;
	border: solid 1px #cacaca;
	margin-right: 1.4%;
	background-color: #ffffff;
}
.toku__list li a {
	display: block;
	height: 100%;
	color: #2e2e2e;
	text-decoration: none;
}
.toku__list li a:hover {
	background-color: #fdf2cb;
}
.toku__list li a p {
	padding: 24px 24px 30px;
	font-size: 16px;
}
@media (max-width: 980px) {
	.toku__list li {
		display: block;
		width: 100%;
		margin: 0;
		border: none;
		border-bottom: solid 1px #cacaca;
	}
	.toku__list li:first-child {
		margin-top: 12px;
		border-top: solid 1px #cacaca;
	}
	.toku__list li a {
		display: table;
		table-layout: fixed;
		width: 100%;
		padding: 10px;
	}
	.toku__list li a img {
		display: table-cell;
		vertical-align: middle;
	}
	.toku__list li a p {
		display: table-cell;
		vertical-align: top;
		padding: 2px 0 0 10px;
		font-size: 12px;
	}
}




/*==========================================================================================

	// キャンペーン詳細

==========================================================================================*/
.campaign__detail {
	max-width: 800px;
	margin: auto;
	padding-bottom: 100px;
}
.campaign__detail .ttl {
    color: #2c5379;
    font-size: 22px;
    font-weight: bold;
}
.box {
	margin-top: 40px;
}
.imgbox {
	margin-top: 40px;
}
.campaign__detail .ttl {
	color: #2c5379;
	font-size: 22px;
	font-weight: bold;
}
.campaign__detail .dlList {
	margin-top: 24px;
}
.campaign__detail .dlList dt {
	font-size: 18px;
	color: #e4803c;
	font-weight: bold;
	line-height: 1.3;
}
.campaign__detail .dlList dd {
	margin-top: 6px;
}
.imgLeft {
	display: table;
	table-layout: fixed;
	width: 100%;
	margin-top: 24px;
}
.imgLeft li:first-child {
	display: table-cell;
	vertical-align: top;
	width: 55%;
}
.imgLeft li:last-child {
	display: table-cell;
	vertical-align: top;
	width: 45%;
	padding-left: 20px;
}
.imgRight {
	display: table;
	table-layout: fixed;
	width: 100%;
	margin-top: 24px;
}
.imgRight li:first-child {
	display: table-cell;
	vertical-align: top;
	width: 45%;
	padding-right: 20px;
}
.imgRight li:last-child {
	display: table-cell;
	vertical-align: top;
	width: 55%;
}
.btnList {
	display: table;
	table-layout: fixed;
	margin: 40px auto 0;
	width: 100%;
	max-width: 550px;
}
.btnList.maxw100p {
	max-width: 100%;
}
.btnList li {
	display: table-cell;
	vertical-align: top;
	padding: 0 5px;
}
.btnWrapper {
	max-width: 400px;
	margin: auto;
	text-align: center;
	padding: 0 10px;
}
.btnWrapper .btn,.btnWrapper .btn:link,.btnWrapper .btn:visited {
	padding: 18px 12px 17px;
	font-size: 18px;
}
.ic_nw {
	display: inline-block;
	background-image: url(../images/icon_nw.png);
	background-repeat: no-repeat;
	background-position: 100% 50%;
	background-size: 20px 20px;
	padding-right: 26px;
}
@media (max-width: 980px) {
	.campaign__detail {
		padding-bottom: 0;	
	}
	.box {
		margin-top: 30px;
		padding: 0 10px;
	}
	.imgbox {
		margin-top: 30px;
	}
	.imgbox .ttl {
		padding: 0 10px;
	}
	#feature .ttl {
		font-size: 16px;
	}
	#feature .dlList dt {
		font-size: 15px;	
	}
	.imgLeft {
		margin-top: 18px;
	}
	.imgLeft li:first-child {
		display: block;
		width: 100%;
	}
	.imgLeft li:last-child {
		display: block;
		width: 100%;
		margin-top: 18px;
		padding: 0 10px;
	}
	.imgRight {
		margin-top: 18px;
	}
	.imgRight li:first-child {
		display: block;
		width: 100%;
		padding: 0 10px;
	}
	.imgRight li:last-child {
		display: block;
		width: 100%;
		margin-top: 18px;
	}
	.btnList {
		margin-top: 30px;
	}
	.btnList.maxw100p {
		padding: 0 5px;	
	}
	.btnList.maxw100p li {
		display: block;
		margin-top: 20px;
	}
	.btn,.btn:link,.btn:visited {
		padding: 14px 12px 13px;
		font-size: 14px;
	}
	.ic_nw {
		background-size: 16px 16px;
		padding-right: 22px;
	}
}




/* 汎用 */
.purpose p {
	margin-top: 16px;
	line-height: 1.8;
	letter-spacing: 1px;
}

.purpose table {
	margin-top: 30px;
	width: 100%;
	border-collapse: collapse;
	border: 1px black solid;
}

.purpose th,td {
	border: 1px black solid;
	padding: 10px 6px;
	text-align: center;
	vertical-align: middle;
}
.purpose th {
	background-color: #ffd78c;
}

.purpose hr {
	margin-top: 24px;
	border-color: #acacac;
}

.purpose h1 {
	margin-top: 18px;
	font-size: 20px;
	font-family: "Koruri-Bold";
}
.purpose h2 {
	margin-top: 18px;
	font-size: 18px;
	font-family: "Koruri-Bold";
}
.purpose h3 {
	margin-top: 15px;
	font-size: 16px;
	font-family: "Koruri-Bold";
}
.purpose h4 {
	margin-top: 12px;
	font-size: 15px;
	font-family: "Koruri-Bold";
}
.purpose h5 {
	margin-top: 10px;
	font-size: 14px;
	font-family: "Koruri-Bold";
}
.purpose h6 {
	margin-top: 8px;
	font-size: 13px;
	font-family: "Koruri-Bold";
}

.purpose ul {
	padding: 8px;
	list-style-type: disc;
}
.purpose ol {
	padding: 8px;
	list-style-type: decimal;
}
.purpose ul li,.purpose ol li {
	padding: 10px 0 0 0;
	line-height: 1.5;
}




.purpose pre {
	margin-top: 16px;
}

img {
	height: auto;
}

strong, b {
    font-family: "Koruri-Bold";
}



