@charset "UTF-8";
/* CSS Document */

/*==============================
コンテンツ設定
==============================*/

main{
	background: url(../img/common/bg_washi.webp) repeat-y center top / 100% auto;
}

/*------------------------------
共通設定
------------------------------*/

section{
	padding: 0;
}

section h2.en{
	text-align: justify;
	line-height: 1.6;
}

section h2.en::before{
	display: block;
	font-size: 1.4rem;
	line-height: 1;
	letter-spacing: 0;
	font-family: outfit,sans-serif;
}

section h2.en::after{
	content: "";
	display: block;
	margin: 10px 0 0 0;
	width: 120%;
	height: 1px;
	background: #333;
}


section .btnBox{
	margin: 0;
	width: 860px;
}

img{
	width: 100%; /* これを追加することを推奨 */
    height: auto;
	overflow: hidden;
	object-fit: cover;
	vertical-align: bottom; /* 画像下の謎の隙間を消す */
}

/*------------------------------
メインビジュアル設定
------------------------------*/

/*メインビジュアル*/
#pageVisual{
	width: 100%;
	height: 100vh;
	aspect-ratio: auto;
	display: block;
}

/*メインビジュアル中身*/
.pageVisualInner{
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

/*メインビジュアル 見出し*/
.pageVisualInner h2{
	color: #FFF;
	font-size: 3.6rem;
	line-height: 1.8;
	text-align: center;
	letter-spacing: 0.1em;
	filter: drop-shadow(0 0 5px rgba(0,0,0,0.7));
	z-index: 1;
}

.txt{
	margin: 30px 0 0 0;
	font-size: 1.4rem;
	line-height: 2.1;
	text-align: justify;
	font-family:"ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro",Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}

/*------------------------------
サービス設定
------------------------------*/

/*service共通*/
.service{
	margin: 60px 0 0 0;
	width: 100%;
	max-width: 860px;
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	gap: 60px 0;
}

/*service リスト共通*/
.service > li{
	display: flex;
	flex-wrap: wrap;
	flex-direction: row-reverse;
}

/*service リスト共通*/
.service > li:nth-of-type(even){
	flex-direction: row;
}

/*service txtBox共通*/
.service .txtBox{
	width: 100%;
	max-width: 460px;
	background: #fff;
}

/*service 見出し共通*/
.service .txtBox h3{
	padding: 30px 0 5px 56px;
	font-size: 3rem;
	line-height: 1.6;
	border-bottom: 1px solid #333;
}

.service .container{
	padding: 30px 56px;
}

.service .container{
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.service .container dt{
	display: inline-block;
	padding: 6px 15px;
	color: #fff;
	font-size: 1.6rem;
	line-height: 1;
	font-family:"ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro",Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	background: #333;
}

.service .container dd{
	margin: 10px 0 0 0;
	font-size: 1.4rem;
	line-height: 2;
	text-align: justify;
	font-family:"ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro",Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}

/*service 写真共通*/
.service .photo{
	flex: 1;
}

/*service 写真共通*/
.service .photo img{
	height: 100%;
}

/*------------------------------
お知らせ設定
------------------------------*/

/* お知らせ全体 */
#information {
	padding: 35px 0;
	width: 100%;
	background: #333;
}

/* リスト全体のコンテナ */
.infoBox {
	margin: 0 auto;
	max-width: 680px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

/* 各行のグループ (dl) */
.infoBox > dl {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline; /* 文字の底辺で揃える */
	transition: opacity 0.3s ease;
}

/* 3行目のように少し薄く見せたい場合の調整（任意） */
.infoBox > dl:last-child {
	opacity: 0.6;
}

/* 日付 (dt) */
.infoBox dt {
	width: 140px;
	color: #FFF;
	font-size: 1.4rem;
	line-height: 1;
	letter-spacing: 0.05em;
	font-family:"ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro",Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}

/* タイトル・リンク (dd) */
.infoBox dd {
	flex: 1; /* 残りの幅をすべて使う */
	overflow: hidden;
}

.infoBox dd a {
	display: block;
	color: #FFF;
	font-size: 1.4rem;
	line-height: 1;
	font-family:"ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro",Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	white-space: nowrap; /* 改行させない */
	overflow: hidden;    /* はみ出しを隠す */
	text-overflow: ellipsis; /* はみ出た分を「...」にする */
	transition: color 0.3s ease;
}

/* ホバー */
@media (any-hover: hover) {

	/* ホバー時に少し色を変える */
	.infoBox dd a:hover {
		color: #ccc;
		text-decoration: underline; /* リンクであることを分かりやすく */
	}
}



/*------------------------------
構造設定
------------------------------*/

.contentWrap {
	display: flex;/* 横並びにする */
	width: 100%;
	position: relative;
}

.sticky-trigger {
    width: 100%;
    height: 0;
    visibility: hidden;
    /* 本来stickyが発動する位置（top: 0）に合わせる */
    pointer-events: none;
}

.sidebar {
	margin: 100px 0 0 140px;
	width: 300px;
	position: sticky; 
	top: 100px;/* 固定した時の上端の余白（お好みで調整） */
	height: fit-content;/* 中身の高さに合わせる（重要） */
	align-self: flex-start;/* 親の高さに合わせて伸びるのを防ぐ */
}

.sidebar ul{
	display: flex;
	flex-direction: column;
	gap: 46px 0;
}

.sidebar ul li{
	font-size: 1.6rem;
	line-height: 1;
}

.sidebar ul li a{
	color: #1a1a1a; /* 元々の色 */
	transition: color 0.3s; /* 色の切り替えを滑らかに */
	display: flex;
	align-items: center;
	position: relative;
	transition: 0.15s ease;
}

/* ホバー */
@media (any-hover: hover) {

	.sidebar ul li a:hover{
		opacity: 0.7;
		letter-spacing: 0.1em;
	}

	.sidebar ul li a:hover::before{
		transform: translate(5px,0);
		transition: 0.3s ease;
	}

}


.sidebar ul li a::before{
	content: "";
	display: inline-block;
	margin: 0 15px 0 0;
	width: 7px;
	height: 14px;
	background: url(../img/common/ico_arrow.svg) no-repeat center center / cover;
}


.mainContents {
	width: calc(100% - 300px);
}

/*------------------------------
パンクズリスト設定
------------------------------*/

/*パンくずリスト全体*/
.breadcrumb{
	margin: 60px 0 0 130px;
}

/*パンくずリスト中身*/
.breadcrumb ol{
	display: flex;
	flex-wrap: wrap;
}

/*パンくずリスト中身 リスト*/
.breadcrumb ol li{
	font-size: 1.2rem;
	font-family:"ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro",Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}

/*パンくずリスト中身 リスト 装飾*/
.breadcrumb ol li:first-of-type::after{
	content: "＞";
	padding: 0 5px;
}

/*パンくずリスト中身 リスト リンク*/
.breadcrumb ol li a{
	font-size: 1.2rem;
	font-family:"ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro",Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}

/*------------------------------
コンセプト設定
------------------------------*/

/*コンテンツ全体*/
#concept{
	margin: 100px 0 0 0;
}

/*コンテンツ中身*/
.conceptBox{
	width: 860px;
	display: flex;
	flex-direction: column;
	gap: 70px;
}

/*コンテンツ リスト*/
.conceptBox li {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 60px;
}

/*コンテンツ リスト 2つ目*/
.conceptBox li:nth-of-type(even) {
	flex-direction: row-reverse;
	align-items: center; 
}

/*テキストボックス 1つ目*/
.conceptBox li:first-of-type .txtBox {
	flex: 1;
}

/*テキストボックス 偶数*/
.conceptBox li:nth-of-type(even) .txtBox {
	width: 450px;
}

/*コンテンツ 見出し*/
.conceptBox li .txtBox h2 {
	margin: 0 0 20px 0;
	font-size: 1.2rem;
	font-family: outfit, sans-serif;
	text-align: justify;
	letter-spacing: 0.1em;
}

/*コンテンツ 小見出し*/
.conceptBox li .txtBox h3 {
	font-size: 3rem;
	line-height: 1.6;
}

/*コンテンツ ボタン*/
.conceptBox li .txtBox .btn {
	margin: 30px 0 0 0;
}

/*写真 1つ目の写真*/
.conceptBox li:first-of-type .photo {
	width: 480px;
	flex-basis: 480px;
	flex-shrink: 0;
	flex-grow: 0;
}

/*写真 偶数*/
.conceptBox li:nth-of-type(even) .photo {
	flex: 1;
	display: flex;
	justify-content: center;
}

/*------------------------------
選ばれる理由設定
------------------------------*/

/*選ばれる理由全体*/
#reason{
	padding: 120px 0;
}

