@charset "UTF-8";
/* CSS Information
---------------------------------------------------------------
Site URL:https://
File name:style.css
Summary:base styles
Created:2025-06-12
--------------------------------------------------------------- */
/* Fonts */
/* ------------------------------------------------------------ */
/* Margin */
/* ------------------------------------------------------------ */
/* Link */
/* ------------------------------------------------------------ */
a {
  color: #0E0E0E;
  text-decoration: none;
}

a[href^="tel:"] {
  pointer-events: none;
  cursor: text;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  a[href^="tel:"] {
    pointer-events: auto;
    cursor: pointer;
  }
}

/* Animation */
/* ------------------------------------------------------------ */
a,
img {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.alpha:hover {
  filter: alpha(opacity=50);
  opacity: 0.5;
}

/* Font */
/* ------------------------------------------------------------ */
sup {
  font-size: 66%;
  font-weight: 700;
  vertical-align: top;
}

sub {
  font-size: 66%;
  font-weight: 700;
  vertical-align: baseline;
}

/* インデント1文字分 */
/* ------------------------------------------------------------ */
.indent {
  text-indent: -1em;
  margin-left: 1em;
}

/* HR */
/* ------------------------------------------------------------ */
hr {
  width: 100%;
  height: 1px;
  margin: 0 auto;
  padding: 0;
  display: block;
  border: 0;
  background: #0E0E0E;
}

/* pc_mode / sp_mode */
/* ------------------------------------------------------------ */
.pc {
  display: inherit;
}

.sp {
  display: none;
}

@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
  .sp {
    display: inherit;
  }
}
/* Style */
/* ------------------------------------------------------------ */
html {
  scroll-behavior: smooth;
  font-size: min(1.449vw, 16px);
}
@media screen and (max-width: 767px) {
  html {
    font-size: 4.103vw;
  }
}
html body #loading {
  position: fixed;
  width: 100vw;
  height: 100svh;
  z-index: 99999;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}
html body header {
  position: relative;
  z-index: 10;
}
html body header .inner {
  border-radius: min(0.453vw, 5px);
  background: #0E0E0E;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: calc(100% - min(3.623vw, 40px));
  height: min(6.341vw, 70px);
  padding: 0 min(1.812vw, 20px);
  position: fixed;
  top: min(1.812vw, 20px);
  margin: 0 min(1.812vw, 20px);
}
html body header .inner > .logo h1 {
  width: min(14.855vw, 164px);
}
html body header .inner > .menu {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
html body header .inner > .menu > ul {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(1.812vw, 20px);
}
@media screen and (min-width: 767px) and (max-width: 1299px) {
  html body header .inner > .menu > ul {
    gap: 0;
  }
}
html body header .inner > .menu > ul > li > a {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: min(0.906vw, 10px) min(1.359vw, 15px);
  border-radius: min(1.812vw, 20px);
}
html body header .inner > .menu > ul > li > a span {
  color: #fff;
  font-size: min(0.875rem, 14px);
  white-space: nowrap;
}
html body header .inner > .menu > ul > li > a:hover {
  background: #262626;
}
html body header .inner > .menu > ul > li.dropdwn .dropdwn_menu {
  display: none;
}
html body header .inner > .menu > ul > li.dropdwn:hover .dropdwn_menu {
  display: block;
  padding-top: min(2.717vw, 30px);
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  z-index: 100;
}
html body header .inner > .menu > ul > li.dropdwn:hover .dropdwn_menu ul {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(2.264vw, 25px);
  border-radius: min(0.453vw, 5px);
  background: #0E0E0E;
  padding: min(1.812vw, 20px) min(2.717vw, 30px);
}
html body header .inner > .menu > ul > li.dropdwn:hover .dropdwn_menu ul li {
  background: #0E0E0E;
}
html body header .inner > .menu > ul > li.dropdwn:hover .dropdwn_menu ul li a {
  padding: 0;
}
html body header .inner > .menu > ul > li.dropdwn:hover .dropdwn_menu ul li a span {
  color: #fff;
  font-size: min(0.875rem, 14px);
  white-space: nowrap;
}
html body header .inner > .menu > ul > li.dropdwn:hover .dropdwn_menu ul li a:hover {
  background: none;
}
html body header .inner > ul {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(1.812vw, 20px);
}
@media screen and (min-width: 481px) and (max-width: 1299px) {
  html body header .inner > ul {
    gap: 0;
  }
}
html body header .inner > ul > li > a {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: min(0.906vw, 10px) min(1.359vw, 15px);
  border-radius: min(1.812vw, 20px);
}
html body header .inner > ul > li > a span {
  color: #fff;
  font-size: min(0.875rem, 14px);
  white-space: nowrap;
}
html body header .inner > ul > li > a:hover {
  background: #262626;
}
html body header .inner > ul > li:nth-of-type(2) a {
  background: #2339C0;
}
html body header .inner > ul > li:nth-of-type(2) a:hover {
  background: #11259F;
  -webkit-animation: shad 1.5s infinite;
  animation: shad 1.5s infinite;
  color: #fff;
}
html body header #global_nav {
  display: none;
}
@media screen and (max-width: 767px) {
  html body header .inner {
    border-radius: 0;
    width: 100%;
    height: 14.103vw;
    padding: 0 2.564vw 0 5.128vw;
    top: 0;
    margin: 0;
    z-index: 30;
  }
  html body header .inner > .logo {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
  }
  html body header .inner > .logo h1 {
    width: 42.051vw;
  }
  html body header .inner > .logo #nav_toggle {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 11.538vw;
    height: 11.538vw;
    cursor: pointer;
    position: relative;
  }
  html body header .inner > .logo #nav_toggle span {
    display: block;
    width: 31px;
    height: 1px;
    background: #fff;
    position: absolute;
    transition: transform 0.3s ease-in-out, top 0.2s ease;
  }
  html body header .inner > .logo #nav_toggle span:nth-child(1) {
    top: calc(50% - 1.538vw);
  }
  html body header .inner > .logo #nav_toggle span:nth-child(2) {
    top: 50%;
  }
  html body header .inner > .logo #nav_toggle span:nth-child(3) {
    top: calc(50% + 1.538vw);
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  html body header .inner > .menu {
    display: none;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  html body header .inner > ul {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  html body header #global_nav {
    background: rgb(0, 0, 0);
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    height: 100svh;
    padding: 0 min(5.128vw, 20px);
    visibility: hidden;
    opacity: 0;
    z-index: 20;
    transition: opacity 0.3s ease, visibility 0.3s ease;
  }
  html body header #global_nav > div {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: start;
    width: 100%;
    margin-top: 10.256vw;
  }
  html body header #global_nav ul {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 5.128vw;
    opacity: 0;
    transform: translateY(10.256vw);
    transition: transform 0.3s ease, opacity 0.1s ease;
  }
  html body header #global_nav ul li {
    display: block;
  }
  html body header #global_nav ul li a {
    color: #fff;
  }
  html body header #global_nav ul li a span {
    color: #fff;
    font-size: 0.875rem;
  }
  html body header #global_nav ul li ul {
    margin-top: 5.128vw;
  }
  html body header #global_nav ul li ul span {
    font-size: 0.75rem;
  }
  html body header #global_nav ul.btn {
    width: 76.923vw;
    margin: 10.256vw auto 0;
  }
  html body header #global_nav ul.btn li {
    width: 100%;
  }
  html body header.open #nav_toggle span:nth-child(1) {
    top: 50% !important;
    -webkit-transform: rotate(30deg);
    transform: rotate(30deg);
  }
  html body header.open #nav_toggle span:nth-child(2) {
    width: 0;
  }
  html body header.open #nav_toggle span:nth-child(3) {
    top: 50% !important;
    -webkit-transform: rotate(-30deg);
    transform: rotate(-30deg);
  }
  html body header.open #global_nav {
    visibility: visible;
    opacity: 1;
  }
  html body header.open #global_nav ul {
    opacity: 1;
    transform: translateX(0);
    transition: transform 0.5s ease, opacity 0.9s ease;
  }
}
html body main {
  overflow: hidden;
}
html body main#index section {
  position: relative;
  z-index: 1;
}
html body main#index section#mainvisual {
  height: 100svh;
}
html body main#index section#mainvisual .inner {
  position: absolute;
  top: min(19.746vw, 218px);
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  html body main#index section#mainvisual .inner {
    top: 0;
    align-items: center;
  }
}
html body main#index section#mainvisual .inner h2 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
html body main#index section#mainvisual .inner h2 img {
  width: min(48.913vw, 540px);
  margin-bottom: min(9.058vw, 100px);
}
@media screen and (max-width: 767px) {
  html body main#index section#mainvisual .inner h2 img {
    width: 74.359vw;
    margin-bottom: 10.256vw;
  }
}
html body main#index section#mainvisual .inner h2 strong {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
}
@media screen and (max-width: 767px) {
  html body main#index section#mainvisual .inner h2 strong {
    flex-direction: column;
  }
}
html body main#index section#mainvisual .inner h2 strong > span {
  font-family: "Epilogue";
  font-size: min(6.25rem, 100px);
  font-weight: 300;
}
@media screen and (min-width: 481px) and (max-width: 1439px) {
  html body main#index section#mainvisual .inner h2 strong > span {
    font-size: min(4.687rem, 75px);
  }
}
@media screen and (max-width: 767px) {
  html body main#index section#mainvisual .inner h2 strong > span {
    font-size: 3.125rem;
  }
  html body main#index section#mainvisual .inner h2 strong > span:nth-of-type(n+2) {
    margin-top: 6.41vw;
  }
  html body main#index section#mainvisual .inner h2 strong > span span:last-child span {
    display: none;
  }
}
html body main#index section#mainvisual .bg_gradation {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  background: linear-gradient(to bottom, rgba(14, 14, 14, 0) 0%, rgb(14, 14, 14) 100%);
  height: min(15.036vw, 166px);
}
@media screen and (max-width: 767px) {
  html body main#index section#mainvisual .bg_gradation {
    height: 42.564vw;
  }
}
html body main#index section:not(#mainvisual) .inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: min(100%, 1104px);
  margin: 0 auto;
  padding: min(9.058vw, 100px) min(1.812vw, 20px);
}
@media screen and (max-width: 767px) {
  html body main#index section:not(#mainvisual) .inner {
    width: 100%;
    padding: 15.385vw 5.128vw;
  }
}
html body main#index section:not(#mainvisual) .inner h3 {
  font-family: "Lexend Zetta";
  font-size: 2.5rem;
  line-height: 1.25;
}
@media screen and (max-width: 767px) {
  html body main#index section:not(#mainvisual) .inner h3 {
    text-align: center;
    font-size: 1.875rem;
  }
}
html body main#index section#news h3 {
  color: #fff;
}
html body main#index section#company h3 {
  color: #fff;
}
html body main#index section#business h3 {
  background-image: linear-gradient(97deg, #2339C0 0%, #0E0E0E 62%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}
html body main#index section#client h3 {
  background-image: linear-gradient(97deg, #2339C0 0%, #0E0E0E 62%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}
html body main#index section#case h3 {
  background-image: linear-gradient(97deg, #2339C0 0%, #0E0E0E 62%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}
html body main#index section#published h3 {
  background-image: linear-gradient(97deg, #2339C0 0%, #0E0E0E 62%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}
html body main#index section#product h3 {
  background-image: linear-gradient(97deg, #2339C0 0%, #0E0E0E 62%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}
html body main#index section#news {
  background: #0E0E0E;
}
html body main#index section#news .inner {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: stretch;
  padding: min(6.341vw, 70px) min(1.812vw, 20px) min(3.623vw, 40px);
}
@media screen and (max-width: 767px) {
  html body main#index section#news .inner {
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    padding: 15.385vw 5.128vw;
    position: relative;
  }
}
@media screen and (max-width: 767px) {
  html body main#index section#news .inner > div:nth-of-type(1) {
    width: 100%;
  }
}
html body main#index section#news .inner > div:nth-of-type(1) .btn {
  margin-top: min(3.623vw, 40px);
}
@media screen and (max-width: 767px) {
  html body main#index section#news .inner > div:nth-of-type(1) .btn {
    margin: 0 auto;
    position: absolute;
    bottom: 15.385vw;
    left: 0;
    right: 0;
  }
}
html body main#index section#news .inner > div:nth-of-type(2) {
  width: min(67.029vw, 740px);
}
@media screen and (max-width: 767px) {
  html body main#index section#news .inner > div:nth-of-type(2) {
    width: 100%;
    margin-top: 10.256vw;
    padding-bottom: 15.385vw;
  }
}
html body main#index section#news .inner > div:nth-of-type(2) article {
  border-top: 1px #3E3E3E solid;
}
html body main#index section#news .inner > div:nth-of-type(2) article:first-child {
  border: none;
  margin-top: calc(-1 * min(2.717vw, 30px));
}
@media screen and (max-width: 767px) {
  html body main#index section#news .inner > div:nth-of-type(2) article:first-child {
    margin-top: -5.128vw;
  }
}
html body main#index section#news .inner > div:nth-of-type(2) article a {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  padding: min(2.717vw, 30px) 0;
}
@media screen and (max-width: 767px) {
  html body main#index section#news .inner > div:nth-of-type(2) article a {
    flex-direction: column;
    justify-content: center;
    padding: 5.128vw 0;
  }
}
html body main#index section#news .inner > div:nth-of-type(2) article a div {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
}
@media screen and (max-width: 767px) {
  html body main#index section#news .inner > div:nth-of-type(2) article a div {
    display: block;
  }
}
html body main#index section#news .inner > div:nth-of-type(2) article a div time {
  display: block;
  color: #6E6E6E;
  font-family: "DM Sans";
  font-size: min(0.875rem, 14px);
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  html body main#index section#news .inner > div:nth-of-type(2) article a div time {
    font-size: 0.875rem;
  }
}
html body main#index section#news .inner > div:nth-of-type(2) article a div span {
  display: block;
  color: #6E6E6E;
  font-family: "DM Sans";
  font-size: min(0.875rem, 14px);
  line-height: 1.75;
  margin: 0 0 0 min(1.812vw, 20px);
}
@media screen and (max-width: 767px) {
  html body main#index section#news .inner > div:nth-of-type(2) article a div span {
    font-size: 0.875rem;
    margin: 1.282vw 0 0 0;
  }
}
html body main#index section#news .inner > div:nth-of-type(2) article a h1 {
  width: 100%;
  color: #fff;
  font-size: min(1rem, 16px);
  line-height: 1.75;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
