* {
	box-sizing: border-box;
}

html {
	font-size: 10px;
	scroll-padding-top: 5.8rem;
	/* URL直接アクセス時にstickyヘッダー分よけてスクロールさせる（.header__inner と同じ高さ） */
}

body {
	font-size: 1.6rem;
	font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-weight: 400;
	letter-spacing: 0.03em;
	/*font-feature-settings: "palt";*/
	color: #000;
}

main {}

input,
select,
textarea {
	font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-weight: 400;
	/*font-feature-settings: "palt";*/
}

a {
	color: #000;
	transition: all 0.3s ease-out;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	font-weight: normal;
}

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

.inner {
	width: 96rem;
	margin: 0 auto;
}

.u-mobile {
	display: none;
}

.u-desktop {
	display: block;
}

.scroll-prevent {
	overflow: hidden;
	scrollbar-gutter: stable;
}

@media screen and (max-width: 1000px) {
	html {
		font-size: calc((10 / 393) * 100vw);
		min-height: 100%;
		scroll-padding-top: 5.9rem;
		/* SPヘッダー分の余白（.header__inner と同じ、fluid font-size に追従） */
	}

	.inner {
		width: calc(100% - 4.8rem);
	}

	.u-mobile {
		display: block;
	}

	.u-desktop {
		display: none;
	}
}

.header {
	position: sticky;
	top: 0;
	z-index: 99;
	background-color: #fff;
}