/*選ばれる理由 英語見出し*/
#reason .en::before{
	content: "OUR APPROACH";
}

/*resonBox*/
.reasonBox{
	margin: 60px 0 0 0;
	width: 100%;
	max-width: 860px;
	display: flex;
	flex-wrap: wrap;
	gap: 120px 0;
}

/*resonBox リスト*/
.reasonBox li{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 50px;
}

/*resonBox リスト 奇数*/
.reasonBox li:nth-of-type(odd){
	flex-direction: row-reverse;
}

/*resonBox txtBox*/
.reasonBox .txtBox{
	width: 100%;
	max-width: 290px;
}

/*resonBox 小見出し*/
.reasonBox .txtBox h3{
	padding: 0 0 0 50px;
	font-size: 2.4rem;
	line-height: 1.8;
	text-align: justify;
	letter-spacing: 0.1em;
	position: relative;
}

/*resonBox 小見出し装飾共通*/
.reasonBox .txtBox h3:before,
.reasonBox .txtBox h3:after{
	content: "";
	display: block;
	position: absolute;
}

/*resonBox 小見出し装飾数字*/
.reasonBox .txtBox h3:before{
	font-size: 4.4rem;
	top: -30px;
	left: 0;
}

/*resonBox 小見出し装飾数字 1番目*/
.reasonBox li:first-of-type .txtBox h3:before{
	content: "1";
}

/*resonBox 小見出し装飾数字 2番目*/
.reasonBox li:nth-of-type(2) .txtBox h3:before{
	content: "2";
}

/*resonBox 小見出し装飾数字 3番目*/
.reasonBox li:nth-of-type(3) .txtBox h3:before{
	content: "3";
}

/*resonBox 小見出し装飾数字 4番目*/
.reasonBox li:nth-of-type(4) .txtBox h3:before{
	content: "4";
}

/*resonBox 小見出し装飾数字 5番目*/
.reasonBox li:nth-of-type(5) .txtBox h3:before{
	content: "5";
}

/*resonBox 小見出し装飾数字 6番目*/
.reasonBox li:nth-of-type(6) .txtBox h3:before{
	content: "6";
}

/*resonBox 小見出し装飾 スラッシュ*/
.reasonBox .txtBox h3:after{
	width: 68px;
	height: 1px;
	background: #333;
	transform: rotate(-45deg);
	top: 20px;
	left: -8px;
}

/*本文*/
.reasonBox .txtBox .txt{
	margin: 20px 0 0 0;
}

