@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Arvo:ital,wght@0,400;0,700;1,400;1,700&family=Roboto:wght@400;500&display=swap');

.googlebot * {
	opacity: 1 !important;
	-webkit-clip-path: none!important;
	clip-path: none!important;
}
.vertmiddle:before {
	content: '';
	display: inline-block;
	height: 100%;
	vertical-align: middle;
}
.vertmiddle>* {
	display: inline-block;
	vertical-align: middle;
}
/*===============================
HTML初期化 ver 2019.7.15
===============================*/

body {
	margin: 0;
	padding: 0;
	zoom: 1;
	min-width: 1000px;
  transition-property: opacity;
  transition-duration: 1s;
  opacity:0;
}
html:is(.is-loaded) body {
  opacity:1;
}
@media print,screen and (max-width: 780px) {
	body {
		min-width: unset;
	}
}
h1, h2, h3, h4, h5, h6 {
	margin: 0;
	padding: 0;
	font-weight: normal;
	font-style: normal;
}
p, dl, dt, dd, em, form, address, ul, li {
	margin: 0;
	padding: 0;
	font-style: normal;
}
/* HTML5用 */

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
	margin: 0;
	padding: 0;
}
fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
	margin: 1em 0;
	padding: 0;
}
ul {
	list-style: none;
	padding: 0;
	margin: 0;
	border: 0;
}
li {
	padding: 0;
	margin: 0;
}
input, select {
	vertical-align: middle;
}
/* tableタグ*/

th, td {
	padding: 0;
}
caption {
	text-align: left;
}
/* リンク設定 */

a {
	outline: 0;
	border: 0;
	transition: all 0.3s ease;
	color: #000;
	text-decoration: none;
}
@media print,screen and (max-width: 800px) {
	a {
		transition: none !important;
	}
}
a img {
	border: 0;
}
/* TELリンク */

@media print,screen and (min-width: 768px) {
	a[href^="tel:"] {
		pointer-events: none;
	}
}
img {
	border: 0;
	max-width: 100%;
	-webkit-backface-visibility: hidden;
	-ms-interpolation-mode: bicubic;
}
html {
	-webkit-text-size-adjust: none;
	zoom: 1;
}
body, html {
	height: 100%;
}
p {
	text-align: justify;
	text-justify: inter-ideograph;
}
/*============================================
基本CSS
===========================================*/

html {
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	font-size: 100px;
	-webkit-font-smoothing: antialiased;
}
@media (min-width:768px) {
	html {
    font-size: clamp(1024 / 1440 * 100px,100px,100 / 1440 * 100vw);
	}
}
@media print,screen and (max-width:767px) {
	html {
    -webkit-text-size-adjust: 100%;
		font-size: calc(100 / 375 * 100vw);
	}
}

