@charset "UTF-8";
:root {
  --step: 1.2;
  --font-size: 16px;
  --line-height: 1.8;
  --small: 0.6em;
  --large: 1.4em;
  --transition: 0.2s;
  --header-offset: 100px;
  --gap: 20px;
  --radius: 0.6em;
  --radius-inner: 0.3em;
  --width-limit: 1560px;
  --section-space: 40px;
  --section-smspace: 20px;
  --margin: 1.8em;
  --padding: 20px;
  --input-width: 260px;
  --brightness: 1.1;
  --outline: 1px;
  --trigger-size: 50px;
  --trigger-bar: 3px;
  --color-light-glass: rgba(255, 254, 254, 0.8);
  --color-dark-glass: rgba(38, 32, 32, 0.8);
  --color-white: rgb(255, 254, 254);
  --color-blue: rgb(35, 137, 248);
  --color-red: rgb(182, 18, 26);
  --color-pink: rgb(231, 57, 142);
  --color-green: rgb(46, 163, 105);
  --color-yellow: rgb(248, 245, 46);
  --color-orange: rgb(252, 169, 16);
  --color-gray: rgb(102, 102, 102);
  --color-lightgray: rgb(202, 202, 202);
  --color-black: rgb(35, 24, 21);
  --color-body: var(--color-white);
  --color-text: var(--color-black);
  --color-border: var(--color-black);
  --color-table: var(--color-white);
  --color-table-odd: var(--color-lightgray);
  --color-agree-bg: var(--color-gray);
  --color-agree-fr: var(--color-white);
  --color-disagree-bg: var(--color-red);
  --color-disagree-fr: var(--color-white);
  --color-cancel-bg: var(--color-lightgray);
  --color-cancel-fr: var(--color-black);
  --color-trigger-bg: var(--color-dark-glass);
  --color-trigger-fr: var(--color-white);
  --color-outline: var(--color-lightgray);
  --color-outline-focus: var(--color-red);
  --color-outline-text: var(--color-black);
  --color-outline-focus-text: var(--color-white);
  --color-link: var(--color-blue);
  --color-hover: var(--color-red);
  --color-form: var(--color-white);
}

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

  trisite css リセット

 * =================================================== */
ul {
  margin: 0;
}

:where(form, .form) :where(th, dt) {
  display: revert !important;
}

iframe {
  min-height: auto !important;
}

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

  基本設定

 * =================================================== */
body {
  font-family: "Zen Kaku Gothic New", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-weight: 500;
}

.width-limiter {
  max-width: var(--width-limit);
  padding-left: var(--padding);
  padding-right: var(--padding);
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 1730px) {
  .width-limiter {
    padding-left: 100px;
    padding-right: 100px;
  }
}
@media (max-width: 920px) {
  .width-limiter {
    padding-left: var(--padding);
    padding-right: var(--padding);
  }
}

/** inner **/
.inner1320 {
  max-width: 1320px;
  margin: 0 auto;
}

.inner1280 {
  max-width: 1280px;
  margin: 0 auto;
}

/** font **/
.en {
  font-family: "Montserrat", sans-serif;
}

/** hover **/
a img {
  transition: 0.3s;
}
a:hover img {
  opacity: 0.8;
}

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

  header

 * =================================================== */
/* -----------------------
nav
----------------------- */
header {
  background: #fff;
  padding-left: var(--padding);
  padding-right: var(--padding);
  margin-left: auto;
  margin-right: auto;
}

.header_inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 1260px) {
  .header_inner {
    display: block;
  }
}
@media (max-width: 920px) {
  .header_logo {
    margin: 10px;
    max-width: 270px;
  }
}
@media (max-width: 575px) {
  .header_logo {
    max-width: 50%;
    margin: 20px 10px 0 10px;
  }
}
.header_nav_logo {
  flex-basis: 270px;
  margin-right: 20px;
}
@media (max-width: 1400px) {
  .header_nav_logo {
    flex-basis: 20%;
  }
}
@media (max-width: 1260px) {
  .header_nav_logo {
    max-width: 270px;
    margin: 0 auto 10px;
  }
}
@media (max-width: 920px) {
  .header_nav_logo {
    margin: 0 auto 30px;
  }
}
.header_banner {
  margin-top: 10px;
}
.header_banner ul li {
  padding: 0;
}
.header_banner ul li + li {
  margin-top: 10px;
}
.header_banner ul li a {
  padding: 0;
  max-width: 60%;
  margin: 0 auto;
  border: solid 1px #ccc;
}
@media (max-width: 767px) {
  .header_banner ul li a {
    max-width: 100%;
  }
}

.menu-trigger summary {
  top: 10px;
  position: fixed;
  right: 10px;
}

.main-menu {
  padding: 10px 0;
  width: 100%;
}
@media (max-width: 920px) {
  .main-menu {
    padding-top: 60px;
    background: rgba(255, 255, 255, 0.9);
  }
}
@media (max-width: 1260px) {
  .main-menu ul {
    justify-content: center;
  }
}
@media (max-width: 920px) {
  .main-menu ul {
    width: 90%;
    margin: 0 auto 30px;
  }
}
.main-menu ul li a {
  font-size: 14px;
  transition: 0.3s;
}
.main-menu ul li a:hover {
  color: var(--color-red);
}
@media (max-width: 1400px) {
  .main-menu ul li a {
    font-size: 0.9vw;
    letter-spacing: 0;
  }
}
@media (max-width: 1260px) {
  .main-menu ul li a {
    font-size: 1.15vw;
    letter-spacing: 0;
  }
}
@media (max-width: 920px) {
  .main-menu ul li a {
    font-size: 16px;
    border-bottom: solid 1px #cacaca;
  }
}
@media (max-width: 767px) {
  .main-menu ul li a {
    font-size: 4vw;
  }
}

.menu {
  position: relative;
}
@media (max-width: 920px) {
  .menu {
    position: static;
  }
}

.drop-menu {
  flex-direction: column;
  position: absolute;
  width: 100%;
  border-top: solid 1px #ccc;
}
.drop-menu.newhouse {
  width: 150%;
}
.drop-menu.kominka {
  width: 220%;
}
@media (max-width: 920px) {
  .drop-menu {
    border-top: none;
    position: static;
    margin-bottom: 0 !important;
  }
}
.drop-menu li {
  width: 100%;
}
.drop-menu li a {
  padding: 5px 10px;
  font-size: 14px;
  display: block;
  background: #fff;
  border-left: solid 1px #ccc;
  border-right: solid 1px #ccc;
  border-bottom: solid 1px #ccc;
  transition: 0.3s;
}
@media (max-width: 920px) {
  .drop-menu li a {
    border-left: none;
    border-right: none;
    border-bottom: none !important;
    background: none;
    padding: 10px 0 5px;
  }
}
.drop-menu li a:hover {
  background: var(--color-red);
  color: #fff !important;
}
@media (max-width: 920px) {
  .drop-menu li a:hover {
    background: none;
    color: var(--color-red) !important;
  }
}

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

  footer

 * =================================================== */
/* -----------------------
footer contact
----------------------- */
#footer-contact {
  padding: 90px 0 60px;
}
@media (max-width: 767px) {
  #footer-contact {
    padding: 40px 0;
  }
}

.footer-contact_txt {
  text-align: center;
  margin-bottom: 40px;
}
@media (max-width: 767px) {
  .footer-contact_txt {
    text-align: left;
  }
}
.footer-contact_inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px 40px;
}
@media (max-width: 767px) {
  .footer-contact_inner {
    grid-template-columns: repeat(1, 1fr);
  }
}
.footer-contact_inner > div {
  background: var(--color-gray);
  border: solid 1px var(--color-gray);
  color: #fff;
  padding: 30px 30px 15px;
  transition: 0.3s;
}
.footer-contact_inner > div:hover {
  background: #fff;
  color: var(--color-gray);
}
.footer-contact_inner > div:hover .footer-contact_catch {
  background: var(--color-gray);
  color: #fff;
}
.footer-contact_inner > div:hover .footer-contact_mail a {
  background: var(--color-gray);
}
.footer-contact_inner > div:hover .footer-contact_tel a {
  border: solid 1px var(--color-gray);
}
.footer-contact_inner > div:hover .icon-off {
  display: none;
}
.footer-contact_inner > div:hover .icon-hover {
  display: block;
}
.footer-contact_inner .icon-off {
  display: block;
}
.footer-contact_inner .icon-hover {
  display: none;
}
.footer-contact_logo {
  margin-bottom: 20px;
  display: flex;
  justify-content: center;
}
.footer-contact_logo img {
  max-height: 45px;
}
.footer-contact_catch {
  color: var(--color-gray);
  background: #fff;
  padding: 5px 10px;
  text-align: center;
  font-weight: bold;
  font-size: 26px;
  margin-bottom: 20px;
}
@media (max-width: 1730px) {
  .footer-contact_catch {
    font-size: 1.2vw;
  }
}
@media (max-width: 920px) {
  .footer-contact_catch {
    font-size: 2vw;
    line-height: 1.4;
  }
}
@media (max-width: 767px) {
  .footer-contact_catch {
    font-size: 4vw;
  }
}
.footer-contact_catch span {
  color: var(--color-red);
}
.footer-contact_info {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-bottom: 10px;
}
@media (max-width: 1260px) {
  .footer-contact_info {
    grid-template-columns: repeat(1, 1fr);
  }
}
.footer-contact_info a {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px;
  height: 100%;
  transition: 0.3s;
  min-height: 77px;
}
.footer-contact_info a:hover {
  opacity: 0.8;
}
.footer-contact_mail a {
  background: #fff;
}
.footer-contact_mail a img {
  width: 124px;
}
.footer-contact_tel a {
  border: solid 1px #fff;
  font-size: 26px;
}
@media (max-width: 1400px) {
  .footer-contact_tel a {
    font-size: 1.6vw;
  }
}
@media (max-width: 1260px) {
  .footer-contact_tel a {
    font-size: 3vw;
  }
}
@media (max-width: 767px) {
  .footer-contact_tel a {
    font-size: 5vw;
  }
}
.footer-contact_tel a img {
  width: 32px;
  margin-right: 10px;
}
.footer-contact_time {
  text-align: right;
  font-size: 12px;
}

/* -----------------------
footer area
----------------------- */
#footer-area {
  padding-bottom: 90px;
}
@media (max-width: 767px) {
  #footer-area {
    padding-bottom: 50px;
  }
}

.footer-area_ttl {
  font-weight: bold;
  text-align: center;
  font-size: 22px;
}
.footer-area_list dl + dl {
  margin-top: 2em;
}
.footer-area_list dl dd {
  margin-left: 1em;
}

/* -----------------------
footer
----------------------- */
footer {
  background: var(--color-black);
  color: #fff;
  padding: 90px 0 30px;
}
@media (max-width: 767px) {
  footer {
    padding: 30px 0;
  }
}

#footer-logo {
  max-width: 314px;
  margin-bottom: 40px;
}
@media (max-width: 767px) {
  #footer-logo {
    margin-bottom: 20px;
  }
}
#footer-info {
  display: flex;
  justify-content: space-between;
  margin-bottom: 60px;
}
@media (max-width: 920px) {
  #footer-info {
    display: block;
  }
}
@media (max-width: 767px) {
  #footer-info {
    margin-bottom: 30px;
  }
}

/* -----------------------
footer banner
----------------------- */
#footer-banner {
  flex-grow: 1;
  margin-right: 20px;
}
@media (max-width: 920px) {
  #footer-banner {
    margin-right: 0;
    margin-bottom: 20px;
  }
}
#footer-banner ul {
  display: grid;
  grid-template-columns: repeat(1, auto);
  gap: 10px;
}
@media (max-width: 920px) {
  #footer-banner ul {
    grid-template-columns: repeat(2, auto);
  }
}
@media (max-width: 767px) {
  #footer-banner ul {
    grid-template-columns: repeat(1, auto);
  }
}
#footer-banner ul li {
  display: flex;
}
#footer-banner ul li a {
  display: block;
}
#footer-banner ul li a.banner {
  width: 392px;
  margin-right: 10px;
}
#footer-banner ul li a.insta {
  width: 46px;
}

/* -----------------------
footer add
----------------------- */
#footer-add {
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: 20px 40px;
}
@media (max-width: 767px) {
  #footer-add {
    grid-template-columns: repeat(1, auto);
    justify-content: flex-start;
  }
}

.footer-add_ttl {
  font-size: 24px;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  line-height: 1;
}
.footer-add_ttl span {
  display: block;
  color: var(--color-red);
  margin-right: 2px;
  font-size: 30px;
  margin-left: -5px;
}
.footer-add_address {
  line-height: 1.2;
}
.footer-add_tel {
  font-size: 18px;
}

/* -----------------------
footer nav
----------------------- */
#footer-nav {
  border-top: solid 1px #fff;
  padding-top: 50px;
  display: grid;
  grid-template-columns: repeat(5, auto);
  gap: 20px;
  margin-bottom: 60px;
}
@media (max-width: 1260px) {
  #footer-nav {
    grid-template-columns: repeat(3, auto);
  }
}
@media (max-width: 767px) {
  #footer-nav {
    padding-top: 30px;
    margin-bottom: 30px;
    grid-template-columns: repeat(1, auto);
  }
}
#footer-nav ul {
  margin-left: 1em;
}
#footer-nav ul li {
  margin: 0;
}
#footer-nav ul li + li {
  margin-top: 0.5em;
}
#footer-nav ul li a {
  font-weight: normal;
  transition: 0.3s;
}
#footer-nav ul li a:hover {
  color: var(--color-red);
}

.footer-nav_ttl {
  margin-bottom: 10px;
}
.footer-nav_inner {
  display: flex;
}
@media (max-width: 575px) {
  .footer-nav_inner {
    display: block;
  }
}
@media (max-width: 575px) {
  .footer-nav_inner ul:last-child {
    margin-top: 0.5em;
  }
}

/* -----------------------
footer copy
----------------------- */
#footer-copy p {
  text-align: center;
}
#footer-copy p small {
  font-size: 12px;
}

/* -----------------------
footer fixed
----------------------- */
#footer-fixed {
  display: none;
}
@media (max-width: 767px) {
  #footer-fixed {
    display: block;
    position: fixed;
    bottom: 0;
    width: 100%;
  }
}

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

  parts

 * =================================================== */
/* -----------------------
page header
----------------------- */
#page-header {
  padding: 50px 0;
  overflow-x: hidden;
}
@media (max-width: 920px) {
  #page-header {
    padding: 10px 0;
  }
}
#page-header h2 {
  display: flex;
  align-items: flex-end;
  line-height: 1;
}
@media (max-width: 767px) {
  #page-header h2 {
    display: block;
    line-height: 1.4;
  }
}
#page-header h2 span {
  display: block;
}
#page-header h2 span.en {
  font-size: 60px;
  margin-right: 30px;
}
@media (max-width: 1400px) {
  #page-header h2 span.en {
    font-size: 40px;
  }
}
@media (max-width: 767px) {
  #page-header h2 span.en {
    font-size: 6vw;
    margin-right: 0;
  }
}
#page-header h2 span.ja {
  font-size: 20px;
}
@media (max-width: 767px) {
  #page-header h2 span.ja {
    font-size: 14px;
  }
}
#page-header h2 span.ja2 {
  font-size: 40px;
}
#page-header h2 span.ja2 br {
  display: none;
}
@media (max-width: 767px) {
  #page-header h2 span.ja2 br {
    display: block;
  }
}
@media (max-width: 767px) {
  #page-header h2 span.ja2 {
    font-size: 6vw;
  }
}

.page-header_inner {
  padding-left: 100px;
}
@media (max-width: 920px) {
  .page-header_inner {
    padding-left: var(--padding);
  }
}
.page-header_img {
  margin-top: 20px;
}
@media (max-width: 767px) {
  .page-header_img {
    margin-top: 10px;
  }
}
@media (max-width: 767px) {
  .page-header_img img {
    aspect-ratio: 2/1;
    object-fit: cover;
  }
}
.page-header_box {
  position: relative;
}
.page-header_ttl {
  margin-top: 0;
  position: absolute;
  color: #fff;
  font-size: 40px;
  font-weight: bold;
  left: 50%;
  top: 50%;
  width: 100%;
  text-align: center;
  transform: translate(-50%, -50%);
  line-height: 1.4;
}
@media (max-width: 1400px) {
  .page-header_ttl {
    font-size: 3vw;
  }
}
@media (max-width: 767px) {
  .page-header_ttl {
    font-size: 4vw;
  }
}
@media (max-width: 767px) {
  .page-header_ttl2 {
    top: 30%;
    transform: translate(-50%, -30%);
  }
}
.page-header_icon {
  margin-top: 0;
  position: absolute;
  bottom: 20px;
  left: 20px;
}
@media (max-width: 1730px) {
  .page-header_icon {
    width: 30%;
  }
}
@media (max-width: 767px) {
  .page-header_icon {
    width: 60%;
    left: 10px;
    bottom: 10px;
  }
}

/* -----------------------
イベント丸画像
----------------------- */
#event-topics {
  max-width: 1320px;
  padding: 0 20px;
  margin: 20px auto 0;
}
@media (max-width: 767px) {
  #event-topics {
    margin: 10px auto 0;
  }
}

.event-topics_inner {
  position: relative;
}
.event-topics_img {
  position: absolute;
  z-index: 1;
  right: 0;
  top: 0;
  max-width: 220px;
}
@media (max-width: 1400px) {
  .event-topics_img {
    max-width: 15%;
  }
}
@media (max-width: 920px) {
  .event-topics_img {
    max-width: 20%;
  }
}
@media (max-width: 575px) {
  .event-topics_img {
    max-width: 25%;
  }
}

/* -----------------------
見出し
----------------------- */
.hn1 {
  text-align: center;
  font-weight: 600;
  margin-bottom: 30px;
}
.hn1 span.en {
  font-size: 60px;
  display: block;
  line-height: 1.2;
}
@media (max-width: 767px) {
  .hn1 span.en {
    font-size: 40px;
  }
}
@media (max-width: 575px) {
  .hn1 span.en {
    font-size: 10vw;
  }
}

.hn2 {
  position: relative;
}
.hn2_main {
  background: #fff;
  border: solid 2px var(--color-red);
  color: var(--color-red);
  text-align: center;
  font-size: 30px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 10px;
  position: relative;
  z-index: 1;
}
.hn2_main span {
  margin-right: 1em;
  font-size: 40px;
}
@media (max-width: 1260px) {
  .hn2_main span {
    font-size: 4vw;
  }
}
@media (max-width: 575px) {
  .hn2_main span {
    font-size: 8vw;
  }
}
@media (max-width: 1260px) {
  .hn2_main {
    font-size: 2.4vw;
  }
}
@media (max-width: 575px) {
  .hn2_main {
    font-size: 5vw;
  }
}
.hn2_back {
  position: absolute;
  background: var(--color-red);
  width: 100%;
  height: 100%;
  left: 5px;
  top: 5px;
  z-index: 0;
  margin: 0;
}

.hn3 {
  background: #979797;
  color: #fff;
  text-align: center;
  font-size: 30px;
  font-weight: bold;
  padding: 10px;
}
@media (max-width: 767px) {
  .hn3 {
    font-size: 4vw;
  }
}

.hn4 {
  position: relative;
}
.hn4_main {
  background: #fff;
  border: solid 2px var(--color-red);
  color: var(--color-red);
  text-align: center;
  font-size: 30px;
  font-weight: bold;
  padding: 20px 10px;
  position: relative;
  z-index: 1;
}
.hn4_main span {
  color: #000;
}
@media (max-width: 1260px) {
  .hn4_main {
    font-size: 20px;
  }
}
@media (max-width: 575px) {
  .hn4_main {
    font-size: 4vw;
  }
}
.hn4_back {
  position: absolute;
  background: var(--color-red);
  width: 100%;
  height: 100%;
  left: 5px;
  top: 5px;
  z-index: 0;
  margin: 0;
}

/* -----------------------
text
----------------------- */
.text-alert {
  color: var(--color-red);
}

/* -----------------------
button
----------------------- */
.more-btn {
  display: block;
  max-width: 197px;
}
@media (max-width: 575px) {
  .more-btn {
    max-width: 40%;
  }
}
.more-btn:hover {
  transform: translateY(2px);
  opacity: 1;
}

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

  top

 * =================================================== */
/* -----------------------
top kv
----------------------- */
#top-kv {
  padding: 50px 0;
}
@media (max-width: 767px) {
  #top-kv {
    padding: 0 0 10px 0;
  }
}

.top-kv_inner {
  position: relative;
}
.top-kv_img {
  padding-top: 0;
  max-width: 500px;
  margin: 0 auto 30px;
}
@media (max-width: 1400px) {
  .top-kv_img {
    max-width: 40%;
  }
}
@media (max-width: 767px) {
  .top-kv_img {
    max-width: 60%;
    padding-top: 10%;
    margin: 0 auto 10px;
  }
}
@media (max-width: 575px) {
  .top-kv_img {
    max-width: 50%;
  }
}
.top-kv_txt {
  text-align: center;
  font-weight: bold;
  font-size: 24px;
  margin: 20px 0;
  line-height: 1.2;
}
@media (max-width: 575px) {
  .top-kv_txt {
    font-size: 4vw;
    padding-top: 3%;
  }
}

/* -----------------------
top slider
----------------------- */
#top-slider {
  max-width: 1920px;
  margin: 0 auto;
  padding-left: 128px;
  overflow: hidden;
}
@media (max-width: 1400px) {
  #top-slider {
    padding-left: 100px;
  }
}
@media (max-width: 920px) {
  #top-slider {
    padding-left: var(--padding);
  }
}
#top-slider img {
  object-fit: cover;
  aspect-ratio: 3580/1586;
}
@media (max-width: 920px) {
  #top-slider img {
    aspect-ratio: 4/3;
  }
}
#top-slider .slick-dots {
  bottom: 20px;
}
@media (max-width: 767px) {
  #top-slider .slick-dots {
    bottom: 0;
  }
}
#top-slider .slick-dots li {
  width: 20px;
}
@media (max-width: 767px) {
  #top-slider .slick-dots li {
    width: 10px;
  }
}
#top-slider .slick-dots li button:before {
  font-size: 15px;
  color: #fff;
}
@media (max-width: 767px) {
  #top-slider .slick-dots li button:before {
    font-size: 2vw;
  }
}

@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15);
  }
}
.add-animation {
  animation: zoomUp 10s linear 0s normal both;
}

/* -----------------------
top news
----------------------- */
@media (max-width: 767px) {
  #top-news {
    margin: 0 0 50px;
  }
}
@media (max-width: 920px) {
  #top-news .post-archive {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 767px) {
  #top-news .post-archive {
    grid-template-columns: repeat(2, 1fr);
  }
}

.top-news_more {
  margin-top: 70px;
}
@media (max-width: 767px) {
  .top-news_more {
    margin-top: 30px;
  }
}
.top-news_more a {
  margin: 0 auto;
}

/* -----------------------
top recruit
----------------------- */
#top-recruit {
  padding-top: 70px;
}
@media (max-width: 767px) {
  #top-recruit {
    padding-top: 0;
    padding-bottom: 30px;
  }
}

.top-recruit_img {
  max-width: 800px;
  width: 80%;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .top-recruit_img {
    max-width: 100%;
    width: 100%;
  }
}

/* -----------------------
top event
----------------------- */
#top-event {
  margin: 150px 0;
}
@media (max-width: 1400px) {
  #top-event {
    margin: 50px 0;
  }
}
@media (max-width: 767px) {
  #top-event {
    margin: 0 0 50px;
  }
}

/* -----------------------
top about
----------------------- */
#top-about {
  margin-bottom: 150px;
}
@media (max-width: 767px) {
  #top-about {
    margin-bottom: 50px;
  }
}

.top-about_inner {
  position: relative;
}
.top-about_inner > div {
  margin-top: 0;
}
.top-about_left {
  position: absolute;
  top: 0;
  left: 0;
  width: 5%;
  height: 672px;
  background: url("../img/top/about1.jpg") no-repeat center center/cover;
}
@media (max-width: 1400px) {
  .top-about_left {
    width: 5%;
    height: 100%;
  }
}
.top-about_center {
  position: relative;
  z-index: 1;
  max-width: 1480px;
  margin: 0 auto;
  padding-left: var(--padding);
  padding-right: var(--padding);
}
.top-about_info {
  max-width: 1320px;
  margin: 0 auto;
  padding-top: 50px;
}
@media (max-width: 1730px) {
  .top-about_info {
    margin-left: 7%;
  }
}
.top-about_right {
  position: absolute;
  right: 0;
  top: 0;
  width: 55%;
  height: 672px;
  background: url("../img/top/about2.jpg") no-repeat center center/cover;
}
@media (max-width: 1400px) {
  .top-about_right {
    width: 50%;
    height: 100%;
  }
}
.top-about_ttl {
  max-width: 665px;
}
@media (max-width: 1400px) {
  .top-about_ttl {
    max-width: 50%;
  }
}
@media (max-width: 767px) {
  .top-about_ttl {
    max-width: 100%;
  }
}
.top-about_txt {
  max-width: 520px;
  padding: 10px 10px 10px 0;
  background: rgba(255, 255, 255, 0.8);
}
@media (max-width: 1400px) {
  .top-about_txt {
    max-width: 42%;
  }
}
@media (max-width: 767px) {
  .top-about_txt {
    max-width: 100%;
  }
}

