@charset "UTF-8";
/*!
Theme Name: Ridia
Author: SHUMiST.
Author URI: https://shumist.com/
Description: The Theme for Ridia.
Version: 1.0.0
Text Domain: ridia
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/
/* --------------------------------------------------------------
# Reset CSS by A Modern CSS Reset
-------------------------------------------------------------- */
:root {
	--main-color: #eaacb1;
	--main-light-color: #fbb45d;
	--menu-linear-color: #4bb8ea;
	--sub-color: #f2c8a9;
	--ac-color: #fbe8b1;
	--text-color: #333;
	--text-sub-color: #fff;
}

/* Box sizing rules */
*,
*::before,
*::after {
	box-sizing: border-box;
}

/* Remove default padding */

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
	padding: 0;
	list-style: none;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
	margin: 0;
}

/* Set core root defaults */
html {
	scroll-behavior: smooth;
	font-size: 62.5%;
}

/* Set core body defaults */
body {
	min-height: 100vh;
	font-family:
		Roboto, 'Zen Maru Gothic', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
	font-size: 1.6rem;
	line-height: 2;
	color: #333;
	letter-spacing: 0.1em;
	text-rendering: optimizespeed;
}

a {
	color: #333;
	text-decoration: none;
	transition: all 0.3s ease;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
	text-decoration-skip: ink;
}

a:hover {
	opacity: 0.7;
}

/* Make images easier to work with */
img {
	display: block;
	max-width: 100%;
	height: auto;
}

/* Natural flow and rhythm in articles by default */
article > * + * {
	margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
	font: inherit;
}

/* Remove all animations and transitions for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
	* {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		-webkit-animation-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		-webkit-animation-iteration-count: 1 !important;
		animation-iteration-count: 1 !important;
		animation-iteration-count: 1 !important;
	}
}

/* --------------------------------------------------------------
# Common - 共通
-------------------------------------------------------------- */
.serif {
	font-family: 'Yu Mincho', YuMincho, 'Hiragino Mincho ProN', serif;
}

.bold {
	font-weight: bold;
}

.flex {
	display: flex;
}

.mw_1080 {
	max-width: 1080px;
	padding: 0 6rem;
	margin: 0 auto;
}

.mw_1366 {
	max-width: 1366px;
	padding: 8rem 6rem;
	margin: 0 auto;
}

.btn {
	margin-top: 8rem;
	text-align: center;
}

.btn > a {
	position: relative;
	display: inline-block;
	width: 100%;
	max-width: 300px;
	padding: 1.4rem 3rem;
	font-weight: bold;
	text-align: left;
	background-color: var(--text-sub-color);
	border: 1px solid rgb(158 158 158 / 20%);
	border-radius: 3.5rem;
	overflow: hidden;
}

.btn > a:hover {
	opacity: 1;
}

.btn > a::before,
.btn > a::after {
	position: absolute;
	top: -7px;
	bottom: 0;
	right: -4px;
	height: 74px;
	margin: 0;
	padding: 0;
	width: 74px;
	z-index: 1;
	max-width: 100%;
}

.btn > a::before {
	content: '';
	background-color: var(--main-color);
	transition: 0.3s cubic-bezier(0.4, 0.4, 0, 1);
	border-radius: 50%;
}

.btn > a::after {
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: 'Font Awesome 5 Free';
	font-weight: bold;
	color: #fff;
	content: '\f0da';
	font-size: 2.4rem;
}

.btn > a:hover::before {
	justify-content: flex-end;
	width: calc(100% - 14px);
	padding-right: 1.2rem;
	transform: scale(5);
}

.btn > a > span {
	position: relative;
	z-index: 1;
}

.btn > a:hover > span {
	color: #fff;
}

.btn_tel > a::after {
	content: '\f879';
}

.btn_con > a::after {
	content: '\f0e0';
}

.btn_res > a::after {
	content: '\f4fd';
}

.btn > a > span {
	position: relative;
	z-index: 1;
	transition: 0.3s cubic-bezier(0.4, 0.4, 0, 1);
}

.btn > a:hover > span {
	color: #fff;
}

.ttl_blue {
	color: var(--main-color);
}

.ttl_yellow {
	color: #4bb8ea;
}

.top_btn {
	padding: 3rem 1.5rem;
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1;
	color: var(--main-color);
	background-color: #fff;
	opacity: 0;
	writing-mode: vertical-rl;
	box-shadow: 0 0 1rem rgb(234 172 177 / 20%);
	border-radius: 1rem 0 0 1rem;
	border-left: 2px solid var(--main-color);
	border-bottom: 2px solid var(--main-color);
}

.top_btn::before {
	font-family: 'Font Awesome 5 Free';
	font-size: 2.2rem;
	font-weight: bold;
	content: '\f077';
}

.top_btn.is_active {
	position: fixed;
	right: 0;
	bottom: 10rem;
	z-index: 98;
	align-items: center;
	opacity: 1;
}

.top_btn.is_stop {
	position: absolute;
	top: -18rem;
	bottom: auto;
}

/* --------------------------------------------------------------
# Main Nav - メインナビ
-------------------------------------------------------------- */
.site {
	background-color: #fff;
	border-radius: 2rem 0 0;
}

.site_header {
	position: fixed;
	top: 0;
	z-index: 99;
	width: 100%;
	padding: 0 3rem;
	background-color: #fff;
	transition: 0.5s;
}

.site_header.is_fixed {
	top: 0;
	border-radius: unset;
	box-shadow: rgb(52 163 221 / 0.05) 0 8px 30px;
}

.site_branding {
	position: absolute;
	top: 2rem;
	left: 3rem;
	transition: 0.5s;
	padding: 4rem;
	background-color: #fff;
	border-radius: 3rem;
}

.is_fixed .site_branding {
	top: 0;
	left: 0;
	padding: 3rem;
	border-radius: 0 0 3rem 0;
}

.site_ttl > a > img {
	height: 200px;
	transition: 0.5s;
}

.sp_nav .sp_nav_l .site_ttl {
	padding: 0;
	width: 250px;
}

.is_fixed .site_ttl > a > img {
	height: 140px;
}

.sp_nav_l .site_ttl > a > img {
	height: auto;
}

.main_nav {
	justify-content: flex-end;
}

.main_nav_list {
	margin-right: 5.5rem;
	font-weight: bold;
	padding: 4rem 0;
	transition: 0.5s;
}

.is_fixed .main_nav_list {
	padding: 1rem;
}

.main_nav_list li {
	position: relative;
}

.main_nav_list li:not(:last-of-type)::after {
	content: '';
	position: absolute;
	width: 2px;
	height: 1.2rem;
	background-color: #ddd;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 0;
}

.main_nav_list li > a {
	position: relative;
	display: flex;
	align-items: center;
	padding: 2rem;
	font-size: 1.6rem;
}

.main_nav_list li > a::before {
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
	width: 10px;
	height: 10px;
	margin: 0 auto;
	content: '';
	background: var(--main-color);
	transition: all 0.4s;
	border-radius: 50%;
	opacity: 0;
}

.main_nav_list li.current > a::before {
	opacity: 0;
}

.main_nav_list li > a:hover::before {
	opacity: 1;
}

.main_nav_list li > a i {
	margin-right: 0.5rem;
	color: var(--main-color);
}

.home .main_nav_list li.current > a::before {
	opacity: 0;
}

.home .main_nav_list li > a:hover::before {
	opacity: 1;
}

/* --------------------------------------------------------------
# Sp Main Nav - スマホメインナビ
-------------------------------------------------------------- */
#sp_nav_btn {
	display: none;
}

/* --------------------------------------------------------------
	# Sp Main Nav - スマホメインナビ
	-------------------------------------------------------------- */
.drawer_open {
	position: absolute;
	top: 4rem;
	right: 1rem;
	cursor: pointer;
	z-index: 2;
	width: 72px;
	height: 72px;
	transition:
		all 0.5s,
		background 0.5s,
		transform 0.5s cubic-bezier(0.76, 0.52, 0.29, 1.25);
}

.is_fixed .drawer_open {
	top: 1rem;
}

.sp_nav .drawer_open {
	top: 1.5rem;
}

.drawer_open::before,
.drawer_open::after {
	content: '';
}

.drawer_open span,
.drawer_open::before,
.drawer_open::after {
	position: absolute;
	top: calc(50% - 1px);
	left: 30%;
	width: 40%;
	content: '';
	border-bottom: 2px solid #333;
	transition: transform 0.5s cubic-bezier(0.76, 0.52, 0.29, 1.25);
}

.sp_nav .drawer_open span,
.sp_nav .drawer_open::before,
.sp_nav .drawer_open::after {
	border-bottom: 2px solid #333;
}

.drawer_open::before {
	transform: translateY(-8px);
}

.drawer_open::after {
	transform: translateY(8px);
}

#sp_nav_btn:checked + .drawer_open span,
.sp_nav .drawer_open span {
	transform: scaleX(0);
}

#sp_nav_btn:checked + .drawer_open::before,
.sp_nav .drawer_open::before {
	transform: rotate(45deg);
}

#sp_nav_btn:checked + .drawer_open::after,
.sp_nav .drawer_open::after {
	transform: rotate(-45deg);
}

#sp_nav_btn:checked ~ .sp_nav {
	left: 0;
	opacity: 1;
}

#sp_nav_btn:checked ~ .sp_nav {
	left: 0;
	opacity: 1;
}

.sp_nav {
	position: fixed;
	top: 0;
	left: -100%;
	z-index: 999;
	width: 100%;
	height: 100vh;
	padding-bottom: 6rem;
	background-color: var(--text-sub-color);
	opacity: 0;
	transition:
		left 0.7s,
		opacity 0.7s;
}

.sp_nav ul {
	text-align: right;
}

.sp_nav ul li {
	margin-bottom: 4rem;
}

.sp_nav_list li a {
	position: relative;
	font-size: 2.2rem;
	font-weight: bold;
	color: #333;
}

.sp_nav_list li > a::before {
	position: absolute;
	bottom: -1.5rem;
	right: 0;
	left: 0;
	width: 10px;
	height: 10px;
	margin: 0 auto;
	content: '';
	background: var(--main-color);
	transition: all 0.4s;
	border-radius: 50%;
	opacity: 0;
}

.sp_nav_list li.current > a::before {
	opacity: 0;
}

.sp_nav_list li > a:hover::before {
	opacity: 1;
}

.sp_nav_list li:nth-last-child(2),
.sp_nav_list li:last-child {
	display: inline-block;
}

.sp_nav_list li:nth-last-child(2) {
	margin-right: 2rem;
}

.sp_nav_list li:nth-last-child(2) a,
.sp_nav_list li:last-child a {
	font-size: 1.4rem;
	font-weight: normal;
}

.sp_nav_list li:nth-last-child(3) {
	position: relative;
}

.sp_nav_list li:nth-last-child(3)::after {
	position: absolute;
	right: 0;
	bottom: -2rem;
	width: 100%;
	height: 1px;
	content: '';
	background-color: rgb(158 158 158 / 20%);
}

.sp_nav_in {
	max-width: 1080px;
	padding: 10rem 6rem;
	margin: 0 auto;
	color: #333;
}

.sp_nav_l {
	width: 50%;
}

.sp_nav_r {
	width: 50%;
}

.sp_nav_l .site_ttl {
	display: inline-block;
	padding: 3rem;
	margin-bottom: 2rem;
	background-color: #fff;
	border-radius: 1rem;
	width: calc(42% - 1.5rem);
}

.sp_nav_name {
	margin-bottom: 2rem;
	font-weight: bold;
}

.sp_nav_info {
	margin-bottom: 2rem;
	font-size: 1.4rem;
}

.sp_nav_ttl {
	margin-bottom: 2rem;
	font-weight: bold;
	text-decoration: underline;
}

.sp_nav_l .btn {
	margin: 0;
	text-align: left;
}

.sp_nav_l .btn > a {
	margin-bottom: 2rem;
}

.home .sp_nav_list li.current > a::before {
	opacity: 0;
}

.home .sp_nav_list li > a:hover::before {
	opacity: 1;
}

.sp_nav .sp_nav_sns {
	margin-right: 0;
}

.sp_nav .sp_nav_sns li {
	margin-bottom: 0;
}

.sp_nav .sp_nav_sns li > a {
	font-size: 3.2rem;
}

/* --------------------------------------------------------------
# MV - メインビジュアル
-------------------------------------------------------------- */
.site_content {
	padding-top: 15.2rem;
}

.site_mv {
	position: relative;
	max-width: 90%;
	margin: 0 auto;
}

