@charset "UTF-8";
.mg0 {
  margin: 0 !important; }

.mt0 {
  margin-top: 0 !important; }

.mb0 {
  margin-bottom: 0 !important; }

.mb5 {
  margin-bottom: 5px; }

.mb10 {
  margin-bottom: 10px; }

.mb15 {
  margin-bottom: 15px; }

.mb20 {
  margin-bottom: 20px; }

.mb25 {
  margin-bottom: 25px; }

.mb30 {
  margin-bottom: 30px; }

.mb35 {
  margin-bottom: 35px; }

.mb40 {
  margin-bottom: 40px; }

.mb45 {
  margin-bottom: 45px; }

.mb50 {
  margin-bottom: 50px; }

.mb55 {
  margin-bottom: 55px; }

.mb60 {
  margin-bottom: 60px; }

.mb65 {
  margin-bottom: 65px; }

.mb70 {
  margin-bottom: 70px; }

.mb75 {
  margin-bottom: 75px; }

.mb80 {
  margin-bottom: 80px; }

.mb85 {
  margin-bottom: 85px; }

.mb90 {
  margin-bottom: 90px; }

.mb95 {
  margin-bottom: 95px; }

.mb100 {
  margin-bottom: 100px; }

.mb105 {
  margin-bottom: 105px; }

.mb110 {
  margin-bottom: 110px; }

.mb115 {
  margin-bottom: 115px; }

.mb120 {
  margin-bottom: 120px; }

.mb125 {
  margin-bottom: 125px; }

.mt5 {
  margin-top: 5px; }

.mt10 {
  margin-top: 10px; }

.mt15 {
  margin-top: 15px; }

.mt20 {
  margin-top: 20px; }

.mt25 {
  margin-top: 25px; }

.mt30 {
  margin-top: 30px; }

.mt35 {
  margin-top: 35px; }

.mt40 {
  margin-top: 40px; }

.mt45 {
  margin-top: 45px; }

.mt50 {
  margin-top: 50px; }

.mt55 {
  margin-top: 55px; }

.mt60 {
  margin-top: 60px; }

.mt65 {
  margin-top: 65px; }

.mt70 {
  margin-top: 70px; }

.mt75 {
  margin-top: 75px; }

.mt80 {
  margin-top: 80px; }

.mt85 {
  margin-top: 85px; }

.mt90 {
  margin-top: 90px; }

.mt95 {
  margin-top: 95px; }

.mt100 {
  margin-top: 100px; }

.ml5 {
  margin-left: 5px; }

.gap5 {
  gap: 5px; }

.gap10 {
  gap: 10px; }

.gap15 {
  gap: 15px; }

.gap20 {
  gap: 20px; }

.gap25 {
  gap: 25px; }

.gap30 {
  gap: 30px; }

.gap35 {
  gap: 35px; }

.gap40 {
  gap: 40px; }

.gap45 {
  gap: 45px; }

.gap50 {
  gap: 50px; }

.gap55 {
  gap: 55px; }

.gap60 {
  gap: 60px; }

.gap65 {
  gap: 65px; }

.gap70 {
  gap: 70px; }

.gap75 {
  gap: 75px; }

.gap80 {
  gap: 80px; }

.gap85 {
  gap: 85px; }

.gap90 {
  gap: 90px; }

.gap95 {
  gap: 95px; }

.gap100 {
  gap: 100px; }

@media screen and (min-width: 760px) {
  .w30 {
    width: 30% !important;
    max-width: 30% !important; }

  .w31 {
    width: 31% !important;
    max-width: 31% !important; }

  .w32 {
    width: 32% !important;
    max-width: 32% !important; }

  .w33 {
    width: 33% !important;
    max-width: 33% !important; }

  .w34 {
    width: 34% !important;
    max-width: 34% !important; }

  .w35 {
    width: 35% !important;
    max-width: 35% !important; }

  .w36 {
    width: 36% !important;
    max-width: 36% !important; }

  .w37 {
    width: 37% !important;
    max-width: 37% !important; }

  .w38 {
    width: 38% !important;
    max-width: 38% !important; }

  .w39 {
    width: 39% !important;
    max-width: 39% !important; }

  .w40 {
    width: 40% !important;
    max-width: 40% !important; }

  .w41 {
    width: 41% !important;
    max-width: 41% !important; }

  .w42 {
    width: 42% !important;
    max-width: 42% !important; }

  .w43 {
    width: 43% !important;
    max-width: 43% !important; }

  .w44 {
    width: 44% !important;
    max-width: 44% !important; }

  .w45 {
    width: 45% !important;
    max-width: 45% !important; }

  .w46 {
    width: 46% !important;
    max-width: 46% !important; }

  .w47 {
    width: 47% !important;
    max-width: 47% !important; }

  .w48 {
    width: 48% !important;
    max-width: 48% !important; }

  .w49 {
    width: 49% !important;
    max-width: 49% !important; }

  .w50 {
    width: 50% !important;
    max-width: 50% !important; }

  .w51 {
    width: 51% !important;
    max-width: 51% !important; }

  .w52 {
    width: 52% !important;
    max-width: 52% !important; }

  .w53 {
    width: 53% !important;
    max-width: 53% !important; }

  .w54 {
    width: 54% !important;
    max-width: 54% !important; }

  .w55 {
    width: 55% !important;
    max-width: 55% !important; }

  .w56 {
    width: 56% !important;
    max-width: 56% !important; }

  .w57 {
    width: 57% !important;
    max-width: 57% !important; }

  .w58 {
    width: 58% !important;
    max-width: 58% !important; }

  .w59 {
    width: 59% !important;
    max-width: 59% !important; }

  .w60 {
    width: 60% !important;
    max-width: 60% !important; }

  .w61 {
    width: 61% !important;
    max-width: 61% !important; }

  .w62 {
    width: 62% !important;
    max-width: 62% !important; }

  .w63 {
    width: 63% !important;
    max-width: 63% !important; }

  .w64 {
    width: 64% !important;
    max-width: 64% !important; }

  .w65 {
    width: 65% !important;
    max-width: 65% !important; }

  .w66 {
    width: 66% !important;
    max-width: 66% !important; }

  .w67 {
    width: 67% !important;
    max-width: 67% !important; }

  .w68 {
    width: 68% !important;
    max-width: 68% !important; }

  .w69 {
    width: 69% !important;
    max-width: 69% !important; }

  .w70 {
    width: 70% !important;
    max-width: 70% !important; }

  .w71 {
    width: 71% !important;
    max-width: 71% !important; }

  .w72 {
    width: 72% !important;
    max-width: 72% !important; }

  .w73 {
    width: 73% !important;
    max-width: 73% !important; }

  .w74 {
    width: 74% !important;
    max-width: 74% !important; }

  .w75 {
    width: 75% !important;
    max-width: 75% !important; }

  .w76 {
    width: 76% !important;
    max-width: 76% !important; }

  .w77 {
    width: 77% !important;
    max-width: 77% !important; }

  .w78 {
    width: 78% !important;
    max-width: 78% !important; }

  .w79 {
    width: 79% !important;
    max-width: 79% !important; }

  .w80 {
    width: 80% !important;
    max-width: 80% !important; } }
.w100 {
  width: 100%; }

.fs10 {
  font-size: 10px; }

.fs11 {
  font-size: 11px; }

.fs12 {
  font-size: 12px; }

.fs13 {
  font-size: 13px; }

.fs14 {
  font-size: 14px; }

.fs15 {
  font-size: 15px; }

.fs16 {
  font-size: 16px; }

.fs17 {
  font-size: 17px; }

.fs18 {
  font-size: 18px; }

.fs19 {
  font-size: 19px; }

.fs20 {
  font-size: 20px; }

.fs21 {
  font-size: 21px; }

.fs22 {
  font-size: 22px; }

.fs23 {
  font-size: 23px; }

.fs24 {
  font-size: 24px; }

.fs25 {
  font-size: 25px; }

.fs26 {
  font-size: 26px; }

.fs27 {
  font-size: 27px; }

.fs28 {
  font-size: 28px; }

.fs29 {
  font-size: 29px; }

.fs30 {
  font-size: 30px; }

.fs31 {
  font-size: 31px; }

.fs32 {
  font-size: 32px; }

.fs33 {
  font-size: 33px; }

.fs34 {
  font-size: 34px; }

.fs35 {
  font-size: 35px; }

.fs36 {
  font-size: 36px; }

.fs37 {
  font-size: 37px; }

.fs38 {
  font-size: 38px; }

.fs39 {
  font-size: 39px; }

.fs40 {
  font-size: 40px; }

.fs41 {
  font-size: 41px; }

.fs42 {
  font-size: 42px; }

.fs43 {
  font-size: 43px; }

.fs44 {
  font-size: 44px; }

.fs45 {
  font-size: 45px; }

.fs46 {
  font-size: 46px; }

.fs47 {
  font-size: 47px; }

.fs48 {
  font-size: 48px; }

.fs49 {
  font-size: 49px; }

.fs50 {
  font-size: 50px; }

.fs51 {
  font-size: 51px; }

.fs52 {
  font-size: 52px; }

.fs53 {
  font-size: 53px; }

.fs54 {
  font-size: 54px; }

.fs55 {
  font-size: 55px; }

.fs56 {
  font-size: 56px; }

.fs57 {
  font-size: 57px; }

.fs58 {
  font-size: 58px; }

.fs59 {
  font-size: 59px; }

.fs60 {
  font-size: 60px; }

.fs61 {
  font-size: 61px; }

.fs62 {
  font-size: 62px; }

.fs63 {
  font-size: 63px; }

.fs64 {
  font-size: 64px; }

.fs65 {
  font-size: 65px; }

.fs66 {
  font-size: 66px; }

.fs67 {
  font-size: 67px; }

.fs68 {
  font-size: 68px; }

.fs69 {
  font-size: 69px; }

.fs70 {
  font-size: 70px; }

.fs71 {
  font-size: 71px; }

.fs72 {
  font-size: 72px; }

.fs73 {
  font-size: 73px; }

.fs74 {
  font-size: 74px; }

.fs75 {
  font-size: 75px; }

.fs76 {
  font-size: 76px; }

.fs77 {
  font-size: 77px; }

.fs78 {
  font-size: 78px; }

.fs79 {
  font-size: 79px; }

.fs80 {
  font-size: 80px; }

.fs81 {
  font-size: 81px; }

.fs82 {
  font-size: 82px; }

.fs83 {
  font-size: 83px; }

.fs84 {
  font-size: 84px; }

.fs85 {
  font-size: 85px; }

.fs86 {
  font-size: 86px; }

.fs87 {
  font-size: 87px; }

.fs88 {
  font-size: 88px; }

.fs89 {
  font-size: 89px; }

.fs90 {
  font-size: 90px; }

.fs91 {
  font-size: 91px; }

.fs92 {
  font-size: 92px; }

.fs93 {
  font-size: 93px; }

.fs94 {
  font-size: 94px; }

.fs95 {
  font-size: 95px; }

.fs96 {
  font-size: 96px; }

.fs97 {
  font-size: 97px; }

.fs98 {
  font-size: 98px; }

.fs99 {
  font-size: 99px; }

.fs100 {
  font-size: 100px; }

.fs101 {
  font-size: 101px; }

.fs102 {
  font-size: 102px; }

.fs103 {
  font-size: 103px; }

.fs104 {
  font-size: 104px; }

.fs105 {
  font-size: 105px; }

.fs106 {
  font-size: 106px; }

.fs107 {
  font-size: 107px; }

.fs108 {
  font-size: 108px; }

.fs109 {
  font-size: 109px; }

.fs110 {
  font-size: 110px; }

.fs111 {
  font-size: 111px; }

.fs112 {
  font-size: 112px; }

.fs113 {
  font-size: 113px; }

.fs114 {
  font-size: 114px; }

.fs115 {
  font-size: 115px; }

.fs116 {
  font-size: 116px; }

.fs117 {
  font-size: 117px; }

.fs118 {
  font-size: 118px; }

.fs119 {
  font-size: 119px; }

.fs120 {
  font-size: 120px; }

.fw400 {
  font-weight: 400 !important; }

.fw500 {
  font-weight: 500 !important; }

.fw600 {
  font-weight: 600 !important; }

.fw700 {
  font-weight: 700 !important; }

.lh1 {
  line-height: 1; }

.lh15 {
  line-height: 1.5; }

.lh17 {
  line-height: 1.7; }

.lh18 {
  line-height: 1.8; }

.lh20 {
  line-height: 2.0; }

.lh25 {
  line-height: 2.5; }

.ls-20 {
  letter-spacing: -0.02em; }

.ls0 {
  letter-spacing: 0em; }

.ls40 {
  letter-spacing: 0.04em; }

.ls80 {
  letter-spacing: 0.08em; }

.ls100 {
  letter-spacing: .1em; }

.ls120 {
  letter-spacing: .12em; }

.ls160 {
  letter-spacing: .16em; }

.ls200 {
  letter-spacing: .2em; }

html {
  scroll-behavior: smooth; }

.Poppins, .ttl02 {
  font-family: 'Poppins', sans-serif; }

.Roboto {
  font-family: 'Roboto', sans-serif; }

body {
  font-family: 'Noto Sans JP', sans-serif;
  color: #4C4C4C;
  letter-spacing: 0.12em;
  line-height: 2;
  font-size: 20px;
  color: #001940;
  overflow-wrap: anywhere;
  line-break: strict; }
  @media screen and (min-width: 760px) {
    body {
      min-width: 1200px; } }
  @media screen and (max-width: 760px) {
    body {
      font-size: 4vw !important; } }

.hidden {
  overflow: hidden; }

a {
  text-decoration: none; }
  @media (min-width: 760px) {
    a:hover {
      opacity: .7; } }

.block {
  display: block; }

.flex {
  display: flex; }
  .flex + .flex {
    margin-top: 80px; }
    @media (max-width: 760px) {
      .flex + .flex {
        margin-top: 8vw; } }

