/* ============================
	LP Hale
	body.lp-template-page-lp_hale でスコープ
============================ */

/* --- template overrides --- */
body.lp-template-page-lp_hale {
	font-family: "Noto Sans JP", sans-serif;
}

body.lp-template-page-lp_hale p {
	font-size: 1.5rem;
}

body.lp-template-page-lp_hale .header {
	display: none;
}

body.lp-template-page-lp_hale footer {
	display: none;
}

body.lp-template-page-lp_hale .l-main {
	padding-bottom: 0;
}

body.lp-template-page-lp_hale .btn-contact-pc {
	display: none;
}

body.lp-template-page-lp_hale .f-fixed {
	display: none;
}

/* brown texture background */
body.lp-template-page-lp_hale .bg-brown-texture {
	background: url(../images/hale/brown-texture.jpg) center / auto repeat;
}

/* sec-ttl: セクション見出し（h2）を水色に */
body.lp-template-page-lp_hale .sec-ttl {
	color: #1baabc;
}

/* ttl-type-a: 新style.cssで display:inline-block が追加、font-size が 4.6rem→4.2rem に変更されたため LP では旧スタイルに戻す */
body.lp-template-page-lp_hale .ttl-type-a {
	display: block;
	font-size: 4.6rem;
}

@media screen and (max-width: 767px) {
	body.lp-template-page-lp_hale .ttl-type-a {
		font-size: 26px;
	}
	body.lp-template-page-lp_hale p {
		font-size: 15px;
		letter-spacing: 0.05em;
	}
	body.lp-template-page-lp_hale #hale-works .txt-area .area-name,
	body.lp-template-page-lp_hale #hale-works .txt-area .bold-name {
		font-size: 18px;
	}
}

/* ttl-type-b: style.css では color:#fff / text-align:center / font-size:3.8rem だが LP では上書き */
body.lp-template-page-lp_hale .ttl-type-b {
	color: #1baabc;
	text-align: left;
	font-size: 2.9rem;
	line-height: 1.4;
}

/* ttl-type-c: span の背景色を透明にして横線が見えるように */
body.lp-template-page-lp_hale .ttl-type-c span {
	background-color: transparent;
	padding: 0 25px;
}

/* content-width: 旧style.cssのコンテナクラス（mod-hale_concept.phpで使用） */
/* 新style.cssがmax-width:1000pxを追加しているためmax-widthを上書き */
body.lp-template-page-lp_hale .content-width {
	max-width: 1060px;
	width: 100%;
	padding-right: 30px;
	padding-left: 30px;
	margin: auto;
}

@media screen and (max-width: 1000px) {
	body.lp-template-page-lp_hale .content-width {
		width: 100%;
	}
}

@media screen and (max-width: 960px) {
	body.lp-template-page-lp_hale .content-width {
		width: 100%;
		margin-right: auto;
		margin-left: auto;
		padding-right: 20px;
		padding-left: 20px;
	}
}

/* ttl-type-d: 旧style.cssの見出しクラス（mod-hale_concept.phpのメリット項目で使用） */
body.lp-template-page-lp_hale .ttl-type-d {
	font-size: 2.8rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	color: #333;
	text-align: left;
}

@media screen and (max-width: 767px) {
	body.lp-template-page-lp_hale .ttl-type-d {
		font-size: 26px;
	}
	body.lp-template-page-lp_hale .ttl-type-c span {
		font-size: 24px;
	}
}

body.lp-template-page-lp_hale .cont-wrap .sub-ttl {
	position: relative;
	top: 5px;
	z-index: 20;
}

@media screen and (max-width: 767px) {
	body.lp-template-page-lp_hale .cont-wrap .sub-ttl {
		top: 0;
	}
}

/* --- lp-header --- */
body.lp-template-page-lp_hale .lp-header {
	position: absolute;
	width: 300px;
	top: 30px;
	left: 30px;
	z-index: 10;
}

body.lp-template-page-lp_hale .lp-header-logo {
	font-size: 0;
}

body.lp-template-page-lp_hale .lp-header-text {
	position: absolute;
	top: 0;
	left: 0;
	max-width: 100%;
	overflow: hidden;
	white-space: nowrap;
	text-indent: 100%;
}

@media screen and (max-width: 1000px) {
	body.lp-template-page-lp_hale .lp-header {
		width: 140px;
		top: 15px;
		left: 20px;
	}
}

/* ============================
	hale sections
============================ */

/* mv */
body.lp-template-page-lp_hale #hale-mv {
	margin-bottom: 120px;
}

body.lp-template-page-lp_hale #hale-mv .mv-inner {
	position: relative;
	background: url(../images/hale/mv_bg_01.png) center / cover no-repeat;
	width: 100%;
	height: 100vh;
	min-height: 840px;
	max-height: 930px;
}

body.lp-template-page-lp_hale #hale-mv .cont-area {
	position: absolute;
	top: 54px;
	left: 50%;
	transform: translateX(-50%);
	text-align: center;
	width: 60%;
}

