.l-wrapper {
	position: relative;
}

.sCom {
	padding-top: 10rem;
	padding-bottom: 10rem;
}

.secBody,
.secAct {
	margin-top: 5rem;
}

.secBody {
	
}

.width800{
	max-width: 800px;
	margin-inline:auto;

	&>*+* {
		margin-block-start: 1em;
	}

	&>h1+*,
	&>h2+* {
		margin-block-start: 2em;
	}

	&>*+h1,
	&>*+h2 {
		margin-block-start: 2em;
	}

	&>*+h3 {
		margin-block-start: 1.5em;
	}

	&>*+h4 {
		margin-block-start: 1.5em;
	}

	ol {
		list-style: none;
		counter-reset: num;

		&>li {
			padding-left: 20px;
			position: relative;

			&::before {
				position: absolute;
				left: 0;
				top: auto;
				content: counter(num)'.';
				counter-increment: num;
				color: #3E82B9;
				font-weight: bold;
			}
		}
	}

	h4{
		color:#3E82B9;
		font-weight: bold;
		font-size:2rem;
	}
}

.l_main {
	padding-top: 10rem;
	padding-bottom: 10rem;
	position: relative;
}

.l_main>section:not(:first-child) {
	margin-top: 10rem;
}

.l_con,
.m_con {
	display: block;
	margin: auto;
	z-index: 0;
	position: relative;
	width: 114rem;
}

.m_con {
	width: 89.5rem;
}

section {
	width: 100%;
}

.ta_r {
	text-align: right;
}

.mt1rem {
	margin-top: 1rem;
}

.mt2rem {
	margin-top: 2rem;
}

.mb0rem {
	margin-bottom: 0rem;
}

.mb2rem {
	margin-bottom: 2rem;
}

.mb4rem {
	margin-bottom: 4rem;
}

/*-----------------------------------------------
common
-----------------------------------------------*/
.mainFv {
	position: relative;
}

.mainFvImg {
	height: 60rem;
	object-fit: cover;
}

.mainFvInfo {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}

.mainFvInfo h1 {
	color: white;
	line-height: 1;
	font-family: "Noto Serif JP";
}

.mainFvInfo p {
	font-size: 2.5rem;
	color: white;
	margin-top: 3rem;
	letter-spacing: 0.3rem;
	line-height: 1;
	font-family: "Noto Serif JP";
}

.mainFvInfo h1,
.mainFvInfo p {
	opacity: 0;
}

.secTitle h2 {
	text-align: center;
	line-height: 1.4;
	font-family: "Noto Serif JP";
}

.secTitle p {
	color: #3E82B9;
	text-align: center;
	letter-spacing: 0.3rem;
	font-family: "Noto Serif JP";
}

.secDesc {
	font-weight: 300;
	text-align: center;
}

/*-----------------------------------------------
top
-----------------------------------------------*/
.topSection {
	display: flex;
}

.topSectionInfo,
.topSectionMedia {
	width: 50%;
}

.topSectionInfo {
	background: #FAF9FB;
	padding-left: calc(50% - 57rem);
}

.topSectionInfoDetail p {
	text-align: center;
	margin-top: 3rem;
}

.topSectionMedia {
	position: relative;
}

.topSectionMediaImg {
	position: absolute;
	left: 0;
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
	bottom: 0;
	object-fit: cover;
}

.topServiceItem {
	width: 35rem;
	height: 35rem;
	padding-top: 5rem;
	background: #3E82B9;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-direction: column;
	text-align: center;
	color: white;
}

.topServiceItem h3 {
	font-size: 3.3rem;
	font-weight: 600;
	color: inherit;
}

.topServiceItem label {
	font-size: 1.4rem;
	display: block;
	margin-top: 0rem;
	letter-spacing: 0.36rem;
	color: inherit;
	font-family: "Noto Serif JP";
}

.topServiceItem p {
	color: white;
	margin-top: 5rem;
	color: inherit;
}

.topServicMark {
	font-size: 7.2rem;
	line-height: 1;
	color: #3E82B9;
	margin: 0 7rem;
}

.topServiceList {
	margin-top: 10rem;
	display: flex;
	justify-content: center;
	align-items: center;
}

.topSectionReserve {
	flex-direction: row-reverse;
}

.topSectionReserve .topSectionInfo {
	padding-left: 0;
	padding-right: calc(50% - 57rem);
}

.consultation h2,
.consultation p {
	color: black;
}

