@charset "UTF-8";
@font-face {
  font-family: "TirelesslyLoveYou";
  font-style: normal;
  font-weight: 400;
  src: url("/fonts/TirelesslyLoveYou.woff2") format("woff2"); }

@font-face {
  font-family: "Philosopher";
  font-style: normal;
  font-weight: 400;
  src: url("/fonts/Philosopher-Regular.woff2") format("woff2"); }

@font-face {
  font-family: "Philosopher";
  font-style: italic;
  font-weight: 400;
  src: url("/fonts/Philosopher-Italic.woff2") format("woff2"); }

@font-face {
  font-family: "Philosopher";
  font-style: normal;
  font-weight: 600;
  src: url("/fonts/Philosopher-Bold.woff2") format("woff2"); }

@font-face {
  font-family: "Philosopher";
  font-style: italic;
  font-weight: 600;
  src: url("/fonts/Philosopher-BoldItalic.woff2") format("woff2"); }

/* Noto Sans */
@font-face {
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 400;
  src: url("/fonts/NotoSansJP-Regular.woff2") format("woff2"); }

@font-face {
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 700;
  src: url("/fonts/NotoSansJP-Bold.woff2") format("woff2"); }

/* Noto Serif */
@font-face {
  font-family: "Noto Serif";
  font-style: normal;
  font-weight: 400;
  src: url("/fonts/NotoSerifJP-Regular.woff2") format("woff2"); }

@font-face {
  font-family: "Noto Serif";
  font-style: normal;
  font-weight: 700;
  src: url("/fonts/NotoSerifJP-Bold.woff2") format("woff2"); }

/* Lato - Normal */
@font-face {
  font-family: "Lato";
  font-style: normal;
  font-weight: 100;
  src: url("/fonts/Lato-Thin.woff2") format("woff2"); }

@font-face {
  font-family: "Lato";
  font-style: normal;
  font-weight: 300;
  src: url("/fonts/Lato-Light.woff2") format("woff2"); }

@font-face {
  font-family: "Lato";
  font-style: normal;
  font-weight: 400;
  src: url("/fonts/Lato-Regular.woff2") format("woff2"); }

@font-face {
  font-family: "Lato";
  font-style: normal;
  font-weight: 700;
  src: url("/fonts/Lato-Bold.woff2") format("woff2"); }

@font-face {
  font-family: "Lato";
  font-style: normal;
  font-weight: 900;
  src: url("/fonts/Lato-Black.woff2") format("woff2"); }

html[lang="ja"] {
  font-family: "Noto Serif";
  color: dimgray; }

h2 {
  display: flex;
  align-items: center; }

h3 {
  display: flex;
  align-items: center; }

h4 {
  display: flex;
  align-items: center; }

/*** 全体を中央寄せ***/
.headline.center h2 {
  justify-content: center;
  text-align: center; }

.headline.center h3 {
  justify-content: center;
  text-align: center; }

.headline.center h4 {
  justify-content: center;
  text-align: center; }

ul {
  padding: 0; }

ol {
  padding: 0; }

li {
  list-style: none; }

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

a {
  color: dimgray;
  text-decoration: none; }
  a:hover {
    opacity: .5; }

@media only screen and (min-width: 768px) {
  .block {
    padding: 0 1rem; } }

@media only screen and (max-width: 1200px) {
  .block {
    padding: 0 1rem; } }

@media only screen and (max-width: 767px) {
  .block {
    padding: 0 .5rem; } }

.gallery .textarea {
  margin: .5rem 0; }

.vertical {
  display: flex;
  flex-direction: column;
  writing-mode: vertical-rl; }
  @media only screen and (max-width: 767px) {
    .vertical {
      writing-mode: unset; } }
header {
  position: relative; }

.header-logo {
  background-color: rgba(255, 255, 255, 0);
  position: absolute;
  display: flex;
  align-items: center;
  z-index: 1; }
  @media only screen and (min-width: 768px) {
    .header-logo {
      padding: .5rem 1rem; } }
  @media only screen and (max-width: 1200px) {
    .header-logo {
      padding: clamp(0.25rem, calc(-0.19rem + 0.93vw), 0.5rem) clamp(0.5rem, calc(-0.39rem + 1.85vw), 1rem); } }
  @media only screen and (max-width: 767px) {
    .header-logo {
      padding: clamp(0.125rem, calc(0.06rem + 0.39vw), 0.25rem) clamp(0.25rem, calc(0.13rem + 0.78vw), 0.5rem); } }
  @media only screen and (min-width: 768px) {
    .header-logo {
      gap: 1rem; } }
  @media only screen and (max-width: 1200px) {
    .header-logo {
      gap: clamp(0.75rem, calc(0.31rem + 0.93vw), 1rem); } }
  @media only screen and (max-width: 767px) {
    .header-logo {
      gap: clamp(0.5rem, calc(0.38rem + 0.78vw), 0.75rem); } }
  .header-logo p {
    margin: 0;
    display: flex; }
    @media only screen and (min-width: 768px) {
      .header-logo p {
        gap: 1rem; } }
    @media only screen and (max-width: 1200px) {
      .header-logo p {
        gap: clamp(0.75rem, calc(0.31rem + 0.93vw), 1rem); } }
    @media only screen and (max-width: 767px) {
      .header-logo p {
        gap: clamp(0.5rem, calc(0.38rem + 0.78vw), 0.75rem); } }
    .header-logo p a {
      display: flex;
      align-items: center; }
  .header-logo:hover {
    opacity: .5; }
  .header-logo svg {
    display: flex;
    align-items: center;
    width: auto; }
    @media only screen and (min-width: 768px) {
      .header-logo svg {
        height: 4rem; } }
    @media only screen and (max-width: 1200px) {
      .header-logo svg {
        height: clamp(4rem, calc(4.00rem + 0.00vw), 4rem); } }
    @media only screen and (max-width: 767px) {
      .header-logo svg {
        height: clamp(2rem, calc(1.75rem + 1.56vw), 2.5rem); } }