.wrap {
  flex-wrap: wrap; }

.jc-sb {
  justify-content: space-between; }
  @media screen and (max-width: 760px) {
    .jc-sb {
      justify-content: center; } }

.jc-end {
  justify-content: flex-end; }

.ai-center {
  align-items: center; }

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

.right {
  text-align: right; }

.reverse {
  flex-direction: row-reverse; }

.header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10; }
  @media (max-width: 760px) {
    .header {
      position: fixed; } }

.gm01 {
  margin: 0;
  padding: 7px 34px 5px;
  list-style: none;
  display: flex;
  justify-content: flex-end;
  gap: 20px;
  color: white; }
  .gm01 a {
    display: flex;
    align-items: center;
    font-size: 15px;
    gap: 7px;
    font-weight: 500;
    letter-spacing: 0; }
    .gm01 a .icon_insta * {
      fill: white; }

.gm_bg {
  display: flex;
  justify-content: space-between;
  height: 80px;
  background: white;
  transition: .1s;
  margin: 0 34px 0 48px;
  left: 0;
  right: 0;
  position: absolute; }
  @media (min-width: 760px) {
    .gm_bg {
      min-width: 1118px; } }
  @media (max-width: 760px) {
    .gm_bg {
      margin: 0;
      height: clamp(3.125rem, -0.717rem + 16.39vw, 6.25rem);
      justify-content: flex-start; } }
  .gm_bg.fixed {
    position: fixed;
    margin: 0;
    top: 0; }
  .gm_bg .logo {
    display: flex;
    height: 100%;
    align-items: center; }
    @media (max-width: 1770px) {
      .gm_bg .logo {
        width: 300px; } }
    @media (max-width: 1415px) {
      .gm_bg .logo {
        width: 200px; } }
    @media (max-width: 1277px) {
      .gm_bg .logo {
        width: 150px; } }
    @media (max-width: 760px) {
      .gm_bg .logo {
        width: 35%;
        margin-left: 5px; } }
  .gm_bg .gm02 {
    display: flex;
    font-weight: 500; }
    @media (max-width: 760px) {
      .gm_bg .gm02 {
        display: none;
        position: fixed;
        top: clamp(3.125rem, -0.717rem + 16.39vw, 6.25rem);
        background: #EFEFEF;
        bottom: 0;
        left: 0;
        right: 0;
        overflow: auto; } }
    .gm_bg .gm02 ul {
      list-style: none;
      margin: 0;
      padding: 0; }
      @media (min-width: 760px) {
        .gm_bg .gm02 ul {
          display: flex; } }
    @media (min-width: 760px) {
      .gm_bg .gm02 nav dd {
        display: none;
        position: absolute;
        left: 0;
        width: 100%;
        padding: 25px;
        justify-content: center;
        background: #001940;
        color: white; }
        .gm_bg .gm02 nav dd:hover {
          display: flex; }
      .gm_bg .gm02 nav > ul {
        gap: 31px;
        height: 100%;
        padding: 0 74px 0 0;
        font-feature-settings: "palt";
        font-size: 15px; } }
  @media (min-width: 760px) and (max-width: 1770px) {
    .gm_bg .gm02 nav > ul {
      font-size: 14px; } }
  @media (min-width: 760px) and (max-width: 1576px) {
    .gm_bg .gm02 nav > ul {
      font-size: 13px;
      gap: 20px;
      padding: 0 20px 0 0; } }
  @media (min-width: 760px) and (max-width: 1277px) {
    .gm_bg .gm02 nav > ul {
      font-size: 12px; } }
  @media (min-width: 760px) and (max-width: 760px) {
    .gm_bg .gm02 nav > ul {
      padding: 0;
      display: block; } }
    @media (min-width: 760px) {
      .gm_bg .gm02 nav dt, .gm_bg .gm02 nav a {
        height: 80px; }
        .gm_bg .gm02 nav dt:hover, .gm_bg .gm02 nav a:hover {
          color: #C40000;
          opacity: 1; }
      .gm_bg .gm02 nav .sub_menu_content {
        display: flex; } }
  @media (min-width: 760px) and (max-width: 760px) {
    .gm_bg .gm02 nav .sub_menu_content {
      display: block; } }
    @media (min-width: 760px) {
        .gm_bg .gm02 nav .sub_menu_content a {
          height: auto;
          transition: .3s;
          letter-spacing: 0; }
          .gm_bg .gm02 nav .sub_menu_content a .img img {
            filter: drop-shadow(0 0 0 #C40000);
            transition: .3s; }
          .gm_bg .gm02 nav .sub_menu_content a:hover .img img {
            filter: drop-shadow(3px 3px 0 #C40000); }
        .gm_bg .gm02 nav .sub_menu_content dt {
          height: auto;
          font-size: 20px;
          font-weight: 700;
          padding-bottom: 5px;
          border-bottom: 1px solid;
          margin-bottom: 5px;
          width: 219px;
          pointer-events: none; }
          .gm_bg .gm02 nav .sub_menu_content dt:after {
            display: none; }
          .gm_bg .gm02 nav .sub_menu_content dt:hover + dd {
            display: block; }
        .gm_bg .gm02 nav .sub_menu_content dd {
          display: block;
          position: relative;
          padding: 0; }
          .gm_bg .gm02 nav .sub_menu_content dd ul {
            display: block; }
      .gm_bg .gm02 nav .sub_menu01 {
        padding-right: 45px;
        width: 250px;
        text-align: center; }
        .gm_bg .gm02 nav .sub_menu01 .img img {
          margin: 0 auto 15px; }
        .gm_bg .gm02 nav .sub_menu01 .sub_menu_title {
          display: flex;
          gap: 10px;
          justify-content: center; }
      .gm_bg .gm02 nav .sub_menu02 {
        width: 627px;
        padding: 0 47px;
        border-left: 1px solid;
        border-right: 1px solid; }
        .gm_bg .gm02 nav .sub_menu02 ul {
          flex-wrap: wrap;
          gap: 15px 25px; }
        .gm_bg .gm02 nav .sub_menu02 li {
          width: 160px; }
        .gm_bg .gm02 nav .sub_menu02 .txt {
          display: flex;
          gap: 10px;
          margin-top: 10px;
          white-space: nowrap; }
      .gm_bg .gm02 nav .sub_menu03 {
        padding-left: 45px; }
        .gm_bg .gm02 nav .sub_menu03 a {
          display: flex;
          gap: 10px;
          margin-top: 10px;
          align-items: center; }
      .gm_bg .gm02 nav dt {
        display: flex;
        align-items: center;
        cursor: pointer; }
        .gm_bg .gm02 nav dt:after {
          content: "";
          transform: rotate(45deg) translate(-2px, -1px);
          width: 12px;
          height: 12px;
          border: 2px solid;
          border-left: none;
          border-top: none;
          display: inline-block;
          margin-left: 10px; } }
    @media (min-width: 760px) and (max-width: 1576px) {
      .gm_bg .gm02 nav dt:after {
        width: 9px;
        height: 9px; } }
    @media (min-width: 760px) {
        .gm_bg .gm02 nav dt:hover + dd {
          display: flex; } }
    @media (max-width: 760px) {
      .gm_bg .gm02 nav {
        background: #001940; }
        .gm_bg .gm02 nav img, .gm_bg .gm02 nav .sub_menu03 {
          display: none; }
        .gm_bg .gm02 nav .nav_other {
          background: #EFEFEF;
          padding: 10px; }
          .gm_bg .gm02 nav .nav_other a {
            color: #1A1A1A; }
          .gm_bg .gm02 nav .nav_other img {
            display: inline;
            margin: 0; }
          .gm_bg .gm02 nav .nav_other ul {
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between; }
            .gm_bg .gm02 nav .nav_other ul li {
              width: 100%; }
              .gm_bg .gm02 nav .nav_other ul li:nth-child(-n + 2) {
                width: 48%;
                border-bottom: 1px solid #C8C8C8; }
                .gm_bg .gm02 nav .nav_other ul li:nth-child(-n + 2) a {
                  padding-left: 10px; }
                  .gm_bg .gm02 nav .nav_other ul li:nth-child(-n + 2) a:before {
                    right: 15px; }
          .gm_bg .gm02 nav .nav_other .tel a {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: center;
            margin: 10px 0;
            height: auto;
            background: white; }
            .gm_bg .gm02 nav .nav_other .tel a .num {
              font-size: 6.6666666667vw !important;
              line-height: 1; }
            .gm_bg .gm02 nav .nav_other .tel a .time {
              font-size: 2.1333333333vw !important;
              margin-top: 5px; }
            .gm_bg .gm02 nav .nav_other .tel a:before {
              display: none; }
            .gm_bg .gm02 nav .nav_other .tel a img {
              width: 20px;
              transform: translateY(2px); }
          .gm_bg .gm02 nav .nav_other .contact a {
            flex-wrap: wrap;
            width: 100%;
            color: white;
            height: 60px;
            gap: 10px; }
            .gm_bg .gm02 nav .nav_other .contact a span {
              height: auto;
              width: auto; }
            .gm_bg .gm02 nav .nav_other .contact a:before {
              display: none; }
          .gm_bg .gm02 nav .nav_other .sns {
            width: 100%;
            text-align: center;
            border: none;
            padding: 0; }
            .gm_bg .gm02 nav .nav_other .sns a {
              width: auto;
              display: inline; }
              .gm_bg .gm02 nav .nav_other .sns a:before {
                display: none; }
          .gm_bg .gm02 nav .nav_other .privacy {
            width: 100%;
            text-align: center;
            border: none;
            margin: 10px 0; }
            .gm_bg .gm02 nav .nav_other .privacy a {
              width: auto;
              display: inline;
              font-size: 2.4vw !important; }
              .gm_bg .gm02 nav .nav_other .privacy a:before {
                display: none; }
        .gm_bg .gm02 nav .fs12 {
          font-size: inherit; }
        .gm_bg .gm02 nav dt, .gm_bg .gm02 nav a {
          display: flex;
          align-items: center;
          padding: 10px 10px 10px 20px;
          color: white; }
        .gm_bg .gm02 nav a {
          position: relative; }
          .gm_bg .gm02 nav a:before {
            content: "";
            position: absolute;
            top: 0;
            right: 24px;
            bottom: 0;
            margin: auto;
            width: 8px;
            height: 8px;
            border: 1px solid;
            border-top: none;
            border-left: none;
            transform: rotate(-45deg); }
        .gm_bg .gm02 nav .ai-center > li + li {
          border-top: 1px solid #fff; }
        .gm_bg .gm02 nav dt {
          position: relative; }
          .gm_bg .gm02 nav dt:before {
            content: "";
            width: 11px;
            height: 1px;
            position: absolute;
            right: 20px;
            top: 0;
            bottom: 0;
            background: #fff;
            margin: auto;
            transition: .3s; }
          .gm_bg .gm02 nav dt:after {
            right: 25px;
            bottom: 0;
            top: 0;
            background: #fff;
            content: " ";
            height: 11px;
            width: 1px;
            position: absolute;
            margin: auto;
            transition: .3s; }
          .gm_bg .gm02 nav dt.open:before {
            transform: rotate(360deg); }
          .gm_bg .gm02 nav dt.open:after {
            transform: rotate(450deg); }
        .gm_bg .gm02 nav dd {
          display: none; }
          .gm_bg .gm02 nav dd a {
            background: white;
            color: initial; }
          .gm_bg .gm02 nav dd li + li {
            border-top: 1px solid #C8C8C8; }
        .gm_bg .gm02 nav .sub_menu01 a {
          background: #EFEFEF; } }
  .gm_bg .recruit,
  .gm_bg .contact {
    background: #000; }
    @media (min-width: 760px) {
      .gm_bg .recruit,
      .gm_bg .contact {
        height: 100px; } }
    .gm_bg .recruit a,
    .gm_bg .contact a {
      height: 100%;
      width: 150px;
      display: flex;
      align-content: center;
      justify-content: center;
      flex-wrap: wrap;
      color: white;
      z-index: 9;
      position: relative; }
      @media (min-width: 760px) and (max-width: 1770px) {
        .gm_bg .recruit a,
        .gm_bg .contact a {
          width: 100px;
          font-size: 13px; } }
      @media (min-width: 760px) and (max-width: 1415px) {
        .gm_bg .recruit a,
        .gm_bg .contact a {
          width: 80px;
          font-size: 10px; } }
      .gm_bg .recruit a span,
      .gm_bg .contact a span {
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center; }
  .gm_bg .recruit a {
    background: #0B3C88; }
  .gm_bg .contact a {
    background: #C40000; }
    .gm_bg .contact a span {
      height: 32px; }

.top_main {
  overflow: hidden;
  display: flex;
  justify-content: center; }
  .top_main h1 {
    width: 100%; }
  .top_main img {
    width: 100%; }

.ttl02 {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 35px; }
  @media (max-width: 760px) {
    .ttl02 {
      margin-bottom: 5vw; } }
  .ttl02 .en {
    font-size: 70px;
    font-weight: 700;
    font-style: italic;
    width: 100%;
    text-align: center;
    line-height: initial; }
    @media (max-width: 760px) {
      .ttl02 .en {
        font-size: 9.3333333333vw !important; } }
  .ttl02 .jp {
    font-size: 20px;
    font-weight: 500; }
    @media (max-width: 760px) {
      .ttl02 .jp {
        font-size: 2.6666666667vw !important; } }

.ttl04 {
  color: #0B3C88;
  font-size: 40px;
  margin-bottom: 25px;
  text-align: center;
  font-weight: 500; }
  @media (max-width: 760px) {
    .ttl04 {
      font-size: 5.3333333333vw !important;
      margin-bottom: 5vw; } }

.home .work, #prefab .work {
  padding: 45px 120px;
  background: #EFEFEF; }
  @media (max-width: 760px) {
    .home .work, #prefab .work {
      padding: 4vw 5vw 5vw; }
      .home .work .btn_more, #prefab .work .btn_more {
        margin: 0 4vw; } }
.work .ttl02 {
  margin-bottom: 55px; }
  @media (max-width: 760px) {
    .work .ttl02 {
      margin-bottom: 3.1vw; } }
.work .slick-arrow {
  position: absolute;
  top: 0;
  bottom: 0;
  background: url(../img/common/icon_arrow_slider_work.svg) no-repeat;
  width: 45px;
  height: 60px;
  text-indent: -9999px;
  border: none;
  margin: auto;
  cursor: pointer; }
  @media (max-width: 760px) {
    .work .slick-arrow {
      background-size: 100%;
      width: 3vw;
      height: 5vw; } }
  .work .slick-arrow.slick-prev {
    left: -90px; }
    @media (max-width: 760px) {
      .work .slick-arrow.slick-prev {
        left: -4.3vw; } }
  .work .slick-arrow.slick-next {
    right: -90px;
    transform: rotate(180deg); }
    @media (max-width: 760px) {
      .work .slick-arrow.slick-next {
        right: -4.3vw; } }
.work .slick-initialized .slick-slide {
  margin-right: 30px;
  padding-top: 21px;
  width: 380px; }
  @media (max-width: 760px) {
    .work .slick-initialized .slick-slide {
      margin-right: 4vw;
      padding-top: 4vw;
      width: 50vw; }
      .work .slick-initialized .slick-slide .btn_more {
        margin: 0 !important; } }
.work a {
  text-decoration: none; }
  .work a .cate {
    position: absolute;
    transform: translateY(-50%);
    background: #011A30;
    color: white;
    padding: 5px 10px; }
    @media (max-width: 760px) {
      .work a .cate {
        font-size: 2.2666666667vw !important; } }
  .work a .img {
    margin-bottom: 10px;
    height: 250px;
    overflow: hidden;
    display: flex;
    justify-content: center; }
    @media (max-width: 760px) {
      .work a .img {
        font-size: 4vw !important;
        height: 125px; } }
    .work a .img img {
      height: 100%;
      max-width: fit-content; }
      @media (max-width: 760px) {
        .work a .img img {
          max-width: 100%; } }
  .work a .title {
    font-size: 25px;
    font-weight: 500;
    margin-bottom: 5px;
    display: block; }
    @media (max-width: 760px) {
      .work a .title {
        font-size: 3.3333333333vw !important; } }
  .work a .btn_more {
    background: #fff;
    color: #001940;
    max-width: 150px;
    height: 40px;
    font-size: 17px;
    margin: 0;
    letter-spacing: 0; }
    @media (max-width: 760px) {
      .work a .btn_more {
        font-size: 2.2666666667vw !important;
        max-width: 24vw;
        height: 6vw;
        margin: 0; } }
    .work a .btn_more:before {
      background: #001940; }
    .work a .btn_more:after {
      background: url(../img/common/icon_arrowS.svg) no-repeat;
      width: 12px;
      height: 9px;
      right: 4px; }
  @media (min-width: 760px) {
    .work a:hover .btn_more:before {
      transform-origin: left top;
      transform: scale(1, 1); }
    .work a:hover .btn_more:after {
      background: url(../img/common/icon_arrowS_white.svg) no-repeat; }
    .work a:hover .btn_more span {
      color: white;
      z-index: 9;
      position: relative; } }

ul.slick-slider {
  padding: 0;
  margin: 0 0 65px; }
  @media (max-width: 760px) {
    ul.slick-slider {
      margin: 0 0 5vw; } }

.btn_more {
  max-width: 600px;
  background: #001940;
  color: white;
  overflow: hidden;
  margin: auto;
  border: 2px solid #001940;
  transition: ease .2s;
  position: relative;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  font-size: 25px;
  font-weight: 700;
  position: relative; }
  @media (max-width: 760px) {
    .btn_more {
      font-size: 3.3333333333vw !important;
      height: 50px; } }
  .btn_more:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    background: #fff;
    width: 100%;
    height: 100%;
    transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transform: scale(0, 1);
    transform-origin: right top; }
  .btn_more span {
    position: relative;
    z-index: 9; }
  .btn_more:after {
    content: "";
    position: absolute;
    top: 0;
    right: 15px;
    bottom: 0;
    background: url(../img/common/icon_arrowL_white.svg) no-repeat;
    width: 44px;
    height: 9px;
    margin: auto;
    z-index: 1; }
    @media (max-width: 760px) {
      .btn_more:after {
        background-size: 100%;
        width: 7vw;
        height: 1.5vw; } }
  @media (min-width: 760px) {
    .btn_more:hover {
      color: #001940;
      opacity: 1; }
      .btn_more:hover:before {
        transform-origin: left top;
        transform: scale(1, 1); }
      .btn_more:hover:after {
        background: url(../img/common/icon_arrowL.svg) no-repeat; } }
  .btn_more.white {
    color: #001940;
    background: #fff;
    border-color: #fff; }
    .btn_more.white:before {
      background: #001940; }
    .btn_more.white:after {
      background: url(../img/common/icon_arrowL.svg) no-repeat; }
    @media (min-width: 760px) {
      .btn_more.white:hover {
        color: white; }
        .btn_more.white:hover:after {
          background: url(../img/common/icon_arrowL_white.svg) no-repeat; } }

.business {
  padding: 30px 0 0; }
  @media (max-width: 760px) {
    .business {
      padding: 4vw 0vw 0vw; } }
  .business .business_link {
    display: flex;
    justify-content: center;
    gap: 10px;
    list-style: none;
    margin: 0 0 40px;
    padding: 0; }
    @media (max-width: 760px) {
      .business .business_link {
        flex-wrap: wrap;
        margin-bottom: 5vw; } }
    .business .business_link a {
      position: relative;
      overflow: hidden;
      display: block; }
      .business .business_link a:before {
        background: #001940cc;
        width: 130%;
        height: 100%;
        transform: rotate(49deg);
        position: absolute;
        bottom: -190px;
        left: -43px;
        content: "";
        transition: all ease 0.3s; }
        @media (max-width: 760px) {
          .business .business_link a:before {
            display: none; } }
      @media (min-width: 760px) {
        .business .business_link a:hover {
          opacity: 1; }
          .business .business_link a:hover:before {
            width: 215%;
            height: 215%; } }
  .business .business_link_content {
    position: absolute;
    bottom: 32px;
    left: 0px;
    right: 0px;
    text-align: center;
    color: white;
    font-size: 25px;
    letter-spacing: 0; }
    @media (max-width: 760px) {
      .business .business_link_content {
        font-size: 3.8666666667vw !important;
        bottom: 0;
        left: 40%;
        top: 0;
        display: flex;
        align-items: center;
        padding: 0 0 0 4vw;
        gap: 1vw;
        background: rgba(0, 25, 64, 0.8); } }
    .business .business_link_content img {
      margin: auto; }
      @media (max-width: 760px) {
        .business .business_link_content img {
          margin: 0;
          width: 10vw; } }
  .business .business_inner {
    max-width: 1430px;
    margin: auto; }
  .business .business_bg {
    padding: 47px 0 70px;
    background: url(../img/index/businness_bg.png) #001940 bottom center no-repeat; }
    @media (max-width: 760px) {
      .business .business_bg {
        padding: 11vw 5vw;
        background-position: right bottom; } }
    .business .business_bg .txt {
      max-width: 600px;
      border: 3px solid;
      color: white;
      padding: 55px 70px 45px;
      font-size: 20px;
      background: #001940; }
      @media (max-width: 760px) {
        .business .business_bg .txt {
          font-size: 3.3333333333vw !important;
          padding: 5vw 10vw 10vw; } }
      .business .business_bg .txt .ttl03 {
        white-space: nowrap;
        letter-spacing: normal; }
      .business .business_bg .txt .btn_more {
        border-color: white;
        margin-top: 40px; }
        @media (max-width: 760px) {
          .business .business_bg .txt .btn_more {
            margin-top: 5vw; } }

.ttl03 {
  font-size: 50px;
  margin-bottom: 35px; }
  @media (max-width: 760px) {
    .ttl03 {
      font-size: 6.6666666667vw !important;
      margin-bottom: 5vw; } }

.about {
  padding: 55px 0;
  background: #EFEFEF; }
  @media (max-width: 760px) {
    .about {
      padding: 4vw 0vw 5vw; } }
  .about .about_inner {
    max-width: 915px;
    margin: auto; }
    @media (max-width: 760px) {
      .about .about_inner {
        padding: 0 5vw; } }
  .about .about_link {
    margin: 58px 0 0;
    list-style: none;
    padding: 0;
    gap: 38px; }
    @media (max-width: 760px) {
      .about .about_link {
        flex-wrap: wrap;
        gap: 5vw;
        margin-top: 10vw; } }
  .about .about_link a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 220px;
    height: 60px;
    border: 2px solid #001940;
    transition: ease .2s;
    position: relative;
    padding: 10px; }
    @media (max-width: 760px) {
      .about .about_link a {
        width: calc(100vw - 10vw);
        height: 50px; } }
    .about .about_link a:before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      z-index: 1;
      background: #001940;
      width: 100%;
      height: 100%;
      transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
      transform: scale(0, 1);
      transform-origin: right top; }
    .about .about_link a span {
      position: relative;
      z-index: 9; }
    .about .about_link a:after {
      content: "";
      position: absolute;
      top: 0;
      right: 15px;
      bottom: 0;
      background: url(../img/common/icon_arrowS.svg) no-repeat;
      width: 12px;
      height: 9px;
      margin: auto;
      z-index: 1; }
    @media (min-width: 760px) {
      .about .about_link a:hover {
        color: #fff;
        opacity: 1; }
        .about .about_link a:hover:before {
          transform-origin: left top;
          transform: scale(1, 1); }
        .about .about_link a:hover:after {
          background: url(../img/common/icon_arrowS_white.svg) no-repeat; } }

.news {
  overflow: hidden;
  padding: 36px 0; }
  @media (max-width: 760px) {
    .news {
      padding: 4vw 0vw 5vw; } }
  .news .slider_news {
    padding: 0;
    gap: 29px;
    list-style: none;
    margin-bottom: 30px; }
    @media screen and (min-width: 761px) {
      .news .slider_news {
        display: flex;
        width: 100vw; }
        .news .slider_news li {
          width: 350px !important; } }
    @media screen and (max-width: 760px) {
      .news .slider_news {
        margin-bottom: 6vw;
        position: relative; }
        .news .slider_news:before {
          content: "";
          position: absolute;
          top: 0px;
          left: 0;
          right: 0;
          width: 20vw;
          height: 6px;
          background: #001940;
          margin: auto;
          z-index: 1; }
        .news .slider_news li + li a {
          border-top: none; } }
    .news .slider_news a {
      border: 1px solid #001940;
      display: block;
      padding: 33px 25px;
      text-decoration: none;
      color: inherit;
      position: relative;
      transition: .5s; }
      @media screen and (min-width: 761px) {
        .news .slider_news a {
          width: 350px;
          height: 200px;
          line-height: 1.7; } }
      @media screen and (max-width: 760px) {
        .news .slider_news a {
          padding: 17px 0px 17px;
          border-left: none;
          border-right: none;
          border-color: #919191;
          font-size: 3.4666666667vw !important; } }
      @media screen and (min-width: 761px) {
        .news .slider_news a:before {
          content: "";
          position: absolute;
          width: 100px;
          height: 9px;
          top: 0;
          left: 0;
          right: 0;
          margin: auto;
          background: #001940; }
        .news .slider_news a:after {
          content: "";
          position: absolute;
          top: 0;
          left: 0;
          bottom: 0;
          width: 0;
          background: #001940;
          z-index: -1;
          transition: .5s; }
        .news .slider_news a:hover {
          color: white;
          opacity: 1; }
          .news .slider_news a:hover .cate, .news .slider_news a:hover .date {
            color: white;
            border-color: white; }
        .news .slider_news a:hover:after {
          width: 100%; } }
      .news .slider_news a .cate {
        display: inline-block;
        border: 1px solid;
        padding: 0px 10px;
        margin: 0 8px 5px 0;
        transition: .5s;
        z-index: 1; }
        @media screen and (max-width: 760px) {
          .news .slider_news a .cate {
            margin-bottom: 3vw;
            padding: 0.6vw 1vw;
            line-height: 1; } }
    .news .slider_news .date {
      display: block;
      transition: .5s; }
      @media screen and (max-width: 760px) {
        .news .slider_news .date {
          margin-bottom: 0.5vw; } }
    .news .slider_news .title {
      display: block;
      margin-top: 15px;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 3;
      overflow: hidden; }
    .news .slider_news .slick-track li {
      margin-right: 25px; }
    .news .slider_news .slick-prev {
      display: none !important; }
    .news .slider_news .slick-next {
      left: -93px;
      bottom: 0;
      margin: auto;
      width: 70px;
      height: 70px;
      border-radius: 50%;
      font-size: 0;
      border: none;
      background: #001940;
      transition: .5s;
      position: absolute; }
      .news .slider_news .slick-next:before {
        content: "";
        width: 23px;
        height: 9px;
        position: absolute;
        background: url(../img/common/arrow_slide.svg) no-repeat;
        left: -16px;
        bottom: 29px;
        transition: .3s; }
      .news .slider_news .slick-next:after {
        content: "Slide";
        font-family: 'Poppins', sans-serif;
        font-size: 17px;
        color: white;
        transition: .3s;
        position: relative; }
      .news .slider_news .slick-next .circle__arc {
        left: 0px;
        right: 0;
        bottom: 0;
        margin: auto;
        position: absolute;
        top: 0px;
        transform: scaleX(-1) rotate(-90deg);
        transform-origin: center;
        z-index: 1; }
      .news .slider_news .slick-next .circle__arc circle {
        stroke: #001940;
        stroke-dasharray: 560px;
        stroke-dashoffset: 560px;
        transition: 0.75s 0.2s;
        r: 34px; }
      @media (min-width: 760px) {
        .news .slider_news .slick-next:hover {
          background: white; }
          .news .slider_news .slick-next:hover:before {
            background: url(../img/common/arrow_slide2.svg) no-repeat;
            left: -21px; }
          .news .slider_news .slick-next:hover:after {
            left: -5px;
            color: #001940; }
          .news .slider_news .slick-next:hover .circle__arc {
            transform: rotate(-90deg); }
          .news .slider_news .slick-next:hover .circle__arc circle {
            stroke-dashoffset: 0px; } }

.txtlink_arrow {
  text-align: right; }
  .txtlink_arrow a {
    padding: 0 37px 2px 0;
    text-decoration: none;
    letter-spacing: 0;
    color: #001940;
    position: relative;
    display: inline-block; }
    @media screen and (max-width: 760px) {
      .txtlink_arrow a {
        font-size: 3.4666666667vw !important; } }
    .txtlink_arrow a:after {
      content: "";
      position: absolute;
      bottom: -1px;
      width: 100%;
      left: 0;
      height: 1px;
      transition: .3s ease;
      background: #001940; }
    @media (min-width: 760px) {
      .txtlink_arrow a:hover:after {
        right: 0;
        left: auto;
        width: 0; } }
  .txtlink_arrow img {
    right: 0;
    bottom: 0;
    left: inherit;
    margin: auto;
    width: 20px;
    height: 12px;
    position: absolute;
    top: 0; }

.footer .contact {
  background: #EFEFEF;
  padding: 20px 0; }
  .footer .contact .contact_box {
    padding: 32px;
    color: white;
    margin-bottom: 24px;
    background: #001940; }
    @media (max-width: 760px) {
      .footer .contact .contact_box {
        padding: 5vw;
        font-size: 2.6666666667vw !important; } }
    .footer .contact .contact_box dt {
      font-size: 30px;
      font-weight: 700;
      letter-spacing: 0;
      margin-bottom: 20px; }
      @media (max-width: 760px) {
        .footer .contact .contact_box dt {
          font-size: 4vw !important; } }
    .footer .contact .contact_box .contact_box_list {
      margin: 0;
      padding: 0;
      list-style: none;
      gap: 78px; }
      @media (max-width: 760px) {
        .footer .contact .contact_box .contact_box_list {
          gap: 5vw; } }
      .footer .contact .contact_box .contact_box_list a {
        max-width: 450px;
        width: 100%;
        display: flex;
        justify-content: center;
        align-content: center;
        flex-wrap: wrap;
        padding: 22px 10px 10px;
        font-size: 15px;
        flex-wrap: 500; }
        @media (max-width: 760px) {
          .footer .contact .contact_box .contact_box_list a {
            font-size: 4vw !important;
            padding: 10px; } }
        .footer .contact .contact_box .contact_box_list a .web {
          display: flex;
          align-items: center;
          font-size: 30px;
          line-height: 1.5;
          gap: 20px; }
          @media (max-width: 760px) {
            .footer .contact .contact_box .contact_box_list a .web {
              font-size: 5.3333333333vw !important;
              gap: 3vw; } }
          .footer .contact .contact_box .contact_box_list a .web img {
            width: 50px; }
            @media (max-width: 760px) {
              .footer .contact .contact_box .contact_box_list a .web img {
                width: 7vw; } }
      .footer .contact .contact_box .contact_box_list .num {
        display: flex;
        gap: 7px;
        line-height: 1;
        font-size: 40px;
        align-items: center; }
        @media (max-width: 760px) {
          .footer .contact .contact_box .contact_box_list .num {
            font-size: 6.6666666667vw !important;
            align-items: center;
            margin-bottom: 2vw;
            gap: 1vw;
            line-height: 1; }
            .footer .contact .contact_box .contact_box_list .num img {
              width: 7vw; } }
      .footer .contact .contact_box .contact_box_list .btn_document a {
        color: #333333;
        background: white; }
      .footer .contact .contact_box .contact_box_list .btn_contact a {
        background: #C40000; }
  .footer .contact .office {
    margin: 0 0 10px;
    padding: 0;
    list-style: none;
    display: flex;
    gap: 10px;
    justify-content: space-between;
    font-size: 30px;
    letter-spacing: 0.07em;
    text-align: center; }
    @media (max-width: 760px) {
      .footer .contact .office {
        font-size: 4vw !important; } }
    .footer .contact .office li {
      width: 100%; }
      @media (min-width: 760px) {
        .footer .contact .office li {
          max-width: 594px; } }
      .footer .contact .office li a {
        border: 1px solid #001940;
        display: block; }
      .footer .contact .office li dt {
        border: 1px solid #001940;
        height: 50px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #001940;
        margin-bottom: 11px;
        background: #001940;
        color: #fff; }
        @media (max-width: 760px) {
          .footer .contact .office li dt {
            font-size: 4vw !important;
            height: auto; } }
  .footer .contact .office_after {
    gap: 10px;
    padding: 0 10px; }
    @media (min-width: 760px) {
      .footer .contact .office_after {
        border: 1px solid #001940; } }
  @media (max-width: 760px) {
    .footer .contact .time, .footer .contact .day {
      font-size: 4vw !important;
      line-height: 1.4; } }
.footer .sitemap {
  font-size: 12px;
  padding: 61px;
  color: #fff;
  background: #001940; }
  @media (max-width: 760px) {
    .footer .sitemap {
      padding: 4vw;
      text-align: center; }
      .footer .sitemap a {
        display: flex;
        justify-content: center; } }
  .footer .sitemap svg {
    fill: #fff; }
  .footer .sitemap > * {
    max-width: 1097px; }
    .footer .sitemap > * ul {
      margin: 0;
      padding: 0;
      list-style: none; }
.footer .sitemap_list01 {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid;
  margin-bottom: 46px; }
  @media (max-width: 760px) {
    .footer .sitemap_list01 {
      display: none; } }
  .footer .sitemap_list01 ul {
    display: flex; }
  .footer .sitemap_list01 dd:not(.sns) li {
    padding: 0 35px;
    position: relative; }
    .footer .sitemap_list01 dd:not(.sns) li + li:before {
      content: "";
      border-left: 1px solid;
      position: absolute;
      top: 6px;
      left: 0;
      bottom: 6px; }
.footer .sitemap_list02 {
  display: flex;
  justify-content: space-between; }
  @media (max-width: 760px) {
    .footer .sitemap_list02 {
      display: none; } }
  .footer .sitemap_list02 dl {
    width: 217px; }
    .footer .sitemap_list02 dl dt a {
      display: flex;
      align-items: center;
      width: 100%;
      height: 33px;
      border: 1px solid #fff;
      transition: ease .2s;
      position: relative;
      padding: 10px 10px 10px 20px;
      margin-bottom: 18px;
      z-index: 0; }
      .footer .sitemap_list02 dl dt a:before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1;
        background: #fff;
        width: 100%;
        height: 100%;
        transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
        transform: scale(0, 1);
        transform-origin: right top; }
      .footer .sitemap_list02 dl dt a span {
        position: relative;
        z-index: 9; }
      .footer .sitemap_list02 dl dt a:after {
        content: "";
        position: absolute;
        top: 0;
        right: 15px;
        bottom: 0;
        width: 7px;
        height: 7px;
        border: 1px solid;
        border-left: none;
        border-top: none;
        transform: rotate(-45deg);
        margin: auto; }
      @media (min-width: 760px) {
        .footer .sitemap_list02 dl dt a:hover {
          color: #001940;
          opacity: 1; }
          .footer .sitemap_list02 dl dt a:hover:before {
            transform-origin: left top;
            transform: scale(1, 1); }
          .footer .sitemap_list02 dl dt a:hover:after {
            border-color: #001940;
            z-index: 1; } }
    .footer .sitemap_list02 dl dd li {
      margin-bottom: 3px; }
      .footer .sitemap_list02 dl dd li:before {
        content: "-";
        margin-left: 13px;
        margin-right: 4px; }
      .footer .sitemap_list02 dl dd li a {
        text-decoration: underline; }
.footer .copyright {
  text-align: right;
  font-size: 12px;
  padding: 8px 0;
  letter-spacing: 0; }
  @media (max-width: 760px) {
    .footer .copyright {
      font-size: 2.4vw !important;
      padding: 9px;
      text-align: center; } }
  .footer .copyright .inner {
    max-width: 1097px; }

.color_red {
  color: #C40000; }

.color_yellow {
  color: #F9E107; }

.color_blue {
  color: #0B3C88; }

.inner, .inner900 {
  max-width: 1200px;
  margin: auto; }
  @media (max-width: 760px) {
    .inner, .inner900 {
      padding: 0 5vw; } }

.inner900 {
  max-width: 900px; }

.is-target {
  opacity: 0;
  transition: .5s; }
  .is-target.active {
    opacity: 1; }

.is-right > * {
  transform: translateX(100vw);
  opacity: 0;
  transition: .5s; }

.is-left > * {
  transform: translateX(-100vw);
  opacity: 0;
  transition: .5s; }

.is-right.active > *,
.is-left.active > * {
  transform: translateX(0vw);
  opacity: 1; }

.is-bottom {
  transform: translateY(40px); }

.is-bottom.active {
  transform: translateY(0px); }

.is-hide {
  display: none; }

.mainvisual_under {
  position: relative;
  overflow: hidden;
  display: flex;
  justify-content: center;
  font-size: 60px;
  font-weight: 500;
  line-height: 1.5; }
  @media (max-width: 760px) {
    .mainvisual_under {
      margin-top: clamp(3.125rem, -0.717rem + 16.39vw, 6.25rem);
      font-size: 6.6666666667vw !important; }
      .mainvisual_under .sub {
        font-size: 3.3333333333vw !important;
        margin-top: 5vw; } }
  .mainvisual_under h1 {
    font-size: inherit;
    font-weight: inherit; }
  @media (min-width: 760px) {
    .mainvisual_under img, .mainvisual_under picture {
      width: 100%; } }
  .mainvisual_under > span {
    position: absolute;
    top: 90px;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-content: center;
    justify-content: center;
    flex-wrap: wrap;
    color: white; }
    @media (max-width: 760px) {
      .mainvisual_under > span {
        top: 00px; } }
  .mainvisual_under .mainvisual_under_top {
    width: 100%;
    line-height: 1.2; }
    .mainvisual_under .mainvisual_under_top span {
      width: 100%;
      display: block; }
    @media (max-width: 760px) {
      .mainvisual_under .mainvisual_under_top .mainvisual_under_ttl01 {
        font-size: 6.6666666667vw !important;
        margin-bottom: 2vw;
        letter-spacing: 0; } }
    .mainvisual_under .mainvisual_under_top .mainvisual_under_ttl02 {
      font-size: 100px;
      letter-spacing: .06em; }
      @media (max-width: 760px) {
        .mainvisual_under .mainvisual_under_top .mainvisual_under_ttl02 {
          font-size: 10.6666666667vw !important;
          margin-bottom: 2vw; } }
    .mainvisual_under .mainvisual_under_top .mainvisual_under_ttl03 {
      font-size: 30px;
      letter-spacing: .28em; }
      @media (max-width: 760px) {
        .mainvisual_under .mainvisual_under_top .mainvisual_under_ttl03 {
          font-size: 4vw !important; } }

.breadcrumbs {
  background: #EFEFEF;
  margin-bottom: 52px;
  font-size: 15px; }
  @media (max-width: 760px) {
    .breadcrumbs {
      font-size: 2vw !important;
      margin-bottom: 10vw; } }
  .single-works .breadcrumbs {
    margin-bottom: 150px; }
    @media (max-width: 760px) {
      .single-works .breadcrumbs {
        margin-bottom: 40px; } }
  .breadcrumbs ul {
    display: flex;
    letter-spacing: 0;
    list-style: none;
    margin: 0;
    padding: 10px 10px 10px 48px;
    height: 50px;
    align-items: center; }
    @media (max-width: 760px) {
      .breadcrumbs ul {
        padding: 5px 10px;
        height: auto;
        white-space: nowrap;
        overflow: auto; } }
    .breadcrumbs ul li + li:before {
      content: ">";
      margin: 0 10px; }
    .breadcrumbs ul li a {
      opacity: .2; }

.works_box {
  padding: 40px;
  background: #EFEFEF;
  margin-bottom: 80px; }
  @media (max-width: 760px) {
    .works_box {
      padding: 5vw;
      margin-bottom: 10vw; } }
  .works_box h3, .works_box dt {
    color: #000; }
  @media (max-width: 760px) {
    .works_box h3 {
      font-size: 5.3333333333vw !important; } }
  .works_box dl {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 66px;
    margin: 25px 0 0;
    align-items: center; }
    @media (max-width: 760px) {
      .works_box dl {
        gap: 0; } }
    .works_box dl dt {
      text-align: right;
      width: 14.2%;
      font-weight: 700; }
      @media (max-width: 760px) {
        .works_box dl dt {
          width: auto; } }
    .works_box dl dd {
      width: 79%; }
      @media (max-width: 760px) {
        .works_box dl dd {
          width: 100%;
          margin-bottom: 5vw; } }
      .works_box dl dd > * {
        display: flex;
        gap: 20px; }
        @media (max-width: 760px) {
          .works_box dl dd > * {
            flex-wrap: wrap;
            gap: 10px; } }
  .works_box label {
    border: 1px solid;
    background: white;
    padding: 3px 11px;
    letter-spacing: 0;
    cursor: pointer; }
    @media (max-width: 760px) {
      .works_box label {
        padding: 11px 11px; } }
    .works_box label:has(input:checked) {
      background: #011A30;
      color: white; }
    .works_box label input {
      display: none; }
  .works_box #reset {
    margin: auto;
    display: block;
    line-height: 1.5;
    background: white;
    border: 1px solid #011A30;
    cursor: pointer; }

.works_detailes_thum .slick-track {
  display: flex;
  width: 100% !important;
  flex-wrap: wrap;
  transform: translate3d(0px, 0px, 0px) !important;
  gap: 20px 2.5%; }
  .works_detailes_thum .slick-track:before, .works_detailes_thum .slick-track:after {
    display: none; }
  .works_detailes_thum .slick-track span {
    width: 18% !important;
    cursor: pointer;
    display: flex;
    justify-content: center;
    height: 125px;
    overflow: hidden; }
    @media (max-width: 760px) {
      .works_detailes_thum .slick-track span {
        height: 50px; } }
    .works_detailes_thum .slick-track span img {
      max-width: fit-content; }
      @media (max-width: 760px) {
        .works_detailes_thum .slick-track span img {
          max-width: 170%; } }
  .works_detailes_thum .slick-track .slick-active {
    opacity: 0.3;
    cursor: default; }

.works_detailes {
  max-width: 900px;
  margin: 0 auto 100px; }
  .works_detailes .cate {
    position: absolute;
    transform: translateY(-50%);
    background: #011A30;
    color: white;
    padding: 5px 10px;
    z-index: 1;
    font-size: 30px; }
    @media (max-width: 760px) {
      .works_detailes .cate {
        font-size: 4vw !important; } }
  .works_detailes .slick-slider {
    margin: 0 0 28px; }

.ttl_work {
  border-left: 3px solid #001940;
  padding-left: 30px;
  margin-bottom: 30px; }
  @media (max-width: 760px) {
    .ttl_work {
      padding-left: 20px;
      margin-bottom: 20px; } }

.under {
  padding: 0 0 100px; }
  #prefab .under {
    padding: 0; }
  @media (max-width: 760px) {
    .under {
      padding-bottom: 5vw; } }
  .under .btn_pl {
    list-style: none;
    margin: 66px 0;
    padding: 0;
    display: flex; }
    @media (max-width: 760px) {
      .under .btn_pl {
        margin-bottom: 5vw;
        gap: 20px; } }
    .under .btn_pl li {
      width: 280px; }
      @media (min-width: 760px) {
        #company .under .btn_pl li {
          width: 200px; } }
      @media (max-width: 760px) {
        .under .btn_pl li {
          width: 100%; } }
      .under .btn_pl li a {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 125px;
        position: relative;
        color: white;
        background: #001940;
        text-decoration: none; }
        @media (max-width: 760px) {
          .under .btn_pl li a {
            height: 65px;
            letter-spacing: 0;
            font-feature-settings: "palt"; } }
        .under .btn_pl li a:after {
          content: "";
          position: absolute;
          left: 0;
          right: 0;
          bottom: 5px;
          border: solid transparent;
          border-width: 8px;
          border-top-color: #fff;
          width: 0;
          height: 0;
          margin: auto; }
          @media (max-width: 760px) {
            .under .btn_pl li a:after {
              bottom: 2px; } }
    #general .under .btn_pl .btn_pl1 {
      background: url(../img/general/btn_bg_pl1.png) center/100%; }
    #general .under .btn_pl .btn_pl2 {
      background: url(../img/general/btn_bg_pl2.png) center/100%; }
    #general .under .btn_pl .btn_pl3 {
      background: url(../img/general/btn_bg_pl3.png) center/100%; }
  .under .work_list {
    list-style: none;
    padding: 0;
    margin: 50px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 80px 30px; }
    @media (max-width: 760px) {
      .under .work_list {
        gap: 8vw 4vw;
        margin-top: 8vw; } }
    .under .work_list li {
      width: 380px; }
      @media (max-width: 760px) {
        .under .work_list li {
          width: 47%; } }
      .under .work_list li a {
        color: inherit;
        text-decoration: none; }
        @media (max-width: 760px) {
          .under .work_list li a .img {
            height: auto; } }
      .under .work_list li:before {
        display: none; }
  .single .under .cate {
    display: inline-block;
    border: 1px solid #919191;
    padding: 0px 10px;
    margin: 0 8px 17px 0;
    transition: .5s; }
  .single .under .date {
    margin-right: 10px; }
  .single .under h1 {
    font-weight: 400;
    font-size: 26px;
    margin: 16px 0 70px;
    border-bottom: 1px solid;
    padding-bottom: 21px;
    margin-bottom: 6vw;
    line-height: inherit; }
    @media screen and (max-width: 760px) {
      .single .under h1 {
        font-size: 4.2666666667vw !important;
        padding: 5px 0 10px 15px; } }
  .single .under h2 {
    font-size: 26px;
    margin-bottom: 51px;
    line-height: inherit; }
    @media screen and (max-width: 760px) {
      .single .under h2 {
        font-size: 4.2666666667vw !important;
        margin-bottom: 8vw; } }
  .single .under h3 {
    font-size: 20px;
    border-bottom: 1px solid #707070;
    padding-bottom: 14px;
    margin-bottom: 55px;
    position: relative;
    line-height: inherit; }
    @media screen and (max-width: 760px) {
      .single .under h3 {
        font-size: 4.2666666667vw !important;
        margin-bottom: 10.5vw; } }
    .single .under h3:before {
      content: "";
      position: absolute;
      left: 0;
      bottom: -1px;
      width: 100px;
      border-bottom: 2px solid #AA0140; }
  .single .under h4 {
    font-size: inherit;
    padding-left: 12px;
    position: relative;
    margin-bottom: 40px;
    line-height: inherit; }
    .single .under h4:before {
      content: "";
      position: absolute;
      left: 0;
      bottom: 6px;
      top: 6px;
      border-left: 2px solid #AA0140; }
      @media screen and (max-width: 760px) {
        .single .under h4:before {
          bottom: 3px;
          top: 3px; } }
  .single .under p {
    line-height: 2.3;
    margin-bottom: 62px; }
    @media screen and (max-width: 760px) {
      .single .under p {
        margin-bottom: 10vw; } }
  .single .under ul {
    padding: 0;
    list-style: none; }
  .single .under li {
    margin-bottom: 16px;
    position: relative;
    padding-left: 11px; }
    .single .under li:before {
      content: "";
      position: absolute;
      top: 17px;
      left: 0;
      width: 7px;
      height: 7px;
      background: #AA0140;
      border-radius: 50%; }
      @media screen and (max-width: 760px) {
        .single .under li:before {
          top: 10px; } }

:where(.single .under) a:not([class]) {
  text-decoration: underline;
  color: #0046FF; }

.tbl01 {
  display: flex;
  flex-wrap: wrap;
  border-left: .5px solid #001940;
  border-top: .5px solid #001940;
  margin-bottom: 60px; }
  .tbl01 dt, .tbl01 dd {
    border-right: .5px solid #001940;
    border-bottom: .5px solid #001940;
    width: 25%;
    padding: 15px; }
    @media (max-width: 760px) {
      .tbl01 dt, .tbl01 dd {
        width: 50%; } }
  .tbl01 dt {
    background: #EFEFEF;
    font-weight: 700; }

.btn_term_list {
  margin: 0 0 82px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  list-style: none; }
  @media screen and (max-width: 760px) {
    .btn_term_list {
      gap: 11px 10px;
      overflow: scroll;
      white-space: nowrap;
      margin: 0 -5.5vw 16vw 0; } }
  @media screen and (min-width: 761px) {
    .btn_term_list li + li {
      margin-left: 10px; } }
  .btn_term_list a {
    display: block;
    text-decoration: none;
    padding: 7px 18px;
    background: #E0E0E0;
    border-radius: 30px;
    font-size: 14px;
    color: inherit; }
    @media screen and (max-width: 760px) {
      .btn_term_list a {
        font-size: 3.4666666667vw !important;
        padding: 3vw 3vw; } }

ul.post_list {
  margin: 0 0 80px;
  padding: 0;
  border-bottom: 1px solid #919191;
  list-style: none; }
  ul.post_list a {
    display: block;
    border-top: 1px solid #919191;
    padding: 35px 20px 31px 20px;
    text-decoration: none;
    color: inherit; }
  ul.post_list .title {
    width: 100%;
    display: block;
    font-size: 18px;
    margin-top: 19px; }

ul.post_list .cate {
  font-size: 14px;
  padding: 0 7px;
  line-height: 1.5;
  margin-bottom: 0;
  display: inline-block;
  border: 1px solid #919191;
  margin: 0 8px 0 0; }
  @media screen and (max-width: 760px) {
    ul.post_list .cate {
      font-size: 3.2vw !important; } }

ul.post_list .date {
  color: #919191;
  margin-right: 27px;
  font-size: 18px; }
  @media screen and (max-width: 760px) {
    ul.post_list .date {
      font-size: 3.7333333333vw !important; } }

ul.page-numbers {
  display: flex;
  justify-content: center;
  list-style: none; }
  @media screen and (max-width: 760px) {
    ul.page-numbers {
      gap: 15px; } }
  @media screen and (min-width: 761px) {
    ul.page-numbers li {
      margin-bottom: 15px; }
    ul.page-numbers li + li {
      margin-left: 15px; } }
  ul.page-numbers li > * {
    min-width: 35px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: white;
    padding: 8px; }
  ul.page-numbers a {
    background: #919191; }
  ul.page-numbers span.current {
    background: #011A30; }
  ul.page-numbers span.dots {
    color: inherit; }

.lineup .lineup_tab {
  margin: 0 0 -20px;
  padding: 0;
  list-style: none;
  cursor: pointer; }
  @media (max-width: 760px) {
    .lineup .lineup_tab {
      margin: 0 auto 10px;
      flex-wrap: wrap;
      justify-content: flex-start;
      gap: 10px;
      width: 95%; } }
  .lineup .lineup_tab li {
    width: 218px;
    height: 72px;
    border: 3px solid #001940;
    background: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 25px; }
    @media (max-width: 760px) {
      .lineup .lineup_tab li {
        width: 48.4%;
        font-size: 3.3333333333vw !important;
        height: 50px; } }
    .lineup .lineup_tab li.active {
      background: #001940;
      color: white; }
.lineup .flex_txt {
  max-width: 550px; }
  .lineup .flex_txt p {
    margin-bottom: 50px;
    min-height: 200px; }
    @media (max-width: 760px) {
      .lineup .flex_txt p {
        margin-bottom: 5vw;
        min-height: inherit; } }
.lineup .lineup_content {
  background: #001940;
  padding: 80px 0 60px;
  color: white; }
  @media (max-width: 760px) {
    .lineup .lineup_content {
      padding: 8vw 0 7vw; }
      .lineup .lineup_content .ttl03 {
        font-size: 9.3333333333vw !important; }
      .lineup .lineup_content .fs60 {
        font-size: 9.3333333333vw !important; } }

.panel {
  display: none; }
  .panel.active {
    display: block; }

.prefabricated {
  padding: 62px 0 85px; }
  @media (max-width: 760px) {
    .prefabricated {
      padding: 8vw 0 7vw; } }
  .prefabricated .bnr_prefabricated {
    position: relative;
    overflow: hidden;
    display: block; }
    .prefabricated .bnr_prefabricated span {
      position: absolute;
      inset: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      color: white;
      font-size: 32px;
      letter-spacing: 0; }
      @media (max-width: 760px) {
        .prefabricated .bnr_prefabricated span {
          font-size: 3.4666666667vw !important; } }
    .prefabricated .bnr_prefabricated img {
      transform: scale(1.2);
      filter: blur(0);
      transition: .3s ease-in-out; }
    @media (min-width: 760px) {
      .prefabricated .bnr_prefabricated:hover {
        opacity: 1; }
        .prefabricated .bnr_prefabricated:hover img {
          transform: scale(1);
          filter: blur(2px); } }

.advantage {
  color: white;
  padding: 50px 0;
  font-size: 25px;
  letter-spacing: 0;
  line-height: 1.4;
  background: url(../img/prefab/index/advantage_bg.png) #011940 bottom center; }
  @media (max-width: 760px) {
    .advantage {
      padding: 7vw 0;
      font-size: 4vw !important;
      line-height: inherit;
      background-position: bottom -30px right;
      background-size: cover; }
      .advantage p {
        text-align: left; }
        .advantage p br {
          display: none; } }
  .advantage .advantage_list {
    list-style: none;
    margin: 0;
    padding: 0;
    counter-reset: section; }
    .advantage .advantage_list a {
      text-decoration: none;
      color: white; }
    .advantage .advantage_list .ttl-point {
      background: #011A30;
      padding: 20px;
      margin: 0; }
      @media (min-width: 760px) {
        .advantage .advantage_list .ttl-point {
          gap: 100px; } }
      .advantage .advantage_list .ttl-point::before {
        display: none; }
      .advantage .advantage_list .ttl-point:after {
        content: "";
        position: absolute;
        top: 0;
        right: 10px;
        bottom: 0;
        margin: auto;
        background: url(../img/prefab/index/arrow_point.svg) no-repeat;
        width: 27px;
        height: 14px; }
      .advantage .advantage_list .ttl-point .num {
        font-size: 18px;
        white-space: nowrap; }
        @media (max-width: 760px) {
          .advantage .advantage_list .ttl-point .num {
            font-size: 2.4vw !important; } }
        .advantage .advantage_list .ttl-point .num:before {
          letter-spacing: 0.12em; }
        .advantage .advantage_list .ttl-point .num:after {
          left: 120%;
          font-size: 102px; }
          @media (max-width: 760px) {
            .advantage .advantage_list .ttl-point .num:after {
              font-size: 12.6666666667vw !important; } }

.ttl-point {
  font-size: 30px;
  text-align: left;
  min-height: 130px;
  position: relative;
  display: flex;
  align-items: center;
  padding: 20px 0px 16px 0;
  gap: 70px;
  letter-spacing: 0;
  border-bottom: 1px solid #707070;
  margin-bottom: 15px; }
  .ttl-point:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    border-bottom: 2px solid #001940;
    width: 22.3%; }
  @media (max-width: 760px) {
    .ttl-point {
      font-size: 4.6666666667vw !important;
      gap: 13vw;
      min-height: auto;
      line-height: 1.5; } }
  .ttl-point .num {
    font-size: 35px;
    position: relative;
    border-bottom: 1px solid;
    padding-bottom: 5px; }
    @media (max-width: 760px) {
      .ttl-point .num {
        font-size: 4.6666666667vw !important;
        padding-bottom: 0px; } }
    .ttl-point .num:before {
      content: "Point";
      letter-spacing: 0em; }
    .ttl-point .num:after {
      counter-increment: section;
      content: counter(section);
      position: absolute;
      top: 0;
      left: 103%;
      bottom: 0;
      font-size: 109px;
      font-family: 'Roboto', sans-serif;
      font-weight: 100;
      display: flex;
      align-items: center; }
      @media (max-width: 760px) {
        .ttl-point .num:after {
          font-size: 12.6666666667vw !important; } }

h3.ttl-point {
  line-height: 1.6; }

.ttl02-border {
  font-size: 40px;
  text-align: center;
  margin-bottom: 40px;
  padding-bottom: 30px;
  position: relative; }
  @media (max-width: 760px) {
    .ttl02-border {
      font-size: 5.3333333333vw !important;
      margin-bottom: 5vw;
      padding-bottom: 5vw; } }
  .ttl02-border:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    width: 115px;
    border-bottom: 2px solid #001940; }

.ttl02-blue {
  color: white;
  border-image-source: linear-gradient(#0B3C88, #0B3C88);
  border-image-slice: 0 fill;
  border-image-outset: 0 100vw 0 100vw;
  font-size: 40px;
  height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 100px;
  font-weight: 500;
  text-align: center;
  line-height: initial; }
  @media (max-width: 760px) {
    .ttl02-blue {
      padding: 4vw 0;
      font-size: 6.6666666667vw !important;
      height: auto;
      margin-bottom: 5vw; } }
  @media (min-width: 760px) {
    #company .ttl02-blue {
      height: 200px; } }
  .ttl02-blue .Poppins {
    display: block;
    width: 100%;
    position: relative;
    line-height: 1; }
    @media (max-width: 760px) {
      .ttl02-blue .Poppins {
        font-size: 8vw !important;
        padding-bottom: 4vw;
        margin-bottom: 3vw; } }
    .ttl02-blue .Poppins:after {
      content: "";
      position: absolute;
      bottom: -25px;
      left: 0;
      right: 0;
      margin: auto;
      width: 115px;
      border-bottom: 2px solid white; }
      @media (max-width: 760px) {
        .ttl02-blue .Poppins:after {
          bottom: 0vw;
          width: 14vw; } }
  @media (max-width: 760px) {
    .ttl02-blue .jp {
      font-size: 2.6666666667vw !important; } }

.prefab_other {
  padding: 45px 0;
  background: #001940;
  color: white; }
  @media (max-width: 760px) {
    .prefab_other {
      padding: 5vw 0; } }
  .prefab_other .prefab_other_list {
    list-style: none;
    margin: 0;
    padding: 0; }
    @media (min-width: 760px) {
      .prefab_other .prefab_other_list li:not(.lease) {
        width: 50%; } }
  .prefab_other a {
    overflow: hidden;
    display: block;
    position: relative; }
    .prefab_other a .txt {
      position: absolute;
      inset: 0;
      padding: 10px;
      text-align: center;
      font-weight: 400;
      display: flex;
      align-content: center;
      flex-wrap: wrap;
      justify-content: center; }
      .prefab_other a .txt h2 {
        margin-bottom: 35px; }
        @media (max-width: 760px) {
          .prefab_other a .txt h2 {
            margin-bottom: 3vw; }
            .prefab_other a .txt h2 .fs70, .prefab_other a .txt h2 .fs50 {
              font-size: 8vw !important; }
            .prefab_other a .txt h2 .fs30, .prefab_other a .txt h2 .fs20 {
              font-size: 2.6666666667vw !important; } }
      .prefab_other a .txt span {
        display: block;
        width: 100%; }
      .prefab_other a .txt .Poppins {
        font-style: italic; }
      .prefab_other a .txt p {
        letter-spacing: 0;
        line-height: 1.5;
        width: 100%; }
        @media (max-width: 760px) {
          .prefab_other a .txt p.fs30, .prefab_other a .txt p.fs23 {
            font-size: 2.6666666667vw !important; } }
    .prefab_other a img {
      transform: scale(1.2);
      filter: blur(0);
      transition: .3s ease-in-out; }
    @media (min-width: 760px) {
      .prefab_other a:hover {
        opacity: 1; }
        .prefab_other a:hover img {
          transform: scale(1);
          filter: blur(2px); } }

p:not([class]) {
  margin-bottom: 30px; }

.what {
  line-height: 1.5;
  padding-bottom: 25px; }

.price {
  counter-reset: section;
  line-height: 1.83; }
  .price .flex_txt {
    max-width: 530px;
    margin-bottom: 60px; }
    @media (max-width: 760px) {
      .price .flex_txt {
        margin-bottom: 0; } }

.onestop {
  counter-reset: section;
  line-height: 1.83;
  margin-bottom: 100px; }
  @media (max-width: 760px) {
    .onestop {
      margin-bottom: 5vw; } }
  .onestop .flex_txt {
    max-width: 530px; }
  @media (max-width: 760px) {
    .onestop h3 {
      font-size: 4.6666666667vw !important;
      line-height: initial;
      margin-bottom: 5vw; } }

.performance {
  counter-reset: section;
  line-height: 1.83; }
  .performance .flex_txt {
    max-width: 530px; }

.list_border {
  list-style: none;
  margin: 0;
  border: 1px solid;
  padding: 9px 20px;
  letter-spacing: 0;
  background: white;
  font-feature-settings: "palt"; }

.result_box {
  text-align: center;
  color: white;
  font-size: 50px;
  background: #001940;
  padding: 19.3px;
  margin-top: 100px; }
  @media (max-width: 760px) {
    .result_box {
      font-size: 6.6666666667vw !important;
      margin-top: 5vw; } }

.list01 {
  list-style: none;
  margin: 0;
  padding: 0; }
  .list01 li {
    text-indent: -1.1em;
    padding-left: 1.1em; }
    .list01 li:before {
      content: "■ ";
      color: #0B3C88; }
    .list01 li + li {
      margin-top: 10px; }

.box_gray {
  background: #EFEFEF;
  padding: 50px;
  margin: 50px 0 80px; }
  @media (max-width: 760px) {
    .box_gray {
      padding: 5vw;
      margin: 5vw 0 8vw;
      font-size: 4vw !important; } }

.box3 {
  width: 30%;
  background: white;
  padding: 30px;
  letter-spacing: 0; }
  @media (max-width: 760px) {
    .box3 {
      width: 100%;
      padding: 5vw; } }
  @media screen and (max-width: 760px) {
    .box3 .fs25 {
      font-size: 4vw !important; }
      #lease .box3 .fs25 {
        font-size: 4.6666666667vw !important; } }

.qa_prefab {
  padding-bottom: 50px; }
  .qa_prefab:last-child {
    padding-bottom: 0; }
  .qa_prefab .qa_prefab_list dl {
    display: flex;
    background: white;
    padding: 20px;
    width: 100%;
    max-width: 1000px;
    margin: auto;
    justify-content: space-around;
    line-height: 1.7; }
    @media (max-width: 760px) {
      .qa_prefab .qa_prefab_list dl {
        flex-wrap: wrap; }
        .qa_prefab .qa_prefab_list dl dd {
          font-size: 2.6666666667vw !important; } }
    @media (min-width: 760px) {
      .qa_prefab .qa_prefab_list dl dt, .qa_prefab .qa_prefab_list dl dd {
        width: 45%; } }
    .qa_prefab .qa_prefab_list dl dt {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 30px; }
      @media (max-width: 760px) {
        .qa_prefab .qa_prefab_list dl dt {
          font-size: 4vw !important;
          width: 100%;
          margin-bottom: 5vw; } }
      .qa_prefab .qa_prefab_list dl dt:before, .qa_prefab .qa_prefab_list dl dt:after {
        content: "";
        position: absolute;
        background: url(../img/prefab/common/icon_qa.svg) no-repeat;
        width: 27px;
        height: 24px; }
      .qa_prefab .qa_prefab_list dl dt:before {
        top: 0;
        left: 0; }
      .qa_prefab .qa_prefab_list dl dt:after {
        right: 0;
        bottom: 0;
        transform: rotate(180deg); }

.works_prefab,
.charm_point {
  line-height: 1.5;
  padding-bottom: 80px; }
  .works_prefab:last-child,
  .charm_point:last-child {
    padding-bottom: 0; }
  .works_prefab .ttl03_works,
  .charm_point .ttl03_works {
    font-size: 40px;
    position: relative;
    padding: 0 0 30px 29px;
    border-bottom: 1px solid #001940;
    margin-bottom: 40px; }
    @media (max-width: 760px) {
      .works_prefab .ttl03_works,
      .charm_point .ttl03_works {
        font-size: 5.3333333333vw !important;
        padding: 0 0 20px 20px;
        margin-bottom: 20px; } }
    .works_prefab .ttl03_works:before,
    .charm_point .ttl03_works:before {
      content: "";
      position: absolute;
      top: 6px;
      left: 0;
      bottom: 26px;
      border-left: 3px solid #001940; }
      @media (max-width: 760px) {
        .works_prefab .ttl03_works:before,
        .charm_point .ttl03_works:before {
          top: 3px;
          bottom: 21px; } }
  .works_prefab .flex_img,
  .charm_point .flex_img {
    min-width: 50%; }
  .works_prefab .flex_txt,
  .charm_point .flex_txt {
    max-width: 570px; }
  .works_prefab .ttl04_works,
  .charm_point .ttl04_works {
    font-size: 35px;
    padding: 0 0 0 20px;
    margin-bottom: 15px;
    position: relative; }
    @media (max-width: 760px) {
      .works_prefab .ttl04_works,
      .charm_point .ttl04_works {
        font-size: 5.3333333333vw !important;
        padding: 0 0 0 4vw;
        margin-bottom: 5vw; } }
    .works_prefab .ttl04_works:before,
    .charm_point .ttl04_works:before {
      content: "";
      position: absolute;
      top: 5px;
      left: 0;
      bottom: 1px;
      border-left: 3px solid #001940; }
      @media (max-width: 760px) {
        .works_prefab .ttl04_works:before,
        .charm_point .ttl04_works:before {
          top: 0.5vw;
          bottom: 0.1vw; } }
  .works_prefab .ttl05_works,
  .charm_point .ttl05_works {
    font-size: 30px;
    letter-spacing: 0;
    font-feature-settings: "palt";
    margin: 0 0 15px; }
    @media (max-width: 760px) {
      .works_prefab .ttl05_works,
      .charm_point .ttl05_works {
        font-size: 4.6666666667vw !important; } }
  .works_prefab .works_prefab_img,
  .charm_point .works_prefab_img {
    list-style: none;
    margin: 0 0 90px;
    padding: 0; }
    @media (max-width: 760px) {
      .works_prefab .works_prefab_img,
      .charm_point .works_prefab_img {
        flex-wrap: wrap;
        margin-bottom: 50px; } }

.reference_price {
  counter-reset: section;
  line-height: 1.83; }
  .reference_price .flex_txt {
    max-width: 530px;
    margin-bottom: 60px; }
    @media (max-width: 760px) {
      .reference_price .flex_txt {
        margin-bottom: 8vw; } }

.ttl03-02 {
  font-size: 26px;
  font-weight: 700;
  margin-bottom: 28px; }
  @media (max-width: 760px) {
    .ttl03-02 {
      font-size: 4.6666666667vw !important;
      line-height: initial; } }

.box_faq {
  margin-bottom: 20px;
  border-radius: 10px;
  box-shadow: 0 3px 6px #00000029; }
  .box_faq dt {
    position: relative;
    padding: 16px 60px 15px 112px;
    font-weight: 700;
    border-radius: 10px;
    color: white;
    cursor: pointer;
    background: #001940; }
    @media (max-width: 760px) {
      .box_faq dt {
        padding: 16px 30px 15px 16vw; } }
    .box_faq dt:before, .box_faq dt:after {
      content: "";
      position: absolute;
      top: 0;
      right: 20px;
      bottom: 0;
      width: 25px;
      height: 4px;
      background: white;
      margin: auto;
      transition: .3s; }
      @media (max-width: 760px) {
        .box_faq dt:before, .box_faq dt:after {
          right: 10px;
          width: 15px;
          height: 2px; } }
    .box_faq dt:after {
      transform: rotate(90deg); }
    .box_faq dt.active:before, .box_faq dt.active:after {
      transform: rotate(360deg); }
  .box_faq span {
    position: absolute;
    top: 13px;
    left: 20px;
    font-size: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: #fff;
    color: #001940;
    font-family: Arial; }
    @media (max-width: 760px) {
      .box_faq span {
        width: 10vw;
        height: 10vw;
        left: 10px; } }
  .box_faq dd {
    position: relative;
    padding: 22px 60px 30px 112px;
    font-size: 16px;
    display: none; }
    @media (max-width: 760px) {
      .box_faq dd {
        font-size: 3.3333333333vw !important;
        padding: 15px 15px 15px 16vw; } }
    .box_faq dd span {
      background: #001940;
      color: #fff; }

#company .ttl02_company {
  font-size: 30px;
  line-height: initial;
  letter-spacing: 0;
  margin-bottom: 25px; }
@media (min-width: 760px) {
  #company .massage_img {
    min-width: 400px; } }
#company .massage_txt {
  letter-spacing: 0.05em; }
  @media (max-width: 760px) {
    #company .massage_txt {
      font-size: 3.3333333333vw !important; } }
#company .overview {
  margin: 100px 0; }
  @media (max-width: 760px) {
    #company .overview {
      margin: 9vw 0; } }
  #company .overview .box_history dt {
    position: relative;
    padding: 28px 60px 28px 35px;
    color: white;
    cursor: pointer;
    background: #001940;
    font-size: 22px; }
    @media (max-width: 760px) {
      #company .overview .box_history dt {
        padding: 16px 30px 15px 15px;
        font-size: 4vw !important; } }
    #company .overview .box_history dt:before, #company .overview .box_history dt:after {
      content: "";
      position: absolute;
      top: 0;
      right: 20px;
      bottom: 0;
      width: 25px;
      height: 4px;
      background: white;
      margin: auto;
      transition: .3s; }
      @media (max-width: 760px) {
        #company .overview .box_history dt:before, #company .overview .box_history dt:after {
          right: 10px;
          width: 15px;
          height: 2px; } }
    #company .overview .box_history dt:after {
      transform: rotate(90deg); }
    #company .overview .box_history dt.active:before, #company .overview .box_history dt.active:after {
      transform: rotate(360deg); }
  #company .overview .box_history dd {
    display: none; }
#company .ttl03_company {
  font-size: 22px;
  border-bottom: 1px solid #001940;
  padding-bottom: 10px;
  font-weight: 500;
  margin-bottom: 30px; }
  @media (max-width: 760px) {
    #company .ttl03_company {
      font-size: 4vw !important; } }
@media (max-width: 760px) {
  #company .map iframe {
    height: 200px; } }

.tbl02 {
  border-top: 1px solid #001940;
  border-left: 1px solid #001940;
  border-collapse: collapse;
  margin-bottom: 55px;
  font-size: 16px;
  width: 100%; }
  @media (max-width: 760px) {
    .tbl02 {
      margin-bottom: 5vw;
      font-size: 2.6666666667vw !important; } }
  .tbl02 thead th {
    background: #001940;
    color: white;
    border-right: 1px solid #fff;
    text-align: center; }
  .tbl02 th, .tbl02 td {
    border-right: 1px solid #001940;
    border-bottom: 1px solid #001940;
    padding: 19px; }
    @media (max-width: 760px) {
      .tbl02 th, .tbl02 td {
        padding: 10px; } }
  .tbl02 th {
    background: #F7F7F7;
    vertical-align: text-top;
    text-align: left;
    font-weight: 400;
    white-space: nowrap; }
  .tbl02 td {
    min-width: 50%; }
  .charm_point .tbl02 {
    font-size: 15px; }
    @media (min-width: 760px) {
      .charm_point .tbl02 {
        margin-bottom: 75px; } }
    @media (max-width: 760px) {
      .charm_point .tbl02 {
        margin-bottom: 9vw;
        font-size: 4vw !important; }
        .charm_point .tbl02 th, .charm_point .tbl02 td {
          white-space: break-spaces; } }
    .charm_point .tbl02 thead th,
    .charm_point .tbl02 th + td {
      text-align: center; }
    .charm_point .tbl02 th, .charm_point .tbl02 th + td {
      font-size: 21px;
      font-weight: 700; }
      @media (max-width: 760px) {
        .charm_point .tbl02 th, .charm_point .tbl02 th + td {
          font-size: 4vw !important;
          vertical-align: baseline; } }
    .charm_point .tbl02 td {
      background: white; }
    .charm_point .tbl02 th + td {
      width: 25%; }

.flow {
  margin: 77px auto;
  width: fit-content;
  list-style: none;
  padding: 0;
  position: relative;
  counter-reset: section; }
  @media (max-width: 760px) {
    .flow {
      margin: 77px auto 30vw; } }
  .flow:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 21%;
    border-left: 5px solid #001940; }
  .flow li + li {
    margin-top: 180px; }
    @media (max-width: 760px) {
      .flow li + li {
        margin-top: 140px; } }
  .flow li {
    position: relative; }
    .flow li .txt_area {
      position: absolute;
      padding: 13px 10px 13px 78px;
      width: 80%;
      top: 60%;
      line-height: 1.7;
      height: 200px;
      background: #fffffff2;
      border: 1px solid #D9D9D9;
      box-shadow: 0 3px 6px #00000029;
      height: auto;
      padding-left: 12vw; }
      @media (max-width: 760px) {
        .flow li .txt_area {
          width: 85%; } }
    .flow li .ttl {
      font-size: 40px;
      font-weight: 700; }
      @media (max-width: 760px) {
        .flow li .ttl {
          font-size: 5.3333333333vw !important; } }
      .flow li .ttl .num {
        position: relative; }
        .flow li .ttl .num:after {
          counter-increment: section;
          content: "0" counter(section);
          position: absolute;
          left: -60px;
          font-size: 50px;
          font-weight: 100;
          white-space: nowrap;
          transform: translateY(-12%); }
          @media (max-width: 760px) {
            .flow li .ttl .num:after {
              font-size: 6.6666666667vw !important;
              left: -9vw; } }

.wpcf7 .wpcf7-list-item {
  display: block;
  margin: 0; }
.wpcf7 dt p {
  margin: 0; }

.step {
  list-style: none;
  margin: 118px 0;
  display: flex;
  justify-content: center;
  gap: 165px;
  counter-reset: section;
  padding: 0; }
  @media (max-width: 760px) {
    .step {
      gap: 15vw;
      margin: 5vw 0; } }
  .step li {
    position: relative;
    text-align: center;
    color: #919191; }
    .step li.active {
      color: #001940; }
      .step li.active .num {
        background: #001940;
        color: white; }
  .step .num {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #F7F7F7;
    color: #001940;
    font-size: 23px; }
    .step .num:before {
      counter-increment: section;
      content: "0" counter(section); }
  .step li + li:before {
    content: "";
    position: absolute;
    top: 27px;
    left: -140px;
    border-bottom: 1px solid #001940;
    width: 100px; }
    @media (max-width: 760px) {
      .step li + li:before {
        left: -11vw;
        width: 8vw; } }

.form_list dt {
  display: flex;
  margin-bottom: 10px; }
.form_list input[type="radio"] {
  accent-color: #001940; }
.form_list input[type="text"], .form_list [type="email"], .form_list textarea {
  background: #EFEFEF;
  border: none;
  height: 60px;
  width: 100%;
  padding: 10px; }
.form_list textarea {
  height: 360px; }
  @media (max-width: 760px) {
    .form_list textarea {
      height: 50vw; } }
.form_list .required {
  font-size: 13px;
  background: #001940;
  color: white;
  padding: 2px 5px;
  margin-left: 10px; }

.submit, .prev {
  max-width: 350px;
  width: 100%;
  background: #001940;
  color: white;
  overflow: hidden;
  margin: auto;
  border: 2px solid #001940;
  transition: ease 0.2s;
  position: relative;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center; }
  .flex .submit, .flex .prev {
    margin: 0; }
  @media (max-width: 760px) {
    .submit, .prev {
      font-size: 4vw !important;
      height: 50px; } }
  .submit:before, .prev:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    background: #fff;
    width: 100%;
    height: 100%;
    transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transform: scale(0, 1);
    transform-origin: right top; }
  .submit label, .prev label {
    position: relative;
    z-index: 9; }
    .submit label input, .prev label input {
      cursor: pointer;
      background: none;
      border: none;
      color: inherit;
      font-size: 15px;
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center; }
      @media (max-width: 760px) {
        .submit label input, .prev label input {
          font-size: 4vw !important; } }
  .submit p, .prev p {
    margin: 0;
    width: 100%;
    height: 100%; }
  .submit:after, .prev:after {
    content: "";
    position: absolute;
    top: 0;
    right: 15px;
    bottom: 0;
    background: url(../img/common/icon_arrowL_white.svg) no-repeat;
    width: 21px;
    height: 5px;
    margin: auto;
    z-index: 1;
    background-size: 100%; }
    @media (max-width: 760px) {
      .submit:after, .prev:after {
        background-size: 100%;
        width: 7vw;
        height: 1.5vw; } }
  @media (min-width: 760px) {
    .submit:hover, .prev:hover {
      color: #001940;
      opacity: 1; }
      .submit:hover:before, .prev:hover:before {
        transform-origin: left top;
        transform: scale(1, 1); }
      .submit:hover:after, .prev:hover:after {
        background: url(../img/common/icon_arrowL.svg) no-repeat;
        background-size: 100%; } }
  .submit .wpcf7-spinner, .prev .wpcf7-spinner {
    position: absolute; }

.prev {
  background: white;
  color: #001940; }
  .prev:after {
    background-image: url(../img/common/icon_arrowL.svg); }
  @media (min-width: 760px) {
    .prev:hover {
      color: #fff; }
      .prev:hover:before {
        background: #001940; }
      .prev:hover:after {
        background-image: url(../img/common/icon_arrowL_white.svg); } }

.lease_step {
  background: #001940;
  color: white;
  padding: 10px;
  display: block;
  margin: -30px -30px 30px;
  font-size: 30px;
  font-weight: 100; }
  @media screen and (max-width: 760px) {
    .lease_step {
      font-size: 4vw !important;
      margin: -20px -20px 20px; } }

.temporary_list {
  list-style: none;
  margin: 0 0 100px;
  padding: 0;
  justify-content: center; }
  @media (min-width: 760px) {
    .temporary_list {
      gap: 100px; } }
  .temporary_list li {
    max-width: 450px; }
    .temporary_list li img {
      margin-bottom: 10px; }
    .temporary_list li dt {
      font-size: 30px; }
      @media screen and (max-width: 760px) {
        .temporary_list li dt {
          font-size: 4vw !important; } }
      .temporary_list li dt:first-letter {
        color: #C40000; }

@media (max-width: 760px) {
  #lease h3.fs40 {
    font-size: 5.3333333333vw !important;
    line-height: inherit; } }

#general .general_bg {
  color: white;
  padding: 50px 0;
  font-size: 25px;
  letter-spacing: 0;
  line-height: 1.4;
  background: url(../img/prefab/index/advantage_bg.png) #011940 bottom -15px center no-repeat;
  margin-bottom: 70px; }
  @media (max-width: 760px) {
    #general .general_bg {
      padding: 7vw 0;
      font-size: 4vw !important;
      line-height: inherit;
      background-position: bottom -30px right;
      background-size: cover; } }
  #general .general_bg .ttl02 {
    font-size: 70px; }
    @media (max-width: 760px) {
      #general .general_bg .ttl02 {
        font-size: 9.3333333333vw !important; } }
  #general .general_bg .inner {
    max-width: 1430px; }
  #general .general_bg .flex + .flex {
    margin-top: 0; }
#general .general_content .txt {
  background: #001940;
  border: 3px solid white;
  padding: 35px 60px; }
  @media (min-width: 760px) {
    #general .general_content .txt {
      max-width: 600px; } }
  @media (max-width: 760px) {
    #general .general_content .txt {
      padding: 7vw; } }
#general .general_content .img {
  max-width: 800px; }
@media (max-width: 760px) {
  #general .general_content {
    flex-wrap: wrap; } }

#prefabhouse .btn_prefabhouse_pl {
  background: #004098; }
  @media (max-width: 760px) {
    #prefabhouse .btn_prefabhouse_pl .inner {
      padding: 0; } }
  #prefabhouse .btn_prefabhouse_pl ul {
    display: flex;
    justify-content: center;
    color: white;
    list-style: none;
    margin: 0;
    padding: 0; }
    @media (max-width: 760px) {
      #prefabhouse .btn_prefabhouse_pl ul {
        flex-wrap: wrap; } }
    #prefabhouse .btn_prefabhouse_pl ul li {
      border-left: 1px solid; }
      #prefabhouse .btn_prefabhouse_pl ul li:last-child {
        border-right: 1px solid; }
      @media (max-width: 760px) {
        #prefabhouse .btn_prefabhouse_pl ul li {
          width: 33%;
          display: flex; }
          #prefabhouse .btn_prefabhouse_pl ul li:nth-child(3) {
            border-right: 1px solid; } }
    #prefabhouse .btn_prefabhouse_pl ul a {
      height: 80px;
      width: 180px;
      padding: 20px 0;
      position: relative;
      display: flex;
      justify-content: center;
      font-size: 16px; }
      @media (max-width: 760px) {
        #prefabhouse .btn_prefabhouse_pl ul a {
          width: 100%;
          height: auto;
          padding: 10px 10px 20px;
          border-bottom: 1px solid;
          text-align: center;
          align-items: center; } }
      #prefabhouse .btn_prefabhouse_pl ul a:after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 12px;
        margin: auto;
        rotate: 45deg;
        width: 10px;
        height: 10px;
        border: 2px solid;
        border-top: none;
        border-left: none; }
