@charset "utf-8";
/* ===================================================
	Base CSS
====================================================== */
@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,600;1,600&family=Zen+Old+Mincho:wght@400;600;900&display=swap');

.en_font {
  font-family: "Libre Baskerville", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
}

:root {
	--color-01: #aa003c;
	--color-02: #faebe6;
	--color-03: #d2a59b;
	--color-04: #f0dcd7;
	--break: 1920;
}
@media(min-width: 768px) and (max-width: 1599px) {
    :root {
		--break: 1599;
    }
}
@media(min-width: 768px) and (max-width: 1299px) {
    :root {
		--break: 1299;
    }
}
@media(max-width:767px) {
        :root {
		--break: 750;
    }
}

body {
	min-height: 100vh; background: #fff; color: #000;
	font-size: clamp(1rem,1.45vw,1.125rem); line-height: 1.5;
	font-family: "Zen Old Mincho", serif;
	font-weight: 600;
	font-style: normal;
	-webkit-text-size-adjust: 100%; position: relative;
	font-feature-settings: "palt"; letter-spacing: 0.08em;
}

header,
nav,
footer,
section,
h1,
h2,
h3,
h4,
h5,
div,
p,
ul,
ol,
li,
dl,
dt,
dd,
span,
em,
strong,
img,
a { box-sizing: border-box; }
a { color: #000; text-decoration: none; transition: opacity 0.5s ease; }

#lineup-font-size-sampler { bottom: 0; left: 0;}
iframe[name="google_conversion_frame"] { position: absolute; bottom: 0; left: 0;}

.ofi { object-fit: cover;}
.v_rl{ writing-mode: vertical-rl; font-feature-settings: "palt" 0;}
.sp, .tab { display: none;}
.inner { width: 1536px; max-width: 100%; margin: 0 auto; }
.inner_lg { width: 1300px; max-width: 90%; margin: 0 auto; }

@media screen and (hover: hover) and (min-width: 769px) {
	a:hover { opacity: 0.7; }
}
@media screen and (min-width: 769px) {
	.tel-link { pointer-events: none; }
}
@media screen and (max-width: 960px) {
	.tab { display: block;}
}
@media screen and (max-width: 768px) {
	.sp { display: block;}
	.pc { display: none !important;}
	.inner_lg { max-width: 86%; }
}


/* ---------------------------------------------------
	Base Layout
------------------------------------------------------ */
#fixed_btn {
	position: fixed;
	z-index: 100;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}
#fixed_btn a {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: clamp(20px,4vw,60px) 12px 15px;
	background-color: #faebe6;
	border-bottom-left-radius: 1rem;
	transition: background-color 0.5s, color 0.5s;
	transition: box-shadow 0.3s, transform 0.4s, background-color 0.4s, color 0.4s;
	box-shadow: 2px 2px 6px rgba(0,0,0,0.3);
}
#fixed_btn a span {
	white-space: nowrap;
}
#fixed_btn a span:nth-of-type(1) {
	position: absolute;
	top: 0;
	left: 50%;
	width: clamp(50px,8vw,85px);
	height: clamp(50px,8vw,85px);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	background-color: #aa003c;
    color: #fff;
	transform: translate(-50%, -50px);
	transition: background-color 0.5s, color 0.5s;
	font-size: 110%;
	line-height: 1.35;
}
#fixed_btn a+a {
	margin-top: 75px;
}
@media screen and (hover: hover) and (min-width: 769px) {
	#fixed_btn a:hover {
		opacity: 1;
		background-color: #aa003c;
		color: #fff;
		box-shadow: none;
	}
	#fixed_btn a:hover span:nth-of-type(1) {
		background-color: #faebe6;
		color: #000;
	}
}
@media screen and (max-width: 768px) {
	#fixed_btn a {
		font-size: 75%;
        padding: 20px 8px 15px;
        border-bottom-left-radius: 0.5rem;
	}
	#fixed_btn a span:nth-of-type(1) {
		font-size: 90%;
		transform: translate(-50%, -75%);
	}
}

