@charset "UTF-8";
/*
Theme Name: 1os1C
Theme URI: https://web.1os.co.jp/
Author: One OS inc.
Author URI: https://1os.co.jp/
Description: このテーマは株式会社ワンオーエス(サービス名：クオリティWebデザイン)によって作成されました。高品質でカスタマイズ可能なデザインを提供し、ユーザーに素晴らしいエクスペリエンスをもたらします。
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: 1os_mc
Tags: レスポンシブ, 1カラム, 翻訳対応
*/

/**********  カスタマイズCSS **********/

.anchor_target {
	scroll-margin-top: 72px;
}

.scroll #header_wrapper{
	border-bottom:1px solid #fff;
}
.header_button{
	border:1px solid;
	border-radius:.2em;
	min-width:8em;
	background:#fff;
}

.youtubeArea_movie{
	position:relative;
	overflow:hidden;
	display:block;
	width:100%;
	padding:0;
	background:#ccc;
	border:0;
	cursor:pointer;
}
.youtubeArea_play{
	position:absolute;
	top:50%;
	left:50%;
	width:58px;
	height:42px;
	background:rgba(255,0,0,.8);
	border-radius:8px;
	transform:translate(-50%,-50%);
	pointer-events:none;
	border:1px solid #fff;
}
.youtubeArea_play::after{
	content:"";
	position:absolute;
	top:50%;
	left:52%;
	border-top:8px solid transparent;
	border-bottom:8px solid transparent;
	border-left:14px solid #fff;
	transform:translate(-50%,-50%);
}
.youtubeArea_shopName{
	z-index:10;
	top:8px;
	left:8px;
	border:1px solid #fff;
	min-width:4em;
}

.youtubePopup{
	position:fixed;
	z-index:99999;
	inset:0;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:20px;
}
.youtubePopup[hidden]{
	display:none;
}
.youtubePopup_bg{
	position:absolute;
	inset:0;
	background:rgba(0,0,0,.78);
}
.youtubePopup_inner{
	position:relative;
	z-index:1;
	width:min(960px,100%);
}
.youtubePopup_movie{
	position:relative;
	overflow:hidden;
	width:100%;
	aspect-ratio:16 / 9;
	background:#000;
	border-radius:12px;
	box-shadow:0 15px 50px rgba(0,0,0,.35);
}
.youtubePopup_movie iframe{
	display:block;
	width:100%;
	height:100%;
	border:0;
}
.youtubePopup_close{
	position:absolute;
	bottom:-44px;
	right:0;
	z-index:2;
	width:40px;
	height:40px;
	padding:0;
	color:#fff;
	font-size:34px;
	line-height:1;
	background:transparent;
	border:0;
	cursor:pointer;
}
body.youtube-popup-open{
	overflow:hidden;
}

.bubbleBg{
	display:none;
}

.text-shadow-3{text-shadow:0 0 1px #242415,0 0 2px #242415,0 0 2.5px #242415,0 0 5px #242415}
.text-shadow-4{text-shadow:0 0 1px #242415,0 0 2px #242415,0 0 3px #242415}

#global_nav > .menu-item > .menu_link,
#footer_nav .menu-item .menu_link{
	font-weight:700
}

#recruit #page_title_wrapper{
	aspect-ratio:2 / 1
}

.title_h2{
	font-size:1.2em;
	border-bottom:2px solid #684526;
	font-weight:600;
	text-shadow:2px 2px 1px rgba(0,0,0, .2)
}
.title_h3{
	font-size:1.1em;
	border-bottom:1px solid #e7a08e;
	font-weight:600;
	text-shadow:1px 1px 1px rgba(0,0,0, .2)
}

#recruit #page_title_container{
	justify-content:flex-end;

}
#recruit #page_title_block{
}
#recruit #page_main_title{
	transform:rotate(-6deg);
	font-size:1.4em;
	padding:0 1em;
	text-shadow:
		0 0 4px rgba(165,142,124, .8),
		0 0 8px rgba(165,142,124, .6),
		0 0 14px rgba(165,142,124, .45);
}

/* ずらし＆重ねボックス */
.design_box-01,
.design_box-02 {
	background: none;  /* 元のボックス背景色なし */
	border: 2px solid #e8c6b4;  /* 枠線 */
	position: relative;
	border-radius:.4em;
}
.design_box-02 {
	border-color:rgb(216,158,237);  /* 枠線 */
}

.design_box-01::after,
.design_box-02::after {
	background-color: rgba(255,255,255, .4);  /* ずらした背景色 */
	border: 1px solid rgba(0,0,0, .1);  /* 枠線 */
	content: '';  /* 擬似要素 */
	position: absolute;  /* 位置指定 */
	top: 7px;  /* 上にずらす */
	left: 7px;  /* 左にずらす */
	width: 100%;  /* 幅100% */
	height: 100%;  /* 高さ100% */
	z-index: -1;  /* 背面表示 */
	border-radius:.4em;
}
.design_box-03{
  outline: 1px dashed #fff; /* 点線アウトライン */
  outline-offset: -5px; /* 内側に5pxずらす */
}

.design_box-04{
  background-image: repeating-linear-gradient(
    -45deg, /* ストライプの角度 */
    rgba(244,228,220,0.6) 0, /* ストライプの色（薄いグレー） */
    rgba(244,228,220,0.6) 3px, /* ストライプの太さ（3pxの間隔） */
    transparent 3px, /* 透明部分 */
    transparent 6px /* 透明部分（3pxから6pxまで） */
  );
}

#time-shortest{
	border:1px solid #e7a08e;
}

.today-star{height:1em;width:auto;margin:0 .4em}

