/**
* css document
* 
* 
*/
#l_main_visual {
	height: 550px;
	background: url(../img/bg_main.jpg) no-repeat 50% 20%;
	background-size: cover;
	padding: 0;
	text-align: center;
}

#l_main_visual .m_bg {
	display: none;
}

#l_main_visual h1 {
	background: url(../img/p_carlifesupportcard.png) no-repeat center bottom;
	width: 559px;
	height: 194px;
	margin: 0 auto 3px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	padding: 68px 0 0;
}

#l_main_visual dt {
	background: url(../img/main_text.png) no-repeat center center;
	width: 706px;
	height: 136px;
	margin: 0 auto;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	padding: 0 0 20px;
}

#l_main_visual dd {
	background: url(../img/main_text_sub.png) no-repeat center center;
	width: 541px;
	height: 27px;
	margin: 0 auto;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	padding: 0 0 20px;
}

.ie8 #l_main_visual {
	position: relative;
	background: none;
	height: 550px;
	padding: 0;
	text-align: center;
	overflow: hidden;
}

.ie8 #l_main_visual .m_bg {
	display: block;
}

.ie8 #l_main_visual .m_bg img {
	position: absolute;
	display: block;
	text-align: center;
	left: -100%;
	top: -100%;
	bottom: -100%;
	right: -100%;
	margin: auto;
	width: 100%;
	min-width: 1600px;
	min-height: 550px;
}

.ie8 #l_main_visual .l_inner {
	position: relative;
	z-index: 2;
}

@media only screen and (max-width: 768px) {
	#l_main_visual {
		height: 170px;
		padding-top: 17px;
		background: url(../img/bg_main_sp.jpg) no-repeat center center;
		background-size: cover;
	}
	#l_main_visual h1 {
		background: url(../img/p_carlifesupportcard_sp.png) no-repeat center center;
		background-size: cover;
		width: 183px;
		height: 60px;
		text-indent: 110%;
		margin: 0 auto 6px;
		padding: 0;
	}
	#l_main_visual dt {
		background: url(../img/main_text_sp.png) no-repeat center center;
		background-size: cover;
		width: 274px;
		height: 55px;
		margin: 0 auto 7px;
		text-indent: 110%;
		padding: 0;
	}
	#l_main_visual dd {
		background: url(../img/main_text_sub_sp.png) no-repeat center center;
		background-size: cover;
		width: 261px;
		height: 14px;
		text-indent: 110%;
		padding: 0;
	}
}

#message {
	text-align: center;
	font-weight: bold;
}

@media only screen and (max-width: 768px) {
	#message {
		text-align: left;
	}
}

#service .m_lead {
	margin-bottom: 30px;
}

#service .l_row_wrap {
	width: 980px;
	overflow: hidden;
}

@media only screen and (max-width: 768px) {
	#service .l_row_wrap {
		width: auto;
	}
}

#service .l_row {
	margin: -2px;
}

#service .l_col {
	width: 33%;
}

@media only screen and (max-width: 768px) {
	#service .l_col {
		width: 50%;
		float: left;
	}
}

#service .l_col.l_col_3rd, #service .l_col.l_col_6th {
	width: 34%;
}

@media only screen and (max-width: 768px) {
	#service .l_col.l_col_3rd, #service .l_col.l_col_6th {
		width: 50%;
		float: left;
	}
}

#service .l_col_inner {
	border-right: 1px solid #c8c8c8;
	border-top: 1px solid #c8c8c8;
	text-align: center;
	padding: 0;
	padding-left: 10px;
	padding-right: 10px;
}

@media only screen and (max-width: 768px) {
	#service .l_col_inner {
		padding: 15px 10px;
	}
}

#service .l_col_1st .l_col_inner, #service .l_col_2nd .l_col_inner {
	padding-bottom: 30px;
}

@media only screen and (max-width: 768px) {
	#service .l_col_1st .l_col_inner, #service .l_col_2nd .l_col_inner {
		padding: 0 10px 15px;
	}
}

#service .l_col_3rd .l_col_inner {
	padding-bottom: 30px;
}

@media only screen and (max-width: 768px) {
	#service .l_col_3rd .l_col_inner {
		padding: 15px 10px;
	}
}

#service .l_col_4th .l_col_inner {
	padding-top: 30px;
}

@media only screen and (max-width: 768px) {
	#service .l_col_4th .l_col_inner {
		padding: 15px 10px;
	}
}

#service .l_col_5th .l_col_inner, #service .l_col_6th .l_col_inner {
	padding-top: 30px;
}