/*写真*/
.reasonBox .photo{
	flex: 1;
}

/*------------------------------
エールのリノベーション設定
------------------------------*/

/*エールのリノベーション全体*/
#renovation{
	padding: 0 0 120px;
}

/*エールのリノベーション 英語見出し*/
#renovation .en::before{
	content: "RENOVATION";
}

/*------------------------------
エールのリフォーム設定
------------------------------*/

/*エールのリフォーム全体*/
#reform{
	padding: 0 0 120px;
}

/*エールのリフォーム 英語見出し*/
#reform .en::before{
	content: "REFORM";
}

/*------------------------------
リフォームの流れ設定
------------------------------*/

/*エールのリフォーム全体*/
#flow{
	padding: 0 0 120px;
}

/*エールのリフォーム 英語見出し*/
#flow .en::before{
	content: "REFORM STEP";
}

/* 全体コンテナ */
#flow .flow-container {
	margin: 60px 0 0 0;
	width: 100%;
	max-width: 860px;
}

/* グリッドレイアウト（PCで2列） */
#flow .flow-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px 40px;
}

/* 各アイテムのスタイル */
#flow .flow-item {
	height: min-content; /* 中身の高さに合わせる */
	background: #fff;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 2px 10px rgba(0,0,5,0.1);
}

/* ヘッダー（クリック部分） */
#flow .flow-header {
	display: flex;
	align-items: center;
	padding: 20px;
	cursor: pointer;
	position: relative;
}

#flow .flow-header::-webkit-details-marker {
	display: none; /* Safari用の三角形消し */
}

/* 数字部分 */
#flow .num {
	margin: 0 15px 0 0;
	color: #606060;
	font-size: 3rem;
}

/* タイトル */
#flow .title {
	margin: 0 10px 0 0;
	font-size: 1.8rem;
}

/* 無料バッジ */
#flow .badge {
	padding: 3px 8px;
	color: #fff;
	font-size: 1.6rem;
	line-height: 1;
	background: #baa082;
}

/* ＋・ー アイコン */
#flow .icon {
	margin: 0 0 0 auto;
	width: 20px;
	height: 20px;
	position: relative;
}

#flow .icon::before,
#flow .icon::after {
	content: "";
	background: #606060;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

/* 横棒 */
#flow .icon::before {
	width: 100%;
	height: 2px;
}

/* 縦棒 */
#flow .icon::after {
	width: 2px;
	height: 100%;
	transition: transform 0.3s;
}

/* 開いている時の縦棒の動き（消してマイナスにする） */
#flow details[open] .icon::after {
	transform: translate(-50%, -50%) rotate(90deg);
	opacity: 0;
}

/* 中身のテキスト */
#flow .flow-content {
	margin: -10px 0 0 0;
	padding: 0 40px 20px 55px; /* 数字の下辺りに合わせる */
	font-size: 1.4rem;
	line-height: 1.8;
	text-align: justify;
	font-family:"ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro",Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	animation: fadeIn 0.4s ease;
}

@keyframes fadeIn {
	from { opacity: 0; transform: translateY(-10px); }
	to { opacity: 1; transform: translateY(0); }
}

/*------------------------------
アフターメンテナンス設定
------------------------------*/

/*エールのリフォーム全体*/
#aftermaintenance{
	padding: 0 0 120px;
}

/*エールのリフォーム 英語見出し*/
#aftermaintenance .en::before{
	content: "AFTER MAINTENANCE";
}

/*エールのリフォーム全体*/
#aftermaintenance .inner > .txt{
	width: 860px;
}

.support-container {
	margin: 50px 0 0 0;
	max-width: 860px;
}

/* 上段の2カラム */
.support-row-top {
	margin: 0 0 60px 0;
	display: flex;
	gap: 60px;
}

/*サポートカード*/
.support-card {
	display: flex;
	flex-direction: column;
	flex: 1;
	background: #fff;
	box-shadow: 0 0 10px rgba(0,0,0,0.1);
	overflow: hidden;
}

/*ワイドカード*/
.wide-card {
	width: 100%;
	overflow: hidden;
}

/* 見出しの装飾 */
.card-title {
	padding: 30px 0 0 30px;
	font-size: 2.4rem;
	line-height: 1;
	letter-spacing: 0.1em;
	position: relative;
}

/* 見出しの装飾 */
.card-title::after {
	content: "";
	display: block;
	margin: 16px 0 0 0;
	width: calc(100% + 30px * 2);
	height: 1px;
	background: #1a1a1a;
	transform: translate(-30px,0);
}

/*カード内容*/
.card-body{
	padding: 16px 30px 30px 30px;
}

