/*==========================================
法人案内
==========================================*/

/*基本理念*/
.infoBasic {
  padding: 10rem 0 20rem;
	background-color: #FFFFEE;
	position: relative
}
@media screen and (max-width: 768px) {
  .infoBasic {
    padding-block: 2.1rem 6rem;
	padding-inline: 2rem;
  }
}
.sectionTitle--infoBasic {
	margin: 0 auto 9rem;
}
@media screen and (max-width: 768px) {
  .sectionTitle--infoBasic {
    margin-bottom: 0;
	margin-inline: auto;
  }
  .sectionTitle--infoBasic .sectionTitle__inner {
	margin-inline: auto;
	margin-bottom: 2.4rem;
	padding-left: 0;
	}
}
.infoBasic__contentArea {
	max-width: 1320px;
	width: 90%;
	margin: 0 auto;
	position: relative;
	z-index: 100;
}
.infoBasic__contentTitle {
	text-align: center;
}
@media screen and (max-width: 768px) {
  .infoBasic__contentTitle {
    display: none;
  }
}
.infoBasic__contentRead {
	display: flex;
  	justify-content: center;
	padding: 4rem 0 2.1rem;
}
@media screen and (max-width: 768px) {
  .infoBasic__contentRead {
	padding-block: 0 2.3rem;
  }
}
.infoBasic__contentText {
	font-size: 2rem;
	font-weight: normal;
	line-height: 2;
	text-align: center;
}
@media screen and (max-width: 768px) {
  .infoBasic__contentText {
	font-size: 1.6rem;
	text-align: left;
  }
  .infoBasic__contentText br {
	display: none;
  }
}
.infoBasic__photo {
	position: absolute;
	z-index: 1;
}
.infoBasic__photo--left {
	left: clamp(2%,2vw,7.8%);
	top: 13rem;
	max-width: 400px;
}
@media screen and (max-width: 1480px) {
  .infoBasic__photo--left img {
	width: calc(40rem + (100vw - 1480px) * 0.2);
  }
}
@media screen and (max-width: 768px) {
	.infoBasic__photo--left {
		display: none;
	}
}
.infoBasic__photo--right {
	position: absolute;
	right: clamp(2%,2vw,7.8%);
	bottom: 10rem;
	max-width: 400px;
}
@media screen and (max-width: 768px) {
	.infoBasic__photo--right {
		display: none;
	}
}
@media screen and (max-width: 1480px) {
	.infoBasic__photo--right {
		right: 0;
		top: 40%;
	}
	.infoBasic__photo--right img {
	width: calc(100vw * 0.3);
  }
}
@media screen and (max-width: 768px) {
	.infoBasic__photo--right {
		display: none;
	}
}
/**/
.infoPhilosophy {
	padding: 15rem 0 15rem;
}
.sp__infoBasic__contentTitle__wrap {
	display: none;
}
.sp__infoBasic__philosophy__img {
	display: none;
}
@media screen and (max-width: 768px) {
  .sp__infoBasic__contentTitle__wrap {
    display: flex;
	align-items: center;
	justify-content: center;
  }
  .sp__infoBasic__contentTitle dl {
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
	white-space: nowrap;
  }
  .sp__infoBasic__contentTitle__top, .sp__infoBasic__contentTitle__middle, .sp__infoBasic__contentTitle__bottom {
	font-size: 1.8rem;
	font-weight: bold;
	background: linear-gradient(to right, #FFFFD2, #FFC8AC);
	padding: 0.9rem;
  }
  .sp__infoBasic__philosophy__img {
	display: block;
	margin-block: 2rem 1.5rem; 
	text-align: center;
	max-width: 330px;
	margin-inline: auto;
  }
  .corpPhilosophy .sectionTitle .sectionTitle__inner {
	padding-left: 0;
	margin: 0;
  }
}
@media screen and (max-width: 768px) {
	.arrow__circle {
		display: none;
	}
}
a:active, a:hover {
    outline-width: 0;
}
.commmon_button_type1 {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 172px;
    height: 44px;
    font-size: 1.6rem;
    font-weight: bold;
    color: #FF8800;
    line-height: 1.8rem;
    border: 0.1rem solid #FF8800;
    background: #fff;
    border-radius: 25px;
    box-sizing: border-box;
    margin: 0 auto;
}
.arrow {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 2.4rem;
    height: 2.4rem;
    margin-left: 1rem;
}
.arrow__circle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    -webkit-clip-path: circle(50% at 50% 50%);
    clip-path: circle(50% at 50% 50%);
    height: 100%;
    width: 100%;
    opacity: 1;
    background-color: #FFC8AC;
    transition: all 0.4s ease;
}
.commmon_button_type1:hover .arrow__circle {
    width: 8px;
    height: 8px;
    background-color: #FFC8AC;
}
.arrow .arrow-svg {
    position: relative;
    width: 11px;
    opacity: 1;
    transform: translateX(0);
    transition: transform 0.4s ease, opacity 0.4s ease;
}
/* 次の瞬間にフェードイン＋位置戻し */
.commmon_button_type1:hover .arrow-svg {
	animation: fadeOutFromLeft 0.4s ease forwards;
  }
  
  @keyframes fadeOutFromLeft {
	0% {
	  opacity: 1;
	  transform: translateX(0);
	}
	100% {
	  opacity: 0;
	  transform: translateX(8px);
	}
  }
  
  /* 次の瞬間にフェードイン＋位置戻し */
  .commmon_button_type1:not(:hover) .arrow-svg {
	animation: fadeInFromLeft 0.4s ease forwards;
  }
  
  @keyframes fadeInFromLeft {
	0% {
	  opacity: 0;
	  transform: translateX(-8px);
	}
	100% {
	  opacity: 1;
	  transform: translateX(0);
	}
  }

.sp__handlingService__button {
	display: none;
}
@media screen and (max-width: 768px) {
  .sp__handlingService__button {
    display: flex;
  }
  .handlingService__buttonArea {
	display: none;
  }
}