@charset "UTF-8";
/*====================================

	/ Ver 1.1 /

====================================*/
/*!
 * Bootstrap Reboot v4.5.0 (https://getbootstrap.com/)
 * Copyright 2011-2020 The Bootstrap Authors
 * Copyright 2011-2020 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
 */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

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

body {
  margin: 0;
  background-color: #fff;
}

[tabindex="-1"]:focus:not(:focus-visible) {
  outline: 0 !important;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 0;
}

p {
  margin-top: 0;
  margin-bottom: 0;
}

abbr[title],
abbr[data-original-title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  cursor: help;
  border-bottom: 0;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
}

address {
  margin-bottom: 0;
  font-style: normal;
  line-height: inherit;
}

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 0;
  padding: 0;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}

li {
  list-style-type: none;
}

dt {
  font-weight: 700;
}

dd {
  margin-bottom: 0;
  margin-left: 0;
}

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 80%;
}

sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  color: #007bff;
  text-decoration: none;
  background-color: transparent;
}

a:hover {
  color: #0056b3;
  text-decoration: underline;
}

a:not([href]) {
  color: inherit;
  text-decoration: none;
}

a:not([href]):hover {
  color: inherit;
  text-decoration: none;
}

pre,
code,
kbd,
samp {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 1em;
}

pre {
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  -ms-overflow-style: scrollbar;
}

figure {
  margin: 0 0 1rem;
}

img {
  vertical-align: middle;
  border-style: none;
}

svg {
  overflow: hidden;
  vertical-align: middle;
}

table {
  border-collapse: collapse;
}

caption {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  color: #6c757d;
  text-align: left;
  caption-side: bottom;
}

th {
  text-align: inherit;
}

label {
  display: inline-block;
  margin-bottom: 0.5rem;
}

button {
  border-radius: 0;
}

button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color;
}

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

[role=button] {
  cursor: pointer;
}

select {
  word-wrap: normal;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
  cursor: pointer;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

input[type=radio],
input[type=checkbox] {
  box-sizing: border-box;
  padding: 0;
}

textarea {
  overflow: auto;
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  font-size: 1.5rem;
  line-height: inherit;
  color: inherit;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  outline-offset: -2px;
  -webkit-appearance: none;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

output {
  display: inline-block;
}

summary {
  display: list-item;
  cursor: pointer;
}

template {
  display: none;
}

[hidden] {
  display: none !important;
}


/*====================================

	/ Base Ver 1.1 /

  ----------------------------------
    Structure
  ----------------------------------

  1. BASE
    1.1 Basic
    1.2 Color
		1.3 Link
		1.4 Font
		1.5 Space
		1.6 Other
  2. COLUMN
	3. LAYOUT

====================================*/
/*-------------------------------

	1. BASE

-------------------------------*/
/*---------- 1.1 Basic ----------*/
html {
  width: 100%;
  overflow-y: scroll;
  overflow-x: hidden;
}

body {
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
}

.template, .single {
  margin-bottom: 100px;
}

/*---------- 1.2 Color ----------*/
body {
  color: #363537;
}

a {
  color: #363537;
}

a:hover {
  color: #363537;
}

/* text */
.text-white {
  color: #fff;
}

.text-primary {
  color: #363537;
}

.text-secondary {
  color: #ffd13d;
}

/* background */
/*---------- 1.3 Link ----------*/
a,
a:hover,
a:visited {
  text-decoration: none;
  box-sizing: border-box;
}

a[href^="tel:"] {
  cursor: default;
}

a.text-white:hover,
a.text-white:visited {
  color: #fff !important;
}

@media screen and (min-width: 1080px) {
  .hov:hover {
    filter: alpha(opacity=70);
    opacity: 0.7;
    transition: 0.3s;
  }
}
/*---------- 1.4 Font ----------*/
html {
  font-size: 62.5%; /*10px*/
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: noto-sans-cjk-jp, "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 400;
}

p, span {
  font-weight: 500;
  line-height: 2.2;
  letter-spacing: 0.01em;
}

.font-weight-100 {
  font-weight: 100 !important;
}

.font-weight-300 {
  font-weight: 300 !important;
}

.font-weight-400 {
  font-weight: 400 !important;
}

.font-weight-500 {
  font-weight: 500 !important;
}

.font-weight-700 {
  font-weight: 700 !important;
}

.font-weight-900 {
  font-weight: 900 !important;
}

.font-italic {
  font-style: italic !important;
}

/* webfonts */
.font-1 {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-weight: 400;
}

.font-1--m {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-weight: 500;
}

/* paragraph */
.display-1 {
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 2;
}

/*---------- 1.5 Space ----------*/
.mt-s-0 {
  margin-top: 0px !important;
}

.mb-s-0 {
  margin-bottom: 0px !important;
}

.mt-s-5 {
  margin-top: 5px !important;
}

.mb-s-5 {
  margin-bottom: 5px !important;
}

.mt-s-10 {
  margin-top: 10px !important;
}

.mb-s-10 {
  margin-bottom: 10px !important;
}

.mt-s-15 {
  margin-top: 15px !important;
}

.mb-s-15 {
  margin-bottom: 15px !important;
}

.mt-s-20 {
  margin-top: 20px !important;
}

.mb-s-20 {
  margin-bottom: 20px !important;
}

.mt-s-25 {
  margin-top: 25px !important;
}

.mb-s-25 {
  margin-bottom: 25px !important;
}

.mt-s-30 {
  margin-top: 30px !important;
}

.mb-s-30 {
  margin-bottom: 30px !important;
}

.mt-s-35 {
  margin-top: 35px !important;
}

.mb-s-35 {
  margin-bottom: 35px !important;
}

.mt-s-40 {
  margin-top: 40px !important;
}

.mb-s-40 {
  margin-bottom: 40px !important;
}

.mt-s-45 {
  margin-top: 45px !important;
}

.mb-s-45 {
  margin-bottom: 45px !important;
}

.mt-s-50 {
  margin-top: 50px !important;
}

.mb-s-50 {
  margin-bottom: 50px !important;
}

.mt-s-55 {
  margin-top: 55px !important;
}

.mb-s-55 {
  margin-bottom: 55px !important;
}

.mt-s-60 {
  margin-top: 60px !important;
}

.mb-s-60 {
  margin-bottom: 60px !important;
}

.mt-s-65 {
  margin-top: 65px !important;
}

.mb-s-65 {
  margin-bottom: 65px !important;
}

.mt-s-70 {
  margin-top: 70px !important;
}

.mb-s-70 {
  margin-bottom: 70px !important;
}

.mt-s-75 {
  margin-top: 75px !important;
}

.mb-s-75 {
  margin-bottom: 75px !important;
}

.mt-s-80 {
  margin-top: 80px !important;
}

.mb-s-80 {
  margin-bottom: 80px !important;
}

.mt-s-85 {
  margin-top: 85px !important;
}

.mb-s-85 {
  margin-bottom: 85px !important;
}

.mt-s-90 {
  margin-top: 90px !important;
}

.mb-s-90 {
  margin-bottom: 90px !important;
}

.mt-s-95 {
  margin-top: 95px !important;
}

.mb-s-95 {
  margin-bottom: 95px !important;
}

.mt-s-100 {
  margin-top: 100px !important;
}

.mb-s-100 {
  margin-bottom: 100px !important;
}

.ml-s-0 {
  margin-left: 0px !important;
}

.mr-s-0 {
  margin-right: 0px !important;
}

.ml-s-5 {
  margin-left: 5px !important;
}

.mr-s-5 {
  margin-right: 5px !important;
}

.ml-s-10 {
  margin-left: 10px !important;
}

.mr-s-10 {
  margin-right: 10px !important;
}

.ml-s-15 {
  margin-left: 15px !important;
}

.mr-s-15 {
  margin-right: 15px !important;
}

.ml-s-20 {
  margin-left: 20px !important;
}

.mr-s-20 {
  margin-right: 20px !important;
}

.ml-s-25 {
  margin-left: 25px !important;
}

.mr-s-25 {
  margin-right: 25px !important;
}

.ml-s-30 {
  margin-left: 30px !important;
}

.mr-s-30 {
  margin-right: 30px !important;
}

.ml-s-35 {
  margin-left: 35px !important;
}

.mr-s-35 {
  margin-right: 35px !important;
}

.ml-s-40 {
  margin-left: 40px !important;
}

.mr-s-40 {
  margin-right: 40px !important;
}

.ml-s-45 {
  margin-left: 45px !important;
}

.mr-s-45 {
  margin-right: 45px !important;
}

.ml-s-50 {
  margin-left: 50px !important;
}

.mr-s-50 {
  margin-right: 50px !important;
}

@media screen and (min-width: 768px) {
  .mt-m-0 {
    margin-top: 0px !important;
  }
  .mb-m-0 {
    margin-bottom: 0px !important;
  }
  .mt-m-5 {
    margin-top: 5px !important;
  }
  .mb-m-5 {
    margin-bottom: 5px !important;
  }
  .mt-m-10 {
    margin-top: 10px !important;
  }
  .mb-m-10 {
    margin-bottom: 10px !important;
  }
  .mt-m-15 {
    margin-top: 15px !important;
  }
  .mb-m-15 {
    margin-bottom: 15px !important;
  }
  .mt-m-20 {
    margin-top: 20px !important;
  }
  .mb-m-20 {
    margin-bottom: 20px !important;
  }
  .mt-m-25 {
    margin-top: 25px !important;
  }
  .mb-m-25 {
    margin-bottom: 25px !important;
  }
  .mt-m-30 {
    margin-top: 30px !important;
  }
  .mb-m-30 {
    margin-bottom: 30px !important;
  }
  .mt-m-35 {
    margin-top: 35px !important;
  }
  .mb-m-35 {
    margin-bottom: 35px !important;
  }
  .mt-m-40 {
    margin-top: 40px !important;
  }
  .mb-m-40 {
    margin-bottom: 40px !important;
  }
  .mt-m-45 {
    margin-top: 45px !important;
  }
  .mb-m-45 {
    margin-bottom: 45px !important;
  }
  .mt-m-50 {
    margin-top: 50px !important;
  }
  .mb-m-50 {
    margin-bottom: 50px !important;
  }
  .mt-m-55 {
    margin-top: 55px !important;
  }
  .mb-m-55 {
    margin-bottom: 55px !important;
  }
  .mt-m-60 {
    margin-top: 60px !important;
  }
  .mb-m-60 {
    margin-bottom: 60px !important;
  }
  .mt-m-65 {
    margin-top: 65px !important;
  }
  .mb-m-65 {
    margin-bottom: 65px !important;
  }
  .mt-m-70 {
    margin-top: 70px !important;
  }
  .mb-m-70 {
    margin-bottom: 70px !important;
  }
  .mt-m-75 {
    margin-top: 75px !important;
  }
  .mb-m-75 {
    margin-bottom: 75px !important;
  }
  .mt-m-80 {
    margin-top: 80px !important;
  }
  .mb-m-80 {
    margin-bottom: 80px !important;
  }
  .mt-m-85 {
    margin-top: 85px !important;
  }
  .mb-m-85 {
    margin-bottom: 85px !important;
  }
  .mt-m-90 {
    margin-top: 90px !important;
  }
  .mb-m-90 {
    margin-bottom: 90px !important;
  }
  .mt-m-95 {
    margin-top: 95px !important;
  }
  .mb-m-95 {
    margin-bottom: 95px !important;
  }
  .mt-m-100 {
    margin-top: 100px !important;
  }
  .mb-m-100 {
    margin-bottom: 100px !important;
  }
  .mt-m-105 {
    margin-top: 105px !important;
  }
  .mb-m-105 {
    margin-bottom: 105px !important;
  }
  .mt-m-110 {
    margin-top: 110px !important;
  }
  .mb-m-110 {
    margin-bottom: 110px !important;
  }
  .mt-m-115 {
    margin-top: 115px !important;
  }
  .mb-m-115 {
    margin-bottom: 115px !important;
  }
  .mt-m-120 {
    margin-top: 120px !important;
  }
  .mb-m-120 {
    margin-bottom: 120px !important;
  }
  .mt-m-125 {
    margin-top: 125px !important;
  }
  .mb-m-125 {
    margin-bottom: 125px !important;
  }
  .mt-m-130 {
    margin-top: 130px !important;
  }
  .mb-m-130 {
    margin-bottom: 130px !important;
  }
  .mt-m-135 {
    margin-top: 135px !important;
  }
  .mb-m-135 {
    margin-bottom: 135px !important;
  }
  .mt-m-140 {
    margin-top: 140px !important;
  }
  .mb-m-140 {
    margin-bottom: 140px !important;
  }
  .mt-m-145 {
    margin-top: 145px !important;
  }
  .mb-m-145 {
    margin-bottom: 145px !important;
  }
  .mt-m-150 {
    margin-top: 150px !important;
  }
  .mb-m-150 {
    margin-bottom: 150px !important;
  }
  .ml-m-0 {
    margin-left: 0px !important;
  }
  .mr-m-0 {
    margin-right: 0px !important;
  }
  .ml-m-5 {
    margin-left: 5px !important;
  }
  .mr-m-5 {
    margin-right: 5px !important;
  }
  .ml-m-10 {
    margin-left: 10px !important;
  }
  .mr-m-10 {
    margin-right: 10px !important;
  }
  .ml-m-15 {
    margin-left: 15px !important;
  }
  .mr-m-15 {
    margin-right: 15px !important;
  }
  .ml-m-20 {
    margin-left: 20px !important;
  }
  .mr-m-20 {
    margin-right: 20px !important;
  }
  .ml-m-25 {
    margin-left: 25px !important;
  }
  .mr-m-25 {
    margin-right: 25px !important;
  }
  .ml-m-30 {
    margin-left: 30px !important;
  }
  .mr-m-30 {
    margin-right: 30px !important;
  }
  .ml-m-35 {
    margin-left: 35px !important;
  }
  .mr-m-35 {
    margin-right: 35px !important;
  }
  .ml-m-40 {
    margin-left: 40px !important;
  }
  .mr-m-40 {
    margin-right: 40px !important;
  }
  .ml-m-45 {
    margin-left: 45px !important;
  }
  .mr-m-45 {
    margin-right: 45px !important;
  }
  .ml-m-50 {
    margin-left: 50px !important;
  }
  .mr-m-50 {
    margin-right: 50px !important;
  }
}
@media screen and (min-width: 1080px) {
  .mt-l-0 {
    margin-top: 0px !important;
  }
  .mb-l-0 {
    margin-bottom: 0px !important;
  }
  .mt-l-5 {
    margin-top: 5px !important;
  }
  .mb-l-5 {
    margin-bottom: 5px !important;
  }
  .mt-l-10 {
    margin-top: 10px !important;
  }
  .mb-l-10 {
    margin-bottom: 10px !important;
  }
  .mt-l-15 {
    margin-top: 15px !important;
  }
  .mb-l-15 {
    margin-bottom: 15px !important;
  }
  .mt-l-20 {
    margin-top: 20px !important;
  }
  .mb-l-20 {
    margin-bottom: 20px !important;
  }
  .mt-l-25 {
    margin-top: 25px !important;
  }
  .mb-l-25 {
    margin-bottom: 25px !important;
  }
  .mt-l-30 {
    margin-top: 30px !important;
  }
  .mb-l-30 {
    margin-bottom: 30px !important;
  }
  .mt-l-35 {
    margin-top: 35px !important;
  }
  .mb-l-35 {
    margin-bottom: 35px !important;
  }
  .mt-l-40 {
    margin-top: 40px !important;
  }
  .mb-l-40 {
    margin-bottom: 40px !important;
  }
  .mt-l-45 {
    margin-top: 45px !important;
  }
  .mb-l-45 {
    margin-bottom: 45px !important;
  }
  .mt-l-50 {
    margin-top: 50px !important;
  }
  .mb-l-50 {
    margin-bottom: 50px !important;
  }
  .mt-l-55 {
    margin-top: 55px !important;
  }
  .mb-l-55 {
    margin-bottom: 55px !important;
  }
  .mt-l-60 {
    margin-top: 60px !important;
  }
  .mb-l-60 {
    margin-bottom: 60px !important;
  }
  .mt-l-65 {
    margin-top: 65px !important;
  }
  .mb-l-65 {
    margin-bottom: 65px !important;
  }
  .mt-l-70 {
    margin-top: 70px !important;
  }
  .mb-l-70 {
    margin-bottom: 70px !important;
  }
  .mt-l-75 {
    margin-top: 75px !important;
  }
  .mb-l-75 {
    margin-bottom: 75px !important;
  }
  .mt-l-80 {
    margin-top: 80px !important;
  }
  .mb-l-80 {
    margin-bottom: 80px !important;
  }
  .mt-l-85 {
    margin-top: 85px !important;
  }
  .mb-l-85 {
    margin-bottom: 85px !important;
  }
  .mt-l-90 {
    margin-top: 90px !important;
  }
  .mb-l-90 {
    margin-bottom: 90px !important;
  }
  .mt-l-95 {
    margin-top: 95px !important;
  }
  .mb-l-95 {
    margin-bottom: 95px !important;
  }
  .mt-l-100 {
    margin-top: 100px !important;
  }
  .mb-l-100 {
    margin-bottom: 100px !important;
  }
  .mt-l-105 {
    margin-top: 105px !important;
  }
  .mb-l-105 {
    margin-bottom: 105px !important;
  }
  .mt-l-110 {
    margin-top: 110px !important;
  }
  .mb-l-110 {
    margin-bottom: 110px !important;
  }
  .mt-l-115 {
    margin-top: 115px !important;
  }
  .mb-l-115 {
    margin-bottom: 115px !important;
  }
  .mt-l-120 {
    margin-top: 120px !important;
  }
  .mb-l-120 {
    margin-bottom: 120px !important;
  }
  .mt-l-125 {
    margin-top: 125px !important;
  }
  .mb-l-125 {
    margin-bottom: 125px !important;
  }
  .mt-l-130 {
    margin-top: 130px !important;
  }
  .mb-l-130 {
    margin-bottom: 130px !important;
  }
  .mt-l-135 {
    margin-top: 135px !important;
  }
  .mb-l-135 {
    margin-bottom: 135px !important;
  }
  .mt-l-140 {
    margin-top: 140px !important;
  }
  .mb-l-140 {
    margin-bottom: 140px !important;
  }
  .mt-l-145 {
    margin-top: 145px !important;
  }
  .mb-l-145 {
    margin-bottom: 145px !important;
  }
  .mt-l-150 {
    margin-top: 150px !important;
  }
  .mb-l-150 {
    margin-bottom: 150px !important;
  }
  .ml-l-0 {
    margin-left: 0px !important;
  }
  .mr-l-0 {
    margin-right: 0px !important;
  }
  .ml-l-5 {
    margin-left: 5px !important;
  }
  .mr-l-5 {
    margin-right: 5px !important;
  }
  .ml-l-10 {
    margin-left: 10px !important;
  }
  .mr-l-10 {
    margin-right: 10px !important;
  }
  .ml-l-15 {
    margin-left: 15px !important;
  }
  .mr-l-15 {
    margin-right: 15px !important;
  }
  .ml-l-20 {
    margin-left: 20px !important;
  }
  .mr-l-20 {
    margin-right: 20px !important;
  }
  .ml-l-25 {
    margin-left: 25px !important;
  }
  .mr-l-25 {
    margin-right: 25px !important;
  }
  .ml-l-30 {
    margin-left: 30px !important;
  }
  .mr-l-30 {
    margin-right: 30px !important;
  }
  .ml-l-35 {
    margin-left: 35px !important;
  }
  .mr-l-35 {
    margin-right: 35px !important;
  }
  .ml-l-40 {
    margin-left: 40px !important;
  }
  .mr-l-40 {
    margin-right: 40px !important;
  }
  .ml-l-45 {
    margin-left: 45px !important;
  }
  .mr-l-45 {
    margin-right: 45px !important;
  }
  .ml-l-50 {
    margin-left: 50px !important;
  }
  .mr-l-50 {
    margin-right: 50px !important;
  }
}
/*---------- 1.6 Other ----------*/
table {
  border-collapse: collapse;
  border-spacing: 0;
}

.clearfix::after {
  display: block;
  clear: both;
  content: "";
}

input[type=submit] {
  -webkit-appearance: none;
}

/* border */
.border-primary {
  border: 1px solid #363537;
}

/* img */
.img {
  max-width: 100%;
  height: auto;
  line-height: 0;
  vertical-align: middle;
  border-style: none;
}

.img-fluid img {
  width: 100%;
  height: auto;
  line-height: 0;
  vertical-align: middle;
  border-style: none;
}

/*-------------------------------

	2. COLUMN

-------------------------------*/
.container {
  width: 100%;
  padding-right: 10px;
  padding-left: 10px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .container {
    padding-right: 24px;
    padding-left: 24px;
  }
}

.container-fluid {
  width: 100%;
  padding-right: 24px;
  padding-left: 24px;
  margin-right: auto;
  margin-left: auto;
}

.row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -24px;
  margin-left: -24px;
}

.no-gutters {
  margin-right: 0;
  margin-left: 0;
}

.no-gutters > .col,
.no-gutters > [class*=col-] {
  padding-right: 0;
  padding-left: 0;
}

.col-s-1, .col-s-2, .col-s-3, .col-s-4, .col-s-5, .col-s-6, .col-s-7, .col-s-8, .col-s-9, .col-s-10, .col-s-11, .col-s-12, .col-s, .col-s-auto,
.col-m-1, .col-m-2, .col-m-3, .col-m-4, .col-m-5, .col-m-6, .col-m-7, .col-m-8, .col-m-9, .col-m-10, .col-m-11, .col-m-12, .col-m, .col-m-auto,
.col-l-1, .col-l-2, .col-l-3, .col-l-4, .col-l-5, .col-l-6, .col-l-7, .col-l-8, .col-l-9, .col-l-10, .col-l-11, .col-l-12, .col-l, .col-l-auto {
  position: relative;
  width: 100%;
  padding-right: 24px;
  padding-left: 24px;
}

.col-s {
  -ms-flex-preferred-size: 0;
  flex-basis: 0;
  -ms-flex-positive: 1;
  flex-grow: 1;
  max-width: 100%;
}

.col-s-auto {
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
}

.col-s-1 {
  -ms-flex: 0 0 8.333333%;
  flex: 0 0 8.333333%;
  max-width: 8.333333%;
}

.col-s-2 {
  -ms-flex: 0 0 16.666667%;
  flex: 0 0 16.666667%;
  max-width: 16.666667%;
}

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

.col-s-4 {
  -ms-flex: 0 0 33.333333%;
  flex: 0 0 33.333333%;
  max-width: 33.333333%;
}

.col-s-5 {
  -ms-flex: 0 0 41.666667%;
  flex: 0 0 41.666667%;
  max-width: 41.666667%;
}

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

.col-s-7 {
  -ms-flex: 0 0 58.333333%;
  flex: 0 0 58.333333%;
  max-width: 58.333333%;
}

.col-s-8 {
  -ms-flex: 0 0 66.666667%;
  flex: 0 0 66.666667%;
  max-width: 66.666667%;
}

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

.col-s-10 {
  -ms-flex: 0 0 83.333333%;
  flex: 0 0 83.333333%;
  max-width: 83.333333%;
}

.col-s-11 {
  -ms-flex: 0 0 91.666667%;
  flex: 0 0 91.666667%;
  max-width: 91.666667%;
}

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

.offset-s-0 {
  margin-left: 0;
}

.offset-s-1 {
  margin-left: 8.333333%;
}

.offset-s-2 {
  margin-left: 16.666667%;
}

.offset-s-3 {
  margin-left: 25%;
}

.offset-s-4 {
  margin-left: 33.333333%;
}

.offset-s-5 {
  margin-left: 41.666667%;
}

.offset-s-6 {
  margin-left: 50%;
}

.offset-s-7 {
  margin-left: 58.333333%;
}

.offset-s-8 {
  margin-left: 66.666667%;
}

.offset-s-9 {
  margin-left: 75%;
}

.offset-s-10 {
  margin-left: 83.333333%;
}

.offset-s-11 {
  margin-left: 91.666667%;
}

.order-s-first {
  -ms-flex-order: -1;
  order: -1;
}

.order-s-last {
  -ms-flex-order: 13;
  order: 13;
}

.order-s-0 {
  -ms-flex-order: 0;
  order: 0;
}

.order-s-1 {
  -ms-flex-order: 1;
  order: 1;
}

.order-s-2 {
  -ms-flex-order: 2;
  order: 2;
}

.order-s-3 {
  -ms-flex-order: 3;
  order: 3;
}

.order-s-4 {
  -ms-flex-order: 4;
  order: 4;
}

.order-s-5 {
  -ms-flex-order: 5;
  order: 5;
}

.order-s-6 {
  -ms-flex-order: 6;
  order: 6;
}

.order-s-7 {
  -ms-flex-order: 7;
  order: 7;
}

.order-s-8 {
  -ms-flex-order: 8;
  order: 8;
}

.order-s-9 {
  -ms-flex-order: 9;
  order: 9;
}

.order-s-10 {
  -ms-flex-order: 10;
  order: 10;
}

.order-s-11 {
  -ms-flex-order: 11;
  order: 11;
}

.order-s-12 {
  -ms-flex-order: 12;
  order: 12;
}

@media screen and (min-width: 768px) {
  .col-m {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%;
  }
  .col-m-auto {
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-m-1 {
    -ms-flex: 0 0 8.333333%;
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
  }
  .col-m-2 {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }
  .col-m-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-m-4 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
  .col-m-5 {
    -ms-flex: 0 0 41.666667%;
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }
  .col-m-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-m-7 {
    -ms-flex: 0 0 58.333333%;
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }
  .col-m-8 {
    -ms-flex: 0 0 66.666667%;
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }
  .col-m-9 {
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-m-10 {
    -ms-flex: 0 0 83.333333%;
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
  }
  .col-m-11 {
    -ms-flex: 0 0 91.666667%;
    flex: 0 0 91.666667%;
    max-width: 91.666667%;
  }
  .col-m-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .offset-m-0 {
    margin-left: 0;
  }
  .offset-m-1 {
    margin-left: 8.333333%;
  }
  .offset-m-2 {
    margin-left: 16.666667%;
  }
  .offset-m-3 {
    margin-left: 25%;
  }
  .offset-m-4 {
    margin-left: 33.333333%;
  }
  .offset-m-5 {
    margin-left: 41.666667%;
  }
  .offset-m-6 {
    margin-left: 50%;
  }
  .offset-m-7 {
    margin-left: 58.333333%;
  }
  .offset-m-8 {
    margin-left: 66.666667%;
  }
  .offset-m-9 {
    margin-left: 75%;
  }
  .offset-m-10 {
    margin-left: 83.333333%;
  }
  .offset-m-11 {
    margin-left: 91.666667%;
  }
  .order-m-first {
    -ms-flex-order: -1;
    order: -1;
  }
  .order-m-last {
    -ms-flex-order: 13;
    order: 13;
  }
  .order-m-0 {
    -ms-flex-order: 0;
    order: 0;
  }
  .order-m-1 {
    -ms-flex-order: 1;
    order: 1;
  }
  .order-m-2 {
    -ms-flex-order: 2;
    order: 2;
  }
  .order-m-3 {
    -ms-flex-order: 3;
    order: 3;
  }
  .order-m-4 {
    -ms-flex-order: 4;
    order: 4;
  }
  .order-m-5 {
    -ms-flex-order: 5;
    order: 5;
  }
  .order-m-6 {
    -ms-flex-order: 6;
    order: 6;
  }
  .order-m-7 {
    -ms-flex-order: 7;
    order: 7;
  }
  .order-m-8 {
    -ms-flex-order: 8;
    order: 8;
  }
  .order-m-9 {
    -ms-flex-order: 9;
    order: 9;
  }
  .order-m-10 {
    -ms-flex-order: 10;
    order: 10;
  }
  .order-m-11 {
    -ms-flex-order: 11;
    order: 11;
  }
  .order-m-12 {
    -ms-flex-order: 12;
    order: 12;
  }
}
@media screen and (min-width: 1080px) {
  .container {
    width: 1080px;
    padding-right: 0;
    padding-left: 0;
  }
  .col-l {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%;
  }
  .col-l-auto {
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-l-1 {
    -ms-flex: 0 0 8.333333%;
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
  }
  .col-l-2 {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }
  .col-l-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-l-4 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
  .col-l-5 {
    -ms-flex: 0 0 41.666667%;
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }
  .col-l-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-l-7 {
    -ms-flex: 0 0 58.333333%;
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }
  .col-l-8 {
    -ms-flex: 0 0 66.666667%;
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }
  .col-l-9 {
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-l-10 {
    -ms-flex: 0 0 83.333333%;
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
  }
  .col-l-11 {
    -ms-flex: 0 0 91.666667%;
    flex: 0 0 91.666667%;
    max-width: 91.666667%;
  }
  .col-l-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .offset-l-0 {
    margin-left: 0;
  }
  .offset-l-1 {
    margin-left: 8.333333%;
  }
  .offset-l-2 {
    margin-left: 16.666667%;
  }
  .offset-l-3 {
    margin-left: 25%;
  }
  .offset-l-4 {
    margin-left: 33.333333%;
  }
  .offset-l-5 {
    margin-left: 41.666667%;
  }
  .offset-l-6 {
    margin-left: 50%;
  }
  .offset-l-7 {
    margin-left: 58.333333%;
  }
  .offset-l-8 {
    margin-left: 66.666667%;
  }
  .offset-l-9 {
    margin-left: 75%;
  }
  .offset-l-10 {
    margin-left: 83.333333%;
  }
  .offset-l-11 {
    margin-left: 91.666667%;
  }
  .order-l-first {
    -ms-flex-order: -1;
    order: -1;
  }
  .order-l-last {
    -ms-flex-order: 13;
    order: 13;
  }
  .order-l-0 {
    -ms-flex-order: 0;
    order: 0;
  }
  .order-l-1 {
    -ms-flex-order: 1;
    order: 1;
  }
  .order-l-2 {
    -ms-flex-order: 2;
    order: 2;
  }
  .order-l-3 {
    -ms-flex-order: 3;
    order: 3;
  }
  .order-l-4 {
    -ms-flex-order: 4;
    order: 4;
  }
  .order-l-5 {
    -ms-flex-order: 5;
    order: 5;
  }
  .order-l-6 {
    -ms-flex-order: 6;
    order: 6;
  }
  .order-l-7 {
    -ms-flex-order: 7;
    order: 7;
  }
  .order-l-8 {
    -ms-flex-order: 8;
    order: 8;
  }
  .order-l-9 {
    -ms-flex-order: 9;
    order: 9;
  }
  .order-l-10 {
    -ms-flex-order: 10;
    order: 10;
  }
  .order-l-11 {
    -ms-flex-order: 11;
    order: 11;
  }
  .order-l-12 {
    -ms-flex-order: 12;
    order: 12;
  }
}
/*-------------------------------

	3. LAYOUT

-------------------------------*/
.d-s-none {
  display: none !important;
}

.d-s-inline {
  display: inline !important;
}

.d-s-inline-block {
  display: inline-block !important;
}

.d-s-block {
  display: block !important;
}

.d-s-table {
  display: table !important;
}

.d-s-table-row {
  display: table-row !important;
}

.d-s-table-cell {
  display: table-cell !important;
}

.d-s-flex {
  display: -ms-flexbox !important;
  display: flex !important;
}

.d-s-inline-flex {
  display: -ms-inline-flexbox !important;
  display: inline-flex !important;
}

.flex-s-row {
  -ms-flex-direction: row !important;
  flex-direction: row !important;
}

.flex-s-column {
  -ms-flex-direction: column !important;
  flex-direction: column !important;
}

.flex-s-row-reverse {
  -ms-flex-direction: row-reverse !important;
  flex-direction: row-reverse !important;
}

.flex-s-column-reverse {
  -ms-flex-direction: column-reverse !important;
  flex-direction: column-reverse !important;
}

.flex-s-wrap {
  -ms-flex-wrap: wrap !important;
  flex-wrap: wrap !important;
}

.flex-s-nowrap {
  -ms-flex-wrap: nowrap !important;
  flex-wrap: nowrap !important;
}

.flex-s-wrap-reverse {
  -ms-flex-wrap: wrap-reverse !important;
  flex-wrap: wrap-reverse !important;
}

.flex-s-fill {
  -ms-flex: 1 1 auto !important;
  flex: 1 1 auto !important;
}

.flex-s-grow-0 {
  -ms-flex-positive: 0 !important;
  flex-grow: 0 !important;
}

.flex-s-grow-1 {
  -ms-flex-positive: 1 !important;
  flex-grow: 1 !important;
}

.flex-s-shrink-0 {
  -ms-flex-negative: 0 !important;
  flex-shrink: 0 !important;
}

.flex-s-shrink-1 {
  -ms-flex-negative: 1 !important;
  flex-shrink: 1 !important;
}

.justify-s-content-start {
  -ms-flex-pack: start !important;
  justify-content: flex-start !important;
}

.justify-s-content-end {
  -ms-flex-pack: end !important;
  justify-content: flex-end !important;
}

.justify-s-content-center {
  -ms-flex-pack: center !important;
  justify-content: center !important;
}

.justify-s-content-between {
  -ms-flex-pack: justify !important;
  justify-content: space-between !important;
}

.justify-s-content-around {
  -ms-flex-pack: distribute !important;
  justify-content: space-around !important;
}

.align-s-items-start {
  -ms-flex-align: start !important;
  align-items: flex-start !important;
}

.align-s-items-end {
  -ms-flex-align: end !important;
  align-items: flex-end !important;
}

.align-s-items-center {
  -ms-flex-align: center !important;
  align-items: center !important;
}

.align-s-items-baseline {
  -ms-flex-align: baseline !important;
  align-items: baseline !important;
}

.align-s-items-stretch {
  -ms-flex-align: stretch !important;
  align-items: stretch !important;
}

.align-s-content-start {
  -ms-flex-line-pack: start !important;
  align-content: flex-start !important;
}

.align-s-content-end {
  -ms-flex-line-pack: end !important;
  align-content: flex-end !important;
}

.align-s-content-center {
  -ms-flex-line-pack: center !important;
  align-content: center !important;
}

.align-s-content-between {
  -ms-flex-line-pack: justify !important;
  align-content: space-between !important;
}

.align-s-content-around {
  -ms-flex-line-pack: distribute !important;
  align-content: space-around !important;
}

.align-s-content-stretch {
  -ms-flex-line-pack: stretch !important;
  align-content: stretch !important;
}

.align-s-self-auto {
  -ms-flex-item-align: auto !important;
  align-self: auto !important;
}

.align-s-self-start {
  -ms-flex-item-align: start !important;
  align-self: flex-start !important;
}

.align-s-self-end {
  -ms-flex-item-align: end !important;
  align-self: flex-end !important;
}

.align-s-self-center {
  -ms-flex-item-align: center !important;
  align-self: center !important;
}

.align-s-self-baseline {
  -ms-flex-item-align: baseline !important;
  align-self: baseline !important;
}

.align-s-self-stretch {
  -ms-flex-item-align: stretch !important;
  align-self: stretch !important;
}

.overflow-auto {
  overflow: auto !important;
}

.overflow-hidden {
  overflow: hidden !important;
}

.position-static {
  position: static !important;
}

.position-relative {
  position: relative !important;
}

.position-absolute {
  position: absolute !important;
}

.position-fixed {
  position: fixed !important;
}

.position-sticky {
  position: -webkit-sticky !important;
  position: sticky !important;
}

.float-s-left {
  float: left !important;
}

.float-s-right {
  float: right !important;
}

.float-s-none {
  float: none !important;
}

.w-s-25 {
  width: 25%;
}

.w-s-33 {
  width: 33.33%;
}

.w-s-50 {
  width: 50%;
}

.w-s-75 {
  width: 75%;
}

.w-s-100 {
  width: 100%;
}

.max-s-width-100 {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.max-s-width-90 {
  max-width: 90%;
  margin-left: auto;
  margin-right: auto;
}

.max-s-width-80 {
  max-width: 80%;
  margin-left: auto;
  margin-right: auto;
}

.max-s-width-70 {
  max-width: 70%;
  margin-left: auto;
  margin-right: auto;
}

.max-s-width-60 {
  max-width: 60%;
  margin-left: auto;
  margin-right: auto;
}

.max-s-width-50 {
  max-width: 50%;
  margin-left: auto;
  margin-right: auto;
}

.h-auto {
  height: auto;
}

.mw-100 {
  max-width: 100%;
}

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

.text-wrap {
  white-space: normal;
}

.text-nowrap {
  white-space: nowrap;
}

.text-s-left {
  text-align: left;
}

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

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

@media screen and (min-width: 768px) {
  .d-m-none {
    display: none !important;
  }
  .d-m-inline {
    display: inline !important;
  }
  .d-m-inline-block {
    display: inline-block !important;
  }
  .d-m-block {
    display: block !important;
  }
  .d-m-table {
    display: table !important;
  }
  .d-m-table-row {
    display: table-row !important;
  }
  .d-m-table-cell {
    display: table-cell !important;
  }
  .d-m-flex {
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .d-m-inline-flex {
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
  .flex-m-row {
    -ms-flex-direction: row !important;
    flex-direction: row !important;
  }
  .flex-m-column {
    -ms-flex-direction: column !important;
    flex-direction: column !important;
  }
  .flex-m-row-reverse {
    -ms-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important;
  }
  .flex-m-column-reverse {
    -ms-flex-direction: column-reverse !important;
    flex-direction: column-reverse !important;
  }
  .flex-m-wrap {
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
  }
  .flex-m-nowrap {
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important;
  }
  .flex-m-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
    flex-wrap: wrap-reverse !important;
  }
  .flex-m-fill {
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important;
  }
  .flex-m-grow-0 {
    -ms-flex-positive: 0 !important;
    flex-grow: 0 !important;
  }
  .flex-m-grow-1 {
    -ms-flex-positive: 1 !important;
    flex-grow: 1 !important;
  }
  .flex-m-shrink-0 {
    -ms-flex-negative: 0 !important;
    flex-shrink: 0 !important;
  }
  .flex-m-shrink-1 {
    -ms-flex-negative: 1 !important;
    flex-shrink: 1 !important;
  }
  .justify-m-content-start {
    -ms-flex-pack: start !important;
    justify-content: flex-start !important;
  }
  .justify-m-content-end {
    -ms-flex-pack: end !important;
    justify-content: flex-end !important;
  }
  .justify-m-content-center {
    -ms-flex-pack: center !important;
    justify-content: center !important;
  }
  .justify-m-content-between {
    -ms-flex-pack: justify !important;
    justify-content: space-between !important;
  }
  .justify-m-content-around {
    -ms-flex-pack: distribute !important;
    justify-content: space-around !important;
  }
  .align-m-items-start {
    -ms-flex-align: start !important;
    align-items: flex-start !important;
  }
  .align-m-items-end {
    -ms-flex-align: end !important;
    align-items: flex-end !important;
  }
  .align-m-items-center {
    -ms-flex-align: center !important;
    align-items: center !important;
  }
  .align-m-items-baseline {
    -ms-flex-align: baseline !important;
    align-items: baseline !important;
  }
  .align-m-items-stretch {
    -ms-flex-align: stretch !important;
    align-items: stretch !important;
  }
  .align-m-content-start {
    -ms-flex-line-pack: start !important;
    align-content: flex-start !important;
  }
  .align-m-content-end {
    -ms-flex-line-pack: end !important;
    align-content: flex-end !important;
  }
  .align-m-content-center {
    -ms-flex-line-pack: center !important;
    align-content: center !important;
  }
  .align-m-content-between {
    -ms-flex-line-pack: justify !important;
    align-content: space-between !important;
  }
  .align-m-content-around {
    -ms-flex-line-pack: distribute !important;
    align-content: space-around !important;
  }
  .align-m-content-stretch {
    -ms-flex-line-pack: stretch !important;
    align-content: stretch !important;
  }
  .align-m-self-auto {
    -ms-flex-item-align: auto !important;
    align-self: auto !important;
  }
  .align-m-self-start {
    -ms-flex-item-align: start !important;
    align-self: flex-start !important;
  }
  .align-m-self-end {
    -ms-flex-item-align: end !important;
    align-self: flex-end !important;
  }
  .align-m-self-center {
    -ms-flex-item-align: center !important;
    align-self: center !important;
  }
  .align-m-self-baseline {
    -ms-flex-item-align: baseline !important;
    align-self: baseline !important;
  }
  .align-m-self-stretch {
    -ms-flex-item-align: stretch !important;
    align-self: stretch !important;
  }
  .float-m-left {
    float: left !important;
  }
  .float-m-right {
    float: right !important;
  }
  .float-m-none {
    float: none !important;
  }
  .w-m-25 {
    width: 25%;
  }
  .w-m-33 {
    width: 33.33%;
  }
  .w-m-50 {
    width: 50%;
  }
  .w-m-75 {
    width: 75%;
  }
  .w-m-100 {
    width: 100%;
  }
  .max-m-width-100 {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .max-m-width-90 {
    max-width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
  .max-m-width-80 {
    max-width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
  .max-m-width-70 {
    max-width: 70%;
    margin-left: auto;
    margin-right: auto;
  }
  .max-m-width-60 {
    max-width: 60%;
    margin-left: auto;
    margin-right: auto;
  }
  .max-m-width-50 {
    max-width: 50%;
    margin-left: auto;
    margin-right: auto;
  }
  .text-m-left {
    text-align: left;
  }
  .text-m-right {
    text-align: right;
  }
  .text-m-center {
    text-align: center;
  }
}
@media screen and (min-width: 1080px) {
  .d-l-none {
    display: none !important;
  }
  .d-l-inline {
    display: inline !important;
  }
  .d-l-inline-block {
    display: inline-block !important;
  }
  .d-l-block {
    display: block !important;
  }
  .d-l-table {
    display: table !important;
  }
  .d-l-table-row {
    display: table-row !important;
  }
  .d-l-table-cell {
    display: table-cell !important;
  }
  .d-l-flex {
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .d-l-inline-flex {
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
  .flex-l-row {
    -ms-flex-direction: row !important;
    flex-direction: row !important;
  }
  .flex-l-column {
    -ms-flex-direction: column !important;
    flex-direction: column !important;
  }
  .flex-l-row-reverse {
    -ms-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important;
  }
  .flex-l-column-reverse {
    -ms-flex-direction: column-reverse !important;
    flex-direction: column-reverse !important;
  }
  .flex-l-wrap {
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
  }
  .flex-l-nowrap {
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important;
  }
  .flex-l-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
    flex-wrap: wrap-reverse !important;
  }
  .flex-l-fill {
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important;
  }
  .flex-l-grow-0 {
    -ms-flex-positive: 0 !important;
    flex-grow: 0 !important;
  }
  .flex-l-grow-1 {
    -ms-flex-positive: 1 !important;
    flex-grow: 1 !important;
  }
  .flex-l-shrink-0 {
    -ms-flex-negative: 0 !important;
    flex-shrink: 0 !important;
  }
  .flex-l-shrink-1 {
    -ms-flex-negative: 1 !important;
    flex-shrink: 1 !important;
  }
  .justify-l-content-start {
    -ms-flex-pack: start !important;
    justify-content: flex-start !important;
  }
  .justify-l-content-end {
    -ms-flex-pack: end !important;
    justify-content: flex-end !important;
  }
  .justify-l-content-center {
    -ms-flex-pack: center !important;
    justify-content: center !important;
  }
  .justify-l-content-between {
    -ms-flex-pack: justify !important;
    justify-content: space-between !important;
  }
  .justify-l-content-around {
    -ms-flex-pack: distribute !important;
    justify-content: space-around !important;
  }
  .align-l-items-start {
    -ms-flex-align: start !important;
    align-items: flex-start !important;
  }
  .align-l-items-end {
    -ms-flex-align: end !important;
    align-items: flex-end !important;
  }
  .align-l-items-center {
    -ms-flex-align: center !important;
    align-items: center !important;
  }
  .align-l-items-baseline {
    -ms-flex-align: baseline !important;
    align-items: baseline !important;
  }
  .align-l-items-stretch {
    -ms-flex-align: stretch !important;
    align-items: stretch !important;
  }
  .align-l-content-start {
    -ms-flex-line-pack: start !important;
    align-content: flex-start !important;
  }
  .align-l-content-end {
    -ms-flex-line-pack: end !important;
    align-content: flex-end !important;
  }
  .align-l-content-center {
    -ms-flex-line-pack: center !important;
    align-content: center !important;
  }
  .align-l-content-between {
    -ms-flex-line-pack: justify !important;
    align-content: space-between !important;
  }
  .align-l-content-around {
    -ms-flex-line-pack: distribute !important;
    align-content: space-around !important;
  }
  .align-l-content-stretch {
    -ms-flex-line-pack: stretch !important;
    align-content: stretch !important;
  }
  .align-l-self-auto {
    -ms-flex-item-align: auto !important;
    align-self: auto !important;
  }
  .align-l-self-start {
    -ms-flex-item-align: start !important;
    align-self: flex-start !important;
  }
  .align-l-self-end {
    -ms-flex-item-align: end !important;
    align-self: flex-end !important;
  }
  .align-l-self-center {
    -ms-flex-item-align: center !important;
    align-self: center !important;
  }
  .align-l-self-baseline {
    -ms-flex-item-align: baseline !important;
    align-self: baseline !important;
  }
  .align-l-self-stretch {
    -ms-flex-item-align: stretch !important;
    align-self: stretch !important;
  }
  .float-l-left {
    float: left !important;
  }
  .float-l-right {
    float: right !important;
  }
  .float-l-none {
    float: none !important;
  }
  .w-l-25 {
    width: 25%;
  }
  .w-l-33 {
    width: 33.33%;
  }
  .w-l-50 {
    width: 50%;
  }
  .w-l-75 {
    width: 75%;
  }
  .w-l-100 {
    width: 100%;
  }
  .max-l-width-100 {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .max-l-width-90 {
    max-width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
  .max-l-width-80 {
    max-width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
  .max-l-width-70 {
    max-width: 70%;
    margin-left: auto;
    margin-right: auto;
  }
  .max-l-width-60 {
    max-width: 60%;
    margin-left: auto;
    margin-right: auto;
  }
  .max-l-width-50 {
    max-width: 50%;
    margin-left: auto;
    margin-right: auto;
  }
  .text-l-left {
    text-align: left;
  }
  .text-l-right {
    text-align: right;
  }
  .text-l-center {
    text-align: center;
  }
}
/*====================================

	/ Component Ver 1.0 /

  ----------------------------------
    Structure
  ----------------------------------

  0. 共通
  1. Header
  2. Footer
  3. Top
  4. 下層

  ----------------------------------

  / 命名規則 /

  Block             /ルート要素
  Block__Element    /Blockに所属する子要素
  Block--Modifier   /Block,Elementから変化した状態を表す要素

====================================*/
/*-------------------------------

	0. 共通

-------------------------------*/
/* サービスカテゴリナビ（TOP / SELL 共通） */
.service-nav {
  --service-nav-link-color: #000;
}

.service-nav__item {
  border-bottom: 1px solid #000;
}
@media screen and (min-width: 768px) {
  .service-nav__item {
    margin: 0;
    border-bottom: none;
  }
}

.service-nav__link {
  --service-nav-mark-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Ccircle cx='5' cy='5' r='5' fill='%23000'/%3E%3C/svg%3E");
  --service-nav-mark-size: 1.6746rem;
  position: relative;
  display: flex;
  align-items: center;
  min-height: 8rem;
  padding: 0;
  color: var(--service-nav-link-color);
  transition: color 0.25s ease;
}
@media screen and (min-width: 768px) {
  .service-nav__link {
    flex-direction: column;
    min-height: 0;
  }
}

.service-nav__en {
  position: absolute;
  top: 1.4rem;
  left: 0;
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.256;
  letter-spacing: 0.2512em;
  text-transform: uppercase;
}
@media screen and (min-width: 768px) {
  .service-nav__en {
    position: static;
    font-size: 1.256rem;
    line-height: 1;
    letter-spacing: 0.2em;
  }
}

.service-nav__jp {
  margin-top: 1.6rem;
  font-family: noto-sans-cjk-jp, "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.2em;
}
@media screen and (min-width: 768px) {
  .service-nav__jp {
    margin-top: 1.2rem;
    font-size: 3.3493rem;
    letter-spacing: 0;
  }
}

.service-nav__lead-char {
  margin-right: -0.04em;
  font-size: 2.4rem;
  line-height: 1;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .service-nav__lead-char {
    margin-right: 0;
    font-size: 4.9402rem;
    letter-spacing: 0.2em;
  }
}

.service-nav__okuri {
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}

.service-nav__mark {
  position: absolute;
  top: 50%;
  right: 1.6rem;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 50%;
  background: currentColor;
  transform: translateY(-50%);
}
@media screen and (min-width: 768px) {
  .service-nav__mark {
    position: static;
    width: 2.8469rem;
    height: 2.8469rem;
    margin-top: 2.8rem;
    border-radius: 0;
    background: currentColor;
    transform: none;
    -webkit-mask: var(--service-nav-mark-mask) center/var(--service-nav-mark-size) no-repeat;
    mask: var(--service-nav-mark-mask) center/var(--service-nav-mark-size) no-repeat;
    transition: -webkit-mask 0.15s ease, mask 0.15s ease;
  }
}

.service-nav__link:hover,
.service-nav__link:focus-visible {
  --service-nav-link-color: #000;
}
@media screen and (min-width: 768px) {
  .service-nav__link:hover,
  .service-nav__link:focus-visible {
    --service-nav-mark-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28' fill='none'%3E%3Ccircle cx='14' cy='14' r='13' stroke='%23000' stroke-width='1.3'/%3E%3Cpath d='M14 7.5 V19 M9.6 14.6 L14 19.4 L18.4 14.6' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    --service-nav-mark-size: 2.8469rem;
  }
}

@media (any-hover: hover) {
  .service-nav:has(.service-nav__link:hover),
  .service-nav:has(.service-nav__link:focus-visible) {
    --service-nav-link-color: #7e7e7e;
  }
}
/* タイトル */
.ttl-xl {
  color: #363537;
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 38px;
  font-size: 3.8rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.06em;
}
@media screen and (min-width: 768px) {
  .ttl-xl {
    font-size: 8.5rem;
  }
}

.ttl-l-en {
  color: #363537;
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 28px;
  font-size: 2.8rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.08em;
}
@media screen and (min-width: 768px) {
  .ttl-l-en {
    font-size: 4.5rem;
  }
}
.ttl-l-en .color {
  color: #ffd13d;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.08em;
}

.ttl-m-en {
  color: #363537;
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 26px;
  font-size: 2.6rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .ttl-m-en {
    font-size: 3.3rem;
  }
}
.ttl-m-en .color {
  color: #ffd13d;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.1em;
}

.ttl-l-jp {
  color: #363537;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .ttl-l-jp {
    font-size: 2.2rem;
  }
}
.ttl-l-jp .color {
  color: #ffd13d;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.1em;
}

.ttl-m-jp {
  color: #363537;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .ttl-m-jp {
    font-size: 2rem;
  }
}
.ttl-m-jp .color {
  color: #ffd13d;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.1em;
}

.ttl-s-en {
  color: #363537;
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .ttl-s-en {
    font-size: 2rem;
  }
}

.ttl-under--s {
  color: #363537;
  display: inline-block;
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  text-align: center;
  font-size: 20px;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.08em;
}
@media screen and (min-width: 768px) {
  .ttl-under--s {
    margin-top: 2.2rem;
  }
}
.ttl-under--s::after {
  content: "";
  background: #363537;
  display: block;
  width: 24px;
  height: 1px;
  margin: 10px auto 0 auto;
}
.ttl-under--s--center {
  display: block;
  text-align: center;
}

/* ボタン */
.btn-primary a {
  background: #fff;
  border: 1px solid #363537;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.04em;
  width: 100%;
  max-width: 160px;
  height: 35px;
  position: relative;
  transition: 0.3s;
}
.btn-primary a::before {
  content: "";
  background: url(../img/arrow-btn.svg) no-repeat;
  width: 31px;
  height: 7px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -15px;
}
.btn-primary a:hover {
  background: #363537;
  color: #fff;
}
.btn-primary a:hover::before {
  content: "";
  background: url(../img/arrow-btn-hov.svg) no-repeat;
}
.btn-primary--center {
  display: flex;
  justify-content: center;
}
.btn-primary--right {
  display: flex;
  justify-content: flex-end;
}

.btn-secondary a {
  background: #fff;
  border: 1px solid #363537;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.06em;
  width: 100%;
  height: 35px;
  position: relative;
  transition: 0.3s;
}
.btn-secondary a::before {
  content: "";
  background: url(../img/arrow-btn.svg) no-repeat;
  width: 31px;
  height: 7px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -15px;
}
.btn-secondary a:hover {
  background: #363537;
  color: #fff;
}
.btn-secondary a:hover::before {
  content: "";
  background: url(../img/arrow-btn-hov.svg) no-repeat;
}
.btn-secondary--nolink span {
  background: #fff;
  border: 1px solid #363537;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.06em;
  width: 100%;
  height: 35px;
  position: relative;
  transition: 0.3s;
  opacity: 0.4;
}
.btn-secondary--nolink span::before {
  content: "";
  background: url(../img/arrow-btn.svg) no-repeat;
  width: 31px;
  height: 7px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -15px;
}
.btn-secondary--max160 a {
  max-width: 160px;
}
.btn-secondary--max314 a, .btn-secondary--max314 span {
  max-width: 314px;
}
.btn-secondary--center {
  display: flex;
  justify-content: center;
}
.btn-secondary--right {
  display: flex;
  justify-content: flex-end;
}

/* レイアウト */
.block--50 {
  margin-top: 50px;
}

.block--70 {
  margin-top: 70px;
}

.block--100 {
  margin-top: 80px;
}
@media screen and (min-width: 768px) {
  .block--100 {
    margin-top: 100px;
  }
}

.block--180 {
  margin-top: 100px;
}
@media screen and (min-width: 768px) {
  .block--180 {
    margin-top: 180px;
  }
}

.move-left img {
  position: relative;
  left: -7.8%;
}

.move-right img {
  position: relative;
  right: -7.8%;
}

.layout-pre__conts::before {
  content: "";
  background: url(../img/watercolor.png) no-repeat;
  background-size: contain;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .layout-pre__conts::before {
    background: url(../img/watercolor@2x.png) no-repeat;
    background-size: contain;
  }
}
.layout-pre__conts::before {
  display: block;
  width: 98px;
  height: 86.8px;
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .layout-pre__conts::before {
    width: 140px;
    height: 124px;
  }
}
.layout-pre__conts__ttl-en {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 35px;
  font-size: 3.5rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .layout-pre__conts__ttl-en {
    font-size: 4.8rem;
  }
}
@media screen and (min-width: 960px) {
  .layout-pre__conts__ttl-en {
    font-size: 6.5rem;
  }
}
@media screen and (min-width: 1080px) {
  .layout-pre__conts__ttl-en {
    font-size: 7.5rem;
  }
}
.layout-pre__conts__ttl-jp {
  text-align: center;
  margin-top: 10px;
}
.layout-pre__conts__txt {
  position: relative;
}
.layout-pre__conts__txt::before {
  content: "";
  background: url(../img/watercolor02.png) no-repeat;
  background-size: contain;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .layout-pre__conts__txt::before {
    background: url(../img/watercolor02@2x.png) no-repeat;
    background-size: contain;
  }
}
.layout-pre__conts__txt::before {
  width: 412.8px;
  height: 244px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -15%;
  z-index: -100;
}
@media screen and (min-width: 768px) {
  .layout-pre__conts__txt::before {
    width: 516px;
    height: 305px;
    left: -22%;
  }
}

.layout__pre-img__conts {
  position: relative;
}
.layout__pre-img__conts .bg {
  position: absolute;
  right: -3.7%;
  bottom: -8%;
  z-index: -100;
}

.layout-paddbox {
  padding-left: 17%;
}
.layout-paddbox .ttl-leftline {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
  position: relative;
}
@media screen and (min-width: 768px) {
  .layout-paddbox .ttl-leftline {
    font-size: 1.8rem;
  }
}
.layout-paddbox .ttl-leftline::before {
  content: "";
  background: #363537;
  width: 14%;
  height: 1px;
  position: absolute;
  top: 13px;
  left: -17%;
}

.layout-paddbox--max {
  padding-left: 17%;
}
@media screen and (min-width: 768px) {
  .layout-paddbox--max {
    padding-left: 8%;
    padding-right: 8%;
  }
}
.layout-paddbox--max .ttl-leftline {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
  position: relative;
}
@media screen and (min-width: 768px) {
  .layout-paddbox--max .ttl-leftline {
    font-size: 1.8rem;
  }
}
.layout-paddbox--max .ttl-leftline::before {
  content: "";
  background: #363537;
  width: 14%;
  height: 1px;
  position: absolute;
  top: 13px;
  left: -18%;
}
@media screen and (min-width: 768px) {
  .layout-paddbox--max .ttl-leftline::before {
    width: 6.6%;
    left: -8%;
  }
}

@media screen and (min-width: 1080px) {
  .layout-link__ttl {
    display: flex;
    align-items: center;
  }
}
.layout-link__ttl p:first-child {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .layout-link__ttl p:first-child {
    font-size: 2.8rem;
    margin-right: 20px;
  }
}
.layout-link__ttl p:last-child {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .layout-link__ttl p:last-child {
    font-size: 1.8rem;
  }
}
.layout-link__ttl p:last-child span {
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
.layout-link__ttl p:last-child .color {
  color: #ffd13d;
}
.layout-link__ttl p:last-child .color--primary {
  color: #363537;
}
.layout-link .txt-line {
  position: relative;
}
.layout-link .txt-line::after {
  content: "";
  background: #363537;
  width: 100%;
  height: 1px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  z-index: -100;
}
.layout-link .txt-line span {
  background: #fff;
  display: inline-block;
  padding-right: 10px;
}

.layout-pointbox {
  background: #fff;
  border: 3px solid #ffd13d;
  padding: 30px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .layout-pointbox {
    padding: 30px 90px;
  }
}
.layout-pointbox .ttl {
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .layout-pointbox .ttl {
    font-size: 1.8rem;
  }
}
.layout-pointbox .ttl span {
  position: relative;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: 0.1em;
}
.layout-pointbox .ttl span::before {
  content: "";
  background: url(../img/icon-point.svg) no-repeat;
  width: 72px;
  height: 74.4px;
  position: absolute;
  top: -70px;
  left: -45px;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .layout-pointbox .ttl span::before {
    width: 90px;
    height: 93px;
    top: -86px;
    left: -50px;
  }
}
.layout-pointbox ul li {
  display: inline-block;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.1em;
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .layout-pointbox ul li {
    margin-right: 50px;
  }
}
.layout-pointbox ul li::before {
  content: "■";
  color: #ffd13d;
  display: inline-block;
  margin-right: 5px;
}
.layout-pointbox .bg {
  position: absolute;
  right: -30px;
  bottom: -30px;
  z-index: -100;
}

@media screen and (min-width: 1080px) {
  .shift-left {
    margin-left: -100px;
  }
}

@media screen and (min-width: 1080px) {
  .shift-right {
    margin-right: -100px;
  }
}

/* 画像hover */
.hov--y {
  background: rgba(255, 209, 61, 0.5);
}
@media screen and (min-width: 1080px) {
  .hov--y a img {
    opacity: 1;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .hov--y a:hover img {
    opacity: 0.5;
  }
}

/* other */
.height-inherit {
  height: inherit;
}

.readmore {
  position: relative;
}
.readmore::after {
  content: "";
  background: url(../img/readmore.svg) no-repeat;
  background-size: contain;
  width: 44.8px;
  height: 43.2px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  z-index: 100;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .readmore::after {
    width: 56px;
    height: 54px;
  }
}

/*-------------------------------

	1. Header

-------------------------------*/
.header-top__mv {
  background: url("../img/top-mv.jpg") no-repeat center;
  background-size: cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .header-top__mv {
    background: url("../img/top-mv@2x.jpg") no-repeat center;
  }
}
.header-top__mv {
  background-size: cover;
  width: 100vw;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
}
.header-top__mv__catch {
  color: #fff;
  text-align: center;
}

/* pc navi */
#Nav {
  width: 100%;
  position: absolute;
  top: 0;
  z-index: 10000;
}

#gnav-pc {
  width: 100%;
  height: 100px;
  position: relative;
}
#gnav-pc .container {
  height: inherit;
}
#gnav-pc .logo a {
  background: url(../img/logo.svg) no-repeat;
  background-size: contain;
  width: 222px;
  height: 89px;
  margin-top: 5px;
}
#gnav-pc ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: inherit;
  margin-left: auto;
}
#gnav-pc ul > li {
  height: inherit;
}
#gnav-pc ul > li > a {
  color: #fff;
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.2em;
  display: flex;
  align-items: center;
  height: inherit;
}
#gnav-pc ul > li .name {
  position: relative;
  transition: all 0.1s ease-in;
}
#gnav-pc ul > li:hover .name {
  color: #ffd13d;
}
#gnav-pc ul > li:hover .menu {
  max-height: 9999px;
  opacity: 1;
  z-index: 1000;
}
#gnav-pc ul .menu {
  background: url(../img/menu-bg.png) no-repeat top center;
  background-size: cover;
  transition: all 0.2s ease-in;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  width: 100%;
  height: auto;
  left: 0;
  position: absolute;
  z-index: 10000;
}
#gnav-pc ul .menu__box {
  padding: 50px 0;
  position: relative;
}
#gnav-pc ul .menu__box__left .sun {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.075em;
}
#gnav-pc ul .menu__box__left .sun::before {
  content: "";
  background: url(../img/menu__box__left-before.png) no-repeat;
  background-size: contain;
  display: block;
  width: 100px;
  height: 90px;
  margin-bottom: 15px;
}
#gnav-pc ul .menu__box__left .en {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 33px;
  font-size: 3.3rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.2em;
  margin-top: 20px;
}
#gnav-pc ul .menu__box__left .jp {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.06em;
  margin-top: 20px;
}
#gnav-pc ul .menu__box__left .jp::after {
  content: "";
  background: #ffd13d;
  display: block;
  width: 30px;
  height: 2px;
  margin: 25px 0;
}
#gnav-pc ul .menu__box__right a img, #gnav-pc ul .menu__box__right a span {
  display: block;
}
#gnav-pc ul .menu__box__right a .en {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.075em;
  margin-top: 15px;
}
#gnav-pc ul .menu__box__right a .jp {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.06em;
  margin-top: 10px;
}

