@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Zen+Maru+Gothic:wght@400;500;700&display=swap");
@import url(assets/font/stylesheet.css);
.f_condensed {
  font-family: "DIN Condensed", "Roboto Condensed", sans-serif; }

.f_hirakakuproN {
  font-family: "Poppins", sans-serif; }

@font-face {
  font-family: a-otf shin go pro;
  font-style: normal;
  font-weight: 400;
  src: local("A-OTF Shin Go Pro"), url(assets/font/AOTFShinGoProRegular.woff) format("woff"); }
@font-face {
  font-family: a-otf shin go pro;
  font-style: normal;
  font-weight: 250;
  src: local("A-OTF Shin Go Pro"), url(assets/font/AOTFShinGoProExLight.woff) format("woff"); }
@font-face {
  font-family: a-otf shin go pro;
  font-style: normal;
  font-weight: 300;
  src: local("A-OTF Shin Go Pro"), url(assets/font/AOTFShinGoProLight.woff) format("woff"); }
@font-face {
  font-family: a-otf shin go pro;
  font-style: normal;
  font-weight: 505;
  src: local("A-OTF Shin Go Pro"), url(assets/font/AOTFShinGoProMedium.woff) format("woff"); }
@font-face {
  font-family: a-otf shin go pro;
  font-style: normal;
  font-weight: 600;
  src: local("A-OTF Shin Go Pro"), url(assets/font/AOTFShinGoProBold.woff) format("woff"); }
@font-face {
  font-family: a-otf shin go pro;
  font-style: normal;
  font-weight: 700;
  src: local("A-OTF Shin Go Pro"), url(assets/font/AOTFShinGoProBold.woff) format("woff"); }
@font-face {
  font-family: a-otf shin go pro;
  font-style: normal;
  font-weight: 800;
  src: local("A-OTF Shin Go Pro"), url(assets/font/AOTFShinGoProHeavy.woff) format("woff"); }
/*
Theme Name: Tida V1
Theme URI: #
Author: the Gkv or Zn team
Author URI: https://gkv.vn/
Description: #!
Requires at least: 5.9
Tested up to: 6.7
Requires PHP: 5.6
Version: 1.0.2
License: #
License URI: #
Text Domain: gkv
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, style-variations, wide-blocks, block-styles, accessibility-ready, blog, portfolio, news
*/
html {
  font-size: 10px; }
  @media (max-width: 1280px) and (min-width: 767.5px) {
    html {
      font-size: 0.78125vw; } }
  @media (max-width: 1280px) and (min-width: 767.5px) and (max-width: 1024px) {
    html {
      font-size: 0.86vw; } }

  @media (max-width: 767px) {
    html {
      font-size: 1.5625vw; } }

*,
:after,
:before {
  box-sizing: border-box;
  margin: 0;
  padding: 0; }

body {
  font-size: 1.6rem;
  letter-spacing: 0;
  line-height: 175%;
  font-weight: 500;
  font-family: "Noto Sans JP", "Noto Serif JP", serif; }

.anchor_fixtop {
  display: block;
  position: relative;
  top: -15rem;
  width: 100%;
  visibility: hidden; }
  @media (max-width: 960px) {
    .anchor_fixtop {
      top: -8rem; } }

.grid-1200 {
  max-width: 1230px; }

.is-group-content > div {
  width: 100%;
  max-width: 121rem;
  margin: 0 auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem; }

p {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 200%;
  letter-spacing: .115rem;
  color: #333333; }

p.has-text-align-center {
  text-align: center; }

#page_top {
  position: fixed;
  bottom: 1rem;
  right: 1rem;
  width: 6rem;
  height: 6rem;
  opacity: 0;
  border: #FFF solid .1rem;
  background: var(--color-4c7ea5) url(assets/img/page-top.svg) no-repeat center;
  border-radius: 100%;
  background-size: 2.1rem;
  cursor: pointer;
  outline: none;
  z-index: 50; }
  #page_top.show {
    opacity: 1; }
    #page_top.show:hover {
      opacity: 0.8; }
  @media (max-width: 767px) {
    #page_top {
      right: 1.5rem;
      bottom: 7rem;
      width: 7rem;
      height: 7rem;
      position: fixed; }
      #page_top.fixed {
        bottom: 10rem; } }
  @media (max-width: 767px) {
    #page_top {
      bottom: 18rem; } }

.wow_custom {
  opacity: 0;
  -webkit-transform: translate(0, 35px);
  transform: translate(0, 35px);
  transition: all 0.5s ease; }
  .wow_custom.right_left {
    -webkit-transform: translate(35px, 0);
    transform: translate(35px, 0); }
  .wow_custom.show {
    opacity: 1;
    -webkit-transform: none;
    transform: none; }
    .wow_custom.show.wow_vz_02 {
      animation: fade_in_0 500ms 500ms linear;
      animation-fill-mode: forwards; }
    .wow_custom.show.wow_vz_03 {
      animation: fade_in_0 500ms 1000ms linear;
      animation-fill-mode: forwards; }
    .wow_custom.show.wow_vz_04 {
      animation: fade_in_0 500ms 1500ms linear;
      animation-fill-mode: forwards; }
    .wow_custom.show.wow_vz_05 {
      animation: fade_in_0 500ms 2000ms linear;
      animation-fill-mode: forwards; }

@keyframes fade_in_0 {
  0% {
    opacity: 0;
    transform: translate3d(0, 35px, 0); }
  100% {
    opacity: 1;
    transform: translateZ(0); } }
@keyframes fade_in_1 {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@keyframes fade_in {
  0% {
    opacity: 0;
    position: relative;
    top: 100px; }
  100% {
    position: relative;
    top: 0px;
    opacity: 1; } }
@keyframes fade_left {
  0% {
    opacity: 0;
    transform: translate3d(-100px, 0, 0); }
  100% {
    opacity: 1;
    transform: translateZ(0); } }
@keyframes fade_right {
  0% {
    opacity: 0;
    transform: translate3d(100px, 0, 0); }
  100% {
    opacity: 1;
    transform: translateZ(0); } }
.fade-left.show {
  animation: fade_left 300ms 200ms ease-in-out;
  animation-fill-mode: forwards; }

.fade-right.show {
  animation: fade_right 300ms 200ms ease-in-out;
  animation-fill-mode: forwards; }

[data-animation="fade-in"].show {
  animation: fade_in_1 500ms 1s ease-in-out;
  animation-fill-mode: forwards; }

.wow_custom_no {
  opacity: 0;
  position: relative;
  z-index: 1; }

:root {
  --wp--preset--color--black: #000000;
  --wp--preset--color--cyan-bluish-gray: #abb8c3;
  --wp--preset--color--white: #ffffff;
  --wp--preset--color--pale-pink: #f78da7;
  --wp--preset--color--vivid-red: #cf2e2e;
  --wp--preset--color--luminous-vivid-orange: #ff6900;
  --wp--preset--color--luminous-vivid-amber: #fcb900;
  --wp--preset--color--light-green-cyan: #7bdcb5;
  --wp--preset--color--vivid-green-cyan: #00d084;
  --wp--preset--color--pale-cyan-blue: #8ed1fc;
  --wp--preset--color--vivid-cyan-blue: #0693e3;
  --wp--preset--color--vivid-purple: #9b51e0; }

.has-black-color {
  color: var(--wp--preset--color--black) !important; }

.has-cyan-bluish-gray-color {
  color: var(--wp--preset--color--cyan-bluish-gray) !important; }

.has-white-color {
  color: var(--wp--preset--color--white) !important; }

.has-pale-pink-color {
  color: var(--wp--preset--color--pale-pink) !important; }

.has-vivid-red-color {
  color: var(--wp--preset--color--vivid-red) !important; }

.has-luminous-vivid-orange-color {
  color: var(--wp--preset--color--luminous-vivid-orange) !important; }

.has-luminous-vivid-amber-color {
  color: var(--wp--preset--color--luminous-vivid-amber) !important; }

.has-light-green-cyan-color {
  color: var(--wp--preset--color--light-green-cyan) !important; }

.has-vivid-green-cyan-color {
  color: var(--wp--preset--color--vivid-green-cyan) !important; }

.has-pale-cyan-blue-color {
  color: var(--wp--preset--color--pale-cyan-blue) !important; }

.has-vivid-cyan-blue-color {
  color: var(--wp--preset--color--vivid-cyan-blue) !important; }

.has-vivid-purple-color {
  color: var(--wp--preset--color--vivid-purple) !important; }

.has-black-background-color {
  background-color: var(--wp--preset--color--black) !important; }

.has-cyan-bluish-gray-background-color {
  background-color: var(--wp--preset--color--cyan-bluish-gray) !important; }

.has-white-background-color {
  background-color: var(--wp--preset--color--white) !important; }

.has-pale-pink-background-color {
  background-color: var(--wp--preset--color--pale-pink) !important; }

.has-vivid-red-background-color {
  background-color: var(--wp--preset--color--vivid-red) !important; }

.has-luminous-vivid-orange-background-color {
  background-color: var(--wp--preset--color--luminous-vivid-orange) !important; }

.has-luminous-vivid-amber-background-color {
  background-color: var(--wp--preset--color--luminous-vivid-amber) !important; }

.has-light-green-cyan-background-color {
  background-color: var(--wp--preset--color--light-green-cyan) !important; }

.has-vivid-green-cyan-background-color {
  background-color: var(--wp--preset--color--vivid-green-cyan) !important; }

.has-pale-cyan-blue-background-color {
  background-color: var(--wp--preset--color--pale-cyan-blue) !important; }

.has-vivid-cyan-blue-background-color {
  background-color: var(--wp--preset--color--vivid-cyan-blue) !important; }

.has-vivid-purple-background-color {
  background-color: var(--wp--preset--color--vivid-purple) !important; }

.has-black-border-color {
  border-color: var(--wp--preset--color--black) !important; }

.has-cyan-bluish-gray-border-color {
  border-color: var(--wp--preset--color--cyan-bluish-gray) !important; }

.has-white-border-color {
  border-color: var(--wp--preset--color--white) !important; }

.has-pale-pink-border-color {
  border-color: var(--wp--preset--color--pale-pink) !important; }

.has-vivid-red-border-color {
  border-color: var(--wp--preset--color--vivid-red) !important; }

.has-luminous-vivid-orange-border-color {
  border-color: var(--wp--preset--color--luminous-vivid-orange) !important; }

.has-luminous-vivid-amber-border-color {
  border-color: var(--wp--preset--color--luminous-vivid-amber) !important; }

.has-light-green-cyan-border-color {
  border-color: var(--wp--preset--color--light-green-cyan) !important; }

.has-vivid-green-cyan-border-color {
  border-color: var(--wp--preset--color--vivid-green-cyan) !important; }

.has-pale-cyan-blue-border-color {
  border-color: var(--wp--preset--color--pale-cyan-blue) !important; }

.has-vivid-cyan-blue-border-color {
  border-color: var(--wp--preset--color--vivid-cyan-blue) !important; }

.has-vivid-purple-border-color {
  border-color: var(--wp--preset--color--vivid-purple) !important; }

:root {
  --fixed-left-0: 0px;
  --fixed-top-0: 0px; }

[class*="dflex"] {
  display: flex;
  flex-wrap: wrap; }

[class*="aic"] {
  align-items: center; }

[class*="aie"] {
  align-items: flex-end; }

[class*="ais"] {
  align-items: flex-start; }

[class*="jcc"] {
  justify-content: center; }

[class*="jcsb"] {
  justify-content: space-between; }

[class*="jcfe"] {
  justify-content: flex-end; }

[class*="jcfe"] {
  justify-content: flex-end; }

[class*="fd2r"] {
  flex-direction: row-reverse; }

[class*="fdc"] {
  flex-direction: column; }

[class*="fcolumn"] {
  flex-flow: column; }

a[href^="tel:"] {
  cursor: default;
  pointer-events: none; }
  @media (max-width: 1024px) {
    a[href^="tel:"] {
      cursor: pointer;
      pointer-events: all; } }

.p-fixed {
  position: fixed;
  left: var(--fixed-left-0);
  top: var(--fixed-top-0); }

[class*="grid"] {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  margin-left: auto;
  margin-right: auto;
  width: 100%; }

.grid-1050 {
  max-width: 108rem; }

.grid-1180 {
  max-width: 121rem; }

.grid-1190 {
  max-width: 122rem; }

.grid-1200 {
  max-width: 123rem; }

.grid-1250 {
  max-width: 128rem; }

.grid-1280 {
  max-width: 131rem; }

.grid-1000 {
  max-width: 103rem; }

.grid-980 {
  max-width: 101rem; }

.grid-975 {
  max-width: 100.5rem; }

.grid-880 {
  max-width: 91rem; }

body,
html {
  height: 100%; }

p {
  font-family: "Noto Sans JP", sans-serif; }

img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
  overflow-clip-margin: inherit; }

a,
button {
  color: inherit;
  text-decoration: none; }

input,
textarea,
button,
select {
  outline: none;
  resize: none; }

.hv-o {
  transition: ease all 0.5s; }
  .hv-o:hover {
    opacity: 0.8; }

.ho-main,
.os-main {
  overflow: hidden; }

.os-y-hidden {
  overflow-y: hidden; }

.os-section {
  position: relative; }

.os-align-center {
  text-align: center; }

.u-center {
  text-align: center; }

.u-right {
  text-align: right; }

.u-sp {
  display: none !important; }

ul,
ol {
  list-style: none; }

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

  .u-sp {
    display: block !important; }

  [class*="grid"] {
    padding-left: 3rem;
    padding-right: 3rem; } }
