

/* main
----------------------------------------------- */

.lpLinefamily {
	display: block;
	width: 100%;
	color: #333;
	font-family: "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-feature-settings: "palt";
	word-break: break-word;
	overflow: hidden;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-print-color-adjust: exact;
}


/* intro
----------------------------------------------- */

.lpLinefamily__intro {
	position: relative;
	z-index: 1;
}
.lpLinefamily__intro img {
	width: 100%;
	height: auto;
}
.lpLinefamily__introImage {
	margin: 0 0 0 53.7%;
	padding: 9% 0 0;
	width: 36.5%;
}
.lpLinefamily__introLabel {
	position: absolute;
	top: 3.5%;
	right: 1.5%;
	width: 24.5%;
	z-index: 1;
}
.lpLinefamily__introCopy {
	position: absolute;
	top: 19%;
	left: 8%;
	width: 49%;
	z-index: 1;
}
.lpLinefamily__introTitle {
	position: absolute;
	top: 34%;
	left: 10.5%;
	width: 100%;
	z-index: 1;
}
.lpLinefamily__introTitle span {
	display: block;
}
.lpLinefamily__introTitle span:first-child {
	width: 12.5%;
}
.lpLinefamily__introTitle span:last-child {
	margin: 2% 0 0 0%;
	width: 43.5%;
}
.lpLinefamily__introSummary {
	position: absolute;
	top: 68.8%;
	left: 10.2%;
	z-index: 1;
}
.lpLinefamily__introSummary span {
	display: inline-block;
	position: relative;
	font-size: 1.46vw;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 2.25em;
	z-index: 1;
}
.lpLinefamily__introSummary span:after {
	display: block;
	content: "";
	position: absolute;
	left: 0;
	right: 0.25em;
	bottom: 0.2em;
	height: 0.1em;
	background-color: #38a4e4;
	z-index: 1;
}


/* friend
----------------------------------------------- */

.lpLinefamily__friend {
	background-color: #229ae1;
}
.lpLinefamily__friendOuter {
	margin: 0 90px;
}
.lpLinefamily__friendInner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: auto;
	padding: 60px 0;
	width: 820px;
}
.lpLinefamily__friendTitle {
	width: 380px;
}
.lpLinefamily__friendTitle img {
	width: 100%;
	height: auto;
}
.lpLinefamily__friendAccount {
	width: 192px;
}
.lpLinefamily__friendAccount img {
	width: 100%;
	height: auto;
}
.lpLinefamily__friendQrcord {
	display: inline-block;
	padding: 19px;
	border-radius: 5px;
	background-color: #fff;
}
.lpLinefamily__friendQrcord img {
	width: 111px;
	height: 111px;
}


/* nav
----------------------------------------------- */

.lpLinefamily__nav {
	margin: 33px auto 0;
	width: 980px;
}
.lpLinefamily__navList {
	display: flex;
	font-size: 0;
	border-radius: 6px;
	background-color: #08bf5b;
	overflow: hidden;
}
.lpLinefamily__navList li {
	width: calc(33.33%);
}
.lpLinefamily__navList li a {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	height: 132px;
	border-left: 1px solid #fff;
	z-index: 1;
}
.lpLinefamily__navList li:first-child a {
	border-left: 0;
}
.lpLinefamily__navList li a:after {
	display: block;
	content: "";
	position: absolute;
	left: 50%;
	bottom: 15px;
	margin: 0 0 0 -8px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 13px 8px 0 8px;
	border-color: #fff transparent transparent transparent;
	z-index: 1;
}
.lpLinefamily__navList li span {
	display: block;
	padding: 0 0 18px;
	color: #fff;
	font-size: 24px;
	font-weight: 700;
	text-align: center;
	text-indent: 0.08em;
	letter-spacing: 0.08em;
	line-height: 30px;
}


/* title
----------------------------------------------- */

.lpLinefamily__title {
	text-align: center;
}


/* subtitle
----------------------------------------------- */