.fixedNav {
  background: #fff;
  position: fixed !important;
  transition: 0.4s;
}
.fixedNav #gnav-pc .logo a {
  background: url(../img/logo--primary.svg) no-repeat !important;
}
.fixedNav ul > li > a {
  color: #363537 !important;
}
.fixedNav ul > li:hover .name {
  color: #ffd13d !important;
}

/* サイド固定コンテンツ */
.sidefixed {
  position: fixed;
  top: 120px;
  right: 0;
  z-index: 1000;
}
.sidefixed__contact a img {
  width: 100%;
  max-width: 100px;
  height: auto;
}

/* sp navi */
.logo-sp {
  position: absolute;
  top: 10px;
  left: 39%;
  left: calc(50% - 50px);
  transform: translateX(-39%);
  z-index: 100;
}
.logo-sp a img {
  max-width: 142px;
}

.toggleMenu {
  width: 28px;
  height: 20px;
  z-index: 100000;
  position: fixed;
  top: 30px;
  right: 30px;
}
@media screen and (min-width: 768px) {
  .toggleMenu {
    right: 61px;
  }
}

.toggleMenu span {
  display: inline-block;
  height: 2px;
  background-color: #ffd13d;
  position: absolute;
  right: 0;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}

.toggleMenu span:first-of-type {
  width: 28px;
  top: 0;
}

.toggleMenu span:nth-of-type(2) {
  width: 28px;
  top: 10px;
}

.toggleMenu span:last-of-type {
  width: 28px;
  top: 20px;
}

.toggleMenu.active span:first-of-type, .toggleMenu.active span:last-of-type {
  margin: auto;
  width: 28px;
}

.toggleMenu.active span:first-of-type {
  -webkit-transform: translateY(10px) rotate(45deg);
  transform: translateY(10px) rotate(45deg);
}

.toggleMenu.active span:nth-of-type(2) {
  opacity: 0;
}

.toggleMenu.active span:last-of-type {
  -webkit-transform: translateY(-10px) rotate(-45deg);
  transform: translateY(-10px) rotate(-45deg);
}

.overlayMenu {
  width: 100%;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
  background: #fff;
  line-height: 0;
  z-index: 99999;
  position: fixed;
  top: 0;
  right: 0;
  overflow-y: auto;
}
.overlayMenu .wrapper {
  position: relative;
}
.overlayMenu__conts {
  padding-top: 77px;
}
.overlayMenu__conts .parents {
  border-bottom: 1px solid #fff;
  position: relative;
}
.overlayMenu__conts .parents > a {
  background: #ffd13d;
  display: block;
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 13px;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.2em;
  padding: 25px 14%;
}
.overlayMenu__conts .parents::after {
  content: "";
  background: url(../img/nav-sp-arrow-white--right.svg) center no-repeat;
  width: 8px;
  height: 14px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 14%;
}
.overlayMenu__conts .parents-aco::after {
  content: "";
  background: url(../img/nav-sp-arrow-white--down.svg) center no-repeat;
  width: 14px;
  height: 8px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 14%;
}
.overlayMenu__conts .child__conts {
  border-bottom: 1px solid #ffd13d;
  position: relative;
}
.overlayMenu__conts .child__conts::after {
  content: "";
  background: url(../img/nav-sp-arrow-secondary--right.svg) center no-repeat;
  width: 8px;
  height: 14px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 14%;
}
.overlayMenu__conts .child__conts > a {
  display: block;
  font-size: 13px;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.06em;
  padding: 25px 14%;
}
.overlayMenu__conts .child__conts > a::before {
  content: "-";
  display: inline-block;
  margin-right: 5px;
  position: relative;
  top: -1px;
}

/* MV内スクロールイメージ */
.header__scroll {
  position: absolute;
  bottom: 70px;
  right: 15px;
}
@media screen and (min-width: 1080px) {
  .header__scroll {
    bottom: 40px;
  }
}
.header__scroll img {
  width: 100%;
  max-width: 8px;
  height: auto;
}

/* MV内コピーライト */
.header__copyright {
  color: #fff;
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 10px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
  position: absolute;
  bottom: 99px;
  transform: rotate(90deg);
  left: 0;
}
@media screen and (min-width: 768px) {
  .header__copyright {
    top: 50%;
    bottom: inherit;
    transform: translateY(-50%) rotate(90deg);
  }
}

/* sp フロートメニュー */
.floatconts {
  width: 100%;
  height: 60px;
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 1000;
}
@media screen and (min-width: 1080px) {
  .floatconts {
    display: none;
  }
}
.floatconts ul {
  display: flex;
  height: inherit;
}
.floatconts ul li {
  height: inherit;
  width: 25%;
  text-align: center;
  height: inherit;
}
.floatconts ul li:nth-child(1) a {
  background: #939361;
}
.floatconts ul li:nth-child(1) a::before {
  content: "";
  background: url(../img/icon-floatconts-estate.svg) no-repeat;
  background-size: contain;
  display: inline-block;
  width: 14px;
  height: 14px;
  margin: 0 auto 6px auto;
}
.floatconts ul li:nth-child(2) a {
  background: url(../img/floatconts-contact01-bg.png) no-repeat center;
  background-size: cover;
  color: #363537;
}
.floatconts ul li:nth-child(2) a::before {
  content: "";
  background: url(../img/icon-floatconts-contact01.svg) no-repeat;
  background-size: contain;
  display: inline-block;
  width: 14px;
  height: 14px;
  margin: 0 auto 6px auto;
}
.floatconts ul li:nth-child(3) a {
  background: url(../img/floatconts-contact02-bg.png) no-repeat center;
  background-size: cover;
}
.floatconts ul li:nth-child(3) a::before {
  content: "";
  background: url(../img/icon-floatconts-contact02.svg) no-repeat;
  background-size: contain;
  display: inline-block;
  width: 14px;
  height: 14px;
  margin: 0 auto 6px auto;
}
.floatconts ul li:nth-child(4) a {
  background: #363537;
}
.floatconts ul li:nth-child(4) a::before {
  content: "";
  background: url(../img/icon-floatconts-insta.svg) no-repeat;
  background-size: contain;
  display: inline-block;
  width: 14px;
  height: 14px;
  margin: 0 auto 6px auto;
}
.floatconts ul li a {
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
  width: 100%;
  height: inherit;
}

/*-------------------------------

	2. Footer

-------------------------------*/
.footer {
  background: #eeeeee;
  margin-top: 90px;
  padding: 50px 0 100px 0;
}
@media screen and (min-width: 1080px) {
  .footer {
    margin-top: 180px;
    padding: 50px 0;
  }
}
.footer__list {
  padding: 0 7%;
}
@media screen and (min-width: 1080px) {
  .footer__list {
    padding: 0 13%;
  }
}
.footer__list ul {
  display: flex;
  justify-content: space-between;
}
.footer__list ul li a {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.2em;
}
.footer__sns ul {
  text-align: center;
}
.footer__sns ul li {
  display: inline-block;
  margin: 0 15px;
}
.footer__sns ul li a img {
  width: 100%;
  max-width: 16px;
  height: auto;
}
.footer__sns ul li:last-child a img {
  width: 100%;
  max-width: 63px;
  height: auto;
}
.footer__tel {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
  text-align: center;
}
.footer__tel a {
  font-size: 21px;
  font-size: 2.1rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
}

/*-------------------------------

	3. Top

-------------------------------*/
.slider-mv {
  width: 100vw;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
}
.slider-mv__conts {
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
}
.slider-mv__conts__catch {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: inherit;
}
.slider-mv__conts__catch p, .slider-mv__conts__catch h1 {
  color: #fff;
  text-align: center;
}
.slider-mv__conts__catch .txt01 {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 46px;
  font-size: 4.6rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .slider-mv__conts__catch .txt01 {
    font-size: 10rem;
  }
}
.slider-mv__conts__catch .txt03 {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.2em;
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .slider-mv__conts__catch .txt03 {
    font-size: 2rem;
  }
}
.slider-mv__conts--01 {
  background: url(../img/top-mv--sp.jpg) no-repeat center;
  background-size: cover;
}
@media screen and (min-width: 768px) {
  .slider-mv__conts--01 {
    background: url(../img/top-mv.jpg) no-repeat center left;
    background-size: cover;
  }
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .slider-mv__conts--01 {
    background: url(../img/top-mv--sp@2x.jpg) no-repeat center;
    background-size: cover;
  }
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 768px) {
  .slider-mv__conts--01 {
    background: url(../img/top-mv@2x.jpg) no-repeat center left;
    background-size: cover;
  }
}
.slider-mv__conts--02 {
  background: url(../img/top-mv02.jpg) no-repeat center;
  background-size: cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .slider-mv__conts--02 {
    background: url(../img/top-mv02@2x.jpg) no-repeat center;
    background-size: cover;
  }
}
.slider-mv__conts--03 {
  background: url(../img/top-mv03.jpg) no-repeat center;
  background-size: cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .slider-mv__conts--03 {
    background: url(../img/top-mv03@2x.jpg) no-repeat center;
    background-size: cover;
  }
}

/*-------------------------------

	4. 下層

-------------------------------*/
/* main visual */
.mv-concept {
  background: url(../img/mv-concept.jpg) no-repeat center;
  background-size: cover;
}

.mv-kizugawalife {
  background: url(../img/mv-kizugawalife.jpg) no-repeat center;
  background-size: cover;
}

.mv-spec {
  background: url(../img/mv-spec.jpg) no-repeat center;
  background-size: cover;
}

.mv-sitemap {
  background: url(../img/mv-sitemap.jpg) no-repeat center;
  background-size: cover;
}

