@charset "utf-8";

@import url('https://fonts.googleapis.com/css?family=M+PLUS+Rounded+1c:700|Noto+Sans+JP:400,500,900&display=swap');

/* リセット */
h1,h2,h3,h4,h5,p,th,td,dt,dd,li {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	letter-spacing: 0;
	color: #000;
}

#contents_outer{
	margin:0!important;
	padding:0!important;
	width:100%!important;
}
#contents{
	padding:0!important;
}
#main_contents{
	width:100%!important;
	/*float: none!important;*/
}

.familyguard a:link,
.familyguard a:visited {
	color: unset;
	text-decoration: none;
}

/* ファミリーガード */

.familyguard {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	color: #000;
	text-align: center;
}
.familyguard .pc {
	display: inline-block;
}
.familyguard .sp {
	display: none;
}
.familyguard img {
	width: 100%;
	height: auto;
}
.familyguard .mv img.mv__ttl,
.familyguard .topic__ttl img.topic__ttl__img,
.familyguard .topic__recommend__ttl img.topic__recommend__ttl__img,
.familyguard .product01__txt img.product01__txt__img {
	width: auto;
}
.familyguard.dog .mv {
	background: url(../img/dog_mv_photo.jpg) no-repeat center top;
	background-size: cover;
}
.familyguard.cat .mv {
	background: url(../img/cat_mv_photo.jpg) no-repeat center top;
	background-size: cover;
}
.familyguard .mv {
	line-height: 0;
}
.familyguard .topic {
	width: 800px;
	margin: 0 auto;
	padding: 30px 50px;
}
.familyguard .topic__ttl {
	line-height: 0;
}
.familyguard .topic__idt {
	padding: 18px 0 0;
	display: flex;
	justify-content: center;
	align-items: center;
	border-bottom: 1px solid #000;
}
.familyguard .topic__idt .topic__idt__baloon {
	position: relative;
	margin: 0 1.2em 0 0;
	padding: 0.5em 0.8em;
	background: #4D4D4D;
	border-radius: 8px;
	font-size: 12px;
	line-height: 1em;
	color: #fff;
	display: inline-block;
}
.familyguard .topic__idt .topic__idt__baloon:after {
	content: "";
	position: absolute;
	right: -7px;
	top: 50%;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4px 0 4px 7px;
	border-color: transparent transparent transparent #4d4d4d;
	display: inline-block;
}
.familyguard .topic__idt .topic__idt__sir {
	width: 327px;
	font-size: 17px;
	line-height: 1.4em;
	text-align: left;
	display: inline-block;
}
.familyguard .topic__idt .topic__idt__sir small {
	font-size: 14px;
}
.familyguard .topic__idt .topic__idt__pic {
	width: 106px;
	line-height: 0;
	display: inline-block;
}
.familyguard .topic__idt .topic__idt__pic img {
	width: 100%;
	height: auto;
}
.familyguard .topic__profile {
	padding: 1em 0 40px;
	font-size: 13px;
	line-height: 1.6em;
}
.familyguard .topic__warning {
	padding: 0 0 55px;
	display: flex;
	justify-content: space-between;
}
.familyguard .topic__warning__point {
	width: 395px;
	zoom: 100%;
}
.familyguard .topic__warning__point:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.familyguard .topic__warning__ttl {
	padding: 0 0 20px;
	line-height: 0;
}
.familyguard .topic__warning__illust {
	width: 151px;
	padding: 20px 0 0;
	float: left;
}
.familyguard .topic__warning__point:first-child .topic__warning__illust img {
	width: 186px;
	margin: 0 -17px 0 -18px;
}
.familyguard .topic__warning__txt {
	width: 222px;
	font-size: 14px;
	line-height: 1.4em;
	text-align: left;
	float: right;
}

