@charset "utf-8";
body {
	background-color: #fff;
}
/* ====================================================
	ヘッダー
==================================================== */
header::before {
	height: 665px;
	transform-origin: left;
	transform: translateX(-101%);
	transition: transform 0.4s 0.1s cubic-bezier(0.55, 0.085, 0.68, 0.53);
}
/* アニメーション後*/
body.is-scroll-current header::before  {
	transform: translateX(0);
}
/* アニメーション後*/
header .headerWrap::before {
	height: 665px;
	z-index: 2;
	transform-origin: left;
	transform: translateX(-200%);
	transition: transform 0.4s 0.1s cubic-bezier(0.55, 0.085, 0.68, 0.53);
}
body.is-scroll-current header .headerWrap::before {
	transform: translateX(0);
}
/* ====================================================
	共通
==================================================== */
.topWrapper {
	width: 1200px;
	margin: auto;
	margin-top: 59px;
}
h1 {
	position: relative;
	z-index: 2;
	color: #fff;
}
.subTitle {
	position: relative;
	font-family: noto-sans-cjk-jp, sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 20px;
	font-feature-settings: "palt";
	letter-spacing: 0.08em;
	margin-bottom: 13px;
	z-index: 4;
	color: #ffffff;
}
h1.en {
	font-family: futura-pt-bold, sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 72px;
	font-feature-settings: "palt";
	letter-spacing: 0.018em;
}
#anchor_01,
#anchor_02,
#anchor_03,
#anchor_04 {
	position: relative;
}
.anchor_01Wrapper,
.anchor_02Wrapper,
.anchor_03Wrapper,
.anchor_04Wrapper,
.anchor_05Wrapper {
	width: 100%;
	max-width: 2560px;
	margin: auto;
	overflow: hidden;
	position: relative;
}
.headingBlock {
	position: relative;
	z-index: 2;
}
h2 {
	position: relative;
	color: #fff;
}
h2 .ja {
	font-family: noto-sans-cjk-jp, sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 16px;
	font-feature-settings: "palt";
	letter-spacing: 0.1em;
	margin-bottom: 13px;
}
h2 .en {
	font-family: futura-pt-bold, sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 51px;
	font-feature-settings: "palt";
	letter-spacing: 0.018em;
	margin-bottom: 53px;
}
.arrow {
	width: 110px;
	height: 3px;
	position: relative;
	overflow: hidden;
	margin-bottom: 49px;
	background-color: #fff;
}
p.serviceDescription {
	font-family: noto-sans-cjk-jp, sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 15px;
	color: #262626;
	line-height: 2.1;
}

#anchor_02::before,
#anchor_03::before,
#anchor_04::before,
#anchor_05::before {
	content: "";
	width: 50%;
	height: 430px;
	position: absolute;
	top: 0;
	left: 0;
	background-color: #25c037;
	transform-origin: left;
	transform: translateX(-101%);
	transition: transform 0.4s 0.1s cubic-bezier(0.55, 0.085, 0.68, 0.53);
}
#anchor_02 .commonWrapper::before,
#anchor_03 .commonWrapper::before,
#anchor_04 .commonWrapper::before,
#anchor_05 .commonWrapper::before {
	content: "";
	width: 625px;
	height: 430px;
	position: absolute;
	top: 0;
	left: 0;
	background: linear-gradient(60deg, #25c037, #25c037, #5ad230, #5ad230, #5ad230);
	transform-origin: left;
	transform: translateX(-500%);
	transition: transform 0.4s 0.1s cubic-bezier(0.55, 0.085, 0.68, 0.53);
}
#anchor_02.is-scroll-current::before,
#anchor_03.is-scroll-current::before,
#anchor_04.is-scroll-current::before,
#anchor_05.is-scroll-current::before,
#anchor_02.is-scroll-current .commonWrapper::before,
#anchor_03.is-scroll-current .commonWrapper::before,
#anchor_04.is-scroll-current .commonWrapper::before,
#anchor_05.is-scroll-current .commonWrapper::before {
	transform: translateX(0);
}

.headingBlock {
	display: flex;
}
.headingBlock .headingPhoto {
	position: relative;
	margin-top: 49px;
}
.headingBlock .headingPhoto img {
	position: absolute;
	top: 0;
	left: 0;
}
.headingBlock .headingPhoto::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 1280px;
	height: 430px;
	background-color: #fff;
	transform-origin: left;
	transform: translateX(0);
	transition: transform 0.4s 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
}

