@charset "UTF-8";
:root {
  --white-color: #fff;
  --black-color: #111111;
  --main-color-500: #44300f;
  --main-color-100: #ab9e8e;
  --main-color-10: #f8f6f2;
  --accent-color-100: #d8b53b;
  --sub-color-100: #8fc9c5;
  --sub-color-10: #f3f8f8;
  --mv-main-color: #796944;
  --box-shadow: calc(4 / var(--font-size) * 1em)  calc(8 / var(--font-size) * 1em) calc(8 / var(--font-size) * 1em) calc(2 / var(--font-size) * 1em) rgba(52, 51, 51, 0.1);
  --font-size: 16;
  --font-family-shippori:'Shippori Mincho B1', serif, 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;
  --font-family-noto:'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;
}
@media all and (max-width: 767px) {
  :root {
    --box-shadow: calc((4 / 2) / var(--font-size) * 1em)  calc((8 / 2) / var(--font-size) * 1em) calc((8 / 2) / var(--font-size) * 1em) calc((2 / 2) / var(--font-size) * 1em) rgba(52, 51, 51, 0.1);
  }
}
.mc-breadcrumb {
  z-index: 2;
}

/* ==========================================================================
  ELEMENT RESET
========================================================================== */
.main-container {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: var(--main-color-500);
  font-weight: 500;
  line-height: 1.5;
}

/* --------------------------------------------------------------------------
  非表示
-------------------------------------------------------------------------- */
/* PCで非表示 */
@media all and (min-width: 1025px), print {
  .u-hide-pc {
    display: none;
  }
}
/* PC、タブレットで非表示 */
@media all and (min-width: 768px), print {
  .u-hide-tab-pc {
    display: none;
  }
}
/* タブレットのみ非表示 */
@media all and (min-width: 768px) and (max-width: 1024px) {
  .u-hide-tab {
    display: none;
  }
}
/* SPで非表示 */
@media all and (max-width: 767px) {
  .u-hide-sp {
    display: none;
  }
}
/* --------------------------------------------------------------------------
  行揃え
-------------------------------------------------------------------------- */
.u-center {
  text-align: center;
}
/* TAB,PCのみテキストセンター */
@media all and (min-width: 768px), print {
  .u-center-tab-pc {
    text-align: center;
  }
}
/* SPのみテキストセンター */
@media all and (max-width: 767px) {
  .u-center-sp {
    text-align: center;
  }
}
.u-left {
  text-align: left;
}
/* TAB,PCのみテキストセンター */
@media all and (min-width: 768px), print {
  .u-left-tab-pc {
    text-align: left;
  }
}
/* SPのみテキストセンター */
@media all and (max-width: 767px) {
  .u-left-sp {
    text-align: left;
  }
}
.u-right {
  text-align: right;
}
/* TAB,PCのみテキストセンター */
@media all and (min-width: 768px), print {
  .u-right-tab-pc {
    text-align: right;
  }
}
/* SPのみテキストセンター */
@media all and (max-width: 767px) {
  .u-right-sp {
    text-align: right;
  }
}
.u-justify {
  text-align: justify;
  text-justify: inter-ideograph;
}
.u-combine {
  text-combine-upright: all;
  -webkit-text-combine: horizontal;
  -ms-text-combine-horizontal: all;
}
/* --------------------------------------------------------------------------
  強調
-------------------------------------------------------------------------- */
.u-strong {
  font-weight: 700;
}
.u-bold {
  font-weight: 700;
}

/* --------------------------------------------------------------------------
  背景
-------------------------------------------------------------------------- */
/* color */
.u-color-white {
  color: var(--white-color);
}
.u-color-main-100 {
  color: var(--main-color-100);
}


/* --------------------------------------------------------------------------
  フォント
-------------------------------------------------------------------------- */
.main-container button,
.main-container input,
.main-container optgroup,
.main-container select,
.main-container textarea {
  font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;
}
.main-container h1,
.main-container h2,
.main-container h3,
.main-container h4,
.main-container h5,
.main-container h6 {
  font-weight: 700;
  font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;
}
.u-font-zen {
  font-family: var(--font-family-zen-new);
}
.u-font-jo {
  font-family: var(--font-family-jost);
}

/* --------------------------------------------------------------------------
  ROOT FONT SIZE
-------------------------------------------------------------------------- */
/* 16px */
.main-container {
  font-size: 16px;
}
@media all and (min-width: 768px) and (max-width: 1365px) {
  .main-container {
    font-size: 16px;
  }
}


