@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap');
 @import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;700&display=swap');
 @import url('https://fonts.googleapis.com/css2?family=Rubik:wght@300;400;500;600;700;800;900&display=swap');
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
	font-size: 1em;
}
html {
	font-size: 62.5%;
}
body, table, input, textarea, select, option {
	font-family: 'Noto Sans JP', sans-serif;
}
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
	display: block;
}
ol, ul {
	list-style: none;
	box-sizing: border-box;
}
blockquote, q {
	quotes: none;
}
:focus {
	outline: 0;
}
ins {
	text-decoration: none;
}
del {
	text-decoration: line-through;
}
img {
	vertical-align: top;
	max-width: 100%;
    height: auto;
}
a,
a:link {
	color: #454545;
	text-decoration: none;
}
a:visited {
	color: #454545;
}
a:hover {
	color: #454545;
}
a:active {
	color: #454545;
}
/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	min-width: 1260px;
	color: #454545;
	font-size: 1.6rem;
	line-height: 2;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background-color: #FFF;
}
#container {
	padding-top: 80px;
	text-align: left;
}
#main {
	display: block;
}
a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}
@media all and (min-width: 897px) {
	.sp {
		display: none !important;
	}
}
@media all and (max-width: 896px) {
	body {
		min-width: inherit;
		font-size: 1.2rem;
	}
	body.fixed {
		width: 100%;
		position: fixed;
		left: 0;
	}
	#container {
		padding-top: 60px;
	}
	a:hover,
	a:hover img {
		opacity: 1 !important;
	}
	.pc {
		display: none !important;
	}
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
}
/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#gHeader {
	padding: 18px 50px 16px;
	width: 100%;
	position: fixed;
	left: 0;
	top: 0;
	box-sizing: border-box;
	z-index: 9999;
	border-bottom: 1px solid #D6D6D6;
	background-color: #fff;
}
#gHeader .hBox {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#gHeader h1 {
	width: 249px;
}
#gHeader h1 .img02 {
	display: none !important;
}
#gNavi {
	margin-top: -3px;
	max-width: calc(100% - 270px);
	display: flex;
	align-items: center;
}
#gNavi .hLinkList {
	margin-right: 40px;
	display: flex;
}
#gNavi .hLinkList li:not(:last-of-type) {
	margin-right: 39px;
}
#gNavi .hLinkList a {
	position: relative;
	color: #1F1F1F;
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: 0.025em;
}
#gNavi .hLinkList a::after {
	width: 100%;
	height: 4px;
	position: absolute;
	left: 0;
	bottom: -29px;
	background-color: #FA2B39;
	content: '';
	opacity: 0;
	transition: .3s;
}
#gNavi .btnList {
	display: flex;
}
#gNavi .btnList li {
	margin-right: 20px;
	width: 180px;
	display: flex;
}
#gNavi .btnList li:last-of-type {
	margin-right: 0;
}
#gNavi .btnList a {
	padding: 5px 10px;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #E81625;
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: 0.025em;
	border-radius: 50px;
	box-sizing: border-box;
	border: 1px solid #FA2B39;
	background-color: #fff;
}
#gNavi .btnList .list01 a {
	color: #fff;
	background-color: #FA2B39;
}
#gHeader.header01 {
	border-color: #fff;
	background-color: transparent;
}
#gHeader.header01 h1 .img02 {
	display: block !important;
}
#gHeader.header01 h1 .img01 {
	display: none !important;
}
#gHeader.header01 #gNavi .hLinkList a {
	color: #fff;
}
#gHeader.header01 #gNavi .hLinkList li.active a,
#gNavi .hLinkList li.active a {
	color: #FA2B39;
}
#gNavi .hLinkList li.active a::after {
	opacity: 1;
}
@media all and (min-width: 897px) {
	#gHeader.header01 #gNavi .hLinkList a:hover,
	#gNavi .hLinkList a:hover {
		color: #FA2B39;
	}
	#gNavi .hLinkList a:hover::after {
		opacity: 1;
	}
	#gNavi .btnList a:hover {
		color: #fff;
		background-color: #FA2B39;
	}
	#gNavi .btnList .list01 a:hover {
		color: #E81625;
		background-color: #fff;
	}
}
@media (min-width: 897px) and (max-width: 1365px) {
	#gNavi .hLinkList li:not(:last-of-type) {
		margin-right: 20px;
	}
	#gNavi .hLinkList a {
		font-size: 1.2rem;
	}
	#gHeader h1 {
		width: 220px;
	}
	#gHeader {
		padding: 18px 20px 16px;
	}
	#gNavi .btnList li {
		width: 140px;
	}
	#gNavi .btnList a {
		font-size: 1.2rem;
	}
}
@media (min-width: 897px) and (max-width: 1095px) {
	#gHeader h1 {
		width: 190px;
	}
	#gNavi {
		max-width: calc(100% - 210px);
	}
    #gNavi .hLinkList {
        margin-right: 10px;
    }
	#gNavi .hLinkList li:not(:last-of-type) {
		margin-right: 10px;
	}
	#gNavi .hLinkList a::after {
		bottom: -25px;
	}
	#gNavi .hLinkList a {
		font-size: 1.1rem;
	}
	#gNavi .btnList li {
        margin-right: 10px;
		width: 125px;
	}
    #gNavi .btnList li:last-of-type {
        margin-right: 0;
    }
	#gNavi .btnList a {
		font-size: 1.1rem;
	}
}
@media all and (max-width: 896px) {
	#gHeader {
		padding: 15px 62px 15px 20px;
		border-bottom: none;
		background-color: #fff;
	}
	#gHeader h1 {
		width: 155px;
	}
	#gHeader.header01 {
		background-color: #fff;
	}
	#gHeader.header01 h1 .img02 {
		display: none !important;
	}
	#gHeader.header01 h1 .img01 {
		display: block !important;
	}
	#gNavi {
		margin-top: 0;
		max-width: calc(100% - 165px);
	}
	#gNavi .hLinkList {
		display: none;
	}
	#gNavi .btnList {
		display: flex;
	}
	#gNavi .btnList li {
		margin-right: 0;
		width: 111px;
	}
	#gNavi .btnList li:last-of-type {
		display: none;
	}
	#gNavi .btnList a {
		padding: 3px 5px;
		border-width: 2px;
		font-size: 1rem;
	}
	#gNavi .btnList .list01 a {
		color: #fff;
		background-color: #FA2B39;
	}
	.menu {
		padding-top: 26px;
		width: 57px;
		height: 60px;
		position: fixed;
		right: 0;
		top: 0;
		font-size: 1rem;
		letter-spacing: 0.05em;
		text-align: center;
		box-sizing: border-box;
		z-index: 9999;
	}
	.menu .line {
		width: 30px;
		height: 4px;
		display: block;
		position: absolute;
		left: calc(50% - 15px);
		top: 16px;
		border-radius: 5px;
		background-color: #F43E40;
		content: '';
		transition: .3s;
	}
	.menu.on {
		font-size: 0;
		background-color: #E14F48;
	}
	.menu.on .line {
		top: 24px;
		background-color: #fff;
		transform: translateY(4px) rotate(45deg);
	}
	.menu .line:nth-of-type(2) {
		top: 24px;
	}
	.menu.on .line:nth-of-type(2) {
		top: 32px;
		transform: translateY(-4px) rotate(-45deg);
	}
	.menuBox {
		padding: 60px 0 0;
		width: 100%;
		max-height: 100%;
		position: fixed;
		left: 0;
		top: 0;
		z-index: 999;
		box-sizing: border-box;
		display: none;
		overflow-y: auto;
	}
	.menuCover {
		display: none;
		position: fixed;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		z-index: 998;
		background: linear-gradient(to bottom,rgba(0,0,0,0.8),rgba(0,0,0,0.6),rgba(0,0,0,0.4));
	}

	.menuBox .linkList {
		padding: 8px 0 4px;
		background-color: #F7F7F7;
	}
	.menuBox .linkList a {
		padding: 15px 20px 18px;
		display: block;
		font-size: 2.4rem;
		font-weight: 700;
		letter-spacing: 0.1em;
		text-align: center;
		border-bottom: 1px solid #fff;
	}
	.menuBox .linkList li:not(:first-of-type) a {
		border-top: 1px solid #DBDBDB;
	}
	.menuBox .linkList li:last-of-type {
		border-bottom: 1px solid #DBDBDB;
	}
	.menuBox .linkList span {
		margin-top: -9px;
		display: block;
		color: #FA2B39;
		font-size: 1.4rem;
		letter-spacing: 0.05em;
	}
	.menuBox .btn {
		padding: 30px 20px 38px;
		background-color: #E14F48;
	}
	.menuBox .btn a {
		margin: 0 auto;
		padding: 14px 45px 15px;
		max-width: 340px;
		display: block;
		position: relative;
		color: #E14F48;
		font-size: 1.8rem;
		font-weight: 700;
		text-align: center;
		border-radius: 90px;
		border: 2px solid #E14F48;
		background: url(img/common/icon03.png) no-repeat right 18px center / 22px auto;
		background-color: #FFE5E6;
	}
	.menuBox .btn a span {
		display: block;
		width: 70px;
		position: absolute;
		left: -2px;
		top: 3px;
	}
}
@media all and (max-width: 374px) {
	#gHeader {
		padding: 15px 62px 15px 10px;
	}
	#gHeader h1 {
		width: 120px;
	}
	#gNavi {
		max-width: calc(100% - 130px);
	}
	.menuBox .btn a {
		font-size: 1.4rem;
	}
}
/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#gFooter {
	padding: 66px 0 50px;
	position: relative;
	border-bottom: 6px solid #FA2B39;
	background-color: #E8E8E8;
}
#gFooter .pageTop {
	width: 82px;
	position: absolute;
	right: 60px;
	top: -44px;
	text-align: center;
}
#gFooter .pageTop a {
	padding-bottom: 41px;
	display: block;
	background: url(img/common/icon06.png) no-repeat center bottom / 54px auto;
}
#gFooter .fBox {
	margin: 0 auto;
	width: 1000px;
}
#gFooter .fTBox {
	margin-bottom: 50px;
	display: flex;
	justify-content: space-between;
}
#gFooter .fNavi {
	display: flex;
}
#gFooter .fNavi li:not(:last-of-type) {
	margin-right: 39px;
}
#gFooter .fNavi a {
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 0.05em;
}
#gFooter .fLinkList {
	display: flex;
}
#gFooter .fLinkList a {
	font-size: 1.4rem;
	font-weight: 500;
	letter-spacing: 0.05em;
}
#gFooter .fBtnList {
	margin-top: -32px;
	display: flex;
	flex-wrap: wrap;
}
#gFooter .fBtnList li {
	margin: 32px 32px 0 0;
	width: 226px;
}
#gFooter .fBtnList li:nth-of-type(4n) {
	margin-right: 0;
}
#gFooter .fBtnList a {
	display: block;
}
@media all and (min-width: 897px) {
	#gFooter .fBtnList a:hover,
	#gFooter .pageTop a:hover {
		opacity: 0.7;
	}
	#gFooter .fNavi a:hover {
		opacity: 0.7;
	}
	#gFooter .fLinkList a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	#gFooter {
		padding: 49px 0 60px;
	}
	#gFooter .pageTop {
		display: none;
	}
	#gFooter .fBox {
		margin: 0 20px;
		width: auto;
	}
	#gFooter .fTBox {
		margin-bottom: 56px;
		display: block;
	}
	#gFooter .fNavi {
		margin: -24px 0 34px;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	#gFooter .fNavi li {
		margin-top: 24px;
		width: calc((100% - 20px) / 2);
	}
	#gFooter .fNavi li:not(:last-of-type) {
		margin-right: 0;
	}
	#gFooter .fNavi a {
		padding-left: 11px;
		border-left: 6px solid #DF5F51;
		display: block;
		font-size: 1.6rem;
		line-height: 1.25;
	}
	#gFooter .fLinkList {
		display: block;
	}
	#gFooter .fBtnList {
		margin-top: -10px;
		justify-content: space-between;
	}
	#gFooter .fBtnList li {
		margin: 10px 0 0;
		width: calc((100% - 15px) / 2);
	}
	#gFooter .fBtnList li img {
		width: 100%;
	}
}
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* clearfix */	
.clearfix:after {content: "";display: block;clear: both;}
/* flex */	
.flex,.flexA,.flexB,.flexC {display: flex;flex-wrap: wrap;}
.flexA {justify-content: space-around;}
.flexB {justify-content: space-between;}
.flexC {justify-content: center;}
.en01 {
	font-style: normal;
	font-weight: 500;
	font-family: 'Rubik', sans-serif;
}
.helvetica {
	font-weight: 700;
	font-style: normal;
	font-family: Arial, Helvetica, sans-serif;
}
.default a {
	cursor: default !important;
	pointer-events: none !important;
}
/*------------------------------------------------------------
	common
------------------------------------------------------------*/
.comBox {
	margin: 0 auto;
	width: 1000px;
}
@media all and (max-width: 896px) {
	.comBox {
		margin: 0 20px;
		width: auto;
	}
}
/*------------------------------------------------------------
	pageTitle
------------------------------------------------------------*/
.pageTitle {
	height: 200px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #FFE5E6;
}
.pageTitle h2 {
	width: 1000px;
	color: #21110D;
	font-size: 4.2rem;
	line-height: 1.69;
	letter-spacing: 0.1em;
	text-align: center;
}
@media all and (max-width: 896px) {
	.pageTitle {
		height: 166px;
	}
	.pageTitle h2 {
		width: calc(100% - 40px);
		font-size: 3rem;
		line-height: 1.47;
	}
}
/*------------------------------------------------------------
	pagePath
------------------------------------------------------------*/
#pagePath {
	margin-bottom: 47px;
	padding: 6px 50px 7px;
	border-bottom: 1px solid #D5D5D5;
}
#pagePath .linkList li {
	margin-right: 16px;
	display: inline;
	color: #7A7A7A;
	font-size: 1.4rem;
	font-weight: 700;
}
#pagePath .linkList li:last-of-type {
	margin-right: 0;
}
#pagePath .linkList a {
	margin-right: 20px;
	display: inline-block;
	color: #000;
	text-decoration: underline;
	vertical-align: 0;
}
#pagePath .linkList img {
	width: 6px;
	vertical-align: 0;
}
#pagePath .linkList li:first-of-type a {
	padding-left: 29px;
	background: url(img/common/icon01.png) no-repeat left center / 23px auto;
}
@media all and (min-width: 897px) {
	#pagePath .linkList a:hover {
		text-decoration: none;
	}
}
@media all and (max-width: 896px) {
	#pagePath {
		margin-bottom: 43px;
		padding: 24px 20px 0;
		border-bottom: none;
	}
	#pagePath .linkList li {
		margin-right: 8px;
		font-size: 1.1rem;
	}
	#pagePath .linkList a {
		margin-right: 11px;
	}
	#pagePath .linkList li:first-of-type a {
		padding-left: 21px;
		background-position: left top calc(50% + 1px);
		background-size: 17px auto;
	}
}
/*------------------------------------------------------------
	mailForm
------------------------------------------------------------*/
.mailForm .text {
	margin-bottom: 36px;
	font-weight: 500;
	letter-spacing: 0.05em;
}
.mailForm .text span {
	color: #E14F48;
	font-weight: 700;
}
.mailForm .bgBox {
	padding: 49px 20px 87px;
	border-radius: 10px;
	background-color: #F2F2F2;
}
.mailForm dl {
	margin: 0 auto 48px;
	width: 621px;
}
.mailForm dt {
	margin-bottom: 11px;
	color: #404040;
	font-weight: 700;
	line-height: 1.75;
}
.mailForm dd {
	margin-bottom: 28px;
	font-size: 1.3rem;
}
.mailForm dd:last-of-type {
	margin-bottom: 0;
}
.mailForm .must {
	margin-left: 19px;
	padding-bottom: 1px;
	width: 35px;
	display: inline-block;
	color: #fff;
	font-size: 1rem;
	font-weight: 700;
	vertical-align: 3px;
	text-align: center;
	border-radius: 40px;
	background-color: #E14F48;
}
.mailForm select,
.mailForm input[type="text"],
.mailForm input[type="tel"],
.mailForm input[type="email"],
.mailForm input[type="submit"],
.mailForm input[type="radio"],
.mailForm textarea {
	padding: 5px 19px;
	width: 100%;
	height: 45px;
	color: #454545;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0;
	text-align: left;
	border-radius: 4px;
	box-shadow: none;
	background-color: #fff;
	border: none;
	box-sizing: border-box;
	appearance: none;
	-webkit-appearance: none;
}
.mailForm select {
	background: url(img/common/bg01.png) no-repeat right center / auto 100%;
	background-color: #fff;
}
.mailForm textarea {
	height: 180px;
	resize: vertical;
	vertical-align: top;
}
.mailForm .radioList {
	margin: -12px 0 41px;
	display: flex;
	flex-wrap: wrap;
}
.mailForm .radioList li {
	margin: 19px 29px 0 0;
}
.mailForm .radioList li:last-of-type {
	margin-right: 0;
}
.mailForm .radioList .wpcf7-list-item {
	margin: 19px 29px 0 0;
}
.mailForm .radioList .wpcf7-list-item:last-of-type {
	margin-right: 0;
}
.mailForm .radioList input {
	display: none;
}
.mailForm .radioList input ~ span {
	padding-left: 27px;
	display: block;
	font-size: 1.3rem;
	font-weight: 700;
	line-height: 2;
	background: url(img/common/icon04.png) no-repeat left center / 20px auto;
}
.mailForm .radioList input:checked ~ span {
	background-image: url(img/common/icon05.png);
}
.mailForm .submit {
	margin: 0 auto 15px;
	width: 600px;
}
.mailForm .submit li:not(:last-of-type) {
	margin-bottom: 20px;
}
.mailForm .submit input {
	width: 100%;
	height: 100px;
	color: #fff;
	font-size: 3rem;
	font-weight: 700;
	text-align: center;
	border-radius: 100px;
	border: 2px solid #FA2B39;
	background-color: #FA2B39;
	cursor: pointer;
	-webkit-box-shadow: none;
}
.mailForm .txt {
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	text-align: center;
}
.mailForm .txt a {
	color: #00B1FF;
	text-decoration: underline;
}
.mailForm .textList {
	margin: 0 auto;
	width: 621px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.mailForm .textList li {
	width: 303px;
}
.mailForm .textList li dl {
	width: auto;
}
.mailForm .dateList {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.mailForm .dateList::after {
	width: 200px;
	content: '';
}
.mailForm .dateList li {
	width: 200px;
}
.mailForm input.wid01 {
	margin: 0 5px;
	width: 110px;
}
.mailForm input.wid02 {
	margin-right: 5px;
	width: 200px;
}
.mailForm .link {
	margin-left: 16px;
	padding: 9px 5px;
	width: 122px;
	display: inline-block;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 700;
	border-radius: 50px;
	text-align: center;
	box-sizing: border-box;
	background-color: #B7B7B7;
	vertical-align: 2px;
}
.mailForm input.in01 {
	background: url(img/common/bg02.png) no-repeat right center / auto 100%;
	background-color: #fff;
}
.mailForm.confirmed input[type="text"],
.mailForm.confirmed input[type="tel"],
.mailForm.confirmed input[type="email"],
.mailForm.confirmed textarea {
	padding-left: 0;
	background-color: transparent;
	-webkit-box-shadow: 0 0 0 1000px transparent inset;
}
.mailForm.confirmed input.wid01 {
	width: 50px;
    margin: 0;
    padding: 0 2px 0 5px;
}
.mailForm.confirmed input.in01 {
	background: none;
	background-color: transparent;
}
.mailForm .ddZip .wpcf7-not-valid-tip:not(:last-of-type) {
	display: none;
}
@media all and (min-width: 897px) {
	.mailForm .submit input:hover {
		color: #FA2B39;
		background-color: #fff;
	}
	.mailForm .txt a:hover {
		text-decoration: none;
	}
}
@media all and (max-width: 896px) {
	.mailForm .text {
		margin-bottom: 33px;
	}
	.mailForm .bgBox {
		padding: 29px 20px 37px;
	}
	.mailForm dl {
		margin: 0 auto 27px;
		width: auto;
	}
	.mailForm dt {
		font-size: 1.6rem;
	}
	.mailForm dd {
		margin-bottom: 14px;
		font-size: 1.5rem;
	}
	.mailForm select,
	.mailForm input[type="text"],
	.mailForm input[type="tel"],
	.mailForm input[type="email"],
	.mailForm input[type="submit"],
	.mailForm input[type="radio"],
	.mailForm textarea {
		padding: 5px 15px;
	}
	.mailForm textarea {
		height: 233px;
	}
	.mailForm .radioList {
		margin: -7px 0 23px;
		display: block;
	}
	.mailForm .radioList li {
		margin: 0 0 9px;
	}
	.mailForm .radioList li:last-of-type {
		margin-bottom: 0;
	}
	.mailForm .radioList .wpcf7-list-item {
		display: block;
		margin: 0 0 6px;
	}
	.mailForm .radioList .wpcf7-list-item:last-of-type {
		margin-bottom: 0;
	}
	.mailForm .submit {
		margin: 0 auto 14px;
		width: auto;
		max-width: 450px;
	}
	.mailForm .submit input {
		height: 49px;
		font-size: 1.4rem;
	}
	.mailForm .txt {
		font-size: 1.3rem;
		line-height: 1.69;
	}
	.mailForm .textList {
		margin-bottom: 12px;
		width: auto;
	}
	.mailForm .textList li {
		width: calc((100% - 14px) / 2);
	}
	.mailForm .dateList {
		margin-bottom: 27px;
	}
	.mailForm .dateList::after {
		width: calc((100% - 14px) / 3);
	}
	.mailForm .dateList li {
		width: 28.47%;
	}
	.mailForm .dateList li:first-of-type {
		width: 38.31%;
	}
	.mailForm input.wid01 {
		margin: 0 5px;
		width: 23.73%;
	}
	.mailForm input.wid02 {
		margin-right: 0;
		width: 100%;
	}
	.mailForm .link {
		margin-left: 0;
		padding: 6px 5px;
		width: 35.25%;
		font-size: 1.3rem;
		vertical-align: 2px;
	}
	.mailForm dt small {
		font-size: 1.4rem;
	}
}
/*------------------------------------------------------------
	comBtn
------------------------------------------------------------*/
.comBtn {
	margin: 0 auto;
	max-width: 450px;
}
.comBtn a {
	padding: 20px;
	display: block;
	color: #fff;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-align: center;
	border-radius: 80px;
	border: 2px solid #FA2B39;
	background-color: #FA2B39;
}
@media all and (min-width: 897px) {
	.comBtn a:hover {
		color: #FA2B39;
		background-color: #fff;
	}
}
@media all and (max-width: 896px) {
	.comBtn a {
		padding: 15px 20px;
		font-size: 1.5rem;
	}
}
/*------------------------------------------------------------
	content
------------------------------------------------------------*/
.content {
	width: 1000px;
	margin: 0 auto;
}
@media all and (max-width: 896px) {
	.content {
		width: auto;
		margin: 0 20px;
	}
}
/*------------------------------------------------------------
	mainVisual
------------------------------------------------------------*/
.mainVisual {
	margin-bottom: 66px;
	min-height: 600px;
	background: url(img/common/bg03.png) repeat-x left top / auto 134px,url("img/company/page_title_bg.jpg") no-repeat center center / cover;
	overflow: hidden;
	border-radius: 0 0 395px 0;
}
.mainVisual .content {
	width: 1000px;
	margin: 0 auto;
}
.mainVisual h2 {
	padding-top: 192px;
	color: #fff;
}
.mainVisual h2 .en {
	margin-bottom: -52px;
	font-size: 10rem;
	display: block;
	letter-spacing: 0.05em;
}
.mainVisual h2 .jp {
	display: block;
	font-size: 3.4rem;
	letter-spacing: 0.1em;
}
@media all and (max-width: 896px) {
	.mainVisual {
		margin-bottom: 0;
		min-height: 280px;
		background: url(img/company/sp_page_title_bg.jpg) no-repeat center center / cover;
		border-radius: 0 0 111px 0;
	}
	.mainVisual .content {
		width: auto;
		margin: 0 20px;
	}
	.mainVisual h2 {
		padding-top: 75px;
		text-align: center;
	}
	.mainVisual h2 .en {
		margin-bottom: -17px;
		font-size: 4.2rem;
	}
	.mainVisual h2 .jp {
		display: block;
		font-size: 1.6rem;
	}
}
/*------------------------------------------------------------
	headLine
------------------------------------------------------------*/
.headLine01 {
	margin-bottom: 71px;
	font-weight: 700;
	color: #1F1F1F;
	text-align: center;
}
.headLine01 .en {
	color: #E14F48;
	display: block;
	font-size: 2rem;
	letter-spacing: 0.05em;
}
.headLine01 .jp {
	margin-bottom: -10px;
	color: #1F1F1F;
	display: block;
	font-size: 4.8rem;
	letter-spacing: 0.1em;
}
.headLine02 {
	margin-bottom: 6px;
	position: relative;
	padding-left: 26px;
	color: #404040;
	font-size: 2.6rem;
	font-weight: 700;
}
.headLine02:before {
	position: absolute;
	left: 2px;
	bottom: 6px;
	top: 6px;
	width: 6px;
	background: #E14F48;
	content: "";
}
.headLine03 {
	margin-bottom: 20px;
	padding: 11px 20px 15px 108px;
	font-size: 3.2rem;
	color: #1F1F1F;
	font-weight: 700;
	letter-spacing: 0.1em;
	border-radius: 10px 10px 0 0;
	background: url(img/common/h3_img01.png) no-repeat left 40px center / 50px auto;
	background-color: #F2F2F2;
}
.headLine04 {
	margin-bottom: 127px;
	color: #9B9B9B;
	font-size: 2rem;
	line-height: 1.7;
	letter-spacing: 0.1em;
	text-align: center;
}
.headLine04 .en {
	margin-bottom: 3px;
	display: block;
	color: #E14F48;
	font-size: 7.6rem;
	line-height: 1;
	letter-spacing: 0.05em;
}
@media all and (max-width: 896px) {
	.headLine01 {
		margin-bottom: 40px;
	}
	.headLine01 .en {
		font-size: 1.2rem;
	}
	.headLine01 .jp {
		margin-bottom: -4px;
		font-size: 3rem;
	}
	.headLine02 {
		margin-bottom: 16px;
		padding-left: 15px;
		font-size: 2rem;
	}
	.headLine02:before {
		left: -1px;
		top: 4px;
	}
	.headLine03 {
		margin-bottom: 10px;
		padding: 8px 20px 7px 61px;
		font-size: 2rem;
		background-image: url(img/common/sp_h3_img01.png);
		background-position: left 20px center;
		background-size: 31px auto;
	}
	.headLine04 {
		margin-bottom: 82px;
		font-size: 1.6rem;
	}
	.headLine04 .en {
		margin-bottom: 4px;
		font-size: 4.2rem;
	}
}
/*------------------------------------------------------------
	comNaviBox
------------------------------------------------------------*/
.comNaviBox #pagePath {
	margin-bottom: 0;
	border-bottom: none;
}
.comNaviBox {
	margin-bottom: 90px;
}
.comNaviBox .linkUl {
	margin: -6px 42px 0 0;
}
.comNaviBox .linkUl li {
	padding-left: 20px;
}
.comNaviBox .linkUl li a {
	padding: 0 30px;
	width: 280px;
	color: #1F1F1F;
	font-weight: 700;
	font-size: 1.5rem;
	min-height: 60px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	background: #F2F2F2 url("img/company/icon.png") no-repeat right 21px center;
	background-size: 22px auto; 
	border-radius: 30px;
	box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.2);
	box-sizing: border-box;
}
.comNaviBox .linkUl li a:hover {
	opacity: 0.7;
}
@media all and (max-width: 896px) {
	.comNaviBox {
		margin-bottom: 67px;
		display: block;
	}
	.comNaviBox #pagePath {
		margin-bottom: 26px;
		padding-top: 16px;
	}
	.comNaviBox .linkUl {
		margin: -6px 0 0;
		display: block;
	}
	.comNaviBox .linkUl li {
		margin-bottom: 10px;
		padding: 0 20px;
		text-align: center;
	}
	.comNaviBox .linkUl li:nth-of-type(2) {
		margin-bottom: 20px;
	}
	.comNaviBox .linkUl li:last-of-type {
		margin-bottom: 0;
	}
	.comNaviBox .linkUl li a {
		margin: 0 auto;
		width: auto;
		max-width: 450px;
		font-size: 1.6rem;
	}
}
@media all and (max-width: 374px) {
	.comNaviBox .linkUl li a {
		font-size: 1.5rem;
	}
}
/*------------------------------------------------------------
	comImgBox
------------------------------------------------------------*/
.comImgBox {
	margin-bottom: 40px;
	display: flex;
	justify-content: space-between;
	border-radius: 20px;
	overflow: hidden;
	border: 4px solid #E14F48;
	background-color: #E14F48;
}
.comImgBox .photoBox {
	width: 587px;
	height: 262px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	background: url(img/service/btm_photo02.jpg) no-repeat center center / cover;
}
.comImgBox .photoBox img {
	width: 273px;
}
.comImgBox .textBox {
	padding: 55px 20px 6px;
	width: calc(100% - 597px);
	box-sizing: border-box;
}
.comImgBox .textBox h2 {
	margin-bottom: 15px;
	color: #fff;
	font-size: 4.8rem;
	line-height: 1.42;
	letter-spacing: 0.1em;
	text-align: center;
}
.comImgBox .textBox h2 span {
	display: block;
	font-size: 1.8rem;
	letter-spacing: 0.2em;
}
.comImgBox .textBox .btn01 {
	margin: 0 auto 14px;
	width: 248px;
}
.comImgBox .textBox .btn01 a {
	padding: 5px 50px 5px 48px;
	display: block;
	font-size: 1.8rem;
	font-weight: 700;
	text-align: center;
	border-radius: 40px;
	background: url(img/common/icon03.png) no-repeat right 14px center / 22px auto;
	background-color: #fff;
}
.comImgBox .textBox .link {
	margin-right: -4px;
	text-align: right;
}
.comImgBox .textBox .link a {
	padding-right: 22px;
	display: inline-block;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 500;
	text-decoration: underline;
	vertical-align: top;
	background: url(img/common/icon07.png) no-repeat right top calc(50% + 1px) / 15px auto;
}
@media all and (min-width: 897px) {
	.comImgBox .textBox .link a:hover,
	.comImgBox .textBox .btn01 a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.comImgBox {
		margin-bottom: 30px;
		padding: 14px 0 11px;
		display: block;
		border-radius: 20px;
		overflow: inherit;
		border: none;
	}
	.comImgBox .photoBox {
		width: auto;
		height: auto;
		display: block;
		background-image: none;
		z-index: 3;
	}
	.comImgBox .photoBox img {
		width: 100%;
	}
	.comImgBox .textBox {
		margin-top: -59px;
		padding: 0 20px;
		width: auto;
		position: relative;
		z-index: 5;
	}
	.comImgBox .textBox h2 {
		margin-bottom: 26px;
		font-size: 4.4rem;
	}
	.comImgBox .textBox h2 span {
		margin-bottom: -2px;
		font-size: 1.7rem;
	}
	.comImgBox .textBox .btn01 {
		margin: 0 auto 12px;
		width: 203px;
	}
	.comImgBox .textBox .btn01 a {
		padding: 4px 50px 5px 48px;
		font-size: 1.4rem;
		border-radius: 40px;
		background-size: 18px auto;
		background-position: right 11px center;
	}
	.comImgBox .textBox .link {
		margin-right: -4px;
	}
	.comImgBox .textBox .link a {
		padding-right: 30px;
		font-size: 1rem;
		background-size: 13px auto;
	}
}
@media all and (max-width: 374px) {
	.comImgBox .textBox h2 {
		font-size: 4rem;
	}
}
/*------------------------------------------------------------
	top
------------------------------------------------------------*/
#top #main {
	margin-bottom: 120px;
}
#top #container {
	padding-top: 0;
}
#top .mainImg {
	margin-bottom: 80px;
	position: relative;
	min-height: 965px;
	background: url("img/index/main_bg.png") no-repeat center bottom;
	background-size: cover;
}
#top .mainImg::before {
	width: 100%;
	height: 137px;
	position: absolute;
	left: 0;
	top: 0;
	background: url(img/common/bg03.png) no-repeat center top / 100% 137px;
	content: '';
}
#top .mainImg img {
	width: 100%;
}
#top .mainImg .inner {
	width: 1000px;
	position: absolute;
	left: 50%;
	top: 301px;
	transform: translateX(-50%);
}
#top .mainImg .subBox {
	margin-bottom: 145px;
}
#top .mainImg h2 {
	margin-bottom: 18px;
	color: #E14F48;
	font-size: 10rem;
	line-height: 1;
	letter-spacing: 0.03em;
}
#top .mainImg h2 span {
	margin-bottom: 23px;
	padding: 1px 9px 15px;
	display: inline-block;
	vertical-align: top;
	line-height: 0.8;
	background-color: #fff;
}
#top .mainImg h2 span:last-of-type {
	margin-bottom: 0;
}
#top .mainImg .txt {
	color: #1F1F1F;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.8;
}
#top .mainImg .btn a {
	padding: 10px 60px 10px 10px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-radius: 10px;
	box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);
	background: url(img/common/icon03.png) no-repeat right 22px center / 22px auto;
	background-color: #fff;
}
#top .mainImg .btn .pho {
	width: 80px;
}
#top .mainImg .btn .txtBox {
	margin-top: 3px;
	width: calc(100% - 112px);
}
#top .mainImg .btn .txtBox p {
	color: #727272;
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 2;
}
#top .mainImg .btn .txtBox .ttl {
	margin-bottom: -2px;
	color: #404040;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.5;
}
#top .service .bgBox {
	padding: 1px 0 99px;
	position: relative;
	background-color: #F2F2F2;
}
#top .service .bgBox::before {
	width: calc(100% - 80px);
	height: calc(100% - 80px);
	position: absolute;
	left: 40px;
	top: 40px;
	border-radius: 10px;
	background-color: #fff;
	content: '';
}
#top .service .bgBox .comBox {
	position: relative;
	z-index: 3;
}
#top .service .photo {
	margin: -114px 0 28px;
	text-align: center;
}
#top .service .photo img {
	width: 756px;
}
#top .service h4 {
	margin-bottom: 35px;
	color: #1F1F1F;
	font-size: 3.8rem;
	line-height: 1.74;
	text-align: center;
}
#top .service h4 span {
	color: #E14F48;
}
#top .service .linkList {
	margin-top: -60px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
