@charset "UTF-8";
/* ===================================================================
CSS information
 file name  :  style.css
 style info : LPスタイル
=================================================================== */
/* =====================================
common
===================================== */
body {
	font-family: 'BIZ UDPGothic', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
    background-color: #f2f2f2;
}

.wrapper {
	background-color: #FFF;
	max-width: 750px;
	margin: 0 auto;
    -webkit-box-shadow: 0 0 10px 2px #d6d6d6;
	-moz-box-shadow: 0 0 10px 2px #d6d6d6;
	box-shadow: 0 0 10px 2px #d6d6d6;
}

.title01 {
	font-size: min(calc(32/750 * 100vw), 32px);
	color: #01148a;
	font-weight: 700;
	letter-spacing: 0.065em;
	line-height: 1.4;
	text-align: center;
	position: relative;
}
.title01::before,
.title01::after {
	content: "";
	display: block;
	width: min(calc(4/750 * 100vw), 4px);
	height: 100%;
	background: #01148a;
	border-radius: 20px;
	position: absolute;
	top: 0;
}

.title01::before {
	left: min(calc(42/750 * 100vw), 42px);
	transform: rotate(-15deg);
}
.title01::after {
	right: min(calc(42/750 * 100vw), 42px);
	transform: rotate(15deg);
}

/* =====================================
fv
===================================== */
.fv {
	background:  linear-gradient(125deg, #f5f9fe 0%,#e6f2ff 100%);
	padding-top: min(calc(30/750 * 100vw), 30px) ;
}
.fv_text {
	text-align: center;
	font-weight: 700;
	margin-bottom: 1em;
}

.fv_text_access{
	font-size: min(calc(36/750 * 100vw), 36px);
	width: min(calc(700/750 * 100vw), 700px);
	margin: 0 auto min(calc(14/750 * 100vw), 14px);
	padding: 0.35em 0;
	background: #fff;
	border: min(calc(3/750 * 100vw), 3px) solid #0027a0;
	box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.2);
	position: relative;
	letter-spacing: 0.02em;
}

.fv_text_access::before {
	content: "";
	position: absolute;
	bottom: calc(-25/750 * 100vw);
	left: 48%;
	border: min(calc(12/750 * 100vw), 12px) solid transparent;
	border-top: min(calc(16/750 * 100vw), 16px) solid #FFF;
	z-index: 2;
}

.fv_text_access::after {
	content: "";
	position: absolute;
	bottom: calc(-32/750 * 100vw);
	left: 48%;
	margin-left: calc(-2/750 * 100vw);
	border: min(calc(14/750 * 100vw), 14px) solid transparent;
	border-top: min(calc(18/750 * 100vw), 18px) solid #0027a0;
	z-index: 1;
}

.fv_text .maker {
	/*background: linear-gradient(transparent 60%, #f9da2b 0);*/
	font-size: min(calc(44/750 * 100vw), 44px);
	letter-spacing: 0.04em;
	-webkit-font-smoothing: subpixel-antialiased;
	-webkit-text-stroke: 1px #000;
}

.fv_text .maker small {
	font-size: 0.75em;
	-webkit-text-stroke: 0;
}

.fv_text_name {
	display: block;
	font-size: min(calc(50/750 * 100vw), 50px);
	letter-spacing: 0.06em;
	color: #0027a0;
}

@media screen and (min-width: 751px) {
	.fv_text_access::before {
		bottom: -25px;
	}

	.fv_text_access::after {
		bottom: -32px;
		margin-left: -2px;
	}
}

/* =====================================
cta
===================================== */
.cta {
	background: #f6faff;
	padding-bottom: min(calc(18/750 * 100vw), 18px);
}
.cta h2 {
	margin-bottom: calc(-34/750 * 100vw);
    z-index: 2;
    position: relative;
}
.cta_btn {
	display: block;
	width: min(calc(736/750 * 100vw), 736px);
	margin: auto;
}

.cta_btn a {
	display: block;
	text-align: center;
}
.cta_btn01 {
	display: block;
	width: min(calc(736/750 * 100vw), 736px);
	margin: auto;
}
.cta_btn01 a {
	pointer-events: auto;
}
@media screen and (min-width: 751px) {
	.cta_btn01 a {
	pointer-events: none;
	}
}