.cmn_tit {
	font-size: 280%;
	font-weight: 700;
	text-align: center;
}
.cmn_tit span {
	font-size: 120%;
	color: var(--color-01);
}
.cmn_bg {
	background-color: var(--color-02);
}
.cmn_line {
	position: relative;
	border: 1.5px solid var(--color-03);
}
.cmn_line::before {
	content: '';
	position: absolute;
	z-index: -1;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	border: 2.5px dotted var(--color-03);
	width: calc(100% - 16px);
	height: calc(100% + 16px);
}
@media screen and (max-width: 768px) {
	.cmn_tit {
		font-size: min(5vw, 2rem);
	}
}


/* ---------------------------------------------------
	Main img
------------------------------------------------------ */
#main_img {
	position: relative;
	width: 100%;
	margin: 0 auto;
	background: #f5f5f5;
}
.slick {
	line-height: 0;
}
.slick .ofi {
	width: 100%;
}
.slick_main .item {
	position: relative;
}
.slick_main .logo {
	position: absolute;
	top: 2.5vw;
	left: 2.6vw;
	z-index: 1;
	width: 15.3vw;
}
@media screen and (max-width: 768px) {
	.slick_main .logo {
		top: 4%;
		left: 5%;
	}
}


/* ---------------------------------------------------
	#sec_lead
------------------------------------------------------ */
#sec_lead {
	padding: min(7.8vw,100px) 0;
}
#sec_lead ul {
	display: flex;
	align-items: flex-start;
	gap: 0 5px;
	margin-top: 40px;
}
#sec_lead li {
	width: 100%;
	border-radius: 1rem;
	background-color: var(--color-02);
	overflow: hidden;
	text-align: center;
}
#sec_lead li:nth-child(even) {
	margin-top: 30px;
}
#sec_lead li p {
	padding: 1rem 0.5rem;
}
#sec_lead .sub {
	padding: 40px 0 50px;
	font-size: 250%;
	font-weight: 700;
	text-align: center;
}
#sec_lead .sub span {
	font-size: 115%;
	color: var(--color-01);
	letter-spacing: 0;
}
#sec_lead .about {
	text-align: center;
	padding: min(4vw,50px) 7% min(4.5vw,60px);
	line-height: 1.8;
	background: url(../../img/lead_ill01.svg)no-repeat center left 7%/min(11.7%,150px),
	url(../../img/lead_ill02.svg)no-repeat center right 7%/min(10%,130px);
}
#sec_lead .about dt {
	font-size: 180%;
	font-weight: 700;
}
#sec_lead .about dt span {
	font-size: 120%;
	color: var(--color-01);
}
#sec_lead .about dd {
	margin-top: 0.5rem;
}
@media screen and (max-width: 960px) {
	#sec_lead {
		padding-bottom: 50px;
	}
	#sec_lead ul {
		flex-wrap: wrap;
		gap: 0 0.5rem;
		padding: 0 5%;
	}
	#sec_lead li {
		width: calc(50% - 0.5rem);
	}
	#sec_lead li:nth-child(even) {
		margin-top: 1rem;
	}
	#sec_lead .sub {
		font-size: min(5vw, 2rem);
	}
	#sec_lead .about {
		padding: 5vw 0 6vw;
		background-size: 11vw, 10vw;
	}
	#sec_lead .about dt {
		font-size: min(4.6vw, 1.8rem);
	}
	#sec_lead .about dd {
		width: 50vw;
		margin: 0 auto;
		text-align: left;
	}
}
@media screen and (max-width: 375px) {
	#sec_lead .about {
		background: none;
	}
	#sec_lead .about dd {
		width: 100%;
		padding: 0 8vw;
	}
}


