@charset "utf-8";

:root {
	margin: 0 !important;
}

body {
	padding: 0 !important;
}

/* ==========================================
カスタムプロパティ
========================================== */

:root {
	/* base color */
	--base-font-color: #38352E;

	/* ui color */
	--ui-border-color: #555;
	--ui-focus-color: #333;
	/* ui color */
	--ui-border-color: #555;
	--ui-focus-color: #333;

	/* site color */
	--black: #38352E;
	--white: #fff;
	--primary: #BA8F52;
	--secondary: #E9E2D2;
	--tertiary: #E0D2B8;
	--quaternary: #F2F1ED;
	--fifth: #B3ADA0;

	/* btn color */
	--btn-primary: var(--primary);
	--btn-primary-hover: var(--primary-hover);
	--btn-secondary: var(--secondary);
	--btn-secondary-hover: var(--secondary-hover);
	--btn-tertiary: var(--tertiary);
	--btn-tertiary-hover: var(--tertiary-hover);
	--btn-quaternary: var(--quaternary);
	--btn-quaternary-hover: var(--quaternary-hover);
	--btn-fifth: var(--fifth);
	--btn-fifth-hover: var(--fifth-hover);
	--btn-sixth: var(--sixth);
	--btn-sixth-hover: var(--sixth-hover);

	/* font family */
	--fontA: "Zen Kaku Gothic New", sans-serif;
	--fontB: "DM Sans", sans-serif;
}

/* ==========================================
共通
========================================== */

html {
	/* font-size: var(--root-font-size); */
	font-size: 62.5%;
}

body {
	margin: 0 auto;
	max-width: 192rem;
	width: 100%;
	line-height: 1.6;
	font-size: 1.6rem;
	font-weight: 500;
	font-family: var(--fontA);
	color: var(--black);
	background: var(--secondary);
	overflow-x: hidden;
}

main {
	margin: 12rem 0 0;
	overflow-x: hidden;
}

input {
	appearance: auto;
	border: 1px solid var(--ui-border-color);
}

input:focus-visible {
	outline: 1px solid var(--ui-focus-color);
	border-color: var(--ui-focus-color);
}

textarea {
	border: 1px solid var(--ui-border-color);
}

textarea:focus-visible {
	outline: 1px solid var(--ui-focus-color);
	border-color: var(--ui-focus-color);
}

img {
	max-width: 100%;
	height: auto;
}

p {
	letter-spacing: 0.05em;
	line-height: 2.1875;
	font-weight: 500;
}

.fontA {
	font-family: var(--fontA) !important;
}

.wrap01 {
	margin-top: 16rem;
}

.inBtm {
	margin-bottom: 16rem;
}

.area {
	margin: 0 auto;
	padding: 0 2.5rem;
	width: 100%;
}

.area01 {
	margin: 0 auto;
	padding: 0 2.5rem;
	width: 100%;
	max-width: 147rem;
}

.area02 {
	margin: 0 auto;
	padding: 0 2.5rem;
	width: 100%;
	max-width: 127rem;
}

.primary {
	color: var(--primary);
}

.underline01 {
	font-weight: 700;
	color: var(--primary);
	background: linear-gradient(transparent 70%, #E0D2B8 30%);
}

.tit50 {
	font-size: 5rem;
	line-height: 1.45;
	letter-spacing: 0.05em;
	font-family: var(--fontB);
	font-weight: 400;
}

.br768 {
	display: none;
}

/* ==========================================
カバー
========================================== */

.aboutCvr {
	background: url(../../../../uploads/cover_about.jpg)no-repeat center /cover;
}

.menuCvr {
	background: url(../../../../uploads/cover_menu.jpg)no-repeat center /cover;
}

.galleryCvr {
	background: url(../../../../uploads/cover_gallery.jpg)no-repeat center /cover;
}

.recruitCvr {
	background: url(../../../../uploads/cover_recruit.jpg)no-repeat center /cover;
}

.accessCvr {
	background: url(../../../../uploads/cover_access.jpg)no-repeat center /cover;
}

.newsCvr {
	background: url(../../../../uploads/cover_news.jpg)no-repeat center /cover;
}

.cover {
	position: relative;
	width: 100%;
	height: 45rem;
}

.cover::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	background: #26231D;
	opacity: .4;
}

