@charset "utf-8";
/* ====================================================================================================

	base.css

==================================================================================================== */

/* ----------------------------------------------------------------------------------------------------
	font
---------------------------------------------------------------------------------------------------- */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

/* ----------------------------------------------------------------------------------------------------
	reset
---------------------------------------------------------------------------------------------------- */
html {
	font-family:sans-serif;
	-ms-text-size-adjust:100%;
	-webkit-text-size-adjust:100%;
	}
body {
	margin:0;
	}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
	display:block;
	}
audio,
canvas,
progress,
video {
	display:inline-block;
	vertical-align:baseline;
	}
audio:not([controls]) {
	display:none;
	height:0;
	}
[hidden],
template {
	display:none;
	}
a {
	background-color:transparent;
	}
a:active,
a:hover {
	outline:0;
	}
abbr[title] {
	border-bottom:1px dotted;
	}
b,
strong {
	font-weight:700;
	}
dfn {
	font-style:italic;
	}
mark {
	background:#ffff00;
	color:#000000;
	}
small {
	font-size:80%;
	}
sub,
sup {
	position:relative;
	font-size:75%;
	line-height:0;
	vertical-align:baseline;
	}
sup {
	top:-.5em;
	}
sub {
	bottom:-.25em;
	}
img {
	border:0;
	}
svg:not(:root) {
	overflow:hidden;
	}
figure {
	margin:1em 40px;
	}
hr {
	height:0;
	-moz-box-sizing:content-box;
	box-sizing:content-box;
	}
pre {
	overflow:auto;
	}
code,kbd,pre,samp {
	font-family:monospace;
	font-size:1em;
	}
button,input,optgroup,select,textarea {
	font:inherit;
	color:inherit;
	margin:0;
	}
button { 
	overflow:visible;
	}
button,
select {
	text-transform:none;
	}
button,
html input[type="button"],
input[type=reset],
input[type=submit] {
	-webkit-appearance:button;
	cursor:pointer;
	}
button[disabled],
html input[disabled] {
	cursor:default;
	}
button::-moz-focus-inner,
input::-moz-focus-inner {
	border:0;
	padding:0;
	}
input{
	line-height:normal;
	}
input[type=checkbox],
input[type=radio] {
	box-sizing:border-box;
	padding:0;
	}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
	height:auto
	}
input[type=search] {
	-webkit-appearance:textfield;
	-moz-box-sizing:content-box;
	-webkit-box-sizing:content-box;
	box-sizing:content-box;
	}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
	-webkit-appearance:none;
	}
fieldset {
	border:1px solid silver;
	margin:0 2px;
	padding:.35em .625em .75em;
	}
legend {
	border:0;
	padding:0;
	}
textarea {
	overflow:auto;
	}
optgroup {
	font-weight:700;
	}
table {
	border-collapse:collapse;
	border-spacing:0;
	}
td,th {
	padding:0
	}
html,
body,
div,
span,
object,
iframe,
h1,h2,h3,h4,h5,h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,i,
dl,dt,dd,
ol,ul,li,
fieldset,
form,
label,
legend,
table,caption,tbody,tfoot,thead,tr,th,td,
article,
aside,
canvas,
details,
figcaption,figure,
footer,header,
hgroup,
menu,nav,
section,
summary,
time,
mark,
audio,
video {
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
	border:0;
	outline:0;
	margin:0;
	padding:0;
	}
address {
	font-style:normal;
	}
* {
	margin:0;
	padding:0;
	}
*,
:after,
:before {
	box-sizing:border-box;
	background-repeat:no-repeat;
	}
img {
	vertical-align:bottom;
	-webkit-backface-visibility:hidden;
	}

/*--------------------------------------------------------------------------------
  base
--------------------------------------------------------------------------------*/
:root {
	--base-width:1820px;
	--sp-max-width:640px;
	--side-space:clamp(20px,(60/1400*100vw),60px);
	--space-max:clamp(80px,(180/1200*100vw),180px);
	--space-l:clamp(60px,(140/1200*100vw),140px);
	--space-m:clamp(40px,(100/1200*100vw),100px);
	--space-s:clamp(30px,(60/1200*100vw),60px);
	--space-2s:clamp(15px,(30/1200*100vw),30px);
	--b-beige:#d2c3b4;
	--b-beige2:#dfd5ca;
	--beige:#c3af9b;
	--brown:#a5917d;
	--red:#d24646;
	--black:#28282d;
	--b-black:#48484c;
	--gray:#999999;
	--beige-rgba:195,175,155;
	--brown-rgba:165,145,125;
	--red-rgba:210,70,70;
	--black-rgba:40,40,45;
	--b-black-rgba:72,72,76;
	--cubic-bezier:cubic-bezier(.23,1,.32,1);
	--ff-en:'Cormorant Infant',serif;
	--ff-min:'Noto Serif JP',serif;
	--ff-jp:'Noto Sans JP',sans-serif;
	--ff-rounded:'M PLUS Rounded 1c',serif;
	--bgsize:clamp(320px,(640/1200*100vw),640px);
	}
* {
	/*transition:all 0.4s ease-in-out;*/
	}
html,
body {
	height:100%;
}
body {
	min-width:320px;
	color:var(--black);
	font-family:var(--ff-jp);
	font-size:clamp(15px,4.687vw,17px);
	font-weight:500;
	text-align:center;
	line-height:1.6;
	word-wrap:break-word;
	background-size:var(--bgsize);
	}
rt {
	display:none;
	}
.fancybox-slide--html {
	padding:var(--side-space) !important;
	}
.fancybox-container * {
	transition:none;
	}

/* img
---------------------------------------------------------------------------------------------------- */
img {
	max-width:100%;
	height:auto;
	}
img[src$=".svg"] {
	width:100%;
	height:auto;
	}

/* link
---------------------------------------------------------------------------------------------------- */
a {
	outline:none;
	}
a,
a:visited,
a:hover {
	color:var(--black);
	text-decoration:none;
	}
a[href^="tel:"],
a[href^="tel:"]:visited,
a[href^="tel:"]:hover {
	color:var(--black);
	text-decoration:none;
	}
@media (hover: hover) {
a {
	transition:color 0.15s ease-in-out,opacity 0.15s ease-in-out,background 0.2s ease-in-out,border 0.15s ease-in-out;
	}
a:hover,
.js_linkBox:not(.linkBox--tel):hover a {
	color:var(--black);
	}
a[href^="tel:"] {
	pointer-events:none;
	color:var(--black);
	cursor:default;
	}
}