@charset "utf-8";
/**
 * HANIRO LINE — 메인 페이지 전용 (design 시안)
 */
@import url("/haniro_css/haniro_vars.css");

/* reset / base */
body.haniro.haniro-main {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: var(--haniro-text);
	background: var(--haniro-white);
}

body.haniro.haniro-main a {
	text-decoration: none;
}

body.haniro.haniro-main .haniroGnb__dropList > li > a:hover,
body.haniro.haniro-main .haniroGnb__dropList > li > a:focus-visible {
	text-decoration: underline;
}

body.haniro.haniro-main img {
	max-width: 100%;
	vertical-align: middle;
}

.haniroMain__wrap {
	min-width: var(--haniro-layout-width);
}

/* header */
.haniroHeader {
	position: relative;
	z-index: 100;
	anchor-name: --haniro-header;
	background: var(--haniro-white);
	border-bottom: 2px solid var(--haniro-color-navy);
	overflow: visible;
}

.haniroHeader__inner,
.haniroMain__inner,
.haniroFooter__inner {
	width: var(--haniro-layout-width);
	margin: 0 auto;
	box-sizing: border-box;
}

.haniroHeader__inner {
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-rows: auto auto;
	padding: 10px 20px 0;
	column-gap: 40px;
}

.haniroHeader__left {
	display: contents;
}

.haniroHeader__right {
	grid-column: 2;
	grid-row: 1 / span 2;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 5px;
	align-self: start;
}

.haniroHeader__util {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 4px 20px;
	line-height: normal;
}

body.haniro .haniroHeader .haniroHeader__utilLink,
body.haniro .haniroHeader .haniroHeader__user,
body.haniro .haniroHeader .haniroHeader__login,
body.haniro .haniroHeader .haniroHeader__logout {
	line-height: 1.4;
	letter-spacing: -0.05em;
	flex-shrink: 0;
}

.haniroHeader__account {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
	white-space: nowrap;
}

.haniroHeader__shortcut {
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	gap: calc(var(--haniro-shortcut-menu-gap) - var(--haniro-shortcut-pad-x) * 2);
	margin-right: -10px;
}

.haniroHeader__shortcutItem {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 5px;
	box-sizing: border-box;
	width: var(--haniro-shortcut-item-width);
	min-width: var(--haniro-shortcut-item-width);
	padding: var(--haniro-shortcut-pad-y) var(--haniro-shortcut-pad-x);
	border-radius: 8px;
	background: transparent;
	color: var(--haniro-color-navy);
	text-align: center;
	text-decoration: none;
}

.haniroHeader__logo {
	grid-column: 1;
	grid-row: 1;
	align-self: start;
	padding-top: 10px;
}

.haniroHeader__logo a {
	display: block;
	line-height: 0;
}

.haniroHeader__logo img {
	display: block;
	width: auto;
	height: 52px;
}

.haniroGnb {
	grid-column: 1;
	grid-row: 2;
	align-self: end;
	padding: 10px 0 18px;
}

body.haniro .haniroHeader__shortcutItem,
body.haniro .haniroHeader__shortcutItem:link,
body.haniro .haniroHeader__shortcutItem:visited,
body.haniro .haniroHeader__shortcutItem:active {
	color: var(--haniro-color-navy);
	text-decoration: none;
	cursor: pointer;
}

body.haniro .haniroHeader__shortcutItem:hover,
body.haniro .haniroHeader__shortcutItem:focus-visible {
	color: var(--haniro-color-navy);
	background: var(--haniro-color-bg3);
	text-decoration: none;
}

body.haniro .haniroHeader__shortcutItem.is-active,
body.haniro .haniroHeader__shortcutItem.is-active:link,
body.haniro .haniroHeader__shortcutItem.is-active:visited,
body.haniro .haniroHeader__shortcutItem.is-active:active {
	color: var(--haniro-color-blue);
}

body.haniro .haniroHeader__shortcutItem.is-active .haniroHeader__shortcutLabel {
	color: var(--haniro-color-blue);
}

body.haniro .haniroHeader__shortcutItem.is-active:hover,
body.haniro .haniroHeader__shortcutItem.is-active:focus-visible {
	color: var(--haniro-color-blue);
	background: var(--haniro-color-bg3);
}

body.haniro .haniroHeader__utilLink,
body.haniro .haniroHeader__utilLink:link,
body.haniro .haniroHeader__utilLink:visited,
body.haniro .haniroHeader__utilLink:active {
	font-size: 12px;
	font-weight: var(--haniro-fw-medium);
	line-height: 1.4;
	letter-spacing: -0.05em;
	color: var(--haniro-color-gray2);
	text-decoration: none;
}

body.haniro .haniroHeader__utilLink:hover,
body.haniro .haniroHeader__utilLink:focus-visible {
	color: var(--haniro-color-blue);
}

.haniroHeader__utilDivider {
	display: inline-block;
	flex-shrink: 0;
	width: 1px;
	height: 12px;
	background: var(--haniro-color-gray4);
}

.haniroHeader__user {
	font-size: 12px;
	font-weight: var(--haniro-fw-bold);
	line-height: 1.4;
	letter-spacing: -0.05em;
	color: var(--haniro-color-black1);
}

body.haniro .haniroHeader .haniroHeader__login,
body.haniro .haniroHeader .haniroHeader__login:link,
body.haniro .haniroHeader .haniroHeader__login:visited,
body.haniro .haniroHeader .haniroHeader__login:active {
	display: inline-block;
	box-sizing: border-box;
	border: 1px solid var(--haniro-color-gray4);
	border-radius: 4px;
	font-size: 11px;
	font-weight: var(--haniro-fw-regular);
	color: var(--haniro-color-black1);
	background: var(--haniro-white);
	line-height: 1.4;
	text-decoration: none;
	padding: 4px 10px;
}