@media only screen and (max-width: 768px) {
	#service .l_col_5th .l_col_inner, #service .l_col_6th .l_col_inner {
		padding: 15px 10px 0;
	}
}

#service .l_col_inner a {
	display: block;
	text-decoration: none;
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-ms-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
}

#service .l_col_inner a:hover {
	opacity: 0.5;
}

#service h2 {
	margin-bottom: 10px;
}

@media only screen and (max-width: 768px) {
	#service h2 img {
		width: 68px;
	}
}

#service dl {
	margin-bottom: 0;
}

#service dt {
	margin-bottom: 10px;
}

@media only screen and (max-width: 768px) {
	#service dt {
		margin-bottom: 0;
	}
}

#service dt img {
	width: 108px;
}

@media only screen and (max-width: 768px) {
	#service dt img {
		width: 74px;
	}
}

#service dd {
	font-size: 17px;
}

@media only screen and (max-width: 768px) {
	#service dd {
		font-size: 12px;
	}
}

.ie8 #service dd:hover {
	text-decoration: underline;
}

#service dd small {
	display: inline-block;
	line-height: 1.4;
	color: #646464;
}

.ie8 #service dd small:hover {
	text-decoration: none;
}

#card {
	background: url(../img/bg_card.jpg) no-repeat center center;
	background-size: cover;
}

@media only screen and (max-width: 768px) {
	#card {
		background: url(../img/bg_card_sp.jpg) no-repeat center bottom;
		background-size: contain;
	}
}

#card h2 {
	font-size: 36px;
	text-align: center;
}

@media only screen and (max-width: 768px) {
	#card h2 {
		font-size: 18px;
	}
}

#card h2 strong {
	font-weight: normal;
}

#card h2 span {
	color: #f00;
}

#card .l_row {
	margin: 0 0 0;
}

@media only screen and (max-width: 768px) {
	#card .l_row {
		margin-bottom: -20px;
	}
}

#card .l_row a {
	position: relative;
	display: block;
	text-decoration: none;
}

#card .l_row a:hover {
	text-decoration: none;
}

#card .l_col {
	width: 20%;
}

@media only screen and (max-width: 768px) {
	#card .l_col {
		width: 33.3%;
		float: left;
		margin-bottom: 20px;
	}
}

#card .l_col_inner {
	border-left: 1px solid #c8c8c8;
	padding: 10px 0 0;
}

#card .l_col:first-child .l_col_inner {
	border-left: none;
}

@media only screen and (max-width: 768px) {
	#card .l_col:nth-child(4) {
		clear: both;
		margin-left: 16.6%;
	}
	#card .l_col:nth-child(4) .l_col_inner {
		border-left: none;
	}
}

#card .m_lead {
	margin: 15px 0 40px;
}

@media only screen and (max-width: 768px) {
	#card .m_lead {
		margin-bottom: 15px;
	}
}

#card .card_name {
	text-align: center;
	margin-bottom: -6px;
}

#card .card_name dt {
	text-align: center;
	width: auto;
	margin-bottom: 20px;
	padding: 5px 5px 35px 5px;
	font-weight: bold;
	font-size: 19px;
	line-height: 1.4;
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	-ms-transition: 0.5s;
	-o-transition: 0.5s;
	transition: 0.5s;
}

@media only screen and (max-width: 768px) {
	#card .card_name dt {
		font-size: 11px;
		margin-bottom: 10px;
		padding: 5px 0;
	}
}

#card .card_name dt span {
	display: block;
	margin: -0.7em auto;
}

@media only screen and (max-width: 768px) {
	#card .card_name dd {
		padding: 0 10px;
	}
}

#card .card_point {
	text-align: center;
	margin: 0 0 20px;
}

@media only screen and (max-width: 768px) {
	#card .card_point {
		margin: 0;
	}
}

#card .card_point dt {
	display: inline-block;
	border-top: 1px solid #1b1b1b;
	border-bottom: 1px solid #1b1b1b;
	padding: 5px;
	font-weight: normal;
	margin-bottom: 10px;
}

@media only screen and (max-width: 768px) {
	#card .card_point dt {
		font-size: 11px;
		padding: 5px 0;
	}
}

#card .card_point dd {
	color: #f00;
	line-height: 1;
}

@media only screen and (max-width: 768px) {
	#card .card_point dd {
		font-size: 11px;
	}
}

#card .card_point dd span {
	font-size: 45px;
	vertical-align: middle;
	margin-right: 5px;
	letter-spacing: 0;
}