body.lp-template-page-lp_hale #hale-mv .txt-area {
	text-align: center;
	font-size: 4.2rem;
}

body.lp-template-page-lp_hale #hale-mv .txt-area span {
	background-color: #fff;
	font-size: 3.5rem;
	font-weight: 700;
	padding: 4px 10px;
}

body.lp-template-page-lp_hale #hale-mv .cta-area {
	position: absolute;
	bottom: -80px;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	max-width: 1000px;
}

body.lp-template-page-lp_hale #hale-mv .cta-area .cta-box {
	background-color: #1baabc;
	padding: 50px;
	position: relative;
}

body.lp-template-page-lp_hale #hale-mv .cta-area .cta-box::before {
	content: "";
	background: url(../images/hale/cta_material_01@2x.png) no-repeat;
	background-size: contain;
	position: absolute;
	top: -120px;
	left: -115px;
	display: inline-block;
	width: 350px;
	height: 290px;
}

body.lp-template-page-lp_hale #hale-mv .cta-area .cta-box .text-box {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 40px;
	margin-left: 190px;
}

body.lp-template-page-lp_hale #hale-mv .cta-area .cta-box .text-box p {
	color: #fff;
	font-size: 1.7rem;
	font-weight: 700;
	position: relative;
}

body.lp-template-page-lp_hale #hale-mv .cta-area .cta-box .text-box p::before {
	content: "";
	display: block;
	width: 14px;
	height: 7px;
	border-left: 2px solid #fedb01;
	border-bottom: 2px solid #fedb01;
	transform: rotate(-45deg);
	position: absolute;
	top: 50%;
	translate: 0 -70%;
	left: -20px;
}

body.lp-template-page-lp_hale #hale-mv .cta-area .cta-box .text-box p + p {
	margin-top: 0;
}

body.lp-template-page-lp_hale #hale-mv .cta-area .cta-box .text-box p em {
	background-color: #fedb01;
	color: #1baabc;
	font-style: normal;
	margin: 0 4px;
	padding: 1px 4px;
}

body.lp-template-page-lp_hale #hale-mv .cta-area .cta-btn {
	margin-top: 30px;
	width: 100%;
	margin-inline: auto;
	text-align: center;
	color: #fff;
}

body.lp-template-page-lp_hale #hale-mv .cta-area .cta-btn a {
	width: 100%;
	max-width: 100%;
	padding: 11px 0;
}

body.lp-template-page-lp_hale #hale-mv .cta-area .cta-btn .notice {
	margin-top: 8px;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.6;
}

@media screen and (min-width: 1600px) {
	body.lp-template-page-lp_hale #hale-mv .mv-inner {
		height: 120vh;
	}
	body.lp-template-page-lp_hale #hale-mv .txt-area {
		font-size: 50px;
	}
	body.lp-template-page-lp_hale #hale-mv .txt-area span {
		font-size: 45px;
	}
}

@media screen and (max-width: 1100px) {
	body.lp-template-page-lp_hale #hale-mv .cta-area {
		width: 90%;
	}
	body.lp-template-page-lp_hale #hale-mv .cta-area .cta-btn {
		bottom: 15%;
	}
}

@media screen and (max-width: 1000px) {
	body.lp-template-page-lp_hale #hale-mv .cta-area .cta-btn {
		bottom: 5%;
	}
	body.lp-template-page-lp_hale #hale-mv {
		margin-bottom: 200px;
	}
	body.lp-template-page-lp_hale #hale-mv .cta-area {
		bottom: -160px;
	}
}

@media screen and (max-width: 820px) {
	body.lp-template-page-lp_hale #hale-mv .cta-area .cta-box::before {
		top: -60px;
		left: -25px;
		width: 220px;
		height: 190px;
	}
}

@media screen and (max-width: 767px) {
	body.lp-template-page-lp_hale #hale-mv {
		margin-bottom: 330px;
	}
	body.lp-template-page-lp_hale #hale-mv .mv-inner {
		min-height: 580px;
		height: 580px;
	}
	body.lp-template-page-lp_hale #hale-mv .cont-area {
		margin-inline: auto;
		padding-top: 55px;
		position: static;
		transform: translateX(0);
		width: 90%;
	}
	body.lp-template-page-lp_hale #hale-mv .cont-area .logo-area {
		width: 180px;
		margin: auto;
	}
	body.lp-template-page-lp_hale #hale-mv .txt-area {
		font-size: 30px;
	}
	body.lp-template-page-lp_hale #hale-mv .txt-area span {
		font-size: 24px;
	}
	body.lp-template-page-lp_hale #hale-mv .cta-area {
		position: relative;
		margin-top: 100px;
		bottom: unset;
		width: 100%;
		max-width: 400px;
		padding: 0 20px;
	}
	body.lp-template-page-lp_hale #hale-mv .cta-area .cta-box {
		padding: 100px 20px 40px;
		position: relative;
	}
	body.lp-template-page-lp_hale #hale-mv .cta-area .cta-box .text-box {
		display: flex;
		flex-wrap: wrap;
		margin-left: 20px;
	}
	body.lp-template-page-lp_hale #hale-mv .cta-area .cta-box .text-box p {
		font-size: 15px;
		letter-spacing: 0;
	}
	body.lp-template-page-lp_hale #hale-mv .cta-area .cta-box .text-box p::before {
		left: -19px;
		top: 12px;
		translate: 0 0;
	}
	body.lp-template-page-lp_hale #hale-mv .cta-area .cta-btn {
		margin-top: 20px;
	}
	body.lp-template-page-lp_hale #hale-mv .cta-area .cta-box::before {
		top: -100px;
		left: 0;
		right: 0;
		margin: auto;
		width: 215px;
		height: 190px;
	}
	body.lp-template-page-lp_hale #hale-mv .cta-area .cta-btn a {
		font-size: 18px;
		padding: 12px 0;
		width: 100%;
		max-width: 100%;
	}
}