.familyguard .topic__recommend {
	position: relative;
	margin: 0 0 66px;
	padding: 0 45px 25px;
	background: #FEEBDF;
	border: 6px solid #FDC2A0;
}
.familyguard .topic__recommend:before {
	content: url(../img/edge01.png);
	position: absolute;
	left: 50%;
	top: -37px;
	transform: translateX(-50%);
}
.familyguard .topic__recommend__ttl {
	margin-top: -16px;
	padding: 0 0 30px;
	line-height: 0;
}
.familyguard .topic__recommend__ttl__photo {
	width: 93px;
	margin: 0 16px 0 0;
}
.familyguard .topic__recommend__inner {
	display: flex;
	justify-content: space-between;
}
.familyguard .topic__recommend__point {
	width: 210px;
	text-align: left;
}
.familyguard .topic__recommend__inner.duo .topic__recommend__point {
	width: 308px;
}
.familyguard .topic__recommend__inner.duo .topic__recommend__point:first-of-type {
	width: 344px;
}
.familyguard .topic__recommend__point__ttl {
	padding: 0 0 0.4em;
	font-size: 25px;
	font-weight: 900;
	line-height: 1.3em;
}
.familyguard .topic__recommend__point__txt {
	font-size: 15px;
	line-height: 1.4em;
}

.familyguard .product01 {
	height: 464px;
	line-height: 0;
}
.familyguard.dog .product01 {
	background: url(../img/dog_mid_photo.jpg) no-repeat center center;
	background-size: cover;
}
.familyguard.cat .product01 {
	background: url(../img/cat_mid_photo.jpg) no-repeat center top;
	background-size: cover;
}
.familyguard .product01__txt {
	width: 816px;
	margin: 0 auto;
	padding: 0 42px 20px;
	text-align: right;
}
.familyguard .product01__txt img.product01__txt__img {
	margin-top: -60px;
}
.familyguard .product01__apply {
	width: 800px;
	margin: 0 auto;
	padding: 0 50px 20px;
	text-align: right;
}
.familyguard .product01__apply img.product01__apply__btn {
	width: 299px;
}

.familyguard .merits {
	background: #4BB8DB;
}
.familyguard .merits__inner {
	width: 800px;
	margin: 0 auto;
	padding: 38px 50px 0;
	text-align: left;
}
.familyguard .merits__point {
	padding: 0 0 45px;
	display: flex;
	justify-content: space-between;
}
.familyguard .merits__point:last-child {
	padding: 0 0 30px;
}
.familyguard .merits__point__detail {
	width: 446px;
}
.familyguard .merits__point__detail__ttl {
	padding: 0 0 25px;
	line-height: 0;
}
.familyguard.cat .merits__point__detail__ttl {
	margin-top: -17px;
}
.familyguard .merits__point__detail__txt {
	font-size: 14px;
	line-height: 1.6em;
	color: #fff;
}
.familyguard .merits__point__photo {
	position: relative;
	width: 306px;
	line-height: 0;
}
.familyguard .merits__point__photo small {
	position: absolute;
	bottom: -1.7em;
	left: 0;
	font-size: 10px;
	line-height: 1em;
	color: #fff;
}

.familyguard .product02 {
	margin-bottom: -32px;
	background: #4BB8DB url(../img/bg02.png) repeat-x left bottom;
	line-height: 0;
}
.familyguard .product02__txt {
	height: 424px;
	background: url(../img/product02.jpg) no-repeat center bottom;
}
.familyguard .product02__txt__img {
	display: none;
}
.familyguard .product02__apply {
	width: 800px;
	margin: 0 auto;
	padding: 235px 50px 0;
	text-align: right;
}
.familyguard .product02__apply img.product02__apply__btn {
	width: 301px;
}