/* -----------------------
top service
----------------------- */
#top-service {
  padding: 100px 0;
  background: #f3f3f2;
  overflow: hidden;
}
@media (max-width: 767px) {
  #top-service {
    padding: 50px 0;
  }
}

.top-service_txt {
  text-align: center;
  margin-bottom: 80px;
}
@media (max-width: 767px) {
  .top-service_txt {
    text-align: left;
    margin-bottom: 0;
  }
}
.top-service_inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 60px;
}
@media (max-width: 767px) {
  .top-service_inner {
    grid-template-columns: repeat(1, 1fr);
    gap: 40px;
  }
}
.top-service_inner > div {
  position: relative;
  margin-top: 0;
}
.top-service_maru {
  position: absolute;
  z-index: 1;
  top: -40px;
  right: -2%;
  width: 30%;
  height: auto;
}
@media (max-width: 1400px) {
  .top-service_maru {
    top: 0;
  }
}
.top-service_maru_inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.top-service_maru_inner img {
  margin: 0;
  animation: 20s linear infinite rotation;
}
.top-service_maru_inner object {
  margin: 0;
  animation: 20s linear infinite rotation;
}
.top-service_maru span {
  position: absolute;
  font-size: 30px;
  font-weight: bold;
  color: var(--color-red);
}
@media (max-width: 1400px) {
  .top-service_maru span {
    font-size: 2.2vw;
  }
}
@media (max-width: 767px) {
  .top-service_maru span {
    font-size: 4vw;
  }
}
.top-service_ttl {
  font-size: 24px;
  font-weight: bold;
}
@media (max-width: 1400px) {
  .top-service_ttl {
    font-size: 2.2vw;
  }
}
@media (max-width: 767px) {
  .top-service_ttl {
    font-size: 5vw;
  }
}
.top-service_img {
  margin: 0;
}
.top-service_more {
  margin-top: 10px;
}
.top-service_more .more-btn {
  margin-left: auto;
}
@media (max-width: 920px) {
  .top-service_more .more-btn {
    max-width: 40%;
  }
}

@keyframes rotation {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* =================================================== *

about

 * =================================================== */
/* -----------------------
about concept
----------------------- */
#about-concept {
  padding: 80px 0;
  background: var(--color-red);
  color: #fff;
}
@media (max-width: 767px) {
  #about-concept {
    padding: 40px 0;
  }
}

.about-concept_inner {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 920px) {
  .about-concept_inner {
    flex-wrap: wrap;
  }
}
@media (max-width: 575px) {
  .about-concept_inner {
    display: block;
  }
}
.about-concept_ttl {
  font-size: 60px;
  font-weight: 600;
  margin-right: 2%;
  line-height: 1;
  flex-shrink: 0;
}
@media (max-width: 1400px) {
  .about-concept_ttl {
    font-size: 3vw;
  }
}
@media (max-width: 920px) {
  .about-concept_ttl {
    flex-basis: 100%;
    font-size: 6vw;
    margin-bottom: 40px;
    margin-right: 0;
    display: flex;
    justify-content: center;
  }
}
@media (max-width: 575px) {
  .about-concept_ttl {
    font-size: 30px;
    margin-bottom: 30px;
  }
}
.about-concept_body {
  margin: 0 30px;
}
@media (max-width: 920px) {
  .about-concept_body {
    flex-basis: 100%;
    margin: 0 0 30px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}
@media (max-width: 575px) {
  .about-concept_body {
    margin-bottom: 20px;
  }
}
.about-concept_body p + p {
  margin-top: 2em;
}
.about-concept_subttl {
  font-size: 26px;
  line-height: 1;
}
.about-concept_logo {
  margin-top: 0;
  flex-basis: 15%;
  align-self: flex-end;
}
@media (max-width: 1260px) {
  .about-concept_logo {
    flex-basis: 20%;
  }
}
@media (max-width: 920px) {
  .about-concept_logo {
    margin: 0 auto;
  }
}
@media (max-width: 575px) {
  .about-concept_logo {
    width: 30%;
  }
}

/* -----------------------
about info
----------------------- */
#about-info {
  max-width: 1920px;
  margin: 50px auto 100px;
  overflow: hidden;
}
@media (max-width: 767px) {
  #about-info {
    margin: 50px auto;
  }
}
#about-info > div {
  position: relative;
}
#about-info > div + div {
  margin-top: 50px;
}
#about-info > div:nth-child(odd) .about-info_inner {
  flex-direction: row-reverse;
}
#about-info > div:nth-child(odd) .about-info_body {
  padding: 0 60px 0 100px;
}
@media (max-width: 920px) {
  #about-info > div:nth-child(odd) .about-info_body {
    padding-left: var(--padding);
    padding-right: var(--padding);
  }
}

.about-info_logo {
  position: absolute;
  z-index: 1;
}
.about-info_sence {
  top: 30%;
  left: 50%;
  transform: translateX(-50%);
}
@media (max-width: 920px) {
  .about-info_sence {
    top: auto;
    bottom: 2%;
  }
}
.about-info_beauty {
  top: 10%;
  left: 50%;
  transform: translateX(-50%);
}
@media (max-width: 920px) {
  .about-info_beauty {
    top: auto;
    bottom: 2%;
  }
}
.about-info_culture {
  bottom: 7%;
  left: 30%;
}
@media (max-width: 920px) {
  .about-info_culture {
    bottom: 2%;
    left: 50%;
    transform: translateX(-50%);
  }
}
.about-info_inner {
  display: flex;
}
@media (max-width: 920px) {
  .about-info_inner {
    display: block;
  }
}
.about-info_inner > div {
  flex-basis: 50%;
}
@media (max-width: 920px) {
  .about-info_img {
    margin-bottom: 20px;
  }
}
.about-info_body {
  max-width: 800px;
  padding: 0 60px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-top: 0;
}
@media (max-width: 1400px) {
  .about-info_body {
    padding: 0 100px 0 60px;
  }
}
@media (max-width: 920px) {
  .about-info_body {
    max-width: 100%;
    padding-left: var(--padding);
    padding-right: var(--padding);
  }
}
.about-info_body p {
  line-height: 2;
}
.about-info_body p + p {
  margin-top: 2em;
}
.about-info_ttl {
  font-size: 30px;
  font-weight: bold;
  position: relative;
  padding-bottom: 30px;
}
@media (max-width: 1260px) {
  .about-info_ttl {
    font-size: 2.2vw;
  }
}
@media (max-width: 920px) {
  .about-info_ttl {
    font-size: 30px;
  }
}
@media (max-width: 767px) {
  .about-info_ttl {
    font-size: 20px;
    padding-bottom: 10px;
  }
}
.about-info_ttl:after {
  position: absolute;
  content: "";
  width: 134px;
  height: 3px;
  bottom: 0;
  left: 0;
  background: var(--color-red);
}
.about-info_ttl span {
  color: var(--color-red);
}

/* -----------------------
about ryugi
----------------------- */
#about-ryugi {
  margin-bottom: 100px;
}
@media (max-width: 767px) {
  #about-ryugi {
    margin-bottom: 50px;
  }
}

.about-ryugi_box {
  background: var(--color-red);
  color: #fff;
  border-radius: 40px;
  padding: 60px;
}
@media (max-width: 767px) {
  .about-ryugi_box {
    padding: 20px 20px 40px;
    border-radius: 20px;
  }
}
.about-ryugi_ttl {
  max-width: 640px;
  margin: 0 auto;
}
.about-ryugi_txt {
  text-align: center;
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  .about-ryugi_txt {
    margin-bottom: 20px;
  }
}
.about-ryugi_inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-top: 0;
}
@media (max-width: 767px) {
  .about-ryugi_inner {
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
  }
}
.about-ryugi_inner > div {
  margin-top: 0;
  display: flex;
  align-items: center;
}
.about-ryugi_num {
  flex-basis: 10%;
  font-size: 40px;
  font-weight: bold;
}
@media (max-width: 920px) {
  .about-ryugi_num {
    font-size: 20px;
  }
}
.about-ryugi_img {
  margin: 0;
  flex-basis: 85%;
}
@media (max-width: 767px) {
  .about-ryugi_img {
    flex-basis: 90%;
  }
}

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

company

 * =================================================== */
/* -----------------------
about rinen
----------------------- */
#company-rinen {
  text-align: center;
  margin-bottom: 80px;
}
@media (max-width: 767px) {
  #company-rinen {
    margin-bottom: 40px;
  }
}

.company-rinen_ttl {
  font-size: 30px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  .company-rinen_ttl {
    font-size: 24px;
    margin-bottom: 20px;
  }
}
.company-rinen_img {
  max-width: 1100px;
  margin: 0 auto;
  background: var(--color-red);
  padding: 5% 10px;
}

/* -----------------------
about houshin
----------------------- */
#company-houshin {
  text-align: center;
  margin-bottom: 100px;
}
@media (max-width: 767px) {
  #company-houshin {
    margin-bottom: 50px;
  }
}

.company-houshin_ttl {
  font-size: 30px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  .company-houshin_ttl {
    font-size: 24px;
    margin-bottom: 20px;
  }
}
.company-houshin_img {
  max-width: 1100px;
  margin: 0 auto;
}
.company-houshin_txt {
  font-size: 30px;
  font-weight: bold;
  text-align: center;
  color: var(--color-red);
}
@media (max-width: 767px) {
  .company-houshin_txt {
    font-size: 18px;
  }
}

/* -----------------------
about member
----------------------- */
#company-member {
  background: #eff8fe;
  padding: 100px 0 50px;
}
@media (max-width: 767px) {
  #company-member {
    padding: 50px 0;
  }
}

.company-member_ttl {
  text-align: center;
  font-size: 60px;
  font-weight: bold;
}
@media (max-width: 767px) {
  .company-member_ttl {
    font-size: 30px;
  }
}
@media (max-width: 575px) {
  .company-member_ttl {
    font-size: 10vw;
  }
}
.company-member_inner {
  display: flex;
  gap: 35px;
  justify-content: center;
}
@media (max-width: 920px) {
  .company-member_inner {
    flex-wrap: wrap;
  }
}
.company-member_inner > div {
  margin-top: 0;
  flex-basis: 18%;
}
@media (max-width: 920px) {
  .company-member_inner > div {
    flex-basis: 45%;
  }
}
@media (max-width: 767px) {
  .company-member_inner > div {
    flex-basis: 100%;
  }
}
@media (max-width: 767px) {
  .company-member_img {
    width: 60%;
    margin: 0 auto;
  }
}
.company-member_job {
  text-align: center;
  line-height: 1.4;
  font-size: 14px;
}
@media (max-width: 1400px) {
  .company-member_job {
    font-size: 0.9vw;
  }
}
@media (max-width: 920px) {
  .company-member_job {
    font-size: 14px;
  }
}
.company-member_name {
  margin-top: 5px;
  text-align: center;
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 0.2em;
}
@media (max-width: 1400px) {
  .company-member_name {
    font-size: 1.6vw;
    letter-spacing: 0;
  }
}
@media (max-width: 920px) {
  .company-member_name {
    font-size: 20px;
  }
}
.company-member_en {
  font-size: 12px;
  text-align: center;
  margin-top: 0;
  color: #cacaca;
}
@media (max-width: 1400px) {
  .company-member_en {
    font-size: 1vw;
  }
}
@media (max-width: 920px) {
  .company-member_en {
    font-size: 12px;
  }
}
.company-member_link {
  margin-top: 10px;
  text-align: center;
}
.company-member_more {
  margin-top: 10px;
}
.company-member_more dl dt {
  text-align: center;
  cursor: pointer;
}
@media (max-width: 920px) {
  .company-member_more dl dt {
    width: 7%;
    margin: 0 auto;
  }
}
.company-member_more dl dd {
  margin-top: 10px;
}

/* -----------------------
about message
----------------------- */
#company-message {
  margin-top: 0;
  background: #eff8fe;
  padding: 50px 0 140px;
}
@media (max-width: 767px) {
  #company-message {
    padding: 0 0 50px;
  }
}

.company-message_inner {
  background: #fff;
  padding: 50px 70px;
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .company-message_inner {
    display: block;
    padding: 20px;
  }
}
.company-message_img {
  flex-basis: 25%;
  margin-top: 0;
}
@media (max-width: 767px) {
  .company-message_img {
    width: 60%;
    margin: 0 auto;
  }
}
.company-message_body {
  flex-basis: 70%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  margin-top: 0;
}
.company-message_ttl {
  font-size: 28px;
  font-weight: bold;
}
@media (max-width: 767px) {
  .company-message_ttl {
    font-size: 20px;
    text-align: center;
    margin-bottom: 10px;
  }
}
.company-message_job {
  margin-top: 0;
  text-align: right;
  font-size: 14px;
  line-height: 1.4;
}
@media (max-width: 767px) {
  .company-message_job {
    text-align: center;
  }
}
.company-message_name {
  margin-top: 0;
  text-align: right;
}
@media (max-width: 767px) {
  .company-message_name {
    text-align: center;
  }
}
.company-message_name span {
  font-size: 20px;
  margin-left: 10px;
  font-weight: bold;
  letter-spacing: 0.2em;
}
.company-message_en {
  margin-top: 0;
  text-align: right;
  font-size: 14px;
  color: #cacaca;
}
@media (max-width: 767px) {
  .company-message_en {
    text-align: center;
  }
}
.company-message_shikaku {
  background: #f4f2e5;
  padding: 20px;
  margin: 20px 0;
}
@media (max-width: 767px) {
  .company-message_shikaku {
    padding: 10px;
    margin: 10px 0;
  }
}
.company-message_shikaku_ttl {
  margin-bottom: 5px;
}
@media (max-width: 767px) {
  .company-message_shikaku_ttl {
    text-align: center;
  }
}
.company-message_shikaku_list ul li {
  position: relative;
  padding-left: 1.2em;
  font-size: 16px;
}
@media (max-width: 767px) {
  .company-message_shikaku_list ul li {
    font-size: 14px;
  }
}
.company-message_shikaku_list ul li::before {
  position: absolute;
  content: "〇";
  top: 0;
  left: 0;
}
.company-message_txt p + p {
  margin-top: 1em;
}

/* -----------------------
about info
----------------------- */
#company-info {
  padding: 100px 0 0;
}
@media (max-width: 767px) {
  #company-info {
    padding: 0;
  }
}

.company-info_list {
  border-bottom: solid 1px var(--color-black);
  padding-bottom: 50px;
}
@media (max-width: 767px) {
  .company-info_list {
    padding-bottom: 20px;
  }
}
.company-info_list dl {
  display: flex;
  flex-wrap: wrap;
  font-size: 20px;
}
@media (max-width: 920px) {
  .company-info_list dl {
    font-size: 16px;
  }
}
@media (max-width: 767px) {
  .company-info_list dl {
    display: block;
  }
}
.company-info_list dl dt {
  flex-basis: 15%;
  border-bottom: solid 8px var(--color-red);
  padding: 20px 10px;
  margin: 0;
}
@media (max-width: 920px) {
  .company-info_list dl dt {
    flex-basis: 18%;
  }
}
@media (max-width: 767px) {
  .company-info_list dl dt {
    border-bottom: none;
    padding: 10px 0 0 0;
  }
}
.company-info_list dl dd {
  flex-basis: 85%;
  border-bottom: solid 1px #cacaca;
  padding: 20px 10px 20px 50px;
  margin: 0;
}
@media (max-width: 920px) {
  .company-info_list dl dd {
    flex-basis: 82%;
    padding: 20px;
  }
}
@media (max-width: 767px) {
  .company-info_list dl dd {
    padding: 0 0 10px 0;
  }
}
.company-info_list dl dd strong {
  color: var(--color-red);
}
.company-info_list dl dd dl dt {
  flex-basis: 6em;
  border-bottom: none;
  padding: 10px;
}
@media (max-width: 767px) {
  .company-info_list dl dd dl dt {
    padding: 10px 0 0 0;
  }
}
.company-info_list dl dd dl dd {
  border-bottom: none;
  flex-basis: calc(100% - 6em);
  padding: 10px;
}
@media (max-width: 767px) {
  .company-info_list dl dd dl dd {
    padding: 0 0 10px 0;
  }
}
.company-info_list .border-none {
  border-bottom: none;
}

/* -----------------------
about modaal
----------------------- */
#company-modaal {
  display: none;
}

.modaal_inner .company-message_inner {
  padding: 0;
}
.modaal_inner .company-message_txt {
  margin-top: 10px;
}
.modaal_inner .company-message_body {
  justify-content: flex-start;
}
@media (max-width: 767px) {
  .modaal_inner .company-message_job {
    margin-top: 10px;
  }
}

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

renovation

 * =================================================== */
/* -----------------------
renovation event
----------------------- */
#renovation-event {
  background: url("../img/renovation/event.svg") no-repeat center bottom/contain;
  padding-bottom: 10%;
  margin-bottom: 100px;
}
@media (max-width: 767px) {
  #renovation-event {
    background: url("../img/renovation/event.svg") no-repeat center bottom/250%;
    padding-bottom: 20%;
    margin-bottom: 30px;
  }
}

/* -----------------------
renovation works
----------------------- */
#renovation-works {
  padding-bottom: 60px;
}
@media (max-width: 767px) {
  #renovation-works {
    padding-bottom: 0;
  }
}

.renovation-works_inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  margin-top: 50px;
}
@media (max-width: 767px) {
  .renovation-works_inner {
    grid-template-columns: repeat(1, 1fr);
    margin-top: 30px;
  }
}
.renovation-works_inner > div {
  margin-top: 0;
}
.renovation-works_cat {
  text-align: center;
  position: relative;
  padding-bottom: 20px;
}
.renovation-works_cat::after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  height: 8px;
  width: 70%;
  background: var(--color-red);
}
.renovation-works_cat img {
  height: 170px;
}
@media (max-width: 1260px) {
  .renovation-works_cat img {
    height: 10vw;
  }
}
@media (max-width: 767px) {
  .renovation-works_cat img {
    height: 100px;
  }
}
.renovation-works_img {
  margin-top: 0;
  aspect-ratio: 475/620;
  overflow: hidden;
}
.renovation-works_img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.renovation-works_more a {
  margin: 0 auto;
}
@media (max-width: 920px) {
  .renovation-works_more a {
    max-width: 60%;
  }
}
@media (max-width: 767px) {
  .renovation-works_more a {
    max-width: 40%;
  }
}

/* -----------------------
renovation whats
----------------------- */
#renovation-whats {
  background: #f3f3f2 url("../img/renovation/what_bg.jpg") no-repeat center bottom/contain;
  padding-top: 80px;
  margin-top: 0;
}
@media (max-width: 767px) {
  #renovation-whats {
    padding-top: 20px;
  }
}

.renovation-whats_ttl {
  font-size: 50px;
  text-align: center;
  font-weight: bold;
  color: var(--color-red);
}
@media (max-width: 767px) {
  .renovation-whats_ttl {
    font-size: 5vw;
  }
}
.renovation-whats_body {
  position: relative;
}
.renovation-whats_img {
  max-width: 1489px;
}
.renovation-whats_1 {
  position: absolute;
  top: -10%;
  left: 10%;
  transform: rotate(30deg);
}
@media (max-width: 1400px) {
  .renovation-whats_1 {
    width: 7%;
  }
}
.renovation-whats_2 {
  position: absolute;
  top: 25%;
  right: 10%;
  transform: rotate(30deg);
}
@media (max-width: 1400px) {
  .renovation-whats_2 {
    width: 7%;
  }
}
.renovation-whats_3 {
  position: absolute;
  top: 30%;
  left: 2%;
  transform: rotate(-20deg);
}
@media (max-width: 1400px) {
  .renovation-whats_3 {
    width: 7%;
  }
}
.renovation-whats_more {
  text-align: center;
}
@media (max-width: 1400px) {
  .renovation-whats_more img {
    width: 20%;
  }
}

/* -----------------------
renovation support
----------------------- */
#renovation-support {
  background: url("../img/renovation/support.jpg") no-repeat center bottom/cover;
  margin-top: 80px;
  padding: 100px 0;
}
@media (max-width: 767px) {
  #renovation-support {
    padding: 50px 0;
    margin-top: 30px;
  }
}

.renovation-support_ttl {
  font-size: 40px;
  font-weight: bold;
  color: #fff;
  text-align: center;
}
@media (max-width: 767px) {
  .renovation-support_ttl {
    font-size: 5vw;
  }
}
.renovation-support_txt {
  color: #fff;
  text-align: center;
  font-size: 16px;
}
@media (max-width: 767px) {
  .renovation-support_txt {
    font-size: 12px;
    margin-top: 10px;
  }
}
@media (max-width: 767px) {
  .renovation-support_more {
    margin-top: 10px;
  }
}
.renovation-support_more a {
  margin: 0 auto;
}

/* -----------------------
renovation blog
----------------------- */
#renovation-blog {
  margin-top: 70px;
  padding-bottom: 70px;
  border-bottom: solid 1px #ccc;
}
@media (max-width: 767px) {
  #renovation-blog {
    margin-top: 30px;
    padding-bottom: 30px;
  }
}

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

renovation2

 * =================================================== */
/* -----------------------
renovation2 chigai
----------------------- */
.renovation2-chigai_txt {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (max-width: 920px) {
  .renovation2-chigai_txt {
    display: block;
  }
}
.renovation2-chigai_inner {
  display: flex;
  justify-content: space-between;
  margin-bottom: 80px;
}
@media (max-width: 767px) {
  .renovation2-chigai_inner {
    display: block;
  }
}
.renovation2-chigai_inner > div {
  margin-top: 0;
  border: solid 1px var(--color-black);
  padding: 40px;
  flex-basis: 48%;
  text-align: center;
  position: relative;
}
@media (max-width: 767px) {
  .renovation2-chigai_inner > div + div {
    margin-top: 80px;
  }
}
@media (max-width: 920px) {
  .renovation2-chigai_inner > div {
    padding: 20px 20px 40px 20px;
  }
}
@media (max-width: 767px) {
  .renovation2-chigai_inner > div {
    padding: 20px;
  }
}
.renovation2-chigai_box_ttl {
  height: 100px;
}
.renovation2-chigai_box_ttl img {
  height: 100px;
}
.renovation2-chigai_box_txt {
  margin-top: 5px;
}
@media (max-width: 920px) {
  .renovation2-chigai_box_txt {
    text-align: left;
  }
}
.renovation2-chigai_box_img {
  margin-top: 10px;
}
.renovation2-chigai_box_more {
  position: absolute;
  bottom: -25px;
  left: 50%;
  transform: translateX(-50%);
}
@media (max-width: 767px) {
  .renovation2-chigai_box_more {
    bottom: -40px;
  }
}
.renovation2-chigai_box_more a {
  width: 170px;
}
@media (max-width: 767px) {
  .renovation2-chigai_box_more a {
    max-width: 100%;
  }
}

/* -----------------------
renovation2 fuman
----------------------- */
#renovation2-fuman {
  margin-top: 100px;
}
@media (max-width: 767px) {
  #renovation2-fuman {
    margin-top: 50px;
  }
}

