@media screen and (max-width: 768px){
	article section{
		width: 95%;
		margin: auto;
	}
}
.headWrap{
	position: relative;
}

.header {
	position: absolute;
	width: 100%;
	left: 0;
	top: 0;
	z-index: 100;
}

.header_sitenameWrap {
	background: url("../img/header_logo_bg.svg") no-repeat right bottom;
	width: 428px;
	height: 206px;
	position: relative;
}
.header_sitenameWrap__inner{
	position: absolute;
	top: 25%;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 80%;
}
.header_sitenameWrap_sitename {
	width: 191px;
	height: 40px;
	margin: 0 0 7px;
}
.header_sitenameWrap_sitename img{
	width: 191px;
	height: 40px;
}

.header_sitenameWrap_sitedesc {
	color: var(--color-lightText);
	text-align: left;
	font-weight: 400;
}

.header_contact {
	background: url("../img/header_contact_bg.svg") no-repeat;
	width: 256px;
	height: 135px;
	position: absolute;
	right: 0;
	top: 0;
	display: table;
}
.header_contact a{
	color: var(--color-lightText);
	background: url("../img/icon_contact.svg") no-repeat left 50px center;
	background-size: 30px auto;
	padding-left: 90px;
	text-decoration: none;
	display: table-cell;
	vertical-align: middle;
	font-weight: 700;
}
.mainImage{
	overflow: hidden;
}
.mainImage::before{
	padding-top: 44%;
	content: "";
	display: block;
}
.mainImage,
.mainImage .mask{
	width: 100%;
	line-height: 0;
}
.mainImage .photos img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right 0 bottom 0;
    z-index: 50;
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
}
.mainImage .mask{
	width: 100%;
	height: 65px;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 60;
	background: url("../img/FV_mask.png") no-repeat center bottom;
	background-size: 100% 65px;
}
@media screen and (max-width: 1024px){
	.header_sitenameWrap {
		background: url("../img/header_logo_bg.svg") no-repeat right bottom;
		background-size: auto 100%;
		width: 40%;
		height: auto;
		position: relative;
		z-index: 20;
	}
	.header_sitenameWrap:before{
		content: "";
		display: block;
		padding-top: 48%;
	}
	.header_sitenameWrap__inner{
		position: absolute;
		top: 15%;
		left: 50%;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
		width: 80%;
	}
	.header_contact {
		background: url("../img/header_contact_bg.svg") no-repeat top right;
		background-size: 100% 100%;
		width: 30%;
		height: auto;
		padding: 0;
	}
	.header_contact a{
		color: var(--color-lightText);
		background: url("../img/icon_contact.svg") no-repeat left 30px center;
		background-size: 20px auto;
		padding: 0 15px 0 70px;
		display: block;
		line-height: 80px;
	}
}
@media screen and (max-width: 768px){
	.mainImage::before{
		padding-top: 40%;
	}
	.header_sitenameWrap {
		width: 50%;
	}
}
@media screen and (max-width: 599px) {
	.header_sitenameWrap {
		width: 70%;
	}
	
	.header_contact {
		background: none;
		background-color: #ff8001;
		width: 60px;
		height: 60px;
		display: block;
		border-radius: 50%;
	}
	.header_contact a{
		display: block;
		text-indent: -9999px;
		background: url("../img/icon_contact.svg") no-repeat center center;
		background-size: 20px auto;
		width: 60px;
		height: 60px;
		padding: 0;
		line-height: normal;
	}

}



#step {
	padding: 80px 0 70px;
}
.step__title {
	text-align: center;
	font-size: 2.222em;
	position: relative;
	margin-bottom: 1em;
	padding-top: 1em;
	font-weight: 900;
}
.step__title::before{
	width: 1.5em;
	height: 8px;
	background: var(--color-point);
	display: block;
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}


.step__copy {
	font-size: 1.167em;
	text-align: center;
	margin-bottom: 3em;
}

h3.step__subtitle {
	font-size: 1.167em;
	text-align: center;
	margin-bottom: 2.5em;
	font-weight: 900;
}
h3.step__subtitle span{
	display: inline-block;
	background: url("../img/h3bg_left.svg") no-repeat left bottom, url("../img/h3bg_right.svg") no-repeat right bottom;
	padding: 0 50px;
}