body.haniro .haniroHeader .haniroHeader__login:hover {
	border-color: var(--haniro-color-navy);
	color: var(--haniro-color-navy);
	background: var(--haniro-color-bg3);
}

body.haniro .haniroHeader .haniroHeader__logout,
body.haniro .haniroHeader .haniroHeader__logout:link,
body.haniro .haniroHeader .haniroHeader__logout:visited,
body.haniro .haniroHeader .haniroHeader__logout:active {
	display: inline-block;
	box-sizing: border-box;
	border: 1px solid var(--haniro-color-gray4);
	border-radius: 4px;
	font-size: 11px;
	font-weight: var(--haniro-fw-regular);
	color: var(--haniro-color-black1);
	background: var(--haniro-white);
	line-height: 1.4;
	text-decoration: none;
	padding: 4px 10px;
	cursor: pointer;
}

body.haniro .haniroHeader .haniroHeader__logout:hover {
	border-color: var(--haniro-color-navy);
	color: var(--haniro-color-navy);
	background: var(--haniro-color-bg3);
}

.haniroHeader__shortcutIcon {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	line-height: 0;
}

.haniroHeader__shortcutIcon img {
	display: block;
	width: 36px;
	height: 36px;
}

.haniroHeader__noticeBadge {
	position: absolute;
	top: 0;
	right: 0;
	box-sizing: border-box;
	width: var(--haniro-notice-badge-size);
	height: var(--haniro-notice-badge-size);
	border-radius: 50%;
	background: var(--haniro-color-red);
	color: var(--haniro-color-white);
	font-size: 9px;
	font-weight: var(--haniro-fw-bold);
	line-height: var(--haniro-notice-badge-size);
	text-align: center;
	letter-spacing: -0.02em;
	pointer-events: none;
}

.haniroHeader__shortcutLabel {
	font-size: 13px;
	font-weight: var(--haniro-fw-medium);
	line-height: 1.3;
	color: var(--haniro-color-navy);
}

/* GNB */
.haniroGnb {
	border-top: none;
}

.haniroGnb__list {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 28px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.haniroGnb__list > li {
	list-style: none;
}

.haniroGnb__list > li.haniroGnb__item--hasChild {
	position: static;
}

/* GNB dropdown — 헤더 하단 라인(top), 각 1depth 좌측(left: anchor) */
.haniroGnb__drop {
	display: none;
	position: absolute;
	top: calc(100% + 1px);
	z-index: 200;
	width: fit-content;
	pointer-events: none;
}

.haniroGnb__list > li.haniroGnb__item--hasChild:hover .haniroGnb__drop,
.haniroGnb__list > li.haniroGnb__item--hasChild:focus-within .haniroGnb__drop {
	display: block;
}

/* anchor 미지원 브라우저 폴백 */
@supports not (left: anchor(left)) {
	.haniroGnb__list > li.haniroGnb__item--hasChild {
		position: relative;
	}

	.haniroGnb__drop {
		left: 0 !important;
		top: calc(100% + var(--haniro-gnb-drop-gap));
	}
}

body.haniro .haniroGnb__list > li > a,
body.haniro .haniroGnb__list > li > a:link,
body.haniro .haniroGnb__list > li > a:visited,
body.haniro .haniroGnb__list > li > a:active {
	position: relative;
	z-index: 210;
	display: inline-block;
	font-size: 16px;
	font-weight: var(--haniro-fw-bold);
	line-height: 1.4;
	color: var(--haniro-color-navy);
	text-decoration: none;
	cursor: pointer;
}

/* 1depth → 2depth 이동용 (부모 링크 너비만, 옆 메뉴 가리지 않음) */
body.haniro .haniroGnb__list > li.haniroGnb__item--hasChild > a.haniroGnb__parent::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	height: var(--haniro-gnb-drop-bridge);
}

body.haniro .haniroGnb__list > li > a:hover,
body.haniro .haniroGnb__list > li.haniroGnb__item--hasChild:hover > a,
body.haniro .haniroGnb__list > li.haniroGnb__item--hasChild:focus-within > a {
	color: var(--haniro-color-blue);
}

body.haniro .haniroGnb__list > li.is-active > a,
body.haniro .haniroGnb__list > li.is-active > a:link,
body.haniro .haniroGnb__list > li.is-active > a:visited,
body.haniro .haniroGnb__list > li.is-active > a:active {
	color: var(--haniro-color-blue);
}

.haniroGnb__dropList {
	display: flex;
	flex-direction: column;
	gap: 15px;
	position: relative;
	z-index: 1;
	width: fit-content;
	margin: 0;
	padding: 20px;
	list-style: none;
	background: var(--haniro-color-white);
	border: 1px solid var(--haniro-color-navy);
	border-radius: 0 0 15px 15px;
	box-shadow: var(--haniro-shadow-box);
	cursor: pointer;
	pointer-events: auto;
}

.haniroGnb__dropList > li {
	margin: 0;
	padding: 0;
	list-style: none;
	cursor: pointer;
}

body.haniro .haniroGnb__dropList > li > a,
body.haniro .haniroGnb__dropList > li > a:link,
body.haniro .haniroGnb__dropList > li > a:visited,
body.haniro .haniroGnb__dropList > li > a:active {
	display: block;
	font-size: 14px;
	font-weight: var(--haniro-fw-bold);
	line-height: 1.4;
	color: var(--haniro-color-navy);
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
}

body.haniro .haniroGnb__dropList > li > a:hover,
body.haniro .haniroGnb__dropList > li > a:focus-visible {
	color: var(--haniro-color-navy);
	text-decoration: underline;
	text-decoration-color: var(--haniro-color-navy);
	text-underline-offset: 4px;
	cursor: pointer;
}

body.haniro .haniroGnb__dropList > li.is-active > a,
body.haniro .haniroGnb__dropList > li.is-active > a:link,
body.haniro .haniroGnb__dropList > li.is-active > a:visited,
body.haniro .haniroGnb__dropList > li.is-active > a:active {
	color: var(--haniro-color-blue);
}