/*カード内容 点検リスト全体*/
.card-body ul{
	margin: 20px 0 0 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

/*カード内容 点検リスト*/
.card-body ul li{
	padding: 25px 0;
	color: #fff;
	text-align: center;
	font-size: 2rem;
	line-height: 1;
	font-family:"ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro",Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	background: #4d4d4d;
}

/*カード内容 説明*/
.card-body .desc,
.desc-large {
	font-size: 1.4rem;
	line-height: 2.1;
	text-align: justify;
	font-family:"ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro",Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}

.desc-large em {
	font-size: 2.2rem;
	font-weight: bold;
	font-style: normal;
}

/*カード内容 説明 注釈*/
.card-body .desc small {
	padding: 0;
	text-align: justify;
}

/*カード内容 dt*/
.warranty-item dt,
.grid-item dt {
	margin: 20px 0 5px 0;
	padding: 6px 0;
	color: #fff;
	font-size: 1.6rem;
	line-height: 1;
	text-align: center;
	font-family:"ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro",Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	background: #4d4d4d;
}

/*カード内容 dd*/
.warranty-item dd,
.grid-item  dd {
	font-size: 1.4rem;
	line-height: 2;
	font-family:"ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro",Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}

/*サポートグリッド*/
.support-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

/* 電話番号バー */
.contact-bar {
	padding: 10px 0;
	display: flex;
	justify-content: center;
	align-items: end;
	color: #fff;
	background: #4d4d4d;
}

/*安心修理サポート*/
.contact-label {
	margin: 0 10px 0 0;
	font-size: 1.4rem;
	font-weight: bold;
	font-family:"ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro",Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}

/*電話番号*/
.phone-number {
	color: #fff;
	font-size: 4rem;
	font-weight: 300;
	line-height: 1;
	font-family: outfit,sans-serif;
}

/*電話番号 フリーダイヤルアイコン*/
.phone-number::before {
	content: "";
	display: inline-block;
	margin: 0 5px 0 0;
	width: 36px;
	aspect-ratio: 1.5 / 1;
	background: url(../img/common/ico_freedial.svg) center center / cover;
}

/*メンテナンス*/
#maintenance {
	margin: 60px 0 0 0;
	max-width: 860px;
}

/*メンテナンス 見出し*/
#maintenance h3{
	font-size: 2.4rem;
	text-align: center;
	border-bottom: 3px solid #1a1a1a;
}

/*メンテナンス グラフ用説明*/
#maintenance .graph{
	margin: 50px 0 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: 26px;
}

/*メンテナンス グラフ用説明リスト*/
#maintenance .graph li{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	font-size: 1.3rem;
	font-weight: bold;
	font-family:"ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro",Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}

/*メンテナンス グラフ用説明リスト バー*/
#maintenance .graph li::before{
	content: "";
	margin: 0 10px 0 0;
	display: inline-block;
	width: 100px;
	height: 20px;
}

/*メンテナンス グラフ用説明リスト バー 1つ目*/
#maintenance .graph li:first-of-type::before{
	background: #8dbcc1;
}

/*メンテナンス グラフ用説明リスト バー 2つ目*/
#maintenance .graph li:nth-of-type(2)::before{
	background: #e6c76c;
}

/*メンテナンス グラフ用説明リスト バー 3つ目*/
#maintenance .graph li:nth-of-type(3)::before{
	background: #df8c8a;
}

/*スケジュール画像*/
#maintenance .schedule{
	margin: 30px 0 0 0;
	width: 860px;
}

/*------------------------------
FAQ設定
------------------------------*/

/*よくある質問全体*/
#faq{
	padding: 0 0 120px;
}

/*よくある質問 英語見出し*/
#faq .en::before{
	content: "HELP & FAQS";
}

/*よくある質問 本文*/
#faq .inner .txt{
	width: 860px;
}

/*faqBox*/
#faq .faqBox {
	margin: 80px 0 0 0;
	max-width: 860px;
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	gap: 60px;
}

/*カテゴリタイトル*/
#faq h3 {
	margin: 0 0 40px 0;
	padding: 0 0 10px 0;
	font-size: 2.4rem;
	line-height: 1;
	text-align: center;
	letter-spacing: 0.2em;
	position: relative;
	border-bottom: 3px solid #1a1a1a;
}

/* 各FAQアイテム */
#faq .faq-item {
	margin: 0 0 30px 0;
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 0 10px rgba(0,0,0,0.1);
}

/* 質問部分 */
#faq .faq-question {
	display: flex;
	align-items: center;
	padding: 15px 25px;
	font-size: 1.8rem;
	cursor: pointer;
	position: relative;
}

#faq .faq-question::-webkit-details-marker {
	display: none; /* Safari用矢印消し */
}

/*Qアイコン*/
#faq .q-prefix {
	margin: 0 15px 0 0;
	font-size: 3rem;
}

/* ＋・ー アイコン */
#faq .icon {
	margin: 0 0 0 auto;
	width: 20px;
	height: 20px;
	position: relative;
}

/* ＋・ー アイコン 装飾共通*/
#faq .icon::before,
#faq .icon::after {
	content: "";
	background: #606060;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transition: transform 0.3s ease;
}

/* 横棒 */
#faq .icon::before {
	width: 100%;
	height: 2px;
}

/* 縦棒 */
#faq .icon::after {
	width: 2px;
	height: 100%;
}

/* 開いている時は縦棒を回転させて隠す（マイナスに見せる） */
#faq details[open] .icon::after {
	transform: translate(-50%, -50%) rotate(90deg);
	opacity: 0;
}

/* 回答部分 */
#faq .faq-answer {
	padding: 0 25px 25px 60px; /* Qの直下から始まるように調整 */
	display: flex;
	animation: fadeIn 0.4s ease;
}

/*回答内容*/
#faq .answer-text{
	font-size: 1.4rem;
	line-height: 2.1;
	text-align: justify;
	font-family:"ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro",Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}

/*A アイコン*/
#faq .a-prefix {
	margin: 0 20px 0 -35px; /* 回答内のA.の位置を調整 */
	font-size: 3rem;
	line-height: 1;
}

@keyframes fadeIn {
	from { opacity: 0; transform: translateY(-5px); }
	to { opacity: 1; transform: translateY(0); }
}


/*==============================
レスポンシブ設定
==============================*/

