.c_ttl {
  text-align: center;
  margin-bottom: 3rem;
}
.c_ttl > span {
  display: block;
  font-size: 1.4rem;
  letter-spacing: 0.3em;
  margin-left: 0.3em;
  margin-top: 1.5em;
}
@media screen and (max-width: 767px) {
  .c_ttl > span {
    font-size: 1.2rem;
  }
}
.c_ttl.b {
  margin-bottom: 7rem;
}
@media screen and (max-width: 767px) {
  .c_ttl.b {
    margin-bottom: 4rem;
  }
}
.c_ttl.b i {
  padding-bottom: 0.6em;
}
.c_ttl > i {
  display: block;
  font-size: 3.4rem;
  letter-spacing: 0.05em;
  position: relative;
  padding-bottom: 0.7em;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .c_ttl > i {
    font-size: 2.8rem;
  }
}
.c_ttl > i:before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  border-bottom: solid 1px #231815;
  width: 0;
}
.c_ttl.show > i:before {
  width: 1.2em;
  transition: width 0.4s ease-out;
  transition-delay: 1s;
}

.c_fig {
  padding: 0.5rem;
  position: relative;
  border: solid 0.4px #727171;
  border-radius: 0.6rem;
  position: relative;
}
.c_fig.b:before, .c_fig.b:after {
  background: #dbe7ed;
}
.c_fig:before, .c_fig:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #ebebec;
}
.c_fig:before {
  width: calc(100% - 4.4rem);
  height: calc(100% + 4px);
}
@media screen and (max-width: 767px) {
  .c_fig:before {
    width: calc(100% - 3.5rem);
  }
}
.c_fig:after {
  height: calc(100% - 4.4rem);
  width: calc(100% + 4px);
}
@media screen and (max-width: 767px) {
  .c_fig:after {
    height: calc(100% - 3.5rem);
  }
}
.c_fig img {
  width: 100%;
  position: relative;
  z-index: 1;
}

/*--------------------------------------------------------------
Project
--------------------------------------------------------------*/
@media screen and (max-width: 767px) {
	.mv_swiper{
		margin-top: 6.1rem;
	}
}
.mv_swiper .swiper-slide {
  overflow: hidden;
}
.mv_swiper a{
	position: absolute;
	inset: 0 auto auto 0;
	width: 100%;
	height: 100%;
}
.mv_swiper .swiper-slide video {
	display: block;
/* 	position: relative;
	inset: 0 auto auto 50%;
	translate: -50% 0;
	width: auto;
	height: 100vh; */
	width:100%;
  height: 100vh;
  object-fit: cover;
}
.mv_swiper .swiper-slide .bg {
  height: 100vh;
}
@media screen and (max-width: 767px) {
	.mv_swiper .swiper-slide video,
	.mv_swiper .swiper-slide .bg{
		position: relative;
		inset: 0 auto auto 50%;
		translate: -50% 0;
		width: auto;
		height: calc(100vh - 6.1rem);
	}
	.mv_swiper .swiper-slide video{
		margin-top: 0;
	}
}
.mv_swiper .swiper-button-prev::after,
.mv_swiper .swiper-button-next::after {
  content: "";
  width: 2rem;
  height: 100%;
}
.mv_swiper .swiper-button-prev::after {
  background: url(../img/corporate/ico_prev.svg) no-repeat 50%/contain;
}
.mv_swiper .swiper-button-next::after {
  background: url(../img/corporate/ico_next.svg) no-repeat 50%/contain;
}

