@charset "UTF-8";

/* ============================================
  top.css
============================================ */

.fontMincyo {
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}

/* mv
------------------------------------------------ */

.mainFlex01 {
	display: flex;
  flex-direction: row-reverse;
	overflow: hidden;
}

.mainFlexBox01 {
	width: 50%;
}
.mainSlide01 li {
	height: 680px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
.mainSlide01 li img {
	display: none;
}
.mainSlide01 li.bg01 {
	background-image: url("../images/top/01.jpg");
}
.mainSlide01 li.bg02 {
	background-image: url("../images/top/022.png");
}
.mainSlide01 li.bg03 {
	background-image: url("../images/top/033.png");
}
.mainSlide01 li.bg04 {
	background-image: url("../images/top/04.jpg");
}
.mainSlide01 li.bg05 {
	background-image: url("../images/top/05.jpg");
}
.mainSlide01 li.bg06 {
	background-image: url("../images/top/06.jpg");
}
.mainSlide01 li.bg07 {
	background-image: url("../images/top/07.jpg");
}

.mainFlexBox02 {
	width: 50%;
	background-color: #F2544C;
	display: flex;
  justify-content: center;
  align-items: center;
	color: #FFF1ED;
	position: relative;
	overflow: hidden;
	padding-bottom: 90px;
}
.mainFlexBox02::before {
	content: "";
	background-image: url("../images/top/2022/main_bg01.png");
	background-repeat: no-repeat;
	background-position: center center;
	width: 268px;
	height: 203px;
	position: absolute;
	bottom: -80px;
	left: -64px;
}
.mainFlexBox02::after {
	content: "";
	background-image: url("../images/top/2022/main_bg02.png");
	background-repeat: no-repeat;
	background-position: center center;
	width: 268px;
	height: 203px;
	position: absolute;
	bottom: -75px;
	right: -64px;
}

/*-----------------------*/

@keyframes anime1 {
	0% {margin-right: 428px; bottom: -270px;}
	100% {margin-right: 0px; bottom: 0px;}
}

@keyframes anime1Sp {
	0% {margin-right: 214px; bottom: -135px;}
	100% {margin-right: 0px; bottom: 0px;}
}

.airplane01 img {
	width: 100%;
	height: auto;
}

@media only screen and (min-width: 751px) {

	.airplane01 {
		width: 428px;
		height: 270px;
		position: absolute;
		bottom: -270px;
		right: 40px;
		margin-right: 428px;
		/*left: 35%;
		margin-left: -428px;*/
		opacity: 1;
			animation-delay:.6s;
			-webkit-animation-delay:.6s;
		animation-name: anime1;
		animation-duration: 2.0s;
		animation-fill-mode: forwards;
	}
	
}

/*.airplane01.airMove {
	animation-name: anime1;
  animation-duration: 3.0s;
	bottom: 200px;
	right: 1000px;
	opacity: 0;
}*/

/*-----------------------*/

.mainH201 {
	margin-bottom: 40px;
}
.mainH201 .h201 {
	display: block;
	font-size: 24px;
	line-height: 1.33em;
	font-weight: bold;
	margin-bottom: 22px;
}
.mainH201 .h202 {
	display: block;
	font-size: 54px;
	line-height: 1.33em;
}
.mainText01 {
	font-size: 16px;
	line-height: 2.2em;
}

/*---------------------------------*/
/* PAGER */
.bx-wrapper .bx-pager {
  text-align: center;
  font-size: .85em;
  font-family: Arial;
  font-weight: bold;
  color: #666;
  padding-top: 20px;
	position: absolute;
	left: 10px;
	bottom: 10px;
}
.bx-wrapper .bx-pager.bx-default-pager a {
  background: #ffffff;
  text-indent: -9999px;
  display: block;
  width: 8px;
  height: 8px;
  margin: 10px 0;
  outline: 0;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
}
.bx-wrapper .bx-pager.bx-default-pager a:hover,
.bx-wrapper .bx-pager.bx-default-pager a.active,
.bx-wrapper .bx-pager.bx-default-pager a:focus {
  background: #F2544C;
}
.bx-wrapper .bx-pager-item,
.bx-wrapper .bx-controls-auto .bx-controls-auto-item {
  display: block;
  vertical-align: bottom;
  *zoom: 1;
  *display: inline;
}
.bx-wrapper .bx-pager-item {
  font-size: 0;
  line-height: 0;
}

/* mainContents
------------------------------------------------ */

.topContBlock01 {
	padding: 70px 0px 60px 0px;
}
.topContBox01 {
	background-color: #FCFBF3;
	position: relative;
	padding: 40px 90px 50px 90px;
	background-image: url("../images/top/2022/cont_box_bg01.png"),url("../images/top/2022/cont_box_bg02.png"),url("../images/top/2022/cont_box_bg03.png"),url("../images/top/2022/cont_box_bg04.png");
	background-repeat: no-repeat,no-repeat,no-repeat,no-repeat;
	background-position: left top, right top,left bottom,right bottom;
}

.topH301 {
	text-align: center;
	font-size: 24px;
	line-height: 1.6em;
	font-weight: bold;
	color: #F2544C;
	padding-bottom: 10px;
	margin-bottom: 20px;
	position: relative;
}
.topH301::after {
	content: "";
	width: 20px;
	height: 2px;
	background-color: #F2544C;
	position: absolute;
	bottom: 0px;
	left: 50%;
	margin-left: -10px;
}

.topText15_21 {
	font-size: 15px;
	line-height: 2.1em;
}
.topTb01 {
	display: table;
	width: 100%;
	margin-top: 34px;
}
.topCell01 {
	display: table-cell;
	text-align: left;
	vertical-align: top;
	box-sizing: border-box;
	width: 50%;
	padding-right: 25px;
}
.topCell02 {
	display: table-cell;
	text-align: left;
	vertical-align: top;
	box-sizing: border-box;
	width: 50%;
	border-left: 1px solid #C9BABA;
	padding-left: 28px;
}

.topTbDl01 dt {
	color: #F2544C;
	font-size: 18px;
	line-height: 1.6em;
	font-weight: bold;
	margin-bottom: 15px;
}

/* news
------------------------------------------------ */

.topContBlock02 {
	padding: 60px 0px 60px 0px;
}
.topH302 {
	text-align: center;
	margin-bottom: 30px;
}
.topH302 span {
	display: block;
}
.topH302 span:first-child {
	margin-bottom: 8px;
}
.topH302 span:nth-child(2) {
	color: #F2544C;
	font-size: 28px;
	line-height: 1.5em;
	font-weight: bold;
	margin-bottom: 3px;
}
.topH302 span:nth-child(3) {
	font-size: 16px;
	line-height: 1.5em;
}

.topH302 span.icon01 img {
	width: 35px;
	height: auto;
}
.topH302 span.icon02 img {
	width: 40px;
	height: auto;
}
.topH302 span.icon03 img {
	width: 59px;
	height: auto;
}
.topH302 span.icon04 img {
	width: 68px;
	height: auto;
}
.topH302 span.icon05 img {
	width: 49px;
	height: auto;
}
.topH302 span.icon06 img {
	width: 32px;
	height: auto;
}



.topNewsWrap01 {
	width: 720px;
	margin: 0px auto 0px auto;
}
.topNewsWrap01 a:hover {
	text-decoration: underline;
}

.topNewsWrap01 li {
	display: table;
	width: 100%;
}
.topNewsWrap01 li .liCell01 {
	display: table-cell;
	text-align: left;
	vertical-align: middle;
	padding: 10px 12px 10px 0px;
}
.topNewsWrap01 li .liCell02 {
	display: table-cell;
	text-align: left;
	vertical-align: middle;
	padding: 15px 0px 15px 0px;
	border-bottom: 1px solid #EEEEEE;
	width: 100%;
}
.topNewsInFlex01 {
	display: flex;
	font-size: 15px;
	line-height: 1.4em;
}
.topNewsInFlex01 .p01 {
	margin-right: 30px;
}

.topNewsCate01 {
	display: flex;
  justify-content: center;
  align-items: center;
	width: 100px;
	height: 30px;
	background-color: #F2544C;
	border-radius: 50px;
	color: #ffffff;
	font-size: 16px;
	line-height: 1.4em;
	font-weight: bold;
}
.topNewsCate01.cate02 {
	background-color: #2651DE;
}
.topNewsBtnWrap01 {
	margin-top: 30px;
	text-align: center;
}

.topBtn01 {
	position: relative;
	display: flex;
  justify-content: center;
  align-items: center;
	width: 260px;
	height: 60px;
	margin: auto;
	background-color: #ffffff;
	border: 1px solid #F04D4D;
	border-radius: 50px;
	font-size: 16px;
	line-height: 1.3em;
	font-weight: bold;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
}
a.topBtn01:link {	color: #F04D4D;	text-decoration: none;}
a.topBtn01:visited {	color: #F04D4D;	text-decoration: none;}
a.topBtn01:hover {
	background-color: #F04D4D;
	color:#ffffff;
	text-decoration: none;
}
a.topBtn01:active {	color:#F04D4D;	text-decoration: none;}

a.topBtn01::after {
  content: '';
  width: 8px;
  height: 8px;
  border: 0px;
  border-top: solid 2px #F04D4D;
  border-right: solid 2px #F04D4D;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 22px;
  margin-top: -4px;
}
a.topBtn01:hover::after {
  border-top: solid 2px #ffffff;
  border-right: solid 2px #ffffff;
}


/* service
------------------------------------------------ */

.topContBlock03 {
	padding: 110px 0px 90px 0px;
}
.topServiceBox01 {
	background-image: url("../images/top/2022/service_bg01.jpg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	box-sizing: border-box;
	padding-top: 166px;
	height: 302px;
	position: relative;
}
.topServiceH3 {
	display: flex;
  justify-content: center;
  align-items: center;
	width: 220px;
	height: 220px;
	background-color: #ffffff;
	border-radius: 300px;
	position: absolute;
	top: -110px;
	left: 50%;
	margin-left: -110px;
}
.topServiceText01 {
	font-size: 24px;
	line-height: 1.75em;
/*	font-weight: bold;*/
	color: #ffffff;
	text-align: center;
}

.topServiceFlex01 {
	display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.topServiceFlexBox01 {
	width: 520px;
	position: relative;
	padding-bottom: 45px;
	margin-top: 80px;
}

.topServiceFlexBox01 .h401 {
	position: relative;
	padding-left: 22px;
	font-size: 24px;
	line-height: 1.4em;
	font-weight: bold;
	margin: 15px 0px 16px 0px;
}
.topServiceFlexBox01 .h401 span {
	font-size: 18px;
}
.topServiceFlexBox01 .h401::before {
	content: "";
	width: 15px;
	height: 4px;
	background-color: #F2544C;
	border-radius: 50px;
	position: absolute;
	left: 0px;
	top: 15px;
}

.topText01 {
	font-size: 15px;
	line-height: 1.85em;
}

.topServiceLinkWrap01 {
	position: absolute;
	right: 0px;
	bottom: 0px;
}
.topServiceLinkWrap01 a {
	position: relative;
	display: inline-block;
	padding-right: 30px;
	color: #F2544C;
	font-size: 18px;
	line-height: 1.4em;
	font-weight: bold;
}
.topServiceLinkWrap01 a:hover {
	text-decoration: underline;
}
.topServiceLinkWrap01 a::after {
  content: '';
  width: 8px;
  height: 8px;
  border: 0px;
  border-top: solid 2px #F2544C;
  border-right: solid 2px #F2544C;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 0px;
  margin-top: -4px;
}


/* contact
------------------------------------------------ */

.topContactArea01 {
	background-color: #F2544C;
	position: relative;
	padding: 90px 0px 70px 0px;
}
.topContactArea01::before {
	content: "";
width: 0;
height: 0;
border-style: solid;
border-width: 13px 9px 0 9px;
border-color: #ffffff transparent transparent transparent;
	position: absolute;
	top: 0px;
	left: 50%;
	margin-left: -9px;
}

.topBtn02 {
	position: relative;
	display: flex;
  justify-content: center;
  align-items: center;
	width: 620px;
	height: 80px;
	margin: auto;
	background-color: #ffffff;
	border: 1px solid #F04D4D;
	border-radius: 50px;
	font-size: 24px;
	line-height: 1.3em;
	font-weight: bold;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
}
a.topBtn02:link {	color: #F04D4D;	text-decoration: none;}
a.topBtn02:visited {	color: #F04D4D;	text-decoration: none;}
a.topBtn02:hover {
	color:#F04D4D;
	text-decoration: none;
}
a.topBtn02:active {	color:#F04D4D;	text-decoration: none;}

a.topBtn02::after {
  content: '';
  width: 8px;
  height: 8px;
  border: 0px;
  border-top: solid 2px #F04D4D;
  border-right: solid 2px #F04D4D;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 30px;
  margin-top: -4px;
}
.topBtn02 span {
	display: inline-block;
	padding-left: 48px;
	position: relative;
}
.topBtn02 span::before {
	content: "";
	background-image: url("../images/top/2022/cont_tit_icon02.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 30px auto;
	width: 30px;
	height: 30px;
	position: absolute;
	left: 0px;
	top: 50%;
	margin-top: -15px;
}


/* SUSTAINABILITY
------------------------------------------------ */

.topSusBlock01 {
	display: flex;
	margin-bottom: 40px;
}

.topSusImg01Wrap01 {
	position: relative;
	width: 50%
}
.topSusImg01 {
	background-image: url("../images/top/2022/sustaina_img01.jpg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	width: 50vw;
	height: 100%;
	position: absolute;
	top: 0px;
	right: 0px;
}

.topSusCont01 {
	box-sizing: border-box;
	padding-left: 60px;
	width: 50%;
	height: 500px;
	display: flex;
  align-items: center;
}
.topH302.topH30202 {
	position: relative;
	text-align: left;
	padding-left: 100px;
}
.topH302.topH30202 .icon03 {
	position: absolute;
	left: 0px;
	top: 50%;
	margin-top: -18px;
}
.topSusText01 {
	font-size: 16px;
	line-height: 2.0em;
}
.topSusBtnWrap01 {
	margin-top: 80px;
}
.topSusBtnWrap01 .topBtn01 {
	margin-left: 0px;
	width: 380px;
}


/* CUSTOMER SATISFACTION
------------------------------------------------ */

.topCustBox01 {
	width: 940px;
	margin: 0px auto 0px auto;
}
.topCustBox02 {
	width: 800px;
	margin: 40px auto 0px auto;
}

.topCustTable01 {
	margin-top: 20px;
}
.topCustTable01 th {
	background-color: #F2544C;
	text-align: center;
	vertical-align: middle;
	width: 80px;
	height: 150px;
	color: #ffffff;
	font-size: 24px;
	line-height: 1.3em;
	font-weight: bold;
}
.topCustTable01 td {
	text-align: center;
	vertical-align: middle;
	background-color: #FFF1ED;
	color: #F2544C;
}

.topCustBox03 {
	display: flex;
  justify-content: center;
  align-items: center;
}

.topCustBoxIn01 {
	display: flex;
  align-items: center;
	margin-left: 70px;
}
.topCustBoxIn01:first-child {
	margin-left: 0px;
}
.topCustBoxIn01 .img01 img {
	width: 102px;
	height: auto;
	margin-bottom: 10px;
}
.topCustBoxIn01 .text02 {
	font-size: 24px;
	line-height: 1.4em;
	margin-right: 32px;
}

.topCustBoxIn01 .text01 {
	font-size: 52px;
	line-height: 1.0em;
	font-weight: bold;
}
.topCustBoxIn01 .text01 span {
	display: inline;
	vertical-align: text-bottom;
	font-size: 22px;
}

.alr {
	text-align: right;
}
.topServiceLinkWrap01.topSusLink01 {
	position: relative;
	text-align: right;
	margin-top: 36px;
}


/* RECRUIT
------------------------------------------------ */

.topContBlock04 {
	position: relative;
	padding: 204px 0px 0px 0px;
}
.topRecBg01 {
	background-image: url("../images/top/2022/recruit_bg01.jpg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	width: 100%;
	height: 381px;
	position: absolute;
	top: 0px;
	left: 0px;
}
.topRecBox01 {
	background-color: #ffffff;
	position: relative;
	text-align: center;
	padding: 80px 0px 0px 0px;
}
.topRelativeWrap01 {
	position: relative;
}
.topRecBox02 {
	width: 640px;
	margin: 50px auto 0px auto;;
}

.topRecBtn01 {
	position: relative;
	display: flex;
	background-color: #F7F7F7;
	border: 1px solid #ffffff;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
}
.topRecBtn01:hover {
	border: 1px solid #F2544C;
}
.topRecBtn01::after {
	content: "";
	background-image: url("../images/top/2022/recruit_icon01.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 18px auto;
	background-color: #F2544C;
	width: 36px;
	height: 36px;
	position: absolute;
	right: 0px;
	bottom: 0px;
}

.topRecImgWrap01 {
	background-image: url("../images/top/2022/recruit_img01.jpg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	width: 150px;
	height: 100px;
}

.topRecBoxIn01 {
	padding: 10px 20px 10px 40px;
	display: flex;
  align-items: center;
	text-align: left;
	font-size: 20px;
	line-height: 1.6em;
	font-weight: 500;
}
.topRecBoxIn01 span {
	font-size: 16px;
	line-height: 2.0em;
}


/* access
------------------------------------------------ */
.googlemap .gMap {
  width: 100%;
  height: 360px;
}
.sec_access .access-info {
  padding-top: 30px;
  padding-bottom: 30px;
}
.sec_access .access-info h3 {
  font-size: 14px;
  line-height: 1;
  font-weight: bold;
  border-left: 3px solid #000;
  margin-bottom: 10px;
  padding-left: 5px;
}

.bottomSlideWrap01 {
	margin: 34px 0px 100px 0px;
	padding: 0px 30px;
}

/*------------------*/

.bx-wrapper .bx-prev {
  left: -15px;
  background-image: url("../images/top/2022/slide_prev.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 30px auto;
}
.bx-wrapper .bx-prev:hover,
.bx-wrapper .bx-prev:focus {
  background-position: center center;
}
.bx-wrapper .bx-next {
  right: -15px;
  background-image: url("../images/top/2022/slide_next.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 30px auto;
}
.bx-wrapper .bx-next:hover,
.bx-wrapper .bx-next:focus {
  background-position: center center;
}
.bx-wrapper .bx-controls-direction a {
  position: absolute;
  top: 50%;
  margin-top: -15px;
  outline: 0;
  width: 30px;
  height: 30px;
  text-indent: -9999px;
  z-index: 9999;
}
.bx-wrapper .bx-controls-direction a.disabled {
  display: none;
}

/*-----------------*/






@media only screen and (max-width: 750px) {

	/* mv
	------------------------------------------------ */

	.mainFlex01 {
		display: block;
		flex-direction: row-reverse;
		overflow: hidden;
	}

	.mainFlexBox01 {
		width: auto;
	}
	.mainSlide01 li {
		height: auto;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
	}
	.mainSlide01 li img {
		display: block;
	}

	.mainFlexBox02 {
		width: auto;
		/*background-color: #FFF1ED;*/
		display: flex;
		justify-content: center;
		align-items: center;
		/*color: #F2544C;*/
		position: relative;
		overflow: hidden;
		padding: 30px 15px 120px 15px;
	}
	.mainFlexBox02::before {
		content: "";
		background-image: url("../images/top/2022/main_bg01.png");
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 134px auto;
		width: 134px;
		height: 102px;
		position: absolute;
		bottom: -32px;
		left: -24px;
	}
	.mainFlexBox02::after {
		content: "";
		background-image: url("../images/top/2022/main_bg02.png");
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 134px auto;
		width: 134px;
		height: 102px;
		position: absolute;
		bottom: -30px;
		right: -30px;
	}

	/*-----------------------*/

	.airplane01 img {
		width: 100%;
		height: auto;
	}

	.airplane01 {
		width: 214px;
		height: 135px;
		position: absolute;
		bottom: -135px;
		right: 30px;
		margin-right: 214px;
		/*left: 35%;
		margin-left: -214px;*/
		opacity: 1;
			animation-delay:.6s;
			-webkit-animation-delay:.6s;
		animation-name: anime1Sp;
		animation-duration: 2.0s;
		animation-fill-mode: forwards;
	}
	/*.airplane01.airMove {
		animation-name: anime1;
		animation-duration: 3.0s;
		bottom: 200px;
		right: 1000px;
		opacity: 0;
	}*/

	/*-----------------------*/

	.mainH201 {
		margin-bottom: 40px;
	}
	.mainH201 .h201 {
		display: block;
		font-size: 18px;
		line-height: 1.5em;
		font-weight: bold;
		margin-bottom: 28px;
	}
	.mainH201 .h202 {
		display: block;
		font-size: 38px;
		line-height: 1.33em;
	}
	.mainText01 {
		font-size: 16px;
		line-height: 2.2em;
	}

	/*---------------------------------*/
	/* PAGER */
	.bx-wrapper .bx-pager {
		text-align: center;
		font-size: .85em;
		font-family: Arial;
		font-weight: bold;
		color: #666;
		padding-top: 20px;
		position: absolute;
		left: 10px;
		bottom: 10px;
	}
	.bx-wrapper .bx-pager.bx-default-pager a {
		background: #ffffff;
		text-indent: -9999px;
		display: block;
		width: 8px;
		height: 8px;
		margin: 10px 0;
		outline: 0;
		-moz-border-radius: 5px;
		-webkit-border-radius: 5px;
		border-radius: 5px;
	}
	.bx-wrapper .bx-pager.bx-default-pager a:hover,
	.bx-wrapper .bx-pager.bx-default-pager a.active,
	.bx-wrapper .bx-pager.bx-default-pager a:focus {
		background: #F2544C;
	}
	.bx-wrapper .bx-pager-item,
	.bx-wrapper .bx-controls-auto .bx-controls-auto-item {
		display: block;
		vertical-align: bottom;
		*zoom: 1;
		*display: inline;
	}
	.bx-wrapper .bx-pager-item {
		font-size: 0;
		line-height: 0;
	}

	/* mainContents
	------------------------------------------------ */

	.topContBlock01 {
		padding: 30px 15px 30px 15px;
	}
	.topContBox01 {
		background-color: #FCFBF3;
		position: relative;
		padding: 35px 15px 40px 15px;
		background-image: url("../images/top/2022/cont_box_bg01.png"),url("../images/top/2022/cont_box_bg02.png"),url("../images/top/2022/cont_box_bg03.png"),url("../images/top/2022/cont_box_bg04.png");
		background-repeat: no-repeat,no-repeat,no-repeat,no-repeat;
		background-position: left top, right top,left bottom,right bottom;
	}

	.topH301 {
		text-align: center;
		font-size: 20px;
		line-height: 1.6em;
		font-weight: bold;
		color: #F2544C;
		padding-bottom: 10px;
		margin-bottom: 20px;
		position: relative;
	}
	.topH301::after {
		content: "";
		width: 20px;
		height: 2px;
		background-color: #F2544C;
		position: absolute;
		bottom: 0px;
		left: 50%;
		margin-left: -10px;
	}

	.topText15_21 {
		font-size: 15px;
		line-height: 2.1em;
	}
	.topTb01 {
		display: block;
		width: auto;
		margin-top: 34px;
	}
	.topCell01 {
		display: block;
		text-align: left;
		vertical-align: top;
		box-sizing: border-box;
		width: auto;
		padding-right: 0px;
	}
	.topCell02 {
		display: block;
		text-align: left;
		vertical-align: top;
		box-sizing: border-box;
		width: auto;
		border-left: none;
		border-top: 1px solid #C9BABA;
		padding-left: 0px;
		padding-top: 20px;
		margin-top: 20px;
	}

	.topTbDl01 dt {
		color: #F2544C;
		font-size: 18px;
		line-height: 1.6em;
		font-weight: bold;
		margin-bottom: 15px;
	}

	/* news
	------------------------------------------------ */

	.topContBlock02 {
		padding: 60px 15px 60px 15px;
	}
	.topH302 {
		text-align: center;
		margin-bottom: 30px;
	}
	.topH302 span {
		display: block;
	}
	.topH302 span:first-child {
		margin-bottom: 8px;
	}
	.topH302 span:nth-child(2) {
		color: #F2544C;
		font-size: 25px;
		line-height: 1.5em;
		font-weight: bold;
		margin-bottom: 3px;
	}
	.topH302 span:nth-child(3) {
		font-size: 16px;
		line-height: 1.5em;
	}

	.topH302 span.icon01 img {
		width: 35px;
		height: auto;
	}
	.topH302 span.icon02 img {
		width: 40px;
		height: auto;
	}
	.topH302 span.icon03 img {
		width: 50px;
		height: auto;
	}
	.topH302 span.icon04 img {
		width: 68px;
		height: auto;
	}
	.topH302 span.icon05 img {
		width: 49px;
		height: auto;
	}
	.topH302 span.icon06 img {
		width: 32px;
		height: auto;
	}



	.topNewsWrap01 {
		width: auto;
		margin: 0px auto 0px auto;
	}
	.topNewsWrap01 a:hover {
		text-decoration: underline;
	}

	.topNewsWrap01 li {
		display: block;
		width: 100%;
	}
	.topNewsWrap01 li .liCell01 {
		display: flex;
		text-align: left;
		vertical-align: middle;
		padding: 10px 12px 0px 0px;
	}
	.topNewsWrap01 li .liCell02 {
		display: block;
		text-align: left;
		vertical-align: middle;
		padding: 10px 0px 10px 0px;
		border-bottom: 1px solid #EEEEEE;
	}
	.topNewsInFlex01 {
		display: flex;
		font-size: 13px;
		line-height: 1.4em;
	}
	.topNewsInFlex01 .p01 {
		margin-right: 30px;
	}

	.topNewsCate01 {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100px;
		height: 30px;
		background-color: #F2544C;
		border-radius: 50px;
		color: #ffffff;
		font-size: 14px;
		line-height: 1.4em;
		font-weight: bold;
		margin-right: 15px;
	}
	.topNewsCate01.cate02 {
		background-color: #2651DE;
	}
	.topNewsBtnWrap01 {
		margin-top: 30px;
		text-align: center;
	}

	.topBtn01 {
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 260px;
		height: 60px;
		margin: auto;
		background-color: #ffffff;
		border: 1px solid #F04D4D;
		border-radius: 50px;
		font-size: 16px;
		line-height: 1.3em;
		font-weight: bold;
			-webkit-transition: all 0.3s ease;
			-moz-transition: all 0.3s ease;
			-o-transition: all 0.3s ease;
			transition: all  0.3s ease;
	}
	a.topBtn01:link {	color: #F04D4D;	text-decoration: none;}
	a.topBtn01:visited {	color: #F04D4D;	text-decoration: none;}
	a.topBtn01:hover {
		background-color: #F04D4D;
		color:#ffffff;
		text-decoration: none;
	}
	a.topBtn01:active {	color:#F04D4D;	text-decoration: none;}

	a.topBtn01::after {
		content: '';
		width: 8px;
		height: 8px;
		border: 0px;
		border-top: solid 2px #F04D4D;
		border-right: solid 2px #F04D4D;
		-ms-transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		position: absolute;
		top: 50%;
		right: 12px;
		margin-top: -4px;
	}
	a.topBtn01:hover::after {
		border-top: solid 2px #ffffff;
		border-right: solid 2px #ffffff;
	}


	/* service
	------------------------------------------------ */

	.topContBlock03 {
		padding: 110px 0px 20px 0px;
	}
	.topServiceBox01 {
		background-image: url("../images/top/2022/service_bg01_sp.jpg");
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
		box-sizing: border-box;
		padding-top: 166px;
		height: 300px;
		position: relative;
	}
	.topServiceH3 {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 220px;
		height: 220px;
		background-color: #ffffff;
		border-radius: 300px;
		position: absolute;
		top: -110px;
		left: 50%;
		margin-left: -110px;
	}
	.topServiceText01 {
		font-size: 18px;
		line-height: 1.75em;
		font-weight: bold;
		color: #ffffff;
		text-align: center;
	}

	.topServiceFlex01 {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		padding-top: 15px;
		padding-bottom: 0px;
	}
	.topServiceFlexBox01 {
		width: auto;
		position: relative;
		padding-bottom: 0px;
		margin-top: 0px;
		margin-bottom: 50px;
	}
	.topServiceFlexBox01 img {
		width: 100%;
		height: auto;
	}
	
	.topServiceFlexBox01 .h401 {
		position: relative;
		padding-left: 15px;
		font-size: 18px;
		line-height: 1.6em;
		font-weight: bold;
		margin: 15px 0px 16px 0px;
	}
	.topServiceFlexBox01 .h401 span {
		font-size: 13px;
	}
	.topServiceFlexBox01 .h401::before {
		content: "";
		width: 10px;
		height: 3px;
		background-color: #F2544C;
		border-radius: 50px;
		position: absolute;
		left: 0px;
		top: 10px;
	}

	.topText01 {
		font-size: 15px;
		line-height: 1.85em;
	}

	.topServiceLinkWrap01 {
		position: relative;
		right: 0px;
		bottom: 0px;
		text-align: right;
	}
	.topServiceLinkWrap01 a {
		position: relative;
		display: inline-block;
		padding-right: 15px;
		color: #F2544C;
		font-size: 14px;
		line-height: 1.4em;
		letter-spacing: -0.01em;
		font-weight: bold;
		margin-top: 15px;
	}
	.topServiceLinkWrap01 a:hover {
		text-decoration: underline;
	}
	.topServiceLinkWrap01 a::after {
		content: '';
		width: 8px;
		height: 8px;
		border: 0px;
		border-top: solid 2px #F2544C;
		border-right: solid 2px #F2544C;
		-ms-transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		position: absolute;
		top: 50%;
		right: 0px;
		margin-top: -4px;
	}


	/* contact
	------------------------------------------------ */

	.topContactArea01 {
		background-color: #F2544C;
		position: relative;
		padding: 55px 15px 45px 15px;
	}
	.topContactArea01::before {
		content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 13px 9px 0 9px;
	border-color: #ffffff transparent transparent transparent;
		position: absolute;
		top: 0px;
		left: 50%;
		margin-left: -9px;
	}

	.topBtn02 {
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 60px;
		margin: auto;
		background-color: #ffffff;
		border: 1px solid #F04D4D;
		border-radius: 50px;
		font-size: 18px;
		line-height: 1.3em;
		font-weight: bold;
			-webkit-transition: all 0.3s ease;
			-moz-transition: all 0.3s ease;
			-o-transition: all 0.3s ease;
			transition: all  0.3s ease;
	}
	a.topBtn02:link {	color: #F04D4D;	text-decoration: none;}
	a.topBtn02:visited {	color: #F04D4D;	text-decoration: none;}
	a.topBtn02:hover {
		color:#F04D4D;
		text-decoration: none;
	}
	a.topBtn02:active {	color:#F04D4D;	text-decoration: none;}

	a.topBtn02::after {
		content: '';
		width: 8px;
		height: 8px;
		border: 0px;
		border-top: solid 2px #F04D4D;
		border-right: solid 2px #F04D4D;
		-ms-transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		position: absolute;
		top: 50%;
		right: 12px;
		margin-top: -4px;
	}
	.topBtn02 span {
		display: inline-block;
		padding-left: 48px;
		position: relative;
	}
	.topBtn02 span::before {
		content: "";
		background-image: url("../images/top/2022/cont_tit_icon02.png");
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 30px auto;
		width: 30px;
		height: 30px;
		position: absolute;
		left: 0px;
		top: 50%;
		margin-top: -15px;
	}


	/* SUSTAINABILITY
	------------------------------------------------ */

	.topSusBlock01 {
		display: block;
		margin-bottom: 0px;
		padding-left: 0px !important;
		padding-right: 0px !important;
	}

	.topSusImg01Wrap01 {
		position: relative;
		width: auto
	}
	.topSusImg01Wrap01 img {
		width: 100%;
		height: auto;
	}
	.topSusImg01 {
		background-image: none;
		width: auto;
		height: auto;
		position: relative;
		top: 0px;
		right: 0px;
	}

	.topSusCont01 {
		box-sizing: border-box;
		padding: 30px 15px 30px 15px;
		width: auto;
		height: auto;
		display: flex;
		align-items: center;
	}
	.topH302.topH30202 {
		position: relative;
		text-align: left;
		padding-left: 66px;
	}
	.topH302.topH30202 .icon03 {
		position: absolute;
		left: 0px;
		top: 50%;
		margin-top: -18px;
	}
	.topSusText01 {
		font-size: 15px;
		line-height: 2.0em;
	}
	.topSusBtnWrap01 {
		margin-top: 30px;
	}
	.topSusBtnWrap01 .topBtn01 {
		margin-left: 0px;
		width: 100%;
	}


	/* CUSTOMER SATISFACTION
	------------------------------------------------ */

	.topCustBox01 {
		width: auto;
		margin: 0px auto 0px auto;
	}
	.topCustBox02 {
		width: auto;
		margin: 40px auto 0px auto;
	}

	.topCustTable01 {
		display: block;
		margin-top: 20px;
	}
	.topCustTable01 tbody {
		display: block;
	}
	.topCustTable01 tr {
		display: block;
	}
	.topCustTable01 th {
		display: block;
		background-color: #F2544C;
		text-align: center;
		vertical-align: middle;
		width: auto;
		height: auto;
		color: #ffffff;
		font-size: 24px;
		line-height: 1.3em;
		font-weight: bold;
		padding: 6px;
	}
	.topCustTable01 td {
		display: block;
		text-align: center;
		vertical-align: middle;
		background-color: #FFF1ED;
		color: #F2544C;
		padding: 15px;
	}

	.topCustBox03 {
		display: block;
		justify-content: center;
		align-items: center;
	}

	.topCustBoxIn01 {
		display: block;
		text-align: center;
		margin-left: 0px;
		margin-top: 20px;
	}
	.topCustBoxIn01:first-child {
		margin-left: 0px;
		margin-top: 0px;
	}
	.topCustBoxIn01 .img01 img {
		width: 102px;
		height: auto;
		margin-bottom: 10px;
	}
	.topCustBoxIn01 .text02 {
		font-size: 24px;
		line-height: 1.4em;
		margin-right: 0px;
		margin-bottom: 6px;
	}

	.topCustBoxIn01 .text01 {
		font-size: 52px;
		line-height: 1.0em;
		font-weight: bold;
	}
	.topCustBoxIn01 .text01 span {
		display: inline;
		vertical-align: text-bottom;
		font-size: 22px;
	}

	.alr {
		text-align: right;
	}
	.topServiceLinkWrap01.topSusLink01 {
		position: relative;
		text-align: right;
		margin-top: 36px;
	}


	/* RECRUIT
	------------------------------------------------ */

	.topContBlock04 {
		position: relative;
		padding: 216px 0px 0px 0px;
	}
	.topRecBg01 {
		background-image: url("../images/top/2022/recruit_bg01_sp.jpg");
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
		width: 100%;
		height: 216px;
		position: absolute;
		top: 0px;
		left: 0px;
	}
	.topRecBox01 {
		background-color: #ffffff;
		position: relative;
		text-align: center;
		padding: 80px 15px 0px 15px;
	}
	.topRelativeWrap01 {
		position: relative;
	}
	.topRecBox02 {
		width: auto;
		margin: 50px auto 0px auto;;
	}

	.topRecBtn01 {
		position: relative;
		display: flex;
		background-color: #F7F7F7;
		border: 1px solid #ffffff;
			-webkit-transition: all 0.3s ease;
			-moz-transition: all 0.3s ease;
			-o-transition: all 0.3s ease;
			transition: all  0.3s ease;
	}
	.topRecBtn01:hover {
		border: 1px solid #F2544C;
	}
	.topRecBtn01::after {
		content: "";
		background-image: url("../images/top/2022/recruit_icon01.png");
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 18px auto;
		background-color: #F2544C;
		width: 36px;
		height: 36px;
		position: absolute;
		right: 0px;
		bottom: 0px;
	}

	.topRecImgWrap01 {
		background-image: url("../images/top/2022/recruit_img01.jpg");
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
		width: 75px;
		height: 100px;
	}

	.topRecBoxIn01 {
		padding: 10px 10px 10px 10px;
		display: flex;
		align-items: center;
		text-align: left;
		font-size: 17px;
		line-height: 1.6em;
		font-weight: 500;
	}
	.topRecBoxIn01 span {
		font-size: 13px;
		line-height: 2.0em;
	}


	/* access
	------------------------------------------------ */
	
	.topContBlock02.mapWrap01 {
		padding-left: 0px;
		padding-right: 0px;
	}
	.googlemap .gMap {
		width: 100%;
		height: 360px;
	}
	.sec_access .access-info {
		padding-top: 30px;
		padding-bottom: 30px;
	}
	.sec_access .access-info h3 {
		font-size: 14px;
		line-height: 1;
		font-weight: bold;
		border-left: 3px solid #000;
		margin-bottom: 10px;
		padding-left: 5px;
	}

	.bottomSlideWrap01 {
		margin: 0px 0px 44px 0px;
		overflow: auto;
		padding: 0px 0px 20px 0px;;
	}

	.bxslider {
		/*display: flex;*/
		display: inline-flex;
	}
	.bxslider li {
		flex-shrink: 0;
		margin-left: 15px;
	}
	
	/*------------------*/

	.bx-wrapper .bx-prev {
		left: -15px;
		background-image: url("../images/top/2022/slide_prev.png");
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 30px auto;
	}
	.bx-wrapper .bx-prev:hover,
	.bx-wrapper .bx-prev:focus {
		background-position: center center;
	}
	.bx-wrapper .bx-next {
		right: -15px;
		background-image: url("../images/top/2022/slide_next.png");
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 30px auto;
	}
	.bx-wrapper .bx-next:hover,
	.bx-wrapper .bx-next:focus {
		background-position: center center;
	}
	.bx-wrapper .bx-controls-direction a {
		position: absolute;
		top: 50%;
		margin-top: -15px;
		outline: 0;
		width: 30px;
		height: 30px;
		text-indent: -9999px;
		z-index: 9999;
	}
	.bx-wrapper .bx-controls-direction a.disabled {
		display: none;
	}

	/*-----------------*/



}