.therapist_mark{
	z-index:2;
	pointer-events:none;
}
.therapist_mark_in{
	border:1px solid #fff;
    box-shadow: 1px 1px 3px rgba(0, 0, 0, .3);
}
.therapistSch{
	display: flex;
	flex-direction: column;
	width:25%
}
.schedulePplO {
	flex: 1;
	min-height: 64px;
}
.therapistSch:nth-child(4n + 1) > div {
	border-left: 1px solid #e8c6b4;
	border-left: 1px solid #e8c6b4;
}

.therapistimg,
.therapistSliderNavItem{
	overflow:hidden;
	border:1px solid #fff;
    box-shadow: 1px 1px 3px rgba(0, 0, 0, .3);
}
.therapistimg.arrow-right_bottom::after {
	right: 4px;
	bottom: 4px;
	width: 16px;
	height: 16px;
}
.therapistInfo {
	left:0;
	bottom:0;
	z-index:1;
	background:rgba(183,167,154,0.8);
	padding:0.3em 0.4em 0.2em 0;
	color:#fff;
	width:100%;
	height:auto;
	margin:0;
	line-height:1.2;
	border-top:1px solid rgba(255,255,255, .8);
}
.therapistimg.arrow-right_bottom::after,
.therapistimg.arrow-right_bottom:hover::after {
	background-color: #fff;
}

.therapistSliderMain {
	width: 100%;
	overflow: hidden;
}
.therapistSliderMainItem {
	position: relative;
	width: 100%;
	aspect-ratio: 3 / 4;
	overflow: hidden;
}
.therapistSliderMain .slick-list,
.therapistSliderMain .slick-track,
.therapistSliderMain .slick-slide > div {
	height: 100%;
}
.therapistSliderNav {
	margin-right: -3px;
	margin-left: -3px;
}
.therapistSliderNavItem {
	position: relative;
	margin: 0 4px;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	border: 1px solid transparent;
	cursor: pointer;
	opacity: .6;
}
.therapistSliderNavItem .therapistThumbnail {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	pointer-events: none;
}
.is-current.therapistSliderNavItem {
	border-color: rgb(232,109,88);
	opacity: 1;
}
.therapistVideoIcon {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: rgba(0, 0, 0, .65);
	color: #fff;
	font-size: 14px;
	transform: translate(-50%, -50%);
	pointer-events: none;
}
.therapistSliderMain .slick-arrow {
	position: absolute;
	top: 50%;
	z-index: 5;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 0;
	background: rgba(0, 0, 0, .5);
	font-size: 0;
	transform: translateY(-50%);
	cursor: pointer;
}
.therapistSliderMain .slick-prev {
	left: 8px;
}
.therapistSliderMain .slick-next {
	right: 8px;
}
.therapistSliderMain .slick-prev::before,
.therapistSliderMain .slick-next::before {
	color: #fff;
	font-size: 26px;
	line-height: 36px;
}
.therapistSliderMain .slick-prev::before {
	content: "‹";
}
.therapistSliderMain .slick-next::before {
	content: "›";
}
.therapistSliderMain .slick-disabled {
	opacity: .25;
	cursor: default;
}
.therapistPremier {
	z-index: 10;
}

.therapistSliderNav .slick-arrow {
	position: absolute;
	top: 50%;
	z-index: 5;
	width: 24px;
	height: 100%;
	padding: 0;
	border: 0;
	background: rgba(0, 0, 0, .45);
	font-size: 0;
	transform: translateY(-50%);
	cursor: pointer;
}
.therapistSliderNav .slick-prev {
	left: -28px;
}
.therapistSliderNav .slick-next {
	right: -28px;
}
.therapistSliderNav .slick-prev::before,
.therapistSliderNav .slick-next::before {
	display: block;
	color: #fff;
	font-size: 22px;
	line-height: 1;
}
.therapistSliderNav .slick-prev::before {
	content: "‹";
}
.therapistSliderNav .slick-next::before {
	content: "›";
}
.therapistSliderNav .slick-arrow:hover {
	background: rgba(0, 0, 0, .7);
}
.therapistSliderNav .slick-disabled {
	opacity: .25;
	cursor: default;
}

.therapistPlace{
	min-width:4em;
}

.topScheduleTherapist {
	order: 0;
}

.topScheduleTherapist-new {
	order: -1;
}

.topScheduleTherapist-none {
	order: 999;
}

.system-fee_list{
	margin-top:-1px;
	border-top: 1px solid #e8c6b4;
	border-left: 1px solid #e8c6b4;
}
.system-fee_list:first-child{
	border-radius:.25em .25em 0 0;
}
.system-fee_list-name,
.system-fee_list-fee {
	width: 100%;
	border-right: 1px solid #e8c6b4;
	border-bottom: 1px solid #e8c6b4;
}
.system-fee_list-name{
	border-bottom: 1px solid #fff;
	width:16em;
}
.system-fee_list:last-child{
	border-radius:0 0 0 .25em;
}
.system-fee_list:last-child .system-fee_list-name{
	border-bottom: 1px solid #e8c6b4;
	border-radius:0 0 0 .25em;
}
.system-fee_list:last-child .system-fee_list-fee{
	border-radius:0 0 .25em 0;
}
.fee_over{
	width:1em
}

/* ==================================================
	求人
================================================== */

.recruitLead {
	position: relative;
	overflow: visible;
}

.recruitLead_container {
	width: calc(100% - 2rem);
	max-width: 1024px;
	margin-left: auto;
	margin-right: auto;
}

.recruitLead_image-left {
	display: none;
}

.recruitLead_image-right {
	display: block;
	width: 75%;
	max-width: 480px;
	margin: 2rem auto;
}

.recruitLead_image img {
	display: block;
	width: 100%;
	height: auto;
}