.renovation2-fuman_txt {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (max-width: 920px) {
  .renovation2-fuman_txt {
    display: block;
  }
}
.renovation2-fuman_no1 {
  margin-top: 30px;
}
.renovation2-fuman_lank {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.renovation2-fuman_lank img {
  margin: 0;
}
.renovation2-fuman_more a {
  margin: 0 auto;
}
@media (max-width: 575px) {
  .renovation2-fuman_more a {
    max-width: 60%;
  }
}

/* -----------------------
renovation2 kangae
----------------------- */
#renovation2-kangae {
  margin-top: 50px;
}

.renovation2-kangae_txt {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (max-width: 920px) {
  .renovation2-kangae_txt {
    display: block;
  }
}
.renovation2-kangae_img {
  margin: 50px 0;
}
.renovation2-kangae_kekka {
  text-align: center;
  margin: 50px 0;
}
@media (max-width: 767px) {
  .renovation2-kangae_kekka {
    margin: 20px 0;
  }
}
.renovation2-kangae_more a {
  margin: 0 auto;
}
@media (max-width: 575px) {
  .renovation2-kangae_more a {
    max-width: 60%;
  }
}

/* -----------------------
renovation2 chigau
----------------------- */
#renovation2-chigau {
  margin-top: 50px;
}

.renovation2-chigau_txt {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (max-width: 920px) {
  .renovation2-chigau_txt {
    display: block;
  }
}
.renovation2-chigau_img {
  max-width: 1070px;
  margin: 50px auto;
}

/* -----------------------
renovation2 stage
----------------------- */
#renovation2-stage {
  margin-top: 100px;
  overflow: hidden;
}
@media (max-width: 767px) {
  #renovation2-stage {
    margin-top: 50px;
  }
}

.renovation2-stage_inner > div {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .renovation2-stage_inner > div {
    display: block;
  }
}
@media (max-width: 767px) {
  .renovation2-stage_inner > div + div {
    margin-top: 40px;
  }
}
.renovation2-stage_inner > div:nth-child(even) {
  flex-direction: row-reverse;
}
.renovation2-stage_inner > div:nth-child(even) .renovation2-stage_body {
  padding-left: 120px;
  padding-right: 0;
}
@media (max-width: 1260px) {
  .renovation2-stage_inner > div:nth-child(even) .renovation2-stage_body {
    padding-left: 60px;
  }
}
@media (max-width: 920px) {
  .renovation2-stage_inner > div:nth-child(even) .renovation2-stage_body {
    padding-left: 0;
  }
}
.renovation2-stage_img {
  flex-basis: 45%;
}
.renovation2-stage_body {
  flex-basis: 50%;
  padding-right: 120px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media (max-width: 920px) {
  .renovation2-stage_body {
    padding-right: 0;
  }
}
@media (max-width: 1260px) {
  .renovation2-stage_body {
    padding-right: 60px;
  }
}
@media (max-width: 767px) {
  .renovation2-stage_body {
    padding-right: 0;
    margin-top: 5px;
  }
}
.renovation2-stage_ttl {
  font-size: 24px;
  font-weight: bold;
}
@media (max-width: 767px) {
  .renovation2-stage_ttl {
    font-size: 18px;
  }
}
@media (max-width: 767px) {
  .renovation2-stage_txt {
    margin-top: 0;
  }
}

/* -----------------------
renovation2 ie
----------------------- */
#renovation2-ie {
  margin: 100px 0;
}
@media (max-width: 767px) {
  #renovation2-ie {
    margin: 50px 0;
  }
}

.renovation2-ie_ttl {
  background: var(--color-red);
  color: #fff;
  font-size: 30px;
  font-weight: bold;
  text-align: center;
  padding: 10px;
}
@media (max-width: 767px) {
  .renovation2-ie_ttl {
    font-size: 20px;
    padding: 5px;
  }
}
.renovation2-ie_inner {
  margin-top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .renovation2-ie_inner {
    display: block;
  }
}
.renovation2-ie_img {
  flex-basis: 50%;
}
.renovation2-ie_txt {
  flex-basis: 45%;
  padding-right: 120px;
}
@media (max-width: 1260px) {
  .renovation2-ie_txt {
    padding-right: 0;
  }
}
@media (max-width: 767px) {
  .renovation2-ie_txt {
    margin-top: 0;
  }
}

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

renovation3

 * =================================================== */
/* -----------------------
renovation3 header
----------------------- */
#renovation3-header {
  padding-bottom: 50px;
}
@media (max-width: 767px) {
  #renovation3-header {
    padding-bottom: 20px;
  }
}

.renovation3-header_inner {
  display: flex;
  gap: 40px;
}
@media (max-width: 767px) {
  .renovation3-header_inner {
    flex-direction: column;
    gap: 20px;
  }
}
.renovation3-header_inner > div {
  margin-top: 0;
  flex: 1;
}
.renovation3-header_inner > div a {
  display: block;
  height: 6em;
  border: solid 1px var(--color-red);
  padding: 20px;
  background: #fff;
  color: var(--color-red);
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 24px;
  transition: 0.3s;
  margin: 0;
}
@media (max-width: 1260px) {
  .renovation3-header_inner > div a {
    font-size: 2vw;
  }
}
@media (max-width: 767px) {
  .renovation3-header_inner > div a {
    font-size: 4vw;
  }
}
.renovation3-header_inner > div a.active {
  background: var(--color-red);
  color: #fff;
}
.renovation3-header_inner > div a:hover {
  background: var(--color-red);
  color: #fff;
}
.renovation3-header_ttl {
  font-size: 24px;
  font-weight: bold;
  color: var(--color-red);
}

/* -----------------------
renovation3 case
----------------------- */
#renovation3-case {
  padding-bottom: 80px;
}
@media (max-width: 767px) {
  #renovation3-case {
    padding-bottom: 20px;
  }
}

.renovation3-case_ttl {
  margin-bottom: 30px;
}
.renovation3-case_txt {
  padding: 0 40px;
}
@media (max-width: 767px) {
  .renovation3-case_txt {
    padding: 0 20px;
  }
}

/* -----------------------
renovation3 flow
----------------------- */
#renovation3-flow {
  background: #f3f3f2;
  padding-top: 90px;
}
@media (max-width: 767px) {
  #renovation3-flow {
    padding-top: 40px;
  }
}

.renovation3-flow_inner {
  position: relative;
}
.renovation3-flow_inner::after {
  position: absolute;
  content: "";
  background: #000;
  height: calc(100% - 20px);
  width: 1px;
  left: 50%;
  transform: translateX(-50%);
  top: 20px;
}
@media (max-width: 767px) {
  .renovation3-flow_inner::after {
    left: 0;
    transform: translateX(0);
    height: calc(100% - 15px);
    top: 15px;
  }
}
.renovation3-flow_inner > div {
  width: 50%;
  margin-top: 0;
}
@media (max-width: 767px) {
  .renovation3-flow_inner > div {
    width: 100%;
  }
}
.renovation3-flow_left .renovation3-flow_ttl {
  padding-right: 74px;
}
@media (max-width: 920px) {
  .renovation3-flow_left .renovation3-flow_ttl {
    padding-right: 40px;
  }
}
@media (max-width: 767px) {
  .renovation3-flow_left .renovation3-flow_ttl {
    padding-right: 0px;
    padding-left: 20px;
  }
}
.renovation3-flow_left .renovation3-flow_ttl::after {
  right: -9px;
}
@media (max-width: 767px) {
  .renovation3-flow_left .renovation3-flow_ttl::after {
    right: auto;
    left: -6px;
  }
}
.renovation3-flow_left .renovation3-flow_txt {
  margin-right: 74px;
}
@media (max-width: 920px) {
  .renovation3-flow_left .renovation3-flow_txt {
    margin-right: 40px;
  }
}
@media (max-width: 767px) {
  .renovation3-flow_left .renovation3-flow_txt {
    margin-right: 0;
    margin-left: 20px;
  }
}
.renovation3-flow_right {
  margin-left: auto;
}
.renovation3-flow_right .renovation3-flow_ttl {
  padding-left: 74px;
}
@media (max-width: 920px) {
  .renovation3-flow_right .renovation3-flow_ttl {
    padding-left: 40px;
  }
}
@media (max-width: 767px) {
  .renovation3-flow_right .renovation3-flow_ttl {
    padding-left: 20px;
  }
}
.renovation3-flow_right .renovation3-flow_ttl::after {
  left: -9px;
}
@media (max-width: 767px) {
  .renovation3-flow_right .renovation3-flow_ttl::after {
    left: -6px;
  }
}
.renovation3-flow_right .renovation3-flow_txt {
  margin-left: 74px;
}
@media (max-width: 920px) {
  .renovation3-flow_right .renovation3-flow_txt {
    margin-left: 40px;
  }
}
@media (max-width: 767px) {
  .renovation3-flow_right .renovation3-flow_txt {
    margin-left: 20px;
  }
}
.renovation3-flow_ttl {
  font-size: 24px;
  font-weight: bold;
  position: relative;
}
@media (max-width: 767px) {
  .renovation3-flow_ttl {
    font-size: 20px;
  }
}
.renovation3-flow_ttl::after {
  position: absolute;
  content: "";
  background: #000;
  border-radius: 50%;
  height: 18px;
  width: 18px;
  top: 12px;
}
@media (max-width: 767px) {
  .renovation3-flow_ttl::after {
    height: 12px;
    width: 12px;
    right: auto;
    top: 12px;
  }
}
.renovation3-flow_txt {
  margin-top: 10px;
}
@media (max-width: 767px) {
  .renovation3-flow_img {
    margin-top: 5px;
  }
}

#renovation3-flow .meeting1_img {
  width: 156px;
  margin-left: auto;
  margin-right: 74px;
}
@media (max-width: 920px) {
  #renovation3-flow .meeting1_img {
    margin-right: 40px;
  }
}
@media (max-width: 767px) {
  #renovation3-flow .meeting1_img {
    margin-right: 0;
    width: 25%;
  }
}
#renovation3-flow #chosa {
  margin-top: -100px;
}
@media (max-width: 767px) {
  #renovation3-flow #chosa {
    margin-top: 20px;
  }
}
#renovation3-flow .chosa_img {
  width: 125px;
  margin-left: auto;
}
@media (max-width: 767px) {
  #renovation3-flow .chosa_img {
    width: 25%;
  }
}
#renovation3-flow #meeting2 {
  margin-top: -100px;
}
@media (max-width: 767px) {
  #renovation3-flow #meeting2 {
    margin-top: 20px;
  }
}
#renovation3-flow .meeting2_img {
  margin-right: 74px;
}
@media (max-width: 920px) {
  #renovation3-flow .meeting2_img {
    margin-right: 40px;
  }
}
@media (max-width: 767px) {
  #renovation3-flow .meeting2_img {
    margin-right: 0;
    margin-left: 20px;
    text-align: center;
  }
}
#renovation3-flow #planning {
  margin-top: -250px;
  z-index: 1;
}
@media (max-width: 767px) {
  #renovation3-flow #planning {
    margin-top: 40px;
  }
}
#renovation3-flow .planning_img {
  margin-left: 74px;
}
@media (max-width: 920px) {
  #renovation3-flow .planning_img {
    margin-left: 40px;
  }
}
@media (max-width: 767px) {
  #renovation3-flow .planning_img {
    margin-left: 20px;
    text-align: center;
  }
}
#renovation3-flow #kokomade {
  margin-top: -220px;
  width: calc(50% + 74px);
  z-index: 0;
}
@media (max-width: 920px) {
  #renovation3-flow #kokomade {
    width: calc(50% + 40px);
  }
}
@media (max-width: 767px) {
  #renovation3-flow #kokomade {
    margin-top: 50px;
    width: 100%;
  }
}
#renovation3-flow .kokomade_txt {
  background: #000;
  font-weight: bold;
  font-size: 24px;
  color: #fff;
  padding: 10px 10px 10px 15%;
}
@media (max-width: 920px) {
  #renovation3-flow .kokomade_txt {
    padding: 10px;
    text-align: center;
    font-size: 2.4vw;
  }
}
@media (max-width: 767px) {
  #renovation3-flow .kokomade_txt {
    font-size: 4vw;
  }
}
#renovation3-flow #karikei {
  margin-top: 50px;
}
#renovation3-flow .karikei_img {
  width: 156px;
  margin-left: auto;
  margin-right: 74px;
  text-align: right;
}
@media (max-width: 920px) {
  #renovation3-flow .karikei_img {
    margin-right: 40px;
  }
}
@media (max-width: 767px) {
  #renovation3-flow .karikei_img {
    width: 25%;
    margin-right: 0;
  }
}
#renovation3-flow #shiyo {
  margin-top: -50px;
}
@media (max-width: 767px) {
  #renovation3-flow #shiyo {
    margin-top: 20px;
  }
}
#renovation3-flow .shiyo_img {
  width: 120px;
  margin-left: auto;
}
@media (max-width: 767px) {
  #renovation3-flow .shiyo_img {
    width: 25%;
  }
}
#renovation3-flow #mitsu {
  margin-top: -100px;
}
@media (max-width: 767px) {
  #renovation3-flow #mitsu {
    margin-top: 20px;
  }
}
#renovation3-flow .mitsu_inner {
  display: flex;
  margin-right: 74px;
  margin-top: 10px;
}
@media (max-width: 920px) {
  #renovation3-flow .mitsu_inner {
    display: block;
    margin-right: 0;
  }
}
#renovation3-flow .mitsu_inner .renovation3-flow_txt {
  margin-top: 0;
  margin-right: 74px;
}
@media (max-width: 920px) {
  #renovation3-flow .mitsu_inner .renovation3-flow_txt {
    margin-right: 40px;
  }
}
@media (max-width: 767px) {
  #renovation3-flow .mitsu_inner .renovation3-flow_txt {
    margin-right: 0;
  }
}
#renovation3-flow .mitsu_img {
  flex-shrink: 0;
  flex-basis: 110px;
  margin-top: 0;
}
@media (max-width: 920px) {
  #renovation3-flow .mitsu_img {
    margin-top: 20px;
    margin-left: auto;
    text-align: right;
    margin-right: 74px;
  }
}
@media (max-width: 767px) {
  #renovation3-flow .mitsu_img {
    margin-top: 20px;
    width: 25%;
    margin-right: 0;
    margin-left: auto;
  }
}
#renovation3-flow #keiyaku {
  margin-top: -50px;
}
@media (max-width: 767px) {
  #renovation3-flow #keiyaku {
    margin-top: 20px;
  }
}
#renovation3-flow .keiyaku_img {
  width: 110px;
  margin-left: 74px;
}
@media (max-width: 920px) {
  #renovation3-flow .keiyaku_img {
    margin-left: 40px;
  }
}
@media (max-width: 767px) {
  #renovation3-flow .keiyaku_img {
    width: 25%;
    margin-left: auto;
  }
}
#renovation3-flow #chakko {
  margin-top: -100px;
}
@media (max-width: 767px) {
  #renovation3-flow #chakko {
    margin-top: 20px;
  }
}
#renovation3-flow .chakko_img {
  width: 96px;
  margin-left: auto;
  margin-right: 74px;
}
@media (max-width: 920px) {
  #renovation3-flow .chakko_img {
    margin-right: 40px;
  }
}
@media (max-width: 767px) {
  #renovation3-flow .chakko_img {
    width: 25%;
    margin-left: auto;
    margin-right: 0;
  }
}
#renovation3-flow #kozi {
  margin-top: -70px;
}
@media (max-width: 767px) {
  #renovation3-flow #kozi {
    margin-top: 20px;
  }
}
#renovation3-flow .kozi_img {
  width: 127px;
  margin-left: 74px;
}
@media (max-width: 920px) {
  #renovation3-flow .kozi_img {
    margin-left: 40px;
  }
}
@media (max-width: 767px) {
  #renovation3-flow .kozi_img {
    width: 25%;
    margin-left: auto;
  }
}
#renovation3-flow #hiki {
  margin-top: -70px;
}
@media (max-width: 767px) {
  #renovation3-flow #hiki {
    margin-top: 20px;
  }
}
#renovation3-flow .hiki_img {
  margin-right: 74px;
}
@media (max-width: 920px) {
  #renovation3-flow .hiki_img {
    margin-right: 40px;
  }
}
@media (max-width: 767px) {
  #renovation3-flow .hiki_img {
    margin-right: 0;
    margin-left: 20px;
    text-align: center;
  }
}
#renovation3-flow #nagai {
  margin-top: -200px;
  padding-bottom: 100px;
}
@media (max-width: 767px) {
  #renovation3-flow #nagai {
    margin-top: 40px;
    padding-bottom: 50px;
  }
}

/* -----------------------
renovation3 contact
----------------------- */
#renovation3-contact {
  padding: 50px 0;
}
@media (max-width: 767px) {
  #renovation3-contact {
    padding: 30px 0;
  }
}

.renovation3-contact_more a {
  margin: 0 auto;
}
@media (max-width: 575px) {
  .renovation3-contact_more a {
    max-width: 60%;
  }
}

/* -----------------------
renovation3 support
----------------------- */
#renovation3-support {
  padding: 100px 0 80px;
  background: #ecebe3;
  margin-bottom: 100px;
}
@media (max-width: 767px) {
  #renovation3-support {
    padding: 50px 0;
    margin-bottom: 50px;
  }
}

.renovation3-support_ttl {
  margin-bottom: 80px;
}
@media (max-width: 767px) {
  .renovation3-support_ttl {
    margin-bottom: 30px;
  }
}
.renovation3-support_subttl {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 50px;
}
@media (max-width: 767px) {
  .renovation3-support_subttl {
    font-size: 5vw;
    margin-bottom: 30px;
  }
}
.renovation3-support_inner {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .renovation3-support_inner {
    flex-direction: column-reverse;
  }
}
.renovation3-support_inner > div {
  flex-basis: 47%;
  margin-top: 0;
}
@media (max-width: 767px) {
  .renovation3-support_inner > div:first-child {
    margin-top: 20px;
  }
}
.renovation3-support_left {
  line-height: 2;
}
.renovation3-support_box {
  background: #fff;
  display: flex;
  justify-content: space-between;
  padding: 20px;
  margin-bottom: 50px;
}
@media (max-width: 767px) {
  .renovation3-support_box {
    display: block;
  }
}
.renovation3-support_img {
  flex-basis: 20%;
}
@media (max-width: 767px) {
  .renovation3-support_img {
    width: 60%;
    margin: 0 auto 20px;
  }
}
.renovation3-support_body {
  flex-basis: 76%;
}
@media (max-width: 1400px) {
  .renovation3-support_body {
    margin-top: 0;
  }
}
.renovation3-support_name {
  font-size: 14px;
}
@media (max-width: 767px) {
  .renovation3-support_name {
    text-align: center;
  }
}
.renovation3-support_name span {
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-left: 20px;
}
@media (max-width: 767px) {
  .renovation3-support_name span {
    margin-left: 0;
  }
}
.renovation3-support_txt {
  line-height: 2;
}
@media (max-width: 1400px) {
  .renovation3-support_txt {
    margin-top: 5px;
  }
}
.renovation3-support_more a {
  margin: 0 auto;
}
@media (max-width: 575px) {
  .renovation3-support_more a {
    max-width: 60%;
  }
}

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

reform
 * =================================================== */
/* -----------------------
reform header
----------------------- */
#reform-header {
  padding-bottom: 40px;
}
@media (max-width: 767px) {
  #reform-header {
    padding-bottom: 20px;
  }
}

/* -----------------------
reform nayami
----------------------- */
#reform-nayami {
  background: #f3f3f2;
  padding: 80px 0;
}
@media (max-width: 767px) {
  #reform-nayami {
    padding: 40px 0 0;
  }
}

.reform-nayami_ttl {
  text-align: center;
  font-size: 30px;
  font-weight: bold;
  margin-bottom: 60px;
}
@media (max-width: 767px) {
  .reform-nayami_ttl {
    margin-bottom: 30px;
  }
}
@media (max-width: 575px) {
  .reform-nayami_ttl {
    font-size: 5vw;
  }
}
.reform-nayami_list ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
@media (max-width: 767px) {
  .reform-nayami_list ul {
    grid-template-columns: repeat(1, 1fr);
  }
}
.reform-nayami_list ul li {
  background: #cacaca;
  display: flex;
  align-items: center;
  color: #000;
  padding: 15px 25px;
  line-height: 1.4;
  height: 100%;
  font-size: 18px;
}
@media (max-width: 767px) {
  .reform-nayami_list ul li {
    padding: 10px;
    font-size: 16px;
  }
}
.reform-nayami_list ul li img {
  margin-right: 10px;
  flex-shrink: 0;
}
@media (max-width: 767px) {
  .reform-nayami_list ul li img {
    width: 5vw;
  }
}

/* -----------------------
reform contact
----------------------- */
#reform-contact {
  padding: 30px 0;
}
@media (max-width: 767px) {
  #reform-contact {
    padding: 0;
  }
}

.reform-contact_txt {
  text-align: center;
  font-weight: bold;
  font-size: 30px;
  color: var(--color-red);
}
@media (max-width: 1260px) {
  .reform-contact_txt {
    font-size: 2.4vw;
  }
}
@media (max-width: 920px) {
  .reform-contact_txt {
    font-size: 20px;
  }
}
@media (max-width: 575px) {
  .reform-contact_txt {
    font-size: 4.4vw;
  }
}
.reform-contact_more a {
  margin: 0 auto;
}

/* -----------------------
reform syokai
----------------------- */
#reform-syokai {
  padding: 30px 0;
}

.reform-syokai_ttl {
  background: var(--color-red);
  color: #fff;
  font-weight: bold;
  font-size: 30px;
  padding: 10px;
  text-align: center;
  margin-bottom: 50px;
}
@media (max-width: 767px) {
  .reform-syokai_ttl {
    margin-bottom: 20px;
  }
}
@media (max-width: 575px) {
  .reform-syokai_ttl {
    font-size: 4.4vw;
  }
}
.reform-syokai_list {
  margin-bottom: 50px;
}
.reform-syokai_list ul {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px;
}
@media (max-width: 767px) {
  .reform-syokai_list ul {
    grid-template-columns: repeat(1, 1fr);
  }
}
.reform-syokai_list ul li a {
  display: block;
  position: relative;
}
.reform-syokai_list ul li a:hover span {
  background: #efefef;
}
.reform-syokai_list ul li a span {
  position: relative;
  z-index: 1;
  border: solid 1px var(--color-red);
  background: #fff;
  display: block;
  padding: 20px 10px;
  text-align: center;
  color: var(--color-red);
  font-weight: bold;
  font-size: 18px;
  transition: 0.3s;
}
@media (max-width: 767px) {
  .reform-syokai_list ul li a span {
    padding: 10px;
    font-size: 16px;
  }
}
.reform-syokai_list ul li a::after {
  position: absolute;
  content: "";
  top: 5px;
  left: 5px;
  width: 100%;
  height: 100%;
  border: solid 1px var(--color-red);
  background: #e4e4e4;
}

/* -----------------------
reform reform
----------------------- */
.reform-box + .reform-box {
  margin-top: 70px;
}
.reform-box_ttl {
  background: #666;
  color: #fff;
  text-align: center;
  font-size: 30px;
}
@media (max-width: 767px) {
  .reform-box_ttl {
    font-size: 20px;
  }
}
.reform-box_inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}
@media (max-width: 767px) {
  .reform-box_inner {
    grid-template-columns: repeat(1, 1fr);
    gap: 40px;
  }
}
.reform-box_inner > div {
  margin-top: 0;
}
.reform-box_name {
  margin-top: 10px;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}
@media (max-width: 767px) {
  .reform-box_name {
    font-size: 18px;
  }
}
.reform-box_txt {
  margin-top: 0;
}
.reform-box_more {
  margin-top: 50px;
}
.reform-box_more a {
  margin: 0 auto;
}

/* -----------------------
reform sodan
----------------------- */
#reform-sodan {
  padding-bottom: 80px;
}
@media (max-width: 767px) {
  #reform-sodan {
    padding-bottom: 40px;
  }
}

.reform-sodan_more {
  margin-top: 50px;
  text-align: center;
}
.reform-sodan_more a {
  display: inline-block;
  position: relative;
  color: #fff;
  width: 560px;
  border: solid 1px var(--color-red);
}
@media (max-width: 767px) {
  .reform-sodan_more a {
    width: 80%;
  }
}
.reform-sodan_more a:hover {
  color: var(--color-red);
}
.reform-sodan_more a:hover .reform-sodan_more_main {
  background: #fff;
}
.reform-sodan_more_main {
  background: #fff;
  background: var(--color-red);
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  padding: 30px 10px;
  position: relative;
  z-index: 1;
  transition: 0.3s;
}
@media (max-width: 767px) {
  .reform-sodan_more_main {
    padding: 20px 10px;
    font-size: 18px;
  }
}
.reform-sodan_more_back {
  position: absolute;
  border: solid 1px var(--color-red);
  width: 100%;
  height: 100%;
  left: 5px;
  top: 5px;
  z-index: 0;
  margin: 0;
}

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

kominka

 * =================================================== */
/* -----------------------
kominka event
----------------------- */
/* -----------------------
kominka leoi
----------------------- */
#kominka-leoi {
  position: relative;
  margin-top: 200px;
  padding-bottom: 300px;
}
@media (max-width: 1400px) {
  #kominka-leoi {
    margin-top: 100px;
    padding-bottom: 200px;
  }
}
@media (max-width: 767px) {
  #kominka-leoi {
    padding-bottom: 80px;
  }
}

