
.mainvisual_catch02{
    font-size:20px;
    font-weight:bold;
    width:460px;
    background:#fff;
    padding:5px 20px;
    border-radius:50px;
    color:#163458;
    text-align:center;
  }
.product-achiev::after{
  transform:none;
  bottom:0;
}
/*----- service -----*/
.service{
	background:url(images/service_bg.jpg);
	background-size: cover;
	padding:100px 0;
}
.effect__box{
	position:relative;
	z-index:1;
	width:1200px;
	margin:0 auto;
}
.service_tit{
	text-align:center;
	color:#fff;
	margin:0 0 60px;
}
.service_tit h2{
	font-size:50px;
	letter-spacing: 0,05em;
	font-weight:bold;
	line-height:1;
	margin:0 0 15px;
}
.service_tit .tit_en{
	font-size:16px;
	letter-spacing: 0.1em;
	line-height:1;
	margin:0 0 10px;
}
.service_tit .tit_bottom{
	display:inline-block;
	padding:6px 56px;
	margin:0 0 20px;
	line-height:1;
	border-radius:30px;
	border:1px solid #fff;
	font-size:18px;
	color:#fff;
	letter-spacing: 0.05em;
}
.service_list{
	display:flex;
	justify-content: space-between;
}
.service_list.top{
	margin:0 0 60px;
	flex-direction: column;
	gap:60px;
}
.service_list .service_item img{
	width:100%;
	height:auto;
}
.service_list.top .service_item{
	display:flex;
	gap:40px;
	width:100%;
}
.service_list.top .service_item:nth-child(even){
	flex-direction: row-reverse;
}
.service_list.top .service_item figure{
	width:500px;
}
.service_list.top .service_item img{
	border-radius:25px;
	width:100%;
}
.service_list.top .service_item .service_item_text{
	/* background:rgba(255,255,255,0.1); */
	/* border-radius:0 0 20px 20px; */
	padding:40px 20px;
	color:#fff;
	letter-spacing: 0.1em;
	flex:1;
}
.service_list.top .service_item .service_item_text h3{
	font-size:32px;
	line-height:40px;
	font-weight:bold;
	margin:0 0 20px;
}
.service_list.top .service_item .service_item_text .btn02{
	margin: 20px 0 0;
}
.service_list.bottom .service_item{
	background:rgba(255,255,255,0.1);
	border-radius:0 0 20px 20px;
	width:277px;
}
.service_list.bottom .service_item img{
	border-radius:15px 15px 0 0;
}
.service_list.bottom .service_item .service_item_text{
	/* background:rgba(255,255,255,0.1); */
	/* border-radius:0 0 20px 20px; */
	padding:30px 20px;
	color:#fff;
	letter-spacing: 0.1em;
}
.service_list.bottom .service_item .service_item_text h3{
	font-size:22px;
	line-height:40px;
	font-weight:bold;
	margin:0 0 20px;
}
.service_list.bottom .service_item .service_item_text a{
	display: block;
	text-align: center;
	font-weight: 600;
	padding: 8px;
	background: #fff;
	border-radius: 30px;
	color: #3a8cc9;
	max-width: 200px;
	margin: 10px auto 0;
	transition: opacity 0.2s ease;
}
@media (hover: hover){
	.service_list.bottom .service_item .service_item_text a:hover{
		opacity: 0.8;
	}
}
/*----- staff -----*/
.staff {
	position: relative;
	margin-top: 0;
	padding-bottom: 88px;
	overflow: hidden;
}
.staff__box {
	width: 1280px;
	margin: auto;
}
.staff__title-wrap {
	position: relative;
	margin-bottom: 86px;
	padding-top: 50px;
	text-align: center;
}
.staff__title-wrap::before {
	position: absolute;
	top: 42px;
	left: 72px;
	width: 200px;
	height: 206px;
	background: url("../images/staff_illustrat01.png") no-repeat;
	background-size:cover;
	content: "";
}
.staff__title-wrap::after {
	position: absolute;
	top: 0;
	right: 66px;
	width: 220px;
	height: 264px;
	background: url("../images/staff_illustrat02.svg") no-repeat;
	background-size:cover;
	content: "";
}
.staff__title-en {
	padding-bottom: 14px;
	font-size: 21px;
	font-family: AvenirLTPro-Medium;
	letter-spacing: 0.1em;
	line-height: 1;
}
.staff__title-en .title_color {
	color: #00bfb6;
}
.staff__title {
	font-size: 50px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1;
}
.staff__list-box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	position: relative;
	overflow: hidden;
}
.staff__list {
	width:32%;
}
.staff__list img{
	width:100%;
	height:auto;
}
.staff__person {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	width: 100%;
	height: auto;
	position: relative;
	padding: 20px;
  margin:0;
	color: #fff;
	box-sizing: border-box;
	background:#ff691e;
}
.staff__person a {
	display: block;
}
.staff__person-name {
	position: relative;
	padding-bottom: 20px;
	color: #ffffff;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.666;
	z-index: 1;
}
.staff__person-catchcopy {
	position: relative;
	color: #ffffff;
	font-size: 22px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0.05em;
	z-index: 1;
}
/*----- staff-blog -----*/
.staff-blog {
	background-color: #efefef;
}
.staff-blog__box {
	width: 1280px;
	margin: auto;
	padding: 87px 0 91px;
	box-sizing: border-box;
}
.staff-blog__title {
	padding-bottom: 58px;
	color: #000000;
	font-size: 23px;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.1em;
	line-height: 1;
}
.staff-blog__list-box {
	display: flex;
	justify-content: space-between;
	margin-bottom: 68px;
}
.staff-blog__list-box a {
	width: 22.6%;
}
.staff-blog__list {
	position: relative;
	width: 100%;
	height: 100%;
	padding: 48px 26px 38px;
	background: #fff;
	box-sizing: border-box;
}
.staff-blog__list::after {
	position: absolute;
	right: 24px;
	bottom: 45px;
	width: 19px;
	height: 8px;
	background: url("../images/arrow02.svg") no-repeat;
	content: "";
}
.staff-blog__list-category {
	padding-bottom: 30px;
	color: #00bfb6;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1;
}
.staff-blog__list-title {
	min-height: 56px;
	padding-bottom: 18px;
	color: #555555;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.75;
}
.staff-blog__list-date {
	color: #999999;
	font-size: 12px;
	letter-spacing: 0.1em;
}
.staff-blog__btn {
	width: 360px;
	margin: auto;
}

