@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho+B1&display=swap');

/* --- subf_view --- */

.subf_view::before {
	background:url(../images/bg_subf_ins.jpg) no-repeat center / cover;
}

/* --- ins_section --- */

.ins_section {
	padding-top:150px;
}

.ins_section .inner {
	position:relative;
}

#business_owners {
	margin-bottom:150px;
}

.ins_section .inner::before {
	content:"";
	display: block;
	width:24vw;
	height:24vw;
	max-width:340px;
	max-height:340px;
	position:absolute;
	z-index:-1;
}

#life.ins_section .inner::before {
	left:-130px;
	top:-120px;
	background:url(../images/bgins_01.png) no-repeat center / contain;
}
#nolife.ins_section .inner::before {
	right:-160px;
	top:-100px;
	background:url(../images/bgins_02.png) no-repeat center / contain;
}
#business_owners.ins_section .inner::before {
	left:-150px;
	top:-120px;
	background:url(../images/bgins_03.png) no-repeat center / contain;
}

@media screen and (max-width:1439px){

	#life.ins_section .inner::before {
		left:-30px;
	}
@media screen and (max-width:1340px){

	#nolife.ins_section .inner::before {
		right:-20px;
	}
	#business_owners.ins_section .inner::before {
		left:-80px;
	}

}
	@media screen and (max-width:1230px){

		#life.ins_section .inner::before {
			left:30px;
			top:-14%;
		}

		#nolife.ins_section .inner::before {
			top:-7%;
		}
		#business_owners.ins_section .inner::before {
			top:-20%;
			left:-30px;
		}

	}
}

.ins_section h1 {
	text-align: center;
	font-size:3rem;
	letter-spacing: 0.2em;
	margin-bottom:2.4em;
}

.ins_section h1 span {
	display: block;
	font-size:3.6rem;
	letter-spacing: 0.1em;
	text-align: center;
	position: relative;
	padding-bottom:0.2em;
	margin-bottom:0.5em;
}

.ins_section h1 span::after {
	content:"";
	display: block;
	width:40px;
	height:2px;
	background:#008ba5;
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	margin:0 auto;
}

.ins_list {
	width:100%;
	max-width:720px;
	margin:0 auto;
}

.ins_line {
	border-radius: 0.75em;
	padding:2em 0;
}

.ins_line:not(:last-of-type) {
	margin-bottom:1.25em;
}

.ins_line dt {
	width:34%;
	text-align:center;
	font-size:1.8rem;
	line-height:1.7em;
	position:relative;
	padding:0 0.5em;
}
.ins_line dt::after {
	content:"";
	display: block;
	width:1px;
	height:60px;
	background:#22a9b6;
	position:absolute;
	right:0;
	top:0;
	bottom:0;
	margin:auto 0;
}
.ins_line dd {
	width:66%;
	padding:0 5% 0 8%;
	font-size:1.3rem;
	line-height:1.85em;
}

/* --- consul --- */

.consul h2,
.timing h2 {
	margin-bottom:2.75em;
}

.consul h2 span,
.timing h2 span {
	font-size:2.7rem;
	letter-spacing: 0.1em;
	position:relative;
}

.consul h2 span::after,
.timing h2 span::after {
	content:"";
	display:block;
	width:90%;
	max-width:380px;
	height:1px;
	background:#008ba5;
	position:absolute;
	bottom:0;
	left:0;
	right:0;
	margin:0 auto;
}

.consul_wrap {
	position:relative;
	padding:100px 0 180px;
}


.check_list {
	width:100%;
	max-width:600px;
	margin:0 auto;
	padding:3.25em 0;
}

.check_list li {
	padding:1em 1em;
	border-top:1px solid #ababab;
}

.check_list li:last-of-type{
	border-bottom:1px solid #ababab;
}

.check_list p {
	width:100%;
	max-width:370px;
	margin:0 auto;
	padding-left:2em;
	position:relative;
	transform:translate(0,20px);
    transition : transform 0.2s, opacity 0.2s;
}

.check_list p::before {
	content:"";
	display:block;
	width:16px;
	height:16px;
	position:absolute;
	left:0;
	top:0.3em;
	border:2px solid #c3c3c3;
}

.check_list p::after {
	content:"";
	display:block;
	width:20px;
	height:15px;
	position:absolute;
	left:0.3em;
	top:0.3em;
	background:url(../images/icon_check.svg) no-repeat center / contain;
	transition:opacity .4s;
	opacity: 0;
	transition-delay:0.4s;
}

.check_list p.scrollin::after {
	opacity:1;
}

.check_list p,
.check_list p span {
	font-size:1.5rem;
	line-height:1.85em;
}

.consul {
	padding-bottom:90px;
}

.tim_block {
	width:31.5%;
	max-width:246px;
}

.tim_block:nth-of-type(-n+3){
	margin-bottom:4em;
}

.tim_block figure {
	width:100%;
}

.tim_block h3 {
	width:94%;
	max-width:230px;
	text-align: center;
	line-height:1.5em;
	font-size:1.8rem;
	padding:0em 0.5em;
	margin:0 auto 0.8em;
	height:86px;
	position:relative;
}