.mv-house {
  background: url(../img/mv-house.jpg) no-repeat center;
  background-size: cover;
}

.mv-estate {
  background: url(../img/mv-estate.jpg) no-repeat center;
  background-size: cover;
}

.mv-after {
  background: url(../img/mv-after.jpg) no-repeat center;
  background-size: cover;
}

.mv-flow {
  background: url(../img/mv-flow.jpg) no-repeat center;
  background-size: cover;
}

.mv-architecture {
  background: url(../img/mv-architecture.jpg) no-repeat center;
  background-size: cover;
}

.mv-consult {
  background: url(../img/mv-consult.jpg) no-repeat center;
  background-size: cover;
}

.mv-about {
  background: url(../img/mv-about.jpg) no-repeat center;
  background-size: cover;
}

.mv-staff {
  background: url(../img/mv-staff.jpg) no-repeat center;
  background-size: cover;
}

.mv-contact {
  background: url(../img/mv-contact.jpg) no-repeat center;
  background-size: cover;
}

.mv-column {
  background: url(../img/mv-column.jpg) no-repeat center;
  background-size: cover;
}

.mv-event {
  background: url(../img/mv-event.jpg) no-repeat center;
  background-size: cover;
}

.mv-works {
  background: url(../img/mv-works.jpg) no-repeat center;
  background-size: cover;
}

.mv-story {
  background: url(../img/mv-story.jpg) no-repeat center;
  background-size: cover;
}

.mv-estatelist {
  background: url(../img/mv-estatelist.jpg) no-repeat center;
  background-size: cover;
}

.mv-privacy {
  background: url(../img/mv-privacy.jpg) no-repeat center;
  background-size: cover;
}

.mv-photo {
  background: url(../img/mv-photo.jpg) no-repeat center;
  background-size: cover;
}

.mv-studyofhouse {
  background: url(../img/mv-studyofhouse.jpg) no-repeat center;
  background-size: cover;
}

.mv-studyofland {
  background: url(../img/mv-studyofland.jpg) no-repeat center;
  background-size: cover;
}

.mv-passive {
  background: url(../img/mv-passive.jpg) no-repeat center;
  background-size: cover;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .mv-concept {
    background: url(../img/mv-concept@2x.jpg) no-repeat center;
    background-size: cover;
  }
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .mv-kizugawalife {
    background: url(../img/mv-kizugawalife@2x.jpg) no-repeat center;
    background-size: cover;
  }
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .mv-spec {
    background: url(../img/mv-spec@2x.jpg) no-repeat center;
    background-size: cover;
  }
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .mv-sitemap {
    background: url(../img/mv-sitemap@2x.jpg) no-repeat center;
    background-size: cover;
  }
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .mv-house {
    background: url(../img/mv-house@2x.jpg) no-repeat center;
    background-size: cover;
  }
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .mv-estate {
    background: url(../img/mv-estate@2x.jpg) no-repeat center;
    background-size: cover;
  }
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .mv-after {
    background: url(../img/mv-after@2x.jpg) no-repeat center;
    background-size: cover;
  }
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .mv-flow {
    background: url(../img/mv-flow@2x.jpg) no-repeat center;
    background-size: cover;
  }
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .mv-architecture {
    background: url(../img/mv-architecture@2x.jpg) no-repeat center;
    background-size: cover;
  }
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .mv-consult {
    background: url(../img/mv-consult@2x.jpg) no-repeat center;
    background-size: cover;
  }
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .mv-about {
    background: url(../img/mv-about@2x.jpg) no-repeat center;
    background-size: cover;
  }
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .mv-staff {
    background: url(../img/mv-staff@2x.jpg) no-repeat center;
    background-size: cover;
  }
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .mv-contact {
    background: url(../img/mv-contact@2x.jpg) no-repeat center;
    background-size: cover;
  }
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .mv-column {
    background: url(../img/mv-column@2x.jpg) no-repeat center;
    background-size: cover;
  }
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .mv-event {
    background: url(../img/mv-event@2x.jpg) no-repeat center;
    background-size: cover;
  }
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .mv-works {
    background: url(../img/mv-works@2x.jpg) no-repeat center;
    background-size: cover;
  }
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .mv-story {
    background: url(../img/mv-story@2x.jpg) no-repeat center;
    background-size: cover;
  }
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .mv-estatelist {
    background: url(../img/mv-estatelist@2x.jpg) no-repeat center;
    background-size: cover;
  }
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .mv-privacy {
    background: url(../img/mv-privacy@2x.jpg) no-repeat center;
    background-size: cover;
  }
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .mv-photo {
    background: url(../img/mv-photo@2x.jpg) no-repeat center;
    background-size: cover;
  }
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .mv-studyofhouse {
    background: url(../img/mv-studyofhouse@2x.jpg) no-repeat center;
    background-size: cover;
  }
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .mv-studyofland {
    background: url(../img/mv-studyofland@2x.jpg) no-repeat center;
    background-size: cover;
  }
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .mv-passive {
    background: url(../img/mv-passive@2x.jpg) no-repeat center;
    background-size: cover;
  }
}
.page-mv {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 234px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .page-mv {
    height: 416px;
  }
}
@media screen and (min-width: 1080px) {
  .page-mv {
    height: 520px;
  }
}
.page-mv__ttl {
  margin-top: 30px;
}
.page-mv__ttl span {
  display: block;
  padding: 0 7px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .page-mv__ttl span {
    display: inline-block;
  }
}
.page-mv__ttl .en {
  color: #fff;
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 28px;
  font-size: 2.8rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .page-mv__ttl .en {
    font-size: 3.3rem;
  }
}
.page-mv__ttl .jp {
  color: #fff;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
  margin-top: 5px;
}
@media screen and (min-width: 768px) {
  .page-mv__ttl .jp {
    font-size: 1.8rem;
    margin-top: 0;
  }
}
.page-mv--02 {
  height: 195px;
}
@media screen and (min-width: 768px) {
  .page-mv--02 {
    height: 208px;
  }
}
@media screen and (min-width: 1080px) {
  .page-mv--02 {
    height: 260px;
  }
}

/*====================================

	/ Blog Ver 1.1 /

  0. Archive
  1. Post
  2. Wiget
	3. Recommend

====================================*/
/*-------------------------------

	0. Archive

-------------------------------*/
/* wp-pagenavi */
.wp-pagenavi a, .wp-pagenavi span {
  border: none !important;
}

.wp-pagenavi {
  margin: 50px auto 0 auto;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .wp-pagenavi {
    margin: 80px auto 0 auto;
  }
}
.wp-pagenavi span.current {
  background: #363537;
  border: none;
  color: #fff;
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0em;
}
.wp-pagenavi a {
  border: none;
  color: #363537;
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0em;
}
.wp-pagenavi a, .wp-pagenavi span {
  padding: 7px 12px 8px 12px !important;
  margin: 0 10px !important;
}
.wp-pagenavi .nextpostslink, .wp-pagenavi .previouspostslink {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 11px;
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
  position: relative;
  top: 1px;
}

/* コラム */
.archive__conts__main__article .eyecatch {
  position: relative;
}
.archive__conts__main__article .eyecatch .cat {
  background: #fff;
  display: inline-block;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.06em;
  padding: 5px 15px;
  position: absolute;
  bottom: 16%;
  left: 0;
  z-index: 100;
}
.archive__conts__main__article .eyecatch .all {
  display: none !important;
}
.archive__conts__main__article .date {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.075em;
}
.archive__conts__main__article .ttl {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.06em;
}

/* イベント */
.archive--event__conts__main__article .eyecatch {
  position: relative;
}
.archive--event__conts__main__article .eyecatch .cat {
  background: #fff;
  display: inline-block;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.06em;
  padding: 5px 15px;
  position: absolute;
  bottom: 16%;
  left: 0;
  z-index: 100;
}
.archive--event__conts__main__article .eyecatch .all {
  display: none !important;
}
.archive--event__conts__main__article .date {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.075em;
}
.archive--event__conts__main__article .ttl {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .archive--event__conts__main__article .ttl {
    font-size: 1.8rem;
  }
}
.archive--event__conts__main__article .ttl::after {
  content: "";
  background: #363537;
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 10px;
}
.archive--event__conts__main__article .schedule .jp {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
}
.archive--event__conts__main__article .schedule .en {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
}
.archive--event__conts__main__article .schedule .en::before {
  content: "/";
  display: inline-block;
  margin: 0 10px 0 5px;
}

/* 施工事例 */
.archive--works__conts__category a {
  background: #363537;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 73px;
}
.archive--works__conts__category a::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 3px 0 3px;
  border-color: #fff transparent transparent transparent;
  margin-top: 8px;
}
.archive--works__conts__category a .en {
  color: #fff;
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
  margin-top: 8px;
}
.archive--works__conts__category a .jp {
  color: #fff;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.06em;
  margin-top: 5px;
}
.archive--works__conts__article .eyecatch {
  position: relative;
}
.archive--works__conts__article .eyecatch .cat {
  background: #fff;
  display: inline-block;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.06em;
  padding: 5px 15px;
  position: absolute;
  bottom: 16%;
  left: 0;
  z-index: 100;
}
.archive--works__conts__article .eyecatch .all {
  display: none !important;
}
.archive--works__conts__article .ttl {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .archive--works__conts__article .ttl {
    font-size: 1.8rem;
  }
}
.archive--works__conts__article .ttl::after {
  content: "";
  background: #363537;
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 10px;
}
.archive--works__conts__article .works-floor {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.06em;
}

/* オススメの土地一覧 */
.archive--estatelist__conts__main__article {
  border-bottom: 1px solid #c2c2c2;
  padding-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .archive--estatelist__conts__main__article {
    padding-bottom: 40px;
  }
}
.archive--estatelist__conts__main__article .eyecatch {
  position: relative;
}
.archive--estatelist__conts__main__article .eyecatch .cat {
  background: #363537;
  color: #fff;
  display: inline-block;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.06em;
  padding: 5px 15px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
}
.archive--estatelist__conts__main__article .eyecatch .all {
  display: none !important;
}
.archive--estatelist__conts__main__article .ttl {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .archive--estatelist__conts__main__article .ttl {
    font-size: 1.6rem;
  }
}
.archive--estatelist__conts__main__article .ttl::after {
  content: "";
  background: #363537;
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 5px;
}
.archive--estatelist__conts__main__article .info dt {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.1em;
  margin-top: 20px;
}
.archive--estatelist__conts__main__article .info dd {
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .archive--estatelist__conts__main__article .info dd {
    font-size: 1.6rem;
  }
}

/* インタビュー */
.archive--story__conts .number {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .archive--story__conts .number {
    font-size: 2rem;
  }
}
.archive--story__conts .number span {
  color: #ffd13d;
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
  position: relative;
  top: 1px;
  left: -2px;
}
@media screen and (min-width: 768px) {
  .archive--story__conts .number span {
    font-size: 2rem;
  }
}
.archive--story__conts .ttl {
  position: relative;
}
@media screen and (min-width: 1080px) {
  .archive--story__conts .ttl::before {
    content: "";
    background: #363537;
    width: 100%;
    height: 1px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: -100;
  }
}
.archive--story__conts .ttl a {
  background: #fff;
  display: inline-block;
  padding-right: 15px;
}

/*-------------------------------

	1. Post

-------------------------------*/
/* native */
.single .posts .aligncenter, .single-event .posts .aligncenter {
  display: block;
  margin: 0 auto;
}
.single .posts .alignright, .single-event .posts .alignright {
  display: block;
  margin-left: auto;
}
.single .posts .alignleft, .single-event .posts .alignleft {
  display: block;
  margin-right: auto;
}
.single .posts img[class*=wp-image-],
.single .posts img[class*=attachment-], .single-event .posts img[class*=wp-image-],
.single-event .posts img[class*=attachment-] {
  max-width: 100%;
  height: auto;
}
.single .posts a, .single-event .posts a {
  color: #0366D6;
  text-decoration: underline;
}
.single .posts p, .single-event .posts p {
  margin: 20px auto;
}

.single__conts__main__fixed {
  border-top: 1px solid #363537;
  border-bottom: 1px solid #363537;
  padding: 30px 0;
}

.single__conts__main__fixed p {
  line-height: 1.5;
}

.single__conts__main__fixed p a {
  color: #0366D6;
  text-decoration: underline;
}

/* 目次：EasyTableOfContents */
#ez-toc-container {
  background: #f9f9f9;
  border-top: 5px solid #333;
  box-shadow: 0 1.5px 2.4px rgba(0, 0, 0, 0.15);
  padding: 20px;
  margin: 50px 0;
}

.ez-toc-title {
  display: flex;
  align-items: center;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
}

.ez-toc-title::before {
  content: "";
  background: url(../img/icon-mokuji.svg) no-repeat center;
  display: inline-block;
  width: 36px;
  height: 36px;
  margin-right: 15px;
}

#ez-toc-container ul,
#ez-toc-container ul li {
  list-style-type: disc;
}

#ez-toc-container ul {
  padding: 0;
  border: none;
}

#ez-toc-container .ez-toc-list {
  margin-bottom: 0;
  margin-top: 20px;
  margin-left: 1.2em;
  color: #333;
}

.ez-toc-list li {
  font-weight: bold;
  padding: 5px 0;
}

.ez-toc-list li a {
  color: #333;
}

.ez-toc-list li a:hover {
  text-decoration: underline;
}

.ez-toc-list > li > a:nth-child(1) {
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

#ez-toc-container .ez-toc-list li ul {
  margin: 5px;
  padding-left: 15px;
}

.ez-toc-list li ul li {
  margin: 0;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 0.05em;
}

@media screen and (min-width: 768px) {
  .ez-toc-title::before {
    width: 46px;
    height: 46px;
  }
}
/* コラム */
.single__conts__main__info .cat {
  background: #363537;
  color: #fff;
  display: inline-block;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.06em;
  padding: 5px 15px 6px 15px;
  margin-right: 20px;
}
.single__conts__main__info .all {
  display: none !important;
}
.single__conts__main__info .date {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.075em;
}
@media screen and (min-width: 768px) {
  .single__conts__main__info {
    display: flex;
    align-items: center;
  }
}
.single__conts__main__ttl {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .single__conts__main__ttl {
    font-size: 2rem;
  }
}
.single__conts__main__ttl::after {
  content: "";
  background: #363537;
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 10px;
}
.single__conts__main .posts h2 {
  background: #ffd13d;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  padding: 12px 15px;
  margin: 20px auto;
}
.single__conts__main .posts h3 {
  background: #f6f6f6;
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  padding: 12px 15px;
  margin: 20px auto;
  position: relative;
}
.single__conts__main .posts h3::before {
  content: "";
  background: #ffd13d;
  display: inline-block;
  width: 5px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
}
.single__conts__main .posts h4 {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin: 20px auto;
}
.single__conts__main .posts h4::before {
  content: "■";
  color: #ffd13d;
  display: inline-block;
  margin-right: 5px;
}
.single__conts__main .posts h4::after {
  content: "";
  background: #363537;
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 7px;
}

/* イベント */
.single-event__conts__main__info .cat {
  background: #363537;
  color: #fff;
  display: inline-block;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.06em;
  padding: 5px 15px 6px 15px;
  margin-right: 20px;
}
.single-event__conts__main__info .all {
  display: none !important;
}
.single-event__conts__main__ttl {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .single-event__conts__main__ttl {
    font-size: 2rem;
  }
}
.single-event__conts__main__ttl::after {
  content: "";
  background: #363537;
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 10px;
}
.single-event__conts__main .posts h2 {
  background: #ffd13d;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  padding: 12px 15px;
  margin: 20px auto;
}
.single-event__conts__main .posts h3 {
  background: #f6f6f6;
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  padding: 12px 15px;
  margin: 20px auto;
  position: relative;
}
.single-event__conts__main .posts h3::before {
  content: "";
  background: #ffd13d;
  display: inline-block;
  width: 5px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
}
.single-event__conts__main .posts h4 {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin: 20px auto;
}
.single-event__conts__main .posts h4::before {
  content: "■";
  color: #ffd13d;
  display: inline-block;
  margin-right: 5px;
}
.single-event__conts__main .posts h4::after {
  content: "";
  background: #363537;
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 7px;
}
.single-event__conts__main .schedule {
  margin: 20px auto;
  padding: 5px 15px 0 20px;
  position: relative;
}
.single-event__conts__main .schedule::before {
  content: "";
  background: #363537;
  display: inline-block;
  width: 10px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
}
.single-event__conts__main .schedule::after {
  content: "";
  background: #363537;
  display: block;
  width: calc(100% + 35px);
  height: 1px;
  margin-top: 7px;
  margin-left: -20px;
}
.single-event__conts__main .schedule__definition {
  line-height: inherit;
}
.single-event__conts__main .schedule__definition .jp {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
}
.single-event__conts__main .schedule__definition .en {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
}
.single-event__conts__main .schedule__definition .en::before {
  content: "/";
  display: inline-block;
  margin: 0 10px 0 5px;
}
.single-event__conts__main .schedule__description {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .single-event__conts__main .schedule__description {
    font-size: 1.8rem;
  }
}

/* 施工事例 */
.single-works__conts__info .cat {
  background: #363537;
  color: #fff;
  display: inline-block;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.06em;
  padding: 5px 15px 6px 15px;
  margin-right: 20px;
}
.single-works__conts__info .all {
  display: none !important;
}
.single-works__conts__ttl {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .single-works__conts__ttl {
    font-size: 2rem;
  }
}
.single-works__conts__ttl::after {
  content: "";
  background: #363537;
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 10px;
}
.single-works__conts__floor {
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .single-works__conts__floor {
    font-size: 1.8rem;
  }
}
.single-works__conts .works-ttl01 {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .single-works__conts .works-ttl01 {
    font-size: 1.8rem;
  }
}
.single-works__conts .works-ttl01::before {
  content: "■";
  color: #ffd13d;
  display: inline-block;
}
.single-works__conts .works-point__box {
  padding-left: 17%;
  position: relative;
}
.single-works__conts .works-point__box .ttl {
  display: inline-block;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
.single-works__conts .works-point__box .ttl::before {
  content: "";
  background: url(../img/icon-point.svg) no-repeat;
  background-size: contain;
  width: 100%;
  max-width: 79.2px;
  height: 82.8px;
  position: absolute;
  top: -18%;
  left: 0;
}
@media screen and (min-width: 768px) {
  .single-works__conts .works-point__box .ttl::before {
    max-width: 88px;
    height: 92px;
    top: -20%;
  }
}
.single-works__conts .works-point__box .ttl::after {
  content: "";
  background: #363537;
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 3px;
}
.single-works__conts .works-point__box .txt {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.06em;
}
.single-works__conts .posts h2 {
  background: #ffd13d;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  padding: 12px 15px;
  margin: 20px auto;
}
.single-works__conts .posts h3 {
  background: #f6f6f6;
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  padding: 12px 15px;
  margin: 20px auto;
  position: relative;
}
.single-works__conts .posts h3::before {
  content: "";
  background: #ffd13d;
  display: inline-block;
  width: 5px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
}
.single-works__conts .posts h4 {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin: 20px auto;
}
.single-works__conts .posts h4::before {
  content: "■";
  color: #ffd13d;
  display: inline-block;
  margin-right: 5px;
}
.single-works__conts .posts h4::after {
  content: "";
  background: #363537;
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 7px;
}

/* オススメ土地情報 */
.single-estatelist__conts {
  padding-right: 24px;
  padding-left: 24px;
}
@media screen and (min-width: 1080px) {
  .single-estatelist__conts {
    padding-right: 0;
    padding-left: 0;
  }
}

.single-estatelist__conts__main__category .cat {
  background: #363537;
  color: #fff;
  display: inline-block;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.06em;
  padding: 5px 15px 6px 15px;
  margin-right: 20px;
}
.single-estatelist__conts__main__category .all {
  display: none !important;
}
.single-estatelist__conts__main__ttl {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .single-estatelist__conts__main__ttl {
    font-size: 2rem;
  }
}
.single-estatelist__conts__main__ttl::after {
  content: "";
  background: #363537;
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 10px;
}
.single-estatelist__conts__main__info {
  margin: 20px auto;
  padding: 5px 15px 0 20px;
  position: relative;
}
.single-estatelist__conts__main__info::before {
  content: "";
  background: #363537;
  display: inline-block;
  width: 10px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
}
.single-estatelist__conts__main__info::after {
  content: "";
  background: #363537;
  display: block;
  width: calc(100% + 35px);
  height: 1px;
  margin-top: 7px;
  margin-left: -20px;
}
.single-estatelist__conts__main__info__definition {
  line-height: inherit;
}
.single-estatelist__conts__main__info__definition .jp {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
}
.single-estatelist__conts__main__info__definition .en {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
}
.single-estatelist__conts__main__info__definition .en::before {
  content: "/";
  display: inline-block;
  margin: 0 10px 0 5px;
}
.single-estatelist__conts__main__info__description {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .single-estatelist__conts__main__info__description {
    font-size: 1.8rem;
  }
}
.single-estatelist__conts__main__ttl01 {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .single-estatelist__conts__main__ttl01 {
    font-size: 1.8rem;
  }
}
.single-estatelist__conts__main__ttl01::before {
  content: "■";
  color: #ffd13d;
  display: inline-block;
}
.single-estatelist__conts__main__point__box {
  padding-left: 22%;
  position: relative;
}
.single-estatelist__conts__main__point__box .ttl {
  display: inline-block;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
.single-estatelist__conts__main__point__box .ttl::before {
  content: "";
  background: url(../img/icon-point.svg) no-repeat;
  background-size: contain;
  width: 100%;
  max-width: 79.2px;
  height: 82.8px;
  position: absolute;
  top: -18%;
  left: 0;
}
@media screen and (min-width: 768px) {
  .single-estatelist__conts__main__point__box .ttl::before {
    max-width: 88px;
    height: 92px;
    top: -25%;
  }
}
.single-estatelist__conts__main__point__box .ttl::after {
  content: "";
  background: #363537;
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 3px;
}
.single-estatelist__conts__main__point__box .txt {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.06em;
}
.single-estatelist__conts__main .posts h2 {
  background: #ffd13d;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  padding: 12px 15px;
  margin: 20px auto;
}
.single-estatelist__conts__main .posts h3 {
  background: #f6f6f6;
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  padding: 12px 15px;
  margin: 20px auto;
  position: relative;
}
.single-estatelist__conts__main .posts h3::before {
  content: "";
  background: #ffd13d;
  display: inline-block;
  width: 5px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
}
.single-estatelist__conts__main .posts h4 {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin: 20px auto;
}
.single-estatelist__conts__main .posts h4::before {
  content: "■";
  color: #ffd13d;
  display: inline-block;
  margin-right: 5px;
}
.single-estatelist__conts__main .posts h4::after {
  content: "";
  background: #363537;
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 7px;
}
.single-estatelist__conts__main__detail {
  width: 100%;
}
.single-estatelist__conts__main__detail tr {
  border-bottom: 1px solid #363537;
}
.single-estatelist__conts__main__detail tr:first-child {
  border-top: 1px solid #363537;
}
.single-estatelist__conts__main__detail tr th {
  background: #ededed;
  font-size: 13px;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  width: 34%;
  padding: 20px 15px;
}
@media screen and (min-width: 768px) {
  .single-estatelist__conts__main__detail tr th {
    font-size: 1.4rem;
    width: 30%;
  }
}
@media screen and (min-width: 1080px) {
  .single-estatelist__conts__main__detail tr th {
    width: 25%;
  }
}
.single-estatelist__conts__main__detail tr td {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.06em;
  width: 66%;
  padding: 20px 15px;
}
@media screen and (min-width: 768px) {
  .single-estatelist__conts__main__detail tr td {
    width: 70%;
  }
}
@media screen and (min-width: 1080px) {
  .single-estatelist__conts__main__detail tr td {
    width: 75%;
  }
}

/* インタビュー */
.single-story__conts .ttl__number {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .single-story__conts .ttl__number {
    font-size: 2rem;
  }
}
.single-story__conts .ttl__number span {
  color: #ffd13d;
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
  position: relative;
  top: 1px;
  left: -2px;
}
@media screen and (min-width: 768px) {
  .single-story__conts .ttl__number span {
    font-size: 2rem;
  }
}
.single-story__conts .ttl__conts {
  position: relative;
}
@media screen and (min-width: 768px) {
  .single-story__conts .ttl__conts::before {
    content: "";
    background: #363537;
    width: 100%;
    height: 1px;
    position: absolute;
    top: 52%;
    transform: translateY(-52%);
    z-index: -100;
  }
}
.single-story__conts .ttl__conts span {
  background: #fff;
  display: inline-block;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.1em;
  padding-right: 15px;
}
@media screen and (min-width: 768px) {
  .single-story__conts .ttl__conts span {
    font-size: 1.8rem;
  }
}
.single-story__conts .num-box__number {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 38px;
  font-size: 3.8rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .single-story__conts .num-box__number {
    font-size: 7rem;
  }
}
.single-story__conts .num-box__catch {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 26px;
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.1em;
  margin: 10px 0 0 0;
}
@media screen and (min-width: 768px) {
  .single-story__conts .num-box__catch {
    font-size: 4.5rem;
    margin: 80px 0 0 8.4%;
  }
}
.single-story__conts .num-box__catch::after {
  content: "";
  background: #363537;
  display: block;
  width: 75%;
  max-width: 154px;
  height: 3px;
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .single-story__conts .num-box__catch::after {
    height: 4px;
    margin-top: 15px;
  }
}
.single-story__conts .conts-box .ttl {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .single-story__conts .conts-box .ttl {
    font-size: 1.8rem;
  }
}
.single-story__conts .conts-box .txt {
  margin-top: 25px;
}
.single-story__conts .family {
  margin: 20px auto;
  padding: 5px 15px 0 20px;
  position: relative;
}
.single-story__conts .family::before {
  content: "";
  background: #363537;
  display: inline-block;
  width: 10px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
}
.single-story__conts .family::after {
  content: "";
  background: #363537;
  display: block;
  width: calc(100% + 35px);
  height: 1px;
  margin-top: 7px;
  margin-left: -20px;
}
.single-story__conts .family__definition {
  line-height: inherit;
}
.single-story__conts .family__definition .jp {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
}
.single-story__conts .family__definition .en {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
}
.single-story__conts .family__definition .en::before {
  content: "/";
  display: inline-block;
  margin: 0 10px 0 5px;
}
.single-story__conts .family__description {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .single-story__conts .family__description {
    font-size: 1.8rem;
  }
}

/*-------------------------------

	2. Wiget

-------------------------------*/
.side-widget .widget-container > h2 {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
  border-top: 1px solid #363537;
  border-bottom: 1px solid #363537;
  padding: 20px;
}
.side-widget .widget-container > ul li {
  padding: 12px 20px;
}
.side-widget .widget-container > ul li:first-child {
  margin-top: 20px;
}
.side-widget .widget-container > ul li a {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
.side-widget .widget-container:nth-child(n+2) h2 {
  margin-top: 30px;
}

/*-------------------------------

	3. Recommend

-------------------------------*/
.single__conts__main .posts .sunhousing-heading-style-h3,
.single-event__conts__main .posts .sunhousing-heading-style-h3 {
  background: #f6f6f6;
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  padding: 12px 15px;
  margin: 20px auto;
  position: relative;
}

.single__conts__main .posts .sunhousing-heading-style-h3::before,
.single-event__conts__main .posts .sunhousing-heading-style-h3::before {
  content: "";
  background: #ffd13d;
  display: inline-block;
  width: 5px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
}

.single__conts__main .posts .sunhousing-heading-style-h4,
.single-event__conts__main .posts .sunhousing-heading-style-h4 {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin: 20px auto;
}

.single__conts__main .posts .sunhousing-heading-style-h4::before,
.single-event__conts__main .posts .sunhousing-heading-style-h4::before {
  content: "■";
  color: #ffd13d;
  display: inline-block;
  margin-right: 5px;
}

.single__conts__main .posts .sunhousing-heading-style-h4::after,
.single-event__conts__main .posts .sunhousing-heading-style-h4::after {
  content: "";
  background: #363537;
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 7px;
}

/*===================================================================

  新トップ（front-page リニューアル）
  - 新規部分はフラットセレクタ（@mixin tab・pc / @include text() / 基準62.5% / em letter-spacing）
  - 新規ブロックは fp- / fp__ 接頭辞で隔離（旧 .top__* には触れない）
  - 出典: mcp-log/top/design-context-*.md（Figma実測値）/ blueprint.md / tokens.md

===================================================================*/
/*-------------------------------
  ページ全体ラッパ（和紙テクスチャ背景）
-------------------------------*/
.fp {
  position: relative;
  width: 100%;
  overflow-x: hidden;
  color: #000;
  background: url(../img/top/fp-bg-fixed.jpg) no-repeat center center fixed;
  background-size: cover;
}

html {
  scroll-behavior: smooth;
}

#build,
#buy,
#sell,
#use,
#videos {
  scroll-margin-top: 9rem;
}

/*===============================================================
  共通：セクション見出し（漢字＋短横線＋英字）build / buy / sell
===============================================================*/
.fp__sec-ttl {
  display: flex;
  align-items: flex-end;
  line-height: 1;
}

.fp__sec-ttl__sub {
  display: flex;
  align-items: center;
  align-self: flex-end;
}

.fp__sec-ttl__jp {
  font-family: noto-sans-cjk-jp, "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: 700;
  color: #000;
  line-height: 1;
  font-size: 1.8rem;
  letter-spacing: -0.05em;
}
@media screen and (min-width: 768px) {
  .fp__sec-ttl__jp {
    font-size: 4rem;
  }
}

.fp__sec-ttl__lead-char {
  font-size: 2.7rem;
  line-height: 1;
  letter-spacing: 0;
  margin-right: -0.04em;
}
@media screen and (min-width: 768px) {
  .fp__sec-ttl__lead-char {
    font-size: 5.9rem;
  }
}

.fp__sec-ttl__bar {
  align-self: center;
  width: 1.3rem;
  height: 1px;
  background: #000;
  margin: 0 0.8rem;
}
@media screen and (min-width: 768px) {
  .fp__sec-ttl__bar {
    width: 2.95rem;
    margin: 0 1.2rem;
  }
}

.fp__sec-ttl__en {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-weight: 500;
  font-size: 1.47rem;
  letter-spacing: 0.094em;
  line-height: 1;
  color: #000;
}
@media screen and (min-width: 768px) {
  .fp__sec-ttl__en {
    font-size: 3.2rem;
  }
}

/*===============================================================
  共通：MORE ボタン（185×37 PC / 241×25 SP・角丸なし・直角枠）
===============================================================*/
/*===============================================================
  ヘッダー（新トップ専用 横1行・半透明白バー＋静止MV）
===============================================================*/
.fp-header {
  position: relative;
}

.fp-header__bar {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  width: 100%;
  height: 8rem;
  background: rgba(255, 255, 255, 0.5);
  transition: background 0.4s;
}

.fp-header__bar.fixedNav {
  background: #fff;
}

.fp-header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
  width: 100%;
  margin: 0 auto;
  padding: 0 6.5rem 0 2.4rem;
}
@media screen and (min-width: 768px) {
  .fp-header__inner {
    width: 100%;
    padding: 0 11.2rem 0 4.2rem;
  }
}

.fp-header__logo {
  margin: 0;
  line-height: 0;
}

.fp-header__logo-image {
  width: 11rem;
  height: auto;
}
@media screen and (min-width: 768px) {
  .fp-header__logo-image {
    width: 15.6rem;
  }
}

.fp-header__logo--light {
  display: none;
}

.fp-header__logo--dark {
  display: block;
}

.fp-header__nav-list {
  display: flex;
  align-items: center;
}

.fp-header__nav-item {
  margin-left: 2.6rem;
}

.fp-header__nav-link {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-weight: 500;
  font-size: 1.5rem;
  letter-spacing: 0.2em;
  line-height: 1;
  color: #4a4a4a;
  text-transform: uppercase;
  white-space: nowrap;
}

@media screen and (min-width: 768px) {
  .fp-header__nav-link:hover {
    opacity: 0.7;
    transition: opacity 0.3s;
  }
}

/*-------------------------------
  MV（フェードスライダー + 右下手書きキャッチ）
-------------------------------*/
.fp-mv {
  position: relative;
  width: 100%;
  height: 100vh;
  height: 100svh;
  height: var(--fp-vh, 100svh);
  overflow: hidden;
}

.fp-mv__slider,
.fp-mv__slide,
.fp-mv__slick-list,
.fp-mv__slick-track,
.fp-mv__slick-slide,
.fp-mv__slick-slide-inner {
  width: 100%;
  height: 100%;
}

.fp-mv__slider {
  position: absolute;
  inset: 0;
}

.fp-mv__slide--preload-hidden {
  display: none;
}

.fp-mv__slide {
  position: relative;
  height: 100vh;
  height: 100svh;
  height: var(--fp-vh, 100svh);
  overflow: hidden;
}

.fp-mv__photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100vh;
  height: var(--fp-vh, 100vh);
  min-width: 100%;
  min-height: 100%;
  max-width: none;
  max-height: none;
  object-fit: cover;
  object-position: center;
}

.fp-mv__catch {
  position: absolute;
  right: auto;
  bottom: 7rem;
  left: 50%;
  width: 30.9rem;
  max-width: calc(100% - 4rem);
  margin: 0;
  line-height: 0;
  transform: translateX(-50%);
  z-index: 2;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .fp-mv__catch {
    left: auto;
    right: 4.72%;
    bottom: 7.3%;
    width: 32.94%;
    max-width: 42.2rem;
    transform: none;
  }
}

.fp-mv__catch-image {
  width: 100%;
  height: auto;
  filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.55));
}

/*===============================================================
  ページトップへ戻るボタン（固定・.smoothでスムーススクロール）
===============================================================*/
.fp-pagetop {
  position: fixed;
  right: 1.6rem;
  bottom: 8rem;
  z-index: 90;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.2rem;
  color: #000;
}
@media screen and (min-width: 768px) {
  .fp-pagetop {
    right: 2.4rem;
    bottom: 3rem;
  }
}

@media screen and (min-width: 768px) {
  .fp-pagetop:hover {
    opacity: 0.6;
    transition: opacity 0.3s;
  }
}

.fp-pagetop__arrow {
  width: 0.9rem;
  height: 0.9rem;
  border-top: 1px solid #000;
  border-left: 1px solid #000;
  transform: rotate(45deg);
}

.fp-pagetop__txt {
  writing-mode: vertical-rl;
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-weight: 500;
  font-size: 1.1rem;
  letter-spacing: 0.25em;
  line-height: 1;
}

/*===============================================================
  Lead（カテゴリナビ + 全幅ギャラリー + 手書き見出し + 本文+マップ）
===============================================================*/
.fp__lead {
  position: relative;
  padding-top: 4.5rem;
  padding-bottom: 16rem;
}
@media screen and (min-width: 768px) {
  .fp__lead {
    padding-top: 13.5rem;
    padding-bottom: 12rem;
  }
}
.fp__lead {
  /*-- カテゴリナビ --*/
  /*-- 全幅画像ギャラリー（CSS marquee・等速連続・操作UIなし／edit01でslickから置換） --*/
  /*-- 手書き見出しSVG（左寄せ） --*/
  /*-- 本文 + マップ（黄ドット網点・京都府型イラスト） --*/
  /*-- 装飾：lead/news間ライン（Figma 449:431 / 最新差替え・edit01） --*/
}

.fp__lead__cat {
  width: 100%;
  padding: 0 1rem;
}
@media screen and (min-width: 768px) {
  .fp__lead__cat {
    max-width: 56rem;
    margin: 0 auto;
    padding: 0;
  }
}

