@charset "utf-8";


.clr-bk {
	color: #000!important
}
.bg-wh {
	background-color: #fff!important
}

/*header
---------------------------------------------------------*/
#header {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	width: 100%;
	transition: .4s;
	z-index: 990;
}
#header.act {
	background: rgba(0,0,0,1)
}
#header.act .hWrap {
	padding: 1rem 0
}
.hWrap {
	width: 90%;
	max-width: 1300px;
	margin: 0 auto;
	padding: 2.5rem 0;
	text-align: left;
	color: #b9c0c2;
	transition: .4s;
}
.hLogo {
	max-width: 22.3rem;
	margin-right: 2.5rem;
}
.hLft span {
	display: block;
	margin-right: 2.5rem;
	font-size: 93.75%;
	font-weight: 600
}
.hTtl {
	font-size: 2rem;
	letter-spacing: .075em;
}
.hBtn a {
	display: block;
	text-align: center;
	border-radius: 10rem;
	padding: 1.5rem 2rem;
	line-height: 1;
	font-size: 1.7rem;
	font-weight: 600;
	position: relative;
	overflow: hidden;
	color: #fff;
	z-index: 1;
	letter-spacing: .05em;
}
.hBtn a::before,.hBtn a::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	z-index: -5;
	background: url("../img/bg-grad.svg") center center no-repeat;
	background-size: 100% 100%;
	transition: .4s cubic-bezier(.38,.07,0,.98);
}
.hBtn a::after {
	z-index: -1;
	opacity: 1;
	width: 0;
	background: #333
}
.hBtn a:hover::after {
	width: 100%;
}

/*footer
---------------------------------------------------------*/
#footer {
	background: #333;
}
.fWrap {
	padding: 5rem 0;
	color: #b9c0c2;
}
.fLogo {
	font-size: 1.8rem;
	font-weight: 600;
	letter-spacing: .075em;
	text-indent: -.075em;
	padding-bottom: 5rem;
	margin-bottom: 5rem;
	border-bottom: 1px solid #b9c0c2;
}
.fLogo .logo {
	width: 28.7rem;
	margin: 0 auto 1rem;
}
.fLogo .logo img {
	width: 100%;
	height: auto;
}
.fAddress {
	font-size: 1.5rem;
	gap: 3rem 3.5rem;
	text-align: left;
}
.fAddress dt {
	font-size: 120%;
	font-weight: 600;
	margin-bottom: .3rem;
}
.fAddress dl a {
	color: #b9c0c2
}
.fAddress dl a:not(.tel):hover {
	color: #fff;
	text-decoration: underline;
}
.copyRight {
	padding: 3rem 0;
	background: #fff;
	font-size: 90%;
	color: #000;
	letter-spacing: .075em;
}