.header__inner {
	width: 130rem;
	height: 5.8rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.header__info {
	display: flex;
	align-items: center;
	gap: 1.8rem;
}

.header__logo {
	width: 14rem;
}

.header__label {
	width: 5rem;
}

.header__btn {
	display: none;
}

.header__cta {
	display: none;
}

.header__nav ul {
	display: flex;
	gap: 3rem;
}

.header__nav ul a {
	font-size: 1.3rem;
	font-weight: 700;
	letter-spacing: 0;
}

@media screen and (max-width: 1300px) {
	.header__inner {
		width: 100%;
		height: 5.9rem;
	}

	.header__info {
		width: 100%;
		justify-content: space-between;
	}

	.header__label-btn {
		height: 5.9rem;
		display: flex;
		gap: 1.1rem;
	}

	.header__btn {
		width: 5.5rem;
		height: 5.5rem;
		background-color: #000;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 1rem;
		border-bottom-left-radius: 1rem;
		position: relative;
		z-index: 100;
	}

	.header__btn>div {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 0.9rem;
	}

	.header__btn span {
		width: 2.3rem;
		height: 0.1rem;
		background-color: #fff;
		transition: all 0.3s ease-out;
	}

	.header__btn p {
		font-size: 1rem;
		font-weight: 700;
		color: #fff;
		text-transform: uppercase;
	}

	.header__btn.is-opened span:nth-of-type(1) {
		rotate: 45deg;
		translate: 0 0.5rem;
	}

	.header__btn.is-opened span:nth-of-type(2) {
		rotate: -45deg;
		translate: 0 -0.5rem;
	}

	.header__sp {
		width: 31.3rem;
		height: 100%;
		padding: 0 2.8rem 0 3.8rem;
		background-color: #1C76E5;
		border-top-left-radius: 3rem;
		border-bottom-left-radius: 3rem;
		display: flex;
		flex-direction: column;
		justify-content: center;
		position: fixed;
		top: 0;
		right: -100%;
		z-index: 99;
		transition: all 0.3s ease-out;
		opacity: 0;
		visibility: hidden;
		/* 縦幅が足りない端末ではメニュー内をスクロール可能に */
		overflow-y: auto;
	}

	.header__sp.is-active {
		opacity: 1;
		visibility: visible;
		right: 0;
	}

	.header__nav ul {
		flex-direction: column;
		gap: 1.5rem;
		margin-left: 1.5rem;
	}

	.header__nav ul a {
		font-size: 1.6rem;
		line-height: 2;
		font-weight: 900;
		color: #fff;
	}

	.header__cta {
		display: block;
		margin-top: 3.6rem;
	}

	.header__cta .tel {
		margin-bottom: 1.8rem;
	}

	.header__cta .tel a {
		width: 100%;
		height: 8.4rem;
		background-color: #FFEB22;
		border-radius: 9rem;
		border: 0.3rem solid #fff;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 1rem;
	}

	.header__cta .tel .num {
		font-size: 2.6rem;
		font-weight: 700;
		color: #000;
	}

	.header__cta .tel .time {
		font-size: 1.1rem;
		font-weight: 700;
		color: #000;
	}

	.header__cta .mail a {
		font-size: 1.6rem;
		width: 23rem;
		height: 6.1rem;
		margin: 0 auto;
	}

	.header__logo {
		width: 14rem;
		margin-left: 1.9rem;
	}

	.header__label {
		width: 5rem;
		display: flex;
		align-items: center;
	}
}

@media screen and (max-width: 1000px) and (min-aspect-ratio: 3/5) {
	.header__nav ul {
		gap: clamp(8px, 1.8vh, 2rem);
	}

	.header__nav ul a {
		font-size: clamp(13px, 2.2vh, 1.6rem);
		line-height: 1.5;
	}

	.header__cta {
		margin-top: clamp(16px, 3vh, 3.6rem);
	}

	.header__cta .tel {
		margin-bottom: clamp(8px, 1.5vh, 1.8rem);
	}

	.header__cta .tel a {
		height: clamp(56px, 8vh, 8.4rem);
		gap: clamp(4px, 1vh, 1rem);
	}

	.header__cta .tel .num {
		font-size: clamp(16px, 2.8vh, 2.6rem);
	}

	.header__cta .tel .time {
		font-size: clamp(9px, 1.3vh, 1.1rem);
	}

	.header__cta .mail a {
		height: clamp(40px, 5.8vh, 6.1rem);
		font-size: clamp(13px, 1.8vh, 1.6rem);
		width: clamp(180px, 60vw, 23rem);
	}
}

.footer {
	padding: 2.8rem 0;
	background-color: #000;
}

.footer__copyright {
	font-size: 1.1rem;
	color: #fff;
	text-align: center;
}

@media screen and (max-width: 1000px) {
	.footer {
		padding: 2.4rem 0;
	}
}

.sec__head {
	width: 60rem;
	height: 8rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #1C76E5;
	margin: 0 auto;
	position: relative;
}

.sec__head::after {
	content: "";
	width: 5rem;
	height: 1.7rem;
	background-color: #1C76E5;
	clip-path: polygon(100% 0, 0 0, 50% 100%);
	position: absolute;
	bottom: -1rem;
	left: 50%;
	translate: -50% 0;
}

.sec__head h2 {
	font-size: 2.6rem;
	line-height: 1.5;
	font-weight: 700;
	text-align: center;
	color: #fff;
}

.sec__num {
	width: 8.7rem;
	height: 8.7rem;
	border-radius: 50%;
	background-color: #1C76E5;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.8rem;
	position: absolute;
	top: -2rem;
	left: -1.5rem;
}

.sec__num span {
	font-size: 1rem;
	color: #fff;
}

.sec__num img {
	margin-right: 0.2rem;
}

.sec__btn {
	font-size: 1.5rem;
	font-weight: 700;
	color: #fff;
	width: 20.5rem;
	height: 5rem;
	border-radius: 5rem;
	background-color: #26A443;
	border: 0.2rem solid #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 0.5rem 1.5rem 0 rgba(0, 0, 0, 0.15);
}

.sec__wai {
	width: fit-content;
	margin: 0 auto;
	position: relative;
}

.sec__wai::before,
.sec__wai::after {
	content: "";
	width: 2.6rem;
	height: 5.2rem;
	background-image: url(../img-top/icon__wai.png);
	background-size: cover;
	background-repeat: no-repeat;
	position: absolute;
	top: -1.3rem;
}

.sec__wai::before {
	left: -4.4rem;
}

.sec__wai::after {
	right: -4.4rem;
	rotate: 180deg;
}

.sec__fukidashi {
	font-size: 1.7rem;
	font-weight: 700;
	text-align: center;
	padding: 1.6rem 2.4rem;
	background-color: #fff;
	border-top-left-radius: 1.1rem;
	border-top-right-radius: 1.1rem;
	border-bottom-right-radius: 1.1rem;
	width: fit-content;
	margin: 0 auto;
	position: relative;
}

.sec__fukidashi::before {
	content: "";
	width: 1.2rem;
	height: 1.2rem;
	background-color: #BCC7D3;
	clip-path: polygon(100% 0, 0 0, 100% 100%);
	position: absolute;
	left: 0;
	top: 100%;
}

.sec__bgdot {
	position: relative;
	z-index: 2
}

.sec__bgdot::before,
.sec__bgdot::after {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
}

.sec__bgdot::before {
	background-color: #eee;
	z-index: -2;
}

.sec__bgdot::after {
	background-image: url(../img-top/media__bg.png);
	background-repeat: repeat;
	background-size: contain;
	z-index: -1;
}

@media screen and (max-width: 1000px) {
	.sec__head h2 {
		font-size: 2.4rem;
	}

	.sec__num {
		width: 6.8rem;
		height: 6.8rem;
		top: -0.8rem;
		left: -1.6rem;
	}

	.sec__wai::before,
	.sec__wai::after {
		top: 0.5rem;
	}
}


section .swiper-button-prev,
section .swiper-button-next {
	width: 5.7rem;
	height: 5.7rem;
	border-radius: 50%;
	background-color: #fff;
	box-shadow: 0 0.3rem 4.5rem 0 rgba(0, 0, 0, 0.07);
	top: 50%;
	translate: 0 -50%;
	margin: 0;
}

section .swiper-button-prev {
	left: -8.4rem;
}

section .swiper-button-next {
	right: -8.4rem;
}

section .swiper-button-prev::after,
section .swiper-button-next::after {
	font-size: 2rem;
	font-weight: 700;
	color: #000;
}

@media screen and (max-width: 1000px) {
	section .swiper-button-prev {
		left: -2rem;
	}

	section .swiper-button-next {
		right: -2rem;
	}
}


.cta {
	padding: 4.4rem 0 4.4rem;
	background-color: #1C76E5;
	position: relative;
	z-index: 3;
}

.cta__inner {
	width: 78rem;
}

.cta__fukidashi {
	padding: 1.1rem 2.7rem;
	background-color: #E9F3FF;
	position: absolute;
	top: -2.2rem;
	left: 50%;
	translate: -50%;
	translate: -50% 0;
}

.cta__fukidashi img {
	width: 18.7rem;
}

.cta__head {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
	margin-bottom: 1.5rem;
}

.cta__head p {
	font-size: 1.9rem;
	font-weight: 700;
	text-align: center;
	color: #fff;
	display: flex;
	align-items: center;
	gap: 0.4rem;
}

.cta__head p img {
	width: 15.3rem;
}

.cta__head h2 {
	font-size: 2.3rem;
	font-weight: 700;
	text-align: center;
	color: #fff;
	display: flex;
	align-items: center;
	gap: 0.4rem;
}

.cta__head h2 img {
	width: 23.9rem;
}

.cta__feature {
	display: flex;
	justify-content: center;
	gap: 1.4rem;
	margin-bottom: 1.3rem;
}

.cta__feature>li {
	padding: 1.3rem 0 1.3rem 2.5rem;
	background-color: #fff;
	border-radius: 1rem;
	position: relative;
}

.cta__feature>li p {
	font-size: 1.4rem;
	font-weight: 900;
}

.cta__feature>li p .orange {
	color: #E66500;
}

.cta__feature>li p .u-desktop {
	display: inline;
}

.cta__feature>li img {
	position: absolute;
	right: 2rem;
	bottom: 0.6rem;
}

.cta__feature>li.cta__feature-01 {
	padding-right: 6.7rem;
}

.cta__feature>li.cta__feature-01 img {
	width: 2.8rem;
}

.cta__feature>li.cta__feature-02 {
	padding-right: 7.8rem;
}

.cta__feature>li.cta__feature-02 img {
	width: 5.2rem;
}

.cta__feature>li.cta__feature-03 {
	padding-right: 8rem;
}

.cta__feature>li.cta__feature-03 img {
	width: 5.2rem;
}

.cta__coupon-tel-mail {
	display: flex;
	align-items: flex-end;
	gap: 2.3rem;
	margin-bottom: 1.2rem;
}

.cta__coupon {
	width: 30rem;
	margin-left: -1.4rem;
}

.cta__tel-mail {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.6rem;
}

.cta__tel-mail .tel {}

.cta__tel-mail .tel a {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.cta__tel-mail .tel .num {
	font-family: "Roboto", sans-serif;
	font-size: 6.9rem;
	font-weight: 700;
	color: #fff;
}

.cta__tel-mail .tel .time {
	font-size: 1.2rem;
	font-weight: 700;
	color: #FCE61C;
	padding: 0.7rem 5.4rem;
	border: 0.1rem solid;
}

.cta__tel-mail .mail a {
	font-size: 1.4rem;
	width: 20.5rem;
	height: 5.4rem;
}

.cta__note {
	font-size: 1.2rem;
	line-height: 1.8;
	color: #fff;
}

@media screen and (max-width: 1000px) {
	.cta {
		padding: 4.3rem 0 4.4rem;
	}

	.cta__inner {
		width: calc(100% - 4.8rem);
	}

	.cta__fukidashi {
		width: max-content;
		top: -1.7rem;
	}

	.cta__head {
		margin-bottom: 1.6rem;
	}

	.cta__head p {
		font-size: 1.8rem;
		gap: 0.4rem;
	}

	.cta__head p img {
		width: 14.3rem;
	}

	.cta__head h2 {
		font-size: 2.1rem;
		gap: 0.4rem;
	}

	.cta__head h2 img {
		width: 21.8rem;
	}

	.cta__feature {
		gap: 0.6rem;
		margin-bottom: 3.2rem;
	}

	.cta__feature>li {
		width: calc((100% - 1.2rem) / 3);
		padding: 1.3rem 0;
		border-radius: 2rem;
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.cta__feature>li p {
		font-size: 1.4rem;
		line-height: 1.35;
		text-align: center;
	}

	.cta__feature>li p .u-desktop {
		display: none;
	}

	.cta__feature>li img {
		position: static;
		right: unset;
		bottom: unset;
	}

	.cta__feature>li.cta__feature-01,
	.cta__feature>li.cta__feature-02,
	.cta__feature>li.cta__feature-03 {
		padding-right: 0;
	}

	.cta__feature>li.cta__feature-01 img {
		width: 3.5rem;
		margin-top: 0.6rem;
	}

	.cta__feature>li.cta__feature-02 img {
		width: 5.5rem;
		margin-top: 1.1rem;
	}

	.cta__feature>li.cta__feature-03 img {
		width: 5.6rem;
		margin-top: 0.8rem;
		margin-left: 0.2rem;
	}

	.cta__coupon-tel-mail {
		flex-direction: column-reverse;
		align-items: unset;
		gap: 3.2rem;
		margin-bottom: 1.2rem;
	}

	.cta__coupon {
		width: 36.3rem;
		margin-left: -1.6rem;
	}

	.cta__tel-mail {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 1.6rem;
	}

	.cta__tel-mail .tel a {
		width: 33.5rem;
		height: 9.5rem;
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 1rem;
		background-color: #FFEB22;
		border-radius: 9rem;
		border: 0.3rem solid #fff;
		box-shadow: 0 .5rem 1.5rem 0 rgba(0, 0, 0, .15);
	}

	.cta__tel-mail .tel .num {
		font-size: 3.1rem;
		color: #000;
	}

	.cta__tel-mail .tel .time {
		font-size: 1.2rem;
		color: #000;
		padding: 0;
		border: 0;
	}

	.cta__tel-mail .mail a {
		font-size: 1.8rem;
		width: 26rem;
		height: 7rem;
	}

	.cta__note {
		font-size: 1.2rem;
	}
}

.map {
	padding: 4.8rem;
	background-color: #fff;
	border-radius: 3rem;
	margin-top: 1.8rem;
}

.map__catch {
	margin-bottom: 2.4rem;
}

.map__catch .num {
	font-size: 1.7rem;
	font-weight: 700;
	text-align: center;
	width: fit-content;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 0.7rem;
	position: relative;
}

.map__catch .num::before,
.map__catch .num::after {
	content: "";
	width: 2.4rem;
	height: 0.2rem;
	background-color: #E66500;
	border-radius: 2rem;
	position: absolute;
	top: 50%;
	translate: 0 -50%;
}

.map__catch .num::before {
	left: -2.4rem;
	rotate: 60deg;
}

.map__catch .num::after {
	right: -2.4rem;
	rotate: -60deg;
}

.map__catch .num img {
	width: 7.8rem;
	margin: 0 0.2rem 0 0.6rem;
}

.map__catch .num .orange {
	color: #E66500;
}

.map__catch .check {
	font-size: 2.1rem;
	font-weight: 700;
	text-align: center;
}

.map__include {
	width: 100%;
	height: 34.4rem;
	margin-bottom: 1.6rem;
	position: relative;
}

.map__include .gaiju-prefmap-wrap,
.map__include .prefmap-stage {
	height: 100%;
}

.map__min {
	width: 9rem;
	position: absolute;
	top: -4.3rem;
	right: -1.3rem;
}

.map__label {
	display: flex;
	gap: 3rem;
}

.map__label>li {
	font-size: 1.4rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	gap: 0.8rem;
}

.map__label>li::before {
	content: "";
	width: 3rem;
	height: 1.9rem;
	display: block;
	background-color: #BAE7BF;
}

.map__label>li.not::before {
	background-color: #DDDDDD;
}

@media screen and (max-width: 1000px) {
	.map {
		padding: 4.8rem 1.7rem;
		margin-left: -1.7rem;
		margin-right: -1.7rem;
		margin-top: 4.2rem;
		position: relative;
		z-index: 2;
	}

	.map::before {
		content: "";
		width: 100vw;
		height: 8.4rem;
		background-color: #fff;
		position: absolute;
		bottom: 0;
		left: -0.7rem;
		z-index: -1;
	}

	.map__catch {
		margin-bottom: 2.4rem;
	}

	.map__catch .num {
		font-size: 1.8rem;
	}

	.map__catch .num::before {
		left: -2.2rem;
	}

	.map__catch .num::after {
		right: -2.2rem;
	}

	.map__catch .num img {
		width: 7.4rem;
	}

	.map__catch .check {
		font-size: 2.4rem;
		line-height: 1.5;
	}

	.map__include {
		width: 100vw;
		height: 37.9rem;
		margin-left: -2.4rem;
		margin-right: -2.4rem;
	}

	.map__min {
		top: -1.6rem;
		right: 2.4rem;
	}
}

.mv {
	padding: 3.2rem 0 5.6rem;
	background-image: url(../img-top/mv__bg.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
}

.mv__inner {
	width: 89rem;
}

.mv__gaiju {
	width: 60rem;
	margin-bottom: 2.4rem;
}

.mv__catch-feature {
	display: flex;
	align-items: flex-end;
	margin-bottom: 3.2rem;
	position: relative;
}

.mv__catch {
	width: 46.6rem;
	position: relative;
	z-index: 2;
}

.mv__feature {
	display: flex;
	gap: 0.8rem;
	position: relative;
	z-index: 2;
}

.mv__feature>li {
	width: 13.6rem;
}

.mv__img {
	width: 23.5rem;
	position: absolute;
	right: 0;
	bottom: 0;
}

.mv__cta {
	max-width: 78rem;
	padding: 1.6rem;
	background-color: #26A443;
	border-radius: 1.5rem;
	margin: 0 auto;
}

.mv__cta__catch {
	display: flex;
	justify-content: center;
	gap: 1rem;
	margin-bottom: 1rem;
}

.mv__cta__catch p {
	font-size: 2.1rem;
	font-weight: 700;
	color: #fff;
	display: flex;
	align-items: center;
	gap: 0.4rem;
}

.mv__cta__catch .min {
	width: 9.1rem;
	margin-top: -1rem;
}

.mv__cta__catch .free {
	width: 17.7rem;
	margin-top: -1rem;
}

.mv__cta__box {
	padding: 1.6rem;
	background-color: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
}

.mv__cta__box .lead {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.mv__cta__box .lead p {
	font-size: 1.7rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	gap: 0.2rem;
}

.mv__cta__box .lead .specialist {
	width: 14rem;
}

.mv__cta__box .lead ul {
	display: flex;
	gap: 0.6rem;
}

.mv__cta__box .lead ul>li {
	font-size: 1.3rem;
	font-weight: 900;
	padding: 1rem 1rem;
	border: 0.2rem solid #039D20;
	border-radius: 0.5rem;
}

.mv__cta__box .lead ul>li span {
	color: #E66500;
}

.mv__cta__box .tel-mail {
	display: flex;
	align-items: center;
	gap: 2.5rem;
}

.mv__cta__box .tel>p {
	display: none;
}

.mv__cta__box .tel a {}

.mv__cta__box .tel a>span {
	display: none;
}

.mv__cta__box .tel a .num {
	font-family: "Roboto", sans-serif;
	font-size: 6rem;
	font-weight: 700;
	color: #E66500;
}

.mv__cta__box .tel a .time {
	display: none;
}

.mv__cta__box .mail a {
	width: 20.5rem;
	height: 5rem;
	background-color: #26A443;
}

@media screen and (max-width: 1000px) {
	.mv {
		padding: 1.6rem 0 3.2rem;
		background-image: url(../img-top/mv__bg.jpg);
	}

	.mv__inner {
		width: 100%;
	}

	.mv__gaiju {
		width: calc(100% - 4.8rem);
		/* 画面幅 - 左右余白 4.8rem（=24px×2 @393）/ .inner と同じ余白幅 */
		margin: 0 auto 1.8rem;
	}

	.mv__catch-feature {
		flex-direction: column;
		align-items: unset;
		gap: 1rem;
		margin: 0 auto 3.5rem;
	}

	.mv__catch {
		width: 27.5rem;
		margin-left: 1.2rem;
	}

	.mv__feature {
		justify-content: center;
		gap: 0.6rem;
	}

	.mv__feature>li {
		width: 11.5rem;
	}

	.mv__img {
		width: 16.9rem;
		position: absolute;
		right: 0;
		bottom: -4.6rem;
	}

	.mv__cta {
		max-width: 100%;
		padding: 0;
		background-color: unset;
		border-radius: 0;
		margin: 0 auto;
		position: relative;
		z-index: 2;
	}

	.mv__cta__catch {
		display: none;
	}

	.mv__cta__box {
		padding: 0;
		background-color: unset;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 0.5rem;
	}

	.mv__cta__box .lead {
		display: none;
	}

	.mv__cta__box .tel-mail {
		flex-direction: column;
		gap: 1.6rem;
	}

	.mv__cta__box .tel {
		position: relative;
	}

	.mv__cta__box .tel>p {
		font-size: 1.6rem;
		padding: 1.2rem 0.6rem 1.2rem 1.2rem;
		display: block;
		position: absolute;
		top: -3rem;
		left: 2.9rem;
	}

	.mv__cta__box .tel>p span {
		color: #E66500;
	}

	.mv__cta__box .tel a {
		width: 33.5rem;
		height: 11rem;
		background-color: #FFEB22;
		border-radius: 11rem;
		border: 0.3rem solid #fff;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 0.4rem;
	}

	.mv__cta__box .tel a>span {
		font-size: 1.5rem;
		font-weight: 700;
		color: #000;
		display: block;
	}

	.mv__cta__box .tel a .num {
		font-size: 3rem;
		color: #000;
	}

	.mv__cta__box .tel a .time {
		font-size: 1.2rem;
		font-weight: 700;
		color: #000;
		display: block;
	}

	.mv__cta__box .mail a {
		font-size: 1.8rem;
		width: 26rem;
		height: 7rem;
	}
}


.media {
	padding: 5.6rem 0 0;
	position: relative;
}

.media::before,
.media::after {
	width: 100%;
	height: 50rem;
}

/*
.media::before{
	background-color: #FEF7A5;
}
*/
.media__inner {
	position: relative;
	z-index: 2;
}

.media__head {
	width: fit-content;
	margin: 0 auto 1.6rem;
	position: relative;
}

.media__head h2 {
	font-size: 2.4rem;
	line-height: 1.5;
	font-weight: 700;
	text-align: center;
}

.media__head h2::before,
.media__head h2::after {
	top: -1.5rem;
}

.media__head h2::before {
	left: -2.7rem;
	rotate: 32deg;
}

.media__head h2::after {
	right: -2.7rem;
	rotate: -212deg;
}

.media__head .person__01 {
	width: 7.2rem;
	position: absolute;
	top: -1.2rem;
	left: -13rem;
}

.media__head .person__02 {
	width: 11.1rem;
	position: absolute;
	top: -1.0rem;
	right: -16.3rem;
}

.media__video {
	width: 57.8rem;
	height: 33.5rem;
	background-color: #898989;
	border-radius: 2rem;
	border: 0.5rem solid #fff;
	overflow: hidden;
	margin: 0 auto 4.8rem;
	position: relative;
	z-index: 2;
}

.media__video iframe {
	width: 100%;
	height: 100%;
}

.media__pikcup {
	position: relative;
	z-index: 2;
}

.media__pikcup p {
	margin-bottom: 1.8rem;
}

.media__slider {
	overflow: hidden;
	width: 100%;
	display: flex;
	align-items: center;
}

.media__scroll {
	animation: scroll 25s linear infinite;
	flex-shrink: 0;
}

.media__scroll ul {
	display: flex;
	align-items: center;
}

.media__scroll ul li {
	flex-shrink: 0;
	margin: 0 1rem;
}

.media__scroll ul li img {
	width: 15rem;
}

.media__scroll ul li.media__01 img {
	width: 11rem;
}

.media__scroll ul li.media__02 img {
	width: 13rem;
}

.media__scroll ul li.media__04 img {
	width: 12rem;
}

.media__scroll ul li.media__05 img {
	width: 22rem;
}

.media__scroll ul li.media__06 img {
	width: 8rem;
}

.media__scroll ul li.media__07 img {
	width: 17rem;
}

@keyframes scroll {
	0% {
		transform: translateX(0%);
	}

	100% {
		transform: translateX(-100%);
	}
}

@media screen and (max-width: 1000px) {
	.media {
		padding: 3.6rem 0 0;
		overflow: hidden;
	}

	.media::before,
	.media::after {
		height: 35.2rem;
	}

	.media__head h2 {
		font-size: 2rem;
		position: relative;
		z-index: 2;
	}

	/*
.media__head h2::before,
.media__head h2::after{
	top: 50%;
	translate: 0 -50%;
}
.media__head h2::before{
	left: -3.4rem;
	rotate: 0deg;
}
.media__head h2::after{
	right: -3.2rem;
	rotate: 180deg;
}
*/
	.media__head h2::before,
	.media__head h2::after {
		width: 2rem;
		height: 4rem;
	}

	.media__head h2::before {
		left: -0.5rem;
	}

	.media__head h2::after {
		right: -0.5rem;
	}

	.media__head .person__01 {
		width: 7.2rem;
		top: -1.8rem;
		left: -9.3rem;
	}

	.media__head .person__02 {
		width: 11.1rem;
		top: -1.6rem;
		right: -11.2rem;
	}

	.media__video {
		width: 34rem;
		height: 19.7rem;
		border-radius: 1rem;
		margin-bottom: 2.5rem;
	}

	.media__pikcup p {
		margin-bottom: 1.6rem;
	}

	.media__scroll {
		animation: scroll 35s linear infinite;
	}
}


.award {
	padding: 5.6rem 0;
	background-color: #1C76E5;
}

.award__inner {
	width: 89rem;
}

.award__box {
	padding: 4.8rem 5.6rem;
	background-color: #fff;
	border-radius: 3rem;
}

.award__h2 {
	font-size: 2.2rem;
	font-weight: 700;
	text-align: center;
	position: relative;
	margin-bottom: 3.2rem;
}

.award__catch-list {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.7rem;
	margin-bottom: 1.6rem;
}

.award__catch {
	width: 36rem;
}

.award__list {
	display: flex;
	gap: 1.2rem;
}

.award__list>li {
	width: 12.7rem;
}

.award__note {
	font-size: 1rem;
	line-height: 1.7;
	font-weight: 500;
}

.award__association {
	margin-top: 2.4rem;
	padding: 4rem 5rem 2.4rem;
	display: flex;
	align-items: flex-end;
	gap: 5rem;
	position: relative;
}

.award__association::before {
	background-color: #E1EEFF;
}

.award__about {
	flex-shrink: 0;
	position: relative;
}

.award__about p {
	font-size: 1.6rem;
	width: max-content;
	position: absolute;
	top: -2.6rem;
	left: 50%;
	translate: -50% 0;
}

.award__about img {
	width: 27rem;
	border-radius: 1rem;
	border: 0.4rem solid #fff;
}

.award__detail p {
	font-size: 1.6rem;
	line-height: 1.8;
	margin-bottom: 1.6rem;
}

.award__detail a {
	font-size: 1.6rem;
	width: 22rem;
	height: 6rem;
	background-color: #E66500;
	margin-left: 4rem;
}

@media screen and (max-width: 1000px) {
	.award {
		padding: 4.8rem 0;
	}

	.award__inner {
		width: 38rem;
	}

	.award__box {
		padding: 4.2rem 1.8rem 4.8rem;
		border-radius: 3rem;
	}

	.award__h2 {
		font-size: 2rem;
		line-height: 1.46;
		font-weight: 700;
		position: relative;
		margin-bottom: 3.2rem;
	}

	.award__catch-list {
		flex-direction: column;
		gap: 1.7rem;
		margin-bottom: 1.4rem;
	}

	.award__catch {
		width: 34rem;
		margin-left: 1rem;
	}

	.award__list {
		justify-content: center;
		gap: 1rem;
	}

	.award__list>li {
		width: 11.1rem;
	}

	.award__note {
		font-size: 1rem;
		line-height: 1.5;
	}

	.award__association {
		margin-top: 2.4rem;
		padding: 5.5rem 2rem 5rem;
		flex-direction: column;
		align-items: center;
		gap: 2rem;
	}

	.award__about p {
		font-size: 1.8rem;
		top: -2.6rem;
	}

	.award__about img {
		width: 31.4rem;
		border-radius: 1rem;
		border: 0.5rem solid #fff;
	}

	.award__detail p {
		font-size: 1.6rem;
		margin-bottom: 2.4rem;
	}

	.award__detail a {
		font-size: 1.8rem;
		width: 26rem;
		height: 7rem;
		margin: 0 auto;
	}
}

.situation {
	padding: 5.6rem 0 8.6rem;
	background-color: #CBD7E7;
}

.situation__head {
	padding: 1.5rem 9rem 1.5rem 2rem;
	background-color: #fff;
	border-radius: 1.1rem;
	width: fit-content;
	margin: 0 auto 5.4rem;
	position: relative;
}

.situation__head h2 {
	font-size: 2rem;
	font-weight: 700;
}

.situation__head h2 span {
	color: #E66500;
}

.situation__head .person__03 {
	width: 10.7rem;
	position: absolute;
	right: 0;
	bottom: -0.4rem;
}

.situation__list {
	display: flex;
	justify-content: center;
	gap: 10rem;
}

.situation__list>li {
	width: 15rem;
	position: relative;
	z-index: 2;
}

.situation__list>li::before {
	content: "";
	width: 21.1rem;
	height: 22rem;
	background-image: url(../img-top/situation__list.png);
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	top: 50%;
	left: 50%;
	translate: -50% -50%;
	z-index: -2;
}

.situation__list>li>div {
	height: calc(3.6rem * 1.35);
	margin-bottom: 1.5rem;
}

.situation__list>li p {
	font-size: 1.8rem;
	line-height: 1.35;
	font-weight: 700;
	text-align: center;
}

.situation__list>li p span {
	color: #E66500;
}

@media screen and (max-width: 1000px) {
	.situation {
		padding: 4.8rem 0 7.2rem;
	}

	.situation__head {
		padding: 1.4rem 8rem 1.4rem 2rem;
		margin-bottom: 4.8rem;
	}

	.situation__head h2 {
		font-size: 1.6rem;
	}

	.situation__head .person__03 {
		width: 10.7rem;
		right: 0;
		bottom: -0.4rem;
	}

	.situation__list {
		flex-wrap: wrap;
		gap: 6rem 5.9rem;
	}

	.situation__list>li {
		width: 11.9rem;
	}

	.situation__list>li::before {
		width: 17rem;
		height: 17.4rem;
	}

	.situation__list>li>div {
		height: calc(2.8rem * 1.35);
		display: flex;
		align-items: center;
		justify-content: center;
		margin-bottom: 1.2rem;
	}

	.situation__list>li p {
		font-size: 1.4rem;
	}

	.situation__list>li p .u-desktop {
		display: none;
	}
}

.reason {
	padding: 4.8rem 0;
	background-color: #DDECFF;
}

.reason__inner {
	width: 89rem;
}

.reason__head {
	width: 57.7rem;
	height: 8.9rem;
	margin-bottom: 5.4rem;
}

.reason__head .person__01 {
	width: 6.4rem;
	position: absolute;
	top: -1.9rem;
	left: 3.3rem;
}

.reason__head .person__04 {
	width: 8.3rem;
	position: absolute;
	top: -2.3rem;
	right: 3.3rem;
}

.reason__list {
	display: flex;
	flex-direction: column;
	gap: 4.8rem;
}

.reason__list>li {
	position: relative;
}

.reason__num {
	width: 8.7rem;
	height: 8.7rem;
}

.reason__txt {
	width: 53rem;
	padding: 3.8rem 8.8rem 4rem;
	background-color: #fff;
	border-radius: 3rem;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.reason__catch {
	font-size: 2.4rem;
	line-height: 1.66;
	font-weight: 700;
}

.reason__catch sub {
	font-size: 1.2rem;
	margin: 0 0.2rem;
}

.reason__desc {
	font-size: 1.6rem;
	line-height: 1.8;
}

.reason__note {
	font-size: 1.2rem;
	line-height: 1.5;
}

.reason__note a {
	text-decoration: underline;
}

.reason__img {
	width: 43rem;
	position: absolute;
	right: 0;
	bottom: -4.8rem;
}

.reason__type {
	display: flex;
	justify-content: center;
	gap: 0.9rem;
	margin-top: 5.6rem;
}

.reason__type>li {
	width: 25rem;
	padding: 2.3rem 0 2.1rem;
	flex-shrink: 0;
	position: relative;
	z-index: 2;
}

.reason__type>li::before {
	content: "";
	width: 100%;
	height: 100%;
	background-color: #EAF3FF;
	border-radius: 2rem;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.reason__type>li dt {
	font-size: 1.8rem;
	font-weight: 700;
	text-align: center;
	margin-bottom: 2.2rem;
	position: relative;
}

.reason__type>li dt::after {
	content: "";
	width: 11.4rem;
	height: 0.3rem;
	border-radius: 0.1rem;
	background-color: #1C76E5;
	position: absolute;
	bottom: -1.2rem;
	left: 50%;
	translate: -50% 0;
}

.reason__type>li dd img {
	width: 8.9rem;
	background-color: #fff;
	border-radius: 50%;
	margin: 0 auto 1.6rem;
}

.reason__type>li dd p {
	font-size: 1.4rem;
	line-height: 1.54;
	font-weight: 500;
	text-align: center;
}

.reason__01 .reason__num img {
	width: 1.7rem;
}

.reason__02 .reason__num img {
	width: 2.4rem;
}

.reason__03 .reason__num img {
	width: 2.5rem;
}

.reason__04 .reason__num img {
	width: 2.6rem;
}

.reason__04 .reason__txt {
	width: 100%;
	padding-bottom: 4.8rem;
}

.reason__type>li.ours {
	color: #fff;
}

.reason__type>li.ours::before {
	background-color: #1C76E5;
}

.reason__type>li.ours dt::after {
	background-color: #FFEB22;
}

.reason__type>li.ours .reason__ours {
	width: 15.7rem;
	position: absolute;
	top: -3.2rem;
	left: 4rem;
	z-index: 2;
}

.reason__type>li.ours .person__05 {
	width: 5.4rem;
	position: absolute;
	top: -5.1rem;
	left: 1.4rem;
	z-index: -2;
}

.comparison {
	margin-top: 5.2rem;
}

#comparison {
	scroll-margin-top: 2rem;
	/* アンカー時、ヘッダー直下に文字が密着しないよう余白を確保 */
	/* ※ html の scroll-padding-top と加算されて、ヘッダー下に約20px の余白ができる */
}

.comparison h3 {
	font-size: 2.6rem;
	font-weight: 700;
	text-align: center;
	margin-bottom: 5.6rem;
}

.comparison__table {
	width: fit-content;
	margin: 0 auto;
}

.comparison__table>div {
	display: flex;
	height: 9rem;
	background-color: #fff;
	position: relative;
}

.comparison__table>div:nth-of-type(2) {
	border-top-left-radius: 1.2rem;
}

.comparison__table>div:last-of-type {
	border-bottom-left-radius: 1.2rem;
	border-bottom-right-radius: 1.2rem;
}

.comparison__table>div:not(:last-of-type)::before {
	content: "";
	width: 100%;
	height: 0.2rem;
	background-color: #F4F4F4;
	position: absolute;
	left: 0;
	bottom: -0.1rem;
}

.comparison__table dt {
	font-size: 1.5rem;
	font-weight: 500;
	text-align: center;
	width: 15rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.comparison__table dd {
	width: 20.8rem;
	padding: 0 2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

.comparison__table dd p {
	font-size: 2rem;
	font-weight: 900;
	text-align: center;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.comparison__table dd p span {
	font-size: 1.3rem;
	line-height: 1.44;
	font-weight: 700;
}

.comparison__table dd:not(:last-of-type)::before {
	content: "";
	height: 100%;
	width: 0.2rem;
	background-color: #D2D5E1;
	position: absolute;
	top: 0;
	right: -0.1rem;
}

.comparison__table .data {
	display: flex;
}

.comparison__table>div.head {
	height: 6.4rem;
	background-color: unset;
}

.comparison__table>div.head dd {
	background-color: #EAF3FF;
}

.comparison__table>div.head dd:first-of-type {
	border-top-left-radius: 1.2rem;
}

.comparison__table>div.head dd:last-of-type {
	border-top-right-radius: 1.2rem;
}

.comparison__table>div.head dd p {
	font-size: 1.6rem;
	color: inherit;
}

/* BUZZ */
.comparison__table dd.ours {
	position: relative;
}

.comparison__table dd.ours p {
	color: #E66500;
}

.comparison__table dd.ours .border {
	width: 100%;
	height: 100%;
	border-left: 0.4rem solid #1C76E5;
	border-right: 0.4rem solid #1C76E5;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 4;
}

.comparison__table dd.ours .border.end {
	border-bottom: 0.4rem solid #1C76E5;
}

.comparison__table>div.head dd.ours {
	color: #fff;
	background-color: #1C76E5;
}

.comparison__table dd.ours .comparison__ours {
	width: 15.1rem;
	position: absolute;
	top: -3.1rem;
	left: 50%;
	translate: -50% 0;
	z-index: 2;
}

@media screen and (max-width: 1000px) {
	.reason {
		padding: 0 0 4.8rem;
		margin-top: -4.4rem;
		position: relative;
		z-index: 3;
		scroll-margin-top: 2.7rem;
		/* SPアンカー時、キャラ画像飛び出し分(2.7rem)だけ追加でスクロール位置を下げる */
		/* ※ html の scroll-padding-top(5.9rem) と加算されて合計8.6rem の余白になる */
	}

	.reason__inner {
		width: calc(100% - 4.8rem);
	}

	.reason__head {
		width: 100%;
		height: 9.4rem;
		margin-bottom: 2.5rem;
	}

	.reason__head .person__01 {
		width: 6.4rem;
		top: -1.9rem;
		left: 3.5rem;
	}

	.reason__head .person__04 {
		width: 8.6rem;
		top: -2.7rem;
		right: 1.1rem;
	}

	.reason__list {
		gap: 2.5rem;
	}

	.reason__list>li {
		position: relative;
	}

	.reason__num {
		width: 6.8rem;
		height: 6.8rem;
	}

	.reason__txt {
		width: 100%;
		padding: 2.6rem 1.6rem 2rem;
		gap: 1.2rem;
		border-bottom-left-radius: 0;
		border-bottom-right-radius: 0;
	}

	.reason__catch {
		font-size: 1.8rem;
		line-height: 1.5;
		text-align: center;
	}

	.reason__catch sub {
		font-size: 1rem;
		margin: 0 0.2rem;
	}

	.reason__desc {
		font-size: 1.6rem;
	}

	.reason__note {
		font-size: 1.2rem;
	}

	.reason__img {
		width: 100%;
		padding: 0 3.2rem 3.2rem;
		position: static;
		right: unset;
		bottom: unset;
		background-color: #fff;
		border-bottom-left-radius: 3rem;
		border-bottom-right-radius: 3rem;
	}

	.reason__type {
		flex-direction: column;
		justify-content: unset;
		gap: 1.6rem;
		margin-top: 5.6rem;
	}

	.reason__type>li {
		width: 100%;
		padding: 2.2rem 2rem 1.8rem 2.9rem;
	}

	.reason__type>li dt {
		font-size: 1.6rem;
		text-align: left;
		margin-bottom: 1.4rem;
	}

	.reason__type>li dt::after {
		width: 11.4rem;
		height: 0.3rem;
		bottom: -1rem;
		left: 0;
		translate: unset;
	}

	.reason__type>li dd {
		position: relative;
	}

	.reason__type>li dd img {
		width: 8.9rem;
		margin: 0;
		position: absolute;
		right: 0;
		bottom: 0;
	}

	.reason__type>li dd p {
		font-size: 1.2rem;
		font-weight: 700;
		text-align: left;
	}

	.reason__01 .reason__num img {
		width: 1.3rem;
	}

	.reason__02 .reason__num img {
		width: 1.8rem;
	}

	.reason__03 .reason__num img {
		width: 1.9rem;
	}

	.reason__04 .reason__num img {
		width: 2.0rem;
	}

	.reason__04 .reason__txt {
		width: 100%;
		padding-bottom: 3.2rem;
	}

	.reason__type>li.ours .reason__ours {
		width: 15.7rem;
		top: -3.2rem;
		left: 8.8rem;
	}

	.reason__type>li.ours .person__05 {
		width: 5.4rem;
		top: -4.7rem;
		left: 4.3rem;
	}

	.comparison {
		margin-top: 4.4rem;
	}

	.comparison h3 {
		font-size: 2.0rem;
		margin-bottom: 1.5rem;
	}

	.comparison__scroll {
		overflow-x: scroll;
		margin-left: -2.4rem;
		margin-right: -2.4rem;
		padding: 2.7rem 2.4rem 2.4rem;
	}

	.comparison__table>div {
		height: 7rem;
	}

	.comparison__table>div:nth-of-type(2) {
		border-top-left-radius: 1.0rem;
	}

	.comparison__table>div:last-of-type {
		border-bottom-left-radius: 1.0rem;
		border-bottom-right-radius: 1.0rem;
	}

	.comparison__table dt {
		font-size: 1.2rem;
		width: 10.8rem;
	}

	.comparison__table dd {
		width: 13.3rem;
		padding: 0 1.2rem;
	}

	.comparison__table dd p {
		font-size: 1.6rem;
		gap: 0.5rem;
	}

	.comparison__table dd p span {
		font-size: 1.0rem;
	}

	.comparison__table>div.head {
		height: 5rem;
	}

	.comparison__table>div.head dd:first-of-type {
		border-top-left-radius: 1.0rem;
	}

	.comparison__table>div.head dd:last-of-type {
		border-top-right-radius: 1.0rem;
	}

	.comparison__table>div.head dd p {
		font-size: 1.3rem;
		font-weight: 900;
	}

	/* BUZZ */
	.comparison__table dd.ours .border {
		border-left: 0.3rem solid #1C76E5;
		border-right: 0.3rem solid #1C76E5;
	}

	.comparison__table dd.ours .border.end {
		border-bottom: 0.3rem solid #1C76E5;
	}

	.comparison__table dd.ours .comparison__ours {
		width: 12.1rem;
		top: -2.7rem;
	}
}

.corp {
	padding: 5.6rem 0;
	overflow: hidden;
}

.corp__head {
	width: 66rem;
	height: 7.4rem;
	margin-bottom: 3.2rem;
}

.corp__head .person__06 {
	width: 9.8rem;
	position: absolute;
	top: -3.2rem;
	left: 1.7rem;
}

.corp__head .person__07 {
	width: 11.1rem;
	position: absolute;
	top: -3.7rem;
	right: 0.8rem;
}

.corp__desc {
	font-size: 1.6rem;
	line-height: 1.8;
	text-align: center;
	margin-bottom: 3.2rem;
}

.corp__list {
	display: flex;
}

.corp__list>li {
	width: 30rem;
	height: auto;
	border-radius: 3rem;
	/*box-shadow: 0 0.3rem 4.5rem 0 rgba(0, 0, 0, 0.07);*/
	box-shadow: 0 0.3rem 1.6rem 0 rgba(0, 0, 0, 0.07);
	flex-shrink: 0;
	margin: 0 1.6rem;
}

.corp__img {
	width: 100%;
	height: auto;
	aspect-ratio: 300 / 192;
	border-top-left-radius: 3rem;
	border-top-right-radius: 3rem;
	overflow: hidden;
}

.corp__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.corp__txt {
	padding: 1.7rem 1.2rem 2.5rem;
	background-color: #fff;
	border-bottom-left-radius: 3rem;
	border-bottom-right-radius: 3rem;
}

.corp__label {
	display: flex;
	flex-wrap: wrap;
	gap: 0.9rem;
	margin-bottom: 1.6rem;
}

.corp__label li {
	font-size: 1.2rem;
	font-weight: 700;
	padding: 1rem 1.2rem;
	border-radius: 4rem;
	border: 0.1rem solid;
}

.corp__label li.cat {
	color: #039D20;
}

.corp__label li.place {
	color: #fff;
	background-color: #000;
}

.corp__review {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 1.2rem;
}

.corp__review .num {
	font-size: 2rem;
	font-weight: 700;
}

.corp__review .star {
	display: flex;
	align-items: center;
	gap: 0.3rem;
}

.corp__review .star img {
	width: 2.3rem;
}

.corp__comment {
	font-size: 1.6rem;
	line-height: 1.6;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.corp__slide {
	position: relative;
	overflow: visible;
}

.corp .swiper {
	padding: 1.6rem;
	margin: -1.6rem;
}

@media screen and (max-width: 1000px) {
	.corp {
		padding: 4.8rem 0;
		overflow: hidden;
	}

	.corp__head {
		width: 100%;
		height: 9.1rem;
		margin-bottom: 1.7rem;
	}

	.corp__head .person__06 {
		width: 9.8rem;
		top: -3.5rem;
		left: -0.6rem;
	}

	.corp__head .person__07 {
		width: 11.1rem;
		top: -4rem;
		right: -2.8rem;
	}

	.corp__desc {
		font-size: 1.6rem;
		text-align: left;
		margin-bottom: 1.8rem;
	}

	.corp__list>li {
		width: 30rem;
		margin: 0 0.8rem;
	}

	.corp__txt {
		padding: 1.6rem 1.8rem 2.5rem;
	}

	.corp__label li {
		font-size: 1.2rem;
	}

	.corp__review .num {
		font-size: 2rem;
	}

	.corp__review .star {
		gap: 0.3rem;
	}

	.corp__review .star img {
		width: 2.3rem;
	}

	.corp__comment {
		font-size: 1.6rem;
	}

	.corp .swiper {
		padding: 2.4rem;
		margin: -2.4rem;
	}
}


.review {
	padding: 5.5rem 0 5.7rem;
}

.review::before {
	background-color: #FEF7A5;
}

.review__inner {
	width: 89rem;
}

.review__box {
	padding: 6.4rem 1.8rem 4.6rem 3rem;
	background-color: #fff;
	border-radius: 3rem;
	display: flex;
	position: relative;
}

.review__h2 {
	width: 30rem;
	height: 7.8rem;
	flex-direction: column;
	gap: 1rem;
	position: absolute;
	top: -3rem;
	left: 50%;
	translate: -50% 0;
}

.review__h2 span {
	font-size: 1.6rem;
	font-weight: 700;
	color: #fff;
	display: flex;
	align-items: center;
	gap: 0.3rem;
}

.review__h2 img {
	width: 10.6rem;
}

.review__google-detail {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2.3rem;
	margin: 4.6rem 2.8rem 0;
}

.review__google {
	width: 28.5rem;
}

.review__detail {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.5rem;
}

.review__point {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.review__point .num {
	font-size: 2.6rem;
	font-weight: 700;
}

.review__point .star {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.review__point .star img {
	width: 4rem;
}

.review__note {
	font-size: 1.6rem;
}

.review__list {
	width: 49.5rem;
	height: 32rem;
	overflow-y: scroll;
	padding-right: 1rem;
}

@media screen and (max-width: 1000px) {
	.review {
		padding: 4.8rem 0;
	}

	.review__inner {
		width: calc(100% - 1.6rem);
	}

	.review__box {
		padding: 4.8rem 3rem;
		flex-direction: column;
	}

	.review__h2 {
		position: relative;
		top: unset;
		left: unset;
		translate: unset;
		margin-bottom: 2rem;
	}

	.review__h2 span {
		font-size: 1.6rem;
	}

	.review__h2 img {
		width: 10.6rem;
	}

	.review__google-detail {
		gap: 0.8rem;
		margin: 0 0 1.6rem;
	}

	.review__google {
		width: 20rem;
	}

	.review__detail {
		gap: 1rem;
	}

	.review__point {
		gap: 1rem;
	}

	.review__point .num {
		font-size: 1.8rem;
	}

	.review__point .star {
		gap: 0.4rem;
	}

	.review__point .star img {
		width: 2.8rem;
	}

	.review__note {
		font-size: 1.4rem;
	}

	.review__list {
		width: 100%;
		height: 38.9rem;
	}
}


.flow {
	padding: 5.6rem 0 5.8rem;
	overflow: hidden;
}

.flow__h2 {
	font-size: 2.6rem;
	font-weight: 700;
	text-align: center;
	margin: 0 auto 3.5rem;
}

.flow__slide {}

.flow__list {
	width: max-content;
	display: flex;
	gap: 2.4rem;
	margin: 0 auto;
}

.flow__list>li {
	width: 30rem;
	border-radius: 3rem;
	/*box-shadow: 0 0.3rem 4.5rem 0 rgba(0, 0, 0, 0.07);*/
	box-shadow: 0 0.3rem 1.2rem 0 rgba(0, 0, 0, 0.07);
	position: relative;
	flex-shrink: 0;
}

.flow__num {
	width: 6.8rem;
	height: 6.8rem;
}

.flow__img {
	border-top-left-radius: 3rem;
	border-top-right-radius: 3rem;
	overflow: hidden;
}

.flow__txt {
	padding: 2.4rem 1.6rem 2.7rem;
	background-color: #fff;
	border-bottom-left-radius: 3rem;
	border-bottom-right-radius: 3rem;
}

.flow__catch {
	font-size: 2rem;
	font-weight: 700;
	margin-bottom: 1.7rem;
}

.flow__desc {
	font-size: 1.6rem;
	line-height: 1.6;
}

.flow__note {
	font-size: 1.4rem;
	line-height: 1.6;
	color: #898989;
	margin-top: 1rem;
}

.flow__01 .flow__num img {
	width: 1.3rem;
}

.flow__02 .flow__num img {
	width: 1.8rem;
}

.flow__03 .flow__num img {
	width: 1.9rem;
}

.flow__04 .flow__num img {
	width: 2rem;
}

.flow__05 .flow__num img {
	width: 2rem;
}

@media screen and (max-width: 1600px) {
	.flow__scroll {
		padding-top: 2rem;
		padding-bottom: 2rem;
		padding-left: calc(((100% - 96rem) / 2));
		padding-right: 2rem;
		margin: -2rem 0;
		overflow-x: scroll;
	}

	.flow__list {
		margin: 0;
	}
}

@media screen and (max-width: 1000px) {
	.flow {
		margin-top: -9.2rem;
		padding: 4.8rem 0 6rem;
		background-color: #fff;
		overflow: hidden;
		position: relative;
		z-index: 4;
	}

	.flow__h2 {
		font-size: 2.4rem;
		margin-bottom: 3.2rem;
	}

	.flow__scroll {
		padding-left: 2.4rem;
	}

	.flow__list {
		gap: 1.8rem;
	}

	.flow__list>li {
		width: 30rem;
	}

	.flow__num {
		top: -1rem;
		left: -1rem;
	}

	.flow__txt {
		padding: 2.6rem 1.8rem 2.6rem;
	}

	.flow__catch {
		font-size: 2rem;
		margin-bottom: 1.4rem;
	}

	.flow__desc {
		font-size: 1.6rem;
	}

	.flow__note {
		font-size: 1.4rem;
		margin-top: 1.2rem;
	}
}

.price {
	padding: 5.6rem 0;
	background-color: #DDECFF;
}

.price__head {
	width: 39.4rem;
	height: 7.5rem;
	margin-bottom: 2.5rem;
}

.price__desc {
	font-size: 1.6rem;
	line-height: 1.8;
	text-align: center;
	margin-bottom: 4.3rem;
}

.price__box {
	display: flex;
	width: fit-content;
	margin: 0 auto;
	position: relative;
}

.price__fukidashi {
	font-size: 2rem;
	position: absolute;
	top: -2.5rem;
	left: 19.4rem;
	z-index: 4;
}

.price__fukidashi span {
	color: #E66500;
}

.price__element {
	padding: 4.6rem 3.5rem 4.6rem 2.2rem;
	border-top-left-radius: 2rem;
	border-bottom-left-radius: 2rem;
	overflow: hidden;
}

.price__element::before {
	background-color: #FEF7A5;
}

.price__element img {
	width: 31.1rem;
}

.price__calc {
	width: 33.4rem;
	padding: 2.8rem;
	background-color: #1C76E5;
	border-top-right-radius: 2rem;
	border-bottom-right-radius: 2rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	position: relative;
}

.price__calc::before {
	content: "";
	width: 5rem;
	height: 2.2rem;
	background-color: #FEF7A5;
	clip-path: polygon(100% 0, 0 0, 50% 100%);
	position: absolute;
	top: 50%;
	left: -2.2rem;
	translate: 0 -50%;
	rotate: -90deg;
}

.price__calc img {
	width: 20.8rem;
}

.price__calc p {
	font-size: 1.2rem;
	line-height: 1.75;
	color: #fff;
}

@media screen and (max-width: 1000px) {
	.price {
		padding: 0 0 4.8rem;
	}

	.price__head {
		width: 100%;
		height: 8.8rem;
		margin-bottom: 1.8rem;
	}

	.price__desc {
		font-size: 1.6rem;
		text-align: left;
		margin-bottom: 4.5rem;
	}

	.price__box {
		flex-direction: column;
	}

	.price__fukidashi {
		font-size: 2rem;
		width: 26.2rem;
		padding: 1.6rem 0;
		top: -2.9rem;
		left: 50%;
		translate: -50% 0;
	}

	.price__element {
		padding: 3.6rem 2.5rem 1.6rem 0.8rem;
		border-radius: 0;
		border-top-left-radius: 2rem;
		border-top-right-radius: 2rem;
	}

	.price__element img {
		width: 31.1rem;
	}

	.price__calc {
		width: auto;
		padding: 2.8rem 2.4rem;
		border-radius: 0;
		border-bottom-left-radius: 2rem;
		border-bottom-right-radius: 2rem;
		gap: 1.2rem;
	}

	.price__calc::before {
		top: -1rem;
		left: 50%;
		translate: -50% 0;
		rotate: 0deg;
	}

	.price__calc img {
		width: 20.8rem;
	}

	.price__calc p {
		font-size: 1.2rem;
	}
}

.faq {
	padding: 5.6rem 0 0;
}

.faq__inner {
	width: 89rem;
}

.faq__h2 {
	font-size: 2.6rem;
	font-weight: 700;
	text-align: center;
}

.faq__list {}

.faq__list>li {
	padding: 1rem 0;
	border-bottom: 0.2rem solid #D9D9D9;
}

.faq__list dt {
	font-size: 1.8rem;
	line-height: 1.44;
	font-weight: 700;
	padding: 2.2rem 5.8rem;
	position: relative;
	cursor: pointer;
}

.faq__list dd {
	padding: 0 5.8rem 1.5rem;
}

.faq__list dd p {
	font-size: 1.6rem;
	line-height: 1.6;
	display: inline;
}

.faq__q {
	font-size: 2rem;
	font-weight: 700;
	color: #fff;
	width: 4.7rem;
	height: 4.7rem;
	border-radius: 50%;
	background-color: #1C76E5;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 50%;
	left: 0;
	translate: 0 -50%;
	padding-bottom: 0.4rem;
}

.faq__btn {
	font-weight: 700;
	color: #fff;
	width: 4.4rem;
	height: 4.4rem;
	border-radius: 50%;
	background-color: #FFEB22;
	border: 0.3rem solid #fff;
	box-shadow: 0 0.6rem 1.8rem 0 rgba(0, 0, 0, 0.15);
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 50%;
	right: 0;
	translate: 0 -50%;
	transition: all 0.3s ease-out;
}

.faq__btn::before,
.faq__btn::after {
	content: "";
	background-color: #000;
	position: absolute;
	top: 50%;
	left: 50%;
	translate: -50% -50%;
}

.faq__btn::before {
	width: 2.1rem;
	height: 0.3rem;
}

.faq__btn::after {
	width: 0.3rem;
	height: 2.1rem;
}

.faq__list dt.is-opened .faq__btn {
	rotate: 135deg;
}

@media screen and (max-width: 1000px) {
	.faq {
		padding: 4.8rem 0 0;
	}

	.faq__inner {
		width: calc(100% - 4.8rem);
	}

	.faq__h2 {
		font-size: 2.4rem;
		margin-bottom: 1rem;
	}

	.faq__list {}

	.faq__list>li {
		padding: 0.6rem 0;
		border-bottom: 0.2rem solid #D9D9D9;
	}

	.faq__list dt {
		font-size: 1.8rem;
		padding: 1.5rem 5.8rem;
	}

	.faq__list dd {
		padding: 0 0 1.5rem 0;
	}

	.faq__list dd p {
		font-size: 1.6rem;
		display: block;
	}

	.faq__list dd p+p {
		margin-top: 2.2rem;
	}
}

.column {
	padding: 8.8rem 0 8.2rem;
	overflow: hidden;
}

.column__h2 {
	font-size: 2.6rem;
	font-weight: 700;
	text-align: center;
	margin-bottom: 2.4rem;
}

.column__list {
	display: flex;
}

.column__list>li {
	width: 30rem;
	margin: 0 1.5rem;
}

.column__img {
	border-radius: 3rem;
	overflow: hidden;
	margin-bottom: 1.6rem;
}

.column__info {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	margin-bottom: 1.4rem;
}

.column__cat {
	font-size: 1.2rem;
	font-weight: 700;
	color: #039D20;
	border: 0.1rem solid;
	padding: 0.9rem 2rem;
	border-radius: 4rem;
}

.column__date {
	font-size: 1.6rem;
}

.column__ttl {
	font-size: 1.8rem;
	line-height: 1.33;
	font-weight: 700;
	margin-bottom: 1.6rem;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.column__content {
	font-size: 1.6rem;
	line-height: 1.6;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.column__slide {
	position: relative;
	overflow: visible;
}

.column .swiper {}

@media screen and (max-width: 1000px) {
	.column {
		padding: 5rem 0 4.4rem;
		overflow: hidden;
	}

	.column__h2 {
		font-size: 2.64rem;
		margin-bottom: 3rem;
	}

	.column__list {
		display: flex;
	}

	.column__list>li {
		width: 30rem;
		flex-shrink: 0;
		margin: 0 2.4rem;
	}

	.column__info {
		margin-bottom: 1.2rem;
	}

	.column__cat {
		font-size: 1.2rem;
	}

	.column__date {
		font-size: 1.6rem;
	}

	.column__ttl {
		font-size: 1.8rem;
	}

	.column__content {
		font-size: 1.6rem;
	}

	.column .swiper {
		padding: 0 2.4rem;
		margin: 0 -2.4rem;
	}

	.column .swiper-button-prev,
	.column .swiper-button-next {
		top: 7.6rem;
		translate: unset;
	}
}

.company {
	padding: 8.8rem 0 5.6rem;
	background-color: #1C76E5;
}

.company__inner {
	width: 89rem;
}

.company__h2 {
	font-size: 2.6rem;
	font-weight: 700;
	text-align: center;
	color: #fff;
	margin-bottom: 2.4rem;
}

.company__box {
	padding: 3.2rem 5.7rem 5.7rem;
	background-color: #fff;
	border-radius: 3rem;
}

.company__detail {
	display: flex;
	flex-wrap: wrap;
	gap: 0 4.7rem;
}

.company__detail>div {
	padding: 1.8rem 0 1.6rem;
	width: calc((100% - 4.7rem) / 2);
	border-bottom: 0.2rem solid;
	display: flex;
}

.company__detail>div.full {
	width: 100%;
}

.company__detail dt {
	font-size: 1.6rem;
	line-height: 1.6;
	font-weight: 700;
	width: 13rem;
	flex-shrink: 0;
}

.company__detail dd {
	font-size: 1.6rem;
	line-height: 1.6;
}

.company__detail dd .u-desktop {
	display: inline;
}

.company__address {
	padding: 4rem 6rem 2rem;
	margin-top: 4.6rem;
}

.company__address::before {
	background-color: #E1EEFF;
}

.company__fukidashi {
	font-size: 1.8rem;
	width: 17.5rem;
	position: absolute;
	top: -1.6rem;
	left: 50%;
	translate: -50% 0;
}

.company__store {
	display: flex;
	flex-wrap: wrap;
	gap: 0 4.7rem;
}

.company__store>div {
	padding: 2rem 0 1.6rem;
	width: calc((100% - 4.7rem) / 2);
	border-bottom: 0.1rem solid;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.company__store>div.noborder {
	border: 0;
}

.company__store dt {
	font-size: 1.6rem;
	line-height: 1.6;
	font-weight: 700;
}

.company__store dd {
	font-size: 1.4rem;
	line-height: 1.6;
}

@media screen and (max-width: 1000px) {
	.company {
		padding: 4.8rem 0 3.6rem;
	}

	.company__inner {
		width: calc(100% - 1.4rem);
	}

	.company__h2 {
		font-size: 2.4rem;
		margin-bottom: 3rem;
	}

	.company__box {
		padding: 2.6rem 1.7rem 0.8rem;
	}

	.company__detail {
		gap: 0;
	}

	.company__detail>div {
		width: 100%;
		padding: 1.8rem 0 1.8rem;
	}

	.company__detail.last>div {
		border-top: 0.2rem solid;
		border-bottom: 0;
		margin-top: 3.4rem;
	}

	.company__detail dd .u-desktop {
		display: none;
	}

	.company__address {
		padding: 4rem 3rem 1rem;
		margin-top: 4.6rem;
	}

	.company__address::before {
		background-color: #E1EEFF;
	}

	.company__fukidashi {
		top: -2.2rem;
	}

	.company__store {
		gap: 0;
	}

	.company__store>div {
		padding: 2rem 0 1.6rem;
		width: 100%;
		gap: 0.5rem;
	}
}




.md__bg {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 20;
	display: none;
	background-color: rgba(0, 0, 0, 0.5);
	height: 100%;
	width: 100%;
}

.md__open {
	cursor: pointer;
}

.md__box {
	display: none;
	position: fixed;
	z-index: 9999;
}

.md__inner {
	position: fixed;
	top: 50%;
	left: 50%;
	translate: -50% -50%;
}

.md__inner::-webkit-scrollbar {
	display: none;
}

.md__scroll {
	border-radius: 3rem;
	background: #fff;
	padding: 3.4rem 3.4rem 4rem 1.7rem;
	overflow: auto;
	width: 102rem;
	height: auto;
	max-height: 90vh;
}

.md__block {
	position: relative;
}

.md__body {
	padding: 5.6rem 2.6rem 3.2rem 2.6rem;
	position: relative;
}

.md__body::before {
	background-color: #E1EEFF;
}

.md__list {
	display: flex;
	flex-direction: column;
	gap: 5.8rem;
}

.md__list>li {
	display: flex;
	align-items: center;
	gap: 3.2rem;
}

.md__about {
	position: relative;
}

.md__img {
	width: 29.4rem;
	position: relative;
	flex-shrink: 0;
	border-radius: 1rem;
	border: 0.5rem solid #fff;
	overflow: hidden;
}

.md__fukidashi {
	width: max-content;
	position: absolute;
	top: -2.6rem;
	left: 50%;
	translate: -50% 0;
	z-index: 2;
}

.md__txt {
	font-size: 1.6rem;
	line-height: 1.8;
}

.md__close {
	width: 4.8rem;
	height: 4.8rem;
	background: #000;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 1rem;
	right: 2.7rem;
	cursor: pointer;
	z-index: 4;
	box-shadow: 0 0.6rem 1.8rem 0 rgba(0, 0, 0, 0.15);
	border: none;
}


.md__close:before,
.md__close:after {
	content: "";
	background: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	translate: -50% -50%;
	rotate: 45deg;
}

.md__close:before {
	width: 2.3rem;
	height: 0.2rem;
}

.md__close:after {
	width: 0.2rem;
	height: 2.3rem;
}

@media screen and (max-width: 1000px) {
	.md__scroll {
		border-radius: 3rem;
		background: #fff;
		padding: 4.4rem 1.7rem 5.3rem 1.7rem;
		overflow: auto;
		width: 38rem;
		max-height: 80vh;
	}

	.md__block {
		position: relative;
	}

	.md__body {
		padding: 4.5rem 2.5rem 3.6rem;
	}

	.md__list>li {
		flex-direction: column;
		align-items: unset;
		gap: 2rem;
	}

	.md__img {
		width: 100%;
		border-radius: 1rem;
	}

	.md__fukidashi {
		top: -3.1rem;
	}

	.md__txt {
		font-size: 1.6rem;
	}

	.md__close {
		top: 1rem;
		right: 1.8rem;
	}

	.md__tel .md__close {
		top: -.5rem;
		right: -.5rem;
	}
}

/* ============================================================
   FV動物カード（5動物の個別imgリスト構造）
   ============================================================ */

/* FV動物カードを list 構造で配置 */
.mv__gaiju.mv__gaiju--list {
	list-style: none;
	padding: 0;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 8px;
	flex-wrap: nowrap;
	position: relative;
	/* z-index を有効にするため */
	z-index: 3;
	/* .mv__img(無指定=auto) より上に重ねる（.mv__catch/.mv__feature の z-index:2 以上） */
}

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

.mv__gaiju__link {
	display: block;
	text-decoration: none;
	text-align: center;
	color: inherit;
}

/* 直接子要素のみ：動物写真本体。スコープを限定して、内部の <img class="mv__gaiju__label__img"> に影響させない */
.mv__gaiju__link>img {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 50%;
	display: block;
	background: transparent;
	/* 白ボーダー */
	border: 3px solid #fff;
	box-sizing: border-box;
}

.mv__gaiju__label {
	/* テキストから画像に切り替え。列幅(.mv__gaiju__item)を超えないよう width:100% */
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 2px;
	margin-top: -23px;
	line-height: 1;
	width: 100%;
	min-width: 0;
}

@media (max-width: 1000px) {
	.mv__gaiju__label {
		margin-top: -10px;
	}
}

.mv__gaiju__label__img {
	/* 高さを基準に統一(全ラベル同じ高さで揃う)。
     幅は自動だが、列より広い場合は max-width:100% で抑える(その際は比率維持で高さも縮む) */
	display: block;
	height: clamp(15px, 4vw, 28px);
	width: auto;
	max-width: 100%;
}

/* 末尾「イタチ」横の「など」画像（<ul> の6番目の <li>、<a> を持たないためクリック不可） */
.mv__gaiju__item--nado {
	flex: 0 0 auto;
	/* 動物カードのように等分せず、コンテンツ幅のみ占有 */
	align-self: flex-end;
	/* イタチラベルの位置（下端）に揃える */
	min-width: 0;
	margin-left: -8px;
	/* イタチ<li>との間のgap(8px)を打ち消して密着させる */
}

.mv__gaiju__nado {
	display: block;
	height: clamp(14px, 3.3vw, 24px);
	/* ラベル(28px)より少し小さめ */
	width: auto;
	max-width: 100%;
}

/* ============================================================
   FV動物カードの視覚フィードバック
   - Hover: 枠線を青に変えてハロー + ドロップシャドウ
   - Active/Pressed: 2px 押し込み + 影を弱める
   - Transition: 150ms ease-out
   ============================================================ */
/* 動物写真本体の状態遷移。
   ホバー/アクティブ時は、既存の白ボーダー(3px)の「色そのもの」を青に変える。
   外側に重ねるのは halo (にじみ) と drop shadow のみ。これで二重リング感を解消。 */
.mv__gaiju__link>img {
	transition:
		border-color 150ms ease-out,
		box-shadow 150ms ease-out,
		transform 150ms ease-out;
	will-change: transform, box-shadow, border-color;
}

/* Hover: ボーダー色を白→青(#5BA3E1) + 周囲ににじむ青ハロー + ドロップシャドウ */
.mv__gaiju__link:hover>img,
.mv__gaiju__link:focus-visible>img {
	border-color: #5BA3E1;
	box-shadow:
		0 0 14px 2px rgba(91, 163, 225, 0.55),
		0 4px 12px rgba(0, 0, 0, 0.15);
}

/* Active/Pressed: 同色のまま 2px 沈み、影弱める */
.mv__gaiju__link:active>img {
	border-color: #5BA3E1;
	transform: translateY(2px);
	box-shadow:
		0 0 10px 1px rgba(91, 163, 225, 0.4),
		0 2px 6px rgba(0, 0, 0, 0.08);
}

/* Hover時のラベルも合わせて色変化（任意・優しめの強調） */
.mv__gaiju__link:hover .mv__gaiju__label,
.mv__gaiju__link:focus-visible .mv__gaiju__label {
	filter: brightness(1.1);
}

/* キーボードフォーカス時はカード全体にフォーカスリングも */
.mv__gaiju__link:focus-visible {
	outline: 2px dashed #5BA3E1;
	outline-offset: 4px;
	border-radius: 4px;
}

/* ============================================================
   SP固定フッターCTA（画面下部に固定する電話/問い合わせボタン）
   - TEL : イエローグラデ（今すぐの行動喚起）
   - Form: グリーングラデ（24h相談）
   - 底辺の濃影でボタンの「厚み」表現、押下で translateY(3px)
   - 2行表記: メイン (大・太) + サブ (小・補足)
   ============================================================ */
.sp-cta-footer {
	display: none;
}

@media (max-width: 1000px) {
	.sp-cta-footer {
		display: flex;
		gap: 10px;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 100;
		padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
		background: #ffffff;
		box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.10);
		box-sizing: border-box;
	}

	.sp-cta-footer__btn {
		flex: 1 1 0;
		min-width: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		min-height: 56px;
		padding: 8px 10px;
		border-radius: 12px;
		color: #ffffff;
		text-decoration: none;
		position: relative;
		text-shadow: 0 1px 0 rgba(0, 0, 0, 0.20);
		box-shadow:
			0 4px 0 rgba(0, 0, 0, 0.20),
			0 6px 12px rgba(0, 0, 0, 0.18);
		transition: transform 120ms ease-out, box-shadow 120ms ease-out, filter 120ms ease-out;
		-webkit-tap-highlight-color: transparent;
		overflow: hidden;
	}

	.sp-cta-footer__btn:hover {
		filter: brightness(1.05);
	}

	.sp-cta-footer__btn:active {
		transform: translateY(3px);
		box-shadow:
			0 1px 0 rgba(0, 0, 0, 0.20),
			0 2px 4px rgba(0, 0, 0, 0.15);
	}

	/* TEL: イエロー #ffeb22 ベース。黒文字16:1のハイコントラスト */
	.sp-cta-footer__btn--tel {
		background: linear-gradient(180deg, #FFF35C 0%, #FFEB22 50%, #E8D300 100%);
		color: #1a1a1a;
		text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35);
		/* 黒文字を浮き立たせる白シャドウ */
	}

	/* TELサブ: オレンジ #e66500 (黄背景上コントラスト約2.8:1なのでやや低め)
     視認性補強のため濃いめ text-shadow + 太字 */
	.sp-cta-footer__btn--tel .sp-cta-footer__sub {
		color: #e66500;
		font-weight: 800;
		text-shadow: 0 1px 1px rgba(0, 0, 0, 0.30);
	}

	/* TELアイコン: 黒を白シャドウで彫り起こす */
	.sp-cta-footer__btn--tel .sp-cta-footer__icon {
		filter: drop-shadow(0 1px 0 rgba(255, 255, 255, 0.55));
	}

	/* Form: グリーン #26a443 ベース。白文字 + イエローサブ */
	.sp-cta-footer__btn--mail {
		background: linear-gradient(180deg, #3DC661 0%, #26A443 50%, #1A7A30 100%);
	}

	/* 上端のハイライト線 (押せそうな質感) */
	.sp-cta-footer__btn::before {
		content: "";
		position: absolute;
		top: 0;
		left: 8px;
		right: 8px;
		height: 1px;
		background: rgba(255, 255, 255, 0.35);
		border-radius: 1px;
		pointer-events: none;
	}

	.sp-cta-footer__icon {
		width: 24px;
		height: 24px;
		flex-shrink: 0;
		fill: currentColor;
		filter: drop-shadow(0 1px 0 rgba(0, 0, 0, 0.20));
	}

	.sp-cta-footer__text {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		line-height: 1.15;
		min-width: 0;
	}

	.sp-cta-footer__main {
		font-size: 16px;
		font-weight: 800;
		letter-spacing: 0.02em;
		white-space: nowrap;
	}

	.sp-cta-footer__sub {
		/* イエロー強調 (既存サイトCTAイエロー #FFEB22 採用、ブランド統一感)
       text-shadow で濃オレンジ・濃青どちらの上でも視認性確保 */
		font-size: 12px;
		font-weight: 700;
		color: #FFEB22;
		margin-top: 2px;
		white-space: nowrap;
		letter-spacing: 0.04em;
		text-shadow:
			0 1px 1px rgba(0, 0, 0, 0.40),
			0 0 2px rgba(0, 0, 0, 0.25);
	}

	/* 細幅SP (<=400px) では文字サイズを下げてはみ出し回避 */
	@media (max-width: 400px) {
		.sp-cta-footer__btn {
			gap: 6px;
			padding: 6px 8px;
		}

		.sp-cta-footer__main {
			font-size: 14px;
		}

		.sp-cta-footer__sub {
			font-size: 11px;
		}

		.sp-cta-footer__icon {
			width: 22px;
			height: 22px;
		}
	}

	/* 超細幅SP (<=360px、旧iPhoneやAndroid小型機) でのオーバーフロー回避 */
	@media (max-width: 360px) {
		.sp-cta-footer__btn {
			gap: 4px;
			padding: 6px 6px;
		}

		.sp-cta-footer__main {
			font-size: 12px;
		}

		.sp-cta-footer__sub {
			font-size: 10px;
		}

		.sp-cta-footer__icon {
			width: 18px;
			height: 18px;
		}
	}

	/* CTAバー分のスペースを body下に確保 */
	body {
		padding-bottom: calc(3.6rem + 64px + env(safe-area-inset-bottom));
	}
}

/* ============================================================
   害獣別詳細セクション + アンカースクロール
   - FVの動物カードクリックで該当の詳細カードへスムーススクロール
   ============================================================ */

/* ネイティブアンカーのスムース処理は無効化（jQuery animateと二重発火し
   目標位置を通り過ぎる挙動になるため）。スムーススクロールは top.js 側で実装。 */

/* === セクション本体 === */
.gaiju-detail {
	padding: 60px 16px 80px;
	background: #f7fafd;
}

.gaiju-detail__inner {
	max-width: 980px;
	margin: 0 auto;
}

.gaiju-detail__h2 {
	text-align: center;
	font-size: clamp(22px, 4vw, 32px);
	font-weight: 700;
	color: #0e2e5c;
	margin: 0 0 8px;
	letter-spacing: 0.02em;
}

.gaiju-detail__h2 .gaiju-detail__h2-sub {
	display: block;
	font-size: 0.6em;
	color: #5BA3E1;
	font-weight: 600;
	margin-bottom: 6px;
	letter-spacing: 0.1em;
}

.gaiju-detail__lead {
	text-align: center;
	color: #555;
	font-size: 14px;
	margin: 0 0 36px;
	line-height: 1.7;
}

.gaiju-detail__list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: center;
}

@media (max-width: 600px) {
	.gaiju-detail__list {
		gap: 14px;
	}

	.gaiju-detail {
		padding: 40px 14px 60px;
	}
}

.gaiju-detail__card {
	position: relative;
	flex: 0 1 calc(50% - 8px);
	box-sizing: border-box;
	background: #fff;
	border: 1px solid #d8e3ef;
	border-radius: 14px;
	padding: 22px 20px 20px;
	box-shadow: 0 2px 6px rgba(14, 46, 92, 0.04);
}

@media (max-width: 600px) {
	.gaiju-detail__card {
		flex: 0 1 100%;
	}
}

.gaiju-detail__rank {
	display: inline-block;
	background: #0e2e5c;
	color: #fff;
	font-weight: 700;
	font-size: 12px;
	padding: 4px 10px;
	border-radius: 4px;
	letter-spacing: 0.05em;
	margin-bottom: 10px;
}

.gaiju-detail__card-head {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 10px;
}

.gaiju-detail__thumb {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}

.gaiju-detail__name {
	font-size: 20px;
	font-weight: 700;
	color: #0e2e5c;
	margin: 0;
	display: flex;
	align-items: center;
	gap: 6px;
}

.gaiju-detail__name::after {
	content: "▼";
	font-size: 0.7em;
	color: #5BA3E1;
}

.gaiju-detail__desc {
	color: #444;
	font-size: 14px;
	line-height: 1.7;
	margin: 0 0 12px;
}

.gaiju-detail__tags {
	list-style: none;
	padding: 0;
	margin: 0 0 12px;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.gaiju-detail__tag {
	background: #eef5fb;
	color: #2a6fb0;
	font-size: 12px;
	padding: 3px 10px;
	border-radius: 999px;
	font-weight: 600;
}

.gaiju-detail__placeholder {
	font-size: 11px;
	color: #aaa;
	font-style: italic;
	margin-top: 8px;
}

/* FVキャッチ：上段「屋根裏害獣＋を」／下段「一発撃退！」の2段組み */
.mv__catch {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}

/* 上段: 「屋根裏害獣」+「を」を flex row で並べる */
.mv__catch__top {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 4px;
	max-width: 100%;
}

.mv__catch__yaneura,
.mv__catch__wo,
.mv__catch__ippatsu,
.mv__catch__kabenai {
	display: block;
	max-width: 100%;
	height: auto;
	min-width: 0;
	/* flex item の暗黙 min-width:auto を解除し、SP時の縮小を有効に */
}

.mv__catch__wo {
	flex-shrink: 0;
}

/* 中段: 「一発撃退！」単体 / 下段: 「壁の中・床下も対応」単体 */
.mv__catch__middle,
.mv__catch__bottom {
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 100%;
}

/* ▲ ここまで lp-improvements.css のマージ ▲ */

/* ===== SP用 .mv__gaiju--list 上書き（lp-improvements の margin:0 をSPでのみ中央寄せに） ===== */
@media screen and (max-width: 1000px) {
	.mv__gaiju.mv__gaiju--list {
		width: calc(100% - 3.2rem);
		margin: 0 auto 1.2rem;
	}

	/* SP時のみ「を」を比率維持で縮める（PCでは元の flex-shrink: 0 が効き続ける） */
	.mv__catch__wo {
		flex-shrink: 1;
	}

	/* SP時のみ「壁の中・床下も対応」画像を rem ベースで制限（viewport に応じてスケール）＋ やや左にシフト */
	.mv__catch__kabenai {
		max-width: 18rem;
		transform: translateX(-1rem);
	}
}


/* ============================================================
   対応害獣一覧&ランキング（#taiou）
   ============================================================ */

/* LP01のbody { line-height: 1.8 } を本セクション内に限定して再現
   （サイト全体に line-height を当てると他レイアウトが崩れるため） */
.service {
	line-height: 1.8;
}

/* SP専用の改行制御 */
.br-sp {
	display: none;
}

@media screen and (max-width: 1000px) {
	.br-sp {
		display: block;
	}
}

/* セクション共通タイトル（Service & Ranking 見出し用） */
.sec_ttl_common {
	text-align: center;
}

.sec_ttl_common p {
	position: relative;
	margin: 0 auto;
	width: fit-content;
	color: #0b5c85;
	font-size: 27px;
	font-weight: 700;
	font-family: "Roboto", sans-serif;
}

@media screen and (max-width: 1000px) {
	.sec_ttl_common p {
		font-size: 16px;
	}
}

.sec_ttl_common p::before {
	content: "";
	display: inline-block;
	vertical-align: middle;
	margin-right: 8px;
	margin-top: -2px;
	width: 5px;
	height: 5px;
	background: #0b5c85;
	border-radius: 50%;
}

@media screen and (max-width: 1000px) {
	.sec_ttl_common p::before {
		margin-right: 5px;
		width: 3px;
		height: 3px;
	}
}

.sec_ttl_common p::after {
	content: "";
	display: inline-block;
	vertical-align: middle;
	margin-left: 8px;
	margin-top: -2px;
	width: 5px;
	height: 5px;
	background: #0b5c85;
	border-radius: 50%;
}

@media screen and (max-width: 1000px) {
	.sec_ttl_common p::after {
		margin-left: 5px;
		width: 3px;
		height: 3px;
	}
}

.sec_ttl_common h2 {
	padding: 5px 8px 10px;
	margin: 0 auto;
	width: fit-content;
	color: #fff;
	font-size: 52px;
	font-weight: 700;
	background: #0b5c85;
	line-height: 1;
	letter-spacing: 0.03em;
}

@media screen and (max-width: 1000px) {
	.sec_ttl_common h2 {
		font-size: 30px;
	}
}

.sec_ttl_common h2 .sec_ttl_common_emphasis {
	color: #e0da12;
}

/* 対応害獣セクション本体 */
.service {
	padding: 70px 0;
	background-image: url(../img-top/service_bg_pc.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

@media screen and (max-width: 1000px) {
	.service {
		padding: 35px 0 50px;
		background-image: url(../img-top/service_bg_sp.webp);
		background-position: top;
		background-repeat: repeat;
		background-size: initial;
	}
}

.sec_ttl_common_service {
	filter: drop-shadow(0px 0px 10px #fff);
}

.sec_ttl_common_service h2 {
	position: relative;
}

.sec_ttl_common_service h2::after {
	content: "&";
	position: absolute;
	bottom: 14%;
	right: -10%;
	color: #0b5c85;
	font-size: 34px;
	font-weight: 700;
}

@media screen and (max-width: 1000px) {
	.sec_ttl_common_service h2::after {
		bottom: 15%;
		right: -10%;
		font-size: 22px;
	}
}

.service_ttl_sub {
	margin-bottom: 40px;
	text-align: center;
	line-height: 1;
	filter: drop-shadow(0px 0px 10px #fff);
}

@media screen and (max-width: 1000px) {
	.service_ttl_sub {
		margin-bottom: 15px;
	}
}

.service_ttl_sub_ttl {
	margin: 15px auto 10px;
	color: #0b5c85;
	font-size: 34px;
	font-weight: 700;
	text-decoration: underline;
}

@media screen and (max-width: 1000px) {
	.service_ttl_sub_ttl {
		margin: 10px auto 10px;
		font-size: 22px;
	}
}

.service_ttl_sub_ttl span {
	font-size: 28px;
}

@media screen and (max-width: 1000px) {
	.service_ttl_sub_ttl span {
		font-size: 18px;
	}
}

.service_ttl_sub_notes {
	font-size: 18px;
}

@media screen and (max-width: 1000px) {
	.service_ttl_sub_notes {
		font-size: 14px;
	}
}

/* SP時のみ表示するアコーディオン案内文 */
.accordion_service_att {
	color: #d13b4a;
	display: none;
	margin-bottom: 5px;
	font-size: 16px;
	font-weight: 700;
	text-align: center;
}

@media screen and (max-width: 1000px) {
	.accordion_service_att {
		display: block;
		font-size: 14px;
	}
}

/* 害獣カード画像と順位バッジ */
.service_list_img {
	position: relative;
}

.service_list_img .service_list_num {
	position: absolute;
	z-index: 10;
	top: -2%;
	left: 2%;
	color: #fff;
	font-size: 37px;
	font-weight: 700;
	transform: skewX(-10deg);
}

@media screen and (max-width: 1000px) {
	.service_list_img .service_list_num {
		font-size: 29px;
	}
}

.service_list_img .service_list_num span {
	position: absolute;
	top: 7%;
	left: 100%;
	font-size: 0.87em;
}

.service_list_img .service_list_num_bg {
	position: absolute;
	z-index: 1;
	top: 20%;
	left: 14%;
	transform: translate(-50%, -50%);
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 83px 106px 0 0;
	border-color: #0b5c85 transparent transparent transparent;
}

@media screen and (max-width: 1000px) {
	.service_list_img .service_list_num_bg {
		top: 30%;
		border-width: 83px 106px 0 0;
	}
}

.service_list_img img {
	border-radius: 17px 17px 0 0;
	width: 100%;
	height: auto;
	display: block;
}

/* 害獣名見出し */
.service_ttl {
	position: relative;
	cursor: pointer;
	background: #fff;
	color: #0b5c85;
	font-size: 28px;
	font-weight: 700;
	padding: 10px 15px 0;
	transition: all 0.5s ease;
}

@media screen and (max-width: 1000px) {
	.service_ttl {
		padding: 2% 3% 2% 15px;
		font-size: 20px;
	}
}

.service_list_line {
	margin-bottom: 15px;
	width: 100%;
	height: 1px;
	background: #0b5c85;
}

/* アコーディオン全体（5枚並び） */
.accordion {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-wrap: wrap;
	max-width: 1200px;
	margin: 0 auto 80px;
	gap: 30px;
}

@media screen and (max-width: 1000px) {
	.accordion {
		justify-content: space-evenly;
		margin: 0 auto 25px;
		gap: 0;
		max-width: 500px;
	}
}

.accordion_item {
	width: 380px;
	margin-bottom: 10px;
	border: solid 3px #0b5c85;
	border-radius: 20px;
	overflow: hidden;
	background: #fff;
}

@media screen and (max-width: 1000px) {
	.accordion_item {
		width: 47%;
		max-width: 380px;
	}
}

.accordion_header {
	background-color: #f4f4f4;
	cursor: pointer;
	position: relative;
}

/* SP時のみ表示する▼アイコン */
.accordion_toggle {
	display: none;
}

@media screen and (max-width: 1000px) {
	.accordion_toggle {
		display: block;
		position: absolute;
		top: 50%;
		right: 10px;
		transform: translateY(-50%);
		/* SPはhtml font-sizeがvw連動するため、▼が拡大しないよう固定pxで指定 */
		font-size: 14px;
		line-height: 1;
	}
}

.accordion_content {
	display: block;
	padding: 10px;
	background: #fff;
}

@media screen and (max-width: 1000px) {
	.accordion_content {
		display: none;
		padding-top: 0;
	}
}

@media screen and (max-width: 1000px) {
	.accordion_content_opened {
		display: block;
	}
}

/* 特性・駆除方法のdl */
.service_features {
	margin-bottom: 5px;
}

.service_features:last-child {
	margin-bottom: 0;
}

.service_features dt {
	position: relative;
	margin-left: 0.9em;
	padding-left: 0.2em;
	color: #0b5c85;
	font-size: 22px;
	font-weight: 700;
}

@media screen and (max-width: 1000px) {
	.service_features dt {
		margin-left: 0.4em;
		font-size: 16px;
	}
}

.service_features dt::before {
	content: "";
	position: absolute;
	top: 26%;
	left: -5%;
	width: 5px;
	height: 22px;
	background: #0b5c85;
}

@media screen and (max-width: 1000px) {
	.service_features dt::before {
		top: 23.5%;
		left: -4%;
		width: 5px;
		height: 17px;
	}
}

.service_features dd {
	margin-bottom: 10px;
	margin-left: 1em;
	text-indent: -1em;
	font-size: 18px;
	line-height: 1.5;
	text-align: justify;
}

@media screen and (max-width: 1000px) {
	.service_features dd {
		font-size: 14px;
	}
}

.service_features dd span {
	color: #d13b4a;
}

dd.service_method_desc {
	margin-left: 0;
	text-indent: 0;
}

/* 「その他害獣にも対応」枠 */
.service_other {
	position: relative;
	margin: 0 auto;
	padding: 40px 0px 40px 250px;
	max-width: 1000px;
	background: #0b5c85;
	border-radius: 20px;
}

@media screen and (max-width: 1000px) {
	.service_other {
		padding: 18px 0 18px 130px;
		max-width: 410px;
		width: 100%;
		border-radius: 0;
	}
}

.service_other::before {
	content: "";
	position: absolute;
	top: 26.7%;
	left: 125px;
	transform: translate(-50%, -50%);
	width: 197px;
	height: 238px;
	background-image: url(../img-top/service_person.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}

@media screen and (max-width: 1000px) {
	.service_other::before {
		top: 46%;
		left: 62px;
		width: 124px;
		height: 150px;
	}
}

.service_other::after {
	content: "";
	position: absolute;
	top: 48.7%;
	left: 910px;
	transform: translate(-50%, -50%);
	width: 118px;
	height: 148px;
	background-image: url(../img-top/icon_footprints.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}

@media screen and (max-width: 1000px) {
	.service_other::after {
		top: 48.7%;
		left: auto;
		right: 0;
		width: 98px;
		height: 123px;
	}
}

.service_other p {
	position: relative;
	z-index: 10;
	color: #fff;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.7;
}

@media screen and (max-width: 1000px) {
	.service_other p {
		font-size: 16px;
		line-height: 1.6;
	}
}

.service_other p span {
	text-decoration: underline;
}

/* === a8時のCTA「電話をかける」テキスト表示：配置崩れ防止（ボタン装飾なし） === */
/* メインCTA（.cta__tel-mail）：番号より短く縮むのを防ぐため幅を確保 */
.cta__tel-mail .tel a._a8call {
	width: 38rem;
	max-width: 100%;
}

.cta__tel-mail .tel a._a8call .num {
	font-size: 3.8rem;
}

/* MV内CTA（.mv__cta__box）：黄色ボックスの幅は既存指定（SPは固定33.5rem）に任せ、文字サイズのみ調整 */
.mv__cta__box .tel a._a8call .num {
	font-size: 3.6rem;
}

/* ヘッダー内CTA（.header__cta） */
.header__cta .tel a._a8call .num {
	font-size: 2rem;
}

@media screen and (max-width: 1000px) {

	/* SPは既存の黄色ボタン固定幅(33.5rem)・文字(3.1rem)に合わせる（PC用38remの上書きを打ち消す） */
	.cta__tel-mail .tel a._a8call {
		width: 33.5rem;
		max-width: 100%;
	}

	.cta__tel-mail .tel a._a8call .num {
		font-size: 3.1rem;
	}

	/* MVのSPは黄色ボックスが固定幅。文字を番号と同じ3remにしてボックス幅を保つ */
	.mv__cta__box .tel a._a8call .num {
		font-size: 3rem;
	}
}

/* ===== 広告流入時の電話ポップアップ ===== */
.js-tel-modal {
	cursor: pointer;
}

/* 子要素はタップを透過し、常にトリガー本体で受ける（DNIが番号に付与する tel: 発信を発火させない） */
.js-tel-modal * {
	pointer-events: none;
}

.md__box.md__tel .md__scroll--tel {
	width: 58rem;
	max-width: 92vw;
	padding: 0;
	overflow: hidden;
	border-radius: 1.6rem;
	background: #1c76e5;
	text-align: center;
}

/* 上部（青エリア） */
.md__tel__head {
	padding: 3.2rem 3rem 3rem;
}

.md__tel__catch {
	font-size: 2.8rem;
	font-weight: 900;
	color: #fff;
	line-height: 1.3;
}

.md__tel__sub {
	font-size: 1.5rem;
	font-weight: 700;
	color: #fff;
	margin-top: 1.5rem;
}

/* 黄色の電話ボタン */
.md__tel__number {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.2rem;
	margin: 1rem 0 0;
	padding: 1.5rem;
	background: #ffe000;
	border-radius: 1.2rem;
	text-decoration: none;
	box-shadow: 0 .5rem 1.4rem rgba(0, 0, 0, .22);
	border: .3rem solid #fff;
}

.md__tel__icon {
	width: 3.6rem;
	height: 3.6rem;
	fill: #1d59ad;
	flex-shrink: 0;
}

.md__tel__free {
	font-size: 1.4rem;
	font-weight: 900;
	color: #1d59ad;
	background: #fff;
	border-radius: .6rem;
	padding: .5rem .7rem;
	line-height: 1.15;
	flex-shrink: 0;
}

.md__tel__num {
	font-family: Roboto, sans-serif;
	font-size: 4rem;
	font-weight: 900;
	color: #1a1a1a;
	letter-spacing: .01em;
}

/* 下部（白エリア） */
.md__tel__foot {
	background: #fff;
	padding: 2rem 3rem 2.6rem;
}

.md__tel__hours {
	font-size: 1.7rem;
	font-weight: 800;
	color: #333;
}

.md__tel__note {
	font-size: 1.5rem;
	font-weight: 700;
	color: #333;
	margin-top: 1rem;
}

.md__tel__note span {
	color: #1d59ad;
}

@media screen and (max-width: 1000px) {
	.md__box.md__tel .md__scroll--tel {
		width: 36rem;
	}

	.md__tel__head {
		padding: 3rem 2rem 2.6rem;
	}

	.md__tel__catch {
		font-size: 4.7vw;
	}

	.md__tel__sub {
		font-size: 1.35rem;
	}

	.md__tel__number {
		gap: .8rem;
		padding: 1.3rem 1rem;
	}

	.md__tel__icon {
		width: 2.8rem;
		height: 2.8rem;
	}

	.md__tel__num {
		font-size: 7vw;
	}

	.md__tel__foot {
		padding: 1.8rem 2rem 2.2rem;
	}

	.md__tel__hours {
		font-size: 1.5rem;
	}

	.md__tel__note {
		font-size: 1.3rem;
	}
}

@media screen and (max-width: 400px) {
	.md__box.md__tel .md__scroll--tel {
		width: 92vw;
	}

	.md__tel__num {
		font-size: 2.7rem;
	}

	.md__tel__free {
		font-size: 1.2rem;
	}
}