@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

/*=====common=====*/
* {
	box-sizing: border-box;
}
a {
	color: inherit;
	text-decoration: none;
}
a:hover {
	opacity: 0.7;
	transition: opacity 0.3s ease-out;
}
a[href^="tel:"]:hover {
	opacity: inherit;
	color: inherit;
	cursor: default;
}
button {
	border: none;
	background: none;
	outline: none;
	padding: 0;
}
img {
	max-width: 100%;
	height: auto;
}
.txtRed {
	color: #e60012;
}

/* rems */
html {
	font-size: 10px;
}
@media screen and (max-width: 1330px) {
	html {
		font-size: 0.751879vw;
	}
}
@media screen and (max-width: 768px) {
	html {
		font-size: 1.333333vw;
	}
}
body {
	font-size: 1.6rem;
	font-family: 'ヒラギノ角ゴシック','Hiragino Sans', sans-serif;
	font-weight: 300;
}
/* end rems */

.sp {
	display: none;
}

/* SP */
@media screen and (max-width: 768px) {
	body {
		font-size: 2.6rem;
	}
	.sp {
		display: block;
	}
	.pc {
		display: none;
	}
}

/* header */
header .headerLogo {
	text-align: center;
	padding: 3rem 0;
}
@media screen and (max-width: 768px) {
	header .headerLogo {
		width: 25.1rem;
		margin: 0 auto;
		padding: 3rem 0;
	}
}

/*=====content=====*/
.content h1 {
	width: 64.9rem;
	margin: 0 auto;
}
.content .mv {
	margin-top: 5.5rem;
	background: #d62a17;
	padding: 3rem 0 5rem;
}
.content .mv p {
	width: 83.8rem;
	margin: 0 auto;
}
@media screen and (max-width: 768px) {
	.content {
		overflow-x: hidden;
	}
	.content .mv {
		margin-top: 3.5rem;
		background: transparent;
		padding: 0;
	}
	.content .mv p {
		width: 100%;
		max-width: 100%;
	}
}