#top .service .linkList li {
	margin: 60px 30px 0;
	width: 360px;
	display: flex;
	border-radius: 20px;
	background-color: #FFF2F2;
}
#top .service .linkList a {
	padding-bottom: 37px;
	width: 100%;
	box-sizing: border-box;
	background: url(img/common/icon03.png) no-repeat right 15px bottom 15px / 22px auto;
}
#top .service .linkList li a:hover {
	opacity: 0.7;
}
#top .service .linkList .pho {
	position: relative;
}
#top .service .linkList .pho img {
	width: 100%;
}
#top .service .linkList .pho span {
	display: block;
	position: absolute;
	left: 20px;
	top: 7px;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: 0.05em;
}
#top .service .linkList .txtBox {
	padding: 0 20px;
	position: relative;
}
#top .service .linkList .txtBox .title {
	margin: -40px 0 20px;
	padding: 10px;
	color: #fff;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-align: center;
	border-radius: 50px;
	background-color: #E14F48;
}
#top .service .linkList .txtBox .title.title01 {
	letter-spacing: 0;
}
#top .service .linkList .txtBox .ttl {
	margin: 0 30px -1px;
	color: #7A7A7A;
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: 0.1em;
}
#top .service .linkList .txtBox .txtList {
	margin: 0 30px;
	font-size: 1.8rem;
}
#top .service .linkList .txtBox .txtList li {
	margin: 0;
	width: auto;
	padding: 0 0 0 24px;
	position: relative;
	color: #404040;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.67;
	background-color: transparent;
}
#top .service .linkList .txtBox .txtList li::before {
	width: 11px;
	height: 11px;
	position: absolute;
	left: 1px;
	top: 11px;
	border-radius: 50%;
	background-color: #E14F48;
	content: '';
}
#top .support {
	margin-bottom: 46px;
	padding: 85px 0 79px;
	background: url(img/index/support_bg01.jpg) no-repeat center center / cover;
}
#top .support .headLine04 {
	margin-bottom: 43px;
	color: #fff;
}
#top .support .headLine04 .en {
	color: #fff;
}
#top .support .linkList {
	margin-top: -44px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#top .support .linkList::after {
	width: 304px;
	content: '';
}
#top .support .linkList li {
	margin-top: 44px;
	width: 304px;
	display: flex;
}
#top .support .linkList a {
	padding: 42px 20px 56px;
	width: 100%;
	box-sizing: border-box;
	border: 8px solid #fff;
	border-radius: 10px;
	box-shadow: 0 3px 6px rgba(0,0,0,0.3);
	background: url(img/common/icon03.png) no-repeat right 7px bottom 7px / 22px auto;
	background-color: #fff;
}
#top .support .linkList .pho {
	margin-bottom: 4px;
	text-align: center;
}
#top .support .linkList .pho img {
	height: 122px;
}
#top .support .linkList .ttl {
	color: #1F1F1F;
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.2em;
	text-align: center;
}
#top .support .linkList .ttl span {
	margin-top: 1px;
	display: block;
	color: #E14F48;
	font-size: 1.4rem;
	letter-spacing: 0;
}
#top .btmBox .text {
	margin: 0 85px 46px 75px;
	letter-spacing: 0.05em;
}
#top .btmBox .linkList {
	margin: -30px 0 60px -37px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#top .btmBox .linkList li {
	margin-top: 30px;
	width: 507px;
}
#top .btmBox .linkList .list01 {
	margin-top: 35px;
	width: 470px;
}
#top .btmBox .linkList .list01 a {
	height: 400px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	border-radius: 20px;
	background: url(img/common/icon03.png) no-repeat right 15px 
	bottom 15px / 22px auto,url(img/index/btn_bg01.png) no-repeat center center / cover;
}
#top .btmBox .linkList .list01 .ttl {
	width: 100%;
	color: #fff;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.7;
	letter-spacing: 0.2em;
	text-align: center;
}
#top .btmBox .linkList .list01 .ttl span {
	margin-bottom: 8px;
	display: block;
	font-size: 6.3rem;
	line-height: 1;
	letter-spacing: 0.05em;
}
@media all and (min-width: 897px) {
	#top .mainImg .btn a:hover {
		opacity: 0.7;
	}
	#top .support .linkList a:hover {
		background-color: #FADCDC;
	}
	#top .support .linkList a:hover .ttl {
		color: #E14F48;
	}
	#top .btmBox .linkList a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	#top #main {
		margin-bottom: 72px;
	}
	#top .mainImg {
		margin-bottom: 48px;
		background: none;
		min-height: inherit;
	}
	#top .mainImg .spInfo {
		min-height: 588px;
		background: url("img/index/sp_main_bg.png") no-repeat center;
		background-size: cover;
	}
	#top .mainImg::before {
		display: none;
	}
	#top .mainImg img {
		width: 100%;
	}
	#top .mainImg .inner {
		width: calc(100% - 40px);
		top: 200px;
	}
	#top .mainImg .subBox {
		margin-bottom: 132px;
	}
	#top .mainImg h2 {
		margin-bottom: 33px;
		font-size: 4rem;
		line-height: 1.1;
	}
	#top .mainImg h2 span {
		margin-bottom: 7px;
		padding: 0 6px 3px;
		line-height: 1.1;
	}
	#top .mainImg .txt {
		font-size: 1.4rem;
		line-height: 1.71;
		letter-spacing: 0.03em;
	}
	#top .mainImg .btn {
		margin: 40px 20px 0;
	}
	#top .mainImg .btn a {
		padding: 24px 20px 30px;
		display: block;
		border-radius: 22px;
		box-shadow: none;
		background: #FEE9E9;
	}
	#top .mainImg .btn .pho {
		margin-right: 13px;
		width: 80px;
		float: left;
	}
	#top .mainImg .btn .txtBox {
		margin-top: 22px;
		width: auto;
	}
	#top .mainImg .btn .txtBox .ttl {
		margin-bottom: 22px;
		font-size: 2.2rem;
	}
	#top .mainImg .btn .txtBox .link {
		margin-top: 9px;
		text-align: center;
	}
	#top .mainImg .btn .txtBox .link span {
		margin: 0 auto;
		padding: 4px 30px 5px 22px;
		max-width: 203px;
		display: block;
		color: #1F1F1F;
		font-size: 1.4rem;
		font-weight: 700;
		border-radius: 40px;
		box-sizing: border-box;
		box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);
		background: url(img/common/icon03.png) no-repeat right 11px center / 18px auto;
		background-color: #fff;
	}
	#top .service .bgBox {
		padding: 1px 0 40px;
	}
	#top .service .bgBox::before {
		width: 100%;
		height: calc(100% - 66px);
		left: 0;
		top: 66px;
		border-radius: 0;
	}
	#top .service .photo {
		margin: -75px -20px 35px;
	}
	#top .service .photo img {
		width: 100%;
	}
	#top .service .linkList {
		margin-top: 0;
		display: block;
	}
	#top .service .linkList li {
		margin: 0 0 20px;
		width: auto;
		display: block;
	}
	#top .service .linkList li:last-of-type {
		margin-bottom: 0;
	}
	#top .service .linkList a {
		padding-bottom: 19px;
		display: block;
		background-position: right 10px bottom 10px;
	}
	#top .service .linkList .pho span {
		left: 18px;
		top: 11px;
	}
	#top .service .linkList .txtBox .title {
		margin: -38px 0 12px;
		padding: 10px;
		font-size: 1.8rem;
	}
	#top .service .linkList .txtBox .ttl {
		margin: 0 9px -2px;
		font-size: 1.1rem;
	}
	#top .service .linkList .txtBox .txtList {
		margin: 0 10px;
		font-size: 1.4rem;
	}
	#top .service .linkList .txtBox .txtList li {
		margin: 0;
		padding: 0 0 0 21px;
		font-size: 1.4rem;
		line-height: 1.43;
	}
	#top .service .linkList .txtBox .txtList li::before {
		width: 9px;
		height: 9px;
		top: 7px;
	}
	#top .support {
		margin-bottom: 34px;
		padding: 57px 0 45px;
		background-image: url(img/index/sp_support_bg01.jpg);
	}
	#top .support .headLine04 {
		margin: 0 -5px 39px;
	}
	#top .support .linkList {
		margin-top: 0;
		display: block;
	}
	#top .support .linkList::after {
		display: none;
	}
	#top .support .linkList li {
		margin: 0 0 20px;
		width: auto;
		display: block;
	}
	#top .support .linkList li:last-of-type {
		margin-bottom: 0;
	}
	#top .support .linkList a {
		padding: 10px 20px 7px;
		display: block;
		background-position: right 2px bottom 2px;
	}
	#top .support .linkList .pho {
		margin-bottom: 4px;
	}
	#top .support .linkList .pho img {
		height: auto;
		width: 130px;
	}
	#top .support .linkList .ttl span {
		margin-top: -2px;
		display: block;
		color: #E14F48;
		font-size: 1.4rem;
		letter-spacing: 0;
	}
	#top .btmBox .text {
		margin: 0 0 30px;
		font-size: 1.4rem;
		letter-spacing: 0;
	}
	#top .btmBox .linkList {
		margin: 0 0 20px -10px;
		display: block;
	}
	#top .btmBox .linkList li {
		margin: 0 0 11px;
		width: auto;
	}
	#top .btmBox .linkList li img {
		width: 100%;
	}
	#top .btmBox .linkList li:last-of-type {
		margin-bottom: 0;
	}
	#top .btmBox .linkList .list01 {
		margin: 0 0 0 10px;
		width: auto;
	}
	#top .btmBox .linkList .list01 a {
		height: 53.33vw;
		border-radius: 20px;
		background-image: url(img/common/icon03.png),url(img/index/sp_btn_bg01.png);
		background-position: right 10px bottom 10px,center center;
	}
	#top .btmBox .linkList .list01 .ttl {
		font-size: 1.4rem;
	}
	#top .btmBox .linkList .list01 .ttl span {
		margin-bottom: 8px;
		font-size: 4.5rem;
	}
}
@media all and (max-width: 374px) {
	#top .service .linkList .txtBox .title {
		font-size: 1.5rem;
	}
	#top .support .headLine04 .en {
		font-size: 3.6rem;
	}
	#top .support .linkList .ttl {
		font-size: 2rem;
	}
	#top .mainImg h2 {
		font-size: 3.3rem;
	}
}
/*------------------------------------------------------------
	contact
------------------------------------------------------------*/
#contact .topBox {
	margin-bottom: 148px;
}
#contact .topBox .btn {
	margin: 0 auto 46px;
	width: 800px;
}
#contact .topBox .btn a {
	padding: 17px 180px;
	display: block;
	position: relative;
	color: #E14F48;
	font-size: 3rem;
	font-weight: 700;
	text-align: center;
	border-radius: 90px;
	border: 4px solid #E14F48;
	background: url(img/common/icon03.png) no-repeat right 35px center / 22px auto;
	background-color: #FFE5E6;
}
#contact .topBox .btn span {
	display: block;
	width: 110px;
	position: absolute;
	left: 53px;
	top: -34px;
}
@media all and (min-width: 897px) {
	#contact .topBox .btn a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	#contact .topBox {
		margin-bottom: 42px;
	}
	#contact .topBox .btn {
		margin: 0 auto 41px;
		width: auto;
		max-width: 450px;
	}
	#contact .topBox .btn a {
		padding: 14px 45px 16px;
		font-size: 1.8rem;
		border-width: 2px;
		background-position: right 18px center;
	}
	#contact .topBox .btn span {
		width: 70px;
		left: -2px;
		top: 4px;
	}
}
@media all and (max-width: 374px) {
	#contact .topBox .btn a {
		font-size: 1.4rem;
	}
}
/*------------------------------------------------------------
	thanks
------------------------------------------------------------*/
#thanks .topBox {
	padding-bottom: 90px;
}
#thanks .topBox p {
	margin-bottom: 40px;
	text-align: center;
}
@media all and (max-width: 896px) {
}
/*------------------------------------------------------------
	entry
------------------------------------------------------------*/
#contact.entry #pagePath {
	margin-bottom: 51px;
}
#contact.entry .topBox {
	margin-bottom: 92px;
}
#contact.entry .mailForm .bgBox {
	padding-bottom: 39px;
}
#contact.entry .mailForm dl {
	margin-bottom: 28px;
}
#contact.entry .mailForm dl.btm01 {
	margin-bottom: 72px;
}
#contact.entry .mailForm .radioList.btm01 {
	margin-bottom: 30px;
}
@media all and (max-width: 896px) {
	#contact.entry #pagePath {
		margin-bottom: 30px;
	}
	#contact.entry .topBox {
		margin-bottom: 42px;
	}
	#contact.entry .mailForm .bgBox {
		padding-bottom: 39px;
	}
	#contact.entry .mailForm dl {
		margin-bottom: 14px;
	}
	#contact.entry .mailForm dl.btm01 {
		margin-bottom: 29px;
	}
	#contact.entry .mailForm .radioList {
		margin: -12px 0 22px;
	}
	#contact.entry .mailForm .radioList .wpcf7-form-control {
		display: flex;
		flex-wrap: wrap;
	}
	#contact.entry .mailForm .radioList li {
		margin: 9px 28px 0 0;
	}
	#contact.entry .mailForm .radioList .wpcf7-list-item {
		margin: 9px 28px 0 0;
	}
	#contact.entry .mailForm .radioList li:last-of-type {
		margin-right: 0;
	}
	#contact.entry .mailForm .radioList.btm01 {
		margin-bottom: 22px;
	}
	#contact.entry .mailForm .radioList.btm01 .wpcf7-form-control {
		justify-content: space-between;
	}
	#contact.entry .mailForm .radioList.btm01 li {
		margin-right: 0;
		width: 50%;
	}
	#contact.entry .mailForm .radioList.btm01 .wpcf7-list-item {
		margin-right: 0;
		width: 50%;
	}
	#contact.entry .mailForm .must {
		margin-left: 10px;
	}
}
@media all and (max-width: 374px) {
	#contact.entry .mailForm .radioList.btm01 input ~ span {
		padding-left: 23px;
		font-size: 1.2rem;
	}
	#contact.entry .mailForm .link {
		width: 30%;
		font-size: 1rem;
	}
}
/*------------------------------------------------------------
	confirm
------------------------------------------------------------*/
#contact.confirm .mailForm dd {
	font-size: 1.6rem;
}
@media all and (max-width: 896px) {
}
/*------------------------------------------------------------
	company
------------------------------------------------------------*/
#company #container {
	padding: 0;
}
#company #main .listUl {
	margin-bottom: 44px;
}
#company #main .listUl > li {
	padding: 66px 0 76px 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-top: 2px dashed #7A7A7A;
}
#company #main .listUl > li.list01 {
	align-items: flex-start;
}
#company #main .listUl li .ttl {
	display: block;
	width: 208px;
	text-align: center;
}
#company #main .listUl li.list01 .ttl {
	margin-top: 49px;
}
#company #main .listUl li .ttl .jp {
	margin-top: 4px;
	display: block;
	font-size: 2.6rem;
	font-weight: 700;
	letter-spacing: 0.1em;
}
#company #main .listUl > li.list02 .ttl {
	margin: 70px 0 0 -17px;
	width: 240px;
}
#company #main .listUl li .txtBox {
	width: calc(100% - 273px);
}
#company #main .listUl li .txtBox .title {
	margin-bottom: 29px;
	color: #404040;
	font-size: 3rem;
	font-weight: 700;
	font-family: 'Noto Serif JP', serif;
	letter-spacing: 0.1em;
	line-height: 1.5em;
}
#company #main .listUl li .txtBox p {
	font-weight: 500;
	letter-spacing: 0.05em;
}
#company #main .listUl li .txtList li {
	padding: 0 0 8px 27px;
	position: relative;
	font-size: 1.8rem;
	letter-spacing: 0.05em;
	font-weight: 700;
}
#company #main .listUl li .txtList li:before {
	position: absolute;
	left: 0;
	top: 15px;
	width: 10px;
	height: 10px;
	background: #E14F48;
	border-radius: 50%;
	content: "";
}
#company #main .listUl li .txtBox .txt01 {
	font-size: 1.8rem;
	line-height: 2.2;
	letter-spacing: 0;
	text-align: justify;
}
#company #main .phoImg {
	margin-bottom: 87px;
}
#company #main .company {
	margin-bottom: 137px;
}
#company #main .company .headLine01 {
	margin-bottom: 61px;
}
#company #main .company .textList {
	margin-bottom: 47px;
	padding-bottom: 59px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	border-bottom: 1px dashed #7A7A7A;
}
#company #main .company .textList:last-of-type {
	padding-bottom: 0;
	margin-bottom: 0;
	border-bottom: none;
}
#company #main .company .textList > li {
	width: 50%;
}
#company #main .company .textList dl {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	font-size: 1.8rem;
	line-height: 1.67;
}
#company #main .company .textList dt,
#company #main .company .textList dd {
	margin-bottom: 21px;
}
#company #main .company .textList dt.btm01,
#company #main .company .textList dd.btm01 {
	margin-bottom: 43px;
}
#company #main .company .textList dt:last-of-type,
#company #main .company .textList dd:last-of-type {
	margin-bottom: 0;
}
#company #main .company .textList dt {
	width: 80px;
	color: #A0A0A0;
	font-weight: 700;
}
#company #main .company .textList dd {
	width: calc(100% - 85px);
	font-weight: 500;
}
#company #main .company .textList dd small {
	font-size: 1.5rem;
}
#company #main .company .textList .list01 dt {
	width: 105px;
}
#company #main .company .textList .list01 dd {
	width: calc(100% - 112px);
}
#company #main .company .textList.textList01 {
	display: block;
}
#company #main .company .textList.textList01 li {
	width: auto;
}
#company #main .company .textList.textList01 dt {
	width: 155px;
}
#company #main .company .textList.textList01 dd {
	width: calc(100% - 168px);
}
#company #main .company .textList dd .txtList li {
	padding-left: 23px;
	position: relative;
}
#company #main .company .textList dd .txtList li::before {
	width: 11px;
	height: 11px;
	position: absolute;
	left: 0;
	top: 11px;
	border-radius: 50%;
	background-color: #E14F48;
	content: '';
}
#company #main .access {
	margin-bottom: 168px;
}
#company #main .access .headLine01 {
	margin-bottom: 35px;
}
#company #main .access .map {
	margin-bottom: 20px;
	height: 398px;
}
#company #main .access .map iframe {
	width: 100%;
	height: 100%;
}
#company #main .access .text {
	margin-bottom: 16px;
	padding: 15px 29px 16px;
	font-size: 1.8rem;
	font-weight: 700;
	background-color: #F2F2F2;
}
#company #main .access .textList {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#company #main .access .textList li {
	width: 500px;
}
#company #main .access .textList li:nth-of-type(2n) {
	width: 434px;
}
#company #main .access .textList dl {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
}
#company #main .access .textList dt {
	padding: 1px 5px 2px;
	width: 76px;
	color: #A0A0A0;
	font-size: 1.4rem;
	font-weight: 700;
	text-align: center;
	border-radius: 30px;
	border: 2px solid #ACACAC;
	box-sizing: border-box;
}
#company #main .access .textList dd {
	margin-top: 2px;
	width: calc(100% - 86px);
	font-size: 1.6rem;
	font-weight: 500;
}
@media all and (max-width: 896px) {
	#company #container {
		padding-top: 60px;
	}
	#company #main .listUl {
		margin-bottom: 59px;
	}
	#company #main .listUl > li {
		padding: 46px 0 58px;
		display: block;
		border-width: 1px;
	}
	#company #main .listUl > li.list04 {
		padding-bottom: 47px;
	}
	#company #main .listUl li .ttl {
		margin-bottom: 22px;
		width: auto;
		text-align: left;
	}
	#company #main .listUl li.list01 .ttl {
		margin-top: 0;
	}
	#company #main .listUl li .ttl .jp {
		margin-top: 3px;
		font-size: 2.1rem;
	}
	#company #main .listUl > li.list02 {
		padding-bottom: 0;
	}
	#company #main .listUl > li.list02 .ttl {
		margin: 0 0 24px;
		width: auto;
	}
	#company #main .listUl > li.list03 .ttl {
		margin-bottom: 14px;
	}
	#company #main .listUl > li.list04 .ttl {
		margin-bottom: 14px;
	}
	#company #main .listUl li .txtBox {
		width: auto;
	}
	#company #main .listUl li .txtBox .title {
		margin-bottom: 23px;
		font-size: 2.4rem;
	}
	#company #main .listUl li .txtBox p {
		font-size: 1.4rem;
		line-height: 1.86;
	}
	#company #main .listUl li .txtList li {
		padding: 0 0 16px 29px;
		font-size: 1.4rem;
		line-height: 1.71;
	}
	#company #main .listUl li .txtList li:last-of-type {
		padding-bottom: 0;
	}
	#company #main .listUl > li.list04 .txtList li {
		padding-bottom: 21px;
	}
	#company #main .listUl > li.list04 .txtList li:last-of-type {
		padding-bottom: 0;
	}
	#company #main .listUl li .txtList li:before {
		top: 6px;
		left: 2px;
		width: 11px;
		height: 11px;
	}
	#company #main .listUl li .txtBox .txt01 {
		font-size: 1.4rem;
		line-height: 2.29;
	}
	#company #main .phoImg {
		margin-bottom: 49px;
	}
	#company #main .phoImg img {
		width: 100%;
	}
	#company #main .company {
		margin-bottom: 58px;
	}
	#company #main .company .headLine01 {
		margin-bottom: 20px;
	}
	#company #main .company .textList {
		margin-bottom: 28px;
		padding-bottom: 37px;
		display: block;
		border-bottom: 1px dashed #7A7A7A;
	}
	#company #main .company .textList:last-of-type {
		padding-bottom: 0;
		margin-bottom: 0;
		border-bottom: none;
	}
	#company #main .company .textList > li {
		margin-bottom: 17px;
		width: auto;
	}
	#company #main .company .textList > li:last-of-type {
		margin-bottom: 0;
	}
	#company #main .company .textList dl {
		font-size: 1.8rem;
		line-height: 1.67;
	}
	#company #main .company .textList dt,
	#company #main .company .textList dd {
		margin-bottom: 14px;
	}
	#company #main .company .textList dt.btm01,
	#company #main .company .textList dd.btm01 {
		margin-bottom: 15px;
	}
	#company #main .company .textList dt:last-of-type,
	#company #main .company .textList dd:last-of-type {
		margin-bottom: 0;
	}
	#company #main .company .textList dt {
		width: 70px;
		font-size: 1.4rem;
	}
	#company #main .company .textList dd {
		margin-top: -3px;
		width: calc(100% - 75px);
		font-weight: 500;
		font-size: 1.4rem;
		line-height: 2.14;
	}
	#company #main .company .textList dd small {
		margin: -1px 0 10px;
		font-size: 1.1rem;
		display: block;
	}
	#company #main .company .textList dd small:last-of-type {
		margin-bottom: 0;
	}
	#company #main .company .textList .list01 dt {
		width: 70px;
	}
	#company #main .company .textList .list01 dd {
		width: calc(100% - 75px);
	}
	#company #main .company .textList.textList01 {
		display: block;
	}
	#company #main .company .textList.textList01 li {
		width: auto;
	}
	#company #main .company .textList.textList01 dl {
		display: block;
	}
	#company #main .company .textList.textList01 dt {
		margin-bottom: 11px;
		width: auto;
	}
	#company #main .company .textList.textList01 dd {
		margin-bottom: 24px;
		width: auto;
		line-height: 1.74;
	}
	#company #main .company .textList.textList01 dd.btm02 {
		margin-bottom: 34px;
	}
	#company #main .company .textList.textList01 dd:last-of-type {
		margin-bottom: 0;
	}
	#company #main .company .textList dd .txtList li {
		margin-bottom: 10px;
		padding-left: 22px;
	}
	#company #main .company .textList dd .txtList li:last-of-type {
		margin-bottom: 0;
	}
	#company #main .company .textList dd .txtList li::before {
		width: 13px;
		height: 13px;
		left: 1px;
		top: 6px;
	}
	#company #main .access {
		margin-bottom: 37px;
	}
	#company #main .access .headLine01 {
		margin-bottom: 17px;
	}
	#company #main .access .map {
		height: 69.6vw;
		margin: 0 -20px 20px;
	}
	#company #main .access .text {
		margin-bottom: 18px;
		padding: 20px 18px 19px;
		font-size: 1.3rem;
		line-height: 1.85;
	}
	#company #main .access .textList {
		display: block;
	}
	#company #main .access .textList li {
		margin-bottom: 10px;
		width: auto;
	}
	#company #main .access .textList li:last-of-type {
		margin-bottom: 0;
	}
	#company #main .access .textList li:nth-of-type(2n) {
		width: auto;
	}
	#company #main .access .textList dl {
		align-items: center;
	}
	#company #main .access .textList dt {
		padding: 1px 5px 2px;
	}
	#company #main .access .textList dd {
		margin-top: 0;
		width: calc(100% - 96px);
		font-size: 1.2rem;
		line-height: 1.67;
		font-weight: 500;
	}
}
@media all and (max-width: 374px) {
	#company #main .listUl li .txtBox .title {
		font-size: 2.3rem;
	}
	#company #main .listUl li .txtList li {
		font-size: 1.2rem;
	}
}
/*------------------------------------------------------------
	service
------------------------------------------------------------*/
#service #container {
	padding: 0;
}
#service .mainVisual {
	background: url(img/common/bg03.png) repeat-x left top / auto 134px,url("img/service/page_title_bg.jpg") no-repeat center bottom / cover;
}
#service .comNaviBox {
	margin-bottom: 101px;
}
#service .topBox {
	margin-bottom: 85px;
	padding-bottom: 55px;
	position: relative;
}
#service .topBox::before {
	width: 100%;
	height: calc(100% - 125px);
	position: absolute;
	left: 0;
	top: 125px;
	background: url(img/service/top_bg01.jpg) repeat left top / 5px auto;
	content: '';
	z-index: -1;
}
#service .topBox .photo {
	margin-bottom: 21px;
	text-align: center;
}
#service .topBox .photo img {
	width: 756px;
}
#service .topBox .whiteBox {
	padding: 56px 70px 64px;
	border-radius: 10px;
	background-color: #fff;
}
#service .topBox .whiteBox h3 {
	margin-bottom: 21px;
	font-size: 3.8rem;
	line-height: 1.74;
}
#service .topBox .whiteBox h3 span {
	color: #E14F48;
}
#service .topBox .whiteBox p {
	letter-spacing: 0.05em;
}
#service #main .service {
	margin-bottom: 92px;
}
#service #main .service .headLine01 {
	margin-bottom: 42px;
}
#service #main .service .photo {
	margin-bottom: 45px;
	position: relative;
}
#service #main .service .photo::before {
	width: 4px;
	height: 56px;
	position: absolute;
	left: 50%;
	top: -28px;
	transform: translateX(-50%);
	background-color: #E14F48;
	content: '';
}
#service #main .service .photo img {
	width: 100%;
}
#service #main .service .photo span {
	width: 267px;
	display: block;
	position: absolute;
	right: 21px;
	bottom: -211px;
}
#service #main .service .textBox {
	width: 680px;
}
#service #main .service .textBox {
	margin-bottom: 64px;
}
#service #main .service .textBox p {
	letter-spacing: 0.05em;
}
#service #main .service .textImg {
	margin: 0 auto;
	width: 555px;
}
#service #main .inner {
	align-items: center;
	border: 1px solid #ACACAC;
	border-bottom: none;
}
#service #main .inner .photoBox {
	padding: 19px 20px;
	width: 440px;
	background: #F6F6F6;
	box-sizing: border-box;
}
#service #main .inner .photoBox img {
	border-radius: 10px;
}
#service #main .inner .textBox {
	padding-right: 40px;
	width: 524px;
	box-sizing: border-box;
}
#service #main .inner .textBox p {
	font-weight: 500;
	letter-spacing: 0.05em;
}
#service #main .inner:last-of-type {
	border-bottom: 1px solid #ACACAC;
}
#service #main .step {
	margin: 119px 0 106px;
	padding: 50px 0 75px;
	background-color: #FFE5E6;
}
#service #main .step .headLine01 {
	margin-bottom: 49px;
	position: relative;
}
#service #main .step .headLine01 .jp {
	font-size: 3.2rem;
}
#service #main .step .headLine01 .img {
	display: block;
	width: 158px;
	position: absolute;
	left: 0;
	top: -89px;
}
#service #main .step .textList {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#service #main .step .textList::after {
	width: 304px;
	content: '';
}
#service #main .step .textList li {
	padding: 57px 21px 43px;
	width: 304px;
	box-sizing: border-box;
	border-radius: 10px;
	background-color: #fff;
}
#service #main .step .textList .num {
	margin-bottom: 22px;
	color: #E14F48;
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1.13;
	letter-spacing: 0.05em;
	text-align: center;
}
#service #main .step .textList .num span {
	padding-bottom: 3px;
	display: inline-block;
	border-bottom: 3px solid #E14F48;
	vertical-align: top;
}
#service #main .step .textList .ttl {
	margin-bottom: 41px;
	color: #E35A5A;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0;
	text-align: center;
}
#service #main .step .textList p {
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.86;
	letter-spacing: 0.05em;
}
#service #main .service01 {
	margin-bottom: 81px;
}
#service #main .service01 .photo span {
	width: 324px;
	right: auto;
	left: 0;
	bottom: -202px;
}
#service #main .service01 .textBox {
	margin: 0 0 48px auto;
}
#service #main .service01 .textImg {
	width: 753px;
}
#service #main .btmBox .inner {
	align-items: flex-start;
}
#service #main .btmBox .inner .textBox {
	margin-top: 37px;
}
#service #main .step01 {
	margin-bottom: 108px;
}
#service #main .step01 .headLine01 .img {
	width: 166px;
	left: auto;
	right: 0;
	top: -107px;
}
#service #main .step01 .textList li {
	padding-bottom: 54px;
}
#service #main .btmBox01 {
	margin-bottom: 149px;
}
#service #main .btmBox01 .btn02 a {
	padding: 21px 20px 23px;
	display: block;
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-align: center;
	border-radius: 20px;
	border: 1px solid #D5D5D5;
	background-color: #EFEFEF;
}
#service #main .btmBox01 .btn02 span {
	padding-right: 31px;
	display: inline-block;
	background: url(img/common/icon03.png) no-repeat right top calc(50% + 1px) / 22px auto;
	vertical-align: top;
}
#service #main .service.service02 {
	margin: -17px 0 100px;
}
#service #main .service.service02 .photo span {
	right: auto;
	left: 0;
	width: 286px;
	bottom: -201px;
}
#service #main .service.service02 .textBox {
	margin: 0 0 49px auto;
}
#service #main .service.service02 .textImg {
	width: 735px;
}
#service #main .step02 {
	margin: 100px 0 87px;
	padding-bottom: 80px;
}
#service #main .step02 .textList li {
	padding-bottom: 30px;
}
#service #main .step02 .textList p {
	text-align: center;
}
#service #main .btnArea {
	margin-top: 40px;
}
#service .comNaviBox .linkUl li.spec {
	margin-bottom: 10px;
}
#service .comNaviBox .linkUl li.spec a {
	padding: 0 43px 0 17px;
}
#service #main .btnArea a {
	min-height: 9.4rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	background-color: #E14F48;
	border-radius: 2rem;
	text-align: center;
}
#service #main .btnArea a:hover {
	opacity: 0.7;
}
#service #main .btnArea a .sub {
	padding-right: 40px;
	color: #FFF;
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	background: url(img/service/icon01.png) no-repeat right center / 22px;
}
@media all and (min-width: 897px) {
	#service #main .btmBox01 .btn02 a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	#service .mainVisual {
		min-height: 341px;
		background: url(img/service/sp_page_title_bg.jpg) no-repeat center center / cover;
	}
	#service .mainVisual h2 {
		padding-top: 138px;
	}
	#service .comNaviBox {
		margin-bottom: 53px;
	}
	#service .topBox {
		margin-bottom: 60px;
		padding-bottom: 48px;
	}
	#service .topBox::before {
		height: calc(100% - 73px);
		top: 73px;
	}
	#service .topBox .photo {
		margin: 0 -20px 25px;
	}
	#service .topBox .photo img {
		width: 100%;
	}
	#service .topBox .whiteBox {
		padding: 27px 30px 26px;
		border-radius: 10px;
	}
	#service .topBox .whiteBox h3 {
		margin: 0 -15px 3px;
		font-size: 1.9rem;
		line-height: 2;
		text-align: center;
	}
	#service .topBox .whiteBox p {
		font-size: 1.4rem;
		line-height: 2;
	}
	#service #main .service {
		margin-bottom: 60px;
	}
	#service #main .service .headLine01 {
		margin-bottom: 21px;
		text-align: left;
	}
	#service #main .service .headLine01 .jp {
		margin-bottom: -9px;
	}
	#service #main .service .photo {
		margin-bottom: 22px;
	}
	#service #main .service .photo::before {
		display: none;
	}
	#service #main .service .photo span {
		width: 79px;
		right: 11px;
		bottom: auto;
		top: -117px;
	}
	#service #main .service .textBox {
		width: auto;
	}
	#service #main .service .textBox {
		margin-bottom: 36px;
	}
	#service #main .service .textBox p {
		font-size: 1.4rem;
		line-height: 2;
	}
	#service #main .service .textImg {
		width: auto;
		text-align: center;
	}
	#service #main .inner {
		display: block;
	}
	#service #main .inner .photoBox {
		padding: 19px;
		width: auto;
	}
	#service #main .inner .photoBox img {
		border-radius: 10px;
		width: 100%;
	}
	#service #main .inner .textBox {
		padding: 18px 20px 25px;
		width: auto;
		min-height: 226px;
	}
	#service #main .inner .textBox p {
		font-size: 1.4rem;
		line-height: 1.71;
		text-align: justify;
	}
	#service #main .step {
		margin: 119px 0 49px;
		padding: 1px 0 52px;
	}
	#service #main .step .headLine01 {
		margin: -34px 0 34px;
	}
	#service #main .step .headLine01 .jp {
		font-size: 2rem;
		line-height: 1.15;
	}
	#service #main .step .headLine01 .img {
		margin: 0 auto 15px;
		display: block;
		position: relative;
		width: 123px;
		top: 0;
	}
	#service #main .step .textList {
		display: block;
	}
	#service #main .step .textList::after {
		display: none;
	}
	#service #main .step .textList li {
		margin-bottom: 20px;
		padding: 40px 21px 35px;
		width: auto;
	}
	#service #main .step .textList li:last-of-type {
		margin-bottom: 0;
	}
	#service #main .step .textList .num {
		margin-bottom: 13px;
	}
	#service #main .step .textList .num span {
		padding-bottom: 2px;
	}
	#service #main .step .textList .ttl {
		margin-bottom: 18px;
	}
	#service #main .step .textList p {
		font-size: 1.4rem;
		line-height: 1.71;
	}
	#service #main .service01 {
		margin-bottom: 46px;
	}
	#service #main .service01 .headLine01 {
		margin-bottom: 36px;
		text-align: right;
	}
	#service #main .service01 .headLine01 .jp {
		font-size: 2.6rem;
		letter-spacing: 0;
		font-feature-settings: 'palt';
	}
	#service #main .service01 .photo {
		margin-bottom: 27px;
	}
	#service #main .service01 .photo span {
		width: 104px;
		bottom: auto;
		top: -52px;
	}
	#service #main .service01 .textBox {
		margin: 0 0 24px auto;
	}
	#service #main .service01 .textImg {
		width: auto;
	}
	#service #main .btmBox .inner {
		align-items: flex-start;
	}
	#service #main .btmBox .inner .textBox {
		margin-top: 0;
		min-height: 215px;
	}
	#service #main .step01 {
		margin-bottom: 31px;
		padding-bottom: 70px;
	}
	#service #main .step01 .headLine01 {
		margin-top: -46px;
	}
	#service #main .step01 .headLine01 .img {
		width: 129px;
		left: auto;
		right: 0;
		top: 0;
	}
	#service #main .step01 .textList li {
		padding-bottom: 38px;
	}
	#service #main .btmBox01 {
		margin-bottom: 32px;
	}
	#service #main .btmBox01 .btn02 {
		margin: 0 auto;
		max-width: 335px;
	}
	#service #main .btmBox01 .btn02 a {
		padding: 15px 20px 16px;
		font-size: 1.6rem;
	}
	#service #main .btmBox01 .btn02 span {
		padding: 5px 30px 5px 5px;
		display: block;
		text-align: left;
		background-size: 18px auto;
	}
	#service #main .service.service02 {
		margin: 63px 0 58px;
	}
	#service #main .service.service02 .headLine01 {
		margin-bottom: 31px;
		line-height: 1.4;
	}
	#service #main .service.service02 .headLine01 .jp {
		margin-bottom: 5px;
	}
	#service #main .service.service02 .photo span {
		right: 0;
		left: auto;
		width: 142px;
		bottom: auto;
		top: -36px;
	}
	#service #main .service.service02 .textBox {
		margin: 0 0 40px auto;
	}
	#service #main .service.service02 .textImg {
		margin: 0 -2px;
		width: auto;
	}
	#service #main .service.service02 .textImg img {
		width: 100%;
	}
	#service #main .step02 {
		margin: 100px 0 87px;
		padding: 5px 0 95px;
	}
	#service #main .step02 .headLine01 {
		margin-top: -51px;
	}
	#service #main .step.step02 .headLine01 .img {
		width: 129px;
	}
	#service #main .step02 .textList li {
		padding-bottom: 15px;
	}
	#service #main .step02 .textList p {
		text-align: left;
	}
	#service .comNaviBox .linkUl li.spec a {
		padding: 0 30px;
	}
	#service #main .btnArea {
		margin: 39px auto 0;
		max-width: 33.5rem;
	}
	#service #main .btnArea a {
		min-height: 80px;
		text-align: left;
	}
	#service #main .btnArea a .sub {
		padding: 0 40px 0 22px;
		display: block;
		font-size: 1.8rem;
		font-weight: 700;
		letter-spacing: 0.1em;
		line-height: 1.48;
		background: url(img/service/icon01.png) no-repeat right 16px center / 22px;
	}
}
@media all and (max-width: 374px) {
	#service #main .service01 .headLine01 .jp {
		font-size: 2.3rem;
	}
	#service #main .headLine01 .jp {
		font-size: 2.5rem;
	}
	#service #main .btmBox01 .btn02 a {
		padding: 15px 10px 16px;
		font-size: 1.4rem;
	}
}
@media all and (max-width: 359px) {
	#service #main .step.step02 .headLine01 .jp {
		margin: 0 -10px;
	}
	#service #main .step.step02 .textList .ttl {
		margin: 0 -15px 18px;
	}
	#service #main .btnArea a .sub {
		font-size: 1.6rem;
	}
}
/*------------------------------------------------------------
	career
------------------------------------------------------------*/
#career #container {
	padding: 0;
}
#career .mainVisual {
	background: url(img/common/bg03.png) repeat-x left top / auto 134px,url(img/career/page_title_bg.jpg) no-repeat center bottom / cover;
}
#career .topBox {
	margin-bottom: 123px;
	padding-top: 12px;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
