/*
Theme Name: Shigeru
Author: FOIS
*/
*,
*::after,
*::before {
  box-sizing: border-box; }

body,
button,
input,
select,
textarea {
  font-family: "Inter", sans-serif; }

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary,
div,
span,
p,
ul,
ol,
li,
dl,
dt,
dd,
table,
tr,
th,
td,
a,
img,
label,
form,
input,
textarea {
  margin: 0;
  padding: 0; }

ol,
ul {
  list-style: none; }

img {
  border: 0;
  height: auto;
  line-height: 1;
  vertical-align: bottom;
  max-width: 100%; }

a {
  background: transparent;
  cursor: pointer;
  outline: 0 none; }

html {
  display: flex;
  flex-direction: column; }

body {
  color: #111;
  line-height: 2;
  font-size: 16px; }
  @media (max-width: 767px) {
    body {
      font-size: 14px !important; } }

main {
  flex: 1 1 auto; }
  main.js_menu_open {
    max-height: 50px;
    overflow: hidden; }
    @media (min-width: 768px) {
      main.js_menu_open {
        max-height: unset;
        overflow: unset; } }

.container {
  margin: 0 auto;
  max-width: 1230px;
  padding-left: 15px;
  padding-right: 15px; }

.mg_tp5 {
  margin-top: 5px; }

.mg_bt5 {
  margin-bottom: 5px; }

.mg_tp10 {
  margin-top: 10px; }

.mg_bt10 {
  margin-bottom: 10px; }

.mg_tp15 {
  margin-top: 15px; }

.mg_bt15 {
  margin-bottom: 15px; }

.mg_tp20 {
  margin-top: 20px; }

.mg_bt20 {
  margin-bottom: 20px; }

.mg_tp25 {
  margin-top: 25px; }

.mg_bt25 {
  margin-bottom: 25px; }

.mg_tp30 {
  margin-top: 30px; }

.mg_bt30 {
  margin-bottom: 30px; }

.mg_tp35 {
  margin-top: 35px; }

.mg_bt35 {
  margin-bottom: 35px; }

.mg_tp40 {
  margin-top: 40px; }

.mg_bt40 {
  margin-bottom: 40px; }

.mg_tp45 {
  margin-top: 45px; }

.mg_bt45 {
  margin-bottom: 45px; }

.mg_tp50 {
  margin-top: 50px; }

.mg_bt50 {
  margin-bottom: 50px; }

html {
  height: 100%; }

html,
body {
  min-width: 320px; }

body {
  font-weight: 400;
  overflow-x: hidden; }
  body.fixscroll {
    left: 0;
    overflow: hidden;
    position: absolute;
    top: 0;
    width: 100%; }
  @media (max-width: 767px) {
    body {
      font-size: 0.875rem; }
      body.fixscroll {
        left: 0;
        overflow: hidden;
        position: absolute;
        top: 0;
        width: 100%; } }

table {
  border-collapse: collapse;
  border-spacing: 0; }