.cp_main {
  margin-top: 8rem;
  position: relative;
  overflow: hidden;
  background: #ebebec;
}
@media screen and (max-width: 767px) {
  .cp_main {
    margin-top: 4.8rem;
  }
}
.cp_main .wrap {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .cp_main .wrap {
    width: 60rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1600px) {
  .cp_main .wrap {
    width: 160rem;
  }
}
.cp_main .bg img {
  width: 100%;
}
.cp_main svg {
  width: 100%;
  height: auto;
}
.cp_main .mv {
  position: absolute;
  width: 100%;
  top: 0;
  opacity: 0;
  background: #EBEBEB;
  transition: opacity 0.6s;
}
.cp_main #path1 {
  transform: translateX(4rem);
  transition: transform 0.8s;
}
.cp_main #path2 {
  transform: translateX(-4rem);
  transition: transform 0.8s;
}
.cp_main linearGradient stop {
  transition: 0.2s;
}
.cp_main linearGradient stop:nth-child(2) {
  transition-delay: 0.05s;
}
.cp_main linearGradient stop:nth-child(3) {
  transition-delay: 0.1s;
}
.cp_main linearGradient stop:nth-child(4) {
  transition-delay: 0.15s;
}
.cp_main linearGradient stop:nth-child(5) {
  transition-delay: 0.2s;
}
.cp_main linearGradient stop:nth-child(6) {
  transition-delay: 0.25s;
}
.cp_main.load linearGradient stop {
  stop-color: #b6e6ff;
}
.cp_main .logo {
  width: 74.5rem;
  margin-left: auto;
  opacity: 0;
  transition: opacity 0.6s;
  transition-delay: 0.8s;
}
@media screen and (max-width: 767px) {
  .cp_main .logo {
    width: 60%;
  }
}
.cp_main.show .mv, .cp_main.show .logo {
  opacity: 1;
}
.cp_main.show #path1, .cp_main.show #path2 {
  transform: none;
}
.cp_main.show .box p i, .cp_main.show .box p em {
  opacity: 1;
  transform: none;
}
.cp_main.show .slick-arrow {
  opacity: 1;
}
.cp_main .box {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: calc(50% - 48.5rem);
  text-align: right;
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .cp_main .box {
    right: 1rem;
    margin-top: 6.5rem;
  }
}
.cp_main .box p {
  font-size: 2.6rem;
  letter-spacing: 0.14em;
  font-style: italic;
  margin-bottom: 0.4em;
}
@media screen and (max-width: 767px) {
  .cp_main .box p {
    font-size: 1.4rem;
  }
}
.cp_main .box p i, .cp_main .box p em {
  opacity: 0;
  transition: 0.8s;
  transition-property: opacity, transform;
}
.cp_main .box p em {
  display: block;
  transform: translateX(-5em);
  transition-delay: 0.2s;
}
.cp_main .box p i {
  display: block;
  font-size: 0.65em;
  letter-spacing: 0.05em;
  font-weight: bold;
  margin-top: 0.1em;
  transform: translateX(-5em);
  transition-delay: 0.4s;
}
.cp_main .item {
  position: relative;
  height: 64.5rem;
}
@media screen and (max-width: 767px) {
  .cp_main .item {
    height: 24.5rem;
  }
}
.cp_main .item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.cp_main .item:before {
  content: "";
  position: absolute;
  background: url(../img/corporate/lz.svg) no-repeat 50%/contain;
  width: 61.2rem;
  height: 100%;
  z-index: 1;
  left: calc(50% - 50rem);
}
.cp_main .item p {
  text-align: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  color: #fff;
  font-size: 1.6rem;
  letter-spacing: 0.25em;
  font-weight: 800;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .cp_main .item p {
    font-size: 1.2rem;
  }
}
.cp_main .item p i {
  display: block;
  font-size: 1.25em;
  font-weight: bold;
}
.cp_main .item p em {
  display: block;
  font-size: 3.3125em;
  font-weight: bold;
}
.cp_main .slick-arrow {
  position: absolute;
  z-index: 2;
  height: 100%;
  width: 2.7rem;
  top: 0;
  border: none;
  color: transparent;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.5s;
  transition-delay: 2s;
}
@media screen and (max-width: 767px) {
  .cp_main .slick-arrow {
    width: 2rem;
  }
}
.cp_main .slick-arrow:active, .cp_main .slick-arrow:focus {
  outline: 0;
}
.cp_main .slick-prev {
  background: url(../img/corporate/ico_prev.svg) no-repeat 50%/contain;
  left: 2rem;
}
@media screen and (max-width: 767px) {
  .cp_main .slick-prev {
    left: 1rem;
  }
}
.cp_main .slick-next {
  background: url(../img/corporate/ico_next.svg) no-repeat 50%/contain;
  right: 2rem;
}
@media screen and (max-width: 767px) {
  .cp_main .slick-next {
    right: 1rem;
  }
}

.cp_sec {
  position: relative;
}
.cp_sec .wrap {
  position: relative;
}
.cp_sec.show .bg {
  transform: none;
}
.cp_sec .bg {
  position: absolute;
  top: 0;
  height: 100%;
  width: 100vw;
  transition: 0.8s;
}
.cp_sec .bg.g:before {
  background: #ebebec;
}
.cp_sec .bg.b:before {
  background: #dbe7ed;
}
.cp_sec .bg:before {
  content: "";
  position: absolute;
  background: #fff;
  height: 100%;
  width: 200vw;
}
.cp_sec .bg img {
  height: 100%;
  width: auto;
  display: block;
}
.cp_sec .left {
  right: calc(50% + 35rem);
  transform: translateX(50%);
}
.cp_sec .left:before {
  right: 16rem;
}
.cp_sec .left img {
  margin-left: auto;
}
.cp_sec .right {
  left: calc(50% + 35rem);
  transform: translateX(-50%);
}
.cp_sec .right:before {
  left: 16rem;
}

.cp_about {
  padding: 11rem 0 6rem;
  background: #ebebec;
  text-align: center;
  overflow: hidden;
}
.cp_about > .cp_sec {
  overflow: hidden;
}
.cp_about .catch {
  font-size: 2.1rem;
  letter-spacing: 0.2em;
  font-weight: bold;
  margin-bottom: 1em;
}
.cp_about .lead {
  font-size: 1.4rem;
  line-height: 2.1;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .cp_about .lead {
    text-align: left;
  }
}
.cp_about .left {
  transform: translateY(-150%);
}
.cp_about .right {
  transform: translateY(150%);
}

