@charset "utf-8";

/* =========================================================
 * ASH FIELD テーマ / theme.css
 *
 * 旧テーマで各テンプレートに散らばっていた <style> をここに集約しています。
 * 読み込み順は cssreset → style02.css → style.css → animate.css → theme.css。
 * ページ状態で変わるスタイル（ログイン時のヘッダー位置など）だけは
 * functions.php の ashfield_dynamic_css() が出力します。
 * ======================================================= */


/* ---------------------------------------------------------
 * 1. レイアウト土台
 * ------------------------------------------------------- */

html {
	scroll-behavior: smooth;
}

/* フッターを常に最下部へ（旧 js/footerFixed.js の置き換え）
   style.css の html,body{height:100%} を打ち消してから縦積みにします。 */
body {
	height: auto;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

/* 中身が縦に潰れないように */
body > * {
	flex-shrink: 0;
}

body > #footer {
	margin-top: auto;
}

/* 絶対配置ヘッダーと同じ高さのスペーサー（高さは theme.js が設定） */
#contents100 {
	z-index: 40;
}

.site-header-fixed {
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 100;
}

.fixed {
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 10000;
}

.wid_max {
	width: 100vw;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
}

/* 本文＋サイドの 2 カラム */
.main_wrap {
	display: flex;
}

.side001 {
	flex: 0 0 10em;
	display: none;
}

.side002 {
	flex: 1 1 auto;
}


/* ---------------------------------------------------------
 * 2. 初回フェードイン
 *    JS が無効なときは最初から表示（.js が付かないため）
 * ------------------------------------------------------- */

html.js body:not(.logged-in) .header000,
html.js body:not(.logged-in) .saisho_mienai {
	opacity: 0;
}

html.js body:not(.logged-in) .header000 {
	transition: opacity 0.8s 0s ease;
}

html.js body:not(.logged-in) .saisho_mienai {
	transition: opacity 0.8s 0.4s ease;
}

html.js.is-ready body:not(.logged-in) .header000,
html.js.is-ready body:not(.logged-in) .saisho_mienai {
	opacity: 1;
}


/* ---------------------------------------------------------
 * 3. ヘッダー / ナビゲーション
 * ------------------------------------------------------- */

.header-inner {
	text-align: center;
	background-color: #fff;
}

.nav-menu {
	display: flex;
}

.vvv01 img {
	margin: 0 0.4em;
}

/* トップページ以外ではレスポンシブメニューのボタンを隠す */
body:not(.home) .responsive-menu-button {
	display: none !important;
}

@media only screen and (max-width: 640px) {
	.kaskasnj {
		padding: 0 !important;
	}

	.adbfc {
		text-align: center;
		margin-bottom: -2em;
		padding: 1em !important;
		background-color: #fff;
		width: 100vw !important;
	}

	.adbfc img {
		width: 60% !important;
		height: auto;
	}
}


/* ---------------------------------------------------------
 * 4. トップのメインビジュアル
 * ------------------------------------------------------- */

