﻿@charset "UTF-8";

/* ▼▼▼ トップ
======================================================*/
/* ▼ 高さを揃える（使わない場合は削除） */
.foo {margin-bottom: 40px;}
.foo div {
	background: #ccc;
	padding: 20px;
	}
.foo .foo-name {background: #999;}

/* ▼ スライダー 
----------------------------------------*/
.cookVisual {
	width: 100%;
	max-width: 1000px;
	margin: 0px auto 40px;
	padding: 0 70px 0 90px;
	position: relative;
	}

.slick-slide{
	padding: 0 20px 0 0;
}

/* dotsカスタム */
.slick-dots{
	bottom: -35px!important;
	}
	.slick-dots li button {
		border: 0;
		background: transparent;
		display: block;
		height: 10px;
		width: 10px;
		outline: none;
		line-height: 0px;
		font-size: 0px;
		color: transparent;
		padding: 10px;
		cursor: pointer;
		position: relative;
		}
	.slick-dots li button:before {
		position: absolute;
		top: 0;
	    left: 0;
	    content: "";
	    font-size: 0!important;
	    opacity: 1!important;
	    border: 1px solid #4A4949;
	    border-radius: 50%;
	    width: 10px!important;
	    height: 10px!important;
	    line-height: 10px!important;
	    text-align: center;
	    -webkit-font-smoothing: antialiased;
		}
	.slick-dots li.slick-active button:before{
		content: "";
		background: #4A4949;
		border: 1px solid #4A4949;
		}
/* arrowsカスタム */
.slider02 .slick-prev, 
.slider02 .slick-next{
	top: 45%;
	}
	.slick-next:before{
		content: url(../img/next.png)!important;
		}
	.slick-prev:before{
		content: url(../img/prev.png)!important;
		}
	.slick-prev:before, .slick-next:before{
		opacity: 1;
		}

#cont02 p:first-of-type {
	font-weight: bold;
}
/* merit */
#cont02 .merit_block {
	margin-bottom: 30px;
}
#cont02 .merit_block .merit_fukidashi {
	display: flex;
	background-color: #FFE5DE;
	padding: 24px 95px 20px;
	border-radius: 10px;
	position: relative;
	margin-bottom: 70px;
}
#cont02 .merit_block .merit_fukidashi .ph {
	width: 140px;
	margin-right: 25px;
}
#cont02 .merit_block .merit_fukidashi .txt {
	font-size: 28px;
	border: none;
	padding: 0;
	margin: 0;
	font-weight: bold;
}
#cont02 .merit_block .merit_fukidashi:before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%, 100%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 27px 32px 0 32px;
	border-color: #FFE5DE transparent transparent transparent;
}
#cont02 .merit_block h2 {
	text-align: center;
	font-size: 28px;
	font-weight: bold;
	color: #CF2747;
	margin: 0;
	display: block;
	text-align: center;
	margin-bottom: 35px;
}
#cont02 .merit_block h2:before,
#cont02 .merit_block h2:after {
	content: none;
}
#cont02 .merit_block h2 span {
	display: inline-block;
	position: relative;
	padding: 0 30px;
}
#cont02 .merit_block h2 span:before,
#cont02 .merit_block h2 span:after {
	content: "";
	width: 5px;
	height: 100%;
	background-color: #CF2747;
	display: block;
	position: absolute;
	bottom: 0;
}
#cont02 .merit_block h2 span:before {
	left: 0;
	transform: rotate(-20deg);
}
#cont02 .merit_block h2 span:after {
	right: 0;
	transform: rotate(20deg);
}
#cont02 .merit_block .circle_wrap {
	display: flex;
	max-width: 800px;
    width: 100%;
	margin: 0 auto;
	margin-bottom: 30px;
	align-items: flex-end;
}
#cont02 .merit_block .circle_wrap > div {
	margin: 0 10px;
	width: calc((100% / 3) - 20px);
}
#cont02 .merit_block .explain {
	display: flex;
	align-items: center;
}
#cont02 .merit_block .explain .ic {
	width: 240px;
	margin-left: 40px;
	flex-shrink: 0;
}
#cont02 .merit_block .explain p {
	font-size: 18px;
	display: block;
}
#cont02 .merit_block .explain p a {
	padding-left: 1em;
	position: relative;
	display: block;
	color: #333;
	text-decoration: underline;
	margin-top: 10px;
	font-weight: normal;
}
#cont02 .merit_block .explain p a:before {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    width: 7px;
    height: 7px;
    line-height: 1;
    border: solid 1px transparent;
    border-top-color: #BC5137;
    border-left-color: #BC5137;
	transform: translateY(-50%) rotate(135deg);
}