.cp_biz {
  background: #ebebec;
  position: relative;
}
.cp_biz.show .wrap {
  -webkit-clip-path: polygon(calc(50% - 40rem) 0, 100% 0%, 100% 100%, calc(50% - 63rem) 100%);
          clip-path: polygon(calc(50% - 40rem) 0, 100% 0%, 100% 100%, calc(50% - 63rem) 100%);
}
.cp_biz .wrap {
  padding: 7rem 0;
  background: #dbe7ed;
  transition: -webkit-clip-path 1s;
  transition: clip-path 1s;
  transition: clip-path 1s, -webkit-clip-path 1s;
  -webkit-clip-path: polygon(calc(50% + 40rem) 0, 100% 0%, 100% 100%, calc(50% + 23rem) 100%);
          clip-path: polygon(calc(50% + 40rem) 0, 100% 0%, 100% 100%, calc(50% + 23rem) 100%);
}
.cp_biz .lead {
  font-weight: bold;
  letter-spacing: 0.18em;
  font-size: 1.5rem;
  line-height: 1.73;
  margin-bottom: 5.5rem;
  text-align: center;
}
.cp_biz dt {
  font-weight: bold;
  font-size: 2.1rem;
  letter-spacing: 0.14em;
  margin-bottom: 1.2em;
  line-height: 1;
}
.cp_biz dd {
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  line-height: 2.18;
}
@media screen and (max-width: 767px) {
  .cp_biz figure {
    margin-bottom: 2rem;
  }
}
@media screen and (min-width: 768px) {
  .cp_biz .row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 60.5rem;
    margin: 0 auto;
  }
  .cp_biz .row figure {
    width: 27.7rem;
  }
  .cp_biz .row dl {
    width: calc(100% - 31.2rem);
  }
}

.cp_news {
  position: relative;
  padding: 10rem 0;
}
.cp_news.cp_sec .bg {
  overflow: hidden;
}
.cp_news.cp_sec .bg img {
  transform: scale(1.01);
}
.cp_news.cp_sec .left::before {
  right: 20rem;
}
.cp_news.cp_sec .right::before {
  left: 20rem;
}
@media screen and (max-width: 767px) {
  .cp_news {
    padding: 6rem 0;
  }
}
.cp_news li {
  font-size: 1.4rem;
  letter-spacing: 0.049em;
}
.cp_news li a {
  display: block;
  padding: 0.5em 0;
}
.cp_news li small {
  font-size: 1.4rem;
  font-weight: bold;
}
.cp_news li i {
  background: #5d83c3;
  color: #fff;
  font-size: 1rem;
  padding: 0 0.8em;
}
@media screen and (max-width: 767px) {
  .cp_news li i {
    margin-left: 1em;
  }
}
.cp_news li .cat2 {
  background: #c30d23;
}
@media screen and (min-width: 768px) {
  .cp_news li {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    position: relative;
  }
  .cp_news li br {
    display: none;
  }
  .cp_news li a {
    padding-left: 17rem;
  }
  .cp_news li small {
    position: absolute;
    left: 0;
  }
  .cp_news li i {
    position: absolute;
    left: 9rem;
    margin-top: 0.3em;
  }
}
@media screen and (min-width: 768px) {
  .cp_news .u_inner {
    width: 71.5rem;
  }
}

.low {
  margin-top: 8rem;
  background: #ebebec;
  padding: 7rem 0 10rem;
}
@media screen and (max-width: 767px) {
  .low {
    margin-top: 6.1rem;
    padding: 6rem 0;
  }
}

.low_header {
  position: relative;
  margin-top: 8rem;
  height: 41.4rem;
}
.low_header.b {
  height: 23.5rem;
}
@media screen and (max-width: 767px) {
  .low_header {
    margin-top: 4.8rem;
    height: 25rem;
  }
  .low_header.b {
    height: 16rem;
  }
}
.low_header img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.low_header .c_ttl {
  color: #fff;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  margin: 0;
}
.low_header .c_ttl i:before {
  border-color: #fff;
}

.cp_nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .cp_nav {
    gap: 2rem 1rem;
  }
}
.cp_nav li {
  width: calc(33.33% - 6.666rem);
}
@media screen and (max-width: 767px) {
  .cp_nav li {
    width: calc(50% - 0.5rem);
  }
}
.cp_nav figcaption {
  position: absolute;
  color: #fff;
  z-index: 1;
  width: 100%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 2.5rem;
  letter-spacing: 0.05em;
  line-height: 1.2;
  left: 0;
}
@media screen and (max-width: 767px) {
  .cp_nav figcaption {
    font-size: 1.8rem;
  }
}
.cp_nav p {
  font-size: 1.5rem;
  letter-spacing: 0.12em;
  margin-top: 1em;
  position: relative;
}
@media screen and (max-width: 767px) {
  .cp_nav p {
    font-size: 1rem;
  }
}
.cp_nav p:after {
  content: "";
  position: absolute;
  background: url(../img/corporate/arrow06.svg) no-repeat 50%/contain;
  height: 100%;
  width: 1rem;
  margin-left: 0.2em;
}
.cp_nav a[target="mirarth"] p:after{
	background: url(../img/ico_blank.svg) no-repeat 50%/contain;
}
@media screen and (min-width: 768px) {
  .cp_nav .u_inner {
    width: 101rem;
  }
}
.cp_nav a:hover {
  opacity: 1;
}

.cp_nav a:hover .c_fig:before {
  animation: 1s c_fig_show1;
}

.cp_nav a:hover .c_fig:after {
  animation: 1s c_fig_show2;
}

.cp_nav .c_fig:before, .cp_nav .c_fig:after {
  transition: .3s;
}

.cp_nav .evt {
  visibility: visible;
}