.tim_block h3::after {
	content:"";
	display:block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 27px 13.5px 0 13.5px;
	border-color: #ffffff transparent transparent transparent;
	position:absolute;
	left:0;
	right:0;
	top:98%;
	margin:0 auto;
}


/* --- dl faq --- */

#faq {
	margin-top:60px;
}

#faq .dl_wrap {
	width:100%;
	position: relative;
	margin-top:90px;
	border-bottom:1px solid #ababab;
}

.dl_faq dt,
.dl_faq dd {
	position:relative;
	line-height:1.85em;
}

.dl_faq dt {
	padding:20px 110px;
	cursor: pointer;
	font-size:1.5em;
	border-top:1px solid #ababab;
}

.dl_faq dd {
	font-size:1.3rem;
	padding:0 110px 20px;
	display: none;
}


.dl_faq dt::before,
.dl_faq dd::before {
	display: block;
	width:1em;
	height:1em;
	position:absolute;
	left:1em;
}

.dl_faq dt::before {
	color:#008ba5;
	content:"Q";
	top:0.5em;
	/*font-family: 'Cinzel', serif;*/
	font-family: 'Shippori Mincho B1', serif;
	font-size:3.3rem;
}

.dl_faq dd::before {
	color:#ababab;
	content:"A";
	top:0.3em;
	/*font-family: 'Cinzel', serif;*/
	font-family: 'Shippori Mincho B1', serif;
	font-size:3.3rem;
}

.faq_btn {
	background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
	/*
	width:30px;
	height:30px;
	*/
	position:absolute;
	right:1em;
	top:0;
	bottom:0;
	margin:auto 0;
	transition:transform .4s;
}

.faq_btn img {
	width:30px;
	height:30px;
}

.faq_btn.role{
	transform:rotate3d(1, 0, 0, -180deg);
	-webkit-transform: rotate3d(1, 0, 0, -180deg);
}

/* --- ver sp --- */

@media screen and (max-width:768px){

	.head_p {
		padding:0 6.5vw;
	}

	.ins_section {
		padding-top:0vw;
	}

	.ins_section .inner {
		padding-top:58vw;
	}

	.ins_section .inner::before {
		width:40vw;
		height:40vw;
		top:12vw!important;
		left:0!important;
		right:0!important;
		margin:0 auto;
	}

	.ins_section h1 {
		font-size:5vw;
		margin-bottom:1.5em;
	}

	.ins_section h1 span {
		font-size:7vw;
	}

	.ins_section h1 span::after {
		width:6vw;
	}

	.ins_line dt,
	.ins_line dd {
		width:100%;
	}

	.ins_line dt {
		padding-bottom:0.5em;
		margin-bottom:0.5em;
		font-size:4vw;
	}

	.ins_line {
		padding:1.5em 6.5vw;
		min-height:auto;
	}

	.ins_line dt::after {
		height:1px;
		width:100%;
		top:auto;
		left:0;
		margin:0 auto;
	}

	.ins_line dd {
		padding:0 1em;
		font-size:3.25vw;
	}

	#business_owners {
		margin-bottom:15vw;
	}

	.consul_wrap {
		padding:20vw 0 30vw;
	}

	.consul h2 span, .timing h2 span {
		font-size:5vw;
		padding-bottom:0.1em;
	}

	.check_list,
	.check_list p {
		max-width:100%;
	}

	.check_list p, .check_list p span {
		font-size:3.5vw;
	}

	.check_list p::before {
		width:4vw;
		height:4vw;
	}
	.check_list p {
	transform:translate(0,5vw);
	}

.check_list p::before {
	width:4vw;
	height:4vw;
}

.check_list p::after {
	width:5vw;
	height:3.75vw;
}


	.consul {
		padding-bottom:15vw;
	}

	.tim_block {
		width:47%;
		max-width:100%;
	}

	.tim_block h3 {
		max-width:100%;
		font-size:3.5vw;
		height:16vw;
	}

	.tim_block h3 span {
		font-size:3.5vw;
	}

	.tim_block h3::after {
		border-width:5.0625vw 4.5vw 0 4.5vw;
	}

	.tim_block:nth-of-type(-n+3) {
		margin-bottom:0;
	}

	.tim_block:nth-of-type(-n+4) {
		margin-bottom:5vw;
	}

	#faq {
		margin-top:15vw;
	}
	#faq .dl_wrap {
		margin-top:10vw;
	}

	.dl_faq dt {
		padding:4vw 6vw 4vw 8vw;
	}

	.dl_faq dd {
		padding:0 6vw 4vw 8vw;
	}

	.dl_faq dd p {
		font-size:3.25vw;
		line-height:1.85em;
	}

	.dl_faq dt::before {
		font-size:5vw;
		left:0;
		top:0.3em;
	}

	.dl_faq dt p {
		line-height:1.85em;
	}

	.faq_btn {
		width:6vw;
		height:6vw;
		right:0;
	}

	.faq_btn img {
		width:6vw;
		height:6vw;
	}

	.dl_faq dd::before {
		font-size:6vw;
		left:0;
	}

}