#prefabhouse .selected {
  color: #0B3C88;
  padding: 34px 0 144px;
  background: url(../img/prefabhouse/selected_bg.svg) bottom center repeat-x;
  line-height: 1.5; }
  @media (max-width: 760px) {
    #prefabhouse .selected {
      font-size: 4vw !important;
      padding-bottom: 20vw;
      background-size: auto 11%; } }
#prefabhouse .selected_ttl {
  margin-bottom: 45px;
  font-size: 60px; }
  @media (min-width: 1200px) {
    #prefabhouse .selected_ttl {
      white-space: nowrap; } }
  @media (max-width: 760px) {
    #prefabhouse .selected_ttl {
      line-height: inherit;
      margin-bottom: 5vw;
      font-size: 8vw !important; }
      #prefabhouse .selected_ttl .color_yellow {
        font-size: 10.6666666667vw !important; } }
@media (max-width: 760px) {
  #prefabhouse .what {
    font-size: 4vw !important; } }
#prefabhouse .what .what_ttl {
  min-height: 171px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  color: white;
  font-size: 60px;
  background: #001940;
  margin-bottom: 85px; }
  @media (max-width: 760px) {
    #prefabhouse .what .what_ttl {
      font-size: 8vw !important;
      flex-wrap: wrap;
      align-content: center;
      line-height: inherit; } }
  #prefabhouse .what .what_ttl:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    border: solid transparent;
    border-width: 30px 75px;
    border-top-color: #001940;
    width: 0;
    height: 0;
    margin: auto; }