body {
	font-family: "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	position: relative;
	font-weight:500;
	font-size: 0.16rem;
	letter-spacing: 0.02em;
	line-height: 1;
	background-color:#fff;
	color:#000;
}
@media print,screen and (max-width:699px) {
	body {
		min-width: inherit;
	}
}
html.edge {
	-ms-text-size-adjust: 100%;
}
html.safari {
	-webkit-font-smoothing: antialiased;
}
@media print, screen and (min-width: 781px) {
	html.safari {
		-webkit-font-feature-settings: "pkna";
		font-feature-settings: "pkna";
	}
}
@media print, screen and (min-width: 781px) {
	body {
		min-width: 1024px;
	}
}
.touchevents * {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.chrome body {
	image-rendering: -webkit-optimize-contrast;
}
img {
	-ms-interpolation-mode: bicubic;
	border-style: none;
}
svg:not(:root) {
	overflow: hidden;
}
hr {
	height: 0;
	overflow: visible;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
b, strong {
	font-weight: inherit;
	font-weight: bolder;
}
a {
	outline: 0;
	text-decoration: none;
	color: inherit;
	background-color: transparent;
	-webkit-text-decoration-skip: objects;
}
li {
	list-style: none;
}
sub, sup {
	position: relative;
	vertical-align: baseline;
	line-height: 0;
}
sub {
	bottom: -.25em;
}
sup {
	top: -.5em;
}
audio, video {
	display: inline-block;
}
audio:not([controls]) {
	display: none;
	height: 0;
}
canvas {
	display: inline-block;
}
input, select, button, optgroup, textarea {
	font-family: inherit;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: none;
	border: none;
	outline: 0;
	margin: 0;
	padding: 0;
}
button, input {
	overflow: visible;
}
button::-moz-focus-inner, input::-moz-focus-inner {
	border: 0;
	padding: 0;
}
button:-moz-focusring, input:-moz-focusring {
	outline: 1px dotted ButtonText;
}
button, select {
	cursor: pointer;
	text-transform: none;
}
[type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner, button::-moz-focus-inner {
	border: none;
}
select::-ms-expand {
	display: none;
}
/* プリント対応 */

[data-hidePrintMessageArea] {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 10px;
	pointer-events: none;
	opacity: 0;
}
@media print {
	body {
		position: relative;
		top: 100px;
	}
	body:before {
		content: "ページを印刷する際は一番下までスクロールして下さい。";
		display: none;
		white-space: pre;
		font-size: 20px;
		padding: 10px 10px;
		border: 3px solid #000;
		background-color: #FFF;
		color: #000;
		position: absolute;
		top: -100px;
		left: 0px;
		right: 0px;
		text-align: center;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
	.chrome body:before {
		content: "ページを印刷する際は一番下までスクロールして下さい。\A画像を表示させる場合は、「基本設定」→「背景のグラフィック」を有効にして下さい。";
	}
	.ie body:before {
		content: "ページを印刷する際は一番下までスクロールして下さい。\A画像を表示させる場合は、「印刷プレビュー」→「ページ設定」→「背景の色とイメージを印刷する」を有効にして下さい。";
	}
	.safari body:before {
		content: "ページを印刷する際は一番下までスクロールして下さい。\A画像を表示させる場合は、「詳細を表示」→「背景をプリント」を有効にして下さい。";
	}
	.edge body:before {
		content: "※Microsoft Edgeは背景や画像を印刷できません。";
	}
	.addPrintMessage body:before {
		display: block;
	}
	* {
		background-attachment: scroll !important;
	}
}
/* 721px以上は消す */

@media print, screen and (min-width: 781px) {
	[data-sc-sp] {
		display: none !important;
	}
}
/* 720px以下は消す */

@media print,screen and (max-width: 780px) {
	[data-sc-pc] {
		display: none !important;
	}
}
.mod_main {
	overflow: hidden;
}
.device-tablet .mod_main {
	width: calc(100% + 1px);
}
/* 自動高さ調整 */

[data-autoheight], [data-pc-autoheight], [data-sp-autoheight] {
	-webkit-transition: none !important;
	-o-transition: none !important;
	transition: none !important;
}
/* 遅延読み込み */

[data-lf] {
	opacity: 0;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	-webkit-transition: opacity 1s;
	-o-transition: opacity 1s;
	transition: opacity 1s;
}
[data-lf][src], [data-lf][style*="background-image"], [data-lf].load_view {
	opacity: 1;
}
.clearfix {
	content: "";
	display: block;
	clear: both;
}
/* -----------------------------------------------------------------------------

共通パーツ

----------------------------------------------------------------------------- */

/* -----------------------------------------------------------------------------

共通レイアウト

----------------------------------------------------------------------------- */

.flowbottomSP {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 44px;
	display: table;
	text-align: center;
	-webkit-transition: -webkit-transform 1.0s;
	transition: -webkit-transform 1.0s;
	-o-transition: transform 1.0s;
	transition: transform 1.0s;
	transition: transform 1.0s, -webkit-transform 1.0s;
	-webkit-transform: translateY(100%);
	-ms-transform: translateY(100%);
	transform: translateY(100%);
	z-index: 999;
}
.flowbottomSP.active {
	-webkit-transform: none;
	-ms-transform: none;
	transform: none;
}
.flowbottomSP a {
	display: table-cell;
	background-color: #FFF;
	vertical-align: middle;
}
.flowbottomSP a:nth-child(2) {
	background-color: #FFFEB7;
}
.flowbottomSP span {
	font-size: .11rem;
}
.flowbottomSPinview {
	position: absolute;
	top: 105vh;
	bottom: 0;
	pointer-events: none;
	width: 0;
}
/* ヘッダー */

[data-pararax01] {
	position: relative;
}
[data-pararax01] [data-pararax01-inview] {
	position: absolute;
	top: 200px;
	bottom: 200px;
	left: 0;
	width: 100%;
	pointer-events: none;
	opacity: 0;
}
@media print,screen and (max-width: 720px) {
	[data-pararax01] [data-pararax01-inview] {
		top: 100px;
		bottom: 100px;
	}
}
[data-pararax01-opacity] {
	opacity: 0;
}
[data-pararax01-opacity][data-pararax01-active] {
	opacity: 1 !important;
	-webkit-transition: opacity 1.5s cubic-bezier(0.65, 0.01, 0.375, 1);
	-o-transition: opacity 1.5s cubic-bezier(0.65, 0.01, 0.375, 1);
	transition: opacity 1.5s cubic-bezier(0.65, 0.01, 0.375, 1);
}
[data-pararax01-transform01] {
	opacity: 0;
	-webkit-transform: translateX(-20px);
	-ms-transform: translateX(-20px);
	transform: translateX(-20px);
}
[data-pararax01-transform01][data-pararax01-active] {
	opacity: 1;
	-webkit-transform: translateX(0px);
	-ms-transform: translateX(0px);
	transform: translateX(0px);
	-webkit-transition: opacity 1.5s cubic-bezier(0.65, 0.01, 0.375, 1), -webkit-transform 1.5s cubic-bezier(0.65, 0.01, 0.375, 1);
	transition: opacity 1.5s cubic-bezier(0.65, 0.01, 0.375, 1), -webkit-transform 1.5s cubic-bezier(0.65, 0.01, 0.375, 1);
	-o-transition: opacity 1.5s cubic-bezier(0.65, 0.01, 0.375, 1), transform 1.5s cubic-bezier(0.65, 0.01, 0.375, 1);
	transition: opacity 1.5s cubic-bezier(0.65, 0.01, 0.375, 1), transform 1.5s cubic-bezier(0.65, 0.01, 0.375, 1);
	transition: opacity 1.5s cubic-bezier(0.65, 0.01, 0.375, 1), transform 1.5s cubic-bezier(0.65, 0.01, 0.375, 1), -webkit-transform 1.5s cubic-bezier(0.65, 0.01, 0.375, 1);
}
[data-pararax01-transform02] {
	opacity: 0;
	-webkit-transform: translateY(20px);
	-ms-transform: translateY(20px);
	transform: translateY(20px);
}
[data-pararax01-transform02][data-pararax01-active] {
	opacity: 1;
	-webkit-transform: translateX(0px);
	-ms-transform: translateX(0px);
	transform: translateX(0px);
	-webkit-transition: opacity 1.5s cubic-bezier(0.65, 0.01, 0.375, 1), -webkit-transform 1.5s cubic-bezier(0.65, 0.01, 0.375, 1);
	transition: opacity 1.5s cubic-bezier(0.65, 0.01, 0.375, 1), -webkit-transform 1.5s cubic-bezier(0.65, 0.01, 0.375, 1);
	-o-transition: opacity 1.5s cubic-bezier(0.65, 0.01, 0.375, 1), transform 1.5s cubic-bezier(0.65, 0.01, 0.375, 1);
	transition: opacity 1.5s cubic-bezier(0.65, 0.01, 0.375, 1), transform 1.5s cubic-bezier(0.65, 0.01, 0.375, 1);
	transition: opacity 1.5s cubic-bezier(0.65, 0.01, 0.375, 1), transform 1.5s cubic-bezier(0.65, 0.01, 0.375, 1), -webkit-transform 1.5s cubic-bezier(0.65, 0.01, 0.375, 1);
}
[data-pararax01-clippath] {
	-webkit-clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
	clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
}
[data-pararax01-clippath][data-pararax01-active] {
	-webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
	clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
	transition: -webkit-clip-path 2s cubic-bezier(0.205, 0.01, 0.075, 0.995), clip-path 2s cubic-bezier(0.205, 0.01, 0.075, 0.995), opacity 1.5s cubic-bezier(0.65, 0.01, 0.375, 1);
}
[data-pararax01-overflow] {
	opacity: 0;
	overflow: hidden;
	width: 0% !important;
}
[data-pararax01-overflow][data-pararax01-active] {
	opacity: 1;
	width: 100% !important;
	-webkit-transition: opacity 1.5s cubic-bezier(0.65, 0.01, 0.375, 1), width 1.5s cubic-bezier(0.65, 0.01, 0.375, 1);
	-o-transition: opacity 1.5s cubic-bezier(0.65, 0.01, 0.375, 1), width 1.5s cubic-bezier(0.65, 0.01, 0.375, 1);
	transition: opacity 1.5s cubic-bezier(0.65, 0.01, 0.375, 1), width 1.5s cubic-bezier(0.65, 0.01, 0.375, 1);
}
[data-pararax01-photo01] {
	position: relative;
}
[data-pararax01-photo01]:after, [data-pararax01-photo01]:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #000;
	transition: -webkit-clip-path 1.6s cubic-bezier(0.65, 0.01, 0.375, 1), clip-path 1.6s cubic-bezier(0.65, 0.01, 0.375, 1), opacity 1.6s cubic-bezier(0.65, 0.01, 0.375, 1);
}
.ie [data-pararax01-photo01]:after, .ie [data-pararax01-photo01]:before {
	opacity: 0.5;
}
[data-pararax01-photo01]:after {
	opacity: 0.5;
}
@media print, screen and (min-width: 781px) {
	[data-pararax01-photo01]:before {
		mix-blend-mode: saturation;
	}
	.safari [data-pararax01-photo01]:before {
		mix-blend-mode: none;
		display: none;
	}
}
@media print,screen and (max-width: 780px) {
	[data-pararax01-photo01]:before {
		opacity: 0;
	}
}
[data-pararax01-photo01][data-pararax01-active]:after, [data-pararax01-photo01][data-pararax01-active]:before {
	opacity: 0;
}
[data-pararax01-photo02] {
	position: relative;
	-webkit-clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
	clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
}
.ie [data-pararax01-photo02] {
	opacity: 0;
}
[data-pararax01-photo02][data-pararax01-active] {
	-webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
	clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
	transition: -webkit-clip-path 1.2s cubic-bezier(0.205, 0.01, 0.075, 0.995), clip-path 1.2s cubic-bezier(0.205, 0.01, 0.075, 0.995) !important;
}
.ie [data-pararax01-photo02][data-pararax01-active] {
	opacity: 1;
	-webkit-transition: opacity 1.2s cubic-bezier(0.205, 0.01, 0.075, 0.995) !important;
	-o-transition: opacity 1.2s cubic-bezier(0.205, 0.01, 0.075, 0.995) !important;
	transition: opacity 1.2s cubic-bezier(0.205, 0.01, 0.075, 0.995) !important;
}
[data-pararax01-photo02][data-pararax01-active]:after {
	-webkit-clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%);
	clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%);
	transition: -webkit-clip-path 1.2s cubic-bezier(0.205, 0.01, 0.075, 0.995) 0.3s, clip-path 1.2s cubic-bezier(0.205, 0.01, 0.075, 0.995) 0.3s;
}
.ie [data-pararax01-photo02][data-pararax01-active]:after {
	width: 0%;
	-webkit-transition: width 1.2s cubic-bezier(0.205, 0.01, 0.075, 0.995) 0.15s !important;
	-o-transition: width 1.2s cubic-bezier(0.205, 0.01, 0.075, 0.995) 0.15s !important;
	transition: width 1.2s cubic-bezier(0.205, 0.01, 0.075, 0.995) 0.15s !important;
}
[data-pararax01-photo02]:after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background-color: #FFF;
	-webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
	clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}