.tpsd01 {
	text-align: center;
	padding: 6em 0;
	background-image: url(https://ash-field.jp/wpsite02/wp-content/uploads/2023/12/asfp19.jpg);
	background-size: cover;
	background-position: center;
}

.tpimg01 {
	width: 480px;
	height: auto;
}

.tpimg02 {
	width: 380px;
	height: auto;
}

.tptx01 {
	color: #fff;
	margin: 4em 0;
	font-size: 18px;
	letter-spacing: 0.2em;
}

.chuushin001 {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	max-width: 100%;
	height: auto;
}

.topg {
	width: 100%;
}

@media only screen and (max-width: 640px) {
	.tpsd01 {
		padding: 0;
	}

	.tptx01 {
		font-size: 15px !important;
	}

	.tpimg01 {
		width: 40% !important;
	}

	.tpimg02 {
		width: 70% !important;
	}
}

/* トップの動画セクション */
.movie-block {
	position: relative;
	font-size: 0;
	letter-spacing: 0;
	line-height: 0;
}

.movie-block video {
	width: 100%;
	height: auto;
}

.movie-block__veil {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
}

.movie-block__caption {
	position: absolute;
	top: 30%;
	left: 0;
	width: 100%;
	text-align: center;
}

.movie-block__caption img {
	width: 60%;
	height: auto;
}


/* ---------------------------------------------------------
 * 5. 見出し・ボタン・アンカー
 * ------------------------------------------------------- */

.mds0001 {
	text-align: center;
	font-size: 24px;
	margin: 2em 0 1em 0;
}

/* 固定ヘッダーぶんずらしたアンカー */
.ics67 {
	margin-top: -100px;
	padding-top: 100px;
}

.bbtt001 {
	border-radius: 2em;
	border: solid 1px #000;
	display: inline-block;
	font-size: 20px;
	line-height: 1em;
	padding: 0.5em 1.4em 0.6em 1.4em;
	transition: all 500ms 0s ease;
}

.bbtt001:hover {
	color: #fff;
	background-color: #000;
}

.midoribt003 {
	background-color: #000;
	padding: 0 0.6em;
	color: #fff;
	display: inline-block;
}

.midoribt003 a {
	background-color: #000;
	color: #fff;
}


/* ---------------------------------------------------------
 * 6. 記事一覧カード（Topics）
 *    --top    : トップページ内の Topics（3 件）
 *    --archive: カテゴリ／検索結果
 * ------------------------------------------------------- */

.topic-list {
	display: flex;
	flex-wrap: wrap;
}

.topic-list > li {
	width: 33%;
	padding: 1em;
}

.topic-list--top {
	margin: 0;
}

.topic-list--archive {
	margin: -2em 0 2em 0;
}

.aspectwrapper02,
.aspectwrapper03 {
	position: relative;
	background-position: center;
	background-size: cover;
}

.topic-list--top .aspectwrapper02:after {
	padding-top: 100%;
	display: block;
	content: "";
}

.topic-list--archive .aspectwrapper02:after {
	padding-top: 66%;
	display: block;
	content: "";
}

.ns_cld {
	padding: 0.4em 0 0 0;
	line-height: 1.4em;
	letter-spacing: 0.2em;
}

.topic-list--archive .ns_cld {
	padding-top: 0.6em;
}

.topic-badge {
	margin: 0.6em 0 -0.4em 0;
}

.topic-list--top .topic-badge {
	display: none;
}

.topic-date {
	font-size: 9px;
}

.topic-title {
	font-size: 14px;
	padding-bottom: 0.2em;
}

.topic-excerpt {
	font-size: 12px;
}

@media only screen and (max-width: 800px) {
	.topic-list > li {
		width: 100%;
	}

	.topic-list--top {
		margin: 2em 0;
	}

	.topic-list .ns_prt,
	.topic-list .ns_prt02 {
		display: flex;
		flex-wrap: wrap;
	}

	.topic-list .aspectwrapper02 {
		width: 30%;
	}

	.topic-list .ns_cld {
		width: 70%;
		padding: 0 0 0 1em;
	}
}


/* ---------------------------------------------------------
 * 7. Experience 一覧
 * ------------------------------------------------------- */

.experience-list {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
}

.experience-list > li {
	width: 50%;
	padding: 1em;
}

.experience-list .aspectwrapper03:after {
	padding-top: 70%;
	display: block;
	content: "";
}

.ns_cld03 {
	padding: 1em;
	line-height: 1.4em;
	letter-spacing: 0.2em;
}

.experience-title {
	font-size: 18px;
	padding-bottom: 0.4em;
}

.experience-title > div {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

/* カテゴリ名バッジ（現在は非表示運用） */
.kategorimei01 {
	display: none !important;
	position: absolute;
	top: 1.6em;
	font-size: 20px;
	padding: 0.4em 1em;
	background-color: #fff;
}

.kategorimei01--fee {
	background-color: #00a86e;
	color: #fff;
}

@media only screen and (max-width: 800px) {
	.experience-list > li {
		width: 100%;
	}

	.kategorimei01 {
		font-size: 12px !important;
	}
}


/* ---------------------------------------------------------
 * 8. 体験スペック表（Experience 一覧 / 記事詳細で共用）
 * ------------------------------------------------------- */

.sdjhka {
	word-break: break-all;
}

.sdjhka p {
	margin: 0;
}

.sdjhka table,
.sdjhka td {
	border: 0;
	vertical-align: top;
}

.spec-table {
	width: 100%;
}

.spec-table__label {
	width: 6em;
}

.spec-heading {
	margin: 0 0 0.4em -0.4em;
}

.spec-note {
	display: inline-block;
	color: #ed7d30;
}

.spec-link {
	color: rgba(0, 107, 255, 1);
	letter-spacing: 0;
}

.ind001 {
	text-indent: -2em;
	padding-left: 2em;
}


/* ---------------------------------------------------------
 * 9. 記事詳細
 * ------------------------------------------------------- */

.single-body h2 {
	padding: 0.25em 0.5em;
	color: #494949;
	background: transparent;
	border-left: solid 6px #000;
	font-size: 1.2em;
}

.single-body .singletitle01 {
	color: #595545;
}

.single-body .single-date {
	padding: 0 0 0 1.4em;
	font-size: 12px;
	text-align: left;
}

.single-body .adbhi {
	line-height: 1.8em;
}

.single-body .sdjhka {
	margin: 0 0 1em 0;
	line-height: 1.6em;
}

.single-body .sdjhka p {
	display: inline-block;
}

.single-subtitle {
	font-weight: bold;
	margin-bottom: -0.8em;
	font-size: 17px;
}

.single-nav {
	padding: 4em 0;
	text-align: center;
}


/* ---------------------------------------------------------
 * 10. Villa / Product セクション
 * ------------------------------------------------------- */

.pc_flx02 {
	display: flex;
	flex-wrap: wrap;
	line-height: 1.4em;
}

.pc_flx02 > div {
	width: 50%;
	padding: 1em;
}

.pc_flx02 > div > div:nth-child(2) {
	border-bottom: solid 1px #000;
	font-size: 18px;
	padding: 0.4em 1em;
}

.pc_flx02 > div > div:nth-child(3) {
	padding: 1em 1em 0.4em 1em;
	font-size: 18px;
	font-weight: bold;
}

.pc_flx02 > div > div:nth-child(4) {
	padding: 0.4em 1em;
}

.pc_flx02 > div > div:nth-child(5) {
	margin: 1em 0;
	padding-left: 1em;
}

.pc_flx02 .bbtt001 {
	font-size: 18px;
	padding: 0.3em 1.4em 0.4em 1.4em;
}

@media only screen and (max-width: 640px) {
	.pc_flx02 > div {
		width: 100%;
	}
}

.product-block {
	padding: 4em 1em;
	text-align: center;
	background-image: url(https://ash-field.jp/wpsite02/wp-content/uploads/2023/12/asfp10.jpg);
	background-position: center;
	background-size: cover;
}

.product-card {
	background-color: #fff;
	max-width: 360px;
	margin: 0 auto;
	padding: 2em 1em;
}

.product-card__title {
	font-size: 22px;
	margin-bottom: 0.8em;
	border-bottom: solid 1px #000;
}

.closing-block {
	background-image: url(https://ash-field.jp/wpsite02/wp-content/uploads/2023/12/asfp31.jpg);
	padding: 14vw 1em;
	text-align: center;
	background-position: center;
	background-size: cover;
}


/* ---------------------------------------------------------
 * 11. お問い合わせフォーム
 * ------------------------------------------------------- */

.top-contact h2 {
	font-size: 20px;
	margin-bottom: 3em;
	font-family: "游明朝体", "Yu Mincho", YuMincho, serif;
	line-height: 1.8em;
	text-align: center;
	margin-top: 2em;
}

.wpcf7-list-item {
	display: block;
}

.kkdk003 p {
	margin: 0;
}

.l_001 {
	text-align: right;
	width: 35%;
	line-height: 2em;
}

.r_001,
.r_002 {
	width: 55%;
	padding-left: 2%;
	padding-bottom: 24px;
}

.r_001and {
	width: 55%;
	padding-left: 2%;
}

.r_001,
.l_001,
.r_002,
.r_001and {
	vertical-align: top;
	display: inline-block;
}

.txal001 {
	text-align: center;
}

.pd006 {
	padding: 0 1em;
}

.kurowaku001 {
	border: 2px solid #000;
}

@media only screen and (max-width: 640px) {
	.all001001 {
		padding: 0.5em 0 0 16px;
		width: 90%;
	}

	.l_001 {
		text-align: left;
	}

	.r_001,
	.l_001,
	.r_002,
	.r_001and {
		display: block;
		width: 100%;
	}

	.txal001 {
		text-align: left;
	}

	.r_001 {
		padding: 0 0 8px 16px;
	}
}


/* ---------------------------------------------------------
 * 12. 記事本文で使う汎用クラス
 * ------------------------------------------------------- */

.fnt00 {
	font-size: 0;
	line-height: 0;
	letter-spacing: 0;
}

.bgi_cv {
	background-position: center;
	position: relative;
	background-size: cover;
}

.kurohaikei001 {
	position: absolute;
	width: 100%;
	top: 0;
	left: 0;
	height: 100%;
	background-color: rgba(0, 132, 189, 0.5);
	transition: all 500ms 0s ease;
}

.bgi_cv:hover .kurohaikei001 {
	background-color: rgba(0, 132, 189, 0.3);
}

.kurohaikei002 {
	position: relative;
}

.max_img img {
	width: 100%;
}

.gls01 {
	filter: grayscale(100%);
}

.sp_dake {
	display: none;
}

.pc_dake {
	display: block;
}

@media only screen and (max-width: 640px) {
	.sp_dake {
		display: block;
	}

	.pc_dake {
		display: none;
	}
}
