@charset "UTF-8";
/*
Author: Spreaf
Version: ver202601
*/
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300..700;1,300..700&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap");
/* ==============================
base
============================== */
* {
  border: 0;
  outline: 0;
  margin: 0;
  padding: 0;
  font-size: 100%;
  font-weight: inherit;
  font-style: normal;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  font-size: 62.5%;
  line-height: 1;
  text-rendering: optimizeLegibility;
}

body,
html {
  width: 100%;
  height: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -webkit-overflow-scrolling: touch;
}

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

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

input, select {
  vertical-align: middle;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  empty-cells: show;
  table-layout: auto;
}

a {
  display: inline-block;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

address {
  font-style: normal;
}

img, video, object {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  border: none;
}

img {
  display: block;
}

input[type=radio] {
  border: 0px !important;
}

input[type=radio], input[type=submit], label {
  cursor: pointer;
}

input, button, textarea, select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

select::-ms-expand {
  display: none;
}

input:focus, textarea:focus {
  border-color: #ccc;
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
}

input[type=submit] {
  position: relative;
  display: block;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  -webkit-transition-duration: 0.2s;
  transition-duration: 0.2s;
  width: 100%;
}

:-moz-placeholder {
  color: #ccc;
}

:-ms-input-placeholder {
  color: #ccc;
}

:placeholder-shown {
  color: #ccc;
}

::-webkit-input-placeholder {
  color: #ccc;
}

:-moz-placeholder {
  color: #ccc;
  opacity: 1;
}

::-moz-placeholder {
  color: #ccc;
  opacity: 1;
}

:-ms-input-placeholder {
  color: #ccc;
}

.radio_input,
.checkbox_input {
  display: none;
}

.radio_input + label,
.checkbox_input + label {
  cursor: pointer;
  position: relative;
  display: inline-block;
  padding: 0px 0px 0px 30px;
  margin-right: 4em;
}

.radio_input + label::before,
.checkbox_input + label::before {
  content: "";
  display: block;
  position: absolute;
  top: 4px;
  left: 0;
  width: 20px;
  height: 20px;
  border: 1px solid #999;
  background-color: white;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.radio_input + label::before {
  border-radius: 50%;
}

.radio_input:checked + label::after {
  content: "";
  display: block;
  position: absolute;
  border-radius: 50%;
  left: 6px;
  width: 10px;
  height: 10px;
  background: #B29358;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.checkbox_input:checked + label::after {
  content: "";
  position: absolute;
  top: 8px;
  left: 5px;
  width: 11px;
  height: 5px;
  border-left: 2px solid #B29358;
  border-bottom: 2px solid #B29358;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
}

/* general 
============================== */
section {
  clear: both;
}

.wrapper,
.wrapper-wide,
section {
  position: relative;
}

.wrapper,
.wrapper-wide,
.inner {
  margin-left: auto;
  margin-right: auto;
}

.bold {
  font-weight: bold;
}

#footer {
  margin-top: auto;
}

@media screen and (max-width: 767px) {
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .sp {
    display: none;
  }
  .pc {
    display: block;
  }
  a[href^="tel:"] {
    pointer-events: none;
  }
  .over a,
  .over a img {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  .over a:hover {
    opacity: 0.6;
  }
}
ul.ul-default {
  padding-left: 1.6em;
}
ul.ul-default li {
  list-style-type: disc;
}

ol.ol-default {
  padding-left: 1.6em;
}
ol.ol-default li {
  list-style-type: decimal;
}

ul.ul-normal li {
  position: relative;
  padding-left: 1em;
  list-style: none;
}
ul.ul-normal li::before {
  content: "・";
  position: absolute;
  left: 0;
}
ul.ul-normal li ul {
  padding-left: 1em;
}

ul.list-note li,
.txt_note {
  position: relative;
  padding-left: 1.1em;
}
ul.list-note li::before,
.txt_note::before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}

.fadein {
  -webkit-transition: opacity 1s, -webkit-transform 1s;
  transition: opacity 1s, -webkit-transform 1s;
  transition: transform 1s, opacity 1s;
  transition: transform 1s, opacity 1s, -webkit-transform 1s;
  opacity: 0;
}

.fadein.show {
  opacity: 1;
}

.fadein_up {
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
}

.fadein_down {
  -webkit-transform: translateY(-30px);
          transform: translateY(-30px);
}

.fadein_up.show,
.fadein_down.show {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

@-webkit-keyframes pageFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes pageFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.show-txt-order {
  opacity: 0;
}
.show-txt-order span {
  opacity: 0;
}

ul.show-list-order {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
ul.show-list-order li {
  color: white;
  background-color: tomato;
  padding: 20px;
  margin-right: 10px;
  opacity: 0;
}

.show-list-order.show li:nth-child(1) {
  -webkit-animation: showlistorder 2s ease 0.3s 1 forwards;
  animation: showlistorder 2s ease 0.3s 1 forwards;
}

.show-list-order.show li:nth-child(2) {
  -webkit-animation: showlistorder 2s ease 0.6s 1 forwards;
  animation: showlistorder 2s ease 0.6s 1 forwards;
}

.show-list-order.show li:nth-child(3) {
  -webkit-animation: showlistorder 2s ease 0.9s 1 forwards;
  animation: showlistorder 2s ease 0.9s 1 forwards;
}

.show-list-order.show li:nth-child(4) {
  -webkit-animation: showlistorder 2s ease 1.2s 1 forwards;
  animation: showlistorder 2s ease 1.2s 1 forwards;
}

.show-list-order.show li:nth-child(5) {
  -webkit-animation: showlistorder 2s ease 1.5s 1 forwards;
  animation: showlistorder 2s ease 1.5s 1 forwards;
}

.show-list-order.show li:nth-child(6) {
  -webkit-animation: showlistorder 2s ease 1.8s 1 forwards;
  animation: showlistorder 2s ease 1.8s 1 forwards;
}

.show-list-order.show li:nth-child(7) {
  -webkit-animation: showlistorder 2s ease 2.1s 1 forwards;
  animation: showlistorder 2s ease 2.1s 1 forwards;
}

.show-list-order.show li:nth-child(8) {
  -webkit-animation: showlistorder 2s ease 2.4s 1 forwards;
  animation: showlistorder 2s ease 2.4s 1 forwards;
}

.show-list-order.show li:nth-child(9) {
  -webkit-animation: showlistorder 2s ease 2.7s 1 forwards;
  animation: showlistorder 2s ease 2.7s 1 forwards;
}

.show-list-order.show li:nth-child(10) {
  -webkit-animation: showlistorder 2s ease 3s 1 forwards;
  animation: showlistorder 2s ease 3s 1 forwards;
}

@-webkit-keyframes showlistorder {
  100% {
    opacity: 1;
  }
}

@keyframes showlistorder {
  100% {
    opacity: 1;
  }
}
.show-nav-order .child {
  opacity: 0;
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
}

@-webkit-keyframes shownavorder {
  100% {
    opacity: 1;
    -webkit-transform: translate(0);
            transform: translate(0);
  }
}

@keyframes shownavorder {
  100% {
    opacity: 1;
    -webkit-transform: translate(0);
            transform: translate(0);
  }
}
.active .show-nav-order .child:nth-child(1) {
  -webkit-animation: shownavorder 1s ease 0.1s 1 forwards;
  animation: shownavorder 1s ease 0.1s 1 forwards;
}

.active .show-nav-order .child:nth-child(2) {
  -webkit-animation: shownavorder 1s ease 0.2s 1 forwards;
  animation: shownavorder 1s ease 0.2s 1 forwards;
}

.active .show-nav-order .child:nth-child(3) {
  -webkit-animation: shownavorder 1s ease 0.3s 1 forwards;
  animation: shownavorder 1s ease 0.3s 1 forwards;
}

.active .show-nav-order .child:nth-child(4) {
  -webkit-animation: shownavorder 1s ease 0.4s 1 forwards;
  animation: shownavorder 1s ease 0.4s 1 forwards;
}

.active .show-nav-order .child:nth-child(5) {
  -webkit-animation: shownavorder 1s ease 0.5s 1 forwards;
  animation: shownavorder 1s ease 0.5s 1 forwards;
}

.active .show-nav-order .child:nth-child(6) {
  -webkit-animation: shownavorder 1s ease 0.6s 1 forwards;
  animation: shownavorder 1s ease 0.6s 1 forwards;
}

.active .show-nav-order .child:nth-child(7) {
  -webkit-animation: shownavorder 1s ease 0.7s 1 forwards;
  animation: shownavorder 1s ease 0.7s 1 forwards;
}

.active .show-nav-order .child:nth-child(8) {
  -webkit-animation: shownavorder 1s ease 0.8s 1 forwards;
  animation: shownavorder 1s ease 0.8s 1 forwards;
}

.active .show-nav-order .child:nth-child(9) {
  -webkit-animation: shownavorder 1s ease 0.9s 1 forwards;
  animation: shownavorder 1s ease 0.9s 1 forwards;
}

.active .show-nav-order .child:nth-child(10) {
  -webkit-animation: shownavorder 1s ease 1s 1 forwards;
  animation: shownavorder 1s ease 1s 1 forwards;
}

.table-type1 table {
  width: 100%;
}
.table-type1 table th, .table-type1 table td {
  vertical-align: top;
  text-align: left;
}

@media screen and (max-width: 767px) {
  .table-type1 table tr, .table-type1 table th, .table-type1 table td {
    display: block;
  }
  .table-type1 table th {
    font-weight: bold;
  }
  .table-type1 table td {
    padding-bottom: 1em;
    border-bottom: solid 1px #ccc;
    margin-bottom: 1em;
  }
}
@media screen and (min-width: 768px) {
  .table-type1 table th, .table-type1 table td {
    border-bottom: solid 1px #ccc;
    padding-top: 1em;
    padding-bottom: 1em;
  }
  .table-type1 table th {
    padding-right: 1em;
  }
}
/* =================================
form
================================= */
.form-table input[type=text],
.form-table input[type=email],
.form-table input[type=tel],
.form-table input[type=search],
.form-table select,
.form-table textarea {
  border: none;
  background-color: #fff;
  border: solid 1px #000;
  width: 100%;
  padding: 10px;
  font-size: 16px;
}
.form-table select {
  background-image: url(../img/common/form_select.png);
  background-repeat: no-repeat;
  background-position: right center;
}
.form-table input[type=submit] {
  color: white;
  background-color: #ccc;
  width: 100%;
  letter-spacing: 0.1rem;
  width: 250px;
  height: 64px;
  border-radius: 32px;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
}
.form-table input[type=submit]:hover {
  opacity: 0.8;
}
.form-table input[type=submit].form_back {
  background-color: #aaa;
}
.form-table .required {
  position: relative;
}
.form-table .required::after {
  white-space: nowrap;
  line-height: 1;
  font-size: 1rem;
  color: white;
}

/* wrapper */
.form-nav{
  list-style: none;
  margin: 70px 0 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  max-width: 600px;
  margin-inline: auto;
}

/* liの余計なズレ防止 */
.form-nav > li{
  margin: 0;
  padding: 0;
}

/* 共通ボタン */
.btn{
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  background: transparent;
  line-height: 1;
  padding: 22px 28px;
  border-radius: 9999px;
}

.btn-prev{
  background: #fff;
  color: #B19357;
  border: 1px solid #B19357;
  min-width: 220px; 
}

.btn-next{
  background: #B19357;
  border: 1px solid #B19357;
  color: #fff;
  border-radius: 5px; 
  min-width: 350px;
}

.btn-prev:hover{ background: #B19357; color:#fff;}
.btn-next:hover{ opacity: 0.8;}

@media screen and (max-width: 767px) {
  .form-table input[type=text],
  .form-table input[type=email],
  .form-table input[type=tel],
  .form-table input[type=search],
  .form-table textarea {
    padding: 6px 10px;
  }
  .form-table textarea {
    height: 150px;
  }
  .form-table input[type=submit] {
    margin-top: 10px;
  }
  .form-table .form_check_button {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .form-table .form_check_button li {
    width: 48%;
  }
  .form-table .form_check_button input[type=submit] {
    width: 100%;
  }
  .form-nav{
  margin: 60px auto 0;
  width: clamp(70%, 80vw, 90%);
  gap: 0px;
  }
  .btn{
  padding: 18px 18px;
  }
  .btn-prev{
  min-width: clamp(120px, 30vw, 180px);
  }
  .btn-next{
  min-width: clamp(120px, 40vw, 200px);
  }
}
@media screen and (min-width: 768px) {
  .form-table {
    margin: auto;
  }
  .form-table input[type=text],
  .form-table input[type=email],
  .form-table input[type=tel],
  .form-table input[type=search],
  .form-table textarea {
    padding: 7px 12px;
  }
  .form-table textarea {
    height: 200px;
  }
  .form-table input[type=submit] {
    font-size: 14px;
    margin-top: 30px;
  }
  .form-table .form_check_button {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .form-table .form_check_button li {
    margin: 0 20px;
  }
}
:root {
  --Dgray_2: rgba(60, 60, 60, 1);
  --accent: rgba(178, 147, 88, 1);
  --accent_2: rgba(191, 26, 26, 1);
  --BGgray: rgba(245, 246, 247, 1);
  --BGgray_beige: rgba(250, 248, 242, 1);
  --Lgray_2: rgba(200, 200, 200, 1);
  --text: rgba(28, 28, 28, 1);
  --white: rgba(255, 255, 255, 1);
  --font-base: "Noto Sans JP", sans-serif;
  --font-en: "Cormorant Garamond", serif;
  --font-min: "Noto Serif JP", serif;
}

body {
  font-family: var(--font-base);
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
  color: var(--Dgray_2, #3C3C3C);
  background-color: rgb(255, 255, 255);
  -webkit-animation: pageFadeIn 1s ease 0s 1 normal;
          animation: pageFadeIn 1s ease 0s 1 normal;
}

body,
input[type=text],
input[type=email],
input[type=tel],
input[type=search],
select,
textarea {
  font-family: var(--font-base);
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.en {
  font-family: "Cormorant Garamond", serif;
  font-weight: 600;
}

a {
  color: rgb(28, 28, 28);
  text-decoration: none;
  display: inline-block;
}

@media screen and (max-width: 767px) {
  body {
    font-size: 1.5rem;
    line-height: 1.75;
  }
  .wrapper {
    padding-left: 6.1333333333vw;
    padding-right: 6.1333333333vw;
  }
  .wrapper-wide {
    padding-left: 6.4vw;
    padding-right: 6.4vw;
  }
}
@media screen and (min-width: 768px) {
  html,
  body,
  #wrapper,
  #header,
  #main {
    min-width: 1120px;
  }
  body {
    font-size: 1.6rem;
    line-height: 1.75;
  }
  a {
    -webkit-transition: 0.2s;
    transition: 0.2s;
  }
  .wrapper {
    width: 1080px;
  }
  .wrapper-wide {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    padding-left: 40px;
    padding-right: 40px;
  }
}
.btn-cta a {
  display: block;
  background-color: rgb(178, 147, 88);
  color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 200px;
  height: 44px;
  border-radius: 4px;
  text-align: center;
  font-weight: 600;
  font-size: 1.5rem;
}
.btn-cta a span {
  background-image: url(../img/common/icon-pen.png);
  background-size: 28px 28px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left center;
  height: 28px;
  line-height: 2.8rem;
  padding-left: 30px;
}
.btn-view a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  font-family: "Cormorant Garamond", serif;
  font-weight: 600;
  font-size: 2rem;
  line-height: 1;
}
.btn-view a:hover {
  background-color: var(--accent);
  color: white;
}
@media screen and (max-width: 767px) {
  .btn-view a {
    width: 122px;
    height: 48px;
    color: var(--accent);
    border-bottom: 1px solid var(--accent, #B29358);
  }
}
@media screen and (min-width: 768px) {
  .btn-view a {
    width: 320px;
    height: 64px;
    border-radius: 8px;
    color: rgb(28, 28, 28);
    border: 1px solid var(--accent, #B29358);
  }
}

/* =========================
layout 
========================== */
@-webkit-keyframes nav-open {
  0% {
    opacity: 0;
    -webkit-transform: translate(30px);
            transform: translate(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0);
            transform: translate(0);
  }
}
@keyframes nav-open {
  0% {
    opacity: 0;
    -webkit-transform: translate(30px);
            transform: translate(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0);
            transform: translate(0);
  }
}
.drawer-button {
  cursor: pointer;
  display: block;
  background: none;
  outline: none;
  border: none;
  padding: 0;
  width: 60px;
  height: 60px;
  width: 44px;
  height: 44px;
  position: fixed;
  position: absolute;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.drawer-button:hover {
  opacity: 0.7;
}
.drawer-button .hamburger {
  position: relative;
  width: 44px;
  height: 6px;
  margin: 0 auto;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.drawer-button .hamburger span {
  height: 1px;
  width: 100%;
  margin: auto;
  position: absolute;
  left: 0;
  -webkit-transform-origin: center;
          transform-origin: center;
  background-color: rgb(28, 28, 28);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.drawer-button .hamburger span:nth-child(1) {
  top: 0;
  bottom: auto;
}
.drawer-button .hamburger span:nth-child(2) {
  top: auto;
  bottom: 0;
}
.drawer-button .hamburger span:nth-child(3) {
  display: none;
}
.drawer-button .text {
  font-family: "Cormorant Garamond", serif;
  font-size: 1.3rem;
  font-weight: 600;
  position: absolute;
  margin: auto;
  left: 0;
  right: 0;
  top: 28px;
}

@media screen and (max-width: 767px) {
  .drawer-button {
    width: 40px;
    height: 40px;
  }
  .drawer-button .hamburger {
    width: 40px;
    height: 20px;
  }
  .drawer-button .hamburger span {
    background-color: rgb(178, 147, 88);
  }
  .drawer-button .hamburger span:nth-child(1) {
    top: 0;
    bottom: auto;
  }
  .drawer-button .hamburger span:nth-child(2) {
    top: 0;
    bottom: 0;
  }
  .drawer-button .hamburger span:nth-child(3) {
    display: block;
    top: auto;
    bottom: 0;
  }
  .drawer-button .text {
    display: none;
  }
}
@-webkit-keyframes floatmenu {
  from {
    top: -120px;
  }
  to {
    top: 0;
  }
}
@keyframes floatmenu {
  from {
    top: -120px;
  }
  to {
    top: 0;
  }
}
#header {
  position: absolute;
  z-index: 1;
  width: 100%;
}
#header .header-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: 108px;
}
#header .header-left {
  position: relative;
  width: 230px;
}
#header .header-logo {
  position: absolute;
  top: 30px;
  left: 40px;
  width: 190px;
}
#header .header-logo .white {
  display: none;
}
#header .header-right {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: calc(100% - 240px);
  padding-right: 124px;
}
#header .header-right .header-menu ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  white-space: nowrap;
  font-size: 1.4rem;
  margin-right: 1em;
}
#header .header-right .header-menu ul li a {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  padding: 0 22px;
  line-height: 1;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
#header .header-right .header-menu ul li a::after {
  content: "";
  display: block;
  position: absolute;
  margin: auto;
  left: 85%;
  bottom: 0;
  top: 0;
  width: 32px;
  height: 1px;
  background-color: rgb(232, 232, 232);
  -webkit-transform: rotate(-76deg);
          transform: rotate(-76deg);
}
#header .header-right .header-menu ul li:last-of-type a::after {
  content: none;
}
#header .drawer-button {
  top: 30px;
  right: 40px;
}
#header.white .header-left .white {
  display: block;
}
#header.white .header-left .black {
  display: none;
}
#header.white .header-right .header-menu ul li a {
  color: white;
}
#header.white .header-right .header-menu ul li a::after {
  background-color: rgb(160, 160, 160);
}
#header.white .drawer-button .hamburger span {
  background-color: #fff;
}
#header.white .drawer-button .text {
  color: #fff;
}
#header.show {
  position: fixed;
  background-color: white;
  -webkit-box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.08);
          box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.08);
  -webkit-animation: floatmenu 0.5s ease 0s 1 normal;
          animation: floatmenu 0.5s ease 0s 1 normal;
  z-index: 10;
}
#header.show .header-wrap {
  height: 80px;
}
#header.show .header-logo {
  top: 17px;
  width: 258px;
}
#header.show .header-logo .black {
  display: block !important;
}
#header.show .header-logo .white {
  display: none;
}
#header.show .header-menu a {
  color: #1c1c1c !important;
}
#header.show .drawer-button {
  top: 18px;
}
#header.show .drawer-button .hamburger span {
  background-color: #1c1c1c !important;
}
#header.show .drawer-button .text {
  color: #1c1c1c !important;
}

