@charset "UTF-8";
/*----------------------------------------
	reset
----------------------------------------*/
*,
::before,
::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

* {
  font-size: inherit;
  line-height: inherit; }

::before,
::after {
  text-decoration: inherit;
  vertical-align: inherit; }

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, main, menu, nav, section,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  vertical-align: baseline; }

header, footer, article, section, aside, main, nav, menu, figure, figcaption {
  display: block; }

span, small, strong, em, b, i {
  color: inherit; }

html {
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%; }

ul,
ol {
  list-style: none; }

img {
  border: 0;
  vertical-align: top; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

caption, th {
  text-align: left; }

input, select {
  vertical-align: middle; }

input, textarea {
  margin: 0;
  padding: 0; }

address {
  font-style: normal; }

q::before,
q::after {
  display: none; }

/*----------------------------------------
	base
----------------------------------------*/
html {
  scroll-behavior: smooth; }

body {
  overflow-x: hidden;
  overflow-y: auto;
  color: #B98C78;
  font-family: 'Noto Sans JP', sans-serif;
  line-height: 1.75; }

h1, h2, h3, h4, h5, h6 {
  line-height: 1.5; }

a {
  color: #B98C78;
  text-decoration: underline;
  transition: all 0.3s; }

a:hover {
  color: #B98C78; }

img {
  width: 100%;
  height: auto; }
  img.self-size {
    max-width: 100%; }

button {
  -webkit-appearance: none;
  appearance: none;
  display: block;
  width: 100%;
  border: 0;
  font-family: inherit;
  font-weight: inherit; }

/*----------------------------------------
	Form Parts
----------------------------------------*/
/*各フォーム部品の基本スタイルを上書きします*/
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="search"],
textarea,
select {
  -webkit-appearance: none;
  appearance: none;
  /*ブラウザ標準スタイルを無効にする*/
  width: 100%;
  padding: 10px 20px;
  background: #fff;
  border: 1px solid #707070;
  border-radius: 4px;
  font-family: inherit; }

input[type="number"],
input[type="password"] {
  width: 100%;
  padding: 10px 20px;
  background: #fff;
  border: 1px solid #707070;
  border-radius: 4px; }

/*フォーカス時*/
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
textarea:focus,
select:focus,
input[type="number"],
input[type="password"] {
  outline: none;
  box-shadow: 0 0 5px rgba(168, 142, 37, 0.7); }

/*エラー時*/
.is-error input[type="text"],
.is-error input[type="email"],
.is-error input[type="tel"],
.is-error input[type="url"],
.is-error input[type="number"],
.is-error input[type="password"],
.is-error textarea,
.is-error select,
.is-error .select-wrap {
  color: #F7320E;
  border-color: #F7320E; }

/*select
--------------------------*/
.select-wrap {
  position: relative; }

.select-wrap::after {
  position: absolute;
  right: 20px;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-right: 2px solid;
  border-bottom: 2px solid;
  transform: rotate(45deg); }

select::-ms-expand {
  /*IEでもselectの矢印を消す*/
  　display: none; }

/*radio, checkbox
------------------------------------*/
input[type="radio"],
input[type="checkbox"] {
  opacity: 0;
  /*透明にして見えなくする*/
  position: absolute;
  /*本来の配置から切り離す*/ }

/*クリック範囲*/
input[type="radio"] + span,
input[type="checkbox"] + span {
  display: inline-block;
  position: relative;
  margin: 0 2em 0 0;
  padding: 0.3em 0.3em 0.3em 2em;
  line-height: 1;
  vertical-align: middle;
  cursor: pointer; }

/*フォーカス時*/
input[type="radio"]:focus + span,
input[type="checkbox"]:focus + span {
  outline: none;
  box-shadow: 0 0 5px rgba(168, 142, 37, 0.7); }

/*ラジオボタンスタイル*/
input[type="radio"] + span:before {
  content: "";
  position: absolute;
  top: 0.25em;
  left: 0;
  width: 1.375em;
  height: 1.375em;
  border: 1px solid #B98C78;
  border-radius: 50%;
  line-height: 1;
  background: #fff; }

/*ラジオボタンチェック印（未選択）*/
input[type="radio"] + span:after {
  content: "";
  display: none; }

/*ラジオボタンチェック印（選択）*/
input[type="radio"]:checked + span:after {
  display: block;
  position: absolute;
  top: 0.45em;
  left: 0.2em;
  width: 1em;
  height: 1em;
  margin: 0;
  padding: 0;
  border-radius: 50%;
  background: #B98C78;
  line-height: 1; }

/*チェックボックススタイル*/
input[type="checkbox"] + span:before {
  position: absolute;
  top: 0.3em;
  left: 0;
  content: "";
  width: 1.25em;
  height: 1.25em;
  border: 1px solid #B98C78;
  background: #fff;
  line-height: 1;
  vertical-align: middle; }

/*チェックボックス未チェック時*/
input[type="checkbox"] + span:after {
  content: "";
  display: none; }

/*チェックボックスチェック時*/
input[type="checkbox"]:checked + span:after {
  display: block;
  position: absolute;
  top: 0.3em;
  left: 0.4em;
  width: 0.5em;
  height: 1em;
  content: "";
  border-bottom: 3px solid #B98C78;
  border-right: 3px solid #B98C78;
  transform: rotate(45deg); }

/* header
------------------------------------------------------ */
.header {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 70px; }

.header__logo {
  width: 40px;
  height: 60px; }

@media screen and (min-width: 768px), print {
  .header {
    height: 100px; }

  .header__logo {
    width: 60px;
    height: 80px; } }
/* spmenu
------------------------------------------------------ */
.gnav {
  display: none;
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  overflow-x: hidden;
  overflow-y: auto;
  width: 100%;
  height: 100%;
  background: #F2B6CA; }
  .gnav__inner {
    padding: 28px 20px; }

/* hamburger
------------------------------------------------------ */
.hamburger {
  position: fixed;
  right: 0;
  top: 0;
  z-index: 10000;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 70px;
  height: 70px;
  border: 0;
  background: #B98C78;
  color: #ffffff;
  cursor: pointer;
  transition: background-color .3s; }
  .hamburger:hover, .hamburger:focus-visible {
    background: #CEB967; }

.hamburger__line {
  position: relative;
  width: 25px;
  height: 2px;
  background: #fff; }

.hamburger__line::before,
.hamburger__line::after {
  position: absolute;
  content: "";
  display: block;
  width: 25px;
  height: 2px;
  background: #fff;
  transition: transform 0.3s; }

.hamburger__line::before {
  top: -9px; }

.hamburger__line::after {
  bottom: -9px; }

.hamburger__txt {
  margin-top: 12px;
  font-size: 12px;
  text-transform: uppercase; }

/*閉じる*/
/*aria-expandedの状態でスタイルを適用*/
.hamburger[aria-expanded="true"] .hamburger__line {
  background: transparent; }

.hamburger[aria-expanded="true"] .hamburger__line::before {
  top: 0;
  transform: rotate(45deg); }

.hamburger[aria-expanded="true"] .hamburger__line::after {
  bottom: 0;
  transform: rotate(-45deg); }

/* menu (spmenu / ftmenu)
------------------------------------------------------ */
/*ヘッダー・フッターのSP用メニュースタイルが同じなので、共通するスタイルだけまとめて記述しています。
class名は分けてあるので将来的に個別に指定することになったら分離します。*/
.spmenu__logo,
.footer__logo {
  width: 150px;
  height: 67px;
  margin: auto;
  margin-top: 20px; }

.spmenu__list,
.ftmenu {
  position: absolute;
  z-index: 999;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); }

.spmenu__link,
.ftmenu__link {
  display: block;
  padding: 10px;
  color: #ffffff;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase; }

.spmenu-s,
.ftmenu-sns {
  margin-top: 45px;
  line-height: 1;
  text-align: center; }

.spmenu-sns__item,
.ftmenu-sns__item {
  display: inline-block; }

.spmenu-sns__link,
.ftmenu-sns__link {
  display: block;
  padding: 0 5px;
  color: inherit;
  font-size: 12px;
  text-decoration: none; }

/* footer
------------------------------------------------------ */
.footer {
  position: relative;
  background: #B98C78;
  color: #ffffff;
  text-align: center; }
  .footer a:hover, .footer a:active {
    color: #CEB967; }

.footer__inner {
  max-width: 1084px;
  margin: auto;
  padding: 50px 20px; }

.footer__copyright {
  margin-top: 60px;
  font-size: 12px; }

@media screen and (min-width: 768px), print {
  .ftmenu {
    margin-top: 20px;
    border: 0;
    line-height: 1; }

  .ftmenu__item {
    display: inline-block;
    border: 0; }
    .ftmenu__item:not(:first-child) {
      border-left: 1px solid; }

  .ftmenu__link {
    display: block;
    padding: 0 5px;
    font-weight: normal;
    font-size: 12px; }

  .ftmenu-s {
    margin-top: 10px; } }
/* breadcrumb
------------------------------------------------------ */
.breadcrumb {
  position: relative;
  max-width: 1084px;
  margin: auto;
  padding-left: 20px;
  padding-right: 20px;
  box-sizing: content-box; }
  .breadcrumb a {
    font-size: 12px; }
    .breadcrumb a[aria-current] {
      text-decoration: none; }

.breadcrumb__list {
  position: absolute; }

.breadcrumb__item {
  display: inline; }
  .breadcrumb__item:not(:last-child)::after {
    content: ">";
    margin-left: 0.2em;
    margin-right: 0.2em; }

/* pagetop
------------------------------------------------------ */
.pagetop {
  position: absolute;
  right: 10px;
  top: -15px;
  width: 60px;
  height: 60px; }
  .pagetop a {
    display: block;
    width: 34px;
    height: 34px;
    margin: 0 auto;
    border-radius: 50%;
    background: #B98C78;
    transition: background-color .3s;
    color: #ffffff;
    font-size: 16px;
    text-decoration: none; }
    .pagetop a:hover, .pagetop a:focus {
      background-color: #CEB967;
      color: #ffffff; }
  @media screen and (min-width: 768px), print {
    .pagetop {
      width: 80px;
      height: 80px;
      right: 30px;
      top: -60px; }
      .pagetop a {
        width: 80px;
        height: 80px;
        padding: 20px;
        font-size: 20px; } }

/* container
------------------------------------------------------ */
.container {
  max-width: 1084px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
  box-sizing: content-box; }
  .container._narrow {
    max-width: 800px; }

/* section
------------------------------------------------------ */
.section {
  padding-top: 80px;
  padding-bottom: 80px; }
  @media screen and (min-width: 768px), print {
    .section {
      padding-top: 100px;
      padding-bottom: 100px; } }

.section:not(.section--bg) + section:not(.section--bg) {
  padding-top: 0; }

.section--bg {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-left: calc(50vw - 50%);
  padding-right: calc(50vw - 50%);
  background: #F2B6CA; }

/*セクション付属タイトル*/
.section__title {
  font-size: 24px;
  text-align: center; }
  .section__title + * {
    margin-top: 30px; }
  @media screen and (min-width: 768px), print {
    .section__title {
      font-size: 30px; }
      .section__title + * {
        margin-top: 40px; } }

/*セクション付属リード文*/
.section__lead + * {
  margin-top: 50px; }
@media screen and (min-width: 768px), print {
  .section__lead {
    text-align: center; }
    .section__lead + * {
      margin-top: 80px; } }

/* contents
------------------------------------------------------ */
.main-contents {
  padding-top: 80px;
  padding-bottom: 0; }
  .main-contents._home {
    padding-top: 0;
    padding-bottom: 0; }
  .main-contents._staff {
    padding-bottom: 100px; }
  @media screen and (min-width: 768px), print {
    .main-contents {
      padding-top: 100px;
      padding-bottom: 0; }
      .main-contents._staff {
        padding-bottom: 150px; } }

/* grid
------------------------------------------------------ */
/*IE11非対応案件なのでgridレイアウトを採用*/
.grid {
  display: grid;
  gap: 20px; }
  @media screen and (min-width: 576px), print {
    .grid.pd-card-list {
      gap: 40px 20px; } }

/*PC4カラム用*/
@media screen and (max-width: 575px) {
  .grid--pc4col {
    grid-template-columns: repeat(2, 1fr); } }
@media screen and (min-width: 576px), print {
  .grid--pc4col {
    grid-template-columns: repeat(3, 1fr); } }
@media screen and (min-width: 768px), print {
  .grid--pc4col {
    grid-template-columns: repeat(4, 1fr); } }

/*PC3カラム*/
@media screen and (max-width: 575px) {
  .grid--pc3col {
    max-width: 400px;
    margin-left: auto;
    margin-right: auto; } }
@media screen and (min-width: 576px), print {
  .grid--pc3col {
    grid-template-columns: repeat(2, 1fr); } }
@media screen and (min-width: 768px), print {
  .grid--pc3col {
    grid-template-columns: repeat(3, 1fr); } }

/*PC2カラム*/
.grid--pc2col {
  max-width: 400px;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (min-width: 768px), print {
    .grid--pc2col {
      max-width: none;
      grid-template-columns: repeat(2, 1fr); } }

/* heading
------------------------------------------------------ */
/*大見出し(h2相当)*/
.heading-lv2 {
  position: relative;
  display: flex;
  align-items: center; }
  .heading-lv2 + * {
    margin-top: 20px; }

.heading-lv2__title {
  flex-grow: 1;
  font-size: min((16 / 375) * 100vw, 20px);
  font-weight: normal;
  text-align: center; }

.heading-lv2__btn {
  position: absolute;
  right: 0;
  bottom: 10px; }

@media screen and (min-width: 768px), print {
  .heading-lv2 + * {
    margin-top: 40px; }

  .heading-lv2__title {
    font-size: min((20 / 1084) * 100vw, 20px); } }
/*ボタン有りの場合*/
.heading-lv2._btn .heading-lv2__title {
  padding-right: 90px; }
  @media screen and (min-width: 768px), print {
    .heading-lv2._btn .heading-lv2__title {
      padding-right: 110px; } }

/*猫アイコン有りの場合*/
.heading-lv2._icon::before {
  content: "";
  display: block;
  width: 21px;
  height: 47px;
  margin-right: 10px;
  background: url(../img/ico_cat.svg) left bottom/contain no-repeat; }

/* button
------------------------------------------------------ */
/*button共通*/
.btn {
  display: inline-block;
  width: 100%;
  min-width: 200px;
  padding: 1em 2em;
  border-radius: 2em;
  border: 2px solid;
  background: #ffffff;
  font-weight: bold;
  font-size: 14px;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
  transition: all .3s; }
  .btn:hover, .btn:focus {
    background: #F2B6CA;
    border-color: #CEB967;
    color: #B98C78; }

/*小ボタン*/
.s-btn {
  display: inline-block;
  padding: 0 1.5em;
  background: #B98C78;
  border-radius: 6px;
  color: #ffffff;
  text-align: center;
  text-decoration: none;
  font-size: 13px; }
  .s-btn:hover, .s-btn:focus {
    background: #CEB967;
    color: #ffffff; }
  @media screen and (min-width: 768px), print {
    .s-btn {
      font-size: 16px; } }

/*大ボタン*/
.btn--lg {
  max-width: 400px;
  padding: 20px;
  font-size: 20px; }

/*アクション系*/
.btn--action {
  border-color: #CEB967;
  background: #CEB967;
  color: #ffffff; }
  .btn--action:hover, .btn--action:focus {
    border-color: #CEB967;
    background: #CEB967;
    color: #ffffff;
    opacity: 0.7; }

/*ゴースト*/
.btn--ghost {
  background: transparent;
  border: 2px solid #ffffff;
  color: #ffffff; }
  .btn--ghost:hover {
    border-color: #ffffff;
    background: rgba(255, 255, 255, 0.3);
    color: #ffffff; }

/*アイコン*/
.btn--next::after {
  content: "";
  display: inline-block;
  width: 0.57em;
  height: 0.57em;
  margin-left: 0.2em;
  border-top: 2px solid;
  border-right: 2px solid;
  transform: rotate(45deg);
  vertical-align: middle; }

.btn--back::before {
  content: "";
  display: inline-block;
  width: 0.57em;
  height: 0.57em;
  margin-right: 0.2em;
  border-top: 2px solid;
  border-right: 2px solid;
  transform: rotate(-135deg);
  vertical-align: middle; }

/*カートボタン*/
.btn--cart {
  padding: 10px;
  border-color: transparent;
  background: #CEB967;
  color: #ffffff;
  font-size: 14px;
  cursor: pointer;
  transition: all .3s; }
  .btn--cart:hover, .btn--cart:focus {
    border-color: transparent;
    background: #CEB967;
    color: #ffffff;
    opacity: 0.7; }
  .btn--cart::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-right: 5px;
    background: url(../img/ico_cart.svg) center center/contain no-repeat;
    vertical-align: middle; }

/*中央配置ボタン*/
.btn-center {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-top: 80px; }
  .btn-center > * + * {
    margin-top: 20px; }
  @media screen and (min-width: 768px), print {
    .btn-center {
      flex-direction: row; }
      .btn-center > * + * {
        margin-top: 0;
        margin-left: 20px; } }

/* tag
------------------------------------------------------ */
.tag {
  display: inline-block;
  min-width: 92px;
  padding: 4px 10px;
  background: #F2B6CA;
  font-size: 12px;
  line-height: 1;
  text-align: center; }
  .tag--new {
    background: #F7320E;
    color: #ffffff;
    font-weight: bold; }

/* table
------------------------------------------------------ */
.table {
  width: 100%; }
  .table th {
    padding: 20px;
    border: 1px solid #ffffff;
    border-right: 0;
    background: #B98C78;
    font-weight: normal;
    text-align: left;
    vertical-align: middle;
    color: #ffffff; }
  .table td {
    padding: 20px;
    border: 1px solid #CEB967;
    border-left: 0;
    background: #ffffff;
    text-align: left;
    vertical-align: middle; }

/*type01:そのまま縮小表示*/
@media screen and (max-width: 575px) {
  .table._type01 {
    font-size: 12px; }
    .table._type01 th, .table._type01 td {
      padding: 10px 15px; } }

/* tab
------------------------------------------------------ */
[role="tabpanel"][aria-hidden="true"] {
  display: none; }

/* accordion
------------------------------------------------------ */
.accordion__panel {
  display: none; }

.font--white {
  color: #ffffff; }

/* お知らせ
------------------------------------------------------ */
.news {
  border-top: 1px dashed #CEB967;
  line-height: 1.5; }

.news__item {
  display: flex;
  flex-direction: column;
  padding: 15px 0;
  border-bottom: 1px dashed #CEB967; }

.news__link {
  display: inline-block; }

@media screen and (min-width: 768px), print {
  .news__item {
    flex-direction: row;
    align-items: center;
    padding: 20px 0; }

  .news__data {
    display: flex;
    align-items: center; }

  .news__date {
    flex-shrink: 0;
    width: 110px; }

  .news__link {
    margin-left: 15px; } }
/* CTA
------------------------------------------------------ */
.cta {
  text-align: center; }

.cta__ph {
  display: inline-block;
  width: 140px;
  height: 140px; }

.cta__account {
  margin-top: 20px;
  font-weight: bold; }

.cta__text {
  margin-top: 20px; }

.cta__btn > li:not(:first-child) {
  margin-top: 20px; }

@media screen and (min-width: 768px), print {
  .cta__btn {
    display: flex;
    justify-content: center;
    margin-top: 40px; }
    .cta__btn > li {
      margin: 0 20px; }
      .cta__btn > li:not(:first-child) {
        margin-top: 0; } }
/* pagenation
------------------------------------------------------ */
.pagination {
  margin-top: 50px; }
  .pagination .nav-links {
    display: flex;
    justify-content: center;
    align-items: center; }
  .pagination .page-numbers {
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: min((40 / 375) * 100vw, 40px);
    height: min((40 / 375) * 100vw, 40px);
    margin: 0 2px;
    padding: 0 0.5em;
    background: #F2B6CA;
    border-radius: 6px;
    font-weight: bold;
    text-decoration: none;
    font-size: min((14 / 375) * 100vw, 14px); }
    .pagination .page-numbers.current {
      background: #CEB967;
      color: #ffffff; }
    .pagination .page-numbers.dots {
      min-width: 0;
      padding: 0;
      background: none; }
    .pagination .page-numbers.prev {
      padding: 0 0.8em; }
      .pagination .page-numbers.prev::before {
        content: "";
        display: inline-block;
        width: 0.57em;
        height: 0.57em;
        border-top: 2px solid;
        border-left: 2px solid;
        transform: rotate(-45deg);
        vertical-align: middle; }
    .pagination .page-numbers.next {
      padding: 0 0.8em; }
      .pagination .page-numbers.next::after {
        content: "";
        display: inline-block;
        width: 0.57em;
        height: 0.57em;
        border-top: 2px solid;
        border-right: 2px solid;
        transform: rotate(45deg);
        vertical-align: middle; }

/*for PC*/
@media screen and (min-width: 768px), print {
  .pagination {
    margin-top: 80px; }
    .pagination .page-numbers {
      min-width: 50px;
      height: 50px;
      margin: 0 5px;
      font-size: 18px; }
      .pagination .page-numbers.prev, .pagination .page-numbers.next {
        padding: 0 1.5em; } }
/* 投稿記事ヘッダー
------------------------------------------------------ */
.post-header {
  max-width: 800px;
  margin: auto; }
  .post-header + * {
    margin-top: 30px !important; }
    @media screen and (min-width: 768px), print {
      .post-header + * {
        margin-top: 40px !important; } }

.post-header__meta .tag {
  margin-left: 30px; }

.post-header__title {
  font-size: 26px;
  font-weight: normal;
  text-align: center; }
  @media screen and (min-width: 768px), print {
    .post-header__title {
      font-size: 36px; } }

/* 投稿記事導入
------------------------------------------------------ */
.post-intro {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw); }

.post-intro__eycatch img {
  max-width: none;
  width: 100%;
  height: auto; }

.post-intro__excerpt {
  margin-top: 30px; }
  .post-intro__excerpt p:not(:first-child) {
    margin-top: 1em; }
  @media screen and (min-width: 768px), print {
    .post-intro__excerpt {
      margin-top: 40px; } }

/* 投稿記事本文エリア
------------------------------------------------------ */
/*CMSのリッチテキストエディタで基本的なタグが直接入力されてくる前提で、投稿本文エリアだけは要素に直接スタイルが当たるように設計しています。
入力者がCSSを意識しなくてもそれなりのスタイルが維持されるようにしておくのがポイントです。プロパティの継承と上書き、隣接セレクタ、マージンの相殺といったCSS本来のルールを活用してスタイル定義しましょう。*/
.post-body {
  max-width: 800px;
  margin: 80px auto 0; }
  .post-body::after {
    content: "";
    display: block;
    clear: both; }
  @media screen and (min-width: 768px), print {
    .post-body {
      margin: 100px auto 0; } }
  .post-body > *:not(h2, h3, h4, h5, h6) {
    margin-top: 1.75em; }
  .post-body h2 {
    margin-top: 80px;
    padding-bottom: 5px;
    border-bottom: 2px solid #CEB967;
    font-size: 24px; }
    .post-body h2 + * {
      margin-top: 25px; }
    @media screen and (min-width: 768px), print {
      .post-body h2 {
        margin-top: 100px;
        font-size: 30px; }
        .post-body h2 + * {
          margin-top: 40px; } }
  .post-body h3 {
    margin-top: 40px;
    padding-left: 20px;
    border-left: 4px solid #CEB967;
    font-size: 20px; }
    .post-body h3 + * {
      margin-top: 20px; }
    @media screen and (min-width: 768px), print {
      .post-body h3 {
        margin-top: 50px;
        font-size: 24px; }
        .post-body h3 + * {
          margin-top: 30px; } }
  .post-body h4 {
    margin-top: 30px;
    color: #B98C78;
    font-size: 18px; }
    .post-body h4 + * {
      margin-top: 15px; }
    @media screen and (min-width: 768px), print {
      .post-body h4 {
        margin-top: 40px;
        font-size: 20px; }
        .post-body h4 + * {
          margin-top: 20px; } }
  .post-body h5 {
    margin-top: 30px; }
    .post-body h5 + * {
      margin-top: 10px; }
    @media screen and (min-width: 768px), print {
      .post-body h5 {
        margin-top: 30px;
        font-size: 18px; }
        .post-body h5 + * {
          margin-top: 15px; } }
  .post-body h6 {
    margin-top: 30px;
    color: #666; }
    .post-body h6 + * {
      margin-top: 10px; }
    @media screen and (min-width: 768px), print {
      .post-body h6 {
        margin-top: 30px;
        font-size: 16px; }
        .post-body h6 + * {
          margin-top: 10px; } }
  .post-body ul > li {
    margin-top: 1.5em;
    position: relative;
    padding-left: 1em; }
    .post-body ul > li::before {
      position: absolute;
      left: 0;
      top: 0.75em;
      content: "";
      display: block;
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: #CEB967; }
  .post-body ol > li {
    margin-top: 1.5em;
    margin-left: 1em;
    list-style-type: decimal; }
  .post-body table {
    width: 100%;
    margin-top: 1.5em; }
    .post-body table th {
      padding: 20px;
      border: 1px solid #CEB967;
      background: #F2B6CA;
      font-weight: bold;
      text-align: left;
      vertical-align: middle; }
    .post-body table td {
      padding: 20px;
      border: 1px solid #CEB967;
      background: #ffffff;
      text-align: left;
      vertical-align: middle; }
  .post-body img.alignnone,
  .post-body img.alignleft,
  .post-body img.alignright,
  .post-body img.aligncenter {
    display: block;
    max-width: 100%;
    width: auto;
    height: auto;
    margin-left: auto;
    margin-right: auto; }
  @media screen and (min-width: 768px), print {
    .post-body img.alignnone {
      margin-left: 0; }
    .post-body img.alignleft {
      float: left;
      max-width: 380px;
      margin-right: 20px;
      margin-bottom: 10px; }
    .post-body img.alignright {
      float: right;
      max-width: 380px;
      margin-left: 10px;
      margin-bottom: 10px; } }
  .post-body .about-list {
    margin-top: 100px;
    margin-bottom: 100px; }

/* 投稿記事ナビゲーション
------------------------------------------------------ */
/*先頭の記事・末尾の記事でボタンが片方消えてもレイアウトが崩れないように、gridレイアウトで指定しています。*/
.post-nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
  grid-template-areas: "prev next" "back back";
  margin-top: 80px; }
  @media screen and (min-width: 768px), print {
    .post-nav {
      margin-top: 100px;
      grid-template-columns: 142px 1fr 142px;
      grid-template-rows: auto;
      grid-template-areas: "prev back next"; } }

.post-nav__btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 142px;
  height: 50px;
  border-radius: 6px;
  background: #F2B6CA;
  font-size: 18px;
  text-decoration: none; }
  .post-nav__btn._prev {
    grid-area: prev; }
    .post-nav__btn._prev::before {
      content: "";
      display: block;
      width: 10px;
      height: 10px;
      border-top: 2px solid;
      border-right: 2px solid;
      transform: rotate(-135deg); }
  .post-nav__btn._next {
    grid-area: next;
    justify-self: end; }
    .post-nav__btn._next::after {
      content: "";
      display: block;
      width: 10px;
      height: 10px;
      border-top: 2px solid;
      border-right: 2px solid;
      transform: rotate(45deg); }

.post-nav__back {
  grid-area: back;
  justify-self: center;
  display: block;
  margin-top: 30px;
  font-size: 18px;
  text-align: center; }
  @media screen and (min-width: 768px), print {
    .post-nav__back {
      margin-top: 0;
      align-self: center; } }

/* よくあるご質問
------------------------------------------------------ */
.faq {
  margin-left: -20px;
  margin-right: -20px; }
  .faq dt:not(:first-child) {
    margin-top: 20px; }
  @media screen and (min-width: 768px), print {
    .faq {
      margin-left: 0;
      margin-right: 0; } }

/*質問*/
.faq__question {
  display: flex;
  align-items: center;
  padding: 15px 10px;
  background: #DDDDDD;
  font-weight: bold;
  text-align: left;
  cursor: pointer; }

.faq__q-icon {
  flex-shrink: 0;
  color: #000000;
  font-size: 30px;
  line-height: 1;
  vertical-align: middle; }

.faq__q-text {
  flex-grow: 1;
  margin-left: 15px;
  margin-right: 15px;
  color: #000000; }

.faq__action {
  flex-shrink: 0;
  position: relative;
  display: block;
  width: 20px;
  height: 20px;
  margin-left: auto; }
  .faq__action::before, .faq__action::after {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    display: block;
    width: 100%;
    height: 0;
    border-top: 1px solid;
    color: #000000;
    transition: all .3s; }
  .faq__action::after {
    transform: rotate(90deg); }
    .faq__question[aria-expanded="true"] .faq__action::after {
      transform: rotate(0); }

@media screen and (min-width: 768px), print {
  .faq__question {
    padding: 15px; }

  .faq__q-icon {
    font-size: 40px; }

  .faq__q-text {
    margin-left: 20px;
    font-size: 18px; }

  .faq__action {
    width: 30px;
    height: 30px; } }
/*回答*/
.faq__answer {
  display: flex;
  padding: 20px 20px 20px 10px; }

.faq__a-icon {
  flex-shrink: 0;
  color: #000000;
  font-size: 30px;
  font-weight: bold;
  line-height: 1;
  vertical-align: middle; }

.faq__a-text {
  margin-left: 15px;
  color: #000000; }

@media screen and (min-width: 768px), print {
  .faq__answer {
    padding: 20px 20px 20px 15px; }

  .faq__a-icon {
    font-size: 40px; }

  .faq__text {
    margin-left: 20px; } }
/* お問い合わせフォーム
------------------------------------------------------ */
.contact {
  margin-top: -1px;
  padding: 30px 0;
  border-top: 1px dashed #CEB967;
  border-bottom: 1px dashed #CEB967; }

/*入力エリア*/
.input-field {
  margin-top: 20px; }

/*ラベル*/
.input-label {
  font-size: 18px;
  font-weight: bold; }

/*必須ラベル*/
.require {
  display: inline-block;
  margin-left: 30px;
  padding: 0 15px;
  background: #F7320E;
  color: #fff;
  font-weight: normal;
  font-size: 12px;
  vertical-align: middle; }

/*注意書き*/
.input-note {
  margin-top: 10px;
  color: #707070;
  font-size: 12px; }

/*エラーメッセージ*/
.error-text {
  display: none;
  align-items: center;
  margin-top: 16px;
  color: #F7320E;
  font-weight: bold; }

.input-field.is-error .error-text {
  display: block; }

.error-text::before {
  content: "";
  display: inline-block;
  width: 1.25em;
  height: 1.25em;
  margin-right: 0.2em;
  background: url(../img/ico_attention.svg) center center/contain no-repeat;
  vertical-align: middle; }

/*確認用テキスト*/
.confirm-text {
  margin-top: -10px; }

/*----------------------------------------
	送信ボタン
----------------------------------------*/
.formBtns {
  display: flex;
  justify-content: center; }

.buttonAction {
  -webkit-appearance: none;
  appearance: none;
  display: block;
  margin: 0;
  padding: 20px;
  width: 100%;
  max-width: 400px;
  border: 2px solid #FF7600;
  background: #FF7600;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  letter-spacing: 0.2em;
  transition: opacity 0.3s, color 0.3s;
  cursor: pointer; }

.buttonAction:hover {
  opacity: 0.7; }

.intro__eyecatch {
  max-width: 500px;
  width: 100%;
  margin: 0 auto;
    margin-top: 80px; }

/* フレキシブルマドラーについて
------------------------------------------------------ */
.top-about {
  display: flex;
  flex-direction: column-reverse; }
  .top-about + .top-about {
    margin-top: 50px; }

.top-about__body {
  margin-right: -20px;
  padding: 30px 20px 50px;
  background: #F2B6CA;
  color: #ffffff; }

.top-about__title {
  font-size: min((16 / 375) * 100vw, 20px);
  font-weight: normal; }

.top-about__data {
  margin-top: 20px; }

.top-about__thumb {
  margin-left: -20px;
  margin-right: -20px; }

/*反転タイプ*/
.top-about._reverse .top-about__body {
  margin-right: 0;
  margin-left: -20px; }

.top-about._1column {
  background: none; }
  .top-about._1column .top-about__body {
    color: inherit;
    background: none; }

.top-about__logo {
  max-width: 250px;
  margin-top: 40px; }

@media screen and (min-width: 576px), print {
  .top-about {
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
    margin-top: 130px;
    background: #F2B6CA; }
    .top-about + .top-about {
      margin-top: 160px; }

  .top-about__body {
    flex-shrink: 0;
    width: 50%;
    margin: 0;
    padding: 40px;
    background: none; }

  .top-about__title {
    font-size: min((20 / 1084) * 100vw, 20px); }

  .top-about__data {
    margin-top: 50px; }

  .top-about__thumb {
    flex-grow: 1;
    margin: 0;
    margin-left: calc(50% - 50vw);
    transform: translateY(-50px); }

  /*反転タイプ*/
  .top-about._reverse {
    flex-direction: row; }
    .top-about._reverse .top-about__thumb {
      margin-left: 0;
      margin-right: calc(50% - 50vw); }
    .top-about._reverse .top-about__body {
      margin: 0; } }
/* フレキシブルマドラー 製品仕様
------------------------------------------------------ */
.detail {
  display: flex;
  flex-direction: column;
  /*サムネイルとテキストコンテンツの上下入れ替え*/
  max-width: 400px;
  margin-left: auto;
  margin-right: auto; }
  .detail + .detail {
    margin-top: 30px; }

.detail__body {
  margin-top: 20px; }

.detail__title {
  position: relative;
  padding-bottom: 5px;
  width: 100%;
  border-bottom: 2px solid #B98C78; }

.detail__title--main {
  font-size: 18px; }

.detail__title--sub {
  margin-left: 1em;
  font-size: 14px;
  font-weight: normal; }

.detail__thumb {
  margin-top: 20px; }

.detail__table {
  margin-top: 20px; }

._attn .detail__body {
  width: 100%; }

.detail__list {
  border: 1px solid #CEB967;
  padding: 20px;
  margin-top: 20px; }
  .detail__list li {
    position: relative;
    padding-left: 1em; }
    .detail__list li::before {
      position: absolute;
      left: 0;
      top: 0.75em;
      content: "";
      display: block;
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: #B98C78; }

@media screen and (min-width: 768px), print {
  .detail {
    flex-direction: row;
    /*サムネイルとテキストコンテンツの左右入れ替え*/
    justify-content: center;
    max-width: none; }
    .detail + .detail {
      margin-top: 80px; }
    .detail:nth-of-type(even) {
      flex-direction: row-reverse; }

  .detail__thumb {
    width: calc((440/1084)*100%); }

  .detail__body {
    margin-top: 0;
    width: calc((400/1084)*100%); }

  .detail__title--main {
    font-size: 32px; }

  .detail__title--sub {
    font-size: 16px; }

  .detail__thumb {
    margin-top: 0;
    padding: 0 30px; }

  .detail__data {
    font-size: 16px; } }
/* 会社概要
------------------------------------------------------ */
.about-list {
  border-top: 1px dashed #CEB967;
  line-height: 1.5; }

.about-list__item {
  display: flex;
  flex-direction: column;
  padding: 15px 0;
  border-bottom: 1px dashed #CEB967; }

@media screen and (min-width: 768px), print {
  .about-list__item {
    flex-direction: row;
    align-items: center;
    padding: 20px 0; }

  .about-list__title {
    display: flex;
    align-items: center;
    width: 200px; }

  .about-list__data {
    flex-shrink: 0; } }
/* メインビジュアル
------------------------------------------------------ */
.mainVisual {
  display: flex;
  flex-direction: column; }

.mainVisual__catch {
  font-size: 20px; }
  .mainVisual__catch br {
    display: none; }

.mainVisual__txt {
  font-size: 14px; }

.mainVisual__ph {
  margin-top: 20px; }

@media screen and (min-width: 992px), print {
  .mainVisual {
    flex-direction: row-reverse; }

  .mainVisual__body {
    position: relative;
    z-index: 1;
    margin-bottom: 300px;
    margin-left: -60px;
    width: 100%;
    padding: 80px;
    background: #F2B6CA;
    color: #ffffff; }

  .mainVisual__catch {
    font-size: 48px;
    font-weight: normal;
    line-height: 1.2; }
    .mainVisual__catch br {
      display: block; }

  .mainVisual__txt {
    font-size: 24px;
    line-height: 2; }

  .mainVisual__ph {
    width: 100%;
    margin-top: 60px; } }
/*------------------------------------------------------------------------
// Utilitiy
------------------------------------------------------------------------*/
/*スクリーンリーダーから隠す*/
.visually-hidden {
  position: absolute;
  white-space: nowrap;
  width: 1px;
  height: 1px;
  overflow: hidden;
  border: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  margin: -1px; }

/*幅*/
.w10p {
  width: 10%; }

.w20p {
  width: 20%; }

.w30p {
  width: 30%; }

.w40p {
  width: 40%; }

.w50p {
  width: 50%; }

.w60p {
  width: 60%; }

.w70p {
  width: 70%; }

.w80p {
  width: 80%; }

.w90p {
  width: 90%; }

.w100p {
  width: 100%; }

/*配置*/
.ta-r {
  text-align: right; }

.ta-l {
  text-align: left; }

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