/*=====contents01=====*/
.contents01 {
	margin-top: 6rem;
}
.contents01 .inner {
	max-width: 99.5rem;
	margin: 0 auto;
}
.contents01 .pic {
	width: 79rem;
	margin: 0 auto;
}
.content h2 {
	font-size: 4.3rem;
	font-weight: 600;
	line-height: 6.6rem;
	text-align: center;
}
.content h2 .red {
	color: #d62a17;
}
.content .contents01 h2 {
	margin-top: 5.5rem;
}
.content .contents01 .movie {
	margin-top: 3rem;
}
.content .contents01 .movie .ttl {
	font-size: 2.3rem;
	font-weight: 600;
	text-align: center;
}
.content .contents01 .movie .bnr {
	margin: 1rem auto 0;
	width: 64rem;
}
.contents01 .contents01Df {
	margin-top: 4rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 3rem 0;
}
.contents01 .contents01Df .contents01Box {
	width: 48.5%;
	background: #d62a17;
	border-radius: 3rem;
	padding: 3rem 2rem 2rem;
	display: flex;
	flex-direction: column;
}
.contents01 .contents01Df .contents01Box.full {
	width: 100%;
}
.contents01 .contents01Df .contents01Box .ttl {
	font-size: 3.2rem;
	font-weight: 600;
	line-height: 4.7rem;
	text-align: center;
	color: #fff;
	flex-grow: 1;
}
.contents01 .contents01Df .contents01Box.full .ttl {
	font-size: 3.6rem;
	line-height: 5.2rem;
}
.contents01 .contents01Df .contents01Box .ttl.mgt {
	margin-top: 2rem;
}
.contents01 .contents01Df .contents01Box .ttl span {
	display: inline-block;
	position: relative;
}
.contents01 .contents01Df .contents01Box .ttl span::before ,
.contents01 .contents01Df .contents01Box .ttl span::after {
	content: "";
	width: 0.4rem;
	height: 5rem;
	background: #fff;
	border-radius: 0.5rem;
	position: absolute;
	top: calc(50% - 2.5rem);
}
.contents01 .contents01Df .contents01Box .ttl span::before {
	transform: rotate(-30deg);
	left: -2rem;
}
.contents01 .contents01Df .contents01Box .ttl span::after {
	transform: rotate(30deg);
	right: -2rem;
}
.contents01 .contents01Df .contents01Box.full .ttl span::before {
	left: -5rem;
}
.contents01 .contents01Df .contents01Box.full .ttl span::after {
	right: -5rem;
}
.contents01 .contents01Df .contents01Box .txtBox {
	margin-top: 1rem;
	background: #fff;
	border-radius: 3rem;
	padding: 3.5rem 3rem 2.5rem;
	flex-grow: 1;
}
.contents01 .contents01Df .contents01Box .txtBox.df {
	display: flex;
	align-items: center;
	gap: 0 4.5rem;
}
.contents01 .contents01Df .contents01Box .txtBox .txt {
	font-size: 2.3rem;
	font-weight: 600;
	line-height: 3.9rem;
}
.contents01 .contents01Df .contents01Box .txtBox .txt span {
	color: #ff2121;
}
.contents01 .contents01Df .contents01Box .txtBox.df .txt {
	width: 48.5%;
}
.contents01 .contents01Df .contents01Box .txtBox.df .pic {
	width: 39.8rem;
}
@media screen and (max-width: 768px) {
	.contents01 {
		margin-top: 3rem;
	}
	.contents01 .inner {
		max-width: 100%;
		padding: 0 4.5rem;
	}
	.contents01 .pic {
		width: 71.2rem;
	}
	.content h2 {
		font-size: 4rem;
		line-height: 6.7rem;
	}
	.content .contents01 h2 {
		margin-top: 6.5rem;
	}
	.contents01 .contents01Df {
		margin-top: 6.5rem;
		flex-direction: column;
		gap: 6.5rem 0;
	}
	.content .contents01 .movie .ttl {
		font-size: 3rem;
	}
	.content .contents01 .movie .bnr {
		width: 100%;
	}
	.contents01 .contents01Df .contents01Box {
		width: 100%;
		border-radius: 3rem;
		padding: 5rem 3rem 3rem;
	}
	.contents01 .contents01Df .contents01Box .ttl {
		font-size: 4.8rem;
		line-height: 7rem;
	}
	.contents01 .contents01Df .contents01Box.full .ttl {
		font-size: 5rem;
		line-height: 7.2rem;
	}
	.contents01 .contents01Df .contents01Box .ttl.mgt {
		margin-top: 2rem;
	}
	.contents01 .contents01Df .contents01Box .ttl span::before ,
	.contents01 .contents01Df .contents01Box .ttl span::after {
		width: 0.5rem;
		height: 8.5rem;
		top: calc(50% - 4.25rem);
	}
	.contents01 .contents01Df .contents01Box .ttl span::before {
		left: -3rem;
	}
	.contents01 .contents01Df .contents01Box .ttl span::after {
		right: -3rem;
	}
	.contents01 .contents01Df .contents01Box.full .ttl span::before {
		left: -10rem;
	}
	.contents01 .contents01Df .contents01Box.full .ttl span::after {
		right: -10rem;
	}
	.contents01 .contents01Df .contents01Box .txtBox {
		margin-top: 3rem;
		border-radius: 4rem;
		padding: 4rem 4rem 3.5rem;
	}
	.contents01 .contents01Df .contents01Box .txtBox.df {
		flex-direction: column;
		gap: 0;
	}
	.contents01 .contents01Df .contents01Box .txtBox .txt {
		font-size: 3rem;
		line-height: 4.9rem;
	}
	.contents01 .contents01Df .contents01Box .txtBox.df .txt {
		width: 100%;
	}
	.contents01 .contents01Df .contents01Box .txtBox.df .pic {
		width: 52rem;
		margin: 0 auto;
	}
}

