:root {
  --global--color1:#AA0140;
  --global--color2:#011A30;
  --global--color3:#29AAAE;
  --global--color4:#E0E0E0;
  --global--color5:#F7F7F7;
  --global--color6:#2C4052; }

.bg_color1 {
  background: var(--global--color1); }

.bg_color2 {
  background: var(--global--color2); }

.bg_color2-50 {
  background: #011a3080; }

.bg_color2-60 {
  background: #011a3099; }

.bg_color3 {
  background: var(--global--color3); }

.bg_color4 {
  background: var(--global--color4); }

.bg_color5 {
  background: var(--global--color5); }

.bg_color6 {
  background: var(--global--color6); }

.bg_white {
  background: white; }

.color1 {
  color: var(--global--color1); }

.color2 {
  color: var(--global--color2); }

.color_white {
  color: white; }

.mg0 {
  margin: 0 !important; }

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

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

.mb5 {
  margin-bottom: 5px !important; }

.mb10 {
  margin-bottom: 10px !important; }

.mb15 {
  margin-bottom: 15px !important; }

.mb20 {
  margin-bottom: 20px !important; }

.mb25 {
  margin-bottom: 25px !important; }

.mb30 {
  margin-bottom: 30px !important; }

.mb35 {
  margin-bottom: 35px !important; }

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

.mb45 {
  margin-bottom: 45px !important; }

.mb50 {
  margin-bottom: 50px !important; }

.mb55 {
  margin-bottom: 55px !important; }

.mb60 {
  margin-bottom: 60px !important; }

.mb65 {
  margin-bottom: 65px !important; }

.mb70 {
  margin-bottom: 70px !important; }

.mb75 {
  margin-bottom: 75px !important; }

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

.mb85 {
  margin-bottom: 85px !important; }

.mb90 {
  margin-bottom: 90px !important; }

.mb95 {
  margin-bottom: 95px !important; }

.mb100 {
  margin-bottom: 100px !important; }

.mb120 {
  margin-bottom: 120px !important; }
  @media screen and (max-width: 760px) {
    .mb120 {
      margin-bottom: 70px !important; } }

@media screen and (max-width: 760px) {
  .mb30, .mb40 {
    margin-bottom: 5vw !important; }

  .mb50, .mb55, .mb80, .mb90, .mb100 {
    margin-bottom: 7vw !important; }

  .sp_mb0 {
    margin-bottom: 0vw !important; } }
.gap5 {
  gap: 5px; }

.gap10 {
  gap: 10px; }

.gap15 {
  gap: 15px; }

.gap20 {
  gap: 20px; }

.gap25 {
  gap: 25px; }

.gap30 {
  gap: 30px; }

.gap35 {
  gap: 35px; }

.gap40 {
  gap: 40px; }

.gap45 {
  gap: 45px; }

.gap50 {
  gap: 50px; }

.gap55 {
  gap: 55px; }

.gap60 {
  gap: 60px; }

.gap65 {
  gap: 65px; }

.gap70 {
  gap: 70px; }

.gap75 {
  gap: 75px; }

.w20 {
  width: 20% !important;
  max-width: 20% !important; }

.w25 {
  width: 25% !important;
  max-width: 25% !important; }

.w30 {
  width: 30% !important;
  max-width: 30% !important; }

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

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

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

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

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

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

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

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

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

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

.w85 {
  width: 85% !important;
  max-width: 85% !important; }

.w90 {
  width: 90% !important;
  max-width: 90% !important; }

.w95 {
  width: 95% !important;
  max-width: 95% !important; }

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

.fs10 {
  font-size: 10px; }
  @media screen and (max-width: 760px) {
    .fs10 {
      font-size: 2.1333333333vw !important; } }

.fs12 {
  font-size: 12px; }
  @media screen and (max-width: 760px) {
    .fs12 {
      font-size: 2.4vw !important; } }

.fs13 {
  font-size: 13px; }
  @media screen and (max-width: 760px) {
    .fs13 {
      font-size: 2.5333333333vw !important; } }

.fs14 {
  font-size: 14px; }
  @media screen and (max-width: 760px) {
    .fs14 {
      font-size: 2.6666666667vw !important; } }

.fs15 {
  font-size: 15px; }
  @media screen and (max-width: 760px) {
    .fs15 {
      font-size: inherit; } }

.fs16 {
  font-size: 16px; }
  @media screen and (max-width: 760px) {
    .fs16 {
      font-size: inherit; } }

.fs18 {
  font-size: 18px; }
  @media screen and (max-width: 760px) {
    .fs18 {
      font-size: inherit; } }

.fs20 {
  font-size: 20px !important; }
  @media screen and (max-width: 760px) {
    .fs20 {
      font-size: 4.8vw !important; } }

.fs21 {
  font-size: 21px; }
  @media screen and (max-width: 760px) {
    .fs21 {
      font-size: 4.8vw !important; } }

.fs22 {
  font-size: 22px; }
  @media screen and (max-width: 760px) {
    .fs22 {
      font-size: 4.2666666667vw !important; } }

.fs24 {
  font-size: 24px; }
  @media screen and (max-width: 760px) {
    .fs24 {
      font-size: 4.2666666667vw !important; } }

.fs26 {
  font-size: 26px !important; }
  @media screen and (max-width: 760px) {
    .fs26 {
      font-size: 2.4vw !important; } }

.fs28 {
  font-size: 28px !important; }
  @media screen and (max-width: 760px) {
    .fs28 {
      font-size: 5.0666666667vw !important; } }

.fs34 {
  font-size: 34px !important; }
  @media screen and (max-width: 760px) {
    .fs34 {
      font-size: 5.8666666667vw !important; } }

.fs39 {
  font-size: 39px; }
  @media screen and (max-width: 760px) {
    .fs39 {
      font-size: 7.4666666667vw !important; } }

.fs45 {
  font-size: 45px; }
  @media screen and (max-width: 760px) {
    .fs45 {
      font-size: 4.1333333333vw !important; } }

.fs50 {
  font-size: 50px; }
  @media screen and (max-width: 760px) {
    .fs50 {
      font-size: 5.6vw !important; } }

.fs65 {
  font-size: 65px; }
  @media screen and (max-width: 760px) {
    .fs65 {
      font-size: 8.6666666667vw !important; } }

.fs80 {
  font-size: 80px; }
  @media screen and (max-width: 760px) {
    .fs80 {
      font-size: 1.3333333333vw !important; } }

.fs102 {
  font-size: 102px;
  line-height: 1.13;
  letter-spacing: 0.35rem;
  margin-bottom: 9px;
  display: block; }
  @media screen and (max-width: 760px) {
    .fs102 {
      font-size: 11.4666666667vw !important;
      letter-spacing: 0.15rem;
      margin: 0; } }

.fs150 {
  font-size: 150px;
  line-height: 1;
  letter-spacing: 0.35rem; }
  @media screen and (max-width: 760px) {
    .fs150 {
      font-size: 11.4666666667vw !important;
      letter-spacing: 0.15rem;
      margin: 0; } }

.fw100 {
  font-weight: 100; }

.fw300 {
  font-weight: 300; }

.fw400 {
  font-weight: 400; }

.fw500 {
  font-weight: 500; }

.fw700 {
  font-weight: 700; }

html {
  scroll-behavior: smooth; }

body {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #1A1A1A; }
  @media screen and (max-width: 760px) {
    body {
      font-size: 3.7333333333vw !important; } }
  @media screen and (min-width: 761px) {
    body {
      min-width: 1400px; } }

h2, h3, h4 {
  font-weight: 400; }

.Poppins, #sp-nav-toggle:after {
  font-family: 'Poppins', sans-serif;
  font-weight: 300; }

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

.header_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 10;
  transition: .5s; }
  .header_inner.scroll {
    background: #ffffffcc; }
  .header_inner .logo {
    padding: 12px 31px 8px; }
    @media screen and (max-width: 760px) {
      .header_inner .logo {
        padding: 1vw 1vw 1vw 3vw;
        width: 23vw; } }

.gm, .gm ul {
  display: flex; }

li {
  list-style: none; }

.gm ul {
  padding: 19px;
  gap: 0px 10px;
  margin: 0; }
  @media screen and (max-width: 760px) {
    .gm ul {
      padding: 0;
      gap: 0; }
      .gm ul li:nth-child(1) img {
        width: 5vw; }
      .gm ul li:nth-child(2) img {
        width: 6vw; }
      .gm ul li:nth-child(3) img {
        width: 5vw; }
      .gm ul li:nth-child(1) a {
        width: 20vw; }
      .gm ul li:nth-child(2) a {
        width: 20vw; }
      .gm ul li:last-child a {
        width: 16vw; }
      .gm ul li + li {
        border-left: 1px solid white; } }
  .gm ul a {
    height: 60px;
    width: 213px;
    padding: 20px;
    display: flex;
    color: white;
    text-decoration: none;
    align-items: center;
    position: relative; }
    @media screen and (max-width: 760px) {
      .gm ul a {
        flex-wrap: wrap;
        padding: 1vw 0;
        font-size: 2.1333333333vw !important;
        align-content: center;
        justify-content: center;
        line-height: 1.5; }
        .gm ul a span {
          width: 100%;
          text-align: center; } }
    @media screen and (min-width: 761px) {
      .gm ul a:after {
        content: "";
        position: absolute;
        top: 0;
        right: 18px;
        bottom: 0;
        width: 7px;
        height: 7px;
        border: 1px solid white;
        border-left: none;
        border-bottom: none;
        margin: auto;
        transform: rotate(45deg); } }
    .gm ul a img {
      max-width: 30px;
      margin-right: 5px; }
      @media screen and (max-width: 760px) {
        .gm ul a img {
          display: block;
          margin: 0 auto 5px; } }
    .gm ul a svg rect {
      stroke-dasharray: 600, 0;
      transition: all 0.8s ease-in-out;
      stroke: #fff; }
    .gm ul a:hover svg rect {
      stroke-width: 3;
      stroke-dasharray: 40, 350;
      stroke-dashoffset: 40;
      transition: all 0.8s ease-in-out; }

#sp-nav-toggle {
  display: block;
  position: relative;
  width: 100px;
  height: 100px;
  cursor: pointer;
  padding: 30px 30px 30px;
  color: white;
  background: var(--global--color2);
  z-index: 10;
  overflow: hidden; }
  @media screen and (max-width: 760px) {
    #sp-nav-toggle {
      padding: 18px 19px;
      height: 16vw;
      font-size: 2.1333333333vw !important;
      width: 16vw; } }
  #sp-nav-toggle .nav_circle__arc {
    left: 0px;
    right: 0;
    bottom: 0;
    margin: auto;
    position: absolute;
    top: 0px;
    transform: scaleX(-1) rotate(-90deg);
    transform-origin: center;
    z-index: 1; }
  #sp-nav-toggle .nav_circle__arc circle {
    stroke: #fff;
    stroke-dasharray: 560px;
    stroke-dashoffset: 560px;
    transition: 0.75s;
    r: 38px; }
  #sp-nav-toggle:hover .nav_circle__arc {
    transform: rotate(-90deg); }
  #sp-nav-toggle:hover .nav_circle__arc circle {
    stroke-dashoffset: 0px; }
  @media screen and (min-width: 761px) {
    #sp-nav-toggle:hover span:nth-child(1):before {
      right: -100%; }
    #sp-nav-toggle:hover span:nth-child(2):before {
      right: -100%; }
    #sp-nav-toggle:hover span:nth-child(3):before {
      right: -100%; } }