#cont02 .merit_block .explain p span {
	color: #CF2747;
}

	/* ▼▼▼ 480px〜768px
======================================================*/
@media screen and (max-width: 768px) {	
	#cont02 .merit_block .merit_fukidashi {
		padding: 20px 30px 15px;
		margin-bottom: 40px;
	}
	#cont02 .merit_block .merit_fukidashi .txt {
		font-size: 16px;
	}
	#cont02 .merit_block .merit_fukidashi .ph {
		width: 75px;
		margin-right: 8px;
		flex-shrink: 0;
	}
	#cont02 .merit_block h2 span {
		font-size: 16px;
	}
	#cont02 .merit_block h2 span:before, #cont02 .merit_block h2 span:after {
		width: 3px;
	}
	#cont02 .merit_block h2 span:before {
		left: 15px;
	}
	#cont02 .merit_block h2 span:after {
		right: 15px;
	}
	#cont02 .merit_block h2 {
		margin-bottom: 12px;
	}
	#cont02 .merit_block .circle_wrap > div {
		margin: 0 4px;
		width: calc((100% / 3) - 8px);
	}
	#cont02 .merit_block .explain {
		flex-wrap: wrap;
		flex-direction: column-reverse;
	}
	#cont02 .merit_block .explain .ic {
		width: 140px;
		margin: 0 auto;
	}
	#cont02 .merit_block .explain p {
		font-size: 16px;
		margin-top: 20px;
	}
	#cont02 .merit_block .merit_fukidashi:before {
		border-width: 17px 21px 0 21px;
	}
}
	/* ▼▼▼ 480px〜768px
======================================================*/
@media screen and (max-width: 768px) {	

/* ▼ スライダー 
----------------------------------------*/
.cookVisual {
	    padding: 0 5px 0 0;
	margin: 0px auto 30px;
	}
	
	.slick-slide {
    padding: 0 5px 0 0;
}
	
/* arrowsカスタム */
.slider02 .slick-prev, 
.slider02 .slick-next{
	width: 15px;
	top: 35%;
	}
	.slider02 .slick-prev{
		left: -20px;
	}
	.slider02 .slick-next{
		right: -17px;
	}

	.slick-next:before{
		content: url(../img/next.png)!important;
		}
	.slick-prev:before{
		content: url(../img/prev.png)!important;
		}
	.slick-prev:before, .slick-next:before{
		opacity: 1;
		}
		
}						

.campaign500 {
	position: relative;
	margin-bottom: 50px;
}
.campaign500:before {
	content: "";
	width: calc(100% - 20px);
	height: calc(100% - 20px);
	border: solid 3px #fff;
	display: block;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	pointer-events: none;
}
.campaign500 .text_area,
.campaign500 .fv {
	padding: 30px 60px;
}
.campaign500 .fv {
	background-color: #B3E0E6;
	padding-bottom: 25px;
    padding-top: 25px;
	background-image: url(../img/coupon_bg.jpg);
	background-size: cover;
	background-position: center;
}
.campaign500 .text_area {
	background-color: #FEF594;
}
.campaign500 .text_area .box-wrap {
	display: flex;
	align-items: flex-start;
}
.campaign500 .text_area .box-wrap + .box-wrap {
	margin-top: 25px;
}
.campaign500 .text_area .box-wrap .ttl {
	background-color: #D1EAEE;
	color: #32868F;
	font-weight: bold;
	padding: 3px 6px;
    width: 120px;
    margin-right: 40px;
    text-align: center;
	flex-shrink: 0;
}
.campaign500 .text_area .box-wrap ul {
	margin-left: 1.3em;
}
.campaign500 .text_area .box-wrap ul li {
	list-style: disc;
}
@media screen and (max-width: 768px) {
	.campaign500 .text_area, .campaign500 .fv {
		padding: 30px 20px;
	}
	.campaign500 .fv {
		padding-bottom: 15px;
	}
	.campaign500 .text_area .box-wrap {
		display: block;
	}
	.campaign500 .text_area .box-wrap .ttl {
		margin-bottom: 8px;
	}
	.campaign500 .text_area .box-wrap .text {
		font-size: 14px;
	}
}