.kominka-leoi_kominka {
  position: absolute;
  z-index: 1;
  right: 2%;
  top: -50px;
  width: 660px;
}
@media (max-width: 1730px) {
  .kominka-leoi_kominka {
    width: 40%;
    top: -5%;
  }
}
@media (max-width: 920px) {
  .kominka-leoi_kominka {
    width: 50%;
    top: -3%;
  }
}
@media (max-width: 767px) {
  .kominka-leoi_kominka {
    top: -1%;
  }
}
.kominka-leoi_irori {
  position: absolute;
  z-index: 1;
  left: 2%;
  top: 22%;
  width: 300px;
}
@media (max-width: 1730px) {
  .kominka-leoi_irori {
    width: 20%;
  }
}
@media (max-width: 920px) {
  .kominka-leoi_irori {
    top: 10%;
  }
}
@media (max-width: 767px) {
  .kominka-leoi_irori {
    top: 5%;
    left: auto;
    right: 2%;
  }
}
.kominka-leoi_wabisabi {
  position: absolute;
  z-index: 2;
  left: 7%;
  bottom: 15%;
  width: 600px;
}
@media (max-width: 1730px) {
  .kominka-leoi_wabisabi {
    width: 30%;
  }
}
@media (max-width: 767px) {
  .kominka-leoi_wabisabi {
    left: 2%;
    bottom: 5%;
  }
}
.kominka-leoi_fusuma {
  position: absolute;
  z-index: 2;
  left: 45%;
  bottom: 28%;
  width: 560px;
}
@media (max-width: 1730px) {
  .kominka-leoi_fusuma {
    width: 30%;
    bottom: 20%;
  }
}
@media (max-width: 767px) {
  .kominka-leoi_fusuma {
    bottom: 7%;
    left: 50%;
  }
}
.kominka-leoi_img1 {
  position: absolute;
  z-index: 1;
  left: 0;
  top: -100px;
  width: 420px;
}
@media (max-width: 1730px) {
  .kominka-leoi_img1 {
    width: 23%;
  }
}
@media (max-width: 920px) {
  .kominka-leoi_img1 {
    width: 30%;
    top: -15%;
  }
}
@media (max-width: 767px) {
  .kominka-leoi_img1 {
    width: 40%;
    top: -17%;
  }
}
@media (max-width: 575px) {
  .kominka-leoi_img1 {
    top: -10%;
  }
}
.kominka-leoi_img2 {
  position: absolute;
  z-index: 1;
  left: 15%;
  bottom: 15%;
  width: 450px;
}
@media (max-width: 1730px) {
  .kominka-leoi_img2 {
    width: 23%;
  }
}
@media (max-width: 767px) {
  .kominka-leoi_img2 {
    width: 30%;
    bottom: 6.5%;
  }
}
.kominka-leoi_img3 {
  position: absolute;
  z-index: 1;
  right: 2%;
  bottom: 5%;
  border: solid;
  width: 570px;
}
@media (max-width: 1730px) {
  .kominka-leoi_img3 {
    width: 30%;
    bottom: 10%;
  }
}
@media (max-width: 767px) {
  .kominka-leoi_img3 {
    width: 35%;
    bottom: 5%;
  }
}
.kominka-leoi_body {
  background: #f3f3f3;
  padding: 100px 2% 150px 15%;
  width: 90%;
  margin-left: auto;
}
@media (max-width: 920px) {
  .kominka-leoi_body {
    padding: 100px 2% 100px 15%;
  }
}
@media (max-width: 767px) {
  .kominka-leoi_body {
    padding: 20% 30px 20% 30px;
    width: 96%;
  }
}
.kominka-leoi_inner {
  max-width: 950px;
}
.kominka-leoi_ttl {
  font-size: 30px;
  font-weight: bold;
}
@media (max-width: 767px) {
  .kominka-leoi_ttl {
    font-size: 18px;
  }
}
@media (max-width: 767px) {
  .kominka-leoi_txt {
    margin-top: 10px;
  }
}

/* -----------------------
kominka awards
----------------------- */
#kominka-awards {
  background: #666;
  padding: 90px 0 40px;
  margin-top: 0;
}
@media (max-width: 920px) {
  #kominka-awards {
    padding: 40px 0;
  }
}

.kominka-awards_inner {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .kominka-awards_inner {
    display: block;
  }
}
.kominka-awards_left {
  flex-basis: 25%;
  color: #fff;
}
@media (max-width: 767px) {
  .kominka-awards_left {
    margin-bottom: 30px;
  }
}
.kominka-awards_right {
  margin-top: 0;
  flex-basis: 73%;
}
.kominka-awards_ttl {
  text-align: center;
  font-weight: bold;
}
.kominka-awards_ttl span {
  font-size: 40px;
  line-height: 1.2;
  display: block;
}
@media (max-width: 1260px) {
  .kominka-awards_ttl span {
    font-size: 3vw;
  }
}
@media (max-width: 767px) {
  .kominka-awards_ttl span {
    font-size: 40px;
  }
}
.kominka-awards_txt {
  text-align: center;
  margin-top: 10px;
  font-size: 14px;
}
@media (max-width: 1260px) {
  .kominka-awards_txt {
    font-size: 1vw;
  }
}
@media (max-width: 767px) {
  .kominka-awards_txt {
    font-size: 14px;
  }
}
.kominka-awards_icon {
  text-align: center;
  font-weight: bold;
  font-size: 14px;
}
@media (max-width: 1260px) {
  .kominka-awards_icon {
    font-size: 1vw;
  }
}
@media (max-width: 767px) {
  .kominka-awards_icon {
    font-size: 14px;
  }
}
.kominka-awards_icon img {
  width: 50%;
  display: block;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .kominka-awards_icon img {
    width: 40%;
  }
}
.kominka-awards_box {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}
@media (max-width: 767px) {
  .kominka-awards_box {
    grid-template-columns: repeat(1, 1fr);
  }
}
.kominka-awards_box > div {
  margin-top: 0;
  background: #fff;
}
.kominka-awards_name {
  margin: 0;
  padding: 5px;
  text-align: center;
  color: #666;
  font-weight: bold;
  font-size: 20px;
}
@media (max-width: 1260px) {
  .kominka-awards_name {
    font-size: 1.6vw;
  }
}
@media (max-width: 767px) {
  .kominka-awards_name {
    font-size: 16px;
  }
}
.kominka-awards_more a {
  margin: 0 auto;
}
@media (max-width: 920px) {
  .kominka-awards_more a {
    width: 30%;
  }
}
@media (max-width: 767px) {
  .kominka-awards_more a {
    width: 60%;
  }
}

/* -----------------------
renovation works
----------------------- */
#kominka-works {
  padding: 90px 0;
}
@media (max-width: 767px) {
  #kominka-works {
    padding: 40px 0;
  }
}

/* -----------------------
renovation showroom
----------------------- */
#kominka-show {
  background: url("../img/top/show.jpg") no-repeat left bottom 20%/60%;
}
@media (max-width: 767px) {
  #kominka-show {
    background: url("../img/top/show.jpg") no-repeat center top/contain;
    padding-top: 300px;
  }
}

.kominka-show_body {
  background: #000;
  color: #fff;
  width: 40%;
  margin-left: auto;
  padding: 70px 0 50px;
}
@media (max-width: 767px) {
  .kominka-show_body {
    width: 100%;
    padding: 50px 0;
  }
}
.kominka-show_ttl {
  text-align: center;
  font-weight: bold;
}
.kominka-show_ttl span {
  font-size: 40px;
  line-height: 1.2;
  display: block;
}
@media (max-width: 1260px) {
  .kominka-show_ttl span {
    font-size: 3vw;
  }
}
@media (max-width: 767px) {
  .kominka-show_ttl span {
    font-size: 40px;
  }
}
.kominka-show_txt {
  text-align: center;
  font-size: 14px;
}
@media (max-width: 1260px) {
  .kominka-show_txt {
    font-size: 1vw;
  }
}
@media (max-width: 767px) {
  .kominka-show_txt {
    font-size: 14px;
  }
}
.kominka-show_more a {
  margin: 40px auto 0;
}
@media (max-width: 920px) {
  .kominka-show_more a {
    width: 50%;
  }
}
@media (max-width: 767px) and (max-width: 920px) {
  .kominka-show_more a {
    width: 60%;
  }
}

/* -----------------------
kominka nayami
----------------------- */
#kominka-nayami {
  background: url("../img/top/nayami.jpg") no-repeat center center/cover;
  padding: 130px 0;
  margin-bottom: 50px;
}
@media (max-width: 767px) {
  #kominka-nayami {
    padding: 80px 0;
  }
}

.kominka-nayami_box {
  background: rgba(255, 255, 255, 0.8);
  padding: 70px 50px 50px;
  max-width: 1000px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .kominka-nayami_box {
    padding: 30px;
  }
}
.kominka-nayami_ttl {
  font-size: 30px;
  font-weight: bold;
}
@media (max-width: 767px) {
  .kominka-nayami_ttl {
    font-size: 20px;
  }
}
.kominka-nayami_list ul li {
  font-size: 24px;
  font-weight: bold;
  position: relative;
  padding-left: 1.2em;
}
.kominka-nayami_list ul li + li {
  margin-top: 0.5em;
}
@media (max-width: 767px) {
  .kominka-nayami_list ul li {
    font-size: 14px;
  }
}
.kominka-nayami_list ul li::before {
  position: absolute;
  content: "□";
  left: 0;
}
.kominka-nayami_check {
  font-size: 24px;
  font-weight: bold;
  color: var(--color-red);
}
@media (max-width: 767px) {
  .kominka-nayami_check {
    font-size: 14px;
  }
}
.kominka-nayami_more a {
  margin-left: auto;
}
@media (max-width: 767px) {
  .kominka-nayami_more a {
    max-width: 50%;
  }
}

/* -----------------------
kominka whats
----------------------- */
#kominka-whats {
  background: #f3f3f2 url("../img/renovation/what_bg.jpg") no-repeat center bottom/contain;
  padding-top: 80px;
  margin-top: 0;
}
@media (max-width: 767px) {
  #kominka-whats {
    padding-top: 20px;
  }
}

.kominka-whats_ttl {
  font-size: 40px;
  text-align: center;
  font-weight: bold;
  color: var(--color-red);
}
@media (max-width: 767px) {
  .kominka-whats_ttl {
    font-size: 5vw;
  }
}
.kominka-whats_body {
  position: relative;
}
.kominka-whats_img {
  max-width: 1489px;
}
.kominka-whats_1 {
  position: absolute;
  top: -10%;
  left: 10%;
  transform: rotate(30deg);
}
@media (max-width: 1400px) {
  .kominka-whats_1 {
    width: 3%;
  }
}
@media (max-width: 767px) {
  .kominka-whats_1 {
    width: 2%;
  }
}
.kominka-whats_2 {
  position: absolute;
  top: 25%;
  right: 10%;
  transform: rotate(30deg);
}
@media (max-width: 1400px) {
  .kominka-whats_2 {
    width: 3%;
  }
}
@media (max-width: 767px) {
  .kominka-whats_2 {
    width: 2%;
  }
}
.kominka-whats_3 {
  position: absolute;
  top: 30%;
  left: 2%;
  transform: rotate(-20deg);
}
@media (max-width: 1400px) {
  .kominka-whats_3 {
    width: 3%;
  }
}
@media (max-width: 767px) {
  .kominka-whats_3 {
    width: 2%;
  }
}
.kominka-whats_more {
  text-align: center;
}
@media (max-width: 1400px) {
  .kominka-whats_more img {
    width: 20%;
  }
}

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

kominka2 about

 * =================================================== */
/* -----------------------
kominka2 nani
----------------------- */
#kominka2-nani {
  padding-bottom: 90px;
}
@media (max-width: 767px) {
  #kominka2-nani {
    padding-bottom: 50px;
  }
}

.kominka2-nani_ttl {
  margin-bottom: 30px;
}
.kominka2-nani_inner {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .kominka2-nani_inner {
    flex-direction: column-reverse;
  }
}
.kominka2-nani_inner > div {
  margin-top: 0;
}
.kominka2-nani_inner > div:first-child {
  flex-basis: 55%;
}
.kominka2-nani_inner > div:last-child {
  flex-basis: 40%;
}
@media (max-width: 767px) {
  .kominka2-nani_inner > div:last-child {
    margin-bottom: 30px;
  }
}
.kominka2-nani_inner p {
  line-height: 2.2;
}
@media (max-width: 767px) {
  .kominka2-nani_inner p {
    line-height: 2;
  }
}
.kominka2-nani_inner p + p {
  margin-top: 1.5em;
}

/* -----------------------
kominka2 yosa
----------------------- */
#kominka2-yosa {
  margin-top: 0;
  padding-bottom: 60px;
}

.kominka2-yosa_ttl {
  margin-bottom: 60px;
}
@media (max-width: 767px) {
  .kominka2-yosa_ttl {
    margin-bottom: 30px;
  }
}
.kominka2-yosa_inner {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
}
@media (max-width: 767px) {
  .kominka2-yosa_inner {
    flex-direction: column-reverse;
  }
}
.kominka2-yosa_inner > div {
  margin-top: 0;
}
.kominka2-yosa_inner > div:first-child {
  flex-basis: 55%;
}
.kominka2-yosa_inner > div:last-child {
  flex-basis: 40%;
}
@media (max-width: 767px) {
  .kominka2-yosa_inner > div:last-child {
    margin-bottom: 30px;
  }
}
.kominka2-yosa_inner p {
  line-height: 2.2;
}
@media (max-width: 767px) {
  .kominka2-yosa_inner p {
    line-height: 2;
  }
}
.kominka2-yosa_inner p + p {
  margin-top: 1.5em;
}

/* -----------------------
kominka2 rekisi
----------------------- */
#kominka2-rekisi {
  margin-top: 0;
  padding-bottom: 60px;
}

.kominka2-rekisi_ttl {
  margin-bottom: 60px;
}
@media (max-width: 767px) {
  .kominka2-rekisi_ttl {
    margin-bottom: 30px;
  }
}
.kominka2-rekisi_inner {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .kominka2-rekisi_inner {
    flex-direction: column-reverse;
  }
}
.kominka2-rekisi_inner > div {
  margin-top: 0;
}
.kominka2-rekisi_inner > div:first-child {
  flex-basis: 40%;
}
.kominka2-rekisi_inner > div:last-child {
  flex-basis: 55%;
}
@media (max-width: 767px) {
  .kominka2-rekisi_inner > div:last-child {
    margin-bottom: 30px;
  }
}
.kominka2-rekisi_inner p {
  line-height: 2.2;
}
@media (max-width: 767px) {
  .kominka2-rekisi_inner p {
    line-height: 2;
  }
}
.kominka2-rekisi_inner p + p {
  margin-top: 1.5em;
}

/* -----------------------
kominka2 jirei
----------------------- */
#kominka2-jirei {
  margin-top: 0;
  background: #f3f3f3;
  margin-bottom: 60px;
}

.kominka2-jirei_inner {
  display: flex;
  max-width: 1980px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .kominka2-jirei_inner {
    display: block;
  }
}
.kominka2-jirei_inner > div {
  margin-top: 0;
}
.kominka2-jirei_inner > div:first-child {
  flex-basis: 50%;
  background: url("../img/about/jirei.jpg") no-repeat center center/cover;
  aspect-ratio: 934/558;
}
.kominka2-jirei_inner > div:last-child {
  flex-basis: 50%;
  padding: 100px;
}
@media (max-width: 1260px) {
  .kominka2-jirei_inner > div:last-child {
    padding: 80px 40px;
  }
}
@media (max-width: 767px) {
  .kominka2-jirei_inner > div:last-child {
    padding: 30px 20px;
  }
}
.kominka2-jirei_inner p {
  line-height: 2.2;
}
@media (max-width: 767px) {
  .kominka2-jirei_inner p {
    line-height: 2;
  }
}
.kominka2-jirei_inner p + p {
  margin-top: 1.5em;
}
.kominka2-jirei_more a {
  margin-left: auto;
}

/* -----------------------
kominka2 show
----------------------- */
#kominka2-show {
  margin-bottom: 60px;
}
@media (max-width: 767px) {
  #kominka2-show {
    margin-bottom: 30px;
  }
}

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

kominka3 riyu

 * =================================================== */
/* -----------------------
kominka3 header
----------------------- */
#kominka3-header {
  padding-bottom: 60px;
}
@media (max-width: 767px) {
  #kominka3-header {
    padding-bottom: 0;
  }
}

.kominka3-header_inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
@media (max-width: 920px) {
  .kominka3-header_inner {
    gap: 20px;
  }
}
@media (max-width: 767px) {
  .kominka3-header_inner {
    grid-template-columns: repeat(1, 1fr);
  }
}
.kominka3-header_inner > div {
  margin-top: 0;
}
.kominka3-header_inner > div a {
  display: block;
  background: url("../img/riyu/waku.svg") no-repeat left top/contain;
  padding: 20px;
  aspect-ratio: 465/690;
}
.kominka3-header_num {
  text-align: center;
  font-weight: bold;
  font-size: 30px;
  color: var(--color-red);
}
@media (max-width: 1730px) {
  .kominka3-header_num {
    font-size: 2vw;
  }
}
@media (max-width: 767px) {
  .kominka3-header_num {
    font-size: 8vw;
  }
}
.kominka3-header_img {
  margin-top: 10px;
}
.kominka3-header_ttl {
  margin-top: 30px;
  color: #000;
  font-weight: bold;
  text-align: center;
  font-size: 24px;
}
@media (max-width: 1730px) {
  .kominka3-header_ttl {
    margin-top: 5%;
    font-size: 1.5vw;
  }
}
@media (max-width: 920px) {
  .kominka3-header_ttl {
    font-size: 2vw;
  }
}
@media (max-width: 767px) {
  .kominka3-header_ttl {
    font-size: 5vw;
  }
}

/* -----------------------
kominka3 teian
----------------------- */
#kominka3-teian {
  padding-bottom: 60px;
}
@media (max-width: 767px) {
  #kominka3-teian {
    padding-bottom: 0;
  }
}

.kominka3-teian_header {
  margin-bottom: 60px;
}
@media (max-width: 767px) {
  .kominka3-teian_header {
    margin-bottom: 30px;
  }
}
.kominka3-teian_header_ttl.hn2 {
  margin-bottom: 60px;
}
@media (max-width: 767px) {
  .kominka3-teian_header_ttl.hn2 {
    margin-bottom: 0;
  }
}
.kominka3-teian_header_txt {
  font-weight: bold;
  text-align: center;
  font-size: 24px;
}
.kominka3-teian_inner > div {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .kominka3-teian_inner > div {
    display: block;
  }
}
.kominka3-teian_inner > div:first-child {
  flex-direction: row-reverse;
  margin-bottom: 50px;
}
.kominka3-teian_inner > div > div {
  margin-top: 0;
}
.kominka3-teian_inner > div > div:first-child {
  flex-basis: 45%;
}
@media (max-width: 767px) {
  .kominka3-teian_inner > div > div:first-child {
    margin-bottom: 10px;
  }
}
.kominka3-teian_inner > div > div:last-child {
  flex-basis: 50%;
}
.kominka3-teian_inner p {
  line-height: 2.2;
}
.kominka3-teian_inner p + p {
  margin-top: 1em;
}
.kominka3-teian_inner span {
  color: var(--color-red);
}

/* -----------------------
kominka3 kaiketsu
----------------------- */
#kominka3-kaiketsu {
  padding-bottom: 40px;
}

.kominka3-kaiketsu_txt {
  text-align: center;
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  .kominka3-kaiketsu_txt {
    text-align: left;
  }
}
.kominka3-kaiketsu_inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
@media (max-width: 767px) {
  .kominka3-kaiketsu_inner {
    grid-template-columns: repeat(1, 1fr);
  }
}
.kominka3-kaiketsu_inner > div {
  margin-top: 0;
  display: flex;
  flex-direction: column;
}
.kominka3-kaiketsu_subttl {
  font-size: 30px;
  font-weight: bold;
}
@media (max-width: 767px) {
  .kominka3-kaiketsu_subttl {
    font-size: 24px;
  }
}
.kominka3-kaiketsu_subttl span {
  color: var(--color-red);
}
.kominka3-kaiketsu_list {
  margin-top: 0;
  background: #f3f3f3;
  height: 100%;
  padding: 20px;
}
.kominka3-kaiketsu_list ul li {
  position: relative;
  font-size: 40px 20px;
}

/* -----------------------
kominka3 nayami
----------------------- */
#kominka3-nayami {
  padding-bottom: 60px;
}
@media (max-width: 767px) {
  #kominka3-nayami {
    padding-bottom: 30px;
  }
}

.kominka3-nayami_inner {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  padding-bottom: 30px;
}
@media (max-width: 767px) {
  .kominka3-nayami_inner {
    padding-bottom: 0;
  }
}
@media (max-width: 767px) {
  .kominka3-nayami_inner {
    display: block;
  }
}
.kominka3-nayami_inner p {
  line-height: 2.2;
}
.kominka3-nayami_inner p + p {
  margin-top: 1em;
}
.kominka3-nayami_inner > div {
  margin-top: 0;
}
.kominka3-nayami_inner > div:first-child {
  flex-basis: 40%;
}
@media (max-width: 767px) {
  .kominka3-nayami_inner > div:first-child {
    margin-bottom: 10px;
  }
}
.kominka3-nayami_inner > div:last-child {
  flex-basis: 55%;
}
.kominka3-nayami_more a {
  margin: 0 auto;
}
@media (max-width: 575px) {
  .kominka3-nayami_more a {
    max-width: 60%;
  }
}

/* -----------------------
kominka3 chosa
----------------------- */
#kominka3-chosa {
  padding-bottom: 80px;
}
@media (max-width: 767px) {
  #kominka3-chosa {
    padding-bottom: 30px;
  }
}

.kominka3-chosa_txt {
  text-align: center;
  margin-bottom: 60px;
}
@media (max-width: 767px) {
  .kominka3-chosa_txt {
    text-align: left;
    margin-bottom: 30px;
  }
}
.kominka3-chosa_txt span {
  color: var(--color-red);
}
.kominka3-chosa_inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 30px;
}
@media (max-width: 767px) {
  .kominka3-chosa_inner {
    padding-bottom: 0;
    display: block;
  }
}
.kominka3-chosa_inner p {
  line-height: 2.2;
}
.kominka3-chosa_inner p + p {
  margin-top: 1em;
}
.kominka3-chosa_inner span {
  color: var(--color-red);
}
.kominka3-chosa_inner > div {
  margin-top: 0;
}
.kominka3-chosa_inner > div:first-child {
  flex-basis: 45%;
}
@media (max-width: 767px) {
  .kominka3-chosa_inner > div:first-child {
    margin-bottom: 10px;
  }
}
.kominka3-chosa_inner > div:last-child {
  flex-basis: 50%;
}
.kominka3-chosa_txt2 span {
  color: var(--color-red);
}
.kominka3-chosa_more {
  text-align: center;
  font-size: 24px;
  font-weight: bold;
}
@media (max-width: 767px) {
  .kominka3-chosa_more {
    font-size: 16px;
  }
}
.kominka3-chosa_more a {
  margin: 20px auto 0;
}
@media (max-width: 575px) {
  .kominka3-chosa_more a {
    max-width: 60%;
  }
}

/* -----------------------
kominka3 katachi
----------------------- */
#kominka3-katachi {
  padding-bottom: 80px;
}
@media (max-width: 767px) {
  #kominka3-katachi {
    padding-bottom: 30px;
  }
}