@media screen and (max-width: 767px) {
  .cp_nav .evt.show .c_fig:before {
    animation: 2s c_fig_show1;
  }
  .cp_nav .evt.show .c_fig:after {
    animation: 2s c_fig_show2;
  }
}

@keyframes c_fig_show1 {
  40% {
    width: 0;
  }
  60% {
    width: 0;
  }
}

@keyframes c_fig_show2 {
  40% {
    height: 0;
  }
  60% {
    height: 0;
  }
}


/* .cp_nav figure{
	position: relative;
	padding: .5rem;
}
.cp_nav figure img{
	position: relative;
}
.cp_nav figure span.a{
	background: pink;
	position: absolute;
	top: 0;
	left: 0;
	width: 2.5rem;
	height: 2.5rem;
	border: 1px solid #727171;
}
.cp_nav figure span.a::before{
	content: '';
	background: #727171;
} */


.c_lead {
  padding: 9.5rem 0;
  text-align: center;
  background: #ebebec;
}
@media screen and (max-width: 767px) {
  .c_lead {
    padding: 6rem 0;
  }
}
.c_lead .ttl {
  display: block;
  font-size: 3.4rem;
  letter-spacing: 0.05em;
  padding-bottom: 0.7em;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .c_lead .ttl {
    font-size: 2.8rem;
  }
}
.c_lead .catch {
  font-size: 2.1rem;
  letter-spacing: 0.2em;
  font-weight: bold;
  margin-bottom: 1em;
}
.c_lead .catch img {
  width: 1.0588em;
  vertical-align: -0.1em;
}
.c_lead .lead {
  font-size: 1.4rem;
  line-height: 2.1;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .c_lead .lead {
    text-align: left;
  }
}

.cp_circle {
  text-align: center;
  padding: 6rem 0 8rem;
}
.cp_circle .logo img {
  width: 28rem;
}
@media screen and (max-width: 767px) {
  .cp_circle .logo img {
    width: 22rem;
  }
}
.cp_circle .ttl {
  font-size: 2.7rem;
  font-weight: bold;
  letter-spacing: 0.09em;
  line-height: 1;
  margin: 2em 0 1.4em;
}
@media screen and (max-width: 767px) {
  .cp_circle .ttl {
    font-size: 2.4rem;
  }
}
.cp_circle p {
  font-size: 1.4rem;
  letter-spacing: 0.26em;
  line-height: 2.25;
  margin-top: 2.25em;
}

.cp_msg p {
  font-size: 1.4rem;
  line-height: 2.7;
}
@media screen and (max-width: 767px) {
  .cp_msg p {
    line-height: 2.2;
  }
}
.cp_msg .sign {
  display: flex;
  justify-content: flex-end;
  line-height: 1.5;
  margin-top: 2em;
  letter-spacing: 0.06em;
}
.cp_msg .sign em {
  display: block;
  font-size: 1.46em;
  margin-top: 0.4em;
}
@media screen and (max-width: 767px) {
  .cp_msg figure {
    margin-bottom: 2rem;
    text-align: center;
  }
  .cp_msg figure img {
    width: 50%;
  }
}
@media screen and (min-width: 768px) {
  .cp_msg {
    display: flex;
    justify-content: space-between;
    width: 90rem;
    margin: 0 auto;
  }
  .cp_msg figure {
    width: 23rem;
  }
  .cp_msg .desc {
    width: calc(100% - 34rem);
  }
}

.cp_info th {
  width: 12em;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .cp_info th {
    font-weight: bold;
    padding-bottom: 0.3em;
  }
}
.cp_info tr > * {
  font-size: 1.4rem;
  line-height: 2.15;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .cp_info tr > * {
    float: left;
    width: 100%;
    line-height: 1.8;
  }
}
.cp_info td {
  padding-bottom: 2em;
}
.cp_info .addr {
  line-height: 1.7;
}
.cp_info .c_btn {
  text-align: left;
  margin-top: 0.3em;
}
.cp_info .link a {
  color: #055da4;
  text-decoration: underline;
  display: block;
}
.cp_info .map {
  margin: 4rem 0;
}
.cp_info .map #googlemap {
  padding-top: 71.1%;
}
@media screen and (min-width: 768px) {
  .cp_info {
    width: 72rem;
    margin: 0 auto;
  }
}

.cp_officer ul {
  display: flex;
  justify-content: center;
  margin-bottom: 9.4rem;
  gap: 0 5rem;
}
@media screen and (max-width: 767px) {
  .cp_officer ul {
    gap: 0 3rem;
  }
}
.cp_officer li {
  font-size: 1.9rem;
}
.cp_officer li small {
  display: block;
  font-size: 1.3rem;
}

.cp_chart figure {
  text-align: center;
}
.cp_chart figure img {
  width: 81.8rem;
}

.cp_history li {
  margin-top: 3.5rem;
}
.cp_history li > p {
  font-size: 3.3rem;
  font-weight: bold;
  letter-spacing: 0.01em;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .cp_history li > p {
    margin-bottom: 0.1em;
  }
}
.cp_history .box p {
  font-size: 1.4rem;
  position: relative;
  padding-left: 5rem;
  line-height: 1.61;
}
@media screen and (max-width: 767px) {
  .cp_history .box p {
    padding-left: 4rem;
    text-indent: -4.1em;
    margin-left: 4.1em;
  }
}
.cp_history .box p i {
  font-weight: bold;
  font-size: 1.5rem;
  left: 0;
  position: absolute;
}
.cp_history .box p span {
  display: inline-block;
  width: 3em;
  text-align: right;
  margin-right: 1em;
}
@media screen and (min-width: 768px) {
  .cp_history {
    width: 80rem;
    margin: 0 auto;
  }
  .cp_history li {
    display: flex;
    gap: 2.5rem;
  }
}

