@charset "UTF-8";
/*!
Theme Name: Re:felia
Author: SHUMiST.
Author URI: https://shumist.com/
Description: The Theme for Re:felia.
Version: 1.0.0
Text Domain: refelia
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/
/*--------------------------------------------------------------
# Reset CSS by A Modern CSS Reset
--------------------------------------------------------------*/

/* 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 {
	list-style: none;
	padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
	margin: 0;
}

/* Set core root defaults */
html {
	font-size: 62.5%;

	scroll-behavior: smooth;
}

/* Set core body defaults */
body {
	min-height: 100vh;
	background-color: #e88baa;
	color: #333333;
	font-size: 1.6rem;
	line-height: 2;
	font-family: 'Roboto', YakuHanJP_Noto, 'Noto Sans JP', 'Hiragino Sans',
		'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
	letter-spacing: 0.1em;

	text-rendering: optimizeSpeed;
}

a {
	color: #333333;
	text-decoration: none;
	transition: all 0.3s ease;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
	-webkit-text-decoration-skip: ink;
	text-decoration-skip-ink: auto;
}

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) {
	* {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;

		-webkit-animation-duration: 0.01ms !important;
		-webkit-animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
	}
}

/*--------------------------------------------------------------
# Common - 共通
--------------------------------------------------------------*/
.serif {
	font-family: 'Yu Mincho', YuMincho, 'Hiragino Mincho ProN', serif;
}

.bold {
	font-weight: bold;
}

.flex {
	display: flex;
}

.mw_1080 {
	max-width: 1080px;
	margin: 0 auto;
	padding: 0 6rem;
}

.mw_1366 {
	max-width: 1366px;
	margin: 0 auto;
	padding: 8rem 6rem;
}

.btn {
	margin-top: 8rem;
	text-align: center;
}

.btn > a {
	display: inline-block;
	position: relative;
	width: 100%;
	max-width: 300px;
	padding: 1.4rem 0;
	border: 2px solid #e88baa;
	border-radius: 3.5rem;
	background-color: #ffffff;
	color: #e88baa;
	font-weight: bold;
	text-align: center;
}

.btn > a:hover {
	opacity: 1;
}

.btn > a::before {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0.7rem;
	width: 46px;
	height: calc(100% - 14px);
	margin: auto 0;
	border-radius: 200px;
	background-color: #e88baa;
	color: #ffffff;
	font-weight: bold;
	font-family: 'Font Awesome 5 Free';
	content: '\f061';
	transition: all 0.2s;
}

.btn > a:hover::before {
	justify-content: flex-end;
	width: calc(100% - 14px);
	padding-right: 1.2rem;
}

.btn > a > span {
	position: relative;
	z-index: 1;
}

.btn > a:hover > span {
	color: #ffffff;
}

.btn_tel > a::before {
	content: '\f879';
}

.btn_con > a::before {
	content: '\f0e0';
}

.btn_res > a::before {
	content: '\f4fd';
}

.btn > a > span {
	position: relative;
	z-index: 1;
}

.btn > a:hover > span {
	color: #ffffff;
}

.ttl_blue {
	color: #e88baa;
}

.ttl_yellow {
	color: #f5e346;
}

.top_btn {
	opacity: 0;
	padding: 0.5rem;
	background-color: #ffffff;
	color: #e88baa;
	font-weight: bold;
	font-size: 1.4rem;
	line-height: 1;

	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
}

.top_btn::before {
	font-weight: bold;
	font-size: 2.2rem;
	font-family: 'Font Awesome 5 Free';
	content: '\f077';
}

.top_btn.is_active {
	align-items: center;
	opacity: 1;
	position: fixed;
	right: 2rem;
	bottom: 10rem;
	z-index: 98;
}

.top_btn.is_stop {
	position: absolute;
	top: -18rem;
	bottom: auto;
}

/*--------------------------------------------------------------
# Main Nav - メインナビ
--------------------------------------------------------------*/
.site {
	margin: 1.5rem 0 1.5rem 1.5rem;
	border-radius: 2rem 0 0;
	background-color: #ffffff;
}

.site_header {
	position: fixed;
	top: 1.5rem;
	z-index: 99;
	width: calc(100% - 1.5rem);
	padding: 0 2.5rem 0 3rem;
	border-radius: 2rem 0 0;
	background-color: #ffffff;
	transition: 0.5s;
}

.site_header.is_fixed {
	top: 0;
	border-radius: unset;
	box-shadow: rgb(52 163 221 / 5%) 0 8px 30px;
}

.site_branding {
	position: absolute;
	top: 3rem;
	left: 3rem;
	transition: 0.5s;
}

.is_fixed .site_branding {
	top: 1rem;
	left: 2rem;
}

.site_ttl > a > img {
	height: 65px;
	transition: 0.5s;
}

.is_fixed .site_ttl > a > img {
	height: 47px;
}

.main_nav {
	justify-content: flex-end;
}

.main_nav_list {
	margin-right: 4.5rem;
	font-weight: bold;
}

.main_nav_list li > a {
	display: flex;
	align-items: center;
	position: relative;
	padding: 2rem;
	font-size: 1.4rem;
}

.main_nav_list li > a::before {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	transform: scale(0, 1);
	width: calc(100% - 4rem);
	height: 5px;
	margin: 0 auto;
	background: linear-gradient(90deg, #f5e346 0%, #ffc107 100%);
	content: '';
	transition: transform 0.4s;

	transform-origin: right top;
}

.main_nav_list li.current > a::before {
	transform: scale(1, 1);
}

.main_nav_list li > a:hover::before {
	transform: scale(1, 1);

	transform-origin: left top;
}

.main_nav_list li > a i {
	margin-right: 0.5rem;
	color: #e88baa;
}

.home .main_nav_list li.current > a::before {
	transform: scale(0, 1);
}

.home .main_nav_list li > a:hover::before {
	transform: scale(1, 1);

	transform-origin: left top;
}

/*--------------------------------------------------------------
# Sp Main Nav - スマホメインナビ
--------------------------------------------------------------*/
#sp_nav_btn {
	display: none;
}

/*--------------------------------------------------------------
	# Sp Main Nav - スマホメインナビ
	--------------------------------------------------------------*/
.drawer_open {
	position: absolute;
	top: 0;
	right: 0;
	cursor: pointer;
}

.sp_nav .drawer_open {
	top: 1.5rem;
}

.drawer_open {
	z-index: 2;
	width: 72px;
	height: 72px;
	transition: background 0.5s, transform 0.5s cubic-bezier(0.76, 0.52, 0.29, 1.25);
}

.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%;
	border-bottom: 2px solid #333333;
	content: '';
	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 #ffffff;
}

.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 {
	opacity: 1;
	left: 0;
}

#sp_nav_btn:checked ~ .sp_nav {
	opacity: 1;
	left: 0;
}

.sp_nav {
	opacity: 0;
	position: fixed;
	top: 0;
	left: -100%;
	z-index: 999;
	width: 100%;
	height: 100vh;
	padding-bottom: 6rem;
	background-color: #e88baa;
	transition: left 0.7s, opacity 0.7s;
}

.sp_nav ul {
	text-align: right;
}

.sp_nav ul li {
	margin-bottom: 3rem;
}

.sp_nav_list li a {
	position: relative;
	color: #ffffff;
	font-weight: bold;
	font-size: 2.2rem;
}

