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

  Reset CSS

====================================================================================================*/
/*-------------------------------------------------------------------------------
  normalize.css v3.0.2
-------------------------------------------------------------------------------*/
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: bold;
}
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: -0.5em;
}
sub {
  bottom: -0.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, 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 #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}
legend {
  border: 0;
  padding: 0;
}
textarea {
  overflow: auto;
}
optgroup {
  font-weight: bold;
}
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;
}
*, ::before, ::after {
  background-repeat: no-repeat;
  box-sizing: border-box;
}
img {
  vertical-align: bottom;
  -webkit-backface-visibility: hidden;
}

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

  Base

====================================================================================================*/
.preload * {
  transition:none !important;
  animation:none !important;
}
:root {
  --base-width: 1100px;
  --PC-min-width: 1160px;
  --SP-min-width: 320px;
  --cubic-bezier: cubic-bezier(.23,1,.32,1);
  --line-height-l: 2;
  --line-height-m: 1.6;
  --line-height-s: 1.4;
  --bg-color: #faf8eb;
  --font-color: #000;
  --ff-noto: 'Noto Sans JP', sans-serif;
  
  /* base color */
  --color-dbrown: #463200;
  --color-brown: #7d5400;
  --color-rbrown: #a37417;
  --color-dorange: #f57d00;
  --color-orange: #f5961f;
  --color-dgreen: #156a15;
  --color-green: #258825;
  --color-dblue: #005fa2;
  --color-blue: #007bbd;
  --color-red: #cc3300;
  --color-pink: #ff6699;
  --color-dyellow: #f9cb14;
  --color-yellow: #ffea1e;
  --color-gray: #777;
  
  /* fancybox thumbnail */
  --fancybox-tmb-bg: rgba(0,0,0,0.2);
  --fancybox-tmb-border-width: 3px;
  --fancybox-tmb-border-color: #ffea1e;
  --fancybox-progress-color: #fff;
}
@media print, screen and (min-width:641px) {
  :root {
    --line-height: 1.8;
    --side-space: 30px;
    
    --block-space-unit: 1.25rem;
    --block-space-max: calc(var(--block-space-unit) * 5.5);
    --block-space-l: calc(var(--block-space-unit) * 4.5);
    --block-space-m: calc(var(--block-space-unit) * 3.5);
    --block-space-s: calc(var(--block-space-unit) * 2.5);
    --block-space-min: calc(var(--block-space-unit) * 1.5);
    
    --box-space-max: 4rem;
    --box-space-l: 3.5rem;
    --box-space-m: 2.75rem;
    --box-space-s: 2rem;
    --box-space-min: 1.75rem;
  }
}
@media screen and (max-width:640px) {
  :root {
    --line-height: 1.7;
    --side-space: 4%;
    
    --block-space-unit: 1rem;
    --block-space-max: calc(var(--block-space-unit) * 6);
    --block-space-l: calc(var(--block-space-unit) * 5);
    --block-space-m: calc(var(--block-space-unit) * 4);
    --block-space-s: calc(var(--block-space-unit) * 3);
    --block-space-min: calc(var(--block-space-unit) * 2);
    
    --box-space-max: 3.5rem;
    --box-space-l: 3rem;
    --box-space-m: 2.25rem;
    --box-space-s: 1.75rem;
    --box-space-min: 1.5rem;
  }
}
html,
body {
  height: 100%;
}
body {
  background-color: var(--bg-color);
  color: var(--font-color);
  font-family: 'Helvetica Neue', Arial, 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;
  font-weight: 300;
  min-width: var(--SP-min-width);
  line-height: var(--line-height);
  word-wrap: break-word;
  text-align: center;
}
@media print, screen and (min-width:641px) {
  html {
    min-width: var(--PC-min-width);
  }
  .pc-none {
    display: none !important;
  }
}
@media screen and (max-width:640px) {
  html {
    min-width: 320px;
  }
  .sp-none {
    display: none !important;
  }
}
.js__rpsTable,
.js__rpsBlock {
  overflow: hidden;
}
.js__linkBox {
  cursor: pointer;
}
.clear:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
}
.t-nowrap { display: inline-block; }
.t-hidden { visibility: hidden; }
.t-kana { font-feature-settings: "palt"; }

.lineh-l { line-height: var(--line-height-l); }
.lineh-m { line-height: var(--line-height-m); }
.lineh-s { line-height: var(--line-height-s); }