.step__flow {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.step__flow__item {
	width: calc(100% / 3);
	padding-right: 60px;
	box-sizing: border-box;
	position: relative;
	background: url("../img/ar_blue.svg") no-repeat right 10px center;
	background-size: 40px auto;
}
.step__flow__item:last-child{
	background: none;
}
.step__flow__item__inbox{
	width: 100%;
	height: 100%;
	box-shadow: 0px 0px 15px #00000029;
	border-radius: 40px;
	position: relative;
	padding: 30px 0 30px;
	box-sizing: border-box;
}
.step__flow__item__stepbox {
	background: #3D99C9;
	border-radius: 50%;
	color: var(--color-lightText);
	font-size: 1.389em;
	text-align: center;
	width: 90px;
	height: 90px;
	line-height: 1.2;
	display: table;
	position: absolute;
	top: -30px;
}
.step__flow__item__stepbox p{
	display: table-cell;
	vertical-align: middle;
	font-weight: 700;
}
.step__flow__item__stepbox span{
	font-size: 0.72em;
	display: block;
}
.step__flow__item__image {
	text-align: center;
	height: 170px;
	line-height: 170px;
}
.step__flow__item__image img{
	max-width: 100%;
	max-height: 170px;
	width: auto;
	height: auto;
	vertical-align: middle;
}
.step__flow__item .text {
	margin-top: 1em;
	padding: 0 1em;
	text-align: center;
	font-weight: 700;
}
.step__last{
	text-align: center;
	padding: 3em 0 0;
	font-weight: 900;
}

@media screen and (max-width: 1024px){
	.step__flow {
		display: block;
		width: 80%;
		margin: auto;
	}
	.step__flow__item {
		width: 100%;
		padding: 0 0 60px;
		box-sizing: border-box;
		position: relative;
		background: url("../img/ar_blue_dwn.svg") no-repeat center bottom 10px;
		background-size: auto 40px;
	}
	
	.step__flow__item__image img{
		max-width: 100%;
		max-height: 170px;
		width: auto;
		height: auto;
		vertical-align: middle;
	}
}

#service {
	background: url("../img/bg_blue_aqua.svg") no-repeat top;
	background-size: 100% auto;
	padding: 180px 0 200px;
}
.service__title {
	font-size: 2.222em;
	text-align: center;
	background: url("../img/line_fukidashi.svg") no-repeat center bottom;
	padding-bottom: 40px;
	margin-bottom: 70px;
	font-weight: 900;
}

.service__listWrap {
	background: url("../img/osusume_ill_bg.png") no-repeat left;
}
.service__list{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	width: 1000px;
	margin: 0 0 0 100px;
}
@media screen and (max-width: 1100px){
	.service__list{
		width: 1000px;
		margin: 0;
	}
}
.service__list li{
	background: url("../img/osusume_cmt_bg.svg") no-repeat;
	width: 254px;
	height: 243px;
	display: table;
}

.service__list li p{
	display: table-cell;
	vertical-align: middle;
	padding: 2em;
	text-align: center;
	font-weight: 700;
}
.service__list li:nth-of-type(2){
	margin-top: 50px;
}
.service__list li:nth-of-type(3){
	margin-top: 20px;
}
.service__list li:nth-of-type(4){
	margin: -20px 0 0 100px;
}

.service__subtitle {
	font-size: 2.222em;
	text-align: center;
	margin: 1.5em 0 1em;
	font-weight: 900;
}

.service__text{
	text-align: center;
	font-weight: 700;
}
@media screen and (max-width: 1024px){
	.service__list{
		width: 100%;
	}
	.service__list li{
		background: url("../img/osusume_cmt_bg.svg") no-repeat;
		background-size: 100% 100%;
		width: 30%;
		height: auto;
		display: table;
		position: relative;
		margin: 1%;
	}
	.service__list li:before{
		content: "";
		padding-top: 80%;
		display: block;
	}
	.service__list li p{
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		padding: 0;
	}
	.service__list li:nth-of-type(2),
	.service__list li:nth-of-type(3),
	.service__list li:nth-of-type(4){
		margin: 0;
	}
}
@media screen and (max-width: 768px){
	.service__listWrap {
		background: url("../img/osusume_ill_bg.png") no-repeat left top;
		background-size: 100% auto;
		padding-top: 100px;
	}
	.service__list{
		justify-content: center;
	}
}
@media screen and (max-width: 599px) {
	#service {
		background: url("../img/bg_blue_aqua.svg") no-repeat top;
		background-size: auto 100%;
		padding: 80px 0 200px;
	}
	.service__list li{
		width: 48%;
		margin: 2% 1%;
	}
	
}


#feature {
	background: url("../img/bg_blue_darkaqua.svg") no-repeat top;
	background-size: 100% auto;
	padding: 180px 0 200px;
	margin: -120px 0 0;
}

.featureService__wrap {
	padding-bottom: 100px;
}

.featureService__inner{
	display: flex;
	flex-wrap: wrap;
}

.featureService__innerImg {
	background: url("../img/why_cmt_bg.svg") no-repeat top left 1em;
	width: calc(400px + 1em);
	padding: 100px 0 0;
	text-align: center;
}

.featureService__innerImg__title {
	font-size: 1.667em;
	font-weight: 900;
}

.featureService__innerImg__img {
}

.featureService__innerList {
	padding: 80px 0 0 90px;
	width: calc(calc(100% - 90px) - calc(400px + 1em));
	box-sizing: border-box;
	font-weight: 700;
}