/* ==========================================================================
  HEADER COMPONENT
========================================================================== */
/* --------------------------------------------------------------------------
  見出し
-------------------------------------------------------------------------- */
/* LV2 */
@media all and (min-width: 768px), print {
  .c-header-lv2 {
    --header-size: 32;
  }
  .c-header-lv2__in {
    position: relative;
    display: block;
    text-align: center;
    font-size: calc(var(--header-size) / var(--font-size) * 1em);
    padding-bottom: calc(31 / var(--font-size) * 1em);
  }
  .c-header-lv2__in::before {
    content: "";
    display: block;
    width: calc(75 / var(--font-size) * 1em);
    height: calc(8 / var(--font-size) * 1em);
    -webkit-mask-image: url("/assets/img/common/txt-deco_wavy.svg");
    mask-image: url("/assets/img/common/txt-deco_wavy.svg");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
    background: var(--main-color-100);
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);

  }
  .c-header-lv2__sub-txt {
    font-weight: 600;
    font-size: calc(20 / 28 * 1em);
    font-family: var(--font-family-jost);
    line-height: 1.7;
    display: block;
    padding-top: calc(50 / var(--font-size) * 1em);
    padding-bottom: calc(3 / var(--font-size) * 1em);
    margin-bottom: calc(3 /var(--font-size) * 1em);
    letter-spacing: calc(20 / 100 * 1em);
    position: relative;
  }
  .c-header-lv2__txt {
    color: var(--main-color-100);
    font-weight: 700;
    font-family: var(--font-family-zen-new);
    line-height: 1.3;
    letter-spacing: calc(0 / 100 * 1em);
  }
  .c-header-lv2__txt--sub {
    display: block;
    font-size: calc(24 / var(--header-size)  * 1em);
    color: var(--main-color-100);
    font-weight: 700;
    font-family: var(--font-family-zen-new);
    line-height: 1.3;
    letter-spacing: calc(0 / 100 * 1em);
    margin-top: calc(24 / var(--font-size) * 1em);
  }
  .c-header-lv2--reverse .c-header-lv2__sub-txt {
    color: var(--yellow-color-100);
  }
  .c-header-lv2--reverse .c-header-lv2__sub-txt::before {
    background: var(--white-color);
  }
  .c-header-lv2--reverse .c-header-lv2__txt {
    color: var(--white-color);
  }

  .c-header-lv2--s {
    --header-size: 28;
  }
}
@media all and (max-width: 767px) {
  .c-header-lv2 {
    --header-size: 26;
  }
  .c-header-lv2__in {
    position: relative;
    display: block;
    text-align: center;
    font-size: calc(var(--header-size) / var(--font-size) * 1em);
    padding-bottom: calc(30 / var(--font-size) * 1em);
  }
  .c-header-lv2__in::before {
    content: "";
    display: block;
    width: calc(64 / var(--font-size) * 1em);
    height: calc(7 / var(--font-size) * 1em);
    -webkit-mask-image: url("/assets/img/common/txt-deco_wavy.svg");
    mask-image: url("/assets/img/common/txt-deco_wavy.svg");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
    background: var(--main-color-100);
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);

  }
  .c-header-lv2__sub-txt {
    font-weight: 600;
    font-size: calc(20 / 28 * 1em);
    font-family: var(--font-family-jost);
    line-height: 1.7;
    display: block;
    padding-top: calc(50 / var(--font-size) * 1em);
    padding-bottom: calc(3 / var(--font-size) * 1em);
    margin-bottom: calc(3 /var(--font-size) * 1em);
    letter-spacing: calc(20 / 100 * 1em);
    position: relative;
  }
  .c-header-lv2__txt {
    color: var(--main-color-100);
    font-weight: 700;
    font-family: var(--font-family-zen-new);
    line-height: 1.3;
    letter-spacing: calc(0 / 100 * 1em);
  }
  .c-header-lv2__txt--sub {
    display: block;
    font-size: calc(16 / var(--header-size)  * 1em);
    color: var(--main-color-100);
    font-weight: 700;
    font-family: var(--font-family-zen-new);
    line-height: 1.3;
    letter-spacing: calc(0 / 100 * 1em);
    margin-top: calc(24 / var(--font-size) * 1em);
  }
  .c-header-lv2__txt--small {
    font-size: calc(18 / var(--header-size)  * 1em);
  }
  .c-header-lv2--reverse .c-header-lv2__sub-txt {
    color: var(--yellow-color-100);
  }
  .c-header-lv2--reverse .c-header-lv2__sub-txt::before {
    background: var(--white-color);
  }
  .c-header-lv2--reverse .c-header-lv2__txt {
    color: var(--white-color);
  }

  .c-header-lv2--s {
    --header-size: 28;
  }
}

/* LV3 */
@media all and (min-width: 768px), print {
  .c-header-lv3 {
    --header-size: 20;
    --header-line-height: 1.5;
    --header-deco-color: var(--primary-color-400);
  }
  .c-header-lv3__in {
    display: block;
    position: relative;
    display: flex;
  }
  .c-header-lv3__in::before {
    content: "";
    display: block;
    width: calc(40 / var(--font-size) * 1em);
    height: calc(4 / var(--font-size) * 1em);
    background-color: var(--header-deco-color);
    flex-shrink: 0;
    margin-top: calc((var(--header-size) * var(--header-line-height) - 4) / 2 / var(--font-size) * 1em);
    border-radius: 9999px;
  }
  .c-header-lv3__txt {
    font-size: calc(var(--header-size) / var(--font-size) * 1em);
    font-weight: 700;
    line-height: var(--header-line-height);
    padding-left: calc(20 / var(--font-size) * 1em);
    display: block;
  }
}
@media all and (max-width: 767px) {
  .c-header-lv3 {
    --header-size: 20;
    --header-line-height: 1.5;
    --header-deco-color: var(--primary-color-400);
  }
  .c-header-lv3__in {
    display: block;
    position: relative;
    display: flex;
  }
  .c-header-lv3__in::before {
    content: "";
    display: block;
    width: calc(40 / var(--font-size) * 1em);
    height: calc(4 / var(--font-size) * 1em);
    background-color: var(--header-deco-color);
    flex-shrink: 0;
    margin-top: calc((var(--header-size) * var(--header-line-height) - 4) / 2 / var(--font-size) * 1em);
    border-radius: 9999px;
  }
  .c-header-lv3__txt {
    font-size: calc(var(--header-size) / var(--font-size) * 1em);
    font-weight: 700;
    line-height: var(--header-line-height);
    padding-left: calc(20 / var(--font-size) * 1em);
    display: block;
  }
}