/*1250px以下の場合*/
@media screen and (max-width:1250px){

	section .inner{
		width: 100%;
	}

	/*------------------------------
	構造設定
	------------------------------*/

	.sidebar {
		margin: 60px 0 0 50px;
		width: 240px;
	}

	.sidebar ul{
		gap: 40px 0;
	}

	.sidebar ul li{
		font-size: 1.4rem;
	}

	.sidebar ul li a::before{
		width: 6px;
		height: 12px;
	}

	.mainContents {
		width: calc(100% - 240px);
	}

	/*------------------------------
	パンクズリスト設定
	------------------------------*/

	/*パンくずリスト全体*/
	.breadcrumb{
		margin: 40px 0 0 50px;
	}

	/*------------------------------
	コンセプト設定
	------------------------------*/

	/*コンテンツ全体*/
	#concept{
		margin: 60px 0 0 0;
	}

	/*コンテンツ中身*/
	.conceptBox{
		width: calc(100% - 80px);
		gap: 50px;
	}

	/*コンテンツ リスト*/
	.conceptBox li {
		gap: 60px;
	}

	/*テキストボックス 1つ目*/
	.conceptBox li:first-of-type .txtBox {
		width: 300px;
		flex-basis: 300px;
		flex-shrink: 0;
		flex-grow: 0;
	}

	/*写真 1つ目の写真*/
	.conceptBox li:first-of-type .photo {
		width: auto;
		flex: 1;
	}

	

}

/*1100px以下の場合*/
@media screen and (max-width:1100px){

	section h2.en::before{
		font-size: 1.2rem;
	}

	section .btnBox{
		width: 100%;
	}

	/*メインビジュアル 見出し*/
	.pageVisualInner h2{
		font-size: 3rem;
	}

	.txt{
		margin: 20px 0 0 0;
	}

	/*------------------------------
	サービス設定
	------------------------------*/

	/*service共通*/
	.service{
		margin: 40px 0 0 0;
		width: calc(100% - 40px);
		gap: 40px 0;
	}

	/*service リスト共通*/
	.service > li{
		flex-direction: column-reverse;
	}

	/*service リスト共通*/
	.service > li:nth-of-type(even){
		flex-direction: column-reverse;
	}

	/*service txtBox共通*/
	.service .txtBox{
		max-width: 100%;
	}

	/*service 見出し共通*/
	.service .txtBox h3{
		padding: 20px 0 5px 30px;
		font-size: 2.6rem;
	}

	.service .container{
		padding: 30px;
	}

	.service .container{
		display: flex;
		flex-direction: column;
		gap: 20px;
	}

	.service .container dd{
		margin: 5px 0 0 0;
		font-size: 1.4rem;
	}

	/*service 写真共通*/
	.service .photo{
		width: 100%;
		max-width: 100%;
	}

	/*service 写真共通*/
	.service .photo img{
		width: 100%;
		height: 500px;
		overflow: hidden;
	}


	/*------------------------------
	構造設定
	------------------------------*/

	.sidebar {
		margin: 40px 0 0 50px;
	}

	/*------------------------------
	コンセプト設定
	------------------------------*/

	/*コンテンツ全体*/
	#concept{
		margin: 40px 0 0 0;
	}

	/*コンテンツ中身*/
	.conceptBox{
		width: calc(100% - 40px);
		gap: 40px;
	}

	/*コンテンツ リスト*/
	.conceptBox li {
		align-items: center;
		gap: 50px;
	}

	/*テキストボックス 1つ目*/
	.conceptBox li:first-of-type .txtBox {
		width: 260px;
		flex-basis: 260px;
	}

	/*テキストボックス 偶数*/
	.conceptBox li:nth-of-type(even) .txtBox {
		width: 340px;
	}

	/*テキストボックス 1つ目*/
	.conceptBox li .txt br {
		display: none;
	}

	/*------------------------------
	選ばれる理由設定
	------------------------------*/

	/*選ばれる理由全体*/
	#reason{
		padding: 100px 0;
	}

	/*resonBox*/
	.reasonBox{
		margin: 40px 0 0 0;
		max-width: calc(100% - 40px);
		gap: 60px 0;
	}

	/*resonBox リスト*/
	.reasonBox li{
		gap: 40px;
	}

	/*resonBox txtBox*/
	.reasonBox .txtBox{
		max-width: 250px;
	}

	/*resonBox 小見出し*/
	.reasonBox .txtBox h3{
		font-size: 2rem;
	}

	/*本文*/
	.reasonBox .txtBox .txt{
		margin: 10px 0 0 0;
	}

	/*写真*/
	.reasonBox .photo img{
		aspect-ratio: 16 / 9;
	}

	/*------------------------------
	エールのリノベーション設定
	------------------------------*/

	/*エールのリノベーション全体*/
	#renovation{
		padding: 0 0 100px;
	}

	/*------------------------------
	エールのリフォーム設定
	------------------------------*/

	/*エールのリフォーム全体*/
	#reform{
		padding: 0 0 100px;
	}

	/*------------------------------
	リフォームの流れ設定
	------------------------------*/

	/*エールのリフォーム全体*/
	#flow{
		padding: 0 0 100px;
	}

	/* 全体コンテナ */
	#flow .flow-container {
		margin: 60px 0 0 0;
		max-width: calc(100% - 40px);
	}

	/* 無料バッジ */
	#flow .badge {
		margin: 0 10px 0 0;
		padding: 3px 0;
		width: 50px;
		text-align: center;
	}

	/*------------------------------
	アフターメンテナンス設定
	------------------------------*/

	/*エールのリフォーム全体*/
	#aftermaintenance{
		padding: 0 0 100px;
	}

	/*エールのリフォーム全体*/
	#aftermaintenance .inner > .txt{
		width: calc(100% - 40px);
	}

	.support-container {
		margin: 40px 0 0 0;
		max-width: calc(100% - 40px);
	}

	/* 上段の2カラム */
	.support-row-top {
		margin: 0 0 40px 0;
		gap: 40px;
	}

	/* 見出しの装飾 */
	.card-title {
		padding: 20px 0 0 20px;
		font-size: 2.2rem;
	}

	/*カード内容*/
	.card-body{
		padding: 16px 20px 20px 20px;
	}

	/*メンテナンス*/
	#maintenance {
		margin: 40px 0 0 0;
		max-width: calc(100% - 40px);
	}

	/*メンテナンス 見出し*/
	#maintenance h3{
		font-size: 2.4rem;
		text-align: center;
		border-bottom: 3px solid #1a1a1a;
	}

	/*メンテナンス グラフ用説明*/
	#maintenance .graph{
		margin: 30px 0 0 0;
		gap: 20px;
	}

	/*メンテナンス グラフ用説明リスト バー*/
	#maintenance .graph li::before{
		width: 60px;
	}

	/*スケジュール画像*/
	#maintenance .schedule{
		margin: 20px 0 0 0;
		width: calc(100% - 40px);
	}

	/*------------------------------
	FAQ設定
	------------------------------*/

	/*よくある質問全体*/
	#faq{
		padding: 0 0 100px;
	}

	/*よくある質問 本文*/
	#faq .inner .txt{
		width: calc(100% - 40px);
	}

	/*faqBox*/
	#faq .faqBox {
		margin: 50px 0 0 0;
		max-width: calc(100% - 40px);
		gap: 30px;
	}

	/*カテゴリタイトル*/
	#faq h3 {
		margin: 0 0 20px 0;
		font-size: 2.2rem;
	}

	/* 質問部分 */
	#faq .faq-question {
		padding: 10px 20px;
		font-size: 1.6rem;
	}

	/*Qアイコン*/
	#faq .q-prefix {
		font-size: 2.5rem;
	}

	/*A アイコン*/
	#faq .a-prefix {
		margin: 0 20px 0 -40px;
		font-size: 2.5rem;
	}

}