@media (min-width: 760px) {
  #prefabhouse .what .flex > * {
    width: 49%; } }
@media (max-width: 760px) {
  #prefabhouse .what .flex > * {
    flex-wrap: wrap; } }
#prefabhouse .charm {
  color: white;
  padding: 55px 0 70px;
  background: url(../img/prefabhouse/charm_bg.svg) #0B3C88 bottom center repeat-x; }
  @media (max-width: 760px) {
    #prefabhouse .charm {
      background-size: auto 27%; } }
  #prefabhouse .charm .charm_ttl {
    line-height: initial;
    font-size: 60px;
    margin-bottom: 64px; }
    @media (max-width: 760px) {
      #prefabhouse .charm .charm_ttl {
        font-size: 8vw !important;
        margin-bottom: 8vw; }
        #prefabhouse .charm .charm_ttl .color_yellow {
          font-size: 10.6666666667vw !important; } }
  #prefabhouse .charm .charm_list {
    display: flex;
    flex-wrap: wrap;
    gap: 30px 39px;
    padding: 0;
    list-style: none; }
    #prefabhouse .charm .charm_list li {
      width: 48.3%; }
      @media (max-width: 760px) {
        #prefabhouse .charm .charm_list li {
          width: 100%; } }
      #prefabhouse .charm .charm_list li img {
        width: 100%; }
    #prefabhouse .charm .charm_list .txt {
      position: relative;
      min-height: 100px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 40px;
      background: #001940; }
      @media (max-width: 760px) {
        #prefabhouse .charm .charm_list .txt {
          font-size: 5.3333333333vw !important;
          min-height: auto;
          padding: 2vw; } }
      #prefabhouse .charm .charm_list .txt:after {
        content: "";
        position: absolute;
        top: 0;
        right: 19px;
        bottom: 0;
        margin: auto;
        border: solid transparent;
        border-left-color: white;
        border-width: 10px 0 10px 15px;
        width: 0;
        height: 0; }