.lpLinefamily__subtitle {
	margin: 0;
	text-align: center;
	line-height: 1;
}
.lpLinefamily__subtitle span {
	display: inline-block;
	font-size: 34px;
	font-weight: 700;
	text-indent: 0.05em;
	letter-spacing: 0.05em;
	line-height: 63px;
	background-image: url(../img/subtitle_border.svg);
	background-position: left bottom 2px;
	background-repeat: repeat-x;
	background-size: 10px 5px;
}


/* subject
----------------------------------------------- */

.lpLinefamily__subject {
	color: #229ae1;
	font-size: 22px;
	font-weight: 700;
	text-indent: 0.05em;
	letter-spacing: 0.05em;
	white-space: nowrap;
	line-height: 34px;
}


/* text
----------------------------------------------- */

.lpLinefamily__text {
	margin: 22px 0 0;
	font-size: 18px;
	text-indent: 0.05em;
	letter-spacing: 0.05em;
	line-height: 32px;
}


/* note
----------------------------------------------- */

.lpLinefamily__note {
	margin: 32px 0 0;
	padding: 0 0 0 14px;
	font-size: 14px;
	text-indent: -14px;
	letter-spacing: 0.08em;
	line-height: 25px;
}
.lpLinefamily__note + .lpLinefamily__note {
	margin: 12px 0 0;
}
.lpLinefamily__subject + .lpLinefamily__note {
	margin: 20px 0 0;
}


/* button
----------------------------------------------- */

.lpLinefamily__button {
	display: block;
	padding: 18px 0;
	border-radius: 10px;
	background-color: #229ae1;
}
.lpLinefamily__button span {
	display: block;
	margin: 0 15px;
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	text-align: center;
	text-indent: 0.08em;
	letter-spacing: 0.08em;
	line-height: 42px;
}


/* link
----------------------------------------------- */

.lpLinefamily__link {
	display: inline-block;
}
.lpLinefamily__link span {
	display: block;
	position: relative;
	padding: 0 0 6px;
	color: #229ae1;
	font-size: 18px;
	font-weight: 700;
	text-indent: 0.08em;
	letter-spacing: 0.08em;
	line-height: 1;
	z-index: 1;
}
.lpLinefamily__link span:after {
	display: block;
	content: "";
	position: absolute;
	left: 0;
	right: 0.05em;
	bottom: 0;
	height: 2px;
	background-color: #229ae1;
	z-index: 1;
}


/* illust
----------------------------------------------- */

.lpLinefamily__illust {
	font-size: 0;
}
.lpLinefamily__illust img {
	width: 100%;
	height: auto;
}


/* flow
----------------------------------------------- */

.lpLinefamily__flow {
	margin: 124px 0 0;
	border-radius: 12px;
	background-color: #ecf1f3;
}
.lpLinefamily__flow--first {
	margin: 84px 0 0;
}
.lpLinefamily__flowInner {
	position: relative;
	margin: 0 110px;
	padding: 42px 0 0;
	z-index: 1;
}
.lpLinefamily__flow--first .lpLinefamily__flowInner {
	padding-bottom: 90px;
}
.lpLinefamily__flowNo {
	position: absolute;
	top: -45px;
	left: 0;
	z-index: 1;
}

/* reverse */

.lpLinefamily__flow--reverse .lpLinefamily__flowNo {
	left: auto;
	right: -15px;
}


/* colum
----------------------------------------------- */

.lpLinefamily__colum {
	display: flex;
	justify-content: space-between;
	position: relative;
	margin: 53px 0 0;
	text-align: justify;
	z-index: 1;
}
.lpLinefamily__columItem {
}
.lpLinefamily__columItem:first-child {
	width: 48%;
	order: 2;
}
.lpLinefamily__columItem:last-child {
	width: 52%;
}

/* reverse */

.lpLinefamily__colum--reverse .lpLinefamily__columItem:first-child {
	order: 1;
}
.lpLinefamily__colum--reverse .lpLinefamily__columItem:last-child {
	margin: 0 -15px 0 0;
	order: 2;
}


/* function
----------------------------------------------- */

.lpLinefamily__function {
}
.lpLinefamily__functionOuter {
}
.lpLinefamily__functionInner {
	margin: auto;
	padding: 135px 0 122px;
	width: 980px;
}

/* illust */