.recruitCharacter {
	background-color: rgba(255,255,255,.5);
	background-image:
		radial-gradient(circle, rgba(123, 211, 235, .05) 0 14px, transparent 15px),
		radial-gradient(circle, rgba(249, 166, 195, .1) 0 20px, transparent 21px);
	background-position: 0 0, 40px 40px;
	background-size: 80px 80px;
}
.recruitCharacter::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 12px;
	background: linear-gradient(
		90deg,
		rgb(244,228,220) 0%,
		#b0e5f2 20%,
		#f9d778 40%,
		#9bd59b 60%,
		#ffa88c 80%,
		#c5a7e8 100%
	);
}
.recruitCharacter_container {
	margin-left: auto;
	margin-right: auto;
}

.recruitCharacter_area-title {
	margin-bottom: 3rem;
}

.recruitCharacter_body {
	width: 100%;
}

.recruitmerit_number,
.recruitCharacter_number {
	line-height: 1;
	font-size: 1.4rem;
	font-weight: 700;
	width:3.6rem;
	height:3.6rem;
	border:4px dotted #e8c6b4;
	background:rgba(255,255,255, .9);
	position: relative;
	color: #dc8df5;
}

.recruitCharacter_number::before {
	content: "Point";
	position: absolute;
	top: 9px;
	left: 50%;
	transform: translateX(-50%);
	color: #333;
	font-size: .85rem;
	font-weight: 700;
	line-height: 1;
}
.recruitmerit_number::before{
	display: none;
}

.recruitmerit_number,
.recruitCharacter_number {
	padding-top: 18px;
	box-sizing: border-box;
}
.recruitmerit_number{
	color: rgb(232,115,85);
	padding-top: 2px;
}

.recruitCharacter_title {
	border-bottom:1px solid #e7a08e;
}

.recruitCharacter_image {
	position: relative;
	overflow: visible;
}

.recruitCharacter_image img {
	position: relative;
	z-index: 2;
	display: block;
	background: #fff;
	box-shadow: 0 0 0 6px #fff;
}

.recruitCharacter_image::before,
.recruitCharacter_image::after {
	content: "";
	position: absolute;
	z-index: 1;
	pointer-events: none;
	border-radius:.1em;
}

.recruitCharacter_image::before {
	top: -12px;
	right: -12px;
	width: 42%;
	height: 42%;
	border-top: 3px solid rgb(232,115,85);
	border-right: 3px solid rgb(232,115,85);
}

.recruitCharacter_image::after {
	left: -12px;
	bottom: -12px;
	width: 42%;
	height: 42%;
	border-left: 3px solid rgb(232,115,85);
	border-bottom: 3px solid rgb(232,115,85);
}
.recruitMerit_image::before{
	border-top: 3px solid rgb(216,158,237);
	border-right: 3px solid rgb(216,158,237);
}
.recruitMerit_image::after{
	border-left: 3px solid rgb(216,158,237);
	border-bottom: 3px solid rgb(216,158,237);
}

.recruitCharacter_image-sp {
	width: 75%;
	max-width: 420px;
	margin: 1.5rem auto 0;
}

.recruitCharacter_image-pc {
	display: none;
}

.recruitCharacter_text {
	margin-top: 2rem;
}

.recruitSalary_list {
	display: grid;
	grid-template-columns: 1fr;
	gap: .5rem 4rem;
}

.recruitExample .recruitExample_title{
	
}
.recruitExample_list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
}

.recruitExample_item {
	position: relative;
	overflow: visible;
	background: #fff;
}
.recruitExample_item::before {
	content: "";
	position: absolute;
	top: -16px;
	left: 24px;
	width: 28px;
	height: 58px;
	border: 2px solid #23b0db;
	border-radius: 18px;
	transform: translateX(-50%) rotate(-12deg);
	z-index: 3;
	box-sizing: border-box;
    box-shadow: 0 0 2px rgba(255,255,255, .9);
}
.recruitExample_item::after {
	content: "";
	position: absolute;
	top: -8px;
	left: 24px;
	width: 14px;
	height: 42px;
	border: 2px solid #23b0db;
	border-radius: 12px;
	transform: translateX(-50%) rotate(-12deg);
	z-index: 4;
	box-sizing: border-box;
    box-shadow: 0 0 2px rgba(255,255,255, .9);
}

.recruitExample_fee {
	font-weight: 700;
}

.recruitSupport_title {
	margin-bottom: 2rem;
	font-size: 1.4rem;
	font-weight: 700;
}

.recruitSupport_list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: .5rem;
}

.recruitSupport_item {
	position: relative;
	padding: 5px;
	border-radius:50%;
	aspect-ratio: 1 / 1;
}

.recruitSupport_item::before {
	content: "";
	position: absolute;
	inset: 5px;
	border: 1px solid rgba(255,255,255,.9);
	pointer-events: none;
	border-radius:50%;
}

.recruitSupport_inner {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 1rem;
	box-sizing: border-box;
	text-align: center;
}

.recruitSupport_inner p {
	margin: 0;
	color: #fff;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.35;
}

.recruitSupport_inner strong {
	color: #fff86c;
	font-weight: 700;
}

.recruitSupport_inner small {
	display: block;
	margin-top: .2rem;
	font-size: .75em;
	font-weight: 400;
}

.recruitSupport_item.is-pink {
	background: #ef9fb8;
}

.recruitSupport_item.is-orange {
	background: #e8907a;
}

.recruitSupport_item.is-blue {
	background: #87a1ff;
}

.recruitSupport_message {
	margin-top: 2rem;
	color: #ff789c;
	line-height: 1.7;
}

.recruitBenefits_item {
	background: rgba(255,255,255,.7);
}

.recruitBenefits_item.is-odd {
	background: rgba(239,159,184,.35);
}

.recruitBenefits_item.is-even {
	background: rgba(232,184,146,.35);
}

.recruitBenefits_image {
	overflow: hidden;
}

.recruitBenefits_image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.recruitBenefits_item-title {
	margin: .8rem 0 0;
	font-size: 1.1rem;
	font-weight: 700;
}

