/*
Theme Name: sandt
Author: Tomonori Mizuno
Version: 2.0.0
*/

/**********************************************************
 Basic
**********************************************************/

html {
  scroll-behavior: smooth;
}

*,*::before,*::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  background: #fff;
  -webkit-font-smoothing: auto;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-optical-sizing: auto;
  font-weight: normal;
  font-style: normal;
  line-height: 1;
  position: relative;
  color: #000000;
}

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

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

a:active,
a:hover {
  outline: 0;
  text-decoration: none;
}

a:hover {
  opacity: 0.6;
}

img {
  border: 0;
  max-width: 100%;
}

hr {
  border-top: 1px solid #000000;
  border-bottom: none;
}

/**********************************************************
 Form
**********************************************************/

button {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}

button[disabled],
html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input {
  line-height: normal;
}

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

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

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

textarea {
  overflow: auto;
}

/**********************************************************
 Table
**********************************************************/

table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 14px;
  width: 100%;
}

th,td {
  text-align: left;
  vertical-align: top;
}

th {
  color: #ffffff;
  font-weight: bold;
  padding: 9px;
  border:1px solid #ffffff;
}

td {
  padding: 0;
  border: 1px solid #ffffff;
}

/**********************************************************
 Font, Text
**********************************************************/

h1, h2, h3, h4, h5, h6 {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: normal;
  font-style: normal;
  clear: both;
  font-weight: normal;
  margin: 0;
  line-height: 1;
  display: block;
}
h1 {
  font-size: 32px;
}
h2 {
  font-size: 20px;
  text-align: center;
}
h3 {
  font-size: 18px;
}
h4 {
  font-size: 16px;
}
h5 {
  font-size: 14px;
}

p {
  margin: 0;
  line-height: 1.4;
}

.shippori {
  font-family: "Shippori Mincho", serif !important;
  font-weight: 400 !important;
  font-style: normal !important;
}

/**********************************************************
 Button
**********************************************************/

.btn-green {
  border: 1px solid #375d52;
  color: #375d52;
  padding: 5px 20px;
  text-align: center;
}

.btn-green:hover {
  border: 1px solid #375d52;
  color: #ffffff;
  background: #375d52;
  padding: 5px 20px;
  text-align: center;
}

.btn-green:hover .green-hover {
  content: url(images/common/arrow_fat_white.svg);
}

.btn-fill-green {
  display: inline-block;
  font-size: 20px;
  font-weight: bold;
  color: #ffffff;
  padding: 5px 15px;
  background: #36525d;
  line-height: initial;
  letter-spacing: initial;
}

.btn-fill-green:hover {
  border: 1px solid #375d52;
  color: #375d52;
  background: #ffffff;
}

.btn-fill-green:hover .fill-green-hover {
  content: url(images/common/arrow_fat_green.svg);
}

.btn-white {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 416px;
  min-height: 44px;
  margin: 0 auto;
  color: #000000;
  background-color: #ffffff;
  border: 1px solid #000000;
  font-size: 18px;
  border-radius: 5px;
  position: relative;
}

.btn-white:hover {
  color: #ffffff;
  background-color: #000000;
  border: 1px solid #ffffff;
}

.btn-white:hover .white-hover {
  content: url(images/common/arrow_fat_white.svg);
}

.btn-white img {
  position: absolute;
  right: 20px;
  top: 16px;
}

.btn-area {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

[class^="btn-"]:hover {
  opacity: 1;
}

/**********************************************************
 Container, Layout
**********************************************************/

section {
  padding: 70px 0;
  scroll-margin-top: 100px;
}

main {
  margin-top: 100px;
}

.container {
  max-width: 1090px;
  padding: 0 15px;
  margin: 0 auto;
}

.content-area {
  flex: 1;
}

.right-sidebar {
  margin-top: -60px;
  width: 170px;
  padding: 110px 14px;
  text-align: right;
  position: sticky;
  top: 0;
  color: #d9d9d9;
}

.right-sidebar p {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0 10px;
  font-weight: bold;
  margin-bottom: 0 !important;
  line-height: 1;
}

.map-active {
  fill: #0a543a;
  color: #0a543a;
  position: relative;
  z-index: 10;
}

.right-sidebar .vertical-line {
  margin-right: 3.6px;
  margin-top: -8px;
  margin-bottom: -8px;
}

#resident .right-sidebar .vertical-line {
  margin-right: 3.6px;
  margin-top: -1px;
  margin-bottom: -1px;
}

@media(max-width: 767px) {

  .content-area {
    width: 100%;
  }

  .right-sidebar {
    display: none;
  }

}

/**********************************************************
 Header
**********************************************************/

header {
  height: 100px;
  position: fixed;
  top: 0px;
  width: 100%;
  z-index: 9999;
  background: #ffffff;
}

header .container {
  height: 100%;
  max-width: 1420px;
  padding: 20px 0;
}

header nav #btn-toggler {
  display: none;
}

header nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

header nav .fa-angle {
  display: none;
}

header ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  list-style-type: none;
  gap: 0 20px;
  font-size: 13px;
}

header .menu {
  position: relative;
}

header .menu::after {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 50%;
  width: 0;
  height: 2px;
  background-color: #0A543A;
  transition: width 0.3s ease, left 0.3s ease;
}

header .menu:hover::after {
  width: 50%;
  left: 25%;
}

header .menu a:hover {
  font-weight: bold;
  opacity: 1;
}

header .menu:hover > ul {
  display: block;
}

header .menu ul {
  display: none;
  position: absolute;
  bottom: -140px;
  left: -27px;
  width: 110px;
  background: #ffffff;
  padding: 10px 0 0 0;
}

header #sub-menu-2 {
  bottom: -175px;
  left: -52px;
  width: 160px;
}

header #sub-menu-3 {
  bottom: -210px;
  left: -35px;
  width: 160px;
}

header .menu ul li {
  line-height: 2.5;
  text-align: center;
}

header .btn-area {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

#header #btn-toggler {
  display: none;
}

@media (max-width: 767px) {

  header nav {
    position: relative;
  }

  header nav img:first-child {
    margin-left: 10px;
  }

  #menu-main {
    width: 100%;
    padding: 0 10px;
  }

  .nav-area {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    background: #ffffff;
    text-align: left;
    max-height: 0;
    overflow: hidden;
    transition: max-height 1s ease;
    z-index: 999;
  }

  .nav-area.open {
    max-height: 1000px;
  }

  .menu {
    border-bottom: 1px solid #cccccc;
    padding: 10px 0;
    width: 100%;
    font-weight: bold;
    color: #467065;
    position: relative;
  }

  .menu .fa-angle {
    width: 20px;
    fill: #467065;
    position: absolute;
    right: 0;
    top: 8px;
    display: inline-block;
  }

  .menu a {
    color: #467065;
    display: block;
  }

  .menu ul {
    max-height: 0;
    transition: max-height 0.3s ease;
  }

  .menu:focus-within ul {
    max-height: 500px;
  }

  /***** 以下２つはPCの動きを無効化 *****/
  header .menu::after {
    content: none;
  }

  header .menu:hover > ul {
    display: block;
  }

  header .menu ul {
    position: static;
  }

  header .menu ul li {
    text-align: left;
    font-weight: normal;
  }

  /* ボタン類も縦並び */
  .btn-area {
    flex-direction: column;
    gap: 10px;
    padding: 10px;
    align-items: flex-start !important;
  }

  .nav-area .btn-area .btn-green {
    width: 168px;
  }

  /* メニュー縦並び */
  .dropdown-menu {
    flex-direction: column;
    gap: 0;
  }

  header nav #btn-toggler {
    border: none;
    padding: 0px;
    width: 30px;
    height: 30px;
    box-sizing: border-box;
    position: relative;
    display: block;
    background: none;
  }

  header #btn-toggler .toggler-bar {
    background-image: none;
    background-color: #467065;
    width: 30px;
    height: 3px;
    position: absolute;
    transition: ease .5s;
    margin-right: 10px;
  }

  header #btn-toggler .toggler-bar:nth-of-type(1) {
    top: 4px;
    right: 5px;
  }

  header #btn-toggler .toggler-bar:nth-of-type(2) {
    top: 12px;
    right: 5px;
  }

  header #btn-toggler .toggler-bar:nth-of-type(3) {
    top: 20px;
    right: 5px;
  }

}

/**********************************************************
 Footer
**********************************************************/

