@charset "UTF-8";
/* ============================================
   AWAIRO トップ（new_top）
   家風: coding-rules/style_guide.md 準拠
   ・色は直値／クラスは最小限（構造の塊にだけ付け、要素セレクタで辿る）
   ・PCは幅を絶対値、SP（1079px以下）は相対値＋max-width
   ・立体影は filter:drop-shadow（共通ボタンは common.css）
   ・SPはファイル末尾に max-width:1079px で一括
============================================ */

/* 共通 *******************/
section {
	width: 100%;
	position: relative;
	z-index: 0;/*見出しの泡飾り（z-index:-1）を節の背景より上・中身より下に置くための重なり順の土台*/
}
/*画像は置いた箱の幅いっぱい（各箱側で幅を決める）*/
img {
	width: 100%;
	height: auto;
}




/* 共通ボタン *******************/
/*画像ボタン（橙・黄）と白ボタン：立体影。hoverで影を解除して沈む（ポケ4WD方式）*/
a.btn-1,
a.btn-2 {
	display: block;
}
a.btn-1 img,
a.btn-2 img {
	width: 100%;
	height: auto;
}
/*橙（洗車メニュー・料金を見る）*/
a.btn-1 {
	filter: drop-shadow(0px 3px 0px #c77f36);
}
/*黄（コーティングメニューを見る）*/
a.btn-2 {
	filter: drop-shadow(0px 3px 0px #7c7912);
}
a.btn-1:hover,
a.btn-2:hover {
	filter: drop-shadow(0px 0px 0px rgb(255 255 255 / 1)) brightness(1.1);
	transform: translate3d(0, 3px, 0);
	-webkit-transform: translate3d(0, 3px, 0);
	-ms-transform: translate3d(0, 3px, 0);
}



/*セクション見出し*/
h2.mds {
	font-size: 34px;
	font-weight: 500;
	color: #2258c3;
	line-height: 1.9;
	text-align: center;
	position: relative;
}
/*見出しの泡飾り（XDの bubble_pc：見出し上端の60px上・左右中央）。文字や直後のカードの後ろに敷く*/
section.junsui > h2.mds::before,
section.coating > h2.mds::before,
section.menu > h2.mds::before,
section.equipment > h2.mds::before,
section.shop > h2.mds::before,
section.faq > h2.mds::before {
	content: '';
	width: 598px;
	height: 200px;
	position: absolute;
	top: -60px;
	left: 50%;
	z-index: -1;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	background-image: url(../newimages/top/bubble_pc.png);
	background-position: center top;
	background-size: contain;
	background-repeat: no-repeat;
}
/*注記（※のぶら下げ）*/
ul.notes > li {
	padding-left: 16px;
	font-size: 16px;
	line-height: 24px;
	letter-spacing: 0.02em;
	text-indent: -16px;
}
ul.notes > li::before {
	content: '※';
}
/*波（セクションの継ぎ目）：画像の縦中央がセクション上端に来る*/
section.junsui::before,
section.coating::before,
section.menu::before,
section.equipment::before,
section.shop::before,
section.faq::before {
	content: '';
	width: 100%;
	min-height: 228px;/*1920px未満でも原寸の高さを保つ*/
	aspect-ratio: 1920 / 228;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	background-image: url(../newimages/top/wave_1_pc.png);
	background-position: center top;
	background-size: max(1920px, 100%) auto;/*1920px未満は原寸で中央固定（左右を切る）、1920px超は幅に合わせて拡大*/
	background-repeat: no-repeat;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	pointer-events: none;
}
/*コーティング・設備・FAQの3箇所はもう一方の波（XD照合済）*/
section.coating::before,
section.equipment::before,
section.faq::before {
	background-image: url(../newimages/top/wave_2_pc.png);
}
/*営・休バッジ（店舗情報・パートナー店舗）*/
section.shop dl > dt {
	width: 22px;
	height: 22px;
	margin-right: 5px;
	flex-shrink: 0;
	background-image: url(../newimages/top/shape_ei.png);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	font-size: 16px;
	color: transparent;
	line-height: 22px;
	text-align: center;
	overflow: hidden;
}
section.shop dl > dt:nth-of-type(2) {
	background-image: url(../newimages/top/shape_kyu.png);
}
section.shop dl > dd {
	font-size: 16px;
	color: #3e3e3e;
	line-height: 24px;
}




/* top_visual *******************/
section.top_visual {
	background-image: linear-gradient(to bottom, #025fd8 0%, #fff 77.8%, #fff 100%);
}
section.top_visual > div {
	width: 1140px;
	max-width: 100%;
	margin: 0 auto;
}
section.top_visual > div img {
	width: 100%;
	height: auto;
}




/* intro（大切な愛車を） *******************/
section.intro {
	padding: 80px 0 174px;
	background-image: url(../newimages/top/background_1_pc.png);
	background-position: center top;
	background-size: max(1920px, 100%) auto;
	background-repeat: no-repeat;
}
/*洗車メニュー・料金を見る*/
section.intro > a.btn-1 {
	width: 680px;
	margin: 0 auto;
}
section.intro > h2.mds {
	margin-top: 80px;
}
section.intro > p {
	width: 680px;
	margin: 80px auto 0;
	font-size: 20px;
	line-height: 2.3;
	text-align: center;
}
section.intro > div.photo {
	width: 960px;
	margin: 80px auto 0;
}
section.intro > div.photo img {
	width: 100%;
	height: auto;
}




/* junsui（純水洗車・MERIT） *******************/
section.junsui {
	padding: 174px 0;
	background-image: url(../newimages/top/background_2_pc.png);
	background-position: center top;
	background-size: max(1920px, 100%) auto;
	background-repeat: no-repeat;
}
section.junsui > h2.mds {
	font-size: 42px;
	line-height: 80px;
}
section.junsui > p {
	width: 680px;
	margin: 60px auto 0;
	font-size: 20px;
	line-height: 2.3;
	text-align: center;
}
/*動画枠*/
section.junsui > div.movie {
	width: 681px;
	margin: 60px auto 0;
	padding: 5px;
	background: #fff;
	position: relative;
}
section.junsui > div.movie video {
	width: 100%;
	height: auto;
	aspect-ratio: 671 / 376;
	display: block;
	object-fit: cover;
	background: #000;
}
/*MERIT*/
section.junsui > h3 {
	margin-top: 60px;
	font-size: 40px;
	font-weight: 700;
	color: #ff8000;
	line-height: 58px;
	text-align: center;
}
section.junsui > h3::after {
	content: '';
	width: 80px;
	height: 2px;
	margin: 20px auto 0;
	display: block;
	background: #ff8000;
	border-radius: 1px;
}
/*メリットカード*/
section.junsui > ul {
	width: 1060px;
	margin: 40px auto 0;
	display: flex;
	justify-content: space-between;
}
section.junsui > ul > li {
	width: 340px;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0px 0px 6px rgb(0 0 0 / .1);
	overflow: hidden;
}
section.junsui > ul > li > h4 {
	height: 49px;
	padding-left: 52px;
	display: flex;
	align-items: center;
	background-image: url(../newimages/top/texture_merit_pc.png);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	font-size: 20px;
	font-weight: 500;
	color: #fff;
	line-height: 29px;
	position: relative;
}
section.junsui > ul > li > h4::before {
	content: '';
	width: 22px;
	height: 22px;
	position: absolute;
	top: 50%;
	left: 20px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	background-image: url(../newimages/top/check.png);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}
section.junsui > ul > li > p {
	padding: 15px 20px;
	font-size: 18px;
	line-height: 28px;
}




/* coating（コーティング） *******************/
section.coating {
	padding: 174px 0;
	background-image: url(../newimages/top/background_3_pc.png);
	background-position: center top;
	background-size: max(1920px, 100%) auto;
	background-repeat: no-repeat;
}
/*青カード*/
section.coating > div.box {
	width: 960px;
	margin: 60px auto 0;
	border-radius: 16px;
	overflow: hidden;
}
section.coating div.box > div.photo img {
	display: block;
}
/*本文（テクスチャ地）：左に見出し・本文、右に写真＋手順、下にボタン・注記*/
section.coating div.box > div.txt {
	padding: 60px 40px;
	display: grid;
	grid-template-columns: 410px 410px;
	column-gap: 60px;
	background-image: url(../newimages/top/texture_coating_pc.png);
	background-position: center top;
	background-size: cover;
	background-repeat: no-repeat;
}
section.coating div.txt > h3 {
	grid-column: 1;
	grid-row: 1;
	font-size: 28px;
	font-weight: 500;
	color: #fff;
	line-height: 40px;
	text-align: center;
}
section.coating div.txt > h3::after {
	content: '';
	width: 80px;
	height: 2px;
	margin: 20px auto 0;
	display: block;
	background: #fff;
	border-radius: 1px;
}
section.coating div.txt > p {
	grid-column: 1;
	grid-row: 2;
	margin-top: 40px;
	font-size: 20px;
	color: #fff;
	line-height: 2.3;
}
/*写真＋手順*/
section.coating div.txt > div.step {
	grid-column: 2;
	grid-row: 1 / 3;
	margin-top: 16px;
	align-self: start;
}
section.coating div.step img {
	display: block;
	border-radius: 16px 16px 0 0;
}
section.coating div.step > ol {
	padding: 30px 0;
	background: rgb(255 255 255 / .4);
	border-radius: 0 0 16px 16px;
}
section.coating div.step > ol > li {
	padding-left: 83px;
	font-size: 18px;
	font-weight: 500;
	color: #fff;
	line-height: 26px;
	position: relative;
}
section.coating div.step > ol > li:not(:last-of-type) {
	margin-bottom: 36px;
}
/*番号の丸*/
section.coating div.step > ol > li::before {
	content: '';
	width: 24px;
	height: 24px;
	position: absolute;
	top: 50%;
	left: 49px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	background-image: url(../newimages/top/1.png);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}
section.coating div.step > ol > li:nth-of-type(2)::before {
	background-image: url(../newimages/top/2.png);
}
section.coating div.step > ol > li:nth-of-type(3)::before {
	background-image: url(../newimages/top/3.png);
}
/*行間の↓（行の下端基準に置き、文が折り返しても位置がずれない）*/
section.coating div.step > ol > li:not(:last-of-type)::after {
	content: '↓';
	height: 26px;
	position: absolute;
	top: calc(100% + 5px);
	right: 0;
	left: 0;
	font-size: 18px;
	font-weight: 700;
	line-height: 26px;
	text-align: center;
}
/*コーティングメニューを見る*/
section.coating div.txt > a.btn-2 {
	grid-column: 1 / 3;
	grid-row: 3;
	width: 680px;
	margin: 60px auto 0;
}
section.coating div.txt > ul.notes {
	grid-column: 1 / 3;
	grid-row: 4;
	width: 680px;
	margin: 10px auto 0;
	color: #fff;
}




/* menu（洗車メニューと料金） *******************/
section.menu {
	padding: 174px 0;
	background-image: url(../newimages/top/background_2_pc.png);
	background-position: center top;
	background-size: max(1920px, 100%) auto;
	background-repeat: no-repeat;
}
section.menu > p {
	width: 680px;
	margin: 60px auto 0;
	font-size: 20px;
	line-height: 2.3;
	text-align: center;
}
/*白カード*/
section.menu > div.list {
	width: 960px;
	margin: 60px auto 0;
	padding: 60px 140px 40px;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0px 0px 6px rgb(0 0 0 / .1);
}
section.menu div.list > h3 {
	font-size: 40px;
	font-weight: 500;
	color: #2258c3;
	line-height: 58px;
	text-align: center;
}
section.menu div.list > h3::after {
	content: '';
	width: 80px;
	height: 2px;
	margin: 20px auto 0;
	display: block;
	background: #2258c3;
	border-radius: 1px;
}
/*メニュー6品（アーティクル：divが挟まる）*/
section.menu div.list > div ul {
	margin-top: 40px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
section.menu div.list > div li {
	width: 295px;
	margin-bottom: 30px;
}
section.menu div.list > div li:nth-last-of-type(-n+2) {
	margin-bottom: 0;
}
section.menu div.list > div li > h4 {
	height: 34px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #5094d6;
	border-radius: 17px;
	font-size: 18px;
	font-weight: 500;
	color: #fff;
	line-height: 26px;
}
/*品名が長い2品は小さく*/
section.menu div.list > div li:nth-of-type(5) > h4,
section.menu div.list > div li:nth-of-type(6) > h4 {
	font-size: 16px;
}
section.menu div.list > div li > p {
	margin-top: 5px;
	font-size: 14px;
	line-height: 20px;
}
/*価格（数字は大きく）*/
section.menu div.list > div li > p.price {
	height: 72px;
	margin-top: 0;
	display: flex;
	align-items: baseline;
	justify-content: center;
	font-size: 36px;
	color: #5094d6;
	line-height: 72px;
}
section.menu div.list > div li > p.price b {
	font-size: 50px;
	font-weight: 600;
}
section.menu div.list > ul.notes {
	margin-top: 20px;
}
/*相談枠（テクスチャ地）：吹き出しは枠の上端に重ねる*/
section.menu > div.consult {
	width: 960px;
	margin: 88px auto 0;
	padding: 57px 140px 60px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	background-image: url(../newimages/top/texture_menu_pc.png);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	border-radius: 16px;
	position: relative;
}
section.menu div.consult > div.photo {
	width: 275px;
}
section.menu div.consult > div.photo img {
	display: block;
	border-radius: 16px;
}
section.menu div.consult > p {
	width: 375px;
	margin-top: 3px;
	font-size: 16px;
	color: #fff;
	line-height: 30px;
}
section.menu div.consult > a.btn-2 {
	width: 680px;
	margin: 43px auto 0;
}
/*吹き出し*/
section.menu div.consult > p.balloon {
	width: 296px;
	height: 43px;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: -28px;
	left: 50%;
	z-index: 2;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	background: #fff;
	border: 1px solid #2258c3;
	border-radius: 21.5px;
	font-size: 19px;
	font-weight: 500;
	color: #2258c3;
	line-height: 27px;
}
section.menu div.consult > p.balloon::before {
	content: "";
    position: absolute;
    right: 0;
    bottom: -13px;
    left: 0;
    width: 0px;
    height: 0px;
    margin: auto;
    border-style: solid;
    border-color: #2258c3 transparent transparent transparent;/*色*/
    border-width: 13px 9px 0 9px;/*サイズ*/
}
section.menu div.consult > p.balloon::after {
	content: "";
    position: absolute;
    right: 0;
    bottom: -11px;
    left: 0;
    width: 0px;
    height: 0px;
    margin: auto;
    border-style: solid;
    border-color: #fff transparent transparent transparent;/*色*/
    border-width: 12px 8px 0 8px;/*サイズ*/
}




/* equipment（設備） *******************/
section.equipment {
	padding: 174px 0 80px;
	background-image: url(../newimages/top/background_3_pc.png);
	background-position: center top;
	background-size: max(1920px, 100%) auto;
	background-repeat: no-repeat;
}
/*4カード：左列・右列（右列は170px下げ）*/
section.equipment > ul {
	width: 960px;
	margin: 60px auto 0;
}
section.equipment > ul::after {
	content: '';
	display: block;
	clear: both;
}
section.equipment > ul > li {
	width: 455px;
	margin-bottom: 60px;
	position: relative;
}
section.equipment > ul > li:nth-of-type(odd) {
	float: left;
}
section.equipment > ul > li:nth-of-type(even) {
	float: right;
}
section.equipment > ul > li:nth-of-type(2) {
	margin-top: 170px;
}
section.equipment > ul > li:last-of-type {
	margin-bottom: 0;
}
/*写真（箱に重ねる）*/
section.equipment li > div.photo {
	width: 410px;
	position: absolute;
	top: 0;
	z-index: 1;
}
section.equipment li:nth-of-type(odd) > div.photo {
	left: 0;
}
section.equipment li:nth-of-type(even) > div.photo {
	right: 0;
}
section.equipment li > div.photo img {
	display: block;
	border-radius: 16px;
}
/*文字の箱（テクスチャ地）：写真と反対側の余白で、文字を列（455px）の中央に揃える*/
section.equipment li > div.txt {
	width: 410px;
	margin-top: 90px;
	padding: 107px 45px 20px 0;
	background-image: url(../newimages/top/texture_equipment_pc.png);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	border-radius: 16px;
	box-shadow: 0px 0px 6px rgb(0 0 0 / .1);
	text-align: center;
}
section.equipment li:nth-of-type(odd) > div.txt {
	margin-left: 45px;
}
section.equipment li:nth-of-type(even) > div.txt {
	padding: 107px 0 20px 45px;
}
section.equipment li > div.txt > h3 {
	font-size: 16px;
	font-weight: 500;
	color: #2258c3;
	line-height: 24px;
}
section.equipment li > div.txt > p {
	margin-top: 15px;
	font-size: 16px;
	line-height: 24px;
}
section.equipment li > div.txt > p.num {
	font-size: 20px;
	line-height: 29px;
}
section.equipment li > div.txt > p.num::after {
	content: '';
	width: 60px;
	height: 1px;
	margin: 15px auto 0;
	display: block;
	background: #4a4a4a;
}
section.equipment li > div.txt > p.note {
	margin-top: 3px;
	font-size: 12px;
	line-height: 17px;
}




/* cv（相談帯） *******************/
section.cv {
	width: 960px;
	margin: 0 auto;
	padding: 60px 0 30px;
	background-image: url(../newimages/top/texture_cta_pc.png);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}
section.cv > div p.lead {
	font-size: 28px;
	font-weight: 500;
	color: #fff;
	line-height: 40px;
	letter-spacing: 0.03em;
	text-align: center;
}
section.cv > div p.catch {
	margin-top: 20px;
	font-size: 42px;
	font-weight: 500;
	color: #fff;
	line-height: 64px;
	text-align: center;
}
section.cv > div p.catch span {
	color: #fef728;
}
/*店舗情報はこちら（白）*/
section.cv > div a.shop_btn {
	width: 680px;
	height: 90px;
	margin: 60px auto 0;
	font-size: 34px;
	font-weight: 500;
	color: #4a4a4a;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #fff;
	border-radius: 12px;
	filter: drop-shadow(0px 3px 0px #808080);
}
section.cv > div a.shop_btn::after {
	content: '';
	display: inline-block;
	background-image: url(../newimages/common/sankaku_down.png);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	width: 26px;
	height: 20px;
	margin-left: 15px;
}
section.cv > div a.shop_btn:hover {
	filter: drop-shadow(0px 0px 0px rgb(255 255 255 / 1)) brightness(1.1);
	transform: translate3d(0, 3px, 0);
	-webkit-transform: translate3d(0, 3px, 0);
	-ms-transform: translate3d(0, 3px, 0);
}

/*コーティングメニューを見る*/
section.cv > div a.btn-2 {
	width: 680px;
	margin: 30px auto 0;
}
section.cv > div div.logo {
	width: 292px;
	margin: 30px auto 0;
}
section.cv > div div.logo img {
	width: 100%;
	height: auto;
}




/* flow（ご利用の流れ） *******************/
section.flow {
	padding: 80px 0 175px;
}
section.flow > ol {
	width: 680px;
	margin: 60px auto 0;
}
section.flow > ol > li {
	min-height: 140px;
	margin-bottom: 30px;
	padding: 0 175px 20px 0;
	border-bottom: 1px solid #2258c3;
	position: relative;
}
section.flow > ol > li:last-of-type {
	min-height: 120px;
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: 0;
}
/*区切り線の中央の▼*/
section.flow > ol > li::after {
	content: "";
    position: absolute;
    right: 0;
	bottom: -6px;
    left: 0;
    width: 0px;
    height: 0px;
    margin: auto;
    border-style: solid;
    border-color: #2258c3 transparent transparent transparent;/*色*/
    border-width: 6px 4px 0 4px;/*サイズ*/
}
section.flow > ol > li:last-of-type::after {
	display: none;
}
/*説明文*/
section.flow > ol > li > p {
	margin-top: 10px;
	font-size: 16px;
	line-height: 24px;
}
/*STEP1（STEPは小さく）*/
section.flow > ol > li > p.step {
	margin-top: 0;
	font-size: 20px;
	color: #2258c3;
	line-height: 29px;
}
section.flow > ol > li > p.step span {
	font-size: 13px;
	line-height: 1;
}
section.flow > ol > li > h3 {
	margin-top: 5px;
	clear: none;/*シェルの default.css が見出しに clear:both を当てるため（SPで写真をfloatさせる）*/
	font-size: 20px;
	font-weight: 500;
	color: #4a4a4a;
	line-height: 29px;
}
section.flow > ol > li > div.photo {
	width: 160px;
	position: absolute;
	top: 0;
	right: 0;
}
section.flow > ol > li > div.photo img {
	display: block;
}




/* shop（店舗情報・パートナー店舗） *******************/
section.shop {
	padding: 174px 0 258px;
	background-image: url(../newimages/top/background_2_pc.png);
	background-position: center top;
	background-size: max(1920px, 100%) auto;
	background-repeat: no-repeat;
}
/*店舗カード（カード内の文字は字間なし＝設計値）*/
section.shop > div.info {
	width: 680px;
	margin: 60px auto 0;
}
section.shop div.info > h3 {
	height: 46px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #5094d6;
	font-size: 20px;
	font-weight: 500;
	color: #fff;
	line-height: 29px;
}
/*中身（PCは写真と地図を横並び）*/
section.shop div.info > div {
	padding: 30px;
	display: flex;
	flex-wrap: wrap;
	flex-direction: row-reverse;
	justify-content: space-between;
	background: #fff;
	border: 1px solid #5094d6;
}
/*Googleマップ*/
section.shop div.info div.gmap {
	width: 288px;
	height: 177px;
}
section.shop div.info div.gmap iframe {
	width: 100%;
	height: 100%;
	display: block;
	border: 0;
}
section.shop div.info div.photo {
	width: 288px;
	margin-bottom: 16px;
}
section.shop div.info div.photo img {
	display: block;
}
section.shop div.info p {
	width: 100%;
	margin-top: 4px;
	font-size: 16px;
	color: #3e3e3e;
	line-height: 24px;
}
section.shop div.info dl {
	width: 100%;
	margin-top: 15px;
	display: flex;
	align-items: center;
}
section.shop div.info dl > dd:nth-of-type(1) {
	margin-right: 10px;
}
/*ピル型ボタン（お問い合わせはこちら・TEL）：hoverで明るく（ポケ各種お問い合わせ方式）*/
section.shop a.btn-4,
section.shop a.tel {
	width: 288px;
	height: 48px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border: 1px solid #5094d6;
	border-radius: 24px;
	box-shadow: 0px 3px 6px rgb(0 0 0 / .16);
}
section.shop a.btn-4:hover,
section.shop a.tel:hover {
	filter: brightness(1.15);
	box-shadow: 0px 0px 0px rgb(0 0 0 / .16);
}
section.shop a.btn-4 {
	border-color: #acc0c4;
	font-size: 18px;
	font-weight: 500;
	color: #4a4a4a;
	line-height: 26px;
	position: relative;
}
section.shop a.btn-4::after {
	content: '';
	width: 11px;
	height: 14px;
	position: absolute;
	top: 50%;
	right: 25px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	background-image: url(../newimages/top/sankaku_right.png);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}
section.shop a.tel {
	font-size: 20px;
	font-weight: 900;
	color: #5094d6;
	line-height: 29px;
}
section.shop a.tel::before {
	content: '';
	width: 24px;
	height: 24px;
	margin-right: 8px;
	background-image: url(../newimages/top/icon_tel.png);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}
/*お問い合わせはこちら*/
section.shop div.info a.btn-4 {
	margin-top: 30px;
}
section.shop > ul.notes {
	width: 680px;
	margin: 10px auto 0;
}
section.shop > ul.notes > li {
	padding-left: 12px;
	font-size: 12px;
	line-height: 20px;
	text-indent: -12px;
}
/*パートナー店舗*/
section.shop > h3 {
	margin-top: 13px;
	font-size: 28px;
	font-weight: 500;
	color: #2258c3;
	line-height: 40px;
	text-align: center;
}
section.shop > h3::after {
	content: '';
	width: 80px;
	height: 2px;
	margin: 20px auto 0;
	display: block;
	background: #2258c3;
	border-radius: 1px;
}
/*3店舗（アーティクル：divが挟まる）*/
section.shop > div > ul {
	width: 1060px;
	margin: 40px auto 0;
	display: flex;
	justify-content: space-between;
}
section.shop > div > ul > li {
	width: 320px;
	background: #fff;
	border: 1px solid #5094d6;
}
/*店名の帯（枠線の色と同じ帯なので、枠線の内側に置いてよい）*/
section.shop li > h4 {
	height: 45px;
	padding-left: 15px;
	display: flex;
	align-items: center;
	background: #5094d6;
	font-size: 20px;
	font-weight: 500;
	color: #fff;
	line-height: 29px;
}
section.shop li > div {
	padding: 14px 16px 20px;
}
section.shop li div.photo img {
	display: block;
}
section.shop li > div > p {
	margin-top: 6px;
	font-size: 16px;
	color: #3e3e3e;
	line-height: 24px;
}
/*Google口コミ評価*/
section.shop li > div > p.review {
	margin-top: 4px;
	color: #fc6361;
}
/*Googleマップを開く*/
section.shop li a.map {
	width: fit-content;
	margin-top: 4px;
	display: block;
	font-size: 16px;
	color: #1a4fb3;
	line-height: 24px;
	text-decoration: underline;
}
section.shop li a.map:hover {
	opacity: 0.8;
}
section.shop li dl {
	margin-top: 15px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
section.shop li dl > dd {
	width: calc(100% - 27px);
}
section.shop li dl > dt:nth-of-type(2),
section.shop li dl > dd:nth-of-type(2) {
	margin-top: 4px;
}
/*TEL*/
section.shop li a.tel {
	margin-top: 20px;
}




/* faq（よくあるご質問） *******************/
section.faq {
	padding: 174px 0 80px;
}
section.faq > ul {
	width: 680px;
	margin: 60px auto 0;
}
section.faq > ul > li {
	margin-bottom: 15px;
}
section.faq > ul > li:last-of-type {
	margin-bottom: 0;
}
/*質問（開閉ボタン）*/
section.faq li > div.q {
	padding: 12px 60px 12px 70px;
	background: #5094d6;
	border: 1px solid #ced1d9;
	border-radius: 4px;
	font-size: 16px;
	font-weight: 500;
	color: #fff;
	line-height: 24px;
	letter-spacing: 0.03em;
	position: relative;
	cursor: pointer;
}
section.faq li > div.q::before {
	content: '';
	width: 20px;
	height: 20px;
	position: absolute;
	top: 15px;
	left: 30px;
	background-image: url(../newimages/top/Q..png);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}
section.faq li > div.q::after {
	content: '';
	width: 16px;
	height: 10px;
	position: absolute;
	top: 50%;
	right: 30px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	background-image: url(../newimages/top/arrow_down.png);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}
/*開いているとき*/
section.faq li > div.q.is-open {
	border-radius: 4px 4px 0 0;
}
section.faq li > div.q.is-open::after {
	background-image: url(../newimages/top/arrow_up.png);
}
/*回答*/
section.faq li > div.a {
	display: none;
	padding: 15px 60px 13px 70px;
	background: #f9fafb;
	border: 1px solid #ced1d9;
	border-top: 0;
	border-radius: 0 0 4px 4px;
	font-size: 14px;
	font-weight: 500;
	color: #6b7280;
	line-height: 22.4px;
	letter-spacing: 0.03em;
	position: relative;
}
section.faq li > div.a::before {
	content: '';
	width: 17px;
	height: 13px;
	position: absolute;
	top: 20px;
	left: 30px;
	background-image: url(../newimages/top/a.png);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}
section.faq li > div.q.is-open + div.a {
	display: block;
}



/*■■■■■■■■■■■■■■ sp ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
@media screen and (max-width: 1079px) {
*{}
/*■■■■■■■■■■■■■■ sp ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

/* 共通 *******************/
/*文字サイズは375px基準で、狭い端末では改行位置を保つため vw で追従*/
h2.mds {
	font-size: min(5.9vw, 22px);
	line-height: 1.6;
}
/*見出しの泡飾り（XDの bubble_sp：見出し上端の40px上・左右中央。幅は375px基準の相対値で300px幅でもはみ出さない）*/
section.junsui > h2.mds::before,
section.coating > h2.mds::before,
section.menu > h2.mds::before,
section.equipment > h2.mds::before,
section.shop > h2.mds::before,
section.faq > h2.mds::before {
	width: 82%;
	max-width: 305px;
	height: auto;
	aspect-ratio: 305 / 122;
	top: -40px;
	background-image: url(../newimages/top/bubble_sp.png);
}
/*波：1079px以下は幅に合わせて縮める（原寸固定はPCのみ）*/
section.junsui::before,
section.coating::before,
section.menu::before,
section.equipment::before,
section.shop::before,
section.faq::before {
	min-height: 0;
	background-size: 100% auto;
}
ul.notes > li {
	padding-left: 12px;
	font-size: 12px;
	line-height: 20px;
	text-indent: -12px;
}
/*波：タブレット（769〜1079px）はPC用の波（SP用は幅に比例して高くなり、前の節に食い込むため）。768px以下でSP用に切替*/








/* intro（大切な愛車を） *******************/
section.intro {
	padding: 40px 0 90px;
	background-image: url(../newimages/top/background_1_sp.png);
	background-size: 100% auto;
}
section.intro > a.btn-1 {
	width: 90%;
	max-width: 600px;
}
section.intro > h2.mds {
	margin-top: 40px;
}
section.intro > p {
	width: 80%;
	max-width: 600px;
	margin-top: 40px;
	font-size: min(4.5vw, 16px);
	line-height: 2;
}
section.intro > div.photo {
	width: 90%;
	max-width: 600px;
	margin-top: 40px;
}




/* junsui（純水洗車・MERIT） *******************/
section.junsui {
	padding: 100px 0 90px;
	background-image: url(../newimages/top/background_2_sp.png);
	background-size: 100% auto;
}
section.junsui > h2.mds {
	font-size: min(7.5vw, 28px);
	line-height: 2.3;
}
section.junsui > p {
	width: 80%;
	max-width: 600px;
	margin-top: 40px;
	font-size: min(4.27vw, 16px);
	line-height: 2;
}
section.junsui > div.movie {
	width: 90%;
	max-width: 600px;
	margin-top: 40px;
}
section.junsui > div.movie video {
	aspect-ratio: 325 / 180;
}
section.junsui > div.movie > p {
	font-size: min(7.4vw, 28px);
}
section.junsui > h3 {
	margin-top: 40px;
	font-size: 22px;
	line-height: 2;
}
section.junsui > h3::after {
	width: 50px;
	height: 1px;
	margin-top: 10px;
	border-radius: 0.5px;
}
section.junsui > ul {
	width: 90%;
	max-width: 600px;
	margin-top: 20px;
	display: block;
}
section.junsui > ul > li {
	width: 100%;
	margin-bottom: 30px;
}
section.junsui > ul > li:last-of-type {
	margin-bottom: 0;
}
section.junsui > ul > li > h4 {
	height: 36px;
	padding-left: 62px;
	background-image: url(../newimages/top/texture_merit_sp.png);
	font-size: 16px;
	line-height: 24px;
}
section.junsui > ul > li > h4::before {
	left: 30px;
}
section.junsui > ul > li > p {
	padding: 15px 30px;
	font-size: 14px;
	line-height: 24px;
}




/* coating（コーティング） *******************/
section.coating {
	padding: 100px 0 90px;
	background-image: url(../newimages/top/background_3_sp.png);
	background-size: 100% auto;
}
section.coating > div.box {
	width: 90%;
	max-width: 600px;
	margin-top: 40px;
}
section.coating div.box > div.txt {
	padding: 40px 30px;
	display: block;
	background-image: url(../newimages/top/texture_coating_sp.png);
}
section.coating div.txt > h3 {
	font-size: 18px;
	line-height: 26px;
}
section.coating div.txt > h3::after {
	width: 50px;
	height: 1px;
	border-radius: 0.5px;
}
section.coating div.txt > p {
	/* margin: 21px 0 0 5px; */
	margin: 20px auto 0;
	font-size: min(4.27vw, 16px);
	line-height: 2;
}
section.coating div.txt > div.step {
	margin-top: 40px;
}
section.coating div.step > ol {
	padding: 15px 0 16px;
}
section.coating div.step > ol > li {
	padding-left: 57px;
	font-size: 14px;
	line-height: 20px;
}
section.coating div.step > ol > li:not(:last-of-type) {
	margin-bottom: 21px;
}
section.coating div.step > ol > li::before {
	width: 20px;
	height: 20px;
	left: 29px;
}
section.coating div.step > ol > li:not(:last-of-type)::after {
	height: 21px;
	top: 100%;
	font-size: 14px;
	line-height: 21px;
}
section.coating div.txt > a.btn-2 {
	width: 100%;
	max-width: 440px;
	margin-top: 30px;
}
section.coating div.txt > ul.notes {
	width: 100%;
	margin-top: 10px;
}




/* menu（洗車メニューと料金） *******************/
section.menu {
	padding: 100px 0 90px;
	background-image: url(../newimages/top/background_2_sp.png);
	background-size: 100% auto;
}
section.menu > p {
	width: 80%;
	max-width: 600px;
	margin-top: 40px;
	font-size: min(4.27vw, 16px);
	line-height: 2;
}
/*白カード：左右の余白20は注記の幅に合わせ、品リストは内側でさらに10ずつ空ける*/
section.menu > div.list {
	width: 90%;
	max-width: 600px;
	margin-top: 40px;
	padding: 20px 20px 40px;
}
section.menu div.list > h3 {
	font-size: 22px;
	line-height: 2;
}
section.menu div.list > h3::after {
	width: 50px;
	height: 1px;
	margin-top: 10px;
	border-radius: 0.5px;
}
section.menu div.list > div ul {
	margin-top: 21px;
	padding: 0 10px;
	display: block;
}
section.menu div.list > div li {
	width: 100%;
	max-width: 400px;
	margin: 0 auto 10px;
}
section.menu div.list > div li:nth-last-of-type(2) {
	margin-bottom: 10px;
}
section.menu div.list > div li:last-of-type {
	margin-bottom: 0;
}
section.menu div.list > div li > h4 {
	font-size: 16px;
	line-height: 24px;
}
section.menu div.list > div li:nth-of-type(5) > h4,
section.menu div.list > div li:nth-of-type(6) > h4 {
	font-size: min(3.5vw, 14px);
}
section.menu div.list > div li > p {
	padding: 0 10px 0 20px;
	font-size: 12px;
}
section.menu div.list > div li > p.price {
	height: 61px;
	padding: 0;
	font-size: 30px;
	font-weight: 500;
	line-height: 61px;
}
section.menu div.list > div li > p.price b {
	font-size: 42px;
}
section.menu > div.consult {
	width: 90%;
	max-width: 600px;
	margin-top: 60px;
	padding: 40px 30px 30px;
	display: block;
	background-image: url(../newimages/top/texture_menu_sp.png);
}
section.menu div.consult > div.photo {
	width: 100%;
	max-width: 275px;
	margin: 0 auto;
}
section.menu div.consult > p {
	width: 100%;
	margin-top: 20px;
	font-size: 14px;
	line-height: 28px;
}
section.menu div.consult > a.btn-2 {
	width: 100%;
	max-width: 440px;
	margin-top: 20px;
}
section.menu div.consult > p.balloon {
	width: 82%;
	max-width: 275px;
	height: 40px;
	margin: 0;
	top: -20px;
	border-radius: 20px;
	font-size: 16px;
	line-height: 24px;
}
section.menu div.consult > p.balloon::before {
	bottom: -12px;
	border-top-width: 12px;
	border-right-width: 8px;
	border-left-width: 8px;
}
section.menu div.consult > p.balloon::after {
	bottom: -10px;
	border-top-width: 10px;
	border-right-width: 7px;
	border-left-width: 7px;
}




/* equipment（設備） *******************/
section.equipment {
	padding: 100px 0 60px;
	background-image: url(../newimages/top/background_3_sp.png);
	background-size: 100% auto;
}
section.equipment > ul {
	width: 100%;
	margin-top: 40px;
}
section.equipment > ul > li {
	width: 100%;
	max-width: 600px;
	margin: 0 auto 40px;
	padding-top: 50px;/*写真上端→箱上端*/
}
section.equipment > ul > li:nth-of-type(odd),
section.equipment > ul > li:nth-of-type(even) {
	float: none;
}
section.equipment > ul > li:nth-of-type(2) {
	margin-top: 0;
}
section.equipment > ul > li:last-of-type {
	margin-bottom: 0;
}
/*写真：奇数は左寄せ（右角丸）、偶数は右寄せ（左角丸）*/
section.equipment li > div.photo {
	width: 90%;
}
section.equipment li:nth-of-type(odd) > div.photo img {
	border-radius: 0 16px 16px 0;
}
section.equipment li:nth-of-type(even) > div.photo img {
	border-radius: 16px 0 0 16px;
}
/*文字の箱：写真の下端＋10pxから文字が始まるよう、上余白を写真高さに追従させる。文字は画面幅の中央*/
section.equipment li > div.txt {
	width: 90%;
	margin-top: 0;
	padding: calc(39.86% - 40px) 11% 20px 0;
	background-image: url(../newimages/top/texture_equipment_sp.png);
	border-radius: 0 0 0 16px;
}
section.equipment li:nth-of-type(odd) > div.txt {
	margin-left: 10%;
}
section.equipment li:nth-of-type(even) > div.txt {
	padding: calc(39.86% - 40px) 0 20px 11%;
	border-radius: 0 0 16px 0;
}
section.equipment li > div.txt > h3 {
	font-size: 14px;
	line-height: 20px;
}
section.equipment li > div.txt > p {
	margin-top: 10px;
	font-size: 14px;
	line-height: 20px;
}
section.equipment li > div.txt > p.num {
	font-size: 18px;
	line-height: 26px;
}
section.equipment li > div.txt > p.num::after {
	width: 50px;
	margin-top: 10px;
}
section.equipment li > div.txt > p.note {
	margin-top: 5px;
	font-size: 10px;
	line-height: 15px;
}




/* cv（相談帯） *******************/
section.cv {
	width: 100%;
	padding: 30px 0 20px;
	background-image: url(../newimages/top/texture_cta_sp.png);
}
section.cv > div p.lead {
	font-size: 16px;
	line-height: 24px;
}
section.cv > div p.catch {
	margin-top: 5px;
	font-size: min(6.4vw, 24px);
	line-height: 36px;
}
/*店舗情報はこちら（白）*/
section.cv > div a.shop_btn {
	width: 90%;
	height: min(17vw,90px);
	max-width: 600px;
	margin-top: 25px;
	font-size: min(5vw,34px);
	border-radius: 8px;
}
section.cv > div a.shop_btn::after {
	width: 14px;
	height: 11px;
	margin-left: 8px;
	vertical-align: middle;
}

section.cv > div a.btn-2 {
	width: 90%;
	max-width: 600px;
	margin-top: 23px;
}
section.cv > div div.logo {
	width: 49%;
	max-width: 292px;
	margin-top: 18px;
}




/* flow（ご利用の流れ） *******************/
section.flow {
	padding: 40px 0 90px;
}
section.flow > ol {
	width: 80%;
	max-width: 600px;
	margin-top: 40px;
}
section.flow > ol > li {
	min-height: 152px;
	margin-bottom: 17px;
	padding: 0 0 15px;
}
section.flow > ol > li:last-of-type {
	min-height: 0;
}
section.flow > ol > li > p {
	margin-top: 34px;
	clear: both;
	font-size: 14px;
	line-height: 22.4px;
}
section.flow > ol > li > p.step {
	margin-top: 0;
	clear: none;
	font-size: 20px;
	line-height: 29px;
}
section.flow > ol > li > h3 {
	margin-top: 8px;
	font-size: 16px;
	line-height: 24px;
}
section.flow > ol > li > div.photo {
	width: 33%;
	max-width: 160px;
	margin: 0 0 20px 15px;
	float: right;
	position: static;
}




/* shop（店舗情報・パートナー店舗） *******************/
section.shop {
	padding: 100px 0 120px;
	background-image: url(../newimages/top/background_2_sp.png);
	background-size: 100% auto;
}
section.shop > h3 {
	margin-top: 40px;
	font-size: 18px;
	line-height: 26px;
}
section.shop > h3::after {
	width: 50px;
	height: 1px;
	border-radius: 0.5px;
}




/* faq（よくあるご質問） *******************/
section.faq {
	padding: 100px 0 60px;
}
section.faq > ul {
	width: 95%;
	max-width: 600px;
	margin-top: 40px;
}
section.faq li > div.q {
	padding: 14px 36px 14px 40px;
	font-size: 14px;
	line-height: 21px;
}
section.faq li > div.q::before {
	top: 15px;
	left: 15px;
}
section.faq li > div.q::after {
	right: 15px;
}
section.faq li > div.a {
	padding: 15px 36px 15px 40px;
}
section.faq li > div.a::before {
	left: 15px;
}

/* shop（店舗情報・パートナー店舗）：タブレット（769〜1079px）はPC寄せ。3店舗は入りきらなければ折り返して中央に *******************/
section.shop > div > ul {
	width: 96%;
	max-width: 1060px;
	flex-wrap: wrap;
	justify-content: center;
}
section.shop > div > ul > li {
	margin: 0 10px 30px;
}



/*■■■■■■■■■■■■■■ sp ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
}
/*■■■■■■■■■■■■■■ sp ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/


/*■■■■■■■■■■■■■■ 768px以下（第二のブレイクポイント） ■■■■■■■■■■■■■■■■■■■*/
@media screen and (max-width: 768px) {
*{}
/*■■■■■■■■■■■■■■ sp ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
/*ファーストビューと店舗情報エリアは 1079px 切替では大きすぎる／小さすぎるため、ここで切り替える（コバック section.lowprice.cv の 749px と同じ考え方）*/

/* 共通 *******************/
/*波（SP用の画像に切替）。幅に比例して高くなりすぎないよう160pxで止め、波の下側を見せる*//*→2026-09-09：縦横比を保つため上限160pxは撤廃。高さは幅比例（375:120）。食い込みは下の「波まわりの余白」で受ける*/
section.junsui::before,
section.coating::before,
section.menu::before,
section.equipment::before,
section.shop::before,
section.faq::before {
/*	max-height: 160px;　変更前（2026-09-09）：幅500px超で画像（幅比例）が上限160pxを超え、上の泡が欠けた。比を保つため上限を外し、高さは画像の比（375:120）に従わせる */
	aspect-ratio: 375 / 120;
	background-image: url(../newimages/top/wave_1_sp.png);
	background-position: center top;
}
section.coating::before,
section.equipment::before,
section.faq::before {
	background-image: url(../newimages/top/wave_2_sp.png);
}




/* top_visual *******************/
section.top_visual {
	background-image: none;
}
section.top_visual > div {
	width: 100%;
}




/* shop（店舗情報・パートナー店舗） *******************/
section.shop {
	padding-bottom: 90px;
}
section.shop > div.info {
	width: 86%;
	max-width: 600px;
	margin-top: 40px;
}
section.shop div.info > h3 {
	padding-left: 15px;
	justify-content: flex-start;
}
/*中身：地図は枠いっぱい、その下は左右16pxの内側に*/
section.shop div.info > div {
	padding: 0 0 20px;
	display: block;
}
section.shop div.info div.gmap {
	width: 100%;
	height: auto;
	aspect-ratio: 320 / 200;
}
/*写真は1倍素材のため実寸（288px）まで。中央に置く*/
section.shop div.info div.photo {
	width: auto;
	max-width: 288px;
	margin: 14px auto 6px;
}
section.shop div.info p {
	width: auto;
	margin: 4px 16px 0;
}
section.shop div.info dl {
	width: auto;
	margin: 15px 16px 0;
	flex-wrap: wrap;
}
section.shop div.info dl > dd {
	width: calc(100% - 27px);
}
section.shop div.info dl > dd:nth-of-type(1) {
	margin-right: 0;
}
section.shop div.info dl > dt:nth-of-type(2),
section.shop div.info dl > dd:nth-of-type(2) {
	margin-top: 4px;
}
section.shop a.btn-4,
section.shop a.tel {
	width: 100%;
	max-width: 288px;
}
section.shop div.info a.btn-4 {
	width: calc(100% - 32px);
	margin-top: 20px;
}
section.shop > ul.notes {
	width: 86%;
	max-width: 600px;
}
/*3店舗は縦積み*/
section.shop > div > ul {
	width: 86%;
	max-width: 600px;
	margin-top: 20px;
	display: block;
}
section.shop > div > ul > li {
	width: 100%;
	margin: 0 0 30px;
}
section.shop > div > ul > li:last-of-type {
	margin-bottom: 0;
}
section.shop li div.photo {
	max-width: 288px;
	margin: 0 auto;
}




/* 共通：波まわりの余白 *******************/
/*波は幅に比例して育つ（375pxで120px→768pxで245px）ので、前後の余白も同じ比で育てる。16vw＝波の半分（375pxで60px）。375pxでは従来値（上100・下90）と同じ（2026-09-09 追加）*/
section.junsui,
section.coating,
section.menu,
section.equipment,
section.shop,
section.faq {
	padding-top: calc(16vw + 40px);
}
/*波の手前の節（下余白）*/
section.intro,
section.junsui,
section.coating,
section.menu,
section.flow,
section.shop {
	padding-bottom: calc(16vw + 30px);
}




/*■■■■■■■■■■■■■■ sp ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
}
/*■■■■■■■■■■■■■■ sp ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/