/* hero / main visual */
.haniroHero {
	position: relative;
	background-color: var(--haniro-color-yellow);
	background-image: url("/haniro_images/bg_mv_pc.png");
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;
	overflow: hidden;
}

.haniroHero__inner {
	position: relative;
	box-sizing: border-box;
	min-height: 560px;
	padding: 0 20px 150px;
}

.haniroHero__left {
	position: relative;
	z-index: 2;
	max-width: 720px;
}

.haniroHero__title {
	padding-top: 148px;
}

.haniroHero__title img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
}

.haniroHero__features {
	display: flex;
	flex-wrap: wrap;
	column-gap: 0;
	row-gap: 16px;
	margin: 100px 0 0;
	padding: 0;
	list-style: none;
}

.haniroHero__featureItem {
	flex: 0 0 auto;
	width: 140px;
	text-align: center;
}

.haniroHero__featureItem + .haniroHero__featureItem {
	margin-left: 35px;
}

.haniroHero__featureItem:nth-child(2) {
	margin-left: 80px;
}

.haniroHero__featureIcon {
	line-height: 0;
}

.haniroHero__featureIcon img {
	display: block;
	width: 140px;
	height: auto;
	margin: 0 auto;
}

.haniroHero__featureText {
	margin: 8px 0 0;
	font-size: 20px;
	font-weight: var(--haniro-fw-bold);
	line-height: 1.5;
	color: var(--haniro-color-black1);
}

.haniroHero__visual {
	position: absolute;
	top: 102px;
	right: 0;
	z-index: 1;
	line-height: 0;
}

.haniroHero__visual img {
	display: block;
	width: 465px;
	max-width: 100%;
	height: auto;
}

/* about — ハニロラインって？ */
.haniroAbout__wrap {
	min-width: var(--haniro-layout-width);
}

.haniroAbout__intro {
	position: relative;
	background-color: var(--haniro-color-bg1);
	overflow: hidden;
}

.haniroAbout__introInner {
	position: relative;
	z-index: 2;
	box-sizing: border-box;
	padding: 80px 20px 93px;
}

.haniroAbout__introContent {
	position: relative;
	z-index: 2;
	max-width: 640px;
}

.haniroAbout__introLogo {
	line-height: 0;
}

.haniroAbout__introLogo img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
}

.haniroAbout__introTitle {
	margin: 10px 0 0;
	font-size: 22px;
	font-weight: var(--haniro-fw-bold);
	line-height: 1.4;
	color: var(--haniro-color-black1);
}

.haniroAbout__introDesc {
	margin: 25px 0 0;
	font-size: 22px;
	font-weight: var(--haniro-fw-bold);
	line-height: 1.8;
	color: var(--haniro-color-black1);
}

.haniroAbout__introVisual {
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 1;
	line-height: 0;
	pointer-events: none;
}

.haniroAbout__introVisual img {
	display: block;
	width: 768px;
	max-width: 100%;
	height: auto;
}

/* about — section 2+ 공통 레이아웃 */
.haniroAbout__section {
	position: relative;
	background: var(--haniro-color-white);
}

.haniroAbout__sideLabel {
	position: absolute;
	top: 80px;
	left: -30px;
	margin: 0;
	color: #EBF0F5;
	transform-origin: left top;
	transform: rotate(90deg);
	font-family: "nimbus-sans", sans-serif;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
	pointer-events: none;
	z-index: 0;
}

.haniroAbout__sideLabelSub {
	font-size: 22px;
}

.haniroAbout__sectionInner {
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	padding: 110px 20px 160px;
}

.haniroAbout__section:has(+ .haniroAbout__section) .haniroAbout__sectionInner {
	padding-bottom: 80px;
}

.haniroAbout__section + .haniroAbout__section .haniroAbout__sectionInner {
	padding-top: 70px;
}

.haniroAbout__subTitle {
	display: flex;
	align-items: flex-end;
	gap: 0;
	margin: 0;
}

.haniroAbout__subTitleMain {
	font-size: 56px;
	font-weight: var(--haniro-fw-bold);
	line-height: 1;
	color: var(--haniro-color-black1);
}

.haniroAbout__subTitleSub {
	margin: 0 0 0 8px;
	font-size: 22px;
	font-weight: var(--haniro-fw-semibold);
	line-height: 1;
	color: var(--haniro-color-black1);
}

.haniroAbout__heading {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-top: 40px;
}

body.haniro .haniroAbout__headingNum {
	flex-shrink: 0;
	font-family: "Roboto", sans-serif !important;
	font-size: 140px;
	font-weight: 700 !important;
	font-style: normal;
	line-height: 1;
	letter-spacing: -0.02em;
	color: var(--haniro-color-yellow);
}

.haniroAbout__headingText {
	margin: 0;
	font-size: 36px;
	font-weight: var(--haniro-fw-semibold);
	line-height: 1.5;
	color: var(--haniro-color-black1);
}

.haniroAbout__lead {
	margin: 20px 0 0;
	font-size: 22px;
	font-weight: var(--haniro-fw-regular);
	line-height: 1.5;
	color: var(--haniro-color-black1);
}

.haniroAbout__sectionBlock {
	position: relative;
}

.haniroAbout__sectionContent {
	position: relative;
	z-index: 1;
	max-width: calc(100% - 470px);
}

.haniroAbout__sectionContent--sm {
	max-width: calc(100% - 390px);
}

.haniroAbout__sectionVisual {
	position: absolute;
	top: 60px;
	right: -20px;
	z-index: 0;
	line-height: 0;
	pointer-events: none;
}

.haniroAbout__sectionVisual img {
	display: block;
	width: 430px;
	height: auto;
}

.haniroAbout__sectionVisual--sm {
	top: 15px;
}

.haniroAbout__sectionVisual--sm img {
	width: 350px;
}

.haniroAbout__leadTime {
	margin-top: 60px;
}