.recruitBenefits_number {
	position: absolute;
	top: -1rem;
	left: -.6rem;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.4rem;
	height: 2.4rem;
	border: 2px solid #fff;
	border-radius: 50%;
	background: #e85555;
	color: #fff;
	font-size: 1rem;
	line-height: 1;
	box-shadow: 0 0 0 2px #e85555;
}

.recruitContact_list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}

.recruitContact_item {
	background: rgba(255,255,255,.7);
}

.recruitContact_buttons {
	display: grid;
	grid-template-columns: 1fr;
	gap: .75rem;
}

.recruitContact_tel,
.recruitContact_line {
	min-height: 54px;
	padding: .75rem 1rem;
	border-radius: 999px;
	text-decoration: none;
	font-weight: 700;
}

.recruitContact_tel {
	border: 1px solid #e7a08e;
	background: #fff;
}

.recruitContact_line,
.recruitContact_line:hover {
	border: 1px solid #06c755;
	background: #fff;
	color: #06c755;
}

.recruitContact_tel-number {
	font-size: 1.1rem;
}

/* ==================================================
	求人 お悩みエリア
================================================== */

.recruitWorry {
	position: relative;
	overflow: hidden;
}

.recruitWorry_head {
	position: relative;
	z-index: 2;
	padding: 2.6rem 1rem 2rem;
	text-align: center;
}

.recruitWorry_head-inner {
	position: relative;
	display: inline-block;
	padding: .5rem 2rem;
}

.recruitWorry_head-inner::before,
.recruitWorry_head-inner::after {
	content: "";
	position: absolute;
	top: 0;
	width: .8rem;
	height: 100%;
	border-top: 1px solid #777;
	border-bottom: 1px solid #777;
}

.recruitWorry_head-inner::before {
	left: 0;
	border-left: 1px solid #777;
}

.recruitWorry_head-inner::after {
	right: 0;
	border-right: 1px solid #777;
}

.recruitWorry_head-sub {
	margin: 0 0 .25rem;
	font-size: .9rem;
	font-weight: 700;
	line-height: 1.4;
}

.recruitWorry_head-title {
	margin: 0;
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1.45;
}

.recruitWorry_head-title span {
	position: relative;
}

.recruitWorry_area {
	position: relative;
	padding: .5rem 1rem 4rem;
	background: rgba(255,255,255, .9);
}

.recruitWorry_area::before {
	content: "";
	position: absolute;
	top: -55px;
	left: -15%;
	width: 130%;
	height: 90px;
	background: rgba(255,255,255, .9);
	border-radius: 50% 50% 0 0 / 100% 100% 0 0;
}

.recruitWorry_card {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 920px;
	margin: 0 auto;
	padding: 1.5rem;
	box-shadow: 7px 7px 0 rgba(110,184,182,.5);
	box-sizing: border-box;
}

.recruitWorry_list {
	position: relative;
	z-index: 3;
}

.recruitWorry_list p {
	position: relative;
	margin: .75rem 0;
	padding-left: 2rem;
	font-size: .9rem;
	line-height: 1.6;
}

.recruitWorry_list p::before {
	content: "";
	position: absolute;
	top: .1rem;
	left: 0;
	width: 1.25rem;
	height: 1.25rem;
	border: 1px solid #aaa;
	border-radius:.15rem;
	background: #fff;
	box-sizing: border-box;
}

.recruitWorry_list p::after {
	content: "";
	position: absolute;
	top: .15rem;
	left: .25rem;
	width: .75rem;
	height: .4rem;
	border-left: 3px solid #e85555;
	border-bottom: 3px solid #e85555;
	transform: rotate(-45deg);
}

.recruitWorry_visual{
	max-width:480px;
}

/* ==================================================
	求人 安心・サポート
================================================== */

.recruitPromise {
	width: 100%;
	padding: 4rem 1rem;
	background: #fffff2;
	box-sizing: border-box;
}

.recruitPromise_title {
	margin: 0 0 1.5rem;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.4;
}

.recruitPromise_lead {
	margin: 0 0 1rem;
	font-size: .9rem;
	font-weight: 700;
	line-height: 1.7;
}

.recruitPromise_catch {
	margin: 0;
	color: #ff7ca5;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.5;
}

.recruitPromise_item {
	position: relative;
	width: 80%;
	max-width: 440px;
}

.recruitPromise_image {
	position: relative;
	z-index: 2;
	width: 100%;
	border-radius: 38% 18% 35% 28% / 32% 35% 25% 30%;
	box-shadow: 6px 6px 0 #f5c5df;
}

.recruitPromise_image img {
	display: block;
}

.recruitPromise_text {
	position: relative;
	z-index: 3;
	width: 92%;
	margin: -5rem auto 0;
}

.recruitPromise_number {
	display: inline-block;
	margin-bottom: .5rem;
	padding: .2rem .75rem;
	border: 1px solid #333;
	background: #fff;
	font-size: .75rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .15em;
}

.recruitPromise_text p {
	display: inline;
	margin: 0;
	background: #fffff2;
	font-size: .95rem;
	font-weight: 700;
	line-height: 1.8;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}

.recruitPromise_deco {
	position: absolute;
	z-index: 1;
	pointer-events: none;
}

.recruitPromise_deco-dot {
	top: -.7rem;
	left: 0;
	width: 95px;
	height: 70px;
	background-image: radial-gradient(#f6a4cc 3px, transparent 3px);
	background-size: 13px 13px;
}

.recruitPromise_deco-line {
	top: -.5rem;
	left: 0;
	width: 120px;
	height: 75px;
	background: repeating-linear-gradient(
		135deg,
		#f6a4cc 0,
		#f6a4cc 2px,
		transparent 2px,
		transparent 8px
	);
}

.recruitPromise_item:nth-child(1)::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: -1rem;
	z-index: 1;
	width: 110px;
	height: 80px;
	background: repeating-linear-gradient(
		45deg,
		#f6a4cc 0,
		#f6a4cc 2px,
		transparent 2px,
		transparent 8px
	);
}