.header-top {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  caret-color: transparent;
  margin: 0; }
  @media only screen and (max-width: 767px) {
    .header-top {
      height: 100%; } }
  .header-top .current {
    color: #122b88;
    font-weight: 600;
    pointer-events: none; }
  .header-top:has(.menu-toggle:checked) .header-menu {
    position: fixed;
    transform: translate(0);
    margin: 0;
    padding: 1rem;
    display: flex;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(255, 255, 255, 0.95);
    z-index: 2;
    height: 100vh; }
    .header-top:has(.menu-toggle:checked) .header-menu ul {
      gap: 1rem;
      flex-direction: column; }
      @media only screen and (max-width: 767px) {
        .header-top:has(.menu-toggle:checked) .header-menu ul {
          gap: .5rem; } }
      .header-top:has(.menu-toggle:checked) .header-menu ul li {
        display: flex;
        align-items: center;
        flex: 0 1 0px;
        background-color: transparent; }
        .header-top:has(.menu-toggle:checked) .header-menu ul li.current {
          background: transparent; }
          .header-top:has(.menu-toggle:checked) .header-menu ul li.current:before {
            content: ">";
            transform: translate(0, 5%); }
        .header-top:has(.menu-toggle:checked) .header-menu ul li a {
          padding: .25rem 1rem;
          font-size: 1.5rem;
          background-color: transparent;
          color: #122b88; }
  .header-top .header-menu {
    width: 100%;
    height: 5rem;
    transform: translate(0, -50%);
    display: flex;
    z-index: 1;
    margin: 0;
    gap: 1rem; }
    @media only screen and (max-width: 767px) {
      .header-top .header-menu {
        display: none; } }
    @media only screen and (max-width: 1200px) {
      .header-top .header-menu {
        margin: 0 clamp(0.5rem, calc(-0.39rem + 1.85vw), 1rem); } }
    .header-top .header-menu a {
      display: inline-block; }
    .header-top .header-menu .menu-contents {
      display: flex;
      justify-content: center;
      flex: 1 1 0px;
      align-items: center; }
      .header-top .header-menu .menu-contents ul {
        margin: 0;
        padding: 0;
        width: 100%;
        max-width: 1200px;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap; }
        @media only screen and (max-width: 767px) {
          .header-top .header-menu .menu-contents ul {
            flex-direction: column;
            justify-content: center; } }
        @media only screen and (min-width: 768px) {
          .header-top .header-menu .menu-contents ul {
            font-size: clamp(1rem, calc(0.79rem + 0.28vw), 1.125rem); } }
        @media only screen and (max-width: 1200px) {
          .header-top .header-menu .menu-contents ul {
            font-size: clamp(0.8rem, calc(0.44rem + 0.74vw), 1rem); } }
        @media only screen and (max-width: 767px) {
          .header-top .header-menu .menu-contents ul {
            font-size: 1rem; } }
        .header-top .header-menu .menu-contents ul li {
          height: 100%;
          position: relative;
          display: flex;
          justify-content: center;
          align-items: center;
          flex: 1 1 0px;
          list-style: none;
          text-wrap: nowrap;
          background-color: #122b88; }
          @media only screen and (min-width: 768px) {
            .header-top .header-menu .menu-contents ul li {
              padding: 0 1.5rem; } }
          @media only screen and (max-width: 1200px) {
            .header-top .header-menu .menu-contents ul li {
              padding: 0 clamp(0.8rem, calc(-0.44rem + 2.59vw), 1.5rem); } }
          @media only screen and (max-width: 767px) {
            .header-top .header-menu .menu-contents ul li {
              padding: 0; } }
          @media only screen and (max-width: 767px) {
            .header-top .header-menu .menu-contents ul li {
              padding: .5rem 0; } }
          .header-top .header-menu .menu-contents ul li.current {
            background-color: white;
            pointer-events: none; }
            .header-top .header-menu .menu-contents ul li.current a {
              color: #122b88; }
          .header-top .header-menu .menu-contents ul li a {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            width: 100%;
            color: white;
            cursor: pointer; }
            .header-top .header-menu .menu-contents ul li a:hover {
              color: gray; }
            @media only screen and (max-width: 767px) {
              .header-top .header-menu .menu-contents ul li a {
                flex-direction: row; } }
            .header-top .header-menu .menu-contents ul li a span.sep {
              display: none; }
              @media only screen and (max-width: 767px) {
                .header-top .header-menu .menu-contents ul li a span.sep {
                  display: flex; } }
          .header-top .header-menu .menu-contents ul li.exception-home {
            display: none; }
            @media only screen and (max-width: 767px) {
              .header-top .header-menu .menu-contents ul li.exception-home {
                display: inline-block; } }
  .header-top .menu-icon {
    width: 3rem;
    height: 3rem;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 3;
    background-color: #122b88; }
    @media only screen and (max-width: 767px) {
      .header-top .menu-icon {
        display: flex; } }
    .header-top .menu-icon .menu-toggle {
      display: none; }
    .header-top .menu-icon .humberger {
      width: 50%;
      height: 50%;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      cursor: pointer;
      background-color: tranceparent; }
      .header-top .menu-icon .humberger span {
        display: block;
        width: 100%;
        height: 2px;
        background-color: white;
        position: absolute;
        transition: transform 0.3s, opacity 0.3s; }
        .header-top .menu-icon .humberger span:nth-child(1) {
          top: 0; }
        .header-top .menu-icon .humberger span:nth-child(2) {
          top: 50%; }
        .header-top .menu-icon .humberger span:nth-child(3) {
          bottom: 0; }
    .header-top .menu-icon .menu-toggle:checked + .humberger span {
      margin-top: calc(50% - 2px / 2); }
    .header-top .menu-icon .menu-toggle:checked + .humberger span:nth-child(1) {
      transform: rotate(45deg); }
    .header-top .menu-icon .menu-toggle:checked + .humberger span:nth-child(2) {
      transform: scale(0); }
    .header-top .menu-icon .menu-toggle:checked + .humberger span:nth-child(3) {
      bottom: none;
      top: 0;
      transform: rotate(-45deg); }

.header-content {
  width: auto;
  height: calc(100vh - 2.5rem); }
  @media only screen and (max-width: 767px) {
    .header-content {
      width: 100%;
      height: calc(100vw * (691 / 768)); } }
  .header-content .header-visual {
    height: 100%; }
    .header-content .header-visual .main-visual {
      overflow: hidden;
      position: relative;
      width: auto;
      height: 100%;
      display: flex;
      align-items: center; }
      @media only screen and (max-width: 767px) {
        .header-content .header-visual .main-visual {
          display: flex;
          width: 100%;
          height: 100%;
          align-items: flex-end; } }
      @media only screen and (min-width: 768px) {
        .header-content .header-visual .main-visual .visual-content {
          margin-left: calc((100% - 1200px) / 2); } }
      @media only screen and (max-width: 1200px) {
        .header-content .header-visual .main-visual .visual-content {
          margin-left: 0; } }
      @media only screen and (max-width: 767px) {
        .header-content .header-visual .main-visual .visual-content {
          margin-bottom: 1rem; } }
      .header-content .header-visual .main-visual .messages {
        align-items: center;
        justify-content: flex-end;
        width: 100%;
        max-width: 1200px;
        text-orientation: mixed;
        white-space: nowrap;
        position: relative; }
        @media only screen and (min-width: 768px) {
          .header-content .header-visual .main-visual .messages {
            margin: 4rem auto; } }
        @media only screen and (max-width: 1200px) {
          .header-content .header-visual .main-visual .messages {
            margin: clamp(3rem, calc(1.22rem + 3.70vw), 4rem) auto; } }
        @media only screen and (max-width: 767px) {
          .header-content .header-visual .main-visual .messages {
            margin: clamp(2rem, calc(1.50rem + 3.13vw), 3rem) auto; } }
        @media only screen and (min-width: 768px) {
          .header-content .header-visual .main-visual .messages {
            padding: 0 0 0 0rem; } }
        @media only screen and (max-width: 1200px) {
          .header-content .header-visual .main-visual .messages {
            padding: 0 0 0 1rem; } }
        @media only screen and (max-width: 767px) {
          .header-content .header-visual .main-visual .messages {
            margin: auto auto .5rem;
            padding: 0; } }
        .header-content .header-visual .main-visual .messages p {
          color: #122b88;
          font-weight: 600;
          box-shadow: 0.25rem 0.125rem 0.125rem rgba(0, 32, 64, 0.5);
          margin: 0 1rem auto 0;
          background-color: rgba(255, 255, 255, 0.8); }
          .header-content .header-visual .main-visual .messages p:first-child {
            margin: 0 0 auto 0; }
          @media only screen and (max-width: 767px) {
            .header-content .header-visual .main-visual .messages p {
              margin: 0 auto .5rem 1rem; }
              .header-content .header-visual .main-visual .messages p:first-child {
                margin: 0 auto .5rem 1rem; } }
          @media only screen and (min-width: 768px) {
            .header-content .header-visual .main-visual .messages p {
              font-size: 1.75rem; } }
          @media only screen and (max-width: 1200px) {
            .header-content .header-visual .main-visual .messages p {
              font-size: clamp(1.35rem, calc(0.64rem + 1.48vw), 1.75rem); } }
          @media only screen and (max-width: 767px) {
            .header-content .header-visual .main-visual .messages p {
              font-size: clamp(1.125rem, calc(1.01rem + 0.70vw), 1.35rem); } }
          @media only screen and (min-width: 768px) {
            .header-content .header-visual .main-visual .messages p {
              padding: 1rem .25rem; } }
          @media only screen and (max-width: 1200px) {
            .header-content .header-visual .main-visual .messages p {
              padding: clamp(0.5rem, calc(-0.39rem + 1.85vw), 1rem) clamp(0.125rem, calc(-0.10rem + 0.46vw), 0.25rem); } }
          @media only screen and (max-width: 767px) {
            .header-content .header-visual .main-visual .messages p {
              padding: clamp(0.125rem, calc(0.06rem + 0.39vw), 0.25rem) 0.5rem; } }
          .header-content .header-visual .main-visual .messages p.noborder {
            padding: 0;
            z-index: 1;
            border: none; }
            @media only screen and (min-width: 768px) {
              .header-content .header-visual .main-visual .messages p.noborder {
                margin-left: calc(-1 * 1rem); } }
            @media only screen and (max-width: 1200px) {
              .header-content .header-visual .main-visual .messages p.noborder {
                margin-left: calc(-1 * clamp(0.75rem, calc(0.31rem + 0.93vw), 1rem)); } }
            @media only screen and (max-width: 767px) {
              .header-content .header-visual .main-visual .messages p.noborder {
                margin-left: .5rem; } }
            @media only screen and (max-width: 767px) {
              .header-content .header-visual .main-visual .messages p.noborder {
                position: absolute; } }
            .header-content .header-visual .main-visual .messages p.noborder img {
              height: auto; }
              @media only screen and (min-width: 768px) {
                .header-content .header-visual .main-visual .messages p.noborder img {
                  width: 6rem; } }
              @media only screen and (max-width: 1200px) {
                .header-content .header-visual .main-visual .messages p.noborder img {
                  width: clamp(5rem, calc(3.22rem + 3.70vw), 6rem); } }
              @media only screen and (max-width: 767px) {
                .header-content .header-visual .main-visual .messages p.noborder img {
                  width: clamp(4rem, calc(3.50rem + 3.13vw), 5rem); } }
              @media only screen and (max-width: 767px) {
                .header-content .header-visual .main-visual .messages p.noborder img {
                  max-height: calc(100vw * (691 / 768) * (3 / 4));
                  width: auto; } }
          .header-content .header-visual .main-visual .messages p.nobackground {
            background-color: unset; }
      .header-content .header-visual .main-visual .link-to-concept {
        position: relative; }
        @media only screen and (min-width: 768px) {
          .header-content .header-visual .main-visual .link-to-concept {
            margin: 0; } }
        @media only screen and (max-width: 1200px) {
          .header-content .header-visual .main-visual .link-to-concept {
            margin: 0 0 0 1rem; } }
        @media only screen and (max-width: 767px) {
          .header-content .header-visual .main-visual .link-to-concept {
            margin: 0 0 0 1rem;
            max-width: 8rem; } }
        .header-content .header-visual .main-visual .link-to-concept a {
          line-height: 1;
          border: 1px solid white;
          padding: .25rem .5rem;
          display: flex;
          justify-content: space-between;
          align-items: center;
          color: white; }
          .header-content .header-visual .main-visual .link-to-concept a span {
            display: flex;
            align-items: center; }
            .header-content .header-visual .main-visual .link-to-concept a span.text {
              margin-bottom: .25rem; }
          .header-content .header-visual .main-visual .link-to-concept a svg {
            display: flex;
            align-items: center;
            width: 1.125rem;
            height: 1.125rem;
            fill: white; }
            .header-content .header-visual .main-visual .link-to-concept a svg path {
              fill: white; }

h2 {
  margin: 0 0 .25rem; }
  h2.title.en {
    display: block;
    text-align: center;
    font-family: Philosopher;
    font-weight: 600; }
    @media only screen and (min-width: 768px) {
      h2.title.en {
        font-size: 3rem; } }
    @media only screen and (max-width: 1200px) {
      h2.title.en {
        font-size: clamp(2rem, calc(0.22rem + 3.70vw), 3rem); } }
    @media only screen and (max-width: 767px) {
      h2.title.en {
        font-size: clamp(1.125rem, calc(0.69rem + 2.73vw), 2rem); } }
h1.title.ja {
  text-align: center;
  font-weight: 400; }
  @media only screen and (min-width: 768px) {
    h1.title.ja {
      font-size: 1.25rem; } }
  @media only screen and (max-width: 1200px) {
    h1.title.ja {
      font-size: clamp(1.125rem, calc(0.90rem + 0.46vw), 1.25rem); } }
  @media only screen and (max-width: 767px) {
    h1.title.ja {
      font-size: clamp(1rem, calc(0.94rem + 0.39vw), 1.125rem); } }
.block {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; }

.readmore {
  margin: 0 auto;
  display: inline-flex; }
  .readmore a {
    margin: 0 auto;
    font-family: Philosopher;
    display: inline-flex;
    padding: 1rem;
    gap: 1.5rem; }
    .readmore a span {
      display: flex;
      align-items: center; }
    .readmore a .text {
      font-size: 1.125rem;
      line-height: 1;
      display: flex;
      align-items: center; }
    .readmore a svg {
      display: flex;
      align-items: center;
      width: 1rem;
      height: 1rem; }

.grayline {
  white-space: nowrap;
  color: rgba(255, 255, 255, 0.125);
  font-family: Philosopher;
  overflow: hidden;
  padding: 0;
  transform: translate(0, 20%); }
  @media only screen and (min-width: 768px) {
    .grayline {
      font-size: clamp(8rem, calc(3.00rem + 6.67vw), 11rem); } }
  @media only screen and (max-width: 1200px) {
    .grayline {
      font-size: clamp(5.5rem, calc(1.06rem + 9.26vw), 8rem); } }
  @media only screen and (max-width: 767px) {
    .grayline {
      font-size: clamp(1.25rem, calc(-0.88rem + 13.28vw), 5.5rem); } }
.section-home-concept {
  position: static;
  padding: 5.5rem 0 0;
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.75) 70%), url("/wp-content/uploads/background-concept.webp");
  background-size: cover;
  background-position: center 25%;
  background-repeat: no-repeat; }
  @media only screen and (max-width: 767px) {
    .section-home-concept {
      padding: 2.5rem 0 0; } }
  .section-home-concept .block-home-concept {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-width: 100%;
    margin: 0;
    padding: 0;
    position: relative; }
    .section-home-concept .block-home-concept:before {
      content: "";
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 0 0;
      position: absolute;
      margin-top: -5.5rem;
      top: 0;
      left: 0;
      border-color: white transparent white white; }
      @media only screen and (min-width: 768px) {
        .section-home-concept .block-home-concept:before {
          border-width: 10rem 10rem 0 0; } }
      @media only screen and (max-width: 1200px) {
        .section-home-concept .block-home-concept:before {
          border-width: clamp(7.5rem, calc(3.06rem + 9.26vw), 10rem) clamp(7.5rem, calc(3.06rem + 9.26vw), 10rem) 0 0; } }
      @media only screen and (max-width: 767px) {
        .section-home-concept .block-home-concept:before {
          border-width: clamp(5rem, calc(3.75rem + 7.81vw), 7.5rem) clamp(5rem, calc(3.75rem + 7.81vw), 7.5rem) 0 0; } }
    .section-home-concept .block-home-concept:after {
      content: "";
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 0 0;
      position: absolute;
      right: 0;
      bottom: 0;
      border-color: transparent white transparent transparent; }
      @media only screen and (min-width: 768px) {
        .section-home-concept .block-home-concept:after {
          border-width: 10rem 10rem 0 0; } }
      @media only screen and (max-width: 1200px) {
        .section-home-concept .block-home-concept:after {
          border-width: clamp(7.5rem, calc(3.06rem + 9.26vw), 10rem) clamp(7.5rem, calc(3.06rem + 9.26vw), 10rem) 0 0; } }
      @media only screen and (max-width: 767px) {
        .section-home-concept .block-home-concept:after {
          border-width: clamp(5rem, calc(3.75rem + 7.81vw), 7.5rem) clamp(5rem, calc(3.75rem + 7.81vw), 7.5rem) 0 0; } }
    .section-home-concept .block-home-concept .inner {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center; }
      .section-home-concept .block-home-concept .inner .title {
        color: white; }
      .section-home-concept .block-home-concept .inner p.description {
        color: white;
        padding: 1.5rem 0;
        line-height: 1.75;
        text-align: center; }
        @media only screen and (min-width: 768px) {
          .section-home-concept .block-home-concept .inner p.description {
            font-size: 1.5rem; } }
        @media only screen and (max-width: 1200px) {
          .section-home-concept .block-home-concept .inner p.description {
            font-size: clamp(1.25rem, calc(0.81rem + 0.93vw), 1.5rem); } }
        @media only screen and (max-width: 767px) {
          .section-home-concept .block-home-concept .inner p.description {
            font-size: clamp(1rem, calc(0.88rem + 0.78vw), 1.25rem); } }
      .section-home-concept .block-home-concept .inner .readmore a {
        color: white;
        border-bottom: 1px solid white; }
        .section-home-concept .block-home-concept .inner .readmore a svg {
          fill: white; }
          .section-home-concept .block-home-concept .inner .readmore a svg path {
            fill: white; }

#home .breadcrumbs {
  display: none; }

#home main {
  margin-top: -5rem; }
  @media only screen and (max-width: 767px) {
    #home main {
      margin-top: 0; } }