/*=====contents02=====*/
.contents02 {
	margin-top: 7rem;
	background: #f4f4f4;
	padding: 6rem 0 8rem;
}
.contents02 .inner {
	max-width: 83rem;
	margin: 0 auto;
}
.contents02 h2 {
	color: #3d3e3f;
}
.contents02 h2 .blue {
	color: #1b4499;
}
.contents02 h2 .green {
	color: #249a3a;
}
.contents02 h2 .blue.triangle {
	position: relative;
}
.contents02 h2 .blue.triangle::before {
	content: "";
	width: 5.6rem;
	height: 1.1rem;
	background: url(/lifepartner/nisahoken/img/triangle.png) no-repeat;
	background-size: contain;
	position: absolute;
	top: -1.5rem;
	left: calc(50% - 2.8rem);
}
.contents02 h2 .green.square {
	position: relative;
}
.contents02 h2 .green.square::before {
	content: "";
	width: 5.1rem;
	height: 0.9rem;
	background: url(/lifepartner/nisahoken/img/square.png) no-repeat;
	background-size: contain;
	position: absolute;
	top: -1.5rem;
	left: calc(50% - 2.5rem);
}
.contents02 .contents02Box {
	margin-top: 3rem;
	background: #fff;
	border-radius: 1rem;
	padding: 4rem 9rem;
}
.contents02 .contents02Box + .contents02Box {
	margin-top: 5rem;
}
.contents02 .contents02Box.blue {
	border: 0.1rem solid #1b4499;
}
.contents02 .contents02Box.green {
	border: 0.1rem solid #249a3a;
}
.contents02 .contents02Box .ttl {
	width: 58rem;
	margin: 0 auto;
	font-size: 3.2rem;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	text-align: center;
	line-height: 1;
	color: #fff;
	padding: 1rem;
}
.contents02 .contents02Box .ttl.blue {
	background: #1b4499;
	border-radius: 1rem;
}
.contents02 .contents02Box .ttl.green {
	background: #249a3a;
	border-radius: 1rem;
}
.contents02 .contents02Box .txt {
	width: 58rem;
	margin: 2rem auto 0;
	font-size: 2.1rem;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	line-height: 3.3rem;
}
.contents02 .contents02Box .pic {
	width: 48.4rem;
	margin: 3rem auto 0;
}
.contents02 .contents02Box .circleBox {
	width: 48.4rem;
	margin: 3rem auto 0;
}
.contents02 .contents02Box .circle {
	width: 43.2rem;
	font-size: 2.4rem;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	line-height: 2.9rem;
	text-align: center;
	color: #ff0000;
}
.contents02 .contents02Box .note {
	margin-top: 5rem;
	font-size: 1.7rem;
	line-height: 2.7rem;
	padding-left: 3rem;
	position: relative;
}
.contents02 .contents02Box .note::before {
	content: "";
	display: inline-block;
	width: 2.5rem;
	height: 2.6rem;
	background: url(/fund/common/img/warning.png) left center no-repeat;
	background-size: contain;
	vertical-align: middle;
	position: absolute;
	top: 0.2rem;
	left: 0;
}
.contents02 .dfBox {
	margin-top: 5rem;
	display: flex;
	justify-content: space-between;
}
.contents02 .dfBox .txt {
	width: 57%;
	font-size: 3.1rem;
	font-weight: 600;
	line-height: 4.8rem;
	color: #3d3e3f;
	text-align: center;
}
.contents02 .dfBox .txt .border01 {
	position: relative;
}
.contents02 .dfBox .txt .border01::after {
	content: "";
	width: 17.4rem;
	height: 1rem;
	background: url(/lifepartner/nisahoken/img/border01.png) no-repeat;
	background-size: contain;
	position: absolute;
	bottom: -1.3rem;
	right: 0.5rem;
}
.contents02 .dfBox .txt .border02 {
	position: relative;
}
.contents02 .dfBox .txt .border02::after {
	content: "";
	width: 20.1rem;
	height: 1rem;
	background: url(/lifepartner/nisahoken/img/border02.png) no-repeat;
	background-size: contain;
	position: absolute;
	bottom: -1.3rem;
	right: 0.5rem;
}
.contents02 .dfBox .pic {
	width: 34.3rem;
}
@media screen and (max-width: 768px) {
	.contents02 {
		margin-top: 10rem;
		padding: 4rem 0 8rem;
	}
	.contents02 .inner {
		max-width: 100%;
		padding: 0 5rem;
	}
	.contents02 .contents02Box {
		margin-top: 6rem;
		padding: 4rem 4.5rem;
	}
	.contents02 .contents02Box + .contents02Box {
		margin-top: 5.5rem;
	}
	.contents02 .contents02Box .ttl {
		width: 100%;
		font-size: 3.6rem;
		padding: 1rem;
	}
	.contents02 .contents02Box .txt {
		width: 100%;
		margin: 1.5rem auto 0;
		font-size: 2.7rem;
		line-height: 3.7rem;
	}
	.contents02 .contents02Box .pic {
		width: 41.5rem;
		margin: 4.5rem auto 0;
	}
	.contents02 .contents02Box .circleBox {
		width: 43rem;
		margin: 3rem auto 0;
	}
	.contents02 .contents02Box .circle {
		width: 38rem;
	}
	.contents02 .contents02Box .note {
		margin-top: 7rem;
		font-size: 2rem;
		line-height: 3.5rem;
	}
	.contents02 .contents02Box .note::before {
		top: 0.5rem;
	}
	.contents02 .dfBox {
		margin-top: 7.5rem;
		flex-direction: column;
	}
	.contents02 .dfBox .txt {
		width: 100%;
		font-size: 4rem;
		line-height: 6.7rem;
	}
	.contents02 .dfBox .txt .border01::after {
		width: 22.8rem;
		height: 1.5rem;
		bottom: -2rem;
		right: 0.5rem;
	}
	.contents02 .dfBox .txt .border02::after {
		width: 27.2rem;
		height: 1.5rem;
		bottom: -2rem;
		right: 0.5rem;
	}
	.contents02 .dfBox .pic {
		margin: 5rem auto 0;
		width: 44.3rem;
	}
}