/*--------------------------------------------------------------------------------
  font
--------------------------------------------------------------------------------*/
html {
  font-size: 62.5%;
}
body {
  font-size: 1.65rem;
}
:root {
  --fs-max: 2.6em;
  --fs-5l: 2.3em;
  --fs-4l: 2em;
  --fs-3l: 1.7em;
  --fs-2l: 1.5em;
  --fs-l: 1.3em;
  --fs-2m: 1.2em;
  --fs-m: 1.1em;
  --fs-ms: 1.05em;
  --fs-s: 0.95em;
  --fs-2s: 0.85em;
  --fs-3s: 0.75em;
  --fs-min: 0.65em;
}
@media screen and (max-width:640px) {
  html {
    font-size: calc(0.35em + 0.7vw);
  }
  :root {
    --fs-max: 2.1em;
    --fs-5l: 1.9em;
    --fs-4l: 1.7em;
    --fs-3l: 1.5em;
    --fs-2l: 1.4em;
  }
}
.fs-max { font-size: var(--fs-max); }
.fs-5l { font-size: var(--fs-5l); }
.fs-4l { font-size: var(--fs-4l); }
.fs-3l { font-size: var(--fs-3l); }
.fs-2l { font-size: var(--fs-2l); }
.fs-l { font-size: var(--fs-l); }
.fs-2m { font-size: var(--fs-2m); }
.fs-m { font-size: var(--fs-m); }
.fs-ms { font-size: var(--fs-ms); }
.fs-s { font-size: var(--fs-s); }
.fs-2s { font-size: var(--fs-2s); }
.fs-3s { font-size: var(--fs-3s); }
.fs-min { font-size: var(--fs-min); }

.fw-300 { font-weight: 300; }
.fw-400 { font-weight: 400; }
.fw-500 { font-weight: 500; }
.fw-700 { font-weight: 700; }
.fw-900 { font-weight: 900; }

.ff-noto { font-family: var(--ff-noto); }

.fc-dbrown { color: var(--color-dbrown); }
.fc-brown { color: var(--color-brown); }
.fc-rbrown { color: var(--color-rbrown); }
.fc-orange { color: var(--color-dorange); }
.fc-green { color: var(--color-green); }
.fc-blue { color: var(--color-dblue); }
.fc-red { color: var(--color-red); }
.fc-pink { color: var(--color-pink); }
.fc-yellow { color: var(--color-yellow); }
.fc-gray { color: var(--color-gray); }

/*-----------------------------------------------------------------------------------
  img
-----------------------------------------------------------------------------------*/
img {
  max-width: 100%;
  height: auto;
}
img[src$=".svg"] {
  width: 100%;
  height: auto;
}
@media print, screen and (min-width:641px) {
  .ua-pc img.img-hv,
  .ua-pc a.img-hv img {
    transition: opacity 0.1s ease-out;
  }
  .ua-pc img.img-hv:hover,
  .ua-pc a.img-hv:hover img,
  .ua-pc .js__linkBox:hover img.img-hv {
    opacity: 0.7;
  }
}

/*-----------------------------------------------------------------------------------
  link
-----------------------------------------------------------------------------------*/
a {
  outline: none;
}
a,
a:visited,
a:hover {
  color: var(--color-dblue);
  text-decoration: underline;
}
.ua-pc a,
.ua-pc .js__linkBox {
  transition: color 0.1s ease-out, opacity 0.1s ease-out, background 0.1s ease-out, border 0.1s ease-out;
}
.ua-pc a:hover,
.ua-pc .js__linkBox:hover a {
  color: var(--color-red);
  text-decoration: none;
}
.ua-pc a[href^="tel:"] {
  pointer-events: none;
  cursor: default;
  color: inherit;
}
.ua-tab a[href^="tel:"][link="uline"],
.ua-sp a[href^="tel:"][link="uline"] {
  text-decoration: underline;
}
a[href^="tel:"], a[href^="tel:"]:visited, a[href^="tel:"]:hover {
  text-decoration: none;
}

/*-----------------------------------------------------------------------------------
  margin padding
-----------------------------------------------------------------------------------*/
.mg-t-max { margin-top: var(--block-space-max); }
.mg-t-l   { margin-top: var(--block-space-l); }
.mg-t-m   { margin-top: var(--block-space-m); }
.mg-t-s   { margin-top: var(--block-space-s); }
.mg-t-min { margin-top: var(--block-space-min); }
.mg-t-h   { margin-top: 0.5em; }
.mg-t-1   { margin-top: 1em; }
.mg-t-1h  { margin-top: 1.5em; }

.mg-b-max { margin-bottom: var(--block-space-max); }
.mg-b-l   { margin-bottom: var(--block-space-l); }
.mg-b-m   { margin-bottom: var(--block-space-m); }
.mg-b-s   { margin-bottom: var(--block-space-s); }
.mg-b-min { margin-bottom: var(--block-space-min); }
.mg-b-h   { margin-bottom: 0.5em; }
.mg-b-1   { margin-bottom: 1em; }
.mg-b-1h  { margin-bottom: 1.5em; }

.pd-t-max { padding-top: var(--block-space-max); }
.pd-t-l   { padding-top: var(--block-space-l); }
.pd-t-m   { padding-top: var(--block-space-m); }
.pd-t-s   { padding-top: var(--block-space-s); }
.pd-t-min { padding-top: var(--block-space-min); }
.pd-t-h   { padding-top: 0.5em; }
.pd-t-1   { padding-top: 1em; }
.pd-t-1h  { padding-top: 1.5em; }

.pd-b-max { padding-bottom: var(--block-space-max); }
.pd-b-l   { padding-bottom: var(--block-space-l); }
.pd-b-m   { padding-bottom: var(--block-space-m); }
.pd-b-s   { padding-bottom: var(--block-space-s); }
.pd-b-min { padding-bottom: var(--block-space-min); }
.pd-b-h   { padding-bottom: 0.5em; }
.pd-b-1   { padding-bottom: 1em; }
.pd-b-1h  { padding-bottom: 1.5em; }