.section-home-service {
  position: relative; }
  @media only screen and (min-width: 768px) {
    .section-home-service {
      padding-bottom: 4rem; } }
  @media only screen and (max-width: 1200px) {
    .section-home-service {
      padding-bottom: clamp(3rem, calc(1.22rem + 3.70vw), 4rem); } }
  @media only screen and (max-width: 767px) {
    .section-home-service {
      padding-bottom: clamp(2rem, calc(1.50rem + 3.13vw), 3rem); } }
  @media only screen and (min-width: 768px) {
    .section-home-service {
      margin-bottom: 5rem; } }
  @media only screen and (max-width: 1200px) {
    .section-home-service {
      margin-bottom: clamp(4rem, calc(2.22rem + 3.70vw), 5rem); } }
  @media only screen and (max-width: 767px) {
    .section-home-service {
      margin-bottom: clamp(3rem, calc(2.50rem + 3.13vw), 4rem); } }
  .section-home-service:before {
    position: absolute;
    content: "";
    background-color: #f2f2f2;
    z-index: -1;
    top: 0;
    right: 0; }
    @media only screen and (min-width: 768px) {
      .section-home-service:before {
        width: 32rem; } }
    @media only screen and (max-width: 1200px) {
      .section-home-service:before {
        width: clamp(16rem, calc(-12.44rem + 59.26vw), 32rem); } }
    @media only screen and (max-width: 767px) {
      .section-home-service:before {
        width: clamp(10rem, calc(7.00rem + 18.75vw), 16rem); } }
    @media only screen and (min-width: 768px) {
      .section-home-service:before {
        height: 20rem; } }
    @media only screen and (max-width: 1200px) {
      .section-home-service:before {
        height: clamp(10rem, calc(-7.78rem + 37.04vw), 20rem); } }
    @media only screen and (max-width: 767px) {
      .section-home-service:before {
        height: clamp(6rem, calc(4.00rem + 12.50vw), 10rem); } }
  .section-home-service:after {
    position: absolute;
    content: "";
    background-color: #f2f2f2;
    z-index: -1;
    left: 0;
    bottom: 0; }
    @media only screen and (min-width: 768px) {
      .section-home-service:after {
        width: 32rem; } }
    @media only screen and (max-width: 1200px) {
      .section-home-service:after {
        width: clamp(16rem, calc(-12.44rem + 59.26vw), 32rem); } }
    @media only screen and (max-width: 767px) {
      .section-home-service:after {
        width: clamp(10rem, calc(7.00rem + 18.75vw), 16rem); } }
    @media only screen and (min-width: 768px) {
      .section-home-service:after {
        height: 20rem; } }
    @media only screen and (max-width: 1200px) {
      .section-home-service:after {
        height: clamp(10rem, calc(-7.78rem + 37.04vw), 20rem); } }
    @media only screen and (max-width: 767px) {
      .section-home-service:after {
        height: clamp(6rem, calc(4.00rem + 12.50vw), 10rem); } }
  .section-home-service .block:first-child {
    margin-bottom: 2rem; }
    .section-home-service .block:first-child:after {
      top: 0;
      right: 0;
      z-index: -1; }
  .section-home-service h2 {
    margin-top: 2rem;
    color: #122b88; }
  .section-home-service h1 {
    margin-bottom: 1.5rem; }
  .section-home-service .image {
    position: relative; }
    .section-home-service .image:before {
      content: "";
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 0 0;
      position: absolute;
      top: 0;
      left: 0;
      border-color: white transparent white white; }
      @media only screen and (min-width: 768px) {
        .section-home-service .image:before {
          border-width: 10rem 10rem 0 0; } }
      @media only screen and (max-width: 1200px) {
        .section-home-service .image:before {
          border-width: clamp(7.5rem, calc(3.06rem + 9.26vw), 10rem) clamp(7.5rem, calc(3.06rem + 9.26vw), 10rem) 0 0; } }
      @media only screen and (max-width: 767px) {
        .section-home-service .image:before {
          border-width: clamp(5rem, calc(3.75rem + 7.81vw), 7.5rem) clamp(5rem, calc(3.75rem + 7.81vw), 7.5rem) 0 0; } }
      @media only screen and (min-width: 768px) {
        .section-home-service .image:before {
          border-width: 7.5rem 7.5rem 0 0; } }
      @media only screen and (max-width: 1200px) {
        .section-home-service .image:before {
          border-width: clamp(5rem, calc(0.56rem + 9.26vw), 7.5rem) clamp(5rem, calc(0.56rem + 9.26vw), 7.5rem) 0 0; } }
      @media only screen and (max-width: 767px) {
        .section-home-service .image:before {
          border-width: clamp(5rem, calc(3.75rem + 7.81vw), 7.5rem) clamp(5rem, calc(3.75rem + 7.81vw), 7.5rem) 0 0; } }
    .section-home-service .image:after {
      content: "";
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 0 0;
      position: absolute;
      right: 0;
      bottom: 0;
      border-color: transparent white transparent transparent; }
      @media only screen and (min-width: 768px) {
        .section-home-service .image:after {
          border-width: 10rem 10rem 0 0; } }
      @media only screen and (max-width: 1200px) {
        .section-home-service .image:after {
          border-width: clamp(7.5rem, calc(3.06rem + 9.26vw), 10rem) clamp(7.5rem, calc(3.06rem + 9.26vw), 10rem) 0 0; } }
      @media only screen and (max-width: 767px) {
        .section-home-service .image:after {
          border-width: clamp(5rem, calc(3.75rem + 7.81vw), 7.5rem) clamp(5rem, calc(3.75rem + 7.81vw), 7.5rem) 0 0; } }
      @media only screen and (min-width: 768px) {
        .section-home-service .image:after {
          border-width: 7.5rem 7.5rem 0 0; } }
      @media only screen and (max-width: 1200px) {
        .section-home-service .image:after {
          border-width: clamp(5rem, calc(0.56rem + 9.26vw), 7.5rem) clamp(5rem, calc(0.56rem + 9.26vw), 7.5rem) 0 0; } }
      @media only screen and (max-width: 767px) {
        .section-home-service .image:after {
          border-width: clamp(5rem, calc(3.75rem + 7.81vw), 7.5rem) clamp(5rem, calc(3.75rem + 7.81vw), 7.5rem) 0 0; } }
    .section-home-service .image .type {
      position: absolute;
      font-family: Philosopher;
      color: rgba(255, 255, 255, 0.25);
      line-height: 1; }
      @media only screen and (min-width: 768px) {
        .section-home-service .image .type {
          font-size: 4.5rem; } }
      @media only screen and (max-width: 1200px) {
        .section-home-service .image .type {
          font-size: clamp(3.5rem, calc(1.72rem + 3.70vw), 4.5rem); } }
      @media only screen and (max-width: 767px) {
        .section-home-service .image .type {
          font-size: clamp(3rem, calc(2.25rem + 4.69vw), 4.5rem); } }
      .section-home-service .image .type.type-classic {
        top: 0;
        right: 0;
        text-align: right;
        transform: translate(0, -7%); }
      .section-home-service .image .type.type-urban {
        left: 0;
        bottom: 0;
        transform: translate(0, 7%); }
  .section-home-service .textarea {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative; }
    .section-home-service .textarea.type-classic:before {
      font-family: TirelesslyLoveYou;
      position: absolute;
      opacity: .25;
      transform: rotate(-25deg);
      z-index: -1;
      content: "Classic";
      color: #0090d9;
      top: 0;
      left: 0; }
      @media only screen and (min-width: 768px) {
        .section-home-service .textarea.type-classic:before {
          font-size: 4rem; } }
      @media only screen and (max-width: 1200px) {
        .section-home-service .textarea.type-classic:before {
          font-size: clamp(2rem, calc(-1.56rem + 7.41vw), 4rem); } }
      @media only screen and (max-width: 767px) {
        .section-home-service .textarea.type-classic:before {
          font-size: clamp(3rem, calc(2.50rem + 3.13vw), 4rem); } }
      @media only screen and (max-width: 767px) {
        .section-home-service .textarea.type-classic:before {
          top: .5rem;
          left: .25rem; } }
    .section-home-service .textarea.type-urban:before {
      font-family: TirelesslyLoveYou;
      position: absolute;
      opacity: .25;
      transform: rotate(-25deg);
      z-index: -1;
      content: "Urban";
      color: #122b88;
      right: 0;
      bottom: 0; }
      @media only screen and (min-width: 768px) {
        .section-home-service .textarea.type-urban:before {
          font-size: 4rem; } }
      @media only screen and (max-width: 1200px) {
        .section-home-service .textarea.type-urban:before {
          font-size: clamp(2rem, calc(-1.56rem + 7.41vw), 4rem); } }
      @media only screen and (max-width: 767px) {
        .section-home-service .textarea.type-urban:before {
          font-size: clamp(3rem, calc(2.50rem + 3.13vw), 4rem); } }
      @media only screen and (max-width: 767px) {
        .section-home-service .textarea.type-urban:before {
          right: .25rem; } }
    .section-home-service .textarea h3 {
      font-weight: 400; }
      @media only screen and (min-width: 768px) {
        .section-home-service .textarea h3 {
          font-size: 2rem; } }
      @media only screen and (max-width: 1200px) {
        .section-home-service .textarea h3 {
          font-size: clamp(1.5rem, calc(0.61rem + 1.85vw), 2rem); } }
      @media only screen and (max-width: 767px) {
        .section-home-service .textarea h3 {
          font-size: clamp(1.25rem, calc(1.13rem + 0.78vw), 1.5rem); } }
      @media only screen and (max-width: 767px) {
        .section-home-service .textarea h3 {
          margin-top: .5rem; } }
      .section-home-service .textarea h3.type-classic {
        color: #0090d9; }
      .section-home-service .textarea h3.type-urban {
        color: #122b88; }
    .section-home-service .textarea .description {
      display: flex;
      flex-direction: column;
      width: fit-content;
      gap: .5rem; }
      .section-home-service .textarea .description p {
        padding: .5rem 1rem;
        display: flex;
        flex: 0 1 0px;
        color: white;
        justify-content: center; }
        @media only screen and (max-width: 767px) {
          .section-home-service .textarea .description p {
            padding: .25rem .5rem; } }
        .section-home-service .textarea .description p.type-classic {
          background-color: #0090d9; }
        .section-home-service .textarea .description p.type-urban {
          background-color: #122b88; }
    .section-home-service .textarea .readmore {
      margin-top: 2rem; }
      @media only screen and (max-width: 767px) {
        .section-home-service .textarea .readmore {
          margin-top: 1rem; } }
      .section-home-service .textarea .readmore.type-classic a {
        color: #0090d9;
        border-bottom: 1px solid #0090d9; }
        .section-home-service .textarea .readmore.type-classic a svg {
          fill: #0090d9; }
          .section-home-service .textarea .readmore.type-classic a svg path {
            fill: #0090d9; }
      .section-home-service .textarea .readmore.type-urban a {
        color: #122b88;
        border-bottom: 1px solid #122b88; }
        .section-home-service .textarea .readmore.type-urban a svg {
          fill: #122b88; }
          .section-home-service .textarea .readmore.type-urban a svg path {
            fill: #122b88; }

h4 {
  margin: 0 0 0rem;
  /*下余白をゼロ_20251021阿部*/ }
  h4.subtitle.en {
    display: block;
    text-align: center;
    font-family: Philosopher;
    font-weight: 600; }
    @media only screen and (min-width: 768px) {
      h4.subtitle.en {
        font-size: 2.5rem; } }
    @media only screen and (max-width: 1200px) {
      h4.subtitle.en {
        font-size: clamp(1.75rem, calc(0.42rem + 2.78vw), 2.5rem); } }
    @media only screen and (max-width: 767px) {
      h4.subtitle.en {
        font-size: clamp(1.75rem, calc(1.38rem + 2.34vw), 2.5rem); } }
h3 {
  margin: 0 0 0rem;
  /*下余白をゼロ_20251021阿部*/ }
  h3.subtitle.ja {
    text-align: center;
    font-weight: 400; }
    @media only screen and (min-width: 768px) {
      h3.subtitle.ja {
        font-size: 1.125rem; } }
    @media only screen and (max-width: 1200px) {
      h3.subtitle.ja {
        font-size: clamp(1rem, calc(0.78rem + 0.46vw), 1.125rem); } }
    @media only screen and (max-width: 767px) {
      h3.subtitle.ja {
        font-size: clamp(1rem, calc(0.94rem + 0.39vw), 1.125rem); } }
@media only screen and (min-width: 768px) {
  .section-home-aboutus {
    margin-bottom: 5rem; } }

@media only screen and (max-width: 1200px) {
  .section-home-aboutus {
    margin-bottom: clamp(4rem, calc(2.22rem + 3.70vw), 5rem); } }

@media only screen and (max-width: 767px) {
  .section-home-aboutus {
    margin-bottom: clamp(3rem, calc(2.50rem + 3.13vw), 4rem); } }

.section-home-aboutus .block-home-title {
  position: relative; }
  .section-home-aboutus .block-home-title .grayline {
    position: absolute;
    top: 50%;
    left: 50%;
    color: rgba(0, 0, 0, 0.05);
    overflow: hidden;
    padding: 0;
    line-height: 1;
    transform: translate(-50%, -50%); }
    @media only screen and (min-width: 768px) {
      .section-home-aboutus .block-home-title .grayline {
        font-size: clamp(7rem, calc(-0.50rem + 10.00vw), 11.5rem); } }
    @media only screen and (max-width: 1200px) {
      .section-home-aboutus .block-home-title .grayline {
        font-size: clamp(4.5rem, calc(-0.83rem + 11.11vw), 7.5rem); } }
    @media only screen and (max-width: 767px) {
      .section-home-aboutus .block-home-title .grayline {
        font-size: clamp(1.5rem, calc(0.00rem + 9.38vw), 4.5rem); } }
    @media only screen and (max-width: 767px) {
      .section-home-aboutus .block-home-title .grayline {
        transform: translate(-50%, -57%); } }
.section-home-aboutus .contents {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%; }
  .section-home-aboutus .contents h3.subtitle, .section-home-aboutus .contents h4.subtitle {
    color: rgba(255, 255, 255, 0.75); }
  .section-home-aboutus .contents .content {
    min-width: 50%;
    flex: 1 1 34%;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    background-size: cover;
    background-position: center 25%;
    background-repeat: no-repeat;
    display: flex; }
    @media only screen and (max-width: 767px) {
      .section-home-aboutus .contents .content {
        flex: 1 1 51%; } }
    .section-home-aboutus .contents .content .inner-content {
      box-sizing: border-box;
      width: 100%;
      display: flex;
      margin: .5rem;
      border: 1px solid rgba(255, 255, 255, 0.75);
      flex-direction: column;
      justify-content: center;
      align-items: center; }
      @media only screen and (max-width: 767px) {
        .section-home-aboutus .contents .content .inner-content {
          margin: .25rem; } }
      @media only screen and (min-width: 768px) {
        .section-home-aboutus .contents .content .inner-content {
          padding: 6rem 0; } }
      @media only screen and (max-width: 1200px) {
        .section-home-aboutus .contents .content .inner-content {
          padding: clamp(4rem, calc(0.44rem + 7.41vw), 6rem) 0; } }
      @media only screen and (max-width: 767px) {
        .section-home-aboutus .contents .content .inner-content {
          padding: clamp(2rem, calc(1.00rem + 6.25vw), 4rem) 0; } }
    .section-home-aboutus .contents .content.aboutus {
      background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.75) 70%), url("/wp-content/uploads/background-aboutus.webp"); }
    .section-home-aboutus .contents .content.qa {
      background-image: linear-gradient(to right, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.25) 70%), url("/wp-content/uploads/background-qa.webp"); }
    .section-home-aboutus .contents .content.blog {
      background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.75) 70%), url("/wp-content/uploads/background-blog.webp"); }
    .section-home-aboutus .contents .content.contactus {
      background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.75) 70%), url("/wp-content/uploads/background-contactus.webp"); }

.section-home-blog {
  gap: 0;
  background-color: #f2f2f2; }
  @media only screen and (min-width: 768px) {
    .section-home-blog {
      margin-bottom: 5rem; } }
  @media only screen and (max-width: 1200px) {
    .section-home-blog {
      margin-bottom: clamp(4rem, calc(2.22rem + 3.70vw), 5rem); } }
  @media only screen and (max-width: 767px) {
    .section-home-blog {
      margin-bottom: clamp(3rem, calc(2.50rem + 3.13vw), 4rem); } }
  .section-home-blog .block-title {
    margin: 0;
    max-width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #122b88; }
    @media only screen and (min-width: 768px) {
      .section-home-blog .block-title {
        padding: 1rem 0; } }
    @media only screen and (max-width: 1200px) {
      .section-home-blog .block-title {
        padding: clamp(0.5rem, calc(-0.39rem + 1.85vw), 1rem) 0; } }
    @media only screen and (max-width: 767px) {
      .section-home-blog .block-title {
        padding: clamp(0.25rem, calc(0.13rem + 0.78vw), 0.5rem) 0; } }
    .section-home-blog .block-title h1 {
      color: white;
      margin: 0;
      padding: 0;
      text-align: center;
      font-family: Philosopher;
      font-weight: 600; }
      @media only screen and (min-width: 768px) {
        .section-home-blog .block-title h1 {
          font-size: 3rem; } }
      @media only screen and (max-width: 1200px) {
        .section-home-blog .block-title h1 {
          font-size: clamp(2rem, calc(0.22rem + 3.70vw), 3rem); } }
      @media only screen and (max-width: 767px) {
        .section-home-blog .block-title h1 {
          font-size: clamp(1.125rem, calc(0.69rem + 2.73vw), 2rem); } }
  .section-home-blog .block-home-blog ul {
    padding: 1rem;
    width: auto;
    margin: 0 auto; }
    .section-home-blog .block-home-blog ul li a {
      width: 100%;
      display: flex;
      justify-content: flex-start;
      border-bottom: 1px solid lightgray; }
      @media only screen and (min-width: 768px) {
        .section-home-blog .block-home-blog ul li a {
          font-size: 1.25rem; } }
      @media only screen and (max-width: 1200px) {
        .section-home-blog .block-home-blog ul li a {
          font-size: clamp(1.125rem, calc(0.90rem + 0.46vw), 1.25rem); } }
      @media only screen and (max-width: 767px) {
        .section-home-blog .block-home-blog ul li a {
          font-size: clamp(1rem, calc(0.94rem + 0.39vw), 1.125rem); } }
      @media only screen and (min-width: 768px) {
        .section-home-blog .block-home-blog ul li a {
          padding: 1rem 0; } }
      @media only screen and (max-width: 1200px) {
        .section-home-blog .block-home-blog ul li a {
          padding: clamp(0.75rem, calc(0.31rem + 0.93vw), 1rem) 0; } }
      @media only screen and (max-width: 767px) {
        .section-home-blog .block-home-blog ul li a {
          padding: clamp(0.5rem, calc(0.38rem + 0.78vw), 0.75rem) 0; } }
      @media only screen and (min-width: 768px) {
        .section-home-blog .block-home-blog ul li a date {
          flex: 0 0 12rem; } }
      @media only screen and (max-width: 1200px) {
        .section-home-blog .block-home-blog ul li a date {
          flex: 0 0 clamp(10rem, calc(6.44rem + 7.41vw), 12rem); } }
      @media only screen and (max-width: 767px) {
        .section-home-blog .block-home-blog ul li a date {
          flex: 0 0 clamp(8rem, calc(7.00rem + 6.25vw), 10rem); } }
      .section-home-blog .block-home-blog ul li a span {
        flex: 1 1 0px;
        min-width: 30rem; }
        @media only screen and (max-width: 767px) {
          .section-home-blog .block-home-blog ul li a span {
            min-width: 8rem; } }
  .section-home-blog .block-home-blog .readmore {
    display: flex;
    width: 100%;
    justify-content: flex-end; }
    @media only screen and (min-width: 768px) {
      .section-home-blog .block-home-blog .readmore {
        margin: 0 0 2rem 0; } }
    @media only screen and (max-width: 1200px) {
      .section-home-blog .block-home-blog .readmore {
        margin: 0 0 clamp(1.5rem, calc(0.61rem + 1.85vw), 2rem) 0; } }
    @media only screen and (max-width: 767px) {
      .section-home-blog .block-home-blog .readmore {
        margin: 0 0 clamp(1rem, calc(0.75rem + 1.56vw), 1.5rem) 0; } }
    .section-home-blog .block-home-blog .readmore a {
      margin: 0 0 0 auto;
      color: #122b88;
      border-bottom: none; }

.section-home-contactus {
  flex-direction: column; }
  .section-home-contactus h2.title.en {
    color: #122b88; }
    @media only screen and (min-width: 768px) {
      .section-home-contactus h2.title.en {
        font-size: 5rem; } }
    @media only screen and (max-width: 1200px) {
      .section-home-contactus h2.title.en {
        font-size: clamp(4rem, calc(2.22rem + 3.70vw), 5rem); } }
    @media only screen and (max-width: 767px) {
      .section-home-contactus h2.title.en {
        font-size: clamp(1.5rem, calc(0.25rem + 7.81vw), 4rem); } }
  .section-home-contactus .content {
    position: relative;
    width: 100%; }
    .section-home-contactus .content .map {
      margin: 0 auto;
      width: 100%;
      max-width: 1200px; }
      @media only screen and (max-width: 1200px) {
        .section-home-contactus .content .map {
          width: calc(100% - 2rem);
          padding: 0 1rem; } }
      @media only screen and (max-width: 767px) {
        .section-home-contactus .content .map {
          width: calc(100% - 2rem);
          padding: 0 1rem; } }
    .section-home-contactus .content .reachus {
      position: relative;
      margin-top: -5rem;
      padding: 6rem 0 3rem;
      background-image: linear-gradient(to right, rgba(0, 32, 128, 0.7) 0%, rgba(0, 32, 128, 0.8) 70%), url("/wp-content/uploads/background-contact.webp");
      background-size: cover;
      background-position: center center;
      z-index: -1; }
      .section-home-contactus .content .reachus:before {
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 0;
        position: absolute;
        top: 0;
        left: 0;
        border-color: white transparent white white; }
        @media only screen and (min-width: 768px) {
          .section-home-contactus .content .reachus:before {
            border-width: 10rem 10rem 0 0; } }
        @media only screen and (max-width: 1200px) {
          .section-home-contactus .content .reachus:before {
            border-width: clamp(7.5rem, calc(3.06rem + 9.26vw), 10rem) clamp(7.5rem, calc(3.06rem + 9.26vw), 10rem) 0 0; } }
        @media only screen and (max-width: 767px) {
          .section-home-contactus .content .reachus:before {
            border-width: clamp(5rem, calc(3.75rem + 7.81vw), 7.5rem) clamp(5rem, calc(3.75rem + 7.81vw), 7.5rem) 0 0; } }
        @media only screen and (min-width: 768px) {
          .section-home-contactus .content .reachus:before {
            border-width: 7.5rem 7.5rem 0 0; } }
        @media only screen and (max-width: 1200px) {
          .section-home-contactus .content .reachus:before {
            border-width: clamp(5rem, calc(0.56rem + 9.26vw), 7.5rem) clamp(5rem, calc(0.56rem + 9.26vw), 7.5rem) 0 0; } }
        @media only screen and (max-width: 767px) {
          .section-home-contactus .content .reachus:before {
            border-width: clamp(5rem, calc(3.75rem + 7.81vw), 7.5rem) clamp(5rem, calc(3.75rem + 7.81vw), 7.5rem) 0 0; } }
      .section-home-contactus .content .reachus:after {
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 0;
        position: absolute;
        right: 0;
        bottom: 0;
        border-color: transparent white transparent transparent; }
        @media only screen and (min-width: 768px) {
          .section-home-contactus .content .reachus:after {
            border-width: 10rem 10rem 0 0; } }
        @media only screen and (max-width: 1200px) {
          .section-home-contactus .content .reachus:after {
            border-width: clamp(7.5rem, calc(3.06rem + 9.26vw), 10rem) clamp(7.5rem, calc(3.06rem + 9.26vw), 10rem) 0 0; } }
        @media only screen and (max-width: 767px) {
          .section-home-contactus .content .reachus:after {
            border-width: clamp(5rem, calc(3.75rem + 7.81vw), 7.5rem) clamp(5rem, calc(3.75rem + 7.81vw), 7.5rem) 0 0; } }
        @media only screen and (min-width: 768px) {
          .section-home-contactus .content .reachus:after {
            border-width: 7.5rem 7.5rem 0 0; } }
        @media only screen and (max-width: 1200px) {
          .section-home-contactus .content .reachus:after {
            border-width: clamp(5rem, calc(0.56rem + 9.26vw), 7.5rem) clamp(5rem, calc(0.56rem + 9.26vw), 7.5rem) 0 0; } }
        @media only screen and (max-width: 767px) {
          .section-home-contactus .content .reachus:after {
            border-width: clamp(5rem, calc(3.75rem + 7.81vw), 7.5rem) clamp(5rem, calc(3.75rem + 7.81vw), 7.5rem) 0 0; } }
      .section-home-contactus .content .reachus div {
        padding: 3rem;
        display: flex;
        justify-content: center;
        align-items: center; }
        .section-home-contactus .content .reachus div p {
          display: flex;
          justify-content: center;
          align-items: center;
          background-color: white; }
          .section-home-contactus .content .reachus div p a {
            padding: .25rem; }
            .section-home-contactus .content .reachus div p a span {
              color: #122b88;
              border: 1px solid #122b88;
              padding: 3rem 6rem;
              display: flex;
              justify-content: center;
              align-items: center; }
              @media only screen and (max-width: 767px) {
                .section-home-contactus .content .reachus div p a span {
                  padding: 3rem 1rem; } }
              @media only screen and (min-width: 768px) {
                .section-home-contactus .content .reachus div p a span {
                  font-size: 2rem; } }
              @media only screen and (max-width: 1200px) {
                .section-home-contactus .content .reachus div p a span {
                  font-size: clamp(1.75rem, calc(1.31rem + 0.93vw), 2rem); } }
              @media only screen and (max-width: 767px) {
                .section-home-contactus .content .reachus div p a span {
                  font-size: clamp(1.5rem, calc(1.38rem + 0.78vw), 1.75rem); } }
    .section-home-contactus .content .grayline-wrapper {
      position: absolute;
      bottom: 0;
      left: 50%;
      display: flex;
      justify-content: center;
      transform: translate(-50%, 0); }
      @media only screen and (min-width: 768px) {
        .section-home-contactus .content .grayline-wrapper .grayline {
          font-size: clamp(7.5rem, calc(0.00rem + 10.00vw), 12rem); } }
      @media only screen and (max-width: 1200px) {
        .section-home-contactus .content .grayline-wrapper .grayline {
          font-size: clamp(5rem, calc(0.56rem + 9.26vw), 7.5rem); } }
      @media only screen and (max-width: 767px) {
        .section-home-contactus .content .grayline-wrapper .grayline {
          font-size: clamp(2rem, calc(0.50rem + 9.38vw), 5rem); } }
#scroll-to-top p {
  max-width: 1200px;
  text-align: right; }
  @media only screen and (min-width: 768px) {
    #scroll-to-top p {
      margin: 2rem auto; } }
  @media only screen and (max-width: 1200px) {
    #scroll-to-top p {
      margin: clamp(1.5rem, calc(0.61rem + 1.85vw), 2rem) auto; } }
  @media only screen and (max-width: 767px) {
    #scroll-to-top p {
      margin: clamp(1rem, calc(0.75rem + 1.56vw), 1.5rem) auto; } }
  #scroll-to-top p a {
    padding: 1rem;
    color: #122b88; }
    @media only screen and (min-width: 768px) {
      #scroll-to-top p a {
        font-size: 1.25rem; } }
    @media only screen and (max-width: 1200px) {
      #scroll-to-top p a {
        font-size: clamp(1.125rem, calc(0.90rem + 0.46vw), 1.25rem); } }
    @media only screen and (max-width: 767px) {
      #scroll-to-top p a {
        font-size: clamp(1rem, calc(0.94rem + 0.39vw), 1.125rem); } }