/*=====contents03=====*/
.contents03 {
	background: #42bb04;
	padding: 3.5rem 0 7rem;
}
.contents03 .inner {
	max-width: 106rem;
	margin: 0 auto;
}
.contents03 h3 {
	font-size: 3.8rem;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	color: #fff;
	text-align: center;
}
.contents03 .slideBox {
	margin-top: -3rem;
}
.contents03 .slideContents {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #fff;
	border-radius: 0.5rem;
	padding: 3.5rem 4.5rem 3.5rem 5.5rem;
	height: 22rem;
	margin: 4rem;
	position: relative;
}
.contents03 .slideContents::after {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 2.25rem 0 2.25rem 2.5rem;
	border-color: transparent transparent transparent #fff;
	position: absolute;
	top: calc(50% - 2.25rem);
	right: -3.5rem;
}
.contents03 .slideContents.slide04::after {
	content: none;
}
.contents03 .slideContents .step {
	font-size: 2.6rem;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	text-align: center;
	line-height: 1;
	width: 11.6rem;
	height: 11.6rem;
	background: #ffff00;
	border-radius: 50%;
	border: 0.2rem solid #5db909;
	padding: 1.5rem 2rem;
	position: absolute;
	top: -4rem;
	left: -4rem;
}
.contents03 .slideContents .step span {
	font-size: 5.8rem;
	font-family: 'Helvetica','Arial';
	font-weight: 600;
}
.contents03 .slideContents .slideTtl {
	font-size: 3rem;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	text-align: center;
	line-height: 4.2rem;
}
.contents03 .slideContents.slide01 .slidePic {
	width: 13.5rem;
}
.contents03 .slideContents.slide02 .slidePic {
	width: 12.5rem;
}
.contents03 .slideContents.slide03 .slidePic {
	width: 14.5rem;
}
.contents03 .slideContents.slide04 .slidePic {
	width: 10.5rem;
}
.contents03 .slideContents .slideTxt {
	width: 47%;
	font-size: 1.8rem;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	line-height: 3.3rem;
}
@media screen and (max-width: 768px) {
	.contents03 {
		padding: 7rem 0 8rem;
	}
	.contents03 .inner {
		max-width: 100%;
		/* padding: 0 7rem; */
	}
	.contents03 h3 {
		font-size: 6rem;
	}
	.contents03 .slideBox {
		margin-top: -2rem;
	}
	.contents03 .slideContents {
		flex-direction: column;
		justify-content: flex-start;
		padding: 9.5rem 4rem 6.5rem;
		margin: 8rem 7rem 4rem;
		height: 70.5rem;
	}
	.contents03 .slideContents.slide01 {
		padding: 12.5rem 4rem 6.5rem;
	}
	.contents03 .slideContents::after {
		border-width: 3.5rem 0 3.5rem 4rem;
		top: calc(50% - 2rem);
		right: -6rem;
	}
	.contents03 .slideContents .step {
		font-size: 2.9rem;
		width: 16rem;
		height: 16rem;
		border: 0.5rem solid #5db909;
		top: -8rem;
		left: calc(50% - 8rem);
	}
	.contents03 .slideContents .step span {
		font-size: 8.9rem;
		line-height: 1.1;
	}
	.contents03 .slideContents .slideTtl {
		font-size: 3.8rem;
		line-height: 5.5rem;
	}
	.contents03 .slideContents.slide01 .slideTtl {
		font-size: 5.7rem;
		line-height: 5.6rem;
	}
	.contents03 .slideContents.slide01 .slidePic {
		width: 16.9rem;
		margin: 10.5rem auto 0;
	}
	.contents03 .slideContents.slide02 .slidePic {
		width: 16.2rem;
		margin: 3rem auto 0;
	}
	.contents03 .slideContents.slide03 .slidePic {
		width: 18.1rem;
		margin: 5rem auto 0;
	}
	.contents03 .slideContents.slide04 .slidePic {
		width: 13rem;
		margin: 11.5rem auto 0;
	}
	.contents03 .slideContents .slideTxt {
		margin-top: 2rem;
		width: 100%;
		font-size: 2.8rem;
		line-height: 5.2rem;
	}
	.contents03 .slideContents.slide01 .slideTxt {
		margin-top: 3rem;
	}
}