#career .topBox .photo {
	width: 359px;
}
#career .topBox .textBox {
	padding: 48px 31px;
	width: 641px;
	box-sizing: border-box;
	background-color: #FFE5E6;
	border-radius: 10px;
}
#career .career {
	margin-bottom: 135px;
}
#career .career .headLine01 {
	margin-bottom: 59px;
}
#career .career .photo {
	margin: 0 auto 75px;
	width: 861px;
}
#career .career .photo img {
	margin-left: 20px;
}
#career .career dl {
	padding: 26px 0 30px;
	display: flex;
	border-top: 1px dashed #7A7A7A;
}
#career .career dl:last-child {
	border-bottom: 1px dashed #7A7A7A;
} 
#career .career dt {
	padding-left: 30px;
	width: calc(100% - 750px);
	font-size: 1.4rem;
	font-weight: 700;
	box-sizing: border-box;
}
#career .career dt span {
	margin-left: 10px;
	display: block;
	font-size: 2.2rem;
}
#career .career dd {
	margin-left: 30px;
	width: 720px;
	letter-spacing: 0.05em;
}
#career .training {
	margin-bottom: 110px;
	padding: 1px 0 94px;
	background-color: #F2F2F2;
}
#career .training .headLine01 {
	margin-bottom: 38px;
}
#career .training .photo {
	margin: -60px auto 24px;
	width: 292px;
}
#career .training ul > li {
	margin-bottom: 30px;
	padding: 24px 20px 29px 120px;
	position: relative;
	border: 1px solid #ACACAC;
	background-color: #fff;
	min-height: 213px;
	box-sizing: border-box;
}
#career .training ul > li:last-child {
	margin-bottom: 0;
}
#career .training .txtList {
	margin: -10px 0 25px;
	padding-bottom: 14px;
	display: flex;
	flex-wrap: wrap;
	border-bottom: 1px dashed #7A7A7A;
}
#career .training .txtList li {
	margin: 10px 30px 0 0;
	padding: 0 0 0 20px;
	border: none;
	min-height: inherit;
	font-size: 2rem;
	font-weight: 700;
}
#career .training .txtList li:last-child {
	margin-right: 0;
}
#career .training .txtList li::before {
	margin-top: 2px;
	width: 10px;
	height: 10px;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	border-radius: 50%;
	background-color: #E14F48;
	content: "";
}
#career .training li .title {
	padding: 26px 6px 0 0;
	width: 60px;
	height: calc(100% + 2px);
	position: absolute;
	top: -1px;
	left: 19px;
	color: #1F1F1F;
	font-size: 2.6rem;
	font-weight: 700;
	writing-mode: horizontal-tb;
	writing-mode: vertical-rl;
	writing-mode: tb-rl;
	-webkit-writing-mode: horizontal-tb; 
	-webkit-writing-mode: vertical-rl;
	-webkit-writing-mode: tb-rl;
	background-color: #FFE5E6;
	letter-spacing: 0.38em;
	box-sizing: border-box;
}
#career .training li .title02 {
	padding-top: 42px;
}
#career .training li:nth-child(2n) .title {
	color: #fff;
	background-color: #E14F48;
}
#career .training .sizeTxt .title {
	padding: 40px 11px 0 0;
	font-size: 2.2rem;
	letter-spacing: 0.3em;
}
#career .training li .title::before {
	width: 60px;
	height: 21px;
	position: absolute;
	bottom: -21px;
	left: 0;
	background: url(img/career/icon01.png) no-repeat left center / 60px;
	content: "";
}
#career .training li:nth-child(2n) .title::before {
	background-image: url(img/career/icon02.png);
}
#career .training .noText .title::before {
	display: none;
}
#career .training .cor .title {
	color: #fff;
	background-color: #B5B5B5;
}
#career .training li p {
	font-size: 1.4rem;
	line-height: 1.857;
	letter-spacing: 0.05em;
}
#career .support .headLine01 {
	margin-bottom: 43px;
}
#career .support ul {
	margin: -20px 0 95px;
	display: flex;
	flex-wrap: wrap;
}
#career .support li {
	margin: 20px 43px 0 0;
	width: calc((100% - 86px) / 3);
	padding: 48px 30px 43px;
	border: 6px solid #FFE5E6;
	border-radius: 10px;
	box-sizing: border-box;
}
#career .support li:nth-child(3n) {
	margin-right: 0;
}
#career .support li .titleBox {
	margin-bottom: 8px;
}
#career .support li .titleBox .pho {
	margin-bottom: 7px;
	text-align: center;
}
#career .support li .titleBox .pho img {
	width: auto;
	height: 54px;
}
#career .support li .titleBox .ttl {
	text-align: center;
	font-size: 2.2rem;
	font-weight: 700;
	letter-spacing: 0.1em;
}
#career .support li .titleBox .ttl small {
	font-size: 1.6rem;
}
#career .support li p {
	font-size: 1.4rem;
	line-height: 1.857;
	letter-spacing: 0.05em;
}
@media all and (max-width: 896px) {
	#career #container {
		padding-top: 60px;
	}
	#career .mainVisual {
    	background: url(img/career/sp_page_title_bg.jpg) no-repeat center bottom / cover;
	}
	#career .mainVisual h2 {
		margin: 0 -1px;
	}
	#career .comNaviBox {
		margin-bottom: 65px;
	}
	#career .comNaviBox .linkUl li:nth-of-type(2) {
		margin-bottom: 10px;
	}
	#career .topBox {
		margin-bottom: 38px;
		padding-top: 0px;
		display: block;
	}
	#career .topBox .photo {
		margin: 0 auto;
		width: 230px;
	
	}
	#career .topBox .photo img {
		margin-left: 5px;
	}
	#career .topBox .textBox {
		margin-top: -43px;
		padding: 52px 30px 25px;
		width: auto;
	}
	#career .topBox .textBox p {
		font-size: 1.4rem;
		text-align: justify;
	}
	#career .career {
		margin-bottom: 120px;
		overflow: hidden;
	}
	#career .career .headLine01 {
		margin-bottom: 31px;
	}
	#career .career .photo {
		margin: 0 -35px 48px -5px;
		width: auto;
	}
	#career .career .photo img {
		margin: 0;
		width: 100%;
	}
	#career .career dl {
		padding: 30px 0 40px;
		display: block;
	} 
	#career .career dl:last-child {
		border-bottom: none;
	}
	#career .career dt {
		margin-bottom: 5px;
		padding-left: 0;
		width: auto;
		font-size: 1.2rem;
	}
	#career .career dt span {
		margin: -7px 0 0 0;
		display: inline-block;
		vertical-align: middle;
	}
	#career .career dd {
		margin-left: 0;
		width: auto;
		font-size: 1.4rem;
	}
	#career .training {
		margin-bottom: 54px;
		padding: 1px 0 94px;
		background-color: #F2F2F2;
	}
	#career .training .headLine01 {
		margin-bottom: 22px;
	}
	#career .training .photo {
		margin: -92px auto 12px;
		width: 251px;
	}
	#career .training ul > li {
		margin-bottom: 60px;
		padding: 1px 1px 0;
		min-height: inherit;
		position: relative;
	}
	#career .training ul > li::before {
		width: 60px;
		height: 21px;
		position: absolute;
		bottom: -42px;
		left: 50%;
		transform: translateX(-50%);
		background: url(img/career/icon03.png) no-repeat bottom center / 60px;
		content: "";
	} 
	#career .training ul > li:last-child:before,
	#career .training li:nth-child(2n) .title::before,
	#career .training li .title::before {
		display: none;
	}
	#career .training li .title02 {
		padding-top: 0;
	}
	#career .training li .textBox {
		padding: 20px 30px 24px;
	}
	#career .training .txtList {
		margin: -10px 0 15px;
		padding-bottom: 16px;
		display: flex;
		border-bottom: 1px dashed #7A7A7A;
	}
	#career .training .txtList li {
		margin-top: 10px;
		padding: 0 0 0 21px;
		font-size: 1.4rem;
		font-weight: 500;
	}
	#career .training .txtList li::before {
		margin-top: 1px;
		width: 13px;
		height: 13px;
		left: 0;
		background-image: none;
	}
	#career .training .txtList li:last-child:before {
		display: block;
	}
	#career .training li .title,
	#career .training .sizeTxt .title {
		padding: 0 6px;
		width: auto;
		height: auto;
		position: static;
		font-size: 1.8rem;
		text-align: center;
		letter-spacing: 0.4em;
		writing-mode: horizontal-tb;
	-webkit-writing-mode: horizontal-tb; 
	-moz-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
	}
	#career .training li p {
		line-height: 2;
	}
	#career .support .headLine01 {
		margin-bottom: 28px;
	}
	#career .support ul {
		margin: 0 0 70px;
		display: block;
	}
	#career .support li {
		margin: 0 auto 30px;
		width: auto;
		padding: 28px 30px 29px;
		border-radius: 10px;
	}
	#career .support li:last-child {
		margin-bottom: 0;
	}
	#career .support li .titleBox {
		margin-bottom: 12px;
		display: flex;
		align-items: center;
	}
	#career .support li .titleBox .pho {
		margin: 0 16px 0 0;
	}
	#career .support li .titleBox .ttl small {
		display: block;
	}
}
@media all and (max-width: 374px) {
	#career .mainVisual h2 {
		margin: 0 -25px;
	}
	#career .mainVisual h2 .en {
		font-size: 3.9rem;
	}
	#career .support li .titleBox .pho {
		margin-right: 12px;
	}
	#career .support li .titleBox .ttl {
		font-size: 1.8rem;
	}
}
/*------------------------------------------------------------
	firststep
------------------------------------------------------------*/
#firststep #container {
	padding: 0;
}
#firststep .visual {
	margin-bottom: 70px;
	min-height: 366px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: url("img/firststep/visual_bg.png") no-repeat center bottom;
	background-size: 100% auto;
}
#firststep .visual h2 {
	padding-top: 80px;
	color: #E14F48;
	font-size: 6rem;
	text-align: center;
	letter-spacing: 0.1em;
}
#firststep .visual .content {
	position: relative;
}
#firststep .visual .img01 {
	position: absolute;
	left: 30px;
	top: 16px;
}
#firststep .visual .img02 {
	position: absolute;
	right: -80px;
	bottom: -163px;
}
#firststep .topTxt {
	margin: 0 auto 57px;
	width: 850px;
	font-weight: 500;
}
#firststep .comNaviBox {
	margin-bottom: 110px; 
}
#firststep .comNaviBox .linkUl {
	margin-right: 0;
}
#firststep .comNaviBox .linkUl li {
	padding: 0 10px;
}
#firststep .borderBox {
	margin-bottom: 92px;
	padding: 54px 65px 84px;
	border: 6px solid #D1D1D1;
	border-radius: 10px;
}
#firststep .borderBox .headLine01 {
	margin-bottom: 40px;
}
#firststep .borderBox .imgBox {
	margin-bottom: 46px;
	text-align: center;
}
#firststep .borderBox p {
	font-weight: 500;
}
#firststep .reason {
	padding: 64px 0 54px;
	background: #FFE5E6;
}
#firststep .reason .content {
	position: relative;
}
#firststep .reason .topPho {
	position: absolute;
	left: -60px;
	top: -116px;
}
#firststep .reason h3 {
	margin-bottom: 57px;
	font-size: 4.2rem;
	letter-spacing: 0.1em;
	text-align: center;
}
#firststep .reason .listUl {
	margin: 0 -30px;
}
#firststep .reason .listUl li {
	margin: 0 23px 30px;
	padding-bottom: 43px;
	width: 303px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	min-height: 296px;
	background: #fff;
	text-align: center;
	box-sizing: border-box;
	border-radius: 10px;
}
#firststep .reason .listUl li .num {
	margin-bottom: 23px;
	color: #E14F48;
	font-weight: 700;
	font-size: 3.2rem;
	letter-spacing: 0.05em;
	font-family: Arial, Helvetica, "sans-serif";
}
#firststep .reason .listUl li .num .info {
	display: inline;
	padding-bottom: 3px;
	border-bottom: 3px solid #E14F48;
}
#firststep .reason .listUl li .ttl {
	margin-bottom: 9px;
	color: #E14F48;
	font-size: 2.8rem;
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: 0.05em;
}
#firststep .reason .listUl li .txtSpan {
	display: block;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.45;
}
#firststep .phoImg {
	margin-bottom: 56px;
}
#firststep .phoImg img {
	width: 100%;
}
#firststep .flow {
	padding-bottom: 82px;
}
#firststep .flow .headLine01 {
	margin-bottom: 55px;
}
#firststep .flow .content {
	width: 860px;
	position: relative;
}
#firststep .flow .flowList {
	position: relative;
}
#firststep .flow .flowList:before {
	position: absolute;
	left: 92px;
	top: 50px;
	width: 4px;
	bottom: 40px;
	background: #E14F48;
	content: "";
	z-index: 2;
}
#firststep .flow .flowList li {
	margin-bottom: 20px;
	padding: 20px 0 22px 170px;
	position: relative;
	border: 4px solid #D1D1D1;
	border-radius: 10px;
	box-sizing: border-box;
}
#firststep .flow .flowList li .txtSpan {
	position: absolute;
	left: 45px;
	top: 13px;
	width: 90px;
	height: 90px;
	color: #fff;
	font-size: 1.3rem;
	font-family: Arial, Helvetica, "sans-serif";
	font-weight: 700;
	display: flex;
	line-height: 1.1;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	background: #E14F48;
	border-radius: 50%;
	letter-spacing: 0.05em;
	text-align: center;
	z-index: 3;
}
#firststep .flow .flowList li .num {
	font-size: 3.2rem;
	display: block;
}
#firststep .flow .flowList li .txt {
	margin-left: 3px;
	display: block;
	font-size: 1.4rem;
	font-weight: 500;
	letter-spacing: 0.05em;
}
#firststep .flow .flowList li .top {
	margin-bottom: -3px;
	display: block;
	font-size: 2.4rem;
	font-weight: 700;
}
#firststep .flow .flowList .red {
	border-color: #FFAFB2;
}
#firststep .flow .flowList .red .top01 {
	color: #E35A5A;
}
#firststep .flow .pho {
	position: absolute;
	right: -70px;
	bottom: -64px;
	width: 225px;
}
#firststep .qa {
	padding: 54px 0 110px;
	background: #F2F2F2;
}
#firststep .qa h3 {
	margin-bottom: 22px;
	color: #1F1F1F;
	font-size: 6rem;
	font-family: Arial, Helvetica, "sans-serif";
	font-weight: 700;
	letter-spacing: 0.2em;
	text-align: center;
}
#firststep .qa .infoBox {
	margin-top: -30px;
	align-items: flex-start;
}
#firststep .qa .txtInner {
	margin-top: 30px;
	width: 478px;
	padding: 5px 10px;
	background: #fff;
	border: 4px solid #D1D1D1;
	border-radius: 10px;
	box-sizing: border-box;
}
#firststep .qa .qTxt {
	padding: 15px 35px 20px 45px;
	position: relative;
	cursor: pointer;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.05em;
}
#firststep .qa .qTxt:before {
	position: absolute;
	right: 6px;
	top: 50%;
	margin-top: -13px;
	background: url("img/firststep/icon02.png") no-repeat right center;
	background-size: 24px auto;
	width: 24px;
	height: 24px;
	content: "";
}
#firststep .qa .qTxt.on:before {
	background: url("img/firststep/icon01.png") no-repeat right center;
	background-size: 24px auto;
}
#firststep .qa .qTxt .qSpan {
	position: absolute;
	left: 5px;
	margin-top: -30px;
	top: 50%;
	font-weight: 500;
	color: #3E79B5;
	font-size: 3.6rem;
	letter-spacing: 0.05em;
	font-family: Arial, Helvetica, "sans-serif";
}
#firststep .qa .txtP {
	padding: 13px 25px 15px;
	font-weight: 500;
	font-size: 1.4rem;
	line-height: 2.3;
	letter-spacing: 0.05em;
	border-top: 2px dashed #7A7A7A;
	display: none;
}
@media all and (max-width: 896px) {
	#firststep #container {
		padding-top: 60px;
	}
	#firststep .visual {
		margin-bottom: 70px;
		min-height: 235px;
		display: block;
		background: #FFE5E6;
	}
	#firststep .visual .content {
		height: 100%;
	}
	#firststep .visual h2 {
		padding-top: 29px;
		font-size: 3.6rem;
	}
	#firststep .visual .img01 {
		left: 12px;
		top: auto;
		bottom: -170px;
		width: 132px;
	}
	#firststep .visual .img02 {
		right: 42px;
		bottom: -163px;
		width: 112px;
	}
	#firststep #pagePath {
		padding: 0;
		margin: -10px auto 28px;
	}
	#firststep .topTxt {
		margin: 0 auto 40px;
		width: auto;
		font-size: 1.4rem;
		letter-spacing: 0.05em;
	}
	#firststep .comNaviBox {
		margin: 0 20px 73px; 
	}
	#firststep .comNaviBox .linkUl {
		margin-right: 0;
	}
	#firststep .comNaviBox .linkUl li {
		padding: 0;
		margin-bottom: 10px !important;
	}
	#firststep .borderBox {
		margin-bottom: 84px;
		padding: 0;
		border: none;
		border-radius: 0;
	}
	#firststep .borderBox .headLine01 {
		margin-bottom: 34px;
	}
	#firststep .borderBox .imgBox {
		margin-bottom: 36px;
	}
	#firststep .borderBox p {
		font-size: 1.4rem;
	}
	#firststep .reason {
		padding: 64px 0 48px;
	}
	#firststep .reason .topPho {
		position: static;
		text-align: center;
		width: 123px;
		margin: 0 auto 6px;
	}
	#firststep .reason .topPho img {
		margin: -98px auto 0;
	}
	#firststep .reason h3 {
		margin-bottom: 27px;
		font-size: 2rem;
		letter-spacing: 0.1em;
		text-align: center;
	}
	#firststep .reason .listUl {
		margin: 0;
		display: block;
	}
	#firststep .reason .listUl li {
		margin: 0 0 20px;
		padding-bottom: 20px;
		width: 100%;
		min-height: 193px;
		border-radius: 10px;
	}
	#firststep .reason .listUl li:last-child {
		margin-bottom: 0;
	}
	#firststep .reason .listUl li .num {
		margin-bottom: 15px;
	}
	#firststep .reason .listUl li .num .info {
		display: inline;
		padding-bottom: 3px;
		border-bottom: 3px solid #E14F48;
	}
	#firststep .reason .listUl li .ttl {
		margin-bottom: 18px;
		font-size: 2rem;
		line-height: 1.15;
		letter-spacing: 0;
	}
	#firststep .reason .listUl li .txtSpan {
		font-size: 1.4rem;
		line-height: 1.45;
	}
	#firststep .phoImg {
		margin-bottom: 48px;
	}
	#firststep .phoImg img {
		width: 100%;
	}
	#firststep .flow {
		padding-bottom: 82px;
	}
	#firststep .flow .headLine01 {
		margin-bottom: 22px;
	}
	#firststep .flow .content {
		width: auto;
		position: relative;
	}
	#firststep .flow .flowList:before {
		left: 37px;
		top: 50px;
		bottom: 110px;
		width: 4px;
	}
	#firststep .flow .flowList li {
		margin-bottom: 10px;
		padding: 20px 10px 19px 77px;
		min-height: 122px;
		position: relative;
		border: 2px solid #D1D1D1;
		box-sizing: border-box;
	}
	#firststep .flow .flowList li .txtSpan {
		left: 8px;
		top: 12px;
		width: 55px;
		height: 55px;
		font-size: 0.9rem;
		line-height: 1.1;
	}
	#firststep .flow .flowList li .num {
		margin-top: -2px;
		font-size: 2.2rem;
		display: block;
	}
	#firststep .flow .flowList li .txt {
		margin-left: 0;
		font-size: 1.3rem;
		line-height: 1.85;
	}
	#firststep .flow .flowList li .top {
		margin-bottom: 4px;
		font-size: 1.8rem;
		line-height: 1.5;
	}
	#firststep .flow .pho {
		position: absolute;
		right: 0;
		bottom: -158px;
		width: 111px;
	}
	#firststep .qa {
		padding: 24px 0 60px;
	}
	#firststep .qa h3 {
		margin-bottom: 5px;
		font-size: 4.4rem;
	}
	#firststep .qa .infoBox {
		margin-top: 0;
		display: block;
	}
	#firststep .qa .txtInner {
		margin: 0 0 20px;
		width: 100%;
		padding: 5px;
	}
	#firststep .qa .txtInner:last-child {
		margin-bottom: 0;
	}
	#firststep .qa .qTxt {
		padding: 2px 40px 0 34px;
		font-size: 1.6rem;
		line-height: 1.62;
	}
	#firststep .qa .qTxt:before {
		right: 15px;
		top: 50%;
		margin-top: -8px;
		background: url("img/firststep/sp_icon02.png") no-repeat right center;
		background-size: 17px auto;
		width: 17px;
		height: 17px;
	}
	#firststep .qa .qTxt.on:before {
		background: url("img/firststep/sp_icon01.png") no-repeat right center;
		background-size: 17px auto;
	}
	#firststep .qa .qTxt .qSpan {
		left: 5px;
		margin-top: -18px;
		top: 50%;
		font-size: 2.5rem;
	}
	#firststep .qa .txtP {
		margin-top: 20px;
		padding: 13px 18px 18px;
	}
}
@media all and (max-width: 374px) {
	#firststep .reason h3 {
		font-size: 1.9rem;
	}
}