.sp_nav_list li > a::before {
	position: absolute;
	right: 0;
	bottom: -1rem;
	transform: scale(0, 1);
	width: 100%;
	height: 5px;
	margin: 0 auto;
	background: linear-gradient(90deg, #f5e346 0%, #ffc107 100%);
	content: '';
	transition: transform 0.4s;

	transform-origin: right top;
}

.sp_nav_list li.current > a::before {
	transform: scale(1, 1);
}

.sp_nav_list li > a:hover::before {
	transform: scale(1, 1);

	transform-origin: left top;
}

.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-weight: normal;
	font-size: 1.4rem;
}

.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;
	background-color: rgb(255 255 255 / 30%);
	content: '';
}

.sp_nav_in {
	max-width: 1080px;
	margin: 0 auto;
	padding: 10rem 6rem;
	color: #ffffff;
}

.sp_nav_l {
	width: 50%;
}

.sp_nav_r {
	width: 50%;
}

.sp_nav_l .site_ttl {
	display: inline-block;
	margin-bottom: 2rem;
	padding: 2rem;
	border-radius: 1rem;
	background-color: #ffffff;
}

.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;
	border: none;
}

.home .sp_nav_list li.current > a::before {
	transform: scale(0, 1);
}

.home .sp_nav_list li > a:hover::before {
	transform: scale(1, 1);

	transform-origin: left top;
}

.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: 6.8rem;
}

.site_mv {
	flex-direction: row-reverse;
	position: relative;
}

.mv_cc {
	justify-content: center;
	align-items: center;
	width: 20%;
	font-weight: bold;
	font-size: 5rem;
	line-height: 1.5;
	font-family: 'Noto Sans JP';

	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
}

.mv_cc_in {
	flex-direction: column;
	align-items: flex-start;
}

.mv_cc_in > span {
	position: relative;
	z-index: 28;
}

.mv_cc_in > span::after {
	position: absolute;
	top: 0;
	right: 1.4rem;
	z-index: 1;
	width: 1.2rem;
	height: 100%;
	background-color: rgb(245 227 70 / 70%);
	content: '';
}

.mv_cc_in > span:last-child::after {
	height: 90%;
}

.mv_cc_in > span > span {
	position: relative;
	z-index: 2;
}

.mv_img {
	position: relative;
	width: 80%;
	height: calc(100vh - 8.3rem);
	margin-left: auto;
	overflow: hidden;
	border-radius: 30rem 0 0;
}

.mv_img > img {
	width: 100%;
	height: 100%;

	-o-object-fit: cover;
	object-fit: cover;
}

.mv_info {
	position: absolute;
	bottom: 5rem;
	left: 3rem;
	padding: 3rem;
	background-color: #ffffff;
}

.mv_info > h2 {
	font-style: italic;
	font-weight: normal;
	font-size: 1.6rem;
}

.mv_info_list {
	font-size: 1.4rem;
}

.mv_info_list li > a {
	display: flex;
	align-items: center;
	color: #e88baa;
}

.mv_info_date {
	font-weight: bold;
}

.mv_info_cat {
	min-width: 8rem;
	margin: 0 1.5rem;
	padding: 0.3rem 0.5rem;
	border: 1px solid #e88baa;
	border-radius: 0.3rem;
	font-size: 1.2rem;
	line-height: 1;
	text-align: center;
}

.mv_info_ttl {
	color: #333333;
	font-weight: normal;
	font-size: 1.4rem;
}

.scroll_link {
	position: absolute;
	top: 0;
	left: 0;
	color: #e88baa;
	font-size: 1.2rem;
	line-height: 1;

	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
}

.scroll_link::before {
	display: block;
	position: absolute;
	top: 4.5rem;
	right: 0;
	left: 0;
	width: 1px;
	height: 75px;
	margin: auto;
	background-color: #e88baa;
	content: '';
}

.scroll_link::after {
	display: block;
	position: absolute;
	top: 4.5rem;
	right: 0;
	left: 0;
	width: 8px;
	height: 8px;
	margin: auto;
	border-radius: 50%;
	background-color: #e88baa;
	content: '';
	animation-name: scrollBar;
	animation-duration: 2s;
	animation-timing-function: linear;
	animation-delay: 0s;
	animation-iteration-count: infinite;
	animation-direction: normal;

	-webkit-animation-name: scrollBar;
	-webkit-animation-duration: 2s;
	-webkit-animation-timing-function: linear;
	-webkit-animation-delay: 0s;
	-webkit-animation-iteration-count: infinite;
	-webkit-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);
		}
	}
}

.btn_dl {
	position: absolute;
	top: 2rem;
	right: 0;
}

.btn_dl > a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 1rem 1.33rem 1rem 1.53rem;
	background-color: #f5e346;
	color: #333333;
	font-weight: bold;
	line-height: 1;
}

.btn_dl > a span {
	margin-right: 0.5rem;

	-webkit-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;
}

.about_col_l {
	justify-content: center;
	align-items: center;
	position: relative;
	width: 50%;
	font-weight: bold;
	font-size: 3.2rem;
}

.about_col_r {
	width: 50%;
}

.about_col_l::before,
.about_col_l::after {
	position: absolute;
	width: 6.5rem;
	height: 4rem;
	content: '';
}