.cvrAr {
	height: 100%;
	width: 100%;
	max-width: 167rem;
	padding: 0 2.5rem 4rem;
	margin: 0 auto;
}

.cvrTit {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: flex-end;
	height: 100%;
	font-size: 9rem;
	font-family: var(--fontB);
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.45;
	color: var(--white);
}

.cvrBg {
	width: 100%;
	height: 8rem;
	background: url(../../../../uploads/cover_bg.jpg)no-repeat center/cover;
}


/* ==========================================
パンくず
========================================== */

.breadcrumbs-wrapper {
	max-width: 192rem;
	width: 100%;
	margin: 0 auto;
	padding: 1.5rem 2.5rem;
}

.breadcrumbs-list {
	max-width: 162rem;
	width: 100%;
	margin: 0 auto;
	display: flex;
	align-items: center;
	flex-wrap: wrap
}

.breadcrumbs-item {
	font-size: 1.4rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.7;
	display: flex;
	align-items: center;
}

.breadcrumbs-link {
	display: block;
	text-decoration: underline;
}

.breadcrumbs-link:hover {
	text-decoration: none;
}

.breadcrumbs-arrow {
	margin: 0 1rem;
}


/* ==========================================
下層
========================================== */

.anchor {
	margin: -28rem 0 0;
	padding: 28rem 0 0;
}

.inRead01 {
	position: relative;
	margin: 16.7rem 0 0;
	padding: 15.3rem 0 16.7rem;
	background: var(--quaternary);
}

.inReadBx {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	max-width: 142rem;
	margin: 0 auto;
}

.inReadTxtBx {
	position: relative;
	z-index: 2;
	width: 50%;
	max-width: 66rem;
}

.inReadTxt01 {
	font-size: 3rem;
	line-height: 1.5;
	letter-spacing: 0.05em;
	font-weight: 500;
}

.inReadTxt01 span {
	font-size: 4rem;
}

.inReadTxt02 {
	margin: 1rem 0 0;
	font-size: 2rem;
	line-height: 1.45;
}

.inReadTxt03 {
	padding: 6rem 5rem 4rem 0;
	font-size: 1.6rem;
	line-height: 2.1875;
	background: var(--quaternary);
}

.inReadImg {
	position: relative;
	z-index: 1;
	width: 70%;
	margin: 0 0 0 -20rem;
	padding: 0 0 4rem 0;
}

.inReadPolicyBx {
	position: relative;
	width: 100%;
	max-width: 182rem;
	margin: 12rem auto 0;
	padding: 13rem 10rem;
	background: url(../../../../uploads/top_policy01.jpg)no-repeat center /cover;
}

.inReadPolicyBx::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	background: #26231D;
	opacity: .4;
}

.inReadPolicyTxtBx {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: max-content;
	margin: 0 0 0 auto;
}

.inReadPolicyTxt01 {
	font-family: var(--fontB);
	font-weight: 400;
	font-size: 5rem;
	line-height: 1.45;
	letter-spacing: 0.05em;
	color: var(--white);
}

.inReadPolicyTxt02 {
	margin: 6rem 0 0;
	font-size: 1.6rem;
	color: var(--white);
}

.inReadSixBx {
	display: flex;
	justify-content: space-between;
	gap: 2rem;
	width: 100%;
	max-width: 142rem;
	margin: 16rem auto 0;
}

.inReadSixBxL {
	width: 41%;
	max-width: 570rem;
	border-right: 1px solid var(--fifth);
}

.inReadSixTit {
	font-size: 3rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.45;
}

.inReadSixTit span {
	font-size: 4rem;
	color: var(--primary);
}

.inReadSixBxL .btn01 {
	margin: 4rem 0 0;
}

.inReadSixBxR {
	flex: 1;
	max-width: 69.5rem;
}

.inReadSixRow {
	display: flex;
	align-items: baseline;
}

.inReadSixRow:first-of-type {
	margin: 1rem 0 0;
}

