@charset "UTF-8";
.container, .header-content {
  max-width: 1100px;
  margin: 0 auto; }

.section-ttlimg {
  max-width: 480px;
  margin: auto; }

ul li {
  list-style: none; }

* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

body {
  font-family: "YakuHanJP", "Noto Sans JP";
  line-height: 1.6;
  color: #555555; }

img {
  width: 100%;
  height: auto;
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content; }

.top-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  border-bottom: 2px solid #ae0707;
  background: #fff; }

.header-content {
  padding: 16px 16px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  @media (max-width: 768px) {
    .header-content {
      padding: 8px 16px;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; } }

.logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  max-width: 326px; }
  .logo-text {
    font-size: 1.3em;
    font-weight: bold;
    color: #555555;
    line-height: 0; }
    .logo-text a {
      line-height: 0; }
    .logo-text img {
      height: 38px;
      width: auto; }
      @media (max-width: 768px) {
        .logo-text img {
          height: 28px; } }

.header-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px; }

.nav-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 25px;
  list-style: none;
  margin: 0;
  padding: 0; }
  .nav-menu a {
    text-decoration: none;
    color: #555555;
    font-weight: 500;
    font-size: 0.95em;
    -webkit-transition: color 0.3s;
    transition: color 0.3s; }
    .nav-menu a:hover {
      color: #ed7500; }

.header-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px; }
  @media (max-width: 768px) {
    .header-buttons {
      display: none; } }