#sp-nav-toggle:after {
  content: "MENU";
  position: absolute;
  bottom: 22px;
  left: 0;
  right: 0;
  font-size: 13px;
  text-align: center; }
  @media screen and (max-width: 760px) {
    #sp-nav-toggle:after {
      bottom: 11px;
      font-size: 1.8666666667vw !important; } }

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

#sp-nav-toggle div {
  position: relative;
  width: 100%; }
  @media screen and (max-width: 760px) {
    #sp-nav-toggle div {
      max-width: 30px;
      margin: auto; } }

#sp-nav-toggle span {
  display: block;
  position: absolute;
  width: 100%;
  border-bottom: solid 2px #ffffff;
  transition: .35s ease-in-out; }
  @media screen and (max-width: 760px) {
    #sp-nav-toggle span {
      border-bottom-width: 1px; } }
  @media screen and (min-width: 761px) {
    #sp-nav-toggle span:before {
      content: "";
      position: absolute;
      right: 100%;
      border-bottom: solid 2px var(--global--color2);
      width: 40px; }
    #sp-nav-toggle span:nth-child(1):before {
      transition: .35s; }
    #sp-nav-toggle span:nth-child(2):before {
      transition: .35s .1s; }
    #sp-nav-toggle span:nth-child(3):before {
      transition: .35s .2s; } }

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