@media screen and (max-width: 480px) {
	body.lp-template-page-lp_hale #hale-mv .cta-area .cta-box .text-box p {
		font-size: 16px;
		letter-spacing: 1px;
	}
}

@media screen and (max-width: 390px) {
	body.lp-template-page-lp_hale #hale-mv {
		margin-bottom: 380px;
	}
}

@media screen and (max-width: 370px) {
	body.lp-template-page-lp_hale #hale-mv {
		margin-bottom: 410px;
	}
}

@media screen and (max-width: 360px) {
	body.lp-template-page-lp_hale #hale-mv .cont-area .logo-area {
		width: 60%;
	}
	body.lp-template-page-lp_hale #hale-mv .txt-area span {
		font-size: 22px;
	}
	body.lp-template-page-lp_hale #hale-mv .cta-area .cta-box::before {
		width: 250px;
	}
	body.lp-template-page-lp_hale #hale-mv .cta-area .cta-btn {
		bottom: 1rem;
	}
	body.lp-template-page-lp_hale #hale-mv .cta-area .cta-btn a {
		font-size: 12px;
	}
}

@media screen and (max-width: 320px) {
	body.lp-template-page-lp_hale #hale-mv {
		margin-bottom: 480px;
	}
}

@media screen and (max-width: 272px) {
	body.lp-template-page-lp_hale #hale-mv {
		margin-bottom: 520px;
	}
}

/* works */
body.lp-template-page-lp_hale #hale-works .sec-ttl {
	position: relative;
	z-index: 10;
}

body.lp-template-page-lp_hale #hale-works .sec-ttl::before {
	content: "";
	background: url(../images/hale/works.svg) center / contain no-repeat;
	background-size: contain;
	position: absolute;
	top: -70px;
	left: 0;
	right: 0;
	margin: auto;
	display: inline-block;
	width: 180px;
	height: 106px;
	z-index: -1;
}

body.lp-template-page-lp_hale #hale-works .hale-works-item {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

body.lp-template-page-lp_hale #hale-works .hale-works-item:nth-child(even) {
	flex-direction: row-reverse;
}

body.lp-template-page-lp_hale #hale-works .hale-works-item + .hale-works-item {
	margin-top: 50px;
}

body.lp-template-page-lp_hale #hale-works .slider-area {
	width: 49.2%;
}

body.lp-template-page-lp_hale #hale-works .slider-area .swiper-slide {
	text-align: center;
}

body.lp-template-page-lp_hale #hale-works .slider-area img {
	height: 377px;
}

body.lp-template-page-lp_hale #hale-works .txt-area {
	width: 46.6%;
}

body.lp-template-page-lp_hale #hale-works .txt-area .ttl {
	margin-bottom: 5px;
}

body.lp-template-page-lp_hale #hale-works .txt-area .area-name {
	font-weight: 600;
	margin-top: 5px;
}

body.lp-template-page-lp_hale #hale-works .txt-area .txt {
	margin-top: 10px;
}

body.lp-template-page-lp_hale #hale-works .txt-area .detail-box {
	margin-top: 20px;
	padding: 10px 0;
	border-top: 2px dotted #707070;
	border-bottom: 2px dotted #707070;
	font-size: 1.5rem;
}

@media screen and (max-width: 767px) {
	body.lp-template-page-lp_hale #hale-works .section-inner {
		padding-top: 100px;
	}
	body.lp-template-page-lp_hale #hale-works .hale-works-item + .hale-works-item {
		margin-top: 60px;
	}
	body.lp-template-page-lp_hale #hale-works .slider-area {
		width: 100%;
	}
	body.lp-template-page-lp_hale #hale-works .slider-area img {
		height: 230px;
	}
	body.lp-template-page-lp_hale #hale-works .txt-area {
		width: 100%;
		margin-top: 10px;
		padding-left: 0;
	}
	body.lp-template-page-lp_hale #hale-works .txt-area .detail-box {
		font-size: 15px;
	}
}