.mv_img {
	position: relative;
	width: 100%;
	height: 720px;
	margin-left: auto;
	overflow: hidden;
	border-radius: 3rem;
}

.mv_img > img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	object-fit: cover;
}

.mv_info {
	position: absolute;
	bottom: 3rem;
	left: 3rem;
}

.mv_info > h2 {
	font-size: 1.6rem;
	font-weight: bold;
	color: #fff;
	padding: 0 3rem;
	text-shadow: 0px 0px 8px #b78589;
}

.mv_info_list {
	font-size: 1.4rem;
	background-color: #fff;
	padding: 1rem 5rem 1rem 3rem;
	border-radius: 25px;
	box-shadow: 0 0 1rem rgb(241 176 181 / 20%);
}

.mv_info_list li > a {
	display: flex;
	align-items: center;
	color: var(--main-color);
	position: relative;
}

.mv_info_list li > a::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: -3rem;
	margin: auto;
	width: 1rem;
	height: 1rem;
	color: var(--main-color);
	border-top: 3px solid;
	border-right: 3px solid;
	transform: rotate(45deg);
}

.mv_info_date {
	font-weight: bold;
}

.mv_info_cat {
	min-width: 8rem;
	padding: 0.5rem 0.5rem;
	margin: 0 1.5rem;
	font-size: 1.2rem;
	line-height: 1;
	text-align: center;
	border: 1px solid var(--main-color);
	border-radius: 0.3rem;
}

.mv_info_ttl {
	font-size: 1.4rem;
	font-weight: bold;
	color: #333;
}

.scroll_link {
	position: absolute;
	bottom: 10.5rem;
	left: -3rem;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1;
	color: var(--main-color);
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	writing-mode: vertical-rl;
}

.scroll_link::before {
	position: absolute;
	top: 5.5rem;
	right: 0;
	left: 0;
	display: block;
	width: 1px;
	height: 75px;
	margin: auto;
	content: '';
	background-color: var(--main-color);
}

.scroll_link::after {
	position: absolute;
	top: 4.5rem;
	right: 0;
	left: 0;
	display: block;
	width: 8px;
	height: 8px;
	margin: auto;
	content: '';
	background-color: var(--main-color);
	border-radius: 50%;
	-webkit-animation-name: scrollBar;
	animation-name: scrollBar;
	animation-name: scrollBar;
	-webkit-animation-duration: 2s;
	animation-duration: 2s;
	animation-duration: 2s;
	-webkit-animation-timing-function: linear;
	animation-timing-function: linear;
	animation-timing-function: linear;
	-webkit-animation-delay: 0s;
	animation-delay: 0s;
	animation-delay: 0s;
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
	animation-iteration-count: infinite;
	-webkit-animation-direction: normal;
	animation-direction: normal;
	animation-direction: normal;
}

@-webkit-keyframes scrollBar {
	0% {
		opacity: 1;
		transform: translateY(0) translateX(0);
	}

	50% {
		transform: translateY(60px) translateX(0);

		@include md {
			transform: translateY(10px) translateX(0);
		}
	}

	100% {
		opacity: 0;
		transform: translateY(80px) translateX(0);

		@include md {
			transform: translateY(10px) translateX(0);
		}
	}
}

@keyframes scrollBar {
	0% {
		opacity: 1;
		transform: translateY(0) translateX(0);
	}

	50% {
		transform: translateY(60px) translateX(0);

		@include md {
			transform: translateY(10px) translateX(0);
		}
	}

	100% {
		opacity: 0;
		transform: translateY(80px) translateX(0);

		@include md {
			transform: translateY(10px) translateX(0);
		}
	}
}

@keyframes scrollBar {
	0% {
		opacity: 1;
		transform: translateY(0) translateX(0);
	}

	50% {
		transform: translateY(60px) translateX(0);

		@include md {
			transform: translateY(10px) translateX(0);
		}
	}

	100% {
		opacity: 0;
		transform: translateY(80px) translateX(0);

		@include md {
			transform: translateY(10px) translateX(0);
		}
	}
}

@keyframes scrollBar {
	0% {
		opacity: 1;
		transform: translateY(0) translateX(0);
	}

	50% {
		transform: translateY(60px) translateX(0);

		@include md {
			transform: translateY(10px) translateX(0);
		}
	}

	100% {
		opacity: 0;
		transform: translateY(80px) translateX(0);

		@include md {
			transform: translateY(10px) translateX(0);
		}
	}
}

@keyframes scrollBar {
	0% {
		opacity: 1;
		transform: translateY(0) translateX(0);
	}

	50% {
		transform: translateY(60px) translateX(0);

		@include md {
			transform: translateY(10px) translateX(0);
		}
	}

	100% {
		opacity: 0;
		transform: translateY(80px) translateX(0);

		@include md {
			transform: translateY(10px) translateX(0);
		}
	}
}

@keyframes scrollBar {
	0% {
		opacity: 1;
		transform: translateY(0) translateX(0);
	}

	50% {
		transform: translateY(60px) translateX(0);

		@include md {
			transform: translateY(10px) translateX(0);
		}
	}

	100% {
		opacity: 0;
		transform: translateY(80px) translateX(0);

		@include md {
			transform: translateY(10px) translateX(0);
		}
	}
}

@keyframes scrollBar {
	0% {
		opacity: 1;
		transform: translateY(0) translateX(0);
	}

	50% {
		transform: translateY(60px) translateX(0);

		@include md {
			transform: translateY(10px) translateX(0);
		}
	}

	100% {
		opacity: 0;
		transform: translateY(80px) translateX(0);

		@include md {
			transform: translateY(10px) translateX(0);
		}
	}
}

@keyframes scrollBar {
	0% {
		opacity: 1;
		transform: translateY(0) translateX(0);
	}

	50% {
		transform: translateY(60px) translateX(0);

		@include md {
			transform: translateY(10px) translateX(0);
		}
	}

	100% {
		opacity: 0;
		transform: translateY(80px) translateX(0);

		@include md {
			transform: translateY(10px) translateX(0);
		}
	}
}

@keyframes scrollBar {
	0% {
		opacity: 1;
		transform: translateY(0) translateX(0);
	}

	50% {
		transform: translateY(60px) translateX(0);

		@include md {
			transform: translateY(10px) translateX(0);
		}
	}

	100% {
		opacity: 0;
		transform: translateY(80px) translateX(0);

		@include md {
			transform: translateY(10px) translateX(0);
		}
	}
}

@keyframes scrollBar {
	0% {
		opacity: 1;
		transform: translateY(0) translateX(0);
	}

	50% {
		transform: translateY(60px) translateX(0);

		@include md {
			transform: translateY(10px) translateX(0);
		}
	}

	100% {
		opacity: 0;
		transform: translateY(80px) translateX(0);

		@include md {
			transform: translateY(10px) translateX(0);
		}
	}
}

@keyframes scrollBar {
	0% {
		opacity: 1;
		transform: translateY(0) translateX(0);
	}

	50% {
		transform: translateY(60px) translateX(0);

		@include md {
			transform: translateY(10px) translateX(0);
		}
	}

	100% {
		opacity: 0;
		transform: translateY(80px) translateX(0);

		@include md {
			transform: translateY(10px) translateX(0);
		}
	}
}

@keyframes scrollBar {
	0% {
		opacity: 1;
		transform: translateY(0) translateX(0);
	}

	50% {
		transform: translateY(60px) translateX(0);

		@include md {
			transform: translateY(10px) translateX(0);
		}
	}

	100% {
		opacity: 0;
		transform: translateY(80px) translateX(0);

		@include md {
			transform: translateY(10px) translateX(0);
		}
	}
}

.btn_dl {
	position: absolute;
	top: 2rem;
	right: 0;
}

.btn_dl > a {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 1rem 1.33rem 1rem 1.53rem;
	font-weight: bold;
	line-height: 1;
	color: #333;
	background-color: var(--sub-color);
}

.btn_dl > a span {
	margin-right: 0.5rem;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	writing-mode: vertical-rl;
}

.btn_dl > a i {
	margin-bottom: 0.5rem;
	font-size: 2.5rem;
}

/* --------------------------------------------------------------
# Bnr - バナー
-------------------------------------------------------------- */
.bnr_cont {
	padding-bottom: 0;
	text-align: center;
}

.bnr_cont > a {
	display: inline-block;
}

/* --------------------------------------------------------------
# About - りでぃあとは
-------------------------------------------------------------- */
.about_cont_in {
	flex-direction: row-reverse;
	-moz-column-gap: 6rem;
	column-gap: 6rem;
	column-gap: 6rem;
}

.about_col_l {
	align-items: center;
	justify-content: space-around;
	width: 50%;
	font-size: 4.2rem;
	font-weight: bold;
	flex-direction: column;
	border-radius: 1rem;
	overflow: hidden;
}

.about_col_l > p:last-child {
	justify-content: space-around;
	gap: 10rem;
}

.about_col_l span {
	padding: 0 5rem;
	background-color: var(--main-color);
	color: #fff;
	display: inline-block;
	letter-spacing: 0.5em;
	margin-right: -0.5em;
	text-indent: 0.5em;
	position: relative;
	border-radius: 1rem;
	font-family: 'Zen Kurenaido', sans-serif;
}

.about_col_l > p:last-child > span:first-child {
	background-color: var(--sub-color);
}

.about_col_l > p:last-child > span:last-child {
	background-color: var(--ac-color);
}

.about_col_l > p:last-child > span::before {
	content: '×';
	position: absolute;
	color: #9e9e9e;
	top: -6.8rem;
	line-height: 1;
}

.about_col_l > p:last-child > span:first-child::before {
	right: 6rem;
}

.about_col_l > p:last-child > span:last-child::before {
	left: 6rem;
}

.about_col_r {
	width: 50%;
}

.about_ttl {
	margin-bottom: 2rem;
	font-size: 2.2rem;
	line-height: 1.5;
}

.about_ttl > img {
	display: inline-block;
	height: 30px;
	margin-right: 1rem;
	margin-bottom: -0.3rem;
}

.about_col_r > p:not(:last-child) {
	margin-bottom: 2rem;
}

/* --------------------------------------------------------------
# Feature - リフライの7つの特徴
-------------------------------------------------------------- */
.main_ttl_cont {
	position: relative;
}

.main_ttl_wrap {
	position: relative;
}

.main_ttl {
	margin-bottom: 6rem;
	font-size: 2.6rem;
	line-height: 1;
	text-align: left;
	letter-spacing: 0.2em;
	position: relative;
	padding-top: 13rem;
}

.main_ttl::after {
	position: absolute;
	top: 4.5rem;
	left: 0;
	font-size: 6.4rem;
	line-height: 1;
	content: attr(data-title);
	font-family: 'Zen Maru Gothic', sans-serif;
	color: var(--main-color);
}

.main_sub_ttl {
	position: absolute;
	top: 0;
	background-color: var(--main-color);
	color: var(--text-sub-color);
	padding: 0.8rem 1.2rem;
	line-height: 1;
	border-radius: 1rem;
}

.main_sub_ttl::before,
.main_sub_ttl::after {
	content: '';
	position: absolute;
	border-radius: 50%;
}

.main_sub_ttl::before {
	background-color: var(--sub-color);
	left: -15px;
	bottom: -10px;
	width: 14px;
	height: 14px;
}

.main_sub_ttl::after {
	background-color: var(--ac-color);
	left: 0px;
	bottom: -20px;
	width: 7px;
	height: 7px;
}

.feature_cont_in {
	flex-wrap: wrap;
	gap: 6rem 3rem;
	counter-reset: feature_num;
}

.feature_cont_col {
	width: 100%;
	padding: 4rem;
	border-radius: 1rem;
	box-shadow: 0 5px 30px rgb(234 172 177 / 20%);
	display: flex;
	gap: 6rem;
}

.feature_cont_col:nth-child(even) {
	flex-direction: row-reverse;
}

.feature_img {
	width: calc(50% - 3rem);
}

.feature_txt_wrap {
	width: calc(50% - 3rem);
	position: relative;
	padding: 3rem 0;
}

.feature_txt_wrap::before {
	position: absolute;
	top: -7.5rem;
	left: 0;
	font-size: 3.4rem;
	font-weight: bold;
	color: var(--main-color);
	content: 'Feature 0' counter(feature_num);
	counter-increment: feature_num;
	font-family: 'Zen Maru Gothic', sans-serif;
}

.feature_txt_wrap::after {
	content: '‥‥';
	color: var(--sub-color);
	position: absolute;
	top: -3px;
	left: 0;
	font-weight: bold;
	font-size: 3rem;
	line-height: 1;
}