.cp_group .lead {
  text-align: center;
  font-size: 1.4rem;
  line-height: 2.3;
  letter-spacing: 0.06em;
}
.cp_group figure {
  margin: 6rem 0 11rem;
  text-align: center;
}
.cp_group figure img {
  width: 53.8rem;
}
.cp_group .ttl {
	padding-right: 12rem;
  font-size: 1.5rem;
  letter-spacing: 0.18em;
  border-bottom: solid 0.5px #727171;
  padding-bottom: 0.3em;
  position: relative;
  margin-bottom: 0.8em;
}
.cp_group .ttl.small{
	font-size: 1.36rem;
}
@media screen and (max-width: 767px) {
	.cp_group .ttl {
		padding-right: 9rem;
		font-size: 1.3rem;
		letter-spacing: inherit;
	}
}
.cp_group dl {
  font-size: 1.4rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1.6em 0;
}
.cp_group dt {
  width: 6em;
  line-height: 1.61;
}
.cp_group dd {
  width: calc(100% - 6em);
  line-height: 1.61;
}
.cp_group .c_btn {
  position: absolute;
  bottom: 0;
  right: 0;
}
@media screen and (max-width: 767px) {
  .cp_group .c_btn {
/*     bottom: 2.2rem; */
  }
}
.cp_group .c_btn a {
  font-size: 1.1rem;
  width: 11.5rem;
}
@media screen and (max-width: 767px) {
  .cp_group .c_btn a {
    font-size: 1rem;
    width: 9rem;
  }
}
@media screen and (max-width: 767px) {
  .cp_group li {
    margin-top: 6rem;
  }
}
@media screen and (min-width: 768px) {
  .cp_group ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10rem 3rem;
  }
  .cp_group li {
    width: calc(50% - 1.5rem);
  }
}

.cp_arc li {
  background: #dbe7ed;
  padding: 3.5rem 0;
}
.cp_arc li.b {
  background: #ebebec;
}
.cp_arc dt {
  font-size: 1.7rem;
  font-weight: bold;
  letter-spacing: 0.2em;
  margin-bottom: 0.3em;
}
.cp_arc dd {
  font-weight: bold;
  font-size: 2.2rem;
  letter-spacing: 0.2em;
  line-height: 1;
}
.cp_arc dd i {
  font-size: 7.3rem;
  letter-spacing: 0.09em;
  line-height: inherit;
}
.cp_arc dd small {
  display: block;
  font-weight: normal;
  font-size: 0.85rem;
  letter-spacing: 0.2em;
  margin-top: 1em;
}
.cp_arc .row {
  display: flex;
  gap: 0 1rem;
}
.cp_arc .row figure {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .cp_arc .img {
    margin-top: 3rem;
  }
}
@media screen and (min-width: 768px) {
  .cp_arc .u_inner {
    width: 70rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .cp_arc .img {
    width: 34.4rem;
  }
}

.cp_biz2 {
  background: #ebebec;
  padding-bottom: 8rem;
}
.cp_biz2 .ttl {
  font-size: 2.1rem;
  letter-spacing: 0.2em;
  margin-bottom: 1.3em;
}
@media screen and (min-width: 768px) {
  .cp_biz2 .c_lead {
    padding: 8rem 0 4rem;
  }
}
@media screen and (min-width: 768px) {
  .cp_biz2 .lead {
    line-height: 2.75;
  }
}
.cp_biz2 .img {
  text-align: center;
  margin: 2rem 0 5rem;
}
.cp_biz2 .img img {
  width: 47.2rem;
}
.cp_biz2 dt {
  border-top: solid 0.4px #231815;
  border-bottom: solid 0.4px #231815;
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 0.2em;
  line-height: 3;
  margin-bottom: 1em;
}
.cp_biz2 dl {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .cp_biz2 dl {
    margin-top: 4rem;
  }
}
.cp_biz2 dd {
  font-size: 1rem;
  line-height: 2.3;
}
.cp_biz2 dd figure {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .cp_biz2 .row {
    display: flex;
    width: 54rem;
    margin: 0 auto;
    gap: 4rem;
  }
  .cp_biz2 .row dl {
    width: 50%;
  }
}

.rec_lead {
  background: #dbe7ed;
}
.rec_lead .ttl {
  font-size: 2.5rem;
  margin-bottom: 1.3em;
}

.rec_list {
  padding: 6rem 0 9rem;
}
.rec_list .nav {
  display: flex;
  justify-content: center;
  gap: 3.5rem;
  margin-bottom: 5rem;
}
.rec_list .nav a {
	background: #717071;
	color: #fff;
	display: block;
	width: 17.7em;
	font-size: 1.2rem;
	line-height: 2.5;
	text-align: center;
	letter-spacing: .2em;
	border-radius: .2em;
}
.rec_list .ttl {
  text-align: center;
  font-size: 1.2rem;
  letter-spacing: 0.18em;
  margin-bottom: 3em;
}
.rec_list dl {
  font-size: 1.4rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1em 0;
}
.rec_list dt {
  width: 10em;
}
.rec_list dd {
  width: calc(100% - 10em);
}
.rec_list .row.a {
  border-bottom: solid 0.4px #231815;
  margin-bottom: 5rem;
  padding-bottom: 6rem;
}
.rec_list .c_btn {
  text-align: left;
}
@media screen and (max-width: 767px) {
	.rec_list .nav{
		gap: 1rem;
	}
	.rec_list .nav a{
		width: 15.5em;
	}
  .rec_list .c_btn {
    text-align: center;
  }
}
.rec_list .c_btn a:before {
  animation: none;
  background-image: url(../img/recruit/arrow.svg);
  width: 1.6rem;
}
@media screen and (max-width: 767px) {
  .rec_list .row figure {
    text-align: center;
    margin-top: 3rem;
  }
}
@media screen and (min-width: 768px) {
  .rec_list .u_inner {
    width: 65rem;
  }
  .rec_list .row {
    display: flex;
    justify-content: space-between;
  }
  .rec_list .row figure {
    width: 30.5rem;
  }
  .rec_list .row .desc {
    width: calc(100% - 31rem);
  }
}

.rec_form {
  background: #ededee;
  padding: 6.5rem 0 11rem;
}

.sus_header {
  position: relative;
  margin-top: 8rem;
  height: 96.6rem;
  text-align: center;
  padding-top: 8rem;
  background: url(../img/sustainability/sdgs_mv_img.jpg) no-repeat center bottom/cover;
}
@media screen and (max-width: 767px) {
  .sus_header {
    margin-top: 4.8rem;
    height: auto;
    padding-bottom: 15rem;
  }
}
.sus_header img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  width: 100%;
  left: 0;
  top: 0;
  z-index: -1;
}
.sus_header .catch {
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0.2em;
  margin-bottom: 2.5em;
}
.sus_header .lead {
  font-size: 1.4rem;
  letter-spacing: 0.2em;
  line-height: 2.8;
}
@media screen and (max-width: 767px) {
  .sus_header .lead {
    line-height: 2;
  }
}