.featureService__inner__text {
	width: 90%;
	margin: 80px auto 0;
}
@media screen and (max-width: 1024px){
	.featureService__inner{
		display: flex;
		flex-wrap: wrap;
	}

	.featureService__innerImg {
		background: url("../img/why_cmt_bg.svg") no-repeat top left 0;
		background-size: 100% auto;
		width: calc(300px + 1em);
		padding: 100px 0 0;
		text-align: center;
	}

	.featureService__innerImg__title {
		font-size: 1.667em;
		font-weight: 900;
	}

	.featureService__innerImg__img img{
		max-width: 100%;
		height: auto;
	}

	.featureService__innerList {
		padding: 80px 0 0 90px;
		width: calc(calc(100% - 90px) - 300px);
		box-sizing: border-box;
		font-weight: 700;
	}

	.featureService__inner__text {
		width: 90%;
		margin: 80px auto 0;
	}
}
@media screen and (max-width: 768px){
	#feature {
		padding: 100px 0 200px;
		background: url("../img/bg_blue_darkaqua.svg") no-repeat top;
		background-size: auto 100%;
	}
	.featureService__inner{
		display: block;
	}

	.featureService__innerImg {
		background: url("../img/why_cmt_bg.svg") no-repeat top center;
		background-size: auto 100%;
		width: 100%;
		padding: 0 0 0;
		text-align: center;
	}

	.featureService__innerImg__title br{
		display: none;
	}
	.featureService__innerImg__img{
		margin-top: 1em;
	}
	.featureService__innerImg__img img{
		width: 60%;
		height: auto;
		display: block;
		margin: auto;
	}

	.featureService__innerList {
		padding: 80px 0 0 0;
		width: 90%;
		margin: auto;
	}

	.featureService__inner__text {
		width: 90%;
		margin: 80px auto 0;
	}
}

.featureForte__wrap {
	background: url("../img/forte_bg.svg") no-repeat right center #D0E0F2;
	padding-bottom: 60px;
}

.featureForte__title{
	font-size: 2.222em;
	display: flex;
	align-items: center;
	margin-bottom: 1em;
	font-weight: 900;
}
.featureForte__title:before, .featureForte__title:after {
	content: "";
	flex-grow: 1;
	height: 1px;
	background: var(--color-baseText);
	display: block;
}
.featureForte__title:before {
	margin-right: .4em;
}
.featureForte__title:after {
	margin-left: .4em;
}
.featureForte__wrapInner {
	background: url("../img/forte_cmt_bg.svg") no-repeat left top;
	width: 100%;
	min-height: 475px;
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto 80px;
}

.featureForte__wrapInner__img {
	width: 380px;
	padding: 120px 0 0;
}
.featureForte__wrapInner__img img{
	max-width: 100%;
	height: auto;
	margin-left: -50px;
}

.featureForte__wrapInner__content {
	width: calc(100% - 380px);
	vertical-align: top;
	padding: 4em 0 0;
}
.featureForte__wrapInner__content__title{
	font-size: 1.667em;
	margin-bottom: 1em;
	font-weight: 900;
}
.featureForte__wrapInner__content__text{}
.featureForte__wrapInner__content__text p{
	padding-bottom: 1em;
	font-weight: 700;
}

@media screen and (max-width: 768px){
	.featureForte__wrapInner {
		background: url("../img/forte_cmt_bg.svg") no-repeat left top;
		background-size: 50% auto;
		width: 100%;
		min-height: auto;
		min-height: initial;
	}

	.featureForte__wrapInner__img {
		width: auto;
		padding: 30px 0 0;
		text-align: center;
	}
	.featureForte__wrapInner__img img{
		max-width: 70%;
		height: auto;
		margin: 0;
	}

	.featureForte__wrapInner__content {
		width: 100%;
		padding: 0 2em;
	}
	.featureForte__wrapInner__content__title{
		text-align: center;
	}
	article section.featureForte__wrap{
		width: 100%;
	}
	.featureForte__wrap {
		background: url("../img/forte_bg.svg") no-repeat right top #D0E0F2;
		background-size: 90% auto;
		padding-bottom: 60px;
	}
}


.pointTitle {
	background: url("../img/asset22.png") repeat-x bottom;
	display: inline-block;
	padding-bottom: 10px;
}



#menus {
	background: url("../img/banner_bg.jpg") no-repeat;
	background-size: cover;
	padding: 100px 0 120px;
	margin: -200px 0 0;
}
#menus ul{
	max-width: 800px;
	margin: auto;
	display: flex;
	flex-wrap: wrap;
}
#menus ul li{
	padding: 10px;
	width: 50%;
	box-sizing: border-box;
}
#menus ul li .btn_orange a{
	display: block;
}
@media screen and (max-width: 599px) {
	#menus {
		padding: 50px 0;
	}
	#menus ul li{
		width: 100%;
		padding: 5px;
	}
	#menus ul li .btn_orange{
		padding-top: 0;
	}
}

#option {
	background: url("../img/beige_bg.svg") no-repeat top right #F6F6ED;
	background-size: auto 100%;
	padding: 80px 0;
}

.option__title {
	position: relative;
	font-size: 2.222em;
	text-align: center;
	padding: 1.2em 0;
	font-weight: 900;
}
.option__title:after{
	background: var(--color-point);
	width: 1.5em;
	height: 8px;
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