[data-pararax01-photo03] {
	position: relative;
	-webkit-clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
	clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
}
[data-pararax01-photo03][data-pararax01-active] {
	-webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
	clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
	transition: -webkit-clip-path 1.2s cubic-bezier(0.205, 0.01, 0.075, 0.995), clip-path 1.2s cubic-bezier(0.205, 0.01, 0.075, 0.995) !important;
}
.ie [data-pararax01-photo03][data-pararax01-active] {
	-webkit-transition: opacity 1.2s cubic-bezier(0.205, 0.01, 0.075, 0.995) !important;
	-o-transition: opacity 1.2s cubic-bezier(0.205, 0.01, 0.075, 0.995) !important;
	transition: opacity 1.2s cubic-bezier(0.205, 0.01, 0.075, 0.995) !important;
	opacity: 1;
}
[data-pararax01-photo03][data-pararax01-active]:after {
	-webkit-clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%);
	clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%);
	transition: -webkit-clip-path 1.2s cubic-bezier(0.205, 0.01, 0.075, 0.995) 0.3s, clip-path 1.2s cubic-bezier(0.205, 0.01, 0.075, 0.995) 0.3s;
}
.ie [data-pararax01-photo03][data-pararax01-active]:after {
	-webkit-transform-origin: right top;
	-ms-transform-origin: right top;
	transform-origin: right top;
	-webkit-transition: -webkit-transform 1.2s cubic-bezier(0.205, 0.01, 0.075, 0.995) 0.3s;
	transition: -webkit-transform 1.2s cubic-bezier(0.205, 0.01, 0.075, 0.995) 0.3s;
	-o-transition: transform 1.2s cubic-bezier(0.205, 0.01, 0.075, 0.995) 0.3s;
	transition: transform 1.2s cubic-bezier(0.205, 0.01, 0.075, 0.995) 0.3s;
	transition: transform 1.2s cubic-bezier(0.205, 0.01, 0.075, 0.995) 0.3s, -webkit-transform 1.2s cubic-bezier(0.205, 0.01, 0.075, 0.995) 0.3s;
	-webkit-transform: scaleX(0);
	-ms-transform: scaleX(0);
	transform: scaleX(0);
}
[data-pararax01-photo03]:after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #FFF;
	-webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
	clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
	background-color: #191919;
}
[data-pararax01-photo04] {
	position: relative;
	-webkit-clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
	clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
}
@media print,screen and (max-width: 780px) {
	[data-pararax01-photo04] {
		-webkit-clip-path: none !important;
		clip-path: none !important;
	}
}
[data-pararax01-photo04][data-pararax01-active] {
	-webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
	clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
	transition: -webkit-clip-path 1.2s cubic-bezier(0.205, 0.01, 0.075, 0.995), clip-path 1.2s cubic-bezier(0.205, 0.01, 0.075, 0.995) !important;
}
.ie [data-pararax01-photo04][data-pararax01-active] {
	-webkit-transition: opacity 1.2s cubic-bezier(0.205, 0.01, 0.075, 0.995) !important;
	-o-transition: opacity 1.2s cubic-bezier(0.205, 0.01, 0.075, 0.995) !important;
	transition: opacity 1.2s cubic-bezier(0.205, 0.01, 0.075, 0.995) !important;
	opacity: 1;
}
[data-pararax01-photo05] {
	position: relative;
	width: 0% !important;
	overflow: hidden;
}
.ie [data-pararax01-photo05] {
	opacity: 0;
}
[data-pararax01-photo05][data-pararax01-active] {
	width: 100% !important;
	-webkit-transition: width 1.2s cubic-bezier(0.205, 0.01, 0.075, 0.995) !important;
	-o-transition: width 1.2s cubic-bezier(0.205, 0.01, 0.075, 0.995) !important;
	transition: width 1.2s cubic-bezier(0.205, 0.01, 0.075, 0.995) !important;
}
.ie [data-pararax01-photo05][data-pararax01-active] {
	opacity: 1;
	-webkit-transition: opacity 1.2s cubic-bezier(0.205, 0.01, 0.075, 0.995) !important;
	-o-transition: opacity 1.2s cubic-bezier(0.205, 0.01, 0.075, 0.995) !important;
	transition: opacity 1.2s cubic-bezier(0.205, 0.01, 0.075, 0.995) !important;
}
[data-pararax01-photo05][data-pararax01-active]:after {
	width: 0%;
	-webkit-transition: width 1.2s cubic-bezier(0.205, 0.01, 0.075, 0.995) 0.15s;
	-o-transition: width 1.2s cubic-bezier(0.205, 0.01, 0.075, 0.995) 0.15s;
	transition: width 1.2s cubic-bezier(0.205, 0.01, 0.075, 0.995) 0.15s;
}
[data-pararax01-photo05]:after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background-color: #FFF;
}
@media print,screen and (max-width: 780px) {
	[data-pararax01-photo05]:after {
		display: none !important;
	}
}