.cta_btn02 {
	margin-top: calc(-10/750 * 100vw);
}

.cta_02 {
	background: #f6faff;
	height: min(calc(600/750 * 100vw), 600px);
}

.cta_02 .cta_fukidashi {
	top: min(calc(40/750 * 100vw), 40px);
}

.cta_02 .cta_btn01 {
	top: min(calc(187/750 * 100vw), 187px);
}

.cta_02 .cta_btn02 {
	top: min(calc(377/750 * 100vw), 377px);
}



.modalArea {
	display: none;
	position: fixed;
	z-index: 100;
	/*サイトによってここの数値は調整 */
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.modalBg {
	width: 100%;
	height: 100%;
	background-color: rgba(30, 30, 30, 0.9);
}

.modalWrapper {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: min(calc(690/750 * 100vw), 690px);
	background-color: #fff;
	border: #bc3437 solid min(calc(4/750 * 100vw), 4px);
	display: block;
	animation: modalFadeIn 0.3s ease;
}

.modalWrapper > h2 {
	color: #fff;
	background-color: #bc3437;
	font-size: min(calc(42/750*100vw), 42px);
	margin-bottom: min(calc(10/750*100vw), 10px);
	padding: min(calc(20/750*100vw), 10px) 0;
	text-align: center;
	z-index: 0;
}

.closeModal {
	position: absolute;
	top: max(-3.73vw, -28px);
	right: max(-2.53vw, -19px);
	cursor: pointer;
	background: #fff;
	width: min(calc(62/750 * 100vw), 62px);
	height: min(calc(62/750 * 100vw), 62px);
	border: #bc3437 solid min(calc(4/750 * 100vw), 4px);
	border-radius: 50%;
	color: #bc3437;
	font-size: min(calc(40/750 * 100vw), 40px);
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
	filter: drop-shadow(min(0.53vw, 4px) min(0.53vw, 4px) min(1.07vw, 8px) rgb(17 17 17 / 0.29));
}

.modalContents {
	display: flex;
	justify-content: center;
	width: 100%;
	flex-wrap: wrap;
}

.popup_fukidashi {
	position: relative;
	width: min(calc(578/750 * 100vw), 578px);
	text-align: center;
	margin: 0 auto min(calc(-18/750 * 100vw), -25px) min(calc(47/750 * 100vw), 47px);
	z-index: 2;
}

.popup_inner {
	background-color: #eee;
	margin-top: min(calc(20/750 * 100vw), 20px);
	padding: min(calc(20/750 * 100vw), 20px) 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.popup_tel01 {
	width: 100%;
	margin-bottom: min(calc(-5/750 * 100vw), -5px);
}

.popup_tel01 a {
	display: block;
	width: min(calc(676/750 * 100vw), 676px);
	margin: 0 auto;
}

.popup_tel01 a .tel-num {
	font-size: min(9.07vw, 68px);
	padding-left: min(11.73vw, 88px);
}

.popup_btn02,
.popup_btn03 {
	width: 50%;
}

.popup_txt01 {
	font-size: min(calc(30/750 * 100vw), 30px);
	font-weight: bold;
	text-align: center;
	width: 100%;
}

@media screen and (min-width: 751px) {
	.cta h2 {
		margin-bottom: -34px;
	}
	.cta_btn02 {
		margin-top: -10px;
	}

	.modalWrapper {
		display: flex;
		justify-content: center;
		align-items: center;
		padding: min(calc(60/750 * 100vw), 60px) 0;
		height: min(calc(580/750 * 100vw), 580px);
	}
	.modalContents {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
    }
	.popup_fukidashi {
		margin-bottom: -40px;
	}
	.popup_tel01 a{
		pointer-events: none;
		position: relative;
	}
	.tel_btn_pc {
		position: relative;
	}
	.tel_num {
		font-weight: 700;
		position: absolute;
		top: 50%;
		left: 56%;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		font-size: min(calc(60/750 * 100vw), 60px);
		color: #bc3437;
		white-space: nowrap
	}

	.popup_tel01 a .tel_num {
		font-size: min(calc(56/750 * 100vw), 56px);
	}
}

/* =====================================
recommend
===================================== */
.place {
	width: min(calc(690/750 * 100vw), 690px);
	margin: 0 auto min(calc(40/750 * 100vw), 40px);
}

.place iframe {
	height: min(calc(594/750 * 100vw), 594px);
}
/* =====================================
map
===================================== */
.map {
	padding: min(calc(74/750 * 100vw), 74px) 0 min(calc(58/750 * 100vw), 58px);
}

.map_frame {
	margin-top: min(calc(38/750 * 100vw), 38px);
}
div#map {
	width: min(calc(750/750 * 100vw), 750px);
	height: min(calc(841/750 * 100vw), 841px);
}
.map_list {
	width: min(calc(690/750 * 100vw), 690px);
	padding: min(calc(28/750 * 100vw), 28px) min(calc(20/750 * 100vw), 20px);
	margin: auto;
	margin-top: calc(50/750 * 100vw);
	background: #fff;
    position: relative;
	box-shadow: 0 0 10px 2px #d6d6d6;
}

.map_list_titlebox {
	margin: 0 min(calc(10/750 * 100vw), 10px) min(calc(26/750 * 100vw), 26px);
	border-bottom: min(calc(2/750 * 100vw), 2px) solid #e4e4e4;
}
.map_list_title {
	text-align: center;
	font-size: min(calc(35/750 * 100vw), 35px);
	letter-spacing: 0.07em;
	margin-bottom: min(calc(12/750 * 100vw), 12px);
}
.map_list_title span{
	font-size: min(calc(45/750 * 100vw), 45px);
	color: #01148a;
	font-weight: bold;
}

.map_list_search {
	margin-bottom: min(calc(4/750 * 100vw), 4px);
	font-size: min(calc(24/750 * 100vw), 24px);
	letter-spacing: 0.07em;
}
.map_slider_conts {
	text-align: center;
}
.map_slider_conts a {
	display: block;
	margin-bottom: min(calc(12/750 * 100vw), 12px);
}


.map_slider .slick-dots {
	position: unset;
	display: flex;
	justify-content: flex-start;
	gap: min(calc(20/750 * 100vw), 20px);
	width: min(calc(342/750 * 100vw), 342px);
	margin: min(calc(7/750 * 100vw), 7px) auto;
}

.map_slider .slick-dots li a.dots_num:before {
	content: none;
}

.map_slider .slick-dots li {
	width: min(calc(70/750 * 100vw), 70px);
	height: min(calc(70/750 * 100vw), 70px);
	margin: 0;
}

.map_slider .slick-dots li a.dots_num {
	display: block;
	line-height: 2.1;
	font-size: min(calc(32/750 * 100vw), 32px);
	width: 100%;
	height: 100%;
	background: #fff;
	color: #6d6d6d;
	border-radius: min(calc(6/750 * 100vw), 6px);
	border: min(calc(2/750 * 100vw), 2px) solid #6d6d6d;
	font-weight: 700;
}

.map_slider .slick-dots li.slick-active a.dots_num {
	background: #6d6d6d;
	color: #fff;
}

.map_slider.slick-dotted.slick-slider {
	margin-bottom: min(calc(21/750 * 100vw), 21px);
}

.map_slider li img{
	margin-bottom: min(calc(14/750 * 100vw), 14px);
}

.map_slider .slick-next,
.map_slider .slick-prev {
	width: min(calc(120/750 * 100vw), 120px);
	height: min(calc(70/750 * 100vw), 70px);
	transition: all 0.5s;
	position: absolute;
	bottom: calc(-34/750 * 100vw);
	top: auto;
	background: #fff;
	border: solid min(calc(2/750 * 100vw), 2px) #6d6d6d;
	border-radius: min(calc(6/750 * 100vw), 6px);
}

.map_slider .slick-prev::before,
.map_slider .slick-next::before,
.map_slider .slick-prev.slick-disabled::before,
.map_slider .slick-next.slick-disabled::before {
	opacity: 1;
	font-size: min(calc(32/750 * 100vw), 32px);
}

.map_slider .slick-prev {
	left: min(calc(10/750 * 100vw), 10px);
}

.map_slider .slick-prev::before {
	content: '前へ';
	display: block;
	color: #6d6d6d;
}

.map_slider .slick-next {
	right: min(calc(10/750 * 100vw), 10px);
}

.map_slider .slick-next::before {
	content: '次へ';
	display: block;
	color: #6d6d6d;
}

.map_slider .slick-arrow:hover {
	cursor: pointer;
	opacity: 0.7;
}

@media screen and (min-width: 751px) {
	.map_list {
		margin-top: 30px;
	}
	.map_slider .slick-next,
	.map_slider .slick-prev {
		bottom: -34px;
	}
}

/* =====================================
case
===================================== */
.case {
	background: #f8fbff;
	padding: min(calc(73/750 * 100vw), 73px) min(calc(30/750 * 100vw), 30px) min(calc(20/750 * 100vw), 20px);
}
.case_box {
	margin: min(calc(30/750 * 100vw), 30px) 0 min(calc(40/750 * 100vw), 40px);
	padding-bottom: min(calc(18/750 * 100vw), 18px);
}

.case_box01 {
	border: min(calc(3/750 * 100vw), 3px) solid #01148a;
}

.case_box02 {
	border: min(calc(3/750 * 100vw), 3px) solid #0075c1;
}

.case_box03 {
	border: min(calc(3/750 * 100vw), 3px) solid #2ca6e0;
}

.case_title {
	padding: min(calc(26 / 750* 100vw), 26px);
    line-height: 1.4;
    letter-spacing: 0.05em;
	font-size: min(calc(40/750 * 100vw), 40px);
	text-align: center;
	color: #fff;
}

.case_box01 .case_title {
	background-color: #01148a;
}

.case_box02 .case_title {
	background-color: #0075c1;
}

.case_box03 .case_title {
	background-color: #2ca6e0;
}

.case_about {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

.case_about_conts {
	width: min(calc(352/750 * 100vw), 352px);
	padding: min(calc(27/750 * 100vw), 27px) min(calc(22/750 * 100vw), 22px);
}

.case_about_img {
	width: min(calc(334/750 * 100vw), 334px);
}

.case_about_kinds {
	display: inline-block;
	text-align: center;
	font-weight: bold;
	width: min(calc(145/750 * 100vw), 145px);
	font-size: min(calc(30/750 * 100vw), 30px);
	padding: min(calc(5/750 * 100vw), 5px) 0;
	border: min(calc(4/750 * 100vw), 4px) solid #000;
}

.case_box01 .case_about_kinds {
	color: #01148a;
	border-color: #01148a;
}

.case_box02 .case_about_kinds {
	color: #0075c1;
	border-color: #0075c1;
}

.case_box03 .case_about_kinds {
	color: #2ca6e0;
	border-color: #2ca6e0;
}

.case_about_people {
	font-size: min(calc(28/750 * 100vw), 28px);
	color: #111111;
	display: inline-block;
	margin-left: min(calc(14/750 * 100vw), 14px);
	padding: min(calc(7/750 * 100vw), 7px) min(calc(12/750 * 100vw), 12px);
	border: min(calc(4/750 * 100vw), 4px) solid #a99a9a;
	border-radius: 100px;
}
.case_about_people small {
	font-size: min(calc(22/750 * 100vw), 22px);
}

.case_about_price {
	font-weight: bold;
	text-align: center;
	margin-top: min(calc(20/750 * 100vw), 20px);
}
.case_about_price dt {
	padding: min(calc(6/750 * 100vw), 6px) 0;
	background-color: #c30e47;
	font-size: min(calc(36/750 * 100vw), 36px);
	color: #fff;
	letter-spacing: 0.05em;
}

.case_about_price dd {
	padding: min(calc(6/750 * 100vw), 6px) 0 min(calc(10/750 * 100vw), 10px);
	border: min(calc(4/750 * 100vw), 4px) solid #b4b4b4;
	border-top: none;
	color: #111;
	font-size:  min(calc(40/750 * 100vw), 40px);
	letter-spacing: -0.04em;
	line-height: 1.2;
}

.case_about_price dd span {
	font-size:  min(calc(64/750 * 100vw), 64px);
	color: #c30e47;
}

.case_about_price dd small {
	display: block;
	font-size: min(calc(18/750 * 100vw), 18px);
	letter-spacing: 0;
}

.case_breakedown {
	margin: min(calc(2/750 * 100vw), 2px) min(calc(20/750 * 100vw), 20px);
}
.case_breakedown dt {
	text-align: center;
	font-size: min(calc(36/750 * 100vw), 36px);
	font-weight: bold;
	padding: min(calc(6 / 750* 100vw), 6px) 0;
    letter-spacing: 0.05em;
	color: #fff;
}

.case_box01 .case_breakedown dt  {
	background-color: #01148a;
}

.case_box02 .case_breakedown dt {
	background-color: #0075c1;
}

.case_box03 .case_breakedown dt {
	background-color: #2ca6e0;
}

.case_breakedown dd {
	padding: min(calc(26/750 * 100vw), 26px)  min(calc(16/750 * 100vw), 16px) min(calc(10/750 * 100vw), 10px);
	border: min(calc(4/750 * 100vw), 4px) solid #b4b4b4;
	border-top: none;
}

.case_breakedown dd span {
	display: inline-block;
	font-size: min(calc(36 / 750* 100vw), 36px);
    padding: min(calc(14 / 750* 100vw), 14px) min(calc(24 / 750* 100vw), 24px);
	margin: min(calc(9/750 * 100vw), 10px);
	font-weight: bold;
}

.case_breakedown dd span.on {
	background: #e9f1f9;
	border: min(calc(4/750 * 100vw), 4px) solid #2d4670;
	color: #2d4670;
}
.case_breakedown dd span.off {
	background: #f7f7f7;
	border: min(calc(4/750 * 100vw), 4px) solid #f7f7f7;
	color: #bfbfbf;
}

/* =====================================
voice
===================================== */
.voice {
	background: url(../img/voice_bg.webp) no-repeat center top / 100%;
}
.accordion {
	width: min(calc(690/750 * 100vw), 690px);
	margin: 0 auto min(calc(30/750 * 100vw), 30px);
	box-shadow: min(calc(3/750 * 100vw), 3px) min(calc(3/750 * 100vw), 3px) min(calc(12/750 * 100vw), 12px) 0 rgba(26, 26, 26, 0.4);
	background-color: #fff;
}

.accordion01 {
	background: url(../img/voice01_bg.webp) no-repeat center top / 100%,#fff;
}

.accordion02 {
	background: url(../img/voice02_bg.webp) no-repeat center top / 100%,#fff;
}

.accordion03 {
	background: url(../img/voice03_bg.webp) no-repeat center top / 100%,#fff;
}

.accordion__summary {
	position: relative;
	background-color: transparent;
	cursor: pointer;
	width: 100%;
	padding: 0;
	border: none;
	text-align: start;
	appearance: none;
}

.accordion__summary::after {
	position: absolute;
	right: min(calc(28/750 * 100vw), 28px);
	top: min(calc(50/750 * 100vw), 50px);
	content: '';
	display: inline-block;
	width: min(calc(62/750 * 100vw), 62px);
	height: min(calc(62/750 * 100vw), 62px);
	background-image: url(../img/voice_icon.webp);
	background-size: contain;
	vertical-align: middle;
	transition: .3s;
	transform: rotate(180deg);
}

.accordion__summary--open::after {
	transform: rotate(0deg);
}

.accordion__detail {
	display: none;
}

/* =====================================
footer
===================================== */
.m__footer {
    padding-bottom: min(calc(240/750 * 100vw), 240px);
    position: relative;
}
.l__wrapper {
    overflow: hidden;
    background: #fff;
}
.l__inner {
	width: 100%;
	padding: 0 min(calc(74/750 * 100vw), 74px);
}
.link-list {
	display: flex;
	margin-bottom: min(calc(50/750 * 100vw), 50px);
}
.link-list li {
	border: min(calc(2/750 * 100vw), 2px) solid #cbcbcb;;
}
.link-list li:first-of-type {
	border-right: none;
}

.m__footer__bottom .address {
    text-align: center;
}

.link-list li img {
	max-width: 100%;
}
.m__footer__bottom .address .inner {
    display: inline-block;
    text-align: left;
    font-size: min(calc(20/750 * 100vw), 20px);
    font-feature-settings: "palt";
}
.m__footer__bottom .address .name {
    text-align: center;
    position: relative;
}
.m__footer__bottom .address .name span {
    display: inline-block;
    padding: 0 min(calc(20/750 * 100vw), 20px);
    background: #fff;
    position: relative;
    z-index: 1;
}
.m__footer__bottom .address .name::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    display: inline-block;
    width: 100%;
    height: 1px;
    background: #aaa;
}
.m__footer__bottom .address dl {
    display: flex;
}
.m__footer__bottom .external {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: min(calc(20/750 * 100vw), 20px);
    padding: min(calc(44/750 * 100vw), 44px) 0 min(calc(30/750 * 100vw), 30px);
}
.m__footer__bottom .external li.p-mark {
    width: min(calc(140/750 * 100vw), 90px);
}
.m__footer .copyright {
    font-size: 1rem;
    text-align: center;
}

.m__footer__bottom .logo-column .logo {
	margin: min(calc(40/750 * 100vw), 40px) 0;
	text-align: center;
}
.m__footer__bottom .logo-column .logo img {
	width: min(calc(496/750 * 100vw), 496px);
	height: auto;
}


.float_btn {
	position: fixed;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	background: #f6faff;
	display: flex;
	justify-content: space-evenly;
	align-items: end;
	z-index: 99;
	width: min(calc(750/750 * 100vw), 750px);
	padding: min(calc(12/750 * 100vw), 12px) 0 0;
}

.float_btn img {
	max-width: 100%;
}

.f_tel_btn {
	width: min(calc(423/750 * 100vw), 423px);
}

.f_info_btn {
	width: min(calc(342/750 * 100vw), 342px);
}
@media screen and (min-width: 751px) {
	.float_btn {
		display: none;
	}
}



/* エンディングハウス 改修 */
.renewal .facility_more {
	background: none !important;
	margin-top: min(calc(40/750 * 100vw), 40px);
}

.renewal .facility_more>dd dl {
	min-height: min(105 / 750 * 100vw, 105px);
}

.renewal .facility_more>dd dl dt {
	font-size: min(28 / 750 * 100vw, 28px);
	padding: min(10 / 750 * 100vw, 10px);
    width: min(160 / 750 * 100vw, 160px);
}

.renewal .facility_more > dt {
	display: none !important;
}

.renewal .facility_more>dd dl dd {
	font-size: min(calc(28/750 * 100vw), 28px) !important;
	line-height: 1.3 !important;
	padding-left: min(calc(30/750 * 100vw), 30px) !important;
}

.renewal .reason_title {
	display: block;
	text-align: center;
	margin-bottom: min(calc(35/750 * 100vw), 35px);
}

.renewal .reason_shop {
	position: relative;
	display: block;
	margin-bottom: min(calc(35/750 * 100vw), 35px);
	margin-left: min(calc(-30/750 * 100vw), -30px);
	margin-right: min(calc(-30/750 * 100vw), -30px);
}

.renewal .reason_shop img {
	width: 100%;
}

.renewal .reason_ttl {
	margin-bottom: min(calc(60/750 * 100vw), 60px);
}

.renewal .reason_ttl:after {
	bottom: calc(-26/750 * 100vw) !important;
}

@media screen and (min-width: 751px) {
	.renewal .reason_ttl:after {
		bottom: -26px !important;
	}
}

.renewal .reason_basis_txt {
	margin-bottom: min(calc(70/750 * 100vw), 70px);
}

.renewal .mapB {
	padding-top: min(40 / 750 * 100vw, 40px);
	padding-bottom: min(100 / 750 * 100vw, 100px);
}

.renewal .compare_item {
	position: relative;
	text-align: left;
}

.renewal .compare_item:first-child {
	margin-top: min(calc(45/750 * 100vw), 45px);
}

.renewal .compare_item:not(:first-child) {
	margin-top: min(calc(105/750 * 100vw), 105px);
}

.renewal .compare_heading {
	position: absolute;
	top: calc(-44/750 * 100vw);
	left: 0;
	width: min(calc(490/750 * 100vw), 490px);
	background-color: #08148a;
	line-height: 1;
	color: #fff;
	font-weight: bold;
	font-size: min(calc(40/750 * 100vw), 40px);
	padding: min(calc(24/750 * 100vw), 24px) 0 min(calc(24/750 * 100vw), 24px) min(calc(120/750 * 100vw), 120px);
	border-radius: 0 min(calc(44/750 * 100vw), 44px) min(calc(44/750 * 100vw), 44px) 0;
}

.renewal .compare_heading span {
	display: block;
	position: relative;
}

.renewal .compare_heading span::before {
	content: '';
	position: absolute;
	top: 50%;
	left: min(calc(-35/750 * 100vw), -35px);
	transform: translateY(-50%);
	width: min(calc(47/750 * 100vw), 47px);
	height: min(calc(47/750 * 100vw), 47px);
	background-image: url(../img/common/icon-circle.webp);
	background-size: cover;
	background-repeat: no-repeat;
}

@media screen and (min-width: 751px) {
	.renewal .compare_heading {
		top: -44px;
	}
}

.renewal .compare_linkArea {
	text-align: center;
	padding-top: min(calc(45/750 * 100vw), 45px);
}

.renewal .compare_link {
	display: inline-block;
	font-size: min(calc(24/750 * 100vw), 24px);
	border-bottom: 1px solid currentColor;
	text-decoration: none !important;
	padding: min(calc(4/750 * 100vw), 4px) min(calc(35/750 * 100vw), 35px);
	letter-spacing: .06em;
}

.renewal .compare_link::after {
	content: '';
	display: inline-block;
	width: min(calc(24/750 * 100vw), 24px);
	height: min(calc(24/750 * 100vw), 24px);
	margin-left: min(calc(24/750 * 100vw), 24px);
	background-image: url(../img/common/icon-search.webp);
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
}

.renewal .compare_other {
	position: absolute;
	left: 50%;
	bottom: min(60 / 750 * 100vw, 60px);
	transform: translateX(-50%);
	display: flex;
	justify-content: center;
	align-items: center;
	width: min(630 / 750 * 100vw, 630px);
	gap: min(30 / 750 * 100vw, 30px);
	background-color: #fff;
	border: 1px solid #000;
	font-size: min(calc(24/750 * 100vw), 24px);
	padding: min(calc(10/750 * 100vw), 10px) 0;
	border-radius: 32px;
	letter-spacing: .06em;
}

.renewal .compare_other strong {
	display: inline-block;
	font-size: min(calc(30/750 * 100vw), 30px);
	font-weight: bold;
	margin-left: min(calc(6/750 * 100vw), 6px);
}

.renewal .voice {
	padding: min(60 / 750 * 100vw, 60px) min(30 / 750 * 100vw, 30px) min(40 / 750 * 100vw, 40px);
	background: #f6faff;
}

.renewal .voice_ttl {
	margin-bottom: min(20 / 750 * 100vw, 20px);
	text-align: center;
	font-size: min(36 / 750 * 100vw, 36px);
	font-weight: bold;
	color: #00338d;
}

.renewal .voice_list {
	display: flex;
	flex-direction: column;
	gap: min(30 / 750 * 100vw, 30px);
	max-width: min(690 / 750 * 100vw, 690px);
	margin: 0 auto;
}

.renewal .voice_item {
	position: relative;
	cursor: pointer;
	display: flex;
	flex-direction: column;
}

.renewal .voice_box {
	display: flex;
	align-items: center;
	gap: min(30 / 750 * 100vw, 30px);
	padding: min(22 / 750 * 100vw, 22px) min(30 / 750 * 100vw, 30px);
	border: min(3 / 750 * 100vw, 3px) solid #00338d;
	border-bottom: none;
	border-radius: min(30 / 750 * 100vw, 30px) min(30 / 750 * 100vw, 30px) 0 0;
	background: #fff;
}

.renewal .voice_icon {
	flex-shrink: 0;
	width: min(143 / 750 * 100vw, 143px);
	height: min(143 / 750 * 100vw, 143px);
}

.renewal .voice_icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.renewal .voice_text {
	flex: 1;
	font-size: min(32 / 750 * 100vw, 32px);
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: .03em;
	color: #333;
}

.renewal .voice_text .highlight {
	color: #00338d;
	font-weight: bold;
}

.renewal .voice_hidden {
	display: none;
	padding: min(30 / 750 * 100vw, 30px);
	border-left: min(3 / 750 * 100vw, 3px) solid #00338d;
	border-right: min(3 / 750 * 100vw, 3px) solid #00338d;
	background: #fff;
}

.renewal .voice_detail {
	font-size: min(24 / 750 * 100vw, 24px);
	line-height: 1.8;
	color: #333;
}

.renewal .voice_arrow {
	position: relative;
	width: 100%;
	height: min(50 / 750 * 100vw, 50px);
	background: #00338d;
	border: min(3 / 750 * 100vw, 3px) solid #00338d;
	border-top: none;
	border-radius: 0 0 min(30 / 750 * 100vw, 30px) min(30 / 750 * 100vw, 30px);
	transition: all 0.3s ease;
}

.renewal .voice_arrow::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: min(20 / 750 * 100vw, 20px) min(31.5 / 750 * 100vw, 31.5px) 0 min(31.5 / 750 * 100vw, 31.5px);
	border-color: #fff transparent transparent transparent;
	transition: all 0.3s ease;
}