.lpLinefamily__function .lpLinefamily__illust--01 {
	margin: 45px 0 0 105px;
	width: 389px;
}
.lpLinefamily__function .lpLinefamily__illust--02 {
	margin: 0 0 0 -30px;
	padding: 0 0 58px;
	width: 336px;
}
.lpLinefamily__function .lpLinefamily__illust--03 {
	margin: 80px 0 0 25px;
	padding: 0 0 110px;
	width: 490px;
}
.lpLinefamily__function .lpLinefamily__illust--04 {
	margin: 17px 0 -8px -60px;
	padding: 0;
	width: 380px;
}


/* u15
----------------------------------------------- */

.lpLinefamily__u15 {
	margin: -13px 0 0;
	border: 2px solid #333;
	border-radius: 10px;
	background-color: #fff;
	box-sizing: border-box;
}
.lpLinefamily__u15Inner {
	padding: 68px 0 59px;
	text-align: center;
}
.lpLinefamily__u15Service {
	margin: 26px 0 0;
}
.lpLinefamily__u15Text {
	margin: 54px 0 0;
	text-align: center;
}
.lpLinefamily__u15Link {
	margin: 53px 0 0;
}


/* regist
----------------------------------------------- */

.lpLinefamily__regist {
	background-color: #ecf1f3;
}
.lpLinefamily__registOuter {
}
.lpLinefamily__registInner {
	position: relative;
	margin: auto;
	padding: 120px 0 110px;
	width: 980px;
	z-index: 1;
}
.lpLinefamily__registNote {
	margin: -33px 0 0;
	padding: 0 0 60px;
	text-align: center;
}

/* flow */

.lpLinefamily__regist .lpLinefamily__flow {
	background-color: #fff;
}

/* illust */

.lpLinefamily__regist .lpLinefamily__illust--01 {
	position: absolute;
	top: -95px;
	right: -215px;
	width: 259px;
	z-index: 1;
}
.lpLinefamily__regist .lpLinefamily__illust--02 {
	position: absolute;
	top: 62px;
	left: -220px;
	width: 207px;
	z-index: 1;
}
.lpLinefamily__regist .lpLinefamily__illust--03 {
	position: absolute;
	top: 112px;
	left: -20px;
	width: 70px;
	z-index: 1;
}
.lpLinefamily__regist .lpLinefamily__illust--04 {
	position: absolute;
	right: -223px;
	bottom: 25px;
	width: 176px;
	z-index: 1;
}


/* coop
----------------------------------------------- */

.lpLinefamily__coop {
	margin: auto;
	width: 640px;
}
.lpLinefamily__coopSubject {
	margin: 50px 0 0;
	text-align: center;
}
.lpLinefamily__coopButton {
	margin: 55px auto 0;
	width: 500px;
}
.lpLinefamily__coopNote {
	margin: 55px 0 -35px;
}


/* step
----------------------------------------------- */

.lpLinefamily__step {
	margin: 45px -80px 0;
	padding: 0 0 60px;
	width: 920px;
}
.lpLinefamily__stepSubject {
	text-align: center;
}
.lpLinefamily__stepLists {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: -8px 0 0 -50px;
}
.lpLinefamily__stepList {
	margin: 70px 0 0 50px;
	width: calc(25% - 50px);
}
.lpLinefamily__stepNo {
	margin: auto;
	width: 70px;
}
.lpLinefamily__stepImage {
	position: relative;
	margin: 23px 0 0;
	font-size: 0;
	z-index: 1;
}
.lpLinefamily__stepImage:after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: -60px;
	margin: -35px 0 0;
	width: 70px;
	height: 70px;
	background-image: url(../img/step_arrow.svg);
	background-repeat: no-repeat;
	background-size: 140px 70px;
	z-index: 1;
}
.lpLinefamily__stepList:first-child .lpLinefamily__stepImage:after {
	display: none;
}
.lpLinefamily__stepList:nth-child(5) .lpLinefamily__stepImage:after {
	background-position: -70px 0;
}
.lpLinefamily__stepImage img {
	width: 100%;
	height: auto;
	border: 1px solid #7f7f7f;
	box-sizing: border-box;
}
.lpLinefamily__stepSummary {
	margin: 24px 0 0;
	font-size: 16px;
	text-align: justify;
	text-indent: 0.05em;
	letter-spacing: 0.05em;
	line-height: 28px;
}
.lpLinefamily__stepCaution {
	margin: 10px 0 0;
	padding: 0 0 0 14px;
	font-size: 14px;
	text-indent: -14px;
	letter-spacing: 0.08em;
	line-height: 25px;
}

