.home_p {
	max-width: 60rem;
	margin: 0 auto;
	padding: 1em 0 0;
	text-align: left;
	font-family: ZenMaruGothic-Medium, 'Hiragino Maru Gothic ProN', Meiryo, arial, sans-serif;
	font-size: 1.8rem;
	line-height: 1.5;
}

.home_p > span {
	display: inline;
	font-family: ZenMaruGothic-Medium, 'Hiragino Maru Gothic ProN', Meiryo, arial, sans-serif;
	font-size: 1.8rem;
	line-height: 1.5;
}

.home_p > .sp {
	display: block;
	padding-top: 1em;
}

.contact_buttton > a {
	display: block;
	width: 28rem;
	height: 4.5rem;
	margin: 0;
	padding: 0 1.5rem 0 0;
	border: 0.2rem solid #fff;
	border-radius: 4.5rem;
	background-color: var(--button-red_out);
	text-align: center;
	font-family: ZenMaruGothic-Bold, 'Hiragino Maru Gothic ProN', Meiryo, arial, sans-serif;
	font-size: 2.4rem;
	line-height: 4rem;
	color: #fff;
	text-decoration: none;
	letter-spacing: 0.1em;
	transition: background-color 0.3s, color 0.3s;
	position: relative;
}

.contact_buttton > a::after {
	content: '';
	position: absolute;
	z-index: 1;
	transform: translateY(-50%);
	top: 50%;
	right: 0.4rem;
	width: 3.3rem;
	height: 3.3rem;
	margin: 0;
	padding: 0;
	border-radius: 50%;
	background-color: #fff;
	background-image: url(../images/button_arrow_red.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 45% auto;
}

.home_contact {
	display: block;
	width: 100%;
	margin: 0 auto;
	padding: 0 1.5rem;
}

.home_contact > li {
	margin: 0 auto;
}

.home_contact > li:nth-child(1) {
	width: 24rem;
	padding: 0;
}

.home_contact > li:nth-child(2) {
	width: 26rem;
	padding: 1.8rem 0 0;
}

.home_contact > .contact_buttton {
	width: 100%;
	margin: 0;
	padding: 3rem 0 0;
}

.home_contact .contact_buttton > a {
	margin: 0 auto;
}

/****************************
  visual_top
****************************/

.visual_top {
	width: 100%;
	margin: 0 auto;
	padding: 4rem 0 0;
	background-repeat: no-repeat, no-repeat, no-repeat;
	background-image: url(../../files/home/sp/vtbg.png), url(../../files/home/pc/vtbg2.png), url(../../files/home/pc/vtbg3.png);
	background-position: center 34rem, calc(50% - 18rem) 6rem, calc(50% + 22rem) 52rem;
	background-size: auto 35rem, 28rem auto, 38rem auto;
}

.visual_top h1 {
	max-width: 100%;
	margin: 0 auto;
	padding: 0;
	text-align: center;
	font-family: ZenMaruGothic-Regular, 'Hiragino Maru Gothic ProN', Meiryo, arial, sans-serif;
	color: #000;
}

.visual_top h1 > div {
	display: block;
}

.visual_top h1 > div > span {
	display: block;
	font-size: 2rem;
	line-height: 1.4;
}

.visual_top h2 {
	transform: translateY(-1rem);
	max-width: 36rem;
	margin: 0 auto;
	padding: 0;
}

.visual_top h3 {
	transform: translateY(-6rem);
	max-width: 44rem;
	margin: 0 auto;
	padding: 0;
}

.visual_top h4 {
	max-width: 28rem;
	margin: 0 auto;
	padding: 6rem 0 0;
}

.visual_top figure {
	max-width: 40rem;
	margin: 0 auto;
	padding: 3rem 1.5rem 0;
}

.visual_top .contact_buttton {
	margin: 0 auto;
	padding: 26rem 0 0;
}

.visual_top .contact_buttton > a {
	margin: 0 auto;
}

/****************************
  section 1
****************************/

#section_1 {
	width: 100%;
	margin: 0;
	padding: 6rem 1.5rem 36rem;
	background-repeat: no-repeat;
	background-image: url(../../files/home/sp/14.png), url(../../files/home/pc/15.png), url(../../files/home/sp/16.png);
	background-position: center 108rem, calc(50% - 15rem) 58rem, calc(50% + 15rem) 108rem;
	background-size: 34rem auto, 26rem auto, 20rem auto;
}