@media screen and (min-width: 768px) {
  .fp__lead__cat-list {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
}

.fp__lead__gallery {
  width: 100%;
  margin-top: 10rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .fp__lead__gallery {
    margin-top: 19rem;
  }
}

.fp__lead__gallery__track {
  display: flex;
  width: max-content;
  animation: fpGalleryMarquee 30s linear infinite;
  will-change: transform;
}
@media screen and (min-width: 768px) {
  .fp__lead__gallery__track {
    animation-duration: 40s;
  }
}

.fp__lead__gallery__set {
  display: flex;
  gap: 2rem;
  padding: 0 2rem 0 0;
  margin: 0;
  list-style: none;
}
@media screen and (min-width: 768px) {
  .fp__lead__gallery__set {
    gap: 2.5rem;
    padding-right: 2.5rem;
  }
}

.fp__lead__gallery__item {
  flex: 0 0 auto;
  width: 23.2rem;
}
@media screen and (min-width: 768px) {
  .fp__lead__gallery__item {
    width: 30.9rem;
  }
}

.fp__lead__gallery-image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 309/333;
  object-fit: cover;
  border-radius: 5px;
}

.fp__lead__catch {
  text-align: left;
  margin: 11rem 0 0;
  padding-left: 0;
  line-height: 0;
}
@media screen and (min-width: 768px) {
  .fp__lead__catch {
    text-align: left;
    max-width: 108rem;
    margin: 28rem auto 0;
    padding-left: 0;
  }
}

.fp__lead__catch-image {
  width: 75%;
  max-width: 28rem;
  height: auto;
}
@media screen and (min-width: 768px) {
  .fp__lead__catch-image {
    width: auto;
    max-width: 54.8rem;
  }
}

.fp__lead__body {
  margin-top: 1rem;
}
@media screen and (min-width: 1080px) {
  .fp__lead__body {
    margin-top: 0;
    position: relative;
  }
}

.fp__lead__body-row {
  align-items: flex-start;
}

.fp__lead__body__txt {
  order: 2;
  margin-right: 24px;
}
@media screen and (min-width: 768px) {
  .fp__lead__body__txt {
    order: 1;
    margin-right: 0;
  }
}
@media screen and (min-width: 1080px) {
  .fp__lead__body__txt {
    margin-top: 11.3rem;
    max-width: 66rem;
  }
}

.fp__lead__body__map {
  order: 1;
  margin: 0 0 3rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .fp__lead__body__map {
    order: 2;
    margin: 0;
    text-align: left;
  }
}
@media screen and (min-width: 1080px) {
  .fp__lead__body__map {
    position: absolute;
    top: 0;
    right: 0;
    margin: 0;
    padding: 0;
    width: 51.6rem;
    max-width: 51.6rem;
  }
}

.fp__lead__body-map-image {
  width: 100%;
  max-width: 30.1rem;
  height: auto;
}
@media screen and (min-width: 768px) {
  .fp__lead__body-map-image {
    max-width: 51.6rem;
  }
}

.fp__lead__deco {
  position: absolute;
  left: auto;
  right: 1rem;
  bottom: 0;
  width: 26rem;
  height: auto;
  pointer-events: none;
  z-index: 1;
}
@media screen and (min-width: 1080px) {
  .fp__lead__deco {
    left: min(50% + 7.1rem, 100% - 48rem);
    right: auto;
    margin-left: 0;
    bottom: -7rem;
    width: 48rem;
  }
}

@media screen and (min-width: 768px) {
  .fp__lead__inner {
    padding-left: 4rem;
  }
}

.fp__lead__body__paragraph {
  font-family: noto-sans-cjk-jp, "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: 500;
  color: #000;
  font-size: 1.2rem;
  line-height: 2.33;
  letter-spacing: 0.166em;
}
@media screen and (min-width: 768px) {
  .fp__lead__body__paragraph {
    font-size: 1.6rem;
    line-height: 2.3125;
    letter-spacing: 0.1875em;
  }
}

.fp__lead__body__paragraph:not(:first-child) {
  margin-top: 2.3333em;
}
@media screen and (min-width: 768px) {
  .fp__lead__body__paragraph:not(:first-child) {
    margin-top: 2.3125em;
  }
}

.fp__lead__body__break {
  display: inline;
}

.fp__lead__body__break--pc {
  display: none;
}
@media screen and (min-width: 1080px) {
  .fp__lead__body__break--pc {
    display: inline;
  }
}

/*===============================================================
  News（NEWS見出し + 5行リスト + MORE）
===============================================================*/
.fp__news {
  margin-top: 5.5rem;
}
@media screen and (min-width: 768px) {
  .fp__news {
    margin-top: 13rem;
  }
}

.fp__news__ttl {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-weight: 500;
  font-size: 2.8rem;
  letter-spacing: 0.0625em;
  line-height: 1;
  color: #000;
  text-transform: uppercase;
}
@media screen and (min-width: 768px) {
  .fp__news__ttl {
    font-size: 4.8rem;
  }
}

.fp__news__list {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .fp__news__list {
    margin-top: 4.5rem;
  }
}

.fp__news__item {
  border-bottom: 1px solid #000;
}

.fp__news__link {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 1.4rem 0;
  color: #000;
}
@media screen and (min-width: 768px) {
  .fp__news__link {
    flex-wrap: nowrap;
    padding: 2.4rem 2.2rem;
  }
}

@media screen and (min-width: 768px) {
  .fp__news__link:hover {
    opacity: 0.7;
    transition: opacity 0.3s;
  }
}

.fp__news__date {
  order: 2;
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-weight: 400;
  font-size: 1.2rem;
  letter-spacing: 0.114em;
  line-height: 1.83;
  color: #000;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .fp__news__date {
    order: 1;
    font-size: 1.4rem;
    margin-right: 3.6rem;
  }
}

.fp__news__cat {
  order: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 7rem;
  flex: 0 0 7rem;
  height: 2.4rem;
  padding-inline: 0.6rem;
  border: 1px solid #000;
  border-radius: 3px;
  margin-right: 0.6rem;
  font-family: noto-sans-cjk-jp, "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: 500;
  font-size: 1.2rem;
  letter-spacing: 0.08em;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media screen and (min-width: 768px) {
  .fp__news__cat {
    order: 2;
    width: 9.6rem;
    flex: 0 0 9.6rem;
    height: 3.4rem;
    margin-right: 3rem;
    font-size: 1.4rem;
  }
}

.fp__news__item-title {
  order: 3;
  flex: 0 0 100%;
  width: 100%;
  margin-top: 0.6rem;
  font-family: noto-sans-cjk-jp, "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: 500;
  font-size: 1.3rem;
  letter-spacing: 0.114em;
  line-height: 1.6;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media screen and (min-width: 768px) {
  .fp__news__item-title {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    margin-top: 0;
    font-size: 1.4rem;
    line-height: 1.83;
  }
}

.fp__news__more {
  margin-top: 3rem;
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .fp__news__more {
    justify-content: flex-end;
    margin-top: 6.5rem;
  }
}

.fp-more__link {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 24.1rem;
  height: 2.5rem;
  border: 1px solid #000;
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  letter-spacing: 0.125em;
  line-height: 1;
  color: #000;
  text-transform: uppercase;
  transition: background-color 0.3s, color 0.3s;
}
@media screen and (min-width: 768px) {
  .fp-more__link {
    width: 18.5rem;
    height: 3.7rem;
    font-size: 2.4rem;
  }
}

.fp-more__link:hover {
  background-color: #000;
  color: #fff;
}

/*===============================================================
  Videos
===============================================================*/
.fp__videos {
  margin-top: 8rem;
}
@media screen and (min-width: 768px) {
  .fp__videos {
    margin-top: 15.5rem;
  }
}

.fp__videos-list {
  margin: 0;
  list-style: none;
}
@media screen and (min-width: 768px) {
  .fp__videos-list {
    display: flex;
    align-items: stretch;
    gap: 4.822%;
  }
}
@media screen and (min-width: 1080px) {
  .fp__videos-list {
    width: 107.8rem;
    margin-left: 0.1rem;
    gap: 5.2rem;
  }
}

.fp__videos-list.slick-initialized {
  display: block;
}

.fp__videos-item {
  overflow: hidden;
  border-radius: 1rem;
}

.fp__videos-item:not(:first-child) {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .fp__videos-item:not(:first-child) {
    margin-top: 0;
  }
}

@media screen and (min-width: 768px) {
  .fp__videos-item:first-child {
    flex: 0 1 47.125%;
  }
}
@media screen and (min-width: 1080px) {
  .fp__videos-item:first-child {
    flex: 0 0 50.8rem;
  }
}

@media screen and (min-width: 768px) {
  .fp__videos-item:nth-child(2) {
    flex: 0 1 48.052%;
  }
}
@media screen and (min-width: 1080px) {
  .fp__videos-item:nth-child(2) {
    flex: 0 0 51.8rem;
  }
}

.fp__videos-frame {
  display: block;
  width: 100%;
  height: auto;
  border: 0;
  border-radius: inherit;
  aspect-ratio: 16/9;
  background: #000;
}
@media screen and (min-width: 1080px) {
  .fp__videos-frame {
    height: 28.8rem;
    aspect-ratio: auto;
  }
}

/*===============================================================
  build（大判写真 + 建てる-BUILD見出し + 本文 + MORE + 装飾線）
===============================================================*/
.fp__build {
  margin-top: 8rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .fp__build {
    margin-top: 27.5rem;
  }
}

.fp__build__photo {
  position: relative;
  line-height: 0;
  width: calc(100% - 3.3rem);
  max-width: 60rem;
  margin-left: 0;
}
@media screen and (min-width: 768px) {
  .fp__build__photo {
    width: 89.6rem;
    max-width: 100%;
    margin-left: 0;
  }
}

.fp__build__photo__img {
  display: block;
  width: 100%;
  height: auto;
}

.fp__build__deco {
  position: absolute;
  left: 53.25%;
  top: 21.97%;
  width: 80.84%;
  display: block;
  transform: rotate(0.475009deg);
  transform-origin: left top;
  pointer-events: none;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .fp__build__deco {
    left: 66.75%;
    top: 32.97%;
    width: 67.34%;
  }
}
@media screen and (min-width: 1080px) {
  .fp__build__deco {
    left: auto;
    right: -34.75%;
    top: 43.97%;
    width: 53.84%;
  }
}

.fp__build__line {
  display: block;
  width: 100%;
  height: auto;
}

.fp__build__head {
  margin-top: 2rem;
  display: flex;
  justify-content: flex-end;
}
@media screen and (min-width: 768px) {
  .fp__build__head {
    display: flex;
    justify-content: flex-end;
    margin-top: 3.4rem;
  }
}

.fp__build__txt {
  margin-top: 3.5rem;
}
@media screen and (min-width: 768px) {
  .fp__build__txt {
    margin-top: 1rem;
    max-width: 64rem;
    margin-left: 3rem;
  }
}

.fp__build__paragraph {
  font-family: noto-sans-cjk-jp, "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: 500;
  color: #000;
  font-size: 1.2rem;
  line-height: 2.33;
  letter-spacing: 0.166em;
}
@media screen and (min-width: 768px) {
  .fp__build__paragraph {
    font-size: 1.6rem;
    line-height: 2.3125;
    letter-spacing: 0.1875em;
  }
}

/*-- 装飾：build（Figma 449:432 / 482.426×430.593 / rotation 0.475009deg・edit01） --*/
.fp__build__more {
  margin-top: 3.5rem;
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .fp__build__more {
    justify-content: flex-end;
    margin-top: 12rem;
  }
}

/*===============================================================
  buy（買う-BUY見出し + 2×2カード + MORE）
===============================================================*/
.fp__buy {
  position: relative;
  margin-top: 20rem;
}
@media screen and (min-width: 768px) {
  .fp__buy {
    margin-top: 17.5rem;
  }
}

.fp__buy__inner {
  position: relative;
}

.fp__buy__deco {
  position: absolute;
  left: -7rem;
  top: -16.5rem;
  width: 25rem;
  height: auto;
  pointer-events: none;
  z-index: 1;
}
@media screen and (min-width: 1080px) {
  .fp__buy__deco {
    left: -13.9rem;
    top: -23.2rem;
    width: 39.9rem;
  }
}

.fp__buy__list {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .fp__buy__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5rem 2.5rem;
    margin-top: 11rem;
  }
}
@media screen and (min-width: 768px) {
  .fp__buy__list {
    padding: 0 3.7rem 0 0;
  }
}

.fp__buy__card:not(:first-child) {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .fp__buy__card:not(:first-child) {
    margin-top: 0;
  }
}

.fp__buy__card-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.fp__buy__card-image {
  line-height: 0;
  background: rgba(255, 209, 61, 0.5);
  border-radius: 3.786px;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .fp__buy__card-image {
    border-radius: 5px;
  }
}

.fp__buy__card-photo {
  width: 100%;
  aspect-ratio: 49/30;
  height: auto;
  object-fit: cover;
  opacity: var(--fp-buy-card-photo-opacity, 1);
  transition: opacity 0.3s ease-in-out;
}

@media screen and (min-width: 768px) {
  .fp__buy__card-link:hover {
    --fp-buy-card-photo-opacity: 0.5;
  }
}

.fp__buy__card-title {
  margin-top: 1rem;
  font-family: noto-sans-cjk-jp, "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: 500;
  color: #000;
  font-size: 1.2rem;
  letter-spacing: 0.2524em;
  line-height: 1.62;
}
@media screen and (min-width: 768px) {
  .fp__buy__card-title {
    margin-top: 1.7rem;
    font-size: 1.6rem;
    letter-spacing: 0.25em;
  }
}

.fp__buy__card-location,
.fp__buy__card-date {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-weight: 400;
  color: #000;
  font-size: 0.9rem;
  letter-spacing: 0.1346em;
  line-height: 2.15;
}
@media screen and (min-width: 768px) {
  .fp__buy__card-location,
  .fp__buy__card-date {
    font-size: 1.2rem;
    letter-spacing: 0.133em;
    line-height: 2.13;
  }
}

/*-- 装飾：build/buy境界（Figma 449:433 / 399×278・edit01） --*/
.fp__buy__more {
  margin-top: 6rem;
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .fp__buy__more {
    justify-content: center;
    margin-top: 6.5rem;
  }
}

/*===============================================================
  sell（売る-SELL見出し + 本文 + MORE + 縦写真 + 装飾）
===============================================================*/
.fp__sell {
  margin-top: 11rem;
}
@media screen and (min-width: 768px) {
  .fp__sell {
    position: relative;
    margin-top: 13.4rem;
    min-height: 55rem;
  }
}

@media screen and (min-width: 1080px) {
  .fp__sell__inner {
    width: 105.4rem;
    margin-inline: auto;
    display: grid;
    grid-template-columns: 56rem 40.6rem;
    grid-template-rows: 13.8rem minmax(41.2rem, auto);
    column-gap: 9.8rem;
    align-items: start;
  }
}

.fp__sell__ttl {
  position: relative;
}
@media screen and (min-width: 1080px) {
  .fp__sell__ttl {
    grid-column: 1;
    grid-row: 1;
    padding-top: 5rem;
  }
}

.fp__sell__photo {
  position: relative;
  margin: 5rem 0 0 auto;
  width: 56.7430025445%;
  max-width: 100%;
  line-height: 0;
}
@media screen and (min-width: 768px) {
  .fp__sell__photo {
    margin-top: 3rem;
    width: 40.6rem;
  }
}
@media screen and (min-width: 1080px) {
  .fp__sell__photo {
    grid-column: 2;
    grid-row: 1/span 2;
    position: relative;
    top: auto;
    right: auto;
    margin-top: 10.7rem;
  }
}

.fp__sell__photo__img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 406/443;
  object-fit: cover;
}

.fp__sell__deco {
  position: absolute;
  left: -8.7rem;
  top: -7.9rem;
  width: clamp(26.3rem, 46vw, 34rem);
  height: clamp(18.4rem, 32.2vw, 23.8rem);
  max-width: 32rem;
  max-height: 22.4rem;
  pointer-events: none;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .fp__sell__deco {
    left: -14.8rem;
    top: -17.9rem;
    width: 39.9rem;
    height: 29.8rem;
    max-width: none;
    max-height: none;
  }
}

/*-- 装飾：sell（Figma 449:434 / 399×278・edit01） --*/
@media screen and (min-width: 1080px) {
  .fp__sell__tail {
    grid-column: 1;
    grid-row: 2;
  }
}

.fp__sell__txt {
  margin-top: 3rem;
}
@media screen and (min-width: 1080px) {
  .fp__sell__txt {
    margin-top: 2.6rem;
  }
}

.fp__sell__paragraph {
  font-family: noto-sans-cjk-jp, "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: 500;
  color: #000;
  font-size: 1.2rem;
  line-height: 2.33;
  letter-spacing: 0.166em;
}
@media screen and (min-width: 768px) {
  .fp__sell__paragraph {
    font-size: 1.6rem;
    line-height: 2.3125;
    letter-spacing: 0.1875em;
  }
}

.fp__sell__break {
  display: none;
}
@media screen and (min-width: 1080px) {
  .fp__sell__break {
    display: inline;
  }
}

.fp__sell__txt__break--sentence {
  display: inline;
}

.fp__sell__more {
  margin-top: 3rem;
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .fp__sell__more {
    justify-content: flex-end;
    max-width: 51rem;
    margin-top: 5.5rem;
  }
}
@media screen and (min-width: 1080px) {
  .fp__sell__more {
    margin-top: 6rem;
  }
}

/*===============================================================
  use
===============================================================*/
.fp__use-promo {
  margin-top: 11rem;
}
@media screen and (min-width: 768px) {
  .fp__use-promo {
    margin-top: 16.6rem;
  }
}

.fp__use-promo__inner {
  position: relative;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .fp__use-promo__inner {
    display: block;
    aspect-ratio: 1080/552;
  }
}
@media screen and (min-width: 1080px) {
  .fp__use-promo__inner {
    width: 108rem;
    min-height: 55.2rem;
    aspect-ratio: auto;
  }
}

.fp__use-promo__photo {
  position: relative;
  order: 1;
  width: 100%;
  aspect-ratio: 867/299;
  overflow: hidden;
  line-height: 0;
}
@media screen and (min-width: 768px) {
  .fp__use-promo__photo {
    position: absolute;
    left: -0.463%;
    top: 0;
    width: 80.278%;
  }
}
@media screen and (min-width: 1080px) {
  .fp__use-promo__photo {
    left: -0.5rem;
    width: 86.7rem;
    height: 29.9rem;
    aspect-ratio: auto;
  }
}

.fp__use-promo__photo-image {
  position: absolute;
  left: 0;
  top: -27.06%;
  display: block;
  width: 100%;
  max-width: none;
  height: 152.03%;
}

.fp__use-promo__deco {
  position: absolute;
  right: -1rem;
  top: 7rem;
  z-index: 1;
  width: 61%;
  height: auto;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .fp__use-promo__deco {
    left: auto;
    right: 0;
    top: 16.304%;
    width: 36.944%;
  }
}
@media screen and (min-width: 1080px) {
  .fp__use-promo__deco {
    left: auto;
    right: 0;
    top: 9rem;
    width: 39.9rem;
  }
}

.fp__use-promo__ttl {
  order: 2;
  align-self: flex-end;
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .fp__use-promo__ttl {
    position: absolute;
    left: 74.815%;
    top: 66.848%;
    margin-top: 0;
  }
}
@media screen and (min-width: 1080px) {
  .fp__use-promo__ttl {
    left: 80.8rem;
    top: 36.9rem;
  }
}

.fp__use-promo__txt {
  order: 3;
  margin-top: 3.5rem;
}
@media screen and (min-width: 768px) {
  .fp__use-promo__txt {
    position: absolute;
    left: 0;
    top: 67.754%;
    width: 42.222%;
    margin-top: 0;
  }
}
@media screen and (min-width: 1080px) {
  .fp__use-promo__txt {
    top: 37.4rem;
    width: 45.6rem;
  }
}

.fp__use-promo__paragraph {
  font-family: noto-sans-cjk-jp, "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: 500;
  color: #000;
  font-size: 1.2rem;
  line-height: 2.33;
  letter-spacing: 0.166em;
}
@media screen and (min-width: 768px) {
  .fp__use-promo__paragraph {
    font-size: 1.6rem;
    line-height: 2.3125;
    letter-spacing: 0.1875em;
  }
}

.fp__use-promo__break {
  display: none;
}
@media screen and (min-width: 768px) {
  .fp__use-promo__break {
    display: inline;
  }
}

.fp__use-promo__more {
  order: 4;
  display: flex;
  justify-content: center;
  margin-top: 3.5rem;
}
@media screen and (min-width: 768px) {
  .fp__use-promo__more {
    position: absolute;
    left: auto;
    right: 0;
    top: 93.297%;
    margin-top: 0;
  }
}
@media screen and (min-width: 1080px) {
  .fp__use-promo__more {
    left: auto;
    right: 0.1rem;
    top: 51.5rem;
  }
}

@media screen and (min-width: 1122px) {
  .fp__use-promo__inner {
    width: 110.6rem;
    margin-left: -0.5rem;
  }
  .fp__use-promo__photo {
    left: 0;
  }
  .fp__use-promo__deco {
    right: 0;
  }
  .fp__use-promo__ttl {
    left: 81.3rem;
  }
  .fp__use-promo__txt {
    left: 0.5rem;
  }
  .fp__use-promo__more {
    right: 2.2rem;
  }
}
/*===============================================================
  About（ABOUT見出し + 本文 + MORE + 装飾 + 大判地図）
===============================================================*/
.fp__about {
  margin-top: 16rem;
  padding-bottom: 8rem;
}
@media screen and (min-width: 768px) {
  .fp__about {
    margin-top: 14.6rem;
    padding-bottom: 14rem;
  }
}
.fp__about {
  /*-- 装飾：about（Figma 452:437 / 494×345・最新差替え・edit01） --*/
}

.fp__about__head {
  position: relative;
}
@media screen and (min-width: 768px) {
  .fp__about__head {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
  }
}

.fp__about__ttl {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-weight: 500;
  font-size: 2.4rem;
  letter-spacing: 0.0833em;
  line-height: 1;
  color: #000;
  text-transform: uppercase;
}
@media screen and (min-width: 768px) {
  .fp__about__ttl {
    flex: 0 0 100%;
    font-size: 4.8rem;
    letter-spacing: 0.0625em;
  }
}

.fp__about__txt {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .fp__about__txt {
    flex: 0 0 60%;
    margin-block: 4rem;
    max-width: 61.5rem;
    padding-left: 2rem;
  }
}

.fp__about__paragraph {
  font-family: noto-sans-cjk-jp, "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: 500;
  color: #000;
  font-size: 1.2rem;
  line-height: 2.33;
  letter-spacing: 0.166em;
}
@media screen and (min-width: 768px) {
  .fp__about__paragraph {
    font-size: 1.6rem;
    line-height: 2.3125;
    letter-spacing: 0.1875em;
  }
}

.fp__about__paragraph:not(:first-child) {
  margin-top: 2em;
}

.fp__about__more {
  margin-top: 3rem;
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .fp__about__more {
    position: absolute;
    right: 0;
    bottom: -5rem;
    margin-top: 0;
  }
}

.fp__about__deco {
  position: absolute;
  left: 15rem;
  right: 0;
  top: -8rem;
  width: 27rem;
  height: auto;
  transform: rotate(10deg);
  pointer-events: none;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .fp__about__deco {
    left: auto;
    right: 3.8rem;
    top: -5rem;
    width: 49.4rem;
    transform: none;
    max-width: 36vw;
  }
}

.fp__about__map {
  margin-top: 4rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .fp__about__map {
    margin-top: 10rem;
  }
}

.fp__about__map-image {
  width: 100%;
  max-width: 72.7735368957%;
  height: 100%;
  aspect-ratio: 286/177;
  object-fit: cover;
}
@media screen and (min-width: 768px) {
  .fp__about__map-image {
    max-width: 92.6rem;
    height: auto;
    aspect-ratio: auto;
  }
}

/*===============================================================
  フッター（新トップ専用 bg#4a4a4a・ナビ7白 + SITE MAP）
===============================================================*/
.fp-footer {
  width: 100%;
  background: #4a4a4a;
  padding: 6rem 2.4rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .fp-footer {
    height: 27.4rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0;
  }
}

.fp-footer__nav-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.6rem 2.4rem;
}
@media screen and (min-width: 768px) {
  .fp-footer__nav-list {
    flex-wrap: nowrap;
    gap: 0;
  }
}

@media screen and (min-width: 768px) {
  .fp-footer__nav-item {
    margin: 0 1.4rem;
  }
}

.fp-footer__nav-link {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-weight: 500;
  font-size: 1.5rem;
  letter-spacing: 0.2em;
  line-height: 1;
  color: #fff;
  text-transform: uppercase;
  white-space: nowrap;
}

@media screen and (min-width: 768px) {
  .fp-footer__nav-link:hover {
    opacity: 0.7;
    transition: opacity 0.3s;
  }
}

.fp-footer__sitemap {
  margin-top: 2.4rem;
}
@media screen and (min-width: 768px) {
  .fp-footer__sitemap {
    margin-top: 3rem;
  }
}

.fp-footer__sitemap-link {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-weight: 500;
  font-size: 1.2rem;
  letter-spacing: 0.25em;
  line-height: 1.25;
  color: #fff;
  text-transform: uppercase;
}

@media screen and (min-width: 768px) {
  .fp-footer__sitemap-link:hover {
    opacity: 0.7;
    transition: opacity 0.3s;
  }
}

/*===============================================================
  SP（≤767px）：建てる/くらし/About は 600px 枠を中央配置・中身は左寄せ（#edit04）
  ※768px以上はPCレイアウト（このブロックは max-width 767 限定）
===============================================================*/
@media screen and (max-width: 767px) {
  .fp__lead__cat {
    max-width: 60rem;
    margin-inline: auto;
    text-align: left;
  }
  .fp__build__ttl,
  .fp__buy__ttl,
  .fp__sell__ttl,
  .fp__use-promo__ttl {
    justify-content: flex-start;
  }
  .fp__news__more,
  .fp__build__more,
  .fp__buy__more,
  .fp__sell__more,
  .fp__use-promo__more,
  .fp__about__more {
    justify-content: center;
  }
  .fp__lead__catch {
    text-align: center;
  }
}
/*===============================================================
  （edit01で削除）建てる/売る のPC/SP合成写真の出し分け上書き。
  写真と装飾を別DOMに分離し、1枚の写真アセットを流体幅で使う方式に変更したため、
  d-s-none / d-l-block / d-l-none による切替そのものが不要になった。
===============================================================*/
.subpage-shell {
  position: relative;
  width: 100%;
  overflow-x: hidden;
  background: url(../img/top/fp-bg-fixed.jpg) no-repeat center center fixed;
  background-size: cover;
  color: #000;
}

.subpage-mv {
  position: relative;
  padding-top: 11rem;
}
@media screen and (min-width: 1080px) {
  .subpage-mv {
    padding-top: 17.9rem;
  }
}

.subpage-mv__inner {
  position: relative;
  padding-bottom: 4rem;
}
@media screen and (min-width: 1080px) {
  .subpage-mv__inner {
    padding-bottom: 4.4rem;
  }
}

.subpage-mv__photo {
  margin-bottom: 0;
}

.subpage-mv__picture {
  display: block;
}

.subpage-mv__image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 373/504;
  object-fit: cover;
  border-radius: 10px;
}
@media screen and (min-width: 768px) {
  .subpage-mv__image {
    aspect-ratio: 1061/504;
  }
}

.subpage-mv__deco {
  --line-delay: 0.25s;
  --line-duration: 1s;
  position: absolute;
  right: -7rem;
  bottom: -3rem;
  z-index: 2;
  width: 20rem;
  height: auto;
  max-width: none;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .subpage-mv__deco {
    right: max(-4.2rem, min(0rem, (108rem - 100vw) / 2));
  }
}
@media screen and (min-width: 1080px) {
  .subpage-mv__deco {
    right: max(-13rem, (108rem - 100vw) / 2);
    bottom: -10.2rem;
    width: 41.9rem;
  }
}

.subpage-mv__title {
  position: absolute;
  left: 0;
  bottom: 0.9rem;
  display: flex;
  align-items: flex-end;
  z-index: 3;
  color: #000;
}
@media screen and (min-width: 1080px) {
  .subpage-mv__title {
    left: max(-5.1rem, (108rem - 100vw) / 2);
    bottom: -0.1rem;
  }
}

.subpage-mv__jp {
  display: inline-flex;
  align-items: flex-end;
  position: relative;
  top: 0;
  font-family: YuGothic, "游ゴシック", sans-serif;
  font-weight: 700;
}

.subpage-mv__lead-char {
  display: block;
  font-weight: inherit;
  line-height: 1;
  font-size: 5.9rem;
  letter-spacing: 0;
}
@media screen and (min-width: 1080px) {
  .subpage-mv__lead-char {
    font-size: 8.9rem;
  }
}

.subpage-mv__okuri {
  display: block;
  width: 4rem;
  font-weight: inherit;
  line-height: 1;
  font-size: 4rem;
  letter-spacing: 0;
  margin-left: -0.125em;
}
@media screen and (min-width: 1080px) {
  .subpage-mv__okuri {
    width: 6.1rem;
    font-size: 6.0339rem;
  }
}

.subpage-mv__okuri--wide {
  width: auto;
  white-space: nowrap;
}

.subpage-mv__sub {
  position: relative;
  bottom: 0.5rem;
  display: inline-flex;
  align-items: center;
}
@media screen and (min-width: 1080px) {
  .subpage-mv__sub {
    bottom: 0.755rem;
  }
}

.subpage-mv__bar {
  display: block;
  flex: 0 0 auto;
  width: 2.95rem;
  height: 1px;
  background: #000;
  margin: 0 0.85rem 0 0.4rem;
  transform: translateY(-0.05rem);
}
@media screen and (min-width: 1080px) {
  .subpage-mv__bar {
    width: 4.45rem;
    margin: 0 1.2822rem 0 0.5373rem;
    transform: translateY(-0.1rem);
  }
}

.subpage-mv__en {
  display: block;
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-weight: 500;
  font-size: 3.2rem;
  letter-spacing: 0.094em;
  line-height: 1.5rem;
  text-transform: uppercase;
}
@media screen and (min-width: 1080px) {
  .subpage-mv__en {
    font-size: 4.8271rem;
    line-height: 2.2627rem;
  }
}

/*===============================================================
  ドロワーメニュー（fp-header 専用 / Figma node 2004:316 準拠）
  ハンバーガー → 全画面オーバーレイ
  構成: 背景(TOPと同じ写真+クリーム+暗幕) / 業種セレクタ横1行 / 2カラムメニュー
  ※適用は fp-header を使うページのみ（トップ / 買う / 売る）
  ※ヘッダーバー(z:10000)はドロワー(z:9999)より前＝開いてもロゴ/ナビは選択可能
===============================================================*/
.fp-drawer {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
  z-index: 9999;
  background: linear-gradient(rgba(45, 45, 45, 0.3), rgba(45, 45, 45, 0.3)), url(../img/top/fp-bg-texture.jpg) center/cover no-repeat;
  background-attachment: fixed, fixed;
  background-color: #afaeaa;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.fp-drawer__actions {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  justify-items: center;
  align-items: start;
  max-width: 70rem;
  margin: 21.4rem auto 0;
  padding: 0 1rem;
}

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

.fp-drawer__action-link {
  --fp-drawer-mark-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Ccircle cx='5' cy='5' r='5' fill='%23fff'/%3E%3C/svg%3E");
  --fp-drawer-mark-size: 1.675rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #fff;
  transition: opacity 0.3s;
}

.fp-drawer__action-en {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 12.56px;
  font-size: 1.256rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.2em;
  color: #fff;
  text-transform: uppercase;
}

.fp-drawer__action-jp {
  margin-top: 0.8rem;
  font-family: "游ゴシック体", "YuGothic", "Yu Gothic", sans-serif;
  font-size: 33.493px;
  font-size: 3.3493rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.2em;
  letter-spacing: -0.04em;
  color: #fff;
  white-space: nowrap;
}

.fp-drawer__action-k {
  font-size: 49.402px;
  font-size: 4.9402rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.2em;
  letter-spacing: 0;
}

.fp-drawer__action-mark {
  margin-top: 0.9rem;
  width: 2.847rem;
  height: 2.847rem;
  background: var(--fp-drawer-mark-image) center/var(--fp-drawer-mark-size) no-repeat;
  transition: background 0.15s ease;
}

.fp-drawer__action-link:hover,
.fp-drawer__action-link:focus-visible {
  --fp-drawer-mark-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28' fill='none'%3E%3Ccircle cx='14' cy='14' r='13' stroke='%23fff' stroke-width='1.3'/%3E%3Cpath d='M14 7.5 V19 M9.6 14.6 L14 19.4 L18.4 14.6' stroke='%23fff' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --fp-drawer-mark-size: 2.847rem;
}

.fp-drawer__inner {
  display: flex;
  gap: 5.2rem;
  max-width: 95.8rem;
  margin: 8rem auto 0;
  padding: 0 3rem 8rem;
}

.fp-drawer__col {
  flex: 1;
  min-width: 0;
}

.fp-drawer__group {
  margin-bottom: 3rem;
}

.fp-drawer__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 1.2rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.55);
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 22px;
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.18em;
  color: #fff;
  text-transform: uppercase;
  transition: opacity 0.3s;
}

.fp-drawer__head::after {
  content: "";
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.2rem;
  margin-left: 1rem;
  background: url(../img/drawer/drawer-arrow.svg) center/contain no-repeat;
}

@media screen and (min-width: 768px) {
  .fp-drawer__head:hover {
    color: #fff;
    opacity: 0.7;
  }
}

.fp-drawer__sub {
  margin-top: 1.2rem;
}

.fp-drawer__sub-item:not(:last-child) {
  margin-bottom: 1.2rem;
}

.fp-drawer__sub-link {
  display: inline-block;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.42;
  letter-spacing: 0.1em;
  color: #fff;
  transition: opacity 0.3s;
}

@media screen and (min-width: 768px) {
  .fp-drawer__sub-link:hover {
    opacity: 0.7;
  }
}

.fp-drawer__foot {
  margin-top: 2.4rem;
}

.fp-drawer__foot-link {
  display: block;
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.17em;
  color: #fff;
  text-transform: uppercase;
  transition: opacity 0.3s;
}

.fp-drawer__foot-link:not(:last-child) {
  margin-bottom: 1.4rem;
}

@media screen and (min-width: 768px) {
  .fp-drawer__foot-link:hover {
    opacity: 0.7;
  }
}

/*-------------------------------
  SP（専用デザインなし → 業種行は縮小、メニューは1カラム）
-------------------------------*/
@media screen and (max-width: 767px) {
  .fp-drawer {
    background: linear-gradient(rgba(45, 45, 45, 0.3), rgba(45, 45, 45, 0.3)), url(../img/top/fp-bg-texture.jpg) center/cover no-repeat;
    background-color: #afaeaa;
  }
  .fp-drawer__actions {
    max-width: 100%;
    margin-top: 12rem;
    padding: 0 1.2rem;
  }
  .fp-drawer__action-en {
    font-size: 9px;
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.12em;
  }
  .fp-drawer__action-jp {
    margin-top: 0.4rem;
    font-size: 19px;
    font-size: 1.9rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.06em;
  }
  .fp-drawer__action-k {
    font-size: 26px;
    font-size: 2.6rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.06em;
  }
  .fp-drawer__action-mark {
    margin-top: 0.5rem;
    width: 1.8rem;
    height: 1.8rem;
    background-size: 1rem;
  }
  .fp-drawer__action-link:hover,
  .fp-drawer__action-link:focus-visible {
    --fp-drawer-mark-size: 1.8rem;
  }
  .fp-drawer__inner {
    flex-direction: column;
    gap: 0;
    margin-top: 5rem;
    padding: 0 2.4rem 6rem;
    max-width: 100%;
  }
}
@media (any-hover: hover) {
  .fp-drawer__action-link:hover,
  .fp-drawer__action-link:focus-visible {
    opacity: 0.7;
  }
}
.fp-header__toggle {
  position: fixed;
  top: calc((8rem - 20px) / 2);
  right: 2.4rem;
  width: 28px;
  height: 20px;
  z-index: 10010;
}
@media screen and (min-width: 768px) {
  .fp-header__toggle {
    right: 4rem;
  }
}

.fp-header__toggle-line {
  display: inline-block;
  position: absolute;
  right: 0;
  width: 28px;
  height: 2px;
  background-color: #000;
  transition: 0.5s ease;
}