/*960px以下の場合*/
@media screen and (max-width:960px){

	/*------------------------------
	サービス設定
	------------------------------*/

	/*service 見出し共通*/
	.service .txtBox h3{
		font-size: 2rem;
	}

	.service .container{
		padding: 25px;
	}

	.service .container dt{
		padding: 5px 10px;
		font-size: 1.4rem;
	}

	/*service 写真共通*/
	.service .photo img{
		height: 350px;
	}

	/*------------------------------
	お知らせ設定
	------------------------------*/

	/* お知らせ全体 */
	#information {
		padding: 20px 0;
	}

	/* リスト全体のコンテナ */
	.infoBox {
		max-width: calc(100% - 80px);
	}

	/*------------------------------
	コンセプト設定
	------------------------------*/

	/*コンテンツ リスト*/
	.conceptBox li {
		align-items: start;
		flex-direction: column;
	}

	/*コンテンツ リスト 2つ目*/
	.conceptBox li:nth-of-type(even) {
		align-items: start;
		flex-direction: column;
	}

	/*テキストボックス 1つ目*/
	.conceptBox li:first-of-type .txtBox {
		width: 100%;
		flex-basis: 100%;
	}

	/*テキストボックス 偶数*/
	.conceptBox li:nth-of-type(even) .txtBox {
		width: 100%;
	}

	/*コンテンツ 小見出し*/
	.conceptBox li .txtBox h3 {
		font-size: 2.4rem;
	}

	/*写真 偶数*/
	.conceptBox li:nth-of-type(even) .photo {
		width: 70%;
	}

	/*テキストボックス 1つ目*/
	.conceptBox li .txt br {
		display: block;
	}

	/*------------------------------
	選ばれる理由設定
	------------------------------*/

	/*resonBox リスト*/
	.reasonBox li{
		flex-direction: column;
		gap: 20px;
	}

	/*resonBox リスト 奇数*/
	.reasonBox li:nth-of-type(odd){
		flex-direction: column;
	}

	/*resonBox txtBox*/
	.reasonBox .txtBox{
		max-width: 100%;
	}

	/*resonBox 小見出し*/
	.reasonBox .txtBox h3{
		font-size: 2rem;
	}

	/*resonBox 小見出し*/
	.reasonBox .txtBox h3 br{
		display: none;
	}


	/*------------------------------
	リフォームの流れ設定
	------------------------------*/

	#flow .flow-grid {
		grid-template-columns: 1fr;
	}

	#flow .flow-header {
		padding: 15px;
	}


	/*------------------------------
	アフターメンテナンス設定
	------------------------------*/

	.support-row-top {
		flex-direction: column;
	}

	.support-grid {
		grid-template-columns: 1fr;
	}

	.contact-bar {
		align-items: center;
		flex-direction: column;
		gap: 0;
	}

	/*メンテナンス 見出し*/
	#maintenance h3{
		font-size: 2rem;
		border-bottom: 2px solid #1a1a1a;
	}

	/*メンテナンス グラフ用説明*/
	#maintenance .graph{
		gap: 10px;
	}

	/*メンテナンス グラフ用説明リスト バー*/
	#maintenance .graph li::before{
		width: 20px;
	}

	/*スケジュール画像*/
	#maintenance .schedule{
		width: 100%;
	}

	/*------------------------------
	FAQ設定
	------------------------------*/
	
	/*カテゴリタイトル*/
	#faq h3 {
		font-size: 2rem;
		border-bottom: 2px solid #1a1a1a;
	}


}