.feature_ttl {
	font-size: 3.6rem;
}

.feature_txt {
	font-size: 2.4rem;
}

/* --------------------------------------------------------------
# Guide - ご利用案内
-------------------------------------------------------------- */
.guide_cont .about_cont_in {
	flex-direction: row;
	margin-bottom: 8rem;
}

.guide_cont .about_ttl > span {
	font-size: 3.2rem;
}

.guide_list {
	column-gap: 8rem;
}

.guide_list_in > div {
	width: calc(50% - 0.75rem);
	padding: 3rem;
	background-color: #fffdf8;
	border-radius: 1rem;
}

.guide_list_col {
	width: 100%;
	flex-direction: column;
	gap: 1.5rem;
}

.guide_list_col > div {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
}

.guide_list_in:nth-child(3) > div,
.guide_list_in:last-child > div {
	width: calc((100% / 3) - (3rem / 3));
}

.guide_list_col dt {
	font-weight: bold;
	color: var(--main-color);
	font-size: 1.8rem;
	margin-bottom: 1.5rem;
}

.guide_menu {
	background-color: var(--main-color);
}

.guide_menu_list {
	gap: 8rem;
	justify-content: space-between;
	padding: 6rem;
}

.guide_menu_list > li {
	width: calc(100% / 4);
}

.guide_menu_list > li > div {
	position: relative;
	padding-top: 215px;
}

.guide_menu_list > li > p:last-child {
	margin-top: 4rem;
}

.guide_menu_list > li > div::before {
	position: absolute;
	inset: 0;
	width: 215px;
	height: 215px;
	margin: auto;
	content: '';
	background-color: #fff;
	border-radius: 50%;
}

.guide_menu_list > li > div > img {
	position: absolute;
	inset: 0;
	width: 250px;
	height: auto;
	margin: auto;
}

.guide_menu_list > li:first-child > div > img {
	width: auto;
	height: 215px;
}

/* --------------------------------------------------------------
# Photo Gallery - 事業所紹介
-------------------------------------------------------------- */
.gallery_cont {
	justify-content: flex-end;
}

.gallery_ttl {
	position: relative;
	z-index: 2;
	display: flex;
	font-size: 2.6rem;
	font-weight: normal;
	color: var(--main-color);
	writing-mode: vertical-lr;
	font-weight: bold;
	font-family: 'Zen Maru Gothic', sans-serif;
}

.gallery_ttl::after {
	content: '‥‥';
	position: absolute;
	font-size: 2.6rem;
	bottom: 1rem;
	left: -0.3rem;
}

.gallery_cont_in {
	width: 90%;
	overflow: hidden;
}

.slick-slide:nth-child(even) {
	margin-top: 4rem;
}

.slick-slide {
	margin: 0 1rem;
}

.slick-list {
	margin: 0 -1rem;
}

.gallery_cont_in .gallery_img {
	position: relative;
	padding-top: 66.66%;
	overflow: hidden;
	border-radius: 1rem;
}

.gallery_cont_in .gallery_img_link {
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	display: block;
	width: 100%;
}

.gallery_cont_in .gallery_img_link > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* --------------------------------------------------------------
# News - お知らせ
-------------------------------------------------------------- */
.news_cont {
	column-gap: 6rem;
}

.news_cont_col_l {
	width: 25%;
}

.news_cont_col_r {
	width: 75%;
}

.news_ttl {
	flex-direction: column-reverse;
	margin-bottom: 2rem;
	line-height: 1;
}

.news_ttl > span {
	font-size: 3.2rem;
}

.news_ttl::after {
	margin-bottom: 2rem;
	font-size: 6.4rem;
	content: attr(data-title);
	opacity: 0.1;
}

.news_cont_col_l > .btn {
	margin-top: 6rem;
}

.news_cont_list {
	border: 2px dotted rgb(158 158 158 / 20%);
	border-radius: 1rem;
}

.news_cont_list > article {
	border-bottom: 2px dotted rgb(158 158 158 / 20%);
}

.news_cont_list > article:last-child {
	border: none;
}

.news_cont_list > article > a {
	display: flex;
	flex-direction: column;
	width: 100%;
	padding: 3rem;
}

.news_meta > time {
	margin-right: 1.5rem;
	font-weight: bold;
	font-family: 'Zen Maru Gothic', sans-serif;
}

.news_meta > span {
	min-width: 8rem;
	padding: 0.3rem 0.5rem;
	font-size: 1.2rem;
	text-align: center;
	border: 1px solid var(--main-color);
	border-radius: 0.3rem;
}

.news_meta {
	display: flex;
	align-items: center;
	margin-bottom: 1.5rem;
	line-height: 1;
	color: var(--main-color);
}

.news_cont_list_ttl {
	font-size: 1.6rem;
	font-weight: normal;
}

.userblog_cont {
	flex-direction: row;
}

/* --------------------------------------------------------------
# Faq - よくある質問
-------------------------------------------------------------- */
.faq_cont {
	padding-top: 16rem;
}

.faq_cont .main_ttl_wrap {
	display: flex;
	justify-content: center;
}

.faq_cont .main_ttl::after {
	left: 50%;
	transform: translateX(-50%);
}

.faq_cont_in {
	gap: 3rem;
	counter-reset: faq_num;
	position: relative;
}

.faq_img {
	position: absolute;
	width: 250px;
	top: -25rem;
	right: 0rem;
	transform: rotate(5deg);
}

.faq_cont_col {
	width: calc((100% / 3) - (6rem / 3));
}

.faq_txt {
	margin-bottom: 3rem;
	font-weight: bold;
}

.faq_cont_col > a {
	position: relative;
	padding: 9rem 3rem 3rem;
	border-radius: 1rem;
	box-shadow: 0.5rem 0.5rem 0 0 rgb(158 158 158 / 20%);
}

.faq_ttl {
	font-size: 1.6rem;
}

.faq_cont_col > a::before {
	position: absolute;
	top: 3rem;
	left: 3rem;
	width: 45px;
	height: 45px;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 42px;
	color: var(--ac-color);
	text-align: center;
	content: 'Q';
	background-color: var(--main-color);
	border-radius: 50%;
	font-family: 'Zen Maru Gothic', sans-serif;
}

.faq_cont_col > a::after {
	position: absolute;
	right: 3rem;
	top: 3rem;
	content: '0' counter(faq_num);
	counter-increment: faq_num;
	font-family: 'Zen Maru Gothic', sans-serif;
	color: var(--ac-color);
	font-size: 3.4rem;
	font-weight: bold;
	line-height: 42px;
}

/* --------------------------------------------------------------
# Instagram - インスタグラム
-------------------------------------------------------------- */
.insta_cont .main_ttl_wrap {
	display: flex;
	justify-content: center;
}

.insta_cont .main_ttl::after {
	left: 50%;
	transform: translateX(-50%);
}

.insta_list {
	display: flex;
	flex-wrap: wrap;
	border-radius: 1rem;
	overflow: hidden;
}

.insta_list > a {
	position: relative;
	width: 25%;
}

.insta_list > a::before {
	display: block;
	padding-top: 100%;
	content: '';
}

.insta_list > a > img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: auto;
	-o-object-fit: cover;
	object-fit: cover;
	object-fit: cover;
}

.like_count {
	position: absolute;
	right: 0.8rem;
	bottom: 0;
	z-index: 1;
	color: #fff;
}

.like_count::before {
	margin-right: 0.5rem;
	font-family: 'Font Awesome 5 Free';
	font-weight: bold;
	content: '\f004';
}

/* --------------------------------------------------------------
# Access - アクセス
-------------------------------------------------------------- */
.access_cont .news_ttl::after {
	opacity: 0.4;
}

.access_cont_col_l {
	width: 34%;
}

.access_cont_col_r {
	width: 66%;
	border: 2px dotted var(--main-color);
	border-radius: 1rem;
	overflow: hidden;
}

.access_cont_col_l > p {
	margin-bottom: 3rem;
}

.access_cont_col_l > p > span {
	font-weight: bold;
}

.access_cont_col_l > .btn {
	margin: 6rem 0 0;
	text-align: left;
}

/* --------------------------------------------------------------
# Contact - お問い合わせ
-------------------------------------------------------------- */
.contact_cont_wrap {
	border: 4px solid var(--main-color);
	border-radius: 1rem;
}

.contact_txt {
	margin-bottom: 6rem;
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 1;
	text-align: center;
	padding: 3rem 3rem 4rem;
	background-color: var(--main-color);
	color: var(--text-sub-color);
}

.contact_txt > p:first-of-type {
	margin-bottom: 2rem;
	color: var(--ac-color);
}

.contact_txt > p:last-of-type {
	position: relative;
	display: inline-block;
}

.contact_txt > p:last-of-type > span {
	position: relative;
	z-index: 1;
}

.contact_txt > p:last-of-type::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 10px;
	margin: 0 auto;
	content: '';
	background-color: var(--ac-color);
}

.contact_cont_list {
	-moz-column-gap: 3rem;
	column-gap: 3rem;
	column-gap: 3rem;
	justify-content: space-between;
	padding: 0 6rem 9rem;
}

.contact_cont_list > li {
	width: 100%;
	text-align: center;
	position: relative;
}

.contact_ttl {
	margin-bottom: 3rem;
	font-size: 2.2rem;
	font-weight: bold;
	position: absolute;
	padding: 0 3rem;
	background-color: var(--sub-color);
	color: var(--text-sub-color);
	border-radius: 1rem 0 1rem 0;
}

.contact_img {
	border-radius: 1rem;
	overflow: hidden;
}

.contact_img > img {
	/* height: 163px; */
	margin: 0 auto;
}

.contact_cont_list > li > .btn {
	position: absolute;
	width: 100%;
	bottom: -4rem;
	margin-top: 0;
}

/* --------------------------------------------------------------
# Fixed Footer Pc - フッターナビ（固定/PC）
-------------------------------------------------------------- */
.fixed_footer {
	position: fixed;
	bottom: 0;
	z-index: 98;
	width: 100%;
}

.fixed_footer.is_fixed {
	position: static;
	width: 100%;
}

.fixed_footer_sns {
	-moz-column-gap: 1.5rem;
	column-gap: 1.5rem;
	column-gap: 1.5rem;
	margin-right: 2rem;
}

.fixed_footer_sns > li > a {
	font-size: 2rem;
	color: #333;
}

.fixed_footer_addr {
	align-items: center;
	line-height: 1;
}

.fixed_footer_addr > p {
	margin-right: 1rem;
	font-size: 1.4rem;
	color: #fff;
}

.fixed_footer_addr > a {
	padding: 0.5rem 1rem;
	font-size: 1.2rem;
	color: var(--main-color);
	background-color: #fff;
	border-radius: 0.3rem;
}

.fixed_footer_addr > a::after {
	margin-left: 0.3rem;
	font-family: 'Font Awesome 5 Free';
	font-weight: bold;
	content: '\f35d';
}

.fixed_footer_in {
	justify-content: space-between;
	padding: 0 6rem;
	background-color: var(--main-color);
	border-radius: 3rem 3rem 0 0;
}

.fixed_foot_nav_pc > li > a {
	display: flex;
	align-items: center;
	padding: 0.9rem 2rem;
	font-weight: bold;
	background-color: #fffdf8;
	color: var(--main-color);
}

.fixed_foot_nav_pc > li:first-child > a {
	padding: 0.3rem 2rem;
	font-size: 2.2rem;
	color: var(--text-sub-color);
	background-color: transparent;
}

.fixed_foot_nav_pc > li:nth-child(2) > a {
	border-right: 1px solid #fff;
}

.fixed_foot_nav_pc > li > a > i {
	margin-right: 0.5rem;
}

/* --------------------------------------------------------------
# Footer - フッター
-------------------------------------------------------------- */
.site_footer {
	position: relative;
}

.footer_in_wrap {
	font-size: 1.4rem;
	color: #fff;
	background-color: var(--main-color);
}

.footer_in {
	padding: 6rem 6rem 3rem;
	gap: 6rem;
	justify-content: space-between;
}

.footer_in_l {
	width: calc(44% - 3rem);
	gap: 3rem;
}

.footer_in_r {
	position: relative;
	width: calc(56% - 3rem);
}

.footer_in_info {
	width: calc(58% - 1.5rem);
}

.footer_in_name {
	margin-bottom: 2rem;
	font-weight: bold;
}

.footer_in_hour {
	flex-wrap: wrap;
}

.footer_in_hour > dt {
	width: 35%;
}

.footer_in_hour > dd {
	width: 65%;
}