/* hale-color swiper navigation: 旧style.cssのリニューアル前スタイル */
body.lp-template-page-lp_hale .hale-color .swiper-button-prev,
body.lp-template-page-lp_hale .hale-color .swiper-button-next {
	width: 32px;
	height: 32px;
	background-image: none;
	background-color: rgb(27 169 188 / 66%);
	transform: translateY(-50%);
	border-radius: 0;
	border: none;
}

body.lp-template-page-lp_hale .hale-color .swiper-button-prev {
	left: -18px;
}

body.lp-template-page-lp_hale .hale-color .swiper-button-next {
	right: -18px;
}

body.lp-template-page-lp_hale .hale-color .swiper-button-prev::before,
body.lp-template-page-lp_hale .hale-color .swiper-button-next::before {
	content: "";
	display: inline-block;
	position: absolute;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	width: 12px;
	height: 12px;
	transform: rotate(225deg);
	top: 12px;
}

body.lp-template-page-lp_hale .hale-color .swiper-button-prev::before {
	left: 13px;
}

body.lp-template-page-lp_hale .hale-color .swiper-button-next::before {
	transform: rotate(45deg);
	right: 13px;
}

/* Swiper デフォルト ::after アイコンを非表示 */
body.lp-template-page-lp_hale .hale-color .swiper-button-prev::after,
body.lp-template-page-lp_hale .hale-color .swiper-button-next::after {
	content: none !important;
}

body.lp-template-page-lp_hale .hale-color .swiper-pagination .swiper-pagination-bullet {
	margin: 0 10px;
	background-color: #e5ddca;
	opacity: 1;
}

body.lp-template-page-lp_hale .hale-color .swiper-pagination .swiper-pagination-bullet-active {
	background-color: #1ba9bc;
}

body.lp-template-page-lp_hale .hale-color .swiper-pagination {
	position: relative;
	margin-top: 8px;
}

/* concept */
body.lp-template-page-lp_hale #hale-concept .section-inner {
	padding: 180px 0 140px;
}

body.lp-template-page-lp_hale #hale-concept .sec-ttl {
	position: relative;
	z-index: 10;
}

body.lp-template-page-lp_hale #hale-concept .sec-ttl::before {
	content: "";
	background: url(../images/hale/concept.svg) center / contain no-repeat;
	background-size: contain;
	position: absolute;
	top: -68px;
	left: 0;
	right: 0;
	margin: auto;
	display: inline-block;
	width: 268px;
	height: 116px;
	z-index: -1;
}

body.lp-template-page-lp_hale #hale-concept .sec-ttl .logo {
	width: 180px;
	margin: 10px auto;
}

body.lp-template-page-lp_hale #hale-concept .hale-example-item .head {
	position: relative;
	top: -10px;
}

body.lp-template-page-lp_hale #hale-concept .hale-example-item + .hale-example-item {
	margin-top: 60px;
}

body.lp-template-page-lp_hale #hale-concept .hale-example-item:nth-child(3) {
	align-items: center;
}

body.lp-template-page-lp_hale #hale-concept .cont-wrap + .cont-wrap {
	margin-top: 70px;
}

@media screen and (max-width: 767px) {
	body.lp-template-page-lp_hale #hale-concept .section-inner {
		padding-top: 110px;
		padding-bottom: 60px;
	}
	body.lp-template-page-lp_hale #hale-concept .sec-ttl::before {
		transform: scale(0.8);
	}
	body.lp-template-page-lp_hale #hale-concept .hale-example-item {
		flex-wrap: wrap;
	}
	body.lp-template-page-lp_hale #hale-concept .hale-example-item .img-box.head {
		width: 60%;
		margin: auto;
		top: 0;
	}
	body.lp-template-page-lp_hale #hale-concept .hale-example-item .img-box,
	body.lp-template-page-lp_hale #hale-concept .hale-example-item .img-box img {
		width: 100%;
	}
	body.lp-template-page-lp_hale #hale-concept .hale-example-item .img-box + .hale-example-item .img-box {
		margin-top: 30px;
	}
}

body.lp-template-page-lp_hale #hale-concept .hale-merit-item {
	align-items: center;
}

body.lp-template-page-lp_hale #hale-concept .hale-merit-item + .hale-merit-item {
	margin-top: 50px;
}

body.lp-template-page-lp_hale #hale-concept .hale-merit-item:nth-child(even) {
	flex-direction: row-reverse;
}

body.lp-template-page-lp_hale #hale-concept .hale-merit-item .img-area {
	width: 29.2%;
	position: relative;
	z-index: 10;
}

body.lp-template-page-lp_hale #hale-concept .hale-merit-item .img-area::before {
	content: "";
	background-color: #fff8ce;
	position: absolute;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	z-index: -1;
}

body.lp-template-page-lp_hale #hale-concept .hale-merit-item:nth-child(odd) .img-area::before {
	bottom: -14px;
	left: -14px;
}

body.lp-template-page-lp_hale #hale-concept .hale-merit-item:nth-child(even) .img-area::before {
	bottom: -14px;
	right: -14px;
}

body.lp-template-page-lp_hale #hale-concept .hale-merit-item .txt-area {
	width: 66.5%;
}