.familyguard .example {
	background: url(../img/bg01.png) repeat-x center top;
}
.familyguard .example__inner {
	width: 800px;
	margin: 0 auto;
	padding: 70px 50px 40px;
	overflow: hidden;
}
.familyguard .example__hd {
	display: flex;
	justify-content: center;
	align-items: center;
}
.familyguard .example__ttl {
	width: 322px;
	padding: 0 20px 0 0;
	line-height: 0;
}
.familyguard .example__ttl__txt {
	width: 197px;
	margin: 0 4px 10px 0;
}
.familyguard .example__ttl__photo {
	width: 121px;
	border-radius: 50%;
}
.familyguard .example__txt {
	font-size: 15px;
	line-height: 1.8em;
	text-align: left;
	display: inline-block;
}
.familyguard .example__gallery {
	padding: 30px 0 44px;
	line-height: 0;
	display: flex;
	justify-content: space-between;
}
.familyguard .example__point {
	position: relative;
	width: 259px;
}
.familyguard .example__gallery.duo .example__point {
	width: 376px;
}
.familyguard .example__point__photo {
	border-radius: 15px;
}
.familyguard .example__point__txt {
	position: absolute;
	left: -13px;
	top: -6px;
	width: 131px;
}
.familyguard .example__point:first-child .example__point__txt {
	left: -24px;
	top: -11px;
}
.familyguard .example__point:last-child .example__point__txt {
	left: 141px;
}
.familyguard .example__point__detail {
	position: relative;
	margin: 10px 0 0;
	padding: 25px 25px 20px;
	background: #fff;
}
.familyguard .example__point__detail:before {
	content: "";
	position: absolute;
	left: 50%;
	top: -10px;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 10px 10px 10px;
	border-color: transparent transparent #ffffff transparent;
	display: block;
}
.familyguard .example__point__detail__ttl {
	padding: 0 0 0.5em;
	font-size: 21px;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-weight: 700;
	line-height: 1.4em;
	color: #FF9798;
}
.familyguard .example__point__detail__txt {
	font-size: 14px;
	line-height: 1.6em;
	text-align: left;
}
.familyguard .example__impression {
	width: 434px;
	float: left;
}
.familyguard .example__impression__ttl {
	padding: 0 0 15px;
	line-height: 0;
}
.familyguard .example__impression__txt {
	font-size: 16px;
	line-height: 1.6em;
	text-align: left;
}
.familyguard .example__banner {
	width: 308px;
	margin: -6px -6px 0 0;
	line-height: 0;
	float: right;
}
.familyguard .example__banner.single {
	width: 308px;
	margin: 0 auto;
	float: none;
}

.familyguard .product01__apply a:hover img.product01__apply__btn,
.familyguard .product02__apply a:hover img.product02__apply__btn,
.familyguard .example__banner a:hover img.example__banner__img {
	-ms-filter: "alpha( opacity=70 )";
	filter: alpha( opacity=70 );
	opacity: 0.7;
	transition: all .4s;
}

.familyguard .topic__faq {
	padding: 0 120px 30px;
	text-align: left;
}
.familyguard .topic__faq__q {
	position: relative;
	padding: 0 0 20px 40px;
	font-size: 18px;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-weight: 700;
	line-height: 34px;
}
.familyguard .topic__faq__q:before {
	background: url(../img/icon_q.png) no-repeat center center;
}
.familyguard .topic__faq__a {
	position: relative;
	padding: 0 0 30px 45px;
	font-size: 14px;
	line-height: 1.6em;
}
.familyguard .topic__faq__a:before {
	background: url(../img/icon_a.png) no-repeat center center;
}
.familyguard .topic__faq__q:before,
.familyguard .topic__faq__a:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 34px;
	height: 34px;
	background-size: contain;
	display: inline-block;
}
.familyguard .topic__faq__p {
	margin: 0 0 35px;
	padding: 18px 0 5px 45px;
	border-top: 2px dotted #000;
	border-bottom: 2px dotted #000;
}
.familyguard .topic__faq__p__txt {
	margin: 0 0 0 1em;
	padding: 0 0 1em;
	text-indent: -1em;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.4em;
}
.familyguard .topic__faq__p__txt:before {
	content: "●";
	color: #FF9798;
}
.familyguard .topic__faq__illust {
	width: 135px;
	float: right;
}









/* ----------------------------------------------------------------- */
/* smartphone */
/* ----------------------------------------------------------------- */

@media screen and (max-width: 767px) {

/* リセット */

#benesse-header,
.pagetop,
.ad_area,
#search_keyword,
#menu_sp,
#product-info,
#gfooter{
display: none!important;
}