@media only screen and (max-width: 767px) {
  footer .footer-menu {
    display: none; } }

footer .footer-menu ul {
  background-color: black;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 2rem; }
  @media only screen and (max-width: 767px) {
    footer .footer-menu ul {
      padding-bottom: .5rem; } }
  footer .footer-menu ul li a {
    padding: 1rem 0;
    color: white; }
    @media only screen and (max-width: 767px) {
      footer .footer-menu ul li a {
        padding: .5rem 0 0; } }
  footer .footer-menu ul li.current a {
    color: gray;
    pointer-events: none; }

@media only screen and (min-width: 768px) {
  footer .trademark {
    margin: 2rem; } }

@media only screen and (max-width: 1200px) {
  footer .trademark {
    margin: clamp(1.5rem, calc(0.61rem + 1.85vw), 2rem); } }

@media only screen and (max-width: 767px) {
  footer .trademark {
    margin: clamp(1rem, calc(0.75rem + 1.56vw), 1.5rem); } }

footer .trademark p {
  display: flex;
  flex-direction: column;
  align-items: center; }
  footer .trademark p .logomark svg {
    height: auto; }
    @media only screen and (min-width: 768px) {
      footer .trademark p .logomark svg {
        width: 7rem; } }
    @media only screen and (max-width: 1200px) {
      footer .trademark p .logomark svg {
        width: clamp(6rem, calc(4.22rem + 3.70vw), 7rem); } }
    @media only screen and (max-width: 767px) {
      footer .trademark p .logomark svg {
        width: clamp(5rem, calc(4.50rem + 3.13vw), 6rem); } }
  footer .trademark p .logo svg {
    width: auto; }
    @media only screen and (min-width: 768px) {
      footer .trademark p .logo svg {
        height: 5rem; } }
    @media only screen and (max-width: 1200px) {
      footer .trademark p .logo svg {
        height: clamp(4rem, calc(2.22rem + 3.70vw), 5rem); } }
    @media only screen and (max-width: 767px) {
      footer .trademark p .logo svg {
        height: clamp(3rem, calc(2.50rem + 3.13vw), 4rem); } }