/* ---------------------------------------------------
	#sec_merit
------------------------------------------------------ */
#sec_merit {
	padding: clamp(50px,7vw,90px) 0;
}
#sec_merit .cmn_tit {
	letter-spacing: 0;
}
#sec_merit .cmn_tit span {
	border-bottom: 4px dotted #fff;
	padding: 0.5rem 0;
}
#sec_merit .merit dt {
	position: relative;
	padding: clamp(50px,7vw,90px) 0 0;
	font-size: 200%;
	font-weight: 700;
	text-align: center;
}
#sec_merit .merit dt::before {
	content: '';
	display: block;
	width: 11em;
	max-width: 100%;
	height: clamp(35px,5vw,80px);
	margin: 0 auto -0.75rem;
	background: url(../../img/merit_txt.svg)no-repeat left/contain;
}
#sec_merit .merit dd {
	margin-top: 1.5rem;
}
#sec_merit .merit ol {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	list-style: none;
}
#sec_merit .merit li {
	position: relative;
	width: calc(50% - 0.75rem);
}
#sec_merit .merit .en_font {
	position: absolute;
	top: 0.5rem;
	left: 0;
	font-size: 260%;
	font-style: italic;
	color: var(--color-01);
}
#sec_merit .merit .cap {
	position: absolute;
	width: 100%;
	bottom: 0;
	left: 0;
	z-index: 1;
	padding: 1rem 1.5rem;
	font-size: 150%;
	font-weight: 700;
	color: #fff;
}
#sec_merit .merit .cap .sm {
	font-size: 70%;
}
@media screen and (max-width: 960px) {
	#sec_merit .cmn_tit span {
		display: inline-block;
		padding: 0.25rem 0;
	}
	#sec_merit .merit ol {
		flex-direction: column;
		align-items: center;
	}
	#sec_merit .merit li {
		width: min(96%, 600px);
	}
	#sec_merit .merit .en_font {
		font-size: min(6.5vw, 2rem);
	}
	#sec_merit .merit .cap {
		padding: 1rem;
		font-size: min(4vw,1.2rem);
	}
}

#airflow {
	margin-top: min(7vw,90px);
	padding: min(6.25vw,80px) 7%;
	background-color: #fff;
}
#airflow::before {
	z-index: 1;
	background-color: #fff;
}
#airflow::after {
	content: '';
	position: absolute;
	top: -1px;
	left: 0;
	z-index: 2;
	display: block;
	width: 100%;
	height: 100%;
	border-top: 1.5px solid var(--color-03);
	border-bottom: 1.5px solid var(--color-03);
}
#airflow>* {
	position: relative;
	z-index: 3;
}
#airflow .tit {
	font-size: 175%;
	font-weight: 700;
	text-align: center;
}
#airflow .tit span {
	font-size: 120%;
	color: var(--color-01);
}
#airflow .tit+p {
	margin-top: 1rem;
	line-height: 1.8;
	text-align: center;
}
#airflow>ul {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	margin-top: 40px;
}
#airflow>ul .item {
	border-radius: 1.5rem;
	display: flex;
	width: calc(50% - 0.75rem);
	background-color: var(--color-02);
	overflow: hidden;
	text-align: center;
}
#airflow>ul .item>p {
	width: 50%;
}
#airflow>ul .item>p:nth-of-type(1) {
	align-self: center;
	padding: 0 1.5rem;
}
#airflow>ul .item>p img {
	height: 100%;
}
#airflow .caution {
	text-align: center;
}
#airflow .caution dt {
	margin: 40px 0 20px;
	font-size: 180%;
	font-weight: 700;
}
#airflow .caution dd {
	line-height: 1.8;
}
#airflow .caution ul {
	text-align: left;
}
#airflow .caution li {
	padding-left: 1rem;
	text-indent: -1rem;
}
#airflow .caution li::before {
	content: '●';
}
#airflow .caution .note {
	margin-top: 40px;
	padding: 2rem;
	background-color: var(--color-02);
}
#airflow .caution .note>span {
	font-size: 180%;
	font-weight: 700;
}
#airflow .caution .note p {
	margin-top: 0.5rem;
}
@media screen and (max-width: 960px) {
	#airflow .tit+p {
		text-align: left;
	}
}
@media screen and (max-width: 768px) {
	#airflow .tit {
		font-size: 138%;
	}
	#airflow>ul {
		flex-direction: column;
		align-items: center;
	}
	#airflow>ul .item {
		width: 100%;
		font-size: 80%;
	}
	#airflow .caution {
		text-align: left;
	}
	#airflow .caution dt {
		font-size: 138%;
	}
	#airflow .caution .note {
		padding: 30px 5% 40px;
	}
	#airflow .caution .note>span {
		font-size: 120%;
	}
	#airflow .caution .note .sp {
		display: inline-block;
	}
}
@media screen and (max-width: 600px) {
}


