@charset "utf-8";

/*
/*    CSS MENU
/*

/*
*********************************************************************************
/*
/* コメントタイプ
/*
/*******************************************************************************/
/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
中コメント */
/*------------------------------------------------------------------------------
小コメント */
/* コメント */
/*
*********************************************************************************
/*
/* 大枠
/*
/*******************************************************************************/
#wrapper {
	position: relative;
	overflow: hidden;
}

#frontpage.js_header_move #wrapper {}

.h_space {
	height: var(--b_header);
}

.under_page .h_space {
	height: var(--s_header);
}

/*
*********************************************************************************
/*
/* header
/*
/*******************************************************************************/
:root {
	--b_header: 64vw;
	--s_header: 21vw;
}

header {
	--header-height: var(--s_header);
	position: relative;
	z-index: 1000;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: var(--b_header);
	background: rgb(255 255 255 / 100%);
	transition: 1s ease;
}

header .h_inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}

header .h_top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 7.5vw;
	height: 64vw;
}

header .logo {
	width: 49vw;
	transition: 0.5s ease;
	position: relative;
	aspect-ratio: 197 / 63;
}

header .logo a {
	position: relative;
	display: block;
	transition: inherit;
	width: 100%;
	height: 100%;
	position: relative;
	transition: inherit;
}

header .logo a::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	background: url(/assets/img/logo.svg) no-repeat 100% 100% / contain;
	width: 100%;
	height: 100%;
	opacity: 0;
}

header .logo img {
	opacity: 1;
	display: block;
}

header .logo::after {
	position: absolute;
	content: "シニアのための理想の住まい\A「サンシティ」";
	color: var(--green);
	font-size: 1.2rem;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.5rem;
	top: 50%;
	left: 33vw;
	transform: translate(0%, -50%);
	width: 45vw;
	white-space: pre-wrap;
	opacity: 0;
	pointer-events: none;
}

header .h_space {
	height: var(--b_header);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	background: rgb(255 255 255 / 100%);
	width: 100%;
	transition: 0.5s ease;
}

:is(.under_page, .js_header_move:where(:not(.is_returning_top))) header .logo {
	width: 31.5vw;
	transition: 0.5s ease;
}

:is(.under_page, .js_header_move:where(:not(.is_returning_top))) header .logo a {
	aspect-ratio: 127 / 39;
}

:is(.under_page, .js_header_move:where(:not(.is_returning_top))) header .logo::after,
:is(.under_page, .js_header_move:where(:not(.is_returning_top))) header .logo a::after {
	opacity: 1;
}

:is(.under_page, .js_header_move:where(:not(.is_returning_top))) header .logo img {
	opacity: 0;
}

:is(.under_page, .js_header_move:where(:not(.is_returning_top))) header {
	position: fixed;
	background: rgb(255 255 255 / 90%);
}

:is(.under_page, .js_header_move:where(:not(.is_returning_top))) header,
:is(.under_page, .js_header_move:where(:not(.is_returning_top))) header .h_top,
:is(.under_page, .js_header_move:where(:not(.is_returning_top))) header .h_space {
	transition: 1s ease;
	height: var(--s_header);
}

:is(.under_page, .js_header_move:where(:not(.is_returning_top))) header .h_space {
	background: rgb(255 255 255 / 90%);
	transition: 2.5s ease;
}

:is(.under_page, .js_header_move:where(:not(.is_returning_top))) header .h_top {
	display: flex;
	width: 88vw;
	padding: 0;
	align-content: center;
	flex-direction: row;
	justify-content: space-between;
}

header .btn_area {
	display: grid;
	grid-template-columns: 1fr 25vw 25vw;
	gap: 4px;
	transition: 1.5s ease;
	padding: 6vw 4vw;
}

header .btn_area .tel_box {
	grid-column: 1 / -1;
}

header .btn_area a {
	border: 1px solid var(--color);
	text-decoration: none;
	position: relative;
	padding: 2vw 3vw 2vw 3vw;
	border-radius: 8vw;
	line-height: 1.3;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	min-height: 8vw;
	gap: 1vw;
	background: #fff;
	margin-top: 0;
}

header .btn_area a::before {
	z-index: 1;
	background: var(--color);
	width: 4vw;
	aspect-ratio: 1 / 1;
	content: "";
	position: absolute;
	border-radius: 50%;
	right: 3vw;
	top: 50%;
	transform: translate(0%, -50%);
}

header .btn_area .tel_box a {
	width: 100%;
}

header .btn_area li:not(.tel_box) a {
	font-size: 1.2rem;
	letter-spacing: 0.08em;
}

header .btn_area a::before,
header .btn_area a::after {
	width: 4vw !important;
	right: 2vw !important;
}

