@charset "UTF-8";
/*--------------------
ブレイクポイント
--------------------*/
/*--------------------
メディアクエリ
--------------------*/
/*--------------------
矢印アイコン
--------------------*/
/*--------------------------------------
html,body
----------------------------------------*/
:root {
  /*size*/
  --site_width: 1280px;
  --site_width_lg: 1366px;
  --site_width_sm: 1060px;
  --site_padding: 40px;
  /*color*/
  --body_color: rgba(60 60 60 / 100%);
  --main_color: rgba(189 161 111 / 100%);
  --main_color_lt: rgba(241 236 229 / 100%);
  --main_color_dk: rgba(141 113 63 / 100%);
  --border_color: rgba(201 201 201 / 100%);
  --gray: rgba(125 125 125 / 100%);
  --gray_lt: rgba(246 246 246 / 100%);
  --orange: rgba(218 106 56 /100%);
  --line_color: rgba(6 199 85 / 100%);
  /*font*/
  --font-base: 1.6rem;
  --font_jp: "Yu Gothic", "Yu Gothic Medium", "YuGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  --font_jp_serif: "Noto Serif JP", serif;
  --font_en: "Montserrat", sans-serif;
  --font_en_serif: "Cormorant Garamond", serif;
  --font_weight_base: 500;
  --font_weight_regular: 400;
  --font_weight_medium: 500;
  --font_weight_semibold: 600;
  --font_weight_bold: 700;
  --line_height_base: 1.7;
  --line_height_headline: 1.3;
  /*z-index*/
  --z_index_modal: 1000;
  --z_index_header: 100;
  /*height*/
  --height_header: 120px;
}
@media screen and (max-width: 768px) {
  :root {
    /*size*/
    --site_padding: 20px;
    /*height*/
    --height_header: 70px;
  }
}

html {
  font-size: 62.5%;
}

body {
  color: var(--body_color);
  font-family: var(--font_jp);
  font-size: var(--font-base);
  font-weight: var(--font_weight_base);
  line-height: var(--line_height_base);
  overflow-wrap: anywhere;
}

/*==================================================
sp pc
==================================================*/
@media screen and (max-width: 768px) {
  .pc_only {
    display: none;
  }
}