:root {
  --color-4c7ea5: #4c7ea5;
  --color-99ccff: #99ccff;
  --color-84adc1: #84adc1;
  --color-cce0ed: #cce0ed;
  --color-ffffff: #ffffff;
  --color-000000: #000000; }

header,
.header {
  width: 100%;
  height: 7rem; }

.header {
  background-color: var(--color-ffffff);
  z-index: 9999; }
  .header__logo img {
    width: 53rem; }
  .header__logo-box {
    padding-left: 1.5rem; }

.menu {
  display: flex;
  align-items: center;
  justify-content: center; }
  .menu > li {
    position: relative; }
    .menu > li:not(:last-child) {
      margin-right: 3.8rem; }
      .menu > li:not(:last-child) > a::before {
        content: "";
        position: absolute;
        left: 50%;
        bottom: 0;
        width: 0;
        height: .3rem;
        transition: ease all 0.35s;
        transform: translateX(-50%);
        background-color: var(--color-4c7ea5); }
    .menu > li.left-menu-sub .sub-menu {
      left: -10rem; }
    .menu > li:hover .sub-menu {
      top: 8rem;
      opacity: 1;
      cursor: pointer;
      pointer-events: all; }
      .menu > li:hover .sub-menu * {
        cursor: pointer;
        pointer-events: all; }
    .menu > li > a {
      width: 100%;
      height: 7rem;
      padding-left: 1rem;
      padding-right: 1rem;
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      transition: ease all 0.35s;
      color: #000000;
      font-size: 1.4rem;
      font-weight: 700;
      line-height: 100%;
      letter-spacing: 0; }
    .menu > li:hover:not(:last-child) > a::before, .menu > li.current_page_item:not(:last-child) > a::before {
      width: 100%; }
    .menu > li.menu-item-has-children > a::after {
      content: "";
      margin-left: .6rem;
      position: relative;
      top: .6rem;
      width: 1rem;
      height: .7rem;
      transform: translateY(-50%);
      background-image: url(assets/img/icon-02.svg);
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain; }
    .menu > li.header__contact {
      margin-left: -1.4rem;
      width: 10rem; }
      .menu > li.header__contact > a {
        padding-top: 3.4rem;
        background-color: var(--color-4c7ea5);
        font-size: 1.2rem;
        color: var(--color-ffffff); }
        .menu > li.header__contact > a:hover {
          background-color: var(--color-84adc1); }
        .menu > li.header__contact > a::before {
          content: "";
          position: absolute;
          left: 0;
          top: 1.6rem;
          width: 100%;
          height: 1.7rem;
          background-image: url(assets/img/icon-01.svg);
          background-position: center;
          background-repeat: no-repeat;
          background-size: contain; }
  .menu .sub-menu {
    position: absolute;
    width: 23rem;
    left: 0;
    top: 10rem;
    opacity: 0;
    z-index: 1;
    background-color: #ffffff;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    transition: ease all 0.35s;
    border-radius: 1rem;
    cursor: default;
    pointer-events: none;
    box-shadow: 0.3rem 0.3rem 0.5rem 0.2rem rgba(0, 0, 0, 0.1); }
    .menu .sub-menu::before {
      content: "";
      width: 100%;
      height: 10rem;
      z-index: -1;
      position: absolute;
      left: 0;
      top: -2rem;
      background-color: transparent; }
    .menu .sub-menu > li {
      width: 100%; }
      .menu .sub-menu > li:not(:last-child) {
        border-bottom: 1px dashed #eee; }
      .menu .sub-menu > li > a {
        padding: 1.5rem;
        display: block;
        transition: ease all 0.35s; }
        .menu .sub-menu > li > a:hover {
          color: #4c7ea5; }
    .menu .sub-menu * {
      cursor: default;
      pointer-events: none; }

.nav-header {
  display: none; }
  @media (min-width: 767.5px) {
    .nav-header--footer {
      display: none; } }

@media (max-width: 1024px) and (min-width: 767.5px) {
  .menu > li:not(:last-child) {
    margin-right: 2.8rem; } }
@media (max-width: 767px) {
  .no_scroll {
    overflow: hidden; }

  header,
  .header {
    height: 8rem; }

  .header__logo img {
    width: 52.3rem; }
  .header__logo-box {
    width: 100%;
    height: 8rem;
    padding-left: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between; }
  .header__menu-box {
    display: none; }

  .nav-menu {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 8rem;
    height: 8rem;
    background-color: var(--color-4c7ea5); }

  #menu {
    display: block;
    position: relative;
    top: 0; }
    #menu > div {
      width: 4rem;
      height: 3.2rem;
      position: relative;
      display: flex; }
    #menu span {
      background: #ffffff;
      -webkit-transform: translateY(-50%) rotate(0deg);
      transform: translateY(-50%) rotate(0deg);
      position: absolute;
      width: 100%;
      height: .6rem;
      -webkit-transition: top 0.1s ease 0.3s, background 0.1s ease 0.3s, -webkit-transform 0.3s ease;
      transition: top 0.1s ease 0.3s, background 0.1s ease 0.3s, -webkit-transform 0.3s ease;
      transition: top 0.1s ease 0.3s, transform 0.3s ease, background 0.1s ease 0.3s;
      transition: top 0.1s ease 0.3s, transform 0.3s ease, background 0.1s ease 0.3s, -webkit-transform 0.3s ease; }
      #menu span:nth-child(1) {
        top: .4rem; }
      #menu span:nth-child(2) {
        top: 50%; }
      #menu span:nth-child(3) {
        bottom: -0.3rem; }
    #menu .change span {
      -webkit-transition: top 0.1s ease, background 0.1s ease, -webkit-transform 0.3s ease 0.1s;
      transition: top 0.1s ease, background 0.1s ease, -webkit-transform 0.3s ease 0.1s;
      transition: top 0.1s ease, transform 0.3s ease 0.1s, background 0.1s ease;
      transition: top 0.1s ease, transform 0.3s ease 0.1s, background 0.1s ease, -webkit-transform 0.3s ease 0.1s; }
      #menu .change span:nth-child(1) {
        top: 50%;
        -webkit-transform: translateY(-50%) rotate(315deg);
        transform: translateY(-50%) rotate(315deg); }
      #menu .change span:nth-child(2) {
        -webkit-transform: translateY(-50%) rotate(405deg);
        transform: translateY(-50%) rotate(405deg);
        display: none; }
      #menu .change span:nth-child(3) {
        top: 50%;
        -webkit-transform: translateY(-50%) rotate(405deg);
        transform: translateY(-50%) rotate(405deg); }

  .chane-x {
    display: inline-block;
    position: relative;
    cursor: pointer; }

  .nav-header {
    display: none;
    position: fixed;
    left: 0;
    top: 8rem;
    z-index: 999;
    height: calc(100vh - 8rem);
    overflow-y: auto;
    background-color: rgba(255, 255, 255, 0.9); }
    .nav-header--menu {
      padding-left: 3.4rem;
      padding-right: 3.4rem;
      padding-top: 7.8rem;
      padding-bottom: 8.2rem; }
    .nav-header--info {
      background-color: #cce0ed;
      padding: 4.3rem 5.5rem 7rem; }
      .nav-header--info .footer-info {
        padding-bottom: 0; }
      .nav-header--info .footer-details li.fax * {
        letter-spacing: .27rem; }
    .nav-header--footer {
      display: flex;
      align-items: center;
      background-color: #ffffff;
      padding-top: .5rem;
      position: fixed;
      bottom: 0;
      left: 0;
      z-index: 15;
      width: 100%; }
      .nav-header--footer a {
        width: 100%;
        height: 9.4rem;
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: var(--color-4c7ea5);
        color: #ffffff;
        font-size: 2.4rem;
        font-weight: 700;
        line-height: 100%;
        letter-spacing: 0;
        padding-left: 3.3rem;
        background-repeat: no-repeat;
        background-position: left 1.5rem center; }
        .nav-header--footer a:not(:last-child) {
          margin-right: .5rem; }
        .nav-header--footer a.--icon-tel {
          background-size: 3.4rem;
          background-image: url(assets/img/icon-08.svg); }
        .nav-header--footer a.--icon-mail {
          background-size: 2.9rem;
          background-image: url(assets/img/icon-01.svg); } }
.footer__main {
  width: 100%;
  position: relative;
  padding-top: 5.5rem;
  padding-bottom: 4.5rem;
  background-color: var(--color-cce0ed); }
  .footer__main-logo {
    text-align: center; }
    .footer__main-logo a,
    .footer__main-logo img {
      vertical-align: top;
      display: inline-block; }
    .footer__main-logo img {
      width: 40.4rem; }
  .footer__main-box {
    margin-top: 5.2rem;
    padding-left: 15.5rem;
    padding-right: 15.5rem; }
    .footer__main-box--item {
      width: 49rem; }
      .footer__main-box--item:last-child {
        width: calc(100% - 49rem); }