/* タイトル */
@media all and (min-width: 768px), print {
  .c-header-title {
    --header-size: 32;
  }
  .c-header-title__in {
    position: relative;
    display: block;
    text-align: center;
    font-size: calc(var(--header-size) / var(--font-size) * 1em);
  }
  .c-header-title__sub-txt {
    font-weight: 600;
    font-size: calc(20 / 32 * 1em);
    display: block;
    margin-top: calc(22 / var(--font-size) * 1em);
  }
  .c-header-title__txt {
    color: var(--main-color-500);
    font-weight: 500;
    font-family: var(--font-family-shippori);
    font-feature-settings: "palt";
    line-height: 1.5;
    letter-spacing: calc(60 / 1000 * 1em);
  }
}
@media all and (min-width: 768px) and (max-width: 1134px) {
  .c-header-title__in {
    font-size: min(32px, calc((32 / 1134) * 100vw))
  }
}
@media all and (max-width: 767px) {
  .c-header-title {
    --header-size: 56;
  }
  .c-header-title__in {
    position: relative;
    display: block;
    text-align: center;
    font-size: calc(var(--header-size) / 750 * 100vw);
  }
  .c-header-title__sub-txt {
    font-weight: 600;
    font-size: calc(20 / 32 * 1em);
    display: block;
    margin-top: calc(22 / 750 * 100vw);
  }
  .c-header-title__txt {
    color: var(--main-color-500);
    font-weight: 500;
    font-family: var(--font-family-shippori);
    font-feature-settings: "palt";
    line-height: 1.5;
    letter-spacing: calc(80 / 1000 * 1em);
  }
}