.inReadSixHead {
	width: 11rem;
	font-family: var(--fontB);
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.45;
	letter-spacing: 0.05em;
}

.inReadSixHead span {
	font-size: 2.5rem;
	color: var(--primary);
}

.inReadSixTxt {
	flex: 1;
	font-size: 2rem;
	line-height: 1.45;
	letter-spacing: 0.05em;
}

.inFlex01 {
	margin: 16rem 0 0;
}

.inFlWr {
	position: relative;
	z-index: 2;
	margin: 13rem 0 0;
	padding: 0 0 10rem 0;
}

.inFlWr:nth-of-type(2n-1)::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: -1;
	width: 50%;
	max-width: 93rem;
	aspect-ratio: 93/43;
	background: url(../../../../uploads/fv_bg01.jpg)no-repeat center/cover;
}

.inFlWr:nth-of-type(2n)::before {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: -1;
	width: 50%;
	max-width: 93rem;
	aspect-ratio: 93/43;
	background: url(../../../../uploads/fv_bg01.jpg)no-repeat center/cover;
}

.inFlWr:first-of-type {
	margin: 8rem 0 0;
}

.inFlTit01 {
	width: 100%;
	max-width: 162rem;
	margin: 0 auto;
	padding: 0 1.5rem;
	font-family: var(--fontB);
	font-size: 4rem;
	line-height: 1.45;
	letter-spacing: 0.05em;
	font-weight: 400;
	text-align: center;
}

.inFlTit01.fontA {
	font-weight: 500;
}

.inFlTit02 {
	width: 100%;
	max-width: 162rem;
	margin: .5rem auto 0;
	padding: 0 1.5rem;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.45;
}

.inFlFl {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	max-width: 142rem;
	margin: 0 auto;
}

.inFlWr:nth-of-type(2n) .inFlFl {
	flex-direction: row-reverse;
}

.inFlImg {
	width: 55%;
	max-width: 78rem;
}

.inFlTxtBx {
	width: 40%;
	max-width: 54rem;
}

.inFlTxt01 {
	color: var(--tertiary);
	font-family: var(--fontB);
	font-weight: 500;
	font-size: 8rem;
	line-height: 1;
	letter-spacing: 0.05em;
}

.inFlTxt02 {
	color: var(--primary);
	font-weight: 500;
	font-size: 2rem;
	line-height: 1.45;
	letter-spacing: 0.05em;
}

.inFlTxt03 {
	margin: 2rem 0 0;
	font-size: 3rem;
	line-height: 1.45;
}

.inFlTxt03 span {
	font-size: 4rem;
	color: var(--primary);
}

.inFlTxt04 {
	margin: 6rem 0 0;
	font-size: 1.6rem;
}

.inRelax {
	margin: 16rem 0 0;
	padding: 16rem 0;
	background: var(--quaternary);
}

.inRlxAr {
	max-width: 187rem;
}

.inRlxFl {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 2rem;
	margin: 13rem 0 0;
}

.inRlxFl:nth-of-type(2n) {
	flex-direction: row-reverse;
}

.inRlxFl:first-of-type {
	margin: 10rem 0 0;
}

.inRlxImg {
	width: 50%;
}

.inRlxTxtBx {
	width: 50%;
	max-width: max-content;
	margin: 0 20rem 0 0;
}

.inRlxFl:nth-of-type(2n) .inRlxTxtBx {
	margin: 0 0 0 20rem;
}

.inVoice {
	margin: 16rem 0 0;
}

.inVoBx {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 3.5rem;
	margin: 6rem 0 0;
}

.inVoItem {
	width: 100%;
	max-width: 45rem;
	height: 100%;
	margin: 0 auto;
	padding: 2rem;
	background: var(--quaternary);
}

.inVoImg {
	width: 100%;
}

.inVoTxt01 {
	margin: 3rem 0 0;
	font-size: 2rem;
	line-height: 1.45;
}

.inVoTxt02 {
	margin: 3rem 0 0;
	font-size: 1.6rem;
	line-height: 1.875;
}