.recruitPromise_item:nth-child(2)::after {
	content: "";
	position: absolute;
	right: -.5rem;
	bottom: -1rem;
	z-index: 1;
	width: 85px;
	height: 75px;
	background-image: radial-gradient(#f6a4cc 3px, transparent 3px);
	background-size: 13px 13px;
}

.recruitPromise_bottom-lead {
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1.5;
}

.recruitPromise_bottom-main {
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.8;
}

.recruitPromise_bottom-main span {
	color: #ff7ca5;
	font-size: 1.2em;
}

/* ==================================================
	求人 入店までの流れ
================================================== */

.recruitFlow_head-title {
	font-size: 1.2rem;
	font-weight: 700;
}

.recruitFlow_list {
	max-width: 1024px;
}

.recruitFlow_item {
	padding-top: 3.5rem !important;
	border: .5rem solid rgba(219,150,118,0.53);
}

.recruitFlow_number {
	position: absolute;
	top: 0;
	left: 50%;
	z-index: 3;
	width: 5rem;
	height: 5rem;
	border: 3px solid #e85555;
	border-radius: 50%;
	background: #fff;
	transform: translate(-50%, -50%);
	box-sizing: border-box;
}

.recruitFlow_number span {
	position: relative;
	z-index: 2;
	font-size: .8rem;
	font-weight: 700;
	line-height: 1;
}

.recruitFlow_number strong {
	position: relative;
	z-index: 2;
	margin-top: .15rem;
	color: #e85555;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1;
}

.recruitFlow_image {
	overflow: hidden;
	width: 55%;
	max-width: 190px;
	aspect-ratio: 1 / 1;
	border: 2px solid #e8c6b4;
}

.recruitFlow_title {
	border-bottom: 2px dotted #e85555;
	color: #e85555;
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.5;
}

.recruitFlow_text {
	font-size: .9rem;
	line-height: 1.8;
}

.recruitFlow_text > *:first-child {
	margin-top: 0;
}

.recruitFlow_text > *:last-child {
	margin-bottom: 0;
}

.recruitFlow_arrow {
	position: relative;
	width: 0;
	height: 0;
	margin-top: 2.5rem;
	margin-bottom: 3rem;
	border-left: 2rem solid transparent;
	border-right: 2rem solid transparent;
	border-top: 2rem solid rgb(232,115,85);
}

.recruitFlow_arrow::before {
	content: "";
	position: absolute;
	top: -2.8rem;
	left: 50%;
	width: 0;
	height: 0;
	border-left: 2rem solid transparent;
	border-right: 2rem solid transparent;
	border-top: 2rem solid rgba(232,129,109,0.7);
	transform: translateX(-50%);
}

/* ==================================================
	求人 FAQ
================================================== */

.recruitFaq {
	background-image:
		linear-gradient(#fff6dd 2px, transparent 2px),
		linear-gradient(90deg, rgba(249, 166, 195, .12) 2px, transparent 2px);
	background-size: 36px 36px;
}
.recruitFaq_head-title {
	font-size: 1.2rem;
	font-weight: 700;
}
.recruitFaq_list {
	max-width: 1024px;
}
.recruitFaq_item {
	overflow: hidden;
	border: 1px solid rgb(232,115,85);
}
.recruitFaq_question {
	width: 100%;
	color: #fff;
	border: 0;
	text-align: left;
	cursor: pointer;
	appearance: none;
}
.recruitFaq_question h3 {
	color: #fff;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.5;
}
.recruitFaq_mark {
	font-weight: 700;
	line-height: 1.5;
}
.recruitFaq_toggle {
	position: relative;
	width: 24px;
	height: 24px;
	margin-left: 12px;
}
.recruitFaq_toggle::before,
.recruitFaq_toggle::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 16px;
	height: 2px;
	background: #fff;
	border-radius: 2px;
	transform: translate(-50%, -50%);
	transition: transform .3s ease;
}
.recruitFaq_toggle::after {
	transform: translate(-50%, -50%) rotate(90deg);
}
.recruitFaq_question[aria-expanded="true"] .recruitFaq_toggle::after {
	transform: translate(-50%, -50%) rotate(0deg);
}
.recruitFaq_answer {
	height: 0;
	overflow: hidden;
	color: #666;
	opacity: 0;
	transition:
		height .35s ease,
		opacity .3s ease;
}
.recruitFaq_answer-inner {
	overflow: hidden;
}
.recruitFaq_answer-text {
	font-size: .9rem;
	line-height: 1.8;
}
.recruitFaq_question:focus-visible {
	outline: 3px solid rgba(232,115,85,.35);
	outline-offset: -3px;
}

@media all and (min-width:768px){

	.recruitFaq_head-title {
		font-size: 1.3rem;
	}

	.recruitFaq_question h3 {
		font-size: 1.05rem;
	}

	.recruitFaq_answer-text {
		font-size: .95rem;
	}

}

@media all and (min-width:1024px){

	.recruitFaq_head-title {
		font-size: 1.4rem;
	}

	.recruitFaq_question h3 {
		font-size: 1.1rem;
	}

	.recruitFaq_answer-text {
		font-size: 1rem;
	}

}

/* ==================================================
	求人 募集要項
================================================== */

.recruitGuidelines_table {
	max-width: 1024px;
	border-top: 1px solid #e8c6b4;
	border-left: 1px solid #e8c6b4;
}

.recruitGuidelines_table:last-child {
	margin-bottom: 0;
}

.recruitGuidelines_row {
	width: 100%;
	border-right: 1px solid #e8c6b4;
	border-bottom: 1px solid #e8c6b4;
}

.recruitGuidelines_label {
	width: 34%;
	font-weight: 700;
}

.recruitGuidelines_content {
	min-width: 0;
	background: rgba(255,255,255, .6);
}

@media all and (min-width:768px){

	.recruitGuidelines_label {
		width: 22%;
	}

}

@media all and (min-width:1024px){

	.recruitGuidelines_label {
		width: 15%;
	}

}

/* ==================================================
	LINE予約
================================================== */

.linePage_read {
	margin-bottom: 2.5rem;
}

.linePage_shop-list {
	display: grid;
	grid-template-columns: minmax(0, 420px);
	justify-content: center;
}

.linePage_shop-item {
	position: relative;
	overflow: hidden;
	background: rgba(255,255,255, .6);
	border: 1px solid #e8eee9;
	box-shadow: 0 4px 10px rgba(0,0,0,.2);
}

.linePage_shop-item::before {
	content: "";
	display: block;
	width: 100%;
	height: 8px;
	background: #06c755;
}

.linePage_shop-head {
	padding: 1.5rem 1.5rem 1rem;
	text-align: center;
}

.linePage_shop-label {
	display: block;
	color: #06c755;
	font-size: .8rem;
	font-weight: 700;
}

.linePage_shop-name {
	margin: 0;
	color: #333;
	font-size: 1.2rem;
	font-weight: 700;
}

.linePage_shop-body {
	padding: .2rem 1.5rem 1.8rem;
}

.linePage_qr {
	text-align: center;
}

.linePage_qr-image {
	position: relative;
	width: min(220px, 70%);
	margin: 0 auto 1rem;
	padding: 12px;
	background: #fff;
	border: 1px solid #e4e4e4;
	border-radius: 8px;
}

.linePage_qr-img {
	display: block;
	width: 100%;
	height: auto;
}

.linePage_id {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .8rem;
	margin-top: 1.2rem;
	padding: .4rem .8rem;
	background: #eef8f1;
}

.linePage_id-label {
	color: #06c755;
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .08em;
}

.linePage_id-value {
	color: #333;
	font-size: 1rem;
	font-weight: 700;
}

.linePage_recruit .linePage_shop-item::before {
	background: #f2a1bb;
}
.linePage_recruit .linePage_shop-label {
	color: #e886a6;
}
.linePage_recruit .linePage_id {
	background: #fff3f7;
}
.linePage_recruit .linePage_id-label {
	color: #e886a6;
}
.js-copybtn{
	min-width:12em;
}
.js-copybtn::after{
	display:none!important
}
.js-copytext {
	white-space: pre-wrap;
	overflow-wrap: anywhere;
	word-break: break-word;
}
@media all and (min-width:768px){

	.linePage_shop-list {
		grid-template-columns: repeat(3, minmax(0, 320px));
	}

	.linePage_shop-name {
		font-size: 1.3rem;
	}

}

@media all and (min-width:1024px){

	.linePage_shop-list {
		grid-template-columns: repeat(3, minmax(0, 320px));
	}

}

/* ==================================================
	出勤スケジュール
================================================== */

/* 共通
-------------------------------------------------- */
#scheduleDay,
#scheduleShop,
.therapistTabs{
	overflow: hidden;
	border: 1px solid #fff;
	border-radius: 4px;
}

#scheduleDay button,
#scheduleShop button,
#topScheduleShop .scheduleShopBtn,
.roomTab,
.therapistTab{
	border: 0;
	border-radius: 0;
	cursor: pointer;
}

/* 日付タブ
-------------------------------------------------- */
#scheduleDay,
.therapistTabs {
	margin: 0;
}

#scheduleDay .scheduleDay{
	flex: 0 0 calc(100% / 7);
	width: calc(100% / 7);
	min-width: 0;
}