.footer__maps {
  width: 100%;
  height: 40rem;
  overflow: hidden; }
  .footer__maps iframe {
    width: 100%;
    height: 100%;
    vertical-align: top; }
.footer__coppy {
  width: 100%;
  height: 7.5rem;
  text-align: center; }
  .footer__coppy p {
    color: var(--color-000000);
    font-size: 1rem;
    font-weight: 500;
    line-height: 100%;
    letter-spacing: 0.05rem; }

.footer-info {
  padding-top: .2rem; }

.footer-details li {
  line-height: 100%;
  display: block; }
  .footer-details li * {
    color: #000000;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 180%;
    letter-spacing: 0; }
  .footer-details li.tel {
    padding-top: .3rem;
    padding-bottom: 1.4rem; }
    .footer-details li.tel * {
      font-size: 3rem;
      color: var(--color-4c7ea5);
      line-height: 100%; }
    .footer-details li.tel img {
      margin-top: .4rem;
      height: 2.5rem; }
  .footer-details li.fax * {
    letter-spacing: .11rem; }
  .footer-details li.contact {
    padding-top: 1rem; }

.menu_footer > li {
  width: 100%; }
  .menu_footer > li:not(:last-child) {
    margin-bottom: 2.2rem; }
  .menu_footer > li > a {
    color: #000000;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 100%;
    letter-spacing: 0; }
.menu_footer a {
  transition: ease all 0.35s; }
  .menu_footer a:hover {
    color: var(--color-4c7ea5) !important; }
.menu_footer .sub-menu {
  display: flex; }
  .menu_footer .sub-menu > li:not(:last-child) {
    margin-right: 1.5rem; }
  .menu_footer .sub-menu > li > a {
    color: #000000;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 100%;
    letter-spacing: 0; }

.gp_button-01 {
  width: 34.5rem;
  height: 7rem;
  border-radius: 7rem;
  background-color: var(--color-4c7ea5);
  transition: ease all 0.35s; }
  .gp_button-01.--icon-mail {
    background-image: url(assets/img/icon-01.svg);
    background-size: 2.4rem;
    background-position: center left 3.1rem;
    background-repeat: no-repeat; }
  .gp_button-01.--icon-arrow {
    position: relative; }
    .gp_button-01.--icon-arrow::after {
      content: "";
      position: absolute;
      right: 2.7rem;
      top: 50%;
      width: 1.4rem;
      height: 1.3rem;
      transform: translateY(-50%);
      background-image: url(assets/img/icon-03.svg);
      background-size: contain;
      background-position: center;
      background-repeat: no-repeat; }
  .gp_button-01:hover {
    background-color: var(--color-84adc1); }
  .gp_button-01 span {
    color: var(--color-ffffff);
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 100%;
    letter-spacing: 0.03rem; }

@media (max-width: 767px) {
  .footer {
    padding-bottom: 9rem; }
    .footer__main {
      padding-top: 4.8rem;
      padding-bottom: 10.1rem; }
      .footer__main-logo img {
        width: 40.4rem; }
      .footer__main-box {
        flex-wrap: wrap;
        margin-top: 5.2rem;
        padding-left: 0rem;
        padding-right: 0rem; }
        .footer__main-box--item {
          width: 100% !important; }
    .footer__coppy {
      height: 10.5rem; }
      .footer__coppy p {
        font-size: 1.6rem; }

  .footer-info {
    padding-top: .2rem;
    padding-bottom: 8.7rem; }

  .footer-details li * {
    font-size: 2.8rem;
    line-height: 120%; }
  .footer-details li.tel {
    padding-top: 3.2rem;
    padding-bottom: 3.3rem; }
    .footer-details li.tel * {
      font-size: 4.2rem; }
    .footer-details li.tel img {
      margin-top: .4rem;
      height: 4.2rem; }
  .footer-details li.fax * {
    letter-spacing: .21rem; }
  .footer-details li.contact {
    padding-top: 6.8rem; }

  .menu_footer {
    padding-left: 3rem;
    padding-right: 3rem; }
    .menu_footer > li {
      position: relative; }
      .menu_footer > li:not(:last-child) {
        margin-bottom: 3.3rem; }
      .menu_footer > li > a {
        font-size: 2.8rem; }
    .menu_footer .sub-menu {
      display: none;
      margin-top: 3.3rem; }
      .menu_footer .sub-menu > li:not(:last-child) {
        margin-right: 0;
        margin-bottom: 2.7rem; }
      .menu_footer .sub-menu > li > a {
        font-size: 2.8rem;
        font-weight: 400; }
    .menu_footer .dropdow {
      position: absolute;
      z-index: 10;
      cursor: pointer;
      right: 0;
      top: .2rem;
      width: 2.7rem;
      height: 2.7rem;
      background-image: url(assets/img/icon-06.png);
      background-position: center;
      background-repeat: no-repeat;
      background-size: 2.2rem;
      transition: ease all 0.35s; }
      .menu_footer .dropdow.active {
        background-image: url(assets/img/icon-07.png); }

  .gp_button-01 {
    width: 100%;
    height: 11.7rem;
    border-radius: 11.7rem; }
    .gp_button-01.--icon-mail {
      padding-left: 1.7rem;
      background-size: 4.8rem;
      background-position: center left 7.5rem; }
    .gp_button-01.--icon-arrow::after {
      right: 4.6rem;
      width: 2.3rem;
      height: 2.1rem; }
    .gp_button-01 span {
      font-size: 2.8rem; } }
@media (max-width: 767px) {
  .group-top-slider .slide-item img {
    width: 100%;
    height: 41.1rem;
    object-fit: cover; } }
.gp_title-01 .en {
  color: var(--color-000000);
  font-size: 7.2rem;
  font-weight: 700;
  line-height: 120%;
  letter-spacing: 0.03rem; }
  @media (min-width: 767.5px) {
    .gp_title-01 .en.--fz-48 {
      font-size: 4.8rem; }
    .gp_title-01 .en.--hide-line span::before, .gp_title-01 .en.--hide-line span::after {
      content: none; } }
  .gp_title-01 .en span {
    position: relative;
    display: inline-block;
    line-height: 100%;
    top: -0.5rem; }
    .gp_title-01 .en span::before {
      content: "";
      height: 1.5rem;
      width: 100%;
      position: absolute;
      left: 0;
      bottom: -1.1rem;
      z-index: -1;
      background-color: var(--color-99ccff); }
    .gp_title-01 .en span::after {
      content: "";
      height: 0.2rem;
      width: 5rem;
      position: absolute;
      right: -6.5rem;
      top: calc(50% + .6rem);
      transform: translateY(-50%);
      background-color: var(--color-000000); }
.gp_title-01 .ja {
  margin-bottom: 1.3rem;
  color: var(--color-000000);
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 150%;
  letter-spacing: 0.03rem; }

@media (max-width: 767px) {
  .gp_title-01 {
    text-align: center; }
    .gp_title-01 .en {
      font-size: 9rem; }
      .gp_title-01 .en span::before {
        bottom: .6rem; }
      .gp_title-01 .en span::after {
        content: none; }
    .gp_title-01 .ja {
      margin-bottom: 2.2rem;
      font-size: 2.8rem; } }
.news-section {
  padding-top: 6.5rem;
  padding-bottom: 10rem; }
  .news-section__header {
    width: 14.5rem;
    padding-left: 3rem; }
  .news-section__list {
    width: calc(100% - 14.5rem - 18rem);
    padding-left: 5.5rem;
    position: relative; }
    .news-section__list::before {
      content: "";
      position: absolute;
      left: 0;
      width: .2rem;
      height: 100%;
      background-color: var(--color-000000); }
    .news-section__list li {
      display: flex; }
      .news-section__list li:not(:last-child) {
        margin-bottom: 1.5rem; }
      .news-section__list li * {
        color: var(--color-000000);
        font-size: 1.4rem;
        font-weight: 500;
        line-height: 120%;
        letter-spacing: 0.03rem; }
  .news-section__more {
    width: 18rem;
    padding-right: .5rem; }
    @media (min-width: 767.5px) {
      .news-section__more .gp_button-01 {
        width: 100%;
        height: 3.8rem; }
        .news-section__more .gp_button-01.--icon-arrow::after {
          right: 1.5rem; } }
  .news-section__date {
    display: inline-block;
    vertical-align: top;
    width: 10rem; }
  .news-section__text {
    display: inline-block;
    vertical-align: top;
    width: calc(100% - 10rem);
    transition: ease all 0.35s;
    padding-right: 5rem; }
    .news-section__text:hover {
      padding-left: .5rem; }

@media (max-width: 767px) {
  .news-section {
    padding-top: 7.4rem;
    padding-bottom: 8rem; }
    .news-section .gp_title-01 .en span {
      padding-left: .7rem;
      padding-right: .7rem; }
    .news-section__inner {
      flex-wrap: wrap; }
    .news-section__header {
      width: 100%;
      padding-left: 0; }
    .news-section__list {
      width: 100%;
      padding-left: 0rem;
      margin-top: 6rem;
      margin-bottom: 9rem; }
      .news-section__list::before {
        content: none; }
      .news-section__list li {
        flex-wrap: wrap; }
        .news-section__list li:not(:last-child) {
          margin-bottom: 2.6rem; }
        .news-section__list li * {
          width: 100%;
          font-size: 2.8rem; }
    .news-section__more {
      width: 100%;
      padding-right: 0rem; }
    .news-section__date {
      width: 100%; }
    .news-section__text {
      width: 100%;
      padding-right: 0;
      text-align: justify; }
      .news-section__text a {
        line-height: 150%; }
      .news-section__text:hover {
        padding-left: 0; } }
@media (max-width: 1280px) {
  .group-section .grid-1280 {
    padding-right: 0;
    padding-left: 0; } }
.group-section .gp_title-01 .en {
  line-height: 100%; }
.group-section.--wrap-company {
  margin-bottom: 12.2rem; }
.group-section.--wrap-recruit {
  padding-bottom: 17rem; }
  .group-section.--wrap-recruit .gp_title-01 .en span {
    padding-right: 1rem; }
    .group-section.--wrap-recruit .gp_title-01 .en span::before {
      bottom: .1rem; }
    .group-section.--wrap-recruit .gp_title-01 .en span::after {
      right: -9.9rem; }
.group-section__content {
  padding-right: 9.5rem;
  padding-left: 15rem;
  width: calc(100% - 61rem); }
.group-section__images {
  width: 61rem;
  padding-top: 4.2rem; }
  .group-section__images img {
    width: 100%; }
.group-section__text {
  display: block;
  margin-top: 8.9rem;
  margin-bottom: 2.8rem; }
  .group-section__text * {
    text-align: justify;
    font-family: "Poppins", sans-serif;
    color: var(--color-000000);
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 165%;
    letter-spacing: 0.03rem; }