/*=====slick=====*/
.prevArrow:before {
	content: '';
	border-bottom: solid 0.4rem #fff;
	border-left: solid 0.4rem #fff;
	width: 1.2rem;
	height: 1.2rem;
	transform: rotate(45deg);
	position: absolute;
	bottom: 0.4rem;
	left: 45rem;
	z-index: 999;
	cursor: pointer;
}
.nextArrow:before {
	content: '';
	border-top: solid 0.4rem #fff;
	border-right: solid 0.4rem #fff;
	width: 1.2rem;
	height: 1.2rem;
	transform: rotate(45deg);
	position: absolute;
	bottom: 0.4rem;
	right: 45rem;
	z-index: 999;
	cursor: pointer;
}
.prevArrow.slick-disabled::before {
	border-bottom: solid 0.4rem #c9caca;
	border-left: solid 0.4rem #c9caca;
}
.nextArrow.slick-disabled::before {
	border-top: solid 0.4rem #c9caca;
	border-right: solid 0.4rem #c9caca;
}

.slideDots {
	margin: -4rem;
	padding: 0;
	text-align: center;
	position: relative;
	z-index: 900;
}
.slideDots li {
	display: inline-block;
	margin: 0 0.5rem;
	cursor: pointer;
}
.slideDots li {
	margin: 0 0.7rem;
	width: 1rem;
	height: 1rem;
	background: #fff;
}
.slideDots li.slick-active {
	background: #ffff30;
}
/* .slideDots li button {
	position: relative;
	text-indent: -9999px;
} */
.slideDots li button {
    display: none;
}
button {
	background: none;
	border: none;
	outline: none;
	padding: 0;
}
@media (max-width: 1050px) {
	.prevArrow:before {
		left: 42rem;
	}
	.nextArrow:before {
		right: 42rem;
	}
}
@media (max-width: 768px) {
	.prevArrow:before {
		content: none;
	}
	.nextArrow:before {
		content: none;
	}
	.slideDots {
		margin-top: -3rem;
	}
	.slideDots li {
		margin: 0 1.5rem;
		width: 2.3rem;
		height: 2.3rem;
	}
}