body.is-scroll-current #anchor_01 .headingBlock .headingPhoto::before,
#anchor_02.is-scroll-current .headingBlock .headingPhoto::before,
#anchor_03.is-scroll-current .headingBlock .headingPhoto::before,
#anchor_04.is-scroll-current .headingBlock .headingPhoto::before,
#anchor_05.is-scroll-current .headingBlock .headingPhoto::before,
body.is-scroll-current #anchor_01 .headingBlock .headingPhoto::after,
#anchor_02.is-scroll-current .headingBlock .headingPhoto::after,
#anchor_03.is-scroll-current .headingBlock .headingPhoto::after,
#anchor_04.is-scroll-current .headingBlock .headingPhoto::after,
#anchor_05.is-scroll-current .headingBlock .headingPhoto::after {
	transform: scaleX(1) translateX(101%);
}
.headingBlock .headingPhoto::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 1280px;
	height: 430px;
	background: linear-gradient(60deg, #25c037, #5ad230);
	transform-origin: left;
	transform: translateX(0);
	transition: transform 0.6s 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
}
.headingBlock .headingText {
	width: 535px;
}


/* ====================================================
	#anchor_01
==================================================== */
#anchor_01 .headingBlock {
	margin-bottom: 132px;
	margin-top: -10px;
	display: flex;
}
#anchor_01 .headingText {
	padding-top: 175px;
}
#anchor_01 .headingPhoto {
	margin-top: 0;
	position: relative;
}
#anchor_01 .serviceContents {
	display: flex;
	margin-bottom: 70px;
}
#anchor_01 p.serviceDescription {
	margin-bottom: 34px;
	padding-left: 6px;
	font-feature-settings: "palt";
	letter-spacing: 0.09em;
}
#anchor_01 .servicePhoto {
	margin-top: 13px;
	margin-left: 140px;
	position: relative;
}
#anchor_01 .servicePhoto > div {
	position: absolute;
}
#anchor_01 .servicePhoto .notice01 {
	top: 20px;
	left: 40px;
}
#anchor_01 .servicePhoto .notice02 {
	top: 190px;
	left: 260px;
}
#anchor_01 .servicePhoto .notice03 {
	top: 285px;
	left: 20px;
}
@keyframes made_growIn { 
	0% { 
		transform: scale(0.2); 
		opacity:0;
	} 50% { 
		transform: scale(1.2); 
	} 100% { 
		transform: scale(1); 
		opacity:1;
	} 
} 
.made_growIn { 
	-webkit-animation-duration: .5s; 
	animation-duration: .5s; 
	-webkit-animation-fill-mode: both; 
	animation-fill-mode: both; 
	transform: scale(0.2);
	opacity:0;
}
.made_growIn.active {
    animation-name: made_growIn; 
}