@media (max-width: 767px) {
  .group-section .gp_title-01 .en {
    line-height: 100%; }
  .group-section .grid-1280 {
    padding-right: 3rem;
    padding-left: 3rem; }
  .group-section.--wrap-company {
    margin-bottom: 13.1rem; }
  .group-section.--wrap-recruit {
    padding-bottom: 14rem; }
    .group-section.--wrap-recruit .gp_title-01 .en span {
      padding-left: 2.4rem;
      padding-right: 2.4rem; }
      .group-section.--wrap-recruit .gp_title-01 .en span::before {
        bottom: .8rem; }
  .group-section__content {
    width: 100%;
    padding-right: 0;
    padding-left: 0; }
    .group-section__content .group-section__image {
      margin-bottom: 6rem; }
  .group-section__images {
    display: none; }
  .group-section__text {
    margin-top: 4.7rem;
    margin-bottom: 1.5rem; }
    .group-section__text * {
      font-size: 3.2rem;
      line-height: 150%; } }
.group-business {
  position: relative;
  width: 100%;
  padding-top: 6.4rem;
  height: calc(100% - 11.3rem);
  background-repeat: no-repeat;
  background-position: left top; }
  .group-business--bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 46.2rem;
    background-position: left top;
    background-repeat: no-repeat;
    background-size: contain;
    z-index: -2; }
  .group-business__inner {
    padding-left: 15rem; }
  .group-business__left {
    width: 18rem; }
  .group-business__right {
    width: calc(100% - 18rem); }
  .group-business__desc {
    margin-top: -1.2rem; }
    .group-business__desc strong {
      font-family: "Noto Serif JP", serif;
      color: var(--color-000000);
      font-size: 4.8rem;
      font-weight: 500;
      line-height: 125%;
      letter-spacing: -0.08rem; }
      .group-business__desc strong .line {
        margin-right: -2rem; }
        .group-business__desc strong .line.vs-02 {
          margin-right: 0;
          margin-left: -2rem; }
    .group-business__desc p {
      font-feature-settings: 'palt';
      color: var(--color-000000);
      font-size: 2.4rem;
      font-weight: 700;
      line-height: 165%;
      letter-spacing: 0.15rem; }
  .group-business__buttons {
    display: flex;
    align-items: center;
    width: 100%;
    margin-top: 2.7rem;
    margin-bottom: 5.5rem; }
    .group-business__buttons a:not(:last-child) {
      margin-right: 1.5rem; }
  .group-business__works {
    width: 110.5rem;
    margin-bottom: 10.7rem; }
    .group-business__works-item {
      margin-right: 1rem; }
  @media (min-width: 767.5px) {
    .group-business .gp_title-01 {
      writing-mode: vertical-rl; }
      .group-business .gp_title-01 .en span::before {
        height: 100%;
        width: 1.5rem;
        left: .6rem;
        bottom: -0.3rem; }
      .group-business .gp_title-01 .en span::after {
        width: 0.2rem;
        height: 5rem;
        right: initial;
        top: initial;
        bottom: -7rem;
        transform: translate(50%, 0);
        left: calc(50% - .8rem); }
      .group-business .gp_title-01 .ja {
        font-size: 1.7rem;
        position: relative;
        top: -0.5rem; } }
  .group-business .slick-arrow {
    position: absolute;
    top: 50%;
    cursor: pointer;
    z-index: 5;
    transform: translateY(-50%);
    width: 5.2rem; }
  .group-business .slick-next {
    left: calc(-5.2rem / 2); }
  .group-business .slick-prev {
    right: 26.6rem; }
  .group-business .slick-slide img {
    width: 100%; }

@media (max-width: 767px) {
  .group-business {
    padding-top: 7rem;
    padding-bottom: 7.6rem; }
    .group-business--bg {
      height: 63.5rem;
      background-position: left -27.7rem top;
      background-size: 91.7rem; }
    .group-business .gp_title-01 .ja {
      margin-bottom: 1.2rem; }
    .group-business__inner {
      padding-left: 3rem;
      flex-wrap: wrap; }
    .group-business__left {
      width: 100%; }
    .group-business__right {
      width: 100%; }
    .group-business__desc {
      margin-top: 1.9rem; }
      .group-business__desc strong {
        display: block;
        width: calc(100% + 2rem);
        font-feature-settings: 'palt';
        font-size: 5.3rem;
        font-weight: 600;
        letter-spacing: -0.4rem; }
        .group-business__desc strong .line {
          display: inline-block;
          margin-right: -2rem; }
          .group-business__desc strong .line.vs-02 {
            margin-right: 0;
            margin-left: -2rem; }
        .group-business__desc strong + br {
          display: none; }
      .group-business__desc p {
        font-size: 2.8rem; }
    .group-business__buttons {
      flex-wrap: wrap;
      margin-top: 2.7rem;
      margin-bottom: 5.5rem; }
      .group-business__buttons a:not(:last-child) {
        margin-right: 0;
        margin-bottom: 3rem; }
    .group-business__works {
      width: 73.05rem;
      margin-bottom: 4.4rem;
      margin-top: 7.6rem; }
      .group-business__works-item {
        margin-right: 0.8rem; }
    .group-business .slick-arrow {
      width: 5.0rem; }
    .group-business .slick-next {
      left: calc(-4.02rem / 2); }
    .group-business .slick-prev {
      right: 13rem; } }
@media (max-width: 1024px) and (min-width: 767.5px) {
  .group-business__inner {
    padding-left: 8rem; }

  .group-section__content {
    padding-left: 8rem;
    padding-right: 5rem; } }