/* -----------------------------------------------------------------------------

パーツ

----------------------------------------------------------------------------- */

/*===========================
セクションタイトル
===========================*/

.sec_header {
	text-align: center;
	font-family: "Arvo", sans-serif;
	font-size: 0.36rem;
	line-height: 1.5;
	margin-bottom: 40px;
	letter-spacing: 0.1em;
}
@media print,screen and (max-width: 767px) {
	.sec_header {
		font-size: 0.25rem;
	}
}
.sec_header:after {
	display: block;
	content: "";
	margin: auto;
	width: 40px;
	height: 2px;
	margin-top: 10px;
	background-image: linear-gradient(90deg, #0057aa 20px, #4ca223 20px);
}
.sec_header .sub {
	font-weight: bold;
	display: block;
	font-size: 0.2rem;
	letter-spacing: 0;
}
@media print,screen and (max-width: 767px) {
	.sec_header .sub {
		font-size: 0.14rem;
	}
}
/*===========================
詳しくはこちらボタン
===========================*/

.detail_link {
	display: block;
	background-color: #0057aa;
	background-image: -webkit-gradient(linear, left top, right bottom, color-stop(50%, #0157aa), color-stop(50%, #014b92));
	background-image: linear-gradient(to right bottom, #0157aa 50%, #014b92 50%);
	margin: 0 auto;
	padding: 0.16rem 0;
	max-width: 220px;
	width: 70%;
	position: relative;
	font-weight: bold;
	font-size: 0.14rem;
	color: #fff;
	text-align: center;
}
@media print,screen and (max-width: 767px) {
	.detail_link {}
}
.detail_link:hover {
	opacity: 0.7;
}
.detail_link:after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 16px;
	margin: auto;
	width: 8px;
	height: 8px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
/*============================
右側フローティングバナー
============================*/

#float_link {
	position: fixed;
	top: 160px;
	right: 0;
	width: 0.66rem;
	height: 2.70rem;
	z-index: 3;
	background-image: url("../img/floating_bnr_pc.png");
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: cover;
}
@media print,screen and (max-width: 768px) {
	#float_link {
		position: fixed;
		top: inherit;
		right: inherit;
		left: 0;
		bottom: 0;
		width: 100%;
		height: auto;
		z-index: 10;
		background-image: none;
		box-sizing: border-box;
	}
}
#float_link>a {
	display: inline-block;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-lr;
	color: #fff;
	font-size: 0.18rem;
	letter-spacing: 2px;
	position: relative;
	text-indent: -9999px;
	width: 100%;
	height: 100%;
}
@media print,screen and (max-width: 768px) {
	#float_link>a {
		display: block;
		-webkit-writing-mode: inherit;
		writing-mode: inherit;
		background-color: #4ca223;
		background-image: linear-gradient(125deg, #4ca223 50%, #428b1f 50%);
		padding: 0.18rem;
		font-size: 0.18rem;
		text-align: center;
		position: relative;
		font-weight: 700;
		letter-spacing: 0;
		text-indent: inherit;
		height: auto;
		width: auto;
	}
}
#float_link>a:before {
	display: inline-block;
	content: "";
	width: 30px;
	height: 30px;
	margin-bottom: 10px;
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	background-image: url(../img/float_link_icon.png);
	position: relative;
	left: 0;
}
@media print,screen and (max-width: 768px) {
	#float_link>a:before {
		display: none;
	}
}
#float_link>a>.arrow {
	display: inline-block;
	width: 16px;
	height: 16px;
	background: #fff;
	border-radius: 50%;
	margin-top: 5px;
	line-height: 1.2;
	position: relative;
}
@media print,screen and (max-width: 768px) {
	#float_link>a>.arrow {
		width: 0.2rem;
		height: 0.2rem;
		margin-top: 0;
		position: absolute;
		right: 20px;
		top: 50%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}
}
#float_link>a>.arrow:after {
	display: inline-block;
	content: "";
	position: absolute;
	width: 5px;
	height: 5px;
	border-top: 1px solid #428b1f;
	border-right: 1px solid #428b1f;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	top: 0;
	bottom: 0;
	left: -3px;
	right: 0;
	margin: auto;
}
/*========================
ページの先頭に戻る
========================*/