.header-btn {
  padding: 8px 24px;
  border-radius: 50px;
  text-decoration: none;
  font-size: 0.9em;
  font-weight: bold;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  line-height: 1em; }
  @media (max-width: 768px) {
    .header-btn {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; } }
  .header-btn .icon {
    margin-right: .5em; }
  .header-btn.green {
    background: #6db521;
    color: #fff; }
  .header-btn.red-l {
    border: 2px solid #ae0707;
    background: #fff;
    color: #ae0707; }
  .header-btn.orange {
    background: #ed7500;
    color: #fff; }
  .header-btn.navy {
    background: #445368;
    color: #fff; }
  .header-btn:hover {
    -webkit-transform: translateY(-1px);
            transform: translateY(-1px);
    -webkit-box-shadow: 0 3px 10px rgba(0, 0, 0, .2);
            box-shadow: 0 3px 10px rgba(0, 0, 0, .2); }

.hamburger {
  width: 30px;
  height: 30px;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
  padding: 5px; }
  .hamburger span {
    display: block;
    width: 20px;
    height: 2px;
    background: #555555;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease; }
  .hamburger.active span:nth-child(1) {
    -webkit-transform: rotate(45deg) translate(6px, 2px);
            transform: rotate(45deg) translate(6px, 2px); }
  .hamburger.active span:nth-child(2) {
    opacity: 0; }
  .hamburger.active span:nth-child(3) {
    -webkit-transform: rotate(-45deg) translate(7px, -2px);
            transform: rotate(-45deg) translate(7px, -2px); }

.mobile-menu {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  -webkit-box-shadow: 0 4px 6px rgba(0, 0, 0, .1);
          box-shadow: 0 4px 6px rgba(0, 0, 0, .1);
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.3s ease;
  transition: max-height 0.3s ease; }
  .mobile-menu.active {
    min-height: 100vh;
    overflow-y: scroll;
    background: #fff;
    padding-top: 90px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    z-index: -1; }
    @media (max-width: 768px) {
      .mobile-menu.active {
        padding-top: 70px; } }

.mobile-nav {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  max-width: 1100px; }
  .mobile-nav li {
    padding-left: 60%; }
    @media (max-width: 768px) {
      .mobile-nav li {
        padding-left: 0; } }
    .mobile-nav li:last-child {
      border-bottom: none; }
  .mobile-nav .koushiki a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .mobile-nav .koushiki a span {
      height: 21px;
      margin-right: .5em; }
      .mobile-nav .koushiki a span img {
        height: 100%;
        width: auto; }
  .mobile-nav a {
    display: block;
    padding: 16px 16px;
    text-decoration: none;
    color: #555555;
    border-bottom: 1px solid #eee;
    font-weight: 500;
    -webkit-transition: background-color 0.3s;
    transition: background-color 0.3s;
    font-size: 16px;
    text-align: left;
    line-height: 1em;
    position: relative; }
    .mobile-nav a::after {
      content: ">";
      margin-left: 1em;
      position: absolute;
      right: 16px;
      top: 50%;
      margin-top: -8px; }
    @media (max-width: 768px) {
      .mobile-nav a {
        font-size: 12px;
        padding: 16px 16px;
        text-align: left;
        background-color: #ed7500;
        color: #fff;
        border-top: 1px solid #ccc;
        border-bottom: 1px solid #ccc;
        margin-top: -1px; } }
    .mobile-nav a:hover {
      background-color: #f4efe4;
      color: #ed7500; }
  .mobile-nav .sub_menu a {
    padding: 16px 16px 16px 32px; }
    @media (max-width: 768px) {
      .mobile-nav .sub_menu a {
        padding: 12px 16px 12px 32px;
        background-color: #f4efe4;
        color: #666; } }

.mobile-buttons {
  padding: 16px 24px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  display: none;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin: 0 auto;
  max-width: 1100px;
  background: #fff; }
  @media (max-width: 768px) {
    .mobile-buttons {
      padding: 16px 8px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      gap: inherit; }
      .mobile-buttons a {
        width: 48%;
        margin: 1%;
        font-size: 12px; } }
  @media (max-width: 480px) {
    .mobile-buttons {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }
  .mobile-buttons .logo-btn {
    width: 70%;
    margin: auto; }
  .mobile-buttons .header-btn {
    text-align: center;
    padding: 14px; }

@media (max-width: 768px) {
  .mobile_menu_bnrlist {
    width: 95%;
    margin: auto; } }

.mobile_menu_bnrlist ul {
  display: grid;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  width: 100%;
  margin: 16px auto 0; }
  .mobile_menu_bnrlist ul li {
    padding: 0;
    border: none; }
    .mobile_menu_bnrlist ul li a {
      margin: 0;
      padding: 0;
      border: none;
      background: none; }
      .mobile_menu_bnrlist ul li a::before {
        content: none; }
      .mobile_menu_bnrlist ul li a::after {
        content: none; }

.cont_inner {
  max-width: 1100px;
  margin: 0 auto; }
  @media (max-width: 768px) {
    .cont_inner {
      width: 95%; } }

@media (max-width: 768px) {
  .pc_only {
    display: none !important; } }

.sp_only {
  display: none !important; }
  @media (max-width: 768px) {
    .sp_only {
      display: block !important; } }

.section-title {
  font-size: 32px;
  margin-bottom: 24px;
  text-align: center;
  font-weight: bold; }
  .section-title span {
    font-size: 32px;
    display: inline-block;
    color: #ed7500;
    font-weight: bold; }
    .section-title span.green {
      color: #6db521; }
  @media (max-width: 768px) {
    .section-title {
      font-size: 20px;
      margin-bottom: 16px; }
      .section-title span {
        font-size: 21px; } }

ul.att {
  margin-top: 32px; }
  ul.att li {
    position: relative;
    padding-left: 1.25em;
    font-size: 16px; }
    @media (max-width: 768px) {
      ul.att li {
        font-size: 11px; } }
    ul.att li::before {
      position: absolute;
      left: 0;
      content: "※"; }

p.att {
  position: relative;
  padding-left: 1.25em;
  font-size: 14px !important; }
  p.att::before {
    position: absolute;
    left: 0;
    content: "※"; }

.contact {
  text-align: center;
  padding-top: 0 !important; }
  .contact .cont_inner {
    background: #f4efe4;
    padding: 64px 64px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-radius: 8px; }
  .contact .contact-content {
    background: #fff;
    padding: 32px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-radius: 8px; }
  .contact p {
    font-size: 28px;
    color: #445368; }
  .contact-hours {
    font-size: 16px;
    color: #445368; }
  .contact .phone-number {
    font-size: 70px;
    color: #445368;
    letter-spacing: -2px;
    font-weight: bold; }
  .contact a.tel_link {
    pointer-events: none;
    color: #445368;
    text-decoration: none; }
  @media (max-width: 768px) {
    .contact {
      text-align: center; }
      .contact .cont_inner {
        background: #f4efe4;
        padding: 24px 24px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box; }
      .contact .contact-content {
        background: #fff;
        padding: 16px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box; }
      .contact p {
        font-size: 14px; }
      .contact-hours {
        font-size: 10px; }
      .contact .phone-number {
        font-size: 40px; }
      .contact a.tel_link {
        pointer-events: all; } }
  .contact .netshiten_detail {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .contact .netshiten_detail .netshiten_detail_logo {
      height: 40px; }
      .contact .netshiten_detail .netshiten_detail_logo img {
        height: 100%;
        width: auto; }
    .contact .netshiten_detail .netshiten_detail_text1 {
      margin: 0 1em;
      padding: 4px 16px;
      border: 1px solid #445368;
      border-radius: 4px;
      background: #fff;
      font-size: 16px; }
    .contact .netshiten_detail .netshiten_detail_text2 {
      padding: 4px 16px;
      border: 1px solid #445368;
      border-radius: 4px;
      background: #fff;
      font-size: 16px; }
    @media (max-width: 768px) {
      .contact .netshiten_detail .netshiten_detail_logo {
        height: 36px;
        margin: 0 20% 8px; }
        .contact .netshiten_detail .netshiten_detail_logo img {
          height: 100%;
          width: auto; }
      .contact .netshiten_detail .netshiten_detail_text1 {
        margin: 0 2% 0 0;
        font-size: 13px; }
      .contact .netshiten_detail .netshiten_detail_text2 {
        font-size: 13px; } }

.footer .container, .footer .header-content {
  width: 100%;
  max-width: auto; }

.footer .footer_menu {
  padding: 32px 0;
  background: #ed7500; }
  .footer .footer_menu ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .footer .footer_menu ul li {
      list-style: none;
      margin: 4px 4px; }
      .footer .footer_menu ul li a {
        color: #fff; }

.footer .footer_copy {
  background: #fff;
  border-top: 4px solid #ae0707;
  padding: 32px 0; }
  .footer .footer_copy .container, .footer .footer_copy .header-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    .footer .footer_copy .container .footer_logo, .footer .footer_copy .header-content .footer_logo {
      display: inline-block; }
    .footer .footer_copy .container p, .footer .footer_copy .header-content p {
      display: inline-block; }
    .footer .footer_copy .container ul li, .footer .footer_copy .header-content ul li {
      text-align: right; }
      .footer .footer_copy .container ul li a, .footer .footer_copy .header-content ul li a {
        color: #ae0707; }

@media (max-width: 768px) {
  .footer {
    padding-bottom: 74px; }
    .footer .container, .footer .header-content {
      width: 100%;
      max-width: auto; }
    .footer .footer_menu {
      padding: 24px 8px;
      background: #ed7500; }
      .footer .footer_menu ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
        .footer .footer_menu ul li {
          width: 50%;
          -webkit-box-sizing: border-box;
                  box-sizing: border-box;
          list-style: none;
          margin: 1% 0; }
          .footer .footer_menu ul li a {
            font-size: 14px; }
    .footer .footer_copy {
      padding: 24px 8px; }
      .footer .footer_copy .container, .footer .footer_copy .header-content {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; }
        .footer .footer_copy .container .footer_logo, .footer .footer_copy .header-content .footer_logo {
          width: 60%; }
        .footer .footer_copy .container p, .footer .footer_copy .header-content p {
          width: 80%;
          text-align: center;
          font-size: 10px; }
        .footer .footer_copy .container ul li, .footer .footer_copy .header-content ul li {
          text-align: center; } }

#page_top {
  position: fixed;
  bottom: 5%;
  right: 5%;
  width: 50px;
  z-index: 1500; }
  @media (max-width: 480px) {
    #page_top {
      width: 40px;
      bottom: 15%; } }
  #page_top img {
    width: 100%; }

#page_top {
  -webkit-animation: 6s linear infinite rotation3;
          animation: 6s linear infinite rotation3; }

@-webkit-keyframes rotation3 {
  0% {
    -webkit-transform: rotateY(0);
            transform: rotateY(0); }
  40% {
    -webkit-transform: rotateY(360deg);
            transform: rotateY(360deg); }
  100% {
    -webkit-transform: rotateY(360deg);
            transform: rotateY(360deg); } }

@keyframes rotation3 {
  0% {
    -webkit-transform: rotateY(0);
            transform: rotateY(0); }
  40% {
    -webkit-transform: rotateY(360deg);
            transform: rotateY(360deg); }
  100% {
    -webkit-transform: rotateY(360deg);
            transform: rotateY(360deg); } }

.section-title-icon {
  width: 100%;
  text-align: center;
  display: block; }
  .section-title-icon img {
    margin: auto; }

.section_wrap {
  padding: 80px 0; }
  @media (max-width: 768px) {
    .section_wrap {
      padding: 32px 0; } }

.pankuzu {
  margin-top: 88px; }
  .pankuzu .container .cont_inner, .pankuzu .header-content .cont_inner {
    padding: 8px 0; }
    .pankuzu .container .cont_inner ul, .pankuzu .header-content .cont_inner ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: left;
          -ms-flex-pack: left;
              justify-content: left; }
      .pankuzu .container .cont_inner ul li, .pankuzu .header-content .cont_inner ul li {
        font-size: 13px;
        line-height: 1em; }
        @media (max-width: 768px) {
          .pankuzu .container .cont_inner ul li, .pankuzu .header-content .cont_inner ul li {
            font-size: 11px; } }
        .pankuzu .container .cont_inner ul li a, .pankuzu .header-content .cont_inner ul li a {
          color: #ed7500;
          font-size: 13px;
          text-decoration: none;
          line-height: 1em; }
          @media (max-width: 768px) {
            .pankuzu .container .cont_inner ul li a, .pankuzu .header-content .cont_inner ul li a {
              font-size: 11px; } }
          .pankuzu .container .cont_inner ul li a::after, .pankuzu .header-content .cont_inner ul li a::after {
            content: "〉";
            margin: 0 1em; }
            @media (max-width: 768px) {
              .pankuzu .container .cont_inner ul li a::after, .pankuzu .header-content .cont_inner ul li a::after {
                margin: 0 .25em; } }

.fv_small .fv-content {
  background: #ed7500; }
  .fv_small .fv-content .fv-inner {
    max-width: 1100px;
    margin: auto;
    padding: 40px 0;
    height: 170px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    @media (max-width: 768px) {
      .fv_small .fv-content .fv-inner {
        padding: 24px 16px; } }
    .fv_small .fv-content .fv-inner h1 {
      font-size: 40px;
      color: #fff;
      text-shadow: 1px 1px 2px #ed7500; }
      @media (max-width: 768px) {
        .fv_small .fv-content .fv-inner h1 {
          font-size: 26px; } }
    .fv_small .fv-content .fv-inner p {
      width: 100%;
      font-size: 16px;
      color: #fff;
      text-shadow: 1px 1px 2px #ed7500; }
      @media (max-width: 768px) {
        .fv_small .fv-content .fv-inner p {
          font-size: 11px; } }

.btn {
  padding: 24px 24px;
  border-radius: 50px;
  text-decoration: none;
  font-size: 1.2em;
  font-weight: bold;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  line-height: 1em;
  margin: auto; }
  @media (max-width: 768px) {
    .btn {
      font-size: 1em;
      padding: 16px 16px; } }
  .btn .icon {
    margin-right: .5em; }
  .btn.red-l {
    border: 2px solid #ae0707;
    color: #ae0707;
    background: #fff; }
  .btn.black-l {
    border: 2px solid #46546a;
    color: #46546a; }
  .btn.green {
    background: #6db521;
    color: #fff; }
  .btn.orange {
    border: 2px solid #ed7500;
    color: #ed7500;
    background: #fff;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
    @media (max-width: 768px) {
      .btn.orange {
        padding: 8px 16px; } }
  .btn.navy {
    background: #445368;
    color: #fff; }
  .btn:hover {
    -webkit-transform: translateY(-1px);
            transform: translateY(-1px);
    -webkit-box-shadow: 0 3px 10px rgba(0, 0, 0, .2);
            box-shadow: 0 3px 10px rgba(0, 0, 0, .2); }
  .btn.btn-w10 {
    width: 10%; }
  .btn.btn-w20 {
    width: 20%; }
  .btn.btn-w30 {
    width: 30%; }
  .btn.btn-w40 {
    width: 40%; }
  .btn.btn-w50 {
    width: 50%; }
  .btn.btn-w60 {
    width: 60%; }
  .btn.btn-w70 {
    width: 70%; }
  .btn.btn-w80 {
    width: 80%; }
  .btn.btn-w90 {
    width: 90%; }
  .btn.btn-w100 {
    width: 100%; }
  @media (max-width: 768px) {
    .btn.btn-sp-w10 {
      width: 10%; }
    .btn.btn-sp-w20 {
      width: 20%; }
    .btn.btn-sp-w30 {
      width: 30%; }
    .btn.btn-sp-w40 {
      width: 40%; }
    .btn.btn-sp-w50 {
      width: 30%; }
    .btn.btn-sp-w60 {
      width: 60%; }
    .btn.btn-sp-w70 {
      width: 70%; }
    .btn.btn-sp-w80 {
      width: 80%; }
    .btn.btn-sp-w90 {
      width: 90%; }
    .btn.btn-sp-w100 {
      width: 100%; } }

.btn-type2 {
  background: #fff;
  border: 2px solid #ed7500;
  color: #ed7500;
  padding: 16px 24px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 100px;
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  line-height: 1.2em;
  text-align: center;
  margin: auto;
  width: 100%;
  height: 100%;
  font-size: 16px; }
  .btn-type2:hover {
    background: #ed7500;
    color: #fff; }
    .btn-type2:hover span {
      filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1" /><feFuncG type="linear" slope="1" /><feFuncB type="linear" slope="1" /></feComponentTransfer><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="table" tableValues="1 0" /><feFuncG type="table" tableValues="1 0" /><feFuncB type="table" tableValues="1 0" /></feComponentTransfer></filter></svg>#filter');
      -webkit-filter: brightness(0) invert(1);
              filter: brightness(0) invert(1); }
  @media (max-width: 768px) {
    .btn-type2 {
      padding: 8px 16px;
      font-size: 12px; } }
  .btn-type2 .icon {
    margin-right: 1em; }
  .btn-type2 .arrow {
    margin-left: 1em; }
  .btn-type2.green {
    border: 2px solid #6db521;
    color: #6db521; }
    .btn-type2.green:hover {
      background: #6db521;
      color: #fff; }
      .btn-type2.green:hover span {
        filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1" /><feFuncG type="linear" slope="1" /><feFuncB type="linear" slope="1" /></feComponentTransfer><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="table" tableValues="1 0" /><feFuncG type="table" tableValues="1 0" /><feFuncB type="table" tableValues="1 0" /></feComponentTransfer></filter></svg>#filter');
        -webkit-filter: brightness(0) invert(1);
                filter: brightness(0) invert(1); }
  .btn-type2.orange {
    border: 2px solid #ed7500;
    color: #ed7500; }
    .btn-type2.orange:hover {
      background: #ed7500;
      color: #fff; }
      .btn-type2.orange:hover span {
        filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1" /><feFuncG type="linear" slope="1" /><feFuncB type="linear" slope="1" /></feComponentTransfer><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="table" tableValues="1 0" /><feFuncG type="table" tableValues="1 0" /><feFuncB type="table" tableValues="1 0" /></feComponentTransfer></filter></svg>#filter');
        -webkit-filter: brightness(0) invert(1);
                filter: brightness(0) invert(1); }
  .btn-type2.navy {
    border: 2px solid #445368;
    color: #445368; }
    .btn-type2.navy:hover {
      background: #445368;
      color: #fff; }
      .btn-type2.navy:hover span {
        filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1" /><feFuncG type="linear" slope="1" /><feFuncB type="linear" slope="1" /></feComponentTransfer><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="table" tableValues="1 0" /><feFuncG type="table" tableValues="1 0" /><feFuncB type="table" tableValues="1 0" /></feComponentTransfer></filter></svg>#filter');
        -webkit-filter: brightness(0) invert(1);
                filter: brightness(0) invert(1); }
  .btn-type2.btn-w10 {
    width: 10%; }
  .btn-type2.btn-w20 {
    width: 20%; }
  .btn-type2.btn-w30 {
    width: 30%; }
  .btn-type2.btn-w40 {
    width: 40%; }
  .btn-type2.btn-w50 {
    width: 30%; }
  .btn-type2.btn-w60 {
    width: 60%; }
  .btn-type2.btn-w70 {
    width: 70%; }
  .btn-type2.btn-w80 {
    width: 80%; }
  .btn-type2.btn-w90 {
    width: 90%; }
  .btn-type2.btn-w100 {
    width: 100%; }
  @media (max-width: 768px) {
    .btn-type2.btn-sp-w10 {
      width: 10%; }
    .btn-type2.btn-sp-w20 {
      width: 20%; }
    .btn-type2.btn-sp-w30 {
      width: 30%; }
    .btn-type2.btn-sp-w40 {
      width: 40%; }
    .btn-type2.btn-sp-w50 {
      width: 30%; }
    .btn-type2.btn-sp-w60 {
      width: 60%; }
    .btn-type2.btn-sp-w70 {
      width: 70%; }
    .btn-type2.btn-sp-w80 {
      width: 80%; }
    .btn-type2.btn-sp-w90 {
      width: 90%; }
    .btn-type2.btn-sp-w100 {
      width: 100%; } }

.box-shadow1 {
  -webkit-box-shadow: 0 0 16px rgba(235, 230, 219, .7);
          box-shadow: 0 0 16px rgba(235, 230, 219, .7); }

.step_wrap {
  padding: 80px 0; }
  @media (max-width: 768px) {
    .step_wrap {
      padding: 32px 0; } }
  .step_wrap .step2_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    position: relative; }
    .step_wrap .step2_list a {
      text-decoration: none; }
    .step_wrap .step2_list::before {
      content: "";
      width: 75%;
      margin: auto;
      border: 1px dashed #ed7500;
      position: absolute;
      top: 30px;
      left: 12.5%; }
      @media (max-width: 768px) {
        .step_wrap .step2_list::before {
          top: 5vw; } }
    .step_wrap .step2_list.step5::before {
      content: "";
      width: 80%; }
    .step_wrap .step2_list.step5 li {
      width: 20%; }
    .step_wrap .step2_list.step3::before {
      content: "";
      width: 65%;
      left: 17.5%; }
    .step_wrap .step2_list.step3 li {
      width: 33.33333%; }
    .step_wrap .step2_list li {
      text-align: center;
      width: 25%;
      position: relative; }
      .step_wrap .step2_list li:first-child::before {
        content: none; }
      .step_wrap .step2_list li:first-child .icon::before {
        content: none; }
      .step_wrap .step2_list li a::after {
        content: "";
        display: block;
        width: 20px;
        height: 20px;
        background: url(../img/arrow_n03.svg) no-repeat center bottom;
        background-size: contain;
        position: absolute;
        left: 50%;
        bottom: -16px;
        margin-left: -10px; }
        @media (max-width: 768px) {
          .step_wrap .step2_list li a::after {
            bottom: -4px; } }
      .step_wrap .step2_list li a:hover::after {
        bottom: -20px; }
        @media (max-width: 768px) {
          .step_wrap .step2_list li a:hover::after {
            bottom: -8px; } }
      .step_wrap .step2_list li::before {
        content: "▶︎";
        color: #ed7500;
        position: absolute;
        left: -15px;
        top: 16px;
        margin-top: 3px; }
        @media (max-width: 768px) {
          .step_wrap .step2_list li::before {
            content: none; } }
      .step_wrap .step2_list li .icon {
        display: inline-block;
        background: #f4efe4;
        border-radius: 100px;
        line-height: 0;
        position: relative; }
        @media (max-width: 768px) {
          .step_wrap .step2_list li .icon {
            width: 10vw; } }
        .step_wrap .step2_list li .icon::before {
          content: "▶︎";
          color: #ed7500;
          position: absolute;
          left: -15px;
          top: 50%;
          margin-top: -4px; }
          @media (max-width: 768px) {
            .step_wrap .step2_list li .icon::before {
              margin-top: 0; } }
      .step_wrap .step2_list li .step {
        width: 100%;
        display: block;
        color: #ed7500;
        font-size: 24px;
        margin: 8px 0; }
        @media (max-width: 768px) {
          .step_wrap .step2_list li .step {
            font-size: 15px; } }
      .step_wrap .step2_list li h3 {
        width: 100%;
        color: #445368;
        font-size: 18px;
        line-height: 1.2em;
        margin-bottom: 8px; }
        @media (max-width: 768px) {
          .step_wrap .step2_list li h3 {
            font-size: 11px; } }
      .step_wrap .step2_list li p {
        width: 100%;
        color: #445368;
        padding: 0 16px;
        font-size: 13px; }

.detail_wrap .detail_title {
  background: #ed7500;
  color: #fff;
  text-align: center;
  font-size: 32px;
  padding: 16px 0; }
  .detail_wrap .detail_title span {
    font-size: .8em; }
  @media (max-width: 768px) {
    .detail_wrap .detail_title {
      font-size: 21px;
      padding: 8px 0; }
      .detail_wrap .detail_title span {
        font-size: .7em;
        display: inline-block; } }

.detail_wrap .sub_ttl {
  background: #ed7500;
  color: #fff;
  padding: 0 16px 0 0;
  margin-top: 64px;
  margin-bottom: 32px;
  position: relative;
  padding-left: 7em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 3em;
  line-height: 1.2em; }
  .detail_wrap .sub_ttl span {
    position: absolute;
    left: 0;
    background: #fff;
    color: #ed7500;
    border: 1px solid #ed7500;
    padding: 8px 16px;
    width: 6em;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  @media (max-width: 768px) {
    .detail_wrap .sub_ttl {
      font-size: 16px;
      margin-top: 56px; } }

.foruse_box {
  background: #fff;
  padding: 32px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }
  .foruse_box.kitei {
    margin-top: 32px; }
  .foruse_box h3 {
    color: #445368;
    text-align: center;
    font-size: 24px;
    margin-bottom: 24px; }
  .foruse_box ul li {
    list-style: none;
    font-size: 16px; }
  .foruse_box ul.list li {
    position: relative;
    padding-left: 1.25em; }
    .foruse_box ul.list li::before {
      position: absolute;
      left: 0;
      content: "・"; }
  .foruse_box .kitei_list li {
    margin-top: 16px; }
    .foruse_box .kitei_list li span {
      color: #ed7500;
      margin-right: 1em; }
    .foruse_box .kitei_list li a {
      text-decoration: underline;
      color: #445368;
      height: 31px;
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: left;
          -ms-flex-pack: left;
              justify-content: left;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .foruse_box .kitei_list li a img {
        margin-left: 1em; }
  @media (max-width: 768px) {
    .foruse_box {
      background: #fff;
      padding: 24px 16px; }
      .foruse_box.kitei {
        margin-top: 16px; }
      .foruse_box h3 {
        font-size: 18px;
        margin-bottom: 16px; }
      .foruse_box .kitei_list li {
        margin-top: 12px; }
        .foruse_box .kitei_list li span {
          display: block;
          line-height: 1em; }
        .foruse_box .kitei_list li a {
          text-decoration: underline;
          color: #445368;
          height: 1em;
          display: -webkit-inline-box;
          display: -ms-inline-flexbox;
          display: inline-flex;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center;
          -webkit-box-pack: left;
              -ms-flex-pack: left;
                  justify-content: left;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
          padding-left: .5em; }
          .foruse_box .kitei_list li a img {
            margin-left: 1em;
            height: 21px; }
      .foruse_box ul li {
        font-size: 11px; } }

/* スライダー全体のコンテナ */
.flow-list {
  position: relative;
  padding: 0 40px;
  /* 左右の矢印ボタンのスペースを確保 */
  margin-bottom: 40px; }
  @media (max-width: 768px) {
    .flow-list {
      padding: 0 16px;
      /* 左右の矢印ボタンのスペースを確保 */
      margin-bottom: 16px; } }
  .flow-list p.text {
    margin-left: 16px;
    color: #445368;
    font-size: 18px;
    margin: 32px 0 16px 16px;
    font-weight: bold; }
    @media (max-width: 768px) {
      .flow-list p.text {
        font-size: 14px; } }

/* スライドの表示領域（はみ出た部分を隠す） */
.flow-slider-viewport {
  overflow: hidden; }

/* スライドを横並びにするラッパー */
.flow-slider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* JavaScriptでtransformを操作してスライドを動かします */
  -webkit-transition: -webkit-transform 0.5s ease-in-out;
  transition: -webkit-transform 0.5s ease-in-out;
  transition: transform 0.5s ease-in-out;
  transition: transform 0.5s ease-in-out, -webkit-transform 0.5s ease-in-out; }

/* 個々のスライド */
.flow-slide {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  /* 縮まないようにする */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0 15px;
  /* スライド間の余白 */
  width: 33.33333%;
  /* PCでは3分の1の幅 */ }
  .flow-slide .flow-slide-box {
    background: #fff;
    border-radius: 16px;
    padding: 16px;
    margin: 0 1%;
    text-align: center;
    height: 100%; }
  .flow-slide h4 {
    position: relative;
    color: #ed7500;
    font-size: 17px;
    margin-bottom: 16px;
    height: 2.4em;
    line-height: 1.2em;
    padding-left: 40px;
    padding-right: 8px;
    text-align: left; }
    .flow-slide h4 span {
      background: #6db521;
      padding: 8px 16px 8px 8px;
      text-align: right;
      border-radius: 0 50px 50px 0;
      color: #fff;
      position: absolute;
      left: -16px;
      width: 2.5em; }
  .flow-slide img {
    width: 70%;
    margin: auto; }
  .flow-slide p {
    font-size: 14px;
    margin-top: 8px;
    text-align: left;
    line-height: 1.2em;
    color: #666; }
    .flow-slide p span {
      color: #ed7500;
      font-weight: bold; }

/* 矢印ボタンの基本スタイル */
.slider-arrow {
  position: absolute;
  top: 50%;
  border: 1px solid #ccc;
  border-radius: 100px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 10;
  width: 50px;
  height: 50px;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.slider-arrow img {
  width: 10px; }

.slider-arrow.prev {
  left: 0; }
  .slider-arrow.prev img {
    margin-right: 5px; }
  @media (max-width: 768px) {
    .slider-arrow.prev {
      left: -2.5%; } }

.slider-arrow.next {
  right: 0; }
  .slider-arrow.next img {
    margin-left: 5px; }
  @media (max-width: 768px) {
    .slider-arrow.next {
      right: -2.5%; } }

/* ページネーション（1/12）のスタイル */
.slider-pagination {
  text-align: center;
  margin-top: 20px;
  font-size: 19.2px;
  font-size: 1.2rem;
  color: #333;
  display: none !important; }

/* SP表示用の調整 (画面幅767px以下) */
@media (max-width: 767px) {
  .flow-slide {
    width: 100%;
    /* SPでは1つのスライドが100%の幅を持つ */
    padding: 0 10px; }
  .slider-arrow {
    width: 40px;
    height: 40px; } }

.light-bg {
  background: #f4efe4; }

.service {
  padding: 80px 0; }
  .service ul {
    width: 100%;
    max-width: 954px;
    margin: auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 24px; }
    .service ul li {
      list-style-type: none;
      background: #fff;
      border-radius: 16px;
      padding: 32px 32px 88px;
      text-align: center;
      -webkit-box-shadow: 0 0 16px rgba(235, 230, 219, .7);
              box-shadow: 0 0 16px rgba(235, 230, 219, .7);
      -webkit-transition: -webkit-transform 0.3s ease;
      transition: -webkit-transform 0.3s ease;
      transition: transform 0.3s ease;
      transition: transform 0.3s ease, -webkit-transform 0.3s ease;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      position: relative; }
      .service ul li .icon {
        display: block;
        height: 60px;
        margin-bottom: 16px; }
        .service ul li .icon img {
          height: 100%;
          width: auto; }
      .service ul li h3 {
        color: #445368;
        padding-left: 1em; }
      .service ul li p {
        font-size: 12px; }
  .service .btn {
    position: absolute;
    bottom: 24px;
    left: 10%;
    width: 80%;
    background: #fff;
    border: 2px solid #ed7500;
    padding: 8px 24px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-radius: 100px;
    color: #ed7500;
    text-decoration: none;
    display: block;
    margin: 24px auto 0;
    text-align: center;
    line-height: 24px; }
    .service .btn span {
      float: right;
      fill: #ed7500;
      height: 24px; }
      .service .btn span img {
        height: 100%;
        width: auto; }
    .service .btn:hover {
      background: #ed7500;
      color: #fff; }
      .service .btn:hover span {
        filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1" /><feFuncG type="linear" slope="1" /><feFuncB type="linear" slope="1" /></feComponentTransfer><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="table" tableValues="1 0" /><feFuncG type="table" tableValues="1 0" /><feFuncB type="table" tableValues="1 0" /></feComponentTransfer></filter></svg>#filter');
        -webkit-filter: brightness(0) invert(1);
                filter: brightness(0) invert(1); }
  @media (max-width: 768px) {
    .service {
      padding: 40px 0; }
      .service ul {
        margin: auto;
        display: grid;
        grid-template-columns: 1fr;
        gap: 2%;
        margin-top: 2%; }
        .service ul li {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
          padding: 16px 16px 20vw;
          text-align: center;
          -webkit-box-shadow: 0 0 16px rgba(235, 230, 219, .7);
                  box-shadow: 0 0 16px rgba(235, 230, 219, .7);
          -webkit-transition: -webkit-transform 0.3s ease;
          transition: -webkit-transform 0.3s ease;
          transition: transform 0.3s ease;
          transition: transform 0.3s ease, -webkit-transform 0.3s ease;
          -webkit-box-sizing: border-box;
                  box-sizing: border-box;
          position: relative;
          overflow: hidden; }
          .service ul li .icon {
            width: 20%;
            display: block;
            height: 60px;
            margin-bottom: 16px; }
            .service ul li .icon img {
              height: 100%;
              width: auto; }
          .service ul li h3 {
            width: 80%;
            text-align: left; }
          .service ul li p {
            width: 100%;
            font-size: 12px;
            padding: 0 0 0 24px;
            text-align: left; }
      .service .btn {
        font-size: 13px;
        padding: 4px 16px; }
        .service .btn span {
          height: 18px;
          margin-top: 2px; }
          .service .btn span img {
            height: 100%;
            width: auto; } }

/* ページネーション全体のスタイル調整 */
.slider-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  /* フォントサイズが違っても下端を揃える */
  gap: 0.2em;
  /* 数字とスラッシュの間の隙間 */
  margin-bottom: 16px; }

/* 現在のページ番号のスタイル */
.slider-pagination-current {
  font-weight: bold;
  font-size: 25.6px;
  font-size: 1.6rem;
  /* 少し大きくする */
  background: #445368;
  padding: 8px;
  border-radius: 30px;
  color: #fff;
  height: 1.5em;
  width: 1.5em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

/* 総ページ数のスタイル（スラッシュ含む） */
.slider-pagination-total {
  font-size: 19.2px;
  font-size: 1.2rem;
  /* 通常サイズ */
  color: #777;
  /* 少し薄い色 */ }

.fv_large .fv-content {
  text-align: center; }
  .fv_large .fv-content .fv-inner {
    max-width: 1100px;
    margin: auto; }

.detail_point {
  max-width: 954px;
  display: grid;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 24px;
  margin: 0 auto;
  background: #fff; }
  @media (max-width: 768px) {
    .detail_point {
      width: 95%;
      margin: auto;
      gap: 16px;
      grid-template-columns: 1fr 1fr; } }
  .detail_point.column_2 {
    grid-template-columns: 1fr 1fr 1fr 1fr; }
    @media (max-width: 768px) {
      .detail_point.column_2 {
        width: 95%;
        margin: auto;
        gap: 16px;
        grid-template-columns: 1fr 1fr; } }
  .detail_point li {
    position: relative;
    background: #f4efe4;
    text-align: center;
    padding: 32px 8px;
    border-radius: 16px; }
    @media (max-width: 768px) {
      .detail_point li {
        width: 100%;
        display: block;
        padding: 16px 8px; }
        .detail_point li:last-child:nth-child(odd) {
          grid-column: 1 / -1;
          width: calc(50% - 12px);
          margin: auto; } }
    .detail_point li::before {
      content: "";
      display: block;
      width: 80px;
      height: 80px;
      background: url(../img/icon_check.svg) no-repeat right center;
      background-size: cover;
      position: absolute;
      top: -20px;
      left: -20px; }
      @media (max-width: 768px) {
        .detail_point li::before {
          width: 15vw;
          height: 15vw;
          top: -3vw;
          left: -3vw; } }
    .detail_point li .icon {
      height: 124px;
      display: block; }
      @media (max-width: 768px) {
        .detail_point li .icon {
          height: 20vw; } }
      .detail_point li .icon img {
        height: 100%;
        width: auto; }
    .detail_point li h2 {
      margin-top: 24px;
      font-size: 42px;
      color: #445368; }
      @media (max-width: 768px) {
        .detail_point li h2 {
          font-size: 21px; } }
      .detail_point li h2 span {
        font-size: 18px;
        letter-spacing: -1px;
        display: block;
        color: #445368;
        line-height: 1em; }
        @media (max-width: 768px) {
          .detail_point li h2 span {
            font-size: 11px; } }

.detail_table {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 876px;
  margin: 80px auto 0; }
  @media (max-width: 768px) {
    .detail_table {
      width: 95%;
      margin: 32px auto 0; } }
  .detail_table dt {
    width: 30%;
    background: #f4efe4;
    padding: 8px 16px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border: 1px solid #ccc; }
    @media (max-width: 768px) {
      .detail_table dt {
        width: 100%;
        font-size: 13px;
        margin-top: -1px;
        -webkit-box-pack: left;
            -ms-flex-pack: left;
                justify-content: left; } }
  .detail_table dd {
    width: 70%;
    padding: 8px 16px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border: 1px solid #ccc; }
    @media (max-width: 768px) {
      .detail_table dd {
        width: 100%;
        font-size: 13px;
        margin-top: -1px;
        padding-left: 2em; } }
    .detail_table dd .att {
      margin-top: 8px; }
    .detail_table dd .list li {
      position: relative;
      padding-left: 1.25em; }
      @media (max-width: 768px) {
        .detail_table dd .list li {
          font-size: 13px; } }
      .detail_table dd .list li::before {
        content: "・";
        position: absolute;
        left: 0;
        color: #333; }

.about_link .etc-btn {
  width: 50%;
  margin: 0 auto 32px; }

.about_link h4 {
  text-align: center;
  color: #445368;
  font-size: 21px;
  margin-bottom: 8px; }

.about_link p {
  text-align: center;
  font-size: 16px;
  margin-bottom: 16px; }

.about_link .column_2 {
  width: 100%;
  display: grid;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin: 0 auto;
  background: #fff; }
  @media (max-width: 768px) {
    .about_link .column_2 {
      width: 80%;
      grid-template-columns: 1fr; } }

.about_link .column_3 {
  width: 100%;
  display: grid;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 16px;
  margin: 0 auto;
  background: #fff; }

.text_center {
  text-align: center; }

.nagare_wrap {
  background: #f4efe4; }

.ma-w540 {
  max-width: 540px !important;
  margin: auto; }

.ma-w576 {
  max-width: 576px !important;
  margin: auto; }

.ma-w728 {
  max-width: 728px !important;
  margin: auto; }

.ma-w768 {
  max-width: 768px !important;
  margin: auto; }

.ma-w914 {
  max-width: 914px !important;
  margin: auto; }

.ma-w954 {
  max-width: 954px !important;
  margin: auto; }

.ma-w1100 {
  max-width: 1100px !important;
  margin: auto; }

.footer_text {
  max-width: 1100px;
  margin: auto; }
  .footer_text p {
    font-size: 12px;
    color: #666;
    padding: 4px; }
  @media (max-width: 768px) {
    .footer_text p {
      font-size: 10px;
      color: #666;
      padding: 4px; } }

.footer-bnr {
  display: none; }
  @media (max-width: 768px) {
    .footer-bnr {
      display: block;
      position: fixed;
      bottom: 0;
      left: 0;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      padding: 16px 16px;
      background: rgba(255, 255, 255, .8);
      width: 100%;
      z-index: 1000; }
      .footer-bnr .footre-buttons {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; }
        .footer-bnr .footre-buttons .btn {
          width: 80%;
          font-size: 16px;
          padding: 8px 16px;
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center; } }

.fw-b {
  font-weight: bold !important; }

.mt-0 {
  margin-top: 0px !important; }

.mt-8 {
  margin-top: 8px !important; }

.mt-16 {
  margin-top: 16px !important; }

.mt-24 {
  margin-top: 24px !important; }

.mt-32 {
  margin-top: 32px !important; }

.mt-40 {
  margin-top: 40px !important; }

.mt-48 {
  margin-top: 48px !important; }

.mt-56 {
  margin-top: 56px !important; }

.mt-64 {
  margin-top: 64px !important; }

.mt-72 {
  margin-top: 72px !important; }

.mt-80 {
  margin-top: 80px !important; }

.mt-88 {
  margin-top: 88px !important; }

.mt-96 {
  margin-top: 96px !important; }

.mb-0 {
  margin-bottom: 0px !important; }

.mb-8 {
  margin-bottom: 8px !important; }

.mb-16 {
  margin-bottom: 16px !important; }

.mb-24 {
  margin-bottom: 24px !important; }

.mb-32 {
  margin-bottom: 32px !important; }

.mb-40 {
  margin-bottom: 40px !important; }

.mb-48 {
  margin-bottom: 48px !important; }

.mb-56 {
  margin-bottom: 56px !important; }

.mb-64 {
  margin-bottom: 64px !important; }

.mb-72 {
  margin-bottom: 72px !important; }

.mb-80 {
  margin-bottom: 80px !important; }

.mb-88 {
  margin-bottom: 88px !important; }

.mb-96 {
  margin-bottom: 96px !important; }

.mb-128 {
  margin-bottom: 128px !important; }

@media (max-width: 768px) {
  .sp-mt-0 {
    margin-top: 0px !important; }
  .sp-mt-8 {
    margin-top: 8px !important; }
  .sp-mt-16 {
    margin-top: 16px !important; }
  .sp-mt-24 {
    margin-top: 24px !important; }
  .sp-mt-32 {
    margin-top: 32px !important; }
  .sp-mt-40 {
    margin-top: 40px !important; }
  .sp-mt-48 {
    margin-top: 48px !important; }
  .sp-mt-56 {
    margin-top: 56px !important; }
  .sp-mt-64 {
    margin-top: 64px !important; }
  .sp-mt-72 {
    margin-top: 72px !important; }
  .sp-mt-80 {
    margin-top: 80px !important; }
  .sp-mt-88 {
    margin-top: 88px !important; }
  .sp-mt-96 {
    margin-top: 96px !important; }
  .sp-mb-0 {
    margin-bottom: 0px !important; }
  .sp-mb-8 {
    margin-bottom: 8px !important; }
  .sp-mb-16 {
    margin-bottom: 16px !important; }
  .sp-mb-24 {
    margin-bottom: 24px !important; }
  .sp-mb-32 {
    margin-bottom: 32px !important; }
  .sp-mb-40 {
    margin-bottom: 40px !important; }
  .sp-mb-48 {
    margin-bottom: 48px !important; }
  .sp-mb-56 {
    margin-bottom: 56px !important; }
  .sp-mb-64 {
    margin-bottom: 64px !important; }
  .sp-mb-72 {
    margin-bottom: 72px !important; }
  .sp-mb-80 {
    margin-bottom: 80px !important; }
  .sp-mb-88 {
    margin-bottom: 88px !important; }
  .sp-mb-96 {
    margin-bottom: 96px !important; }
  .sp-mb-128 {
    margin-bottom: 128px !important; } }

.pt-0 {
  padding-top: 0px !important; }

.pt-8 {
  padding-top: 8px !important; }

.pt-16 {
  padding-top: 16px !important; }

.pt-24 {
  padding-top: 24px !important; }

.pt-32 {
  padding-top: 32px !important; }

.pt-40 {
  padding-top: 40px !important; }

.pt-48 {
  padding-top: 48px !important; }

.pt-56 {
  padding-top: 56px !important; }

.pt-64 {
  padding-top: 64px !important; }

.pt-72 {
  padding-top: 72px !important; }

.pt-80 {
  padding-top: 80px !important; }

.pt-88 {
  padding-top: 88px !important; }

.pt-96 {
  padding-top: 96px !important; }

.pb-0 {
  padding-bottom: 0px !important; }

.pb-8 {
  padding-bottom: 8px !important; }

.pb-16 {
  padding-bottom: 16px !important; }

.pb-24 {
  padding-bottom: 24px !important; }

.pb-32 {
  padding-bottom: 32px !important; }

.pb-40 {
  padding-bottom: 40px !important; }

.pb-48 {
  padding-bottom: 48px !important; }

.pb-56 {
  padding-bottom: 56px !important; }

.pb-64 {
  padding-bottom: 64px !important; }

.pb-72 {
  padding-bottom: 72px !important; }

.pb-80 {
  padding-bottom: 80px !important; }

.pb-88 {
  padding-bottom: 88px !important; }

.pb-96 {
  padding-bottom: 96px !important; }

@media (max-width: 768px) {
  .sp-pt-0 {
    padding-top: 0px !important; }
  .sp-pt-8 {
    padding-top: 8px !important; }
  .sp-pt-16 {
    padding-top: 16px !important; }
  .sp-pt-24 {
    padding-top: 24px !important; }
  .sp-pt-32 {
    padding-top: 32px !important; }
  .sp-pt-40 {
    padding-top: 40px !important; }
  .sp-pt-48 {
    padding-top: 48px !important; }
  .sp-pt-56 {
    padding-top: 56px !important; }
  .sp-pt-64 {
    padding-top: 64px !important; }
  .sp-pt-72 {
    padding-top: 72px !important; }
  .sp-pt-80 {
    padding-top: 80px !important; }
  .sp-pt-88 {
    padding-top: 88px !important; }
  .sp-pt-96 {
    padding-top: 96px !important; }
  .sp-pb-0 {
    padding-bottom: 0px !important; }
  .sp-pb-8 {
    padding-bottom: 8px !important; }
  .sp-pb-16 {
    padding-bottom: 16px !important; }
  .sp-pb-24 {
    padding-bottom: 24px !important; }
  .sp-pb-32 {
    padding-bottom: 32px !important; }
  .sp-pb-40 {
    padding-bottom: 40px !important; }
  .sp-pb-48 {
    padding-bottom: 48px !important; }
  .sp-pb-56 {
    padding-bottom: 56px !important; }
  .sp-pb-64 {
    padding-bottom: 64px !important; }
  .sp-pb-72 {
    padding-bottom: 72px !important; }
  .sp-pb-80 {
    padding-bottom: 80px !important; }
  .sp-pb-88 {
    padding-bottom: 88px !important; }
  .sp-pb-96 {
    padding-bottom: 96px !important; } }

.text_orange {
  color: #ed7500 !important; }

.text_green {
  color: #6db521 !important; }

.text_navy {
  color: #445368 !important; }

.text_fs18 {
  font-size: 18px; }

.text_sp-fs16 {
  font-size: 16px; }