body.lp-template-page-lp_hale #hale-concept .hale-merit-item .txt-area .ttl {
	margin-bottom: 30px;
	padding-left: 60px;
	letter-spacing: 0.2em;
	line-height: 1.4;
}

body.lp-template-page-lp_hale #hale-concept .hale-merit-item:nth-child(1) .txt-area .ttl {
	background: url(../images/hale/num_01.png) top left / 38px no-repeat;
}

body.lp-template-page-lp_hale #hale-concept .hale-merit-item:nth-child(2) .txt-area .ttl {
	background: url(../images/hale/num_02.png) top left / 38px no-repeat;
}

body.lp-template-page-lp_hale #hale-concept .hale-merit-item:nth-child(3) .txt-area .ttl {
	background: url(../images/hale/num_03.png) top 5px left / 38px no-repeat;
	padding-left: 50px;
}

body.lp-template-page-lp_hale #hale-concept .hale-merit-item:nth-child(4) .txt-area .ttl {
	background: url(../images/hale/num_04.png) top left / 38px no-repeat;
	padding-left: 50px;
}

@media screen and (max-width: 767px) {
	body.lp-template-page-lp_hale #hale-concept .hale-merit-item {
		flex-wrap: wrap;
	}
	body.lp-template-page-lp_hale #hale-concept .hale-merit-item + .hale-merit-item {
		margin-top: 70px;
	}
	body.lp-template-page-lp_hale #hale-concept .hale-merit-item .img-area {
		margin: auto;
		min-width: 282px;
	}
	body.lp-template-page-lp_hale #hale-concept .hale-merit-item .txt-area {
		width: 100%;
		margin-top: 40px;
	}
}

/* voice */
body.lp-template-page-lp_hale #hale-voice .section-inner {
	padding-top: 180px;
	padding-bottom: 140px;
}

body.lp-template-page-lp_hale #hale-voice .sec-ttl {
	position: relative;
	z-index: 10;
}

body.lp-template-page-lp_hale #hale-voice .sec-ttl::before {
	content: "";
	background: url(../images/hale/voice.svg) center / contain no-repeat;
	background-size: contain;
	position: absolute;
	top: -60px;
	left: 0;
	right: 0;
	margin: auto;
	display: inline-block;
	width: 164px;
	height: 90px;
	z-index: -1;
}

body.lp-template-page-lp_hale #hale-voice .img-txt-box + .img-txt-box {
	margin-top: 30px;
}

body.lp-template-page-lp_hale #hale-voice .img-txt-box .txt-area {
	width: 47%;
}

body.lp-template-page-lp_hale #hale-voice .img-txt-box .txt-area .ttl {
	margin-bottom: 5px;
}

body.lp-template-page-lp_hale #hale-voice .img-txt-box .txt-area .bold-name {
	display: inline-block;
	margin-bottom: 10px;
}

body.lp-template-page-lp_hale #hale-voice .img-txt-box .img-area {
	width: 49.2%;
}

body.lp-template-page-lp_hale #hale-voice .img-txt-box .img-area img {
	width: 100%;
}

@media screen and (max-width: 767px) {
	body.lp-template-page-lp_hale #hale-voice .section-inner {
		padding-top: 140px;
		padding-bottom: 90px;
	}
	body.lp-template-page-lp_hale #hale-voice .img-txt-box {
		flex-wrap: wrap;
	}
	body.lp-template-page-lp_hale #hale-voice .img-txt-box .txt-area {
		width: 100%;
	}
	body.lp-template-page-lp_hale #hale-voice .img-txt-box .img-area {
		width: 100%;
		margin-top: 30px;
	}
	body.lp-template-page-lp_hale #hale-voice .img-txt-box .txt-area .bold-name {
		font-size: 18px;
	}
}

/* company */
body.lp-template-page-lp_hale #hale-company .section-inner {
	padding-top: 160px;
	padding-bottom: 120px;
}

body.lp-template-page-lp_hale #hale-company .sec-ttl-box-center {
	margin-bottom: 30px;
}

body.lp-template-page-lp_hale #hale-company .sec-ttl {
	position: relative;
	z-index: 10;
}

body.lp-template-page-lp_hale #hale-company .sec-ttl::before {
	content: "";
	background: url(../images/hale/company.svg) center / contain no-repeat;
	background-size: contain;
	position: absolute;
	top: -65px;
	left: 0;
	right: 0;
	margin: auto;
	display: inline-block;
	width: 290px;
	height: 138px;
	z-index: -1;
}

body.lp-template-page-lp_hale #hale-company .message-wrap .img-area {
	width: 39.4%;
}

body.lp-template-page-lp_hale #hale-company .message-wrap .img-area img {
	width: 100%;
}

body.lp-template-page-lp_hale #hale-company .message-wrap .txt-area {
	width: 57%;
}

body.lp-template-page-lp_hale #hale-company .message-wrap .txt-area .ttl {
	margin-bottom: 30px;
}

body.lp-template-page-lp_hale #hale-company .message-wrap .txt-box {
	margin-top: 30px;
}