.sus_sec {
  padding: 6rem 0 8rem;
}
.sus_sec .ttl {
  text-align: center;
  font-size: 2rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  margin-bottom: 1.8em;
}
@media screen and (min-width: 768px) {
  .sus_sec .u_inner {
    width: 100rem;
  }
}

@media screen and (min-width: 768px) {
  .sus_theme .list {
    display: flex;
    gap: 5rem 2.6rem;
    flex-wrap: wrap;
  }
  .sus_theme .list li {
    width: calc(50% - 1.3rem);
  }
}
.sus_theme .list li {
  position: relative;
}
@media screen and (max-width: 767px) {
  .sus_theme .list li {
    margin-top: 1.5rem;
  }
}
.sus_theme dl {
  position: absolute;
  top: 5rem;
  left: 7rem;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .sus_theme dl {
    left: 3rem;
    top: 2rem;
  }
}
.sus_theme dt {
  font-size: 1.8rem;
  letter-spacing: 0.06em;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 767px) {
  .sus_theme dt {
    font-size: 1.4rem;
  }
}
.sus_theme dt i {
  display: block;
  font-size: 3.3rem;
  letter-spacing: 0.01em;
  line-height: 1;
  margin-bottom: 0.2em;
}
@media screen and (max-width: 767px) {
  .sus_theme dt i {
    font-size: 2.2rem;
  }
}
.sus_theme dd {
  font-size: 1.4rem;
  letter-spacing: 0.06em;
  line-height: 1.64;
}
@media screen and (max-width: 767px) {
  .sus_theme dd {
    font-size: 1.1rem;
  }
}
.sus_theme .icon {
  display: flex;
  margin: 4rem 0 5rem;
  gap: 1rem;
}
@media screen and (max-width: 767px) {
  .sus_theme .icon {
    gap: 0.3rem;
    flex-wrap: wrap;
  }
}
.sus_theme .icon img {
  width: 100%;
}
.sus_theme .icon li {
  width: 8%;
}
@media screen and (max-width: 767px) {
  .sus_theme .icon li {
    width: calc(14.2% - 0.257rem);
  }
}
.sus_theme .c_btn a {
  width: 31.5em;
  background: #0c68ab;
}
@media screen and (max-width: 767px) {
  .sus_theme .c_btn a {
    width: 100%;
    padding-right: 3em;
    line-height: 1.2;
    padding-top: 0.3em;
    padding-bottom: 0.5em;
  }
}

.sus_sdgs {
  background: #dbe7ed;
}
.sus_sdgs dt {
  font-size: 1.5rem;
  letter-spacing: 0.06em;
  margin-bottom: 1em;
}
.sus_sdgs dd {
  font-size: 1.3rem;
  letter-spacing: 0.08em;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .sus_sdgs .img {
    margin-top: 3rem;
  }
}
.sus_sdgs .img.a {
  display: flex;
  gap: 0.5rem;
}
.sus_sdgs .img.a figure {
  width: 50%;
}
.sus_sdgs .img.b img {
  width: 23.7rem;
}
.sus_sdgs .img img {
  width: 100%;
}
@media screen and (max-width: 767px) {
	.sus_sdgs .img.b{
		text-align: center;
	}
}
.sus_sdgs .row {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .sus_sdgs .row {
    display: flex;
    justify-content: space-between;
  }
  .sus_sdgs .img {
    width: 38rem;
  }
  .sus_sdgs dl {
    width: calc(100% - 41rem);
  }
}