.kominka3-katachi_header {
  margin-bottom: 60px;
}
@media (max-width: 767px) {
  .kominka3-katachi_header {
    margin-bottom: 0;
  }
}
.kominka3-katachi_header_ttl {
  margin-bottom: 50px;
}
@media (max-width: 767px) {
  .kominka3-katachi_header_ttl {
    margin-bottom: 30px;
  }
}
.kominka3-katachi_header_inner {
  max-width: 980px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .kominka3-katachi_header_inner {
    display: block;
  }
}
.kominka3-katachi_header_inner > div {
  margin-top: 0;
}
.kominka3-katachi_header_inner > div:first-child {
  flex-basis: 160px;
  flex-shrink: 0;
  margin-right: 30px;
}
@media (max-width: 767px) {
  .kominka3-katachi_header_inner > div:first-child {
    margin: 0 auto 10px;
    width: 120px;
  }
}
.kominka3-katachi_header_inner > div:last-child {
  flex-basis: auto;
}
.kominka3-katachi_header_stbttl {
  font-size: 26px;
  font-weight: bold;
}
@media (max-width: 767px) {
  .kominka3-katachi_header_stbttl {
    font-size: 18px;
    text-align: center;
  }
}
.kominka3-katachi_header_txt {
  margin-top: 20px;
}
@media (max-width: 767px) {
  .kominka3-katachi_header_txt {
    margin-top: 10px;
  }
}
.kominka3-katachi_box {
  background: #f0edd6;
  padding: 40px;
}
@media (max-width: 767px) {
  .kominka3-katachi_box {
    padding: 20px;
  }
}
.kominka3-katachi_box_body {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 1260px) {
  .kominka3-katachi_box_body {
    align-items: flex-start;
  }
}
@media (max-width: 767px) {
  .kominka3-katachi_box_body {
    display: block;
  }
}
.kominka3-katachi_box_body > div {
  margin-top: 0;
}
.kominka3-katachi_box_body > div:first-child {
  flex-basis: 30%;
  padding: 20px;
}
@media (max-width: 1260px) {
  .kominka3-katachi_box_body > div:first-child {
    flex-basis: 45%;
    padding: 0;
  }
}
.kominka3-katachi_box_body > div:last-child {
  flex-basis: 68%;
}
@media (max-width: 1260px) {
  .kominka3-katachi_box_body > div:last-child {
    flex-basis: 50%;
  }
}
.kominka3-katachi_box_ttl {
  font-size: 20px;
  padding-bottom: 10px;
  font-weight: bold;
  border-bottom: solid 1px #000;
}
@media (max-width: 767px) {
  .kominka3-katachi_box_ttl {
    padding-bottom: 5px;
    font-size: 18px;
  }
}
.kominka3-katachi_box_txt {
  font-size: 18px;
}
@media (max-width: 767px) {
  .kominka3-katachi_box_txt {
    margin-top: 10px;
    font-size: 14px;
    margin-bottom: 10px;
  }
}
.kominka3-katachi_box_txt span {
  color: var(--color-red);
}
.kominka3-katachi_box_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}
@media (max-width: 767px) {
  .kominka3-katachi_box_list {
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
    margin-top: 20px;
  }
}
.kominka3-katachi_box_list > div {
  margin-top: 0;
}
.kominka3-katachi_more a {
  margin: 60px auto 0;
}
@media (max-width: 767px) {
  .kominka3-katachi_more a {
    margin: 0 auto;
  }
}
@media (max-width: 767px) and (max-width: 575px) {
  .kominka3-katachi_more a {
    max-width: 60%;
  }
}

/* -----------------------
kominka3 design
----------------------- */
#kominka3-design {
  padding-bottom: 80px;
}
@media (max-width: 767px) {
  #kominka3-design {
    padding-bottom: 30px;
  }
}

.kominka3-design_txt {
  text-align: center;
  margin-bottom: 60px;
}
@media (max-width: 767px) {
  .kominka3-design_txt {
    text-align: left;
    margin-bottom: 0;
  }
}
.kominka3-design_txt span {
  color: var(--color-red);
}
.kominka3-design_txt p + p {
  margin-top: 2em;
}
.kominka3-design_inner > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .kominka3-design_inner > div {
    display: block;
  }
}
.kominka3-design_inner > div:last-child {
  flex-direction: row-reverse;
}
.kominka3-design_inner > div > div {
  margin-top: 0;
}
.kominka3-design_inner > div > div:first-child {
  flex-basis: 48%;
  margin-bottom: 40px;
}
@media (max-width: 767px) {
  .kominka3-design_inner > div > div:first-child {
    margin-bottom: 10px;
  }
}
.kominka3-design_inner > div > div:last-child {
  flex-basis: 45%;
}
.kominka3-design_inner p {
  line-height: 2.2;
}
.kominka3-design_inner p + p {
  margin-top: 1em;
}
.kominka3-design_inner span {
  color: var(--color-red);
}

/* -----------------------
kominka3 support
----------------------- */
#kominka3-support {
  padding: 100px 0 80px;
  background: #ecebe3;
  margin-bottom: 100px;
}
@media (max-width: 767px) {
  #kominka3-support {
    padding: 50px 0;
    margin-bottom: 50px;
  }
}

.kominka3-support_ttl {
  margin-bottom: 40px;
}
@media (max-width: 767px) {
  .kominka3-support_ttl {
    margin-bottom: 30px;
  }
}
.kominka3-support_subttl {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 50px;
}
@media (max-width: 767px) {
  .kominka3-support_subttl {
    font-size: 5vw;
    margin-bottom: 30px;
  }
}
.kominka3-support_inner {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .kominka3-support_inner {
    flex-direction: column-reverse;
  }
}
.kominka3-support_inner > div {
  flex-basis: 47%;
  margin-top: 0;
}
@media (max-width: 767px) {
  .kominka3-support_inner > div:first-child {
    margin-top: 20px;
  }
}
.kominka3-support_left {
  line-height: 2;
}
.kominka3-support_box {
  background: #fff;
  display: flex;
  justify-content: space-between;
  padding: 20px;
  margin-bottom: 50px;
}
@media (max-width: 767px) {
  .kominka3-support_box {
    display: block;
  }
}
.kominka3-support_img {
  flex-basis: 20%;
}
@media (max-width: 767px) {
  .kominka3-support_img {
    width: 60%;
    margin: 0 auto 20px;
  }
}
.kominka3-support_body {
  flex-basis: 76%;
}
@media (max-width: 1400px) {
  .kominka3-support_body {
    margin-top: 0;
  }
}
.kominka3-support_name {
  font-size: 14px;
}
@media (max-width: 767px) {
  .kominka3-support_name {
    text-align: center;
  }
}
.kominka3-support_name span {
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-left: 20px;
}
@media (max-width: 767px) {
  .kominka3-support_name span {
    margin-left: 0;
  }
}
.kominka3-support_txt {
  line-height: 2;
}
@media (max-width: 1400px) {
  .kominka3-support_txt {
    margin-top: 5px;
  }
}
.kominka3-support_more a {
  margin: 0 auto;
}
@media (max-width: 575px) {
  .kominka3-support_more a {
    max-width: 60%;
  }
}

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

kominka4 flow

 * =================================================== */
/* -----------------------
kominka4 case
----------------------- */
#kominka4-case {
  padding-bottom: 80px;
}
@media (max-width: 767px) {
  #kominka4-case {
    padding-bottom: 20px;
  }
}

.kominka4-case_ttl {
  margin-bottom: 30px;
}
.kominka4-case_txt {
  padding: 40px;
}
@media (max-width: 920px) {
  .kominka4-case_txt {
    padding: 20px;
  }
}

/* -----------------------
kominka4 flow
----------------------- */
#kominka4-flow {
  background: #f3f3f2;
  padding-top: 90px;
}
@media (max-width: 767px) {
  #kominka4-flow {
    padding-top: 40px;
  }
}

.kominka4-flow_inner {
  position: relative;
}
.kominka4-flow_inner::after {
  position: absolute;
  content: "";
  background: #000;
  height: calc(100% - 20px);
  width: 1px;
  left: 50%;
  transform: translateX(-50%);
  top: 20px;
}
@media (max-width: 767px) {
  .kominka4-flow_inner::after {
    left: 0;
    transform: translateX(0);
    height: calc(100% - 15px);
    top: 15px;
  }
}
.kominka4-flow_inner > div {
  width: 50%;
  margin-top: 0;
}
@media (max-width: 767px) {
  .kominka4-flow_inner > div {
    width: 100%;
  }
}
.kominka4-flow_left .kominka4-flow_ttl {
  padding-right: 74px;
}
@media (max-width: 920px) {
  .kominka4-flow_left .kominka4-flow_ttl {
    padding-right: 40px;
  }
}
@media (max-width: 767px) {
  .kominka4-flow_left .kominka4-flow_ttl {
    padding-right: 0px;
    padding-left: 20px;
  }
}
.kominka4-flow_left .kominka4-flow_ttl::after {
  right: -9px;
}
@media (max-width: 767px) {
  .kominka4-flow_left .kominka4-flow_ttl::after {
    right: auto;
    left: -6px;
  }
}
.kominka4-flow_left .kominka4-flow_txt {
  margin-right: 74px;
}
@media (max-width: 920px) {
  .kominka4-flow_left .kominka4-flow_txt {
    margin-right: 40px;
  }
}
@media (max-width: 767px) {
  .kominka4-flow_left .kominka4-flow_txt {
    margin-right: 0;
    margin-left: 20px;
  }
}
.kominka4-flow_left .kominka4-flow_waku {
  margin-right: 74px;
  margin-left: 1.3em;
}
@media (max-width: 920px) {
  .kominka4-flow_left .kominka4-flow_waku {
    margin-right: 40px;
  }
}
@media (max-width: 767px) {
  .kominka4-flow_left .kominka4-flow_waku {
    margin-right: 0;
    margin-left: 20px;
  }
}
.kominka4-flow_left .kominka4-flow_waku2 {
  margin-right: 74px;
  margin-left: 1.3em;
}
@media (max-width: 920px) {
  .kominka4-flow_left .kominka4-flow_waku2 {
    margin-right: 40px;
  }
}
@media (max-width: 767px) {
  .kominka4-flow_left .kominka4-flow_waku2 {
    margin-right: 0;
    margin-left: 20px;
  }
}
.kominka4-flow_right {
  margin-left: auto;
}
.kominka4-flow_right .kominka4-flow_ttl {
  padding-left: 74px;
}
@media (max-width: 920px) {
  .kominka4-flow_right .kominka4-flow_ttl {
    padding-left: 40px;
  }
}
@media (max-width: 767px) {
  .kominka4-flow_right .kominka4-flow_ttl {
    padding-left: 20px;
  }
}
.kominka4-flow_right .kominka4-flow_ttl::after {
  left: -9px;
}
@media (max-width: 767px) {
  .kominka4-flow_right .kominka4-flow_ttl::after {
    left: -6px;
  }
}
.kominka4-flow_right .kominka4-flow_txt {
  margin-left: calc(74px + 1.3em);
}
@media (max-width: 920px) {
  .kominka4-flow_right .kominka4-flow_txt {
    margin-left: 40px;
  }
}
@media (max-width: 767px) {
  .kominka4-flow_right .kominka4-flow_txt {
    margin-left: 20px;
  }
}
.kominka4-flow_right .kominka4-flow_waku {
  margin-left: calc(74px + 1.3em);
}
@media (max-width: 920px) {
  .kominka4-flow_right .kominka4-flow_waku {
    margin-left: 40px;
  }
}
@media (max-width: 767px) {
  .kominka4-flow_right .kominka4-flow_waku {
    margin-left: 20px;
  }
}
.kominka4-flow_right .kominka4-flow_waku2 {
  margin-left: calc(74px + 1.3em);
}
@media (max-width: 920px) {
  .kominka4-flow_right .kominka4-flow_waku2 {
    margin-left: 40px;
  }
}
@media (max-width: 767px) {
  .kominka4-flow_right .kominka4-flow_waku2 {
    margin-left: 20px;
  }
}
.kominka4-flow_ttl {
  font-size: 24px;
  font-weight: bold;
  position: relative;
}
@media (max-width: 767px) {
  .kominka4-flow_ttl {
    font-size: 20px;
  }
}
.kominka4-flow_ttl::after {
  position: absolute;
  content: "";
  background: #000;
  border-radius: 50%;
  height: 18px;
  width: 18px;
  top: 12px;
}
@media (max-width: 767px) {
  .kominka4-flow_ttl::after {
    height: 12px;
    width: 12px;
    right: auto;
    top: 12px;
  }
}
.kominka4-flow_txt {
  margin-top: 10px;
  margin-left: 1.3em;
}
@media (max-width: 767px) {
  .kominka4-flow_img {
    margin-top: 5px;
  }
}
.kominka4-flow_waku {
  border: solid 1px #000;
  padding: 20px;
  text-align: center;
}
.kominka4-flow_waku2 {
  border: solid 1px var(--color-red);
  padding: 20px;
  text-align: center;
}
.kominka4-flow_waku_ttl {
  text-align: center;
  font-weight: bold;
  font-size: 18px;
}
.kominka4-flow_waku_ttl2 {
  display: inline-block;
  background: var(--color-red);
  color: #fff;
  border-radius: 20px;
  font-weight: bold;
  font-size: 20px;
  padding: 0 3em;
}
.kominka4-flow_waku_list {
  margin-top: 15px;
}
.kominka4-flow_waku_list dl {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media (max-width: 920px) {
  .kominka4-flow_waku_list dl {
    display: block;
  }
}
.kominka4-flow_waku_list dl dt {
  margin: 0 0 10px;
  background: var(--color-red);
  color: #fff;
  font-weight: bold;
  flex-basis: 9em;
}
.kominka4-flow_waku_list dl dd {
  text-align: left;
  font-size: 14px;
  margin: 0 0 10px;
  flex-basis: calc(100% - 9em - 30px);
}
.kominka4-flow_waku_list2 {
  text-align: left;
  padding: 0 20px;
}
@media (max-width: 920px) {
  .kominka4-flow_waku_list2 {
    padding: 0;
  }
}
.kominka4-flow_waku_list2 dl dt {
  color: var(--color-red);
  font-size: bold;
  font-size: 18px;
  margin: 0;
}
.kominka4-flow_waku_list2 dl dd {
  margin: 0 0 10px;
}

#kominka4-flow .meeting1_img {
  width: 156px;
  margin-left: auto;
  margin-right: 74px;
}
@media (max-width: 920px) {
  #kominka4-flow .meeting1_img {
    margin-right: 40px;
  }
}
@media (max-width: 767px) {
  #kominka4-flow .meeting1_img {
    margin-right: 0;
    width: 25%;
  }
}
#kominka4-flow #chosa {
  margin-top: -20%;
}
@media (max-width: 767px) {
  #kominka4-flow #chosa {
    margin-top: 60px;
  }
}
#kominka4-flow #chosa .kominka4-flow_ttl {
  margin-top: -30px;
}
#kominka4-flow .chosa_img {
  width: 125px;
  margin-left: auto;
}
@media (max-width: 767px) {
  #kominka4-flow .chosa_img {
    width: 23%;
  }
}
#kominka4-flow #meeting2 {
  margin-top: -100px;
}
@media (max-width: 767px) {
  #kominka4-flow #meeting2 {
    margin-top: 60px;
  }
}
#kominka4-flow .meeting2_img {
  margin-right: 74px;
}
@media (max-width: 920px) {
  #kominka4-flow .meeting2_img {
    margin-right: 40px;
  }
}
@media (max-width: 767px) {
  #kominka4-flow .meeting2_img {
    margin-right: 0;
    margin-left: 20px;
    text-align: center;
  }
}
#kominka4-flow #planning {
  margin-top: -250px;
  z-index: 1;
}
@media (max-width: 767px) {
  #kominka4-flow #planning {
    margin-top: 60px;
  }
}
#kominka4-flow .planning_img {
  margin-left: 74px;
}
@media (max-width: 920px) {
  #kominka4-flow .planning_img {
    margin-left: 40px;
  }
}
@media (max-width: 767px) {
  #kominka4-flow .planning_img {
    margin-left: 20px;
    text-align: center;
  }
}
#kominka4-flow #kokomade {
  margin-top: 20px;
  width: 100%;
  z-index: 0;
}
@media (max-width: 767px) {
  #kominka4-flow #kokomade {
    margin-top: 40px;
  }
}
#kominka4-flow .kokomade_txt {
  background: #000;
  font-weight: bold;
  font-size: 24px;
  color: #fff;
  padding: 10px 10px 10px 5%;
}
@media (max-width: 920px) {
  #kominka4-flow .kokomade_txt {
    padding: 10px;
    text-align: center;
    font-size: 2.4vw;
  }
}
@media (max-width: 767px) {
  #kominka4-flow .kokomade_txt {
    font-size: 4vw;
  }
}
#kominka4-flow #karikei {
  margin-top: 50px;
}
#kominka4-flow .karikei_img {
  width: 156px;
  margin-left: auto;
  margin-right: 74px;
  text-align: right;
}
@media (max-width: 920px) {
  #kominka4-flow .karikei_img {
    margin-right: 40px;
  }
}
@media (max-width: 767px) {
  #kominka4-flow .karikei_img {
    width: 25%;
    margin-right: 0;
  }
}
#kominka4-flow #shiyo {
  margin-top: -50px;
}
@media (max-width: 767px) {
  #kominka4-flow #shiyo {
    margin-top: 60px;
  }
}
#kominka4-flow .shiyo_img {
  width: 120px;
  margin-left: auto;
}
@media (max-width: 767px) {
  #kominka4-flow .shiyo_img {
    width: 25%;
  }
}
#kominka4-flow #keiyaku {
  margin-top: -100px;
}
@media (max-width: 767px) {
  #kominka4-flow #keiyaku {
    margin-top: 60px;
  }
}
#kominka4-flow .keiyaku_inner {
  display: flex;
  margin-right: 74px;
  margin-top: 10px;
}
@media (max-width: 920px) {
  #kominka4-flow .keiyaku_inner {
    display: block;
    margin-right: 0;
  }
}
#kominka4-flow .keiyaku_inner .kominka4-flow_txt {
  margin-top: 0;
  margin-right: 74px;
}
@media (max-width: 920px) {
  #kominka4-flow .keiyaku_inner .kominka4-flow_txt {
    margin-right: 40px;
  }
}
@media (max-width: 767px) {
  #kominka4-flow .keiyaku_inner .kominka4-flow_txt {
    margin-right: 0;
  }
}
#kominka4-flow .keiyaku_img {
  flex-shrink: 0;
  flex-basis: 110px;
  margin-top: 0;
}
@media (max-width: 920px) {
  #kominka4-flow .keiyaku_img {
    margin-top: 20px;
    margin-left: auto;
    text-align: right;
    margin-right: 74px;
  }
}
@media (max-width: 767px) {
  #kominka4-flow .keiyaku_img {
    margin-top: 20px;
    width: 25%;
    margin-right: 0;
    margin-left: auto;
  }
}
#kominka4-flow #chakko {
  margin-top: 50px;
}
@media (max-width: 767px) {
  #kominka4-flow #chakko {
    margin-top: 60px;
  }
}
#kominka4-flow #chakko .kominka4-flow_ttl {
  margin-top: -35px;
}
#kominka4-flow .chakko_img {
  width: 96px;
  margin-left: auto;
}
@media (max-width: 767px) {
  #kominka4-flow .chakko_img {
    width: 25%;
  }
}
#kominka4-flow #kozi {
  margin-top: -500px;
}
@media (max-width: 767px) {
  #kominka4-flow #kozi {
    margin-top: 60px;
  }
}
#kominka4-flow #kozi .kominka4-flow_ttl {
  margin-top: -35px;
}
#kominka4-flow .kozi_img {
  width: 96px;
  margin-left: auto;
  margin-right: 74px;
}
@media (max-width: 767px) {
  #kominka4-flow .kozi_img {
    width: 25%;
    margin-right: 0;
  }
}
#kominka4-flow #hiki {
  margin-top: -100px;
}
@media (max-width: 767px) {
  #kominka4-flow #hiki {
    margin-top: 60px;
  }
}
#kominka4-flow .hiki_img {
  margin-right: 74px;
}
@media (max-width: 920px) {
  #kominka4-flow .hiki_img {
    margin-right: 40px;
  }
}
@media (max-width: 767px) {
  #kominka4-flow .hiki_img {
    margin-right: 0;
    margin-left: 20px;
    text-align: center;
  }
}
#kominka4-flow #nagai {
  margin-top: 80px;
  padding-bottom: 100px;
}
@media (max-width: 767px) {
  #kominka4-flow #nagai {
    margin-top: 60px;
    padding-bottom: 50px;
  }
}

/* -----------------------
kominka4 contact
----------------------- */
#kominka4-contact {
  padding: 50px 0;
}
@media (max-width: 767px) {
  #kominka4-contact {
    padding: 30px 0;
  }
}

.kominka4-contact_more a {
  margin: 0 auto;
}
@media (max-width: 575px) {
  .kominka4-contact_more a {
    max-width: 60%;
  }
}

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

kominka5 reform
 * =================================================== */
/* -----------------------
kominka5 header
----------------------- */
#kominka5-header {
  padding-bottom: 80px;
}
@media (max-width: 767px) {
  #kominka5-header {
    padding-bottom: 20px;
  }
}

.kominka5-header_ttl {
  margin-bottom: 60px;
}
@media (max-width: 767px) {
  .kominka5-header_ttl {
    margin-bottom: 30px;
  }
}
.kominka5-header_inner {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
}
@media (max-width: 767px) {
  .kominka5-header_inner {
    gap: 20px;
  }
}
.kominka5-header_inner > div {
  margin-top: 0;
}

/* -----------------------
kominka5 nayami
----------------------- */
#kominka5-nayami {
  background: #f3f3f2;
  padding: 80px 0;
}
@media (max-width: 767px) {
  #kominka5-nayami {
    padding: 40px 0 0;
  }
}

.kominka5-nayami_ttl {
  text-align: center;
  font-size: 30px;
  font-weight: bold;
  margin-bottom: 60px;
}
@media (max-width: 767px) {
  .kominka5-nayami_ttl {
    margin-bottom: 30px;
  }
}
@media (max-width: 575px) {
  .kominka5-nayami_ttl {
    font-size: 5vw;
  }
}
.kominka5-nayami_list ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
@media (max-width: 767px) {
  .kominka5-nayami_list ul {
    grid-template-columns: repeat(1, 1fr);
  }
}
.kominka5-nayami_list ul li {
  background: #cacaca;
  display: flex;
  align-items: center;
  color: #000;
  padding: 15px 25px;
  line-height: 1.4;
  height: 100%;
  font-size: 18px;
}
@media (max-width: 767px) {
  .kominka5-nayami_list ul li {
    padding: 10px;
    font-size: 16px;
  }
}
.kominka5-nayami_list ul li img {
  margin-right: 10px;
  flex-shrink: 0;
}
@media (max-width: 767px) {
  .kominka5-nayami_list ul li img {
    width: 5vw;
  }
}

/* -----------------------
kominka5 contact
----------------------- */
#kominka5-contact {
  padding: 30px 0;
}
@media (max-width: 767px) {
  #kominka5-contact {
    padding: 0;
  }
}

.kominka5-contact_txt {
  text-align: center;
  font-weight: bold;
  font-size: 30px;
  color: var(--color-red);
}
@media (max-width: 1260px) {
  .kominka5-contact_txt {
    font-size: 2.4vw;
  }
}
@media (max-width: 920px) {
  .kominka5-contact_txt {
    font-size: 20px;
  }
}
@media (max-width: 575px) {
  .kominka5-contact_txt {
    font-size: 4.4vw;
  }
}
.kominka5-contact_more a {
  margin: 0 auto;
}
@media (max-width: 767px) {
  .kominka5-contact_more a {
    max-width: 60%;
  }
}

/* -----------------------
kominka5 syokai
----------------------- */
#kominka5-syokai {
  padding: 30px 0;
}

.kominka5-syokai_ttl {
  background: var(--color-red);
  color: #fff;
  font-weight: bold;
  font-size: 30px;
  padding: 10px;
  text-align: center;
  margin-bottom: 50px;
}
@media (max-width: 767px) {
  .kominka5-syokai_ttl {
    margin-bottom: 20px;
  }
}
@media (max-width: 575px) {
  .kominka5-syokai_ttl {
    font-size: 4.4vw;
  }
}

/* -----------------------
kominka5 reform
----------------------- */
.kominka5-reform {
  padding-bottom: 30px;
}
@media (max-width: 767px) {
  .kominka5-reform {
    padding-bottom: 20px;
  }
}

