@charset "UTF-8";
/* line 3, common.scss */
html,
body,
div,
span,
applet,
object,
iframe,
h1, h2, h3, h4, h5, h6,
p,
blockquote,
pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q,
s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside,
canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline; }

/* line 23, common.scss */
*,
*::before,
*::after {
  box-sizing: border-box; }

/* line 28, common.scss */
html,
body {
  overflow-x: clip; }

/* line 32, common.scss */
html {
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth; }

/* line 37, common.scss */
body {
  font-size: 16px;
  color: #1A1A1A;
  line-height: 1;
  background-color: #E5E8EB; }
  /* line 42, common.scss */
  body.fixed {
    width: 100%;
    height: 100%;
    position: fixed; }

/* line 48, common.scss */
:target {
  scroll-margin-top: 74px; }
  @media screen and (max-width: 800px) {
    /* line 48, common.scss */
    :target {
      scroll-margin-top: 64px; } }

/* line 54, common.scss */
body,
input,
textarea {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400; }

/* line 60, common.scss */
.en {
  font-family: "Lato", sans-serif;
  font-weight: 300; }

/* line 64, common.scss */
table {
  border-collapse: collapse;
  border-spacing: 0; }

/* line 68, common.scss */
caption,
th,
td {
  font-weight: normal;
  text-align: left; }

/* line 74, common.scss */
h1,
h2,
h3,
h4,
h5,
h6 {
  position: relative;
  color: #1A1A1A;
  clear: both;
  line-height: 1;
  margin: 0;
  padding: 0; }

/* line 87, common.scss */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section {
  display: block; }

/* line 99, common.scss */
p {
  color: #1A1A1A;
  margin-bottom: 15px;
  line-height: 1.8; }
  @media screen and (max-width: 800px) {
    /* line 99, common.scss */
    p {
      font-size: 15px; } }

/* line 107, common.scss */
ol,
ul {
  list-style: none; }

/* line 111, common.scss */
ul li,
ol li {
  line-height: 1.8;
  margin: 0 0 5px; }
  @media screen and (max-width: 800px) {
    /* line 111, common.scss */
    ul li,
    ol li {
      font-size: 15px; } }

/* line 119, common.scss */
ol {
  list-style: decimal;
  margin: 0 0 20px 1.5em; }

/* line 123, common.scss */
ul ul,
ol ol,
ul ol,
ol ul {
  margin-bottom: 0; }

/* line 129, common.scss */
dl {
  margin: 0 0 24px 0; }

/* line 132, common.scss */
dt,
dd {
  line-height: 1.6; }

/* line 136, common.scss */
dt {
  font-weight: bold; }

/* line 139, common.scss */
dd {
  margin: 0; }

/* line 142, common.scss */
strong {
  font-weight: bold; }

/* line 145, common.scss */
cite,
i {
  font-style: normal; }

/* line 149, common.scss */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

/* line 156, common.scss */
sup {
  top: -0.5em; }

/* line 159, common.scss */
sub {
  bottom: -0.25em; }

/* line 162, common.scss */
small {
  font-size: smaller; }

/* line 165, common.scss */
img {
  border: none;
  vertical-align: top;
  max-width: 100%;
  height: auto; }

/* line 171, common.scss */
video {
  width: 100%; }

/* line 174, common.scss */
address {
  font-style: normal; }

/* line 179, common.scss */
.alignleft {
  float: left; }

/* line 182, common.scss */
.alignright {
  float: right; }

/* line 185, common.scss */
.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto; }

