@charset "UTF-8";

/*!
Theme Name: Astra Child
Description: Astra用子テーマ
Theme URI: 
Author: Drill
Author URI: https://wcf-drill.com
Template:   astra
Version:    1.0.0
*/

/************************************
** 子テーマ用スタイル
************************************/

/************************************
** ユーティリティ
************************************/

/* 画面には出さず、スクリーンリーダーにだけ読ませる */
.u-visually-hidden {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/************************************
** ボタン（NEWS 本文の VIEW MORE などに使う）
** 本文エディター側でリンクに class="c-button" を付けると適用される
************************************/

.c-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 124px;
	padding: 5px 10px;
	background-color: #fff;
	color: #000;
	font-size: 12px;
	line-height: 2.1;
    font-weight: 700;
	text-align: center;
	text-decoration: none;
	transition: all 0.4s ease;
}

.c-button:hover,
.c-button:focus,
.c-button:focus-visible {
	color: #fff;
    border-color: #000;
    background-color: #000;
}

/* 枠線タイプ（トップページ各セクションの VIEW MORE） */
.c-button--outline {
	border: 1px solid #000;
    border-radius: 0;
	color: #000;
	cursor: pointer;
}

.c-button--outline:hover,
.c-button--outline:focus,
.c-button--outline:focus-visible {
	background-color: #000;
    border-color: #000;
	color: #fff;
}

.btn a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 124px !important;
	padding: 5px 10px !important;
	background-color: #fff !important;
	color: #000 !important;
	font-size: 12px !important;
	line-height: 2.1 !important;
    font-weight: 700 !important;
	text-align: center !important;
	text-decoration: none !important;
	transition: all 0.4s ease !important;
	border: 1px solid #000 !important;
}
.btn a:hover,
.btn a:focus,
.btn a:focus-visible {
	color: #fff !important;
    background-color: #000 !important;
}
.btn.ta-light {
    text-align: right;
}
a:hover, a:focus {
	color: #fff;
}

/************************************
** ページャー（PROJECTS / NEWS 一覧で共用）
** inc/pagination.php が出力するマークアップ用
************************************/

.c-pager {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.75em 1em;
	margin-top: clamp(32px, 4.5vw, 56px);
	font-size: 0.6875rem;
	line-height: 1;
	letter-spacing: 0.06em;
}

.c-pager__count {
	margin: 0;
}

.c-pager__total {
	font-weight: 700;
	color: #c1272d;
}

.c-pager__links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5em;
}

.c-pager .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.5em;
	height: 1.5em;
	padding-inline: 0.35em;
	color: #222;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.c-pager a.page-numbers:hover,
.c-pager a.page-numbers:focus-visible {
	background-color: #ececec;
}

.c-pager .page-numbers.current {
	background-color: #222;
	color: #fff;
}

.c-pager .page-numbers.dots {
	min-width: 0;
	padding-inline: 0;
}

/* PREV / NEXT / 最初 / 最後 は文字幅に合わせる */
.c-pager .prev,
.c-pager .next,
.c-pager__edge {
	min-width: 0;
}

@media (max-width: 600px) {
	.c-pager {
		justify-content: center;
	}
}

/* トップページスライダー */
.home .slides {
	width: 100%;
	height: 720px;
}
.home .slides .swiper-slide {
	position: relative;
}
.home .slides .swiper-slide .main-image {
	position: absolute;
	width: 100%;
	height: 100%;
}
.home .slides .swiper-slide img {
	position: relative;
	top: 50%;
	left: 50%;
	min-width: 100%;
	min-height: 100%;
	object-fit: contain;
	transform: translate(-50%, -50%) scale(1.0);
	transition: all 10s ease;
}
.home .slides .swiper-slide.swiper-slide-active img {
	transform: translate(-50%, -50%) scale(1.05);
}
@media (aspect-ratio: 16 / 9), (min-aspect-ratio: 16 / 9) {
	.home .slides .swiper-slide img {
		width: 100%;
		height: auto;
	}
}
@media (max-aspect-ratio: 16 / 9) and (max-width: 767px) {
	.home .slides .swiper-slide img {
		width: 100%;
		height: auto;
	}
}
.home .slides .swiper-slide .logo {
	position: absolute;
	right: 54px;
	bottom: 34px;
}
.home .slides .swiper-slide .logo.siematic {
	width: 150px;
}
.home .slides .swiper-slide .logo.rimadesio {
	width: 184px;
}

/* お問い合わせ */
.smf-progress-tracker {
	max-width: 240px;
	padding: 0 !important;
    margin: 50px auto !important;
}
.smf-progress-tracker__item:after, .smf-progress-tracker__item:before {
	height: 2px;
	background-color: #afafaf;
}
.smf-progress-tracker__item__text {
	font-size: 12px;
	color: #afafaf;
}
.smf-progress-tracker__item__number {
	font-size: 0;
	overflow: visible;
}
.smf-progress-tracker__item__number:before {
	font-size: 16px;
	color: #afafaf;
	transform: translateY(-30px);
}
.smf-progress-tracker__item__number {
	background-color: #afafaf;
}
.smf-progress-tracker__item[aria-current=true] .smf-progress-tracker__item__number {
	background-color: #686767;
}
.smf-progress-tracker__item[aria-current=true] .smf-progress-tracker__item__text {
	color: #686767;
}
.smf-progress-tracker__item[aria-current=true] .smf-progress-tracker__item__number:before {
	color: #686767;
}
.smf-progress-tracker__item--input .smf-progress-tracker__item__number:before {
	content: "1";
}
.smf-progress-tracker__item--confirm .smf-progress-tracker__item__number:before {
	content: "2";
}
.smf-progress-tracker__item--complete .smf-progress-tracker__item__number:before {
	content: "3";
}