.familyguard .pc {
	display: none;
}
.familyguard .sp {
	display: inline-block;
}
.familyguard .mv {
	background: none;
}
.familyguard .mv img.mv__ttl,
.familyguard .topic__ttl img.topic__ttl__img {
	width: 100%;
}
.familyguard .topic {
	width: auto;
	padding: 5vw 5%;
}
.familyguard .topic__ttl {
	padding: 0 5%;
}
.familyguard .topic__idt {
	margin: 0 7%;
	padding: 4vw 0 0;
	justify-content: space-between;
	flex-wrap: wrap;
}
.familyguard .topic__idt .topic__idt__baloon {
	width: 50%;
	margin: 0 50% 0 0;
	padding: 0.5em 0;
	border-radius: 8px;
	font-size: 3.6vw;
}
.familyguard .topic__idt .topic__idt__sir {
	width: 65%;
	font-size: 4vw;
}
.familyguard .topic__idt .topic__idt__sir small {
	font-size: 3.6vw;
}
.familyguard .topic__idt .topic__idt__pic {
	width: 30%;
	padding: 0 5% 0 0;
}
.familyguard .topic__profile {
	padding: 1em 0 7vw;
	font-size: 2.75vw;
	line-height: 1.6em;
}
.familyguard .topic__warning {
	padding: 0 0 3vw;
	flex-wrap: wrap;
}
.familyguard .topic__warning__point {
	width: auto;
	padding: 0 0 5vw;
}
.familyguard .topic__warning__ttl {
	padding: 0 0 3vw;
}
.familyguard .topic__warning__illust {
	width: 40%;
	padding: 5vw 0 0;
}
.familyguard .topic__warning__point:first-child .topic__warning__illust img {
	width: 116%;
	margin: 0 -6% 0 -10%;
}
.familyguard .topic__warning__txt {
	width: 55%;
	font-size: 3.4vw;
}

.familyguard .topic__recommend {
	position: relative;
	margin: 0;
	padding: 5vw 7% 2vw;
	border: 3px solid #FDC2A0;
}
.familyguard .topic__recommend:before {
	content: "";
	position: absolute;
	left: 50%;
	top: 0;
	transform: translate(-50%,-100%);
	background: url(../img/edge01_sp.png) no-repeat center top;
	background-size: contain;
	width: 8%;
	height: 6.6vw;
	display: block;
}
.familyguard .topic__recommend__ttl {
	margin-top: 0;
	padding: 0 0 5vw;
}
.familyguard .topic__recommend__ttl__photo {
	width: 27%;
	margin: 0 4% 0 0;
}
.familyguard.dog .topic__recommend__ttl img.topic__recommend__ttl__img {
	width: 50%;
}
.familyguard.cat .topic__recommend__ttl img.topic__recommend__ttl__img {
	width: 67%;
}
.familyguard .topic__recommend__inner {
	flex-wrap: wrap;
}
.familyguard .topic__recommend__point,
.familyguard .topic__recommend__inner.duo .topic__recommend__point,
.familyguard .topic__recommend__inner.duo .topic__recommend__point:first-of-type {
	width: 100%;
}
.familyguard .topic__recommend__point__ttl {
	font-size: 5vw;
}
.familyguard .topic__recommend__point__txt {
	padding: 0 0 1em;
	font-size: 3.3vw;
}

.familyguard .product01 {
	height: auto;
	padding: 0 0 5vw;
}
.familyguard.dog .product01,
.familyguard.cat .product01 {
	background: none;
}
.familyguard .product01__txt {
	width: auto;
	padding: 0 0 2vw;
}
.familyguard .product01__txt img.product01__txt__img {
	width: 100%;
	margin-top: 0;
}
.familyguard .product01__apply {
	width: auto;
	padding: 0 5% 0;
}
.familyguard .product01__apply img.product01__apply__btn {
	width: 100%;
}

