@charset "utf-8";
/* reset */
html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;}body{margin:0;overflow-x:hidden;}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:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font: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{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}address{font-style:normal}*{margin:0;padding:0}*,:after,:before{background-repeat:no-repeat;box-sizing:border-box}img{vertical-align:bottom;-webkit-backface-visibility:hidden}

/*--------------------------------------------------------------------------------
  base
--------------------------------------------------------------------------------*/
:root {
  --base-width: 1400px;
  --sp-max-width: 540px;
  --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: #999;
  --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: 'Zen Kaku Gothic New', "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  --bgsize: clamp(320px, (640 / 1200 * 100vw), 640px);
}
* {
  transition: padding 0.4s ease-in-out;
}
html,
body {
  height: 100%;
}
body {
  font-family: var(--ff-jp);
  font-size: clamp(14px, 1.18vw, 16.5px);
  font-weight: 400;
  color: #28282D;
  min-width: 320px;
  word-wrap: break-word;
  text-align: center;
  line-height: 2;
  background: url("../image/bg.gif") repeat center top;
  background-size: var(--bgsize);
}
@media screen and (max-width: 760px) {
  body {
    font-size: clamp(13px, 2.34vw, 15px);
  }
}
[data-ruby] {
  position: relative;
}
[data-ruby]:before {
  content: attr(data-ruby);
  position: absolute;
  top: -1.5em;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  margin: auto;
  font-size: 0.2em;
}
@media screen and (max-width: 640px) {
  [data-ruby]::before {
    font-size: 0.5rem;
  }
}
rt {
  display: none;
}
.js_rpsTable,
.js_rpsBlock {
  overflow: hidden;
}
.js_linkBox {
  cursor: pointer;
}
.js_iframe iframe {
  pointer-events: none;
  cursor: pointer;
}
.clear:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
}
.t-nowrap { display: inline-block; }
.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;
}
@media (hover: hover) {
  img.img-hv,
  a.img-hv img,
  .js_linkBox .img-hv img,
  .js_linkBox img.img-hv {
    transition: opacity 0.2s ease-in-out;
  }
  img.img-hv:hover,
  a.img-hv:hover img,
  .js_linkBox:hover .img-hv img,
  .js_linkBox:hover img.img-hv {
    opacity: 0.6;
  }
}

/* link
----------------------------------------*/
a {
  outline: none;
}
a,
a:visited,
a:hover {
  color: var(--brown);
  text-decoration: none;
}
a[href^="tel:"],
a[href^="tel:"]:visited,
a[href^="tel:"]:hover {
  color: var(--brown);
  text-decoration: none;
}
@media (hover: hover) {
  a,
  .js_linkBox {
    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(--beige);
  }
  a[href^="tel:"] {
    pointer-events: none;
    cursor: default;
    color: var(--brown);
  }
  .js_linkBox.linkBox--tel {
    pointer-events: none;
    cursor: default;
  }
}