.smf-form {
	max-width: 740px;
	margin: 0 auto;
}
.has-text-align-right {
	text-align: right;
	font-size: 12px;
	font-weight: 700;
}
.smf-form .smf-item {
	display: flex;
	flex-direction: row;
	align-items: start;
	gap: 0 25px;
	border-bottom: 1px solid #686767;
	padding: 8px 22px;
}
.smf-form .smf-item:last-child {
	border-bottom: none;
}
.smf-form .smf-item .smf-item__col--label {
	flex: 0 0 calc(27% - 12.5px);
	min-width: calc(27% - 12.5px);
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.smf-form .smf-item .smf-item__col--label .smf-item__label__text {
	color: #000;
	font-size: 14px;
	font-weight: 600;
}
.smf-form .smf-item .smf-item__col--controls {
	flex: 0 0 calc(73% - 12.5px);
	min-width: calc(73% - 12.5px);
}
.smf-form .smf-item .smf-item__col--controls:first-child {
	flex: 0 0 100%;
	min-width: 100%;
}
.smf-item__description {
	font-size: 12px;
	font-weight: 700;
	color: #cc1212;
	margin: 0 !important;
}
.smf-form .smf-select-control {
	width: 100%;
}
.smf-form .smf-select-control__control {
	border: 1px solid #686767;
	border-radius: 0;
	width: 100%;
	height: auto;
	text-align: center;
	margin-bottom: 16px;
	font-size: 14px;
	color: #000;
}
.smf-form .smf-select-control__toggle:before {
	top: calc(50% - 12px);
}
.smf-form .smf-text-control__control {
	border: 1px solid #686767;
	border-radius: 0;
}
.smf-form .smf-textarea-control__control {
	border: 1px solid #686767;
	border-radius: 0;
}
.smf-form :is(.smf-textarea-control__control:active,.smf-textarea-control__control:focus,.smf-textarea-control__control:focus-within,.smf-textarea-control__control[aria-selected=true]) {
	border: 1px solid #686767 !important;
	border-radius: 0 !important;
}
.smf-action {
	text-align: center;
	margin-top: 60px;
}
.smf-action .smf-button-control__control {
	width: 140px;
	background-color: #000;
	background-image: none;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	padding: 12px;
	border-radius: 0;
	transition: all 0.5s ease;
}
.smf-action .smf-button-control__control:hover {
	opacity: 0.7;
}
input:not([type='radio']):focus, input[type="text"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="password"]:focus, input[type="reset"]:focus, input[type="search"]:focus, input[type="number"]:focus, textarea:focus, .wp-block-search__input:focus, [data-section="section-header-mobile-trigger"] .ast-button-wrap .ast-mobile-menu-trigger-minimal:focus, .ast-mobile-popup-drawer.active .menu-toggle-close:focus, #ast-scroll-top:focus, #coupon_code:focus, #ast-coupon-code:focus {
	border: 1px solid #686767 !important;
	border-radius: 0 !important;
}
.wp-container-core-group-is-layout-2c90304e {
	gap: 0;
}
.smf-form .smf-item .smf-item {
	width: 100%;
	border-bottom: none;
	padding: 8px 0;
}
.smf-form .smf-item .smf-item:first-child {
	padding-top: 0;
}
.smf-form .smf-item .smf-item:last-child {
	padding-bottom: 0;
}
.smf-form .smf-file-control__label {
	font-size: 12px;
	line-height: 1.0;
	font-weight: 600;
	border: 2px solid #545353;
	border-radius: 0;
	padding: 8px;
}
.smf-form .smf-file-control__filename--no-file {
	display: none;
}
.smf-form .smf-item.file-input .smf-placeholder {
	margin-bottom: 8px;
}
.smf-form .smf-item.file-input {
	flex-direction: column;
	gap: 12px;
}
.smf-form .smf-item.file-input .smf-item__col--label {
	flex: 0 0 100%;
	min-width: 100%;
	gap: 25px;
	justify-content: flex-start;
}
.smf-form .smf-item.file-input .smf-item__label {
	flex: 0 0 calc(27% - 12.5px);
	min-width: calc(27% - 12.5px);
}
.smf-form .smf-item.file-input .smf-item__description {
	color: #000;
}
.smf-form .smf-item.file-input .smf-item__col--controls {
	padding-left: calc(27% + 12.5px);
}

/* スマホトグルメニュー */
.e-n-menu-toggle {
	outline: none;
}
.elementor-widget-n-menu .e-n-menu-toggle span {
	transition: all 0.5s ease;	
}