.about_col_l::before {
	top: 0;
	left: 0;
	border-top: 2px solid;
	border-left: 2px solid;
	border-image-source: linear-gradient(90deg, #e88baa, #f5e346);
	border-image-slice: 2 0 0 2;
}

.about_col_l::after {
	right: 0;
	bottom: 0;
	border-right: 2px solid;
	border-bottom: 2px solid;
	border-image-source: linear-gradient(90deg, #f5e346, #e88baa);
	border-image-slice: 0 2 2 0;
}

.about_col_l > p {
	display: inline-block;
}

.about_ttl {
	margin-bottom: 2rem;
	font-size: 2.2rem;
	line-height: 1.5;
}

.about_ttl > img {
	display: inline-block;
	height: 35px;
	margin-right: 1rem;
}

.about_col_r > p:not(:last-child) {
	margin-bottom: 2rem;
}

.about_cc {
	background-color: #e88baa;
	color: #ffffff;
	font-weight: bold;
	font-size: 14.4rem;
	text-align: center;
}

.about_cc > p {
	position: relative;
	padding: 6rem;
	color: rgb(255 255 255 / 40%);
	line-height: 1;
}

.about_cc > p > span {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: #ffffff;
	font-size: 4.8rem;
}

/*--------------------------------------------------------------
# Feature - リフライの7つの特徴
--------------------------------------------------------------*/
.main_ttl_cont {
	position: relative;
	padding-top: 18rem;
}

.main_ttl_cont::before {
	position: absolute;
	top: 6rem;
	right: 0;
	left: 0;
	width: 2px;
	height: 60px;
	margin: 0 auto;
	background: linear-gradient(#e88baa, #f5e346);
	content: '';
}

.main_ttl {
	margin-bottom: 6rem;
	font-size: 3.2rem;
	line-height: 1;
	text-align: center;
}

.main_ttl > .ttl_blue {
	font-size: 4.8rem;
}

.main_ttl::after {
	opacity: 0.1;
	position: absolute;
	top: 6rem;
	left: 63%;
	transform: translateX(-50%);
	font-size: 6.4rem;
	line-height: 1;
	content: attr(data-title);
}

.feature_cont {
	padding-bottom: 0;
}

.feature_cont_in {
	flex-wrap: wrap;
	counter-reset: feature_num;

	gap: 6rem 3rem;
}

.feature_cont_col {
	position: relative;
	width: calc(50% - 1.5rem);
	padding: 4rem 3rem;
	border-radius: 1rem;
	box-shadow: 0 5px 30px rgb(52 163 221 / 20%);
}

.feature_cont_col:nth-child(n + 5) {
	width: calc((100% / 3) - 3rem);
}

.feature_cont_col::before {
	position: absolute;
	top: -5rem;
	right: 0;
	left: 0;
	margin: 0 auto;
	color: #e88baa;
	font-weight: bold;
	font-size: 4.8rem;
	text-align: center;
	content: counter(feature_num);
	counter-increment: feature_num;
}

.feature_img {
	margin-bottom: 4rem;
}

.feature_ttl {
	font-size: 2.2rem;
	text-align: center;
}

.feature_img > img {
	height: 343px;
	margin: 0 auto;
}

.feature_cont_col:nth-child(n + 5) > .feature_img > img {
	height: 163px;
}

/*--------------------------------------------------------------
# Guide - ご利用案内
--------------------------------------------------------------*/
.guide_cont .main_ttl::after {
	left: 40%;
}

.guide_cont .about_cont_in {
	flex-direction: row;
	margin-bottom: 8rem;
}

.guide_cont .about_ttl > span {
	font-size: 3.2rem;
}

.guide_list {
	border-top: 2px dotted #e88baa;
	border-bottom: 2px dotted #e88baa;

	-moz-column-gap: 8rem;
	column-gap: 8rem;
}

.guide_list:last-child {
	border-top: none;
}

.guide_list_col {
	width: 50%;
}

.guide_list:last-child .guide_list_col {
	width: 100%;
}

.guide_list_col > div {
	display: flex;
	flex-wrap: wrap;
	border-bottom: 2px dotted #e88baa;
}

.guide_list_col dt {
	display: flex;
	align-items: center;
	width: 33%;
	font-weight: bold;
}

.guide_list:last-child .guide_list_col dt {
	width: 15.44%;
}

.guide_list_col dd {
	width: 67%;
	padding: 4rem 0;
}

.guide_list:last-child .guide_list_col dd {
	width: 84.56%;
}

.guide_list_col > div:last-child {
	border: none;
}

.guide_menu {
	background-color: #e88baa;
}

.guide_menu_list {
	justify-content: space-between;
	padding: 6rem;

	gap: 8rem;
}

.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;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 215px;
	height: 215px;
	margin: auto;
	border-radius: 50%;
	background-color: #ffffff;
	content: '';
}

.guide_menu_list > li > div > img {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 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 {
	display: flex;
	position: relative;
	z-index: 2;
	color: #e88baa;
	font-style: italic;
	font-weight: normal;
	font-size: 1.6rem;

	-webkit-writing-mode: vertical-lr;
	writing-mode: vertical-lr;
}

.gallery_cont_in {
	width: 90%;
	overflow: hidden;
}

.gallery_ttl::after {
	display: block;
	position: relative;
	bottom: -1rem;
	left: 1.5rem;
	width: 4rem;
	height: 2rem;
	border-bottom: 1px solid;
	border-left: 1px solid;
	border-image: linear-gradient(90deg, #e88baa, #f5e346);
	border-image-slice: 0 0 1 1;
	content: '';

	-o-border-image: linear-gradient(90deg, #e88baa, #f5e346);
}

.gallery_cont_in .gallery_img {
	position: relative;
	padding-top: 100%;
	overflow: hidden;
}

.gallery_cont_in .gallery_img_link {
	display: block;
	position: absolute;
	top: 0;
	height: 100%;
}

.gallery_cont_in .gallery_img_link > img {
	width: 100%;
	height: 100%;

	-o-object-fit: cover;
	object-fit: cover;
}

/*--------------------------------------------------------------
# News - お知らせ
--------------------------------------------------------------*/
.news_cont {
	flex-direction: row-reverse;
	padding-bottom: 0;

	-moz-column-gap: 6rem;
	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 {
	opacity: 0.1;
	margin-bottom: 2rem;
	font-size: 6.4rem;
	content: attr(data-title);
}

.news_cont_col_l > .btn {
	margin-top: 6rem;
}

.news_cont_list {
	flex-wrap: wrap;
	border-top: 1px solid rgb(66 65 66 / 10%);
	border-bottom: 1px solid rgb(66 65 66 / 10%);

	-moz-column-gap: 3rem;
	column-gap: 3rem;
}

.news_cont_list > article {
	display: flex;
	width: calc(50% - 1.5rem);
}

.news_cont_list > article > a {
	display: flex;
	flex-direction: column;
	width: 100%;
	padding: 3rem 0;
	border-bottom: 1px solid rgb(66 65 66 / 10%);
}

.news_meta > time {
	margin-right: 1.5rem;
	font-weight: bold;
}

.news_meta > span {
	min-width: 8rem;
	padding: 0.3rem 0.5rem;
	border: 1px solid #e88baa;
	border-radius: 0.3rem;
	font-size: 1.2rem;
	text-align: center;
}

.news_meta {
	display: flex;
	align-items: center;
	margin-bottom: 1.5rem;
	color: #e88baa;
	line-height: 1;
}

.news_cont_list_ttl {
	font-weight: normal;
	font-size: 1.6rem;
}

.news_cont_list > article:nth-last-child(-n + 2) > a {
	border: none;
}

.userblog_cont {
	flex-direction: row;
}

/*--------------------------------------------------------------
# Faq - よくある質問
--------------------------------------------------------------*/
.faq_cont .main_ttl::after {
	left: 57%;
}

.faq_cont_in {
	border: 2px solid rgb(66 65 66 / 10%);
}

.faq_cont_col {
	width: 26%;
	border-left: 2px solid rgb(66 65 66 / 10%);
}

.faq_cont_col:first-child {
	width: 23%;
	padding: 3rem;
	border: none;
}

.faq_txt {
	margin-bottom: 3rem;
	font-weight: bold;
}

.faq_cont_col > a {
	align-items: center;
	position: relative;
	padding: 3rem;
}

.faq_ttl {
	font-size: 1.6rem;
}

.faq_cont_col > a::before {
	position: absolute;
	top: 3rem;
	left: 3rem;
	width: 45px;
	height: 45px;
	border-radius: 50%;
	background-color: #e88baa;
	color: #f5e346;
	font-weight: bold;
	font-size: 2.4rem;
	line-height: 45px;
	text-align: center;
	content: 'Q';
}

.faq_cont_col > a::after {
	position: absolute;
	right: 3rem;
	bottom: 3rem;
	transform: skew(45deg);
	width: 40px;
	height: 8px;
	border-right: 1px solid #e88baa;
	border-bottom: 1px solid #e88baa;
	content: '';
}

/*--------------------------------------------------------------
# Instagram - インスタグラム
--------------------------------------------------------------*/
.insta_cont .main_ttl::after {
	left: 66.5%;
}

.insta_list {
	display: flex;
	flex-wrap: wrap;
	margin-top: 35px;
}

.insta_list > a {
	position: relative;
	width: 25%;
}

.insta_list > a::before {
	display: block;
	padding-top: 100%;
	content: '';
}

.insta_list > a > img {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	margin: auto;

	-o-object-fit: cover;
	object-fit: cover;
}

.like_count {
	position: absolute;
	right: 0.8rem;
	bottom: 0;
	z-index: 1;
	color: #ffffff;
}

.like_count::before {
	margin-right: 0.5rem;
	font-weight: bold;
	font-family: 'Font Awesome 5 Free';
	content: '\f004';
}

/*--------------------------------------------------------------
# Access - アクセス
--------------------------------------------------------------*/
.access_cont {
	background-color: #e88baa;
	color: #ffffff;
}

.access_cont_in {
	padding: 0 6rem;
}

.access_cont .news_ttl::after {
	opacity: 0.4;
}

.access_cont_col_l {
	width: 34%;
	padding: 6rem 0;
}

.access_cont_col_r {
	width: 66%;
}

.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_txt {
	margin-bottom: 6rem;
	font-weight: bold;
	font-size: 3.2rem;
	line-height: 1;
	text-align: center;
}

.contact_txt > p:first-of-type {
	margin-bottom: 2rem;
	color: #e88baa;
}

.contact_txt > p:last-of-type {
	display: inline-block;
	position: relative;
}

.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;
	background-color: rgb(245 227 70 / 70%);
	content: '';
}

.contact_cont_list {
	justify-content: space-between;

	-moz-column-gap: 3rem;
	column-gap: 3rem;
}

.contact_cont_list > li {
	width: 100%;
	padding: 3rem;
	border: 4px solid #e88baa;
	border-radius: 1rem;
	text-align: center;
}

.contact_ttl {
	margin-bottom: 3rem;
	font-weight: bold;
	font-size: 2.2rem;
}

.contact_img > img {
	height: 163px;
	margin: 0 auto;
}

.contact_cont_list > li > .btn {
	margin-top: 4rem;
}

/*--------------------------------------------------------------
# Fixed Footer Pc - フッターナビ（固定/PC）
--------------------------------------------------------------*/
.fixed_footer {
	position: fixed;
	bottom: 0;
	z-index: 98;
	width: calc(100% - 1.5rem);
	background-color: #e794b0;
}

.fixed_footer.is_fixed {
	position: static;
	width: 100%;
}

.fixed_footer_sns {
	margin-right: 2rem;

	-moz-column-gap: 1.5rem;
	column-gap: 1.5rem;
}

.fixed_footer_sns > li > a {
	color: #ffffff;
	font-size: 2rem;
}

.fixed_footer_addr {
	align-items: center;
	line-height: 1;
}

.fixed_footer_addr > p {
	margin-right: 1rem;
	color: #ffffff;
	font-size: 1.4rem;
}

.fixed_footer_addr > a {
	padding: 0.5rem 1rem;
	border-radius: 0.3rem;
	background-color: #ffffff;
	color: #e88baa;
	font-size: 1.2rem;
}

.fixed_footer_addr > a::after {
	margin-left: 0.3rem;
	font-weight: bold;
	font-family: 'Font Awesome 5 Free';
	content: '\f35d';
}

.fixed_footer_in {
	justify-content: space-between;
	padding: 0 6rem;
}

.fixed_foot_nav_pc > li > a {
	display: flex;
	align-items: center;
	padding: 0.9rem 2rem;
	background-color: #f5e346;
	font-weight: bold;
}

.fixed_foot_nav_pc > li:first-child > a {
	padding: 0.3rem 2rem;
	background-color: transparent;
	color: #f5e346;
	font-size: 2.2rem;
}

.fixed_foot_nav_pc > li:nth-child(2) > a {
	border-right: 1px solid #ffffff;
}

.fixed_foot_nav_pc > li > a > i {
	margin-right: 0.5rem;
}

/*--------------------------------------------------------------
# Footer - フッター
--------------------------------------------------------------*/
.site_footer {
	position: relative;
}

.footer_in_wrap {
	background-color: #e88baa;
	color: #ffffff;
	font-size: 1.4rem;
}

.footer_in {
	padding: 5rem 6rem 3.5rem;
}

.footer_in_l {
	width: 33%;
}

.footer_in_r {
	position: relative;
	width: 67%;
}

.footer_in_name {
	margin-bottom: 2rem;
	font-weight: bold;
}

.footer_in_hour {
	flex-wrap: wrap;
}

.footer_in_hour > dt {
	width: 23%;
}

.footer_in_hour > dd {
	width: 77%;
}

.footer_nav_list {
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 3rem;
	padding-bottom: 3rem;
	border-bottom: 1px solid rgb(255 255 255 / 40%);

	-moz-column-gap: 3rem;
	column-gap: 3rem;
}

.footer_nav a {
	color: #ffffff;
}

.footer_nav_list > li > a {
	font-weight: bold;
}

.footer_sub_nav_list {
	font-size: 1.2rem;

	-moz-column-gap: 3rem;
	column-gap: 3rem;
}

.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;
}

.breadcrumb_list li i {
	margin: 0 0.5rem;
}

.breadcrumb_list li a {
	text-decoration: underline;
}

/*--------------------------------------------------------------
# Single Breadcrumb - 投稿：パンくずリスト
--------------------------------------------------------------*/
.sgl_area .breadcrumb {
	position: absolute;
	top: 10rem;
	right: 0;
	z-index: 1;
	color: #ffffff;
}

.sgl_area .breadcrumb_list li a {
	color: #ffffff;
}

/*--------------------------------------------------------------
# Page/Archive:Common - 固定ページ・アーカイブ：共通
--------------------------------------------------------------*/
.page_ttl {
	position: relative;
	margin-bottom: 6rem;
	padding: 8rem 16rem;
	font-weight: bold;
	font-size: 3.2rem;
	line-height: 1;
	text-align: center;
}

.page_ttl::before,
.page_ttl::after {
	position: absolute;
	width: 6.5rem;
	height: 4rem;
	content: '';
}

.page_ttl::before {
	top: 0;
	left: 0;
	border-top: 2px solid;
	border-left: 2px solid;
	border-image-source: linear-gradient(90deg, #e88baa, #f5e346);
	border-image-slice: 2 0 0 2;
}

.page_ttl::after {
	right: 0;
	bottom: 0;
	border-right: 2px solid;
	border-bottom: 2px solid;
	border-image-source: linear-gradient(90deg, #f5e346, #e88baa);
	border-image-slice: 0 2 2 0;
}

.page_ttl > .ttl_jp::after {
	opacity: 0.1;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 9.6rem;
	line-height: 1;
	content: attr(data-title);
}

/*--------------------------------------------------------------
# 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;
}

.news_cats_list_wrap a {
	display: block;
	padding: 0.8rem 3rem;
	border-radius: 3rem;
	background-color: #ebebeb;
	color: #e88baa;
	line-height: 1;
	text-align: center;
}

.news_cats_list_wrap .current-cat a {
	background-color: #e88baa;
	color: #ffffff;
}

.news_cats_list {
	flex-wrap: wrap;
	width: 100%;

	gap: 1rem;
}

.news_cats_list > li {
	width: calc((100% / 4) - 0.75rem);
}

/*--------------------------------------------------------------
# Archive:Gallery - アーカイブ：事業所紹介
--------------------------------------------------------------*/
.gallery_list {
	display: grid;

	grid-auto-rows: 18rem;
	grid-gap: 1rem;
	grid-template-columns: repeat(auto-fill, minmax(25rem, 1fr));
}

.gallery_list_img {
	position: relative;
	overflow: hidden;
	text-align: center;
}

.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 {
	transform: scale(1);
	width: 100%;
	height: 100%;
	transition: all 0.3s ease;

	-o-object-fit: cover;
	object-fit: cover;
}

.gallery_list_img_link:hover > img {
	transform: scale(1.2);
}

.gallery_list_img_cap {
	position: absolute;
	bottom: 0;
	width: 100%;
	background-color: rgb(255 255 255 / 70%);
	color: #333333;
	font-size: 1.4rem;
}

/*--------------------------------------------------------------
# Archive:FAQ - アーカイブ：よくある質問
--------------------------------------------------------------*/
.faq_list > div {
	border-radius: 1rem;
	box-shadow: 0 5px 30px rgb(52 163 221 / 20%);
}

.faq_list input[type='checkbox'] {
	display: none;
}

.faq_list dt > label {
	display: block;
	position: relative;
	padding: 2rem 6.5rem;
	overflow: hidden;
	font-weight: bold;
	font-size: 1.8rem;
	cursor: pointer;
}

.faq_list dd {
	opacity: 0;
	position: relative;
	height: 0;
	margin-bottom: 2rem;
	padding: 0 3rem 0 6.5rem;
	overflow: hidden;
	transition: 0.5s;
}

.faq_list input[type='checkbox']:checked ~ dd {
	opacity: 1;
	height: auto;
	padding: 0 3rem 3rem 6.5rem;
}

.faq_list dt > label::before,
.faq_list dd::before {
	position: absolute;
	top: 0;
	left: 2rem;
	color: #e88baa;
	font-weight: normal;
	font-size: 3.4rem;
	content: 'Q.';
}

.faq_list dd::before {
	opacity: 0;
	top: -2rem;
	color: #f5e346;
	content: 'A.';
	transition: 0.5s;
}

.faq_list input[type='checkbox']:checked ~ dd::before {
	opacity: 1;
}

.faq_list dt > label::after {
	position: absolute;
	top: 50%;
	right: 3rem;
	transform: translateY(-50%);
	color: #e88baa;
	font-weight: bold;
	font-size: 2.2rem;
	font-family: 'Font Awesome 5 Free';
	content: '\f078';
	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;
	border-radius: 1rem;
	background-color: rgb(66 65 66 / 10%);
}

.staff_num {
	flex-direction: column;
	align-items: center;
	position: absolute;
	top: -3rem;
	left: 1rem;
	font-weight: bold;
	line-height: 1;
}

.staff_num > span:first-child {
	margin-bottom: -0.5rem;
	font-size: 1.4rem;
}

.staff_num > span:last-child {
	color: #e88baa;
	font-size: 4.8rem;
}

.staff_img_in > img {
	margin: 0 auto;
	padding: 10rem;
}

.staff_img_in::before {
	position: absolute;
	top: 0;
	left: 0;
}

.staff_job {
	position: absolute;
	right: -3rem;
	bottom: 3rem;
	padding: 0 2rem;
	background: #f5e346;
	font-size: 2rem;
}

.staff_info {
	width: calc(55% - 3.5rem);
}

.staff_meta {
	justify-content: space-between;
	align-items: center;
	position: relative;
	margin-bottom: 3rem;
	padding-bottom: 0.5rem;
	padding-left: 3.5rem;
	border-bottom: 1px solid rgb(66 65 66 / 10%);
	font-weight: bold;
	font-size: 2rem;
	line-height: 1.5;
}

.staff_meta::before {
	position: absolute;
	left: 0;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	background: linear-gradient(135deg, #e88baa, #f5e346);
	content: '';
}

.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;
	margin-bottom: 6rem;
	font-size: 1.4rem;

	gap: 1.5rem;
}

.staff_info_list > div {
	display: flex;
	width: calc(50% - 0.75rem);

	gap: 1.5rem;
}

.staff_info_list dt {
	width: calc(50% - 0.75rem);
	border: 1px solid #34a3e1;
	border-radius: 0.3rem;
	color: #34a3e1;
	text-align: center;
}

.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;
	border: 1px solid #34a3e1;
	border-radius: 0 0.3rem 0.3rem 0.3rem;
	font-weight: bold;
	font-size: 1.4rem;
}

.staff_msg > dt {
	position: absolute;
	top: -2.8rem;
	left: -0.1rem;
	width: calc(25% - 1.125rem);
	border-radius: 0.3rem 0.3rem 0 0;
	background-color: #34a3e1;
	color: #ffffff;
	font-size: 1.4rem;
	text-align: center;
}

.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;
	justify-content: center;
	align-items: 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;
	border-radius: 50%;
	background-color: #ebebeb;
	color: #e88baa;
	line-height: 40px;
	text-align: center;
}

.pagination ul li span {
	background-color: #e88baa;
	color: #ffffff;
}

/*--------------------------------------------------------------
# Single:News - 投稿：お知らせ
--------------------------------------------------------------*/
.sgl_news_header {
	margin-bottom: 6rem;
}

.sgl_news_ttl {
	margin-bottom: 3rem;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid rgb(66 65 66 / 10%);
	font-size: 2.4rem;
}

.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 {
	margin-bottom: 2.5rem;
	padding-left: 2.5rem;
}

.sgl_news_content a,
.faq_list dd a {
	color: #e88baa;
	text-decoration: underline;
}

.sgl_pagination {
	align-items: center;
	margin-top: 6rem;
	padding-top: 6rem;
	border-top: 1px solid rgb(66 65 66 / 10%);
}

.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: #e88baa;
	content: '\f060';
}

.sgl_pagination a[rel='next']:last-child::after {
	margin-left: 0.5rem;
	color: #e88baa;
	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;
}

.contact_main .contact_ttl::before {
	position: absolute;
	top: 27px;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	margin: auto;
	background-color: rgb(66 65 66 / 10%);
	content: '';
}

.contact_main .contact_ttl span {
	display: inline-block;
	position: relative;
	z-index: 1;
	padding: 0 2rem;
	background-color: #ffffff;
	font-size: 2.2rem;
}

.contact_main .contact_ttl span > i {
	display: block;
	margin-bottom: 0.5rem;
	color: #e88baa;
}

.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 {
	align-items: center;
	position: relative;
	padding: 0 3rem;
	border-right: 1px solid #333333;
	font-weight: bold;
	font-size: 2.4rem;
}

.contact_tel_link::before {
	position: absolute;
	right: 0;
	bottom: 1rem;
	left: 0;
	width: 73%;
	height: 1px;
	margin: auto;
	background-color: #333333;
	content: '';
}

.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: 1px solid rgb(66 65 66 / 10%);
}

.wpcf7 .form_content .row_privacy,
.wpcf7 .form_content .row_submit {
	margin-top: 2rem;
	border-top: 0;
	text-align: center;
}

.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 {
	display: inline-block;
	position: absolute;
	top: -2px;
	left: 0;
	padding: 0 0.5rem;
	background-color: rgb(66 65 66 / 10%);
	color: #e88baa;
	font-weight: normal;
	font-size: 1.2rem;
	text-align: center;
	content: '任意';
}

.wpcf7 .form_content .form_label.is_required label::after {
	background-color: #e88baa;
	color: #ffffff;
	content: '必須';
}

.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;
	border: none;
	background-color: rgb(66 65 66 / 10%);

	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.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']::-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']::-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']::-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']::-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'] {
	border: none;
	background: transparent;
}

