/*======================================

	Custom CSS
	Copyright (c) 2024, PROACTIVE Inc. All rights reserved.

=======================================*/
:root {

    /* color */
	--main--color-pcf: #f7f7f7/*#F9F7F4*/;
	--accent--color-pcf: #157692/*#5DA6BC*/;
}


/*----- Header -----*/
@media screen and (min-width: 1025px) {
	.inquiry {
		display: flex;
		align-items: center;
	}
}
@media screen and (max-width: 1024px) {
	.logo-pcf img {
		height: 3rem;
	}
}


/*----- Top -----*/
.main-img {
    background-image: url("../img/cloud-fusion/main-img.jpg");
	background-size: cover;
	background-position: center;
	position: relative;
}

.main-img__text {
	background-color: var(--main--color-pcf);
	color: var(--accent--color-pcf);
	position: absolute;
	left: 0;
	bottom: 0;
	display: flex;
	align-items: center;
}

@media screen and (min-width: 1025px) {
	.main-img {
		height: 450px;
		margin-bottom: 7rem;
	}
	.main-img__text {
		min-width: 500px;
		height: 250px;
		padding-left: 3rem;
		padding-right: 1rem;
	}
	.pcf .title--sec1 {
		font-size: 4rem;
	}
}
@media screen and (max-width: 1024px) {
    .main-img {
		height: 470px;
		margin-bottom: 5rem;
	}
	.main-img__text {
		padding: 2.5rem 1rem;
		min-width: 50%;
	}
}


.intro {
	background-color: var(--main--color-pcf);
	padding: 3rem 0 5rem;
}
.intro > div {
	position: relative;
}
.intro > div > img {
	position: absolute;
	width: 50%;
	bottom: -5rem;
}
.intro__text {
	background-color: var(--white);
}

@media screen and (min-width: 1025px) {
	body:has(.pcf) {
		position: relative;
		overflow-x: hidden;
	}
	.intro {
		margin: 0 calc(50% - 50vw) 7rem !important;
	}
	.intro > div {
		width: var(--main--width);
		margin: 0 auto;
	}
	.intro > div > img{
		right: -1rem;
	}
	.intro__text {
		width: calc(50% + 8rem);
		min-height: 24rem;
		padding: 4rem;
	}
}
@media screen and (max-width: 1024px) {
	.intro {
		/*margin: 0 calc(50% - 50vw) 4rem !important;
		width: 100vw;*/
	}
	.intro > div {
		padding: 0 2rem;
	}
	.intro > div > img {
		max-width: 60%;
		right: 0;
	}
	.intro__text {
		padding: 3rem 2rem 5rem;
		width: calc(50% + 10rem);
	}
}
@media screen and (max-width: 430px) {
	.intro__text {
		width: 100%;
	}
}


/*----- EZ-Entryで できること -----*/
  :root {
    --easing: cubic-bezier(.2, 1, .2, 1);
    --transition: .8s var(--easing);
    /*--color-base: #f8f8f8;*/
    --color-gray: #ccc;
    --color-theme: #f5695f;
    --color-theme-darken: #f12617;
    --box-shadow: 0rem 0rem .8rem #ccc, 0rem 0rem .8rem #fff;
    --box-shadow-hover: 1rem 1rem 1.2rem rgba(0, 0, 0, .08), -1rem -1rem 1.2rem #fff;
    --box-shadow-inset: inset .8rem .8rem 1.2rem rgba(0, 0, 0, .05), inset -.8rem -.8rem 1.2rem #fff;
    --box-shadow-dark: .8rem .8rem 1.2rem rgba(0, 0, 0, .1), -.8rem -.8rem 1.2rem rgba(#fff,.2);
  }

.gallery01 {
	margin-bottom: 5rem;
}
.slide-media, .thumb-media {
  position: relative;
  overflow: hidden;
}
.slide-media img, .thumb-media img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.swiper-button-prev, .swiper-button-next {
  display: grid;
  place-content: center;
  width: 4rem;
  height: 4rem;
  cursor: pointer;
  -webkit-transition: var(--transition);
  transition: var(--transition);
}
.swiper-button-prev::before, .swiper-button-next::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  border-radius: 50%;
  -webkit-box-shadow: var(--box-shadow);
  box-shadow: var(--box-shadow);
}
.swiper-button-prev::after, .swiper-button-next::after {
  width: 1.2rem;
  height: 1.2rem;
  content: "";
  border: solid var(--color-gray);
  border-width: 3px 3px 0 0;
}
.swiper-button-prev::after {
  margin-left: 0.4rem;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}
.swiper-button-next::after {
  margin-right: 0.4rem;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.swiper-button-disabled {
  pointer-events: none;
  opacity: 0;
}
.gallery01 {
  overflow: hidden;
}
.gallery01 .swiper {
  margin: auto;
}
.gallery01 .swiper-main {
  overflow: visible;
}
.gallery01 .swiper-thumb {
  padding-top: 8px;
}
.gallery01 .swiper-fade .swiper-slide {
  -webkit-transition-property: opacity, -webkit-transform !important;
  transition-property: opacity, -webkit-transform !important;
  transition-property: opacity, transform !important;
  transition-property: opacity, transform, -webkit-transform !important;
  pointer-events: none;
  margin-top: 0 !important;
}
.gallery01 .swiper-fade .swiper-slide-active {
  pointer-events: auto;
}
.gallery01 .swiper-controller {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 800/330;
  z-index: 10;
}
.gallery01 .swiper-button-prev, .gallery01 .swiper-button-next {
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  margin: auto;
}
.gallery01 .swiper-button-prev {
  right: calc(100% + 1rem);
}
.gallery01 .swiper-button-next {
  left: calc(100% + 1rem);
}
.gallery01 .swiper-scrollbar {
  position: relative;
  margin-top: 1.6rem;
}
.gallery01 .swiper-scrollbar::after {
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
  margin: auto;
  content: "";
  background-color: #ccc;
}
.gallery01 .swiper-scrollbar-drag {
  height: 10px;
  padding: 8px 0;
  cursor: pointer;
  background-color: var(--color-theme);
  background-clip: content-box;
}
.gallery01 .swiper-scrollbar-drag:active {
  background-color: var(--color-theme-darken);
}
.gallery01 .slide {
  display: block;
  overflow: hidden;
}
.gallery01 .slide-media {
  border-radius: 4px;
  aspect-ratio: 800/330;
}
.gallery01 .slide-media img {
  -o-object-fit: cover;
  object-fit: cover;
}
.gallery01 .slide-title {
  padding: 2rem 0;
}
.gallery01 .slide-title h3 {
	margin-bottom: 1rem;
}
.gallery01 .slide-title h3 span:first-child {
	font-weight: bold;
	font-size: 1.5rem;
	font-family: Georgia, "Times New Roman", Times, "serif";
}
.gallery01 .thumb-media {
  padding-top: 100%;
  -webkit-transition: var(--transition);
  transition: var(--transition);
  border-radius: 4px;
}
.gallery01 .thumb-media img {
  height: calc(100% + 8px);
  -webkit-transition: var(--transition);
  transition: var(--transition);
  -webkit-transform: translateY(-8px);
  transform: translateY(-8px);
}
.gallery01 .swiper-slide-thumb-active {
  -webkit-transition: var(--transition);
  transition: var(--transition);
  opacity: .5;
}
.gallery01 .swiper-slide-thumb-active .thumb-media {
  -webkit-transform: translateY(-8px);
  transform: translateY(-8px);
}
.gallery01 .swiper-slide-thumb-active .thumb-media img {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

/*.slide-type {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin-bottom: 1rem;
}
.slide-type__01,
.slide-type__02 {
	color: var(--white);
	padding: 0 2rem;
	font-size: .9rem;
}
.slide-type__01 {
	background-color: var(--main--color);
}
.slide-type__02 {
	background-color: var(--green);
}*/

@media only screen and (max-width: 1024px) {
  .gallery01 .swiper-controller {
    aspect-ratio: 2/1;
  }
	.swiper-button-prev, .swiper-button-next {
		width: 2rem;
		height: 2rem;
	}
	.swiper-button-prev::after, .swiper-button-next::after {
		width: 1rem;
		height: 1rem;
	}
  .gallery01 .swiper-button-prev::before, .gallery01 .swiper-button-next::before {
    background-color: rgba(0, 0, 0, 0.3);
    -webkit-box-shadow: var(--box-shadow-dark);
    box-shadow: var(--box-shadow-dark);
  }
  .gallery01 .swiper-button-prev::after, .gallery01 .swiper-button-next::after {
    border-color: var(--white);
  }
  .gallery01 .swiper-button-prev {
    right: calc(100% - 2.5rem);
  }
  .gallery01 .swiper-button-next {
    left: calc(100% - 2.5rem);
  }
  .gallery01 .swiper {
    max-width: 100%;
  }
  .gallery01 .slide-media {
    aspect-ratio: 2/1;
  }
	.gallery01 .swiper-fade .swiper-slide {
		margin-bottom: .5rem !important;
	}
}
@media only screen and (min-width: 1025px) {
  .swiper-button-prev::before, .swiper-button-next::before {
    -webkit-transition: var(--transition);
    transition: var(--transition);
  }
  .swiper-button-prev:hover::before, .swiper-button-next:hover::before {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
  }
  .gallery01 .swiper-scrollbar-drag:hover {
    background-color: var(--color-theme-darken);
  }
  .gallery01 .thumb-media:hover {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }
  .gallery01 .thumb-media:hover img {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  .gallery01 .swiper {
	  max-width: calc(100% - 14rem);
	  width: 800px;
  }
	.gallery01 .swiper-fade .swiper-slide {
		margin-bottom: 1rem !important;
	}
}


.able > img {
	aspect-ratio: 480 / 300;
}

@media screen and (min-width: 1025px) {
	.able {
		display: flex;
		flex-wrap: wrap;
		flex-direction: row-reverse;
		justify-content: space-between;
	}
	.able > p {
		width: calc(50% - 1rem);
		object-fit: cover;
	}
}

@media screen and (max-width: 1024px)  {
	.able > img,
	.able > p {
		width: max(75%, 25rem);
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	.able > p:has(img) {
		margin-bottom: 1.5rem;
		text-align: center;
	}
}


/*----- 資料請求フォーム -----*/
.form {
	text-align: center;
	/*margin-bottom: 8rem;*/
}