/*contents
---------------------------------------------------------*/
article {
	position: relative;
	z-index: 10
}
.mainArea {
	height: 98.4rem;
	position: relative;
	z-index: 1;
}
.mainArea::before {
	content: "";
	display: block;
	background: url("../img/main_bg.jpg") top -22rem center no-repeat;
	background-size: auto 105%;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 119rem;
	z-index: -1;
	transition: 2.2s;
	opacity: 0;
	filter: blur(100px);
}
.mainArea.act::before {
	opacity: 1;
	filter: blur(0);
}
.mainWrap {
	position: relative;
	height: 100%;
	z-index: 10;
	transition: 1s 1.6s;
	opacity: 0;
}
.act .mainWrap {
	opacity: 1;
}
.mainImg {
	position: absolute;
	top: 50%;
	right: -3rem;
	transform: translateY(-50%) ;
	z-index: 10;
	max-width: 51rem;
	transition: .8s 1.6s;
	opacity: 0;
}
.act .mainImg {
	right: 0;
	transform: translateY(-50%) rotate(0);
	opacity: 1
}
.mainBox {
	text-align: left;
}
.mainBox .txt {
	font-size: 1.5rem;
	margin-bottom: 2.5rem;
	letter-spacing: .175em;
}
.mainBox h1 {
	font-size: 4.5rem;
	font-weight: 400;
	line-height: 1.4;
	max-width: 48.5rem;
	margin-bottom: 1rem;
	letter-spacing: .2em;
}
.mainBox h1 p {
	letter-spacing: .21em;
}
.mainBox h1 span {
	display: inline-block;
	font-size: 2.1rem;
	background: rgba(255,255,255,.3);
	padding: .5rem 1rem;
	border-radius: .5rem;
	text-align: center;
	letter-spacing: .1em;
	vertical-align: .4em;
	margin-left: 1rem;
}
.mainBox h2 {
	font-weight: 100;
	font-size: 1.9rem;
	letter-spacing: .15em;
	opacity: .8;
}
.mainBox h2 span {
	font-size: 94%;
	border: 1px solid #fff;
	border-radius: .3rem;
	padding: .5rem 1rem;
	line-height: 1;
	letter-spacing: .1em;
	margin-left: 1rem;
}
.mainBtm {
	padding-top: 3rem;
	margin-top: 3rem;
	border-top: 1px solid #fff;
	gap: 1rem;
}
.mainBtm li {
	letter-spacing: .1em;
	padding: .8rem 3rem;
	border: 1px solid #fff;
	border-radius: 10rem;
}
.mainBox .gradTxt {
	display: inline-block;
	border-radius: 0;
	padding: .5rem 1.5rem;
	letter-spacing: .05em;
	font-size: 1.8rem;
	font-weight: 400;
	margin-top: 3rem;
}
#howto h2 {
	font-size: 5.4rem;
	margin-bottom: 5rem;
	font-weight: 400
}
.ytWrap {
	max-width: 80rem;
	margin: 0 auto;
}
.movie {
	padding-top: 56.25%;
	position: relative;
}
.movie iframe {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
}
#worries .container {
	max-width: 1060px;
}
#worries .container > * {
	position: relative;
	z-index: 1
}
#worries h2 {
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
	padding: 3rem 1rem;
	font-size: 3rem;
	font-weight: 400;
	letter-spacing: .05em;
	text-indent: -.05em;
}
.worriesWrap {
	max-width: 91rem;
	margin: 9rem auto 5rem;
	padding-top: 17rem;
}
.worriesWrap::before {
	content: "";
	display: block;
	background: url("../img/nayami_bg.jpg") top center no-repeat;
	background-size: contain;
	position: absolute;
	left: -9rem;
	top: -9rem;
	width: 107.2rem;
	height: 86.6rem;
	z-index: -1;
	transition: 2.2s .5s;
	opacity: 0;
	filter: blur(100px);
}
.worriesWrap.act::before {
	opacity: 1;
	filter: blur(0);
}
.worriesWrap .illust {
	max-width: 30.2rem;
	margin: 0 auto;
}
.worriesWrap .txt {
	position: absolute;
	font-size: 2.2rem;
	line-height: 1.4;
}
.worriesWrap .txt span {
	display: block;
	width: 100%;
	position: absolute;
	top: 45%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 1;
}
.worriesWrap .txt._01 {
	top: 15rem;
	left: 0;
	max-width: 21rem
}
.worriesWrap .txt._02 {
	top: 0;
	left: 19rem;
	max-width: 23.1rem
}
.worriesWrap .txt._03 {
	top: 3rem;
	right: 10rem;
	max-width: 25.2rem
}
.worriesWrap .txt._04 {
	top: 20rem;
	right: 0;
	max-width: 23.1rem
}
#worries .arrow {
	max-width: 4rem;
	margin: 0 auto 4rem
}
#worries h3 {
	font-size: 3.6rem;
	font-weight: 400;
	margin-bottom: 3rem;
	line-height: 1.4
}
.gradTxt {
	max-width: 80rem;
	margin: 0 auto;
	background: url("../img/bg-grad.svg") top left no-repeat;
	background-size: 100% 100%;
	border-radius: 10rem;
	padding: .2rem;
	line-height: 1.5;
	font-weight: 600;
	letter-spacing: .05em;;
	margin-bottom: 10rem;
}
.gradTxt span {
	display: block;
	border-radius: 10rem;
	padding: 1rem;
	background: #000;
}
.topPhone li {
	width: 30%;
	position: relative
}
.topPhone li::after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent transparent transparent #fff;
	border-width: 1.2rem 0 1.2rem 1.2rem;
	position: absolute;
	top: 60%;
	right: -3.3rem;
	z-index: 1
}
.topPhone li:last-of-type::after {
	display: none;
}
.topPhone li .img {
	padding: 0 3rem;
}
.topPhone li .ttl {
	background: #fff;
	position: relative;
	color: #000;
	line-height: 1.4;
	font-weight: 600;
	border-radius: 1rem;
	font-size: 2.1rem;
	margin-bottom: 4rem;
	padding: 1.5rem .5rem;
	z-index: 1
}
.topPhone li .ttl::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	top: 99.9%;
	margin: 0 auto;
	z-index: 10;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: .8rem .7rem 0 .7rem;
	border-color: #fff transparent transparent transparent;
}
.topPhone li .ttl small {
	font-size: 60%;
}
#flow {
	background: url("../img/flow_bg.jpg") top center no-repeat;
	background-size: cover;
}
#flow .container {
	max-width: 1250px;
}
#flow h2 {
	margin-bottom: 8rem;
	font-size: 4.2rem;
	font-weight: 400;
	letter-spacing: .05em;
	text-indent: -.05em;
}
.flowArea {
	padding: 7rem 7.5rem;
	background: #fff;
	color: #000;
}
.redTxt {
	color: #fff;
	font-weight: 600;
	font-size: 1.8rem;
	background: #ed1c24;
	padding: 1rem;
	margin-bottom: 5rem;
}
.flowTtl {
	border: 1px solid #000;
	margin-bottom: 4rem;
}
.flowTtl .num {
	padding-top: 2rem;
	width: 16rem;
	background: #000;
	color: #fff;
	font-size: 1.7rem;
	font-weight: 600;
}
.flowTtl .num big {
	font-size: 4.2rem;
	letter-spacing: -.1em;
}
.flowTtl h3 {
	flex: 1;
	line-height: 1.4;
	text-align: left;
	font-size: 3.4rem;
	font-weight: 500;
	padding: 1rem 3rem;
}
.flowTtl h3 small {
	display: block;
	font-size: 65%;
}
.regist01Area {
	margin-bottom: 5rem;
}
.regist01Area > dl {
	width: 33%;
	position: relative;
	margin-bottom: 3rem;
	padding: 0 2.5rem;
}
.regist01Area > dl._01 {
	width: 100%;
	max-width: 100%;
	padding: 0;
}
.regist01Area > dl:not(._01)::after,.regist01Area > dl:not(:last-of-type)::after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent transparent transparent #000;
	border-width: 1.3rem 0 1.3rem 1.2rem;
	position: absolute;
	top: 50%;
	right: -1rem;
	z-index: 1
}
.regist01Area > dl._01::after,.regist01Area > dl:last-of-type::after {
	display: none;
}
.regist01Area dt {
	text-align: left;
	font-size: 1.8rem;
	font-weight: 800;
	margin-bottom: 20px;
	padding-left: 10%;
}
.regist01Area > dl._01 dt {
	padding-left: 0;
}
.regist01 {
	width: 32%;
	margin-bottom: 1.5rem;
	background: #F0F0F0;
	padding: 2.5rem;
}
.tit {
	font-size: 2rem;
	margin-bottom: 10px;
}
.tit .num {
	border: 1px solid #666666;
	width: 3rem;
	height: 3rem;
	line-height: 3rem;
	text-align: center;
	margin-right: 1rem;
	background: #000;
	font-size: 2rem;
	color: #fff;
}
.regist01 .cont {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 11.5rem;
}
.serchBox {
	position: relative;
	font-size: 2.4rem;
	font-weight: 800;
	border: 1px solid #000;
	padding: 1rem 1.5rem;
	line-height: 1;
	margin-right: 4.7rem;
	background: #fff
}
.serchBox::after {
	content: "";
	display: block;
	width: 4.5rem;
	height: 100%;
	position: absolute;
	top: -1px;
	bottom: 0;
	right: -4.7rem;
	border: 1px solid #000;
	background: #fff url("../img/icon_glass.svg") center center no-repeat;
	background-size: auto 2.1rem;
}
img[src*="btn_friend.png"] {
	max-height: 7.2rem;
}
img[src*="/flow_img"] {
	max-height: 49.5rem;
}
.infoAdd {
	background: #f0f0f0 url("../img/img_car.png") bottom right no-repeat;
	background-size: 38.8rem auto;
	padding: 3rem;
	text-align: left;
	font-size: 1.8rem;
	color: #333;
	margin-bottom: 5rem;
}
.infoAdd h3 {
	font-size: 2rem;
	margin-bottom: 2rem;
}
.infoAdd dl + dl {
	margin-top: 1.5rem;
}
.infoAdd dt {
	width: 15.5rem;
	white-space: nowrap;
	font-size: 110%;
}
.infoAdd dd {
	flex: 1
}
.infoAdd li {
	padding-left: 1em;
	text-indent: -1em;
}
.registSlider {
	position: relative;
	margin: 0 4rem;
}
.registSlider.slick-active::after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent transparent transparent #000;
	border-width: 1.3rem 0 1.3rem 1.2rem;
	position: absolute;
	top: 50%;
	right: -5rem;
	z-index: 1
}
.slick-arrow {
	z-index: 10;
	position: absolute;
	top: 44%;
	right: -2rem;
	background: #000 url("../img/arrow_wh.svg") center center no-repeat;
	background-size: .8rem auto;
	width: 4rem;
	height: 4rem;
	border-radius: 50%;
	cursor: pointer;
	transition: .2s;
}
.slick-arrow.prev {
	-webkit-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	transform: rotate(180deg);
	right: auto;
	left: -2rem
}
.slick-arrow:hover {
	background-color: #333;
}
.slick-arrow.slick-disabled {
	display: none!important
}
.registSlider.slick-current + .registSlider + .registSlider::after {
	opacity: 0;
}
.registSlider .ttl {
	font-weight: 800;
	font-size: 1.8rem;
	text-align: left;
	margin-bottom: 1rem;
	padding-left: .92em;
	text-indent: -.92em;
}
.flowArea .note {
	margin-top: 2rem;
	color: #4d4d4d;
}
.btmNote {
	width: 100%;
	text-align: right;
	font-size: 80%;
	color: #333;
	padding: 0 5rem;
}
#btmCont {
	background: url("../img/cont_arrow.svg") top center no-repeat;
	background-size: 36.7rem auto;
}
#btmCont h2 {
	font-size: 4.6rem;
	font-weight: 400;
	letter-spacing: .05em;
	text-indent: -.05em;
}
.compWrap {
	margin: 1rem auto 6rem;
	padding-top: 9.2rem;
	position: relative;
}
.compWrap .illust {
	max-width: 37.6rem;
	margin: 0 auto;
}
.compWrap .txt {
	position: absolute;
	font-size: 2.2rem;
	line-height: 1.4;
}
.compWrap .txt span {
	display: block;
	width: 100%;
	position: absolute;
	top: 45%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 1;
}
.compWrap .txt._01 {
	bottom: 2.5rem;
	left: 0;
	max-width: 32rem
}
.compWrap .txt._02 {
	top: .8rem;
	left: 6rem;
	max-width: 29.5rem
}
.compWrap .txt._03 span {
	top: 53%;
}
.compWrap .txt._03 span {
	padding-left: 2.5rem;
}
.compWrap .txt._03 {
	top: 0;
	right: 14rem;
	max-width: 28.8rem
}
.compWrap .txt._04 {
	bottom: 1rem;
	right: 7.5rem;
	max-width: 23.1rem
}
.btmRegist {
	background: #fff;
	padding: 2rem 5rem 2.5rem;
	color: #000
}
.btmRegist h3 {
	font-size: 2.4rem;
	margin-bottom: 2rem;
	font-weight: 400
}
#service {
	background: #001B2A;
	background: -o-linear-gradient(15deg,#1a1a1a 0%,#001B2A 100%);
	background: linear-gradient(75deg,#1a1a1a 0%,#001B2A 100%);
}
#service .container {
	max-width: 1060px;
}
#service  h2 {
	font-size: 4.6rem;
	margin-bottom: 6rem;
	font-weight: 400;
}
.subTtl {
	font-size: 1.4rem;
	letter-spacing: .042em;
}
.bnrs li {
	max-width: 25rem;
}
.btn02 a {
	margin-top: 6rem;
	color: #fff;
	border: 1px solid #fff;
	display: inline-block;
	padding: 1rem 2rem;
	font-size: 1.3rem;
}
.btn02 a span {
	font-size: 123%;
}
.btn02 a:hover {
	background: #000;
}