.footer_nav_list {
	flex-wrap: wrap;
	gap: 3rem;
	padding-bottom: 3rem;
	margin-bottom: 3rem;
	border-bottom: 2px dotted rgb(255 255 255 / 80%);
}

.footer_nav_list > li {
	width: calc((100% / 5) - (12rem / 5));
}

.footer_nav a {
	color: #fff;
}

.footer_nav_list > li > a {
	font-weight: bold;
}

.footer_sub_nav_list {
	-moz-column-gap: 3rem;
	column-gap: 3rem;
	column-gap: 3rem;
	font-size: 1.4rem;
}

.copy_right {
	position: absolute;
	right: 0;
	bottom: 0;
	font-size: 1.2rem;
}

.fixed_foot_nav_sp_list {
	display: none;
}

/* --------------------------------------------------------------
# Breadcrumb - パンくずリスト
-------------------------------------------------------------- */
.breadcrumb_list {
	justify-content: flex-end;
	padding: 1rem 2rem;
	font-size: 1.4rem;
	background-color: var(--main-color);
	color: var(--text-sub-color);
}

.breadcrumb_list li i {
	margin: 0 0.5rem;
}

.breadcrumb_list li a {
	text-decoration: underline;
	color: var(--text-sub-color);
}

/* --------------------------------------------------------------
# Single Breadcrumb - 投稿：パンくずリスト
-------------------------------------------------------------- */
.sgl_area .breadcrumb {
	position: absolute;
	top: 10rem;
	right: 0;
	z-index: 1;
	color: #fff;
}

.sgl_area .breadcrumb_list li a {
	color: #fff;
}

/* --------------------------------------------------------------
# Page/Archive:Common - 固定ページ・アーカイブ：共通
-------------------------------------------------------------- */
.page_ttl {
	position: relative;
	padding: 14.5rem 16rem 8rem;
	margin-bottom: 6rem;
	font-size: 2.6rem;
	font-weight: bold;
	line-height: 1;
	text-align: center;
}

.page_ttl::before,
.page_ttl::after {
	position: absolute;
	content: '‥‥　‥‥　‥‥';
	font-size: 3rem;
	left: 50%;
	transform: translateX(-50%);
}

.page_ttl::before {
	top: 0;
	color: var(--sub-color);
}

.page_ttl::after {
	bottom: 0;
	color: var(--ac-color);
}

.page_ttl > .ttl_jp::after {
	position: absolute;
	top: 6.5rem;
	left: 50%;
	font-size: 6.4rem;
	line-height: 1;
	content: attr(data-title);
	transform: translateX(-50%);
	font-family: 'Zen Maru Gothic', sans-serif;
	color: var(--main-color);
}

/* --------------------------------------------------------------
# Archive:Common - アーカイブ：共通
-------------------------------------------------------------- */
.arch_no_post {
	width: 100%;
	padding: 3rem 0;
	text-align: center;
}

.arch_desc {
	margin-bottom: 8rem;
	text-align: center;
}

/* --------------------------------------------------------------
# Archive:News - アーカイブ：ニュース
-------------------------------------------------------------- */
.news_term_list {
	margin-bottom: 6rem;
}

.news_cats_list_wrap {
	-moz-column-gap: 1rem;
	column-gap: 1rem;
	column-gap: 1rem;
}

.news_cats_list_wrap a {
	display: block;
	padding: 1.5rem 3rem;
	line-height: 1;
	color: var(--main-color);
	text-align: center;
	background-color: #fffdf8;
	border-radius: 1rem;
}

.news_cats_list_wrap .current-cat a {
	color: #fff;
	background-color: var(--main-color);
}

.news_cats_list {
	flex-wrap: wrap;
	gap: 1.5rem;
	width: 100%;
}

.news_cats_list > li {
	width: calc((100% / 4) - 1.125rem);
}

/* --------------------------------------------------------------
# Archive:Gallery - アーカイブ：事業所紹介
-------------------------------------------------------------- */
.gallery_list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(25rem, 1fr));
	grid-auto-rows: 18rem;
	gap: 1rem;
}

.gallery_list_img {
	position: relative;
	overflow: hidden;
	text-align: center;
	border-radius: 1rem;
	box-shadow: 0.5rem 0.5rem 0 0 rgb(158 158 158 / 20%);
}

.gallery_list_img:nth-child(2),
.gallery_list_img:nth-child(7),
.gallery_list_img:nth-child(11),
.gallery_list_img:nth-child(16) {
	grid-row-end: span 2;
}

.gallery_list_img_link > img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	object-fit: cover;
	transform: scale(1);
	transition: all 0.3s ease;
}

.gallery_list_img_link:hover > img {
	transform: scale(1.2);
}

.gallery_list_img_cap {
	position: absolute;
	bottom: 0;
	width: 100%;
	font-size: 1.4rem;
	color: #333;
	background-color: #fffdf8;
}

/* --------------------------------------------------------------
# Archive:FAQ - アーカイブ：よくある質問
-------------------------------------------------------------- */
.arch_faq_content .faq_cont {
	padding-top: 0;
}

.faq_list > div {
	border-radius: 1rem;
	box-shadow: 0 5px 30px rgb(234 172 177 / 20%);
}

.faq_list input[type='checkbox'] {
	display: none;
}

.faq_list dt > label {
	position: relative;
	display: block;
	padding: 2.5rem 6.5rem 2.5rem 9rem;
	overflow: hidden;
	font-size: 1.8rem;
	font-weight: bold;
	cursor: pointer;
}

.faq_list dd {
	position: relative;
	height: 0;
	padding: 0 3rem 0 6.5rem;
	margin-bottom: 2rem;
	overflow: hidden;
	opacity: 0;
	transition: 0.5s;
}

.faq_list input[type='checkbox']:checked ~ dd {
	height: auto;
	padding: 0 3rem 3rem 9rem;
	opacity: 1;
}

.faq_list dt > label::before,
.faq_list dd::before {
	position: absolute;
	top: 2rem;
	left: 2rem;
	font-size: 3rem;
	font-weight: normal;
	color: var(--text-sub-color);
	content: 'Q';
	font-family: 'Zen Maru Gothic', sans-serif;
	width: 50px;
	height: 50px;
	background-color: var(--main-color);
	border-radius: 50%;
	line-height: 45px;
	text-align: center;
}

.faq_list dd::before {
	top: 0rem;
	color: var(--text-sub-color);
	content: 'A';
	opacity: 0;
	transition: 0.5s;
	background-color: var(--ac-color);
}

.faq_list input[type='checkbox']:checked ~ dd::before {
	opacity: 1;
}

.faq_list dt > label::after {
	position: absolute;
	top: 50%;
	right: 3rem;
	font-family: 'Font Awesome 5 Free';
	font-size: 2.2rem;
	font-weight: bold;
	color: var(--main-color);
	content: '\f078';
	transform: translateY(-50%);
	transition: transform 0.2s linear;
}

.faq_list input[type='checkbox']:checked + dt > label::after {
	transform: translateY(-50%) scaleY(-1);
}

/* --------------------------------------------------------------
# Archive:STAFF - アーカイブ：スタッフ紹介
-------------------------------------------------------------- */
.staff_cont {
	flex-direction: column;
	row-gap: 8rem;
}

.staff_item {
	gap: 7rem;
}

.staff_item:nth-child(even) {
	flex-direction: row-reverse;
}

.staff_img {
	width: calc(45% - 3.5rem);
}

.staff_img_in {
	position: relative;
	background-color: rgb(66 65 66 / 0.1);
	border-radius: 1rem;
}

.staff_num {
	position: absolute;
	top: -3rem;
	left: 1rem;
	flex-direction: column;
	align-items: center;
	font-weight: bold;
	line-height: 1;
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background-color: var(--main-color);
	justify-content: center;
}

.staff_num > span:first-child {
	font-size: 1.2rem;
	color: var(--ac-color);
}

.staff_num > span:last-child {
	font-size: 4rem;
	color: var(--text-sub-color);
}

.staff_img_in > img {
	padding: 10rem;
	margin: 0 auto;
	border: 4px dotted var(--main-color);
	border-radius: 1rem;
	background-color: #fffdf8;
}

.staff_img_in::before {
	position: absolute;
	top: 0;
	left: 0;
}

.staff_job {
	position: absolute;
	left: 50%;
	bottom: -1.5rem;
	padding: 0 2rem;
	font-size: 2rem;
	background: var(--sub-color);
	color: var(--text-sub-color);
	border-radius: 1rem;
	transform: translateX(-50%);
}

.staff_info {
	width: calc(55% - 3.5rem);
}

.staff_meta {
	position: relative;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 0.5rem;
	padding-left: 3.5rem;
	margin-bottom: 3rem;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.5;
	border-bottom: 1px solid rgb(158 158 158 / 20%);
}

.staff_meta::before {
	position: absolute;
	left: 0;
	width: 2.5rem;
	height: 2.5rem;
	content: '';
	background-color: var(--main-color);
	border-radius: 50%;
}

.staff_exp {
	align-items: center;
	font-size: 1.6rem;
}

.staff_exp > dt {
	padding: 0.3rem 1.5rem;
	border-radius: 0.3rem;
}

.staff_info_list {
	flex-wrap: wrap;
	gap: 1.5rem;
	margin-bottom: 6rem;
	font-size: 1.4rem;
}

.staff_info_list > div {
	display: flex;
	gap: 1.5rem;
	width: calc(50% - 0.75rem);
}

.staff_info_list dt {
	width: calc(50% - 0.75rem);
	color: var(--main-color);
	text-align: center;
	border: 1px solid var(--main-color);
	border-radius: 0.3rem;
}

.staff_info_list dd {
	width: calc(50% - 0.75rem);
}

.staff_info_list .hobby {
	width: 100%;
}

.staff_info_list .hobby dt {
	width: calc(24.24% - 0.75rem);
}

.staff_info_list .hobby dd {
	width: calc(75.76% - 0.75rem);
}

.staff_msg {
	position: relative;
	padding: 2rem;
	font-size: 1.4rem;
	font-weight: bold;
	border: 1px solid var(--main-color);
	border-radius: 0 0.3rem 0.3rem;
}

.staff_msg > dt {
	position: absolute;
	top: -2.8rem;
	left: -0.1rem;
	width: calc(25% - 1.125rem);
	font-size: 1.4rem;
	color: var(--text-sub-color);
	text-align: center;
	background-color: var(--main-color);
	border-radius: 0.3rem 0.3rem 0 0;
}

.staff_msg > dd {
	font-weight: normal;
}

.staff_msg > dd > p:not(:last-child) {
	margin-bottom: 2rem;
}

/* --------------------------------------------------------------
# Archive:Pagination - アーカイブ：ページネーション
-------------------------------------------------------------- */
.pagination {
	margin-top: 6rem;
}

.pagination ul {
	display: flex;
	align-items: center;
	justify-content: center;
}

.pagination ul li {
	margin-right: 1rem;
	margin-bottom: 1rem;
}

.pagination ul li:last-child {
	margin-right: 0;
}

.pagination ul li span,
.pagination ul li a {
	display: inline-block;
	width: 40px;
	height: 40px;
	line-height: 40px;
	color: var(--main-color);
	text-align: center;
	background-color: #ebebeb;
	border-radius: 50%;
}

.pagination ul li span {
	color: #fff;
	background-color: var(--main-color);
}

/* --------------------------------------------------------------
# Single:News - 投稿：お知らせ
-------------------------------------------------------------- */
.sgl_news_header {
	margin-bottom: 6rem;
}

.sgl_news_ttl {
	padding-bottom: 1.5rem;
	margin-bottom: 3rem;
	font-size: 2.4rem;
	border-bottom: 1px solid rgb(66 65 66 / 0.1);
}

.sgl_news_content > p,
.faq_list dd p {
	margin-bottom: 2.5rem;
}

.sgl_news_content > ol,
.faq_list dd ol {
	list-style: decimal;
}

.sgl_news_content > ul,
.faq_list dd ul {
	list-style: disc;
}

.sgl_news_content > ul,
.sgl_news_content > ol,
.faq_list dd ol,
.faq_list dd ul {
	padding-left: 2.5rem;
	margin-bottom: 2.5rem;
}

.sgl_news_content a,
.faq_list dd a {
	color: var(--main-color);
	text-decoration: underline;
}

.sgl_pagination {
	align-items: center;
	padding-top: 6rem;
	margin-top: 6rem;
	border-top: 1px solid rgb(66 65 66 / 0.1);
}

.sgl_pagination > .btn {
	margin-top: 0;
}

.sgl_pagination > * {
	width: calc(100% / 3);
	font-weight: bold;
}

