@charset "UTF-8";

/*-------------------------------------
	会社情報
-------------------------------------*/
.about-cate-area {
	position: relative;
}

.about-cate-area::after {
    content: "";
    display: block;
    height: 500px;
    width: 100%;
    background-color: #F2F3F4;
    position: absolute;
	top: 40px;
	left: 0;
	/*z-index: -1;*/
}

.about-cate-list {
	position:relative;
	z-index:2;
}

@media (max-width:768px) {
.about-cate-area::after {
    height: 300px;
}
}

@media (max-width:560px) {
.about-cate-area::after {
    content: none;
}	
}

.about-cate-list.col3 {
	margin: 0 auto;
	padding: 0 20px;
	display: flex;
	gap:140px 45px;
	max-width: 1240px;
}

@media (max-width:768px) {
.about-cate-list.col3 {
	gap:140px 20px;
}	
}

@media (max-width:560px) {
.about-cate-list.col3 {
	padding:0;
	display:block;
}

.about-cate-list.col3 > li {
	padding-bottom:60px;
	background: #F2F3F4;
}
}

.about-cate-list.col2 {
	margin: 140px auto 0;
	padding: 0 20px 10px;
	display: flex;
	gap:140px 45px;
	max-width: 825px;
}

@media (max-width:768px) {
.about-cate-list.col2 {
margin: 100px auto 0;
	gap:0 20px;
	max-width:530px;
}
}

@media (max-width:560px) {
.about-cate-list.col2 {
margin: 60px auto 0;
	padding: 0 40px;
	display: block;
}

.about-cate-list.col2 > li {
	padding-bottom:60px;
}

.about-cate-list.col2 > li:last-child {
	padding-bottom:0;
}
}

.about-cate-pic {
	overflow: hidden;
}

.about-cate-pic img {
  height: auto;
  transition: transform .6s ease; /* ゆっくり変化させる */
}
.about-cate-pic:hover img {
  transform: scale(1.1); /* 拡大 */
}

.about-cate-pic a img:hover {
	opacity: 1;
}

.about-cate-name {
	margin: 40px auto;
	font-size: 2.4rem;
	font-weight: 600;
	line-height: 1.2;
}

@media (max-width:768px) {
.about-cate-name {
	margin: 20px auto;
	font-size: 2.0rem;
}
}

/*-------------------------------------
	私たちについて
-------------------------------------*/
.presidento-fig-area {
	margin: 26px auto 60px;
	max-width: 1200px;
	height: 560px;
	position: relative;
	background: url("../images/about-us/info/ttl_bg.png") no-repeat bottom left;
	background-size: 1140px;
}

@media (max-width:560px) {
.presidento-fig-area {
	margin: 20px auto 6.5em;
	height: 250px;
	background: url("../images/about-us/info/ttl_bg_sp.png") no-repeat bottom right 20px;
	background-size: contain;
}
}

.presidento-fig {
	position: absolute;
	top: 0;
	right: 0;
	max-width: 900px;
}

.president-catch {
	position: absolute;
	left:60px;
	bottom: 100px;
	font-size: 3.6rem;
	font-weight: 800;
	text-align: left;
	line-height: 1.5;
}

@media (max-width:768px) {
.presidento-fig {
	max-width: none;
	width:89.74%;
}

.president-catch {
	left:20px;
	bottom: 10px;
	font-size: 3.6rem;
}
	
}

@media (max-width:560px) {
.presidento-fig {
	max-width: none;
	width:89.74%;
}
	
.president-catch {
	left:20px;
	bottom: -80px;
	font-size: 5.5vw;
	line-height: 1.5;
}
}

/*社長メッセージ
-----------------------------*/
.presidento-message-area {
	text-align: left;
}

.presidento-message-area p {
	margin-top: 30px;
}

/*企業理念
-----------------------------*/
.philosophy-area {
	padding: 60px 20px;
	background: #F2F3F4;
	/*background: #DDE0E3;*/
	font-size: 2.8rem;
	font-weight: 600;
	line-height: 1.4;
}

.philosophy-area p {
	margin-top: 40px;
}

.philosophy-area p:first-child {
	margin-top: 0px;
}

@media (max-width:560px) {
.philosophy-area {
	padding: 40px 20px 40px;
	font-size: 5.0vw;
	font-weight: 600;
	line-height: 1.6;
}

.philosophy-area p {
	margin-top: 30px;
}	
}

/*行動指針
-----------------------------*/
.conduct-list {
	margin: 40px auto 0;
	display: flex;
	gap:20px 15px;
	flex-wrap: wrap;
	justify-content: center;
}

.conduct-list > li {
	padding: 40px 35px;
	width: 390px;
	background: #F1E9F4;
}

.conduct-name {
	font-size: 2.4rem;
	font-weight: 600;
	line-height: 1;
}

.conduct-txt {
	margin-top: 30px;
	text-align: left;
}