#prefabhouse .charm_point {
  font-weight: 700;
  line-height: 1.5;
  padding: 0; }
  #prefabhouse .charm_point .charm_point_ttl {
    font-size: 60px;
    margin-bottom: 55px;
    color: white;
    display: flex;
    align-items: center;
    padding-bottom: 15px;
    background: #001940; }
    @media (min-width: 760px) {
      #prefabhouse .charm_point .charm_point_ttl {
        min-height: 180px; } }
    @media (max-width: 760px) {
      #prefabhouse .charm_point .charm_point_ttl {
        margin-bottom: 8vw;
        padding: 5vw 0;
        flex-wrap: wrap;
        font-size: 8vw !important;
        line-height: initial; }
        #prefabhouse .charm_point .charm_point_ttl .point {
          font-size: 4.6666666667vw !important; }
        #prefabhouse .charm_point .charm_point_ttl .num {
          font-size: 16vw !important; } }
    #prefabhouse .charm_point .charm_point_ttl .point {
      display: inline-flex;
      align-items: center;
      margin-right: 30px; }
      @media (max-width: 760px) {
        #prefabhouse .charm_point .charm_point_ttl .point {
          width: 100%;
          justify-content: center;
          margin: 0; } }
      #prefabhouse .charm_point .charm_point_ttl .point .num {
        font-style: italic;
        font-weight: 100;
        transform: translateY(4px); }
  #prefabhouse .charm_point .ttl_after {
    margin-bottom: 53px;
    letter-spacing: 0; }
    @media (max-width: 760px) {
      #prefabhouse .charm_point .ttl_after {
        font-size: 5.3333333333vw !important;
        margin-bottom: 5vw; }
        #prefabhouse .charm_point .ttl_after .color_blue {
          font-size: 6vw !important; } }
  #prefabhouse .charm_point .loan {
    border: 3px solid #0B3C88;
    border-radius: 10px;
    position: relative;
    padding: 40px 40px 60px;
    margin-bottom: 103px;
    background: #EFEFEF; }
    @media (max-width: 760px) {
      #prefabhouse .charm_point .loan {
        margin: 20vw 0 10vw;
        padding: 16vw 5vw 5vw; } }
    #prefabhouse .charm_point .loan .img {
      position: absolute;
      top: -70px;
      right: -10px; }
    #prefabhouse .charm_point .loan .txt {
      max-width: 912px;
      margin: auto; }
      @media (max-width: 760px) {
        #prefabhouse .charm_point .loan .txt .fs25 {
          font-size: 3.3333333333vw !important; }
        #prefabhouse .charm_point .loan .txt .fs30 {
          font-size: 4vw !important; }
        #prefabhouse .charm_point .loan .txt .fs35 {
          font-size: 4.6666666667vw !important; } }
    #prefabhouse .charm_point .loan .loan_price {
      margin-top: 16px;
      border: 3px solid #001940;
      border-radius: 10px;
      display: flex;
      background: #fff; }
      @media (max-width: 760px) {
        #prefabhouse .charm_point .loan .loan_price {
          flex-wrap: wrap; } }
      #prefabhouse .charm_point .loan .loan_price dt {
        background: #001940;
        width: 286px;
        display: flex;
        align-items: baseline;
        justify-content: center;
        font-size: 30px;
        color: white; }
        @media (max-width: 760px) {
          #prefabhouse .charm_point .loan .loan_price dt {
            width: 100%;
            font-size: 4vw !important; } }
        #prefabhouse .charm_point .loan .loan_price dt .num {
          font-size: 80px;
          letter-spacing: -3px;
          margin: 0 3px; }
          @media (max-width: 760px) {
            #prefabhouse .charm_point .loan .loan_price dt .num {
              font-size: 10.6666666667vw !important; } }
      #prefabhouse .charm_point .loan .loan_price dd {
        padding: 10px 30px 20px;
        line-height: 1.1; }
        @media (max-width: 760px) {
          #prefabhouse .charm_point .loan .loan_price dd {
            width: 100%;
            line-height: initial;
            text-align: center;
            font-size: 4vw !important; }
            #prefabhouse .charm_point .loan .loan_price dd .fs35 {
              font-size: 4.6666666667vw !important; }
            #prefabhouse .charm_point .loan .loan_price dd .fs60 {
              font-size: 8vw !important; } }
        #prefabhouse .charm_point .loan .loan_price dd .month {
          font-size: 30px;
          margin-right: 10px; }
          @media (max-width: 760px) {
            #prefabhouse .charm_point .loan .loan_price dd .month {
              font-size: 5.3333333333vw !important; } }