.sgl_pagination_next {
	text-align: right;
}

.sgl_pagination a::before,
.sgl_pagination a::after {
	font-family: 'Font Awesome 5 Free';
}

.sgl_pagination a[rel='prev']::before {
	margin-right: 0.5rem;
	color: var(--main-color);
	content: '\f060';
}

.sgl_pagination a[rel='next']:last-child::after {
	margin-left: 0.5rem;
	color: var(--main-color);
	content: '\f061';
}

/* --------------------------------------------------------------
	# Page:Common - 固定ページ：共通
	-------------------------------------------------------------- */
.page_desc {
	margin-bottom: 8rem;
	text-align: center;
}

.page_sec {
	margin-bottom: 8rem;
}

.page_content .guide_menu {
	margin-bottom: 8rem;
}

/* --------------------------------------------------------------
# Page:Contact - 固定ページ：お問い合わせ
-------------------------------------------------------------- */
.contact_main {
	text-align: center;
}

.contact_main .contact_ttl {
	position: relative;
	margin: 8rem 0 4rem;
	background-color: transparent;
	color: var(--text-color);
}

.contact_main .contact_ttl::before {
	position: absolute;
	top: 0px;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	margin: auto;
	content: '';
	border-top: 4px dotted var(--ac-color);
}

.contact_main .contact_ttl span {
	position: relative;
	z-index: 1;
	display: inline-block;
	padding: 0 2rem;
	font-size: 2.2rem;
	background-color: #fff;
}

.contact_main .contact_ttl span > i {
	/* display: block; */
	margin-right: 0.5rem;
	color: var(--main-color);
}

.page_contact_txt {
	margin-bottom: 3rem;
	font-size: 1.4rem;
}

.page_contact_txt > a {
	text-decoration: underline;
}

.contact_tel_info {
	justify-content: center;
}

.contact_tel_link {
	position: relative;
	align-items: center;
	padding: 0 3rem;
	font-size: 2.4rem;
	font-weight: bold;
	border-right: 1px solid #333;
}

.contact_tel_link::before {
	position: absolute;
	right: 0;
	bottom: 1rem;
	left: 0;
	width: 73%;
	height: 1px;
	margin: auto;
	content: '';
	background-color: #333;
}

.contact_tel_info > p {
	padding: 0 3rem;
}

.contact_tel_info > p > span {
	display: block;
	font-size: 1.4rem;
}

.cf_txt {
	margin-bottom: 6rem;
	text-align: center;
}

.form_wrap {
	margin-top: 8rem;
	text-align: left;
}

.wpcf7 .form_content a {
	text-decoration: underline;
}

.wpcf7 .form_content a:hover {
	opacity: 0.7;
}

.wpcf7 .form_content .form_row {
	align-items: center;
	border-top: 2px dotted rgb(158 158 158 / 20%);
}

.wpcf7 .form_content .row_privacy,
.wpcf7 .form_content .row_submit {
	margin-top: 2rem;
	text-align: center;
	border-top: 0;
}

.wpcf7 .form_content .form_label {
	width: 35%;
	padding: 3rem 0;
}

.wpcf7 .form_content .form_body {
	width: 65%;
	padding: 3rem 0;
}

.wpcf7 .form_content .row_privacy .form_body,
.wpcf7 .form_content .row_submit .form_body {
	width: 100%;
}

.wpcf7 .form_content .row_privacy .form_body {
	padding: 0;
}

.wpcf7 .form_content .row_submit {
	margin-top: 6rem;
}

.wpcf7 .form_content .form_label label {
	position: relative;
	padding-left: 4.5rem;
	font-weight: bold;
}

.wpcf7 .form_content .form_label label::after {
	position: absolute;
	top: -2px;
	left: 0;
	display: inline-block;
	padding: 0 0.5rem;
	font-size: 1.2rem;
	font-weight: normal;
	color: var(--main-color);
	text-align: center;
	content: '任意';
	background-color: #fffdf8;
}

.wpcf7 .form_content .form_label.is_required label::after {
	color: #fff;
	content: '必須';
	background-color: var(--main-color);
}

.wpcf7 .form_content input[type='text'],
.wpcf7 .form_content input[type='tel'],
.wpcf7 .form_content input[type='email'],
.wpcf7 .form_content textarea {
	width: 100%;
	padding: 1rem 2rem;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	appearance: none;
	appearance: none;
	background-color: #fffdf8;
	border: none;
}

.wpcf7 .form_content input[type='text']::input-placeholder,
.wpcf7 .form_content input[type='tel']::input-placeholder,
.wpcf7 .form_content input[type='email']::input-placeholder,
.wpcf7 .form_content textarea::input-placeholder {
	font-size: 1.4rem;
}

.wpcf7 .form_content input[type='text']::-webkit-input-placeholder,
.wpcf7 .form_content input[type='tel']::-webkit-input-placeholder,
.wpcf7 .form_content input[type='email']::-webkit-input-placeholder,
.wpcf7 .form_content textarea::-webkit-input-placeholder {
	font-size: 1.4rem;
}

.wpcf7 .form_content input[type='text']::-moz-placeholder,
.wpcf7 .form_content input[type='tel']::-moz-placeholder,
.wpcf7 .form_content input[type='email']::-moz-placeholder,
.wpcf7 .form_content textarea::-moz-placeholder {
	font-size: 1.4rem;
}

.wpcf7 .form_content input[type='text']::-ms-input-placeholder,
.wpcf7 .form_content input[type='tel']::-ms-input-placeholder,
.wpcf7 .form_content input[type='email']::-ms-input-placeholder,
.wpcf7 .form_content textarea::-ms-input-placeholder {
	font-size: 1.4rem;
}

.wpcf7 .form_content input[type='text']::placeholder,
.wpcf7 .form_content input[type='tel']::placeholder,
.wpcf7 .form_content input[type='email']::placeholder,
.wpcf7 .form_content textarea::placeholder {
	font-size: 1.4rem;
}

.wpcf7 .form_content input[type='text'][readonly='readonly'] {
	background: transparent;
	border: none;
}

.wpcf7 .form_content input[type='text'][readonly='readonly']:focus-visible {
	outline: none;
}

.wpcf7 .form_content input[type='number'] {
	padding: 1rem 2rem;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	appearance: none;
	appearance: none;
	background-color: #fffdf8;
	border: none;
}

.wpcf7 .form_content .wpcf7-list-item {
	margin: 0;
}

.wpcf7 .form_content input[type='checkbox'] {
	display: none;
}

.wpcf7 .form_content input[type='checkbox'] + span {
	position: relative;
	padding: 0 1rem 0 3rem;
	cursor: pointer;
	transition: opacity 0.25s ease;
}

.wpcf7 .form_content input[type='checkbox'] + span::before {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 20px;
	height: 20px;
	content: '';
	background-color: #fffdf8;
}

.wpcf7 .form_content input[type='checkbox'] + span::after {
	position: absolute;
	top: 1px;
	left: 7px;
	display: block;
	width: 7px;
	height: 15px;
	content: '';
	opacity: 0;
	transform: rotate(40deg);
	transition: opacity 0.25s ease;
}

.wpcf7 .form_content input[type='checkbox']:checked + span::before {
	background-color: var(--main-color);
	border: 2px solid var(--main-color);
	opacity: 1;
	transition: opacity 0.25s ease;
}

.wpcf7 .form_content input[type='checkbox']:checked + span::after {
	border-right: 3px solid #fff;
	border-bottom: 3px solid #fff;
	opacity: 1;
	transition: opacity 0.25s ease;
}

.wpcf7 .form_content input[type='radio'] {
	display: none;
}

.wpcf7 .form_content input[type='radio'] + span {
	position: relative;
	padding: 0 1rem 0 3rem;
	cursor: pointer;
	transition: opacity 0.25s ease;
}

.wpcf7 .form_content input[type='radio'] + span::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 20px;
	height: 20px;
	content: '';
	background-color: rgb(66 65 66 / 0.1);
	border: none;
	border-radius: 50%;
	transition: opacity 0.25s ease;
}

.wpcf7 .form_content input[type='radio'] + span::after {
	position: absolute;
	content: '';
	opacity: 0;
	transition: opacity 0.25s ease;
}

.wpcf7 .form_content input[type='radio']:checked + span::after {
	top: 4px;
	left: 4px;
	width: 12px;
	height: 12px;
	background-color: var(--main-color);
	border-radius: 50%;
	opacity: 1;
	transition: opacity 0.25s ease;
}

.wpcf7 .form_content .select_wrap,
.wpcf7 .form_content .number_wrap {
	position: relative;
}

.wpcf7 .form_content select {
	width: 100%;
	padding: 1rem 5rem 1rem 2rem;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	appearance: none;
	appearance: none;
	cursor: pointer;
	background-color: #fffdf8;
	border: none;
}

.wpcf7 .form_content select::-ms-expand {
	display: none;
}

.wpcf7 .form_content .select_wrap::after {
	position: absolute;
	top: 50%;
	right: 2rem;
	display: block;
	width: 1rem;
	height: 1rem;
	margin-top: -0.3rem;
	pointer-events: none;
	content: '';
	border-right: 2px solid var(--main-color);
	border-bottom: 2px solid var(--main-color);
	transform: rotate(45deg) translateY(-50%);
	transform-origin: 50% 0;
}

.wpcf7 .form_content .number_wrap::after {
	position: absolute;
	top: 50%;
	right: -2rem;
	content: '名';
	transform: translateY(-50%);
}

.wpcf7 .form_content .submit_btn {
	position: relative;
	width: 300px;
	margin: 0 auto;
}

.wpcf7 .form_content input[type='submit'] {
	width: 300px;
	padding: 1rem;
	font-size: 1.8rem;
	color: #fff;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	appearance: none;
	appearance: none;
	cursor: pointer;
	background-color: var(--main-color);
	border: 2px var(--main-color) solid;
	border-radius: 3.5rem;
	transition: all 0.3s ease;
}

.wpcf7 .form_content input[type='submit']:disabled {
	color: #9e9e9e !important;
	cursor: not-allowed;
	background-color: #fffdf8;
	border: #fffdf8;
	box-shadow: none !important;
}

.wpcf7 .form_content input[type='submit']:hover {
	color: var(--main-color);
	background-color: #fff;
	transition: all 0.3s ease;
}

.wpcf7-not-valid-tip {
	font-size: 1.4rem;
	color: #f44336;
}

.wpcf7-spinner {
	margin: 1rem 2.4rem 0;
}

.thanks_main .cf_txt:last-child {
	margin-bottom: 0;
}

.wpcf7 .form_content #cf_time {
	font-family: initial;
}

.wpcf7 .form_content .form_remark {
	margin-top: 1rem;
	font-size: 1.2rem;
	color: #f44336;
}

/* --------------------------------------------------------------
# Page:Reserve - 固定ページ：ご予約
-------------------------------------------------------------- */
.hasDatepicker {
	margin-bottom: 15px !important;
}

.hasDatepicker .ui-datepicker {
	width: 100% !important;
}

.hasDatepicker .ui-widget {
	font-family: inherit !important;
}

.hasDatepicker .ui-widget-header {
	background: #d4d4d4 none repeat scroll 0 0 !important;
	border: medium none !important;
}

.hasDatepicker .ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default {
	background: #fff none repeat scroll 0 0 !important;
}

.hasDatepicker .ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight,
.hasDatepicker .ui-state-active {
	color: #363636;
	background: #ffe0e0 none repeat scroll 0 0 !important;
	border: 1px solid #f0beb6;
}

.hasDatepicker .ui-datepicker-today .ui-state-highlight {
	background: #fbf9ee none repeat scroll 0 0 !important;
}

.hasDatepicker .ui-widget-content {
	background: #efefef none repeat scroll 0 0 !important;
	border: medium none;
}

.ui-datepicker td span,
.ui-datepicker td a {
	padding: 0.6em 0.2em !important;
}

/* --------------------------------------------------------------
	# Page:Privacy Policy - プライバシーポリシー
	-------------------------------------------------------------- */
.policy_main > p {
	margin-bottom: 2.5rem;
}

.policy_main > h2 {
	margin: 2.5rem 0;
	font-size: 1.6rem;
}

.policy_main > ul {
	padding-left: 2.5rem;
	margin-bottom: 2.5rem;
	list-style: disc;
}

/* --------------------------------------------------------------
	# Page:Company - 運営会社
	-------------------------------------------------------------- */
.page_sub_ttl {
	position: relative;
	padding-left: 3.5rem;
	margin-bottom: 3rem;
	font-size: 2.2rem;
	line-height: 1.5;
}