.renov_lead .catch {
  margin-bottom: 2em;
  line-height: 1.81;
}
.renov_lead .lead {
  line-height: 2.33;
}

.renov_sec .ttl {
  text-align: center;
  font-weight: bold;
  font-size: 2.6rem;
  letter-spacing: 0.03em;
  margin-bottom: 1.5em;
}

.renov_pro {
  margin: 5rem 0 4rem;
}
.renov_pro .ttl {
  text-align: center;
  font-size: 1.2rem;
  letter-spacing: 0.1em;
  margin-bottom: 4rem;
}
.renov_pro .ttl i {
  display: inline-block;
  position: relative;
  font-size: 2.5rem;
  padding-bottom: 0.5em;
  letter-spacing: 0.03em;
  line-height: 1;
  margin-bottom: 0.7em;
}
.renov_pro .ttl i:before {
  content: "";
  position: absolute;
  bottom: 0;
  width: 100%;
  background: linear-gradient(90deg, #00a7ea 0%, #1d2088 100%);
  height: 0.22em;
}
.renov_pro .ttl span {
  display: block;
}
.renov_pro .row dt {
  font-size: 1.7rem;
  font-weight: bold;
  letter-spacing: 0.2em;
  text-align: center;
}
.renov_pro .row dd {
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  line-height: 2;
  text-align: center;
}
.renov_pro .row dd img {
  display: block;
  margin: 4.5rem auto 3rem;
  width: 21.8rem;
}
@media screen and (max-width: 767px) {
  .renov_pro .row figure {
    margin-top: 2rem;
  }
}
.renov_pro .desc {
  border: solid 0.3px #231815;
  padding: 2rem;
  margin-top: 4rem;
}
.renov_pro .desc dt {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .renov_pro .desc dt {
    margin-bottom: 2rem;
  }
}
.renov_pro .desc dt img {
  width: 10.8rem;
}
.renov_pro .desc dd {
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .renov_pro .desc {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .renov_pro .desc dt {
    width: 16rem;
  }
  .renov_pro .desc dd {
    width: calc(100% - 16rem);
    border-left: solid 0.3px #231815;
    padding-left: 3rem;
  }
}
@media screen and (min-width: 768px) {
  .renov_pro .u_inner {
    width: 94rem;
  }
  .renov_pro .row {
    display: flex;
    justify-content: space-between;
  }
  .renov_pro .row figure {
    width: 49.3rem;
  }
  .renov_pro .row dl {
    width: calc(100% - 52rem);
  }
}

.renov_plan {
  text-align: center;
  margin-bottom: 7rem;
}
.renov_plan li {
  padding: 3rem 2rem 5rem;
}
.renov_plan li.a {
  background: #f2f2f3;
}
@media screen and (min-width: 768px) {
  .renov_plan li.a {
    -webkit-clip-path: polygon(85% 0, 100% 50%, 85% 100%, 0 100%, 0 0);
            clip-path: polygon(85% 0, 100% 50%, 85% 100%, 0 100%, 0 0);
    padding-right: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .renov_plan li.a {
    -webkit-clip-path: polygon(100% 0, 100% 90%, 50% 100%, 0 90%, 0 0);
            clip-path: polygon(100% 0, 100% 90%, 50% 100%, 0 90%, 0 0);
    margin-bottom: 2rem;
  }
}
.renov_plan li.b {
  background: #dbe7ed;
}
.renov_plan li.b .ttl2 {
  background: linear-gradient(90deg, #00a7ea 0%, #1d2088 100%);
}
.renov_plan .ttl2 {
  font-size: 1.6rem;
  letter-spacing: 0.11em;
  display: inline-block;
  background: #898989;
  width: 6em;
  text-align: center;
  color: #fff;
  margin-bottom: 1em;
}
.renov_plan .catch {
  font-size: 1.2rem;
  letter-spacing: 0.1em;
}
.renov_plan .catch i {
  font-size: 1.4rem;
  font-weight: bold;
}
.renov_plan .txt {
  display: inline-block;
  font-size: 0.9rem;
  letter-spacing: 0.12em;
  position: relative;
  padding: 0 2em;
  margin-top: 2em;
}
.renov_plan .txt:before, .renov_plan .txt:after {
  content: "";
  position: absolute;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 1em;
  height: 3em;
  border: solid 0.3px #231815;
}
.renov_plan .txt:before {
  left: 0;
  border-right: none;
}
.renov_plan .txt:after {
  right: 0;
  border-left: none;
}
.renov_plan figure img {
  width: 29.3rem;
}
@media screen and (min-width: 768px) {
  .renov_plan .box {
    height: 11rem;
  }
  .renov_plan ul {
    display: flex;
    justify-content: space-between;
    gap: 3.5rem;
  }
  .renov_plan ul li {
    width: 50%;
  }
}

.renov_gallery {
  padding: 0 0 13rem;
}
.renov_gallery dt {
  font-weight: bold;
  font-size: 1.1rem;
  letter-spacing: 0.1em;
  margin-bottom: 0.6em;
}
.renov_gallery dd {
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.1em;
  min-height: 6.5em;
}
.renov_gallery dl {
  padding: 1.8rem 1rem 1.5rem 2rem;
}
.renov_gallery .slick-list{
	overflow: visible;
}
.renov_gallery .item {
  width: 33.5rem;
  background: #dbe7ed;
  border-radius: 0.6rem;
  overflow: hidden;
  margin: 0 1.3rem;
	transition: .2s;
}
.renov_gallery .item:hover{
	transform: scale(1.1);
}
.renov_gallery .item img {
  width: 100%;
}
.renov_gallery .slick-arrow {
  position: absolute;
  z-index: 2;
  width: 7.5rem;
  height: 1rem;
  border: none;
  color: transparent;
  cursor: pointer;
  bottom: -5rem;
}
@media screen and (max-width: 767px) {
  .renov_gallery .slick-arrow {
    bottom: -7rem;
  }
}
.renov_gallery .slick-arrow:active, .renov_gallery .slick-arrow:focus {
  outline: 0;
}
.renov_gallery .slick-prev {
  background: url(../img/leaseback/arrow06.svg) no-repeat 50%/contain;
  left: calc(50% - 30rem);
}
@media screen and (max-width: 767px) {
  .renov_gallery .slick-prev {
    left: 1rem;
  }
}
.renov_gallery .slick-next {
  background: url(../img/leaseback/arrow07.svg) no-repeat 50%/contain;
  right: calc(50% - 30rem);
}
@media screen and (max-width: 767px) {
  .renov_gallery .slick-next {
    right: 1rem;
  }
}
.renov_gallery .slick-dots {
  position: absolute;
  width: 100%;
  display: flex;
  justify-content: center;
  bottom: -6.8rem;
  gap: 1rem;
}
@media screen and (max-width: 767px) {
  .renov_gallery .slick-dots {
    gap: 0.5rem;
  }
}
.renov_gallery .slick-dots li.slick-active button:before {
  background: #595757;
}
.renov_gallery .slick-dots button {
  border: none;
  cursor: pointer;
  color: transparent;
  position: relative;
  background: none;
  width: 1.6rem;
  height: 2rem;
}
.renov_gallery .slick-dots button:active, .renov_gallery .slick-dots button:focus {
  outline: 0;
}
.renov_gallery .slick-dots button:before {
  content: "";
  width: 0.8rem;
  height: 0.8rem;
  background: #c9caca;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}


.gallery_popup{
	display: none;
	background: rgba(0, 0, 0, .5);
	position: fixed;
	inset: 0 auto auto 0;
	width: 100%;
	height: 100%;
	z-index: 66;
	overflow: scroll;
}
.gallery_popup .elem{
	background: #dbe7ed;
	position: absolute;
	inset: 50% auto auto 50%;
	translate: -50% -50%;
	width: 67rem;
	border-radius: 10px;
	overflow: hidden;
}
.gallery_popup img{
	width: 100%;
}
.gallery_popup dl{
	padding: 2rem;
}
.gallery_popup dt{
	padding-bottom: 1rem;
	font-size: 1.8rem;
}
.gallery_popup dd{
	font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
	.gallery_popup{
		display: none !important;
	}
}


.form .lead {
  font-size: 1.2rem;
  letter-spacing: 0.16em;
  line-height: 2.33;
  text-align: center;
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .form .lead {
    text-align: left;
  }
  .form .lead br {
    display: none;
  }
}
.form th {
  text-align: left;
  width: 17em;
}
.form th em {
  font-size: 1.2rem;
  color: #fff;
  background: #00a5e8;
  padding: 0 0.5em;
  margin-left: 0.8em;
}
.form tr > * {
  font-size: 1.3rem;
  padding-bottom: 1.8em;
  vertical-align: top;
}
@media screen and (max-width: 767px) {
  .form tr > * {
    width: 100%;
    float: left;
  }
}
@media screen and (max-width: 767px) {
  .form th {
    padding-bottom: 0.5em;
  }
}
.form td input[type=text], .form td input[type=email], .form td input[type=tel], .form td textarea, .form td select {
  padding: 0.5em 1em;
  width: 80%;
}
@media screen and (max-width: 767px) {
  .form td input[type=text], .form td input[type=email], .form td input[type=tel], .form td textarea, .form td select {
    width: 100%;
  }
}
.form td textarea {
  width: 100%;
  height: 15em;
}
.form td a {
  color: #024795;
}
.form td input[type=checkbox] {
  margin-right: 0.5em;
}
.form td label {
  margin-right: 1em;
}
.form .doui {
  text-align: center;
  font-size: 1.3rem;
  letter-spacing: 0.06em;
  margin: 4rem 0 5rem;
}
.form .doui a {
  color: #025ca3;
}
.form .c_btn {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem;
}
.form .c_btn .backBtn {
  background: #959494;
}
@media screen and (min-width: 768px) {
  .form {
    width: 60rem;
    margin: 0 auto;
  }
}

.form_msg {
  text-align: center;
  font-size: 1.3rem;
  line-height: 2.3;
}