body.lp-template-page-lp_hale #hale-company .message-wrap .name {
	text-align: right;
	font-size: 1.5rem;
	font-weight: 700;
}

@media screen and (max-width: 1400px) {
	body.lp-template-page-lp_hale #hale-company .message-wrap .txt-area .ttl {
		font-size: 28px;
	}
}

@media screen and (max-width: 767px) {
	body.lp-template-page-lp_hale #hale-company .section-inner {
		padding-top: 140px;
		padding-bottom: 60px;
	}
	body.lp-template-page-lp_hale #hale-company .sec-ttl::before {
		transform: scale(0.8);
		top: -80px;
	}
	body.lp-template-page-lp_hale #hale-company .message-wrap .txt-area .ttl {
		font-size: 26px;
	}
	body.lp-template-page-lp_hale #hale-company .message-wrap .img-txt-box {
		flex-wrap: wrap;
	}
	body.lp-template-page-lp_hale #hale-company .message-wrap .img-area {
		width: 100%;
	}
	body.lp-template-page-lp_hale #hale-company .message-wrap .txt-area {
		width: 100%;
		margin-top: 30px;
	}
	body.lp-template-page-lp_hale #hale-company .message-wrap .name {
		font-size: 15px;
	}
}

body.lp-template-page-lp_hale #hale-company .area-wrap .cont-ttl-box-center {
	margin-bottom: 0;
}

body.lp-template-page-lp_hale #hale-company .area-wrap .map-box {
	text-align: center;
}

body.lp-template-page-lp_hale #hale-company .area-wrap .lead-txt {
	margin-top: 30px;
}

body.lp-template-page-lp_hale #hale-company .housing-wrap {
	margin-top: 40px;
}

body.lp-template-page-lp_hale #hale-company .housing-wrap .graph-box {
	margin-top: 30px;
	text-align: center;
}

body.lp-template-page-lp_hale #hale-company .housing-wrap .lead-txt {
	margin-top: 20px;
}

@media screen and (max-width: 767px) {
	body.lp-template-page-lp_hale #hale-company .housing-wrap th,
	body.lp-template-page-lp_hale #hale-company .housing-wrap td {
		width: 50%;
		padding: 8px 0;
	}
	body.lp-template-page-lp_hale #hale-company .area-wrap .lead-txt {
		font-size: 16px;
	}
	body.lp-template-page-lp_hale #hale-company .housing-wrap .lead-txt {
		font-size: 16px;
	}
}

/* price */
body.lp-template-page-lp_hale #hale-price .section-inner {
	padding-top: 170px;
}

body.lp-template-page-lp_hale #hale-price .sec-ttl-box-center {
	margin-bottom: 50px;
}

body.lp-template-page-lp_hale #hale-price .sec-ttl::before {
	content: "";
	background: url(../images/svg/price.svg) center / contain no-repeat;
	background-size: contain;
	position: absolute;
	top: -68px;
	left: 0;
	right: 0;
	margin: auto;
	display: inline-block;
	width: 174px;
	height: 86px;
	z-index: -1;
}

body.lp-template-page-lp_hale #hale-price .table-box {
	width: 465px;
}

body.lp-template-page-lp_hale #hale-price .price-cont-area {
	margin-top: 50px;
}

body.lp-template-page-lp_hale #hale-price .cont-list-wrap {
	margin-top: 35px;
}

@media screen and (max-width: 767px) {
	body.lp-template-page-lp_hale #hale-price .price-area {
		flex-wrap: wrap;
	}
	body.lp-template-page-lp_hale #hale-price .table-box {
		width: 100%;
	}
	body.lp-template-page-lp_hale #hale-price .table-type-b + .table-type-b table {
		border-top: none;
	}
}

/* form */
body.lp-template-page-lp_hale #hale-form {
	overflow: hidden;
}

body.lp-template-page-lp_hale #hale-form .section-inner {
	padding-top: 160px;
}

body.lp-template-page-lp_hale #hale-form .sec-ttl-box-center {
	margin-bottom: 40px;
}

body.lp-template-page-lp_hale #hale-form .sec-ttl {
	position: relative;
}

body.lp-template-page-lp_hale #hale-form .sec-ttl::before {
	content: "";
	background: url(../images/hale/contact.svg) center / contain no-repeat;
	background-size: contain;
	position: absolute;
	top: -65px;
	left: 0;
	right: 0;
	margin: auto;
	display: inline-block;
	width: 275px;
	height: 90px;
	z-index: -1;
}

body.lp-template-page-lp_hale #hale-form .l-container {
	max-width: 1000px;
}

body.lp-template-page-lp_hale #hale-form .reservation-box {
	max-width: none;
	padding: 0;
}

@media screen and (max-width: 767px) {
	body.lp-template-page-lp_hale #hale-form .section-inner {
		padding-top: 120px;
	}

	body.lp-template-page-lp_hale #hale-form .reservation-box {
		padding: 0;
	}
}