@media only screen and (max-width: 768px) {
	#card .card_point dd span {
		font-size: 22px;
	}
}

#card a:hover .card_name dt {
	opacity: 0.5;
}

.ie8 #card a:hover .card_name dt {
	text-decoration: underline;
}

#card a .card_name dd {
	opacity: 1;
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	-ms-transition: 0.5s;
	-o-transition: 0.5s;
	transition: 0.5s;
}

#card a:hover .card_name dd {
	opacity: 0.5;
}

.ie8 #card a dt:before, .ie8 #card a dt:after {
	display: none;
}

.ie8 #card a:hover dt:before, .ie8 #card a:hover dt:after {
	display: block;
}

#faq a:hover, #faq a:active {
	text-decoration: none;
}

#faq .l_toggle_head {
	margin-bottom: 1px;
}

#faq .l_toggle_head a {
	position: relative;
	display: block;
	width: 100%;
}

#faq .l_toggle_head a:after {
	content: "";
	display: block;
	position: absolute;
	top: 24px;
	right: 24px;
	width: 12px;
	height: 12px;
	background: url(/common/img/ico_open.png) no-repeat center center;
}

@media only screen and (max-width: 768px) {
	#faq .l_toggle_head a:after {
		top: 19px;
		right: 19px;
		background: url(/common/img/sp/ico_open.png) no-repeat center center;
		background-size: 12px 12px;
	}
}

#faq .l_toggle_head.is_active a:after {
	background: url(/common/img/ico_close.png) no-repeat center center;
}

@media only screen and (max-width: 768px) {
	#faq .l_toggle_head.is_active a:after {
		background: url(/common/img/sp/ico_close.png) no-repeat center center;
		background-size: 12px 12px;
	}
}

#faq .l_toggle_cont .l_toggle_head a:after {
	top: 50%;
	margin-top: -6px;
}

#faq dl {
	display: table;
	width: 100%;
	margin-bottom: 0;
}

#faq dt {
	display: table-cell;
	width: 60px;
	font-weight: bold;
	font-size: 26px;
	color: #fff;
	text-align: center;
}

@media only screen and (max-width: 768px) {
	#faq dt {
		width: 50px;
	}
}

#faq dt span {
	display: inline-block;
	height: 60px;
	width: 60px;
	line-height: 60px;
	background: #1b1b1b;
}

@media only screen and (max-width: 768px) {
	#faq dt span {
		height: 50px;
		width: 50px;
		line-height: 50px;
	}
}

@media only screen and (max-width: 768px) {
	#faq dt {
		font-size: 19px;
	}
}

#faq dd {
	display: table-cell;
	padding: 0 15px 0 25px;
}

@media only screen and (max-width: 768px) {
	#faq dd {
		padding: 0 15px;
	}
}

#faq .l_toggle_head.l_toggle_parent dd {
	background: #646464;
	vertical-align: middle;
	color: #fff;
	font-size: 20px;
	font-weight: bold;
}

@media only screen and (max-width: 768px) {
	#faq .l_toggle_head.l_toggle_parent dd {
		font-size: 14px;
	}
}

#faq .l_toggle_head.l_toggle_parent a:hover dd, #faq .l_toggle_head.l_toggle_parent a:active dd {
	/*    color: #f00;*/
	text-decoration: underline;
}

#faq .l_toggle_head.l_toggle_parent dd span {
	position: relative;
}

#faq .l_toggle_head.l_toggle_parent dd span:before {
	content: "";
	position: absolute;
	display: block;
	left: -25px;
	top: 50%;
	margin-top: -8px;
	border-width: 8px;
	border-color: transparent transparent transparent #1b1b1b;
	border-style: solid;
}

#faq .l_toggle_cont.l_toggle_parent {
	margin: 0 0 60px 60px;
}

@media only screen and (max-width: 768px) {
	#faq .l_toggle_cont.l_toggle_parent {
		margin: 0;
	}
}

#faq .l_toggle_cont .l_toggle_wrap {
	padding: 20px 0 0;
	border-bottom: 1px solid #787878;
}

@media only screen and (max-width: 768px) {
	#faq .l_toggle_cont .l_toggle_wrap {
		padding: 5px 0 0;
	}
}

#faq .l_toggle_cont .l_toggle_head a {
	display: block;
	width: auto;
	padding: 7px 45px 10px 0;
	font-size: 17px;
	font-weight: bold;
	color: #fff;
}

@media only screen and (max-width: 768px) {
	#faq .l_toggle_cont .l_toggle_head a {
		font-size: 12px;
	}
}