a {
  transition: all 0.3s;
  color: #15529B;
  text-decoration: underline;
  -webkit-text-decoration-skip: none; }
  a:hover {
    color: #4c3d90; }
  @media (min-width: 768px) {
    a[href^="tel:"] {
      pointer-events: none; } }

img {
  vertical-align: middle;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden; }

.txt_center {
  text-align: center; }

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

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

header {
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 999; }
  header .header_inner {
    display: flex;
    justify-content: space-between;
    position: relative;
    z-index: 9; }
    @media (max-width: 767px) {
      header .header_inner {
        border: none;
        height: 50px; } }
  header .hd_left {
    align-items: center;
    background: #fff;
    border-right: 1px solid #fff;
    display: flex;
    justify-content: center;
    width: 220px;
    padding: 5px 10px; }
    header .hd_left .hd_logo .hd_logotxt {
      display: block;
      max-height: 0;
      max-width: 0;
      opacity: 0;
      overflow: hidden;
      visibility: hidden; }
    header .hd_left .hd_logo img {
      display: block; }
    @media (max-width: 767px) {
      header .hd_left {
        border-bottom: 1px solid #fff;
        max-height: 52px;
        padding: 8px 10px;
        width: 120px; } }
  header .hd_right {
    align-items: flex-start;
    border-bottom: 1px solid #fff;
    display: flex;
    justify-content: end;
    width: calc(100% - 220px); }
    header .hd_right .hd_right_inner {
      max-width: 900px;
      width: 100%; }
    @media (max-width: 767px) {
      header .hd_right {
        width: calc(100% - 120px); } }
  header .nav_list {
    display: flex;
    list-style: none;
    margin: 0; }
    header .nav_list li {
      min-width: fit-content;
      position: relative;
      width: 100%; }
      header .nav_list li.current_page_item a, header .nav_list li:hover a {
        position: relative; }
        header .nav_list li.current_page_item a::before, header .nav_list li:hover a::before {
          width: 100%; }
    header .nav_list a {
      align-items: center;
      color: #fff;
      display: flex;
      font-size: 14px;
      height: 75px;
      line-height: 1.4;
      justify-content: center;
      min-width: fit-content;
      padding: 5px 10px;
      text-decoration: none;
      text-transform: uppercase;
      transition: color 0.3s;
      border-left: 1px solid #fff;
      width: 100%; }
      @media only screen and (min-width: 1000px) {
        header .nav_list a br {
          display: none; } }
      header .nav_list a::before {
        content: "";
        position: absolute;
        bottom: -1px;
        transform: translateX(-50%);
        height: 3px;
        left: 50%;
        background-color: #fff;
        transition: all 0.3s ease;
        width: 0; }
    header .nav_list a[target="_blank"]:after {
      background: url(images/icon/external-link-white.svg) no-repeat center right;
      content: '';
      display: inline-block;
      height: 16px;
      margin-left: 10px;
      position: relative;
      top: -1px;
      width: 16px; }
  header .header_inner * {
    transition: all 0.3s ease-in-out; }

.menu_sp {
  border-left: 1px solid #fff;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  width: 59px;
  z-index: 9; }
  .menu_sp span {
    background: #fff;
    border-radius: 5px;
    display: block;
    height: 2px;
    position: absolute;
    right: 14px;
    top: 24px;
    transition: all 0.2s ease 0s;
    -webkit-transition: all 0.2s ease 0s;
    width: 26px; }
    .menu_sp span:before, .menu_sp span:after {
      background: #fff;
      border-radius: 5px;
      content: "";
      height: 2px;
      right: 0;
      position: absolute;
      top: 0;
      transition: all 0.2s ease;
      -webkit-transition: all 0.2s ease;
      z-index: 1; }
    .menu_sp span:before {
      top: 0;
      transform: translate(0, -6px);
      -ms-transform: translate(0, -6px);
      -webkit-transform: translate(0, -6px);
      width: 32px; }
    .menu_sp span:after {
      top: 0;
      transform: translate(0, 6px);
      -ms-transform: translate(0, 6px);
      -webkit-transform: translate(0, 6px);
      width: 20px; }
  .menu_sp.active span {
    background: transparent; }
    .menu_sp.active span:before {
      background: #15529B;
      top: 0;
      transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      -webkit-transform: rotate(45deg);
      width: 32px; }
    .menu_sp.active span:after {
      background: #15529B;
      top: 0;
      transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      -webkit-transform: rotate(-45deg);
      width: 32px; }

header.fixed-header {
  background: #fff;
  position: fixed;
  transition: top 0.3s ease-in-out;
  top: 0 !important; }
  @media (max-width: 767px) {
    header.fixed-header {
      height: 50px; } }
  header.fixed-header .hd_left {
    border-bottom: 1px solid #ccc;
    border-right: 1px solid #ccc;
    width: 180px; }
    @media (max-width: 767px) {
      header.fixed-header .hd_left {
        width: 120px; } }
    header.fixed-header .hd_left a, header.fixed-header .hd_left img {
      display: block; }
      @media (max-width: 767px) {
        header.fixed-header .hd_left a, header.fixed-header .hd_left img {
          width: 90px; } }
  header.fixed-header .hd_right {
    border-bottom: 1px solid #ccc;
    width: calc(100% - 180px); }
    @media (max-width: 767px) {
      header.fixed-header .hd_right {
        width: calc(100% - 120px); } }
  header.fixed-header .nav_list a {
    border-left-color: #ccc;
    display: flex;
    color: #111;
    font-size: 14px;
    height: 65px; }
    header.fixed-header .nav_list a::before {
      background-color: #15529B; }
  header.fixed-header .nav_list a[target="_blank"] {
    padding: 5px 26px 5px 20px; }
    header.fixed-header .nav_list a[target="_blank"]:after {
      background: url(images/icon/external-link-black.svg) no-repeat center right;
      background-size: 100% 100%;
      height: 14px;
      top: 1px;
      width: 14px; }
  header.fixed-header .menu_sp {
    border-left-color: #ccc; }
    header.fixed-header .menu_sp span {
      background: #15529B; }
      header.fixed-header .menu_sp span:before, header.fixed-header .menu_sp span:after {
        background: #15529B; }

.spmenu {
  background: #fff;
  display: none;
  height: calc(100vh - 50px);
  padding: 2px 15px 15px;
  position: absolute;
  overflow: scroll;
  top: 50px;
  width: 100%; }
  .spmenu .sp_nav_main a {
    background: url(images/icon/arrow-right-icon.svg) no-repeat center right;
    border-bottom: 1px solid #CCCCCC;
    color: #111111;
    display: block;
    font-size: 14px;
    text-decoration: none;
    text-transform: uppercase;
    padding: 6px 5px 10px; }
    .spmenu .sp_nav_main a br {
      display: none; }
    .spmenu .sp_nav_main a .menu_description {
      color: #F0F1F5;
      display: block;
      font-size: 40px;
      font-weight: 900;
      line-height: 1;
      position: relative;
      top: 7px; }
  .spmenu .sp_nav_main a[target="_blank"] {
    background: url(images/icon/external-link-blue.svg) no-repeat center right; }

.open_menu {
  background: #fff; }
  .open_menu .hd_left {
    border-right-color: #ccc;
    border-bottom: 1px solid #ccc; }
  .open_menu .hd_right {
    border-bottom-color: #ccc; }
  .open_menu .menu_sp {
    border-left-color: #ccc; }

.warmer_section {
  background: #F4F9FF;
  position: relative;
  overflow: hidden; }
  @media (max-width: 767px) {
    .warmer_section {
      display: flex;
      flex-wrap: wrap; } }
  .warmer_section .warmer_img {
    height: 100%;
    right: 0;
    position: absolute;
    top: 0;
    width: 50%; }
    @media (max-width: 767px) {
      .warmer_section .warmer_img {
        position: relative;
        order: 2;
        width: 100%; } }
    .warmer_section .warmer_img img {
      height: 100%;
      object-fit: cover;
      width: 100%; }
      @media (max-width: 767px) {
        .warmer_section .warmer_img img {
          min-height: 232px; } }
    .warmer_section .warmer_img:after {
      background: url(images/home/warm_asset.svg) no-repeat top left;
      background-size: auto 100%;
      content: '';
      display: block;
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%; }
      @media (max-width: 767px) {
        .warmer_section .warmer_img:after {
          display: none; } }
  .warmer_section .warmer_inner {
    padding: 68px 0;
    position: relative; }
    @media (max-width: 767px) {
      .warmer_section .warmer_inner {
        padding: 39px 0 47px; } }
    .warmer_section .warmer_inner .inner_ttl {
      font-size: 46px;
      margin-bottom: 21px; }
      @media (max-width: 767px) {
        .warmer_section .warmer_inner .inner_ttl {
          font-size: 24px;
          margin-bottom: 10px; }
          .warmer_section .warmer_inner .inner_ttl br {
            display: none; } }
    .warmer_section .warmer_inner .warmer_txt {
      margin-bottom: 18px; }
      @media (max-width: 767px) {
        .warmer_section .warmer_inner .warmer_txt {
          margin-bottom: 22px; } }

footer {
  background: #15529B;
  position: relative; }
  @media (max-width: 767px) {
    footer {
      padding-bottom: 70px; } }
  footer .container {
    position: relative; }
  footer .fixed_btn {
    align-items: end;
    display: flex;
    gap: 3px;
    right: 5px;
    opacity: 0;
    transition: all 0.3s ease-in-out;
    z-index: 1; }
    footer .fixed_btn.fixed {
      bottom: 0;
      position: fixed;
      top: unset; }
    footer .fixed_btn.absolute {
      bottom: unset;
      position: absolute;
      top: -40px; }
    @media (max-width: 767px) {
      footer .fixed_btn {
        background: #fff;
        bottom: 0 !important;
        box-shadow: rgba(0, 0, 0, 0.3) 0px 4px 12px;
        padding: 10px 15px;
        position: fixed !important;
        right: 0;
        top: unset !important;
        width: 100%; } }
  footer .cart_btn {
    border-radius: 5px 5px 0 0;
    background: #FC3465;
    color: #fff;
    padding: 1px 17px 8px 13px;
    position: relative;
    font-size: 11px;
    font-weight: bold;
    text-decoration: none; }
    @media (max-width: 767px) {
      footer .cart_btn {
        border-radius: 5px;
        display: flex;
        padding: 0 10px;
        justify-content: center;
        width: calc(100% - 43px); }
        footer .cart_btn .cart_sm_txt {
          display: flex;
          font-size: 9px;
          line-height: calc(12/9);
          align-items: center;
          padding-right: 15px; } }
    footer .cart_btn .cart_txt {
      background: #FC3465 url(images/icon/cart_icon.svg) no-repeat center left 12px;
      border-radius: 5px 5px 0 0;
      display: block;
      font-size: 16px;
      height: 40px;
      position: absolute;
      bottom: 0;
      right: 0;
      padding: 3px 20px 0 41px;
      transition: all 0.3s ease-in-out;
      width: 100%;
      z-index: 1; }
      @media (max-width: 767px) {
        footer .cart_btn .cart_txt {
          align-items: center;
          background-position: center left;
          border-radius: 5px;
          display: flex;
          padding-top: 0;
          padding-left: 25px;
          padding-right: 0;
          position: relative;
          width: auto;
          min-width: 145px; } }
    footer .cart_btn img {
      position: relative;
      top: -1px;
      margin-left: 5px; }
      @media (max-width: 767px) {
        footer .cart_btn img {
          position: absolute;
          top: 50%;
          right: 10px;
          transform: translateY(-50%); } }
    @media (min-width: 768px) {
      footer .cart_btn:hover span {
        bottom: 25px; } }
  footer .back_top {
    background: #4191EF;
    border-radius: 5px 5px 0 0;
    display: flex;
    height: 40px;
    justify-content: center;
    align-items: center;
    width: 40px;
    z-index: 9999; }
    @media (max-width: 767px) {
      footer .back_top {
        border-radius: 5px; } }
  footer.js_menu_open {
    max-height: 50px;
    overflow: hidden; }
    @media (min-width: 768px) {
      footer.js_menu_open {
        max-height: unset;
        overflow: unset; } }
  footer .ft_block {
    color: #fff;
    font-family: "Roboto", sans-serif;
    padding: 23px 0 39px; }
    footer .ft_block .ft_inner {
      display: flex;
      justify-content: space-between; }
      footer .ft_block .ft_inner .ft_logo {
        font-family: "Roboto", sans-serif; }
        @media (max-width: 1120px) {
          footer .ft_block .ft_inner .ft_logo {
            width: 200px; } }
        footer .ft_block .ft_inner .ft_logo a {
          color: #fff;
          text-decoration: none; }
          footer .ft_block .ft_inner .ft_logo a span {
            display: block;
            font-size: 12px;
            font-weight: bold;
            margin-top: 5px;
            text-transform: uppercase; }
      footer .ft_block .ft_inner .ft_info {
        font-size: 14px;
        padding: 9px 0 0;
        line-height: 1.7; }
        @media (max-width: 1120px) {
          footer .ft_block .ft_inner .ft_info {
            font-size: 13px; } }
      footer .ft_block .ft_inner .ft_nav_main {
        display: flex;
        flex-wrap: wrap;
        gap: 50px;
        justify-content: flex-end;
        padding: 17px 0 0; }
        @media (max-width: 1120px) {
          footer .ft_block .ft_inner .ft_nav_main {
            gap: 20px; } }
        footer .ft_block .ft_inner .ft_nav_main a {
          border-bottom: 1px solid #15529B;
          color: #fff;
          display: block;
          font-size: 14px;
          line-height: 1.4;
          position: relative;
          text-decoration: none;
          text-transform: uppercase; }
          footer .ft_block .ft_inner .ft_nav_main a br {
            display: none; }
          footer .ft_block .ft_inner .ft_nav_main a:hover {
            border-bottom: 1px solid #fff; }
        footer .ft_block .ft_inner .ft_nav_main a[target="_blank"]:after {
          background: url(images/icon/external-link-white.svg) no-repeat center right;
          background-size: 100% 100%;
          content: '';
          display: inline-block;
          height: 16px;
          margin-left: 10px;
          position: relative;
          top: 1px;
          width: 16px; }
          @media (max-width: 1120px) {
            footer .ft_block .ft_inner .ft_nav_main a[target="_blank"]:after {
              height: 14px;
              margin-left: 5px;
              width: 14px; } }
      footer .ft_block .ft_inner .copyright {
        font-size: 12px;
        padding: 70px 0 0;
        text-align: right; }
  @media (max-width: 767px) {
    footer .ft_block {
      padding-top: 35px;
      padding-bottom: 0; }
      footer .ft_block .ft_inner {
        flex-direction: column; }
        footer .ft_block .ft_inner .ft_logo {
          margin-bottom: 29px;
          text-align: center;
          width: 100%; }
          footer .ft_block .ft_inner .ft_logo a img {
            width: 100px; }
          footer .ft_block .ft_inner .ft_logo a span {
            font-size: 8px; }
        footer .ft_block .ft_inner .ft_nav_main {
          border-top: 1px solid #E6E6E6;
          display: block;
          padding-top: 0; }
          footer .ft_block .ft_inner .ft_nav_main a {
            background: url(images/icon/arrow-right-icon-wh.svg) no-repeat center right;
            border-bottom: 1px solid #E6E6E6;
            color: #fff;
            display: block;
            font-size: 0.875rem;
            text-decoration: none;
            padding: 15px 0 9px; }
          footer .ft_block .ft_inner .ft_nav_main a[target="_blank"] {
            background: url(images/icon/external-link-white.svg) no-repeat center right; }
            footer .ft_block .ft_inner .ft_nav_main a[target="_blank"]:after {
              display: none; }
        footer .ft_block .ft_inner .ft_info {
          font-size: 0.875rem;
          padding: 7px 0 0; }
        footer .ft_block .ft_inner .copyright {
          font-size: 10px;
          padding: 25px 0 20px;
          text-align: center; } }

@media screen and (max-width: 1280px) and (min-width: 768px) {
  header .hd_left {
    background: #fff;
    width: 120px; }

  header .hd_right {
    width: calc(100% - 120px); }

  header .nav_list a {
    padding: 20px 5px; }

  header .nav_list a[target="_blank"] {
    padding: 20px 15px 20px 10px; }

  header.fixed-header .hd_left {
    padding: 14px 40px; }

  header.fixed-header .nav_list a {
    border-left-color: #ccc;
    color: #111;
    font-size: 14px;
    padding: 17px 10px 19px; } }
@media screen and (max-width: 767px) {
  #wpadminbar {
    position: fixed !important; } }
.section_ttl {
  font-size: 30px;
  font-weight: normal;
  text-align: center;
  text-transform: uppercase; }
  .section_ttl strong {
    display: block;
    font-size: 80px;
    font-weight: 300;
    line-height: 1.25; }
  @media (max-width: 1120px) {
    .section_ttl {
      font-size: 25px; }
      .section_ttl strong {
        font-size: 60px; } }
  @media (max-width: 767px) {
    .section_ttl {
      font-size: 20px; }
      .section_ttl strong {
        font-size: 40px;
        line-height: 1; } }

.inner_ttl {
  color: #15529B;
  font-size: 46px;
  font-weight: bold;
  line-height: 1.45; }
  @media (max-width: 1120px) {
    .inner_ttl {
      font-size: 30px; } }

.section_btn {
  display: inline-block;
  margin: 0;
  font-weight: 500; }
  .section_btn .wp-block-button__link {
    background: #FC3465;
    border: 1px solid #fc3465;
    border-radius: 24px;
    color: #fff;
    display: block;
    font-size: 16px;
    padding: 6px 10px 8px;
    text-align: center;
    transition: all 0.3s ease-in-out;
    min-width: 206px; }
    .section_btn .wp-block-button__link:hover {
      background-color: #fff;
      color: #FC3465; }
    @media (max-width: 767px) {
      .section_btn .wp-block-button__link {
        font-size: 14px;
        padding: 5px 10px;
        min-width: 200px; } }

.no-pd-bt {
  padding-bottom: 0 !important; }

a[href^="tel:"], a[href^="fax:"] {
  color: #111;
  pointer-events: none;
  text-decoration: none; }

.hm_mainvisual {
  position: relative; }
  .hm_mainvisual .swiper_slider {
    position: relative; }
    .hm_mainvisual .swiper_slider:after {
      background: rgba(21, 82, 155, 0.2);
      content: '';
      height: 100%;
      position: absolute;
      top: 0;
      width: 100%;
      z-index: 1; }
    .hm_mainvisual .swiper_slider .wp-swiper__slide {
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center center;
      height: 100vh;
      position: relative; }
      @media (max-width: 767px) {
        .hm_mainvisual .swiper_slider .wp-swiper__slide {
          height: 500px; } }
    .hm_mainvisual .swiper_slider .swiper {
      opacity: 0;
      transition: all 0.3 ease-in-out;
      visibility: hidden; }
      .hm_mainvisual .swiper_slider .swiper.swiper-initialized {
        opacity: 1;
        visibility: visible; }
    .hm_mainvisual .swiper_slider .wp-swiper__overlay-color {
      z-index: 6; }
    .hm_mainvisual .swiper_slider .swiper-pagination {
      align-items: center;
      bottom: 52px;
      display: flex;
      gap: 0;
      justify-content: center;
      position: absolute;
      left: 50%;
      transform: translateX(-50%); }
      @media (max-width: 767px) {
        .hm_mainvisual .swiper_slider .swiper-pagination {
          bottom: 40px; } }
      .hm_mainvisual .swiper_slider .swiper-pagination .swiper-pagination-bullet {
        background: #fff;
        border: none;
        border-radius: 50%;
        font-size: 0;
        height: 10px;
        opacity: .8;
        padding: 0;
        transition: all 0.3s ease-in-out;
        width: 10px; }
      .hm_mainvisual .swiper_slider .swiper-pagination .swiper-pagination-bullet-active {
        background: #FC3465;
        opacity: 1; }
  .hm_mainvisual .mv_inner {
    bottom: 0;
    position: absolute;
    width: 100%;
    z-index: 1;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 10vh; }
    .hm_mainvisual .mv_inner .mv_ttl {
      color: #fff;
      font-size: 80px;
      font-weight: bold;
      line-height: 1.35;
      text-align: center; }
      @media (max-width: 1120px) {
        .hm_mainvisual .mv_inner .mv_ttl {
          font-size: 60px; } }
      @media (max-width: 767px) {
        .hm_mainvisual .mv_inner .mv_ttl {
          font-size: 40px; } }
    .hm_mainvisual .mv_inner .mv_btn {
      font-weight: 600; }
      .hm_mainvisual .mv_inner .mv_btn .wp-block-button__link {
        background: #FC3465;
        border: 1px solid #FC3465;
        border-radius: 24px;
        color: #fff;
        display: block;
        font-size: 16px;
        margin-top: 60px;
        padding: 6px 10px 8px;
        text-align: center;
        transition: all 0.3s ease-in-out;
        min-width: 206px; }
        .hm_mainvisual .mv_inner .mv_btn .wp-block-button__link:hover {
          background-color: #fff;
          color: #FC3465; }
        @media (max-width: 767px) {
          .hm_mainvisual .mv_inner .mv_btn .wp-block-button__link {
            font-size: 14px;
            margin-top: 29px;
            min-width: 200px;
            padding: 5px 10px; } }
  .hm_mainvisual:after {
    background: url(images/icon/scroll-icon.svg) no-repeat center right;
    background-size: 100% 100%;
    bottom: -24px;
    content: '';
    display: block;
    height: 40px;
    left: 50%;
    transform: translateX(-50%);
    position: absolute;
    width: 132px;
    z-index: 1; }
    @media (max-width: 767px) {
      .hm_mainvisual:after {
        bottom: -6px;
        height: 30px;
        width: 99px; } }

.wp-swiper > .wp-swiper__wrapper {
  margin-bottom: 0 !important; }

.news_section {
  position: relative; }
  @media (max-width: 767px) {
    .news_section .news_inner {
      padding-bottom: 45px; }
      .news_section .news_inner .wp-block-buttons {
        margin: 0 auto; } }
  .news_section .news_inner > div {
    display: flex;
    flex-wrap: wrap; }
    .news_section .news_inner > div .news_lft {
      background: rgba(148, 197, 255, 0.2);
      padding: 90px 0 30px;
      position: relative;
      width: 310px; }
      @media (max-width: 767px) {
        .news_section .news_inner > div .news_lft {
          background: transparent;
          padding: 58px 0 0;
          width: 100%; } }
      .news_section .news_inner > div .news_lft:before {
        background: rgba(148, 197, 255, 0.2);
        content: '';
        height: 100%;
        left: -100vw;
        position: absolute;
        top: 0;
        width: 100vw; }
        @media (max-width: 767px) {
          .news_section .news_inner > div .news_lft:before {
            left: -15px;
            right: 78px;
            width: auto; } }
      .news_section .news_inner > div .news_lft .section_ttl {
        margin-bottom: 22px;
        text-align: left; }
        .news_section .news_inner > div .news_lft .section_ttl strong {
          line-height: 1; }
        @media (max-width: 767px) {
          .news_section .news_inner > div .news_lft .section_ttl {
            margin-bottom: 14px;
            text-align: center; } }
    .news_section .news_inner > div .news_rgt {
      width: calc(100% - 310px); }
      @media (max-width: 767px) {
        .news_section .news_inner > div .news_rgt {
          margin-bottom: 33px;
          width: 100%; } }
      .news_section .news_inner > div .news_rgt .latest-posts {
        padding: 67px 0 0 51px; }
        @media (max-width: 767px) {
          .news_section .news_inner > div .news_rgt .latest-posts {
            padding: 0; } }
        .news_section .news_inner > div .news_rgt .latest-posts .post-item {
          background: url(images/icon/arrow-right-icon.svg) no-repeat center right;
          border-bottom: 1px dashed #CCC;
          display: flex;
          flex-wrap: wrap;
          gap: 30px;
          padding: 16px 0 15px; }
          @media (max-width: 767px) {
            .news_section .news_inner > div .news_rgt .latest-posts .post-item {
              gap: 0;
              padding: 10px 0; } }
          .news_section .news_inner > div .news_rgt .latest-posts .post-item p {
            color: #999;
            padding-top: 4px;
            width: 100px; }
            @media (max-width: 767px) {
              .news_section .news_inner > div .news_rgt .latest-posts .post-item p {
                padding-top: 0;
                width: 100%; } }
          .news_section .news_inner > div .news_rgt .latest-posts .post-item h3 {
            font-weight: normal;
            width: calc(100% - 130px); }
            .news_section .news_inner > div .news_rgt .latest-posts .post-item h3 a {
              color: #111;
              display: block;
              font-size: 16px;
              padding-right: 15px;
              text-decoration: none; }
              .news_section .news_inner > div .news_rgt .latest-posts .post-item h3 a:hover {
                color: #15529B; }
            @media (max-width: 767px) {
              .news_section .news_inner > div .news_rgt .latest-posts .post-item h3 {
                margin-top: -3px;
                width: 100%; }
                .news_section .news_inner > div .news_rgt .latest-posts .post-item h3 a {
                  font-size: 14px; } }

.img_slider {
  padding: 95px 0 0;
  position: relative;
  z-index: 1; }
  @media (max-width: 767px) {
    .img_slider {
      padding: 24px 0 0; } }
  .img_slider.img_noslick > div {
    display: flex;
    justify-content: center; }
  .img_slider figure {
    padding: 0 7px;
    position: relative;
    width: calc(100vw / 5);
    min-width: 100px; }
    @media (max-width: 767px) {
      .img_slider figure {
        padding: 0 3px;
        width: 116px; } }
    .img_slider figure:nth-child(even) {
      margin-top: 31px; }
      @media (max-width: 767px) {
        .img_slider figure:nth-child(even) {
          margin-top: 15px; } }
    .img_slider figure img {
      border-radius: 10px;
      overflow: hidden; }
  .img_slider.img_slick figure {
    width: 254px;
    height: 340px; }
    .img_slider.img_slick figure img {
      width: 240px;
      height: 340px;
      object-fit: cover; }
    @media (max-width: 767px) {
      .img_slider.img_slick figure {
        width: 116px;
        height: 157px; }
        .img_slider.img_slick figure img {
          width: 116px;
          height: 157px; } }

.about_section {
  padding: 65px 0 100px;
  position: relative; }
  @media (max-width: 767px) {
    .about_section {
      padding: 33px 0 59px; } }
  .about_section:after {
    background: rgba(148, 197, 255, 0.1);
    bottom: 0;
    content: '';
    left: calc(50% - 355px);
    right: 0;
    top: -245px;
    position: absolute;
    z-index: -1; }
    @media (max-width: 767px) {
      .about_section:after {
        left: 75px;
        top: -95px; } }
  .about_section .about_inner {
    padding-top: 28px;
    position: relative; }
    @media (max-width: 767px) {
      .about_section .about_inner {
        padding-top: 19px; } }
    .about_section .about_inner > div {
      display: flex;
      flex-wrap: wrap; }
      .about_section .about_inner > div .about_lft {
        padding-right: 50px;
        width: 46%; }
        .about_section .about_inner > div .about_lft .inner_ttl {
          margin-bottom: 30px; }
        @media (max-width: 767px) {
          .about_section .about_inner > div .about_lft {
            padding-right: 0;
            width: 100%; }
            .about_section .about_inner > div .about_lft .inner_ttl {
              margin-bottom: 14px; } }
      .about_section .about_inner > div .about_rgt {
        padding: 14px 8px;
        width: 54%;
        max-width: 640px; }
        @media (max-width: 1120px) {
          .about_section .about_inner > div .about_rgt {
            padding: 0; } }
  @media (max-width: 1120px) and (max-width: 767px) {
    .about_section .about_inner > div .about_rgt {
      width: 100%;
      max-width: unset; } }

    @media (max-width: 767px) {
      .about_section .about_inner .wp-block-buttons {
        display: block;
        margin-top: 35px;
        text-align: center;
        width: 100%; } }

.lineup_section {
  padding: 70px 0 0;
  overflow: hidden;
  position: relative; }
  @media (max-width: 767px) {
    .lineup_section {
      padding: 52px 0 61px; } }
  .lineup_section .container {
    position: relative; }
  .lineup_section .section_ttl {
    margin-bottom: 28px;
    text-align: left; }
    .lineup_section .section_ttl strong {
      display: inline-block;
      padding-right: 40px; }
      @media (max-width: 1120px) {
        .lineup_section .section_ttl strong {
          padding-right: 20px; } }
    @media (max-width: 767px) {
      .lineup_section .section_ttl {
        margin-bottom: 21px;
        text-align: center; }
        .lineup_section .section_ttl strong {
          display: block;
          padding-right: 0; } }
  .lineup_section .section_btn {
    position: absolute;
    top: 41px;
    right: 17px; }
    @media (max-width: 1120px) {
      .lineup_section .section_btn {
        top: 10px; } }
    @media (max-width: 767px) {
      .lineup_section .section_btn {
        right: 0;
        position: relative;
        top: 0; } }
  @media (max-width: 767px) {
    .lineup_section .wp-block-buttons {
      display: block;
      margin-top: 30px;
      text-align: center;
      width: 100%; } }
  .lineup_section .lineup_inner > div {
    display: flex;
    gap: 10px;
    flex-wrap: wrap; }
    .lineup_section .lineup_inner > div .lineup_item {
      cursor: pointer;
      position: relative;
      width: calc((100% - 10px) / 2); }
      .lineup_section .lineup_inner > div .lineup_item:hover .lineup_btn a {
        right: 30px; }
      .lineup_section .lineup_inner > div .lineup_item:hover figure img {
        transform: scale(1.1); }
      .lineup_section .lineup_inner > div .lineup_item:before {
        bottom: 0;
        background: #F0F1F5;
        content: '';
        height: 100%;
        position: absolute;
        top: 0;
        width: 100vw;
        z-index: -1; }
      .lineup_section .lineup_inner > div .lineup_item figure {
        position: relative;
        text-align: right; }
        .lineup_section .lineup_inner > div .lineup_item figure img {
          transform: scale(1);
          transition: transform 0.3s; }
      .lineup_section .lineup_inner > div .lineup_item .lineup_cnt {
        bottom: 34px;
        left: 0;
        position: absolute; }
        .lineup_section .lineup_inner > div .lineup_item .lineup_cnt .lineup_ttl {
          font-size: 40px;
          line-height: 1.5;
          margin-bottom: 5px;
          text-shadow: #f0f1f5 2px 0px 0px, #f0f1f5 1.75517px 0.958851px 0px, #f0f1f5 1.0806px 1.68294px 0px, #f0f1f5 0.141474px 1.99499px 0px, #f0f1f5 -0.832294px 1.81859px 0px, #f0f1f5 -1.60229px 1.19694px 0px, #f0f1f5 -1.97998px 0.28224px 0px, #f0f1f5 -1.87291px -0.701566px 0px, #f0f1f5 -1.30729px -1.5136px 0px, #f0f1f5 -0.421592px -1.95506px 0px, #f0f1f5 0.567324px -1.91785px 0px, #f0f1f5 1.41734px -1.41108px 0px, #f0f1f5 1.92034px -0.558831px 0px; }
          @media (max-width: 1120px) {
            .lineup_section .lineup_inner > div .lineup_item .lineup_cnt .lineup_ttl {
              font-size: 23px; } }
          @media (max-width: 767px) {
            .lineup_section .lineup_inner > div .lineup_item .lineup_cnt .lineup_ttl {
              font-size: 24px; } }
        @media (max-width: 767px) {
          .lineup_section .lineup_inner > div .lineup_item .lineup_cnt {
            bottom: 29px; } }
      .lineup_section .lineup_inner > div .lineup_item .lineup_btn > div,
      .lineup_section .lineup_inner > div .lineup_item .lineup_btn a {
        background: url(images/icon/arrow-btn.svg) no-repeat;
        bottom: 59px;
        display: block;
        height: 40px;
        padding: 0;
        position: absolute;
        right: 40px;
        text-indent: -9999px;
        transition: all 0.3s;
        width: 40px; }
        @media (max-width: 767px) {
          .lineup_section .lineup_inner > div .lineup_item .lineup_btn > div,
          .lineup_section .lineup_inner > div .lineup_item .lineup_btn a {
            bottom: 29px;
            right: 0; } }
      .lineup_section .lineup_inner > div .lineup_item:nth-child(odd) {
        padding: 33px 40px 48px 0; }
        .lineup_section .lineup_inner > div .lineup_item:nth-child(odd):before {
          right: 0; }
      .lineup_section .lineup_inner > div .lineup_item:nth-child(even) {
        padding: 33px 0 48px; }
        .lineup_section .lineup_inner > div .lineup_item:nth-child(even):before {
          left: 0; }
        .lineup_section .lineup_inner > div .lineup_item:nth-child(even) .lineup_cnt {
          padding-left: 40px; }
        .lineup_section .lineup_inner > div .lineup_item:nth-child(even) .lineup_btn a {
          right: 0; }
      @media (max-width: 767px) {
        .lineup_section .lineup_inner > div .lineup_item {
          width: 100%; }
          .lineup_section .lineup_inner > div .lineup_item:nth-child(odd) {
            padding: 19px 0 83px; }
            .lineup_section .lineup_inner > div .lineup_item:nth-child(odd):before {
              right: -15px; }
            .lineup_section .lineup_inner > div .lineup_item:nth-child(odd) img {
              width: 282px !important; }
          .lineup_section .lineup_inner > div .lineup_item:nth-child(even) {
            padding: 33px 0 48px; }
            .lineup_section .lineup_inner > div .lineup_item:nth-child(even):before {
              left: -15px; }
            .lineup_section .lineup_inner > div .lineup_item:nth-child(even) .lineup_cnt {
              padding-left: 0; }
            .lineup_section .lineup_inner > div .lineup_item:nth-child(even) .lineup_btn a {
              right: 0; } }

.feature_section {
  background: rgba(148, 197, 255, 0.1);
  margin-top: 10px;
  padding: 80px 0 77px; }
  @media (max-width: 767px) {
    .feature_section {
      padding: 70px 0 64px; } }
  .feature_section .section_ttl {
    margin-bottom: 20px;
    text-align: left; }
    .feature_section .section_ttl strong {
      display: inline-block;
      padding-right: 40px;
      position: relative;
      top: 10px; }
      @media (max-width: 1120px) {
        .feature_section .section_ttl strong {
          padding-right: 20px; } }
    @media (max-width: 767px) {
      .feature_section .section_ttl {
        margin-bottom: 30px;
        text-align: center; }
        .feature_section .section_ttl strong {
          display: block;
          padding-right: 0;
          top: 0; } }
  @media (max-width: 767px) {
    .feature_section .inner_ttl {
      text-align: center; } }
  .feature_section .feature_list > div {
    display: flex;
    flex-wrap: wrap;
    gap: 75px;
    justify-content: center;
    padding-top: 57px;
    position: relative; }
    @media (max-width: 1120px) {
      .feature_section .feature_list > div {
        gap: 20px; } }
    @media (max-width: 767px) {
      .feature_section .feature_list > div {
        gap: 43px;
        padding-top: 27px; } }
    .feature_section .feature_list > div .feature_item {
      text-align: center;
      width: calc((100% - 150px) / 3); }
      @media (max-width: 1120px) {
        .feature_section .feature_list > div .feature_item {
          width: calc((100% - 40px) / 3); } }
      @media (max-width: 767px) {
        .feature_section .feature_list > div .feature_item {
          width: 100%; } }
      .feature_section .feature_list > div .feature_item .feature_img {
        margin-bottom: 37px; }
        @media (max-width: 767px) {
          .feature_section .feature_list > div .feature_item .feature_img {
            margin-bottom: 24px; } }
        .feature_section .feature_list > div .feature_item .feature_img img {
          height: auto;
          border-radius: 50%;
          overflow: hidden;
          object-fit: cover;
          width: 240px; }
          @media (max-width: 1120px) {
            .feature_section .feature_list > div .feature_item .feature_img img {
              width: 100%; } }
          @media (max-width: 767px) {
            .feature_section .feature_list > div .feature_item .feature_img img {
              width: 240px; } }
      .feature_section .feature_list > div .feature_item .feature_ttl {
        font-size: 28px;
        line-height: 1.42;
        margin-bottom: 15px; }
        @media (max-width: 767px) {
          .feature_section .feature_list > div .feature_item .feature_ttl {
            font-size: 20px; }
            .feature_section .feature_list > div .feature_item .feature_ttl br {
              display: none; } }
      .feature_section .feature_list > div .feature_item .feature_txt {
        color: #000000;
        font-weight: 300;
        line-height: 1.75;
        text-align: left; }

.video_section {
  overflow: hidden;
  position: relative; }
  .video_section .video_thumb {
    position: relative; }
    .video_section .video_thumb img {
      height: 600px;
      object-fit: cover; }
      @media (max-width: 767px) {
        .video_section .video_thumb img {
          height: auto;
          min-height: 260px; } }
    .video_section .video_thumb:after {
      background: rgba(17, 17, 17, 0.3);
      content: '';
      left: 0;
      height: 100%;
      position: absolute;
      top: 0;
      width: 100%; }
  .video_section .video_block {
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    transition: all 0.5s ease-in-out;
    width: 100%; }
    .video_section .video_block .video_file {
      height: 600px;
      object-fit: cover;
      width: 100%; }
      .video_section .video_block .video_file video {
        height: 100%;
        object-fit: cover;
        width: 100%; }
      @media (max-width: 767px) {
        .video_section .video_block .video_file {
          height: auto;
          min-height: 260px; }
          .video_section .video_block .video_file video {
            min-height: 260px;
            object-fit: contain; } }
    .video_section .video_block .pause_btn {
      left: 50%;
      position: absolute;
      opacity: 0;
      top: 50%;
      transform: translate(-50%, -50%);
      transition: all 0.5s ease-in-out; }
      @media (max-width: 767px) {
        .video_section .video_block .pause_btn img {
          width: 46px; } }
  .video_section .video_inner {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    height: 100%;
    left: 0;
    padding: 15px;
    position: absolute;
    opacity: 1;
    text-align: center;
    top: 0;
    transition: all 0.5s ease-in-out;
    width: 100%; }
    .video_section .video_inner .video_ttl {
      font-size: 60px;
      line-height: 1.33;
      margin-bottom: 37px;
      position: relative;
      opacity: 1;
      top: 0;
      transition: all 0.5s ease-in-out; }
      @media (max-width: 767px) {
        .video_section .video_inner .video_ttl {
          font-size: 22px;
          margin-bottom: 15px; } }
    .video_section .video_inner .video_txt {
      font-family: "Roboto", sans-serif;
      font-size: 30px;
      font-weight: bold;
      line-height: 0.8;
      margin-bottom: 50px;
      position: relative;
      opacity: 1;
      text-transform: uppercase;
      top: 0;
      transition: all 0.5s ease-in-out; }
      @media (max-width: 767px) {
        .video_section .video_inner .video_txt {
          font-size: 16px;
          margin-bottom: 26px; } }
    .video_section .video_inner .play_btn {
      opacity: 1;
      transition: all 0.5s ease-in-out; }
      .video_section .video_inner .play_btn img {
        cursor: pointer; }
        @media (max-width: 767px) {
          .video_section .video_inner .play_btn img {
            width: 46px; } }
  .video_section.played .video_block {
    opacity: 1;
    z-index: 2; }
    .video_section.played .video_block:hover .pause_btn {
      cursor: pointer;
      opacity: 0.3;
      z-index: 2; }
      .video_section.played .video_block:hover .pause_btn:hover {
        opacity: 1; }
  .video_section.played .video_inner {
    opacity: 0; }
    .video_section.played .video_inner .video_ttl {
      opacity: 0;
      top: -50px; }
    .video_section.played .video_inner .video_txt {
      opacity: 0;
      top: 50px; }
    .video_section.played .video_inner .play_btn {
      opacity: 0; }

.agents_section {
  background: #fff;
  padding: 75px 0 84px;
  position: relative; }
  @media (max-width: 767px) {
    .agents_section {
      padding: 70px 0 66px; } }
  .agents_section .agents_list {
    position: relative; }
    .agents_section .agents_list .slick-dots {
      display: flex;
      gap: 10px;
      justify-content: center;
      padding: 32px 0; }
      .agents_section .agents_list .slick-dots li {
        background: #fff;
        border: 1px solid #15529B;
        border-radius: 50%;
        cursor: pointer;
        display: block;
        height: 10px;
        text-indent: -9999px;
        width: 10px; }
        .agents_section .agents_list .slick-dots li.slick-active {
          background: #15529B; }
    .agents_section .agents_list:after {
      content: '';
      background: #fff;
      height: 100%;
      right: 0;
      position: absolute;
      top: 0;
      width: 1px;
      z-index: 1; }
    .agents_section .agents_list.agents_noslick > div {
      display: flex;
      flex-wrap: wrap;
      gap: 85px;
      padding: 30px 0 65px; }
      .agents_section .agents_list.agents_noslick > div .agent_item {
        padding: 0;
        width: calc((100% - 170px) / 3); }
        .agents_section .agents_list.agents_noslick > div .agent_item:before {
          right: -45px; }
      @media (max-width: 1120px) {
        .agents_section .agents_list.agents_noslick > div {
          gap: 50px; } }
      @media (max-width: 767px) {
        .agents_section .agents_list.agents_noslick > div {
          gap: 0;
          padding: 13px 0 13px; }
          .agents_section .agents_list.agents_noslick > div .slick-dots {
            display: block;
            padding: 24px 0 14px;
            text-align: center;
            width: 100%; }
            .agents_section .agents_list.agents_noslick > div .slick-dots li {
              display: inline-block;
              padding: 0 4px; }
              .agents_section .agents_list.agents_noslick > div .slick-dots li.slick-active button {
                background: #FC3465; }
            .agents_section .agents_list.agents_noslick > div .slick-dots button {
              background: #E1E1E1;
              border: none;
              border-radius: 50%;
              display: block;
              height: 10px;
              padding: 0;
              text-indent: -9999px;
              width: 10px; } }
  .agents_section .agent_item {
    position: relative;
    text-align: center;
    padding: 0 42px; }
    @media (max-width: 767px) {
      .agents_section .agent_item {
        padding: 0 20px; } }
    .agents_section .agent_item .agent_img img {
      max-height: 165px;
      object-fit: contain; }
    .agents_section .agent_item .agent_ttl {
      font-size: 18px;
      font-weight: bold;
      line-height: 1.33;
      padding: 14px 0;
      text-align: left; }
    .agents_section .agent_item .ag_item_list {
      display: flex;
      gap: 5px; }
      .agents_section .agent_item .ag_item_list li {
        border: 1px solid #15529B;
        color: #15529B;
        line-height: 1;
        padding: 2px 8px 4px; }
    @media (max-width: 1120px) {
      .agents_section .agent_item {
        width: calc((100% - 100px) / 3); } }
    @media (max-width: 767px) {
      .agents_section .agent_item img {
        margin: 0 auto; }
      .agents_section .agent_item .agent_ttl {
        font-size: 16px !important;
        padding: 14px 0; } }
    .agents_section .agent_item:before {
      background-color: #CCCCCC;
      bottom: 0;
      content: '';
      display: block;
      position: absolute;
      right: 0;
      top: 10px;
      width: 1px; }
      @media (max-width: 1120px) {
        .agents_section .agent_item:before {
          right: -25px; } }
      @media (max-width: 767px) {
        .agents_section .agent_item:before {
          display: none; } }
    .agents_section .agent_item:last-child:before {
      display: none; }

.messages_section {
  padding: 60px 0 71px; }
  .messages_section .messages_inner .section_ttl {
    margin-bottom: 45px;
    text-align: left; }
    @media (max-width: 767px) {
      .messages_section .messages_inner .section_ttl {
        margin-bottom: 25px; } }
  .messages_section .messages_inner .inner_ttl {
    font-size: 40px;
    margin-bottom: 31px; }
    @media (max-width: 1120px) {
      .messages_section .messages_inner .inner_ttl {
        font-size: 30px; } }
    @media (max-width: 1120px) {
      .messages_section .messages_inner .inner_ttl {
        font-size: 24px; } }
  .messages_section .messages_inner .messages_signature {
    display: flex;
    font-size: 18px;
    justify-content: end;
    margin: 42px 0 0;
    text-align: right; }
    @media (max-width: 767px) {
      .messages_section .messages_inner .messages_signature {
        margin-top: 20px; } }
    .messages_section .messages_inner .messages_signature .messages_pos {
      margin-bottom: 7px; }
    .messages_section .messages_inner .messages_signature .messages_sign img {
      max-height: 50px;
      width: auto; }
      @media (max-width: 767px) {
        .messages_section .messages_inner .messages_signature .messages_sign img {
          max-height: 40px; } }

.concept_section {
  position: relative; }
  .concept_section .concept_header {
    min-height: 600px;
    padding: 110px 0 175px;
    position: relative; }
    @media (max-width: 767px) {
      .concept_section .concept_header {
        min-height: 500px;
        padding: 70px 0 110px; } }
    .concept_section .concept_header:before {
      background: url(images/aboutus/concept_bg.jpg) no-repeat center center;
      background-size: cover;
      background-attachment: fixed;
      content: '';
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%; }
      @media (max-width: 1120px) {
        .concept_section .concept_header:before {
          background-attachment: unset; } }
    .concept_section .concept_header:after {
      background: rgba(21, 82, 155, 0.3);
      content: '';
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%; }
    .concept_section .concept_header .section_ttl {
      color: #fff;
      margin-bottom: 20px;
      text-align: left;
      position: relative;
      z-index: 1; }
    .concept_section .concept_header .inner_ttl {
      color: #fff;
      font-size: 40px;
      font-weight: 500;
      margin-bottom: 75px;
      position: relative;
      z-index: 1; }
      @media (max-width: 1120px) {
        .concept_section .concept_header .inner_ttl {
          font-size: 30px; } }
      @media (max-width: 1120px) {
        .concept_section .concept_header .inner_ttl {
          font-size: 24px; } }
  .concept_section .concept_inner {
    counter-reset: item-counter;
    margin-top: -175px;
    position: relative;
    z-index: 1; }
    .concept_section .concept_inner .concept_list {
      background: #fff;
      border-radius: 20px;
      padding: 57px 50px 80px; }
      @media (max-width: 767px) {
        .concept_section .concept_inner .concept_list {
          padding: 20px 20px 50px; } }
      .concept_section .concept_inner .concept_list > div {
        display: flex;
        flex-wrap: wrap;
        gap: 40px; }
        @media (max-width: 767px) {
          .concept_section .concept_inner .concept_list > div {
            flex-direction: column;
            gap: 20px; } }
        .concept_section .concept_inner .concept_list > div .concept_item {
          position: relative;
          width: calc((100% - 80px) / 3); }
          @media (max-width: 767px) {
            .concept_section .concept_inner .concept_list > div .concept_item {
              width: 100%; } }
          .concept_section .concept_inner .concept_list > div .concept_item:before {
            color: #15529B;
            content: "POINT " counter(item-counter,decimal-leading-zero);
            counter-increment: item-counter;
            display: block;
            font-weight: bold; }
          .concept_section .concept_inner .concept_list > div .concept_item .concept_ttl {
            color: #3D3D3D;
            font-size: 28px;
            font-weight: bold;
            line-height: 1.5;
            margin-bottom: 9px; }
            @media (max-width: 1120px) {
              .concept_section .concept_inner .concept_list > div .concept_item .concept_ttl {
                font-size: 22px; } }
          .concept_section .concept_inner .concept_list > div .concept_item .concept_cnt {
            color: #000;
            font-weight: 300;
            line-height: 1.625; }
  .concept_section .concept_img {
    position: relative; }
    .concept_section .concept_img:after {
      background: rgba(21, 82, 155, 0.2);
      content: '';
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%; }
    .concept_section .concept_img > div {
      display: flex;
      flex-wrap: wrap; }
      .concept_section .concept_img > div figure {
        height: 30vw;
        max-height: 400px;
        min-height: 120px;
        width: 33.33%; }
        .concept_section .concept_img > div figure img {
          height: 100%;
          width: 100%;
          object-fit: cover; }

.policy_section {
  background: rgba(148, 197, 255, 0.1);
  padding: 110px 0 95px; }
  @media (max-width: 767px) {
    .policy_section {
      padding: 50px 0 40px; } }
  .policy_section .policy_inner .section_ttl strong {
    line-height: 1.3; }
  .policy_section .policy_inner .policy_item {
    padding: 85px 0 50px; }
    @media (max-width: 767px) {
      .policy_section .policy_inner .policy_item {
        padding: 40px 0 20px; } }
    .policy_section .policy_inner .policy_item > div {
      display: flex;
      flex-wrap: wrap; }
      @media (max-width: 767px) {
        .policy_section .policy_inner .policy_item > div {
          flex-direction: column;
          gap: 30px; } }
      .policy_section .policy_inner .policy_item > div .policy_cnt {
        width: 50%; }
        @media (max-width: 767px) {
          .policy_section .policy_inner .policy_item > div .policy_cnt {
            width: 100%; } }
        .policy_section .policy_inner .policy_item > div .policy_cnt .policy_subttl {
          font-size: 30px;
          font-weight: 500;
          margin-bottom: 19px;
          text-transform: uppercase; }
          @media (max-width: 767px) {
            .policy_section .policy_inner .policy_item > div .policy_cnt .policy_subttl {
              font-size: 24px;
              margin-bottom: 10px; } }
        .policy_section .policy_inner .policy_item > div .policy_cnt .policy_ttl {
          color: #15529B;
          font-size: 40px;
          font-weight: bold;
          line-height: 1.5;
          margin-bottom: 30px; }
          @media (max-width: 1120px) {
            .policy_section .policy_inner .policy_item > div .policy_cnt .policy_ttl {
              font-size: 30px; } }
          @media (max-width: 1120px) {
            .policy_section .policy_inner .policy_item > div .policy_cnt .policy_ttl {
              font-size: 24px;
              margin-bottom: 15px; } }
      .policy_section .policy_inner .policy_item > div .policy_img {
        width: 50%; }
        @media (max-width: 767px) {
          .policy_section .policy_inner .policy_item > div .policy_img {
            width: 100%;
            order: 2; } }
        .policy_section .policy_inner .policy_item > div .policy_img img {
          border-radius: 20px 0 0 20px;
          height: 400px;
          object-fit: cover;
          overflow: hidden;
          width: 50vw;
          max-width: unset; }
          @media (max-width: 767px) {
            .policy_section .policy_inner .policy_item > div .policy_img img {
              border-radius: 10px;
              height: 220px;
              width: 100%; } }
    .policy_section .policy_inner .policy_item:nth-child(even) .policy_cnt {
      padding-right: 58px; }
      @media (max-width: 1120px) {
        .policy_section .policy_inner .policy_item:nth-child(even) .policy_cnt {
          padding-right: 30px; } }
      @media (max-width: 767px) {
        .policy_section .policy_inner .policy_item:nth-child(even) .policy_cnt {
          padding-right: 0; } }
    .policy_section .policy_inner .policy_item:nth-child(odd) .policy_cnt {
      order: 2;
      padding-left: 58px;
      text-align: right; }
      @media (max-width: 1120px) {
        .policy_section .policy_inner .policy_item:nth-child(odd) .policy_cnt {
          padding-left: 30px; } }
      @media (max-width: 767px) {
        .policy_section .policy_inner .policy_item:nth-child(odd) .policy_cnt {
          padding-left: 0;
          order: 1;
          text-align: left; } }
    .policy_section .policy_inner .policy_item:nth-child(odd) .policy_img {
      width: 50%; }
      @media (max-width: 767px) {
        .policy_section .policy_inner .policy_item:nth-child(odd) .policy_img {
          width: 100%; } }
      .policy_section .policy_inner .policy_item:nth-child(odd) .policy_img img {
        border-radius: 0 20px 20px 0;
        float: right;
        height: 400px;
        object-fit: cover;
        overflow: hidden;
        width: 50vw;
        max-width: unset; }
        @media (max-width: 767px) {
          .policy_section .policy_inner .policy_item:nth-child(odd) .policy_img img {
            border-radius: 10px;
            height: 220px;
            width: 100%; } }

.company_section {
  padding: 70px 0; }
  @media (max-width: 767px) {
    .company_section {
      padding: 40px 0; } }
  .company_section .section_ttl {
    text-align: left; }
    .company_section .section_ttl strong {
      line-height: 1; }
  .company_section .company_table {
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    margin-top: 51px; }
    .company_section .company_table table {
      border: none; }
      .company_section .company_table table tr {
        border-bottom: 1px dashed #CCC; }
        .company_section .company_table table tr td {
          border: none;
          padding: 23px 10px 20px 13px;
          vertical-align: top; }
          @media (max-width: 767px) {
            .company_section .company_table table tr td {
              padding: 15px 5px 12px 10px; } }
          .company_section .company_table table tr td:first-child {
            font-weight: bold;
            padding-left: 30px;
            width: 350px; }
            @media (max-width: 767px) {
              .company_section .company_table table tr td:first-child {
                padding-left: 10px;
                width: 110px; } }
          .company_section .company_table table tr td strong {
            margin-bottom: 7px;
            display: inline-block; }
          .company_section .company_table table tr td a[target="_blank"] {
            background: url(images/icon/external-link-blue.svg) no-repeat bottom 8px right;
            background-size: 12px 12px;
            color: #222222;
            display: inline-block;
            margin-bottom: 8px;
            padding-right: 22px;
            text-decoration: none;
            transition: all 0.3s; }
            .company_section .company_table table tr td a[target="_blank"]:hover {
              color: #15529B; }
            .company_section .company_table table tr td a[target="_blank"]:last-child {
              margin-bottom: 0; }
            .company_section .company_table table tr td a[target="_blank"].ggmap_link {
              background: #00A2FF url(images/icon/map_icon.svg) no-repeat center right 11px;
              background-size: 17px 10px;
              border-radius: 10px;
              color: #fff;
              margin: 7px 3px 21px;
              padding: 4px 11px 4px 5px;
              text-align: center;
              transition: all 0.3s;
              width: 100%;
              max-width: 200px; }
              .company_section .company_table table tr td a[target="_blank"].ggmap_link:hover {
                background-color: #15529B; }
              .company_section .company_table table tr td a[target="_blank"].ggmap_link:last-child {
                margin-bottom: 7px; }
        .company_section .company_table table tr:last-child {
          border: none; }

.customers_section {
  padding: 38px 0;
  overflow: hidden; }
  .customers_section .section_ttl {
    margin: 0 auto 30px;
    max-width: 1230px;
    padding-left: 15px;
    padding-right: 15px;
    text-align: left; }
    .customers_section .section_ttl strong {
      line-height: 1; }
  .customers_section .customers_list.customer_noslick figure {
    width: 20%;
    min-width: 255px; }
  .customers_section .customers_list > div {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    justify-content: center; }
    .customers_section .customers_list > div figure {
      align-items: center;
      display: flex;
      height: 100%;
      justify-content: center;
      padding: 0 20px; }
      .customers_section .customers_list > div figure img {
        max-height: 100%;
        max-width: 100%;
        object-fit: contain; }
    .customers_section .customers_list > div .slick-list {
      align-items: center;
      display: flex;
      height: 100%;
      overflow: hidden; }
    .customers_section .customers_list > div .slick-track {
      align-items: center;
      display: flex; }

.history_section {
  padding: 72px 0 86px;
  overflow: hidden; }
  @media (max-width: 767px) {
    .history_section {
      padding: 40px 0 60px; } }
  .history_section .section_ttl {
    text-align: left; }
    .history_section .section_ttl strong {
      line-height: 1; }
  .history_section .history_list {
    margin-top: 53px;
    padding: 46px 0 40px 60px;
    position: relative;
    z-index: 1; }
    @media (max-width: 767px) {
      .history_section .history_list {
        margin-top: 30px;
        padding: 30px 0 0 20px; } }
    .history_section .history_list:before {
      background: rgba(148, 197, 255, 0.1);
      border-radius: 20px 0 0 20px;
      content: '';
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 100vw;
      z-index: -1; }
    .history_section .history_list .history_item {
      background: url(images/icon/history-icon.svg) no-repeat top 15px left;
      padding-bottom: 10px;
      padding-left: 92px;
      position: relative; }
      @media (max-width: 767px) {
        .history_section .history_list .history_item {
          background: url(images/icon/history-icon.svg) no-repeat top 10px left;
          background-size: 40px auto;
          padding-left: 45px; } }
      .history_section .history_list .history_item .history_time {
        font-size: 20px;
        font-weight: bold;
        line-height: 1.6; }
        @media (max-width: 767px) {
          .history_section .history_list .history_item .history_time {
            font-size: 16px; } }
        .history_section .history_list .history_item .history_time strong {
          display: inline-block;
          font-size: 30px;
          font-weight: 700;
          margin-right: 10px; }
          @media (max-width: 767px) {
            .history_section .history_list .history_item .history_time strong {
              font-size: 20px; }
              .history_section .history_list .history_item .history_time strong strong {
                font-size: 24px; } }
      .history_section .history_list .history_item .history_desc {
        margin-bottom: 10px; }
      .history_section .history_list .history_item .history_img {
        padding-bottom: 25px; }
        .history_section .history_list .history_item .history_img img {
          border-radius: 10px;
          border: 5px solid #fff;
          max-height: 190px;
          object-fit: cover;
          width: auto; }
        .history_section .history_list .history_item .history_img.portrait_img img {
          max-height: 250px; }

.agents_page_section {
  background: #fff;
  padding: 64px 0 84px;
  position: relative; }
  @media (max-width: 767px) {
    .agents_page_section {
      padding: 50px 0 60px; } }
  .agents_page_section .agent_page_ttl {
    font-size: 40px;
    font-weight: bold;
    line-height: calc(66/40);
    text-align: center; }
    @media (max-width: 767px) {
      .agents_page_section .agent_page_ttl {
        font-size: 30px; } }
  .agents_page_section .agents_list > div {
    display: flex;
    flex-wrap: wrap;
    gap: 42px; }
    @media (max-width: 1120px) {
      .agents_page_section .agents_list > div {
        gap: 24px; } }
    .agents_page_section .agents_list > div .agent_item {
      width: calc((100% - 42px * 3) / 4);
      padding: 0; }
      .agents_page_section .agents_list > div .agent_item:nth-child(4n):before {
        display: none; }
      @media (max-width: 1120px) {
        .agents_page_section .agents_list > div .agent_item {
          width: calc((100% - 24px) / 2); }
          .agents_page_section .agents_list > div .agent_item:nth-child(2n):before {
            display: none; } }
      @media (max-width: 767px) {
        .agents_page_section .agents_list > div .agent_item {
          border-bottom: 1px solid #CCCCCC;
          padding-bottom: 30px;
          width: 100%; }
          .agents_page_section .agents_list > div .agent_item:last-child {
            border-bottom: none; }
          .agents_page_section .agents_list > div .agent_item:before {
            display: none; } }
      .agents_page_section .agents_list > div .agent_item:before {
        right: -21px;
        top: 28px; }
        @media (max-width: 1120px) {
          .agents_page_section .agents_list > div .agent_item:before {
            right: -12px; } }
      .agents_page_section .agents_list > div .agent_item .agent_img {
        height: 198px;
        display: flex;
        justify-content: center;
        align-items: center; }
      .agents_page_section .agents_list > div .agent_item .agent_ttl {
        font-size: 20px;
        line-height: calc(30/20);
        padding: 12px 0 2px; }
      .agents_page_section .agents_list > div .agent_item .agent_content {
        margin-top: 17px;
        text-align: left; }
        .agents_page_section .agents_list > div .agent_item .agent_content .agent_address {
          background: url(images/icon/map_pin_icon.svg) no-repeat top 4px left 4px;
          font-size: 14px;
          line-height: calc(24/14);
          padding-left: 34px; }
          .agents_page_section .agents_list > div .agent_item .agent_content .agent_address .gg_link {
            background: #00A2FF url(images/icon/map_icon.svg) no-repeat center right 6px;
            background-size: 17px 10px;
            border-radius: 5px;
            color: #fff;
            display: block;
            font-size: 14px;
            margin: 6px 0 11px;
            padding: 4px 11px 6px 14px;
            text-align: left;
            text-decoration: none;
            transition: all 0.15s;
            width: 138px; }
            .agents_page_section .agents_list > div .agent_item .agent_content .agent_address .gg_link:hover {
              background-color: #15529B; }
        .agents_page_section .agents_list > div .agent_item .agent_content .agent_phone {
          background: url(images/icon/phone_icon.svg) no-repeat top 4px left 4px;
          font-size: 14px;
          line-height: calc(24/14);
          margin-bottom: 11px;
          padding-left: 34px; }
        .agents_page_section .agents_list > div .agent_item .agent_content .agent_email {
          background: url(images/icon/mail_icon.svg) no-repeat top 4px left 4px;
          font-size: 14px;
          line-height: calc(24/14);
          margin-bottom: 7px;
          padding-left: 34px; }
        .agents_page_section .agents_list > div .agent_item .agent_content .agent_site {
          background: url(images/icon/desktop_icon.svg) no-repeat top 10px left 4px;
          padding-left: 34px; }
          .agents_page_section .agents_list > div .agent_item .agent_content .agent_site li {
            display: block; }
            .agents_page_section .agents_list > div .agent_item .agent_content .agent_site li a {
              background: url(images/icon/external-link-blue.svg) no-repeat top 5px right;
              background-size: 12px auto;
              color: #222222;
              font-size: 14px;
              line-height: calc(24/14);
              padding-right: 15px;
              text-decoration: none; }
              .agents_page_section .agents_list > div .agent_item .agent_content .agent_site li a:hover {
                color: #15529B; }

.news_page {
  padding: 50px 0; }
  @media (max-width: 767px) {
    .news_page {
      padding: 20px 0; } }
  .news_page .news_page_ttl {
    border-bottom: 1px solid #CCCCCC;
    font-size: 40px;
    font-weight: bold;
    line-height: calc(66/40);
    margin-bottom: 41px;
    padding-bottom: 22px;
    position: relative; }
    @media (max-width: 767px) {
      .news_page .news_page_ttl {
        font-size: 30px; } }
    .news_page .news_page_ttl:after {
      background: #15529B;
      bottom: -1px;
      content: '';
      display: block;
      height: 1px;
      left: 1px;
      position: absolute;
      width: 100px; }
  .news_page .news_item {
    border-bottom: 1px solid #CCCCCC;
    display: flex;
    gap: 5%;
    padding-bottom: 37px;
    margin-bottom: 39px; }
    @media (max-width: 767px) {
      .news_page .news_item {
        flex-direction: column;
        gap: 20px; } }
    .news_page .news_item .news_item_lft {
      min-width: 33.3%;
      width: 33.3%; }
      @media (max-width: 767px) {
        .news_page .news_item .news_item_lft {
          width: 100%; } }
      .news_page .news_item .news_item_lft img {
        border-radius: 20px;
        overflow: hidden; }
        @media (max-width: 767px) {
          .news_page .news_item .news_item_lft img {
            border-radius: 10px; } }
    .news_page .news_item .news_item_rgt {
      width: 61.7%; }
      @media (max-width: 767px) {
        .news_page .news_item .news_item_rgt {
          width: 100%; } }
      .news_page .news_item .news_item_rgt .news_item_title {
        font-size: 24px;
        font-weight: bold;
        line-height: calc(35/24); }
        @media (max-width: 767px) {
          .news_page .news_item .news_item_rgt .news_item_title {
            font-size: 20px; } }
      .news_page .news_item .news_item_rgt .news_date {
        color: #999999;
        display: block;
        margin: 10px 0 15px; }
      .news_page .news_item .news_item_rgt .news_item_content p {
        min-height: 11px; }
      .news_page .news_item .news_item_rgt .news_item_except {
        margin-bottom: 23px; }
      .news_page .news_item .news_item_rgt .news_item_expand {
        color: #0074FF;
        display: flex;
        font-weight: 400;
        gap: 5px;
        align-items: center; }
        .news_page .news_item .news_item_rgt .news_item_expand:after {
          background: url(images/icon/expand_icon.svg) no-repeat top left;
          content: '';
          display: inline-block;
          height: 15px;
          left: 5px;
          position: relative;
          top: 5px;
          width: 16px; }
        .news_page .news_item .news_item_rgt .news_item_expand .view_more {
          display: block; }
        .news_page .news_item .news_item_rgt .news_item_expand .view_less {
          display: none; }
        .news_page .news_item .news_item_rgt .news_item_expand.active:after {
          transform-origin: 8px 4px;
          transform: rotate(180deg); }
        .news_page .news_item .news_item_rgt .news_item_expand.active .view_more {
          display: none; }
        .news_page .news_item .news_item_rgt .news_item_expand.active .view_less {
          display: block; }
      .news_page .news_item .news_item_rgt .news_item_full {
        display: none; }
  .news_page ul.page-numbers {
    padding: 0 0 20px; }
  .news_page .page-numbers {
    display: flex;
    gap: 10px;
    justify-content: center; }
    .news_page .page-numbers li {
      height: 50px;
      width: 50px; }
      .news_page .page-numbers li .page-numbers {
        align-items: center;
        border-radius: 50%;
        background: #F4F9FF;
        border: 3px solid #f4f9ff;
        color: #15529B;
        display: flex;
        justify-content: center;
        font-size: 16px;
        font-weight: bold;
        line-height: 1;
        height: 50px;
        text-decoration: none;
        width: 50px; }
        .news_page .page-numbers li .page-numbers.current {
          border: 3px solid #0074FF;
          background: #0074FF;
          color: #ffffff; }
        .news_page .page-numbers li .page-numbers.prev {
          border: 3px solid #0074FF;
          background: url(images/icon/prev_icon.svg) no-repeat center center; }
        .news_page .page-numbers li .page-numbers.next {
          border: 3px solid #0074FF;
          background: url(images/icon/next_icon.svg) no-repeat center center; }

.product_section {
  padding-top: 52px;
  overflow: hidden; }
  .product_section .product_inner {
    display: flex;
    justify-content: start;
    padding-top: 172px;
    position: relative; }
    @media (max-width: 767px) {
      .product_section .product_inner {
        padding-top: 0; } }
    .product_section .product_inner:before {
      background: #F0F1F5;
      border-radius: 20px 0 0;
      content: '';
      height: 499px;
      left: 0;
      top: 0;
      position: absolute;
      width: 100vw; }
    .product_section .product_inner .product_inner_content {
      background: #fff;
      border-radius: 0 20px 0 0;
      padding: 113px 65px 0 0;
      position: relative;
      max-width: 636px;
      z-index: 1; }
      @media (max-width: 1120px) {
        .product_section .product_inner .product_inner_content {
          padding: 95px 45px 0 0;
          max-width: 70%; } }
      @media (max-width: 767px) {
        .product_section .product_inner .product_inner_content {
          padding: 70px 20px 0 0;
          max-width: 100%; } }
      .product_section .product_inner .product_inner_content:before {
        background: #fff;
        content: '';
        height: 100%;
        left: -100%;
        position: absolute;
        top: 0;
        width: 100%; }
      .product_section .product_inner .product_inner_content .product_inner_num {
        color: #F5F5F5;
        font-family: "Roboto", sans-serif;
        font-size: 140px;
        font-weight: bold;
        line-height: calc(66/140);
        left: 0;
        position: absolute;
        top: 54px;
        z-index: -1; }
        @media (max-width: 1120px) {
          .product_section .product_inner .product_inner_content .product_inner_num {
            font-size: 110px; } }
        @media (max-width: 767px) {
          .product_section .product_inner .product_inner_content .product_inner_num {
            font-size: 90px;
            top: 40px; } }
      .product_section .product_inner .product_inner_content .product_inner_title {
        color: #111111;
        font-family: "Noto Sans JP", sans-serif;
        font-size: 40px;
        font-weight: bold;
        line-height: calc(40/28);
        margin-bottom: 29px;
        text-transform: uppercase; }
        @media (max-width: 1120px) {
          .product_section .product_inner .product_inner_content .product_inner_title {
            font-size: 30px;
            margin-bottom: 15px; } }
        @media (max-width: 767px) {
          .product_section .product_inner .product_inner_content .product_inner_title {
            font-size: 25px; } }
      .product_section .product_inner .product_inner_content .product_inner_subttl {
        color: #15529B;
        font-family: "Noto Sans JP", sans-serif;
        font-size: 40px;
        font-weight: bold;
        line-height: calc(66/40);
        margin-bottom: 10px; }
        @media (max-width: 1120px) {
          .product_section .product_inner .product_inner_content .product_inner_subttl {
            font-size: 30px; } }
        @media (max-width: 767px) {
          .product_section .product_inner .product_inner_content .product_inner_subttl {
            font-size: 25px; } }
      .product_section .product_inner .product_inner_content .product_inner_txt {
        color: #111111;
        font-family: "Noto Sans JP", sans-serif;
        line-height: 2; }
    .product_section .product_inner .product_inner_thumb {
      padding: 30px 15px; }
      .product_section .product_inner .product_inner_thumb img {
        position: absolute;
        top: 35px;
        right: 0;
        transform: scale(0.5);
        transform-origin: top right; }
        @media (max-width: 767px) {
          .product_section .product_inner .product_inner_thumb img {
            position: relative;
            transform: unset;
            top: 0; } }
    .product_section .product_inner.odd {
      justify-content: end;
      margin-top: 55px;
      padding-top: 162px; }
      @media (max-width: 767px) {
        .product_section .product_inner.odd {
          margin-top: 0;
          padding-top: 0; } }
      .product_section .product_inner.odd:before {
        background: #F0F1F5;
        border-radius: 0 20px 0 0;
        content: '';
        height: 499px;
        left: unset;
        right: 0;
        top: 0;
        position: absolute;
        width: 100vw; }
      .product_section .product_inner.odd .product_inner_content {
        border-radius: 20px 0 0 0;
        float: right;
        padding: 116px 0 0 67px; }
        @media (max-width: 1120px) {
          .product_section .product_inner.odd .product_inner_content {
            padding: 95px 0 0 45px; } }
        @media (max-width: 767px) {
          .product_section .product_inner.odd .product_inner_content {
            padding: 70px 0 0 20px; } }
        .product_section .product_inner.odd .product_inner_content:before {
          background: #fff;
          content: '';
          height: 100%;
          left: unset;
          right: -100%;
          position: absolute;
          top: 0;
          width: 100%; }
        .product_section .product_inner.odd .product_inner_content .product_inner_num {
          left: 70px; }
          @media (max-width: 1120px) {
            .product_section .product_inner.odd .product_inner_content .product_inner_num {
              left: 45px; } }
          @media (max-width: 767px) {
            .product_section .product_inner.odd .product_inner_content .product_inner_num {
              left: 20px; } }
      .product_section .product_inner.odd .product_inner_thumb img {
        right: unset;
        left: 0;
        transform-origin: top left; }

.product_list_inner {
  padding-top: 75px; }
  .product_list_inner .product_cat_ttl {
    border-bottom: 1px solid #CCCCCC;
    color: #3D3D3D;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 30px;
    font-weight: bold;
    line-height: calc(40/30);
    margin-bottom: 34px;
    padding-bottom: 23px;
    position: relative;
    text-transform: uppercase; }
    @media (max-width: 767px) {
      .product_list_inner .product_cat_ttl {
        font-size: 24px; } }
    .product_list_inner .product_cat_ttl:before {
      background: #15529B;
      bottom: -1px;
      content: '';
      height: 1px;
      left: 0;
      position: absolute;
      width: 100px; }
  .product_list_inner .product_cat_txt {
    margin-bottom: 34px; }
  .product_list_inner .products-inner {
    display: flex;
    flex-wrap: wrap;
    gap: 65px 74px;
    justify-content: start; }
    @media (max-width: 1120px) {
      .product_list_inner .products-inner {
        gap: 30px; } }
    @media (max-width: 767px) {
      .product_list_inner .products-inner {
        flex-direction: column; } }
    .product_list_inner .products-inner .product-item {
      width: calc((100% - 148px) / 3); }
      @media (max-width: 1120px) {
        .product_list_inner .products-inner .product-item {
          width: calc((100% - 60px) / 3); } }
      @media (max-width: 767px) {
        .product_list_inner .products-inner .product-item {
          text-align: center;
          width: 100%; } }
      .product_list_inner .products-inner .product-item img {
        border-radius: 10px;
        display: block;
        overflow: hidden; }
      .product_list_inner .products-inner .product-item .product_num {
        color: #15529B;
        display: block;
        font-family: "Roboto", sans-serif;
        font-weight: bold;
        margin: 26px 0 2px; }
        @media (max-width: 767px) {
          .product_list_inner .products-inner .product-item .product_num {
            margin: 10px 0 2px; } }
      .product_list_inner .products-inner .product-item .product_title {
        color: #3D3D3D;
        font-family: "Noto Sans JP", sans-serif;
        font-size: 24px;
        font-weight: bold;
        line-height: calc(40/24); }
        @media (max-width: 1120px) {
          .product_list_inner .products-inner .product-item .product_title {
            font-size: 20px; } }

.product_content {
  text-align: left; }

.last_cat_section {
  background: url(images/product/product_bg.jpg) no-repeat center center;
  background-size: cover;
  margin-top: 97px;
  padding: 77px 0 73px;
  position: relative; }
  @media only screen and (min-width: 1200px) {
    .last_cat_section {
      background-attachment: fixed; } }
  .last_cat_section:before {
    content: '';
    background: rgba(21, 82, 155, 0.7);
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%; }
  .last_cat_section .last_cat_ttl {
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 40px;
    font-weight: bold;
    line-height: calc(66/40);
    margin-bottom: 46px;
    position: relative;
    text-align: center; }
    @media (max-width: 1120px) {
      .last_cat_section .last_cat_ttl {
        font-size: 30px; } }
    @media (max-width: 767px) {
      .last_cat_section .last_cat_ttl {
        font-size: 24px; } }
  .last_cat_section .last_cat_list {
    position: relative; }
    .last_cat_section .last_cat_list .products-inner {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 50px 75px; }
      @media (max-width: 1120px) {
        .last_cat_section .last_cat_list .products-inner {
          gap: 30px; } }
      @media (max-width: 767px) {
        .last_cat_section .last_cat_list .products-inner {
          gap: 15px;
          flex-direction: row; } }
      .last_cat_section .last_cat_list .products-inner .product-item {
        align-items: center;
        background: #fff;
        border-radius: 10px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        overflow: hidden;
        text-align: center;
        padding: 20px 20px 35px;
        width: calc((100% - 150px) / 3); }
        @media (max-width: 1120px) {
          .last_cat_section .last_cat_list .products-inner .product-item {
            width: calc((100% - 60px) / 3); } }
        @media (max-width: 767px) {
          .last_cat_section .last_cat_list .products-inner .product-item {
            border-radius: 5px;
            padding: 15px 10px;
            width: calc(50% - 7.5px); } }
        .last_cat_section .last_cat_list .products-inner .product-item img {
          height: auto;
          margin-bottom: 20px;
          width: 213px; }
          @media (max-width: 767px) {
            .last_cat_section .last_cat_list .products-inner .product-item img {
              max-height: 30vw;
              margin-bottom: 10px;
              width: auto;
              max-width: 100%; } }
        .last_cat_section .last_cat_list .products-inner .product-item .product_title {
          color: #15529B;
          font-family: "Noto Sans JP", sans-serif;
          font-size: 20px;
          font-weight: bold;
          line-height: calc(32/20); }
          @media (max-width: 767px) {
            .last_cat_section .last_cat_list .products-inner .product-item .product_title {
              font-size: 16px; } }
  .last_cat_section .last_cat_txt {
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    line-height: calc(28 / 16);
    padding: 30px 0 0;
    position: relative; }

.circle {
  position: fixed;
  transition: transform 0.3s ease-out;
  border-radius: 100%;
  display: inline-block; }

.BeforeScroll {
  opacity: 0;
  transition: 0.3s all ease-in-out; }

.AfterScroll {
  opacity: 1; }

.circle-1 {
  right: 16.7vw;
  top: 9vw;
  -webkit-animation: circle1 18s linear infinite;
  animation: circle1 18s linear infinite;
  height: 22px;
  width: 22px;
  background: #009b75; }

@keyframes circle1 {
  0% {
    transform-origin: -400% 50%;
    transform: rotate(0deg); }
  50% {
    transform-origin: -400% 50%;
    transform: rotate(1turn); }
  50.1% {
    transform-origin: 400% 50%;
    transform: rotate(0deg); }
  to {
    transform-origin: 400% 50%;
    transform: rotate(-1turn); } }
.circle-2 {
  left: 27.2vw;
  top: 19.1vw;
  -webkit-animation: circle2 15s linear infinite;
  animation: circle2 15s linear infinite;
  height: 18px;
  width: 18px;
  background: #5cd9ff; }

@keyframes circle2 {
  0% {
    transform-origin: 200% 100%;
    transform: rotate(0deg); }
  50% {
    transform-origin: 200% 100%;
    transform: rotate(1turn); }
  50.1% {
    transform-origin: -500% 70%;
    transform: rotate(0deg); }
  to {
    transform-origin: -50% -100%;
    transform: rotate(-1turn); } }
.circle-3 {
  right: 21vw;
  top: 14.5vw;
  -webkit-animation: circle3 18s linear infinite;
  animation: circle3 18s linear infinite;
  height: 16px;
  width: 16px;
  background: #5cd9ff; }

@keyframes circle3 {
  0% {
    transform-origin: 200% 70%;
    transform: rotate(1turn); }
  50% {
    transform-origin: 200% 70%;
    transform: rotate(0deg); }
  50.1% {
    transform-origin: -200% 70%;
    transform: rotate(1turn); }
  to {
    transform-origin: -200% 70%;
    transform: rotate(0deg); } }
.circle-4 {
  right: 14.2vw;
  top: 43.5vw;
  -webkit-animation: circle4 18s linear infinite;
  animation: circle4 18s linear infinite;
  height: 12px;
  width: 12px;
  background: #ffbd16; }

@keyframes circle4 {
  0% {
    transform-origin: 20% 300%;
    transform: rotate(45deg); }
  50% {
    transform-origin: 20% 300%;
    transform: rotate(1turn); }
  50.1% {
    transform-origin: 20% -300%;
    transform: rotate(0deg); }
  to {
    transform-origin: 20% -300%;
    transform: rotate(-1turn); } }
.circle-5 {
  top: 33.9vw;
  left: 20.7vw;
  -webkit-animation: circle5 14s linear infinite;
  animation: circle5 14s linear infinite;
  height: 10px;
  width: 10px;
  background: #0078db; }

@keyframes circle5 {
  0% {
    transform-origin: 200% 100%;
    transform: rotate(0deg); }
  50% {
    transform-origin: 200% 100%;
    transform: rotate(1turn); }
  50.1% {
    transform-origin: -500% 70%;
    transform: rotate(0deg); }
  to {
    transform-origin: -50% -100%;
    transform: rotate(-1turn); } }
.circle-6 {
  top: 58.9vw;
  left: 12.5vw;
  -webkit-animation: circle6 18s linear infinite;
  animation: circle6 18s linear infinite;
  height: 10px;
  width: 10px;
  background: #ff8000; }

@keyframes circle6 {
  0% {
    transform-origin: 50% 400%;
    transform: rotate(0deg); }
  50% {
    transform-origin: 50% 400%;
    transform: rotate(1turn); }
  50.1% {
    transform-origin: 50% -400%;
    transform: rotate(0deg); }
  to {
    transform-origin: 50% -400%;
    transform: rotate(-1turn); } }
.page_header {
  position: relative; }
  @media (max-width: 1120px) {
    .page_header {
      background-attachment: unset !important; } }
  .page_header:before {
    background: rgba(21, 82, 155, 0.3);
    content: '';
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%; }
  .page_header .page_header_img {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    visibility: hidden; }
  .page_header .page_header_ttl {
    align-items: start;
    color: #fff;
    display: flex;
    font-size: 30px;
    font-weight: 500;
    flex-direction: column;
    justify-content: center;
    min-height: 300px;
    padding: 95px 0 15px;
    position: relative;
    text-transform: uppercase; }
    .page_header .page_header_ttl strong {
      display: block;
      font-family: "Roboto", sans-serif;
      font-size: 80px;
      font-weight: 300;
      line-height: 1;
      padding-bottom: 5px; }
    @media (max-width: 767px) {
      .page_header .page_header_ttl {
        min-height: 200px;
        font-size: 20px; }
        .page_header .page_header_ttl strong {
          font-size: 44px; } }

.pankuzu_inner {
  border-bottom: 1px solid #CCC;
  padding: 6px 0 8px; }
  .pankuzu_inner a {
    display: inline-block;
    margin-right: 27px;
    position: relative;
    top: -3px; }
    .pankuzu_inner a:before {
      background: url(images/icon/pankuzu_line.svg);
      content: '';
      height: 17px;
      right: -19px;
      position: absolute;
      top: 11px;
      width: 10px; }

.page_anchor ul {
  display: flex;
  gap: 12px;
  flex-wrap: wrap; }
  .page_anchor ul li {
    flex: 1 1 0;
    width: 0; }
    .page_anchor ul li a {
      border-bottom: 1px solid #ccc;
      color: #111;
      display: block;
      font-weight: 500;
      height: 100%;
      line-height: 1.5;
      padding: 14px 0 22px;
      position: relative;
      text-align: center;
      text-decoration: none;
      text-transform: uppercase; }
      .page_anchor ul li a:after {
        background: url(images/icon/anchor_down_icon.svg) no-repeat;
        bottom: 9px;
        content: '';
        display: block;
        height: 6px;
        left: 50%;
        transform: translateX(-50%);
        transition: all 0.15s ease-in-out;
        position: absolute;
        width: 10px; }
      .page_anchor ul li a:hover:after {
        bottom: 4px; }
      @media (max-width: 767px) {
        .page_anchor ul li a {
          align-items: center;
          display: flex;
          justify-content: space-between;
          padding: 14px 0; }
          .page_anchor ul li a:after {
            bottom: unset;
            display: inline-block;
            left: 0;
            position: relative;
            top: 0; } }
  @media (max-width: 767px) {
    .page_anchor ul {
      flex-direction: column;
      gap: 0; }
      .page_anchor ul li {
        width: 100%; } }

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