.nanacofamily .root-wrap {
	position: relative;
	background: #fff;
	box-shadow: 0 0 13px 0 rgb(0 0 0 / 5%);
}

.nanacofamily .root-wrap:before {
	display: block;
	width: 100%;
	height: 3px;
	content: '';
	background: linear-gradient(to left, #c1b3d3, #c1b3d3 14%, #8bcde3 14%, #8bcde3 28%, #ccdb86 28%, #ccdb86 42%, #f4eb97 42%, #f4eb97 56%, #f5cd87 56%, #f5cd87 70%, #edc4d4 70%, #edc4d4 84%, #f6b5ba 84%, #f6b5ba 100%)
}

.nanacofamily-grid-wrapper {
	overflow: hidden;
	width: 100%;
	max-width: 1080px
}

.nanacofamily-grid-wrapper .nanacofamily-grid {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex
}

.nanacofamily-grid-wrapper .nanacofamily-grid .nanacofamily-grid-item-right .nanacofamily-grid-title {
	border-bottom: 1px solid #ef8d94
}

.banner-list {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}

.banner-image {
	position: relative;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	border: 2px solid #ff7bac;
	background: #fff;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center
}

.link-anchor__img {
	width: 100%
}

.banner-title {
	position: relative;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	letter-spacing: -.019em;
	color: #fff;
	border: none;
	background: #ff7bac;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center
}

.banner-title:after {
	position: absolute;
	top: 50%;
	content: '';
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	background: url(../img/icn_arrow_down.svg) center/contain no-repeat
}

.information-age,
.information-birthday {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start
}

.nanacofamily-grid-text p {
	font-weight: 500;
	position: relative;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex
}

.nanacofamily-grid-text p:after {
	position: absolute;
	left: 0;
	width: 16px;
	height: 17px;
	content: '';
	background: url(../img/icn_dot.svg)
}

.nanacofamily-grid-information span {
	font-weight: 700;
	color: #fff;
	border: none;
	border-radius: 6px;
	background: #ef8d94;
	-webkit-flex-shrink: 0;
	-ms-flex-negative: 0;
	flex-shrink: 0
}

.nanacofamily-grid-information p {
	font-weight: 500
}

.nanacofamily-grid-title p {
	font-weight: 900
}

.main-content {
	padding-top: 57px;
	border-top: 1px solid #d8d8d8
}

.main-content .contents-wrap {
	margin-top: 0
}

.table-normal tr td {
	line-height: 1.467
}

@media screen and (min-width:768px) {
	.nanacofamily.giraffe {
		background-position: top -20px center;
		background-size: 115%
	}
	.banner-item {
		width: 129px;
		height: 190px;
		margin-top: 20px;
		border-radius: 10px
	}
	.banner-item:not(:last-child) {
		margin-right: 29px
	}
	.link-anchor__img:hover {
		transition: .3s;
		opacity: .8
	}
	.link-anchor__img:hover:before {
		background: 0 0
	}
	.banner-image {
		height: 150px;
		border-top-left-radius: 10px;
		border-top-right-radius: 10px
	}
	.banner-image img {
		width: 83px
	}
	.banner-title {
		font-size: 16px;
		padding: 7px 8px 10px;
		border-bottom-right-radius: 10px;
		border-bottom-left-radius: 10px
	}
	.banner-title:after {
		right: 15px;
		width: 13px;
		height: 7px
	}
	.contents-wrap {
		margin-top: 43px
	}
	.nanacofamily-grid-image {
		width: 97px;
		margin: 0 auto
	}
	.nanacofamily-grid-image img {
		width: 100%
	}
	.nanacofamily-grid-title {
		font-size: 20px
	}
	.nanacofamily-grid-information {
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		margin-top: 21px
	}
	.nanacofamily-grid-information span {
		margin-right: 12px
	}
	.nanacofamily-grid-information p {
		position: relative;
		top: 1px
	}
	.nanacofamily-grid-text {
		margin-top: 17px
	}
	.nanacofamily-grid-text p {
		padding-left: 25px;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center
	}
	.nanacofamily-grid-text p:after {
		top: 4px
	}
	.information-age {
		margin-right: 50px
	}
	.information-age span {
		padding: 2px 16px 3px
	}
	.information-birthday span {
		padding: 2px 21px 3px
	}
	.content-table-inner {
		margin-top: 0;
		padding: 0 87px 38px
	}
	.table-normal tr.table-normal--w-type1 th {
		width: 22%
	}
	.table-normal tr td {
		font-size: 15px;
		padding: 12px
	}
	.table-normal tr th {
		font-size: 15px;
		padding: 12px
	}
	.nanacofamily-grid-wrapper {
		padding: 30px 87px
	}
	.nanacofamily-grid-wrapper .nanacofamily-grid .nanacofamily-grid-item-left {
		position: relative;
		width: 22%;
		-webkit-flex-shrink: 0;
		-ms-flex-negative: 0;
		flex-shrink: 0
	}
	.nanacofamily-grid-wrapper .nanacofamily-grid .nanacofamily-grid-item-right {
		width: 78%;
		padding-top: 4px
	}
	.nanacofamily-grid-wrapper .nanacofamily-grid .nanacofamily-grid-item-right .nanacofamily-grid-title {
		padding: 3px 2px 12px
	}
	.nanacofamily-grid-text-bottom p {
		font-size: 15px;
		font-weight: 700;
		margin-top: 19px
	}
	.nanacofamily .root-wrap:not(:first-child) {
		margin-top: 37px
	}
	.main-content {
		margin-top: 100px
	}
}

@media screen and (max-width:767px) {
	.nanacofamily.giraffe {
		background-position: top 17px left
	}
	.heading-wrapper .heading-inner {
		padding: 0
	}
	.contents-wrap {
		margin-top: 13px
	}
	.nanacofamily-grid-wrapper {
		padding: 15px
	}
	.nanacofamily-grid-wrapper .nanacofamily-grid-item-left {
		width: 110px;
		padding-top: 13px
	}
	.nanacofamily-grid-wrapper .nanacofamily-grid-item-right {
		width: calc(100% - 110px);
		padding-left: 0
	}
	.nanacofamily-grid-wrapper .nanacofamily-grid-item-right .nanacofamily-grid-title {
		margin: 0 5px;
		padding: 4px 2px 5px
	}
	.banner-list {
		-webkit-justify-content: space-between;
		-ms-flex-pack: justify;
		justify-content: space-between
	}
	.banner-item {
		width: 30%;
		margin-top: 17px;
		border-radius: 8px
	}
	.banner-image {
		height: 117px;
		border-top-left-radius: 8px;
		border-top-right-radius: 8px
	}
	.banner-image img {
		width: 70px
	}
	.img-w63 {
		width: 63px!important
	}
	.banner-title {
		font-size: 14px;
		padding: 3px 4px 5px;
		border-bottom-right-radius: 8px;
		border-bottom-left-radius: 8px
	}
	.banner-title:after {
		right: 5px;
		width: 13px;
		height: 7px
	}
	.nanacofamily-grid-title p {
		font-size: 18px
	}
	.nanacofamily-grid-image {
		width: 85px;
		margin: 0 auto
	}
	.nanacofamily-grid-text {
		margin-top: 8px
	}
	.nanacofamily-grid-text p {
		font-size: 16px;
		min-height: 50px;
		padding-left: 28px
	}
	.nanacofamily-grid-text p:after {
		top: 5px;
		left: 5px
	}
	.nanacofamily-grid-information {
		margin-top: 9px
	}
	.nanacofamily-grid-information span {
		font-size: 14px;
		margin-right: 14px;
		letter-spacing: .094em;
		border-radius: 4px
	}
	.nanacofamily-grid-information p {
		font-size: 16px;
		position: relative;
		top: -2px
	}
	.information-age {
		margin-bottom: 4px
	}
	.information-age span {
		padding: 0 14px 1px
	}
	.information-birthday span {
		padding: 0 16px 1px
	}
	.content-table-inner {
		margin-top: 12px;
		padding: 0 15px 58px
	}
	.table-normal.table-normal--sp-column tr {
		border-bottom: none
	}
	.table-normal.table-normal--sp-column tr td {
		line-height: 1.5;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		min-height: 80px;
		padding: 15px 28px;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center
	}
	.nanacofamily .root-wrap {
		margin-top: 43px
	}
	.main-content {
		margin-top: 37px;
		padding-top: 20px
	}
	.nanacofamily-grid-text-bottom p {
		font-size: 16px;
		margin-top: 8px
	}
	.footer-wrap {
		padding: 12px 16px 32px
	}
}

@media screen and (max-width:374px) {
	.nanacofamily-grid-wrapper .nanacofamily-grid-item-left {
		width: 90px
	}
	.nanacofamily-grid-wrapper .nanacofamily-grid-item-right {
		width: calc(100% - 90px)
	}
	.nanacofamily-grid-text p {
		font-size: 14px
	}
	.nanacofamily-grid-text p:after {
		top: 2px
	}
	.nanacofamily-grid-information p,
	.nanacofamily-grid-text-bottom p {
		font-size: 14px
	}
	.table-normal.table-normal--sp-column tr td {
		font-size: 14px;
		padding: 15px
	}
	.nanacofamily-grid-information p {
		top: -1px
	}
	.btn-link {
		min-width: 254px
	}
}