#prefabhouse .charm_point_answer {
  background: #01499D;
  overflow: auto; }
  #prefabhouse .charm_point_answer .charm_point_answer_ttl {
    color: white;
    position: relative;
    padding: 18px 0;
    margin-bottom: 80px; }
    @media (max-width: 760px) {
      #prefabhouse .charm_point_answer .charm_point_answer_ttl {
        font-size: 5.3333333333vw !important;
        margin-bottom: 8vw;
        padding: 5vw 0 10vw; } }
    #prefabhouse .charm_point_answer .charm_point_answer_ttl span {
      position: relative;
      z-index: 1; }
    #prefabhouse .charm_point_answer .charm_point_answer_ttl:before {
      content: "";
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      margin: auto;
      border: solid transparent;
      border-top-color: #001940;
      border-width: 135px 340px; }
      @media (max-width: 760px) {
        #prefabhouse .charm_point_answer .charm_point_answer_ttl:before {
          border-width: 22vw 45vw; } }
  @media (max-width: 760px) {
    #prefabhouse .charm_point_answer .column02 {
      gap: 5vw;
      margin-bottom: 5vw; } }
  #prefabhouse .charm_point_answer .column02 > * {
    width: 48.2%; }
    @media (max-width: 760px) {
      #prefabhouse .charm_point_answer .column02 > * {
        width: 100%; } }
  #prefabhouse .charm_point_answer dl {
    border-radius: 10px;
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start; }
    @media (max-width: 760px) {
      #prefabhouse .charm_point_answer dl {
        margin-bottom: 5vw; } }
    #prefabhouse .charm_point_answer dl dt {
      height: 80px;
      width: 100%;
      background: #001940;
      color: white;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 25px;
      letter-spacing: 0; }
      @media (max-width: 760px) {
        #prefabhouse .charm_point_answer dl dt {
          font-size: 4vw !important;
          padding: 5vw;
          height: auto; } }
    #prefabhouse .charm_point_answer dl dd {
      display: flex;
      flex-wrap: wrap;
      align-content: flex-start; }
      @media (min-width: 760px) {
        #prefabhouse .charm_point_answer dl dd {
          height: calc(100% - 80px); } }
      #prefabhouse .charm_point_answer dl dd .txt {
        padding: 28px 31px 22px;
        letter-spacing: 0.06em;
        line-height: 1.2;
        border: 3px solid;
        border-radius: 0 0 10px 10px;
        font-weight: 400;
        background: white; }
        @media (min-width: 760px) {
          #prefabhouse .charm_point_answer dl dd .txt {
            height: calc(100% - 334px); } }
        @media (max-width: 760px) {
          #prefabhouse .charm_point_answer dl dd .txt {
            padding: 5vw;
            line-height: inherit; } }
  #prefabhouse .charm_point_answer .charm_point_answer_content_lasttxt {
    font-size: 60px;
    color: white;
    text-align: center;
    margin: 88px 0 74px;
    letter-spacing: 0.017em; }
    @media (max-width: 760px) {
      #prefabhouse .charm_point_answer .charm_point_answer_content_lasttxt {
        font-size: 8vw !important;
        margin: 5vw 0; } }
  #prefabhouse .charm_point_answer .charm_point_answer_content_triangle {
    text-align: center;
    font-size: 60px;
    color: white;
    position: relative;
    min-height: 205px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom: 30px; }
    @media (max-width: 760px) {
      #prefabhouse .charm_point_answer .charm_point_answer_content_triangle {
        font-size: 8vw !important;
        min-height: auto;
        padding: 5.6vw 0 10vw;
        margin-bottom: 8vw; } }
    #prefabhouse .charm_point_answer .charm_point_answer_content_triangle:after {
      content: "";
      width: 0;
      height: 0;
      border: solid transparent;
      border-top-color: #001940;
      border-width: 203px 600px 0;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      margin: auto; }
      @media (max-width: 760px) {
        #prefabhouse .charm_point_answer .charm_point_answer_content_triangle:after {
          border-width: 28vw 44vw 0; } }
    #prefabhouse .charm_point_answer .charm_point_answer_content_triangle span {
      position: relative;
      z-index: 1; }