.familyguard .merits__inner {
	width: auto;
	padding: 4vw 0 0;
}
.familyguard .merits__point {
	padding: 0 0 7vw;
	flex-wrap: wrap;
}
.familyguard .merits__point:last-child {
	padding: 0 0 3vw;
}
.familyguard .merits__point__detail {
	width: auto;
}
.familyguard .merits__point__detail__ttl {
	padding: 0 0 1vw;
}
.familyguard.cat .merits__point__detail__ttl {
	margin-top: 0;
}
.familyguard .merits__point__detail__txt {
	padding: 0 8% 1em;
	font-size: 3.6vw;
}
.familyguard .merits__point__photo {
	width: auto;
	margin: 0 8%;
}
.familyguard .merits__point__photo small {
	font-size: 2.8vw;
}

.familyguard .product02 {
	margin-bottom: -4vw;
	background: #4BB8DB;
}
.familyguard .product02__txt {
	height: auto;
	background: none;
}
.familyguard .product02__txt__img {
	display: block;
}
.familyguard .product02__apply {
	width: auto;
	padding: 0 5% 8vw;
	text-align: center;
}
.familyguard .product02__apply img.product02__apply__btn {
	width: 100%;
}
.familyguard .example {
	background: url(../img/bg01_sp.png) no-repeat center top;
	background-size: 100% auto;
}
.familyguard .example__inner {
	width: auto;
	padding: 6vw 3% 5vw;
}
.familyguard .example__hd {
	flex-wrap: wrap;
}
.familyguard .example__ttl {
	width: 100%;
	padding: 0 0 4vw;
}
.familyguard .example__ttl__txt {
	width: 61%;
	margin: 0 2% 2vw 0;
}
.familyguard .example__ttl__photo {
	width: 37%;
}
.familyguard .example__txt {
	font-size: 4vw;
	line-height: 1.6em;
	text-align: center;
}
.familyguard .example__gallery {
	padding: 4vw 3% 2vw;
	flex-wrap: wrap;
}
.familyguard .example__point,
.familyguard .example__gallery.duo .example__point {
	width: 100%;
	padding: 0 0 4vw;
}
.familyguard .example__point__photo {
	border-radius: 3vw;
}
.familyguard .example__point__txt {
	position: absolute;
	left: -2%;
	top: 2vw;
	width: 41%;
}
.familyguard .example__point:first-child .example__point__txt {
	left: -2%;
	top: -1vw;
}
.familyguard .example__point:last-child .example__point__txt {
	left: 55%;
}
.familyguard .example__point__detail {
	margin: 3vw 0 0;
	padding: 5vw 5%;
}
.familyguard .example__point__detail:before {
	top: -3vw;
	border-width: 0 3vw 4vw 3vw;
}
.familyguard .example__point__detail__ttl {
	font-size: 5vw;
}
.familyguard .example__point__detail__txt {
	font-size: 3.6vw;
}
.familyguard .example__impression {
	width: auto;
	padding: 0 3% 3vw;
	float: none;
}
.familyguard .example__impression__ttl {
	padding: 0 0 4vw;
	line-height: 0;
}
.familyguard .example__impression__txt {
	font-size: 3.4vw;
}
.familyguard .example__banner,
.familyguard .example__banner.single {
	width: auto;
	margin: 0;
	float: none;
}

.familyguard .topic__faq {
	padding: 2vw 5% 5vw;
}
.familyguard .topic__faq__q {
	padding: 0.16em 0 1em 12%;
	font-size: 4.5vw;
	line-height: 1.4em;
}
.familyguard .topic__faq__a {
	padding: 0 0 1em 13%;
	font-size: 3.6vw;
}
.familyguard .topic__faq__q:before,
.familyguard .topic__faq__a:before {
	width: 8vw;
	height: 8vw;
}
.familyguard .topic__faq__p {
	margin: 0 0 1em;
	padding: 5vw 0 2vw 2%;
}
.familyguard .topic__faq__p__txt {
	font-size: 3.8vw;
}
.familyguard .topic__faq__illust {
	width: 50%;
	margin-right: -10%;
}

}


