@charset "UTF-8";
/*!
 * ress.css • v4.0.0
 * MIT License
 * github.com/filipelinhares/ress
 */
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@100..900&family=Noto+Sans+JP:wght@100..900&display=swap");
html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  word-break: normal;
  -moz-tab-size: 4;
  -o-tab-size: 4;
     tab-size: 4;
}

*, :after, :before {
  background-repeat: no-repeat;
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

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

* {
  padding: 0;
  margin: 0;
}

hr {
  overflow: visible;
  height: 0;
  color: inherit;
}

details, main {
  display: block;
}

summary {
  display: list-item;
}

small {
  font-size: 80%;
}

[hidden] {
  display: none;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

a {
  background-color: transparent;
}

a:active, a:hover {
  outline-width: 0;
}

code, kbd, pre, samp {
  font-family: monospace, monospace;
}

pre {
  font-size: 1em;
}

b, strong {
  font-weight: bolder;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

table {
  border-color: inherit;
  text-indent: 0;
}

input {
  border-radius: 0;
}

[disabled] {
  cursor: default;
}

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

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

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

textarea {
  overflow: auto;
  resize: vertical;
}

button, input, optgroup, select, textarea {
  font: inherit;
}

optgroup {
  font-weight: 700;
}

button {
  overflow: visible;
}

button, select {
  text-transform: none;
}

[role=button], [type=button], [type=reset], [type=submit], button {
  cursor: pointer;
  color: inherit;
}

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

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button:-moz-focusring {
  outline: 1px dotted ButtonText;
}

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

button, input, select, textarea {
  background-color: transparent;
  border-style: none;
}

a:focus, button:focus, input:focus, select:focus, textarea:focus {
  outline-width: 0;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
}

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

select::-ms-value {
  color: currentColor;
}

legend {
  border: 0;
  color: inherit;
  display: table;
  white-space: normal;
  max-width: 100%;
}

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

img {
  border-style: none;
}

progress {
  vertical-align: baseline;
}

[aria-busy=true] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled=true] {
  cursor: default;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

body {
  background: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  color: #3F3E3D;
  word-wrap: break-word;
}
@media screen and (max-width: 600px) {
  body {
    line-height: 1.6em;
  }
}

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

a {
  color: #3F3E3D;
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
a:hover {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  text-decoration: none;
}

li {
  list-style: none;
}

.flb_sb, .topnews .inner, .topnews .footnav ul, .footnav .topnews ul, .contact .field dt, .contact .field, .newslist li, .spnav .navhead, header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.flb_ct, .topnews, .topmember, .topservice, .btnmore, .formbtn li, .formbtn, .news .wp-pagenavi a, .news .wp-pagenavi span, .news .wp-pagenavi, .news .btn, .pagetop, .footnav ul, .conarea .more, .spnav ul li.con a, header ul li.con a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.flb_st, .policynav li a, .policynav, .member .list .website dd, .member .list .website dt, .member .list .office dt, .member .list .office, .company dl, .scttl, .service .box .ttl, .service .box .num, .servicenav li a, .membernav li a, .servicenav, .membernav, footer .map, header .ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.flb_ed, .member .list .website, header ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.pc {
  display: block;
}
@media screen and (max-width: 600px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media screen and (max-width: 600px) {
  .sp {
    display: block;
  }
}

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

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes rotateAnimation {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes rotateAnimation {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@-webkit-keyframes scroll-down {
  0% {
    -webkit-transform: translate(-50%, -0.5vh);
            transform: translate(-50%, -0.5vh);
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  70% {
    -webkit-transform: translate(-50%, 2.5vh);
            transform: translate(-50%, 2.5vh);
    opacity: 1;
  }
  100% {
    -webkit-transform: translate(-50%, 4.5vh);
            transform: translate(-50%, 4.5vh);
    opacity: 0;
  }
}
@keyframes scroll-down {
  0% {
    -webkit-transform: translate(-50%, -0.5vh);
            transform: translate(-50%, -0.5vh);
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  70% {
    -webkit-transform: translate(-50%, 2.5vh);
            transform: translate(-50%, 2.5vh);
    opacity: 1;
  }
  100% {
    -webkit-transform: translate(-50%, 4.5vh);
            transform: translate(-50%, 4.5vh);
    opacity: 0;
  }
}
/* 共通 */
body.is-fixed {
  position: fixed;
  width: 100%;
  overflow: hidden;
}

.inner, .footnav ul {
  width: min(100% - 40px, 1200px);
  margin: auto;
}

/* ヘッダー */
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.6)), to(rgba(0, 0, 0, 0)));
  background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0));
  padding: 1.5625vw 2.6041666667vw;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 998;
}
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  header {
    padding-bottom: 3.125vw;
  }
}
@media screen and (max-width: 600px) {
  header {
    padding: 2.6666666667vw 2.6666666667vw 30px;
  }
}
header .ttl {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 960px) {
  header .ttl {
    display: block;
  }
}
header .logo {
  display: block;
  width: clamp(132px, 16.75%, 201px);
  margin-right: 4.0625vw;
}
@media screen and (max-width: 600px) {
  header .logo {
    margin-right: 0;
  }
}
header .logo img {
  -webkit-filter: drop-shadow(0 3px 20px rgba(0, 0, 0, 0.6));
          filter: drop-shadow(0 3px 20px rgba(0, 0, 0, 0.6));
}
header p {
  color: #fff;
  font-size: clamp(0.625rem, 0.575rem + 0.25vw, 0.875rem);
  font-weight: 400;
  text-shadow: 0 3px 20px rgba(0, 0, 0, 0.6);
  line-height: 1.65em;
}
@media screen and (max-width: 600px) {
  header p {
    font-weight: 500;
  }
}
header p span {
  display: inline-block;
}
@media screen and (max-width: 600px) {
  header p span {
    font-weight: 500;
  }
}
header ul {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 600px) {
  header ul {
    display: none;
  }
}
header ul li {
  font-family: "Montserrat", sans-serif;
  font-size: clamp(1rem, 0.975rem + 0.125vw, 1.125rem);
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-left: 2.6041666667vw;
  text-shadow: 0 3px 20px rgba(0, 0, 0, 0.6);
}
header ul li a {
  display: block;
  font-weight: 500;
  position: relative;
  color: transparent;
  text-shadow: 0 -1.5em 0 #fff, 0 0 0 #fff;
  -webkit-transition: text-shadow 0.3s;
  transition: text-shadow 0.3s;
  overflow: hidden;
}
header ul li a:hover {
  text-shadow: 0 0 0 #fff, 0 1.5em 0 #fff;
}
header ul li.con {
  text-shadow: none;
}
header ul li.con a {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: clamp(120px, 9.8vw, 190px);
  height: 54px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.8);
  color: #3F3E3D;
  text-shadow: none;
}
header ul li.con a::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #3F3E3D;
  margin-right: 1.0416666667vw;
}
header ul li.con a::after {
  content: none;
}
header ul li.con a:hover {
  background: #3F3E3D;
  color: #fff;
  text-shadow: none;
}
header ul li.con a:hover::before {
  background: #fff;
}
header .menubtn {
  display: none;
  width: 16vw;
  cursor: pointer;
}
@media screen and (max-width: 600px) {
  header .menubtn {
    display: block;
  }
}

/* スマホナビ */
.spnav {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  background: #fff;
  z-index: 999;
}
@media screen and (max-width: 600px) {
  .spnav {
    padding-bottom: 17.3333333333vw;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
  }
}
.spnav .navhead {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  padding: 2.6666666667vw 2.6666666667vw 5.3333333333vw 5.3333333333vw;
}
.spnav .logo {
  -webkit-filter: brightness(70%) invert(1);
          filter: brightness(70%) invert(1);
  display: block;
  width: clamp(132px, 16.75%, 201px);
}
.spnav .menubtn {
  width: 16vw;
  cursor: pointer;
}
.spnav ul {
  padding: 0 5.3333333333vw;
}
.spnav ul li {
  border-top: #979797 1px solid;
  font-family: "Montserrat", sans-serif;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.1em;
}
.spnav ul li span {
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12px;
  font-weight: 400;
  margin-top: 4.5px;
}
.spnav ul li a {
  display: block;
  padding: 5.3333333333vw 2.6666666667vw;
}
.spnav ul li.con {
  border-top: 0;
  padding-top: 8vw;
}
.spnav ul li.con a {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 65px;
  border-radius: 8px;
  background: #3F3E3D;
  color: #fff;
}
.spnav ul li.con a::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #fff;
  margin-right: 8vw;
}
.spnav ul li.con a span {
  display: block;
  font-size: 12px;
  margin-left: 20px;
  margin-top: 0;
}

/* フッター */
.conarea {
  text-align: center;
  background: #3F3E3D;
  padding: 6.25vw 0;
  width: 100%;
}
@media screen and (max-width: 600px) {
  .conarea {
    padding: 32vw 0 16vw;
  }
}
.conarea .inner::before, .conarea .footnav ul::before, .footnav .conarea ul::before, .conarea .inner::after, .conarea .footnav ul::after, .footnav .conarea ul::after {
  content: "";
  display: block;
  width: 1px;
  height: 2.6041666667vw;
  background: #fff;
}
@media screen and (max-width: 600px) {
  .conarea .inner::before, .conarea .footnav ul::before, .footnav .conarea ul::before, .conarea .inner::after, .conarea .footnav ul::after, .footnav .conarea ul::after {
    height: 6.6666666667vw;
  }
}
.conarea .inner::before, .conarea .footnav ul::before, .footnav .conarea ul::before {
  margin: 0 auto 2.8125vw;
}
@media screen and (max-width: 600px) {
  .conarea .inner::before, .conarea .footnav ul::before, .footnav .conarea ul::before {
    margin-bottom: 7.2vw;
  }
}
.conarea .inner::after, .conarea .footnav ul::after, .footnav .conarea ul::after {
  margin: 2.8125vw auto 0;
}
@media screen and (max-width: 600px) {
  .conarea .inner::after, .conarea .footnav ul::after, .footnav .conarea ul::after {
    margin-top: 7.2vw;
  }
}
.conarea h2 {
  font-size: clamp(1.5rem, 1.45rem + 0.25vw, 1.75rem);
  font-weight: 500;
  letter-spacing: 0.1em;
  padding-bottom: 1.0416666667vw;
  color: #eee;
}
@media screen and (max-width: 600px) {
  .conarea h2 {
    padding-bottom: 2.6666666667vw;
  }
}
.conarea h2 span {
  display: block;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(1.25rem, 1.15rem + 0.5vw, 1.75rem);
  font-weight: 500;
  opacity: 0.8;
  margin-bottom: 3.125vw;
}
@media screen and (max-width: 600px) {
  .conarea h2 span {
    margin-bottom: 8vw;
  }
}
.conarea h3 {
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-size: clamp(0.75rem, 0.725rem + 0.125vw, 0.875rem);
  letter-spacing: 0.1em;
  color: #eee;
  padding-bottom: 2.6041666667vw;
}
@media screen and (max-width: 600px) {
  .conarea h3 {
    padding-bottom: 6.6666666667vw;
  }
}
.conarea p {
  font-size: clamp(0.875rem, 0.85rem + 0.125vw, 1rem);
  font-weight: 500;
  line-height: 1.6em;
  letter-spacing: 0.1em;
  color: #eee;
}
.conarea .more {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: clamp(206px, 24%, 14.8958333333vw);
  height: 50px;
  border-radius: 8px;
  border: #fff 1px solid;
  background: rgba(255, 255, 255, 0.1);
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.1em;
  color: #fff;
  margin: 2.6041666667vw auto;
}
@media screen and (max-width: 600px) {
  .conarea .more {
    width: 54.9333333333vw;
    margin-top: 8vw;
    margin-bottom: 6.6666666667vw;
  }
}
.conarea .more::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #fff;
  margin-right: 1.0416666667vw;
}
@media screen and (max-width: 600px) {
  .conarea .more::before {
    margin-right: 5.3333333333vw;
  }
}
.conarea .more:hover {
  background: #fff;
  color: #3F3E3D;
}
.conarea .more:hover::before {
  background: #3F3E3D;
}

.footnav {
  background: #fff;
  width: 100%;
  padding: 2.0833333333vw 0;
}
@media screen and (max-width: 600px) {
  .footnav {
    padding: 6.6666666667vw 0;
  }
}
.footnav ul {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.footnav ul li {
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-size: clamp(0.875rem, 0.85rem + 0.125vw, 1rem);
  letter-spacing: 0.1em;
  margin: 0 1.3020833333vw;
}
@media screen and (max-width: 600px) {
  .footnav ul li {
    margin: 4vw 5.3333333333vw;
  }
}
.footnav ul li a {
  display: block;
  overflow: hidden;
  color: transparent;
  text-shadow: 0 -1.5em 0 #3F3E3D, 0 0 0 #3F3E3D;
  -webkit-transition: text-shadow 0.3s;
  transition: text-shadow 0.3s;
  font-weight: 500;
}
.footnav ul li a:hover {
  text-shadow: 0 0 0 #3F3E3D, 0 1.5em 0 #3F3E3D;
}

.pagetop {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: clamp(60px, 5.2vw, 100px);
  height: clamp(60px, 5.2vw, 100px);
  font-family: "Montserrat", sans-serif;
  font-size: clamp(0.75rem, 0.7rem + 0.25vw, 1rem);
  font-weight: 400;
  color: #fff;
  z-index: 99;
  position: fixed;
  right: 3%;
  bottom: 3%;
}
.pagetop.top {
  position: absolute;
  top: 3.6458333333vw;
  bottom: auto;
  z-index: 0;
}
@media screen and (max-width: 600px) {
  .pagetop.top {
    top: 10.6666666667vw;
  }
}
.pagetop::before {
  content: "";
  display: block;
  width: clamp(10px, 20%, 20px);
  aspect-ratio: 17/21;
  background: url("../images/common/arrow.svg") center center no-repeat;
  background-size: 100% auto;
}
.pagetop::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background: #333;
  border-radius: 50%;
  z-index: -1;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.pagetop:hover::after {
  -webkit-transform: translate(-50%, -50%) scale(1.2);
          transform: translate(-50%, -50%) scale(1.2);
}

footer {
  background: url("../images/common/footer.webp") center bottom no-repeat;
  background-size: cover;
  padding-top: 6.25vw;
  padding-bottom: 2.0833333333vw;
  position: relative;
  width: 100%;
}
@media screen and (max-width: 600px) {
  footer {
    background: url("../images/common/footer-sp.webp") center bottom no-repeat;
    background-size: cover;
    padding-top: 22.4vw;
    padding-bottom: 5.3333333333vw;
  }
}
footer .inner, footer .footnav ul, .footnav footer ul {
  position: relative;
  padding-bottom: 3.125vw;
}
@media screen and (max-width: 600px) {
  footer .inner, footer .footnav ul, .footnav footer ul {
    padding-bottom: 0;
  }
}
footer h2 {
  width: clamp(142px, 16.75%, 201px);
  padding-bottom: 2.6041666667vw;
}
@media screen and (max-width: 600px) {
  footer h2 {
    padding-bottom: 5.3333333333vw;
  }
}
footer h2 img {
  display: block;
}
footer p {
  color: #fff;
  font-size: clamp(0.875rem, 0.85rem + 0.125vw, 1rem);
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.5em;
  word-wrap: break-word;
}
footer p.copy {
  font-family: "Montserrat", sans-serif;
  font-size: clamp(0.625rem, 0.55rem + 0.375vw, 1rem);
  font-weight: 400;
  position: absolute;
  right: 0;
  bottom: 0;
}
@media screen and (max-width: 600px) {
  footer p.copy {
    position: relative;
    right: auto;
    bottom: auto;
    margin-top: 24vw;
  }
}
footer .map {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-size: clamp(0.75rem, 0.7rem + 0.25vw, 1rem);
  letter-spacing: 0.1em;
  margin-top: 0.625vw;
}
@media screen and (max-width: 600px) {
  footer .map {
    margin-top: 5.3333333333vw;
  }
}
footer .map::before {
  content: "";
  display: block;
  width: 1.09375vw;
  aspect-ratio: 7/8;
  background: url("../images/common/map.svg") center center no-repeat;
  background-size: 100% auto;
  margin-right: 0.4166666667vw;
}
@media screen and (max-width: 600px) {
  footer .map::before {
    width: 3.7333333333vw;
    margin-right: 1.6vw;
  }
}
footer .map:hover {
  opacity: 0.7;
}

/* 下層ページ */
.page {
  background: url("../images/common/bg.webp") center top no-repeat;
  background-size: cover;
  background-attachment: fixed;
  padding-bottom: 3.6458333333vw;
}
@media screen and (max-width: 600px) {
  .page {
    background: none;
    padding-bottom: 10.6666666667vw;
  }
}
@media screen and (max-width: 600px) {
  .page::after {
    content: "";
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: url("../images/common/bg-sp.webp") center top no-repeat;
    background-size: cover;
    z-index: -1;
  }
}
.page .inner, .page .footnav ul, .footnav .page ul {
  opacity: 0;
  -webkit-transform: translateY(10px);
          transform: translateY(10px);
  -webkit-animation: fadeInUp 0.7s ease-in forwards;
          animation: fadeInUp 0.7s ease-in forwards;
}

.pagettl {
  font-family: "Montserrat", sans-serif;
  font-size: clamp(1.75rem, 1.35rem + 2vw, 3.75rem);
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-top: clamp(-1rem, -0.975rem + -0.125vw, -1.125rem);
  margin-bottom: 4.1666666667vw;
}
@media screen and (max-width: 600px) {
  .pagettl {
    margin-bottom: 10.6666666667vw;
  }
}
.pagettl span {
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1rem, 0.975rem + 0.125vw, 1.125rem);
  font-weight: 500;
  margin-top: 1.5625vw;
}
@media screen and (max-width: 600px) {
  .pagettl span {
    margin-top: 4vw;
  }
}

.lead {
  padding: 1.3020833333vw 1.875vw;
  position: relative;
  margin-bottom: 6.25vw;
}
@media screen and (max-width: 600px) {
  .lead {
    padding: 2.6666666667vw;
    margin-bottom: 16vw;
  }
}
.lead::before, .lead::after {
  content: "";
  display: block;
  position: absolute;
  width: 1.875vw;
  height: 2.9166666667vw;
  border-left: #3F3E3D 1px solid;
  border-top: #3F3E3D 1px solid;
}
@media screen and (max-width: 600px) {
  .lead::before, .lead::after {
    width: 4.8vw;
    height: 7.4666666667vw;
  }
}
.lead::before {
  top: 0;
  left: 0;
}
.lead::after {
  right: 0;
  bottom: 0;
  -webkit-transform: scale(-1, -1);
          transform: scale(-1, -1);
}
.lead.noline {
  padding-bottom: 2.6041666667vw;
  margin-bottom: 0;
}
@media screen and (max-width: 600px) {
  .lead.noline {
    padding-bottom: 8vw;
  }
}
.lead.noline::before, .lead.noline::after {
  content: none;
}
.lead.noline a:hover {
  text-decoration: underline;
}
.lead h1, .lead h2, .lead h3 {
  font-size: clamp(1.3125rem, 1.225rem + 0.4375vw, 1.75rem);
  font-weight: 500;
  line-height: 1.6em;
  letter-spacing: 0.1em;
  padding-bottom: 2.6041666667vw;
}
@media screen and (max-width: 600px) {
  .lead h1, .lead h2, .lead h3 {
    padding-bottom: 6.6666666667vw;
  }
}
.lead h1 span, .lead h2 span, .lead h3 span {
  display: block;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(0.75rem, 0.725rem + 0.125vw, 0.875rem);
  font-weight: 400;
  margin-top: 1.0416666667vw;
  line-height: 1.4em;
}
@media screen and (max-width: 600px) {
  .lead h1 span, .lead h2 span, .lead h3 span {
    margin-top: 2.6666666667vw;
  }
}
.lead p {
  font-size: clamp(0.875rem, 0.85rem + 0.125vw, 1rem);
  font-weight: 500;
  line-height: 1.8em;
}
.lead p.pb {
  padding-bottom: 1.0416666667vw;
}
@media screen and (max-width: 600px) {
  .lead p.pb {
    padding-bottom: 5.3333333333vw;
  }
}

/* 業務内容／会社概要 */
.service-company {
  padding-bottom: 6.25vw;
}
@media screen and (max-width: 600px) {
  .service-company {
    padding-bottom: 16vw;
  }
}
.service-company::before {
  content: "";
  display: block;
  width: 100%;
  height: 19.7916666667vw;
  background: url("../images/service/mv.webp") center center no-repeat;
  background-size: cover;
}
@media screen and (max-width: 600px) {
  .service-company::before {
    height: 53.3333333333vw;
    background: url("../images/service/mv-sp.webp") center center no-repeat;
    background-size: cover;
  }
}

.servicenav, .membernav {
  padding-bottom: 6.25vw;
}
@media screen and (max-width: 600px) {
  .servicenav, .membernav {
    display: block;
    width: min(100%, 300px);
    margin: auto;
    padding-bottom: 16vw;
  }
}
.servicenav li, .membernav li {
  width: clamp(200px, 33.3%, 400px);
}
@media screen and (max-width: 600px) {
  .servicenav li, .membernav li {
    width: 100%;
  }
}
.servicenav li:first-child, .membernav li:first-child {
  margin-right: 1.5625vw;
}
@media screen and (max-width: 600px) {
  .servicenav li:first-child, .membernav li:first-child {
    margin-right: 0;
    margin-bottom: 4vw;
  }
}
.servicenav li a, .membernav li a {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 69px;
  border-radius: 8px;
  background: #3F3E3D;
  border: #3F3E3D 1px solid;
  color: #fff;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(1.125rem, 1.05rem + 0.375vw, 1.5rem);
  font-weight: 500;
  letter-spacing: 0.1em;
  padding-left: 2.6041666667vw;
  padding-right: 1.5625vw;
}
@media screen and (max-width: 600px) {
  .servicenav li a, .membernav li a {
    height: 54px;
    padding: 0 5.3333333333vw;
  }
}
.servicenav li a span, .membernav li a span {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(0.875rem, 0.85rem + 0.125vw, 1rem);
  font-weight: 500;
  letter-spacing: 0;
  margin-left: 1.0416666667vw;
}
@media screen and (max-width: 600px) {
  .servicenav li a span, .membernav li a span {
    margin-left: 5.3333333333vw;
  }
}
.servicenav li a::after, .membernav li a::after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-right: #fff 1px solid;
  border-bottom: #fff 1px solid;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  margin-left: auto;
}
.servicenav li a:hover, .membernav li a:hover {
  background: rgba(255, 255, 255, 0.8);
  color: #3F3E3D;
  border: #3F3E3D 1px solid;
}
.servicenav li a:hover::after, .membernav li a:hover::after {
  border-right: #3F3E3D 1px solid;
  border-bottom: #3F3E3D 1px solid;
}

.service {
  background: #fff;
  padding: 6.25vw 0;
}
@media screen and (max-width: 600px) {
  .service {
    padding: 16vw 0;
  }
}
.service .box {
  border-bottom: #979797 1px solid;
  padding-bottom: 4.1666666667vw;
  margin-bottom: 4.1666666667vw;
}
@media screen and (max-width: 600px) {
  .service .box {
    display: block;
    padding-bottom: 10.6666666667vw;
    margin-bottom: 10.6666666667vw;
  }
}
.service .box:last-of-type {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}
.service .box .txt {
  /*padding-bottom: vw(40);*/
}
@media screen and (max-width: 600px) {
  .service .box .txt {
    padding-bottom: 8vw;
  }
}
.service .box .img {
  /*width: 35%;*/
  display: none;
}
@media screen and (max-width: 600px) {
  .service .box .img {
    display: block;
    width: 100%;
  }
}
.service .box .num {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(0.875rem, 0.825rem + 0.25vw, 1.125rem);
  font-weight: 600;
  letter-spacing: 0.1em;
  margin-bottom: 20px;
}
.service .box .num::before {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #3F3E3D;
  margin-right: 8px;
}
.service .box .ttl {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 2.0833333333vw;
}
@media screen and (max-width: 600px) {
  .service .box .ttl {
    margin-bottom: 8vw;
  }
}
.service .box .ttl figure {
  display: block;
  width: clamp(60px, 5.2vw, 100px);
  margin-right: 20px;
}
.service .box .ttl figure img {
  display: block;
}
.service .box .ttl h3 {
  font-size: clamp(1.125rem, 1.025rem + 0.5vw, 1.625rem);
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.6em;
}
.service .box .ttl h3 span {
  display: block;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(0.75rem, 0.725rem + 0.125vw, 0.875rem);
  font-weight: 400;
  padding-top: 0.5208333333vw;
  line-height: 1.375em;
}
@media screen and (max-width: 600px) {
  .service .box .ttl h3 span {
    padding-top: 2.1333333333vw;
  }
}
.service .box p {
  font-size: clamp(0.875rem, 0.85rem + 0.125vw, 1rem);
  font-weight: 400;
  line-height: 1.8em;
  padding-bottom: 1em;
}
.service .box p:last-of-type {
  padding-bottom: 0;
}

.scttl {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(1.6875rem, 1.4rem + 1.4375vw, 3.125rem);
  font-weight: 500;
  letter-spacing: 0.1em;
  padding-bottom: 2.6041666667vw;
  border-bottom: #979797 1px solid;
  margin-bottom: 4.1666666667vw;
}
@media screen and (max-width: 600px) {
  .scttl {
    padding-bottom: 2.6666666667vw;
    margin-bottom: 10.6666666667vw;
  }
}
.scttl span {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1rem, 0.975rem + 0.125vw, 1.125rem);
  font-weight: 500;
  letter-spacing: 0;
  margin-left: 1.5625vw;
}
@media screen and (max-width: 600px) {
  .scttl span {
    margin-left: 5.3333333333vw;
  }
}

.company {
  padding-top: 6.25vw;
}
@media screen and (max-width: 600px) {
  .company {
    padding-top: 16vw;
  }
}
.company .scttl {
  border-bottom: 0;
  margin-bottom: 0;
}
.company dl {
  border-top: #979797 1px solid;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 600px) {
  .company dl {
    display: block;
  }
}
.company dl dt, .company dl dd {
  font-size: clamp(0.875rem, 0.85rem + 0.125vw, 1rem);
  border-bottom: #979797 1px solid;
  line-height: 1.6em;
}
.company dl dt {
  font-weight: 700;
  padding: 1.5625vw;
  width: 15%;
}
@media screen and (max-width: 600px) {
  .company dl dt {
    width: 100%;
    padding: 2.6666666667vw 2.6666666667vw 2.1333333333vw;
    border-bottom: 0;
  }
}
.company dl dd {
  font-weight: 400;
  padding: 1.5625vw 0;
  width: 85%;
}
@media screen and (max-width: 600px) {
  .company dl dd {
    width: 100%;
    padding: 0vw 2.6666666667vw 2.6666666667vw;
  }
}

/* メンバー紹介 */
.member::before {
  content: "";
  display: block;
  width: 100%;
  height: 19.7916666667vw;
  background: url("../images/member/mv.webp") center center no-repeat;
  background-size: cover;
}
@media screen and (max-width: 600px) {
  .member::before {
    height: 53.3333333333vw;
    background: url("../images/member/mv-sp.webp") center center no-repeat;
    background-size: cover;
  }
}
.member .list {
  background: white;
  padding: 4.1666666667vw 3.125vw;
  margin-bottom: 2.6041666667vw;
}
@media screen and (max-width: 600px) {
  .member .list {
    padding: 10.6666666667vw 5.3333333333vw;
    margin-bottom: 5.3333333333vw;
  }
}
.member .list h2 {
  font-family: "Montserrat", sans-serif;
  font-size: clamp(0.75rem, 0.7rem + 0.25vw, 1rem);
  font-weight: 400;
  letter-spacing: 0.1em;
  padding-left: 1.0416666667vw;
  padding-bottom: 1.0416666667vw;
  margin-bottom: 1.0416666667vw;
  border-bottom: #979797 1px solid;
}
@media screen and (max-width: 600px) {
  .member .list h2 {
    padding-left: 0;
    padding-bottom: 2.6666666667vw;
    margin-bottom: 2.6666666667vw;
  }
}
.member .list h2 span {
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(0.875rem, 0.85rem + 0.125vw, 1rem);
  font-weight: 400;
  letter-spacing: 0.1em;
  margin-bottom: 8px;
}
.member .list h2 b {
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1.5rem, 1.425rem + 0.375vw, 1.875rem);
  font-weight: 500;
  letter-spacing: 0.1em;
  margin: 0 1.0416666667vw;
}
@media screen and (max-width: 600px) {
  .member .list h2 b {
    margin-left: 2.6666666667vw;
    margin-right: 5.3333333333vw;
  }
}
.member .list .office {
  padding-left: 2.0833333333vw;
  padding-bottom: 1.0416666667vw;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: #979797 1px solid;
}
@media screen and (max-width: 600px) {
  .member .list .office {
    padding-left: 2.6666666667vw;
    padding-bottom: 2.6666666667vw;
    display: block;
  }
}
.member .list .office dt {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 16px;
  font-weight: 700;
  width: 116px;
}
@media screen and (max-width: 600px) {
  .member .list .office dt {
    width: 100%;
    margin-bottom: 2.6666666667vw;
  }
}
.member .list .office dt::before {
  content: "";
  display: block;
  width: 22px;
  aspect-ratio: 1/1;
  background: url("../images/member/office.svg") center center no-repeat;
  background-size: 100% auto;
  margin-right: 10px;
}
@media screen and (max-width: 600px) {
  .member .list .office dt::before {
    margin-right: 1.3333333333vw;
  }
}
.member .list .office dd {
  width: calc(100% - 116px);
  font-size: clamp(0.875rem, 0.85rem + 0.125vw, 1rem);
  font-weight: 400;
  line-height: 1.6em;
}
@media screen and (max-width: 600px) {
  .member .list .office dd {
    width: 100%;
  }
}
.member .list .more {
  display: none;
}
@media screen and (max-width: 600px) {
  .member .list .more {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    font-size: 16px;
    font-weight: 400;
    padding: 5.3333333333vw 0;
    border-bottom: #979797 1px solid;
    cursor: pointer;
  }
}
.member .list .more::after {
  content: "";
  display: block;
  width: 5.3333333333vw;
  aspect-ratio: 1/1;
  background: url("../images/member/plus.svg") center center no-repeat;
  background-size: 100% auto;
  margin-left: 2.6666666667vw;
}
.member .list .more.none {
  display: none;
}
.member .list .txt {
  padding: 1.5625vw 2.0833333333vw;
  border-bottom: #979797 1px solid;
}
@media screen and (max-width: 600px) {
  .member .list .txt {
    padding: 5.3333333333vw 2.6666666667vw;
    display: none;
  }
}
.member .list .txt p {
  font-size: clamp(0.875rem, 0.85rem + 0.125vw, 1rem);
  font-weight: 400;
  line-height: 1.8em;
}
.member .list .close {
  display: none;
}
@media screen and (max-width: 600px) {
  .member .list .close {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 16px;
    font-weight: 400;
    margin-top: 5.3333333333vw;
  }
  .member .list .close::after {
    content: "";
    display: block;
    width: 5.3333333333vw;
    aspect-ratio: 1/1;
    background: url("../images/member/close.svg") center center no-repeat;
    background-size: 100% auto;
    margin-left: 2.6666666667vw;
  }
}
.member .list .website {
  padding-top: 1.0416666667vw;
  padding-right: 2.0833333333vw;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 600px) {
  .member .list .website {
    padding-top: 5.3333333333vw;
    padding-right: 0;
    display: block;
  }
}
.member .list .website dt {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  font-weight: 600;
}
.member .list .website dt::before {
  content: "";
  display: block;
  width: 22px;
  aspect-ratio: 1/1;
  background: url("../images/member/web.svg") center center no-repeat;
  background-size: 100% auto;
  margin-right: 10px;
}
@media screen and (max-width: 600px) {
  .member .list .website dt::before {
    margin-right: 2.1333333333vw;
    margin-bottom: 0.8vw;
  }
}
.member .list .website dt::after {
  content: "";
  display: block;
  width: 1px;
  height: 19px;
  background: #3F3E3D;
  margin: 0 1.0416666667vw;
}
@media screen and (max-width: 600px) {
  .member .list .website dt::after {
    content: none;
  }
}
.member .list .website dd {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(0.875rem, 0.85rem + 0.125vw, 1rem);
  font-weight: 400;
}
.member .list .website dd a {
  font-weight: 400;
  text-decoration: underline;
}
.member .list .website dd a:hover {
  text-decoration: none;
}
.member .list .website dd::after {
  content: "";
  display: block;
  width: 16px;
  aspect-ratio: 1/1;
  background: url("../images/member/blank.svg") center center no-repeat;
  background-size: 100% auto;
  margin-left: 10px;
}
@media screen and (max-width: 600px) {
  .member .list .website dd::after {
    margin-left: 7px;
  }
}

.membernav {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.membernav::before, .membernav::after {
  content: "";
  display: block;
  width: 24%;
}
@media screen and (max-width: 600px) {
  .membernav::before, .membernav::after {
    content: none;
  }
}
.membernav::before {
  content: none;
}
.membernav li {
  width: 24%;
  margin: 0;
}
@media screen and (max-width: 600px) {
  .membernav li {
    width: 100%;
    margin-bottom: 4vw;
  }
}
.membernav li:first-child {
  margin-right: 0;
}
.membernav li a {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1rem, 0.95rem + 0.25vw, 1.25rem);
}
.membernav li a span {
  font-family: "Montserrat", sans-serif;
  display: none;
}
@media screen and (max-width: 600px) {
  .membernav li a span {
    display: block;
  }
}

/* お知らせ */
.newslist {
  border-top: #979797 1px solid;
  padding-bottom: 4.1666666667vw;
}
@media screen and (max-width: 600px) {
  .newslist {
    padding-bottom: 8vw;
  }
}
.newslist li {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: #979797 1px solid;
  padding: 2.0833333333vw 1.5625vw;
  font-size: clamp(0.875rem, 0.85rem + 0.125vw, 1rem);
  font-weight: 400;
  position: relative;
}
@media screen and (max-width: 600px) {
  .newslist li {
    padding: 4.2666666667vw 14.6666666667vw 4.2666666667vw 2.4vw;
    display: block;
  }
}
.newslist li::after {
  content: "";
  display: block;
  width: 16px;
  aspect-ratio: 17/13;
  background: url("../images/news/arrow.svg") center center no-repeat;
  background-size: 100% auto;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width: 600px) {
  .newslist li::after {
    position: absolute;
    right: 2.4vw;
    top: 0;
    bottom: 0;
    margin: auto;
  }
}
.newslist li span {
  display: block;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  letter-spacing: 0.05em;
  width: 100px;
}
@media screen and (max-width: 600px) {
  .newslist li span {
    width: 100%;
    padding-bottom: 2.1333333333vw;
  }
}
.newslist li a {
  display: block;
  font-weight: 400;
  width: calc(100% - 146px);
}
@media screen and (max-width: 600px) {
  .newslist li a {
    width: 100%;
  }
}
.newslist li:has(a:hover)::after {
  -webkit-transform: translateX(10px);
          transform: translateX(10px);
}

.news {
  padding-bottom: 6.25vw;
}
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .news {
    padding-bottom: 120px;
  }
}
@media screen and (max-width: 600px) {
  .news {
    padding-bottom: 16vw;
  }
}
.news::before {
  content: "";
  display: block;
  width: 100%;
  height: 19.7916666667vw;
  background: url("../images/news/mv.webp") center center no-repeat;
  background-size: cover;
}
@media screen and (max-width: 600px) {
  .news::before {
    height: 53.3333333333vw;
    background: url("../images/news/mv-sp.webp") center center no-repeat;
    background-size: cover;
  }
}
.news .cms {
  background: #fff;
  border-radius: 8px;
  padding: 4.1666666667vw;
  margin-bottom: 4.1666666667vw;
}
@media screen and (max-width: 600px) {
  .news .cms {
    border-radius: 4px;
    padding: 10.6666666667vw 5.3333333333vw;
    margin-bottom: 8vw;
  }
}
.news .cms .date {
  font-family: "Montserrat", sans-serif;
  font-size: clamp(0.875rem, 0.85rem + 0.125vw, 1rem);
  font-weight: 600;
  letter-spacing: 0.05em;
  padding-bottom: 1.5625vw;
  line-height: 1.6em;
}
@media screen and (max-width: 600px) {
  .news .cms .date {
    padding-bottom: 2.6666666667vw;
  }
}
.news .cms h1 {
  font-size: clamp(1.125rem, 1.05rem + 0.375vw, 1.5rem);
  font-weight: 500;
  line-height: 1.6em;
  padding-bottom: 2.6041666667vw;
}
@media screen and (max-width: 600px) {
  .news .cms h1 {
    padding-bottom: 6.6666666667vw;
  }
}
.news .cms h2 {
  font-size: clamp(1.125rem, 1.075rem + 0.25vw, 1.375rem);
  font-weight: 500;
  line-height: 1.6em;
  border-bottom: #979797 1px solid;
  padding-bottom: 0.4166666667vw;
  margin-bottom: 1.5625vw;
}
@media screen and (max-width: 600px) {
  .news .cms h2 {
    padding-bottom: 2.6666666667vw;
    margin-bottom: 5.3333333333vw;
  }
}
.news .cms h3 {
  font-size: clamp(1.0625rem, 1.025rem + 0.1875vw, 1.25rem);
  font-weight: 500;
  line-height: 1.6em;
  margin-bottom: 1.5625vw;
}
@media screen and (max-width: 600px) {
  .news .cms h3 {
    margin-bottom: 5.3333333333vw;
  }
}
.news .cms h3::after {
  content: "";
  display: block;
  width: 20px;
  height: 1px;
  background: #979797;
  margin-top: 0.4166666667vw;
}
@media screen and (max-width: 600px) {
  .news .cms h3::after {
    margin-top: 2.6666666667vw;
  }
}
.news .cms h4 {
  font-size: clamp(1rem, 0.975rem + 0.125vw, 1.125rem);
  font-weight: 500;
  line-height: 1.6em;
  margin-bottom: 1.5625vw;
}
@media screen and (max-width: 600px) {
  .news .cms h4 {
    margin-bottom: 5.3333333333vw;
  }
}
.news .cms h5 {
  font-size: clamp(0.9375rem, 0.925rem + 0.0625vw, 1rem);
  font-weight: 500;
  line-height: 1.6em;
  margin-bottom: 1.5625vw;
  padding: 0.3125vw 0.8333333333vw;
  background: #F5F5F5;
}
@media screen and (max-width: 600px) {
  .news .cms h5 {
    margin-bottom: 5.3333333333vw;
    padding: 0.8vw 2.1333333333vw;
  }
}
.news .cms p {
  font-size: clamp(0.875rem, 0.85rem + 0.125vw, 1rem);
  font-weight: 400;
  line-height: 1.6em;
  padding-bottom: 1.6em;
}
.news .cms p strong {
  font-weight: 500;
}
.news .cms p a {
  color: #999;
  text-decoration: underline;
}
.news .cms p a:hover {
  -webkit-column-count: #333;
     -moz-column-count: #333;
          column-count: #333;
}
.news .cms .wp-block-image {
  display: block;
  width: min(100%, 800px);
  border-radius: 8px;
  overflow: hidden;
  margin: auto;
}
.news .cms .wp-block-image img {
  display: block;
}
.news .cms .wp-block-quote {
  background: #F4F4F4;
  padding: 1.5625vw;
}
@media screen and (max-width: 600px) {
  .news .cms .wp-block-quote {
    padding: 2.1333333333vw;
  }
}
.news .cms .wp-block-table table {
  width: 100%;
  border-top: #979797 1px solid;
}
.news .cms .wp-block-table table td {
  font-size: clamp(0.875rem, 0.85rem + 0.125vw, 1rem);
  font-weight: 400;
  border: 0;
  border-bottom: #979797 1px solid;
  padding: 1.0416666667vw;
}
@media screen and (max-width: 600px) {
  .news .cms .wp-block-table table td {
    display: block;
    width: 100%;
    padding: 0 0 4.2666666667vw;
  }
}
.news .cms .wp-block-table table tr td:nth-of-type(1) {
  font-weight: 500;
}
@media screen and (max-width: 600px) {
  .news .cms .wp-block-table table tr td:nth-of-type(1) {
    padding: 4.2666666667vw 0 2.6666666667vw;
    border-bottom: 0;
  }
}
.news .cms ul.wp-block-list li {
  font-size: clamp(0.875rem, 0.85rem + 0.125vw, 1rem);
  font-weight: 400;
  padding-left: 16px;
  position: relative;
  margin-bottom: 0.8333333333vw;
}
@media screen and (max-width: 600px) {
  .news .cms ul.wp-block-list li {
    margin-bottom: 2.1333333333vw;
  }
}
.news .cms ul.wp-block-list li::before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #3F3E3D;
  position: absolute;
  top: 12px;
  left: 0;
}
.news .cms ol.wp-block-list {
  counter-reset: listnum;
}
.news .cms ol.wp-block-list li {
  font-size: clamp(0.875rem, 0.85rem + 0.125vw, 1rem);
  font-weight: 400;
  padding-left: 36px;
  position: relative;
  margin-bottom: 0.8333333333vw;
}
@media screen and (max-width: 600px) {
  .news .cms ol.wp-block-list li {
    margin-bottom: 2.1333333333vw;
    padding-left: 20px;
  }
}
.news .cms ol.wp-block-list li::before {
  counter-increment: listnum;
  content: counter(listnum) ".";
  font-family: "Montserrat", sans-serif;
  font-size: clamp(1rem, 0.925rem + 0.375vw, 1.375rem);
  font-weight: 500;
  color: #979797;
  position: absolute;
  top: 0;
  left: 0;
}
.news .btn {
  font-size: clamp(0.875rem, 0.85rem + 0.125vw, 1rem);
  font-weight: 400;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #3F3E3D;
  color: #fff;
  border: #3F3E3D 1px solid;
  border-radius: 8px;
  width: clamp(220px, 28.5%, 343px);
  height: 56px;
  overflow: hidden;
  margin: auto;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width: 600px) {
  .news .btn {
    width: min(100%, 260px);
  }
}
.news .btn::before {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  background: #fff;
  border-radius: 50%;
  margin-right: 1.0416666667vw;
}
@media screen and (max-width: 600px) {
  .news .btn::before {
    margin-right: 2.6666666667vw;
  }
}
.news .btn:hover {
  background: #fff;
  color: #3F3E3D;
}
.news .btn:hover::before {
  background: #3F3E3D;
}
.news .wp-pagenavi {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.news .wp-pagenavi a, .news .wp-pagenavi span {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: clamp(40px, 3vw, 56px);
  height: clamp(40px, 3vw, 56px);
  border-radius: 50%;
  border: #3F3E3D 1px solid;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(1.125rem, 1.1rem + 0.125vw, 1.25rem);
  font-weight: 500;
  margin: 0 0.5208333333vw;
  padding: 0;
}
@media screen and (max-width: 600px) {
  .news .wp-pagenavi a, .news .wp-pagenavi span {
    margin: 0 2.6666666667vw 5.3333333333vw;
  }
}
.news .wp-pagenavi a.extend, .news .wp-pagenavi span.extend {
  background: none;
  border: 0;
  color: #3F3E3D;
}
.news .wp-pagenavi a {
  background: #fff;
  color: #3F3E3D;
}
.news .wp-pagenavi a:hover {
  background: #3F3E3D;
  color: #fff;
}
.news .wp-pagenavi span {
  background: #3F3E3D;
  color: #fff;
}

/* お問い合わせ */
.contact {
  padding-bottom: 6.25vw;
}
@media screen and (max-width: 600px) {
  .contact {
    padding-bottom: 16vw;
  }
}
.contact::before {
  content: "";
  display: block;
  width: 100%;
  height: 19.7916666667vw;
  background: url("../images/contact/mv.webp") center center no-repeat;
  background-size: cover;
}
@media screen and (max-width: 600px) {
  .contact::before {
    height: 53.3333333333vw;
    background: url("../images/contact/mv-sp.webp") center center no-repeat;
    background-size: cover;
  }
}
.contact .field {
  border-top: #979797 1px solid;
  border-bottom: #979797 1px solid;
  padding-top: 2.6041666667vw;
  padding-bottom: 1.0416666667vw;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-bottom: 2.6041666667vw;
}
@media screen and (max-width: 600px) {
  .contact .field {
    display: block;
    padding-top: 8vw;
    padding-bottom: 0;
    margin-bottom: 8vw;
  }
}
.contact .field dt, .contact .field dd {
  font-size: 16px;
  font-weight: 400;
  padding-bottom: 1.5625vw;
}
.contact .field dt {
  width: min(22.3%, 268px);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 0.5208333333vw;
  white-space: nowrap;
  gap: 0.5208333333vw;
}
@media screen and (max-width: 600px) {
  .contact .field dt {
    width: 100%;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    padding: 2.6666666667vw 0;
    gap: 0;
  }
}
.contact .field dt.nopt {
  padding-top: 0;
}
.contact .field dt span {
  display: inline-block;
  font-size: 14px;
  font-weight: 500;
  line-height: 24px;
  background: #333;
  border-radius: 100px;
  padding: 0 10px;
  color: #fff;
}
@media screen and (max-width: 600px) {
  .contact .field dt span {
    line-height: 22px;
    margin-left: 2.6666666667vw;
    padding: 0 8px;
  }
}
.contact .field dd {
  width: min(71%, 100% - 288px);
}
@media screen and (max-width: 600px) {
  .contact .field dd {
    width: 100%;
    padding-bottom: 8vw;
  }
}
.contact .field dd .ex {
  display: block;
  font-size: clamp(0.75rem, 0.725rem + 0.125vw, 0.875rem);
  font-weight: 400;
  color: #979797;
  margin-top: 8px;
}
.contact .field dd a {
  text-decoration: underline;
}
.contact .field dd a:hover {
  text-decoration: none;
}
.contact .field dd .wpcf7-acceptance {
  display: block;
  margin-top: 1.0416666667vw;
}
@media screen and (max-width: 600px) {
  .contact .field dd .wpcf7-acceptance {
    margin-top: 2.6666666667vw;
  }
}
.contact .field dd .wpcf7-acceptance .wpcf7-list-item {
  margin: 0;
}
.contact .field dd .wpcf7-acceptance .wpcf7-list-item label {
  position: relative;
}
.contact .field dd .wpcf7-acceptance .wpcf7-list-item label input {
  opacity: 0;
  width: 20px;
  margin-right: 10px;
}
.contact .field dd .wpcf7-acceptance .wpcf7-list-item label::before, .contact .field dd .wpcf7-acceptance .wpcf7-list-item label::after {
  content: "";
  display: block;
  position: absolute;
}
.contact .field dd .wpcf7-acceptance .wpcf7-list-item label::before {
  width: 20px;
  height: 20px;
  border-radius: 4px;
  border: #979797 1px solid;
  top: 0;
  bottom: 0;
  margin: auto;
  left: 0;
}
.contact .field dd .wpcf7-acceptance .wpcf7-list-item label::after {
  width: 8px;
  height: 15px;
  border-bottom: #979797 2px solid;
  border-right: #979797 2px solid;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  top: 2px;
  left: 6px;
  opacity: 0;
}
.contact .field dd .wpcf7-acceptance .wpcf7-list-item label:has(:checked)::after {
  opacity: 1;
}
.contact input[type=text], .contact input[type=email], .contact input[type=tel], .contact textarea {
  width: 100%;
  background: #fff;
  padding: 0.5208333333vw;
  border: #DFDFDF 1px solid;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(0.875rem, 0.85rem + 0.125vw, 1rem);
  font-weight: 400;
  border-radius: 4px;
}
@media screen and (max-width: 600px) {
  .contact input[type=text], .contact input[type=email], .contact input[type=tel], .contact textarea {
    padding: 2.1333333333vw;
  }
}
.contact textarea {
  height: 13.0208333333vw;
}
@media screen and (max-width: 600px) {
  .contact textarea {
    height: 40.5333333333vw;
  }
}
.contact .wpcf7-response-output {
  border: 0 !important;
  color: #dc3232;
}

.formbtn {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.formbtn li {
  position: relative;
  font-size: clamp(0.875rem, 0.85rem + 0.125vw, 1rem);
  font-weight: 400;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: #3F3E3D 1px solid;
  border-radius: 8px;
  height: 56px;
  overflow: hidden;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.formbtn li::before {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  margin-right: 1.0416666667vw;
}
@media screen and (max-width: 600px) {
  .formbtn li::before {
    margin-right: 2.6666666667vw;
  }
}
.formbtn li.submit, .formbtn li.send {
  background: #3F3E3D;
  color: #fff;
}
.formbtn li.submit::before, .formbtn li.send::before {
  background: #fff;
}
.formbtn li.submit:hover, .formbtn li.send:hover {
  background: #fff;
  color: #3F3E3D;
}
.formbtn li.submit:hover::before, .formbtn li.send:hover::before {
  background: #3F3E3D;
}
.formbtn li.submit {
  width: clamp(220px, 28.5%, 343px);
}
@media screen and (max-width: 600px) {
  .formbtn li.submit {
    width: min(100%, 260px);
  }
}
.formbtn li.send {
  width: clamp(260px, 34.5%, 415px);
}
@media screen and (max-width: 600px) {
  .formbtn li.send {
    width: min(100%, 260px);
  }
}
.formbtn li.back {
  background: #fff;
  width: clamp(220px, 28.5%, 415px);
  margin-right: 1.5625vw;
}
@media screen and (max-width: 600px) {
  .formbtn li.back {
    width: min(100%, 260px);
    margin-right: 0;
    margin-bottom: 5.3333333333vw;
  }
}
.formbtn li.back::before {
  background: #3F3E3D;
}
.formbtn li.back:hover {
  background: #3F3E3D;
  color: #fff;
}
.formbtn li.back:hover::before {
  background: #fff;
}
.formbtn .wpcf7-spinner {
  display: none;
}
.formbtn input[type=submit], .formbtn input[type=button], .formbtn a {
  opacity: 0;
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  cursor: pointer;
}

/* プライバシーポリシー */
.privacypolicy {
  padding-bottom: 6.25vw;
}
@media screen and (max-width: 600px) {
  .privacypolicy {
    padding-bottom: 16vw;
  }
}
.privacypolicy::before {
  content: "";
  display: block;
  width: 100%;
  height: 19.7916666667vw;
  background: url("../images/policy/mv.webp") center center no-repeat;
  background-size: cover;
}
@media screen and (max-width: 600px) {
  .privacypolicy::before {
    height: 53.3333333333vw;
    background: url("../images/policy/mv-sp.webp") center center no-repeat;
    background-size: cover;
  }
}
.privacypolicy .date {
  text-align: right;
  font-size: clamp(0.875rem, 0.85rem + 0.125vw, 1rem);
  font-weight: 400;
  line-height: 1.6em;
}
.privacypolicy .contents {
  padding-bottom: 6.25vw;
}
@media screen and (max-width: 600px) {
  .privacypolicy .contents {
    padding-bottom: 16vw;
  }
}
.privacypolicy .policytxt h2 {
  font-size: clamp(1.25rem, 1.15rem + 0.5vw, 1.75rem);
  font-weight: 500;
  padding-bottom: 1.5625vw;
}
@media screen and (max-width: 600px) {
  .privacypolicy .policytxt h2 {
    padding-bottom: 5.3333333333vw;
  }
}
.privacypolicy .policytxt p {
  font-size: clamp(0.875rem, 0.85rem + 0.125vw, 1rem);
  font-weight: 400;
  line-height: 1.6em;
}
.privacypolicy .policy {
  padding-bottom: 2.6041666667vw;
}
@media screen and (max-width: 600px) {
  .privacypolicy .policy {
    padding-bottom: 5.3333333333vw;
  }
}
.privacypolicy .policy a {
  text-decoration: underline;
}
.privacypolicy .policy a:hover {
  text-decoration: none;
}
.privacypolicy .policy dt, .privacypolicy .policy dd {
  word-wrap: break-word;
}
.privacypolicy .policy dt {
  font-size: clamp(1rem, 0.925rem + 0.375vw, 1.375rem);
  font-weight: 500;
  padding-bottom: 8px;
  border-bottom: #979797 1px solid;
  margin-bottom: 1.5625vw;
  margin-top: 2.6041666667vw;
}
@media screen and (max-width: 600px) {
  .privacypolicy .policy dt {
    margin-bottom: 5.3333333333vw;
    margin-top: 10.6666666667vw;
  }
}
.privacypolicy .policy dd {
  font-size: clamp(0.875rem, 0.85rem + 0.125vw, 1rem);
  font-weight: 400;
  line-height: 1.6em;
}
.privacypolicy .policy dd dl dt {
  font-size: clamp(0.9375rem, 0.9rem + 0.1875vw, 1.125rem);
  font-weight: 500;
  counter-reset: none;
  margin-bottom: 0;
  padding-bottom: 0.5208333333vw;
  border-bottom: 0;
  margin-top: 1.5625vw;
}
@media screen and (max-width: 600px) {
  .privacypolicy .policy dd dl dt {
    margin-top: 5.3333333333vw;
    padding-bottom: 2.6666666667vw;
  }
}
.privacypolicy .policy dd ol {
  counter-reset: listnum;
  list-style: none;
  padding-top: 1.0416666667vw;
}
@media screen and (max-width: 600px) {
  .privacypolicy .policy dd ol {
    padding-top: 2.6666666667vw;
  }
}
.privacypolicy .policy dd ol li {
  padding-left: 36px;
  position: relative;
  margin-bottom: 0.8333333333vw;
}
@media screen and (max-width: 600px) {
  .privacypolicy .policy dd ol li {
    padding-left: 20px;
    margin-bottom: 2.1333333333vw;
  }
}
.privacypolicy .policy dd ol li::before {
  counter-increment: listnum;
  content: counter(listnum) ".";
  font-family: "Montserrat", sans-serif;
  font-size: clamp(1rem, 0.925rem + 0.375vw, 1.375rem);
  font-weight: 500;
  color: #979797;
  position: absolute;
  top: 0;
  left: 0;
}
.privacypolicy .policy dd ul {
  padding-top: 1.0416666667vw;
}
@media screen and (max-width: 600px) {
  .privacypolicy .policy dd ul {
    padding-top: 2.6666666667vw;
  }
}
.privacypolicy .policy dd ul li {
  margin-bottom: 0.8333333333vw;
}
@media screen and (max-width: 600px) {
  .privacypolicy .policy dd ul li {
    margin-bottom: 2.1333333333vw;
  }
}
.privacypolicy .policy dd ul li::before {
  content: "・";
}

.policynav {
  padding-bottom: 6.25vw;
}
@media screen and (max-width: 600px) {
  .policynav {
    display: block;
    width: 100%;
    margin: auto;
    padding-bottom: 16vw;
  }
}
.policynav li {
  width: clamp(180px, 29.6%, 356px);
  margin-right: 1.5625vw;
}
@media screen and (max-width: 600px) {
  .policynav li {
    width: 100%;
    margin-right: 0;
    margin-bottom: 4vw;
  }
}
.policynav li:last-child {
  margin-right: 0;
}
@media screen and (max-width: 600px) {
  .policynav li:last-child {
    margin-bottom: 0;
  }
}
.policynav li a {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 63px;
  border-radius: 8px;
  background: #3F3E3D;
  border: #3F3E3D 1px solid;
  color: #fff;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(0.875rem, 0.85rem + 0.125vw, 1rem);
  font-weight: 500;
  letter-spacing: 0.1em;
  padding-left: 2.6041666667vw;
  padding-right: 1.5625vw;
}
@media screen and (max-width: 600px) {
  .policynav li a {
    height: 54px;
    padding: 0 5.3333333333vw;
  }
}
.policynav li a span {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(0.875rem, 0.85rem + 0.125vw, 1rem);
  font-weight: 500;
  letter-spacing: 0;
  margin-left: 1.0416666667vw;
}
@media screen and (max-width: 600px) {
  .policynav li a span {
    margin-left: 5.3333333333vw;
  }
}
.policynav li a::after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-right: #fff 1px solid;
  border-bottom: #fff 1px solid;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  margin-left: auto;
}
.policynav li a:hover {
  background: rgba(255, 255, 255, 0.8);
  color: #3F3E3D;
  border: #3F3E3D 1px solid;
}
.policynav li a:hover::after {
  border-right: #3F3E3D 1px solid;
  border-bottom: #3F3E3D 1px solid;
}

/* 404 */
.p404 {
  padding-bottom: 6.25vw;
}
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .p404 {
    padding-bottom: 100px;
  }
}
@media screen and (max-width: 600px) {
  .p404 {
    padding-bottom: 16vw;
  }
}
.p404::before {
  content: "";
  display: block;
  width: 100%;
  height: 19.7916666667vw;
  background: url("../images/404/mv.webp") center center no-repeat;
  background-size: cover;
}
@media screen and (max-width: 600px) {
  .p404::before {
    height: 53.3333333333vw;
    background: url("../images/404/mv-sp.webp") center center no-repeat;
    background-size: cover;
  }
}

/* トップページ */
.topcontents {
  width: 100%;
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: -webkit-transform 0.6s ease;
  transition: -webkit-transform 0.6s ease;
  transition: transform 0.6s ease;
  transition: transform 0.6s ease, -webkit-transform 0.6s ease;
}
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .topcontents {
    height: 100dvh;
  }
}
@media screen and (max-width: 600px) {
  .topcontents {
    height: 100dvh;
  }
}
.topcontents.over {
  -webkit-transform: translateY(-150%);
          transform: translateY(-150%);
}
.topcontents .inner, .topcontents .footnav ul, .footnav .topcontents ul {
  width: min(80vw, 1520px);
}
@media screen and (max-width: 960px) {
  .topcontents .inner, .topcontents .footnav ul, .footnav .topcontents ul {
    width: calc(100% - 40px);
  }
}
.topcontents .lead {
  display: inline-block;
}

.scroll {
  display: block;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(1rem, 0.975rem + 0.125vw, 1.125rem);
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #3F3E3D;
  padding-bottom: 5.5vh;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 3;
  overflow: hidden;
}
@media screen and (max-width: 600px) {
  .scroll {
    display: none;
  }
}
.scroll::before, .scroll::after {
  content: "";
  display: block;
  background: #3F3E3D;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.scroll::before {
  width: 1px;
  height: 4.6vh;
  bottom: 0;
}
.scroll::after {
  width: 3px;
  height: 1.8vh;
  bottom: 2.75vh;
  -webkit-animation: scroll-down 1.6s ease-in-out infinite;
          animation: scroll-down 1.6s ease-in-out infinite;
}

.copytxt {
  font-family: "Montserrat", sans-serif;
  font-size: clamp(0.75rem, 0.725rem + 0.125vw, 0.875rem);
  font-weight: 500;
  letter-spacing: 0.1em;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  left: 1.5625vw;
  z-index: 3;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: mixed;
  text-align: center;
}
@media screen and (max-width: 960px) {
  .copytxt {
    left: auto;
    right: 1.5625vw;
    top: 5.2083333333vw;
    bottom: auto;
    margin: 0;
  }
}
@media screen and (max-width: 600px) {
  .copytxt {
    right: 5.3333333333vw;
    top: 26.6666666667vw;
  }
}

.topttl {
  font-family: "Montserrat", sans-serif;
  font-size: clamp(1.25rem, 1.125rem + 0.625vw, 1.875rem);
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-bottom: 2.6041666667vw;
}
@media screen and (max-width: 600px) {
  .topttl {
    margin-bottom: 8vw;
  }
}
.topttl span {
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(0.75rem, 0.7rem + 0.25vw, 1rem);
  font-weight: 500;
  margin-top: 1.0416666667vw;
}
@media screen and (max-width: 600px) {
  .topttl span {
    margin-top: 2.6666666667vw;
  }
}

.btnmore {
  position: relative;
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.1em;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: #3F3E3D 1px solid;
  background: #3F3E3D;
  color: #fff;
  border-radius: 8px;
  width: clamp(206px, 23.75%, 285px);
  height: 51px;
  overflow: hidden;
}
@media screen and (max-width: 600px) {
  .btnmore {
    height: 50px;
  }
}
.btnmore::before {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  background: #fff;
  border-radius: 50%;
  margin-right: 1.0416666667vw;
}
@media screen and (max-width: 600px) {
  .btnmore::before {
    margin-right: 2.6666666667vw;
    width: 8px;
    height: 8px;
  }
}
.btnmore:hover {
  background: #fff;
  color: #3F3E3D;
}
.btnmore:hover::before {
  background: #3F3E3D;
}

.cbtn {
  display: block;
  width: clamp(112px, 10vw, 170px);
  height: clamp(112px, 10vw, 170px);
  position: fixed;
  right: 1.0416666667vw;
  bottom: 1.0416666667vw;
  z-index: 100;
}
@media screen and (max-width: 600px) {
  .cbtn {
    right: 2.6666666667vw;
    bottom: 5.3333333333vw;
  }
}
.cbtn img {
  display: block;
  -webkit-animation: rotateAnimation 60s linear infinite;
          animation: rotateAnimation 60s linear infinite;
  -webkit-transform-origin: center center;
          transform-origin: center center;
}
.cbtn video {
  display: block;
  width: 70%;
  aspect-ratio: 1/1;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
  position: absolute;
  top: 15%;
  left: 15%;
}
.cbtn:hover {
  opacity: 0.7;
}