header .btn_area a::after {
	position: absolute;
	content: "";
	-webkit-mask-image: url(/assets/img/icon_arrow.svg);
	mask-image: url(/assets/img/icon_arrow.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	mask-size: contain;
	background: #fff;
	z-index: 2;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	top: 50%;
	transform: translate(0%, -50%);
}

header .btn_area .tel_box a .type {
	font-size: 1rem;
	letter-spacing: 0;
}

header .btn_area .tel_box a .tel_num {
	font-size: 1.6rem;
	letter-spacing: 0;
}

header .btn_area .tel_box .time {
	font-size: 1rem;
	letter-spacing: 0;
	margin-left: 0.1em;
	transition: 0.5s ease;
	opacity: 1;
	position: relative;
}

header .btn_area .area a {
	background: var(--green);
	border-color: var(--green);
	color: #fff;
}

header .btn_area .area a::before {
	background: #fff;
}

header .btn_area .area a::after {
	background: var(--green);
}

/*
*********************************************************************************
/*
/* footer + pagetop
/*
/*******************************************************************************/
footer {
	background: var(--color);
	color: #fff;
	padding: 14vw 0;
}

footer a {
	color: #fff;
}

footer .f_con nav li a {
	padding-right: 6.2vw;
	text-decoration: none;
	letter-spacing: 0.08em;
	position: relative;
	display: inline-block;
	padding-top: 0.4vw;
	font-weight: 700;
}

footer .f_con nav li a::before {
	position: absolute;
	content: "";
	-webkit-mask-image: url(/assets/img/icon_arrow.svg);
	mask-image: url(/assets/img/icon_arrow.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	mask-size: contain;
	background: #fff;
	z-index: 2;
	width: 6vw;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	right: 0;
	top: 50%;
	transform: translate(0%, -50%);
}

footer .info_link {
	margin-top: 10vw;
	display: grid;
	grid-template-columns: 1fr 1fr;
}

footer .info_link a {
	text-decoration: none;
	font-size: 3vw;
	letter-spacing: 0.08em;
}

footer .contact_block {
	margin-top: 10vw;
}

footer .contact_block .lead {
	font-size: 1.2rem;
	letter-spacing: 0;
	line-height: 1.6em;
	margin-bottom: 5vw;
}

footer .btn_area {
	margin-top: 4vw;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2vw;
}

footer .btn_area a {
	border: 1px solid #fff;
	color: #fff;
	text-decoration: none;
	position: relative;
	padding: 2.5vw 14vw 3.1vw 4vw;
	border-radius: 30vw;
	line-height: 1.3;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	background: var(--color);
}

footer .btn_area li.tel_box a::after {
	background: var(--color);
}

footer .btn_area a::before {
	z-index: 1;
	background: #fff;
	width: 4vw;
	aspect-ratio: 1 / 1;
	content: "";
	position: absolute;
	border-radius: 50%;
	right: 3vw;
	top: 50%;
	transform: translate(0%, -50%);
}

footer .btn_area li:not(.tel_box) a::after {
	position: absolute;
	content: "";
	-webkit-mask-image: url(/assets/img/icon_arrow.svg);
	mask-image: url(/assets/img/icon_arrow.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	mask-size: contain;
	background: var(--color);
	z-index: 2;
	width: 4vw;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	right: 3vw;
	top: 50%;
	transform: translate(0%, -50%);
}

footer .btn_area .tel_box,
footer .btn_area .area {
	grid-column: 1 / -1;
}

footer .tel_box {
	margin-bottom: 4vw;
}

footer .btn_area li.area a {
	background: #fff;
	color: var(--color);
}

footer .btn_area li.area a::before {
	background: var(--color);
}

footer .btn_area li.area a::after {
	background: #fff;
}

footer small {
	font-size: 1.2rem;
	letter-spacing: 0.08em;
	margin-top: 6vw;
	display: block;
}

/*
*********************************************************************************
/*
/* モジュール
/*
/*******************************************************************************/
/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
テキスト */
.txt_line {
	display: inline;
	background: linear-gradient(transparent 67%, var(--lorange) 0%);
}

.txt_green {
	color: var(--green);
}

/*------------------------------------------------------------------------------
カミングスーン block_cs*/
.block_cs {
	height: 33.7vw;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}

.block_cs > p {
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.24em;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
タイトル */
.tl01 {
	font-weight: 700;
	font-size: 5vw;
	letter-spacing: 0.24em;
	line-height: 1.6em;
	margin-bottom: 5vw;
}

.tl01_box .en {
	font-family: var(--en);
	font-weight: 300;
	letter-spacing: 0.325em;
	line-height: 1;
	padding-left: 4vw;
	position: relative;
	margin-bottom: 4vw;
	display: block;
}

.tl01_box .en::before {
	position: absolute;
	content: "";
	width: 0.5vw;
	height: calc(100% - 0.6vw);
	top: 0.3vw;
	left: 0;
	background: var(--color);
}

.tl_orange {
	color: var(--orange);
}

.tl01_box.tl01_bo {
	padding-bottom: 5vw;
	border-bottom: 1vw solid var(--green);
	margin-bottom: 10vw;
}

.tl01_box.tl01_bo.tl_orange {
	border-color: var(--orange);
}

.tl02 {
	color: var(--green);
	font-weight: 700;
	font-size: 2rem;
	line-height: 1.6;
	letter-spacing: 0.24em;
	padding-bottom: 2vw;
	border-bottom: 1vw solid var(--green);
	margin-bottom: 10vw;
	margin-top: 8vw;
}

.tl03 {
	font-weight: 700;
	font-size: 5vw;
	letter-spacing: 0.32em;
	line-height: 1.6em;
	margin-bottom: 1vw;
	margin-top: 9vw;
}

.tl_green {
	color: var(--green);
}

.tl_hrc {
	font-weight: 700;
	font-size: 2rem;
	text-align: center;
	position: relative;
	margin-bottom: 6vw;
	line-height: 1.7;
}

.tl_hrc::before {
	position: absolute;
	content: "";
	background: var(--lgreen);
	width: 100%;
	top: 50%;
	left: 0%;
	transform: translate(0%, -50%);
	height: 1vw;
	margin-top: 0.2vw;
}

.tl_hrc > * {
	background: #fff;
	padding: 0 4vw;
	position: relative;
	z-index: 10;
	display: inline-block;
}

.bg_beige .tl_hrc > * {
	background: var(--beige);
}

/*------------------------------------------------------------------------------
ページタイトル page_tl */
.page_tl {
	background: #000;
	text-align: center;
	position: relative;
	height: 60vw;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}

.page_tl::before {
	position: absolute;
	content: "";
	background: url(/assets/img/umv_sp.webp) no-repeat center center / cover;
	width: 100%;
	height: 100%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	opacity: 0.4;
	z-index: 1;
}

.page_tl > * {
	position: relative;
	color: #fff;
	z-index: 10;
	padding-bottom: 3vw;
}

.page_tl h1 {
	font-weight: 700;
	font-size: 5vw;
	letter-spacing: 0.24em;
}

.page_tl h1 + p {
	margin-top: 5vw;
	font-weight: 700;
	line-height: 1.7;
	letter-spacing: 0.16em;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
アンカーリンク */
.anchor_block .sp_col02 .btn {
	font-size: 1.2rem
}

.anchor_block .btn::after {
	transform: translate(0%, -50%) rotate(90deg);
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
リスト */
.li_dot > li {
	padding-left: 5vw;
	position: relative;
	line-height: 2.2;
}

.li_dot > li::before {
	position: absolute;
	content: "";
	background: var(--color);
	width: 1vw;
	aspect-ratio: 1/1;
	left: 2vw;
	border-radius: 50%;
	top: 3vw;
}

.li_square > li {
	padding-left: 5vw;
	position: relative;
	line-height: 2.2;
}

.li_square > li::before {
	position: absolute;
	content: "";
	background: var(--color);
	width: 3vw;
	aspect-ratio: 1/1;
	left: 0;
	top: 3.1vw;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
ボタン */
.btn {
	border: 1px solid var(--green);
	color: var(--green);
	text-decoration: none;
	position: relative;
	padding: 2.8vw 14vw 3.2vw 6vw;
	border-radius: 30vw;
	line-height: 1.3;
	min-height: 14vw;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	background: #fff;
	font-weight: 700;
	font-size: 1.6rem;
	text-align: justify;
}

.btn::before {
	z-index: 1;
	background: var(--green);
	width: 6vw;
	aspect-ratio: 1/1;
	content: "";
	position: absolute;
	border-radius: 50%;
	right: 4vw;
	top: 50%;
	transform: translate(0%, -50%);
}

.btn::after {
	position: absolute;
	content: "";
	-webkit-mask-image: url(/assets/img/icon_arrow.svg);
	mask-image: url(/assets/img/icon_arrow.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	mask-size: contain;
	background: #fff;
	z-index: 2;
	width: 6vw;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	right: 4vw;
	top: 50%;
	transform: translate(0%, -50%);
}

.btn.btn_orange_bo {
	border-color: var(--orange);
	color: var(--orange);
}

.btn.btn_orange_bo::before {
	background: var(--orange);
}

.btn.btn_bg_green {
	background: var(--green);
	color: #fff;
}

.btn.btn_bg_green::before {
	background: #fff;
}

.btn.btn_bg_green::after {
	background: var(--green);
}

.btn.btn_orange {
	border-color: var(--orange);
	color: var(--orange);
}

.btn.btn_orange::before {
	background: var(--orange);
}

.btn.btn_bg_orange {
	background: var(--orange);
	color: #fff;
	border-color: var(--orange);
}

.btn.btn_bg_orange::before {
	background: #fff;
}

.btn.btn_bg_orange::after {
	background: var(--orange);
}

/*------------------------------------------------------------------------------
電話番号 tel_box */
.tel_box a {
	gap: 1.5vw;
	margin-top: 4vw;
	padding: 2.1vw 14vw 3.4vw 6vw;
	min-height: 14vw;
	text-decoration: none;
	position: relative;
	border-radius: 30vw;
	line-height: 1.3;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: flex-start;
	font-weight: 700;
	font-size: 1.2rem;
}

.tel_box a::before {
	z-index: 1;
	aspect-ratio: 1 / 1;
	content: "";
	position: absolute;
	border-radius: 50%;
	top: 50%;
	transform: translate(0%, -50%);
	width: 6vw !important;
	right: 4vw !important;
}

.tel_box a::after {
	width: 6vw !important;
	right: 4vw !important;
	position: absolute;
	content: "";
	-webkit-mask-image: url(/assets/img/icon_arrow.svg);
	mask-image: url(/assets/img/icon_arrow.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	mask-size: contain;
	background: #fff;
	z-index: 2;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	top: 50%;
	transform: translate(0%, -50%);
}

.tel_box a .type {
	font-size: 2rem;
	letter-spacing: 0;
	line-height: 1;
}

.tel_box a .tel_num {
	font-size: 3.2rem;
	letter-spacing: 0;
	line-height: 1;
}

.tel_box .time {
	font-size: 1.2rem;
	display: block;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
表 */
/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
gmap */
.gmap {
	position: relative;
	overflow: hidden;
	height: 60vw;
}

.gmap iframe,
.gmap object,
.gmap embed {
	width: 100%;
	height: 100%;
}

.mapapi_wrap .baseMap {
	height: 88vw;
	width: 88vw;
}

.mapapi_wrap img {
	max-inline-size: inherit;
	max-block-size: inherit;
}

/*------------------------------------------------------------------------------
地図アイコン説明　map_pin_info */
.map_pin_info {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 4vw;
	flex-direction: row;
	margin-block: 9vw;
}

.map_pin_info > li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	flex-direction: row;
	gap: 1vw;
}

.map_pin_info > li .img {
	width: 19vw;
}

.map_pin_info > li .txt {
	line-height: 1;
	padding-bottom: 1.9vw;
	font-size: 1.2rem;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
youtube */
.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
フォーム
<dl class="form_layout"><dt><p><span class="form_tl"></span><span class="required">必須</span></p></dt><dd></dd></dl>
 */
input[type=text],
input[type=email],
select,
textarea {
	background: #fff;
	border: 1px solid #d4d4d4;
	width: 100%;
	font-size: 16px;
	padding: 2vw;
	border-radius: 3px;
}

input:disabled {
	background: #f7f7f7;
	border: 1px solid #cccccc;
	color: #bbb;
}

input.minitxt {
	width: 9em;
}

/*------------------------------------------------------------------------------
セレクトボックス
<div class="selectblock"><select name="pref" id="pref" class="select_style" required=""><option  value="" selected="" hidden="">選択してください</option><option value="A">A</option></select></div>
 */
.selectblock {
	position: relative;
}

.selectblock:before {
	position: absolute;
	top: 50%;
	right: 0;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
	content: '';
	pointer-events: none;
	content: "";
	border: #aeaeae 1px solid;
	background: #e1e1e1;
	height: 100%;
	width: 30px;
	border-radius: 0 3px 3px 0;
	pointer-events: none;
}

.selectblock:after {
	position: absolute;
	content: "";
	position: absolute;
	top: 46%;
	right: 10px;
	-webkit-transform: translate(0, -50%) rotate(-45deg);
	transform: translate(0, -50%) rotate(-45deg);
	width: 10px;
	height: 10px;
	border-left: 2px solid #727272;
	border-bottom: 2px solid #727272;
	pointer-events: none;
}

/*------------------------------------------------------------------------------
テキストエリア
<textarea name="message"></textarea>
 */
textarea {
	height: 40vw;
	resize: vertical;
}

/*------------------------------------------------------------------------------
ラジオボタン
<ul><li class="radio_style"><label><input type="radio" name="type" value="A"><span class="radio_txt">A</span></label></li></ul>
*/
.radio_style label {
	display: inline-block;
	margin: 0 5px 0 0;
}

.radio_style input[type="radio"] {
	box-sizing: border-box;
	max-width: 100%;
	font-size: 100%;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
	width: auto;
	margin: 0 5px 0 0;
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.radio_style span {
	padding-left: 8vw;
	position: relative;
	display: block;
	cursor: pointer;
	padding-right: 4vw;
	display: block;
	width: 101%;
	width: -webkit-calc(100% + 2px);
	width: calc(100% + 2px);
}

.radio_style span:before {
	content: "";
	display: block;
	border: 1px solid #dedede;
	background: #fff;
	border-radius: 50%;
	width: 5vw;
	height: 5vw;
	position: absolute;
	top: 50%;
	left: 0%;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
}

.radio_style input:checked + .radio_txt:after {
	content: "";
	display: block;
	width: 2.9vw;
	height: 2.9vw;
	background: #fe4f78;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 1.1vw;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
}

/*------------------------------------------------------------------------------
チェックボックス
<ul class="checkbox_style"><li><label><input type="checkbox" name="pass" value="A"><span class="checkbox_txt">A</span></label></li></ul>
 */
.checkbox_style label {
	display: inline-block;
	margin: 0 5px 0 0;
}

.checkbox_style input[type="checkbox"] {
	box-sizing: border-box;
	max-width: 100%;
	font-size: 100%;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
	width: auto;
	margin: 0 5px 0 0;
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.checkbox_style span {
	padding-left: 8vw;
	position: relative;
	display: block;
	cursor: pointer;
	padding-right: 4vw;
	display: block;
	width: 101%;
	width: -webkit-calc(100% + 2px);
	width: calc(100% + 2px);
}

.checkbox_style span:before {
	content: "";
	display: block;
	border: 1px solid #dedede;
	background: #fff;
	width: 5vw;
	height: 5vw;
	position: absolute;
	top: 50%;
	left: 0%;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
}

.checkbox_style input:checked + .checkbox_txt:after {
	content: "";
	display: block;
	position: absolute;
	top: 0.6vw;
	left: 1.5vw;
	width: 2vw;
	height: 3.5vw;
	transform: rotate(40deg);
	border-bottom: 3px solid #fe4f78;
	border-right: 3px solid #fe4f78;
}

/*------------------------------------------------------------------------------
ラジオボタン+チェックボックスの並び
<ul class="form_narabi"><li></li></ul>
 */
.form_narabi {
	margin-top: -4vw;
}

.form_narabi li {
	display: inline-block;
	margin-top: 4vw;
}

/*------------------------------------------------------------------------------
フォームレイアウト */
.form_layout > dt {
	margin-bottom: 2vw;
}

.form_layout > dt p {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
}

.form_layout > dt .form_tl {
	font-size: 1.8rem;
}

/*------------------------------------------------------------------------------
必須 */
.form_layout .required {
	background: #fe4f78;
	color: #fff;
	font-size: 1.3rem;
	letter-spacing: 2px;
	height: 8vw;
	display: block;
	width: 8vw;
	border-radius: 50%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	margin-left: 2vw;
	padding-left: 1px;
}

/*------------------------------------------------------------------------------
追加テキスト
<dd class="txt_tuika"><input type="text" name="A" class="minitxt"><p>万円</p></dd>
 */
.form_layout .txt_tuika {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
}

.form_layout .txt_tuika p {
	font-size: 1.8rem;
}

.form_layout .txt_tuika input + p,
.form_layout .txt_tuika p + input {
	margin-left: 1em;
}

/*------------------------------------------------------------------------------
form_confirm
<input type="text" name="name" value="山田太郎" disabled>
 */
.form_confirm input:disabled {
	background: none;
	border: none;
	padding-left: 0 !important;
	padding-right: 0 !important;
	-webkit-text-fill-color: black;
	opacity: 1;
	color: #000;
	font-size: 1.8rem;
}

.form_confirm input.minitxt:disabled {
	width: 3em;
}

.submit_btn_reverse {
	background: #c3c3c3;
	padding: 3.5vw 9vw;
	font-size: 1.8rem;
}

.form_submit_btn_block li + li {
	margin-top: 10vw;
}

.form_confirm .form_layout .txt_tuika input + p,
.form_confirm .form_layout .txt_tuika p + input {
	margin-left: 0;
}

.form_confirm .form_layout > dd {
	padding: 1px 0;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
ブロック */
.bg_white,
.bg_beige,
.bg_green {
	padding: 14vw 0;
}

.bg_white {
	background: #fff;
}

.bg_beige {
	background: var(--beige);
}

.bg_green {
	background: var(--lgreen);
}

.inner_outer {
	width: 88vw;
	margin-left: 6vw;
	margin-right: 6vw;
}

/*------------------------------------------------------------------------------
ベタブロック beta */
.beta {
	background: var(--beige);
	padding: 5vw 6vw;
	border-radius: 2vw;
}

.beta.beta_p00 {
	padding: 0 !important;
}

.beta .tl {
	text-align: center;
	font-weight: 700;
	font-size: 2rem;
	letter-spacing: 0.24em;
	line-height: 1.6;
	margin-bottom: 4vw;
}

.beta *:not(.btn, .tl) {
	font-size: 3vw;
}

.beta02 {
	background: #fff;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
サイドにタイトル　side_tl_block */
.side_tl_block {
	display: grid;
	grid-template-columns: 1fr;
	justify-items: center;
}

.side_tl_block > dt .lead {
	font-size: 1.2rem;
	text-align: center;
	background: var(--lgreen);
	padding: 2.2vw 4vw 2vw 4vw;
	line-height: 1.8;
	margin-bottom: 4vw;
	width: 100%;
}

.side_tl_block dt {
	width: 100%;
}

.side_tl_block.side_tl_block_stretch > dt .lead {
	font-size: 2rem;
	padding: 3.3vw 4vw 3.5vw 4vw;
}

.side_tl_block.side_tl_block_stretch .tl01 {
	font-size: 2rem;
	margin-bottom: 0;
	font-weight: 500;
}

.side_tl_block.side_tl_block_stretch > dd {
	text-align: center;
}

.side_tl_block.side_tl_block_stretch > dd .li_dot {
	text-align: left;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
並び */
/*------------------------------------------------------------------------------
col */
.col01 {
	display: grid;
	grid-template-columns: 1fr;
}

.col02 {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}

.sp_col01 {
	display: grid;
	grid-template-columns: 1fr;
}

.sp_col02 {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}

.col01_02,
.col02_01,
.col01_02_01 {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2vw;
}

.col01_02 > li:first-child,
.col02_01 > li:last-child,
.col01_02_01 > li:first-child,
.col01_02_01 > li:last-child {
	grid-column: 1 / -1;
}

.sp_flex01 {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-between;
	flex-direction: column;
}

/*------------------------------------------------------------------------------
gap */
.sp_gap08 {
	gap: 2vw;
}

.sp_gap_24 {
	gap: 6vw;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
現在あるサークル活動の例 li_activities */
.li_activities {
	display: grid;
	grid-template-columns: 25vw 22vw 1fr;
	letter-spacing: 0.08em;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
ご入居者の声 voice */
.voice_block {
	width: 80vw;
	margin: 0 auto;
	padding-top: 1px;
}

.voice_block > li {
	position: relative;
	background: #fff;
	border-radius: 2vw;
	margin-top: 12.5vw;
	letter-spacing: 0.16em;
	line-height: 2.4;
	text-align: center;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	min-height: 57.5vw;
	padding: 15vw 6vw 4vw 6vw;
	align-items: flex-start;
}

.bg_white .voice_block > li {
	background: var(--beige);
}

.voice_block > li + li {
	margin-top: 16.75vw;
}

.voice_block > li figure {
	position: absolute;
	width: 25vw;
	aspect-ratio: 1/1;
	border-radius: 50%;
	overflow: hidden;
	top: -12.5vw;
	left: 50%;
	transform: translate(-50%, 0%);
}

.slide_voice .slider {
	--speed: 50s;
	--slide-width: 80vw;
}

.slide_voice .slider .voice_block {
	width: auto;
	flex-wrap: nowrap;
}

.slide_voice .slider .voice_block li {
	margin-top: 12.5vw;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
サイドに画像 img_side */
.img_side {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10vw;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
画像＋タイトル＋文章 pallet_figure */
.pallet_figure .txt_block {
	margin-top: 5vw;
}

.pallet_figure .txt_block .tl {
	letter-spacing: 0.24em;
	font-size: 5vw;
	font-weight: 700;
	line-height: 1.8;
}

.pallet_figure .txt_block .tl + .txt {
	margin-top: 2vw;
}

.pallet_figure .txt_block .txt {
	font-size: 3vw;
	letter-spacing: 0.16em;
	text-align: justify;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
全国のサンシティ・ロイヤルケア domestic_li */
.domestic_li {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8vw;
	text-align: center;
}

.domestic_li .ad {
	font-size: 1.2rem;
	letter-spacing: 0.16em;
	font-weight: 700;
	margin-top: 2vw;
}

.domestic_li .name {
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 1.3em;
	letter-spacing: 0.1em;
	margin-top: 1vw;
}

.domestic_li .price {
	font-weight: 700;
	font-size: 1.2rem;
	letter-spacing: 0.16em;
	margin-top: 1vw;
}

.domestic_li .btn_area {
	margin-top: 3vw;
}

.domestic_li .btn_area .btn {
	font-size: 1.2rem;
	min-height: inherit;
	padding: 2.5vw 14vw 3.3vw 4vw;
	margin-top: 1vw;
}

.domestic_li .btn_area .btn::before,
.domestic_li .btn_area .btn::after {
	right: 2vw;
	width: 4vw;
}

.domestic_li .btn_area .half .btn {
	background: var(--color);
	color: #fff;
	border-color: #fff;
	padding: 1.5vw 14vw 2.3vw 4vw;
}

.domestic_li .btn_area .half .btn::before {
	background: #fff;
}

.domestic_li .btn_area .half .btn::after {
	background: var(--color);
}

/*------------------------------------------------------------------------------
空室状況　availability */
.domestic_li .availability {
	background: #fff;
	border-radius: 2vw;
	margin-top: 3vw;
	font-weight: 700;
	padding: 0vw 2vw 2vw;
}

.bg_white .domestic_li .availability {
	background: var(--beige);
}

.domestic_li .availability dt {
	font-size: 1.2rem;
	letter-spacing: 0.16em;
}

.domestic_li .availability .room {
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.domestic_li .availability .room .availability_name {
	font-size: 1rem;
	letter-spacing: 0.16em;
}

.domestic_li .availability .room .mark {
	height: 5vw;
	width: 5vw;
	margin: 0 auto 1vw;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
全国のサンシティ・ロイヤルケアバナー状 domestic_bnr */
.domestic_bnr a {
	display: block;
	background: #fff;
	border-radius: 2vw;
	overflow: hidden;
	text-decoration: none;
	display: grid;
	grid-template-columns: 30vw 1fr;
	position: relative;
	color: var(--green);
	font-size: 1.2rem;
	gap: 4vw;
	align-items: center;
	line-height: 1.7;
}

.domestic_bnr a::before {
	z-index: 1;
	background: var(--green);
	width: 4vw;
	aspect-ratio: 1 / 1;
	content: "";
	position: absolute;
	border-radius: 50%;
	right: 4vw;
	top: 50%;
	transform: translate(0%, -50%);
}

.domestic_bnr a::after {
	position: absolute;
	content: "";
	-webkit-mask-image: url(/assets/img/icon_arrow.svg);
	mask-image: url(/assets/img/icon_arrow.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	mask-size: contain;
	background: #ffffff;
	z-index: 2;
	width: 4vw;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	right: 4vw;
	top: 50%;
	transform: translate(0%, -50%);
}

.domestic_bnr {
	display: grid;
	gap: 2vw;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
ニュース news_li_con */
.news_li_con > ul > li:first-child a {
	border-top: 1px solid var(--color);
}

.news_li_con > ul > li a {
	border-bottom: 1px solid var(--color);
	display: block;
	text-decoration: none;
	display: grid;
	grid-template-columns: 16vw 1fr;
	gap: 4vw;
	align-items: center;
	min-height: 19.3vw;
	padding: 4.6vw 7.58vw 4.7vw 0;
	position: relative;
}

.news_li_con > ul > li a::after {
	position: absolute;
	content: "";
	-webkit-mask-image: url(/assets/img/icon_arrow.svg);
	mask-image: url(/assets/img/icon_arrow.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	mask-size: contain;
	background: var(--color);
	z-index: 2;
	width: 7vw;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	right: -0.5vw;
	top: 50%;
	transform: translate(0%, -50%);
}

.news_li_con > ul > li a .date {
	font-weight: 700;
	text-align: center;
	line-height: 1.4;
}

.news_li_con > ul > li a .year {
	font-size: 1.2rem;
	letter-spacing: 0;
	display: block;
}

.news_li_con > ul > li a .day {
	display: block;
	font-size: 1.6rem;
	letter-spacing: 0;
}

.news_li_con > ul > li a .txt {
	font-size: 1.2rem;
	letter-spacing: 0.16em;
	line-height: 1.6;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
バナー bnr_con */
.bnr_con a {
	border-radius: 2vw;
	overflow: hidden;
	background: var(--beige);
	text-decoration: none;
	display: grid;
	grid-template-columns: 1fr 45vw;
	padding-left: 4vw;
	text-align: left;
	align-items: center;
}

.bg_beige .bnr_con a {
	background: #fff;
}

.bnr_con a .sub {
	font-size: 1.2rem;
	letter-spacing: 0.16em;
	line-height: 1;
	margin-bottom: 2vw;
	padding-top: 1.2vw;
}

.bnr_con a .tl {
	font-size: 1.6rem;
	letter-spacing: 0.16em;
	line-height: 1.6em;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
流れフロー li_flow */
.li_flow > li {
	position: relative;
	padding-bottom: 5vw;
}

.li_flow .num {
	width: 6vw;
	background: var(--color);
	clip-path: polygon(0 0, 100% 0%, 100% calc(100% - 5vw), 50% 100%, 0 calc(100% - 5vw));
	height: calc(100% - 1vw);
	position: absolute;
	top: 1vw;
	left: 0;
	color: #fff;
	text-align: center;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	font-size: 1.6rem;
	padding-bottom: 5vw;
	letter-spacing: 0;
}

.li_flow .flow_con {
	margin-left: 12vw;
}

.li_flow .tl {
	font-size: 2rem;
	line-height: 1.7;
	letter-spacing: 0.24em;
	margin-bottom: 2vw;
}

.li_flow .txt {
	font-size: 1.2rem;
	letter-spacing: 0.16em;
	line-height: 2.4;
}

.li_flow .sent p + p {
	margin-top: 1vw;
}

.li_flow > li + li {
	margin-top: 2vw;
}

.li_flow > li:last-child .num {
	clip-path: polygon(0 0, 100% 0%, 100% 100%, 0% 100%);
	padding-bottom: 0;
}

.li_flow > li:last-child {
	padding-bottom: 0;
}

.li_flow figure {
	margin-top: 4vw;
}

.li_flow .btn_area {
	margin-top: 4vw;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2vw;
}

.li_flow .btn_area a {
	border: 1px solid var(--green);
	color: var(--green);
	text-decoration: none;
	position: relative;
	padding: 2.7vw 14vw 2.7vw 6vw;
	border-radius: 30vw;
	line-height: 1.3;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	background: #fff;
}

.li_flow .btn_area a::before {
	z-index: 1;
	background: var(--green);
	width: 4vw;
	aspect-ratio: 1 / 1;
	content: "";
	position: absolute;
	border-radius: 50%;
	right: 3vw;
	top: 50%;
	transform: translate(0%, -50%);
}

.li_flow .btn_area li:not(.tel_box) a::after {
	position: absolute;
	content: "";
	-webkit-mask-image: url(/assets/img/icon_arrow.svg);
	mask-image: url(/assets/img/icon_arrow.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	mask-size: contain;
	background: #ffffff;
	z-index: 2;
	width: 4vw;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	right: 3vw;
	top: 50%;
	transform: translate(0%, -50%);
}

.li_flow .btn_area .tel_box a::after {
	background: #fff;
}

.li_flow .btn_area .tel_box,
.li_flow .btn_area .area {
	grid-column: 1 / -1;
}

.li_flow .btn_area .tel_box {
	margin-bottom: 0vw;
}

.li_flow .btn_area li.area a {
	background: #fff;
	color: var(--color);
}

.li_flow .btn_area li.area a::before {
	background: var(--color);
}

.li_flow .btn_area li.area a::after {
	background: #fff;
}

.li_flow .btn_area .tel_box a .type {
	font-size: 1.6rem;
	margin-bottom: 0.5vw;
}

.li_flow .btn_area .tel_box a .tel_num {
	font-size: 2.4rem;
}

.li_flow .btn_area .tel_box a {
	padding: 2.5vw 14vw 3.9vw 6vw;
	margin-top: 0;
}

.li_flow .btn_area .tel_box .time {
	line-height: 2.2;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
FAQアコーディオン aco_block */
.faq_li > li + li {
	margin-top: 6vw;
}

.aco_block .aco_tl {
	cursor: pointer;
	position: relative;
	transition: background-color 0.3s ease;
	background: #fff;
	border-radius: 12vw;
	padding: 2.6vw 16vw 2.8vw 6vw;
	line-height: 1.5;
	font-weight: 700;
	min-height: 14vw;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}

.bg_white .aco_block .aco_tl {
	nd-color 0.3s ease;
	background: var(--beige);
}

.aco_block .aco_con {
	display: none;
}

.aco_block .aco_conin {
	margin-top: 9vw;
	padding-bottom: 9vw;
}

.aco_block .aco_tl::before,
.aco_block .aco_tl::after {
	content: "";
	position: absolute;
	transition: all 0.5s linear;
	width: 6vw;
	right: 4vw;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	transform-origin: center center;
}

.aco_block .aco_tl::before {
	z-index: 1;
	background: var(--color);
	top: 50%;
	transform: translate(0%, -50%);
}

.aco_block .aco_tl::after {
	-webkit-mask-image: url(/assets/img/icon_arrow.svg);
	mask-image: url(/assets/img/icon_arrow.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	mask-size: contain;
	background: #fff;
	z-index: 2;
	right: 4vw;
	top: 50%;
	transform: translate(0%, -50%) rotate(90deg);
}

.aco_block.is-open .aco_tl::after {
	transform: translate(0%, -50%) rotate(-90deg);
}

.aco_block.is-open .aco_tl::after {}

.aco_block .li_num {
	list-style: none;
	counter-reset: li_num;
}

.aco_block .li_num > li {
	position: relative;
	padding-left: 1.7em;
}

.aco_block .li_num > li::before {
	counter-increment: li_num;
	content: counter(li_num) '.';
	position: absolute;
	left: 0;
}

.aco_block .li_dot > li {
	line-height: var(--body-line-height);
	letter-spacing: 0.16em;
}

.aco_block .li_dot > li::before {
	top: 4.2vw;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
パンくず bread_wrap */
.bread_wrap {
	font-size: 1.2rem;
	padding-block: 2.6vw;
}

.bread_wrap .bread {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	line-height: 1.9;
	letter-spacing: 0.16em;
}

.bread_wrap .bread a {
	text-decoration: none;
}

.bread_wrap .bread > li:not(:last-child) {
	position: relative;
	padding-right: 7vw;
}

.bread_wrap .bread > li:not(:last-child)::after {
	position: absolute;
	content: "";
	-webkit-mask-image: url(/assets/img/icon_arrow.svg);
	mask-image: url(/assets/img/icon_arrow.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	mask-size: contain;
	background: var(--color);
	z-index: 2;
	width: 4vw;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	right: 2vw;
	top: 50%;
	transform: translate(0%, -50%);
}

/*
*********************************************************************************
/*
/* 投稿ポスト　
/*
/*******************************************************************************/
/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
ニュース詳細　body.under_page.page_newspost */
body.under_page.page_newspost .newspost_block > * + * {
	margin-top: 9vw;
}

body.under_page.page_newspost .newspost_block .beta .tl {
	text-align: left;
	margin-bottom: 0;
}

body.under_page.page_newspost .newspost_block .beta:has(> :first-child.tl) {
	padding-top: 4vw;
}

body.under_page.page_newspost .newspost_block .beta *:not(.btn, .btn_area, .tl, .txts) {
	font-size: 1.6rem;
	line-height: 2.1;
}

body.under_page.page_newspost .newspost_block .beta > * {
	margin-top: 2vw;
}

body.under_page.page_newspost .newspost_block .beta > :first-child.tl {
	margin-top: 0
}

body.under_page.page_newspost .newspost_block .txts {
	line-height: 2.2;
}

body.under_page.page_newspost .newspost_block .beta .btn_area {
	margin-top: 3vw;
}

body.under_page.page_newspost .newspost_block ul > li {
	padding-left: 5vw;
	position: relative;
	line-height: 2.2;
}

body.under_page.page_newspost .newspost_block ul > li::before {
	position: absolute;
	content: "";
	background: var(--color);
	width: 1vw;
	aspect-ratio: 1/1;
	left: 2vw;
	border-radius: 50%;
	top: 3.8vw;
}

body.under_page.page_newspost .newspost_block .tel_link a {
	text-decoration: none;
}

/*
*********************************************************************************
/*
/* ページ固有
/*
/*******************************************************************************/
/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
TOP #frontpage


/*------------------------------------------------------------------------------
MV */
.mv {
	margin-top: 0;
	position: relative;
	transition: 0.5s ease;
}

.js_header_move .mv {}

.mv img {
	object-fit: cover;
	height: calc(100dvh - var(--b_header));
}

.mv .txt {
	position: absolute;
	top: 13vw;
	z-index: 10;
}

.mv .lead {
	font-size: 2.4rem;
	letter-spacing: 0.32em;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	flex-direction: column;
	font-weight: 700;
}

.mv .lead > span {
	padding: 1.8vw 4.2vw 1vw 6vw;
	background: rgb(255 255 255 / 90%);
	line-height: 1;
}

.mv .lead > span + span {
	padding-block: 1vw 1.8vw;
}

.mv .copy {
	padding-left: 6vw;
	margin-top: 2vw;
	font-size: 1.2rem;
	letter-spacing: 0.16rem;
	line-height: 1.7rem;
	padding: 0.9vw 3.2vw 1.6vw 6vw;
	background: rgb(255 255 255 / 90%);
}

.mv .swiper-slide-active-prev img,
.mv .swiper-slide-active img {
	animation: zoomUp 8s linear 0s 1 normal both;
}

@keyframes zoomUp {
	0% {
		transform: scale(1);
	}

	100% {
		transform: scale(1.2);
	}
}

@keyframes slowFadeIn {
	0% {
		opacity: 0;
		transform: translateX(-20vw);
		filter: blur(4px);
	}

	100% {
		opacity: 1;
		transform: translateX(0);
		filter: blur(0);
	}
}

.mv .lead > span,
.mv .copy {
	opacity: 0;
	display: inline-block;
	animation: slowFadeIn 4s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.mv .lead > span:first-child {
	animation-delay: 0.5s;
}

.mv .lead > span + span {
	animation-delay: 1.0s;
}

.mv .copy {
	animation-delay: 1.8s;
}

/*------------------------------------------------------------------------------
「いつまでも自分らしく」いてほしいtop_overview */
.top_overview {
	position: relative;
	padding-left: 24vw;
}

.top_overview:before {
	position: absolute;
	content: "";
	background: url(/assets/img/top/overview_bg_sp.webp) no-repeat center center / cover;
	width: 24vw;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 1;
}

.top_overview .inner {
	width: 64vw;
	position: relative;
	z-index: 10;
}

.top_overview .img {
	margin-left: -10vw;
	margin-top: 5vw;
}

/*------------------------------------------------------------------------------
スライダー*/
.slider {
	--speed: 60s;
	--direction: normal;
	--gap: 10px;
	--slide-width: 66.75vw;
	display: flex;
	overflow: hidden;
}

.slider.reverse {
	--direction: reverse;
}

.slider_item {
	display: flex;
	animation: loop var(--speed) linear infinite var(--direction);
	gap: var(--gap);
	padding-left: var(--gap);
}

.slider_item li {
	width: var(--slide-width);
}

@keyframes loop {
	from {
		transform: translateX(0);
	}

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

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
さらなる「おもてなし」の推進 /medical-care/omotenashiy/ */
.page_medical-care_omotenashi_ideal_block > li:last-child {
	padding-block: 15.6vw;
}