@media (max-width:768px) {
.conduct-list > li {
	padding: 25px 20px;
	width: 48%;
}
}

@media (max-width:560px) {
.conduct-list > li {
	padding: 25px 20px;
	width: 100%;
}

.conduct-name {
	font-size:5.0vw;
}

.conduct-txt {
	margin-top: 15px;
	line-height:1.5;
}
}

.m-txt {
	font-size: 2.0rem;
	font-weight: 600;
	text-align: left;
}

.mission-fig {
	margin: 40px auto 0;
	max-width: 880px;
}

@media (max-width:560px) {
.m-txt {
	margin-bottom:10px;
	font-size: 5vw;
}

.mission-fig {
	margin: 20px auto 0;
}
}

/*-------------------------------------
	会社概要・沿革
-------------------------------------*/
.about-history-area {
	margin: 0 auto;
	padding: 0 20px;
	max-width: 1240px;
}

/*会社概要
-----------------------------*/
.overview-table {
	margin-top: 26px;
	width: 100%;
	border-collapse: separate;
	border-spacing: 0 4px ;
}

.overview-table th,.overview-table td {
	padding: 25px;
	font-size: 1.6rem;
	text-align: left;
}

.overview-table th {
	width: 280px;
	font-weight: 600;
	background: #E8E9EA;
}

.overview-table td {
	font-weight: 400;
	background: #F2F3F4;
	/*background: #c7d8e9;*/
}

@media (max-width:560px) {
.overview-table {
	margin-top:20px;
	border-spacing: 0 10px ;
}
	
.overview-table th,.overview-table td {
	padding: 0.7em 1.5em;
	font-size: 3.8vw;
	display: block;
}

.overview-table th {
	width: 100%;
}
}

/*教育研修
-----------------------------*/
.div-box-wrap .div-box:first-child {
	margin-top: 0;
	padding-top: 0;
	border-top: none;
}

.div-box {
	margin-top: 25px;
	padding: 25px 0 0;
	border-top: solid 4px #fff;
}

@media (max-width:560px) {
.div-box {
	margin-top: 0.7em;
	padding: 0.7em 0 0;
	border-top: solid 4px #fff;
}	
}




/*-------------------------------------
	事業所一覧
-------------------------------------*/
.about-offce-area {
	padding: 0 20px;
}
.about-offce-list {
	/*margin: 0 auto;*/
	/*max-width: 1200px;*/
	display: grid;
	gap:60px 60px;
	grid-template-columns: repeat(2,1fr);
}

@media (max-width:560px) {
.about-offce-list {
	display: grid;
	gap:40px 0px;
	grid-template-columns: repeat(1,1fr);
}
}

.about-offce-list > li {
	text-align: left;
}

.about-offce-name {
	margin-top: 20px;
	font-size: 2.8rem;
	font-weight: 600;
}

@media (max-width:560px) {
.about-offce-name {
	margin-top: 15px;
	font-size: 7vw;
}
	
.about-offce-address {
	font-size: 4.5vw;
	}
}

.about-offce-link-list {
	margin-top: 20px;
	display: flex;
	align-items: center;
}

.about-offce-link-list > li:first-child {
	margin-right: 40px;
}

.about-offce-link-list a {
	position: relative;
}

.about-offce-link-list a::before {
		content: '';
		position: absolute;
		left: 0;
		bottom: 0px;
		width: 0;
		height: 1px;
		background: #4B1E78;
		transition: width 0.3s ease;
}
.about-offce-link-list a:hover::before {
	width: 100%;
}


@media (max-width:768px) {
.about-offce-link-list {
	display: block;
	text-align: left;
}
	
.about-offce-link-list > li:first-child {
	margin-right: 0px;
}
	
.about-offce-link-list .btn-go {
	margin: 0;
}
	
}

@media (max-width:560px) {
.about-offce-link-list {
	margin-top: 20px;
	display: block;
	text-align: left;
}

.about-offce-link-list > li:first-child {
	margin-right: 0px;
}
	
.about-offce-link-list .btn-go {
	margin: 0;
	font-size: 4.5vw;
}
}





/*ホバー矢印移動サンプル*/
/*.btn_box{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  margin: 0;
}

.btn{
  color: #000;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: .1em;
  text-align: center;
  line-height: 50px;
  width: 220px;
  height: 50px;
  background: #FFF;
  margin: auto;
  border:1px solid #000;
  position: relative;
  display: block;
  overflow: hidden;
  transition: 0.5s;
  border-radius: 100px;
  text-decoration: none;
}

.btn:after {
  font-family: "FontAwesome";
  content: "\f105";
  position: absolute;
  right: 20px;
  transition: all 0.2s;
}

.btn:hover:after {
  right: 15px;
}*/


/*拡大サンプル*/
.button:hover {
  transform: scale(1.1,1.1);
}