.top-comparison__box{
	width:1200px;
	margin:0 auto 50px;
}
.top-comparison__box img{
  width:100%;
  height:auto;
}

.top .contact-us__inner{
  height:auto;
}
.foot .contact-us__inner{
	width:1200px;
	height:auto;
	padding:48px 40px;
}
.contact-btn a.price_btn{
	background:#047cca;
}
.contact-btn a.check_btn{
	background:#00bfb6;
}
.contact-us {
	position: relative;
	padding: 110px 0 134px;
	background-color: #f9f9f9;
}
.contact-us__inner {
	position: relative;
	width: 919px;
	height: 553px;
	margin: auto;
	padding: 83px 82px 90px;
	border-radius: 5px;
	background-color: #2d3033;
	box-shadow: 0px 0px 66.36px 12.64px rgba(0, 0, 0, 0.04);
	box-sizing: border-box;
	z-index: 1;
}
.contact-us__inner::before {
	position: absolute;
	left: -20px;
	top: -130px;
	/*width: 341px;
      height: 261px;*/
	width: 240px;
	height: 220px;
	background: url("../images/contact-us_illustrat01.svg") no-repeat;
	content: "";
}
.contact-us__title {
	padding-bottom: 40px;
	color: #fff;
	font-size: 45px;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	letter-spacing: 0.07em;
	margin: 0;
}
.contact-us__text {
	position: relative;
	margin: 0 auto;
	padding-left: 12px;
	color: #fff;
	font-weight: 700;
	font-size: 29px;
	letter-spacing: 0.1em;
	line-height: 1.5;
}
.contact-us__text_small {
	position: relative;
	top: -8px;
	right: -4px;
	margin-right: 4px;
	font-size: 15px;
	letter-spacing: 0.1em;
}
.contact-us__text p:last-child {
	letter-spacing: 0.09em;
}
.contact-us__text-second {
	position: relative;
	top: -4px;
	display: inline-block;
	font-size: 21px;
	letter-spacing: 0.1em;
	font-weight: 700;
}
.contact-us__deco-text1 img {
	position: relative;
	top: 4px;
	width: 94px;
	height: 34px;
	margin: 0 30px 0 2px;
}
.contact-us__deco-text2 img {
	position: relative;
	top: 4px;
	width: 64px;
	height: 34px;
	margin: 0 8px 0 0;
}
.contact-us__bottom {
	display: flex;
	justify-content: space-between;
  margin:0;
}
.contact-us__contact {
	position: relative;
	width: 50%;
	box-sizing: border-box;
  padding:0;
}
.contact-us__contact .contact-us__bottom-title {
	margin-bottom: 20px;
	text-align:center;
}
.contact-us__contact::before{
  content:none;
}
.contact-us__contact:not(:first-child)::before {
	position: absolute;
	left: 0;
	top: 0px;
	height: 110%;
	width: 1px;
	background: #fff;
	content: "";
}
.contact-us__btn a {
	width: 320px;
	height: 74px;
	border-radius: 40px;
	box-shadow: 0 0 18px 79px rgba(0, 0, 0, 0.01);
	margin:0 auto;
}
.contact-us__bottom-title {
	margin-bottom: 22px;
	padding-left: 14px;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.1em;
}
.contact-us .tel-box::before {
	left: 4px;
	top: 4px;
	background: url("../images/tel-icon.svg") no-repeat;
}
.contact-us .tel-box__title {
	color: #fff;
}
.contact-us .tel-box__number a {
	color: #fff;
}
.contact-us .bg {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url("../images/contact-us.png") no-repeat center;
	content-visibility: auto;
  contain-intrinsic-size: 400px;
}