.fp-header__toggle-line--top {
  top: 0;
  transform: var(--fp-header-toggle-top-transform, none);
}

.fp-header__toggle-line--middle {
  top: 10px;
  opacity: var(--fp-header-toggle-middle-opacity, 1);
}

.fp-header__toggle-line--bottom {
  top: 20px;
  transform: var(--fp-header-toggle-bottom-transform, none);
}

.fp-header__toggle.active {
  --fp-header-toggle-top-transform: translateY(10px) rotate(45deg);
  --fp-header-toggle-middle-opacity: 0;
  --fp-header-toggle-bottom-transform: translateY(-10px) rotate(-45deg);
}

body.fixed {
  position: fixed;
  width: 100%;
  left: 0;
}

.content--sub {
  padding-top: 8rem;
}

/*===================================================================

  買う / BUY ページ（archive-buy.php / page-buy.php）
  - 既存テーマ作法に準拠（@import / 入れ子&連結 / @mixin tab・pc / 62.5%基準 / em letter-spacing）
  - ヘッダー/フッターは fp-header / fp-footer を流用（get_header('fp')）
  - カードは _top-renewal.scss の .fp__buy__card / .card-* をそのまま再利用
  - 出典: mcp-log/buy/design-context-*.md（Figma実測値・node 2024:272 / 2019:273）

===================================================================*/
.buy {
  padding-bottom: 8rem;
}
@media screen and (min-width: 1080px) {
  .buy {
    padding-bottom: 14rem;
  }
}

/*-------------------------------
  新着物件 NEW（node 2019:273 / カードは fp__buy 流用）
-------------------------------*/
.buy__new {
  margin-top: 11.5rem;
}
@media screen and (min-width: 1080px) {
  .buy__new {
    margin-top: 17rem;
  }
}

.buy__new__ttl {
  display: flex;
  align-items: baseline;
  gap: 1rem;
}

.buy__new__jp {
  font-family: noto-sans-cjk-jp, "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: 700;
  color: #000;
  font-size: 2.4rem;
  letter-spacing: 0.0625em;
  line-height: 1;
}
@media screen and (min-width: 1080px) {
  .buy__new__jp {
    font-size: 3.2rem;
  }
}

.buy__new__en {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-weight: 500;
  color: #000;
  font-size: 1.6rem;
  letter-spacing: 0.15em;
  line-height: 1;
  text-transform: uppercase;
}
@media screen and (min-width: 1080px) {
  .buy__new__en {
    font-size: 2rem;
  }
}

.buy__new__list {
  margin-top: 3.5rem;
}
@media screen and (min-width: 1080px) {
  .buy__new__list {
    margin-top: 6rem;
    gap: 3.8rem 2.5rem;
    padding-inline: 0;
  }
}

/*===================================================================

  物件詳細ページ（single-buy.php）BUY-SHOSAI
  - フラットセレクタ / @mixin tab・pc / 62.5%基準 / em letter-spacing
  - ヘッダー/フッターは fp-header / fp-footer を流用（get_header('fp')）
  - 出典: mcp-log/buy-shosai/{mv,side,main}/design-context.md（Figma実測 node 2024:273 / 2024:274 / 2024:275）
  - 構成: MV(物件名+英ロケ+ヒーロー) → 2カラム[ side(物件情報) ┊ main(本文+写真ギャラリー) ]

===================================================================*/
.buy-shosai {
  position: relative;
  width: 100%;
  overflow-x: hidden;
  background: url(../img/top/fp-bg-fixed.jpg) no-repeat center center fixed;
  background-size: cover;
  color: #000;
  padding-bottom: 8rem;
}
@media screen and (min-width: 1080px) {
  .buy-shosai {
    padding-bottom: 14rem;
  }
}

/*-------------------------------
  内側コンテンツ幅（1080px）
-------------------------------*/
.buy-shosai__inner {
  width: 100%;
  max-width: 108rem;
  margin-inline: auto;
  padding-inline: 1rem;
}
@media screen and (min-width: 1080px) {
  .buy-shosai__inner {
    padding-inline: 0;
  }
}

/*-------------------------------
  MV（node 2024:273）物件名 + 英ロケーション + ヒーロー画像
-------------------------------*/
.buy-shosai__mv {
  padding-top: 18rem;
}
@media screen and (min-width: 1080px) {
  .buy-shosai__mv {
    padding-top: 22rem;
  }
}

.buy-shosai__mv__ttl {
  font-family: noto-sans-cjk-jp, "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: 500;
  color: #000;
  font-size: 1.6rem;
  letter-spacing: 0.2em;
  line-height: 1.4;
}
@media screen and (min-width: 1080px) {
  .buy-shosai__mv__ttl {
    font-size: 3.2rem;
    letter-spacing: 0.21875em;
    line-height: 0.8;
  }
}

.buy-shosai__mv__loc {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-weight: 400;
  color: #000;
  font-size: 1.3rem;
  letter-spacing: 0.114em;
  line-height: 1.83;
  margin-top: 2rem;
}
@media screen and (min-width: 1080px) {
  .buy-shosai__mv__loc {
    font-size: 1.4rem;
    margin-top: 1.7rem;
  }
}

.buy-shosai__mv__photo {
  margin-top: 10rem;
  line-height: 0;
}
@media screen and (min-width: 1080px) {
  .buy-shosai__mv__photo {
    margin-top: 5.9rem;
  }
}

.buy-shosai__mv__photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 371/496;
  object-fit: cover;
  border-radius: 0;
}
@media screen and (min-width: 1080px) {
  .buy-shosai__mv__photo img {
    aspect-ratio: 1080/496;
  }
}

/*-------------------------------
  本文エリア（2カラム）
-------------------------------*/
.buy-shosai__body {
  margin-top: 3rem;
}
@media screen and (min-width: 1080px) {
  .buy-shosai__body {
    margin-top: 5.9rem;
  }
}

.buy-shosai__cols {
  display: flex;
  flex-direction: column;
  gap: 5rem;
}
@media screen and (min-width: 1080px) {
  .buy-shosai__cols {
    flex-direction: row;
    align-items: flex-start;
    gap: 4.4rem;
  }
}

/*-------------------------------
  side（node 2024:274）物件情報
-------------------------------*/
.buy-shosai__side {
  width: 100%;
}
@media screen and (min-width: 1080px) {
  .buy-shosai__side {
    width: 23.6rem;
    flex-shrink: 0;
  }
}

.buy-shosai__side__no {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-weight: 400;
  font-size: 1.2rem;
  color: #999;
  letter-spacing: 0.133em;
  line-height: 2.13;
}

.buy-shosai__side__name {
  font-family: noto-sans-cjk-jp, "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: 500;
  font-size: 1.2rem;
  color: #000;
  letter-spacing: 0.25em;
  line-height: 1.6;
  margin-top: -0.2rem;
}
@media screen and (min-width: 1080px) {
  .buy-shosai__side__name {
    font-size: 1.6rem;
  }
}

.buy-shosai__side__info {
  margin-top: 3.1rem;
}

.buy-shosai__side__info dt {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-weight: 400;
  font-size: 1.2rem;
  color: #999;
  letter-spacing: 0.133em;
  line-height: 2.13;
}

.buy-shosai__side__info dd {
  font-family: noto-sans-cjk-jp, "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: 500;
  font-size: 1.2rem;
  color: #000;
  letter-spacing: 0.167em;
  line-height: 1.5;
  margin-top: 0.1rem;
}

.buy-shosai__side__info dd + dt {
  margin-top: 3.4rem;
}

/*-------------------------------
  main（node 2024:275）本文 + 写真ギャラリー
-------------------------------*/
.buy-shosai__main {
  width: 100%;
  min-width: 0;
}
@media screen and (min-width: 1080px) {
  .buy-shosai__main {
    flex: 1;
  }
}

.buy-shosai__main__text {
  padding-top: 3rem;
}
@media screen and (min-width: 1080px) {
  .buy-shosai__main__text {
    margin-top: 3.5rem;
    padding-top: 4rem;
  }
}

.buy-shosai__main__text p {
  font-family: noto-sans-cjk-jp, "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: 500;
  font-size: 1.2rem;
  color: #000;
  line-height: 2.6666666667;
}
@media screen and (min-width: 1080px) {
  .buy-shosai__main__text p {
    font-size: 1.4rem;
    line-height: 2.285;
  }
}

.buy-shosai__main__text p + p {
  margin-top: 3.2rem;
}

.buy-shosai__main__text img {
  display: block;
  width: 100%;
  height: auto;
}

.buy-shosai__main__text figure {
  margin: 2.7rem 0 0;
  line-height: 0;
}

.buy-shosai__main__text figure + figure {
  margin-top: 1.5rem;
}

.buy-shosai__main__text p + figure {
  margin-top: 10rem;
}
@media screen and (min-width: 1080px) {
  .buy-shosai__main__text p + figure {
    margin-top: 2.7rem;
  }
}

.buy-shosai__main__text figure + p {
  margin-top: 3.2rem;
}

/*-------------------------------
  記事別の画像gap（PCのみ・Figma実測どおり）

  Figma上で記事ごとにgapが違うため、共通CSSで一律に正規化せず記事別に出し分ける。
  フックは single-buy.php が article へ出す `.buy-shosai--article-{post_nameの短いhash}`。
  投稿方式（アイキャッチ＋the_content内のメディア画像）は一切変えていない。

  ※body_class() の postid-{ID} を使わない理由：
    このテーマの <body> は素の `<body>` で、body_class() を足すと `.single`（既存7ルール）が
    全singleページで新たに効いてしまう。post_class() も `.buy`（既存1ルール）と衝突する。
    どちらも実測で確認したため、衝突しない専用クラスにした。

  | 記事 | article key | Figma node | 画像間gap | 最初の画像の前 |
  |---|---|---|---|---|
  | buy-1 | 既定 | 193:2   | 15px | 27px |  ← 上の既定値
  | buy-2 | 87c9d08cd24b | 213:171 | 25px | 69px |  ← ここで上書き

  ※buy-2 の実測は 25px×13 / 26px×25 / 27px×2 だが、CSSの連続列では1値しか持てないため
    最頻値に近く設計値でもある 25px を採用する（1〜2pxの微差は意図的差異として記録）。
-------------------------------*/
@media screen and (min-width: 1080px) {
  .buy-shosai--article-87c9d08cd24b .buy-shosai__main__text figure + figure {
    margin-top: 2.5rem;
  }
}

@media screen and (min-width: 1080px) {
  .buy-shosai--article-87c9d08cd24b .buy-shosai__main__text p + figure {
    margin-top: 6.9rem;
  }
}

.buy-shosai--article-87c9d08cd24b .buy-shosai__main__text figure:first-of-type img {
  aspect-ratio: 794/721;
  height: auto;
  object-fit: cover;
  object-position: top;
}

.buy-shosai__gallery {
  margin-top: 2.7rem;
}

.buy-shosai__gallery figure {
  line-height: 0;
}

.buy-shosai__gallery figure + figure {
  margin-top: 1.5rem;
}

.buy-shosai__gallery img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

/*===================================================================

  売る / SELL ページ（page-sell.php）
  - 既存テーマ作法に準拠（@import / 入れ子&連結 / @mixin tab・pc / 62.5%基準 / em letter-spacing）
  - ヘッダー/フッターは fp-header / fp-footer を流用（get_header('fp')）
  - SP版Figma URLは無し → PCフル実装＋SPは基本レスポンシブ（@include tab/pc）
  - 出典: mcp-log/sell/*-design-context.md（Figma実測値 / node MV2065:283・main2064:280・売る2064:281・いかす2064:282）

===================================================================*/
.sell {
  padding-bottom: 8rem;
}
@media screen and (min-width: 1080px) {
  .sell {
    padding-bottom: 18rem;
  }
}

#uru,
#ikasu {
  scroll-margin-top: 9rem;
}

.sell__sec-ttl {
  justify-content: flex-start;
}

@media screen and (min-width: 768px) {
  .sell__sec-ttl__bar {
    width: 2.95rem;
    margin: 0 0.2rem;
  }
}

@media screen and (min-width: 768px) {
  .sell__sec-ttl__en {
    font-size: 3.2rem;
    margin-left: 0.5rem;
  }
}

/*-------------------------------
  導入／コンセプト（node 2064:280）
-------------------------------*/
.sell__intro {
  margin-top: 8rem;
}
@media screen and (min-width: 1080px) {
  .sell__intro {
    margin-top: 16.2rem;
  }
}

.sell__intro__lead {
  font-family: noto-sans-cjk-jp, "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: 700;
  color: #000;
  font-size: 1.9rem;
  line-height: 1.6;
  letter-spacing: 0.125em;
  text-align: center;
}
@media screen and (min-width: 1080px) {
  .sell__intro__lead {
    font-size: 2.4rem;
    line-height: 1.54;
  }
}

.sell__intro__text {
  margin-top: 4rem;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .sell__intro__text {
    text-align: center;
  }
}
@media screen and (min-width: 1080px) {
  .sell__intro__text {
    margin-top: 7.5rem;
  }
}

.sell__intro__paragraph {
  font-family: noto-sans-cjk-jp, "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: 500;
  color: #000;
  font-size: 1.4rem;
  line-height: 2.2;
  letter-spacing: 0.16em;
}
@media screen and (min-width: 1080px) {
  .sell__intro__paragraph {
    font-size: 1.6rem;
    line-height: 2.3125;
    letter-spacing: 0.1875em;
  }
}

.sell__intro__paragraph:not(:first-child) {
  margin-top: 2em;
}

.sell__intro__break {
  display: none;
}
@media screen and (min-width: 1080px) {
  .sell__intro__break {
    display: inline;
  }
}

.sell__intro__sub {
  margin-top: 6rem;
  font-family: noto-sans-cjk-jp, "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: 700;
  color: #000;
  font-size: 2rem;
  line-height: 1.54;
  letter-spacing: 0.125em;
  text-align: center;
}
@media screen and (min-width: 1080px) {
  .sell__intro__sub {
    margin-top: 7.5rem;
    font-size: 2.4rem;
  }
}

/*-- お悩み3カード（白カード＋Figma指定アイコン） --*/
.sell__cases {
  margin-top: 6rem;
}
@media screen and (min-width: 768px) {
  .sell__cases {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.3rem;
  }
}
@media screen and (min-width: 1080px) {
  .sell__cases {
    margin-top: 11.4rem;
  }
}

.sell__case {
  background: #fff;
  border-radius: 10px;
  text-align: center;
  padding: 2.5rem 1.5rem 3.8rem;
}

.sell__case:not(:first-child) {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .sell__case:not(:first-child) {
    margin-top: 0;
  }
}

.sell__case__ttl {
  font-family: noto-sans-cjk-jp, "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: 700;
  color: #000;
  font-size: 1.6rem;
  line-height: 1.61;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 1080px) {
  .sell__case__ttl {
    font-size: 1.8rem;
    line-height: 1.61;
  }
}

.sell__case__img {
  margin-top: 4.3rem;
  width: 17.3rem;
  max-width: 100%;
  aspect-ratio: 173/95;
  margin-inline: auto;
  background: transparent;
}

/*-- 売る/活かす 2連リンク（#uru / #ikasu へアンカー） --*/
.sell__links {
  margin-top: 6rem;
  width: 100%;
  display: block;
}
@media screen and (min-width: 768px) {
  .sell__links {
    display: flex;
    justify-content: center;
    gap: 8rem;
  }
}
@media screen and (min-width: 1080px) {
  .sell__links {
    margin-top: 9.3rem;
    gap: 12rem;
  }
}

/*-------------------------------
  売る／売却の流れ（node 2064:281）
-------------------------------*/
.sell__uru {
  margin-top: 10rem;
}
@media screen and (min-width: 1080px) {
  .sell__uru {
    margin-top: 2.2rem;
  }
}

@media screen and (min-width: 1080px) {
  .sell__uru__head {
    position: relative;
    min-height: 62.5rem;
  }
}

@media screen and (min-width: 1080px) {
  .sell__uru__head__body {
    position: absolute;
    top: 18.5rem;
    left: 0;
    width: 55rem;
    max-width: 55rem;
  }
}

.sell__uru__lead {
  margin-top: 3rem;
  font-family: noto-sans-cjk-jp, "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: 400;
  color: #000;
  font-size: 1.4rem;
  line-height: 2.2;
  letter-spacing: 0.16em;
}
@media screen and (min-width: 1080px) {
  .sell__uru__lead {
    margin-top: 6rem;
    margin-left: 5.4rem;
    max-width: 49.8rem;
    min-height: 25.9rem;
    font-size: 1.6rem;
    line-height: 2.3125;
    letter-spacing: 0.1875em;
  }
}

.sell__uru__break {
  display: none;
}
@media screen and (min-width: 1080px) {
  .sell__uru__break {
    display: inline;
  }
}

.sell__uru__img {
  position: relative;
  margin-top: 3rem;
  margin-bottom: 0;
  width: 100%;
  line-height: 0;
}

.sell__uru__image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 440/472;
  object-fit: cover;
  object-position: center 29%;
}

@media screen and (min-width: 1080px) {
  .sell__uru__img {
    position: absolute;
    top: auto;
    bottom: 0;
    right: 0;
    width: 44rem;
    margin-top: 0;
  }
}

.sell__uru__deco {
  position: absolute;
  top: -7rem;
  left: -3rem;
  z-index: 2;
  width: 25rem;
  height: auto;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .sell__uru__deco {
    left: 0;
  }
}
@media screen and (min-width: 1080px) {
  .sell__uru__deco {
    top: -15.3rem;
    left: -9.9rem;
    width: 39.9rem;
  }
}

/*-------------------------------
  活かす（node 2064:282）
-------------------------------*/
.sell__ikasu {
  margin-top: 10rem;
}
@media screen and (min-width: 1080px) {
  .sell__ikasu {
    margin-top: 14.3rem;
  }
}

.sell__ikasu__hero {
  margin-top: 4rem;
  width: 100%;
  aspect-ratio: 994/379;
  background: transparent;
}
@media screen and (min-width: 1080px) {
  .sell__ikasu__hero {
    margin-top: 7rem;
    width: 99.4rem;
    margin-inline: auto;
  }
}

.sell__ikasu__text {
  margin-top: 4rem;
}
@media screen and (min-width: 1080px) {
  .sell__ikasu__text {
    margin-top: 6rem;
    margin-left: 5.4rem;
    max-width: 82.5rem;
    min-height: 14.8rem;
  }
}

.sell__ikasu__paragraph {
  font-family: noto-sans-cjk-jp, "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: 400;
  color: #000;
  font-size: 1.4rem;
  line-height: 2.2;
  letter-spacing: 0.16em;
}
@media screen and (min-width: 1080px) {
  .sell__ikasu__paragraph {
    font-size: 1.6rem;
    line-height: 2.3125;
    letter-spacing: 0.1875em;
  }
}

.sell__ikasu__paragraph:not(:first-child) {
  margin-top: 2em;
}

.sell__ikasu__break {
  display: none;
}
@media screen and (min-width: 1080px) {
  .sell__ikasu__break {
    display: inline;
  }
}

.sell__case__image,
.sell__ikasu__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/*-- 活かす USE リンクボタン（右下・丸＋→矢印） --*/
.sell__lend {
  margin-top: 4rem;
  display: flex;
  justify-content: flex-end;
}
@media screen and (min-width: 1080px) {
  .sell__lend {
    width: 99.4rem;
    margin-top: 8.8rem;
    margin-inline: auto;
  }
}

.sell__lend__link {
  position: relative;
  display: inline-flex;
  align-items: flex-end;
  gap: 1.2rem;
  padding-top: 1.8rem;
  color: #000;
}

@media screen and (min-width: 1080px) {
  .sell__lend__link:hover {
    opacity: 0.7;
    transition: opacity 0.3s;
  }
}

.sell__lend__en {
  position: absolute;
  top: 0;
  left: 0;
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-weight: 500;
  font-size: 1.1rem;
  letter-spacing: 0.2512em;
  line-height: 1;
}
@media screen and (min-width: 1080px) {
  .sell__lend__en {
    font-size: 1.256rem;
  }
}

.sell__lend__jp {
  display: inline-block;
  font-family: noto-sans-cjk-jp, "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: 700;
  line-height: 1;
}

.sell__lend__lead-char {
  font-size: 2.7rem;
  line-height: 1;
  letter-spacing: 0.2em;
}
@media screen and (min-width: 1080px) {
  .sell__lend__lead-char {
    font-size: 4.94rem;
  }
}

.sell__lend__okuri {
  font-size: 1.8rem;
  line-height: 1;
}
@media screen and (min-width: 1080px) {
  .sell__lend__okuri {
    font-size: 3.35rem;
  }
}

.sell__lend__btn {
  flex: 0 0 auto;
  width: 2.8rem;
  height: 2.8rem;
  margin-bottom: 0.4rem;
  border-radius: 100%;
  background: #000 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='11' viewBox='0 0 14 11' fill='none' stroke='%23fcfbf6' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 5.5 H12.4 M8.2 1.3 L12.7 5.5 L8.2 9.7'/%3E%3C/svg%3E") center/1.3rem no-repeat;
}

.use img {
  display: block;
  max-width: 100%;
  height: auto;
}

.use__lead {
  width: calc(100% - 4rem);
  max-width: 109.5rem;
  margin: 11.5rem auto 0;
  position: relative;
}

.use__lead-heading {
  font-family: YuGothic, "游ゴシック", noto-sans-cjk-jp, sans-serif;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5417;
  letter-spacing: 0.125em;
}

.use__lead-heading-sp-line,
.use__make-heading span {
  display: block;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}

.use__lead-heading-break {
  display: none;
}

.use__lead-copy {
  margin-top: 2.4rem;
  font-family: YuGothic, "游ゴシック", noto-sans-cjk-jp, sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 2.125;
  letter-spacing: 0.1875em;
}

.use__lead-copy-tail {
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  white-space: nowrap;
}

.use__lead-concerns {
  margin-top: 4.8rem;
  display: grid;
  gap: 1.6rem;
}

.use__lead-concern {
  display: flex;
  align-items: center;
  min-height: 6.8rem;
  padding: 1.4rem 2rem;
  border-radius: 200px;
  background: #fff;
  box-shadow: 3px 3px 0 #ffe3c8;
  font-family: YuGothic, "游ゴシック", noto-sans-cjk-jp, sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.12em;
}

.use__lead-number {
  flex: 0 0 auto;
  margin-right: 1.2rem;
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1429em;
}

.use__lead-concern > span:last-child {
  font-weight: 500;
  line-height: inherit;
  letter-spacing: inherit;
}

.use__lead-illustration {
  width: 12rem;
  margin: 2rem 1rem 0 auto;
}

.use__lead-answer {
  margin-top: 3rem;
  text-align: center;
  font-family: YuGothic, "游ゴシック", noto-sans-cjk-jp, sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.6667;
  letter-spacing: 0.1667em;
}

.use__lead-answer strong {
  display: inline-block;
  color: #ff8408;
  font-weight: 500;
}

.use__lead-photo {
  margin-top: 4rem;
}

.use__lead-photo img {
  width: 100%;
  aspect-ratio: 921/284;
  object-fit: cover;
}

.use__make {
  margin-top: 6rem;
  position: relative;
  background: transparent;
}

.use__make::before {
  content: "";
  position: absolute;
  top: clamp(2rem, 4.6875vw, 6rem);
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  background: rgba(255, 255, 255, 0.5);
  pointer-events: none;
}

.use__make-inner {
  width: calc(100% - 4rem);
  max-width: 108rem;
  margin-inline: auto;
  padding-block: 4rem 6rem;
  position: relative;
  z-index: 1;
}

.use__make-title-illustration {
  --line-delay: 0.25s;
  --line-duration: 1s;
  width: min(70%, 32rem);
  height: auto;
  margin-inline: auto;
  transform: rotate(4.31deg);
}

.use__make-title {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  margin-top: -5rem;
  position: relative;
  z-index: 2;
  font-family: YuGothic, "游ゴシック", noto-sans-cjk-jp, sans-serif;
  font-weight: 700;
  color: #000;
}

.use__make-title-word {
  display: inline-flex;
  align-items: flex-end;
}

.use__make-title-lead {
  font-size: 4.5rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.2em;
}

.use__make-title-okuri {
  margin-left: -0.5rem;
  font-size: 3.1rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.2em;
}

.use__make-title-okuri--use {
  letter-spacing: -0.0663em;
}

.use__make-title-or {
  margin-inline: 1.4rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.2em;
}

.use__make-heading {
  margin-top: 4rem;
  text-align: center;
  font-family: YuGothic, "游ゴシック", noto-sans-cjk-jp, sans-serif;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5417;
  letter-spacing: 0.125em;
}

.use__make-copy {
  margin-top: 2.4rem;
  text-align: center;
  font-family: YuGothic, "游ゴシック", noto-sans-cjk-jp, sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.6667;
  letter-spacing: 0.1667em;
}

.use__make-copy-nowrap {
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  white-space: nowrap;
}

.use__make-label {
  width: min(100%, 64.6rem);
  min-height: 0;
  aspect-ratio: 646/88;
  margin: 4rem auto 0;
  position: relative;
  display: grid;
  place-items: center;
}

.use__make-label::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  width: 100%;
  height: 79.5455%;
  border-radius: 3.5rem;
  background: #fff;
  box-shadow: 0 0.3rem 0 #ffe3c8;
}

.use__make-label::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 79.5455%;
  width: 3.218%;
  height: 20.4545%;
  background: #fff;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  filter: drop-shadow(0 0.3rem 0 #ffe3c8);
  transform: translateX(-50%);
}

.use__make-label p {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  width: 100%;
  height: 79.5455%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: YuGothic, "游ゴシック", noto-sans-cjk-jp, sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.125em;
}

.use__make-strengths {
  margin-top: 4.6rem;
  display: grid;
  gap: 1.8rem;
}

.use__make-strength {
  min-height: 18.2rem;
  border: 2px solid #aaa;
  border-radius: 10px;
  padding: 2rem;
  display: grid;
  grid-template-columns: 5rem minmax(0, 1fr);
  gap: 1.2rem;
  align-items: center;
}

.use__make-number {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 4.2rem;
  font-weight: 450;
  line-height: 1.5417;
  letter-spacing: 0.0536em;
  color: #ff8408;
}

.use__make-strength-copy h3 {
  font-family: YuGothic, "游ゴシック", noto-sans-cjk-jp, sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 2.5;
  letter-spacing: 0.1667em;
}

.use__make-strength-copy p {
  font-family: YuGothic, "游ゴシック", noto-sans-cjk-jp, sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.5714;
  letter-spacing: 0.2143em;
}

.use__make-strength-art {
  grid-column: 1/-1;
  justify-self: end;
  display: block;
  width: 13rem;
  position: relative;
}

.use__make-strength-art img {
  display: block;
  width: 100%;
  height: auto;
  mix-blend-mode: multiply;
}

.use__model {
  width: calc(100% - 4rem);
  max-width: 108rem;
  margin: 8rem auto 0;
  position: relative;
}

.use__model-title-illustration {
  --line-delay: 0.25s;
  --line-duration: 1s;
  width: min(55%, 24rem);
  height: auto;
  transform: rotate(14.37deg);
}

.use__model-heading {
  margin-top: -7rem;
  position: relative;
  z-index: 2;
  font-family: YuGothic, "游ゴシック", noto-sans-cjk-jp, sans-serif;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.1563;
  letter-spacing: 0.09375em;
}

.use__model-steps {
  margin-top: 5rem;
  padding: 4rem 2rem;
  display: grid;
  gap: 5rem;
  background: #fff;
}

.use__model-step {
  position: relative;
  text-align: center;
}

.use__model-step-image {
  width: 12.2rem;
  margin-inline: auto;
}

.use__model-step h3 {
  margin-top: 1rem;
  font-family: YuGothic, "游ゴシック", noto-sans-cjk-jp, sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 2.8125;
  letter-spacing: 0.1875em;
}

.use__model-step p {
  font-family: YuGothic, "游ゴシック", noto-sans-cjk-jp, sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.6667;
  letter-spacing: 0.1667em;
}

.use__model-step-arrow {
  display: block !important;
  position: absolute;
  left: 50%;
  bottom: -4rem;
  width: 3.6rem;
  max-width: none;
  transform: translateX(-50%) rotate(180deg);
}

.use__model-step-arrow-down {
  display: none;
}

.use__model-result-arrow {
  width: 7.3rem;
  margin: 3rem auto 0;
  transform: rotate(180deg);
}

.use__model-result-heading {
  margin-top: 2rem;
  text-align: center;
  font-family: YuGothic, "游ゴシック", noto-sans-cjk-jp, sans-serif;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5417;
  letter-spacing: 0.125em;
}

.use__model-simulation {
  margin-top: 4rem;
  display: grid;
  gap: 1rem;
}

.use__model-simulation-main {
  background: #fff;
  padding: 2.4rem 2rem;
}

.use__model-simulation-main h4 {
  font-family: YuGothic, "游ゴシック", noto-sans-cjk-jp, sans-serif;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2.5;
  letter-spacing: 0.1667em;
}

.use__model-simulation-case {
  color: #939393;
  font-family: YuGothic, "游ゴシック", noto-sans-cjk-jp, sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 3.0833;
  letter-spacing: 0.25em;
}

.use__model-simulation-table {
  margin-top: 1rem;
}

.use__model-simulation-table > div {
  min-height: 5.8rem;
  border-top: 1px solid #bbc5cb;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 1rem;
}

.use__model-simulation-table dt {
  font-family: YuGothic, "游ゴシック", noto-sans-cjk-jp, sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 3.2143;
  letter-spacing: 0.2143em;
}

.use__model-simulation-table dd {
  display: flex;
  align-items: baseline;
  gap: 1rem;
  font-family: YuGothic, "游ゴシック", noto-sans-cjk-jp, sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 3.2143;
  letter-spacing: 0.2143em;
}

.use__model-simulation-table dd span {
  font-weight: 500;
  line-height: inherit;
  letter-spacing: inherit;
}

.use__model-simulation-table strong {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.4583;
  letter-spacing: 0;
}

.use__model-simulation-table .use__model-profit {
  min-height: 7.5rem;
}

.use__model-profit strong {
  font-size: 3.6rem;
  font-weight: 450;
  line-height: 0.9722;
}

.use__model-profit dt {
  font-weight: 700;
}

.use__model-kpis {
  display: grid;
  gap: 1rem;
}

.use__model-kpis > div {
  min-height: 15.3rem;
  background: #fff;
  padding: 2rem 2.4rem;
}

.use__model-kpis dt {
  font-family: YuGothic, "游ゴシック", noto-sans-cjk-jp, sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.8125;
  letter-spacing: 0.1875em;
}

.use__model-kpis dd {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.8rem;
  font-family: YuGothic, "游ゴシック", noto-sans-cjk-jp, sans-serif;
  font-size: 1.8718rem;
  font-weight: 500;
  line-height: 3.2143;
  letter-spacing: 0.2143em;
}

.use__model-kpis strong {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 4.8133rem;
  font-weight: 500;
  line-height: 0.9722;
  letter-spacing: 0;
}

.use__model-kpis dd span {
  margin-right: -0.2143em;
  font-weight: 500;
  line-height: inherit;
  letter-spacing: inherit;
}

.use__model-kpis > div:nth-child(1) dd {
  transform: translateY(1.367rem);
}

.use__model-kpis > div:nth-child(1) dd span:first-child {
  transform: translateX(0.21rem);
}

.use__model-kpis > div:nth-child(1) dd span:last-child {
  transform: translateX(-0.3rem);
}

.use__model-kpis > div:nth-child(2) dd {
  transform: translateY(0.946rem);
}

.use__model-kpis > div:nth-child(2) dd span:first-child {
  transform: translateX(0.322rem);
}

.use__model-kpis > div:nth-child(2) dd span:last-child {
  transform: translateX(-0.317rem);
}

.use__model-kpis > div:nth-child(3) dd {
  transform: translateY(1.367rem);
}

.use__model-kpis > div:nth-child(3) dd span:first-child {
  transform: translateX(0.382rem);
}

.use__model-kpis > div:nth-child(3) dd span:last-child {
  transform: translateX(-0.46rem);
}

.use__model-kpis > div:nth-child(1) strong {
  transform: translateX(0.34rem);
}

.use__model-kpis > div:nth-child(2) strong {
  transform: translateX(0.05rem);
}

.use__model-note {
  margin-top: 2.6rem;
  color: #939393;
  text-align: center;
  font-family: YuGothic, "游ゴシック", noto-sans-cjk-jp, sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 3.0833;
  letter-spacing: 0;
}

.use__model-note-tail {
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  white-space: nowrap;
}

.use__contact {
  width: calc(100% - 4rem);
  max-width: 97.2rem;
  margin: 10rem auto 12rem;
}

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

.use__contact-intro h2 {
  font-family: YuGothic, "游ゴシック", noto-sans-cjk-jp, sans-serif;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5417;
  letter-spacing: 0.125em;
}

.use__contact-intro p {
  margin-top: 2.6rem;
  font-family: YuGothic, "游ゴシック", noto-sans-cjk-jp, sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.6667;
  letter-spacing: 0.1667em;
}

.use__contact-intro-break {
  display: none;
}

.use__contact-intro-line {
  display: block;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}

.use__contact-card {
  margin-top: 5rem;
  padding: 4rem 2rem;
  border-radius: 10px;
  background: #fff;
}

.use__contact-card h3 {
  text-align: center;
  font-family: YuGothic, "游ゴシック", noto-sans-cjk-jp, sans-serif;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5417;
  letter-spacing: 0.125em;
}

.use__contact-card h3 span {
  display: block;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}

.use__contact-note {
  color: #939393;
  text-align: center;
  font-family: YuGothic, "游ゴシック", noto-sans-cjk-jp, sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 3.0833;
  letter-spacing: 0;
}

.use__contact-form {
  width: 100%;
  max-width: 79.5rem;
  margin: 3.6rem auto 0;
  font-family: YuGothic, "游ゴシック", noto-sans-cjk-jp, sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: 0.1875em;
}

.use__contact-field {
  display: block;
  margin-top: 2.4rem;
  font-family: YuGothic, "游ゴシック", noto-sans-cjk-jp, sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: 0.1875em;
}

.use__contact-required {
  color: #ff5b5b;
  font-size: 1rem;
  line-height: 3;
  letter-spacing: 0.3em;
  vertical-align: top;
}

.use__contact-field input,
.use__contact-field textarea,
.use__contact-card .wpcf7-form-control-wrap input,
.use__contact-card .wpcf7-form-control-wrap textarea {
  display: block;
  width: 100%;
  min-height: 5.4rem;
  margin-top: 0.6rem;
  padding-inline: 1.6rem;
  border: 1px solid #bbc5cb;
  border-radius: 10px;
  background: #f9fdfe;
  font-family: YuGothic, "游ゴシック", noto-sans-cjk-jp, sans-serif;
  font-size: 1.6rem;
}

.use__contact-field textarea,
.use__contact-card .wpcf7-form-control-wrap textarea {
  height: 10.4rem;
  min-height: 10.4rem;
  padding-block: 1.2rem;
  resize: vertical;
}

.use__contact-submit,
.use__contact-card input[type=submit] {
  display: block;
  width: 100%;
  max-width: 73.3rem;
  min-height: 5.4rem;
  margin: 6.1rem auto 0;
  padding-inline: 1rem;
  border: 1px solid #f9fdfe;
  border-radius: 27px;
  background: #bbc5cb;
  color: #fff;
  font-family: YuGothic, "游ゴシック", noto-sans-cjk-jp, sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.6667;
  letter-spacing: 0.05em;
  white-space: nowrap;
  cursor: pointer;
}