@media screen and (max-width: 767px) {
  #header .header-wrap {
    height: 84px;
  }
  #header .header-left {
    width: 42.1333333333vw;
  }
  #header .header-left .header-logo {
    top: 25px;
    left: 4.2666666667vw;
    width: 37.8666666667vw;
  }
  #header .header-right {
    width: auto;
    padding-right: 18.6666666667vw;
  }
  #header .header-right .header-menu {
    display: none;
  }
  #header .btn-cta a {
    width: 34.1333333333vw;
    height: 48px;
    font-size: 1.4rem;
  }
  #header .btn-cta a span {
    background-size: 20px;
    height: 28px;
    line-height: 2.8rem;
    padding-left: 5.3333333333vw;
  }
  #header .drawer-button {
    top: 22px;
    right: 16px;
  }
  #header.show .header-wrap {
    height: 68px;
  }
  #header.show .header-left .header-logo {
    top: 18px;
    width: 37.8666666667vw;
  }
  #header.show .drawer-button {
    top: 14px;
  }
}
@media screen and (min-width: 768px) {
  #header {
    min-width: 1140px;
  }
}
#nav {
  position: fixed;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  visibility: hidden;
  opacity: 0;
  z-index: -1;
}
#nav .drawer-bg {
  cursor: pointer;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.15);
}
#nav .drawer-nav_pc {
  -webkit-overflow-scrolling: touch;
  position: fixed;
  top: 0;
  right: 0;
  overflow-x: hidden;
  width: 100%;
  height: 100%;
  background-color: white;
  padding: 100px 0px 20px;
}
#nav .drawer-nav_pc .drawer__header {
  position: relative;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
}
#nav .drawer-nav_pc .nav-logo {
  position: absolute;
  top: 30px;
  left: 40px;
  width: 190px;
}
#nav .drawer-nav_pc .drawer-button {
  position: absolute;
  top: 30px;
  right: 40px;
}
#nav .drawer-nav_pc .drawer-button .hamburger span {
  top: 50%;
  bottom: 50%;
}
#nav .drawer-nav_pc .drawer-button .hamburger span:nth-child(1) {
  -webkit-transform: rotate(225deg);
          transform: rotate(225deg);
}
#nav .drawer-nav_pc .drawer-button .hamburger span:nth-child(2) {
  -webkit-transform: rotate(-225deg);
          transform: rotate(-225deg);
}
#nav .drawer-nav__inner {
  overflow-y: auto;
  overflow-x: hidden;
  margin: auto;
  width: 1000px;
  height: calc(100vh - 120px);
  position: relative;
}
#nav .menu1 {
  width: 200px;
  position: absolute;
  top: 20px;
  right: 152px;
  top: 0;
  right: 0;
}
#nav .menu1 ul li {
  margin-bottom: 15px;
}
#nav .menu1 ul:last-of-type {
  margin-top: 20px;
  border-top: solid 1px rgb(178, 147, 88);
  padding-top: 20px;
  margin-bottom: 30px;
}
#nav .menu1 .btn-cta a {
  height: 64px;
}
#nav .menu2 {
  position: absolute;
  bottom: 0;
  left: 0;
  font-size: 1.4rem;
  width: 327px;
}
#nav .menu2 ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#nav .menu-sns {
  position: absolute;
  bottom: 0;
  right: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-size: 1.3rem;
  font-family: "Cormorant Garamond", serif;
  font-weight: 600;
  width: 324px;
}
#nav .menu-sns dt {
  color: rgb(160, 160, 160);
}
#nav .menu-sns a {
  display: block;
  padding-right: 2.2em;
  background-repeat: no-repeat;
  background-position: right center;
  background-size: contain;
  background-image: url(../img/common/icon-inst-black.png);
  height: 20px;
  line-height: 20px;
}
#nav .menu-sns a.insta {
  background-image: url(../img/common/icon-inst-black.png);
}
#nav .menu-sns a.tik {
  background-image: url(../img/common/icon-tik-black.png);
}
#nav .menu-sns a.line {
  background-image: url(../img/common/icon-line-black.png);
}

@media screen and (max-width: 767px) {
  #nav .drawer-nav_pc {
    padding: 84px 0px 20px;
  }
  #nav .drawer-nav_pc .header-left {
    width: 42.1333333333vw;
    padding-left: 4.2666666667vw;
  }
  #nav .drawer-nav_pc .nav-logo {
    top: 23px;
    left: 4.2666666667vw;
    width: 37.8666666667vw;
  }
  #nav .drawer-nav_pc .drawer-button {
    top: 20px;
    right: 4.2666666667vw;
  }
  #nav .drawer-nav_pc .drawer-button .hamburger span {
    background-color: rgb(28, 28, 28);
    top: 50%;
    bottom: 50%;
  }
  #nav .drawer-nav_pc .drawer-button .hamburger span:nth-child(1) {
    -webkit-transform: rotate(225deg);
            transform: rotate(225deg);
  }
  #nav .drawer-nav_pc .drawer-button .hamburger span:nth-child(2) {
    -webkit-transform: rotate(-225deg);
            transform: rotate(-225deg);
  }
  #nav .drawer-nav__inner {
    width: 100%;
    height: calc(100vh - 84px);
    padding-left: 6.4vw;
    padding-right: 6.4vw;
  }
  #nav .menu1 {
    position: relative;
    font-size: 1.6rem;
    width: 200px;
    margin-left: auto;
    margin-right: auto;
  }
  #nav .menu1 ul {
    width: 120px;
    margin-left: auto;
    margin-right: auto;
  }
  #nav .menu1 ul li {
    margin-bottom: 10px;
  }
  #nav .menu1 ul:last-of-type {
    margin-top: 24px;
    padding-top: 24px;
    margin-bottom: 30px;
  }
  #nav .menu1 .btn-cta a {
    font-size: 1.5rem;
    height: 56px;
  }
  #nav .menu2 {
    position: relative;
    font-size: 1.3rem;
    margin-top: 2.4em;
    margin-bottom: 2.4em;
    width: 100%;
  }
  #nav .menu-sns {
    position: relative;
    font-size: 1.3rem;
    width: 100%;
  }
}
#footer {
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url(../img/common/footer-bg.jpg);
  color: white;
  line-height: 1.5;
  font-size: 1.3rem;
}
#footer a {
  color: white;
}
#footer .logo img {
  width: 100%;
}
#footer .menu-sns {
  /*position: absolute;
  bottom: 0;
  right: 0;*/
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.8rem;
  font-family: "Cormorant Garamond", serif;
  font-weight: 600;
}
#footer .menu-sns a {
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 28px;
  background-image: url(../img/common/icon-inst-white.png);
  height: 48px;
  width: 48px;
}
#footer .menu-sns a.insta {
  background-image: url(../img/common/icon-inst-white.png);
}
#footer .menu-sns a.tik {
  background-image: url(../img/common/icon-tik-white.png);
}
#footer .menu-sns a.line {
  background-image: url(../img/common/icon-line-white.png);
}

@media screen and (max-width: 767px) {
  #footer {
    background-image: url(../img/common/footer-bg_sp.jpg);
  }
  #footer .wrapper-wide {
    padding: 14.4vw 14.9333333333vw 6.4vw;
  }
  #footer .block__left {
    font-size: 1.3rem;
    margin-bottom: 36px;
  }
  #footer .logo {
    width: 221px;
    margin-bottom: 30px;
  }
  #footer .logo img {
    width: 221px;
  }
  #footer address {
    margin-bottom: 34px;
  }
  #footer .menu-sns {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 90%;
    margin-bottom: 20px;
  }
  #footer .menu-sns dt {
    margin-right: 0.5em;
  }
  #footer .menu {
    display: none;
  }
  #footer .copyright {
    text-align: center;
    font-size: 1.1rem;
  }
  #footer .copyright a {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  #footer {
    height: 328px;
  }
  #footer .wrapper-wide {
    padding-top: 72px;
    padding-bottom: 40px;
  }
  #footer .footer-block {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #footer .block__left {
    width: 300px;
    font-size: 1.3rem;
  }
  #footer .logo {
    width: 220px;
    margin-bottom: 30px;
  }
  #footer .logo img {
    width: 220px;
  }
  #footer address {
    margin-bottom: 34px;
  }
  #footer .block__right {
    width: calc(100% - 300px);
    padding-top: 80px;
  }
  #footer .menu-sns {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    margin-bottom: 15px;
  }
  #footer .menu-sns dt {
    margin-right: 1em;
  }
  #footer .menu {
    margin-bottom: 20px;
  }
  #footer .menu ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    font-size: 1.5rem;
  }
  #footer .menu ul li {
    margin-left: 2em;
  }
  #footer .copyright {
    text-align: right;
    font-size: 1.1rem;
  }
  #footer .copyright a {
    padding-right: 1em;
  }
}
/* ===============================
Common PAGE
=============================== */
#main {
  position: relative;
}

a.txt-link {
  text-decoration: underline;
}
a.txt-link:hover {
  text-decoration: none;
}

.sec__head {
  position: relative;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-size: 3.4rem;
  line-height: 1.75;
  letter-spacing: 2.72px;
}

@media screen and (max-width: 767px) {
  .sec__head {
    font-size: 2.8rem;
    letter-spacing: 2.24px;
  }
}
.heading_sub {
  font-size: 1rem;
}
.heading_sub span {
  position: relative;
}
.heading_sub span::after {
  content: "";
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: -26px;
  height: 1px;
  width: 20px;
  background-color: #8F8F96;
}

.heading {
  line-height: 1.2;
  font-weight: bold;
  font-size: 1.7rem;
}