#pre-footer {
  background: #f9f9fa;
  padding-bottom: 50px;
}

#pre-footer .container {
  max-width: 930px;
  margin: 0 auto;
}

#pre-footer .container h2 {
  letter-spacing: 3px;
  margin-bottom: 40px;
  font-size: 24px
}

#pre-footer .box {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #ffffff;
  border-radius: 10px;
  text-align: center;
  width: 94%;
  min-height: 210px;
  margin: 0 auto 20px auto;
}

#pre-footer .box h3 {
  font-size: 18px;
  margin-bottom: 30px;
}

#pre-footer .btn-green {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 5px;
  width: 287px;
  height: 42px;
  position: relative;
}

#pre-footer .btn-green img {
  position: absolute;
  right: 15px;
}

footer {
  background: #ffffff;
  line-height: 1;
}

#footer hr {
  margin-bottom: 85px;
}

#footer .right-side {
}

#footer .left-side {
}

#footer .left-side p {
  font-size: 12px;
  margin-bottom: 20px;
}

#footer .left-side .title {
  font-weight: bold;
  font-size: 13px;
}

.col-footer-1 {
  width: 100px;
}

.col-footer-2 {
  width: 100px;
}

.col-footer-3 {
  width: 150px;
}

.col-footer-4 {
  width: 120px;
}

.col-footer-5 {
  width: 140px;
}

.col-footer-6 {
  width: 52px;
}

.col-footer-1 {

}

@media screen and (max-width: 767px) {

  .footer_logo {
    margin: 20px auto;
  }

}

/**********************************************************
 TOP
**********************************************************/

#home #firstview .container {
  position: relative;
  width: 100%;
  max-width: 1420px;
  aspect-ratio: 1420 / 1235;
  margin: 0 auto;
}

#home #firstview .main-title {
  position: absolute;
  top: 22.27%;
  left: 39.44%;
  text-align: center;
}

#home #firstview h1 {
  font-size: 30px;
  font-weight: normal;
  margin-bottom: 30px;
}

#home #firstview img {
  position: absolute;
  height: auto;
  display: block;
  opacity: 0;
}

#home #firstview .image-wrap-07 {
  top: 3.64%;
  left: 0%;
  width: 31.2%;
  z-index: 10;
  animation: fadeInUp .8s ease forwards;
  animation-delay: 0s;
}

#home #firstview .image-wrap-01 {
  top: 0%;
  left: 26.76%;
  width: 27.1%;
  z-index: 9;
  animation: fadeInUp .8s ease forwards;
  animation-delay: .5s;
}

#home #firstview .image-wrap-04 {
  top: 4.86%;
  right: 8.45%;
  width: 21.3%;
  z-index: 8;
  animation: fadeInUp .8s ease forwards;
  animation-delay: 1s;

}

#home #firstview .image-wrap-10 {
  top: 32.39%;
  left: 4.23%;
  width: 24%;
  z-index: 9;
  animation: fadeInUp .8s ease forwards;
  animation-delay: 1.5s;
}

#home #firstview .image-wrap-02 {
  top: 36.45%;
  left: 31.69%;
  width: 38.7%;
  z-index: 10;
  animation: fadeInUp .8s ease forwards;
  animation-delay: 2s;
}

#home #firstview .image-wrap-05 {
  top: 25.94%;
  right: 0%;
  width: 30.7%;
  z-index: 9;
  animation: fadeInUp .8s ease forwards;
  animation-delay: 2.5s;
}

#home #firstview .image-wrap-09 {
  bottom: 34.82%;
  right: 4.93%;
  width: 19%;
  z-index: 10;
  animation: fadeInUp .8s ease forwards;
  animation-delay: 3s;
}

#home #firstview .image-wrap-03 {
  bottom: 5.26%;
  left:0%;
  width: 41%;
  z-index:11;
  animation: fadeInUp .8s ease forwards;
  animation-delay: 3.5s;
}

#home #firstview .image-wrap-08 {
  bottom: 0%;
  left: 44.37%;
  width: 22.1%;
  z-index: 9;
  animation: fadeInUp .8s ease forwards;
  animation-delay: 4s;
}

#home #firstview .image-wrap-06 {
  bottom: 4.05%;
  right: 0%;
  width: 31.8%;
  z-index: 9;
  animation: fadeInUp .8s ease forwards;
  animation-delay: 4.5s;
}

@media (max-width: 1260px) {
  #home #firstview .main-title { left:36.44%; }
}
@media (max-width: 1000px) {
  #home #firstview .main-title { left:34.44%; }
}
@media (max-width: 890px) {
  #home #firstview { padding:15px 0; }
  #home #firstview .container { aspect-ratio:1420/1800; }
  #home #firstview .main-title { top:28%;left:50%;transform:translateX(-50%) !important;width:100%; }
  #home #firstview h1 { margin-bottom:10px; }
  #home #firstview .image-wrap-10 { top:47.39%; left:4.23%; width:24%; z-index:9; }
  #home #firstview .image-wrap-02 { top:51.45%; left:31.69%; width:38.7%; z-index:10; }
  #home #firstview .image-wrap-05 { top:49.94%; right:0%; width:30.7%; z-index:9; }
  #home #firstview .image-wrap-09 { bottom:24.82%; right:4.93%; width:19%; z-index:10; }
  #home #firstview .image-wrap-03 { bottom:9%; left:0%; width:41%; z-index:11; }
  #home #firstview .image-wrap-08 { bottom:0%; left:44.37%; width:22.1%; z-index:9; }
  #home #firstview .image-wrap-06 { bottom:4.05%; right:0%; width:31.8%; z-index:9; }
}

/* Rellax対応 */
.rellax { transform-style: preserve-3d; }

#home #about {
  text-align: center;
  letter-spacing: 5px;
  background: url(images/top/top_about_bg.webp);
  background-repeat: no-repeat;
  background-size: cover;
}

#home #about .circle-area {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  max-width: 780px;
  margin: 0 auto 10px auto;
}

#home #about .logo {
  margin-bottom: 50px;
}

#home #about h2 {
  font-size: 30px;
  font-weight: normal;
  margin-bottom: 60px;
}

#home #about .description {
  margin-bottom: 20px;
}

#home #about .description:last-of-type {
  margin-bottom: 0;
}

#home #city-photo img {
  width: 100%;
  height: 350px;
  object-fit: cover;
  object-position: bottom;
}

#home #information {
  letter-spacing: 5px;
}

#home #information .container .title,
#home #topics .container .title,
#home #business .container .title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
  flex-wrap: wrap;
  gap: 20px 0;
}

#home #information .container .title-with-line,
#home #topics .container .title-with-line,
#home #business .container .title-with-line {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 25px;
}

#home #information .container .title-with-line h2,
#home #topics .container .title-with-line h2,
#home #business .container .title-with-line h2 {
  font-size: 26px;
}

#home #information .container .title-with-line div,
#home #topics .container .title-with-line div,
#home #business .container .title-with-line div {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
}

.hr-title {
  border-top: 1px solid #000000;
  border-bottom: none;
  width: 50px;
}

#home #information {
  padding-bottom: 30px;
}

#home #information .container {
  padding-right: 100px;
}

#home #information .row {
  margin-bottom: 25px;
  max-width: 810px;
  margin: 0 auto 25px 0;
  background: #ffffff;
  border-bottom: 1px solid #000000;
  padding: 20px 0 35px 0;
}

#home #information .col-3,
#home #information .col-9 {
  padding: 0;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

#home #information a:hover {
  opacity: 1;
}

#home #information a:hover .seal-white {
  opacity: 1;
  background: #3f3f3f;
  border: 1px solid #3f3f3f;
  color: #ffffff;
}

#home #information a:hover span,
#home #information a:hover .col-9 {
  color: rgba(0,0,0,0.6);
}

#home #topics {
  text-align: center;
  padding-bottom: 10px;
}

#home #topics .col-liq-3 {
  margin-bottom: 30px;
}

#home #topics .col-liq-3 h3 {
  font-size: 18px;
  font-weight: normal;
}

#home #topics .col-liq-3 p {
  position: relative;
}

#home #topics .col-liq-3 p img {
  position: absolute;
  right: 4px;
  bottom: 4px;
}

#home #topics a:hover {
  opacity: 1;
}

#home #topics .topics-wrap {
  position: relative;
  height: 187px;
  margin-bottom: 20px;
}

#home #topics .topics-wrap::after {
  content: '';
  position: absolute;
  inset: 0;
  background-color: rgba(0,0,0,0.6);
  opacity: 0;
  transition: opacity 0.3s;
}

#home #topics .topics-wrap:hover::after {
  opacity: 1;
}

#home #topics .topics-wrap:hover > span {
  display: inline-block;
  line-height: 1;
}

#home #topics .topics-wrap span {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #ffffff;
  z-index: 100;
}

#home #business {
  padding-bottom: 30px;
}

#home #business h3 {
  font-size: 18px;
}

#home #business .row .col-liq-3 {
  margin-bottom: 40px;
}

#home #business .row .col-liq-3 .title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
}

#home #business .row .main-img {
  width: 100%;
  margin-bottom: 15px;
}

#home #business td {
  padding: 5px 0;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@media (max-width: 767px) {

  #home #about .circle-area img {
    display: block;
    margin: 0 auto;
  }

  #home #information .seal-white {
    padding: 5px;
    font-size: 13px;
  }

  #home #information .col-3 {
    width: 30%;
  }

  #home #information .col-9 {
    width: 70%;
    line-height: 1.4;
  }

  #home #topics .col-liq-3 p {
    max-width: 245px;
    margin: 0 auto;
  }

  #home #city-photo,
  #home #information,
  #home #topics,
  #home #business {
    padding-top: 0;
  }

  #home #information .title-with-line {
    flex-wrap: wrap;
  }

  #home #information .container {
    padding-right: 10px;
  }


}

/**********************************************************
 Company
**********************************************************/

#company #firstview {
  height: 300px;
  padding: 0;
  background: url(images/company/company_header.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
}

#company #firstview .container {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  height: 100%;
  max-width: 940px;
}

#company #firstview h1 {
  font-size: 24px;
  color: #ffffff;
}

#company #greeting {
  padding-bottom: 170px;
}

#company #greeting .container {
  max-width: 890px;
}

#company #greeting .container .sub-title {
  text-align: center;
  margin-bottom: 30px;
  font-size: 14px;
  letter-spacing: 3px;
}

#company #greeting .container h2 {
  font-size: 30px;
  letter-spacing: 5px;
  margin-bottom: 60px;
}

#company #greeting .container p {
  margin-bottom: 25px;
}

#company #greeting .signature {
  text-align: right;
  margin-top: 90px;
}

#company #philosophy {
  background: #f9f9fa;
  text-align: center;
}

#company #philosophy .container {
  padding: 0;
}

#company #philosophy h2 {
  font-size: 24px;
  margin-bottom: 35px;
}

#company #philosophy .container .sub-title {
  text-align: center;
  margin-bottom: 30px;
  font-size: 18px;
  letter-spacing: 3px;
}

#company #philosophy p {
  line-height: 2;
}

#company #philosophy hr {
  border-top: 1px solid #d9d9d9;
  border-bottom: none;
  margin: 70px 0;
}

#company #slogan {
  padding: 0;
}

#company #slogan img {
  width: 100%;
}

#company #information,
#company #history {
  border-bottom: 1px solid #d9d9d9;
}

#company #information h2,
#company #history h2,
#company #map h2 {
  font-size: 24px;
  letter-spacing: 5px;
}

#company #information table,
#company #history table {
  margin: 50px auto 0 auto;
  max-width: 500px;
  color: #595757;
  font-size: 12px;
}

#company #information td {
  padding: 15px 0;
  line-height: 1.6;
}

#company #information td:first-child,
#company #history td:first-child {
  width: 25%;
}

#company #history table {
  max-width: 605px;
}

#company #history td {
  padding: 9px 10px 9px 0;
  line-height: 1.6;
}

#company #map {
  padding-bottom: 0;
}

@media (max-width:767px) {

  #company #greeting {
    padding-bottom: 40px;
  }

  #company #greeting .signature {
    margin-top: 40px;
  }

}

/**********************************************************
 Newslist
**********************************************************/

#newslist h1 {
  color: #3e3e3e;
  font-size: 28px;
  font-weight: bold;
  display: inline-block;
  position: relative;
  margin: 0 auto 50px auto;
}

#newslist h1:before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -10px;
  display: inline-block;
  width: 113px;
  height: 2px;
  -moz-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translate(-50%);
  background-color: #467065;
}

#newslist td {
  vertical-align: middle;
  padding: 10px 0;
}

/**********************************************************
 Service
**********************************************************/

#service section {
  padding: 70px 0 0 0;
}

#service .container {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  max-width: 1200px;
}

#service .content-area {
  max-width: 1030px;
}

#service h2 {
  color: #375d52;
  font-size: 30px;
  text-align: left;
  letter-spacing: 5px;
}

#service h3 {
  font-size: 34px;
  text-align: center;
  line-height: 1.6;
}

#service p {
  line-height: 2;
}

#service .caret-down {
  margin: 25px auto 20px auto;
  display: block;
}

#service .with-seal {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 20px;
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 15px;
  flex-wrap: wrap;
}

#service #firstview {
  height: 300px;
  padding: 0;
  background: url(images/service/service_header.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
}

#service #firstview .container {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  height: 100%;
  max-width: 1050px;
}

#service #firstview h1 {
  font-size: 24px;
  color: #ffffff;
}

#service #introduction h2 {
  margin-bottom: 100px;
}

#service #points .list {
  margin-bottom: 30px;
}

#service #points .list:last-of-type {
 margin-bottom: 0;
}

#service #merit th,
#service #merit td {
 padding: 17px 25px;
}

#service #merit th {
  font-weight: bold;
  text-align: center;
  font-size: 16px;
}

#service #merit td {
  color: #3f3f3f;
  background: #efefef;
}

#service #scheme {
  padding-top: 60px;
  text-align: center;
}

#service #work .col-liq-3,
#service #howto .col-liq-3 {
  margin-bottom: 15px;
}

#service #work .col-liq-3 .thumbnail,
#service #howto .col-liq-3 .thumbnail {
  width: 100%;
  aspect-ratio: 240/173;
  border-radius: 10px;
}

#service #work .col-liq-3 p,
#service #howto .col-liq-3 p {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 16px;
}

.btn-consult {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  color: #375d52;
  font-size: 22px;
  font-weight: bold;
  border: 1px solid #375d52;
  border-radius: 50px;
  width: 470px;
  height: 60px;
  margin: 10px auto 0 auto;
}

#service #work .btn-consult .arrow-green {
  position: absolute;
  right: 25px;
  top: 24px;
}

.btn-consult:hover {
  border: 1px solid #375d52;
  color: #ffffff;
  background: #375d52;
  padding: 5px 20px;
  text-align: center;
}

.btn-consult:hover .green-hover {
  content: url(images/common/arrow_fat_white.svg);
}

#service #broker h2 {
  margin-bottom: 50px;
}

#service #broker th,
#service #howto th {
  vertical-align: middle;
  text-align: center;
  color: #ffffff;
  background: #0a543a;
  height: 120px;
  width: 200px;
  font-size: 20px;
}

#service #broker td,
#service #howto td {
  vertical-align: middle;
  text-align: center;
  line-height: initial;
  font-size: 16px;
}

#service #rent .col-liq-4 {
  margin-bottom: 15px;
}

#service #rent .col-liq-4 .thumbnail {
  width: 100%;
  aspect-ratio: 324/190;
  border-radius: 10px;
}

#service #rent .col-liq-4 p {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 16px;
}

#service #howto td {
 padding: 12px;
}

#service #consulting p:first-of-type {
  margin-bottom: 60px;
}

#service #consulting {
  margin-bottom: 70px;
}

@media(max-width: 767px) {

  #service #firstview {
    height: 200px;
    padding: 0;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }

  #service h2 {
    font-size: 26px;
  }

  #service #introduction h2 {
    margin-bottom: 30px;
  }

  #service h3 {
    font-size: 25px;
  }

  .btn-consult {
    width: 100%;
    height: 60px;
    font-size: 16px;
  }

}

/**********************************************************
 About
**********************************************************/

#about #firstview {
  height: 300px;
  padding: 0;
  background: url(images/about/about_header.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
}

#about #firstview .container {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  height: 100%;
  max-width: 940px;
}

#about #firstview h1 {
  font-size: 24px;
  color: #ffffff;
}

#about #introduction h2 {
  font-size: 30px;
  line-height: 1.8;
  margin-bottom: 40px;
}

#about #introduction p {
  line-height: 2;
  text-align: center;
  margin-bottom: 40px;
}

#about #produce {
  text-align: center;
  letter-spacing: 5px;
  background: url(images/about/produce_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}

#about #produce h2 {
  font-size: 30px;
}

#about .circle-area {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  max-width: 780px;
  margin: 0 auto 30px auto;
}

#about .circle-area > * {
  margin-bottom: 20px;
}

@media (max-width:767px) {

  #about #firstview {
    height: 200px;
    padding: 0;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }

  #about #introduction {
    padding-bottom: 0;
  }

  #about #introduction h2 {
    font-size: 24px;
  }

  #about #produce h2 {
    font-size: 24px;
  }

}

/**********************************************************
 Sustainable
**********************************************************/

#sustainable #firstview {
  height: 300px;
  padding: 0;
  background: url(images/sustainable/sustainable_header.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
}

#sustainable #firstview .container {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  height: 100%;
  max-width: 940px;
}

#sustainable #firstview h1 {
  font-size: 24px;
  color: #ffffff;
  line-height: 1.6;
  letter-spacing: 5px;
}

#sustainable #introduction {
  text-align: center;
  border-bottom: 1px solid #000000;
  padding: 100px 0;
}

#sustainable #introduction p {
  font-size: 18px;
  line-height: 2;
  letter-spacing: 3px;
  margin-bottom: 30px;
}

#sustainable #introduction p:last-of-type {
  margin-bottom: 60px;
}

#sustainable #introduction img:first-of-type {
  max-width: 370px;
}

#sustainable #introduction .icon-area {
  max-width: 650px;
  margin: 20px auto 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

#sustainable #introduction .icon-area img {
  width: 100px;
}

#sustainable #howto {
  padding: 100px 0 0 0;
}

#sustainable #howto .row {
  margin-bottom: 80px;
}

#sustainable #howto .col-liq-6 {
  padding: 0 20px;
}

#sustainable #howto .col-liq-6 img {
  width: 100%;
}

#sustainable #howto h2 {
  text-align: left;
  line-height: 1.4;
  font-size: 26px;
  margin: 0 0 15px 0;
  letter-spacing: 3px;
}

#sustainable #howto p {
  line-height: 1.6;
  margin-bottom: 50px;
}

#sustainable #howto .icon-area {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}

#sustainable #howto .icon-area img {
  width: 60px;
}

@media (max-width:767px) {

  #sustainable #firstview {
    height: 200px;
    padding: 0;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }

  #sustainable #howto .col-liq-6 {
    margin-bottom: 15px;
  }

  #sustainable #howto p {
    margin-bottom: 20px;
  }

}

/**********************************************************
 Rentry
**********************************************************/

#rentry #firstview {
  height: 300px;
  padding: 0;
  background: url(images/rentry/rentry_header.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
}

#rentry #firstview .container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}

#rentry #firstview .container h1 {
  color: #ffffff;
}

#rentry #content h2 {
  font-size: 50px;
  text-align: left;
  margin-bottom: 30px;
}

#rentry #content h3 {
  font-size: 30px;
}

#rentry #content h4 {
  font-size: 21px;
  margin: 60px 0;
}

#rentry #content table {
  line-height: 2;
}

#rentry #content .title-th {
  letter-spacing: 10px;
  padding: 25px;
  background: #3A9827;
  color: #ffffff;
  font-size: 24px;
  text-align: center;
  border-bottom: none;
}

#rentry #content th {
  background: #f6f6f7;
  color: #000000;
  font-size: 20px;
  padding: 25px 40px;
  width: 30%;
  border-bottom: 1px solid #000000;
}

#rentry #content td {
  padding: 25px;
  border-bottom: 1px solid #000000;
}

#rentry .btn-fill-green {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: normal;
  font-size: 30px;
  height: 76px;
  margin: 70px auto 0 auto;
  border-radius: 50px;
  width: 338px;
  position: relative;
}

#rentry .btn-fill-green img {
  position: absolute;
  right: 25px;
  top: 34px;
}

/**********************************************************
 Contact
**********************************************************/

#contact #firstview {
  height: 300px;
  padding: 0;
  background: #F2F5F6;
  position: relative;
}

#contact #firstview .container {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  height: 100%;
}

#contact #firstview h1 {
  font-size: 44px;
  color: #375D52;
}

#contact #content h2 {
  font-size: 50px;
  text-align: left;
  margin-bottom: 30px;
}

#contact #contact h3 {
  font-size: 30px;
}

#contact #content table {
  margin: 60px auto;
  max-width:750px ;
}

#contact #content th {
  color: #000000;
  width: 25%;
}

#contact #content .tel-textbox {
  width: 89px;
  height: 36px;
}

#contact #content .zip-textbox {
  width: 152px;
  height: 36px;
}

#contact #content .textarea-textbox {
  width: 352px;
  height: 80px;
}

#contact input[type=text],
#contact select {
  height: 36px;
  display: inline-block;
  padding: .375rem .75rem;
  font-size: 1rem;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  border: 1px solid #000000;
  border-radius: 0;
}

#contact .wpcf7-submit {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 16px;
  font-weight: bold;
  color: #ffffff;
  padding: 5px 15px;
  background: #36525d;
  line-height: initial;
  letter-spacing: initial;
  border: none;
  width: 200px;
  margin: 0 auto;
}

/**********************************************************
 Rental Management
**********************************************************/

#rental-management {
  color: #3f3f3f;
}

#rental-management #firstview {
  padding: 80px 0;
  background: url(images/rental_management/rental_management_header.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
  text-align: center;
}

#rental-management #firstview h1 {
  font-weight: bold;
  font-size: 40px;
}

#rental-management #firstview h2 {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 25px;
}

#rental-management #firstview .btn-area {
  gap: 50px;
  letter-spacing: 5px;
  margin-top: 50px;
}

#rental-management #firstview .btn-1,
#rental-management #firstview .btn-2 {
  background: #3A9927;
  color: #ffffff;
  border-radius: 80px;
  padding: 10px;
}

#rental-management #firstview .btn-1 .first,
#rental-management #firstview .btn-2 .first {
  font-size: 24px;
}

#rental-management #firstview .btn-1 .second,
#rental-management #firstview .btn-2 .second {
  margin-bottom: 10px;
  font-weight: bold;
  font-size: 24px;
}

#rental-management #firstview .btn-1 .second span,
#rental-management #firstview .btn-2 .second span {
  font-size: 80px;
  font-weight:bold !important;
  line-height: 0.8;
}

#rental-management #firstview .btn-1 .third,
#rental-management #firstview .btn-2 .third {
  font-size: 12px;
}

#rental-management #firstview .btn-1 {
  width: 426px;
}

#rental-management #firstview .btn-2 {
  width: 305px;
}

#rental-management #firstview .box {
  padding: 25px;
  background: #ffffff;
  line-height: 2;
  letter-spacing: 3px;
  max-width: 615px;
  margin: 50px auto 0 auto;
}

#rental-management #firstview .box h3 {
  margin-bottom: 15px;
  font-size: 20px;
  font-weight: bold;
}

#rental-management #ask {
  text-align: center;
}

#rental-management #ask h2 {
  font-size: 40px;
  font-weight: bold;
  letter-spacing: 5px;
  margin-bottom: 60px;
}

#rental-management #ask h3 {
  color: #3a9927;
  font-size: 30px;
  font-weight: bold;
  letter-spacing: 5px;
  margin: 30px auto 40px auto;
}

#rental-management #ask .images {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

#rental-management #feature {
  background: #F9FEF4;
}

#rental-management #feature h2 {
  color: #3a9927;
  font-size: 40px;
  font-weight: bold;
  letter-spacing: 5px;
  margin: 20px auto 60px auto;
}

#rental-management #feature .seal-fill-green,
#rental-management #point5 .seal-fill-green {
  background: #3a9927;
  padding: 5px 25px;
  font-size: 15px;
  font-weight: normal;
  line-height: 1;
  letter-spacing: 1px;
  margin-bottom: 15px;
}

#rental-management #feature h3 {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 20px;
  font-size: 26px;
  font-weight: bold;
  text-align: left;
  line-height: 1.2;
  margin-bottom: 30px;
}

#rental-management #feature .col-liq-6 {
  margin-bottom: 60px;
}

#rental-management #feature .col-liq-6 p {
  line-height: 2;
}

#rental-management #point5 {
  text-align: center;
}

#rental-management #point5 h2 {
  font-size: 40px;
  font-weight: bold;
  margin-bottom: 40px;
  letter-spacing: 5px;
}

#rental-management #point5 p {
  line-height: 2.5;
}

#rental-management .btn-consult .arrow-green {
  position: absolute;
  right: 25px;
  top: 24px;
}

#rental-management #introduction,
#rental-management #plan {
  padding-top: 30px;
}

#rental-management #introduction h2,
#rental-management #plan h2 {
  color: #3A9927;
  font-size: 40px;
  font-weight: bold;
  margin-bottom: 60px;
}

#rental-management #introduction .box {
  border: 1px solid #3A9927;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 317px;
  height: 70px;
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 45px;
}

#rental-management #introduction .box .seal-square-fill-green {
  position: absolute;
  top: -21px;
  left: -21px;
}

#rental-management #introduction .bigbox {
  background: #F9FEF4;
  padding: 20px 40px;
  font-size: 18px;
}

#rental-management #introduction .bigbox .title-area {
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  gap: 40px;
  margin-bottom: 50px;
}

#rental-management #introduction .bigbox h3 {
  font-size: 22px;
  font-weight: bold;
}

#rental-management #introduction .bigbox td {
  font-size: 18px;
  padding: 10px 20px 10px 0;
}

#rental-management #plan .td-title {
  letter-spacing: 5px;
  font-size:24px;
  color: #ffffff;
}

#rental-management #plan th {
  color: #000000;
  background: #f2f2f2;
  font-size: 16px;
  font-weight: normal;
}

#rental-management #plan th,
#rental-management #plan td {
  text-align: center;
  height: 77px;
  vertical-align: middle;
  border: 1px solid #d6d6d6;
}

#rental-management #plan .circle-1 {
  background: #8EC221;
}

#rental-management #plan .circle-2 {
 background: #3A9927;
}

@media (max-width:767px) {

  #rental-management #firstview .btn-area {
    justify-content: center !important;
    gap: 15px 15px;
  }

  #rental-management #firstview .btn-1 {
    width: 100%;
  }

  #rental-management #ask .images {
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
  }

  #rental-management #introduction .box {
    margin: 0 auto 45px auto;
  }

  #rental-management #feature {
    padding-bottom: 0;
  }

  #rental-management #plan .td-title {
    font-size:16px;
    letter-spacing: initial;
  }

  #rental-management #plan th {
    width: 40%;
  }

}

/**********************************************************
 Resident
**********************************************************/

#resident section {
  padding: 50px 0;
  border-bottom: 2px solid #d9d9d9;
}

#resident h2 {
  color: #375D52;
  font-size: 30px;
  text-align: left;
}

#resident h4 {
  margin-top: 60px;
}

#resident #firstview {
  padding: 70px 0;
  background: #F2F5F6;
  border-bottom: 1px solid #d6d6d6;
}

#resident #firstview .container {
  display: block;
  letter-spacing: 2px;
}

#resident #firstview h1 {
  font-size: 44px;
  color: #375D52;
  margin-bottom: 30px;
}

#resident #firstview p {
  font-size: 18px;
  line-height: 2.2;
}

.small-title {
  color: #375D52;
  letter-spacing: 2px;
  margin-bottom: 10px;
}

#resident h4 {
  margin-bottom: 20px;
  font-size: 20px;
  font-weight: bold;
}

#resident p {
  margin-bottom: 10px;
}

#resident .container {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  max-width: 1200px;
}

#resident .content-area {
  max-width: 1030px;
}

#resident #cancel .box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px;
  border-radius: 10px;
  border: 1px solid #375D52;
  padding: 30px;
  color: #375D52;
  font-weight: bold;
  font-size: 20px;
  margin-bottom: 20px;
}

#resident #cancel .col-liq-7 {
  width: 60%;
}

#resident #cancel .col-liq-5 {
  width: 40%;
}

#resident #cancel .insurance-box {
  color: #F68E00;
  border: 1px solid #000000;
  border-radius: 10px;
  padding: 20px 30px;
  font-weight: bold;
}

#resident #cancel .insurance-box .tel {
  font-size: 48px;
}

#resident #cancel .insurance-box p {
  margin-bottom: 0;
}

#resident .btn-fill-green {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: normal;
  position: relative;
  font-size: 14px;
  width: 270px;
  height: 42px;
  line-height: 1;
  border-radius: 5px;
}

#resident .btn-fill-green img {
  position: absolute;
  top: 15px;
  right: 8px;
}

#resident .sub-section {
  font-size: 18px;
  font-weight: bold;
}

#resident .sub-p {
  line-height: 2;
  margin-bottom: 30px;
}

#resident .sub-p:last-of-type {
  margin-bottom: 0;
}

#resident .renew-title {
  font-size: 18px;
  font-weight: bold;
  color: #375D52;
  margin-bottom: 10px;
}

#resident .btn-green {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 5px;
  width: 287px;
  height: 42px;
  position: relative;
}


#resident .btn-green img {
  position: absolute;
  right: 15px;
}

#resident #contact h3 {
  margin: 50px 0;
  font-size: 20px;
  font-weight: bold;
}

#resident #contact .row {
  margin-bottom: 40px;
  align-items: center;
}

#resident .contact-info {
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 10px;
}

#resident .contact-info p {
  margin-bottom: 0;
}

#resident .contact-info p:first-child {
  color: #375D52;
  font-size: 18px;
  font-weight: bold;
}

#resident .contact-info p:nth-child(2) {
  color: #F68E00;
  font-size: 30px;
  font-weight: bold;
  line-height: 1;
}

#resident #contact-info2 h3 {
  font-size: 20px;
  font-weight: bold;
}

@media (max-width:767px) {

  #resident #firstview {
    padding: 20px;
  }

  #resident #firstview h1 {
    font-size: 40px;
  }

  #resident .btn-fill-green,
  #resident .btn-green {
    width: 100%;
  }

  #resident .col-liq-6 {
    margin-bottom: 20px;
  }

  #resident #cancel .col-liq-7,
  #resident #cancel .col-liq-5 {
    width: 100%;
  }

  #resident #cancel .insurance-box {
    padding: 10px;
    margin: 10px 0 40px 0;
  }

  #resident #cancel .insurance-box .tel {
    font-size: 40px;
  }

  #resident .contact-info {
    margin-top: 20px;
    gap: 0;
  }

}

/**********************************************************
 採用情報
**********************************************************/

#recruitment #firstview {
  background: url(images/recruitment/recruitment_header.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
  text-align: center;
  color: #ffffff;
  letter-spacing: 2px;
  height: 680px;
  display: flex;
  justify-content: center;
  align-items: center;
}

#recruitment #firstview h1 {
  font-size: 80px;
  margin-bottom: 40px;
}

#recruitment #firstview p {
  font-size: 30px;
}

#recruitment .title-area {
  max-width: 381px;
}

#recruitment h2 {
  border-bottom: 1px solid #000000;
  font-size: 50px;
  text-align: left;
  padding-bottom: 20px;
  letter-spacing: 5px;
  margin-bottom: 10px;
}

#recruitment h3 {
  font-size: 30px;
  letter-spacing: 4px;
  line-height: 1.6;
  margin-bottom: 40px;
}

#recruitment p {
  letter-spacing: 2px;
  line-height: 1.6;
}

#recruitment .btn-white {
  border-radius: 0;
  max-width: 287px;
  font-size: 14px;
  margin-top: 50px;
}

#recruitment #about {
  padding-top: 120px;
}

#recruitment #about p,
#recruitment #mission p,
#recruitment #message p {
  max-width: 500px;
}

#recruitment .btn-fill-green {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: normal;
  font-size: 30px;
  height: 76px;
  margin: 0 auto;
  border-radius: 50px;
  width: 338px;
  position: relative;
}

#recruitment .btn-fill-green img {
  position: absolute;
  right: 25px;
  top: 34px;
}

@media (max-width:767px) {

  #recruitment .col-liq-6 {
    margin-bottom: 30px;
  }

  #recruitment #mission,
  #recruitment #message {
    padding-top: 0;
  }

  #recruitment #message {
    padding-bottom: 0;
  }

}

/**********************************************************
 メディア掲載
**********************************************************/

#magazines h1 {
  font-size: 36px;
  font-weight: normal;
  margin-bottom: 40px;
  color: #467065;
  line-height: 60px;
  text-align: center;
}

#magazines section {
  padding-top: 0;
}

#magazines .col-liq-4 {
  margin-bottom: 60px;
}

/**********************************************************
 ステキ賃貸
**********************************************************/

#renovation h3 {
  text-align: center;
  font-size: 18px;
  line-height: 2.2;
  margin-top: 25px;
  margin-bottom: 65px;
  color: #3e3e3e;
}

#renovation .col-liq-4 {
  margin-bottom: 50px;
}

#renovation .box {
  border: 1px solid #F0F0F0;
  padding-bottom: 20px;
  max-width: 366px;
  margin: 0 auto;
  height: 100%;
}

#renovation .box img {
  width: 355px;
  height: 266px;
  object-fit: cover;
}

#renovation .box p:first-of-type {
  font-size: 14px;
  max-width: 280px;
  font-weight: bold;
  line-height: 1.6;
  margin-left: 25px;
  margin-bottom: 10px;
}

#renovation .box p:last-of-type {
  font-size: 12px;
  color: #CCCCCC;
  margin-left: 25px;
}

#renovation .single-tag {
  display: inline-block;
  background: #85B755;
  color: #ffffff;
  margin: 10px 5px;
  padding: 4px 9px;
  border-radius: 5px;
  height: 20px;
  font-size: 12px;
  font-weight: bold;
}

#renovation .family-tag {
  display: inline-block;
  background: #32A7E5;
  color: #ffffff;
  margin: 10px 5px;
  padding: 4px 9px;
  border-radius: 5px;
  height: 20px;
  font-size: 12px;
  font-weight: bold;
}

#renovation .dinks-tag {
  display: inline-block;
  background: #DB7EDB;
  color: #ffffff;
  margin: 10px 5px;
  padding: 4px 9px;
  border-radius: 5px;
  height: 20px;
  font-size: 12px;
  font-weight: bold;
}

#renovation .new-tag {
  display: inline-block;
  color: #C7403B;
  border: 1px solid #C7403B;
  margin: 10px 5px;
  padding: 4px 9px;
  border-radius: 5px;
  height: 20px;
  font-size: 12px;
  font-weight: bold;
}

/**********************************************************
 ステキ賃貸詳細
**********************************************************/

#renovation h1 {
  font-size: 24px;
  font-weight: normal;
  margin-bottom: 40px;
}

#renovation p {
  line-height: 2;
}

#renovation td {
  padding: 8px 0;
}

#renovation .col-liq-6 img {
  margin-top: 30px;
  width: 355px;
  height: 266px;
  object-fit: cover;
}

@media (max-width: 767px) {

  #renovation .btn-white {
    font-size: 14px;
  }

}

/**********************************************************
 ギャラリー
**********************************************************/

.ug-arrow-left.ug-skin-default, .ug-arrow-right.ug-skin-default {
  width: 50px !important;
  height: 90px !important;
  background-position: 0px 0px !important;
}

/**********************************************************
 瀬戸内での取り組み
**********************************************************/

#seto {
  text-align: center;
}

#seto h1 {
  font-weight: bold;
  margin-bottom: 37px;
  color: #467065;
  line-height: 60px;
}

#seto img {
  display: block;
  margin: 0 auto 47px auto;
}

#seto p {
  font-size: 16px;
  line-height: 2;
  margin-bottom: 7px;
}

#seto .map {
  border: 2px solid #eaeaea;
  margin-top: 90px;
}

/**********************************************************
 瀬戸内サブ
**********************************************************/

.seto-header {
  width: 100%;
}

.nv_acv {
  background-color: #eef2f4;
  padding-top: 45px;
  padding-bottom: 60px;
}

.nv_acv__row {
  margin-right: -20px;
  margin-top: 20px;
  margin-bottom: 60px;
}

.nv_acv__row:before,
.nv_acv__row:after {
  content: " ";
  display: table;
  line-height: 0;
}

.nv_acv__row:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}

.nv_acv__col {
  width: 33.333%;
  float: left;
  padding-right: 20px;
  margin-top: 50px;
}

.nv_acv__col:first-child {
  margin-top: 0;
}

.nv_acv__col:nth-child(2),
.nv_acv__col:nth-child(3) {
  margin-top: 0;
}

.nv_art {
  background-color: #fff;
  position: relative;
}

.nv_art__link {
  display: block;
  text-decoration: none;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.nv_art__link:hover {
  text-decoration: none;
}

.nv_art__figures {
  padding-bottom: 66.666%;
  position: relative;
}

.nv_art__figures__item {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.nv_art__figures__item__inner {
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  -webkit-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.nv_art__figures__item__inner img {
  display: none;
}

.nv_art__figures__item--half {
  width: 50%;
}

.nv_art__figures__item--half:first-child .nv_art__figure__item__inner {
  transform-origin: right center;
}

.nv_art__figures__item--half:last-child {
  left: 50%;
}

.nv_art__figures__item--half:last-child .nv_art__figure__item__inner {
  transform-origin: left center;
}

.nv_art__head {
  padding: 20px 120px 20px 30px;
  position: relative;
}

.nv_art__ttl {
  line-height: 140%;
  font-family: 'Noto Sans Japanese',  sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 500;
  letter-spacing: 0;
  font-size: 12px;
}

.nv_art__readmore {
  position: absolute;
  right: 0;
  bottom: 10px;
  width: 110px;
  color: #bec7cd;
  font-family: 'Noto Sans Japanese',  sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 100%;
  font-size: 12px;
}

.nv_art__body::after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(250, 255, 254, 0.93);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  border: 1px solid #278948;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -ms-filter: "alpha(opacity=0)";
  filter: alpha(opacity=0);
  -moz-opacity: 0;
  opacity: 0;
}

.nv_art__link:hover .nv_art__body::after {
  -ms-filter: "alpha(opacity=100)";
  filter: alpha(opacity=100);
  -moz-opacity: 1;
  opacity: 1;
}

.nv_art__body__ctt {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  text-align: center;
  z-index: 2;
  min-width: 90%;
  padding-left: 20px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -ms-filter: "alpha(opacity=0)";
  filter: alpha(opacity=0);
  -moz-opacity: 0;
  opacity: 0;
}

.nv_art__link:hover .nv_art__body__ctt {
  -ms-filter: "alpha(opacity=100)";
  filter: alpha(opacity=100);
  -moz-opacity: 1;
  opacity: 1;
}

.nv_art__name {
  font-family: 'Noto Sans Japanese',  sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 350;
  font-weight: 400;
  font-size: 12px;
  letter-spacing: -0.025em;
}

.nv_art__copy {
  font-family: 'Noto Sans Japanese',  sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 350;
  font-weight: 400;
  font-size: 18px;
  letter-spacing: -0.05em;
  line-height: 171.42857143%;
  margin-top: 10px;
}

.nv_art__sub {
  margin-top: 20px;
  text-align: right;
  font-family: 'Noto Sans Japanese',  sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 12px;
  letter-spacing: -0.025em;
  overflow: hidden;
}

.nv_art__sub__inner {
  display: inline-block;
  position: relative;
}

.nv_art__sub__inner::before {
  content: '';
  display: block;
  width: 60px;
  height: 1px;
  background-color: #000;
  position: absolute;
  top: 50%;
  left: -70px;
  -webkit-transform: translate(0, -50%);
  -moz-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
}

.newvision {
  padding-top: 60px;
  padding-bottom: 120px;
  background-color: #eef2f4;
  min-height: 100vh;
}

.nv_hero {
  background-repeat: no-repeat;
  background-position: center center;
  -webkit-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  height: 444px;
}

.nv_hero img {
  display: none;
}

.nv_head {
  position: relative;
  -webkit-transform: translateY(-80px);
  -moz-transform: translateY(-80px);
  -ms-transform: translateY(-80px);
  transform: translateY(-80px);
}

.nv_head__inner {
  max-width: 1207px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 10px;
  padding-right: 10px;
  position: relative;
}

.nv_head__inner::after {
  content: '';
  display: block;
  background-color: rgba(240, 249, 246, 0.92);
  width: 220px;
  height: 100%;
  position: absolute;
  right: 50%;
  top: 0;
  z-index: 1;
}

.nv_head__ctt {
  padding: 50px 0 50px 39.42712721%;
  position: relative;
  z-index: 2;
}

.nv_head__ctt__inner {
  padding-left: 90px;
  border-left: 1px solid #000;
}

.nv_head__ttl {
  font-family: 'Noto Sans Japanese',  sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 0;
  color: #333;
  margin-bottom: 25px;
}

.nv_head__lead {
  font-family: 'Noto Sans Japanese',  sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 350;
  font-weight: 400;
  font-size: 11px;
  letter-spacing: 0;
  line-height: 200%;
  color: #333;
}

.nv_head::after {
  content: '';
  display: block;
  background-color: rgba(240, 249, 246, 0.92);
  width: 50%;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

.nv_ctt {
  padding-top: 55px;
  padding-bottom: 60px;
}

.nv_ctt__inner {
  max-width: 1187px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 30px;
  padding-right: 30px;
}

.nv_ctt__inner:before,
.nv_ctt__inner:after {
  content: " ";
  display: table;
  line-height: 0;
}

.nv_ctt__inner:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}

.nv_ctt__item {
  width: 50%;
  margin-bottom: 10%;
}

.nv_ctt__item:before,
.nv_ctt__item:after {
  content: " ";
  display: table;
  line-height: 0;
}

.nv_ctt__item:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}

.nv_ctt__item.mb_large {
  margin-bottom: 15%;
}

.nv_ctt__item.mb_small {
  margin-bottom: 5%;
}

.nv_ctt__item img {
  width: 100%;
}

.nv_ctt__item:last-child {
  margin-bottom: 0;
}

.nv_ctt__item:nth-child(2) {
  margin-top: 25%;
}

.nv_ctt__item.odd {
  float: left;
  padding-right: 35px;
}

.nv_ctt__item.even {
  float: right;
  padding-left: 35px;
}

.nv_ctt__item__inner {
  width: 100%;
}

.vertical .nv_ctt__item__inner {
  width: 66.98113208%;
}

.odd .nv_ctt__item__inner {
  float: right;
}

.even .nv_ctt__item__inner {
  float: left;
}

.nv_ctt__item__movie {
  padding-bottom: 56.25%;
  position: relative;
}

.nv_ctt__item__movie__inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.nv_ctt__item__movie iframe {
  width: 100%;
  height: 100%;
}

.nv_ctt__item__txt {
  margin-top: 13px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 300;
  font-size: 12px;
  letter-spacing: 0;
  color: #333;
  line-height: 133.333%;
}

.nv_next {
  height: 325px;
  position: relative;
}

.nv_next__link:hover {
  text-decoration: none;
}

.nv_next__inner {
  position: relative;
  z-index: 3;
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 10px;
  height: 100%;
}

.nv_next__inner:before,
.nv_next__inner:after {
  content: " ";
  display: table;
  line-height: 0;
}

.nv_next__inner:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}