.first-view {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 100000;
  background-color: #fff; }
  .first-view.active {
    display: none; }

.first-view-cont {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center; }

.svg-logo-01 {
  width: 40rem; }

@-webkit-keyframes animate-svg-fill-1 {
  0% {
    fill: transparent; }
  100% {
    fill: black; } }
@keyframes animate-svg-fill-1 {
  0% {
    fill: transparent; }
  100% {
    fill: black; } }
.svg-elem-1 {
  -webkit-animation: animate-svg-fill-5 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both;
  animation: animate-svg-fill-5 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both; }

@-webkit-keyframes animate-svg-fill-2 {
  0% {
    fill: transparent; }
  100% {
    fill: white; } }
@keyframes animate-svg-fill-2 {
  0% {
    fill: transparent; }
  100% {
    fill: white; } }
.svg-elem-2 {
  -webkit-animation: animate-svg-fill-5 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.1s both;
  animation: animate-svg-fill-5 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.1s both; }

@-webkit-keyframes animate-svg-fill-5 {
  0% {
    fill: transparent; }
  100% {
    fill: #3b7ba2; } }
@keyframes animate-svg-fill-5 {
  0% {
    fill: transparent; }
  100% {
    fill: #3b7ba2; } }
.svg-elem-5 {
  -webkit-animation: animate-svg-fill-5 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.4s both;
  animation: animate-svg-fill-5 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.4s both; }

.svg-elem-6 {
  -webkit-animation: animate-svg-fill-5 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.5s both;
  animation: animate-svg-fill-5 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.5s both; }

.svg-elem-7 {
  -webkit-animation: animate-svg-fill-5 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.6s both;
  animation: animate-svg-fill-5 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.6s both; }

.svg-elem-8 {
  -webkit-animation: animate-svg-fill-5 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.7s both;
  animation: animate-svg-fill-5 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.7s both; }

.svg-elem-9 {
  -webkit-animation: animate-svg-fill-5 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.8s both;
  animation: animate-svg-fill-5 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.8s both; }

.svg-elem-10 {
  -webkit-animation: animate-svg-fill-5 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.9s both;
  animation: animate-svg-fill-5 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.9s both; }

.svg-elem-11 {
  -webkit-animation: animate-svg-fill-5 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1s both;
  animation: animate-svg-fill-5 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1s both; }

.svg-elem-12 {
  -webkit-animation: animate-svg-fill-5 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.1s both;
  animation: animate-svg-fill-5 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.1s both; }

@media (max-width: 767px) {
  .svg-logo-01 {
    width: 30rem; } }
.banner {
  height: 28rem;
  position: relative;
  z-index: 0;
  display: flex;
  text-align: center;
  align-items: center;
  justify-content: center;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover; }
  .banner::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.6);
    z-index: -1; }
  .banner-title * {
    color: #4c7ea5;
    font-size: 7.2rem;
    font-weight: 500;
    line-height: 130%;
    letter-spacing: 0; }
  .banner-title .jp {
    color: #FFFFFF;
    font-size: 1.4rem; }
  .banner-title .en {
    font-family: "DIN Condensed", "Roboto Condensed", sans-serif;
    text-transform: capitalize; }

.breadcrumbs {
  padding: .5rem 2rem;
  margin-bottom: 7.5rem; }
  .breadcrumbs-list {
    display: flex;
    word-break: keep-all; }
    .breadcrumbs-list li {
      margin-right: .4rem; }
      .breadcrumbs-list li:last-child {
        margin-right: 0; }
      .breadcrumbs-list li * {
        color: #000000;
        font-size: 1.1rem;
        font-weight: 600;
        line-height: 170%;
        letter-spacing: 0; }
      .breadcrumbs-list li a {
        position: relative;
        padding-right: 1.1rem; }
        .breadcrumbs-list li a::before {
          content: ">";
          position: absolute;
          top: 0;
          right: 0; }

.work_cate-list {
  margin-bottom: 7.5rem; }
  .work_cate-list li {
    width: calc((100% - 1.501rem) / 4);
    margin-right: .5rem;
    margin-bottom: 1rem;
    text-align: center; }
    .work_cate-list li:nth-child(4n) {
      margin-right: 0; }
    .work_cate-list li.all {
      width: 100%;
      margin-right: 0; }
    .work_cate-list li a {
      color: #000000;
      font-size: 2rem;
      font-weight: 600;
      line-height: 175%;
      letter-spacing: 0;
      border: #4c7ea5 solid .4rem;
      display: block;
      padding: 1.1rem 0;
      transition: all 0.35s; }
      .work_cate-list li a.active, .work_cate-list li a:hover {
        background: #84adc1;
        color: #FFFFFF;
        border-color: #84adc1; }
  .work_cate-list.vs-02 li {
    width: calc((100% - 1.001rem) / 2);
    margin-right: 1rem; }
    .work_cate-list.vs-02 li:nth-child(2n) {
      margin-right: 0; }
    .work_cate-list.vs-02 li.all {
      width: 100%;
      margin-right: 0; }

.works_list-01 {
  margin-bottom: 4rem; }
  .works_list-01 li {
    margin-right: 1rem;
    margin-bottom: 4.5rem; }
    .works_list-01 li .img {
      margin-bottom: 1.5rem; }
    .works_list-01 li .box-cate {
      margin-bottom: .5rem; }
      .works_list-01 li .box-cate a {
        color: #000000;
        font-size: 1.4rem;
        font-weight: 600;
        line-height: 175%;
        letter-spacing: 0;
        background: #99ccff;
        display: inline-block;
        padding: .3rem 1rem; }
    .works_list-01 li .title_blog {
      color: #000000;
      font-size: 1.4rem;
      font-weight: 600;
      line-height: 175%;
      letter-spacing: 0; }
  @media (min-width: 767.5px) {
    .works_list-01.vs-01 li {
      width: calc((100% - 2.001rem) / 3); }
      .works_list-01.vs-01 li:nth-child(3n) {
        margin-right: 0; } }
  @media (min-width: 767.5px) {
    .works_list-01.vs-02 li {
      width: calc((100% - 3.001rem) / 4); }
      .works_list-01.vs-02 li:nth-child(4n) {
        margin-right: 0; } }

.work-title-01 {
  text-align: center;
  color: #000000;
  font-size: 2.3rem;
  font-weight: 700;
  line-height: 175%;
  letter-spacing: 0;
  margin-bottom: 6rem; }

.pagenavi-wrap {
  margin-bottom: 11.2rem; }
  .pagenavi-wrap * {
    color: #000000;
    font-size: 2rem;
    font-weight: 600;
    line-height: 175%;
    letter-spacing: 0; }
  .pagenavi-wrap a {
    transition: all 0.35s; }
    .pagenavi-wrap a:hover {
      color: #4c7ea5; }
  .pagenavi-wrap .page-numbers {
    display: flex; }
    .pagenavi-wrap .page-numbers li * {
      position: relative;
      padding: 0 1.9rem 0 1rem; }
      .pagenavi-wrap .page-numbers li *::before {
        content: "/";
        position: absolute;
        color: #000000;
        top: 50%;
        right: 0;
        transform: translateY(-50%); }
    .pagenavi-wrap .page-numbers li:first-child * {
      padding-left: 2rem; }
      .pagenavi-wrap .page-numbers li:first-child *::after {
        content: "/";
        position: absolute;
        color: #000000;
        top: 50%;
        left: 0;
        transform: translateY(-50%); }
  .pagenavi-wrap .current {
    color: #4c7ea5; }
  .pagenavi-wrap .prev, .pagenavi-wrap .next {
    font-size: 1.4rem;
    font-weight: 700; }
  .pagenavi-wrap .prev {
    margin-right: 2rem; }
    .pagenavi-wrap .prev.hidden {
      opacity: 0.5;
      color: #000000;
      cursor: auto; }
  .pagenavi-wrap .next {
    margin-left: 2.4rem; }
    .pagenavi-wrap .next.hidden {
      opacity: 0.5;
      color: #000000;
      cursor: auto; }

.mb-100 {
  margin-bottom: 10rem; }

.single-work-head {
  background: #f6f5f5;
  margin-bottom: 1rem; }
  .single-work-head .work-cate a {
    color: #000000;
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 175%;
    letter-spacing: 0;
    background: #99ccff;
    display: inline-block;
    padding: .3rem 2.75rem; }
  .single-work-head .work-desc {
    padding: 0 1.5rem; }

.single_info__head.vs-work {
  margin-bottom: 7rem; }

.work_slide-gp {
  max-width: 80rem;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 7.5rem; }
  .work_slide-gp .slider-main {
    position: relative;
    margin-bottom: 1.5rem; }
  .work_slide-gp .slick-slide img {
    width: 100%; }
  .work_slide-gp .slick-arrow {
    position: absolute;
    z-index: 10;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0;
    width: 4.6rem;
    height: 4.6rem;
    border-radius: 100%;
    border: 0;
    cursor: pointer;
    background: #4c7ea5; }
    .work_slide-gp .slick-arrow::before {
      content: "";
      position: absolute;
      width: 1.5rem;
      height: 2.2rem;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      background: #4c7ea5 url(assets/img/arrow-right.svg) no-repeat center;
      background-size: contain; }
  .work_slide-gp .slick-prev {
    left: -2.3rem; }
    .work_slide-gp .slick-prev::before {
      transform: scaleX(-1) translate(50%, -50%); }
  .work_slide-gp .slick-next {
    right: -2.3rem; }

.slider-thumb li {
  width: calc(100% / 8);
  cursor: pointer;
  transition: all 0.35s; }
  .slider-thumb li:hover {
    opacity: 0.8; }
  .slider-thumb li.active {
    opacity: 0.8; }

.single_info__main.vs-work {
  border-top: #999999 solid 1px;
  padding: 2.7rem 1rem 2.5rem;
  margin-bottom: 5.6rem; }
.single_info.vs-work {
  padding-bottom: 7rem; }

.work-related {
  background: #f6f5f5;
  padding: 9.5rem 0 7.8rem; }

@media (max-width: 767px) {
  .banner {
    height: 40rem;
    background-size: cover;
    background-image: var(--bg-sp) !important; }
    .banner-title * {
      font-size: 9rem; }
    .banner-title .jp {
      font-size: 2.6rem;
      margin-bottom: .6rem; }
    .banner-title .en {
      font-family: "DIN Condensed", "Roboto Condensed", sans-serif;
      text-transform: capitalize; }

  .breadcrumbs {
    display: none; }

  .pagenavi-wrap {
    margin-bottom: 11.2rem; }
    .pagenavi-wrap * {
      font-size: 3.6rem; }
      .pagenavi-wrap *::before {
        font-size: 3.6rem; }
    .pagenavi-wrap .page-numbers li * {
      padding: 0 3.5rem 0 2rem; }
    .pagenavi-wrap .page-numbers li:first-child * {
      padding-left: 3.5rem; }
    .pagenavi-wrap .prev, .pagenavi-wrap .next {
      font-size: 2.8rem;
      font-weight: 700; }
    .pagenavi-wrap .prev {
      padding-left: 0;
      margin-right: 4rem; }
    .pagenavi-wrap .next {
      margin-left: 4.3rem;
      padding-right: 0; }
    .pagenavi-wrap .next::before {
      content: none; }

  .work_cate-list {
    margin-top: 6rem;
    margin-bottom: 8rem; }
    .work_cate-list li {
      width: calc((100% - 1.501rem) / 2);
      margin-right: 1.5rem;
      margin-bottom: 1.5rem; }
      .work_cate-list li:nth-child(2n) {
        margin-right: 0; }
      .work_cate-list li:last-child {
        margin-bottom: 0; }
      .work_cate-list li a {
        font-size: 2.4rem;
        padding: .9rem 0; }
    .work_cate-list.vs-02 li {
      width: calc((100% - 1.501rem) / 2);
      margin-right: 1.5rem; }

  .work_list {
    margin-top: 8rem; }

  .works_list-01 {
    margin-bottom: 7rem; }
    .works_list-01 li {
      width: calc((100% - .801rem) / 2);
      margin-right: .8rem;
      margin-bottom: 3rem; }
      .works_list-01 li:nth-child(2n) {
        margin-right: 0; }
      .works_list-01 li .title_blog {
        font-size: 2.4rem;
        line-height: 145%; }
      .works_list-01 li .box-cate a {
        font-size: 2rem;
        padding: .05rem 1.5rem; }

  .work_slide-gp {
    margin-bottom: 6.5rem; }
    .work_slide-gp .slider-main {
      margin-bottom: 2rem; }

  .work-title-01 {
    font-size: 2.9rem;
    margin-bottom: 5.3rem; }

  .work-related {
    padding: 5rem 0 2.5rem; }

  .single-work-head {
    margin-bottom: 2rem; }
    .single-work-head .work-cate a {
      font-size: 2rem;
      padding: .3rem 1.85rem; }
    .single-work-head .work-desc {
      font-size: 2.2rem; }

  .slider-thumb li {
    width: calc(100% / 3); }

  .single_info__main.vs-work {
    padding: 5rem 1rem 3rem;
    margin-bottom: 8.5rem; }
  .single_info.vs-work {
    padding-top: 5rem;
    padding-bottom: 10rem; } }
.page-news-list.news-section {
  padding-top: 1.1rem;
  padding-bottom: 11.6rem; }
.page-news-list .news-section__inner {
  max-width: 103rem; }
.page-news-list .news-section__list {
  padding-left: 0;
  width: 100%; }
  .page-news-list .news-section__list::before {
    content: none; }
  .page-news-list .news-section__list li {
    border-top: 1px solid #999999;
    padding-top: 3rem;
    padding-bottom: 3rem; }
    .page-news-list .news-section__list li:not(:last-child) {
      margin-bottom: 0 !important; }
    .page-news-list .news-section__list li:last-child {
      border-bottom: 1px solid #999999; }
    .page-news-list .news-section__list li * {
      font-size: 1.6rem;
      font-family: "A-OTF Shin Go Pro", "Noto Sans JP", sans-serif; }
.page-news-list .news-section__text {
  padding-right: 0;
  width: calc(100% - 19rem);
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 1;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  padding-right: 3rem; }
  .page-news-list .news-section__text a {
    font-weight: 400; }
.page-news-list .news-section__date {
  width: 19rem;
  text-align: center;
  font-weight: bold; }
.page-news-list .group--pagenavi {
  width: 100%;
  text-align: center;
  margin-top: 14.4rem; }
.page-news-list .pagenavi-wrap {
  margin-bottom: 0; }
  .page-news-list .pagenavi-wrap * {
    line-height: 100%;
    font-family: "小塚ゴシック Pr6N", "A-OTF Shin Go Pro", "Noto Sans JP", sans-serif; }

@media (max-width: 767px) {
  .page-news-list.news-section {
    padding-bottom: 17.3rem; }
  .page-news-list .news-section__list {
    margin-top: 7.8rem;
    margin-bottom: 0; }
    .page-news-list .news-section__list li {
      padding-top: 1.6rem;
      padding-bottom: 1.8rem; }
      .page-news-list .news-section__list li * {
        font-size: 3.2rem; }
  .page-news-list .news-section__text {
    padding-right: 0;
    width: 100%;
    -webkit-line-clamp: 4; }
  .page-news-list .news-section__date {
    width: 100%;
    text-align: left;
    margin-bottom: 1.8rem; }
  .page-news-list .group--pagenavi {
    margin-top: 16.5rem; } }
.info__title {
  color: #4c7ea5;
  font-size: 2.8rem;
  font-weight: 600;
  line-height: 175%;
  letter-spacing: 0.1rem;
  border-bottom: #999999 solid 1px;
  padding-bottom: 1.6rem;
  margin-bottom: 1.5rem; }

.single_info {
  padding: 0px 0 18rem; }
  .single_info__head {
    margin-bottom: 3.5rem; }
  .single_info__thumb {
    text-align: center;
    margin-bottom: 6rem; }
  .single_info__main {
    padding: 0 .5rem 5.8rem;
    border-bottom: #999999 solid 1px;
    margin-bottom: 7.9rem; }
    .single_info__main p {
      color: #000000;
      font-size: 1.6rem;
      font-weight: 500;
      line-height: 195%;
      letter-spacing: 0;
      margin-bottom: 1.3rem; }
    .single_info__main :is(h1, h2, h3, h4, h5, h6, li, blockquote) {
      line-height: 175%;
      letter-spacing: 0;
      color: #000000; }
    .single_info__main :is(h1, h2, h3, h4, h5, h6) {
      font-weight: 700; }
    .single_info__main :is(h1, h2, h3, h4, h5, h6, ul, ol, blockquote) {
      margin-bottom: 1.5rem; }
    .single_info__main blockquote {
      background: #d7d7d7;
      padding: 2rem; }
      .single_info__main blockquote p {
        margin-bottom: 0; }
    .single_info__main h1 {
      font-size: 2.6rem; }
    .single_info__main h2 {
      font-size: 2.4rem; }
    .single_info__main h3 {
      font-size: 2.2rem; }
    .single_info__main h4 {
      font-size: 2rem; }
    .single_info__main h5 {
      font-size: 1.8rem; }
    .single_info__main :is(h6, li, blockquote) {
      font-size: 1.6rem; }
    .single_info__main ul,
    .single_info__main ol {
      padding-left: 2rem; }
    .single_info__main a {
      color: #06f;
      text-decoration: underline; }
      .single_info__main a:hover {
        text-decoration: none; }
    .single_info__main ul {
      list-style: disc; }
    .single_info__main ol {
      list-style: decimal; }
  .single_info .date {
    color: #000000;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 175%;
    letter-spacing: 0.05rem;
    font-family: "A-OTF Shin Go Pro", "Noto Sans JP", sans-serif; }

.single_button__gp > div > a,
.single_button__gp > div > span {
  display: flex;
  align-items: center;
  justify-content: center;
  border: .2rem solid #3980a8;
  height: 7rem;
  border-radius: 7rem;
  transition: ease all 0.35s;
  position: relative; }
  .single_button__gp > div > a::after,
  .single_button__gp > div > span::after {
    content: "";
    position: absolute;
    right: 2.7rem;
    top: 50%;
    width: 1.4rem;
    height: 1.3rem;
    transform: translateY(-50%);
    background-image: url(assets/img/icon-09.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat; }
  .single_button__gp > div > a span,
  .single_button__gp > div > span span {
    color: #3980a8;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 175%;
    letter-spacing: 0.05rem;
    padding-bottom: .4rem; }
  .single_button__gp > div > a.btn_arrow,
  .single_button__gp > div > span.btn_arrow {
    width: 20rem;
    font-family: "A-OTF Shin Go Pro", "Noto Sans JP", sans-serif; }
  .single_button__gp > div > a.btn__prev::after,
  .single_button__gp > div > span.btn__prev::after {
    right: inherit;
    left: 2.7rem;
    transform: translateY(-50%) rotate(180deg); }
  .single_button__gp > div > a.btn__prev span,
  .single_button__gp > div > span.btn__prev span {
    padding-right: 0; }
  .single_button__gp > div > a.btn__return,
  .single_button__gp > div > span.btn__return {
    width: 34.6rem; }
.single_button__gp > div > a {
  position: relative; }
  .single_button__gp > div > a:hover {
    background-color: #84adc1;
    border: .2rem solid #84adc1; }
    .single_button__gp > div > a:hover::after {
      background-image: url(assets/img/icon-03.svg); }
    .single_button__gp > div > a:hover span {
      color: #fff; }
.single_button__gp > div > span {
  opacity: 0.5; }

@media (max-width: 767px) {
  .info__title {
    font-size: 3.4rem;
    line-height: 130%;
    padding-bottom: 2.2rem;
    margin-bottom: 2.2rem; }

  .single_info {
    padding-top: 7.8rem; }
    .single_info__main {
      padding: 0 .5rem 4.5rem; }
      .single_info__main p {
        margin-bottom: 2rem;
        font-size: 2.8rem;
        line-height: 205%; }
      .single_info__main :is(h1, h2, h3, h4, h5, h6) {
        line-height: 150%; }
      .single_info__main :is(h1, h2, h3, h4, h5, h6, ul, ol, blockquote) {
        margin-bottom: 1.8rem; }
      .single_info__main blockquote {
        padding: 2rem; }
      .single_info__main h1 {
        font-size: 3.8rem; }
      .single_info__main h2 {
        font-size: 3.6rem; }
      .single_info__main h3 {
        font-size: 3.4rem; }
      .single_info__main h4 {
        font-size: 3.2rem; }
      .single_info__main h5 {
        font-size: 3rem; }
      .single_info__main :is(h6, li, blockquote) {
        font-size: 2.8rem; }
      .single_info__main ul,
      .single_info__main ol {
        padding-left: 2rem; }
    .single_info .date {
      font-size: 2.4rem; }

  .single_button__gp {
    flex-wrap: wrap; }
    .single_button__gp > div:nth-child(2) {
      order: 0;
      width: 100%; }
    .single_button__gp > div:nth-child(1) {
      order: 1;
      width: 100%; }
    .single_button__gp > div:nth-child(3) {
      order: 2;
      width: calc( (100% - 2rem) / 2 ); }
    .single_button__gp > div > a,
    .single_button__gp > div > span {
      border: .2rem solid #3980a8;
      height: 11.7rem;
      border-radius: 7rem;
      transition: ease all 0.35s;
      position: relative; }
      .single_button__gp > div > a::after,
      .single_button__gp > div > span::after {
        content: "";
        position: absolute;
        right: 4.8rem;
        top: 50%;
        width: 2.3rem;
        height: 2.2rem;
        transform: translateY(-50%);
        background-image: url(assets/img/icon-09.svg);
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat; }
      .single_button__gp > div > a span,
      .single_button__gp > div > span span {
        font-size: 2.8rem;
        padding-bottom: .4rem; }
      .single_button__gp > div > a.btn_arrow,
      .single_button__gp > div > span.btn_arrow {
        width: 100%; }
      .single_button__gp > div > a.btn__prev::after,
      .single_button__gp > div > span.btn__prev::after {
        right: inherit;
        left: 2.7rem;
        transform: translateY(-50%) rotate(180deg); }
      .single_button__gp > div > a.btn__prev span,
      .single_button__gp > div > span.btn__prev span {
        padding-right: 0; }
      .single_button__gp > div > a.btn__return,
      .single_button__gp > div > span.btn__return {
        width: 100%;
        margin-bottom: 2rem; }
    .single_button__gp > div > a {
      position: relative; }
      .single_button__gp > div > a:hover {
        background-color: #84adc1;
        border: .2rem solid #84adc1; }
        .single_button__gp > div > a:hover::after {
          background-image: url(assets/img/icon-03.svg); }
        .single_button__gp > div > a:hover span {
          color: #fff; }
    .single_button__gp > div > span {
      opacity: 0.5; }
    .single_button__gp.vs-work > div:nth-child(1) {
      width: 100%; } }
.contact-layout {
  padding-bottom: 16rem; }
  .contact-layout .cm4cf7-confirm-view .btn-submit-item {
    width: 100%;
    margin-right: 0; }
    .contact-layout .cm4cf7-confirm-view .btn-submit-item p {
      display: flex;
      flex-wrap: wrap;
      justify-content: center; }
      .contact-layout .cm4cf7-confirm-view .btn-submit-item p button, .contact-layout .cm4cf7-confirm-view .btn-submit-item p input {
        width: calc((100% - 1.501rem) / 2); }
      .contact-layout .cm4cf7-confirm-view .btn-submit-item p button {
        margin-right: 1.5rem;
        cursor: pointer;
        height: 7rem;
        border: #3980a8 solid .2rem;
        border-radius: 7rem;
        background: #FFFFFF;
        font-size: 1.4rem;
        color: #3980a8;
        font-weight: 600;
        line-height: 150%;
        position: relative;
        transition: all 0.35s; }
        .contact-layout .cm4cf7-confirm-view .btn-submit-item p button:hover {
          background-color: #84adc1;
          border-color: #84adc1;
          color: #FFFFFF; }
    .contact-layout .cm4cf7-confirm-view .btn-submit-item.vs-02 {
      display: none; }
.contact-head-desc p {
  line-height: 160%;
  margin-bottom: 6rem;
  color: #000000;
  margin-bottom: 5rem; }
.contact-box {
  border: #cccccc solid 1px;
  padding: 1.8rem 0 2rem; }
  .contact-box p {
    font-weight: 600;
    line-height: 150%; }
    @media (min-width: 767.5px) {
      .contact-box p:last-child {
        font-size: 1.4rem; } }
  .contact-box .tel {
    font-size: 3rem;
    color: #4c7ea5;
    display: inline-block;
    margin-top: 2rem;
    margin-bottom: 1.3rem; }
.contact-table {
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
  margin-bottom: 5rem; }
  .contact-table td {
    border-bottom: #cccccc solid 1px;
    padding: 1rem;
    color: #000000;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 175%;
    letter-spacing: 0; }
    .contact-table td * {
      color: #000000;
      font-size: 1.4rem;
      font-weight: 500;
      line-height: 175%;
      letter-spacing: 0; }
    .contact-table td .required {
      background: #cc3333;
      color: #FFFFFF;
      display: inline-block;
      font-weight: 700;
      padding: 0 1.1rem;
      margin-left: 1.2rem; }
    .contact-table td .wpcf7-not-valid-tip {
      color: #dc3232; }
    .contact-table td:first-child {
      padding-left: 3rem;
      width: 25.5rem; }
    .contact-table td .input-form {
      height: 4.6rem;
      padding: 0 1rem;
      width: 100%;
      border-radius: 0;
      border: #cccccc solid 1px;
      background: #efefef;
      font-family: "Noto Sans JP", sans-serif;
      color: #000000; }
      .contact-table td .input-form.vs-02 {
        width: 13.5rem; }
    .contact-table td textarea.input-form {
      height: 19rem;
      padding-top: .5rem;
      padding-bottom: .5rem; }
    .contact-table td .option-form {
      display: block;
      padding-top: 1rem;
      padding-bottom: .5rem; }
      .contact-table td .option-form .wpcf7-list-item {
        display: block;
        margin-left: 0;
        margin-bottom: .9rem; }
        .contact-table td .option-form .wpcf7-list-item:last-child {
          margin-bottom: 0; }
        .contact-table td .option-form .wpcf7-list-item label {
          position: relative; }
        .contact-table td .option-form .wpcf7-list-item input {
          position: absolute;
          top: 0;
          left: 0;
          opacity: 0; }
          .contact-table td .option-form .wpcf7-list-item input:checked ~ span::before {
            border-color: #000000; }
          .contact-table td .option-form .wpcf7-list-item input:checked ~ span::after {
            opacity: 1; }
        .contact-table td .option-form .wpcf7-list-item-label {
          font-size: 1.6rem;
          position: relative;
          padding-left: 3.7rem; }
          .contact-table td .option-form .wpcf7-list-item-label::before {
            content: "";
            position: absolute;
            width: 2.2rem;
            height: 2.2rem;
            top: 50%;
            left: 0;
            transform: translateY(-50%);
            border: #cccccc solid .2rem;
            border-radius: 100%; }
          .contact-table td .option-form .wpcf7-list-item-label::after {
            content: "";
            position: absolute;
            width: 1.4rem;
            height: 1.4rem;
            top: 50%;
            left: .4rem;
            transform: translateY(-50%);
            background: #000000;
            border-radius: 100%;
            opacity: 0;
            transition: all 0.35s; }
    .contact-table td .desc {
      margin-top: .5rem; }
  .contact-table tr:first-child td {
    border-top: #cccccc solid 1px; }
  .contact-table tr:nth-child(4) td, .contact-table tr:nth-child(7) td {
    border-bottom: 0;
    vertical-align: text-top; }
  .contact-table tr:nth-child(5) td {
    vertical-align: text-top; }
    .contact-table tr:nth-child(5) td .required {
      margin-left: .2rem; }
.contact-item-01 {
  margin-bottom: 10.5rem; }

.btn-submit-gp {
  max-width: 71rem;
  margin-left: auto;
  margin-right: auto;
  position: relative; }
  .btn-submit-gp .wpcf7-spinner {
    position: absolute;
    bottom: -2.6rem;
    left: 47%;
    transform: translateX(-50%); }
.btn-submit-item {
  width: calc((100% - 1.501rem) / 2);
  margin-right: 1.5rem; }
  .btn-submit-item:nth-child(2n) {
    margin-right: 0; }
  .btn-submit-item .btn {
    width: 100%;
    height: 7rem;
    border: #3980a8 solid .2rem;
    border-radius: 7rem;
    background: #3980a8 url(assets/img/icon-03.svg) no-repeat center right 3rem;
    background-size: 1.4rem;
    cursor: pointer;
    font-size: 1.4rem;
    color: #FFFFFF;
    font-weight: 600;
    line-height: 150%;
    position: relative;
    transition: all 0.35s; }
    .btn-submit-item .btn:hover {
      background-color: #84adc1;
      border-color: #84adc1; }
  .btn-submit-item.vs-02 .btn {
    background-color: #FFFFFF;
    color: #3980a8;
    background-image: none; }
    .btn-submit-item.vs-02 .btn:hover {
      background-color: #84adc1;
      border-color: #84adc1;
      color: #FFFFFF; }

.privacy-iframe {
  border: #cccccc solid 1px;
  margin-bottom: 3.6rem; }
  .privacy-iframe iframe {
    width: 100%;
    height: 24.5rem;
    vertical-align: top; }
.privacy-content {
  position: relative; }
  .privacy-content::before {
    content: "";
    position: absolute;
    width: calc(100% - 2px);
    height: 24px;
    background: #FFFFFF;
    bottom: 0;
    left: 0;
    z-index: 1; }
  .privacy-content::after {
    content: "";
    position: absolute;
    width: 1px;
    height: 100%;
    top: 0;
    right: 1.4rem;
    z-index: 2;
    background: #cccccc; }
  .privacy-content h3 {
    color: #000000;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 175%;
    letter-spacing: 0;
    text-align: center;
    margin-bottom: 23px; }
  .privacy-content h4 {
    font-size: 1.4rem;
    line-height: 175%;
    margin-bottom: 25px; }
  .privacy-content p {
    font-size: 1.4rem;
    line-height: 175%;
    margin-bottom: 23px;
    letter-spacing: 0; }
.privacy-main {
  height: 24.5rem;
  padding-top: .3rem;
  padding-left: .5rem;
  padding-right: 3rem;
  position: relative; }
.privacy-wrap {
  padding-bottom: 1px; }

@media (max-width: 767px) {
  .contact-layout {
    padding-top: 7rem; }
  .contact-head-desc p {
    font-size: 2.8rem;
    letter-spacing: 0;
    line-height: 170%; }
  .contact-item-01 {
    text-align: left;
    margin-bottom: 3.7rem; }
  .contact-box {
    padding-left: 3.7rem;
    padding-bottom: 3.8rem; }
    .contact-box p {
      font-size: 2.8rem;
      letter-spacing: 0;
      line-height: 125%; }
    .contact-box a {
      cursor: default;
      pointer-events: none; }
    .contact-box .tel {
      font-size: 5.2rem;
      margin-bottom: 3.8rem;
      cursor: pointer;
      pointer-events: all; }
  .contact-table {
    margin-bottom: 7.7rem; }
    .contact-table td {
      float: left;
      width: 100%;
      border-bottom: 0;
      padding: 1rem 0;
      font-size: 3.2rem; }
      .contact-table td:first-child {
        width: 100%;
        padding-left: 0;
        padding-right: 0; }
      .contact-table td * {
        font-size: 3rem; }
      .contact-table td .required {
        font-size: 3rem;
        padding: 0 2.4rem;
        margin-left: 2rem; }
      .contact-table td .input-form {
        height: 11.6rem;
        font-size: 3.2rem;
        padding: 0 3rem;
        letter-spacing: 0.15rem; }
        .contact-table td .input-form.vs-02 {
          width: 100%; }
      .contact-table td textarea.input-form {
        height: 46rem; }
      .contact-table td .desc {
        line-height: 120%;
        margin-top: 1rem; }
      .contact-table td .option-form {
        padding-top: 0;
        padding-bottom: 2.3rem;
        margin-top: -1rem; }
        .contact-table td .option-form .wpcf7-list-item {
          margin-bottom: .3rem; }
          .contact-table td .option-form .wpcf7-list-item-label {
            font-size: 3.2rem;
            padding-left: 4.3rem; }
            .contact-table td .option-form .wpcf7-list-item-label::before {
              width: 3rem;
              height: 3rem; }
            .contact-table td .option-form .wpcf7-list-item-label::after {
              width: 2rem;
              height: 2rem;
              left: .5rem; }
    .contact-table tr:first-child td {
      border-top: 0; }

  .privacy-iframe {
    margin-bottom: 6rem; }
    .privacy-iframe iframe {
      height: 65.6rem; }
  .privacy-content::before {
    height: 4.5rem; }
  .privacy-content::after {
    right: 3rem; }
  .privacy-content h3, .privacy-content h4, .privacy-content p {
    font-size: 3.2rem;
    margin-bottom: 3.6rem; }
  .privacy-content p {
    line-height: 130%; }
  .privacy-main {
    height: 65.6rem;
    padding-left: 1.6rem;
    padding-right: 6rem; }
  .privacy-wrap {
    padding-top: 0.6rem; }

  .btn-submit-item {
    width: 100%;
    margin-right: 0;
    margin-bottom: 3.5rem; }
    .btn-submit-item:last-child {
      margin-bottom: 0; }
    .btn-submit-item .btn {
      height: 11.7rem;
      font-size: 2.8rem;
      background-position: center right 4.8rem;
      background-size: 2.3rem; }

  .os-theme-dark > .os-scrollbar-vertical, .os-theme-light > .os-scrollbar-vertical {
    width: 3rem; }

  .os-theme-dark > .os-scrollbar-vertical > .os-scrollbar-track > .os-scrollbar-handle, .os-theme-light > .os-scrollbar-vertical > .os-scrollbar-track > .os-scrollbar-handle {
    height: 25.8rem !important;
    border-radius: 3.4rem; } }
.gp_title-02 {
  width: 100%;
  position: relative;
  margin: 4rem 0; }
  .gp_title-02:first-child {
    margin-top: 0; }
  .gp_title-02 * {
    color: #000000;
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 120%;
    letter-spacing: 0.2rem;
    font-feature-settings: 'palt'; }
  .gp_title-02 h1 {
    font-size: 3.2rem; }
  .gp_title-02 h2 {
    font-size: 2.8rem; }
  .gp_title-02 h3 {
    font-size: 2.4rem; }
  .gp_title-02 h4 {
    font-size: 2rem; }
  .gp_title-02 h5 {
    font-size: 1.6rem; }
  .gp_title-02 h6 {
    font-size: 1.6rem; }
  .gp_title-02:not(.type_01) {
    padding-bottom: 1rem;
    border-bottom: .5rem solid #999999; }
    .gp_title-02:not(.type_01)::before {
      content: "";
      position: absolute;
      left: 0;
      bottom: -.5rem;
      width: 20rem;
      height: .5rem;
      background-color: #89cdff; }
  .gp_title-02.type_02 *, .gp_title-02.type_04 * {
    text-align: center;
    padding-left: 8rem;
    padding-right: 8rem; }
  .gp_title-02.type_03 *, .gp_title-02.type_05 * {
    padding-left: 3.5rem;
    padding-right: 12.8rem; }
  .gp_title-02.type_02 *, .gp_title-02.type_03 * {
    color: #4c7ea5; }
  .gp_title-02.type_04 *, .gp_title-02.type_05 * {
    color: #333333; }

@media (max-width: 767px) {
  .gp_title-02 h2 {
    font-size: 4rem; }
  .gp_title-02 h3 {
    font-size: 3.2rem; }
  .gp_title-02:not(.type_01) {
    padding-bottom: 3.1rem; }
    .gp_title-02:not(.type_01)::before {
      width: 17rem; } }
  @media (max-width: 767px) and (max-width: 480px) {
    .gp_title-02:not(.type_01) {
      border-bottom: 2px solid #999999; }
      .gp_title-02:not(.type_01)::before {
        bottom: -2px;
        height: 2px; } }
@media (max-width: 767px) {
  .gp_title-02.type_03 *, .gp_title-02.type_05 *, .gp_title-02.type_02 *, .gp_title-02.type_04 * {
    padding-left: 1.5rem;
    padding-right: 1.5rem; } }
.gp_desc {
  margin: 4rem 0; }
  .gp_desc:first-child {
    margin-top: 0; }
  .gp_desc * {
    color: #000000;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 190%;
    letter-spacing: 0.2rem;
    font-feature-settings: 'palt'; }
  .gp_desc.align-left {
    text-align: left;
    margin-bottom: 5.2rem; }
  .gp_desc.align-right {
    text-align: right; }
  .gp_desc.align-center {
    text-align: center; }

@media (max-width: 767px) {
  .gp_desc {
    margin: 4rem 0; }
    .gp_desc:first-child {
      margin-top: 0; }
    .gp_desc * {
      font-size: 3.2rem;
      line-height: 130%; } }
.group_colums {
  width: 100%;
  position: relative;
  margin: 4rem 0; }
  .group_colums:first-child {
    margin-top: 0; }
  .group_colums--item {
    width: 48rem; }
    .group_colums--item .caption {
      color: #000000;
      font-size: 1.2rem;
      font-weight: 500;
      line-height: 120%;
      letter-spacing: 0.2rem;
      font-feature-settings: 'palt'; }
    .group_colums--item:last-child {
      width: calc(100% - 48rem);
      padding-left: 2.5rem; }
      .group_colums--item:last-child .gp_desc {
        margin-top: -0.9rem;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        margin-bottom: 2.1rem; }
        .group_colums--item:last-child .gp_desc * {
          font-feature-settings: inherit; }
      .group_colums--item:last-child .gp_button-01 {
        width: 47rem; }
  .group_colums.dflex-fd2r .group_colums--item:last-child {
    padding-left: 0;
    padding-right: 2.5rem; }
  .group_colums.dflex-fdc .group_colums--item {
    width: 100% !important; }
    .group_colums.dflex-fdc .group_colums--item:first-child {
      max-width: 88rem;
      margin-left: auto;
      margin-right: auto;
      margin-bottom: 4.3rem; }
    .group_colums.dflex-fdc .group_colums--item:last-child {
      padding-left: 0rem;
      padding-right: 0rem;
      margin-bottom: 0; }
  .group_colums--field {
    width: calc((100% - 2.501rem) / 2);
    margin-right: 2.5rem;
    margin-bottom: 6rem; }
    .group_colums--field:nth-child(2n) {
      margin-right: 0; }
    @media (min-width: 767.5px) {
      .group_colums--field:nth-last-child(2) {
        margin-bottom: 0; } }
    .group_colums--field:last-child {
      margin-bottom: 0; }
    .group_colums--field .gp_button-01 {
      width: 100%; }
    .group_colums--field .caption {
      color: #000000;
      font-size: 1.2rem;
      font-weight: 500;
      line-height: 120%;
      letter-spacing: 0.2rem;
      font-feature-settings: 'palt'; }
    .group_colums--field .gp_desc {
      margin-top: -0.4rem;
      margin-bottom: 1rem; }
      .group_colums--field .gp_desc * {
        font-feature-settings: inherit; }

@media (max-width: 767px) {
  .group_colums {
    width: 100%;
    position: relative;
    margin: 4rem 0; }
    .group_colums:first-child {
      margin-top: 0; }
    .group_colums--item {
      width: 100% !important; }
      .group_colums--item .caption {
        font-size: 2.8rem;
        margin-top: 1.5rem;
        margin-bottom: 3rem;
        display: block; }
      .group_colums--item:last-child {
        padding-left: 0 !important;
        padding-right: 0 !important; }
        .group_colums--item:last-child .gp_desc {
          margin-top: 0;
          margin-bottom: 4.0rem; }
        .group_colums--item:last-child .gp_button-01 {
          width: 100%;
          margin-left: auto;
          margin-right: auto; }
    .group_colums--field {
      width: 100%;
      margin-right: 0;
      margin-bottom: 8.5rem; }
      .group_colums--field:last-child {
        margin-bottom: 0; }
      .group_colums--field .caption {
        font-size: 2.8rem;
        margin-top: 1.5rem;
        margin-bottom: 3rem;
        display: block; }
      .group_colums--field .gp_desc {
        padding-top: 0; }
    .group_colums.dflex-fd2r .group_colums--item:last-child {
      padding-left: 0;
      padding-right: 2.5rem; }
    .group_colums.dflex-fdc .group_colums--item {
      width: 100% !important; }
      .group_colums.dflex-fdc .group_colums--item:first-child {
        width: calc(100% + 6rem) !important;
        max-width: calc(100% + 6rem);
        margin-bottom: 4.3rem;
        position: relative;
        left: -3rem; }
        .group_colums.dflex-fdc .group_colums--item:first-child img {
          width: 100%; }
      .group_colums.dflex-fdc .group_colums--item:last-child {
        padding-left: 0rem;
        padding-right: 0rem;
        margin-bottom: 0; }
    .group_colums.dflex-fdc .caption {
      padding-left: 3rem;
      padding-right: 3rem; } }
.gp_table_box {
  margin: 4rem 0; }
  .gp_table_box .gp_title-02 {
    margin-bottom: 4.1rem; }

.gp_table {
  position: relative; }
  .gp_table_01 {
    width: calc(100% + 0.4rem);
    left: -0.2rem;
    border-spacing: 0.2rem 0; }
  .gp_table_02 {
    width: calc(100% + 0.6rem);
    left: -0.3rem;
    border-spacing: 0.3rem 0; }
    .gp_table_02 tr td {
      background-color: #d6e1ea;
      border-bottom: 0 !important;
      padding: 1.7rem 0; }
      .gp_table_02 tr td:first-child {
        text-align: center;
        padding-left: 0;
        width: 19rem; }
    .gp_table_02 tr:nth-child(2n) td {
      background-color: #ffffff; }
  .gp_table td {
    color: #000000;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 190%;
    letter-spacing: 0.02rem;
    border-bottom: 1px solid #cccccc;
    padding: 1.5rem 0; }
    .gp_table td * {
      color: #000000;
      font-size: 1.4rem;
      font-weight: 700;
      line-height: 190%;
      letter-spacing: 0.02rem; }
    .gp_table td:first-child {
      width: 16.5rem;
      font-weight: bold;
      padding-left: 1.7rem;
      border-bottom: 1px solid #4c7ea5; }
    .gp_table td:last-child {
      padding-left: 3.5rem; }

@media (max-width: 767px) {
  .gp_table {
    position: relative; }
    .gp_table_01 {
      width: 100%;
      left: 0rem;
      border-spacing: 0; }
    .gp_table_02 {
      width: 100%;
      left: 0rem;
      border-spacing: 0; }
      .gp_table_02 tr td {
        border-bottom: 0 !important;
        padding: 1.7rem 1rem !important;
        width: 100%;
        float: left; }
        .gp_table_02 tr td:first-child {
          text-align: left;
          padding-left: 0;
          width: 100%;
          float: left;
          background-color: #d6e1ea; }
        .gp_table_02 tr td:last-child {
          background-color: #ffffff; }
    .gp_table td {
      font-size: 2.8rem;
      border-bottom: .1rem solid #cccccc;
      padding: 2.5rem 0;
      width: 100%;
      float: left; }
      .gp_table td * {
        font-size: 2.8rem; }
      .gp_table td:first-child {
        width: 100%;
        float: left;
        padding-left: 0rem;
        border-bottom: .3rem solid #4c7ea5; }
      .gp_table td:last-child {
        padding-left: 0rem; }
        .gp_table td:last-child p {
          font-weight: 400 !important; } }
.gp_mpyb_box {
  margin: 4rem 0; }
  .gp_mpyb_box .gp_title-02 {
    margin-bottom: 2.6rem; }

.gp_mpyb_box iframe {
  width: 100%;
  height: 40rem;
  vertical-align: top; }
.gp_mpyb_box.youtube iframe {
  height: 55rem; }

@media (max-width: 767px) {
  .gp_mpyb_box iframe {
    height: 33rem; }
  .gp_mpyb_box.youtube iframe {
    height: 33rem; } }
.gp_button_box ul.gp_button {
  margin: 4rem 0 7rem; }

ul.gp_button {
  width: 100%;
  margin: 4rem 0rem;
  position: relative; }
  ul.gp_button .gp_button-01 {
    width: 100%; }
  ul.gp_button.style-1 li {
    width: 100%;
    max-width: 76rem;
    margin: 0 auto; }
  ul.gp_button.style-2, ul.gp_button.style-3 {
    display: flex;
    flex-wrap: wrap;
    padding: 0 0.5rem; }
  ul.gp_button.style-2 li {
    width: calc((100% - 3.302rem) / 2);
    margin-right: 3.3rem; }
    ul.gp_button.style-2 li:nth-child(2n), ul.gp_button.style-2 li:last-child {
      margin-right: 0; }
  ul.gp_button.style-3 li {
    width: calc((100% - 2.402rem) / 3);
    margin-right: 1.2rem; }
    ul.gp_button.style-3 li:nth-child(3n), ul.gp_button.style-3 li:last-child {
      margin-right: 0; }

@media (max-width: 767px) {
  ul.gp_button {
    margin: 4rem 0rem; }
    ul.gp_button .gp_button-01 {
      width: 100%; }
    ul.gp_button.style-1 li {
      max-width: 57.8rem; }
    ul.gp_button.style-2 {
      width: calc(100% + 6rem);
      left: -3rem;
      position: relative;
      padding: 0 1rem; }
      ul.gp_button.style-2 span {
        max-width: 12rem;
        text-align: center;
        line-height: 120%; }
    ul.gp_button.style-3 {
      padding: 0; }
    ul.gp_button.style-2 li {
      width: calc((100% - 1.502rem) / 2);
      margin-right: 1.5rem; }
      ul.gp_button.style-2 li:nth-child(2n), ul.gp_button.style-2 li:last-child {
        margin-right: 0; }
    ul.gp_button.style-3 li {
      width: 100%;
      margin-right: 0rem;
      margin-bottom: 2rem; }
      ul.gp_button.style-3 li:last-child {
        margin-bottom: 0; } }
.group_page_box {
  margin-bottom: 15rem; }

.gp_title-box {
  padding: 5rem 0 5rem; }
  .gp_title-box.type_05 {
    padding-bottom: 3rem; }
  .gp_title-box .gp_title-02 {
    margin: 0 !important; }

.gp_desc,
.gp_table_box,
.gp_mpyb_box,
.group_colums_box {
  padding: 2rem 0; }

.bg-ffffff {
  background-color: #ffffff; }

.bg-dddddd {
  background-color: #dddddd; }

.bg-ccccff {
  background-color: rgba(204, 204, 255, 0.4); }

.bg-ffffff > div > div:first-child, .bg-dddddd > div > div:first-child, .bg-ccccff > div > div:first-child {
  padding-top: 6rem; }
.bg-ffffff > div > div.gp_desc, .bg-dddddd > div > div.gp_desc, .bg-ccccff > div > div.gp_desc {
  margin-bottom: 0;
  padding-bottom: 5.2rem; }
  .bg-ffffff > div > div.gp_desc:not(:first-child), .bg-dddddd > div > div.gp_desc:not(:first-child), .bg-ccccff > div > div.gp_desc:not(:first-child) {
    margin-top: 0;
    padding-top: 0; }
.bg-ffffff > div > div.gp_table_box, .bg-ffffff > div > div.gp_mpyb_box, .bg-dddddd > div > div.gp_table_box, .bg-dddddd > div > div.gp_mpyb_box, .bg-ccccff > div > div.gp_table_box, .bg-ccccff > div > div.gp_mpyb_box {
  margin: 0;
  padding-bottom: 6.5rem !important; }
.bg-ffffff > div > div .group_colums.dflex-fdc, .bg-dddddd > div > div .group_colums.dflex-fdc, .bg-ccccff > div > div .group_colums.dflex-fdc {
  margin-bottom: 3.3rem; }
  .bg-ffffff > div > div .group_colums.dflex-fdc .gp_desc, .bg-dddddd > div > div .group_colums.dflex-fdc .gp_desc, .bg-ccccff > div > div .group_colums.dflex-fdc .gp_desc {
    margin-bottom: 0 !important; }
.bg-ffffff > div > div.gp_button_box:first-child ul.gp_button, .bg-dddddd > div > div.gp_button_box:first-child ul.gp_button, .bg-ccccff > div > div.gp_button_box:first-child ul.gp_button {
  margin-top: 0; }
.bg-ffffff > div > div.gp_button_box:last-child, .bg-dddddd > div > div.gp_button_box:last-child, .bg-ccccff > div > div.gp_button_box:last-child {
  padding-bottom: 6rem; }
  .bg-ffffff > div > div.gp_button_box:last-child ul.gp_button, .bg-dddddd > div > div.gp_button_box:last-child ul.gp_button, .bg-ccccff > div > div.gp_button_box:last-child ul.gp_button {
    margin-bottom: 0; }

@media (max-width: 767px) {
  .group_colums_box {
    padding-bottom: 0; }

  .gp_title-box.type_02, .gp_title-box.type_03, .gp_title-box.type_04 {
    padding-bottom: 3rem; }
  .gp_title-box.type_05 {
    padding-bottom: 2rem; }

  .bg-dddddd > div > div:first-child, .bg-ffffff > div > div:first-child, .bg-ccccff > div > div:first-child {
    padding-top: 8rem; }
  .bg-dddddd > div > div.gp_desc:last-child, .bg-ffffff > div > div.gp_desc:last-child, .bg-ccccff > div > div.gp_desc:last-child {
    padding-bottom: 8rem; }
  .bg-dddddd > div > div .group_colums, .bg-ffffff > div > div .group_colums, .bg-ccccff > div > div .group_colums {
    margin-bottom: 0;
    padding-bottom: 8rem; }
  .bg-dddddd > div > div .group_colums.dflex-fdc, .bg-ffffff > div > div .group_colums.dflex-fdc, .bg-ccccff > div > div .group_colums.dflex-fdc {
    margin-bottom: 0; }
  .bg-dddddd > div > div.gp_button_box:last-child, .bg-ffffff > div > div.gp_button_box:last-child, .bg-ccccff > div > div.gp_button_box:last-child {
    padding-bottom: 8rem; } }

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