/* ==========================================================================
  TEXT COMPONENT
========================================================================== */
/* --------------------------------------------------------------------------
  テキスト
-------------------------------------------------------------------------- */
@media all and (min-width: 768px), print {
  .c-txt {
    --txt-font-size: 16;
    --txt-line-height: 1.8;
    font-size: calc(var(--txt-font-size) / var(--font-size) * 1em);
    font-weight: 400;
    line-height: var(--txt-line-height);
    letter-spacing: 0;
    font-feature-settings: "palt";
  }
  .c-txt sub,
  .c-txt sub {
    font-size: 0.5em;
  }

  .c-txt sub{
    top: -0.5em;
  }

  .c-txt sub {
    bottom: -0.1em;
  }

  /* L */
  .c-txt--xxxxl {
    --txt-font-size: 28;
  }
  .c-txt--xxxl {
    --txt-font-size: 24;
  }
  .c-txt--xxl {
    --txt-font-size: 22;
  }
  .c-txt--xl {
    --txt-font-size: 20;
  }
  .c-txt--l {
    --txt-font-size: 18;
  }

  /* M */
  .c-txt--m {
    --txt-font-size: 16;
  }

  /* S */
  .c-txt--s {
    --txt-font-size: 14;
  }
  .c-txt--xs {
    --txt-font-size: 12;
  }
  .c-txt--xxs {
    --txt-font-size: 11;
  }
  .c-txt--xxxs {
    --txt-font-size: 10;
  }

  .c-txt--underline {
  }
  .u-text-link {
    color: var(--main-color-100);
    text-decoration: underline;
  }
  .u-text-link:hover {
    text-decoration: none;
  }

}
@media all and (max-width: 767px) {
  .c-txt {
    --txt-font-size: 16;
    --txt-line-height: 1.8;
    font-size: calc(var(--txt-font-size) / 375 * 100vw);
    font-feature-settings: "palt";
    font-weight: 400;
    line-height: var(--txt-line-height);
    letter-spacing: 0;
  }
  .c-txt sub,
  .c-txt sub {
    font-size: 0.5em;
  }

  .c-txt sub{
    top: -0.5em;
  }

  .c-txt sub {
    bottom: -0.1em;
  }

  /* L */
  .c-txt--xxxxl {
    --txt-font-size: 18;
  }
  .c-txt--xxxl {
    --txt-font-size: 24;
  }
  .c-txt--xxl {
    --txt-font-size: 22;
  }
  .c-txt--xl {
    --txt-font-size: 20;
  }
  .c-txt--l {
    --txt-font-size: 18;
  }

  /* M */
  .c-txt--m {
    --txt-font-size: 16;
  }
  .c-txt--m-sp {
    --txt-font-size: 14;
  }
  .c-txt--s-sp {
    --txt-font-size: 13;
  }

  /* S */
  .c-txt--s {
    --txt-font-size: 14;
  }
  .c-txt--xs {
    --txt-font-size: 12;
  }
  .c-txt--xxs {
    --txt-font-size: 11;
  }
  .c-txt--xxxs {
    --txt-font-size: 10;
  }

  .c-txt--underline {
  }

  .u-text-link {
    color: var(--main-color-100);
    text-decoration: underline;
  }

}
/* --------------------------------------------------------------------------
  テキスト 番号強調
-------------------------------------------------------------------------- */
@media all and (min-width: 768px), print {
}
@media all and (max-width: 767px) {
}
/* --------------------------------------------------------------------------
  リスト テキスト
-------------------------------------------------------------------------- */
@media all and (min-width: 768px), print {
  .c-list {
    --list-font-size: 16;
    --list-line-height: 1.6;
    --list-rate: var(--list-font-size) / 16;
    --list-desc-color: var(--main-color-100);
    --gap-y: 6;
    --gap-x: 0;
  }
  .c-list-item {
    position: relative;
    display: flex;
    font-size: calc(var(--list-font-size) / var(--font-size) * 1em);
    line-height: var(--list-line-height);
  }
  .c-list-item + .c-list-item {
    margin-top: calc(var(--gap-y) / var(--font-size) * 1em);
  }
  .c-list-item::before {
    content: "・";
  }
  .c-list--desc .c-list-item::before {
    content: "";
    display: block;
    width: calc(var(--list-font-size) / var(--font-size) * 1em);
    height: calc(var(--list-font-size) / var(--font-size) * 1em);
    border-radius: 9999px;
    background-color: var(--list-desc-color);
    margin-top: calc((var(--list-font-size) * var(--list-line-height) - var(--list-font-size)) / 2 / var(--font-size) * 1em);
    margin-right: calc(6 * var(--list-font-size) / var(--font-size) / var(--font-size) * 1em);
    flex-shrink: 0;
  }
  .c-list-item-head {
    flex-shrink: 0;
  }
  .c-list-item__in {
  }

  /* L */
  .c-list--l {
    --list-font-size: 18;
  }
  /* m */
  .c-list--m {
    --list-font-size: 16;
  }
  /* s */
  .c-list--s {
    --list-font-size: 14;
  }
  /* xs */
  .c-list--xs {
    --list-font-size: 12;
  }

}
@media all and (max-width: 767px) {
  .c-list {
    --list-font-size: 16;
    --list-line-height: 1.6;
    --list-rate: var(--list-font-size) / 16;
    --list-desc-color: var(--main-color-100);
    --gap-y: 6;
    --gap-x: 0;
  }
  .c-list-item {
    position: relative;
    display: flex;
    font-size: calc(var(--list-font-size) / var(--font-size) * 1em);
    line-height: var(--list-line-height);
  }
  .c-list-item + .c-list-item {
    margin-top: calc(var(--gap-y) / var(--font-size) * 1em);
  }
  .c-list-item::before {
    content: "・";
  }
  .c-list--desc .c-list-item::before {
    content: "";
    display: block;
    width: calc(var(--list-font-size) / var(--font-size) * 1em);
    height: calc(var(--list-font-size) / var(--font-size) * 1em);
    border-radius: 9999px;
    background-color: var(--list-desc-color);
    margin-top: calc((var(--list-font-size) * var(--list-line-height) - var(--list-font-size)) / 2 / var(--font-size) * 1em);
    margin-right: calc(6 * var(--list-font-size) / var(--font-size) / var(--font-size) * 1em);
    flex-shrink: 0;
  }

  .c-list-item-head {
    flex-shrink: 0;
  }
  .c-list-item__in {
  }

  /* L */
  .c-list--l {
    --list-font-size: 16;
  }
  /* m */
  .c-list--m{
    --list-font-size: 15;
  }
  /* s */
  .c-list--s,
  .c-list--s-sp {
    --list-font-size: 14;
  }
  /* xs */
  .c-list--xs {
    --list-font-size: 10;
  }
  /* SP時のみ */
  /* L */
  .c-list-sp--l {
    --list-font-size: 16;
  }
  /* m */
  .c-list-sp--m {
    --list-font-size: 14;
  }
  /* s */
  .c-list-sp--s {
    --list-font-size: 12;
  }
  /* xs */
  .c-list-sp--xs {
    --list-font-size: 10;
  }
}
/* --------------------------------------------------------------------------
  番号付きリスト
-------------------------------------------------------------------------- */
@media all and (min-width: 768px), print {
  .c-num-list {
    --num-list-font-size: 16;
    --num-list-color: var(--main-color-100);
  }
  .c-num-list__dl {
    position: relative;
    padding-left: 2em;
  }
  .c-num-list__dt {
    position: absolute;
    top: 0;
    left: 0;
    width: 1.95em;
    color: var(--white-color);
    font-weight: 700;
    font-size: 0.75em;
    line-height: 1.95;
    text-align: center;
    background-color:  var(--num-list-color);
    border-radius: 9999px;
  }
  .c-num-list__dd {
    line-height: 1.5;
    font-size: calc(var(--num-list-font-size) / var(--font-size) * 1em);
  }
}
@media all and (max-width: 767px) {
  .c-num-list {
    --num-list-font-size: 16;
    --num-list-color: var(--main-color-100);
  }
  .c-num-list__dl {
    position: relative;
    padding-left: 2em;
  }
  .c-num-list__dt {
    position: absolute;
    top: 0;
    left: 0;
    width: 1.95em;
    color: var(--white-color);
    font-weight: 700;
    font-size: 0.75em;
    line-height: 1.95;
    text-align: center;
    background-color:  var(--num-list-color);
    border-radius: 9999px;
  }
  .c-num-list__dd {
    line-height: 1.5;
    font-size: calc(var(--num-list-font-size) / var(--font-size) * 1em);
  }
}
/* --------------------------------------------------------------------------
  注釈 テキスト
-------------------------------------------------------------------------- */
@media all and (min-width: 768px), print {
  .c-note {
    --note-txt-font-size: 16;
    --note-position: start;
  }
  .c-note-txt {
    font-size: calc(var(--note-txt-font-size) / var(--font-size) * 1em);
    font-weight: 400;
    line-height: 1.6;
    display: flex;
    justify-content: var(--note-position);
  }
  .c-note-txt::before {
    content: "※";
  }
  .c-note-txt__label {
  }

  /* CENTER */
  .c-note--center {
    --note-position: center;
  }

  /* M */
  .c-note--m {
    --note-txt-font-size: 16;
  }
  /* S */
  .c-note--s {
    --note-txt-font-size: 14;
  }
  /* XS */
  .c-note--xs {
    --note-txt-font-size: 12;
  }
  /* XXS */
  .c-note--xxs {
    --note-txt-font-size: 11;
  }
  /* XXXS */
  .c-note--xxxs {
    --note-txt-font-size: 10;
  }

}
@media all and (max-width: 767px) {
  .c-note {
    --note-txt-font-size: 16;
    --note-position: start;
  }
  .c-note-txt {
    font-size: calc(var(--note-txt-font-size) / 375 * 100vw);
    font-weight: 400;
    line-height: 1.6;
    display: flex;
    justify-content: var(--note-position);
  }
  .c-note-txt::before {
    content: "※";
  }
  .c-note-txt__label {
  }

  /* CENTER */
  .c-note--center {
    --note-position: center;
  }
  .c-note-txt--center {
    text-align: center;
  }

  /* M */
  .c-note--m {
    --note-txt-font-size: 16;
  }
  /* S */
  .c-note--s {
    --note-txt-font-size: 14;
  }
  /* XS */
  .c-note--xs,
  .c-note-sp--xs {
    --note-txt-font-size: 12;
  }
  /* XXS */
  .c-note--xxs {
    --note-txt-font-size: 11;
  }
  /* XXXS */
  .c-note--xxxs,
  .c-note--xxxs-sp {
    --note-txt-font-size: 10;
  }

}