/*ieハック*/
@media screen\0  {
}

/*********************************/
/* タブレット用のスタイル記述 */
/*********************************/
@media screen and (max-width: 1350px) {
	html {
		font-size: .7407407vw;
	}
}

/*********************************/
/* スマートフォン用のスタイル記述 */
/*********************************/
@media screen and (max-width: 780px) {
/*全体レイアウト
---------------------------------------------------------*/
	html {
		font-size: 2.7777777vw;
	}
	body {
		font-size: 1.4rem;
		line-height: 1.5
	}
	body.active {
		overflow: hidden;
	}
	article > section {
		padding: 6rem 0;
	}
	/*header
	-------------------------------------------------------*/
	#header {
	}
	.hWrap {
		padding: 1rem 0;
		align-items: center;
	}
	.hLft {
		flex-wrap: wrap;
	}
	.hLogo {
		max-width: 14rem;
		margin: 0 0 .3rem 0
	}
	.hLft span {
		display: none;
		font-size: 1rem;
		margin-right: 0;
	}
	.hTtl {
		font-size: 1rem;
	}
	.hBtn {
	}
	.hBtn a {
		white-space: nowrap;
		font-size: 1rem;
		padding: 1.2rem
	}
	
	/*footer
	-------------------------------------------------------*/
	.fLogo {
		font-size: 1.2rem;
		padding-bottom: 3rem;
		margin-bottom: 3rem;
	}
	.fLogo .logo {
		max-width: 18rem;
	}
	.fAddress {
		display: block;
		font-size: 1.2rem
	}
	.fAddress dl:not(:first-of-type) {
		margin-top: 1.5rem;
	}
	.copyRight {
		padding: 2rem;
		font-size: 1.2rem;
	}
	
	/*contents
	-------------------------------------------------------*/
	.mainArea {
		height: auto;
		padding: 9rem 0 0;
	}
	.mainArea::before {
		height: 100%;
		background: url("../img/main_bg_sp.jpg") top left no-repeat;
		background-size: 100% auto;
	}
	.mainWrap {
		display: block;
		padding-top: 28rem;
		text-shadow: 0 0 5px rgba(0,0,0,.9)
	}
	.mainBox {
		display: inline-block;
	}
	.mainBox h1 {
		margin-bottom: 1.5rem;
		font-size: 2.8rem;
	}
	.mainBox h1 span {
		font-size: 1.4rem
	}
	.mainBox .txt {
		font-size: 1.18rem;
		letter-spacing: normal;
		white-space: nowrap;
		margin-bottom: 1.5rem;
	}
	.mainBox h2 {
		font-size: 1.3rem;
		letter-spacing: .115em;
		white-space: nowrap;
		padding-right: 0;
	}
	.mainBox h2 span {
		background: rgba(0,0,0,.2)
	}
	.mainBtm {
		margin-top: 1.5rem;
		padding-top: 1.5rem;
	}
	.mainBtm li {
		font-size: 1.2rem;
		background: rgba(0,0,0,.5);
		padding: .6rem 1.2rem;
	}
	.mainImg {
		transform: none;
		top: .5rem;
		right: 1rem;
		max-width: 22rem;
	}
	.mainBox .gradTxt {
		text-shadow: none;
		font-size: 1.4rem;
		margin-top: 1.5rem;
	}
	.act .mainImg {
		transform: translateY(0) rotate(0)
	}
	#howto {
		padding-bottom: 2rem;
	}
	#howto h2 {
		font-size: 2.6rem;
		margin-bottom: 3rem;
	}
	#worries h2 {
		font-size: 1.6rem;
		padding: 2rem 0;
		white-space: nowrap;
	}
	.worriesWrap {
    margin: 4rem auto;
    padding-top: 22rem;
	}
	.worriesWrap::before {
		top: -4rem;
		left: -10rem;
		width: 65rem;
	}
	.worriesWrap .illust {
		max-width: 16rem;
	}
	.worriesWrap .txt {
		font-size: 1.3rem;
	}
	.worriesWrap .txt._01 {
		max-width: 13.125rem;
		top: 0;
		left: 2rem
	}
	.worriesWrap .txt._02 {
		max-width: 14.4375rem;
		top: 10rem;
		left: 0
	}
	.worriesWrap .txt._03 {
		max-width: 15.75rem;
		top: 4rem;
		right: 0;
	}
	.worriesWrap .txt._04 {
		max-width: 14.4375rem;
		top: 14rem;
		right: 1.5rem
	}
	#worries .arrow {
		max-width: 3rem;
	}
	#worries h3 {
		font-size: 1.8rem;
	}
	.gradTxt {
		margin-bottom: 6rem;
		font-size: 1.2rem
	}
	.gradTxt span {
		padding: 1rem
	}
	.topPhone li {
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		padding: 0 1rem;
	}
	.topPhone li:not(:first-of-type) {
		margin-top: 6rem;
	}
	.topPhone li .ttl {
		width: 55%;
		font-size: 3.7vw;
		padding: 1.2rem .5rem;
		margin-top: 2.5rem;
		border-radius: .5rem
	}
	.topPhone li .ttl::after {
		right: -.8rem;
    left: auto;
    top: auto;
    bottom: 0;
    border-width: 2rem 1rem 0 1rem;
    -webkit-transform: rotate(-65deg);
    -ms-transform: rotate(-65deg);
    transform: rotate(-65deg);
	}
	.topPhone li .ttl small {
		display: block;
		margin-top: .5rem;
		font-size: 1rem;
	}
	.topPhone li .img {
		width: 40%;
		margin: 0;
		padding: 0
	}
	.topPhone li::after {
		right: 0;
		left: 0;
		margin: 0 auto;
		top: 125%;
		-webkit-transform: rotate(90deg);
		-ms-transform: rotate(90deg);
		transform: rotate(90deg);
		width: 4em
	}
	#flow h2 {
		font-size: 2.6rem;
		margin-bottom: 3rem;
	}
	.flowArea {
		padding: 3rem 2rem;
	}
	.redTxt {
		font-size: 1.2rem;
		margin-bottom: 3rem;
	}
	.flowTtl {
		display: block;
	}
	.flowTtl .num {
		width: 100%;
		padding: 0;
		font-size: 1.4rem
	}
	.flowTtl .num big {
		font-size: 2.8rem;
	}
	.flowTtl h3 {
		font-size: 1.8rem;
		padding: 1rem;
		text-align: center;
	}
	.flowTtl h3 small {
		font-size: 75%;
	}
	.regist01Area dt {
		font-size: 1.6rem;
		text-indent: -1em;
		padding-left: 1em;
	}
	.regist01 {
		width: 48%;
		padding: 1.5rem 1rem;
	}
	.serchBox {
		font-size: 1.2rem;
		margin-right: 2.2rem;
		padding: 1rem .5rem;
	}
	.serchBox::after {
		width: 2.2rem;
		right: -2.4rem;
		background-size: auto 1.3rem;
	}
	.tit {
		display: block;
	}
	.tit .num {
		font-size: 1.8rem;
		margin: 0 auto 1rem;
	}
	.regist01 .cont {
		min-height: inherit;
	}
	.regist01 h4 {
		font-size: 1.5rem;
	}
	.regist01Area {
		justify-content: flex-start;
		margin-bottom: 4rem;
	}
	.regist01Area > dl {
		width: 48%;
		padding: 0;
	}
	.regist01Area > dl:not(._01)::after, .regist01Area > dl:not(:last-of-type)::after {
		right: -2%;
	}
	.regist01Area > dl._03 {
		margin-left: 4%;
	}
	.regist01Area > dl:not(._01) dd img {
		max-width: 75%;
		margin: 0;
	}
	.regist01Area dt {
    font-size: 1.3rem;
    text-align: left;
    letter-spacing: -.05em;
    padding-left: 1em!important;
    text-indent: -1em;
		margin-bottom: .5rem;
	}
	.registSlider {
		margin: 0 .75em;
	}
	.registSlider .ttl {
		text-align: center;
		font-size: 1.4rem;
		line-height: 1.5;
		padding: .8rem .5rem;
		display: flex;
		justify-content: center;
		align-items: center;
		background: #f1f1f1;
		border-radius: .5rem;
		position: relative;
		margin-bottom: 1.5rem;
		text-indent: inherit;
	}
	.registSlider .ttl::after {
		content: "";
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    top: 99.9%;
    margin: 0 auto;
    z-index: 10;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 1rem 1rem 0 1rem;
    border-color: #f1f1f1 transparent transparent transparent;
	}
	.registSlider img {
		max-width: 60%;
		margin: 0 auto;
	}
	.registSlider::after {
		display: none!important;
	}
	.slick-arrow.next {
		right: 0;
	}
	.slick-arrow.prev {
		left: 0;
	}
	.slick-arrow {
		width: 3rem;
		height: 3rem;
		top: 50%;
	}
	.infoAdd {
		padding: 2rem 2rem 12rem;
		font-size: 1.4rem;
		background-size: 60% auto;
	}
	.infoAdd h3 {
		font-size: 1.5rem;
		margin-bottom: 1.5rem
	}
	.infoAdd dl {
		display: block;
	}
	.infoAdd dt {
		width: 100%;
		margin-bottom: .5rem;
	}
	.infoAdd dl + dl {
    margin-top: 2rem;
	}
	.flowArea .note {
		text-align: left;
		font-size: 90%;
		padding-left: 1em;
		text-indent: -1em;
		margin-top: 1rem;
	}
	.btmNote {
		text-align: left;
		padding: 0;
	}
	#btmCont {
		background-size: 18rem 3rem;
	}
	#btmCont h2 {
		font-size: 2.6rem;
	}
	.compWrap {
		padding-top: 30rem;
		margin: 3rem 0 4rem;
	}
	.compWrap .illust {
		max-width: 18rem;
	}
	.compWrap .txt {
		font-size: 1.3rem;
		bottom: auto!important
	}
	.compWrap .txt._01 {
		max-width: 19.2rem;
		top: 10rem;
		left: 2.5rem;
	}
	.compWrap .txt._02 {
		max-width: 17.7rem;
		top: 17rem;
		left: 0
	}
	.compWrap .txt._03 {
		max-width: 17.28rem;
		top: 0;
		right: 2.5rem
	}
	.compWrap .txt._04 {
		max-width: 13.8rem;
		top: 22rem;
		right: 0;
	}
	.compWrap .txt._03 span {
		padding-left: 1.5rem;
	}
	.btmRegist {
		padding: 2rem;
	}
	.btmRegist h3 {
		font-size: 1.6rem
	}
	#service  h2 {
		font-size: 2.6rem;
		margin-bottom: 4rem;
	}
	.subTtl {
		font-size: 1.3rem
	}
	.bnrs li {
		max-width: 48%;
		margin-bottom: 1rem;
	}
	.btn02 a {
		margin-top: 3rem;
		font-size: 1.2rem;
	}
}