.kominka5-reform_header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 60px;
}
@media (max-width: 767px) {
  .kominka5-reform_header {
    margin-bottom: 30px;
    flex-direction: column-reverse;
  }
}
.kominka5-reform_header > div {
  margin-top: 0;
}
.kominka5-reform_header > div:first-child {
  flex-basis: 60%;
}
@media (max-width: 1260px) {
  .kominka5-reform_header > div:first-child {
    flex-basis: 58%;
  }
}
.kominka5-reform_header > div:last-child {
  flex-basis: 36.5%;
}
@media (max-width: 1260px) {
  .kominka5-reform_header > div:last-child {
    flex-basis: 40%;
  }
}
@media (max-width: 767px) {
  .kominka5-reform_header > div:last-child {
    width: 100%;
    margin: 0 auto 20px;
  }
}
.kominka5-reform_header_ttl {
  font-size: 35px;
  font-weight: bold;
  display: flex;
}
.kominka5-reform_header_ttl > div {
  margin-top: 0;
}
.kominka5-reform_header_ttl > div:first-child {
  font-size: 80px;
  color: var(--color-red);
  flex-basis: 7%;
  line-height: 1;
}
@media (max-width: 1730px) {
  .kominka5-reform_header_ttl > div:first-child {
    font-size: 4vw;
    line-height: 1.2;
  }
}
@media (max-width: 767px) {
  .kominka5-reform_header_ttl > div:first-child {
    font-size: 6vw;
    flex-basis: auto;
    margin-right: 10px;
  }
}
@media (max-width: 575px) {
  .kominka5-reform_header_ttl > div:first-child {
    font-size: 8vw;
  }
}
@media (max-width: 1730px) {
  .kominka5-reform_header_ttl > div:last-child {
    font-size: 2.4vw;
  }
}
@media (max-width: 767px) {
  .kominka5-reform_header_ttl > div:last-child {
    font-size: 4vw;
  }
}
@media (max-width: 575px) {
  .kominka5-reform_header_ttl > div:last-child {
    font-size: 5vw;
  }
}
.kominka5-reform_header_ttl > div:last-child span {
  color: var(--color-red);
}
.kominka5-reform_header_img_sp {
  display: none;
}
@media (max-width: 767px) {
  .kominka5-reform_header_img_sp {
    display: block;
  }
}
@media (max-width: 767px) {
  .kominka5-reform_header_img_pc {
    display: none;
  }
}
.kominka5-reform_header_list {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: solid 1px #000;
  padding: 20px;
  margin-left: 7%;
}
@media (max-width: 767px) {
  .kominka5-reform_header_list {
    margin-left: 0;
  }
}
@media (max-width: 575px) {
  .kominka5-reform_header_list {
    display: block;
  }
}
.kominka5-reform_header_list img {
  flex-basis: 20%;
}
@media (max-width: 575px) {
  .kominka5-reform_header_list img {
    width: 30%;
    margin: 0 auto 10px;
    display: block;
  }
}
.kominka5-reform_header_list ul {
  margin-top: 0;
  flex-basis: 75%;
}
.kominka5-reform_header_list ul li {
  font-size: 20px;
  font-weight: bold;
  position: relative;
  padding-left: 1.2em;
}
@media (max-width: 1260px) {
  .kominka5-reform_header_list ul li {
    font-size: 1.6vw;
  }
}
@media (max-width: 767px) {
  .kominka5-reform_header_list ul li {
    font-size: 16px;
  }
}
@media (max-width: 375px) {
  .kominka5-reform_header_list ul li {
    font-size: 14px;
  }
}
.kominka5-reform_header_list ul li::before {
  position: absolute;
  content: "▶";
  top: 0;
  left: 0;
}

.kominka5-reform_box_ttl {
  background: #e4e4e4;
  font-weight: bold;
  font-size: 20px;
  padding: 5px 20px;
}
@media (max-width: 767px) {
  .kominka5-reform_box_ttl {
    font-size: 18px;
  }
}
.kominka5-reform_box_inner {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  margin-top: 35px;
}
@media (max-width: 767px) {
  .kominka5-reform_box_inner {
    display: block;
  }
}
.kominka5-reform_box_inner > div {
  margin-top: 0;
}
.kominka5-reform_box_inner > div:first-child {
  flex-basis: 50%;
}
@media (max-width: 767px) {
  .kominka5-reform_box_inner > div:first-child {
    margin-bottom: 20px;
  }
}
.kominka5-reform_box_inner > div:last-child {
  flex-basis: 47%;
}
.kominka5-reform_box_list dl dt {
  background: #000;
  color: #fff;
  display: inline-block;
  width: 5em;
  text-align: center;
  margin-bottom: 10px;
}
.kominka5-reform_box_list dl dt.teian {
  background: var(--color-red);
}
.kominka5-reform_more {
  margin-top: 50px;
}
@media (max-width: 767px) {
  .kominka5-reform_more {
    margin-top: 20px;
  }
}
.kominka5-reform_more a {
  margin: 0 auto;
}
@media (max-width: 767px) {
  .kominka5-reform_more a {
    max-width: 50%;
  }
}

/* -----------------------
kominka5 hanashi
----------------------- */
#kominka5-hanashi {
  padding: 60px 0;
  background: #ecebe3;
}
@media (max-width: 767px) {
  #kominka5-hanashi {
    padding: 40px 0;
  }
}

.kominka5-hanashi_ttl {
  margin-bottom: 50px;
}
@media (max-width: 767px) {
  .kominka5-hanashi_ttl {
    margin-bottom: 30px;
  }
}
.kominka5-hanashi_txt {
  text-align: center;
  font-weight: bold;
  margin-bottom: 30px;
  font-size: 24px;
}
@media (max-width: 767px) {
  .kominka5-hanashi_txt {
    font-size: 18px;
  }
}
.kominka5-hanashi_inner {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
}
@media (max-width: 920px) {
  .kominka5-hanashi_inner {
    display: block;
  }
}
.kominka5-hanashi_inner > div {
  margin-top: 0;
}
.kominka5-hanashi_inner > div:first-child {
  flex-basis: 50%;
}
@media (max-width: 920px) {
  .kominka5-hanashi_inner > div:first-child {
    width: 60%;
    margin: 0 auto 20px;
  }
}
@media (max-width: 767px) {
  .kominka5-hanashi_inner > div:first-child {
    width: 100%;
  }
}
.kominka5-hanashi_inner > div:last-child {
  flex-basis: 45%;
}
.kominka5-hanashi_inner p + p {
  margin-top: 2em;
}
.kominka5-hanashi_more {
  margin-top: 50px;
  text-align: center;
}
.kominka5-hanashi_more a {
  display: inline-block;
  position: relative;
  color: #fff;
  width: 560px;
  border: solid 1px var(--color-red);
}
@media (max-width: 767px) {
  .kominka5-hanashi_more a {
    width: 80%;
  }
}
.kominka5-hanashi_more a:hover {
  color: var(--color-red);
}
.kominka5-hanashi_more a:hover .kominka5-hanashi_more_main {
  background: #fff;
}
.kominka5-hanashi_more_main {
  background: #fff;
  background: var(--color-red);
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  padding: 30px 10px;
  position: relative;
  z-index: 1;
  transition: 0.3s;
}
@media (max-width: 767px) {
  .kominka5-hanashi_more_main {
    padding: 20px 10px;
    font-size: 18px;
  }
}
.kominka5-hanashi_more_back {
  position: absolute;
  border: solid 1px var(--color-red);
  width: 100%;
  height: 100%;
  left: 5px;
  top: 5px;
  z-index: 0;
  margin: 0;
}

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

kominka6 showroom
 * =================================================== */
/* -----------------------
kominka6 header
----------------------- */
#kominka6-header {
  padding-bottom: 80px;
}
@media (max-width: 767px) {
  #kominka6-header {
    padding-bottom: 20px;
  }
}

.kominka6-header_ttl {
  margin-bottom: 60px;
}
@media (max-width: 767px) {
  .kominka6-header_ttl {
    margin-bottom: 30px;
  }
}
.kominka6-header_inner {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
}
@media (max-width: 767px) {
  .kominka6-header_inner {
    gap: 20px;
  }
}
.kominka6-header_inner > div {
  margin-top: 0;
}

/* -----------------------
kominka6 nayami
----------------------- */
#kominka6-nayami {
  background: #f3f3f2;
  padding: 80px 0;
}
@media (max-width: 767px) {
  #kominka6-nayami {
    padding: 40px 0;
  }
}

.kominka6-nayami_ttl {
  text-align: center;
  font-size: 30px;
  font-weight: bold;
  margin-bottom: 60px;
}
@media (max-width: 767px) {
  .kominka6-nayami_ttl {
    margin-bottom: 30px;
  }
}
@media (max-width: 575px) {
  .kominka6-nayami_ttl {
    font-size: 5vw;
  }
}
.kominka6-nayami_list ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
@media (max-width: 920px) {
  .kominka6-nayami_list ul {
    grid-template-columns: repeat(1, 1fr);
  }
}
.kominka6-nayami_list ul li {
  display: flex;
  border: solid 1px #000;
  align-items: center;
  padding: 10px 10px 0 10px;
}
@media (max-width: 767px) {
  .kominka6-nayami_list ul li {
    font-size: 12px;
  }
}
.kominka6-nayami_list ul li > div {
  margin-top: 0;
  margin-bottom: 10px;
}
.kominka6-nayami_list ul li span {
  color: var(--color-red);
}
.kominka6-nayami_list ul li img {
  margin-right: 10px;
  height: 120px;
  object-fit: cover;
}

/* -----------------------
kominka6 contact
----------------------- */
#kominka6-contact {
  padding: 30px 0;
}
@media (max-width: 767px) {
  #kominka6-contact {
    padding: 0;
  }
}

.kominka6-contact_txt {
  display: flex;
  justify-content: center;
  font-weight: bold;
  font-size: 30px;
  color: var(--color-red);
}
@media (max-width: 1260px) {
  .kominka6-contact_txt {
    font-size: 2.4vw;
  }
}
@media (max-width: 920px) {
  .kominka6-contact_txt {
    font-size: 20px;
  }
}
@media (max-width: 575px) {
  .kominka6-contact_txt {
    font-size: 4.4vw;
  }
}
.kominka6-contact_txt2 {
  display: flex;
  justify-content: center;
}
.kominka6-contact_more a {
  margin: 0 auto;
}

/* -----------------------
kominka6 syokai
----------------------- */
#kominka6-syokai {
  padding: 30px 0;
}

.kominka6-syokai_ttl {
  background: var(--color-red);
  color: #fff;
  font-weight: bold;
  font-size: 30px;
  padding: 20px 10px;
  text-align: center;
  margin-bottom: 50px;
}
@media (max-width: 1260px) {
  .kominka6-syokai_ttl {
    font-size: 2.4vw;
  }
}
@media (max-width: 767px) {
  .kominka6-syokai_ttl {
    margin-bottom: 20px;
  }
}
@media (max-width: 575px) {
  .kominka6-syokai_ttl {
    font-size: 4.4vw;
  }
}

/* -----------------------
kominka6 riyu
----------------------- */
.kominka6-riyu {
  padding-bottom: 50px;
}
@media (max-width: 767px) {
  .kominka6-riyu {
    padding-bottom: 20px;
  }
}

.kominka6-riyu_header {
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  .kominka6-riyu_header {
    margin-bottom: 0;
  }
}
.kominka6-riyu_header_ttl {
  font-size: 35px;
  font-weight: bold;
  display: flex;
}
.kominka6-riyu_header_ttl > div {
  margin-top: 0;
}
.kominka6-riyu_header_ttl > div:first-child {
  font-size: 80px;
  color: var(--color-red);
  flex-basis: 7%;
  line-height: 1;
}
@media (max-width: 1730px) {
  .kominka6-riyu_header_ttl > div:first-child {
    font-size: 4vw;
    line-height: 1.2;
  }
}
@media (max-width: 767px) {
  .kominka6-riyu_header_ttl > div:first-child {
    font-size: 6vw;
    flex-basis: auto;
    margin-right: 10px;
  }
}
@media (max-width: 575px) {
  .kominka6-riyu_header_ttl > div:first-child {
    font-size: 8vw;
  }
}
@media (max-width: 1730px) {
  .kominka6-riyu_header_ttl > div:last-child {
    font-size: 2.4vw;
  }
}
@media (max-width: 767px) {
  .kominka6-riyu_header_ttl > div:last-child {
    font-size: 4vw;
  }
}
@media (max-width: 575px) {
  .kominka6-riyu_header_ttl > div:last-child {
    font-size: 5vw;
  }
}
.kominka6-riyu_header_ttl > div:last-child span {
  color: var(--color-red);
}
.kominka6-riyu_header_txt {
  margin-top: 0;
  margin-left: 7%;
}
@media (max-width: 767px) {
  .kominka6-riyu_header_txt {
    margin-top: 10px;
    margin-left: 0;
  }
}

.kominka6-riyu_box_inner {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  margin-top: 35px;
}
@media (max-width: 767px) {
  .kominka6-riyu_box_inner {
    margin-top: 0;
    display: block;
  }
}
.kominka6-riyu_box_inner > div {
  margin-top: 0;
}
.kominka6-riyu_box_inner > div:first-child {
  flex-basis: 50%;
}
.kominka6-riyu_box_inner > div:last-child {
  flex-basis: 47%;
}
.kominka6-riyu_box_slide img {
  margin: 0;
}
.kominka6-riyu_box_slide .slick-dots {
  bottom: 20px;
}
@media (max-width: 767px) {
  .kominka6-riyu_box_slide .slick-dots {
    bottom: 0;
  }
}
.kominka6-riyu_box_slide .slick-dots li {
  width: 20px;
}
@media (max-width: 767px) {
  .kominka6-riyu_box_slide .slick-dots li {
    width: 10px;
  }
}
.kominka6-riyu_box_slide .slick-dots li button:before {
  font-size: 15px;
  color: #fff;
}
@media (max-width: 767px) {
  .kominka6-riyu_box_slide .slick-dots li button:before {
    font-size: 2vw;
  }
}
.kominka6-riyu_box_ttl {
  background: #e4e4e4;
  font-weight: bold;
  font-size: 20px;
  padding: 5px 20px;
}
@media (max-width: 767px) {
  .kominka6-riyu_box_ttl {
    font-size: 18px;
  }
}
.kominka6-riyu_box_txt {
  margin: 20px;
}
@media (max-width: 767px) {
  .kominka6-riyu_box_txt {
    margin: 10px 0 0;
  }
}
.kominka6-riyu_box2 {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .kominka6-riyu_box2 {
    display: block;
  }
}
.kominka6-riyu_box2 > div {
  margin-top: 0;
}
.kominka6-riyu_box2 > div:first-child {
  flex-basis: 28%;
}
@media (max-width: 767px) {
  .kominka6-riyu_box2 > div:first-child {
    margin-bottom: 10px;
  }
}
.kominka6-riyu_box2 > div:last-child {
  flex-basis: 67%;
}

.kominka6-riyu_more {
  margin-top: 50px;
}
@media (max-width: 767px) {
  .kominka6-riyu_more {
    margin-top: 20px;
  }
}
.kominka6-riyu_more a {
  margin: 0 auto;
}
@media (max-width: 767px) {
  .kominka6-riyu_more a {
    max-width: 60%;
  }
}

/* -----------------------
kominka6 hojo
----------------------- */
#kominka6-hojo {
  padding: 60px 0;
  background: #f3f3f2;
}
@media (max-width: 767px) {
  #kominka6-hojo {
    padding: 40px 0;
  }
}

.kominka6-hojo_ttl {
  text-align: center;
}
.kominka6-hojo_ttl span {
  padding: 5px 1em;
  font-weight: bold;
  font-size: 30px;
  border: solid 1px #000;
}
@media (max-width: 1260px) {
  .kominka6-hojo_ttl span {
    font-size: 20px;
  }
}
@media (max-width: 767px) {
  .kominka6-hojo_ttl span {
    display: block;
    font-size: 5vw;
    padding: 5px 10px;
  }
}
.kominka6-hojo_txt {
  text-align: center;
}
@media (max-width: 767px) {
  .kominka6-hojo_txt {
    text-align: left;
  }
}
.kominka6-hojo_box {
  background: white;
  padding: 40px;
  margin-top: 40px;
}
@media (max-width: 767px) {
  .kominka6-hojo_box {
    padding: 10px;
    margin-top: 10px;
  }
}
.kominka6-hojo_box_ttl {
  border-bottom: solid 1px #000;
  padding-bottom: 10px;
  font-weight: bold;
  font-size: 24px;
}
@media (max-width: 767px) {
  .kominka6-hojo_box_ttl {
    font-size: 16px;
  }
}
.kominka6-hojo_box_inner {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .kominka6-hojo_box_inner {
    margin-top: 10px;
    display: block;
  }
}
.kominka6-hojo_box_inner > div {
  margin-top: 0;
}
.kominka6-hojo_box_inner > div:first-child {
  flex-basis: 37%;
}
@media (max-width: 767px) {
  .kominka6-hojo_box_inner > div:first-child {
    margin-bottom: 20px;
  }
}
@media (max-width: 767px) {
  .kominka6-hojo_box_inner > div:first-child img {
    margin-top: 10px;
  }
}
.kominka6-hojo_box_inner > div:last-child {
  flex-basis: 61%;
}
.kominka6-hojo_box_price ul {
  border-bottom: dotted 1px #000;
  padding-bottom: 10px;
}
.kominka6-hojo_box_price ul li {
  font-size: 20px;
}
@media (max-width: 1260px) {
  .kominka6-hojo_box_price ul li {
    font-size: 1.5vw;
  }
}
@media (max-width: 920px) {
  .kominka6-hojo_box_price ul li {
    font-size: 1.7vw;
  }
}
@media (max-width: 767px) {
  .kominka6-hojo_box_price ul li {
    font-size: 14px;
  }
}
.kominka6-hojo_box_price p {
  margin-top: 10px;
  font-weight: bold;
  font-size: 24px;
  color: var(--color-red);
}
@media (max-width: 1260px) {
  .kominka6-hojo_box_price p {
    font-size: 20px;
  }
}
@media (max-width: 767px) {
  .kominka6-hojo_box_price p {
    font-size: 18px;
  }
}
@media (max-width: 767px) {
  .kominka6-hojo_box_txt {
    margin-top: 10px;
  }
}
.kominka6-hojo_more {
  margin-top: 50px;
}
.kominka6-hojo_more a {
  margin: 0 auto;
}
@media (max-width: 767px) {
  .kominka6-hojo_more a {
    max-width: 60%;
  }
}

/* -----------------------
kominka6 voice
----------------------- */
#kominka6-voice {
  padding: 60px 0;
}
@media (max-width: 767px) {
  #kominka6-voice {
    padding: 30px 0 160px;
  }
}

.kominka6-voice_ttl {
  text-align: center;
  font-weight: bold;
  font-size: 24px;
}
@media (max-width: 767px) {
  .kominka6-voice_ttl {
    font-size: 5vw;
  }
}
.kominka6-voice_inner {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .kominka6-voice_inner {
    display: block;
  }
}
.kominka6-voice_inner > div {
  margin-top: 0;
  flex-basis: 48%;
  border: solid 1px #000;
  border-radius: 20px;
  padding: 50px;
  position: relative;
}
@media (max-width: 767px) {
  .kominka6-voice_inner > div {
    padding: 15px;
    border-radius: 10px;
  }
}
@media (max-width: 767px) {
  .kominka6-voice_inner > div:first-child {
    margin-bottom: 200px;
  }
}
.kominka6-voice_inner > div span {
  color: var(--color-red);
}
.kominka6-voice_inner > div img {
  position: absolute;
  height: 180px;
  object-fit: cover;
  right: -20px;
  bottom: -70px;
}
@media (max-width: 1260px) {
  .kominka6-voice_inner > div img {
    bottom: -100px;
  }
}
@media (max-width: 767px) {
  .kominka6-voice_inner > div img {
    bottom: -170px;
  }
}

/* -----------------------
kominka6 hanashi
----------------------- */
.kominka6-event_inner {
  background: #f3f3f2;
  display: flex;
}
@media (max-width: 767px) {
  .kominka6-event_inner {
    display: block;
  }
}
.kominka6-event_inner > div {
  margin-top: 0;
  flex-basis: 50%;
}
@media (max-width: 767px) {
  .kominka6-event_inner > div:first-child {
    margin-bottom: 20px;
  }
}
.kominka6-event_body {
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media (max-width: 767px) {
  .kominka6-event_body {
    padding: 20px 10px;
  }
}
.kominka6-event_ttl {
  text-align: center;
  font-size: 24px;
  font-weight: bold;
}
@media (max-width: 1260px) {
  .kominka6-event_ttl {
    font-size: 1.6vw;
  }
}
@media (max-width: 767px) {
  .kominka6-event_ttl {
    font-size: 16px;
  }
}
.kominka6-event_txt {
  text-align: center;
}
@media (max-width: 1260px) {
  .kominka6-event_txt {
    font-size: 12px;
  }
}
@media (max-width: 767px) {
  .kominka6-event_txt {
    font-size: 14px;
    text-align: left;
  }
}
@media (max-width: 1260px) {
  .kominka6-event_more {
    max-width: 40%;
    margin: 20px auto 0;
  }
}
@media (max-width: 767px) {
  .kominka6-event_more {
    max-width: 100%;
  }
}
.kominka6-event_more a {
  margin: 0 auto;
}
@media (max-width: 767px) {
  .kominka6-event_more a {
    max-width: 70%;
  }
}

/* -----------------------
kominka6 yoyaku
----------------------- */
#kominka6-yoyaku {
  margin-top: 50px;
}

.kominka6-yoyaku_more {
  text-align: center;
}
.kominka6-yoyaku_more a {
  display: inline-block;
  position: relative;
  color: #fff;
  width: 560px;
  border: solid 1px var(--color-red);
}
@media (max-width: 767px) {
  .kominka6-yoyaku_more a {
    width: 80%;
  }
}
.kominka6-yoyaku_more a:hover {
  color: var(--color-red);
}
.kominka6-yoyaku_more a:hover .kominka6-hanashi_more_main {
  background: #fff;
}
.kominka6-yoyaku_more a:hover .kominka6-yoyaku_more_main {
  background: #fff;
}
.kominka6-yoyaku_more_main {
  background: #fff;
  background: var(--color-red);
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  padding: 30px 10px;
  position: relative;
  z-index: 1;
  transition: 0.3s;
}
@media (max-width: 767px) {
  .kominka6-yoyaku_more_main {
    padding: 20px 10px;
    font-size: 18px;
  }
}
.kominka6-yoyaku_more_back {
  position: absolute;
  border: solid 1px var(--color-red);
  width: 100%;
  height: 100%;
  left: 5px;
  top: 5px;
  z-index: 0;
  margin: 0;
}

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

owners

 * =================================================== */
/* -----------------------
owners header
----------------------- */
.owners-slide {
  overflow: hidden;
}
.owners-slide img {
  margin: 0;
  object-fit: cover;
  aspect-ratio: 3619/1128;
}
@media (max-width: 767px) {
  .owners-slide img {
    aspect-ratio: 4/3;
  }
}
.owners-slide .slick-dots {
  bottom: 20px;
}
@media (max-width: 767px) {
  .owners-slide .slick-dots {
    bottom: 0;
  }
}
.owners-slide .slick-dots li {
  width: 20px;
}
@media (max-width: 767px) {
  .owners-slide .slick-dots li {
    width: 10px;
  }
}
.owners-slide .slick-dots li button:before {
  font-size: 15px;
  color: #fff;
}
@media (max-width: 767px) {
  .owners-slide .slick-dots li button:before {
    font-size: 2vw;
  }
}

/* -----------------------
owners greeting
----------------------- */
#owners-greeting {
  padding-bottom: 70px;
  margin-top: 0;
}

/* -----------------------
owners info
----------------------- */
#owners-info {
  overflow: hidden;
  margin-top: 0;
  padding: 100px 0;
}
@media (max-width: 767px) {
  #owners-info {
    padding: 50px 0;
  }
}

.owners-info_ttl {
  margin-bottom: 50px;
}
@media (max-width: 767px) {
  .owners-info_ttl {
    margin-bottom: 30px;
  }
}
.owners-info_list {
  margin-bottom: 50px;
}
.owners-info_list ul li a {
  color: #000;
  padding: 20px 0;
  display: flex;
  border-bottom: solid 1px #000;
  position: relative;
  padding-right: 80px;
}
.owners-info_list ul li a:after {
  position: absolute;
  content: url("../img/icon/right_bk.svg");
  right: 20px;
  top: 20px;
  transition: 0.3s;
}
@media (max-width: 767px) {
  .owners-info_list ul li a:after {
    top: 20px;
    right: 10px;
  }
}
@media (max-width: 767px) {
  .owners-info_list ul li a {
    display: block;
    padding-right: 0;
  }
}
.owners-info_list ul li a span {
  flex-basis: 8em;
  flex-shrink: 0;
  display: block;
}
.owners-info_list ul li a:hover {
  background: #eee;
}
.owners-info_list ul li a:hover:after {
  right: 10px;
}
.owners-info_more a {
  margin: 0 auto;
}
@media (max-width: 575px) {
  .owners-info_more a {
    max-width: 45%;
  }
}

/* -----------------------
owners refe
----------------------- */
#owners-refe {
  overflow: hidden;
  margin-top: 0;
  padding: 100px 0;
  background: #ece8e6;
}
@media (max-width: 767px) {
  #owners-refe {
    padding: 50px 0;
  }
}