#BackToTop {
	box-sizing:content-box;
	padding-bottom:env(safe-area-inset-bottom);
	position: fixed;
	bottom: 15px;
	right: 15px;
	width: 45px;
	height: 45px;
	/* pointer-events: none; */
	-webkit-transition: -webkit-transform 1s;
	transition: -webkit-transform 1s;
	transition: transform 1s;
	transition: transform 1s, -webkit-transform 1s;
	-webkit-transform: translateY(0%);
	transform: translateY(0%);
	background-color: #4ca223;
	z-index: 1000;
	cursor: pointer;
	display: none;

	@media (width <= 767px) {
		bottom:0;
		right:0;
	}
}
#BackToTop.active {
	-webkit-transform: none;
	transform: none;
}
#BackToTop>a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	position:relative;
	transition:opacity .5s;
}
#BackToTop > a::after {
	content: "";
	display: block;
	margin-bottom:-6px;
	pointer-events: none;
	position:absolute;
	width: 10px;
	height: 10px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
/* ページトップボタン */
.no-touchevents .pagetopbtn:hover {
	opacity: 0.6;
}
.pagetopbtnInview {
	position: absolute;
	top: 105vh;
	bottom: 0;
	pointer-events: none;
	width: 0;
}
/*===========================
パンくず
===========================*/

.breadcrumb {
	max-width: 1300px;
	margin: auto;
	font-size: 0.14rem;
	padding-left: 20px;
	padding-right: 20px;
}
.breadcrumb>.list>.item {
	display: inline-block;
	margin-bottom: 20px;
}
.breadcrumb>.list>.item:after {
	display: inline-block;
	content: ">";
}
.breadcrumb>.list>.item:last-child:after {
	content: "";
}
.breadcrumb>.list>.item>a {
	color: #0056aa;
}
.breadcrumb>.list>.item>a:hover {
	text-decoration: underline;
}
@media print,screen and (max-width: 767px) {
	.breadcrumb {
		margin-left: 0;
		padding-bottom: 0.1rem;
		font-size: 0.1rem;
	}
	.breadcrumb>.list>.item {
		margin-bottom: 10px;
	}
}

/*========================
キャンペーンバナー
========================*/

.campaign_banner > a {
	display:block;
	transition-property: opacity;
	transition-duration: .5s;
}
.campaign_banner > a img {
	width:100%;
	height:auto;
}
@media (hover) {
	.campaign_banner a:hover {
		opacity: 0.7;
	}
}
@media (min-width: 768px) {
	.campaign_banner {
		padding-block:1.00rem 1.40rem;
	}
	.campaign_banner > a {
		margin-inline:auto;
		width:11.00rem;
	}
}
@media (max-width: 767px) {
	.campaign_banner {
		margin-top:-.28rem;
	}
}

.reservation_banner > a {
	display:block;
	transition-property: opacity;
	transition-duration: .5s;
}
.reservation_banner > a img {
	width:100%;
	height:auto;
}
@media (hover) {
	.reservation_banner a:hover {
		opacity: 0.7;
	}
}
@media (min-width: 768px) {
	.reservation_banner {
		padding-block:1.60rem 1.40rem;
	}
	.reservation_banner > a {
		margin-inline:auto;
		width:8.00rem;
	}
}
@media (max-width: 767px) {
	.reservation_banner {
		padding-inline:.20rem;
	}
	.reservation_banner > a {
	}
}
/*========================
キャンペーンバナー（予約ページ）
========================*/