/* ==========================================================================
  BUTTON COMPONENT
========================================================================== */
/* --------------------------------------------------------------------------
  レイアウト
-------------------------------------------------------------------------- */
@media all and (min-width: 768px), print {
  .l-btn-list {
    --col: 1;
    --gap-x: 40;
    --gap-y: 16;

    display: flex;
    justify-content: center;
    gap: calc(var(--gap-y) /var(--font-size) * 1em) calc(var(--gap-x) /var(--font-size) * 1em);
  }
  .l-btn-list.l-btn-list--ico {
    justify-content: start;
  }
  .l-btn-list-item {
    width: calc((100% - (var(--gap-x) / var(--font-size) * 1em) * (var(--col) - 1)) / var(--col));
  }

  /* modifier */
  .l-btn-list--wrap {
    flex-wrap: wrap;
  }
  .l-btn-list--2col {
    --col: 2;
  }
  .l-btn-list--3col {
    --col: 3;
  }
  .l-btn-list--4col {
    --col: 4;
  }
  .l-btn-list--5col {
    --col: 5;
  }
  .l-btn-list--6col {
    --col: 6;
  }

  .l-btn-list--auto .l-btn-list__item {
    width: auto;
  }
}
@media all and (max-width: 767px) {
  .l-btn-list {
    --col: 1;
    --gap-x: 40;
    --gap-y: 16;

    display: flex;
    justify-content: center;
    gap: calc(var(--gap-y) /var(--font-size) * 1em) calc(var(--gap-x) /var(--font-size) * 1em);
  }
  .l-btn-list.l-btn-list--ico {
    justify-content: start;
  }
  .l-btn-list-item {
    width: calc((100% - (var(--gap-x) / var(--font-size) * 1em) * (var(--col) - 1)) / var(--col));
  }

  /* modifier */
  .l-btn-list--wrap {
    flex-wrap: wrap;
  }
  .l-btn-list--2col {
    --col: 2;
  }
  .l-btn-list--3col {
    --col: 3;
  }
  .l-btn-list--4col {
    --col: 4;
  }
  .l-btn-list--5col {
    --col: 5;
  }
  .l-btn-list--6col {
    --col: 6;
  }
  .l-btn-list--1col-sp {
    --col: 1;
  }
  .l-btn-list--2col-sp {
    --col: 2;
  }
  .l-btn-list--3col-sp {
    --col: 3;
  }
  .l-btn-list--4col-sp {
    --col: 4;
  }
  .l-btn-list--5col-sp {
    --col: 5;
  }
  .l-btn-list--6col-sp {
    --col: 6;
  }

  .l-btn-list--auto .l-btn-list__item {
    width: auto;
  }
}