.renewal .voice_item.is-open .voice_arrow::after {
	transform: translate(-50%, -50%) rotate(180deg);
}

/* ===================================== 
葬祭ディレクターモーダル 
===================================== */
.renewal .directorModal {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 9999;
}

.renewal .directorModalBg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
}

.renewal .directorModalWrapper {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 90%;
	max-width: min(calc(690/750 * 100vw), 690px);
	background-image: url(../img/common/modal_bg.webp);
	background-size: cover;
	background-repeat: no-repeat;
	border-radius: min(calc(30/750 * 100vw), 30px);
	padding: min(calc(30/750 * 100vw), 30px);
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
	animation: modalFadeIn 0.3s ease;
}

.renewal .directorModalContent {
	position: relative;
}

.renewal .directorModalBody {
	background-color: #fff;
	border-radius: min(calc(20/750 * 100vw), 20px);
	padding: min(calc(22/750 * 100vw), 22px) min(calc(30/750 * 100vw), 30px);
	min-height: min(calc(480/750 * 100vw), 480px);
}

.renewal .directorModalBody p {
	font-size: min(calc(28/750 * 100vw), 28px);
	line-height: 1.7;
	color: #333;
	text-align: left;
	letter-spacing: .05em;
}

@media screen and (min-width: 751px) {
	.renewal .directorModalBody p {
		font-size: 24px;
	}
}