@media screen and (min-width: 1080px) {
  .use__contact-submit:hover,
  .use__contact-card input[type=submit]:hover {
    opacity: 0.7;
    transition: opacity 0.3s;
  }
}
@media screen and (max-width: 767px) {
  .use__make-title-illustration {
    transform: translateY(2.5rem) rotate(4.31deg);
  }
  .use__model-title-illustration {
    width: 18rem;
    margin-top: 0;
    margin-left: 10rem;
  }
  .use__model-heading {
    margin-top: -6.5rem;
  }
  .use__model-steps {
    gap: 6rem;
  }
  .use__model-simulation-case {
    font-size: 1.1rem;
    line-height: 2;
    letter-spacing: 0.12em;
  }
  .use__contact-intro p {
    line-height: 1.9;
    letter-spacing: 0.1em;
  }
  .use__contact-card h3 {
    font-size: 1.6rem;
    line-height: 1.6;
    letter-spacing: 0.1em;
  }
}
@media screen and (min-width: 768px) {
  .use__lead {
    margin-top: 13.5rem;
  }
  .use__lead,
  .use__model {
    width: calc(100% - 8rem);
  }
  .use__lead-heading,
  .use__make-heading,
  .use__model-result-heading,
  .use__contact-intro h2,
  .use__contact-card h3 {
    font-size: 2.4rem;
  }
  .use__lead-copy {
    font-size: 1.6rem;
  }
  .use__lead-concern {
    font-size: 1.4rem;
    padding-inline: 3rem;
  }
  .use__make-strength {
    grid-template-columns: 7rem minmax(0, 1fr) 19rem;
    padding-inline: 4rem;
  }
  .use__make-strength-art {
    grid-column: auto;
  }
  .use__make-strength-art--01 {
    width: 18rem;
  }
  .use__make-strength-art--02 {
    width: 17rem;
  }
  .use__make-strength-art--03 {
    width: 19rem;
  }
  .use__model-steps {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(1.8rem, 4vw, 5rem);
    padding-inline: 1.2rem;
  }
  .use__model-step-arrow {
    left: auto;
    right: clamp(-4.3rem, -4vw, -1.8rem);
    top: 4.3rem;
    bottom: auto;
    transform: rotate(90deg);
  }
  .use__model-simulation {
    grid-template-columns: minmax(0, 53.6rem) minmax(0, 38.2rem);
    justify-content: center;
  }
  .use__contact {
    width: calc(100% - 8rem);
  }
  .use__contact-card {
    padding: 6.5rem 8.9rem 7.5rem;
  }
  .use__lead-heading-sp-line,
  .use__make-heading span {
    display: inline;
  }
  .use__lead-heading-break {
    display: inline;
  }
  .use__contact-intro-break {
    display: inline;
  }
  .use__contact-title-sp-break {
    display: none;
  }
  .use__contact-intro-line {
    display: inline;
  }
  .use__contact-card h3 span {
    display: inline;
  }
  .use__contact-submit,
  .use__contact-card input[type=submit] {
    font-size: 1.8rem;
    letter-spacing: 0.1667em;
  }
}
@media screen and (min-width: 1080px) and (max-width: 1279px) {
  .use__make-title-illustration {
    transform: translateY(5rem) rotate(4.31deg);
  }
  .use__model-title-illustration {
    position: relative;
    left: 13.94rem;
    top: 2.75rem;
  }
}
@media screen and (min-width: 1080px) {
  .use__model-steps {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5rem;
    padding-inline: 2rem;
  }
  .use__model-step-arrow-down {
    display: none;
  }
  .use__model-step-arrow {
    display: block !important;
    position: absolute;
    top: 4.3rem;
    right: -4.6rem;
    width: 3.6rem;
    transform: rotate(90deg);
  }
}
@media screen and (min-width: 768px) and (max-width: 1079px) {
  .use__model-title-illustration {
    position: relative;
    left: 13.94rem;
    top: 2.75rem;
  }
  .use__model-step h3 {
    font-size: 1.4rem;
    line-height: 1.7;
    letter-spacing: 0.1em;
  }
  .use__model-step p {
    margin-top: 0.8rem;
    font-size: 1.1rem;
    line-height: 1.7;
    letter-spacing: 0.08em;
  }
}
@media screen and (min-width: 1280px) {
  .use__lead {
    width: 109.5rem;
    min-height: 101.9rem;
  }
  .use__lead-heading {
    position: absolute;
    left: 1.1rem;
    top: 0;
    font-size: 2.4rem;
    line-height: 1.5417;
  }
  .use__lead-copy {
    position: absolute;
    left: 0.7rem;
    top: 9.8rem;
    width: 108rem;
    margin-top: 0;
    font-size: 1.6rem;
    line-height: 2.125;
  }
  .use__lead-concerns {
    margin-top: 0;
    display: block;
  }
  .use__lead-concern {
    position: absolute;
    min-height: 6.8rem;
    padding: 0 1.6rem 0 1.86rem;
    font-size: 1.4rem;
    line-height: 0.9286;
    letter-spacing: 0.2143em;
  }
  .use__lead-concern--01 {
    left: 5.8rem;
    top: 26.5rem;
    width: 85.5rem;
  }
  .use__lead-concern--02 {
    left: 21.8rem;
    top: 34.9rem;
    width: 76.5rem;
  }
  .use__lead-concern--03 {
    left: 0;
    top: 43.1rem;
    width: 86.8rem;
  }
  .use__lead-number {
    margin-right: 2rem;
    font-size: 1.4rem;
    line-height: 0.9286;
  }
  .use__lead-illustration {
    position: absolute;
    left: 95.4rem;
    top: 28.1rem;
    width: 14.1rem;
    margin: 0;
  }
  .use__lead-answer {
    position: absolute;
    left: 0;
    top: 55.9rem;
    width: 100%;
    margin-top: 0;
    font-size: 1.8rem;
    line-height: 1.6667;
  }
  .use__lead-photo {
    position: absolute;
    left: 8.7rem;
    top: 73.5rem;
    width: 92.1rem;
    margin-top: 0;
  }
  .use__make {
    min-height: 133rem;
    margin-top: 1.7rem;
    background: transparent;
  }
  .use__make::before {
    top: 6rem;
  }
  .use__make-inner {
    width: 128rem;
    max-width: none;
    min-height: 133rem;
    padding-block: 0;
  }
  .use__make-title-illustration {
    position: absolute;
    left: 45.1rem;
    top: 1.5rem;
    width: 40.8rem;
    max-width: none;
    margin: 0;
  }
  .use__make-title {
    position: absolute;
    left: 50.3rem;
    top: 15.026rem;
    margin-top: 0;
  }
  .use__make-title-lead {
    font-size: 5.6345rem;
    letter-spacing: 0.2em;
  }
  .use__make-title-okuri {
    font-size: 3.82rem;
    letter-spacing: 0.2em;
  }
  .use__make-title-okuri--use {
    letter-spacing: -0.0663em;
  }
  .use__make-title-or {
    margin-inline: 1.25rem;
    font-size: 2.4882rem;
    letter-spacing: 0.2em;
  }
  .use__make-heading {
    position: absolute;
    left: 0;
    top: 25.1rem;
    width: 100%;
    margin-top: 0;
    font-size: 2.4rem;
  }
  .use__make-copy {
    position: absolute;
    left: 0;
    top: 35.8rem;
    width: 100%;
    margin-top: 0;
    font-size: 1.8rem;
  }
  .use__make-label {
    position: absolute;
    left: 31.7rem;
    top: 52.6rem;
    width: 64.6rem;
    margin-top: 0;
  }
  .use__make-label p {
    font-size: 2.4rem;
    line-height: 1.25;
  }
  .use__make-strengths {
    margin-top: 0;
    display: block;
  }
  .use__make-strength {
    position: absolute;
    left: 10.1rem;
    width: 107.9rem;
    min-height: 18.2rem;
    padding: 0;
    display: block;
  }
  .use__make-strength:nth-child(1) {
    top: 66rem;
  }
  .use__make-strength:nth-child(2) {
    top: 86rem;
  }
  .use__make-strength:nth-child(3) {
    top: 106rem;
  }
  .use__make-number {
    position: absolute;
    left: 4.9rem;
    top: 4.7rem;
    font-size: 5.6rem;
    line-height: 1.5417;
  }
  .use__make-strength-copy {
    position: absolute;
    left: 14.8rem;
    top: 3.5rem;
  }
  .use__make-strength-copy h3 {
    font-size: 1.8rem;
  }
  .use__make-strength-copy p {
    margin-top: 0.4rem;
    font-size: 1.4rem;
  }
  .use__make-strength-art {
    position: absolute;
    right: 5.4rem;
    top: 3.3rem;
    grid-column: auto;
  }
  .use__make-strength-art--01 {
    width: 18rem;
  }
  .use__make-strength-art--02 {
    right: 5.9rem;
    top: 4rem;
    width: 17rem;
  }
  .use__make-strength-art--03 {
    right: 4.9rem;
    top: 3.3rem;
    width: 19rem;
  }
  .use__model {
    width: 108rem;
    min-height: 128.9rem;
    margin-top: 4.3rem;
  }
  .use__model-title-illustration {
    position: absolute;
    left: 13.94rem;
    top: 2.75rem;
    width: 24.39rem;
    max-width: none;
  }
  .use__model-heading {
    position: absolute;
    left: 0;
    top: 8.5rem;
    margin-top: 0;
    font-size: 3.2rem;
  }
  .use__model-steps {
    position: absolute;
    left: 0;
    top: 21.7rem;
    width: 108rem;
    min-height: 32.4rem;
    margin-top: 0;
    padding: 4rem 3.4rem 3.2rem;
    grid-template-columns: repeat(4, 20.5rem);
    gap: 6.5rem;
  }
  .use__model-step-image {
    width: 12.2rem;
  }
  .use__model-step h3 {
    margin-top: 1.1rem;
    font-size: 1.6rem;
  }
  .use__model-step p {
    font-size: 1.2rem;
  }
  .use__model-step-arrow {
    display: block !important;
    position: absolute;
    top: 4.3rem;
    right: -5rem;
    width: 3.6rem;
    transform: rotate(90deg);
  }
  .use__model-result-arrow {
    position: absolute;
    left: 50%;
    top: 63.9rem;
    width: 7.3rem;
    margin: 0;
    transform: translateX(-50%) rotate(180deg);
  }
  .use__model-result-heading {
    position: absolute;
    left: 0;
    top: 58.6rem;
    width: 100%;
    margin-top: 0;
    font-size: 2.4rem;
  }
  .use__model-simulation {
    position: absolute;
    left: 7.8rem;
    top: 74.7rem;
    width: 92.6rem;
    margin-top: 0;
    grid-template-columns: 53.6rem 38.2rem;
    gap: 0.8rem;
  }
  .use__model-simulation-main {
    min-height: 47.9rem;
    padding: 2rem 2.9rem;
  }
  .use__model-simulation-main h4 {
    font-size: 1.8rem;
  }
  .use__model-simulation-table {
    padding-bottom: 3.7rem;
    background: url(../img/sell/sell-model-table-rule.svg) 0 0.6rem/100% 0.05rem no-repeat, url(../img/sell/sell-model-divider.svg) 1.3rem 7.4rem/45.4rem 0.05rem no-repeat, url(../img/sell/sell-model-divider.svg) 1.3rem 14.2rem/45.4rem 0.05rem no-repeat, url(../img/sell/sell-model-divider.svg) 1.3rem 20rem/45.4rem 0.05rem no-repeat, url(../img/sell/sell-model-divider.svg) 1.3rem 26.8rem/45.4rem 0.05rem no-repeat;
  }
  .use__model-simulation-table > div {
    border-top: 0;
  }
  .use__model-kpis > div {
    min-height: 15.3rem;
  }
  .use__model-note {
    position: absolute;
    left: 0;
    top: 125.2rem;
    width: 100%;
    margin-top: 0;
  }
  .use__contact {
    width: 97.2rem;
    min-height: 122.8rem;
    margin-top: 14rem;
    margin-bottom: 40.4rem;
    position: relative;
  }
  .use__contact-intro {
    position: absolute;
    left: 12.6rem;
    top: 0;
    width: 72rem;
  }
  .use__contact-intro h2 {
    font-size: 2.4rem;
  }
  .use__contact-intro p {
    margin-top: 2.6rem;
    font-size: 1.8rem;
  }
  .use__contact-card {
    position: absolute;
    left: 0;
    top: 24.9rem;
    width: 97.2rem;
    min-height: 97.9rem;
    margin-top: 0;
    padding: 6.5rem 8.9rem 7.5rem;
  }
  .use__contact-card h3 {
    font-size: 2.4rem;
  }
  .use__contact-form {
    margin-top: 3.6rem;
  }
  .use__contact-field {
    margin-top: 2.4rem;
  }
  .use__lead-concern {
    transform: none;
  }
  .use__lead-number {
    transform: translateX(1.14rem);
  }
  .use__lead-answer {
    transform: translate(-0.41rem, 1.3rem);
  }
  .use__make-title-word:first-child .use__make-title-okuri {
    transform: translateX(-1.1rem);
  }
  .use__make-title-or {
    transform: translateX(-1.4rem);
  }
  .use__make-title-word:last-child .use__make-title-lead {
    transform: translateX(-1.53rem);
  }
  .use__make-title-word:last-child .use__make-title-okuri {
    transform: translateX(-2.59rem);
  }
  .use__make-label p {
    transform: none;
  }
  .use__make-strength:nth-child(1) .use__make-strength-copy p,
  .use__make-strength:nth-child(2) .use__make-strength-copy p {
    transform: translateY(0.5rem);
  }
  .use__make-strength:nth-child(1) .use__make-strength-copy h3,
  .use__make-strength:nth-child(2) .use__make-strength-copy h3 {
    transform: translateY(0.45rem);
  }
  .use__make-strength:nth-child(3) .use__make-strength-copy h3 {
    transform: translateY(-0.75rem);
  }
  .use__make-strength:nth-child(3) .use__make-strength-copy p {
    transform: translateY(-0.7rem);
  }
  .use__model-step:nth-child(1) p {
    transform: translateY(0.7rem);
  }
  .use__model-step:nth-child(2) p {
    transform: translateY(0.7rem);
  }
  .use__model-step:nth-child(3) p {
    transform: translateY(0.7rem);
  }
  .use__model-step:nth-child(4) p {
    transform: translateY(0.7rem);
  }
  .use__model-simulation-main h4 {
    transform: translate(1.1rem, 1.45rem);
  }
  .use__model-simulation-case {
    transform: translate(1.1rem, 0.25rem);
  }
  .use__model-simulation-table > div:nth-child(1) dt {
    transform: translate(1.3rem, 1.95rem);
  }
  .use__model-simulation-table > div:nth-child(1) dd {
    transform: translate(-0.53rem, 2.05rem);
  }
  .use__model-simulation-table > div:nth-child(1) dd span {
    transform: translate(-0.63rem, -0.1rem);
  }
  .use__model-simulation-table > div:nth-child(2) dt {
    transform: translate(1.3rem, 2.95rem);
  }
  .use__model-simulation-table > div:nth-child(2) dd {
    transform: translate(-0.6rem, 3.05rem);
  }
  .use__model-simulation-table > div:nth-child(2) dd span {
    transform: translate(-0.66rem, -0.1rem);
  }
  .use__model-simulation-table > div:nth-child(3) dt {
    transform: translate(1.3rem, 2.95rem);
  }
  .use__model-simulation-table > div:nth-child(3) dd {
    transform: translate(-1.01rem, 3.05rem);
  }
  .use__model-simulation-table > div:nth-child(4) dt {
    transform: translate(1.3rem, 3.95rem);
  }
  .use__model-simulation-table > div:nth-child(4) dd {
    transform: translate(-1.15rem, 4.05rem);
  }
  .use__model-simulation-table > div:nth-child(5) dt {
    transform: translate(1.3rem, 4.1rem);
  }
  .use__model-simulation-table > div:nth-child(5) dd {
    transform: translate(-1.56rem, 4.45rem);
  }
  .use__model-kpis > div:nth-child(2) dt {
    transform: translateY(-0.35rem);
  }
  .use__contact-intro p {
    transform: translateY(1.4rem);
  }
  .use__contact-note {
    transform: translateY(1.35rem);
  }
  .use__contact-field[for=use-message],
  .use__contact-form > p:nth-of-type(5) .use__contact-field {
    transform: translateY(1.8rem);
  }
  .use__contact-submit {
    transform: translateY(1.8rem);
  }
}
@media screen and (min-width: 1080px) {
  .use__lead {
    margin-top: 9.2rem;
  }
}
.use + .fp-footer {
  margin-bottom: 0.8rem;
}

/*===============================================================
  スクロールアニメーション共通定義（edit01 新規）

  3種類とも js/common.js の単一 IntersectionObserver で
  `.is-inview` を1回だけ付与して発火させる。
  - [data-fadein]        … ブロック単位のふわっとfade-up
  - .js-text-slide-in    … 見出しを1文字ずつ下から表示（span化はJS）
  - .js-line-draw        … 装飾を「線を引くように」reveal

  参考実装（earthcampus.co.jp）の数値をGSAPなしで再現する。
  prefers-reduced-motion: reduce では全て最終状態で静止させる。
===============================================================*/
/*-- (1) ブロック単位 fade-up --*/
[data-fadein].is-animation-ready {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease, transform 0.5s ease;
  transition-delay: var(--fadein-delay, 0s);
  will-change: opacity, transform;
}

[data-fadein].is-animation-ready.is-inview {
  opacity: 1;
  transform: translateY(0);
}

.sell__cases[data-fadein].is-animation-ready {
  --sell-case-opacity: 0;
  --sell-case-transform: translateY(20px);
  opacity: 1;
  transform: none;
  transition: none;
}

.sell__case {
  opacity: var(--sell-case-opacity, 1);
  transform: var(--sell-case-transform, none);
  transition: var(--sell-case-transition, opacity 0.5s ease, transform 0.5s ease);
}

.sell__cases[data-fadein].is-animation-ready.is-inview {
  --sell-case-opacity: 1;
  --sell-case-transform: translateY(0);
  --sell-case-delay-2: .15s;
  --sell-case-delay-3: .3s;
}

.sell__case:nth-child(2) {
  transition-delay: var(--sell-case-delay-2, 0s);
}

.sell__case:nth-child(3) {
  transition-delay: var(--sell-case-delay-3, 0s);
}

/*-- (2) 見出し 1文字ずつ下から表示 --*/
.fp-char-wrap {
  display: inline-block;
  overflow: hidden;
  vertical-align: bottom;
  line-height: 1;
}

.fp-char {
  display: var(--fp-char-display, inline);
  line-height: inherit;
  transform: var(--fp-char-transform, none);
  opacity: var(--fp-char-opacity, 1);
  transition: var(--fp-char-transition, none);
  transition-duration: var(--fp-char-duration, 0.8s);
  transition-delay: var(--fp-char-delay, calc(var(--i, 0) * 0.02s));
}

.js-text-slide-in.is-ready {
  --fp-char-display: inline-block;
  --fp-char-transform: translateY(100%);
  --fp-char-opacity: 0;
  --fp-char-transition: transform .8s cubic-bezier(.33, 1, .68, 1), opacity .8s cubic-bezier(.33, 1, .68, 1);
}

.js-text-slide-in.is-ready.is-inview {
  --fp-char-transform: translateY(0);
  --fp-char-opacity: 1;
}

.fp__sec-ttl__bar {
  transition: none;
}

.js-text-slide-in.is-ready.fp__sec-ttl--sequential {
  --fp-char-duration: .6s;
  --heading-bar-opacity: 0;
  --heading-bar-transform: scaleX(0);
  --heading-bar-transition: none;
}

.js-text-slide-in.is-ready.fp__sec-ttl--sequential .fp-char {
  --fp-char-delay: var(--sequential-delay, 0s);
}

.fp__sec-ttl__bar {
  opacity: var(--heading-bar-opacity, 1);
  transform: var(--heading-bar-transform, none);
  transform-origin: left center;
  transition: var(--heading-bar-transition, none);
}

.js-text-slide-in.is-ready.fp__sec-ttl--sequential.is-inview {
  --heading-bar-opacity: 1;
  --heading-bar-transform: scaleX(1);
  --heading-bar-transition: opacity .1s ease var(--heading-bar-delay, .72s), transform .1s ease var(--heading-bar-delay, .72s);
}

.js-line-draw {
  display: block;
  overflow: visible;
}

.js-line-draw__image {
  width: 100%;
  height: 100%;
}

.js-line-draw.is-animation-ready {
  --line-path-dasharray: var(--line-length);
  --line-path-dashoffset: var(--line-length);
}

.js-line-draw__path {
  stroke-dasharray: var(--line-path-dasharray);
  stroke-dashoffset: var(--line-path-dashoffset);
  transition-property: var(--line-path-transition-property, none);
  transition-duration: var(--line-path-transition-duration, 0s);
  transition-timing-function: var(--line-path-transition-timing, ease);
  transition-delay: var(--line-path-transition-delay, 0s);
  will-change: var(--line-path-will-change, auto);
}

.js-line-draw.is-animation-ready.is-inview {
  --line-path-dashoffset: 0;
  --line-path-transition-property: stroke-dashoffset;
  --line-path-transition-duration: var(--line-duration, .62s);
  --line-path-transition-timing: cubic-bezier(.39, .575, .565, 1);
  --line-path-transition-delay: var(--line-delay, 0s);
  --line-path-will-change: stroke-dashoffset;
}