.nv_next__head {
  float: right;
  padding-top: 95px;
  padding-bottom: 37px;
}

.nv_next__head:before,
.nv_next__head:after {
  content: " ";
  display: table;
  line-height: 0;
}

.nv_next__head:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}

.nv_next__ttl {
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
  font-family: 'Noto Sans Japanese',  sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 350;
  font-weight: 400;
  font-size: 12px;
  float: left;
  /*padding-right: 40px;*/
  margin-right: 40px;
  /*border-right: 1px solid #000;*/
  height: 40px;
  line-height: 40px;
}

.nv_next__link:hover .nv_next__ttl {
  color: #fff;
  /*border-right: 1px solid #fff;*/
}

.nv_next__lead {
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
  font-family: 'Noto Sans Japanese',  sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 500;
  font-size: 18px;
  float: left;
  height: 40px;
  line-height: 40px;
}

.nv_next__link:hover .nv_next__lead {
  color: #fff;
}

.nv_next__more {
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 350;
  font-weight: 400;
  font-size: 14px;
  text-align: right;
  padding-top: 10px;
}

.nv_next__link:hover .nv_next__more {
  color: #fff;
}

.nv_next__copy {
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 350;
  font-weight: 400;
  font-size: 20px;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  margin-bottom: 25px;
  line-height: 2;
}

.nv_next__link:hover .nv_next__copy {
  color: #fff;
}

.nv_next__copy br {
  display: none;
}

.nv_next__bgimg {
  background-repeat: no-repeat;
  background-position: center center;
  -webkit-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  filter: grayscale(100%);
  z-index: 1;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.nv_next__bgcolor {
  background-color: rgba(255, 255, 255, 0.88);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.nv_next__link:hover .nv_next__bgcolor {
  background-color: rgba(255, 255, 255, 0);
}

.nv_all {
  font-family: 'Noto Sans Japanese',  sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 350;
  font-weight: 400;
  font-size: 12px;
  letter-spacing: 0;
  height: 60px;
  line-height: 60px;
}

.nv_all__link {
  display: block;
  background-color: #eef2f4;
  text-align: center;
}

.nv_all__link:hover {
  text-decoration: none;
}

#philosophy {
  background:url(/wp-content/themes/wp-bootstrap-starter/images/top-concept.jpg) center no-repeat;
}

#philosophy .container {
  padding-top:120px;padding-bottom:90px;
}

@media (max-width: 767px) {

#philosophy {
  background:url(/wp-content/themes/wp-bootstrap-starter/images/our_bk_sp.jpg) center no-repeat;
}

#philosophy .container {
  padding-top:120px;padding-bottom:120px;
}

.nv_acv__row {
  margin-top: 30px;
  margin-right: 0;
  margin-bottom: 30px;
}

.nv_acv__col {
  width: 100%;
  float: none;
  padding-right: 0;
  margin-top: 30px;
}

.nv_acv__col:first-child {
  margin-top: 0;
}

.nv_acv__col:nth-child(2),
.nv_acv__col:nth-child(3) {
  margin-top: 30px;
}

.nv_art__head {
  padding: 10px 15px;
}

.nv_art__readmore {
  position: static;
  margin-top: 10px;
  text-align: right;
  width: auto;
}

.newvision {
  padding-top: 0;
  padding-bottom: 60px;
}

.nv_hero {
  height: 288px;
}

.nv_head {
  -webkit-transform: translateY(-30px);
  -moz-transform: translateY(-30px);
  -ms-transform: translateY(-30px);
  transform: translateY(-30px);
  padding-left: 20px;
}

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

.nv_head__inner::after {
  display: none;
}

.nv_head__ctt {
  background-color: rgba(240, 249, 246, 0.92);
  padding: 15px 20px 30px 30px;
}

.nv_head__ctt__inner {
  padding-left: 0;
  border-left: none;
}

.nv_head__ttl {
  margin-bottom: 10px;
}

.nv_head::after {
  display: none;
}

.nv_ctt {
  padding-top: 0;
  padding-bottom: 30px;
}

.nv_ctt__inner {
  padding-left: 20px;
  padding-right: 20px;
}

.nv_ctt__item {
  width: 100%;
  margin-bottom: 25px;
}

.nv_ctt__item.mb_large {
  margin-bottom: 25px;
}

.nv_ctt__item.mb_small {
  margin-bottom: 25px;
}

.nv_ctt__item:nth-child(2) {
  margin-top: 0;
}

.nv_ctt__item.odd {
  float: none;
  padding-right: 0;
}

.nv_ctt__item.even {
  float: none;
  padding-left: 0;
}

.vertical .nv_ctt__item__inner {
  width: 100%;
}

.nv_next {
  padding-top: 55px;
  padding-bottom: 50px;
  height: auto;
}

.nv_next__inner {
  padding: 0 20px;
}

.nv_next__head {
  float: none;
  padding-top: 0;
}

.nv_next__ttl {
  padding-right: 15px;
  height: 20px;
  line-height: 20px;
}

.nv_next__lead {
  float: right;
  height: 20px;
  line-height: 20px;
}

.nv_next__copy {
  position: static;
  top: auto;
  left: auto;
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
  margin-top: 25px;
}

}

#others {
  background-image: url(images/morino/seto_footer.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}

#others::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0.8);
  z-index: 0;
}

#others > * {
  position: relative;
  z-index: 1;
}

/**********************************************************
 Contact
**********************************************************/

/**********************************************************
 解約申請フォーム
**********************************************************/

#kaiyaku {
  padding-top: 0;
}

#kaiyaku h1 {
  font-size: 36px;
  font-weight: normal;
  color: #467065;
  line-height: 60px;
  margin-bottom: 32px;
  text-align: center;
}

#kaiyaku .container {
  max-width: 820px;
  padding-left: 7.5px;
  padding-right: 7.5px;
}

#kaiyaku h3 {
  font-size: 20px;
  color: #467065;
  margin-bottom: 17px;
}