/* line 190, common.scss */
a {
  color: #1A1A1A;
  text-decoration: underline; }
  @media screen and (min-width: 800px) {
    /* line 194, common.scss */
    a:hover {
      text-decoration: none; }
      /* line 196, common.scss */
      a:hover .btn-text {
        color: #FFFFFF; }
      /* line 200, common.scss */
      a:hover .btn-circle::before {
        right: 0;
        width: 100%;
        height: 100%;
        border-radius: 9999px; }
      /* line 206, common.scss */
      a:hover .btn-circle::after {
        opacity: 1; } }

/* line 214, common.scss */
a:focus, *:focus {
  outline: none; }

/* line 217, common.scss */
.pc {
  display: block; }
  @media screen and (max-width: 800px) {
    /* line 217, common.scss */
    .pc {
      display: none; } }

/* line 223, common.scss */
.sp {
  display: none; }
  @media screen and (max-width: 800px) {
    /* line 223, common.scss */
    .sp {
      display: block; } }

/* line 229, common.scss */
.komelist {
  margin: 0 0 30px; }

/* line 232, common.scss */
.komelist li {
  list-style: none;
  margin-left: 1em; }
  /* line 235, common.scss */
  .komelist li:last-child {
    margin-bottom: 0; }

/* line 239, common.scss */
.komelist li::before {
  content: "※";
  margin-left: -1em; }

/* line 245, common.scss */
.bg-l {
  padding-left: 100px;
  padding-right: 100px; }
  @media screen and (max-width: 1200px) {
    /* line 245, common.scss */
    .bg-l {
      padding-left: 16px; } }
  @media screen and (max-width: 800px) {
    /* line 245, common.scss */
    .bg-l {
      padding-right: 16px; } }
  /* line 254, common.scss */
  .bg-l::after {
    position: absolute;
    right: 100px;
    top: 0;
    width: 100vw;
    height: 100%;
    background-color: #FFFFFF;
    content: "";
    pointer-events: none;
    z-index: -1; }
    @media screen and (max-width: 800px) {
      /* line 254, common.scss */
      .bg-l::after {
        right: 16px; } }

/* line 269, common.scss */
.bg-r {
  padding-left: 100px;
  padding-right: 100px; }
  @media screen and (max-width: 1200px) {
    /* line 269, common.scss */
    .bg-r {
      padding-right: 16px; } }
  @media screen and (max-width: 800px) {
    /* line 269, common.scss */
    .bg-r {
      padding-left: 16px; } }
  /* line 278, common.scss */
  .bg-r::after {
    position: absolute;
    left: 100px;
    top: 0;
    width: 100vw;
    height: 100%;
    background-color: #FFFFFF;
    content: "";
    pointer-events: none;
    z-index: -1; }
    @media screen and (max-width: 800px) {
      /* line 278, common.scss */
      .bg-r::after {
        left: 16px; } }

/* line 293, common.scss */
.bg-db {
  position: relative; }
  /* line 296, common.scss */
  .bg-db.long::before {
    top: 140px;
    height: 100%; }
    @media screen and (max-width: 800px) {
      /* line 296, common.scss */
      .bg-db.long::before {
        top: 110px;
        height: calc(100% - 50px); } }
  /* line 305, common.scss */
  .bg-db::before {
    position: absolute;
    left: 50%;
    top: 150px;
    translate: -50% 0;
    width: 100%;
    height: calc(100% - 300px);
    content: "";
    background-color: #13304B;
    z-index: -2;
    pointer-events: none; }
    @media screen and (max-width: 800px) {
      /* line 305, common.scss */
      .bg-db::before {
        top: 90px;
        height: calc(100% - 180px); } }

/* line 322, common.scss */
.cbox {
  position: relative;
  width: calc(100% - 32px);
  max-width: 1200px;
  margin: 0 auto;
  z-index: 1; }
  /* line 330, common.scss */
  .cbox.cbox800 {
    max-width: 800px; }
  /* line 333, common.scss */
  .cbox.cbox900 {
    max-width: 900px; }
  /* line 336, common.scss */
  .cbox.cbox1000 {
    max-width: 1000px; }
  /* line 339, common.scss */
  .cbox.cbox1100 {
    max-width: 1100px; }
  /* line 342, common.scss */
  .cbox .bg-l {
    padding-left: 0;
    padding-right: 0; }
    /* line 345, common.scss */
    .cbox .bg-l::after {
      right: 0; }
      @media screen and (max-width: 800px) {
        /* line 345, common.scss */
        .cbox .bg-l::after {
          right: 0px; } }
  /* line 352, common.scss */
  .cbox .bg-r {
    padding-left: 0;
    padding-right: 0; }
    /* line 355, common.scss */
    .cbox .bg-r::after {
      left: 0; }
      @media screen and (max-width: 800px) {
        /* line 355, common.scss */
        .cbox .bg-r::after {
          left: 0px; } }

/* line 363, common.scss */
.txtright {
  display: block;
  text-align: right; }

/* line 367, common.scss */
.txtcenter {
  text-align: center; }

/* line 370, common.scss */
.t_underline {
  text-decoration: underline; }

/* line 373, common.scss */
.blur,
.bg-blur {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none; }

/* line 382, common.scss */
.blur {
  backdrop-filter: blur(5px);
  z-index: 0; }

/* line 386, common.scss */
.bg-blur {
  filter: brightness(30%);
  background-color: #005bb0;
  opacity: 0.5;
  z-index: 1; }
  @media screen and (max-width: 800px) {
    /* line 386, common.scss */
    .bg-blur {
      filter: brightness(45%);
      opacity: 0.4; } }

/* line 399, common.scss */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 74px;
  z-index: 6;
  background-color: #FFFFFF;
  border-bottom: 1px solid #E5E8EB;
  transition: all 0.3s ease-out; }
  @media screen and (max-width: 1000px) {
    /* line 399, common.scss */
    .site-header {
      height: 64px; } }
  /* line 414, common.scss */
  .site-header.white {
    height: 130px;
    border-bottom: none;
    background: none; }
    @media screen and (max-width: 1000px) {
      /* line 414, common.scss */
      .site-header.white {
        height: 64px; } }
    /* line 421, common.scss */
    .site-header.white::before {
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      content: "";
      background: linear-gradient(#1A1A1A 35%, rgba(26, 26, 26, 0) 100%);
      opacity: 0.4;
      pointer-events: none;
      z-index: 0; }
      @media screen and (max-width: 1000px) {
        /* line 421, common.scss */
        .site-header.white::before {
          height: 130px; } }
    /* line 436, common.scss */
    .site-header.white .site-title {
      translate: 0 -75%; }
      @media screen and (max-width: 1000px) {
        /* line 436, common.scss */
        .site-header.white .site-title {
          translate: 0 -50%; } }
      /* line 441, common.scss */
      .site-header.white .site-title a {
        background-image: url("../img/logo_white.svg");
        background-repeat: no-repeat;
        background-position: left top;
        background-size: cover; }
        /* line 446, common.scss */
        .site-header.white .site-title a img {
          opacity: 0; }
    /* line 451, common.scss */
    .site-header.white .mainmenu {
      top: 77px;
      right: 30px;
      translate: 0 0; }
      /* line 457, common.scss */
      .site-header.white .mainmenu ul li a {
        color: #FFFFFF;
        font-size: 16px; }
      /* line 461, common.scss */
      .site-header.white .mainmenu ul li ul {
        background-color: #0E3E6A;
        border: none; }
        /* line 466, common.scss */
        .site-header.white .mainmenu ul li ul li:last-child a {
          border-bottom: none; }
        /* line 470, common.scss */
        .site-header.white .mainmenu ul li ul li::before {
          border: 1px solid #FFFFFF; }
        /* line 473, common.scss */
        .site-header.white .mainmenu ul li ul li a {
          color: #FFFFFF;
          font-size: 15px;
          border-bottom: 1px solid #627E98; }
          /* line 477, common.scss */
          .site-header.white .mainmenu ul li ul li a::before {
            background-color: #FFFFFF; }
    /* line 486, common.scss */
    .site-header.white .mcontact {
      top: 17px;
      right: 30px;
      translate: 0 0;
      background: none;
      border: 1px solid #FFFFFF; }
    @media screen and (max-width: 1000px) {
      /* line 495, common.scss */
      .site-header.white .menu-trigger span {
        background-color: #FFFFFF; } }
  @media screen and (max-width: 1000px) {
    /* line 501, common.scss */
    .site-header.open-header {
      background-color: #FFFFFF;
      border-bottom: 1px solid #E5E8EB; }
      /* line 505, common.scss */
      .site-header.open-header::before {
        opacity: 0; }
      /* line 509, common.scss */
      .site-header.open-header .site-title a {
        background: none; }
        /* line 511, common.scss */
        .site-header.open-header .site-title a img {
          opacity: 1; } }
  @media screen and (max-width: 1000px) {
    /* line 519, common.scss */
    .site-header.open-header .menu-trigger span {
      background-color: #0E3E6A; } }
  /* line 525, common.scss */
  .site-header .site-title {
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 26px;
    translate: 0 -50%;
    width: 276px; }
    @media screen and (max-width: 1000px) {
      /* line 525, common.scss */
      .site-header .site-title {
        width: 226px;
        left: 16px; } }
    /* line 536, common.scss */
    .site-header .site-title a {
      display: block;
      width: 100%;
      height: 100%; }
      /* line 540, common.scss */
      .site-header .site-title a img {
        opacity: 1; }

/* line 549, common.scss */
.mainmenu {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  right: 236px;
  width: auto;
  display: flex;
  align-content: center;
  align-items: center; }
  @media screen and (max-width: 1200px) {
    /* line 549, common.scss */
    .mainmenu {
      right: 200px; } }
  @media screen and (max-width: 1000px) {
    /* line 549, common.scss */
    .mainmenu {
      display: none; } }
  /* line 564, common.scss */
  .mainmenu ul {
    display: flex;
    align-items: center;
    gap: 0 30px;
    width: 100%;
    margin: 0;
    padding: 0; }
    @media screen and (max-width: 1200px) {
      /* line 564, common.scss */
      .mainmenu ul {
        gap: 0 15px; } }
    /* line 574, common.scss */
    .mainmenu ul li {
      position: relative;
      line-height: 1;
      margin: 0;
      padding: 0; }
      /* line 582, common.scss */
      .mainmenu ul li.current-menu-item a, .mainmenu ul li.current-menu-ancestor a, .mainmenu ul li.current-page-ancestor a {
        color: #0E3E6A; }
      /* line 587, common.scss */
      .mainmenu ul li.current-menu-item ul li a, .mainmenu ul li.current-menu-ancestor ul li a, .mainmenu ul li.current-page-ancestor ul li a {
        color: #1A1A1A; }
      /* line 593, common.scss */
      .mainmenu ul li a {
        position: relative;
        display: inline-block;
        font-size: 14px;
        text-decoration: none;
        transition: color 0.3s ease-out; }
        @media screen and (min-width: 800px) {
          /* line 600, common.scss */
          .mainmenu ul li a:hover {
            color: #0E3E6A; } }
        @media screen and (max-width: 1200px) {
          /* line 593, common.scss */
          .mainmenu ul li a {
            font-size: 12px; } }
      /* line 610, common.scss */
      .mainmenu ul li ul {
        display: none;
        position: absolute;
        left: 50%;
        top: 45px;
        translate: -50% 0;
        width: 260px;
        background-color: #FFFFFF;
        border: 1px solid #E5E8EB;
        border-top: none;
        padding: 0 15px; }
        /* line 621, common.scss */
        .mainmenu ul li ul li {
          position: relative;
          width: 100%; }
          /* line 625, common.scss */
          .mainmenu ul li ul li:first-child a {
            color: #0E3E6A;
            padding-left: 0; }
            /* line 628, common.scss */
            .mainmenu ul li ul li:first-child a::before {
              display: none; }
          /* line 634, common.scss */
          .mainmenu ul li ul li:last-child a {
            border-bottom: none; }
          /* line 638, common.scss */
          .mainmenu ul li ul li::before, .mainmenu ul li ul li::after {
            position: absolute;
            top: 50%;
            translate: 0 -50%;
            content: "";
            pointer-events: none; }
          /* line 646, common.scss */
          .mainmenu ul li ul li::before {
            right: 3px;
            width: 28px;
            height: 28px;
            background-color: #0E3E6A;
            border-radius: 50%; }
          /* line 653, common.scss */
          .mainmenu ul li ul li::after {
            right: 12px;
            width: 10px;
            height: 8px;
            background-image: url("../img/arrow_r.svg");
            background-repeat: no-repeat;
            background-position: left top;
            background-size: cover; }
          /* line 662, common.scss */
          .mainmenu ul li ul li a {
            position: relative;
            display: block;
            font-size: 15px;
            font-weight: 500;
            padding: 25px;
            border-bottom: 1px solid #E5E8EB; }
            /* line 669, common.scss */
            .mainmenu ul li ul li a::before {
              position: absolute;
              left: 0;
              top: 50%;
              translate: 0 -50%;
              width: 12px;
              height: 1px;
              content: "";
              background-color: #1A1A1A; }

/*
mcontact
*/
/* line 689, common.scss */
.mcontact {
  position: absolute;
  top: 50%;
  right: 16px;
  translate: 0 -50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 202px;
  height: 43px;
  color: #FFFFFF;
  font-size: 14px;
  line-height: 1;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-decoration: none;
  background-color: #0E3E6A;
  border-radius: 9999px;
  transition: opacity 0.3s ease-out; }
  @media screen and (min-width: 800px) {
    /* line 709, common.scss */
    .mcontact:hover {
      opacity: 0.7; } }
  @media screen and (max-width: 1200px) {
    /* line 689, common.scss */
    .mcontact {
      width: 170px;
      font-size: 12px; } }
  @media screen and (max-width: 1000px) {
    /* line 689, common.scss */
    .mcontact {
      display: none; } }

/* line 726, common.scss */
#toggle {
  display: none; }
  @media screen and (max-width: 1000px) {
    /* line 726, common.scss */
    #toggle {
      display: block;
      position: absolute;
      top: 0px;
      right: 0px;
      width: 64px;
      height: 64px;
      border: none;
      background: none;
      padding: 0;
      cursor: pointer;
      z-index: 10; } }

@media screen and (max-width: 1000px) {
  /* line 742, common.scss */
  .menu-trigger,
  .menu-trigger span {
    display: inline-block;
    transition: all 0.4s; } }

@media screen and (max-width: 1000px) {
  /* line 749, common.scss */
  .menu-trigger {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    outline: none; }
    /* line 756, common.scss */
    .menu-trigger span {
      display: block;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      width: 24px;
      height: 1px;
      background-color: #0E3E6A; }
      /* line 764, common.scss */
      .menu-trigger span:nth-of-type(1) {
        top: 25px; }
      /* line 767, common.scss */
      .menu-trigger span:nth-of-type(2) {
        top: 31px; }
      /* line 770, common.scss */
      .menu-trigger span:nth-of-type(3) {
        top: 37px; }
    /* line 775, common.scss */
    .menu-trigger.active :nth-of-type(1) {
      -webkit-transform: translate(-50%, 6px) rotate(35deg);
      transform: translate(-50%, 6px) rotate(35deg); }
    /* line 779, common.scss */
    .menu-trigger.active :nth-of-type(2) {
      opacity: 0; }
    /* line 782, common.scss */
    .menu-trigger.active :nth-of-type(3) {
      -webkit-transform: translate(-50%, -6px) rotate(-35deg);
      transform: translate(-50%, -6px) rotate(-35deg); } }

/* line 792, common.scss */
.spmainmenubox {
  display: none; }
  @media screen and (max-width: 1000px) {
    /* line 792, common.scss */
    .spmainmenubox {
      display: block;
      position: fixed;
      top: 64px;
      left: 24px;
      width: calc(100% - 24px);
      height: calc(100dvh - 64px);
      background-color: #FFFFFF;
      z-index: 10;
      transition: all 0.2s ease-in-out;
      opacity: 0;
      pointer-events: none; }
      /* line 806, common.scss */
      .spmainmenubox.open {
        opacity: 1;
        pointer-events: auto; } }
  @media screen and (max-width: 1000px) {
    /* line 811, common.scss */
    .spmainmenubox .spmenubox {
      position: relative;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      gap: 32px 0;
      width: 100%;
      height: 100%;
      overflow-y: auto;
      z-index: 2; } }
  @media screen and (max-width: 1000px) {
    /* line 823, common.scss */
    .spmainmenubox .spmenubox .spmainmenu {
      width: 100%; }
      /* line 826, common.scss */
      .spmainmenubox .spmenubox .spmainmenu ul {
        width: 100%;
        margin: 0;
        padding: 10px 20px 0; }
        /* line 830, common.scss */
        .spmainmenubox .spmenubox .spmainmenu ul li {
          width: 100%;
          margin: 0;
          padding: 0;
          line-height: 1.5;
          border-bottom: 1px solid #E5E8EB; }
          /* line 836, common.scss */
          .spmainmenubox .spmenubox .spmainmenu ul li:last-child {
            border-bottom: none; }
          /* line 839, common.scss */
          .spmainmenubox .spmenubox .spmainmenu ul li a {
            position: relative;
            display: block;
            font-size: 16px;
            font-weight: 500;
            text-decoration: none;
            padding: 15px 50px 15px 10px; }
            /* line 846, common.scss */
            .spmainmenubox .spmenubox .spmainmenu ul li a.open {
              color: #0E3E6A; }
          /* line 852, common.scss */
          .spmainmenubox .spmenubox .spmainmenu ul li.spmsub a::before, .spmainmenubox .spmenubox .spmainmenu ul li.spmsub a::after {
            position: absolute;
            top: 50%;
            right: 18px;
            trasnlate: 0 -50%;
            width: 14px;
            height: 2px;
            content: "";
            background-color: #0E3E6A;
            transition: all 0.3s ease-in-out; }
          /* line 864, common.scss */
          .spmainmenubox .spmenubox .spmainmenu ul li.spmsub a::after {
            rotate: -90deg; }
          /* line 868, common.scss */
          .spmainmenubox .spmenubox .spmainmenu ul li.spmsub a.open::after {
            rotate: 0deg;
            opacity: 0; }
          /* line 874, common.scss */
          .spmainmenubox .spmenubox .spmainmenu ul li.spmsub ul {
            display: none;
            padding: 0; }
            /* line 877, common.scss */
            .spmainmenubox .spmenubox .spmainmenu ul li.spmsub ul li {
              width: 100%;
              border-bottom: 1px solid #FFFFFF; }
              /* line 880, common.scss */
              .spmainmenubox .spmenubox .spmainmenu ul li.spmsub ul li:last-child {
                border-bottom: none; }
              /* line 883, common.scss */
              .spmainmenubox .spmenubox .spmainmenu ul li.spmsub ul li a {
                color: #1A1A1A;
                font-weight: 500;
                background-color: #E5E8EB;
                padding: 15px 25px; }
                /* line 888, common.scss */
                .spmainmenubox .spmenubox .spmainmenu ul li.spmsub ul li a::before, .spmainmenubox .spmenubox .spmainmenu ul li.spmsub ul li a::after {
                  display: none; } }
  @media screen and (max-width: 1000px) {
    /* line 900, common.scss */
    .spmainmenubox .spmenubox .spmenubottom {
      width: 100%; }
      /* line 903, common.scss */
      .spmainmenubox .spmenubox .spmenubottom ul {
        display: flex; }
        /* line 905, common.scss */
        .spmainmenubox .spmenubox .spmenubottom ul li {
          width: 100%;
          margin: 0;
          padding: 0; }
          /* line 910, common.scss */
          .spmainmenubox .spmenubox .spmenubottom ul li.spmcontact a {
            color: #FFFFFF;
            font-size: 15px;
            font-weight: 700;
            line-height: 1.5;
            background-color: #0E3E6A; }
          /* line 918, common.scss */
          .spmainmenubox .spmenubox .spmenubottom ul li.spmtel {
            background-color: #E5E8EB; }
            /* line 920, common.scss */
            .spmainmenubox .spmenubox .spmenubottom ul li.spmtel .spmtel-text {
              display: block;
              width: 100%;
              font-size: 14px;
              font-weight: 700; }
            /* line 926, common.scss */
            .spmainmenubox .spmenubox .spmenubottom ul li.spmtel .spmtel-tel {
              display: block;
              width: 100%;
              color: #0E3E6A;
              font-size: 23px;
              line-height: 1;
              font-weight: 700; }
          /* line 935, common.scss */
          .spmainmenubox .spmenubox .spmenubottom ul li a {
            display: flex;
            align-items: center;
            align-content: center;
            flex-wrap: wrap;
            justify-content: center;
            width: 100%;
            min-height: 103px;
            text-align: center;
            text-decoration: none; } }

/* line 954, common.scss */
.page-title {
  position: relative;
  width: 100%;
  margin-top: 74px;
  padding: 50px 100px; }
  @media screen and (max-width: 800px) {
    /* line 954, common.scss */
    .page-title {
      margin-top: 64px;
      padding: 30px 16px 50px; } }
  /* line 963, common.scss */
  .page-title.active {
    z-index: 0; }
  /* line 966, common.scss */
  .page-title.topimage {
    display: flex;
    flex-wrap: wrap;
    align-content: flex-end;
    align-items: flex-end;
    height: 520px;
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    padding: 0 100px 95px;
    margin-top: 0; }
    @media screen and (max-width: 800px) {
      /* line 966, common.scss */
      .page-title.topimage {
        height: 444px;
        padding: 0 16px 50px; } }
    /* line 982, common.scss */
    .page-title.topimage .breadcrumb p {
      color: #FFFFFF; }
      /* line 984, common.scss */
      .page-title.topimage .breadcrumb p a {
        color: #FFFFFF; }
    /* line 990, common.scss */
    .page-title.topimage h1 .jp {
      color: #FFFFFF; }
  /* line 995, common.scss */
  .page-title .breadcrumb {
    display: flex;
    width: 100%;
    z-index: 2;
    margin-bottom: 15px; }
    @media screen and (max-width: 800px) {
      /* line 995, common.scss */
      .page-title .breadcrumb {
        margin-bottom: 10px; } }
    /* line 1003, common.scss */
    .page-title .breadcrumb p {
      overflow: hidden;
      display: -webkit-box;
      text-overflow: ellipsis;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 1;
      font-size: 13px;
      letter-spacing: 0.05em;
      margin: 0; }
      /* line 1012, common.scss */
      .page-title .breadcrumb p br {
        display: none; }
      /* line 1016, common.scss */
      .page-title .breadcrumb p a.home {
        font-family: "Lato", sans-serif;
        font-size: 14px; }
      /* line 1021, common.scss */
      .page-title .breadcrumb p span {
        font-size: 13px;
        margin: 0 12px; }
        /* line 1024, common.scss */
        .page-title .breadcrumb p span.bhome {
          margin-left: 0; }
        /* line 1027, common.scss */
        .page-title .breadcrumb p span span {
          margin: 0; }
  /* line 1033, common.scss */
  .page-title h1 {
    position: relative;
    width: 100%;
    margin: 0;
    z-index: 2; }
    /* line 1040, common.scss */
    .page-title h1 .jp {
      display: block;
      color: #1A1A1A;
      font-size: 42px;
      font-weight: 700;
      line-height: 1.4; }
      @media screen and (max-width: 800px) {
        /* line 1040, common.scss */
        .page-title h1 .jp {
          font-size: 28px; } }

/* line 1053, common.scss */
.en-title {
  position: relative;
  top: -55px;
  display: block;
  color: #FFFFFF;
  font-size: 76px;
  line-height: 1;
  text-transform: capitalize;
  mix-blend-mode: difference;
  padding: 0 100px;
  z-index: 1; }
  @media screen and (max-width: 800px) {
    /* line 1053, common.scss */
    .en-title {
      top: -30px;
      font-size: 48px;
      padding: 0 16px; } }

/* line 1072, common.scss */
h2 {
  font-weight: 700;
  margin-bottom: 24px; }

/* line 1076, common.scss */
h3 {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
  padding: 0;
  margin-bottom: 20px; }

/* line 1083, common.scss */
h4 {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 10px; }

/* line 1089, common.scss */
h5 {
  font-size: 16px;
  font-weight: 700; }

/* line 1093, common.scss */
img.alignleft {
  margin: 0 24px 12px 0; }

/* line 1096, common.scss */
img.alignright {
  margin: 0 0 12px 24px; }

/* line 1099, common.scss */
img.aligncenter {
  margin-bottom: 12px; }

/* line 1102, common.scss */
.wp-caption {
  max-width: 100%;
  height: auto; }
  /* line 1105, common.scss */
  .wp-caption img {
    width: 100%; }
  /* line 1108, common.scss */
  .wp-caption .wp-caption-text {
    width: auto;
    text-align: left;
    font-size: 13px;
    line-height: 1.6;
    margin-top: 10px; }

/* line 1118, common.scss */
.column2 {
  display: flex; }

/* line 1124, common.scss */
.overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: #13304B;
  pointer-events: none;
  opacity: 0.7;
  z-index: 4; }

/* line 1139, common.scss */
main {
  position: relative;
  width: 100%;
  background-color: #E5E8EB;
  word-break: break-all;
  margin-bottom: 140px;
  z-index: 1; }
  @media screen and (max-width: 800px) {
    /* line 1139, common.scss */
    main {
      margin-bottom: 60px; } }
  /* line 1149, common.scss */
  main.active {
    z-index: 10; }

/* line 1153, common.scss */
.wrapper {
  position: relative; }

/* line 1158, common.scss */
table {
  width: 100%;
  margin: 0 0 64px; }
  @media screen and (max-width: 800px) {
    /* line 1158, common.scss */
    table {
      margin-bottom: 24px; } }
  /* line 1166, common.scss */
  table tr:last-child th,
  table tr:last-child td {
    padding-bottom: 0;
    border-bottom: none; }
  /* line 1173, common.scss */
  table th,
  table td {
    position: relative;
    text-align: left;
    line-height: 1.8;
    vertical-align: top; }
    @media screen and (max-width: 800px) {
      /* line 1173, common.scss */
      table th,
      table td {
        display: block;
        font-size: 14px;
        line-height: 1.875; } }
  /* line 1185, common.scss */
  table th {
    color: #0E3E6A;
    width: 200px;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.1em;
    padding: 40px 0 40px 25px;
    border-bottom: 1px solid #B5B8BC; }
    @media screen and (max-width: 800px) {
      /* line 1185, common.scss */
      table th {
        display: block;
        width: 100%;
        font-size: 15px;
        padding: 25px 0 10px 0;
        border-bottom: none; } }
  /* line 1201, common.scss */
  table td {
    width: calc(100% - 200px);
    font-size: 16px;
    padding: 40px 0 40px 40px;
    border-bottom: 1px solid #B5B8BC; }
    @media screen and (max-width: 800px) {
      /* line 1201, common.scss */
      table td {
        display: block;
        width: 100%;
        font-size: 15px;
        padding: 0 0 25px; } }
  @media screen and (max-width: 800px) {
    /* line 1213, common.scss */
    table.t-contact {
      margin-bottom: 34px; } }
  @media screen and (max-width: 800px) {
    /* line 1219, common.scss */
    table.t-contact tr:last-child th {
      padding: 0 0 12px; } }
  /* line 1226, common.scss */
  table.t-contact th {
    color: #1A1A1A;
    line-height: 1.8;
    padding: 10px 0 0;
    border: none; }
    @media screen and (max-width: 800px) {
      /* line 1226, common.scss */
      table.t-contact th {
        padding: 0 0 12px; } }
    /* line 1234, common.scss */
    table.t-contact th.nm {
      padding-top: 0; }
    /* line 1237, common.scss */
    table.t-contact th.hide {
      display: none; }
  /* line 1241, common.scss */
  table.t-contact td {
    border: none;
    padding: 0 0 20px; }
  /* line 1245, common.scss */
  table.t-contact.wide {
    margin-bottom: 40px; }
    @media screen and (max-width: 800px) {
      /* line 1245, common.scss */
      table.t-contact.wide {
        margin-bottom: 20px; } }
    /* line 1250, common.scss */
    table.t-contact.wide th {
      display: none; }
    /* line 1253, common.scss */
    table.t-contact.wide td {
      width: 100%; }

/* line 1261, common.scss */
.confirm table.t-contact {
  margin-bottom: 20px; }
  @media screen and (max-width: 800px) {
    /* line 1267, common.scss */
    .confirm table.t-contact tr:last-child th {
      padding: 0; } }
  /* line 1274, common.scss */
  .confirm table.t-contact th {
    padding: 0 0 20px; }
    @media screen and (max-width: 800px) {
      /* line 1274, common.scss */
      .confirm table.t-contact th {
        padding-bottom: 0px; } }

/* line 1284, common.scss */
.attention,
.attention a {
  color: #CB0000; }

/* line 1288, common.scss */
article {
  position: relative; }

/* line 1291, common.scss */
section {
  position: relative;
  clear: both; }

/* line 1295, common.scss */
.thumbnail {
  margin: 0 auto 15px; }

/* line 1298, common.scss */
p.photo_r {
  float: right;
  margin: 0 0 15px 15px; }

/* line 1302, common.scss */
p.photo_l {
  float: left;
  margin: 0 15px 15px 0; }

/* line 1306, common.scss */
p.photo_l {
  float: left;
  margin: 0 15px 15px 0; }

/* line 1310, common.scss */
.aligncenter {
  text-align: center; }

/* line 1315, common.scss */
.scroll-wrapper {
  width: 100%;
  overflow: scroll; }

/* line 1319, common.scss */
.youtube-content {
  display: flex;
  justify-content: center; }

/* line 1323, common.scss */
.youtube,
.accessmap {
  width: 100%;
  aspect-ratio: 16 / 9; }

/* line 1328, common.scss */
.accessmap {
  max-height: 356px; }

/* line 1331, common.scss */
iframe {
  width: 100%;
  height: 100%; }

/* line 1336, common.scss */
.btn {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 308px;
  height: 70px;
  color: #0E3E6A;
  font-weight: 500;
  letter-spacing: 0.05em;
  background-color: #FFFFFF;
  border: 1px solid #0E3E6A;
  border-radius: 9999px;
  text-decoration: none;
  padding-left: 48px;
  overflow: hidden;
  transition: background-color 0s ease-out 0s; }
  @media screen and (min-width: 800px) {
    /* line 1354, common.scss */
    .btn:hover {
      transition: background-color 0s ease-out 0.3s;
      background-color: #0E3E6A; } }
  @media screen and (max-width: 800px) {
    /* line 1336, common.scss */
    .btn {
      max-width: 290px;
      height: 61px;
      font-size: 15px;
      padding-left: 45px;
      margin: 0 auto; } }
  @media screen and (max-width: 800px) {
    /* line 1366, common.scss */
    .btn.pdf {
      padding-left: 25px; } }
  /* line 1371, common.scss */
  .btn.pdf .btn-circle::after {
    right: 20px;
    width: 32px;
    height: 32px;
    background-image: url("../img/icon_pdf.svg");
    opacity: 1; }
    @media screen and (max-width: 800px) {
      /* line 1371, common.scss */
      .btn.pdf .btn-circle::after {
        right: 25px; } }
  @media screen and (min-width: 800px) {
    /* line 1387, common.scss */
    .btn.link:hover .btn-circle::before {
      opacity: 1; }
    /* line 1390, common.scss */
    .btn.link:hover .btn-circle::after {
      background-image: url("../img/icon_link_on.svg"); } }
  /* line 1397, common.scss */
  .btn.link .btn-circle::before {
    opacity: 0; }
  /* line 1400, common.scss */
  .btn.link .btn-circle::after {
    width: 15px;
    height: 15px;
    background-image: url("../img/icon_link.svg");
    background-size: 15px 15px;
    opacity: 1; }

/* line 1410, common.scss */
.btn-text {
  position: relative;
  color: #0E3E6A;
  z-index: 2; }

/* line 1415, common.scss */
.btn-circle {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
  border-radius: 9999px; }
  /* line 1424, common.scss */
  .btn-circle::before, .btn-circle::after {
    position: absolute;
    top: 50%;
    translate: 0 -50%;
    content: "";
    pointer-events: none; }
  /* line 1432, common.scss */
  .btn-circle::before {
    right: 32px;
    width: 10px;
    height: 10px;
    background-color: #0E3E6A;
    border-radius: 9999px;
    z-index: 0;
    transition: width 0.3s ease-out,height 0.3s ease-out,right 0.3s ease-out,opacity 0.3s ease-out; }
    @media screen and (max-width: 800px) {
      /* line 1432, common.scss */
      .btn-circle::before {
        width: 8px;
        height: 8px; } }
  /* line 1445, common.scss */
  .btn-circle::after {
    right: 32px;
    width: 15px;
    height: 13px;
    background-image: url("../img/arrow_r.svg");
    background-repeat: no-repeat;
    background-position: left top;
    background-size: cover;
    opacity: 0;
    z-index: 1;
    transition: all 0.3s ease-out; }

/* line 1459, common.scss */
.btn-center .btn {
  margin: 0 auto; }

/* line 1465, common.scss */
.read {
  position: relative;
  width: calc(100% - 32px);
  max-width: 1200px;
  color: #000;
  font-size: 32px;
  font-weight: 500;
  line-height: 1.56;
  letter-spacing: 0.1em;
  margin: 0 auto 90px;
  padding-left: 85px; }
  @media screen and (max-width: 800px) {
    /* line 1465, common.scss */
    .read {
      font-size: 21px;
      padding-left: 45px;
      margin-bottom: 60px; } }
  /* line 1481, common.scss */
  .read::before {
    position: absolute;
    left: 0;
    top: 24px;
    width: 64px;
    height: 2px;
    content: "";
    background-color: #0E3E6A;
    pointer-events: none; }
    @media screen and (max-width: 800px) {
      /* line 1481, common.scss */
      .read::before {
        top: 16px;
        width: 32px; } }

/* line 1499, common.scss */
.products-cat {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 15px; }
  /* line 1506, common.scss */
  .products-cat .products-cat-name {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    color: #005EAF;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.1em;
    background-color: #EDF5FC;
    border: 1px solid #005EAF;
    border-radius: 9999px;
    padding: 0 12px; }

/* line 1524, common.scss */
.cases {
  background-color: #13304B;
  padding: 0 0 140px; }
  @media screen and (max-width: 800px) {
    /* line 1524, common.scss */
    .cases {
      padding: 0 0 80px; } }
  /* line 1530, common.scss */
  .cases::before {
    position: absolute;
    left: 50%;
    top: 0;
    translate: -50% 0;
    width: 100%;
    height: 100%;
    content: "";
    background-color: #13304B;
    pointer-events: none;
    z-index: 0; }
  /* line 1542, common.scss */
  .cases h2 {
    position: relative;
    top: -32px;
    color: #FFFFFF;
    text-align: center;
    margin-bottom: 60px;
    mix-blend-mode: difference; }
    @media screen and (max-width: 800px) {
      /* line 1542, common.scss */
      .cases h2 {
        margin-bottom: 18px; } }
    /* line 1552, common.scss */
    .cases h2 .en {
      position: relative;
      display: block;
      font-size: 48px;
      line-height: 1;
      padding-bottom: 10px;
      margin-bottom: 15px; }
      /* line 1559, common.scss */
      .cases h2 .en::after {
        position: absolute;
        left: 50%;
        translate: -50% 0;
        bottom: 0;
        width: 37px;
        height: 2px;
        content: "";
        background-color: #FFFFFF;
        mix-blend-mode: difference; }
    /* line 1571, common.scss */
    .cases h2 .jp {
      display: block;
      font-size: 22px;
      letter-spacing: 0.1em; }
      @media screen and (max-width: 800px) {
        /* line 1571, common.scss */
        .cases h2 .jp {
          font-size: 18px; } }

/* line 1581, common.scss */
.caseslist {
  display: flex;
  flex-wrap: wrap;
  gap: 18px 1.5%;
  margin: 0 0 55px;
  padding: 0; }
  @media screen and (max-width: 800px) {
    /* line 1581, common.scss */
    .caseslist {
      gap: 40px 0;
      margin-bottom: 30px; } }
  /* line 1591, common.scss */
  .caseslist li {
    width: 32.3%;
    margin: 0;
    padding: 0; }
    @media screen and (max-width: 800px) {
      /* line 1591, common.scss */
      .caseslist li {
        width: 100%; } }
    /* line 1598, common.scss */
    .caseslist li a {
      display: block;
      width: 100%;
      min-height: 506px;
      text-decoration: none;
      background-color: #FFFFFF;
      padding: 22px 32px; }
      @media screen and (max-width: 800px) {
        /* line 1598, common.scss */
        .caseslist li a {
          min-height: inherit;
          padding: 20px 20px 30px; } }
      /* line 1609, common.scss */
      .caseslist li a .cases-img {
        display: block;
        width: calc(100% + 20px);
        margin: 0 0 10px -10px; }
        @media screen and (max-width: 800px) {
          /* line 1609, common.scss */
          .caseslist li a .cases-img {
            width: 100%;
            margin: 0 auto 10px; } }
        /* line 1617, common.scss */
        .caseslist li a .cases-img img {
          width: 342px;
          height: 255px;
          object-fit: cover; }
          @media screen and (max-width: 800px) {
            /* line 1617, common.scss */
            .caseslist li a .cases-img img {
              width: 100%;
              height: 100%; } }
      /* line 1627, common.scss */
      .caseslist li a .cases-title {
        display: -webkit-box;
        text-overflow: ellipsis;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        overflow: hidden;
        font-size: 18px;
        font-weight: 700;
        line-height: 1.67;
        margin-bottom: 12px; }

/* line 1641, common.scss */
.cases-cat {
  display: inline-block;
  color: #FFFFFF;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.15em;
  background-color: #0E3E6A;
  border-radius: 9999px;
  margin-bottom: 6px;
  padding: 0px 15px; }
  /* line 1652, common.scss */
  .cases-cat.c01 {
    background-color: #005EAF; }
  /* line 1655, common.scss */
  .cases-cat.c02 {
    background-color: #00AF9B; }

/* line 1659, common.scss */
.cases-tag {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 20px; }
  /* line 1663, common.scss */
  .cases-tag .cases-tag-name {
    position: relative;
    display: inline-block;
    color: #0E3E6A;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.8; }
    /* line 1670, common.scss */
    .cases-tag .cases-tag-name::before {
      display: inline-block;
      color: #0E3E6A;
      font-size: 13px;
      font-weight: 500;
      content: "＃ "; }

/* line 1682, common.scss */
.newslist {
  margin: 0;
  padding: 0;
  border-top: 1px solid #E5E8EB; }
  /* line 1686, common.scss */
  .newslist li {
    margin: 0;
    padding: 0; }
    /* line 1689, common.scss */
    .newslist li a {
      display: flex;
      justify-content: space-between;
      text-decoration: none;
      border-bottom: 1px solid #E5E8EB;
      padding: 20px 0; }
      @media screen and (min-width: 800px) {
        /* line 1698, common.scss */
        .newslist li a:hover .r-news .news-title,
        .newslist li a:hover .r-news .news-text {
          text-decoration: underline;
          color: #0E3E6A; } }
      @media screen and (max-width: 800px) {
        /* line 1689, common.scss */
        .newslist li a {
          display: block;
          padding: 15px 0; } }
      /* line 1710, common.scss */
      .newslist li a .news-date {
        display: inline-block;
        width: 140px;
        color: #B5B8BC;
        font-size: 15px;
        font-weight: 400; }
        @media screen and (max-width: 800px) {
          /* line 1710, common.scss */
          .newslist li a .news-date {
            display: block;
            width: 100%; } }
      /* line 1721, common.scss */
      .newslist li a .r-news {
        display: inline-block;
        width: calc(100% - 140px); }
        @media screen and (max-width: 800px) {
          /* line 1721, common.scss */
          .newslist li a .r-news {
            display: block;
            width: 100%; } }
        /* line 1728, common.scss */
        .newslist li a .r-news .news-title {
          display: block;
          font-size: 16px;
          font-weight: 500;
          margin-bottom: 5px; }
        /* line 1734, common.scss */
        .newslist li a .r-news .news-text {
          overflow: hidden;
          display: -webkit-box;
          text-overflow: ellipsis;
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 1;
          font-size: 14px; }
          @media screen and (max-width: 800px) {
            /* line 1734, common.scss */
            .newslist li a .r-news .news-text {
              -webkit-line-clamp: 2; } }

/* line 1752, common.scss */
.entry {
  padding-top: 60px;
  padding-bottom: 90px; }
  @media screen and (max-width: 800px) {
    /* line 1752, common.scss */
    .entry {
      padding-top: 45px;
      padding-bottom: 45px; } }
  /* line 1759, common.scss */
  .entry .entry-date {
    color: #B5B8BC;
    font-size: 15px;
    margin-bottom: 35px; }
    @media screen and (max-width: 800px) {
      /* line 1759, common.scss */
      .entry .entry-date {
        font-size: 14px;
        margin-bottom: 25px; } }
  /* line 1768, common.scss */
  .entry .entry-title {
    font-size: 32px;
    font-weight: 500;
    line-height: 1.56;
    letter-spacing: 0.05em;
    margin-bottom: 36px; }
    @media screen and (max-width: 800px) {
      /* line 1768, common.scss */
      .entry .entry-title {
        font-size: 24px;
        line-height: 1.42;
        letter-spacing: 0;
        margin-bottom: 30px; } }
  /* line 1781, common.scss */
  .entry .cases-cat {
    margin-bottom: 25px; }
    @media screen and (max-width: 800px) {
      /* line 1781, common.scss */
      .entry .cases-cat {
        margin-bottom: 15px; } }
  /* line 1787, common.scss */
  .entry .cases-tag {
    margin-bottom: 35px; }
    @media screen and (max-width: 800px) {
      /* line 1787, common.scss */
      .entry .cases-tag {
        margin-bottom: 25px; } }
    /* line 1792, common.scss */
    .entry .cases-tag .cases-tag-name {
      font-size: 16px; }
      @media screen and (max-width: 800px) {
        /* line 1792, common.scss */
        .entry .cases-tag .cases-tag-name {
          font-size: 13px; } }

/* line 1802, common.scss */
.entry-content .column2 {
  width: 100%;
  justify-content: space-between;
  margin-bottom: 75px; }
  @media screen and (max-width: 800px) {
    /* line 1802, common.scss */
    .entry-content .column2 {
      flex-wrap: wrap;
      gap: 35px 0;
      margin-bottom: 35px; } }
  /* line 1811, common.scss */
  .entry-content .column2 .l-column {
    width: 47.5%; }
    @media screen and (max-width: 800px) {
      /* line 1811, common.scss */
      .entry-content .column2 .l-column {
        width: 100%; } }
  /* line 1817, common.scss */
  .entry-content .column2 .r-column {
    width: 47.5%; }
    @media screen and (max-width: 800px) {
      /* line 1817, common.scss */
      .entry-content .column2 .r-column {
        width: 100%; } }
/* line 1824, common.scss */
.entry-content h3 {
  font-size: 30px;
  line-height: 1.6;
  letter-spacing: 0.05em;
  border-top: 1px solid #E5E8EB;
  margin-bottom: 25px;
  padding-top: 20px; }
  @media screen and (max-width: 800px) {
    /* line 1824, common.scss */
    .entry-content h3 {
      font-size: 22px;
      line-height: 1.45;
      margin-bottom: 20px; } }
  /* line 1836, common.scss */
  .entry-content h3::before {
    position: absolute;
    left: 0;
    top: -1px;
    width: 120px;
    height: 1px;
    content: "";
    background-color: #0E3E6A; }
    @media screen and (max-width: 800px) {
      /* line 1836, common.scss */
      .entry-content h3::before {
        width: 62px; } }
/* line 1849, common.scss */
.entry-content h4 {
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.6;
  border-left: 4px solid #0E3E6A;
  padding-left: 12px;
  margin-bottom: 25px; }
  @media screen and (max-width: 800px) {
    /* line 1849, common.scss */
    .entry-content h4 {
      font-size: 18px; } }
/* line 1861, common.scss */
.entry-content h5 {
  font-size: 18px;
  line-height: 1.6;
  letter-spacing: 0.05em;
  margin-bottom: 20px;
  padding-left: 30px; }
  @media screen and (max-width: 800px) {
    /* line 1861, common.scss */
    .entry-content h5 {
      font-size: 16px;
      margin-bottom: 15px; } }
  /* line 1871, common.scss */
  .entry-content h5::before {
    position: absolute;
    left: 0;
    top: 6px;
    width: 17px;
    height: 17px;
    content: "";
    background-color: #0E3E6A; }
    @media screen and (max-width: 800px) {
      /* line 1871, common.scss */
      .entry-content h5::before {
        top: 4px; } }
/* line 1884, common.scss */
.entry-content p {
  margin-bottom: 30px; }
  /* line 1886, common.scss */
  .entry-content p.wp-caption-text {
    margin-bottom: 0; }
/* line 1890, common.scss */
.entry-content ul {
  margin: 0 0 25px;
  padding: 0; }
  /* line 1893, common.scss */
  .entry-content ul li {
    padding: 0;
    margin: 0 0 0 1em; }
    /* line 1896, common.scss */
    .entry-content ul li:last-child {
      margin-bottom: 0; }
    /* line 1899, common.scss */
    .entry-content ul li::before {
      content: "・";
      margin-left: -1em; }
/* line 1905, common.scss */
.entry-content .scroll-content {
  overflow-x: auto;
  padding-bottom: 10px;
  margin-bottom: 40px; }
  @media screen and (max-width: 800px) {
    /* line 1905, common.scss */
    .entry-content .scroll-content {
      width: calc(100% + 32px);
      padding: 0 16px 10px;
      margin-left: -16px; }
      /* line 1913, common.scss */
      .entry-content .scroll-content table {
        width: 900px; }
      /* line 1916, common.scss */
      .entry-content .scroll-content p {
        width: 900px; } }
  /* line 1920, common.scss */
  .entry-content .scroll-content p {
    font-size: 15px;
    margin-bottom: 0; }
    /* line 1923, common.scss */
    .entry-content .scroll-content p.scroll-text {
      display: none; }
      @media screen and (max-width: 800px) {
        /* line 1923, common.scss */
        .entry-content .scroll-content p.scroll-text {
          display: block;
          font-size: 15px;
          margin-bottom: 8px; } }
    /* line 1931, common.scss */
    .entry-content .scroll-content p.bikou {
      font-size: 14px; }
/* line 1936, common.scss */
.entry-content table {
  margin-bottom: 15px; }
  /* line 1940, common.scss */
  .entry-content table tr:last-child th {
    padding: 12px; }
  /* line 1943, common.scss */
  .entry-content table tr:last-child td {
    border: 1px solid #B5B8BC;
    padding: 8px; }
  /* line 1949, common.scss */
  .entry-content table th {
    color: #FFFFFF;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.05em;
    text-align: center;
    background-color: #005EAF;
    border: 1px solid #B5B8BC;
    padding: 12px;
    vertical-align: middle; }
    @media screen and (max-width: 800px) {
      /* line 1949, common.scss */
      .entry-content table th {
        display: table-cell;
        width: auto; } }
  /* line 1965, common.scss */
  .entry-content table td {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0.05em;
    text-align: center;
    border: 1px solid #B5B8BC;
    vertical-align: middle;
    padding: 8px; }
    @media screen and (max-width: 800px) {
      /* line 1965, common.scss */
      .entry-content table td {
        display: table-cell;
        width: auto;
        border: 1px solid #B5B8BC; } }
    /* line 1978, common.scss */
    .entry-content table td .attention {
      display: block;
      font-size: 14px;
      font-weight: 700;
      line-height: 1.4;
      margin-top: 15px; }
/* line 1987, common.scss */
.entry-content .wp-caption {
  width: 100% !important; }
/* line 1990, common.scss */
.entry-content img {
  width: 100%; }

/* line 1996, common.scss */
.db-title {
  position: relative;
  width: 100%;
  max-width: 800px;
  color: #FFFFFF;
  mix-blend-mode: difference;
  margin: 90px auto 0;
  padding: 0 40px;
  z-index: 1; }
  @media screen and (max-width: 800px) {
    /* line 1996, common.scss */
    .db-title {
      padding: 0 30px;
      margin-top: 60px; } }
  /* line 2009, common.scss */
  .db-title.db-title-s {
    padding: 0 85px;
    margin-top: 0; }
    @media screen and (max-width: 800px) {
      /* line 2009, common.scss */
      .db-title.db-title-s {
        padding: 0 16px; } }
  /* line 2016, common.scss */
  .db-title .en {
    display: inline-block;
    font-size: 40px;
    line-height: 1; }

/* line 2022, common.scss */
.db-content {
  position: relative;
  max-width: 800px;
  background-color: #13304B;
  margin: -15px auto 0;
  padding: 45px 40px;
  z-index: 0; }
  @media screen and (max-width: 800px) {
    /* line 2022, common.scss */
    .db-content {
      width: calc(100% - 32px);
      padding: 30px 16px; } }
  /* line 2033, common.scss */
  .db-content ul {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 25px; }
    @media screen and (max-width: 800px) {
      /* line 2033, common.scss */
      .db-content ul {
        gap: 0px 16px; } }
    /* line 2040, common.scss */
    .db-content ul li {
      margin: 0;
      padding: 0; }
      /* line 2043, common.scss */
      .db-content ul li a {
        display: inline-block;
        position: relative;
        color: #FFFFFF;
        text-decoration: none; }
        @media screen and (max-width: 800px) {
          /* line 2043, common.scss */
          .db-content ul li a {
            font-size: 13px; } }
        /* line 2051, common.scss */
        .db-content ul li a::before {
          display: inline-block;
          content: "＃ "; }
  /* line 2058, common.scss */
  .db-content ol {
    margin: 0;
    padding: 0;
    counter-reset: count;
    list-style: none; }
    /* line 2063, common.scss */
    .db-content ol li {
      margin: 0 0 15px;
      padding: 0; }
      @media screen and (max-width: 800px) {
        /* line 2063, common.scss */
        .db-content ol li {
          margin-bottom: 10px; } }
      /* line 2069, common.scss */
      .db-content ol li:last-child {
        margin-bottom: 0; }
      /* line 2072, common.scss */
      .db-content ol li a {
        position: relative;
        display: block;
        color: #FFFFFF;
        text-decoration: none;
        padding-left: 45px; }
        @media screen and (max-width: 800px) {
          /* line 2072, common.scss */
          .db-content ol li a {
            padding-left: 40px; } }
        /* line 2081, common.scss */
        .db-content ol li a::before {
          position: absolute;
          left: 0;
          top: 2px;
          font-family: "Lato", sans-serif;
          font-size: 18px;
          font-weight: 700;
          line-height: 1.5;
          counter-increment: count;
          content: counter(count,decimal-leading-zero) "."; }
          @media screen and (max-width: 800px) {
            /* line 2081, common.scss */
            .db-content ol li a::before {
              font-size: 15px;
              top: 3px; } }

/* line 2104, common.scss */
.wp-pagenavi {
  position: relative;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin: 90px 0 100px; }
  @media screen and (max-width: 800px) {
    /* line 2104, common.scss */
    .wp-pagenavi {
      gap: 12px;
      margin: 40px 0 60px; } }
  /* line 2116, common.scss */
  .wp-pagenavi a,
  .wp-pagenavi span {
    position: relative;
    display: grid;
    place-items: center;
    color: #0E3E6A;
    font-family: "Lato", sans-serif;
    font-size: 18px;
    font-weight: 700;
    width: 50px;
    height: 50px;
    line-height: 1;
    border: none !important;
    background-color: #FFFFFF;
    border-radius: 50%;
    text-decoration: none;
    transition: all 0.1s ease-in-out; }
    @media screen and (min-width: 800px) {
      /* line 2134, common.scss */
      .wp-pagenavi a:hover,
      .wp-pagenavi span:hover {
        color: #FFFFFF;
        background-color: #0E3E6A; }
        /* line 2137, common.scss */
        .wp-pagenavi a:hover.nextpostslink, .wp-pagenavi a:hover.previouspostslink,
        .wp-pagenavi span:hover.nextpostslink,
        .wp-pagenavi span:hover.previouspostslink {
          color: #1A1A1A;
          text-decoration: none; } }
    @media screen and (max-width: 800px) {
      /* line 2116, common.scss */
      .wp-pagenavi a,
      .wp-pagenavi span {
        width: 40px;
        height: 40px;
        font-size: 14px; } }
    /* line 2149, common.scss */
    .wp-pagenavi a.nextpostslink, .wp-pagenavi a.previouspostslink,
    .wp-pagenavi span.nextpostslink,
    .wp-pagenavi span.previouspostslink {
      display: inline-flex;
      align-items: center;
      width: auto;
      height: auto;
      color: #1A1A1A;
      font-family: "Noto Sans JP", sans-serif;
      font-size: 16px;
      text-decoration: underline;
      border: none;
      background: none;
      border-radius: 0;
      margin: 0;
      padding: 0; }
      @media screen and (max-width: 800px) {
        /* line 2149, common.scss */
        .wp-pagenavi a.nextpostslink, .wp-pagenavi a.previouspostslink,
        .wp-pagenavi span.nextpostslink,
        .wp-pagenavi span.previouspostslink {
          font-size: 14px; } }
    /* line 2168, common.scss */
    .wp-pagenavi a.nextpostslink,
    .wp-pagenavi span.nextpostslink {
      margin-left: 16px; }
      @media screen and (max-width: 800px) {
        /* line 2168, common.scss */
        .wp-pagenavi a.nextpostslink,
        .wp-pagenavi span.nextpostslink {
          margin-left: 0; } }
    /* line 2174, common.scss */
    .wp-pagenavi a.previouspostslink,
    .wp-pagenavi span.previouspostslink {
      margin-right: 16px; }
      @media screen and (max-width: 800px) {
        /* line 2174, common.scss */
        .wp-pagenavi a.previouspostslink,
        .wp-pagenavi span.previouspostslink {
          margin-right: 0; } }
    /* line 2180, common.scss */
    .wp-pagenavi a.current,
    .wp-pagenavi span.current {
      color: #FFFFFF;
      background-color: #0E3E6A; }
  /* line 2185, common.scss */
  .wp-pagenavi .pages {
    display: none; }

/* line 2194, common.scss */
input,
select,
textarea {
  padding: 11px 15px;
  font-size: 16px;
  border: 1px solid #B5B8BC;
  background-color: #FFFFFF; }

/* line 2204, common.scss */
button,
input {
  line-height: normal; }

/* line 2208, common.scss */
textarea {
  vertical-align: top; }

/* line 2211, common.scss */
input[type="checkbox"],
input[type="radio"],
input[type="file"],
input[type="hidden"],
input[type="image"],
input[type="color"] {
  padding: 0; }

/* line 2219, common.scss */
input[type="text"],
input[type="password"],
input[type="tel"],
input[type="email"],
select,
textarea {
  width: 100%; }

/* line 2228, common.scss */
input#your-address {
  display: block;
  margin-top: 16px; }

/* line 2232, common.scss */
input#your-zip {
  width: 30%; }
  @media screen and (max-width: 800px) {
    /* line 2232, common.scss */
    input#your-zip {
      width: 50%; } }

/* line 2238, common.scss */
.zip {
  display: inline-block;
  font-size: 18px;
  font-weight: 700;
  padding-right: 0.5em; }

/* line 2244, common.scss */
input#your-tel,
input#your-fax {
  width: 65%; }
  @media screen and (max-width: 800px) {
    /* line 2244, common.scss */
    input#your-tel,
    input#your-fax {
      width: 100%; } }

/* line 2251, common.scss */
::placeholder {
  color: #B5B8BC; }

/* line 2254, common.scss */
.wpcf7-not-valid-tip {
  font-size: 14px;
  font-weight: 500; }

/* line 2259, common.scss */
.required::after {
  display: inline-block;
  position: relative;
  color: #CB0000;
  font-size: 16px;
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: 0.05em;
  vertical-align: baseline;
  content: "※"; }

/* line 2271, common.scss */
select,
input[type="submit"],
input[type="button"] {
  appearance: none;
  -webkit-text-fill-color: #1A1A1A;
  opacity: 1; }

/* line 2279, common.scss */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  appearance: none; }

/* line 2284, common.scss */
input[type="number"] {
  appearance: textfield; }

/* line 2290, common.scss */
.wpcf7-form-control-wrap .wpcf7-radio,
.wpcf7-form-control-wrap .wpcf7-checkbox {
  display: block; }

/* line 2295, common.scss */
.wpcf7-checkbox,
.wpcf7-radio {
  display: flex !important;
  flex-wrap: wrap; }
  /* line 2299, common.scss */
  .wpcf7-checkbox .wpcf7-list-item,
  .wpcf7-radio .wpcf7-list-item {
    display: inline-block;
    margin: 0; }
  /* line 2307, common.scss */
  .wpcf7-checkbox label,
  .wpcf7-radio label {
    display: flex;
    align-items: center;
    font-size: 15px;
    line-height: 1.3; }
  /* line 2313, common.scss */
  .wpcf7-checkbox .wpcf7-list-item-label,
  .wpcf7-radio .wpcf7-list-item-label {
    cursor: pointer; }

/* line 2317, common.scss */
.wpcf7-radio {
  gap: 15px 40px; }
  /* line 2319, common.scss */
  .wpcf7-radio .wpcf7-list-item {
    width: auto; }
    /* line 2321, common.scss */
    .wpcf7-radio .wpcf7-list-item input {
      margin: 0 10px 0 0; }

/* line 2326, common.scss */
.wpcf7-checkbox {
  gap: 15px 0; }
  /* line 2328, common.scss */
  .wpcf7-checkbox .wpcf7-list-item {
    width: 48%; }
    @media screen and (max-width: 800px) {
      /* line 2328, common.scss */
      .wpcf7-checkbox .wpcf7-list-item {
        width: 100%; } }
    /* line 2333, common.scss */
    .wpcf7-checkbox .wpcf7-list-item input {
      margin: 0 6px 0 0; }

/* line 2338, common.scss */
input[type="checkbox"] {
  position: relative;
  cursor: pointer;
  width: 18px;
  height: 18px;
  margin-top: -1px;
  border: 1px solid #B5B8BC;
  background-color: #FFFFFF;
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle; }
  /* line 2350, common.scss */
  input[type="checkbox"]:checked::before {
    position: absolute;
    left: 50%;
    top: 50%;
    rotate: 38deg;
    translate: -50% -60%;
    width: 6px;
    height: 12px;
    border-right: 2px solid #1A1A1A;
    border-bottom: 2px solid #1A1A1A;
    content: ""; }

/* line 2364, common.scss */
input[type=radio] {
  position: relative;
  cursor: pointer;
  width: 20px;
  height: 20px;
  margin-top: -6px;
  border: 1px solid #1A1A1A;
  border-radius: 50%;
  background-color: #FFFFFF;
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle; }
  @media screen and (max-width: 800px) {
    /* line 2364, common.scss */
    input[type=radio] {
      margin-top: -2px; } }
  /* line 2380, common.scss */
  input[type=radio]:checked::before {
    position: absolute;
    left: 50%;
    top: 50%;
    translate: -50% -50%;
    width: 11px;
    height: 11px;
    content: "";
    border-radius: 50%;
    background-color: #1A1A1A; }

/* line 2394, common.scss */
.wpcf7-list-item label {
  cursor: pointer; }

/* line 2399, common.scss */
.contact-privacy {
  text-align: center;
  padding-top: 65px;
  border-top: 1px solid #B5B8BC; }
  @media screen and (max-width: 800px) {
    /* line 2399, common.scss */
    .contact-privacy {
      padding-top: 55px; } }
  /* line 2406, common.scss */
  .contact-privacy h3 {
    font-size: 16px;
    letter-spacing: 0.05em;
    margin-bottom: 20px; }
    @media screen and (max-width: 800px) {
      /* line 2406, common.scss */
      .contact-privacy h3 {
        font-size: 15px; } }
  /* line 2414, common.scss */
  .contact-privacy p {
    margin-bottom: 30px; }
    @media screen and (max-width: 800px) {
      /* line 2414, common.scss */
      .contact-privacy p {
        margin-bottom: 20px; } }
  /* line 2420, common.scss */
  .contact-privacy .doui-text {
    display: inline-block;
    font-weight: 700; }
    /* line 2423, common.scss */
    .contact-privacy .doui-text::after {
      display: inline-block;
      color: #CB0000;
      content: "※";
      margin-left: 4px; }

/* line 2433, common.scss */
.wpcf7-form input[type="submit"],
.wpcf7-form input[type="button"] {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 308px;
  height: 70px;
  color: #0E3E6A;
  -webkit-text-fill-color: #0E3E6A;
  font-weight: 500;
  text-align: left;
  letter-spacing: 0.05em;
  background-color: transparent;
  border: 1px solid #0E3E6A;
  border-radius: 9999px;
  text-decoration: none;
  padding: 0 0 0 48px;
  margin: 0 auto;
  overflow: hidden;
  cursor: pointer;
  transition: color 0.3s ease-out,background 0.3s ease-out;
  z-index: 1; }
  /* line 2456, common.scss */
  .wpcf7-form input[type="submit"]:disabled,
  .wpcf7-form input[type="button"]:disabled {
    pointer-events: none;
    opacity: 0.5; }
  @media screen and (min-width: 800px) {
    /* line 2463, common.scss */
    .wpcf7-form input[type="submit"]:hover:not(:disabled),
    .wpcf7-form input[type="button"]:hover:not(:disabled) {
      cursor: pointer; }
    /* line 2466, common.scss */
    .wpcf7-form input[type="submit"]:hover,
    .wpcf7-form input[type="button"]:hover {
      color: #FFFFFF;
      -webkit-text-fill-color: #FFFFFF; } }
  @media screen and (max-width: 800px) {
    /* line 2433, common.scss */
    .wpcf7-form input[type="submit"],
    .wpcf7-form input[type="button"] {
      max-width: inherit;
      height: 61px;
      font-size: 15px;
      padding-left: 45px; } }

@media screen and (min-width: 800px) {
  /* line 2484, common.scss */
  .submit-button:hover:not(:disabled) .btn-circle::before {
    right: 0;
    width: 100%;
    height: 100%;
    border-radius: 9999px; }
  /* line 2490, common.scss */
  .submit-button:hover:not(:disabled) .btn-circle::after {
    opacity: 1; }
  /* line 2498, common.scss */
  .submit-button:hover .btn-circle.none::before {
    right: 32px;
    width: 10px;
    height: 10px; }
  /* line 2503, common.scss */
  .submit-button:hover .btn-circle.none::after {
    opacity: 0; } }

/* line 2511, common.scss */
.btn-back {
  margin-bottom: 25px; }
  @media screen and (min-width: 800px) {
    /* line 2516, common.scss */
    .btn-back:hover:not(:disabled) .btn-circle::before {
      right: 0;
      width: 100%;
      height: 100%;
      border-radius: 9999px; }
    /* line 2522, common.scss */
    .btn-back:hover:not(:disabled) .btn-circle::after {
      opacity: 1; } }

/* line 2529, common.scss */
#btn_contact {
  display: flex;
  flex-direction: column;
  max-width: 308px;
  margin: 60px auto 0; }
  @media screen and (max-width: 800px) {
    /* line 2529, common.scss */
    #btn_contact {
      max-width: 290px;
      margin-top: 32px; } }

/* line 2539, common.scss */
.submit-button,
.btn-confirm,
.btn-back {
  position: relative;
  height: 70px;
  overflow: hidden;
  z-index: 1; }
  @media screen and (max-width: 800px) {
    /* line 2539, common.scss */
    .submit-button,
    .btn-confirm,
    .btn-back {
      height: 61px; } }

/*
btn-top
*/
/* line 2555, common.scss */
.btn-top {
  display: none;
  position: fixed;
  right: 35px;
  bottom: 35px;
  width: 54px;
  height: 54px;
  border: 1px solid #0E3E6A;
  background-color: #FFFFFF;
  border-radius: 50%;
  z-index: 6;
  transition: background-color 0.3s ease-out; }
  @media screen and (min-width: 800px) {
    /* line 2568, common.scss */
    .btn-top:hover {
      background-color: #0E3E6A; }
      /* line 2570, common.scss */
      .btn-top:hover::before {
        translate: -50% -80%;
        background-color: #FFFFFF; } }
  @media screen and (max-width: 800px) {
    /* line 2555, common.scss */
    .btn-top {
      right: 16px;
      bottom: 16px; } }
  /* line 2580, common.scss */
  .btn-top::before {
    position: absolute;
    left: 50%;
    top: 50%;
    translate: -50% -50%;
    width: 15px;
    height: 17px;
    background-color: #0E3E6A;
    mask-image: url("../img/arrow_u.svg");
    mask-repeat: no-repeat;
    mask-position: center top;
    mask-size: cover;
    content: "";
    transition: all 0.3s ease-out; }

/* line 2599, common.scss */
.takumi {
  position: relative;
  background-color: #FFFFFF;
  border-bottom: 1px solid #E5E8EB;
  padding: 35px 16px;
  z-index: 5; }
  /* line 2605, common.scss */
  .takumi .takumi-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 630px;
    margin: 0 auto; }
    @media screen and (max-width: 800px) {
      /* line 2605, common.scss */
      .takumi .takumi-content {
        display: block;
        max-width: inherit; } }
    /* line 2615, common.scss */
    .takumi .takumi-content .logo-takumi {
      width: 170px;
      margin-right: 60px; }
      @media screen and (max-width: 800px) {
        /* line 2615, common.scss */
        .takumi .takumi-content .logo-takumi {
          width: 128px;
          margin: 0 auto 15px; } }
    /* line 2623, common.scss */
    .takumi .takumi-content p {
      width: calc(100% - 230px);
      line-height: 2;
      margin: 0; }
      @media screen and (max-width: 800px) {
        /* line 2623, common.scss */
        .takumi .takumi-content p {
          width: 100%;
          max-width: 265px;
          font-size: 15px;
          line-height: 1.86;
          margin: 0 auto; } }

/*
footer-contact
*/
/* line 2642, common.scss */
.footer-contact {
  position: relative;
  display: flex;
  background-color: #FFFFFF;
  min-height: 240px;
  z-index: 5; }
  @media screen and (max-width: 800px) {
    /* line 2642, common.scss */
    .footer-contact {
      flex-direction: column;
      min-height: inherit; } }
  /* line 2652, common.scss */
  .footer-contact a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50%;
    text-decoration: none;
    border-right: 1px solid #E5E8EB; }
    @media screen and (min-width: 800px) {
      /* line 2663, common.scss */
      .footer-contact a:hover .fc-content .fc-title,
      .footer-contact a:hover .fc-content .fc-text {
        color: #FFFFFF; }
      /* line 2669, common.scss */
      .footer-contact a:hover .btn-circle::before {
        right: 0;
        border-radius: 0; }
      /* line 2673, common.scss */
      .footer-contact a:hover .btn-circle::after {
        opacity: 1; } }
    @media screen and (max-width: 800px) {
      /* line 2652, common.scss */
      .footer-contact a {
        width: 100%;
        min-height: 140px;
        border-right: none;
        border-bottom: 1px solid #E5E8EB; } }
    /* line 2685, common.scss */
    .footer-contact a .fc-content {
      position: relative;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      z-index: 1;
      padding-right: 17%; }
      @media screen and (max-width: 800px) {
        /* line 2685, common.scss */
        .footer-contact a .fc-content {
          padding: 0; } }
      /* line 2696, common.scss */
      .footer-contact a .fc-content .fc-title {
        display: block;
        color: #0E3E6A;
        font-size: 28px;
        font-weight: 700;
        letter-spacing: 0.05em;
        margin-bottom: 10px;
        transition: color 0.3s ease-out; }
        @media screen and (max-width: 800px) {
          /* line 2696, common.scss */
          .footer-contact a .fc-content .fc-title {
            font-size: 22px; } }
      /* line 2708, common.scss */
      .footer-contact a .fc-content .fc-text {
        display: block;
        font-size: 16px;
        transition: color 0.3s ease-out; }
        @media screen and (max-width: 800px) {
          /* line 2708, common.scss */
          .footer-contact a .fc-content .fc-text {
            font-size: 14px; } }
    @media screen and (max-width: 800px) {
      /* line 2717, common.scss */
      .footer-contact a .btn-circle {
        display: none; } }
    /* line 2721, common.scss */
    .footer-contact a .btn-circle::before {
      right: 120px; }
    /* line 2724, common.scss */
    .footer-contact a .btn-circle::after {
      right: 112px;
      width: 26px;
      height: 23px;
      background-image: url("../img/arrow_r02.svg"); }
  /* line 2732, common.scss */
  .footer-contact .ft-content {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 50%; }
    @media screen and (max-width: 800px) {
      /* line 2732, common.scss */
      .footer-contact .ft-content {
        width: 100%;
        min-height: 140px; } }
    /* line 2742, common.scss */
    .footer-contact .ft-content .ft-title {
      display: block;
      font-size: 16px;
      margin-bottom: 15px; }
      @media screen and (max-width: 800px) {
        /* line 2742, common.scss */
        .footer-contact .ft-content .ft-title {
          font-size: 14px; } }
    /* line 2750, common.scss */
    .footer-contact .ft-content .ft-tel {
      display: block;
      color: #0E3E6A;
      font-size: 44px;
      font-weight: 700;
      line-height: 1;
      margin-bottom: 15px; }
      @media screen and (max-width: 800px) {
        /* line 2750, common.scss */
        .footer-contact .ft-content .ft-tel {
          font-size: 32px; } }
    /* line 2761, common.scss */
    .footer-contact .ft-content .ft-text {
      display: block;
      font-size: 13px; }

/* line 2772, common.scss */
.footer {
  position: relative;
  width: 100%;
  background-color: #13304B;
  padding: 100px 0 60px;
  z-index: 5; }
  @media screen and (max-width: 800px) {
    /* line 2772, common.scss */
    .footer {
      padding: 60px 32px; } }
  /* line 2781, common.scss */
  .footer .siteinfo {
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin-bottom: 110px; }
    @media screen and (max-width: 800px) {
      /* line 2781, common.scss */
      .footer .siteinfo {
        display: block;
        margin-bottom: 45px; } }
    /* line 2790, common.scss */
    .footer .siteinfo .l-footer {
      width: 35.4%; }
      @media screen and (max-width: 800px) {
        /* line 2790, common.scss */
        .footer .siteinfo .l-footer {
          width: 100%; } }
      /* line 2795, common.scss */
      .footer .siteinfo .l-footer .footer-logo {
        display: block;
        width: 100%;
        max-width: 354px;
        margin-bottom: 70px; }
        @media screen and (max-width: 800px) {
          /* line 2795, common.scss */
          .footer .siteinfo .l-footer .footer-logo {
            max-width: 286px;
            margin: 0 auto 25px; } }
        /* line 2804, common.scss */
        .footer .siteinfo .l-footer .footer-logo img {
          width: 100%; }
      /* line 2808, common.scss */
      .footer .siteinfo .l-footer dl {
        display: flex;
        flex-wrap: wrap;
        margin: 0;
        padding: 0; }
        @media screen and (max-width: 800px) {
          /* line 2808, common.scss */
          .footer .siteinfo .l-footer dl {
            display: block;
            margin-bottom: 40px; } }
        /* line 2817, common.scss */
        .footer .siteinfo .l-footer dl dt,
        .footer .siteinfo .l-footer dl dd {
          color: #FFFFFF;
          font-size: 14px;
          line-height: 1.4;
          margin: 0 0 25px;
          padding: 0; }
        /* line 2825, common.scss */
        .footer .siteinfo .l-footer dl dt {
          width: 85px;
          font-weight: 400; }
          @media screen and (max-width: 800px) {
            /* line 2825, common.scss */
            .footer .siteinfo .l-footer dl dt {
              width: 100%;
              margin-bottom: 5px; } }
        /* line 2833, common.scss */
        .footer .siteinfo .l-footer dl dd {
          width: calc(100% - 85px); }
          @media screen and (max-width: 800px) {
            /* line 2833, common.scss */
            .footer .siteinfo .l-footer dl dd {
              width: 100%;
              margin-bottom: 20px; } }
          @media screen and (max-width: 800px) {
            /* line 2839, common.scss */
            .footer .siteinfo .l-footer dl dd:last-of-type {
              margin-bottom: 0; } }
    /* line 2847, common.scss */
    .footer .siteinfo .r-footer {
      width: 49.6%; }
      @media screen and (max-width: 800px) {
        /* line 2847, common.scss */
        .footer .siteinfo .r-footer {
          width: 100%; } }
      /* line 2852, common.scss */
      .footer .siteinfo .r-footer .footermenu {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin-bottom: 50px; }
        @media screen and (max-width: 800px) {
          /* line 2852, common.scss */
          .footer .siteinfo .r-footer .footermenu {
            width: calc(100% + 32px);
            gap: 15px 0; } }
        /* line 2861, common.scss */
        .footer .siteinfo .r-footer .footermenu nav {
          width: auto; }
          @media screen and (max-width: 800px) {
            /* line 2861, common.scss */
            .footer .siteinfo .r-footer .footermenu nav {
              width: 100%; } }
          @media screen and (max-width: 800px) {
            /* line 2869, common.scss */
            .footer .siteinfo .r-footer .footermenu nav.footermenu01 ul li a {
              font-size: 18px; } }
          @media screen and (max-width: 800px) {
            /* line 2880, common.scss */
            .footer .siteinfo .r-footer .footermenu nav.footermenu02 ul li:first-child {
              margin-bottom: 0; } }
          /* line 2890, common.scss */
          .footer .siteinfo .r-footer .footermenu nav.footermenu03 ul li {
            margin-bottom: 16px; }
            @media screen and (max-width: 800px) {
              /* line 2890, common.scss */
              .footer .siteinfo .r-footer .footermenu nav.footermenu03 ul li {
                margin-bottom: 15px; } }
          /* line 2898, common.scss */
          .footer .siteinfo .r-footer .footermenu nav ul {
            margin: 0; }
            @media screen and (max-width: 800px) {
              /* line 2898, common.scss */
              .footer .siteinfo .r-footer .footermenu nav ul {
                display: flex;
                flex-wrap: wrap;
                justify-content: space-between; } }
            /* line 2905, common.scss */
            .footer .siteinfo .r-footer .footermenu nav ul li {
              line-height: 1.5;
              margin: 0 0 30px;
              padding: 0; }
              @media screen and (max-width: 800px) {
                /* line 2905, common.scss */
                .footer .siteinfo .r-footer .footermenu nav ul li {
                  width: 47%;
                  margin-bottom: 15px; } }
              /* line 2913, common.scss */
              .footer .siteinfo .r-footer .footermenu nav ul li:last-child {
                margin-bottom: 0; }
              /* line 2916, common.scss */
              .footer .siteinfo .r-footer .footermenu nav ul li a {
                display: inline-block;
                color: #FFFFFF;
                font-size: 18px;
                font-weight: 700;
                letter-spacing: 0.05em;
                text-decoration: none; }
                @media screen and (max-width: 800px) {
                  /* line 2916, common.scss */
                  .footer .siteinfo .r-footer .footermenu nav ul li a {
                    font-size: 16px; } }
              /* line 2927, common.scss */
              .footer .siteinfo .r-footer .footermenu nav ul li ul {
                margin-top: 5px; }
                /* line 2929, common.scss */
                .footer .siteinfo .r-footer .footermenu nav ul li ul li {
                  margin-bottom: 5px; }
                  @media screen and (max-width: 800px) {
                    /* line 2929, common.scss */
                    .footer .siteinfo .r-footer .footermenu nav ul li ul li {
                      width: 100%; } }
                  /* line 2934, common.scss */
                  .footer .siteinfo .r-footer .footermenu nav ul li ul li a {
                    position: relative;
                    font-size: 15px;
                    font-weight: 400;
                    padding-left: 25px; }
                    /* line 2939, common.scss */
                    .footer .siteinfo .r-footer .footermenu nav ul li ul li a::before {
                      position: absolute;
                      left: 0;
                      top: 50%;
                      translate: 0 -50%;
                      width: 17px;
                      height: 1px;
                      content: "";
                      background-color: #FFFFFF; }
      /* line 2956, common.scss */
      .footer .siteinfo .r-footer .footersubmenu {
        width: 100%; }
        @media screen and (max-width: 800px) {
          /* line 2956, common.scss */
          .footer .siteinfo .r-footer .footersubmenu {
            max-width: 240px;
            margin: 0 auto; } }
        /* line 2962, common.scss */
        .footer .siteinfo .r-footer .footersubmenu nav {
          width: 100%; }
          /* line 2964, common.scss */
          .footer .siteinfo .r-footer .footersubmenu nav ul {
            width: 100%;
            display: flex;
            gap: 0 16px;
            margin: 0;
            padding: 0; }
            @media screen and (max-width: 800px) {
              /* line 2964, common.scss */
              .footer .siteinfo .r-footer .footersubmenu nav ul {
                flex-direction: column;
                gap: 16px 0; } }
            /* line 2974, common.scss */
            .footer .siteinfo .r-footer .footersubmenu nav ul li {
              width: 100%;
              margin: 0;
              padding: 0; }
              /* line 2978, common.scss */
              .footer .siteinfo .r-footer .footersubmenu nav ul li a {
                display: flex;
                justify-content: center;
                align-items: center;
                width: 100%;
                min-height: 48px;
                color: #FFFFFF;
                font-size: 15px;
                font-weight: 700;
                letter-spacing: 0.05em;
                text-decoration: none;
                border: 1px solid #FFFFFF;
                border-radius: 9999px; }
  /* line 2998, common.scss */
  .footer .footer-bottom {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0 35px; }
    @media screen and (max-width: 800px) {
      /* line 2998, common.scss */
      .footer .footer-bottom {
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: 10px 0; } }
    /* line 3010, common.scss */
    .footer .footer-bottom .footerbottommenu ul {
      margin: 0;
      padding: 0; }
      /* line 3013, common.scss */
      .footer .footer-bottom .footerbottommenu ul li {
        margin: 0;
        padding: 0; }
        /* line 3016, common.scss */
        .footer .footer-bottom .footerbottommenu ul li a {
          color: #FFFFFF;
          font-size: 13px;
          text-decoration: none;
          letter-spacing: 0.05em; }
          @media screen and (min-width: 800px) {
            /* line 3022, common.scss */
            .footer .footer-bottom .footerbottommenu ul li a:hover {
              text-decoration: underline; } }
    /* line 3030, common.scss */
    .footer .footer-bottom .copyright {
      color: #FFFFFF;
      font-size: 14px;
      margin: 0; }

/* line 3042, common.scss */
#wpadminbar {
  position: fixed; }

/*# sourceMappingURL=common.css.map */