#scheduleDay .scheduleDayBtn {
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
}

#scheduleDay .scheduleDayBtn {
	border-right: 1px solid #fff;
	border-bottom: 0;
}

#scheduleDay .scheduleDay:last-child .scheduleDayBtn {
	border-right: 0;
}

#scheduleDay .scheduleDayBtn.selected {
	font-weight: 700;
}

/* 店舗タブ
-------------------------------------------------- */

.roomTabs_wrapper{
	padding:2px;
}
#scheduleShop,
#topScheduleShop,
.roomTabs{
	gap: 4px;
	overflow: visible;
	border: 0;
	border-radius: 0;
}
.roomTabs{
	gap: 0;
	top:72px;
	z-index:10;
}

#scheduleShop .scheduleShop,
.scheduleShop .scheduleShopBtn,
.roomTab_wrapper{
	min-width: 6em;
}

#scheduleShop .scheduleShopBtn,
#topScheduleShop .scheduleShopBtn,
.roomTab,
.therapistTab{
	border: 1px solid #ddd;
	border-radius: 4px;
}

#scheduleShop .scheduleShopBtn.selected,
#topScheduleShop .scheduleShopBtn.selected,
.roomTab.selected,
.therapistTab.active{
	border: 1px solid rgb(232,115,85);
}

.therapistWorkRow{
	margin:1px 0;
}
.therapistWorkPlace{
	min-width:4em
}

#to_top_link{
	border: 1px solid #fff;
	border-right: none;
	border-radius: 4px 0 0 4px;
}

.mutual-link-list{
	width:100%;
	max-width:1440px;
	margin:0 auto;
	column-width:164px;
	column-gap:4px;
}
.mutual-link{
	display:inline-block;
	width:100%;
	margin:0 0 8px;
	text-align:center;
	vertical-align:top;
	break-inside:avoid;
}
.mutual-link img{
	display:block;
	max-width:100%;
	height:auto;
	margin:0 auto 2px;
}
.mutual-link img + br{
	display:none;
}
.mutual-link p{
	margin:0 !important;
	padding:0 !important;
}

