/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Apr 27 2026 | 03:18:46 */
/* トップページ */

/* ファーストビュー */
.p-mainVisual__imgLayer img {
	object-position: center top;
}
.p-mainVisual__textLayer .main-text {
	font-size: 34px;
	font-weight: bold;
	line-height: 2;
	letter-spacing: .5em;
	width: fit-content;
	margin-left: 5vw;
	color: #45a5ed;
	text-shadow:
	0 0 3px #fff,
	0 0 6px #fff,
	0 1px 10px #fff;
	margin-bottom: 10px;
}
.p-mainVisual__textLayer .sub-text {
	font-size: 24px;
	font-weight: bold;
	line-height: 1.6;
	letter-spacing: .5em;
	width: fit-content;
	margin-left: 5vw;
	background-color: #45a5ed;
	color: #fff;
	border-radius: 30px;
	padding: 8px 20px 8px 25px;
	margin-bottom: 30px;
}
@media (max-width: 599px) {
	.p-mainVisual__textLayer {
		transform: translate(-50%, 40px);
	}
	.p-mainVisual__textLayer .main-text {
		font-size: 26px;
		line-height: 1.6;
		letter-spacing: .4em;
	}
	.p-mainVisual__textLayer .sub-text {
		font-size: 16px;
		padding: 5px 15px 5px 20px;
		letter-spacing: .3em;
	}
}
.p-mainVisual__slide .p-mainVisual__imgLayer img {
	margin-left: 15vw;
	border-radius: 60px 0 0 60px;
	overflow: hidden;
}
@media (min-width: 600px) {
	.p-mainVisual__slide:nth-child(3) .p-mainVisual__imgLayer img {
		object-position: bottom right;
	}
}
.p-mainVisual__textLayer .btn-wrap {
	margin-left: 5vw;
	transform: translatex(-6px);
}
.p-mainVisual__textLayer .btn-wrap figure {
	width: 110px;
}
.p-mainVisual__textLayer .btn-wrap figure img {
	padding: 6px;
	filter:
	  drop-shadow(2px 2px 2px rgba(0, 0, 0, .1))
	  drop-shadow(4px 4px 4px rgba(0, 0, 0, .3));
}
@media (max-width: 599px) {
	.p-mainVisual__textLayer .btn-wrap figure {
		width: 95px;
	}
}
@media (min-width: 960px) {
	#main_visual .swiper-pagination-bullets {
		bottom: 40px;
	}
}
#main_visual .swiper-pagination-bullet {
	background-color: #fff;
	opacity: .7;
	width: 12px;
	height: 12px;
}
@media (min-width: 600px) {
	#main_visual .swiper-pagination-bullet {
		width: 15px;
		height: 15px;
		margin: 0 7px;
	}
}
#main_visual .swiper-pagination-bullet.swiper-pagination-bullet-active {
	 background-color: var(--color_main);
}

/* 私たちについて */
.top-about .content {
	border-color: var(--color_pale02);
}
.top-about .text-underline {
  position: relative;
  display: inline-block;
}
.top-about .text-underline::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -50px;
  width: 100%;
  height: 6px;

  background-image: radial-gradient(circle, #45a5ed 2px, transparent 2px);
  background-size: 14px 6px; /* ドットの間隔 */
  background-repeat: repeat-x;
}
@media (max-width: 959px) {
	.top-about .text-underline::after {
		bottom: -20px;
	}
	.top-about .top-text-wrap,
	.top-about .bottom-text-wrap {
		padding: 0!important;
	}
	.top-about .bottom-content {
		margin-top: 40px;
	}
	.top-about .bottom-content .swell-block-columns__inner {
		flex-direction: column-reverse;
	}
}