/* ---------------------------------------------------
	#sec_mainte
------------------------------------------------------ */
#sec_mainte {
	padding: clamp(50px,7vw,90px) 0;
}
#sec_mainte .cmn_tit {
	letter-spacing: 0;
}
#sec_mainte ol {
	position: relative;
	margin-top: 40px;
	list-style: none;
	border-radius: 1.5rem;
	overflow: hidden;
}
#sec_mainte ol::before {
	position: absolute;
	top: 0;
	left: 50%;
	z-index: -1;
	content: '';
	display: block;
	width: 2px;
	height: 100%;
	background-color: var(--color-03);
}
#sec_mainte ol li {
	background-color: var(--color-02);
}
#sec_mainte ol li:nth-of-type(2n) {
	background-color: var(--color-04);
}
#sec_mainte ol li+li {
	margin-top: 1rem;
}
#sec_mainte .item {
	position: relative;
	display: flex;
	justify-content: center;
	padding: 40px 5%;
}
#sec_mainte .item .icon {
	position: absolute;
	top: 50%;
	left: 1rem;
	transform: translateY(-50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	width: clamp(100px,13.2vw,170px);
	height: clamp(100px,13.2vw,170px);
	background-color: #fff;
	line-height: 1.3;
}
#sec_mainte .item .icon img {
	width: min(6.6vw,85px);
}
#sec_mainte .item .en_font {
	font-size: 280%;
	font-style: italic;
	color: var(--color-01);
}
#sec_mainte .item .ill {
	position: absolute;
	top: 50%;
	right: 4%;
	transform: translateY(-50%);
	width: 22%;
	text-align: center;
}
#sec_mainte .item:nth-of-type(4) .ill {
	right: 2%;
}
#sec_mainte .item:nth-of-type(5) .ill {
	right: 3%;
}
#sec_mainte .item:nth-of-type(7) .ill {
	right: 6%;
}
#sec_mainte .item dl {
	width: 52.4%;
	margin: 0 auto;
}
#sec_mainte .item dl+dl {
	border-top: 2.5px dotted var(--color-03);
	padding-top: 0.75rem;
}
#sec_mainte .item dt {
	font-size: 150%;
	font-weight: 700;
	text-align: center;
}
#sec_mainte .item dd {
	padding: 0.75rem 0;
	line-height: 1.8;
}
@media screen and (min-width: 961px) {
	#sec_mainte .item {
		min-height: 200px;
	}
	#sec_mainte .item:nth-of-type(8) {
		min-height: 220px;
	}
}
@media screen and (max-width: 960px) {
	#sec_mainte .item {
		flex-direction: column;
		padding: 20px 8%;
	}
	#sec_mainte .item .icon,
	#sec_mainte .item .ill {
		position: static;
	}
	#sec_mainte .item .icon {
		width: min(24vw, 100px);
        height: min(24vw, 100px);
		transform: none;
		margin: 0 auto 1.5rem;
	}
	#sec_mainte .item .icon img {
		width: min(15vw, 45px);
	}
	#sec_mainte .item .en_font {
		font-size: min(6.5vw, 2rem);
	}
	#sec_mainte .item dl {
		width: 100%;
	}
	#sec_mainte .item dt {
		font-size: 120%;
	}
	#sec_mainte .item .ill {
		width: 36%;
		transform: none;
		margin: 0 auto;
	}
}
@media screen and (max-width: 768px) {
	#sec_mainte .item .ill {
		width: auto;
	}
	#sec_mainte .item:nth-of-type(1) .ill img {
		width: 112px;
	}
	#sec_mainte .item:nth-of-type(2) .ill img {
		width: 84px;
	}
	#sec_mainte .item:nth-of-type(3) .ill img {
		width: 144px;
	}
	#sec_mainte .item:nth-of-type(4) .ill img,
	#sec_mainte .item:nth-of-type(6) .ill img {
		width: 120px;
	}
	#sec_mainte .item:nth-of-type(5) .ill img {
		width: 96px;
	}
	#sec_mainte .item:nth-of-type(7) .ill img {
		width: 152px;
	}
	#sec_mainte .item:nth-of-type(8) .ill img {
		width: 110px;
	}
}


