@charset "utf-8";

/* ===============================================
 * リセット & 基本設定
 * =============================================== */

html {
	-moz-text-size-adjust: none;
	text-size-adjust: none;
	font-size: 62.5%;
	scroll-behavior: smooth; /* ← スムーズスクロールをデフォルトに */
}

/* Remove default margin in favour of better control in authored CSS */
body, h1, h2, h3, h4, p,
figure, blockquote, dl, dd {
	margin: 0; 
}

/* Box sizing rules */
*,
*::before,
*::after {
	box-sizing: border-box;
}

body {
	color: #333;
	font-size: 1.6rem;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	line-height: 1.7; 
	background: #FFF;
	min-height: 100vh;
}

/* Make images easier to work with */
img,
picture {
	max-width: 100%;
	height: auto; 
	display: block; /* ← vertical-alignが不要になり、下の隙間問題も解決 */
}

/* Inherit fonts for inputs and buttons */
input, button,
textarea, select {
	font: inherit;
}

/* Remove default styling for buttons and inputs */
button,
input {
	border-radius: 0; /* iOSでの角丸をリセット */
	-webkit-appearance: none; /* iOSなどで適用される独自のUIパーツの見た目をリセット */
	-moz-appearance: none;
	appearance: none;
	background-color: transparent; /* 背景色をリセット */
	border: none; /* 枠線をリセット */
	padding: 0; /* パディングをリセット */
	margin: 0; /* マージンをリセット */
	color: inherit; /* 文字色を継承 */
}

/* Add some basic styling for buttons for usability */
button {
	cursor: pointer; /* カーソルをポインターに */
	display: inline-block; /* インラインブロック要素に */
	text-align: center; /* テキストを中央揃えに */
}

/* Make sure textareas without a rows attribute are not tiny */
textarea:not([rows]) {
	min-height: 10em;
}

ul,
ol {
	list-style: none;
	padding: 0;
	margin: 0;
}


/* ===============================================
 * リンク設定
 * =============================================== */
a { 
	color: #333;
	text-decoration: none;
}


/* ===============================================
 * ユーティリティ（便利クラス）
 * =============================================== */

/* clearfix */
.cf::before, .cf::after { content: ""; display: table; }
.cf::after { clear: both; }

/* SP/PC表示切り替え */
.for-sp {
	display: none;
}
.for-pc {
	display: block;
}

@media only screen and (max-width: 768px) { 
	.for-sp {
		display: block;
	}
	.for-pc {
		display: none;
	}
}


/* ===============================================
 * アクセシビリティ対応
 * =============================================== */

/* OSやブラウザで「動きを減らす」設定を有効にしているユーザー向けに、アニメーションやスムーズスクロールを無効化します */
@media (prefers-reduced-motion: reduce) {
	html {
	scroll-behavior: auto;
	}
	
	*,
	*::before,
	*::after {
	animation-duration: 0.01ms !important;
	animation-iteration-count: 1 !important;
	transition-duration: 0.01ms !important;
	scroll-behavior: auto !important;
	}
}



/* ここからページスタイル */

.wrapper {
    max-width: 720px;
    width: 100%;
    margin: 0 auto;
    padding-bottom: 220px;
}

.header-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 26px 20px;
    max-width: 720px;
    margin: 0 auto;
}

.header-logo img {
    width: 298px;
    height: auto;
}

.header-btn img {
    width: 250px;
    height: auto;
}

.footer-logo img {
    margin: 0 auto;
}

.banner-btn-link,
.btn-link {
    display: block;
    width: 100%;
}

    
.footer-info-relative {
    position: relative;
    width: 100%;
    max-width: 720px;
    margin: 0 auto;
}

.footer-info-relative img {
    width: 100%;
    height: auto;
    display: block;
}

/* --- 電話番号リンクの基本設定 --- */
.tel-link-overlay {
    position: absolute;
    display: block;
    bottom: 41%;
    left: 31%;
    width: 36%;
    height: 9%;
    z-index: 999;

    pointer-events: none;
    cursor: default;
}

@media (max-width: 430px) {
    a.tel-link-overlay[href^="tel:"] {
        pointer-events: auto !important;
        cursor: pointer !important;
    }
}


  




/* フッター固定ボタン */
.fixed-cv-btn {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    max-width: 720px;
    width: 100%;
    z-index: 999;
    display: none;
}

.fixed-cv-btn img {
    width: 100%;
    height: auto;
    display: block;
}

/* --- Safari (iOS) だけに適用する「隙間対策」 --- */
@supports (-webkit-touch-callout: none) {
    .fixed-cv-btn {
        /* Safariの時だけ背景色を塗り、セーフエリアを確保 */
        background-color: #FB7025; 
        padding-bottom: env(safe-area-inset-bottom);
    }

    .fixed-cv-btn::after {
        content: "";
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        height: 100px;
        background-color: inherit;
        display: block;
    }
}


@media (max-width:430px) {
    .wrapper {
        padding-bottom: 120px;
    }
    .header-wrap {
        padding: 10px 15px;
    }
    .header-logo img {
        width: 149px;
        height: auto;
    }

    .header-btn img {
        width: 125px;
        height: auto;
    }
    .footer-logo img {
        width: 164px;
        height: auto;
    }
}