.haniroAbout__leadTimeLabel,
.haniroAbout__tableLabel {
	display: inline-block;
	margin: 0;
	padding: 19px 47px;
	background: #009DE4;
	border-radius: 10px 10px 0 0;
	font-size: 18px;
	font-weight: var(--haniro-fw-bold);
	line-height: 1;
	text-align: center;
	color: var(--haniro-color-white);
}

.haniroAbout__tableBlock {
	margin-top: 60px;
}

.haniroAbout__tableBlock + .haniroAbout__tableBlock {
	margin-top: 50px;
}

.haniroAbout__leadTimeTable {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	table-layout: fixed;
}

.haniroAbout__leadTimeTable th,
.haniroAbout__leadTimeTable td {
	border: 1px solid var(--haniro-color-white);
	text-align: center;
	vertical-align: middle;
}

.haniroAbout__leadTimeTable th {
	padding: 35px 25px;
	background: var(--haniro-color-yellow);
	font-size: 18px;
	font-weight: var(--haniro-fw-bold);
	line-height: 1.4;
	color: var(--haniro-color-black1);
}

.haniroAbout__leadTimeTable td {
	padding: 35px 25px;
	background: var(--haniro-color-bg1);
	font-size: 24px;
	font-weight: var(--haniro-fw-bold);
	line-height: 1;
	color: var(--haniro-color-black1);
}

.haniroAbout__leadTimeDays {
	background: var(--haniro-color-yellow);
	font-size: 36px;
	font-weight: var(--haniro-fw-bold);
	line-height: 1;
}

.haniroAbout__leadTimeNote {
	margin: 16px 0 0;
	font-size: 16px;
	font-weight: var(--haniro-fw-regular);
	line-height: 1.6;
	color: var(--haniro-color-gray1);
}

.haniroAbout__compareTable,
.haniroAbout__memberTable {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	table-layout: fixed;
}

.haniroAbout__compareTable th,
.haniroAbout__compareTable td,
.haniroAbout__memberTable th,
.haniroAbout__memberTable td {
	border: 1px solid var(--haniro-color-white);
	text-align: center;
	vertical-align: middle;
}

.haniroAbout__compareTable th {
	padding: 35px 25px;
	background: var(--haniro-color-bg1);
	font-size: 18px;
	font-weight: var(--haniro-fw-bold);
	line-height: 1.4;
	color: var(--haniro-color-black1);
}

.haniroAbout__compareTable th:nth-child(2) {
	background: var(--haniro-color-navy);
	color: var(--haniro-color-white);
}

.haniroAbout__compareTable th:nth-child(3) {
	background: var(--haniro-color-yellow);
	color: var(--haniro-color-black1);
}

.haniroAbout__compareTable td {
	padding: 35px 25px;
	background: var(--haniro-color-bg1);
	font-size: 24px;
	font-weight: var(--haniro-fw-bold);
	line-height: 1;
	color: var(--haniro-color-black1);
}

.haniroAbout__compareTable td.is-navy {
	background: var(--haniro-color-navy);
	color: var(--haniro-color-white);
}

.haniroAbout__compareTable td.is-yellow {
	background: var(--haniro-color-yellow);
	color: var(--haniro-color-black1);
}

.haniroAbout__compareTable td.is-period {
	font-size: 36px;
	font-weight: var(--haniro-fw-bold);
	line-height: 1;
}

.haniroAbout__memberTable th.is-weight,
.haniroAbout__memberTable td.is-weight,
.haniroAbout__memberTable th:nth-child(odd) {
	background: var(--haniro-color-bg1);
}

.haniroAbout__memberTable th:nth-child(even),
.haniroAbout__memberTable td.is-price {
	background: #D5DCE1;
}

.haniroAbout__memberTable th,
.haniroAbout__memberTable td {
	padding: 18px 12px;
	font-size: 18px;
	font-weight: var(--haniro-fw-bold);
	line-height: 1.4;
	color: var(--haniro-color-black1);
}

.haniroAbout__memberTable td {
	font-size: 24px;
	line-height: 1;
}

.haniroAbout__tableNotes {
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
	font-size: 16px;
	font-weight: var(--haniro-fw-regular);
	line-height: 1.8;
	color: var(--haniro-color-gray1);
}

.haniroAbout__optionTable {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	table-layout: fixed;
}

.haniroAbout__optionTable th,
.haniroAbout__optionTable td {
	border: 1px solid var(--haniro-color-white);
	vertical-align: middle;
	color: var(--haniro-color-black1);
	word-break: keep-all;
}

body.haniro .haniroAbout__optionTable th {
	padding: 35px 25px;
	background: var(--haniro-color-yellow);
	font-size: 20px;
	font-weight: var(--haniro-fw-bold);
	line-height: 1.4;
	text-align: center !important;
}

.haniroAbout__optionTableColItem {
	width: 24%;
}

.haniroAbout__optionTableColPrice {
	width: 14%;
}

.haniroAbout__optionTableColDesc {
	width: 62%;
}

.haniroAbout__optionTable th:nth-child(1) {
	width: 24%;
}

.haniroAbout__optionTable th:nth-child(2) {
	width: 14%;
	text-align: center !important;
}

.haniroAbout__optionTable td:first-child {
	padding: 28px 16px;
	line-height: 1.5;
	word-break: keep-all;
}

.haniroAbout__optionTable td {
	padding: 28px 25px;
	background: var(--haniro-color-bg1);
	font-size: 20px;
	font-weight: var(--haniro-fw-bold);
	line-height: 1.5;
	text-align: center;
}

.haniroAbout__optionTable td:nth-child(2) {
	text-align: center;
}

.haniroAbout__optionTable td.is-desc {
	padding: 28px 30px;
	font-size: 20px;
	font-weight: var(--haniro-fw-bold);
	line-height: 1.7;
	text-align: left;
	word-break: keep-all;
	overflow-wrap: normal;
}