.wpcf7 .form_content input[type='text'][readonly='readonly']:focus-visible {
	outline: none;
}

.wpcf7 .form_content input[type='number'] {
	padding: 1rem 2rem;
	border: none;
	background-color: rgb(66 65 66 / 10%);

	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: 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 {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 20px;
	height: 20px;
	background-color: rgb(66 65 66 / 10%);
	content: '';
}

.wpcf7 .form_content input[type='checkbox'] + span::after {
	display: block;
	opacity: 0;
	position: absolute;
	top: 1px;
	left: 7px;
	transform: rotate(40deg);
	width: 7px;
	height: 15px;
	content: '';
	transition: opacity 0.25s ease;
}

.wpcf7 .form_content input[type='checkbox']:checked + span::before {
	opacity: 1;
	border: 2px solid #e88baa;
	background-color: #e88baa;
	transition: opacity 0.25s ease;
}

.wpcf7 .form_content input[type='checkbox']:checked + span::after {
	opacity: 1;
	border-right: 3px solid #ffffff;
	border-bottom: 3px solid #ffffff;
	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;
	border: none;
	border-radius: 50%;
	background-color: rgb(66 65 66 / 10%);
	content: '';
	transition: opacity 0.25s ease;
}

.wpcf7 .form_content input[type='radio'] + span::after {
	opacity: 0;
	position: absolute;
	content: '';
	transition: opacity 0.25s ease;
}

.wpcf7 .form_content input[type='radio']:checked + span::after {
	opacity: 1;
	top: 4px;
	left: 4px;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background-color: #e88baa;
	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;
	border: none;
	background-color: rgb(66 65 66 / 10%);
	cursor: pointer;

	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.wpcf7 .form_content select::-ms-expand {
	display: none;
}

.wpcf7 .form_content .select_wrap::after {
	display: block;
	position: absolute;
	top: 50%;
	right: 2rem;
	transform: rotate(45deg) translateY(-50%);
	width: 1rem;
	height: 1rem;
	margin-top: -0.3rem;
	border-right: 2px solid #e88baa;
	border-bottom: 2px solid #e88baa;
	content: '';

	transform-origin: 50% 0;
	pointer-events: none;
}

.wpcf7 .form_content .number_wrap::after {
	position: absolute;
	top: 50%;
	right: -2rem;
	transform: translateY(-50%);
	content: '名';
}

.wpcf7 .form_content .submit_btn {
	position: relative;
	width: 300px;
	margin: 0 auto;
}

.wpcf7 .form_content input[type='submit'] {
	width: 300px;
	padding: 1rem;
	border: 2px #e88baa solid;
	border-radius: 3.5rem;
	background-color: #e88baa;
	color: #ffffff;
	font-size: 1.8rem;
	cursor: pointer;
	transition: all 0.3s ease;

	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.wpcf7 .form_content input[type='submit']:disabled {
	border: 2px solid rgb(66 65 66 / 10%) !important;
	box-shadow: none !important;
	background-color: rgb(66 65 66 / 10%) !important;
	color: #9e9e9e !important;
	cursor: not-allowed;
}

.wpcf7 .form_content input[type='submit']:hover {
	background-color: #ffffff;
	color: #e88baa;
	transition: all 0.3s ease;
}

.wpcf7-not-valid-tip {
	color: #f44336;
	font-size: 1.4rem;
}

.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;
	color: #f44336;
	font-size: 1.2rem;
}

/*--------------------------------------------------------------
# Page:Reserve - 固定ページ：ご予約
--------------------------------------------------------------*/
.hasDatepicker {
	margin-bottom: 15px !important;
}

.hasDatepicker .ui-datepicker {
	width: 100% !important;
}

.hasDatepicker .ui-widget {
	font-family: inherit !important;
}

.hasDatepicker .ui-widget-header {
	border: medium none !important;
	background: #d4d4d4 none repeat scroll 0 0 !important;
}

.hasDatepicker .ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default {
	background: #ffffff 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 {
	border: 1px solid #f0beb6;
	background: #ffe0e0 none repeat scroll 0 0 !important;
	color: #363636;
}

.hasDatepicker .ui-datepicker-today .ui-state-highlight {
	background: #fbf9ee none repeat scroll 0 0 !important;
}

.hasDatepicker .ui-widget-content {
	border: medium none;
	background: #efefef none repeat scroll 0 0 !important;
}

.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 {
	list-style: disc;
	margin-bottom: 2.5rem;
	padding-left: 2.5rem;
}

/*--------------------------------------------------------------
	# Page:Company - 運営会社
	--------------------------------------------------------------*/
.page_sub_ttl {
	position: relative;
	margin-bottom: 3rem;
	padding-left: 3.5rem;
	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;
	border-radius: 50%;
	background: linear-gradient(135deg, #e88baa, #f5e346);
	content: '';
}

.company_list {
	margin-bottom: 6rem;
	border: 1px solid rgb(66 65 66 / 10%);
	border-radius: 1rem;
}

.company_list:last-child {
	margin-bottom: 2rem;
}

.company_list > div {
	display: flex;
}

.company_list dt {
	display: flex;
	align-items: center;
	width: 30%;
	padding: 4rem;
	border-bottom: 1px solid #ffffff;
	background-color: rgb(66 65 66 / 10%);
	font-weight: bold;
}

.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: 1px solid rgb(66 65 66 / 10%);
}

.company_list > div:last-child dd {
	border-bottom: none;
}

/*--------------------------------------------------------------
# Page:Guide - 固定ページ：ご利用案内
--------------------------------------------------------------*/
.page_main_ttl {
	position: relative;
	margin-bottom: 6rem;
	padding-top: 8rem;
	font-size: 2.2rem;
	line-height: 1;
	text-align: center;
}

.page_main_ttl::before {
	position: absolute;
	top: 4.5rem;
	right: 0;
	left: 0;
	width: 30px;
	height: 2px;
	margin: 0 auto;
	background: linear-gradient(90deg, #e88baa, #f5e346);
	content: '';
}

.page_main_ttl::after {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	margin: 0 auto;
	color: #e88baa;
	font-size: 1.6rem;
	content: attr(data-title);
}

.guide_desc {
	margin-bottom: 3rem;
}

.target_books > li {
	display: flex;
	width: calc(100% / 3);
	padding: 0 3rem;
	border-left: 1px solid rgb(66 65 66 / 10%);
}

.target_books > li:last-child {
	border-right: 1px solid rgb(66 65 66 / 10%);
}

.target_books {
	counter-reset: target_num;
}

.target_books > li > div {
	padding: 3rem 0;
	border-top: 1px solid rgb(66 65 66 / 10%);
	border-bottom: 1px solid rgb(66 65 66 / 10%);
}

.target_ttl {
	margin-bottom: 1.5rem;
	padding-bottom: 1rem;
	border-bottom: 2px dotted #e88baa;
	font-weight: bold;
	font-size: 1.8rem;
	line-height: 1;
}

.target_ttl::before {
	margin-right: 1rem;
	color: #e88baa;
	font-size: 3.2rem;
	content: counter(target_num);
	counter-increment: target_num;
}

.target_terms {
	padding: 3rem 3rem 0;
	border-right: 1px solid rgb(66 65 66 / 10%);
	border-left: 1px solid rgb(66 65 66 / 10%);
}

.target_terms > li {
	position: relative;
	margin-bottom: 1.5rem;
	padding-left: 1.5rem;
}

.target_terms > li::before {
	position: absolute;
	top: 1.2rem;
	left: 0;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: #e88baa;
	content: '';
}

.target_terms > li:last-child {
	margin-bottom: 0;
	padding-bottom: 3rem;
	border-bottom: 1px solid rgb(66 65 66 / 10%);
}

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

.guide_area > p > span {
	display: block;
	font-weight: bold;
	font-size: 1.8rem;
}

.guide_flow {
	margin: 0;
}

.flow_cont {
	flex-direction: column;
	counter-reset: flow_num;

	row-gap: 3rem;
}

.flow_item {
	padding: 1.5rem;
	background-image: radial-gradient(#e88baa 20%, transparent 20%),
		radial-gradient(#e88baa 20%, transparent 20%);
	background-position: 0 0, 6px 6px;
	background-size: 3px 3px;
	background-color: #ffffff;
}

.flow_item_in {
	padding: 4rem 3rem;
	background-color: #ffffff;
}

.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;
	color: #e88baa;
	font-size: 6.4rem;
	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;
}

.flow_btn > .btn {
	width: 50%;
	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 {
	margin-bottom: 6rem;

	gap: 6rem;
}

.access_map_l {
	width: 40%;
	font-size: 1.4rem;
}

.access_map_r {
	width: 60%;
}

.access_map_l > div {
	display: flex;
	flex-wrap: wrap;
	border-bottom: 1px solid rgb(66 65 66 / 10%);
}

.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 {
	margin-bottom: 3rem;

	gap: 6rem;
}

.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-collapse: collapse;
	border-spacing: 0;
}

.time_table tr {
	border-bottom: 1px solid rgb(66 65 66 / 10%);
}

.time_table td,
.time_table th {
	padding: 2rem;
	border: none;
	text-align: center;
	vertical-align: middle;
}

.time_table th.time {
	width: 30%;
	text-align: left;
	white-space: nowrap;
}

.time_table thead th {
	background-color: rgb(66 65 66 / 10%);
	font-weight: bold;
}

.time_table tbody th {
	font-weight: normal;
	font-size: 1.8rem;
}

.time_table tbody td {
	color: #e88baa;
}

.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 {
	padding: 1.5rem;
	background-image: radial-gradient(#e88baa 20%, transparent 20%),
		radial-gradient(#e88baa 20%, transparent 20%);
	background-position: 0 0, 6px 6px;
	background-size: 3px 3px;
	background-color: #ffffff;
}

.service_use_in {
	padding: 4rem 3rem;
	background-color: #ffffff;
}

.service_use_in > p {
	position: relative;
	margin-bottom: 3rem;
	color: rgb(232 139 170 / 10%);
	font-weight: bold;
	font-size: 10rem;
	line-height: 1;
	text-align: center;
}

.service_use_in > p > span {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	color: #333333;
	font-size: 3.8rem;
}

.service_use_list {
	flex-wrap: wrap;
	justify-content: center;
	padding: 0 6rem;
	font-size: 1.8rem;
	counter-reset: service_num;

	row-gap: 3rem;
}

.service_use_list > li {
	position: relative;
	width: 45%;
	padding-left: 5.5rem;
}

.service_use_list > li::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 4rem;
	height: 4rem;
	margin: auto 0;
	border-radius: 50%;
	background-color: #f5e346;
	color: #333333;
	font-weight: bold;
	line-height: 4rem;
	text-align: center;
	content: counter(service_num);
	counter-increment: service_num;
}

.service_detail_in {
	counter-reset: detail_num;
}

.service_detail_item {
	background-image: radial-gradient(#e794b0 20%, transparent 20%),
		radial-gradient(#e794b0 20%, transparent 20%);
	background-position: 0 0, 6px 6px;
	background-size: 3px 3px;
	background-color: #e88baa;
	color: #ffffff;
}

.service_detail_item:nth-child(n + 4) {
	margin-bottom: 6rem;
}

.service_detail_item:last-child {
	margin-bottom: 8rem;
}

.service_detail_top {
	flex-wrap: wrap;
}

.service_detail_item:nth-of-type(even) .service_detail_top {
	flex-direction: row-reverse;
}

.service_detail_l {
	width: 50%;
	padding: 4rem 3rem;
}

.service_detail_ttl {
	margin-bottom: 3rem;
	font-size: 3rem;
	line-height: 1;
}

.service_detail_ttl::before {
	margin-right: 1.5rem;
	color: #f5e346;
	font-size: 6.4rem;
	content: counter(detail_num, decimal-leading-zero);
	counter-increment: detail_num;
}

.service_detail_l > p {
	margin-bottom: 2rem;
	font-size: 1.4rem;
}

.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;
}

.service_detail_bottom {
	flex-wrap: wrap;
	padding: 6rem 0;
	background-color: #ffffff;
	color: #333333;
}

.service_shuttle {
	width: 50%;
	padding: 0 3rem;
	border-left: 1px solid rgb(66 65 66 / 10%);
}

.service_shuttle:last-of-type {
	border-right: 1px solid rgb(66 65 66 / 10%);
}

.service_shuttle_in {
	padding: 3rem 0;
	border-top: 1px solid rgb(66 65 66 / 10%);
	border-bottom: 1px solid rgb(66 65 66 / 10%);
}

.service_shuttle_in > p:first-child {
	margin-bottom: 1.5rem;
	padding-bottom: 1rem;
	border-bottom: 2px dotted #e88baa;
	font-size: 1.8rem;
}

.service_shuttle_in > p:last-child {
	display: flex;
	align-items: center;
	color: #e88baa;
	font-weight: bold;
	font-size: 3rem;
}

.service_shuttle_in > p:last-child::before {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 4rem;
	height: 4rem;
	margin-right: 1.5rem;
	padding-left: 0.25rem;
	border-radius: 50%;
	background-color: #f5e346;
	color: #333333;
	font-size: 2.2rem;
	font-family: 'Font Awesome 5 Free';
	content: '\f157';
}

.facility_list_wrap {
	padding: 0 3rem;
	border-right: 1px solid rgb(66 65 66 / 10%);
	border-left: 1px solid rgb(66 65 66 / 10%);
}

.facility_list {
	flex-wrap: wrap;
	padding: 3rem 0;
	border-top: 1px solid rgb(66 65 66 / 10%);
	border-bottom: 1px solid rgb(66 65 66 / 10%);
	font-size: 1.8rem;
	counter-reset: facility_num;

	row-gap: 3rem;
}

.facility_list > li {
	display: flex;
	align-items: center;
	width: calc(100% / 4);
}

.facility_list > li::before {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 4rem;
	height: 4rem;
	margin-right: 1.5rem;
	padding-left: 0.25rem;
	border-radius: 50%;
	background-color: #f5e346;
	font-weight: bold;
	content: counter(facility_num);
	counter-increment: facility_num;
}

.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 .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;
}

.fixed_side_sns.is_stop {
	position: absolute;
	top: -62.5rem;
}

.fixed_side_sns > li > a {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 1rem 0.8rem 1rem 1rem;
	color: #ffffff;
	line-height: 1;
}

.fixed_side_sns > li:first-child > a {
	flex-direction: column;
	background-color: #00b900;
}

.fixed_side_sns > li:nth-child(2) > a {
	background-color: #1da1f2;
}

.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;
}

.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: 4rem 2rem;
	}

	.btn {
		margin-top: 4rem;
	}

	.btn > a::before {
		width: 42px;
	}

	.site {
		margin: 0.5rem 0 0.5rem 0.5rem;
	}

	.main_nav {
		display: none;
	}

	.site_header {
		top: 0.5rem;
		width: 100%;
		height: 6rem;
		box-shadow: rgb(52 163 221 / 5%) 0 8px 30px;
	}

	.site_branding {
		top: 1rem;
		left: 1.5rem;
	}

	.is_fixed .site_branding {
		left: 1.5rem;
	}

	.site_ttl > a > img {
		height: 4rem;
	}

	.is_fixed .site_ttl > a > img {
		height: 4rem;
	}

	.sp_nav {
		padding-bottom: 0;
		overflow: scroll;
	}

	.drawer_open {
		width: 60px;
		height: 60px;
	}

	.sp_nav .drawer_open {
		top: 0;
	}

	.sp_nav_in {
		flex-direction: column-reverse;
		padding: 15rem 2rem 10.5rem;
	}

	.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_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;
	}

	.mv_img {
		width: 95%;
		height: calc(100vh - 8rem);
		border-radius: 3rem 0 0;
	}

	.mv_cc {
		position: absolute;
		top: 3rem;
		left: 4rem;
		width: auto;
		font-size: 3.2rem;
	}

	.mv_cc_in > span::after {
		right: 1rem;
		width: 0.8rem;
	}

	.mv_info {
		position: relative;
		bottom: 0;
		left: 0;
		padding: 3rem 2rem;
		box-shadow: rgb(52 163 221 / 5%) 0 8px 30px;
	}

	.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%;
		padding: 2rem;
		font-size: 2rem;
	}

	.about_cont_in {
		flex-direction: column-reverse;

		row-gap: 4rem;
	}

	.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;
	}

	.main_ttl_cont {
		padding-top: 14rem;
	}

	.main_ttl_cont::before {
		top: 4rem;
	}

	.feature_cont {
		padding-bottom: 0;
	}

	.main_ttl {
		margin-bottom: 4rem;
		font-size: 2.8rem;
	}

	.main_ttl > .ttl_blue {
		font-size: 3.8rem;
	}

	.main_ttl::after {
		top: 5.5rem;
		left: 73%;
		font-size: 3.2rem;
	}

	.feature_cont_in {
		gap: 4rem 3rem;
	}

	.feature_cont_col {
		width: 100%;
		padding: 3rem 2rem;
	}

	.feature_cont_col::before {
		top: -4rem;
		font-size: 3.8rem;
	}

	.feature_img > img {
		height: auto;
	}

	.feature_ttl {
		font-size: 1.8rem;
		text-align: left;
	}

	.feature_cont_col:nth-child(n + 5) {
		width: 100%;
	}

	.guide_cont .main_ttl::after {
		left: 67%;
	}

	.guide_cont .about_ttl > span {
		font-size: 2.8rem;
	}

	.guide_cont .about_cont_in {
		margin-bottom: 4rem;
	}

	.guide_list_col {
		width: 100%;
	}

	.guide_list_col dt,
	.guide_list:last-child .guide_list_col dt {
		width: 100%;
		padding-top: 2rem;
	}

	.guide_list_col dd,
	.guide_list:last-child .guide_list_col dd {
		width: 100%;
		padding: 0 0 2rem;
	}

	.guide_list_col_r > div:first-child {
		border-top: 2px dotted #e88baa;
	}

	.guide_menu_list {
		justify-content: center;

		row-gap: 4rem;
	}

	.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: -6rem;
		left: 0;
		margin: 0 auto;
		margin-top: 4rem;
	}

	.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 / 10%);
	}

	.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: 20rem;
	}

	.insta_cont .main_ttl_cont::before {
		top: 10rem;
	}

	.insta_cont .main_ttl::after {
		top: 11.5rem;
		left: 74.5%;
		font-size: 2.4rem;
	}

	.faq_cont .main_ttl::after {
		left: 63%;
	}

	.faq_cont_col {
		width: 100%;
		border-top: 2px solid rgb(66 65 66 / 10%);
		border-left: none;
	}

	.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%;
		margin-bottom: 5rem;
		padding: 0;
	}

	.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: 4rem;
		font-size: 1.6rem;
	}

	.contact_cont_list {
		row-gap: 2rem;
	}

	.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: 4rem 2rem 10.5rem;
	}

	.footer_in .site_ttl {
		position: static;
		margin-bottom: 2rem;
	}

	.footer_in_hour > dt {
		width: 25%;
	}

	.footer_in_hour > dd {
		width: 75%;
	}

	.footer_in_r {
		width: 100%;
		margin-top: 2rem;
	}

	.footer_nav_list {
		justify-content: flex-start;
		margin-bottom: 2rem;
		padding-bottom: 2rem;
	}

	.copy_right {
		position: static;
		margin-top: 2rem;
		text-align: center;
	}

	/*--------------------------------------------------------------
	# Fixed Footer - 固定フッター（SP）
	--------------------------------------------------------------*/
	.fixed_foot_nav_sp_list {
		display: flex;
		position: fixed;
		bottom: -10rem;
		left: 0;
		z-index: 98;
		width: 100%;
		margin: 0;
		padding-bottom: constant(safe-area-inset-bottom);
		padding-bottom: env(safe-area-inset-bottom);
		box-shadow: 0 -1px 3px rgb(100 120 130 / 25%);
		background-color: #e794b0;
		table-layout: fixed;
		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;
		justify-content: center;
		align-items: center;
		width: 100%;
		padding: 1rem 0;
		color: #ffffff;
		font-size: 1.2rem;
		line-height: 1;
	}

	.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 {
		margin-bottom: 4rem;
		padding: 4rem;
		font-size: 2.8rem;
	}

	.page_ttl > .ttl_jp::after {
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		font-size: 5.6rem;
	}

	.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.5rem);
	}

	/*--------------------------------------------------------------
	# 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: 1rem 5rem 1rem 6rem;
		font-size: 1.4rem;
	}

	.faq_list dt > label::before,
	.faq_list dd::before {
		top: -0.5rem;
		left: 1.5rem;
		font-size: 2.8rem;
	}

	.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: -1.7rem;
	}

	.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: 3rem;
	}

	.staff_job {
		right: 0;
		left: 0;
		text-align: center;
	}

	.staff_info_list {
		gap: 1rem;
	}

	.staff_info_list > div {
		width: calc(50% - 0.5rem);

		gap: 1rem;
	}

	.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 {
		margin-top: 3rem;
		padding-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 {
		border: none;
		font-size: 2.2rem;
	}

	.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%;
		border-right: 1px solid rgb(66 65 66 / 10%);
	}

	.target_books > li > div {
		border-bottom: none;
	}

	.target_books > li:last-child {
		border-bottom: 1px solid rgb(66 65 66 / 10%);
	}

	.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 {
		margin-bottom: 3rem;

		gap: 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 {
		margin-bottom: 1.5rem;

		gap: 3rem;
	}

	.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 {
		padding: 2rem;
	}

	.service_use_in > p {
		font-size: 5rem;
	}

	.service_use_in > p > span {
		font-size: 2.4rem;
		line-height: 1.5;
	}

	.service_use_list {
		padding: 0;
		font-size: 1.6rem;

		gap: 1.5rem;
	}

	.service_use_list > li {
		width: 100%;
		padding-left: 4.5rem;
	}

	.service_use_list > li::before {
		width: 3rem;
		height: 3rem;
		line-height: 3rem;
	}

	.service_detail_top {
		flex-direction: column-reverse;
	}

	.service_detail_l {
		width: 100%;
		padding: 2rem;
	}

	.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 {
		margin-right: 0;
		margin-bottom: 1rem;
		font-size: 3.2rem;
	}

	.service_detail_bottom {
		padding: 3rem 0;
	}

	.facility_list_wrap {
		padding: 0 2rem;
	}

	.facility_list {
		padding: 2rem 0;
		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 / 10%);
	}

	.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 {
		display: flex;
		top: auto;
		bottom: -10rem;
		width: 100%;
		box-shadow: 0 -1px 3px rgb(100 120 130 / 25%);
		transition: all 0.3s ease;
	}

	.fixed_side_sns.is_active {
		bottom: 6rem;
	}

	.fixed_side_sns.is_stop {
		position: fixed;
		top: auto;
	}

	.fixed_side_sns > li {
		width: calc(100% / 3);
	}

	.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;
	}
}