#type_block .type_block_inner {
	background-color: #FFFCE0;
	padding: 45px 70px 40px;
}
#type_block .fukidashi {
	position: absolute;
	left: 50%;
	top: 0;
	transform: translate(-50%, -50%);
	font-weight: bold;
	font-size: 18px;
	color: #fff;
}
#type_block .fukidashi .fukidashi_inner {
	padding: 5px 20px;
	border-radius: 7px;
	background-color: #D3473B;
}
#type_block .fukidashi:before {
	content: "";
	width: 7px;
	height: 20px;
	background-color: #D3473B;
	display: block;
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%) translateY(70%) rotate(35deg);
	border-radius: 10px;
}
#type_block .ttl_wrap {
	text-align: center;
	position: relative;
	margin-bottom: 20px;
}
#type_block .ttl_wrap .ttl:before,
#type_block .ttl_wrap .ttl:after {
	content: "";
	width: 40px;
	height: 65px;
	background-image: url(../img/type_dot.png);
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: contain;
	display: block;
	position: absolute;
	bottom: 0;
}
#type_block .ttl_wrap .ttl:before {
	left: 0;
	transform: translateX(-120%) translateY(-0.3em);
}
#type_block .ttl_wrap .ttl:after {
	right: 0;
	transform: scale(-1,1) translateX(-120%) translateY(-0.3em);
}
#type_block .ttl {
		font-size: 28px;
	text-align: center;
	color: #D3473B;
	font-weight: bold;
	display: inline-block;
	position: relative;
}
#type_block a {
	display: block;
	transition: .3s;
}
#type_block a:hover {
	opacity: .6;
}
@media screen and (max-width: 768px) {
	#type_block {
		padding: 50px 0 40px;
	}
	#type_block .fukidashi:before {
		width: 5px;
		height: 16px;
	}
	#type_block .type_block_inner {
		padding: 35px 30px 17px;
	}
	#type_block .fukidashi {
		font-size: 14px;
		white-space: nowrap;
	}
	#type_block .ttl_wrap {
		margin-bottom: 15px;
	}
	#type_block .ttl {
		font-size: 20px;
	}
	#type_block .ttl_wrap .ttl:before, #type_block .ttl_wrap .ttl:after {
		width: 25px;
	}
}

/* 追加固定フッター */

.footer-fix {
	position: fixed;
    bottom: 0;
    width: 100%;
    background: #42ac0a;
    color: white;
    font-weight: bold;
    padding: 10px;
	z-index: 9999;
}

.footer-fix a{
	color: white;
}

.footer-fix1{
    float: left;
    width: 50%;
    text-align: center;
    border-right: solid white 1px;
}

.footer-fix2{
    float: left;
    width: 50%;
    text-align: center;
}

@media screen and (max-width: 768px) {
	.pc{
		display: none;
	}
}

@media screen and (min-width: 768px) {
	.sp{
		display: none;
	}
}

/* /追加固定フッター */

/* ヘッダーロゴのCSS変更 */

@media screen and (max-width: 768px) {
.header-img{
	width: 70%;
	margin: 10px auto;
	display: block;
}
}

@media screen and (min-width: 768px) {
	header{
		position: fixed;
		top:0;
	}

	.header-img{
		width:300px;
		line-height: 70px;
	}
}


/* /ヘッダーロゴのCSS変更 */