/*768px以下の場合*/
@media screen and (max-width:768px){

	section h2.en{
		padding: 0 20px;
		text-align: center;
	}

	section h2.en::before{
		font-size: 1.2rem;
		text-align: center;
	}

	section h2.en::after{
		margin: 10px 0 0 -20px;
	}

	/*メインビジュアル 見出し*/
	.pageVisualInner h2{
		font-size: 2.6rem;
	}

	/*------------------------------
	サービス設定
	------------------------------*/

	/*service共通*/
	.service{
		margin: 40px auto 0;
		width: 560px;
	}

	/*------------------------------
	構造設定
	------------------------------*/

	.contentWrap {
		flex-direction: column;
		position: relative;
	}

	/* サイドバー本体 */
	.sidebar {
		margin: 0 !important;
		padding: 60px 0 60px 20px !important;
		width: 210px !important;
		height: 100vh !important;
		position: fixed !important;
		top: 0;
		left: 0;
		z-index: 100;
		background: #fff;
		transform: translateX(-100%); 
		transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
	}

	/* メニューが開いている時 */
	.sidebar.is-active {
		transform: translateX(0);
		box-shadow: 2px 0 10px rgba(0,0,0,0.2);
	}

	/* トリガーボタン */
	.sidebar-trigger {
		display: flex;
		align-items: center;
		justify-content: center;
		position: fixed;
		top: 200px;
		left: 0;
		width: 35px;
		height: 35px;
		background: #666;
		z-index: 110;
		cursor: pointer;
		transition: left 0.4s cubic-bezier(0.25, 1, 0.5, 1), 
					background 0.1s linear, 
					opacity 0.3s ease, 
					visibility 0.3s ease;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
	}

	/*JSで表示状態になった時*/
	.sidebar-trigger.is-visible {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}


	/* トリガーボタンの基本設定 */
	.sidebar-trigger::after {
		content: "";
		display: block;
		width: 9px;
		aspect-ratio:  9 / 16;
		background: url(../img/common/ico_arrow_white.svg) center center / cover;
	}

	/* メニューが開いている時のボタンの動き */
	.sidebar.is-active + .mainContents .sidebar-trigger {
		left: 210px;
	}
	
	/* アイコンの回転 */
	.sidebar.is-active + .mainContents .sidebar-trigger::after {
		transform: rotate(180deg);
		transition: transform 0.4s ease;
	}

	/* モバイル時のリストスタイル調整 */
	.sidebar ul {
		flex-direction: column !important;
		justify-content: flex-start !important;
		gap: 30px 0 !important;
	}

	/* 背景オーバーレイ（メニューが開いている時に画面を暗くする） */
	.sidebar-overlay {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(0,0,0,0.8);
		z-index: 50;
	}


	.sidebar-overlay.is-active {
		display: block;
	}










	.mainContents {
		width: 100%;
	}

	/*------------------------------
	パンクズリスト設定
	------------------------------*/

	/*パンくずリスト全体*/
	.breadcrumb{
		margin: 20px 0 0 20px;
	}

	/*------------------------------
	コンセプト設定
	------------------------------*/

	/*コンテンツ中身*/
	.conceptBox{
		margin: 0 auto;
	}

	/*コンテンツ リスト*/
	.conceptBox li {
		flex-direction: row;
	}

	/*コンテンツ リスト 2つ目*/
	.conceptBox li:nth-of-type(even) {
		flex-direction: row-reverse;
	}


	/*テキストボックス 1つ目*/
	.conceptBox li:first-of-type .txtBox {
		width: 260px;
		flex-basis: 260px;
	}

	/*テキストボックス 偶数*/
	.conceptBox li:nth-of-type(even) .txtBox {
		width: 340px;
	}

	/*テキストボックス テキスト改行*/
	.conceptBox li .txt br {
		display: none;
	}

	/*写真 偶数*/
	.conceptBox li:nth-of-type(even) .photo {
		max-width: 100%;
	}

	/*------------------------------
	選ばれる理由設定
	------------------------------*/

	/*resonBox*/
	.reasonBox{
		margin: 40px auto 0;
		width: 560px;
	}

	/*------------------------------
	リフォームの流れ設定
	------------------------------*/

	/* 全体コンテナ */
	#flow .flow-container {
		margin: 60px auto 0;
		width: 560px;
	}

	/*------------------------------
	アフターメンテナンス設定
	------------------------------*/

	/*エールのリフォーム全体*/
	#aftermaintenance .inner > .txt{
		margin: 20px auto 0;
		max-width: 560px;
	}

	.support-container {
		margin: 40px auto 0;
		max-width: 560px;
	}

	.contact-bar a {
		color: #fff;
	}

	/*メンテナンス*/
	#maintenance{
		margin: 30px auto 0;
		max-width: 560px;
	}


	/*------------------------------
	FAQ設定
	------------------------------*/

	/*よくある質問 本文*/
	#faq .inner .txt{
		margin: 20px auto 0;
		width: 560px;
	}

	/*faqBox*/
	#faq .faqBox {
		margin: 40px auto 0;
		width: 560px;
	}

}