.renewal .closeDirectorModal {
	position: absolute;
	top: min(calc(-30/750 * 100vw), -30px);
	right: min(calc(-30/750 * 100vw), -30px);
	width: min(calc(120/750 * 100vw), 120px);
	height: min(calc(120/750 * 100vw), 120px);
	background-color: #666;
	border-radius: 50%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	font-size: min(calc(60/750 * 100vw), 60px);
	color: #fff;
	font-weight: bold;
	line-height: 1;
	text-align: center;
	transition: background-color 0.3s;
}

.renewal .closeCompareModal {
	position: absolute;
	right: min(calc(-20/750 * 100vw), -20px);
	top: min(calc(-70/750 * 100vw), -70px);
	width: min(calc(67/750 * 100vw), 67px);
}

@media screen and (min-width: 751px) {
	.renewal .closeCompareModal {
		right: -35px;
		top: -120px;
		width: 67px;
	}
}

.renewal .closeCompareModal:hover {
	cursor: pointer;
}

/* モーダル表示時スクロール制御 */
body.fixed {
	overflow: hidden;
}

/* モーダルアニメーション */
@keyframes modalFadeIn {
	from {
		opacity: 0;
		transform: translate(-50%, -48%) scale(0.95);
	}
	to {
		opacity: 1;
		transform: translate(-50%, -50%) scale(1);
	}
}