.haniroAbout__sectionPhoto {
	margin-top: 40px;
	line-height: 0;
}

.haniroAbout__sectionPhoto img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 10px;
}

.haniroAbout__howtoGrid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 40px;
	margin: 60px 0 0;
	padding: 0;
	list-style: none;
}

.haniroAbout__howtoCard {
	box-sizing: border-box;
	padding: 50px 40px;
	background: var(--haniro-color-yellow);
	border-radius: 6px;
	box-shadow: var(--haniro-shadow-box);
}

.haniroAbout__howtoCardTop {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
}

.haniroAbout__howtoCardHead {
	flex-shrink: 0;
}

body.haniro .haniroAbout__howtoNum {
	display: block;
	font-family: "Roboto", sans-serif !important;
	font-size: 150px;
	font-weight: 700 !important;
	font-style: normal;
	line-height: 1;
	letter-spacing: -0.02em;
	color: var(--haniro-color-white);
}

.haniroAbout__howtoLabel {
	margin: 0;
	font-size: 24px;
	font-weight: var(--haniro-fw-bold);
	line-height: 53px;
	color: var(--haniro-color-white);
}

.haniroAbout__howtoImg {
	flex-shrink: 0;
	line-height: 0;
}

.haniroAbout__howtoImg img {
	display: block;
	height: auto;
	max-width: none;
}

.haniroAbout__howtoImg--w198 img {
	width: 198px;
}

.haniroAbout__howtoImg--w234 img {
	width: 234px;
}

.haniroAbout__howtoImg--w240 img {
	width: 240px;
}

.haniroAbout__howtoImg--w206 img {
	width: 206px;
}

.haniroAbout__howtoBody {
	margin-top: 30px;
}

.haniroAbout__howtoTitle {
	margin: 0;
	font-size: 26px;
	font-weight: var(--haniro-fw-bold);
	line-height: 1.4;
	color: var(--haniro-color-black1);
}

.haniroAbout__howtoTitleWrap .haniroAbout__howtoTitle {
	line-height: 1.2;
}

.haniroAbout__howtoTitleSub {
	margin: 2px 0 0;
	font-size: 18px;
	font-weight: var(--haniro-fw-bold);
	line-height: 1.2;
	color: var(--haniro-color-black1);
}

.haniroAbout__howtoTitleWrap + .haniroAbout__howtoDesc {
	margin-top: 13px;
}

.haniroAbout__howtoDesc {
	margin: 13px 0 0;
	font-size: 22px;
	font-weight: var(--haniro-fw-medium);
	line-height: 1.6;
	color: var(--haniro-color-black1);
}

.haniroAbout__cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
	margin: 60px 0 0;
	padding: 0;
	list-style: none;
}

.haniroAbout__card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 38px;
	box-sizing: border-box;
	aspect-ratio: 1 / 1;
	padding: 32px 20px;
	background: var(--haniro-color-yellow);
	border-radius: 6px;
	box-shadow: var(--haniro-shadow-box);
	text-align: center;
}

.haniroAbout__cardLabelTop {
	margin: 0;
	font-size: 24px;
	font-weight: var(--haniro-fw-bold);
	line-height: 1.4;
	color: var(--haniro-color-white);
}

.haniroAbout__cardImg {
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
}

.haniroAbout__cardImg img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 200px;
}

.haniroAbout__cardLabelBottom {
	margin: 0;
	font-size: 24px;
	font-weight: var(--haniro-fw-bold);
	line-height: 1.4;
	color: var(--haniro-color-black1);
}

/* company — 運営会社 */
.haniroCompany__wrap {
	min-width: var(--haniro-layout-width);
}

.haniroCompany__section {
	background: var(--haniro-color-yellow);
	color: var(--haniro-color-black1);
}

.haniroCompany__inner {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 100px;
	box-sizing: border-box;
	padding: 80px 20px 120px;
}

.haniroCompany__left {
	flex-shrink: 0;
	width: 465px;
}

.haniroCompany__eyebrow {
	margin: 0;
	font-size: 18px;
	font-weight: var(--haniro-fw-bold);
	line-height: 1.4;
	color: var(--haniro-color-black1);
}

.haniroCompany__title {
	margin: 8px 0 0;
	font-size: 40px;
	font-weight: var(--haniro-fw-bold);
	line-height: 1.2;
	color: var(--haniro-color-black1);
}

.haniroCompany__logo {
	margin-top: 40px;
	line-height: 0;
}

.haniroCompany__logo img {
	display: block;
	width: 350px;
	max-width: 100%;
	height: auto;
}

.haniroCompany__hours {
	margin-top: 40px;
}

.haniroCompany__hoursTitle {
	margin: 0;
	padding: 10px 0;
	border-bottom: 1px solid var(--haniro-color-black1);
	font-size: 18px;
	font-weight: var(--haniro-fw-bold);
	line-height: 1.4;
	color: var(--haniro-color-black1);
}

.haniroCompany__hoursBody {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-top: 16px;
}