#faq .l_toggle_cont .l_toggle_head a:hover, #faq .l_toggle_cont .l_toggle_head a:active {
	text-decoration: underline;
}

#faq .l_toggle_cont .l_toggle_cont {
	padding-top: 3px;
}

#faq .l_toggle_cont dl {
	min-height: 90px;
}

#faq .l_toggle_cont dt span {
	display: inline-block;
	height: 60px;
	width: 60px;
	line-height: 60px;
	background: #fff;
	color: #f00;
}

@media only screen and (max-width: 768px) {
	#faq .l_toggle_cont dt span {
		height: 50px;
		width: 50px;
		line-height: 50px;
	}
}

#faq .l_toggle_cont dd {
	position: relative;
	padding: 0 0 15px 25px;
	vertical-align: top;
	font-size: 16px;
	color: #d2d2d2;
}

@media only screen and (max-width: 768px) {
	#faq .l_toggle_cont dd {
		font-size: 12px;
		padding: 0 0 15px 15px;
	}
}

#faq .l_toggle_cont dd:before {
	content: "";
	position: absolute;
	display: block;
	left: 0;
	top: 22px;
	border-width: 8px;
	border-color: transparent transparent transparent #fff;
	border-style: solid;
}

@media only screen and (max-width: 768px) {
	#faq .l_toggle_cont dd:before {
		top: 17px;
	}
}

#faq .l_toggle_cont {
	display: none;
}

#request {
	background-image: url(../img/bg_request.jpg);
	background-size: cover;
	color: inherit;
}

#request .l_sec_cont {
	padding-top: 15px;
}

@media only screen and (max-width: 768px) {
	#request .l_sec_cont {
		padding-top: 0;
	}
}

#request .l_row {
	margin: 0;
}

#request .l_col_inner {
	padding: 0;
}

#request .l_col_inner:first-child {
	margin-right: 1px;
}

#request .m_req_head {
	position: relative;
	background: rgba(255, 255, 255, 0.85);
	text-align: center;
}

@media only screen and (max-width: 768px) {
	#request .m_req_head {
		margin-top: 50px;
	}
}

.ie8 #request .m_req_head {
	background: url(../img/bg_req_cont.png) repeat;
}

#request .m_req_head h2 {
	margin-top: -30px;
	padding-bottom: 10px;
	font-size: 22px;
	font-weight: bold;
}

@media only screen and (max-width: 768px) {
	#request .m_req_head h2 {
		margin: -15px 0 0;
		font-size: 15px;
	}
}

#request .m_req_icon {
	position: relative;
	display: block;
	top: -40px;
}

@media only screen and (max-width: 768px) {
	#request .m_req_icon {
		top: -29px;
	}
}

#request .m_req_icon.m_ico_pc i {
	background: url(../img/ico_pc.png) no-repeat center center;
}

@media only screen and (max-width: 768px) {
	#request .m_req_icon.m_ico_pc i {
		/*background: url(../img/ico_pc_sp.png) no-repeat center center;*/
		background-size: contain;
	}
}

#request .m_req_icon.m_ico_card i {
	background: url(../img/ico_card.png) no-repeat center center;
}

@media only screen and (max-width: 768px) {
	#request .m_req_icon.m_ico_card i {
		/*background: url(../img/ico_card_sp.png) no-repeat center center;*/
		background-size: contain;
	}
}

#request .m_req_icon i {
	display: block;
	width: 82px;
	height: 82px;
	margin: 0 auto;
	text-align: center;
	border-radius: 40px;
}

@media only screen and (max-width: 768px) {
	#request .m_req_icon i {
		width: 58px;
		height: 58px;
	}
}

#request .m_req_body {
	padding: 0 35px 45px;
	background: rgba(255, 255, 255, 0.85);
}

@media only screen and (max-width: 768px) {
	#request .m_req_body {
		padding: 0 20px 20px;
	}
}

.ie8 #request .m_req_body {
	background: url(../img/bg_req_cont.png) repeat;
}

#request .m_req_body p {
	font-size: 15px;
}

@media only screen and (max-width: 768px) {
	#request .m_req_body p {
		font-size: 12px;
	}
}

#request .m_req_body .m_btn {
	padding-top: 30px;
}

@media only screen and (max-width: 768px) {
	#request .m_req_body .m_btn {
		padding-top: 15px;
	}
}

#request .m_req_body small {
	font-size: 13px;
	color: #666;
}

@media only screen and (max-width: 768px) {
	#request .m_req_body small {
		font-size: 10px;
	}
}