.consultationItem {
	width: 23rem;
	display: block;
	position: relative;
}

.consultationItemImg {
	width: 100%;
	object-fit: contain;
}

.consultationItem p {
	margin-top: 1.5rem;
	line-height: 1.5;
	letter-spacing: 0;
}

.consultationList>li:not(:first-child) {
	margin-left: 6.7rem;
}

.consultationList>li:not(:first-child):before {
	content: "";
	width: 3.35rem;
	height: 3.2rem;
	background-image: url(icon/arrow_right.svg);
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	left: -5rem;
	top: 10.5rem;
}

.consultationList {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	list-style: none;
}

.insurance,
.company {
	border-top: 1px solid #8F929F;
}

.insuranceItemList {
	display: flex;
	margin: -1.4rem -2.3rem;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	list-style: none;
}

.insuranceItem {
	margin-top: 8rem;
}

.insuranceItemDetail {
	width: calc(100% / 3 - 4.6rem);
	margin: 1.4rem 2.3rem;
	font-size: 1.8rem;
	text-align: center;
	font-weight: 400;
	font-family: "Noto Sans JP";
}

.insuranceItemInfo {
	margin-top: 4rem;
}

.insuranceItem h3 {
	font-size: 2.5rem;
	text-align: center;
	font-weight: 400;
	font-family: "Noto Sans JP";
}

.nonLifeInsurance .insuranceItemList {
	justify-content: center;
}

.company {
	margin-top: 0 !important;
}

.companyMap iframe {
	display: block;
	width: 100%;
	height: 49rem;
	border: none;
}

.companyTblItem {
	width: 53rem;
	border-top: 1px dashed black;
}

.companyTblItem td {
	border-bottom: 1px dashed black;
	padding: 2rem 0;
	text-align: left;
	letter-spacing: 0;
	font-weight: 300;
}

.companyTblItem tr>td:first-child {
	width: 13rem;
}

.companyTbl {
	margin-top: 10rem;
	display: flex;
	justify-content: space-around;
}

/*-----------------------------------------------
greeting
-----------------------------------------------*/
#greeting .l_main {
	padding-bottom: 0;
}

.subPage .mainFvInfo {
	background: rgba(62, 130, 185, 0.5);
	text-align: center;
}

.subPage .mainFvInfo h1 {
	display: inline-block;
	padding: 0 4rem;
	border-bottom: 1px solid white;
	position: relative;
	padding-bottom: 2rem;
}

.subPage .mainFvInfo p {
	margin-top: 2rem;
	font-size: 2rem;
}

.mission,
.principle {
	position: relative;
}

.missionImg {
	height: 84.8rem;
	object-fit: cover;
}

.principleImg {
	height: 89.8rem;
	object-fit: cover;
}

.principleInfo,
.missionInfo {
	padding: 8rem 0;
	background: rgba(250, 249, 252, 0.7);
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
}

.mission .secTitle,
.principle .secTitle {
	padding: 0;
}

.missionDesc {
	font-size: 3rem;
	font-weight: 600;
	text-align: center;
	font-family: "Noto Serif JP";
}

.principleDesc,
.insurerDesc {
	font-weight: 300;
	text-align: center;
}

.mission .secBody,
.principle .secBody {
	margin-top: 3rem;
}

.vision,
.insurer {
	background: #F9F9FA;
}

.secTitleWrapper .secTitle {
	display: inline-block;
	position: relative;
}

.secTitleWrapper .secTitleMark {
	width: 8.7rem;
	height: 7rem;
	position: absolute;
	left: -10rem;
	top: calc(50% - 3.5rem);
}

.secTitleWrapper {
	text-align: center;
}

.vision .l_con {
	width: 89.5rem;
}

.greetingList {
	list-style: none;
	display: block;
}

.greetingItem {
	border: 2px solid #3E82B9;
	padding: 2rem;
}

.greetingItem h3 {
	font-size: 3rem;
	color: #3E82B9;
	font-family: "Noto Serif JP";
}

.greetingItem p {
	text-align: center;
}

.greetingList>li:not(:first-child) {
	margin-top: 11rem;
	position: relative;
}

.greetingList>li:not(:first-child):before {
	content: "＋";
	font-size: 7.2rem;
	color: #3E82B9;
	line-height: 1;
	top: -9.1rem;
	left: calc(50% - 3.6rem);
	position: absolute;
}

.value {
	margin-top: 0 !important;
}

.valueList .greetingItem {
	background: #3E82B9;
}

.valueList .greetingItem h3,
.valueList .greetingItem p {
	color: white;
}

/*-----------------------------------------------
service
-----------------------------------------------*/
#service .l_main {
	padding-bottom: 0;
}

.serviceSecSubTtl {
	line-height: 1.333;
	text-align: left;
	font-family: "Noto Serif JP";
	letter-spacing: 0.05rem;
}

.serviceSecDesc {
	margin-top: 2rem;
}

.serviceSecDetailTtl {
	color: #3E82B9;
	text-align: center;
	margin-top: 7rem;
	margin-bottom: 3rem;
}

.business {
	background: #F9F9FA;
}

.information .l_con {
	width: 92rem;
}

.businessFlow * {}

.businessFlow h4 {
	font-size: 2rem;
	padding: 4rem 0;
	border: 2px solid black;
	text-align: center;
}

.businessFlowStep1 {
	display: flex;
	justify-content: space-between;
}

.businessFlowStep1Detail {
	width: 35.4rem;
	position: relative;
	padding: 10rem 0;
}

.businessFlowStep1Detail h5 {
	background: #3E82B9;
	color: white;
	padding: 3.25rem;
	text-align: center;
	font-size: 2rem;
}

.businessFlowStep1Detail ol {
	margin-top: 3rem;
	border: 2px solid #3E82B9;
	padding: 3rem;
	border-radius: 2rem;
	background: #F9F9FA;
	color: #3E82B9;
}

.businessFlowStep1Detail ol li {
	display: block;
	padding-left: 1.8rem;
	position: relative;
}

.businessFlowStep1Detail ol li span {
	position: absolute;
	left: 0;
	top: 0;
}

.businessFlowStep1Detail:before,
.businessFlowStep2:before {
	content: "";
	position: absolute;
	top: 0;
	left: calc(50% - 3rem);
	width: 6rem;
	height: calc(100% - 7rem);
	background: #9CC1DB;
	z-index: -1;
}

.businessFlowStep1Detail:after,
.businessFlowStep2:after {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	border-left: 7.25rem solid transparent;
	border-right: 7.25rem solid transparent;
	border-top: 7.2rem solid #9CC1DB;
	bottom: 0;
	left: calc(50% - 7.25rem);
	z-index: -1;
}

.businessFlowStep2 p {
	padding: 3rem 0 3rem 17rem;
	background: #F9F9FA;
	border: 2px solid black;
	width: 65.4rem;
	margin: auto;
}

.businessFlowStep2 {
	padding-bottom: 15rem;
	position: relative;
	display: block;
}

.businessFlowDesc {
	margin-top: 1rem;
}

.businessFlowDesc .red {
	color: #E60012;
}

.businessFlowDesc .grey {
	color: #7E7E7E;
}

.businessTbl table {
	width: 51.8rem;
	margin: auto;
}

.businessTbl table,
.businessTbl table tr,
.businessTbl table th,
.businessTbl table td {
	border-collapse: collapse;
	border: 2px solid #3E82B9;
}

.businessTbl table td {
	background: white;
}

.businessTbl table th,
.businessTbl table td {
	padding: 3rem;
	text-align: center;
	width: 50%;
}

.businessTbl table th {
	background: #C4DAE9;
}


/*-----------------------------------------------
voice
-----------------------------------------------*/
.voiceItemTtlMark {
	width: 10rem;
	position: relative;
	font-family: "Noto Serif JP";
	padding: 1.5rem 0;
}

.voiceItemTtlMark span {
	position: absolute;
	left: 0;
	right: 0;
	height: 1.5px;
	width: 100%;
	background: black;
}

.voiceItemTtlMark span.top {
	top: 0;
}

.voiceItemTtlMark span.bottom {
	bottom: 0;
}

.voiceItemTtlMark span:before,
.voiceItemTtlMark span:after {
	content: "";
	width: 9px;
	height: 9px;
	position: absolute;
	top: calc(50% - 4.5px);
	background: black;
}

.voiceItemTtlMark span:before {
	left: 0;
}

.voiceItemTtlMark span:after {
	right: 0;
}

.voiceItemTtlMark label {
	text-align: center;
	display: block;
	line-height: 1;
	letter-spacing: 0.6rem;
}