.page_sub_ttl::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 2.5rem;
	height: 2.5rem;
	margin: auto 0;
	content: '';
	background-color: var(--ac-color);
	border-radius: 50%;
}

.company_list {
	margin-bottom: 6rem;
	border: 1px solid rgb(158 158 158 / 20%);
	border-radius: 1rem;
	box-shadow: 0.5rem 0.5rem 0 0 rgb(158 158 158 / 20%);
}

.company_list:last-child {
	margin-bottom: 2rem;
}

.company_list > div {
	display: flex;
}

.company_list dt {
	display: flex;
	align-items: center;
	width: 30%;
	padding: 4rem;
	font-weight: bold;
	background-color: #fffdf8;
	border-bottom: 2px dotted #fff;
}

.company_list > div:first-child dt {
	border-radius: 1rem 0 0;
}

.company_list > div:last-child dt {
	border-bottom: none;
	border-radius: 0 0 0 1rem;
}

.company_list dd {
	width: 70%;
	padding: 4rem;
	border-bottom: 2px dotted rgb(158 158 158 / 20%);
}

.company_list > div:last-child dd {
	border-bottom: none;
}

/* --------------------------------------------------------------
# Page:Guide - 固定ページ：ご利用案内
-------------------------------------------------------------- */
.page_main_ttl {
	position: relative;
	padding-top: 8rem;
	margin-bottom: 6rem;
	font-size: 2.4rem;
	line-height: 1;
	text-align: center;
}

.page_main_ttl::before {
	position: absolute;
	top: 3.5rem;
	right: 0;
	left: 0;
	margin: 0 auto;
	content: '‥‥';
	color: var(--sub-color);
}

.page_main_ttl::after {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	margin: 0 auto;
	font-size: 1.8rem;
	color: var(--main-color);
	content: attr(data-title);
	font-family: 'Zen Maru Gothic', sans-serif;
	letter-spacing: 0.2em;
}

.guide_desc {
	margin-bottom: 3rem;
}

.target_books > li {
	display: flex;
	width: calc((100% / 3) - 1rem);
	padding: 3rem;
	background-color: #fffdf8;
	border-radius: 1rem;
}

.target_books {
	counter-reset: target_num;
	gap: 1.5rem;
}

.target_ttl {
	padding-bottom: 1rem;
	margin-bottom: 1.5rem;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1;
	border-bottom: 4px dotted var(--main-color);
}

.target_ttl::before {
	margin-right: 1rem;
	font-size: 3.2rem;
	color: var(--main-color);
	content: counter(target_num);
	counter-increment: target_num;
}

.target_terms {
	padding: 3rem;
	background-color: #fffdf8;
	border-radius: 1rem;
	margin-top: 1.5rem;
}

.target_terms > li {
	position: relative;
	padding-left: 1.5rem;
	margin-bottom: 1.5rem;
}

.target_terms > li::before {
	position: absolute;
	top: 1.2rem;
	left: 0;
	width: 8px;
	height: 8px;
	content: '';
	background-color: var(--main-color);
	border-radius: 50%;
}

.target_terms > li:last-child {
	margin-bottom: 0;
}

.guide_area > p {
	font-size: 1.4rem;
}

.guide_area > p > span {
	display: block;
	font-size: 1.8rem;
	font-weight: bold;
}

.guide_flow {
	margin: 0;
}

.flow_cont {
	flex-direction: column;
	row-gap: 3rem;
	counter-reset: flow_num;
}

.flow_item {
	border: 4px dotted var(--main-color);
	border-radius: 1rem;
}

.flow_item_in {
	padding: 3rem 3rem;
}

.flow_item_in > h3 {
	display: flex;
	align-items: center;
	margin-bottom: 3rem;
	font-size: 2rem;
	line-height: 1;
}

.flow_item_in > h3::before {
	margin-right: 3rem;
	font-size: 6.4rem;
	color: var(--main-color);
	content: counter(flow_num, decimal-leading-zero);
	counter-increment: flow_num;
}

.flow_item_in > p {
	margin-bottom: 2rem;
}

.flow_item_in > p:last-of-type {
	margin: 0;
}

.flow_btn {
	flex-wrap: wrap;
	justify-content: center;
	gap: 1.5rem;
}

.flow_btn > .btn {
	width: calc((100% / 3) - 1rem);
	margin-top: 2rem;
}

/* --------------------------------------------------------------
# Page:Access - 固定ページ：アクセス
-------------------------------------------------------------- */
.access_page_in {
	margin-bottom: 8rem;
}

.access_page_in .ttl_blue {
	font-size: 2.8rem;
}

.access_map {
	margin-bottom: 8rem;
}

.access_map_in {
	gap: 6rem;
	margin-bottom: 6rem;
}

.access_map_l {
	width: 40%;
	font-size: 1.4rem;
}

.access_map_r {
	width: 60%;
	border: 2px dotted var(--main-color);
	border-radius: 1rem;
	overflow: hidden;
}

.access_map_l > div {
	display: flex;
	flex-wrap: wrap;
	border-bottom: 2px dotted var(--main-color);
}

.access_map_l > div:last-child {
	border: none;
}

.access_map_l dt {
	display: flex;
	align-items: center;
	width: 33%;
	font-weight: bold;
}

.access_map_l dd {
	width: 67%;
	padding: 1.5rem 0;
}

.access_time {
	gap: 6rem;
	margin-bottom: 3rem;
}

.access_time_l {
	width: 50%;
}

.access_time_r {
	width: 50%;
}

.access_content .page_sub_ttl {
	padding-left: 3rem;
	font-size: 1.8rem;
}

.access_content .page_sub_ttl::before {
	width: 2rem;
	height: 2rem;
}

.time_table {
	width: 100%;
	table-layout: fixed;
	border-spacing: 0;
	border-collapse: collapse;
}

.time_table tr {
	border-bottom: 1px solid rgb(158 158 158 / 20%);
}

.time_table td,
.time_table th {
	padding: 2rem;
	vertical-align: middle;
	text-align: center;
	border: none;
}

.time_table th.time {
	width: 30%;
	text-align: left;
	white-space: nowrap;
}

.time_table thead th {
	font-weight: bold;
	background-color: #fffdf8;
}

.time_table tbody th {
	font-size: 1.8rem;
	font-weight: normal;
}

.time_table tbody td {
	color: var(--main-color);
}

.access_parking .access_time {
	margin-bottom: 0;
}

.parking_view {
	position: relative;
	padding-top: 66.66%;
}

.parking_view > iframe {
	position: absolute;
	top: 0;
}

/* --------------------------------------------------------------
# Page:Service - 固定ページ：サービス内容
-------------------------------------------------------------- */
.service_use_in > p {
	position: relative;
	margin-bottom: 3rem;
	font-size: 6.4rem;
	font-weight: bold;
	line-height: 1;
	color: rgb(242 200 169 / 40%);
	text-align: center;
}

.service_use_in > p > span {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	font-size: 3.8rem;
	color: #333;
	transform: translate(-50%, -50%);
}

.service_use_list {
	flex-wrap: wrap;
	gap: 1.5rem;
	font-size: 1.8rem;
	counter-reset: service_num;
}

.service_use_list > li {
	position: relative;
	width: calc(50% - 0.75rem);
	padding: 3rem 3rem 3rem 8.5rem;
	background-color: #fffdf8;
	border-radius: 1rem;
}

.service_use_list > li::before {
	position: absolute;
	top: 3rem;
	bottom: 0;
	left: 3rem;
	width: 4rem;
	height: 4rem;
	font-weight: bold;
	line-height: 4rem;
	color: var(--text-sub-color);
	text-align: center;
	content: counter(service_num);
	counter-increment: service_num;
	background-color: var(--sub-color);
	border-radius: 50%;
}

.service_detail_in {
	counter-reset: detail_num;
}

.service_detail_item {
	color: var(--text-color);
}

.service_detail_item:nth-child(n + 4) {
	margin-bottom: 6rem;
}

.service_detail_item:last-child {
	margin-bottom: 8rem;
}

.service_detail_top {
	flex-wrap: wrap;
	border: 4px solid var(--main-color);
	border-radius: 1rem;
	padding: 3rem;
}

.service_detail_item:nth-of-type(even) .service_detail_top {
	flex-direction: row-reverse;
}

.service_detail_l {
	width: 50%;
	padding: 3rem 3rem;
}

.service_detail_ttl {
	margin-bottom: 3rem;
	font-size: 3rem;
	line-height: 1;
	position: relative;
}

.service_detail_ttl::before {
	font-size: 6.4rem;
	color: var(--text-sub-color);
	content: counter(detail_num, decimal-leading-zero);
	counter-increment: detail_num;
	position: absolute;
	top: 0;
	left: -17rem;
	background-color: var(--main-color);
	padding: 2rem 1.5rem;
	border-radius: 1rem 0 0 1rem;
}

.service_detail_item:nth-child(even) .service_detail_ttl::before {
	left: auto;
	right: -17rem;
	border-radius: 0 1rem 1rem 0;
}

.service_detail_l > p {
	margin-bottom: 2rem;
}

.service_detail_l > p:last-of-type {
	margin: 0;
}

.service_detail_r {
	width: 50%;
}

.service_detail_r > img {
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	object-fit: cover;
}

.service_detail_bottom {
	flex-wrap: wrap;
	padding: 6rem 0;
	color: #333;
	background-color: #fff;
	gap: 1.5rem;
}

.service_shuttle {
	width: calc(50% - 0.75rem);
	padding: 3rem;
	background-color: #fffdf8;
	border-radius: 1rem;
}

.service_shuttle_in > p:first-child {
	padding-bottom: 1rem;
	margin-bottom: 1.5rem;
	font-size: 1.8rem;
	border-bottom: 2px dotted var(--main-color);
}

.service_shuttle_in > p:last-child {
	display: flex;
	align-items: center;
	font-size: 3rem;
	font-weight: bold;
	color: var(--main-color);
}

.service_shuttle_in > p:last-child::before {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 4rem;
	height: 4rem;
	padding-left: 0.25rem;
	margin-right: 1.5rem;
	font-family: 'Font Awesome 5 Free';
	font-size: 2.2rem;
	color: var(--text-sub-color);
	content: '\f157';
	background-color: var(--sub-color);
	border-radius: 50%;
}

.service_shuttle_in > p.service_shuttle_loc::before {
	content: '\f3c5';
}

.facility_list {
	flex-wrap: wrap;
	gap: 1.5rem;
	font-size: 1.8rem;
	counter-reset: facility_num;
}

.facility_list > li {
	display: flex;
	align-items: center;
	width: calc((100% / 3) - 1rem);
	padding: 3rem;
	background-color: #fffdf8;
	border-radius: 1rem;
}

.facility_list > li::before {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 4rem;
	height: 4rem;
	padding-left: 0.25rem;
	margin-right: 1.5rem;
	font-weight: bold;
	content: counter(facility_num);
	counter-increment: facility_num;
	background-color: var(--sub-color);
	border-radius: 50%;
	color: var(--text-sub-color);
}

.charge_cont_in {
	flex-direction: row;
}

.charge_cont_in .about_col_l > img,
.work_cont_in .about_col_l > img {
	height: 100%;
}

.work_detail_in {
	flex-direction: column;
	gap: 6rem;
}

.work_detail_in .service_detail_l > p {
	font-size: 1.6rem;
}

.work_detail_in .service_detail_item:nth-child(n + 4) {
	margin: 0;
}

.work_detail_in .service_detail_item:last-child {
	margin-bottom: 8rem;
}

.schedule_desc {
	margin-bottom: 3rem;
	text-align: center;
}

.schedule_cont_in {
	flex-wrap: wrap;
	gap: 6rem;
}

.schedule_example .page_sub_ttl {
	font-size: 1.8rem;
}

.schedule_example {
	width: calc((100% / 2) - 3rem);
}

.schedule_list {
	margin-bottom: 1.5rem;
}

.schedule_list dt,
.schedule_list dd {
	padding: 2rem 3rem;
}

.schedule_example > p {
	font-size: 1.4rem;
}

/* --------------------------------------------------------------
# Fixed Side SNS - 右側固定SNS
-------------------------------------------------------------- */
.fixed_side_sns {
	position: fixed;
	top: 35%;
	right: 0;
	z-index: 98;
	border-radius: 1rem 0 0 1rem;
	overflow: hidden;
	box-shadow: 0 0 1rem rgb(234 172 177 / 20%);
}

.fixed_side_sns.is_stop {
	position: absolute;
	top: -62.5rem;
}