.inFaqBx {
	margin: 6rem 0 0;
}

.accordionlist {
	margin: 2rem 0 0;
}

.accordionlist:first-of-type {
	margin: 0;
}

.accordionBtn,
.accordionContent {
	padding: 3rem 5rem;
}

.accordionBtn {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 2rem;
	background: var(--quaternary);
	cursor: pointer;
	transition: all .3s;
}

.accordionBtn:hover {
	box-shadow: inset 0 0 0 .3rem #E0D2B8;
}

.accordionBtnInr {
	display: flex;
	align-items: baseline;
	gap: 1.5rem;
}

.accordionIconBatch {
	font-family: var(--fontB);
	font-weight: 500;
	font-size: 3rem;
	line-height: 1.45;
}

.accordionTxt {
	flex: 1;
	line-height: 1.45;
}

.accordionTxt a {
	text-decoration: underline;
}

.accordionTxt a:hover {
	text-decoration: none;
}

.accordionBtn .accordionTxt {
	font-size: 2rem;
}

.accordionIcon {
	position: relative;
	width: 2rem;
	aspect-ratio: 1/1;
}

.accordionIconItem {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 100%;
	height: .15rem;
	background: var(--black);
	transition: all .3s;
}

.accordionIconItem01 {
	transform: rotate(90deg);
}

.accordionIcon.active .accordionIconItem01 {
	transform: rotate(0);
}

.accordionContent {
	display: none;
	background: var(--tertiary);
}

.accordionContentInr {
	display: flex;
	align-items: baseline;
	gap: 1.5rem;
}

.accordionContent .accordionTxt {
	font-size: 1.6rem;
}


/* ==========================================
スマホ固定ヘッダー
========================================== */

.sp-header {
	width: 100%;
	height: 8rem;
	display: none;
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 9999;
	border-top: 1px solid var(--fifth);
}

.sp-header-block {
	width: 100%;
	height: 100%;
	flex: 1;
	border-right: solid 1px;
}

.sp-header-block-color {
	background: var(--quaternary);
	border-color: var(--fifth);
	color: var(--black);
}

.sp-header-block:last-of-type {
	border: none;
}

.sp-header-link {
	width: 100%;
	height: 100%;
	display: flex;
	padding: 1.25rem 0 1.5rem;
	flex-direction: column;
	justify-content: flex-end;
	align-items: center;
	gap: 1rem;
}

.sp-header-link:before {
	content: "";
	display: inline-block;
	max-width: 3rem;
	width: 100%;
	height: 3rem;
	font-size: 2.5rem;
	font-weight: 900;
	text-align: center;
}

.sp-header-link-pagetop:before {
	width: 1.85rem;
	height: 1rem;
	background: url(../../../../uploads/pagetop_icon.svg)no-repeat center/contain;
}

.sp-header-link-line:before {
	width: 2.2rem;
	height: 2.2rem;
	background: url(../../../../uploads/line_icon.png)no-repeat center/contain;
}

.sp-header-link-reserve:before {
	width: 1.9rem;
	height: 2.01rem;
	background: url(../../../../uploads/reserve_icon.svg)no-repeat center/contain;
}

.sp-header-link-map:before {
	width: 1.81rem;
	height: 2.43rem;
	background: url(../../../../uploads/map_icon.svg)no-repeat center/contain;
}


.sp-header-link-tel:before {
	width: 1.81rem;
	height: 2.43rem;
	background: url(../../../../uploads/tel.png)no-repeat center/contain;
}


.sp-header-link-text {
	font-size: 1.1rem;
	line-height: 1.45;
	font-weight: 500;
}

/* ---------- ハンバーガーボタン ---------- */

.sp-nav-btn {
	width: 6rem;
	height: 6rem;
	display: none;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	position: fixed;
	top: 2.5rem;
	right: 2.5rem;
	z-index: 9999;
	transition: all .3s;
}

.sp-nav-btn:hover {
	transform: scale(1.1);
}

.sp-nav-btn-color {
	background: var(--primary);
}

.sp-nav-btn-color.js-open {
	background: var(--quaternary);
}