/* 選ばれる理由 */
.top-reason {
	position: relative;
}
.top-reason::before {
	content: "";
	position: absolute;
	background: linear-gradient(
	  135deg,
	  var(--color_deep04),
	  var(--color_main)
	);
	left: 0;
	top: 300px;
	width: 98vw;
	height: 74%;
	border-radius: 0 60px 60px 0;
}
@media (max-width: 959px) {
	.top-reason::before {
		height: 80%;
	}
}
@media (max-width: 599px) {
	.top-reason::before {
		top: 240px;
		height: 89%;
	}
}
.top-reason .content .swell-block-columns__inner {
	justify-content: center;
}
.top-reason .content .item h3 {
	margin-top: 10px!important;
	margin-bottom: 10px!important;
	padding: .6em .8em 0;
	font-size: 18px;
	color: #fff;
}
.top-reason .content .item .number-wrap {
	position: relative;
}
.top-reason .content .item .number {
	font-family: "Roboto Condensed", sans-serif;
	font-weight: 700;
	position: absolute;
	bottom: -30px;
	right: 0;
	font-size: 80px;
    color: rgba(69, 165, 237, .6);
	text-shadow: 2px 2px 0 rgba(255,255,255, 1);
	line-height: 1.2;
}
.top-reason .swell-block-button__link {
	color: var(--color_deep04);
}

/* サービスメニュー */
.top-service .item {
	background-color: #fff;
}
.top-service .item figure img {
	border-radius: 12px;
}
.top-service .item h3 {
	font-size: 18px;
	color: var(--color_deep04);
}
@media (max-width: 599px) {
	.top-service .item h3 {
		font-size: 16px;
	}
	.top-service .item.kyuto h3 {
		font-size: 14px;
	}
	.top-service .swell-block-button__link {
		font-size: 16px;
	}
}

/* 取扱商品 */
.top-products .item figure img {
	border-radius: 12px;
	overflow: hidden;
} 
.top-products .item h3 {
	margin-top: 10px!important;
}
@media (max-width: 599px) {
	.top-products .item {
		padding: 1em 1em 1.5em;
		box-shadow: 0 2px 8px rgba(0, 0, 0, .1), 0 4px 8px -4px rgba(0, 0, 0, .2);
		border-radius: 20px;
	}
}

/* お客様の声 */
.top-voice .item figure img {
	border-radius: 12px;
}
.top-voice .item .category {
    background-color: var(--color_main);
    color: #fff;
    font-size: 12px;
    padding: .4em 1em !important;
    border-radius: 10px;
    width: max-content;
    line-height: 1;
}

/* 代表挨拶 */
.top-greeting .content {
	border-color: var(--color_pale02);
}
.top-greeting figure img {
	border-radius: 12px;
}
@media (max-width: 599px) {
	.top-greeting figure {
		aspect-ratio: 1;
	}
	.top-greeting figure img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

/* サービスの流れ */
.top-flow {
	position: relative;
}
.top-flow::before {
	content: "";
	position: absolute;
	background: linear-gradient(
	  135deg,
	  var(--color_deep04),
	  var(--color_main)
	);
	right: 0;
	top: 170px;
	width: 85vw;
	height: 77%;
	border-radius: 60px 0 0 60px;
}
@media (max-width: 959px) {
	.top-flow::before {
		top: 140px;
		width: 98vw;
		height: 80%;
	}
}
@media (max-width: 599px) {
	.top-flow::before {
		top: 125px;
		width: 100vw;
		height: 86%;
	}
}
@media (min-width: 960px) {
	.top-flow .content {
		width: min(350px, 100%);
		margin-left: auto;
	}
}
.top-flow .content {
	color: #fff;
}
@media (max-width: 599px) {
	.top-flow .content-wrap .swell-block-columns__inner {
		flex-direction: column-reverse;
	}
}
.top-flow figure img {
	border-radius: 40px;
}
@media (max-width: 599px) {
	.top-flow figure {
		aspect-ratio: 4 / 3; 
		width: 80%;
		margin-left: auto;
		margin-right: auto;
	}
	.top-flow figure img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center top;
	}
}
.top-flow .swell-block-button__link {
	color: var(--color_deep04);
}

/* 対応エリア */
.top-area figure img {
	border-radius: 40px;
}
.top-area .text-top {
	border-radius: 12px;
}

/* お知らせ */
.top-news .bus-ad img {
	border-radius:30px;
	border: 6px solid var(--color_pale02);
}