@charset "UTF-8";
/** 設定 **/
.fs-9-12 {
  font-size: clamp(9px, 5.5714285714px + 0.3348214286vw, 12px);
}

.fs-9-13 {
  font-size: clamp(9px, 4.4285714286px + 0.4464285714vw, 13px);
}

.fs-12-18 {
  font-size: clamp(12px, 5.1428571429px + 0.6696428571vw, 18px);
}

.fs-14-18 {
  font-size: clamp(14px, 9.4285714286px + 0.4464285714vw, 18px);
}

.fs-14-22 {
  font-size: clamp(14px, 4.8571428571px + 0.8928571429vw, 22px);
}

.fs-15-18 {
  font-size: clamp(15px, 11.5714285714px + 0.3348214286vw, 18px);
}

.fs-15-23 {
  font-size: clamp(15px, 5.8571428571px + 0.8928571429vw, 23px);
}

.fs-16-20 {
  font-size: clamp(16px, 11.4285714286px + 0.4464285714vw, 20px);
}

.fs-20-23 {
  font-size: clamp(20px, 16.5714285714px + 0.3348214286vw, 23px);
}

.fs-20-25 {
  font-size: clamp(20px, 14.2857142857px + 0.5580357143vw, 25px);
}

.fs-23-30 {
  font-size: clamp(23px, 15px + 0.78125vw, 30px);
}

.fs-31-45 {
  font-size: clamp(31px, 15px + 1.5625vw, 45px);
}

.fs-32-49 {
  font-size: clamp(32px, 12.5714285714px + 1.8973214286vw, 49px);
}

@media screen and (max-width: 768px) {
  .fs-9-12 {
    font-size: min(2.2900763359vw, 12px);
  }
  .fs-9-13 {
    font-size: min(2.2900763359vw, 13px);
  }
  .fs-12-18 {
    font-size: min(3.0534351145vw, 18px);
  }
  .fs-14-18 {
    font-size: min(3.5623409669vw, 18px);
  }
  .fs-14-22 {
    font-size: min(3.5623409669vw, 22px);
  }
  .fs-15-18 {
    font-size: min(3.8167938931vw, 18px);
  }
  .fs-15-23 {
    font-size: min(3.8167938931vw, 23px);
  }
  .fs-16-20 {
    font-size: min(4.0712468193vw, 20px);
  }
  .fs-20-23 {
    font-size: min(5.0890585242vw, 23px);
  }
  .fs-20-25 {
    font-size: min(5.0890585242vw, 25px);
  }
  .fs-23-30 {
    font-size: min(5.8524173028vw, 30px);
  }
  .fs-31-45 {
    font-size: min(7.8880407125vw, 45px);
  }
  .fs-32-49 {
    font-size: min(8.1424936387vw, 49px);
  }
}
/* -------------------------------------------
 * initialize
 */
:root {
  --font-sans: 'noto-sans-jp', sans-serif;
  --font-polymath: 'polymath', sans-serif;
  --wht-color-1: #FFFFFF;
  --wht-color-2: #FCFAF7;
  --wht-color-3: #FFF8EF;
  --brw-color-1: #635343;
  --org-color-1: #EA6239;
  --org-color-2: #CE7042;
  --org-color-3: #E1A55D;
  --org-color-4: #DD4322;
  --olv-color-1: #958E6B;
  --olv-color-2: #767230;
  --blu-color-1: #5D718A;
  --grn-color-1: #419851;
  --grn-color-2: #6DC6A7;
  --ylw-color-1: #F0CF74;
  --red-color-1: #DE0000;
  --gry-color-1: #BABABA;
  --gry-color-2: #707070;
  --bg-color-1: #F0EEE4;
  --bg-color-2: #FFF5F0;
  --bg-color-3: #F0F7F0;
  --bg-color-4: #FAF0F0;
  --bg-color-5: #F4F2F7;
  --bg-color-6: #FAFAED;
  --bg-color-7: #EDF5FA;
  --bg-color-8: #FCFBF7;
  --bg-color-9: #F4F4F4;
  --bg-color-10: #EDE4D6;
  --bg-color-11: #EDEDED;
  --font-size-xs: 12px;
  --font-size-sm: 16px;
  --font-size-md: 22px;
  --font-size-lg: 30px;
  --font-size-xl: 40px;
}
@media screen and (max-width: 1023px) and (min-width: 751px) {
  :root {
    --font-size-xs: 10px;
    --font-size-sm: 14px;
    --font-size-md: 20px;
    --font-size-lg: 28px;
    --font-size-xl: 35px;
  }
}
:root {
  --font-weight-thin: 100;
  --font-weight-light: 300;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-black: 900;
  --ease-in-sine: cubic-bezier(0.12, 0, 0.39, 0);
  --ease-in-cubic: cubic-bezier(0.32, 0, 0.67, 0);
  --ease-in-quint: cubic-bezier(0.64, 0, 0.78, 0);
  --ease-in-circ: cubic-bezier(0.55, 0, 1, 0.45);
  --ease-out-sine: cubic-bezier(0.61, 1, 0.88, 1);
  --ease-out-cubic: cubic-bezier(0.33, 1, 0.68, 1);
  --ease-out-quint: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-out-circ: cubic-bezier(0, 0.55, 0.45, 1);
  --ease-inout-sine: cubic-bezier(0.37, 0, 0.63, 1);
  --ease-inout-cubic: cubic-bezier(0.65, 0, 0.35, 1);
  --ease-inout-quint: cubic-bezier(0.83, 0, 0.17, 1);
  --ease-inout-circ: cubic-bezier(0.85, 0, 0.15, 1);
  --ease-in-quad: cubic-bezier(0.11, 0, 0.5, 0);
  --ease-in-quart: cubic-bezier(0.5, 0, 0.75, 0);
  --ease-in-expo: cubic-bezier(0.7, 0, 0.84, 0);
  --ease-in-back: cubic-bezier(0.36, 0, 0.66, -0.56);
  --ease-out-quad: cubic-bezier(0.5, 1, 0.89, 1);
  --ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1);
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-out-back: cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-inout-quad: cubic-bezier(0.45, 0, 0.55, 1);
  --ease-inout-quart: cubic-bezier(0.76, 0, 0.24, 1);
  --ease-inout-expo: cubic-bezier(0.87, 0, 0.13, 1);
  --ease-inout-back: cubic-bezier(0.68, -0.6, 0.32, 1.6);
}

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, dialog, figure, footer, header, hgroup, menu, nav, section, time, mark, audio, video, main {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  font-weight: var(--font-weight-light);
  vertical-align: baseline;
  background: transparent;
}

article, aside, dialog, figure, footer, header, hgroup, nav, section, main {
  display: block;
}

ul, li, ol {
  list-style: none;
}

input, select {
  vertical-align: middle;
}

body {
  position: relative;
  font-family: var(--font-sans);
  font-weight: var(--font-weight-light);
  color: var(--font-color);
  font-size: 100%;
  letter-spacing: 0.1em;
  background-color: var(--bg-color);
  -webkit-text-size-adjust: 100%;
}
@media screen and (max-width: 768px) {
  body {
    font-size: min(6.6157760814vw, 26px);
  }
}

a {
  color: var(--link-color);
}

address {
  font-style: normal;
}

*, *:before, *:after {
  box-sizing: border-box;
}

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

.hide {
  display: none;
}

.clear {
  clear: both;
}

.clearfix:before, .clearfix:after {
  content: "";
  display: table;
}

.clearfix:after {
  clear: both;
}

.clearfix {
  zoom: 1;
}

.preload * {
  transition: none !important;
}