footer .footer-content {
  display: flex;
  flex-direction: column;
  align-items: center; }
  footer .footer-content .description {
    text-align: center;
    color: #122b88; }
    @media only screen and (min-width: 768px) {
      footer .footer-content .description {
        font-size: 1.75rem; } }
    @media only screen and (max-width: 1200px) {
      footer .footer-content .description {
        font-size: clamp(1.5rem, calc(1.06rem + 0.93vw), 1.75rem); } }
    @media only screen and (max-width: 767px) {
      footer .footer-content .description {
        font-size: clamp(1.25rem, calc(1.13rem + 0.78vw), 1.5rem); } }
  footer .footer-content .location {
    display: flex;
    gap: 0 1rem;
    flex-wrap: wrap;
    color: #122b88;
    /***20251119***/ }
    @media only screen and (min-width: 768px) {
      footer .footer-content .location {
        margin-top: 1rem; } }
    @media only screen and (max-width: 1200px) {
      footer .footer-content .location {
        margin-top: clamp(0.75rem, calc(0.31rem + 0.93vw), 1rem); } }
    @media only screen and (max-width: 767px) {
      footer .footer-content .location {
        margin-top: clamp(0.5rem, calc(0.38rem + 0.78vw), 0.75rem); } }
    @media only screen and (min-width: 768px) {
      footer .footer-content .location {
        font-size: 1.25rem; } }
    @media only screen and (max-width: 1200px) {
      footer .footer-content .location {
        font-size: clamp(1.125rem, calc(0.90rem + 0.46vw), 1.25rem); } }
    @media only screen and (max-width: 767px) {
      footer .footer-content .location {
        font-size: clamp(1rem, calc(0.94rem + 0.39vw), 1.125rem); } }
    footer .footer-content .location .zip {
      display: flex;
      align-items: center; }
      footer .footer-content .location .zip:before {
        content: "〒"; }

footer .copyright {
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
  background-color: #122b88; }
  @media only screen and (min-width: 768px) {
    footer .copyright {
      margin-top: 2rem; } }
  @media only screen and (max-width: 1200px) {
    footer .copyright {
      margin-top: clamp(1.5rem, calc(0.61rem + 1.85vw), 2rem); } }
  @media only screen and (max-width: 767px) {
    footer .copyright {
      margin-top: clamp(1rem, calc(0.75rem + 1.56vw), 1.5rem); } }
  @media only screen and (min-width: 768px) {
    footer .copyright {
      padding: 1.25rem; } }
  @media only screen and (max-width: 1200px) {
    footer .copyright {
      padding: clamp(1rem, calc(0.56rem + 0.93vw), 1.25rem); } }
  @media only screen and (max-width: 767px) {
    footer .copyright {
      padding: clamp(0.75rem, calc(0.63rem + 0.78vw), 1rem); } }
  footer .copyright .c {
    box-sizing: border-box;
    margin: 0 .25rem;
    display: inline-flex;
    border: 1px solid white;
    justify-content: center;
    align-items: center;
    width: 1rem;
    min-width: 1rem;
    height: 1rem;
    border-radius: 100vmax; }
    footer .copyright .c:before {
      content: "c";
      line-height: 1;
      transform: translate(-9%, -15%); }

@media only screen and (min-width: 768px) {
  body:not(#home) .header-content {
    height: 14rem; } }

@media only screen and (max-width: 1200px) {
  body:not(#home) .header-content {
    height: clamp(5rem, calc(-11.00rem + 33.33vw), 14rem); } }

@media only screen and (max-width: 767px) {
  body:not(#home) .header-content {
    height: 4rem; } }

body:not(#home) .header-menu {
  transform: translate(0); }
  @media only screen and (max-width: 1200px) {
    body:not(#home) .header-menu {
      height: clamp(3rem, calc(-0.56rem + 7.41vw), 5rem); } }
@media only screen and (min-width: 768px) {
  body:not(#home) .header-visual {
    height: 14rem; } }

@media only screen and (max-width: 1200px) {
  body:not(#home) .header-visual {
    height: 14rem; } }

@media only screen and (max-width: 767px) {
  body:not(#home) .header-visual {
    height: 4rem; } }

body:not(#home) .header-visual:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-position: center;
  background-repeat: no-repeat;
  z-index: -1; }
  @media only screen and (min-width: 768px) {
    body:not(#home) .header-visual:before {
      background-image: url("/wp-content/uploads/main-visual-03-pc.webp"); } }
  @media only screen and (max-width: 1200px) {
    body:not(#home) .header-visual:before {
      background-image: url("/wp-content/uploads/main-visual-03-cs.webp"); } }
  @media only screen and (max-width: 767px) {
    body:not(#home) .header-visual:before {
      background-image: none; } }
  @media only screen and (min-width: 768px) {
    body:not(#home) .header-visual:before {
      background-size: auto; } }
  @media only screen and (max-width: 1200px) {
    body:not(#home) .header-visual:before {
      background-size: cover; } }
  @media only screen and (max-width: 767px) {
    body:not(#home) .header-visual:before {
      background-size: cover; } }
.youtube iframe {
  max-width: 1200px;
  height: auto;
  aspect-ratio: 16 / 9; }
  @media only screen and (min-width: 768px) {
    .youtube iframe {
      width: 100%; } }
  @media only screen and (max-width: 1200px) {
    .youtube iframe {
      width: calc(100% - 2rem); } }
  @media only screen and (max-width: 767px) {
    .youtube iframe {
      width: calc(100% - 1rem); } }
  @media only screen and (min-width: 768px) {
    .youtube iframe {
      margin: 0; } }
  @media only screen and (max-width: 1200px) {
    .youtube iframe {
      margin: 0 1rem; } }
  @media only screen and (max-width: 767px) {
    .youtube iframe {
      margin: 0 .5rem; } }
.section-category-faq .block-category-faq {
  align-items: flex-start; }

.section-category-faq .categories {
  width: 100%; }

.section-category-faq h2 a {
  color: #000000;
  display: block;
  width: 100%;
  text-align: left;
  text-indent: 1.5rem;
  padding: 0.1rem 0rem 0.1rem 0.5rem;
  margin-top: 1.2rem;
  margin-bottom: 1.2rem;
  line-height: 2;
  font-size: 1.2rem;
  background: linear-gradient(to right, #a1b5ff, #d9e2ff);
  text-indent: 0.5rem;
  box-sizing: border-box;
  border-radius: .25rem;
  pointer-events: none; }

.section-category-faq ul {
  margin: .5rem 0 1rem 1rem; }

.section-category-faq .list a {
  display: flex;
  align-items: center;
  margin-left: 1rem; }
  .section-category-faq .list a:before {
    content: "";
    width: .5rem;
    height: .5rem;
    display: inline-block;
    background-color: #a2b5ff;
    border-radius: 50%;
    right: 0.8em;
    position: relative; }

/********************************vimeoサイズ************************************************/
.video-wrapper {
  max-width: 1200px;
  /* 最大幅1200px */
  margin: 0 auto;
  /* 中央寄せ */
  border: 3px solid #cccccc;
  /* 枠線（太さ、色） */
  border-radius: 8px;
  /* 角を丸める */
  padding: 10px;
  /* 枠と動画の間に余白 */
  background: #fff;
  /* 枠の背景 */ }

.video-container {
  position: relative;
  padding-top: 56.25%;
  /* 16:9 比率 */
  height: 0;
  overflow: hidden; }

.video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  /* 親要素内で100%の幅 */
  height: 100%; }