@media screen and (max-width: 767px) {
  .heading-wrap {
    margin-bottom: 20px;
  }
  .heading-wrap .heading_sub {
    margin-bottom: 10px;
  }
}
@media screen and (min-width: 768px) {
  .heading_sub {
    font-size: 1.2rem;
  }
  .heading_sub span::after {
    right: -32px;
    width: 25px;
  }
  .heading {
    font-size: 2.1rem;
  }
  .heading-wrap {
    margin-bottom: 30px;
  }
  .heading-wrap .heading_sub {
    margin-bottom: 13px;
  }
}
.table table {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  border-top: solid 1px #8F8F96;
}
.table table th,
.table table td {
  text-align: left;
  vertical-align: top;
  border-bottom: solid 1px #8F8F96;
}
.table table th {
  padding-right: 10px;
}
.cmn-outside-sec ul li a {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.cmn-outside-sec ul li:nth-child(1) a {
  background-image: url(../img/common/outside-bg-kaoh.jpg);
}
.cmn-outside-sec ul li:nth-child(2) a {
  background-image: url(../img/common/outside-bg-stamp.jpg);
}
.cmn-outside-sec ul li:nth-child(3) a {
  background-image: url(../img/common/outside-bg-illust.jpg);
}
.cmn-outside-sec ul img {
  height: 122px;
}
@media screen and (max-width: 767px) {
  .cmn-outside-sec a {
    height: 40.5333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .cmn-outside-sec ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .cmn-outside-sec ul li {
    width: 33.33%;
  }
  .cmn-outside-sec ul li a {
    height: 200px;
  }
}

.cmn-contact-sec {
  background-color: #fff;
  text-align: center;
}
.cmn-contact-sec .block {
  border-top: solid 1px var(--accent, #B29358);
  border-bottom: solid 1px var(--accent, #B29358);
}
.cmn-contact-sec .sec-head {
  font-family: "Cormorant Garamond", serif;
  font-weight: 600;
  font-size: 3.4rem;
  color: rgb(28, 28, 28);
}
.cmn-contact-sec .txt {
  color: rgb(60, 60, 60);
}
.cmn-contact-sec .btn-cta a {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .cmn-contact-sec {
    background-repeat: no-repeat;
    background-position: center 80px;
    background-size: contain;
    background-image: url(../img/common/contact-bg_sp.png);
    padding-top: 76.2666666667vw;
    padding-bottom: 12.8vw;
  }
  .cmn-contact-sec .block {
    width: 85.3333333333vw;
    margin-left: auto;
    margin-right: auto;
    padding-top: 3.7333333333vw;
    padding-bottom: 6.9333333333vw;
  }
  .cmn-contact-sec .txt {
    font-size: 1.5rem;
    margin-bottom: 3.7333333333vw;
  }
  .cmn-contact-sec .btn-cta a {
    width: 240px;
    margin: auto;
    height: 64px;
  }
}
@media screen and (min-width: 768px) {
  .cmn-contact-sec {
    background-repeat: no-repeat;
    background-position: center 80px;
    background-image: url(../img/common/contact-bg.png);
  }
  .cmn-contact-sec .wrapper {
    padding-top: 100px;
    padding-top: 180px;
    padding-bottom: 160px;
    padding-left: 630px;
  }
  .cmn-contact-sec .block {
    width: 320px;
    padding-top: 20px;
    padding-bottom: 40px;
  }
  .cmn-contact-sec .txt {
    font-size: 1.5rem;
    margin-bottom: 20px;
  }
  .cmn-contact-sec .btn-cta a {
    height: 64px;
  }
}

.breadcrumb {
  font-size: 1.3rem;
}
.breadcrumb ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.breadcrumb li {
  position: relative;
  margin-right: 2em;
}
.breadcrumb li:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: -15px;
  width: 4px;
  height: 4px;
  border-top: 1px solid rgb(160, 160, 160);
  border-right: 1px solid rgb(160, 160, 160);
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.fv-sec {
  position: relative;
  text-align: center;
  overflow: hidden;
}
.fv-sec .wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100vh;
}
.fv-sec .pagetitle {
  position: relative;
  font-family: var(--font-en);
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 1;
  color: var(--accent, #B29358);
  margin-bottom: 76px;
}
.fv-sec .pagetitle::after {
  content: "";
  position: absolute;
  background-color: rgb(178, 147, 88);
  width: 52px;
  height: 1px;
  margin: auto;
  left: 0;
  right: 0;
  bottom: -30px;
}
.fv-sec .txt-lead {
  font-family: var(--font-min);
  font-weight: 600;
  font-size: 3.4rem;
  letter-spacing: 2.72px;
}
.fv-sec .scroll {
  position: absolute;
  margin: auto;
  left: 0;
  right: 0;
  bottom: 0;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../img/common/scroll.png);
  width: 23px;
  height: 187px;
  z-index: 100;
}

/* ============================
  背景動画セクション
============================ */
.hero-video{
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  background: #000;
  z-index:0;
}
/* 動画を cover 表示 */
.hero-video__media{
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translate(-50%, -50%);
  z-index: 1;
}
/* 上のコンテンツ */
.hero-video__content{
  position: relative;
  z-index: 3;
  height: 100%;
  display: grid;
  place-content: center;
  text-align: center;
  padding: 40px 20px;
  color: #fff;
}
.hero-video__content h1{
  margin: 0 0 12px;
  font-size: clamp(28px, 4vw, 56px);
  font-weight: 600;
  letter-spacing: .05em;
}
.hero-video__content p{
  margin: 0;
  font-size: clamp(14px, 2vw, 18px);
  opacity: .9;
}
@media (max-width: 768px){
  .hero-video{
    height: 100vh; /* スマホは全画面に */
  }
  .hero-video__media{
   width: auto;
   height: 100%;
   min-width: 100%;
   object-fit: cover;
   transform: translate(-50%, -50%) scale(1.4);
  }
}

@media screen and (max-width: 767px) {
  .fv-sec .pagetitle {
    margin-bottom: 76px;
  }
  .fv-sec .pagetitle::after {
    bottom: -30px;
  }
  .fv-sec .txt-lead {
    font-size: 2.8rem;
  }
  .fv-sec .breadcrumb {
    position: absolute;
    left: 23px;
    bottom: 20px;
  }
  .fv-sec .menu-sns {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .fv-sec .breadcrumb {
    position: absolute;
    right: -2em;
    bottom: 20px;
  }
  .fv-sec .menu-sns {
    position: absolute;
    top: 140px;
    right: 10px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    font-size: 1.3rem;
	z-index: 100;
    font-family: "Cormorant Garamond", serif;
    font-weight: 600;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
  }
  .fv-sec .menu-sns dt {
    color: rgb(160, 160, 160);
  }
  .fv-sec .menu-sns dd {
    margin-top: 2em;
  }
  .fv-sec .menu-sns a {
    display: block;
    padding-bottom: 2.2em;
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 20px;
    background-image: url(../img/common/icon-inst-black.png);
  }
  .fv-sec .menu-sns a.insta {
    background-image: url(../img/common/icon-inst-black.png);
  }
  .fv-sec .menu-sns a.tik {
    background-image: url(../img/common/icon-tik-black.png);
  }
  .fv-sec .menu-sns a.line {
    background-image: url(../img/common/icon-line-black.png);
  }
  .fv-sec .menu-sns.white a {
    color: white;
  }
  .fv-sec .menu-sns.white a.insta {
    background-image: url(../img/common/icon-inst-white.png);
  }
  .fv-sec .menu-sns.white a.tik {
    background-image: url(../img/common/icon-tik-white.png);
  }
  .fv-sec .menu-sns.white a.line {
    background-image: url(../img/common/icon-line-white.png);
  }
}

.cmn-experience-sec {
  background-color: #F5F6F7;
}
.cmn-experience-sec .sec__head {
  text-align: center;
}
.cmn-experience-sec ul li a {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.cmn-experience-sec ul li:nth-child(1) a {
  background-image: url(../img/common/experience-bg-signature.jpg);
}
.cmn-experience-sec ul li:nth-child(2) a {
  background-image: url(../img/common/experience-bg-items.jpg);
}
.cmn-experience-sec ul li:nth-child(3) a {
  background-image: url(../img/common/experience-bg-gifts.jpg);
}
.cmn-experience-sec ul img {
  height: 133px;
}
@media screen and (max-width: 767px) {
  .cmn-experience-sec {
    padding-top: 56px;
    padding-bottom: 24px;
  }
  .cmn-experience-sec .txt {
    font-size: 1.5rem;
    margin-top: 24px;
    margin-bottom: 24px;
  }
  .cmn-experience-sec a {
    height: 53.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .cmn-experience-sec {
    padding-top: 88px;
    padding-bottom: 75px;
  }
  .cmn-experience-sec .sec__head {
    margin-bottom: 9px;
  }
  .cmn-experience-sec .txt {
    text-align: center;
    font-size: 1.5rem;
    line-height: 2.4;
    margin-bottom: 56px;
  }
  .cmn-experience-sec ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .cmn-experience-sec ul li {
    width: 33.3%;
  }
  .cmn-experience-sec ul li a {
    height: 280px;
  }
}

/* Page Home ================= */
.home-fv-sec {
  position: relative;
  color: white;
}
@media screen and (max-width: 767px) {
  .home-fv-sec .wrapper {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .home-fv-sec .txt {
    width: 288px;
    height: 231px;
    aspect-ratio: 96/77;
  }
}
.home-concept-sec {
  position: relative;
}
.home-concept-sec .head-en {
  color: var(--accent, #B29358);
  font-family: var(--font-en);
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1;
}
.home-concept-sec .txt {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .home-concept-sec {
    margin-bottom: 200px;
  }
  .home-concept-sec .wrapper {
    padding-top: 120px;
    padding-bottom: 220px;
    background-repeat: no-repeat;
    background-image: url(../img/home/concept-bg_sp.png);
    background-position: right bottom;
  }
  .home-concept-sec .sec__head {
    margin-top: 28px;
    margin-bottom: 16px;
  }
  .home-concept-sec .txt {
    margin-bottom: 32px;
  }
}
@media screen and (min-width: 768px) {
  .home-concept-sec .wrapper {
    padding-top: 160px;
    padding-left: 100px;
    background-repeat: no-repeat;
    background-size: 626px auto;
    background-image: url(../img/home/concept-bg_pc.png);
    background-position: 86% 506px;
    background-position: 86% bottom;
    margin-bottom: 200px;
  }
  .home-concept-sec .sec__head {
    margin-top: 29px;
    margin-bottom: 62px;
  }
  .home-concept-sec .txt {
    line-height: 280%;
    margin-bottom: 97px;
  }
}

.home-experience-sec .block1 {
  text-align: center;
}
.home-experience-sec .head-min {
  position: relative;
  color: var(--accent, #B29358);
  font-family: var(--font-en);
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1.35;
  margin-bottom: 83px;
}
.home-experience-sec .head-min::after {
  content: "";
  position: absolute;
  margin: auto;
  bottom: -40px;
  left: 0;
  right: 0;
  height: 1px;
  width: 52px;
  background-color: var(--accent, #B29358);
}
.home-experience-sec .txt-lead {
  color: var(--Dgray_2, #3C3C3C);
  font-size: 15px;
  line-height: 240%;
  margin-top: 24px;
}
.home-experience-sec .head-en {
  color: var(--accent, #B29358);
  font-family: var(--font-en);
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.35;
}
.home-experience-sec .txt {
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .home-experience-sec {
    padding-bottom: 160px;
  }
  .home-experience-sec .block1 {
    margin-bottom: 96px;
  }
  .home-experience-sec .head-min {
    margin-bottom: 52px;
  }
  .home-experience-sec .head-min::after {
    bottom: -24px;
  }
  .home-experience-sec .txt-lead {
    line-height: 175%;
  }
  .home-experience-sec .block-each:not(:last-child) {
    margin-bottom: 160px;
  }
  .home-experience-sec .block-each .block-img {
    margin-bottom: 24px;
  }
  .home-experience-sec .block-each .sec__head {
    margin-top: 24px;
    margin-bottom: 16px;
    font-size: 3.4rem;
    line-height: 175%;
  }
  .home-experience-sec .block-each .txt {
    margin-bottom: 40px;
  }
}
@media screen and (min-width: 768px) {
  .home-experience-sec {
    padding-bottom: 120px;
  }
  .home-experience-sec .block1 {
    margin-bottom: 113px;
  }
  .home-experience-sec .block-each {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .home-experience-sec .block-each:not(:last-child) {
    margin-bottom: 168px;
  }
  .home-experience-sec .block-each:nth-child(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .home-experience-sec .block-each .block-img {
    width: 640px;
  }
  .home-experience-sec .block-each .block-text {
    width: 320px;
  }
  .home-experience-sec .block-each .sec__head {
    margin-top: 30px;
    margin-bottom: 32px;
    letter-spacing: 1px;
  }
  .home-experience-sec .block-each .txt {
    margin-bottom: 24px;
    line-height: 240%;
  }
}

.home-producer-sec {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-image: url(../img/home/producer-bg.jpg);
}
.home-producer-sec .head-en {
  color: var(--accent, #B29358);
  font-family: var(--font-en);
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1;
}
.home-producer-sec .txt {
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .home-producer-sec {
    background-image: url(../img/home/producer-bg_sp.jpg);
    padding-top: 80px;
    padding-bottom: 306px;
  }
  .home-producer-sec .sec__head {
    margin-top: 24px;
    margin-bottom: 16px;
    font-size: 3.4rem;
    line-height: 175%;
  }
  .home-producer-sec .btn-view {
    margin-top: 32px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media screen and (min-width: 768px) {
  .home-producer-sec {
    padding-top: 146px;
    padding-bottom: 113px;
  }
  .home-producer-sec .sec__head {
    margin-top: 30px;
    margin-bottom: 32px;
  }
  .home-producer-sec .txt {
    line-height: 240%;
    margin-bottom: 48px;
  }
}

.home-project-sec .head-en {
  color: var(--accent, #B29358);
  font-family: var(--font-en);
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1;
  text-align: center;
}
.home-project-sec .txt {
  text-align: center;
  font-size: 1.5rem;
}
.home-project-sec .list img {
  border-radius: 16px;
  margin-bottom: 16px;
}
.home-project-sec .btn-view {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .home-project-sec {
    padding-top: 120px;
    padding-bottom: 40px;
  }
  .home-project-sec .sec__head {
    text-align: center;
    margin-top: 32px;
    margin-bottom: 12px;
    font-size: 3.4rem;
    line-height: 175%;
  }
  .home-project-sec .txt {
    margin-bottom: 32px;
  }
  .home-project-sec .list {
    font-size: 1.6rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .home-project-sec .btn-view {
    margin-top: 40px;
  }
}
@media screen and (min-width: 768px) {
  .home-project-sec {
    padding-top: 240px;
    padding-bottom: 120px;
  }
  .home-project-sec .sec__head {
    text-align: center;
    margin-top: 30px;
    margin-bottom: 14px;
  }
  .home-project-sec .txt {
    margin-bottom: 122px;
  }
  .home-project-sec .list {
    font-size: 1.6rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .home-project-sec .list li {
    max-width: 360px;
    width: 30%;
    margin-left: 24px;
    margin-right: 24px;
  }
  .home-project-sec .btn-view {
    margin-top: 88px;
  }
}

/* Page Concept ================= */
.concept-sec {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(../img/concept/concept-bg.jpg);
  color: white;
}
.concept-sec .txt {
  font-size: 1.6rem;
  line-height: 280%;
}
@media screen and (max-width: 767px) {
  .concept-sec {
    background-image: url(../img/concept/concept-bg_sp.jpg);
    padding-top: 21.3333333333vw;
    padding-bottom: 21.3333333333vw;
  }
  .concept-sec .txt {
    font-size: 1.5rem;
    line-height: 1.75;
    padding-top: 6.4vw;
    padding-bottom: 6.4vw;
  }
}
@media screen and (min-width: 768px) {
  .concept-sec {
    padding-top: 120px;
    padding-bottom: 120px;
  }
  .concept-sec .block {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .concept-sec .block .block-left {
    width: 52%;
  }
  .concept-sec .block .block-right {
    width: 493px;
  }
  .concept-sec .sec__head {
    margin-bottom: 28px;
  }
}

.concept2-sec {
  color: rgb(60, 60, 60);
}
.concept2-sec .sec__head {
  margin-bottom: 32px;
}
.concept2-sec .sec__head::after {
  content: "";
  position: absolute;
  background-color: #B29358;
  width: 52px;
  height: 1px;
  left: 0;
  top: -30px;
}
.concept2-sec .txt {
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .concept2-sec {
    padding-top: 37.3333333333vw;
    padding-bottom: 32vw;
  }
  .concept2-sec .wrapper {
    padding-left: 22px;
    padding-right: 22px;
  }
  .concept2-sec .sec__head {
    margin-bottom: 4.2666666667vw;
  }
  .concept2-sec .sec__head::after {
    top: -23px;
  }
  .concept2-sec .block1 .img {
    margin-top: 48px;
    margin-right: -22px;
  }
  .concept2-sec .block2 {
    margin-top: 140px;
  }
  .concept2-sec .block2 .img {
    margin-top: 48px;
    margin-left: -22px;
  }
}
@media screen and (min-width: 768px) {
  .concept2-sec {
    padding-top: 160px;
    padding-bottom: 290px;
  }
  .concept2-sec .txt {
    line-height: 2.4;
  }
  .concept2-sec .img {
    width: 400px;
  }
  .concept2-sec .block1 {
    position: relative;
  }
  .concept2-sec .block1::after {
    content: "";
    z-index: -1;
    position: absolute;
    top: 0;
    left: 48%;
    width: 52%;
    height: 560px;
    background-repeat: no-repeat;
    background-position: left center;
    background-size: cover;
    background-image: url(../img/concept/concept2-img-bg1.jpg);
    border-radius: 160px 0 0 160px;
  }
  .concept2-sec .block1 .wrapper {
    position: relative;
    padding-right: 600px;
    min-height: 655px;
    padding-top: 140px;
  }
  .concept2-sec .block1 .img {
    position: absolute;
    left: 453px;
    bottom: 0;
  }
  .concept2-sec .block2 {
    position: relative;
    margin-top: 168px;
  }
  .concept2-sec .block2::after {
    content: "";
    z-index: -1;
    position: absolute;
    top: 0;
    left: 0;
    width: 52%;
    height: 560px;
    background-repeat: no-repeat;
    background-position: left center;
    background-size: cover;
    background-image: url(../img/concept/concept2-img-bg2.jpg);
    border-radius: 0 160px 160px 0;
  }
  .concept2-sec .block2 .wrapper {
    position: relative;
    padding-left: 700px;
    min-height: 655px;
    padding-top: 135px;
  }
  .concept2-sec .block2 .img {
    position: absolute;
    left: 230px;
    bottom: 0;
  }
}

/* Page Ssignature ================= */
.signature-fv-sec {
  color: white;
}
.signature-fv-sec .pagetitle {
  color: white;
}
.signature-fv-sec .pagetitle::after {
  content: none;
}
.signature-introduction-sec {
  background-image: url(../img/common/bg1.jpg);
}
.signature-introduction-sec .sub {
  position: relative;
  color: var(--accent, #B29358);
  font-family: var(--font-min);
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 135%;
}
.signature-introduction-sec .sub::after {
  content: "";
  position: absolute;
  background-color: var(--accent, #B29358);
  width: 52px;
  height: 1px;
  margin: auto;
  left: 0;
  bottom: -30px;
}
@media screen and (max-width: 767px) {
  .signature-introduction-sec {
    padding-top: 32vw;
    padding-bottom: 10.6666666667vw;
  }
  .signature-introduction-sec .sub {
    margin-bottom: 64px;
  }
  .signature-introduction-sec .txt {
    color: var(--text, #1C1C1C);
    font-size: 1.5rem;
    margin-top: 4.2666666667vw;
  }
  .signature-introduction-sec .img1 {
    margin-top: 32px;
    margin-bottom: 56px;
  }
}
@media screen and (min-width: 768px) {
  .signature-introduction-sec {
    padding-top: 160px;
    padding-bottom: 48px;
  }
  .signature-introduction-sec .wrapper {
    width: 1000px;
  }
  .signature-introduction-sec .sub {
    margin-bottom: 96px;
  }
  .signature-introduction-sec .block {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .signature-introduction-sec .block .block-left {
    width: 48%;
  }
  .signature-introduction-sec .block .block-right {
    width: 52%;
  }
  .signature-introduction-sec .txt {
    color: var(--text, #1C1C1C);
    font-size: 1.6rem;
    line-height: 280%;
  }
  .signature-introduction-sec .img1 {
    margin-left: auto;
    margin-right: auto;
    width: 816px;
    margin-top: 80px;
    margin-bottom: 124px;
  }
}

.signature-style-sec .sec__head,
.signature-commit-sec .sec__head,
.signature-voice-sec .sec__head,
.signature-price-sec .sec__head {
  color: var(--text, #1C1C1C);
  text-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 24px;
}
.signature-style-sec .sec__head:before, .signature-style-sec .sec__head:after,
.signature-commit-sec .sec__head:before,
.signature-commit-sec .sec__head:after,
.signature-voice-sec .sec__head:before,
.signature-voice-sec .sec__head:after,
.signature-price-sec .sec__head:before,
.signature-price-sec .sec__head:after {
  content: "";
  width: 24px;
  height: 1px;
  background: var(--accent, #B29358);
  margin: 0 16px;
}
@media screen and (max-width: 767px) {
  .signature-style-sec .sec__head,
  .signature-commit-sec .sec__head,
  .signature-voice-sec .sec__head,
  .signature-price-sec .sec__head {
    font-size: 2.2rem;
  }
}

.signature-style-sec nav {
  margin-bottom: 93px;
}
.signature-style-sec nav ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.signature-style-sec nav li {
  width: 20%;
}
.signature-style-sec nav a {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  padding: 4px 20px 4px 0;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1px solid var(--accent, #B29358);
  color: var(--accent, #B29358);
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 175%;
}
.signature-style-sec nav a::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
  width: 10px;
  height: 10px;
  border-width: 1px;
  border-style: solid;
  border-color: #B29358 #B29358 transparent transparent;
  right: 2px;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.signature-style-sec .block {
  position: relative;
}
.signature-style-sec .block .color {
  color: var(--accent_2, #BF1A1A);
}
.signature-style-sec .block .block__head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--accent, #B29358);
  color: var(--text, #1C1C1C);
  font-size: 22px;
  font-weight: 600;
  line-height: 175%;
  margin-bottom: 36px;
}
.signature-style-sec .block .block__head .num {
  color: var(--accent, #B29358);
  font-family: var(--font-min);
  font-size: 8rem;
  font-weight: 250;
  line-height: 100%;
  margin-right: 8px;
}
.signature-style-sec .block .txt1 {
  font-family: var(--font-min);
  font-size: 3.4rem;
  font-weight: 700;
  line-height: 175%;
  letter-spacing: 2.72px;
  margin-bottom: 20px;
}
.signature-style-sec .block .txt2 {
  font-size: 1.5rem;
  margin-bottom: 43px;
}
.signature-style-sec .block .box {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid var(--Dgray_2, #3C3C3C);
  color: var(--text, #1C1C1C);
  font-size: 14px;
  padding: 44px 32px 32px;
}
.signature-style-sec .block .box .ttl {
  text-align: center;
  font-size: 16px;
  position: absolute;
  margin: auto;
  left: 12px;
  top: -17px;
  background: var(--Dgray_2, #3C3C3C);
  color: var(--white, #FFF);
  width: 144px;
  padding: 4px 8px;
}
.signature-style-sec .txt-check {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 13px;
  margin-top: 12px;
}
.signature-style-sec .check {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 64px;
  height: 20px;
  background: var(--accent_2, #BF1A1A);
  color: #FFF;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  line-height: 120%;
  margin-right: 1em;
}
.signature-style-sec .check::after {
  content: "";
  position: absolute;
  right: -16px;
  border-left: 8px solid #BF1A1A;
  border-top: 10px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 10px solid transparent;
}
@media screen and (max-width: 767px) {
  .signature-style-sec {
    padding-top: 120px;
    padding-bottom: 100px;
  }
  .signature-style-sec .sec__head {
    line-height: 135%;
    margin-bottom: 32px;
  }
  .signature-style-sec nav {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 10px;
  }
  .signature-style-sec nav li {
    width: 46%;
    margin-bottom: 16px;
  }
  .signature-style-sec nav a {
    font-size: 1.4rem;
    line-height: 120%;
  }
  .signature-style-sec nav a::after {
    width: 7px;
    height: 7px;
    right: 2px;
  }
  .signature-style-sec .block:not(:last-child) {
    margin-bottom: 50px;
  }
  .signature-style-sec .block .img1 {
    margin-left: -20px;
    margin-right: -20px;
  }
  .signature-style-sec .block .block__head {
    margin-top: -30px;
    margin-bottom: 36px;
  }
  .signature-style-sec .block .block1 {
    margin-bottom: 32px;
  }
  .signature-style-sec .block .txt1 {
    font-size: 2.8rem;
    letter-spacing: 1px;
    margin-bottom: 20px;
  }
  .signature-style-sec .block .txt2 {
    margin-bottom: 43px;
  }
  .signature-style-sec .block .box {
    font-size: 1.5rem;
    padding: 44px 16px 32px;
  }
  .signature-style-sec .txt-check {
    display: block;
    font-size: 11px;
  }
  .signature-style-sec .block2 img {
    width: 100% !important;
  }
  .signature-style-sec .block2 a {
    display: block;
  }
  .signature-style-sec .block2 ul {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .signature-style-sec .block2 ul li {
    width: 43.2vw;
    line-height: 0;
    margin-bottom: 4px;
  }
  .signature-style-sec .block2 ul li.wide {
    width: 100%;
  }
  .signature-style-sec .block2 ul li.width3 {
    width: 28.2666666667vw;
  }
  .signature-style-sec #style1 .block2 li:nth-child(3), .signature-style-sec #style1 .block2 li:nth-child(8) {
    width: 100%;
  }
  .signature-style-sec #style2 .block2 li:nth-child(2) {
    position: absolute;
    left: 0;
    top: 41.6vw;
  }
  .signature-style-sec #style2 .block2 li:nth-child(6) {
    width: 100%;
  }
  .signature-style-sec #style3 .block2 li:nth-child(2) {
    position: absolute;
    left: 0;
    top: 29.3333333333vw;
  }
  .signature-style-sec #style3 .block2 li:nth-child(6) {
    width: 100%;
  }
  .signature-style-sec #style4 .block2 li:nth-child(3), .signature-style-sec #style4 .block2 li:nth-child(4), .signature-style-sec #style4 .block2 li:nth-child(5) {
    width: 28.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .signature-style-sec {
    padding-top: 190px;
    padding-bottom: 160px;
  }
  .signature-style-sec .sec__head {
    margin-bottom: 24px;
  }
  .signature-style-sec .block:not(:last-child) {
    margin-bottom: 200px;
  }
  .signature-style-sec .block1 {
    margin-bottom: 76px;
  }
  .signature-style-sec .block1 .txt2,
  .signature-style-sec .block1 .box {
    width: 408px;
  }
  .signature-style-sec .img1 {
    position: absolute;
    right: 0;
    top: 14px;
  }
  .signature-style-sec .block2 ul {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .signature-style-sec .block2 ul li {
    line-height: 0;
    margin-bottom: 18px;
  }
  .signature-style-sec #style2 .block2 li:nth-child(7) {
    position: absolute;
    left: 0;
    bottom: 0;
  }
  .signature-style-sec #style2 .block2 li:nth-child(8) {
    position: absolute;
    left: 446px;
    bottom: 0;
  }
  .signature-style-sec #style3 .block2 li:nth-child(7) {
    position: absolute;
    left: 0;
    bottom: 0;
  }
  .signature-style-sec #style3 .block2 li:nth-child(8) {
    position: absolute;
    left: 390px;
    bottom: 0;
  }
}

.signature-commit-sec .content {
  background-image: url(../img/common/bg1.jpg);
  padding-top: 83px;
  padding-bottom: 120px;
}
.signature-commit-sec .list-detail li {
  border-radius: 8px;
  background: var(--white, #FFF);
  margin-bottom: 24px;
  padding: 16px 32px;
}
.signature-commit-sec .list-detail .img {
  margin-left: auto;
  margin-right: auto;
}
.signature-commit-sec .list-detail .img1 {
  width: 120px;
}
.signature-commit-sec .list-detail .img2 {
  width: 120px;
}
.signature-commit-sec .list-detail .img3 {
  width: 104px;
}
.signature-commit-sec .list-detail .img4 {
  width: 104px;
}
.signature-commit-sec .list-detail .ttl {
  color: var(--accent, #B29358);
  font-size: 22px;
  font-weight: 600;
  line-height: 175%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.signature-commit-sec .list-detail .ttl .num {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 32px;
  height: 32px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 4px;
  background: var(--accent, #B29358);
  color: var(--white, #FFF);
  text-align: center;
  margin-right: 10px;
}
.signature-commit-sec .img5 {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  width: 211px;
}
.signature-commit-sec .img5::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  bottom: -28px;
  width: 0;
  height: 0;
  border-left: 16px solid transparent;
  border-right: 16px solid transparent;
  border-top: 16px solid #1C1C1C;
}
.signature-commit-sec .img6,
.signature-commit-sec .img7 {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .signature-commit-sec .sec__head {
    margin-bottom: 60px;
  }
  .signature-commit-sec .list-detail {
    margin-bottom: 106px;
  }
  .signature-commit-sec .list-detail li {
    padding: 16px 7.4666666667vw;
  }
  .signature-commit-sec .list-detail .ttl {
    margin-top: 16px;
    margin-bottom: 8px;
  }
  .signature-commit-sec .img5 {
    margin-bottom: 51px;
  }
  .signature-commit-sec .img6 {
    margin-bottom: 28px;
  }
  .signature-commit-sec .txt-hosoku {
    text-align: right;
    font-size: 1.3rem;
    margin-top: 8px;
  }
}
@media screen and (min-width: 768px) {
  .signature-commit-sec .content {
    padding-bottom: 190px;
  }
  .signature-commit-sec .sec__head {
    margin-bottom: 30px;
  }
  .signature-commit-sec .list-detail {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    margin-bottom: 54px;
  }
  .signature-commit-sec .list-detail li {
    width: 49%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0;
  }
  .signature-commit-sec .list-detail li .img {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    width: 32%;
    padding: 30px;
  }
  .signature-commit-sec .list-detail li .box-text {
    width: 68%;
    padding: 30px 50px 30px 0;
  }
  .signature-commit-sec .list-detail .ttl {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    font-size: 28px;
    margin-bottom: 12px;
  }
  .signature-commit-sec .block {
    margin-left: auto;
    margin-right: auto;
    width: 800px;
  }
  .signature-commit-sec .img5 {
    width: 267px;
    margin-bottom: 58px;
  }
  .signature-commit-sec .img6 {
    margin-bottom: 45px;
  }
  .signature-commit-sec .txt-hosoku {
    text-align: right;
    margin-top: 10px;
  }
}

.signature-voice-sec {
  background: -webkit-linear-gradient(top, #fff 0%, #fff 400px, #F5F6F7 400px, #F5F6F7 100%);
  background: linear-gradient(180deg, #fff 0%, #fff 400px, #F5F6F7 400px, #F5F6F7 100%);
}
.signature-voice-sec .list-voice {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 70px;
}
.signature-voice-sec .ttl {
  text-align: center;
  margin-top: 26px;
  margin-bottom: 34px;
}
.signature-voice-sec .ttl span {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  padding: 12px 8px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border-top: 1px solid var(--accent, #B29358);
  border-bottom: 1px solid var(--accent, #B29358);
  color: var(--text, #1C1C1C);
  text-align: center;
  font-size: 18px;
  font-weight: 500;
}
.signature-voice-sec .name {
  text-align: center;
  font-size: 1.5rem;
}
.signature-voice-sec .job {
  text-align: center;
  font-size: 1.3rem;
  margin-bottom: 14px;
}
.signature-voice-sec .btn-view {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.signature-voice-sec .btn-view a {
  font-family: var(--font-base);
  font-size: 1.4rem;
  line-height: 1.2;
  width: 280px;
  height: 48px;
}
@media screen and (max-width: 767px) {
  .signature-voice-sec .btn-view a {
    color: var(--text, #1C1C1C);
  }
}
@media screen and (min-width: 768px) {
  .signature-voice-sec .btn-view a {
    border-radius: 4px;
  }
}
@media screen and (max-width: 767px) {
  .signature-voice-sec {
    padding-top: 42.6666666667vw;
    padding-bottom: 18.1333333333vw;
  }
  .signature-voice-sec .sec__head {
    font-size: 2.8rem;
    margin-bottom: 56px;
  }
  .signature-voice-sec .list-voice {
    width: 88%;
  }
}
@media screen and (min-width: 768px) {
  .signature-voice-sec {
    background: -webkit-linear-gradient(top, #fff 0%, #fff 500px, #F5F6F7 500px, #F5F6F7 100%);
    background: linear-gradient(180deg, #fff 0%, #fff 500px, #F5F6F7 500px, #F5F6F7 100%);
    padding-top: 160px;
    padding-bottom: 140px;
  }
  .signature-voice-sec .sec__head {
    margin-bottom: 109px;
  }
  .signature-voice-sec .list-voice {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 30px;
  }
  .signature-voice-sec .list-voice li {
    max-width: 400px;
    width: 31%;
  }
  .signature-voice-sec .ttl {
    margin-top: 32px;
    margin-bottom: 50px;
  }
  .signature-voice-sec .txt {
    line-height: 2.4;
  }
}

.signature-price-sec {
  text-align: center;
}
.signature-price-sec .txt-price {
  border-bottom: 1px solid var(--accent, #B29358);
  color: var(--Dgray_2, #3C3C3C);
  font-size: 5.6rem;
  font-family: var(--font-min);
  font-weight: 500;
  line-height: 100%;
  padding-bottom: 4px;
  width: 290px;
  margin-left: auto;
  margin-right: auto;
}
.signature-price-sec .tax {
  font-size: 2.8rem;
}
.signature-price-sec .btn-cta2 a {
  margin: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: left;
  background: var(--accent, #B29358);
  color: var(--white, #FFF);
  font-size: 18px;
  font-weight: 600;
  line-height: 160%;
  width: 480px;
  width: 100%;
  height: 72px;
  padding: 20px;
  border-radius: 36px;
}
.signature-price-sec .btn-cta2 a span {
  background-image: url(../img/common/icon-pen-black.png);
  background-size: 36px 32px;
  background-repeat: no-repeat;
  background-position: left center;
  min-height: 32px;
  padding-left: 40px;
}
.signature-price-sec .btn-line a,
.signature-price-sec .btn-mail a {
  margin: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: left;
  width: 100%;
  height: 56px;
  padding: 12px;
  border-radius: 36px;
  border: 1px solid #06C755;
  color: var(--text, #1C1C1C);
  font-size: 13px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
}
.signature-price-sec .btn-line a span,
.signature-price-sec .btn-mail a span {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background-image: url(../img/common/icon-line-green.png);
  background-size: 32px;
  background-repeat: no-repeat;
  background-position: left center;
  min-height: 32px;
  padding-left: 40px;
}
.signature-price-sec .btn-mail a {
  border: 1px solid var(--text, #1C1C1C);
}
.signature-price-sec .btn-mail a span {
  background-image: url(../img/common/icon-mail.png);
}
@media screen and (max-width: 767px) {
  .signature-price-sec {
    padding-top: 21.3333333333vw;
    padding-bottom: 17.0666666667vw;
  }
  .signature-price-sec .sec__head {
    font-size: 2.8rem;
    margin-bottom: 22px;
  }
  .signature-price-sec .txt-price {
    margin-bottom: 22px;
  }
  .signature-price-sec .txt1 {
    text-align: left;
    margin-bottom: 36px;
  }
  .signature-price-sec .btn-cta2 {
    margin-bottom: 30px;
  }
  .signature-price-sec .txt2 {
    margin-bottom: 14px;
  }
  .signature-price-sec .list-link {
    width: 224px;
    margin-left: auto;
    margin-right: auto;
  }
  .signature-price-sec .list-link li {
    width: 224px;
    margin-bottom: 16px;
  }
}
@media screen and (min-width: 768px) {
  .signature-price-sec {
    padding-top: 160px;
    padding-bottom: 160px;
  }
  .signature-price-sec .sec__head {
    margin-bottom: 35px;
  }
  .signature-price-sec .txt-price {
    margin-bottom: 22px;
  }
  .signature-price-sec .btn-cta2 {
    margin-top: 48px;
    margin-bottom: 60px;
  }
  .signature-price-sec .btn-cta2 a {
    width: 480px;
  }
  .signature-price-sec .txt2 {
    font-size: 15px;
    margin-bottom: 14px;
  }
  .signature-price-sec .list-link {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .signature-price-sec .list-link li {
    width: 224px;
    margin-left: 6px;
    margin-right: 6px;
  }
}

/* Page Items ================= */
.items-fv-sec {
  color: white;
}
.items-fv-sec .pagetitle {
  color: white;
  margin-bottom: 14px;
}
.items-fv-sec .pagetitle::after {
  content: none;
}
.items-introduction-sec {
  background-image: url(../img/common/bg1.jpg);
}
.items-introduction-sec .sub {
  position: relative;
  color: var(--accent, #B29358);
  font-family: var(--font-min);
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 135%;
}
.items-introduction-sec .sub::after {
  content: "";
  position: absolute;
  background-color: var(--accent, #B29358);
  width: 52px;
  height: 1px;
  margin: auto;
  left: 0;
  bottom: -30px;
}
@media screen and (max-width: 767px) {
  .items-introduction-sec {
    padding-top: 42.6666666667vw;
    padding-bottom: 32vw;
  }
  .items-introduction-sec .sub {
    margin-bottom: 64px;
  }
  .items-introduction-sec .txt {
    color: var(--text, #1C1C1C);
    font-size: 1.5rem;
    margin-top: 4.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .items-introduction-sec {
    padding-top: 160px;
    padding-bottom: 160px;
  }
  .items-introduction-sec .wrapper {
    width: 1000px;
  }
  .items-introduction-sec .sub {
    margin-bottom: 96px;
  }
  .items-introduction-sec .block {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .items-introduction-sec .block .block-left {
    width: 48%;
  }
  .items-introduction-sec .block .block-right {
    width: 52%;
  }
  .items-introduction-sec .txt {
    color: var(--text, #1C1C1C);
    font-size: 1.6rem;
    line-height: 280%;
  }
}

.items-sec2 table {
  color: var(--text, #1C1C1C);
  font-size: 15px;
  line-height: 135%;
  margin-top: 12px;
  margin-bottom: 28px;
}
.items-sec2 table th,
.items-sec2 table td {
  vertical-align: middle;
  text-align: left;
  border-top: 1px solid var(--Lgray_2, #C8C8C8);
  border-bottom: 1px solid var(--Lgray_2, #C8C8C8);
  padding: 8px;
}
.items-sec2 table th {
  width: 82px;
}
.items-sec2 .list-color li {
  position: relative;
  padding-left: 32px;
  margin-bottom: 8px;
  min-height: 24px;
}
.items-sec2 .list-color li::before {
  content: "";
  position: absolute;
  left: 0;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: solid 1px #808080;
  background-color: #808080;
}
.items-sec2 .list-color li.petrolio::before {
  background-color: rgb(74, 119, 119);
}
.items-sec2 .list-color li.brown::before {
  background-color: rgb(179, 109, 67);
}
.items-sec2 .list-color li.black::before {
  background-color: rgb(46, 46, 46);
}
@media screen and (max-width: 767px) {
  .items-sec2 .wrapper {
    padding-top: 10.6666666667vw;
    padding-bottom: 32vw;
  }
  .items-sec2 .sec__head {
    font-size: 9.0666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .items-sec2 .wrapper {
    min-height: 800px;
    padding-top: 100px;
    padding-bottom: 100px;
  }
  .items-sec2 .box {
    width: 328px;
  }
  .items-sec2::after {
    content: "";
    z-index: -1;
    position: absolute;
    top: 0;
    left: 50%;
    width: 50%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-image: url(../img/items/meishi-img-bg.jpg);
  }
  .items-sec2.meishi .wrapper {
    padding-left: 20px;
  }
  .items-sec2.meishi::after {
    background-image: url(../img/items/meishi-img-bg.jpg);
  }
  .items-sec2.passport .wrapper {
    padding-right: 20px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .items-sec2.passport::after {
    background-image: url(../img/items/passport-img-bg.jpg);
    left: 0;
  }
  .items-sec2.pencase .wrapper {
    padding-left: 20px;
  }
  .items-sec2.pencase::after {
    background-image: url(../img/items/pencase-img-bg.jpg);
  }
  .items-sec2.bookcover .wrapper {
    padding-right: 20px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .items-sec2.bookcover::after {
    background-image: url(../img/items/bookcover-img-bg.jpg);
    left: 0;
  }
  .items-sec2.meishi::after {
    background-image: url(../img/items/meishi-img-bg.jpg);
  }
}

.items-sec3 .box {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid var(--Lgray_2, #C8C8C8);
  color: var(--text, #1C1C1C);
  font-size: 14px;
  padding: 51px 100px 57px;
}
.items-sec3 .box .ttl {
  color: var(--Dgray_2, #3C3C3C);
  text-align: center;
  font-size: 18px;
  font-weight: 500;
  position: absolute;
  margin: auto;
  left: 0;
  right: 0;
  top: -17px;
  background-color: white;
  width: 192px;
}
@media screen and (max-width: 767px) {
  .items-sec3 {
    padding-top: 30px;
    padding-bottom: 80px;
  }
  .items-sec3 .box {
    padding: 46px 40px 30px;
  }
  .items-sec3 .box .ttl {
    top: -17px;
  }
}
@media screen and (min-width: 768px) {
  .items-sec3 {
    padding-top: 120px;
    padding-bottom: 120px;
  }
}

.items-flow-sec {
  background: var(--BGgray, #F5F6F7);
}
.items-flow-sec .sec__head {
  color: var(--text, #1C1C1C);
  text-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 50px;
}
.items-flow-sec .sec__head:before, .items-flow-sec .sec__head:after {
  content: "";
  width: 24px;
  height: 1px;
  background: var(--accent, #B29358);
  margin: 0 16px;
}
.items-flow-sec .box {
  position: relative;
  color: var(--text, #1C1C1C);
  background-color: var(--BGgray, #F5F6F7);
  font-size: 15px;
  line-height: 175%;
}
.items-flow-sec .num {
  color: var(--accent, #B29358);
  text-align: center;
  font-family: var(--font-min);
  font-size: 40px;
  font-weight: 500;
  line-height: 175%;
}
.items-flow-sec .img {
  width: 120px;
  height: 80px;
  margin-left: auto;
  margin-right: auto;
}
.items-flow-sec .box__ttl {
  color: var(--accent, #B29358);
  text-align: center;
  font-size: 24px;
  font-weight: 600;
  line-height: 160%;
}
.items-flow-sec .txt-period {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  color: var(--accent_2, #BF1A1A);
  font-size: 13px;
  line-height: 150%;
}
.items-flow-sec .txt-period span {
  padding: 4px;
  border-radius: 4px;
  background: var(--white, #FFF);
}
.items-flow-sec .txt-period.bold {
  font-size: 14px;
  font-weight: 600;
  line-height: 120%;
}
.items-flow-sec .btn-cta2 a {
  margin: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 200px;
  height: 64px;
  padding: 16px 24px 14px 60px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 36px;
  background: var(--accent, #B29358);
  color: var(--white, #FFF);
  font-size: 14px;
  font-weight: 600;
  line-height: 120%;
  background-image: url(../img/common/icon-pen-black.png);
  background-size: 36px 32px;
  background-repeat: no-repeat;
  background-position: 24px center;
}
.items-flow-sec .txt-close em {
  color: var(--accent_2, #BF1A1A);
  font-style: normal;
  font-size: 18px;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .items-flow-sec {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .items-flow-sec .sec__head {
    margin-bottom: 12px;
  }
  .items-flow-sec .box {
    padding: 16px;
  }
  .items-flow-sec .bubble {
    position: relative;
    border-bottom: 1px solid var(--text, #1C1C1C);
  }
  .items-flow-sec .bubble::before, .items-flow-sec .bubble::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    border-style: solid;
    border-width: 8px 7px 0 7px;
    border-color: var(--text, #1C1C1C) transparent transparent;
    translate: -50% 100%;
    z-index: 1;
  }
  .items-flow-sec .bubble::after {
    border-width: 6.5px 5.7px 0 5.7px;
    border-color: var(--BGgray, #F5F6F7) transparent transparent;
  }
  .items-flow-sec .num {
    line-height: 1.2;
  }
  .items-flow-sec .box .num,
  .items-flow-sec .box .img,
  .items-flow-sec .box .box__inner,
  .items-flow-sec .box .box__ttl {
    margin-bottom: 8px;
  }
  .items-flow-sec .btn-cta2 {
    margin-top: 8px;
  }
  .items-flow-sec .txt-close {
    margin-top: 32px;
  }
}
@media screen and (min-width: 768px) {
  .items-flow-sec {
    padding-top: 160px;
    padding-bottom: 154px;
  }
  .items-flow-sec .box-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .items-flow-sec .box-wrap .box {
    width: 25%;
  }
  .items-flow-sec .bubble {
    position: relative;
    border-right: 1px solid var(--text, #1C1C1C);
    background-color: var(--BGgray, #F5F6F7);
  }
  .items-flow-sec .bubble::before, .items-flow-sec .bubble::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    border-style: solid;
    border-width: 7px 0 7px 8px;
    border-color: transparent transparent transparent var(--text, #1C1C1C);
    translate: 100% -50%;
    z-index: 1;
  }
  .items-flow-sec .bubble::after {
    border-width: 5.7px 0 5.7px 6.5px;
    border-color: transparent transparent transparent var(--BGgray, #F5F6F7);
  }
  .items-flow-sec .box {
    padding-left: 16px;
    padding-right: 16px;
  }
  .items-flow-sec .box .num,
  .items-flow-sec .box .img,
  .items-flow-sec .box .box__inner {
    margin-bottom: 16px;
  }
  .items-flow-sec .box__inner {
    height: 112px;
  }
  .items-flow-sec .box__ttl {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    height: 80px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-bottom: 4px;
  }
  .items-flow-sec .btn-cta2 {
    margin-top: 16px;
  }
  .items-flow-sec .txt-close {
    text-align: center;
    margin-top: 32px;
  }
}

.items-price-sec .sec__head {
  color: var(--text, #1C1C1C);
  text-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 44px;
}
.items-price-sec .sec__head:before, .items-price-sec .sec__head:after {
  content: "";
  width: 24px;
  height: 1px;
  background: var(--accent, #B29358);
  margin: 0 16px;
}
.items-price-sec .block {
  margin-bottom: 43px;
}
.items-price-sec .block .box {
  border-bottom: 1px solid var(--accent, #B29358);
  text-align: center;
  padding-bottom: 4px;
}
.items-price-sec .block .box__ttl {
  color: var(--text, #1C1C1C);
  font-size: 18px;
  font-weight: 500;
  line-height: 175%;
  margin-bottom: 12px;
}
.items-price-sec .block .box .txt-price {
  color: var(--Dgray_2, #3C3C3C);
  font-size: 40px;
  line-height: 100%;
  font-family: var(--font-min);
  font-weight: 500;
}
.items-price-sec .block .box .tax {
  font-size: 18px;
}
.items-price-sec .txt1 {
  color: var(--text, #1C1C1C);
  text-align: center;
  font-size: 1.6rem;
  margin-bottom: 6px;
}
.items-price-sec .txt2 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 120%;
  margin-bottom: 72px;
}
.items-price-sec .txt2 span {
  padding: 8px;
  border-radius: 4px;
  background: var(--Dgray_2, #3C3C3C);
  color: var(--white, #FFF);
}
.items-price-sec .block2 .box {
  text-align: center;
  border-radius: 8px;
}
.items-price-sec .block2 .box:nth-child(1) {
  background: var(--BGgray_beige, #FAF8F2);
}
.items-price-sec .block2 .box:nth-child(2) {
  background: var(--BGgray, #F5F6F7);
}
.items-price-sec .block2 .box__txt {
  position: relative;
  margin-bottom: 24px;
}
.items-price-sec .block2 .box__txt::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  bottom: -16px;
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 8px solid #1C1C1C;
}
.items-price-sec .block2 .box__txt2 {
  font-size: 13px;
  line-height: 150%;
  margin-top: 8px;
}
.items-price-sec .btn-cta1 a,
.items-price-sec .btn-cta2 a {
  margin: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: left;
  background: var(--accent, #B29358);
  color: var(--white, #FFF);
  font-size: 18px;
  font-weight: 600;
  line-height: 160%;
  width: 330px;
  height: 72px;
  padding: 20px;
  border-radius: 36px;
}
.items-price-sec .btn-cta1 a span,
.items-price-sec .btn-cta2 a span {
  background-image: url(../img/common/icon-mall.png);
  background-size: 36px 32px;
  background-repeat: no-repeat;
  background-position: left center;
  min-height: 32px;
  padding-left: 40px;
}
.items-price-sec .btn-cta2 a span {
  background-image: url(../img/common/icon-pen-black.png);
}
@media screen and (max-width: 767px) {
  .items-price-sec {
    padding-top: 120px;
    padding-bottom: 100px;
  }
  .items-price-sec .sec__head {
    margin-bottom: 55px;
  }
  .items-price-sec .block {
    width: 70%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 60px;
  }
  .items-price-sec .block .box {
    padding-bottom: 4px;
    margin-bottom: 40px;
  }
  .items-price-sec .block .box__ttl {
    margin-bottom: 8px;
  }
  .items-price-sec .txt1 {
    margin-bottom: 8px;
  }
  .items-price-sec .txt2 {
    margin-bottom: 50px;
  }
  .items-price-sec .block2 .box {
    padding: 44px 20px;
    margin-bottom: 24px;
  }
  .items-price-sec .btn-cta1 a,
  .items-price-sec .btn-cta2 a {
    font-size: 1.6rem;
    width: 100%;
    padding: 20px;
  }
}
@media screen and (min-width: 768px) {
  .items-price-sec {
    padding-top: 160px;
    padding-bottom: 160px;
  }
  .items-price-sec .block {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    text-align: center;
  }
  .items-price-sec .block .box {
    width: 22%;
  }
  .items-price-sec .block2 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
    min-height: 240px;
    gap: 40px;
  }
  .items-price-sec .block2 .box {
    width: 480px;
    padding: 44px 75px 40px;
  }
}

/* Page Gifts ================= */
.gifts-fv-sec {
  color: white;
}
.gifts-fv-sec .pagetitle {
  color: white;
  margin-bottom: 14px;
}
.gifts-fv-sec .pagetitle::after {
  content: none;
}
@media screen and (max-width: 767px) {
  .gifts-fv-sec .txt-lead {
    letter-spacing: 1px;
  }
}
.gifts-introduction-sec {
  background-image: url(../img/common/bg1.jpg);
}
.gifts-introduction-sec .sub {
  position: relative;
  color: var(--accent, #B29358);
  font-family: var(--font-min);
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 135%;
}
.gifts-introduction-sec .sub::after {
  content: "";
  position: absolute;
  background-color: var(--accent, #B29358);
  width: 52px;
  height: 1px;
  margin: auto;
  left: 0;
  bottom: -30px;
}
@media screen and (max-width: 767px) {
  .gifts-introduction-sec {
    padding-top: 42.6666666667vw;
    padding-bottom: 32vw;
  }
  .gifts-introduction-sec .sub {
    margin-bottom: 64px;
  }
  .gifts-introduction-sec .txt {
    color: var(--text, #1C1C1C);
    font-size: 1.5rem;
    margin-top: 4.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .gifts-introduction-sec {
    padding-top: 160px;
    padding-bottom: 160px;
  }
  .gifts-introduction-sec .wrapper {
    width: 1000px;
  }
  .gifts-introduction-sec .sub {
    margin-bottom: 96px;
  }
  .gifts-introduction-sec .block {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .gifts-introduction-sec .block .block-left {
    width: 48%;
  }
  .gifts-introduction-sec .block .block-right {
    width: 52%;
  }
  .gifts-introduction-sec .txt {
    color: var(--text, #1C1C1C);
    font-size: 1.6rem;
    line-height: 280%;
  }
}

.gifts-scene-sec .img1 {
  margin-bottom: 47px;
}
.gifts-scene-sec .txt-num {
  position: relative;
  color: var(--accent, #B29358);
  text-align: center;
  font-family: var(--font-en);
  font-size: 24px;
  font-weight: 600;
  line-height: 100%;
  margin-bottom: 80px;
}
.gifts-scene-sec .txt-num::after {
  content: "";
  position: absolute;
  margin: auto;
  left: 0;
  right: 0;
  bottom: -35px;
  width: 52px;
  height: 1px;
  background: #B29358;
}
.gifts-scene-sec .txt-num .num {
  font-size: 40px;
  margin-left: 6px;
}
.gifts-scene-sec .txt-head {
  color: var(--text, #1C1C1C);
  text-align: center;
  font-family: var(--font-min);
  font-size: 28px;
  font-weight: 600;
  line-height: 175%;
  letter-spacing: 2.24px;
  margin-bottom: 13px;
}
.gifts-scene-sec .sec__head {
  color: var(--text, #1C1C1C);
  text-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 2.2rem;
  letter-spacing: 0;
  margin-bottom: 24px;
}
.gifts-scene-sec .sec__head:before, .gifts-scene-sec .sec__head:after {
  content: "";
  width: 24px;
  height: 1px;
  background: var(--accent, #B29358);
  margin: 0 16px;
}
.gifts-scene-sec .txt-lead {
  color: #000;
  font-size: 15px;
  margin-bottom: 48px;
}
.gifts-scene-sec .block-item {
  position: relative;
  background: var(--BGgray_beige, #FAF8F2);
}
.gifts-scene-sec .block__head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 280px;
  height: 48px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: auto;
  margin-right: auto;
  border-radius: 0 0 16px 16px;
  background: var(--accent, #B29358);
  color: #000;
  font-family: var(--font-min);
  font-size: 22px;
  font-weight: 600;
  line-height: 135%;
  margin-bottom: 40px;
}
.gifts-scene-sec .box .ttl {
  text-align: center;
  color: #000;
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 8px;
}
.gifts-scene-sec .box .img {
  margin-bottom: 8px;
}
.gifts-scene-sec .txt-price {
  text-align: center;
  margin-bottom: 8px;
}
.gifts-scene-sec .txt-price .price {
  border-bottom: 1px solid var(--accent, #B29358);
  color: var(--Dgray_2, #3C3C3C);
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  padding-bottom: 5px;
  font-size: 3.4rem;
  font-family: var(--font-min);
  font-weight: 500;
  line-height: 100%;
}
.gifts-scene-sec .txt-price .tax {
  font-size: 1.8rem;
}
.gifts-scene-sec .txt-sub {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 40px;
  color: var(--text, #1C1C1C);
  text-align: center;
  font-size: 15px;
  line-height: 135%;
  margin-bottom: 8px;
}
.gifts-scene-sec .btn a {
  margin: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: left;
  background: var(--accent, #B29358);
  color: var(--white, #FFF);
  font-size: 18px;
  font-weight: 600;
  line-height: 160%;
  max-width: 100%;
  width: 280px;
  height: 64px;
  padding: 20px;
  border-radius: 36px;
}
.gifts-scene-sec .btn a span {
  background-image: url(../img/common/icon-mall.png);
  background-size: 36px 32px;
  background-repeat: no-repeat;
  background-position: left center;
  min-height: 32px;
  padding-left: 40px;
}
@media screen and (max-width: 767px) {
  .gifts-scene-sec {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .gifts-scene-sec .block-item {
    padding-left: 6.4vw;
    padding-right: 6.4vw;
    padding-bottom: 26px;
  }
  .gifts-scene-sec .box {
    margin-bottom: 30px;
  }
}
@media screen and (min-width: 768px) {
  .gifts-scene-sec {
    padding-top: 144px;
    padding-bottom: 144px;
  }
  .gifts-scene-sec .img1 {
    margin-bottom: 88px;
  }
  .gifts-scene-sec .txt-num {
    margin-bottom: 65px;
  }
  .gifts-scene-sec .txt-head {
    font-size: 3.4rem;
    letter-spacing: 2.72px;
    margin-bottom: 16px;
  }
  .gifts-scene-sec .sec__head {
    font-size: 2.8rem;
    letter-spacing: 2.24px;
    margin-bottom: 28px;
  }
  .gifts-scene-sec .sec__head:before, .gifts-scene-sec .sec__head:after {
    width: 40px;
    margin: 0 20px;
  }
  .gifts-scene-sec .txt-lead {
    text-align: center;
    line-height: 240%;
    margin-bottom: 48px;
  }
  .gifts-scene-sec .block-item {
    padding: 0 40px 56px;
  }
  .gifts-scene-sec .block__head {
    width: 320px;
    margin-bottom: 64px;
  }
  .gifts-scene-sec .box-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-left: auto;
    margin-right: auto;
    width: 936px;
  }
  .gifts-scene-sec .box-wrap .box {
    width: 280px;
  }
  .gifts-scene-sec .box-wrap .ttl,
  .gifts-scene-sec .box-wrap .img,
  .gifts-scene-sec .box-wrap .txt-sub {
    margin-bottom: 16px;
  }
  .gifts-scene-sec .btn a {
    margin: auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: left;
    background: var(--accent, #B29358);
    color: var(--white, #FFF);
    font-size: 18px;
    font-weight: 600;
    line-height: 160%;
    max-width: 100%;
    width: 280px;
    height: 64px;
    padding: 20px;
    border-radius: 36px;
  }
  .gifts-scene-sec .btn a span {
    background-image: url(../img/common/icon-mall.png);
    background-size: 36px 32px;
    background-repeat: no-repeat;
    background-position: left center;
    min-height: 32px;
    padding-left: 40px;
  }
}

.gifts-flow-sec {
  background: var(--BGgray, #F5F6F7);
}
.gifts-flow-sec .sec__head {
  color: var(--text, #1C1C1C);
  text-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.gifts-flow-sec .sec__head:before, .gifts-flow-sec .sec__head:after {
  content: "";
  width: 24px;
  height: 1px;
  background: var(--accent, #B29358);
  margin: 0 16px;
}
.gifts-flow-sec .block__head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  border: 1px solid var(--accent, #B29358);
  color: var(--Dgray_2, #3C3C3C);
  font-size: 18px;
  font-weight: 500;
  line-height: 175%;
  width: 212px;
  height: 48px;
  margin: 0 auto 48px;
}
.gifts-flow-sec .block__head.no2 {
  width: 310px;
}
.gifts-flow-sec .box-point {
  background: var(--white, #FFF);
  padding: 24px 20px;
}
.gifts-flow-sec .box-point .ttl {
  color: var(--accent, #B29358);
  text-align: center;
  font-family: var(--font-en);
  font-size: 24px;
  font-style: normal;
  font-weight: 600;
  line-height: 100%;
}
.gifts-flow-sec .btn a {
  margin: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: left;
  background: var(--accent, #B29358);
  color: var(--white, #FFF);
  font-size: 18px;
  font-weight: 600;
  line-height: 160%;
  max-width: 100%;
  width: 330px;
  height: 72px;
  padding: 20px;
  border-radius: 36px;
}
.gifts-flow-sec .btn a span {
  background-image: url(../img/common/icon-mall.png);
  background-size: 36px 32px;
  background-repeat: no-repeat;
  background-position: left center;
  min-height: 32px;
  padding-left: 40px;
}
.gifts-flow-sec .block1 {
  margin-bottom: 48px;
}
.gifts-flow-sec .block1 .box {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid var(--Lgray_2, #C8C8C8);
  color: var(--text, #1C1C1C);
  font-size: 14px;
  padding: 47px 20px 13px;
}
.gifts-flow-sec .block1 .box .ttl {
  background: var(--BGgray, #F5F6F7);
  color: var(--Dgray_2, #3C3C3C);
  text-align: center;
  font-size: 18px;
  font-weight: 500;
  position: absolute;
  margin: auto;
  left: 0;
  right: 0;
  top: -17px;
  width: 276px;
}
.gifts-flow-sec .block1 .box em {
  color: var(--accent_2, #BF1A1A);
  font-size: 18px;
  font-weight: 500;
}
.gifts-flow-sec .block2 .box {
  position: relative;
  color: var(--text, #1C1C1C);
  background-color: var(--BGgray, #F5F6F7);
  font-size: 15px;
  line-height: 175%;
}
.gifts-flow-sec .block2 .num {
  color: var(--accent, #B29358);
  text-align: center;
  font-family: var(--font-min);
  font-size: 40px;
  font-weight: 500;
  line-height: 1;
  margin-bottom: 10px;
}
.gifts-flow-sec .block2 .img {
  width: 120px;
  height: 80px;
  margin-left: auto;
  margin-right: auto;
}
.gifts-flow-sec .block2 .box__ttl {
  color: var(--accent, #B29358);
  text-align: center;
  font-size: 24px;
  font-weight: 600;
  line-height: 160%;
  margin-bottom: 18px;
}
@media screen and (max-width: 767px) {
  .gifts-flow-sec {
    padding-top: 80px;
    padding-bottom: 150px;
  }
  .gifts-flow-sec .sec__head {
    margin-bottom: 46px;
  }
  .gifts-flow-sec .box-point {
    margin-bottom: 48px;
  }
  .gifts-flow-sec .box-point .ttl {
    margin-bottom: 16px;
  }
  .gifts-flow-sec .bubble {
    position: relative;
    border-bottom: 1px solid var(--text, #1C1C1C);
  }
  .gifts-flow-sec .bubble::before, .gifts-flow-sec .bubble::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    border-style: solid;
    border-width: 8px 7px 0 7px;
    border-color: var(--text, #1C1C1C) transparent transparent;
    translate: -50% 100%;
    z-index: 1;
  }
  .gifts-flow-sec .bubble::after {
    border-width: 6.5px 5.7px 0 5.7px;
    border-color: var(--BGgray, #F5F6F7) transparent transparent;
  }
  .gifts-flow-sec .block2 {
    margin-bottom: 80px;
  }
  .gifts-flow-sec .block2 .box-wrap {
    margin-bottom: 50px;
  }
  .gifts-flow-sec .block2 .box {
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 768px) {
  .gifts-flow-sec {
    padding-top: 160px;
    padding-bottom: 50px;
  }
  .gifts-flow-sec .sec__head {
    margin-bottom: 50px;
  }
  .gifts-flow-sec .box-point {
    margin-left: auto;
    margin-right: auto;
    width: 800px;
    padding: 24px 40px;
    margin-bottom: 40px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 48px;
    margin-top: 52px;
    margin-bottom: 40px;
  }
  .gifts-flow-sec .box-point .ttl {
    text-align: right;
  }
  .gifts-flow-sec .block1 {
    margin-bottom: 72px;
  }
  .gifts-flow-sec .block1 .box {
    text-align: center;
    padding: 47px 30px 30px;
  }
  .gifts-flow-sec .block1 .btn {
    margin: 72px auto 40px;
  }
  .gifts-flow-sec .bubble {
    position: relative;
    border-right: 1px solid var(--text, #1C1C1C);
    background-color: var(--BGgray, #F5F6F7);
  }
  .gifts-flow-sec .bubble::before, .gifts-flow-sec .bubble::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    border-style: solid;
    border-width: 7px 0 7px 8px;
    border-color: transparent transparent transparent var(--text, #1C1C1C);
    translate: 100% -50%;
    z-index: 1;
  }
  .gifts-flow-sec .bubble::after {
    border-width: 5.7px 0 5.7px 6.5px;
    border-color: transparent transparent transparent var(--BGgray, #F5F6F7);
  }
  .gifts-flow-sec .block2 {
    margin-bottom: 110px;
  }
  .gifts-flow-sec .block2 .box-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .gifts-flow-sec .block2 .box-wrap .box {
    width: 25%;
    padding-left: 16px;
    padding-right: 16px;
  }
  .gifts-flow-sec .block2 .box-wrap .box .num,
  .gifts-flow-sec .block2 .box-wrap .box .img {
    margin-bottom: 16px;
  }
  .gifts-flow-sec .block2 .box__ttl {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    height: 116px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

/* Page About ================= */
.about-fv-sec .wrapper {
  display: block;
  height: auto;
}
.about-fv-sec .block {
  color: white;
  background-image: url(../img/about/fv-bg.jpg);
  width: 100%;
  height: 436px;
  padding-top: 136px;
  margin-bottom: 30px;
}
.about-fv-sec .pagetitle {
  color: white;
  margin-bottom: 70px;
}
.about-fv-sec .breadcrumb {
  bottom: -26px;
}
@media screen and (max-width: 767px) {
  .about-fv-sec {
    padding-top: 84px;
  }
  .about-fv-sec .block {
    height: 400px;
  }
  .about-fv-sec .txt-lead {
    letter-spacing: 1px;
  }
}
@media screen and (min-width: 768px) {
  .about-fv-sec {
    padding-top: 160px;
  }
}

.about-introduction-sec {
  color: var(--text, #1C1C1C);
}
@media screen and (max-width: 767px) {
  .about-introduction-sec {
    padding-top: 80px;
    padding-bottom: 40px;
  }
  .about-introduction-sec .sec__head {
    font-size: 34px;
    letter-spacing: 1px;
    margin-bottom: 28px;
  }
  .about-introduction-sec .txt {
    font-size: 16px;
    line-height: 175%;
    margin-bottom: 24px;
  }
}
@media screen and (min-width: 768px) {
  .about-introduction-sec {
    padding-top: 160px;
    padding-bottom: 200px;
    background-repeat: no-repeat;
    background-position: center 150px;
    background-image: url(../img/about/introduction-bg.png);
  }
  .about-introduction-sec .sec__head {
    margin-bottom: 28px;
  }
  .about-introduction-sec .txt {
    font-size: 16px;
    line-height: 280%;
  }
}

.about-mission-sec {
  background: var(--Dgray_2, #3C3C3C);
  color: var(--white, #FFF);
}
.about-mission-sec .head-sub .en {
  color: var(--accent, #B29358);
  font-family: var(--font-en);
  font-size: 24px;
  font-weight: 600;
  line-height: 100%;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.about-mission-sec .head-sub .en::after {
  content: "";
  background: #B29358;
  width: 52px;
  height: 1px;
  margin-left: 8px;
}
.about-mission-sec .head-sub .min {
  color: var(--white, #FFF);
  font-family: var(--font-min);
  font-size: 22px;
  font-weight: 600;
  line-height: 135%;
}
@media screen and (max-width: 767px) {
  .about-mission-sec {
    padding-top: 120px;
    padding-bottom: 120px;
  }
  .about-mission-sec .head-sub {
    margin-bottom: 30px;
  }
  .about-mission-sec .head-sub .en {
    margin-bottom: 5px;
  }
  .about-mission-sec .sec__head {
    margin-bottom: 35px;
  }
  .about-mission-sec .txt {
    font-size: 15px;
    line-height: 175%;
  }
  .about-mission-sec .img {
    margin-top: 32px;
    margin-right: -22px;
  }
}
@media screen and (min-width: 768px) {
  .about-mission-sec {
    padding-top: 160px;
    padding-bottom: 160px;
    position: relative;
  }
  .about-mission-sec::after {
    content: "";
    z-index: 1;
    position: absolute;
    top: 160px;
    left: 48%;
    width: 52%;
    height: 560px;
    background-repeat: no-repeat;
    background-position: left center;
    background-size: cover;
    background-image: url(../img/about/mission-img-bg.jpg);
    border-radius: 160px 0 0 160px;
  }
  .about-mission-sec .wrapper {
    position: relative;
    z-index: 2;
    padding-right: 600px;
    min-height: 655px;
    padding-top: 56px;
  }
  .about-mission-sec .head-sub {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 24px;
  }
  .about-mission-sec .head-sub .min {
    margin-left: 10px;
  }
  .about-mission-sec .sec__head {
    margin-bottom: 46px;
  }
  .about-mission-sec .txt {
    font-size: 15px;
    line-height: 240%;
    width: 320px;
  }
  .about-mission-sec .img {
    width: 400px;
    position: absolute;
    left: 453px;
    bottom: 0;
  }
}

.about-history-sec {
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(../img/about/history-bg_sp.jpg);
}
.about-history-sec .head-sub .en {
  color: var(--accent, #B29358);
  font-family: var(--font-en);
  font-size: 24px;
  font-weight: 600;
  line-height: 100%;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.about-history-sec .head-sub .en::after {
  content: "";
  background: #B29358;
  width: 52px;
  height: 1px;
  margin-left: 8px;
}
.about-history-sec .head-sub .min {
  font-family: var(--font-min);
  font-size: 22px;
  font-weight: 600;
  line-height: 135%;
}
.about-history-sec .list-history li {
  position: relative;
  padding-left: 82px;
  color: var(--text, #1C1C1C);
  font-size: 15px;
  line-height: 175%;
  margin-bottom: 16px;
}
.about-history-sec .list-history li::before {
  content: "";
  position: absolute;
  left: 62px;
  top: 14px;
  fill: var(--accent, #B29358);
  background-color: var(--accent, #B29358);
  width: 10px;
  height: 10px;
  border-radius: 50%;
}
.about-history-sec .list-history li:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 66px;
  top: 15px;
  fill: var(--accent, #B29358);
  background-color: var(--accent, #B29358);
  width: 1px;
  height: 130%;
}
.about-history-sec .list-history li time {
  position: absolute;
  left: 0;
}
.about-history-sec time {
  color: var(--accent, #B29358);
  font-family: var(--font-en);
  font-size: 48px;
  font-size: 28px;
  font-weight: 300;
  line-height: 100%;
}
.about-history-sec em {
  color: var(--accent, #B29358);
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .about-history-sec {
    padding-top: 120px;
    padding-bottom: 104px;
  }
  .about-history-sec .head-sub {
    margin-bottom: 30px;
  }
  .about-history-sec .head-sub .en {
    margin-bottom: 5px;
  }
  .about-history-sec .sec__head {
    margin-bottom: 35px;
  }
}
@media screen and (min-width: 768px) {
  .about-history-sec {
    padding-top: 160px;
    padding-bottom: 130px;
    background-image: url(../img/about/history-bg.jpg);
  }
  .about-history-sec .head-sub {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 74px;
  }
  .about-history-sec .head-sub .min {
    margin-left: 10px;
  }
  .about-history-sec .sec__head {
    margin-bottom: 46px;
  }
  .about-history-sec .list-history li {
    padding-left: 160px;
    font-size: 16px;
    margin-bottom: 43px;
  }
  .about-history-sec .list-history li::before {
    left: 119px;
    top: 14px;
  }
  .about-history-sec .list-history li:not(:last-child)::after {
    left: 124px;
    top: 15px;
    height: 260%;
  }
  .about-history-sec .list-history li time {
    top: -10px;
  }
  .about-history-sec time {
    font-size: 48px;
  }
  .about-history-sec em {
    font-size: 18px;
  }
}

.about-company-sec .sec__head-sub {
  color: var(--accent, #B29358);
  font-family: var(--font-en);
  font-size: 24px;
  font-weight: 600;
  line-height: 135%;
  margin-bottom: 10px;
}
.about-company-sec table {
  width: 100%;
  border-top: 1px solid var(--Lgray_1, #E8E8E8);
}
.about-company-sec table th,
.about-company-sec table td {
  vertical-align: top;
  text-align: left;
  font-size: 15px;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .about-company-sec {
    padding-top: 120px;
    padding-bottom: 120px;
  }
  .about-company-sec .sec__head {
    margin-bottom: 20px;
  }
  .about-company-sec table tr,
  .about-company-sec table th,
  .about-company-sec table td {
    display: block;
  }
  .about-company-sec table th {
    padding-top: 16px;
  }
  .about-company-sec table td {
    padding-bottom: 16px;
    border-bottom: 1px solid var(--Lgray_1, #E8E8E8);
  }
}
@media screen and (min-width: 768px) {
  .about-company-sec {
    padding-top: 200px;
    padding-bottom: 170px;
  }
  .about-company-sec .sec__head {
    font-size: 2.8rem;
  }
  .about-company-sec .block {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .about-company-sec .block .block__left {
    width: 200px;
  }
  .about-company-sec .block .block__right {
    width: 840px;
  }
  .about-company-sec table th,
  .about-company-sec table td {
    border-bottom: 1px solid var(--Lgray_1, #E8E8E8);
    padding-top: 24px;
    padding-bottom: 24px;
  }
  .about-company-sec table th {
    width: 200px;
    padding-right: 1em;
  }
}


/* Page About ================= */
.about-fv-sec .wrapper {
  display: block;
  height: auto;
}
.about-fv-sec .block {
  color: white;
  background-image: url(../img/about/fv-bg.jpg);
  width: 100%;
  height: 436px;
  padding-top: 136px;
  margin-bottom: 30px;
}
.about-fv-sec .pagetitle {
  color: white;
  margin-bottom: 70px;
}
.about-fv-sec .breadcrumb {
  bottom: -26px;
}
@media screen and (max-width: 767px) {
  .about-fv-sec {
    padding-top: 84px;
  }
  .about-fv-sec .block {
    height: 400px;
  }
  .about-fv-sec .txt-lead {
    letter-spacing: 1px;
  }
}
@media screen and (min-width: 768px) {
  .about-fv-sec {
    padding-top: 160px;
  }
}

.about-introduction-sec {
  color: var(--text, #1C1C1C);
}
@media screen and (max-width: 767px) {
  .about-introduction-sec {
    padding-top: 80px;
    padding-bottom: 40px;
  }
  .about-introduction-sec .sec__head {
    font-size: 34px;
    letter-spacing: 1px;
    margin-bottom: 28px;
  }
  .about-introduction-sec .txt {
    font-size: 16px;
    line-height: 175%;
    margin-bottom: 24px;
  }
}
@media screen and (min-width: 768px) {
  .about-introduction-sec {
    padding-top: 160px;
    padding-bottom: 200px;
    background-repeat: no-repeat;
    background-position: center 150px;
    background-image: url(../img/about/introduction-bg.png);
  }
  .about-introduction-sec .sec__head {
    margin-bottom: 28px;
  }
  .about-introduction-sec .txt {
    font-size: 16px;
    line-height: 280%;
  }
}

.about-mission-sec {
  background: var(--Dgray_2, #3C3C3C);
  color: var(--white, #FFF);
}
.about-mission-sec .head-sub .en {
  color: var(--accent, #B29358);
  font-family: var(--font-en);
  font-size: 24px;
  font-weight: 600;
  line-height: 100%;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.about-mission-sec .head-sub .en::after {
  content: "";
  background: #B29358;
  width: 52px;
  height: 1px;
  margin-left: 8px;
}
.about-mission-sec .head-sub .min {
  color: var(--white, #FFF);
  font-family: var(--font-min);
  font-size: 22px;
  font-weight: 600;
  line-height: 135%;
}
@media screen and (max-width: 767px) {
  .about-mission-sec {
    padding-top: 120px;
    padding-bottom: 120px;
  }
  .about-mission-sec .head-sub {
    margin-bottom: 30px;
  }
  .about-mission-sec .head-sub .en {
    margin-bottom: 5px;
  }
  .about-mission-sec .sec__head {
    margin-bottom: 35px;
  }
  .about-mission-sec .txt {
    font-size: 15px;
    line-height: 175%;
  }
  .about-mission-sec .img {
    margin-top: 32px;
    margin-right: -22px;
  }
}
@media screen and (min-width: 768px) {
  .about-mission-sec {
    padding-top: 160px;
    padding-bottom: 160px;
    position: relative;
  }
  .about-mission-sec::after {
    content: "";
    z-index: 1;
    position: absolute;
    top: 160px;
    left: 48%;
    width: 52%;
    height: 560px;
    background-repeat: no-repeat;
    background-position: left center;
    background-size: cover;
    background-image: url(../img/about/mission-img-bg.jpg);
    border-radius: 160px 0 0 160px;
  }
  .about-mission-sec .wrapper {
    position: relative;
    z-index: 2;
    padding-right: 600px;
    min-height: 655px;
    padding-top: 56px;
  }
  .about-mission-sec .head-sub {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 24px;
  }
  .about-mission-sec .head-sub .min {
    margin-left: 10px;
  }
  .about-mission-sec .sec__head {
    margin-bottom: 46px;
  }
  .about-mission-sec .txt {
    font-size: 15px;
    line-height: 240%;
    width: 320px;
  }
  .about-mission-sec .img {
    width: 400px;
    position: absolute;
    left: 453px;
    bottom: 0;
  }
}

.about-history-sec {
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(../img/about/history-bg_sp.jpg);
}
.about-history-sec .head-sub .en {
  color: var(--accent, #B29358);
  font-family: var(--font-en);
  font-size: 24px;
  font-weight: 600;
  line-height: 100%;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.about-history-sec .head-sub .en::after {
  content: "";
  background: #B29358;
  width: 52px;
  height: 1px;
  margin-left: 8px;
}
.about-history-sec .head-sub .min {
  font-family: var(--font-min);
  font-size: 22px;
  font-weight: 600;
  line-height: 135%;
}
.about-history-sec .list-history li {
  position: relative;
  padding-left: 82px;
  color: var(--text, #1C1C1C);
  font-size: 15px;
  line-height: 175%;
  margin-bottom: 16px;
}
.about-history-sec .list-history li::before {
  content: "";
  position: absolute;
  left: 62px;
  top: 14px;
  fill: var(--accent, #B29358);
  background-color: var(--accent, #B29358);
  width: 10px;
  height: 10px;
  border-radius: 50%;
}
.about-history-sec .list-history li:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 66px;
  top: 15px;
  fill: var(--accent, #B29358);
  background-color: var(--accent, #B29358);
  width: 1px;
  height: 130%;
}
.about-history-sec .list-history li time {
  position: absolute;
  left: 0;
}
.about-history-sec time {
  color: var(--accent, #B29358);
  font-family: var(--font-en);
  font-size: 48px;
  font-size: 28px;
  font-weight: 300;
  line-height: 100%;
}
.about-history-sec em {
  color: var(--accent, #B29358);
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .about-history-sec {
    padding-top: 120px;
    padding-bottom: 104px;
  }
  .about-history-sec .head-sub {
    margin-bottom: 30px;
  }
  .about-history-sec .head-sub .en {
    margin-bottom: 5px;
  }
  .about-history-sec .sec__head {
    margin-bottom: 35px;
  }
}
@media screen and (min-width: 768px) {
  .about-history-sec {
    padding-top: 160px;
    padding-bottom: 130px;
    background-image: url(../img/about/history-bg.jpg);
  }
  .about-history-sec .head-sub {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 74px;
  }
  .about-history-sec .head-sub .min {
    margin-left: 10px;
  }
  .about-history-sec .sec__head {
    margin-bottom: 46px;
  }
  .about-history-sec .list-history li {
    padding-left: 160px;
    font-size: 16px;
    margin-bottom: 43px;
  }
  .about-history-sec .list-history li::before {
    left: 119px;
    top: 14px;
  }
  .about-history-sec .list-history li:not(:last-child)::after {
    left: 124px;
    top: 15px;
    height: 260%;
  }
  .about-history-sec .list-history li time {
    top: -10px;
  }
  .about-history-sec time {
    font-size: 48px;
  }
  .about-history-sec em {
    font-size: 18px;
  }
}

.about-company-sec .sec__head-sub {
  color: var(--accent, #B29358);
  font-family: var(--font-en);
  font-size: 24px;
  font-weight: 600;
  line-height: 135%;
  margin-bottom: 10px;
}
.about-company-sec table {
  width: 100%;
  border-top: 1px solid var(--Lgray_1, #E8E8E8);
}
.about-company-sec table th,
.about-company-sec table td {
  vertical-align: top;
  text-align: left;
  font-size: 15px;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .about-company-sec {
    padding-top: 120px;
    padding-bottom: 120px;
  }
  .about-company-sec .sec__head {
    margin-bottom: 20px;
  }
  .about-company-sec table tr,
  .about-company-sec table th,
  .about-company-sec table td {
    display: block;
  }
  .about-company-sec table th {
    padding-top: 16px;
  }
  .about-company-sec table td {
    padding-bottom: 16px;
    border-bottom: 1px solid var(--Lgray_1, #E8E8E8);
  }
}
@media screen and (min-width: 768px) {
  .about-company-sec {
    padding-top: 200px;
    padding-bottom: 170px;
  }
  .about-company-sec .sec__head {
    font-size: 2.8rem;
  }
  .about-company-sec .block {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .about-company-sec .block .block__left {
    width: 200px;
  }
  .about-company-sec .block .block__right {
    width: 840px;
  }
  .about-company-sec table th,
  .about-company-sec table td {
    border-bottom: 1px solid var(--Lgray_1, #E8E8E8);
    padding-top: 24px;
    padding-bottom: 24px;
  }
  .about-company-sec table th {
    width: 200px;
    padding-right: 1em;
  }
}


/* Page Business ================= */
.business-fv-sec .wrapper {
  display: block;
  height: auto;
}
.business-fv-sec .block {
  color: #000;
  background-image: url(../img/business/fv-bg.jpg);
  width: 100%;
  height: 436px;
  padding-top: 136px;
  margin-bottom: 30px;
}
.business-fv-sec .pagetitle {
  color: #B29358;
  margin-bottom: 70px;
}
.business-fv-sec .breadcrumb {
  bottom: -26px;
}
@media screen and (max-width: 767px) {
  .business-fv-sec {
    padding-top: 84px;
  }
  .business-fv-sec .block {
    height: 400px;
  }
  .business-fv-sec .txt-lead {
    letter-spacing: 1px;
  }
}
@media screen and (min-width: 768px) {
  .business-fv-sec {
    padding-top: 160px;
  }
}

.business-introduction-sec {
  color: var(--text, #1C1C1C);
}
@media screen and (max-width: 767px) {
  .business-introduction-sec {
    padding-top: 80px;
    padding-bottom: 40px;
  }
  .business-introduction-sec .sec__head {
    font-size: 34px;
    letter-spacing: 1px;
    margin-bottom: 28px;
  }
  .business-introduction-sec .txt {
    font-size: 16px;
    line-height: 175%;
    margin-bottom: 24px;
  }
}
@media screen and (min-width: 768px) {
  .business-introduction-sec {
    padding-top: 160px;
    padding-bottom: 200px;
    background-repeat: no-repeat;
    background-position: center 150px;
    background-image: url(../img/business/introduction-bg.png);
  }
  .business-introduction-sec .sec__head {
    margin-bottom: 28px;
  }
  .business-introduction-sec .txt {
    font-size: 16px;
    line-height: 280%;
  }
}


.business-category-sec{
  display:grid;
  grid-template-columns: 1fr 1fr;
  max-width: 1080px;     /* width固定→max-widthに */
  width: 100%;
  margin: 0 auto;
}

.business-category-sec__item{
  position:relative;
  min-height:520px;
  overflow:hidden;
}

.business-category-sec__item--image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.business-category-sec__item--text{
  display:flex;
  align-items:center;
  background:#f7f7f7;
}

.business-category-sec__inner{
  width:80%;
  max-width:520px;
  margin:auto;
}

.business-category-sec__title{
  font-size:28px;
  letter-spacing:.12em;
  margin-bottom:18px;
  font-weight: bold;
}

.business-category-sec__lead{
  font-size:14px;
  color:#a8873a;
  margin-bottom:22px;
  letter-spacing:.05em;
  padding: 0 0 7px;
  border-bottom: 1px solid rgba(191,167,109,.9);
}

.business-category-sec__text{
  font-size:14px;
  line-height:2.0;
}

@media (max-width: 768px){
  .business-category-sec{
    grid-template-columns: 1fr;
  }
  .business-category-sec__item{
    min-height: auto;
  }
  .business-category-sec__item--image img{
    height:auto;
    aspect-ratio: 1 / 1;  /* 高さ調整したいなら 4/3 などに */
    object-fit:cover;
  }
  .business-category-sec__item--text{
    align-items:flex-start;
    padding: 50px 0 50px;
  }
  .business-category-sec__item:nth-child(1){ order: 1; } /* img02 */
  .business-category-sec__item:nth-child(2){ order: 2; } /* text モノ */

  .business-category-sec__item:nth-child(4){ order: 3; } /* img03 */
  .business-category-sec__item:nth-child(3){ order: 4; } /* text しるし */

  .business-category-sec__item:nth-child(5){ order: 5; } /* img04 */
  .business-category-sec__item:nth-child(6){ order: 6; } /* text 表現 */

  .business-category-sec__item:nth-child(8){ order: 7; } /* img05 */
  .business-category-sec__item:nth-child(7){ order: 8; } /* text 可能性 */
}

.business-partner-sec{
  margin: 150px 0;
}
.business-partner-sec__frame{
  max-width:1080px;
  width:90%;
  margin:0 auto;
  border:1px solid #cfcfcf;
  padding:40px;
  min-inline-size: 0;
}
.business-partner-sec__legend{
  padding:0 18px;
  margin:0 auto;  
  font-size:18px;
  font-weight:600;
  letter-spacing:.12em;
  background:#fff;
}
.business-partner-sec__list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:18px 34px; 
  font-size:14px;
  line-height:2.0;
}
.business-partner-sec__list li{
  white-space:nowrap; 
}

@media (max-width:768px){
  .business-partner-sec{
    margin: 50px 0;
  }
  .business-partner-sec__frame{
    padding:20px;
  }
  .business-partner-sec__legend{
    font-size:16px;
    padding:0 14px;
  }
  /* SPは縦1列で中央寄せ（画像っぽく） */
  .business-partner-sec__list{
    display:block;
    text-align:center;
    font-size:14px;
    line-height:1.5;
  }
  .business-partner-sec__list li{
    white-space:normal;
    margin:10px 0;
  }
}

.business-contact-sec{
  background:#f7f7f7;
  padding:100px 0 120px;
  text-align:center;
}
.business-contact-sec__inner{
  max-width:1080px;
  width:90%;
  margin:0 auto;
}
.business-contact-sec__en{
  font-size:20px;
  color:#bfa76d;
  margin-bottom:25px;
  position:relative;
}
.business-contact-sec__en::after{
  content:"";
  display:block;
  width:60px;
  height:1px;
  background:#bfa76d;
  margin:12px auto 0;
}
.business-contact-sec__title{
  font-size:32px;
  margin-bottom:18px;
  font-weight: bold;
}
.business-contact-sec__lead{
  font-size:18px;
  margin-bottom:10px;
  font-weight:600;
}
.business-contact-sec__text{
  font-size:14px;
  margin-bottom:60px;
}
.business-contact-sec__boxwrap{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
}
.business-contact-sec__box{
  background:#fff;
  padding:45px 40px 50px;
}
.business-contact-sec__box-title{
  font-size:18px;
  margin-bottom:25px;
  padding-bottom:15px;
  border-bottom:1px solid #ddd;
  font-weight:600;
}
.business-contact-sec__tel{
  font-size:28px;
  margin:20px 0 10px;
}
.business-contact-sec__time{
  font-size:13px;
}
.business-contact-sec__btn{
  display:inline-block;
  margin-top:20px;
  padding:16px 34px;
  border:1px solid #bfa76d;
  color:#333;
  text-decoration:none;
  font-size:14px;
}

@media (max-width:768px){
	
.business-contact-sec{
  padding:70px 0 80px;
}
.business-contact-sec__title{
  font-size:26px;
  line-height:1.4;
}
.business-contact-sec__lead{
  font-size:16px;
}
.business-contact-sec__text{
  margin-bottom:40px;
}
.business-contact-sec__boxwrap{
  grid-template-columns:1fr;
  gap:25px;
}
.business-contact-sec__box{
  padding:35px 25px 40px;
}
.business-contact-sec__tel{
  font-size:24px;
}
}


/* Page Order ================= */
.order-fv-sec {
  color: var(--text, #1C1C1C);
}
.order-fv-sec .wrapper {
  display: block;
  height: auto;
}
.order-fv-sec .block {
  background: var(--BGgray, #F5F6F7);
  width: 100%;
  height: 400px;
  padding-top: 90px;
}
.order-fv-sec .pagetitle {
  margin-bottom: 78px;
}
.order-fv-sec .txt1 {
  text-align: center;
  font-family: var(--font-min);
  font-size: 28px;
  font-weight: 600;
  line-height: 175%;
  letter-spacing: 2.24px;
  margin-bottom: 10px;
}
.order-fv-sec .txt2 {
  font-size: 15px;
  line-height: 175%;
}
@media screen and (max-width: 767px) {
  .order-fv-sec {
    padding-top: 84px;
  }
  .order-fv-sec .block {
    padding-left: 26px;
    padding-right: 26px;
  }
  .order-fv-sec .txt2 {
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .order-fv-sec {
    padding-top: 160px;
  }
  .order-fv-sec .block {
    padding-top: 117px;
    height: 400px;
  }
  .order-fv-sec .pagetitle {
    margin-bottom: 50px;
  }
  .order-fv-sec .txt1 {
    font-size: 3.4rem;
    letter-spacing: 2.72px;
    margin-bottom: 20px;
  }
  .order-fv-sec .txt2 {
    text-align: center;
    font-size: 16px;
  }
}

@media screen and (max-width: 767px) {
  .-sec {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}
@media screen and (min-width: 768px) {
  .-sec {
    padding-top: 160px;
    padding-bottom: 160px;
  }
  .-sec .block {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .-sec .block .block-left {
    width: 50%;
  }
  .-sec .block .block-right {
    width: 50%;
  }
}

@media screen and (max-width: 767px) {
  .-sec {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}
@media screen and (min-width: 768px) {
  .-sec .block {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .-sec .block .block-left {
    width: 50%;
  }
  .-sec .block .block-right {
    width: 50%;
  }
}

@media screen and (max-width: 767px) {
  .-sec {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}
@media screen and (min-width: 768px) {
  .-sec .block {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .-sec .block .block-left {
    width: 50%;
  }
  .-sec .block .block-right {
    width: 50%;
  }
}

@media screen and (min-width: 768px) {
  .-sec .block {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .-sec .block .block-left {
    width: 50%;
  }
  .-sec .block .block-right {
    width: 50%;
  }
}

.order-nav-sec ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.order-nav-sec a {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  padding: 4px 20px 10px 0;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1px solid var(--accent, #B29358);
  color: var(--text, #1C1C1C);
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 175%;
}
.order-nav-sec a::after {
  content: "";
  position: absolute;
  top: -8px;
  bottom: 0;
  margin: auto;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
  width: 6px;
  height: 6px;
  border-width: 2px;
  border-style: solid;
  border-color: #B29358 #B29358 transparent transparent;
  right: 2px;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (max-width: 767px) {
  .order-nav-sec {
    padding-top: 30px;
    padding-bottom: 62px;
  }
  .order-nav-sec ul {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .order-nav-sec li {
    width: 46%;
    margin-bottom: 24px;
  }
  .order-nav-sec a {
    font-size: 1.4rem;
    line-height: 120%;
  }
  .order-nav-sec a::after {
    width: 7px;
    height: 7px;
    right: 2px;
  }
}
@media screen and (min-width: 768px) {
  .order-nav-sec {
    padding-top: 114px;
    padding-bottom: 155px;
    padding-bottom: 105px;
  }
  .order-nav-sec a {
    padding: 4px 46px 10px 0;
  }
}

.order-offer-sec .sec__head {
  color: var(--text, #1C1C1C);
  text-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.order-offer-sec .sec__head:before, .order-offer-sec .sec__head:after {
  content: "";
  width: 24px;
  height: 1px;
  background: var(--accent, #B29358);
  margin: 0 16px;
}
.order-offer-sec .head-sub {
  color: var(--text, #1C1C1C);
  text-align: center;
  font-size: 13px;
  line-height: 150%;
  margin-bottom: 36px;
}
.order-offer-sec .list-detail li {
  border-radius: 8px;
  background: var(--BGgray, #F5F6F7);
  margin-bottom: 24px;
  padding: 16px 32px;
  font-size: 15px;
}
.order-offer-sec .list-detail li:nth-child(5) {
  background: var(--BGgray_beige, #FAF8F2);
}
.order-offer-sec .list-detail .img {
  margin-left: auto;
  margin-right: auto;
  width: 108px;
}
.order-offer-sec .list-detail .ttl {
  color: var(--accent, #B29358);
  font-size: 22px;
  font-weight: 600;
  line-height: 175%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.order-offer-sec .list-detail .ttl .num {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 32px;
  height: 32px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 4px;
  background: var(--accent, #B29358);
  color: var(--white, #FFF);
  text-align: center;
  margin-right: 10px;
}
.order-offer-sec .list-detail .ttl-sub {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 0 8px;
  height: 32px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 4px;
  border: 1px solid var(--accent, #B29358);
  background: var(--white, #FFF);
  color: var(--text, #1C1C1C);
  text-align: center;
  line-height: 1;
  margin-left: 8px;
  font-weight: 500;
}
.order-offer-sec em {
  color: var(--accent_2, #BF1A1A);
  font-size: 18px;
  font-weight: 500;
}
.order-offer-sec .list-format {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.order-offer-sec .list-format li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 4px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  border-radius: 4px;
  background: var(--white, #FFF);
  color: var(--text, #1C1C1C);
  font-size: 13px;
  line-height: 150%;
  margin-right: 4px;
}
@media screen and (max-width: 767px) {
  .order-offer-sec {
    padding-bottom: 20.2666666667vw;
  }
  .order-offer-sec .sec__head {
    margin-bottom: 0px;
  }
  .order-offer-sec .head-sub {
    margin-bottom: 48px;
  }
  .order-offer-sec .list-detail li {
    padding: 24px 6.4vw;
  }
  .order-offer-sec .list-detail .ttl {
    margin-top: 16px;
    margin-bottom: 8px;
  }
  .order-offer-sec .list-format {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 8px;
  }
  .order-offer-sec .list-format li {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding: 4px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 8px;
    border-radius: 4px;
    background: var(--white, #FFF);
    color: var(--text, #1C1C1C);
    font-size: 13px;
    line-height: 150%;
    margin-right: 4px;
    margin-bottom: 0;
  }
}
@media screen and (min-width: 768px) {
  .order-offer-sec {
    padding-top: 50px;
    padding-bottom: 138px;
    padding-bottom: 88px;
  }
  .order-offer-sec .sec__head {
    margin-bottom: 0px;
  }
  .order-offer-sec .list-detail {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .order-offer-sec .list-detail li {
    width: 49%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0;
  }
  .order-offer-sec .list-detail li .img {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    width: 32%;
    padding: 30px;
  }
  .order-offer-sec .list-detail li .box-text {
    width: 68%;
    padding: 50px 50px 54px 0;
  }
  .order-offer-sec .list-detail .ttl {
    font-size: 22px;
    margin-bottom: 8px;
  }
  .order-offer-sec .list-detail .ttl .num {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 32px;
    height: 32px;
    margin-right: 10px;
  }
  .order-offer-sec .list-detail .ttl-sub {
    font-size: 18px;
  }
  .order-offer-sec .list-detail .list-format li {
    width: auto;
    padding: 4px;
  }
}

.order-price-sec {
  text-align: center;
}
.order-price-sec .sec__head {
  color: var(--text, #1C1C1C);
  text-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 24px;
}
.order-price-sec .sec__head:before, .order-price-sec .sec__head:after {
  content: "";
  width: 24px;
  height: 1px;
  background: var(--accent, #B29358);
  margin: 0 16px;
}
.order-price-sec .txt-price {
  border-bottom: 1px solid var(--accent, #B29358);
  color: var(--Dgray_2, #3C3C3C);
  font-size: 5.6rem;
  font-family: var(--font-min);
  font-weight: 500;
  line-height: 100%;
  padding-bottom: 4px;
  width: 290px;
  margin-left: auto;
  margin-right: auto;
}
.order-price-sec .tax {
  font-size: 2.8rem;
}
.order-price-sec .box {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid var(--Lgray_2, #C8C8C8);
  background-color: white;
  color: var(--text, #1C1C1C);
  font-size: 14px;
  padding: 70px 20px 70px;
}
.order-price-sec .box .ttl {
  position: absolute;
  margin: auto;
  left: 0;
  right: 0;
  top: -20px;
  color: var(--Dgray_2, #3C3C3C);
  text-align: center;
  font-size: 18px;
  font-weight: 500;
  background-color: white;
  width: 120px;
  padding: 4px 8px;
}
.order-price-sec .box .img {
  width: 215px;
  margin: auto;
}
@media screen and (max-width: 767px) {
  .order-price-sec {
    padding-bottom: 21.3333333333vw;
  }
  .order-price-sec .sec__head {
    font-size: 2.8rem;
    margin-bottom: 22px;
  }
  .order-price-sec .txt-price {
    margin-bottom: 28px;
  }
  .order-price-sec .txt1 {
    text-align: left;
    margin-bottom: 22px;
  }
}
@media screen and (min-width: 768px) {
  .order-price-sec {
    padding-top: 50px;
    padding-bottom: 110px;
  }
  .order-price-sec .sec__head {
    margin-bottom: 14px;
  }
  .order-price-sec .txt-price {
    margin-bottom: 22px;
  }
  .order-price-sec .txt1 {
    margin-bottom: 50px;
  }
  .order-price-sec .box {
    display: block;
    width: 800px;
    height: 200px;
    margin: auto;
    padding: 34px 20px 26px;
    font-size: 16px;
  }
  .order-price-sec .box .img {
    width: 424px;
    margin: auto;
  }
  .order-price-sec .box .txt2 {
    margin-bottom: 6px;
  }
  .order-price-sec .box .txt3 {
    margin-top: 30px;
  }
}

.order-option-sec .sec__head {
  color: var(--text, #1C1C1C);
  text-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.order-option-sec .sec__head:before, .order-option-sec .sec__head:after {
  content: "";
  width: 24px;
  height: 1px;
  background: var(--accent, #B29358);
  margin: 0 16px;
}
.order-option-sec .head-sub {
  color: var(--text, #1C1C1C);
  text-align: center;
  font-size: 13px;
  line-height: 150%;
  margin-bottom: 36px;
}
.order-option-sec .list-detail {
  background: var(--BGgray, #F5F6F7);
  padding: 16px 16px 1px;
}
.order-option-sec .list-detail li {
  border-radius: 8px;
  background: var(--white, #FFF);
  margin-bottom: 24px;
  padding: 16px 32px;
  font-size: 15px;
}
.order-option-sec .list-detail .img {
  margin-left: auto;
  margin-right: auto;
}
.order-option-sec .list-detail .img1 {
  width: 108px;
}
.order-option-sec .list-detail .img2 {
  width: 118px;
}
.order-option-sec .list-detail .img3 {
  width: 108px;
}
.order-option-sec .list-detail .img4 {
  width: 102px;
}
.order-option-sec .list-detail .ttl {
  color: var(--accent, #B29358);
  font-size: 24px;
  font-weight: 600;
  line-height: 175%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.order-option-sec .list-detail .ttl .ttl-sub {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 4px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 4px;
  background: var(--BGgray, #F5F6F7);
  color: var(--text, #1C1C1C);
  font-size: 13px;
  font-weight: 400;
  line-height: 150%;
  margin-left: 8px;
}
.order-option-sec .list-detail em {
  color: var(--accent_2, #BF1A1A);
  font-size: 18px;
  font-weight: 500;
}
.order-option-sec .list-detail .txt-price {
  text-align: center;
  margin-top: 10px;
}
.order-option-sec .list-detail .txt-price .in {
  display: inline-block;
  background: var(--accent, #B29358);
  color: var(--white, #FFF);
  text-align: center;
  font-size: 14px;
  font-weight: 500;
  line-height: 175%;
  border-radius: 4px;
  padding: 3px 6px;
}
.order-option-sec .list-detail .txt-price .price {
  font-size: 18px;
  font-weight: 600;
  line-height: 120%;
}
@media screen and (max-width: 767px) {
  .order-option-sec {
    padding-bottom: 80px;
  }
  .order-option-sec .head-sub {
    margin-bottom: 30px;
  }
  .order-option-sec .list-detail li {
    padding: 24px 20px;
    margin-bottom: 16px;
  }
  .order-option-sec .list-detail .img {
    margin-bottom: 16px;
  }
  .order-option-sec .list-detail .ttl {
    margin-top: 16px;
    margin-bottom: 8px;
  }
}
@media screen and (min-width: 768px) {
  .order-option-sec {
    padding-top: 50px;
    padding-bottom: 110px;
  }
  .order-option-sec .head-sub {
    margin-bottom: 30px;
  }
  .order-option-sec .list-detail {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    padding: 48px 54px 4px;
  }
  .order-option-sec .list-detail li {
    width: 47.7%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0;
    margin-bottom: 44px;
  }
  .order-option-sec .list-detail li .img {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    width: 36%;
    padding: 30px;
  }
  .order-option-sec .list-detail li .box-text {
    width: 64%;
    padding: 30px 30px 30px 0;
  }
  .order-option-sec .list-detail .ttl {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin-bottom: 6px;
  }
  .order-option-sec .list-detail .txt-price {
    text-align: left;
  }
}

.order-flow-sec .sec__head {
  color: var(--text, #1C1C1C);
  text-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 50px;
}
.order-flow-sec .sec__head:before, .order-flow-sec .sec__head:after {
  content: "";
  width: 24px;
  height: 1px;
  background: var(--accent, #B29358);
  margin: 0 16px;
}
.order-flow-sec .box {
  position: relative;
  color: var(--text, #1C1C1C);
  font-size: 15px;
  line-height: 175%;
}
.order-flow-sec .num {
  color: var(--accent, #B29358);
  text-align: center;
  font-family: var(--font-min);
  font-size: 40px;
  font-weight: 500;
  line-height: 175%;
  line-height: 1.2;
}
.order-flow-sec .img {
  width: 120px;
  height: 80px;
  margin-left: auto;
  margin-right: auto;
}
.order-flow-sec .box__ttl {
  color: var(--accent, #B29358);
  text-align: center;
  font-size: 24px;
  font-weight: 600;
  line-height: 160%;
}
.order-flow-sec .txt-period {
  text-align: center;
}
.order-flow-sec .txt-period span {
  padding: 4px;
  border-radius: 4px;
  background: var(--BGgray, #F5F6F7);
  color: var(--text, #1C1C1C);
  font-size: 13px;
  line-height: 150%;
}
.order-flow-sec .txt-period span.bold {
  color: var(--accent_2, #BF1A1A);
  font-size: 14px;
  font-weight: 600;
  line-height: 120%;
}
@media screen and (max-width: 767px) {
  .order-flow-sec {
    padding-bottom: 60px;
  }
  .order-flow-sec .sec__head {
    margin-bottom: 12px;
  }
  .order-flow-sec .box {
    padding: 16px;
  }
  .order-flow-sec .bubble {
    position: relative;
    border-bottom: 1px solid var(--text, #1C1C1C);
  }
  .order-flow-sec .bubble::before, .order-flow-sec .bubble::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    border-style: solid;
    border-width: 8px 7px 0 7px;
    border-color: var(--text, #1C1C1C) transparent transparent;
    translate: -50% 100%;
    z-index: 1;
  }
  .order-flow-sec .bubble::after {
    border-width: 6.5px 5.7px 0 5.7px;
    border-color: var(--BGgray, #F5F6F7) transparent transparent;
  }
  .order-flow-sec .box .num,
  .order-flow-sec .box .img,
  .order-flow-sec .box .box__inner,
  .order-flow-sec .box .box__ttl {
    margin-bottom: 8px;
  }
}
@media screen and (min-width: 768px) {
  .order-flow-sec {
    padding-top: 50px;
    padding-bottom: 160px;
  }
  .order-flow-sec .box-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .order-flow-sec .box-wrap .box {
    width: 25%;
  }
  .order-flow-sec .bubble {
    position: relative;
    border-right: 1px solid var(--text, #1C1C1C);
  }
  .order-flow-sec .bubble::before, .order-flow-sec .bubble::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    border-style: solid;
    border-width: 7px 0 7px 8px;
    border-color: transparent transparent transparent var(--text, #1C1C1C);
    translate: 100% -50%;
    z-index: 1;
  }
  .order-flow-sec .bubble::after {
    border-width: 5.7px 0 5.7px 6.5px;
    border-color: transparent transparent transparent #fff;
  }
  .order-flow-sec .box {
    padding-left: 16px;
    padding-right: 16px;
  }
  .order-flow-sec .box .num,
  .order-flow-sec .box .img,
  .order-flow-sec .box .box__inner {
    margin-bottom: 16px;
  }
  .order-flow-sec .box__inner {
    height: 112px;
  }
  .order-flow-sec .box__ttl {
    margin-bottom: 4px;
  }
}

.btn-tofrom {
  cursor: pointer;
  display: none;
  text-align: center;
  font-size: 18px;
  font-weight: 600;
  line-height: 120%;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
  position: fixed;
  bottom: 12px;
  right: 12px;
  z-index: 10;
  background-color: var(--accent, #B29358);
  color: var(--white, #FFF);
  width: 120px;
  height: 120px;
  padding-top: 33px;
  border-radius: 50%;
}
.btn-tofrom::after {
  content: "";
  position: absolute;
  margin: auto;
  left: 0;
  right: 0;
  top: 68%;
  width: 24px;
  height: 24px;
  background-image: url(../img/order/arrow_downward_alt.svg);
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.btn-tofrom:hover::after {
  top: 76%;
}
.btn-tofrom.none {
  opacity: 0;
  z-index: -1;
}

.order-form-sec {
  position: relative;
  background: var(--BGgray, #F5F6F7);
  color: var(--text, #1C1C1C);
}
.order-form-sec .form-sec__head {
  color: var(--text, #1C1C1C);
  text-align: center;
  font-size: 28px;
  font-weight: 600;
  line-height: 150%;
  margin-bottom: 50px;
}
.order-form-sec .txt-lead {
  text-align: right;
  font-size: 12px;
  margin-bottom: 12px;
}
.order-form-sec .txt-lead span {
  color: red;
}
.order-form-sec aside .txt-price {
  color: var(--accent, #B29358);
  font-size: 16px;
  font-size: 28px;
  font-weight: 600;
}
.order-form-sec aside .txt-price .tax {
  font-size: 16px;
  font-weight: 400;
}
.order-form-sec aside input[type=submit] {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 174px;
  height: 64px;
  padding: 18px 16px 18px 14px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 4px;
  background: var(--accent, #B29358);
  color: var(--white, #FFF);
  text-align: center;
  font-size: 16px;
  line-height: 175%;
  margin-left: 0;
  margin-right: 0;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.order-form-sec .thanks-box {
  text-align:center; 
}
.order-form-sec .thanks-box h2 {
  margin-bottom:20px; 
  font-size: 26px; 
  font-weight: bold;
}
.order-form-sec aside input[type=submit]:hover {
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  .order-form-sec {
    padding-top: 80px;
  }
  .order-form-sec .wrapper {
    padding-bottom: 80px;
  }
  .order-form-sec aside {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    width: 100%;
    min-height: 216px;
    border-radius: 24px 24px 0 0;
    background: var(--white, #FFF);
    -webkit-box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.07);
            box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.07);
    padding: 14px 20px 20px;
  }
  .order-form-sec aside th,
  .order-form-sec aside td {
    text-align: left;
    border-bottom: 1px solid var(--Lgray_1, #E8E8E8);
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .order-form-sec aside th {
    padding-right: 1em;
  }
  .order-form-sec aside .txt-price {
    margin-top: 10px;
    margin-bottom: 16px;
  }
  .order-form-sec aside .aside__footer {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 1em;
  }
  .order-form-sec .thanks-box h2 {
  font-size: 20px; 
}
}
@media screen and (min-width: 768px) {
  .order-form-sec {
    padding-top: 160px;
    padding-bottom: 160px;
  }
  .order-form-sec .wrapper {
    width: 840px;
    padding: 0;
  }
  .order-form-sec form {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .order-form-sec aside {
    width: 240px;
    height: 364px;
    border-radius: 24px 0 0 24px;
    background: var(--white, #FFF);
    -webkit-box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.07);
            box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.07);
    position: -webkit-sticky;
    position: sticky;
    top: 120px;
    padding: 24px 30px 25px 33px;
  }
  .order-form-sec aside tr,
  .order-form-sec aside th,
  .order-form-sec aside td {
    display: block;
    font-size: 15px;
  }
  .order-form-sec aside th,
  .order-form-sec aside td {
    text-align: left;
  }
  .order-form-sec aside th {
    padding-top: 14px;
  }
  .order-form-sec aside td {
    border-bottom: 1px solid var(--Lgray_1, #E8E8E8);
    padding-bottom: 14px;
  }
  .order-form-sec aside .txt-price {
    margin-top: 10px;
    margin-bottom: 16px;
  }
  .order-form-sec .form-sec__head {
    font-size: 34px;
  }
}

.form-table table {
  width: 100%;
  border-top: 1px solid var(--Lgray_2, #C8C8C8);
  color: var(--text, #1C1C1C);
  font-size: 15px;
  line-height: 135%;
}
.form-table table th,
.form-table table td {
  vertical-align: top;
  text-align: left;
  font-size: 15px;
  font-weight: 400;
  vertical-align: middle;
}
.form-table input[type=text],
.form-table input[type=email],
.form-table input[type=tel],
.form-table input[type=search],
.form-table select,
.form-table textarea {
  border: none;
  background-color: #fff;
  width: 100%;
  padding: 10px;
  font-size: 15px;
}
.form-table input[type=text],
.form-table input[type=email],
.form-table input[type=tel],
.form-table input[type=search],
.form-table select,
.form-table textarea {
  border: none;
  background-color: #fff;
  width: 100%;
  padding: 10px;
  font-size: 15px;
}
.form-table input.black[type=text],
.form-table input.black[type=email],
.form-table input.black[type=tel],
.form-table input.black[type=select],
.form-table input.black[type=search],
.form-table select.black,
.form-table textarea.black {
  background-color: #f5f5f5;
}
.form-table select {
  background-image: url(../img/common/form-select.png);
  background-repeat: no-repeat;
  background-position: right 15px center;
  padding: 16px 10px;
  width: 100%;
}
.form-table input[type=submit] {
  color: white;
  background-color: #ccc;
  width: 100%;
  letter-spacing: 0.1rem;
  width: 250px;
  height: 64px;
  border-radius: 32px;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
}
.form-table input[type=submit]:hover {
  opacity: 0.6;
}
.form-table input[type=submit].form_back {
  background-color: #aaa;
}
.form-table .required {
  position: relative;
}
.form-table .required::after {
  content: "※";
  white-space: nowrap;
  color: red;
  font-size: 15px;
  line-height: 135%;
}
.form-table td.inline li {
  display: inline-block;
}
.form-table .radio_input + label,
.form-table .checkbox_input + label {
  padding: 0px 0px 0px 30px;
  margin-right: 1em;
}
@media screen and (max-width: 767px) {
  .form-table table tr,
  .form-table table th,
  .form-table table td {
    display: block;
  }
  .form-table table th {
    padding-top: 14px;
    padding-bottom: 16px;
  }
  .form-table table td {
    padding-bottom: 16px;
    border-bottom: 1px solid var(--Lgray_2, #C8C8C8);
  }
  .form-table input[type=text],
  .form-table input[type=email],
  .form-table input[type=tel],
  .form-table input[type=search],
  .form-table textarea {
    padding: 16px 10px;
  }
  .form-table textarea {
    height: 240px;
  }
  .form-table input[type=submit] {
    margin-top: 10px;
  }
  .form-table li {
    margin-bottom: 24px;
  }
}
@media screen and (min-width: 768px) {
  .form-table table th,
  .form-table table td {
    border-bottom: 1px solid var(--Lgray_2, #C8C8C8);
    padding-top: 16px;
    padding-bottom: 16px;
  }
  .form-table table th {
    width: 254px;
    padding-right: 1em;
  }
  .form-table input[type=text],
  .form-table input[type=email],
  .form-table input[type=tel],
  .form-table input[type=search],
  .form-table textarea {
    padding: 7px 12px;
    padding: 16px 10px;
  }
  .form-table textarea {
    height: 200px;
  }
  .form-table input[type=submit] {
    font-size: 14px;
    margin-top: 30px;
  }
  .form-table li:not(:last-child) {
    margin-bottom: 16px;
  }
}
.form-table input.age {
  width: 96px;
  margin-right: 18px;
}
.form-table input.postcode {
  width: 160px;
  margin-right: 10px;
}
.form-table .option .in {
  border-radius: 4px;
  background: var(--accent, #B29358);
  padding: 4px 8px;
  color: var(--white, #FFF);
  font-size: 14px;
  font-weight: 500;
  line-height: 120%;
}
.form-table .option .price {
  font-size: 18px;
}
.form-table .button-postcode {
  width: 160px;
  height: 40px;
  border-radius: 8px;
  background: var(--text, #1C1C1C);
  color: var(--white, #FFF);
  font-size: 13px;
  cursor: pointer;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.form-table .button-postcode:hover {
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  .form-table input.kibou {
    margin-top: 20px;
  }
  .form-table .option {
    display: block;
    margin-top: 8px;
  }
  .form-table input.postcode {
    width: 40vw;
  }
  .form-table .button-postcode {
    width: 40vw;
  }
}
@media screen and (min-width: 768px) {
  .form-table input.kibou {
    position: relative;
    top: -20px;
    left: 84px;
    width: 500px;
  }
  .form-table .option {
    margin-left: 10px;
  }
}


/* Page review ================= */
/* ========== section ========== */
.voice{
  background: #ffffff;
  padding: 100px 0;
}

.voice__inner{
  max-width:1080px;
  margin: 0 auto;
}

/* ========== card layout ========== */
.voice-card{
  position: relative;
  display: grid;
}

/* 左右の寄せ（画像の“段違い”感） */
.voice-card.is-left{
  justify-items: start;
}
.voice-card.is-right{
  justify-items: end;
}

/* バッジ（名前ラベル） */
.voice-card__badge{
  display: inline-block;
  margin-bottom: 20px;
  padding: 10px 14px;
  border-radius: 10px;
  background: #ffffff;
  border: 1px solid rgba(0,0,0,.06);
}

/* 吹き出し本体 */
.voice-card__bubble{
  width: min(780px, 100%);
  padding: 22px 26px;
  border-radius: 14px;
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
  position: relative;
  margin-bottom: 50px;
}

/* 背景色（交互） */
.voice-card.is-gray .voice-card__bubble{
  background: #f1f3f4;
}
.voice-card.is-beige .voice-card__bubble{
  background: #fbf6ee;
}

/* 吹き出しの“しっぽ” */
.voice-card.is-left .voice-card__bubble::after{
  content: "";
  position: absolute;
  left: 40px;
  top: -10px;
  width: 18px;
  height: 18px;
  transform: rotate(45deg);
  background: inherit;        /* 背景色を引き継ぐ */
  box-shadow: -6px -6px 18px rgba(0,0,0,.02);
}
.voice-card.is-right .voice-card__bubble::after{
  content: "";
  position: absolute;
  right: 40px;
  top: -10px;
  width: 18px;
  height: 18px;
  transform: rotate(45deg);
  background: inherit;
  box-shadow: 6px -6px 18px rgba(0,0,0,.02);
}

@media (max-width: 768px){
  .voice__inner{
  max-width: 88%;
  }
  .voice-card__bubble{
    padding: 18px 18px;
  }
  .voice-card__badge{
    font-size: 13px;
  }
}


/* ========== pagination ========== */
.pager{
  margin-top: 18px;
  padding-top: 22px;
  border-top: 1px solid rgba(0,0,0,.06);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
}

.pager__arrow{
  width: 46px;
  height: 46px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.18);
  background: #fff;
  color: #555;
  cursor: pointer;
  padding: 8px 0 0 14px;
}

.pager__nums{
  display: flex;
  align-items: center;
  gap: 18px;
}

.pager__num{
  border: 0;
  background: transparent;
  font-size: 14px;
  color: #666;
  cursor: pointer;
  padding: 6px 6px;
  position: relative;
}

/* アクティブ下線（画像の“1に下線”） */
.pager__num.is-active{
  color: #333;
  font-weight: 600;
}
.pager__num.is-active::after{
  content:"";
  position:absolute;
  left: 0;
  right: 0;
  bottom: -6px;
  height: 2px;
  background: rgba(0,0,0,.45);
  border-radius: 2px;
}

.pager__dots{
  color: #888;
  font-size: 14px;
}

/* ========== responsive ========== */
@media (max-width: 768px){
.pager__nums{
  gap: 12px;
}
.pager__nums .pager__num:nth-child(n+4){
  display:none;
}
.pager__nums .pager__dots{
  display:inline;
}
}


/* Page news ================= */
.news{
  padding: 40px 20px 150px;
}

/* ---- category bar ---- */
.news__category{
  max-width: 60%;
  margin: 0 auto 70px;
  display: grid;
  grid-template-columns: 120px 1fr;
  align-items: center;
  column-gap: 30px;
}

.news__category-label{
  font-size: 12px;
}

/* PC: tabs */
.news__category-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  gap: 54px;
}

.news__category-list a{
  display: inline-block;
  padding: 10px 4px 12px;
  font-size: 12px;
  text-decoration: none;
  position: relative;
  white-space: nowrap;
}

.news__category-list a::after{
  content:"";
  position:absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: rgba(0,0,0,.10);
}

.news__category-list a.is-active{
  font-weight: 600;
}

.news__category-list a.is-active::after{
  background: rgba(0,0,0,.35);
}

/* SP用 select はPCでは非表示 */
.news__select-wrap{
  display: none;
}

/* ---- grid ---- */
.news__grid{
  max-width:1080px;
  margin: 50px auto 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 72px 110px; /* 行/列の余白（PCの“広め”感） */
}

/* ---- card ---- */
.news-card{
  display: flex;
  align-items: center;
  gap: 24px;
}

.news-card.is-reverse{
  flex-direction: row-reverse; /* 画像を右へ */
}

.news-card__media{
  flex: 0 0 170px;
  width: 170px;
  height: 170px;
  border-radius: 18px;
  overflow: hidden;
  background: #f3f3f3;
}

.news-card__media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.news-card__body{
  min-width: 0;
}

.news-card__date{
  font-size: 12px;
  color: #b6b6b6;
  margin-bottom: 10px;
}

.news-card__title{
  margin: 0 0 14px;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 600;
}

.news-card__tag{
  display: inline-block;
  padding: 7px 12px;
  font-size: 12px;
  text-decoration: none;
  border-radius: 15px;
  background: #efefef;
}

@media (max-width: 768px){
  .news{
    padding: 24px 18px 70px;
  }

  /* category */
  .news__category{
    max-width: 100%;
    margin: 0 auto 50px;
    grid-template-columns: 1fr; /* ラベル→プルダウン縦並び */
    row-gap: 10px;
    justify-items: start;
  }

  .news__category-list{
    display: none; /* タブは隠す */
  }

  .news__select-wrap{
    display: block; /* プルダウン表示 */
    width: 100%;
    max-width: 100%;
    position: relative;
  }

  .news__select{
    width: 100%;
    font-size: 13px;
    font-weight: 600;
    padding: 12px 38px 12px 0;
    border: 0;
    border-bottom: 1px solid rgba(0,0,0,.35);
    background: transparent;
    appearance: none;
    -webkit-appearance: none;
  }

  /* ▼ */
  .news__select-wrap::after{
    content: "";
    position: absolute;
    right: 6px;
    top: 50%;
    width: 7px;
    height: 7px;
    border-right: 1.5px solid rgba(0,0,0,.55);
    border-bottom: 1.5px solid rgba(0,0,0,.55);
    transform: translateY(-55%) rotate(45deg);
    pointer-events: none;
  }

  /* list */
  .news__grid{
    max-width: 100%;
    grid-template-columns: 1fr; /* 1列 */
    gap: 70px;
  }

  /* card: 縦積み固定（reverseも無効化） */
  .news-card,
  .news-card.is-reverse{
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .news-card__media{
    width: 100%;
    height: 220px;
    flex: none;
    border-radius: 18px;
  }

  .news-card__date{
    margin-top: 4px;
    margin-bottom: 5px;
  }

  .news-card__title{
    margin-bottom: 12px;
  }
}

/* ==================================
  News Detail
================================== */

.news-detail{
  padding: 40px 20px 150px; /* newsと同じ思想 */
}

.news-detail__inner{
  max-width:1080px;       /* 添付PCの“中央寄せ” */
  margin: 0 auto;
}

.news-detail__head{
  margin-bottom: 22px;
}

.news-detail__date{
  font-size: 12px;
  color: #b6b6b6;
  margin-bottom: 5px;
}

.news-detail__title{
  margin: 0 0 14px;
  font-size: 22px;
  line-height: 1.55;
  font-weight: 600;
}

.news-detail__tag{
  display: inline-block;
  padding: 7px 12px;
  font-size: 12px;
  text-decoration: none;
  border-radius: 15px;
  background: #efefef;
}

.news-detail__figure{
  margin: 0 0 28px;
  border-radius: 18px;
  overflow: hidden;
  background: #f3f3f3;
}

.news-detail__figure img{
  width: 100%;
  height: auto;
  display: block;
}

/* body typography */
.news-detail__body h2{
  margin: 20px 0;
  font-size: 20px;
  font-weight: bold;
}

.news-detail__body ul {
  margin: 20px 0 24px;
  padding-left: 0;
  list-style: none;
}

.news-detail__body ul li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 10px;
  line-height: 1.2;
  font-size: 15px;
  color: #333;
}

.news-detail__body ul li::before {
  content: "–";
  position: absolute;
  left: 0;
  top: 0;
  color: #999;
}

/* related */
.news-related{
  margin-top: 44px;
  display: grid;
  grid-template-columns: 56px 1fr 56px;
  align-items: center;
  column-gap: 14px;
}

.news-related__arrow{
  width: 56px;
  height: 56px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.18);
  background: #fff;
  color: #333;
  cursor: pointer;
}

.news-related__items{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

.news-related__item{
  display: flex;
  align-items: center;
  gap: 14px;
  text-decoration: none;
  color: inherit;
}

.news-related__thumb{
  width: 72px;
  height: 72px;
  border-radius: 14px;
  overflow: hidden;
  background: #f3f3f3;
  flex: 0 0 auto;
}

.news-related__thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.news-related__date{
  font-size: 12px;
  color: #b6b6b6;
  margin-bottom: 2px;
}

.news-related__title{
  font-size: 12px;
  line-height: 1.7;
  font-weight: 600;
  margin-bottom: 8px;
}

.news-related__tag{
  display: inline-block;
  padding: 6px 10px;
  font-size: 12px;
  border-radius: 15px;
  background: #efefef;
}

/* back */
.news-detail__back{
  margin-top: 44px;
  display: grid;
  place-items: center;
}

.news-detail__back-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 360px;
  height: 56px;
  border: 1px solid rgba(191,167,109,.9); /* ゴールド寄せ */
  text-decoration: none;
  border-radius: 10px;
  background: #fff;
}

/* SP only */
@media (max-width: 768px){

  .news-detail{
    padding: 24px 18px 70px;
  }

  .news-detail__inner{
    max-width: 100%;
  }

  .news-detail__title{
    font-size: 18px;
    line-height: 1.7;
  }

  .news-detail__figure{
    margin-bottom: 22px;
  }

  /* SPでは related を縦積み（添付SPは下部要素は控えめでOK） */
  .news-related{
    grid-template-columns: 1fr;
    row-gap: 14px;
  }

  .news-related__arrow{
    display: none; /* SPでは矢印を消す（画像のSPはシンプル） */
  }

  .news-related__items{
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .news-detail__back-btn{
    min-width: 100%;
    height: 56px;
  }
}

/* =========================
  FAQ
========================= */

.faq{
  padding: 60px 20px 120px;
}

.faq__inner{
  max-width:1080px;
  margin: 0 auto;
}

.faq__grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 60px;
}

.faq__title{
  width: 100%;
  display: inline-block;
  background: #f2f2f2;
  padding: 16px 22px;
  margin: 0 0 26px;
  color: #333;
  border-radius: 2px;
}

.faq__title-strong{
  font-size: 20px;
  font-weight: bold;
}

.faq__list{
  border-top: 1px solid rgba(0,0,0,.18);
}

/* item */
.faq-item{
  border-bottom: 1px solid rgba(0,0,0,.18);
}

/* question row */
.faq-q{
  width: 100%;
  border: 0;
  background: #fff;
  padding: 18px 18px;
  display: grid;
  grid-template-columns: 26px 1fr 26px;
  align-items: center;
  gap: 14px;
  cursor: pointer;
  text-align: left;
}

.faq-q__q{
  font-size: 20px;
  font-weight: 400;
}

.faq-q__text{
  font-size: 16px;
  line-height: 150%;
  font-weight: 500;
}

.faq-q__icon{
  font-size: 22px;
  line-height: 1;
  color: #333;
  text-align: right;
}

/* answer */
.faq-a{
  display: none;              /* 初期は全部閉じる */
  background: #fff;
}

.faq-a__inner{
  margin: 0 18px 30px 18px;
  padding-left: 18px;
  margin-left: 40px;          /* Qの分だけインデント */
  border-left: 2px solid rgba(191,167,109,.9); /* 金ライン */
  color: #333;
  line-height: 180%;
}

/* open state */
.faq-item.is-open .faq-q__icon{
  content: "";
}

/* SP */
@media (max-width: 768px){
  .faq{
    padding: 40px 18px 80px;
  }
  .faq__inner{
  max-width: 100%;
  }
  
  .faq__title-strong{
  font-size: 18px;
}

  .faq__grid{
    grid-template-columns: 1fr;
    gap: 46px;
  }

  .faq__title{
    width: 100%;
    box-sizing: border-box;
  }

  .faq-q{
    padding: 16px 14px;
	color: #333;
    gap: 12px;
  }

  .faq-a__inner{
    margin: 0 18px 30px 22px;
    padding-left: 28px;
  }
}

/* =========================
  privacy
========================= */

.privacy{
  padding: 100px 20px 100px;
  }
.privacy__inner{
  max-width:1080px;
  margin: 0 auto;
  }
.privacy__inner p{
  margin: 0 0 50px;
  }
.privacy__p_sig{
  text-align: right;
  }
.privacy__inner h1{
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 10px;
  }

@media (max-width: 768px){
.privacy{
  padding: 50px 20px 50px;
  }
.privacy__inner p{
  margin: 0 0 30px;
  }
.privacy__inner h1{
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 5px;
 }
}