.owners-refe_ttl {
  margin-bottom: 50px;
}
@media (max-width: 767px) {
  .owners-refe_ttl {
    margin-bottom: 30px;
  }
}
.owners-refe_inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .owners-refe_inner {
    flex-direction: column-reverse;
  }
}
.owners-refe_inner > div {
  margin: 0;
}
.owners-refe_inner > div:first-child {
  flex-basis: 40%;
}
.owners-refe_inner > div:last-child {
  flex-basis: 55%;
}
@media (max-width: 767px) {
  .owners-refe_inner > div:last-child {
    margin-bottom: 20px;
  }
}
.owners-refe_txt p {
  line-height: 2;
}
@media (max-width: 575px) {
  .owners-refe_contact a {
    max-width: 60%;
    margin: 0 auto;
  }
}

/* -----------------------
owners service
----------------------- */
#owners-service {
  overflow: hidden;
  margin-top: 0;
  padding: 100px 0;
  border-bottom: solid 1px #000;
}
@media (max-width: 767px) {
  #owners-service {
    padding: 50px 0;
  }
}

.owners-service_ttl2 {
  font-weight: bold;
  font-size: 30px;
}
@media (max-width: 1260px) {
  .owners-service_ttl2 {
    font-size: 2vw;
  }
}
@media (max-width: 920px) {
  .owners-service_ttl2 {
    font-size: 24px;
  }
}
@media (max-width: 767px) {
  .owners-service_ttl2 {
    font-size: 18px;
  }
}
.owners-service_txt {
  text-align: center;
  margin-bottom: 50px;
}
@media (max-width: 767px) {
  .owners-service_txt {
    margin-bottom: 30px;
  }
}
@media (max-width: 767px) {
  .owners-service_txt2 {
    margin-top: 10px;
  }
}
.owners-service_img {
  margin: 5px 0;
  border-top: solid 5px var(--color-red);
}
.owners-service_img img {
  width: 100%;
}
.owners-service_inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 60px;
}
@media (max-width: 767px) {
  .owners-service_inner {
    grid-template-columns: repeat(1, 1fr);
    gap: 40px;
  }
}
.owners-service_inner > div {
  margin-top: 0;
}

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

housing

 * =================================================== */
/* -----------------------
housing flow
----------------------- */
#housing-flow {
  background: #f3f3f2;
  padding-top: 90px;
}
@media (max-width: 767px) {
  #housing-flow {
    padding-top: 40px;
  }
}

.housing-flow_inner {
  position: relative;
}
.housing-flow_inner::after {
  position: absolute;
  content: "";
  background: #000;
  height: calc(100% - 20px);
  width: 1px;
  left: 50%;
  transform: translateX(-50%);
  top: 20px;
}
@media (max-width: 767px) {
  .housing-flow_inner::after {
    left: 0;
    transform: translateX(0);
    height: calc(100% - 15px);
    top: 15px;
  }
}
.housing-flow_inner > div {
  width: 50%;
  margin-top: 0;
}
@media (max-width: 767px) {
  .housing-flow_inner > div {
    width: 100%;
  }
}
.housing-flow_inner .bgred {
  background: var(--color-red);
  font-size: 20px;
  font-weight: bold;
  padding: 0 20px;
  display: inline-block;
  color: #fff;
}
.housing-flow_inner .dotred {
  position: relative;
  z-index: 1;
}
.housing-flow_inner .dotred::after {
  position: absolute;
  content: "";
  background: var(--color-red);
  border-radius: 50%;
  height: 18px;
  width: 18px;
}
@media (max-width: 767px) {
  .housing-flow_inner .dotred::after {
    height: 12px;
    width: 12px;
  }
}
.housing-flow_inner .ttlred span {
  border: solid 2px var(--color-red);
  padding: 5px 20px;
  color: var(--color-red);
}
.housing-flow_left .housing-flow_ttl {
  padding-right: 74px;
}
@media (max-width: 920px) {
  .housing-flow_left .housing-flow_ttl {
    padding-right: 40px;
  }
}
@media (max-width: 767px) {
  .housing-flow_left .housing-flow_ttl {
    padding-right: 0px;
    padding-left: 20px;
  }
}
.housing-flow_left .housing-flow_ttl::after {
  right: -9px;
}
@media (max-width: 767px) {
  .housing-flow_left .housing-flow_ttl::after {
    right: auto;
    left: -6px;
  }
}
.housing-flow_left .housing-flow_txt {
  margin-right: 74px;
}
@media (max-width: 920px) {
  .housing-flow_left .housing-flow_txt {
    margin-right: 40px;
  }
}
@media (max-width: 767px) {
  .housing-flow_left .housing-flow_txt {
    margin-right: 0;
    margin-left: 20px;
  }
}
.housing-flow_right {
  margin-left: auto;
}
.housing-flow_right .housing-flow_ttl {
  padding-left: 74px;
}
@media (max-width: 920px) {
  .housing-flow_right .housing-flow_ttl {
    padding-left: 40px;
  }
}
@media (max-width: 767px) {
  .housing-flow_right .housing-flow_ttl {
    padding-left: 20px;
  }
}
.housing-flow_right .housing-flow_ttl::after {
  left: -9px;
}
@media (max-width: 767px) {
  .housing-flow_right .housing-flow_ttl::after {
    left: -6px;
  }
}
.housing-flow_right .housing-flow_txt {
  margin-left: 74px;
}
@media (max-width: 920px) {
  .housing-flow_right .housing-flow_txt {
    margin-left: 40px;
  }
}
@media (max-width: 767px) {
  .housing-flow_right .housing-flow_txt {
    margin-left: 20px;
  }
}
.housing-flow_ttl {
  font-size: 24px;
  font-weight: bold;
  position: relative;
}
@media (max-width: 767px) {
  .housing-flow_ttl {
    font-size: 20px;
  }
}
.housing-flow_ttl::after {
  position: absolute;
  content: "";
  background: #000;
  border-radius: 50%;
  height: 18px;
  width: 18px;
  top: 12px;
}
@media (max-width: 767px) {
  .housing-flow_ttl::after {
    height: 12px;
    width: 12px;
    right: auto;
    top: 12px;
  }
}
.housing-flow_txt {
  margin-top: 10px;
}
@media (max-width: 767px) {
  .housing-flow_img {
    margin-top: 5px;
  }
}

#housing-flow #meeting1::after {
  top: 60px;
  right: -9px;
}
@media (max-width: 767px) {
  #housing-flow #meeting1::after {
    right: auto;
    left: -6px;
  }
}
@media (max-width: 767px) {
  #housing-flow .meeting1-red {
    margin-left: 20px;
  }
}
#housing-flow .meeting1_img {
  width: 156px;
  margin-left: auto;
  margin-right: 74px;
  margin-top: -30px;
}
@media (max-width: 920px) {
  #housing-flow .meeting1_img {
    margin-right: 40px;
  }
}
@media (max-width: 1260px) {
  #housing-flow .meeting1_img {
    margin-top: 10px;
  }
}
@media (max-width: 767px) {
  #housing-flow .meeting1_img {
    margin-right: 0;
    width: 25%;
  }
}
#housing-flow #chosa {
  margin-top: -100px;
}
@media (max-width: 767px) {
  #housing-flow #chosa {
    margin-top: 20px;
  }
}
#housing-flow .chosa_img {
  width: 125px;
  margin-left: auto;
}
@media (max-width: 767px) {
  #housing-flow .chosa_img {
    width: 25%;
  }
}
#housing-flow #meeting2 {
  margin-top: -100px;
}
@media (max-width: 767px) {
  #housing-flow #meeting2 {
    margin-top: 20px;
  }
}
#housing-flow .meeting2_img {
  margin-right: 74px;
}
@media (max-width: 920px) {
  #housing-flow .meeting2_img {
    margin-right: 40px;
  }
}
@media (max-width: 767px) {
  #housing-flow .meeting2_img {
    margin-right: 0;
    margin-left: 20px;
    text-align: center;
  }
}
#housing-flow #planning {
  margin-top: -250px;
  z-index: 1;
}
@media (max-width: 767px) {
  #housing-flow #planning {
    margin-top: 40px;
  }
}
#housing-flow #planning::after {
  top: 60px;
  left: -9px;
}
@media (max-width: 767px) {
  #housing-flow #planning::after {
    right: auto;
    left: -6px;
  }
}
#housing-flow .planning_red {
  margin-left: 74px;
}
@media (max-width: 920px) {
  #housing-flow .planning_red {
    margin-left: 40px;
  }
}
@media (max-width: 767px) {
  #housing-flow .planning_red {
    margin-left: 20px;
  }
}
#housing-flow .planning_img {
  margin-left: 74px;
}
@media (max-width: 920px) {
  #housing-flow .planning_img {
    margin-left: 40px;
  }
}
@media (max-width: 767px) {
  #housing-flow .planning_img {
    margin-left: 20px;
    text-align: center;
  }
}
#housing-flow #kokomade {
  margin-top: 40px;
  width: 100%;
  z-index: 0;
}
#housing-flow .kokomade_txt {
  background: #000;
  font-weight: bold;
  font-size: 24px;
  color: #fff;
  padding: 10px;
  text-align: center;
}
@media (max-width: 920px) {
  #housing-flow .kokomade_txt {
    font-size: 2.4vw;
  }
}
@media (max-width: 767px) {
  #housing-flow .kokomade_txt {
    font-size: 4vw;
  }
}
#housing-flow #karikei {
  margin-top: 50px;
}
#housing-flow #karikei::after {
  top: 60px;
  right: -9px;
}
@media (max-width: 767px) {
  #housing-flow #karikei::after {
    right: auto;
    left: -6px;
  }
}
#housing-flow .karikei_red {
  margin-right: 74px;
}
@media (max-width: 920px) {
  #housing-flow .karikei_red {
    margin-right: 40px;
  }
}
@media (max-width: 767px) {
  #housing-flow .karikei_red {
    margin: 20px 0 0 20px;
  }
}
#housing-flow .karikei_img {
  width: 156px;
  margin-left: auto;
  margin-right: 74px;
  text-align: right;
  margin-top: -40px;
}
@media (max-width: 1260px) {
  #housing-flow .karikei_img {
    margin-top: 10px;
  }
}
@media (max-width: 920px) {
  #housing-flow .karikei_img {
    margin-right: 40px;
  }
}
@media (max-width: 767px) {
  #housing-flow .karikei_img {
    width: 25%;
    margin-right: 0;
  }
}
#housing-flow #shiyo {
  margin-top: -50px;
}
@media (max-width: 767px) {
  #housing-flow #shiyo {
    margin-top: 20px;
  }
}
#housing-flow .shiyo_img {
  width: 120px;
  margin-left: auto;
}
@media (max-width: 767px) {
  #housing-flow .shiyo_img {
    width: 25%;
  }
}
#housing-flow #mitsu {
  margin-top: -100px;
}
@media (max-width: 767px) {
  #housing-flow #mitsu {
    margin-top: 20px;
  }
}
#housing-flow .mitsu_inner {
  display: flex;
  margin-right: 74px;
  margin-top: 10px;
}
@media (max-width: 920px) {
  #housing-flow .mitsu_inner {
    display: block;
    margin-right: 0;
    margin-right: 40px;
  }
}
#housing-flow .mitsu_inner .housing-flow_txt {
  margin-top: 0;
  margin-right: 74px;
}
@media (max-width: 920px) {
  #housing-flow .mitsu_inner .housing-flow_txt {
    margin-right: 40px;
  }
}
@media (max-width: 767px) {
  #housing-flow .mitsu_inner .housing-flow_txt {
    margin-right: 0;
  }
}
#housing-flow .mitsu_img {
  flex-shrink: 0;
  flex-basis: 110px;
  margin-top: 0;
}
@media (max-width: 920px) {
  #housing-flow .mitsu_img {
    margin-top: 20px;
    margin-left: auto;
    text-align: right;
    margin-right: 0;
  }
}
@media (max-width: 767px) {
  #housing-flow .mitsu_img {
    margin-top: 20px;
    width: 25%;
    margin-right: 0;
    margin-left: auto;
  }
}
#housing-flow #keiyaku {
  margin-top: -50px;
}
@media (max-width: 767px) {
  #housing-flow #keiyaku {
    margin-top: 20px;
  }
}
#housing-flow .keiyaku_img {
  width: 110px;
  margin-left: 74px;
}
@media (max-width: 920px) {
  #housing-flow .keiyaku_img {
    margin-left: 40px;
  }
}
@media (max-width: 767px) {
  #housing-flow .keiyaku_img {
    width: 25%;
    margin-left: auto;
  }
}
#housing-flow #sai {
  margin-top: -100px;
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  #housing-flow #sai {
    margin-top: 0;
  }
}
#housing-flow #sai .housing-flow_ttl::after {
  background: var(--color-red);
}
@media (max-width: 767px) {
  #housing-flow #sai .housing-flow_ttl::after {
    right: auto;
    top: 12px;
  }
}
#housing-flow #chakko {
  margin-top: 50px;
}
#housing-flow .chakko_img {
  width: 96px;
  margin-left: auto;
  margin-right: 74px;
}
@media (max-width: 920px) {
  #housing-flow .chakko_img {
    margin-right: 40px;
  }
}
@media (max-width: 767px) {
  #housing-flow .chakko_img {
    width: 25%;
    margin-left: auto;
    margin-right: 0;
  }
}
#housing-flow #mune {
  margin-top: -80px;
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  #housing-flow #mune {
    margin-top: 0;
  }
}
#housing-flow #mune .housing-flow_ttl::after {
  background: var(--color-red);
}
@media (max-width: 767px) {
  #housing-flow #mune .housing-flow_ttl::after {
    right: auto;
    top: 12px;
  }
}
#housing-flow #kozi {
  margin-top: 80px;
}
@media (max-width: 767px) {
  #housing-flow #kozi {
    margin-top: 50px;
  }
}
#housing-flow .kozi_img {
  width: 127px;
  margin-left: 74px;
}
@media (max-width: 920px) {
  #housing-flow .kozi_img {
    margin-left: 40px;
  }
}
@media (max-width: 767px) {
  #housing-flow .kozi_img {
    width: 25%;
    margin-left: auto;
  }
}
#housing-flow #hiki {
  margin-top: -70px;
}
@media (max-width: 767px) {
  #housing-flow #hiki {
    margin-top: 20px;
  }
}
#housing-flow .hiki_img {
  margin-right: 74px;
}
@media (max-width: 920px) {
  #housing-flow .hiki_img {
    margin-right: 40px;
  }
}
@media (max-width: 767px) {
  #housing-flow .hiki_img {
    margin-right: 0;
    margin-left: 20px;
    text-align: center;
  }
}
#housing-flow #nagai {
  margin-top: -200px;
  padding-bottom: 100px;
}
@media (max-width: 767px) {
  #housing-flow #nagai {
    margin-top: 40px;
    padding-bottom: 50px;
  }
}

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

maintenance

 * =================================================== */
/* -----------------------
maintenance body
----------------------- */
/* =================================================== *

event

 * =================================================== */
/* -----------------------
event top
----------------------- */
.event-top_inner {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .event-top_inner:nth-child(2) .event-top_ttl, .event-top_inner:nth-child(3) .event-top_ttl {
    display: none;
  }
}
@media (max-width: 767px) {
  .event-top_inner {
    display: block;
  }
}
@media (max-width: 767px) {
  .event-top_inner + .event-top_inner {
    margin-top: 50px;
  }
}
.event-top_box {
  margin-right: 20px;
  flex-basis: 35%;
}
@media (max-width: 767px) {
  .event-top_box {
    margin-right: 0;
  }
}
.event-top_ttl {
  border-bottom: solid 1px var(--color-black);
  padding-bottom: 30px;
  font-weight: 700;
  margin-bottom: 10px;
}
@media (max-width: 767px) {
  .event-top_ttl {
    padding-bottom: 10px;
    line-height: 1.6;
  }
}
.event-top_ttl span {
  display: block;
}
.event-top_ttl span.en {
  font-size: 50px;
}
@media (max-width: 767px) {
  .event-top_ttl span.en {
    font-size: 40px;
  }
}
.event-top_info {
  margin-bottom: 50px;
}
@media (max-width: 767px) {
  .event-top_info {
    margin-bottom: 20px;
  }
}
.event-top_date {
  font-weight: bold;
  font-size: 24px;
}
@media (max-width: 767px) {
  .event-top_date {
    font-size: 18px;
  }
}
.event-top_area {
  margin-top: 10px;
}
.event-top_area ul {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.event-top_area ul li {
  padding: 5px 10px;
  display: inline-block;
  border: solid 1px var(--color-lightgray);
}
.event-top_name {
  margin-top: 10px;
  font-size: 22px;
  font-weight: bold;
}
@media (max-width: 767px) {
  .event-top_name {
    font-size: 18px;
  }
}
@media (max-width: 767px) {
  .event-top_more {
    margin-top: 10px;
  }
}
.event-top_img {
  margin-top: 0.5em;
  flex-basis: 60%;
}
@media (max-width: 767px) {
  .event-top_img_pc {
    display: none;
  }
}
.event-top_img_sp {
  display: none;
}
@media (max-width: 767px) {
  .event-top_img_sp {
    display: block;
    margin-top: 30px;
  }
}
.event-top_img_inner {
  aspect-ratio: 3/2;
  overflow: hidden;
}
.event-top_img_inner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

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

blog

 * =================================================== */
/* -----------------------
blog top
----------------------- */
.blog-top_inner {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .blog-top_inner {
    display: block;
  }
}
.blog-top_inner a {
  color: var(--color-black);
}
.blog-top_left {
  flex-basis: 35%;
}
@media (max-width: 767px) {
  .blog-top_left {
    margin-bottom: 40px;
  }
}
.blog-top_right {
  flex-basis: 60%;
  margin-top: 0;
}
.blog-top_right > div a {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .blog-top_right > div a {
    display: block;
  }
}
.blog-top_right > div + div {
  margin-top: 40px;
}
.blog-top_right .blog-top_img {
  flex-basis: 40%;
}
.blog-top_right .blog-top_body {
  flex-basis: 55%;
}
@media (max-width: 767px) {
  .blog-top_body {
    margin-top: 5px;
  }
}
.blog-top_img_inner {
  aspect-ratio: 3/2;
  overflow: hidden;
}
.blog-top_img_inner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.blog-top_date {
  font-weight: bold;
}
.blog-top_ttl {
  margin-top: 5px;
  font-weight: bold;
  font-size: 18px;
}
.blog-top_txt {
  margin-top: 0;
}
@media (max-width: 767px) {
  .blog-top_cat {
    margin-top: 5px;
  }
}
.blog-top_cat ul {
  display: flex;
  gap: 5px;
}
.blog-top_cat ul li {
  font-size: 14px;
  padding: 0 20px;
  border: solid 1px #ccc;
}

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

works

 * =================================================== */
/* -----------------------
works top
----------------------- */
#works-top {
  background: #f3f3f2;
  padding: 90px 0;
  text-align: center;
}
@media (max-width: 767px) {
  #works-top {
    padding: 50px 0;
  }
}

.works-top_ttl {
  font-size: 30px;
  font-weight: bold;
  display: inline-block;
  background: var(--color-black);
  color: #fff;
  padding: 0 15%;
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  .works-top_ttl {
    font-size: 20px;
    margin-bottom: 0;
  }
}
.works-top_inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 50px;
}
@media (max-width: 920px) {
  .works-top_inner {
    gap: 20px;
  }
}
@media (max-width: 767px) {
  .works-top_inner {
    grid-template-columns: repeat(1, 1fr);
  }
}
.works-top_inner > div {
  margin-top: 0;
}
@media (max-width: 767px) {
  .works-top_name {
    margin-top: 10px;
  }
}
.works-top_name a {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  font-weight: bold;
  color: var(--color-black);
}
@media (max-width: 1260px) {
  .works-top_name a {
    font-size: 1.6vw;
  }
}
@media (max-width: 767px) {
  .works-top_name a {
    font-size: 5vw;
  }
}
.works-top_name a img {
  width: 4%;
  margin-right: 10px;
}

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

contact

 * =================================================== */
/* -----------------------
contact body
----------------------- */
.contact-body_header {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}
@media (max-width: 767px) {
  .contact-body_header {
    grid-template-columns: repeat(1, 1fr);
    gap: 10px;
  }
}
.contact-body_header > div {
  margin-top: 0;
  background: #e4e4e4;
  border-radius: 15px;
  min-height: 94px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
}
@media (max-width: 1260px) {
  .contact-body_header > div {
    font-size: 14px;
    min-height: auto;
    padding: 30px 5px;
  }
}
@media (max-width: 1260px) and (max-width: 767px) {
  .contact-body_header > div {
    padding: 10px 10px 10px 20px;
    justify-content: flex-start;
  }
}
.contact-body_header > div span {
  font-size: 24px;
  margin-right: 10px;
}
@media (max-width: 1260px) {
  .contact-body_header > div span {
    font-size: 18px;
    margin-right: 2%;
  }
}
.contact-body_siryo {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  text-align: center;
  font-size: 18px;
  font-weight: bold;
}
@media (max-width: 767px) {
  .contact-body_siryo {
    grid-template-columns: repeat(2, 1fr);
    margin-bottom: 30px;
  }
}
.contact-body_siryo > div {
  margin-top: 0;
  border: solid 1px #222;
  padding: 10px;
}
.contact-body_siryo img {
  display: block;
  margin: 0;
}
@media (max-width: 1260px) {
  .contact-body_siryo {
    font-size: 16px;
  }
}
.contact-body_txt {
  margin-top: 50px;
  text-align: center;
}
@media (max-width: 767px) {
  .contact-body_txt {
    margin-top: 30px;
    text-align: left;
  }
}
.contact-body_txt strong {
  color: var(--color-red);
  font-size: 110%;
}
.contact-body_form {
  margin-top: 50px;
}
@media (max-width: 767px) {
  .contact-body_form {
    margin-top: 0;
  }
}
.contact-body_form dl {
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .contact-body_form dl {
    display: block;
  }
}
.contact-body_form dl dt {
  flex-basis: 20em;
  margin: 0;
  padding: 20px 10px;
}
@media (max-width: 920px) {
  .contact-body_form dl dt {
    flex-basis: 10em;
  }
}
@media (max-width: 767px) {
  .contact-body_form dl dt {
    padding: 10px 0 0 0;
  }
}
.contact-body_form dl dd {
  flex-basis: calc(100% - 20em);
  margin: 0;
  padding: 20px 10px;
}
@media (max-width: 920px) {
  .contact-body_form dl dd {
    flex-basis: calc(100% - 10em);
  }
}
@media (max-width: 767px) {
  .contact-body_form dl dd {
    padding: 5px 0 10px 0;
  }
}
.contact-body_form dl dd .hissu {
  background: var(--color-red);
  display: inline-block;
  padding: 0 20px;
  color: #fff;
}
.contact-body_form dl dd.check {
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: 0 30px;
}
@media (max-width: 920px) {
  .contact-body_form dl dd.check {
    grid-template-columns: repeat(1, 1fr);
    gap: 5px;
  }
}
.contact-body_form dl dd.check label + label {
  margin-top: 10px;
}
.contact-body_btn {
  text-align: center;
  display: flex;
  gap: 20px;
  justify-content: center;
}

input[type=checkbox] {
  cursor: pointer;
}

input[type=checkbox]:checked:before {
  position: absolute;
  top: 4px;
  left: 7px;
  transform: rotate(50deg);
  width: 6px;
  height: 10px;
  border-right: 2px solid var(--color-red);
  border-bottom: 2px solid var(--color-red);
  content: "";
}

:where(form, .form) input:not(.button),
:where(form, .form) select,
:where(form, .form) textarea {
  border-radius: 0 !important;
}

/* Select */
:where(form, .form) select {
  min-width: 6em !important;
}
@media (max-width: 767px) {
  :where(form, .form) select {
    min-width: 4em !important;
  }
}
@media (max-width: 320px) {
  :where(form, .form) select {
    min-width: auto !important;
  }
}

input[type=radio] {
  appearance: none;
  display: none;
}
input[type=radio] + span {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
}
input[type=radio] + span:before {
  font-family: "Font Awesome 5 Free";
  content: "\f111";
  display: inline-block;
  margin-right: 0.5em;
  font-weight: 400;
  color: #222;
}
input[type=radio]:checked + span:before {
  content: "\f192";
  font-weight: 400;
  color: var(--color-red);
}

/* -----------------------
MW WP Form
----------------------- */
.mw_wp_form_input .contact-body_header > div:first-child {
  background: var(--color-red);
  color: #fff;
}

