@charset "utf-8";
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* 81-LSM */
/* 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;}
.ten {
	font-family:"ten-mincho-antique",sans-serif;
}
.neue {
	font-family:"neue-frutiger-world",sans-serif;
}
/*------------------------------------------------------------
	content
------------------------------------------------------------*/
.content {
	margin: 0 auto;
	padding: 0 4rem;
	max-width: 124rem;
	box-sizing: content-box;
}
@media all and (max-width: 768px) {
	.content {
		padding: 0 1.6rem;
		max-width: 48rem;
	}
}
/*------------------------------------------------------------
	pageTitle
------------------------------------------------------------*/
.pageTitle {
	margin-bottom: 3.9rem;
	padding: 16rem 0 0;
}
.pageTitle .inner {
	margin: 0 auto;
	padding: 0 4rem;
	max-width: 124rem;
	box-sizing: content-box;
}
.pageTitle .text {
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.65;
	letter-spacing: 0.108rem;
}
.pageTitle .pho {
    margin-top: 4rem;
    border-radius: 1rem;
    overflow: hidden;
}
.pageTitle .pho img {
    width: 100%;
}
@media all and (max-width: 768px) {
	.pageTitle {
		padding-top: 15.9rem;
	}
	.pageTitle .inner {
		padding: 0 1.6rem;
		max-width: 48rem;
	}
	.pageTitle .text {
		font-size: 1.6rem;
		letter-spacing: 0.096rem;
	}
}
/*------------------------------------------------------------
	pagePath
------------------------------------------------------------*/
#pagePath {
	margin-bottom: 3.9rem;
}
#pagePath li {
	margin-right: 0.5rem;
	padding-right: 1.4rem;
	position: relative;
	display: inline-block;
	font-family:"neue-frutiger-world",sans-serif;
	font-size: 1.4rem;
	letter-spacing: 0.084rem;
}
#pagePath li::before {
	position: absolute;
	top: 0;
	right: 0;
	font-size: 1.4rem;
	content: '/';
}
#pagePath li:last-child::before {
	display: none;
}
#pagePath li a:hover {
	opacity: 0.7;
}
@media all and (max-width: 768px) {
	#pagePath {
		margin-bottom: 4.1rem;
	}
	#pagePath li {
		margin-right: 0.4rem;
		font-size: 1.3rem;
		letter-spacing: 0.078rem;
	}
	#pagePath li::before {
		top: 0;
	}
}
/*------------------------------------------------------------
	headLine01
------------------------------------------------------------*/
.headLine01 {
	margin-bottom: 2.5rem;
	font-size: 5.6rem;
	font-weight: 500;
	font-family:"ten-mincho-antique",sans-serif;
	line-height: 1.4;
	letter-spacing: 0.336rem;
}
@media all and (max-width: 768px) {
	.headLine01 {
		margin-bottom: 1.8rem;
		font-size: 3.2rem;
		letter-spacing: 0.192rem;
	}
}
/*------------------------------------------------------------
	headLine02
------------------------------------------------------------*/
.headLine02 {
    margin-bottom: 4.1rem;
    position: relative;
    padding: 2rem 3rem 1.8rem;
    font-weight: 700;
    letter-spacing: 0.096rem;
    background: url(../img/common/icon03.png) no-repeat left top calc(50% + 0.1rem);
    background-size: 1.7rem auto;
}
.headLine02::before,
.headLine02::after {
    position: absolute;
    left: -1000rem;
    right: -1000rem;
    height: 1px;
    background-color: #000;
    content: "";
}
.headLine02::before {
    top: 0;
}
.headLine02::after {
    bottom: 0;
}
.headLine02 .en {
    font-family:"neue-frutiger-world",sans-serif;
}
@media all and (max-width: 768px) {
    .headLine02 {
        margin-bottom: 4rem;
        font-size: 1.5rem;
        padding: 0.6rem 2.8rem;
        letter-spacing: 0.09rem;
        background-size: 1.5rem auto;
		background-position: left top calc(50% - 0.1rem);
    }
	.headLine02::after {
		bottom: 0;
	}
}
/*------------------------------------------------------------
    headLine03
------------------------------------------------------------*/
.headLine03 {
    margin-bottom: 3.9rem;
    font-family:"ten-mincho-antique",sans-serif;
    font-size: 4.8rem;
    font-weight: 500;
    letter-spacing: 0.288rem;
    line-height: 1.4;
}
@media all and (max-width: 768px) {
    .headLine03 {
        font-size: 2.8rem;
        letter-spacing: 0.168rem;
    }
}
/*------------------------------------------------------------
	comCaseList
------------------------------------------------------------*/
.comCaseList {
	display: flex;
	flex-wrap: wrap;
	gap: 6.2rem 6.5rem;
}
.comCaseList li {
	width: calc((100% - 13rem) / 3);
}
.comCaseList li a {
	display: block;
}
.comCaseList li .photoBox {
	margin-bottom: 1.4rem;
	position: relative;
}
.comCaseList li .photoBox .photo {
	aspect-ratio: 370 / 185;
	border-radius: 0.4rem;
	overflow: hidden;
}
.comCaseList li .photoBox .photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s;
}
.comCaseList li .photoBox .tagUl {
	position: absolute;
	top: 0.8rem;
	left: 0.8rem;
	display: flex;
	flex-wrap: wrap;
}
.comCaseList li .photoBox .tagUl li {
	margin-right: 2.6rem;
	position: relative;
	width: 3.8rem;
	height: 3.8rem;
	background: #0F52BA;
	border-radius: 50%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	color: #F5F5F5;
	font-size: 1.1rem;
	font-weight: 500;
	letter-spacing: 0.022rem;
	text-align: center;
	font-family:"ten-mincho-antique",sans-serif;
}
.comCaseList li .photoBox .tagUl li.sml {
	font-size: 1rem;
}
.comCaseList li .photoBox .tagUl li::before {
	margin-top: 0.2rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: -1.7rem;
	width: 0.8rem;
	height: 0.8rem;
	background: url(../img/common/icon01.png) no-repeat left top / 100%;
	content: '';
}
.comCaseList li .photoBox .tagUl li:last-child::before {
	display: none;
}
.comCaseList li .photoBox .tagUl li:last-child {
	margin-right: 0;
}
.comCaseList li .textBox {
	margin-bottom: 0.8rem;
	display: flex;
	flex-wrap: nowrap;
}
.comCaseList li .textBox .lText,
.comCaseList li .textBox .rText {
	position: relative;
	font-size: 1.3rem;
	font-weight: 500;
	line-height: 1.65;
	letter-spacing: 0.078rem;
	max-width: 45%;
}
.comCaseList li .textBox .lText {
	margin-right: 1.8rem;
	padding-right: 2.3rem;
}
.comCaseList li .textBox .lText::before {
	margin-top: -1px;
	position: absolute;
	top: 50%;
	right: 0;
	width: 0.7rem;
	height: 0.7rem;
	background: url(../img/common/icon02.png) no-repeat right center / 100%;
	content: '';
}
.comCaseList li .text {
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.65;
	letter-spacing: 0.096rem;
	text-align: justify;
}
@media all and (min-width: 769px) {
	.comCaseList li a:hover {
		background: rgba(160, 170, 175, 0.20);
	}
	.comCaseList li a:hover .photoBox .photo img {
		transform: scale(1.1);
	}
}
@media all and (min-width: 769px) and (max-width: 1200px) {
	.comCaseList {
		gap: 6.2rem 4rem;
	}
	.comCaseList li {
		width: calc((100% - 8rem) / 3);
	}
	.comCaseList li .textBox .lText {
		padding-right: 2rem;
		margin-right: 1.5rem;
	}
}
@media all and (max-width: 768px) {
	.comCaseList {
		margin: 0;
		display: block;
	}
	.comCaseList li {
		margin-bottom: 3.9rem;
		width: auto;
	}
	.comCaseList li:last-child {
		margin-bottom: 0;
	}
	.comCaseList li a {
		display: block;
	}
	.comCaseList li .textBox {
		margin-bottom: 0.8rem;
	}
}
/*------------------------------------------------------------
	wp-pagenavi
------------------------------------------------------------*/
.pagination {
	margin-top: 7.9rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
.pagination a,
.pagination span {
	margin: 0 0.1rem;
	width: 3.6rem;
	height: 3.6rem;
	font-size: 2.4rem;
	font-weight: 500;
	color: #A0AAAF;
	letter-spacing: 0.0144rem;
	text-align: center;
	display: block;
	text-decoration: none;
	position: relative;
	transition: opacity,color 0.3s;
	font-family:"neue-frutiger-world",sans-serif;
}
.pagination a::before,
.pagination span::before {
	position: absolute;
	bottom: 0.6rem;
	left: 1.1rem;
	right: 1.1rem;
	height: 1px;
	background: #0F52BA;
	content: '';
	opacity: 0;
}
.pagination span.current {
	color: #0F52BA;
}
.pagination span.current::before {
	opacity: 1;
}
.pagination .next,
.pagination .prev {
	cursor: pointer;
	background: url(../img/common/arrow_prev.png) no-repeat center center / 1.1rem;
}
.pagination .next.disabled,
.pagination .prev.disabled {
	display: none;
}
.pagination .prev {
	margin-right: 1.5rem;
}
.pagination .next {
	margin-left: 1.5rem;
	background-image: url(../img/common/arrow_next.png) !important;
}
.pagination .next::before,
.pagination .prev::before {
	opacity: 0 !important;
}
.pagination .dots {
	margin: 0 0.5rem;
}
@media all and (min-width: 769px) {
	.pagination a:hover {
		color: #0F52BA;
	}
	.pagination a:hover::before {
		opacity: 1;
	}
	.pagination .next:hover,
	.pagination .prev:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 768px) {
	.pagination {
		margin-top: 3.9rem;
	}
	.pagination a,
	.pagination span {
		margin: 0 0.3rem;
		width: 3rem;
		height: 3rem;
		font-size: 2rem;
		letter-spacing: 0.012rem;
	}
	.pagination a::before,
	.pagination span::before {
		left: 0.9rem;
		right: 0.9rem;
	}
	.pagination .next,
	.pagination .prev {
		background: url(../img/common/arrow_prev.png) no-repeat center center / 1rem;
	}
	.pagination .prev {
		margin-right: 1.9rem;
	}
	.pagination .next {
		margin-left: 1.9rem;
	}
	.pagination .dots {
		margin: 0 0.6rem;
	}
}
/*------------------------------------------------------------
    comContactBox
------------------------------------------------------------*/
.comContactBox {
    margin-top: 11.9rem;
}
.comContactBox .headLine02 {
    margin-bottom: 8.8rem;
}
.comContactBox .headLine02 .en {
    margin-right: 0.5rem;
}
@media all and (max-width: 768px) {
    .comContactBox {
        margin-top: 7.9rem;
    }
    .comContactBox .headLine02 {
		padding-bottom: 0.4rem;
        margin-bottom: 4rem;
    }
}
/*------------------------------------------------------------
    comLinkList
------------------------------------------------------------*/
.comLinkList {
    padding: 0 0.8rem 8.8rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.comLinkList li {
    width: calc((100% - 1.6rem) / 2);
}
.comLinkList li a {
    min-height: 30.4rem;
    padding: 2rem 3.2rem;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    border-radius: 0.4rem;
    z-index: 1;
    color: #F5F5F5;
}
.comLinkList li .title {
    margin-bottom: 0.8rem;
    font-size: 3.2rem;
    line-height: 1.65;
    letter-spacing: 0.128rem;
	font-family:"ten-mincho-antique",sans-serif;
}
.comLinkList li .text {
    font-size: 1.8rem;
    line-height: 1.65;
    letter-spacing: 0.108rem;
}
.comLinkList li a::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../img/common/link_bg.jpg) no-repeat center center / cover;
    border-radius: 0.4rem;
    content: '';
    z-index: -1;
    transition: all 0.3s;
}
.comLinkList li a::after {
    position: absolute;
    bottom: 3.2rem;
    right: 5.2rem;
    width: 4.5rem;
    height: 4.4rem;
    background: url(../img/common/icon04.png) no-repeat left top / 100%;
    content: '';
    transition: background 0.3s;
}
@media all and (min-width: 769px) {
    .comLinkList li a:hover::before {
        background-image: url(../img/common/link_bg_over.jpg);
        transform: scale(1.02);
    }
    .comLinkList li a:hover::after {
        background-image: url(../img/common/icon04_over.png);
    }
}
@media all and (max-width: 768px) {
    .comLinkList {
        padding: 0 0 4rem;
        display: block;
    }
    .comLinkList li {
        margin-bottom: 1.6rem;
        width: auto;
    }
    .comLinkList li:last-child {
        margin-bottom: 0;
    }
    .comLinkList li a {
        min-height: 16.8rem;
        display: block;
        padding: 1.6rem 6rem 1.6rem 1.6rem;
    }
    .comLinkList li .title {
        margin-bottom: 0;
        font-size: 2rem;
		letter-spacing: 0.08rem;
    }
    .comLinkList li .text {
		margin-right: -4.5rem;
        font-size: 1.1rem;
        letter-spacing: 0.066rem;
		text-align: justify;
    }
    .comLinkList li a::after {
        bottom: 1.5rem;
        right: 1.5rem;
    }
}
/*------------------------------------------------------------
	comBtn
------------------------------------------------------------*/
.comBtn {
	margin: 0 auto;
	max-width: 38rem;
}
.comBtn a {
	padding-left: 6.6rem;
	display: block;
	position: relative;
}
.comBtn a::before {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	width: 6.6rem;
	height: 6.4rem;
	background: url(../img/common/icon06.png) no-repeat left calc(50% - 0.5rem) top calc(50% + 0.1rem) / 1.9rem,url(../img/common/com_bg02.png) no-repeat left center / 100% 100%;
	content: '';
	transition: left 0.2s,height 0.3s;
}
.comBtn a .sub {
	padding-left: 1.7rem;
	min-height: 6.4rem;
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	z-index: 1;
	color: #F5F5F5;
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: 0.108rem;
}
.comBtn a .sub::before {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	width: 100%;
	height: 100%;
	background: url(../img/common/com_bg01.png) no-repeat left center / 100% 100%;
	content: '';
	z-index: -1;
	transition: height 0.3s;
}
.comBtn.style01 {
    max-width: 75.6rem;
}
.comBtn.style01 a {
    padding-left: 13.7rem;
}
.comBtn.style01 a .sub {
    min-height: 13.6rem;
    text-align: left;
    font-size: 2rem;
    letter-spacing: 0.12rem;
}
.comBtn.style01 a .sub span {
    margin-bottom: 1rem;
    display: block;
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.096rem;
}
.comBtn.style01 a .sub p {
	position: relative;
	z-index: 2;
}
.comBtn.style01 a .sub::before {
	left: 4.9rem;
	right: 0;
	height: 100%;
	width: auto;
	background: #0F52BA;
	border-radius: 0 0.4rem 0.4rem 0;
    background-image: url(../img/common/com_bg03.png);
}
.comBtn.style01 a .sub::after {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	width: 5rem;
	height: 100%;
	background: url(../img/common/btn_bg01.png) no-repeat left top / 100% 100%;
	content: '';
	transition: height 0.3s;
}
.comBtn.style01 a::before {
    width: 15rem;
    height: 13.6rem;
    background-size: 4.1rem auto, 100% 100%;
}
.comBtn.white a::before {
	background: url(../img/common/icon18.png) no-repeat left calc(50% - 0.5rem) top calc(50% + 0.1rem) / 1.9rem, url(../img/common/com_bg08.png) no-repeat left center / 100% 100%;
}
.comBtn.white a .sub {
	color: #0F52BA;
}
.comBtn.white a .sub::before {
	background-image: url(../img/common/com_bg09.png);
}
@media all and (min-width: 769px) and (max-width: 1200px) {
	#conts .comBtn.style01 a .sub {
		padding: 0 2.4rem 0 7rem;
	}
}
@media all and (min-width: 769px) and (max-width: 1120px) {
	.comBtn.style01 a .sub {
		font-size: 1.8rem;
	}
	.comBtn.style01 a .sub span {
		font-size: 1.3rem;
	}
}
@media all and (min-width: 769px) {
	.comBtn a:hover::before {
		left: 2.1rem;
		height: 6.8rem;
	}
	.comBtn a:hover .sub::before {
		height: calc(100% + 0.4rem);
	}
    .comBtn.style01 a:hover::before {
		left: 3.5rem;
		height: 14rem;
	}
	.comBtn.style01 a:hover .sub::after {
		height: calc(100% + 0.4rem);
	}
}
@media all and (max-width: 768px) {
    .comBtn {
        margin: 0 auto !important;
        max-width: 22.9rem;
    }
    .comBtn a {
        padding-left: 0;
    }
    .comBtn a::before {
        width: 5.6rem;
        height: 5.8rem;
        background-size: 1.6rem auto,100% 100%;
    }
    .comBtn a .sub {
        padding-left: 6rem;
        min-height: 5.8rem;
        font-size: 1.3rem;
        font-weight: 500;
        line-height: 1.65;
        letter-spacing: 0.078rem;
    }
    .comBtn a .sub::before {
        background: url(../img/common/com_bg01_sp.png) no-repeat left center / 100% 100%;
    }
    .comBtn.style01 {
        max-width: 34.3rem;
    }
    .comBtn.style01 a {
        padding-left: 0.3rem;
    }
    .comBtn.style01 a .sub {
        padding: 0 0 0 9.5rem;
        min-height: 10rem;
        font-size: 1.3rem;
        letter-spacing: 0.078rem;
    }
    .comBtn.style01 a .sub span {
        margin-bottom: 0;
        font-size: 1.1rem;
        letter-spacing: 0.066rem;
    }
    .comBtn.style01 a .sub::before {
		left: 10.3rem;
		border-radius: 0 0.2rem 0.2rem 0;
    }
	.comBtn.style01 a .sub::after {
		left: 5.5rem;
		background-image: url(../img/common/btn_bg01_sp.png);
	}
    .comBtn.style01 a::before {
        width: 9.7rem;
        height: 10rem;
        background-image: url(../img/common/icon06.png),url(../img/common/com_bg04_sp.png) !important;
        background-size: 3.3rem auto, 100% 100%;
		background-position: left calc(50% - 0.8rem) top calc(50% + 0.1rem),left center;
    }
	.comBtn.white a::before {
		width: 6.6rem;
		height: 5.8rem;
	}
	.comBtn.white a .sub {
		font-size: 1.8rem;
		font-weight: 700;
		letter-spacing: 0.108rem;
	}
	.comBtn.white a .sub::before {
		background-image: url(../img/common/com_bg09_sp.png);
	}	
}
/*------------------------------------------------------------
    comFlexBox
------------------------------------------------------------*/
.comFlexBox {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
@media all and (max-width: 768px) {
    .comFlexBox {
        display: block;
    }
}
/*------------------------------------------------------------
    conts
------------------------------------------------------------*/
#conts {
    width: calc(100% - 44rem);
}
@media all and (max-width: 768px) {
    #conts {
        width: auto;
    }
}
/*------------------------------------------------------------
    sideBar
------------------------------------------------------------*/
#sidebar {
    width: 37.6rem;
}
#sidebar .linkList {
    position: sticky;
    top: 12rem;
}
#sidebar .linkList li:not(:last-child) {
    margin-bottom: 3.2rem;
}
#sidebar .linkList li a {
    padding: 2.5rem 2.4rem 8.2rem;
    display: block;
    position: relative;
    border-radius: 0.2rem;
    z-index: 1;
    color: #F5F5F5;
}
#sidebar .linkList li a::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../img/common/link_bg02.jpg) no-repeat center center / cover;
    content: '';
    z-index: -1;
    transition: opacity 0.3s;
	border-radius: 0.2rem;
}
#sidebar .linkList li a::after {
    position: absolute;
    bottom: 2.4rem;
    right: 2.4rem;
    width: 3.7rem;
    height: 3.6rem;
    background: url(../img/common/icon13.png) no-repeat center center / 100%;
    content: '';
    transition: background 0.3s;
}
#sidebar .linkList li .title {
    margin-bottom: 0.8rem;
    font-size: 2rem;
    line-height: 1.65;
    letter-spacing: 0.12rem;
}
#sidebar .linkList li .text {
    line-height: 1.65;
    letter-spacing: 0.096rem;
    text-align: justify;
}
@media all and (min-width: 769px) {
    #sidebar .linkList li a:hover::before {
        opacity: 0.85;
    }
    #sidebar .linkList li a:hover::after {
        background-image: url(../img/common/icon13_over.png);
    }
}
@media all and (max-width: 768px) {
    #sidebar {
        display: none;
    }
}
/*------------------------------------------------------------
	comLink
------------------------------------------------------------*/
.comLink {
    margin-left: auto;
    width: fit-content;
}
.comLink a {
    padding-right: 2.4rem;
    display: block;
    color: #F5F5F5;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.65;
    letter-spacing: 0.084rem;
    background: url(../img/common/icon07.png) no-repeat right center / 1.6rem;
}
.comLink a:hover {
    opacity: 0.7;
}
.comLink.style01 a {
	color: #0F52BA;
	background-image: url(../img/common/icon05.png);
	background-position: right top calc(50% - 0.2rem);
}
@media all and (max-width: 768px) {
    .comLink a {
        font-size: 1.3rem;
        letter-spacing: 0.078rem;
    }
	.comLink.style01 a {
		background-position: right top calc(50% - 0.1rem);
	}
}
/*------------------------------------------------------------
	comTel
------------------------------------------------------------*/
.comTel {
	padding: 4rem 0 3.7rem;
	text-align: center;
	background-color: #0F52BA;
}
.comTel .txt {
	margin-bottom: 0.6rem;
	color: #F5F5F5;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.65;
	letter-spacing: 0.06rem;
}
.comTel .tel a {
	color: #F5F5F5;
	font-size: 4.8rem;
	font-weight: 500;
	letter-spacing: 0.288rem;
}
@media all and (max-width: 768px) {
	.comTel {
		padding: 2.5rem 0 2.3rem;
	}
	.comTel .txt {
		margin-bottom: 0.4rem;
		font-size: 1.6rem;
		letter-spacing: 0.08rem;
	}
	.comTel .tel a {
		font-size: 2.8rem;
		letter-spacing: 0.17rem;
	}
}
/*------------------------------------------------------------
	comForm
------------------------------------------------------------*/
.comForm {
	padding: 8rem 0 12.2rem;
}
.comForm .content {
	max-width: 98.4rem;
}
.comForm .stepUl {
	margin-bottom: 4.1rem;
	gap: 0 20.5rem;
}
.comForm .stepUl li {
	position: relative;
	display: flex;
	align-items: center;
	color: #A0AAAF;
	line-height: 1.65;
	font-weight: 500;
	letter-spacing: 0.096rem;
}
.comForm .stepUl li:not(:last-child):after {
	position: absolute;
	right: -12.6rem;
	top: 50%;
	width: 4.8rem;
	height: 1px;
	background-color: #A0AAAF;
	content: "";
}
.comForm .stepUl .num {
	margin-right: 0.8rem;
	width: 3.2rem;
	height: 3.2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	color: #F5F5F5;
	font-size: 1.8rem;
	font-weight: 700;
	background-color: #A0AAAF;
	border-radius: 50%;
}
.comForm .stepUl .on {
	color: #0F52BA;
}
.comForm .stepUl .on .num {
	background-color: #0F52BA;
}
.comForm .mailForm .notes {
	margin-bottom: 2.5rem;
	color: #0F52BA;
	font-size: 1.4rem;
	line-height: 1.65;
	font-weight: 700;
	letter-spacing: 0.084rem;
}
.comForm .mailForm .notes sup {
	font-size: 1rem;
}
.comForm .mailForm table {
	margin-bottom: 3.7rem;
	width: 100%;
	border-spacing: 0;
}
.comForm .mailForm .form_step1 th,
.comForm .mailForm .form_step1 td {
	width: 100%;
	font-size: 1.8rem;
	letter-spacing: 0.108rem;
	display: block;
}
.comForm .mailForm .form_step1 th {
	margin-bottom: 0.4rem;
}
.comForm .mailForm .form_step1 th .must {
	margin-left: 0.6rem;
	color: #0F52BA;
	font-size: 1.2rem;
	vertical-align: 0.5rem;
}
.comForm .mailForm .form_step1 td {
	margin-bottom: 4.2rem;
}
.comForm input[type="text"], .comForm input[type="tel"], .comForm input[type="email"], .comForm select, .comForm textarea {
	padding: 1rem 0;
	width: 100%;
	height: 5.9rem;
	color: #000;
	font-size: 1.8rem;
	font-weight: 500;
	border-radius: 0;
	letter-spacing: 0.108rem;
	font-feature-settings: "palt";
	background: none;
	border: none;
	border-bottom: 2px solid #A0AAAF;
	box-sizing: border-box;
	appearance: none;
	-webkit-appearance: none;
}
.comForm input::placeholder, .comForm textarea::placeholder {
	color: #A0AAAF;
}
.comForm input:-ms-input-placeholder, .comForm textarea:-ms-input-placeholder {
	color: #A0AAAF;
}
.comForm textarea {
	padding-top: 1.5rem;
	min-height: 12rem;
    field-sizing: content;
    height: auto;
    resize: none;
	word-break: break-all;
}
.comForm select {
	padding-right: 2rem;
	background: url(../img/common/select_bg.png) no-repeat right center/1.2rem;
}
.comForm .mailForm tr:last-child td {
	margin-bottom: 0;
}
.mailForm input[type="checkbox"], .mailForm input[type="radio"] {
	display: none;
}
.mailForm input[type="checkbox"] ~ span, .mailForm input[type="radio"] ~ span {
	display: inline-block;
	padding-left: 3rem;
	font-size: 1.4rem;
	cursor: pointer;
	font-weight: 500;
	letter-spacing: 0.084rem;
	background: url(../img/common/check_bg.png) no-repeat left top/1.8rem;
}
.mailForm input[type="checkbox"]:checked ~ span {
	background-image: url(../img/common/check_on_bg.png);
}
.comForm .radioList {
	margin-top: 1.5rem;
	gap: 2rem 4.3rem;
}
.comForm .radioList li {
	width: calc((100% - 8.6rem)/3);
}
.comForm .radioList .wpcf7-form-control {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem 4.3rem;
}
.comForm .radioList .wpcf7-list-item {
	margin-left: 0;
	width: calc((100% - 8.6rem)/3);
}
.comForm input[type="radio"] ~ span {
	padding: 1rem 0.2rem 0.9rem 2.7rem;
	display: block;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 0.096rem;
	background: #E1E6EB url(../img/common/radio_bg.png) no-repeat 0.8rem 1.6rem/1.1rem;
	border-radius: 0.2rem;
}
.mailForm input[type="radio"]:checked ~ span {
	color: #F5F5F5;
	background-color: #465055;
	background-image: url(../img/common/radio_on_bg.png);
}
.comForm .agree {
	margin-bottom: 5.6rem;
}
.comForm .agree .wpcf7-list-item {
	margin-left: 0;
}
.comForm .submit {
	width: 38rem;
	padding-left: 6.6rem;
	position: relative;
	cursor: pointer;
}
.comForm .submit:before {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	width: 6.6rem;
	height: 6.4rem;
	background: url(../img/common/icon06.png) no-repeat left calc(50% - 0.5rem) top calc(50% + 0.1rem) / 1.9rem, url(../img/common/com_bg02.png) no-repeat left center / 100% 100%;
	content: '';
	transition: left 0.2s, height 0.3s;
}
.comForm .submit li {
	position: relative;
}
.comForm .submit li:before {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	width: 100%;
	height: 100%;
	background: url(../img/common/com_bg01.png) no-repeat left center / 100% 100%;
	content: '';
	z-index: -1;
	transition: height 0.3s;
}
.comForm .submit input {
	width: 100%;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 0 0 0 1.7rem;
	height: 6.4rem;
	color: #F5F5F5;
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: 0.1rem;
	font-feature-settings: "palt";
	text-align: center;
	border: none;
	border-radius: 0;
	background: none;
	appearance: none;
	-webkit-appearance: none;
}
.wpcf7-response-output,
.form_step2 {
	display: none;
}
.comForm .form_step2 {
	margin: 0 auto;
	max-width: 88rem !important;
}
.comForm .form_step2 .stepUl {
	margin: -4rem 0 4.2rem;
}
.comForm .form_step2 table {
	margin-bottom: 4.3rem;
}
.comForm .form_step2 th,
.comForm .form_step2 td {
	padding: 2.4rem 0 2.3rem;
	color: #141414;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.65;
	letter-spacing: 0.108rem;
	border-bottom: 1px solid #A0AAAF;
	word-break: break-all;
}
.comForm .form_step2 th {
	width: 26.8%;
	color: #465055;
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: 0.096rem;
}
.comForm .form_step2 tr:last-child th,
.comForm .form_step2 tr:last-child td {
	border-bottom: none;
}
.comForm .form_step2 .agree {
	margin-bottom: 4rem;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.65;
	letter-spacing: 0.108rem;
	text-align: center;
}
.comForm .form_step2 .submit {
	margin: 0 auto;
	width: 33rem;
}
.comForm .form_step2 .submit li:before {
	background-image: url(../img/common/com_bg05.png);
}
.comForm .form_step2 .editBtn {
	text-align: center;
	margin-top: 4.2rem;
}
.comForm .form_step2 .editBtn input {
	padding-left: 2.2rem;
	display: inline-block;
	cursor: pointer;
	color: #465055;
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: 0.084rem;
	border-radius: 0;
	border: none;
	transition: .3s;
	background: url(../img/common/icon14.png) no-repeat left center/1.6rem;
	appearance: none;
	-webkit-appearance: none;
}
.comForm .wpcf7-spinner {
	position: absolute;
	bottom: -5rem;
	left: 0;
}
@media all and (min-width: 769px) {
	.comForm .submit:hover:before {
		left: 2.1rem;
		height: 6.8rem;
	}
	.comForm .submit li:hover:before {
		height: calc(100% + 0.4rem);
	}
	.comForm .form_step2 .editBtn input:hover {
		opacity: 0.7;
	}
	.comForm .agree a:hover {
		text-decoration: underline;
	}
}
@media all and (min-width: 769px) and (max-width: 1340px) {
	.comForm .radioList li {
		width: calc((100% - 4.3rem)/2);
	}
	.comForm .radioList .wpcf7-list-item {
		width: calc((100% - 4.3rem)/2);
	}
}
@media all and (max-width: 768px) {
	.comForm {
		padding: 4rem 0 4rem;
	}
	.comForm .content {
		max-width: 48rem;
	}
	.comForm .stepUl {
		margin-bottom: 5.5rem;
		gap: 0 2.3rem;
	}
	.comForm .stepUl li:not(:last-child):after {
		display: none;
	}
	.comForm .stepUl .num {
		font-size: 1.6rem;
	}
	.comForm .mailForm .notes {
		margin-bottom: 2.5rem;
		font-size: 1.3rem;
		letter-spacing: 0.084rem;
	}
	.comForm .mailForm .notes sup {
		font-size: 0.9rem;
	}
	.comForm .mailForm table {
		margin-bottom: 1.6rem;
	}
	.comForm .mailForm .form_step1 th,
	.comForm .mailForm .form_step1 td {
		font-size: 1.6rem;
	}
	.comForm .mailForm .form_step1 th {
		margin-bottom: 0.3rem;
	}
	.comForm .mailForm .form_step1 th .must {
		margin-left: 0.5rem;
		vertical-align: 0.3rem;
	}
	.comForm .mailForm .form_step1 td {
		margin-bottom: 3.3rem;
	}
	.comForm input[type="text"], .comForm input[type="tel"], .comForm input[type="email"], .comForm select, .comForm textarea {
		height: 5.6rem;
		font-size: 1.6rem;
		letter-spacing: 0.096rem;
	}
	.comForm textarea {
		height: auto;
		min-height: 16rem;
	}
	.mailForm input[type="checkbox"] ~ span {
		font-size: 1.3rem;
		letter-spacing: 0.078rem;
		background: url(../img/common/check_bg.png) no-repeat left top/1.8rem;
	}
	.comForm .radioList {
		margin-top: 1.7rem;
		gap: 1.5rem 0;
	}
	.comForm .radioList li {
		width: 100%;
	}
	.comForm .radioList .wpcf7-form-control {
		gap: 1.5rem 0;
	}
	.comForm .radioList .wpcf7-list-item {
		width: 100%;
	}
	.comForm input[type="radio"] ~ span {
		padding: 0.9rem 0.2rem 1rem 3.5rem;
		font-size: 1.5rem;
		background-position: 1.6rem 1.5rem;
	}
	.comForm .radioList02 {
		gap: 0.8rem;
	}
	.comForm .radioList02 li {
		width: calc((100% - 0.8rem)/2);
	}
	.comForm .radioList02 .wpcf7-form-control {
		gap: 0.8rem;
	}
	.comForm .radioList02 .wpcf7-list-item {
		width: calc((100% - 0.8rem)/2);
	}
	.comForm .radioList02 input[type="radio"] ~ span {
		padding-left: 2.7rem;
		background-position: 0.8rem 1.5rem;
	}
	.comForm .agree {
		margin-bottom: 4rem;
	}
	.comForm .submit {
		margin: 0 auto;
		width: 22.9rem;
		padding-left: 3.8rem;
	}
	.comForm .submit:before {
		width: 5.6rem;
		height: 5.8rem;
		background-size: 1.6rem, 100% 100%;
	}
	.comForm .submit input {
		padding-left: 1.9rem;
		height: 5.8rem;
		font-size: 1.6rem;
	}
	.comForm .form_step2 {
		max-width: 48rem !important;
	}
	.comForm .form_step2 .stepUl {
		margin: 0rem 0 4.2rem;
	}
	.comForm .form_step2 table {
		margin-bottom: 4rem;
	}
	.comForm .form_step2 th,
	.comForm .form_step2 td {
		padding: 0.8rem 0 2.3rem;
		display: block;
		font-size: 1.6rem;
		letter-spacing: 0.096rem;
	}
	.comForm .form_step2 th {
		padding: 2.3rem 0 0;
		width: auto;
		font-size: 1.5rem;
		letter-spacing: 0.09rem;
		border-bottom: none;
	}
	.comForm .form_step2 .agree {
		font-size: 1.6rem;
		letter-spacing: 0.096rem;
	}
	.comForm .form_step2 .submit {
		width: 23rem;
	}
	.comForm .form_step2 .submit li:before {
		background-image: url(../img/common/com_bg03.png);
	}
	.comForm .form_step2 .editBtn {
		margin-top: 3.8rem;
	}
	.comForm .form_step2 .editBtn input {
		font-size: 1.3rem;
		letter-spacing: 0.078rem;
		background-size: 1.5rem;
	}
	.comForm .wpcf7-spinner {
		bottom: -2rem;
	}
}
/*------------------------------------------------------------
	thanks
------------------------------------------------------------*/
.thanks {
	padding: 20rem 0 12.3rem;
}
.thanks h2 {
	margin-bottom: 1.7rem;
	font-size: 4.8rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.288rem;
	text-align: center;
}
.thanks h2 img {
	margin: 0 auto 6.7rem;
	width: 12rem;
	display: block;
}
.thanks p {
	margin-bottom: 7rem;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.65;
	letter-spacing: 0.12rem;
	font-feature-settings: normal;
	text-align: center;
}
.thanks .comBtn {
	max-width: 34.6rem;
}
.thanks .comBtn a {
	padding-left: 0;
	padding-right: 6.6rem;
}
.thanks .comBtn a:before {
	left: auto;
	right: 0;
	transition: right 0.2s, height 0.3s;
	background: url(../img/common/icon15.png) no-repeat left calc(50% + 0.5rem) top calc(50% + 0.1rem) / 2.8rem, url(../img/common/com_bg07.png) no-repeat left center / 100% 100%;
}
.thanks .comBtn a .sub {
	padding: 0 1.7rem 0 0;
}
.thanks .comBtn a .sub:before {
	background-image: url(../img/common/com_bg06.png);
}
@media all and (min-width: 769px) {
	.thanks .comBtn a:hover:before {
		right: 2.1rem;
	}
}
@media all and (max-width: 768px) {
	.thanks {
		padding: 12rem 1.6rem 4rem;
	}
	.thanks h2 {
		margin-bottom: 1.7rem;
		font-size: 2.8rem;
		letter-spacing: 0.168rem;
	}
	.thanks h2 img {
		margin-bottom: 1.6rem;
		width: 8rem;
	}
	.thanks p {
		margin-bottom: 4rem;
		font-size: 1.7rem;
		letter-spacing: 0.102rem;
	}
	.thanks .comBtn {
		max-width: 31.6rem;
	}
	.thanks .comBtn a {
		padding-right: 4.5rem;
	}
	.thanks .comBtn a::before {
		width: 6.3rem;
		height: 5.8rem;
		background: url(../img/common/icon15.png) no-repeat left calc(50% + 0.1rem) top calc(50% + 0.1rem) / 2.8rem, url(../img/common/com_bg07_sp.png) no-repeat left center / 100% 100%;
	}
	.thanks .comBtn a .sub {
		padding-right: 0.8rem;
		min-height: 5.8rem;
		font-size: 1.6rem;
		letter-spacing: 0.096rem;
	}
	.thanks .comBtn a .sub:before {
		background-image: url(../img/common/com_bg06_sp.png);
	}
}
/*------------------------------------------------------------
	comFaqBox
------------------------------------------------------------*/
.comFaqBox {
    margin-bottom: 12rem;
}
.comFaqBox .faqBox {
    margin: -2.5rem 0 0 auto;
    max-width: 74rem;
}
.comFaqBox .faqBox dl {
	padding-bottom: 0.6rem;
    border-bottom: 1px solid #AAA;
}
.comFaqBox .faqBox dl dt {
    position: relative;
    padding: 2.5rem 0 1.6rem 2.7rem;
    font-size: 2rem;
    color: #0F52BA;
    line-height: 1.65;
    letter-spacing: 0.12rem;
    cursor: pointer;
}
.comFaqBox .faqBox dl dt::after {
    position: absolute;
    top: 3.5rem;
    left: 0;
    width: 1.1rem;
    height: 1.1rem;
    content: "";
    z-index: 1;
    background: url(../img/common/icon12.png) no-repeat left top / 100%;
    transition: .3s;
}
.comFaqBox .faqBox dl dt.on::after {
    transform: rotate(45deg);
}
.comFaqBox .faqBox dl dd {
	margin-bottom: 1.5rem;
    display: none;
    text-align: justify;
    line-height: 1.65;
    letter-spacing: 0.096rem;
}
@media all and (max-width: 768px) {
    .comFaqBox {
        margin-bottom: 8rem;
    }
    .comFaqBox .faqBox {
        margin: -2.4rem auto 0;
        max-width: 100%;
    }
	.comFaqBox .faqBox dl {
		padding-bottom: 1.3rem;
	}
    .comFaqBox .faqBox dl dt {
		padding: 2.4rem 0 1rem 2.7rem;
        font-size: 1.7rem;
        letter-spacing: 0.102rem;
    }
    .comFaqBox .faqBox dl dt::after {
        top: 3.1rem;
    }
    .comFaqBox .faqBox dl dd {
        margin-bottom: 1rem;
        font-size: 1.5rem;
        letter-spacing: 0.09rem;
    }
}
/*------------------------------------------------------------
	comCaseBox
------------------------------------------------------------*/
.comCaseBox {
    margin-bottom: 12.6rem;
}
.comCaseBox .headLine03 {
    margin-bottom: 1.7rem !important;
}
.comCaseBox .comCaseList {
    margin-bottom: 4.7rem;
    gap: 6.3rem 5.2%
}
.comCaseBox .comCaseList > li {
    width: 47.4%;
}
.comCaseBox .comCaseList li .photoBox .tagUl {
    top: 1.6rem;
    left: 1.6rem;
}
.comCaseBox .comCaseList li .photoBox .tagUl li {
    width: 4.8rem;
    height: 4.8rem;
    font-size: 1.4rem;
}
.comCaseBox .comCaseList li .photoBox .tagUl li.sml {
	font-size: 1.2rem;
}
.comCaseBox .comCaseList li .photoBox {
    margin-bottom: 2.7rem;
}
.comCaseBox .comCaseList li .textBox {
    margin-bottom: 1.6rem;
}
.comCaseBox .comCaseList li .textBox .lText,
.comCaseBox .comCaseList li .textBox .rText {
    font-size: 1.8rem;
    font-weight: 500;
}
.comCaseBox .comCaseList li .textBox .lText {
    margin-right: 2.7rem;
    padding-right: 3.2rem;
}
.comCaseBox .comCaseList li .textBox .lText::before {
    transform: translateY(-38%);
    width: 1rem;
    height: 1rem;
}
.comCaseBox .comCaseList li .text {
    font-size: 3rem;
    letter-spacing: 0.2rem;
    line-height: 1.5;
}
@media all and (min-width: 769px) and (max-width: 1200px) {
    .comCaseBox .comCaseList li .textBox .lText,
    .comCaseBox .comCaseList li .textBox .rText {
        font-size: 1.6rem;
    }
}
@media all and (max-width: 768px) {
    .comCaseBox {
        margin-bottom: 8rem;
    }
    .comCaseBox .comCaseList {
        margin-bottom: 4rem;
    }
    .comCaseBox .comCaseList > li {
        margin-bottom: 3rem;
        width: auto;
    }
    .comCaseBox .comCaseList li .photoBox .tagUl {
        top: 0.8rem;
        left: 0.8rem;
    }
    .comCaseBox .comCaseList li .photoBox .tagUl li {
        width: 3.8rem;
        height: 3.8rem;
        font-size: 1.1rem;
    }
	.comCaseBox .comCaseList li .photoBox .tagUl li.sml {
		font-size: 1rem;
	}
    .comCaseBox .comCaseList li .photoBox {
        margin-bottom: 1.5rem;
    }
    .comCaseBox .comCaseList li .photoBox .photo {
        border-radius: 0.2rem;
    }
    .comCaseBox .comCaseList li .textBox {
        margin-bottom: 0.7rem;
    }
    .comCaseBox .comCaseList li .textBox .lText,
    .comCaseBox .comCaseList li .textBox .rText {
        font-size: 1.3rem;
        font-weight: 500;
    }
    .comCaseBox .comCaseList li .textBox .lText {
        margin-right: 1.6rem;
        padding-right: 2.5rem;
    }
    .comCaseBox .comCaseList li .textBox .lText::before {
        transform: translateY(-38%);
        width: 0.7rem;
        height: 0.7rem;
    }
    .comCaseBox .comCaseList li .text {
        font-size: 1.6rem;
        letter-spacing: 0.096rem;
        line-height: 1.65;
    }
}
/*------------------------------------------------------------
	comFadeTitle
------------------------------------------------------------*/
.comFadeTitle {
	opacity: 0;
	filter: blur(10px);
	transform: translateY(20%);
	display: inline-block;
}
.comFadeTitle.on {
	opacity: 1;
 	filter: blur(0);
	transform: translateY(0);
	transition: 
    opacity 1s cubic-bezier(0.25, 0.1, 0.25, 1),
    filter 1s cubic-bezier(0.25, 0.1, 0.25, 1),
    transform 1s cubic-bezier(0.25, 0.1, 0.25, 1);
}
.comFadeTitle:nth-child(2),
.comFadeTitle.delay01 {
	transition-delay: 0.1s;
}
.comFadeTitle:nth-child(3),
.comFadeTitle.delay02 {
	transition-delay: 0.2s;
}