/* ----------------------------------------------------
	#anchor_02
---------------------------------------------------- */
#anchor_02 {
	height: 1127px;
}
#anchor_02 .headingBlock {
	margin-bottom: 164px;
}
#anchor_02 .headingText {
	margin-top: 234px;
}
#anchor_02 .serviceContents {
	margin-bottom: 113px;
	display: flex;
}
#anchor_02 .serviceText {
	width: 535px;
	padding-left: 100px;
}
#anchor_02 .serviceContents .serviceText:first-child {
	padding-left: 0;
}
#anchor_02 .serviceText h3 {
	font-family: noto-sans-cjk-jp, sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 22px;
	font-feature-settings: "palt";
	letter-spacing: 0.1em;
	color: #262626;
	margin-bottom: 37px;
}
#anchor_02 .serviceText p.serviceDescription {
	margin-bottom: 42px;
	font-feature-settings: "palt";
	letter-spacing: 0.09em;
}
#anchor_02 .serviceText	.banner {
	box-sizing: border-box;
	width: 485px;
	height: 85px;
	border-radius: 2.5em;
}
#anchor_02 .serviceText.mycarUp .banner {
	border: solid 1px #3db11f;
	margin-top: 51px;
}
#anchor_02 .serviceText.lifeHack .banner {
	border: solid 1px #f69f9f;
	margin-top: 145px;
}
/* ----------------------------------------------------
	#anchor_03
---------------------------------------------------- */
#anchor_03 {
	height: 1405px;
}
#anchor_03 .headingBlock {
	margin-bottom: 132px;
}
#anchor_03 .headingText {
	margin-top: 244px;
}
#anchor_03 h2 .en {
	margin-bottom: 42px;
}
#anchor_03 .serviceContents {
	margin-bottom: 124px;
}
#anchor_03 p.serviceDescription {
	letter-spacing: 0.03em;
	padding-left: 4px;
}
#anchor_03 .serviceFigure {
	padding-top: 57px;
	padding-bottom: 56px;
	margin-top: 64px;
	background-color: #edf2f4;
}
#anchor_03 .serviceFigure dl dt {
	width: 660px;
	height: 55px;
	margin: auto;
	text-align: center;
	background-color: #4fcc31;
	color: #fff;
	font-family: noto-sans-cjk-jp, sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 18px;
	font-feature-settings: "palt";
	letter-spacing: 0.15em;
	line-height: 3;
}
#anchor_03 .serviceFigure dl dd ul {
	margin-top: 30px;
}
#anchor_03 .serviceFigure dl dd li {
	width: 660px;
	height: 55px;
	margin: auto;
	text-align: center;
	background-color: #fff;
	color: #262626;
	font-family: noto-sans-cjk-jp, sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 18px;
	font-feature-settings: "palt";
	letter-spacing: 0.11em;
	line-height: 3;
	margin-top: 52px;
	position: relative;
}
#anchor_03 .serviceFigure dl dd li:first-child {
	margin-top: 0;
}
#anchor_03 .serviceFigure dl dd li::before {
	content: "";
	position: absolute;
	top: -37px;
	left: 0;
	right: 0;
	width: 0;
	height: 0;
	margin: auto;
	border: none;
	border-top: 18px solid #4fcc31;
	border-right: 14px solid transparent;
	border-left: 14px solid transparent;
}
#anchor_03 .serviceFigure dl dd li:first-child::before {
	border: 0;
}
@keyframes made_fadeIn { 
	0% { 
		opacity:0;
	} 100% { 
		opacity:1;
	} 
} 
.made_fadeIn { 
	-webkit-animation-duration: .5s; 
	animation-duration: .5s; 
	-webkit-animation-fill-mode: both; 
	animation-fill-mode: both; 
	opacity:0;
}
.made_fadeIn.active {
	animation-name: made_fadeIn; 
}
@keyframes made_fadeInDownShort { 
	0% { 
		opacity: 0; 
		transform: translateY(20px); 
	} 100% { 
		opacity: 1; 
		transform: translateY(0); 
	} 
} 
.made_fadeInDownShort { 
	-webkit-animation-duration: .5s; 
	animation-duration: .5s; 
	-webkit-animation-fill-mode: both; 
	opacity: 0; 
	transform: translateY(20px); 
}
.made_fadeInDownShort.active {
	animation-name: made_fadeInDownShort; 
}
/* ----------------------------------------------------
	#anchor_04
---------------------------------------------------- */
#anchor_04 {
	height: 1098px;
}
#anchor_04 .headingBlock {
	margin-bottom: 133px;
}
#anchor_04 .headingText {
	margin-top: 244px;
}
#anchor_04 h2 .en {
	margin-bottom: 42px;
	letter-spacing: 0.01em;
}
#anchor_04 .serviceContents {
	margin-bottom: 155px;
}
#anchor_04 p.serviceDescription {
	font-feature-settings: "palt";
	letter-spacing: 0.089em;
	padding-left: 3px;
}
#anchor_04 .serviceFigure {
	margin-top: 52px;
}
#anchor_04 .serviceFigure ul {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 882px;
	height: 246px;
	padding: 0 94px;
	background-color: #edf2f4;
}
#anchor_04 .serviceFigure ul li {
	margin-left: 10px;
}
#anchor_04 .serviceFigure ul li:first-child {
	margin-left: 0;
}
@-webkit-keyframes made_fadeInLeftShort { 
	0% { 
			opacity: 0; 
			-webkit-transform: translateX(-20px); 
	} 100% { 
			opacity: 1; 
			-webkit-transform: translateX(0); 
	} 
} 
@keyframes made_fadeInLeftShort { 
	0% { 
			opacity: 0; 
			transform: translateX(-20px); 
	} 100% { 
			opacity: 1; 
			transform: translateX(0); 
	} 
} 
.made_fadeInLeftShort { 
	-webkit-animation-duration: .5s; 
	animation-duration: .5s; 
	-webkit-animation-fill-mode: both; 
	opacity: 0; 
	-webkit-transform: translateX(-20px);  
	transform: translateX(-20px); 
}
.made_fadeInLeftShort.active { 
	-webkit-animation-name: made_fadeInLeftShort; 
	animation-name: made_fadeInLeftShort; 
}

/* ----------------------------------------------------
	#anchor_05
---------------------------------------------------- */
#anchor_05 {
	height: 1590px;
	position: relative;
}
#anchor_05 .headingBlock {
	margin-bottom: 133px;
}
#anchor_05 .headingText {
	margin-top: 244px;
}
#anchor_05 h2 .en {
	margin-bottom: 42px;
	letter-spacing: 0.01em;
}

#anchor_05 .serviceContents .pointList {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-around;
    margin-top: 52px;
}
#anchor_05 .serviceContents .pointList h3 {
	background-color: #25c037;
    color: #ffffff;
    padding: 10px;
    letter-spacing: 2px;
}
#anchor_05 .serviceContents .pointList .serviceText {
	width: 43%;
	margin-top: 20px;
}
#anchor_05 .serviceContents .pointList .serviceDescription {
	padding: 10px;
}

#anchor_05 .banner {
	width: 485px;
	border: solid 1px #272727;
    margin: 51px auto 0;
	border-radius: 2.5em;
}