/* --------------------------------------------------------------------------
  ボタン
-------------------------------------------------------------------------- */
@media all and (min-width: 768px), print {
  .c-btn {
    --btn-bg-color: var(--main-color-100);
    --btn-border-color: var(--main-color-100);
    --btn-txt-color: var(--white-color);
    --btn-arrow-color: var(--white-color);
    --btn-txt-font-size: 16;
    --btn-min-height: 62;
    --btn-radius: 9999;
    --btn-px: 56;

    display: block;
  }
  a.c-btn:hover {
    --btn-bg-color: var(--white-color);
    --btn-txt-color: var(--btn-border-color);
    --btn-arrow-color: var(--btn-border-color);
  }
  .c-btn__in {
    background: var(--btn-bg-color);
    border-radius: calc(var(--btn-radius) / var(--font-size) * 1em);
    border: calc(1 / var(--font-size) * 1em) solid var(--btn-border-color);
    height: 100%;
    transition: all 0.3s;
  }
  .c-btn__body {
    position: relative;
    min-height: calc(var(--btn-min-height) / var(--font-size) * 1em);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: calc(8 / var(--font-size) * 1em) calc(var(--btn-px) / var(--font-size) * 1em);
  }
  .c-btn-txt {
    color: var(--btn-txt-color);
    text-align: center;
    width: 100%;
    transition: all 0.3s;
  }
  .c-btn-txt__label {
    font-size: calc(var(--btn-txt-font-size) / var(--font-size) * 1em);
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: calc(5 / 1000 * 1em);
  }
  .c-btn-arrow {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: calc(var(--btn-px) / var(--font-size) * 1em);
    height: calc(var(--btn-min-height) / var(--font-size) * 1em);
  }
  .c-btn-arrow__label {
    display: flex;
    align-items: center;
    margin-left: calc(14 / var(--font-size) * 1em);
    height: 100%;
  }

  .c-btn-arrow__label .c-svg {
    width: calc(20 / var(--font-size) * 1em);
    fill: var(--btn-arrow-color);
    transition: all 0.3s;
  }
  /* down */
  .c-btn-arrow--down .c-btn-arrow__label .c-svg {
    --btn-arrow-rotate: 90deg;
  }
  /* back */
  .c-btn-arrow--back .c-btn-arrow__label .c-svg {
    --btn-arrow-rotate: 180deg;
    transform: rotate(var(--btn-arrow-rotate));
  }
  .c-btn--pdf .c-btn-arrow {
    position: static;
    transform: translate(0);
    width: auto;
    height: auto;
  }
  .c-btn--pdf .c-btn-txt {
    width: auto;
  }
  .c-btn--pdf .c-btn-arrow__label {
    margin-left: 0;
    margin-right: calc(14 / var(--font-size) * 1em);
  }
  .c-btn--pdf .c-btn__body {
    padding: calc(8 / var(--font-size) * 1em) calc(20 / var(--font-size) * 1em);
  }
  .c-btn-arrow--back .c-btn-arrow,
  .c-btn--pdf .c-btn-arrow {
    left: 0;
  }

  /* square */
  .c-btn--square {
    --btn-radius: 8;
  }

  /* fontsize */
  .c-btn--xl {
    --btn-txt-font-size: 20;
  }
  .c-btn--l {
    --btn-txt-font-size: 18;
  }
  .c-btn--m {
    --btn-txt-font-size: 16;
  }
  .c-btn--s {
    --btn-txt-font-size: 13;
  }
  .c-btn--xs {
    --btn-txt-font-size: 12;
  }

  /* color */
  .c-btn--stroke {
    --btn-bg-color: var(--white-color);
    --btn-txt-color: var(--btn-border-color);
    --btn-arrow-color: var(--btn-border-color);
  }
  a.c-btn--stroke:hover {
    --btn-bg-color: var(--btn-border-color);
    --btn-txt-color: var(--white-color);
    --btn-arrow-color: var(--white-color);
  }
  /* 色 */
  .c-btn--yellow {
    --btn-bg-color: var(--yellow-color-100);
    --btn-border-color: var(--yellow-color-100);
  }
  .c-btn--red {
    --btn-bg-color: var(--red-color-100);
    --btn-border-color: var(--red-color-100);
  }
}
@media all and (max-width: 767px) {
  .c-btn {
    --btn-bg-color: var(--main-color-100);
    --btn-border-color: var(--main-color-100);
    --btn-txt-color: var(--white-color);
    --btn-arrow-color: var(--white-color);
    --btn-txt-font-size: 16;
    --btn-min-height: 64;
    --btn-radius: 9999;
    --btn-px: 50;

    display: block;
  }
  .c-btn__in {
    background: var(--btn-bg-color);
    border-radius: calc(var(--btn-radius) / var(--font-size) * 1em);
    border: calc(1 / var(--font-size) * 1em) solid var(--btn-border-color);
    height: 100%;
    transition: all 0.3s;
  }
  .c-btn__body {
    position: relative;
    min-height: calc(var(--btn-min-height) / var(--font-size) * 1em);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: calc(8 / var(--font-size) * 1em) calc(var(--btn-px) / var(--font-size) * 1em);
  }
  .c-btn-txt {
    color: var(--btn-txt-color);
    text-align: center;
    width: 100%;
    transition: all 0.3s;
  }
  .c-btn-txt__label {
    font-size: calc(var(--btn-txt-font-size) / var(--font-size) * 1em);
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: calc(5 / 1000 * 1em);
    font-feature-settings: "palt";
  }
  .c-btn-arrow {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: calc(var(--btn-px) / var(--font-size) * 1em);
    height: calc(var(--btn-min-height) / var(--font-size) * 1em);
  }
  .c-btn-arrow__label {
    display: flex;
    align-items: center;
    margin-left: calc(12 / var(--font-size) * 1em);
    height: 100%;
  }

  .c-btn-arrow__label .c-svg {
    width: calc(20 / var(--font-size) * 1em);
    fill: var(--btn-arrow-color);
    transition: all 0.3s;
  }
  /* down */
  .c-btn-arrow--down .c-btn-arrow__label .c-svg {
    --btn-arrow-rotate: 90deg;
  }
  /* back */
  .c-btn-arrow--back .c-btn-arrow__label .c-svg {
    --btn-arrow-rotate: 180deg;
    transform: rotate(var(--btn-arrow-rotate));
  }
  .c-btn-arrow--back .c-btn-arrow,
  .c-btn--pdf .c-btn-arrow {
    left: 0;
  }
  .c-btn--pdf .c-btn-arrow {
    position: static;
    transform: translate(0);
    width: auto;
    height: auto;
  }
  .c-btn--pdf .c-btn-txt {
    width: auto;
  }
  .c-btn--pdf .c-btn-arrow__label {
    margin-left: 0;
    margin-right: calc(14 / var(--font-size) * 1em);
  }
  .c-btn--pdf .c-btn__body {
    padding: calc(8 / var(--font-size) * 1em) calc(20 / var(--font-size) * 1em);
  }
  

  /* square */
  .c-btn--square {
    --btn-radius: 8;
  }

  /* fontsize */
  .c-btn--xl {
    --btn-txt-font-size: 20;
  }
  .c-btn--l {
    --btn-txt-font-size: 18;
  }
  .c-btn--m {
    --btn-txt-font-size: 16;
  }
  .c-btn--s {
    --btn-txt-font-size: 14;
  }
  .c-btn--xs {
    --btn-txt-font-size: 12;
  }

  /* color */
  .c-btn--stroke {
    --btn-bg-color: var(--white-color);
    --btn-txt-color: var(--btn-border-color);
    --btn-arrow-color: var(--btn-border-color);
  }
/* 色 */
    .c-btn--yellow {
    --btn-bg-color: var(--yellow-color-100);
    --btn-border-color: var(--yellow-color-100);
    }
    .c-btn--red {
    --btn-bg-color: var(--red-color-100);
    --btn-border-color: var(--red-color-100);
    }
}
/* --------------------------------------------------------------------------
  別タブボタン
-------------------------------------------------------------------------- */
@media all and (min-width: 768px), print {
    .c-btn--new-window {
    }
    .c-btn--new-window .c-btn-txt {
        width: auto;
    }
    .c-btn--new-window .c-btn-txt__label {
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .c-btn-new-window {
    }
    .c-btn-new-window__label {
        display: flex;
        align-items: center;
        margin-left: calc(10 / var(--font-size) * 1em);
        height: 100%;
    }
    .c-btn-new-window__label .c-svg {
        width: calc(24 / var(--font-size) * 1em);
        fill: var(--btn-arrow-color);
        transition: all 0.3s;
    }
}
@media all and (max-width: 767px) {
    .c-btn--new-window {
    }
    .c-btn--new-window .c-btn-txt {
        width: auto;
    }
    .c-btn--new-window .c-btn-txt__label {
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .c-btn-new-window {
    }
    .c-btn-new-window__label {
        display: flex;
        align-items: center;
        margin-left: calc(10 / var(--font-size) * 1em);
        height: 100%;
    }
    .c-btn-new-window__label .c-svg {
        width: calc(24 / var(--font-size) * 1em);
        fill: var(--btn-arrow-color);
        transition: all 0.3s;
    }
}

/* --------------------------------------------------------------------------
  テキストボタン
-------------------------------------------------------------------------- */
@media all and (min-width: 768px), print {
  .c-link-btn {
    --link-arrow-color: var(--main-color-100);
    --link-font-size: 13;
    --link-txt-color: var(--black-color);
    --link-txt-position: flex-start;
  }
  a.c-link-btn:hover {
    --link-txt-color: var(--link-arrow-color);
  }
  .c-link-btn__in {
    display: flex;
    justify-content: var(--link-txt-position);
  }
  .c-link-btn__in--center {
    justify-content: center;
  }
  .c-link-btn-ico {
    width: calc(26 * var(--link-font-size) / 13 / var(--font-size) * 1em);
    height: calc(26 * var(--link-font-size) / 13 / var(--font-size) * 1em);
    border: calc(1.6 / var(--font-size) * 1em) solid var(--link-arrow-color);
    border-radius: 50%;
    margin-right: calc(10 / var(--font-size) * 1em);
    margin-top: calc(-1 * var(--link-font-size) / 13 / var(--font-size) * 1em);
    flex-shrink: 0;
  }
  .c-link-btn-ico__label {
    display: flex;
    justify-content: center;
    align-self: center;
    height: 100%;
  }
  .c-link-btn-ico__label .c-svg {
    width: calc(12 / var(--font-size) * 1em);
  }
  .c-link-btn-ico__label.c-link-btn-ico__label--down .c-svg {
    transform: rotate(90deg);
  }
  .c-link-btn--xs .c-link-btn-ico__label .c-svg {
    width: calc(9 / var(--font-size) * 1em);
  }
  .c-link-btn-ico__label svg {
    fill: var(--link-arrow-color);
  }
  .c-link-btn-txt {
  }
  .c-link-btn-txt__label {
    font-size: calc(var(--link-font-size) / var(--font-size) * 1em);
    line-height: 1.8;
    color: var(--link-txt-color);
    transition: all 0.3s ease;
  }

  /* size */
  .c-link-btn--l {
    --link-font-size: 20;
  }
  .c-link-btn--m {
    --link-font-size: 18;
  }
  .c-link-btn--s {
    --link-font-size: 16;
  }
  .c-link-btn--xs {
    --link-font-size: 14;
  }

  /* color */
  .c-link-btn--white {
    --link-arrow-color: var(--white-color);
    --link-txt-color: var(--white-color);
  }
  a.c-link-btn:hover .c-link-btn-txt__label {
    text-decoration: underline;
  }
}
@media all and (max-width: 767px) {
  .c-link-btn {
    --link-arrow-color: var(--main-color-100);
    --link-font-size: 13;
    --link-txt-color: var(--black-color);
    --link-txt-position: flex-start;
  }
  a.c-link-btn:hover {
    --link-txt-color: var(--link-arrow-color);
  }
  .c-link-btn__in {
    display: flex;
    justify-content: var(--link-txt-position);
  }
  .c-link-btn__in--center {
    justify-content: center;
  }
  .c-link-btn-ico {
    width: calc(26 * var(--link-font-size) / 13 / var(--font-size) * 1em);
    height: calc(26 * var(--link-font-size) / 13 / var(--font-size) * 1em);
    border: calc(1 / var(--font-size) * 1em) solid var(--link-arrow-color);
    border-radius: 50%;
    margin-right: calc(8 / var(--font-size) * 1em);
    margin-top: calc(-1 * var(--link-font-size) / 13 / var(--font-size) * 1em);
    flex-shrink: 0;
  }
  .c-link-btn-ico__label {
    display: flex;
    justify-content: center;
    align-self: center;
    height: 100%;
  }
  .c-link-btn-ico__label.c-link-btn-ico__label--down .c-svg {
    transform: rotate(90deg);
  }
  .c-link-btn-ico__label .c-svg {
    width: calc(9 / var(--font-size) * 1em);
  }
  .c-link-btn-ico__label svg {
    fill: var(--link-arrow-color);
  }
  .c-link-btn-txt {
  }
  .c-link-btn-txt__label {
    font-size: calc(var(--link-font-size) / var(--font-size) * 1em);
    line-height: 1.8;
    color: var(--link-txt-color);
    transition: all 0.3s ease;
  }

  /* size */
  .c-link-btn--l {
    --link-font-size: 14;
  }
  .c-link-btn--m {
    --link-font-size: 13;
  }

  /* color */
  .c-link-btn--white {
    --link-arrow-color: var(--white-color);
    --link-txt-color: var(--white-color);
  }
  a.c-link-btn:hover .c-link-btn-txt__label {
    text-decoration: underline;
  }
}

/* ==========================================================================
  TABLE COMPONENT
========================================================================== */
@media all and (min-width: 768px), print {
  .c-table {
  }
  * + .c-table {
    margin-top: calc(32 / var(--font-size) * 1em);
  }
  .c-table__in {
  }
  .c-table__header {
    margin-bottom: calc(10 / var(--font-size) * 1em);
  }
  .c-table__body {
  }
  .c-table-chart {
    border-radius: calc(16 / var(--font-size) * 1em);
    overflow: hidden;
    border: var(--secondary-color-200) calc(2 / var(--font-size) * 1em) solid;
    border-collapse: separate;
    border-spacing: 0;
    background-color: var(--white-color);
    width: 100%;
  }
  .c-table-chart__thead {
  }
  .c-table-chart__thead + .c-table-chart__tbody {
    border-top: var(--secondary-color-200) calc(2 / var(--font-size) * 1em) solid;
  }
  .c-table-chart__thead .c-table-chart__tr {
    text-align: left;
  }
  .c-table-chart__tr {
  }
  .c-table-chart__tr + .c-table-chart__tr .c-table-chart-cell {
    border-top: var(--secondary-color-200) calc(2 / var(--font-size) * 1em) solid;
  }
  .c-table-chart-cell {
    padding: calc(16 / var(--font-size) * 1em) calc(24 / var(--font-size) * 1em);
  }
  .c-table-chart-cell + .c-table-chart-cell {
    border-left: var(--secondary-color-200) calc(2 / var(--font-size) * 1em) solid;
  }
  .c-table__footer {
    margin-top: calc(10 / var(--font-size) * 1em);
  }
}
@media all and (max-width: 767px) {
  .c-table {
  }
  * + .c-table {
    margin-top: calc(32 / var(--font-size) * 1em);
  }
  .c-table__in {
  }
  .c-table__header {
    margin-bottom: calc(10 / var(--font-size) * 1em);
  }
  .c-table__body {
  }
  .c-table-chart {
    border-radius: calc(16 / var(--font-size) * 1em);
    overflow: hidden;
    border: var(--secondary-color-200) calc(2 / var(--font-size) * 1em) solid;
    border-collapse: separate;
    border-spacing: 0;
    background-color: var(--white-color);
    width: 100%;
  }
  .c-table-chart__thead {
  }
  .c-table-chart__thead + .c-table-chart__tbody {
    border-top: var(--secondary-color-200) calc(2 / var(--font-size) * 1em) solid;
  }
  .c-table-chart__thead .c-table-chart__tr {
    text-align: left;
  }
  .c-table-chart__tr {
  }
  .c-table-chart__tr + .c-table-chart__tr .c-table-chart-cell {
    border-top: var(--secondary-color-200) calc(2 / var(--font-size) * 1em) solid;
  }
  .c-table-chart-cell {
    padding: calc(16 / var(--font-size) * 1em) calc(24 / var(--font-size) * 1em);
  }
  .c-table-chart-cell + .c-table-chart-cell {
    border-left: var(--secondary-color-200) calc(2 / var(--font-size) * 1em) solid;
  }
  .c-table__footer {
    margin-top: calc(10 / var(--font-size) * 1em);
  }
}

/* ==========================================================================
  IMG SVG COMPONENT
========================================================================== */
/* --------------------------------------------------------------------------
  img
-------------------------------------------------------------------------- */
@media all and (min-width: 768px), print {
  .c-img {
  }
  .c-img__label {
    width: 100%;
  }
}
@media all and (max-width: 767px) {
  .c-img {
  }
  .c-img__label {
    width: 100%;
  }
}

/* --------------------------------------------------------------------------
  svg
-------------------------------------------------------------------------- */
.c-svg {
  position: relative;
  display: block;
  width: 100%;
}
.c-svg::before {
  display: block;
  padding-top: 100%;
  content: '';
}
.c-svg > svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* ==========================================================================
  COMMON COMPONENT
========================================================================== */
  /* --------------------------------------------------------------------------
  ACCORDION
-------------------------------------------------------------------------- */
@media all and (min-width: 768px), print {
.js-accordion {
}

.js-accordion.is-accordion-active {
}

.js-accordion-trigger {
  cursor: pointer;
}

.js-accordion-container {
  transition: all 0.3s;
  display: none;
  opacity: 0;
  visibility: hidden;
}
.js-accordion.is-accordion-active .js-accordion-container {
  display: block;
  opacity: 1;
  visibility: visible;
}
}
@media all and (max-width: 767px) {
  .js-accordion {
  }
  
  .js-accordion.is-accordion-active {
  }
  
  .js-accordion-trigger {
  }
  
  .js-accordion-container {
    transition: all 0.3s;
    display: none;
    opacity: 0;
    visibility: hidden;
  }
  .js-accordion.is-accordion-active .js-accordion-container {
    display: block;
    opacity: 1;
    visibility: visible;
  }
}

/* --------------------------------------------------------------------------
  FOOTER
-------------------------------------------------------------------------- */
@media all and (min-width: 768px), print {
}
@media all and (max-width: 767px) {
}


/* ==========================================================================
  LAYOUT
========================================================================== */

/* --------------------------------------------------------------------------
  SECTION
-------------------------------------------------------------------------- */
@media all and (min-width: 768px), print {
  .l-sec {
    --l-sec-width: 1366;
  }
  .l-sec__in {
    max-width: calc(1134 / var(--font-size) * 1em);
    padding: 0 calc(20 / var(--font-size) * 1em);
    margin: auto;
    --sec-width: 1094;
  }
  .l-sec__body {
    padding: calc(96 / var(--l-sec-width) * 100%) 0;
  }
  .l-sec__header {
    margin-bottom: calc(32 / var(--sec-width) * 100%);
    padding-bottom: calc(58 / var(--sec-width) * 100%);
    position: relative;
  }
  .l-sec__header::before {
    content: "";
    display: block;
    padding-top: calc(42 / var(--sec-width) * 100%);
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
  }
  .l-sec__content {

  }
  .contact-sec__body {
    padding: calc(48 / var(--font-size) * 1em) 0 calc(53 / var(--font-size) * 1em);
  }
}
@media all and (min-width: 768px) and (max-width: 1134px) {
}
@media all and (max-width: 767px) {
  .l-sec {
    --ttl-color:#8fc9c5;
  }
  .l-sec__in {
    padding: 0 calc(24 / 750 * 100vw);
    margin: auto;
  }
  .l-sec__body {
    padding: calc(125 / 750 * 100vw) 0;
    position: relative;
    z-index: 1;
  }
  .l-sec__header {
    margin-bottom: calc(76 / 750 * 100vw);
    padding-bottom: calc(72 / 750 * 100vw);
    position: relative;
  }
  .l-sec__header::before {
    content: "";
    display: block;
    padding-top: calc(53 / 750 * 100vw);
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
  }
  .l-sec__content {

  }
}