/*600px以下の場合*/
@media screen and (max-width:600px){

	.txt{
		line-height: 1.8;
	}

	/*メインビジュアル 見出し*/
	.pageVisualInner h2{
		font-size: 2rem;
	}

	/*------------------------------
	サービス設定
	------------------------------*/

	/*service共通*/
	.service{
		margin: 30px auto 0;
		width: calc(100% - 40px);
	}

	/*------------------------------
	お知らせ設定
	------------------------------*/

	/* お知らせ全体 */
	#information {
		padding: 15px 0;
	}

	/* リスト全体のコンテナ */
	.infoBox {
		max-width: calc(100% - 40px);
	}

	/* 日付 (dt) */
	.infoBox dt {
		width: 110px;
	}

	/*------------------------------
	構造設定
	------------------------------*/

	.sidebar ul{
		padding: 10px 0;
		grid-template-columns: 1fr 1fr; /* 基本は2列 */
		gap: 5px 0;
	}

	/* 通常時の文字色（念のため） */
	.sidebar ul li a {
		font-size: 1.2rem;
	}


	/*------------------------------
	コンセプト設定
	------------------------------*/

	/*コンテンツ中身*/
	.conceptBox{
		gap: 50px;
	}

	/*コンテンツ リスト*/
	.conceptBox li {
		align-items: start;
		flex-direction: column;
		gap: 30px;
	}

	/*コンテンツ リスト 2つ目*/
	.conceptBox li:nth-of-type(even) {
		align-items: start;
		flex-direction: column;
	}

	/*テキストボックス 1つ目*/
	.conceptBox li:first-of-type .txtBox {
		width: 100%;
		flex-basis: 100%;
	}

	/*テキストボックス 偶数*/
	.conceptBox li:nth-of-type(even) .txtBox {
		width: 100%;
	}

	/*写真 偶数*/
	.conceptBox li:nth-of-type(even) .photo {
		width: 100%;
	}

	/*コンテンツ 見出し*/
	.conceptBox li .txtBox h2 {
		margin: 0 0 10px 0;
		line-height: 1;
	}

	/*テキストボックス 見出し 改行*/
	.conceptBox li h3 br {
		display: none;
	}

	/*テキストボックス テキスト 改行*/
	.conceptBox li .txt br {
		display: none;
	}

	/*------------------------------
	選ばれる理由設定
	------------------------------*/

	/*resonBox*/
	.reasonBox{
		margin: 30px auto 0;
		width: calc(100% - 40px);
	}

	/*------------------------------
	リフォームの流れ設定
	------------------------------*/

	/* 全体コンテナ */
	#flow .flow-container {
		margin: 30px auto 0;
		width: calc(100% - 40px);
	}

	/* グリッドレイアウト */
	#flow .flow-grid {
		gap: 20px;
	}

	/* 数字部分 */
	#flow .num {
		margin: 0 10px 0 0;
		font-size: 2rem;
	}

	/* タイトル */
	#flow .title {
		font-size: 1.4rem;
	}

	/* 無料バッジ */
	#flow .badge {
		width: 40px;
		font-size: 1.2rem;
	}

	/* ＋・ー アイコン */
	#flow .icon {
		position: absolute;
		right: 15px;
	}

	/*------------------------------
	アフターメンテナンス設定
	------------------------------*/

	/*エールのリフォーム全体*/
	#aftermaintenance .inner > .txt{
		max-width: calc(100% - 40px);
	}

	.support-container {
		margin: 30px auto 0;
		max-width: calc(100% - 40px);
	}

	/* 見出しの装飾 */
	.card-title {
		font-size: 1.8rem;
	}

	/*カード内容 説明*/
	.card-body .desc,
	.desc-large {
		line-height: 1.8;
	}

	/*カード内容 dd*/
	.warranty-item dd,
	.grid-item  dd {
		line-height: 1.8;
	}

	/*サポートグリッド*/
	.support-grid {
		gap: 5px;
	}

	/*電話番号*/
	.phone-number {
		font-size: 3.2rem;
	}

	/*電話番号 フリーダイヤルアイコン*/
	.phone-number::before {
		width: 26px;
	}

	/*メンテナンス*/
	#maintenance{
		margin: 30px auto 0;
		max-width: calc(100% - 40px);
	}

	/*メンテナンス 見出し*/
	#maintenance h3{
		padding: 0 0 10px 0;
		font-size: 1.8rem;
		line-height: 1.6;
	}

	/*スケジュール画像*/
	#maintenance .schedule{
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	/*スケジュール画像*/
	#maintenance .schedule img{
		width: 600px;
		max-width: none;
		display: block;
		height: auto;
	}

	/*メンテナンス グラフ用説明*/
	#maintenance .graph{
		gap: 10px;
	}

	/*メンテナンス グラフ用説明リスト*/
	#maintenance .graph li{
		line-height: 1;
	}

	/*メンテナンス グラフ用説明リスト バー*/
	#maintenance .graph li::before{
		content: "";
		width: 80px;
	}


	/*------------------------------
	FAQ設定
	------------------------------*/

	/*よくある質問 本文*/
	#faq .inner .txt{
		width: calc(100% - 40px);
	}

	/*faqBox*/
	#faq .faqBox {
		margin: 30px auto 0;
	}

	/* 各FAQアイテム */
	#faq .faq-item {
		margin: 0 0 20px 0;
	}

	/* 質問部分 */
	#faq .faq-question {
		padding: 15px 50px 15px 25px;
		font-size: 1.4rem
	}

	/* ＋・ー アイコン */
	#faq .icon {
		position: absolute;
		right: 15px;
	}

}

/*430px以下の場合*/
@media screen and (max-width:430px){

	/*------------------------------
	構造設定
	------------------------------*/

	.sidebar ul{
		padding: 5px 0;
	}

	/*------------------------------
	コンセプト設定
	------------------------------*/

	/*コンテンツ 見出し*/
	.conceptBox li .txtBox h2 {
		text-align: center;
	}

	/*コンテンツ 小見出し*/
	.conceptBox li .txtBox h3 {
		text-align: center;
	}

	/*コンテンツ ボタン*/
	.conceptBox li .txtBox .btn {
		margin: 20px auto 0;
	}

	/*テキストボックス テキスト 改行*/
	.conceptBox li h3 br {
		display: block;
	}

}


