/*-- (4) 全幅ギャラリーの無限marquee --*/
@keyframes fpGalleryMarquee {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(-50%, 0, 0);
  }
}
/*-- reduced-motion：全アニメーションを停止し最終状態で表示 --*/
@media (prefers-reduced-motion: reduce) {
  [data-fadein] {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .sell__cases[data-fadein] {
    --sell-case-opacity: 1;
    --sell-case-transform: none;
    --sell-case-transition: none;
  }
  .js-text-slide-in.is-ready {
    --fp-char-transform: none;
    --fp-char-opacity: 1;
    --fp-char-transition: none;
  }
  .js-text-slide-in.is-ready.fp__sec-ttl--sequential {
    --heading-bar-opacity: 1;
    --heading-bar-transform: none;
    --heading-bar-transition: none;
  }
  .js-line-draw.is-animation-ready {
    --line-path-dashoffset: 0;
    --line-path-transition-property: none;
  }
  .fp__lead__gallery__track {
    animation: none;
  }
  .fp__lead__cat-link {
    transition: none;
  }
}
/*-------------------------------
 トップ
-------------------------------*/
.top__topics__conts .date {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.075em;
}
.top__topics__conts .ttl {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.06em;
}

.top__logomark {
  text-align: center;
}
.top__logomark img {
  max-width: 108px;
}
@media screen and (min-width: 768px) {
  .top__logomark img {
    max-width: 189px;
  }
}
@media screen and (min-width: 1080px) {
  .top__logomark img {
    max-width: 270px;
  }
}

.mask {
  animation: imgFadeIn 3s ease-in-out 2s forwards;
  mask-image: url(../img/mask.png);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 0;
}

@keyframes imgFadeIn {
  0% {
    mask-size: 0;
    -webkit-mask-size: 0;
  }
  100% {
    mask-size: 100%;
    -webkit-mask-size: 100%;
  }
}
.top__concept__conts {
  position: relative;
}
.top__concept__conts::before {
  content: "";
  background: url(../img/watercolor.png) no-repeat;
  background-size: contain;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .top__concept__conts::before {
    background: url(../img/watercolor@2x.png) no-repeat;
    background-size: contain;
  }
}
.top__concept__conts::before {
  width: 98px;
  height: 86.8px;
  position: absolute;
  top: -90px;
  left: -10px;
}
@media screen and (min-width: 768px) {
  .top__concept__conts::before {
    width: 140px;
    height: 124px;
    top: -125px;
    left: -70px;
  }
}
.top__concept__conts::after {
  content: "";
  background: url(../img/watercolor02.png) no-repeat;
  background-size: contain;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .top__concept__conts::after {
    background: url(../img/watercolor02@2x.png) no-repeat;
    background-size: contain;
  }
}
.top__concept__conts::after {
  width: 418.4px;
  height: 244px;
  position: absolute;
  bottom: 0;
  right: -15%;
  z-index: -100;
}
@media screen and (min-width: 768px) {
  .top__concept__conts::after {
    width: 523px;
    height: 305px;
    left: -20%;
  }
}

.top__works__conts .eyecatch {
  position: relative;
}
.top__works__conts .eyecatch .cat {
  background: #fff;
  display: inline-block;
  font-size: 10px;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.06em;
  padding: 5px 15px;
  position: absolute;
  bottom: 8%;
  left: 0;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .top__works__conts .eyecatch .cat {
    font-size: 1.1rem;
  }
}
@media screen and (min-width: 1080px) {
  .top__works__conts .eyecatch .cat {
    font-size: 1.2rem;
  }
}
.top__works__conts .eyecatch .all {
  display: none !important;
}
.top__works__conts .ttl {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.06em;
}

.top__interview__box .num {
  display: flex;
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .top__interview__box .num {
    font-size: 2rem;
  }
}
.top__interview__box .num .color {
  color: #ffd13d;
  line-height: 1;
  letter-spacing: 0.1em;
}
.top__interview__box .ttl {
  position: relative;
  width: 100%;
  overflow: hidden;
}
@media screen and (min-width: 1080px) {
  .top__interview__box .ttl::before {
    content: "/";
    display: inline-block;
    margin: 0 10px;
  }
}
@media screen and (min-width: 1080px) and (-ms-high-contrast: none), screen and (min-width: 1080px) and (-ms-high-contrast: active) {
  .top__interview__box .ttl::before {
    content: none;
  }
}
.top__interview__box .ttl::after {
  content: "";
  background: #363537;
  width: 100%;
  height: 1px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.top__interview__box .ttl a {
  display: inline-block;
  background: #fff;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
  padding-right: 10px;
}
@media screen and (min-width: 768px) {
  .top__interview__box .ttl a {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 1080px) {
  .top__interview__box {
    display: flex;
    align-items: center;
  }
}
@media screen and (min-width: 1080px) and (-ms-high-contrast: none), screen and (min-width: 1080px) and (-ms-high-contrast: active) {
  .top__interview__box {
    display: block;
  }
}

.top__estate__conts {
  position: relative;
}
.top__estate__conts::before {
  content: "";
  background: url(../img/watercolor.png) no-repeat;
  background-size: contain;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .top__estate__conts::before {
    background: url(../img/watercolor@2x.png) no-repeat;
    background-size: contain;
  }
}
.top__estate__conts::before {
  width: 98px;
  height: 86.8px;
  position: absolute;
  top: -90px;
  left: -10px;
}
@media screen and (min-width: 768px) {
  .top__estate__conts::before {
    width: 140px;
    height: 124px;
    top: -125px;
    left: -70px;
  }
}
.top__estate__conts::after {
  content: "";
  background: url(../img/watercolor02.png) no-repeat;
  background-size: contain;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .top__estate__conts::after {
    background: url(../img/watercolor02@2x.png) no-repeat;
    background-size: contain;
  }
}
.top__estate__conts::after {
  width: 418.4px;
  height: 244px;
  position: absolute;
  bottom: 0;
  right: -15%;
  z-index: -100;
}
@media screen and (min-width: 768px) {
  .top__estate__conts::after {
    width: 523px;
    height: 305px;
    left: -20%;
  }
}

.top__aboutus .gmap {
  height: 0;
  overflow: hidden;
  padding-bottom: 59%;
  position: relative;
}
.top__aboutus .gmap iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
.top__aboutus .logo {
  text-align: center;
}
.top__aboutus .logo img {
  max-width: 180px;
}
.top__aboutus dl {
  display: flex;
  flex-wrap: wrap;
}
.top__aboutus dl dt {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  width: 30%;
  padding: 10px 0;
}
.top__aboutus dl dd {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  width: 70%;
  padding: 10px 0;
}

/*-------------------------------
 02 Concept いい家づくりとは
-------------------------------*/
.concept__kizugawa__conts {
  position: relative;
}
@media screen and (min-width: 768px) {
  .concept__kizugawa__conts::before {
    content: "";
    background: url(../img/concept__kizugawa-bg.png) no-repeat;
    background-size: contain;
    width: 680.8px;
    height: 664.8px;
    position: absolute;
    top: 48%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    z-index: -100;
  }
}
@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2) {
  .concept__kizugawa__conts::before {
    background: url(../img/concept__kizugawa-bg@2x.png) no-repeat;
    background-size: contain;
  }
}
@media screen and (min-width: 1080px) {
  .concept__kizugawa__conts::before {
    width: 851px;
    height: 831px;
    top: 50%;
  }
}
@media screen and (min-width: 768px) {
  .concept__kizugawa__conts__bottom {
    margin-top: 240px;
  }
}

/*-------------------------------
 03 Kizugawa Life 木津川での暮らし
-------------------------------*/
.layout-paddbox--kizugawalife {
  padding-left: 17%;
}
@media screen and (min-width: 768px) {
  .layout-paddbox--kizugawalife {
    padding-left: 13%;
  }
}
.layout-paddbox--kizugawalife .ttl-leftline {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
  position: relative;
}
@media screen and (min-width: 768px) {
  .layout-paddbox--kizugawalife .ttl-leftline {
    font-size: 1.8rem;
  }
}
.layout-paddbox--kizugawalife .ttl-leftline::before {
  content: "";
  background: #363537;
  width: 14%;
  height: 1px;
  position: absolute;
  top: 13px;
  left: -18%;
}
@media screen and (min-width: 768px) {
  .layout-paddbox--kizugawalife .ttl-leftline::before {
    width: 10%;
    left: -13%;
  }
}

.kizugawalife__feature__box .number {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 38px;
  font-size: 3.8rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .kizugawalife__feature__box .number {
    font-size: 7rem;
  }
}
.kizugawalife__feature__box .catch {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 26px;
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.1em;
  margin: 10px 0 0 0;
}
@media screen and (min-width: 768px) {
  .kizugawalife__feature__box .catch {
    font-size: 4.5rem;
    margin: 80px 0 0 28%;
  }
}
.kizugawalife__feature__box .catch::after {
  content: "";
  background: #363537;
  display: block;
  width: 75%;
  max-width: 154px;
  height: 3px;
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .kizugawalife__feature__box .catch::after {
    height: 4px;
    margin-top: 15px;
  }
}
.kizugawalife__feature .ttl {
  display: inline-block;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.06em;
}
.kizugawalife__feature .ttl::after {
  content: "";
  background: #363537;
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 2px;
}
.kizugawalife__feature .txt {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
.kizugawalife__feature-img02 {
  max-width: 233px;
}
.kizugawalife__feature__interview {
  background: #ffd13d;
  padding: 50px 0;
  position: relative;
}
.kizugawalife__feature__interview::before {
  content: "";
  background: url(../img/inspection-flag.png) no-repeat;
  background-size: contain;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .kizugawalife__feature__interview::before {
    background: url(../img/inspection-flag@2x.png) no-repeat;
    background-size: contain;
  }
}
.kizugawalife__feature__interview::before {
  width: 138.6px;
  height: 142.8px;
  position: absolute;
  top: -60px;
  left: -38px;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .kizugawalife__feature__interview::before {
    width: 198px;
    height: 204px;
    top: -84px;
  }
}
.kizugawalife__feature__interview__ttl {
  text-align: center;
}
.kizugawalife__feature__interview__ttl span {
  display: block;
}
@media screen and (min-width: 768px) {
  .kizugawalife__feature__interview__ttl span {
    display: inline-block;
  }
}
.kizugawalife__feature__interview__ttl .en {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 28px;
  font-size: 2.8rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.08em;
}
@media screen and (min-width: 768px) {
  .kizugawalife__feature__interview__ttl .en {
    font-size: 4.5rem;
  }
}
.kizugawalife__feature__interview__ttl .jp {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
.kizugawalife__feature__interview__box .inner-left {
  background: #fff;
  padding: 35px 11%;
  position: relative;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .kizugawalife__feature__interview__box .inner-left {
    right: -48px;
  }
}
.kizugawalife__feature__interview__box .inner-left .ttl {
  display: inline-block;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
.kizugawalife__feature__interview__box .inner-left .ttl::after {
  content: "";
  background: #363537;
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 2px;
}
.kizugawalife__feature__interview__box .inner-left .txt {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
.kizugawalife__feature__interview__box .inner-right {
  position: relative;
}
@media screen and (min-width: 768px) {
  .kizugawalife__feature__interview__box .inner-right {
    left: -48px;
  }
}
.kizugawalife__feature__interview .txt-interview {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 2.8%;
}
.kizugawalife__feature__interview .txt-interview img {
  max-width: 11.2px;
}
@media screen and (min-width: 768px) {
  .kizugawalife__feature__interview .txt-interview {
    right: 6%;
  }
  .kizugawalife__feature__interview .txt-interview img {
    max-width: 14px;
  }
}
.kizugawalife__feature__interview .txt-kizugawa {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 3%;
}
.kizugawalife__feature__interview .txt-kizugawa img {
  max-width: 14.4px;
}
@media screen and (min-width: 768px) {
  .kizugawalife__feature__interview .txt-kizugawa {
    left: 5.5%;
  }
  .kizugawalife__feature__interview .txt-kizugawa img {
    max-width: 18px;
  }
}
.kizugawalife__feature__interview .bg {
  position: absolute;
  right: -3.7%;
  bottom: -40px;
  z-index: -100;
}

.kizugawalife__area__conts {
  background: linear-gradient(-225deg, transparent 20px, #eee 20px) no-repeat;
  background-position: top left;
  padding: 50px 8.7%;
  position: relative;
}
@media screen and (min-width: 768px) {
  .kizugawalife__area__conts {
    background: linear-gradient(-225deg, transparent 60px, #eee 60px) no-repeat;
    padding: 100px 8.7%;
  }
}
@media screen and (min-width: 1080px) {
  .kizugawalife__area__conts {
    background: linear-gradient(-225deg, transparent 65px, #eee 65px) no-repeat;
  }
}
.kizugawalife__area__conts__box .eyecatch {
  position: relative;
}
.kizugawalife__area__conts__box .eyecatch .txt-kamo {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -7%;
}
.kizugawalife__area__conts__box .eyecatch .txt-kamo img {
  max-width: 9.6px;
}
@media screen and (min-width: 768px) {
  .kizugawalife__area__conts__box .eyecatch .txt-kamo {
    left: -6%;
  }
  .kizugawalife__area__conts__box .eyecatch .txt-kamo img {
    max-width: 12px;
  }
}
.kizugawalife__area__conts__box .eyecatch .txt-stationsquare {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -7%;
}
.kizugawalife__area__conts__box .eyecatch .txt-stationsquare img {
  max-width: 12px;
}
@media screen and (min-width: 768px) {
  .kizugawalife__area__conts__box .eyecatch .txt-stationsquare {
    right: -6%;
  }
  .kizugawalife__area__conts__box .eyecatch .txt-stationsquare img {
    max-width: 15px;
  }
}
.kizugawalife__area__conts__box .eyecatch .txt-suburbs {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -7%;
}
.kizugawalife__area__conts__box .eyecatch .txt-suburbs img {
  max-width: 9.6px;
}
@media screen and (min-width: 768px) {
  .kizugawalife__area__conts__box .eyecatch .txt-suburbs {
    right: -6%;
  }
  .kizugawalife__area__conts__box .eyecatch .txt-suburbs img {
    max-width: 12px;
  }
}
.kizugawalife__area__conts__box .eyecatch .txt-shiroyamadai01 {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -7%;
}
.kizugawalife__area__conts__box .eyecatch .txt-shiroyamadai01 img {
  max-width: 9.6px;
}
@media screen and (min-width: 768px) {
  .kizugawalife__area__conts__box .eyecatch .txt-shiroyamadai01 {
    left: -6%;
  }
  .kizugawalife__area__conts__box .eyecatch .txt-shiroyamadai01 img {
    max-width: 12px;
  }
}
.kizugawalife__area__conts__box .eyecatch .txt-shiroyamadai02 {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -7%;
}
.kizugawalife__area__conts__box .eyecatch .txt-shiroyamadai02 img {
  max-width: 9.6px;
}
@media screen and (min-width: 768px) {
  .kizugawalife__area__conts__box .eyecatch .txt-shiroyamadai02 {
    right: -6%;
  }
  .kizugawalife__area__conts__box .eyecatch .txt-shiroyamadai02 img {
    max-width: 12px;
  }
}
.kizugawalife__area__conts__box .eyecatch .txt-yamadagawa01 {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -7%;
}
.kizugawalife__area__conts__box .eyecatch .txt-yamadagawa01 img {
  max-width: 9.6px;
}
@media screen and (min-width: 768px) {
  .kizugawalife__area__conts__box .eyecatch .txt-yamadagawa01 {
    left: -6%;
  }
  .kizugawalife__area__conts__box .eyecatch .txt-yamadagawa01 img {
    max-width: 12px;
  }
}
.kizugawalife__area__conts__box .eyecatch .txt-yamadagawa02 {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -7%;
}
.kizugawalife__area__conts__box .eyecatch .txt-yamadagawa02 img {
  max-width: 9.6px;
}
@media screen and (min-width: 768px) {
  .kizugawalife__area__conts__box .eyecatch .txt-yamadagawa02 {
    right: -6%;
  }
  .kizugawalife__area__conts__box .eyecatch .txt-yamadagawa02 img {
    max-width: 12px;
  }
}
.kizugawalife__area__conts__box .eyecatch .txt-wazuka01 {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -7%;
}
.kizugawalife__area__conts__box .eyecatch .txt-wazuka01 img {
  max-width: 9.6px;
}
@media screen and (min-width: 768px) {
  .kizugawalife__area__conts__box .eyecatch .txt-wazuka01 {
    left: -6%;
  }
  .kizugawalife__area__conts__box .eyecatch .txt-wazuka01 img {
    max-width: 12px;
  }
}
.kizugawalife__area__conts__box .eyecatch .txt-wazuka02 {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -7%;
}
.kizugawalife__area__conts__box .eyecatch .txt-wazuka02 img {
  max-width: 9.6px;
}
@media screen and (min-width: 768px) {
  .kizugawalife__area__conts__box .eyecatch .txt-wazuka02 {
    right: -6%;
  }
  .kizugawalife__area__conts__box .eyecatch .txt-wazuka02 img {
    max-width: 12px;
  }
}
.kizugawalife__area__conts__box .eyecatch .txt-seika01 {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -7%;
}
.kizugawalife__area__conts__box .eyecatch .txt-seika01 img {
  max-width: 9.6px;
}
@media screen and (min-width: 768px) {
  .kizugawalife__area__conts__box .eyecatch .txt-seika01 {
    left: -6%;
  }
  .kizugawalife__area__conts__box .eyecatch .txt-seika01 img {
    max-width: 12px;
  }
}
.kizugawalife__area__conts__box .eyecatch .txt-seika02 {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -7%;
}
.kizugawalife__area__conts__box .eyecatch .txt-seika02 img {
  max-width: 9.6px;
}
@media screen and (min-width: 768px) {
  .kizugawalife__area__conts__box .eyecatch .txt-seika02 {
    right: -6%;
  }
  .kizugawalife__area__conts__box .eyecatch .txt-seika02 img {
    max-width: 12px;
  }
}
.kizugawalife__area__conts__box .ttl {
  display: inline-block;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.kizugawalife__area__conts__box .ttl::after {
  content: "";
  background: #363537;
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 2px;
}
.kizugawalife__area__conts__box .txt {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.06em;
  margin-top: 10px;
}
.kizugawalife__area__conts__box .info {
  margin-top: 10px;
}
.kizugawalife__area__conts__box .info dt {
  background: #363537;
  border-radius: 12px;
  color: #fff;
  display: inline-block;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.06em;
  padding: 5px 20px;
  text-align: center;
}
.kizugawalife__area__conts__box .info dd {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
  margin-top: 3px;
}
@media screen and (min-width: 768px) {
  .kizugawalife__area__conts__box .info dd {
    font-size: 2rem;
  }
}

.kizugawalife__estate__conts article {
  border-bottom: 1px solid #c2c2c2;
  padding-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .kizugawalife__estate__conts article {
    padding-bottom: 40px;
  }
}
.kizugawalife__estate__conts .eyecatch {
  position: relative;
}
.kizugawalife__estate__conts .eyecatch .cat {
  background: #363537;
  color: #fff;
  display: inline-block;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.06em;
  padding: 5px 15px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
}
.kizugawalife__estate__conts .eyecatch .all {
  display: none !important;
}
.kizugawalife__estate__conts .ttl {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .kizugawalife__estate__conts .ttl {
    font-size: 1.8rem;
  }
}
.kizugawalife__estate__conts .ttl::after {
  content: "";
  background: #363537;
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 5px;
}
.kizugawalife__estate__conts__info dt {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.1em;
  margin-top: 20px;
}
.kizugawalife__estate__conts__info dd {
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .kizugawalife__estate__conts__info dd {
    font-size: 1.7rem;
  }
}

/*-------------------------------
 05 Spec 標準仕様について
-------------------------------*/
.spec__conts__ttl {
  position: relative;
  padding-left: 20px;
  margin-top: 25px;
}
.spec__conts__ttl::before {
  content: "";
  background: #ffd13d;
  width: 10px;
  height: 50px;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (min-width: 768px) {
  .spec__conts__ttl::before {
    height: 54px;
  }
}
.spec__conts__ttl::after {
  content: "";
  background: #363537;
  display: block;
  width: calc(100% + 10px);
  height: 1px;
  margin-top: 5px;
  position: relative;
  left: -20px;
}
.spec__conts__ttl span {
  display: block;
}
.spec__conts__ttl .en {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
.spec__conts__ttl .jp {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin-top: 5px;
}
@media screen and (min-width: 768px) {
  .spec__conts__ttl .jp {
    font-size: 1.8rem;
  }
}
.spec__conts__txt {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.06em;
  margin-top: 15px;
}

/*-------------------------------
 06 After アフターと保証について
-------------------------------*/
.after__maintenance__conts__img {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .after__maintenance__conts__img {
    text-align: right;
  }
}
.after__maintenance__conts__img img {
  max-width: 268.8px;
}
@media screen and (min-width: 768px) {
  .after__maintenance__conts__img img {
    max-width: 448px;
  }
}

.after__warranty__point {
  background: #e88805;
}
.after__warranty__point__left {
  padding: 0;
}
@media screen and (min-width: 768px) {
  .after__warranty__point__left--01 {
    background: url(../img/after__warranty__point-img01.jpg) no-repeat center;
    background-size: cover;
  }
}
@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2) {
  .after__warranty__point__left--01 {
    background: url(../img/after__warranty__point-img01@2x.jpg) no-repeat center;
    background-size: cover;
  }
}
@media screen and (min-width: 768px) {
  .after__warranty__point__left--02 {
    background: url(../img/after__warranty__point-img02.jpg) no-repeat center;
    background-size: cover;
  }
}
@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2) {
  .after__warranty__point__left--02 {
    background: url(../img/after__warranty__point-img02@2x.jpg) no-repeat center;
    background-size: cover;
  }
}
@media screen and (min-width: 768px) {
  .after__warranty__point__left--03 {
    background: url(../img/after__warranty__point-img03.jpg) no-repeat center;
    background-size: cover;
  }
}
@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2) {
  .after__warranty__point__left--03 {
    background: url(../img/after__warranty__point-img03@2x.jpg) no-repeat center;
    background-size: cover;
  }
}
.after__warranty__point__right {
  padding: 20px 0 50px 0;
}
.after__warranty__point__right .box {
  width: 100%;
  max-width: 564px;
  padding: 0 50px;
}
.after__warranty__point__right .box .icon-point {
  text-align: center;
}
.after__warranty__point__right .box .icon-point img {
  max-width: 72px;
}
@media screen and (min-width: 1080px) {
  .after__warranty__point__right .box .icon-point img {
    max-width: 90px;
  }
}
.after__warranty__point__right .box .ttl01 {
  color: #fff;
  font-size: 26px;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 1080px) {
  .after__warranty__point__right .box .ttl01 {
    font-size: 4rem;
  }
}
.after__warranty__point__right .box .ttl02 {
  color: #fff;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 1080px) {
  .after__warranty__point__right .box .ttl02 {
    font-size: 2.2rem;
  }
}
.after__warranty__point__right .box .ttl03 {
  display: inline-block;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
.after__warranty__point__right .box .ttl03::after {
  content: "";
  background: #363537;
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 2px;
}
.after__warranty__point__right .box .txt {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
.after__warranty__inspection {
  background: #ffd13d;
  padding: 50px 0;
  position: relative;
}
.after__warranty__inspection::before {
  content: "";
  background: url(../img/inspection-flag.png) no-repeat;
  background-size: contain;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .after__warranty__inspection::before {
    background: url(../img/inspection-flag@2x.png) no-repeat;
    background-size: contain;
  }
}
.after__warranty__inspection::before {
  width: 138.6px;
  height: 142.8px;
  position: absolute;
  top: -60px;
  left: -38px;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .after__warranty__inspection::before {
    width: 198px;
    height: 204px;
    top: -84px;
  }
}
.after__warranty__inspection__ttl {
  text-align: center;
}
.after__warranty__inspection__ttl span {
  display: block;
}
@media screen and (min-width: 768px) {
  .after__warranty__inspection__ttl span {
    display: inline-block;
  }
}
.after__warranty__inspection__ttl .en {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 28px;
  font-size: 2.8rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.08em;
}
@media screen and (min-width: 768px) {
  .after__warranty__inspection__ttl .en {
    font-size: 4.5rem;
  }
}
.after__warranty__inspection__ttl .jp {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
.after__warranty__inspection__box .inner-left {
  background: #fff;
  padding: 35px 11%;
  position: relative;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .after__warranty__inspection__box .inner-left {
    right: -48px;
  }
}
.after__warranty__inspection__box .inner-left .ttl {
  display: inline-block;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
.after__warranty__inspection__box .inner-left .ttl::after {
  content: "";
  background: #363537;
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 2px;
}
.after__warranty__inspection__box .inner-left .txt {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
.after__warranty__inspection__box .inner-right {
  position: relative;
}
@media screen and (min-width: 768px) {
  .after__warranty__inspection__box .inner-right {
    left: -48px;
  }
}
.after__warranty__inspection .txt-quality {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
  position: absolute;
  top: 50%;
  transform: rotate(-90deg) translateY(-50%);
  right: -3%;
}
@media screen and (min-width: 768px) {
  .after__warranty__inspection .txt-quality {
    font-size: 2rem;
    right: 3%;
  }
}
.after__warranty__inspection .txt-sunhousing {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
  position: absolute;
  top: 50%;
  transform: rotate(90deg) translateY(-50%);
  left: -8%;
}
@media screen and (min-width: 768px) {
  .after__warranty__inspection .txt-sunhousing {
    font-size: 2rem;
    left: 0;
  }
}
.after__warranty__inspection .bg {
  position: absolute;
  right: -3.7%;
  bottom: -40px;
  z-index: -100;
}

.after__insurance__box {
  background: #e88805;
}
.after__insurance__box .icon-point img {
  max-width: 72px;
}
@media screen and (min-width: 1080px) {
  .after__insurance__box .icon-point img {
    max-width: 90px;
  }
}
.after__insurance__box__left {
  padding: 0;
}
@media screen and (min-width: 768px) {
  .after__insurance__box__left {
    padding-right: 24px;
    padding-left: 24px;
  }
}
.after__insurance__box__right {
  padding-top: 10px;
  padding-bottom: 50px;
}
@media screen and (min-width: 768px) {
  .after__insurance__box__right {
    padding-top: 0;
    padding-bottom: 0;
  }
}
.after__insurance__box__right .txt {
  color: #fff;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 1080px) {
  .after__insurance__box__right .txt {
    font-size: 2.2rem;
  }
}

/*-------------------------------
 07 Architecture 設計士と建てる家
-------------------------------*/
.architecture__concept .ttl {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
}

.architecture__profile__name {
  position: relative;
}
.architecture__profile__name .en-name {
  display: inline-block;
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 32px;
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.1em;
  position: absolute;
  top: -17.5%;
  right: -24%;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .architecture__profile__name .en-name {
    font-size: 3.8rem;
    top: 12%;
    right: -24%;
  }
}
@media screen and (min-width: 960px) {
  .architecture__profile__name .en-name {
    font-size: 5rem;
    right: -21%;
  }
}
.architecture__profile__name .en-name::after {
  content: "";
  background: #363537;
  display: block;
  width: 75%;
  max-width: 154px;
  height: 4px;
  margin-top: 15px;
}
.architecture__profile__favorite ul {
  margin-left: 15px;
}
.architecture__profile__favorite ul li {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.06em;
  margin: 5px 0;
  position: relative;
}
.architecture__profile__favorite ul li::before {
  content: "■";
  color: #ffd13d;
  margin-right: 5px;
  position: absolute;
  left: -15px;
}
.architecture__profile__my {
  margin-top: 50px;
}
@media screen and (min-width: 768px) {
  .architecture__profile__my {
    margin-top: -70px;
  }
}
.architecture__profile__my .en-name {
  display: inline-block;
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 32px;
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .architecture__profile__my .en-name {
    font-size: 3.8rem;
  }
}
@media screen and (min-width: 960px) {
  .architecture__profile__my .en-name {
    font-size: 5rem;
  }
}
.architecture__profile__my .en-name::after {
  content: "";
  background: #363537;
  display: block;
  width: 75%;
  max-width: 154px;
  height: 4px;
  margin-top: 15px;
}
.architecture__profile__my .ttl {
  display: inline-block;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.architecture__profile__my .ttl::after {
  content: "";
  background: #363537;
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 3px;
}
.architecture__profile__my .txt {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
.architecture__profile__design__name {
  position: relative;
}
.architecture__profile__design__name .en-name {
  display: inline-block;
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 32px;
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.1em;
  position: absolute;
  top: 7%;
  right: -27%;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .architecture__profile__design__name .en-name {
    font-size: 3.8rem;
    top: 7%;
    right: -27%;
  }
}
@media screen and (min-width: 960px) {
  .architecture__profile__design__name .en-name {
    font-size: 5rem;
    right: -27%;
  }
}
.architecture__profile__design__name .en-name::after {
  content: "";
  background: #363537;
  display: block;
  width: 75%;
  max-width: 154px;
  height: 4px;
  margin-top: 15px;
}
.architecture__profile__design .ttl {
  display: inline-block;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .architecture__profile__design .ttl {
    margin-top: 44%;
  }
}
.architecture__profile__design .ttl::after {
  content: "";
  background: #363537;
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 3px;
}
.architecture__profile__design .txt {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
.architecture__profile__design--even__name {
  position: relative;
}
.architecture__profile__design--even__name .en-name {
  display: inline-block;
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 32px;
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.1em;
  position: absolute;
  top: 7%;
  left: -27%;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .architecture__profile__design--even__name .en-name {
    font-size: 3.8rem;
    top: 7%;
    left: -27%;
  }
}
@media screen and (min-width: 960px) {
  .architecture__profile__design--even__name .en-name {
    font-size: 5rem;
    left: -27%;
  }
}
.architecture__profile__design--even__name .en-name::after {
  content: "";
  background: #363537;
  display: block;
  width: 75%;
  max-width: 154px;
  height: 4px;
  margin-top: 15px;
}
.architecture__profile__design--even .ttl {
  display: inline-block;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .architecture__profile__design--even .ttl {
    margin-top: 45%;
  }
}
.architecture__profile__design--even .ttl::after {
  content: "";
  background: #363537;
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 3px;
}
.architecture__profile__design--even .txt {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.06em;
}

/*-------------------------------
 08 Photo 家族の一生を撮る
-------------------------------*/
.photo__join__box {
  background: #fff;
  border: 3px solid #ffd13d;
  padding: 30px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .photo__join__box {
    padding: 30px 40px;
  }
}
@media screen and (min-width: 1080px) {
  .photo__join__box {
    padding: 30px 45px;
  }
}
.photo__join__box .ttl {
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .photo__join__box .ttl {
    font-size: 1.8rem;
  }
}
.photo__join__box .ttl span {
  position: relative;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: 0.1em;
}
.photo__join__box .ttl span::before {
  content: "";
  background: url(../img/icon-point.svg) no-repeat;
  width: 72px;
  height: 74.4px;
  position: absolute;
  top: -70px;
  left: -45px;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .photo__join__box .ttl span::before {
    width: 90px;
    height: 93px;
    top: -86px;
    left: -50px;
  }
}
.photo__join__box .bg {
  position: absolute;
  right: -30px;
  bottom: -30px;
  z-index: -100;
}

.photo__menu__conts {
  background: linear-gradient(-225deg, transparent 20px, #eee 20px) no-repeat;
  background-position: top left;
  padding: 50px 8.7%;
  position: relative;
}
@media screen and (min-width: 768px) {
  .photo__menu__conts {
    background: linear-gradient(-225deg, transparent 60px, #eee 60px) no-repeat;
    padding: 100px 8.7%;
  }
}
@media screen and (min-width: 1080px) {
  .photo__menu__conts {
    background: linear-gradient(-225deg, transparent 65px, #eee 65px) no-repeat;
  }
}
.photo__menu__conts__box .eyecatch {
  position: relative;
}
.photo__menu__conts__box .eyecatch .txt-photo {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -7%;
}
.photo__menu__conts__box .eyecatch .txt-photo img {
  max-width: 9.6px;
}
@media screen and (min-width: 768px) {
  .photo__menu__conts__box .eyecatch .txt-photo {
    right: -6%;
  }
  .photo__menu__conts__box .eyecatch .txt-photo img {
    max-width: 12px;
  }
}
.photo__menu__conts__box .eyecatch .txt-family {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -7%;
}
.photo__menu__conts__box .eyecatch .txt-family img {
  max-width: 12px;
}
@media screen and (min-width: 768px) {
  .photo__menu__conts__box .eyecatch .txt-family {
    left: -6%;
  }
  .photo__menu__conts__box .eyecatch .txt-family img {
    max-width: 15px;
  }
}
.photo__menu__conts__box .eyecatch .txt-prewedding {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -7%;
}
.photo__menu__conts__box .eyecatch .txt-prewedding img {
  max-width: 12px;
}
@media screen and (min-width: 768px) {
  .photo__menu__conts__box .eyecatch .txt-prewedding {
    left: -6%;
  }
  .photo__menu__conts__box .eyecatch .txt-prewedding img {
    max-width: 15px;
  }
}
.photo__menu__conts__box .eyecatch .txt-wedding {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -7%;
}
.photo__menu__conts__box .eyecatch .txt-wedding img {
  max-width: 12px;
}
@media screen and (min-width: 768px) {
  .photo__menu__conts__box .eyecatch .txt-wedding {
    left: -6%;
  }
  .photo__menu__conts__box .eyecatch .txt-wedding img {
    max-width: 15px;
  }
}
.photo__menu__conts__box .eyecatch .txt-maternity {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -7%;
}
.photo__menu__conts__box .eyecatch .txt-maternity img {
  max-width: 12px;
}
@media screen and (min-width: 768px) {
  .photo__menu__conts__box .eyecatch .txt-maternity {
    left: -6%;
  }
  .photo__menu__conts__box .eyecatch .txt-maternity img {
    max-width: 15px;
  }
}
.photo__menu__conts__box .eyecatch .txt-newborn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -7%;
}
.photo__menu__conts__box .eyecatch .txt-newborn img {
  max-width: 9.6px;
}
@media screen and (min-width: 768px) {
  .photo__menu__conts__box .eyecatch .txt-newborn {
    left: -6%;
  }
  .photo__menu__conts__box .eyecatch .txt-newborn img {
    max-width: 12px;
  }
}
.photo__menu__conts__box .eyecatch .txt-couple {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -7%;
}
.photo__menu__conts__box .eyecatch .txt-couple img {
  max-width: 12px;
}
@media screen and (min-width: 768px) {
  .photo__menu__conts__box .eyecatch .txt-couple {
    left: -6%;
  }
  .photo__menu__conts__box .eyecatch .txt-couple img {
    max-width: 15px;
  }
}
.photo__menu__conts__box .ttl {
  display: inline-block;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.photo__menu__conts__box .ttl::after {
  content: "";
  background: #363537;
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 2px;
}
.photo__menu__conts__box .txt {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.06em;
  margin-top: 10px;
}
.photo__menu__conts__box .price {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
  margin-top: 15px;
}
@media screen and (min-width: 768px) {
  .photo__menu__conts__box .price {
    font-size: 3.2rem;
  }
}
@media screen and (min-width: 960px) {
  .photo__menu__conts__box .price {
    font-size: 4rem;
  }
}
.photo__menu__conts__box .price span {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .photo__menu__conts__box .price span {
    font-size: 1.4rem;
  }
}

/*-------------------------------
 09 Flow 家づくりの流れ
-------------------------------*/
.flow__meeting__conts {
  display: flex;
}
.flow__meeting__conts .arrow {
  background: #ffd13d;
  min-width: 30px;
  padding: 60px 0;
  text-align: center;
  margin-right: 24px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .flow__meeting__conts .arrow {
    min-width: 46px;
    margin-right: 48px;
  }
}
.flow__meeting__conts .arrow::before {
  content: "";
  background: url(../img/icon-flag.svg) no-repeat;
  background-size: contain;
  width: 60.8px;
  height: 62.4px;
  position: absolute;
  top: -30px;
  left: -15px;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .flow__meeting__conts .arrow::before {
    width: 76px;
    height: 78px;
    top: -35px;
    left: -20px;
  }
}
.flow__meeting__conts .arrow::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 15px 0 15px;
  border-color: #ffd13d transparent transparent transparent;
  position: absolute;
  bottom: -9px;
  left: 0;
}
@media screen and (min-width: 768px) {
  .flow__meeting__conts .arrow::after {
    border-width: 20px 23px 0 23px;
    bottom: -19px;
  }
}
.flow__meeting__conts .arrow img {
  max-width: 15px;
}
@media screen and (min-width: 768px) {
  .flow__meeting__conts .arrow img {
    max-width: 22px;
  }
}
.flow__meeting__conts .arrow02 {
  background: #e88805;
  min-width: 30px;
  padding: 60px 0;
  text-align: center;
  margin-right: 24px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .flow__meeting__conts .arrow02 {
    min-width: 46px;
    margin-right: 48px;
  }
}
.flow__meeting__conts .arrow02::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 15px 0 15px;
  border-color: #fff transparent transparent transparent;
  position: absolute;
  top: -1px;
  left: 0;
}
@media screen and (min-width: 768px) {
  .flow__meeting__conts .arrow02::before {
    border-width: 20px 23px 0 23px;
  }
}
.flow__meeting__conts .arrow02::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 15px 0 15px;
  border-color: #e88805 transparent transparent transparent;
  position: absolute;
  bottom: -9px;
  left: 0;
}
@media screen and (min-width: 768px) {
  .flow__meeting__conts .arrow02::after {
    border-width: 20px 23px 0 23px;
    bottom: -19px;
  }
}
.flow__meeting__conts .box {
  width: 100%;
  position: relative;
}
@media screen and (min-width: 768px) {
  .flow__meeting__conts .box::before {
    content: "";
    background: url(../img/line-dot.png) repeat-y;
    width: 1px;
    height: 100%;
    position: absolute;
    top: 0;
    left: 14.8%;
    transform: translateX(-50%);
    z-index: -100;
  }
}
@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2) {
  .flow__meeting__conts .box::before {
    background: url(../img/line-dot@2x.png) repeat-y;
  }
}
@media screen and (min-width: 768px) {
  .flow__meeting__conts .box--02::after {
    content: "";
    background: url(../img/line-dot.png) no-repeat;
    width: 1px;
    height: 100%;
    position: absolute;
    top: -100px;
    left: 14.8%;
    transform: translateX(-50%);
    z-index: -100;
  }
}
@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2) {
  .flow__meeting__conts .box--02::after {
    background: url(../img/line-dot@2x.png) repeat-y;
  }
}
.flow__meeting__conts .box__list__left {
  position: relative;
}
.flow__meeting__conts .box__list__left .number {
  content: "";
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 45px;
  font-size: 4.5rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
  position: absolute;
  top: -22px;
  left: 30px;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .flow__meeting__conts .box__list__left .number {
    font-size: 7rem;
    top: -34px;
  }
}
.flow__meeting__conts .box__list__left img {
  max-width: 328px;
}
.flow__meeting__conts .box__list__right {
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .flow__meeting__conts .box__list__right {
    margin-top: 0;
  }
}
.flow__meeting__conts .box__list__right .ttl {
  padding: 5px 15px 0 20px;
  position: relative;
}
.flow__meeting__conts .box__list__right .ttl::before {
  content: "";
  background: #ffd13d;
  display: inline-block;
  width: 10px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
}
.flow__meeting__conts .box__list__right .ttl::after {
  content: "";
  background: #363537;
  display: block;
  width: calc(100% + 35px);
  height: 1px;
  margin-top: 7px;
  margin-left: -20px;
  position: relative;
  z-index: 100;
}
.flow__meeting__conts .box__list__right .ttl__definition {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
}
.flow__meeting__conts .box__list__right .ttl__description {
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
  margin-top: 5px;
}
@media screen and (min-width: 768px) {
  .flow__meeting__conts .box__list__right .ttl__description {
    font-size: 1.8rem;
  }
}
.flow__meeting__conts .box__point {
  background: #fff;
  border: 3px solid #ffd13d;
  padding: 30px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .flow__meeting__conts .box__point {
    padding: 48px;
  }
}
.flow__meeting__conts .box__point::before {
  content: "";
  background: url(../img/icon-point.svg) no-repeat;
  width: 106.4px;
  height: 109.9px;
  position: absolute;
  top: -55px;
  left: -25px;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .flow__meeting__conts .box__point::before {
    width: 152px;
    height: 157px;
    top: -70px;
    left: -33px;
  }
}
.flow__meeting__conts .box__point .ttl {
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .flow__meeting__conts .box__point .ttl {
    font-size: 1.8rem;
  }
}
.flow__meeting__conts .box__point .bg {
  position: absolute;
  right: -30px;
  bottom: -30px;
  z-index: -200;
}
.flow__meeting__conts .box__point--02 {
  background: #ffd13d;
}
.flow__meeting__conts .box__point--02::before {
  content: "";
  background: url(../img/icon-point--02.svg) no-repeat;
}

/*-------------------------------
 10 Consult 個別相談会
-------------------------------*/
.consult__study .ttl {
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .consult__study .ttl {
    font-size: 1.8rem;
  }
}
.consult__study__place {
  background: #ffd13d;
  padding: 50px 0;
  position: relative;
}
.consult__study__place::before {
  content: "";
  background: url(../img/inspection-flag.png) no-repeat;
  background-size: contain;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .consult__study__place::before {
    background: url(../img/inspection-flag@2x.png) no-repeat;
    background-size: contain;
  }
}
.consult__study__place::before {
  width: 138.6px;
  height: 142.8px;
  position: absolute;
  top: -60px;
  left: -38px;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .consult__study__place::before {
    width: 198px;
    height: 204px;
    top: -84px;
  }
}
.consult__study__place__ttl {
  text-align: center;
}
.consult__study__place__ttl span {
  display: block;
}
@media screen and (min-width: 768px) {
  .consult__study__place__ttl span {
    display: inline-block;
  }
}
.consult__study__place__ttl .en {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 26px;
  font-size: 2.6rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.08em;
}
@media screen and (min-width: 768px) {
  .consult__study__place__ttl .en {
    font-size: 4.5rem;
  }
}
.consult__study__place__ttl .jp {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
.consult__study__place__box .inner-left {
  background: #fff;
  padding: 35px 11%;
  position: relative;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .consult__study__place__box .inner-left {
    right: -48px;
  }
}
.consult__study__place__box .inner-left .ttl {
  display: inline-block;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
.consult__study__place__box .inner-left .ttl::after {
  content: "";
  background: #363537;
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 2px;
}
.consult__study__place__box .inner-left .txt {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
.consult__study__place__box .inner-left dl {
  margin-left: 30px;
}
.consult__study__place__box .inner-left dl dt {
  position: relative;
}
.consult__study__place__box .inner-left dl dt .jp {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
}
.consult__study__place__box .inner-left dl dt .en {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
}
.consult__study__place__box .inner-left dl dt .en::before {
  content: "/";
  display: inline-block;
  margin: 0 2px 0 0;
}
.consult__study__place__box .inner-left dl dd {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin-top: 5px;
}
.consult__study__place__box .inner-left dl.place dt::before {
  content: "";
  background: url(../img/icon-pin.svg) no-repeat;
  width: 18px;
  height: 27px;
  position: absolute;
  top: -1px;
  left: -30px;
}
.consult__study__place__box .inner-left dl.schedule dt::before {
  content: "";
  background: url(../img/icon-schedule.svg) no-repeat;
  width: 21px;
  height: 21px;
  position: absolute;
  top: -1px;
  left: -30px;
}
.consult__study__place__box .inner-right {
  position: relative;
}
@media screen and (min-width: 768px) {
  .consult__study__place__box .inner-right {
    left: -48px;
  }
}
.consult__study__place .txt-consultation {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
  position: absolute;
  top: 50%;
  transform: rotate(-90deg) translateY(-50%);
  right: -8.1%;
}
@media screen and (min-width: 768px) {
  .consult__study__place .txt-consultation {
    font-size: 2rem;
    right: 0.6%;
  }
}
.consult__study__place .txt-free {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
  position: absolute;
  top: 50%;
  transform: rotate(90deg) translateY(-50%);
  left: -1%;
}
@media screen and (min-width: 768px) {
  .consult__study__place .txt-free {
    font-size: 2rem;
    left: 3.8%;
  }
}
.consult__study__place .bg {
  position: absolute;
  right: -3.7%;
  bottom: -40px;
  z-index: -100;
}
.consult__study__place .btn-secondary {
  padding: 0 20px;
}

/*-------------------------------
 12 Estate 土地探しについて
-------------------------------*/
.estate__ideal__conts02 {
  margin-top: 100px;
}
@media screen and (min-width: 768px) {
  .estate__ideal__conts02 {
    margin-top: 150px;
  }
}
.estate__ideal__conts02__box {
  background: #fff;
  border: 3px solid #ffd13d;
  padding: 30px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .estate__ideal__conts02__box {
    padding: 30px 40px;
  }
}
@media screen and (min-width: 1080px) {
  .estate__ideal__conts02__box {
    padding: 30px 45px;
  }
}
.estate__ideal__conts02__box .ttl {
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .estate__ideal__conts02__box .ttl {
    font-size: 1.8rem;
  }
}
.estate__ideal__conts02__box .ttl span {
  position: relative;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: 0.1em;
}
.estate__ideal__conts02__box .ttl span::before {
  content: "";
  background: url(../img/icon-point.svg) no-repeat;
  width: 72px;
  height: 74.4px;
  position: absolute;
  top: -70px;
  left: -45px;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .estate__ideal__conts02__box .ttl span::before {
    width: 90px;
    height: 93px;
    top: -86px;
    left: -50px;
  }
}
.estate__ideal__conts02__box .txt {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.estate__ideal__conts02__box ul li {
  display: inline-block;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.1em;
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .estate__ideal__conts02__box ul li {
    margin-right: 50px;
  }
}
.estate__ideal__conts02__box ul li::before {
  content: "■";
  color: #ffd13d;
  display: inline-block;
  margin-right: 5px;
}
.estate__ideal__conts02__box .bg {
  position: absolute;
  right: -30px;
  bottom: -30px;
  z-index: -100;
}
.estate__ideal__conts02__right {
  padding: 0 10px;
}
.estate__ideal__conts02__right .ttl02 span {
  display: block;
}
@media screen and (min-width: 768px) {
  .estate__ideal__conts02__right .ttl02 span {
    display: inline-block;
  }
}
.estate__ideal__conts02__right .ttl02 .en {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 20px;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .estate__ideal__conts02__right .ttl02 .en {
    font-size: 2.8rem;
  }
}
.estate__ideal__conts02__right .ttl02 .jp {
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
}

.estate__list__conts article {
  border-bottom: 1px solid #c2c2c2;
  padding-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .estate__list__conts article {
    padding-bottom: 40px;
  }
}
.estate__list__conts .eyecatch {
  position: relative;
}
.estate__list__conts .eyecatch .cat {
  background: #363537;
  color: #fff;
  display: inline-block;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.06em;
  padding: 5px 15px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
}
.estate__list__conts .eyecatch .all {
  display: none !important;
}
.estate__list__conts .ttl {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .estate__list__conts .ttl {
    font-size: 1.8rem;
  }
}
.estate__list__conts .ttl::after {
  content: "";
  background: #363537;
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 5px;
}
.estate__list__conts__info dt {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.1em;
  margin-top: 20px;
}
.estate__list__conts__info dd {
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .estate__list__conts__info dd {
    font-size: 1.7rem;
  }
}

/*-------------------------------
 25 About 会社概要
-------------------------------*/
.about__ceo__photo {
  position: relative;
}
.about__ceo__photo .en-name {
  display: inline-block;
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 32px;
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.1em;
  position: absolute;
  top: 22%;
  left: 5px;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .about__ceo__photo .en-name {
    font-size: 3.8rem;
    top: 10%;
    left: -5%;
  }
}
@media screen and (min-width: 960px) {
  .about__ceo__photo .en-name {
    font-size: 5rem;
    top: 22%;
    left: -21%;
  }
}
.about__ceo__photo .en-name::after {
  content: "";
  background: #363537;
  display: block;
  width: 75%;
  height: 4px;
  margin-top: 15px;
}
.about__ceo__photo .bg {
  position: absolute;
  right: -8.4%;
  bottom: -7%;
  z-index: -100;
}

.about__profile table {
  width: 100%;
}
.about__profile table tr th {
  background: #ededed;
  border: 1px solid #ededed;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.06em;
  padding: 15px;
  width: 34%;
}
@media screen and (min-width: 768px) {
  .about__profile table tr th {
    width: 23%;
  }
}
.about__profile table tr td {
  border: 1px solid #ededed;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.06em;
  padding: 15px;
  width: 66%;
}
@media screen and (min-width: 768px) {
  .about__profile table tr td {
    width: 77%;
  }
}
.about__profile .branch {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.06em;
  padding: 15px;
}

.about__map__ttl {
  position: relative;
}
.about__map__ttl::before {
  content: "";
  background: #363537;
  width: 100%;
  height: 1px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: -100;
}
.about__map__ttl p {
  background: #fff;
  display: inline;
  padding-right: 15px;
}
.about__map__ttl .en {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
}
.about__map__ttl .jp::before {
  content: "/";
  display: inline-block;
  margin: 0 10px 0 5px;
}
.about__map .gmap {
  height: 0;
  overflow: hidden;
  padding-bottom: 61.43%;
  position: relative;
  margin-top: 15px;
}
.about__map .gmap iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}

/*-------------------------------
 26 Staff スタッフ紹介
-------------------------------*/
.staff__conts__list {
  margin-top: 100px;
}
@media screen and (min-width: 768px) {
  .staff__conts__list {
    margin-top: 180px;
  }
}
.staff__conts__list__photo {
  position: relative;
}
.staff__conts__list__photo .bg {
  position: absolute;
  right: -10%;
  bottom: -9%;
  z-index: -100;
}
.staff__conts__list__photo .en-name {
  display: inline-block;
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 32px;
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.1em;
  position: absolute;
  top: -17.5%;
  left: -16%;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .staff__conts__list__photo .en-name {
    font-size: 3.8rem;
    top: -22.5%;
    left: -24%;
  }
}
@media screen and (min-width: 960px) {
  .staff__conts__list__photo .en-name {
    font-size: 5rem;
    top: -19.5%;
    left: -21%;
  }
}
.staff__conts__list__photo .en-name::after {
  content: "";
  background: #363537;
  display: block;
  width: 75%;
  max-width: 154px;
  height: 4px;
  margin-top: 15px;
}
.staff__conts__list__position {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.075em;
  margin-top: 15px;
}
.staff__conts__list__name {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.06em;
  margin-top: 10px;
}

/*-------------------------------
 28 お問い合わせ一覧
-------------------------------*/
.contact__list__img01 {
  border: 8px solid #ffd13d;
}
.contact__list__img02 {
  text-align: center;
  position: relative;
}
.contact__list__img02 img {
  max-width: 78%;
  margin-top: -13%;
}

/*-------------------------------
 29 資料請求・お問い合わせ
-------------------------------*/
.contactform__conts__box,
.studyofhouse__form__box,
.studyofland__form__box,
.passive__form__box {
  background: linear-gradient(-225deg, transparent 8%, #eee 8%) no-repeat;
  background-position: top left;
  padding: 50px 16%;
  position: relative;
}
@media screen and (min-width: 768px) {
  .contactform__conts__box,
  .studyofhouse__form__box,
  .studyofland__form__box,
  .passive__form__box {
    padding: 50px 20%;
  }
}
.contactform__conts__box .ttl,
.studyofhouse__form__box .ttl,
.studyofland__form__box .ttl,
.passive__form__box .ttl {
  display: inline-block;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.contactform__conts__box .ttl::after,
.studyofhouse__form__box .ttl::after,
.studyofland__form__box .ttl::after,
.passive__form__box .ttl::after {
  content: "";
  background: #363537;
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 5px;
}
.contactform__conts__box .tel,
.studyofhouse__form__box .tel,
.studyofland__form__box .tel,
.passive__form__box .tel {
  display: flex;
  align-items: center;
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .contactform__conts__box .tel,
  .studyofhouse__form__box .tel,
  .studyofland__form__box .tel,
  .passive__form__box .tel {
    font-size: 2.4rem;
  }
}
.contactform__conts__box .tel::before,
.studyofhouse__form__box .tel::before,
.studyofland__form__box .tel::before,
.passive__form__box .tel::before {
  content: "";
  background: url(../img/icon-tel.svg) no-repeat;
  display: inline-block;
  width: 18px;
  height: 18px;
  margin-right: 10px;
}
@media screen and (min-width: 768px) {
  .contactform__conts__box .tel::before,
  .studyofhouse__form__box .tel::before,
  .studyofland__form__box .tel::before,
  .passive__form__box .tel::before {
    width: 24px;
    height: 24px;
  }
}
.contactform__conts__box .tel a,
.studyofhouse__form__box .tel a,
.studyofland__form__box .tel a,
.passive__form__box .tel a {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
  margin-left: 10px;
}
@media screen and (min-width: 768px) {
  .contactform__conts__box .tel a,
  .studyofhouse__form__box .tel a,
  .studyofland__form__box .tel a,
  .passive__form__box .tel a {
    font-size: 2.4rem;
  }
}
.contactform__conts__box .txt,
.studyofhouse__form__box .txt,
.studyofland__form__box .txt,
.passive__form__box .txt {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.06em;
}
.contactform__conts__box .txt-contactus,
.studyofhouse__form__box .txt-contactus,
.studyofland__form__box .txt-contactus,
.passive__form__box .txt-contactus {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
  position: absolute;
  top: 50%;
  transform: rotate(-90deg) translateY(-50%);
  left: 0;
}
@media screen and (min-width: 768px) {
  .contactform__conts__box .txt-contactus,
  .studyofhouse__form__box .txt-contactus,
  .studyofland__form__box .txt-contactus,
  .passive__form__box .txt-contactus {
    font-size: 1.6rem;
    left: 4%;
  }
}
.contactform__conts__box .txt-sunhousing,
.studyofhouse__form__box .txt-sunhousing,
.studyofland__form__box .txt-sunhousing,
.passive__form__box .txt-sunhousing {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
  position: absolute;
  top: 50%;
  transform: rotate(90deg) translateY(-50%);
  right: 0;
}
@media screen and (min-width: 768px) {
  .contactform__conts__box .txt-sunhousing,
  .studyofhouse__form__box .txt-sunhousing,
  .studyofland__form__box .txt-sunhousing,
  .passive__form__box .txt-sunhousing {
    font-size: 1.6rem;
    right: 4%;
  }
}
.contactform__conts__underttl,
.studyofhouse__form__underttl,
.studyofland__form__underttl,
.passive__form__underttl {
  display: inline-block;
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
.contactform__conts__underttl::after,
.studyofhouse__form__underttl::after,
.studyofland__form__underttl::after,
.passive__form__underttl::after {
  content: "";
  background: #363537;
  display: block;
  width: 100%;
  height: 1px;
}
.contactform__conts__underttl .large,
.studyofhouse__form__underttl .large,
.studyofland__form__underttl .large,
.passive__form__underttl .large {
  font-size: 20px;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
.contactform__conts .contactform7 table,
.studyofhouse__form .contactform7 table,
.studyofland__form .contactform7 table,
.passive__form .contactform7 table {
  width: 100%;
}
.contactform__conts .contactform7 .ttl,
.studyofhouse__form .contactform7 .ttl,
.studyofland__form .contactform7 .ttl,
.passive__form .contactform7 .ttl {
  display: block;
  text-align: left;
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .contactform__conts .contactform7 .ttl,
  .studyofhouse__form .contactform7 .ttl,
  .studyofland__form .contactform7 .ttl,
  .passive__form .contactform7 .ttl {
    display: table-cell;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.06em;
    width: 26%;
    padding: 10px 0;
    vertical-align: top;
    margin-top: 0;
  }
}
.contactform__conts .contactform7 .ttl .hissu,
.studyofhouse__form .contactform7 .ttl .hissu,
.studyofland__form .contactform7 .ttl .hissu,
.passive__form .contactform7 .ttl .hissu {
  background: #ffd13d;
  border-radius: 5px;
  color: #fff;
  display: inline-block;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.06em;
  margin-left: 10px;
  padding: 3px 8px 4px 8px;
  text-align: right;
}
.contactform__conts .contactform7 .box,
.studyofhouse__form .contactform7 .box,
.studyofland__form .contactform7 .box,
.passive__form .contactform7 .box {
  display: block;
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .contactform__conts .contactform7 .box,
  .studyofhouse__form .contactform7 .box,
  .studyofland__form .contactform7 .box,
  .passive__form .contactform7 .box {
    display: table-cell;
    width: 74%;
    padding: 10px 0 10px 24px;
    margin-top: 0;
  }
}
.contactform__conts .contactform7 .box span.consideration, .contactform__conts .contactform7 .box span.nowhouse, .contactform__conts .contactform7 .box span.age, .contactform__conts .contactform7 .box span.nop, .contactform__conts .contactform7 .box span.budget, .contactform__conts .contactform7 .box span.season, .contactform__conts .contactform7 .box span.photodetail, .contactform__conts .contactform7 .box span.eventdetail, .contactform__conts .contactform7 .box span.date1, .contactform__conts .contactform7 .box span.date2, .contactform__conts .contactform7 .box span.date3,
.studyofhouse__form .contactform7 .box span.consideration,
.studyofhouse__form .contactform7 .box span.nowhouse,
.studyofhouse__form .contactform7 .box span.age,
.studyofhouse__form .contactform7 .box span.nop,
.studyofhouse__form .contactform7 .box span.budget,
.studyofhouse__form .contactform7 .box span.season,
.studyofhouse__form .contactform7 .box span.photodetail,
.studyofhouse__form .contactform7 .box span.eventdetail,
.studyofhouse__form .contactform7 .box span.date1,
.studyofhouse__form .contactform7 .box span.date2,
.studyofhouse__form .contactform7 .box span.date3,
.studyofland__form .contactform7 .box span.consideration,
.studyofland__form .contactform7 .box span.nowhouse,
.studyofland__form .contactform7 .box span.age,
.studyofland__form .contactform7 .box span.nop,
.studyofland__form .contactform7 .box span.budget,
.studyofland__form .contactform7 .box span.season,
.studyofland__form .contactform7 .box span.photodetail,
.studyofland__form .contactform7 .box span.eventdetail,
.studyofland__form .contactform7 .box span.date1,
.studyofland__form .contactform7 .box span.date2,
.studyofland__form .contactform7 .box span.date3,
.passive__form .contactform7 .box span.consideration,
.passive__form .contactform7 .box span.nowhouse,
.passive__form .contactform7 .box span.age,
.passive__form .contactform7 .box span.nop,
.passive__form .contactform7 .box span.budget,
.passive__form .contactform7 .box span.season,
.passive__form .contactform7 .box span.photodetail,
.passive__form .contactform7 .box span.eventdetail,
.passive__form .contactform7 .box span.date1,
.passive__form .contactform7 .box span.date2,
.passive__form .contactform7 .box span.date3 {
  position: relative;
}
.contactform__conts .contactform7 .box span.consideration::after, .contactform__conts .contactform7 .box span.nowhouse::after, .contactform__conts .contactform7 .box span.age::after, .contactform__conts .contactform7 .box span.nop::after, .contactform__conts .contactform7 .box span.budget::after, .contactform__conts .contactform7 .box span.season::after, .contactform__conts .contactform7 .box span.photodetail::after, .contactform__conts .contactform7 .box span.eventdetail::after, .contactform__conts .contactform7 .box span.date1::after, .contactform__conts .contactform7 .box span.date2::after, .contactform__conts .contactform7 .box span.date3::after,
.studyofhouse__form .contactform7 .box span.consideration::after,
.studyofhouse__form .contactform7 .box span.nowhouse::after,
.studyofhouse__form .contactform7 .box span.age::after,
.studyofhouse__form .contactform7 .box span.nop::after,
.studyofhouse__form .contactform7 .box span.budget::after,
.studyofhouse__form .contactform7 .box span.season::after,
.studyofhouse__form .contactform7 .box span.photodetail::after,
.studyofhouse__form .contactform7 .box span.eventdetail::after,
.studyofhouse__form .contactform7 .box span.date1::after,
.studyofhouse__form .contactform7 .box span.date2::after,
.studyofhouse__form .contactform7 .box span.date3::after,
.studyofland__form .contactform7 .box span.consideration::after,
.studyofland__form .contactform7 .box span.nowhouse::after,
.studyofland__form .contactform7 .box span.age::after,
.studyofland__form .contactform7 .box span.nop::after,
.studyofland__form .contactform7 .box span.budget::after,
.studyofland__form .contactform7 .box span.season::after,
.studyofland__form .contactform7 .box span.photodetail::after,
.studyofland__form .contactform7 .box span.eventdetail::after,
.studyofland__form .contactform7 .box span.date1::after,
.studyofland__form .contactform7 .box span.date2::after,
.studyofland__form .contactform7 .box span.date3::after,
.passive__form .contactform7 .box span.consideration::after,
.passive__form .contactform7 .box span.nowhouse::after,
.passive__form .contactform7 .box span.age::after,
.passive__form .contactform7 .box span.nop::after,
.passive__form .contactform7 .box span.budget::after,
.passive__form .contactform7 .box span.season::after,
.passive__form .contactform7 .box span.photodetail::after,
.passive__form .contactform7 .box span.eventdetail::after,
.passive__form .contactform7 .box span.date1::after,
.passive__form .contactform7 .box span.date2::after,
.passive__form .contactform7 .box span.date3::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 3px 0 3px;
  border-color: #363537 transparent transparent transparent;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 15px;
}
.contactform__conts .contactform7 .box input,
.studyofhouse__form .contactform7 .box input,
.studyofland__form .contactform7 .box input,
.passive__form .contactform7 .box input {
  padding: 0 15px;
  border-radius: 0;
  box-sizing: border-box;
  font-size: 1.6rem;
}
@media screen and (min-width: 768px) {
  .contactform__conts .contactform7 .box input,
  .studyofhouse__form .contactform7 .box input,
  .studyofland__form .contactform7 .box input,
  .passive__form .contactform7 .box input {
    font-size: 1.4rem;
  }
}
.contactform__conts .contactform7 .box input[type=date],
.studyofhouse__form .contactform7 .box input[type=date],
.studyofland__form .contactform7 .box input[type=date],
.passive__form .contactform7 .box input[type=date] {
  -webkit-appearance: none;
}
.contactform__conts .contactform7 .box input[type=text],
.contactform__conts .contactform7 .box input[type=tel],
.contactform__conts .contactform7 .box input[type=email],
.contactform__conts .contactform7 .box input[type=date],
.studyofhouse__form .contactform7 .box input[type=text],
.studyofhouse__form .contactform7 .box input[type=tel],
.studyofhouse__form .contactform7 .box input[type=email],
.studyofhouse__form .contactform7 .box input[type=date],
.studyofland__form .contactform7 .box input[type=text],
.studyofland__form .contactform7 .box input[type=tel],
.studyofland__form .contactform7 .box input[type=email],
.studyofland__form .contactform7 .box input[type=date],
.passive__form .contactform7 .box input[type=text],
.passive__form .contactform7 .box input[type=tel],
.passive__form .contactform7 .box input[type=email],
.passive__form .contactform7 .box input[type=date] {
  height: 36px;
  width: 100%;
  background: #fff;
  border: 1px solid #eee;
}
.contactform__conts .contactform7 .box input[type=text]:focus,
.contactform__conts .contactform7 .box input[type=tel]:focus,
.contactform__conts .contactform7 .box input[type=email]:focus,
.contactform__conts .contactform7 .box input[type=date]:focus,
.studyofhouse__form .contactform7 .box input[type=text]:focus,
.studyofhouse__form .contactform7 .box input[type=tel]:focus,
.studyofhouse__form .contactform7 .box input[type=email]:focus,
.studyofhouse__form .contactform7 .box input[type=date]:focus,
.studyofland__form .contactform7 .box input[type=text]:focus,
.studyofland__form .contactform7 .box input[type=tel]:focus,
.studyofland__form .contactform7 .box input[type=email]:focus,
.studyofland__form .contactform7 .box input[type=date]:focus,
.passive__form .contactform7 .box input[type=text]:focus,
.passive__form .contactform7 .box input[type=tel]:focus,
.passive__form .contactform7 .box input[type=email]:focus,
.passive__form .contactform7 .box input[type=date]:focus {
  box-shadow: 0 0 3px 0 #ccc;
  outline: 0;
}
.contactform__conts .contactform7 .box textarea,
.studyofhouse__form .contactform7 .box textarea,
.studyofland__form .contactform7 .box textarea,
.passive__form .contactform7 .box textarea {
  width: 100%;
  padding: 10px 15px;
  border-radius: 0;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #eee;
  -webkit-appearance: none;
  font-size: 1.6rem;
}
@media screen and (min-width: 768px) {
  .contactform__conts .contactform7 .box textarea,
  .studyofhouse__form .contactform7 .box textarea,
  .studyofland__form .contactform7 .box textarea,
  .passive__form .contactform7 .box textarea {
    font-size: 1.4rem;
  }
}
.contactform__conts .contactform7 .box textarea:focus,
.studyofhouse__form .contactform7 .box textarea:focus,
.studyofland__form .contactform7 .box textarea:focus,
.passive__form .contactform7 .box textarea:focus {
  box-shadow: 0 0 3px 0 #ccc;
  outline: 0;
}
.contactform__conts .contactform7 .box select,
.studyofhouse__form .contactform7 .box select,
.studyofland__form .contactform7 .box select,
.passive__form .contactform7 .box select {
  width: 100%;
  height: 36px;
  border-radius: 0;
  -webkit-border-radius: 0;
  -webkit-appearance: none;
  padding: 0 10px;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #eee;
  font-size: 1.6rem;
}
@media screen and (min-width: 768px) {
  .contactform__conts .contactform7 .box select,
  .studyofhouse__form .contactform7 .box select,
  .studyofland__form .contactform7 .box select,
  .passive__form .contactform7 .box select {
    font-size: 1.4rem;
  }
}
.contactform__conts .contactform7 .box select:focus,
.studyofhouse__form .contactform7 .box select:focus,
.studyofland__form .contactform7 .box select:focus,
.passive__form .contactform7 .box select:focus {
  box-shadow: 0 0 3px 0 #ccc;
  outline: 0;
}
.contactform__conts .contactform7 .txt-privacy,
.studyofhouse__form .contactform7 .txt-privacy,
.studyofland__form .contactform7 .txt-privacy,
.passive__form .contactform7 .txt-privacy {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 2.1;
  letter-spacing: 0.06em;
  text-align: center;
}
.contactform__conts .contactform7 .txt-privacy a,
.studyofhouse__form .contactform7 .txt-privacy a,
.studyofland__form .contactform7 .txt-privacy a,
.passive__form .contactform7 .txt-privacy a {
  line-height: inherit;
  text-decoration: underline;
}
.contactform__conts .contactform7 .btn-send,
.studyofhouse__form .contactform7 .btn-send,
.studyofland__form .contactform7 .btn-send,
.passive__form .contactform7 .btn-send {
  width: 100%;
  max-width: 160px;
  margin-left: auto;
  margin-right: auto;
  height: 35px;
  position: relative;
}
.contactform__conts .contactform7 .btn-send::before,
.studyofhouse__form .contactform7 .btn-send::before,
.studyofland__form .contactform7 .btn-send::before,
.passive__form .contactform7 .btn-send::before {
  content: "";
  background: url(../img/arrow-btn.svg) no-repeat;
  width: 31px;
  height: 7px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -15px;
  z-index: 100;
}
.contactform__conts .contactform7 .btn-send:hover::before,
.studyofhouse__form .contactform7 .btn-send:hover::before,
.studyofland__form .contactform7 .btn-send:hover::before,
.passive__form .contactform7 .btn-send:hover::before {
  content: "";
  background: url(../img/arrow-btn-hov.svg) no-repeat;
}
.contactform__conts .contactform7 .btn-send .wpcf7-submit,
.studyofhouse__form .contactform7 .btn-send .wpcf7-submit,
.studyofland__form .contactform7 .btn-send .wpcf7-submit,
.passive__form .contactform7 .btn-send .wpcf7-submit {
  background: #fff;
  border: 1px solid #363537;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.06em;
  width: 100%;
  max-width: 160px;
  height: 35px;
  position: relative;
  transition: 0.3s;
}
.contactform__conts .contactform7 .btn-send .wpcf7-submit:hover,
.studyofhouse__form .contactform7 .btn-send .wpcf7-submit:hover,
.studyofland__form .contactform7 .btn-send .wpcf7-submit:hover,
.passive__form .contactform7 .btn-send .wpcf7-submit:hover {
  background: #363537;
  color: #fff;
}
.contactform__conts .contactform7 .btn-send input[type=submit],
.studyofhouse__form .contactform7 .btn-send input[type=submit],
.studyofland__form .contactform7 .btn-send input[type=submit],
.passive__form .contactform7 .btn-send input[type=submit] {
  -webkit-appearance: none;
}
.contactform__conts .contactform7 .btn-send .ajax-loader,
.studyofhouse__form .contactform7 .btn-send .ajax-loader,
.studyofland__form .contactform7 .btn-send .ajax-loader,
.passive__form .contactform7 .btn-send .ajax-loader {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 35%;
}

.grecaptcha-badge {
  visibility: hidden;
}

.grecaptcha-hedge {
  font-size: 1.3rem;
  line-height: 1.4;
  text-align: center;
  margin: 40px auto 30px auto;
}

.grecaptcha-hedge a,
.grecaptcha-hedge a:hover,
.grecaptcha-hedge a:focus {
  color: blue;
  text-decoration: underline;
}

/*-------------------------------
 個人情報取扱方針
-------------------------------*/
.privacy__conts__ttl-bg {
  background: #363537;
  color: #fff;
  display: inline-block;
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
  padding: 5px 15px;
}
.privacy__conts__ttl-l::after {
  content: "";
  background: #363537;
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 5px;
}
.privacy__conts .heading01 {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0em;
  margin-top: 30px;
}
.privacy__conts .txt01 {
  margin-top: 5px;
}
.privacy__conts ul li {
  padding-left: 10px;
}
.privacy__conts ul li::before {
  content: "-";
  display: inline-block;
  margin-left: -10px;
  margin-right: 5px;
}
.privacy__conts__box {
  background: linear-gradient(-225deg, transparent 8%, #eee 8%) no-repeat;
  background-position: top left;
  padding: 50px 16%;
  position: relative;
}
@media screen and (min-width: 768px) {
  .privacy__conts__box {
    padding: 50px 20%;
  }
}
.privacy__conts__box p, .privacy__conts__box span {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.06em;
}
.privacy__conts__box .ttl {
  display: inline-block;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.privacy__conts__box .ttl::after {
  content: "";
  background: #363537;
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 5px;
}
.privacy__conts__box .txt-contactus {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
  position: absolute;
  top: 50%;
  transform: rotate(-90deg) translateY(-50%);
  left: 0;
}
@media screen and (min-width: 768px) {
  .privacy__conts__box .txt-contactus {
    font-size: 1.6rem;
    left: 4%;
  }
}
.privacy__conts__box .txt-sunhousing {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
  position: absolute;
  top: 50%;
  transform: rotate(90deg) translateY(-50%);
  right: 0;
}
@media screen and (min-width: 768px) {
  .privacy__conts__box .txt-sunhousing {
    font-size: 1.6rem;
    right: 4%;
  }
}

/*-------------------------------
 サイトマップ
-------------------------------*/
.sitemap__conts__block {
  border-bottom: 1px solid #ededed;
  padding: 20px 0;
}
.sitemap__conts__block:first-child {
  border-top: 1px solid #ededed;
}
.sitemap__conts__block .parents {
  display: flex;
  align-items: center;
}
.sitemap__conts__block .parents::before {
  content: "";
  background: url(../img/parents-before.svg) no-repeat;
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-right: 5px;
}
.sitemap__conts__block .parents a, .sitemap__conts__block .parents span {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.06em;
}
.sitemap__conts__block .parents--arrow::before {
  content: "";
  background: url(../img/parents-arrow-before.svg) no-repeat;
}
.sitemap__conts__block .child {
  margin-top: 15px;
}
.sitemap__conts__block .child li {
  display: inline-block;
  padding: 8px 50px 8px 0;
}
.sitemap__conts__block .child li::before {
  content: "";
  background: url(../img/child-arrow.svg) no-repeat;
  display: inline-block;
  width: 5px;
  height: 10px;
  margin-right: 5px;
}
.sitemap__conts__block .child li a {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.06em;
}

/*-------------------------------
 404
-------------------------------*/
.wrap-404 {
  text-align: center;
  margin: 150px auto;
}

/*-------------------------------
 reCAPTCHA
-------------------------------*/
/*-------------------------------
 家づくり勉強会
-------------------------------*/
.studyofhouse__pre .ttl {
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .studyofhouse__pre .ttl {
    font-size: 1.8rem;
  }
}
.studyofhouse__pre__point__box {
  padding-left: 22%;
  position: relative;
}
.studyofhouse__pre__point__box .ttl {
  display: inline-block;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
.studyofhouse__pre__point__box .ttl::before {
  content: "";
  background: url(../img/icon-point.svg) no-repeat;
  background-size: contain;
  width: 100%;
  max-width: 79.2px;
  height: 82.8px;
  position: absolute;
  top: -18%;
  left: 0;
}
@media screen and (min-width: 768px) {
  .studyofhouse__pre__point__box .ttl::before {
    max-width: 88px;
    height: 92px;
    top: -25%;
  }
}
.studyofhouse__pre__point__box .ttl::after {
  content: "";
  background: #363537;
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 3px;
}
.studyofhouse__pre__point__box .txt {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.06em;
}

.studyofhouse__detail__place {
  background: #ffd13d;
  padding: 50px 0;
  position: relative;
}
.studyofhouse__detail__place::before {
  content: "";
  background: url(../img/inspection-flag.png) no-repeat;
  background-size: contain;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .studyofhouse__detail__place::before {
    background: url(../img/inspection-flag@2x.png) no-repeat;
    background-size: contain;
  }
}
.studyofhouse__detail__place::before {
  width: 138.6px;
  height: 142.8px;
  position: absolute;
  top: -60px;
  left: -38px;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .studyofhouse__detail__place::before {
    width: 198px;
    height: 204px;
    top: -84px;
  }
}
.studyofhouse__detail__place__ttl {
  text-align: center;
}
.studyofhouse__detail__place__ttl span {
  display: block;
}
@media screen and (min-width: 768px) {
  .studyofhouse__detail__place__ttl span {
    display: inline-block;
  }
}
.studyofhouse__detail__place__ttl .en {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 26px;
  font-size: 2.6rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.08em;
}
@media screen and (min-width: 768px) {
  .studyofhouse__detail__place__ttl .en {
    font-size: 4.5rem;
  }
}
.studyofhouse__detail__place__ttl .jp {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
.studyofhouse__detail__place__box .inner-left {
  background: #fff;
  padding: 35px 11%;
  position: relative;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .studyofhouse__detail__place__box .inner-left {
    right: -48px;
  }
}
.studyofhouse__detail__place__box .inner-left .ttl {
  display: inline-block;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
.studyofhouse__detail__place__box .inner-left .ttl::after {
  content: "";
  background: #363537;
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 2px;
}
.studyofhouse__detail__place__box .inner-left .txt {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
.studyofhouse__detail__place__box .inner-left .list li {
  margin-left: 13px;
  position: relative;
}
.studyofhouse__detail__place__box .inner-left .list li::before {
  content: "・";
  position: absolute;
  left: -18px;
}
.studyofhouse__detail__place__box .inner-left dl {
  margin-left: 30px;
}
.studyofhouse__detail__place__box .inner-left dl dt {
  position: relative;
}
.studyofhouse__detail__place__box .inner-left dl dt .jp {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
}
.studyofhouse__detail__place__box .inner-left dl dt .en {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
}
.studyofhouse__detail__place__box .inner-left dl dt .en::before {
  content: "/";
  display: inline-block;
  margin: 0 2px 0 0;
}
.studyofhouse__detail__place__box .inner-left dl dd {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin-top: 5px;
}
.studyofhouse__detail__place__box .inner-left dl.place dt::before {
  content: "";
  background: url(../img/icon-pin.svg) no-repeat;
  width: 18px;
  height: 27px;
  position: absolute;
  top: -1px;
  left: -30px;
}
.studyofhouse__detail__place__box .inner-left dl.schedule dt::before {
  content: "";
  background: url(../img/icon-schedule.svg) no-repeat;
  width: 21px;
  height: 21px;
  position: absolute;
  top: -1px;
  left: -30px;
}
.studyofhouse__detail__place__box .inner-right {
  position: relative;
}
@media screen and (min-width: 768px) {
  .studyofhouse__detail__place__box .inner-right {
    left: -48px;
  }
}
.studyofhouse__detail__place .txt-consultation {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
  position: absolute;
  top: 50%;
  transform: rotate(-90deg) translateY(-50%);
  right: -8.1%;
}
@media screen and (min-width: 768px) {
  .studyofhouse__detail__place .txt-consultation {
    font-size: 2rem;
    right: 0.6%;
  }
}
.studyofhouse__detail__place .txt-free {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
  position: absolute;
  top: 50%;
  transform: rotate(90deg) translateY(-50%);
  left: -1%;
}
@media screen and (min-width: 768px) {
  .studyofhouse__detail__place .txt-free {
    font-size: 2rem;
    left: 3.8%;
  }
}
.studyofhouse__detail__place .bg {
  position: absolute;
  right: -3.7%;
  bottom: -40px;
  z-index: -100;
}
.studyofhouse__detail__place .btn-secondary {
  padding: 0 20px;
}

/*-------------------------------
 土地探し勉強会
-------------------------------*/
.studyofland__pre .ttl {
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .studyofland__pre .ttl {
    font-size: 1.8rem;
  }
}
.studyofland__pre__point__box {
  padding-left: 22%;
  position: relative;
}
.studyofland__pre__point__box .ttl {
  display: inline-block;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
.studyofland__pre__point__box .ttl::before {
  content: "";
  background: url(../img/icon-point.svg) no-repeat;
  background-size: contain;
  width: 100%;
  max-width: 79.2px;
  height: 82.8px;
  position: absolute;
  top: -18%;
  left: 0;
}
@media screen and (min-width: 768px) {
  .studyofland__pre__point__box .ttl::before {
    max-width: 88px;
    height: 92px;
    top: -25%;
  }
}
.studyofland__pre__point__box .ttl::after {
  content: "";
  background: #363537;
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 3px;
}
.studyofland__pre__point__box .txt {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.06em;
}

.studyofland__detail__place {
  background: #ffd13d;
  padding: 50px 0;
  position: relative;
}
.studyofland__detail__place::before {
  content: "";
  background: url(../img/inspection-flag.png) no-repeat;
  background-size: contain;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .studyofland__detail__place::before {
    background: url(../img/inspection-flag@2x.png) no-repeat;
    background-size: contain;
  }
}
.studyofland__detail__place::before {
  width: 138.6px;
  height: 142.8px;
  position: absolute;
  top: -60px;
  left: -38px;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .studyofland__detail__place::before {
    width: 198px;
    height: 204px;
    top: -84px;
  }
}
.studyofland__detail__place__ttl {
  text-align: center;
}
.studyofland__detail__place__ttl span {
  display: block;
}
@media screen and (min-width: 768px) {
  .studyofland__detail__place__ttl span {
    display: inline-block;
  }
}
.studyofland__detail__place__ttl .en {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 26px;
  font-size: 2.6rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.08em;
}
@media screen and (min-width: 768px) {
  .studyofland__detail__place__ttl .en {
    font-size: 4.5rem;
  }
}
.studyofland__detail__place__ttl .jp {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
.studyofland__detail__place__box .inner-left {
  background: #fff;
  padding: 35px 11%;
  position: relative;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .studyofland__detail__place__box .inner-left {
    right: -48px;
  }
}
.studyofland__detail__place__box .inner-left .ttl {
  display: inline-block;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
.studyofland__detail__place__box .inner-left .ttl::after {
  content: "";
  background: #363537;
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 2px;
}
.studyofland__detail__place__box .inner-left .txt {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
.studyofland__detail__place__box .inner-left .list li {
  margin-left: 13px;
  position: relative;
}
.studyofland__detail__place__box .inner-left .list li::before {
  content: "・";
  position: absolute;
  left: -18px;
}
.studyofland__detail__place__box .inner-left dl {
  margin-left: 30px;
}
.studyofland__detail__place__box .inner-left dl dt {
  position: relative;
}
.studyofland__detail__place__box .inner-left dl dt .jp {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
}
.studyofland__detail__place__box .inner-left dl dt .en {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
}
.studyofland__detail__place__box .inner-left dl dt .en::before {
  content: "/";
  display: inline-block;
  margin: 0 2px 0 0;
}
.studyofland__detail__place__box .inner-left dl dd {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin-top: 5px;
}
.studyofland__detail__place__box .inner-left dl.place dt::before {
  content: "";
  background: url(../img/icon-pin.svg) no-repeat;
  width: 18px;
  height: 27px;
  position: absolute;
  top: -1px;
  left: -30px;
}
.studyofland__detail__place__box .inner-left dl.schedule dt::before {
  content: "";
  background: url(../img/icon-schedule.svg) no-repeat;
  width: 21px;
  height: 21px;
  position: absolute;
  top: -1px;
  left: -30px;
}
.studyofland__detail__place__box .inner-right {
  position: relative;
}
@media screen and (min-width: 768px) {
  .studyofland__detail__place__box .inner-right {
    left: -48px;
  }
}
.studyofland__detail__place .txt-consultation {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
  position: absolute;
  top: 50%;
  transform: rotate(-90deg) translateY(-50%);
  right: -8.1%;
}
@media screen and (min-width: 768px) {
  .studyofland__detail__place .txt-consultation {
    font-size: 2rem;
    right: 0.6%;
  }
}
.studyofland__detail__place .txt-free {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
  position: absolute;
  top: 50%;
  transform: rotate(90deg) translateY(-50%);
  left: -1%;
}
@media screen and (min-width: 768px) {
  .studyofland__detail__place .txt-free {
    font-size: 2rem;
    left: 3.8%;
  }
}
.studyofland__detail__place .bg {
  position: absolute;
  right: -3.7%;
  bottom: -40px;
  z-index: -100;
}
.studyofland__detail__place .btn-secondary {
  padding: 0 20px;
}

/*-------------------------------
 パッシブデザインセミナー
-------------------------------*/
.passive__pre .ttl {
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .passive__pre .ttl {
    font-size: 1.8rem;
  }
}
.passive__pre__point__box {
  padding-left: 22%;
  position: relative;
}
.passive__pre__point__box .ttl {
  display: inline-block;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
.passive__pre__point__box .ttl::before {
  content: "";
  background: url(../img/icon-point.svg) no-repeat;
  background-size: contain;
  width: 100%;
  max-width: 79.2px;
  height: 82.8px;
  position: absolute;
  top: -18%;
  left: 0;
}
@media screen and (min-width: 768px) {
  .passive__pre__point__box .ttl::before {
    max-width: 88px;
    height: 92px;
    top: -25%;
  }
}
.passive__pre__point__box .ttl::after {
  content: "";
  background: #363537;
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 3px;
}
.passive__pre__point__box .txt {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.06em;
}

.passive__detail__place {
  background: #ffd13d;
  padding: 50px 0;
  position: relative;
}
.passive__detail__place::before {
  content: "";
  background: url(../img/inspection-flag.png) no-repeat;
  background-size: contain;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .passive__detail__place::before {
    background: url(../img/inspection-flag@2x.png) no-repeat;
    background-size: contain;
  }
}
.passive__detail__place::before {
  width: 138.6px;
  height: 142.8px;
  position: absolute;
  top: -60px;
  left: -38px;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .passive__detail__place::before {
    width: 198px;
    height: 204px;
    top: -84px;
  }
}
.passive__detail__place__ttl {
  text-align: center;
}
.passive__detail__place__ttl span {
  display: block;
}
@media screen and (min-width: 768px) {
  .passive__detail__place__ttl span {
    display: inline-block;
  }
}
.passive__detail__place__ttl .en {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 26px;
  font-size: 2.6rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.08em;
}
@media screen and (min-width: 768px) {
  .passive__detail__place__ttl .en {
    font-size: 4.5rem;
  }
}
.passive__detail__place__ttl .jp {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
.passive__detail__place__box .inner-left {
  background: #fff;
  padding: 35px 11%;
  position: relative;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .passive__detail__place__box .inner-left {
    right: -48px;
  }
}
.passive__detail__place__box .inner-left .ttl {
  display: inline-block;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
.passive__detail__place__box .inner-left .ttl::after {
  content: "";
  background: #363537;
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 2px;
}
.passive__detail__place__box .inner-left .txt {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
.passive__detail__place__box .inner-left .list li {
  margin-left: 13px;
  position: relative;
}
.passive__detail__place__box .inner-left .list li::before {
  content: "・";
  position: absolute;
  left: -18px;
}
.passive__detail__place__box .inner-left dl {
  margin-left: 30px;
}
.passive__detail__place__box .inner-left dl dt {
  position: relative;
}
.passive__detail__place__box .inner-left dl dt .jp {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
}
.passive__detail__place__box .inner-left dl dt .en {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
}
.passive__detail__place__box .inner-left dl dt .en::before {
  content: "/";
  display: inline-block;
  margin: 0 2px 0 0;
}
.passive__detail__place__box .inner-left dl dd {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin-top: 5px;
}
.passive__detail__place__box .inner-left dl.place dt::before {
  content: "";
  background: url(../img/icon-pin.svg) no-repeat;
  width: 18px;
  height: 27px;
  position: absolute;
  top: -1px;
  left: -30px;
}
.passive__detail__place__box .inner-left dl.schedule dt::before {
  content: "";
  background: url(../img/icon-schedule.svg) no-repeat;
  width: 21px;
  height: 21px;
  position: absolute;
  top: -1px;
  left: -30px;
}
.passive__detail__place__box .inner-right {
  position: relative;
}
@media screen and (min-width: 768px) {
  .passive__detail__place__box .inner-right {
    left: -48px;
  }
}
.passive__detail__place .txt-consultation {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
  position: absolute;
  top: 50%;
  transform: rotate(-90deg) translateY(-50%);
  right: -8.1%;
}
@media screen and (min-width: 768px) {
  .passive__detail__place .txt-consultation {
    font-size: 2rem;
    right: 0.6%;
  }
}
.passive__detail__place .txt-free {
  font-family: futura-pt, noto-sans-cjk-jp, sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
  position: absolute;
  top: 50%;
  transform: rotate(90deg) translateY(-50%);
  left: -1%;
}
@media screen and (min-width: 768px) {
  .passive__detail__place .txt-free {
    font-size: 2rem;
    left: 3.8%;
  }
}
.passive__detail__place .bg {
  position: absolute;
  right: -3.7%;
  bottom: -40px;
  z-index: -100;
}
.passive__detail__place .btn-secondary {
  padding: 0 20px;
}