@media screen and (min-width: 769px) {
  .sp_only {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .sp_only {
    display: block;
  }
}

/*==================================================
Grid
==================================================*/
.row {
  display: flex;
  flex-wrap: wrap;
  margin-inline: -15px;
}

.row > * {
  padding-inline: 15px;
  box-sizing: border-box;
}

.col {
  flex: 1 0 0%;
}

/*--------------------
Default
--------------------*/
.col-1 {
  flex: 0 0 8.3333333333%;
  max-width: 8.3333333333%;
}

.col-2 {
  flex: 0 0 16.6666666667%;
  max-width: 16.6666666667%;
}

.col-3 {
  flex: 0 0 25%;
  max-width: 25%;
}

.col-4 {
  flex: 0 0 33.3333333333%;
  max-width: 33.3333333333%;
}

.col-5 {
  flex: 0 0 41.6666666667%;
  max-width: 41.6666666667%;
}

.col-6 {
  flex: 0 0 50%;
  max-width: 50%;
}

.col-7 {
  flex: 0 0 58.3333333333%;
  max-width: 58.3333333333%;
}

.col-8 {
  flex: 0 0 66.6666666667%;
  max-width: 66.6666666667%;
}

.col-9 {
  flex: 0 0 75%;
  max-width: 75%;
}

.col-10 {
  flex: 0 0 83.3333333333%;
  max-width: 83.3333333333%;
}

.col-11 {
  flex: 0 0 91.6666666667%;
  max-width: 91.6666666667%;
}

.col-12 {
  flex: 0 0 100%;
  max-width: 100%;
}

/*--------------------
SP以上（769px～）
--------------------*/
@media screen and (min-width: 769px) {
  .col-sp-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .col-sp-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-sp-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-sp-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .col-sp-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .col-sp-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-sp-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .col-sp-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .col-sp-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-sp-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .col-sp-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .col-sp-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
/*--------------------
MD以上（1081px～）
--------------------*/
@media screen and (min-width: 1081px) {
  .col-md-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .col-md-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-md-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-md-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .col-md-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-md-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .col-md-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .col-md-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-md-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .col-md-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .col-md-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
/*--------------------
LG以上（1281px～）
--------------------*/
@media screen and (min-width: 1281px) {
  .col-lg-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .col-lg-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .col-lg-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .col-lg-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .col-lg-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .col-lg-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .col-lg-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
/*==================================================
Add Utility
==================================================*/
/*--------------------
Spacing Scale
--------------------*/
/*--------------------
Margin
--------------------*/
.mt-0 {
  margin-top: 0;
}

.mb-0 {
  margin-bottom: 0;
}

.ms-0 {
  margin-left: 0;
}

.me-0 {
  margin-right: 0;
}

.mx-0 {
  margin-left: 0;
  margin-right: 0;
}

.my-0 {
  margin-top: 0;
  margin-bottom: 0;
}

.m-0 {
  margin: 0;
}

.mt-1 {
  margin-top: 0.25rem;
}

.mb-1 {
  margin-bottom: 0.25rem;
}

.ms-1 {
  margin-left: 0.25rem;
}

.me-1 {
  margin-right: 0.25rem;
}

.mx-1 {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}

.my-1 {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}

.m-1 {
  margin: 0.25rem;
}

.mt-2 {
  margin-top: 0.5rem;
}

.mb-2 {
  margin-bottom: 0.5rem;
}

.ms-2 {
  margin-left: 0.5rem;
}

.me-2 {
  margin-right: 0.5rem;
}

.mx-2 {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

.my-2 {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

.m-2 {
  margin: 0.5rem;
}

.mt-3 {
  margin-top: 1rem;
}

.mb-3 {
  margin-bottom: 1rem;
}

.ms-3 {
  margin-left: 1rem;
}

.me-3 {
  margin-right: 1rem;
}

.mx-3 {
  margin-left: 1rem;
  margin-right: 1rem;
}

.my-3 {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.m-3 {
  margin: 1rem;
}

.mt-4 {
  margin-top: 1.5rem;
}

.mb-4 {
  margin-bottom: 1.5rem;
}

.ms-4 {
  margin-left: 1.5rem;
}

.me-4 {
  margin-right: 1.5rem;
}

.mx-4 {
  margin-left: 1.5rem;
  margin-right: 1.5rem;
}

.my-4 {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

.m-4 {
  margin: 1.5rem;
}

.mt-5 {
  margin-top: 3rem;
}

.mb-5 {
  margin-bottom: 3rem;
}

.ms-5 {
  margin-left: 3rem;
}

.me-5 {
  margin-right: 3rem;
}

.mx-5 {
  margin-left: 3rem;
  margin-right: 3rem;
}

.my-5 {
  margin-top: 3rem;
  margin-bottom: 3rem;
}

.m-5 {
  margin: 3rem;
}

.mt-auto {
  margin-top: auto;
}

.mb-auto {
  margin-bottom: auto;
}

.ms-auto {
  margin-left: auto;
}

.me-auto {
  margin-right: auto;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.my-auto {
  margin-top: auto;
  margin-bottom: auto;
}

.m-auto {
  margin: auto;
}

/*--------------------
Padding
--------------------*/
.pt-0 {
  padding-top: 0;
}

.pb-0 {
  padding-bottom: 0;
}

.ps-0 {
  padding-left: 0;
}

.pe-0 {
  padding-right: 0;
}

.px-0 {
  padding-left: 0;
  padding-right: 0;
}

.py-0 {
  padding-top: 0;
  padding-bottom: 0;
}

.p-0 {
  padding: 0;
}

.pt-1 {
  padding-top: 0.25rem;
}

.pb-1 {
  padding-bottom: 0.25rem;
}

.ps-1 {
  padding-left: 0.25rem;
}

.pe-1 {
  padding-right: 0.25rem;
}

.px-1 {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}

.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

.p-1 {
  padding: 0.25rem;
}

.pt-2 {
  padding-top: 0.5rem;
}

.pb-2 {
  padding-bottom: 0.5rem;
}

.ps-2 {
  padding-left: 0.5rem;
}

.pe-2 {
  padding-right: 0.5rem;
}

.px-2 {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.p-2 {
  padding: 0.5rem;
}

.pt-3 {
  padding-top: 1rem;
}

.pb-3 {
  padding-bottom: 1rem;
}

.ps-3 {
  padding-left: 1rem;
}

.pe-3 {
  padding-right: 1rem;
}

.px-3 {
  padding-left: 1rem;
  padding-right: 1rem;
}

.py-3 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.p-3 {
  padding: 1rem;
}

.pt-4 {
  padding-top: 1.5rem;
}

.pb-4 {
  padding-bottom: 1.5rem;
}

.ps-4 {
  padding-left: 1.5rem;
}

.pe-4 {
  padding-right: 1.5rem;
}

.px-4 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.py-4 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.p-4 {
  padding: 1.5rem;
}

.pt-5 {
  padding-top: 3rem;
}

.pb-5 {
  padding-bottom: 3rem;
}

.ps-5 {
  padding-left: 3rem;
}

.pe-5 {
  padding-right: 3rem;
}

.px-5 {
  padding-left: 3rem;
  padding-right: 3rem;
}

.py-5 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.p-5 {
  padding: 3rem;
}

.pt-auto {
  padding-top: auto;
}

.pb-auto {
  padding-bottom: auto;
}

.ps-auto {
  padding-left: auto;
}

.pe-auto {
  padding-right: auto;
}

.px-auto {
  padding-left: auto;
  padding-right: auto;
}

.py-auto {
  padding-top: auto;
  padding-bottom: auto;
}

.p-auto {
  padding: auto;
}

@media screen and (max-width: 768px) {
  .mt-sp-0 {
    margin-top: 0;
  }
  .mb-sp-0 {
    margin-bottom: 0;
  }
  .m-sp-0 {
    margin: 0;
  }
  .pt-sp-0 {
    padding-top: 0;
  }
  .pb-sp-0 {
    padding-bottom: 0;
  }
  .p-sp-0 {
    padding: 0;
  }
  .mt-sp-1 {
    margin-top: 0.25rem;
  }
  .mb-sp-1 {
    margin-bottom: 0.25rem;
  }
  .m-sp-1 {
    margin: 0.25rem;
  }
  .pt-sp-1 {
    padding-top: 0.25rem;
  }
  .pb-sp-1 {
    padding-bottom: 0.25rem;
  }
  .p-sp-1 {
    padding: 0.25rem;
  }
  .mt-sp-2 {
    margin-top: 0.5rem;
  }
  .mb-sp-2 {
    margin-bottom: 0.5rem;
  }
  .m-sp-2 {
    margin: 0.5rem;
  }
  .pt-sp-2 {
    padding-top: 0.5rem;
  }
  .pb-sp-2 {
    padding-bottom: 0.5rem;
  }
  .p-sp-2 {
    padding: 0.5rem;
  }
  .mt-sp-3 {
    margin-top: 1rem;
  }
  .mb-sp-3 {
    margin-bottom: 1rem;
  }
  .m-sp-3 {
    margin: 1rem;
  }
  .pt-sp-3 {
    padding-top: 1rem;
  }
  .pb-sp-3 {
    padding-bottom: 1rem;
  }
  .p-sp-3 {
    padding: 1rem;
  }
  .mt-sp-4 {
    margin-top: 1.5rem;
  }
  .mb-sp-4 {
    margin-bottom: 1.5rem;
  }
  .m-sp-4 {
    margin: 1.5rem;
  }
  .pt-sp-4 {
    padding-top: 1.5rem;
  }
  .pb-sp-4 {
    padding-bottom: 1.5rem;
  }
  .p-sp-4 {
    padding: 1.5rem;
  }
  .mt-sp-5 {
    margin-top: 3rem;
  }
  .mb-sp-5 {
    margin-bottom: 3rem;
  }
  .m-sp-5 {
    margin: 3rem;
  }
  .pt-sp-5 {
    padding-top: 3rem;
  }
  .pb-sp-5 {
    padding-bottom: 3rem;
  }
  .p-sp-5 {
    padding: 3rem;
  }
  .mt-sp-auto {
    margin-top: auto;
  }
  .mb-sp-auto {
    margin-bottom: auto;
  }
  .m-sp-auto {
    margin: auto;
  }
  .pt-sp-auto {
    padding-top: auto;
  }
  .pb-sp-auto {
    padding-bottom: auto;
  }
  .p-sp-auto {
    padding: auto;
  }
}
/*--------------------
Font Size
--------------------*/
.fs-sm {
  font-size: 1.4rem;
}

.fs-base {
  font-size: 1.6rem;
}

.fs-lg {
  font-size: 2rem;
}

.fs-xl {
  font-size: 2.4rem;
}

.fs-xxl {
  font-size: 3rem;
}

.fs-display {
  font-size: 3.8rem;
}

/*--------------------
Text Color
--------------------*/
.text-body {
  color: var(--body_color);
}

.text-main {
  color: var(--main_color);
}

.text-main-lt {
  color: var(--main_color_lt);
}

.text-main-dk {
  color: var(--main_color_dk);
}

.text-border {
  color: var(--border_color);
}

.text-gray {
  color: var(--gray);
}

.text-gray-lt {
  color: var(--gray_lt);
}

.text-orange {
  color: var(--orange);
}

.text-line {
  color: var(--line_color);
}

.text-white {
  color: #fff;
}

.text-black {
  color: #000;
}

/*--------------------
Text Align
--------------------*/
.text-start {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-end {
  text-align: right;
}

/*--------------------
Font Family
--------------------*/
.ff-gothic {
  font-family: sans-serif;
}

.ff-mincho {
  font-family: serif;
}

/*--------------------
Font Weight
--------------------*/
.fw-normal {
  font-weight: 400;
}

.fw-medium {
  font-weight: 500;
}

.fw-bold {
  font-weight: 700;
}

/*--------------------
Background Color
--------------------*/
.bg-body {
  background-color: var(--body_color);
}

.bg-main {
  background-color: var(--main_color);
}

.bg-main-lt {
  background-color: var(--main_color_lt);
}

.bg-main-dk {
  background-color: var(--main_color_dk);
}

.bg-border {
  background-color: var(--border_color);
}

.bg-gray {
  background-color: var(--gray);
}

.bg-gray-lt {
  background-color: var(--gray_lt);
}

.bg-orange {
  background-color: var(--orange);
}

.bg-line {
  background-color: var(--line_color);
}

.bg-white {
  background-color: #fff;
}

.bg-transparent {
  background-color: transparent;
}

/*--------------------
Border Width
--------------------*/
/*--------------------
Border Position
--------------------*/
.border {
  border: solid 1px var(--gray);
}

.border-top {
  border-top: solid 1px var(--gray);
}

.border-bottom {
  border-bottom: solid 1px var(--gray);
}

.border-start {
  border-left: solid 1px var(--gray);
}

.border-end {
  border-right: solid 1px var(--gray);
}

/*--------------------
Border Width
--------------------*/
.border-1 {
  border-width: 1px;
}

.border-2 {
  border-width: 2px;
}

.border-3 {
  border-width: 3px;
}

.border-4 {
  border-width: 4px;
}

.border-5 {
  border-width: 5px;
}

/*--------------------
Border Color
--------------------*/
.border-body {
  border-color: var(--body_color);
}

.border-main {
  border-color: var(--main_color);
}

.border-main-lt {
  border-color: var(--main_color_lt);
}

.border-main-dk {
  border-color: var(--main_color_dk);
}

.border-border {
  border-color: var(--border_color);
}

.border-gray {
  border-color: var(--gray);
}

.border-gray-lt {
  border-color: var(--gray_lt);
}

.border-orange {
  border-color: var(--orange);
}

.border-line {
  border-color: var(--line_color);
}

/*==================================================
modal
==================================================*/
.m_modal {
  display: flex;
  flex-direction: column;
  inset: 0;
  justify-content: center;
  opacity: 0;
  padding-inline: var(--site_padding);
  pointer-events: none;
  position: fixed;
  transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: var(--z_index_modal);
}
.m_modal.is_active {
  opacity: 1;
  pointer-events: auto;
}
.m_modal_overlay {
  background-color: rgba(0, 0, 0, 0.6);
  inset: 0;
  position: absolute;
}
.m_modal_content {
  background: rgb(255, 255, 255);
  margin: 100px auto;
  max-width: 900px;
  position: relative;
  width: 100%;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .m_modal_content {
    margin-block: 50px;
  }
}
.m_modal_close {
  cursor: pointer;
  height: 30px;
  position: absolute;
  right: 0;
  top: -54px;
  width: 30px;
}
@media screen and (max-width: 768px) {
  .m_modal_close {
    height: 22px;
    top: -44px;
    width: 22px;
  }
}
.m_modal_close::before, .m_modal_close::after {
  background-color: rgb(255, 255, 255);
  content: "";
  height: 2px;
  left: 50%;
  position: absolute;
  top: 50%;
  width: 34px;
}
@media screen and (max-width: 768px) {
  .m_modal_close::before, .m_modal_close::after {
    width: 26px;
  }
}
.m_modal_close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.m_modal_close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.m_modal {
  /*
  &_head {
  	background-color: var(--main_color);
  	padding: 40px;

  	@include mixin.mq_down(sp) {
  		padding: 25px;
  	}
  }
  */
}
#globalModal .m_modal_body {
  border: 7px solid var(--main_color);
  max-height: 80vh;
  overflow-y: hidden;
  padding: 0;
}
@media screen and (max-width: 768px) {
  #globalModal .m_modal_body {
    max-height: 74vh;
  }
}
#globalModal .m_modal_footer {
  background-color: var(--main_color);
  flex-shrink: 0;
  text-align: center;
}
#globalModal .m_modal_footer_close {
  border: none;
  color: #fff;
  cursor: pointer;
  font-family: sans-serif;
  font-size: 1.6rem;
  padding: 10px 20px 17px 20px;
}
@media screen and (max-width: 768px) {
  #globalModal .m_modal_footer_close {
    font-size: 1.4rem;
  }
}

.m_modal_page {
  background: #fff;
  display: flex;
  flex-direction: column;
  height: 80vh;
}
.m_modal_page_body {
  height: 100%;
  overflow-y: auto;
  padding-bottom: 80px;
}
.m_modal_page_head {
  background-color: var(--main_color);
  flex-shrink: 0;
}
.m_modal_page_head_title {
  color: #fff;
  font-family: serif;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.4;
  margin: 0;
  padding: 10px 10px 17px 10px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .m_modal_page_head_title {
    font-size: 2.6rem;
  }
}/*# sourceMappingURL=style.css.map */