#section_1 > h2 {
	max-width: 36rem;
	margin: 0 auto;
	padding: 0;
}

#section_1 > figure {
	max-width: 50rem;
	margin: 0 auto;
	padding: 3rem 0 0;
}

#section_1 > section {
	width: 100%;
	margin: 0;
	padding: 6rem 0 0;
}

#section_1 h3 {
	max-width: 21rem;
	margin: 0 auto;
	padding: 0;
}

#section_1 h4 {
	max-width: 29rem;
	margin: 0 auto;
	padding: 1rem 0 0;
}

#section_1 .home_p {
	padding: 3rem 0 0;
}

/****************************
  section 2
****************************/

#section_2 {
	width: 100%;
	margin: 0;
	padding: 6rem 0;
	background-color: var(--button-red_out);
	position: relative;
}

#section_2::before {
	content: '';
	display: block;
	position: absolute;
	top: -3rem;
	left: 0;
	width: 100%;
	height: 3rem;
	margin: 0;
	padding: 0;
	background-image: url(../../files/home/pc/20bg.svg);
	background-repeat: repeat-x;
	background-position: center;
	background-size: 5.55rem 3rem;
}

#section_2::after {
	content: '';
	display: block;
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	height: 3rem;
	margin: 0;
	padding: 0;
	background-image: url(../../files/home/pc/20bg.svg);
	background-repeat: repeat-x;
	background-position: center;
	background-size: 5.55rem 3rem;
	transform: rotate(180deg);
}

/****************************
  section 3
****************************/

#section_3 {
	width: 100%;
	margin: 0;
	padding: 14rem 1.5rem 11rem;
	background-image: url(../../files/home/pc/30bg.png);
	background-repeat: repeat;
	background-position: center;
	background-size: 59.9rem auto;
}

#section_3 > section {
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

#section_3 h2 {
	max-width: 35rem;
	margin: 0 auto;
	padding: 0;
}

#section_3_1 + h2 {
	padding: 14rem 0 0;
}

#section_3 figure {
	max-width: 40rem;
	margin: 0 auto;
	padding: 4rem 0 0;
}

#section_3_1 {
	max-width: 60rem;
	margin: 0 auto;
	padding: 10rem 0 0;
}

#section_3 h3 {
	max-width: 30rem;
	margin: 0;
	padding: 0;
	text-align: left;
}

#section_3 ul {
	width: 39rem;
	margin: 0 auto;
	padding: 1rem 0 0;
}

#section_3 ul > li {
	margin: 0;
	padding: 1em 0 0 1em;
	text-align: left;
	font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, 'メイリオ', arial, sans-serif;
	font-style: normal;
	font-weight: normal;
	font-size: 1.9rem;
	line-height: 1.2;
	text-indent: -1em;
}

#section_3 ul > li::before {
	content: '⚫︎';
	padding: 0;
	color: var(--button-red_out);
}

#section_3 ul > li > span {
	display: block;
	padding: 0.5em 0 0 1.9rem;
	font-size: 90%;
}

/****************************
  section 4
****************************/

#section_4 {
	width: 100%;
	margin: 0;
	padding: 8rem 1.5rem 6rem;
	background-color: var(--button-red_out);
	position: relative;
}

#section_4::before {
	content: '';
	display: block;
	position: absolute;
	top: -3rem;
	left: 0;
	width: 100%;
	height: 3rem;
	margin: 0;
	padding: 0;
	background-image: url(../../files/home/pc/20bg.svg);
	background-repeat: repeat-x;
	background-position: center;
	background-size: 5.55rem 3rem;
}

#section_4 h2 {
	max-width: 35rem;
	margin: 0 auto;
	padding: 0;
}

#section_4 figure {
	max-width: 40rem;
	margin: 0 auto;
	padding: 5rem 0 0;
}

#section_4 .home_contact {
	padding: 10rem 0 0;
}