.roomTelShopName{
	min-width:4em;
}
.roomText_title{
	width:6em;
}
.room-map iframe{
	inset:0;
    width: 100%;
    height: 100%;
    object-fit:cover;
}

@media all and (min-width:768px){

	.shortestShop{
		min-width:14.4em;
	}

	.therapistProfileSticky{
		position: sticky;
		top: 80px;
		align-self: flex-start;
	}

	.therapistSliderNav {
		padding: 0 28px;
		margin-right: 0;
		margin-left: 0;
	}
	.therapistSliderNav .slick-arrow {
		position: absolute;
		top: 50%;
		z-index: 5;
		width: 24px;
		height: 100%;
		padding: 0;
		border: 0;
		background: rgba(0, 0, 0, .45);
		font-size: 0;
		transform: translateY(-50%);
		cursor: pointer;
	}
	.therapistSliderNav .slick-prev {
		left: 0;
	}
	.therapistSliderNav .slick-next {
		right: 0;
	}

	.mutual-link-list{
		column-width:220px;
	}

	.recruitExample_list {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.5rem;
	}

	.recruitSupport_list {
		font-size: 1.6rem;
		grid-template-columns: repeat(3, 1fr);
	}

	.recruitContact_buttons {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.recruitWorry_head {
		padding: 4rem 1rem 6rem;
	}

	.recruitWorry_head-inner {
		padding: .5rem 3rem;
	}

	.recruitWorry_head-sub {
		font-size: 1rem;
	}

	.recruitWorry_head-title {
		font-size: 1.8rem;
	}

	.recruitWorry_area {
		padding: 3rem 2rem 5rem;
	}

	.recruitWorry_card {
		padding: 2rem;
	}

	.recruitWorry_list p {
		font-size: 1rem;
	}

	.recruitFlow_head-title {
		font-size: 1.3rem;
	}

	.recruitFlow_item {
		padding-top: 3rem !important;
	}

	.recruitFlow_image {
		width: 170px;
	}

	.recruitFlow_arrow {
		margin-bottom: 3.5rem;
	}

}

@media all and (min-width:1024px){

	#recruit #page_title_wrapper{
		aspect-ratio:3 / 1
	}

	.anchor_target {
		scroll-margin-top: 134px;
	}

	.title_h2{
		font-size:1.4em;
	}
	.title_h3{
		font-size:1.2em;
	}

	.shortestShop{
		min-width:16em;
	}

	.therapistProfileSticky{
		top: 134px;
	}
	.roomTelShopName{
		min-width:auto;
		padding-right:1em;
	}

	.roomTabs{
		top:130px;
	}

	.bubbleBg{
		display:block;
		position:fixed;
		inset:0;
		width:100%;
		height:100vh;
		pointer-events:none;
		z-index:0;
	}
	.bubble{
		position:absolute;
		display:block;
		border-radius:50%;
		background:rgba(215,235,255,.42);
		border:1px solid rgba(105,155,210,.4);
		box-shadow:
			inset 6px 6px 12px rgba(255,255,255,.6),
			inset -6px -6px 12px rgba(105,155,210,.1),
			0 0 12px rgba(105,155,210,.1);
		opacity:0;
	}
	.bubble::before{
		content:"";
		position:absolute;
		top:16%;
		left:20%;
		width:30%;
		height:18%;
		border-radius:50%;
		background:rgba(255,255,255,.64);
		transform:rotate(-35deg);
		filter:blur(.5px);
	}
	.bubble-01{
		top:42%;
		left:46%;
		width:40px;
		height:40px;
		animation:bubbleSpreadLeft 22s linear infinite;
		animation-delay:-2s;
	}
	.bubble-02{
		top:58%;
		left:54%;
		width:62px;
		height:62px;
		animation:bubbleSpreadRight 27s linear infinite;
		animation-delay:-11s;
	}
	.bubble-03{
		top:48%;
		left:42%;
		width:30px;
		height:30px;
		animation:bubbleSpreadLeft 19s linear infinite;
		animation-delay:-7s;
	}
	.bubble-04{
		top:63%;
		left:57%;
		width:80px;
		height:80px;
		animation:bubbleSpreadRight 31s linear infinite;
		animation-delay:-16s;
	}
	.bubble-05{
		top:55%;
		left:48%;
		width:48px;
		height:48px;
		animation:bubbleSpreadLeft 25s linear infinite;
		animation-delay:-5s;
	}
	.bubble-06{
		top:38%;
		left:52%;
		width:34px;
		height:34px;
		animation:bubbleSpreadRight 21s linear infinite;
		animation-delay:-13s;
	}
	.bubble-07{
		top:68%;
		left:44%;
		width:68px;
		height:68px;
		animation:bubbleSpreadLeft 29s linear infinite;
		animation-delay:-19s;
	}
	.bubble-08{
		top:45%;
		left:59%;
		width:44px;
		height:44px;
		animation:bubbleSpreadRight 23s linear infinite;
		animation-delay:-9s;
	}
	.bubble-09{
		top:36%;
		left:47%;
		width:38px;
		height:38px;
		animation:bubbleSpreadLeft 24s linear infinite;
		animation-delay:-15s;
	}
	.bubble-10{
		top:52%;
		left:61%;
		width:56px;
		height:56px;
		animation:bubbleSpreadRight 30s linear infinite;
		animation-delay:-20s;
	}
	.bubble-11{
		top:66%;
		left:51%;
		width:32px;
		height:32px;
		animation:bubbleSpreadLeft 21s linear infinite;
		animation-delay:-10s;
	}
	.bubble-12{
		top:41%;
		left:56%;
		width:72px;
		height:72px;
		animation:bubbleSpreadRight 33s linear infinite;
		animation-delay:-24s;
	}
	@keyframes bubbleSpreadLeft{
		0%{
			transform:translate3d(-50%,-50%,0) scale(.8);
			opacity:0;
		}
		15%{
			opacity:.48;
		}
		35%{
			transform:translate3d(-10vw,-12vh,0) scale(.9);
		}
		65%{
			transform:translate3d(-25vw,-26vh,0) scale(.98);
		}
		85%{
			opacity:.4;
		}
		100%{
			transform:translate3d(-46vw,-52vh,0) scale(1.05);
			opacity:0;
		}
	}
	@keyframes bubbleSpreadRight{
		0%{
			transform:translate3d(-50%,-50%,0) scale(.8);
			opacity:0;
		}
		15%{
			opacity:.48;
		}
		35%{
			transform:translate3d(8vw,-10vh,0) scale(.9);
		}
		65%{
			transform:translate3d(27vw,-30vh,0) scale(.98);
		}
		85%{
			opacity:.4;
		}
		100%{
			transform:translate3d(44vw,-55vh,0) scale(1.05);
			opacity:0;
		}
	}

	.recruitCharacter_item {
		display: flex;
		align-items: center;
		gap: 4rem;
	}

	.recruitCharacter_body{
		width: calc(70% - 2rem);
	}
	.recruitCharacter_image-pc {
		width: calc(30% - 2rem);
	}

	.recruitCharacter_image-sp {
		display: none;
	}

	.recruitCharacter_image-pc {
		display: block;
	}

	.recruitCharacter_item.is-odd .recruitCharacter_image-pc {
		order: 1;
	}

	.recruitCharacter_item.is-odd .recruitCharacter_body {
		order: 2;
	}

	.recruitCharacter_item.is-even .recruitCharacter_body {
		order: 1;
	}

	.recruitCharacter_item.is-even .recruitCharacter_image-pc {
		order: 2;
	}

	.recruitSalary_list {
		grid-template-columns: repeat(2, 1fr);
	}

	.recruitSupport_list {
		display: grid;
		grid-template-columns: repeat(6, minmax(0, 1fr));
		width: 100%;
		max-width: 100%;
		gap: 4px;
		margin-left: auto;
		margin-right: auto;
		box-sizing: border-box;
	}

	.recruitSupport_inner {
		aspect-ratio: 16 / 9;
	}

	.recruitSupport_inner p {
		margin:0;
		font-size: 1.1rem;
	}

	.recruitBenefits_number {
		top: -1.4rem;
		left: -1rem;
		width: 3rem;
		height: 3rem;
		font-size: 1.2rem;
	}

	.recruitContact_list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.recruitWorry_head {
		padding: 5rem 1rem 7rem;
	}

	.recruitWorry_head-inner {
		padding: 0 4rem;
	}

	.recruitWorry_head-sub {
		font-size: 1.1rem;
	}

	.recruitWorry_head-title {
		font-size: 2rem;
	}

	.recruitWorry_area {
		padding: 4rem 2rem 6rem;
	}

	.recruitWorry_area::before {
		top: -80px;
		left: -5%;
		width: 110%;
		height: 130px;
	}

	.recruitWorry_card {
		display: flex;
		align-items: center;
		min-height: 270px;
		padding: 2rem 2.5rem;
	}

	.recruitFlow_head-title {
		font-size: 1.4rem;
	}

	.recruitFlow_item {
		min-height: 270px;
		padding: 3rem !important;
	}

	.recruitFlow_number {
		width: 5.2rem;
		height: 5.2rem;
	}

	.recruitFlow_number strong {
		font-size: 1.9rem;
	}

	.recruitFlow_image {
		width: 185px;
	}

	.recruitFlow_title {
		font-size: 1.3rem;
	}

	.recruitFlow_text {
		font-size: .95rem;
	}

	.recruitFlow_arrow {
		margin-top: 2.5rem;
		margin-bottom: 4rem;
	}

}