/* reservation-box: 新cssでflex化・dashed border・border-radiusが追加されたため旧スタイルに戻す */
body.lp-template-page-lp_hale .hale-color .reservation-box {
	padding: 0;
	border: none;
	border-top: 1px solid #a7a49d;
	border-radius: 0;
	margin-top: 40px;
}

body.lp-template-page-lp_hale .reservation-box .item-wrap {
	display: block;
	padding: 1em 0.5em 1em;
	border-bottom: 1px solid #dbdbdb;
}

body.lp-template-page-lp_hale .reservation-box .item-wrap:first-child,
body.lp-template-page-lp_hale .reservation-box .item-wrap:first-of-type {
	border-top: 1px solid #dbdbdb;
}

body.lp-template-page-lp_hale .reservation-box .reservation-title {
	display: none;
}

body.lp-template-page-lp_hale .reservation-box .item-ttl {
	width: auto;
	font-size: 1.6rem;
	font-weight: 700;
}

/* item-ttl内のpタグが .hale-color .item-wrap p { font-size: 1.3rem } に引っかかるため上書き */
/* .hale-colorを加えてspecificityを上げて優先させる */
@media screen and (min-width: 768px) {
	body.lp-template-page-lp_hale .hale-color .reservation-box .item-ttl p {
		font-size: 1.6rem;
	}
}

@media screen and (max-width: 767px) {
	body.lp-template-page-lp_hale .reservation-box .item-ttl {
		font-size: 16px;
	}
	body.lp-template-page-lp_hale .hale-color .reservation-box .item-ttl p {
		font-size: 16px;
	}
}

body.lp-template-page-lp_hale .reservation-box .item-txt {
	width: auto;
	margin: 0.5em 0 0;
}

body.lp-template-page-lp_hale .reservation-box .notes-box {
	border: 1px solid #dbdbdb;
	background-color: transparent;
}

/* hale-color フォーム: 旧style.cssにあった.hale-color固有スタイルが新cssで削除されたため追加 */
/* 新style.cssの.btn-submit background-colorは#00a5c1だが旧は#1ba9bc */
body.lp-template-page-lp_hale .hale-color input[type="email"],
body.lp-template-page-lp_hale .hale-color input[type="number"],
body.lp-template-page-lp_hale .hale-color input[type="search"],
body.lp-template-page-lp_hale .hale-color input[type="text"],
body.lp-template-page-lp_hale .hale-color input[type="tel"],
body.lp-template-page-lp_hale .hale-color input[type="url"],
body.lp-template-page-lp_hale .hale-color input[type="password"],
body.lp-template-page-lp_hale .hale-color textarea,
body.lp-template-page-lp_hale .hale-color select {
	border: 1px solid #a7a49d;
}

body.lp-template-page-lp_hale .hale-color .reservation-box .item-wrap {
	border-bottom: 1px solid #a7a49d;
}

body.lp-template-page-lp_hale .hale-color .item-wrap p {
	font-size: 1.3rem;
}

body.lp-template-page-lp_hale .hale-color .wpcf7-radio input[type="radio"] + .wpcf7-list-item-label::after {
	background: #1ba9bc;
}

body.lp-template-page-lp_hale .hale-color .reservation-box .consent-btn {
	margin-top: 25px;
}

body.lp-template-page-lp_hale .hale-color .reservation-box .transmission-inner {
	margin-top: 25px;
}

/* ボタン本体のみターゲット（.btn-type-bはスピナーの親wrapper divのため除外） */
/* 新cssの border:none / padding不足 / box-shadow を上書き */
body.lp-template-page-lp_hale .hale-color .btn-submit,
body.lp-template-page-lp_hale .hale-color .transmission-btn,
body.lp-template-page-lp_hale .reservation-box .transmission-inner .btn-type-b input,
body.lp-template-page-lp_hale .reservation-box .transmission-inner .btn-type-b button {
	width: 424px;
	color: #fff;
	background-color: #1ba9bc;
	border: 1px solid #1ba9bc;
	border-style: outset;
	padding: 16.5px;
	cursor: pointer;
	border-radius: 100px;
	box-shadow: none;
	font-size: 1.8rem;
	line-height: 2;
}

/* btn-type-b wrapper: 幅はボタン本体に任せ、中央寄せのみ指定 */
body.lp-template-page-lp_hale .reservation-box .transmission-inner .btn-type-b {
	background-color: transparent;
	text-align: center;
	width: auto;
}

/* btn-type-b の矢印アイコン非表示 */
body.lp-template-page-lp_hale .reservation-box .transmission-inner .btn-type-b::before,
body.lp-template-page-lp_hale .reservation-box .transmission-inner .btn-type-b:hover::before {
	display: none;
}

/* wpcf7-spinner: CF7プラグインが<style>でスタイルをインジェクト。旧はposition:absoluteのみ */
body.lp-template-page-lp_hale .wpcf7-spinner {
	position: absolute;
	display: block;
	visibility: hidden;
	background-color: transparent;
	border-radius: 0;
	border: none;
	width: auto;
	height: auto;
	opacity: 1;
	margin: 0;
}