.campaign_banner_2 {
	background-color: #fff;
	border: 1px solid #242424;
	position: relative;
	padding: 0 0.1rem;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin-bottom: 60px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
.campaign_banner_2>.col {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	position: relative;
}
.campaign_banner_2>.col.icon {
	width: 13%;
}
.campaign_banner_2>.col.icon:before {
	display: block;
	content: "";
	padding-top: 100%;
}
.campaign_banner_2>.col.text {
	width: 67%;
}
.campaign_banner_2>.col.text>.desc {
	padding-left: 0.3rem;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 0.24rem;
	line-height: 1.5;
	font-weight: bold;
	letter-spacing: 0.05em;
}
.campaign_banner_2>.col.image {
	width: 20%;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.campaign_banner_2>.col.image>.present_image {
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	background-image: url("../img/campaign_banner_present.png");
	width: 100%;
	height: 100%;
}
.campaign_banner_2 .circle {
	position: absolute;
	top: -0.4rem;
	left: 10px;
	border-radius: 50%;
	width: 100%;
	height: 100%;
}
.campaign_banner_2 .circle>.text {
	position: absolute;
	top: 30%;
	font-size: 0.17rem;
	font-weight: 700;
	line-height: 1.8;
	text-align: center;
	width: 100%;
}
.campaign_banner_2 .circle>.sub {
	position: absolute;
	top: -25px;
	left: 0;
	right: 0;
	font-family: "Arvo", sans-serif;
	color: #000;
}
@media print,screen and (max-width: 767px) {
	.campaign_banner_2 {
		margin: 0 20px 30px;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		padding: 20px;
	}
	.campaign_banner_2>.col {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		position: relative;
	}
	.campaign_banner_2>.col.icon {
		width: 40%;
		max-width: 140px;
		margin-bottom: -0.2rem;
	}
	.campaign_banner_2>.col.text {
		width: 100%;
		position: relative;
		z-index: 1;
	}
	.campaign_banner_2>.col.text>.desc {
		padding-left: unset;
		font-size: 90%;
	}
	.campaign_banner_2>.col.image {
		width: 50%;
		position: unset;
	}
	.campaign_banner_2>.col.image>.present_image {
		position: absolute;
		top: 0.2rem;
		right: 0.2rem;
		width: 50%;
		width: calc(50% - 20px);
		z-index: 0;
		background-size: contain;
		background-position: center top;
		background-repeat: no-repeat;
		background-image: url("../img/campaign_banner_present.png");
	}
	.campaign_banner_2>.col.image>.present_image:before {
		display: block;
		content: "";
		padding-top: 54.5%;
	}
	.campaign_banner_2 .circle {
		top: -0.5rem;
		left: 0;
	}
}

/*========================
pager
========================*/
.pager {}
.pager .wp-pagenavi {text-align: center;padding-top: 40px;}
.pager .wp-pagenavi .current {width: 32px;height: 32px; background-color: #0057aa;color: #FFF;border-color: #0057aa;}
.pager .wp-pagenavi a.page,.wp-pagenavi span {text-decoration: none;width: 32px;height: 32px;display: inline-block;text-align: center;line-height: 32px;font-size: 17px;padding:0;margin: 6px;background-color: #FFF;border-color: #0057aa;color: #0057aa;}


/*========================
202412 Renewal
========================*/
/* custom properties */
:root {
	--header-height:.80rem;
	--cc-blue-A:#0057AA;
	--cc-blue-B:#002846;
	--cc-green-A:#4CA223;
	--cc-gray-A:#F0F0F0;
	--cc-gray-B:#CFCFCF;
}
@media (max-width: 767px) {
	:root {
		--header-height:.60rem;
	}
}

/*========================
renewal common parts
========================*/
/* Mask Image Icon .m-i-
::before .m-i-bf
::after .m-i-af
----------------------------------------------------------------------------- */
/* Mask Image Icon Base */
[class*="m-i-"]:not([class*="m-i-bf"],[class*="m-i-af"]),
[class*="m-i-bf"]::before,
[class*="m-i-af"]::after {
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-size:100%;
  mask-size:100%;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  height:auto;
  background-color:var(--base-font-color);
  transition-property: background-color;
  transition-duration:var(--duration-hover-A);
}
[class*="m-i-bf"]::before,
[class*="m-i-af"]::after {
  content:"";
  display:block;
}

/* Arrow */
.m-i-arrow-A,
.m-i-bf-arrow-A::before,
.m-i-af-arrow-A::after {
  -webkit-mask-image:url(/common/img/icon_arrow_a.svg);
  mask-image:url(/common/img/icon_arrow_a.svg);
  width:.10rem;
  aspect-ratio: 1/1;
}

/* font-family */
.ff-roboto-400 {
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
}
.ff-roboto-500 {
	font-family: 'Roboto', sans-serif;
	font-weight: 500;
}
.ff-bv_p {
	font-family: baskerville-poster-pt, serif;
	font-weight: 400;
	font-style: normal;
}
.ff-gp_p {
	font-family: garamond-premier-pro, serif;
	font-weight: 400;
	font-style: normal;
}


/* line-clamp .p-lc
styleの場合
<p class="p-lc" style="--lc:2;">text</p> pcとspが同じ
<p class="p-lc" style="--lc-pc:2;--lc-sp:3;">text</p>  pcとspが別
----------------------------------------------------------------------------- */
[class*="p-lc"] {
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  overflow:hidden;
  -webkit-line-clamp: var(--lc);
  line-clamp: var(--lc);
}
.p-lc-1 {
  --lc:1;
}
.p-lc-2 {
  --lc:2;
}
.p-lc-3 {
  --lc:3;
}
.p-lc-4 {
  --lc:4;
}
.p-lc-5 {
  --lc:5;
}
.p-lc-6 {
  --lc:6;
}
@media (width > 640px) {
  .p-lc[style*=--lc-pc] {
    --lc:var(--lc-pc);
  }
  .p-lc-pc-1 {
    --lc:1;
  }
  .p-lc-pc-2 {
    --lc:2;
  }
  .p-lc-pc-3 {
    --lc:3;
  }
  .p-lc-pc-4 {
    --lc:4;
  }
  .p-lc-pc-5 {
    --lc:5;
  }
  .p-lc-pc-6 {
    --lc:6;
  }
}
@media (width <= 640px) {
  .p-lc[style*=--lc-sp] {
    --lc:var(--lc-sp);
  }
  .p-lc-sp-1 {
    --lc:1;
  }
  .p-lc-sp-2 {
    --lc:2;
  }
  .p-lc-sp-3 {
    --lc:3;
  }
  .p-lc-sp-4 {
    --lc:4;
  }
  .p-lc-sp-5 {
    --lc:5;
  }
  .p-lc-sp-6 {
    --lc:6;
  }
}

/*========================
renewal common layout
========================*/
/* button A */
.r-button-A {
	display:flex;
	justify-content: center;
	align-items: center;
	border:1px solid;
	color:var(--my-color);
	width:2.20rem;
	height:.46rem;
	font-size: .16rem;
	font-weight:700;
	line-height:1;
	position:relative;
	transition-property: background-color,color;
	transition-duration:.5s;
}
.r-button-A::after {
	background-color:var(--my-color);
	transition-property: background-color;
	transition-duration:.5s;
	position:absolute;
	right:.12rem;
}
.r-button-A.-blue {
	--my-color:var(--cc-blue-A);
}
.r-button-A.-green {
	--my-color:var(--cc-green-A);
}
@media (hover) {
	.r-button-A:hover {
		background-color:var(--my-color);
		color:#fff;
	}
	.r-button-A:hover::after {
		background-color:#fff;
	}
}
@media (max-width: 767px) {
	.r-button-A {
		font-size: .15rem;
	}
}

/* button B */
.r-button-B {
	display:flex;
	justify-content: space-between;
	align-items: center;
	border-bottom:1px solid;
	color:var(--my-color);
	width:2.60rem;
	height:.46rem;
	font-size: .16rem;
	font-weight:700;
	line-height:1;
	position:relative;
	transition-property: background-color,color,padding-inline;
	transition-duration:.5s;
}
.r-button-B::after {
	background-color:var(--my-color);
	transition-property: background-color;
	transition-duration:.5s;
}
.r-button-B.-blue {
	--my-color:var(--cc-blue-A);
	border-bottom-color:var(--cc-blue-A);
}
.r-button-B.-green {
	--my-color:var(--cc-green-A);
	border-bottom-color:var(--cc-green-A);
}
.r-button-B.-white {
	--my-color:#fff;
	border-bottom-color:#fff;
}
@media (hover) {
	.r-button-B:hover {
		background-color:var(--my-color);
		color:#fff;
		padding-inline:.10rem;
	}
	.r-button-B:hover::after {
		background-color:#fff;
	}
	.r-button-B.-white:hover {
		color:#000;
	}
	.r-button-B.-white:hover::after {
		background-color:#000;
	}
}
@media (max-width: 767px) {
	.r-button-B {
		margin-inline:auto;
		font-size: .15rem;
		width:2.15rem;
	}
}

/*========================
renewal global layout
========================*/
/* header */
body {
	padding-top:var(--header-height);
}
.site_header {
	--my-color:#000;
	--my-svg-color:invert(0);
	width:100%;
	position:fixed;
	top:0;
}
.site_header img[src*=".svg"] {
	filter:var(--my-svg-color);
	transition-property:filter;
	transition-duration: .5s;
}
.site_header .site_logo {
	width:1.68rem;
}
.site_header .site_logo img {
	width:100%;
	height:auto;
}
.site_header.is-white {
	--my-color:#fff;
	--my-svg-color:invert(100%);
}
.site_header .inner .header_menu {
	display:grid;
}
.site_header .sns {
	display:flex;
	align-items: center;
	gap:.40rem;
}
.site_header .sns > li {
	width:.20rem;
}
.site_header .sns > li.youtube {
	width:.24rem;
}
.site_header .sns img {
	width:100%;
	height:auto;
}
@media (min-width: 768px) {
	body:has(.top_js-intro-news.is-active) .site_header.is-white {
		--my-color:#000;
		--my-svg-color:invert(100%);

		.sns img {
			filter:invert(0);
		}
	}
	.site_header {
		display:grid;
		grid-template-columns:auto 1fr auto auto;
		box-sizing: border-box;
		align-items: center;
		padding-inline:.40rem;
		height:var(--header-height);
		color:var(--my-color);
		z-index: 1000;
		transition-property:color;
		transition-duration: .5s;
	}
	.site_header .inner {
		grid-column:3/4;
	}
	.site_header .inner .header_menu {
		grid-auto-flow: column;
		font-weight:700;
		font-size:.16rem;
		line-height:1.5;
		letter-spacing: .1em;
	}
	.site_header .inner .menu_item:not(.pc_not_border) {
		border-right:1px solid;
	}
	.site_header .inner .menu_item > a {
		padding-inline:.40rem;
		transition-property:opacity;
		transition-duration: .5s;
	}
	@media (hover) {
		.site_header .inner .menu_item > a:hover {
			opacity:.7;
		}
	}
	.site_header .sns {
		grid-column:4/5;
		margin-left:.15rem;
	}
}
@media (max-width: 767px) {
	.site_header {
		position:static;
	}
	body.is-menu-active .site_header {
		--my-color:#000;
		--my-svg-color:invert(0);
	}
	.site_header :is(.site_logo,.sns,.hamburger_menu) {
		display:flex;
		align-items: center;
		height:var(--header-height);
		position:fixed;
		top:0;
		z-index: 1002;
	}
	.site_header .site_logo {
		padding-left:.20rem;
		width:1.28rem;
		left:0;
	}
	.site_header .site_logo img {
	}
	.site_header.is-white {
	}
	.site_header .inner {
		box-sizing: border-box;
		padding-top:1.12rem;
		width:100%;
		height:calc(100svh);
		background-color:#F0F0F0;
		position:fixed;
		top:0;
		left:0;
		z-index: 1001;
		transition-property: opacity;
		transition-duration: .5s;
		overflow-y:auto;
		overscroll-behavior: none;
	}
	.site_header .sns > li {
		width:.18rem;
	}
	.site_header .sns > li.youtube {
		width:.22rem;
	}
	body:not(.is-menu-active) .site_header .inner {
		opacity:0;
		pointer-events: none;
	}
	.site_header .inner .header_menu {
		font-weight:700;
		font-size:.20rem;
		gap:.20rem;
		line-height:1.5;
		letter-spacing: .01em;
		text-align: center;
	}
	.header_conversions {
		display:grid;
		justify-content: center;
		gap:.32rem;
		padding-block:.50rem 1.00rem;
	}
	.header_conversions .tel {
		font-weight:700;
		text-align: center;
		color:var(--cc-blue-A);
		letter-spacing: .05em;
	}
	.header_conversions .tel > .heading {
		margin-bottom:.14rem;
		text-align: center;
	}
	.header_conversions .tel > a {
		display:inline-flex;
		align-items: center;
		border-bottom:1px solid;
		padding-bottom:.2em;
		font-size:.18rem;
		letter-spacing: .08em;
	}
	.header_conversions .tel > a::after {
		margin-left:.16rem;
		background-color:var(--cc-blue-A);
	}
	.header_conversions .tel > a > span {
		font-size:.16rem;
	}
	.header_conversions .r-button-A {
		width:2.92rem;
	}
	.site_header .sns {
		grid-template-columns: .18rem .22rem;
		gap:.30rem;
		right:.80rem;
	}
	.site_header .hamburger_menu {
		justify-content: center;
		width:var(--header-height);
		right:0;
	}
	.site_header .hamburger_menu::before,
	.site_header .hamburger_menu::after {
		content:"";
		display:block;
		background-color:var(--my-color);
		width:.20rem;
		height:2px;
		transition-property:background-color,transform;
		transition-duration: .5s;
		position:absolute;
	}
	.site_header .hamburger_menu::before {
		transform:translateY(-.05rem);
	}
	.site_header .hamburger_menu::after {
		transform:translateY(.05rem);
	}
	body.is-menu-active .site_header .hamburger_menu::before,
	body.is-menu-active .site_header .hamburger_menu::after {
		transform:translateY(0);
	}
}

/* footer */
.site_footer {
	display:grid;
	align-items: flex-start;
	padding-block:.80rem .20rem;
}
:where(.site_footer a:not(.r-button-A)) {
	transition-property: opacity;
	transition-duration: .5s;
}
@media(hover) {
	:where(.site_footer a:not(.r-button-A)):hover {
		opacity:.7;
	}
}
:where(.site_footer img) {
	width:100%;
	height:auto;
}
.site_footer .logo {
	display:block;
	width:2.48rem;
}
.site_footer .info {
}
.site_footer .info .address {
	font-size:.16rem;
	font-weight:700;
	line-height:calc(30/16);
	letter-spacing: .05em;
}
.site_footer .info > * + .address {
	margin-top:.32rem;
}
.site_footer .info .address_sub {
	margin-top:.01rem;
	font-size:.14rem;
	line-height:calc(30/16);
	letter-spacing: .05em;
}
.site_footer .info .ot {
	margin-top:.16rem;
	font-size:.12rem;
	line-height:calc(30/16);
	letter-spacing: .05em;
}
.site_footer .info .ot + .ot {
	margin-top:.32rem;
}
.site_footer .menu {
	display:grid;
	row-gap:.14rem;
	font-size:.16rem;
	font-weight:700;
	line-height:1.5;
	letter-spacing: .05em;
}
.site_footer .conversions {
	display:grid;
	gap:.36rem;
}
.site_footer .conversions .tel {
	font-weight:700;
	color:var(--cc-blue-A);
	letter-spacing: .05em;
}
.site_footer .conversions .tel > .heading {
	margin-bottom:.12rem;
}
.site_footer .conversions .tel > a {
	border-bottom:1px solid;
}
.site_footer .sns {
	display:flex;
	gap:.40rem;
}
.site_footer .sns > li {
	width:.20rem;
}
.site_footer .sns > li.youtube {
	width:.24rem;
}
.site_footer .copyright {
	font-size:.12rem;
	line-height:1;
	letter-spacing: .1em;
}
@media (min-width: 768px) {
	.site_footer {
		grid-template-rows:auto auto 1fr auto;
		grid-template-columns:1fr auto auto;
		column-gap:1.08rem;
		margin-inline:auto;
		width:min(13.00rem,100% - .80rem);
	}
	.site_footer .logo {
		grid-row:1/2;
		grid-column:1/2;
	}
	.site_footer .info {
		grid-row:1/4;
		grid-column:2/3;
	}
	.site_footer .menu {
		grid-row:1/3;
		grid-column:3/4;
	}
	.site_footer .conversions {
		grid-row:3/4;
		grid-column:3/4;
		margin-top:.60rem;
	}
	.site_footer .conversions .tel > a::after {
		content:none;
	}
	.site_footer .sns {
		grid-row:2/3;
		grid-column:1/2;
		margin-top:.52rem;
	}
	.site_footer .copyright {
		grid-row:4/5;
		grid-column:1/5;
		margin-top:.60rem;
	}
}
@media (max-width: 767px) {
	.site_footer {
		padding-inline:.40rem;
		padding-bottom:.16rem;
		gap:.50rem;
	}
	.site_footer .logo {
		width:1.96rem;
		margin-inline:auto;
	}
	.site_footer .info > * + .address {
		margin-top:.24rem;
	}
	.site_footer .info .address [data-tel] {
		text-decoration: underline;
	}
	.site_footer .info .address_sub {
		margin-top:.16rem;
		font-size:.12rem;
		line-height:calc(56/24);
		letter-spacing: .02em;
	}
	.site_footer .info .ot + .ot {
		margin-top:.20rem;
	}
	.site_footer .menu {
		display:grid;
		grid-template-rows:repeat(3,auto);
		grid-auto-flow: column;
		justify-content: space-between;
		row-gap:.16rem;
		font-size:.14rem;
		font-weight:700;
		line-height:1.5;
		letter-spacing: .05em;
	}
	.site_footer .conversions {
		gap:.32rem;
		margin-top:.12rem;
		justify-content: center;
	}
	.site_footer .conversions .tel {
		text-align: center;
	}
	.site_footer .conversions .tel > .heading {
		margin-bottom:.14rem;
		text-align: center;
	}
	.site_footer .conversions .tel > a {
		display:inline-flex;
		align-items: center;
		padding-bottom:.2em;
		font-size:.18rem;
		letter-spacing: .08em;
	}
	.site_footer .conversions .tel > a::after {
		margin-left:.16rem;
		background-color:var(--cc-blue-A);
	}
	.site_footer .conversions .tel > a > span {
		font-size:.16rem;
	}
	.site_footer .conversions .r-button-A {
		width:2.92rem;
	}
	.site_footer .sns {
		justify-content: center;
		margin-bottom:-.20rem;
	}
	.site_footer .copyright {
		font-size:.10rem;
		letter-spacing: .05em;
		text-align: center;
	}
}