.haniroCompany__hoursCol {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.haniroCompany__hoursDay {
	font-size: 14px;
	font-weight: var(--haniro-fw-bold);
	line-height: 1.4;
	color: var(--haniro-color-black1);
}

.haniroCompany__hoursTime {
	font-size: 32px;
	font-weight: var(--haniro-fw-bold);
	line-height: 1.2;
	color: var(--haniro-color-black1);
}

.haniroCompany__info {
	flex: 1;
	margin: 0;
	padding: 0;
}

.haniroCompany__info dt {
	margin: 30px 0 0;
	font-size: 16px;
	font-weight: var(--haniro-fw-bold);
	line-height: 1.4;
	color: var(--haniro-color-black1);
}

.haniroCompany__info dt:first-child {
	margin-top: 0;
}

.haniroCompany__info dd {
	margin: 5px 0 0;
	font-size: 20px;
	font-weight: var(--haniro-fw-bold);
	line-height: 1.5;
	color: var(--haniro-color-black1);
}

/* privacy — プライバシーポリシー */
.haniroPrivacy__wrap {
	min-width: var(--haniro-layout-width);
}

.haniroPrivacy__section {
	background: var(--haniro-bg-footer);
	color: var(--haniro-color-black1);
}

.haniroPrivacy__inner {
	box-sizing: border-box;
	padding: 60px 20px 100px;
}

.haniroPrivacy__head {
	text-align: center;
}

.haniroPrivacy__logo {
	line-height: 0;
}

.haniroPrivacy__logo img {
	display: inline-block;
	width: 200px;
	max-width: 100%;
	height: auto;
}

.haniroPrivacy__title {
	margin: 32px 0 0;
	font-family: var(--haniro-font-jp);
	font-size: 32px;
	font-weight: var(--haniro-fw-bold);
	line-height: 1.3;
	color: var(--haniro-color-black1);
}

.haniroPrivacy__eyebrow {
	margin: 8px 0 0;
	font-family: var(--haniro-font-roboto);
	font-size: 14px;
	font-weight: var(--haniro-fw-regular);
	line-height: 1.4;
	letter-spacing: 0.08em;
	color: var(--haniro-color-gray1);
}

.haniroPrivacy__list {
	margin-top: 56px;
	border-top: 1px solid var(--haniro-color-border);
}

.haniroPrivacy__item {
	display: grid;
	grid-template-columns: 380px minmax(0, 1fr);
	gap: 48px;
	align-items: start;
	padding: 28px 0;
	border-bottom: 1px solid var(--haniro-color-border);
}

.haniroPrivacy__itemTitle {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.35em;
	margin: 0;
	padding-right: 0;
	font-family: var(--haniro-font-jp);
	font-size: 16px;
	font-weight: var(--haniro-fw-medium);
	line-height: 1.6;
	color: var(--haniro-color-black1);
}

.haniroPrivacy__itemNum {
	flex: 0 0 auto;
}

.haniroPrivacy__itemLabel {
	flex: 0 1 auto;
	min-width: 0;
}

.haniroPrivacy__itemBody {
	padding-left: 0;
	font-family: var(--haniro-font-jp);
	font-size: 14px;
	font-weight: var(--haniro-fw-medium);
	line-height: 1.8;
	color: var(--haniro-color-black2);
}

.haniroPrivacy__itemBody p,
.haniroPrivacy__itemBody li,
.haniroPrivacy__itemBody .haniroPrivacy__contact {
	font-weight: var(--haniro-fw-medium);
}

.haniroPrivacy__itemBody p {
	margin: 0 0 12px;
}

.haniroPrivacy__itemBody p:last-child {
	margin-bottom: 0;
}

.haniroPrivacy__ol {
	margin: 0 0 12px;
	padding-left: 1.2em;
}

.haniroPrivacy__ol li {
	margin: 0 0 4px;
}

.haniroPrivacy__ol li:last-child {
	margin-bottom: 0;
}

.haniroPrivacy__contact {
	font-weight: var(--haniro-fw-medium);
	line-height: 2;
}

body.haniro .haniroPrivacy__itemBody a,
body.haniro .haniroPrivacy__itemBody a:link,
body.haniro .haniroPrivacy__itemBody a:visited {
	color: var(--haniro-color-blue);
	text-decoration: underline;
}

body.haniro .haniroPrivacy__itemBody a:hover,
body.haniro .haniroPrivacy__itemBody a:focus-visible {
	color: var(--haniro-color-blue-light);
}

/* faq */
.haniroFaq__wrap {
	min-width: var(--haniro-layout-width);
}

.haniroFaq__hero {
	background: var(--haniro-color-white);
}

.haniroFaq__heroInner {
	display: flex;
	align-items: center;
	gap: 40px;
	box-sizing: border-box;
	padding: 60px 20px 50px;
}

.haniroFaq__visual {
	flex-shrink: 0;
	line-height: 0;
}

.haniroFaq__visual img {
	display: block;
	width: 300px;
	max-width: 100%;
	height: auto;
}

.haniroFaq__searchArea {
	flex: 1;
	min-width: 0;
}

.haniroFaq__titleBlock {
	text-align: center;
}

.haniroFaq__title {
	margin: 0;
	font-size: 50px;
	font-weight: var(--haniro-fw-bold);
	line-height: 1;
	color: var(--haniro-color-black1);
}

.haniroFaq__subTitle {
	margin: 10px 0 0;
	font-size: 16px;
	font-weight: var(--haniro-fw-regular);
	line-height: 1.5;
	color: var(--haniro-color-black1);
}

.haniroFaq__searchForm {
	margin: 20px 0 0;
}

.haniroFaq__searchBar {
	display: flex;
	align-items: center;
	gap: 12px;
	box-sizing: border-box;
	padding: 10px 20px;
	border: 1px solid var(--haniro-color-bg1);
	border-radius: 100px;
	background: var(--haniro-color-white);
	box-shadow: var(--haniro-shadow-input);
}

.haniroFaq__searchIcon {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	line-height: 0;
}

.haniroFaq__searchIcon img {
	display: block;
	width: 20px;
	height: 20px;
}

body.haniro .haniroFaq__searchInput {
	flex: 1;
	min-width: 0;
	height: 44px;
	margin: 0;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	font-family: inherit;
	font-size: 16px !important;
	font-weight: var(--haniro-fw-regular);
	line-height: 44px;
	color: var(--haniro-color-black1);
	caret-color: var(--haniro-color-black1);
	outline: none !important;
	-webkit-appearance: none;
	appearance: none;
}

body.haniro .haniroFaq__searchInput:focus,
body.haniro .haniroFaq__searchInput:focus-visible {
	border: 0 !important;
	outline: none !important;
	box-shadow: none !important;
	background: transparent !important;
	font-size: 16px !important;
}

body.haniro .haniroFaq__searchInput::placeholder {
	font-size: 16px !important;
	color: var(--haniro-color-gray2);
	opacity: 1;
}

.haniroFaq__searchInput:focus::placeholder {
	opacity: 0;
}

.haniroFaq__searchInput::-webkit-search-cancel-button {
	-webkit-appearance: none;
}

.haniroFaq__searchBtn {
	flex-shrink: 0;
	margin: 0;
	padding: 10px 20px;
	border: 0;
	border-radius: 100px;
	background: var(--haniro-color-yellow);
	font-family: inherit;
	font-size: 20px;
	font-weight: var(--haniro-fw-bold);
	line-height: 1.2;
	color: var(--haniro-color-black1);
	cursor: pointer;
	transition: background-color 0.2s ease, transform 0.15s ease;
}

.haniroFaq__searchBtn:hover {
	background: #e8d41a;
}

.haniroFaq__searchBtn:active {
	transform: translateY(1px);
	box-shadow: none;
}

.haniroFaq__searchBtn:focus-visible {
	outline: 2px solid var(--haniro-color-navy);
	outline-offset: 2px;
}

.haniroFaq__tabs {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	padding-top: 20px;
}

.haniroFaq__tab {
	margin: 0;
	padding: 8px 15px;
	border: 0;
	border-radius: 100px;
	background: var(--haniro-color-bg1);
	font-family: inherit;
	font-size: 16px;
	font-weight: var(--haniro-fw-regular);
	line-height: 1.4;
	letter-spacing: -0.05em;
	color: var(--haniro-color-gray2);
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.haniroFaq__tab:hover,
.haniroFaq__tab.is-active {
	background: var(--haniro-color-navy);
	font-weight: var(--haniro-fw-bold);
	color: var(--haniro-color-white);
}

.haniroFaq__body {
	background: var(--haniro-color-white);
}

.haniroFaq__bodyInner {
	display: flex;
	align-items: flex-start;
	gap: 40px;
	box-sizing: border-box;
	padding: 0 20px 80px;
}

.haniroFaq__subNav {
	flex-shrink: 0;
	width: 300px;
}

.haniroFaq__subNavPanel {
	width: 100%;
}

.haniroFaq__subNavBox {
	box-sizing: border-box;
	padding: 20px;
	border-radius: 8px;
	background: var(--haniro-color-bg1);
}

.haniroFaq__subNavList {
	margin: 0;
	padding: 0;
	list-style: none;
}

.haniroFaq__subNavItemWrap {
	border-bottom: 1px solid #e8e8e8;
}

.haniroFaq__subNavItemWrap:last-child {
	border-bottom: 0;
}

.haniroFaq__subNavItem {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	margin: 0;
	padding: 12px 0;
	border: 0;
	background: transparent;
	font-family: inherit;
	font-size: 16px;
	font-weight: var(--haniro-fw-bold);
	line-height: 1.4;
	color: var(--haniro-color-navy);
	text-align: left;
	cursor: pointer;
}

.haniroFaq__subNavLabel {
	display: inline-block;
	text-decoration: none;
	text-underline-offset: 4px;
	transition: color 0.15s ease, text-decoration-color 0.15s ease;
}

body.haniro.haniro-faq .haniroFaq__subNavItem.is-active,
body.haniro.haniro-faq .haniroFaq__subNavItem.is-active .haniroFaq__subNavLabel {
	color: var(--haniro-color-blue);
	text-decoration: none;
}

body.haniro.haniro-faq .haniroFaq__subNavItem:hover:not(.is-active),
body.haniro.haniro-faq .haniroFaq__subNavItem:hover:not(.is-active) .haniroFaq__subNavLabel {
	color: var(--haniro-color-blue);
}

body.haniro.haniro-faq .haniroFaq__subNavItem:hover:not(.is-active) .haniroFaq__subNavLabel {
	text-decoration: underline;
	text-decoration-color: var(--haniro-color-blue);
}

body.haniro.haniro-faq .haniroFaq__subNavList:hover .haniroFaq__subNavItem.is-active:not(:hover) .haniroFaq__subNavLabel {
	color: var(--haniro-color-blue);
	text-decoration: none;
}

.haniroFaq__subNavArrow {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	line-height: 0;
}

.haniroFaq__subNavArrow img {
	display: block;
	width: 24px;
	height: 24px;
}

body.haniro.haniro-faq .haniroFaq__subNavItem:hover:not(.is-active) .haniroFaq__subNavArrow img {
	content: url('/haniro_images/icons_meun_left_blue.svg');
}

body.haniro.haniro-faq .haniroFaq__subNavItem.is-active .haniroFaq__subNavArrow img {
	content: url('/haniro_images/icons_meun_left_blue.svg');
}

.haniroFaq__accordion {
	flex: 1;
	min-width: 0;
}

.haniroFaq__qaItem {
	overflow: hidden;
	border-radius: 8px;
	background: var(--haniro-color-yellow);
}

.haniroFaq__qaItem + .haniroFaq__qaItem {
	margin-top: 12px;
}

.haniroFaq__qaHead {
	display: flex;
	align-items: center;
	gap: 16px;
	width: 100%;
	margin: 0;
	padding: 18px 20px;
	border: 0;
	background: transparent;
	font-family: inherit;
	text-align: left;
	cursor: pointer;
}

.haniroFaq__qaNum {
	flex-shrink: 0;
	min-width: 28px;
	font-family: var(--haniro-font-roboto);
	font-size: 20px;
	font-weight: var(--haniro-fw-bold);
	line-height: 1;
	color: var(--haniro-color-white);
}

.haniroFaq__qaQuestion {
	flex: 1;
	min-width: 0;
	font-size: 18px;
	font-weight: var(--haniro-fw-bold);
	line-height: 1.5;
	color: var(--haniro-color-black1);
}

.haniroFaq__qaToggle {
	flex-shrink: 0;
	width: 24px;
	font-size: 24px;
	font-weight: var(--haniro-fw-bold);
	line-height: 1;
	color: var(--haniro-color-white);
	text-align: center;
}

.haniroFaq__qaBody {
	padding: 0 20px 20px 64px;
}

.haniroFaq__qaAnswer {
	margin: 0;
	font-size: 16px;
	font-weight: var(--haniro-fw-regular);
	line-height: 1.7;
	color: var(--haniro-color-black1);
}

/* inquiry */
.haniroInquiry__wrap {
	min-width: var(--haniro-layout-width);
	background: var(--haniro-color-bg1);
}

.haniroInquiry__section {
	background: var(--haniro-color-bg1);
}

.haniroInquiry__inner.haniroPageHead__inner--narrow {
	width: 1000px;
	padding-bottom: 100px;
}

.haniroInquiry__form {
	margin-top: 0;
}

.haniroInquiry__agree {
	margin-top: 40px;
	text-align: center;
}

.haniroInquiry__agreeText {
	margin: 0;
	font-size: 16px;
	font-weight: var(--haniro-fw-semibold);
	line-height: 1.7;
	color: var(--haniro-color-gray2);
	letter-spacing: -0.05em;
}

body.haniro .haniroInquiry__agreeText a {
	color: #778BAA !important;
	text-decoration: underline;
	text-underline-offset: 2px;
}

body.haniro .haniroInquiry__agreeText a:hover {
	color: #5f7494 !important;
}

.haniroInquiry__agreeCheck {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 16px;
	cursor: pointer;
}

body.haniro .haniroInquiry__agreeInput {
	width: 18px;
	height: 18px;
	margin: 0;
	padding: 0;
	border: 1px solid var(--haniro-color-gray4) !important;
	border-radius: 3px;
	background: var(--haniro-color-white) !important;
	box-shadow: none !important;
	cursor: pointer;
	accent-color: var(--haniro-color-blue);
}

.haniroInquiry__agreeLabel {
	font-size: 16px;
	font-weight: var(--haniro-fw-semibold);
	line-height: 1.4;
	color: var(--haniro-color-black1);
}

.haniroInquiry__actions {
	margin-top: 24px;
	text-align: center;
}

.haniroInquiry__submit {
	display: inline-block;
	width: auto;
	margin: 0;
	padding: 15px 100px;
	border: 0;
	border-radius: 0;
	background: var(--haniro-color-yellow);
	box-shadow: var(--haniro-shadow-box);
	font-family: inherit;
	font-size: 16px;
	font-weight: var(--haniro-fw-bold);
	line-height: 1.4;
	color: var(--haniro-color-black1);
	cursor: pointer;
	transition: background-color 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
}

.haniroInquiry__submit:hover {
	background: #e8d41a;
}

.haniroInquiry__submit:active {
	transform: translateY(1px);
	box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.08);
}

.haniroInquiry__submit:focus-visible {
	outline: 2px solid var(--haniro-color-navy);
	outline-offset: 2px;
}

/* footer */
.haniroFooter {
	background: var(--haniro-bg-footer);
	border-top: 1px solid var(--haniro-color-border-footer);
	padding: 30px 0 24px;
	font-size: 14px;
	color: var(--haniro-color-black1);
}

.haniroFooter__inner {
	padding: 0 20px;
}

.haniroFooter__rule {
	width: 100%;
	border-top: 1px solid var(--haniro-color-border-footer);
	margin-top: 30px;
}

.haniroFooter__top {
	display: grid;
	grid-template-columns: 200px 1fr auto;
	column-gap: 0;
	align-items: start;
}

.haniroFooter__info {
	display: grid;
	grid-template-columns: 72px 1fr;
	gap: 4px 16px;
	margin: 0 0 0 100px;
}

.haniroFooter__logo img {
	display: block;
	width: 200px;
	height: auto;
}

.haniroFooter__info dt,
.haniroFooter__info dd {
	margin: 0;
	font-size: 14px;
	font-weight: var(--haniro-fw-regular);
	line-height: 1.8;
	color: var(--haniro-color-black1);
}

.haniroFooter__hours {
	flex-shrink: 0;
	min-width: 220px;
	justify-self: end;
	align-self: center;
}

.haniroFooter__hoursTitle {
	margin: 0;
	padding: 5px 0;
	border-bottom: 1px solid rgba(117, 117, 117, 0.5);
	font-size: 14px;
	font-weight: var(--haniro-fw-bold);
	line-height: 1.4;
	text-align: left;
	color: var(--haniro-color-black1);
}

.haniroFooter__hoursBody {
	display: flex;
	justify-content: flex-start;
	gap: 40px;
	margin-top: 12px;
}

.haniroFooter__hoursItem {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin: 0;
}

.haniroFooter__hoursLabel {
	font-size: 13px;
	font-weight: var(--haniro-fw-bold);
	line-height: 1.4;
	color: var(--haniro-color-black1);
}

.haniroFooter__hoursValue {
	font-size: 20px;
	font-weight: var(--haniro-fw-bold);
	line-height: 1.4;
	color: var(--haniro-color-black1);
}

.haniroFooter__bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 24px;
}

.haniroFooter__links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 28px;
}

body.haniro .haniroFooter .haniroFooter__links a,
body.haniro .haniroFooter .haniroFooter__links a:link,
body.haniro .haniroFooter .haniroFooter__links a:visited,
body.haniro .haniroFooter .haniroFooter__links a:active {
	font-size: 14px;
	font-weight: var(--haniro-fw-regular);
	line-height: 1.4;
	color: var(--haniro-color-black1);
	text-decoration: none;
	cursor: pointer;
}

body.haniro .haniroFooter .haniroFooter__links a:hover,
body.haniro .haniroFooter .haniroFooter__links a:focus-visible {
	text-decoration: underline;
}

.haniroFooter__copy {
	margin: 0;
	font-size: 14px;
	font-weight: var(--haniro-fw-regular);
	line-height: 1.4;
	color: var(--haniro-color-black1);
}