.sp-nav-btn-bar-box {
	max-width: 2rem;
	width: 100%;
	height: 1.3rem;
	display: flex;
	position: relative;
}

.sp-nav-btn-bar {
	display: block;
	width: 100%;
	height: 1px;
	background: var(--quaternary);
	position: absolute;
	right: 0;
	left: 0;
	margin: auto;
	transition: .3s;
}

.js-open .sp-nav-btn-bar {
	background: var(--primary);
}

.sp-nav-btn-bar-top {
	top: 10%;
}

.sp-nav-btn-bar-center {
	top: 50%;
	transform: translateY(-50%);
}

.sp-nav-btn-bar-bottom {
	top: 90%;
	transform: translateY(-100%);
}

.sp-nav-btn-text {
	font-size: 1.4rem;
	margin: .7rem 0 0;
}

.js-open .sp-nav-btn-bar-top {
	top: 50%;
	transform: rotate(45deg) translateY(-50%);
}

.js-open .sp-nav-btn-bar-center {
	opacity: 0;
}

.js-open .sp-nav-btn-bar-bottom {
	top: 50%;
	transform: rotate(-45deg) translateY(-50%);
}

/* ---------- ハンバーガーメニュー ---------- */

.js-sp-nav {
	display: none;
	max-width: 1920px;
	width: 100%;
	margin: auto;
	padding: 0;
	position: fixed;
	top: 0;
	bottom: 0;
	right: -100%;
	transition: ease .5s;
	z-index: 999;
}

.sp-nav.js-open {
	right: 0;
}

.sp-nav-bg {
	background: var(--primary);
}

.sp-nav-area {
	width: 100%;
	height: 100%;
	margin: 0 auto;
	overflow: auto;
	padding: 15rem 2.5rem 8rem;
	max-width: 45rem;
}

.sp-nav-list {
	padding: 0;
	width: 100%;
	overflow-y: scroll;
	-ms-overflow-style: none;
}

.sp-nav-list::-webkit-scrollbar {
	display: none;
}

.sp-nav-list-item {
	width: 100%;
	display: block;
	font-weight: bold;
	line-height: 1.5em;
	letter-spacing: 0.05em;
	position: relative;
	border-bottom: solid 1px;
}

.sp-nav-list-item a {
	position: relative;
	display: block;
	padding: 1.5rem 0;
	font-size: 1.8rem;
	transition: .3s;
	font-weight: 400;
	font-family: var(--fontB);
}

.sp-nav-list-item a::before {
	content: "";
	position: absolute;
	right: .5rem;
	top: 0;
	bottom: 0;
	width: 1.5rem;
	height: 1.1rem;
	margin: auto 0;
	background: url(../../../../uploads/arrow01_white.svg)no-repeat center/contain;
}

.sp-nav-list-item a:hover {
	opacity: .6;
}

.sp-nav-list-item-color {
	border-bottom-color: var(--quaternary);
	color: var(--quaternary);
}

/* ボタン */

.btn01 {
	width: 100%;
	max-width: 22rem;
	height: 4rem;
}

.btn01 a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-direction: row-reverse;
	width: 100%;
	height: 100%;
	padding: 0 2rem 0 3rem;
	border: 1px solid var(--fifth);
	border-radius: 100vmax;
	font-family: var(--fontB);
	font-size: 1.8rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.45;
	transition: all .3s;
}

.btn01 a::before {
	content: "";
	display: block;
	width: 1rem;
	height: 1.4rem;
	background: url(../../../../uploads/arrow01.svg)no-repeat center/contain;
	transition: all .3s;
}

.btn01 a:hover {
	background: var(--primary);
	color: var(--quaternary);
	border: 1px solid var(--primary);
}

.btn01 a:hover::before {
	filter: brightness(0) saturate(100%) invert(95%) sepia(2%) saturate(294%) hue-rotate(1deg) brightness(105%) contrast(90%);
}

.btn01.backBtn a {
	flex-direction: row
}

.btn01.backBtn a::before {
	transform: scale(-1, 1);
}

.btn02 {
	position: relative;
	width: 100%;
	max-width: 38rem;
	height: 6rem;
}