.mw_wp_form_confirm .contact-body_header > div:nth-child(2) {
  background: var(--color-red);
  color: #fff;
}
.mw_wp_form_confirm .contact-body_txt {
  display: none;
}
.mw_wp_form_confirm .contact-body_siryo {
  display: none;
}
.mw_wp_form_confirm .hissu {
  display: none !important;
}

.mw_wp_form_complete .contact-body_header > div:last-child {
  background: var(--color-red);
  color: #fff;
}

input[type=submit] {
  background: var(--color-red);
  color: #fff;
}

.thanks {
  margin-top: 30px;
}

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

  post

 * =================================================== */
/* -----------------------
post body
----------------------- */
#post-body {
  margin-top: 0;
}
#post-body > div {
  margin-top: 0;
}

.post-body_ttl {
  font-weight: bold;
  font-size: 18px;
}
.post-body_inner {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .post-body_inner {
    display: block;
  }
}
.post-body_left {
  flex-basis: 75%;
}
@media (max-width: 767px) {
  .post-body_left {
    margin-bottom: 40px;
  }
}
.post-body_right {
  margin-top: 0;
  flex-basis: 22%;
}

/* -----------------------
aside
----------------------- */
.aside_ttl {
  font-weight: bold;
  font-size: 18px;
  background: var(--color-red);
  color: #fff;
  padding: 5px 10px;
}
.aside_list {
  margin-top: 10px;
}
.aside_list ul li a {
  padding: 5px 10px;
  display: block;
  color: var(--color-black);
  border-bottom: solid 1px #cacaca;
}

/* -----------------------
breadcrumbs
----------------------- */
#breadcrumbs {
  margin-top: 0;
}
#breadcrumbs ul {
  display: flex;
  flex-wrap: wrap;
}
#breadcrumbs ul li:not(:last-of-type)::after {
  content: "›";
  margin: 0 0.6em;
  color: #777;
}
#breadcrumbs ul li a {
  color: var(--color-black);
}

/* -----------------------
archive category list
----------------------- */
#archive-catlist {
  border: solid 1px #222;
  padding: 40px;
  margin-bottom: 50px;
}
#archive-catlist ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 40px;
}
#archive-catlist ul li a {
  color: #000;
  display: block;
  position: relative;
  padding-left: 1.2em;
}
#archive-catlist ul li a:hover {
  color: var(--color-red);
}
#archive-catlist ul li a::after {
  position: absolute;
  content: "■";
  color: var(--color-red);
  top: 0;
  left: 0;
}

.archive-catlist_ttl {
  font-weight: bold;
  text-align: center;
  font-size: 24px;
}

/* -----------------------
post archive
----------------------- */
.post-archive {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}
.post-archive > div {
  margin-top: 0;
}
@media (max-width: 920px) {
  .post-archive {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 767px) {
  .post-archive {
    grid-template-columns: repeat(1, 1fr);
  }
}
.post-archive_item a {
  color: var(--color-black);
}
.post-archive_item a:hover .post-archive_img img {
  transform: scale(1.1);
}
.post-archive_img {
  aspect-ratio: 3/2;
  overflow: hidden;
}
.post-archive_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.post-archive_body {
  margin-top: 10px;
}
.post-archive_cat ul {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 5px;
}
.post-archive_cat ul li {
  border: solid 1px #cacaca;
  padding: 5px 10px;
  line-height: 1;
  font-size: 12px;
}
.post-archive_area {
  margin-top: 5px;
}
.post-archive_area ul {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin: 0;
}
.post-archive_area ul li {
  margin: 0;
  font-size: 14px;
  padding: 2px 10px;
  border: solid 2px #ccc;
}
.post-archive_date {
  margin-top: 10px;
}
.post-archive_ttl {
  margin-top: 0;
  font-weight: bold;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-height: 1.2;
}

/* -----------------------
archive pager
----------------------- */
#archive-pager {
  padding-top: 50px;
}

/* -----------------------
post single head
----------------------- */
.single-head_ttl {
  font-weight: bold;
  border-left: solid 5px var(--color-black);
  padding-left: 15px;
  font-size: 18px;
}
.single-head_info {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
}
.single-head_date {
  margin-right: 10px;
  font-weight: bold;
}
.single-head_cat {
  margin-top: 0;
}
.single-head_cat ul {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.single-head_cat ul li {
  margin: 0;
}
.single-head_cat ul li a {
  display: block;
  padding: 0 5px;
  border: solid 1px #cacaca;
  font-size: 14px;
  margin: 0;
  color: var(--color-black);
}
.single-head_cat ul li a:hover {
  color: var(--color-red);
}
.single-head_area {
  margin-top: 10px;
}
.single-head_area ul {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.single-head_area ul li {
  margin: 0;
}
.single-head_area ul li a {
  display: block;
  padding: 5px 10px;
  border: solid 2px #ccc;
  font-size: 14px;
  margin: 0;
  color: var(--color-black);
}
.single-head_area ul li a:hover {
  color: var(--color-red);
}

/* -----------------------
post single body
----------------------- */
.single-body_eye {
  text-align: center;
  max-width: 700px;
  margin: 0 auto;
}
.single-body_eye img {
  height: auto;
}
.single-body_content figcaption {
  font-size: 14px;
}
@media (max-width: 920px) {
  .single-body_content .full-img {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
}
.single-body_content img {
  height: auto;
}
.single-share {
  text-align: center;
}
.single-kanren_ttl {
  margin-top: 50px;
  font-weight: bold;
  border-bottom: solid 1px #cacaca;
  padding-bottom: 10px;
}
.single-kanren_inner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
@media (max-width: 920px) {
  .single-kanren_inner {
    grid-template-columns: repeat(2, 1fr);
  }
}
.single-kanren_inner a {
  color: var(--color-black);
}
.single-kanren_inner > div {
  margin-top: 0;
}
.single-kanren_img {
  aspect-ratio: 3/2;
  overflow: hidden;
}
.single-kanren_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.single-kanren_txt {
  margin-top: 10px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: 14px;
}

/* -----------------------
single pager
----------------------- */
.prev-next {
  padding-top: 20px;
  border-top: solid 1px #cacaca;
  display: flex;
  justify-content: space-between;
  gap: 1em;
}
.prev-next a {
  display: block;
  color: var(--color-black);
}
.prev-next .next {
  margin-left: auto;
  margin-top: 0;
}

/* -----------------------
nopost
----------------------- */
.nopost {
  text-align: center;
}

/* -----------------------
plugin addsns
----------------------- */
.addtoany_share_save_container {
  text-align: center;
  padding-top: 50px;
}
.addtoany_share_save_container a {
  margin-top: 0;
}

/* -----------------------
plugin blogCard
----------------------- */
.single-body_content div a {
  text-decoration: none;
}
@media (max-width: 600px) {
  .single-body_content div a {
    font-size: 14px;
  }
}

/* -----------------------
pager
----------------------- */
.pagination__btn--last, .pagination__btn--first, .pagination__btn--next, .pagination__btn--prev, .pagination__item a, .pagination__item--current {
  display: block;
  color: #666;
  text-align: center;
  text-decoration: none;
  border: 1px solid #ccc;
  min-width: 1em;
  line-height: 1;
  transition: all 0.3s;
  padding: 0.5em 0.5em;
  margin: 0 0.2em;
}
.pagination__btn--last:hover:not(li), .pagination__btn--first:hover:not(li), .pagination__btn--next:hover:not(li), .pagination__btn--prev:hover:not(li), .pagination__item a:hover:not(li), .pagination__item--current:hover:not(li) {
  background: #f3f3f3;
}

.pagination {
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  color: #666;
  line-height: 1;
  margin: 0;
}
.pagination__list {
  display: none;
}
.pagination__pos {
  order: 2;
  border: 1px solid #ccc;
  margin: 0 0.2em;
  padding: 0.5em 1em;
}
.pagination__btn--prev {
  order: 1;
}
.pagination__btn--next {
  order: 3;
}
.pagination__btn--first {
  display: none;
}
.pagination__btn--last {
  display: none;
}
@media (min-width: 768px) {
  .pagination__list {
    order: 2;
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .pagination__item--current {
    background: var(--color-red);
    color: #fff;
    font-weight: bold;
  }
  .pagination__pos {
    display: none;
  }
  .pagination__btn--prev {
    order: 1;
  }
  .pagination__btn--next {
    order: 3;
  }
}
@media (min-width: 993px) {
  .pagination__list {
    order: 3;
  }
  .pagination__btn--prev {
    order: 2;
  }
  .pagination__btn--next {
    order: 4;
  }
  .pagination__btn--first {
    order: 1;
    display: block;
  }
  .pagination__btn--last {
    order: 5;
    display: block;
  }
}

/* -----------------------
single works
----------------------- */
.single-works_body section {
  padding-top: 10px;
}
.single-works_ttl {
  margin-bottom: 10px;
  font-weight: bold;
  font-size: 18px;
}
@media (max-width: 767px) {
  .single-works_ttl {
    font-size: 16px;
  }
}
.single-works_catch {
  text-align: center;
  margin-bottom: 50px;
}
@media (max-width: 1260px) {
  .single-works_catch {
    font-size: 24px;
  }
}
@media (max-width: 920px) {
  .single-works_catch {
    margin-top: 50px;
    text-align: left;
    margin-bottom: 20px;
  }
}
@media (max-width: 767px) {
  .single-works_catch {
    margin-top: 30px;
    font-size: 20px;
  }
}
.single-works_awards {
  border: solid 1px var(--color-red);
}
.single-works_awards_ttl {
  background: var(--color-red);
  color: #fff;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
}
@media (max-width: 767px) {
  .single-works_awards_ttl {
    font-size: 18px;
  }
}
.single-works_awards_txt {
  margin-top: 0;
  padding: 20px;
  text-align: center;
  color: var(--color-red);
  font-size: 20px;
  font-weight: bold;
}
@media (max-width: 767px) {
  .single-works_awards_txt {
    padding: 10px;
    font-size: 16px;
    text-align: left;
  }
}
.single-works_date {
  background: #f3f3f2;
  padding: 40px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 5em;
}
@media (max-width: 767px) {
  .single-works_date {
    gap: 15px 2em;
    padding: 10px;
  }
}
.single-works_date dl {
  display: flex;
  margin-top: 0;
}
.single-works_date dl dt {
  background: #fff;
  padding: 5px 20px;
  margin-right: 10px;
}
@media (max-width: 767px) {
  .single-works_date dl dt {
    padding: 0 10px;
  }
}
.single-works_date dl dd {
  padding: 5px 0;
}
@media (max-width: 767px) {
  .single-works_date dl dd {
    padding: 0;
  }
}
.single-works_slide {
  margin-top: 0;
}
.single-works_slide > div {
  margin-top: 0;
}
.single-works_slide .slick-slide {
  text-align: center;
}
.single-works_slide img {
  margin: 0 auto;
}
.single-works_slide .slick-dots {
  bottom: 20px;
}
@media (max-width: 767px) {
  .single-works_slide .slick-dots {
    bottom: 0;
  }
}
.single-works_slide .slick-dots li {
  width: 20px;
}
@media (max-width: 767px) {
  .single-works_slide .slick-dots li {
    width: 10px;
  }
}
.single-works_slide .slick-dots li button:before {
  font-size: 15px;
  color: #fff;
}
@media (max-width: 767px) {
  .single-works_slide .slick-dots li button:before {
    font-size: 2vw;
  }
}
.single-works_before {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
@media (max-width: 767px) {
  .single-works_before {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
}
.single-works_before > div {
  margin-top: 0;
}
.single-works_before img {
  width: 100%;
  object-fit: cover;
  aspect-ratio: 3/2;
}
.single-works_box_subttl {
  border: solid 1px #000;
  padding: 10px;
  text-align: center;
  margin-bottom: 20px;
  font-size: 24px;
}
@media (max-width: 767px) {
  .single-works_box_subttl {
    font-size: 18px;
    padding: 5px;
    margin-bottom: 10px;
  }
}
.single-works_box_catch {
  text-align: center;
  font-weight: bold;
  font-size: 28px;
}
@media (max-width: 767px) {
  .single-works_box_catch {
    font-size: 18px;
  }
}
.single-works_box_txt {
  text-align: center;
  margin-top: 20px;
}
@media (max-width: 767px) {
  .single-works_box_txt {
    margin-top: 10px;
    text-align: left;
  }
}

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

recruit

 * =================================================== */
/* -----------------------
recruit header
----------------------- */
#recruit-header {
  padding-bottom: 50px;
}
@media (max-width: 767px) {
  #recruit-header {
    padding-bottom: 30px;
  }
}

.recruit-header_ttl {
  text-align: center;
  font-size: 28px;
}
@media (max-width: 767px) {
  .recruit-header_ttl {
    font-size: 18px;
  }
}
.recruit-header_img {
  margin-top: 50px;
  text-align: center;
}

/* -----------------------
recruit 共通
----------------------- */
.recruit_end {
  position: absolute;
  z-index: 10;
  width: 100%;
  height: 100%;
  left: 0;
  background: rgba(182, 18, 26, 0.85);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.recruit_end p {
  color: #fff;
  text-align: center;
  font-size: 20px;
}
@media (max-width: 767px) {
  .recruit_end p {
    font-size: 16px;
  }
}
.recruit_end p + p {
  margin-top: 1em;
}
.recruit_catttl {
  background: #ece8e6;
  padding: 10px;
  text-align: center;
  text-align: center;
  font-size: 28px;
}
@media (max-width: 767px) {
  .recruit_catttl {
    font-size: 18px;
  }
}
.recruit_box {
  position: relative;
}
.recruit_box + .recruit_box {
  margin-top: 100px;
}
@media (max-width: 767px) {
  .recruit_box + .recruit_box {
    margin-top: 70px;
  }
}
.recruit_box_ttl {
  border: solid 1px #222;
  padding: 10px;
  text-align: center;
  font-size: 20px;
}
@media (max-width: 767px) {
  .recruit_box_ttl {
    font-size: 16px;
  }
}
.recruit_box_inner {
  display: flex;
  justify-content: space-between;
  margin-bottom: 50px;
}
@media (max-width: 767px) {
  .recruit_box_inner {
    display: block;
    margin-bottom: 0;
  }
}
.recruit_box_img {
  flex-basis: 20%;
  text-align: center;
  aspect-ratio: 1/1;
  overflow: hidden;
}
@media (max-width: 1260px) {
  .recruit_box_img {
    flex-basis: 30%;
  }
}
@media (max-width: 767px) {
  .recruit_box_img {
    width: 70%;
    margin: 0 auto 30px;
  }
}
.recruit_box_img img {
  aspect-ratio: 1/1;
  object-fit: cover;
  width: 100%;
  height: auto;
}
.recruit_box_info {
  margin-top: 0;
  flex-basis: 75%;
}
@media (max-width: 1260px) {
  .recruit_box_info {
    flex-basis: 65%;
  }
}
.recruit_box_list dl {
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .recruit_box_list dl {
    display: block;
  }
}
.recruit_box_list dl dt {
  flex-basis: 20%;
  padding: 10px 0;
  margin: 0;
  border-bottom: solid 1px #222;
}
@media (max-width: 767px) {
  .recruit_box_list dl dt {
    border-bottom: none;
    padding: 10px 0 0 0;
  }
}
.recruit_box_list dl dd {
  flex-basis: 80%;
  padding: 10px 0;
  margin: 0;
  border-bottom: solid 1px #222;
}
@media (max-width: 767px) {
  .recruit_box_list dl dd {
    padding: 0 0 10px 0;
  }
}
.recruit_box_btn {
  display: flex;
  justify-content: center;
  gap: 20px;
}
@media (max-width: 767px) {
  .recruit_box_btn {
    display: block;
  }
}
.recruit_box_btn > div {
  margin-top: 0;
  flex-basis: 240px;
}
@media (max-width: 767px) {
  .recruit_box_btn > div {
    width: 70%;
    margin: 0 auto;
  }
}
@media (max-width: 575px) {
  .recruit_box_btn > div {
    width: 90%;
  }
}
.recruit_box_btn > div a {
  display: block;
  padding: 10px;
  text-align: center;
  border: solid 1px #222;
  position: relative;
  font-size: 18px;
}
.recruit_box_btn > div a::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  left: 5px;
  top: 5px;
  border: solid 1px #222;
  background: #fff;
  z-index: -1;
}
@media (max-width: 767px) {
  .recruit_box_btn > div:first-child {
    margin-bottom: 20px;
  }
}
.recruit_box_btn > div:first-child a {
  background: var(--color-red);
  color: #fff;
}
.recruit_box_btn > div:first-child a:hover {
  background: #E83820;
}
.recruit_box_btn > div:first-child a img {
  position: absolute;
  right: 10px;
  bottom: 10px;
  width: 16px;
}
.recruit_box_btn > div:last-child a {
  background: #fff;
  color: #222;
}
.recruit_box_btn > div:last-child a:hover {
  background: #ece8e6;
}
.recruit_box_btn > div:last-child a img {
  margin-right: 20px;
  width: 30px;
}

/* -----------------------
recruit archive
----------------------- */
#recruit-archive {
  margin-top: 0;
}
#recruit-archive section + section {
  margin-top: 70px;
}
@media (max-width: 767px) {
  #recruit-archive section + section {
    margin-top: 0;
  }
}

/* -----------------------
recruit single
----------------------- */
/* TRISITE CSS 4.2  */
/* (C) 2023 TRISITE */
/* :where(form, .form) module      */
:where(form, .form) :where(th, dt) {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
}

:where(form, .form) label {
  display: inline-flex;
  align-items: center;
}

:where(form, .form) input:not(.button),
:where(form, .form) select,
:where(form, .form) textarea {
  padding: calc(var(--padding) / 2);
  outline: none;
  border-radius: var(--radius-inner);
  background: var(--color-form);
  font-size: 1em;
  color: var(--color-text);
  border: solid var(--outline) var(--color-outline);
  transition: border var(--transition);
}

:where(form, .form) input::-ms-clear,
:where(form, .form) input::-ms-reveal {
  display: none;
}

:where(form, .form) input:where([type=tel], [type=date], [type=time], [type=datetime-local]) {
  max-width: var(--input-width);
  width: 100%;
  flex: 1;
}

:where(form, .form) input:where([type=text], [type=email], [type=url], [type=search]),
:where(form, .form) textarea {
  max-width: 100%;
  width: 100%;
  flex: 1;
}

:where(form, .form) input[type=text].datalist {
  width: auto;
}

:where(form, .form) input:not(.button):hover,
:where(form, .form) textarea:hover,
:where(form, .form) input:focus,
:where(form, .form) textarea:focus {
  border: solid var(--outline) var(--color-outline-focus);
}

:where(form, .form) select,
:where(form, .form) input:where([type=date], [type=time], [type=datetime-local]) {
  min-height: calc(1.5em + var(--padding));
}

:where(form, .form) textarea {
  resize: vertical;
}

/* Date Time */
:where(form, .form) input:where([type=date], [type=time], [type=datetime-local])::-webkit-datetime-edit {
  padding-right: var(--padding);
}

:where(form, .form) input:where([type=date], [type=time], [type=datetime-local])::-webkit-calendar-picker-indicator {
  color: var(--color-outline-text);
  border-left: solid 1px var(--color-outline);
  padding: calc(var(--padding) + 5px);
  padding-left: calc(var(--padding) / 2);
  margin: calc((var(--padding) + 5px) * -1);
  margin-left: 0;
  transition: var(--transition);
  width: 1em;
  height: 1em;
  cursor: pointer;
}

:where(form, .form) input:where([type=date], [type=time], [type=datetime-local]):hover::-webkit-calendar-picker-indicator {
  color: var(--color-outline-focus-text);
  border-left: solid 1px var(--color-outline-focus);
}

:where(form, .form) input:where([type=date], [type=time])::-webkit-calendar-picker-indicator:active {
  background-color: var(--color-outline-focus);
}

/* Color */
:where(form, .form) input[type=color] {
  width: calc(var(--trigger-bar) * 10 * var(--step));
  height: calc(var(--trigger-bar) * 10 * var(--step));
  border-radius: 50%;
  padding: 0;
  overflow: hidden;
  cursor: pointer;
}

:where(form, .form) input[type=color]::-webkit-color-swatch-wrapper {
  padding: 0;
  border: solid var(--trigger-bar) var(--color-form);
  border-radius: 50%;
  overflow: hidden;
}

:where(form, .form) input[type=color]::-webkit-color-swatch {
  border: none;
}

:where(form, .form) input[type=color]::-moz-color-swatch {
  border: none;
}

/* Range */
:where(form, .form) .range {
  display: inline-flex;
  align-items: center;
  gap: var(--padding);
  width: var(--input-width);
  max-width: 100%;
}

:where(form, .form) input[type=range] {
  background: var(--color-outline);
  height: calc(var(--trigger-bar) * 2);
  flex: 1;
  padding: 0;
  outline: solid var(--outline) transparent;
  appearance: none;
  cursor: grab;
}

:where(form, .form) input[type=range]:hover {
  background: var(--color-outline-focus);
}

:where(form, .form) input[type=range]::-webkit-slider-thumb,
:where(form, .form) input[type=range]::-moz-range-thumb {
  border: none;
  background: var(--color-trigger-bg);
}

/* Select */
:where(form, .form) select {
  min-width: var(--input-width);
}

/* Number */
:where(form, .form) .number {
  display: inline-flex;
  align-items: center;
  gap: calc(var(--gap) / 2);
  width: var(--input-width);
  max-width: 100%;
}

:where(form, .form) input[type=number] {
  width: var(--input-width);
  max-width: 100%;
  text-align: center;
}

:where(form, .form) .number input[type=number] {
  width: calc(100% - 48px - var(--gap));
  flex: 1;
}

:where(form, .form) .number button {
  color: var(--color-text);
  font-size: var(--font-size);
  transition: var(--transition);
  background: none;
  outline: none;
  border: none;
  cursor: pointer;
  width: 24px;
  height: 24px;
  padding: 0;
}

:where(form, .form) .number button:hover {
  color: var(--color-hover);
}

:where(form, .form) .number input[type=number]::-webkit-outer-spin-button,
:where(form, .form) .number input[type=number]::-webkit-inner-spin-button,
:where(form, .form) .number input[type=number] {
  appearance: none;
  -moz-appearance: textfield;
}

/* Password */
:where(form, .form) .password {
  width: 100%;
  max-width: 100%;
  flex: 1;
}

:where(form, .form) .password input {
  padding-right: 3em;
  width: 100%;
}

:where(form, .form) .password button {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  right: 0;
  top: 0;
  width: 1em;
  height: 100%;
  font-size: 1.2em;
  padding: calc(var(--padding) / 2) var(--padding);
  background: none;
  outline: none;
  border: none;
  color: var(--color-form-text);
  transition: var(--transition);
  cursor: pointer;
}

:where(form, .form) .password button:hover {
  color: var(--color-outline-focus);
}

:where(form, .form) .password button i {
  margin: 0;
}

:where(form, .form) .password button i:last-child {
  display: none;
}

:where(form, .form) .password button.visible i:first-child {
  display: none;
}

:where(form, .form) .password button.visible i:last-child {
  display: inline;
}

/* Search */
:where(form, .form) input[type=search] {
  appearance: none;
}

:where(form, .form) .search input {
  padding-right: 3em;
  width: 100%;
}

:where(form, .form) .search button {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  right: var(--outline);
  top: var(--outline);
  width: 1em;
  font-size: 1.4em;
  height: calc(100% - var(--outline) * 2);
  padding: calc(var(--padding) / 2) var(--padding);
  background: none;
  outline: none;
  border: none;
  color: var(--color-form-text);
  transition: var(--transition);
  cursor: pointer;
  border-radius: 0 var(--radius-inner) var(--radius-inner) 0;
}

:where(form, .form) .search button:hover {
  color: var(--color-outline-focus);
}

:where(form, .form) .search input[type=search]::-webkit-search-cancel-button {
  display: none;
}

/* Others */
:where(form, .form) ::placeholder {
  color: var(--color-gray);
  opacity: 0.8;
}

:where(form, .form) .require {
  font-size: 0.8em;
  line-height: 1.1;
  color: var(--color-white);
  padding: 0.2em 4px;
  background: var(--color-red);
  border-radius: 3px;
  display: inline-block;
}

input[type=hidden] {
  display: none;
}

/** Media Query **/
@media (max-width: 720px) {
  :where(form, .form) .flex {
    flex-direction: row;
  }
}
@media (max-width: 520px) {
  :where(form, .form) :where(input, select, textarea) + :where(input, select, textarea) {
    margin-top: calc(var(--margin) / 2);
  }
}