@media all and (min-width:1280px){

	.therapistSch{width:12.5%}

	.therapistSch:nth-child(4n + 1) > div {
		border-left: 0;
	}
	.therapistSch:first-child > div {
		border-left: 1px solid #e8c6b4;
	}

	.system-fee_list-name{
		width:22em;
	}

	.recruitLead {
		padding:10em auto;
		display: flex;
		align-items: center;
		min-height: 400px;
	}

	.recruitLead_container {
		width: calc(100% - 2rem);
		max-width: 1024px;
		margin-left: auto;
		margin-right: auto;
	}

	.recruitLead_image-left,
	.recruitLead_image-right {
		position: absolute;
		top: 50%;
		width: calc((100% - 1024px) * .4);
		min-width: 280px;
		max-width: none;
		margin: 0;
	}

	.recruitLead_image-left {
		display: block;
		left: calc((100% - 1024px) / 2);
		transform: translate(-100%, -60%);
	}

	.recruitLead_image-right {
		right: calc((100% - 1024px) / 2);
		transform: translate(100%, -40%);
	}

	.recruitCharacter_body{
		width: calc(76% - 2rem);
	}
	.recruitCharacter_image-pc {
		width: calc(24% - 2rem);
	}

	.recruitSalary_list {
		grid-template-columns: repeat(3, 1fr);
	}

	.recruitWorry_head-title {
		font-size: 2.2rem;
	}

	.recruitWorry_card {
		max-width: 920px;
		min-height: 280px;
	}

}

@media all and (min-width:1440px){

	.recruitLead {
		display: flex;
		align-items: center;
		min-height: 500px;
	}

}

@media all and (min-width:768px){

	#recruit #page_main_title{
		font-size:2.6em;
		transform:rotate(-8deg);
		letter-spacing: .05em;
	}

}

@media all and (min-width:1024px){

	#recruit #page_main_title{
		font-size:3.2em;
	}

}

@media all and (min-width:1280px){

	#recruit #page_main_title{
		font-size:3.8em;
		padding:0 .4em
	}

}

@media all and (min-width:1440px){

	#recruit #page_main_title{
		font-size:4.6em;
		padding:0 .2em
	}

}