.btn02 a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: row-reverse;
	gap: .7rem;
	width: 100%;
	height: 100%;
	padding: 0 2.5rem;
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.45;
	transition: all .3s;
}

.btn02 a::after {
	content: "";
	display: block;
}

.btn02 a:hover {
	background: var(--primary);
	color: var(--quaternary);
}

.btn02 a:hover::before {
	filter: brightness(0) saturate(100%) invert(95%) sepia(2%) saturate(294%) hue-rotate(1deg) brightness(105%) contrast(90%);
}

.btnLine a::after {
	width: 2.5rem;
	height: 100%;
	background: url(../../../../uploads/line_icon.png) no-repeat center /contain;

}

.btnReserve a::after {
	width: 2rem;
	height: 100%;
	background: url(../../../../uploads/reserve_icon.svg) no-repeat center /contain;
	transition: all .3s;
}

.btnReserve a:hover::after {
	filter: brightness(0) saturate(100%) invert(95%) sepia(2%) saturate(294%) hue-rotate(1deg) brightness(105%) contrast(90%);
}

.btnQuaternary a {
	border: 1px solid var(--fifth);
	background: #F2F1ED;
}

.btnQuaternary a::before {
	content: "";
	position: absolute;
	top: 0;
	right: 2rem;
	bottom: 0;
	margin: auto 0;
	width: 1.32rem;
	height: 0.97rem;
	background: url(../../../../uploads/arrow01.svg) no-repeat center/contain;
	transform: rotate(-45deg);
	transition: all .3s;
}

.btnHidden{
	display: none !important;
}

/* ==========================================
テーブル
========================================== */

.table01 .tr {
	display: flex;
	width: 100%;
	padding: 3rem 0;
	border-bottom: 1px solid var(--fifth);
}

.table01 .th {
	width: 20.5rem;
}

.table01 p {
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.67;
}

.table01 .td {
	flex: 1;
}

.table01 .tableTxtPrimary {
	margin: 1rem 0 0;
	color: var(--primary);
	font-size: 1.6rem;
}

.tableBtnBx {
	display: flex;
	gap: 1rem;
	margin: 1rem 0 0;
}

.tableBtnBx .btn01 {
	max-width: 20rem;
	height: 3.5rem;
}

.tableBtnBx .btn01 a {
	padding: 0 1.5rem 0 2rem;
	font-size: 1.6rem;
	background: var(--quaternary);
}

.tableBtnBx .btn01 a:hover {
	max-width: 20rem;
	height: 3.5rem;
	padding: 0 1.5rem 0 2rem;
	font-size: 1.6rem;
	background: var(--primary);
}