/* ---------------------------------------------------
	#sec_price
------------------------------------------------------ */
#sec_price {
	padding: clamp(50px,7vw,90px) 0 clamp(55px,7.8vw,100px);
	text-align: center;
}
#sec_price .cmn_tit {
	text-align: center;
}
#sec_price .cmn_tit+p {
	margin-top: 1.5rem;
	line-height: 1.8;
}


/* ---------------------------------------------------
	#sec_appeal
------------------------------------------------------ */
#sec_appeal {
	padding: clamp(50px,7vw,90px) 0 clamp(55px,7.8vw,100px);
}
#sec_appeal ul {
	display: flex;
	gap: 0 3.8%;
	margin-top: 40px;
}
#sec_appeal li {
	position: relative;
	width: 100%;
}
#sec_appeal li span {
	position: absolute;
	bottom: 3rem;
	left: 0;
	width: 100%;
	font-size: 150%;
	color: #fff;
	text-align: center;
	letter-spacing: 0;
}
#sec_appeal ul+p {
	line-height: 1.8;
	margin-top: 3rem;
	text-align: center;
}
@media screen and (max-width: 768px) {
	#sec_appeal .cmn_tit {
		line-height: 1.8;
	}
	#sec_appeal ul {
		flex-wrap: wrap;
		justify-content: center;
		gap: 0 1rem;
	}
	#sec_appeal li {
		width: calc(50% - 1rem);
	}
	#sec_appeal li span {
		bottom: 2rem;
        font-size: 100%;
	}
	#sec_appeal ul+p {
		margin-top: 1.5rem;
		text-align: left;
	}
}


/* ---------------------------------------------------
	#sec_faq
------------------------------------------------------ */
#sec_faq {
	padding: clamp(50px,7vw,90px) 0;
}
#sec_faq dl div {
	display: flex;
	background-color: #fff;
	line-height: 1.8;
}
#sec_faq dl div+div {
	margin-top: 2rem;
}
#sec_faq dt {
	position: relative;
	flex-shrink: 0;
	align-content: center;
	width: 38%;
	padding: 1.5rem 1.5rem 1.5rem 7vw;
}
#sec_faq dd {
	position: relative;
    padding: 2rem 2rem 2rem min(6.5vw, 90px);
}
#sec_faq dt::before,
#sec_faq dd::before {
	content: '';
	position: absolute;
	top: -1rem;
	left: -1.75rem;
	display: block;
	width: min(6.2vw,80px);
	height: min(6.2vw,80px);
}
#sec_faq dt::before {
	background: url(../../img/faq_q.svg)no-repeat center/contain;
}
#sec_faq dd::before {
	background: url(../../img/faq_a.svg)no-repeat center/contain;
}
#sec_faq dd a {
	display: block;
	margin-top: 1.5rem;
	border-radius: 0.5rem;
	padding: 10px 15px;
	background-color: var(--color-01);
	color: #fff;
	text-align: center;
	box-shadow: 2px 2px 6px rgba(0,0,0,0.3);
	transition: background-color 0.4s, color 0.4s, box-shadow 0.3s;
}

@media screen and (hover: hover) and (min-width: 769px) {
	#sec_faq dd a:hover {
		background-color: #fff;
		color: var(--color-01);
		box-shadow: none;
	}
}
@media screen and (max-width: 768px) {
	#sec_faq dl div {
		flex-direction: column;
		gap: 1rem 0;
		padding: 30px 10% 30px 4%;
	}
	#sec_faq dt,
	#sec_faq dd {
		display: flex;
		align-items: flex-start;
        gap: 0 1em;
		padding: 0;
	}
	#sec_faq dt::before,
	#sec_faq dd::before {
		flex-shrink: 0;
		position: static;
		width: clamp(25px, 4.5vw, 50px);
        height: clamp(25px, 4.5vw, 50px);
	}
	#sec_faq dt {
		width: 100%;
	}
}


