@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#main {
	margin-bottom: 100px;
	overflow: hidden;
}
#main .mainVisual {
	position: relative;
}
#main .mainVisual .bg {
	padding: 90px 0 54px;
	background: url(../img/index/mainvisual_bg.jpg) no-repeat center / cover;
}
#main .mainVisual .mainImg {
	margin: 0 auto 62px;
	max-width: 602px;
}
#main .mainVisual .bg ul {
	margin-bottom: 24px;
	display: flex;
	justify-content: center;
}
#main .mainVisual .bg ul li {
	margin: 0 31px;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 358px;
	height: 118px;
	font-family: 'Noto Serif JP', serif;
	font-size: 2.4rem;
	line-height: 1.55;
	letter-spacing: 2px;
	color: #fff;
	background: url(../img/index/mainvisual_icon01.png) no-repeat left 4px top 4px,url(../img/index/mainvisual_icon02.png) no-repeat right 4px top 4px;
	background-color: rgba(16,11,8,0.702);
}
#main .mainVisual .bg ul li:nth-child(2) {
	font-size: 2.2rem;
}
#main .mainVisual .bg ul li  span {
	font-size: 2.8rem;
	color: rgb(233, 212, 113);
	letter-spacing: 0;
}
#main .mainVisual .bg p {
	text-align: center;
	color: #fff;
	font-size: 2rem;
	letter-spacing: 1px;
}
#main .mainVisual .bg ul li:before,
#main .mainVisual .bg ul li:after {
	position: absolute;
	width: 370px;
	height: 130px;
	box-sizing: border-box;
	border: 1px solid rgb(204, 187, 107);
	content: "";
}
#main .mainVisual .bg ul li:before {
	left: -1px;
	top: -1px;
}
#main .mainVisual .bg ul li:after {
	right: -1px;
	bottom: -1px;
}
#main .qaBox {
	padding: 72px 0 58px;
	position: relative;
	background: url(../img/common/com_bg01.jpg) no-repeat center / cover;
}
#main .qaBox .content {
	position: relative;
	z-index: 1
}
#main .qaBox:before {
	position: absolute;
	right: 0;
	top: 0;
	width: 373px;
	height: 310px;
	background: url(../img/common/com_bg03.png) no-repeat center;
	content: "";
}
#main .qaBox h2 {
	margin-bottom: 44px;
}
#main .qaBox .qBox {
	margin: 0 auto 39px;
	padding: 34px 90px 41px;
	max-width: 840px;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #fff;
	box-shadow: 0 0 10px rgba(0,0,0,0.1);
	box-sizing: border-box;
	position: relative;
}
#main .qaBox .qBox:after {
	margin-left: -17px;
	position: absolute;
	left: 50%;
	top: 100%;
	border: 17px solid transparent;
	border-top: 23px solid #fff;
	content: "";
}
#main .qaBox .qBox p {
	font-size: 2.4rem;
	line-height: 1.5;
	font-weight: 300;
}
#main .qaBox .qBox .img {
	margin-right: 15px;
	width: 54px;
	flex-shrink: 0;
}
#main .qaBox .aBox h3 {
	margin-bottom: 21px;
	text-align: center;
	font-size: 4.6rem;
	display: flex;
	justify-content: center;
	align-items: center;
	font-family: 'Noto Serif JP', serif;
	color: #8c1313;
	font-weight: 500;
}
#main .qaBox .aBox h3 .icon {
	margin-right: 8px;
	line-height: 0;
}
#main .qaBox .tableBox {
	margin-bottom: 60px;
}
#main .qaBox .tableBox table {
	width: 100%;
	border-collapse: collapse;
}
#main .qaBox .tableBox table th,
#main .qaBox .tableBox table td {
	padding: 13px 31px;
	border: 1px solid #000;
	text-align: center;
	font-weight: 400;
	box-sizing: border-box;
}
#main .qaBox .tableBox table td {
	width: 170px;
}
#main .qaBox .tableBox table tr:first-child th:first-child {
	border-left-color: #000;
}
#main .qaBox .tableBox table tr:first-child th:last-child {
	border-right-color: #000;
}
#main .qaBox .tableBox table tr th {
	background-color: #fff;
	text-align: left;
}
#main .qaBox .tableBox table tr:first-child th {
	padding: 8px 0;
	background-color: #000;
	color: #fff;
	border-left: 1px solid #fff;
	border-right: 1px solid #fff;
	text-align: center;
}
#main .qaBox .tableBox table tr th.bg01 {
	background-color: #8c1313;
	border-bottom-color: #8c1313;
}
#main .qaBox .tableBox table span {
	color: #8c1313;
}
#main .qaBox .bgBox {
	padding: 42px 95px 32px;
	margin: 0 auto 53px;
	max-width: 840px;
	z-index: 2;
	background-color: #8c1313;
	position: relative;
	color: #fff;
	box-sizing: border-box;
	font-family: 'Noto Serif JP', serif;
}
#main .qaBox .bgBox:before {
	position: absolute;
	left: 10px;
	top: 10px;
	bottom: 10px;
	right: 10px;
	border: 2px solid #fff;
	z-index: -1;
	content: "";
}
#main .qaBox .bgBox .ttl {
	font-size: 3.6rem;
	line-height: 1.39;
}
#main .qaBox .bgBox .lineTxt {
	font-size: 6rem;
	line-height: 1.16;
}
#main .qaBox .bgBox .lineTxt span {
	position: relative;
	display: inline-block;
}
#main .qaBox .bgBox .lineTxt span:after {
	position: absolute;
	bottom: -2px;
	left: 0;
	right: 0;
	border-bottom: 2px solid #fff;
	content: "";
}
#main .qaBox .bgBox .lineTxt .small {
	font-size: 4.6rem;
}
#main .qaBox .bgBox .img {
	position: absolute;
	right: 33px;
	bottom: 0;
}
#main .qaBox .bgBox:after {
	margin-left: -17px;
	position: absolute;
	left: 50%;
	top: 100%;
	border: 17px solid transparent;
	border-top: 23px solid #8c1313;
	content: "";
}
#main .qaBox .pointList {
	display: flex;
	justify-content: space-between;
}
#main .qaBox .pointList li {
	width: 312px;
	position: relative;
}
#main .qaBox .pointList li .icon {
	position: absolute;
	left: 15px;
	top: -30px;
}
#main .qaBox .pointList li .photo {
	margin-bottom: 13px;
}
#main .qaBox .pointList li p {
	font-weight: 300;
}
#main .qaBox .pointList li p span {
	font-weight: 500;
	color: #8c1313;
}
#main .lawBox {
	padding: 91px 0 80px;
	background: url(../img/index/law_bg.jpg) no-repeat center / cover;
}
#main .lawBox .imgBox {
	margin-bottom: 43px;
	display: flex;
	justify-content: space-between;
}
#main .lawBox .imgBox .photo {
	margin-left: -28px;
	flex-shrink: 0;
}
#main .lawBox .imgBox .txtBox {
	margin: 43px -10px 0 -50px;
	display: flex;
	flex-direction: column;
	writing-mode: vertical-rl; 
	writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	-webkit-writing-mode: tb-rl;
}
#main .lawBox .imgBox .txtBox h3 {
	font-size: 4.6rem;
	line-height: 1.6;
	color: rgb(232, 212, 114);
	font-weight: 500;
	font-family: 'Noto Serif JP', serif;
}
#main .lawBox .imgBox .txtBox h3 .big {
	font-size: 6rem;
	line-height: 1.3;
}
#main .lawBox .imgBox .txtBox h3 .icon {
	writing-mode: horizontal-tb;
	writing-mode: lr-tb;
	-webkit-writing-mode: lr-tb;
	-webkit-writing-mode: tb-rl;
	-ms-writing-mode: lr-tb;
	line-height: 1;
}
#main .lawBox .imgBox .txtBox h3 > span {
	display: inline-block;
	border-left: 2px solid rgb(232, 212, 114);
}
#main .lawBox .imgBox .txtBox p {
	margin-right: 20px;
	font-size: 2rem;
}
#main .lawBox .imgBox .txtBox p span {
	padding: 8px 0;
	margin: 0 5px;
	background-color: #000;
	color: #fff;
	font-weight: 400;
	display: inline-block;
}
#main .lawBox .imgBox .txtBox p span em {
	writing-mode: horizontal-tb; 
	-webkit-writing-mode: horizontal-tb; 
	-moz-writing-mode: horizontal-tb; 
	-ms-writing-mode: lr-tb;
	line-height: 1;
	width: 0.5em;
	word-break: break-all;
	font-style: normal;
}
#main .lawBox .txtList {
	margin: 0 -16px 52px;
	display: flex;
	justify-content: center;
}
#main .lawBox .txtList li {
	margin: 0 27px;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	width: 100%;
	height: 201px;
	font-family: 'Noto Serif JP', serif;
	font-size: 2.4rem;
	line-height: 1.55;
	letter-spacing: 2px;
	color: #fff;
	background: url(../img/index/mainvisual_icon01.png) no-repeat left 4px top 4px,url(../img/index/mainvisual_icon02.png) no-repeat right 4px top 4px;
	background-color: rgba(16,11,8,0.702);
}
#main .lawBox .txtList li:nth-child(2) {
	font-size: 2.2rem;
}
#main .lawBox .txtList li .color {
	font-size: 2.8rem;
	color: rgb(233, 212, 113);
	letter-spacing: 0;
}
#main .lawBox .txtList li:before,
#main .lawBox .txtList li:after {
	position: absolute;
	box-sizing: border-box;
	border: 1px solid rgb(204, 187, 107);
	content: "";
}
#main .lawBox .txtList li:before {
	left: -1px;
	top: -1px;
	right: -10px;
	bottom: -10px;
}
#main .lawBox .txtList li:after {
	right: -1px;
	bottom: -1px;
	top: -10px;
	left: -10px;
}
#main .lawBox .txtList li.small {
	font-size: 1.6rem;
}
#main .lawBox .txtList li.small span {
	line-height: 1.14;
}
#main .lawBox .comLinkList a {
	border: 1px solid #fff;
}
#main .troubleBox {
	padding: 72px 0 80px;
	position: relative;
	background: url(../img/common/com_bg01.jpg) no-repeat center / cover;
}
#main .troubleBox .content {
	position: relative;
	z-index: 1
}
#main .troubleBox:before {
	position: absolute;
	right: 0;
	top: 0;
	width: 373px;
	height: 310px;
	background: url(../img/common/com_bg03.png) no-repeat center;
	content: "";
}
#main .troubleBox .txtList {
	padding: 53px 81px 111px;
	margin: 0 80px -55px 0;
	background-color: rgba(255,255,255,0.8);
	position: relative;
}
#main .troubleBox .txtList li {
	padding-left: 46px;
	font-size: 2.4rem;
	line-height: 1.5;
	font-weight: 300;
	background: url(../img/index/trouble_icon.png) no-repeat left top 2px;
}
#main .troubleBox .txtList li:not(:last-child) {
	margin-bottom: 24px;
}
#main .troubleBox .txtList:after {
	position: absolute;
	right: -56px;
	bottom: 24px;
	width: 221px;
	height: 418px;
	background: url(../img/index/trouble_photo01.png) no-repeat center;
	content: "";
}
#main .troubleBox .photoBox {
	margin-bottom: 84px;
	position: relative;
}
#main .troubleBox .photoBox .img {
	margin: 0 0 0 auto;
	width: 800px;
}
#main .troubleBox .photoBox h3 {
	position: absolute;
	bottom: -25px;
	left: 80px;
	font-family: 'Noto Serif JP', serif;
	color: rgb(140, 19, 19);
	line-height: 1.5;
	font-size: 3.6rem;
	font-weight: 400;
}
#main .troubleBox .photoBox h3 span {
	padding: 0 10px;
	display: inline-block;
	background-color: #fff;
	line-height: 1.33;
}
#main .troubleBox .comLinkList {
	margin-bottom: 31px;
}
 #main .troubleBox .comLinkList a {
	border: 1px solid #fff;
}
#main .troubleBox .btmBtn a {
	padding: 5px 47px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	width: 560px;
	height: 70px;
	font-size: 2.4rem;
	color: #fff;
	background: #000;
	box-sizing: border-box;
	position: relative;
}
#main .troubleBox .btmBtn a:hover {
	opacity: 0.7;
}
#main .troubleBox .btmBtn a:before {
	margin-top: -5px;
	position: absolute;
	left: 29px;
	top: 50%;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	background-color: #fff;
	content: "";
}
#main .troubleBox .btmBtn a:after {
	margin-top: -14px;
	position: absolute;
	right: 30px;
	top: 50%;
	width: 22px;
	height: 28px;
	background: url(../img/index/trouble_icon02.png) no-repeat center;
	content: "";
}
#main .divisionBox {
	padding: 69px 0 77px;
	background: url(../img/common/com_bg02.png);
}
#main .divisionBox h2 {
	margin-bottom: 35px;
}
#main .divisionBox .topTxt {
	margin-bottom: 13px;
	font-size: 2rem;
	line-height: 1.6;
	text-align: center;
	font-weight: 300;
}
#main .divisionBox .h3Ttl {
	margin-bottom: 69px;
	text-align: center;
	font-size: 4.6rem;
	font-weight: 400;
	font-family: 'Noto Serif JP', serif;
}
#main .divisionBox .h3Ttl span {
	color: #8c1313;
	text-decoration: underline;
}
#main .divisionBox .ListBox {
	padding: 75px 57px 55px;
	margin: 0 auto 9px;
	max-width: 840px;
	background-color: rgba(255,255,255,0.5);
	position: relative;
	box-sizing: border-box;
}
#main .divisionBox .ListBox:after {
	margin-left: -17px;
	position: absolute;
	left: 50%;
	top: 100%;
	border: 17px solid transparent;
	border-top: 23px solid rgba(255,255,255,0.5);
	content: "";
}
#main .divisionBox .ListBox .headLine01 {
	padding: 5px 75px;
	position: absolute;
	left: 50%;
	top: -34px;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-o-transform: translateX(-50%);
	font-family: 'Noto Serif JP', serif;
}
#main .divisionBox .ListBox ul {
	font-size: 2.4rem;
	line-height: 1.5;
	font-weight: 300;
}
#main .divisionBox .ListBox ul li {
	margin-bottom: 26px;
	position: relative;
}
#main .divisionBox .ListBox ul li:last-child {
	margin-bottom: 0;
}
#main .divisionBox .ListBox ul li:before {
	position: absolute;
	left: -18px;
	top: 15px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	content: "";
	background-color: #8c1313;
}
#main .divisionBox .ListBox ul span {
	font-weight: 500;
	color: #8c1313;
}
#main .divisionBox .ListBox .img {
	position: absolute;
	right: 56px;
	bottom: 61px;
}
#main .divisionBox .comLinkList {
	margin: 0;
}
#main .heirBox {
	padding: 83px 0 80px;
}
#main .heirBox h2 {
	font-size: 4.6rem;
	letter-spacing: -1px;
}
#main .heirBox .innerBox {
	margin: 0 auto;
	max-width: 840px;
	font-weight: 300;
}
#main .heirBox .topTxt {
	margin-bottom: 70px;
	padding-left: 78px;
	background: url(../img/index/heir_icon01.png) no-repeat left center;
}
#main .heirBox .bgBox {
	padding: 76px 80px 55px 123px;
	position: relative;
	background-color: rgb(236, 231, 217);
	box-shadow: 0 0 10px rgba(0,0,0,0.1);
}
#main .heirBox .bgBox:before {
	position: absolute;
	left: 40px;
	top: 64px;
	width: 64px;
	height: 64px;
	background: url(../img/index/heir_icon02.png) no-repeat center;
	content: "";
}
#main .heirBox .bgBox:after {
	margin-left: -17px;
	position: absolute;
	top: 100%;
	left: 50%;
	border: 17px solid transparent;
	border-top: 23px solid rgb(236, 231, 217);
	content: "";
}
#main .heirBox .headLine01 {
	position: absolute;
	top: -35px;
	left: 50%;
	word-break: keep-all;
	font-family: 'Noto Serif JP', serif;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-o-transform: translateX(-50%);
}
#main .heirBox .bgBox p {
	margin-bottom: 1.5em;
	font-size: 2.4rem;
	font-weight: 300;
	line-height: 1.5;
}
#main .heirBox .bgBox p span {
	font-weight: 500;
	color: #8c1313;
}
#main .heirBox .bgBox p:last-child {
	margin-bottom: 0;
}
#main .bookBox {
	padding: 60px 0 80px;
	color: #fff;
	background: url(../img/index/book_bg.jpg) no-repeat center / cover;
}
#main .bookBox .content {
	max-width: 840px;
}
#main .bookBox h2 {
	margin-bottom: 34px;
	color: #e9d471;
}
#main .bookBox h2 span {
	background-image: url(../img/common/h2_bg03.png);
}
#main .bookBox h2 span:after {
	background-image: url(../img/common/h2_bg04.png);
}
#main .bookBox .topTxt {
	text-align: center;
	font-size: 2.4rem;
	font-weight: 300;
}
#main .bookBox .topTxt span {
	font-weight: 500;
	color: #e9d471;
}
#main .bookBox .ListBox {
	margin-bottom: 40px;
	padding: 75px 57px 55px;
	margin-top: 64px;
	position: relative;
	color: #000;
	background: #fff url(../img/index/book_bg02.png) no-repeat right 41px top 64px;
}
#main .bookBox .ListBox:before {
	margin-left: -17px;
	position: absolute;
	left: 50%;
	top: 100%;
	border: 17px solid transparent;
	border-top: 23px solid #fff;
	content: "";
}
#main .bookBox .ListBox .headLine01 {
	position: absolute;
	left: 50%;
	top: -35px;
	width: 580px;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-o-transform: translateX(-50%);
	font-family: 'Noto Serif JP', serif;
}
#main .bookBox .ListBox ul {
	font-size: 2.4rem;
	line-height: 1.5;
	font-weight: 300;
}
#main .bookBox .ListBox ul li {
	position: relative;
	margin-bottom: 26px;
}
#main .bookBox .ListBox ul li:last-child {
	margin-bottom: 0;
}
#main .bookBox .ListBox ul li:before {
	position: absolute;
	left: -18px;
	top: 15px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	background-color: #8c1313;
	content: "";
}
#main .bookBox .imgBox {
	margin-bottom: 49px;
	display: flex;
	justify-content: center;
	align-items: center;
}
#main .bookBox .imgBox p {
	margin-left: 30px;
	font-size: 3.6rem;
	line-height: 1.67;
	font-family: 'Noto Serif JP', serif;
}
#main .bookBox .h3Ttl {
	margin-bottom: 33px;
	padding: 10px 20px 13px;
	font-family: 'Noto Serif JP', serif;
	background-color: #e9d471;
	font-size: 4.2rem;
	color: #8c1313;
}
#main .bookBox .h3Ttl:before {
	border-color: #4a172c;
}
#main .bookBox .centerTxt {
	margin-bottom: 50px;
	text-align: center;
	font-weight: 300;
}
#main .bookBox .meritList {
	margin: 0 15px 73px;
}
#main .bookBox .meritList li {
	margin-bottom: 50px;
	display: flex;
	align-items: center;
	height: 155px;
	position: relative;
	font-family: 'Noto Serif JP', serif;
	background: url(../img/index/mainvisual_icon01.png) no-repeat left top,url(../img/index/mainvisual_icon02.png) no-repeat right top;
	background-color: rgba(16,11,8,0.702);
}
#main .bookBox .meritList li:before {
	position: absolute;
	left: -5px;
	top: -5px;
	bottom: -15px;
	right: -15px;
	border: 1px solid #ccbb6b;
	content: "";
}
#main .bookBox .meritList li:after {
	position: absolute;
	left: -15px;
	top: -15px;
	bottom: -5px;
	right: -5px;
	border: 1px solid #ccbb6b;
	content: "";
}
#main .bookBox .meritList .lTxt {
	text-align: center;
	width: 120px;
	font-size: 2rem;
	line-height: 1;
}
#main .bookBox .meritList .lTxt .num {
	display: block;
	font-size: 4.6rem;
}
#main .bookBox .meritList .rTxt {
	font-size: 3rem;
	line-height: 1.2;
}
#main .bookBox .meritList .rTxt .color {
	font-size: 3.6rem;
	color: #e9d471;
}
#main .bookBox .meritList .rTxt .small {
	margin-top: 10px;
	font-size: 2rem;
	line-height: 1.5;
	display: block;
}
#main .bookBox .h3Ttl02 {
	margin-bottom: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: 4.6rem;
	font-family: 'Noto Serif JP', serif;
	color: #e9d471;
	font-weight: 500;
	letter-spacing: -1px;
}
#main .bookBox .h3Ttl02 span {
	margin-right: 10px;
	display: inline-flex;
	width: 104px;
	height: 104px;
	align-items: center;
	justify-content: center;
	font-size: 3.3rem;
	color: #8c1313;
	border-radius: 50%;
	background-color: rgb(233, 212, 113);
}
#main .bookBox .imgBox02 {
	margin-bottom: 60px;
	display: flex;
	justify-content: space-between;
}
#main .bookBox .imgBox02 .photo {
	margin-right: 30px;
	flex-shrink: 0;
}
#main .bookBox .imgBox02 p {
	margin-top: -9px;
	font-size: 2rem;
	line-height: 1.6;
	font-weight: 300;
}
#main .bookBox .imgBox02 p span {
	color: #e9d471;
	font-weight: 500;
}
#main .bookBox .redBox {
	margin-bottom: 18px;
	padding: 37px 61px 49px;
	position: relative;
	z-index: 2;
	background-color: #8c1313;
}
#main .bookBox .redBox:before {
	position: absolute;
	left: 10px;
	top: 10px;
	right: 10px;
	bottom: 10px;
	border: 2px solid #fff;
	z-index: -1;
	content: "";
}
#main .bookBox .redBox h4 {
	margin-bottom: 2px;
	color: #e9d471;
	font-weight: 500;
	font-size: 3.6rem;
	font-family: 'Noto Serif JP', serif;
}
#main .bookBox .redBox p {
	font-size: 2.4rem;
	line-height: 1.5;
	font-weight: 300;
}
#main .bookBox .redBox .img {
	position: absolute;
	bottom: 12px;
	right: 24px;
}
#main .bookBox .redBox + .centerTxt {
	margin-bottom: 40px;
	font-size: 2.4rem;
}
#main .bookBox .comContactBox .title {
	color: #e9d471;
}
#main .bookBox .comContactBox p em {
	background-image: url(../img/common/bg01.png),url(../img/common/bg02.png);
}
#main .benefitsBox {
	margin-bottom: 80px;
	padding-top: 73px;
}
#main .benefitsBox h2 {
	font-size: 4.5rem;
	letter-spacing: -5px;
}
#main .benefitsBox h2 span {
	padding: 10px 0 20px 98px;
}
#main .benefitsBox > ul {
	margin: -32px 0 60px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#main .benefitsBox > ul li {
	margin-top: 32px;
	padding: 24px 29px 32px;
	width: calc((100% - 32px) / 2);
	border: 1px solid rgb(91, 78, 10);
	background-color: #fff;
	box-sizing: border-box;
	font-weight: 300;
}
#main .benefitsBox > ul h3 {
	margin-bottom: 10px;
	display: flex;
	align-items: center;
	color: #5b4e0a;
	font-weight: 500;
	font-size: 2.6rem;
	line-height: 1.38;
	font-family: 'Noto Serif JP', serif;
}
#main .benefitsBox > ul li:last-of-type h3 {
	letter-spacing: -1px;
}
#main .benefitsBox > ul h3 .num {
	margin-right: 17px;
	width: 82px;
}
#main .benefitsBox > ul p span {
	color: #8C1313;
	font-weight: 500;
}
#main .benefitsBox .textBox {
	margin-bottom: 50px;
	padding: 40px 63px 48px;
	background-color: #8C1313;
	position: relative;
	color: #fff;
	font-size: 2.4rem;
	font-weight: 300;
	line-height: 1.5;
}
#main .benefitsBox .textBox::after {
	position: absolute;
	left: 10px;
	top: 10px;
	right: 10px;
	bottom: 10px;
	border: 2px solid #fff;
	content: '';
}
#main .benefitsBox .textBox .photo {
	position: absolute;
	right: 23px;
	top: -48px;
	z-index: 5;
}
#main .benefitsBox .comLinkList {
	margin: 0;
}
#main .feeBox {
	padding: 69px 0 80px;
	background: url(../img/common/com_bg02.png) repeat left top;
}
#main .feeBox .textBox {
	margin: 0 auto;
	padding: 45px 40px 50px;
	width: 84%;
	box-sizing: border-box;
	border: 1px solid rgb(91, 78, 10);
	background-color: rgba(255, 255, 255, 0.502);
}
#main .feeBox .textBox h3 {
	margin-bottom: 9px;
	color: #8C1313;
	font-size: 4.2rem;
	font-weight: 500;
	text-align: center;
	font-family: 'Noto Serif JP', serif;
}
#main .feeBox .textBox .feeList {
	margin: -6px 0 13px;
	padding: 18px 0 24px;
	display: flex;
	flex-wrap: wrap;
	background: url(../img/index/fee_bg01.png) repeat-x left top,url(../img/index/fee_bg01.png) repeat-x left bottom;
}
#main .feeBox .textBox .feeList li {
	margin-top: 6px;
	width: 47.5%;
	display: flex;
	align-items: center;
	color: #5b4e0a;
	font-size: 4.6rem;
	font-family: 'Noto Serif JP', serif;
}
#main .feeBox .textBox .feeList span {
	margin-right: 16px;
	padding: 5px 10px 5px;
	width: 150px;
	display: inline-block;
	color: #fff;
	font-size: 2rem;
	text-align: center;
	box-sizing: border-box;
	background-color: #8D1214;
	font-family: 'Noto Sans JP', sans-serif;
}
#main .feeBox .textBox .feeList small {
	font-size: 3rem;
}
#main .feeBox .textBox .feeList .list01 {
	width: 100%;
	display: flex;
	align-items: flex-start;
}
#main .feeBox .textBox .feeList .list01 span {
	margin: 10px 10px 0 0;
}
#main .feeBox .textBox .feeList .list01 .txt {
	margin: 0;
	padding: 0;
	width: calc(100% - 160px);
	background-color: inherit;
	color: #000;
	font-size: 2.4rem;
	text-align: left;
	font-weight: 300;
}
#main .feeBox .textBox .feeList .list01 .txt strong {
	display: inline;
	color: #8C1313;
	font-style: normal;
	font-weight: 500;
}
#main .feeBox .textBox .textList {
	margin-bottom: 38px;
}
#main .feeBox .textBox .textList:last-of-type {
	margin-bottom: 0;
}
#main .feeBox .textBox .textList li {
	padding-left: 25px;
	background: url(../img/index/form_bg02.png) no-repeat left top 8px;
	font-weight: 300;
}
#main .messageBox {
	margin-bottom: 68px;
	padding: 79px 0 80px;
	background: url(../img/index/message_bg01.png) no-repeat right top / cover;
}
#main .messageBox h2 {
	margin-bottom: 28px;
}
#main .messageBox .imgBox {
	display: flex;
	justify-content: space-between;
}
#main .messageBox .imgBox .photoBox {
	width: 47.8%;
	order: -1;
}
#main .messageBox .imgBox .textBox {
	width: 46.3%;
	position: relative;
}
#main .messageBox .imgBox .textBox .photo {
	position: absolute;
	right: -18px;
	bottom: 15px;
}
#main .messageBox .imgBox .textBox p {
	width: 100%;
	height: 564px;
	color: #5b4e0a;
	font-size: 2.4rem;
	text-align: left;
	writing-mode: tb-rl;
	line-height: 3.2;
	letter-spacing: 1px;
	font-family: 'Noto Serif JP', serif;
	background: url(../img/index/message_bg02.png) repeat left top / 16.63% auto;
}
#main .messageBox .imgBox .textBox p span {
	display: inline-block;
	transform: rotate(-90deg);
}
#main .flowBox {
	margin-bottom: 82px;
	padding: 0 80px;
	box-sizing: border-box;
}
#main .flowBox .headLine01 {
	margin-bottom: 13px;
	padding: 3px 20px 15px ;
	font-size: 4.2rem;
	line-height: 1.2;
}
#main .flowBox .headLine01 small {
	display: inline-block;
	font-size: 3rem;
}
#main .flowBox  h4 {
	margin-bottom: 14px;
	color: #5b4e0a;
	font-size: 4.2rem;
	font-weight: 400;
	text-align: center;
	font-family: 'Noto Serif JP', serif;
}
#main .flowBox  h4 span {
	display: block;
	color: #000;
	font-size: 2rem;
}
#main .flowBox .contactBox {
	margin-bottom: 63px;
	padding: 34px 40px 20px;
	position: relative;
	border: 1px solid rgb(91, 78, 10);
	background-color: #fff;
}
#main .flowBox .contactBox::after {
	width: 34px;
	height: 22px;
	position: absolute;
	left: 50%;
	bottom: -42px;
	transform: translateX(-50%);
	background: url(../img/common/icon02.png) no-repeat center center / 100% 100%;
	content: '';
}
#main .flowBox .contactBox .text {
	margin-bottom: 45px;
	padding-left: 67px;
	font-weight: 300;
	background: url(../img/index/flow_bg01.png) no-repeat left center;
}
#main .flowBox .contactBox .text span {
	display: inline-block;
	color: #8C1313;
}
#main .flowBox .contactBox .zoomBox {
	padding-bottom: 55px;
	display: none;
}
#main .flowBox .contactBox .zoomBox .title {
	margin-bottom: 21px;
	color: #5b4e0a;
	font-size: 3.6rem;
	text-align: center;
	font-family: 'Noto Serif JP', serif;
}
#main .flowBox .contactBox .zoomBox .title small {
	display: block;
	font-size: 3rem;
	letter-spacing: 1px;
	line-height: 1.4;
}
#main .flowBox .contactBox .zoomBox .stepList {
	margin-bottom: 26px;
}
#main .flowBox .contactBox .zoomBox .stepList li {
	margin-bottom: 10px;
	padding: 25px 40px;
	background-color: #ECE7D9;
	display: flex;
	align-items: center;
	letter-spacing: 2px;
	font-weight: 300;
}
#main .flowBox .contactBox .zoomBox .stepList li span {
	margin-right: 20px;
	width: 50px;
	display: inline-block;
	font-size: 4.6rem;
	line-height: 1.1;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
}
#main .flowBox .contactBox .zoomBox .stepList li span  small {
	display: block;
	font-size: 2rem;
}
#main .flowBox .contactBox .zoomBox .textList > li {
	padding-left: 25px;
	font-weight: 300;
	background: url(../img/index/form_bg02.png) no-repeat left top 8px;
}
#main .flowBox .contactBox .zoomBox .textList li a {
	text-decoration: underline;
}
#main .flowBox .contactBox .zoomBox .textList li a:hover {
	text-decoration: none;
}
#main .flowBox .contactBox .zoomBox .textList ul {
	margin: 13px 0 12px;
}
#main .flowBox .contactBox .zoomBox .textList ul li {
	margin-right: 10px;
	display: inline-block;
}
#main .flowBox .contactBox .zoomBox .textList ul li:last-of-type {
	margin-right: 0;
}
#main .flowBox .contactBox .zoomBox .textList ul li a {
	display: block;
}
#main .flowBox .contactBox .zoomBox .textList ul li a:hover {
	opacity: 0.7;
}
#main .flowBox .contactBox .zoomBox .textList p {
	letter-spacing: 1.5px;
}
#main .flowBox .contactBox .button {
	margin: 0 -20px;
}
#main .flowBox .contactBox .button a {
	padding: 5px 40px 11px;
	display: block;
	position: relative;
	color: #fff;
	font-size: 2.8rem;
	font-weight: 700;
	text-align: center;
	background: #8D1214 url(../img/index/flow_bg02.png) no-repeat right 28px center;
}
#main .flowBox .contactBox .button a:hover {
	opacity: 0.7;
}
#main .flowBox .contactBox .button a::after {
	width: 10px;
	height: 6px;
	position: absolute;
	right: 34px;
	top: calc(50% - 4px);
	background: url(../img/common/icon03.png) no-repeat center center / 100% 100%;
	content: '';
}
#main .flowBox .contactBox .button .close {
	display: none;
}
#main .flowBox .contactBox .button.on .open {
	display: none;
}
#main .flowBox .contactBox .button.on .close {
	display: block;
}
#main .flowBox .contactBox .button .open::after {
	top: calc(50% - 2px);
	transform: rotate(-180deg);
}
#main .flowBox .head01 {
	margin-bottom: 23px;
}
#main .flowBox > dl {
	margin: 0 auto 57px;
	position: relative;
	width: 530px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#main .flowBox > dl::after {
	width: 34px;
	height: 22px;
	position: absolute;
	left: 50%;
	bottom: -38px;
	transform: translateX(-50%);
	background: url(../img/common/icon02.png) no-repeat center center / 100% 100%;
	content: '';
}
#main .flowBox > dl dt {
	padding-right: 10px;
	width: 150px;
	box-sizing: border-box;
	font-weight: 500;
}
#main .flowBox > dl dd {
	width: calc(100% - 150px);
	font-weight: 300;
}
#main .flowBox .head02 {
	margin-bottom: 9px;
}
#main .flowBox .time {
	margin-bottom: 13px;
	text-align: center;
}
#main .flowBox .time span {
	padding: 0 25px 0 55px;
	color: #e9d471;
	font-size: 3.2rem;
	font-family: 'Noto Serif JP', serif;
	line-height: 1.4;
	background: #8C1313 url(../img/index/flow_bg03.png) no-repeat left 20px center;
}
#main .flowBox .text01 {
	margin-bottom: 63px;
	text-align: center;
	font-weight: 300;
}
#main .caseBox {
	padding: 75px 0 80px;
	background: url(../img/common/com_bg02.png) repeat left top;
}
#main .caseBox  h2 span {
	padding-top: 10px;
	font-size: 4.6rem;
}
#main .caseBox .inheritance {
	margin: 0 auto 60px;
	width: 84%;
}
#main .caseBox .headLine01 span {
	background: url(../img/index/h3_bg01.png) no-repeat left center;
}
#main .caseBox .caseDl {
	margin-bottom: 10px;
	padding: 23px 40px 23px;
	border: 1px solid  rgb(91, 78, 10);
	background-color: rgba(255, 255, 255, 0.502);
}
#main .caseBox .inheritance dl:last-of-type {
	margin-bottom: 0;
}
#main .caseBox .caseDl > dd,
#main .caseBox .caseDl > dt {
	display: flex;
}
#main .caseBox .caseDl > dd .en,
#main .caseBox .caseDl > dt .en {
	margin-right: 20px;
	width: 54px;
}
#main .caseBox .caseDl > dd span,
#main .caseBox .caseDl > dt span {
	width: calc(100% - 134px);
	font-weight: 300;
	display: inline-block;
	vertical-align: top;
} 
#main .caseBox .caseDl > dt {
	position: relative;
	font-size: 2.4rem;
	line-height: 1.5;
	align-items: center;
	background: url(../img/index/case_photo02.png) no-repeat right center;
	cursor: pointer;
}
#main .caseBox .caseDl > dt::before,
#main .caseBox .caseDl > dt::after {
	width: 20px;
	height: 2px;
	position: absolute;
	right: 14px;
	top: calc(50% - 1px);
	background-color: #8C1313;
	content: '';
}
#main .caseBox .caseDl > dt::before {
	transform: rotate(-90deg);
	transition: .3s;
	-webkit-transition: .3s;
	-moz-transition: .3s;
	-ms-transition: .3s;
	-o-transition: .3s;
	-webkit-transform: rotate(-90deg);
	-moz-transform: rotate(-90deg);
	-ms-transform: rotate(-90deg);
	-o-transform: rotate(-90deg);
}
#main .caseBox .caseDl > dt.on::before {
	transform: rotate(0);
	-webkit-transform: rotate(0);
	-moz-transform: rotate(0);
	-ms-transform: rotate(0);
	-o-transform: rotate(0);
}
#main .caseBox .caseDl > dd {
	margin-top: 24px;
	padding-top: 25px;
	flex-wrap: wrap;
	border-top: 1px solid rgb(91, 78, 10);
	display: none;
}
#main .caseBox .caseDl > dd .en {
	padding-top: 5px;
}
#main .caseBox .caseDl dl {
	margin: 15px 0 0 74px;
	display: flex;
	flex-wrap: wrap;
}
#main .caseBox .caseDl dl dd,
#main .caseBox .caseDl dl dt {
	padding-right: 10px;
	width: 50%;
	display: flex;
	align-items: center;
	box-sizing: border-box;
}
#main .caseBox .caseDl dl dd {
	padding: 0 0 0 10px;
}
#main .caseBox .will {
	margin-bottom: 0;
}
#main .caseBox .will h3 span {
	background-image: url(../img/index/h3_bg02.png);
}
#main .formBox {
	margin-bottom: 67px;
	padding: 75px 0 80px;
	background: url(../img/common/com_bg01.jpg) no-repeat center center / cover;
}
#main .formBox h2 {
	margin-bottom: 48px;
	font-size: 4.6rem;
	letter-spacing: 0;
}
#main .formBox h2 span {
	padding-top: 10px;
}
#main .formBox h2 span::after {
	bottom: 3px;
}
#main .formBox .mailForm {
	margin: 0 auto;
	padding: 60px 40px 63px;
	width: 84%;
	border: 1px solid #5B4E0A;
	box-sizing: border-box;
	background-color:  rgba(255, 255, 255, 0.502);
}
#main .formBox .mailForm select,
#main .formBox .mailForm textarea,
#main .formBox .mailForm input {
	padding: 2px 30px;
	width: 100%;
	height: 60px;
	-webkit-appearance: none;
	appearance: none;
	font-size: 2rem;
	border: 1px solid #B5B5B5;
	border-radius: 6px;
	box-sizing: border-box;
	background-color: #fff;
	font-size: 1em;
	color: inherit;
}
select::-ms-expand { display: none; }
#main .formBox .mailForm dl {
	margin-bottom: 16px;
}
#main .formBox .mailForm dt {
	margin-bottom: 12px;
	color: #5b4e0a;
	font-size: 2.4rem;
	line-height: 1.2;
}
#main .formBox .mailForm .dtStyle01 {
	margin-bottom: 25px;
}
#main .formBox .mailForm dt span {
	margin-left: 12px;
	padding: 1px 2px 3px;
	width: 57px;
	display: inline-block;
	color: #fff;
	font-size: 2rem;
	line-height: 1.2;
	box-sizing: border-box;
	text-align: center;
	vertical-align: top;
	background-color: #8C1313;
}
#main .formBox .mailForm dd {
	margin-bottom: 30px;
}
#main .formBox .mailForm .ddStyle02 li {
	margin-right: 25px;
	display: inline-block;
}
#main .formBox .mailForm .ddStyle02 input {
	display: none;
}
#main .formBox .mailForm .ddStyle02 input + span {
	padding-left: 33px;
	background: url(../img/index/form_bg04.png) no-repeat left center;
	cursor: pointer;
}
#main .formBox .mailForm .ddStyle02 input:checked + span {
	background-image: url(../img/index/form_bg05.png);
}
#main .formBox .mailForm .ddStyle01 li {
	margin-bottom: 20px;
	display: flex;
	align-items: center;
}
#main .formBox .mailForm .ddStyle01 li:last-of-type {
	margin-bottom: 0;
}
#main .formBox .mailForm .ddStyle01 span {
	padding-right: 14px;
	width: 135px;
	font-size: 2.4rem;
	box-sizing: border-box;
}
#main .formBox .mailForm .ddStyle01 input {
	padding: 2px 50px 2px 20px;
	background: #fff url(../img/index/form_bg03.png) no-repeat right 29px center;
}
#main .formBox .mailForm dd:last-of-type {
	margin-bottom: 0;
}
#main .formBox .mailForm select {
	padding: 2px 50px 2px 20px;
	background: #fff url(../img/index/form_bg01.png) no-repeat right 28px center;
}
#main .formBox .mailForm textarea {
	height: 250px;
	resize: inherit;
}
#main .formBox .mailForm p {
	margin-bottom: 26px;
	font-weight: 300;
}
#main .formBox .mailForm h3 {
	margin-bottom: 7px;
	letter-spacing: 0.7px;
}
#main .formBox .mailForm .textList {
	margin-bottom: 15px;
	font-weight: 300;
}
#main .formBox .mailForm .textList li {
	padding-left: 25px;
	letter-spacing: 0.4px;
	text-align: justify;
	text-justify: inter-ideograph;
	background: url(../img/index/form_bg02.png) no-repeat left top 8px;
}
#main .formBox .mailForm .agree {
	margin-bottom: 35px;
	text-align: center;
}
#main .formBox .mailForm .agree input {
	display: none;
}
#main .formBox .mailForm .agree input + span {
	padding-left: 25px;
	display: inline-block;
	position: relative;
	cursor: pointer;
	font-size: 3rem;
}
#main .formBox .mailForm .agree input + span:hover {
	opacity: 0.7;
}
#main .formBox .mailForm .agree input + span::before {
	width: 20px;
	height: 20px;
	position: absolute;
	left: 0;
	top: calc(50% - 10px);
	border: 1px solid #000;
	background-color: #fff;
	content: '';
}
#main .formBox .mailForm .agree input:checked + span::before {
	background: #fff url(../img/index/form_icon01.png) no-repeat left center;
	background-size: 20px 20px;
}
#main .formBox .mailForm .submit {
	margin-top: -20px;
}
#main .formBox .mailForm .submit li {
	margin-top: 20px;
	text-align: center;
}
#main .formBox .mailForm .submit input {
	padding: 30px 25px 70px;
	width: 100%;
	color: #fff;
	font-size: 2.8rem;
	font-weight: 600;
	line-height: 1.286;
	letter-spacing: 1px;
	text-shadow: 0px 2px 0px rgba(87, 9, 9, 0.004);
	border-radius: 8px;
	border: none;
	box-sizing: border-box;
	background-image: linear-gradient( to bottom, rgb(168,18,18) 0%, rgb(123,13,13) 100%);
	cursor: pointer;
}
#main .formBox .mailForm .submit input:hover {
	opacity: 0.7;
}
#main .company .photo {
	margin-bottom: 52px;
	text-align: center;
}
#main .company .textBox {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
#main .company .textBox dl {
	margin-right: 40px;
	width: 40%;
	letter-spacing: 1.1px;
}
#main .company .textBox dl:nth-of-type(2n) {
	margin-right: 0;
}
#main .company .textBox dt {
	padding-top: 10px;
	color: #5b4e0a;
	font-size: 2.4rem;
	font-weight: 500;
}
#main .company .textBox dl dt:first-of-type {
	padding-top: 0;
}
#main .company .textBox dd {
	padding: 1px 0 15px;
	border-bottom: 1px solid #5B4E0A;
	font-weight: 300;
}
#main .company .textBox dd a {
	padding: 0 0 3px 35px;
	display: inline-block;
	background: url(../img/index/tel_img01.png) no-repeat left center;
}
@media all and (max-width: 1020px) and (min-width: 768px) {
	#main .lawBox .imgBox .photo {
		width: 60%;
	}
	.comLinkList li a {
		padding: 17px 20px 19px 85px !important;
		font-size: 2.4rem !important;
	}
	#main .troubleBox .comLinkList a .txt {
		font-size: 2.8rem !important;
	}
	.comContactBox .comLinkList {
		margin: 0 calc(430px - 50vw);
	}
	.comContactBox .comLinkList .tel span { 
		font-size: 2.8rem;
	}
	#main .benefitsBox > ul h3 {
		font-size: 2.3rem;
	}
	.comContactBox p em {
		font-size: 4.4rem;
	}
}
@media all and (max-width: 767px) {
	#main {
		margin-bottom: 61px;
	}
	#main .mainVisual {
		padding-top: 28px;
		background-color: #fff;
	}
	#main .mainVisual .bg {
		padding: 67px 0 25px;
		background-image: url(../img/index/sp_mainvisual_bg.jpg);
	}
	#main .mainVisual .mainImg {
		margin: 0 auto 35px;
		width: 274px;
	}
	#main .mainVisual .bg ul {
		margin-bottom: 6px;
	}
	#main .mainVisual .bg ul li {
		margin: 0 9px;
		width: 148px;
		height: 90px;
		font-size: 1.2rem;
		line-height: 1.55;
		background-size: 15px auto;
	}
	#main .mainVisual .bg ul li:nth-child(2) {
		font-size: 1.2rem;
		text-align: center;
	}
	#main .mainVisual .bg ul li  span {
		font-size: 1.6rem;
		text-align: center;
		line-height: 1.31;
	}
	#main .mainVisual .bg p {
		font-size: 1.2rem;
		letter-spacing: 1px;
	}
	#main .mainVisual .bg ul li:before,
	#main .mainVisual .bg ul li:after {
		position: absolute;
		width: 148px;
		height: 90px;
	}
	#main .mainVisual .bg ul li:before {
		left: -3px;
		top: -3px;
	}
	#main .mainVisual .bg ul li:after {
		right: -3px;
		bottom: -3px;
	}
	#main .qaBox {
		padding: 40px 0 48px;
	}
	#main .qaBox:before {
		width: 187px;
		height: 155px;
		background-size: 187px auto;
	}
	#main .qaBox h2 {
		margin-bottom: 27px;
	}
	#main .qaBox .qBox {
		margin: 0 auto 22px;
		padding: 20px 15px 23px;
		max-width: 100%;
		align-items: flex-start;
	}
	#main .qaBox .qBox:after {
		margin-left: -12px;
		border: 12px solid transparent;
		border-top: 15px solid #fff;
	}
	#main .qaBox .qBox p {
		font-size: 1.6rem;
		line-height: 1.44;
		font-weight: 300;
	}
	#main .qaBox .qBox .img {
		margin-right: 7px;
		width: 32px;
	}
	#main .qaBox .aBox h3 {
		margin-bottom: 12px;
		font-size: 2.3rem;
	}
	#main .qaBox .aBox h3 .icon {
		margin-right: 8px;
		width: 32px;
	}
	#main .qaBox .tableBox {
		margin-bottom: 22px;
	}
	#main .qaBox .tableBox table th,
	#main .qaBox .tableBox table td {
		padding: 10px 10px;
	}
	#main .qaBox .tableBox table td {
		width: 17.4%;
		font-size: 1.6rem;
	}
	#main .qaBox .tableBox table tr:first-child th {
		padding: 8px 0;
	}
	#main .qaBox .bgBox {
		padding: 19px 20px 23px;
		margin: 0 auto 22px;
	}
	#main .qaBox .bgBox:before {
		left: 5px;
		top: 5px;
		bottom: 5px;
		right: 5px;
		border: 1px solid #fff;
	}
	#main .qaBox .bgBox .ttl {
		font-size: 1.8rem;
	}
	#main .qaBox .bgBox .ttl span {
		color: #e9d471;
	}
	#main .qaBox .bgBox .img {
		right: -10px;
		width: 137px;
	}
	#main .qaBox .bgBox:after {
		margin-left: -12px;
		border: 12px solid transparent;
		border-top: 15px solid #8c1313;
	}
	#main .qaBox .h3Ttl {
		margin-bottom: 38px;
		text-align: center;
		text-decoration: underline;
		font-size: 3rem;
		color: #8C1313;
		font-family: 'Noto Serif JP', serif;
		letter-spacing: -1px;
		line-height: 1.1;
	}
	#main .qaBox .h3Ttl span {
		font-size: 2.3rem;
		color: #000;
		text-decoration: none;
		display: inline-block;
	}
	#main .qaBox .pointList {
		display: block;
	}
	#main .qaBox .pointList li {
		margin-bottom: 45px;
		width: auto;
		padding-left: 20px;
	}
	#main .qaBox .pointList li:last-child {
		margin-bottom: 0;
	}
	#main .qaBox .pointList li .icon {
		left: 0;
		top: -20px;
		width: 58px;
	}
	#main .qaBox .pointList li .photo {
		margin-bottom: 11px;
	}
	#main .qaBox .pointList li .photo img {
		width: 100%;
		height: 50.47vw;
		object-fit: cover;
		object-position: center;
	}
	#main .qaBox .pointList li p {
		line-height: 1.44;
		font-size: 1.6rem;
	}
	#main .lawBox {
		padding: 33px 0 30px;
		background-position: right top;
		background-size: auto 100%;
	}
	#main .lawBox .imgBox {
		margin-bottom: 26px;
		flex-direction: column;
	}
	#main .lawBox .imgBox .photo {
		margin-left: 0;
		flex-shrink: 0;
		order: 1;
		text-align: center;
	}
	#main .lawBox .imgBox .txtBox {
		margin: 0 0 12px;
		display: flex;
		flex-direction: column;
		writing-mode: horizontal-tb; 
		-webkit-writing-mode: horizontal-tb; 
		-moz-writing-mode: horizontal-tb; 
		-ms-writing-mode: lr-tb;
}
	#main .lawBox .imgBox .txtBox h3 {
		margin-bottom: 15px;
		font-size: 2.3rem;
		text-align: center;
	}
	#main .lawBox .imgBox .txtBox h3 .big {
		font-size: 3rem;
		line-height: 1.3;
	}
	#main .lawBox .imgBox .txtBox h3 .icon {
		writing-mode: horizontal-tb; 
		-webkit-writing-mode: horizontal-tb; 
		-moz-writing-mode: horizontal-tb; 
		-ms-writing-mode: lr-tb;
		line-height: 1;
	}
	#main .lawBox .imgBox .txtBox h3 > span {
		border-left: none;
		border-bottom: 1px solid rgb(232, 212, 114);
	}
	#main .lawBox .imgBox .txtBox p {
		margin-right: 0;
		font-size: 1.6rem;
		text-align: center;
	}
	#main .lawBox .imgBox .txtBox p span {
		padding: 0 5px;
		margin: 1px 0;
	}
	#main .lawBox .txtList {
		margin: 0 5px 9px;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	#main .lawBox .txtList li {
		margin: 0 0 27px;
		width: 46%;
		height: 95px;
		font-size: 1.2rem;
		letter-spacing: 2px;
		background: url(../img/index/mainvisual_icon01.png) no-repeat left top,url(../img/index/mainvisual_icon02.png) no-repeat right top;
		background-size: 15px auto;
		background-color: rgba(16,11,8,0.702);
	}
	#main .lawBox .txtList li:last-child {
		width: 100%;
	}
	#main .lawBox .txtList li:nth-child(2) {
		font-size: 1.2rem;
	}
	#main .lawBox .txtList li .color {
		font-size: 1.6rem;
	}
	#main .lawBox .txtList li:before {
		left: -1px;
		top: -1px;
		right: -5px;
		bottom: -5px;
	}
	#main .lawBox .txtList li:after {
		right: -1px;
		bottom: -1px;
		top: -5px;
		left: -5px;
	}
	#main .lawBox .txtList li.small {
		font-size: 1.2rem;
		height: 70px;
	}
	#main .lawBox .txtList li.small span {
		line-height: 1.14;
	}
	#main .lawBox .comLinkList a {
		padding: 8px 5px 8px 35px;
		font-size: 1.4rem;
		letter-spacing: 0;
	}
	#main .lawBox .comLinkList .tel small {
		margin-right: 0;
		width: auto;
		font-size: 1.4rem;
	}
	#main .troubleBox {
		padding: 53px 0 30px;
	}
	#main .troubleBox:before {
		width: 187px;
		height: 155px;
		background-size: 187px auto;
	}
	#main .troubleBox h2 {
		margin-bottom: 29px;
		font-size: 2.3rem;
		letter-spacing: -1px;
	}
	#main .troubleBox .txtList {
		padding: 21px 20px 53px;
		margin: 0 -15px -30px;
	}
	#main .troubleBox .txtList li {
		padding-left: 30px;
		font-size: 1.6rem;
		line-height: 1.44;
		background-size: 24px auto;
		min-height: 26px;
	}
	#main .troubleBox .txtList li:not(:last-child) {
		margin-bottom: 16px;
	}
	#main .troubleBox .txtList:after {
		right: 8px;
		bottom: 14px;
		width: 134px;
		background-size: 100% auto;
		background-position: right bottom;
	}
	#main .troubleBox .photoBox {
		margin-bottom: 59px;
	}
	#main .troubleBox .photoBox .img {
		margin: 0 -15px 0 35px;
		width: auto;
	}
	#main .troubleBox .photoBox .img img {
		width: 100%;
		height: 64vw;
		object-position: center;
		object-fit: cover;
	}
	#main .troubleBox .photoBox h3 {
		bottom: -41px;
		left: 0;
		font-size: 1.8rem;
	}
	#main .troubleBox .photoBox h3 span {
		padding: 0 5px;
	}
	#main .troubleBox .comLinkList {
		margin-bottom: 21px;
	}
	#main .troubleBox .comLinkList a {
		padding: 8px 5px 8px 35px;
		font-size: 1.4rem;
		letter-spacing: 0;
	}
	#main .troubleBox .comLinkList .tel small {
		margin-right: 0;
		width: auto;
		font-size: 1.4rem;
	}
	#main .troubleBox .btmBtn a {
		padding: 0 30px;
		width: auto;
		height: 50px;
		font-size: 1.6rem;
	}
	#main .troubleBox .btmBtn a:before {
		margin-top: -2px;
		left: 15px;
		width: 7px;
		height: 7px;
	}
	#main .troubleBox .btmBtn a:after {
		margin-top: 0;
		right: 15px;
		top: 0;
		width: 16px;
		height: 100%;
		background-size: 100% auto;
	}
	#main .divisionBox {
		padding: 39px 0 30px;
		background-size: 35px auto;
	}
	#main .divisionBox h2 {
		margin-bottom: 20px;
	}
	#main .divisionBox .topTxt {
		margin-bottom: 20px;
		font-size: 1.6rem;
		line-height: 1.4;
	}
	#main .divisionBox .h3Ttl {
		margin-bottom: 39px;
		font-size: 2.3rem;
	}
	#main .divisionBox .ListBox {
		padding: 45px 15px 50px 27px;
		margin: 0 auto 35px;
		width: auto;
	}
	#main .divisionBox .ListBox:after {
		margin-left: -12px;
		border: 12px solid transparent;
		border-top: 15px solid rgba(255,255,255,0.5);
	}
	#main .divisionBox .ListBox .headLine01 {
		padding: 3px 35px;
		top: -13px;
		font-size: 1.8rem;
	}
	#main .divisionBox .ListBox ul {
		font-size: 1.6rem;
		line-height: 1.4;
	}
	#main .divisionBox .ListBox ul li {
		margin-bottom: 18px;
	}
	#main .divisionBox .ListBox ul li:last-child {
		margin-bottom: 0;
	}
	#main .divisionBox .ListBox ul li:before {
		left: -12px;
		top: 8px;
		width: 7px;
		height: 7px;
	}
	#main .divisionBox .ListBox .img {
		right: 20px;
		bottom: 25px;
		width: 133px;
	}
	#main .divisionBox .comLinkList {
		margin: 0;
	}
	#main .divisionBox .comLinkList li {
		margin-top: 0;
	}
	#main .divisionBox .comLinkList a {
		letter-spacing: 0;
	}
	#main .heirBox {
		padding: 36px 0 30px;
	}
	#main .heirBox h2 {
		font-size: 2.3rem;
		line-height: 1.3;
		letter-spacing: -1px;
	}
	#main .heirBox h2 span {
		text-align: left;
	}
	#main .heirBox .innerBox {
		margin: 0;
		font-weight: 300;
	}
	#main .heirBox .topTxt {
		margin-bottom: 36px;
		padding-left: 38px;
		font-size: 1.6rem;
		line-height: 1.43;
		background-position: left top;
		background-size: 32px auto;
	}
	#main .heirBox .bgBox {
		margin-bottom: 36px;
		padding: 42px 20px 33px 54px;
	}
	#main .heirBox .bgBox:before {
		left: 15px;
		top: 38px;
		width: 32px;
		height: 32px;
		background-size: 32px auto;
	}
	#main .heirBox .bgBox:after {
		margin-left: -12px;
		border: 12px solid transparent;
		border-top: 15px solid rgb(236, 231, 217);
	}
	#main .heirBox .headLine01 {
		padding: 2px 20px;
		letter-spacing: -0.5px;
		position: absolute;
		top: -11px;
		left: 50%;
		font-size: 1.8rem;
	}
	#main .heirBox .bgBox p {
		margin-bottom: 1.43em;
		font-size: 1.6rem;
		line-height: 1.43;
	}
	#main .heirBox .bgBox p span {
		color: #8c1313;
		font-weight: 500;
	}
	#main .heirBox .bgBox p:last-child {
		margin-bottom: 0;
	}
	#main .heirBox .comLinkList a {
		letter-spacing: 0;
	}
	#main .bookBox {
		padding: 35px 0 30px;
	}
	#main .bookBox .content {
		max-width: inherit;
	}
	#main .bookBox h2 {
		margin-bottom: 21px;
	}
	#main .bookBox .topTxt {
		font-size: 1.6rem;
		line-height: 1.43;
	}
	#main .bookBox .ListBox {
		margin-bottom: 25px;
		padding: 42px 28px 35px;
		margin-top: 34px;
		background-size: 171px auto;
		background-position: right -20px top 110px;
	}
	#main .bookBox .ListBox:before {
		display: none;
	}
	#main .bookBox .ListBox .headLine01 {
		padding: 2px 5px;
		top: -10px;
		width: 100%;
		max-width: 300px;
		font-size: 1.8rem;
		letter-spacing: -1px;
	}
	#main .bookBox .ListBox ul {
		font-size: 1.6rem;
		line-height: 1.43;
	}
	#main .bookBox .ListBox ul li {
		margin-bottom: 16px;
	}
	#main .bookBox .ListBox ul li:last-child {
		margin-bottom: 0;
	}
	#main .bookBox .ListBox ul li:before {
		left: -13px;
		top: 8px;
		width: 7px;
		height: 7px;
	}
	#main .bookBox .imgBox {
		margin-bottom: 42px;
	}
	#main .bookBox .imgBox p {
		margin-left: 15px;
		font-size: 1.8rem;
		letter-spacing: -1px;
	}
	#main .bookBox .imgBox .photo {
		width: 110px;
		flex-shrink: 0;
	}
	#main .bookBox .h3Ttl {
		margin-bottom: 21px;
		padding: 5px 10px;
		letter-spacing: -1px;
		font-size: 2.1rem;
	}
	#main .bookBox .centerTxt {
		margin-bottom: 25px;
		font-size: 1.6rem;
		line-height: 1.43;
	}
	#main .bookBox .meritList {
		margin: 0 5px 41px;
	}
	#main .bookBox .meritList li {
		padding: 10px 10px;
		margin-bottom: 30px;
		height: auto;
		min-height: 85px;
		background-size: 20px auto;
		box-sizing: border-box;
	}
	#main .bookBox .meritList li:before {
		left: -1px;
		top: -1px;
		bottom: -5px;
		right: -5px;
	}
	#main .bookBox .meritList li:after {
		left: -5px;
		top: -5px;
		bottom: -1px;
		right: -1px;
	}
	#main .bookBox .meritList .lTxt {
		width: 60px;
		font-size: 1rem;
		flex-shrink: 0;
	}
	#main .bookBox .meritList .lTxt .num {
		font-size: 2.3rem;
	}
	#main .bookBox .meritList .rTxt {
		font-size: 1.5rem;
		line-height: 1.2;
		width: 100%;
	}
	#main .bookBox .meritList .rTxt .color {
		font-size: 1.8rem;
	}
	#main .bookBox .meritList .rTxt .small {
		margin-top: 5px;
		font-size: 1.2rem;
	}
	#main .bookBox .h3Ttl02 {
		margin-bottom: 19px;
		text-align: left;
		font-size: 2.3rem;
		line-height: 1.43;
		letter-spacing: -1px;
	}
	#main .bookBox .h3Ttl02 span {
		margin-right: 10px;
		flex-shrink: 0;
		width: 65px;
		height: 65px;
		font-size: 2.1rem;
	}
	#main .bookBox .imgBox02 {
		margin-bottom: 27px;
		display: block;
	}
	#main .bookBox .imgBox02 .photo {
		margin-right: 0;
		flex-shrink: 0;
		text-align: center;
	}
	#main .bookBox .imgBox02 p {
		margin-top: 20px;
		font-size: 1.6rem;
		line-height: 1.43;
	}
	#main .bookBox .redBox {
		margin-bottom: 22px;
		padding: 18px 20px 21px;
	}
	#main .bookBox .redBox:before {
		left: 5px;
		top: 5px;
		right: 5px;
		bottom: 5px;
		border: 1px solid #fff;
	}
	#main .bookBox .redBox h4 {
		margin-bottom: 2px;
		font-size: 2.3rem;
	}
	#main .bookBox .redBox p {
		font-size: 1.6rem;
		line-height: 1.43;
	}
	#main .bookBox .redBox .img {
		bottom: 6px;
		right: -11px;
		width: 131px;
	}
	#main .bookBox .redBox + .centerTxt {
		margin-bottom: 30px;
		font-size: 1.6rem;
		line-height: 1.43;
		text-align: left;
	}
	#main .benefitsBox {
		margin-bottom: 30px;
		padding-top: 26px;
	}
	#main .benefitsBox h2 {
		margin-bottom: 35px;
		font-size: 2.3rem;
		letter-spacing: -1px;
		line-height: 1.3;
	}
	#main .benefitsBox h2 span {
		padding: 10px 0 10px 50px;
		text-align: left;
	}
	#main .benefitsBox > ul {
		margin: -10px 0 30px;
		display: block
	}
	#main .benefitsBox > ul li {
		margin-top: 10px;
		padding: 17px 10px 17px 14px;
		width: auto;
		border-color: #5b4e0a;
	}
	#main .benefitsBox > ul h3 {
		margin-bottom: 10px;
		font-size: 2.1rem;
		line-height: 1.29;
	}
	#main .benefitsBox > ul h3 .num {
		margin-right: 10px;
		width: 46px;
	}
	#main .benefitsBox > ul p {
		font-size: 1.6rem;
		line-height: 1.44;
	}
	#main .benefitsBox .textBox {
		margin-bottom: 35px;
		padding: 20px 90px 20px 20px;
		font-size: 1.6rem;
		line-height: 1.44;
	}
	#main .benefitsBox .textBox::after {
		left: 5px;
		top: 5px;
		right: 5px;
		bottom: 5px;
		border-width: 1px;
	}
	#main .benefitsBox .textBox .photo {
		width: 165px;
		right: -15px;
		top: -10px;
	}
	#main .benefitsBox .comLinkList li {
		width: calc((100% - 13px) / 2);
		margin-top: 2px;
	}
	#main .benefitsBox .comContactBox p em {
		padding: 5px 35px;
		line-height: 1.34;
		background: url(../img/index/benifits_bg02.png) no-repeat left center, url(../img/index/benifits_bg01.png) no-repeat right center;
		background-size: 27px auto;
	}
	#main .feeBox {
		padding: 38px 0 50px;
		background: url(../img/common/com_bg02.png) repeat left top;
	}
	#main .feeBox .textBox {
		margin: 0 auto;
		padding: 21px 15px 50px;
		width: auto;
		line-height: 1.33;
		box-sizing: border-box;
		border: 1px solid rgb(91, 78, 10);
		background-color: rgba(255, 255, 255, 0.502);
	}
	#main .feeBox .textBox h3 {
		margin-bottom: 19px;
		font-size: 2.1rem;
	}
	#main .feeBox .textBox .feeList {
		margin: -6px 0 11px;
		padding: 8px 0 15px;
		display: block;
		background-size: auto 2px;
	}
	#main .feeBox .textBox .feeList li {
		margin-top: 6px;
		width: auto;
		font-size: 3rem;
	}
	#main .feeBox .textBox .feeList span {
		margin-right: 12px;
		padding: 3px 5px 4px;
		width: 95px;
		font-size: 1.4rem;
	}
	#main .feeBox .textBox .feeList small {
		font-size: 2.1rem;
	}
	#main .feeBox .textBox .feeList .list01 span {
		margin: 6px 10px 0 0;
	}
	#main .feeBox .textBox .feeList .list01 .txt {
		margin-top: 8px;
		width: calc(100% - 107px);
		font-size: 1.6rem;
		line-height: 1.44;
	}
	#main .feeBox .textBox .textList {
		margin-bottom: 45px;
	}
	#main .feeBox .textBox .textList li {
		padding-left: 15px;
		background-size: 10px auto;
		background-position: left top 4px;
		line-height: 1.5;
	}
	#main .messageBox {
		margin-bottom: 38px;
		padding: 40px 0 50px;
		background:  url(../img/index/message_bg03.png) no-repeat right top 13px,url(../img/index/message_sp_bg01.png) no-repeat center center / cover;
		background-size: 137px auto, 100% 100%;
	}
	#main .messageBox h2 {
		margin-bottom: 15px;
	}
	#main .messageBox h2 img {
		width: 195px;
	}
	#main .messageBox .imgBox {
		display: block;
	}
	#main .messageBox .imgBox .photoBox {
		width: auto;
	}
	#main .messageBox .imgBox .photoBox img {
		width: 100%;
	}
	#main .messageBox .imgBox .textBox {
		margin: 0 auto 48px;
		padding-right: 3px;
		width: 275px;
		background-image: url(../img/index/message_sp_bg02.png);
		background-size: 39px auto;
	}
	#main .messageBox .imgBox .textBox .photo {
		width: 67px;
		right: -8px;
	}
	#main .messageBox .imgBox .textBox p {
		width: 100%;
		height: auto;
		font-size: 1.6rem;
		line-height: 2.45;
		background: none;
	}
	#main .flowBox {
		margin-bottom: 30px;
		padding: 0;
		box-sizing: border-box;
	}
	#main .flowBox .headLine01 {
		margin-bottom: 7px;
		padding: 0 20px 9px ;
		font-size: 3rem;
	}
	#main .flowBox .headLine01 small {
		font-size: 1.8rem;
	}
	#main .flowBox  h4 {
		margin-bottom: 10px;
		font-size: 2.1rem;
		text-align: left;
	}
	#main .flowBox  h4 span {
		font-size: 1.6rem;
	}
	#main .flowBox .contactBox {
		margin-bottom: 53px;
		padding: 15px 14px;
		position: relative;
		border: 1px solid rgb(91, 78, 10);
		background-color: #fff;
	}
	#main .flowBox .contactBox::after {
		width: 21px;
		height: 14px;
		bottom: -35px;
	}
	#main .flowBox .contactBox .text {
		margin-bottom: 20px;
		padding-left: 35px;
		font-size: 1.6rem;
		line-height: 1.44;
		background-size: 27px auto;
		background-position: left top 0px;
	}
	#main .flowBox .contactBox .zoomBox {
		padding-bottom: 30px;
	}
	#main .flowBox .contactBox .zoomBox .title {
		margin-bottom: 21px;
		font-size: 1.5rem;
	}
	#main .flowBox .contactBox .zoomBox .title small {
		font-size: 1.4rem;
	}
	#main .flowBox .contactBox .zoomBox .stepList {
		margin-bottom: 26px;
	}
	#main .flowBox .contactBox .zoomBox .stepList li {
		margin-bottom: 10px;
		padding: 25px 15px;
	}
	#main .flowBox .contactBox .zoomBox .textList li a:hover {
		text-decoration: underline;
	}
	#main .flowBox .contactBox .zoomBox .stepList li span {
		margin-right: 10px;
		width: 30px;
		font-size: 2.3rem;
	}
	#main .flowBox .contactBox .zoomBox .stepList li span  small {
		font-size: 1rem;
	}
	#main .flowBox .contactBox .zoomBox .textList > li {
		padding-left: 15px;
		background-size: 10px auto;
		background-position: left top 6px;
	}
	#main .flowBox .contactBox .zoomBox .textList ul li {
		width: calc((100% - 20px) / 2);
	}
	#main .flowBox .contactBox .zoomBox .textList ul li img {
		width: 100%;
	}
	#main .flowBox .contactBox .zoomBox .textList ul li a:hover {
		opacity: 1;
	}
	#main .flowBox .contactBox .button {
		margin: 0;
	}
	#main .flowBox .contactBox .button a {
		margin: 0 auto;
		padding: 5px 40px 10px;
		max-width: 450px;
		font-size: 1.6rem;
		background-size: 16px auto;
		background-position: right 15px center;
	}
	#main .flowBox .contactBox .button a:hover {
		opacity: 1;
	}
	#main .flowBox .contactBox .button a::after {
		width: 7px;
		height: 5px;
		right: 20px;
		top: calc(50% - 3px);
	}
	#main .flowBox .head01 {
		margin-bottom: 11px;
	}
	#main .flowBox > dl {
		margin: 0 auto 50px;
		width: auto;
		line-height: 1.44;
	}
	#main .flowBox > dl::after {
		width: 21px;
		height: 14px;
		bottom: -29px;
	}
	#main .flowBox > dl dt {
		width: 125px;
		font-size: 1.6rem;
		font-weight: 600;
	}
	#main .flowBox > dl dd {
		width: calc(100% - 125px);
		font-size: 1.6rem;
	}
	#main .flowBox .head02 {
		margin-bottom: 10px;
	}
	#main .flowBox .time {
		margin-bottom: 13px;
		text-align: left;
	}
	#main .flowBox .time span {
		padding: 2px 7px 2px 30px;
		font-size: 1.6rem;
		letter-spacing: 2px;
		background-size: 17px auto;
		background-position: left 8px center;
	}
	#main .flowBox .text01 {
		margin-bottom: 42px;
		font-size: 1.6rem;
		text-align: left;
		line-height: 1.44;
	}
	#main .caseBox {
		padding: 25px 0 40px;
		background-size: 37px auto;
	}
	#main .caseBox  h2 {
		margin-bottom: 25px;
		line-height: 1.3;
		letter-spacing: 0;
	}
	#main .caseBox  h2 span {
		text-align: left;
		font-size: 2.3rem;
	}
	#main .caseBox .inheritance {
		margin: 0 auto 40px;
		width: auto;
	}
	#main .caseBox .headLine01 span {
		background-size: 27px auto;
	}
	#main .caseBox .caseDl {
		padding: 13px 15px;
	}
	#main .caseBox .inheritance dl:last-of-type {
		margin-bottom: 0;
	}
	#main .caseBox .caseDl > dd,
	#main .caseBox .caseDl > dt {
		font-size: 1.6rem;
		line-height: 1.44;
	}
	#main .caseBox .caseDl > dd .en,
	#main .caseBox .caseDl > dt .en {
		margin-right: 5px;
		width: 32px;
	}
	#main .caseBox .caseDl > dd span,
	#main .caseBox .caseDl > dt span {
		width: calc(100% - 65px);
	} 
	#main .caseBox .caseDl > dd span {
		width: calc(100% - 37px);
	}
	#main .caseBox .caseDl > dt {
		background-size: 24px auto;
	}
	#main .caseBox .caseDl > dt::before,
	#main .caseBox .caseDl > dt::after {
		width: 10px;
		height: 1px;
		right: 7px;
		top: 50%;
	}
	#main .caseBox .caseDl > dd {
		margin-top: 17px;
		padding-top: 15px;
	}
	#main .caseBox .caseDl dl {
		margin: 15px 0 0 37px;
	}
	#main .caseBox .caseDl dl dd,
	#main .caseBox .caseDl dl dt {
		margin-bottom: 10px;
		width: 55%;
		padding-right: 5px;
		letter-spacing: -1px;
	}
	#main .caseBox .caseDl dl dd {
		width: 45%;
		padding: 0 0 0 10px;
	}
	#main .caseBox .caseDl dl dd:last-of-type,
	#main .caseBox .caseDl dl dt:last-of-type {
		margin-bottom: 0;
	}
	#main .caseBox .will {
		margin-bottom: 0;
	}
	#main .caseBox .will h3 span {
		background-image: url(../img/index/h3_bg02.png);
	}
	#main .formBox {
		margin-bottom: 37px;
		padding: 37px 0 51px;
	}
	#main .formBox h2 {
		font-size: 2.3rem;
		line-height: 1.3;
		letter-spacing: 0;
	}
	#main .formBox h2 span {
		text-align: left;
	}
	#main .formBox .mailForm {
		margin: 0 auto;
		padding: 35px 15px 30px;
		width: auto;
		border: 1px solid #5B4E0A;
		box-sizing: border-box;
		background-color:  rgba(255, 255, 255, 0.502);
	}
	#main .formBox .mailForm select,
	#main .formBox .mailForm textarea,
	#main .formBox .mailForm input {
		padding: 2px 15px;
		height: 40px;
		border-radius: 3px;
		font-size: 1.6rem;
	}
	#main .formBox .mailForm dl {
		margin-bottom: 5px;
	}
	#main .formBox .mailForm dt {
		margin-bottom: 8px;
		font-size: 1.6rem;
		line-height: 1.2;
	}
	#main .formBox .mailForm .dtStyle01 {
		margin-bottom: 10px;
	}
	#main .formBox .mailForm dt span {
		margin-left: 8px;
		padding: 1px 2px 3px;
		width: 35px;
		font-size: 1.2rem;
		line-height: 1.2;
	}
	#main .formBox .mailForm dd {
		margin-bottom: 18px;
	}
	#main .formBox .mailForm .ddStyle02 li {
		margin-right: 15px;
		font-size: 1.6rem;
	}
	#main .formBox .mailForm .ddStyle02 input + span {
		padding-left: 30px;
		background-size: 24px auto;
	}
	#main .formBox .mailForm .ddStyle01 li {
		margin-bottom: 15px;
	}
	#main .formBox .mailForm .ddStyle01 span {
		padding-right: 5px;
		width: 85px;
		font-size: 1.6rem;
		flex-shrink: 0;
	}
	#main .formBox .mailForm .ddStyle01 input {
		padding: 2px 40px 2px 10px;
		color: #000;
		background-size: 20px auto;
		background-position: right 15px center;
		width: calc(100% - 85px);
	}
	#main .formBox .mailForm dd:last-of-type {
		margin-bottom: 0;
	}
	#main .formBox .mailForm select {
		padding: 2px 30px 2px 10px;
		color: #000;
		background-size: 11px auto;
		background-position: right 15px center;
	}
	#main .formBox .mailForm textarea {
		height: 151px;
	}
	#main .formBox .mailForm p {
		margin-bottom: 15px;
	}
	#main .formBox .mailForm h3 {
		margin-bottom: 3px;
		letter-spacing: 0.4px;
	}
	#main .formBox .mailForm .textList li {
		padding-left: 15px;
		line-height: 1.5;
		background-size: 10px auto;
		background-position: left top 5px;
	}
	#main .formBox .mailForm .agree {
		margin-bottom: 35px;
	}
	#main .formBox .mailForm .agree input + span {
		padding-left: 20px;
		font-size: 2.4rem;
	}
	#main .formBox .mailForm .agree input + span:hover {
		opacity: 1;
	}
	#main .formBox .mailForm .agree input:checked + span::before {
		background-size: 14px 14px;
	}
	#main .formBox .mailForm .agree input + span::before {
		width: 14px;
		height: 14px;
		top: calc(50% - 7px);
	}
	#main .formBox .mailForm .submit input {
		margin: 0 auto;
		padding: 17px 25px 18px;
		width: 100%;
		max-width: 450px;
		height: auto;
		font-size: 1.8rem;
		line-height: 1;
		border-radius: 4px;
	}
	#main .formBox .mailForm .submit input:hover {
		opacity: 1;
	}
	#main .company .photo {
		margin-bottom: 10px;
	}
	#main .company .textBox {
		display: block;
	}
	#main .company .textBox dl {
		margin-right: 0;
		width: auto;
		letter-spacing: 0;
	}
	#main .company .textBox dl:first-of-type {
		margin-bottom: 9px;
	}
	#main .company .textBox dl:nth-of-type(2n) {
		margin-right: 0;
	}
	#main .company .textBox dt {
		padding-top: 9px;
		font-size: 1.6rem;
	}
	#main .company .textBox dd {
		padding: 5px 0 11px;
		font-size: 1.6rem;
		line-height: 1.44;
	}
	#main .company .textBox .ddStyle01 {
		padding: 7px 0 13px;
		font-size: 1.2rem;
	}
	#main .company .textBox dd a {
		padding: 0 0 3px 30px;
		color: #5b4e0a;
		font-size: 1.6rem;
		text-decoration: underline;
		background-size: 22px auto;
	}
}
@media all and (max-width: 374px) {
	#main .divisionBox .ListBox .img {
		width: 103px;
	}
	#main .heirBox h2 {
		font-size: 2.2rem;
	}
	#main .bookBox .imgBox p {
		font-size: 1.6rem;
	}
	#main .troubleBox .btmBtn a {
		font-size: 1.4rem;
	}
	#main .qaBox .aBox h3 {
		font-size: 1.9rem;
	}
	#main .qaBox .bgBox .img {
		width: 92px;
	}
	#main .troubleBox .txtList::after {
		width: 104px;
	}
	#main .qaBox .bgBox .ttl {
		font-size: 1.7rem;
	}
	#main .benefitsBox .textBox {
		font-size: 1.5rem;
	}
	#main .benefitsBox .textBox .photo {
		width: 150px;
	}
	#main .benefitsBox h2 {
		font-size: 1.9rem;
	}
	#main .benefitsBox > ul h3 {
		font-size: 1.7rem;
	}
	#main .benefitsBox .comContactBox p em {
		font-size: 2rem;
	}
	#main .feeBox .textBox h3 {
		font-size: 1.9rem;
	}
	#main .flowBox .contactBox .zoomBox .title {
		font-size: 1.2rem;
	}
	#main .flowBox .contactBox .zoomBox .stepList li {
		letter-spacing: 1px;
	}
	.comLinkList li a,
	.comLinkList .tel small {
		font-size: 1.1rem !important;
	}
	#main .company .textBox dd {
		font-size: 1.5rem;
	}
	#main .formBox h2 {
		font-size: 2.1rem;
	}
	#main .caseBox .caseDl dl dd, 
	#main .caseBox .caseDl dl dt {
		font-size: 1.3rem;
	}
}
#main .errorMsg {
	margin: 0 auto 1.5em;
	width: 84%;
	color: #8c1313;
}
.thanksPage {
	padding: 0 15px;
	height: 60vh;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	background-color: #fff;
	font-size: 1.6rem;
}
.thanksPage p {
	margin-bottom: 1.5em;
}
.thanksPage p a:hover {
	text-decoration: underline;
}
@media all and (max-width: 767px) {
	.thanksPage p a:hover {
		text-decoration: none;
	}
}