.tableBtnBx .btn01 a::before {
	transform: rotate(90deg);
}


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <=1920px) {

	html {
		/* 10px */
		font-size: 0.52083vw;
	}

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <=1550px) {

	html {
		/* 10px */
		font-size: 0.64516vw;
	}

	.inRlxTxtBx {
		margin: 0 5rem 0 0;
	}

	.inRlxFl:nth-of-type(2n) .inRlxTxtBx {
		margin: 0 0 0 5rem;
	}

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <=1024px) {

	html {
		/* 10px */
		font-size: 0.97656vw;
	}

	.inReadImg {
		margin: 0 0 0 -4rem;
	}

	.inReadSixBxL {
		width: 26%;
	}

	.inRlxTxtBx {
		margin: 0;
	}

	.inRlxFl:nth-of-type(2n) .inRlxTxtBx {
		margin: 0;
	}

	.inFlTxt03 {
		font-size: 2.1rem;
	}

	.inFlTxt03 span {
		font-size: 2.6rem;
	}

	.inRlxFl .inFlTxt04 br {
		display: none;
	}

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <=768px) {

	html {
		/* 10px */
		font-size: 1.30208vw;
	}

	.wrap01 {
		margin-top: 6rem;
	}

	.inBtm {
		margin-bottom: 6rem;
	}

	.tit50 {
		font-size: 3rem;
	}

	.br768 {
		display: block;
	}

	.anchor {
		margin: -14.5rem 0 0;
		padding: 14.5rem 0 0;
	}

	/* ==========================================
	カバー
	========================================== */

	.cover {
		height: 30rem;
	}

	.cvrAr {
		padding: 0 2.5rem 3rem;
	}

	.cvrTit {
		font-size: 5rem;
	}

	.cvrBg {
		height: 4rem;
	}

	/* ==========================================
	下層
	========================================== */

	.inRead01 {
		margin: 7.5rem 0 0;
		padding: 5rem 0 6rem;
	}

	.inReadBx {
		flex-direction: column-reverse;
		align-items: flex-start;
		margin: 0 0 0 7.7%;
	}

	.inReadTxtBx {
		width: 80%;
		margin: -2rem 0 0;
		background: var(--quaternary);
		padding: 3.5rem 0 0;
	}

	.inReadTxt01 {
		font-size: 2.5rem;
	}

	.inReadTxt01 span {
		font-size: 2.7rem;
	}

	.inReadTxt02 {
		font-size: 1.6rem;
	}

	.inReadTxt03 {
		margin: 5rem 0 0;
		padding: 0;
		font-size: 1.5rem;
	}

	.inReadImg {
		width: calc(100% + 2.5rem);
		margin: 0;
		padding: 0;
	}

	.inReadPolicyBx {
		margin: 6rem 0 0;
		padding: 6rem 2.5rem;
	}

	.inReadPolicyTxt01 {
		font-size: 3rem;
		line-height: 1.12;
	}

	.inReadPolicyTxt02 {
		margin: 5rem 0 0;
		font-size: 1.5rem;
	}

	.inReadPolicyTxt02 br {
		display: none;
	}

	.inReadSixBx {
		flex-direction: column;
		margin: 8rem 0 0;
	}

	.inReadSixBxL {
		display: contents;
	}

	.inReadSixTit {
		padding: 0 0 2rem 0;
		font-size: 2rem;
		border-bottom: 1px solid var(--fifth);
	}

	.inReadSixTit span {
		font-size: 2.5rem;
	}

	.inReadSixRow:first-of-type {
		margin: 2.2rem 0 0;
	}

	.inReadSixHead {
		width: 9rem;
		font-size: 1.5rem;
	}

	.inReadSixHead span {
		font-size: 2rem;
	}

	.inReadSixTxt {
		font-size: 1.6rem;
	}

	.inReadSixBxL .btn01 {
		order: 1;
		margin: 0;
	}

	.inFlex01 {
		margin: 8rem 0 0;
	}

	.inFlTit01 {
		font-size: 3rem;
		line-height: 1.167;
	}

	.inFlTit02 {
		margin: .4rem 0 0;
		font-size: 1.6rem;
	}

	.inFlWr {
		margin: 6rem 0 0;
		padding: 0;
	}

	.inFlFl,
	.inFlWr:first-of-type .inFlFl,
	.inFlWr:nth-of-type(2n) .inFlFl {
		flex-direction: column;
		margin: 8rem auto 0;
		gap: 4rem;
	}

	.inFlWr:nth-of-type(2n-1)::before,
	.inFlWr:nth-of-type(2n)::before {
		display: none;
	}

	.inFlImg {
		position: relative;
		width: 100%;
		padding: 0 0 2.5rem 0;
	}

	.inFlWr:nth-of-type(2n-1) .inFlImg img {
		display: block;
		margin: 0 -2.5rem 0 auto;
	}

	.inFlWr:nth-of-type(2n) .inFlImg img {
		display: block;
		margin: 0 auto 0 -2.5rem;
	}

	.inFlImg::before {
		content: "";
		position: absolute;
		left: -2.5rem;
		right: -2.5rem;
		bottom: 0;
		z-index: -1;
		aspect-ratio: 75/38;
		background: url(../../../../uploads/fv_bg01.jpg)no-repeat center/cover;
	}

	.inFlTxtBx {
		width: 100%;
	}

	.inFlTxt01 {
		font-size: 6rem;
	}

	.inFlTxt02 {
		font-size: 1.5rem;
	}

	.inFlTxt04 {
		margin: 5rem 0 0;
		font-size: 1.5rem;
		line-height: 2.31;
	}

	.inRelax {
		margin: 6rem 0 0;
		padding: 6rem 0;
	}

	.inRlxFl {
		margin: 4rem 0 0;
		flex-direction: column;
	}

	.inRlxFl:nth-of-type(2n) {
		flex-direction: column;
	}

	.inRlxFl:first-of-type {
		margin: 3rem 0 0;
	}

	.inRlxImg {
		width: 100%;
	}

	.inRlxTxtBx {
		width: 100%;
	}

	.inVoice {
		margin: 6rem 0 0;
	}

	.inVoBx {
		grid-template-columns: repeat(1, 1fr);
		gap: 2rem;
		margin: 3rem 0 0;
	}

	.inVoTxt01 {
		margin: 1.5rem 0 0;
		font-size: 1.8rem;
	}

	.inVoTxt02 {
		margin: 1.5rem 0 0;
		font-size: 1.5rem;
	}

	.inFaqBx {
		margin: 2.5rem 0 0;
	}

	.accordionBtn,
	.accordionContent {
		padding: 2rem;
	}

	.accordionBtn {
		gap: 1rem;
	}

	.accordionBtnInr {
		gap: 1rem;
	}

	.accordionIconBatch {
		font-size: 2.4rem;
	}

	.accordionBtn .accordionTxt {
		font-size: 1.7rem;
	}

	.accordionContent .accordionTxt {
		font-size: 1.6rem;
	}

	.accordionContentInr {
		gap: 1rem;
	}

	.accordionlist {
		margin: 1rem 0 0;
	}

	/* ==========================================
	スマホ固定ヘッダー
	========================================== */

	.sp-header {
		display: flex;
	}

	/* ---------- ハンバーガーボタン ---------- */

	.sp-nav-btn {
		display: flex;
	}

	/* ---------- ハンバーガーメニュー ---------- */

	.js-sp-nav {
		display: block;
	}

	/* ボタン */
	.btn01 {
		max-width: 18rem;
		height: 4rem;
	}

	.btn01 a {
		font-size: 1.6rem;
	}

	.btn02 {
		max-width: 20rem;
	}

	.btn02 a {
		justify-content: flex-end;
		padding: 0 1.5rem;
		font-size: 1.4rem;
		gap: 1rem;

	}

	.btnReserve a {
		gap: 1.25rem;
	}

	/* ==========================================
	テーブル
	========================================== */
	.table01 .tr {
		padding: 1.5rem 0;
		flex-direction: column;
	}

	.table01 .th {
		width: 100%;
	}

	.table01 p {
		font-size: 1.6rem;
	}

	.table01 .th p {
		font-weight: 700;
	}

	.table01 .td {
		padding: 1rem 0 0 1.5rem;
	}

	.table01 .tableTxtPrimary {
		margin: 0;
		font-size: 1.5rem;
	}

	.tableBtnBx {
		margin: .5rem 0 0;
	}

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <=576px) {

	html {
		/* 12px */
		font-size: 2.08333vw;
	}

	/* ==========================================
	スマホ固定ヘッダー
	========================================== */
	.sp-header {
		height: 6rem;
	}

	.sp-header-link {
		padding: 0.5rem 0;
	}

	.sp-header-link>a:before {
		font-size: 2rem;
	}

	.sp-header-link-text {
		font-size: 1rem;
		margin: 0;
	}

	/* ---------- ハンバーガーボタン ---------- */

	.sp-nav-btn {
		width: 6rem;
		height: 6rem;
	}

	.sp-nav-btn-bar-box {
		max-width: 2rem;
	}

	.sp-nav-btn-text {
		font-size: 1rem;
	}

	.sp-nav-btn-text {
		margin: 0;
	}

	/* ==========================================
テーブル
========================================== */
	.tableBtnBx {
		flex-direction: column;
	}

	/* 下層 */
	.inReadTxtBx {
		width: 100%;
	}

	.inReadBx {
		margin: 0;
	}
}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <=414px) {

	html {
		/* 14px */
		font-size: 2.43055vw;
	}

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */