<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "UTF-8";
/* mixin */
/* template color */
/* custom color */
/* font */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&amp;family=Noto+Serif+JP&amp;display=swap");
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&amp;family=Shippori+Mincho:wght@400;500;600;700&amp;display=swap");
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New&amp;display=swap");
@import url("https://fonts.googleapis.com/css2?family=Yu+Gothic&amp;display=swap");
.mincho {
  font-family: "Noto Serif JP", 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-weight: 500;
}

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

/* setting */
* {
  margin: 0;
  padding: 0;
}
*:focus {
  outline: none !important;
}

html {
  font-size: 62.5%;
}

body {
  font-family: "Shippori Mincho", serif, "游ゴシック", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
  color: #333;
  background: #fff;
  font-weight: 500;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
}
@media screen and (max-width: 1200px) {
  body {
    -webkit-text-size-adjust: 100%;
  }
}
@media screen and (max-width: 828px) {
  body #swipebox-close {
    right: auto;
    left: 0;
  }
}
@media all and (-ms-high-contrast: none) {
  body {
    font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
  }
}
@media only screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
  body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}

p,
th,
td,
li,
dt,
dd,
address {
  font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
  font-weight: 500;
  line-height: 2;
  font-style: normal;
}

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

ul,
ol {
  list-style: none;
}

h1,
h2,
h3,
h4,
h5 {
  margin: 0;
}
@media screen and (max-width: 828px) {
  h1 br,
  h2 br,
  h3 br,
  h4 br,
  h5 br {
    display: none;
  }
}

h2,
h3,
h4 {
  font-weight: 500;
}

img,
picture,
figure {
  margin: 0;
}

a {
  display: inline-block;
  color: inherit;
  text-decoration: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
a.link {
  display: inline;
  color: #0C1E66;
  text-decoration: underline;
}
a:hover {
  opacity: 0.6;
}

a[href^=tel] {
  color: inherit;
  text-decoration: none;
  cursor: default;
}
a[href^=tel]:hover {
  opacity: 1;
}
@media screen and (min-width: 829px) {
  a[href^=tel] {
    pointer-events: none;
  }
}

.wp-caption {
  margin: 10px;
  padding-top: 4px;
  border: 1px solid #ddd;
  border-radius: 3px;
  background-color: #f3f3f3;
  text-align: center;
}
.wp-caption img {
  margin: 0;
  padding: 0;
  border: none;
}
.wp-caption p.wp-caption-text {
  margin: 0;
  padding: 0 4px 5px;
  font-size: 11px;
  line-height: 17px;
}

.text-center {
  text-align: center;
}
@media screen and (max-width: 828px) {
  .text-center {
    text-align: left;
  }
}

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

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

@media screen and (min-width: 829px) {
  .last-block {
    padding-bottom: 120px;
  }
}
@media screen and (max-width: 828px) {
  .last-block {
    padding-bottom: 60px;
  }
}

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

.image {
  display: block;
  margin: 0 auto;
}

.image--inline {
  display: inline-block;
  vertical-align: middle;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  height: auto !important;
  border: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

tbody,
tr {
  width: 100%;
  height: auto !important;
  border: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

th,
td {
  text-align: left;
  vertical-align: top;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  word-break: break-all;
}

.container {
  position: relative;
  width: 100%;
  max-width: 1230px;
  margin: auto;
  padding-right: 15px;
  padding-left: 15px;
  overflow: clip;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.container.--of {
  overflow: visible;
}
@media screen and (max-width: 1200px) {
  .container {
    padding-right: 20px;
    padding-left: 20px;
  }
  .container.--of {
    overflow: clip;
  }
}

.over--left {
  width: auto;
  max-width: none;
  margin-left: calc((100vw - 1215px) / 2);
  padding: 0;
}
@media screen and (max-width: 1200px) {
  .over--left {
    width: 100%;
    max-width: 1230px;
    margin-right: auto;
    margin-left: auto;
    padding-left: 20px;
  }
  .over--left .image {
    margin-right: -20px;
  }
}

.over--right {
  width: auto;
  max-width: none;
  margin-right: calc((100vw - 1215px) / 2);
  padding: 0;
}
@media screen and (max-width: 1200px) {
  .over--right {
    width: 100%;
    max-width: 1230px;
    margin-right: auto;
    margin-left: auto;
    padding-right: 20px;
  }
  .over--right .image {
    margin-left: -20px;
  }
}

.flickWrap {
  width: 100%;
}
@media screen and (max-width: 828px) {
  .flickWrap {
    padding: 5px 0;
    overflow: auto;
    white-space: nowrap;
  }
  .flickWrap::before {
    margin-bottom: 20px;
    color: #f55;
    font-size: clamp(1.2rem, 1.1290322581vw, 1.4rem);
    content: "※表が見切れる場合は横スクロールでご覧ください。";
  }
  .flickWrap::-webkit-scrollbar {
    height: 5px;
  }
  .flickWrap::-webkit-scrollbar-track, .flickWrap::-webkit-scrollbar-thumb {
    background: #bcbcbc;
  }
}

.lazy {
  opacity: 0;
  position: relative;
  -webkit-transform: translate(0%, 50px);
          transform: translate(0%, 50px);
}
.lazy.--show {
  opacity: 1;
}

.lazy-show {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition: all 1s;
  transition: all 1s;
}

@media screen and (min-width: 829px) {
  .activeNav {
    height: 100%;
    overflow: hidden;
  }
  .columns,
  .cm-column {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 72px;
  }
  .--rev,
  .swap,
  .reverse,
  .--reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
.cm-list .wp-pagenavi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
  text-align: center;
  border-top: 1px solid #B8BCCC;
}
@media screen and (min-width: 829px) {
  .cm-list .wp-pagenavi {
    padding-top: 32px;
    margin-top: 160px;
  }
}
@media screen and (max-width: 828px) {
  .cm-list .wp-pagenavi {
    padding-top: 24px;
    margin-top: 80px;
  }
}
.cm-list a,
.cm-list span {
  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: 36px;
  height: 36px;
  font-size: clamp(1.5rem, 1.6129032258vw, 2rem);
  padding: 0;
  margin: 0;
  border-radius: 50%;
  border: none;
  font-weight: 500;
}
.cm-list a:hover,
.cm-list span:hover {
  opacity: 1;
  color: #fff;
  background-color: #0C1E66;
}
.cm-list .current {
  color: #fff;
  background-color: #0C1E66;
  border-color: #0C1E66;
}
.cm-list .pages {
  display: none;
}
.cm-list .previouspostslink,
.cm-list .nextpostslink {
  border: none;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.cm-list .previouspostslink:hover img,
.cm-list .nextpostslink:hover img {
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}
.cm-list .previouspostslink img,
.cm-list .nextpostslink img {
  max-width: 9px;
}

.single-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-top: 1px solid #B8BCCC;
}
@media screen and (min-width: 829px) {
  .single-nav {
    padding-top: 32px;
    margin-top: 160px;
  }
}
@media screen and (max-width: 828px) {
  .single-nav {
    padding-top: 24px;
    margin-top: 80px;
  }
}
.single-nav a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
  font-size: 1.5rem;
  color: #0C1E66;
}
.single-nav a:hover {
  opacity: 1;
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.single-nav [class*=cm-list] {
  min-width: 55px;
}
.single-nav [class*=cm-list] path {
  fill: #B8BCCC;
}

.cm-btns {
  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;
  gap: 16px;
}
@media screen and (min-width: 829px) {
  .cm-btns {
    margin-top: 56px;
  }
}
@media screen and (max-width: 828px) {
  .cm-btns {
    margin-top: 40px;
  }
}
.cm-btns a {
  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;
  text-align: center;
  font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
  font-weight: 700;
  color: #fff;
  background-color: #0C1E66;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (min-width: 829px) {
  .cm-btns a {
    width: 240px;
    line-height: 56px;
  }
}
@media screen and (max-width: 828px) {
  .cm-btns a {
    width: 200px;
    line-height: 48px;
  }
}
.cm-btns a:hover {
  opacity: 1;
}

.only_pc,
.--pc {
  display: none !important;
}
@media screen and (min-width: 829px) {
  .only_pc,
  .--pc {
    display: block !important;
  }
}

.only_mobile,
.--mobile {
  display: none !important;
}
@media screen and (min-width: 451px) and (max-width: 828px) {
  .only_mobile,
  .--mobile {
    display: block !important;
  }
}

.only_sp,
.--sp {
  display: none !important;
}
@media screen and (max-width: 450px) {
  .only_sp,
  .--sp {
    display: block !important;
  }
}

@media screen and (max-width: 450px) {
  .tablet_only {
    display: none;
  }
}
@media screen and (min-width: 451px) {
  .tablet_hidden {
    display: none;
  }
}

.swipe {
  width: 100%;
}
@media screen and (max-width: 828px) {
  .swipe {
    position: relative;
    padding: 5px 0;
    overflow: hidden;
    z-index: 1;
  }
  .swipe img {
    min-width: 1200px;
  }
  .swipe::before {
    position: absolute;
    content: "";
    z-index: 2;
    max-width: 180px;
    width: 100%;
    max-height: 56px;
    height: 100%;
    top: 60px;
    left: 20px;
    background-image: url(../images/svg_swipe.svg);
    background-position: center left;
    background-size: contain;
    background-repeat: no-repeat;
    -webkit-animation: 2s ease-in-out alternate infinite please__swipe;
            animation: 2s ease-in-out alternate infinite please__swipe;
  }
  .swipe::after {
    position: absolute;
    content: "";
    top: 50%;
    left: 50%;
    display: block;
    width: 100%;
    height: 100%;
    background: #ddd;
    opacity: 0.6;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
  }
  .swipe__on {
    overflow: auto;
    white-space: nowrap;
  }
  .swipe__on::after, .swipe__on::before {
    opacity: 0;
    z-index: -1;
    -webkit-animation: none;
            animation: none;
  }
  .swipe__on::-webkit-scrollbar {
    height: 5px;
  }
  .swipe__on::-webkit-scrollbar-track, .swipe__on::-webkit-scrollbar-thumb {
    background: #bcbcbc;
  }
  .swipe th,
  .swipe td {
    display: table-cell !important;
    white-space: nowrap;
  }
}

@-webkit-keyframes please__swipe {
  0% {
    left: 10px;
  }
  100% {
    left: 50px;
  }
}

@keyframes please__swipe {
  0% {
    left: 10px;
  }
  100% {
    left: 50px;
  }
}
.cm-cards {
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: (1fr)[1];
  grid-template-rows: repeat(1, 1fr);
}
@media screen and (min-width: 451px) {
  .cm-cards {
    -ms-grid-columns: 1fr 40px 1fr 40px 1fr;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px 40px;
  }
}
@media screen and (min-width: 451px) and (max-width: 828px) {
  .cm-cards {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 450px) {
  .cm-cards {
    -ms-grid-columns: 1fr;
    grid-template-columns: repeat(1, 1fr);
    gap: 24px;
  }
}

@media screen and (min-width: 829px) {
  .l-following_contents {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    position: relative;
  }
  .l-following_contents .--side {
    top: 0;
    width: 200px;
  }
  .l-following_contents .--main {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
@media screen and (max-width: 828px) {
  .l-following_contents .--side {
    bottom: 0;
  }
}
.l-following_contents .--side {
  position: sticky;
  left: 0;
}

@media screen and (min-width: 829px) {
  .address_br {
    display: none;
  }
}

/* module */
.cm-bread {
  font-size: clamp(1.2rem, 1.1290322581vw, 1.4rem);
  line-height: 1.6;
  margin-top: clamp(8px, 1vw, 16px);
  margin-bottom: clamp(120px, 9.0625vw, 145px);
}
.cm-bread a {
  color: inherit;
  font-size: inherit;
}
.cm-bread.--error-page {
  margin-top: 128px;
}

.breadcrumbs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

@media screen and (min-width: 1201px) {
  .header .hide__fixed {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
    opacity: 0;
  }
}
.header .--contents {
  height: 96px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 24px;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
@media screen and (max-width: 828px) {
  .header .--contents {
    height: 74px;
    padding: 20px;
  }
}
.header .--logo {
  width: 327px;
}
@media screen and (max-width: 828px) {
  .header .--logo {
    width: 230px;
  }
}
.header .--pic {
  display: block;
}
.header .--pic img.--white {
  display: none;
}
.header .--white img {
  display: none;
}
.header .--white img.--white {
  display: block;
}

.h-columns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: fixed;
  top: 0;
  z-index: 9999;
  width: 100%;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}

.h-trigger {
  position: fixed;
  top: 0;
  right: 0;
  width: 104px;
  height: 96px;
  background: #0C1E66;
  z-index: 10;
  cursor: pointer;
}
@media screen and (max-width: 828px) {
  .h-trigger {
    width: 66px;
    height: 64px;
  }
}
.h-trigger:hover {
  opacity: 1;
  background: #07123D;
}
.h-trigger::after {
  content: "MENU";
  position: absolute;
  left: 50%;
  bottom: 24px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  font-size: clamp(1.2rem, 1.2096774194vw, 1.5rem);
  color: #fff;
}
@media screen and (max-width: 828px) {
  .h-trigger::after {
    bottom: 16px;
  }
}
.h-trigger span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 42px;
  height: 2px;
  background-color: #fff;
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
}
@media screen and (max-width: 828px) {
  .h-trigger span {
    width: 32px;
  }
}
.h-trigger span:nth-of-type(1) {
  -webkit-transform: translateY(calc(-50% - 20px)) translateX(-50%) rotate(0deg);
          transform: translateY(calc(-50% - 20px)) translateX(-50%) rotate(0deg);
}
@media screen and (max-width: 828px) {
  .h-trigger span:nth-of-type(1) {
    -webkit-transform: translateY(calc(-50% - 16px)) translateX(-50%) rotate(0deg);
            transform: translateY(calc(-50% - 16px)) translateX(-50%) rotate(0deg);
  }
}
.h-trigger span:nth-of-type(2) {
  -webkit-transform: translateY(calc(-50% - 7px)) translateX(-50%) rotate(0deg);
          transform: translateY(calc(-50% - 7px)) translateX(-50%) rotate(0deg);
}
@media screen and (max-width: 828px) {
  .h-trigger span:nth-of-type(2) {
    -webkit-transform: translateY(calc(-50% - 6px)) translateX(-50%) rotate(0deg);
            transform: translateY(calc(-50% - 6px)) translateX(-50%) rotate(0deg);
  }
}
.h-trigger.active {
  background: #07123D;
}
.h-trigger.active::after {
  content: "CLOSE";
}
.h-trigger.active span {
  opacity: 0;
}
.h-trigger.active span:nth-of-type(1) {
  opacity: 1;
  -webkit-transform: translate(-50%, calc(-50% - 7px)) rotate(16deg);
          transform: translate(-50%, calc(-50% - 7px)) rotate(16deg);
}
.h-trigger.active span:nth-of-type(2) {
  opacity: 1;
  -webkit-transform: translate(-50%, calc(-50% - 7px)) rotate(-16deg);
          transform: translate(-50%, calc(-50% - 7px)) rotate(-16deg);
}

.h-menu {
  position: fixed;
  top: 0;
  right: 0;
  background-color: #0C1E66;
  width: 100vw;
  height: 100vh;
  opacity: 0;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
  z-index: 9;
  overflow-y: auto;
  padding-top: clamp(120px, 10.5vw, 168px);
  padding-bottom: clamp(20px, 2.5vw, 40px);
}
@media screen and (min-width: 829px) {
  .h-menu {
    max-width: 400px;
  }
}
@media screen and (max-width: 500px) {
  .h-menu {
    padding-top: 80px;
  }
}
.h-menu a {
  font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
  font-weight: 700;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.h-menu ul {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.h-menu .children {
  display: none;
}
.h-menu.active {
  opacity: 1;
  -webkit-transform: translateX(0%);
          transform: translateX(0%);
}
.h-menu a {
  display: block;
  color: #fff;
}
.h-menu .parent-menu {
  max-width: 160px;
  margin: 0 auto;
}
.h-menu .parent-menu:not(.sub-menu) &gt; li + li {
  margin-top: 32px;
}
.h-menu .sub-menu {
  margin-top: 12px;
}
.h-menu .sub-menu a {
  font-size: clamp(1.4rem, 1.2096774194vw, 1.5rem);
  font-weight: 500;
  position: relative;
  padding-left: 1em;
}
.h-menu .sub-menu a::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "-";
}

.f-contents {
  padding: 96px 0 60px;
}
@media screen and (max-width: 828px) {
  .f-contents {
    padding: 60px 0;
  }
}

.f-logo {
  font-size: clamp(1.6rem, 1.6129032258vw, 2rem);
  font-weight: 700;
  margin-bottom: 24px;
}
.f-logo a,
.f-logo img {
  display: block;
  height: auto;
}
.f-logo a {
  width: 140px;
}
@media screen and (max-width: 828px) {
  .f-logo a {
    margin: 0 auto;
  }
}
.f-logo img {
  width: 100%;
}

@media screen and (min-width: 829px) {
  .f-column {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 40px;
  }
}

.f-nav a {
  font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
  font-weight: 700;
}
.f-nav .--parent li {
  font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
  line-height: 1.2;
}
@media screen and (min-width: 829px) {
  .f-nav .--parent {
    width: 580px;
    height: 200px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 32px 72px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .f-nav .--parent li {
    font-weight: 700;
  }
}
.f-nav .sub-menu {
  display: none;
}
@media screen and (min-width: 829px) {
  .f-nav .sub-menu {
    display: block;
    margin-top: 10px;
  }
  .f-nav .sub-menu li {
    border-top: none;
    padding-top: 0;
    line-height: 2;
  }
  .f-nav .sub-menu a {
    position: relative;
    font-size: 1.5rem;
    font-weight: 500;
    padding-left: 1em;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .f-nav .sub-menu a::before {
    position: absolute;
    top: 0;
    left: 0;
    content: "-";
  }
}
@media screen and (max-width: 828px) {
  .f-nav {
    margin-bottom: 56px;
  }
  .f-nav .--parent {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: 100vw;
    margin: 0 -20px;
    border-top: 1px solid #B8BCCC;
  }
  .f-nav li {
    width: 50%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-bottom: 1px solid #B8BCCC;
  }
  .f-nav li:nth-child(even) {
    border-left: 1px solid #B8BCCC;
  }
  .f-nav li a {
    display: block;
    text-align: center;
    padding: 20px 8px;
  }
}

.f-copy {
  font-size: clamp(1.2rem, 1.1290322581vw, 1.4rem);
  font-weight: 600;
  line-height: 2;
  margin-bottom: clamp(40px, 6.75vw, 108px);
}
@media screen and (max-width: 828px) {
  .f-copy {
    text-align: center;
  }
}

.f-address {
  font-size: 1.5rem;
  line-height: 2;
}
@media screen and (max-width: 828px) {
  .f-address {
    text-align: center;
  }
}

.f-rtt {
  display: block;
  position: fixed;
  z-index: 9999;
  right: 0;
  bottom: 0;
  background-color: #0C1E66;
  width: 56px;
  height: 56px;
}
@media screen and (max-width: 828px) {
  .f-rtt {
    width: 40px;
    height: 40px;
  }
}
.f-rtt:hover {
  opacity: 1;
}
.f-rtt img {
  width: 28px;
  height: 8px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-90deg);
  -webkit-transform: translate(-50%, -50%) rotate(-90deg);
  -ms-transform: translate(-50%, -50%) rotate(-90deg);
}
@media screen and (max-width: 828px) {
  .f-rtt img {
    width: 20px;
    height: 6px;
  }
}

.footer {
  margin-top: clamp(180px, 17.5vw, 280px);
}

.cta {
  background-color: #0C1E66;
  color: #fff;
  padding-top: clamp(80px, 7.5vw, 120px);
  padding-bottom: clamp(96px, 7.5vw, 120px);
}
.cta-columns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (min-width: 829px) {
  .cta-columns {
    max-width: 940px;
    gap: 80px;
    margin: 0 auto;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.cta-column.--btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
}
.cta-headwrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 16px;
  line-height: 1;
}
.cta-slug {
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(5.6rem, 5.4838709677vw, 6.8rem);
  font-weight: 600;
}
.cta-title {
  font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  position: relative;
  top: 10px;
}
.cta-title::before {
  content: "/";
  display: block;
}
.cta-lead {
  font-size: clamp(1.6rem, 1.6129032258vw, 2rem);
  font-weight: 500;
  line-height: 2;
  margin-top: clamp(24px, 2.5vw, 40px);
}
.cta-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.cta-btn a {
  position: relative;
  font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
  font-weight: 600;
  width: 100%;
}
.cta-btn a::before, .cta-btn a::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%) scale(0.5, 0.8);
  -webkit-transform: translateY(-50%) scale(0.5, 0.8);
  -ms-transform: translateY(-50%) scale(0.5, 0.8);
  width: 2px;
  height: 100%;
  background-color: #fff;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform-origin: center;
          transform-origin: center;
}
.cta-btn a::before {
  left: 0;
}
.cta-btn a::after {
  right: 0;
}
.cta-btn a:hover {
  opacity: 1;
}
.cta-btn a:hover::before, .cta-btn a:hover::after {
  -webkit-transform: translateY(-50%) scale(0.5, 0.99);
          transform: translateY(-50%) scale(0.5, 0.99);
}
.cta-btn a:hover .--inner::before, .cta-btn a:hover .--inner::after {
  -webkit-transform: translateX(-50%) scale(0.99, 0.5);
          transform: translateX(-50%) scale(0.99, 0.5); /*X方向にスケール拡大*/
}
.cta-btn a .--inner {
  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%;
}
.cta-btn a .--inner::before, .cta-btn a .--inner::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%) scale(0.9, 0.5);
  -webkit-transform: translateX(-50%) scale(0.9, 0.5);
  -ms-transform: translateX(-50%) scale(0.9, 0.5);
  width: 100%;
  height: 2px;
  background: #fff;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform-origin: center;
          transform-origin: center;
}
.cta-btn a .--inner::before {
  top: 0;
}
.cta-btn a .--inner::after {
  bottom: 0;
}
.cta-btn a {
  max-width: 448px;
  height: 105px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.cta-btn .--tel img {
  width: 20px;
}
.cta-btn .--tel .--inner {
  font-size: clamp(3.2rem, 3.2258064516vw, 4rem);
  font-weight: 400;
  letter-spacing: 0.074em;
  text-indent: -0.074em;
}
.cta-btn .--tel small {
  display: block;
  font-size: clamp(1.2rem, 1.1290322581vw, 1.4rem);
  letter-spacing: 0em;
  text-indent: 0em;
}
.cta-btn .--contact {
  font-size: clamp(2rem, 1.935483871vw, 2.4rem);
  font-weight: 500;
}
.cta-btn .--contact img {
  width: 22px;
}
.cta-btn .--inner {
  padding-left: 128px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block !important;
}
.cta-btn .--icon {
  pointer-events: none;
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 50%;
  width: 56px;
  height: 56px;
  position: absolute;
  top: 50%;
  left: 12.5%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
@media screen and (min-width: 829px) {
  .cta-column.--txt {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .cta-column.--btns {
    width: 47.6595744681%;
  }
}
@media screen and (max-width: 828px) {
  .cta-columns {
    gap: 52px;
  }
  .cta-headwrap {
    gap: 8px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .cta-lead {
    text-align: center;
  }
  .cta-lead br {
    display: block;
  }
  .cta-column.--txt {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .cta-column.--btns {
    width: 100%;
    gap: 20px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .cta-btn a {
    max-width: 400px;
  }
}
@media screen and (max-width: 450px) {
  .cta-btn .--tel img {
    width: 11px;
  }
  .cta-btn .--contact img {
    width: 14px;
  }
  .cta-btn .--icon {
    width: 32px;
    height: 32px;
    left: 36px;
  }
  .cta-btn .--inner {
    padding-left: 80px;
  }
}

.f-sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px 18px;
  max-width: 268px;
}
@media screen and (max-width: 828px) {
  .f-sns {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 14px auto 0;
  }
}
.f-sns_pic {
  max-width: 72px;
}
.f-sns_txt {
  font-size: 1.5rem;
  line-height: 1.6;
}

.grecaptcha-badge {
  left: 6px !important;
  width: 70px !important;
  z-index: 9999;
}

.grecaptcha-badge:hover {
  left: 6px !important;
  width: 256px !important;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.mw_wp_form {
  margin-top: 50px;
  padding: 80px;
  background: #F2F5FA;
}
.mw_wp_form li {
  display: inline-block;
}
.mw_wp_form th,
.mw_wp_form td {
  padding: 15px;
  border: none;
  background: none;
  font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
  vertical-align: middle;
  text-align: left;
}
.mw_wp_form th {
  position: relative;
  width: 250px;
  padding-top: 29px;
  padding-bottom: 0;
  color: #333;
  vertical-align: top;
}
.mw_wp_form table {
  width: 100%;
  border: none;
  margin: 0;
}
.mw_wp_form table table th,
.mw_wp_form table table td {
  border: none;
  background: none;
}
.mw_wp_form table table th {
  width: 190px;
  padding: 15px 15px 15px 0;
  color: #333;
  font-weight: normal;
  vertical-align: middle;
}
.mw_wp_form table table td {
  padding: 15px 0;
}
.mw_wp_form table table tr:first-child th,
.mw_wp_form table table tr:first-child td {
  padding-top: 0;
}
.mw_wp_form table table tr:last-child th,
.mw_wp_form table table tr:last-child td {
  padding-bottom: 0;
}
.mw_wp_form span.required, .mw_wp_form span.Required, .mw_wp_form span.any, .mw_wp_form span.Any {
  position: absolute;
  display: inline-block;
  top: 30px;
  padding: 0 10px;
  color: #fff;
  font-size: 1.4rem;
  font-weight: normal;
}
@media screen and (min-width: 829px) {
  .mw_wp_form span.required, .mw_wp_form span.Required, .mw_wp_form span.any, .mw_wp_form span.Any {
    right: 25px;
  }
}
.mw_wp_form span.required, .mw_wp_form span.Required {
  background: #c50000;
}
.mw_wp_form span.any, .mw_wp_form span.Any {
  background: #999;
}
.mw_wp_form label {
  font-weight: normal;
}
.mw_wp_form .check-agree {
  padding: 0 15px;
  font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
  font-weight: 400;
  line-height: 2;
}
.mw_wp_form .check-agree a {
  color: inherit;
  text-decoration: underline;
  color: #0C1E66;
}
.mw_wp_form .check-agree .agree-wrap {
  margin: 20px 0 16px;
  padding: 10px;
  font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 828px) {
  .mw_wp_form .check-agree .agree-wrap {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 828px) {
  .mw_wp_form .check-agree {
    text-align: left;
  }
  .mw_wp_form .check-agree .agree-wrap {
    text-align: center;
  }
}
.mw_wp_form input[type=button],
.mw_wp_form input[type=text],
.mw_wp_form input[type=number],
.mw_wp_form input[type=email],
.mw_wp_form input[type=submit],
.mw_wp_form input[type=image],
.mw_wp_form textarea,
.mw_wp_form select {
  border-radius: 0;
  border: 1px solid #ddd;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  font-family: "Shippori Mincho", serif, "游ゴシック", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: clamp(1.4rem, 1.2903225806vw, 1.6rem);
  color: #333;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.mw_wp_form input[type=text],
.mw_wp_form input[type=number],
.mw_wp_form input[type=email],
.mw_wp_form input[type=tel] {
  max-width: 500px;
  width: 100%;
  padding: 15px;
  background: #fff;
}
.mw_wp_form input[type=text].var01,
.mw_wp_form input[type=number].var01,
.mw_wp_form input[type=email].var01,
.mw_wp_form input[type=tel].var01 {
  max-width: 10em;
}
.mw_wp_form input[type=text].var01::-webkit-input-placeholder, .mw_wp_form input[type=number].var01::-webkit-input-placeholder, .mw_wp_form input[type=email].var01::-webkit-input-placeholder, .mw_wp_form input[type=tel].var01::-webkit-input-placeholder {
  color: #333;
}
.mw_wp_form input[type=text].var01::-moz-placeholder, .mw_wp_form input[type=number].var01::-moz-placeholder, .mw_wp_form input[type=email].var01::-moz-placeholder, .mw_wp_form input[type=tel].var01::-moz-placeholder {
  color: #333;
}
.mw_wp_form input[type=text].var01:-ms-input-placeholder, .mw_wp_form input[type=number].var01:-ms-input-placeholder, .mw_wp_form input[type=email].var01:-ms-input-placeholder, .mw_wp_form input[type=tel].var01:-ms-input-placeholder {
  color: #333;
}
.mw_wp_form input[type=text].var01::-ms-input-placeholder, .mw_wp_form input[type=number].var01::-ms-input-placeholder, .mw_wp_form input[type=email].var01::-ms-input-placeholder, .mw_wp_form input[type=tel].var01::-ms-input-placeholder {
  color: #333;
}
.mw_wp_form input[type=text].var01::placeholder,
.mw_wp_form input[type=number].var01::placeholder,
.mw_wp_form input[type=email].var01::placeholder,
.mw_wp_form input[type=tel].var01::placeholder {
  color: #333;
}
@media screen and (max-width: 500px) {
  .mw_wp_form input[type=text].var01,
  .mw_wp_form input[type=number].var01,
  .mw_wp_form input[type=email].var01,
  .mw_wp_form input[type=tel].var01 {
    max-width: 12em;
    text-align: center;
  }
}
.mw_wp_form input[type=text].var02, .mw_wp_form input[type=text].var03,
.mw_wp_form input[type=number].var02,
.mw_wp_form input[type=number].var03,
.mw_wp_form input[type=email].var02,
.mw_wp_form input[type=email].var03,
.mw_wp_form input[type=tel].var02,
.mw_wp_form input[type=tel].var03 {
  max-width: 5em;
}
.mw_wp_form input[type=checkbox] {
  display: inline-block;
  margin-right: 0.5em;
}
.mw_wp_form input[type=checkbox] + span {
  color: #333;
}
.mw_wp_form input[type=checkbox] + label {
  display: inline-block;
  margin-bottom: 5px;
}
.mw_wp_form input[type=radio] {
  display: none;
}
.mw_wp_form input[type=radio] + .mwform-radio-field-text {
  position: relative;
  margin-right: 20px;
  padding-left: 20px;
}
.mw_wp_form input[type=radio] + .mwform-radio-field-text::before {
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  width: 15px;
  height: 15px;
  border: 1px solid #fff;
  border-radius: 50%;
  background: #fff;
  content: "";
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.mw_wp_form input[type=radio]:checked + .mwform-radio-field-text::after {
  display: block;
  position: absolute;
  top: 50%;
  left: 5px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #605834;
  content: "";
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.mw_wp_form select {
  max-width: 20em;
  height: 48px;
  margin-right: 5px;
  padding: 0 45px 0 15px;
  background: url(../images/common/ico_arrow_select.png) no-repeat right 10px center #fff;
}
.mw_wp_form select::-ms-expand {
  display: none;
}
.mw_wp_form textarea {
  max-width: 790px;
  width: 100%;
  height: 10em;
  padding: 15px;
  background: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.mw_wp_form .bg-danger {
  margin-top: 5px;
  padding: 10px;
}
.mw_wp_form .check-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  margin: -10px;
  margin-top: 16px;
}
@media screen and (max-width: 828px) {
  .mw_wp_form .check-flex {
    margin-top: 8px;
  }
}
.mw_wp_form .check-flex &gt; * {
  margin: 10px;
}
.mw_wp_form input[type=submit],
.mw_wp_form .fm-modoru {
  display: block;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  max-width: 240px;
  min-width: 240px;
  width: 100%;
  line-height: 56px;
  font-family: "Shippori Mincho", serif, "游ゴシック", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  background: url(../images/common/icon_btn-blue.webp) 92% 50% no-repeat #fff;
  background-size: 20px;
  color: #0C1E66;
  border: 1px solid;
  border-color: #0C1E66;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.mw_wp_form input[type=submit]:hover,
.mw_wp_form .fm-modoru:hover {
  opacity: 1;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  background: url(../images/common/icon_btn-white.webp) 94% 50% no-repeat #0C1E66;
  background-size: 20px;
  color: #fff;
}
.mw_wp_form .fm-modoru {
  border-color: #666;
  color: #666;
  background: url(../images/common/icon_btn-gray.webp) 92% 50% no-repeat #fff;
  background-size: 20px;
}
.mw_wp_form .fm-modoru:hover {
  background-color: #666;
}
.mw_wp_form .error {
  display: inline-block;
  margin: 5px 0;
  padding: 10px;
  background-color: #f2dede;
  color: #c50000;
}
.mw_wp_form input[type=checkbox] {
  display: none;
}
.mw_wp_form input[type=checkbox] + .mwform-checkbox-field-text::before {
  display: inline-block;
  width: 40px;
  height: 40px;
  margin-right: 15px;
  background: url(../images/common/checkoff.png) no-repeat 0 0;
  vertical-align: middle;
  content: "";
}
.mw_wp_form input[type=checkbox]:checked + .mwform-checkbox-field-text::before {
  background: url(../images/common/checkon.png) no-repeat 0 0;
}
@media screen and (max-width: 828px) {
  .mw_wp_form {
    padding: 20px;
    padding-bottom: 40px;
  }
}
@media screen and (max-width: 828px) and (min-width: 501px) {
  .mw_wp_form {
    padding: 40px;
  }
}
@media screen and (max-width: 828px) {
  .mw_wp_form table th,
  .mw_wp_form table td {
    display: block;
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .mw_wp_form table th {
    padding: 15px 15px 15px 60px;
    vertical-align: middle;
  }
  .mw_wp_form table th span {
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    right: auto;
    left: 0;
    padding: 3px 10px;
  }
  .mw_wp_form table td {
    padding: 0 0 15px;
  }
  .mw_wp_form table td.var03 + br + input.var01 {
    margin-top: 20px;
  }
  .mw_wp_form table table td {
    padding: 0;
  }
  .mw_wp_form input[type=file],
  .mw_wp_form input[type=text],
  .mw_wp_form input[type=email],
  .mw_wp_form input[type=tel] {
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .mw_wp_form .var01 {
    width: 100%;
    margin-bottom: 10px;
  }
  .mw_wp_form .var02 {
    max-width: 6em;
    width: 80px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 15px 10px;
  }
  .mw_wp_form .btnWrap01 {
    text-align: center;
  }
  .mw_wp_form input[type=submit],
  .mw_wp_form .btnWrap01 a,
  .mw_wp_form .fm-modoru {
    width: 100%;
    min-width: 1px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 450px) {
  .mw_wp_form .horizontal-item + .horizontal-item {
    margin-left: 0;
  }
}

.mw_wp_form_complete {
  padding: 0;
  background: none;
}

.mw_wp_form_confirm th {
  padding: 15px;
  width: 240px;
}
@media screen and (min-width: 829px) {
  .mw_wp_form_confirm th span.required, .mw_wp_form_confirm th span.Required, .mw_wp_form_confirm th span.any, .mw_wp_form_confirm th span.Any {
    top: 18px;
  }
}
.mw_wp_form_confirm .check-agree,
.mw_wp_form_confirm .form__only {
  display: none;
}
@media screen and (max-width: 828px) {
  .mw_wp_form_confirm th {
    padding: 0 15px 0 60px;
  }
}

.ui-datepicker th,
.ui-datepicker td {
  display: table-cell;
  width: auto;
}
.ui-datepicker th {
  padding: 0;
  font-size: 1.2rem;
}
.ui-datepicker td span,
.ui-datepicker td a {
  font-size: 1.2rem;
}

.mw-wp-form-placeholder {
  color: #999;
}

.mw_wp_form .form-calender input[name=day01],
.mw_wp_form .form-calender input[name=day02],
.mw_wp_form .form-calender input[name=day03] {
  margin-left: clamp(12px, 1.25vw, 20px);
}

.mw_wp_form .form-calender input[name=day02],
.mw_wp_form .form-calender input[name=day03] {
  margin-top: clamp(12px, 1.5vw, 24px);
}

.mv {
  position: relative;
}
.mv-mask {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}
@media screen and (max-width: 450px) {
  .mv-mask {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.mv-media {
  overflow: hidden;
  width: 100%;
  overflow: hidden;
}
@media screen and (min-width: 451px) {
  .mv-media {
    width: 50%;
  }
}
.mv-media + .mv-media .mv-pic {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}
.mv-pic {
  position: relative;
  -webkit-transform: scale(1.3);
          transform: scale(1.3);
  -webkit-animation: mv-anim_zoom 2s ease-in-out forwards;
          animation: mv-anim_zoom 2s ease-in-out forwards;
  -webkit-transform: scale(2);
          transform: scale(2);
  opacity: 0;
}
.mv-pic::before {
  position: absolute;
  z-index: 1;
  content: "";
  width: 100%;
  height: 100%;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  background: rgba(0, 0, 0, 0.3);
}
.mv-headwrap {
  color: #fff;
  width: 100%;
  position: absolute;
  z-index: 1;
  top: 47%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -webkit-animation: mv-anim_fade 1s ease-in-out forwards;
          animation: mv-anim_fade 1s ease-in-out forwards;
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
  opacity: 0;
  padding: 0 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.mv-title {
  font-size: clamp(4.8rem, 9.0322580645vw, 11.2rem);
  font-weight: 600;
  text-align: center;
  line-height: 1.2;
}
.mv-title small {
  display: block;
  font-size: clamp(2.3rem, 3.7096774194vw, 4.6rem);
}
.mv-title + p {
  font-size: clamp(1.4rem, 1.935483871vw, 2.4rem);
  font-weight: 700;
  line-height: 1.8;
  text-align: center;
  margin-top: 64px;
}
@media screen and (max-width: 828px) {
  .mv-title + p {
    margin-top: 16px;
  }
}

@-webkit-keyframes mv-anim_zoom {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@keyframes mv-anim_zoom {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@-webkit-keyframes mv-anim_fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes mv-anim_fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.kv {
  position: relative;
}
.kv:not(.--single) {
  color: #fff;
}
.kv:not(.--single) .--head {
  position: absolute;
  bottom: 64px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  width: 100%;
  max-width: 1230px;
  margin: auto;
  padding-right: 15px;
  padding-left: 15px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-animation: kv-anim_fade 1s ease-in-out forwards;
          animation: kv-anim_fade 1s ease-in-out forwards;
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
}
@media screen and (max-width: 828px) {
  .kv:not(.--single) .--head {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media screen and (max-width: 500px) {
  .kv:not(.--single) .--head {
    bottom: 48px;
    padding: 0 35px;
  }
}
.kv.--single {
  margin-top: 96px;
}
.kv.--single .--slug {
  color: #0C1E66;
}
.kv.--single .--head {
  padding-top: clamp(76px, 9.5vw, 152px);
  padding-bottom: clamp(40px, 5vw, 80px);
  -webkit-animation: kv-anim_fade 1s ease-in-out forwards;
          animation: kv-anim_fade 1s ease-in-out forwards;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}
.kv .--head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 16px;
  opacity: 0;
}
@media screen and (max-width: 500px) {
  .kv .--head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0px;
  }
}
.kv .--slug {
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(4.8rem, 5.4838709677vw, 6.8rem);
  font-weight: 600;
  text-transform: capitalize;
  line-height: 1;
}
.kv .--title {
  font-size: clamp(1.8rem, 1.6129032258vw, 2rem);
  font-weight: 700;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  position: relative;
  top: 10px;
}
.kv .--title::before {
  content: "/";
  display: block;
}

@media screen and (min-width: 451px) {
  .kv-service .kv-pic::before {
    background-image: url("../../../uploads/2024/06/kv-pc-service-scaled.jpg");
  }
}
@media screen and (max-width: 450px) {
  .kv-service .kv-pic::before {
    background-image: url("../../../uploads/2024/06/kv-sp-service.jpg");
  }
}

@media screen and (min-width: 451px) {
  .kv-details .kv-pic::before {
    background-image: url("../../../uploads/2024/06/kv-pc-details-scaled.jpg");
  }
}
@media screen and (max-width: 450px) {
  .kv-details .kv-pic::before {
    background-image: url("../../../uploads/2024/06/kv-sp-details.jpg");
  }
}

@media screen and (min-width: 451px) {
  .kv-cases .kv-pic::before {
    background-image: url("../../../uploads/2024/06/kv-pc-cases-scaled.jpg");
  }
}
@media screen and (max-width: 450px) {
  .kv-cases .kv-pic::before {
    background-image: url("../../../uploads/2024/06/kv-sp-cases.jpg");
  }
}

@media screen and (min-width: 451px) {
  .kv-topics .kv-pic::before {
    background-image: url("../../../uploads/2024/06/kv-pc-topics-scaled.jpg");
  }
}
@media screen and (max-width: 450px) {
  .kv-topics .kv-pic::before {
    background-image: url("../../../uploads/2024/06/kv-sp-topics.jpg");
  }
}

@media screen and (min-width: 451px) {
  .kv-office .kv-pic::before {
    background-image: url("../../../uploads/2024/06/kv-pc-office-scaled.jpg");
  }
}
@media screen and (max-width: 450px) {
  .kv-office .kv-pic::before {
    background-image: url("../../../uploads/2024/06/kv-sp-office.jpg");
  }
}

@media screen and (min-width: 451px) {
  .kv-contact .kv-pic::before {
    background-image: url("../../../uploads/2024/06/kv-pc-contact-scaled.jpg");
  }
}
@media screen and (max-width: 450px) {
  .kv-contact .kv-pic::before {
    background-image: url("../../../uploads/2024/06/kv-sp-contact.jpg");
  }
}

.kv-pic {
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 450px) {
  .kv-pic img {
    aspect-ratio: 375/360;
    width: 100%;
    height: 100%;
  }
}
.kv-pic::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: contain;
  z-index: -1;
  -webkit-transform: scale(1.3);
          transform: scale(1.3);
  -webkit-animation: kv-anim_zoom 2s ease-in-out forwards;
          animation: kv-anim_zoom 2s ease-in-out forwards;
  -webkit-transform: scale(2);
          transform: scale(2);
  opacity: 0;
}
@media screen and (max-width: 450px) {
  .kv-pic::before {
    background-size: cover;
  }
}

@-webkit-keyframes kv-anim_zoom {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@keyframes kv-anim_zoom {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@-webkit-keyframes kv-anim_fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes kv-anim_fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.fade {
  opacity: 0;
  transform: translate(0, 100px);
  -webkit-transform: translate(0, 100px);
}
.fade-show {
  opacity: 1;
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
  -webkit-transition: all 2s ease;
  transition: all 2s ease;
}
.fade-show.delay-1 {
  -webkit-transition-delay: 0.5s;
  transition-delay: 0.5s;
}
@media screen and (max-width: 500px) {
  .fade-show.delay-1 {
    -webkit-transition-delay: 0.2s;
            transition-delay: 0.2s;
  }
}
.fade-show.delay-2 {
  -webkit-transition-delay: 1s;
  transition-delay: 1s;
}
@media screen and (max-width: 500px) {
  .fade-show.delay-2 {
    -webkit-transition-delay: 0.2s;
            transition-delay: 0.2s;
  }
}
.fade-show.delay-3 {
  -webkit-transition-delay: 1.5s;
  transition-delay: 1.5s;
}
@media screen and (max-width: 500px) {
  .fade-show.delay-3 {
    -webkit-transition-delay: 0.2s;
            transition-delay: 0.2s;
  }
}
.fade-show.delay-4 {
  -webkit-transition-delay: 3s;
  transition-delay: 3s;
}
.fade-show.delay-5 {
  -webkit-transition-delay: 2.5s;
  transition-delay: 2.5s;
}

/* page */
.m-news_list {
  border-bottom: 1px solid #ddd;
  padding-bottom: 16px;
}
@media screen and (min-width: 829px) {
  .m-news_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 16px;
  }
}
.m-news_list + .m-news_list {
  padding-top: 16px;
}
.m-news_list time {
  font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
  font-weight: 500;
  color: #0C1E66;
}
.m-news_list a {
  display: inline-block;
  font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
}

.m-news_more {
  margin-top: 16px;
}
.m-news_more a {
  font-size: clamp(1.4rem, 1.2096774194vw, 1.5rem);
}

.m-topics {
  position: relative;
  top: -56px;
  margin-bottom: -56px;
  z-index: 4;
}
@media screen and (max-width: 1200px) {
  .m-topics .over--right {
    padding-left: 0;
  }
}
.m-topics__inner {
  background-color: #fff;
  padding: 122px 80px 160px 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 1000px) {
  .m-topics__inner {
    padding: 72px 0 80px;
  }
}
.m-topics__columns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 40px;
  max-width: 1104px;
  padding-left: 15px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-left: auto;
}
@media screen and (max-width: 828px) {
  .m-topics__columns {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 56px;
  }
}
@media screen and (max-width: 1200px) {
  .m-topics__columns {
    padding-left: 20px;
  }
}
.m-topics__headwrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  line-height: 1;
  height: 83px;
}
@media screen and (max-width: 828px) {
  .m-topics__headwrap {
    height: 68px;
  }
}
.m-topics__headwrap .--slug {
  font-size: clamp(5.6rem, 5.4838709677vw, 6.8rem);
  font-weight: 600;
  color: #0C1E66;
}
.m-topics__headwrap .--title {
  font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  position: relative;
  top: 10px;
}
.m-topics__headwrap .--title::before {
  content: "/";
  display: block;
}
.m-topics__contents {
  width: 100%;
}
@media screen and (min-width: 829px) {
  .m-topics__contents {
    width: 66.7572463768%;
  }
}
.m-topics__list + .m-topics__list {
  margin-top: 28px;
}
.m-topics__link {
  display: block;
  position: relative;
  padding-bottom: 28px;
}
.m-topics__link::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #B8BCCC;
}
.m-topics__link::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #0C1E66;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: left top;
          transform-origin: left top;
}
.m-topics__link:hover {
  opacity: 1;
}
.m-topics__link:hover::after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
.m-topics__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  margin-bottom: 16px;
}
.m-topics__wrap .--time {
  display: block;
  color: #B8BCCC;
  font-size: 1.8rem;
  line-height: 1;
}
.m-topics__wrap .--cat {
  display: block;
  background-color: #0C1E66;
  color: #fff;
  width: 118px;
  max-height: 24px;
  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: 1.5rem;
}
.m-topics h3 {
  font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
  font-weight: 500;
  line-height: 2;
}
.m-topics__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  position: relative;
  margin-top: 24px;
}
.m-topics__btn .--icon {
  position: absolute;
  top: 48.2142857143%;
  right: 16px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.m-topics__btn .--icon svg {
  display: block;
}
.m-topics__btn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  max-width: 120px;
  font-size: 1.8rem;
  position: relative;
  color: #0C1E66;
}
.m-topics__btn a:hover {
  opacity: 1;
}
.m-topics__btn a:hover .--icon {
  right: 6px;
}

.m-concept {
  position: relative;
  top: -75px;
  margin-bottom: -75px;
}
@media screen and (max-width: 828px) {
  .m-concept .over--left {
    padding-left: 0;
  }
  .m-concept .over--left .image {
    margin-right: 0;
  }
}
.m-concept__pic--pc {
  position: relative;
  width: 44%;
  max-width: 704px;
}
.m-concept__pic--pc img {
  position: absolute;
  top: -75px;
  left: 0;
  z-index: 10;
}
@media screen and (max-width: 828px) {
  .m-concept__pic--pc {
    display: none;
  }
}
@media screen and (max-width: 1200px) {
  .m-concept__pic--pc {
    width: 38.75%;
  }
}
@media screen and (min-width: 1501px) {
  .m-concept__pic--pc {
    width: 58.6666666667%;
  }
}
@media screen and (min-width: 1601px) {
  .m-concept__pic--pc {
    width: 100%;
    max-width: 44%;
  }
}
.m-concept__pic--tablet {
  position: relative;
  top: -230px;
  margin-bottom: -230px;
  margin-right: 20px;
}
@media screen and (max-width: 828px) and (min-width: 501px) {
  .m-concept__pic--tablet {
    max-width: 600px;
  }
}
@media screen and (min-width: 829px) {
  .m-concept__pic--tablet {
    display: none;
  }
}
.m-concept__inner {
  background-color: #F2F5FA;
  padding-bottom: 280px;
}
@media screen and (max-width: 1200px) {
  .m-concept__inner {
    padding: 0 20px 280px;
  }
}
.m-concept__headwrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  line-height: 1;
  height: 83px;
  margin-bottom: clamp(56px, 4.5vw, 72px);
}
@media screen and (max-width: 828px) {
  .m-concept__headwrap {
    height: 68px;
  }
}
.m-concept__headwrap .--slug {
  font-size: clamp(5.6rem, 5.4838709677vw, 6.8rem);
  font-weight: 600;
  color: #0C1E66;
}
.m-concept__headwrap .--title {
  font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  position: relative;
  top: 10px;
}
.m-concept__headwrap .--title::before {
  content: "/";
  display: block;
}
.m-concept__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 829px) {
  .m-concept__wrap {
    max-width: 54%;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-left: auto;
  }
}
@media screen and (min-width: 1501px) {
  .m-concept__wrap {
    max-width: 72%;
  }
}
.m-concept__bg figure {
  opacity: 0.2;
}
@media screen and (max-width: 828px) {
  .m-concept__bg figure {
    width: 100vw;
    margin: 0 -20px;
  }
}
@media screen and (max-width: 500px) {
  .m-concept__bg--pc {
    display: none;
  }
}
@media screen and (min-width: 501px) {
  .m-concept__bg--tablet {
    display: none;
  }
}
.m-concept__txt {
  position: relative;
  top: -100px;
  margin-bottom: -100px;
  max-width: 552px;
}
.m-concept__lead {
  font-size: clamp(2rem, 1.935483871vw, 2.4rem);
  font-weight: 500;
  line-height: 2;
}
.m-concept__lead + p {
  margin-top: clamp(32px, 2.5vw, 40px);
}
.m-concept__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  max-width: 1104px;
  margin: 0 auto;
  margin-top: clamp(56px, 5.5vw, 88px);
}
@media screen and (max-width: 828px) {
  .m-concept__box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.m-concept__def {
  background-color: #fff;
  padding: 40px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 1200px) {
  .m-concept__def {
    padding: 32px;
  }
}
@media screen and (min-width: 829px) {
  .m-concept__def {
    width: calc(33.3333333333% - 8px);
  }
}
.m-concept__def .--dtit {
  width: 60px;
  font-size: 3rem;
  line-height: 1.2;
}
.m-concept__def .--dtit span {
  display: block;
  font-size: 1.6rem;
  text-align: center;
  color: #0C1E66;
  line-height: 2;
}
.m-concept__def .--data {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding-left: 28px;
  margin-left: 28px;
  border-left: 1px solid #B8BCCC;
}

.m-greeting {
  margin-top: 98px;
}
@media screen and (max-width: 1200px) and (min-width: 829px) {
  .m-greeting .container.--of {
    overflow: visible;
  }
}
.m-greeting__columns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 200px;
}
@media screen and (max-width: 828px) {
  .m-greeting__columns {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 56px;
  }
}
@media screen and (max-width: 1200px) and (min-width: 830px) {
  .m-greeting__columns {
    gap: 80px;
  }
}
@media screen and (min-width: 829px) {
  .m-greeting__txt {
    width: 41.3333333333%;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
.m-greeting__pic {
  margin: 0 auto;
}
@media screen and (min-width: 829px) {
  .m-greeting__pic {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    position: relative;
    top: -146px;
    margin-bottom: -146px;
  }
}
@media screen and (max-width: 828px) {
  .m-greeting__pic {
    max-width: 400px;
  }
}
@media screen and (max-width: 500px) {
  .m-greeting__pic {
    margin-right: -20px;
  }
}
.m-greeting__headwrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  line-height: 1;
  height: 83px;
  margin-bottom: clamp(56px, 4.5vw, 72px);
}
@media screen and (max-width: 828px) {
  .m-greeting__headwrap {
    height: 68px;
  }
}
.m-greeting__headwrap .--slug {
  font-size: clamp(5.6rem, 5.4838709677vw, 6.8rem);
  font-weight: 600;
  color: #0C1E66;
}
.m-greeting__headwrap .--title {
  font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  position: relative;
  top: 10px;
}
.m-greeting__headwrap .--title::before {
  content: "/";
  display: block;
}
.m-greeting__lead {
  font-size: clamp(2rem, 1.935483871vw, 2.4rem);
  font-weight: 500;
  line-height: 2;
}
.m-greeting__lead + p {
  margin-top: clamp(32px, 2.5vw, 40px);
}
.m-greeting__btn {
  margin-top: clamp(48px, 5vw, 80px);
}
.m-greeting__btn a {
  position: relative;
  font-size: 1.8rem;
  font-weight: 600;
  color: #0C1E66;
  width: 100%;
  max-width: 200px;
  background-color: #fff;
}
.m-greeting__btn a::before, .m-greeting__btn a::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%) scale(0.5, 0.8);
  -webkit-transform: translateY(-50%) scale(0.5, 0.8);
  -ms-transform: translateY(-50%) scale(0.5, 0.8);
  width: 2px;
  height: 100%;
  background-color: #0C1E66;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform-origin: center;
          transform-origin: center;
}
.m-greeting__btn a::before {
  left: 0;
}
.m-greeting__btn a::after {
  right: 0;
}
.m-greeting__btn a:hover {
  opacity: 1;
}
.m-greeting__btn a:hover::before, .m-greeting__btn a:hover::after {
  -webkit-transform: translateY(-50%) scale(0.5, 0.99);
          transform: translateY(-50%) scale(0.5, 0.99);
}
.m-greeting__btn a:hover .--inner::before, .m-greeting__btn a:hover .--inner::after {
  -webkit-transform: translateX(-50%) scale(0.99, 0.5);
          transform: translateX(-50%) scale(0.99, 0.5);
}
.m-greeting__btn a:hover .--icon {
  right: 10px;
}
.m-greeting__btn a .--inner {
  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%;
  line-height: 56px;
}
.m-greeting__btn a .--inner::before, .m-greeting__btn a .--inner::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%) scale(0.9, 0.5);
  -webkit-transform: translateX(-50%) scale(0.9, 0.5);
  -ms-transform: translateX(-50%) scale(0.9, 0.5);
  width: 100%;
  height: 2px;
  background: #0C1E66;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform-origin: center;
          transform-origin: center;
}
.m-greeting__btn a .--inner::before {
  top: 0;
}
.m-greeting__btn a .--inner::after {
  bottom: 0;
}
.m-greeting__btn a .--icon {
  position: absolute;
  top: 48.2142857143%;
  right: 16px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.m-greeting__btn a .--icon svg {
  display: block;
}

.m-service {
  margin-top: 94px;
  background-image: linear-gradient(0deg, transparent calc(100% - 1px), #F2F5FA calc(100% - 1px)), linear-gradient(90deg, transparent calc(100% - 1px), #F2F5FA calc(100% - 1px));
  background-size: 20px 20px;
  background-repeat: repeat;
  background-position: center center;
  padding-top: clamp(104px, 9vw, 144px);
  padding-bottom: clamp(88px, 8vw, 128px);
  position: relative;
}
.m-service__bg {
  opacity: 0.1;
  max-width: 947px;
  position: absolute;
  top: 0;
  left: 0;
}
.m-service__headwrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  line-height: 1;
  height: 83px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: clamp(56px, 5.5vw, 88px);
}
@media screen and (max-width: 828px) {
  .m-service__headwrap {
    height: 68px;
  }
}
.m-service__headwrap .--slug {
  font-size: clamp(5.6rem, 5.4838709677vw, 6.8rem);
  font-weight: 600;
  color: #0C1E66;
}
.m-service__headwrap .--title {
  font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  position: relative;
  top: 10px;
}
.m-service__headwrap .--title::before {
  content: "/";
  display: block;
}
.m-service__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
  border-bottom: 4px solid #0C1E66;
}
.m-service__item {
  font-size: 2rem;
  width: calc(50% - 2px);
  height: 80px;
  line-height: 1.2;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  list-style: none;
  text-align: center;
  cursor: pointer;
  background-color: #F2F5FA;
  color: #0C1E66;
  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;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.m-service__item.is-active, .m-service__item:hover {
  background-color: #0C1E66;
  color: #fff;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
.m-service__panel {
  background-color: #fff;
  padding: 80px 72px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 828px) {
  .m-service__panel {
    padding: 40px 20px 56px;
  }
}
@media screen and (max-width: 500px) {
  .m-service__panel {
    padding: 20px 0;
  }
}
.m-service .js-panel:not(.is-show) {
  overflow: hidden;
  height: 0;
  opacity: 0;
}
.m-service .js-panel.is-show {
  overflow: visible;
  height: auto;
  opacity: 1;
  -webkit-transition: opacity 0.4s ease-in-out;
  transition: opacity 0.4s ease-in-out;
}
.m-service__cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 48px;
}
@media screen and (max-width: 828px) {
  .m-service__cards {
    gap: 10px;
  }
}
.m-service .--pic {
  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;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
  font-weight: 600;
  line-height: 1.2;
  width: 144px;
  min-width: 144px;
  height: 144px;
  background-color: #fff;
  border-radius: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 500px) {
  .m-service .--pic {
    width: 120px;
    min-width: 120px;
    height: 120px;
  }
}
.m-service .--pic img {
  width: 80px;
  height: 80px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.m-service__card {
  position: relative;
}
.m-service__card .--link {
  font-size: 1.6rem;
  font-weight: 400;
  background-color: #F2F5FA;
  color: #0C1E66;
  display: block;
  width: 100%;
  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;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.m-service__card .--link::after {
  content: "";
  display: inline-block;
  background: url("../images/common/icon_btn-blue.webp") no-repeat 50% 50%;
  background-size: contain;
  width: 20px;
  height: 6px;
  position: absolute;
  right: 20px;
  bottom: 16px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.m-service__card .--link:hover {
  opacity: 1;
}
.m-service__card .--link:hover::after {
  right: 10px;
}
.m-service__card .--link:hover .--pic img {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}
.m-service__card.--wide {
  width: 100%;
}
.m-service__card.--wide .--link {
  gap: 40px;
  padding: 40px;
}
@media screen and (max-width: 500px) {
  .m-service__card.--wide .--link {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 16px;
    padding: 24px 20px 38px;
  }
}
.m-service__card.--narrow {
  width: calc(50% - 5px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 501px) {
  .m-service__card.--narrow {
    width: calc(33.3333333333% - 6.6666666667px);
  }
}
@media screen and (min-width: 829px) {
  .m-service__card.--narrow {
    width: calc(33.3333333333% - 32px);
  }
}
.m-service__card.--narrow .--link {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  padding: 40px 20px 32px;
  line-height: 1.25;
}
@media screen and (min-width: 829px) {
  .m-service__card.--narrow .--link br {
    display: none;
  }
}
@media screen and (max-width: 500px) {
  .m-service__card.--narrow .--link {
    gap: 16px;
    padding: 24px 12px 38px;
  }
}
.m-service__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: clamp(48px, 5vw, 80px);
}
.m-service__btn a {
  position: relative;
  font-size: 1.8rem;
  font-weight: 600;
  color: #0C1E66;
  width: 100%;
  max-width: 200px;
  background-color: #fff;
}
.m-service__btn a::before, .m-service__btn a::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%) scale(0.5, 0.8);
  -webkit-transform: translateY(-50%) scale(0.5, 0.8);
  -ms-transform: translateY(-50%) scale(0.5, 0.8);
  width: 2px;
  height: 100%;
  background-color: #0C1E66;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform-origin: center;
          transform-origin: center;
}
.m-service__btn a::before {
  left: 0;
}
.m-service__btn a::after {
  right: 0;
}
.m-service__btn a:hover {
  opacity: 1;
}
.m-service__btn a:hover::before, .m-service__btn a:hover::after {
  -webkit-transform: translateY(-50%) scale(0.5, 0.99);
          transform: translateY(-50%) scale(0.5, 0.99);
}
.m-service__btn a:hover .--inner::before, .m-service__btn a:hover .--inner::after {
  -webkit-transform: translateX(-50%) scale(0.99, 0.5);
          transform: translateX(-50%) scale(0.99, 0.5);
}
.m-service__btn a:hover .--icon {
  right: 10px;
}
.m-service__btn a .--inner {
  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%;
  line-height: 56px;
}
.m-service__btn a .--inner::before, .m-service__btn a .--inner::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%) scale(0.9, 0.5);
  -webkit-transform: translateX(-50%) scale(0.9, 0.5);
  -ms-transform: translateX(-50%) scale(0.9, 0.5);
  width: 100%;
  height: 2px;
  background: #0C1E66;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform-origin: center;
          transform-origin: center;
}
.m-service__btn a .--inner::before {
  top: 0;
}
.m-service__btn a .--inner::after {
  bottom: 0;
}
.m-service__btn a .--icon {
  position: absolute;
  top: 48.2142857143%;
  right: 16px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.m-service__btn a .--icon svg {
  display: block;
}

.home__section {
  margin-top: clamp(96px, 7.5vw, 120px);
}
.home__headwrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  line-height: 1;
  height: 83px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 24px;
  height: auto !important;
}
@media screen and (max-width: 828px) {
  .home__headwrap {
    height: 68px;
  }
}
.home__headwrap .--slug {
  font-size: clamp(5.6rem, 5.4838709677vw, 6.8rem);
  font-weight: 600;
  color: #0C1E66;
}
.home__headwrap .--title {
  font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  position: relative;
  top: 10px;
}
.home__headwrap .--title::before {
  content: "/";
  display: block;
}
@media screen and (max-width: 828px) {
  .home__headwrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0;
    margin-bottom: 32px;
  }
  .home__headwrap .--slug {
    line-height: 1;
  }
}
.home__inner::before, .home__inner::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%) scale(0.9, 0.5);
  -webkit-transform: translateX(-50%) scale(0.9, 0.5);
  -ms-transform: translateX(-50%) scale(0.9, 0.5);
  width: 100%;
  height: 2px;
  background: #0C1E66;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform-origin: center;
          transform-origin: center;
}
@media screen and (max-width: 828px) {
  .home__inner::before, .home__inner::after {
    -webkit-transform: translateX(-50%) scale(1, 0.5);
            transform: translateX(-50%) scale(1, 0.5);
  }
}
.home__inner::before {
  top: 0;
}
.home__inner::after {
  bottom: 0;
}
@media screen and (max-width: 500px) {
  .home__inner p br {
    display: none;
  }
}
.home__bg {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (min-width: 829px) {
  .home__bg {
    opacity: 0;
  }
}
.home__bg img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
}
.home__bg::before {
  position: absolute;
  z-index: 1;
  content: "";
  width: 100%;
  height: 100%;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  background: rgba(0, 0, 0, 0.4);
}
.home__cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 48px;
}
@media screen and (max-width: 828px) {
  .home__cards {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-width: 500px;
    margin: 0 auto;
  }
}
.home__card {
  padding: 104px 80px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 1200px) {
  .home__card {
    padding: 56px 40px;
  }
}
@media screen and (min-width: 829px) {
  .home__card {
    width: calc(50% - 24px);
  }
}
@media screen and (max-width: 828px) {
  .home__card {
    color: #fff;
  }
  .home__card .home__bg {
    opacity: 1;
  }
  .home__card .--slug {
    color: #fff;
  }
  .home__card .--icon {
    right: 10px;
  }
  .home__card .--icon path {
    stroke: #fff;
  }
}
.home__card::before, .home__card::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%) scale(0.5, 0.8);
  -webkit-transform: translateY(-50%) scale(0.5, 0.8);
  -ms-transform: translateY(-50%) scale(0.5, 0.8);
  width: 2px;
  height: 100%;
  background-color: #0C1E66;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform-origin: center;
          transform-origin: center;
}
@media screen and (max-width: 828px) {
  .home__card::before, .home__card::after {
    -webkit-transform: translateY(-50%) scale(0.5, 1);
            transform: translateY(-50%) scale(0.5, 1);
  }
}
.home__card::before {
  left: 0;
}
.home__card::after {
  right: 0;
}
.home__card:hover {
  color: #fff;
  opacity: 1;
}
.home__card:hover::before, .home__card:hover::after {
  -webkit-transform: translateY(-50%) scale(0.5, 1);
          transform: translateY(-50%) scale(0.5, 1);
}
.home__card:hover .home__inner::before, .home__card:hover .home__inner::after {
  -webkit-transform: translateX(-50%) scale(1, 0.5);
          transform: translateX(-50%) scale(1, 0.5);
}
.home__card:hover .home__bg {
  opacity: 1;
}
.home__card:hover .--slug {
  color: #fff;
}
.home__card:hover .--icon {
  right: 10px;
}
.home__card:hover .--icon path {
  stroke: #fff;
}
.home__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  position: relative;
  right: -24px;
  margin-top: clamp(24px, 3vw, 48px);
}
.home__btn--link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  max-width: 120px;
  font-size: 1.8rem;
  position: relative;
}
.home__btn .--icon {
  position: absolute;
  top: 48.2142857143%;
  right: 16px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.home__btn .--icon svg {
  display: block;
}

.m-office {
  margin-top: 180px;
  padding: 160px 20px;
  position: relative;
}
@media screen and (min-width: 829px) {
  .m-office {
    background-image: url("../../../uploads/2024/06/bg_m-banner-pc-scaled.jpg");
    background-size: cover;
    background-repeat: repeat;
    background-position: center center;
  }
}
@media screen and (max-width: 828px) {
  .m-office {
    background-image: url("../../../uploads/2024/06/bg_m-banner-sp.jpg");
    background-size: cover;
    background-repeat: repeat;
    background-position: center center;
    padding: 80px 20px;
  }
}
.m-office::before {
  position: absolute;
  top: 0;
  right: 0;
  content: "";
  width: 100%;
  height: 100%;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  background: rgba(0, 0, 0, 0.5);
}
.m-office__headwrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  line-height: 1;
  height: 83px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: clamp(48px, 3.3125vw, 53px);
  color: #fff;
}
@media screen and (max-width: 828px) {
  .m-office__headwrap {
    height: 68px;
  }
}
.m-office__headwrap .--slug {
  font-size: clamp(5.6rem, 5.4838709677vw, 6.8rem);
  font-weight: 600;
  color: #0C1E66;
}
.m-office__headwrap .--title {
  font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  position: relative;
  top: 10px;
}
.m-office__headwrap .--title::before {
  content: "/";
  display: block;
}
.m-office__headwrap .--slug {
  color: #fff;
}
.m-office__btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.m-office__btns a {
  position: relative;
  font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
  font-weight: 600;
  color: #0C1E66;
}
.m-office__btns a::before, .m-office__btns a::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%) scale(0.5, 0.8);
  -webkit-transform: translateY(-50%) scale(0.5, 0.8);
  -ms-transform: translateY(-50%) scale(0.5, 0.8);
  width: 2px;
  height: 100%;
  background-color: #0C1E66;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform-origin: center;
          transform-origin: center;
}
.m-office__btns a::before {
  left: 0;
}
.m-office__btns a::after {
  right: 0;
}
.m-office__btns a:hover {
  opacity: 1;
}
.m-office__btns a:hover::before, .m-office__btns a:hover::after {
  -webkit-transform: translateY(-50%) scale(0.5, 0.99);
          transform: translateY(-50%) scale(0.5, 0.99);
}
.m-office__btns a:hover .--inner::before, .m-office__btns a:hover .--inner::after {
  -webkit-transform: translateX(-50%) scale(0.99, 0.5);
          transform: translateX(-50%) scale(0.99, 0.5); /*X方向にスケール拡大*/
}
.m-office__btns a:hover .--icon {
  right: 10px;
}
.m-office__btns a .--inner {
  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: 240px;
  line-height: 56px;
}
.m-office__btns a .--inner::before, .m-office__btns a .--inner::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%) scale(0.9, 0.5);
  -webkit-transform: translateX(-50%) scale(0.9, 0.5);
  -ms-transform: translateX(-50%) scale(0.9, 0.5);
  width: 100%;
  height: 2px;
  background: #0C1E66;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform-origin: center;
          transform-origin: center;
}
.m-office__btns a .--inner::before {
  top: 0;
}
.m-office__btns a .--inner::after {
  bottom: 0;
}
.m-office__btns a .--icon {
  position: absolute;
  top: 48.2142857143%;
  right: 16px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.m-office__btns a .--icon svg {
  display: block;
}
@media screen and (max-width: 828px) {
  .m-office__btns {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-width: 280px;
    margin: 0 auto;
  }
}
.m-office__btns a::before, .m-office__btns a::after {
  background-color: #fff;
}
.m-office__btns a .--inner {
  width: 280px;
  color: #fff;
}
.m-office__btns a .--inner::before, .m-office__btns a .--inner::after {
  background: #fff !important;
}
.m-office__btns a .--icon svg path {
  stroke: #fff;
}

.m-body + footer {
  margin-top: 0;
}

.l-policy dd {
  font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
}
.l-policy dd + dt {
  font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
  color: #0C1E66;
  margin-top: 48px;
  font-weight: 500;
  margin-bottom: 5px;
}
.l-policy li {
  position: relative;
  font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
  padding-left: 1em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.l-policy li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "・";
}

.l-found_lead {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
  margin-bottom: 40px;
}
.l-found_lead span {
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(3.6rem, 4.8387096774vw, 6rem);
  font-weight: 600;
  color: #B8BCCC;
}
.l-found_lead h2 {
  font-size: clamp(2rem, 1.935483871vw, 2.4rem);
  font-weight: 500;
}
@media screen and (min-width: 829px) {
  .l-found_menu {
    margin-top: 64px;
  }
  .l-found_menu ul {
    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;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 24px 0;
    max-width: 732px;
    margin: auto;
  }
  .l-found_menu li {
    font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
    padding: 0 24px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    line-height: 1;
  }
  .l-found_menu li + li {
    border-left: 1px solid #909090;
  }
  .l-found_menu a {
    font-size: inherit;
  }
}
@media screen and (max-width: 828px) {
  .l-found_menu {
    margin-top: 40px;
  }
  .l-found_menu li {
    border-bottom: 1px solid #909090;
  }
  .l-found_menu a {
    font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
    padding: 1em;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}
.l-found_menu a {
  display: block;
  text-align: center;
}
.l-found_btn {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: clamp(48px, 5vw, 80px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.l-found_btn a {
  position: relative;
  font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
  font-weight: 600;
  color: #0C1E66;
}
.l-found_btn a::before, .l-found_btn a::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%) scale(0.5, 0.8);
  -webkit-transform: translateY(-50%) scale(0.5, 0.8);
  -ms-transform: translateY(-50%) scale(0.5, 0.8);
  width: 2px;
  height: 100%;
  background-color: #0C1E66;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform-origin: center;
          transform-origin: center;
}
.l-found_btn a::before {
  left: 0;
}
.l-found_btn a::after {
  right: 0;
}
.l-found_btn a:hover {
  opacity: 1;
}
.l-found_btn a:hover::before, .l-found_btn a:hover::after {
  -webkit-transform: translateY(-50%) scale(0.5, 0.99);
          transform: translateY(-50%) scale(0.5, 0.99);
}
.l-found_btn a:hover .--inner::before, .l-found_btn a:hover .--inner::after {
  -webkit-transform: translateX(-50%) scale(0.99, 0.5);
          transform: translateX(-50%) scale(0.99, 0.5); /*X方向にスケール拡大*/
}
.l-found_btn a:hover .--icon {
  right: 10px;
}
.l-found_btn a .--inner {
  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: 240px;
  line-height: 56px;
}
.l-found_btn a .--inner::before, .l-found_btn a .--inner::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%) scale(0.9, 0.5);
  -webkit-transform: translateX(-50%) scale(0.9, 0.5);
  -ms-transform: translateX(-50%) scale(0.9, 0.5);
  width: 100%;
  height: 2px;
  background: #0C1E66;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform-origin: center;
          transform-origin: center;
}
.l-found_btn a .--inner::before {
  top: 0;
}
.l-found_btn a .--inner::after {
  bottom: 0;
}
.l-found_btn a .--icon {
  position: absolute;
  top: 48.2142857143%;
  right: 16px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.l-found_btn a .--icon svg {
  display: block;
}

.l-contact h2 {
  font-size: clamp(1.8rem, 1.6129032258vw, 2rem);
  margin-bottom: 10px;
}

.l-contact_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 829px) {
  .l-contact_list {
    margin-top: 50px;
    margin-bottom: 80px;
  }
}
@media screen and (max-width: 828px) {
  .l-contact_list {
    margin-top: 20px;
    margin-bottom: 50px;
  }
}

.l-contact_tab {
  position: relative;
  width: 296px;
  color: #333;
  background: #F2F5FA;
  text-align: center;
  font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
  font-weight: 700;
}
.l-contact_tab.active {
  color: #fff;
  background: #0C1E66;
}
@media screen and (min-width: 829px) {
  .l-contact_tab {
    line-height: 54px;
  }
}
@media screen and (max-width: 828px) {
  .l-contact_tab {
    line-height: 34px;
  }
}

.l-contact_count {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (min-width: 829px) {
  .l-contact_count {
    left: 16px;
  }
}
@media screen and (max-width: 828px) {
  .l-contact_count {
    left: 8px;
  }
}

.l-contact_line {
  display: block;
  height: 1px;
  background: #0C1E66;
}
@media screen and (min-width: 829px) {
  .l-contact_line {
    width: 72px;
    -ms-flex-preferred-size: 72px;
        flex-basis: 72px;
  }
}
@media screen and (max-width: 828px) {
  .l-contact_line {
    width: 20px;
    -ms-flex-preferred-size: 20px;
        flex-basis: 20px;
  }
}

.l-contact_btns {
  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;
  margin-top: clamp(40px, 5vw, 80px);
}
.l-contact_btns a {
  max-width: 240px;
  min-width: 240px;
  width: 100%;
  line-height: 56px;
  font-family: "Shippori Mincho", serif, "游ゴシック", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  background: url(../images/common/icon_btn-blue.webp) 92% 50% no-repeat #fff;
  background-size: 20px;
  color: #0C1E66;
  border: 1px solid;
  border-color: #0C1E66;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.l-contact_btns a:hover {
  opacity: 1;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  background: url(../images/common/icon_btn-white.webp) 94% 50% no-repeat #0C1E66;
  background-size: 20px;
  color: #fff;
}

.p-topics__nav {
  margin-bottom: clamp(52px, 7.5vw, 120px);
  position: relative;
}
.p-topics__nav::before {
  content: "";
  background: #0C1E66;
  width: 100%;
  height: 2px;
  -webkit-transform: scaleY(0.5) translateY(1px);
          transform: scaleY(0.5) translateY(1px);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  position: absolute;
  bottom: 0;
  left: 0;
  display: inline-block;
}
.p-topics__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  width: 100%;
  max-width: 520px;
}
@media screen and (max-width: 500px) {
  .p-topics__list {
    gap: 4px;
  }
}
.p-topics__item {
  width: 32.3076923077%;
}
@media screen and (max-width: 500px) {
  .p-topics__item {
    font-size: 1.4rem;
  }
}
.p-topics__item a {
  display: block;
  text-align: center;
  line-height: 48px;
}
.p-topics__item a:hover {
  opacity: 1;
}
.p-topics__item a.current__active {
  background-color: #0C1E66;
  color: #fff;
}
.p-topics__item a.current__inactive {
  background-color: #F2F5FA;
  color: #0C1E66;
}
.p-topics__item a.current__inactive:hover {
  background-color: #0C1E66;
  color: #fff;
}
.p-topics__article {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 72px;
}
@media screen and (max-width: 828px) {
  .p-topics__article {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 40px;
  }
}
.p-topics__article + .p-topics__article {
  margin-top: clamp(76px, 5vw, 80px);
  padding-top: clamp(76px, 5vw, 80px);
  border-top: 1px solid #B8BCCC;
}
@media screen and (min-width: 829px) {
  .p-topics .--col-media {
    width: 40%;
  }
}
.p-topics .--col-media .--pic {
  background-color: #F2F5FA;
  overflow: hidden;
}
.p-topics .--col-media img {
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  aspect-ratio: 24/17;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-topics .--col-media:hover {
  opacity: 1;
}
.p-topics .--col-media:hover img {
  -webkit-transform: scale(1.1, 1.1);
          transform: scale(1.1, 1.1);
}
@media screen and (min-width: 829px) {
  .p-topics .--col-txt {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
.p-topics .--col-txt .--title {
  font-size: clamp(2rem, 1.935483871vw, 2.4rem);
  margin-top: clamp(20px, 1.5vw, 24px);
  font-weight: 500;
}
.p-topics .--col-txt .--title + p {
  margin-top: clamp(28px, 2vw, 32px);
}
.p-topics__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: clamp(32px, 2.5vw, 40px);
}
.p-topics__btn a {
  font-size: clamp(1.6rem, 1.4516129032vw, 1.8rem);
  font-weight: 600;
  color: #0C1E66;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 105px;
  line-height: 22px;
  position: relative;
}
.p-topics__btn a .--icon {
  max-width: 20px;
  position: absolute;
  right: 0;
  bottom: 8px;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.p-topics__btn a:hover {
  opacity: 1;
}
.p-topics__btn a:hover .--icon {
  right: -8px;
}

.topics-tab {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
}
.topics-tab .--time {
  font-size: clamp(1.6rem, 1.4516129032vw, 1.8rem);
  color: #B8BCCC;
  font-weight: 500;
}
.topics-tab a.--cat {
  font-size: 1.5rem;
  font-weight: 500;
  background-color: #0C1E66;
  color: #fff;
  width: 118px;
  line-height: 24px;
  text-align: center;
}
.topics-tab a.--cat:hover {
  opacity: 1;
  background-color: #F2F5FA;
  color: #0C1E66;
}
.topics-tab span.--cat {
  font-size: 1.5rem;
  font-weight: 500;
  background-color: #0C1E66;
  color: #fff;
  width: 118px;
  line-height: 24px;
  text-align: center;
}

.s-topics .--time {
  font-size: clamp(1.6rem, 1.4516129032vw, 1.8rem);
  color: #B8BCCC;
}
.s-topics__headline .--title {
  font-size: clamp(2rem, 1.935483871vw, 2.4rem);
  margin-top: clamp(20px, 1.5vw, 24px);
  font-weight: 500;
}
.s-topics__inner {
  margin-top: clamp(28px, 2vw, 32px);
}
.s-topics__inner p + .wp-block-image {
  margin-top: clamp(32px, 4vw, 64px);
}
.s-topics__inner .wp-block-image {
  max-width: 688px;
}
.s-topics__inner .wp-block-image + p {
  margin-top: clamp(32px, 4vw, 64px);
}
.s-topics__inner a {
  color: #0C1E66;
  text-decoration: underline;
}

.s-content {
  max-width: 800px;
  width: 100%;
  margin: auto;
}

.s-content_image {
  margin-bottom: 39px;
}

.s-content_headline {
  display: block;
  margin-bottom: 32px;
}
.s-content_headline time {
  display: block;
  font-size: clamp(1.4rem, 1.2903225806vw, 1.6rem);
  color: #ddd;
  margin-bottom: 22px;
}
.s-content_headline h2 {
  font-size: clamp(2rem, 1.935483871vw, 2.4rem);
}

.s-content_inner a {
  color: #0C1E66;
  text-decoration: underline;
}

.service .js-anchor + .js-anchor {
  margin-top: clamp(120px, 9vw, 144px);
}
@media screen and (max-width: 500px) {
  .service .js-anchor + .js-anchor {
    margin-top: 88px;
  }
}
.service .l-anchor {
  margin-bottom: clamp(60px, 7.5vw, 120px);
}
.service .l-anchor-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  border-bottom: 4px solid #0C1E66;
}
.service .l-anchor li {
  width: 50%;
  line-height: 80px;
  text-align: center;
  font-size: clamp(1.8rem, 1.6129032258vw, 2rem);
  font-weight: 500;
}
@media screen and (max-width: 828px) {
  .service .l-anchor li {
    line-height: 56px;
  }
}
.service .l-anchor a {
  display: block;
}
.service .l-anchor a:not([aria-current=page]) {
  background-color: #F2F5FA;
  color: #0C1E66;
}
.service .l-anchor a:hover, .service .l-anchor a[aria-current=page] {
  opacity: 1;
  background-color: #0C1E66;
  color: #fff;
}
.service-columns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 40px;
}
@media screen and (min-width: 829px) {
  .service-columns {
    gap: 128px;
  }
}
@media screen and (max-width: 828px) {
  .service-columns {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (max-width: 828px) {
  .service-columns {
    gap: 80px;
  }
}
.service-navi .--list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.service-navi .--item {
  position: relative;
  padding-bottom: 16px;
}
.service-navi .--item::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: #0C1E66;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: scale(1, 0.5);
          transform: scale(1, 0.5);
}
.service-navi .--item .--link {
  font-size: clamp(1.6rem, 1.4516129032vw, 1.8rem);
  display: block;
  position: relative;
}
.service-navi .--item .--link:hover {
  opacity: 1;
}
@media screen and (max-width: 828px) {
  .service-navi .--list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 16px 40px;
  }
  .service-navi .--item {
    width: 100%;
  }
}
@media screen and (max-width: 828px) and (min-width: 451px) {
  .service-navi .--item {
    width: calc(50% - 20px);
  }
}
@media screen and (min-width: 829px) {
  .service-navi .--list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 16px;
    width: 100%;
    position: sticky;
    z-index: 10;
    top: 0;
    padding-top: 100px;
    margin-top: -100px;
  }
  .service-navi .--item {
    color: #B8BCCC;
  }
  .service-navi .--item::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: #B8BCCC;
    -webkit-transform: scale(1, 0.5);
            transform: scale(1, 0.5);
  }
  .service-navi .--item::after {
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1);
    -webkit-transform-origin: left top;
            transform-origin: left top;
  }
  .service-navi .--item.active, .service-navi .--item:hover {
    color: #0C1E66;
  }
  .service-navi .--item.active::after, .service-navi .--item:hover::after {
    -webkit-transform: scale(1, 0.6);
            transform: scale(1, 0.6);
  }
  .service-navi .--item.active .--link, .service-navi .--item:hover .--link {
    color: #0C1E66;
  }
  .service-navi .--item:not(.active) .--link::before {
    -webkit-filter: brightness(0) saturate(100%) invert(96%) sepia(2%) saturate(5995%) hue-rotate(183deg) brightness(85%) contrast(84%);
            filter: brightness(0) saturate(100%) invert(96%) sepia(2%) saturate(5995%) hue-rotate(183deg) brightness(85%) contrast(84%);
  }
  .service-navi .--link {
    color: #B8BCCC;
  }
}
@media screen and (min-width: 829px) {
  .service-navi {
    width: 200px;
  }
}
.service-navi .--item {
  line-height: 1.2;
}
.service-navi .--item .--link {
  font-size: clamp(1.6rem, 1.3709677419vw, 1.7rem);
}
.service-navi .--item:not(.active):hover .--link::before {
  -webkit-filter: brightness(0) saturate(100%) invert(9%) sepia(82%) saturate(2841%) hue-rotate(219deg) brightness(99%) contrast(97%);
          filter: brightness(0) saturate(100%) invert(9%) sepia(82%) saturate(2841%) hue-rotate(219deg) brightness(99%) contrast(97%);
}
@media screen and (max-width: 500px) {
  .service-navi .service-icon {
    padding-left: 28px !important;
  }
  .service-navi .service-icon::before {
    width: 24px !important;
    height: 24px !important;
  }
  .service-navi .--list {
    gap: 16px;
  }
  .service-navi .--item {
    width: calc(50% - 8px);
  }
  .service-navi .--item .--link {
    font-size: 1.5rem !important;
  }
}
@media screen and (max-width: 828px) {
  .service-navi .--item {
    color: #0C1E66;
  }
  .service-navi .--item .--link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 100%;
  }
}
@media screen and (min-width: 501px) and (max-width: 828px) {
  .service-navi .--item .--link {
    height: 40px;
  }
}
@media screen and (min-width: 829px) {
  .service-navi .--item {
    height: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (min-width: 829px) {
  .service-content {
    width: 72.6666666667%;
  }
}
.service-icon {
  padding-left: 52px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.service-icon::before {
  position: absolute;
  top: 50%;
  left: 0%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

.corporate .service-icon.--advisory::before {
  content: "";
  display: inline-block;
  background: url("../images/illustration/icon_advisory.webp") no-repeat 50% 50%;
  background-size: contain;
  width: 40px;
  height: 40px;
}
.corporate .service-icon.--contract::before {
  content: "";
  display: inline-block;
  background: url("../images/illustration/icon_contract.webp") no-repeat 50% 50%;
  background-size: contain;
  width: 40px;
  height: 40px;
}
.corporate .service-icon.--saiken::before {
  content: "";
  display: inline-block;
  background: url("../images/illustration/icon_saiken.webp") no-repeat 50% 50%;
  background-size: contain;
  width: 40px;
  height: 40px;
}
.corporate .service-icon.--unsou::before {
  content: "";
  display: inline-block;
  background: url("../images/illustration/icon_unsou.webp") no-repeat 50% 50%;
  background-size: contain;
  width: 40px;
  height: 40px;
}
.corporate .service-icon.--roumu::before {
  content: "";
  display: inline-block;
  background: url("../images/illustration/icon_roumu.webp") no-repeat 50% 50%;
  background-size: contain;
  width: 40px;
  height: 40px;
}
.corporate .service-icon.--compl::before {
  content: "";
  display: inline-block;
  background: url("../images/illustration/icon_compl.webp") no-repeat 50% 50%;
  background-size: contain;
  width: 40px;
  height: 40px;
}
.corporate .service-icon.--ip::before {
  content: "";
  display: inline-block;
  background: url("../images/illustration/icon_ip.webp") no-repeat 50% 50%;
  background-size: contain;
  width: 40px;
  height: 40px;
}
.corporate .service-icon.--others::before {
  content: "";
  display: inline-block;
  background: url("../images/illustration/icon_others.webp") no-repeat 50% 50%;
  background-size: contain;
  width: 40px;
  height: 40px;
}

.personal .service-icon.--advisory::before {
  content: "";
  display: inline-block;
  background: url("../images/illustration/icon_advisory.webp") no-repeat 50% 50%;
  background-size: contain;
  width: 40px;
  height: 40px;
}
.personal .service-icon.--claim::before {
  content: "";
  display: inline-block;
  background: url("../images/illustration/icon_claim.webp") no-repeat 50% 50%;
  background-size: contain;
  width: 40px;
  height: 40px;
}
.personal .service-icon.--shouhisha::before {
  content: "";
  display: inline-block;
  background: url("../images/illustration/icon_shouhisha.webp") no-repeat 50% 50%;
  background-size: contain;
  width: 40px;
  height: 40px;
}
.personal .service-icon.--iryoukago::before {
  content: "";
  display: inline-block;
  background: url("../images/illustration/icon_iryoukago.webp") no-repeat 50% 50%;
  background-size: contain;
  width: 40px;
  height: 40px;
}
.personal .service-icon.--kinsen::before {
  content: "";
  display: inline-block;
  background: url("../images/illustration/icon_kinsen.webp") no-repeat 50% 50%;
  background-size: contain;
  width: 40px;
  height: 40px;
}
.personal .service-icon.--will::before {
  content: "";
  display: inline-block;
  background: url("../images/illustration/icon_will.webp") no-repeat 50% 50%;
  background-size: contain;
  width: 40px;
  height: 40px;
}
.personal .service-icon.--others::before {
  content: "";
  display: inline-block;
  background: url("../images/illustration/icon_others.webp") no-repeat 50% 50%;
  background-size: contain;
  width: 40px;
  height: 40px;
}

.service .--pic {
  width: 100%;
}
.service .--title {
  font-size: clamp(2rem, 1.935483871vw, 2.4rem);
  font-weight: 500;
  color: #0C1E66;
  border-left: 2px solid;
  padding-left: 24px;
  line-height: 1.2;
  margin-top: 40px;
}
@media screen and (max-width: 500px) {
  .service .--title {
    padding-left: 16px;
    line-height: 1;
  }
}
.service .--title + .--txt {
  margin-top: clamp(24px, 3vw, 48px);
}
.service-box {
  margin-top: clamp(40px, 3vw, 48px);
}
.service-box:not(.--grid) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 48px;
}
@media screen and (max-width: 828px) {
  .service-box:not(.--grid) {
    gap: 32px;
  }
}
@media screen and (max-width: 500px) {
  .service-box:not(.--grid) .--wrap:not(.--center) {
    -webkit-box-align: unset !important;
        -ms-flex-align: unset !important;
            align-items: unset !important;
  }
}
.service-box.--grid {
  display: -ms-grid;
  display: grid;
  gap: 15px 40px;
}
@media screen and (max-width: 500px) {
  .service-box.--grid {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 32px;
  }
}
@media screen and (max-width: 828px) and (min-width: 501px) {
  .service-box.--grid {
    grid-auto-flow: column;
    -ms-grid-rows: (auto)[3];
    grid-template-rows: repeat(3, auto);
  }
}
@media screen and (min-width: 829px) {
  .service-box.--grid {
    grid-auto-flow: column;
    -ms-grid-rows: (auto)[2];
    grid-template-rows: repeat(2, auto);
  }
}
@media screen and (min-width: 829px) {
  .service-box.--grid.--three {
    -ms-grid-rows: (auto)[3];
    grid-template-rows: repeat(3, auto);
  }
}
.service-box + .--txt {
  margin-top: clamp(24px, 3vw, 48px);
}
.service .--wrap {
  position: relative;
  counter-increment: mycounter;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 16px;
}
.service .--wrap:not(.--start) {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.service .--tag {
  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;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
  font-weight: 600;
  line-height: 1.2;
  color: #0C1E66;
  width: 80px;
  height: 80px;
  background-color: #F2F5FA;
  border-radius: 50%;
  padding-top: 17px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 1000px) {
  .service .--tag {
    padding-top: 10px;
  }
}
.service .--tag::after {
  content: counter(mycounter, decimal-leading-zero);
  display: block;
  font-size: clamp(2.8rem, 3.2258064516vw, 4rem);
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  top: -15px;
}
@media screen and (max-width: 1000px) {
  .service .--tag::after {
    top: -10px;
  }
}
.service .--def {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.service .--dtit {
  font-size: clamp(1.6rem, 1.4516129032vw, 1.8rem);
  font-weight: 500;
  color: #0C1E66;
  line-height: 1.2;
}
.service .--data {
  font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
  margin-top: 8px;
}
.service--list {
  margin-top: clamp(16px, 1.75vw, 28px);
  padding-left: 96px;
}
.service--list .--item {
  padding-left: 24px;
  position: relative;
}
.service--list .--item::before {
  content: "●";
  display: inline-block;
  color: #0C1E66;
  position: absolute;
  left: 0;
  top: 0;
}
.service--list .--item + .--item {
  margin-top: 8px;
}
.service--list + .--txt {
  margin-top: clamp(24px, 3vw, 48px);
}
.service .kinsen-def {
  margin-top: clamp(15px, 1vw, 16px);
}

.advisory-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 368px;
  margin-top: clamp(64px, 5.125vw, 82px);
}
.advisory-btn a {
  position: relative;
  font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
  font-weight: 600;
  color: #0C1E66;
  width: 100%;
}
.advisory-btn a::before, .advisory-btn a::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%) scale(0.5, 0.8);
  -webkit-transform: translateY(-50%) scale(0.5, 0.8);
  -ms-transform: translateY(-50%) scale(0.5, 0.8);
  width: 2px;
  height: 100%;
  background-color: #0C1E66;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform-origin: center;
          transform-origin: center;
}
.advisory-btn a::before {
  left: 0;
}
.advisory-btn a::after {
  right: 0;
}
.advisory-btn a:hover {
  opacity: 1;
}
.advisory-btn a:hover::before, .advisory-btn a:hover::after {
  -webkit-transform: translateY(-50%) scale(0.5, 0.99);
          transform: translateY(-50%) scale(0.5, 0.99);
}
.advisory-btn a:hover .--inner::before, .advisory-btn a:hover .--inner::after {
  -webkit-transform: translateX(-50%) scale(0.99, 0.5);
          transform: translateX(-50%) scale(0.99, 0.5); /*X方向にスケール拡大*/
}
.advisory-btn a:hover .--icon {
  right: 10px;
}
.advisory-btn a .--inner {
  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%;
  line-height: 56px;
}
.advisory-btn a .--inner::before, .advisory-btn a .--inner::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%) scale(0.9, 0.5);
  -webkit-transform: translateX(-50%) scale(0.9, 0.5);
  -ms-transform: translateX(-50%) scale(0.9, 0.5);
  width: 100%;
  height: 2px;
  background: #0C1E66;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform-origin: center;
          transform-origin: center;
}
.advisory-btn a .--inner::before {
  top: 0;
}
.advisory-btn a .--inner::after {
  bottom: 0;
}
.advisory-btn a .--icon {
  position: absolute;
  top: 48.2142857143%;
  right: 16px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.advisory-btn a .--icon svg {
  display: block;
}

.unsou-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  max-width: 368px;
  max-height: 120px;
  background-color: #0C1E66;
  color: #fff;
  position: relative;
  overflow: hidden;
  margin-top: clamp(48px, 3.25vw, 52px);
}
.unsou-wrap:hover {
  opacity: 1;
}
.unsou-wrap:hover .unsou-pic img {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}
.unsou-pic {
  width: 204px;
  position: relative;
  overflow: hidden;
}
.unsou-pic::after {
  content: "";
  display: block;
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(12, 30, 102, 0)), to(rgb(12, 30, 102)));
  background-image: linear-gradient(90deg, rgba(12, 30, 102, 0), rgb(12, 30, 102));
  width: 50%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
}
.unsou-pic img {
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.unsou-txt {
  position: absolute;
  top: 50%;
  right: 8.6956521739%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
  font-weight: 700;
}
.unsou-txt .--inner {
  font-size: clamp(1.8rem, 1.7741935484vw, 2.2rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}

.banner {
  position: relative;
  color: #fff;
  margin-top: clamp(89px, 11.125vw, 178px);
}
@media screen and (min-width: 829px) {
  .banner {
    max-width: 72.6666666667%;
    margin-left: auto;
  }
}
.banner-link {
  overflow: hidden;
}
.banner-link:hover {
  opacity: 1;
}
.banner-bg {
  position: relative;
}
.banner-bg::before {
  position: absolute;
  z-index: 1;
  content: "";
  width: 100%;
  height: 100%;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  background: rgba(0, 0, 0, 0.3);
}
.banner-bg img {
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  min-height: 400px;
  -o-object-fit: cover;
     object-fit: cover;
}
.banner-wrap {
  pointer-events: none;
  padding: 80px 40px 40px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  position: absolute;
  z-index: 1;
  position: absolute;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
.banner-headwrap {
  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;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 16px;
  line-height: 1;
}
@media screen and (max-width: 828px) {
  .banner-headwrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 32px;
    gap: 0px;
  }
}
.banner-headwrap + p {
  text-align: center;
  margin-top: clamp(12px, 1.5vw, 24px);
}
@media screen and (max-width: 500px) {
  .banner-headwrap + p {
    text-align: left;
  }
}
.banner-slug {
  font-size: clamp(5.6rem, 5.4838709677vw, 6.8rem);
  font-weight: 600;
}
.banner-title {
  font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
  font-weight: 700;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  position: relative;
  top: 10px;
}
.banner-title::before {
  content: "/";
  display: block;
}
.banner-btn {
  margin-top: clamp(26px, 3.25vw, 52px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  font-size: 1.8rem;
  padding-right: 40px;
  position: relative;
}
.banner-btn .--icon {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  max-width: 20px;
  position: absolute;
  top: 50%;
  right: 0%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}
.banner:hover .banner-bg img {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}
.banner:hover .--icon {
  right: -10px;
}

.cases-navi {
  margin-bottom: clamp(88px, 7.5vw, 120px);
}
.cases-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  border-top: 1px solid #B8BCCC;
}
.cases-menu a {
  padding: 28px 24px 28px 80px;
}
@media screen and (max-width: 500px) {
  .cases-menu a {
    padding: 16px;
    padding-left: 38px;
  }
}
.cases-item {
  width: 100%;
  border-bottom: 1px solid;
  border-color: #B8BCCC;
  position: relative;
  width: 50%;
}
@media screen and (min-width: 829px) {
  .cases-item {
    width: 25%;
  }
}
.cases-item + .cases-item::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 1px;
  height: 100%;
  background: #B8BCCC;
  -webkit-transform: scale(1, 0.7);
          transform: scale(1, 0.7);
}
@media screen and (max-width: 828px) {
  .cases-item + .cases-item:nth-of-type(odd)::after {
    display: none;
  }
}
@media screen and (min-width: 829px) {
  .cases-item + .cases-item:nth-of-type(5)::after {
    display: none;
  }
}
.cases-item:hover a {
  opacity: 1;
  background-color: #F2F5FA;
}
.cases-item .--saiken::before {
  left: 24px;
}
@media screen and (max-width: 500px) {
  .cases-item .--saiken::before {
    left: 10px;
  }
}
.cases-item .--roumu::before {
  left: 24px;
}
@media screen and (max-width: 500px) {
  .cases-item .--roumu::before {
    left: 10px;
  }
}
.cases-item .--unsou-butsuryuu::before {
  left: 24px;
}
@media screen and (max-width: 500px) {
  .cases-item .--unsou-butsuryuu::before {
    left: 10px;
  }
}
.cases-item .--kinsen::before {
  left: 24px;
}
@media screen and (max-width: 500px) {
  .cases-item .--kinsen::before {
    left: 10px;
  }
}
.cases-item .--shouhisha::before {
  left: 24px;
}
@media screen and (max-width: 500px) {
  .cases-item .--shouhisha::before {
    left: 10px;
  }
}
.cases-item .--souzoku::before {
  left: 24px;
}
@media screen and (max-width: 500px) {
  .cases-item .--souzoku::before {
    left: 10px;
  }
}
.cases-item .--iryoukago::before {
  left: 24px;
}
@media screen and (max-width: 500px) {
  .cases-item .--iryoukago::before {
    left: 10px;
  }
}
.cases-item .--others::before {
  left: 24px;
}
@media screen and (max-width: 500px) {
  .cases-item .--others::before {
    left: 10px;
  }
}
.cases-icon {
  display: block;
  position: relative;
  color: #0C1E66;
  padding-left: 56px;
  font-size: clamp(1.5rem, 1.4516129032vw, 1.8rem);
  font-weight: 400;
}
.cases-icon::before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
.cases-icon.--saiken::before {
  content: "";
  display: inline-block;
  background: url("../images/illustration/icon_saiken.webp") no-repeat 50% 50%;
  background-size: contain;
  width: 48px;
  height: 48px;
}
@media screen and (max-width: 500px) {
  .cases-icon.--saiken::before {
    width: 24px;
    height: 24px;
  }
}
.cases-icon.--roumu::before {
  content: "";
  display: inline-block;
  background: url("../images/illustration/icon_roumu.webp") no-repeat 50% 50%;
  background-size: contain;
  width: 48px;
  height: 48px;
}
@media screen and (max-width: 500px) {
  .cases-icon.--roumu::before {
    width: 24px;
    height: 24px;
  }
}
.cases-icon.--unsou-butsuryuu::before {
  content: "";
  display: inline-block;
  background: url("../images/illustration/icon_unsou-butsuryuu.webp") no-repeat 50% 50%;
  background-size: contain;
  width: 48px;
  height: 48px;
}
@media screen and (max-width: 500px) {
  .cases-icon.--unsou-butsuryuu::before {
    width: 24px;
    height: 24px;
  }
}
.cases-icon.--kinsen::before {
  content: "";
  display: inline-block;
  background: url("../images/illustration/icon_kinsen.webp") no-repeat 50% 50%;
  background-size: contain;
  width: 48px;
  height: 48px;
}
@media screen and (max-width: 500px) {
  .cases-icon.--kinsen::before {
    width: 24px;
    height: 24px;
  }
}
.cases-icon.--shouhisha::before {
  content: "";
  display: inline-block;
  background: url("../images/illustration/icon_shouhisha.webp") no-repeat 50% 50%;
  background-size: contain;
  width: 48px;
  height: 48px;
}
@media screen and (max-width: 500px) {
  .cases-icon.--shouhisha::before {
    width: 24px;
    height: 24px;
  }
}
.cases-icon.--souzoku::before {
  content: "";
  display: inline-block;
  background: url("../images/illustration/icon_souzoku.webp") no-repeat 50% 50%;
  background-size: contain;
  width: 48px;
  height: 48px;
}
@media screen and (max-width: 500px) {
  .cases-icon.--souzoku::before {
    width: 24px;
    height: 24px;
  }
}
.cases-icon.--iryoukago::before {
  content: "";
  display: inline-block;
  background: url("../images/illustration/icon_iryoukago.webp") no-repeat 50% 50%;
  background-size: contain;
  width: 48px;
  height: 48px;
}
@media screen and (max-width: 500px) {
  .cases-icon.--iryoukago::before {
    width: 24px;
    height: 24px;
  }
}
.cases-icon.--others::before {
  content: "";
  display: inline-block;
  background: url("../images/illustration/icon_others.webp") no-repeat 50% 50%;
  background-size: contain;
  width: 48px;
  height: 48px;
}
@media screen and (max-width: 500px) {
  .cases-icon.--others::before {
    width: 24px;
    height: 24px;
  }
}
.cases-icon.current__active {
  background-color: #F2F5FA;
}

.p-cases-cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 48px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (min-width: 501px) {
  .p-cases-cards {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
    -ms-grid-rows: auto;
    grid-template-rows: auto;
  }
  .p-cases-cards &gt; *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-cases-cards &gt; *:nth-child(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
}
@media screen and (min-width: 829px) {
  .p-cases-cards {
    gap: 48px;
  }
}
@media screen and (max-width: 828px) {
  .p-cases-cards {
    gap: 48px 20px;
  }
}
.p-cases-card {
  position: relative;
  width: 100%;
  background-color: #F2F5FA;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  padding-top: 100px;
  padding-bottom: 56px;
  padding-left: clamp(20px, 3.5vw, 56px);
  padding-right: clamp(20px, 3.5vw, 56px);
}
@media screen and (min-width: 501px) {
  .p-cases-card {
    padding-top: 120px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-cases-card .p-cases_txt {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
}
@media screen and (max-width: 500px) {
  .p-cases-card {
    padding-top: 80px;
  }
}
.p-cases-card:hover .p-cases__btn .--icon {
  right: -8px;
}
.p-cases__link::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
}
.p-cases-tag {
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  width: 248px;
  height: 80px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #FFFFFF;
  background-image: linear-gradient(0deg, transparent calc(100% - 1px), #F2F5FA calc(100% - 1px)), linear-gradient(90deg, transparent calc(100% - 1px), #F2F5FA calc(100% - 1px));
  background-size: 20px 20px;
  background-repeat: repeat;
  background-position: center center;
  padding: 16px 24px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 500px) {
  .p-cases-tag {
    width: 200px;
    height: 60px;
    font-size: 1.6rem;
  }
}
.p-cases-tag.--tax {
  pointer-events: none;
}
.p-cases-tag .cases-icon {
  line-height: 1.2;
}
@media screen and (max-width: 500px) {
  .p-cases-tag .cases-icon {
    padding-left: 36px;
  }
}
.p-cases_head {
  font-size: clamp(2rem, 1.935483871vw, 2.4rem);
  font-weight: 500;
  line-height: 2;
}
.p-cases_txt {
  font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
  line-height: 2;
  margin-top: clamp(28px, 2vw, 32px);
}
.p-cases__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: clamp(32px, 2.5vw, 40px);
  pointer-events: none;
}
.p-cases__btn .--inner {
  font-size: clamp(1.6rem, 1.4516129032vw, 1.8rem);
  font-weight: 600;
  color: #0C1E66;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 105px;
  line-height: 22px;
  position: relative;
}
.p-cases__btn .--inner .--icon {
  max-width: 20px;
  position: absolute;
  right: 0;
  bottom: 8px;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}

a.p-cases-tag:hover {
  opacity: 1;
  background-color: #F2F5FA;
  background-image: linear-gradient(0deg, transparent calc(100% - 1px), #fff calc(100% - 1px)), linear-gradient(90deg, transparent calc(100% - 1px), #fff calc(100% - 1px));
}

.s-cases_headwrap {
  border-top: 1px solid;
  border-bottom: 1px solid;
  border-color: #B8BCCC;
  padding: 32px 24px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.s-cases-title {
  font-size: clamp(2rem, 1.935483871vw, 2.4rem);
  line-height: 2;
  font-weight: 500;
  margin-top: clamp(16px, 1.5vw, 24px);
}
.s-cases-def {
  margin-top: clamp(52px, 6.5vw, 104px);
}
.s-cases-def .--dtit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 16px;
  line-height: 1;
}
@media screen and (max-width: 500px) {
  .s-cases-def .--dtit {
    gap: 12px;
  }
}
.s-cases-def .--data {
  margin-top: clamp(32px, 2.5vw, 40px);
}
.s-cases-def .--slug {
  font-size: clamp(2.4rem, 2.5806451613vw, 3.2rem);
  font-weight: 600;
  color: #0C1E66;
}
.s-cases-def .--lead {
  font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
}
.s-cases-def .--lead::before {
  content: "/";
  display: block;
}
.s-cases-def .--icon {
  background-color: #F2F5FA;
  width: 80px;
  height: 80px;
  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;
  border-radius: 50%;
}
.s-cases-def .--icon img {
  max-width: 48px;
}
.s-cases-box {
  margin-top: clamp(120px, 11.25vw, 180px);
  background: #F2F5FA;
  background-image: linear-gradient(0deg, transparent calc(100% - 1px), #fff calc(100% - 1px)), linear-gradient(90deg, transparent calc(100% - 1px), #fff calc(100% - 1px));
  background-size: 20px 20px;
  background-repeat: repeat;
  background-position: center center;
  padding: 80px 56px 56px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
}
@media screen and (max-width: 828px) {
  .s-cases-box {
    padding: 80px 20px 48px;
  }
}
.s-cases-box .--icon {
  background-color: #fff;
  width: 112px;
  height: 112px;
  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;
  border-radius: 50%;
  position: absolute;
  top: -64px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.s-cases-box .--icon img {
  max-width: 64px;
}
.s-cases-box .--dtit {
  font-size: clamp(2rem, 1.935483871vw, 2.4rem);
  line-height: 1.2;
  text-align: center;
}
.s-cases-box .--data {
  margin-top: clamp(32px, 2.5vw, 40px);
}
@media screen and (max-width: 500px) {
  .s-cases .cases-icon {
    padding-left: 36px;
  }
}

.a-case-back {
  font-size: 1.5rem;
  line-height: 2;
  color: #0C1E66;
  text-decoration: underline;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: clamp(28px, 3.5vw, 56px);
}

.office .js-anchor + .js-anchor {
  margin-top: clamp(80px, 6.5vw, 104px);
  padding-top: clamp(80px, 6.5vw, 104px);
  border-top: 1px solid #B8BCCC;
}
.office-anchor + .office-anchor {
  margin-top: clamp(80px, 6.5vw, 104px);
  padding-top: clamp(80px, 6.5vw, 104px);
  border-top: 1px solid #B8BCCC;
}
.office-columns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 88px;
}
@media screen and (max-width: 828px) {
  .office-columns {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 40px;
  }
}
.office-navi {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (min-width: 829px) {
  .office-navi .--list {
    position: sticky;
    top: 0;
    padding-top: 80px;
    margin-top: -80px;
    aspect-ratio: 336/475;
  }
}
@media screen and (max-width: 828px) {
  .office-navi {
    display: none;
  }
}
.office-navi li {
  font-size: clamp(1.6rem, 1.4516129032vw, 1.8rem);
  font-weight: 700;
  line-height: 1.75;
  color: #ccc;
  opacity: 0;
  visibility: hidden;
  position: absolute;
  top: 80px;
  margin-bottom: -80px;
  -webkit-transition: opacity 0.3s ease, visibility 0s linear 0.3s;
  transition: opacity 0.3s ease, visibility 0s linear 0.3s;
}
.office-navi li.active {
  opacity: 1;
  visibility: visible;
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}
.office-navi li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}
.office-navi li a.active, .office-navi li a:hover {
  color: #0C1E66;
  opacity: 1;
}
@media screen and (min-width: 829px) {
  .office-content {
    width: 64.6666666667%;
  }
}
.office-headwrap {
  margin-bottom: clamp(32px, 4vw, 64px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 16px;
  line-height: 1;
}
.office .--slug {
  font-size: clamp(2.4rem, 2.5806451613vw, 3.2rem);
  font-weight: 600;
  color: #0C1E66;
}
.office .--title {
  font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
}
.office .--title::before {
  content: "/";
  display: block;
}
.office-pic {
  max-width: 335px;
  margin: 0 auto;
  margin-bottom: 56px;
}
@media screen and (min-width: 829px) {
  .office-pic {
    display: none;
  }
}
@media screen and (max-width: 500px) {
  .office-pic {
    margin-bottom: 40px;
  }
}

.greeting-lead {
  font-size: clamp(2rem, 1.935483871vw, 2.4rem);
  font-weight: 500;
  line-height: 2;
}
.greeting-lead + p {
  margin-top: clamp(24px, 2.5vw, 40px);
}

.intro-name {
  font-size: clamp(2rem, 1.935483871vw, 2.4rem);
}
.intro-name small {
  font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
  display: block;
  margin-bottom: 8px;
}
.intro-name + p {
  margin-top: clamp(24px, 2.5vw, 40px);
}

.outline th {
  width: 128px;
  color: #0C1E66;
}
@media screen and (max-width: 828px) {
  .outline th {
    width: 100%;
    padding-bottom: 8px;
  }
}
@media screen and (max-width: 828px) {
  .outline td {
    padding-bottom: 16px;
  }
}
@media screen and (min-width: 829px) {
  .outline th,
  .outline td {
    padding-bottom: 24px;
  }
}
@media screen and (max-width: 828px) {
  .outline th,
  .outline td {
    display: block;
  }
}
@media screen and (min-width: 829px) {
  .outline tr:last-of-type th,
  .outline tr:last-of-type td {
    padding-bottom: 0;
  }
}
@media screen and (max-width: 828px) {
  .outline tr:last-of-type td {
    padding-bottom: 0;
  }
}

.access-def .--dtit {
  font-size: clamp(1.6rem, 1.4516129032vw, 1.8rem);
  line-height: 1.8;
  color: #0C1E66;
}
.access-def .--dtit + .--data {
  margin-top: clamp(8px, 1.5vw, 24px);
}
.access-def .--data + .--dtit {
  margin-top: clamp(28px, 3.5vw, 56px);
}
.access iframe {
  width: 100%;
  margin-top: clamp(40px, 3.5vw, 56px);
}

.details-columns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 88px;
}
@media screen and (max-width: 828px) {
  .details-columns {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 40px;
  }
}
@media screen and (max-width: 828px) {
  .details-columns {
    gap: 80px;
  }
}
.details-navi .--list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.details-navi .--item {
  position: relative;
  padding-bottom: 16px;
}
.details-navi .--item::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: #0C1E66;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: scale(1, 0.5);
          transform: scale(1, 0.5);
}
.details-navi .--item .--link {
  font-size: clamp(1.6rem, 1.4516129032vw, 1.8rem);
  display: block;
  position: relative;
}
.details-navi .--item .--link:hover {
  opacity: 1;
}
@media screen and (max-width: 828px) {
  .details-navi .--list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 16px 40px;
  }
  .details-navi .--item {
    width: 100%;
  }
}
@media screen and (max-width: 828px) and (min-width: 451px) {
  .details-navi .--item {
    width: calc(50% - 20px);
  }
}
@media screen and (min-width: 829px) {
  .details-navi .--list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 16px;
    width: 100%;
    position: sticky;
    z-index: 10;
    top: 0;
    padding-top: 100px;
    margin-top: -100px;
  }
  .details-navi .--item {
    color: #B8BCCC;
  }
  .details-navi .--item::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: #B8BCCC;
    -webkit-transform: scale(1, 0.5);
            transform: scale(1, 0.5);
  }
  .details-navi .--item::after {
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1);
    -webkit-transform-origin: left top;
            transform-origin: left top;
  }
  .details-navi .--item.active, .details-navi .--item:hover {
    color: #0C1E66;
  }
  .details-navi .--item.active::after, .details-navi .--item:hover::after {
    -webkit-transform: scale(1, 0.6);
            transform: scale(1, 0.6);
  }
  .details-navi .--item.active .--link, .details-navi .--item:hover .--link {
    color: #0C1E66;
  }
  .details-navi .--item:not(.active) .--link::before {
    -webkit-filter: brightness(0) saturate(100%) invert(96%) sepia(2%) saturate(5995%) hue-rotate(183deg) brightness(85%) contrast(84%);
            filter: brightness(0) saturate(100%) invert(96%) sepia(2%) saturate(5995%) hue-rotate(183deg) brightness(85%) contrast(84%);
  }
  .details-navi .--link {
    color: #B8BCCC;
  }
}
@media screen and (min-width: 829px) {
  .details-navi {
    width: 200px;
  }
}
@media screen and (max-width: 828px) {
  .details-navi .--item {
    color: #0C1E66;
  }
}
@media screen and (min-width: 829px) {
  .details-navi .--item.active, .details-navi .--item:hover {
    color: #B8BCCC;
  }
}
.details-navi .--item.active .--link-icon img, .details-navi .--item:hover .--link-icon img {
  -webkit-filter: brightness(0) saturate(100%) invert(9%) sepia(82%) saturate(2841%) hue-rotate(219deg) brightness(99%) contrast(97%);
          filter: brightness(0) saturate(100%) invert(9%) sepia(82%) saturate(2841%) hue-rotate(219deg) brightness(99%) contrast(97%);
}
.details-navi .--item + .--item {
  padding-bottom: 32px;
}
@media screen and (max-width: 828px) {
  .details-navi .--item + .--item {
    padding-bottom: 20px;
  }
}
.details-navi .--link.--link-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.details-navi .--link.--link-icon img {
  max-width: 48px;
  min-width: 48px;
  -webkit-filter: brightness(0) saturate(100%) invert(9%) sepia(82%) saturate(2841%) hue-rotate(219deg) brightness(99%) contrast(97%);
          filter: brightness(0) saturate(100%) invert(9%) sepia(82%) saturate(2841%) hue-rotate(219deg) brightness(99%) contrast(97%);
}
@media screen and (min-width: 829px) {
  .details-navi .--link.--link-icon img {
    -webkit-filter: brightness(0) saturate(100%) invert(96%) sepia(2%) saturate(5995%) hue-rotate(183deg) brightness(85%) contrast(84%);
            filter: brightness(0) saturate(100%) invert(96%) sepia(2%) saturate(5995%) hue-rotate(183deg) brightness(85%) contrast(84%);
  }
}
.details-navi .--link.--link-icon span {
  display: block;
  width: 48px;
  margin-right: 8px;
}
@media screen and (max-width: 828px) {
  .details-navi .--list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 8px;
  }
}
.details-navi .--c_list {
  padding-left: 56px;
}
.details-navi .--c_item {
  position: relative;
  padding-left: 1em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  line-height: 1.2;
}
.details-navi .--c_item::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "-";
}
.details-navi .--c_item.active {
  color: #0C1E66;
}
.details-navi .--c_item + .--c_item {
  margin-top: 12px;
}
.details-navi .--c_link:hover {
  color: #0C1E66;
  opacity: 1;
}
@media screen and (max-width: 500px) {
  .details-navi .--link-icon span {
    width: 24px !important;
  }
  .details-navi .--link-icon img {
    max-width: 24px !important;
    min-width: 24px !important;
  }
  .details-navi .--list {
    gap: 16px;
  }
}
@media screen and (min-width: 829px) {
  .details-content {
    width: 72.6666666667%;
  }
}
.details-headwrap {
  margin-bottom: clamp(32px, 4vw, 64px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 16px;
  line-height: 1;
}
.details .--slug {
  font-size: clamp(2.4rem, 2.5806451613vw, 3.2rem);
  font-weight: 600;
  color: #0C1E66;
}
.details .--title {
  font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
}
.details .--title::before {
  content: "/";
  display: block;
}
.details-catch {
  font-size: clamp(2rem, 1.935483871vw, 2.4rem);
  font-weight: 500;
  line-height: 2;
}
.details-lead {
  font-size: clamp(2rem, 1.935483871vw, 2.4rem);
  font-weight: 500;
  color: #0C1E66;
  border-left: 2px solid;
  padding-left: 24px;
  line-height: 2;
}
@media screen and (max-width: 500px) {
  .details-lead {
    padding-left: 16px;
    line-height: 1;
  }
}
.details-lead:not(.--notes) {
  margin-bottom: clamp(32px, 3vw, 48px);
}
.details-anchor + .details-anchor {
  margin-top: 120px;
}
@media screen and (max-width: 500px) {
  .details-anchor + .details-anchor {
    margin-top: 80px;
  }
}
.details .parent-def .--txt-price {
  color: #0C1E66;
  font-size: clamp(1.8rem, 1.6129032258vw, 2rem);
  margin-left: 8px;
}
.details .parent-def .--txt + .--txt {
  margin-top: 16px;
}
.details .parent-dtit {
  font-size: clamp(1.6rem, 1.4516129032vw, 1.8rem);
  line-height: 2;
  border-bottom: 1px solid #B8BCCC;
  padding-bottom: clamp(12px, 1vw, 16px);
}
.details .parent-dtit + .parent-data {
  margin-top: clamp(24px, 2vw, 32px);
}
.details .parent-data + .parent-dtit {
  margin-top: clamp(40px, 4vw, 64px);
}
.details .sub-dtit {
  position: relative;
  padding-left: 20px;
}
.details .sub-dtit::before {
  content: "●";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  color: #0C1E66;
}
.details .sub-data {
  margin-top: clamp(8px, 0.875vw, 14px);
  font-size: clamp(1.4rem, 1.2096774194vw, 1.5rem);
}
.details .sub-data:not(.--wide) {
  padding-left: 20px;
}
.details .sub-data.--wide .--txt {
  padding-left: 20px;
}
.details .sub-data + .sub-dtit {
  margin-top: clamp(32px, 2.375vw, 38px);
}

.details02 {
  margin-top: 120px;
}
@media screen and (max-width: 500px) {
  .details02 {
    margin-top: 88px;
  }
}
.details02 .details-headwrap {
  margin-bottom: 64px;
}
@media screen and (max-width: 450px) {
  .details02 .details-headwrap {
    margin-bottom: 48px;
  }
}
.details02-01 {
  padding-bottom: 120px;
  border-bottom: 1px solid #B8BCCC;
}
@media screen and (max-width: 500px) {
  .details02-01 {
    padding-bottom: 80px;
  }
}
.details02-02 .notes_txt {
  color: #0C1E66;
  text-align: right;
  margin-bottom: 8px;
}
.details02-02 .mini-font {
  font-size: clamp(1.4rem, 1.2096774194vw, 1.5rem);
}
.details02-02 .th-price {
  display: block;
  font-size: clamp(1.8rem, 1.6129032258vw, 2rem);
  color: #0C1E66;
}
.details02-02 .th-price small {
  font-size: clamp(1.4rem, 1.2096774194vw, 1.5rem);
  color: #333;
  margin-right: 8px;
}
.details02-02 .td_discount {
  font-size: clamp(2.4rem, 2.5806451613vw, 3.2rem);
  font-weight: 700;
  color: #0C1E66;
}
.details02-02 table {
  border-top: 1px solid #B8BCCC;
}
.details02-02 th {
  font-weight: 700;
  background-color: #F2F5FA;
}
.details02-02 th:first-of-type {
  border-left: none;
}
.details02-02 th,
.details02-02 td {
  padding: 16px;
  vertical-align: middle;
  text-align: center;
  border-left: 1px solid #B8BCCC;
  border-bottom: 1px solid #B8BCCC;
  line-height: 1.5;
  font-family: "游ゴシック", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
}
.details02-03 table {
  border-top: 1px solid #B8BCCC;
}
.details02-03 th {
  font-weight: 700;
  background-color: #F2F5FA;
  vertical-align: middle;
  text-align: center;
}
.details02-03 th:first-of-type {
  border-left: none;
}
.details02-03 td {
  font-size: clamp(1.8rem, 1.6129032258vw, 2rem);
  font-weight: 700;
  color: #0C1E66;
}
.details02-03 td small {
  font-weight: 500;
  color: #333;
  font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
}
.details02-03 td p {
  color: #333;
}
.details02-03 th, .details02-03 td {
  padding: 16px 24px;
  border-bottom: 1px solid #B8BCCC;
  line-height: 1.5;
  font-family: "游ゴシック", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
}
@media screen and (min-width: 829px) {
  .details02-03 th, .details02-03 td {
    border-left: 1px solid #B8BCCC;
  }
}
@media screen and (max-width: 828px) {
  .details02-03 th, .details02-03 td {
    display: block;
  }
}
.details02-03 dl + p {
  margin-top: 16px;
  line-height: 1.2;
}
.details02-03 dt {
  position: relative;
  padding-left: 20px;
  color: #333;
}
.details02-03 dt::before {
  content: "●";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  color: #0C1E66;
}
.details02-03 dd {
  padding-left: 20px;
  font-size: clamp(1.8rem, 1.6129032258vw, 2rem);
  font-weight: 700;
  color: #0C1E66;
}
.details02-03 dd small {
  font-weight: 500;
  color: #333;
  font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
}
.details02-05 .notes_txt {
  display: block;
  font-size: clamp(1.4rem, 1.2096774194vw, 1.5rem);
  color: #C40001;
  margin-top: clamp(12px, 1vw, 16px);
  margin-bottom: clamp(32px, 3vw, 48px);
}
.details02-05 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 20px;
}
.details02-06 table {
  border-top: 1px solid #B8BCCC;
  margin-top: clamp(24px, 2.5vw, 40px);
}
.details02-06 th {
  font-weight: 700;
  background-color: #F2F5FA;
}
@media screen and (max-width: 828px) {
  .details02-06 th {
    min-width: 280px;
  }
}
.details02-06 th,
.details02-06 td {
  padding: 16px;
  vertical-align: middle;
  text-align: center;
  border-left: 1px solid #B8BCCC;
  border-bottom: 1px solid #B8BCCC;
  line-height: 1.5;
  font-family: "游ゴシック", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
}
.details02-06 th:first-of-type,
.details02-06 td:first-of-type {
  border-left: none;
}

.flow-def {
  counter-increment: mycounter;
  background-color: #F2F5FA;
  padding: 40px 56px 56px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  margin-top: 76px;
}
@media screen and (max-width: 828px) {
  .flow-def {
    margin-top: 48px;
    padding: 40px;
  }
}
@media screen and (max-width: 500px) {
  .flow-def {
    padding: 24px;
  }
}
.flow-def + .flow-def {
  margin-top: 76px;
}
.flow-def + .flow-def::before {
  content: "";
  display: inline-block;
  background: url("../images/common/icon_arrow-box.webp") no-repeat 50% 50%;
  background-size: contain;
  width: 48px;
  height: 28px;
  position: absolute;
  top: -54px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.flow-dtit {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  color: #0C1E66;
}
.flow-dtit span {
  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;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
  font-weight: 600;
  line-height: 1.2;
  width: 80px;
  min-width: 80px;
  height: 80px;
  background-color: #fff;
  border-radius: 50%;
  padding-top: 17px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  box-sizing: border-box;
}
@media screen and (max-width: 1000px) {
  .flow-dtit span {
    padding-top: 10px;
  }
}
.flow-dtit span::after {
  content: counter(mycounter, decimal-leading-zero);
  display: block;
  font-size: clamp(2.8rem, 3.2258064516vw, 4rem);
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  top: -15px;
}
@media screen and (max-width: 1000px) {
  .flow-dtit span::after {
    top: -10px;
  }
}
.flow-dtit h4 {
  font-size: clamp(1.8rem, 1.6129032258vw, 2rem);
  font-weight: 500;
  line-height: 1.2;
  border-bottom: 1px solid #B8BCCC;
  width: 100%;
  padding-bottom: 16px;
}
.flow-dtit + .flow-data &gt; p {
  margin-top: clamp(24px, 2vw, 32px);
}
.flow-btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 20px 16px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: clamp(32px, 2.5vw, 40px);
}
@media screen and (max-width: 828px) {
  .flow-btns {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.flow-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  max-width: 368px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.flow-btn a {
  position: relative;
  font-size: clamp(1.5rem, 1.2903225806vw, 1.6rem);
  font-weight: 600;
  width: 100%;
}
.flow-btn a::before, .flow-btn a::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%) scale(0.5, 0.8);
  -webkit-transform: translateY(-50%) scale(0.5, 0.8);
  -ms-transform: translateY(-50%) scale(0.5, 0.8);
  width: 2px;
  height: 100%;
  background-color: #0C1E66;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform-origin: center;
          transform-origin: center;
}
.flow-btn a::before {
  left: 0;
}
.flow-btn a::after {
  right: 0;
}
.flow-btn a:hover {
  opacity: 1;
}
.flow-btn a:hover::before, .flow-btn a:hover::after {
  -webkit-transform: translateY(-50%) scale(0.5, 0.99);
          transform: translateY(-50%) scale(0.5, 0.99);
}
.flow-btn a:hover .--inner::before, .flow-btn a:hover .--inner::after {
  -webkit-transform: translateX(-50%) scale(0.99, 0.5);
          transform: translateX(-50%) scale(0.99, 0.5); /*X方向にスケール拡大*/
}
.flow-btn a .--inner {
  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%;
}
.flow-btn a .--inner::before, .flow-btn a .--inner::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%) scale(0.9, 0.5);
  -webkit-transform: translateX(-50%) scale(0.9, 0.5);
  -ms-transform: translateX(-50%) scale(0.9, 0.5);
  width: 100%;
  height: 2px;
  background: #0C1E66;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform-origin: center;
          transform-origin: center;
}
.flow-btn a .--inner::before {
  top: 0;
}
.flow-btn a .--inner::after {
  bottom: 0;
}
.flow-btn a {
  max-width: 368px;
  height: 105px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 450px) {
  .flow-btn a {
    height: 96px;
  }
}
.flow-btn .--tel img {
  width: 20px;
}
@media screen and (max-width: 450px) {
  .flow-btn .--tel img {
    width: 11px;
  }
}
.flow-btn .--tel .--inner {
  font-size: clamp(2.4rem, 2.9032258065vw, 3.6rem);
  font-weight: 400;
  letter-spacing: 0.074em;
  text-indent: -0.074em;
  line-height: 1.5;
}
.flow-btn .--tel small {
  display: block;
  font-size: clamp(1.2rem, 1.1290322581vw, 1.4rem);
  letter-spacing: 0em;
  text-indent: 0em;
  line-height: 1;
  padding-bottom: 10px;
  color: #333;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 500px) {
  .flow-btn .--tel small {
    font-size: 1.1rem;
  }
}
.flow-btn .--contact {
  font-size: clamp(1.6rem, 1.6129032258vw, 2rem);
  font-weight: 500;
}
@media screen and (max-width: 500px) {
  .flow-btn .--contact {
    font-size: 1.5rem;
  }
}
.flow-btn .--contact img {
  width: 22px;
}
@media screen and (max-width: 450px) {
  .flow-btn .--contact img {
    width: 13px;
  }
}
.flow-btn .--inner {
  padding-left: 96px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block !important;
  color: #0C1E66;
}
@media screen and (max-width: 450px) {
  .flow-btn .--inner {
    padding-left: 64px;
  }
}
.flow-btn .--icon {
  pointer-events: none;
  background-color: #0C1E66;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 50%;
  width: 56px;
  height: 56px;
  position: absolute;
  top: 50%;
  left: 7.6086956522%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
@media screen and (max-width: 450px) {
  .flow-btn .--icon {
    width: 32px;
    height: 32px;
  }
}
.flow-btn .--icon img {
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}

.civil-def .--dtit {
  font-size: clamp(1.6rem, 1.4516129032vw, 1.8rem);
  line-height: 2;
  border-bottom: 1px solid #B8BCCC;
  padding-bottom: clamp(12px, 1vw, 16px);
}
.civil-def .--dtit + .--data {
  margin-top: clamp(24px, 2vw, 32px);
}
.civil-def .--data + .--dtit {
  margin-top: clamp(52px, 4vw, 64px);
}
@media screen and (max-width: 500px) {
  .civil-def .--data + .--dtit {
    margin-top: 40px;
  }
}
.civil-def .--data table {
  border-top: 1px solid #B8BCCC;
}
.civil-def .--data th {
  font-weight: 700;
  background-color: #F2F5FA;
}
@media screen and (max-width: 828px) {
  .civil-def .--data th {
    min-width: 280px;
  }
}
.civil-def .--data th,
.civil-def .--data td {
  padding: 16px;
  vertical-align: middle;
  text-align: center;
  border-left: 1px solid #B8BCCC;
  border-bottom: 1px solid #B8BCCC;
  line-height: 1.5;
  font-family: "游ゴシック", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
}
.civil-def .--data th:first-of-type,
.civil-def .--data td:first-of-type {
  border-left: none;
}
.civil-inner span {
  display: block;
  font-family: "游ゴシック", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: clamp(1.8rem, 1.6129032258vw, 2rem);
  font-weight: 700;
  color: #0C1E66;
  line-height: 1.8;
  margin-top: 12px;
}
.civil-inner small {
  font-size: clamp(1.4rem, 1.2096774194vw, 1.5rem);
  font-weight: 500;
  color: #333;
}</pre></body></html>