/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Jan 25 2026 | 09:22:56 */
/*------------------
メインビジュアル  ------------------*/
.p-mainVisual .c-filterLayer::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 101%;
    top: 50%;
    left: 35%;
    transform: translate(-50%, -50%);
    z-index: 1;
    background: linear-gradient(135deg, #2f6dff00 0%, #2F6DFF 100%); /* 右下→左上方向（下→上の斜め） */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    clip-path: polygon(0 100%, 50% 100%, 70% 0, 0 0);
}
/* -------------
お知らせの設定
-----------------------------*/
@media (min-width: 960px) {
.p-blogParts[data-partsid="46"]{
	background: #fff;
	position: absolute;
	bottom: 0;
	right: 0;
	width: 50%;
	padding:1rem;
}
}
.news-area{
	padding: 0 1em;
}
.news-area .p-postList__body {
	display: flex;
	align-items: center;
}
.news-area .p-postList__meta {
	margin: 0;
}
.news-area .-type-simple .p-postList__link {
	padding: 0.5em .25em;
	display: block;
	text-decoration: none;
}
/* アニメーション */
.news-area .p-postList.-type-simple {
	position: relative;
	min-height: 2.8em;
	perspective: 1000px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.news-area .p-postList__item {
	opacity: 1;
	visibility: hidden;
	pointer-events: none;
	transform: rotateY(90deg);
	transition: transform 0.8s ease, opacity 0.5s ease;
	transform-origin: left center;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	backface-visibility: hidden;
}
.news-area .p-postList__item.active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: rotateY(0deg);
	z-index: 2;
}
.news-area .p-postList__item.fadeout {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: rotateY(-90deg);
	z-index: 1;
}
/* -------------
KEIクリーニングが選ばれる理由
-----------------------------*/
.align-items-end{
	align-items: end;
}

.section-01 .wp-block-cover__image-background{
	width:97%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	opacity: 0.4;
}
@media (min-width: 960px) {
.img-01-absolute{
	position: absolute;
	padding: 0.3em;
	transform: rotate(-5deg);	
}
.img-02-absolute{
	position: absolute;
	padding: 0.3em;
bottom: 220px;
	right: 30px;
	transform: rotate(-10deg);
}
}
.img-03-absolute{
	position: absolute;
	bottom:0;
}
/*－－－－－－
eight-step */
.eight-step .swell-block-step__number{
	background-color: #fff!important;
	border: 1px solid var(--color_main);
	color: var(--color_main);
	font-size: 10px;
}
.eight-step .swell-block-step__number:after , .eight-step .swell-block-step__number .__label {
	font-weight: bold;
	color: var(--color_main);
}
.swell-block-step__item:before {
	border-left: none;
	content: "";
}
.eight-step .swell-block-step__item {
    padding: 0 0 30px 64px;
}
.eight-step .swell-block-step__title+.swell-block-step__body{
    margin-top: 0.3em;
}
/* -------------
3つのサービスの設定
-----------------------------*/
.c-bannerLink__figure {
	position: relative;
	overflow: hidden;
}
.c-bannerLink__text {
	justify-content: end;
	padding: 1.5em 1.5em 0.5em;
}
.swl-inline-icon:after{
	top: -3px;
}
.c-bannerLink__figure::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom, rgb(255 255 255 / 11%), rgb(255 255 255));
	pointer-events: none; /* クリックなどの操作を妨げない */
}
/* -------------
スライドショーの設定
-----------------------------*/
.swiper-postListWrap .p-postList {
	flex-wrap: nowrap;
	margin: 0;
}
.swiper-postListWrap .-type-card .p-postList__item {
	padding: 0;
}
.swiper-postListWrap .swiper-pagination-bullet {
    background: #fff;
    color: inherit;
}
.swiper-postListWrap .-type-thumb .p-postList__item {
	padding: 0;
}
.p-postList.-type-thumb + .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal {
	bottom: -4.5px;
}
/*------------------
スライド投稿  ------------------*/
.swiper-postListWrap .p-postList__title, .swiper-postListWrap .p-postList__meta{
	color:#fff;
}
.swiper-postListWrap .p-postList__body .p-postList__title::after{
  content: "";
  width: 100%;
  height: 0.5px;
  background-color: var(--color_deep02);
}
.swiper-postListWrap  .p-postList__excerpt {
    color: #fff;
	background:var(--color_deep02);
	    padding: 1.5em;
}
.home [data-partsid="608"]{
    display: none !important;
}
/* -------------
下層ページ
-----------------------------*/
@media (max-width: 599px) {
.arrow img{
    transform: rotate(90deg);
}
}
/*------------------
よくある質問  ------------------*/
.eight-block-column  {
	position: -webkit-sticky;
	position: sticky;
	top: 108px;
}
.eight-block-accordion .swell-block-accordion__title::before {
	content: "Q";
	font-weight: bold;color: #fff;
	background: var(--color_main);
	border-radius: 100px;
	font-size: 0.9rem;
	margin-right: 8px;
	display: flex;
	width: 30px;
	height: 30px;
	line-height: 30px;
	justify-content: center;
	flex-shrink: 0; /* ← これで崩れ防止 */
}
.eight-block-accordion .swell-block-accordion__body {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}
.eight-block-accordion .swell-block-accordion__body p {
	margin: 0;
}
.eight-block-accordion .swell-block-accordion__body::before {
	content: "A";
	font-weight: bold;
	color: #ffffff;
	background: #77C4FF;
	border-radius: 100px;
	font-size: 0.9rem;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	line-height: 30px;
	padding: 10px;
}

.eight-block-accordion .swell-block-accordion__title {
	border-radius: 10px;
	transition:.3s;
	margin: 1em 0;
	background: #f1f1f1!important;
	display: flex; /* ← これを追加 */
	align-items: center; /* Qとテキストを上下中央揃え */
}
.eight-block-accordion .swell-block-accordion__title:hover {
	box-shadow: none;
	border-radius:0;
	transition:.3s;
}
.eight-block-accordion .swell-block-box-menu__item{
	position:relative;
}
.eight-block-accordion .swell-block-box-menu__item::after {
	content: "▼"; /* 下向き矢印 */
	font-size: 12px; /* 矢印のサイズ調整 */
	position:absolute;
	right:0;top: 50%;
	transform: translate(-50%, -50%);
}
.sticky .eight-block-column{
	position: sticky;
	top: 115px;
}
/* -------------
サービスメニュー
-----------------------------*/
@media (max-width: 599px) {
  .service-3col .swell-block-column:last-child {
    width: 100% !important;
    max-width: 100% !important;
  }
}
.service-height, .service-height a{
    height: 100%;
}
.center-box-lefttext{
	text-align:center;
}
.center-box-lefttext p{
    display: inline-block;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
	padding:2rem 8rem;
}
@media (max-width: 599px) {
.center-box-lefttext p{
	padding:1rem;
}
}
figure.number-icon{
    position: absolute;
    top: -2rem;
}
.after-box {
  box-shadow: 0 0 20px rgba(46,109,255,0.4);
}
/* アフター画像の控えめホバーアニメーション */
.after-box img {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.after-box:hover img {
  transform: translateY(-3px); /* ほんの少し浮く */
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12); /* 影も少しだけ */
}
.rounded-radius td{
	    box-shadow: inset 0 0 0 1px #2f6dff;
}
/* 会社概要 */
.eight-25 td {
  position: relative;
}
@media (max-width: 960px) {
.eight-25 td {
    text-align: center;
}
}
.eight-25 td,
.eight-25 th {
  padding: 1.5em 3.75em;
}
:root {
    --color_border--table: #707070;
}

@media (min-width: 960px) {
.eight-25 td:nth-of-type(1):after {
    content: '';
    border-right: 1px solid #707070;
    padding: 0 11rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: 30px;
  }
}
/*  */
/* プロフィール画像のベース */
.profile-soft img {
  display: block;
  border-radius: 10px;
  border: 3px solid #fff;

  /* 背景風シャドウ */
  box-shadow: 8px 8px 0 #2f6dff;

  /* アニメーション準備 */
  transition:
    transform .35s ease,
    box-shadow .35s ease;
}

/* hover アニメーション */
.profile-soft img:hover {
  transform: translate(-6px, -6px);
  box-shadow: 14px 14px 0 #2f6dff;
}
/* ================================
   利用規約のみの装飾
================================ */

/* 「利用規約」リンク装飾 */
#booking-package_inputFormPanel a[href*="terms-of-service"] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
  color: #1f5eff;
  text-decoration: none;
  position: relative;
}

/* 外部リンク風アイコン */
#booking-package_inputFormPanel a[href*="terms-of-service"]::after {
  content: "↗";
  font-size: 0.85em;
  opacity: 0.8;
}

/* ホバー時 */
#booking-package_inputFormPanel a[href*="terms-of-service"]:hover {
  text-decoration: underline;
  opacity: 0.85;
}

/* チェックボックスとの余白調整 */
#booking_package_input_terms {
  margin-top: 6px;
}