#prefabhouse .insurance {
  margin-top: 80px; }
  @media (max-width: 760px) {
    #prefabhouse .insurance {
      margin-top: 10vw;
      gap: 5vw; } }
  #prefabhouse .insurance .insurance_ttl {
    font-size: 40px;
    margin-bottom: 40px; }
    @media (max-width: 760px) {
      #prefabhouse .insurance .insurance_ttl {
        font-size: 5.3333333333vw !important;
        margin-bottom: 5vw; } }
  #prefabhouse .insurance .txt {
    max-width: 600px; }

@media (min-width: 760px) {
  .pc_none {
    display: none; }

  .flex_img.first {
    max-width: 27%;
    padding-top: 16px; }
    .flex_img.first img {
      max-width: initial; }

  .flex_txt {
    max-width: 50.2%;
    width: 100%; }
    .flex_txt.first {
      max-width: 70%; } }
@media (max-width: 760px) {
  .sp_none {
    display: none !important; }

  .sp_block {
    display: block; }

  img {
    margin: auto; }

  #sp-nav-toggle {
    display: block;
    position: relative;
    width: clamp(3.125rem, -0.717rem + 16.39vw, 6.25rem);
    height: clamp(3.125rem, -0.717rem + 16.39vw, 6.25rem);
    cursor: pointer;
    padding: 3vw 4vw;
    color: white;
    z-index: 10;
    overflow: hidden;
    background: #001940; }

  #sp-nav-toggle:after {
    content: "MENU";
    position: absolute;
    left: 0;
    right: 0;
    text-align: center;
    bottom: 8px;
    font-size: 1.8666666667vw !important; }

  #sp-nav-toggle.open:after {
    content: "CLOSE"; }

  #sp-nav-toggle div {
    position: relative;
    max-width: 30px;
    margin: auto; }

  #sp-nav-toggle span {
    display: block;
    position: absolute;
    width: 100%;
    border-bottom: solid 1px #ffffff;
    transition: .35s ease-in-out; }

  #sp-nav-toggle span:nth-child(1) {
    top: 0; }

  #sp-nav-toggle span:nth-child(2) {
    top: 1.4vw; }

  #sp-nav-toggle span:nth-child(3) {
    top: 3vw; }

  #sp-nav-toggle.open span:nth-child(1) {
    top: 1.5vw;
    transform: rotate(-45deg); }

  #sp-nav-toggle.open span:nth-child(2), #sp-nav-toggle.open span:nth-child(3) {
    top: 1.5vw;
    transform: rotate(45deg); }

  .sp_contact {
    margin-left: auto; }
    .sp_contact a {
      display: flex;
      align-items: center;
      gap: 5px;
      font-size: clamp(0.563rem, 0.025rem + 2.3vw, 1rem);
      padding: 9px 16px;
      height: 100%;
      position: relative;
      background: #C40000;
      letter-spacing: 0;
      color: white; }
      .sp_contact a:before {
        content: "";
        position: absolute;
        inset: 5px;
        border: 1px solid white; }
      .sp_contact a img {
        width: clamp(0.625rem, -0.528rem + 4.92vw, 1.563rem); } }