/*=====faq=====*/
.faq {
	background: #f1f9e5;
	padding: 6rem 0;
}
.faq .inner {
	max-width: 62rem;
	margin: 0 auto;
}
.faq h4 {
	font-size: 3.6rem;
	font-weight: 600;
	text-align: center;
	position: relative;
}
.faq h4 .green {
	color: #00b800;
}
.faq h4 .base {
	display: inline-block;
	position: relative;
}
.faq h4 .base::before , .faq h4 .base::after {
	content: "";
	width: 0.3rem;
	height: 3.5rem;
	background: #00b800;
	position: absolute;
	top: calc(50% - 1.75rem);
	
}
.faq h4 .base::before {
	transform: rotate(-35deg);
	left: -3rem;
}
.faq h4 .base::after {
	transform: rotate(35deg);
	right: -3rem;
}
.faq h4::after {
	display: block;
	content: '';
	width: 4.1rem;
	height: 4.1rem;
	background-image: url(/lifepartner/nisahoken/img/icn_close.png);
	background-size: contain;
	position: absolute;
	top: calc(50% - 2rem);
	right: 0;
	cursor: pointer;
}
.faq h4.open::after {
	background-image: url(/lifepartner/nisahoken/img/icn_open.png);
}
.faq .faqWrap {
	display: none;
}
.faq .faqWrap.open {
	display: block;
}
.faq dl {
	margin-top: 2.5rem;
	padding: 1rem 2.5rem 2rem;
	background: #fff;
	border-radius: 1.5rem;
}
.faq dl + dl {
	margin-top: 1.5rem;
}
.faq dl dt {
	font-size: 2.1rem;
	font-weight: 600;
	display: flex;
	align-items: center;
	gap: 0 1rem;
}
.faq dl dt .icon {
	font-size: 3.8rem;
	font-weight: 600;
	color: #00b500;
	width: 3rem;
	flex-shrink: 0;
}
.faq dl dd {
	padding-top: 1rem;
	border-top: 1px dashed #000;
	display: flex;
	align-items: flex-start;
	gap: 0 1rem;
}
.faq dl dd a {
	color: #0000ff;
	text-decoration: underline;
}
.faq dl dd .icon {
	font-size: 2.6rem;
	font-weight: 600;
	line-height: 1;
	color: #fff;
	background: #00b500;
	width: 3rem;
	height: 3rem;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.faq dl dd .note {
	margin-top: 0.3rem;
	font-size: 1.3rem;
}
@media screen and (max-width: 768px) {
	.faq {
		padding: 6rem 0 7rem;
	}
	.faq .inner {
		max-width: 100%;
		padding: 0 2.5rem;
	}
	.faq h4 {
		font-size: 5.5rem;
	}
	.faq h4::after {
		width: 6.4rem;
		height: 6.4rem;
		top: calc(50% - 3.2rem);
	}
	.faq h4 .base::before , .faq h4 .base::after {
		width: 0.3rem;
		height: 5.5rem;
		top: calc(50% - 2.25rem);
		
	}
	.faq h4 .base::before {
		transform: rotate(-35deg);
		left: -3rem;
	}
	.faq h4 .base::after {
		transform: rotate(35deg);
		right: -3rem;
	}
	.faq dl {
		margin-top: 4.5rem;
		padding: 1rem 2.5rem 2rem;
	}
	.faq dl + dl {
		margin-top: 3.5rem;
	}
	.faq dl dt {
		font-size: 2.9rem;
	}
	.faq dl dt .icon {
		font-size: 4.2rem;
		width: 4rem;
	}
	.faq dl dd {
		padding-top: 1.5rem;
		font-size: 2.5rem;;
	}
	.faq dl dd .icon {
		font-size: 3.2rem;
		width: 4rem;
		height: 4rem;
	}
	.faq dl dd .note {
		font-size: 2rem;
	}
}

/* btnReserve */
.btnWrap {
	width: 100%;
	height: 6.8rem;
}
.btnWrapInner {
	position: static;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 0.8rem 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0 3rem;
}
.btnWrap .txt {
	font-size: 2.2rem;
	font-weight: 600;
	color: #fff;
}
.btnWrap .txt span {
	padding: 0 1.5rem;
	position: relative;
}
.btnWrap .txt span::before,
.btnWrap .txt span::after {
	display: block;
	content: '';
	width: 0.2rem;
	height: 3rem;
	background: #fff;
	position: absolute;
	top: calc(50% - 1.5rem);
}
.btnWrap .txt span::before {
	transform: rotate(-15deg);
	left: 0;
}
.btnWrap .txt span::after {
	transform: rotate(15deg);
	right: 0;
}
.btnReserve {
	width: 31.5rem;
}
.btnReserve a {
	display: block;
	padding: 1rem;
	background: #00b500;
	font-size: 1.8rem;
	font-weight: 600;
	color: #fff;
	text-align: center;
	border-radius: 1.5rem;
	border: solid 2px #fff;
	box-shadow: 4px 4px 12px -6px rgba(0,0,0,0.6);
	position: relative;
}
.btnReserve a::after {
	display: block;
	content: '';
	background-image: url(/lifepartner/nisahoken/img/icon_arrow.png);
	background-size: contain;
	background-repeat: no-repeat;
	width: 1.8rem;
	height: 1.8rem;
	position: absolute;
	top: calc(50% - 0.8rem);
	right: 2rem;
}
.fixedCTA {
	background: rgba(0, 0, 0, 0.58);
}
.fixedCTA.fixed {
	position: fixed;
	z-index: 1000;
	transition: all ease 0.2s;
}
@media screen and (max-width: 768px) {
	.btnWrap {
		height: 10rem;
	}
	.btnWrapInner {
		padding: 1.9rem 0;
	}
	.btnWrap .txt {
		width: 15rem;
		text-align: center;
		line-height: 1.4;
	}
	.btnWrap .txt span {
		display: inline-block;
	}
	.btnWrap .txt span::before,
	.btnWrap .txt span::after {
		height: 5rem;
		top: calc(50% - 2.5rem);
	}
	.btnReserve {
		width: 40rem;
	}
	.btnReserve a {
		font-size: 2.2rem;
	}
	.btnReserve a::after {
		width: 2.6rem;
		height: 2.6rem;
		top: calc(50% - 1.3rem);
		right: 3rem;
	}
}

/*=====noticeBox======*/
.noticeBox .inner {
	max-width: 98rem;
	margin: 0 auto;
	padding: 4.5rem 0 6rem;
}
.noticeBox .notice {
	font-size: 1.7rem;
	line-height: 3.1rem;
	text-align: justify;
}
@media screen and (max-width: 768px) {
	.noticeBox .inner {
		max-width: 100%;
		padding: 6.5rem 5rem 6rem;
	}
	.noticeBox .notice {
		font-size: 2.1rem;
		line-height: 3.5rem;
	}
}

/* modal */
body.fixed {
	overflow: hidden;
	width: 100%;
	height: 100%;
	position: fixed;
	left: 0;
}
.modalBg {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10000;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.7);
}
.modalClose {
	position: absolute;
	top: -40px;
	right: 10px;
	width: 35px;
	height: 35px;
	cursor: pointer;
}
.modalClose:before,
.modalClose:after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 1px;
	transform: translate(-50%,-50%) rotate(45deg);
	background: #fff;
}
.modalClose:after {
	transform: translate(-50%,-50%) rotate(-45deg);
}
.modalBox {
	display: none;
	position: fixed;
	z-index: 10001;
	width: 90%;
	max-width: 460px;
	max-height: 90%;
	background: #fff;
}
.modalBox .inner {
	width: 100%;
}
.modalBox .inner > div {
	overflow: scroll;
	scrollbar-width: none;
	-ms-overflow-style: none;
	max-height: 88vh;
}
.modalBox .videoWrap .movie {
	width: 100%;
}
.modalBox .videoWrap .movie video {
	width: 100%;
}
@media (max-width: 767px) {
	.modalClose {
		top: -6.667vw;
		right: 1.333vw;
		width: 5.6vw;
		height: 5.6vw;
	}
}

/* footer */
footer {
	border-top: 0.1rem solid #212121;
	padding: 3rem 0;
	text-align: center;
}
footer .copyright {
	font-size: 1.7rem;
}