/* ---------------------------------------------------
	Footer
------------------------------------------------------ */
#footer .tit {
	display: flex;
    justify-content: space-between;
	align-items: center;
	gap: 0 3%;
	border-bottom: 2.5px dotted var(--color-03);
	padding: min(9vw, 120px) 5% clamp(30px,6.2vw, 80px);
	line-height: 1.8;
}
#footer h2 {
	width: clamp(200px,28vw,450px);
}
#ft_izui {
	padding-top: clamp(30px,6.2vw, 80px);
}
#ft_akari {
	padding: clamp(30px,6.2vw, 80px) 0;
}
[id^="ft_"] .inner_lg {
	display: flex;
	justify-content: space-between;
	gap: 0 3%;
}
[id^="ft_"] .box_1 .name+p {
	margin-top: 1.25rem;
}
[id^="ft_"] .box_1 ul {
	display: flex;
	gap: 0 10px;
	margin-top: 2rem;
}
[id^="ft_"] .box_1 li {
	width: 100%;
}
[id^="ft_"] .box_1 li a {
	align-content: center;
	display: block;
	height: 100%;
	border-radius: 0.5rem;
	padding: 1.75rem 0.25rem;
    line-height: 1.5;
	text-align: center;
	box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.25);
	font-size: 90%;
	transition: box-shadow 0.3s, transform 0.4s, background-color 0.4s;
}
[id^="ft_"] .box_1 li a span {
	display: block;
	font-size: 175%;
	font-weight: 700;
}
[id^="ft_"] .box_1 .tel-link {
	background-color: #fffadc;
}
[id^="ft_"] .box_1 .web {
	background-color: #fac300;
}
[id^="ft_"] .box_1 .address {
	padding: 1rem 0;
    text-align: center;
}
[id^="ft_"] .box_2 {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	border-radius: 0 1.5rem 1.5rem 0;
	overflow: hidden;
}
#ft_akari .box_2 {
	border-radius: 1.5rem 0 0 1.5rem;
}
[id^="ft_"] .box_2 ul {
	position: absolute;
	top: 1.5rem;
	left: 1.5rem;
	z-index: 1;
}
[id^="ft_"] .box_2 li {
	display: flex;
	justify-content: center;
	align-items: center;
	width: min(9vw,110px);
	height: min(9vw,110px);
	border-radius: 50%;
	background-color: #fff;
	line-height: 1;
	text-align: center;
}
[id^="ft_"] .box_2 li+li {
	margin-top: 0.75rem;
}
[id^="ft_"] .box_2 li .sm {
	font-size: 80%;
}
[id^="ft_"] .box_2 li .lg {
	font-size: 180%;
	position: relative;
    bottom: -0.25rem;
}
[id^="ft_"] .box_2>div {
	width: calc(50% - 5px);
}
[id^="ft_"] .box_2>div:nth-of-type(1) {
	width: 100%;
}
[id^="ft_"] .box_2 .ofi {
	width: 100%;
	height: 100%;
}

.map_wrap {
	position: relative;
    z-index: 1;
	margin: min(4vw, 40px) auto 0;
}
.map_wrap .btn {
	position: absolute;
	z-index: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	width: calc(250 / var(--break) * 100vw);
	height: calc(50 / var(--break) * 100vw);
	padding-left: 0.75rem;
    font-size: 110%;
    left: 1.5rem;
    top: 1.5rem;
	color: #1a2d3c;
    background: url(../../img/icn_map.svg) no-repeat left calc(20 / var(--break) * 100vw) center / calc(13 / var(--break) * 100vw) auto, #fbc500;
    border: 2px solid #fff;
}
.map_wrap .btn::after {
	content: "";
    width: calc(12 / var(--break) * 100vw);
    height: calc(12 / var(--break) * 100vw);
    background: #1a2d3c;
    clip-path: polygon(0 100%, 100% 100%, 100% 0);
    margin: auto;
    position: absolute;
    bottom: calc(8 / var(--break) * 100vw);
    right: calc(8 / var(--break) * 100vw);
}
.google_map {
	position: relative;
    width: 100%;
	height: 300px;
    overflow: hidden;
}
.google_map iframe {
	width: 100%;
	margin-top: calc(-150 / var(--break) * 100vw);
    height: calc(100% + calc(150 / var(--break) * 100vw));
}