/* warranty */

.lpLinefamily__step--warranty {
	margin: 45px auto 0;
	padding: 0 0 60px;
	width: 980px;
}
.lpLinefamily__step--warranty .lpLinefamily__stepLists {
	margin: 0 0 0 -72px;
}
.lpLinefamily__step--warranty .lpLinefamily__stepList {
	margin: 25px 0 0 72px;
	width: calc(25% - 72px);
}
.lpLinefamily__step--warranty .lpLinefamily__stepList:nth-child(4) .lpLinefamily__stepImage:after {
	background-position: 0 0;
}


/* warranty
----------------------------------------------- */

.lpLinefamily__warranty {
}
.lpLinefamily__warrantyOuter {
}
.lpLinefamily__warrantyInner {
	position: relative;
	margin: auto;
	padding: 120px 0 0;
	width: 980px;
	z-index: 1;
}

/* illust */

.lpLinefamily__warranty .lpLinefamily__illust {
	position: absolute;
	top: -74px;
	left: -74px;
	width: 261px;
	z-index: 1;
}


/* precaution
----------------------------------------------- */

.lpLinefamily__precaution {
	margin: 54px 0 0;
}
.lpLinefamily__precautionOuter {
	margin: auto;
	width: 980px;
	border-radius: 10px;
	background-color: #eaf1f3;
}
.lpLinefamily__precautionInner {
	margin: 0 110px;
	padding: 59px 0 52px;
}
.lpLinefamily__precautionTitle {
	text-align: center;
}
.lpLinefamily__precautionCaution {
	padding: 14px 0 0;
}
.lpLinefamily__precautionCaution li {
	margin: 14px 0 0;
	padding: 0 0 0 14px;
	font-size: 14px;
	text-align: justify;
	text-indent: -14px;
	letter-spacing: 0.05em;
	line-height: 25px;
}


/* banner
----------------------------------------------- */

.lpLinefamily__banner {
}
.lpLinefamily__bannerList {
	margin: auto;
	padding: 70px 0 0;
	width: 980px;
}
.lpLinefamily__bannerList li {
	margin: 50px 0 0;
}
.lpLinefamily__bannerList li a {
	display: block;
}
.lpLinefamily__bannerList li img {
	width: 100%;
	height: auto;
}


/* trademark
----------------------------------------------- */

.lpLinefamily__trademark {
	padding: 83px 0 71px;
}
.lpLinefamily__trademarkText {
	font-size: 14px;
	text-align: center;
	text-indent: 0.04em;
	letter-spacing: 0.04em;
	line-height: 25px;
}


/* indicate
----------------------------------------------- */

/* ready */

.js-lpLinefamilyIndicate-ready.js-lpLinefamilyIndicate-ltin,
.js-lpLinefamilyIndicate-ready.js-lpLinefamilyIndicate-rtin,
.js-lpLinefamilyIndicate-ready.js-lpLinefamilyIndicate-btin {
	opacity: 0;
	will-change: opacity, transform;
}
.js-lpLinefamilyIndicate-ready.js-lpLinefamilyIndicate-ltin {
	transform: translateX(-80px);
}
.js-lpLinefamilyIndicate-ready.js-lpLinefamilyIndicate-rtin {
	transform: translateX(80px);
}
.js-lpLinefamilyIndicate-ready.js-lpLinefamilyIndicate-btin {
	transform: translateY(80px);
}

/* start */

.js-lpLinefamilyIndicate-start.js-lpLinefamilyIndicate-ltin,
.js-lpLinefamilyIndicate-start.js-lpLinefamilyIndicate-rtin,
.js-lpLinefamilyIndicate-start.js-lpLinefamilyIndicate-btin {
	opacity: 1;
	transform: translate(0);
	transition-property: opacity, transform;
	transition-duration: 0.85s;
	transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1), cubic-bezier(0.25, 1, 0.5, 1);
}