body.lp-template-page-lp_hale .hale-color .btn-submit:disabled,
body.lp-template-page-lp_hale .hale-color .transmission-btn:disabled {
	background-color: #d8d8d8;
	border-color: #d8d8d8;
}

body.lp-template-page-lp_hale .hale-color .btn-submit:hover,
body.lp-template-page-lp_hale .hale-color .transmission-btn:hover {
	opacity: 0.8;
}

@media screen and (max-width: 767px) {
	body.lp-template-page-lp_hale .hale-color .btn-submit,
	body.lp-template-page-lp_hale .hale-color .transmission-btn,
	body.lp-template-page-lp_hale .reservation-box .transmission-inner .btn-type-b input,
	body.lp-template-page-lp_hale .reservation-box .transmission-inner .btn-type-b button {
		width: 100%;
	}
	body.lp-template-page-lp_hale .reservation-box .transmission-inner .btn-type-b {
		width: 100%;
		padding: 0;
	}
}

/* hale-cta */
/* 新style.cssで .hale-cta::after の background が #00a5c1 に変わったため旧色に戻す */
body.lp-template-page-lp_hale .hale-cta::after {
	background: #1ba9bc;
}

/* .btn-type-a は style.css でcircle形状（aspect-ratio:1/1, border-radius:50%）に定義されているため LP 内でリセット */
body.lp-template-page-lp_hale .btn-type-a {
	position: relative;
	color: #1baabc;
	flex-direction: row;
	aspect-ratio: auto;
	border-radius: 100px;
	width: auto;
	padding: 10px 50px 10px 24px; /* 右側に矢印スペース確保 */
}

/* ボタン右矢印 (CSS chevron) */
body.lp-template-page-lp_hale .btn-type-a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 28px;
	width: 9px;
	height: 9px;
	border-right: 2px solid #1baabc;
	border-top: 2px solid #1baabc;
	transform: translateY(-50%) rotate(45deg);
}

/* style.css のホバー拡大 (scale(1.1)) を LP では無効化 */
body.lp-template-page-lp_hale .btn-type-a:hover {
	transform: none;
	opacity: 0.85;
}

body.lp-template-page-lp_hale .hale-cta .txt-area .ttl {
	font-size: 2.8rem;
}

@media screen and (max-width: 1390px) {
	body.lp-template-page-lp_hale .hale-cta .txt-area .ttl {
		font-size: 24px;
	}
}

@media screen and (max-width: 960px) {
	body.lp-template-page-lp_hale .hale-cta .txt-area .ttl {
		font-size: 20px;
	}
}

@media screen and (max-width: 767px) {
	body.lp-template-page-lp_hale .hale-cta .txt-area .ttl {
		font-size: 25px;
	}
}

body.lp-template-page-lp_hale .hale-cta .btn-type-a {
	width: 520px;
	font-size: 2.2rem;
	margin: 0 auto;
}

@media screen and (max-width: 1390px) {
	body.lp-template-page-lp_hale .hale-cta .btn-type-a {
		width: 100%;
		font-size: 18px;
	}
}

@media screen and (max-width: 767px) {
	body.lp-template-page-lp_hale .hale-cta .btn-type-a {
		max-width: 100%;
	}
}

/* ============================
	footer
============================ */
body.lp-template-page-lp_hale .footer-hale {
	position: relative;
}

body.lp-template-page-lp_hale .footer-hale::before {
	content: "";
	background: #fedc00;
	position: absolute;
	width: 110vw;
	height: 130%;
	top: 10px;
	transform: rotate(-4deg);
}

body.lp-template-page-lp_hale .footer-hale::after {
	content: "";
	background: #1ba9bc;
	position: absolute;
	width: 110vw;
	height: 130%;
	top: 10px;
	left: -5%;
	transform: rotate(-2deg);
}

body.lp-template-page-lp_hale .footer-hale p + p {
	margin-top: 0;
}

body.lp-template-page-lp_hale .footer-hale .footer-hale-inner {
	position: relative;
	padding: 80px 0;
	text-align: center;
	color: #fff;
	z-index: 10;
}

body.lp-template-page-lp_hale .footer-hale .info-box {
	margin: 20px 0;
}

body.lp-template-page-lp_hale .footer-hale .tel-box {
	margin-top: 20px;
	font-size: 1.8rem;
	line-height: 1.6;
	font-weight: 700;
}

body.lp-template-page-lp_hale .footer-hale .tel {
	background: url(../images/common/icon_freedial.svg) center left / 40px no-repeat;
	color: #fff;
	padding-left: 50px;
}

body.lp-template-page-lp_hale .footer-hale .copyright {
	margin-top: 10px;
	font-size: 1rem;
}

@media screen and (max-width: 767px) {
	body.lp-template-page-lp_hale .footer-hale::before,
	body.lp-template-page-lp_hale .footer-hale::after {
		height: 100%;
	}
	body.lp-template-page-lp_hale .footer-hale .tel {
		position: relative;
		font-size: 30px;
		padding-left: 50px;
	}
}