@media screen and (max-width: 767px) {
  html body main#index section#news .inner > div:nth-of-type(2) article a h1 {
    font-size: 1rem;
    margin-top: 2.564vw;
  }
}
html body main#index section#company .bg_gradation_top {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  background: linear-gradient(to top, rgba(14, 14, 14, 0) 0%, rgb(14, 14, 14) 100%);
  height: min(15.036vw, 166px);
}
@media screen and (max-width: 767px) {
  html body main#index section#company .bg_gradation_top {
    height: 42.564vw;
  }
}
html body main#index section#company .bg_gradation_bottom {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  background: linear-gradient(to bottom, rgba(14, 14, 14, 0) 0%, rgb(14, 14, 14) 25%, rgb(14, 14, 14) 100%);
  height: min(38.194vw, 550px);
}
@media screen and (max-width: 767px) {
  html body main#index section#company .bg_gradation_bottom {
    height: 141.026vw;
  }
}
html body main#index section#company .inner .wrapper {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  background: url(../img/company_circle.png?date=20250704) no-repeat center top/cover;
  width: min(116.214vw, 1283px);
  aspect-ratio: 1283/1285;
  position: static;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  html body main#index section#company .inner .wrapper {
    background: url(../img/company_circle_sp.png?date=20250704) no-repeat center bottom/100% auto;
    width: calc(100% + 10.256vw);
    aspect-ratio: 13/40;
  }
}
html body main#index section#company .inner .wrapper h3 {
  text-align: center;
  line-height: 1.5;
}
html body main#index section#company .inner .wrapper strong {
  text-align: center;
  color: #fff;
  font-size: min(1.5rem, 24px);
  font-weight: 700;
  line-height: 1.75;
  margin-top: min(7.246vw, 80px);
}
@media screen and (max-width: 767px) {
  html body main#index section#company .inner .wrapper strong {
    font-size: 1.25rem;
    margin-top: 10.256vw;
  }
}
html body main#index section#company .inner .wrapper .comment {
  text-align: center;
  color: #fff;
  font-size: min(1rem, 16px);
  line-height: 1.75;
  margin-top: min(4.529vw, 50px);
}
@media screen and (max-width: 767px) {
  html body main#index section#company .inner .wrapper .comment {
    text-align: left;
    padding: 0 5.128vw;
    margin-top: 10.256vw;
  }
}
html body main#index section#company .inner .wrapper .logo {
  width: min(29.529vw, 326px);
  margin-top: min(58.877vw, 650px);
}
@media screen and (max-width: 767px) {
  html body main#index section#company .inner .wrapper .logo {
    width: 63.077vw;
    margin-top: 270vw;
  }
}
html body main#index section#company .inner .wrapper .catchphrase {
  text-align: center;
  color: #fff;
  font-family: "DM Sans";
  font-size: min(1.375rem, 22px);
  margin-top: min(3.623vw, 40px);
}
@media screen and (max-width: 767px) {
  html body main#index section#company .inner .wrapper .catchphrase {
    font-size: 1rem;
    margin-top: 5.128vw;
  }
}
html body main#index section#company .inner .wrapper .btn {
  margin-top: min(4.529vw, 50px);
}
@media screen and (max-width: 767px) {
  html body main#index section#company .inner .wrapper .btn {
    margin-top: 10.256vw;
  }
}
html body main#index section#business .inner .business01 {
  width: 100%;
  margin-top: min(6.341vw, 70px);
  position: relative;
}
@media screen and (max-width: 767px) {
  html body main#index section#business .inner .business01 {
    margin-top: 15.385vw;
  }
}
html body main#index section#business .inner .business01 h4 {
  width: min(10.326vw, 114px);
}
@media screen and (max-width: 767px) {
  html body main#index section#business .inner .business01 h4 {
    width: 18.974vw;
    margin: 0 auto;
  }
}
html body main#index section#business .inner .business01 .scroll-container {
  /* コンテナからはみ出した部分を隠す */
  overflow: hidden;
  /* 画像が横に並ぶようにする */
  white-space: nowrap;
  /* コンテナの幅を100%に設定 */
  width: 100vw;
  /* コンテナの高さを画像の高さに合わせる */
  height: min(5.435vw, 60px);
  /* 中央揃えにして、画面幅に広げる */
  margin-left: calc(50% - 50vw);
}
@media screen and (max-width: 767px) {
  html body main#index section#business .inner .business01 .scroll-container {
    /* コンテナの高さを画像の高さに合わせる */
    height: 10.256vw;
    margin-top: 53.846vw;
  }
}
html body main#index section#business .inner .business01 .scroll-container .scrolling-images {
  /* 画像が横に並ぶようにフレックスボックスを使用 */
  display: flex;
  /* コンテンツの幅を自動調整 */
  width: max-content;
}
html body main#index section#business .inner .business01 .scroll-container .scrolling-images img {
  width: auto;
  height: min(5.435vw, 60px);
}
@media screen and (max-width: 767px) {
  html body main#index section#business .inner .business01 .scroll-container .scrolling-images img {
    height: 10.256vw;
  }
}
html body main#index section#business .inner .business01 > strong {
  display: block;
  font-size: min(1.25rem, 20px);
  font-weight: 700;
  margin-top: min(4.529vw, 50px);
}
@media screen and (max-width: 767px) {
  html body main#index section#business .inner .business01 > strong {
    font-size: 1.25rem;
    margin-top: 10.256vw;
  }
}
html body main#index section#business .inner .business01 > .comment {
  font-size: min(1rem, 16px);
  line-height: 1.75;
  width: min(47.101vw, 520px);
  margin-top: min(3.623vw, 40px);
}
@media screen and (max-width: 767px) {
  html body main#index section#business .inner .business01 > .comment {
    font-size: 1rem;
    width: 100%;
    margin-top: 5.128vw;
  }
}
html body main#index section#business .inner .business01 .mark {
  width: min(26.268vw, 290px);
  position: absolute;
  top: min(2.717vw, 30px);
  right: min(5.435vw, 60px);
}
@media screen and (max-width: 767px) {
  html body main#index section#business .inner .business01 .mark {
    width: 55.897vw;
    margin: 0 auto;
    top: 10.256vw;
    right: 0;
    left: 0;
  }
}
html body main#index section#business .inner .business01 .container {
  display: grid;
  grid-template-columns: 1fr;
  position: static;
  width: 100%;
  padding-bottom: min(3.623vw, 40px);
  margin-top: min(6.341vw, 70px);
}
@media screen and (max-width: 767px) {
  html body main#index section#business .inner .business01 .container {
    padding-bottom: 10.256vw;
    margin-top: 10.256vw;
  }
}
html body main#index section#business .inner .business01 .container .card {
  grid-row: 1;
  grid-column: 1;
  border: 1px #EEE solid;
  border-radius: min(1.812vw, 20px);
  background: rgba(255, 255, 255, 0.9);
  width: min(67.029vw, 740px);
  padding: min(2.717vw, 30px) min(3.623vw, 40px);
}
@media screen and (max-width: 767px) {
  html body main#index section#business .inner .business01 .container .card {
    border-radius: 5.128vw;
    width: 100%;
    padding: 7.692vw 7.692vw;
  }
}
html body main#index section#business .inner .business01 .container .card strong {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: min(1.5rem, 24px);
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  html body main#index section#business .inner .business01 .container .card strong {
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    font-size: 1.25rem;
    line-height: 1.25;
  }
}
html body main#index section#business .inner .business01 .container .card strong span {
  color: #8C8C8C;
  font-family: "Lexend Zetta";
  font-size: min(0.75rem, 12px);
  font-weight: 300;
}
@media screen and (max-width: 767px) {
  html body main#index section#business .inner .business01 .container .card strong span {
    font-size: 0.75rem;
    margin-top: 3.846vw;
  }
}
html body main#index section#business .inner .business01 .container .card .comment {
  font-size: min(1rem, 16px);
  line-height: 1.75;
  margin-top: min(1.812vw, 20px);
}
@media screen and (max-width: 767px) {
  html body main#index section#business .inner .business01 .container .card .comment {
    font-size: 1rem;
    margin-top: 5.128vw;
  }
}
html body main#index section#business .inner .business01 .container .card:nth-of-type(1) {
  justify-self: start;
  z-index: 1;
}
html body main#index section#business .inner .business01 .container .card:nth-of-type(2) {
  justify-self: center;
  transform: translateY(min(1.812vw, 20px));
  z-index: 2;
}
@media screen and (max-width: 767px) {
  html body main#index section#business .inner .business01 .container .card:nth-of-type(2) {
    transform: translateY(15.385vw);
  }
}
html body main#index section#business .inner .business01 .container .card:nth-of-type(3) {
  justify-self: end;
  transform: translateY(min(3.623vw, 40px));
  z-index: 3;
}
@media screen and (max-width: 767px) {
  html body main#index section#business .inner .business01 .container .card:nth-of-type(3) {
    transform: translateY(30.769vw);
  }
}
html body main#index section#business .inner .business01 .btn {
  margin: min(4.529vw, 50px) auto 0;
}
@media screen and (max-width: 767px) {
  html body main#index section#business .inner .business01 .btn {
    margin: 10.256vw auto 0;
  }
}
html body main#index section#business .inner .business02_03 {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  margin-top: min(6.341vw, 70px);
}
@media screen and (max-width: 767px) {
  html body main#index section#business .inner .business02_03 {
    margin-top: 15.385vw;
  }
}
html body main#index section#business .inner .business02_03 div {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  border: 1px #EEE solid;
  border-radius: min(1.812vw, 20px);
  background: rgba(255, 255, 255, 0.9);
  width: min(45.29vw, 500px);
  padding: min(4.529vw, 50px) min(3.623vw, 40px);
}
@media screen and (max-width: 767px) {
  html body main#index section#business .inner .business02_03 div {
    width: 100%;
    padding: 7.692vw 7.692vw;
  }
}
html body main#index section#business .inner .business02_03 div h4 {
  width: min(10.326vw, 114px);
}
@media screen and (max-width: 767px) {
  html body main#index section#business .inner .business02_03 div h4 {
    width: 18.974vw;
    margin: 0 auto;
  }
}
html body main#index section#business .inner .business02_03 div strong {
  font-size: min(1.5rem, 24px);
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  html body main#index section#business .inner .business02_03 div strong {
    font-size: 1.25rem;
  }
}
html body main#index section#business .inner .business02_03 div .comment {
  font-size: min(1rem, 16px);
  line-height: 1.75;
  margin-top: min(1.812vw, 20px);
}
@media screen and (max-width: 767px) {
  html body main#index section#business .inner .business02_03 div .comment {
    font-size: 1rem;
    margin-top: 5.128vw;
  }
}
html body main#index section#business .inner .business02_03 div .btn {
  margin-top: min(3.623vw, 40px);
}
@media screen and (max-width: 767px) {
  html body main#index section#business .inner .business02_03 div .btn {
    margin-top: 10.256vw;
  }
}
html body main#index section#business .inner .business02_03 div:nth-of-type(2) {
  margin-top: min(5.435vw, 60px);
}
@media screen and (max-width: 767px) {
  html body main#index section#business .inner .business02_03 div:nth-of-type(2) {
    margin-top: 7.692vw;
  }
}
html body main#index section#client .inner {
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  html body main#index section#client .inner {
    align-items: center;
  }
}
html body main#index section#client .inner ul {
  display: block;
  margin-top: min(6.341vw, 70px);
}
@media screen and (max-width: 767px) {
  html body main#index section#client .inner ul {
    margin-top: 10.256vw;
  }
}
html body main#index section#client .inner ul li {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  margin-left: 1px;
}
@media screen and (max-width: 767px) {
  html body main#index section#client .inner ul li {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}
html body main#index section#case .inner {
  align-items: flex-start;
  position: relative;
}
@media screen and (max-width: 767px) {
  html body main#index section#case .inner {
    align-items: center;
    position: initial;
  }
}
html body main#index section#case .inner .swiper-case {
  width: 100%;
  margin-top: min(6.341vw, 70px);
}
html body main#index section#case .inner .swiper-case .swiper-wrapper .swiper-slide {
  display: flex;
  height: auto;
}
html body main#index section#case .inner .swiper-case .swiper-wrapper .swiper-slide .card a {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  border: 1px #EEE solid;
  border-radius: min(1.812vw, 20px);
  background: rgba(255, 255, 255, 0.9);
  height: 100%;
  padding: min(2.717vw, 30px);
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  html body main#index section#case .inner .swiper-case .swiper-wrapper .swiper-slide .card a {
    border-radius: 5.128vw;
    padding: 7.692vw;
  }
}
html body main#index section#case .inner .swiper-case .swiper-wrapper .swiper-slide .card a .logo {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
@media screen and (max-width: 767px) {
  html body main#index section#case .inner .swiper-case .swiper-wrapper .swiper-slide .card a .logo {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
  }
}
html body main#index section#case .inner .swiper-case .swiper-wrapper .swiper-slide .card a .logo img {
  width: min(9.964vw, 110px);
}
@media screen and (max-width: 767px) {
  html body main#index section#case .inner .swiper-case .swiper-wrapper .swiper-slide .card a .logo img {
    width: 28.205vw;
    margin-bottom: 2.564vw;
  }
}
html body main#index section#case .inner .swiper-case .swiper-wrapper .swiper-slide .card a .logo span {
  color: #8C8C8C;
  font-size: min(0.75rem, 12px);
  background: #EEE;
  padding: min(0.453vw, 5px) min(0.906vw, 10px);
  border-radius: min(1.812vw, 20px);
}
@media screen and (max-width: 767px) {
  html body main#index section#case .inner .swiper-case .swiper-wrapper .swiper-slide .card a .logo span {
    font-size: 0.75rem;
    padding: 1.282vw 2.564vw;
    border-radius: 5.128vw;
  }
}
html body main#index section#case .inner .swiper-case .swiper-wrapper .swiper-slide .card a h4 {
  font-size: min(1.25rem, 20px);
  font-weight: 700;
  line-height: 1.25;
  margin-top: min(2.717vw, 30px);
}
@media screen and (max-width: 767px) {
  html body main#index section#case .inner .swiper-case .swiper-wrapper .swiper-slide .card a h4 {
    font-size: 1.25rem;
    margin-top: 7.692vw;
  }
}
html body main#index section#case .inner .swiper-case .swiper-wrapper .swiper-slide .card a .comment {
  color: #8C8C8C;
  font-size: min(0.875rem, 14px);
  line-height: 1.75;
  margin-top: min(1.812vw, 20px);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: break-word;
  white-space: normal;
}
@media screen and (max-width: 767px) {
  html body main#index section#case .inner .swiper-case .swiper-wrapper .swiper-slide .card a .comment {
    font-size: 0.875rem;
    margin-top: 5.128vw;
  }
}
html body main#index section#case .inner .swiper-case .swiper-wrapper .swiper-slide .card a .more {
  width: 100%;
  margin-top: min(1.812vw, 20px);
}
@media screen and (max-width: 767px) {
  html body main#index section#case .inner .swiper-case .swiper-wrapper .swiper-slide .card a .more {
    margin-top: 5.128vw;
  }
}
html body main#index section#case .inner .swiper-case .swiper-wrapper .swiper-slide .card a .more span {
  color: #0E0E0E;
  font-family: "DM Sans";
  font-size: min(1rem, 16px);
  font-weight: 500;
  letter-spacing: 0.3em;
  margin-right: -0.3em;
}
@media screen and (max-width: 767px) {
  html body main#index section#case .inner .swiper-case .swiper-wrapper .swiper-slide .card a .more span {
    font-size: 1rem;
  }
}
html body main#index section#case .inner .btn {
  position: absolute;
  top: min(9.058vw, 100px);
  right: 0;
}
@media screen and (max-width: 767px) {
  html body main#index section#case .inner .btn {
    position: initial;
    margin: 10.256vw auto 0;
  }
}
html body main#index section#published .inner {
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  html body main#index section#published .inner {
    align-items: center;
  }
}
@media screen and (max-width: 767px) {
  html body main#index section#published .inner h3 > span {
    display: block;
  }
}
html body main#index section#published .inner ul {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: min(6.341vw, 70px);
  padding-left: 1px;
}
@media screen and (max-width: 767px) {
  html body main#index section#published .inner ul {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 10.256vw;
  }
}
html body main#index section#published .inner ul li {
  margin-left: -1px;
  border: 1px #EEE solid;
}
html body main#index section#published .inner ul li:nth-of-type(n+5) {
  margin-top: -1px;
}
@media screen and (max-width: 767px) {
  html body main#index section#published .inner ul li:nth-of-type(n+3) {
    margin-top: -1px;
  }
}
html body main#index section#product .pc .inner {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-end;
}
html body main#index section#product .pc .inner > div {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  width: min(47.283vw, 522px);
  height: min(55.254vw, 610px);
  position: relative;
}
html body main#index section#product .pc .inner > div h3 {
  position: absolute;
  top: min(5.435vw, 60px);
}
html body main#index section#product .pc .inner > div ul {
  width: 100%;
}
html body main#index section#product .pc .inner > div ul li {
  position: relative;
}
html body main#index section#product .pc .inner > div ul li::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: #EEEEEE;
}
html body main#index section#product .pc .inner > div ul li a {
  display: block;
  padding: min(3.623vw, 40px) 0;
}
html body main#index section#product .pc .inner > div ul li a h4 {
  display: flex;
  align-items: baseline;
  color: #c3c3c3;
  font-family: "DM Sans";
  font-size: min(2.5rem, 40px);
}
html body main#index section#product .pc .inner > div ul li a h4::after {
  content: attr(data-subtitle);
  font-size: min(1rem, 16px);
  margin-left: min(1.812vw, 20px);
}
html body main#index section#product .pc .inner > div ul li a div {
  display: none;
  margin-top: min(2.717vw, 30px);
}
html body main#index section#product .pc .inner > div ul li a div p:nth-of-type(1) {
  color: #0E0E0E;
  font-size: min(1rem, 16px);
}
html body main#index section#product .pc .inner > div ul li a div p:nth-of-type(2) {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #0E0E0E;
  font-family: "DM Sans";
  font-size: min(1rem, 16px);
  font-weight: 500;
}
html body main#index section#product .pc .inner > div ul li a div p:nth-of-type(2) img {
  width: min(1.449vw, 16px);
  margin-left: min(0.906vw, 10px);
}
html body main#index section#product .pc .inner > div ul li.active {
  position: relative;
}
html body main#index section#product .pc .inner > div ul li.active::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-image: linear-gradient(to right, #2339C0 0%, #2339C0 2.9%, #0E0E0E 35.2%, #0E0E0E 100%);
}
html body main#index section#product .pc .inner > div ul li.active h4 {
  color: #0E0E0E;
}
html body main#index section#product .pc .inner > div ul li.active div {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
html body main#index section#product .pc .inner > div ul li:hover {
  position: relative;
}
html body main#index section#product .pc .inner > div ul li:hover::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-image: linear-gradient(to right, #2339C0 0%, #2339C0 2.9%, #0E0E0E 35.2%, #0E0E0E 100%);
}
html body main#index section#product .pc .inner > div ul li:hover h4 {
  color: #0E0E0E;
}
html body main#index section#product .pc .inner > div ul li:hover div {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
html body main#index section#product .pc .inner #photo {
  width: min(37.5vw, 414px);
}
html body main#index section#product .sp .inner {
  padding-bottom: 20.513vw;
}
html body main#index section#product .sp .inner .swiper-product {
  width: 100%;
  margin-top: 10.256vw;
}
html body main#index section#product .sp .inner .swiper-product .swiper-wrapper .swiper-slide {
  height: auto;
}
html body main#index section#product .sp .inner .swiper-product .swiper-wrapper .swiper-slide a {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
}
html body main#index section#product .sp .inner .swiper-product .swiper-wrapper .swiper-slide a figure {
  width: 71.795vw;
}
html body main#index section#product .sp .inner .swiper-product .swiper-wrapper .swiper-slide a h4 {
  display: flex;
  align-items: baseline;
  color: #0E0E0E;
  font-family: "DM Sans";
  font-size: 1.875rem;
  margin-top: 7.692vw;
}
html body main#index section#product .sp .inner .swiper-product .swiper-wrapper .swiper-slide a h4::after {
  content: attr(data-subtitle);
  font-size: 0.75rem;
  margin-left: 2.564vw;
}
html body main#index section#product .sp .inner .swiper-product .swiper-wrapper .swiper-slide a p {
  margin-top: 5.128vw;
}
html body main#index section#product .sp .inner .swiper-product .swiper-wrapper .swiper-slide a p:nth-of-type(1) {
  color: #0E0E0E;
  font-size: 0.875rem;
}
html body main#index section#product .sp .inner .swiper-product .swiper-wrapper .swiper-slide a p:nth-of-type(2) {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #0E0E0E;
  font-family: "DM Sans";
  font-size: 1rem;
  font-weight: 500;
}
html body main#index section#product .sp .inner .swiper-product .swiper-wrapper .swiper-slide a p:nth-of-type(2) img {
  width: 4.103vw;
  margin-left: 2.564vw;
}
html body main#index section#product .sp .inner .swiper-product .swiper-pagination {
  bottom: -10.256vw;
}
html body main#index section#product .sp .inner .swiper-product .swiper-pagination .swiper-pagination-bullet {
  background: #0E0E0E;
  opacity: 0.25;
  width: 2.564vw;
  height: 2.564vw;
  margin: 0 1.282vw;
}
html body main#index section#product .sp .inner .swiper-product .swiper-pagination .swiper-pagination-bullet-active {
  background: #2339C0;
  opacity: 1;
}
html body main#index > .wrapper {
  background: #F8FAFB url(../img/bg.png?date=20250704) repeat center top/auto fixed;
  position: relative;
}
html body main#index > .wrapper .gradient_circular1 {
  position: absolute;
  top: calc(-1 * min(4.529vw, 50px));
  right: calc(-1 * min(24.457vw, 270px));
  width: min(121.196vw, 1338px);
}
html body main#index > .wrapper .gradient_circular2 {
  position: absolute;
  top: min(58.877vw, 650px);
  left: calc(-1 * min(76.087vw, 840px));
  width: min(121.196vw, 1338px);
}
html body main#index > .wrapper .gradient_circular3 {
  position: absolute;
  bottom: calc(-1 * min(12.681vw, 140px));
  right: calc(-1 * min(108.696vw, 1200px));
  width: min(199.004vw, 2197px);
}
html body main:not(#index) h2 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  font-family: "Lexend Zetta";
  font-size: min(2.5rem, 40px);
  line-height: 1.25;
}
@media screen and (max-width: 767px) {
  html body main:not(#index) h2 {
    font-size: 1.875rem;
  }
}
html body main:not(#index) section {
  position: relative;
  z-index: 1;
}
html body main:not(#index) section:not(#recruitment) .inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: min(100%, 1104px);
  margin: 0 auto;
  padding: min(9.058vw, 100px) min(1.812vw, 20px);
}
@media screen and (max-width: 767px) {
  html body main:not(#index) section:not(#recruitment) .inner {
    width: 100%;
    padding: 15.385vw 5.128vw;
  }
}
html body main:not(#index) section:not(#recruitment) .inner h3 {
  font-family: "Lexend Zetta";
  font-size: min(2.5rem, 40px);
  line-height: 1.25;
}
@media screen and (max-width: 767px) {
  html body main:not(#index) section:not(#recruitment) .inner h3 {
    font-size: 1.875rem;
  }
}
html body main:not(#index) section#title {
  width: 100%;
  max-height: 360px;
  aspect-ratio: 4/1;
  position: relative;
}
@media screen and (max-width: 767px) {
  html body main:not(#index) section#title {
    max-height: auto;
    aspect-ratio: 13/12;
  }
}
html body main:not(#index) section#title .bg_gradation {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  background: linear-gradient(to bottom, rgba(14, 14, 14, 0) 0%, rgb(14, 14, 14) 100%);
  height: min(15.036vw, 166px);
}
@media screen and (max-width: 767px) {
  html body main:not(#index) section#title .bg_gradation {
    height: 42.564vw;
  }
}
html body main:not(#index) section#title .inner {
  padding: 0;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
}
html body main:not(#index) section#title .inner h2 {
  font-family: "Lexend Zetta";
  font-size: min(5rem, 80px);
  line-height: 1;
}
@media screen and (max-width: 767px) {
  html body main:not(#index) section#title .inner h2 {
    font-size: 1.875rem;
  }
}
html body main:not(#index) section#title .inner h2 span span {
  background-image: none;
  -webkit-text-fill-color: initial;
  color: #fff;
}
html body main:not(#index) section#title .inner p {
  color: #fff;
  font-size: min(1rem, 16px);
  font-weight: 700;
  margin-top: min(1.812vw, 20px);
}
html body main#company > .wrapper {
  background: #F8FAFB url(../img/bg.png?date=20250704) repeat center top/auto fixed;
  position: relative;
  z-index: 0;
  padding-top: min(10.87vw, 120px) !important;
}
@media screen and (max-width: 767px) {
  html body main#company > .wrapper {
    padding-top: min(15.385vw, 60px) !important;
  }
}
html body main#company > .wrapper section#outline .inner {
  padding: min(9.058vw, 100px) min(1.812vw, 20px) 0;
}
@media screen and (max-width: 767px) {
  html body main#company > .wrapper section#outline .inner {
    padding: 15.385vw 5.128vw 0;
  }
}
html body main#company > .wrapper section#outline .inner > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  border: 1px #EEE solid;
  background: rgba(255, 255, 255, 0.9);
  border-radius: min(1.812vw, 20px);
  width: 100%;
  padding: min(5.435vw, 60px);
}
@media screen and (max-width: 767px) {
  html body main#company > .wrapper section#outline .inner > div {
    border-radius: 5.128vw;
    padding: 7.692vw;
  }
}
html body main#company > .wrapper section#outline .inner > div h2 {
  justify-content: flex-start;
  font-size: min(1.25rem, 20px);
  font-weight: 700;
  margin-bottom: min(1.812vw, 20px);
}
@media screen and (max-width: 767px) {
  html body main#company > .wrapper section#outline .inner > div h2 {
    font-size: 1.125rem;
    margin-bottom: 5.128vw;
  }
}
html body main#company > .wrapper section#outline .inner > div > div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
@media screen and (max-width: 767px) {
  html body main#company > .wrapper section#outline .inner > div > div {
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
}
html body main#company > .wrapper section#outline .inner > div > div div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
}
html body main#company > .wrapper section#outline .inner > div > div div dl {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  margin-top: min(2.717vw, 30px);
  width: 100%;
}
@media screen and (max-width: 767px) {
  html body main#company > .wrapper section#outline .inner > div > div div dl {
    flex-direction: column;
    margin-top: 5.128vw;
  }
}
html body main#company > .wrapper section#outline .inner > div > div div dl dt {
  flex-shrink: 0;
  font-size: min(1rem, 16px);
  font-weight: 700;
  line-height: 1.75;
  width: 20%;
}
@media screen and (max-width: 767px) {
  html body main#company > .wrapper section#outline .inner > div > div div dl dt {
    font-size: 1rem;
    width: 100%;
  }
}
html body main#company > .wrapper section#outline .inner > div > div div dl dd {
  font-size: min(1rem, 16px);
  line-height: 1.75;
  width: 80%;
}
@media screen and (max-width: 767px) {
  html body main#company > .wrapper section#outline .inner > div > div div dl dd {
    font-size: 1rem;
    width: 100%;
  }
}
html body main#company > .wrapper section#outline .inner > div > div div dl dd a {
  color: #0E0E0E;
}
html body main#company > .wrapper section#outline .inner > div > div div dl dd ul li {
  text-indent: -1em;
  margin-left: 1em;
}
html body main#company > .wrapper section#outline .inner > div > div div dl dd ul li::before {
  content: "・";
}
html body main#company > .wrapper section#outline .inner > div > div figure {
  flex-shrink: 0;
  width: min(14.583vw, 210px);
}
@media screen and (max-width: 767px) {
  html body main#company > .wrapper section#outline .inner > div > div figure {
    width: 53.846vw;
    margin-top: 10.256vw;
  }
}
html body main#company > .wrapper section#message .inner > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  border: 1px #EEE solid;
  background: rgba(255, 255, 255, 0.9);
  border-radius: min(1.812vw, 20px);
  width: 100%;
  padding: min(5.435vw, 60px);
}
@media screen and (max-width: 767px) {
  html body main#company > .wrapper section#message .inner > div {
    border-radius: 5.128vw;
    padding: 7.692vw;
  }
}
html body main#company > .wrapper section#message .inner > div h2 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  font-size: min(1.25rem, 20px);
  font-weight: 700;
  margin-bottom: min(1.812vw, 20px);
}
@media screen and (max-width: 767px) {
  html body main#company > .wrapper section#message .inner > div h2 {
    font-size: 1.125rem;
    margin-bottom: 5.128vw;
  }
}
html body main#company > .wrapper section#message .inner > div h3 {
  font-family: "Lexend Zetta";
  font-size: 2.5rem;
  line-height: 1.25;
  margin: min(1.812vw, 20px) 0 min(2.717vw, 30px);
}
@media screen and (max-width: 767px) {
  html body main#company > .wrapper section#message .inner > div h3 {
    font-size: 1.5rem;
    margin: 5.128vw 0 7.692vw;
  }
}
html body main#company > .wrapper section#message .inner > div .comment {
  font-size: min(1rem, 16px);
  line-height: 1.75;
}
html body main#company > .wrapper section#message .inner > div > div {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  width: 100%;
  margin-top: min(2.717vw, 30px);
}
@media screen and (max-width: 767px) {
  html body main#company > .wrapper section#message .inner > div > div {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-top: 7.692vw;
  }
}
html body main#company > .wrapper section#message .inner > div > div figure {
  flex-shrink: 0;
  width: min(13.889vw, 200px);
  margin: 0 0 0 min(4.529vw, 50px);
}
@media screen and (max-width: 767px) {
  html body main#company > .wrapper section#message .inner > div > div figure {
    width: 51.282vw;
    margin: 10.256vw auto 0;
  }
}
html body main#company > .wrapper section#message .inner > div > div figure figcaption {
  text-align: center;
  font-size: min(0.875rem, 14px);
  margin-top: min(0.906vw, 10px);
}
@media screen and (max-width: 767px) {
  html body main#company > .wrapper section#message .inner > div > div figure figcaption {
    margin-top: 2.564vw;
  }
}
html body main#business section#contents {
  background: #0E0E0E;
}
html body main#business section#contents .inner > div {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(4.444vw, 64px);
  width: 100%;
}
@media screen and (max-width: 767px) {
  html body main#business section#contents .inner > div {
    grid-template-columns: repeat(1, 1fr);
    gap: min(7.692vw, 30px);
  }
}
html body main#business section#contents .inner > div div {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  border: 1px #EEE solid;
  border-radius: min(1.812vw, 20px);
  background: rgba(255, 255, 255, 0.9);
  width: min(45.29vw, 500px);
  padding: min(4.529vw, 50px) min(3.623vw, 40px);
}
@media screen and (max-width: 767px) {
  html body main#business section#contents .inner > div div {
    width: 100%;
    padding: 7.692vw 7.692vw;
  }
}
html body main#business section#contents .inner > div div h3 {
  width: min(10.326vw, 114px);
}
@media screen and (max-width: 767px) {
  html body main#business section#contents .inner > div div h3 {
    width: 18.974vw;
    margin: 0 auto;
  }
}
html body main#business section#contents .inner > div div strong {
  font-size: min(1.5rem, 24px);
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  html body main#business section#contents .inner > div div strong {
    font-size: 1.25rem;
  }
}
html body main#business section#contents .inner > div div .comment {
  font-size: min(1rem, 16px);
  line-height: 1.75;
  margin-top: min(1.812vw, 20px);
}
@media screen and (max-width: 767px) {
  html body main#business section#contents .inner > div div .comment {
    font-size: 1rem;
    margin-top: 5.128vw;
  }
}
html body main#business section#contents .inner > div div .btn {
  margin-top: min(3.623vw, 40px);
}
@media screen and (max-width: 767px) {
  html body main#business section#contents .inner > div div .btn {
    margin-top: 10.256vw;
  }
}
html body main#business01 > .wrapper {
  background: #F8FAFB url(../img/bg.png?date=20250704) repeat center top/auto fixed;
  position: relative;
  z-index: 0;
  padding-top: min(10.87vw, 120px) !important;
}
@media screen and (max-width: 767px) {
  html body main#business01 > .wrapper {
    padding-top: 15.385vw !important;
  }
}
html body main#business01 > .wrapper .gradient_circular1 {
  position: absolute;
  top: calc(-1 * min(10.87vw, 120px));
  right: calc(-1 * min(24.457vw, 270px));
  width: min(121.196vw, 1338px);
}
html body main#business01 > .wrapper .gradient_circular2 {
  position: absolute;
  top: min(58.877vw, 650px);
  left: calc(-1 * min(76.087vw, 840px));
  width: min(121.196vw, 1338px);
}
html body main#business01 > .wrapper .gradient_circular3 {
  position: absolute;
  bottom: calc(-1 * min(12.681vw, 140px));
  right: calc(-1 * min(108.696vw, 1200px));
  width: min(199.004vw, 2197px);
}
html body main#business01 section {
  position: relative;
  z-index: 1;
}
html body main#business01 section#business .inner .business01 {
  width: 100%;
  position: relative;
}
html body main#business01 section#business .inner .business01 h2 {
  width: min(10.326vw, 114px);
}
@media screen and (max-width: 767px) {
  html body main#business01 section#business .inner .business01 h2 {
    width: 18.974vw;
    margin: 0 auto;
  }
}
html body main#business01 section#business .inner .business01 .scroll-container {
  /* コンテナからはみ出した部分を隠す */
  overflow: hidden;
  /* 画像が横に並ぶようにする */
  white-space: nowrap;
  /* コンテナの幅を100%に設定 */
  width: 100vw;
  /* コンテナの高さを画像の高さに合わせる */
  height: min(5.435vw, 60px);
  /* 中央揃えにして、画面幅に広げる */
  margin-left: calc(50% - 50vw);
}
@media screen and (max-width: 767px) {
  html body main#business01 section#business .inner .business01 .scroll-container {
    /* コンテナの高さを画像の高さに合わせる */
    height: 10.256vw;
    margin-top: 53.846vw;
  }
}
html body main#business01 section#business .inner .business01 .scroll-container .scrolling-images {
  /* 画像が横に並ぶようにフレックスボックスを使用 */
  display: flex;
  /* コンテンツの幅を自動調整 */
  width: max-content;
}
html body main#business01 section#business .inner .business01 .scroll-container .scrolling-images img {
  width: auto;
  height: min(5.435vw, 60px);
}
@media screen and (max-width: 767px) {
  html body main#business01 section#business .inner .business01 .scroll-container .scrolling-images img {
    height: 10.256vw;
  }
}
html body main#business01 section#business .inner .business01 > strong {
  display: block;
  font-size: min(1.25rem, 20px);
  font-weight: 700;
  margin-top: min(4.529vw, 50px);
}
@media screen and (max-width: 767px) {
  html body main#business01 section#business .inner .business01 > strong {
    font-size: 1.25rem;
    margin-top: 10.256vw;
  }
}
html body main#business01 section#business .inner .business01 > .comment {
  font-size: min(1rem, 16px);
  line-height: 1.75;
  width: min(47.101vw, 520px);
  margin-top: min(3.623vw, 40px);
}
@media screen and (max-width: 767px) {
  html body main#business01 section#business .inner .business01 > .comment {
    font-size: 1rem;
    width: 100%;
    margin-top: 5.128vw;
  }
}
html body main#business01 section#business .inner .business01 .mark {
  width: min(26.268vw, 290px);
  position: absolute;
  top: min(2.717vw, 30px);
  right: min(5.435vw, 60px);
}
@media screen and (max-width: 767px) {
  html body main#business01 section#business .inner .business01 .mark {
    width: 55.897vw;
    margin: 0 auto;
    top: 10.256vw;
    right: 0;
    left: 0;
  }
}
html body main#business01 section#mission .inner .comment {
  text-align: center;
  font-size: min(1rem, 16px);
  line-height: 1.75;
  margin-top: min(3.623vw, 40px);
}
@media screen and (max-width: 767px) {
  html body main#business01 section#mission .inner .comment {
    text-align: left;
    font-size: 1rem;
    margin-top: 10.256vw;
  }
}
html body main#business01 section#mission .inner > div {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  border: 1px #EEE solid;
  border-radius: min(1.812vw, 20px);
  background: #fff;
  width: 100%;
  padding: min(4.529vw, 50px) min(3.623vw, 40px);
  margin-top: min(3.623vw, 40px);
}
@media screen and (max-width: 767px) {
  html body main#business01 section#mission .inner > div {
    border-radius: 5.128vw;
    padding: 7.692vw 2.564vw;
    margin-top: 10.256vw;
  }
}
html body main#business01 section#mission .inner > div strong {
  text-align: center;
  font-size: min(1.375rem, 22px);
  font-weight: 700;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  html body main#business01 section#mission .inner > div strong {
    font-size: 1rem;
  }
}
html body main#business01 section#mission .inner > div strong span {
  border: 1px #0E0E0E solid;
  border-radius: min(1.812vw, 20px);
  font-size: min(0.875rem, 14px);
  padding: min(0.453vw, 5px) min(0.906vw, 10px);
  margin-left: min(0.906vw, 10px);
}
@media screen and (max-width: 767px) {
  html body main#business01 section#mission .inner > div strong span {
    border-radius: 5.128vw;
    font-size: 0.75rem;
    padding: 1.282vw 2.564vw;
    margin-left: 2.564vw;
  }
}
html body main#business01 section#mission .inner > div strong em {
  color: #1F3097;
  font-weight: 700;
}
html body main#business01 section#mission .inner > div .img {
  width: min(73.007vw, 806px);
  margin: calc(-1 * min(9.058vw, 100px)) auto min(2.717vw, 30px);
}
@media screen and (max-width: 767px) {
  html body main#business01 section#mission .inner > div .img {
    width: 100%;
    margin: -15.385vw auto 2.564vw;
  }
}
html body main#business01 section#mission2 .inner .comment {
  text-align: center;
  font-size: min(1rem, 16px);
  line-height: 1.75;
  margin-top: min(3.623vw, 40px);
}
@media screen and (max-width: 767px) {
  html body main#business01 section#mission2 .inner .comment {
    text-align: left;
    font-size: 1rem;
    margin-top: 10.256vw;
  }
}
html body main#business01 section#mission2 .inner > div {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  border: 1px #EEE solid;
  border-radius: min(1.812vw, 20px);
  background: #fff;
  width: 100%;
  padding: min(4.529vw, 50px) min(3.623vw, 40px);
  margin-top: min(3.623vw, 40px);
}
@media screen and (max-width: 767px) {
  html body main#business01 section#mission2 .inner > div {
    border-radius: 5.128vw;
    padding: 7.692vw 2.564vw;
    margin-top: 10.256vw;
  }
}
html body main#business01 section#mission2 .inner > div .img {
  width: min(89.855vw, 992px);
}
@media screen and (max-width: 767px) {
  html body main#business01 section#mission2 .inner > div .img {
    width: 100%;
  }
}
html body main#business01 section#service .inner .swiper-service {
  width: 100%;
  margin-top: min(3.623vw, 40px);
}
html body main#business01 section#service .inner .swiper-service .swiper-wrapper .swiper-slide {
  height: auto;
}
html body main#business01 section#service .inner .swiper-service .swiper-wrapper .swiper-slide .card {
  border: 1px #EEE solid;
  border-radius: min(1.812vw, 20px);
  background: #fff;
  width: min(67.029vw, 740px);
  height: 100%;
  padding: min(2.717vw, 30px) min(3.623vw, 40px);
}
@media screen and (max-width: 767px) {
  html body main#business01 section#service .inner .swiper-service .swiper-wrapper .swiper-slide .card {
    border-radius: 5.128vw;
    width: 100%;
    padding: 7.692vw 7.692vw;
  }
}
html body main#business01 section#service .inner .swiper-service .swiper-wrapper .swiper-slide .card strong {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: min(1.5rem, 24px);
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  html body main#business01 section#service .inner .swiper-service .swiper-wrapper .swiper-slide .card strong {
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    font-size: 1.25rem;
    line-height: 1.25;
  }
}
html body main#business01 section#service .inner .swiper-service .swiper-wrapper .swiper-slide .card strong span {
  color: #8C8C8C;
  font-family: "Lexend Zetta";
  font-size: min(0.75rem, 12px);
  font-weight: 300;
}
@media screen and (max-width: 767px) {
  html body main#business01 section#service .inner .swiper-service .swiper-wrapper .swiper-slide .card strong span {
    font-size: 0.75rem;
    margin-top: 3.846vw;
  }
}
html body main#business01 section#service .inner .swiper-service .swiper-wrapper .swiper-slide .card .comment {
  font-size: min(1rem, 16px);
  line-height: 1.75;
  margin-top: min(1.812vw, 20px);
}
@media screen and (max-width: 767px) {
  html body main#business01 section#service .inner .swiper-service .swiper-wrapper .swiper-slide .card .comment {
    font-size: 1rem;
    margin-top: 5.128vw;
  }
}
html body main#business01 section#service .inner .swiper-service .swiper-wrapper .swiper-slide .card .img {
  width: min(54.529vw, 602px);
  margin: min(1.812vw, 20px) auto 0;
}
@media screen and (max-width: 767px) {
  html body main#business01 section#service .inner .swiper-service .swiper-wrapper .swiper-slide .card .img {
    width: 100%;
    margin: 5.128vw auto 0;
  }
}
html body main#business01 section#technology .inner strong {
  font-size: min(1.375rem, 22px);
  font-weight: 700;
  margin-top: min(3.623vw, 40px);
}
@media screen and (max-width: 767px) {
  html body main#business01 section#technology .inner strong {
    font-size: 1.125rem;
    margin-top: 10.256vw;
    line-height: 1.25;
  }
}
html body main#business01 section#technology .inner .comment {
  text-align: center;
  font-size: min(1rem, 16px);
  line-height: 1.75;
  margin-top: min(3.623vw, 40px);
}
@media screen and (max-width: 767px) {
  html body main#business01 section#technology .inner .comment {
    text-align: left;
    font-size: 1rem;
    margin-top: 7.692vw;
  }
}
html body main#business01 section#technology .inner div {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  border: 1px #EEE solid;
  border-radius: min(1.812vw, 20px);
  background: #fff;
  width: 100%;
  margin-top: min(3.623vw, 40px);
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  html body main#business01 section#technology .inner div {
    border-radius: 5.128vw;
    margin-top: 5.128vw;
  }
}
html body main#business01 section#technology .inner div img {
  width: 100%;
}
html body main#business01 section#usecase .inner {
  /*display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: min(100%, 1104px);
  margin: 0 auto;
  padding: min(9.058vw, 100px) min(1.812vw, 20px);*/
}
html body main#business01 section#usecase .inner #useCaseSlide {
  margin-top: min(6.341vw, 70px);
  width: 100%;
}
html body main#business01 section#usecase .inner #useCaseSlide .swiper-case {
  position: relative;
  margin-bottom: min(6.341vw, 70px);
}
html body main#business01 section#usecase .inner #useCaseSlide .swiper-case .swiper-wrapper .swiper-slide {
  display: flex;
  height: auto;
}
html body main#business01 section#usecase .inner #useCaseSlide .swiper-case .swiper-wrapper .swiper-slide .card a {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  border: 1px #EEE solid;
  border-radius: min(1.812vw, 20px);
  background: rgba(255, 255, 255, 0.9);
  height: 100%;
  padding: min(2.717vw, 30px);
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  html body main#business01 section#usecase .inner #useCaseSlide .swiper-case .swiper-wrapper .swiper-slide .card a {
    border-radius: 5.128vw;
    padding: 7.692vw;
  }
}
html body main#business01 section#usecase .inner #useCaseSlide .swiper-case .swiper-wrapper .swiper-slide .card a .logo {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
@media screen and (max-width: 767px) {
  html body main#business01 section#usecase .inner #useCaseSlide .swiper-case .swiper-wrapper .swiper-slide .card a .logo {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
  }
}
html body main#business01 section#usecase .inner #useCaseSlide .swiper-case .swiper-wrapper .swiper-slide .card a .logo img {
  width: min(9.964vw, 110px);
}
@media screen and (max-width: 767px) {
  html body main#business01 section#usecase .inner #useCaseSlide .swiper-case .swiper-wrapper .swiper-slide .card a .logo img {
    width: 28.205vw;
    margin-bottom: 2.564vw;
  }
}
html body main#business01 section#usecase .inner #useCaseSlide .swiper-case .swiper-wrapper .swiper-slide .card a .logo span {
  color: #8C8C8C;
  font-size: min(0.75rem, 12px);
  background: #EEE;
  padding: min(0.453vw, 5px) min(0.906vw, 10px);
  border-radius: min(1.812vw, 20px);
}
@media screen and (max-width: 767px) {
  html body main#business01 section#usecase .inner #useCaseSlide .swiper-case .swiper-wrapper .swiper-slide .card a .logo span {
    font-size: 0.75rem;
    padding: 1.282vw 2.564vw;
    border-radius: 5.128vw;
  }
}
html body main#business01 section#usecase .inner #useCaseSlide .swiper-case .swiper-wrapper .swiper-slide .card a h4 {
  font-size: min(1.25rem, 20px);
  font-weight: 700;
  line-height: 1.25;
  margin-top: min(2.717vw, 30px);
}
@media screen and (max-width: 767px) {
  html body main#business01 section#usecase .inner #useCaseSlide .swiper-case .swiper-wrapper .swiper-slide .card a h4 {
    font-size: 1.25rem;
    margin-top: 7.692vw;
  }
}
html body main#business01 section#usecase .inner #useCaseSlide .swiper-case .swiper-wrapper .swiper-slide .card a .comment {
  color: #8C8C8C;
  font-size: min(0.875rem, 14px);
  line-height: 1.75;
  margin-top: min(1.812vw, 20px);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: break-word;
  white-space: normal;
}
@media screen and (max-width: 767px) {
  html body main#business01 section#usecase .inner #useCaseSlide .swiper-case .swiper-wrapper .swiper-slide .card a .comment {
    font-size: 0.875rem;
    margin-top: 5.128vw;
  }
}
html body main#business01 section#usecase .inner #useCaseSlide .swiper-case .swiper-wrapper .swiper-slide .card a .more {
  width: 100%;
  margin-top: min(1.812vw, 20px);
}
@media screen and (max-width: 767px) {
  html body main#business01 section#usecase .inner #useCaseSlide .swiper-case .swiper-wrapper .swiper-slide .card a .more {
    margin-top: 5.128vw;
  }
}
html body main#business01 section#usecase .inner #useCaseSlide .swiper-case .swiper-wrapper .swiper-slide .card a .more span {
  color: #0E0E0E;
  font-family: "DM Sans";
  font-size: min(1rem, 16px);
  font-weight: 500;
  letter-spacing: 0.3em;
  margin-right: -0.3em;
}
@media screen and (max-width: 767px) {
  html body main#business01 section#usecase .inner #useCaseSlide .swiper-case .swiper-wrapper .swiper-slide .card a .more span {
    font-size: 1rem;
  }
}
html body main#business01 section#usecase .inner #useCaseSlide .swiper-case .swiper-scrollbar {
  bottom: -1rem;
}
html body main#business01 section#usecase .inner #useCaseSlide .btn {
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  html body main#business01 section#usecase .inner #useCaseSlide .btn {
    margin: 10.256vw auto 0;
  }
}
html body main#business01 section#usecase .inner ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(3.623vw, 40px);
  width: 100%;
  margin-top: min(3.623vw, 40px);
}
@media screen and (max-width: 767px) {
  html body main#business01 section#usecase .inner ul {
    grid-template-columns: repeat(1, 1fr);
    gap: 5.128vw;
    margin-top: 10.256vw;
  }
}
html body main#business01 section#usecase .inner ul li {
  border: 1px #EEE solid;
  border-radius: min(1.812vw, 20px);
  background: #fff;
  width: 100%;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  html body main#business01 section#usecase .inner ul li {
    border-radius: 5.128vw;
  }
}
html body main#business01 section#usecase .inner ul li figure {
  width: 100%;
  aspect-ratio: 64/25;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  html body main#business01 section#usecase .inner ul li figure {
    aspect-ratio: 179/100;
  }
}
html body main#business01 section#usecase .inner ul li figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
html body main#business01 section#usecase .inner ul li > div {
  padding: min(2.717vw, 30px);
}
@media screen and (max-width: 767px) {
  html body main#business01 section#usecase .inner ul li > div {
    padding: 7.692vw;
  }
}
html body main#business01 section#usecase .inner ul li > div > div {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
html body main#business01 section#usecase .inner ul li > div > div h4 {
  font-size: min(1.375rem, 22px);
  font-weight: 700;
  line-height: 1.25;
}
@media screen and (max-width: 767px) {
  html body main#business01 section#usecase .inner ul li > div > div h4 {
    font-size: 1.25rem;
  }
}
html body main#business01 section#usecase .inner ul li > div > div h4 small {
  font-size: 75%;
  font-weight: 700;
  vertical-align: baseline;
}
html body main#business01 section#usecase .inner ul li > div > div img {
  flex-shrink: 0;
  width: min(10.326vw, 114px);
  margin: 0 0 0 min(1.812vw, 20px);
}
@media screen and (max-width: 767px) {
  html body main#business01 section#usecase .inner ul li > div > div img {
    width: 14.872vw;
  }
}
html body main#business01 section#usecase .inner ul li > div .comment {
  color: #8C8C8C;
  font-size: min(0.875rem, 14px);
  line-height: 1.75;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 5;
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: break-word;
  white-space: normal;
}
@media screen and (max-width: 767px) {
  html body main#business01 section#usecase .inner ul li > div .comment {
    font-size: 0.875rem;
  }
}
html body main#news section#contents {
  background: #0E0E0E;
}
html body main#news section#contents .inner > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  border: 1px #EEE solid;
  background: rgba(255, 255, 255, 0.9);
  border-radius: min(1.812vw, 20px);
  width: 100%;
  padding: min(5.435vw, 60px);
  margin-top: calc(-1 * min(16.667vw, 240px));
}
@media screen and (max-width: 767px) {
  html body main#news section#contents .inner > div {
    border-radius: 5.128vw;
    padding: 7.692vw;
    margin-top: calc(-1 * min(77.436vw, 302px));
  }
}
html body main#news section#contents .inner > div h2 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  font-family: "Lexend Zetta";
  font-size: min(2.5rem, 40px);
  font-weight: 400;
  margin-bottom: min(1.812vw, 20px);
}
@media screen and (max-width: 767px) {
  html body main#news section#contents .inner > div h2 {
    font-size: 1.875rem;
    margin-bottom: 5.128vw;
  }
}
html body main#news section#contents .inner > div > div {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: min(3.623vw, 40px);
  width: 100%;
}
@media screen and (max-width: 767px) {
  html body main#news section#contents .inner > div > div {
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 5.128vw;
  }
}
html body main#news section#contents .inner > div > div .category {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: min(1.812vw, 20px);
}
@media screen and (max-width: 767px) {
  html body main#news section#contents .inner > div > div .category {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 5.128vw;
    width: 100%;
    margin: 0;
  }
}
html body main#news section#contents .inner > div > div .category li {
  width: min(19.022vw, 210px);
}
@media screen and (max-width: 767px) {
  html body main#news section#contents .inner > div > div .category li {
    width: 100%;
  }
}
html body main#news section#contents .inner > div > div .category li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: min(3.261vw, 36px);
  background: #D4D8F0;
  border-radius: min(3.261vw, 36px);
}
@media screen and (max-width: 767px) {
  html body main#news section#contents .inner > div > div .category li a {
    height: 9.231vw;
    background: #D4D8F0;
    border-radius: 9.231vw;
  }
}
html body main#news section#contents .inner > div > div .category li a:hover {
  background-color: #11259F;
  -webkit-animation: shad 1.5s infinite;
  animation: shad 1.5s infinite;
  color: #fff;
}
html body main#news section#contents .inner > div > div .category li a span {
  font-family: "DM Sans";
  font-size: min(0.875rem, 11px);
  font-weight: 500;
  letter-spacing: 0.3em;
  margin-right: -0.3em;
  padding: 0 1em;
  line-height: 1.2;
  text-align: center;
}
@media screen and (max-width: 767px) {
  html body main#news section#contents .inner > div > div .category li a span {
    font-size: 0.625rem;
    line-height: 1.25;
    letter-spacing: 0.1em;
    margin-right: -0.1em;
  }
}
html body main#news section#contents .inner > div > div .category li.active a {
  background: #2339C0;
  color: #fff;
}
html body main#news section#contents .inner > div > div > div {
  width: 100%;
}
@media screen and (max-width: 767px) {
  html body main#news section#contents .inner > div > div > div {
    margin-top: 15.385vw;
  }
}
html body main#news section#contents .inner > div > div > div article {
  width: 100%;
  border-bottom: 1px #3E3E3E solid;
}
html body main#news section#contents .inner > div > div > div article:first-child {
  margin-top: calc(-1 * min(2.717vw, 30px));
}
@media screen and (max-width: 767px) {
  html body main#news section#contents .inner > div > div > div article:first-child {
    margin-top: -5.128vw;
  }
}
html body main#news section#contents .inner > div > div > div article a {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  padding: min(2.717vw, 30px) 0;
}
@media screen and (max-width: 767px) {
  html body main#news section#contents .inner > div > div > div article a {
    flex-direction: column;
    justify-content: center;
    padding: 5.128vw 0;
  }
}
html body main#news section#contents .inner > div > div > div article a > div {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
}
@media screen and (max-width: 767px) {
  html body main#news section#contents .inner > div > div > div article a > div {
    display: block;
  }
}
html body main#news section#contents .inner > div > div > div article a > div time {
  display: block;
  color: #6E6E6E;
  font-family: "DM Sans";
  font-size: min(0.875rem, 14px);
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  html body main#news section#contents .inner > div > div > div article a > div time {
    font-size: 0.875rem;
  }
}
html body main#news section#contents .inner > div > div > div article a > div span {
  display: block;
  color: #6E6E6E;
  font-family: "DM Sans";
  font-size: min(0.875rem, 14px);
  line-height: 1.75;
  margin: 0 0 0 min(1.812vw, 20px);
}
@media screen and (max-width: 767px) {
  html body main#news section#contents .inner > div > div > div article a > div span {
    font-size: 0.875rem;
    margin: 1.282vw 0 0 0;
  }
}
html body main#news section#contents .inner > div > div > div article a h1 {
  width: 100%;
  font-size: min(1rem, 16px);
  line-height: 1.75;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