#kaiyaku p {
  line-height: 2;
}

#kaiyaku .row {
  margin-bottom: 15px;
  margin-left: -7.5px;
  margin-right: -7.5px;
}

#kaiyaku .col-liq-4,
#kaiyaku .col-liq-8 {
  padding: 0 7.5px;
}

#kaiyaku .col-md-4 {
  font-weight: bold;
}

.pointing {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 235px;
  height: 50px;
  position: relative;
  background: #467065;
  color: #ffffff;
  font-size: 15px;
  font-weight: bold;
  margin: 0 auto 15px auto;
}

.pointing:before {
  content: "";
  position: absolute;
  right: -25px;
  bottom: 0;
  width: 0;
  height: 0;
  border-left: 25px solid #467065;
  border-top: 25px solid transparent;
  border-bottom: 25px solid transparent;
}

.pointing-opacity {
  opacity: 0.2;
}

.t-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  background: #f5f5f5;
  padding: 15px 15px 5px 15px;
  width: 100%;
  height: 100%;
}

.col-liq-4 .t-box {
  padding: 15px;
}

.t-box-j {
  justify-content: flex-start;
}

.red-badge {
  width: 50px;
  height: 30px;
  display : -webkit-inline-box;
  display : -ms-inline-flexbox;
  display : -webkit-inline-flex;
  display : inline-flex;
  justify-content: center;
  align-items: center;
  color: #ffffff;
  font-weight: bold;
  background: #DB2323;
  font-size: 14px;
}

#kaiyaku .wpcf7-form-control {
  width: initial;
  border: 1px solid #cccccc;
  height: 32px;
  padding:5px;
}

#kaiyaku .wpcf7-radio {
  border: none;
}

#kaiyaku span.wpcf7-list-item {
  display: inline-block;
  margin: 0 0 25px 0;
  width: 33%;
}

.sp-show {
  display: none;
}

#kaiyaku .wpcf7-form-control:disabled, .wpcf7-form-control[readonly] {
  border: none !important;
  background-color: #f5f5f5 !important;
}

@media (max-width: 767px) {

  #kaiyaku .wpcf7-form-control:disabled, .wpcf7-form-control[readonly] {
    border: none !important;
    margin-bottom: 0 !important;
    background: #f5f5f5 !important;
  }

  input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px #f5f5f5 inset;
  }

  #kaiyaku .wpcf7-form-control {
    margin-bottom: 10px;
  }

  #kaiyaku span.wpcf7-list-item {
    width: 50%;
  }

  .sp-show {
    display: block;
  }

}

#kaiyaku #bank span.wpcf7-list-item {
  display: inline-block;
  margin: 0 20px 0 0;
  width: 55px;
}

#kaiyaku .btn-fill-green {
  border-radius: 5px;
  display: block;
  margin: 0 auto;
}

#kaiyaku .wpcf7-checkbox {
  background: none;
  border: none;
}

#kaiyaku input[type=submit] {
  width: 260px;
  height: 55px;
}

#kaiyaku .notyet span.wpcf7-list-item {
  display: inline-block;
  margin: 0 0 25px 0;
  width: initial;
}

#kaiyaku select.wpcf7-form-control:not([size]):not([multiple]) {
  padding: 0.1rem .75rem;
}

#kaiyaku .wpcf7-back {
  width: 260px;
  height: 55px;
  display: block;
  margin: 0 auto;
  color: #ffffff;
  background-color: #467065;
  font-size: 16px;
  font-weight: bold;
  padding: 8px 0;
  text-align: center;
  border-radius: 5px;
  border: none;
}

#kaiyaku .agree span.wpcf7-list-item {
  display: inline-block;
  margin: 0 0 25px 0;
  width: initial;
  text-align: center;
}

.wpcf7c-conf {
  background-color: #F5F5F5;
  border: none;
}

input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #f5f5f5 inset;
}

input[type=email] {
  max-width: 320px;
}

input::-webkit-calendar-picker-indicator{
    display: none;
}

#kaiyaku input[type=text].wpcf7-form-control {
  max-width: 320px;
}

#kaiyaku .s_input {
  max-width: 80px !important;
}

input[type="date"]::-webkit-inner-spin-button{
  -webkit-appearance: none;
}
input[type="date"]::-webkit-clear-button{
  -webkit-appearance: none;
}

#kaiyaku input[type=date] {
  width: 150px !important;
}

/**********************************************************
 スライドページ（実質カスタムポスト）
**********************************************************/

#slideshow h2 {
  font-size: 24px;
  font-weight: bold;
  text-align: left;
  margin-bottom: 40px;
}

.ug-item-wrapper {
  max-width: 720px !important;
  height: 450px !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  border-radius: 5px;
}

/**********************************************************
 投稿ページ
**********************************************************/

.post-content-area {
  padding: 0 15px;
  flex: 1;
}

.post-content-area img {
  max-width: 100%;
}

.post-right-sidebar {
  width: 180px;
  padding: 0 15px;
}

.post-right-sidebar .sidebar-title {
  font-size: 18px;
  border-bottom: 4px solid #467065;
  padding-bottom: 8px;
  margin-top: 20px;
  margin-bottom: 30px !important;
}

.single-p .above-title {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 40px;
  margin-bottom: 20px;
}

.single-p p {
  line-height: 2;
}

.with-border {
  font-size: 26px;
  font-weight: normal;
  border-bottom: 2px solid #000000;
  padding-bottom: 25px;
  margin-bottom: 35px;
}

ul#menu, ul.sub-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

#menu {
  width: 160px;
}

.main-menu {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
  font-size: 16px;
  padding: 13px 0;
  cursor: pointer;
  width: 160px;
  height: 40px;
}

.sub-menu {
  display: none;
}

.sub-menu li {
  padding: 10px 0;
  width: 180px;
  height: auto;
}

.sub-menu li a {
  font-size: 14px;
  line-height: 1.6;
  display: block;
}

/**********************************************************
 Misc
**********************************************************/

.seal-white {
  display: inline-block;
  padding: 5px 20px;
  border: 1px solid #000000;
  line-height; 1;
  letter-spacing: initial;
}

.seal-fill-green {
  display: inline-block;
  font-size: 16px;
  font-weight: bold;
  color: #ffffff;
  padding: 5px 15px;
  background: #36525d;
  line-height: initial;
  letter-spacing: initial;
  border-radius: 5px;
}

.seal-square-fill-green {
  width: 42px;
  height: 42px;
  font-weight: bold;
  font-size: 26px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #3A9927;
  color: #ffffff;
  line-height: 1;
}

.circle {
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: inline-block;
}


/**********************************************************
* レスポンシブ
**********************************************************/

/***** 通常 *****/

.sp-hide {
  display: block !important;
}

.sp-show {
  display : none !important;
}

@media screen and (max-width: 1080px) {

  .sp-hide {
    display: none !important;
  }

  .sp-show {
    display : block !important;
  }

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

}

/***** grid *****/

.row {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  margin: 0 -10px;
}

.column-reverse {
  flex-direction: column-revese;
}

.left-item {
  order: -1;
}

.right-item {
  order: 1;
}

.col-2,
.col-liq-2 {
  width: 16.66%;
  padding: 0 10px;
}

.col-3,
.col-liq-3 {
  width: 25%;
  padding: 0 10px;
}

.col-4,
.col-liq-4 {
  width: 33.3333%;
  padding: 0 10px;
}

.col-5,
.col-liq-5 {
  width: 41.6666%;
  padding: 0 10px;
}

.col-6,
.col-liq-6 {
  width: 50%;
  padding: 0 10px;
}

.col-7,
.col-liq-7 {
  width: 58.3333%;
  padding: 0 10px;
}

.col-8,
.col-liq-8 {
  width: 66.6666%;
  padding: 0 10px;
}

.col-9,
.col-liq-9 {
  width: 75%;
  padding: 0 10px;
}

.col-10,
.col-liq-10 {
  width: 80%;
  padding: 0 10px;
}

@media (max-width: 767px) {

  .column-reverse {
    flex-direction: column-revese;
  }

  .left-item {
    order: 1;
  }

  .right-item {
    order: -1;
  }

  .col-liq-2,
  .col-liq-3,
  .col-liq-4,
  .col-liq-5,
  .col-liq-6,
  .col-liq-7,
  .col-liq-8,
  .col-liq-9,
  .col-liq-10 {
    width: 100%;
  }

}