#footer table {
	width: 100%;
	/* font-weight: 600; */
	text-align: center;
}
#footer table .sm {
	font-size: 80%;
}
#footer table th,
#footer table td {
	padding: 30px 5px;
	vertical-align: middle;
}
#footer thead {
	border-bottom: 1.5px solid var(--color-03)
}
#footer tbody th,
#footer tbody td {
	border-bottom: 1.5px solid var(--color-03);
}
#footer thead th:last-child,
#footer tbody td:last-child {
    width: 18%;
    padding-right: 6%;
}
#footer tbody th {
	width: 22%;
}
#footer table+p {
	margin-top: 1.5rem;
	font-size: 110%;
}
#footer table+p .sm {
	margin-right: 2rem;
	font-size: 80%;
}
#footer .hours {
	border-top: 2.5px dotted var(--color-03);
}
#footer .hours+p {
	margin-top: 3rem;
}
#footer .note {
	align-content: center;
	flex: 1;
	position: relative;
	margin: 1.5rem 0;
	padding: 1.5rem;
	text-align: center;
}
#footer .note p+p {
	margin-top: 1.5rem;
}
#copy {
	padding: clamp(35px,3.8vw,55px) 0;
	text-align: center;
}

@media screen and (hover: hover) and (min-width: 769px) {
	[id^="ft_"] .box_1 .web:hover {
		opacity: 1;
		background-color: #fff;
		box-shadow: none;
	}
}
@media screen and (min-width: 961px) {
	#ft_izui .box_2 {
		margin-left: -6%;
	}
	#ft_akari .box_2 {
		margin-right: -6%;
	}
}
@media screen and (min-width: 769px) {
	[id^="ft_"] .box_1 {
		line-height: 1.8;
	}
	[id^="ft_"] .box_1 .tel-link {
		box-shadow: none;
	}
	[id^="ft_"] .box_2 {
		flex-shrink: 0;
		width: min(57%, 550px);
	}
	#ft_izui .inner_lg {
		flex-direction: row-reverse;
	}
}
@media screen and (max-width: 768px) {
	#footer .tit {
		flex-direction: column;
		gap: 1.5rem;
		padding: 50px 0 40px;
	}
	[id^="ft_"] .inner_lg {
		flex-direction: column-reverse;
		gap: 30px 0;
	}
	[id^="ft_"] .name {
		width: min(100%,360px);
	}
	[id^="ft_"] .box_1 ul {
		flex-direction: column;
		gap: 15px;
	}
	[id^="ft_"] .box_1 li a span {
		font-size: 135%;
	}
	[id^="ft_"] .box_2 {
		gap: 5px;
		border-radius: 1.5rem;
	}
	[id^="ft_"] .box_2>div {
		width: calc(50% - 2.5px);
	}
	[id^="ft_"] .box_2 ul {
		top: 0.5rem;
		left: 0.5rem;
	}
	[id^="ft_"] .box_2 li {
		width: min(18vw,90px);
		height: min(18vw,90px);
		font-size: min(3vw, 1rem);
	}
	[id^="ft_"] .box_2 li+li {
		margin-top: 0.25rem;
	}
	.map_wrap .btn {
		left: 10px;
		top: 10px;
		width: calc(330 / var(--break) * 100vw);
		height: calc(75 / var(--break) * 100vw);
		font-size: 100%;
		background-size: 11px;
	}
	.google_map iframe {
		margin-top: calc(-200 / var(--break) * 100vw);
		height: calc(100% + calc(200 / var(--break) * 100vw));
	}
	#ft_akari .name {
		width: min(60vw,300px);
	}
	#footer table {
		font-size: min(3.2vw, 1rem);
	}
	#footer table th,
	#footer table td {
		padding: 20px 5px;
		text-align: left;
	}
	#footer thead th:last-child,
	#footer tbody td:last-child {
		width: 14%;
		padding-right: 5%;
	}
	#footer table+p {
		font-size: 100%;
	}
	#footer table+p span:not(.sm) {
		display: block;
	}
	#footer .hours {
		flex-direction: column;
	}
}