@media screen and (max-width: 767px) {
  html body main#news section#contents .inner > div > div > div article a h1 {
    font-size: 1rem;
    margin-top: 2.564vw;
  }
}
html body main#news section#contents .inner > div > div > div .pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(0.453vw, 5px);
  margin: min(2.717vw, 30px) auto 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  html body main#news section#contents .inner > div > div > div .pagination {
    gap: 1.282vw;
    margin: 7.692vw auto 0;
  }
}
html body main#news section#contents .inner > div > div > div .pagination li a {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #8C8C8C;
  height: min(4.529vw, 50px);
}
@media screen and (max-width: 767px) {
  html body main#news section#contents .inner > div > div > div .pagination li a {
    height: 7.692vw;
  }
}
html body main#news section#contents .inner > div > div > div .pagination li a span {
  font-family: "Lexend Zetta";
  font-size: min(1.25rem, 20px);
  font-weight: 400;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  html body main#news section#contents .inner > div > div > div .pagination li a span {
    font-size: 1rem;
  }
}
html body main#news section#contents .inner > div > div > div .pagination li .page-numbers {
  width: min(4.529vw, 50px);
}
@media screen and (max-width: 767px) {
  html body main#news section#contents .inner > div > div > div .pagination li .page-numbers {
    width: 7.692vw;
  }
}
html body main#news section#contents .inner > div > div > div .pagination li .page-numbers.current {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #2339C0;
  font-family: "Lexend Zetta";
  font-size: min(1.25rem, 20px);
  font-weight: 400;
  height: min(4.529vw, 50px);
}
@media screen and (max-width: 767px) {
  html body main#news section#contents .inner > div > div > div .pagination li .page-numbers.current {
    font-size: 1rem;
    height: 7.692vw;
  }
}
html body main#news_detail section#contents {
  background: #0E0E0E;
}
html body main#news_detail section#contents .inner > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  border: 1px #EEE solid;
  background: rgba(255, 255, 255, 0.9);
  border-radius: min(1.812vw, 20px);
  width: 100%;
  padding: min(5.435vw, 60px);
  margin-top: calc(-1 * min(16.667vw, 240px));
}
@media screen and (max-width: 767px) {
  html body main#news_detail section#contents .inner > div {
    border-radius: 5.128vw;
    padding: 7.692vw;
    margin-top: calc(-1 * min(77.436vw, 302px));
  }
}
html body main#news_detail section#contents .inner > div h2 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  font-family: "Lexend Zetta";
  font-size: min(2.5rem, 40px);
  font-weight: 400;
  margin-bottom: min(1.812vw, 20px);
}
@media screen and (max-width: 767px) {
  html body main#news_detail section#contents .inner > div h2 {
    font-size: 1.875rem;
    margin-bottom: 5.128vw;
  }
}
html body main#news_detail section#contents .inner > div .date {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: min(1.812vw, 20px);
}
@media screen and (max-width: 767px) {
  html body main#news_detail section#contents .inner > div .date {
    display: block;
    margin-bottom: 2.564vw;
  }
}
html body main#news_detail section#contents .inner > div .date time {
  display: block;
  color: #6E6E6E;
  font-family: "DM Sans";
  font-size: min(0.875rem, 14px);
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  html body main#news_detail section#contents .inner > div .date time {
    font-size: 0.875rem;
  }
}
html body main#news_detail section#contents .inner > div .date span {
  display: block;
  color: #6E6E6E;
  font-family: "DM Sans";
  font-size: min(0.875rem, 14px);
  line-height: 1.75;
  margin: 0 0 0 min(1.812vw, 20px);
}
@media screen and (max-width: 767px) {
  html body main#news_detail section#contents .inner > div .date span {
    font-size: 0.875rem;
    margin: 1.282vw 0 0 0;
  }
}
html body main#news_detail section#contents .inner > div h3 {
  font-size: min(1.25rem, 20px);
  font-weight: 700;
  line-height: 1.75;
  margin-bottom: min(1.812vw, 20px);
}
@media screen and (max-width: 767px) {
  html body main#news_detail section#contents .inner > div h3 {
    font-size: 1.125rem;
    margin-bottom: 3.846vw;
  }
}
html body main#news_detail section#contents .inner > div figure {
  width: 100%;
}
html body main#news_detail section#contents .inner > div figure p {
  aspect-ratio: 500/309;
  margin-top: min(5.435vw, 60px);
}
html body main#news_detail section#contents .inner > div figure p img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
html body main#news_detail section#contents .inner > div .comment {
  font-size: min(1rem, 16px);
  line-height: 1.75;
  margin-top: min(5.435vw, 60px);
  width: 100%;
}
@media screen and (max-width: 767px) {
  html body main#news_detail section#contents .inner > div .comment {
    font-size: 1rem;
    margin-top: 7.692vw;
  }
}
html body main#news_detail section#contents .inner > div .comment h1,
html body main#news_detail section#contents .inner > div .comment h2,
html body main#news_detail section#contents .inner > div .comment h3,
html body main#news_detail section#contents .inner > div .comment h4,
html body main#news_detail section#contents .inner > div .comment h5,
html body main#news_detail section#contents .inner > div .comment h6,
html body main#news_detail section#contents .inner > div .comment p {
  all: revert;
}
html body main#news_detail section#contents .inner > div .comment ul,
html body main#news_detail section#contents .inner > div .comment ol {
  list-style: revert;
  padding: revert;
}
html body main#news_detail section#contents .inner > div .comment img {
  max-width: 100%;
}
html body main#news_detail section#contents .inner > div .back {
  width: min(4.529vw, 50px);
  margin-top: min(5.435vw, 60px);
}
@media screen and (max-width: 767px) {
  html body main#news_detail section#contents .inner > div .back {
    width: min(12.821vw, 50px);
    margin-top: 15.385vw;
  }
}
html body main#materials > .wrapper {
  background: #F8FAFB url(../img/bg.png?date=20250704) repeat center top/auto fixed;
  position: relative;
  z-index: 0;
  padding-top: min(10.87vw, 120px) !important;
}
@media screen and (max-width: 767px) {
  html body main#materials > .wrapper {
    padding-top: min(15.385vw, 60px) !important;
  }
}
html body main#materials > .wrapper section#download .inner > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  border: 1px #EEE solid;
  background: rgba(255, 255, 255, 0.9);
  border-radius: min(1.812vw, 20px);
  width: 100%;
  padding: min(5.435vw, 60px);
}
@media screen and (max-width: 767px) {
  html body main#materials > .wrapper section#download .inner > div {
    border-radius: 5.128vw;
    padding: 7.692vw;
  }
}
html body main#materials > .wrapper section#download .inner > div h2 {
  justify-content: flex-start;
  font-size: min(1.25rem, 20px);
  font-weight: 700;
  margin-bottom: min(1.812vw, 20px);
}
@media screen and (max-width: 767px) {
  html body main#materials > .wrapper section#download .inner > div h2 {
    font-size: 1.125rem;
    margin-bottom: 5.128vw;
  }
}
html body main#materials > .wrapper section#download .inner > div ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(3.623vw, 40px);
  margin-top: min(1.812vw, 20px);
}
@media screen and (max-width: 767px) {
  html body main#materials > .wrapper section#download .inner > div ul {
    grid-template-columns: repeat(1, 1fr);
    gap: 5.128vw;
    margin-top: 5.128vw;
  }
}
html body main#materials > .wrapper section#download .inner > div ul li {
  width: 100%;
}
html body main#materials > .wrapper section#download .inner > div ul li a {
  display: block;
}
html body main#materials > .wrapper section#download .inner > div ul li a figure {
  width: 100%;
  aspect-ratio: 65/36;
}
html body main#materials > .wrapper section#download .inner > div ul li a figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
html body main#materials > .wrapper section#download .inner > div ul li a figure figcaption {
  font-size: min(0.875rem, 14px);
  line-height: 1.25;
  margin-top: min(0.906vw, 10px);
}
@media screen and (max-width: 767px) {
  html body main#materials > .wrapper section#download .inner > div ul li a figure figcaption {
    font-size: 0.875rem;
    margin-top: 2.564vw;
  }
}
html body main#privacy section#contents {
  background: #0E0E0E;
}
html body main#privacy section#contents .inner > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  border: 1px #EEE solid;
  background: rgba(255, 255, 255, 0.9);
  border-radius: min(1.812vw, 20px);
  width: 100%;
  padding: min(5.435vw, 60px);
  margin-top: calc(-1 * min(16.667vw, 240px));
}
@media screen and (max-width: 767px) {
  html body main#privacy section#contents .inner > div {
    border-radius: 5.128vw;
    padding: 7.692vw;
    margin-top: calc(-1 * min(77.436vw, 302px));
  }
}
html body main#privacy section#contents .inner > div h2 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  font-family: "Lexend Zetta";
  font-size: min(2.5rem, 40px);
  font-weight: 400;
  margin-bottom: min(1.812vw, 20px);
}
@media screen and (max-width: 767px) {
  html body main#privacy section#contents .inner > div h2 {
    font-size: 1.875rem;
    margin-bottom: 5.128vw;
  }
}
html body main#privacy section#contents .inner > div h2::after {
  content: attr(data-subtitle);
  display: block;
  font-size: min(1.25rem, 20px);
  font-weight: 700;
  margin-top: min(1.812vw, 20px);
}
@media screen and (max-width: 767px) {
  html body main#privacy section#contents .inner > div h2::after {
    font-size: 1.125rem;
    margin-top: 5.128vw;
  }
}
html body main#privacy section#contents .inner > div strong {
  display: block;
  font-size: min(1rem, 16px);
  line-height: 1.75;
  margin-top: min(5.435vw, 60px);
}
@media screen and (max-width: 767px) {
  html body main#privacy section#contents .inner > div strong {
    font-size: 1rem;
    margin-top: 15.385vw;
  }
}
html body main#privacy section#contents .inner > div dl {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  margin-top: min(2.717vw, 30px);
}
@media screen and (max-width: 767px) {
  html body main#privacy section#contents .inner > div dl {
    margin-top: 7.692vw;
  }
}
html body main#privacy section#contents .inner > div dl dt {
  font-size: min(1rem, 16px);
  font-weight: 700;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  html body main#privacy section#contents .inner > div dl dt {
    font-size: 1rem;
  }
}
html body main#privacy section#contents .inner > div dl dd {
  font-size: min(1rem, 16px);
  line-height: 1.75;
  margin-top: min(1.359vw, 15px);
}
@media screen and (max-width: 767px) {
  html body main#privacy section#contents .inner > div dl dd {
    font-size: 1rem;
    margin-top: 3.846vw;
  }
}
html body main#privacy section#contents .inner > div dl dd a {
  color: #0E0E0E;
}
html body main#privacy section#contents .inner > div ul li {
  font-size: min(1rem, 16px);
  line-height: 1.75;
  text-indent: -1em;
  margin-left: 1em;
}
@media screen and (max-width: 767px) {
  html body main#privacy section#contents .inner > div ul li {
    font-size: 1rem;
  }
}
html body main#privacy section#contents .inner > div ul li::before {
  content: "・";
}
html body main#privacy section#contents .inner > div .signature {
  text-align: right;
  font-size: min(1rem, 16px);
  line-height: 1.75;
  width: 100%;
  margin-top: min(5.435vw, 60px);
}
@media screen and (max-width: 767px) {
  html body main#privacy section#contents .inner > div .signature {
    font-size: 1rem;
    margin-top: 15.385vw;
  }
}
html body main#privacy section#contents .inner > div .back {
  width: min(4.529vw, 50px);
  margin-top: min(5.435vw, 60px);
}
@media screen and (max-width: 767px) {
  html body main#privacy section#contents .inner > div .back {
    width: min(12.821vw, 50px);
    margin-top: 15.385vw;
  }
}
html body main#contact {
  background: #F8FAFB url(../img/bg.png?date=20250704) repeat center top/auto fixed;
}
html body main#contact > .wrapper {
  position: relative;
  z-index: 0;
  padding-top: min(10.87vw, 120px) !important;
}
@media screen and (max-width: 767px) {
  html body main#contact > .wrapper {
    padding-top: min(15.385vw, 60px) !important;
  }
}
html body main#contact > .wrapper section#inquiry .inner > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  border: 1px #EEE solid;
  background: rgba(255, 255, 255, 0.9);
  border-radius: min(1.812vw, 20px);
  width: 100%;
  padding: min(5.435vw, 60px);
}
@media screen and (max-width: 767px) {
  html body main#contact > .wrapper section#inquiry .inner > div {
    border-radius: 5.128vw;
    padding: 7.692vw;
  }
}
html body main#contact > .wrapper section#inquiry .inner > div h2 {
  justify-content: flex-start;
  font-size: min(1.25rem, 20px);
  font-weight: 700;
  margin-bottom: min(1.812vw, 20px);
}
@media screen and (max-width: 767px) {
  html body main#contact > .wrapper section#inquiry .inner > div h2 {
    font-size: 1.125rem;
    margin-bottom: 5.128vw;
  }
}
html body main#contact > .wrapper section#inquiry .inner > div .note {
  width: 100%;
  margin: min(1.812vw, 20px) 0;
}
@media screen and (max-width: 767px) {
  html body main#contact > .wrapper section#inquiry .inner > div .note {
    margin: 5.128vw 0;
  }
}
html body main#contact > .wrapper section#inquiry .inner > div .note .comment {
  font-size: min(1rem, 16px);
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  html body main#contact > .wrapper section#inquiry .inner > div .note .comment {
    font-size: 1rem;
  }
}
html body main#contact > .wrapper section#inquiry .inner > div .note .comment a {
  color: #0C4DFF;
  text-decoration: underline;
}
html body main#contact > .wrapper section#inquiry .inner > div .note > div {
  background: #DBE7FF;
  padding: min(2.717vw, 30px);
  margin-top: min(1.812vw, 20px);
}
@media screen and (max-width: 767px) {
  html body main#contact > .wrapper section#inquiry .inner > div .note > div {
    padding: 5.128vw;
    margin-top: 5.128vw;
  }
}
html body main#contact > .wrapper section#inquiry .inner > div form {
  width: 100%;
}
html body main#contact > .wrapper section#inquiry .inner > div form .btn_area {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-top: min(3.623vw, 40px);
}
@media screen and (max-width: 767px) {
  html body main#contact > .wrapper section#inquiry .inner > div form .btn_area {
    flex-direction: column;
    margin-top: 10.256vw;
  }
}
html body main#contact > .wrapper section#inquiry .inner > div form .btn_area p {
  text-align: center;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  html body main#contact > .wrapper section#inquiry .inner > div form .btn_area p {
    text-align: left;
  }
}
html body main#contact > .wrapper section#inquiry .inner > div form .btn_area p a {
  color: #0C4DFF;
  text-decoration: underline;
}
html body main#contact > .wrapper section#inquiry .inner > div form .btn_area .btn_submit {
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(22.101vw, 244px);
  height: min(3.986vw, 44px);
  background: #2339C0;
  border-radius: min(1.993vw, 22px);
  color: #fff;
  font-size: min(1rem, 16px);
  font-weight: 500;
  letter-spacing: 0.3em;
  margin-right: -0.3em;
  border: none;
  cursor: pointer;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