.voiceItemTtlMark p {
	font-size: 3.7rem;
	text-align: center;
	line-height: 1;
	letter-spacing: 0.3rem;
	margin-top: 0.5rem;
}

.voiceItemTtl {
	position: relative;
	padding-left: 14.4rem;
	padding-top: 0;
}

.voiceItemTtlMark {
	position: absolute;
	left: 0;
	top: 0;
}

.voiceItemTtl h2 {
	color: black;
	font-size: 3rem;
}

.voiceItemInfo {
	margin-top: 2rem;
	background: #F9F9FA;
	padding: 5rem;
}

.voiceList>.voiceItem:not(:first-child) {
	margin-top: 10rem;
	padding-top: 10rem;
	border-top: 0.5px dashed black;
}

/*-----------------------------------------------
contact
-----------------------------------------------*/
.contact {
	background: #F9F9FA;
}

.contactForm {
	margin-top: 9.5rem;
}

.contactFormData {
	padding: 10rem;
	background: white;
}

.contactDataItem {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.contactDataItem>label {
	width: 24.8rem;
	display: block;
	margin-top: 0.15rem;
}

.contactDataItem>label span {
	width: 5.5rem;
	line-height: 3.5rem;
	color: white;
	background: #3E82B9;
	float: right;
	display: block;
	text-align: center;
}

.contactDataItemControl {
	width: calc(100% - 26.8rem);
}

.formInput,
.formTextArea {
	border: 1px solid #3E82B9;
	outline: none;
	box-shadow: none;
	padding: 1rem;
	font-size: 1.6rem;
}

.formInput {
	width: 39.8rem;
	height: 3.8rem;
}

.formTextArea {
	width: 100%;
	height: 43.8rem;
	resize: none;
}

.contactFormData>div:not(:first-child) {
	margin-top: 4.8rem;
	padding-top: 4.8rem;
	border-top: 1px dashed black;
}

.contactFormAct {
	margin-top: 10rem;
	display: flex;
	justify-content: center;
}

.contactFormAct .btn {
	margin: 0 5rem;
}

.contactDesc {
	text-align: center;
}

.confirmForm .formInput,
.confirmForm .formTextArea {
	border: none;
	background: none;
	color: black;
	line-height: 1.875;
}

.confirmForm .contactDataItem>label span {
	display: none;
}

.formTable {
	width: 100%;
	border-top: 1px dashed black;
	margin-top: 4rem;
}

.formTable tr td,
.formTable tr th {
	padding: 2rem 0;
	border-bottom: 1px dashed black;
}

.formTable tr td {
	font-weight: 300;
}

.formTable tr>th {
	width: 30rem;
	text-align: center;
}

.contactError {
	margin-top: 4rem;
	max-width: 50rem;
	margin-left: auto;
	margin-right: auto;
}

.contactError p {
	color: red;
}

.contactError>p:not(:first-child) {
	margin-top: 1rem;
}

/*-----------------------------------------------
thanks
-----------------------------------------------*/
.thanks {
	background: #F9F9FA;
}

.thanksDesc {
	text-align: center;
}

/*-----------------------------------------------
policy
-----------------------------------------------*/
.policyInfo dl {
	margin-top: 4rem;
}

.policyInfo dt {
	font-size: 2.6rem;
	color: #3E82B9;
	font-family: "Noto Serif JP";
}

.policyInfo dd {
	margin-top: 1rem;
	white-space: pre-line;
	font-size: 1.4rem;
}

.policyInfo dd.nopre {
	white-space: normal;
}

.policyInfo dd a:link,
.policyInfo dd a:visited,
.policyInfo dd a:active {
	color: #3E82B9;
	text-decoration: underline;
}

.policyInfo dd a:hover {
	text-decoration: none;
}

.policyInfo p span {
	font-weight: 600;
	font-family: "Noto Serif JP";
}

.policy {
	background: #F9F9FA;
}

.pI_table table {
	width: 100%;
	margin: auto;
}

.pI_table table,
.pI_table table tr,
.pI_table table th,
.pI_table table td {
	border-collapse: collapse;
	border: 1px solid #000000;
}

.pI_table table th,
.pI_table table td {
	padding: 10px;
}

.pI_table table td.w33 {
	width: 33%;
}

.pI_table table td.w50 {
	width: 50%;
}



/*-----------------------------------------------
effect
-----------------------------------------------*/
.recruitDetailItem {
	-webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}

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

@media screen and (max-width: 767px) {
	.l_main {
		padding: 0;
	}

	.l_con,
	.m_con {
		width: calc(100% - 4rem);
	}

	.sBody {
		margin-top: 2rem;
	}

	.l_main>section:not(:first-child) {
		margin-top: 9rem;
	}

	p,
	td,
	label,
	div,
	ul,
	li,
	strong,
	input,
	a {
		font-size: 1.4rem;
	}

	main {
		margin-top: 0;
	}

	.secTitle p {
		font-size: 1.4rem;
		margin-top: 0.6rem;
		line-height: 1.2;
	}

	.secBody,
	.secAct {
		margin-top: 6rem;
	}

	/*-----------------------------------------------
	top
	-----------------------------------------------*/
	.mainFvImg {
		height: 59.2rem;
	}

	.topFvImg {
		content: url(img/top/fv_sp.jpg);
	}

	.mainFvInfo h1 {
		font-size: 2.8rem;
		letter-spacing: 0;
	}

	.mainFvInfo p {
		font-size: 1.4rem;
		margin-top: 2rem;
	}

	.topSection {
		display: block;
	}

	.topSectionInfo,
	.topSectionMedia {
		width: 100%;
	}

	.topSectionInfo,
	.topSectionReserve .topSectionInfo {
		padding-left: 2rem;
		padding-right: 2rem;
	}

	.topSectionInfoDetail p {
		text-align: left;
		margin-top: 2rem;
	}

	.topSectionMediaImg {
		position: relative;
	}

	.topService h2 {
		color: black;
	}

	.secDesc {
		text-align: left;
	}

	.topServiceList {
		display: block;
	}

	.topServicMark {
		line-height: 15rem;
		margin: auto;
		text-align: center;
	}

	.topServiceItem {
		width: 100%;
		height: auto;
		padding: 5rem 2rem;
	}

	.topServiceItem p {
		text-align: left;
		width: 100%;
	}

	.consultationList {
		display: block;
	}

	.consultationItem {
		width: 100%;
	}

	.consultationItemImg {
		width: 23rem;
		margin: auto;
	}

	.consultationList>li:not(:first-child) {
		margin-top: 6.7rem;
		margin-left: 0;
	}

	.consultationList>li:not(:first-child):before {
		left: calc(50% - 1.675rem);
		top: -5rem;
		transform: rotate(90deg);
	}

	.insurance {
		margin-top: 0 !important;
		border-top: none;
		padding-bottom: 7rem;
	}

	.insuranceItemList,
	.insuranceItemDetail {
		display: block;
		margin: 0;
		width: 100%;
	}

	.insuranceItemList>li:not(:first-child) {
		margin-top: 2.5rem;
	}

	.insuranceItemInfo {
		margin-top: 2rem;
	}

	.companyMap iframe {
		margin-left: -2rem;
		margin-right: -2rem;
		width: calc(100% + 4rem);
	}

	.companyTbl {
		display: block;
		margin-left: -0.8rem;
		margin-right: -0.8rem;
		width: calc(100% + 1.6rem);
	}

	.companyTblItem,
	.companyTblItem tbody {
		display: block;
		width: 100%;
	}

	.companyTblItem {
		border: none;
	}

	.companyTblItem tr,
	.companyTblItem td,
	.companyTblItem tr>td:first-child {
		display: block;
		width: 100%;
		border-bottom: 0;
		padding: 0;
		text-align: center;
	}

	.companyTblItem tr {
		padding: 2rem 0;
		border-bottom: 1px dashed black;
	}

	.companyTbl {
		border-top: 1px dashed black;
	}

	/*-----------------------------------------------
	greeting
	-----------------------------------------------*/
	.greetingFvImg {
		content: url(img/greeting/fv_sp.jpg);
	}

	.subPage .mainFvInfo p {
		font-size: 1.4rem;
		margin-top: 1.5rem;
	}

	.subPage .mainFvInfo h1 {
		padding-bottom: 1.5rem;
		width: 28rem;
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
		text-align: center;
	}

	.principleInfo,
	.missionInfo {
		position: relative;
		padding: 9rem 0;
	}

	.missionDesc {
		font-size: 2rem;
		line-height: 1.5;
		text-align: left;
	}

	.missionImg {
		height: auto;
		content: url(img/greeting/mission_sp.jpg);
	}

	.principleImg {
		height: auto;
		content: url(img/greeting/principle_sp.jpg);
	}

	.principleDesc {
		text-align: left;
	}

	.principle {
		margin-top: 0 !important;
	}

	.vision {
		margin-top: 0;
	}

	.vision .l_con {
		width: calc(100% - 4rem);
	}

	.secTitleWrapper .secTitleMark {
		position: static;
		height: 5rem;
		display: block;
		margin: auto;
		margin-bottom: 1rem;
	}

	.greetingItem h3 {
		font-size: 2.3rem;
		letter-spacing: 0;
	}

	.greetingItem {
		padding: 2rem 1.5rem;
	}

	.greetingItem p {
		text-align: left;
		letter-spacing: 0.01rem;
	}

	.greetingList>li:not(:first-child):before {
		font-size: 5rem;
		top: -7.5rem;
		left: calc(50% - 2.5rem);
	}

	.greetingList>li:not(:first-child) {
		margin-top: 10rem;
	}

	.principleDesc,
	.insurerDesc {
		text-align: left;
	}

	/*-----------------------------------------------
	greeting
	-----------------------------------------------*/
	.serviceFvImg {
		content: url(img/service/fv_sp.jpg);
	}

	.information {
		padding-top: 9rem;
	}

	.information .l_con {
		width: calc(100% - 4rem);
	}

	.serviceSecDesc {
		margin-top: 3rem;
	}

	.businessFlowStep1Detail {
		width: 15.4rem;
		padding: 5rem 0;
	}

	.businessFlowStep1Detail h5 {
		padding: 2rem;
		font-size: 1.7rem;
	}

	.businessFlowStep1Detail ol {
		padding: 3.5rem 1rem;
		border-radius: 1rem;
		min-height: 25rem;
	}

	.businessFlowStep1Detail:before,
	.businessFlowStep2:before {
		left: calc(50% - 1.5rem);
		width: 3rem;
		height: calc(100% - 3rem);
	}

	.businessFlowStep1Detail:after,
	.businessFlowStep2:after {
		border-left: 3.6rem solid transparent;
		border-right: 3.6rem solid transparent;
		border-top: 3.6rem solid #9CC1DB;
		left: calc(50% - 3.6rem);
	}

	.businessFlowStep2 p {
		width: 100%;
		padding: 3rem;
	}

	.businessFlowStep2 {
		padding-bottom: 10rem;
	}

	.businessTbl table th,
	.businessTbl table td {
		padding: 3rem 0;
	}

	.businessTbl table {
		width: 100%;
	}

	/*-----------------------------------------------
	voice
	-----------------------------------------------*/
	.voiceFvImg {
		content: url(img/voice/fv_sp.jpg);
	}

	.voiceItemTtlMark {
		display: block;
		width: 10rem;
		margin: auto;
		position: relative;
	}

	.voiceItemTtl {
		padding: 0;
	}

	.voiceItemTtl h2 {
		margin-top: 3.8rem;
		font-size: 2rem;
	}

	.voiceItemInfo {
		margin-top: 4rem;
		padding: 5rem 2rem;
	}

	.voiceList {
		padding: 10rem 0;
	}

	/*-----------------------------------------------
	policy
	-----------------------------------------------*/
	.policyInfo dt {
		font-size: 2rem;
	}

	/*-----------------------------------------------
	policy
	-----------------------------------------------*/
	.contactForm {
		margin-top: 5rem;
	}

	.contactFormData {
		padding: 5rem 2rem;
	}

	.contactDataItem {
		display: block;
	}

	.contactDataItem>label,
	.contactDataItemControl {
		width: 100%;
	}

	.formInput {
		width: 100%;
	}

	.contactDataItemControl {
		margin-top: 2.3rem;
	}

	.contactDataItem>label span {
		float: none;
		margin-left: 2.2rem;
		display: inline-block;
	}

	.formTextArea {
		height: 38.8rem;
	}

	.contactFormAct {
		display: block;
	}

	.contactFormAct .btn {
		margin: 0 auto;
		display: block;
		width: 29rem;
	}

	.contactFormAct>.btn:not(:first-child) {
		margin-top: 10rem;
	}

	.confirmForm .formInput,
	.confirmForm .formTextArea {
		padding: 0;
		height: auto;
	}

	.contactDesc {
		text-align: left;
	}

	.formTable tr>th {
		width: 15rem;
	}

	/*-----------------------------------------------
	thanks
	-----------------------------------------------*/
	.thanksDesc {
		text-align: left;
	}

}