.fixed_side_sns > li > a {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.5rem 1.3rem 1.5rem 1.5rem;
	line-height: 1;
	color: #fff;
}

.fixed_side_sns > li:first-child > a {
	flex-direction: column;
	font-weight: bold;
	color: #333;
	background-color: var(--ac-color);
}

.fixed_side_sns > li:last-child > a {
	background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
}

.fixed_side_sns > li:first-child > a span {
	margin-right: 0.5rem;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	writing-mode: vertical-rl;
}

.fixed_side_sns > li > a i {
	font-size: 3rem;
}

.fixed_side_sns > li:first-child > a i {
	margin-bottom: 0.5rem;
}

/* --------------------------------------------------------------
# SP - スマホ
-------------------------------------------------------------- */
@media screen and (max-width: 1024px) {
	/* --------------------------------------------------------------
	# Common - 共通
	-------------------------------------------------------------- */
	body {
		font-size: 1.4rem;
	}

	.top_btn.is_active {
		bottom: 8.5rem;
	}

	.flex {
		flex-wrap: wrap;
	}

	.mw_1080 {
		padding: 0;
	}

	.mw_1366 {
		padding: 3rem 2rem;
	}

	.btn {
		margin-top: 3rem;
	}

	.btn > a::before,
	.btn > a::after {
		top: -9px;
	}

	.main_nav {
		display: none;
	}

	.site_header {
		width: 100%;
		height: 6rem;
		box-shadow: rgb(52 163 221 / 0.05) 0 8px 30px;
	}

	.site_branding {
		top: 0;
		left: 0;
		padding: 1.5rem;
	}

	.is_fixed .site_branding {
		left: 0;
		padding: 1.5rem;
	}

	.site_ttl > a > img {
		height: 10rem;
	}

	.is_fixed .site_ttl > a > img {
		height: 10rem;
	}

	.sp_nav {
		padding-bottom: 0;
		overflow: scroll;
	}

	.drawer_open {
		width: 60px;
		height: 60px;
		top: 0;
		right: 0;
		background-color: var(--main-color);
	}

	.is_fixed .drawer_open {
		top: 0;
	}

	.drawer_open span,
	.drawer_open::before,
	.drawer_open::after,
	.sp_nav .drawer_open span,
	.sp_nav .drawer_open::before,
	.sp_nav .drawer_open::after {
		border-bottom: 2px solid var(--text-sub-color);
	}

	.sp_nav .drawer_open {
		top: 0;
	}

	.sp_nav_in {
		flex-direction: column-reverse;
		padding: 12rem 2rem 6rem;
	}

	.sp_nav_l {
		width: 100%;
	}

	.sp_nav_r {
		width: 100%;
	}

	.sp_nav_l .site_ttl {
		position: absolute;
		top: 2rem;
		left: 2rem;
		margin-bottom: 0;
	}

	.sp_nav .sp_nav_l .site_ttl {
		width: 180px;
	}

	.sp_nav_l .btn {
		text-align: center;
	}

	.sp_nav_name {
		font-size: 1.4rem;
	}

	.sp_nav_info {
		font-size: 1.2rem;
	}

	.sp_nav_ttl {
		font-size: 1.4rem;
	}

	.sp_nav ul {
		text-align: left;
	}

	.sp_nav_list li a {
		font-size: 1.8rem;
	}

	.sp_nav .sp_nav_sns {
		justify-content: center;
	}

	.site_content {
		padding-top: 6rem;
	}

	.home .site_content {
		padding-top: 8rem;
	}

	.site_mv {
		display: block;
		/* max-width: 100%; */
	}

	.mv_img {
		height: calc(100vh - 10rem);
		border-radius: 1rem;
	}

	.mv_cc {
		position: absolute;
		top: 3rem;
		left: 4rem;
		width: auto;
		font-size: 3.2rem;
	}

	.mv_cc_in > span {
		color: #fff;
	}

	.mv_cc_in > span::after {
		right: 1rem;
		width: 0.8rem;
	}

	.mv_info {
		position: relative;
		bottom: 0;
		left: 0;
		padding: 3rem 0;
	}

	.mv_info > h2 {
		padding: 0;
		text-align: center;
		color: var(--main-color);
		text-shadow: none;
	}

	.mv_info_list {
		border-radius: 1rem;
	}

	.mv_info_list li > a {
		flex-wrap: wrap;
	}

	.scroll_link {
		top: -12rem;
		left: 0.4rem;
	}

	.bnr_cont {
		padding: 0;
	}

	.about_col_r {
		width: 100%;
	}

	.about_col_l {
		width: 100%;
		font-size: 2rem;
	}

	.about_cont_in {
		flex-direction: column-reverse;
		row-gap: 3rem;
	}

	.about_ttl {
		font-size: 1.8rem;
	}

	.about_ttl > img {
		height: 30px;
	}

	.about_cc {
		font-size: 5.2rem;
	}

	.about_cc > p {
		padding: 4rem 2rem;
	}

	.about_cc > p > span {
		width: 100%;
		font-size: 2.2rem;
	}

	.about_col_l span {
		padding: 0 2rem;
	}

	.about_col_l > p:first-child {
		margin-bottom: 6rem;
	}

	.about_col_l > p:last-child > span::before {
		top: -4.4rem;
	}

	.about_col_l > p:last-child > span:first-child::before {
		right: 0;
	}

	.about_col_l > p:last-child > span:last-child::before {
		left: 0;
	}

	.main_ttl_cont {
		padding-top: 3rem;
	}

	.main_ttl_cont::before {
		top: 4rem;
	}

	.main_ttl_wrap {
		display: flex;
		justify-content: center;
	}

	.main_ttl {
		font-size: 2.8rem;
		padding-top: 9rem;
		margin-bottom: 3rem;
	}

	.main_ttl > .ttl_blue {
		font-size: 3.8rem;
	}

	.main_ttl::after {
		top: 4rem;
		font-size: 3.2rem;
		left: 50%;
		transform: translateX(-50%);
	}

	.feature_cont_in {
		gap: 4rem 3rem;
	}

	.feature_cont_col {
		width: 100%;
		padding: 3rem;
		flex-direction: column;
	}

	.feature_cont_col:nth-child(even) {
		flex-direction: column;
	}

	.feature_cont_col::before {
		top: -4rem;
		font-size: 3.8rem;
	}

	.feature_img {
		width: 100%;
	}

	.feature_img > img {
		height: auto;
	}

	.feature_ttl {
		font-size: 2.4rem;
		text-align: left;
	}

	.feature_cont_col:nth-child(n + 5) {
		width: 100%;
	}

	.feature_txt_wrap {
		width: 100%;
		padding-bottom: 0;
	}

	.feature_txt_wrap::before {
		top: -5rem;
		font-size: 2.4rem;
	}

	.feature_txt {
		font-size: 1.6rem;
	}

	.guide_cont {
		padding-bottom: 3rem;
	}

	.guide_cont .main_ttl::after {
		left: 50%;
	}

	.guide_cont .about_ttl > span {
		font-size: 2.8rem;
	}

	.guide_cont .about_cont_in {
		margin-bottom: 3rem;
	}

	.guide_list_col {
		width: 100%;
	}

	.guide_list_in > div {
		width: 100%;
	}

	.guide_list_in:nth-child(3) > div,
	.guide_list_in:last-child > div {
		width: 100%;
	}

	.guide_list_col_r > div:first-child {
		border-top: 2px dotted var(--main-color);
	}

	.guide_menu_list {
		row-gap: 4rem;
		justify-content: center;
	}

	.guide_menu_list > li {
		width: 100%;
	}

	.gallery_cont {
		flex-wrap: nowrap;
	}

	.news_cont {
		position: relative;
		row-gap: 4rem;
	}

	.news_cont_col_l {
		width: 100%;
	}

	.news_cont_col_r {
		width: 100%;
	}

	.news_ttl {
		text-align: center;
	}

	.news_ttl > span {
		font-size: 2.8rem;
	}

	.news_ttl::after {
		margin-bottom: 1rem;
		font-size: 3.2rem;
	}

	.news_cont_col_l > .btn {
		position: absolute;
		right: 0;
		bottom: -7rem;
		left: 0;
		margin: 0 auto;
		margin-top: 3rem;
	}

	.news_cont_list > li {
		flex-wrap: wrap;
		width: 100%;
	}

	.news_cont_list > li:nth-last-child(-n + 2) > a {
		border-bottom: 1px solid rgb(66 65 66 / 0.1);
	}

	.news_cont_list > li:last-child > a {
		border: none;
	}

	.news_cont_list_ttl {
		font-size: 1.4rem;
	}

	.userblog_cont {
		padding-top: 10rem;
	}

	.insta_cont .main_ttl_cont {
		padding-top: 12rem;
	}

	.insta_cont .main_ttl_cont::before {
		top: 10rem;
	}

	.insta_cont .main_ttl::after {
		left: 50%;
	}

	.faq_cont .main_ttl::after {
		left: 50%;
	}

	.faq_img {
		position: static;
		transform: none;
		width: 100%;
	}

	.faq_cont_col {
		width: 100%;
	}

	.faq_cont_col:first-child {
		width: 100%;
		padding: 2rem;
	}

	.faq_cont_col > a {
		padding: 8.5rem 2rem 4.8rem;
	}

	.faq_cont_col > a::before {
		top: 2rem;
		left: 2rem;
	}

	.faq_cont_col > a::after {
		right: 2rem;
		bottom: 2rem;
	}

	.insta_list > a {
		width: 50%;
	}

	.access_cont_col_l {
		width: 100%;
		padding: 0;
		margin-bottom: 3rem;
	}

	.access_cont_col_l > p {
		margin-bottom: 2rem;
	}

	.access_cont_col_l > .btn {
		margin: 4rem 0 0;
		text-align: center;
	}

	.access_cont_col_r {
		position: relative;
		width: 100%;
		padding-top: 100%;
	}

	.access_cont_col_r > iframe {
		position: absolute;
		top: 0;
	}

	.contact_txt {
		margin-bottom: 3rem;
		font-size: 1.8rem;
		padding: 1.5rem 1.5rem 2.5rem;
	}

	.contact_cont_list {
		row-gap: 6rem;
		padding: 0 1.5rem 6rem;
	}

	.contact_cont_list > li {
		/* padding: 2rem; */
	}

	.contact_ttl {
		margin-bottom: 2rem;
		font-size: 1.8rem;
	}

	.contact_cont_list > li > .btn > a {
		width: 100%;
	}

	.fixed_footer {
		display: none;
	}

	.footer_in {
		padding: 3rem 2rem 11.5rem;
		gap: 3rem;
	}

	.footer_in .site_ttl {
		position: static;
		margin-bottom: 2rem;
		width: 35%;
		padding: 1.5rem;
		margin: 0 auto;
	}

	.footer_in_info {
		width: 100%;
	}

	.footer_in_hour > dt {
		width: 25%;
	}

	.footer_in_hour > dd {
		width: 75%;
	}

	.footer_in_r {
		width: 100%;
	}

	.footer_nav_list {
		justify-content: flex-start;
		padding-bottom: 2rem;
		margin-bottom: 2rem;
		gap: 1.5rem;
	}

	.footer_nav_list > li {
		width: auto;
	}

	.copy_right {
		position: static;
		margin-top: 2rem;
		text-align: center;
	}

	/* --------------------------------------------------------------
	# Fixed Footer - 固定フッター（SP）
	-------------------------------------------------------------- */
	.fixed_foot_nav_sp_list {
		position: fixed;
		bottom: -10rem;
		left: 0;
		z-index: 98;
		display: flex;
		width: 100%;
		padding-bottom: constant(safe-area-inset-bottom);
		padding-bottom: env(safe-area-inset-bottom);
		margin: 0;
		table-layout: fixed;
		background-color: var(--sub-color);
		box-shadow: 0 -1px 3px rgb(100 120 130 / 0.25);
		transition: all 0.3s ease;
	}

	.fixed_foot_nav_sp_list.is_active {
		bottom: 0;
	}

	.fixed_foot_nav_sp_list li {
		display: flex;
		justify-content: center;
		width: calc(100% / 4);
	}

	.fixed_foot_nav_sp_list li a {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		width: 100%;
		padding: 1rem 0;
		font-size: 1.2rem;
		line-height: 1;
		color: #fff;
	}

	.fixed_foot_nav_sp_list li a i {
		margin-bottom: 0.8rem;
		font-size: 2rem;
	}

	/* --------------------------------------------------------------
	# Page Top - トップへ戻る
	-------------------------------------------------------------- */
	.top_btn.is_active {
		display: none;
	}

	/* --------------------------------------------------------------
	# Archive:News - アーカイブ：お知らせ
	-------------------------------------------------------------- */
	.breadcrumb_list {
		font-size: 1.2rem;
	}

	.page_ttl {
		padding: 10.5rem 3rem 5rem;
		margin-bottom: 4rem;
	}

	.policy_content .page_ttl > .ttl_jp::after {
		font-size: 2.4rem;
	}

	.page_ttl > .ttl_jp::after {
		top: 3.5rem;
		font-size: 5.4rem;
	}

	.arch_desc {
		margin-bottom: 4rem;
		text-align: left;
	}

	.arch_desc br {
		display: none;
	}

	.news_term_list {
		margin-bottom: 3rem;
	}

	.news_cont_list > article {
		width: 100%;
	}

	.news_cats_list > li {
		width: calc((100% / 2) - 0.75rem);
	}

	/* --------------------------------------------------------------
	# Archive:Gallery - アーカイブ：事業所紹介
	-------------------------------------------------------------- */
	.gallery_list {
		grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
	}

	.gallery_list_img:nth-child(2),
	.gallery_list_img:nth-child(7),
	.gallery_list_img:nth-child(11),
	.gallery_list_img:nth-child(16) {
		grid-row-end: auto;
	}

	/* --------------------------------------------------------------
	# Archive:FAQ - アーカイブ：よくある質問
	-------------------------------------------------------------- */
	.faq_list dt > label {
		padding: 1.5rem 5rem 1.5rem 5.5rem;
		font-size: 1.4rem;
	}

	.faq_list dt > label::before,
	.faq_list dd::before {
		top: 0;
		bottom: 0;
		left: 1.5rem;
		font-size: 1.6rem;
		width: 30px;
		height: 30px;
		line-height: 27px;
		margin: auto;
	}

	.faq_list dt > label::after {
		right: 1.5rem;
		font-size: 1.8rem;
	}

	.faq_list dd {
		padding: 0 1.5rem 0 6rem;
	}

	.faq_list dd::before {
		top: 0rem;
		bottom: auto;
	}

	.faq_list input[type='checkbox']:checked ~ dd {
		padding: 0 1.5rem 1.5rem 6rem;
	}

	/* --------------------------------------------------------------
	# Archive:STAFF - アーカイブ：スタッフ紹介
	-------------------------------------------------------------- */
	.staff_list_wrap {
		margin-top: 8rem;
	}

	.staff_img,
	.staff_info {
		width: 100%;
	}

	.staff_item {
		gap: 4.5rem;
	}

	.staff_info_list {
		gap: 1rem;
	}

	.staff_info_list > div {
		gap: 1rem;
		width: calc(50% - 0.5rem);
	}

	.staff_info_list dt {
		width: calc(61.88% - 0.5rem);
	}

	.staff_info_list dd {
		width: calc(38.12% - 0.5rem);
	}

	.staff_info_list .hobby dt {
		width: calc(30% - 0.5rem);
	}

	.staff_info_list .hobby dd {
		width: calc(70% - 0.5rem);
	}

	.staff_msg > dt {
		width: calc(30% - 0.5rem);
	}

	/* --------------------------------------------------------------
	# Pagination - ページネーション
	-------------------------------------------------------------- */
	.pagination {
		margin-top: 3rem;
	}

	/* --------------------------------------------------------------
	# Single:News - 投稿：お知らせ
	-------------------------------------------------------------- */
	.sgl_news_header {
		margin-bottom: 3rem;
	}

	.sgl_news_ttl {
		font-size: 2rem;
	}

	.sgl_pagination {
		padding-top: 3rem;
		margin-top: 3rem;
	}

	.sgl_pagination {
		flex-direction: column;
	}

	.sgl_pagination > * {
		width: 100%;
		text-align: center;
	}

	.sgl_pagination > .btn {
		margin: 2rem 0;
	}

	/* --------------------------------------------------------------
	# Page:Common - 固定ページ：共通
	-------------------------------------------------------------- */
	.page_desc {
		margin-bottom: 4rem;
		text-align: left;
	}

	.page_desc > br {
		display: none;
	}

	.page_content .guide_menu {
		margin-bottom: 4rem;
	}

	/* --------------------------------------------------------------
	# Page:Cotanct/Reserve - 固定ページ：お問い合わせ/予約
	-------------------------------------------------------------- */
	.contact_main p {
		text-align: left;
	}

	.contact_main p br {
		display: none;
	}

	.contact_main .contact_ttl {
		margin: 4rem 0 2rem;
	}

	.contact_main .contact_ttl span {
		font-size: 1.8rem;
	}

	.page_contact_txt {
		margin-bottom: 2rem;
		font-size: 1.2rem;
	}

	.contact_tel_info {
		flex-direction: column;
		align-items: center;
	}

	.contact_tel_link {
		font-size: 2.2rem;
		border: none;
	}

	.contact_tel_link::before {
		bottom: 0.1rem;
	}

	.contact_tel_info > p > span {
		font-size: 1.2rem;
	}

	.cf_txt {
		margin-bottom: 4rem;
		font-size: 1.4rem;
		text-align: left;
	}

	.cf_txt br {
		display: none;
	}

	.wpcf7 .form_content {
		margin-top: 4rem;
		font-size: 1.4rem;
	}

	.wpcf7 .form_content .form_row {
		display: block;
	}

	.wpcf7 .form_content .form_label {
		width: 100%;
		padding: 3rem 0 0;
	}

	.wpcf7 .form_content .form_body {
		width: 100%;
		padding: 1rem 0 3rem;
	}

	.wpcf7 .form_content .row_privacy {
		margin-top: 0;
	}

	.wpcf7 .form_content .row_submit {
		margin-top: 4rem;
	}

	.wpcf7 .form_content .submit_btn,
	.wpcf7 .form_content input[type='submit'] {
		width: 100%;
	}

	.wpcf7 form .wpcf7-response-output {
		text-align: left;
	}

	/* --------------------------------------------------------------
	# Page:Company - 固定ページ：運営会社
	-------------------------------------------------------------- */
	.company_list > div {
		flex-wrap: wrap;
	}

	.company_list dt {
		width: 100%;
		padding: 2rem;
	}

	.company_list > div:first-child dt {
		border-radius: 1rem 1rem 0 0;
	}

	.company_list > div:last-child dt {
		border-radius: unset;
	}

	.company_list dd {
		width: 100%;
		padding: 2rem;
	}

	/* --------------------------------------------------------------
	# Page:Guide - 固定ページ：ご利用案内
	-------------------------------------------------------------- */
	.page_sec {
		margin-bottom: 4rem;
	}

	.guide_flow {
		margin: 0;
	}

	.page_main_ttl {
		margin-bottom: 3rem;
		font-size: 2rem;
	}

	.target_books > li {
		width: 100%;
	}

	.target_books > li > div {
		border-bottom: none;
	}

	.target_books > li:last-child {
		border-bottom: 1px solid rgb(66 65 66 / 0.1);
	}

	.flow_item_in > h3 {
		flex-direction: column;
		margin-bottom: 1.5rem;
		font-size: 1.8rem;
		line-height: 2;
	}

	.flow_item_in > h3::before {
		margin-right: 0;
		margin-bottom: 1.5rem;
		font-size: 3.2rem;
		line-height: 1;
	}

	.flow_btn > .btn {
		width: 100%;
	}

	.flow_item_in {
		padding: 2rem;
	}

	/* --------------------------------------------------------------
	# Page:Access - 固定ページ：アクセス
	-------------------------------------------------------------- */
	.access_page_in .ttl_blue {
		font-size: 1.8rem;
	}

	.access_map_in {
		gap: 3rem;
		margin-bottom: 3rem;
	}

	.access_map {
		margin-bottom: 4rem;
	}

	.access_map_l {
		width: 100%;
	}

	.access_map_l dt {
		width: 100%;
		padding: 1rem 1rem 0;
	}

	.access_map_l dd {
		width: 100%;
		padding: 0 1rem 1rem;
	}

	.access_map_r {
		position: relative;
		width: 100%;
		padding-top: 100%;
	}

	.access_map_r > iframe {
		position: absolute;
		top: 0;
	}

	.access_time {
		gap: 3rem;
		margin-bottom: 1.5rem;
	}

	.access_time_l {
		width: 100%;
	}

	.access_time_r {
		width: 100%;
	}

	.access_content .page_sub_ttl {
		margin-bottom: 1.5rem;
		font-size: 1.6rem;
	}

	.time_table {
		font-size: 1.2rem;
	}

	.time_table td,
	.time_table th {
		padding: 1rem;
	}

	.time_table tbody th {
		font-size: 1.2rem;
	}

	/* --------------------------------------------------------------
	# Page:Service - 固定ページ：サービス内容
	-------------------------------------------------------------- */
	.access_page_in {
		margin-bottom: 4rem;
	}

	.service_use_in > p {
		font-size: 2.4rem;
	}

	.service_use_in > p > span {
		font-size: 2.4rem;
		line-height: 1.5;
	}

	.service_use_list {
		gap: 1.5rem;
		padding: 0;
		font-size: 1.6rem;
	}

	.service_use_list > li {
		width: 100%;
		padding: 1.5rem 1.5rem 1.5rem 5.5rem;
	}

	.service_use_list > li::before {
		width: 3rem;
		height: 3rem;
		line-height: 3rem;
		top: 0;
		bottom: 0;
		margin: auto;
		left: 1.5rem;
	}

	.service_detail_top {
		flex-direction: column-reverse;
		padding: 1.5rem;
	}

	.service_detail_l {
		width: 100%;
		padding: 2rem 0 0;
	}

	.service_detail_r {
		width: 100%;
	}

	.service_detail_ttl {
		display: flex;
		flex-direction: column;
		margin-bottom: 1.5rem;
		font-size: 1.8rem;
		text-align: center;
	}

	.service_detail_ttl::before {
		font-size: 3.2rem;
		left: auto;
		right: -1.5rem;
		top: -9rem;
	}

	.service_detail_item:nth-child(even) .service_detail_ttl::before {
		right: auto;
		left: -1.5rem;
	}

	.service_detail_bottom {
		padding: 3rem 0;
	}

	.facility_list {
		font-size: 1.6rem;
	}

	.facility_list > li {
		width: 100%;
	}

	.service_detail_r > img {
		height: auto;
	}

	.service_detail_item:nth-of-type(even) .service_detail_top {
		flex-direction: column-reverse;
	}

	.service_shuttle {
		width: 100%;
		padding: 0 2rem;
	}

	.service_shuttle:first-child {
		border-right: 1px solid rgb(66 65 66 / 0.1);
	}

	.service_shuttle_in {
		padding: 2rem 0;
	}

	.service_shuttle:first-child .service_shuttle_in {
		border-bottom: none;
	}

	.service_shuttle_in > p:first-child {
		font-size: 1.6rem;
	}

	.service_shuttle_in > p:last-child {
		font-size: 1.8rem;
	}

	.service_shuttle_in > p:last-child::before {
		width: 3rem;
		height: 3rem;
		font-size: 1.6rem;
	}

	.service_detail_item:nth-child(n + 4) {
		margin-bottom: 3rem;
	}

	.work_detail_in .service_detail_item:last-child {
		margin-bottom: 4rem;
	}

	.schedule_desc {
		text-align: left;
	}

	.schedule_cont_in {
		gap: 3rem;
	}

	.schedule_example {
		width: 100%;
	}

	.schedule_example > p {
		font-size: 1.2rem;
	}

	/* --------------------------------------------------------------
	# Fixed Side SNS - 右側固定SNS
	-------------------------------------------------------------- */
	.fixed_side_sns {
		top: auto;
		bottom: -10rem;
		display: flex;
		width: 100%;
		box-shadow: 0 -1px 3px rgb(100 120 130 / 0.25);
		transition: all 0.3s ease;
		border-radius: unset;
	}

	.fixed_side_sns.is_active {
		bottom: 6rem;
	}

	.fixed_side_sns.is_stop {
		position: fixed;
		top: auto;
	}

	.fixed_side_sns > li {
		width: calc(100% / 2);
	}

	.fixed_side_sns > li:first-child > a {
		flex-direction: row;
	}

	.fixed_side_sns > li > a i {
		font-size: 2rem;
	}

	.fixed_side_sns > li:first-child > a i {
		margin-right: 0.5rem;
		margin-bottom: 0;
	}

	.fixed_side_sns > li:first-child > a span {
		-webkit-writing-mode: horizontal-tb;
		writing-mode: horizontal-tb;
		writing-mode: horizontal-tb;
	}
}