#sp-nav-toggle span:nth-child(2) {
  top: 9px; }
  @media screen and (max-width: 760px) {
    #sp-nav-toggle span:nth-child(2) {
      top: 5px; } }

#sp-nav-toggle span:nth-child(3) {
  top: 18px; }
  @media screen and (max-width: 760px) {
    #sp-nav-toggle span:nth-child(3) {
      top: 10px; } }

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

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

.nav_list {
  position: fixed;
  top: 0;
  left: 100%;
  right: 0;
  bottom: 0;
  padding-top: 100px;
  z-index: -1;
  justify-content: flex-end;
  -webkit-overflow-scrolling: touch;
  overflow-y: scroll;
  display: flex;
  transition: .5s;
  opacity: 0;
  background: #011b3299; }
  @media screen and (max-width: 760px) {
    .nav_list {
      padding-top: 60px; } }

.active {
  opacity: 1 !important; }

.nav_list.active {
  z-index: 9;
  left: 0; }
  .nav_list.active .nav_list_inner {
    transform: translateX(0%); }

.nav_list_inner {
  width: 590px;
  transition: .5s;
  transform: translateX(100%); }
  @media screen and (max-width: 760px) {
    .nav_list_inner {
      width: 100%; } }
  .nav_list_inner a, .nav_list_inner dt {
    display: flex;
    min-height: 71px;
    padding: 19px 29px 19px 20px;
    color: white;
    text-decoration: none;
    border-bottom: 1px solid white;
    position: relative;
    background: var(--global--color2);
    cursor: pointer;
    letter-spacing: 0.08rem; }
    @media screen and (max-width: 760px) {
      .nav_list_inner a, .nav_list_inner dt {
        height: auto;
        min-height: 60px;
        word-break: break-all; } }
  .nav_list_inner dt:before, .nav_list_inner dt:after {
    content: "";
    position: absolute;
    top: 0;
    right: 18px;
    bottom: 0;
    width: 13px;
    height: 1px;
    background: white;
    margin: auto;
    transition: .5s; }
  .nav_list_inner dt:after {
    transform: rotate(90deg); }
  .nav_list_inner dt.active:before {
    transform: rotate(180deg); }
  .nav_list_inner dt.active:after {
    transform: rotate(360deg); }
  .nav_list_inner dd {
    display: none; }
    .nav_list_inner dd a {
      background: white;
      color: inherit;
      border-bottom-color: #C8C8C8; }
      .nav_list_inner dd a:after {
        border-color: initial; }
    .nav_list_inner dd li:nth-child(1) a {
      background: #919191;
      color: white; }
      .nav_list_inner dd li:nth-child(1) a:after {
        border-color: white; }
  .nav_list_inner a:after {
    content: "";
    position: absolute;
    top: 0;
    right: 22px;
    bottom: 0;
    width: 7px;
    height: 7px;
    border: 1px solid white;
    border-left: none;
    border-bottom: none;
    margin: auto;
    transform: rotate(45deg); }
  .nav_list_inner a svg {
    position: relative; }
  .nav_list_inner .nav_white dt, .nav_list_inner .nav_white a, .nav_list_inner .nav_other a {
    background: white;
    color: inherit;
    border-bottom-color: #C8C8C8; }
  .nav_list_inner .nav_white dt:before, .nav_list_inner .nav_white dt:after {
    background-color: #1A1A1A; }
  .nav_list_inner .nav_white a:before, .nav_list_inner .nav_white a:after,
  .nav_list_inner .nav_other a:before, .nav_list_inner .nav_other a:after {
    border-color: #1A1A1A; }
  .nav_list_inner .nav_other {
    background: var(--global--color5);
    padding: 0 20px; }
    .nav_list_inner .nav_other ul {
      display: flex;
      flex-wrap: wrap;
      gap: 0px 10px;
      justify-content: space-between; }
    .nav_list_inner .nav_other li {
      width: 47% !important; }
    .nav_list_inner .nav_other li a:after {
      right: 3px; }
    .nav_list_inner .nav_other a {
      padding: 19px 19px 19px 0;
      background: var(--global--color5); }
  .nav_list_inner dd {
    margin: 0; }
  .nav_list_inner .privacy a, .nav_list_inner .sns a {
    display: inline-block;
    background: none;
    color: inherit;
    padding: 0;
    border: none;
    height: auto; }
  .nav_list_inner .sns a {
    color: var(--global--color2); }
  .nav_list_inner .privacy, .nav_list_inner .sns {
    background: var(--global--color5);
    text-align: center; }
  .nav_list_inner .privacy {
    padding: 60px 10px 20px; }
  .nav_list_inner .sns {
    display: flex;
    justify-content: center;
    gap: 20px;
    padding: 20px 10px 60px; }
  .nav_list_inner .privacy a:after, .nav_list_inner .sns a:after {
    display: none; }

.border_none {
  border: none !important; }

.hidden {
  overflow: hidden; }

.left {
  justify-content: flex-start;
  text-align: left; }

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

.right {
  justify-content: flex-end;
  text-align: right; }

.inner {
  width: 1100px;
  margin: auto;
  position: relative; }
  @media screen and (max-width: 760px) {
    .inner {
      width: auto;
      padding: 5.5vw; } }

.inner900 {
  width: 900px;
  margin: auto;
  position: relative; }
  @media screen and (max-width: 760px) {
    .inner900 {
      width: auto;
      padding: 5.5vw; } }

.inner800 {
  width: 800px;
  margin: auto;
  position: relative; }
  @media screen and (max-width: 760px) {
    .inner800 {
      width: auto;
      padding: 5.5vw; } }

@media screen and (max-width: 760px) {
  .breadcrumbs .inner {
    padding: 1.2vw 5.5vw; } }
svg {
  position: absolute;
  top: 0;
  left: 0;
  fill: currentColor; }

svg rect {
  fill: none;
  stroke: var(--global--color2);
  stroke-width: 1; }

.white svg rect {
  stroke: white; }

.btn_border a {
  width: 100%;
  max-width: 350px;
  height: 60px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: inherit;
  border-color: inherit;
  letter-spacing: 0; }
  @media screen and (max-width: 760px) {
    .btn_border a {
      border: 1px solid;
      width: 90%; } }
  .btn_border a svg rect {
    stroke-dasharray: 1000, 0;
    transition: all 0.8s ease-in-out;
    stroke-width: 2; }
  .btn_border a:hover svg rect {
    stroke-width: 3;
    stroke-dasharray: 70, 550;
    stroke-dashoffset: 70;
    transition: all 0.8s ease-in-out; }
  .btn_border a.maxw650 {
    max-width: 650px; }
    .btn_border a.maxw650 svg rect {
      stroke-dasharray: 1500, 0; }
    .btn_border a.maxw650:hover svg rect {
      stroke-dasharray: 70, 1000; }
  .btn_border a.h160 {
    height: 160px; }

.arrowR svg {
  right: 20px;
  bottom: 0;
  left: inherit;
  margin: auto;
  width: 20px;
  height: 7px;
  position: absolute; }

section.news,
section.blog {
  overflow: hidden; }
  @media screen and (min-width: 761px) {
    section.news,
    section.blog {
      padding: 27px 0 42px; } }
  section.news .slick-prev,
  section.blog .slick-prev {
    display: none !important; }
  section.news .slick-next,
  section.blog .slick-next {
    left: -93px;
    bottom: 41px;
    margin: auto;
    width: 70px;
    height: 70px;
    border-radius: 50%;
    font-size: 0;
    border: none;
    background: var(--global--color2);
    transition: .5s; }
    section.news .slick-next:before,
    section.blog .slick-next:before {
      content: "";
      width: 23px;
      height: 9px;
      position: absolute;
      background: url(../images/common/arrow_slide.svg) no-repeat;
      left: -16px;
      bottom: 29px;
      transition: .3s; }
    section.news .slick-next:hover:before,
    section.blog .slick-next:hover:before {
      background: url(../images/common/arrow_slide2.svg) no-repeat;
      left: -21px; }
    section.news .slick-next:after,
    section.blog .slick-next:after {
      content: "Slide";
      font-family: 'Poppins', sans-serif;
      font-size: 17px;
      color: white;
      transition: .3s;
      position: relative; }
    section.news .slick-next:hover:after,
    section.blog .slick-next:hover:after {
      left: -5px;
      color: var(--global--color2); }
    section.news .slick-next .circle__arc,
    section.blog .slick-next .circle__arc {
      left: 0px;
      right: 0;
      bottom: 0;
      margin: auto;
      position: absolute;
      top: 0px;
      transform: scaleX(-1) rotate(-90deg);
      transform-origin: center;
      z-index: 1; }
    section.news .slick-next .circle__arc circle,
    section.blog .slick-next .circle__arc circle {
      stroke: var(--global--color2);
      stroke-dasharray: 560px;
      stroke-dashoffset: 560px;
      transition: 0.75s 0.2s;
      r: 34px; }
    section.news .slick-next:hover,
    section.blog .slick-next:hover {
      background: white; }
    section.news .slick-next:hover .circle__arc,
    section.blog .slick-next:hover .circle__arc {
      transform: rotate(-90deg); }
    section.news .slick-next:hover .circle__arc circle,
    section.blog .slick-next:hover .circle__arc circle {
      stroke-dashoffset: 0px; }

.slider_blog {
  width: 100vw;
  display: flex;
  padding: 0;
  gap: 29px; }

.slider_blog .slick-track li {
  margin-right: 20px; }

.slider_blog li {
  width: 250px !important; }

.slider_blog a {
  width: 250px;
  display: block;
  text-decoration: none;
  color: inherit;
  position: relative; }

.slider_blog .thumbnail {
  width: 250px;
  height: 180px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: white;
  margin-bottom: 2px;
  overflow: hidden; }

.slider_blog .thumbnail img {
  max-width: 100%;
  max-height: 100%;
  transition: .5s; }

.slider_blog a:hover img {
  transform: scale(1.1); }

.slider_blog .date {
  display: block;
  color: #919191; }

.slider_blog .cate {
  display: inline-block;
  border: 1px solid #919191;
  padding: 4px 10px;
  margin: 0 0 0 8px;
  line-height: 1; }

.slider_blog .cate:empty {
  display: none; }

.slider_blog .title {
  display: block; }

.date_cate_wrap {
  display: flex;
  justify-content: space-between;
  align-items: baseline; }

section.blog {
  padding: 15px 0; }

section.blog .slick-next {
  bottom: 93px; }

@media screen and (max-width: 760px) {
  section.news {
    padding-bottom: 8vw; }

  section.blog .slick-next {
    display: none !important; }

  .slider_blog li,
  .slider_blog a,
  .slider_blog .thumbnail {
    width: 60.5vw !important; }

  .slider_blog li {
    margin-right: 2vw; }

  .slider_blog .thumbnail {
    margin-bottom: 2vw; }

  .slider_blog .thumbnail {
    margin-bottom: 2vw; } }
.slider_news {
  padding: 0;
  gap: 29px; }
  @media screen and (min-width: 761px) {
    .slider_news {
      display: flex;
      width: 100vw; }
      .slider_news li {
        width: 350px !important; } }
  @media screen and (max-width: 760px) {
    .slider_news {
      margin-bottom: 6vw;
      position: relative; }
      .slider_news:before {
        content: "";
        position: absolute;
        top: 0px;
        left: 0;
        right: 0;
        width: 20vw;
        height: 6px;
        background: var(--global--color1);
        margin: auto;
        z-index: 1; }
      .slider_news li + li a {
        border-top: none; } }
  .slider_news a {
    border: 1px solid var(--global--color1);
    display: block;
    padding: 46px 25px;
    text-decoration: none;
    color: inherit;
    position: relative;
    transition: .5s; }
    @media screen and (min-width: 761px) {
      .slider_news a {
        width: 350px;
        height: 243px; } }
    @media screen and (max-width: 760px) {
      .slider_news a {
        padding: 17px 0px 17px;
        border-left: none;
        border-right: none;
        border-color: #919191;
        font-size: 3.4666666667vw !important; } }
    @media screen and (min-width: 761px) {
      .slider_news a:before {
        content: "";
        position: absolute;
        width: 100px;
        height: 9px;
        top: 0;
        left: 0;
        right: 0;
        margin: auto;
        background: var(--global--color1); }
      .slider_news a:after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        width: 0;
        background: var(--global--color1);
        z-index: -1;
        transition: .5s; }
      .slider_news a:hover {
        color: white; }
        .slider_news a:hover .cate, .slider_news a:hover .date {
          color: white;
          border-color: white; }
      .slider_news a:hover:after {
        width: 100%; } }
    .slider_news a span {
      z-index: 1; }
  .slider_news .date {
    display: block;
    color: #919191;
    margin-bottom: 7px;
    transition: .5s; }
    @media screen and (max-width: 760px) {
      .slider_news .date {
        margin-bottom: 0.5vw; } }
  .slider_news .title {
    display: block; }

.cate {
  display: inline-block;
  border: 1px solid #919191;
  padding: 0px 10px;
  margin: 0 8px 17px 0;
  transition: .5s; }
  @media screen and (max-width: 760px) {
    .cate {
      margin-bottom: 3vw;
      padding: 0.6vw 1vw;
      line-height: 1; } }

@media screen and (min-width: 761px) {
  .slick-track {
    width: 100vw !important;
    display: flex !important; } }
.slider_news .slick-track li {
  margin-right: 25px; }

.slick-next, .slick-prev {
  cursor: pointer;
  position: absolute; }

.slick-track > * {
  flex: 1 1; }

.slick-slider {
  margin: 0 0 16px;
  padding: 0; }

.txtlink_arrow {
  text-align: right; }
  .txtlink_arrow a {
    padding: 0 37px 2px 0;
    text-decoration: none;
    letter-spacing: 0;
    color: var(--global--color1);
    position: relative; }
    @media screen and (max-width: 760px) {
      .txtlink_arrow a {
        font-size: 3.4666666667vw !important; } }
    .txtlink_arrow a:after {
      content: "";
      position: absolute;
      bottom: -1px;
      width: 100%;
      left: 0;
      height: 1px;
      transition: .3s ease;
      background: var(--global--color1); }
    .txtlink_arrow a:hover:after {
      right: 0;
      left: auto;
      width: 0; }
  .txtlink_arrow svg, .txtlink_arrow object {
    right: 0;
    bottom: 0;
    left: inherit;
    margin: auto;
    width: 20px;
    height: 7px; }

.flex {
  display: flex; }

.flex.wrap {
  flex-wrap: wrap; }

.jc-sb {
  justify-content: space-between; }

@media screen and (max-width: 760px) {
  .sp_block {
    display: block !important; }
    .sp_block > * {
      width: 100% !important; } }
@media screen and (min-width: 761px) {
  .flex.reverse {
    flex-direction: row-reverse;
    align-items: flex-start; } }
.ai-center {
  align-items: center; }

.lh10 {
  line-height: 1; }

.lh17 {
  line-height: 1.7; }

.lh20 {
  line-height: 2; }

.lh22 {
  line-height: 2.2; }

.lh23 {
  line-height: 2.3; }

.lh25 {
  line-height: 2.5; }

.ls28 {
  letter-spacing: 0.28em; }

.ls14 {
  letter-spacing: 0.14em; }

.ls12 {
  letter-spacing: 0.12em; }

.ls6 {
  letter-spacing: 0.06em !important; }

.ls5 {
  letter-spacing: 0.05em !important; }

.ls0 {
  letter-spacing: 0.0em !important; }

p {
  margin: 0 0 40px; }

.footer {
  background: #ffffff80; }
  @media screen and (max-width: 760px) {
    .footer > .inner {
      width: 87%; } }
  .footer .btn_area ul:nth-child(1) {
    padding: 88px 0 62px; }
    @media screen and (min-width: 761px) {
      .footer .btn_area ul:nth-child(1) {
        display: flex;
        justify-content: space-between; } }
    @media screen and (max-width: 760px) {
      .footer .btn_area ul:nth-child(1) {
        margin-bottom: 0;
        padding: 0; } }
    .footer .btn_area ul:nth-child(1) a {
      width: 340px;
      height: 160px;
      display: flex;
      flex-wrap: wrap;
      padding: 27px;
      align-items: flex-end;
      justify-content: center;
      border: 1px solid var(--global--color1);
      position: relative;
      text-decoration: none;
      color: var(--global--color1);
      font-size: 21px;
      overflow: hidden;
      transition: .5s;
      background-color: white; }
      @media screen and (max-width: 760px) {
        .footer .btn_area ul:nth-child(1) a {
          width: 100%;
          margin: auto;
          height: 70px;
          padding: 10px 14vw;
          flex-wrap: nowrap;
          margin-bottom: 2.5vw;
          justify-content: flex-start;
          align-items: center;
          font-size: inherit; } }
      .footer .btn_area ul:nth-child(1) a > * {
        z-index: 1; }
      .footer .btn_area ul:nth-child(1) a:before {
        content: "";
        position: absolute;
        top: -25px;
        left: -25px;
        width: 50px;
        height: 50px;
        background: var(--global--color1);
        transform: rotate(45deg); }
      .footer .btn_area ul:nth-child(1) a:after {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        transition: .5s;
        background: var(--global--color1);
        width: 0;
        z-index: 0; }
      .footer .btn_area ul:nth-child(1) a:hover {
        color: white; }
      .footer .btn_area ul:nth-child(1) a:hover:after {
        width: 100%; }
    .footer .btn_area ul:nth-child(1) img {
      display: block; }
    .footer .btn_area ul:nth-child(1) svg.icon {
      left: 0;
      right: 0;
      top: 33px;
      margin: auto;
      width: 48px;
      height: 48px; }
      @media screen and (max-width: 760px) {
        .footer .btn_area ul:nth-child(1) svg.icon {
          position: relative;
          margin: 0 2vw 0 0;
          top: inherit;
          width: 7vw;
          height: 7vw; } }
    .footer .btn_area ul:nth-child(1) .arrowR svg {
      width: 23px;
      height: 8px;
      top: inherit;
      bottom: 40px; }
      @media screen and (max-width: 760px) {
        .footer .btn_area ul:nth-child(1) .arrowR svg {
          top: 40px; } }
  .footer .footer_contact {
    padding: 0 0 85px; }
    @media screen and (min-width: 761px) {
      .footer .footer_contact {
        display: flex; } }
    @media screen and (max-width: 760px) {
      .footer .footer_contact {
        padding: 5vw 0; } }
  .footer .footer_contact_txt {
    margin-left: 80px;
    transform: translate(0px, -6px); }
    @media screen and (max-width: 760px) {
      .footer .footer_contact_txt {
        line-height: 1.4;
        font-size: 3.2vw !important;
        transform: translate(0px, 0px);
        margin-left: 0; } }
  .footer .address {
    margin-bottom: 15px; }
  .footer .tel a, .footer .fax {
    color: var(--global--color1);
    text-decoration: none; }
  .footer .tel {
    line-height: 1.3;
    letter-spacing: 0.06rem; }
  .footer .fax {
    letter-spacing: 0.06rem; }
  .footer .date {
    line-height: 1.6; }
  .footer .btn_fukupuri {
    background: #011a30b3;
    padding: 40px 0;
    text-align: center; }
    @media screen and (max-width: 760px) {
      .footer .btn_fukupuri {
        padding: 0vw 5vw; } }
    .footer .btn_fukupuri .inner {
      width: auto; }
    .footer .btn_fukupuri .btn_fukupuri_list {
      display: flex;
      align-items: center;
      gap: 20px;
      justify-content: center;
      flex-wrap: wrap; }
  .footer .sitemap {
    padding: 79px 0 10px;
    color: white; }
    @media screen and (max-width: 760px) {
      .footer .sitemap {
        padding: 0;
        background: white; }
        .footer .sitemap .inner {
          padding: 0; } }
  .footer .sns_area {
    display: flex;
    align-items: center;
    margin: 0 0 59px;
    justify-content: flex-end;
    gap: 32px; }
    @media screen and (max-width: 760px) {
      .footer .sns_area {
        justify-content: center;
        border-bottom: 1px solid var(--global--color1);
        padding: 4vw 0;
        margin: 0; } }
    .footer .sns_area a {
      display: flex;
      align-items: center;
      justify-content: center;
      color: white; }
      @media screen and (max-width: 760px) {
        .footer .sns_area a {
          color: var(--global--color1); } }
      .footer .sns_area a:hover {
        color: var(--global--color2); }
      .footer .sns_area a svg {
        position: relative; }
  .footer .list > dl > dt {
    font-size: 13px;
    border-bottom: 1px solid;
    padding-bottom: 10px;
    margin-bottom: 29px; }
  .footer dd, .footer ul, .footer li {
    margin: 0;
    padding: 0; }
  .footer .list > dl > dd {
    font-size: 12px;
    margin-left: 165px; }
  .footer .list ul.flex {
    margin: 0;
    padding: 0;
    flex-wrap: wrap; }
  .footer .list ul.flex > li {
    width: 290px;
    margin-bottom: 28px; }
  .footer .list ul.flex > li + li:not(:nth-child(3n + 1)) {
    margin-left: 32px; }
  .footer .list dd dt a,
  .footer .border a {
    display: flex;
    align-items: center;
    padding: 5px 20px;
    border: 1px solid white;
    position: relative;
    margin-bottom: 20px;
    height: 34.5px;
    background: none !important; }
    @media screen and (max-width: 760px) {
      .footer .list dd dt a,
      .footer .border a {
        height: auto; } }
    .footer .list dd dt a span,
    .footer .border a span {
      transition: .75s; }
    .footer .list dd dt a:after,
    .footer .border a:after {
      content: "";
      position: absolute;
      top: 0;
      right: 12px;
      bottom: 0;
      width: 6px;
      height: 6px;
      border: 1px solid white;
      border-left: none;
      border-bottom: none;
      margin: auto;
      transform: rotate(45deg);
      transition: .75s; }
    .footer .list dd dt a svg,
    .footer .border a svg {
      top: -1px;
      left: -1px; }
    .footer .list dd dt a svg rect,
    .footer .border a svg rect {
      stroke-dasharray: 0, 550;
      transition: all 0.8s ease-in-out;
      stroke-width: 3; }
    .footer .list dd dt a:hover,
    .footer .border a:hover {
      color: var(--global--color2); }
    .footer .list dd dt a:hover:after,
    .footer .border a:hover:after {
      border-color: var(--global--color2); }
    .footer .list dd dt a:hover svg rect,
    .footer .border a:hover svg rect {
      stroke-dasharray: 1000, 550; }
  .footer .list a {
    text-decoration: none;
    color: white;
    padding-bottom: .25em;
    background: linear-gradient(#011A30) 0 100%/0 1px no-repeat;
    transition: background .4s;
    text-decoration: none; }
    .footer .list a:hover {
      background-size: 100% 1px;
      color: var(--global--color2); }
    .footer .list a.arrowR {
      padding-right: 48px;
      position: relative; }
      .footer .list a.arrowR:hover {
        color: var(--global--color2); }
    .footer .list a.arrowR:after {
      content: "";
      position: absolute;
      top: 0;
      right: 12px;
      bottom: 0;
      width: 6px;
      height: 6px;
      border: 1px solid white;
      border-left: none;
      border-bottom: none;
      margin: auto;
      transform: rotate(45deg);
      transition: .75s; }
    .footer .list a.arrowR:hover:after {
      border-color: var(--global--color2); }
  .footer dd dd li,
  .footer .arrow li {
    position: relative;
    padding-left: 23px;
    margin-bottom: 6px;
    line-height: 1.6; }
    .footer dd dd li a,
    .footer .arrow li a {
      padding-bottom: .25em;
      background: linear-gradient(#011A30) 0 100%/0 1px no-repeat;
      transition: background .4s;
      text-decoration: none; }
      .footer dd dd li a:before,
      .footer .arrow li a:before {
        content: "";
        position: absolute;
        top: 9px;
        left: 9px;
        width: 5px;
        height: 1px;
        background: white; }
      .footer dd dd li a:hover,
      .footer .arrow li a:hover {
        background-size: 100% 1px;
        color: var(--global--color2); }
      .footer dd dd li a:hover:before,
      .footer .arrow li a:hover:before {
        background: var(--global--color2); }
  .footer ul.arrow {
    display: flex;
    flex-direction: column;
    height: 6rem;
    flex-wrap: wrap;
    align-content: flex-start;
    gap: 0 30px; }
  .footer ul.arrow li {
    width: 31%; }
  .footer .other ul {
    display: flex;
    justify-content: flex-end;
    font-size: 12px;
    padding: 35px 0;
    border-top: 1px solid; }
    .footer .other ul a {
      padding-bottom: .25em;
      background: linear-gradient(#011A30) 0 100%/0 1px no-repeat;
      transition: background .4s;
      text-decoration: none; }
    .footer .other ul a:hover {
      background-size: 100% 1px;
      color: var(--global--color2); }
  .footer .other li {
    padding: 0 30px;
    position: relative; }
  .footer .other li + li:after {
    content: "";
    border-left: 1px solid;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    height: 11px; }
  .footer .other li:last-child {
    padding-right: 0; }
  .footer .copylight_wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding: 25px 0 24px;
    font-size: 12px;
    letter-spacing: 0.05em; }
    @media screen and (max-width: 760px) {
      .footer .copylight_wrap {
        display: block;
        text-align: center;
        padding: 0; } }
  .footer .logo {
    width: 117px; }
    @media screen and (max-width: 760px) {
      .footer .logo {
        padding: 3vw 0;
        margin: auto;
        width: 16vw; } }
  .footer .logo img {
    max-width: 100%; }
  .footer .copylight {
    color: var(--global--color1); }
    @media screen and (max-width: 760px) {
      .footer .copylight {
        font-size: 2.4vw !important;
        background: var(--global--color1);
        color: white;
        padding: 2vw; } }

_::-webkit-full-page-media, _:future, :root .footer .list dd dt a, _::-webkit-full-page-media, _:future, :root .footer .border a {
  height: 34px; }

body:not(.home) .btn_area {
  background: #011a30b3; }

.pagetop a {
  width: 84px;
  height: 84px;
  border: 1px solid white;
  border-radius: 50%;
  color: white;
  text-decoration: none;
  position: absolute;
  bottom: 40px;
  right: -143px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 10px;
  font-size: 12px;
  letter-spacing: 0.25rem;
  transition: .75s; }
  @media screen and (max-width: 760px) {
    .pagetop a {
      display: none; } }
  .pagetop a .arrowT svg {
    width: 12px;
    height: 20px;
    right: 0;
    left: 0;
    margin: auto;
    top: 15px; }
  .pagetop a .footer_circle__arc {
    left: -1px;
    position: absolute;
    top: -1px;
    transform: scaleX(-1) rotate(-90deg);
    transform-origin: center;
    z-index: 1; }
  .pagetop a .footer_circle__arc circle {
    stroke: #000;
    stroke-dasharray: 560px;
    stroke-dashoffset: 560px;
    transition: 0.75s;
    r: 41px; }
  .pagetop a:hover {
    color: var(--global--color2); }
  .pagetop a:hover .footer_circle__arc {
    transform: rotate(-90deg); }
  .pagetop a:hover .footer_circle__arc circle {
    stroke-dashoffset: 0px; }

_::-webkit-full-page-media, _:future, :root .footer_circle__arc {
  left: -0.4px; }

.btn_contact a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 473px;
  height: 90px;
  padding: 10px;
  text-decoration: none;
  color: white;
  font-size: 20px;
  overflow: hidden;
  position: relative;
  background: var(--global--color1);
  transition: .5s; }
  @media screen and (max-width: 760px) {
    .btn_contact a {
      width: 100%;
      height: 75px;
      margin: 0 0 10vw;
      font-size: inherit; } }
  .btn_contact a:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    background: white;
    width: 0;
    transition: .5s;
    z-index: 0; }
  .btn_contact a span {
    z-index: 1; }
    @media screen and (max-width: 760px) {
      .btn_contact a span {
        display: flex;
        align-items: center; } }
  .btn_contact a svg {
    position: relative;
    width: 31px;
    height: 20px;
    margin-right: 30px;
    transform: translateX(10px); }
    @media screen and (max-width: 760px) {
      .btn_contact a svg {
        width: 4vw;
        height: 3vw;
        margin-right: 2vw;
        transform: translateX(1vw); } }
  .btn_contact a:hover {
    color: var(--global--color1); }
  .btn_contact a:hover:after {
    width: 100%; }

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

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

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

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

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

.is-left {
  margin: 0 0 0;
  padding: 0;
  display: flex;
  justify-content: center; }

.is-left li {
  position: relative;
  overflow: hidden; }

.is-left li:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 30%;
  background: var(--global--color2);
  transition: .75s;
  opacity: 0; }

.is-left li img {
  transform: translateX(-100%);
  transition: .75s .5s;
  opacity: 0; }

.is-left.active li:before {
  width: 100%;
  opacity: 1; }

.is-left.active li img {
  transform: translateX(0%);
  opacity: 1; }

@media screen and (min-width: 761px) {
  .pc_none {
    display: none; } }
@media screen and (max-width: 760px) {
  .sp_none, .btn_border a > svg, .list, .gm svg {
    display: none !important; }

  img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: auto; }

  h2, h3 {
    margin-top: 0; } }
.title_post_type {
  text-align: center;
  margin: 0 0 73px; }
  @media screen and (max-width: 760px) {
    .title_post_type {
      margin-bottom: 12vw; }
      .title_post_type .fs65 {
        font-size: 8.6666666667vw !important; } }
  .title_post_type .jp {
    font-size: 20px;
    display: inline-block;
    padding-top: 34px;
    margin-top: 4px;
    letter-spacing: 0.12em;
    position: relative; }
    @media screen and (max-width: 760px) {
      .title_post_type .jp {
        font-size: 3.4666666667vw !important;
        padding-top: 4vw;
        margin: 1vw 0 0 !important; } }
    .title_post_type .jp:before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      width: 97px;
      border-top: 1px solid;
      margin: auto; }
      @media screen and (max-width: 760px) {
        .title_post_type .jp:before {
          width: 13vw; } }

a {
  color: var(--global--color1); }
  a[href*=".pdf"] {
    padding: 0 0 0 25px;
    position: relative; }
    @media screen and (max-width: 760px) {
      a[href*=".pdf"] {
        font-size: initial; } }
    a[href*=".pdf"]:before {
      content: "";
      position: absolute;
      top: 3px;
      left: 0;
      width: 17.5px;
      height: 17.5px;
      background: url(../images/common/icon_pdf.svg) no-repeat; }

a.wp-block-file__button:before {
  display: none; }

a.tel {
  color: inherit;
  text-decoration: none; }

.pd-0 {
  padding: 0 !important; }

.pd-T0 {
  padding-top: 0 !important; }

.pd5 {
  padding: 5px !important; }

.pd30 {
  padding: 30px !important; }

.pd10 {
  padding: 10px !important; }

.pd-TB37 {
  padding: 37px 0; }
  @media screen and (max-width: 760px) {
    .pd-TB37 {
      padding: 0 0; } }

.pd-TB65 {
  padding: 65px 0; }
  @media screen and (max-width: 760px) {
    .pd-TB65 {
      padding: 0 0; } }

.pd-TB85 {
  padding: 85px 0; }
  @media screen and (max-width: 760px) {
    .pd-TB85 {
      padding: 0 0; } }

.pd-TB130 {
  padding: 130px 0; }
  @media screen and (max-width: 760px) {
    .pd-TB130 {
      padding: 0 0; } }

@media screen and (max-width: 760px) {
  .sp_pd-b0 {
    padding-bottom: 0 !important; }

  .sp_pd-t0 {
    padding-top: 0 !important; } }
.block {
  display: block !important; }
  @media screen and (min-width: 761px) {
    .block {
      line-height: 1; } }

.link_area a {
  display: block;
  text-decoration: none;
  color: white;
  overflow: hidden;
  position: relative; }
  @media screen and (max-width: 760px) {
    .link_area a {
      width: auto;
      margin-bottom: 10px; } }
  .link_area a:after {
    content: "";
    position: absolute;
    right: 46px;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 33px;
    height: 33px;
    border: 2px solid;
    border-bottom: none;
    border-left: none;
    transform: rotate(45deg); }
    @media screen and (max-width: 760px) {
      .link_area a:after {
        width: 17px;
        height: 17px;
        right: 7vw; } }
  .link_area a img {
    transition: .5s; }
  .link_area a:hover img {
    transform: scale(1.1); }
.link_area .link_area_txt {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 97px 0px 97px 171px;
  line-height: 1.5; }
  @media screen and (max-width: 760px) {
    .link_area .link_area_txt {
      padding: 10vw 8vw 13vw; } }
  .link_area .link_area_txt .fs26 {
    letter-spacing: .28em;
    margin-bottom: 20px; }
  .link_area .link_area_txt .fs16 {
    line-height: 2; }
.link_area span {
  width: 100%; }

.breadcrumbs {
  background: #E0E0E0;
  margin-bottom: 70px; }
  @media screen and (max-width: 760px) {
    .breadcrumbs {
      margin-bottom: 0vw; } }

.breadcrumbs ul {
  margin: 0;
  padding: 0;
  display: flex;
  height: 60px;
  align-items: center;
  align-content: center;
  font-size: 13px; }
  @media screen and (max-width: 760px) {
    .breadcrumbs ul {
      font-size: 2.6666666667vw !important;
      height: 30px;
      overflow: scroll;
      white-space: nowrap; } }

.breadcrumbs a {
  color: #919191;
  text-decoration: none; }

.breadcrumbs li + li:before {
  content: "";
  width: 7px;
  height: 7px;
  border: 1px solid #919191;
  border-bottom: none;
  border-left: none;
  display: inline-flex;
  margin: 0 13px 0 8px;
  transform: rotate(45deg); }

.slider_gallery img {
  margin: auto; }
  @media screen and (max-width: 760px) {
    .slider_gallery img {
      max-height: 55vw; } }