.mv {
  z-index: 4;
  background: #fff;
}
.mv::before, .mv::after {
  content: "";
  display: block;
  width: 100%;
  position: absolute;
  left: 0;
  z-index: 1;
}
.mv::before {
  height: 30%;
  background: -webkit-gradient(linear, left top, left bottom, from(#8A7E6A), to(transparent));
  background: linear-gradient(#8A7E6A, transparent);
  top: 0;
  opacity: 0.44;
}
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .mv::before {
    height: 30%;
    background: -webkit-gradient(linear, left top, left bottom, from(#8A7E6A), to(transparent));
    background: linear-gradient(#8A7E6A, transparent);
    opacity: 1;
  }
}
@media screen and (max-width: 600px) {
  .mv::before {
    height: 70%;
    background: -webkit-gradient(linear, left top, left bottom, from(#8A7E6A), color-stop(rgba(173, 173, 173, 0.02)), to(transparent));
    background: linear-gradient(#8A7E6A, rgba(173, 173, 173, 0.02), transparent);
    background: transparent -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.6)), color-stop(17%, rgba(0, 0, 0, 0.3294117647)), color-stop(35%, rgba(0, 0, 0, 0.1294117647)), to(rgba(0, 0, 0, 0))) 0% 0% no-repeat padding-box;
    background: transparent linear-gradient(180deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.3294117647) 17%, rgba(0, 0, 0, 0.1294117647) 35%, rgba(0, 0, 0, 0) 100%) 0% 0% no-repeat padding-box;
    opacity: 1;
  }
}
.mv::after {
  height: 63vh;
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), to(rgba(0, 0, 0, 0.77)));
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.77));
  bottom: 0;
}
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .mv::after {
    height: 60%;
    background: -webkit-gradient(linear, left top, left bottom, from(transparent), to(#242323));
    background: linear-gradient(transparent, #242323);
  }
}
@media screen and (max-width: 600px) {
  .mv::after {
    height: 75%;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(25%, transparent), to(#242323));
    background: linear-gradient(transparent 25%, #242323);
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .mv .video {
    margin-top: 13vh;
    aspect-ratio: 375/281;
  }
}
@media screen and (max-width: 600px) {
  .mv .video {
    margin-top: 19.2vh;
    aspect-ratio: 375/281;
  }
}
.mv .video video {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.mv .inner, .mv .footnav ul, .footnav .mv ul {
  position: absolute;
  bottom: 14vh;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 2;
}
@media screen and (max-width: 600px) {
  .mv .inner, .mv .footnav ul, .footnav .mv ul {
    bottom: 8vw;
  }
}
.mv .lead {
  margin-bottom: 0;
  opacity: 0;
}
.mv .lead::before, .mv .lead::after {
  border-left: #fff 1px solid;
  border-top: #fff 1px solid;
}
@media screen and (max-width: 600px) {
  .mv .lead::after {
    right: 35%;
  }
}
.mv .lead h1 {
  color: #fff;
  opacity: 0;
}
@media screen and (max-width: 600px) {
  .mv .lead h1 {
    padding-bottom: 0;
  }
}
.mv .lead h1 span {
  opacity: 0;
  -webkit-transform: translateY(10px);
          transform: translateY(10px);
}
@media screen and (max-width: 600px) {
  .mv .lead h1 span {
    width: 64%;
  }
}
.mv .scroll {
  color: #fff;
}
.mv .scroll::before, .mv .scroll::after {
  background: #fff;
}
.mv .copytxt {
  color: #fff;
}
@media screen and (max-width: 600px) {
  .mv .copytxt {
    display: none;
  }
}
.mv.active .lead {
  -webkit-animation: fadeIn 1s forwards;
          animation: fadeIn 1s forwards;
}
.mv.active .lead h1 {
  -webkit-animation: fadeIn 1s 0.5s forwards;
          animation: fadeIn 1s 0.5s forwards;
}
.mv.active .lead h1 span {
  -webkit-animation: fadeInUp 1s 1s forwards;
          animation: fadeInUp 1s 1s forwards;
}

.topservice {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: url("../images/top/service.webp") center center no-repeat;
  background-size: cover;
  z-index: 3;
}
@media screen and (max-width: 600px) {
  .topservice {
    background: url("../images/top/service-sp.webp") center center no-repeat;
    background-size: cover;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
}
.topservice .inner, .topservice .footnav ul, .footnav .topservice ul {
  opacity: 0;
}
@media screen and (max-width: 600px) {
  .topservice .inner, .topservice .footnav ul, .footnav .topservice ul {
    margin: 0 0 16vw;
  }
}
.topservice .lead {
  margin-bottom: 50px;
}
@media screen and (max-width: 600px) {
  .topservice .lead {
    margin-bottom: 8vw;
  }
}
.topservice.active .inner, .topservice.active .footnav ul, .footnav .topservice.active ul {
  -webkit-animation: fadeIn 1s 0.5s ease-in forwards;
          animation: fadeIn 1s 0.5s ease-in forwards;
}

.topmember {
  text-align: right;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: url("../images/top/member.webp") center center no-repeat;
  background-size: cover;
  z-index: 2;
  color: #fff;
}
@media screen and (max-width: 600px) {
  .topmember {
    background: url("../images/top/member-sp.webp") center center no-repeat;
    background-size: cover;
    text-align: left;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
}
.topmember .inner, .topmember .footnav ul, .footnav .topmember ul {
  opacity: 0;
  width: min(100% - 40px, 1200px);
}
@media screen and (max-width: 600px) {
  .topmember .inner, .topmember .footnav ul, .footnav .topmember ul {
    margin: 0 0 21.3333333333vw;
  }
}
.topmember.active .inner, .topmember.active .footnav ul, .footnav .topmember.active ul {
  -webkit-animation: fadeIn 1s 0.5s ease-in forwards;
          animation: fadeIn 1s 0.5s ease-in forwards;
}
.topmember .lead {
  margin-bottom: 50px;
}
@media screen and (max-width: 600px) {
  .topmember .lead {
    margin-bottom: 30px;
  }
}
.topmember .lead::before, .topmember .lead::after {
  border-left: #fff 1px solid;
  border-top: #fff 1px solid;
}
.topmember .lead h3 {
  color: #fff;
}
.topmember .lead p {
  font-weight: 400;
}
.topmember .btnmore {
  background: rgba(255, 255, 255, 0.1);
  border: #fff 1px solid;
  color: #fff;
  margin-left: auto;
}
@media screen and (max-width: 600px) {
  .topmember .btnmore {
    margin-left: 0;
  }
}
.topmember .btnmore::before {
  background: #fff;
}
.topmember .btnmore:hover {
  background: #fff;
  color: #3F3E3D;
}
.topmember .btnmore:hover::before {
  background: #3F3E3D;
}
.topmember .scroll {
  color: #fff;
}
.topmember .scroll::before, .topmember .scroll::after {
  background: #fff;
}
.topmember .copytxt {
  color: #fff;
}

.topnews {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: url("../images/top/news.webp") center center no-repeat;
  background-size: cover;
  z-index: 1;
}
@media screen and (max-width: 600px) {
  .topnews {
    background: url("../images/top/news-sp.webp") center center no-repeat;
    background-size: cover;
  }
}
.topnews .inner, .topnews .footnav ul, .footnav .topnews ul {
  width: min(100% - 40px, 1200px);
}
@media screen and (max-width: 600px) {
  .topnews .inner, .topnews .footnav ul, .footnav .topnews ul {
    display: block;
    margin: 0 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .topnews .inner, .topnews .footnav ul, .footnav .topnews ul {
    width: min(80vw, 800px);
    margin: auto;
    display: block;
  }
}
.topnews .ttl {
  width: 22%;
}
@media screen and (max-width: 600px) {
  .topnews .ttl {
    width: 100%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .topnews .topttl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 30px;
  }
  .topnews .topttl span {
    margin-top: 0;
    margin-left: 20px;
  }
}
@media screen and (max-width: 600px) {
  .topnews .topttl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 8vw;
  }
  .topnews .topttl span {
    margin-top: 0;
    margin-left: 5.3333333333vw;
  }
}
.topnews .newslist {
  width: 77%;
  padding-bottom: 0;
  opacity: 0;
  -webkit-transform: translateY(10px);
          transform: translateY(10px);
}
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .topnews .newslist {
    width: 100%;
    padding-bottom: 50px;
  }
}
@media screen and (max-width: 600px) {
  .topnews .newslist {
    width: 100%;
    padding-bottom: 8vw;
  }
}
@media screen and (max-width: 600px) {
  .topnews .newslist li:nth-child(4) {
    display: none;
  }
}
.topnews .more {
  display: block;
  position: relative;
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.1em;
  padding-bottom: 8px;
  color: transparent;
  text-shadow: 0 -1.5em 0 #3F3E3D, 0 0 0 #3F3E3D;
  -webkit-transition: text-shadow 0.3s;
  transition: text-shadow 0.3s;
  overflow: hidden;
}
.topnews .more::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #3F3E3D;
  margin-right: 10px;
  vertical-align: 2px;
}
.topnews .more.pc {
  display: inline-block;
}
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .topnews .more.pc {
    display: none;
  }
}
@media screen and (max-width: 600px) {
  .topnews .more.pc {
    display: none;
  }
}
.topnews .more.sp {
  display: none;
}
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .topnews .more.sp {
    display: inline-block;
  }
}
@media screen and (max-width: 600px) {
  .topnews .more.sp {
    display: inline-block;
  }
}
.topnews .more:hover {
  text-shadow: 0 0 0 #3F3E3D, 0 1.5em 0 #3F3E3D;
}
.topnews .inner, .topnews .footnav ul, .footnav .topnews ul {
  opacity: 0;
}
.topnews.active .inner, .topnews.active .footnav ul, .footnav .topnews.active ul {
  -webkit-animation: fadeIn 1s 0.5s ease-in forwards;
          animation: fadeIn 1s 0.5s ease-in forwards;
}
.topnews.active .newslist {
  -webkit-animation: fadeInUp 0.5s 1s ease-in forwards;
          animation: fadeInUp 0.5s 1s ease-in forwards;
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .tabfooter {
    height: 100dvh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    background: #3F3E3D;
  }
}/*# sourceMappingURL=style.css.map */