@media screen and (max-width: 767px) {
  html body main#contact > .wrapper section#inquiry .inner > div form .btn_area .btn_submit {
    width: 62.564vw;
    height: 11.282vw;
    border-radius: 5.641vw;
  }
}
html body main#contact > .wrapper section#inquiry .inner > div form .btn_area .btn_submit:hover {
  background-color: #11259F;
  -webkit-animation: shad 1.5s infinite;
  animation: shad 1.5s infinite;
  color: #fff;
}
html body main#contact > .wrapper section#inquiry .inner > div form .btn_area .btn_fixes {
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(22.101vw, 244px);
  height: min(3.986vw, 44px);
  background: #707070;
  border-radius: min(1.993vw, 22px);
  color: #fff;
  font-size: min(1rem, 16px);
  font-weight: 500;
  letter-spacing: 0.3em;
  margin-right: -0.3em;
  border: none;
  cursor: pointer;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
@media screen and (max-width: 767px) {
  html body main#contact > .wrapper section#inquiry .inner > div form .btn_area .btn_fixes {
    width: 62.564vw;
    height: 11.282vw;
    border-radius: 5.641vw;
  }
}
html body main#contact > .wrapper section#inquiry .inner > div form .btn_area .btn_fixes:hover {
  background-color: #11259F;
  -webkit-animation: shad 1.5s infinite;
  animation: shad 1.5s infinite;
  color: #fff;
}
html body main#contact > .wrapper section#inquiry .inner > div form .btn_area input + input {
  margin: 0 0 0 min(3.623vw, 40px);
}
@media screen and (max-width: 767px) {
  html body main#contact > .wrapper section#inquiry .inner > div form .btn_area input + input {
    margin: 5.128vw 0 0 0;
  }
}
html body main#contact > .wrapper section#inquiry .inner > div form .must {
  border-radius: min(0.453vw, 5px);
  background: #B60000;
  color: #fff;
  font-size: min(0.75rem, 12px);
  padding: min(0.453vw, 5px) min(0.906vw, 10px);
}
@media screen and (max-width: 767px) {
  html body main#contact > .wrapper section#inquiry .inner > div form .must {
    border-radius: 1.282vw;
    font-size: 0.75rem;
    padding: 1.282vw 2.564vw;
  }
}
html body main#contact > .wrapper section#inquiry .inner > div form .w30 {
  width: 30% !important;
}
@media screen and (max-width: 767px) {
  html body main#contact > .wrapper section#inquiry .inner > div form .w30 {
    width: 40% !important;
  }
}
html body main#contact > .wrapper section#inquiry .inner > div form .w30 + input {
  width: 100%;
  margin-top: min(0.906vw, 10px);
}
@media screen and (max-width: 767px) {
  html body main#contact > .wrapper section#inquiry .inner > div form .w30 + input {
    margin-top: 2.564vw;
  }
}
html body main#contact > .wrapper section#inquiry .inner > div form span.error {
  display: block;
  text-align: left;
  margin-top: min(0.453vw, 5px);
  flex-basis: 100%;
}
@media screen and (max-width: 767px) {
  html body main#contact > .wrapper section#inquiry .inner > div form span.error {
    margin-top: 1.282vw;
  }
}
html body main#contact > .wrapper section#inquiry .inner > div form dl {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  padding: min(1.812vw, 20px) 0;
}
@media screen and (max-width: 767px) {
  html body main#contact > .wrapper section#inquiry .inner > div form dl {
    flex-direction: column;
    padding: 5.128vw 0;
  }
}
html body main#contact > .wrapper section#inquiry .inner > div form dl dt {
  width: 100%;
  margin: 0 0 min(0.453vw, 5px);
}
@media screen and (max-width: 767px) {
  html body main#contact > .wrapper section#inquiry .inner > div form dl dt {
    margin: 0 0 1.282vw;
  }
}
html body main#contact > .wrapper section#inquiry .inner > div form dl dt .wrap {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: min(1rem, 16px);
  font-weight: 700;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  html body main#contact > .wrapper section#inquiry .inner > div form dl dt .wrap {
    font-size: 1rem;
  }
}
html body main#contact > .wrapper section#inquiry .inner > div form dl dt .wrap span {
  margin-right: min(0.453vw, 5px);
}
@media screen and (max-width: 767px) {
  html body main#contact > .wrapper section#inquiry .inner > div form dl dt .wrap span {
    margin-right: 1.282vw;
  }
}
html body main#contact > .wrapper section#inquiry .inner > div form dl dd {
  display: flex;
  align-items: center;
  width: 100%;
}
html body main#contact > .wrapper section#inquiry .inner > div form dl dd .wrap {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  font-size: min(1rem, 16px);
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  html body main#contact > .wrapper section#inquiry .inner > div form dl dd .wrap {
    font-size: 1rem;
  }
}
html body main#contact > .wrapper section#inquiry .inner > div form :is(input:not([type=file]):not([type=radio]):not([type=checkbox]):not([type=submit]), select, textarea) {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  border-radius: min(0.453vw, 5px);
  background: #F8F8F8;
  border: 1px #D7D7D7 solid;
  color: #0E0E0E;
  font-size: min(1rem, 16px);
  letter-spacing: 1px;
  width: 100%;
  height: min(3.623vw, 40px);
  padding: min(0.453vw, 5px) min(0.906vw, 10px);
  -webkit-appearance: none;
  appearance: none;
}
@media screen and (max-width: 767px) {
  html body main#contact > .wrapper section#inquiry .inner > div form :is(input:not([type=file]):not([type=radio]):not([type=checkbox]):not([type=submit]), select, textarea) {
    border-radius: 1.282vw;
    font-size: 1rem;
    height: 10.256vw;
    padding: 1.282vw 2.564vw;
  }
}
html body main#contact > .wrapper section#inquiry .inner > div form :is(input:not([type=file]):not([type=radio]):not([type=checkbox]):not([type=submit]), select, textarea):focus {
  outline: none;
}
html body main#contact > .wrapper section#inquiry .inner > div form textarea {
  height: min(11.775vw, 130px) !important;
}
@media screen and (max-width: 767px) {
  html body main#contact > .wrapper section#inquiry .inner > div form textarea {
    height: 33.333vw !important;
  }
}
html body main#contact > .wrapper section#inquiry .inner > div form input[type=file] {
  font-size: min(1rem, 16px);
}
@media screen and (max-width: 767px) {
  html body main#contact > .wrapper section#inquiry .inner > div form input[type=file] {
    font-size: 1rem;
  }
}
html body main#contact > .wrapper section#inquiry .inner > div form .horizontal-item {
  margin-left: 0;
  padding: min(0.453vw, 5px) 0;
}
@media screen and (max-width: 767px) {
  html body main#contact > .wrapper section#inquiry .inner > div form .horizontal-item {
    padding: 1.282vw 0;
  }
}
html body main#contact > .wrapper section#inquiry .inner > div form .horizontal-item + .horizontal-item {
  padding: min(0.453vw, 5px) 0;
}
@media screen and (max-width: 767px) {
  html body main#contact > .wrapper section#inquiry .inner > div form .horizontal-item + .horizontal-item {
    padding: 1.282vw 0;
  }
}
html body main#contact > .wrapper section#inquiry .inner > div form .select {
  width: 100%;
  position: relative;
}
html body main#contact > .wrapper section#inquiry .inner > div form .select::after {
  content: "";
  display: block;
  width: min(0.906vw, 10px);
  height: min(0.906vw, 10px);
  border-width: 0 2px 2px 0;
  border-color: #0E0E0E;
  border-style: solid;
  position: absolute;
  right: min(0.906vw, 10px);
  top: calc(50% - min(0.906vw, 10px));
  transform-origin: center;
  transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
  html body main#contact > .wrapper section#inquiry .inner > div form .select::after {
    right: 5.128vw;
    top: calc(50% - 2.564vw);
  }
}
html body main#contact > .wrapper section#inquiry .inner > div form .radio {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  position: relative;
}
html body main#contact > .wrapper section#inquiry .inner > div form .radio input[type=radio] {
  position: absolute;
  visibility: hidden;
  width: auto;
}
html body main#contact > .wrapper section#inquiry .inner > div form .radio .mwform-radio-field label {
  display: flex;
}
html body main#contact > .wrapper section#inquiry .inner > div form .radio .mwform-radio-field label .mwform-radio-field-text {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: min(1rem, 16px);
  margin: 0 min(1.812vw, 20px) 0 0;
  line-height: 1;
  cursor: pointer;
  position: relative;
}
@media screen and (max-width: 767px) {
  html body main#contact > .wrapper section#inquiry .inner > div form .radio .mwform-radio-field label .mwform-radio-field-text {
    font-size: 1rem;
    margin: 0 5.128vw 0 0;
  }
}
html body main#contact > .wrapper section#inquiry .inner > div form .radio .mwform-radio-field label .mwform-radio-field-text::before {
  content: "";
  display: inline-block;
  position: relative;
  left: 0;
  top: 0;
  width: 20px;
  height: 20px;
  margin: 0 min(0.906vw, 10px) 0 0;
  border: 1px solid #0E0E0E;
  background: #fff;
  box-sizing: border-box;
  border-radius: 50%;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  html body main#contact > .wrapper section#inquiry .inner > div form .radio .mwform-radio-field label .mwform-radio-field-text::before {
    margin: 0 2.564vw 0 0;
  }
}
html body main#contact > .wrapper section#inquiry .inner > div form .radio input[type=radio]:checked + .mwform-radio-field-text::before {
  border: 1px solid #0E0E0E;
}
html body main#contact > .wrapper section#inquiry .inner > div form .radio input[type=radio]:checked + .mwform-radio-field-text::after {
  display: inline-block;
  position: absolute;
  left: 5px;
  content: "";
  width: 10px;
  height: 10px;
  background: #0E0E0E;
  border-radius: 50%;
  box-sizing: border-box;
  vertical-align: middle;
}
html body main#contact > .wrapper section#inquiry .inner > div form .check {
  line-height: 1.25;
  position: relative;
}
html body main#contact > .wrapper section#inquiry .inner > div form .check input[type=checkbox] {
  position: absolute;
  visibility: hidden;
  width: auto;
}
html body main#contact > .wrapper section#inquiry .inner > div form .check .mwform-checkbox-field {
  display: block;
}
html body main#contact > .wrapper section#inquiry .inner > div form .check .mwform-checkbox-field label {
  display: flex;
}
html body main#contact > .wrapper section#inquiry .inner > div form .check .mwform-checkbox-field label .mwform-checkbox-field-text {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: min(1rem, 16px);
  line-height: 1.25;
  margin: 0;
  cursor: pointer;
  position: relative;
  padding: 0 0 0 calc(20px + min(0.906vw, 10px));
}
@media screen and (max-width: 767px) {
  html body main#contact > .wrapper section#inquiry .inner > div form .check .mwform-checkbox-field label .mwform-checkbox-field-text {
    font-size: 1rem;
    padding: 0 0 0 calc(20px + 2.564vw);
  }
}
html body main#contact > .wrapper section#inquiry .inner > div form .check .mwform-checkbox-field label .mwform-checkbox-field-text::before, html body main#contact > .wrapper section#inquiry .inner > div form .check .mwform-checkbox-field label .mwform-checkbox-field-text::after {
  content: "";
  display: inline-block;
  position: absolute;
}
html body main#contact > .wrapper section#inquiry .inner > div form .check .mwform-checkbox-field label .mwform-checkbox-field-text::before {
  top: 50%;
  transform: translate(-50%);
  left: 0;
  background: #fff;
  border: 1px solid #0E0E0E;
  width: 20px;
  height: 20px;
  margin: 0;
  transform: translateY(-50%);
  box-sizing: border-box;
  border-radius: 0;
}
html body main#contact > .wrapper section#inquiry .inner > div form .check .mwform-checkbox-field label .mwform-checkbox-field-text::after {
  top: calc(50% - min(0.208vw, 4px));
  transform: translate(-50%, -50%);
  left: 3px;
  border-width: 2px;
  border-color: transparent transparent #0E0E0E #0E0E0E;
  border-style: solid;
  width: 10px;
  height: 5px;
  transform: translateY(-50%) rotate(-45deg);
  opacity: 0;
}
@media screen and (max-width: 767px) {
  html body main#contact > .wrapper section#inquiry .inner > div form .check .mwform-checkbox-field label .mwform-checkbox-field-text::after {
    top: calc(50% - 0.769vw);
  }
}
html body main#contact > .wrapper section#inquiry .inner > div form .check input[type=checkbox]:checked + .mwform-checkbox-field-text::after {
  opacity: 1;
}
html body main#contact > .wrapper section#inquiry .inner > div .mw_wp_form_confirm {
  width: 100%;
}
html body main#contact > .wrapper section#inquiry .inner > div .mw_wp_form_confirm .select::after {
  content: none;
}
html body main#notfound section#illust {
  margin-top: min(7.246vw, 180px);
}
@media screen and (max-width: 767px) {
  html body main#notfound section#illust {
    margin-top: min(20.513vw, 100px);
  }
}
html body main#notfound section#illust .inner {
  padding: 0 min(1.812vw, 20px);
}
@media screen and (max-width: 767px) {
  html body main#notfound section#illust .inner {
    padding: 0 min(5.128vw, 20px);
  }
}
html body main#notfound section#illust .inner h2 {
  width: 70.652vw;
  max-width: 780px;
}
@media screen and (max-width: 767px) {
  html body main#notfound section#illust .inner h2 {
    width: 89.6vw;
  }
}
html body main#notfound section#contents .inner {
  padding-bottom: 0;
}
html body main#notfound section#contents .inner strong {
  color: #006E50;
  text-align: center;
  font-size: min(1.5rem, 24px);
  font-weight: 700;
  line-height: 1.25;
}
@media screen and (max-width: 767px) {
  html body main#notfound section#contents .inner strong {
    font-size: 1.5rem;
  }
}
html body main#notfound section#contents .inner .comment {
  text-align: center;
  font-size: min(fs14, 14px);
  line-height: 1.5;
  margin-top: min(3.623vw, 40px);
}
@media screen and (max-width: 767px) {
  html body main#notfound section#contents .inner .comment {
    font-size: 0.875rem;
    margin-top: min(5.128vw, 20px);
  }
}
html body main#notfound section#contents .inner .btn {
  margin-top: min(5.435vw, 60px);
}
@media screen and (max-width: 767px) {
  html body main#notfound section#contents .inner .btn {
    margin-top: min(10.256vw, 40px);
  }
}
html body main#notfound section#contents .inner .btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #006E50;
  border-radius: min(4.529vw, 50px);
  overflow: hidden;
  width: 18.116vw;
  max-width: 200px;
  height: 4.529vw;
  max-height: 50px;
  color: #fff;
  font-size: min(1rem, 16px);
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  html body main#notfound section#contents .inner .btn a {
    border-radius: min(12.821vw, 50px);
    width: 53.333vw;
    height: 12.821vw;
    font-size: 1rem;
  }
}
html body main#page section#contents .inner p {
  font-size: min(0.875rem, 14px);
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  html body main#page section#contents .inner p {
    font-size: 0.875rem;
  }
}
html body .btn {
  width: min(17.754vw, 196px);
}
@media screen and (max-width: 767px) {
  html body .btn {
    width: 50.256vw;
  }
}
html body .btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: min(3.986vw, 44px);
  background: #2339C0;
  border-radius: min(1.993vw, 22px);
}
@media screen and (max-width: 767px) {
  html body .btn a {
    height: 11.282vw;
    border-radius: 5.641vw;
  }
}
html body .btn a:hover {
  background-color: #11259F;
  -webkit-animation: shad 1.5s infinite;
  animation: shad 1.5s infinite;
  color: #fff;
}
@keyframes shad {
  0% {
    box-shadow: 0 0 0 0 #11259F;
  }
  70% {
    box-shadow: 0 0 0 min(0.906vw, 10px) rgba(17, 37, 159, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(17, 37, 159, 0);
  }
}
@media screen and (max-width: 767px) {
  @keyframes shad {
    0% {
      box-shadow: 0 0 0 0 #11259F;
    }
    70% {
      box-shadow: 0 0 0 2.564vw rgba(17, 37, 159, 0);
    }
    100% {
      box-shadow: 0 0 0 0 rgba(17, 37, 159, 0);
    }
  }
}
html body .btn a span {
  color: #fff;
  font-family: "DM Sans";
  font-size: min(1rem, 16px);
  font-weight: 500;
  letter-spacing: 0.3em;
  margin-right: -0.3em;
}
@media screen and (max-width: 767px) {
  html body .btn a span {
    font-size: 1rem;
  }
}
html body #wave {
  position: fixed;
  width: 100%;
  height: 100svh;
}
html body #wave video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
html body #wave .bg_mesh {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-image: url(../img/bg2.png?date=20250704);
  background-repeat: repeat;
  background-position: center top;
  background-size: auto;
}
html body #recruitment {
  width: 100%;
  max-height: 820px;
  aspect-ratio: 72/41;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  html body #recruitment {
    height: auto;
    aspect-ratio: 39/77;
  }
}
html body #recruitment .bg_gradation_top {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  background: linear-gradient(to top, rgba(14, 14, 14, 0) 0%, rgb(14, 14, 14) 100%);
  height: min(13.043vw, 144px);
}
@media screen and (max-width: 767px) {
  html body #recruitment .bg_gradation_top {
    height: 36.923vw;
  }
}
html body #recruitment .bg_gradation {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  background: linear-gradient(to bottom, rgba(14, 14, 14, 0) 0%, rgb(14, 14, 14) 100%);
  height: min(13.043vw, 144px);
}
@media screen and (max-width: 767px) {
  html body #recruitment .bg_gradation {
    height: 36.923vw;
  }
}
html body #recruitment .inner {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  justify-content: center !important;
  align-items: center;
  width: min(100%, 1104px);
  margin: 0 auto;
  padding: 0 min(1.812vw, 20px) !important;
}
@media screen and (max-width: 767px) {
  html body #recruitment .inner {
    width: 100%;
    padding: 0 5.128vw !important;
  }
}
html body #recruitment .inner h3 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-family: "Lexend Zetta";
  font-size: min(5rem, 80px) !important;
  font-weight: 300;
  line-height: 1 !important;
}
@media screen and (max-width: 767px) {
  html body #recruitment .inner h3 {
    font-size: 2.125rem !important;
  }
}
html body #recruitment .inner h3 img {
  width: min(48.913vw, 540px);
  margin-bottom: calc(-1 * min(5.435vw, 60px));
}
@media screen and (max-width: 767px) {
  html body #recruitment .inner h3 img {
    width: 74.359vw;
    margin-bottom: -5.128vw;
  }
}
html body #recruitment .inner .comment {
  text-align: center;
  color: #fff;
  font-size: min(1rem, 16px);
  line-height: 2;
  margin-top: min(4.529vw, 50px);
}
@media screen and (max-width: 767px) {
  html body #recruitment .inner .comment {
    font-size: 1rem;
    margin-top: 10.256vw;
  }
}
html body #recruitment .inner .btn {
  width: min(27.174vw, 300px);
  margin-top: min(6.341vw, 70px);
}
@media screen and (max-width: 767px) {
  html body #recruitment .inner .btn {
    width: 76.923vw;
    margin-top: 10.256vw;
  }
}
html body #recruitment .inner .btn a {
  background-image: url(../img/icon_window_wt.png);
  background-repeat: no-repeat;
  background-size: min(1.449vw, 16px);
  background-position: center right min(1.812vw, 20px);
}
@media screen and (max-width: 767px) {
  html body #recruitment .inner .btn a {
    background-size: 4.103vw;
    background-position: center right 5.128vw;
  }
}
html body #recruitment .inner .btn a span {
  font-family: "Noto Sans JP";
}
html body footer {
  position: relative;
  z-index: 1;
  background: #0E0E0E;
  width: 100%;
  padding: min(3.623vw, 40px) 0 min(7.246vw, 80px);
}
@media screen and (max-width: 767px) {
  html body footer {
    padding: 10.256vw 5.128vw;
  }
}
html body footer .inner {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  width: calc(100% - min(10.87vw, 120px));
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  html body footer .inner {
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
  }
}
html body footer .inner h1 img {
  display: block;
}
html body footer .inner h1 img:nth-of-type(1) {
  width: min(8.696vw, 96px);
}
@media screen and (max-width: 767px) {
  html body footer .inner h1 img:nth-of-type(1) {
    width: 24.615vw;
  }
}
html body footer .inner h1 img:nth-of-type(2) {
  width: min(19.746vw, 218px);
  margin-top: min(0.906vw, 10px);
}
@media screen and (max-width: 767px) {
  html body footer .inner h1 img:nth-of-type(2) {
    width: 55.897vw;
    margin-top: 2.564vw;
  }
}
html body footer .inner .pc nav ul {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: min(9.058vw, 100px);
}
@media screen and (min-width: 481px) and (max-width: 1299px) {
  html body footer .inner .pc nav ul {
    gap: min(3.623vw, 40px);
  }
}
html body footer .inner .pc nav ul li {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
}
html body footer .inner .pc nav ul li a span {
  color: #fff;
  font-size: min(0.875rem, 14px);
  white-space: nowrap;
}
html body footer .inner .pc nav ul li ul {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: min(0.906vw, 10px);
  margin-top: min(1.812vw, 20px);
}
html body footer .inner .pc nav ul li ul li span {
  font-size: min(0.75rem, 12px);
}
html body footer .inner .pc nav ul li:nth-of-type(5) ul li a span {
  font-size: min(0.875rem, 14px);
}
html body footer .inner .pc nav ul li:nth-of-type(5) ul li:nth-of-type(2) {
  margin: min(1.812vw, 20px) 0 0 calc(-1 * min(0.906vw, 10px));
}
html body footer .inner .pc nav ul li:nth-of-type(5) ul li:nth-of-type(2) a {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: min(0.906vw, 10px) min(1.812vw, 20px);
  background: #2339C0;
  border-radius: min(1.812vw, 20px);
}
html body footer .inner .pc nav ul li:nth-of-type(5) ul li:nth-of-type(2) a:hover {
  background-color: #11259F;
  -webkit-animation: shad 1.5s infinite;
  animation: shad 1.5s infinite;
  color: #fff;
}
html body footer .inner .sp {
  width: 100%;
}
html body footer .inner .sp nav {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  margin-top: 10.256vw;
}
html body footer .inner .sp nav > div {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: start;
  width: 100%;
  margin-top: 10.256vw;
}
html body footer .inner .sp nav ul {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 5.128vw;
}
html body footer .inner .sp nav ul li {
  display: block;
}
html body footer .inner .sp nav ul li a {
  color: #fff;
}
html body footer .inner .sp nav ul li a span {
  color: #fff;
  font-size: 0.875rem;
}
html body footer .inner .sp nav ul li ul {
  margin-top: 5.128vw;
}
html body footer .inner .sp nav ul li ul span {
  font-size: 0.75rem;
}
html body footer .inner .sp nav ul.btn {
  width: 76.923vw;
  margin: 10.256vw auto 0;
}
html body footer .inner .sp nav ul.btn li {
  width: 100%;
}
html body footer .inner small {
  position: absolute;
  left: 0;
  bottom: 0;
  color: #6E6E6E;
  font-size: min(0.75rem, 12px);
}
@media screen and (max-width: 767px) {
  html body footer .inner small {
    position: initial;
    text-align: center;
    font-size: 0.75rem;
    width: 100%;
    margin-top: 10.256vw;
  }
}

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